US20160306756A1 - Memory system, memory module and method to backup and restore system using command address latency - Google Patents
Memory system, memory module and method to backup and restore system using command address latency Download PDFInfo
- Publication number
- US20160306756A1 US20160306756A1 US14/845,870 US201514845870A US2016306756A1 US 20160306756 A1 US20160306756 A1 US 20160306756A1 US 201514845870 A US201514845870 A US 201514845870A US 2016306756 A1 US2016306756 A1 US 2016306756A1
- Authority
- US
- United States
- Prior art keywords
- data
- memory devices
- volatile memory
- cal
- bus
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 15
- 238000012546 transfer Methods 0.000 claims description 8
- 238000004891 communication Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 16
- 230000004044 response Effects 0.000 description 9
- 230000007257 malfunction Effects 0.000 description 5
- 239000011800 void material Substances 0.000 description 4
- 230000009977 dual effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 241000030538 Thecla Species 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
- G06F13/1657—Access to multiple memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1694—Configuration of memory controller to different memory types
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/404—Coupling between buses using bus bridges with address mapping
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C15/00—Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
- G11C15/04—Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements
- G11C15/046—Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements using non-volatile storage elements
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/18—Address timing or clocking circuits; Address control signal generation or management, e.g. for row address strobe [RAS] or column address strobe [CAS] signals
Definitions
- This patent document relates to a memory system and a memory module.
- a single controller is used to control multiple memory devices.
- the controller 100 can separately control the memory devices 110 _ 0 and 110 _ 1 .
- a command and address are transmitted through the control bus. For example, while the memory device 110 _ 0 performs a read operation, the memory device 110 _ 1 may perform a write operation.
- a memory device selected by the signals CS 0 and CS 1 between the memory devices 110 _ 0 and 110 _ 1 may perform an operation in response to the command transferred through the control bus CMD/ADDR_BUS, and exchange signals with the controller 100 through the data bus DATA_BUS.
- the signals CS 0 and CS 1 are command signals transmitted to the control bus CMD/ADD_BUS, but are independently allocated to the memory devices 110 _ 0 and 110 _ 1 unlike the other common command signals transmitted through the control bus CMD/ADDR_BUS.
- the signals CS 0 and CS 1 are separately illustrated in FIG. 1B .
- Various embodiments are directed to a memory system which includes a controller capable of separately accessing memory devices, while reducing the number of lines between the controller and memory devices.
- a memory system may include: a data bus suitable for transferring data; a control bus suitable for transferring commands and addresses including a command address latency (CAL); first and second memory devices commonly coupled to the data bus and the control bus; and a controller suitable for controlling the first and second memory devices through the data bus and the control bus, wherein the first and second memory devices have different values of the CAL, and wherein a difference of the CAL values is greater than or equal to a RAS to CAS delay time (tRCD).
- a data bus suitable for transferring data
- a control bus suitable for transferring commands and addresses including a command address latency (CAL)
- first and second memory devices commonly coupled to the data bus and the control bus
- a controller suitable for controlling the first and second memory devices through the data bus and the control bus, wherein the first and second memory devices have different values of the CAL, and wherein a difference of the CAL values is greater than or equal to a RAS to CAS delay time (tRCD).
- tRCD RAS to
- the difference of the CAL values is smaller than a row precharge time (tRP).
- a memory module may include: a first data bus suitable for transferring data; a control bus suitable for transferring commands and addresses including a command address latency (CAL); a plurality of first volatile memory devices commonly coupled to the first data bus and the control bus; one or more nonvolatile memory devices; and a controller suitable for providing the commands and addresses through the control bus and the first data bus to store data of the plurality of first volatile memory devices into the nonvolatile memory devices when a trigger condition is satisfied, wherein when the trigger condition is satisfied, the controller controls a specific one of the plurality of first volatile memory devices to have the CAL of a first value, and the others of the plurality of first volatile memory devices to have the CAL of a second value.
- CAL command address latency
- the commands and addresses may include the CLA of the first value when the controller accesses the specific one of the plurality first volatile memory devices.
- the memory system may further include: a second data bus suitable for transferring data; and a plurality of second nonvolatile memory devices commonly coupled to the second data bus and the control bus, wherein the controller further provides the command and address through the control bus and the second data bus to store data of the plurality of second volatile memory devices into the nonvolatile memory devices, when the trigger condition is satisfied, and wherein when the trigger condition is satisfied, the controller controls a specific one of the plurality of second volatile memory devices to have the CAL of the first value, and the others of the plurality of second volatile memory devices to have the CAL of a second value.
- the command and address may include the CAL of the first value when the controller accesses the specific one of the plurality of second volatile memory devices.
- an operation method of a memory module including first to Nth volatile memory groups, each of which includes one or more volatile memory devices, one or more nonvolatile memory devices, and a controller.
- the operation method may include: exchanging data between the first to Nth volatile memory groups and a memory controller of a host; controlling, by the controller, a specific one of the first to Nth volatile memory groups to have a command address latency (CAL) of a first value, and the others of the first to Nth volatile memory groups to have the CAL of a second value when a trigger condition is satisfied; and providing commands and addresses including the CAL of the first value to store data of the specific one of the first to Nth volatile memory groups into the nonvolatile memory devices when the trigger condition is satisfied.
- CAL command address latency
- the operation method may further include: controlling, by the controller, the specific one of the first to Nth volatile memory groups to have the CAL of a third value, and the others of the first to Nth volatile memory groups to have the CAL of a fourth value when a restoration condition is satisfied; and providing commands and addresses including the CAL of the third value to restore data of the nonvolatile memory devices into the specific one of the first to Nth volatile memory groups when the restoration condition is satisfied.
- FIG. 1 is a diagram illustrating bus coupling between a controller and memory devices in a conventional memory system.
- FIG. 2 is a timing diagram illustrating an operation according to a MRS during a PDA mode in a memory device.
- FIG. 3 is a diagram illustrating command address latency CAL of a memory device.
- FIG. 4 is a block diagram illustrating a memory system in accordance with an embodiment of the present invention.
- FIG. 5 is a flowchart illustrating an operation of the memory system of FIG. 4 .
- FIG. 6 is a timing diagram illustrating steps 512 and 513 of FIG. 5 .
- FIG. 7 is timing diagrams illustrating steps 521 and 522 of FIG. 5 .
- FIG. 8 is a diagram illustrating a CAL difference (dCAL) between memory devices, a RAS to CAS delay time (tRCD) and a row precharge time (tRP).
- dCAL a CAL difference between memory devices
- tRCD RAS to CAS delay time
- tRP row precharge time
- FIG. 9 is a block diagram illustrating a memory module in accordance with an embodiment of the present invention.
- FIG. 10 is a flowchart illustrating an operation of the memory module illustrated in FIG. 9 .
- FIG. 11 is a block diagram illustrating a memory module in accordance with another embodiment of the present invention.
- PDA Per DRAM Addressability
- CAL Command Address Latency
- FIG. 2 is a timing diagram illustrating an operation according to a mode register set (MRS) during the PDA mode in a memory device.
- MRS mode register set
- memory devices may be enabled to perform independent MRS operations.
- the validities of all MRS commands can be determined according to the signal level of a zeroth data pad DQ 0 .
- the signal level of the zeroth data pad DQ 0 is ‘0’ after the write latency WL, which is sum of the Additive Latency (AL) and the CAS Write Latency (CWL) from the time point at which a MRS command is applied
- the applied MRS set command may be determined to be valid.
- the signal level of the zeroth data pad DQ 0 is ‘1’ after the write latency WL from the time point at which the MRS command is applied, the applied MRS command may be determined to be invalid and then ignored.
- the MRS command MRS may be applied to a memory device at a time point 201 .
- the signal level of the zeroth data pad DQ 0 may transition to ‘0’ during a predetermined period.
- the MRS command MRS applied at the time point 201 may be determined to be valid, and a setting operation of the memory device using an address (not illustrated) inputted with the MRS command may be performed during a MRS command cycle time tMRD_PDA from a time point 203 .
- the MRS command MRS applied at the time point 201 may be determined to be invalid and ignored. That is, a setting operation of the memory device may not be performed.
- FIG. 3 is a diagram illustrating the CAL of the memory device.
- the CAL indicates a timing difference between a chip select signal and the other control signals of the control signals transmitted to the control bus CMD/ADDR_BUS.
- the memory device may take valid control signals, which are inputted the CAL after the enablement of the chip select signal CS.
- the value of the CAL may be set by the MRS.
- FIG. 3 illustrates an operation when the CAL is set to three clock cycles.
- the chip select signal CS may be low-enabled at time points 301 and 305 .
- the command CMD except for the chip select signal CS, and address ADDR may be applied to the memory device.
- the memory device may recognize that the command CMD and address ADDR applied at the time point 302 are valid.
- the command CMD and address ADD are applied to the memory device at the same time point as the time point 301 or at a time point where one or two clocks have elapsed from the time point 301 , the memory device may recognize that the command CMD and address ADD are invalid.
- the memory device may recognize that the command CMD and address ADDR applied at the time points 304 and 306 are valid.
- FIG. 4 is a block diagram illustrating a memory system in accordance with an embodiment of the present invention.
- the memory system may include a controller 400 , a first memory device 410 _ 0 , a second memory device 410 _ 1 , a control bus CMD/ADDR_BUS, and a data bus DATA_BUS.
- the control signals may be transmitted to the memory devices 410 _ 0 and 410 _ 1 from the controller 400 .
- the control signals may include the command CMD, an address ADDR, and a clock CK.
- the command CMD may include a plurality of signals.
- the command may include an active command ACT, a row address strobe signal RAS, a column address strobe signal CAS, and the chip select signal CS.
- the chip select signal CS is included in the command CMD, FIG. 4 separately illustrates the chip select signal CS in order to indicate that the memory devices 410 _ 0 and 410 _ 1 share the same chip select signal CS.
- the address ADDR may include a plurality of signals.
- the address ADDR may include a multi-bit bank group address, a multi-bit bank address, and a multi-bit normal address.
- the clock CK may be transmitted to the memory devices 410 _ 0 and 410 _ 1 from the controller 400 .
- the clock CK may be transmitted through a differential method including a main clock CK_t and a sub clock CK_c obtained by inverting the main clock CK_t.
- the data bus DATA_BUS may transfer multi-bit data DATA 0 to DATA 3 between the controller 400 and the memory devices 410 _ 0 and 410 _ 1 .
- Each of the memory devices 410 _ 0 and 410 _ 1 may include data pads DQ 0 to DQ 3 coupled to data lines DATA 0 to DATA 3 of the data bus DATA_BUS.
- the memory devices 410 _ 0 and 410 _ 1 may share the data bus DATA_BUS, but may be coupled to the data bus DATA_BUS with different data pads DQ 0 to DQ 3 .
- data pads DQ 0 among the data pads DQ 0 to DQ 3 of the memory devices 410 _ 0 and 410 _ 1 may be coupled to different data lines DATA 0 and DATA 1 , respectively.
- the specific data pad DQ 0 may be used to set latency for recognizing the control signals of the control bus CMD/ADDR_BUS.
- the controller 400 may control the memory devices 410 _ 0 and 410 _ 1 through the control bus CMD/ADDR_BUS, and exchange data with the memory devices 410 _ 0 and 410 _ 1 through the data bus DATA_BUS.
- the controller 400 may be included in a processor such as a Central Processing Unit (CPU), a Graphic Processing Unit (GPU), or an Application Processor (AP), or exist on a memory module such as a Dual In-line Memory Module (DIMM).
- the controller 400 may exist in various types.
- the controller 400 may exist on a separate chip in a system including a memory device (for example, a computing device or mobile phone).
- the controller 400 may set latencies having various values at which the memory devices 410 _ 0 and 410 _ 1 recognize signals on the control bus CMD/ADDR_BUS. Then, the controller 400 may access a desired memory device between the memory devices 410 _ 0 and 410 _ 1 using the latencies. This operation will be described in detail with reference to FIGS. 5 to 7 .
- the first and second memory devices 410 _ 0 and 410 _ 1 may share the control bus CMD/ADDR_BUS and the data bus DATA_BUS.
- the first and second memory devices 410 _ 0 and 410 _ 1 may also share the line for the chip select signal CS.
- the first and second memory devices 410 _ 0 and 410 _ 1 may have different latencies to control signals transmitted through the control bus CMD/ADDR_BUS.
- the latency may indicate a timing difference between the chip select signal CS and the other signals CMD and ADDR of signals of the control bus CMD/ADDR_BUS.
- the first and second memory devices 410 _ 0 and 410 _ 1 can be individually accessed by the controller 400 . This operation will be described in detail with reference to FIGS. 5 to 7 .
- separate signal transmission lines for each of the first and second memory devices 410 _ 0 and 410 _ 1 may not be allocated to the first and second memory devices 410 _ 0 and 410 _ 1 while the controller 400 can separately access the first and second memory devices 410 _ 0 and 410 _ 1 .
- this operation will be described.
- FIG. 5 is a flowchart illustrating the operation of the memory system described with reference to FIG. 4 .
- the operation of the memory system may include an operation 510 in which the controller 400 differently sets the latencies for the control signals transmitted through the control bus CMD/ADDR_BUS of the first and second memory devices 410 _ 0 and 410 _ 1 , and an operation 520 in which the controller 400 separately accesses the first and second memory devices 410 _ 0 and 410 _ 1 .
- the operation 510 may include steps 511 to 514
- the operation 520 may include steps 521 and 522 .
- the controller 400 may control the first and second memory devices 410 _ 0 and 410 _ 1 to enter the PDA mode by applying a command CMD corresponding to MRS and by applying an address ADDR corresponding to the entry of the PDA mode.
- the controller 400 may set the command address latency (CAL), which corresponds to the control bus CMD/ADDR_BUS of the first memory device 410 _ 0 , to ‘0’ for example by applying the command CMD corresponding to MRS, by applying the address ADDR corresponding to the CAL set to ‘0’, and by applying a signal of the zeroth data line DATA 0 corresponding to the zeroth data pad DQ 0 of the first memory device 410 _ 0 .
- the command/address CMD/ADDR for setting the CAL to a level of ‘0’ may be set at a time point 601 , and the data line DATA 0 may have a level of ‘0’ at a time point 602 where the write latency WL has elapsed from the time point 601 . Since the data line DATA 1 has a level of ‘1’ at the time point 602 , the second memory device 410 _ 1 may ignore the command applied at the time point 601 .
- the latency corresponding to the control bus CMD/ADDR_BUS of the second memory device 410 _ 1 may be set to ‘3’ by applying the command CMD corresponding to MRS, by applying the address ADDR corresponding to CAL set to ‘3’, and by and applying a signal of the first data line DATA 1 corresponding to the zeroth data pad DQ 0 of the second memory device 410 _ 1 .
- the command/address CMD/ADDR for setting the CAL to a level ‘3’ may be set at a time point 603 , and the data line DATA 1 may have a level of ‘0’ at a time point 604 where the write latency WL has elapsed from the time point 603 . Since the data line DATA 0 has a level of ‘1’ at the time point 604 , the first memory device 410 _ 0 may ignore the command applied at the time point 603 .
- the PDA mode may end at step 514 .
- the controller 400 may access the first memory device 410 _ 0 by applying the command/address CMD/ADDR at the enablement of the chip select signal CS at step 521 , and access the second memory device 410 _ 1 by applying the command/address CMD/ADDR after three clocks from the enablement of the chip select signal CS, at step 522 .
- FIG. 7 shows timing diagrams illustrating steps 521 and 522 described with reference to FIG. 5 .
- the first memory device 410 _ 0 may receive the commands applied at the time points 701 , 703 , 705 , 707 , 709 , and 711 , which is the same as the enablement time points of the chip select signal CS, and may start to operate.
- the second memory device 410 _ 1 may receive the commands applied at time points 702 , 704 , 706 , 708 , 710 , and 712 three clocks after the enablement time points of the chip select signal CS, and may start to operate.
- NOP represents a non-operation state in which no operation is ordered.
- the controller 400 may access one of the first and second memory devices 410 _ 0 and 410 _ 1 . However, at the time points 705 , 706 , 711 , and 712 , the controller 400 may access both of the first and second memory devices 410 _ 0 and 410 _ 1 by applying a valid command CMD at the enablement of the chip select signal CS and applying a valid command CMD at three clocks after the enablement of the chip select signal CS.
- the memory devices 410 _ 0 and 410 _ 1 may share the control bus CMD/ADDR_BUS and the data bus DAT_BUS, but have different latencies for the control bus CMD/ADDR_BUS. Furthermore, the controller 400 may access one of the memory devices 410 _ 0 and 410 _ 1 by changing latencies of signals applied to the control bus CMD/ADDR_BUS. Thus, any further lines need not be added in order to individually control the memory devices 410 _ 0 and 410 _ 1 .
- the controller 400 controls the memory devices 410 _ 0 and 410 _ 1 to have different latencies for the control bus CMD/ADDR_BUS, but this is only an example.
- the memory devices 410 _ 0 and 410 _ 1 may be programmed to permanently have different latencies. For example, when the memory devices 410 _ 0 and 410 _ 1 are fabricated, latencies for the control bus CMD/ADDR_BUS may be set. Alternatively, after the memory devices 410 _ 0 and 410 _ 1 are fabricated, latencies of the memory devices 410 _ 0 and 410 _ 1 for the control bus CMD/ADDR_BUS may be permanently set through a fuse circuit.
- a difference in the CAL between the memory devices 410 _ 0 and 410 _ 1 may be greater than or equal to a RAS to CAS delay time (tRCD). Furthermore, the difference in the CAL between the memory devices 410 _ 0 and 410 _ 1 may be less than a row precharge time (tRP). That is, the following relation may be established: CAL difference dCAL ⁇ tRCD and dCAL ⁇ tRP.
- FIG. 8 is a diagram illustrating the CAL difference (dCAL) between the first and second memory devices 410 _ 0 and 410 _ 1 , the RAS to CAS delay time (tRCD) and the row precharge time (tRP). In FIG.
- CAL difference (dCAL) of the memory device 410 _ 0 is set to 0
- CAL of the memory device 410 _ 1 is set to 3
- CAL difference (dCAL) is set to 3
- RAS to CAS delay time (tRCD) is set to 3
- tRP row precharge time
- the chip select signal CS may be enabled, and an active command ACT may be transferred through the command/address CMD/ADDR at a time point 801 . Then, the memory device 410 _ 0 may perform an active operation in response to the active command ACT at the time point 801 .
- the chip select signal CS may be enabled, and a read command RD may be transferred through the command/address CMD/ADDR. Then, the memory device 410 _ 0 may perform a read operation in response to the read command RD at the time point 802 . Furthermore, the memory device 410 _ 1 may recognize the read command RD of the command/address CMD/ADDR at the time point 802 , which is three clocks after the enablement time point 801 of the chip select signal CS. However, since the memory device 410 _ 1 has never performed the active operation, the memory device 410 _ 1 may void the read command RD ordered through the command/address CMD/ADDR without performing the read operation.
- the memory device 410 _ 1 may recognize the active command ACT ordered for the memory device 410 _ 0 . However, when the CAL difference dCAL is greater than or equal to the RAS to CAS delay time tRCD, such a malfunction may be prevented. Furthermore, the memory device 410 _ 1 may recognize the read command RD of the command/address CMD/ADDR at a time point 803 , which is three clocks after the enablement time point 802 of the chip select signal CS. However, since the memory device 410 _ 1 has never performed the active operation, the memory device 410 _ 1 may void the read command RD ordered through the command/address CMD/ADDR without performing the read operation.
- the chip select signal CS may be enabled, and the precharge command PCG may be ordered through the command/address CMD/ADDR. Then, the memory device 410 _ 0 may perform the precharge operation in response to the precharge command PCG at the time point 804 . Furthermore, the memory device 410 _ 1 may recognize the precharge command PCG of the command/address CMD/ADDR, and perform the precharge operation at a time point 805 , which is three clocks after the enablement time point 804 of the chip select signal CS. The precharge operation may be performed regardless of whether the previous active operation was performed. Thus, the memory device 410 _ 1 can also perform the precharge operation.
- the chip select signal CS may be enabled, and an active command ACT may be ordered through the command/address CMD/ADDR. Then, the memory device 410 _ 0 may perform an active operation in response to the active command ACT at the time point 806 .
- the CAL difference dCAL is set to be greater than tRP, a malfunction may occur.
- the memory device 410 _ 1 may perform an active operation in response to the active command ACT ordered through the command/address CMD/ADD from the time point 806 .
- the CAL difference dCAL is smaller than the row precharge time tRP, such a malfunction may be prevented.
- the chip select signal CS may be enabled, and a write command WT may be ordered through the command/address CMD/ADDR. Then, the memory device 410 _ 0 may perform a write operation in response to the write command WT at the time point 807 . Furthermore, the memory device 410 _ 1 may recognize the write command WT of the command/address CMD/ADDR at the time point 807 , which is three clocks after the enablement time point 806 of the chip select signal CS. However, since the memory device 410 _ 1 has never performed an active operation, the memory device 410 _ 1 may void the write command WT ordered through the command/address CMD/ADDR as illegal without performing the write operation.
- the memory device 410 _ 1 may recognize the write command WT of the command/address CMD/ADDR at a time point 808 , which is three clocks after the enablement time point 807 of the chip select signal CS. However, the memory device 410 _ 1 may void the write command WT ordered through the command/address CMD/ADDR without performing the write operation.
- the CALs of the memory devices 410 _ 0 and 410 _ 1 may be set to satisfy the relation of dCAL ⁇ tRCD and dCAL ⁇ tRP, which makes it possible to prevent malfunctions of the memory devices 410 _ 0 and 410 _ 1 .
- FIG. 9 is a block diagram illustrating a memory module 900 in accordance with an embodiment of the present invention.
- FIG. 9 illustrates an example in which the scheme for separately accessing memory devices sharing a data bus and a control bus by differently setting CALs of the memory devices is applied to the memory module 900 .
- FIG. 9 illustrates a memory controller 9 and an emergent power supply unit 10 in addition to the memory module 900 .
- the memory module 900 may include an NVDIMM (Non Volatile Dual In Line Memory Module).
- the NVDIMM may back up data of volatile memory devices when power of a host is unstable, thereby preventing data loss during power failure.
- the memory module 900 may include a plurality of first volatile memory devices 911 to 914 , a plurality of second volatile memory devices 921 to 924 , a nonvolatile memory device 930 , a controller 940 , a register 950 , a power fail detector 960 , a first data bus DATA_BUS 1 , a second data bus DATA_BUS 2 , a control bus CMD/ADDR_BUS, a plurality of third data buses DATA_BAS 3 _ 1 to DATA_BUS 3 _ 4 , and a plurality of fourth data buses DATA_BUS 4 _ 1 to DATA_BUS 4 _ 4 .
- the register 950 may buffer a command, address, and a clock provided from the memory controller 9 of the host through a host control bus HOST_CMD/ADDR_BUS, and provide the buffered command, address, and clock to the first volatile memory devices 911 to 914 and the second volatile memory devices 921 to 924 through the control bus CMD/ADDR_BUS.
- the first volatile memory devices 911 to 914 may exchange data with the memory controller 9 of the host through corresponding third data buses among the third data buses DATA_BUS 3 _ 1 to DATA_BUS 3 _ 4
- the second volatile memory devices 921 to 924 may exchange data with the memory controller 9 of the host through corresponding fourth data buses among the fourth data buses DATA_BUS 4 _ 1 to DATA_BUS 4 _ 4 .
- the first volatile memory devices 911 to 914 and the second volatile memory devices 921 to 924 may communicate with the memory controller 9 of the host through corresponding data buses among the third data buses DATA_BUS 3 _ 1 to DATA_BUS 3 _ 4 and the fourth data buses DATA_BUS 4 _ 1 to DATA_BUS 4 _ 4 .
- the power fail detector 960 may cut off the supply of the host power HOST_VDD and HOST_VSS, and operate the memory module 900 using emergent power EMG_VDD and MEG_VSS of the emergent power supply unit 10 .
- the emergent power supply unit 10 may be implemented with a capacitor having a large capacitance, for example, a super cap.
- the emergent power supply unit 10 may supply the emergent power EMG_VDD and EMG_VSS while data of the first volatile memory devices 911 to 914 and the second volatile memory devices 921 to 924 are backed up into the nonvolatile memory device 930 .
- FIG. 9 exemplarily illustrates that the emergent power supply unit 10 is provided outside the memory module 900 . However, the emergent power supply unit 10 may be provided in the memory module 900 .
- the power fail detector 960 may notify the controller 940 of the failure.
- the control for the first volatile memory devices 911 to 914 and the second volatile memory devices 921 to 924 may be switched to the controller 940 from the memory controller 9 of the host.
- the register 950 may buffer the command, address, and clock provided from the controller 940 in place of the memory controller 9 of the host, and may provide the buffered command, address, and clock to the first volatile memory devices 911 to 914 and the second volatile memory devices 921 to 924 through the control bus CMD/ADDR_BUS.
- the first volatile memory devices 911 to 914 may exchange data with the controller 940 through the first data bus DATA_BUS 1
- the second volatile memory devices 921 to 924 may exchange data with the controller 940 through the second data bus DATA_BUS 2
- the controller 940 may read the data of the first volatile memory devices 911 to 914 and the second volatile memory devices 921 to 924 through the control bus CMD/ADDR_BUS, the first data bus DATA_BUS 1 , and the second data bus DATA_BUS 2 , and back up the read data into the nonvolatile memory device 930 .
- the data of the first volatile memory devices 911 to 914 and the second volatile memory devices 921 to 924 may be transmitted to the first volatile memory devices 911 to 914 and the second volatile memory devices 921 to 924 after the host power HOST_VDD and HOST_VSS is restored.
- Such a restoration operation may be performed according to the control of the controller 940 .
- the control for the first volatile memory devices 911 to 914 and the second volatile memory devices 921 to 924 may be switched to the memory controller 9 of the host from the controller 940 .
- the controller 940 and the first volatile memory devices 911 to 914 there is provided only the control bus CMD/ADDR_BUS and the first data bus DATA_BUS 1 . That is, the first volatile memory devices 911 to 914 may share the same control bus and data bus for communication with the controller 940 .
- the controller 940 and the second volatile memory devices 921 to 924 there is provided only the control bus CMD/ADDR_BUS and the second data bus DATA_BUS 2 . That is, the second volatile memory devices 921 to 924 may share the same control bus and data bus for communication with the controller 940 .
- the controller 940 can independently access the first volatile memory devices 911 to 914 , and independently access the second volatile memory devices 921 to 924 . This operation will be described in detail with reference to FIG. 10 .
- the first volatile memory devices 911 to 914 and the second volatile memory devices 921 to 924 may include DRAM or different types of volatile memory devices.
- the nonvolatile memory device 930 may include NAND FLASH. However, the nonvolatile memory device 930 is not limited thereto, but may include all types of nonvolatile memory devices, for example, NOR FLASH, Resistive RAM (RRAM), Phase RAM (PRAM), Magnetic RAM (MRAM), or Spin Transfer Torque MRAM (STT-MRAM).
- the components within the memory module 900 illustrated in FIG. 9 may be integrated with each other or separated from each other.
- the controller 940 , the register 950 , and the power fail detector 960 may be implemented as a single chip or implemented as a plurality of chips.
- the number of first volatile memory devices 911 to 914 , second volatile memory devices 921 to 924 , and the nonvolatile memory device 930 included in the memory module 900 may vary.
- FIG. 10 is a flowchart illustrating the operation of the memory module 900 described with reference to FIG. 9 .
- the first volatile memory devices 911 to 914 and the second volatile memory devices 921 to 924 may communicate with the memory controller 9 of the host. Since the first volatile memory devices 911 to 914 and the second volatile memory devices 921 to 924 share the same control bus CMD/ADDR_BUS, the first volatile memory devices 911 to 914 and the second volatile memory devices 921 to 924 may perform the same operation.
- the memory controller 9 of the host can exchange different data with each of the volatile memory devices 911 to 914 and 921 to 924 .
- a trigger condition may be satisfied.
- the trigger condition may indicate a condition for backing up the data of the first volatile memory devices 911 to 914 and the second volatile memory devices 921 to 924 into the nonvolatile memory device 930 .
- the failure detection may satisfy the trigger condition.
- the backup operation command of the memory controller 9 of the host may satisfy the trigger condition.
- the control for the first volatile memory devices 911 to 914 and the second volatile memory devices 921 to 924 may be switched from the memory controller 9 of the host to the controller 940 .
- the power used by the memory module 900 may be switched from the host power HOST_VDD and HOST_VSS to the emergent power EMG_VDD and EMG_VSS supplied by the emergent power supply unit 10 .
- the data buses used by the first volatile memory devices 911 to 914 may be switched from the third data buses DATA_BUS 3 _ 1 to DATA_BUS 3 _ 4 to the first data bus DATA_BUS 1
- the data buses used by the second volatile memory devices 921 to 924 may be switched from the fourth data buses DATA_BUS 4 _ 1 to DATA_BUS 4 _ 4 to the second data bus DATA_BUS 2 .
- Each of the first volatile memory devices 911 to 914 and the second volatile memory devices 921 to 924 may include eight data pads DQ 0 to DQ 7 .
- four data pads DQ 0 to DQ 3 may be coupled to the first data bus DATA_BUS 1 and the second data bus DATA_BUS 2
- the other four data pads DQ 4 to DQ 7 may be coupled to the third data buses DATA_BUS 3 _ 1 to DATA_BUS 3 _ 4 and the fourth data buses DATA_BUS 4 _ 1 to DATA_BUS 4 _ 4
- the data buses used by the first volatile memory devices 911 to 914 and the second volatile memory devices 921 to 924 may be changed in response to a command of the controller 940 .
- the zeroth data pads DQ 0 of the first volatile memory devices 911 to 914 may be coupled to different data lines of the first data bus DATA_BUS 1
- the zeroth data pads DQ 0 of the second volatile memory devices 921 to 924 may be coupled to different data lines of the second data DATA_BUS 2 .
- the first volatile memory devices 911 to 914 may individually enter the PDA mode
- the second volatile memory devices 921 to 924 may individually enter the PDA mode.
- the data of the first volatile memory device 911 and the second volatile memory device 921 may be backed up into the nonvolatile memory device 930 .
- This operation may be performed as follows. First, the CAL of the first volatile memory group 911 and 921 may be set to a first value (for example, ‘0’), and the CAL of the other volatile memory devices 912 to 914 and 922 to 924 may be set to a second value (for example, ‘3’), which is different from the first value. Then, the controller 940 may read data from the first volatile memory group 911 and 921 using the CAL of the first value, and store the read data in the nonvolatile memory device 930 .
- a first value for example, ‘0’
- the controller 940 may read data from the first volatile memory group 911 and 921 using the CAL of the first value, and store the read data in the nonvolatile memory device 930 .
- the data of the first volatile memory device 912 and the second volatile memory device 922 may be backed up into the nonvolatile memory device 930 .
- This operation may be performed as follows. First, the CAL of the second volatile memory group 912 and 922 may be set to the first value (for example, ‘0’), and the CAL of the other volatile memory devices 911 , 913 , and 914 and 921 , 923 , and 924 may be set to the second value (for example, ‘3’). Then, the controller 940 may read data from the second volatile memory group 912 and 922 using the CAL of the first value, and store the read data in the nonvolatile memory device 930 .
- the data of the first volatile memory device 913 and the second volatile memory device 923 may be backed up into the nonvolatile memory device 930 .
- This operation may be performed as follows. First, the CAL of the third volatile memory group 913 and 923 may be set to the first value (for example, ‘0’), and the CAL of the other volatile memory devices 911 , 912 , and 914 and 921 , 922 , and 924 may be set to the second value (for example, ‘3’). Then, the controller 940 may read data from the third volatile memory group 913 and 923 using the CAL of the first value, and store the read data in the nonvolatile memory device 930 .
- the CAL of the third volatile memory group 913 and 923 may be set to the first value (for example, ‘0’)
- the CAL of the other volatile memory devices 911 , 912 , and 914 and 921 , 922 , and 924 may be set to the second value (for example, ‘3’).
- the data of the first volatile memory device 914 and the second volatile memory device 924 may be backed up into the nonvolatile memory device 930 .
- This operation may be performed as follows. First, the CAL of the fourth volatile memory group 914 and 924 may be set to the first value (for example, ‘0’), and the CAL of the other volatile memory devices 911 to 913 and 921 to 923 may be to the second value (for example, ‘3’). Then, the controller 940 may read data from the fourth volatile memory group 914 and 924 using the CAL of the first value, and store the read data in the nonvolatile memory device 930 . The backup operation may be completed by step S 1044 .
- the method in which the controller 940 sets the CALs of the first volatile memory devices 911 to 914 and the second volatile memory devices 921 to 924 in various manners and accesses only first and second volatile memory devices having specific CAL at steps S 1041 to S 1044 may be understood with reference to FIGS. 4 to 7 .
- the CAL difference dCAL between the first and second values of CAL may be set to satisfy the relation of dCAL ⁇ tRCD and dCAL ⁇ tRP.
- the restoration condition may indicate a condition for restoring the data, which is backed up in the nonvolatile memory device 930 , to the first volatile memory devices 911 to 914 and the second volatile memory devices 921 to 924 .
- the restoration condition may indicate a condition for restoring the data, which is backed up in the nonvolatile memory device 930 , to the first volatile memory devices 911 to 914 and the second volatile memory devices 921 to 924 .
- the restoration operation when the restoration operation is performed in response to a command of the memory controller 9 of the host, the restoration operation command of the memory controller 9 of the host may satisfy the restoration condition. Since the host power HOST_VDD and HOST_VSS is normally restored, the following restoration operation may be performed using the host power HOST_VDD and HOST_VSS.
- the data of the first volatile memory group 911 and 921 may be restored.
- This operation may be performed as follows. First, the CAL of the first volatile memory group 911 and 921 may be set to a third value (for example, ‘0’), and the CAL of the other volatile memory devices 912 to 914 and 922 to 924 may be set to a fourth value (for example, ‘3’), which is different from the third value. Then, the controller 940 may read data from the nonvolatile memory device 930 , and write the read data to the first volatile memory group 911 and 921 .
- a third value for example, ‘0’
- the controller 940 may read data from the nonvolatile memory device 930 , and write the read data to the first volatile memory group 911 and 921 .
- the data of the second volatile memory group 912 and 922 may be restored.
- This operation may be performed as follows. First, the CAL of the first volatile memory group 912 and 922 may be set to the third value, and the CAL of the other volatile memory devices 911 , 913 , and 914 and 921 , 923 , and 924 may be set to the fourth value. Then, the controller 940 may read data from the nonvolatile memory device 930 , and write the read data to the second volatile memory group 912 and 922 .
- the data of the third volatile memory group 913 and 923 may be restored.
- This operation may be performed as follows. First, the CAL of the third volatile memory group 913 and 923 may be set to the third value, and the CAL of the other volatile memory devices 911 , 912 , and 914 and 921 , 922 , and 924 may be set to the fourth value. Then, the controller 940 may read data from the nonvolatile memory device 930 , and write the read data to the third volatile memory group 913 and 923 .
- step S 1064 the data of the fourth volatile memory group 914 and 924 may be restored.
- This operation may be performed as follows. First, the CAL of the fourth volatile memory group 914 and 924 may be set to the third value, and the CAL of the other volatile memory devices 911 to 913 and 921 to 923 may be set to the fourth value. Then, the controller 940 may read data from the nonvolatile memory device 930 , and write the read data to the fourth volatile memory group 914 and 924 .
- the restoration operation may be completed by step S 1064 .
- the control for the first volatile memory devices 911 to 914 and the second volatile memory devices 921 to 924 may be switched from the controller 940 to the memory controller 9 of the host, at step S 1070 .
- the data bus used by the first volatile memory devices 911 to 914 may be switched from the first data bus DATA_BUS 1 to the third data buses DATA_BUS 3 _ 1 to DATA_BUS 3 _ 4
- the data bus used by the second volatile memory devices 921 to 924 may be switched from the second data bus DATA_BUS 2 to the fourth data buses DATA_BUS 4 _ 1 to DATA_BUS 4 _ 4 .
- the first volatile memory devices 911 to 914 may share the control bus CMD/ADDR_BUS and the first data bus DATA_BUS 1 for communication with the controller 940 .
- the controller 940 may separately access the first volatile memory devices 911 to 914 in order to back up or restore data.
- the second volatile memory devices 921 to 924 may share the control bus CMD/ADDR_BUS and the second data bus DATA_BUS 2 for communication with the controller 940 .
- the controller 940 may separately access the second volatile memory devices 921 to 924 in order to back up or restore data.
- FIG. 11 is a block diagram illustrating the memory module 900 in accordance with another embodiment of the present invention.
- the memory module 900 shown in FIG. 11 may be substantially the same as the memory module 900 described with reference to FIG. 9 except that the memory module shown in FIG. 11 may further include multiplexers 1101 to 1108 , and four data pads DQ 0 to DQ 3 may be used in the first volatile memory devices 911 to 914 and the second volatile memory devices 921 to 924 .
- the data pads DQ 0 to DQ 3 of the first volatile memory devices 911 to 914 may be coupled to the third data buses DATA_BUS 3 _ 1 to DATA_BUS 3 _ 4 by the multiplexers 1101 to 1104 .
- the data pads DQ 0 to DQ 3 of the first volatile memory devices 911 to 914 may be coupled to the first data bus DATA_BUS 1 by the multiplexers 1101 to 1104 .
- the data pads DQ 0 to DQ 3 of the second volatile memory devices 921 to 924 may be coupled to the fourth data buses DATA_BUS 4 _ 1 to DATA_BUS 4 _ 4 by the multiplexers 1105 to 1108 .
- the data pads DQ 0 to DQ 3 of the second volatile memory devices 921 to 924 may be coupled to the second data bus DATA_BUS 2 by the multiplexers 1105 to 1108 .
- the controller can separately access the memory devices.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Memory System (AREA)
- Dram (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Description
- The present application claims priority of Korean Patent Application No. 10-2015-0052427, filed on Apr. 14, 2015, which is incorporated herein by reference in its entirety.
- 1. Field
- This patent document relates to a memory system and a memory module.
- 2. Description of the Related Art
- In most cases, a single controller is used to control multiple memory devices.
- As illustrated in
FIG. 1A , when a control bus CMD/ADDR_BUS0 and adata bus DATA_BUS 0 between acontroller 100 and a memory device 110_0 are separated from a control bus CMD/ADD_BUS1 and a data bus DATA_BUS1 between thecontroller 100 and a memory device 110_1, thecontroller 100 can separately control the memory devices 110_0 and 110_1. A command and address are transmitted through the control bus. For example, while the memory device 110_0 performs a read operation, the memory device 110_1 may perform a write operation. - As illustrated in
FIG. 1B , when a control bus CMD/ADDR_BUS and a data bus DATA_BUS are shared by the memory devices 110_0 and 110_1, lines for transmitting signals CS0 and CS1 for distinguishing between the memory devices 110_0 and 110_1 are provided. The lines for transmitting the signals CS0 and CS1 among signals of the control bus CMD/ADDR_BUS are separately provided for the respective memory devices 110_0 and 110_1. In this case, a memory device selected by the signals CS0 and CS1 between the memory devices 110_0 and 110_1 may perform an operation in response to the command transferred through the control bus CMD/ADDR_BUS, and exchange signals with thecontroller 100 through the data bus DATA_BUS. The signals CS0 and CS1 are command signals transmitted to the control bus CMD/ADD_BUS, but are independently allocated to the memory devices 110_0 and 110_1 unlike the other common command signals transmitted through the control bus CMD/ADDR_BUS. Thus, the signals CS0 and CS1 are separately illustrated inFIG. 1B . - As the number of memory devices coupled to the controller increases, the number of lines required increases. This lead to increase difficulties in system design as well as increased manufacturing costs.
- Various embodiments are directed to a memory system which includes a controller capable of separately accessing memory devices, while reducing the number of lines between the controller and memory devices.
- In an embodiment, a memory system may include: a data bus suitable for transferring data; a control bus suitable for transferring commands and addresses including a command address latency (CAL); first and second memory devices commonly coupled to the data bus and the control bus; and a controller suitable for controlling the first and second memory devices through the data bus and the control bus, wherein the first and second memory devices have different values of the CAL, and wherein a difference of the CAL values is greater than or equal to a RAS to CAS delay time (tRCD).
- The difference of the CAL values is smaller than a row precharge time (tRP).
- In an embodiment, a memory module may include: a first data bus suitable for transferring data; a control bus suitable for transferring commands and addresses including a command address latency (CAL); a plurality of first volatile memory devices commonly coupled to the first data bus and the control bus; one or more nonvolatile memory devices; and a controller suitable for providing the commands and addresses through the control bus and the first data bus to store data of the plurality of first volatile memory devices into the nonvolatile memory devices when a trigger condition is satisfied, wherein when the trigger condition is satisfied, the controller controls a specific one of the plurality of first volatile memory devices to have the CAL of a first value, and the others of the plurality of first volatile memory devices to have the CAL of a second value.
- The commands and addresses may include the CLA of the first value when the controller accesses the specific one of the plurality first volatile memory devices.
- The memory system may further include: a second data bus suitable for transferring data; and a plurality of second nonvolatile memory devices commonly coupled to the second data bus and the control bus, wherein the controller further provides the command and address through the control bus and the second data bus to store data of the plurality of second volatile memory devices into the nonvolatile memory devices, when the trigger condition is satisfied, and wherein when the trigger condition is satisfied, the controller controls a specific one of the plurality of second volatile memory devices to have the CAL of the first value, and the others of the plurality of second volatile memory devices to have the CAL of a second value.
- The command and address may include the CAL of the first value when the controller accesses the specific one of the plurality of second volatile memory devices.
- In an embodiment, there is provided an operation method of a memory module including first to Nth volatile memory groups, each of which includes one or more volatile memory devices, one or more nonvolatile memory devices, and a controller. The operation method may include: exchanging data between the first to Nth volatile memory groups and a memory controller of a host; controlling, by the controller, a specific one of the first to Nth volatile memory groups to have a command address latency (CAL) of a first value, and the others of the first to Nth volatile memory groups to have the CAL of a second value when a trigger condition is satisfied; and providing commands and addresses including the CAL of the first value to store data of the specific one of the first to Nth volatile memory groups into the nonvolatile memory devices when the trigger condition is satisfied.
- The operation method may further include: controlling, by the controller, the specific one of the first to Nth volatile memory groups to have the CAL of a third value, and the others of the first to Nth volatile memory groups to have the CAL of a fourth value when a restoration condition is satisfied; and providing commands and addresses including the CAL of the third value to restore data of the nonvolatile memory devices into the specific one of the first to Nth volatile memory groups when the restoration condition is satisfied.
-
FIG. 1 is a diagram illustrating bus coupling between a controller and memory devices in a conventional memory system. -
FIG. 2 is a timing diagram illustrating an operation according to a MRS during a PDA mode in a memory device. -
FIG. 3 is a diagram illustrating command address latency CAL of a memory device. -
FIG. 4 is a block diagram illustrating a memory system in accordance with an embodiment of the present invention. -
FIG. 5 is a flowchart illustrating an operation of the memory system ofFIG. 4 . -
FIG. 6 is a timing diagramillustrating steps FIG. 5 . -
FIG. 7 is timing diagramsillustrating steps FIG. 5 . -
FIG. 8 is a diagram illustrating a CAL difference (dCAL) between memory devices, a RAS to CAS delay time (tRCD) and a row precharge time (tRP). -
FIG. 9 is a block diagram illustrating a memory module in accordance with an embodiment of the present invention. -
FIG. 10 is a flowchart illustrating an operation of the memory module illustrated inFIG. 9 . -
FIG. 11 is a block diagram illustrating a memory module in accordance with another embodiment of the present invention. - Various embodiments will be described below in more detail with reference to the accompanying drawings. The present invention may, however, be embodied in different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the present invention to those skilled in the art. Throughout the disclosure, like reference numerals refer to like parts throughout the various figures and embodiments of the present invention.
- Before embodiments of the present invention are described, a Per DRAM Addressability (PDA) mode and Command Address Latency (CAL) of a memory device will be described as follows.
-
FIG. 2 is a timing diagram illustrating an operation according to a mode register set (MRS) during the PDA mode in a memory device. - During the PDA mode, memory devices may be enabled to perform independent MRS operations. When the PDA mode is set, the validities of all MRS commands can be determined according to the signal level of a zeroth data pad DQ0. When the signal level of the zeroth data pad DQ0 is ‘0’ after the write latency WL, which is sum of the Additive Latency (AL) and the CAS Write Latency (CWL) from the time point at which a MRS command is applied, the applied MRS set command may be determined to be valid. When the signal level of the zeroth data pad DQ0 is ‘1’ after the write latency WL from the time point at which the MRS command is applied, the applied MRS command may be determined to be invalid and then ignored.
- Referring to
FIG. 2 , the MRS command MRS may be applied to a memory device at atime point 201. At atime point 202 or the write latency (WL=AL+CWL) after thetime point 201, the signal level of the zeroth data pad DQ0 may transition to ‘0’ during a predetermined period. Thus, the MRS command MRS applied at thetime point 201 may be determined to be valid, and a setting operation of the memory device using an address (not illustrated) inputted with the MRS command may be performed during a MRS command cycle time tMRD_PDA from atime point 203. - When the signal level of the zeroth data pad DQ0 is continuously retained as ‘1’ at the
time point 202, the MRS command MRS applied at thetime point 201 may be determined to be invalid and ignored. That is, a setting operation of the memory device may not be performed. -
FIG. 3 is a diagram illustrating the CAL of the memory device. - The CAL indicates a timing difference between a chip select signal and the other control signals of the control signals transmitted to the control bus CMD/ADDR_BUS. When the CAL is set, the memory device may take valid control signals, which are inputted the CAL after the enablement of the chip select signal CS. The value of the CAL may be set by the MRS.
-
FIG. 3 illustrates an operation when the CAL is set to three clock cycles. The chip select signal CS may be low-enabled attime points time point 302 where three clocks have elapsed from thetime point 301, the command CMD, except for the chip select signal CS, and address ADDR may be applied to the memory device. Then, the memory device may recognize that the command CMD and address ADDR applied at thetime point 302 are valid. Although the command CMD and address ADD are applied to the memory device at the same time point as thetime point 301 or at a time point where one or two clocks have elapsed from thetime point 301, the memory device may recognize that the command CMD and address ADD are invalid. - Since the command CMD and address ADDR are applied at
time points -
FIG. 4 is a block diagram illustrating a memory system in accordance with an embodiment of the present invention. - Referring to
FIG. 4 , the memory system may include acontroller 400, a first memory device 410_0, a second memory device 410_1, a control bus CMD/ADDR_BUS, and a data bus DATA_BUS. - Through the control bus CMD/ADDR_BUS, the control signals may be transmitted to the memory devices 410_0 and 410_1 from the
controller 400. The control signals may include the command CMD, an address ADDR, and a clock CK. The command CMD may include a plurality of signals. For example, the command may include an active command ACT, a row address strobe signal RAS, a column address strobe signal CAS, and the chip select signal CS. Although the chip select signal CS is included in the command CMD,FIG. 4 separately illustrates the chip select signal CS in order to indicate that the memory devices 410_0 and 410_1 share the same chip select signal CS. The address ADDR may include a plurality of signals. For example, the address ADDR may include a multi-bit bank group address, a multi-bit bank address, and a multi-bit normal address. For a synchronized operation of the memory devices, the clock CK may be transmitted to the memory devices 410_0 and 410_1 from thecontroller 400. The clock CK may be transmitted through a differential method including a main clock CK_t and a sub clock CK_c obtained by inverting the main clock CK_t. - The data bus DATA_BUS may transfer multi-bit data DATA0 to DATA3 between the
controller 400 and the memory devices 410_0 and 410_1. Each of the memory devices 410_0 and 410_1 may include data pads DQ0 to DQ3 coupled to data lines DATA0 to DATA3 of the data bus DATA_BUS. The memory devices 410_0 and 410_1 may share the data bus DATA_BUS, but may be coupled to the data bus DATA_BUS with different data pads DQ0 to DQ3. For example, data pads DQ0 among the data pads DQ0 to DQ3 of the memory devices 410_0 and 410_1 may be coupled to different data lines DATA0 and DATA1, respectively. The specific data pad DQ0 may be used to set latency for recognizing the control signals of the control bus CMD/ADDR_BUS. - The
controller 400 may control the memory devices 410_0 and 410_1 through the control bus CMD/ADDR_BUS, and exchange data with the memory devices 410_0 and 410_1 through the data bus DATA_BUS. Thecontroller 400 may be included in a processor such as a Central Processing Unit (CPU), a Graphic Processing Unit (GPU), or an Application Processor (AP), or exist on a memory module such as a Dual In-line Memory Module (DIMM). Furthermore, thecontroller 400 may exist in various types. For example, thecontroller 400 may exist on a separate chip in a system including a memory device (for example, a computing device or mobile phone). Thecontroller 400 may set latencies having various values at which the memory devices 410_0 and 410_1 recognize signals on the control bus CMD/ADDR_BUS. Then, thecontroller 400 may access a desired memory device between the memory devices 410_0 and 410_1 using the latencies. This operation will be described in detail with reference toFIGS. 5 to 7 . - The first and second memory devices 410_0 and 410_1 may share the control bus CMD/ADDR_BUS and the data bus DATA_BUS. The first and second memory devices 410_0 and 410_1 may also share the line for the chip select signal CS. The first and second memory devices 410_0 and 410_1 may have different latencies to control signals transmitted through the control bus CMD/ADDR_BUS. The latency may indicate a timing difference between the chip select signal CS and the other signals CMD and ADDR of signals of the control bus CMD/ADDR_BUS. As different latencies are set for the control bus CMD/ADDR, the first and second memory devices 410_0 and 410_1 can be individually accessed by the
controller 400. This operation will be described in detail with reference toFIGS. 5 to 7 . - As illustrated in
FIG. 4 , separate signal transmission lines for each of the first and second memory devices 410_0 and 410_1 may not be allocated to the first and second memory devices 410_0 and 410_1 while thecontroller 400 can separately access the first and second memory devices 410_0 and 410_1. Hereafter, this operation will be described. -
FIG. 5 is a flowchart illustrating the operation of the memory system described with reference toFIG. 4 . - Referring to
FIG. 5 , the operation of the memory system may include anoperation 510 in which thecontroller 400 differently sets the latencies for the control signals transmitted through the control bus CMD/ADDR_BUS of the first and second memory devices 410_0 and 410_1, and anoperation 520 in which thecontroller 400 separately accesses the first and second memory devices 410_0 and 410_1. Theoperation 510 may includesteps 511 to 514, and theoperation 520 may includesteps - At
step 511, thecontroller 400 may control the first and second memory devices 410_0 and 410_1 to enter the PDA mode by applying a command CMD corresponding to MRS and by applying an address ADDR corresponding to the entry of the PDA mode. - At
step 512, thecontroller 400 may set the command address latency (CAL), which corresponds to the control bus CMD/ADDR_BUS of the first memory device 410_0, to ‘0’ for example by applying the command CMD corresponding to MRS, by applying the address ADDR corresponding to the CAL set to ‘0’, and by applying a signal of the zeroth data line DATA0 corresponding to the zeroth data pad DQ0 of the first memory device 410_0. The signal of the zeroth data line DATA0 may have a level of ‘0’ the write latency (WL=AL+CWL) after the time point at which the command CMD is applied. Referring toFIG. 6 , the command/address CMD/ADDR for setting the CAL to a level of ‘0’ may be set at atime point 601, and the data line DATA0 may have a level of ‘0’ at atime point 602 where the write latency WL has elapsed from thetime point 601. Since the data line DATA1 has a level of ‘1’ at thetime point 602, the second memory device 410_1 may ignore the command applied at thetime point 601. - At
step 513, the latency corresponding to the control bus CMD/ADDR_BUS of the second memory device 410_1, that is, the CAL may be set to ‘3’ by applying the command CMD corresponding to MRS, by applying the address ADDR corresponding to CAL set to ‘3’, and by and applying a signal of the first data line DATA1 corresponding to the zeroth data pad DQ0 of the second memory device 410_1. The signal of the first data line DATA1 may have a level of ‘0’ the write latency (WL=AL+CWL) after the time point at which the command CMD is applied. Referring toFIG. 6 , the command/address CMD/ADDR for setting the CAL to a level ‘3’ may be set at atime point 603, and the data line DATA1 may have a level of ‘0’ at atime point 604 where the write latency WL has elapsed from thetime point 603. Since the data line DATA0 has a level of ‘1’ at thetime point 604, the first memory device 410_0 may ignore the command applied at thetime point 603. When the latency settings of the memory devices 410_0 and 410_1 are completed, the PDA mode may end atstep 514. - Since the CALs of the first and second memory devices 410_0 and 410_1 are differently set, the
controller 400 may access the first memory device 410_0 by applying the command/address CMD/ADDR at the enablement of the chip select signal CS atstep 521, and access the second memory device 410_1 by applying the command/address CMD/ADDR after three clocks from the enablement of the chip select signal CS, atstep 522. -
FIG. 7 shows timingdiagrams illustrating steps FIG. 5 . Referring toFIG. 7 , the first memory device 410_0 may receive the commands applied at the time points 701, 703, 705, 707, 709, and 711, which is the same as the enablement time points of the chip select signal CS, and may start to operate. Furthermore, the second memory device 410_1 may receive the commands applied attime points FIG. 7 , NOP represents a non-operation state in which no operation is ordered. At the time points 701, 702, 703, 704, 707, 708, 709, and 710, thecontroller 400 may access one of the first and second memory devices 410_0 and 410_1. However, at the time points 705, 706, 711, and 712, thecontroller 400 may access both of the first and second memory devices 410_0 and 410_1 by applying a valid command CMD at the enablement of the chip select signal CS and applying a valid command CMD at three clocks after the enablement of the chip select signal CS. - In accordance with the embodiment, the memory devices 410_0 and 410_1 may share the control bus CMD/ADDR_BUS and the data bus DAT_BUS, but have different latencies for the control bus CMD/ADDR_BUS. Furthermore, the
controller 400 may access one of the memory devices 410_0 and 410_1 by changing latencies of signals applied to the control bus CMD/ADDR_BUS. Thus, any further lines need not be added in order to individually control the memory devices 410_0 and 410_1. - In the above-described embodiment, it has been described that the
controller 400 controls the memory devices 410_0 and 410_1 to have different latencies for the control bus CMD/ADDR_BUS, but this is only an example. The memory devices 410_0 and 410_1 may be programmed to permanently have different latencies. For example, when the memory devices 410_0 and 410_1 are fabricated, latencies for the control bus CMD/ADDR_BUS may be set. Alternatively, after the memory devices 410_0 and 410_1 are fabricated, latencies of the memory devices 410_0 and 410_1 for the control bus CMD/ADDR_BUS may be permanently set through a fuse circuit. - A difference in the CAL between the memory devices 410_0 and 410_1 may be greater than or equal to a RAS to CAS delay time (tRCD). Furthermore, the difference in the CAL between the memory devices 410_0 and 410_1 may be less than a row precharge time (tRP). That is, the following relation may be established: CAL difference dCAL≧tRCD and dCAL<tRP.
FIG. 8 is a diagram illustrating the CAL difference (dCAL) between the first and second memory devices 410_0 and 410_1, the RAS to CAS delay time (tRCD) and the row precharge time (tRP). InFIG. 8 , suppose that the CAL difference (dCAL) of the memory device 410_0 is set to 0, the CAL of the memory device 410_1 is set to 3, CAL difference (dCAL) is set to 3, the RAS to CAS delay time (tRCD) is set to 3, and the row precharge time (tRP) is set to 4. - Referring to
FIG. 8 , the chip select signal CS may be enabled, and an active command ACT may be transferred through the command/address CMD/ADDR at atime point 801. Then, the memory device 410_0 may perform an active operation in response to the active command ACT at thetime point 801. - At a
time point 802, the chip select signal CS may be enabled, and a read command RD may be transferred through the command/address CMD/ADDR. Then, the memory device 410_0 may perform a read operation in response to the read command RD at thetime point 802. Furthermore, the memory device 410_1 may recognize the read command RD of the command/address CMD/ADDR at thetime point 802, which is three clocks after theenablement time point 801 of the chip select signal CS. However, since the memory device 410_1 has never performed the active operation, the memory device 410_1 may void the read command RD ordered through the command/address CMD/ADDR without performing the read operation. When the CAL different dCAL is smaller than the RAS to CAS delay time tRCD, a malfunction may occur. For example, the memory device 410_1 may recognize the active command ACT ordered for the memory device 410_0. However, when the CAL difference dCAL is greater than or equal to the RAS to CAS delay time tRCD, such a malfunction may be prevented. Furthermore, the memory device 410_1 may recognize the read command RD of the command/address CMD/ADDR at atime point 803, which is three clocks after theenablement time point 802 of the chip select signal CS. However, since the memory device 410_1 has never performed the active operation, the memory device 410_1 may void the read command RD ordered through the command/address CMD/ADDR without performing the read operation. - At a
time point 804, the chip select signal CS may be enabled, and the precharge command PCG may be ordered through the command/address CMD/ADDR. Then, the memory device 410_0 may perform the precharge operation in response to the precharge command PCG at thetime point 804. Furthermore, the memory device 410_1 may recognize the precharge command PCG of the command/address CMD/ADDR, and perform the precharge operation at atime point 805, which is three clocks after theenablement time point 804 of the chip select signal CS. The precharge operation may be performed regardless of whether the previous active operation was performed. Thus, the memory device 410_1 can also perform the precharge operation. - At a
time point 806, the chip select signal CS may be enabled, and an active command ACT may be ordered through the command/address CMD/ADDR. Then, the memory device 410_0 may perform an active operation in response to the active command ACT at thetime point 806. When the CAL difference dCAL is set to be greater than tRP, a malfunction may occur. For example, the memory device 410_1 may perform an active operation in response to the active command ACT ordered through the command/address CMD/ADD from thetime point 806. However, since the CAL difference dCAL is smaller than the row precharge time tRP, such a malfunction may be prevented. - At a
time point 807, the chip select signal CS may be enabled, and a write command WT may be ordered through the command/address CMD/ADDR. Then, the memory device 410_0 may perform a write operation in response to the write command WT at thetime point 807. Furthermore, the memory device 410_1 may recognize the write command WT of the command/address CMD/ADDR at thetime point 807, which is three clocks after theenablement time point 806 of the chip select signal CS. However, since the memory device 410_1 has never performed an active operation, the memory device 410_1 may void the write command WT ordered through the command/address CMD/ADDR as illegal without performing the write operation. Furthermore, the memory device 410_1 may recognize the write command WT of the command/address CMD/ADDR at atime point 808, which is three clocks after theenablement time point 807 of the chip select signal CS. However, the memory device 410_1 may void the write command WT ordered through the command/address CMD/ADDR without performing the write operation. - As described with reference to
FIG. 8 , the CALs of the memory devices 410_0 and 410_1 may be set to satisfy the relation of dCAL≧tRCD and dCAL<tRP, which makes it possible to prevent malfunctions of the memory devices 410_0 and 410_1. -
FIG. 9 is a block diagram illustrating amemory module 900 in accordance with an embodiment of the present invention.FIG. 9 illustrates an example in which the scheme for separately accessing memory devices sharing a data bus and a control bus by differently setting CALs of the memory devices is applied to thememory module 900.FIG. 9 illustrates amemory controller 9 and an emergentpower supply unit 10 in addition to thememory module 900. Thememory module 900 may include an NVDIMM (Non Volatile Dual In Line Memory Module). The NVDIMM may back up data of volatile memory devices when power of a host is unstable, thereby preventing data loss during power failure. - Referring to
FIG. 9 , thememory module 900 may include a plurality of firstvolatile memory devices 911 to 914, a plurality of secondvolatile memory devices 921 to 924, anonvolatile memory device 930, acontroller 940, aregister 950, apower fail detector 960, a first data bus DATA_BUS1, a second data bus DATA_BUS2, a control bus CMD/ADDR_BUS, a plurality of third data buses DATA_BAS3_1 to DATA_BUS3_4, and a plurality of fourth data buses DATA_BUS4_1 to DATA_BUS4_4. - When host power HOST_VDD and HOST_VSS is normal, the
register 950 may buffer a command, address, and a clock provided from thememory controller 9 of the host through a host control bus HOST_CMD/ADDR_BUS, and provide the buffered command, address, and clock to the firstvolatile memory devices 911 to 914 and the secondvolatile memory devices 921 to 924 through the control bus CMD/ADDR_BUS. When the host power HOST_VDD and HOST_VSS is normal, the firstvolatile memory devices 911 to 914 may exchange data with thememory controller 9 of the host through corresponding third data buses among the third data buses DATA_BUS3_1 to DATA_BUS3_4, and the secondvolatile memory devices 921 to 924 may exchange data with thememory controller 9 of the host through corresponding fourth data buses among the fourth data buses DATA_BUS4_1 to DATA_BUS4_4. That is, when the host power HOST_VDD and HOST_VSS is normal, the firstvolatile memory devices 911 to 914 and the secondvolatile memory devices 921 to 924 may communicate with thememory controller 9 of the host through corresponding data buses among the third data buses DATA_BUS3_1 to DATA_BUS3_4 and the fourth data buses DATA_BUS4_1 to DATA_BUS4_4. - When detecting a failure of the host power HOST_VDD and HOST_VSS or it is detected that the levels of voltages forming the host power HOST_VDD and HOST_VSS are destabilized, the
power fail detector 960 may cut off the supply of the host power HOST_VDD and HOST_VSS, and operate thememory module 900 using emergent power EMG_VDD and MEG_VSS of the emergentpower supply unit 10. The emergentpower supply unit 10 may be implemented with a capacitor having a large capacitance, for example, a super cap. The emergentpower supply unit 10 may supply the emergent power EMG_VDD and EMG_VSS while data of the firstvolatile memory devices 911 to 914 and the secondvolatile memory devices 921 to 924 are backed up into thenonvolatile memory device 930.FIG. 9 exemplarily illustrates that the emergentpower supply unit 10 is provided outside thememory module 900. However, the emergentpower supply unit 10 may be provided in thememory module 900. When detecting a failure of the host power HOST_VDD and HOST_VSS, thepower fail detector 960 may notify thecontroller 940 of the failure. - When the failure of the host power HOST_VDD and HOST_VSS is notified from the
power fail detector 960, the control for the firstvolatile memory devices 911 to 914 and the secondvolatile memory devices 921 to 924 may be switched to thecontroller 940 from thememory controller 9 of the host. Theregister 950 may buffer the command, address, and clock provided from thecontroller 940 in place of thememory controller 9 of the host, and may provide the buffered command, address, and clock to the firstvolatile memory devices 911 to 914 and the secondvolatile memory devices 921 to 924 through the control bus CMD/ADDR_BUS. The firstvolatile memory devices 911 to 914 may exchange data with thecontroller 940 through the first data bus DATA_BUS1, and the secondvolatile memory devices 921 to 924 may exchange data with thecontroller 940 through the second data bus DATA_BUS2. Thecontroller 940 may read the data of the firstvolatile memory devices 911 to 914 and the secondvolatile memory devices 921 to 924 through the control bus CMD/ADDR_BUS, the first data bus DATA_BUS1, and the second data bus DATA_BUS2, and back up the read data into thenonvolatile memory device 930. - The data of the first
volatile memory devices 911 to 914 and the secondvolatile memory devices 921 to 924, which are backed up into thenonvolatile memory device 930 when a failure of the host power HOST_ADD and HOST_VSS occurs, may be transmitted to the firstvolatile memory devices 911 to 914 and the secondvolatile memory devices 921 to 924 after the host power HOST_VDD and HOST_VSS is restored. Such a restoration operation may be performed according to the control of thecontroller 940. After the restoration operation is completed, the control for the firstvolatile memory devices 911 to 914 and the secondvolatile memory devices 921 to 924 may be switched to thememory controller 9 of the host from thecontroller 940. - Between the
controller 940 and the firstvolatile memory devices 911 to 914, there is provided only the control bus CMD/ADDR_BUS and the first data bus DATA_BUS1. That is, the firstvolatile memory devices 911 to 914 may share the same control bus and data bus for communication with thecontroller 940. Similarly, between thecontroller 940 and the secondvolatile memory devices 921 to 924, there is provided only the control bus CMD/ADDR_BUS and the second data bus DATA_BUS2. That is, the secondvolatile memory devices 921 to 924 may share the same control bus and data bus for communication with thecontroller 940. However, thecontroller 940 can independently access the firstvolatile memory devices 911 to 914, and independently access the secondvolatile memory devices 921 to 924. This operation will be described in detail with reference toFIG. 10 . - The first
volatile memory devices 911 to 914 and the secondvolatile memory devices 921 to 924 may include DRAM or different types of volatile memory devices. Thenonvolatile memory device 930 may include NAND FLASH. However, thenonvolatile memory device 930 is not limited thereto, but may include all types of nonvolatile memory devices, for example, NOR FLASH, Resistive RAM (RRAM), Phase RAM (PRAM), Magnetic RAM (MRAM), or Spin Transfer Torque MRAM (STT-MRAM). - The components within the
memory module 900 illustrated inFIG. 9 may be integrated with each other or separated from each other. For example, thecontroller 940, theregister 950, and thepower fail detector 960 may be implemented as a single chip or implemented as a plurality of chips. The number of firstvolatile memory devices 911 to 914, secondvolatile memory devices 921 to 924, and thenonvolatile memory device 930 included in thememory module 900 may vary. -
FIG. 10 is a flowchart illustrating the operation of thememory module 900 described with reference toFIG. 9 . - Referring to
FIG. 10 , at step S1010, the firstvolatile memory devices 911 to 914 and the secondvolatile memory devices 921 to 924 may communicate with thememory controller 9 of the host. Since the firstvolatile memory devices 911 to 914 and the secondvolatile memory devices 921 to 924 share the same control bus CMD/ADDR_BUS, the firstvolatile memory devices 911 to 914 and the secondvolatile memory devices 921 to 924 may perform the same operation. However, since separate data buses DATA_BUS3_1 to DATA_BUS3_4 and DATA_BUS4_1 to DATA_BUS4_4 are provided for the respectivevolatile memory devices 911 to 914 and 921 to 924, thememory controller 9 of the host can exchange different data with each of thevolatile memory devices 911 to 914 and 921 to 924. - At step S1020, a trigger condition may be satisfied. The trigger condition may indicate a condition for backing up the data of the first
volatile memory devices 911 to 914 and the secondvolatile memory devices 921 to 924 into thenonvolatile memory device 930. For example, when a failure of the host power HOST_VDD and HOST_VSS is detected, the failure detection may satisfy the trigger condition. Alternatively, when a backup operation is performed by a command of thememory controller 9 of the host, the backup operation command of thememory controller 9 of the host may satisfy the trigger condition. - At step S1030, the control for the first
volatile memory devices 911 to 914 and the secondvolatile memory devices 921 to 924 may be switched from thememory controller 9 of the host to thecontroller 940. Furthermore, the power used by thememory module 900 may be switched from the host power HOST_VDD and HOST_VSS to the emergent power EMG_VDD and EMG_VSS supplied by the emergentpower supply unit 10. Furthermore, according to the control of thecontroller 940, the data buses used by the firstvolatile memory devices 911 to 914 may be switched from the third data buses DATA_BUS3_1 to DATA_BUS3_4 to the first data bus DATA_BUS1, and the data buses used by the secondvolatile memory devices 921 to 924 may be switched from the fourth data buses DATA_BUS4_1 to DATA_BUS4_4 to the second data bus DATA_BUS2. Each of the firstvolatile memory devices 911 to 914 and the secondvolatile memory devices 921 to 924 may include eight data pads DQ0 to DQ7. Among the data pads DQ0 to DQ7, four data pads DQ0 to DQ3 may be coupled to the first data bus DATA_BUS1 and the second data bus DATA_BUS2, and the other four data pads DQ4 to DQ7 may be coupled to the third data buses DATA_BUS3_1 to DATA_BUS3_4 and the fourth data buses DATA_BUS4_1 to DATA_BUS4_4. The data buses used by the firstvolatile memory devices 911 to 914 and the secondvolatile memory devices 921 to 924 may be changed in response to a command of thecontroller 940. The zeroth data pads DQ0 of the firstvolatile memory devices 911 to 914 may be coupled to different data lines of the first data bus DATA_BUS1, and the zeroth data pads DQ0 of the secondvolatile memory devices 921 to 924 may be coupled to different data lines of the second data DATA_BUS2. Through this configuration, the firstvolatile memory devices 911 to 914 may individually enter the PDA mode, and the secondvolatile memory devices 921 to 924 may individually enter the PDA mode. - At step S1041, the data of the first
volatile memory device 911 and the second volatile memory device 921 (hereafter referred to as a first volatile memory group) may be backed up into thenonvolatile memory device 930. This operation may be performed as follows. First, the CAL of the firstvolatile memory group volatile memory devices 912 to 914 and 922 to 924 may be set to a second value (for example, ‘3’), which is different from the first value. Then, thecontroller 940 may read data from the firstvolatile memory group nonvolatile memory device 930. - At step S1042, the data of the first
volatile memory device 912 and the second volatile memory device 922 (hereafter referred to as a second volatile memory group) may be backed up into thenonvolatile memory device 930. This operation may be performed as follows. First, the CAL of the secondvolatile memory group volatile memory devices controller 940 may read data from the secondvolatile memory group nonvolatile memory device 930. - At step S1043, the data of the first
volatile memory device 913 and the second volatile memory device 923 (hereafter referred to as a third volatile memory group) may be backed up into thenonvolatile memory device 930. This operation may be performed as follows. First, the CAL of the thirdvolatile memory group volatile memory devices controller 940 may read data from the thirdvolatile memory group nonvolatile memory device 930. - At step S1044, the data of the first
volatile memory device 914 and the second volatile memory device 924 (hereafter referred to as a fourth volatile memory group) may be backed up into thenonvolatile memory device 930. This operation may be performed as follows. First, the CAL of the fourthvolatile memory group volatile memory devices 911 to 913 and 921 to 923 may be to the second value (for example, ‘3’). Then, thecontroller 940 may read data from the fourthvolatile memory group nonvolatile memory device 930. The backup operation may be completed by step S1044. - The method in which the
controller 940 sets the CALs of the firstvolatile memory devices 911 to 914 and the secondvolatile memory devices 921 to 924 in various manners and accesses only first and second volatile memory devices having specific CAL at steps S1041 to S1044 may be understood with reference toFIGS. 4 to 7 . Furthermore, as described with reference toFIG. 9 , the CAL difference dCAL between the first and second values of CAL may be set to satisfy the relation of dCAL≧tRCD and dCAL<tRP. - After the backup operation is completed, a restoration condition may be satisfied at step S1050. The restoration condition may indicate a condition for restoring the data, which is backed up in the
nonvolatile memory device 930, to the firstvolatile memory devices 911 to 914 and the secondvolatile memory devices 921 to 924. For example, when the host power HOST_VDD and HOST_VSS is normally restored, it may satisfy the restoration condition. Alternatively, when the restoration operation is performed in response to a command of thememory controller 9 of the host, the restoration operation command of thememory controller 9 of the host may satisfy the restoration condition. Since the host power HOST_VDD and HOST_VSS is normally restored, the following restoration operation may be performed using the host power HOST_VDD and HOST_VSS. - At step S1061, the data of the first
volatile memory group volatile memory group volatile memory devices 912 to 914 and 922 to 924 may be set to a fourth value (for example, ‘3’), which is different from the third value. Then, thecontroller 940 may read data from thenonvolatile memory device 930, and write the read data to the firstvolatile memory group - At step S1062, the data of the second
volatile memory group volatile memory group volatile memory devices controller 940 may read data from thenonvolatile memory device 930, and write the read data to the secondvolatile memory group - At step S1063, the data of the third
volatile memory group volatile memory group volatile memory devices controller 940 may read data from thenonvolatile memory device 930, and write the read data to the thirdvolatile memory group - At step S1064, the data of the fourth
volatile memory group volatile memory group volatile memory devices 911 to 913 and 921 to 923 may be set to the fourth value. Then, thecontroller 940 may read data from thenonvolatile memory device 930, and write the read data to the fourthvolatile memory group - After the restoration operation is completed, the control for the first
volatile memory devices 911 to 914 and the secondvolatile memory devices 921 to 924 may be switched from thecontroller 940 to thememory controller 9 of the host, at step S1070. Furthermore, the data bus used by the firstvolatile memory devices 911 to 914 may be switched from the first data bus DATA_BUS1 to the third data buses DATA_BUS3_1 to DATA_BUS3_4, and the data bus used by the secondvolatile memory devices 921 to 924 may be switched from the second data bus DATA_BUS2 to the fourth data buses DATA_BUS4_1 to DATA_BUS4_4. - As described above, the first
volatile memory devices 911 to 914 may share the control bus CMD/ADDR_BUS and the first data bus DATA_BUS1 for communication with thecontroller 940. However, as thecontroller 940 sets the CAL to different values, thecontroller 940 may separately access the firstvolatile memory devices 911 to 914 in order to back up or restore data. Furthermore, the secondvolatile memory devices 921 to 924 may share the control bus CMD/ADDR_BUS and the second data bus DATA_BUS2 for communication with thecontroller 940. However, as thecontroller 940 sets the CAL to different values, thecontroller 940 may separately access the secondvolatile memory devices 921 to 924 in order to back up or restore data. -
FIG. 11 is a block diagram illustrating thememory module 900 in accordance with another embodiment of the present invention. - Referring to
FIGS. 9 and 11 , thememory module 900 shown inFIG. 11 may be substantially the same as thememory module 900 described with reference toFIG. 9 except that the memory module shown inFIG. 11 may further includemultiplexers 1101 to 1108, and four data pads DQ0 to DQ3 may be used in the firstvolatile memory devices 911 to 914 and the secondvolatile memory devices 921 to 924. - When the first
volatile memory devices 911 to 914 communicate with thememory controller 9 of the host, the data pads DQ0 to DQ3 of the firstvolatile memory devices 911 to 914 may be coupled to the third data buses DATA_BUS3_1 to DATA_BUS3_4 by themultiplexers 1101 to 1104. When the firstvolatile memory devices 911 to 914 communicate with thecontroller 940, the data pads DQ0 to DQ3 of the firstvolatile memory devices 911 to 914 may be coupled to the first data bus DATA_BUS1 by themultiplexers 1101 to 1104. - When the second
volatile memory devices 921 to 924 communicate with thememory controller 9 of the host, the data pads DQ0 to DQ3 of the secondvolatile memory devices 921 to 924 may be coupled to the fourth data buses DATA_BUS4_1 to DATA_BUS4_4 by themultiplexers 1105 to 1108. When the secondvolatile memory devices 921 to 924 communicate with thecontroller 940, the data pads DQ0 to DQ3 of the secondvolatile memory devices 921 to 924 may be coupled to the second data bus DATA_BUS2 by themultiplexers 1105 to 1108. - In accordance with the embodiments of the present invention, while the number of lines between the controller and the memory devices are reduced, the controller can separately access the memory devices.
- Although various embodiments have been described for illustrative purposes, it will be apparent to those skilled in the art that various changes and modifications may be made without departing from the spirit and scope of the invention as defined in the following claims.
Claims (19)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150052427A KR102076196B1 (en) | 2015-04-14 | 2015-04-14 | Memory system, memory module and operation method of the same |
KR10-2015-0052427 | 2015-04-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
US9471517B1 US9471517B1 (en) | 2016-10-18 |
US20160306756A1 true US20160306756A1 (en) | 2016-10-20 |
Family
ID=57120854
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/845,870 Active US9471517B1 (en) | 2015-04-14 | 2015-09-04 | Memory system, memory module and method to backup and restore system using command address latency |
Country Status (4)
Country | Link |
---|---|
US (1) | US9471517B1 (en) |
KR (1) | KR102076196B1 (en) |
CN (1) | CN106055493B (en) |
TW (1) | TWI695267B (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170147230A1 (en) * | 2015-11-20 | 2017-05-25 | Samsung Electronics Co., Ltd. | Memory device and memory system having heterogeneous memories |
US20170277594A1 (en) * | 2016-03-28 | 2017-09-28 | SK Hynix Inc. | Nonvolatile dual in-line memory module and method for operating the same |
US9965017B2 (en) * | 2016-04-12 | 2018-05-08 | International Business Machines Corporation | System and method for conserving energy in non-volatile dual inline memory modules |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170025714A (en) * | 2015-08-31 | 2017-03-08 | 에스케이하이닉스 주식회사 | Memory system and operating method of memory system |
US9830086B2 (en) * | 2016-03-03 | 2017-11-28 | Samsung Electronics Co., Ltd. | Hybrid memory controller for arbitrating access to volatile and non-volatile memories in a hybrid memory group |
US10545664B2 (en) | 2017-04-11 | 2020-01-28 | Samsung Electronics Co., Ltd. | System and method for identifying SSDs with lowest tail latencies |
US10445259B2 (en) * | 2017-04-18 | 2019-10-15 | Western Digital Technologies, Inc. | Bit reordering for memory devices |
KR20190033318A (en) * | 2017-09-21 | 2019-03-29 | 에스케이하이닉스 주식회사 | Memory chip with reduced power consumption, buffer chip module contrlling the same and memory module including the same |
KR102416929B1 (en) * | 2017-11-28 | 2022-07-06 | 에스케이하이닉스 주식회사 | Memory module and operation method of the same |
KR102471531B1 (en) * | 2017-12-21 | 2022-11-28 | 에스케이하이닉스 주식회사 | Semiconductor apparatus and system capable of performing high speed test in low speed operation environment |
US10817443B2 (en) * | 2018-03-28 | 2020-10-27 | SK Hynix Inc. | Configurable interface card |
US11086528B2 (en) | 2018-12-14 | 2021-08-10 | SK Hynix Inc. | Memory controller and memory system having the same |
WO2021012767A1 (en) * | 2019-07-22 | 2021-01-28 | 苏州库瀚信息科技有限公司 | Bus for interconnection between memory controller and memory devices |
CN112286842B (en) * | 2019-07-22 | 2023-07-04 | 苏州库瀚信息科技有限公司 | Bus for memory controller and memory device interconnection |
KR102545175B1 (en) * | 2022-05-02 | 2023-06-20 | 삼성전자주식회사 | Operating method of memeory device including address table and memory controller thereof |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW309657B (en) * | 1995-10-04 | 1997-07-01 | Toshiba Co Ltd | |
JP3786521B2 (en) * | 1998-07-01 | 2006-06-14 | 株式会社日立製作所 | Semiconductor integrated circuit and data processing system |
US6785793B2 (en) * | 2001-09-27 | 2004-08-31 | Intel Corporation | Method and apparatus for memory access scheduling to reduce memory access latency |
US7222224B2 (en) * | 2004-05-21 | 2007-05-22 | Rambus Inc. | System and method for improving performance in computer memory systems supporting multiple memory access latencies |
KR100671747B1 (en) * | 2006-01-04 | 2007-01-19 | 삼성전자주식회사 | Memory system with improved aaaitive latency and method thereof |
US7716411B2 (en) * | 2006-06-07 | 2010-05-11 | Microsoft Corporation | Hybrid memory device with single interface |
US8301833B1 (en) * | 2007-06-01 | 2012-10-30 | Netlist, Inc. | Non-volatile memory module |
KR101585213B1 (en) * | 2009-08-18 | 2016-01-13 | 삼성전자주식회사 | Control method and write leveling method of memory device and memory controller memory device and memory system performing write leveling operations |
US8687451B2 (en) * | 2011-07-26 | 2014-04-01 | Inphi Corporation | Power management in semiconductor memory system |
KR20150032659A (en) * | 2012-06-28 | 2015-03-27 | 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. | Memory module with a dual-port buffer |
KR20140084761A (en) * | 2012-12-27 | 2014-07-07 | 에스케이하이닉스 주식회사 | Controlling method of semiconductor memory device for address access timing |
GB2510180A (en) * | 2013-01-29 | 2014-07-30 | Ibm | Selective restoration of data from non-volatile storage to volatile memory |
KR20140107890A (en) * | 2013-02-28 | 2014-09-05 | 에스케이하이닉스 주식회사 | Memory, memory system including the same, and operation method of memory controller |
US20150006815A1 (en) * | 2013-06-28 | 2015-01-01 | Lsi Corporation | Backup of cached dirty data during power outages |
DE112013007279T5 (en) * | 2013-09-23 | 2016-05-04 | Intel Corporation | Event-triggered storage of data in a non-volatile memory |
KR102156284B1 (en) | 2013-11-27 | 2020-09-15 | 에스케이하이닉스 주식회사 | Memory and memory module including the same |
-
2015
- 2015-04-14 KR KR1020150052427A patent/KR102076196B1/en active IP Right Grant
- 2015-08-25 TW TW104127649A patent/TWI695267B/en active
- 2015-09-04 US US14/845,870 patent/US9471517B1/en active Active
- 2015-11-09 CN CN201510756080.8A patent/CN106055493B/en active Active
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170147230A1 (en) * | 2015-11-20 | 2017-05-25 | Samsung Electronics Co., Ltd. | Memory device and memory system having heterogeneous memories |
US20170277594A1 (en) * | 2016-03-28 | 2017-09-28 | SK Hynix Inc. | Nonvolatile dual in-line memory module and method for operating the same |
US10083090B2 (en) * | 2016-03-28 | 2018-09-25 | SK Hynix Inc. | Nonvolatile dual in-line memory module and method for operating the same |
US9965017B2 (en) * | 2016-04-12 | 2018-05-08 | International Business Machines Corporation | System and method for conserving energy in non-volatile dual inline memory modules |
Also Published As
Publication number | Publication date |
---|---|
CN106055493B (en) | 2020-03-31 |
TWI695267B (en) | 2020-06-01 |
US9471517B1 (en) | 2016-10-18 |
KR102076196B1 (en) | 2020-02-12 |
KR20160122483A (en) | 2016-10-24 |
CN106055493A (en) | 2016-10-26 |
TW201636859A (en) | 2016-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9471517B1 (en) | Memory system, memory module and method to backup and restore system using command address latency | |
CN108154895B (en) | Memory device and memory system performing a hammer refresh operation and an associated operation | |
CN107533509B (en) | Memory device specific self-refresh entry and exit | |
US7433992B2 (en) | Command controlling different operations in different chips | |
US10762008B2 (en) | Delay circuit and write and read latency control circuit of memory, and signal delay method thereof | |
CN110176263B (en) | Memory device determining operation mode based on external voltage and method of operating the same | |
US20180025772A1 (en) | Semiconductor devices having a refresh operation | |
US10019187B2 (en) | Nonvolatile memory module and operating method for the same | |
US11989106B2 (en) | Inline buffer for in-memory post package repair (PPR) | |
US10083090B2 (en) | Nonvolatile dual in-line memory module and method for operating the same | |
US10614871B2 (en) | Semiconductor devices and semiconductor systems including the semiconductor devices | |
US9646676B1 (en) | Semiconductor devices and semiconductor systems including the same | |
CN107257964B (en) | DRAM circuit, computer system and method for accessing DRAM circuit | |
US10073744B2 (en) | Power-down interrupt of nonvolatile dual in-line memory system | |
US20190065320A1 (en) | Memory module, module controller of memory module, and operation method of memory module | |
US20170277463A1 (en) | Nonvolatile memory module and operating method for the same | |
US20170147230A1 (en) | Memory device and memory system having heterogeneous memories | |
US9442658B2 (en) | Apparatuses and methods including selectively providing a single or separate chip select signals | |
US20090319708A1 (en) | Electronic system and related method with time-sharing bus | |
US9990312B2 (en) | Memory system and operation method of the same | |
US9384796B2 (en) | Semiconductor memory device and memory system including the same | |
US20160357453A1 (en) | Semiconductor memory device | |
US20190065115A1 (en) | Memory system, operation method of the memory system, and memory device | |
US10417145B2 (en) | Memory system including a plurality of memory devices having different latencies and operation method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: SK HYNIX INC., KOREA, REPUBLIC OF Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:YOON, HYUN-JU;REEL/FRAME:036555/0053 Effective date: 20150821 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |