[go: up one dir, main page]

TW201901447A - Memory module and memory system including the same - Google Patents

Memory module and memory system including the same Download PDF

Info

Publication number
TW201901447A
TW201901447A TW106142444A TW106142444A TW201901447A TW 201901447 A TW201901447 A TW 201901447A TW 106142444 A TW106142444 A TW 106142444A TW 106142444 A TW106142444 A TW 106142444A TW 201901447 A TW201901447 A TW 201901447A
Authority
TW
Taiwan
Prior art keywords
data
memory
command
read
circuit
Prior art date
Application number
TW106142444A
Other languages
Chinese (zh)
Other versions
TWI759368B (en
Inventor
金寬東
Original Assignee
韓商愛思開海力士有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 韓商愛思開海力士有限公司 filed Critical 韓商愛思開海力士有限公司
Publication of TW201901447A publication Critical patent/TW201901447A/en
Application granted granted Critical
Publication of TWI759368B publication Critical patent/TWI759368B/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/40Response verification devices using compression techniques
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/02Disposition of storage elements, e.g. in the form of a matrix array
    • G11C5/04Supports for storage elements, e.g. memory modules; Mounting or fixing of storage elements on such supports
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1057Data output buffers, e.g. comprising level conversion circuits, circuits for adapting load
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1084Data input buffers, e.g. comprising level conversion circuits, circuits for adapting load
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • G11C7/222Clock generating, synchronizing or distributing circuits within memory device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/06Address interface arrangements, e.g. address buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Memory System (AREA)
  • Dram (AREA)

Abstract

A memory module includes memory devices; data buffers suitable for receiving write data transferred from a memory controller and transmitting read data to the memory controller; a buffer control signal generation circuit suitable for generating buffer control signals for controlling the data buffers, by using a command transferred from the memory controller; a command delay circuit suitable for generating an effective command by delaying the command by a delay amount of the buffer control signal generation circuit in a read operation and a write operation; a data processing circuit suitable for processing write data transferred from the data buffers and transferring processed write data to the memory devices, and processing read data transferred from the memory devices and transferring processed read data to the data buffers, in response to the effective command; and a command buffer circuit suitable for transferring the effective command to the memory devices.

Description

記憶體模組和包括其的記憶體系統Memory module and memory system including the same

本發明關於一種半導體裝置。特別地,本發明關於一種記憶體模組和包括其的記憶體系統。The invention relates to a semiconductor device. In particular, the present invention relates to a memory module and a memory system including the same.

近年來,隨著行動通訊終端(諸如智慧型手機和平板PC)變得流行,以及社交網路服務(SNS)、機器對機器(M2M)網路和感測器網路增加,數據的量、產生速度和多樣性全都在快速增加。In recent years, as mobile communication terminals such as smartphones and tablet PCs have become popular, and social networking services (SNS), machine-to-machine (M2M) networks, and sensor networks have increased, the amount of data, Production speed and diversity are all increasing rapidly.

為了處理大數據,不僅記憶體裝置的速度重要,記憶體裝置和包括其的記憶體模組的儲存容量也需要很大。In order to process big data, not only the speed of the memory device is important, but the storage capacity of the memory device and the memory module including the memory device also needs to be large.

各種實施例意圖提供一種增加記憶體模組的容量的同時使得記憶體模組能夠穩定地工作的技術。Various embodiments are intended to provide a technique for increasing the capacity of a memory module while enabling the memory module to work stably.

在一個實施例中,一種記憶體模組可以包括:複數個記憶體裝置;複數個數據緩衝器,適用於接收從記憶體控制器傳送來的寫入數據以及將讀取數據傳輸給記憶體控制器;緩衝器控制信號產生電路,適用於基於從記憶體控制器傳送來的命令而產生用於控制所述複數個數據緩衝器的緩衝器控制信號;命令延遲電路,適用於在讀取操作和寫入操作中基於將命令延遲緩衝器控制信號產生電路的延遲量來產生有效命令;數據處理電路,適用於回應於有效命令而處理從所述複數個數據緩衝器傳送來的寫入數據並將處理過的寫入數據傳送給所述複數個記憶體裝置,以及適用於處理從所述複數個記憶體裝置傳送來的讀取數據並將處理過的讀取數據傳送給所述複數個數據緩衝器;以及命令緩衝電路,適用於將有效命令傳送給所述複數個記憶體裝置。In one embodiment, a memory module may include: a plurality of memory devices; a plurality of data buffers, which are adapted to receive write data transmitted from the memory controller and transmit the read data to the memory control Buffer control signal generating circuit, adapted to generate a buffer control signal for controlling the plurality of data buffers based on a command transmitted from a memory controller; a command delay circuit, suitable for reading operations and The write operation generates a valid command based on the delay amount of the command delay buffer control signal generating circuit; the data processing circuit is adapted to process the write data transmitted from the plurality of data buffers in response to the valid command and The processed write data is transmitted to the plurality of memory devices, and is adapted to process the read data transmitted from the plurality of memory devices and transmit the processed read data to the plurality of data buffers. And a command buffer circuit, adapted to transmit valid commands to the plurality of memory devices.

在一個實施例中,一種記憶體系統可以包括:記憶體模組;以及記憶體控制器,適用於將命令、位址和寫入數據傳輸給記憶體模組,以及適用於從記憶體模組接收讀取數據,記憶體模組包括:複數個記憶體裝置;複數個數據緩衝器,適用於接收從記憶體控制器傳送來的寫入數據以及將讀取數據傳輸給記憶體控制器;緩衝器控制信號產生電路,適用於基於所述命令來產生用於控制所述複數個數據緩衝器的緩衝器控制信號;命令延遲電路,適用於在讀取操作和寫入操作中基於將所述命令延遲緩衝器控制信號產生電路的延遲量來產生有效命令;數據處理電路,適用於回應於有效命令而處理從所述複數個數據緩衝器傳送來的寫入數據並將處理過的寫入數據傳送給所述複數個記憶體裝置,以及適用於處理從所述複數個記憶體裝置傳送來的讀取數據並將處理過的讀取數據傳送給所述複數個數據緩衝器;以及命令緩衝電路,適用於將有效命令傳送給所述複數個記憶體裝置。In one embodiment, a memory system may include: a memory module; and a memory controller, which is adapted to transmit commands, addresses, and write data to the memory module, and is adapted to receive data from the memory module. To receive read data, the memory module includes: a plurality of memory devices; a plurality of data buffers, adapted to receive the write data transmitted from the memory controller and transmit the read data to the memory controller; the buffer A controller control signal generating circuit is adapted to generate a buffer control signal for controlling the plurality of data buffers based on the command; a command delay circuit is adapted to apply the command in a read operation and a write operation based on the command The delay buffer controls a delay amount of the signal generating circuit to generate a valid command. A data processing circuit is adapted to process the write data transmitted from the plurality of data buffers and transmit the processed write data in response to the valid command. To the plurality of memory devices, and adapted to process read data transmitted from the plurality of memory devices and process the processed data Reading data to the plurality of data buffers; and a command buffer circuit, adapted to transmit a valid command to the plurality of memory devices.

相關申請案的交叉引用: 本申請案請求2017年5月22日提交的申請號為10-2017-0062760的韓國申請案的優先權,其透過引用整體合併於此。Cross-References to Related Applications: This application claims priority to Korean Application No. 10-2017-0062760, filed on May 22, 2017, which is incorporated herein by reference in its entirety.

下面將參照圖式來更詳細地描述各種實施例。然而,本發明可以按照不同的形式來實施,而不應當被解釋成侷限於本文中所闡述的實施例。相反地,這些實施例被提供使得此公開文件將是徹底且完整的,且這些實施例將把本發明的範圍充分傳達給本領域技術人員。貫穿本發明,相同的元件符號在本發明的各個圖式和實施例中始終代表相同的部分。Various embodiments will be described in more detail below with reference to the drawings. The 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 these embodiments will fully convey the scope of the invention to those skilled in the art. Throughout the present invention, the same element symbols always represent the same parts in the various drawings and embodiments of the present invention.

圖1是圖示根據示例性實施例的記憶體系統的配置的示圖。FIG. 1 is a diagram illustrating a configuration of a memory system according to an exemplary embodiment.

參見圖1,記憶體系統可以包括主機的記憶體控制器1以及記憶體模組100。Referring to FIG. 1, the memory system may include a memory controller 1 and a memory module 100 of the host.

主機的記憶體控制器1可以將命令CMD、位址ADD和時脈CLK傳輸給記憶體模組100以控制記憶體模組100,並且可以將數據DATA傳輸給記憶體模組100和從記憶體模組100接收數據DATA。記憶體控制器1可以包括在諸如中央處理單元(CPU)、圖形處理單元(GPU)和應用處理器(AP)的處理器中或者可以存在於處理器外部的單獨半導體晶片中。記憶體控制器1可以被使用記憶體模組100的各種系統(諸如PC、伺服器系統和行動系統)採用。The memory controller 1 of the host can transmit the command CMD, address ADD and clock CLK to the memory module 100 to control the memory module 100, and can transmit data DATA to and from the memory module 100 The module 100 receives data DATA. The memory controller 1 may be included in a processor such as a central processing unit (CPU), a graphics processing unit (GPU), and an application processor (AP) or may exist in a separate semiconductor wafer outside the processor. The memory controller 1 may be adopted by various systems using a memory module 100 such as a PC, a server system, and a mobile system.

記憶體模組100可以包括暫存時脈驅動器(register clock driver, RCD)110、數據緩衝器120_0~120_7以及記憶體裝置130_0~130_7。圖1中所示的記憶體模組100被稱作負載減小雙列直插記憶體模組(load reduced dual in-line memory module, LRDIMM)。The memory module 100 may include a register clock driver (RCD) 110, a data buffer 120_0 ~ 120_7, and a memory device 130_0 ~ 130_7. The memory module 100 shown in FIG. 1 is called a load reduced dual in-line memory module (LRDIMM).

暫存時脈驅動器110可以緩衝從記憶體控制器1提供的命令CMD、位址ADD和時脈CLK,以及將它們提供給記憶體裝置130_0~130_7。暫存時脈驅動器110也可以將時脈CLK提供給數據緩衝器120_0~120_7。此外,暫存時脈驅動器110可以將關於命令CMD和位址ADD的資訊(其將被提供給數據緩衝器120_0~120_7)處理成適合於緩衝器通訊匯流排BCOM<0:3>的形式,並且可以經由緩衝器通訊匯流排BCOM<0:3>將處理過的資訊提供給數據緩衝器120_0~120_7。The temporary clock driver 110 can buffer the commands CMD, the address ADD and the clock CLK provided from the memory controller 1, and provide them to the memory devices 130_0 ~ 130_7. The temporarily stored clock driver 110 may also provide the clock CLK to the data buffers 120_0 to 120_7. In addition, the temporary clock driver 110 can process the information about the command CMD and the address ADD (which will be provided to the data buffers 120_0 ~ 120_7) into a form suitable for the buffer communication bus BCOM <0: 3>, And the processed information can be provided to the data buffers 120_0 ~ 120_7 via the buffer communication bus BCOM <0: 3>.

數據緩衝器120_0~120_7可以在寫入操作中從記憶體控制器1接收數據DATA和將數據傳送給記憶體裝置130_0~130_7,以及可以在讀取操作中從記憶體裝置130_0~130_7接收數據DATA和將數據傳送給記憶體控制器1。由於記憶體模組100中的數據緩衝器120_0~120_7與記憶體控制器1直接交換數據DATA,因此,在寫入操作中,數據緩衝器120_0~120_7可以在從記憶體控制器1施加寫入命令的時刻起經過寫入延時(write latency, WL)的時間處從記憶體控制器1接收數據DATA。此外,在讀取操作中,數據緩衝器120_0~120_7可以在從記憶體控制器1施加讀取命令的時刻起經過CAS延時(CAS latency, CL)的時間處將數據DATA傳輸給記憶體控制器1。因此,數據緩衝器120_0~120_7可能需要關於寫入命令的施加時間和讀取命令的施加時間的資訊,並可以經由緩衝通訊匯流排BCOM<0:3>從暫存時脈驅動器110來提供關於寫入命令和讀取命令的施加時間的資訊。此外,用於設置數據緩衝器120_0~120_7的資訊可以經由緩衝器通訊匯流排BCOM<0:3>而從暫存時脈驅動器110提供給數據緩衝器120_0~120_7。The data buffers 120_0 ~ 120_7 can receive data DATA from the memory controller 1 in a write operation and transfer data to the memory device 130_0 ~ 130_7, and can receive data DATA from the memory device 130_0 ~ 130_7 in a read operation And transfer the data to the memory controller 1. Since the data buffers 120_0 ~ 120_7 in the memory module 100 directly exchange data DATA with the memory controller 1, during the write operation, the data buffers 120_0 ~ 120_7 can be written from the memory controller 1 The data DATA is received from the memory controller 1 at a time when a write latency (WL) has passed from the moment of the command. In addition, in the read operation, the data buffers 120_0 ~ 120_7 can transmit data DATA to the memory controller at a time that has passed the CAS latency (CL) from the moment when the memory controller 1 applied the read command. 1. Therefore, the data buffers 120_0 ~ 120_7 may need information about the application time of the write command and the application command read time, and may provide information on the temporary clock driver 110 via the buffer communication bus BCOM <0: 3> Information on when the write and read commands are applied. In addition, the information for setting the data buffers 120_0 to 120_7 can be provided from the temporary clock driver 110 to the data buffers 120_0 to 120_7 via the buffer communication bus BCOM <0: 3>.

記憶體裝置130_0~130_7可以基於從暫存時脈驅動器110傳送來的命令CMD、位址ADD和時脈CLK來工作,也可以透過經由數據緩衝器120_0~120_7傳輸和接收數據DATA來工作。記憶體裝置130_0~130_7中的每一個可以為各種類型的記憶體之中的一種,例如,諸如動態隨機存取記憶體(dynamic random access memory, DRAM)、電阻式隨機存取記憶體(resistive random access memory, RRAM)、相變隨機存取記憶體(phase-change random access memory, PRAM)、鐵電隨機存取記憶體(phase-change random access memory, FRAM)和磁隨機存取記憶體(magnetic random access memory, MRAM)。The memory devices 130_0 ~ 130_7 can work based on the commands CMD, address ADD, and clock CLK transmitted from the temporary clock driver 110, and can also work by transmitting and receiving data DATA through the data buffers 120_0 ~ 120_7. Each of the memory devices 130_0 to 130_7 may be one of various types of memory, such as dynamic random access memory (DRAM), resistive random access memory (resistive random access memory) access memory (RRAM), phase-change random access memory (PRAM), ferroelectric random access memory (FRAM), and magnetic random access memory (magnetic random access memory (MRAM).

在圖式中,DATA_INT可以表示在記憶體模組100中的數據緩衝器120_0~120_7與記憶體裝置130_0~130_7之間傳輸數據的匯流排,CMD/ADD/CLK_INT可以表示在記憶體模組100中從暫存時脈驅動器110將命令、位址和時脈傳輸給記憶體裝置130_0~130_7的匯流排,以及CLK_INT可以表示在記憶體模組100中從暫存時脈驅動器110將時脈傳輸給數據緩衝器120_0~120_7的匯流排。In the figure, DATA_INT can represent a bus for transmitting data between the data buffers 120_0 ~ 120_7 and the memory device 130_0 ~ 130_7 in the memory module 100, and CMD / ADD / CLK_INT can represent the memory module 100 The command, address, and clock are transmitted from the temporary clock driver 110 to the buses of the memory devices 130_0 to 130_7, and CLK_INT can indicate that the clock is transmitted from the temporary clock driver 110 in the memory module 100 Bus for data buffers 120_0 ~ 120_7.

圖2是根據一個示例性實施例的用於讀取操作的時序圖,在讀取操作中讀取命令被傳送給記憶體裝置130_0~130_7和數據緩衝器120_0~120_7。FIG. 2 is a timing diagram for a read operation according to an exemplary embodiment, in which a read command is transmitted to the memory devices 130_0 to 130_7 and the data buffers 120_0 to 120_7.

在圖2中,CMD可以表示從記憶體控制器1傳輸給暫存時脈驅動器110的命令,而CMD_INT可以表示從暫存時脈驅動器110傳輸給記憶體裝置130_0~130_7的命令。In FIG. 2, CMD may represent a command transmitted from the memory controller 1 to the temporary clock driver 110, and CMD_INT may represent a command transmitted from the temporary clock driver 110 to the memory device 130_0 to 130_7.

參見圖2,在時間201處,讀取命令RD可以從記憶體控制器1被傳輸給暫存時脈驅動器110。Referring to FIG. 2, at time 201, a read command RD may be transmitted from the memory controller 1 to the temporary clock driver 110.

然後,在從時間201起經過了三個時脈的時間203處,暫存時脈驅動器110可以將緩衝的讀取命令RD傳送給記憶體裝置130_0~130_7。此外,在同一時間203處,暫存時脈驅動器110可以將被變成要經由緩衝器通訊匯流排BCOM<0:3>來傳送的緩衝器控制信號的形式的讀取命令傳送給數據緩衝器120_0~120_7。在要經由緩衝器通訊匯流排BCOM<0:3>來傳送的緩衝器控制信號之中,RD可以表示指示已經施加了讀取命令的緩衝器控制信號,而DAT0可以表示指示選中的記憶庫的緩衝器控制信號,以及PAR可以表示對讀取命令和數據進行同位檢查的緩衝器控制信號。Then, at a time 203 where three clocks have elapsed from time 201, the temporarily stored clock driver 110 may transmit the buffered read command RD to the memory devices 130_0 ~ 130_7. In addition, at the same time 203, the temporary clock driver 110 can transmit a read command in the form of a buffer control signal to be transmitted via the buffer communication bus BCOM <0: 3> to the data buffer 120_0 ~ 120_7. Among the buffer control signals to be transmitted via the buffer communication bus BCOM <0: 3>, RD may indicate a buffer control signal indicating that a read command has been applied, and DAT0 may indicate a selected memory bank. Buffer control signals, and PAR can indicate buffer control signals for parity check of read commands and data.

參見圖2,在根據一個示例性實施例的同一時間203處,暫存時脈驅動器110將通知已經從記憶體控制器1指示讀取操作的讀取命令傳送給記憶體裝置130_0~130_7和數據緩衝器120_0~120_7。在讀取操作中,在根據一個示例性實施例的同一時間處,可以將讀取命令已經施加的通知傳送給記憶體裝置130_0~130_7和數據緩衝器120_0~120_7。此實施例的一個原因如下:當記憶體裝置130_0~130_7的讀取延時與數據緩衝器120_0~120_7的讀取延時彼此匹配時,數據從記憶體裝置130_0~130_7輸出的時間與數據緩衝器120_0~120_7緩衝從記憶體裝置130_0~130_7輸出的數據並將其傳送給記憶體控制器1的時間將不太可能彼此失配。Referring to FIG. 2, at the same time 203 according to an exemplary embodiment, the temporary storage clock driver 110 transmits a read command informing that a read operation has been instructed from the memory controller 1 to the memory devices 130_0 to 130_7 and data Buffers 120_0 ~ 120_7. In the read operation, at the same time according to an exemplary embodiment, a notification that a read command has been applied may be transmitted to the memory devices 130_0 to 130_7 and the data buffers 120_0 to 120_7. One reason for this embodiment is as follows: When the read delay of the memory devices 130_0 ~ 130_7 and the read delay of the data buffers 120_0 ~ 120_7 match each other, the time of data output from the memory device 130_0 ~ 130_7 and the data buffer 120_0 The time when ~ 120_7 buffers the data output from the memory devices 130_0 ~ 130_7 and transfers it to the memory controller 1 is unlikely to mismatch each other.

圖3是根據一個示例的用於寫入操作的時序圖,在寫入操作中寫入命令被傳送給記憶體裝置130_0~130_7和數據緩衝器120_0~120_7。FIG. 3 is a timing diagram for a write operation according to an example, in which a write command is transmitted to the memory devices 130_0 to 130_7 and the data buffers 120_0 to 120_7.

參見圖3,在時間301處,寫入命令WT可以從記憶體控制器1被傳輸給暫存時脈驅動器110。Referring to FIG. 3, at time 301, a write command WT may be transmitted from the memory controller 1 to the temporary clock driver 110.

然後,在從時間301起經過了三個時脈的時間303處,暫存時脈驅動器110可以將緩衝的寫入命令WT傳送給記憶體裝置130_0~130_7。此外,在同一時間303處,暫存時脈驅動器110可以將被變成要經由緩衝器通訊匯流排BCOM<0:3>來傳送的緩衝器控制信號的形式的寫入命令傳送給數據緩衝器120_0~120_7。在要經由緩衝器通訊匯流排BCOM<0:3>來傳送的緩衝器控制信號之中,WT可以表示指示已經施加了寫入命令的緩衝器控制信號,而DAT0可以表示指示選中的記憶庫的緩衝器控制信號,以及PAR可以表示對寫入命令和數據進行同位檢查的緩衝器控制信號。Then, at a time 303 where three clocks have elapsed from time 301, the temporary storage clock driver 110 may transmit the buffered write command WT to the memory devices 130_0 to 130_7. In addition, at the same time 303, the temporary storage clock driver 110 may transmit a write command in the form of a buffer control signal to be transmitted via the buffer communication bus BCOM <0: 3> to the data buffer 120_0 ~ 120_7. Among the buffer control signals to be transmitted via the buffer communication bus BCOM <0: 3>, WT may indicate a buffer control signal indicating that a write command has been applied, and DAT0 may indicate a selected memory bank. Buffer control signals, and PAR can indicate buffer control signals for parity check of write commands and data.

參見圖3,在根據一個示例性實施例的同一時間303處,暫存時脈驅動器110將通知已經從記憶體控制器1指示寫入操作的寫入命令傳送給記憶體裝置130_0~130_7和數據緩衝器120_0~120_7。在寫入操作中,類似於讀取操作,在根據一個實施例的同一時間處,將寫入命令已經施加的通知傳送給記憶體裝置130_0~130_7和數據緩衝器120_0~120_7。此實施例的一個原因如下:當記憶體裝置130_0~130_7的寫入延時與數據緩衝器120_0~120_7的寫入延時彼此匹配時,數據緩衝器120_0~120_7緩衝從記憶體控制器1傳送來的數據並將緩衝的數據傳送給記憶體裝置130_0~130_7的時間與記憶體裝置130_0~130_7接收從數據緩衝器120_0~120_7傳送來的數據的時間將不太可能彼此失配。Referring to FIG. 3, at the same time 303 according to an exemplary embodiment, the temporary storage clock driver 110 transmits a write command informing that a write operation has been instructed from the memory controller 1 to the memory devices 130_0 ~ 130_7 and data Buffers 120_0 ~ 120_7. In the write operation, similar to the read operation, at the same time according to one embodiment, a notification that a write command has been applied is transmitted to the memory devices 130_0 ~ 130_7 and the data buffers 120_0 ~ 120_7. One reason for this embodiment is as follows: When the write delay of the memory device 130_0 ~ 130_7 and the write delay of the data buffer 120_0 ~ 120_7 match each other, the data buffer 120_0 ~ 120_7 buffers the data transferred from the memory controller 1. Data and the time when the buffered data is transmitted to the memory device 130_0 ~ 130_7 and the time when the memory device 130_0 ~ 130_7 receives the data transmitted from the data buffer 120_0 ~ 120_7 will be less likely to mismatch each other.

圖4是圖示根據一個示例性實施例的記憶體系統的配置的示圖。FIG. 4 is a diagram illustrating a configuration of a memory system according to an exemplary embodiment.

參見圖4,記憶體系統可以包括主機的記憶體控制器4以及記憶體模組400。Referring to FIG. 4, the memory system may include a memory controller 4 and a memory module 400 of the host.

主機的記憶體控制器4可以將命令CMD、位址ADD和時脈CLK傳輸給記憶體模組400以控制記憶體模組400,以及可以將數據DATA傳輸給記憶體模組400和從記憶體模組400接收數據DATA。記憶體控制器4可以被包括在處理器(諸如中央處理單元(CPU)、圖形處理單元(GPU)和應用處理器(AP))中或者可以存在於處理器外部的獨立半導體晶片中。記憶體控制器4可以被使用記憶體模組400的各種系統(諸如PC、伺服器系統和行動系統)採用。The memory controller 4 of the host can transmit the command CMD, address ADD and clock CLK to the memory module 400 to control the memory module 400, and can transmit data DATA to the memory module 400 and from the memory. The module 400 receives data DATA. The memory controller 4 may be included in a processor such as a central processing unit (CPU), a graphics processing unit (GPU), and an application processor (AP) or may exist in a separate semiconductor wafer outside the processor. The memory controller 4 may be adopted by various systems using a memory module 400 such as a PC, a server system, and a mobile system.

記憶體模組400可以包括模組控制器410、數據緩衝器420_0~420_7和記憶體裝置430_0~430_7。The memory module 400 may include a module controller 410, a data buffer 420_0 ~ 420_7, and a memory device 430_0 ~ 430_7.

記憶體裝置430_0~430_7中的每一個可以具有相當大的容量。為此,根據一個實施例,記憶體裝置430_0~430_7中的每一個可以包括堆疊的複數個記憶體晶片。例如,記憶體裝置430_0~430_7中的每一個可以包括八個記憶體晶片,而記憶體模組400的整個記憶體裝置430_0~430_7可以包括64個記憶體晶片。在堆疊複數個記憶體晶片以增加記憶體裝置430_0~430_7的容量的情況下,由於負載增加且大量的信號的路徑安排變得困難,因此在寫入操作和讀取操作期間記憶體裝置430_0~430_7的延時傾向於增加,以及傾向於出現若干錯誤。記憶體裝置430_0~430_7中的每一個可以為各種類型的記憶體之中的一種,諸如動態隨機存取記憶體(DRAM)、電阻式隨機存取記憶體(RRAM)、相變隨機存取記憶體(PRAM)、鐵電隨機存取記憶體(FRAM)和磁隨機存取記憶體(MRAM)。Each of the memory devices 430_0 to 430_7 may have a considerable capacity. To this end, according to one embodiment, each of the memory devices 430_0 to 430_7 may include a plurality of stacked memory chips. For example, each of the memory devices 430_0 to 430_7 may include eight memory chips, and the entire memory device 430_0 to 430_7 of the memory module 400 may include 64 memory chips. In the case where a plurality of memory chips are stacked to increase the capacity of the memory device 430_0 ~ 430_7, since the load increases and a large number of signal routing becomes difficult, the memory device 430_0 ~ The delay of 430_7 tends to increase, and there are several errors. Each of the memory devices 430_0 ~ 430_7 can be one of various types of memory, such as dynamic random access memory (DRAM), resistive random access memory (RRAM), phase change random access memory Memory (PRAM), ferroelectric random access memory (FRAM), and magnetic random access memory (MRAM).

模組控制器410可以緩衝從記憶體控制器4提供的命令CMD、位址ADD和時脈CLK,以及將它們提供給記憶體裝置430_0~430_7。模組控制器410也可以將時脈CLK提供給數據緩衝器420_0~420_7。此外,模組控制器410可以將關於命令CMD和位址ADD的資訊(其要被提供給數據緩衝器420_0~420_7)處理成適合於緩衝器通訊匯流排BCOM<0:3>的形式,並且可以經由緩衝器通訊匯流排BCOM<0:3>將處理過的資訊提供給數據緩衝器420_0~420_7。上述的模組控制器410的操作可以與暫存時脈驅動器110的操作相同。The module controller 410 may buffer the command CMD, the address ADD, and the clock CLK provided from the memory controller 4, and provide them to the memory devices 430_0 ~ 430_7. The module controller 410 may also provide the clock CLK to the data buffers 420_0 ~ 420_7. In addition, the module controller 410 may process the information about the command CMD and the address ADD (which is to be provided to the data buffers 420_0 ~ 420_7) into a form suitable for the buffer communication bus BCOM <0: 3>, and The processed information can be provided to the data buffers 420_0 ~ 420_7 via the buffer communication bus BCOM <0: 3>. The operation of the above-mentioned module controller 410 may be the same as that of the temporary clock driver 110.

然而,不同於暫存時脈驅動器110,模組控制器410可以執行在數據緩衝器420_0~420_7與記憶體裝置430_0~430_7之間傳送數據DATA的功能。在寫入操作中,模組控制器410可以透過使用從數據緩衝器420_0~420_7傳送來的寫入數據來產生錯誤校正碼(error correction code, ECC)。模組控制器410可以將寫入數據和錯誤校正碼傳輸給記憶體裝置430_0~430_7,使得寫入數據和錯誤校正碼可以被寫入至記憶體裝置430_0~430_7中。此外,在讀取操作中,模組控制器410可以透過使用從記憶體裝置430_0~430_7讀取的錯誤校正碼來校正從記憶體裝置430_0~430_7讀取的數據中的錯誤,以及可以將校正過的讀取數據傳輸給數據緩衝器420_0~420_7。因此,數據可以經由內部數據匯流排DATA_INT1在數據緩衝器420_0~420_7與模組控制器410之間傳輸,並且數據和錯誤校正碼可以經由內部數據匯流排DATA_INT2在模組控制器410與記憶體裝置430_0~430_7之間傳輸。透過模組控制器410的錯誤校正碼產生操作和校正操作,可以校正記憶體裝置430_0~430_7中的因擴展的容量和堆疊的記憶體晶片而傾向於增加的錯誤。However, unlike the temporary clock driver 110, the module controller 410 may perform a function of transmitting data DATA between the data buffers 420_0 ~ 420_7 and the memory devices 430_0 ~ 430_7. In the write operation, the module controller 410 may generate an error correction code (ECC) by using the write data transmitted from the data buffers 420_0 to 420_7. The module controller 410 can transmit the write data and the error correction code to the memory devices 430_0 ~ 430_7, so that the write data and the error correction code can be written into the memory devices 430_0 ~ 430_7. In addition, during the reading operation, the module controller 410 can correct errors in the data read from the memory devices 430_0 ~ 430_7 by using the error correction codes read from the memory devices 430_0 ~ 430_7, and can correct the errors The read data is transferred to the data buffers 420_0 ~ 420_7. Therefore, data can be transmitted between the data buffers 420_0 ~ 420_7 and the module controller 410 via the internal data bus DATA_INT1, and data and error correction codes can be transmitted between the module controller 410 and the memory device via the internal data bus DATA_INT2 Transfer between 430_0 ~ 430_7. Through the error correction code generating operation and the correcting operation of the module controller 410, the errors that tend to increase in the memory devices 430_0 ~ 430_7 due to the expanded capacity and the stacked memory chips can be corrected.

此外,為了增加記憶體裝置430_0~430_7的數據容量,模組控制器410可以執行壓縮和解壓縮數據的操作。例如,透過在寫入操作中壓縮數據和將壓縮的數據傳送給記憶體裝置430_0~430_7以及透過在讀取操作中解壓縮從記憶體裝置430_0~430_7讀取的數據和將解壓縮的數據傳送給數據緩衝器420_0~420_7,可以在記憶體裝置430_0~430_7中儲存更大量的數據。In addition, in order to increase the data capacity of the memory devices 430_0 to 430_7, the module controller 410 may perform operations of compressing and decompressing data. For example, by compressing the data in the write operation and transmitting the compressed data to the memory device 430_0 ~ 430_7, and by decompressing the data read from the memory device 430_0 ~ 430_7 in the read operation and transmitting the decompressed data To the data buffers 420_0 ~ 420_7, a larger amount of data can be stored in the memory devices 430_0 ~ 430_7.

不同於圖2的記憶體系統,在圖4的記憶體系統中,模組控制器410和數據緩衝器420_0~420_7可以在讀取操作和寫入操作中直接傳輸和接收數據。因此,根據一個實施例,模組控制器410的數據傳輸和接收時序可能需要匹配數據緩衝器420_0~420_7的數據傳輸和接收時序。Different from the memory system of FIG. 2, in the memory system of FIG. 4, the module controller 410 and the data buffers 420_0 to 420_7 can directly transmit and receive data in a read operation and a write operation. Therefore, according to an embodiment, the data transmission and reception timing of the module controller 410 may need to match the data transmission and reception timing of the data buffers 420_0 to 420_7.

圖5是圖示根據一個示例性實施例的圖4中所示的模組控制器410的配置的示圖。FIG. 5 is a diagram illustrating a configuration of a module controller 410 shown in FIG. 4 according to an exemplary embodiment.

參見圖5,模組控制器410可以包括緩衝器控制信號產生電路510、命令延遲電路520、位址延遲電路530、命令緩衝電路540、位址緩衝電路550、時脈緩衝電路560和數據處理電路570。5, the module controller 410 may include a buffer control signal generating circuit 510, a command delay circuit 520, an address delay circuit 530, a command buffer circuit 540, an address buffer circuit 550, a clock buffer circuit 560, and a data processing circuit. 570.

緩衝器控制信號產生電路510可以透過使用命令CMD和位址ADD來產生用於控制數據緩衝器420_0~420_7的緩衝器控制信號(即,要載入至緩衝器通訊匯流排BCOM<0:3>上的信號)。緩衝器控制信號產生電路510可以將來自命令CMD和位址ADD中傳送的資訊的數據緩衝器420_0~420_7的操作所必需的資訊轉換成符合緩衝器通訊匯流排BCOM<0:3>的協定的緩衝器控制信號。位址ADD的全部位元或位址ADD的部分位元可以被輸入到緩衝器控制信號產生電路510。The buffer control signal generating circuit 510 can generate a buffer control signal for controlling the data buffers 420_0 to 420_7 by using a command CMD and an address ADD (that is, to be loaded into the buffer communication bus BCOM <0: 3> On the signal). The buffer control signal generating circuit 510 can convert the information necessary for the operation of the data buffers 420_0 ~ 420_7 from the information transmitted in the command CMD and the address ADD into a protocol conforming to the buffer communication bus BCOM <0: 3> Buffer control signal. All the bits of the address ADD or a part of the bits of the address ADD may be input to the buffer control signal generating circuit 510.

在讀取操作和寫入操作中,命令延遲電路520可以透過將命令CMD延遲緩衝器控制信號產生電路510的延遲量來產生有效命令CMD_EFF。例如,如果透過使用命令CMD和位址ADD來產生緩衝器控制信號的緩衝器控制信號產生電路510出現三個時脈的延遲,則命令延遲電路520可以透過按照同樣的方式將命令CMD延遲三個時脈來產生有效命令CMD_EFF。然而,對於除了讀取操作和寫入操作之外的其他命令,命令延遲電路520可以不將命令CMD延遲,而是可以僅僅將有效命令CMD_EFF產生成與命令CMD一樣(例如,無任何延遲)。換言之,對於除了讀取操作和寫入操作之外的其他命令,命令延遲電路520的延遲值可以設置成0。命令延遲電路520可以基於接收的命令CMD將讀取操作和寫入操作與其他操作區分開。In the read operation and the write operation, the command delay circuit 520 may generate a valid command CMD_EFF by delaying the command CMD by the delay amount of the buffer control signal generating circuit 510. For example, if a three-clock delay occurs in the buffer control signal generating circuit 510 by using the command CMD and the address ADD to generate the buffer control signal, the command delay circuit 520 may delay the command CMD by three Clock to generate a valid command CMD_EFF. However, for commands other than read and write operations, the command delay circuit 520 may not delay the command CMD, but may simply generate a valid command CMD_EFF to be the same as the command CMD (for example, without any delay). In other words, for commands other than read operations and write operations, the delay value of the command delay circuit 520 may be set to zero. The command delay circuit 520 may distinguish a read operation and a write operation from other operations based on the received command CMD.

在讀取操作和寫入操作中,位址延遲電路530可以透過將位址ADD延遲緩衝器控制信號產生電路510的延遲量來產生有效位址ADD_EFF。然而,對於除了讀取操作和寫入操作之外的命令,位址延遲電路530可以不將位址ADD延遲,而是可以僅僅將有效位址ADD_EFF產生成與位址ADD一樣。換言之,由於命令延遲電路520可以延遲或可以不延遲命令CMD,因此位址延遲電路530可以透過相同的方式延遲或不延遲位址ADD來產生有效位址ADD_EFF。讀取/寫入信號RD/WT是用於命令延遲電路520將讀取操作和寫入操作通知給位址延遲電路的信號。即,讀取/寫入信號RD/WT是在讀取操作和寫入操作中啟動的信號。In the read operation and the write operation, the address delay circuit 530 may generate the effective address ADD_EFF by delaying the address ADD delay buffer control signal generating circuit 510. However, for commands other than read operations and write operations, the address delay circuit 530 may not delay the address ADD, but may only generate a valid address ADD_EFF to be the same as the address ADD. In other words, because the command delay circuit 520 may or may not delay the command CMD, the address delay circuit 530 may generate the effective address ADD_EFF by delaying or not delaying the address ADD in the same manner. The read / write signal RD / WT is a signal for instructing the delay circuit 520 to notify the address delay circuit of the read operation and the write operation. That is, the read / write signal RD / WT is a signal that is started in a read operation and a write operation.

命令緩衝電路540可以緩衝有效命令CMD_EFF以及將緩衝的命令傳送給記憶體裝置430_0~430_7。位址緩衝電路550可以緩衝有效位址ADD_EFF以及將緩衝的位址傳送給記憶體裝置430_0~430_7。時脈緩衝電路560可以緩衝從記憶體控制器4傳送來的時脈CLK以及將緩衝的時脈傳送給記憶體裝置430_0~430_7和數據緩衝器420_0~420_7。由命令緩衝電路540緩衝的命令、由位址緩衝電路550緩衝的位址以及由時脈緩衝電路560緩衝的時脈可以經由匯流排CMD/ADD/CLK_INT傳送給記憶體裝置430_0~430_7。此外,由時脈緩衝電路560緩衝的時脈可以經由匯流排CLK_INT傳送給數據緩衝器420_0~420_7。The command buffer circuit 540 may buffer the valid command CMD_EFF and transmit the buffered command to the memory devices 430_0 to 430_7. The address buffer circuit 550 can buffer the effective address ADD_EFF and transfer the buffered address to the memory devices 430_0 ~ 430_7. The clock buffer circuit 560 can buffer the clock CLK transmitted from the memory controller 4 and transmit the buffered clock to the memory devices 430_0 to 430_7 and the data buffers 420_0 to 420_7. The commands buffered by the command buffer circuit 540, the addresses buffered by the address buffer circuit 550, and the clock buffered by the clock buffer circuit 560 can be transmitted to the memory devices 430_0 ~ 430_7 via the bus CMD / ADD / CLK_INT. In addition, the clock buffered by the clock buffer circuit 560 can be transferred to the data buffers 420_0 to 420_7 via the bus CLK_INT.

數據處理電路570可以包括第一串行到並行和並行到串行轉換部571、錯誤校正碼產生部572、錯誤校正部573、壓縮部574、解壓縮部575、選擇部576、第二串行到並行和並行到串行轉換部577以及數據處理控制部578。The data processing circuit 570 may include a first serial-to-parallel and parallel-to-serial conversion section 571, an error correction code generation section 572, an error correction section 573, a compression section 574, a decompression section 575, a selection section 576, and a second serial To parallel and parallel to serial conversion section 577 and data processing control section 578.

第一串行到並行和並行到串行轉換部571可以在寫入操作中對從數據緩衝器420_0~420_7傳送來的數據DATA進行串行到並行轉換並將轉換的數據傳送給錯誤校正碼產生部572,以及可以在讀取操作中對從錯誤校正部573傳送來的數據DATA進行並行到串行轉換並將轉換的數據傳送給數據緩衝器420_0~420_7。這是為了使得錯誤校正碼產生部572和錯誤校正部573能夠並行地處理數據,由此縮短產生錯誤校正碼ECC和校正錯誤所需的時間。The first serial-to-parallel and parallel-to-serial conversion section 571 may perform serial-to-parallel conversion on the data DATA transmitted from the data buffers 420_0 to 420_7 in a write operation and transmit the converted data to the error correction code generation. The unit 572 may perform parallel-to-serial conversion on the data DATA transmitted from the error correction unit 573 in a read operation and transmit the converted data to the data buffers 420_0 to 420_7. This is to enable the error correction code generation section 572 and the error correction section 573 to process data in parallel, thereby reducing the time required to generate the error correction code ECC and correct the error.

在寫入操作中,錯誤校正碼產生部572可以透過使用從第一串行到並行和並行到串行轉換部571傳送來的數據DATA來產生錯誤校正碼ECC。在讀取操作中,錯誤校正部573可以透過使用從第二串行到並行和並行到串行轉換部577或解壓縮部575傳送來的錯誤校正碼ECC來校正數據DATA中的任何錯誤。In the writing operation, the error correction code generation section 572 may generate the error correction code ECC by using data DATA transmitted from the first serial-to-parallel and parallel-to-serial conversion section 571. In the reading operation, the error correction section 573 can correct any error in the data DATA by using the error correction code ECC transmitted from the second serial-to-parallel and parallel-to-serial conversion section 577 or the decompression section 575.

在寫入操作中,壓縮部574可以壓縮數據DATA和錯誤校正碼ECC,由此減小它們的位元數。在圖式中,數據DATA’和錯誤校正碼ECC’分別代表數據DATA和錯誤校正碼ECC的壓縮的副本。解壓縮部575可以在讀取操作中將數據DATA’和錯誤校正碼ECC’解壓縮。In the writing operation, the compression section 574 can compress the data DATA and the error correction code ECC, thereby reducing their number of bits. In the figure, the data DATA 'and the error correction code ECC' represent compressed copies of the data DATA and the error correction code ECC, respectively. The decompression section 575 can decompress the data DATA 'and the error correction code ECC' in a read operation.

選擇部576為用於選擇是否使用壓縮部574和解壓縮部575的組件。在未使用壓縮功能的實施例中,選擇部576可以將錯誤校正碼產生部572和錯誤校正部573與第二串行到並行和並行到串行轉換部577電耦接。換言之,壓縮部574和解壓縮部575可以被繞開。在使用壓縮功能的實施例中,選擇部576可以將壓縮部574和解壓縮部575與第二串行到並行和並行到串行轉換部577電耦接。The selection section 576 is a component for selecting whether to use the compression section 574 and the decompression section 575. In an embodiment in which the compression function is not used, the selection section 576 may electrically couple the error correction code generation section 572 and the error correction section 573 with the second serial-to-parallel and parallel-to-serial conversion section 577. In other words, the compression section 574 and the decompression section 575 may be bypassed. In an embodiment using a compression function, the selection section 576 may electrically couple the compression section 574 and the decompression section 575 with the second serial-to-parallel and parallel-to-serial conversion section 577.

第二串行到並行和並行到串行轉換部577可以在寫入操作中對數據和錯誤校正碼進行並行到串行轉換,以及可以在讀取操作中對數據和錯誤校正碼進行串行到並行轉換。換言之,第二串行到並行和並行到串行轉換部577可以執行與第一串行到並行和並行到串行轉換部571相反的操作。The second serial-to-parallel and parallel-to-serial conversion section 577 may perform parallel-to-serial conversion of data and error correction codes in a write operation, and may perform serial-to-serial conversion of data and error correction codes in a read operation. Parallel conversion. In other words, the second serial-to-parallel and parallel-to-serial conversion section 577 can perform operations opposite to those of the first serial-to-parallel and parallel-to-serial conversion section 571.

數據處理控制部578可以回應於有效命令CMD_EFF來控制數據處理電路570中的組件571~577的操作和操作時序。在圖式中,數據處理控制部578與組件571~577之間的符號CTRL指示數據處理控制部578對組件571~577進行控制。由於數據處理控制部578的時序控制操作不是回應於命令CMD而實施,而是回應於有效命令CMD_EFF而實施,因此數據處理控制部578的數據處理時序與數據緩衝器420_0~420_7的數據處理時序可以彼此匹配。這兩個數據處理時序將不太可能彼此失配,因為數據緩衝器420_0~420_7回應於緩衝器通訊匯流排BCOM<0:3>上的控制信號(其與有效命令CMD_EFF具有相同的時序資訊)而工作。The data processing control section 578 may control the operations and operation timings of the components 571 to 577 in the data processing circuit 570 in response to the valid command CMD_EFF. In the figure, the symbol CTRL between the data processing control unit 578 and the components 571 to 577 instructs the data processing control unit 578 to control the components 571 to 577. Since the timing control operation of the data processing control section 578 is not implemented in response to the command CMD, but is implemented in response to the effective command CMD_EFF, the data processing timing of the data processing control section 578 and the data processing timing of the data buffers 420_0 to 420_7 may Match each other. These two data processing timings are unlikely to mismatch each other, because the data buffers 420_0 ~ 420_7 respond to the control signals on the buffer communication bus BCOM <0: 3> (which has the same timing information as the valid command CMD_EFF) While working.

雖然在圖5中圖示了模組控制器410包括緩衝器控制信號產生電路510、命令延遲電路520、位址延遲電路530、命令緩衝電路540、位址緩衝電路550、時脈緩衝電路560和數據處理電路570,但是應當注意,根據其設計,可以省略它們之中的一些組件。例如,在不需要錯誤校正操作的情況下,在數據處理電路570中可以省略錯誤校正碼產生部572和錯誤校正部573。此外,在不需要數據壓縮操作的情況下,在數據處理電路570中可以省略壓縮部574、解壓縮部575和選擇部576。Although it is illustrated in FIG. 5 that the module controller 410 includes a buffer control signal generating circuit 510, a command delay circuit 520, an address delay circuit 530, a command buffer circuit 540, an address buffer circuit 550, a clock buffer circuit 560, and The data processing circuit 570, but it should be noted that depending on its design, some of them may be omitted. For example, in a case where an error correction operation is not required, the error correction code generation section 572 and the error correction section 573 may be omitted in the data processing circuit 570. In addition, in a case where a data compression operation is not required, the compression section 574, the decompression section 575, and the selection section 576 may be omitted in the data processing circuit 570.

此外,雖然在圖5中圖示了緩衝器控制信號產生電路510、命令延遲電路520、位址延遲電路530、命令緩衝電路540、位址緩衝電路550、時脈緩衝電路560和數據處理電路570被包括在模組控制器410中,但是應當注意,它們之中的一些組件可以設置在模組控制器410的外部。此外,圖5示出的各個功能模組(例如,延遲電路和部)可以包括適用於執行上述功能的合適電路元件。例如,命令延遲電路520可以包括適用於將接收的命令CMD延遲並輸出延遲的命令CMD_EFF的硬體電路。In addition, although a buffer control signal generating circuit 510, a command delay circuit 520, an address delay circuit 530, a command buffer circuit 540, an address buffer circuit 550, a clock buffer circuit 560, and a data processing circuit 570 are illustrated in FIG. 5 It is included in the module controller 410, but it should be noted that some of them may be provided outside the module controller 410. In addition, each functional module (for example, delay circuits and sections) shown in FIG. 5 may include suitable circuit elements suitable for performing the above-mentioned functions. For example, the command delay circuit 520 may include a hardware circuit adapted to delay the received command CMD and output the delayed command CMD_EFF.

圖6是記憶體模組400中的用於讀取操作的時序圖,在讀取操作中讀取命令被傳送給數據處理電路570和數據緩衝器420_0~420_7。FIG. 6 is a timing diagram for a read operation in the memory module 400. In the read operation, a read command is transmitted to the data processing circuit 570 and the data buffers 420_0 to 420_7.

參見圖6,在時間601處,讀取命令RD可以從記憶體控制器4被傳輸給記憶體模組400。Referring to FIG. 6, at time 601, a read command RD may be transmitted from the memory controller 4 to the memory module 400.

然後,在從時間601起經過三個時脈的時間603處,由緩衝器控制信號產生電路510產生的緩衝器控制信號(即,通知施加讀取命令RD的緩衝器控制信號)可以經由緩衝器通訊匯流排BCOM<0:3>被傳送給數據緩衝器420_0~420_7。Then, at time 603 where three clocks have elapsed from time 601, the buffer control signal (ie, the buffer control signal notifying the application of the read command RD) generated by the buffer control signal generating circuit 510 may pass through the buffer The communication bus BCOM <0: 3> is transmitted to the data buffers 420_0 ~ 420_7.

此外,在同一時間603處,由命令延遲電路520產生的有效讀取命令RD_EFF可以被傳送給數據處理電路570。In addition, at the same time 603, a valid read command RD_EFF generated by the command delay circuit 520 may be transmitted to the data processing circuit 570.

由於已經施加了讀取命令RD的通知在同一時間處被傳送給數據緩衝器420_0~420_7和數據處理電路570,因此數據緩衝器420_0~420_7與數據處理電路570可以在不經歷時序上的失配的情況下傳輸和接收數據。Since the notification to which the read command RD has been applied is transmitted to the data buffers 420_0 to 420_7 and the data processing circuit 570 at the same time, the data buffers 420_0 to 420_7 and the data processing circuit 570 may not experience a timing mismatch. Transmission and reception of data.

圖7是記憶體模組400中的用於寫入操作的時序圖,在寫入操作中寫入命令被傳送給數據處理電路570和數據緩衝器420_0~420_7。FIG. 7 is a timing diagram for a write operation in the memory module 400. In the write operation, a write command is transmitted to the data processing circuit 570 and the data buffers 420_0 to 420_7.

參見圖7,在時間701處,寫入命令WT可以從記憶體控制器4被傳輸給記憶體模組400。Referring to FIG. 7, at time 701, a write command WT may be transmitted from the memory controller 4 to the memory module 400.

然後,在從時間701起經過三個時脈的時間703處,由緩衝器控制信號產生電路510產生的緩衝器控制信號(即,通知施加寫入命令WT的緩衝器控制信號)可以經由緩衝器通訊匯流排BCOM<0:3>被傳送給數據緩衝器420_0~420_7。Then, at time 703 where three clocks have elapsed from time 701, the buffer control signal generated by the buffer control signal generating circuit 510 (ie, the buffer control signal notifying the application of the write command WT) may pass through the buffer The communication bus BCOM <0: 3> is transmitted to the data buffers 420_0 ~ 420_7.

此外,在同一時間703處,由命令延遲電路520產生的有效寫入命令WT_EFF可以被傳送給數據處理電路570。In addition, at the same time 703, a valid write command WT_EFF generated by the command delay circuit 520 may be transmitted to the data processing circuit 570.

由於已經施加了寫入命令WT的通知在同一時間處被傳送給數據緩衝器420_0~420_7和數據處理電路570,因此數據緩衝器420_0~420_7與數據處理電路570可以在不經歷時序上的失配的情況下傳輸和接收數據。Since the notification that the write command WT has been applied is transmitted to the data buffers 420_0 ~ 420_7 and the data processing circuit 570 at the same time, the data buffers 420_0 ~ 420_7 and the data processing circuit 570 can not experience timing mismatch. Transmission and reception of data.

根據各種實施例,可以在增加記憶體模組的容量的同時使得記憶體模組能夠穩定地工作。According to various embodiments, the memory module can be made to work stably while increasing the capacity of the memory module.

雖然已經出於說明的目的而描述了各種實施例,但是對於本領域技術人員將明顯的是,在不脫離所附申請專利範圍中所限定的本發明的精神和範圍的情況下,可以作出各種改變和修改。Although various embodiments have been described for the purpose of illustration, it will be apparent to those skilled in the art that various modifications can be made without departing from the spirit and scope of the invention as defined in the scope of the appended patent applications. Changes and modifications.

1‧‧‧記憶體控制器1‧‧‧Memory Controller

100‧‧‧記憶體模組100‧‧‧Memory Module

110‧‧‧暫存時脈驅動器110‧‧‧Temporary clock driver

120_0~120_7‧‧‧數據緩衝器120_0 ~ 120_7‧‧‧Data buffer

130_0~130_7‧‧‧記憶體裝置130_0 ~ 130_7‧‧‧Memory device

201‧‧‧時間201‧‧‧time

203‧‧‧時間203‧‧‧time

301‧‧‧時間301‧‧‧time

303‧‧‧時間303‧‧‧time

4‧‧‧記憶體控制器4‧‧‧Memory Controller

400‧‧‧記憶體模組400‧‧‧Memory Module

410‧‧‧模組控制器410‧‧‧Module Controller

420_0~420_7‧‧‧數據緩衝器420_0 ~ 420_7‧‧‧Data buffer

430_0~430_7‧‧‧記憶體裝置430_0 ~ 430_7‧‧‧Memory device

510‧‧‧緩衝器控制信號產生電路510‧‧‧Buffer control signal generating circuit

520‧‧‧命令延遲電路520‧‧‧command delay circuit

530‧‧‧位址延遲電路530‧‧‧Address Delay Circuit

540‧‧‧命令緩衝電路540‧‧‧command buffer circuit

550‧‧‧位址緩衝電路550‧‧‧Address buffer circuit

560‧‧‧時脈緩衝電路560‧‧‧clock buffer circuit

570‧‧‧數據處理電路570‧‧‧data processing circuit

571‧‧‧第一串行到並行和並行到串行轉換部571‧‧‧First serial-to-parallel and parallel-to-serial conversion unit

572‧‧‧錯誤校正碼產生部572‧‧‧Error correction code generation unit

573‧‧‧錯誤校正部573‧‧‧Error Correction Department

574‧‧‧壓縮部574‧‧‧Compression Department

575‧‧‧解壓縮部575‧‧‧Decompression Department

576‧‧‧選擇部576‧‧‧Selection Department

577‧‧‧第二串行到並行和並行到串行轉換部577‧‧‧Second serial-to-parallel and parallel-to-serial conversion unit

578‧‧‧數據處理控制部578‧‧‧Data Processing Control Department

601‧‧‧時間601‧‧‧time

603‧‧‧時間603‧‧‧ time

701‧‧‧時間701‧‧‧time

703‧‧‧時間703‧‧‧time

ADD‧‧‧位址ADD‧‧‧Address

ADD_EFF‧‧‧有效位址ADD_EFF‧‧‧Valid address

BCOM<0:3>‧‧‧緩衝器通訊匯流排BCOM < 0: 3 > ‧‧‧Buffer communication bus

CLK‧‧‧時脈CLK‧‧‧ clock

CLK_INT‧‧‧匯流排CLK_INT‧‧‧Bus

CMD‧‧‧命令CMD‧‧‧Order

CMD_EFF‧‧‧有效命令CMD_EFF‧‧‧Valid Command

CMD_INT‧‧‧命令CMD_INT‧‧‧Command

CMD/ADD/CLK_INT‧‧‧匯流排CMD / ADD / CLK_INT‧‧‧Bus

CTRL‧‧‧控制CTRL‧‧‧Control

DATA‧‧‧數據DATA‧‧‧Data

DATA’‧‧‧數據DATA’‧‧‧data

DAT0‧‧‧緩衝器控制信號DAT0‧‧‧Buffer control signal

DATA_INT‧‧‧匯流排DATA_INT‧‧‧Bus

DATA_INT1‧‧‧內部數據匯流排DATA_INT1‧‧‧ Internal data bus

DATA_INT2‧‧‧內部數據匯流排DATA_INT2‧‧‧ Internal data bus

DB‧‧‧數據緩衝器DB‧‧‧Data Buffer

ECC‧‧‧錯誤校正碼ECC‧‧‧Error Correction Code

ECC’‧‧‧錯誤校正碼ECC’‧‧‧ Error Correction Code

P2S‧‧‧並行到串行P2S‧‧‧ Parallel to Serial

PAR‧‧‧緩衝器控制信號PAR‧‧‧Buffer control signal

RCD‧‧‧暫存時脈驅動器RCD‧‧‧Temporary clock driver

RD‧‧‧讀取命令RD‧‧‧Read command

RD_EFF‧‧‧有效讀取命令RD_EFF‧‧‧Valid read command

S2P‧‧‧串行到並行S2P‧‧‧‧Serial to Parallel

WT‧‧‧寫入命令WT‧‧‧Write command

WT_EFF‧‧‧有效寫入命令WT_EFF‧‧‧Valid write command

圖1是圖示根據一個實施例的記憶體系統的配置的示圖。 圖2是根據一個實施例的記憶體模組100中的用於讀取操作的時序圖。 圖3是根據一個實施例的記憶體模組100中的用於寫入操作的時序圖。 圖4是圖示根據一個實施例的記憶體系統的配置的示圖。 圖5是圖示圖4中所示的模組控制器410的配置的示圖。 圖6是根據一個實施例的記憶體模組400中的用於讀取操作的時序圖。 圖7是根據一個實施例的記憶體模組400中的用於寫入操作的時序圖。FIG. 1 is a diagram illustrating a configuration of a memory system according to an embodiment. FIG. 2 is a timing diagram for a read operation in the memory module 100 according to an embodiment. FIG. 3 is a timing diagram for a write operation in the memory module 100 according to an embodiment. FIG. 4 is a diagram illustrating a configuration of a memory system according to an embodiment. FIG. 5 is a diagram illustrating a configuration of the module controller 410 shown in FIG. 4. FIG. 6 is a timing diagram for a read operation in the memory module 400 according to an embodiment. FIG. 7 is a timing diagram for a write operation in the memory module 400 according to an embodiment.

no

Claims (20)

一種記憶體模組,包括: 複數個記憶體裝置; 複數個數據緩衝器,適用於接收從記憶體控制器傳送來的寫入數據以及將讀取數據傳輸給記憶體控制器; 緩衝器控制信號產生電路,適用於基於從記憶體控制器傳送來的命令而產生用於控制所述複數個數據緩衝器的緩衝器控制信號; 命令延遲電路,適用於在讀取操作和寫入操作中基於將命令延遲緩衝器控制信號產生電路的延遲量來產生有效命令; 數據處理電路,適用於回應於有效命令而處理從所述複數個數據緩衝器傳送來的寫入數據並將處理過的寫入數據傳送給所述複數個記憶體裝置,以及處理從所述複數個記憶體裝置傳送來的讀取數據並將處理過的讀取數據傳送給所述複數個數據緩衝器;以及 命令緩衝電路,適用於將有效命令傳送給所述複數個記憶體裝置。A memory module includes: a plurality of memory devices; a plurality of data buffers, adapted to receive write data transmitted from the memory controller and transmit read data to the memory controller; buffer control signals A generation circuit adapted to generate a buffer control signal for controlling the plurality of data buffers based on a command transmitted from a memory controller; a command delay circuit adapted to perform a read operation and a write operation based on The command delay buffer controls the delay amount of the signal generating circuit to generate a valid command. The data processing circuit is adapted to process the write data transmitted from the plurality of data buffers and respond to the processed command in response to the valid command. Transmitting to the plurality of memory devices, and processing read data transmitted from the plurality of memory devices and transmitting the processed read data to the plurality of data buffers; and a command buffer circuit, applicable For transmitting a valid command to the plurality of memory devices. 如請求項1所述的記憶體模組,其中,命令延遲電路適用於在除了讀取操作和寫入操作之外的操作中將有效命令產生成與所述命令一樣。The memory module according to claim 1, wherein the command delay circuit is adapted to generate a valid command in an operation other than a read operation and a write operation to be the same as the command. 如請求項2所述的記憶體模組,還包括: 位址延遲電路,適用於在讀取操作和寫入操作中基於將從記憶體控制器傳送來的位址延遲緩衝器控制信號產生電路的延遲量來產生有效位址;以及 位址緩衝電路,適用於將有效位址傳送給所述複數個記憶體裝置。The memory module according to claim 2, further comprising: an address delay circuit, adapted to generate a control signal generating circuit based on an address delay buffer transmitted from the memory controller during a read operation and a write operation. To generate an effective address; and an address buffer circuit, which is adapted to transmit the effective address to the plurality of memory devices. 如請求項3所述的記憶體模組,其中,位址延遲電路適用於在除了讀取操作和寫入操作之外的操作中將有效位址產生成與所述位址一樣。The memory module according to claim 3, wherein the address delay circuit is adapted to generate a valid address to be the same as the address in an operation other than a read operation and a write operation. 如請求項4所述的記憶體模組,還包括: 時脈緩衝電路,適用於將從記憶體控制器傳送來的時脈傳送給所述複數個記憶體裝置。The memory module according to claim 4, further comprising: a clock buffer circuit, adapted to transmit a clock transmitted from the memory controller to the plurality of memory devices. 如請求項1所述的記憶體模組,其中,緩衝器控制信號產生電路、命令延遲電路、數據處理電路和命令緩衝電路被包括在模組控制器中。The memory module according to claim 1, wherein the buffer control signal generating circuit, the command delay circuit, the data processing circuit, and the command buffer circuit are included in a module controller. 如請求項1所述的記憶體模組,其中,數據處理電路包括: 錯誤校正碼產生部,適用於在寫入操作中基於從所述複數個數據緩衝器傳送來的寫入數據來產生要與寫入數據一起儲存在所述複數個記憶體裝置中的錯誤校正碼;以及 錯誤校正部,適用於在讀取操作中基於從所述複數個記憶體裝置讀取的錯誤校正碼來校正從所述複數個記憶體裝置讀取的讀取數據中的錯誤。The memory module according to claim 1, wherein the data processing circuit includes: an error correction code generating unit, adapted to generate a request based on write data transmitted from the plurality of data buffers during a write operation. An error correction code stored in the plurality of memory devices together with the write data; and an error correction section adapted to correct the slave data based on the error correction code read from the plurality of memory devices in a read operation An error in the read data read by the plurality of memory devices. 如請求項7所述的記憶體模組,其中,數據處理電路還包括: 壓縮部,適用於在寫入操作中壓縮要儲存在所述複數個記憶體裝置中的寫入數據和錯誤校正碼;以及 解壓縮部,適用於在讀取操作中解壓縮從所述複數個記憶體裝置讀取的讀取數據和錯誤校正碼。The memory module according to claim 7, wherein the data processing circuit further comprises: a compression unit adapted to compress the write data and the error correction code to be stored in the plurality of memory devices during a write operation. And a decompression unit, adapted to decompress the read data and the error correction code read from the plurality of memory devices in a read operation. 如請求項7所述的記憶體模組,其中,數據處理電路還包括: 數據處理控制部,適用於回應於有效命令而控制錯誤校正碼產生部和錯誤校正部的操作。The memory module according to claim 7, wherein the data processing circuit further comprises: a data processing control section adapted to control operations of the error correction code generating section and the error correction section in response to a valid command. 如請求項1所述的記憶體模組, 其中,所述複數個記憶體裝置中的每一個為動態隨機存取記憶體(dynamic random access memory, DRAM),以及 其中,記憶體模組為雙列直插記憶體模組(dual in-line memory module, DIMM)類型。The memory module according to claim 1, wherein each of the plurality of memory devices is a dynamic random access memory (DRAM), and wherein the memory module is dual In-line memory module (DIMM) type. 一種記憶體系統,包括: 記憶體模組;以及 記憶體控制器,適用於將命令、位址和寫入數據傳輸給記憶體模組,以及從記憶體模組接收讀取數據, 記憶體模組包括: 複數個記憶體裝置; 複數個數據緩衝器,適用於接收從記憶體控制器傳送來的寫入數據以及將讀取數據傳輸給記憶體控制器; 緩衝器控制信號產生電路,適用於基於所述命令來產生用於控制所述複數個數據緩衝器的緩衝器控制信號; 命令延遲電路,適用於在讀取操作和寫入操作中基於將所述命令延遲緩衝器控制信號產生電路的延遲量來產生有效命令; 數據處理電路,適用於回應於有效命令而處理從所述複數個數據緩衝器傳送來的寫入數據並將處理過的寫入數據傳送給所述複數個記憶體裝置,以及處理從所述複數個記憶體裝置傳送來的讀取數據並將處理過的讀取數據傳送給所述複數個數據緩衝器;以及 命令緩衝電路,適用於將有效命令傳送給所述複數個記憶體裝置。A memory system includes: a memory module; and a memory controller, which is adapted to transmit commands, addresses, and write data to the memory module, and receive read data from the memory module. The group includes: a plurality of memory devices; a plurality of data buffers adapted to receive write data transmitted from the memory controller and to transmit read data to the memory controller; a buffer control signal generating circuit adapted to Generating a buffer control signal for controlling the plurality of data buffers based on the command; a command delay circuit, which is suitable for reading and writing operations based on delaying the command delay buffer control signal generating circuit A delay amount to generate a valid command; a data processing circuit adapted to process the write data transmitted from the plurality of data buffers in response to the valid command and transmit the processed write data to the plurality of memory devices , And processing the read data transmitted from the plurality of memory devices and transmitting the processed read data to the plurality of A data buffer; and a command buffer circuit, adapted to transmit a valid command to the plurality of memory devices. 如請求項11所述的記憶體系統,其中,命令延遲電路適用於在除了讀取操作和寫入操作之外的操作中將有效命令產生成與所述命令一樣。The memory system according to claim 11, wherein the command delay circuit is adapted to generate a valid command in an operation other than a read operation and a write operation as the command. 如請求項12所述的記憶體系統,其中,記憶體模組還包括: 位址延遲電路,適用於在讀取操作和寫入操作中基於將從記憶體控制器傳送來的位址延遲緩衝器控制信號產生電路的延遲量來產生有效位址;以及 位址緩衝電路,適用於將有效位址傳送給所述複數個記憶體裝置。The memory system according to claim 12, wherein the memory module further comprises: an address delay circuit, which is suitable for reading and writing operations based on an address delay buffer transmitted from the memory controller. The controller controls a delay amount of the signal generating circuit to generate an effective address; and an address buffer circuit is suitable for transmitting the effective address to the plurality of memory devices. 如請求項13所述的記憶體系統,其中,位址延遲電路適用於在除了讀取操作和寫入操作之外的操作中將有效位址產生成與所述位址一樣。The memory system according to claim 13, wherein the address delay circuit is adapted to generate a valid address as the address in an operation other than a read operation and a write operation. 如請求項14所述的記憶體系統,其中,記憶體模組還包括: 時脈緩衝電路,適用於將從記憶體控制器傳送來的時脈傳送給所述複數個記憶體裝置。The memory system according to claim 14, wherein the memory module further comprises: a clock buffer circuit, which is adapted to transmit the clock transmitted from the memory controller to the plurality of memory devices. 如請求項15所述的記憶體系統,其中,緩衝器控制信號產生電路、命令延遲電路、數據處理電路、命令緩衝電路、位址延遲電路、位址緩衝電路和時脈緩衝電路被包括在記憶體模組中的模組控制器中。The memory system according to claim 15, wherein the buffer control signal generating circuit, the command delay circuit, the data processing circuit, the command buffer circuit, the address delay circuit, the address buffer circuit, and the clock buffer circuit are included in the memory. The module controller in the body module. 如請求項11所述的記憶體系統,其中,數據處理電路包括: 錯誤校正碼產生部,適用於在寫入操作中基於從所述複數個數據緩衝器傳送來的寫入數據來產生要與寫入數據一起儲存在所述複數個記憶體裝置中的錯誤校正碼;以及 錯誤校正部,適用於在讀取操作中基於從所述複數個記憶體裝置讀取的錯誤校正碼來校正從所述複數個記憶體裝置讀取的讀取數據中的錯誤。The memory system according to claim 11, wherein the data processing circuit includes: an error correction code generating unit, adapted to generate, in a write operation, a write operation based on write data transmitted from the plurality of data buffers. Write data are stored in the plurality of memory devices together with an error correction code; and an error correction unit is adapted to correct, from the error correction codes read from the plurality of memory devices, a slave device in a read operation based on the error correction codes read from the plurality of memory devices; The errors in the read data read by the plurality of memory devices are described. 如請求項17所述的記憶體系統,其中,數據處理電路還包括: 壓縮部,適用於在寫入操作中壓縮要儲存在所述複數個記憶體裝置中的寫入數據和錯誤校正碼;以及 解壓縮部,適用於在讀取操作中解壓縮從所述複數個記憶體裝置讀取的讀取數據和錯誤校正碼。The memory system according to claim 17, wherein the data processing circuit further comprises: a compression unit adapted to compress the write data and the error correction code to be stored in the plurality of memory devices during a write operation; And a decompression unit, adapted to decompress the read data and the error correction code read from the plurality of memory devices in a read operation. 如請求項18所述的記憶體系統,其中,數據處理電路還包括: 數據處理控制部,適用於回應於有效命令而控制錯誤校正碼產生部和錯誤校正部的操作。The memory system according to claim 18, wherein the data processing circuit further comprises: a data processing control section adapted to control operations of the error correction code generating section and the error correction section in response to a valid command. 如請求項11所述的記憶體系統, 其中,所述複數個記憶體裝置中的每一個為動態隨機存取記憶體(dynamic random access memory, DRAM),以及 其中,記憶體模組為雙列直插記憶體模組(dual in-line memory module, DIMM)類型。The memory system according to claim 11, wherein each of the plurality of memory devices is a dynamic random access memory (DRAM), and wherein the memory modules are dual-rank Dual in-line memory module (DIMM) type.
TW106142444A 2017-05-22 2017-12-04 Memory module and memory system including the same TWI759368B (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR10-2017-0062760 2017-05-22
KR1020170062760A KR20180127710A (en) 2017-05-22 2017-05-22 Memory module and memory system including the same
??10-2017-0062760 2017-05-22

Publications (2)

Publication Number Publication Date
TW201901447A true TW201901447A (en) 2019-01-01
TWI759368B TWI759368B (en) 2022-04-01

Family

ID=64271627

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106142444A TWI759368B (en) 2017-05-22 2017-12-04 Memory module and memory system including the same

Country Status (4)

Country Link
US (1) US10509594B2 (en)
KR (1) KR20180127710A (en)
CN (1) CN108958644B (en)
TW (1) TWI759368B (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102681170B1 (en) * 2017-01-17 2024-07-04 에스케이하이닉스 주식회사 Memory device, memory system including the same, and repair operation thereof
JP7078842B2 (en) * 2018-02-08 2022-06-01 富士通株式会社 Transmitter, receiver, clock transfer method and program
KR102805152B1 (en) * 2018-08-03 2025-05-12 삼성전자주식회사 Semiconductor memory module including nonvolatile memory devices
KR102766795B1 (en) 2018-09-17 2025-02-14 에스케이하이닉스 주식회사 Memory module and memory system including the same
KR102745459B1 (en) * 2018-12-18 2024-12-20 에스케이하이닉스 주식회사 Smart car system
CN110222006B (en) * 2019-05-15 2023-10-20 杭州电子科技大学 RRAM-based processor architecture and control method
US11508422B2 (en) * 2019-08-02 2022-11-22 Micron Technology, Inc. Methods for memory power management and memory devices and systems employing the same
US12326712B2 (en) * 2020-02-04 2025-06-10 Fanuc Corporation Control system
CN113448891B (en) * 2020-03-25 2023-07-21 澜起科技股份有限公司 Memory controller and method for monitoring access to memory modules
CN114255806B (en) * 2020-09-23 2023-07-07 长鑫存储技术有限公司 Datapath interface circuits, memory and storage systems

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4159415B2 (en) * 2002-08-23 2008-10-01 エルピーダメモリ株式会社 Memory module and memory system
US7669027B2 (en) 2004-08-19 2010-02-23 Micron Technology, Inc. Memory command delay balancing in a daisy-chained memory topology
US8589720B2 (en) * 2008-04-15 2013-11-19 Qualcomm Incorporated Synchronizing timing mismatch by data insertion
US9128632B2 (en) * 2009-07-16 2015-09-08 Netlist, Inc. Memory module with distributed data buffers and method of operation
US8984320B2 (en) * 2011-03-29 2015-03-17 Micron Technology, Inc. Command paths, apparatuses and methods for providing a command to a data block
US8799745B2 (en) * 2011-04-12 2014-08-05 Hitachi, Ltd. Storage control apparatus and error correction method
KR101964261B1 (en) * 2012-05-17 2019-04-01 삼성전자주식회사 Magenetic Random Access Memory
US9734097B2 (en) * 2013-03-15 2017-08-15 Micron Technology, Inc. Apparatuses and methods for variable latency memory operations
JP6146128B2 (en) * 2013-05-20 2017-06-14 ヤマハ株式会社 Data processing device
KR102105139B1 (en) * 2013-07-11 2020-04-28 에스케이하이닉스 주식회사 Clock delay detecting circuit and semiconductor apparatus using the same
US20160342545A1 (en) * 2014-02-12 2016-11-24 Hitachi, Ltd. Data memory device
US9449651B2 (en) 2014-03-21 2016-09-20 Diablo Technologies Inc. System and method for offsetting the data buffer latency of a device implementing a JEDEC standard DDR-4 LRDIMM chipset
US20150310898A1 (en) * 2014-04-23 2015-10-29 Diablo Technologies Inc. System and method for providing a configurable timing control for a memory system
US10102884B2 (en) * 2015-10-22 2018-10-16 International Business Machines Corporation Distributed serialized data buffer and a memory module for a cascadable and extended memory subsystem
US9640278B1 (en) * 2015-12-10 2017-05-02 Integrated Device Technology, Inc. Testability/manufacturing method to adjust output skew timing
US9575681B1 (en) * 2016-04-29 2017-02-21 International Business Machines Corporation Data deduplication with reduced hash computations
US20180181504A1 (en) * 2016-12-23 2018-06-28 Intel Corporation Apparatuses and methods for training one or more signal timing relations of a memory interface

Also Published As

Publication number Publication date
KR20180127710A (en) 2018-11-30
CN108958644B (en) 2021-05-11
CN108958644A (en) 2018-12-07
US20180335979A1 (en) 2018-11-22
TWI759368B (en) 2022-04-01
US10509594B2 (en) 2019-12-17

Similar Documents

Publication Publication Date Title
TWI759368B (en) Memory module and memory system including the same
US10997020B2 (en) Memory device, memory system, and method of operating the same
CN109074851B (en) Internal Error Checksum Correction (ECC) utilizing extra system bits
US10684793B2 (en) Semiconductor memory devices including error correction circuits and methods of operating the semiconductor memory devices
CN109712661B (en) Semiconductor memory device and memory system including semiconductor memory device
US12088291B2 (en) Apparatus for transmitting and receiving a signal, a method of operating the same, a memory device, and a method of operating the memory device
CN109976665A (en) Memory device and memory module including the memory device
CN113223582A (en) Memory device for transmitting and receiving data at high speed and low power
US11188260B2 (en) Memory module and memory system including the same
US11551735B2 (en) High performance, non-volatile memory module
US20180052732A1 (en) Semiconductor device and semiconductor system
KR20150049267A (en) A semiconductor memory device and a method of operating the same
JP2021149931A (en) Unidirectional information channel for monitoring bidirectional information channel drift
US20180260345A1 (en) Memory module and memory system including the same
KR102345539B1 (en) Memory Device performing internal process and Operating Method thereof
CN110809798A (en) Systems and methods for data path power conservation in DDR5 memory devices
CN110659231A (en) Memory system and method for accessing memory system
CN113316771B (en) Memory Module Controller
US12411730B2 (en) Memory system including data-width aware encoder and data-width aware decoder and operating method thereof
US20240055395A1 (en) Semiconductor package including buffer chip bonded to memory dies using wires
KR20150001946A (en) Semi conductor and memory system with cyclic redundancy check circuit
CN120183451A (en) Memory controller and memory system including the same
US20170206940A1 (en) Semiconductor device