MULTI-PHASE CLOCKING SCHEME FOR A MEMORY DEVICE
20230215478 · 2023-07-06
Inventors
- Sriram Balasubrahmanyam (Folsom, CA, US)
- Arti Sharma (Santa Clara, CA, US)
- Jong Tai Park (Pleasanton, CA, US)
- Tri Tran (Elk Grove, CA, US)
Cpc classification
G11C7/222
PHYSICS
G11C16/0483
PHYSICS
International classification
Abstract
Technology to provide a multi-phase clocking scheme for a memory device includes generating, based on a first clock signal having a first frequency, multi-phase clock signals for a memory device having a second frequency, where the second frequency is a fraction of the first frequency, generating local clock signals for data channels of the memory device based on the multi-phase clock signals, where the local clock signals are synchronous with respective rising edges of the multi-phase clock signals, and providing output data for the data channels of the memory device in an output data sequence based on the local clock signals. In some embodiments, the second frequency is one-half of the first frequency, and the multi-phase clock signals are four-phase clock signals. In some embodiments, the output data is clocked out at an effective rate equal to the first frequency based on the local clock signals.
Claims
1. A semiconductor apparatus comprising: one or more substrates; and logic coupled to the one or more substrates, wherein the logic is implemented at least partly in one or more of configurable or fixed-functionality hardware, the logic to: generate, based on a first clock signal having a first frequency, multi-phase clock signals for a memory device having a second frequency, wherein the second frequency is a fraction of the first frequency; generate local clock signals for data channels of the memory device based on the multi-phase clock signals, wherein the local clock signals are synchronous with respective rising edges of the multi-phase clock signals; and provide output data for the data channels of the memory device in an output data sequence based on the local clock signals.
2. The apparatus of claim 1, wherein the logic is to bypass use of a trailing edge of respective ones of the multi-phase clock signals.
3. The apparatus of claim 1, wherein the multi-phase clock signals are generated based on dividing the first clock signal.
4. The apparatus of claim 1, wherein the second frequency is one-half of the first frequency.
5. The apparatus of claim 4, wherein the multi-phase clock signals are four-phase clock signals.
6. The apparatus of claim 1, wherein the output data is clocked out at an effective rate equal to the first frequency based on the local clock signals.
7. The apparatus of claim 1, wherein the logic is to convert a staggered, multi-phase data sequence to the output data sequence for the memory device.
8. A data storage device comprising: a memory controller to generate a first clock signal having a first frequency; and one or more memory devices, wherein each memory device of the one or more memory devices comprises: one or more substrates; and logic coupled to the one or more substrates, wherein the logic is implemented at least partly in one or more of configurable or fixed-functionality hardware, the logic to: generate, based on a first clock signal having a first frequency, multi-phase clock signals for the memory device having a second frequency, wherein the second frequency is a fraction of the first frequency; generate local clock signals for data channels of the memory device based on the multi-phase clock signals, wherein the local clock signals are synchronous with respective rising edges of the multi-phase clock signals; and provide output data for the data channels of the memory device in an output data sequence based on the local clock signals.
9. The data storage device of claim 8, wherein the logic is to bypass use of a trailing edge of respective ones of the multi-phase clock signals.
10. The data storage device of claim 8, wherein the multi-phase clock signals are generated based on dividing the first clock signal.
11. The data storage device of claim 8, wherein the second frequency is one-half of the first frequency.
12. The data storage device of claim 11, wherein the multi-phase clock signals are four-phase clock signals.
13. The data storage device of claim 8, wherein the output data is clocked out at an effective rate equal to the first frequency based on the local clock signals.
14. The data storage device of claim 8, wherein the logic is to convert a staggered, multi-phase data sequence to the output data sequence for the memory device.
15. The storage device of claim 8, wherein the one or more memory devices comprises a plurality of memory devices.
16. A method comprising: generating, based on a first clock signal having a first frequency, multi-phase clock signals for a memory device having a second frequency, wherein the second frequency is a fraction of the first frequency; generating local clock signals for data channels of the memory device based on the multi-phase clock signals, wherein the local clock signals are synchronous with respective rising edges of the multi-phase clock signals; and providing output data for the data channels of the memory device in an output data sequence based on the local clock signals.
17. The method of claim 16, further comprising bypassing use of a trailing edge of respective ones of the multi-phase clock signals.
18. The method of claim 16, wherein the multi-phase clock signals are generated based on dividing the first clock signal.
19. The method of claim 16, wherein the second frequency is one-half of the first frequency, and wherein the multi-phase clock signals are four-phase clock signals.
20. The method of claim 16, wherein the output data is clocked out at an effective rate equal to the first frequency based on the local clock signals, and wherein providing the output data comprises converting a staggered, multi-phase data sequence to the output data sequence for the memory device.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0003] The various advantages of the embodiments will become apparent to one skilled in the art by reading the following specification and appended claims, and by referencing the following drawings, in which:
[0004]
[0005]
[0006]
[0007]
[0008]
[0009]
[0010]
[0011]
DESCRIPTION OF EMBODIMENTS
[0012] A performance-enhanced memory device as described herein provides a multi-phase clocking scheme based on a divided clock with several different phases, where the memory clocking system uses only the rising edges of the clock signals for synchronization. As one example, a memory clocking system as described herein uses a divide-by-two clock with four phases (0, 90, 180 and 270 degrees), where the four-phase clock rising edges are used to generate the divided clocks for FIFO and serializer components by synchronizing at rising edge of every divide-by-2 phase clock. The four-phase clock signals are generated with a rate of one-half the frequency of the incoming clock signals, but in combination the four-phases provide for clocking the output data DQ0, . . . , DQ7 at the equivalent of the higher incoming clock rate.
[0013] By using only the rising edge for synchronization, the clock signals in the memory clocking system are duty-cycle independent, thus avoiding or minimizing the clock signal degradation in existing designs at higher clock speeds. Additionally, the technology avoids transferring clock signals at the highest clock speed (X1) through clock trees and downstream across the clocking paths for the data DQ channels and, instead, transfers X2 (one-half the rate of X1) clock signals through the clocking system, which reduces effects due to higher clock rates. Moreover, the use of multi-phase clock signals enable the clocking system to maintain the highest effective rate for clocking the output data. The technology disclosed herein helps improve the overall performance of memory devices by enabling operation at higher clock speeds (such as, e.g., clock speeds exceeding 1.6GT/s and/or clock speeds exceeding twice the current operating speeds) using the same basic CMOS memory technology. The disclosed technology further helps reduce manufacturing cost from one speed node to the next (e.g., devices operable at increasing high clock speeds), and improves end-of life aging by making system design independent of duty-cycle distortion.
[0014]
[0015] The receiver 110 receives an incoming differential read clock signal 105 (designated as RE(T) and RE(C), where “T” designates True and “C” designates Complement) and provides a differential clock signal to the clock controller 120. The incoming clock signal 105 is generated by a memory controller—e.g., a solid state drive (SSD) controller, not shown in
[0016]
[0017] For DQS, the local clock signals 143 include low divided clock signals (similar to the low divided clock signals 142c). The serializer 155 includes typically a single (e.g., final) serializer, thus FIFO clock signals and high divided clock signals are typically unused for DQS.
[0018]
[0019]
[0020] In some embodiments, the multi-phase clock signals 221 are generated with a phase of 0 degrees, 90 degrees, 180 degrees, and 270 degrees, respectively, for the example 4-phase signals illustrated in
[0021] The multi-phase clock signals 232 as output from the clock trees 230 are provided at the X2 rate, and are fed into local clock generators 240. A series of local clock generators 240 generate local clock signals 242 to control each part of the data pipeline(s) (for DQ0 through DQ7) that are synchronized to the rising edge (only) of the multi-phase clock signals 232. A local clock generator 240 for DQS generates local clock signals 243 for the serializer 155, also synchronized to the rising edge (only) of the multi-phase clock signals 232. As the local clock generators 240 generate, based on logic, signals synchronized to the rising edge (only) of the multi-phase clock signals 232, the logic in the local clock generators thus bypass use of trailing or falling edges of the multi-phase clock signals 232 to generate or synchronize the local clock signals 242 or 243. Of note, the respective outputs DQ0 through DQ7 and DQS are clocked out based on multi-phase clock signals, as described further herein with reference to
[0022]
[0023] Depending upon the precise construction and timing involved in the FIFO 151, the FIFO clock signals 242a can include signals of single phase, multi-phase, or a combination thereof. Similarly, depending upon the precise construction and timing involved in the first serializer 152, the high divided clock signals 242b can include signals of single phase, multi-phase, or a combination thereof. The low divided clock signals 242c are multi-phase signals, as illustrated in the examples of
[0024]
[0025] Some or all components or features of in the memory clocking system 200 (including, e.g., the clock divider/controller 220, the clock trees 230, and/or the local clock generators 240) can be implemented using a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), other hardware logic (e.g., logic circuitry), via a controller with software or firmware, and/or in a combination of a controller with software/firmware and logic, an FPGA or ASIC. More particularly, components of the memory clocking system 200 can be implemented in one or more modules as a set of program or logic instructions stored in a machine- or computer-readable storage medium such as random access memory (RAM), read only memory (ROM), programmable ROM (PROM), firmware, flash memory, etc., in hardware, or any combination thereof. For example, hardware implementations can include configurable logic, fixed-functionality logic, or any combination thereof. Examples of configurable logic include suitably configured programmable logic arrays (PLAs), FPGAs, complex programmable logic devices (CPLDs), and general purpose microprocessors. Examples of fixed-functionality logic include suitably configured ASICs, combinational logic circuits, and sequential logic circuits. The configurable or fixed-functionality logic can be implemented with complementary metal oxide semiconductor (CMOS) logic circuits, transistor-transistor logic (TTL) logic circuits, or other circuits.
[0026]
[0027] The illustrated example multi-phase clock signals 321-324 are also representative of multi-phase clock signals downstream of the clock trees 230. For example, the multi-phase clock signals 321-324 are representative of the clock signals 232 that are fed into the local clock generators 240 (
[0028] Also illustrated in
[0029] As shown in
[0030] Based on the respective local clock signals 341-344, the respective data channel (e.g., DQ0 as illustrated in
[0031]
[0032] For example, as shown in
[0033] The portion of the local clock generator 340 shown in
[0034]
[0035] The memory medium 402 can also include non-volatile types of memory, such as 3D crosspoint memory (3DxP), or other byte addressable non-volatile memory. Other technologies, such as some NOR flash memory, may be byte addressable for reads and/or writes, and block addressable for erases. The memory medium 402 can include a single-level cell (SLC) NAND storage device, a multi-level cell (MLC) NAND storage device, triple-level cell (TLC) NAND storage device, quad-level cell (QLC) storage device, penta-level cell (PLC) storage device, or a device with higher-levels cells.
[0036] The memory device 400 can communicate with a computing platform (e.g., a processor, host system, drive, or external memory controller, etc., not shown in
[0037] The memory device 400 includes a controller 404. The controller 404 can communicate with elements of the computing platform (e.g., via the interface 420) to read data from memory medium 402 or write data to memory medium 402. For example, in embodiments the controller 404 is configured to receive requests from the computing platform and generate and perform commands concerning the use of memory medium 402 (e.g., to read data, write, or erase data). Other commands may include, for example, commands to read status, commands to change configuration settings, a reset command, etc. The controller 404 includes control logic 411 for carrying out some or all of the functions of the controller 404. In embodiments the memory device 400 includes firmware 414 coupled to and executed by the controller 404. Although the firmware 414 is illustrated as being separate from the controller 404, in embodiments the firmware 414 is stored in or otherwise integrated within the controller 404 and/or the control logic 411.
[0038] In embodiments, the controller 404 and/or the control logic 411 provide some or all of the components and features of the clocking system 200 (
[0039] Some or all components or features of the memory device 400 (including, e.g., the controller 404 and/or the control logic 411) can be implemented using a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), other hardware logic (e.g., logic circuitry), via a controller with software or firmware, and/or in a combination of a controller with software/firmware and logic, an FPGA or ASIC. For example, in embodiments the memory device 400 can be implemented on a single chip or die. More particularly, components of the memory device 400 can be implemented in one or more modules as a set of program or logic instructions stored in a machine- or computer-readable storage medium such as random access memory (RAM), read only memory (ROM), programmable ROM (PROM), firmware, flash memory, etc., in hardware, or any combination thereof. For example, hardware implementations can include configurable logic, fixed-functionality logic, or any combination thereof. Examples of configurable logic include suitably configured programmable logic arrays (PLAs), FPGAs, complex programmable logic devices (CPLDs), and general purpose microprocessors. Examples of fixed-functionality logic include suitably configured ASICs, combinational logic circuits, and sequential logic circuits. The configurable or fixed-functionality logic can be implemented with complementary metal oxide semiconductor (CMOS) logic circuits, transistor-transistor logic (TTL) logic circuits, or other circuits.
[0040] The controller 404 is coupled with the memory medium 402 to control or command the memory device 400 to cause operations to occur (e.g., read, program, erase, suspend, resume, and other operations). Communication between the memory medium 402 and the controller 404 can include writing to and/or reading from specific registers (e.g., registers 408). Such registers may reside in the controller 404, in the memory medium 402, or external to the controller 404 and the memory medium 402.
[0041] In embodiments the controller 404 is coupled to word lines of memory medium 402 to select one of the word lines, apply read voltages, apply program voltages combined with bit line potential levels, or apply erase voltages. In embodiments the controller 404 is also coupled to bit lines of memory medium 402 to read data stored in the memory cells, determine a state of the memory cells during a program operation, and control potential levels of the bit lines to promote or inhibit programming and erasing. Other circuitry can be used for applying selected read voltages and other signals to memory medium 402.
[0042] In embodiments the memory medium 402 includes 3D NAND memory, where the memory device 400 has multiple planes per die—such as, e.g., Plane 0, Plane 1, Plane 2, Plane 3, etc. as illustrated in
[0043] In multi-plane configurations, the memory device 400 can receive multiple commands, each to access one of the planes. Independent multi-plane operations enable independent and concurrent operations per plane. Separate state machines for each plane enable application of different bias voltages for each plane to independently and concurrently service requests.
[0044]
[0045] The memory controller 510 provides commands and clock signals to the non-volatile memory devices 520. For example, the memory controller 510 provides read clock signals (such as, e.g., read clock signals 105 (
[0046]
[0047] Illustrated block 610a provides for generating, based on a first clock signal having a first frequency, multi-phase clock signals for a memory device having a second frequency, where at block 610b the second frequency is a fraction of the second frequency. In some embodiments, the multi-phase clock signals are generated based on dividing the first clock signal. In some embodiments, the second frequency is one-half of the first frequency. In some embodiments, the multi-phase clock signals are four-phase clock signals. In some embodiments, the four-phase clock signals include clock signals at a phase of 0 degrees, 90 degrees, 180 degrees, and 270 degrees, respectively. Illustrated block 620a provides for generating local clock signals for data channels of the memory device based on the multi-phase clock signals, where at block 620b the local clock signals are synchronous with respective rising edges of the multi-phase clock signals. At block 630, output data is provided for the data channels of the memory device in an output data sequence based on the local clock signals. In some embodiments, the output data is clocked out at an effective rate equal to the first frequency based on the local clock signals. In some embodiments, a staggered, multi-phase data sequence is converted to the output data sequence.
[0048]
[0049] The system 40 can also include a host processor 58 (e.g., central processing unit/CPU) that includes an integrated memory controller (IMC) 62, wherein the illustrated IMC 62 communicates with a system memory 64 (e.g., DRAM) over a bus or other suitable communication interface. In embodiments the host processor 58 and the IO module 60 are integrated onto a shared semiconductor die 56 in a system on chip (SoC) architecture.
[0050] In embodiments the SSD 42 includes a device controller apparatus 44 coupled to memory media 46 (e.g., non-volatile memory (NVM) media). In embodiments, the device controller apparatus 44 corresponds to the memory controller 510 (
[0051] In embodiments, a clock controller 47 includes logic to implement and/or perform operations by the memory clocking system 200 and/or components thereof (
[0052] The computing system 40 is therefore performance-enhanced at least to the extent that the memory clocking system uses multi-phase clock signals at a fraction of the incoming clock rate and synchronizes the data pipeline using only the rising edges of the clock signals. The memory arrangement of the SSD 42 (including operations of the memory clocking system) thus enables operation of the memory device at higher clock speeds while avoiding the degradation of clock signals in existing designs.
[0053]
[0054] The semiconductor apparatus 30 can be constructed using any appropriate semiconductor manufacturing processes or techniques. For example, the logic 34 can include transistor channel regions that are positioned (e.g., embedded) within the substrate(s) 32. Thus, the interface between the logic 34 and the substrate(s) 32 may not be an abrupt junction. The logic 34 can also be considered to include an epitaxial layer that is grown on an initial wafer of the substrate(s) 32.
[0055] Embodiments of each of the above systems, devices, components and/or methods, including the memory clocking system 200, the clock divider/controller 220, the local clock generators 240, the local clock generator 340, the memory device 400, the data storage device 500, the method 600, and/or any other system or device components, or portions thereof, can be implemented in hardware, software, or any suitable combination thereof. For example, hardware implementations may include configurable logic, fixed-functionality logic, or any combination thereof. Examples of configurable logic include suitably configured PLAs, FPGAs, CPLDs, and general purpose microprocessors. Examples of fixed-functionality logic include suitably configured ASICs, combinational logic circuits, and sequential logic circuits. The configurable or fixed-functionality logic can be implemented with CMOS logic circuits, TTL logic circuits, or other circuits. Alternatively, or additionally, all or portions of the foregoing systems and/or components and/or methods can be implemented in one or more modules as a set of program or logic instructions stored in a machine- or computer-readable storage medium such as RAM, ROM, PROM, firmware, flash memory, etc., to be executed by a processor or computing device.
Additional Notes and Examples
[0056] Example A1 includes a semiconductor apparatus comprising one or more substrates, and logic coupled to the one or more substrates, wherein the logic is implemented at least partly in one or more of configurable or fixed-functionality hardware, the logic to generate, based on a first clock signal having a first frequency, multi-phase clock signals for a memory device having a second frequency, wherein the second frequency is a fraction of the first frequency, generate local clock signals for data channels of the memory device based on the multi-phase clock signals, wherein the local clock signals are synchronous with respective rising edges of the multi-phase clock signals, and provide output data for the data channels of the memory device in an output data sequence based on the local clock signals.
[0057] Example A2 includes the apparatus of Example A1, wherein the logic is to bypass use of a trailing edge of respective ones of the multi-phase clock signals.
[0058] Example A3 includes the apparatus of Example A1 or A2, wherein the multi-phase clock signals are generated based on dividing the first clock signal.
[0059] Example A4 includes the apparatus of Example A1, A2 or A3, wherein the second frequency is one-half of the first frequency.
[0060] Example A5 includes the apparatus of any of Examples A1-A4, wherein the multi-phase clock signals are four-phase clock signals.
[0061] Example A6 includes the apparatus of any of Examples A1-A5, wherein the output data is clocked out at an effective rate equal to the first frequency based on the local clock signals.
[0062] Example A7 includes the apparatus of any of Examples A1-A6, wherein the logic is to convert a staggered, multi-phase data sequence to the output data sequence for the memory device.
[0063] Example D1 includes a data storage device comprising a memory controller to generate a first clock signal having a first frequency, and one or more memory devices, wherein each memory device of the one or more memory devices comprises one or more substrates, and logic coupled to the one or more substrates, wherein the logic is implemented at least partly in one or more of configurable or fixed-functionality hardware, the logic to generate, based on a first clock signal having a first frequency, multi-phase clock signals for the memory device having a second frequency, wherein the second frequency is a fraction of the first frequency, generate local clock signals for data channels of the memory device based on the multi-phase clock signals, wherein the local clock signals are synchronous with respective rising edges of the multi-phase clock signals, and provide output data for the data channels of the memory device in an output data sequence based on the local clock signals.
[0064] Example D2 includes the data storage device of Example D1, wherein the logic is to bypass use of a trailing edge of respective ones of the multi-phase clock signals.
[0065] Example D3 includes the data storage device of Example D1 or D2, wherein the multi-phase clock signals are generated based on dividing the first clock signal.
[0066] Example D4 includes the data storage device of Example D1, D2 or D3, wherein the second frequency is one-half of the first frequency.
[0067] Example D5 includes the data storage device of any of Examples D1-D4, wherein the multi-phase clock signals are four-phase clock signals.
[0068] Example D6 includes the data storage device of any of Examples D1-D5, wherein the output data is clocked out at an effective rate equal to the first frequency based on the local clock signals.
[0069] Example D7 includes the data storage device of any of Examples D1-D6, wherein the logic is to convert a staggered, multi-phase data sequence to the output data sequence for the memory device.
[0070] Example D8 includes the storage device of any of Examples D1-D7, wherein the one or more memory devices comprises a plurality of memory devices.
[0071] Example M1 includes a method comprising generating, based on a first clock signal having a first frequency, multi-phase clock signals for a memory device having a second frequency, wherein the second frequency is a fraction of the first frequency, generating local clock signals for data channels of the memory device based on the multi-phase clock signals, wherein the local clock signals are synchronous with respective rising edges of the multi-phase clock signals, and providing output data for the data channels of the memory device in an output data sequence based on the local clock signals.
[0072] Example M2 includes the method of Example M1, further comprising bypassing use of a trailing edge of respective ones of the multi-phase clock signals.
[0073] Example M3 includes the method of Example M1 or M2, wherein the multi-phase clock signals are generated based on dividing the first clock signal.
[0074] Example M4 includes the method of Example M1, M2 or M3, wherein the second frequency is one-half of the first frequency.
[0075] Example M5 includes the method of any of Examples M1-M4, wherein the multi-phase clock signals are four-phase clock signals.
[0076] Example M6 includes the method of any of Examples M1-M5, wherein the output data is clocked out at an effective rate equal to the first frequency based on the local clock signals.
[0077] Example M7 includes the method of any of Examples M1-M6, wherein providing the output data comprises converting a staggered, multi-phase data sequence to the output data sequence for the memory device.
[0078] Embodiments are applicable for use with all types of semiconductor integrated circuit (“IC”) chips. Examples of these IC chips include but are not limited to processors, controllers, chipset components, programmable logic arrays (PLAs), memory chips, network chips, systems on chip (SoCs), SSD/NAND controller ASICs, and the like. In addition, in some of the drawings, signal conductor lines are represented with lines. Some may be different, to indicate more constituent signal paths, have a number label, to indicate a number of constituent signal paths, and/or have arrows at one or more ends, to indicate primary information flow direction. This, however, should not be construed in a limiting manner. Rather, such added detail may be used in connection with one or more exemplary embodiments to facilitate easier understanding of a circuit. Any represented signal lines, whether or not having additional information, may actually comprise one or more signals that may travel in multiple directions and may be implemented with any suitable type of signal scheme, e.g., digital or analog lines implemented with differential pairs, optical fiber lines, and/or single-ended lines.
[0079] Example sizes/models/values/ranges may have been given, although embodiments are not limited to the same. As manufacturing techniques (e.g., photolithography) mature over time, it is expected that devices of smaller size could be manufactured. In addition, well known power/ground connections to IC chips and other components may or may not be shown within the figures, for simplicity of illustration and discussion, and so as not to obscure certain aspects of the embodiments. Further, arrangements may be shown in block diagram form in order to avoid obscuring embodiments, and also in view of the fact that specifics with respect to implementation of such block diagram arrangements are highly dependent upon the platform within which the embodiment is to be implemented, i.e., such specifics should be well within purview of one skilled in the art. Where specific details (e.g., circuits) are set forth in order to describe example embodiments, it should be apparent to one skilled in the art that embodiments can be practiced without, or with variation of, these specific details. The description is thus to be regarded as illustrative instead of limiting.
[0080] The term “coupled” may be used herein to refer to any type of relationship, direct or indirect, between the components in question, and may apply to electrical, mechanical, fluid, optical, electromagnetic, electromechanical or other connections, including logical connections via intermediate components (e.g., device A may be coupled to device C via device B). In addition, the terms “first”, “second”, etc. may be used herein only to facilitate discussion, and carry no particular temporal or chronological significance unless otherwise indicated.
[0081] As used in this application and in the claims, a list of items joined by the term “one or more of” may mean any combination of the listed terms. For example, the phrases “one or more of A, B or C” may mean A, B, C; A and B; A and C; B and C; or A, B and C.
[0082] Those skilled in the art will appreciate from the foregoing description that the broad techniques of the embodiments can be implemented in a variety of forms. Therefore, while the embodiments have been described in connection with particular examples thereof, the true scope of the embodiments should not be so limited since other modifications will become apparent to the skilled practitioner upon a study of the drawings, specification, and following claims.