KR102365110B1 - 복수의 메모리 장치들에 대한 트레이닝 동작을 지원하는 버퍼 장치를 포함하는 메모리 모듈 및 이를 포함하는 메모리 시스템 - Google Patents

복수의 메모리 장치들에 대한 트레이닝 동작을 지원하는 버퍼 장치를 포함하는 메모리 모듈 및 이를 포함하는 메모리 시스템 Download PDF

Info

Publication number
KR102365110B1
KR102365110B1 KR1020170117232A KR20170117232A KR102365110B1 KR 102365110 B1 KR102365110 B1 KR 102365110B1 KR 1020170117232 A KR1020170117232 A KR 1020170117232A KR 20170117232 A KR20170117232 A KR 20170117232A KR 102365110 B1 KR102365110 B1 KR 102365110B1
Authority
KR
South Korea
Prior art keywords
memory
buffer device
training
data
memory devices
Prior art date
Application number
KR1020170117232A
Other languages
English (en)
Other versions
KR20190030030A (ko
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 KR1020170117232A priority Critical patent/KR102365110B1/ko
Priority to US15/979,625 priority patent/US10824575B2/en
Priority to SG10201805698YA priority patent/SG10201805698YA/en
Priority to CN201810966711.2A priority patent/CN109493892B/zh
Publication of KR20190030030A publication Critical patent/KR20190030030A/ko
Application granted granted Critical
Publication of KR102365110B1 publication Critical patent/KR102365110B1/ko

Links

Images

Classifications

    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • 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
    • 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/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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/023Detection or location of defective auxiliary circuits, e.g. defective refresh counters in clock generator or timing circuitry
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • 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/1093Input synchronization
    • 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
    • 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/225Clock input buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • 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

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)
  • Dram (AREA)
  • Memory System (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

본 개시의 기술적 사상에 따른 메모리 시스템은, 복수의 메모리 장치들에 대한 메모리 동작을 제어하는 메모리 컨트롤러 및 상기 메모리 장치들 및 상기 메모리 장치들과 상기 메모리 컨트롤러 사이에 연결되는 버퍼 장치를 구비하는 메모리 모듈을 포함하며, 상기 버퍼 장치는, 상기 메모리 장치들에 대한 트레이닝 동작을 수행하기 위하여, 신호 지연부를 구비하는 트레이닝 블록을 포함하고, 상기 메모리 컨트롤러는, 상기 트레이닝 블록을 제어하여, 상기 트레이닝 동작을 수행하는 것을 특징으로 한다.

Description

복수의 메모리 장치들에 대한 트레이닝 동작을 지원하는 버퍼 장치를 포함하는 메모리 모듈 및 이를 포함하는 메모리 시스템{A MEMORY MODULE INCLUDING A BUFFER DEVICE SUPPORTING TRAINING OPERATIONS FOR A PLURALITY OF MEMORY DEVIECES AND A MEMORY SYSTEM INCLUDING THE SAME}
본 개시의 기술적 사상은 복수의 메모리 장치들에 대한 트레이닝 동작을 수행하는 메모리 시스템에 관한 것으로, 구체적으로는 메모리 장치들에 대한 트레이닝 동작을 지원하는 버퍼 장치, 버퍼 장치를 포함하는 메모리 모듈 및 메모리 시스템에 관한 것이다.
메모리 기술의 발달에 기인하여 대용량의 데이터를 라이트하고, 리드할 수 있는 메모리 시스템이 제안되고 있다. 이 때에, 메모리 시스템에 포함된 메모리 컨트롤러에는 복수 개의 메모리 장치들이 연결되어, 라이트 동작, 리드 동작을 포함하는 메모리 동작이 제어되었다. 다만, 하나의 메모리 컨트롤러에 복수 개의 메모리 장치들이 연결되는 구조는 메모리 컨트롤러의 출력 임피던스가 크기 때문에 메모리 컨트롤러로부터 출력된 신호들이 메모리 장치들 각각에 제대로 도달하지 못하는 문제가 있었다.
이러한 문제를 해결하기 위하여, 메모리 컨트롤러와 복수의 메모리 장치들 사이에 버퍼 장치가 연결되는 구조를 차용하여, 버퍼 장치가 메모리 컨트롤러로부터 수신한 신호들을 드라이빙하여 메모리 장치들에 적절하게 전달할 수 있도록 하였다.
메모리 컨트롤러는 파워 온(Power On) 이후에 메모리 장치에 대한 트레이닝(Training) 동작을 수행하여 데이터(DQ) 라인을 통해 전송되는 데이터 신호(또는, DQ 신호) 및 데이터 스트로브(DQ Strobe; DQS) 라인을 통해 전송되는 데이터 스트로브 신호(또는 DQS 신호) 중 적어도 어느 하나에 대한 타이밍을 보상하여 최적의 정렬(Align) 조건을 맞추고, 메모리 동작을 제어할 수 있다.
위와 같이, 버퍼 장치를 포함하는 메모리 시스템 구조에서 복수의 메모리 장치들에 대한 트레이닝 동작을 효율적으로 수행하도록 하기 위한 연구가 진행되고 있는 실정이다.
본 개시의 기술적 사상이 해결하려는 과제는 메모리 장치에 대한 트레이닝 동작을 버퍼 장치를 이용하여 효율적으로 수행하기 위한 메모리 모듈 및 이를 포함하는 메모리 시스템을 제공하는 데에 있다.
상기와 같은 목적을 달성하기 위하여, 본 개시의 기술적 사상의 일측면에 따른 메모리 시스템은, 복수의 메모리 장치들에 대한 메모리 동작을 제어하는 메모리 컨트롤러 및 상기 메모리 장치들 및 상기 메모리 장치들과 상기 메모리 컨트롤러 사이에 연결되는 버퍼 장치를 구비하는 메모리 모듈을 포함하며, 상기 버퍼 장치는, 상기 메모리 장치들에 대한 트레이닝 동작을 수행하기 위하여, 신호 지연부를 구비하는 트레이닝 블록을 포함하고, 상기 메모리 컨트롤러는, 상기 트레이닝 블록을 제어하여, 상기 트레이닝 동작을 수행하는 것을 특징으로 한다.
본 개시의 기술적 사상의 일측면에 따른 메모리 시스템은, 복수의 메모리 장치들에 대한 메모리 동작을 제어하는 메모리 컨트롤러 및 상기 메모리 장치들 및 상기 메모리 장치들과 상기 메모리 컨트롤러 사이에 연결되는 버퍼 장치를 구비하는 메모리 모듈을 포함하며, 상기 버퍼 장치는, 상기 메모리 장치들에 대한 트레이닝 동작을 수행하는 트레이닝 블록을 포함하고, 상기 트레이닝 블록은, 상기 메모리 장치들 중 상기 트레이닝 동작의 타겟 메모리 장치로부터 수신한 제1 트레이닝 데이터 및 제1 데이터 스트로브 신호를 이용하여 상기 트레이닝 동작을 수행하고, 상기 메모리 장치들과의 메모리 동작 관련 송수신 신호들에 대한 타이밍 보상시에 참조되는 제1 타이밍 보상 정보를 생성하는 것을 특징으로 한다.
본 개시의 기술적 사상의 일측면에 따른 메모리 모듈은, 복수의 메모리 장치들 및 상기 메모리 장치들에 대한 신호들을 라우팅하는 복수의 버퍼 장치들을 포함하고, 상기 버퍼 장치들은, 상기 메모리 장치들 중 제1 메모리 장치들과 연결된 제1 서브 버퍼 장치, 상기 메모리 장치들 중 제2 메모리 장치들과 연결된 제2 서브 버퍼 장치 및 상기 제1 서브 버퍼 장치와 상기 제2 서브 버퍼 장치와 연결된 메인 버퍼 장치를 포함하며, 상기 메인 버퍼 장치는, 상기 제1 및 제2 서브 버퍼 장치에 대한 제1 트레이닝 동작을 수행하고, 상기 제1 서브 버퍼 장치는 상기 제1 메모리 장치들에 대한 제2 트레이닝 동작을 수행하며, 상기 제2 서브 버퍼 장치는 상기 제2 메모리 장치들에 대한 제3 트레이닝 동작을 수행하는 것을 특징으로 한다.
본 개시의 기술적 사상의 일측면에 따른 반도체 패키지는, 메모리 컨트롤러와 통신하는 버퍼 레이어, 상기 버퍼 레이어 상에 적층되고, 적어도 하나의 메모리 코어(Core)를 구비하는 적어도 하나의 메모리 레이어 및 상기 메모리 레이어를 관통하는 적어도 하나의 스루 실리콘 비아(Through Silicon Via)를 포함하며, 상기 버퍼 레이어는, 상기 메모리 레이어의 상기 메모리 코어에 대한 트레이닝 동작을 수행하기 위하여, 신호 지연부를 구비하는 트레이닝 블록을 포함하고, 상기 메모리 컨트롤러에 의해 상기 신호 지연부의 지연 정도가 제어됨으로써, 상기 트레이닝 동작을 수행하는 것을 특징으로 한다.
본 개시의 기술적 사상의 일측면에 따른 반도체 패키지는, 메모리 컨트롤러와 메모리 코어간의 신호들을 라우팅하는 버퍼 레이어, 상기 버퍼 레이어 상에 적층되고, 적어도 하나의 상기 메모리 코어를 구비하는 적어도 하나의 메모리 레이어 및 상기 메모리 레이어를 관통하는 적어도 하나의 스루 실리콘 비아를 포함하며, 상기 버퍼 레이어는, 상기 메모리 레이어의 상기 메모리 레이어에 대한 트레이닝 동작을 수행하고, 상기 버퍼 레이어와 상기 메모리 레이어간의 송수신 신호들에 대한 타이밍 보상 정보를 상기 메모리 코어별로 생성하는 것을 특징으로 한다.
본 개시의 기술적 사상에 따른 메모리 시스템은 복수의 메모리 장치들에 대한 트레이닝 동작을 수행할 때에, 버퍼 장치를 이용함으로써, 트레이닝 동작에 대한 신뢰성을 향상시킬 수 있으며, 그 결과, 전체적인 메모리 시스템에 대한 성능을 향상시킬 수 있는 효과가 있다.
도 1은 본 개시의 일 실시예에 따른 메모리 시스템을 개략적으로 나타내는 블록도이다.
도 2는 본 개시의 일 실시예에 따라 도 1의 메모리 시스템 상에서 수행하는 트레이닝 동작을 개략적으로 설명하기 위한 순서도이다.
도 3a 및 도 3b는 버퍼 장치에 대한 리드 트레이닝 동작을 설명하기 위한 블록도이고, 도 3c 및 도 3d는 버퍼 장치에 대한 라이트 트레이닝 동작을 설명하기 위한 블록도이다.
도 4a 및 도 4b는 버퍼 장치의 트레이닝 블록을 이용한 메모리 장치에 대한 리드 트레이닝 동작을 설명하기 위한 블록도이고, 도 4c 및 도 4d는 버퍼 장치의 트레이닝 블록을 이용한 메모리 장치에 대한 라이트 트레이닝 동작을 설명하기 위한 블록도이다.
도 5는 본 개시의 일 실시예에 따라 도 1의 메모리 시스템 상에서 수행하는 트레이닝 동작을 개략적으로 설명하기 위한 순서도이다.
도 6a 및 도 6c는 버퍼 장치의 메모리 장치에 대한 리드 트레이닝 동작을 설명하기 위한 블록도이고, 도 6d 및 도 6e는 버퍼 장치의 메모리 장치에 대한 라이트 트레이닝 동작을 설명하기 위한 블록도이다.
도 7은 본 개시의 일 실시예에 따른 버퍼 장치가 리타이밍 기능이 지원되는 경우, 메모리 장치에 대한 트레이닝 동작을 설명하기 위한 블록도이다.
도 8a 및 도 8b는 버퍼 장치의 리타이밍 제어부의 구성 및 동작을 설명하기 위한 도면이다.
도 9는 본 개시의 일 실시예에 따른 타이밍 보상 정보를 생성하는 메모리 컨트롤러의 버퍼 장치에 대한 트레이닝 동작을 설명하기 위한 블록도이다.
도 10a 및 10b는 본 개시의 일 실시예에 따른 타이밍 보상 정보를 생성하는 버퍼 장치의 메모리 그룹들에 대한 트레이닝 동작을 설명하기 위한 블록도이다.
도 11은 본 개시의 일 실시예에 따른 메모리 시스템을 나타내는 블록도이다.
도 12는 본 개시의 일 실시예에 따른 메모리 시스템의 메모리 동작 방법을 설명하기 위한 블록도이다.
도 13a 및 도 13b는 도 1의 메모리 장치의 일 실시예를 설명하기 위한 도면이다.
도 14는 본 개시의 일 실시예에 따른 메모리 시스템을 나타내는 블록도이다.
도 15는 본 개시의 일시예에 따른 복수의 레이어들을 구비하는 적층 구조의 반도체 패키지를 나타내는 블록도이다.
도 16은 본 발명의 일 실시예에 따른 스택 반도체 칩을 포함하는 반도체 패키지를 나타내는 도면이다.
이하, 첨부한 도면을 참조하여 본 발명의 실시예에 대해 상세히 설명한다.
도 1은 본 개시의 일 실시예에 따른 메모리 시스템(100)을 개략적으로 나타내는 블록도이다 .
도 1을 참조하면, 메모리 시스템(100)은 메모리 컨트롤러(120) 및 메모리 모듈(Memory Module, MM)을 포함할 수 있다. 메모리 모듈(MM)은 버퍼 장치(140, 또는, 버퍼 칩) 및 복수의 메모리 장치들(160, 또는 메모리 칩들)을 포함할 수 있다. 버퍼 장치(140)는 메모리 컨트롤러(120)와 메모리 장치들(160) 사이에 연결될 수 있다.
메모리 컨트롤러(120)는 복수의 메모리 장치들(160)에 대한 메모리 동작을 제어할 수 있다. 구체적으로, 메모리 컨트롤러(120)는 소정의 데이터(DQ) 라인들을 통해 메모리 모듈(MM)에 어드레스 신호(ADDR), 커맨드(CMD) 및 데이터(DATA)를 포함하는 신호들을 전송할 수 있다. 버퍼 장치(140)는 어드레스 신호(ADDR), 커맨드(CMD) 및 데이터(DATA)를 수신하여, 메모리 장치들(160)에 라우팅할 수 있다. 일 실시예로, 어드레스 신호(ADDR)는 메모리 장치에 대한 선택 신호(예를 들면, 칩 인에이블 신호)를 포함할 수 있으며, 버퍼 장치(140)는 선택 신호에 대응하는 메모리 장치에 어드레스 신호(ADDR), 커맨드(CMD) 및 데이터(DATA)를 라우팅할 수 있다. 메모리 장치들(160)은 버퍼 장치(140)로부터 어드레스 신호(ADDR), 커맨드(CMD) 및 데이터(DATA)를 포함하는 메모리 동작 관련 신호들을 수신하고, 이를 기반으로 라이트, 리드 동작을 포함하는 메모리 동작을 수행할 수 있다.
이하에서는, 용어 정리를 위하여, 메모리 컨트롤러(120)와 메모리 모듈(MM) 사이의 데이터(DQ) 라인 또는 버퍼 장치(140)와 각각의 메모리 장치들(160) 사이의 데이터(DQ) 라인을 통해 전송되는 신호를 데이터 신호로 지칭한다. 또한, 컨트롤러(120)와 메모리 모듈(MM) 사이의 데이터 스트로브(DQS) 라인 또는 버퍼 장치(140)와 각각의 메모리 장치들(160) 사이의 데이터 스트로브(DQS) 라인을 통해 전송되는 신호를 데이터 스트로브 신호로 지칭하도록 한다.
메모리 장치들(160)은 메모리 셀 어레이(미도시)를 포함할 수 있으며, 메모리 셀 어레이는 복수의 워드 라인들과 복수의 비트라인들이 교차하는 영역들에 배치되는 복수의 메모리 셀들을 포함할 수 있다.
일 실시예에서, 메모리 장치들(160) 각각이 포함하는 복수의 메모리 셀들은 휘발성 메모리 셀들이거나 비휘발성 메모리 셀들일 수 있다. 예를 들어, 복수의 메모리 셀들은 플래시 메모리, RRAM(resistive RAM), PRAM(phase change RAM) 또는 MRAM(magnetic RAM)와 같은 비휘발성 메모리 셀들이거나, 더 나아가, 메모리 셀들은 DRAM(dynamic RAM)과 같은 휘발성 메모리 셀일 수 있다.
본 개시의 일 실시예에 따른 메모리 컨트롤러(120)는 트레이닝 제어부(Training Control Unit, TCU)를 포함하고, 버퍼 장치(140)는 트레이닝 블록(Training Block, TB)을 포함할 수 있다. 일 실시예에 따라, 트레이닝 제어부(TCU)는 버퍼 장치(140)에 대한 트레이닝 동작을 제어할 수 있다. 즉, 버퍼 장치(140)는 메모리 컨트롤러(120)로부터 수신한 신호들을 임시적으로 저장하거나, 버퍼링을 하기 위한 버퍼 메모리(141)를 더 포함할 수 있으며, 이에 따라, 버퍼 장치(140)에 대한 트레이닝 동작이 필요할 수 있다. 트레이닝 제어부(TCU)는 버퍼 장치(140)에 대한 트레이닝 동작을 수행하여, 메모리 컨트롤러(120)가 버퍼 장치(140)로 전송하는 신호에 대한 타이밍 보상 정도와 버퍼 장치(140)로부터 수신하는 신호에 대한 타이밍 보상 정도를 결정할 수 있다. 이에 대한 구체적인 서술은, 도 3a 내지 도 3d에서 서술하도록 한다.
이하에서 서술되는 신호에 대한 타이밍을 보상하는 동작은, 일 예로서, 신호를 지연 회로등을 이용하여 지연시키는 동작으로 해석될 수 있으며, 타이밍 보상 정도는, 일 예로서, 지연 정도와 대응되는 것으로 해석될 수 있다.
본 개시의 일 실시예에 따른 트레이닝 블록(TB)의 구성에 따라서, 메모리 장치들(160)에 대한 트레이닝 동작이 각각 상이하게 수행될 수 있다. 일 실시예로, 트레이닝 블록(TB)이 버퍼 장치(140)가 메모리 장치들(160)로 전송하는 신호에 대한 타이밍 보상 정도와 메모리 장치들(160)로부터 수신하는 신호에 대한 타이밍 보상 정도를 결정하는 결정부와 같은 구성을 포함하지 않는 경우에는, 트레이닝 제어부(TCU)는 트레이닝 블록(TB)을 제어하여 메모리 장치들(160)에 대한 트레이닝 동작을 수행할 수 있다. 이에 대한 구체적인 설명은 도 4a 내지 도 4d에서 서술하도록 한다. 이와 반대로, 트레이닝 블록(TB)이 결정부와 같은 구성을 포함하는 경우에는, 트레이닝 블록(TB)은 메모리 컨트롤러(120)의 버퍼 장치(140)에 대한 트레이닝 동작과 병렬적으로 메모리 장치들(160)에 대한 트레이닝 동작을 수행할 수 있다. 이에 대한 구체적인 설명은 도 6a 내지 도 6d에서 서술하도록 한다.
도 1에서는, 메모리 컨트롤러(120)의 트레이닝 제어부(TCU)와 버퍼 장치(140)의 트레이닝 블록(TB)은 트레이닝 동작을 수행하기 위한 구성으로 서술되어 있으나, 여기에 한정되지 않고, 트레이닝 제어부(TCU)에 포함된 적어도 하나의 구성과 트레이닝 블록(TB)에 포함된 적어도 하나의 구성은 메모리 시스템(100) 상의 메모리 동작을 수행할 때에 이용될 수 있음은 분명하다. 또한, 트레이닝 제어부(TCU) 및 트레이닝 블록(TB) 각각은 아날로그 회로 및/또는 디지털 회로를 포함하는 하드웨어 블록일 수 있고, 메모리 컨트롤러(120), 버퍼 장치(140) 등에 의해 실행되는 복수의 명령어들을 포함하는 소프트웨어 블록일 수 있다.
이와 같이, 본 개시에 따른 메모리 시스템(100)은 복수의 메모리 장치들(160)에 대한 트레이닝 동작을 수행할 때에, 버퍼 장치(140)를 이용함으로써, 트레이닝 동작에 대한 신뢰성을 향상시킬 수 있으며, 그 결과, 전체적인 메모리 시스템에 대한 성능을 향상시킬 수 있는 효과가 있다.
도 2는 본 개시의 일 실시예에 따라 도 1의 메모리 시스템(100) 상에서 수행하는 트레이닝 동작을 개략적으로 설명하기 위한 순서도이다 . 이하에서는, 트레이닝 블록(TB)이 결정부와 같은 구성을 포함하지 않는 경우를 가정하여 서술한다.
도 1 및 도 2를 참조하면, 메모리 컨트롤러(120)는 우선적으로 버퍼 장치(140)에 대한 트레이닝 동작을 수행할 수 있다(S100). 즉, 메모리 컨트롤러(120)는 버퍼 장치(140)의 트레이닝 블록(TB)을 이용하여 메모리 장치들(160)에 대한 트레이닝 동작을 수행하기 위해서는, 우선적으로 메모리 컨트롤러(120)와 버퍼 장치(140)간의 신호들의 정렬(예를 들면, 데이터 신호와 데이터 스트로브 신호간 정렬)이 최적화되어야 한다. 따라서, 메모리 컨트롤러(120)는 트레이닝 블록(TB)을 이용한 메모리 장치들(160)에 대한 트레이닝 동작을 시작하기 앞서 버퍼 장치(140)에 대한 트레이닝 동작을 수행하고, 메모리 컨트롤러(120)가 버퍼 장치(140)로 전송하는 신호에 대한 타이밍 보상 정도와 버퍼 장치(140)로부터 수신하는 신호에 대한 타이밍 보상 정도를 결정할 수 있다. 메모리 컨트롤러(120)는 결정된 타이밍 보상 정도를 나타내는 타이밍 보상 정보를 소정의 메모리 영역(예를 들면, 레지스터)에 저장할 수 있다.
메모리 컨트롤러(120)는 버퍼 장치(140)에 대한 트레이닝 동작을 완료한 후에, 버퍼 장치(140)를 이용하여 메모리 장치들에 대한 트레이닝 동작을 수행할 수 있다(S120). 구체적으로, 메모리 컨트롤러(120)는 트레이닝 블록(TB)을 이용하여 메모리 장치들(160)에 대한 트레이닝 동작을 수행함으로써, 버퍼 장치(140)가 메모리 장치들(160)로 전송하는 신호에 대한 타이밍 보상 정도와 메모리 장치들(160)로부터 수신하는 신호에 대한 타이밍 보상 정도를 결정할 수 있다. 메모리 컨트롤러(120)는 결정된 타이밍 보상 정도를 나타내는 타이밍 보상 정보를 버퍼 장치(140)에 전송할 수 있으며, 버퍼 장치(140)는 소정의 메모리 영역(예를 들면, 버퍼 메모리(141) 또는 레지스터)에 저장할 수 있다.
이후, 순차적으로 수행된 트레이닝 동작들의 결과에 기반하여 복수의 메모리 장치들(160)에 대한 메모리 동작을 수행할 수 있다(S140). 구체적으로, 메모리 동작시에 트레이닝 동작들의 결과로 생성된 타이밍 보상 정보들을 참조하여, 각각 신호들에 대한 타이밍 보상을 통해 고주파 동작에서 발생하는 신호들간 스큐(skew)를 줄여 신뢰성이 향상된 메모리 동작을 수행할 수 있다.
도 3a 및 도 3b는 버퍼 장치(240)에 대한 리드 트레이닝 동작을 설명하기 위한 블록도이고 , 도 3c 및 도 3d는 버퍼 장치(240)에 대한 라이트 트레이닝 동작을 설명하기 위한 블록도이다 .
도 3a를 참조하면, 메모리 시스템(200)은 메모리 컨트롤러(220) 및 메모리 모듈(MM)을 포함할 수 있으며, 메모리 모듈(240)은 적어도 하나의 버퍼 장치(240)를 포함할 수 있다. 전술한 바와 같이, 메모리 컨트롤러(220)는 트레이닝 제어부(TCU)를 포함할 수 있으며, 트레이닝 제어부(TCU)는 임의의 패턴 데이터 (또는, 패턴 시퀀스)를 생성하는 패턴 데이터 생성기(221)를 포함할 수 있다.
트레이닝 제어부(TCU)는 데이터 신호 라인을 통해 패턴 데이터 생성기(221)에서 생성된 제1 패턴 데이터(PT_D1)를 버퍼 장치(240)에 전송할 수 있다. 트레이닝 제어부(TCU)는 전송하는 제1 패턴 데이터(PT_D1)와 스큐로 인한 미스 매치(miss match) 문제가 발생하지 않을 정도의 충분히 낮은 주파수를 갖는 데이터 스트로브 신호(DQSFL)를 데이터 스트로브 신호 라인을 통해 버퍼 장치(240)에 전송할 수 있다. 버퍼 장치(240)는 버퍼 메모리(241)에 제1 패턴 데이터(PT_D1)를 라이트하기 위해 데이터 스트로브 신호(DQSFL)를 이용하여 제1 패턴 데이터(PT_D1)를 샘플링할 수 있다.
도 3b를 더 참조하면, 트레이닝 제어부(TCU)는 샘플링부(222), 비교부(223), 지연 조정부(224) 및 신호 지연부(225)를 더 포함할 수 있다. 버퍼 장치(240)는 도 3a에서 전술한 바와 같이, 제1 패턴 데이터(PT_D1)를 샘플링하여 생성한 신호를 제1 리드 트레이닝 데이터(RT_D1)로서 샘플링부(222)에 전송하고, 신호 지연부(225)에는 높은 주파수를 갖는 데이터 스트로브 신호(DQS)를 전송할 수 있다. 일 예로, 데이터 스트로브 신호(DQS)는 리드 동작시에 이용되는 데이터 스트로브 신호와 동일한 주파수를 가질 수 있다.
샘플링부(222)는 신호 지연부(225)로부터 지연된 데이터 스트로브 신호(D_DQS)를 수신하고, 이를 이용해 제1 리드 트레이닝 데이터(RT_D1)를 샘플링하여, 제1 샘플링 데이터(SAMPLE_D1)를 생성할 수 있다. 비교부(223)는 제1 패턴 데이터(PT_D1)와 제1 샘플링 데이터(SAMPLE_D1)를 비교하여, 제1 비교 결과(COM_R1)를 생성할 수 있다. 지연 조정부(224)는 제1 비교 결과(COM_R1)를 기반으로 신호 지연부(225)의 지연 정도를 제어하는 제1 지연 제어 신호(D_CS1)를 생성할 수 있다. 신호 지연부(225)는 제1 지연 제어 신호(D_CS1)를 기반으로 지연 정도를 달리하여, 데이터 스트로브 신호(DQS)를 지연시킬 수 있다.
트레이닝 제어부(TCU)는 버퍼 장치(240)에 대한 리드 트레이닝 동작의 일환으로, 도 3a 및 도 3b에 서술된 동작을 반복하여 복수 회 수행할 수 있다. 지연 조정부(224)는 제1 비교 결과(COM_R1)를 기반으로 제1 타이밍 보상 정보(TCI1)를 생성할 수 있다. 제1 타이밍 보상 정보(TCI1)는 버퍼 장치(240)에 대한 리드 트레이닝 동작 수행 결과 생성되는 것으로, 메모리 컨트롤러(220)가 버퍼 장치(240)로부터 수신하는 데이터 신호, 데이터 스트로브 신호 중 적어도 하나에 대한 최적의 타이밍 보상 정도를 나타내는 정보일 수 있다. 일 예로, 메모리 컨트롤러(220)는 버퍼 장치(240)로부터 데이터 신호 및 데이터 스트로브 신호를 수신한 때에, 제1 타이밍 보상 정보(TCI1)를 참조하여, 데이터 스트로브 신호에 대한 타이밍을 보상한 후에, 리드 동작을 수행할 수 있다.
도 3c를 참조하면, 트레이닝 제어부(TCU)는 데이터 신호 라인을 통해 제2 패턴 데이터(PT_D2)를 버퍼 장치(240)에 전송할 수 있다. 트레이닝 제어부(TCU)는 높은 주파수를 갖는 데이터 스트로브 신호(DQS)를 데이터 스트로브 신호 라인을 통해 버퍼 장치(240)에 제공할 수 있다. 일 예로, 데이터 스트로브 신호(DQS)는 라이트 동작시에 이용되는 데이터 스트로브 신호와 동일한 주파수를 가질 수 있다. 버퍼 장치(240)는 버퍼 메모리(241)에 제2 패턴 데이터(PT_D2)를 라이트하기 위해 데이터 스트로브 신호(DQS)를 이용하여 제2 패턴 데이터(PT_D2)를 샘플링할 수 있다.
도 3d를 더 참조하면, 트레이닝 제어부(TCU)는 도 3b와 비교하여, 보상부(226)를 더 포함할 수 있다. 버퍼 장치(240)는 도 3c에서 전술한 바와 같이, 제2 패턴 데이터(PT_D2)를 샘플링하여 생성한 신호를 제2 라이트 트레이닝 데이터(WT_D2)로서 샘플링부(222)에 전송할 수 있다. 또한, 버퍼 장치(240)는 데이터 스트로브 신호(DQS)를 보상부(226)에 전송할 수 있다. 일 예로, 데이터 스트로브 신호(DQS)는 리드 동작시에 이용되는 데이터 스트로브 신호와 동일한 주파수를 가질 수 있다.
보상부(226)는 제1 타이밍 보상 정보(TCI1)를 참조하여, 데이터 스트로브 신호(DQS)에 대한 타이밍을 보상하여, 보상된 데이터 스트로브 신호(C_DQS)를 생성할 수 있다. 샘플링부(222)는 보상된 데이터 스트로브 신호(C_DQS)를 이용해 제2 라이트 트레이닝 데이터(WT_D2)를 샘플링하여, 제2 샘플링 데이터(SAMPLE_D2)를 생성할 수 있다. 비교부(223)는 제2 패턴 데이터(PT_D2)와 제2 샘플링 데이터(SAMPLE_D2)를 비교하여, 제2 비교 결과(COM_R2)를 생성할 수 있다. 지연 조정부(224)는 제2 비교 결과(COM_R2)를 기반으로 신호 지연부(225)의 지연 정도를 제어하는 제2 지연 제어 신호(D_CS2)를 생성할 수 있다. 신호 지연부(225)는 제2 지연 제어 신호(D_CS2)를 기반으로 지연 정도를 달리하여, 데이터 스트로브 신호(DQS)를 지연시키고, 지연된 데이터 스트로브 신호(D_DQS)를 데이터 스트로브 신호 라인을 통해 버퍼 장치(240)에 전송할 수 있다.
트레이닝 제어부(TCU)는 버퍼 장치(240)에 대한 라이트 트레이닝 동작의 일환으로, 도 3c 및 도 3d에 서술된 동작 루프를 복수 회 수행할 수 있다. 지연 조정부(224)는 제2 비교 결과(COM_R2)를 기반으로 제2 타이밍 보상 정보(TCI2)를 생성할 수 있다. 제2 타이밍 보상 정보(TCI2)는 버퍼 장치(240)에 대한 라이트 트레이닝 동작 수행 결과 생성되는 것으로, 버퍼 장치(240)에 전송하는 데이터 신호, 데이터 스트로브 신호 중 적어도 하나에 대한 최적의 타이밍 보상 정도를 나타내는 정보일 수 있다. 일 예로, 메모리 컨트롤러(220)는 라이트 동작을 위한 데이터 신호 및 데이터 스트로브 신호를 버퍼 장치(240)에 전송하기 전에, 제2 타이밍 보상 정보(TCI2)를 참조하여, 데이터 스트로브 신호에 대한 타이밍을 보상한 후에, 데이터 신호 및 보상된 데이터 스트로브 신호를 전송함으로써 라이트 동작을 수행할 수 있다.
도 4a 및 도 4b는 버퍼 장치(240)의 트레이닝 블록(TB)을 이용한 메모리 장치(260)에 대한 리드 트레이닝 동작을 설명하기 위한 블록도이고 , 도 4c 및 도 4d는 버퍼 장치(240)의 트레이닝 블록(TB)을 이용한 메모리 장치(260)에 대한 라이트 트레이닝 동작을 설명하기 위한 블록도이다 .
도 2 등에서 서술한 바와 같이, 메모리 장치(260)에 대한 트레이닝 동작은 버퍼 장치(260)에 대한 트레이닝 동작이 완료된 후에 수행되는 것을 전제하도록 한다.
도 4a를 참조하면, 메모리 시스템(200)은 메모리 컨트롤러(220) 및 메모리 모듈(MM)을 포함할 수 있으며, 메모리 모듈(MM)은 적어도 하나의 버퍼 장치(240) 및 적어도 하나의 메모리 장치(260)를 포함할 수 있다. 이하에서는, 복수의 메모리 장치들 중 트레이닝 대상으로 선택된 메모리 장치(260)에 대한 트레이닝 동작이 서술되며, 서술되는 트레이닝 방법은 다른 메모리 장치들에도 적용될 수 있다. 트레이닝 대상이 되는 메모리 장치는 메모리 컨트롤러(220)에 의해 선택되거나 버퍼 장치(240)에 의하여 선택될 수 있다. 예를 들면, 메모리 컨트롤러(220)는 트레이닝 대상이 되는 메모리 장치를 선택하기 위하여 메모리 장치에 대한 선택 신호를 메모리 모듈(MM)에 전송할 수 있다. 다른 예로, 버퍼 장치(240)는 트레이닝 동작에 관한 신호(예를 들면, 트레이닝 커맨드)를 수신한 때에, 복수의 메모리 장치들 중에서 정해진 순서(order)에 따라 트레이닝 대상이 되는 메모리 장치를 순차적으로 선택할 수 있다.
버퍼 장치(240)는 트레이닝 블록(TB)을 포함할 수 있다. 트레이닝 블록(TB)은 임의의 패턴 데이터(또는, 패턴 시퀀스)를 생성하는 패턴 데이터 생성기(242)를 포함할 수 있다. 다만, 이는 예시적 실시예에 불과한 바, 이에 국한되지 않고, 메모리 컨트롤러(220)의 트레이닝 제어부(TCU)에 포함된 패턴 데이터 생성기에서 생성된 소정의 패턴 데이터를 수신하여 이를 이용할 수 있다.
트레이닝 블록(TB)은 데이터 신호 라인을 통해 패턴 데이터 생성기(242)에서 생성된 제3 패턴 데이터(PT_D3)를 메모리 장치(260)에 전송할 수 있다. 트레이닝 블록(TB)은 전송하는 제3 패턴 데이터(PT_D3)와 스큐로 인한 미스 매치(miss match) 문제가 발생하지 않을 정도의 충분히 낮은 주파수를 갖는 데이터 스트로브 신호(DQSFL)를 데이터 스트로브 신호 라인을 통해 메모리 장치(260)에 전송할 수 있다. 일 실시예로, 트레이닝 블록(TB)은 메모리 컨트롤러(220)로부터 수신한 데이터 스트로브 신호(DQS')를 분주하여, 낮은 주파수를 갖는 데이터 스트로브 신호(DQSFL)를 생성할 수 있다. 다만, 이는 예시적 실시예로, 이에 국한되지 않으며, 버퍼 장치(240)는 별도의 클록 생성기를 포함하거나, 외부의 클록 소스로부터 클록 신호를 수신할 수도 있다. 메모리 장치(260)는 메모리 셀 어레이(262)에 제3 패턴 데이터(PT_D3)를 라이트하기 위해 데이터 스트로브 신호(DQSFL)를 이용하여 제3 패턴 데이터(PT_D3)를 샘플링할 수 있다.
도 4b를 더 참조하면, 트레이닝 블록(TB)은 샘플링부(243) 및 신호 지연부(244)를 더 포함할 수 있다. 메모리 장치(260)는 도 4a에서 전술한 바와 같이, 제3 패턴 데이터(PT_D3)를 샘플링하여 생성한 신호를 제3 리드 트레이닝 데이터(RT_D3)로서 샘플링부(243)에 전송하고, 신호 지연부(244)에는 높은 주파수를 갖는 데이터 스트로브 신호(DQS)를 전송할 수 있다. 일 예로, 도 4b의 데이터 스트로브 신호(DQS)는 리드 동작시에 이용되는 데이터 스트로브 신호와 동일한 주파수를 가질 수 있다.
샘플링부(243)는 신호 지연부(244)로부터 지연된 데이터 스트로브 신호(D_DQS)를 수신하고, 이를 이용해 제3 샘플링 데이터(SAMPLE_D3)를 생성할 수 있다. 이후, 트레이닝 블록(TB)은 제3 샘플링 데이터(SAMPLE_D3)와 제3 패턴 데이터(PT_D3)를 메모리 컨트롤러(220)의 트레이닝 제어부(TCU)에 전송할 수 있다. 메모리 컨트롤러(220)와 버퍼 장치(240) 사이에는 트레이닝 동작이 완료되었기 때문에, 트레이닝 제어부(TCU)는 제3 샘플링 데이터(SAMPLE_D3)와 제3 패턴 데이터(PT_D3)를 정확하게 수신할 수 있으며, 이하에서는 트레이닝 제어부(TCU)의 핵심적인 동작만을 서술하도록 하겠다.
트레이닝 제어부(TCU)는 비교부(223) 및 지연 조정부(224)를 포함할 수 있다. 비교부(223)는 제3 패턴 데이터(PT_D3)와 제3 샘플링 데이터(SAMPLE_D3)를 비교하여, 제3 비교 결과(COM_R3)를 생성할 수 있다. 지연 조정부(224)는 제3 비교 결과(COM_R3)를 기반으로 트레이닝 블록(TB)의 신호 지연부(244)의 지연 정도를 제어하는 제3 지연 제어 신호(D_CS3)를 생성할 수 있다. 트레이닝 제어부(TCU)는 제3 지연 제어 신호(D_CS3)를 트레이닝 블록(TB)에 전송할 수 있다. 전술한 바와 같이, 메모리 컨트롤러(220)와 버퍼 장치(240) 사이에는 트레이닝 동작이 완료되었기 때문에, 트레이닝 블록(TB)은 제3 지연 제어 신호(D_CS3)를 정확하게 수신할 수 있다. 신호 지연부(244)는 제3 지연 제어 신호(D_CS3)를 기반으로 지연 정도를 달리하여, 데이터 스트로브 신호(DQS)를 지연시킬 수 있다.
트레이닝 블록(TB)과 트레이닝 제어부(TCU)는 메모리 장치(260)에 대한 리드 트레이닝 동작의 일환으로, 도 4a 및 도 4b에서 서술된 동작을 반복하여 복수 회 수행할 수 있다. 지연 조정부(224)는 제3 비교 결과(COM_R3)를 기반으로 제3 타이밍 보상 정보(TCI3)를 생성할 수 있다. 제3 타이밍 보상 정보(TCI3)는 메모리 장치(260)에 대한 리드 트레이닝 동작 수행 결과 생성되는 것으로, 버퍼 장치(240)가 메모리 장치(260)로부터 수신하는 데이터 신호, 데이터 스트로브 신호 중 적어도 하나에 대한 최적의 타이밍 보상 정도를 나타내는 정보일 수 있다. 일 예로, 버퍼 장치(240)는 메모리 장치(260)로부터 데이터 신호 및 데이터 스트로브 신호를 수신한 때에, 제3 타이밍 보상 정보(TCI3)를 참조하여, 데이터 스트로브 신호에 대한 타이밍을 보상한 후에, 리드 동작을 수행할 수 있다.
도 4c를 참조하면, 트레이닝 블록(TB)는 데이터 신호 라인을 통해 제4 패턴 데이터(PT_D4)를 메모리 장치(260)에 전송할 수 있다. 트레이닝 블록(TB)는 높은 주파수를 갖는 데이터 스트로브 신호(DQS)를 데이터 스트로브 신호 라인을 통해 메모리 장치(260)에 제공할 수 있다. 일 예로, 데이터 스트로브 신호(DQS)는 라이트 동작시에 이용되는 데이터 스트로브 신호와 동일한 주파수를 가질 수 있다. 일 실시예로, 트레이닝 블록(TB)은 메모리 컨트롤러(220)로부터 수신한 데이터 스트로브 신호(DQS')를 이용하여, 데이터 스트로브 신호(DQS)를 생성할 수 있다. 다만, 이는 예시적 실시예로, 이에 국한되지 않으며, 버퍼 장치(240)는 별도의 클록 생성기를 포함하거나, 외부의 클록 소스로부터 클록 신호를 수신할 수도 있다.
도 4d를 더 참조하면, 도 4b와 비교하여, 트레이닝 블록(TB)은 보상부(245)를 더 포함할 수 있다. 메모리 장치(260)는 도 4c에서 전술한 바와 같이, 제4 패턴 데이터(PT_D4)를 샘플링하여 생성한 신호를 제4 라이트 트레이닝 데이터(WT_D4)로서 샘플링부(243)에 제공하고, 보상부(245)에는 높은 주파수를 갖는 데이터 스트로브 신호(DQS)를 전송할 수 있다. 일 예로, 데이터 스트로브 신호(DQS)는 리드 동작시에 이용되는 데이터 스트로브 신호와 동일한 주파수를 가질 수 있다.
보상부(245)는 제3 타이밍 보상 정보(TCI3)를 참조하여, 데이터 스트로브 신호(DQS)에 대한 타이밍을 보상하여, 보상된 데이터 스트로브 신호(C_DQS)를 생성할 수 있다. 샘플링부(243)는 보상된 데이터 스트로브 신호(C_DQS)를 이용해 제4 라이트 트레이닝 데이터(WT_D3)를 샘플링하여, 제4 샘플링 데이터(SAMPLE_D4)를 생성할 수 있다. 이후, 트레이닝 블록(TB)은 제4 샘플링 데이터(SAMPLE_D4)와 제4 패턴 데이터(PT_D4)를 트레이닝 제어부(TCU)에 전송할 수 있다.
트레이닝 제어부(TCU)의 비교부(223)는 제4 패턴 데이터(PT_D4)와 제4 샘플링 데이터(SAMPLE_D4)를 비교하여, 제4 비교 결과(COM_R4)를 생성할 수 있다. 지연 조정부(224)는 제4 비교 결과(COM_R4)를 기반으로 트레이닝 블록(TB)의 신호 지연부(244)의 지연 정도를 제어하는 제4 지연 제어 신호(D_CS4)를 생성할 수 있다. 트레이닝 제어부(TCU)는 제4 지연 제어 신호(D_CS4)를 트레이닝 블록(TB)에 전송할 수 있다. 신호 지연부(244)는 제4 지연 제어 신호(D_CS4)를 기반으로 지연 정도를 달리하여, 데이터 스트로브 신호(DQS)를 지연시켜, 지연된 데이터 스트로브 신호(D_DQS)를 데이터 스트로브 신호 라인을 통해 메모리 장치(260)에 제공할 수 있다.
트레이닝 블록(TB)과 트레이닝 제어부(TCU)는 메모리 장치(260)에 대한 라이트 트레이닝 동작의 일환으로, 도 4c 및 도 4d에서 서술된 동작을 반복하여 복수 회 수행할 수 있다. 지연 조정부(224)는 제4 비교 결과(COM_R4)를 기반으로 제4 타이밍 보상 정보(TCI4)를 생성할 수 있다. 제4 타이밍 보상 정보(TCI4)는 메모리 장치(260)에 대한 리드 트레이닝 동작 수행 결과 생성되는 것으로, 버퍼 장치(240)가 메모리 장치(260)로 전송하는 데이터 신호, 데이터 스트로브 신호 중 적어도 하나에 대한 최적의 타이밍 보상 정도를 나타내는 정보일 수 있다. 일 예로, 버퍼 장치(240)는 메모리 장치(260)로 전송하는 데이터 스트로브 신호에 대한 타이밍을 제4 타이밍 보상 정보(TCI4)를 참조하여 보상한 후에, 보상된 데이터 스트로브 신호와 데이터 신호를 메모리 장치(260)에 전송함으로써 라이트 동작을 수행할 수 있다.
이와 같이, 본 개시의 일 실시예에 따른 버퍼 장치(240)는 메모리 장치(260)에 대한 트레이닝 동작을 지원할 수 있는 최소한의 트레이닝 블록(TB)을 포함하므로써, 메모리 컨트롤러(220)가 버퍼 장치(240)를 이용하여 메모리 장치(260)에 대한 효율적인 트레이닝 동작이 가능하며, 더 나아가, 버퍼 장치(240)의 사이즈를 최소화시킬 수 있는 장점이 있다.
도 5는 본 개시의 일 실시예에 따라 도 1의 메모리 시스템(100) 상에서 수행하는 트레이닝 동작을 개략적으로 설명하기 위한 순서도이다 . 이하에서는, 트레이닝 블록(TB)이 결정부와 같은 구성을 포함하는 경우를 가정하여 서술한다.
도 1 및 도 5를 참조하면, 메모리 컨트롤러(120)는 버퍼 장치(140)에 대한 트레이닝 동작을 수행할 수 있다(S200). 이와 동시에, 버퍼 장치(140)는 메모리 장치들(160)에 대한 트레이닝 동작을 수행할 수 있다(S220). 즉, 도 2에서와 달리, 버퍼 장치(140)는 독자적으로 메모리 장치들(160)에 전송하는 신호에 대한 타이밍 보상 정도와 메모리 장치들(160)로부터 수신하는 신호에 대한 타이밍 보상 정도를 결정할 수 있기 때문에, 버퍼 장치(140)의 메모리 장치들(160)에 대한 트레이닝 동작은 메모리 컨트롤러(120)의 버퍼 장치(140)에 대한 트레이닝 동작과 병렬적으로 수행될 수 있다. 이후, 병렬적으로 수행된 트레이닝 동작들의 결과에 기반하여 메모리 장치들(160)에 대한 메모리 동작을 수행할 수 있다(S240).
도 6a 및 도 6c는 버퍼 장치(340)의 메모리 장치(360)에 대한 리드 트레이닝 동작을 설명하기 위한 블록도이고 , 도 6d 및 도 6e는 버퍼 장치(340)의 메모리 장치(360)에 대한 라이트 트레이닝 동작을 설명하기 위한 블록도이다 .
도 5 등에서 서술한 바와 같이, 버퍼 장치(340)의 메모리 장치(360)에 대한 트레이닝 동작은 메모리 컨트롤러(320)의 버퍼 장치(340)에 대한 트레이닝 동작과 동시에 수행될 수 있으며, 메모리 컨트롤러(320)의 버퍼 장치(340)에 대한 트레이닝 동작은 도 3a 내지 도 3d에서 구체적으로 서술한 바, 이하 생략한다.
도 6a를 참조하면, 메모리 모듈(300)은 버퍼 장치(340) 및 메모리 장치(360)를 포함할 수 있다. 버퍼 장치(340)는 트레이닝 블록(TB)을 포함하며, 트레이닝 블록(TB)은 패턴 데이터 생성기(342) 및 클록 생성기(349)를 포함할 수 있다. 메모리 장치(360)는 소정의 데이터가 라이트/리드되는 메모리 셀 어레이(362)를 포함할 수 있다.
트레이닝 블록(TB)은 데이터 신호 라인을 통해 패턴 데이터 생성기(342)에서 생성된 제3 패턴 데이터(PT_D3)를 메모리 장치(360)에 전송할 수 있다. 트레이닝 블록(TB)은 전송하는 제3 패턴 데이터(PT_D3)와 스큐로 인한 미스 매치(miss match) 문제가 발생하지 않을 정도의 충분히 낮은 주파수를 갖는 데이터 스트로브 신호(DQSFL)를 데이터 스트로브 신호 라인을 통해 메모리 장치(360)에 전송할 수 있다. 일 실시예로, 트레이닝 블록(TB)은 클록 생성기(349)에서 생성된 클록 신호를 분주하여, 낮은 주파수를 갖는 데이터 스트로브 신호(DQSFL)를 생성할 수 있다. 메모리 장치(360)는 메모리 셀 어레이(362)에 제3 패턴 데이터(PT_D3)를 라이트하기 위해 데이터 스트로브 신호(DQSFL)를 이용하여 제3 패턴 데이터(PT_D3)를 샘플링할 수 있다.
다른 실시예로서, 도 6b를 참조하면, 트레이닝 블록(TB)은 클록 생성기(349)를 포함하지 않고, 메모리 컨트롤러로부터 데이터 스트로브 신호(DQS')를 수신하거나 외부 클록 소스로부터 클록 신호(CLK_EXT)를 수신할 수 있다. 이와 같이, 버퍼 장치(340)는 외부로부터 데이터 스트로브 신호(DQS') 또는 클록 신호(CLK_EXT)를 수신하고, 이를 이용하여 메모리 장치(360)에 대한 트레이닝 동작을 수행할 수 있다.
도 6c를 더 참조하면, 트레이닝 블록(TB)은 샘플링부(343), 비교부(346), 지연 조정부(347) 및 신호 지연부(344)를 더 포함할 수 있다. 메모리 장치(360)는 도 6a에서 전술한 바와 같이, 제3 패턴 데이터(PT_D3)를 샘플링하여 생성한 신호를 제3 리드 트레이닝 데이터(RT_D3)로서 샘플링부(343)에 전송하고, 신호 지연부(344)에는 높은 주파수를 갖는 데이터 스트로브 신호(DQS)를 전송할 수 있다. 일 예로, 도 6c의 데이터 스트로브 신호(DQS)는 리드 동작시에 이용되는 데이터 스트로브 신호와 동일한 주파수를 가질 수 있다.
샘플링부(343)는 신호 지연부(344)로부터 지연된 데이터 스트로브 신호(D_DQS)를 수신하고, 이를 이용해 제3 리드 트레이닝 데이터(RT_D3)를 샘플링하여, 제3 샘플링 데이터(SAMPLE_D3)를 생성할 수 있다. 비교부(346)는 제3 패턴 데이터(PT_D3)와 제3 샘플링 데이터(SAMPLE_D3)를 비교하여, 제3 비교 결과(COM_R3)를 생성할 수 있다. 지연 조정부(347)는 제3 비교 결과(COM_R3)를 기반으로 신호 지연부(344)의 지연 정도를 제어하는 제3 지연 제어 신호(D_CS3)를 생성할 수 있다. 신호 지연부(344)는 제3 지연 제어 신호(D_CS3)를 기반으로 지연 정도를 달리하여, 데이터 스트로브 신호(DQS)를 지연시킬 수 있다.
트레이닝 블록(TB)는 메모리 장치(360)에 대한 리드 트레이닝 동작의 일환으로, 도 6a 및 도 6c에 서술된 동작을 반복하여 복수 회 수행할 수 있다. 지연 조정부(347)는 제3 비교 결과(COM_R3)를 기반으로 제3 타이밍 보상 정보(TCI3)를 생성할 수 있다. 제3 타이밍 보상 정보(TCI3)의 내용은 전술한 바, 이하 구체적인 내용은 생략한다.
도 6d를 참조하면, 트레이닝 블록(TB)은 데이터 신호 라인을 통해 제4 패턴 데이터(PT_D4)를 메모리 장치(360)에 전송할 수 있다. 트레이닝 블록(TB)은 높은 주파수를 갖는 데이터 스트로브 신호(DQS)를 데이터 스트로브 신호 라인을 통해 메모리 장치(360)에 제공할 수 있다. 일 예로, 데이터 스트로브 신호(DQS)는 라이트 동작시에 이용되는 데이터 스트로브 신호와 동일한 주파수를 가질 수 있다. 메모리 장치(360)는 메모리 셀 어레이(362)에 제4 패턴 데이터(PT_D4)를 라이트하기 위해 데이터 스트로브 신호(DQS)를 이용하여 제4 패턴 데이터(PT_D4)를 샘플링할 수 있다.
도 6e를 더 참조하면, 트레이닝 블록(TB)은 도 6c와 비교하여, 보상부(348)를 더 포함할 수 있다. 메모리 장치(360)는 도 6d에서 전술한 바와 같이, 제4 패턴 데이터(PT_D4)를 샘플링하여 생성한 신호를 제4 라이트 트레이닝 데이터(WT_D4)로서 샘플링부(343)에 전송하고, 보상부(348)에는 높은 주파수를 갖는 데이터 스트로브 신호(DQS)를 전송할 수 있다. 일 예로, 데이터 스트로브 신호(DQS)는 리드 동작시에 이용되는 데이터 스트로브 신호와 동일한 주파수를 가질 수 있다.
보상부(348)는 제3 타이밍 보상 정보(TCI3)를 참조하여, 데이터 스트로브 신호(DQS)에 대한 타이밍을 보상하여, 보상된 데이터 스트로브 신호(C_DQS)를 생성할 수 있다. 샘플링부(343)는 보상된 데이터 스트로브 신호(C_DQS)를 이용해 제4 라이트 트레이닝 데이터(WT_D4)를 샘플링하여, 제4 샘플링 데이터(SAMPLE_D4)를 생성할 수 있다. 비교부(346)는 제4 패턴 데이터(PT_D4)와 제4 샘플링 데이터(SAMPLE_D4)를 비교하여, 제4 비교 결과(COM_R4)를 생성할 수 있다. 지연 조정부(347)는 제4 비교 결과(COM_R4)를 기반으로 신호 지연부(344)의 지연 정도를 제어하는 제4 지연 제어 신호(D_CS4)를 생성할 수 있다. 신호 지연부(344)는 제4 지연 제어 신호(D_CS4)를 기반으로 지연 정도를 달리하여, 데이터 스트로브 신호(DQS)를 지연시키고, 지연된 데이터 스트로브 신호(D_DQS)를 데이터 스트로브 신호 라인을 통해 메모리 장치(340)에 전송할 수 있다.
트레이닝 블록(TB)는 메모리 장치(360)에 대한 라이트 트레이닝 동작의 일환으로, 도 6d 및 도 6e에 서술된 동작 루프를 복수 회 수행할 수 있다. 지연 조정부(347)는 제4 비교 결과(COM_R4)를 기반으로 제4 타이밍 보상 정보(TCI4)를 생성할 수 있다. 제4 타이밍 보상 정보(TCI4)의 내용은 전술한 바, 이하 구체적인 내용은 생략한다.
도 7은 본 개시의 일 실시예에 따른 버퍼 장치(440)가 리타이밍 기능이 지원되는 경우, 메모리 장치(360)에 대한 트레이닝 동작을 설명하기 위한 블록도이고 , 도 8a 및 도 8b는 버퍼 장치(440)의 리타이밍 제어부( RCU )의 구성 및 동작을 설명하기 위한 도면이다.
도 7을 참조하면, 메모리 시스템(400)은 메모리 컨트롤러(420) 및 메모리 모듈(MM)을 포함하며, 메모리 모듈(MM)은 버퍼 장치(440) 및 메모리 장치(460)를 포함할 수 있다. 버퍼 장치(440)는 도 6a 등에서 서술된 버퍼 장치(340)와 달리 리타이밍 제어부(Retiming Control Unit; RCU)를 더 포함할 수 있다. 리타이밍 제어부(RCU)는 메모리 컨트롤러(420)로부터 수신한 데이터 신호 및 데이터 스트로브 신호를 재정렬할 수 있으며, 리타이밍 제어부(RCU)는 메모리 장치(460)에 재정렬된 데이터 신호 및 데이터 스트로브 신호를 메모리 장치(460)에 제공할 수 있다. 리타이밍 제어부(RCU)에 의하여, 메모리 컨트롤러(420)와 버퍼 장치(440) 사이에서 발생한 데이터 신호 및 데이터 스트로브 신호의 스큐들을 초기화되고, 이를 통해, 버퍼 장치(440)는 버퍼 장치(440)와 메모리 장치(460) 간의 신호 전송 특성만을 고려하여 데이터 신호 및 데이터 스트로브 신호를 메모리 장치(460)에 전송할 수 있다. 버퍼 장치(440)가 메모리 장치(460)에 대한 트레이닝 동작을 수행할 때에, 위와 같은, 리타이밍 기능을 활용할 수 있다.
도 8a를 더 참조하면, 리타이밍 제어부(RCU)는 샘플링부(SAM) 및 직렬기(SL, 또는, 멀티플렉서)를 포함할 수 있다. 샘플링부(SAM)는 제1 플립 플롭(FF1) 및 제2 플립 플롭(FF2)을 포함하고, 직렬기(SL)는 복수의 논리 회로들(LC1~LC3)을 포함할 수 있다. 일 예로, 논리 회로들(LC1~LC3)은 낸드 게이트들 일 수 있다. 제1 플립 플롭(FF1) 및 제2 플립 플롭(FF2)은 제1 단자를 통해 메모리 컨트롤러(420)로부터 패턴 데이터(PT_D)를 수신할 수 있다. 또한, 제1 플립 플롭(FF1) 및 제2 플립 플롭(FF2)는 제2 단자를 통해 메모리 컨트롤러(420)로부터 각각 데이터 스트로브 신호(DQS), 데이터 스트로브 반전 신호(/DQS)를 수신할 수 있다. 제1 플립 플롭(FF1) 및 제2 플립 플롭(FF2)은 각각 출력 단자를 통해 출력 신호를 직렬기(SL)에 전송할 수 있다. 이와 동시에, 제1 플립 플롭(FF1)은 데이터 스트로브 신호(DQS)를 이용해 패턴 데이터(PT_D)를 샘플링하여 생성한 신호를 트레이닝 데이터(T_D)로서 메모리 컨트롤러(420)에 전송할 수 있다. 버퍼 장치(440)에 대한 트레이닝 동작시에 트레이닝 데이터(T_D)가 이용될 수 있다.
직렬기(SL)는 샘플링부(SAM)로부터 수신한 출력 신호들, 데이터 스트로브 신호(DQS) 및 데이터 스트로브 반전 신호(/DQS)를 이용하여 리타이밍 패턴 데이터(Re_PT_D)를 생성할 수 있다. 도 8b를 더 참조하면, 패턴 데이터(PT_D)는 제1 내지 제3 데이터(D1~D3)를 포함할 수 있으며, 직렬기(SL)는 데이터 스트로브 신호(DQS)의 기준으로 제1 내지 제3 데이터(D1~D3)를 재정렬할 수 있다. 일 예로, 직렬기(SL)는 데이터 스트로브 신호(DQS)의 라이징 엣지(Rising edge)에 맞춰 제1 내지 제3 데이터(D1~D3)를 재정렬하여, 리타이밍 패턴 데이터(Re_PT_D)를 생성할 수 있다. 다시, 도 8a로 돌아와서, 직렬기(SL)는 리타이밍 패턴 데이터(Re_PT_D)를 메모리 장치(460)에 전송할 수 있다. 메모리 장치(460)에 대한 트레이닝 동작시에 리타이밍 패턴 데이터(Re_PT_D)가 이용될 수 있다. 더 나아가, 메모리 장치(460)는 메모리 장치(460)에 대한 트레이닝 동작시 이용되는 트레이닝 데이터(T_D')를 리타이밍 패턴 데이터(Re_PT_D)를 기반으로 생성하여 버퍼 장치(440)에 전송할 수 있다.
이와 같이, 리타이밍 제어부(RCU)를 통해, 버퍼 장치(440)에 대한 트레이닝 동작과 메모리 장치(460)에 대한 트레이닝 동작이 동시에 수행될 수 있다. 또한, 버퍼 장치(440)는 메모리 컨트롤러(420)로부터 수신한 패턴 데이터(PT_D) 및 데이터 스트로브 신호(DQS)를 이용하여 메모리 장치(460)에 대한 트레이닝 동작을 수행할 수 있다. 따라서, 버퍼 장치(440)는 별도의 패턴 데이터 생성기, 클록 생성기를 구비할 필요가 없으므로, 버퍼 장치(440)의 크기를 최소화할 수 있다.
도 9는 본 개시의 일 실시예에 따른 타이밍 보상 정보를 생성하는 메모리 컨트롤러(520)의 버퍼 장치(540)에 대한 트레이닝 동작을 설명하기 위한 블록도이다 .
도 9를 참조하면, 메모리 시스템(500)은 메모리 컨트롤러(520) 및 버퍼 장치(540)를 포함할 수 있다. 전술한 바와 같이, 메모리 컨트롤러(520)의 트레이닝 제어부(TCU)는 버퍼 장치(540)에 대한 리드/라이트 트레이닝 동작을 수행할 수 있으며, 그 결과, 제1 타이밍 보상 정보(TCI1) 및 제2 타이밍 보상 정보(TCI2)를 생성할 수 있다. 트레이닝 제어부(TCU)는 메모리 컨트롤러(520)의 레지스터(526)에 타이밍 보상 정보들(TCI1, TCI2)을 저장할 수 있다. 일 예로, 타이밍 보상 정보들(TCI1, TCI2)은 메모리 컨트롤러(520)가 라이트 동작을 위해 버퍼 장치(540)에 전송하는 신호(예를 들면, 데이터 신호 또는 데이터 스트로브 신호)에 대한 타이밍 보상 정도(WR_TC), 메모리 컨트롤러(520)가 리드 동작을 위해 버퍼 장치(540)로부터 수신하는 신호(예를 들면, 데이터 신호 또는 데이터 스트로브 신호)에 대한 타이밍 보상 정도(RD_TC)를 나타낼 수 있다. 이후, 메모리 컨트롤러(520)는 레지스터(526)에 저장된 타이밍 보상 정보들(TCI1, TCI2)을 참조하여, 메모리 동작을 수행할 수 있다.
도 10a 및 10b는 본 개시의 일 실시예에 따른 타이밍 보상 정보를 생성하는 버퍼 장치(540)의 메모리 그룹들(560_1~560_n)에 대한 트레이닝 동작을 설명하기 위한 블록도이다 .
도 10a를 참조하면, 메모리 시스템(500)은 버퍼 장치(540) 및 복수의 메모리 그룹들(560_1~560_n)을 포함할 수 있다. 각각의 메모리 그룹(560_1~560_n)은 복수의 메모리 장치들을 포함할 수 있다. 각각의 메모리 그룹(560_1~560_n)은 버퍼 장치(540)와 채널(CH1~CHn)을 통해 연결될 수 있다. 전술한 바와 같이, 버퍼 장치(540)의 트레이닝 블록(TB)은 메모리 그룹들(560_1~560_n)에 대한 리드/라이트 트레이닝 동작을 수행할 수 있다. 일 실시예로, 버퍼 장치(540)는 스위칭 회로(SW_CKT)를 더 포함할 수 있으며, 스위칭 회로(SW_CKT)를 통해 각각의 메모리 그룹(560_1~560_n)과 선택적으로 연결될 수 있다. 트레이닝 블록(TB)은 복수의 메모리 장치들 중 트레이닝 대상이 되는 메모리 장치를 선택하기 위한 선택 신호(DS_S)를 트레이닝 관련 신호(TR_S)와 함께 스위칭 회로(SW_CKT)에 전송할 수 있다. 스위칭 회로(SW_CKT)는 선택 신호(DS_S)를 기반으로 선택된 메모리 장치가 포함된 메모리 그룹과 버퍼 장치(540)를 채널을 통해 연결시킬 수 있다. 예를 들어, MD1_1 메모리 장치가 트레이닝 대상으로 선택된 때에는, 스위칭 회로(SW_CKT)는 제1 메모리 그룹(560_1)과 버퍼 장치(540)를 제1 채널(CH1)을 통해 연결시킬 수 있다. 이 후, 제1 채널(CH1)을 통해 선택 신호(DS_S)가 제1 메모리 그룹(560_1)의 메모리 장치들에 전송될 수 있으며, 선택 신호(DS_S)에 대응하는 MD1_1 메모리 장치만이 인에이블되어 트레이닝 블록(TB)은 MD1_1 메모리 장치에 대한 트레이닝 동작을 수행할 수 있다. 다만, 이는 예시적인 실시예에 불과한 바, 이에 국한되지 않고, 다양한 방식으로 메모리 장치를 선택하여 트레이닝 동작을 수행할 수 있을 것이다.
이와 같은 방식으로, 트레이닝 블록(TB)은 메모리 그룹들(560_1~560_n)에 대한 트레이닝 동작을 수행할 수 있으며, 그 결과, 제3 타이밍 보상 정보(TCI3) 및 제4 타이밍 보상 정보(TCI4)를 생성할 수 있다. 트레이닝 블록(TB)은 버퍼 장치(540)의 레지스터(545)에 타이밍 보상 정보들(TCI3, TCI4)을 저장할 수 있다. 이후, 버퍼 장치(540)는 레지스터(545)에 저장된 타이밍 보상 정보들(TCI3, TCI4)을 참조하여, 메모리 동작을 수행할 수 있다
일 예로, 타이밍 보상 정보들(TCI3, TCI4)은 버퍼 장치(540)가 라이트 동작을 위해 메모리 장치에 전송하는 신호(예를 들면, 데이터 신호 또는 데이터 스트로브 신호)에 대한 타이밍 보상 정도(WR_TC), 버퍼 장치(540)가 리드 동작을 위해 메모리 장치로부터 수신하는 신호(예를 들면, 데이터 신호 또는 데이터 스트로브 신호)에 대한 타이밍 보상 정도(RD_TC)를 메모리 장치별(MD_1_1~MD_m_n)로 나타낼 수 있다. 이후, 버퍼 장치(540)는 레지스터(545)에 저장된 타이밍 보상 정보들(TCI3, TCI4)을 참조하여, 메모리 동작을 수행할 수 있다.
임계치 이하의 낮은 주파수에서 메모리 동작을 수행하는 때에는, 각각의 메모리 장치의 특성보다 각각의 채널의 특성에 기인하여 스큐가 발생할 수 있다. 따라서, 동일한 메모리 그룹(560_1~560_n)에 포함된 메모리 장치들과 버퍼 장치(540)간에 송수신되는 신호의 스큐 발생 패턴이 동일 또는 유사할 수 있다. 이에 따라, 도 10b를 참조하면, 도 10a와 달리, 메모리 그룹들(560_1~560_n)에 대한 트레이닝 동작 수행 결과 생성된 타이밍 보상 정보들(TCI3', TCI4')은 버퍼 장치(540)가 라이트 동작을 위해 메모리 장치에 전송하는 신호(예를 들면, 데이터 신호 또는 데이터 스트로브 신호)에 대한 타이밍 보상 정도(WR_TC), 버퍼 장치(540)가 리드 동작을 위해 메모리 장치로부터 수신하는 신호(예를 들면, 데이터 신호 또는 데이터 스트로브 신호)에 대한 타이밍 보상 정도(RD_TC)를 채널별(CH1~CHn)로 나타낼 수 있다.
일 예로, 트레이닝 블록(TB)은 제1 채널(CH1)과 연결된 제1 메모리 그룹(560_1)에 대한 트레이닝 동작을 수행 완료한 후에, 제1 채널(CH1)에 대응하는 타이밍 보상 정보를 생성할 수 있다. 물론, 도 10a와 달리, 도 10b에서 트레이닝 블록(TB)이 트레이닝 동작을 수행할 때 이용하는 데이터 스트로브 신호는 임계치 이하의 낮은 주파수를 가질 수 있다. 구체적으로, 제1 메모리 그룹(560_1)에 포함된 하나의 메모리 장치에 대해서만 트레이닝 동작을 수행함으로써, 제1 채널(CH1)에 대응하는 타이밍 보상 정보를 생성하거나, 제1 메모리 그룹(560_1)에 포함된 적어도 둘 이상의 메모리 장치에 대해서 트레이닝 동작을 수행하고, 생성된 타이밍 보상 정보들의 평균을 제1 채널(CH1)에 대응하는 타이밍 보상 정보로서 생성할 수 있다. 이와 같은 방식으로, 트레이닝 블록(TB)은 제2 내지 제n 채널(CH2~CHn)에 대응하는 타이밍 보상 정보를 생성하여, 레지스터(545)에 저장할 수 있다. 다만, 이는 예시적 실시예에 불과한 바, 이에 국한되지 않고, 다양한 방법으로 채널별 타이밍 보상 정보를 생성할 수 있다. 이후, 버퍼 장치(520)는 레지스터(545)에 저장된 타이밍 보상 정보들(TCI3', TCI4')을 참조하여, 임계치 이하의 낮은 주파수의 메모리 동작을 수행할 수 있다.
도 11은 본 개시의 일 실시예에 따른 메모리 시스템(600)을 나타내는 블록도이다 .
도 11을 참조하면, 메모리 시스템(600)은 메모리 컨트롤러(620) 및 메모리 모듈(MM)을 포함하며, 메모리 모듈(MM)은 복수의 버퍼 장치들(640_1~640_7) 및 복수의 메모리 장치들(660_3~660_7)을 포함할 수 있다. 메모리 컨트롤러(620)는 트레이닝 제어부(620)를 이용하여 제1 버퍼 장치(640_1)에 대한 트레이닝 동작을 수행할 수 있으며, 그 결과 생성된 타이밍 보상 정보를 레지스터(RG_a)에 저장할 수 있다.
일 실시예로, 버퍼 장치들(640_1~640_7)은 소정의 트리 구조(Tree structure)를 형성할 수 있다. 제1 버퍼 장치(640_1)는 제2 버퍼 장치(640_2) 및 제5 버퍼 장치(640_2, 640_5)와 스위칭 회로(SW_CKT)를 통해 연결될 수 있다. 제1 버퍼 장치(640_1)와 연결된 제2 버퍼 장치(640_2) 및 제5 버퍼 장치(640_5)는 각각 제1 버퍼 장치(640_1)의 서브 버퍼 장치로 지칭되고, 제1 버퍼 장치(640_1)는 메인 버퍼 장치로 지칭될 수 있다. 제1 버퍼 장치(640_1)는 전술한 실시예들과 같이, 트레이닝 블록(TB)을 이용하여 제2 버퍼 장치(640_2) 및 제5 버퍼 장치(640_5)에 대한 트레이닝 동작을 수행할 수 있으며, 그 결과 생성된 타이밍 보상 정보를 레지스터(RG_b1)에 저장할 수 있다.
또한, 제2 버퍼 장치(640_1)는 제3 버퍼 장치(640_3) 및 제4 버퍼 장치(640_4)와 스위칭 회로(SW_CKT)를 통해 연결될 수 있다. 제2 버퍼 장치(640_2)와 연결된 제3 버퍼 장치(640_3) 및 제4 버퍼 장치(640_4)는 각각 제2 버퍼 장치(640_2)의 서브 버퍼 장치로 지칭되고, 제2 버퍼 장치(640_2)는 메인 버퍼 장치로 지칭될 수 있다. 제3 버퍼 장치(640_3)는 제1 메모리 장치들(660_3)과 스위칭 회로(SW_CKT)를 통해 연결되고, 제4 버퍼 장치(640_4)는 제2 메모리 장치들(660_4)과 스위칭 회로(SW_CKT)를 통해 연결될 수 있다. 제2 버퍼 장치(640_2)는 전술한 실시예들과 같이, 트레이닝 블록(TB)을 이용하여 제3 버퍼 장치(640_3) 및 제4 버퍼 장치(640_4)에 대한 트레이닝 동작을 수행할 수 있으며, 그 결과 생성된 타이밍 보상 정보를 레지스터(RG_b2)에 저장할 수 있다. 제3 버퍼 장치(640_3) 및 제4 버퍼 장치(640_4)는 트레이닝 블록(TB)을 이용하여 각각 대응하는 메모리 장치(660_3, 660_4)에 대한 트레이닝 동작을 수행할 수 있으며, 그 결과 생성된 타이밍 보상 정보를 각각의 레지스터(RG_b3, RG_b4)에 저장할 수 있다. 제5 버퍼 장치(640_5) 내지 제7 버퍼 장치(640_7), 제6 메모리 장치들(660_6) 및 제7 메모리 장치들(660_7)의 관계는 제2 버퍼 장치(640_2) 내지 제4 버퍼 장치(640_4), 제3 메모리 장치들(660_3) 및 제4 메모리 장치들(660_4)의 관계와 유사한 바, 구체적인 서술은 생략한다.
도 12는 본 개시의 일 실시예에 따른 메모리 시스템(700)의 메모리 동작 방법을 설명하기 위한 블록도이다 .
도 12를 참조하면, 메모리 시스템(700)은 메모리 컨트롤러(720) 및 메모리 모듈(MM)을 포함하고, 메모리 모듈(MM)은 적어도 하나의 버퍼 장치(740) 및 복수의 메모리 장치들(760)을 포함할 수 있다. 메모리 컨트롤러(720)는 레지스터(722) 및 보상부(724)를 포함할 수 있다. 전술한 바와 같이, 레지스터(722)에는 버퍼 장치(740)에 대한 트레이닝 동작을 수행한 결과 생성된 타이밍 보상 정보들이 저장될 수 있다. 보상부(724)는 레지스터(722)의 타이밍 보상 정보들을 참조하여, 버퍼 장치(740)에 전송될 신호에 대한 타이밍을 보상한 후에, 버퍼 장치(740)에 전송할 수 있다. 또한, 보상부(724)는 레지스터(722)의 타이밍 보상 정보들을 참조하여, 버퍼 장치(740)로부터 수신된 신호에 대한 타이밍을 보상할 수 있다.
버퍼 장치(740)는 레지스터(742), 보상부(744) 및 스위칭 회로(746)를 포함할 수 있다. 전술한 바와 같이, 레지스터(742)에는 메모리 장치들(760)에 대한 트레이닝 동작을 수행한 결과 생성된 타이밍 보상 정보들이 저장될 수 있다. 보상부(744)는 레지스터(742)의 타이밍 보상 정보들을 참조하여, 메모리 장치들(760)에 전송될 신호에 대한 타이밍을 보상한 후, 메모리 장치들(760)에 전송할 수 있다. 또한, 보상부(744)는 메모리 장치들(760)로부터 수신된 신호에 대한 타이밍을 보상할 수 있다.
본 개시의 일 실시예에 따른 메모리 시스템(700)은 위와 같은 신호에 대한 타이밍 보상 동작을 포함하는 메모리 동작을 수행할 수 있다.
도 13a 및 도 13b는 도 1의 메모리 장치(160)의 일 실시예를 설명하기 위한 도면이다.
도 13a를 참조하면, 메모리 장치(MD)는 메모리 셀 어레이(MCA)를 포함하며, 메모리 셀 어레이(MCA)는 복수의 메모리 블록들(BLK1~BLKz)을 포함할 수 있다.
도 13b를 더 참조하면, 메모리 블록(BLKa)은 복수의 셀 스트링들(CS11~CS21, CS12~CS22)을 포함한다. 복수의 셀 스트링들(CS11~CS21, CS12~CS22)은 행 방향(row direction) 및 열 방향(column direction)을 따라 배열되어, 행들 및 열들을 형성할 수 있다. 예를 들어, 행 방향(row direction)을 따라 배열된 셀 스트링들(CS11, CS12)은 제1 행을 형성하고, 행 방향(row direction)을 따라 배열된 셀 스트링들(CS21, CS22)은 제2 행을 형성할 수 있다. 열 방향(column direction)을 따라 배열된 셀 스트링들(CS11, CS21)은 제1 열을 형성하고, 열 방향(column direction)을 따라 배열된 셀 스트링들(CS12, CS22)은 제2 열을 형성할 수 있다. 각 셀 스트링은 복수의 셀 트랜지스터들을 포함할 수 있다. 복수의 셀 트랜지스터들은 접지 선택 트랜지스터들(GSTa, GSTb), 메모리 셀들(MC1~MC6), 그리고 스트링 선택 트랜지스터들(SSTa, SSTb)을 포함할 수 있다. 각 셀 스트링의 접지 선택 트랜지스터들(GSTa, GSTb), 메모리 셀들(MC1~MC6), 그리고 스트링 선택 트랜지스터들(SSTa,GSTb)은 셀 스트링들(CS11~CS21, CS12~CS22)이 행들 및 열들을 따라 배열되는 평면(예를 들어, 메모리 블록(BLKa)의 기판 상의 평면)과 수직한 높이 방향으로 적층될 수 있다. 복수의 셀 트랜지스터들은 절연막에 포획된 전하량에 따라 가변하는 문턱 전압들을 갖는 전하 포획형(charge trap type) 트랜지스터들일 수 있다. 최하단의 접지 선택 트랜지스터들(GSTa)은 공통 소스 라인(CSL)에 공통으로 연결될 수 있다. 복수의 셀 스트링들(CS11~CS21, CS12~CS22)의 접지 선택 트랜지스터들(GSTa, GSTb)은 접지 선택 라인(GSL)에 공통으로 연결될 수 있다. 기판(또는 접지 선택 트랜지스터들(GST))으로부터 동일한 높이(또는 순서)에 위치한 메모리 셀들은 하나의 워드라인에 공통으로 연결되고, 서로 다른 높이(또는 순서)에 위치한 메모리 셀들은 서로 다른 워드 라인들(WL1~WL6)에 각각 연결될 수 있다. 복수의 셀 스트링들(CS11~CS21, CS12~CS22)의 동일한 높이(또는 순서)의 제1 스트링 선택 트랜지스터들(SSTa)에서, 서로 다른 행의 제1 스트링 선택 트랜지스터들(SSTa)은 서로 다른 스트링 선택 라인들(SSL1a~SSL2a)에 각각 연결될 수 있다. 복수의 셀 스트링들(CS11~CS21, CS12~CS22)의 동일한 높이(또는 순서)의 제2 스트링 선택 트랜지스터들(SSTb)에서, 서로 다른 행의 제2 스트링 선택 트랜지스터들(SSTb)은 서로 다른 스트링 선택 라인들(SSL1b~SSL2b)에 각각 연결될 수 있다.
도 14는 본 개시의 일 실시예에 따른 메모리 시스템(1000)을 나타내는 블록도이다 .
도 14를 참조하면, 메모리 시스템(1000)은 메모리 컨트롤러(1200) 및 메모리 모듈(1400)을 포함하며, 메모리 모듈(1400)은 메모리 셀 어레이를 각각 포함하는 하나 이상의 메모리 칩들(1800)과, 메모리 칩들(1800)과 메모리 컨트롤러(1200) 간의 송수신 신호를 라우팅 또는 메모리 칩들(1800)에 대한 메모리 동작을 관리하기 위한 버퍼 칩(1620)을 포함할 수 있다. 메모리 모듈(1400)의 메모리 칩들(1800)은 제1 랭크(R1) 및 제2 랭크(R2)로 구분될 수 있다. 버퍼 칩(1600)은 트레이닝 블록(1620)을 포함할 수 있으며, 트레이닝 블록(1620)은 도 1 내지 11에서 서술되었던 실시예들이 적용되어 메모리 칩들(1800)에 대한 트레이닝 동작을 수행할 수 있다. 도 14의 예에서는 메모리 컨트롤러의 기능의 일부가 LRDIMM 형태의 메모리 모듈에서 수행되는 예가 도시되었으나 본 발명의 실시예는 이에 국한될 필요는 없다. 예컨대, FBDIMM 형태의 메모리 모듈이 적용됨에 따라 버퍼 칩으로서 AMB(Advanced Memory Buffer) 칩이 메모리 모듈에 장착될 수도 있다. 이외에도, 다른 형태의 메모리 모듈이 적용되고, 전술한 메모리 컨트롤러의 기능의 적어도 일부가 메모리 모듈에서 수행되도록 구현될 수 있다.
도 15는 본 개시의 일시예에 따른 복수의 레이어들을 구비하는 적층 구조의 반도체 패키지(2000)를 나타내는 블록도이다 .
도 15를 참조하면, 반도체 패키지(2000)는 복수의 레이어(LA1~LAn)를 포함할 수 있다. 제1 레이어(LA1) 내지 제n-1 레이어(LAn) 각각은 복수의 메모리 코어(MC)들을 포함하는 메모리 레이어(또는, 메모리 칩)일 수 있다. 메모리 코어(MC)는 데이터를 저장하기 위한 메모리 셀 어레이, 로우 디코더, 컬럼 디코더 및 센스 앰프 등을 포함할 수 있다. 제n 레이어(LAn)는 버퍼 레이어(또는, 버퍼 칩)일 수 있다. 반도체 패키지(2000)에서 적층 구조의 레이어들(LA1~LAn)은 스루 실리콘 비아(Through Silicon Via; TSV, 2300)를 통해 상호 연결될 수 있다.
버퍼 레이어(LAn)는 외부 메모리 컨트롤러 및 메모리 레이어들(LA1~LAn-1)과 통신하고, 메모리 레이어들(LA1~LAn-1)과 메모리 컨트롤러 간의 송수신 신호를 라우팅할 수 있다. 더 나아가, 버퍼 레이어(LAn)는 메모리 컨트롤러 또는 메모리 레이어들(LA1~LAn-1)로부터 수신한 신호들을 큐잉할 수 있다.
또한, 버퍼 레이어(LAn)는 트레이닝 블록(2200)을 포함할 수 있다. 버퍼 레이어(LAn)는 트레이닝 블록(2200)을 이용하여, 메모리 레이어들(LA1~LAn-1)에 대한 트레이닝 동작을 수행할 수 있다. 버퍼 레이어(LAn)의 트레이닝 동작 방법은 도 1 내지 도 11에서 서술된 실시예들이 적용될 수 있다. 일 실시예로, 버퍼 레이어(LAn)는 메모리 레이어들(LA1~LAn-1)에 대한 트레이닝 동작을 수행하고, 베이스 레이어(LAn)와 메모리 레이어들(LA1~LAn-1)간의 송수신 신호들에 대한 타이밍 보상 정보를 메모리 코어(MC)별로 생성할 수 있다.
도 16은 본 발명의 일 실시예에 따른 스택 반도체 칩을 포함하는 반도체 패키지를 나타내는 도면이다.
반도체 패키지(3000)는 인쇄회로기판과 같은 패키지 기판(3100) 상에 실장된 적어도 하나의 스택 반도체 칩(3300)과 시스템-온-칩(System-On-Cip, SOC)(3400)을 포함하는 메모리 모듈일 수 있다. 패키지 기판(3100)상에 인터포저(3200)가 선택적으로 더 제공될 수 있다. 스택 반도체 칩(3300)는 칩-온-칩(CoC, Chip-on-Chip)으로 형성될 수 있다. 스택 반도체 칩(3300)은 로직 칩과 같은 버퍼 칩(3310) 상에 적층된 적어도 하나의 메모리 칩(3320)을 포함할 수 있다. 버퍼 칩(3310) 및 적어도 하나의 메모리 칩(3320)은 스루 실리콘 비아(Through Silicon Via, TSV)에 의해 서로 연결될 수 있다. 버퍼 칩(3320)은 메모리 칩(3320)에 대한 트레이닝 동작을 수행할 수 있으며, 버퍼 칩(3320)의 트레이닝 동작 방법은 도 1 내지 도 11에서 서술된 실시예들이 적용될 수 있다. 스택 반도체 칩(3300)은 일 예로, 500GB/sec 내지 1TB/sec, 혹은 그 이상의 고대역 메모리(High bandwidth memory, HBM)일 수 있다.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 다른 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의하여 정해져야 할 것이다.

Claims (20)

  1. 복수의 메모리 장치들에 대한 메모리 동작을 제어하는 메모리 컨트롤러; 및
    상기 메모리 장치들 및 상기 메모리 장치들과 상기 메모리 컨트롤러 사이에 연결되는 버퍼 장치를 구비하는 메모리 모듈을 포함하며,
    상기 버퍼 장치는, 상기 메모리 장치들에 대한 제1 트레이닝 동작을 수행하기 위하여, 신호 지연부를 구비하는 트레이닝 블록을 포함하고,
    상기 메모리 컨트롤러는, 상기 트레이닝 블록을 제어함으로써 상기 제1 트레이닝 동작을 수행하고, 상기 버퍼 장치에 대한 제2 트레이닝 동작을 수행하도록 구성된 것을 특징으로 하는 메모리 시스템.
  2. 제1항에 있어서,
    상기 메모리 컨트롤러는,
    상기 메모리 장치들 중 상기 트레이닝 동작 대상으로 선택된 메모리 장치로부터의 트레이닝 데이터를 샘플링하여 생성된 샘플링 데이터와 상기 트레이닝 데이터에 대응하는 패턴 데이터를 비교하고, 상기 비교 결과를 기반으로, 상기 신호 지연부의 지연 정도를 제어하는 지연 제어 신호를 생성하여, 상기 버퍼 장치에 전송하는 것을 특징으로 하는 메모리 시스템.
  3. 제2항에 있어서,
    상기 샘플링 데이터는, 상기 버퍼 장치로부터 수신된 것이며,
    상기 트레이닝 블록은,
    상기 트레이닝 동작을 위한 데이터 스트로브 신호를 이용해 상기 트레이닝 데이터를 샘플링하여, 상기 샘플링 데이터를 생성하는 것을 특징으로 하는 메모리 시스템.
  4. 제2항에 있어서,
    상기 신호 지연부는,
    상기 지연 제어 신호를 기반으로, 상기 선택된 메모리 장치에 대한 상기 트레이닝 동작에 필요한 신호를 지연하는 것을 특징으로 하는 메모리 시스템.
  5. 제1항에 있어서,
    상기 메모리 컨트롤러는,
    상기 메모리 장치들에 대한 메모리 동작을 수행할 때에, 상기 버퍼 장치가 상기 메모리 장치들과의 송수신 신호들에 대한 타이밍 보상시에 참조하는 제1 타이밍 보상 정보를 상기 트레이닝 동작 수행 결과를 기반으로 생성하여, 상기 버퍼 장치에 전송하는 것을 특징으로 하는 메모리 시스템.
  6. 제5항에 있어서,
    상기 메모리 장치들과의 송수신 신호들은,
    상기 버퍼 장치가 상기 메모리 장치들에 전송하는 데이터 스트로브 신호 및 상기 버퍼 장치가 상기 메모리 장치들로부터 수신하는 데이터 스트로브 신호를 포함하는 것을 특징으로 하는 메모리 시스템.
  7. 제5항에 있어서,
    상기 제1 타이밍 보상 정보는,
    상기 메모리 장치들 각각에 대응하는 타이밍 보상 정보를 포함하는 것을 특징으로 하는 메모리 시스템.
  8. 제5항에 있어서,
    상기 버퍼 장치는, 상기 메모리 장치들과 적어도 둘 이상의 채널들을 통해 연결되고,
    상기 제1 타이밍 보상 정보는,
    상기 채널들 각각에 대응하는 타이밍 보상 정보를 포함하는 것을 특징으로 하는 메모리 시스템.
  9. 제5항에 있어서,
    상기 버퍼 장치는,
    상기 제1 타이밍 보상 정보를 기반으로, 상기 메모리 컨트롤러로부터 수신한 신호 및 상기 메모리 장치들부터 수신한 신호에 대한 타이밍을 보상하여, 각각 상기 메모리 장치들 및 상기 메모리 컨트롤러에 전송하는 것을 특징으로 하는 메모리 시스템.
  10. 제1항에 있어서,
    상기 메모리 컨트롤러는,
    상기 버퍼 장치에 대한 트레이닝 동작을 수행하고, 상기 메모리 장치들에 대한 메모리 동작을 수행할 때에, 상기 메모리 컨트롤러가 상기 버퍼 장치와의 송수신 신호들에 대한 타이밍 보상시에 참조하는 제2 타이밍 보상 정보를 상기 버퍼 장치에 대한 상기 트레이닝 동작 수행 결과를 기반으로 생성하는 것을 특징으로 하는 메모리 시스템.
  11. 제10항에 있어서,
    상기 메모리 컨트롤러는,
    상기 제2 타이밍 보상 정보를 기반으로, 상기 버퍼 장치에 전송될 신호 및 상기 버퍼 장치로부터 수신된 신호에 대한 타이밍을 보상하는 것을 특징으로 하는 메모리 시스템.
  12. 제10항에 있어서,
    상기 메모리 컨트롤러는,
    상기 버퍼 장치에 대한 상기 트레이닝 동작을 완료한 후에, 상기 트레이닝 블록을 제어하여 상기 메모리 장치들에 대한 상기 트레이닝 동작을 수행하는 것을 특징으로 하는 메모리 시스템.
  13. 복수의 메모리 장치들에 대한 메모리 동작을 제어하는 메모리 컨트롤러; 및
    상기 메모리 장치들 및 상기 메모리 장치들과 상기 메모리 컨트롤러 사이에 연결되는 버퍼 장치를 구비하는 메모리 모듈을 포함하며,
    상기 버퍼 장치는, 상기 메모리 장치들에 대한 트레이닝 동작을 수행하는 트레이닝 블록을 포함하고,
    상기 트레이닝 블록은, 제1 데이터 스트로브 신호 및 상기 메모리 장치들 중 상기 트레이닝 동작의 타겟 메모리 장치로부터 수신한 제1 트레이닝 데이터를 이용하여 상기 트레이닝 동작을 수행하고, 상기 메모리 장치들과의 메모리 동작 관련 송수신 신호들에 대한 타이밍 보상시에 참조되는 제1 타이밍 보상 정보를 생성하는 것을 특징으로 하는 메모리 시스템.
  14. 제13항에 있어서,
    상기 트레이닝 블록은, 상기 타겟 메모리 장치에 대한 리드 트레이닝 동작을 수행할 때에,
    상기 제1 데이터 스트로브 신호를 지연하는 신호 지연부;
    상기 지연된 제1 데이터 스트로브 신호를 이용해 상기 제1 트레이닝 데이터를 샘플링하여, 제1 샘플링 데이터를 생성하는 샘플링부;
    상기 제1 트레이닝 데이터에 대응하는 제1 패턴 데이터와 상기 제1 샘플링 데이터를 비교하여, 제1 비교 결과를 생성하는 비교부; 및
    상기 비교 결과를 기반으로 상기 제1 데이터 스트로브 신호의 지연 정도를 제어하기 위한 제1 지연 제어 신호를 생성하여, 상기 신호 지연부에 제공하는 지연 조정부를 포함하는 것을 특징으로 하는 메모리 시스템.
  15. 제13항에 있어서,
    상기 트레이닝 블록은, 상기 타겟 메모리 장치에 대한 라이트 트레이닝 동작을 수행할 때에,
    상기 제1 데이터 스트로브 신호를 이용해 제2 패턴 데이터에 대응하는 상기 제1 트레이닝 데이터를 샘플링하여, 제2 샘플링 데이터를 생성하는 샘플링부;
    상기 제2 샘플링 데이터와 상기 제2 패턴 데이터를 비교하여, 제2 비교 결과를 생성하는 비교부;
    상기 비교 결과를 기반으로 상기 제1 데이터 스트로브 신호의 지연 정도를 제어하기 위한 제2 지연 제어 신호를 생성하는 지연 조정부; 및
    상기 제2 지연 제어 신호를 기반으로 상기 제1 데이터 스트로브 신호를 지연하여 상기 타겟 메모리 장치에 전송하는 신호 지연부를 포함하는 것을 특징으로 하는 메모리 시스템.
  16. 제13항에 있어서,
    상기 메모리 컨트롤러는,
    상기 버퍼 장치에 대한 트레이닝 동작을 수행하고, 상기 버퍼 장치에 대한 상기 트레이닝 동작 수행 결과를 기반으로, 상기 버퍼 장치와의 메모리 동작 관련 송수신 신호들에 대한 타이밍 보상시 참조되는 제2 타이밍 보상 정보를 생성하는 것을 특징으로 하는 메모리 시스템.
  17. 제16항에 있어서,
    상기 버퍼 장치는,
    상기 메모리 컨트롤러의 상기 버퍼 장치에 대한 상기 트레이닝 동작 수행과 병렬적으로 상기 메모리 장치들에 대한 상기 트레이닝 동작을 수행하는 것을 특징으로 하는 메모리 시스템.
  18. 제13항에 있어서,
    상기 트레이닝 블록은,
    상기 메모리 컨트롤러로부터 제2 패턴 데이터 및 제2 데이터 스트로브 신호를 수신하고, 상기 제2 데이터 스트로브 신호를 기준으로 상기 제2 패턴 데이터를 재정렬(Re-Align)하는 리타이밍 제어부를 포함하고, 상기 타겟 메모리 장치에 대한 상기 트레이닝 동작을 위해 상기 재정렬된 제2 패턴 데이터 및 상기 제2 데이터 스트로브 신호를 상기 타겟 메모리 장치에 제공하는 것을 특징으로 하는 메모리 시스템.
  19. 복수의 메모리 장치들 및 상기 메모리 장치들에 대한 신호들을 라우팅하는 복수의 버퍼 장치들을 포함하고,
    상기 버퍼 장치들은,
    상기 메모리 장치들 중 제1 메모리 장치들과 연결된 제1 서브 버퍼 장치; 상기 메모리 장치들 중 제2 메모리 장치들과 연결된 제2 서브 버퍼 장치; 및
    상기 제1 서브 버퍼 장치와 상기 제2 서브 버퍼 장치와 연결된 메인 버퍼 장치를 포함하며,
    상기 메인 버퍼 장치는, 상기 제1 및 제2 서브 버퍼 장치에 대한 제1 트레이닝 동작을 수행하고, 상기 제1 서브 버퍼 장치는 상기 제1 메모리 장치들에 대한 제2 트레이닝 동작을 수행하며, 상기 제2 서브 버퍼 장치는 상기 제2 메모리 장치들에 대한 제3 트레이닝 동작을 수행하는 것을 특징으로 하는 메모리 모듈.
  20. 제19항에 있어서,
    상기 메인 버퍼 장치는, 상기 제1 트레이닝 동작 결과 생성된 상기 제1 서브 버퍼 장치 및 상기 제2 서브 버퍼 장치 각각에 대응하는 타이밍 보상 정보를 저장하는 레지스터를 포함하고,
    상기 제1 서브 버퍼 장치는, 상기 제2 트레이닝 동작 결과 생성된 상기 제1 메모리 장치들 각각에 대응하는 타이밍 보상 정보를 저장하는 레지스터를 포함하며,
    상기 제2 서브 버퍼 장치는, 상기 제3 트레이닝 동작 결과 생성된 상기 제2 메모리 장치들 각각에 대응하는 타이밍 보상 정보를 저장하는 레지스터를 포함하는 것을 특징으로 하는 메모리 모듈.
KR1020170117232A 2017-09-13 2017-09-13 복수의 메모리 장치들에 대한 트레이닝 동작을 지원하는 버퍼 장치를 포함하는 메모리 모듈 및 이를 포함하는 메모리 시스템 KR102365110B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020170117232A KR102365110B1 (ko) 2017-09-13 2017-09-13 복수의 메모리 장치들에 대한 트레이닝 동작을 지원하는 버퍼 장치를 포함하는 메모리 모듈 및 이를 포함하는 메모리 시스템
US15/979,625 US10824575B2 (en) 2017-09-13 2018-05-15 Buffer device supporting training operations for a plurality of memory devices, and memory module and memory system each including the buffer device
SG10201805698YA SG10201805698YA (en) 2017-09-13 2018-07-02 Buffer device supporting training operations for a plurality of memory devices, and memory module and memory system each including the buffer device
CN201810966711.2A CN109493892B (zh) 2017-09-13 2018-08-23 缓冲器装置、包括该缓冲器装置的存储器模块和存储器系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170117232A KR102365110B1 (ko) 2017-09-13 2017-09-13 복수의 메모리 장치들에 대한 트레이닝 동작을 지원하는 버퍼 장치를 포함하는 메모리 모듈 및 이를 포함하는 메모리 시스템

Publications (2)

Publication Number Publication Date
KR20190030030A KR20190030030A (ko) 2019-03-21
KR102365110B1 true KR102365110B1 (ko) 2022-02-18

Family

ID=65632154

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170117232A KR102365110B1 (ko) 2017-09-13 2017-09-13 복수의 메모리 장치들에 대한 트레이닝 동작을 지원하는 버퍼 장치를 포함하는 메모리 모듈 및 이를 포함하는 메모리 시스템

Country Status (4)

Country Link
US (1) US10824575B2 (ko)
KR (1) KR102365110B1 (ko)
CN (1) CN109493892B (ko)
SG (1) SG10201805698YA (ko)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10586575B2 (en) * 2018-01-10 2020-03-10 Samsung Electronics Co., Ltd. Interface circuit for multi rank memory
US10699053B1 (en) * 2018-01-17 2020-06-30 Xilinx, Inc. Timing optimization of memory blocks in a programmable IC
KR102519572B1 (ko) 2018-05-11 2023-04-07 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
KR20200031894A (ko) * 2018-09-17 2020-03-25 에스케이하이닉스 주식회사 메모리 모듈 및 이를 포함하는 메모리 시스템
KR20200126666A (ko) 2019-04-30 2020-11-09 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
KR20200124045A (ko) 2019-04-23 2020-11-02 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
US11139010B2 (en) 2018-12-11 2021-10-05 SK Hynix Inc. Memory system and operating method of the memory system
US11404097B2 (en) 2018-12-11 2022-08-02 SK Hynix Inc. Memory system and operating method of the memory system
KR20200126678A (ko) * 2019-04-30 2020-11-09 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
KR20200137548A (ko) 2019-05-30 2020-12-09 에스케이하이닉스 주식회사 메모리 장치 및 이의 테스트 동작 방법
KR20210033593A (ko) * 2019-09-18 2021-03-29 삼성전자주식회사 메모리 모듈 및 그것의 동작 방법
US10991404B1 (en) * 2020-02-18 2021-04-27 Micron Technology, Inc. Loopback strobe for a memory system
US11309013B2 (en) 2020-04-29 2022-04-19 Samsung Electronics Co., Ltd. Memory device for reducing resources used for training
KR20220085237A (ko) * 2020-12-15 2022-06-22 삼성전자주식회사 스토리지 컨트롤러, 스토리지 장치 및 스토리지 장치의 동작 방법
US20230205873A1 (en) * 2021-12-29 2023-06-29 Micron Technology, Inc. Training procedure change determination to detect attack
US20230386563A1 (en) * 2022-05-25 2023-11-30 Samsung Electronics Co., Ltd. Memory device, electronic device including the same, and operating method of electronic device
CN117042262B (zh) * 2023-09-06 2024-03-12 东莞汇莞文化科技有限公司 一种多灯光动态同步方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060294335A1 (en) 2005-06-22 2006-12-28 Vogt Pete D Memory device identification
US20100005281A1 (en) 2008-07-01 2010-01-07 International Business Machines Corporation Power-on initialization and test for a cascade interconnect memory system
US20140281325A1 (en) * 2013-03-15 2014-09-18 International Business Machines Corporation Synchronization and order detection in a memory system
US20160314822A1 (en) 2015-03-16 2016-10-27 Rambus Inc. Training and operations with a double buffered memory topology
US20160321014A1 (en) 2015-03-24 2016-11-03 Dell Products L.P. Systems and methods for data alignment in a memory system

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6574154B2 (en) * 2000-09-12 2003-06-03 Hitachi, Ltd. Data transmitter
TW559694B (en) * 2002-06-21 2003-11-01 Via Tech Inc Method and system of calibrating the control delay time
JP5013394B2 (ja) * 2005-09-13 2012-08-29 ルネサスエレクトロニクス株式会社 半導体集積回路装置
WO2008063199A1 (en) * 2006-11-20 2008-05-29 Rambus Inc. Memory systems and methods for dynamically phase adjusting a write strobe and data to account for receive-clock drift
DE102007010284A1 (de) 2007-03-02 2008-09-04 Qimonda Ag Schnittstellenvorrichtung, Schaltungsmodul, Schaltungssystem, Vorrichtung für eine Datenkommunikation und Verfahren zum Kalibrieren eines Schaltungsmoduls
US8207976B2 (en) 2007-03-15 2012-06-26 Qimonda Ag Circuit
KR101290764B1 (ko) * 2007-10-24 2013-07-30 삼성전자주식회사 고속동작에 적합한 입력 회로를 갖는 반도체 메모리 장치
EP3399523B1 (en) * 2007-12-21 2020-05-13 Rambus Inc. Method and apparatus for calibrating write timing in a memory system
US7911857B1 (en) * 2009-06-10 2011-03-22 Juniper Networks, Inc. Preamble detection and postamble closure for a memory interface controller
US9128632B2 (en) * 2009-07-16 2015-09-08 Netlist, Inc. Memory module with distributed data buffers and method of operation
US8681571B2 (en) 2010-06-15 2014-03-25 International Business Machines Corporation Training a memory controller and a memory device using multiple read and write operations
WO2013099035A1 (ja) * 2011-12-29 2013-07-04 ルネサスエレクトロニクス株式会社 半導体装置
US8379457B1 (en) * 2012-01-26 2013-02-19 Stec, Inc. Auto calibration of storage memory controller
US9142272B2 (en) 2013-03-15 2015-09-22 International Business Machines Corporation Dual asynchronous and synchronous memory system
US10261697B2 (en) * 2015-06-08 2019-04-16 Samsung Electronics Co., Ltd. Storage device and operating method of storage device
KR102323569B1 (ko) * 2015-09-30 2021-11-08 삼성전자주식회사 샘플링 포인트를 독립적으로 조절할 수 있는 데이터 처리 회로와 이를 포함하는 데이터 처리 시스템
US9653147B1 (en) 2015-12-02 2017-05-16 Integrated Device Technology Inc. Asymmetrical emphasis in a memory data bus driver
US9460791B1 (en) * 2015-12-08 2016-10-04 Inphi Corporation Data clock synchronization in hybrid memory modules
US9666264B1 (en) * 2016-06-21 2017-05-30 Apple Inc. Apparatus and method for memory calibration averaging

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060294335A1 (en) 2005-06-22 2006-12-28 Vogt Pete D Memory device identification
US20100005281A1 (en) 2008-07-01 2010-01-07 International Business Machines Corporation Power-on initialization and test for a cascade interconnect memory system
US20140281325A1 (en) * 2013-03-15 2014-09-18 International Business Machines Corporation Synchronization and order detection in a memory system
US20160314822A1 (en) 2015-03-16 2016-10-27 Rambus Inc. Training and operations with a double buffered memory topology
US20160321014A1 (en) 2015-03-24 2016-11-03 Dell Products L.P. Systems and methods for data alignment in a memory system

Also Published As

Publication number Publication date
US20190079699A1 (en) 2019-03-14
KR20190030030A (ko) 2019-03-21
US10824575B2 (en) 2020-11-03
CN109493892B (zh) 2023-10-03
CN109493892A (zh) 2019-03-19
SG10201805698YA (en) 2019-04-29

Similar Documents

Publication Publication Date Title
KR102365110B1 (ko) 복수의 메모리 장치들에 대한 트레이닝 동작을 지원하는 버퍼 장치를 포함하는 메모리 모듈 및 이를 포함하는 메모리 시스템
US11500770B2 (en) Memory device controlling including reading from a first memory and writing to a second memory based on timing and control signals
US10366022B2 (en) Data training method of storage device
KR102447499B1 (ko) 스토리지 장치 및 스토리지 장치의 동작 방법
US9411722B2 (en) Asynchronous FIFO buffer for memory access
KR102340446B1 (ko) 스토리지 장치 및 그것의 데이터 트레이닝 방법
US11238954B2 (en) Nonvolatile memory device, storage device including nonvolatile memory devices, and method of training data input and output lines between controller and nonvolatile memory devices
KR20190016870A (ko) 리트레이닝 동작의 수행 여부를 효율적으로 결정하기 위한 메모리 장치 및 이를 포함하는 메모리 시스템
US9607667B1 (en) Memory device and electronic apparatus including the same
US10283186B2 (en) Data alignment circuit of a semiconductor memory device, a semiconductor memory device and a method of aligning data in a semiconductor memory device
KR20210048577A (ko) 메모리 디바이스에서의 기입 트레이닝
US11200932B2 (en) Non-volatile memory device, controller and memory system
US11450368B1 (en) Systems and methods for adaptive write training of three dimensional memory
KR102182718B1 (ko) 메모리 장치, 메모리 장치의 제어 방법 및 메모리 장치를 제어하는 방법
US20230326495A1 (en) Semiconductor apparatus and semiconductor system having independent data input/output period, and operating method of the semiconductor system
US20230326517A1 (en) Semiconductor apparatus and semiconductor system having lun selection cycle, and operating method of semiconductor system
TWI697099B (zh) 記憶體裝置及其控制方法以及控制記憶體的方法
US20230326498A1 (en) Semiconductor apparatus and semiconductor system having independent data input/output period, and operating method of the semiconductor system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant