KR20210069514A - 메모리 시스템 및 메모리 시스템의 트레이닝 방법 - Google Patents

메모리 시스템 및 메모리 시스템의 트레이닝 방법 Download PDF

Info

Publication number
KR20210069514A
KR20210069514A KR1020190159427A KR20190159427A KR20210069514A KR 20210069514 A KR20210069514 A KR 20210069514A KR 1020190159427 A KR1020190159427 A KR 1020190159427A KR 20190159427 A KR20190159427 A KR 20190159427A KR 20210069514 A KR20210069514 A KR 20210069514A
Authority
KR
South Korea
Prior art keywords
memory
training
delay
signal
clock signal
Prior art date
Application number
KR1020190159427A
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 KR1020190159427A priority Critical patent/KR20210069514A/ko
Priority to US16/910,496 priority patent/US11481124B2/en
Priority to CN202010727807.0A priority patent/CN112908377A/zh
Publication of KR20210069514A publication Critical patent/KR20210069514A/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/0658Controller construction 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/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
    • 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
    • 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/0629Configuration or reconfiguration of storage systems
    • 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
    • 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
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • 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
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • 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/0653Monitoring storage devices or systems
    • 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
    • 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/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • G11C29/50012Marginal testing, e.g. race, voltage or current testing of timing
    • 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/1066Output synchronization
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2254Calibration

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)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Memory System (AREA)
  • Dram (AREA)

Abstract

메모리 시스템은, 메모리 미디어, 및 메모리 미디어를 제어하는 메모리 컨트롤러를 포함한다. 메모리 컨트롤러는, 메모리 미디어에 대한 트레이닝 동작을 수행하는 과정에서 클럭 신호의 지연 시간을 파악하여 지연 선택 신호를 발생시키는 트레이닝 코어와, 트레이닝 코어로부터의 지연 선택 신호에 응답하여 지연 선택 신호에 의해 지정된 시간만큼 지연된 지연 클럭 신호를 발생시키는 트레이닝 블록을 포함한다.

Description

메모리 시스템 및 메모리 시스템의 트레이닝 방법{Memory system and method of training the memory system}
본 개시의 여러 실시예들은 반도체 메모리에 관한 것으로서, 특히 메모리 시스템 및 메모리 시스템의 트레이닝 방법에 관한 것이다.
반도체 메모리 장치(semiconductor memory device)는, 실리콘(silicon), 저매니움(germanium), 갈륨아세나이드(gallium arsenide), 인듐포스파이드(indium phospide) 등과 같은 반도체를 이용하여 구현되는 기억장치이다. 반도체 메모리 장치는, 휘발성(volatile) 메모리 장치와 불휘발성(nonvolatile) 메모리 장치로 구분될 수 있다. 휘발성 메모리 장치는, 전원 공급이 차단되면 저장하고 있는 데이터가 소멸되는 메모리 장치이다. 휘발성 메모리 장치에는 SRAM(Static Random Access Memory), DRAM(Dynamic RAM), SDRAM(Synchronous DRAM) 등이 있다. 불휘발성 메모리 장치는, 전원 공급이 차단되어도 저장하고 있던 데이터를 유지하는 메모리 장치이다. 불휘발성 메모리 장치에는 ROM(Read Only Memory), PROM(Programmable ROM), EPROM(Electrically PROM), EEPROM(Electrically Erasable and Programmable ROM), 플래시(flash) 메모리 장치, PRAM(Phase-change RAM), MRAM(Magnetic RAM), RRAM(Resistive RAM), FRAM(Ferroelectric RAM) 등이 있다.
일반적으로 메모리 장치에 대한 액세스(access)는 컨트롤러(controller)를 통해 이루어질 수 있다. 예컨대 메모리 장치에 대한 데이터 리드(read)시, 호스트는 리드 명령어 및 어드레스를 컨트롤러로 전송하고, 컨트롤러는 메모리 장치로부터 데이터를 읽은 후에 호스트로 전송한다. 메모리 장치에 대한 데이터 라이트(write)시, 호스트는 라이트 명령어, 라이트 데이터, 및 어드레스를 컨트롤러로 전송하고, 컨트롤러는 메모리 장치에 라이트 데이터를 쓴다. 이와 같은 메모리 장치에 대한 액세스 과정에서, 메모리 장치로부터 출력되는 데이터 스트로브 신호(DQS)가 컨트롤러 내의 내부 클럭 신호와 동기 되지 않는 타이밍 스큐(timing skew)가 나타날 수 있다. 이에 따라 타이밍 스큐를 최소화하기 위해, 메모리 장치에 대한 트레이닝 과정을 수행할 필요가 있다. 일 예에서 메모리 장치에 대한 트레이닝 과정은, 메모리 장치로부터 입력되는 데이터 스트로브 신호(DQS)를 기준으로 컨트롤러 내부 클럭 신호를 지연(delay)시키는 방식으로 이루어질 수 있다.
본 출원이 해결하고자 하는 과제는, 트레이닝 동작을 수행하는 트레이닝 로직의 크기를 감소시키고, 트레이닝 시간을 단축시킬 수 있는 메모리 시스템을 제공하는 것이다.
본 출원이 해결하고자 하는 다른 과제는, 위와 같은 메모리 시스템의 트레이닝 방법을 제공하는 것이다.
본 개시의 일 예에 따른 메모리 시스템은, 메모리 미디어, 및 메모리 미디어를 제어하는 메모리 컨트롤러를 포함한다. 메모리 컨트롤러는, 메모리 미디어에 대한 트레이닝 동작을 수행하는 과정에서 클럭 신호의 지연 시간을 파악하여 지연 선택 신호를 발생시키는 트레이닝 코어와, 트레이닝 코어로부터의 지연 선택 신호에 응답하여 지연 선택 신호에 의해 지정된 시간만큼 지연된 지연 클럭 신호를 발생시키는 트레이닝 블록을 포함한다.
본 개시의 일 예에 따른 메모리 시스템의 트레이닝 방법은, 메모리 미디어, 및 상기 메모리 미디어를 제어하는 메모리 컨트롤러를 포함하는 메모리 시스템의 트레이닝 방법이다. 트레이닝 방법은, 트레이닝 코어로부터 생성되어 출력되는 트레이닝 커맨드를 트레이닝 블록으로 전송하는 단계와, 트레이닝 커맨드에 응답하여 메모리 미디어에 대한 리드 동작을 수행하여 메모리 미디어로부터 트레이닝 코어로 데이터 스트로브 신호를 제공받는 단계와, 트레이닝 코어에 의해 데이터 스트로브 신호를 샘플링하여 지연 선택 신호를 발생시키는 단계와, 그리고 트레이닝 블록에 의해 지연 선택 신호에서 지정하는 시간만큼 지연된 지연 클럭 신호를 메모리 미디어로 전송하는 단계를 포함한다.
여러 실시예들에 따르면, 트레이닝 코어에 의해 메모리 미디어로부터 제공받는 데이터 스트로브 신호의 타이밍 스큐를 최소화하는 지연 선택 신호를 생성하여 출력하고, 트레이닝 블록에 의해 지연 선택 신호에 따른 지연 클럭 신호를 메모리 미디어에 전송함으로써, 트레이닝 블록의 로직 크기를 감소시킬 수 있고, 트레이닝 시간을 단축시킬 수 있다는 이점이 제공된다.
도 1은 본 개시의 일 예에 따른 메모리 시스템을 나타내 보인 블록도이다.
도 2는 도 1의 메모리 시스템의 트레이닝 코어 구성의 일 예를 나타내 보인 도면이다.
도 3은 도 1의 메모리 시스템의 트레이닝 블록 구성의 일 예를 나타내 보인 도면이다.
도 4는 도 3의 트레이닝 블록의 지연 회로 구성의 일 예를 나타내 보인 도면이다.
도 5는 본 개시에 따른 메모리 시스템의 트레이닝 동작을 설명하기 위해 나타내 보인 플로 챠트이다.
도 6은 본 개시의 다른 예에 따른 메모리 시스템을 나타내 보인 블록도이다.
도 7은 도 6의 메모리 시스템이 적용된 메모리 모듈을 나타내 보인 도면이다.
본 출원의 예의 기재에서 "제1" 및 "제2"와 같은 기재는 요소를 구분하기 위한 것이며, 부재 자체를 한정하거나 특정한 순서를 의미하는 것으로 사용된 것은 아니다. 어느 한 구성 요소가 다른 구성 요소에 "연결되어 있다"거나 "접속되어 있다"의 기재는, 다른 구성 요소에 전기적 또는 기계적으로 직접 연결되어 있거나 또는 접속되어 있을 수 있으며, 또는, 중간에 다른 별도의 구성 요소들이 개재되어 연결 관계 또는 접속 관계를 구성할 수도 있다. "기 설정된"이라는 용어는 프로세스나 알고리즘에서 매개변수를 사용할 때 매개변수의 수치가 미리 결정되어 있음을 의미한다. 매개변수의 수치는 실시예에 따라서 프로세스나 알고리즘이 시작할 때 설정되거나 프로세스나 알고리즘이 수행되는 구간 동안 설정될 수 있다. "로직하이레벨" 및 "로직로우레벨"은 신호들의 로직레벨들을 설명하기 위해 사용된다. "로직하이레벨"을 갖는 신호는 "로직로우레벨"을 갖는 신호와 구별된다. 예를 들어, 제1 전압을 갖는 신호가 "로직하이레벨"에 대응할 때 제2 전압을 갖는 신호는 "로직로우레벨"에 대응할 수 있다. 일 실시예에 따라 "로직하이레벨"은 "로직로우레벨"보다 큰 전압으로 설정될 수 있다. 한편, 신호들의 로직레벨들은 실시예에 따라서 다른 로직레벨 또는 반대의 로직레벨로 설정될 수 있다. 예를 들어, 로직하이레벨을 갖는 신호는 실시예에 따라서 로직로우레벨을 갖도록 설정될 수 있고, 로직로우레벨을 갖는 신호는 실시예에 따라서 로직하이레벨을 갖도록 설정될 수 있다.
이하, 실시예를 통하여 본 발명을 더욱 상세히 설명하기로 한다. 이들 실시예는 단지 본 발명을 예시하기 위한 것이며, 본 발명의 권리 보호 범위가 이들 실시예에 의해 제한되는 것은 아니다.
도 1은 본 개시의 일 예에 따른 메모리 시스템(100)을 나타내 보인 블록도이다. 도 1을 참조하면, 메모리 시스템(100)은, 메모리 미디어(110) 및 메모리 컨트롤러(120)를 포함하여 구성될 수 있다. 일 예에서 메모리 시스템(100)은 메모리 미디어(110) 및 메모리 컨트롤러(120)를 모두 포함하는 단일의 시스템일 수 있다. 다른 예에서 메모리 시스템(100)의 메모리 미디어(110)와 메모리 컨트롤러(120)는 서로 별도의 장치로 구현될 수 있다.
메모리 미디어(110)는, 메모리 컨트롤러(120)를 통해 외부로부터 제공되는 데이터 또는 메모리 컨트롤러(120)를 통해 외부로 제공될 데이터를 저장할 수 있다. 메모리 미디어(110)는, 휘발성 메모리 또는 비휘발성 메모리를 포함하는 다양한 저장 매체로 구현될 수 있다. 예컨대, 메모리 미디어(110)가 휘발성 메모리를 포함하는 경우, 메모리 미디어(110)는, DRAM(Dynamic random access memory), SRAM(Static random access memory), TRAM(Thyristor RAM), Z-RAM(Zero capacitor RAM), 또는 TTRAM(Twin transistor RAM), MRAM 등을 포함할 수 있다. 본 예에 따른 메모리 시스템(100)은 휘발성 메모리를 포함하는 다양한 저장 매체에 적용될 수 있다.
메모리 미디어(110)가 비휘발성 메모리를 포함하는 경우, 메모리 미디어(110)는 EPROM(Electrically Erasable Programmable Read-Only Memory), 플래시(Flash) 메모리, MRAM(Magnetic RAM), 스핀전달토크 MRAM(Spin-Transfer Torque MRAM), FeRAM (Ferroelectric RAM), PRAM(Phase change RAM), 저항 메모리(Resistive RAM: RRAM)를 포함할 수 있다. 비휘발성 메모리의 단위 셀에는 1비트 또는 그 이상의 비트들이 저장될 수 있다.
메모리 컨트롤러(120)는, 메모리 미디어(110)에 대한 리드(read) 동작 및 라이트(write) 동작을 제어할 수 있다. 또한 메모리 컨트롤러(120)는, 부팅이나 특정 상황, 예컨대 외부로부터의 트레이닝 지시(training instruction)가 발생하는 경우, 메모리 미디어(110)에 대한 트레이닝(training)을 수행할 수 있다. 메모리 미디어(110)에 대한 트레이닝을 통해, 메모리 미디어(110)와 메모리 컨트롤러(120) 사이의 데이터나 신호 교환의 신뢰성을 높일 수 있다. 메모리 컨트롤러(120)는 클럭 신호(CK/CK_D)를 메모리 미디어(110)로 전송할 수 있다. 메모리 미디어(110)에 대한 트레이닝 과정에서, 메모리 컨트롤러(120)로부터 메모리 미디어(110)로 전송되는 클럭 신호는, 트레이닝 과정을 통해 일정 시간만큼 위상이 지연된 지연 클럭 신호(CK_D)일 수 있다. 메모리 미디어(110)에 대한 일반적인 리드 동작 및 라이트 동작에서, 메모리 컨트롤러(120)는, 메모리 컨트롤러(120)로부터 메모리 미디어(110)로 전송되는 클럭 신호는, 트레이닝에 의해 위상 조정이 완료된 클럭 신호(CK)일 수 있다. 메모리 컨트롤러(120)는 메모리 미디어(110)로 클럭 신호(CK)에 동기화된 커맨드/어드레스 신호(CMD/ADDR)를 전송할 수 있다. 메모리 미디어(110)는, 커맨드/어드레스 신호(CMD/ADDR)에 응답하여 데이터 스트로브 신호(DQS)에 동기화된 데이터(DATA)의 리드 동작 및 라이트 동작을 수행할 수 있다.
메모리 미디어(110)에 대한 리드 동작의 경우, 메모리 미디어(110)는 메모리 컨트롤러(120)로부터 클럭 신호(CK)와 함께 액티브(active) 커맨드 및 로우(row) 어드레스를 제공받는다. 일정 시간 경과 후, 메모리 미디어(110)는 메모리 컨트롤러(120)로부터 컬럼(column) 어드레스를 제공받는다. 일정 시간 경과 후, 메모리 미디어(110)는 로우 어드레스 및 컬럼 어드레스에 의해 지정되는 영역에 저장되어 있는 데이터(DATA)를 메모리 컨트롤러(120)로 전송한다. 메모리 미디어(110)에 대한 라이트 동작의 경우, 메모리 미디어(110)는 메모리 컨트롤러(120)로부터 클럭 신호(CK)와 함께 액티브 커맨드 및 로우 어드레스를 제공받는다. 일정 시간 경과 후, 메모리 미디어(110)는 메모리 컨트롤러(120)로부터 라이트 커맨드 및 컬럼 어드레스를 제공받는다. 일정 시간 경과 후, 메모리 미디어(110)는 저장할 데이터(DATA)를 메모리 컨트롤러(120)로부터 제공받는다. 메모리 미디어(110)는 제공된 데이터(DATA)를 로우 어드레스 및 컬럼 어드레스에 의해 지정된 영역에 기입한다.
메모리 미디어(110)는 메모리 컨트롤러(120)로부터 데이터(DATA) 및 데이터 스트로브 신호(DQS)를 제공받을 수 있다. 데이터 스트로브 신호(DQS)는 일종의 클럭 신호로서, 메모리 미디어(110)로 제공된 데이터(DATA)는 데이터 스트로브 신호(DQS)에 의해 동기화된다. 데이터 스트로브 신호(DQS)는, 메모리 미디어(110)가 메모리 컨트롤러(120)로 데이터(DATA)를 제공하는 경우에 메모리 미디어(110)로부터 메모리 컨트롤러(120)로 제공된다. 이 경우 메모리 컨트롤러(120)로 제공되는 데이터(DATA)는 데이터 스트로브 신호(DQS)에 의해 동기화된다.
메모리 컨트롤러(120)는, 트레이닝 코어(training core)(121)와, 트레이닝 블록(training block)(122)과, 그리고 버스(bus)(123)를 포함한다. 트레이닝 코어(121)는, 메모리 미디어(110)에 대한 트레이닝 수행을 지시하는 트레이닝 커맨드(T_CMD)를 생성하여 출력할 수 있다. 트레이닝 코어(121)는, 메모리 미디어(110)에 대한 트레이닝 과정에서 메모리 미디어(110)로부터 전송되는 데이터 스트로브 신호(DQS)를 입력 받을 수 있다. 트레이닝 코어(121)는, 제공되는 데이터 스트로브 신호(DQS)와 클럭 신호(CK) 사이의 타이밍 스큐를 파악한다. 이를 위해 트레이닝 코어(121)는 샘플링 회로를 포함할 수 있다. 트레이닝 코어(121)는, 타이밍 스큐를 제거하기 위한 지연 선택 신호(DELAY_SEL)를 출력할 수 있다. 트레이닝 코어(121)로부터 출력되는 트레이닝 커맨드(T_CMD) 및 지연 선택 신호(DELAY_SEL)는 버스(123)를 통해 트레이닝 블록(122)으로 전송될 수 있다.
트레이닝 코어(121)로부터 트레이닝 블록(122)으로 트레이닝 커맨드(T_CMD)가 전송되면, 메모리 컨트롤러(120)는 메모리 미디어(110)로 데이터 스트로브 신호(DQS)를 요청한다. 이를 위해 메모리 컨트롤러(120)는, 메모리 미디어(110)에 대한 라이트 동작 및 리드 동작을 수행할 수 있다. 메모리 미디어(110)에 이미 저장되어 있는 데이터를 이용하는 경우, 메모리 미디어(110)에 대한 리드 동작만 수행될 수도 있다. 메모리 미디어(110)로부터 전송되는 데이터 스트로브 신호(DQS)는 트레이닝 블록(122)에 제공된다. 트레이닝 블록(122)은, 제공되는 데이터 스트로브 신호(DQS)를 버스(123)를 통해 트레이닝 코어(121)로 전송할 수 있다. 트레이닝 블록(122)는, 트레이닝 코어(121)에 의해 제공되는 지연 선택 신호(DELAY_SEL)에 의해 선택되는 지연 클럭 신호(CK_D)를 메모리 미디어(110)로 전송한다. 메모리 미디어(110)는 제공되는 지연 클럭 신호(CK_D)에 응답하여 메모리 미디어(110)에서 생성되는 데이터 스트로브 신호(DQS)의 위상을 조절할 수 있다.
도 2는 도 1의 메모리 시스템(100)의 트레이닝 코어(121) 구성의 일 예를 나타내 보인 도면이다. 도 2를 참조하면, 트레이닝 코어(121)는, 트레이닝 커맨드 발생기(121-1)와, 샘플링 회로(121-2)와, 그리고 지연 선택 신호 발생기(122-3)를 포함하여 구성될 수 있다. 트레이닝 커맨드 발생기(121-1)는, 시스템 부팅시 또는 외부로부터의 트레이닝 지시에 응답하여 트레이닝 동작을 지시하는 트레이닝 커맨드(T_CMD)를 생성하여 출력한다. 샘플링 회로(121-2)는, 트레이닝 과정에서 메모리 미디어(도 1의 110)으로부터 제공되는 데이터 스트로브 신호(DQS) 및 클럭 신호(CK)를 입력받는다. 데이터 스트로브 신호(DQS)는, 트레이닝 블록(도 1의 122)을 경유하여 제공받을 수 있다. 샘플링 회로(121-2)는, 클럭 신호(CK)를 기준으로 데이터 스트로브 신호(DQS)에 대한 샘플링을 수행하여, 클럭 신호(CK)와 데이터 스트로브 신호(DQS)의 위상차, 즉 타이밍 스큐에 대한 정보를 포함하는 타이밍 스큐 정보(TS_INFO)를 출력시킨다. 지연 선택 신호 발생기(122-3)는, 샘플링 회로(121-2)로부터 타이밍 스큐 정보(TS_INFO)를 입력받고, 타이밍 스큐가 최소화되도록 하는 지연 지연 시간 정보를 갖는 지연 선택 신호(DELAY_SEL)를 출력시킨다.
도 3은 도 1의 메모리 시스템(100)의 트레이닝 블록(122) 구성의 일 예를 나타내 보인 도면이다. 그리고 도 4는 도 3의 트레이닝 블록(122)의 지연 회로(220) 구성의 일 예를 나타내 보인 도면이다. 도 3을 참조하면, 트레이닝 블록(122)은, 지연 클럭 셀(122-1)과, 라이트 데이터 버퍼(122-2)와, 리드 데이터 버퍼(122-3)와, 그리고 모드 레지스터 셋(Mode Register Set; 이하 MRS) 버퍼(122-4)를 포함할 수 있다. 지연 클럭 셀(122-1)은, 지연 회로(220)를 포함할 수 있다. 라이트 데이터 버퍼(122-2)는, 트레이닝 과정에서 메모리 미디어(도 1의 110)에 데이터를 라이트하는 경우, 라이트 데이터를 저장할 수 있다. 리드 데이터 버퍼(122-3)는, 트레이닝 과정에서 메모리 미디어(110)로부터 데이터를 리드하는 경우 리드 데이터를 저장할 수 있다. MRS 버퍼(122-4)는, 트레이닝 블록(122)이 메모리 미디어(도 1의 110)에 대한 트레이닝 동작을 수행하도록 하는 여러 설정값들을 저장한다. 예컨대 MRS 버퍼(122-4)는, 트레이닝 코어(121)로부터 제공되는 트레이닝 커맨드(T_CMD) 및 지연 선택 신호(DELAY_SEL)에 응답하여 수행해야 하는 동작 알고리즘이 저장될 수 있다.
도 4에 나타낸 바와 같이, 지연 회로(220)는, 트레이닝 코어(도 1의 121)로부터 클럭 신호(CK) 및 지연 선택 신호(DELAY_SEL)를 제공받고, 위상이 지연된 지연 클럭 신호(CK_D)를 출력시킨다. 지연 회로(220)는, 복수개, 예컨대 M개의 지연 셀들(221-1, …, 221-M)과 멀티플렉서(222)를 포함하여 구성될 수 있다. 지연 셀들(221-1, …, 221-M)은 직렬 연결 구조로 배치된다. 첫번째 지연 셀(221-1)은 클럭 신호(CK)를 입력받는다. 첫번째 지연 셀(221-1)의 출력 신호(CK_D1)은 두번째 지연 셀(221-2)로 입력되고, 두번째 지연 셀(221-2)의 출력(CK_D2)은 세번째 지연 셀(221-3)로 입력된다. 이와 같은 방식으로 (M-1)번째 지연 셀(221-(M-1))의 출력(CK_D(M-1))은 M번째 지연 셀(221-M)로 입력된다.
지연 셀들(221-1, …, 221-M) 각각의 출력 신호들(CK_D1, …, CK_DM)은 멀티플렉서(222)의 입력단자들 각각에 입력된다. 즉 첫번째 지연 셀(221-1)의 출력 신호(CK_D1)는, 두번째 지연 셀(221-2) 및 멀티플렉서(222)의 첫번째 입력단자에 동시에 입력된다. 두번째 지연 셀(221-1)의 출력 신호(CK_D2)는, 세번째 지연 셀(221-3) 및 멀티플렉서(222)의 두번째 입력단자에 동시에 입력된다. 마찬가지로 (M-1)번째 지연 셀(221-(M-1))의 출력 신호(CK_D(M-1))는, M번째 지연 셀(221-M) 및 멀티플렉서(222)의 (M-1)번째 입력단자에 동시에 입력된다. 그리고 M번째 지연 셀(221-M)의 출력 신호(CK_DM)는, 멀티플렉서(222)의 M번째 입력단자에 입력된다. 멀티플렉서(222)는, 첫번째 입력단자 내지 M번째 입력단자로 입력되는 지연 셀들(221-1, …, 221-M) 각각의 출력 신호들(CK_D1, …, CK_DM) 중 하나를 지연 클럭 신호(CK_D)로 출력시킨다. 지연 셀들(221-1, …, 221-M) 각각의 출력 신호들(CK_D1, …, CK_DM) 중 지연 클럭 신호(CK_D)로 출력되는 신호는 지연 선택 신호(DELAY_SEL)에 의해 선택될 수 있다.
지연 회로(220)는, 입력 클럭 신호(CK)의 위상에 비해 일정 시간만큼 위상이 지연된 지연 클럭 신호(CK_D)를 출력시킬 수 있다. 지연 셀들(221-1, …, 221-M) 각각은 (1/N)의 시간만큼 입력 신호를 지연시켜 출력시킨다. 이에 따라 첫번째 지연 셀(221-1)의 출력 신호(CK_D1)는, 입력 클럭 신호(CK)보다 -(1/N)의 시간만큼 지연된 위상을 갖는다. 두번째 지연 셀(221-2)의 출력 신호(CK_D2)는, 입력 클럭 신호(CK)보다 -(2/N)의 시간만큼 지연된 위상을 갖는다. 그리고 M번째 지연 셀(221-M)의 출력 신호(CK_D2)는, 입력 클럭 신호(CK)보다 -(M/N)의 시간만큼 지연된 위상을 갖는다.
지연 셀들(221-1, …, 221-M)의 개수(M)가 모두 256개이며, 지연 셀들(221-1, …, 221-M) 각각이 1/64(N=64)의 시간만큼 입력 신호를 지연시켜 출력시키는 경우를 예로 들기로 한다. 첫번째 지연 셀(221-1)의 출력 신호(CK_D1)는, 입력 클럭 신호(CK)보다 -(1/64)의 시간만큼 지연된 위상을 갖는다. 두번째 지연 셀(221-2)의 출력 신호(CK_D2)는, 입력 클럭 신호(CK)보다 -(2/64)의 시간만큼 지연된 위상을 갖는다. (M-1)번째 지연 셀(221-(M-1))의 출력 신호(CK_D(M-1))는, 입력 클럭 신호(CK)보다 -(255/64)의 시간만큼 지연된 위상을 갖는다. 그리고 마지막에 배치되는 256번째 지연 셀(221-256)의 출력 신호(CK_D256)는, 입력 클럭 신호(CK)보다 -(256/64)의 시간만큼 지연된 위상을 갖는다.
일반적인 트레이닝 과정에서의 위상 조정은, 타이밍 스큐가 최소화될 때까지 (1/64)의 시간만큼 클럭 신호를 지연시키는 과정이 반복적으로 수행되었다. 그러나 본 예의 경우, 위와 같은 반복 동작 없이, 트레이닝 코어(121)로부터 제공되는 지연 선택 신호(DELAY_SEL)에 의해, 타이밍 스큐를 최소화시키는 지연 클럭 신호(CK_D)를 한 번의 과정을 통해 메모리 미디어(110)에 제공되므로, 트레이닝에 소요되는 시간을 단축시킬 수 있다. 더욱이 트레이닝 블록(122)은, 지연 클럭 셀(122-1), 라이트 데이터 버퍼(122-2), 리드 데이터 버퍼(122-3), 및 MRS 버퍼(122-4)로만 구성되고, 트레이닝 코어(121)로부터 제공되는 커맨드 및 제어 신호에 응답하는 동작만을 수행함으로써, 트레이닝 코어(121)가 없는 경우에 비하여 로직 면적을 감소시킬 수 있다. 또한 트레이닝 블록(122)의 로직 변경 없이 트레이닝 코어(121)에 대한 수정만으로, 트레이닝 과정의 방식을 용이하게 변경할 수 있다.
도 5는 본 개시에 따른 메모리 시스템(100)의 트레이닝 동작을 설명하기 위해 나타내 보인 플로 챠트이다. 도 5를 도 1 내지 도 4와 함께 참조하면, 시스템 부팅시나, 또는 외부로부터의 트레이닝 지시에 따라, 메모리 컨트롤러(120)의 트레이닝 코어(121)는 트레이닝 커맨드(T_CMD)를 생성하여 출력한다(단계 510). 트레이닝 커맨드(T_CMD)는 버스(123)를 통해 트레이닝 블록(122)으로 제공된다. 메모리 컨트롤러(120)는, 메모리 미디어(110)에 대한 리드 동작을 수행한다(단계 520). 일 예에서, 트레이닝 블록(122) 내의 라이트 데이터 버퍼(122-2) 내에 저장된 라이트 데이터 패턴을 메모리 미디어(110)에 쓰는 라이트 동작이 먼저 수행될 수 있다. 다른 예에서, 메모리 미디어(110)에 이미 저장된 데이터에 대한 리드 동작이 수행될 경우, 라이트 데이터 패턴의 라이트 동작은 생략될 수 있다.
메모리 미디어(110)에 대한 리드 동작에 따라, 메모리 미디어(110)는 리드 데이터를 메모리 컨트롤러(120)로 전송한다. 메모리 미디어(110)로부터 전송되는 리드 데이터는 트레이닝 블록(122)의 리드 데이터 버퍼(122-3)에 저장된다. 리드 데이터와 함께, 메모리 미디어(110)는, 데이터 스트로브 신호(DQS)를 트레이닝 블록(122)으로 전송한다. 데이터 스트로브 신호(DQS)는, 트레이닝 블록(122)으로부터 버스(123)를 통해 트레이닝 코어(121)의 샘플링 회로(121-2)로 전송된다. 샘플링 회로(121-2)는, 제공되는 데이터 스트로브 신호(DQS)를 클럭 신호(CK)를 기준으로 샘플링하여 타이밍 스큐 정보(TS_INFO)를 생성하여 출력시킨다(단계 530). 트레이닝 코어(121)의 지연 선택 신호 발생기(122-3)는, 타이밍 스큐 정보(TS_INFO)에 응답하여 지연 선택 신호(DELAY_SEL)를 발생시킨다(단계 540). 지연 회로(220)지연 선택 신호(DELAY_SEL)는, 버스(123)를 통해 트레이닝 블록(121)을 구성하는 지연 클럭 셀(122-1)의 지연 회로(220)로 입력된다.
지연 회로(220)는, 도 4를 참조하여 설명한 바와 같이, 일정한 시간 간격으로 지연되는 지연 셀들(221-1, …, 221-M) 각각의 출력 신호들(CK_D1, …, CK_DM) 중 하나의 출력 신호를 지연 클럭 신호(CK_D)로 출력시킨다(단계 550). 지연 회로(220)로부터 출력되는 지연 클럭 신호(CK_D)는, 지연 선택 신호(DELAY_SEL)에 의해 선택된다. 지연 선택 신호(DELAY_SEL)는, 데이터 스트로브 신호(DQS)와 클럭 신호(CK) 사이의 타이밍 스큐에 대응하는 지연 시간을 갖는 지연 클럭 신호(CK_D)가 출력되도록 구성된다. 따라서 일정 지연 시간 간격으로 순차적으로 클럭 신호를 지연시킬 필요 없이, 하나의 지연 선택 신호(DELAY_SEL)를 통해 한번의 과정을 통해 데이터 스트로브 신호(DQS)와 클럭 신호(CK) 사이의 타이밍 스큐를 최소화할 수 있다. 트레이닝 블록(121)을 구성하는 지연 클럭 셀(122-1)의 지연 회로(220)로부터 출력되는 지연 클럭 신호(CK_D)가 메모리 미디어(110)로 제공됨으로써 트레이닝 동작은 종료된다.
도 6은 본 개시의 다른 예에 따른 메모리 시스템(600)을 나타내 보인 블록도이다. 도 6을 참조하면, 메모리 시스템(600)은, 메모리 미디어(610) 및 메모리 컨트롤러(620)를 포함하여 구성될 수 있다. 일 예에서 메모리 시스템(600)은 메모리 미디어(610) 및 메모리 컨트롤러(620)를 모두 포함하는 단일의 시스템일 수 있다. 다른 예에서 메모리 시스템(600)의 메모리 미디어(610)와 메모리 컨트롤러(620)는 서로 별도의 장치로 구현될 수 있다.
메모리 미디어(610)는, 복수개의 메모리 장치들(610-1, 610-2, …, 610-M)을 포함한다. 일 예에서 복수개의 메모리 장치들(610-1, 610-2, …, 610-M) 각각은 칩(chip) 형태로 구현될 수 있다. 일 예에서 칩 형태의 메모리 장치들(610-1, 610-2, …, 610-M)은 수직 방향으로 적층될 수 있으며, 적층된 칩들은 패키지 기판 위에 실장되어 하나의 메모리 패키지(memory package)를 구성할 수 있다. 본 예에서 메모리 컨트롤러(620)는, 복수개의 메모리 장치들(610-1, 610-2, …, 610-M)에 대한 제어 동작을 수행할 수 있다. 본 예에서 메모리 컨트롤러(620)는, 복수개의 메모리 장치들(610-1, 610-2, …, 610-M) 중 첫번째 메모리 장치(이하 대표 메모리 장치)(610-1)와 직접 통신하고, 나머지 메모리 장치들(이하 기타 메모리 장치들)(610-2, …, 610-M)과는 직접 통신하지 않는다. 즉 기타 메모리 장치들(610-2, …, 610-M)은 대표 메모리 장치(610-1) 및 그 사이의 다른 기타 메모리 장치를 통해 메모리 컨트롤러(620)와 통신할 수 있다. 예컨대 첫번째 기타 메모리 장치(610-2)는 대표 메모리 장치(610-1)를 경유하여 메모리 컨트롤러(620)와 통신할 수 있다. 마지막 M번째 메모리 장치(610-M)는 나머지 다른 기타 메모리 장치들 및 대표 메모리 장치(610-1)를 순차적으로 경유하여 메모리 컨트롤러(620)와 통신할 수 있다.
메모리 컨트롤러(620)는, 메모리 미디어(610)를 구성하는 메모리 장치들(610-1, 610-2, …, 610-M) 각각에 대한 리드(read) 동작 및 라이트(write) 동작을 제어할 수 있다. 또한 메모리 컨트롤러(620)는, 부팅이나 특정 상황에서 메모리 미디어(610)를 구성하는 메모리 장치들(610-1, 610-2, …, 610-M) 각각에 대한 트레이닝(training)을 수행할 수 있다. 메모리 미디어(610)를 구성하는 메모리 장치들(610-1, 610-2, …, 610-M) 각각에 대한 트레이닝을 통해, 메모리 미디어(610)를 구성하는 메모리 장치들(610-1, 610-2, …, 610-M) 각각과 메모리 컨트롤러(620) 사이의 데이터나 신호 교환의 신뢰성을 높일 수 있다. 메모리 컨트롤러(620)는 클럭 신호를 메모리 미디어(610)의 대표 메모리 장치(610-1)로 전송할 수 있다. 메모리 미디어(610)에 대한 트레이닝 과정에서, 메모리 컨트롤러(620)로부터 대표 메모리 장치(610-1)로 전송되는 클럭 신호는, 위상이 지연된 클럭 신호(CK_D)일 수 있다. 메모리 미디어(610)에 대한 리드 동작 및 라이트 동작에서, 메모리 컨트롤러(620)는, 메모리 컨트롤러(620)로부터 메모리 미디어(610)로 전송되는 클럭 신호는, 트레이닝에 의해 위상 조정이 완료된 클럭 신호(CK)일 수 있다. 메모리 컨트롤러(620)는 대표 메모리 장치(610-1)로 클럭 신호(CK)에 동기화된 커맨드/어드레스 신호(CMD/ADDR)를 전송할 수 있다. 메모리 미디어(610)를 구성하는 메모리 장치들(610-1, 610-2, …, 610-M) 각각은, 커맨드/어드레스 신호(CMD/ADDR)에 응답하여 데이터 스트로브 신호(DQS)에 동기화된 데이터(DATA)의 리드 동작 및 라이트 동작을 수행할 수 있다.
메모리 컨트롤러(620)는, 트레이닝 코어(621)와, 트레이닝 블록(622)과, 그리고 버스(623)를 포함한다. 트레이닝 코어(621)는, 메모리 미디어(610)를 구성하는 메모리 장치들(610-1, 610-2, …, 610-M) 각각에 대한 트레이닝 수행을 지시하는 트레이닝 커맨드(T_CMD)를 생성하여 출력할 수 있다. 트레이닝 코어(621)는, 메모리 미디어(610)를 구성하는 메모리 장치들(610-1, 610-2, …, 610-M) 각각에 대한 트레이닝 과정에서 대표 메모리 장치(610-1)로부터 전송되는 데이터 스트로브 신호(DQS)를 입력 받을 수 있다. 트레이닝 코어(621)는, 제공되는 데이터 스트로브 신호(DQS)와 클럭 신호(CK) 사이의 타이밍 스큐를 파악한다. 이를 위해 트레이닝 코어(621)는 샘플링 회로를 포함할 수 있다. 트레이닝 코어(621)는, 타이밍 스큐를 제거하기 위한 지연 선택 신호(DELAY_SEL)를 출력할 수 있다. 트레이닝 코어(621)로부터 출력되는 트레이닝 커맨드(T_CMD) 및 지연 선택 신호(DELAY_SEL)는 버스(623)를 통해 트레이닝 블록(622)으로 전송될 수 있다.
트레이닝 코어(621)로부터 트레이닝 블록(622)으로 트레이닝 커맨드(T_CMD)가 전송되면, 메모리 컨트롤러(620)는 메모리 미디어(610)를 구성하는 메모리 장치들(610-1, 610-2, …, 610-M) 각각에 데이터 스트로브 신호(DQS)를 요청한다. 이를 위해 메모리 컨트롤러(620)는, 메모리 미디어(610)를 구성하는 메모리 장치들(610-1, 610-2, …, 610-M) 각각에 대한 라이트 동작 및 리드 동작을 수행할 수 있다. 메모리 미디어(610)를 구성하는 메모리 장치들(610-1, 610-2, …, 610-M) 각각에 이미 저장되어 있는 데이터를 이용하는 경우, 메모리 장치들(610-1, 610-2, …, 610-M) 각각에 대한 리드 동작만 수행될 수도 있다. 대표 메모리 장치(610-1)를 통해 전송되는 데이터 스트로브 신호(DQS)는 트레이닝 블록(622)에 제공된다. 트레이닝 블록(622)은, 제공되는 데이터 스트로브 신호(DQS)를 버스(623)를 통해 트레이닝 코어(621)로 전송할 수 있다. 트레이닝 블록(622)는, 트레이닝 코어(621)에 의해 제공되는 지연 선택 신호(DELAY_SEL)에 의해 선택되는 지연 클럭 신호(CK_D)를 메모리 미디어(610)로 전송한다. 메모리 미디어(610)는 제공되는 지연 클럭 신호(CK_D)에 응답하여 메모리 미디어(610)에서 생성되는 데이터 스트로브 신호(DQS)의 위상을 조절할 수 있다. 본 예에 따른 메모리 시스템(600)에서, 메모리 컨트롤러(620)의 구성 및 동작은, 도 1 내지 도 5를 참조하여 설명한 바와 동일하다.
도 7은 도 6의 메모리 시스템(600)이 적용된 메모리 모듈(700)을 나타내 보인 도면이다. 도 7을 도 6과 함께 참조하면, 메모리 모듈(700)은, 복수개의 메모리 패키지(710)들 및 메모리 컨트롤러(720)를 포함할 수 있다. 각각의 메모리 패키지(710)는, 도 6을 참조하여 설명한 복수개의 메모리 장치들(610-1, 610-2, …, 110-M)을 포함하는 메모리 미디어(610)에 대응될 수 있다. 메모리 컨트롤러(720)는, 메모리 패키지(710)의 복수개의 메모리 장치들(610-1, 610-2, …, 110-M)에 대한 액세스를 위한 여러 제어 동작들을 수행할 수 있다. 메모리 컨트롤러(720)는, 도 6을 참조하여 설명한 메모리 컨트롤러(620)에 대응될 수 있다. 메모리 패키지(710)의 복수개의 메모리 장치들(610-1, 610-2, …, 110-M)과 메모리 모듈(700) 외부와의 통신은, 메모리 컨트롤러(720)를 통해 간접적으로 이루어진다. 비록 도면에 나타내지는 않았지만, 메모리 모듈(700)은, 외부와 메모리 컨트롤러(720) 사이의 데이터 전송을 위한 복수개의 데이터 버퍼들을 포함할 수 있다. 메모리 패키지(710)를 구성하는 복수개의 메모리 장치들(610-1, 610-2, …, 110-M)에 대한 트레이닝 동작은, 도 1 내지 도 5를 참조하여 설명한 바와 동일하게 메모리 컨트롤러(720)에 의해 수행될 수 있다.
상술한 바와 같이 본 출원의 실시 형태들을 도면들을 예시하며 설명하지만, 이는 본 출원에서 제시하고자 하는 바를 설명하기 위한 것이며, 세밀하게 제시된 형상으로 본 출원에서 제시하고자 하는 바를 한정하고자 한 것은 아니다.
100...메모리 시스템 110...메모리 미디어
120...메모리 컨트롤러 121...트레이닝 코어
122...트레이닝 블록 123...버스

Claims (17)

  1. 메모리 미디어; 및
    상기 메모리 미디어를 제어하는 메모리 컨트롤러를 포함하며,
    상기 메모리 컨트롤러는,
    상기 메모리 미디어에 대한 트레이닝 동작을 수행하는 과정에서 클럭 신호의 지연 시간을 파악하여 지연 선택 신호를 발생시키는 트레이닝 코어; 및
    상기 트레이닝 코어로부터의 지연 선택 신호에 응답하여 상기 지연 선택 신호에 의해 지정된 시간만큼 지연된 지연 클럭 신호를 발생시키는 트레이닝 블록을 포함하는 메모리 시스템.
  2. 제1항에 있어서,
    상기 메모리 미디어는, 대표 메모리 장치 및 복수의 기타 메모리 장치들이 기판 위에서 수직 방향으로 적층되는 메모리 패키지를 구성하는 메모리 시스템.
  3. 제2항에 있어서,
    상기 대표 메모리 장치는 상기 메모리 컨트롤러와 직접 통신하고, 상기 복수의 기타 메모리 장치들은 상기 대표 메모리 장치를 통해 상기 메모리 컨트롤러와 통신하는 메모리 시스템.
  4. 제2항에 있어서,
    상기 메모리 미디어 및 메모리 컨트롤러는, 모듈 기판에 실장되는 메모리 모듈을 구성하고, 상기 메모리 미디어는 상기 메모리 컨트롤러를 통해 외부와의 데이터 전송이 이루어지도록 구성되는 메모리 시스템.
  5. 제1항에 있어서,
    상기 트레이닝 코어는, 부팅시 또는 외부로부터의 트레이닝 지시에 응답하여 트레이닝 동작 수행을 지시하는 트레이닝 커맨드를 생성하여 출력하는 트레이닝 커맨드 발생기를 포함하는 메모리 시스템.
  6. 제5항에 있어서,
    상기 트레이닝 블록은, 상기 트레이닝 코어로부터 상기 트레이닝 커맨드를 제공받고, 상기 메모리 미디어로부터 데이터 스트로브 신호를 제공받도록 구성되는 메모리 시스템.
  7. 제1항에 있어서, 상기 트레이닝 코어는,
    상기 메모리 미디어로부터 제공되는 데이터 스트로브 신호에 대한 샘플링을 수행하여 상기 데이터 스트로브 신호와 클럭 신호 사이의 타이밍 스큐에 대한 정보를 갖는 타이밍 스큐 정보를 생성하여 출력하는 샘플링 회로; 및
    상기 샘플링 회로로부터 제공되는 타이밍 스큐 정보에 응답하여, 상기 타이밍 스큐가 최소화되도록 하는 지연 시간 정보를 갖는 지연 선택 신호를 생성하여 출력하는 지연 선택 신호 발생기를 포함하는 메모리 시스템.
  8. 제7항에 있어서,
    상기 트레이닝 블록은, 상기 트레이닝 코어로부터 제공되는 지연 선택 신호에 의해 지정된 지연 시간을 갖는 지연 클럭 신호를 출력시키는 지연 회로를 포함하는 메모리 시스템.
  9. 제8항에 있어서, 상기 지연 회로는,
    각각이 일정 시간만큼 지연된 출력 신호를 발생시키고, 상호 직렬 방식으로 배치되는 복수개의 지연 셀들; 및
    상기 복수개의 지연 셀들 각각의 출력 신호를 입력받고, 상기 지연 클럭 신호에 의해 선택된 출력 신호를 지연 클럭 신호로 출력시키는 멀티플렉서를 포함하는 메모리 시스템.
  10. 제1항에 있어서,
    상기 트레이닝 블록은, 상기 트레이닝 과정에서 상기 메모리 미디어로 라이트할 데이터가 저장되는 라이트 데이터 버퍼를 더 포함하는 메모리 시스템.
  11. 제1항에 있어서,
    상기 트레이닝 블록은, 상기 트레이닝 과정에서 상기 메모리 미디어로 리드한 데이터가 저장되는 리드 데이터 버퍼를 더 포함하는 메모리 시스템.
  12. 제1항에 있어서,
    상기 트레이닝 블록은, 상기 트레이닝 코어로부터의 커맨드 및 제어 신호에 응답하여 상기 메모리 미디어에 대한 트레이닝 동작이 수행되도록 하는 설정값들이 저장되는 모드 레지스터 셋 버퍼를 더 포함하는 메모리 시스템.
  13. 메모리 미디어, 및 상기 메모리 미디어를 제어하는 메모리 컨트롤러를 포함하는 메모리 시스템의 트레이닝 방법에 있어서,
    트레이닝 코어로부터 생성되어 출력되는 트레이닝 커맨드를 트레이닝 블록으로 전송하는 단계;
    상기 트레이닝 커맨드에 응답하여 상기 메모리 미디어에 대한 리드 동작을 수행하여 상기 메모리 미디어로부터 상기 트레이닝 코어로 데이터 스트로브 신호를 제공받는 단계;
    상기 트레이닝 코어에 의해 상기 데이터 스트로브 신호를 샘플링하여 지연 선택 신호를 발생시키는 단계;
    상기 트레이닝 블록에 의해 상기 지연 선택 신호에서 지정하는 시간만큼 지연된 지연 클럭 신호를 상기 메모리 미디어로 전송하는 단계를 포함하는 메모리 시스템의 트레이닝 방법.
  14. 제13항에 있어서,
    상기 메모리 미디어는, 대표 메모리 장치 및 복수의 기타 메모리 장치들이 기판 위에서 수직 방향으로 적층되는 메모리 패키지를 구성하는 메모리 시스템의 트레이닝 방법.
  15. 제14항에 있어서,
    상기 대표 메모리 장치는 상기 메모리 컨트롤러와 직접 통신하고, 상기 복수의 기판 메모리 장치들은 상기 대표 메모리 장치를 통해 상기 메모리 컨트롤러와 통신하는 메모리 시스템의 트레이닝 방법.
  16. 제13항에 있어서, 상기 지연 선택 신호를 발생시키는 단계는,
    상기 메모리 미디어로부터 제공되는 데이터 스트로브 신호에 대한 샘플링을 수행하여 상기 데이터 스트로브 신호와 클럭 신호 사이의 타이밍 스큐에 대한 정보를 갖는 타이밍 스큐 정보를 생성하여 출력하는 단계; 및
    상기 타이밍 스큐 정보에 의해 상기 타이밍 스큐가 최소화되도록 하는 지연 시간 정보를 갖는 상기 지연 선택 신호를 생성하는 출력하는 단계를 포함하는 메모리 시스템의 트레이닝 방법.
  17. 제13항에 있어서,
    상기 지연 클럭 신호를 상기 메모리 미디어로 전송하는 단계는, 각각이 일정 시간만큼 지연된 출력 신호를 발생시키고, 상호 직렬 방식으로 배치되는 복수개의 지연 셀들 각각의 출력 신호 중 상기 지연 클럭 신호에 의해 선택된 출력 신호를 상기 지연 클럭 신호로 출력시켜 수행하는 메모리 시스템의 트레이닝 방법.
KR1020190159427A 2019-12-03 2019-12-03 메모리 시스템 및 메모리 시스템의 트레이닝 방법 KR20210069514A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020190159427A KR20210069514A (ko) 2019-12-03 2019-12-03 메모리 시스템 및 메모리 시스템의 트레이닝 방법
US16/910,496 US11481124B2 (en) 2019-12-03 2020-06-24 Memory systems and methods of training the memory systems
CN202010727807.0A CN112908377A (zh) 2019-12-03 2020-07-23 存储系统及训练存储系统的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190159427A KR20210069514A (ko) 2019-12-03 2019-12-03 메모리 시스템 및 메모리 시스템의 트레이닝 방법

Publications (1)

Publication Number Publication Date
KR20210069514A true KR20210069514A (ko) 2021-06-11

Family

ID=76091019

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190159427A KR20210069514A (ko) 2019-12-03 2019-12-03 메모리 시스템 및 메모리 시스템의 트레이닝 방법

Country Status (3)

Country Link
US (1) US11481124B2 (ko)
KR (1) KR20210069514A (ko)
CN (1) CN112908377A (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022032287A (ja) * 2020-08-11 2022-02-25 キオクシア株式会社 タイミング検出回路、半導体装置及びメモリシステム
JP7320707B2 (ja) * 2021-02-16 2023-08-04 パナソニックIpマネジメント株式会社 ホスト装置、スレーブ装置およびデータ転送システム
CN115344215A (zh) * 2022-08-29 2022-11-15 深圳市紫光同创电子有限公司 存储器训练方法及系统

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4090088B2 (ja) * 1996-09-17 2008-05-28 富士通株式会社 半導体装置システム及び半導体装置
JP3441055B2 (ja) * 1999-04-23 2003-08-25 シャープ株式会社 不揮発性メモリ内蔵マイクロコンピュータの検査システム
US7793063B1 (en) * 2005-09-29 2010-09-07 Marvell International Ltd. Method and system for automatic calibration of a DQS signal in a storage controller
JP5160856B2 (ja) * 2007-10-24 2013-03-13 ルネサスエレクトロニクス株式会社 Ddrメモリコントローラ及び半導体装置
US8139430B2 (en) * 2008-07-01 2012-03-20 International Business Machines Corporation Power-on initialization and test for a cascade interconnect memory system
KR101079209B1 (ko) * 2010-04-28 2011-11-03 주식회사 하이닉스반도체 반도체 시스템의 데이터 송수신 장치 및 방법
KR101179462B1 (ko) * 2010-11-30 2012-09-07 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그를 포함하는 반도체 메모리 시스템
US9824772B2 (en) * 2012-12-26 2017-11-21 Nvidia Corporation Hardware chip select training for memory using read commands
CN110428855B (zh) * 2013-07-27 2023-09-22 奈特力斯股份有限公司 具有本地分别同步的内存模块
US9218861B2 (en) * 2013-10-09 2015-12-22 Micron Technology, Inc. Apparatuses and methods including selectively providing a single or separate chip select signals
EP3264276A1 (en) 2016-06-28 2018-01-03 ARM Limited An apparatus for controlling access to a memory device, and a method of performing a maintenance operation within such an apparatus
KR20180085192A (ko) * 2017-01-18 2018-07-26 에스케이하이닉스 주식회사 핫 플러그 모듈 및 메모리 모듈을 포함하는 시스템
KR102447493B1 (ko) * 2017-12-04 2022-09-26 삼성전자주식회사 랭크 단위로 메모리 장치를 트레이닝하는 전자 장치 및 그것의 메모리 트레이닝 방법
KR102478044B1 (ko) * 2018-05-18 2022-12-16 에스케이하이닉스 주식회사 반도체 시스템
KR102569435B1 (ko) * 2018-06-27 2023-08-24 에스케이하이닉스 주식회사 융합형 반도체 장치 및 동작 방법, 이를 포함하는 적층형 메모리 장치
KR20200124575A (ko) * 2019-04-24 2020-11-03 에스케이하이닉스 주식회사 복수의 메모리 장치들을 갖는 메모리 시스템 및 메모리 시스템에서의 트레이닝 방법
KR20210026956A (ko) * 2019-09-02 2021-03-10 삼성전자주식회사 파워-업 시퀀스 중에 메모리 셀들을 테스트하고 리페어 하는 방법 및 메모리 장치

Also Published As

Publication number Publication date
US20210165587A1 (en) 2021-06-03
US11481124B2 (en) 2022-10-25
CN112908377A (zh) 2021-06-04

Similar Documents

Publication Publication Date Title
US11500770B2 (en) Memory device controlling including reading from a first memory and writing to a second memory based on timing and control signals
CN109493892B (zh) 缓冲器装置、包括该缓冲器装置的存储器模块和存储器系统
US10762947B2 (en) Memory devices
US20190161341A1 (en) Systems and methods for temperature sensor access in die stacks
US10403390B1 (en) Post-packaging repair of redundant rows
KR20180085184A (ko) 로우 해머링을 개선할 수 있는 메모리 모듈 및 이의 동작 방법
KR20210069514A (ko) 메모리 시스템 및 메모리 시스템의 트레이닝 방법
US10403332B2 (en) Memory device and memory system including the same
US9607667B1 (en) Memory device and electronic apparatus including the same
US10872653B2 (en) Memory modules, memory systems, and methods of operating memory modules
US9368236B2 (en) Semiconductor memory apparatus and test method thereof
KR102103912B1 (ko) 반도체 메모리 장치
US8027205B2 (en) Semiconductor memory device and operation method thereof
US10381058B2 (en) Address control circuit and semiconductor device including the same
US10976368B2 (en) Memory apparatus relating to determination of a failed region and test method thereof, memory module and system using the same
KR20130102816A (ko) 데이터 액세스 메모리 및 그것의 데이터 손실 방지 방법
JP5107776B2 (ja) メモリコントローラ、メモリシステム、及びメモリデバイスへのデータの書込方法
US7127598B2 (en) Semiconductor device comprising transition detecting circuit and method of activating the same
JP2008107897A (ja) 半導体記憶装置
US10388362B1 (en) Half-width, double pumped data path
EP1431981A2 (en) Semiconductor device comprising transition detecting circuit and method of activating the same
US6751130B2 (en) Integrated memory device, method of operating an integrated memory, and memory system having a plurality of integrated memories
KR102342471B1 (ko) 반도체 기입 장치 및 반도체 장치
US20150380070A1 (en) Latch circuit and input/output device including the same

Legal Events

Date Code Title Description
E902 Notification of reason for refusal