KR20180127710A - 메모리 모듈 및 이를 포함하는 메모리 시스템 - Google Patents

메모리 모듈 및 이를 포함하는 메모리 시스템 Download PDF

Info

Publication number
KR20180127710A
KR20180127710A KR1020170062760A KR20170062760A KR20180127710A KR 20180127710 A KR20180127710 A KR 20180127710A KR 1020170062760 A KR1020170062760 A KR 1020170062760A KR 20170062760 A KR20170062760 A KR 20170062760A KR 20180127710 A KR20180127710 A KR 20180127710A
Authority
KR
South Korea
Prior art keywords
memory
data
command
memory devices
read
Prior art date
Application number
KR1020170062760A
Other languages
English (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 에스케이하이닉스 주식회사
Priority to KR1020170062760A priority Critical patent/KR20180127710A/ko
Priority to US15/831,024 priority patent/US10509594B2/en
Priority to TW106142444A priority patent/TWI759368B/zh
Priority to CN201810156840.5A priority patent/CN108958644B/zh
Publication of KR20180127710A publication Critical patent/KR20180127710A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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

메모리 모듈은, 다수의 메모리 장치; 메모리 콘트롤러로부터 전달되는 라이트 데이터를 수신하고, 상기 메모리 콘트롤러로 리드 데이터를 송신하기 위한 다수의 데이터 버퍼; 및 상기 메모리 콘트롤러로부터 전달되는 커맨드를 이용해 상기 다수의 데이터 버퍼를 제어할 버퍼 제어 신호들을 생성하는 버퍼 제어 신호 생성 회로; 리드 동작 및 라이트 동작시에 상기 커맨드를 상기 버퍼 제어 신호 생성 회로의 지연값만큼 지연시켜 효과 커맨드를 생성하는 커맨드 지연 회로; 상기 효과 커맨드에 응답해 상기 다수의 데이터 버퍼로부터 전달된 라이트 데이터를 처리해 상기 다수의 메모리 장치로 전달하고, 상기 다수의 메모리 장치로부터 전달된 리드 데이터를 처리해 상기 다수의 데이터 버퍼로 전달하는 데이터 처리 회로; 및 상기 효과 커맨드를 상기 다수의 메모리 장치로 전달하기 위한 커맨드 버퍼 회로를 포함할 수 있다.

Description

메모리 모듈 및 이를 포함하는 메모리 시스템 {MEMORY MODULE AND MEMORY SYSTEM INCLUDING THE SAME}
본 특허 문헌은 메모리 모듈 및 이를 포함하는 메모리 시스템에 관한 것이다.
최근 스마트 폰, 태블릿 PC와 같은 이동 통신 단말기의 보급이 대중화되고, 소셜 네트워크 서비스(SNS, Social Network Service), 사물 네트워크(M2M, Machine to Machine), 센서 네트워크(Sensor Network) 등의 사용이 증가함에 따라 데이터의 양, 생성 속도 및 그 다양성이 기하급수적으로 증가하고 있다.
빅 데이터의 처리를 위해서는 메모리의 속도도 중요하지만 메모리 장치 및 이를 포함하는 메모리 모듈의 저장 용량이 매우 클 것이 요구된다.
본 발명의 실시예들은 메모리 모듈의 용량을 늘리면서도 메모리 모듈이 안정적으로 동작 가능하게 하는 기술을 제공할 수 있다.
본 발명의 일실시예에 따른 메모리 모듈은, 다수의 메모리 장치; 메모리 콘트롤러로부터 전달되는 라이트 데이터를 수신하고, 상기 메모리 콘트롤러로 리드 데이터를 송신하기 위한 다수의 데이터 버퍼; 및 상기 메모리 콘트롤러로부터 전달되는 커맨드를 이용해 상기 다수의 데이터 버퍼를 제어할 버퍼 제어 신호들을 생성하는 버퍼 제어 신호 생성 회로; 리드 동작 및 라이트 동작시에 상기 커맨드를 상기 버퍼 제어 신호 생성 회로의 지연값만큼 지연시켜 효과 커맨드를 생성하는 커맨드 지연 회로; 상기 효과 커맨드에 응답해 상기 다수의 데이터 버퍼로부터 전달된 라이트 데이터를 처리해 상기 다수의 메모리 장치로 전달하고, 상기 다수의 메모리 장치로부터 전달된 리드 데이터를 처리해 상기 다수의 데이터 버퍼로 전달하는 데이터 처리 회로; 및 상기 효과 커맨드를 상기 다수의 메모리 장치로 전달하기 위한 커맨드 버퍼 회로를 포함할 수 있다.
또한, 본 발명의 일실시예에 따른 메모리 시스템은, 메모리 모듈; 및 상기 메모리 모듈로 커맨드, 어드레스 및 라이트 데이터를 송신하고, 상기 메모리 모듈로부터 리드 데이터를 수신하는 메모리 콘트롤러를 포함하고, 상기 메모리 모듈은 다수의 메모리 장치; 상기 메모리 콘트롤러로부터 전달되는 상기 라이트 데이터를 수신하고, 상기 메모리 콘트롤러로 상기 리드 데이터를 송신하기 위한 다수의 데이터 버퍼; 및 상기 커맨드를 이용해 상기 다수의 데이터 버퍼를 제어할 버퍼 제어 신호들을 생성하는 버퍼 제어 신호 생성 회로; 리드 동작 및 라이트 동작시에 상기 커맨드를 상기 버퍼 제어 신호 생성 회로의 지연값만큼 지연시켜 효과 커맨드를 생성하는 커맨드 지연 회로; 상기 효과 커맨드에 응답해 상기 다수의 데이터 버퍼로부터 전달된 라이트 데이터를 처리해 상기 다수의 메모리 장치로 전달하고, 상기 다수의 메모리 장치로부터 전달된 리드 데이터를 처리해 상기 다수의 데이터 버퍼로 전달하는 데이터 처리 회로; 및 상기 효과 커맨드를 상기 다수의 메모리 장치로 전달하기 위한 커맨드 버퍼 회로를 포함할 수 있다.
본 발명의 실시예들에 따르면, 메모리 모듈의 용량을 늘리면서도 메모리 모듈을 안정적으로 동작시킬 수 있다.
도 1은 본 발명의 일실시예에 따른 메모리 시스템의 구성도.
도 2는 리드 동작시에 메모리 모듈(100)에서 리드 커맨드가 메모리 장치들(130_0~130_7) 및 데이터 버퍼들(120_0~120_7)로 전달되는 타이밍을 도시한 도면.
도 3은 라이트 동작시에 메모리 모듈(100)에서 라이트 커맨드가 메모리 장치들(130_0~130_7) 및 데이터 버퍼들(120_0~120_7)로 전달되는 타이밍을 도시한 도면.
도 4는 본 발명의 다른 실시예에 따른 메모리 시스템의 구성도.
도 5는 도 4의 모듈 콘트롤러(410)의 일실시예 구성도.
도 6은 메모리 모듈(400)에서 리드 동작시에 리드 커맨드가 데이터 처리 회로(570)로 전달되는 타이밍과 데이터 버퍼들(420_0~420_7)로 전달되는 타이밍을 도시한 도면.
도 7은 메모리 모듈(400)에서 라이트 동작시에 라이트 커맨드가 데이터 처리 회로(570)로 전달되는 타이밍과 데이터 버퍼들(420_0~420_7)로 전달되는 타이밍을 도시한 도면.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있도록 상세히 설명하기 위하여, 본 발명의 가장 바람직한 실시예를 첨부 도면을 참조하여 설명하기로 한다. 본 발명을 설명함에 있어서, 본 발명의 요지와 무관한 공지의 구성은 생략될 수 있다. 각 도면의 구성 요소들에 참조 번호를 부가함에 있어서, 동일한 구성요소들에 한해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 번호를 가지도록 하고 있음에 유의하여야 한다.
도 1은 본 발명의 일실시예에 따른 메모리 시스템의 구성도이다.
도 1을 참조하면, 메모리 시스템은, 호스트의 메모리 콘트롤러(1)와 메모리 모듈(100)을 포함할 수 있다.
호스트(host)의 메모리 콘트롤러(1)는 메모리 모듈(100)로 커맨드(CMD), 어드레스(ADD), 및 클럭(CLK)을 송신해 메모리 모듈(100)을 제어하고, 메모리 모듈(100)과 데이터(DATA)를 송/수신할 수 있다. 메모리 콘트롤러(1)는 CPU(Central Processing Unit), GPU(Graphic Processing Unit), AP(Application Processor) 등의 프로세서에 포함되거나, 프로세서 외부의 별도의 반도체 칩 상에 존재할 수도 있는 등 PC, 서버 시스템 및 모바일 시스템 등 메모리 모듈(100)을 사용하는 다양한 시스템 상의 어느 곳에든 존재할 수 있다.
메모리 모듈(100)은 레지스터 클럭 드라이버(110, RCD: Register Clock Driver), 데이터 버퍼들(120_0~120_7) 및 메모리 장치들(130_0~130_7)을 포함할 수 있다. 도 1에 도시된 메모리 모듈(100)을 LRDIMM(Load Reduced Dual In-Line Memory Module) 이라고 한다.
레지스터 클럭 드라이버(110)는 메모리 콘트롤러(1)로부터 제공되는 커맨드(CMD), 어드레스(ADD), 및 클럭(CLK)을 버퍼링하여 메모리 장치들(130_0~130_7)로 제공할 수 있다. 또한, 레지스터 클럭 드라이버(110)는 클럭(CLK)을 데이터 버퍼들(120_0~120_7)로도 제공할 수 있으며, 버퍼 통신 버스(BCOM<0:3>)를 통해 데이터 버퍼들(120_0~120_7)이 필요로 하는 커맨드(CMD)와 어드레스(ADD)의 정보를 버퍼 통신 버스(BCOM<0:3>)에 맞는 형태로 가공해 제공할 수 있다.
데이터 버퍼들(120_0~120_7)은 라이트 동작시에는 메모리 콘트롤러(1)로부터 데이터(DATA)를 수신해 메모리 장치들(130_0~130_7)로 전달하고, 리드 동작시에는 메모리 장치들(130_0~130_7)로부터 데이터(DATA)를 수신해 메모리 콘트롤러(1)로 전달할 수 있다. 메모리 모듈(100)에서 메모리 콘트롤러(1)와 데이터(DATA)를 직접 주고받는 것은 데이터 버퍼들(120_0~120_7)이므로, 라이트 동작시에 데이터 버퍼들(120_0~120_7)은 메모리 콘트롤러(1)로부터 라이트 커맨드가 인가된 시점으로부터 라이트 레이턴시(WL: Write Latency)가 지난 시점에 데이터(DATA)를 메모리 콘트롤러(1)로부터 수신해야 하며, 데이터 버퍼들(120_0~120_7)은 메모리 콘트롤러(1)로부터 리드 커맨드가 인가된 시점으로부터 카스 레이턴시(CL: Cas Latency)가 지난 시점에 데이터(DATA)를 메모리 콘트롤러(1)로 송신해야 한다. 따라서 데이터 버퍼들(120_0~120_7)은 라이트 커맨드의 인가 시점 및 리드 커맨드의 인가 시점에 대한 정보가 필요한데, 라이트 및 리드 커맨드의 인가 시점과 관련된 정보를 버퍼 통신 버스(BCOM<0:3>)를 통해 레지스터 클럭 드라이버(110)로부터 제공 받을 수 있다. 그 밖에도 데이터 버퍼들(120_0~120_7)의 설정을 위한 정보가 버퍼 통신 버스(BCOM<0:3>)를 통해 레지스터 클럭 드라이버(110)로부터 데이터 버퍼들(120_0~120_7)로 제공될 수 있다.
메모리 장치들(130_0~130_7)은 커맨드(CMD), 어드레스(ADD) 및 클럭(CLK)은 레지스터 클럭 드라이버(110)로부터 전달받고, 데이터(DATA)는 데이터 버퍼들(120_0~120_7)을 통해 송/수신하며 동작할 수 있다. 메모리 장치들(130_0~130_7) 각각은 DRAM(Dynamic Random Access Memory), RRAM(Resistive Random Access Memory), PRAM(Phase-change Random Access Memory), FRAM(Ferroelectric Random Access Memory), MRAM(Magnetic Random Access Memory) 등 다양한 종류의 메모리들 중 하나일 수 있다.
도면의 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)로 클럭이 전송되는 버스를 나타낼 수 있다.
도 2는 리드 동작시에 메모리 모듈(100)에서 리드 커맨드가 메모리 장치들(130_0~130_7) 및 데이터 버퍼들(120_0~120_7)로 전달되는 타이밍을 도시한 도면이다.
도 2에서 CMD는 메모리 콘트롤러(1)로부터 레지스터 클럭 드라이버(110)로 전송되는 커맨드를 나타내며, CMD_INT는 레지스터 클럭 드라이버(110)로부터 메모리 장치들로 전송되는 커맨드를 나타낼 수 있다.
도 2를 참조하면, 시점(201)에 메모리 콘트롤러(1)로부터 레지스터 클럭 드라이버(110)로 리드 커맨드(RD)가 전송될 수 있다.
그리고 시점(201)으로부터 3클럭이 지난 시점(203)에 레지스터 클럭 드라이버(110)는 버퍼링된 리드 커맨드(RD)를 메모리 장치들(130_0~130_7)로 전달할 수 있다. 또한, 동일한 시점(203)에 레지스터 클럭 드라이버(110)는 버퍼 통신 버스(BCOM<0:3>)를 통해 전달될 버퍼 제어 신호의 형식으로 변경된 리드 커맨드를 시점(203)에 데이터 버퍼들(120_0~120_7)로 전달할 수 있다. 여기서, 버퍼 통신 버스(BCOM<0:3>)로 전달되는 RD는 리드 커맨드가 인가되었음을 나타내는 버퍼 제어 신호, DAT0는 선택된 메모리 뱅크들을 나타내는 버퍼 제어 신호, PAR은 리드 커맨드 및 데이터에 대한 패리티(parity) 체크를 지시하는 버퍼 제어 신호일 수 있다.
도 2를 참조하면, 레지스터 클럭 드라이버(110)가 메모리 콘트롤러(1)로부터 리드 동작이 지시되었음을 알리는 리드 커맨드가 메모리 장치들(130_0~130_7)과 데이터 버퍼들(120_0~120_7)에 동일한 시점(203)에 전달되는 것을 확인할 수 있다. 리드 동작시에 리드 커맨드가 인가되었음이 메모리 장치들(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)로 전달하는 타이밍이 어긋나지 않기 때문이다.
도 3은 라이트 동작시에 메모리 모듈(100)에서 라이트 커맨드가 메모리 장치들(130_0~130_7) 및 데이터 버퍼들(120_0~120_7)로 전달되는 타이밍을 도시한 도면이다.
도 3을 참조하면, 시점(301)에 메모리 콘트롤러(1)로부터 레지스터 클럭 드라이버(110)로 라이트 커맨드(WT)가 전송될 수 있다.
그리고 시점(301)으로부터 3클럭이 지난 시점(303)에 레지스터 클럭 드라이버(110)는 버퍼링된 라이트 커맨드(WT)를 메모리 장치들(130_0~130_7)로 전달할 수 있다. 또한, 동일한 시점(303)에 레지스터 클럭 드라이버(110)는 버퍼 통신 버스(BCOM<0:3>)를 통해 전달될 버퍼 제어 신호의 형식으로 변경된 라이트 커맨드를 시점(303)에 데이터 버퍼들(120_0~120_7)로 전달할 수 있다. 여기서, 버퍼 통신 버스(BCOM<0:3>)로 전달되는 WT는 리드 커맨드가 인가되었음을 나타내는 버퍼 제어 신호, DAT0는 선택된 메모리 뱅크들을 나타내는 버퍼 제어 신호, PAR은 라이트 커맨드 및 데이터에 대한 패리티(parity) 체크를 지시하는 버퍼 제어 신호일 수 있다.
도 3을 참조하면, 레지스터 클럭 드라이버(110)가 메모리 콘트롤러(1)로부터 라이트 동작이 지시되었음을 알리는 라이트 커맨드가 메모리 장치들(130_0~130_7)과 데이터 버퍼들(120_0~120_7)에 동일한 시점(203)에 전달되는 것을 확인할 수 있다. 라이트 동작시에도 리드 동작시와 마찬가지로 라이트 커맨드가 인가되었음이 메모리 장치들(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)로부터 전달되는 데이터를 수신하는 타이밍이 어긋나지 않기 때문이다.
도 4는 본 발명의 다른 실시예에 따른 메모리 시스템의 구성도이다.
도 4를 참조하면, 메모리 시스템은, 호스트의 메모리 콘트롤러(4)와 메모리 모듈(400)을 포함할 수 있다.
호스트(host)의 메모리 콘트롤러(4)는 메모리 모듈(400)로 커맨드(CMD), 어드레스(ADD), 및 클럭(CLK)을 송신해 메모리 모듈(400)을 제어하고, 메모리 모듈(400)과 데이터(DATA)를 송/수신할 수 있다. 메모리 콘트롤러(4)는 CPU(Central Processing Unit), GPU(Graphic Processing Unit), AP(Application Processor) 등의 프로세서에 포함되거나, 프로세서 외부의 별도의 반도체 칩 상에 존재할 수도 있는 등 PC, 서버 시스템 및 모바일 시스템 등 메모리 모듈(400)을 사용하는 다양한 시스템 상의 어느 곳에든 존재할 수 있다.
메모리 모듈(400)은 모듈 콘트롤러(410), 데이터 버퍼들(420_0~420_7) 및 메모리 장치들(430_0~430_7)을 포함할 수 있다.
메모리 장치들(430_0~430_7) 각각은 매우 큰 용량을 가질 수 있다. 이를 위해 메모리 장치들(430_0~430_7) 각각은 적층된(stacked) 다수개의 메모리 칩들을 포함할 수 있다. 예를 들어, 메모리 장치들(430_0~430_7) 각각은 8개의 메모리 칩들을 포함하고, 메모리 모듈(400)의 메모리 장치들(430_0~430_7) 전체적으로는 64개의 메모리 칩들을 포함할 수 있다. 메모리 장치들(430_0~430_7)의 용량을 늘리기 위해 다수개의 메모리 칩들을 적층하는 경우에 로딩이 증가하고 수많은 신호들의 라우팅이 어려워지므로 메모리 장치들(430_0~430_7)의 레이턴시가 증가하고 라이트 및 리드 동작 과정에서 많은 에러가 발생할 수밖에 없다. 메모리 장치들(430_0~430_7) 각각은 DRAM(Dynamic Random Access Memory), RRAM(Resistive Random Access Memory), PRAM(Phase-change Random Access Memory), FRAM(Ferroelectric Random Access Memory), MRAM(Magnetic Random Access Memory) 등 다양한 종류의 메모리들 중 하나일 수 있다.
모듈 콘트롤러(410)는 메모리 콘트롤러(4)로부터 제공되는 커맨드(CMD), 어드레스(ADD) 및 클럭(CLK)을 버퍼링하여 메모리 장치들(430_0~430_7)로 제공할 수 있다. 또한, 모듈 콘트롤러(410)는 클럭(CLK)을 데이터 버퍼들(420_0~420_7)로도 제공할 수 있으며, 버퍼 통신 버스(BCOM<0:3>)를 통해 데이터 버퍼들(420_0~420_7)이 필요로 하는 커맨드(CMD)와 어드레스(ADD)의 정보를 버퍼 통신 버스(BCOM<0:3>)에 맞는 형태로 가공해 제공할 수 있다. 이상의 모듈 콘트롤러(410)의 동작은 레지스터 클럭 드라이버(110)의 동작과 동일할 수 있다.
모듈 콘트롤러(410)는 레지스터 클럭 드라이버(110)와는 다르게, 데이터 버퍼들(420_0~420_7)과 메모리 장치들(430_0~430_7) 간의 데이터(DATA)를 전달하는 역할을 수행할 수 있다. 모듈 콘트롤러(410)는 라이트 동작시에는 데이터 버퍼들(420_0~420_7)로부터 전달된 라이트 데이터를 이용해 에러 정정 코드를 생성할 수 있다. 그리고 라이트 데이터와 에러 정정 코드가 메모리 장치들(430_0~430_7)에 라이트될 수 있도록 라이트 데이터와 에러 정정 코드를 메모리 장치들(430_0~430_7)로 전송할 수 있다. 또한, 모듈 콘트롤러(410)는 리드 동작시에는 메모리 장치들(430_0~430_7)로부터 리드된 에러 정정 코드를 이용해 메모리 장치들(430_0~430_7)로부터 리드된 리드 데이터의 에러를 정정하고, 에러가 정정된 리드 데이터를 데이터 버퍼들(420_0~420_7)로 전송할 수 있다. 따라서 데이터 버퍼들(420_0~420_7)과 모듈 콘트롤러(410) 간의 내부 데이터 버스(DATA_INT1)로는 데이터가 전송되고, 모듈 콘트롤러(410)와 메모리 장치들(430_0~430_7) 간의 내부 데이터 버스(DATA_INT2)로는 데이터와 에러 정정 코드가 전송될 수 있다. 모듈 콘트롤러(410)의 에러 정정 코드 생성 동작 및 에러 정정 동작에 의해, 메모리 장치들(430_0~430_7)의 용량이 늘어나고 메모리 장치들(430_0~430_7) 각각이 다수개의 적층된 메모리 칩들을 포함하는 것으로 인해 에러가 증가하는 문제를 해결할 수 있다.
또한, 모듈 콘트롤러(410)는 메모리 장치들(430_0~430_7)에 저장 가능한 데이터의 용량을 늘리기 위해 데이터를 압축(compress) 및 압축해제(decompress)하는 동작을 수행할 수 있다. 예를 들어, 라이트 동작시에는 데이터를 압축해 메모리 장치들(430_0~430_7)로 전달하고, 리드 동작시에는 메모리 장치들(430_0~430_7)로부터 리드된 데이터를 압축 해제해 데이터 버퍼들(420_0~420_7)로 전달하는 것에 의해 메모리 장치들(430_0~430_7)에 더 많은 데이터가 저장 가능하도록 할 수 있다.
도 4의 메모리 시스템에서는 도 2의 메모리 시스템에서와 다르게 리드 및 라이트 동작시에 모듈 콘트롤러(410)와 데이터 버퍼들(420_0~420_7)이 직접 데이터를 송수신한다. 그러므로 모듈 콘트롤러(410)의 데이터 송수신 타이밍과 데이터 버퍼들(420_0~420_7)의 데이터 송수신 타이밍이 맞아야 한다.
도 5는 도 4의 모듈 콘트롤러(410)의 일실시예 구성도이다.
도 5를 참조하면, 모듈 콘트롤러(410)는 버퍼 제어 신호 생성 회로(510), 커맨드 지연 회로(520), 어드레스 지연 회로(530), 커맨드 버퍼 회로(540), 어드레스 버퍼 회로(550), 클럭 버퍼 회로(560) 및 데이터 처리 회로(570)를 포함할 수 있다.
버퍼 제어 신호 생성 회로(510)는 커맨드(CMD)와 어드레스(ADD)를 이용해 데이터 버퍼들(420_0~420_7)을 제어하기 위한 버퍼 제어 신호들, 즉 버퍼 통신 버스(BCOM<0:3>)에 실릴 신호들, 을 생성할 수 있다. 버퍼 제어 신호 생성 회로(510)는 커맨드(CMD)와 어드레스(ADD)를 통해 전달되는 정보들 중 데이터 버퍼들(420_0~420_7)의 동작에 필요한 정보들을 버퍼 통신 버스(BCOM<0:3>)의 프로토콜에 알맞은 버퍼 제어 신호들로 변환할 수 있다. 버퍼 제어 신호 생성 회로(510)는 어드레스(ADD)의 전체 비트를 입력받을 수도 있으며 어드레스(ADD)의 일부 비트를 입력받을 수도 있다.
커맨드 지연 회로(520)는 리드 동작 및 라이트 동작시에 커맨드(CMD)를 버퍼 제어 신호 생성 회로(510)의 지연값만큼 지연시켜 효과(effective) 커맨드(CMD_EFF)를 생성할 수 있다. 예를 들어, 버퍼 제어 신호 생성 회로(510)가 커맨드(CMD)와 어드레스(ADD)를 이용해 버퍼 제어 신호들을 생성하는데 3클럭의 지연이 발생한다면, 커맨드 지연 회로(520)도 이와 동일하게 커맨드(CMD)를 3클럭 지연시켜 효과 커맨드(CMD_EFF)를 생성할 수 있다. 리드 동작 및 라이트 동작이 아닌 경우에는 커맨드 지연 회로(520)는 커맨드(CMD)를 지연시키지 않고 그대로 효과 커맨드(CMD_EFF)로 생성할 수 있다. 즉, 리드 동작 및 라이트 동작이 아닌 경우에 커맨드 지연 회로(520)의 지연값은 0으로 설정될 수 있다. 커맨드 지연 회로(520)는 커맨드(CMD)를 입력받으므로 리드 동작 및 라이트 동작과 그렇지 않은 동작을 구별할 수 있다.
어드레스 지연 회로(530)는 리드 동작 및 라이트 동작시에 어드레스를 버퍼 제어 신호 생성 회로(510)의 지연값만큼 지연시켜 효과 어드레스(ADD_EFF)를 생성할 수 있다. 리드 동작 및 라이트 동작이 아닌 경우에는 어드레스 지연 회로(530)는 어드레스(ADD)를 지연시키지 않고 그대로 효과 어드레스(ADD_EFF)로 생성할 수 있다. 즉, 어드레스 지연 회로(530)는 커맨드 지연 회로(520)가 커맨드(CMD)를 지연시키는 것과 동일하게 어드레스(ADD)를 지연시켜 효과 어드레스(ADD_EFF)를 생성할 수 있다. 리드/라이트 신호(RD/WT)는 커맨드 지연 회로(520)가 어드레스 지연 회로(530)에게 리드 동작 및 라이트 동작을 알려주기 위한 신호이다. 즉, 리드/라이트 신호(RD/WT)는 리드 동작시에 그리고 라이트 동작시에 활성화되는 신호이다.
커맨드 버퍼 회로(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)로 전달될 수 있다.
데이터 처리 회로(570)는 제1직-병렬 및 병-직렬 변환부(571), 에러 정정 코드 생성부(572), 에러 정정부(573), 압축부(574), 압축 해제부(575), 선택부(576), 제2직-병렬 및 병-직렬 변환부(577) 및 데이터 처리 제어부(578)를 포함할 수 있다.
제1직-병렬 및 병-직렬 변환부(571)는 라이트 동작시에는 데이터 버퍼들(420_0~420_7)로부터 전달된 데이터(DATA)를 직-병렬 변환해 에러 정정 코드 생성부(572)로 전달하고, 리드 동작시에는 에러 정정부(573)로부터 전달된 데이터(DATA)를 병-직렬 변환해 데이터 버퍼들(420_0~420_7)로 전달할 수 있다. 이는 에러 정정 코드 생성부(572) 및 에러 정정부(573)가 데이터를 병렬 처리 가능하도록 해 에러 정정 코드(ECC)의 생성 및 에러의 정정에 필요한 시간을 줄이기 위해서이다.
에러 정정 코드 생성부(572)는 라이트 동작시에 제1직-병렬 및 병-직렬 변환부(571)로부터 전달된 데이터(DATA)를 이용해 에러 정정 코드(ECC)를 생성할 수 있다. 에러 정정부(573)는 리드 동작시에 제2직-병렬 및 병-직렬 변환부(577) 또는 압축 해제부(575)로부터 전달된 에러 정정 코드(ECC)를 이용해 데이터(DATA)의 에러를 정정해 제1직-병렬 및 병-직렬 변환부(571)로 전달할 수 있다.
압축부(574)는 라이트 동작시에 데이터(DATA)와 에러 정정 코드(ECC)를 압축해 이들의 비트 수를 줄일 수 있다. 도면의 데이터(DATA')와 에러 정정 코드(ECC')는 데이터(DATA)와 에러 정정 코드(ECC)가 압축된 것을 나타낸다. 압축 해제부(575)는 리드 동작시에 데이터(DATA')와 에러 정정 코드(ECC')의 압축을 해제할 수 있다.
선택부(576)는 압축부(574) 및 압축 해제부(575)의 사용 여부를 선택하기 위한 구성이다. 압축 기능을 사용하지 않는 경우에 선택부(576)는 에러 정정 코드 생성부(572)와 에러 정정부(573)를 제2직-병렬 및 병-직렬 변환부(577)와 전기적으로 연결할 수 있다. 즉 압축부(574) 및 압축 해제부(575)를 바이패스 시킬 수 있다. 압축 기능을 사용하는 경우에 선택부(576)는 압축부(574) 및 압축 해제부(575)를 제2직-병렬 및 병-직렬 변환부(577)와 전기적으로 연결할 수 있다.
제2직-병렬 및 병-직렬 변환부(577)는 라이트 동작시에는 데이터와 에러 정정 코드를 병-직렬 변환하고, 리드 동작시에는 데이터와 에러 정정 코드를 직-병렬 변환할 수 있다. 즉, 제2직-병렬 및 병-직렬 변환부(577)는 제1직-병렬 및 병-직렬 변환부(571)와 반대의 동작을 수행할 수 있다.
데이터 처리 제어부(578)는 효과 커맨드(CMD_EFF)에 응답해 데이터 처리 회로(570) 내부의 구성들(571~578)의 동작 및 동작 타이밍 등을 제어할 수 있다. 도면의 데이터 처리 제어부(578)와 구성들(571~578) 간의 제어(CTRL)의 표시는 데이터 처리 제어부(578)가 구성들(571~578)을 제어함을 나타낸 것이다. 데이터 처리 제어부(578)의 타이밍 제어 동작이 커맨드(CMD)가 아닌 효과 커맨드(CMD_EFF)에 응답해 이루어지므로 데이터 처리 제어부(578)의 데이터 처리 타이밍과 데이터 버퍼들(420_0~420_7)의 데이터 처리 타이밍이 어긋나지 않고 맞을 수 있다. 이는 데이터 버퍼들(420_0~420_7)은 효과 커맨드(CMD_EFF)와 동일한 타이밍 정보를 가지는 버퍼 통신 버스(BCOM<0:3>) 상의 제어 신호들에 응답해 동작하기 때문이다.
도 5에서는 모듈 콘트롤러(410)가 버퍼 제어 신호 생성 회로(510), 커맨드 지연 회로(520), 어드레스 지연 회로(530), 커맨드 버퍼 회로(540), 어드레스 버퍼 회로(550), 클럭 버퍼 회로(560) 및 데이터 처리 회로(570)를 포함하는 것을 예시했지만, 설계에 따라 이들 중 일부 구성이 생략될 수도 있다. 예를 들어, 에러 정정 동작의 필요가 없는 경우에는 데이터 처리 회로(570)에서 에러 정정 코드 생성 회로(573)와 에러 정정부(574)가 생략될 수 있다. 또한, 데이터 압축 동작의 필요가 없는 경우에는 데이터 처리 회로(570)에서 압축부(574), 압축 해제부(575) 및 선택부(576)가 생략될 수 있다.
또한, 도 5에서는 버퍼 제어 신호 생성 회로(510), 커맨드 지연 회로(520), 어드레스 지연 회로(530), 커맨드 버퍼 회로(540), 어드레스 버퍼 회로(550), 클럭 버퍼 회로(560) 및 데이터 처리 회로(570)가 모듈 콘트롤러(410)에 포함되는 것을 예시하였으나 이들 중 일부 구성이 모듈 콘트롤러(410) 외부에 존재할 수도 있음은 당연하다.
도 6은 메모리 모듈(400)에서 리드 동작시에 리드 커맨드가 데이터 처리 회로(570)로 전달되는 타이밍과 데이터 버퍼들(420_0~420_7)로 전달되는 타이밍을 도시한 도면이다.
도 6를 참조하면, 시점(601)에 메모리 콘트롤러(4)로부터 메모리 모듈(400)로 리드 커맨드(RD)가 전송될 수 있다.
그리고 시점(601)으로부터 3클럭이 지난 시점(603)에 버퍼 제어 신호 생성 회로(510)에 의해 생성된 버퍼 제어 신호들, 리드 커맨드의 인가를 알리는 버퍼 제어 신호들, 이 버퍼 통신 버스(BCOM<0:3>)를 통해 데이터 버퍼들(420_0~420_7)로 전달될 수 있다.
또한, 동일한 시점(603)에 커맨드 지연 회로(520)에 의해 생성된 효과 리드 커맨드(RD_EFF)가 데이터 처리 회로(570)로 전달될 수 있다.
리드 커맨드(RD)가 인가되었다는 사실이 데이터 버퍼들(420_0~420_7)과 데이터 처리 회로(570)로 동일한 타이밍에 전달되므로, 데이터 버퍼들(420_0~420_7)과 데이터 처리 회로(570)는 타이밍이 어긋나는 일 없이 서로 데이터를 송수신할 수 있다.
도 7은 메모리 모듈(400)에서 라이트 동작시에 라이트 커맨드가 데이터 처리 회로(570)로 전달되는 타이밍과 데이터 버퍼들(420_0~420_7)로 전달되는 타이밍을 도시한 도면이다.
도 7를 참조하면, 시점(701)에 메모리 콘트롤러(4)로부터 메모리 모듈(400)로 라이트 커맨드(WT)가 전송될 수 있다.
그리고 시점(701)으로부터 3클럭이 지난 시점(703)에 버퍼 제어 신호 생성 회로(510)에 의해 생성된 버퍼 제어 신호들, 라이트 커맨드의 인가를 알리는 버퍼 제어 신들, 이 버퍼 통신 버스(BCOM<0:3>)를 통해 데이터 버퍼들(420_0~420_7)로 전달될 수 있다.
또한, 동일한 시점(703)에 커맨드 지연 회로(520)에 의해 생성된 효과 라이트 커맨드(WT_EFF)가 데이터 처리 회로(570)로 전달될 수 있다.
라이트 커맨드(WT)가 인가되었다는 사실이 데이터 버퍼들(420_0~420_7)과 데이터 처리 회로(570)로 동일한 타이밍에 전달되므로, 데이터 버퍼들(420_0~420_7)과 데이터 처리 회로(570)는 타이밍이 어긋나는 일 없이 서로 데이터를 송수신할 수 있다.
본 발명은 상기 바람직한 실시예에 따라 구체적으로 기술되었으나, 상기한 실시예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명의 기술분야의 통상의 전문가라면 본 발명의 기술사상의 범위 내에서 다양한 실시예가 가능함을 알 수 있을 것이다.
4: 메모리 콘트롤러 400: 메모리 모듈
410: 모듈 콘트롤러 420_0~420_7: 데이터 버퍼들
430_0~430_7: 메모리 장치들

Claims (20)

  1. 다수의 메모리 장치;
    메모리 콘트롤러로부터 전달되는 라이트 데이터를 수신하고, 상기 메모리 콘트롤러로 리드 데이터를 송신하기 위한 다수의 데이터 버퍼; 및
    상기 메모리 콘트롤러로부터 전달되는 커맨드를 이용해 상기 다수의 데이터 버퍼를 제어할 버퍼 제어 신호들을 생성하는 버퍼 제어 신호 생성 회로;
    리드 동작 및 라이트 동작시에 상기 커맨드를 상기 버퍼 제어 신호 생성 회로의 지연값만큼 지연시켜 효과 커맨드를 생성하는 커맨드 지연 회로;
    상기 효과 커맨드에 응답해 상기 다수의 데이터 버퍼로부터 전달된 라이트 데이터를 처리해 상기 다수의 메모리 장치로 전달하고, 상기 다수의 메모리 장치로부터 전달된 리드 데이터를 처리해 상기 다수의 데이터 버퍼로 전달하는 데이터 처리 회로; 및
    상기 효과 커맨드를 상기 다수의 메모리 장치로 전달하기 위한 커맨드 버퍼 회로
    를 포함하는 메모리 모듈.
  2. 제 1항에 있어서,
    상기 커맨드 지연 회로는 상기 리드 동작 및 상기 라이트 동작 이외의 동작시에는 상기 커맨드를 그대로 상기 효과 커맨드로 생성하는
    메모리 모듈.
  3. 제 2항에 있어서,
    상기 리드 동작 및 상기 라이트 동작시에 상기 메모리 콘트롤러로부터 전달된 어드레스를 상기 버퍼 제어 신호 생성 회로의 지연값만큼 지연시켜 효과 어드레스를 생성하는 어드레스 지연 회로; 및
    상기 효과 어드레스를 상기 다수의 메모리 장치로 전달하기 위한 어드레스 버퍼 회로
    를 더 포함하는 메모리 모듈.
  4. 제 3항에 있어서,
    상기 어드레스 지연 회로는 상기 리드 동작 및 상기 라이트 동작 이외의 동작시에는 상기 어드레스를 그대로 상기 효과 어드레스로 생성하는
    메모리 모듈.
  5. 제 4항에 있어서,
    상기 메모리 콘트롤러로부터 전달된 클럭을 상기 다수의 메모리 장치로 전달하기 위한 클럭 버퍼 회로
    를 더 포함하는 메모리 모듈.
  6. 제 1항에 있어서,
    상기 버퍼 제어 신호 생성 회로, 상기 커맨드 지연 회로, 상기 데이터 처리 회로 및 상기 커맨드 버퍼 회로는 모듈 콘트롤러에 포함되는
    메모리 모듈.
  7. 제 1항에 있어서,
    상기 데이터 처리 회로는
    상기 라이트 동작시에 상기 다수의 데이터 버퍼로부터 전달된 라이트 데이터를 이용해 상기 다수의 메모리 장치에 상기 라이트 데이터와 함께 저장될 에러 정정 코드를 생성하는 에러 정정 코드 생성부; 및
    상기 리드 동작시에 상기 다수의 메모리 장치로부터 리드된 에러 정정 코드를 이용해 상기 다수의 메모리 장치로부터 리드된 리드 데이터의 에러를 정정하는 에러 정정부를 포함하는
    메모리 모듈.
  8. 제 7항에 있어서,
    상기 데이터 처리 회로는
    상기 라이트 동작시에 상기 다수의 메모리 장치에 저장될 상기 라이트 데이터와 상기 에러 정정 코드를 압축하는 압축부; 및
    상기 리드 동작시에 상기 다수의 메모리 장치로부터 리드된 상기 리드 데이터와 상기 에러 정정 코드의 압축을 해제하는 압축 해제부를 더 포함하는
    메모리 모듈.
  9. 제 7항에 있어서,
    상기 데이터 처리 회로는
    상기 효과 커맨드에 응답해 상기 에러 정정 코드 생성부와 상기 에러 정정부의 동작을 제어하는 데이터 처리 제어부를 더 포함하는
    메모리 모듈.
  10. 제 1항에 있어서,
    상기 다수의 메모리 장치들 각각은 DRAM(Dynamic Random Access Memory)이고,
    상기 메모리 모듈은 DIMM(Dual In-Line Memory Module) 타입인
    메모리 모듈.
  11. 메모리 모듈; 및
    상기 메모리 모듈로 커맨드, 어드레스 및 라이트 데이터를 송신하고, 상기 메모리 모듈로부터 리드 데이터를 수신하는 메모리 콘트롤러를 포함하고,
    상기 메모리 모듈은
    다수의 메모리 장치;
    상기 메모리 콘트롤러로부터 전달되는 상기 라이트 데이터를 수신하고, 상기 메모리 콘트롤러로 상기 리드 데이터를 송신하기 위한 다수의 데이터 버퍼; 및
    상기 커맨드를 이용해 상기 다수의 데이터 버퍼를 제어할 버퍼 제어 신호들을 생성하는 버퍼 제어 신호 생성 회로;
    리드 동작 및 라이트 동작시에 상기 커맨드를 상기 버퍼 제어 신호 생성 회로의 지연값만큼 지연시켜 효과 커맨드를 생성하는 커맨드 지연 회로;
    상기 효과 커맨드에 응답해 상기 다수의 데이터 버퍼로부터 전달된 라이트 데이터를 처리해 상기 다수의 메모리 장치로 전달하고, 상기 다수의 메모리 장치로부터 전달된 리드 데이터를 처리해 상기 다수의 데이터 버퍼로 전달하는 데이터 처리 회로; 및
    상기 효과 커맨드를 상기 다수의 메모리 장치로 전달하기 위한 커맨드 버퍼 회로를 포함하는
    메모리 시스템.
  12. 제 11항에 있어서,
    상기 커맨드 지연 회로는 상기 리드 동작 및 상기 라이트 동작 이외의 동작시에는 상기 커맨드를 그대로 상기 효과 커맨드로 생성하는
    메모리 시스템.
  13. 제 12항에 있어서,
    상기 메모리 모듈은
    상기 리드 동작 및 상기 라이트 동작시에 상기 메모리 콘트롤러로부터 전달된 어드레스를 상기 버퍼 제어 신호 생성 회로의 지연값만큼 지연시켜 효과 어드레스를 생성하는 어드레스 지연 회로; 및
    상기 효과 어드레스를 상기 다수의 메모리 장치로 전달하기 위한 어드레스 버퍼 회로를 더 포함하는
    메모리 시스템.
  14. 제 13항에 있어서,
    상기 어드레스 지연 회로는 상기 리드 동작 및 상기 라이트 동작 이외의 동작시에는 상기 어드레스를 그대로 상기 효과 어드레스로 생성하는
    메모리 시스템.
  15. 제 14항에 있어서,
    상기 메모리 모듈은
    상기 메모리 콘트롤러로부터 전달된 클럭을 상기 다수의 메모리 장치로 전달하기 위한 클럭 버퍼 회로를 더 포함하는
    메모리 시스템.
  16. 제 15항에 있어서,
    상기 버퍼 제어 신호 생성 회로, 상기 커맨드 지연 회로, 상기 데이터 처리 회로, 상기 커맨드 버퍼 회로, 상기 어드레스 지연 회로, 상기 어드레스 버퍼 회로 및 상기 클럭 버퍼 회로는 상기 메모리 모듈 상의 모듈 콘트롤러에 포함되는
    메모리 시스템.
  17. 제 11항에 있어서,
    상기 데이터 처리 회로는
    상기 라이트 동작시에 상기 다수의 데이터 버퍼로부터 전달된 라이트 데이터를 이용해 상기 다수의 메모리 장치에 상기 라이트 데이터와 함께 저장될 에러 정정 코드를 생성하는 에러 정정 코드 생성부; 및
    상기 리드 동작시에 상기 다수의 메모리 장치로부터 리드된 에러 정정 코드를 이용해 상기 다수의 메모리 장치로부터 리드된 리드 데이터의 에러를 정정하는 에러 정정부를 포함하는
    메모리 시스템.
  18. 제 17항에 있어서,
    상기 데이터 처리 회로는
    상기 라이트 동작시에 상기 다수의 메모리 장치에 저장될 상기 라이트 데이터와 상기 에러 정정 코드를 압축하는 압축부; 및
    상기 리드 동작시에 상기 다수의 메모리 장치로부터 리드된 상기 리드 데이터와 상기 에러 정정 코드의 압축을 해제하는 압축 해제부를 더 포함하는
    메모리 시스템.
  19. 제 18항에 있어서,
    상기 데이터 처리 회로는
    상기 효과 커맨드에 응답해 상기 에러 정정 코드 생성부와 상기 에러 정정부의 동작을 제어하는 데이터 처리 제어부를 더 포함하는
    메모리 시스템.
  20. 제 11항에 있어서,
    상기 다수의 메모리 장치들 각각은 DRAM(Dynamic Random Access Memory)이고,
    상기 메모리 모듈은 DIMM(Dual In-Line Memory Module) 타입인
    메모리 시스템.
KR1020170062760A 2017-05-22 2017-05-22 메모리 모듈 및 이를 포함하는 메모리 시스템 KR20180127710A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020170062760A KR20180127710A (ko) 2017-05-22 2017-05-22 메모리 모듈 및 이를 포함하는 메모리 시스템
US15/831,024 US10509594B2 (en) 2017-05-22 2017-12-04 Memory module and memory system including the same
TW106142444A TWI759368B (zh) 2017-05-22 2017-12-04 記憶體模組和包括其的記憶體系統
CN201810156840.5A CN108958644B (zh) 2017-05-22 2018-02-24 存储模块和包括其的存储系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170062760A KR20180127710A (ko) 2017-05-22 2017-05-22 메모리 모듈 및 이를 포함하는 메모리 시스템

Publications (1)

Publication Number Publication Date
KR20180127710A true KR20180127710A (ko) 2018-11-30

Family

ID=64271627

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170062760A KR20180127710A (ko) 2017-05-22 2017-05-22 메모리 모듈 및 이를 포함하는 메모리 시스템

Country Status (4)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11188260B2 (en) 2018-09-17 2021-11-30 SK Hynix Inc. Memory module and memory system including the same

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180084518A (ko) * 2017-01-17 2018-07-25 에스케이하이닉스 주식회사 메모리 장치, 이를 포함하는 메모리 시스템, 및 그의 리페어 동작 방법
JP7078842B2 (ja) * 2018-02-08 2022-06-01 富士通株式会社 送信装置、受信装置、クロック転送方法およびプログラム
KR20200015233A (ko) * 2018-08-03 2020-02-12 삼성전자주식회사 불휘발성 메모리 장치들을 포함하는 반도체 메모리 모듈
KR20200075565A (ko) * 2018-12-18 2020-06-26 에스케이하이닉스 주식회사 스마트 카 시스템
CN110222006B (zh) * 2019-05-15 2023-10-20 杭州电子科技大学 基于rram的处理器架构及控制方法
US11508422B2 (en) * 2019-08-02 2022-11-22 Micron Technology, Inc. Methods for memory power management and memory devices and systems employing the same
CN113448891B (zh) * 2020-03-25 2023-07-21 澜起科技股份有限公司 存储器控制器以及用于监测对存储模块的访问的方法
CN114255806B (zh) * 2020-09-23 2023-07-07 长鑫存储技术有限公司 数据通路接口电路、存储器和存储系统

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4159415B2 (ja) * 2002-08-23 2008-10-01 エルピーダメモリ株式会社 メモリモジュール及びメモリシステム
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
WO2012140695A1 (en) * 2011-04-12 2012-10-18 Hitachi, Ltd. Storage control apparatus and error correction method
KR101964261B1 (ko) * 2012-05-17 2019-04-01 삼성전자주식회사 자기 메모리 장치
US9734097B2 (en) * 2013-03-15 2017-08-15 Micron Technology, Inc. Apparatuses and methods for variable latency memory operations
JP6146128B2 (ja) * 2013-05-20 2017-06-14 ヤマハ株式会社 データ処理装置
KR102105139B1 (ko) * 2013-07-11 2020-04-28 에스케이하이닉스 주식회사 클럭 지연 검출회로 및 이를 이용하는 반도체 장치
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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11188260B2 (en) 2018-09-17 2021-11-30 SK Hynix Inc. Memory module and memory system including the same

Also Published As

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

Similar Documents

Publication Publication Date Title
KR20180127710A (ko) 메모리 모듈 및 이를 포함하는 메모리 시스템
KR102336294B1 (ko) 프로세서 모드를 가지는 메모리 모듈 및 프로세싱 데이터 버퍼
US10431292B2 (en) Method and apparatus for controlling access to a common bus by multiple components
US9466351B2 (en) Semiconductor memory device and method for refreshing memory cells
KR102189757B1 (ko) 반도체 메모리 장치, 이를 포함하는 메모리 시스템, 및 이의 동작 방법
US10061642B2 (en) Memory device and system including on chip ECC circuit
KR102296738B1 (ko) 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 에러 정정 방법
US10521141B2 (en) Memory module and method system including the same
KR20100076809A (ko) 멀티 칩 패키지 메모리 장치
CN107958679B (zh) 存储器模块和用于存储器模块的处理数据缓冲器
US11188260B2 (en) Memory module and memory system including the same
US9607667B1 (en) Memory device and electronic apparatus including the same
US10770116B2 (en) Memory device with a signaling mechanism
CN113223582A (zh) 以高速和低功率发送和接收数据的存储器设备
US8837246B2 (en) Memory device, operation method thereof and memory system having the same
KR20210095009A (ko) 고속 및 저전력으로 데이터를 송수신하는 메모리 장치
KR20200052842A (ko) 메모리 시스템, 메모리 모듈 및 메모리 시스템의 동작 방법
US20180260345A1 (en) Memory module and memory system including the same
US11531496B2 (en) Memory modules and memory systems having the same
CN114064530A (zh) 存储系统、存储控制器和存储芯片
KR20110041613A (ko) Dram 인터페이스와 공유 메모리 영역을 통한 비휘발성 메모리 장치와 자기 기록 매체에 접근할 수 있는 장치
US20170019202A1 (en) Interface circuit for communication, and system including the same