Wave pipeline
11367473 · 2022-06-21
Assignee
Inventors
- Kaveh Shakeri (Saratoga, CA, US)
- Ali Feiz Zarrin Ghalam (Sunnyvale, CA, US)
- Qiang Tang (Cupertino, CA)
- Eric N. Lee (San Jose, CA, US)
Cpc classification
G11C7/06
PHYSICS
G11C7/1039
PHYSICS
G11C7/1057
PHYSICS
G11C7/222
PHYSICS
G11C8/04
PHYSICS
G11C7/1006
PHYSICS
G11C16/0483
PHYSICS
International classification
G11C7/00
PHYSICS
G11C7/22
PHYSICS
G11C7/06
PHYSICS
G11C8/18
PHYSICS
G11C7/10
PHYSICS
Abstract
A system might include a first writing device and a second writing device. The first writing device might write first data to an array of memory cells in response to a first clock cycle of a clock signal. The write of the first data exceeds one clock cycle of the clock signal. The second writing device is in parallel with the first writing device. The second writing device might write second data to the array of memory cells in response to a second clock cycle of the clock signal. The second clock cycle follows the first clock cycle and the write of the second data exceeds one clock cycle of the clock signal.
Claims
1. A system comprising: a first writing device to write first data to an array of memory cells in response to a first clock cycle of a clock signal, the write of the first data exceeding one clock cycle of the clock signal; and a second writing device in parallel with the first writing device, the second writing device to write second data to the array of memory cells in response to a second clock cycle of the clock signal, the second clock cycle following the first clock cycle and the write of the second data exceeding one clock cycle of the clock signal.
2. The system of claim 1, wherein the first writing device is to write the first data within two clock cycles of the clock signal, and wherein the second writing device is to write the second data within two clock cycles of the clock signal.
3. The system of claim 1, further comprising: an address demultiplexer to receive an address signal and pass a first address to the first writing device aligned with the first clock cycle and pass a second address to the second writing device aligned with the second clock cycle.
4. The system of claim 3, further comprising: an address counter to receive the clock signal and provide the address signal in response to the clock signal.
5. The system of claim 1, further comprising: a clock demultiplexer to receive the clock signal and pass the first clock cycle to the first writing device and pass the second clock cycle to the second writing device.
6. The system of claim 1, further comprising: a data demultiplexer to receive a data signal and pass the first data to the first writing device aligned with the first clock cycle and pass the second data to the second writing device aligned with the second clock cycle.
7. The system of claim 6, further comprising: data pads to receive the data signal.
8. The system of claim 1, further comprising: a clock generator to receive a read enable signal and generate the clock signal based on the read enable signal.
9. The system of claim 1, wherein the second clock cycle immediately follows the first clock cycle.
10. A method comprising: receiving a data signal and a clock signal at an input of a first stage; dividing the data signal and the clock signal at an output of the first stage between inputs of a plurality of second stages by passing respective data and a respective clock cycle aligned with the data to each second stage; processing the data through each second stage in response to the clock cycle aligned with the data; and merging the processed data and the clock cycle aligned with the data from outputs of the plurality of second stages at an input to a third stage to provide processed merged data and a return clock signal aligned with the merged data.
11. The method of claim 10, further comprising: latching the processed merged data in a data latch in response to the return clock signal.
12. The method of claim 10, wherein processing the data through each second stage comprises processing the data through each second stage within a number of clock cycles of the clock signal equal to the number of second stages.
13. The method of claim 10, further comprising: delaying the clock cycle within each second stage a number of clock cycles of the clock signal equal to the number of second stages.
14. The method of claim 10, wherein dividing the data signal and the clock signal comprises dividing the data signal and the clock signal at a first data rate equal to a clock rate of the clock signal; wherein processing the data through each second stage comprises processing the data through each second stage at a second data rate equal the first data rate times the number of second stages of the plurality of second stages; and wherein merging the processed data comprises merging the processed data at the first data rate.
15. A method comprising: receiving a data signal, an address signal, and a clock signal aligned with the data signal and the address signal; dividing the data signal, the address signal, and the clock signal to provide first data and a first address aligned with a first clock cycle, and second data and a second address aligned with a second clock cycle; writing the first data to an array of memory cells based on the first address via a first writing device in response to the first clock cycle; and writing the second data to the array of memory cells based on the second address via a second writing device in response to the second clock cycle.
16. The method of claim 15, further comprising: generating the clock signal based on a read enable signal.
17. The method of claim 15, further comprising: generating the address signal in response to the clock signal.
18. The method of claim 15, further comprising: passing the first data to the first writing device via a first data path; passing the first address to the first writing device via a first address path; passing the first clock cycle to the first writing device via a first clock path; passing the second data to the second writing device via a second data path; passing the second address to the second writing device via a second address path; and passing the second clock cycle to the second writing device via a second clock path.
19. The method of claim 15, wherein writing the first data exceeds one clock cycle of the clock signal, and wherein writing the second data exceeds one clock cycle of the clock signal.
20. The system of claim 15, wherein the second clock cycle immediately follows the first clock cycle.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
DETAILED DESCRIPTION
(14) In the following detailed description, reference is made to the accompanying drawings that form a part hereof, and in which is shown, by way of illustration, specific embodiments. In the drawings, like reference numerals describe substantially similar components throughout the several views. Other embodiments may be utilized and structural, logical and electrical changes may be made without departing from the scope of the present disclosure. The following detailed description is, therefore, not to be taken in a limiting sense.
(15) To satisfy the two conditions for the correct operation of a wave pipeline (i.e., in each stage of the wave pipeline the data and the clock signal should be delayed by the same amount of time and each stage should be ready for the next coming clock cycle of the clock signal), the clock rate may need to be reduced to satisfy the slowest stage in the wave pipeline. When the clock rate is reduced, a wider data bus may be used to satisfy data rate requirements. For example, to satisfy data rate requirements for a data path including a stage using 14 ns to process data through the stage, a 128 bit bus running at a 20 ns clock rate may be used instead of a 64 bit bus running at a 10 ns clock rate. Accordingly, this disclosure describes embodiments for accommodating slower stages within a wave pipeline of a data path without reducing the clock rate and thus not increasing the width of the data bus to satisfy the data rate requirements.
(16)
(17) Memory device 100 includes clock-data tracking that may facilitate an improved setup and hold time margin when reading data out of memory device 100. A clock signal path 126 may be routed along with a data bus 128. A return clock signal path 127 also may be routed along with the data bus 128. A clock signal on the clock signal path 126 may be used to trigger data out of the sensing devices 106 (e.g., sense amplifiers). A return clock signal on the return clock signal path 127 may be used to latch the data from the sensing devices 106 into a data latch (e.g., FIFO) of input/output (I/O) control circuitry 112 just prior to outputting the data to processor 130. By routing the clock signal and return clock signal along with the data, they may be subjected to the same logic circuitry and process, voltage, and temperature (PVT) variations as the data, and the setup and hold time margin at the data latch may be improved. It will be recognized that process variations typically experienced in fabrication will generally lead to variations in performance of circuits, even where those circuits are intended to be of the same design or otherwise provide the same functionality. Similarly, even small separations of circuits may expose those circuits to differing voltage and temperature values if measured to sufficient precision. Thus, while this disclosure seeks to mitigate the effects of such variations between clock signal paths and data paths, there is no expectation that such variations are necessarily eliminated.
(18) Memory device 100 includes an array of memory cells 104 logically arranged in rows and columns. Memory cells of a logical row are typically coupled to the same access line (commonly referred to as a word line) while memory cells of a logical column are typically selectively coupled to the same data line (commonly referred to as a bit line). A single access line may be associated with more than one logical row of memory cells and a single data line may be associated with more than one logical column. Memory cells (not shown in
(19) A row decode circuitry 108 and a column decode circuitry 110 are provided to decode address signals. Address signals are received and decoded to access the array of memory cells 104. Memory device 100 also includes I/O control circuitry 112 to manage input of commands, addresses and data to the memory device 100 as well as output of data and status information from the memory device 100. An address register 114 is in communication with I/O control circuitry 112 and row decode circuitry 108 and column decode circuitry 110 to latch the address signals prior to decoding. A command register 124 is in communication with I/O control circuitry 112 and control logic 116 to latch incoming commands.
(20) An internal controller (e.g., control logic 116) controls access to the array of memory cells 104 in response to the commands and generates status information for the external processor 130, i.e., control logic 116 is configured to perform access operations in accordance with embodiments described herein. The control logic 116 is in communication with row decode circuitry 108 and column decode circuitry 110 to control the row decode circuitry 108 and column decode circuitry 110 in response to the addresses.
(21) Control logic 116 is also in communication with a cache register 118. Cache register 118 latches data, either incoming or outgoing, as directed by control logic 116 to temporarily store data while the array of memory cells 104 is busy writing or reading, respectively, other data. During a program operation (e.g., write operation), data is passed from sensing devices 106 to the cache register 118. The data is then passed from the cache register 118 to data register 120 for transfer to the array of memory cells 104; then new data is latched in the cache register 118 from sensing devices 106, which receive the new data from the I/O control circuitry 112. During a read operation, data is passed from the cache register 118 to sensing devices 106, which pass the data to the I/O control circuitry 112 for output to the external processor 130; then new data is passed from the data register 120 to the cache register 118. A status register 122 is in communication with I/O control circuitry 112 and control logic 116 to latch the status information for output to the processor 130.
(22) Memory device 100 receives control signals at control logic 116 from processor 130 over a control link 132. The control signals may include at least a chip enable CE #, a command latch enable CLE, an address latch enable ALE, a write enable WE #, and a read enable RE #. Additional control signals (not shown) may be further received over control link 132 depending upon the nature of the memory device 100. Memory device 100 receives command signals (which represent commands), address signals (which represent addresses), and data signals (which represent data) from processor 130 over a multiplexed input/output (I/O) bus 134 and outputs data to processor 130 over I/O bus 134.
(23) For example, the commands are received over input/output (I/O) pins [7:0] of I/O bus 134 at I/O control circuitry 112 and are written into command register 124. The addresses are received over input/output (I/O) pins [7:0] of bus 134 at I/O control circuitry 112 and are written into address register 114. The data are received over input/output (I/O) pins [7:0] for an 8-bit device or input/output (I/O) pins [15:0] for a 16-bit device at I/O control circuitry 112 and are written into cache register 118 through sensing devices 106. The data are subsequently written into data register 120 for programming the array of memory cells 104. For another embodiment, cache register 118 may be omitted, and the data are written directly into data register 120 through sensing devices 106. Data are also output over input/output (I/O) pins [7:0] for an 8-bit device or input/output (I/O) pins [15:0] for a 16-bit device.
(24) It will be appreciated by those skilled in the art that additional circuitry and signals can be provided, and that the memory device of
(25) Additionally, while specific I/O pins are described in accordance with popular conventions for receipt and output of the various signals, it is noted that other combinations or numbers of I/O pins may be used in the various embodiments.
(26)
(27) Memory array 200A might be arranged in rows (each corresponding to a word line 202) and columns (each corresponding to a bit line 204). Each column may include a string of series-coupled memory cells, such as one of NAND strings 206.sub.0 to 206.sub.M. Each NAND string 206 might be coupled to a common source 216 and might include memory cells 208.sub.0 to 208.sub.N. The memory cells 208 represent non-volatile memory cells for storage of data. The memory cells 208 of each NAND string 206 might be connected in series between a select transistor 210 (e.g., a field-effect transistor), such as one of the select transistors 210.sub.0 to 210.sub.M (e.g., that may be source select transistors, commonly referred to as select gate source), and a select transistor 212 (e.g., a field-effect transistor), such as one of the select transistors 212.sub.0 to 212.sub.M (e.g., that may be drain select transistors, commonly referred to as select gate drain). Select transistors 210.sub.0 to 210.sub.M might be commonly coupled to a select line 214, such as a source select line, and select transistors 212.sub.0 to 212.sub.M might be commonly coupled to a select line 215, such as a drain select line.
(28) A source of each select transistor 210 might be connected to common source 216. The drain of each select transistor 210 might be connected to the source of a memory cell 208.sub.0 of the corresponding NAND string 206. For example, the drain of select transistor 210.sub.0 might be connected to the source of memory cell 208.sub.0 of the corresponding NAND string 206.sub.0. Therefore, each select transistor 210 might be configured to selectively couple a corresponding NAND string 206 to common source 216. A control gate of each select transistor 210 might be connected to select line 214.
(29) The drain of each select transistor 212 might be connected to the bit line 204 for the corresponding NAND string 206. For example, the drain of select transistor 212.sub.0 might be connected to the bit line 204.sub.0 for the corresponding NAND string 206.sub.0. The source of each select transistor 212 might be connected to the drain of a memory cell 208.sub.N of the corresponding NAND string 206. For example, the source of select transistor 212.sub.0 might be connected to the drain of memory cell 208.sub.N of the corresponding NAND string 206.sub.0. Therefore, each select transistor 212 might be configured to selectively couple a corresponding NAND string 206 to a corresponding bit line 204. A control gate of each select transistor 212 might be connected to select line 215.
(30) The memory array in
(31) Typical construction of memory cells 208 includes a data-storage structure 234 (e.g., a floating gate, charge trap, etc.) that can determine a data value of the cell (e.g., through changes in threshold voltage), and a control gate 236, as shown in
(32) A column of the memory cells 208 is a NAND string 206 or a plurality of NAND strings 206 coupled to a given bit line 204. A row of the memory cells 208 are memory cells 208 commonly coupled to a given word line 202. A row of memory cells 208 can, but need not include all memory cells 208 commonly coupled to a given word line 202. Rows of memory cells 208 may often be divided into one or more groups of physical pages of memory cells 208, and physical pages of memory cells 208 often include every other memory cell 208 commonly coupled to a given word line 202. For example, memory cells 208 commonly coupled to word line 202.sub.N and selectively coupled to even bit lines 204 (e.g., bit lines 204.sub.0, 204.sub.2, 204.sub.4, etc.) may be one physical page of memory cells 208 (e.g., even memory cells) while memory cells 208 commonly coupled to word line 202.sub.N and selectively coupled to odd bit lines 204 (e.g., bit lines 204.sub.1, 204.sub.3, 204.sub.5, etc.) may be another physical page of memory cells 208 (e.g., odd memory cells). Although bit lines 204.sub.3 204.sub.5 are not expressly depicted in
(33)
(34) Although the examples of
(35)
(36) The input of data path 308 of first stage 306 is communicatively coupled to a data signal node 302. Communicatively coupled components may be coupled by a single bit signal path or a multiple bit parallel signal path. The input of clock path 310 of first stage 306 is electrically coupled to a clock signal node 304. The output of data path 308 of first stage 306 is communicatively coupled to an input of data path 314.sub.1 to 314.sub.N of second stage 312.sub.1 to 312.sub.N through a data signal path 309.sub.1 to 309.sub.N, respectively. The output of clock path 310 of first stage 306 is electrically coupled to an input of clock path 316.sub.1 to 316.sub.N of second stage 312.sub.1 to 312.sub.N through a clock signal path 311.sub.1 to 311.sub.N, respectively. The output of data path 314.sub.1 to 314.sub.N of second stage 312.sub.1 to 312.sub.N is communicatively coupled to the input of data path 320 of third stage 318 through a data signal path 315.sub.1 to 315.sub.N, respectively. The output of clock path 316.sub.1 to 316.sub.N of second stage 312.sub.1 to 312.sub.N is electrically coupled to the input of clock path 322 of third stage 318 through a clock signal path 317.sub.1 to 317.sub.N, respectively. The output of data path 320 of third stage 318 is communicatively coupled to the data input of data latch 328 through a data signal path 324. The output of clock path 322 of third stage 318 is electrically coupled to the entrance clock input of data latch 328 through a return clock signal path 326. The data output of data latch 328 is electrically coupled to an output data node 330. The exit clock input of data latch 328 is electrically coupled to a clock signal node 332. In other examples, wave pipeline 300 may include additional stages prior to first stage 306 and/or between third stage 318 and data latch 328.
(37) First stage 306 receives a data signal from data signal node 302 aligned with a clock signal on clock signal node 304. With the signals aligned, the data is expected to be valid at a corresponding transition of the corresponding clock cycle of the clock signal. First stage 306 may process data in response to the clock signal at a first data rate equal to the clock rate of the clock signal. The delay of data through data path 308 may be substantially equal to (e.g., equal to) the delay of the clock signal through clock path 310 of first stage 306. First stage 306 divides the data signal and the clock signal between the plurality of second stages 312.sub.1 to 312.sub.N. First stage 306 passes data aligned with a first clock cycle (CLK.sub.1) to second stage 312.sub.1 through data signal path 309.sub.1 and passes the first clock cycle to second stage 312.sub.1 through clock signal path 311.sub.1. First stage 306 passes data aligned with a second clock cycle (CLK.sub.2) to second stage 312.sub.2 through data signal path 309.sub.2 and passes the second clock cycle to second stage 312.sub.2 through clock signal path 311.sub.2. Likewise, first stage 306 passes data aligned with an Nth clock cycle (CLK.sub.N) to second stage 312.sub.N through data signal path 309.sub.N and passes the Nth clock cycle to second stage 312.sub.N through clock signal path 311.sub.N. Once the Nth clock cycle is reached, first stage 306 passes the N+1 clock cycle and the data aligned with the N+1 clock cycle to second stage 312.sub.1 and the process repeats.
(38) The second stages 312.sub.1 to 312.sub.N may be substantially identical in that each second stage may process data by performing the same operations. Each second stage 312.sub.1 to 312.sub.N may process data received from first stage 306 at a second data rate equal to or less than the clock rate times the number of second stages 312.sub.1 to 312.sub.N. For example, for a clock rate of 10 ns and where N is equal to three, each second stage 312.sub.1 to 312.sub.N may process data within a 30 ns data rate (i.e., 30 ns per unit of data processed). This 30 ns data rate may be a maximum value and each second stage 312.sub.1 to 312.sub.N may process the data faster than at a 30 ns data rate. In any case, each second stage 312.sub.1 to 312.sub.N may use more than one clock cycle of the clock signal and up to N clock cycles of the clock signal to process data. The delay of data through each data path 314.sub.1 to 314.sub.N may be substantially equal to (e.g., equal to) the delay of each clock signal through each clock path 316.sub.1 to 316.sub.N of each second stage 312.sub.1 to 312.sub.N, respectively.
(39) After processing of the data in second stage 312.sub.1 is complete, second stage 312.sub.1 passes the processed data aligned with the first clock cycle to third stage 318 through data signal path 315.sub.1 and passes the first clock cycle to third stage 318 through clock signal path 317.sub.1. After processing of the data in second stage 312.sub.2 is complete, second stage 312.sub.2 passes the processed data aligned with the second clock cycle to third stage 318 through data signal path 315.sub.2 and passes the second clock cycle to third stage 318 through clock signal path 317.sub.2. Likewise, after processing of the data in second stage 312.sub.N is complete, second stage 312.sub.N passes the processed data aligned with the Nth clock cycle to third stage 318 through data signal path 315.sub.N and passes the Nth clock cycle to third stage 318 through clock signal path 317.sub.N. Once the Nth clock cycle is reached, second stage 312.sub.1 passes the N+1 clock cycle and the processed data aligned with the N+1 clock cycle to third stage 318 and the process repeats.
(40) Third stage 318 merges the data signal and the clock signal from each of the plurality of second stages 312.sub.1 to 312.sub.N to provide a merged data signal and a return clock signal. Third stage 318 may process data in response to the clock signal at the first data rate, which as previously described is equal to the clock rate of the clock signal. The delay of data through data path 320 may be substantially equal to (e.g., equal to) the delay of the clock signal through clock path 322 of third stage 318. Data path 320 of third stage 318 merges the processed data from each second stage 312.sub.1 to 312.sub.N to provide merged data on data signal path 324. Clock path 322 of third stage 318 merges the clock cycles from each second stage 312.sub.1 to 312.sub.N to provide a return clock signal on return clock signal path 326. According, the merged data on data signal path 324 is aligned with the return clock signal on return clock signal path 326.
(41) The merged data on data signal path 324 is latched into data latch 328 in response to the return clock signal on return clock signal path 326. The data is output to data node 330 from data latch 328 in response to a clock signal from clock node 332. Accordingly, wave pipeline 300 includes an N-way wave architecture (i.e., via the group of second stages 312.sub.1 to 312.sub.N) where the clock signal and the data signal are sent to one of the ways every Nth clock cycle. The results are then merged together to generate the merged data signal and the return clock signal. By using an N-way wave architecture for a stage in a wave pipeline, the data rate of each way of that stage may be reduced by N times the data rate of the wave pipeline as a whole. As a result, a slow stage in the wave pipeline may not limit the maximum transfer rate to and from that stage.
(42)
(43) RE # clock signal pad 402 is electrically coupled to an input of clock generator 406 through a signal path 404. An output of clock generator 406 is electrically coupled to the exit clock input (EXT) of FIFO 456, the input of buffer 410, and the input of address counter 416 through a clock signal path 408. The output of buffer 410 is electrically coupled to the input of clock demultiplexer 414 through a clock signal path 412. An output of address counter 416 is communicatively coupled to the input of buffer 420 through an address signal path 418. The output of buffer 420 is communicatively coupled to the input of address demultiplexer 424 through an address signal path 422. A first output of clock demultiplexer 414 is electrically coupled to the input of clock path 434.sub.1 of first sensing device 430.sub.1 through a clock signal path 428.sub.1. A second output of clock demultiplexer 414 is electrically coupled to the input of clock path 434.sub.2 of second sensing device 430.sub.2 through a clock signal path 428.sub.2. A first output of address demultiplexer 424 is communicatively coupled to the input of sense amplifier 432.sub.1 of first sensing device 430.sub.1 through an address signal path 426.sub.1. A second output of address demultiplexer 424 is communicatively coupled to the input of sense amplifier 432.sub.2 of second sensing device 430.sub.2 through an address signal path 426.sub.2.
(44) The output of sense amplifier 432.sub.1 of first sensing device 430.sub.1 is communicatively coupled to a first input of data multiplexer 440 through a data path 436.sub.1. The output of sense amplifier 432.sub.2 of second sensing device 430.sub.2 is communicatively coupled to a second input of data multiplexer 440 through a data path 436.sub.2. The output of clock path 434.sub.1 of first sensing device 430.sub.1 is electrically coupled to a first input of clock multiplexer 448 through a clock signal path 438.sub.1. The output of clock path 434.sub.2 of second sensing device 430.sub.2 is electrically coupled to a second input of clock multiplexer 448 through a clock signal path 438.sub.2. The output of data multiplexer 440 is communicatively coupled to the input of buffer 444 through a data path 442. The output of buffer 444 is communicatively coupled to the data input of FIFO 456 through a data path 446. The output of clock multiplexer 448 is electrically coupled to the input of buffer 452 through a return clock signal path 450. The output of buffer 452 is electrically coupled to the entrance clock input (ENT) of FIFO 456 through a return clock signal path 454. The data output of FIFO 456 is communicatively coupled to DQ(s) 460 through a data path 458. The data width of FIFO 456 may equal the data width of data path 446. FIFO 456 may have any suitable number of stages based on the particular configuration of the memory device.
(45) In one example, DQ(s) 460 is a single data pad, and data paths 436.sub.1, 436.sub.2, 442, 446, and 458 are corresponding single bit data paths. In other examples, DQ(s) 460 are multiple data pads (e.g., eight data pads, sixteen data pads), and data paths 436.sub.1, 436.sub.2, 442, 446, and 458 are multiple bit parallel data paths. A serializer (not shown) may be included on data path 458 between FIFO 456 and each DQ 460 to serialize parallel data from FIFO 456 for output on DQ(s) 460. In this case, the data width of FIFO 456 and data paths 436.sub.1, 436.sub.2, 442, and 446 may be a multiple of the number of DQ(s) 460. For example, for four DQs 460 and an eight bit serializer for each DQ 460, the data width of FIFO 456 and data paths 436.sub.1, 436.sub.2, 442, and 446 is 32 bits for a double data rate (DDR) memory.
(46) Clock generator 406 receives the RE # clock signal and generates a clock signal on clock signal path 408. In one example, clock generator 406 reduces the clock rate of the RE # clock signal so that the data throughput on data paths 442 and 446 may be equal to the number of DQs 460. For example, for eight DQs 460 and a data width of 8×8=64 bits, clock generator 406 divides the RE # clock signal by four to provide the clock signal on clock signal path 408. The internal data bus is clocked by a single edge per cycle of the divided-down clock while the serializers and DQs are clocked by both edges per RE # clock cycle. The reduced clock rate for the internal data bus may be used to relax the internal timing requirements. The more reduced the internal clock rate, however, the wider the internal data bus generally needs to be to maintain the data throughput. Since a wider data bus may add layout cost and design complexity, however, there is a tradeoff between the data bus width and the internal clock rate.
(47) Buffer 410 may delay the clock signal on clock signal path 408 to provide the clock signal (CLK) on clock signal path 412. Address counter 416 generates an address signal for first sensing device 430.sub.1 and second sensing device 430.sub.2 in response to the clock signal on clock signal path 408. Address counter 416 provides the address signal on signal path 418. Buffer 420 may delay the address signal on address signal path 418 to provide the address signal (ADDRESS) on address signal path 422. The clock signal on clock signal path 412 may be routed along with the address signal on address signal path 422 such that both the clock signal and the address signal are subjected to substantially the same delay due to the routing and PVT variations. The delay of buffers 410 and 420 may be adjusted to improve the alignment of the clock signal with the address signal.
(48) Clock demultiplexer 414 divides the clock signal on clock signal path 412 between first sensing device 430.sub.1 and second sensing device 430.sub.2. Clock demultiplexer 414 provides a first clock cycle to first sensing device 430.sub.1 through clock signal path 428.sub.1 and a second clock cycle following (e.g., immediately following) the first clock cycle to second sensing device 430.sub.2 through clock signal path 428.sub.2. Clock demultiplexer 414 continues to repeat the process by providing a third clock cycle following (e.g., immediately following) the second clock cycle to first sensing device 430.sub.1 through clock signal path 428.sub.1 and a fourth clock cycle following (e.g., immediately following) the third clock cycle to second sensing device 430.sub.2 through clock signal path 428.sub.2, etc.
(49) Address demultiplexer 424 receives the address signal on address signal path 422 to select either first sensing device 430.sub.1 or second sensing device 430.sub.2 in response to the address signal. Address demultiplexer 424 provides a first address to first sensing device 430.sub.1 through address signal path 426.sub.1 aligned with the first clock cycle to select first sensing device 430.sub.1 and a second address to second sensing device 430.sub.2 through address signal path 426.sub.2 aligned with the second clock cycle to select second sensing device 430.sub.2. Address demultiplexer 424 continues to repeat the process by providing the first address to first sensing device 430.sub.1 through address signal path 426.sub.1 aligned with the third clock cycle to select first sensing device 430.sub.1 and the second address to second sensing device 430.sub.2 through address signal path 426.sub.2 aligned with the fourth clock cycle to select second sensing device 430.sub.2, etc.
(50) First sensing device 430.sub.1 senses first data via sense amplifier 432.sub.1 from an array of memory cells (e.g., memory array 104 of
(51) Data multiplexer 440 merges the first data on data path 436.sub.1 from first sensing device 430.sub.1 and the second data on data path 436.sub.2 from second sensing device 430.sub.2 onto data path 442. Clock multiplexer 448 merges the first clock cycle on clock signal path 438.sub.1 from first sensing device 430.sub.1 and the second clock cycle on clock signal path 438.sub.2 from second sensing device 430.sub.2 onto return clock signal path 450 to provide a return clock signal aligned with the data on the data path 442. The data on data path 442 is delayed by buffer 444 to provide the data on data path 446. The return clock signal on return clock signal path 450 is delayed by buffer 452 to provide a return clock signal on return clock signal path 454. The data on data paths 442 and 446 may be routed along with the return clock signal on return clock signal paths 450 and 454 such that the return clock signal and the data may be subjected to substantially the same delay due to the PVT variations. The delay of buffers 444 and 452 may be adjusted to improve the alignment of the return clock signal with the data. The return clock signal at the ENT input of FIFO 456 triggers the latching of the data at the input of FIFO 456 into FIFO 456. The clock signal on clock signal path 408 clocks data out of FIFO 456 to DQ(s) 460.
(52)
(53) By using the two-way architecture for a sensing stage as described with reference to
(54)
(55)
(56)
(57) RE # clock signal pad 602 is electrically coupled to an input of clock generator 606 through a signal path 604. An output of clock generator 606 is electrically coupled to the input of buffer 610 and the input of address counter 616 through a clock signal path 608. The output of buffer 610 is electrically coupled to the input of clock demultiplexer 614 through a clock signal path 612. An output of address counter 616 is communicatively coupled to the input of buffer 620 through an address signal path 618. The output of buffer 620 is communicatively coupled to the input of address demultiplexer 624 through an address signal path 622. DQ(s) 626 are communicatively coupled to the input of buffer 630 through a data path 628. The output of buffer 630 is communicatively coupled to the input of data demultiplexer 634 through a data path 632.
(58) A first output of clock demultiplexer 614 is electrically coupled to the clock input of first writing device 642.sub.1 through a clock signal path 640.sub.1. A second output of clock demultiplexer 614 is electrically coupled to the clock input of second writing device 642.sub.2 through a clock signal path 640.sub.2. A first output of address demultiplexer 624 is communicatively coupled to the address input of first writing device 642.sub.1 through an address signal path 636.sub.1. A second output of address demultiplexer 624 is communicatively coupled to the address input of second writing device 642.sub.2 through an address signal path 636.sub.2. A first output of data demultiplexer 634 is communicatively coupled to the data input of first writing device 642.sub.1 through a data path 638.sub.1. A second output of data demultiplexer 634 is communicatively coupled to the data input of second writing device 642.sub.2 through a data path 638.sub.2.
(59) Clock generator 606 receives the RE # clock signal and generates a clock signal on clock signal path 608. Buffer 610 may delay the clock signal on clock signal path 608 to provide the clock signal (CLK) on clock signal path 612. Address counter 616 generates an address signal for first writing device 642.sub.1 and second writing device 642.sub.2 in response to the clock signal on clock signal path 608. Address counter 616 provides the address signal on address signal path 618. Buffer 620 may delay the address signal on address signal path 618 to provide the address signal (ADDRESS) on address signal path 622. DQ(s) 626 receive data and pass the data to buffer 630 through data path 628. Buffer 630 may delay the data on data path 628 to provide the data (DATA) on data path 632. The clock signal on clock signal path 612 may be routed along with the address signal on address signal path 622 and the data on data path 632 such that the clock signal, the address signal, and the data may be subjected to substantially the same delay due to the PVT variations. The delay of buffers 610, 620, and 630 may be adjusted to improve the alignment of the clock signal with the address signal and the data.
(60) Clock demultiplexer 614 divides the clock signal on clock signal path 612 between first writing device 642.sub.1 and second writing device 642.sub.2. Clock demultiplexer 614 provides a first clock cycle to first writing device 642.sub.1 through clock signal path 640.sub.1 and a second clock cycle following (e.g., immediately following) the first clock cycle to second writing device 642.sub.2 through clock signal path 640.sub.2. Clock demultiplexer 614 continues to repeat the process by providing a third clock cycle following (e.g., immediately following) the second clock cycle to first writing device 642.sub.1 through clock signal path 640.sub.1 and a fourth clock cycle following (e.g., immediately following) the third clock cycle to second writing device 642.sub.2 through clock signal path 640.sub.2, etc.
(61) Address demultiplexer 624 receives the address signal on address signal path 622 to select either first writing device 642.sub.1 or second writing device 642.sub.2 in response to the address signal. Address demultiplexer 624 provides a first address to first writing device 642.sub.1 through address signal path 636.sub.1 aligned with the first clock cycle to select first writing device 642.sub.1 and a second address to second writing device 642.sub.2 through address signal path 636.sub.2 aligned with the second clock cycle to select second writing device 642.sub.2. Address demultiplexer 624 may continue to repeat the process by providing the first address to first writing device 642.sub.1 through address signal path 636.sub.1 aligned with the third clock cycle to select first writing device 642.sub.1 and the second address to second writing device 642.sub.2 through address signal path 636.sub.2 aligned with the fourth clock cycle to select second writing device 642.sub.2, etc.
(62) Data demultiplexer 634 divides the data signal on data path 632 between first writing device 642.sub.1 and second writing device 642.sub.2. Data demultiplexer 634 provides first data to first writing device 642.sub.1 through data path 638.sub.1 aligned with the first clock cycle and the first address and second data to second writing device 642.sub.2 through data path 638.sub.2 aligned with the second clock cycle and the second address. Data demultiplexer 634 may continue to repeat the process by providing third data to first writing device 642.sub.1 through data path 638.sub.1 aligned with the third clock cycle and the first address and fourth data to second writing device 642.sub.2 through data path 638.sub.2 aligned with the fourth clock cycle and the second address, etc.
(63) First writing device 642.sub.1 writes the first data to an array of memory cells (e.g., memory array 104 of
(64)
(65) Clock signal path 412 is electrically coupled to the input of clock demultiplexer 414 of both groups 702.sub.1 and 702.sub.2. Address signal path 422 is communicatively coupled to the input of address demultiplexer 424 of both groups 702.sub.1 and 702.sub.2. The output of data multiplexer 440 of group 702.sub.1 is communicatively coupled to the input of buffer 704.sub.1 through a data path 703.sub.1. The output of buffer 704.sub.1 is communicatively coupled to a first input of data multiplexer 712 through a data path 708.sub.1. The output of clock multiplexer 448 of group 702.sub.1 is electrically coupled to the input of buffer 706.sub.1 through a clock signal path 705.sub.1. The output of buffer 706.sub.1 is electrically coupled to a first input of clock multiplexer 714 through a clock signal path 710.sub.1. The output of data multiplexer 440 of group 702.sub.2 is communicatively coupled to the input of buffer 704.sub.2 through a data path 703.sub.2. The output of buffer 704.sub.2 is communicatively coupled to a second input of data multiplexer 712 through a data path 708.sub.2. The output of clock multiplexer 448 of group 702.sub.2 is electrically coupled to the input of buffer 706.sub.2 through a clock signal path 705.sub.2. The output of buffer 706.sub.2 is electrically coupled to a second input of clock multiplexer 714 through a clock signal path 710.sub.2. The output of data multiplexer 712 is communicatively coupled to data path 442, and the output of clock multiplexer 714 is communicatively coupled to return clock signal path 450.
(66) In this example, one of groups 702.sub.1 and 702.sub.2 is active while the other of groups 702.sub.1 and 702.sub.2 is inactive. Each group 702.sub.1 and 702.sub.2 may operate similarly to the single group previously described and illustrated with reference to
(67) Data multiplexer 712 merges the data on data path 708.sub.1 from group 702.sub.1 and the data on data path 708.sub.2 from group 702.sub.2 onto data path 442. Clock multiplexer 714 merges the clock signal on clock signal path 710.sub.1 from group 702.sub.1 and the clock signal on clock signal path 710.sub.2 from group 702.sub.2 onto return clock signal path 450 to provide the return clock signal aligned with the data on the data path 442.
(68)
(69) In the N-way architecture illustrated in
(70)
(71)
(72)
(73) Method 940 may also include passing the first data to the first writing device via a first data path, passing the first address to the first writing device via a first address path, and passing the first clock cycle to the first writing device via a first clock path. In addition, method 940 may include passing the second data to the second writing device via a second data path, passing the second address to the second writing device via a second address path, and passing the second clock cycle to the second writing device via a second clock path.
CONCLUSION
(74) Although specific embodiments have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art that any arrangement that is calculated to achieve the same purpose may be substituted for the specific embodiments shown. Many adaptations of the embodiments will be apparent to those of ordinary skill in the art. Accordingly, this application is intended to cover any adaptations or variations of the embodiments.