KR20180083975A - 트레이닝 동작을 수행하는 메모리 시스템 - Google Patents

트레이닝 동작을 수행하는 메모리 시스템 Download PDF

Info

Publication number
KR20180083975A
KR20180083975A KR1020170005850A KR20170005850A KR20180083975A KR 20180083975 A KR20180083975 A KR 20180083975A KR 1020170005850 A KR1020170005850 A KR 1020170005850A KR 20170005850 A KR20170005850 A KR 20170005850A KR 20180083975 A KR20180083975 A KR 20180083975A
Authority
KR
South Korea
Prior art keywords
training
code
controller
memory device
dram
Prior art date
Application number
KR1020170005850A
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 KR1020170005850A priority Critical patent/KR20180083975A/ko
Priority to US15/825,504 priority patent/US10262708B2/en
Publication of KR20180083975A publication Critical patent/KR20180083975A/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/12Group selection circuits, e.g. for memory block selection, chip selection, array selection
    • 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
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • 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
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L21/00Processes or apparatus adapted for the manufacture or treatment of semiconductor or solid state devices or of parts thereof
    • H01L21/70Manufacture or treatment of devices consisting of a plurality of solid state components formed in or on a common substrate or of parts thereof; Manufacture of integrated circuit devices or of parts thereof
    • H01L21/77Manufacture or treatment of devices consisting of a plurality of solid state components or integrated circuits formed in, or on, a common substrate
    • H01L21/78Manufacture or treatment of devices consisting of a plurality of solid state components or integrated circuits formed in, or on, a common substrate with subsequent division of the substrate into plural individual devices
    • H01L21/82Manufacture or treatment of devices consisting of a plurality of solid state components or integrated circuits formed in, or on, a common substrate with subsequent division of the substrate into plural individual devices to produce devices, e.g. integrated circuits, each consisting of a plurality of components
    • H01L21/822Manufacture or treatment of devices consisting of a plurality of solid state components or integrated circuits formed in, or on, a common substrate with subsequent division of the substrate into plural individual devices to produce devices, e.g. integrated circuits, each consisting of a plurality of components the substrate being a semiconductor, using silicon technology
    • H01L21/8221Three dimensional integrated circuits stacked in different levels
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10BELECTRONIC MEMORY DEVICES
    • H10B41/00Electrically erasable-and-programmable ROM [EEPROM] devices comprising floating gates
    • H10B41/20Electrically erasable-and-programmable ROM [EEPROM] devices comprising floating gates characterised by three-dimensional arrangements, e.g. with cells on different height levels
    • H10B41/23Electrically erasable-and-programmable ROM [EEPROM] devices comprising floating gates characterised by three-dimensional arrangements, e.g. with cells on different height levels with source and drain on different levels, e.g. with sloping channels
    • H10B41/27Electrically erasable-and-programmable ROM [EEPROM] devices comprising floating gates characterised by three-dimensional arrangements, e.g. with cells on different height levels with source and drain on different levels, e.g. with sloping channels the channels comprising vertical portions, e.g. U-shaped channels
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/344Arrangements for verifying correct erasure or for detecting overerased cells
    • G11C16/3445Circuits or methods to verify correct erasure of nonvolatile memory cells
    • 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
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L21/00Processes or apparatus adapted for the manufacture or treatment of semiconductor or solid state devices or of parts thereof
    • H01L21/02Manufacture or treatment of semiconductor devices or of parts thereof
    • H01L21/04Manufacture or treatment of semiconductor devices or of parts thereof the devices having at least one potential-jump barrier or surface barrier, e.g. PN junction, depletion layer or carrier concentration layer
    • H01L21/18Manufacture or treatment of semiconductor devices or of parts thereof the devices having at least one potential-jump barrier or surface barrier, e.g. PN junction, depletion layer or carrier concentration layer the devices having semiconductor bodies comprising elements of Group IV of the Periodic System or AIIIBV compounds with or without impurities, e.g. doping materials
    • H01L21/30Treatment of semiconductor bodies using processes or apparatus not provided for in groups H01L21/20 - H01L21/26
    • H01L21/31Treatment of semiconductor bodies using processes or apparatus not provided for in groups H01L21/20 - H01L21/26 to form insulating layers thereon, e.g. for masking or by using photolithographic techniques; After treatment of these layers; Selection of materials for these layers
    • H01L21/3205Deposition of non-insulating-, e.g. conductive- or resistive-, layers on insulating layers; After-treatment of these layers
    • H01L21/321After treatment
    • H01L21/3213Physical or chemical etching of the layers, e.g. to produce a patterned layer from a pre-deposited extensive layer
    • H01L21/32133Physical or chemical etching of the layers, e.g. to produce a patterned layer from a pre-deposited extensive layer by chemical means only
    • H01L21/32135Physical or chemical etching of the layers, e.g. to produce a patterned layer from a pre-deposited extensive layer by chemical means only by vapour etching only
    • H01L21/32136Physical or chemical etching of the layers, e.g. to produce a patterned layer from a pre-deposited extensive layer by chemical means only by vapour etching only using plasmas
    • H01L21/32137Physical or chemical etching of the layers, e.g. to produce a patterned layer from a pre-deposited extensive layer by chemical means only by vapour etching only using plasmas of silicon-containing layers
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L27/00Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
    • H01L27/02Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having at least one potential-jump barrier or surface barrier; including integrated passive circuit elements with at least one potential-jump barrier or surface barrier
    • H01L27/04Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having at least one potential-jump barrier or surface barrier; including integrated passive circuit elements with at least one potential-jump barrier or surface barrier the substrate being a semiconductor body
    • H01L27/06Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having at least one potential-jump barrier or surface barrier; including integrated passive circuit elements with at least one potential-jump barrier or surface barrier the substrate being a semiconductor body including a plurality of individual components in a non-repetitive configuration
    • H01L27/0688Integrated circuits having a three-dimensional layout

Abstract

본 발명은 트레이닝 동작을 수행하는 메모리 시스템에 관한 것이다. 본 발명의 실시 예에 따른 메모리 시스템은 불휘발성 메모리 장치 및 컨트롤러를 포함할 수 있다. 불휘발성 메모리 장치는 데이터 영역 및 호스트가 액세스할 수 없는 장치 정보 영역을 포함하고, 컨트롤러는 상기 불휘발성 메모리 장치와 송수신하는 데이터 신호에 대한 트레이닝 동작을 수행하는 경우 상기 장치 정보 영역에 저장된 트레이닝 정보에 기초하여 상기 트레이닝 동작을 수행할 수 있다. 상기 컨트롤러는 상기 트레이닝 정보의 아이디 코드에 기초하여 제 1 및 제 2 트레이닝 동작들 중 하나를 선택하고, 상기 제 1 트레이닝 동작은 상기 컨트롤러에 의해 생성된 루티드 트레이닝 코드에 기초하여 수행되고, 상기 제 2 트레이닝 동작은 상기 트레이닝 정보의 동적 트레이닝 코드에 기초하여 수행되며, 상기 제 1 트레이닝 동작보다 더 적은 탐색 횟수를 이용할 수 있다. 본 발명의 실시 예에 따르면, 트레이닝 동작에 소요되는 시간을 감축할 수 있다.

Description

트레이닝 동작을 수행하는 메모리 시스템{MEMORY SYSTEM PERPORMING TRAINING OPERATION}
본 발명은 메모리 시스템에 관한 것으로, 좀 더 상세하게는 트레이닝 동작을 수행하는 메모리 시스템에 관한 것이다.
반도체 메모리 장치(semiconductor memory device)는 실리콘(Si, silicon), 게르마늄(Ge, Germanium), 비화 갈륨(GaAs, gallium arsenide), 인화인듐(InP, indium phospide) 등과 같은 반도체를 이용하여 구현되는 기억장치이다. 반도체 메모리 장치는 크게 휘발성 메모리 장치(Volatile memory device)와 불휘발성 메모리 장치(Nonvolatile memory device)로 구분될 수 있다.
휘발성 메모리 장치는 전원 공급이 차단되면 저장하고 있던 데이터가 소멸되는 메모리 장치이다. 휘발성 메모리 장치에는 SRAM (Static RAM), DRAM (Dynamic RAM), SDRAM (Synchronous DRAM) 등이 있다. 불휘발성 메모리 장치는 전원 공급이 차단되어도 저장하고 있던 데이터를 유지하는 메모리 장치이다. 불휘발성 메모리 장치에는 ROM (Read Only Memory), PROM (Programmable ROM), EPROM (Electrically Programmable ROM), EEPROM (Electrically Erasable and Programmable ROM), 플래시 메모리 장치, PRAM (Phase-change RAM), MRAM (Magnetic RAM), RRAM (Resistive RAM), FRAM (Ferroelectric RAM) 등이 있다.
반도체 메모리 장치는 메모리 컨트롤러와 데이터 신호(DQ)들을 교환할 수 있다. 데이터 신호(DQ)들은 PVT(Process, Voltage, Temperature) 변동(variation) 및 채널의 환경 차이 등의 이유에 의해 서로 다른 타이밍 스큐(skew)를 가질 수 있다. 따라서, 데이터 신호(DQ)들에 대한 트레이닝 동작이 필요하지만, 데이터 신호(DQ)에 대한 트레이닝 코드의 모든 비트들을 탐색하는 트레이닝 동작은 많은 시간을 필요로 한다.
본 발명은 위에서 설명한 기술적 과제를 해결하기 위한 것으로, 본 발명의 목적은 트레이닝 동작에 소요되는 시간을 감축할 수 있는 메모리 시스템을 제공하는데 있다.
본 발명의 실시 예에 따른 메모리 시스템은 불휘발성 메모리 장치 및 컨트롤러를 포함할 수 있다. 불휘발성 메모리 장치는 데이터 영역 및 호스트가 액세스할 수 없는 장치 정보 영역을 포함하고, 그리고 컨트롤러는 상기 불휘발성 메모리 장치와 송수신하는 데이터 신호에 대한 트레이닝 동작을 수행하는 경우 상기 장치 정보 영역에 저장된 트레이닝 정보에 기초하여 상기 트레이닝 동작을 수행할 수 있다. 상기 컨트롤러는 상기 트레이닝 정보의 아이디 코드에 기초하여 제 1 및 제 2 트레이닝 동작들 중 하나를 선택하고, 상기 제 1 트레이닝 동작은 상기 컨트롤러에 의해 생성된 루티드 트레이닝 코드에 기초하여 수행되고, 상기 제 2 트레이닝 동작은 상기 트레이닝 정보의 동적 트레이닝 코드에 기초하여 수행되며, 상기 제 1 트레이닝 동작보다 더 적은 탐색 횟수를 이용할 수 있다.
본 발명의 실시 예에 따른 메모리 시스템은 불휘발성 메모리 장치, 동적 랜덤 액세스 메모리 및 컨트롤러를 포함할 수 있다. 불휘발성 메모리 장치는 데이터 영역 및 호스트가 액세스할 수 없는 장치 정보 영역을 포함하고, 동적 랜덤 액세스 메모리는 호스트로부터 수신된 데이터 또는 상기 불휘발성 메모리 장치로부터 독출된 데이터를 임시로 저장하고, 그리고 컨트롤러는 상기 동적 랜덤 액세스 메모리와 송수신하는 데이터 신호에 대한 디램 트레이닝 동작을 수행하는 경우 상기 장치 정보 영역에 저장된 디램 트레이닝 정보에 기초하여 상기 디램 트레이닝 동작을 수행할 수 있다. 상기 컨트롤러는 상기 디램 트레이닝 정보의 디램 아이디 코드에 기초하여 제 1 및 제 2 디램 트레이닝 동작들 중 하나를 선택하고, 상기 제 1 디램 트레이닝 동작은 상기 컨트롤러에 의해 생성된 루티드 디램 트레이닝 코드에 기초하여 수행되고, 상기 제 2 디램 트레이닝 동작은 상기 디램 트레이닝 정보의 디램 동적 트레이닝 코드에 기초하여 수행되며, 상기 제 1 디램 트레이닝 동작보다 더 적은 탐색 횟수를 이용할 수 있다.
본 발명의 실시 예에 따른 메모리 시스템은 트레이닝 정보를 불휘발성 메모리 장치의 장치 정보 영역에 저장하고, 저장된 트레이닝 정보에 따라 다양한 모드의 트레이닝 동작을 수행할 수 있다. 따라서, 본 발명의 실시 예에 따르면 트레이닝 동작에 소요되는 시간을 감축할 수 있다.
도 1은 본 발명의 실시 예에 따른 메모리 시스템을 보여주는 블록도이다.
도 2는 도 1의 불휘발성 메모리 장치를 예시적으로 보여주는 블록도이다.
도 3은 도 2의 불휘발성 메모리들 중 하나를 예시적으로 보여주는 블록도이다.
도 4는 본 발명의 실시 예에 따른 불휘발성 메모리 장치의 장치 정보 영역을 보여주는 도면이다.
도 5는 도 1의 트레이닝 관리 유닛을 예시적으로 보여주는 블록도이다.
도 6은 트레이닝 동작을 예시적으로 보여주는 도면이다.
도 7은 본 발명의 실시 예에 따른 루티드 트레이닝을 보여주는 도면이다.
도 8은 본 발명의 실시 예에 따른 미러 트레이닝을 보여주는 도면이다.
도 9는 본 발명의 실시 예에 따른 트레이닝 동작 방법을 보여주는 순서도이다.
도 10은 본 발명의 다른 실시 예에 따른 메모리 시스템을 보여주는 블록도이다.
도 11은 본 발명의 다른 실시 예에 따른 불휘발성 메모리 장치의 장치 정보 영역을 보여주는 도면이다.
도 12는 본 발명의 다른 실시 예에 따른 트레이닝 동작 방법을 보여주는 순서도이다.
도 13은 본 발명의 또 다른 실시 예에 따른 메모리 시스템을 보여주는 블록도이다.
도 14는 도 13의 트레이닝 관리 유닛을 예시적으로 보여주는 블록도이다.
도 15는 본 발명의 또 다른 실시 예에 따른 불휘발성 메모리 장치의 장치 정보 영역을 보여주는 도면이다.
도 16은 본 발명에 따른 메모리 시스템을 간략히 보여주는 블록도이다.
도 17은 본 발명의 실시 예에 따른 SSD를 보여주는 블록도이다.
도 18은 본 발명의 또 다른 실시 예에 따른 컴퓨팅 시스템을 예시적으로 보여주는 블록도이다.
아래에서는, 본 발명의 기술 분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있을 정도로, 본 발명의 실시 예들이 명확하고 상세하게 기재될 것이다. 본 발명에서 사용되는 용어 '트레이닝(Training)'은 최적의 신뢰성을 제공하기 위한 메모리 채널의 레이턴시 또는 신호 레벨을 탐색하는 동작을 의미한다.
도 1은 본 발명의 실시 예에 따른 메모리 시스템을 보여주는 블록도이다. 도 1을 참조하면, 메모리 시스템(100)은 컨트롤러(110) 및 불휘발성 메모리 장치(120)를 포함할 수 있다. 컨트롤러(110)와 불휘발성 메모리 장치(120)는 채널을 통해 복수의 데이터 신호(DQ)들을 교환할 수 있다. 예를 들면, 하나의 채널은 복수의 전송 선로들을 포함할 수 있고, 각 전송 선로는 각 데이터 신호(DQ)를 전송할 수 있다. 메모리 시스템(100)은 데이터 신호(DQ)들의 신뢰성을 유지하기 위해 주기적으로 트레이닝 동작을 수행할 수 있다.
컨트롤러(110)는 중앙 처리 장치(111), 동작 메모리(112), 호스트 인터페이스(114), 및 불휘발성 메모리 인터페이스(115)를 포함할 수 있다. 하지만, 컨트롤러(110)의 구성 요소들이 언급된 구성 요소들에 국한되지 않음은 잘 이해될 것이다. 예를 들면, 컨트롤러(110)는 초기 부팅 동작에 필요한 코드 데이터를 저장하는 ROM, 손상된 데이터를 복구하는 에러 정정 유닛(ECC), SDRAM 등이 더 포함될 수 있다.
중앙 처리 장치(111)는 컨트롤러(110)의 동작을 전반적으로 제어할 수 있다. 예를 들면, 중앙 처리 장치(111)는 컨트롤러(110)를 제어하기 위한 펌웨어(Firmware)를 구동하도록 구성될 수 있다. 이러한 펌웨어(Firmware)는 동작 메모리(112)에 로딩되어 구동될 수 있다. 중앙 처리 장치(111)는 호스트(Host)로부터 전달되는 명령어를 디코딩할 수 있다. 중앙 처리 장치(111)는 명령어에 포함된 읽기나 쓰기와 같은 액세스 명령을 수행하도록 불휘발성 메모리 인터페이스(115)를 제어할 수 있다.
동작 메모리(112)에는 컨트롤러(110)를 제어하기 위한 펌웨어(Firmware) 및 데이터가 저장될 수 있다. 예를 들면, 저장된 펌웨어(Firmware) 및 데이터는 중앙 처리 장치(111)에 의해 구동될 수 있다. 동작 메모리(112)는 캐시(Cache), DRAM, SRAM, PRAM, ROM, 플래시 메모리 장치들 중 적어도 하나를 포함할 수 있다. 동작 메모리(112)에는 플래시 변환 계층(Flash Translation Layer : FTL)이 저장될 수 있다. 불휘발성 메모리 장치(120)는 읽기/쓰기 단위와 소거 단위가 서로 다를 수 있다. 따라서, 플래시 변환 계층(FTL)이 불휘발성 메모리 장치(120)의 읽기/쓰기/소거 동작을 관리할 필요가 있다.
트레이닝 관리 유닛(113)은 컨트롤러(110) 및 불휘발성 메모리 장치(120) 사이의 데이터 신호(DQ)들의 트레이닝 동작을 관리할 수 있다. 예를 들면, 트레이닝 동작은 루티드 트레이닝(Rooted Training) 및 미러 트레이닝(Mirror Training)을 포함할 수 있다. 루티드 트레이닝은 데이터 신호(DQ)의 모든 구간을 탐색하여 최적의 타이밍 스큐(skew)를 찾을 수 있다. 루티드 트레이닝은 데이터 신호(DQ)의 모든 구간을 탐색하므로 신뢰성을 확보할 수 있으나 시간이 오래 걸린다는 단점이 있다. 루티드 트레이닝은 일명 전체 트레이닝(Full Training)으로 지칭될 수 있다.
반면에, 미러 트레이닝은 미리 저장된 트레이닝 정보를 이용하여 데이터 신호(DQ)의 특정 시점에 대하여 탐색할 수 있다. 따라서, 미러 트레이닝은 트레이닝 동작에 소요되는 시간을 단축할 수 있다. 트레이닝 관리 유닛(113)은 이전에 수행된 트레이닝 동작을 통해 얻어진 트레이닝 정보를 불휘발성 메모리 장치(120)에 저장할 수 있다. 따라서, 트레이닝 정보가 저장되어 있는 경우, 컨트롤러(110)는 저장된 트레이닝 정보를 이용하여 신속하게 트레이닝 동작을 수행할 수 있다.
이때 트레이닝 정보는 불휘발성 메모리 장치(120)의 장치 정보 영역(Device Information Area)에 저장될 수 있다. 예를 들면, 불휘발성 메모리 장치(120)는 데이터 영역(Data Area) 및 장치 정보 영역(Device Information Area)을 포함할 수 있다. 데이터 영역은 호스트로부터 수신된 데이터를 저장하는 영역으로서 호스트가 액세스할 수 있는 영역이다. 장치 정보 영역은 메모리 시스템(100)의 동작에 필요한 데이터 및 불휘발성 메모리 장치(120)의 내부 구성 설정 데이터 등을 저장하는 영역으로서 호스트가 액세스할 수 없는 영역이다.
예시적으로, 메모리 시스템(100)이 트레이닝 동작을 수행하는 경우, 트레이닝 관리 유닛(113)은 불휘발성 메모리 장치(120)에 저장된 트레이닝 정보을 읽어올 수 있다. 트레이닝 정보는 아이디 코드(ID code) 및 동적 트레이닝 코드(Dynamic Training code)를 포함할 수 있다. 아이디 코드는 루티드 트레이닝의 수행 여부를 결정할 수 있다. 아이디 코드는 초기 아이디 코드(initial ID code) 및 후기 아이디 코드(post ID code)를 포함할 수 있다. 먼저 아이디 코드는 초기 아이디 코드로 설정될 수 있다. 트레이닝 동작을 수행한 후, 아이디 코드는 후기 아이디 코드로 변경될 수 있다. 또한, 호스트의 요청에 따라, 아이디 코드는 후기 아이디 코드로부터 초기 아이디 코드로 재변경될 수 있다.
아이디 코드가 초기 아이디 코드인 경우, 트레이닝 관리 유닛(113)은 루티드 트레이닝을 수행할 수 있다. 아이디 코드가 초기 아이디 코드가 아닌 경우, 즉, 후기 아이디 코드인 경우, 트레이닝 관리 유닛(113)은 미러 트레이닝을 수행할 수 있다. 미러 트레이닝 시, 트레이닝 관리 유닛(113)은 불휘발성 메모리 장치(120)의 장치 정보 영역에 저장된 동적 트레이닝 코드를 이용하여 트레이닝 동작을 수행할 수 있다. 따라서, 미러 트레이닝은 루티드 트레이닝보다 단시간에 수행될 수 있다. 또한, 트레이닝 관리 유닛(113)은 루티드 트레이닝 및 미러 트레이닝을 수행한 후 동적 트레이닝 코드를 업데이트할 수 있다.
호스트 인터페이스(114)는 호스트(Host)와 컨트롤러(110) 사이의 인터페이스를 제공할 수 있다. 호스트(Host)와 컨트롤러(110)는 다양한 표준 인터페이스들 중 하나를 통해 연결될 수 있다. 또는 호스트(Host)와 컨트롤러(110)는 다양한 표준 인터페이스들 중 복수의 인터페이스들을 통해 연결될 수 있다. 여기에서, 표준 인터페이스들은 ATA(Advanced Technology Attachment), PATA(Parallel ATA), SATA(Serial ATA), e-SATA(external SATA), SCSI(Small Computer Small Interface), SAS(Serial Attached SCSI), PCI(Peripheral Component Interconnection), PCI-E(PCI Express), USB(Universal Serial Bus), IEEE 1394, NVMe(Non-volatile Memory Express), Card 인터페이스 등과 같은 다양한 인터페이스 방식들을 포함할 수 있다.
불휘발성 메모리 인터페이스(115)는 컨트롤러(110)와 불휘발성 메모리 장치(120) 사이의 인터페이스를 제공할 수 있다. 불휘발성 메모리 인터페이스(115)는 불휘발성 메모리 장치(120)의 읽기/쓰기/소거 명령(Read/Write/Erase Command)을 스케줄링(Scheduling)할 수 있다. 불휘발성 메모리 인터페이스(115)는 호스트(Host)로부터 전달되는 데이터를 채널을 통해 불휘발성 메모리 장치(120)로 전달할 수 있다. 또한, 불휘발성 메모리 장치(120)로부터 읽혀진 데이터는 불휘발성 메모리 인터페이스(115)에 의해서 호스트(Host)로 전달될 수 있다.
불휘발성 메모리 장치(120)는 메모리 시스템(100)의 저장 매체로서 제공된다. 예를 들면, 불휘발성 메모리 장치(120)는 대용량의 저장 능력을 가지는 낸드 플래시 메모리(NAND-type Flash memory)로 제공될 수 있다. 컨트롤러(110)는 불휘발성 메모리 장치(120)와 채널을 통해 연결될 수 있다. 다른 실시 예에서, 컨트롤러(110)는 불휘발성 메모리 장치(120)와 복수의 채널을 통해 연결될 수도 있다. 불휘발성 메모리 장치(120)는 데이터 영역 및 장치 정보 영역을 포함할 수 있다. 트레이닝 정보는 호스트가 액세스할 수 없는 장치 정보 영역에 저장될 수 있다.
불휘발성 메모리 장치(120)의 읽기/쓰기 동작은 페이지(Page) 단위로 수행되고, 소거 동작은 블록(Block) 단위로 수행될 수 있다. 이러한 불휘발성 메모리 장치(120)의 특징 때문에, 불휘발성 메모리 장치(120)의 읽기/쓰기/소거 동작에 대한 관리가 필요하다. 플래시 변환 계층(FTL)은 이러한 목적으로 개발된 시스템 소프트웨어(또는, 펌웨어)이다. 플래시 변환 계층(FTL)은 호스트(Host)로부터 요청되는 액세스(예를 들면, 읽기/쓰기 동작)에 응답하여 불휘발성 메모리 장치(120)가 동작될 수 있도록 관리할 수 있다. 이러한 플래시 변환 계층(FTL)은 동작 메모리(112)에 로딩되어, 중앙 처리 장치(111)에 의해서 구동될 수 있다.
본 발명의 실시 예에 따른 메모리 시스템(100)은 트레이닝 정보를 불휘발성 메모리 장치(120)의 장치 정보 영역에 저장할 수 있다. 메모리 시스템(100)은 트레이닝 정보에 따라 루티드 트레이닝 또는 미러 트레이닝을 선택적으로 수행할 수 있다. 메모리 시스템(100)은 루티드 트레이닝을 통하여 신뢰성을 확보할 수 있다. 다만, 루티드 트레이닝이 매번 수행되면, 메모리 시스템(100)의 동작 속도는 감소하게 된다. 따라서, 메모리 시스템(100)은 루티드 트레이닝 및 미러 트레이닝을 병행하여 트레이닝 동작 시간을 감축할 수 있다.
도 2는 도 1의 불휘발성 메모리 장치(120)를 예시적으로 보여주는 블록도이다. 도 2를 참조하면, 불휘발성 메모리 장치(120)는 제 1 내지 제 4 불휘발성 메모리(121~124)를 포함할 수 있다. 예를 들면, 제 1 내지 제 4 불휘발성 메모리(121~124)는 하나의 채널을 통해 불휘발성 메모리 인터페이스(115)와 연결될 수 있다. 하나의 채널은 복수의 데이터 신호(DQ)들을 송수신할 수 있다. 하지만, 불휘발성 메모리 장치(120)는 이것에 제한되지 않는다. 불휘발성 메모리 장치(120)는 적어도 하나 이상의 불휘발성 메모리를 포함할 수 있다. 또한, 불휘발성 메모리 장치(120)는 복수의 채널을 통해 불휘발성 메모리 인터페이스(115)와 연결될 수 있다.
컨트롤러(110)는 제 1 내지 제 4 불휘발성 메모리(121~124) 각각의 트레이닝 동작을 수행할 수 있다. 예를 들면, 제 1 내지 제 4 불휘발성 메모리들(121~124)은 PVT(Process, Voltage, Temperature) 변동(variation) 및 채널의 환경 차이 등의 이유에 의해 데이터 신호(DQ)에 대하여 서로 다른 타이밍 스큐(skew)를 가질 수 있다. 따라서, 제 1 내지 제 4 불휘발성 메모리들(121~124)은 제 1 내지 제 4 트레이닝 정보(TI_1~TI_4)를 각각 저장할 수 있다. 도 1의 트레이닝 관리 유닛(113)은 트레이닝 동작 후 제 1 내지 제 4 불휘발성 메모리(121~124)에 제 1 내지 제 4 트레이닝 정보(TI_1~TI_4)를 업데이트할 수 있다.
도 3은 도 2의 불휘발성 메모리들 중 하나를 예시적으로 보여주는 블록도이다. 도 3을 참조하면, 제 1 불휘발성 메모리(121)는 메모리 셀 어레이(121_1), 어드레스 디코더(121_2), 입출력 회로(121_3), 및 제어 로직(121_4)를 포함할 수 있다. 제 2 내지 제 4 불휘발성 메모리(122~124)는 제 1 불휘발성 메모리(121)와 동일 또는 유사한 구성을 가질 수 있다. 이하에서는 제 1 불휘발성 메모리(121)를 예시적으로 설명한다.
메모리 셀 어레이(121_1)는 어드레스 디코더(121_2)에 연결될 수 있다. 메모리 셀 어레이(121_1)는 비트 라인(Bit Line, BL)들을 통해 입출력 회로(121_3)에 연결될 수 있다. 메모리 셀 어레이(121_1)는 복수의 메모리 블록들을 포함할 수 있다. 각 메모리 블록의 메모리 셀들은 2차원 구조를 형성할 수 있다. 또한, 각 메모리 블록의 메모리 셀들은 기판과 수직한 방향으로 적층되어 3차원 구조를 형성할 수 있다. 각 메모리 블록의 메모리 셀들은 셀 당 하나 또는 그 이상의 비트를 저장할 수 있다.
본 발명의 개념에 따른 실시 예로서, 메모리 셀 어레이(121_1)는 3차원 메모리 어레이로서 제공될 수 있다. 3차원 메모리 어레이는, 실리콘 기판 및 메모리 셀들의 동작에 연관된 회로의 위에 배치되는 활성 영역을 갖는 메모리 셀들의 어레이들의 하나 또는 그 이상의 물리 레벨들에 모놀리식으로(monolithically) 형성될 수 있다. 메모리 셀들의 동작에 연관된 회로는 기판 내에 또는 기판 위에 위치할 수 있다. 모놀리식(monolithical)이란 용어는, 3차원 어레이의 각 레벨의 층들이 3차원 어레이의 하위 레벨의 층들 위에 직접 증착됨을 의미한다.
본 발명의 개념에 따른 실시 예로서, 3차원 메모리 어레이는 수직의 방향성을 가져, 적어도 하나의 메모리 셀이 다른 하나의 메모리 셀 위에 위치하는 수직 NAND 스트링들을 포함한다. 적어도 하나의 메모리 셀은 전하 트랩 층을 포함한다. 각각의 수직 NAND 스트링은 메모리 셀들 위에 위치하는 적어도 하나의 선택 트랜지스터를 포함할 수 있다. 적어도 하나의 선택 트랜지스터는 메모리 셀들과 동일한 구조를 갖고, 메모리 셀들과 함께 모놀리식으로 형성될 수 있다.
3차원 메모리 어레이가 복수의 레벨들로 구성되고, 레벨들 사이에 공유된 워드 라인들 또는 비트 라인들을 갖고, 3차원 메모리 어레이에 적합한 구성은 미국등록특허공보 제7,679,133호, 미국등록특허공보 제8,553,466호, 미국등록특허공보 제8,654,587호, 미국등록특허공보 제8,559,235호, 그리고 미국공개특허공보 제2011/0233648호에 개시되어 있으며, 본 발명의 레퍼런스로 포함된다.
예를 들면, 메모리 셀 어레이(121_1)는 데이터 영역 및 장치 정보 영역을 포함할 수 있다. 데이터 영역은 호스트로부터 수신된 데이터를 저장하는 영역으로서 호스트가 액세스할 수 있는 영역이다. 장치 정보 영역은 메모리 시스템(100)의 동작에 필요한 데이터 및 제 1 불휘발성 메모리(121)의 내부 구성 설정 데이터 등을 저장하는 영역으로서 호스트가 액세스할 수 없는 영역이다. 컨트롤러(110)는 제 1 불휘발성 메모리(121)의 제 1 트레이닝 정보(TI_1)를 메모리 셀 어레이(121_1)의 장치 정보 영역에 저장할 수 있다.
어드레스 디코더(121_2)는 복수의 라인들을 통해 메모리 셀 어레이(121_1)에 연결될 수 있다. 예를 들면, 복수의 라인들은 스트링 선택 라인(String Select Line, SSL)들, 워드 라인(Word Line, WL)들, 및 접지 선택 라인(Ground Select Line, GSL)들일 수 있다. 어드레스 디코더(121_2)는 제어 로직(121_4)의 제어에 응답하여 동작하도록 구성될 수 있다.
어드레스 디코더(121_2)는 외부로부터 어드레스(ADDR)를 수신할 수 있다. 어드레스 디코더(121_2)는 어드레스(ADDR) 중 행 어드레스를 디코딩할 것이다. 어드레스 디코더(121_2)는 디코딩된 행 어드레스에 대응하는 워드 라인을 선택할 것이다. 어드레스 디코더(121_2)는 디코딩된 행 어드레스에 따라 어드레스(ADDR)에 대응하는 워드 라인을 선택할 것이다.
어드레스 디코더(121_2)는 수신된 어드레스(ADDR) 중 열 어드레스를 디코딩하도록 구성될 수 있다. 어드레스 디코더(121_2)는 디코딩된 열 어드레스를 입출력 회로(121_3)에 전달할 수 있다. 예시적으로, 어드레스 디코더(121_2)는 행 어드레스를 디코딩하는 행 디코더, 열 어드레스를 디코딩하는 열 디코더, 어드레스(ADDR)를 저장하는 어드레스 버퍼를 포함할 수 있다.
입출력 회로(121_3)는 비트 라인(BL)들을 통해 메모리 셀 어레이(121_1)에 연결될 수 있다. 입출력 회로(121_3)는 제어 로직(121_4)의 제어에 응답하여 동작할 수 있다. 입출력 회로(121_3)는 어드레스 디코더(121_2)로부터 디코딩된 열 어드레스를 수신할 수 있다. 디코딩된 열 어드레스를 이용하여, 입출력 회로(121_3)는 비트 라인(BL)들을 선택할 것이다.
제어 로직(121_4)은 어드레스 디코더(121_2) 및 입출력 회로(121_3)에 연결될 수 있다. 제어 로직(121_4)은 불휘발성 메모리(121)의 제반 동작을 제어하도록 구성될 수 있다. 제어 로직(121_4)은 외부로부터 전달되는 명령 신호(CMD)에 응답하여 동작할 수 있다.
도 4는 본 발명의 실시 예에 따른 불휘발성 메모리 장치의 장치 정보 영역을 보여주는 도면이다. 도 4를 참조하면, 불휘발성 메모리 장치(120)의 트레이닝 정보는 메모리 셀 어레이의 장치 정보 영역에 저장될 수 있다. 장치 정보 영역은 메모리 시스템(100)의 동작에 필요한 데이터 및 불휘발성 메모리 장치(120)의 내부 구성 설정 데이터 등을 저장하는 영역으로서 호스트가 액세스할 수 없는 영역이다.
예를 들면, 트레이닝 정보는 아이디 코드 및 동적 트레이닝 코드를 포함할 수 있다. 아이디 코드는 루티드 트레이닝의 수행 여부를 결정할 수 있다. 아이디 코드는 초기 아이디 코드 및 후기 아이디 코드를 포함할 수 있다. 먼저 아이디 코드는 초기 아이디 코드로 설정될 수 있다. 트레이닝 동작을 수행한 후, 아이디 코드는 후기 아이디 코드로 변경될 수 있다. 또한, 호스트의 요청에 따라, 아이디 코드는 후기 아이디 코드로부터 초기 아이디 코드로 재변경될 수 있다. 아이디 코드가 초기 아이디 코드인 경우, 컨트롤러(110)는 루티드 트레이닝을 수행할 수 있다. 아이디 코드가 초기 아이디 코드가 아닌 경우, 즉, 후기 아이디 코드인 경우, 컨트롤러(110)는 미러 트레이닝을 수행할 수 있다. 미러 트레이닝 시, 컨트롤러(110)는 불휘발성 메모리 장치(120)에 저장된 동적 트레이닝 코드를 이용하여 트레이닝 동작을 수행할 수 있다.
트레이닝 관리 유닛(113)은 트레이닝 동작을 수행한 후 동적 트레이닝 코드를 새로운 트레이닝 코드로 업데이트할 수 있다. 예를 들면, 트레이닝 관리 유닛(113)은 루티드 트레이닝을 수행한 후에 미러 트레이닝을 수행하는 아이디 코드를 장치 정보 영역에 저장할 수 있다. 트레이닝 관리 유닛(113)은 트레이닝 동작의 결과가 반영된 새로운 동적 트레이닝 코드를 장치 정보 영역에 저장할 수 있다. 따라서, 다음 트레이닝 동작 시, 컨트롤러(110)는 업데이트된 동적 트레이닝 코드를 이용하여 트레이닝 동작을 신속하게 수행할 수 있다.
도 5는 도 1의 트레이닝 관리 유닛을 예시적으로 보여주는 블록도이다. 도 5를 참조하면, 트레이닝 관리 유닛(113)은 트레이닝 코드 레지스터(113_1), 아이디 코드 레지스터(113_2), 멀티플렉서(113_3), 트레이닝 지연 제어 회로(113_4), 및 트레이닝 코드 업데이트 회로(113_5)를 포함할 수 있다.
트레이닝 지연 제어 회로(113_4)는 멀티플렉서(113_3)로부터 수신되는 코드 데이터에 기초하여 트레이닝 동작을 수행할 수 있다. 예를 들면, 트레이닝 관리 유닛(113)은 트레이닝 동작 시 불휘발성 메모리 장치(120)의 장치 정보 영역으로부터 아이디 코드를 읽어서 아이디 코드 레지스터(113_2)에 저장할 수 있다. 또한, 트레이닝 관리 유닛(113)은 트레이닝 동작 시 불휘발성 메모리 장치(120)의 장치 정보 영역으로부터 동적 트레이닝 코드를 읽어서 트레이닝 코드 레지스터(113_1)에 저장할 수 있다.
아이디 코드가 초기 아이디 코드인 경우, 멀티플렉서(113_3)는 컨트롤러(110)에 의해 생성된 루티드 트레이닝 코드(Rooted Training Code)를 출력할 수 있다. 트레이닝 지연 제어 회로(113_4)는 루티드 트레이닝 코드에 따라 루티드 트레이닝을 수행할 수 있다. 트레이닝 지연 제어 회로(113_4)는 루티드 트레이닝 코드에 따라 데이터 신호(DQ)의 모든 구간을 탐색할 수 있다. 예를 들면, 루티드 트레이닝 코드는 트레이닝 범위의 모든 트레이닝 코드들을 포함할 수 있다. 루티드 트레이닝 코드는 트레이닝 범위 내의 트레이닝 코드들이 연속적으로 입력될 수 있다.
아이디 코드가 후기 아이디 코드인 경우, 멀티플렉서(113_3)는 트레이닝 코드 레지스터(113_1)에 저장된 동적 트레이닝 코드를 출력할 수 있다. 트레이닝 지연 제어 회로(113_4)는 동적 트레이닝 코드에 따라 미러 트레이닝을 수행할 수 있다.
트레이닝 동작이 완료된 후, 트레이닝 지연 제어 회로(113_4)는 트레이닝 동작의 결과를 트레이닝 코드 업데이트 회로(113_5)로 전달할 수 있다. 트레이닝 코드 업데이트 회로(113_5)는 트레이닝 동작의 결과에 기초하여 새로운 트레이닝 코드를 불휘발성 메모리 장치(120)의 장치 정보 영역에 동적 트레이닝 코드로서 저장할 수 있다. 또한, 트레이닝 코드 업데이트 회로(113_5)는 아이디 코드를 변경할 수 있다. 트레이닝 코드 업데이트 회로(113_5)는 루티드 트레이닝을 수행한 후에 후기 아이디 코드를 불휘발성 메모리 장치(120)의 장치 정보 영역에 저장할 수 있다. 따라서, 루티드 트레이닝을 수행한 후 다음 트레이닝 동작 시에는 미러 트레이닝 동작이 수행될 수 있다. 또한, 아이디 코드는 호스트로부터 수신된 명령에 의해 초기 아이디 코드로 재변경될 수 있다.
도 6은 트레이닝 동작을 예시적으로 보여주는 도면이다. 도 6을 참조하면, 하나의 채널을 통해 4개의 데이터 신호들(DQ1~DQ4)이 전송되는 것으로 가정한다. 하지만, 하나의 채널을 통해 전송되는 데이터 신호들의 개수는 이것에 제한되지 않는다.
트레이닝 동작 전에, 제 1 내지 제 4 데이터 신호들(DQ1~DQ4)은 서로 다른 시점에 시작된다. 또한, 데이터 스트로브 신호(DQS)의 상승 에지는 제 1 내지 제 4 데이터 신호들(DQ1~DQ4) 각각의 중심과 일치하지 않는다. 따라서, 이때 트레이닝 동작은 필요하다.
트레이닝 동작 시, 먼저 제 1 내지 제 4 데이터 신호들(DQ1~DQ4)의 시작 시점이 제 1 데이터 신호(DQ1)의 시작 시점, 즉, 제 1 시점(t1)과 일치하도록 조정될 수 있다. 다음으로, 제 1 내지 제 4 데이터 신호들(DQ1~DQ4) 각각의 중심이 데이터 스트로브 신호(DQS)의 상승 엣지(제 5 시점(t5))와 일치하도록, 제 1 내지 제 4 데이터 신호들(DQ1~DQ4)의 시작 시점은 제 2 시점(t2)으로 조정될 수 있다.
트레이닝 동작은 제 1 내지 제 4 데이터 신호들(DQ1~DQ4) 각각의 중심을 탐색하는 동작을 수행할 수 있다. 이러한 트레이닝 동작은 루티드 트레이닝 및 미러 트레이닝을 포함할 수 있다. 이하에서, 도 7은 루티드 트레이닝을 설명하고, 도 8은 미러 트레이닝을 설명한다.
도 7은 본 발명의 실시 예에 따른 루티드 트레이닝을 보여주는 도면이다. 도 7을 참조하면, 루티트 트레이닝 시, 컨트롤러(110)는 컨트롤러(110)에 의해 생성된 루티드 트레이닝 코드에 기초하여 데이터 신호(DQ)의 모든 구간을 탐색할 수 있다. 예를 들면, 루티드 트레이닝 코드는 트레이닝 범위 내의 모든 트레이닝 코드들을 포함할 수 있다. 예시적으로 5비트의 트레이닝 코드가 사용되면, 루티드 트레이닝 시, 컨트롤러(110)는 최하위 값(00000)부터 최상위 값(11111)까지 루티드 트레이닝 코드를 생성할 수 있다. 이러한 탐색 결과에 기초하여, 컨트롤러(110)는 데이터 신호(DQ)의 중심을 찾을 수 있다. 다만, 루티드 트레이닝은 데이터 신호(DQ)의 중심을 확실히 찾을 수 있지만, 모든 트레이닝 코드들에 대하여 검사를 수행하기 때문에 많은 시간이 소요된다.
도 8은 본 발명의 실시 예에 따른 미러 트레이닝을 보여주는 도면이다. 도 8을 참조하면, 미러 트레이닝 시, 컨트롤러(110)는 불휘발성 메모리 장치(120)에 저장된 동적 트레이닝 코드를 읽어올 수 있다. 예를 들면, 동적 트레이닝 코드는 이전 트레이닝 동작의 결과에 따른 데이터 신호(DQ)의 중심 정보를 포함할 수 있다. 컨트롤러(110)는 동적 트레이닝 코드를 중심으로 특정 거리(예를 들면, 트레이닝 데이터(TD)의 절반 크기)에서 데이터 신호(DQ)를 탐색할 수 있다. 탐색 결과에 따라, 컨트롤러(110)는 동적 트레이닝 코드로부터 특정 간격만큼 탐색 위치를 변경하여 트레이닝 동작을 반복적으로 수행할 수 있다. 컨트롤러(110)는 이러한 미러 트레이닝을 통해 데이터 신호(DQ)의 중심을 찾을 수 있다. 미러 트레이닝은 루티드 트레이닝보다 적은 수의 탐색 동작을 수행하기 때문에, 미러 트레이닝을 수행하는 시간은 루티드 트레이닝을 수행하는 시간보다 단축된다.
도 9는 본 발명의 실시 예에 따른 트레이닝 동작 방법을 보여주는 순서도이다. 도 9를 참조하면, 메모리 시스템(100)은 불휘발성 메모리 장치(120)에 저장된 아이디 코드에 기초하여 선택적으로 트레이닝 동작을 수행할 수 있다.
S110 단계에서, 메모리 시스템(100)은 불휘발성 메모리 장치(120)에 전원을 공급할 수 있다. 예를 들면, 불휘발성 메모리 장치(120)에 전원 공급 시, 트레이닝 동작은 수행될 수 있다. 또는, 트레이닝 동작은 메모리 시스템(100)의 동작 중에 주기적으로 수행될 수 있다.
S120 단계에서, 컨트롤러(110)는 불휘발성 메모리 장치(120)의 장치 정보 영역으로부터 트레이닝 정보를 읽어올 수 있다. 예를 들면, 트레이닝 정보는 불휘발성 메모리 장치(120)의 장치 정보 영역에 저장될 수 있다. 불휘발성 메모리 장치(120)의 장치 정보 영역은 메모리 시스템(100)의 동작에 필요한 데이터 및 불휘발성 메모리 장치(120)의 내부 구성 설정 데이터 등을 저장하는 영역으로서 호스트가 액세스할 수 없는 영역이다. 트레이닝 정보는 아이디 코드 및 동적 트레이닝 코드를 포함할 수 있다.
S130 단계에서, 컨트롤러(110)는 아이디 코드가 초기 아이디 코드인지 여부를 판별할 수 있다. 예를 들면, 아이디 코드가 초기 아이디 코드인 경우, 트레이닝 관리 유닛(113)은 루티드 트레이닝을 수행할 수 있다(S140 단계로 이동). 아이디 코드가 후기 아이디 코드인 경우, 트레이닝 관리 유닛(113)은 미러 트레이닝을 수행할 수 있다(S150 단계로 이동).
S140 단계에서, 컨트롤러(110)는 루티드 트레이닝을 수행할 수 있다. 예를 들면, 컨트롤러(110)는 모든 트레이닝 코드들을 포함하는 루티드 트레이닝 코드를 생성할 수 있다. 아이디 코드가 초기 아이디 코드인 경우, 컨트롤러(110)는 루티드 트레이닝 코드를 이용하여 데이터 신호(DQ)의 모든 구간에 걸쳐 루티드 트레이닝을 수행할 수 있다.
S150 단계에서, 컨트롤러(110)는 불휘발성 메모리 장치(120)의 장치 정보 영역에 저장된 동적 트레이닝 코드에 기초하여 미러 트레이닝을 수행할 수 있다. 예를 들면, 컨트롤러(110)는 S120 단계에서 읽은 트레이닝 정보에 포함된 동적 트레이닝 코드를 이용하여 미러 트레이닝을 수행할 수 있다.
S160 단계에서, 컨트롤러(110)는 트레이닝 정보를 업데이트할 수 있다. 예를 들면, 트레이닝 관리 유닛(113)은 루티드 트레이닝 및 미러 트레이닝을 수행한 후 새로운 동적 트레이닝 코드를 불휘발성 메모리 장치(120)의 장치 정보 영역에 저장할 수 있다. 또한, 트레이닝 관리 유닛(113)은 루티드 트레이닝을 수행한 후에 후기 아이디 코드를 불휘발성 메모리 장치(120)의 장치 정보 영역에 저장할 수 있다. 다만, 트레이닝 관리 유닛(113)은 호스트로부터 수신된 명령에 의해 아이디 코드를 초기 아이디 코드로 재변경할 수 있다.
본 발명의 실시 예에 따른 메모리 시스템(100)은 트레이닝 정보를 불휘발성 메모리 장치(120)의 장치 정보 영역에 저장할 수 있다. 메모리 시스템(100)은 트레이닝 정보에 따라 루티드 트레이닝 또는 미러 트레이닝을 선택적으로 수행할 수 있다. 메모리 시스템(100)은 루티드 트레이닝을 통하여 신뢰성을 확보할 수 있다. 다만, 루티드 트레이닝이 매번 수행되면, 메모리 시스템(100)의 동작 속도는 감소하게 된다. 따라서, 메모리 시스템(100)은 루티드 트레이닝 및 미러 트레이닝을 병행하여 트레이닝 동작을 수행하는 시간을 감축할 수 있다.
도 10은 본 발명의 다른 실시 예에 따른 메모리 시스템을 보여주는 블록도이다. 도 10을 참조하면, 메모리 시스템(200)은 컨트롤러(210), 불휘발성 메모리 장치(220) 및 동적 랜덤 액세스 메모리(230)를 포함할 수 있다. 컨트롤러(210)와 불휘발성 메모리 장치(220)는 채널을 통해 복수의 데이터 신호(DQ_N)들을 교환할 수 있다. 예를 들면, 하나의 채널은 복수의 전송 선로들을 포함할 수 있고, 각 전송 선로는 각 데이터 신호(DQ_N)를 전송할 수 있다. 메모리 시스템(200)은 데이터 신호(DQ_N)들의 신뢰성을 유지하기 위해 주기적으로 트레이닝 동작을 수행할 수 있다. 또한, 컨트롤러(210)와 동적 랜덤 액세스 메모리(230)는 채널을 통해 복수의 데이터 신호(DQ_B)들을 교환할 수 있다. 메모리 시스템(200)은 데이터 신호(DQ_B)들의 신뢰성을 유지하기 위해 주기적으로 디램 트레이닝 동작을 수행할 수 있다.
컨트롤러(210)는 중앙 처리 장치(211), 동작 메모리(212), 호스트 인터페이스(214), 불휘발성 메모리 인터페이스(215), 및 동적 랜덤 액세스 메모리 인터페이스(이하, 디램 인터페이스)를 포함할 수 있다. 하지만, 컨트롤러(210)의 구성 요소들이 언급된 구성 요소들에 국한되지 않음은 잘 이해될 것이다. 예를 들면, 컨트롤러(210)는 초기 부팅 동작에 필요한 코드 데이터를 저장하는 ROM, 손상된 데이터를 복구하는 에러 정정 유닛(ECC), SDRAM 등이 더 포함될 수 있다. 또한, 컨트롤러(210)는 도 1의 컨트롤러(110)와 동일 또는 유사한 구성을 가질 수 있다. 따라서, 중복되는 내용은 생략한다.
디램 인터페이스(216)는 프로세싱 유닛(111)의 제어에 응답해서 동적 랜덤 액세스 메모리(230)의 액세스 동작(예를 들면, 읽기/기록/소거 동작들)을 제어할 수 있다. 동적 랜덤 액세스 메모리(230)는 불휘발성 메모리 장치(220)와 호스트(Host) 사이에서 전달되는 데이터를 임시적으로 저장하는 기능을 수행할 수 있다. 예를 들면, 디램 인터페이스(216)는 동적 랜덤 액세스 메모리(230)와 복수의 데이터 신호(DQ_B)들 교환할 수 있다.
트레이닝 관리 유닛(213)은 디램 인터페이스(216) 및 동적 랜덤 액세스 메모리(230) 사이의 데이터 신호(DQ_B)들의 디램 트레이닝 동작을 관리할 수 있다. 예를 들면, 디램 트레이닝 동작은 디램 루티드 트레이닝(DRAM Rooted Training) 및 디램 미러 트레이닝(DRAM Mirror Training)을 포함할 수 있다. 디램 루티드 트레이닝은 데이터 신호(DQ_B)의 모든 구간을 탐색하여 최적의 타이밍 스큐(skew)를 찾을 수 있다. 디램 루티드 트레이닝은 데이터 신호(DQ_B)의 모든 구간을 탐색하므로 신뢰성을 확보할 수 있으나 시간이 오래 걸린다는 단점이 있다. 디램 루티드 트레이닝은 일명 전체 트레이닝(Full Training)으로 지칭될 수 있다. 반면에, 디램 미러 트레이닝은 미리 저장된 디램 트레이닝 정보를 이용하여 데이터 신호(DQ_B)의 특정 시점에 대하여 탐색할 수 있다. 따라서, 디램 미러 트레이닝은 트레이닝 시간을 단축할 수 있다. 트레이닝 관리 유닛(213)은 이전에 수행된 디램 트레이닝 동작을 통해 얻어진 디램 트레이닝 정보를 불휘발성 메모리 장치(120)에 저장할 수 있다. 따라서, 디램 트레이닝 정보가 저장되어 있는 경우, 컨트롤러(110)는 저장된 디램 트레이닝 정보를 이용하여 디램 트레이닝 동작을 신속하게 수행할 수 있다. 디램 루티드 트레이닝은 도 7에서 설명된 루티드 트레이닝과 유사한 방법으로 수행될 수 있다. 또한, 디램 미러 트레이닝은 도 8에서 설명된 미러 트레이닝과 유사한 방법으로 수행될 수 있다.
이때 디램 트레이닝 정보는 불휘발성 메모리 장치(220)의 장치 정보 영역(Device Information Area)에 저장될 수 있다. 불휘발성 메모리 장치(220)는 데이터 영역(Data Area) 및 장치 정보 영역(Device Information Area)을 포함할 수 있다. 데이터 영역은 호스트로부터 수신된 데이터를 저장하는 영역으로서 호스트가 액세스할 수 있는 영역이다. 장치 정보 영역은 메모리 시스템(200)의 동작에 필요한 데이터 및 불휘발성 메모리 장치(220)의 내부 구성 설정 데이터 등을 저장하는 영역으로서 호스트가 액세스할 수 없는 영역이다.
예시적으로, 메모리 시스템(200)이 디램 트레이닝 동작을 수행하는 경우, 트레이닝 관리 유닛(213)은 불휘발성 메모리 장치(220)에 저장된 디램 트레이닝 정보을 읽어올 수 있다. 디램 트레이닝 정보는 디램 아이디 코드(DRAM ID code) 및 디램 동적 트레이닝 코드(DRAM Dynamic Training code)를 포함할 수 있다. 디램 아이디 코드는 디램 루티드 트레이닝의 수행 여부를 결정할 수 있다. 디램 아이디 코드가 초기 디램 아이디 코드인 경우, 트레이닝 관리 유닛(213)은 디램 루티드 트레이닝을 수행할 수 있다. 디램 아이디 코드가 초기 디램 아이디 코드가 아닌 경우, 즉, 후기 디램 아이디 코드인 경우, 트레이닝 관리 유닛(213)은 디램 미러 트레이닝을 수행할 수 있다. 디램 미러 트레이닝 시, 트레이닝 관리 유닛(213)은 불휘발성 메모리 장치(220)에 저장된 디램 동적 트레이닝 코드를 이용하여 디램 트레이닝 동작을 수행할 수 있다. 따라서, 디램 미러 트레이닝은 디램 루티드 트레이닝보다 단시간에 수행될 수 있다. 또한, 트레이닝 관리 유닛(213)은 디램 루티드 트레이닝 및 디램 미러 트레이닝을 수행한 후 디램 동적 트레이닝 코드를 업데이트할 수 있다.
본 발명의 실시 예에 따른 메모리 시스템(200)은 디램 트레이닝 정보를 불휘발성 메모리 장치(220)의 장치 정보 영역에 저장할 수 있다. 메모리 시스템(200)은 디램 트레이닝 정보에 따라 디램 루티드 트레이닝 또는 디램 미러 트레이닝을 선택적으로 수행할 수 있다. 메모리 시스템(200)은 동적 랜덤 액세스 메모리(230)의 디램 트레이닝 정보를 이용하여 불휘발성 메모리 장치(220)뿐만 아니라 동적 랜덤 액세스 메모리(230)의 디램 트레이닝 동작도 신속하게 수행할 수 있다.
도 11은 본 발명의 다른 실시 예에 따른 불휘발성 메모리 장치의 장치 정보 영역을 보여주는 도면이다. 도 11을 참조하면, 동적 랜덤 액세스 메모리(230)의 디램 트레이닝 정보는 불휘발성 메모리 장치(220)의 장치 정보 영역에 저장될 수 있다. 장치 정보 영역은 메모리 시스템(200)의 동작에 필요한 데이터 및 불휘발성 메모리 장치(220)의 내부 구성 설정 데이터 등을 저장하는 영역으로서 호스트가 액세스할 수 없는 영역이다.
예를 들면, 디램 트레이닝 정보는 디램 아이디 코드 및 디램 동적 트레이닝 코드를 포함할 수 있다. 디램 아이디 코드는 디램 루티드 트레이닝의 수행 여부를 결정할 수 있다. 디램 아이디 코드가 초기 디램 아이디 코드인 경우, 컨트롤러(210)는 디램 루티드 트레이닝을 수행할 수 있다. 디램 아이디 코드가 후기 디램 아이디 코드인 경우, 컨트롤러(210)는 디램 미러 트레이닝을 수행할 수 있다. 디램 미러 트레이닝 시, 컨트롤러(210)는 불휘발성 메모리 장치(220)에 저장된 디램 동적 트레이닝 코드를 이용하여 디램 트레이닝 동작을 수행할 수 있다.
트레이닝 관리 유닛(213)은 디램 트레이닝 동작을 수행한 후 디램 동적 트레이닝 코드를 새로운 트레이닝 코드로 업데이트할 수 있다. 예를 들면, 트레이닝 관리 유닛(213)은 디램 루티드 트레이닝을 수행한 후에 디램 미러 트레이닝을 수행하는 디램 아이디 코드를 장치 정보 영역에 저장할 수 있다. 트레이닝 관리 유닛(213)은 디램 트레이닝 동작의 결과가 반영된 새로운 디램 동적 트레이닝 코드를 장치 정보 영역에 저장할 수 있다. 따라서, 다음 디램 트레이닝 동작 시, 컨트롤러(210)는 업데이트된 디램 동적 트레이닝 코드를 이용하여 동적 랜덤 액세스 메모리(230)의 디램 트레이닝 동작을 신속하게 수행할 수 있다.
도 12는 본 발명의 다른 실시 예에 따른 트레이닝 동작 방법을 보여주는 순서도이다. 도 12를 참조하면, 메모리 시스템(200)은 불휘발성 메모리 장치(220)에 저장된 디램 아이디 코드에 기초하여 동적 랜덤 액세스 메모리(230)의 트레이닝 동작을 선택적으로 수행할 수 있다.
S210 단계에서, 메모리 시스템(200)은 불휘발성 메모리 장치(220) 및 동적 랜덤 액세스 메모리(230)에 전원을 공급할 수 있다. 예를 들면, 메모리 시스템(200)에 전원 공급 시, 디램 트레이닝 동작은 수행될 수 있다. 또는, 디램 트레이닝 동작은 메모리 시스템(200)의 동작 중에 주기적으로 수행될 수 있다.
S220 단계에서, 컨트롤러(210)는 불휘발성 메모리 장치(220)의 장치 정보 영역으로부터 디램 트레이닝 정보를 읽어올 수 있다. 예를 들면, 디램 트레이닝 정보는 불휘발성 메모리 장치(220)의 장치 정보 영역에 저장될 수 있다. 불휘발성 메모리 장치(220)의 장치 정보 영역은 메모리 시스템(200)의 동작에 필요한 데이터 및 불휘발성 메모리 장치(220)의 내부 구성 설정 데이터 등을 저장하는 영역으로서 호스트가 액세스할 수 없는 영역이다. 디램 트레이닝 정보는 디램 아이디 코드 및 디램 동적 트레이닝 코드를 포함할 수 있다.
S230 단계에서, 컨트롤러(210)는 디램 아이디 코드가 초기 디램 아이디 코드인지 여부를 판별할 수 있다. 예를 들면, 디램 아이디 코드가 초기 디램 아이디 코드인 경우, 트레이닝 관리 유닛(213)은 디램 루티드 트레이닝을 수행할 수 있다(S240 단계로 이동). 디램 아이디 코드가 초기 디램 아이디 코드가 아닌 경우, 즉, 후기 디램 아이디 코드인 경우, 트레이닝 관리 유닛(213)은 디램 미러 트레이닝을 수행할 수 있다(S250 단계로 이동).
S240 단계에서, 컨트롤러(210)는 디램 루티드 트레이닝을 수행할 수 있다. 예를 들면, 컨트롤러(210)는 디램 루티드 트레이닝 코드(디램 시작 트레이닝 코드)를 생성할 수 있다. 디램 아이디 코드가 초기 디램 아이디 코드인 경우, 컨트롤러(210)는 디램 루티드 트레이닝 코드(디램 시작 트레이닝 코드)를 이용하여 데이터 신호(DQ_B)의 모든 구간에 걸쳐 디램 루티드 트레이닝을 수행할 수 있다.
S250 단계에서, 컨트롤러(210)는 불휘발성 메모리 장치(220)의 장치 정보 영역에 저장된 디램 동적 트레이닝 코드에 기초하여 디램 미러 트레이닝을 수행할 수 있다. 예를 들면, 컨트롤러(210)는 S220 단계에서 읽은 디램 트레이닝 정보에 포함된 디램 동적 트레이닝 코드를 이용하여 디램 미러 트레이닝을 수행할 수 있다.
S260 단계에서, 트레이닝 관리 유닛(213)은 디램 트레이닝 정보를 업데이트할 수 있다. 예를 들면, 트레이닝 관리 유닛(213)은 디램 루티드 트레이닝 및 디램 미러 트레이닝을 수행한 후 새로운 디램 동적 트레이닝 코드를 불휘발성 메모리 장치(220)의 장치 정보 영역에 저장할 수 있다. 또한, 트레이닝 관리 유닛(213)은 디램 루티드 트레이닝을 수행한 후에 디램 미러 트레이닝을 수행하는 아이디 코드를 불휘발성 메모리 장치(220)의 장치 정보 영역에 저장할 수 있다. 다만, 트레이닝 관리 유닛(213)은 호스트로부터 수신된 명령에 의해 디램 아이디 코드를 초기 디램 아이디 코드로 재변경할 수 있다.
본 발명의 실시 예에 따른 메모리 시스템(200)은 디램 트레이닝 정보를 불휘발성 메모리 장치(220)의 장치 정보 영역에 저장할 수 있다. 메모리 시스템(200)은 디램 트레이닝 정보에 따라 동적 랜덤 액세스 메모리(230)의 디램 루티드 트레이닝 또는 디램 미러 트레이닝을 선택적으로 수행할 수 있다.
도 13은 본 발명의 또 다른 실시 예에 따른 메모리 시스템을 보여주는 블록도이다. 도 13을 참조하면, 메모리 시스템(300)은 컨트롤러(310) 및 불휘발성 메모리 장치(320)를 포함할 수 있다. 메모리 시스템(300)의 구성들은 도 1 및 도 10의 메모리 시스템(100, 200)의 구성들과 동일 또는 유사할 수 있다. 따라서, 중복되는 구성들에 대한 설명은 생략한다.
불휘발성 메모리 장치(320)는 ZQ 관리 유닛(321_5)을 포함할 수 있다. 예를 들면, ZQ 관리 유닛(321_5)은 불휘발성 메모리 장치(320)의 ZQ 교정 동작(ZQ Calibration Operation)을 수행할 수 있다. 또한, ZQ 관리 유닛(321_5)은 불휘발성 메모리 장치(320)의 ZQ 교정 정보(ZQ Calibration Information)를 메모리 셀 어레이(321_1)의 장치 정보 영역에 저장할 수 있다. 따라서, ZQ 관리 유닛(321_5)은 ZQ 교정 동작 시 장치 정보 영역에 저장된 ZQ 교정 정보를 이용하여 ZQ 교정 동작을 신속하게 수행할 수 있다.
도 14는 도 13의 트레이닝 관리 유닛을 예시적으로 보여주는 블록도이다. 도 14를 참조하면, ZQ 관리 유닛(321_5)은 교정 코드 레지스터(321_51), 아이디 코드 레지스터(321_52), 멀티플렉서(321_53), 교정 제어 회로(321_54), 및 교정 코드 업데이트 회로(321_55)를 포함할 수 있다.
교정 제어 회로(321_54)는 멀티플렉서(321_53)로부터 수신되는 코드 데이터에 기초하여 ZQ 교정 동작을 수행할 수 있다. 예를 들면, ZQ 관리 유닛(321_5)은 ZQ 교정 동작 시 불휘발성 메모리 장치(320)의 장치 정보 영역으로부터 ZQ 아이디 코드를 읽어서 아이디 코드 레지스터(321_52)에 저장할 수 있다. 또한, ZQ 관리 유닛(321_5)은 ZQ 교정 동작 시 불휘발성 메모리 장치(320)의 장치 정보 영역으로부터 ZQ 동적 트레이닝 코드를 읽어서 교정 코드 레지스터(321_51)에 저장할 수 있다.
ZQ 아이디 코드가 초기 ZQ 아이디 코드인 경우, 멀티플렉서(321_53)는 컨트롤러(110)에 의해 생성된 초기 교정 코드(Initial Calibration Code)를 출력할 수 있다. 교정 제어 회로(321_54)는 초기 교정 코드에 따라 ZQ 교정 동작을 수행할 수 있다.
ZQ 아이디 코드가 초기 ZQ 아이디 코드가 아닌 경우, 멀티플렉서(321_53)는 교정 코드 레지스터(321_51)에 저장된 ZQ 동적 교정 코드를 출력할 수 있다. 교정 제어 회로(321_54)는 ZQ 동적 교정 코드에 따라 ZQ 교정 동작을 수행할 수 있다.
ZQ 교정 동작이 완료된 후, 교정 제어 회로(321_54)는 ZQ 교정 동작의 결과를 교정 코드 업데이트 회로(321_55)로 전달할 수 있다. 교정 코드 업데이트 회로(321_55)는 ZQ 교정 동작의 결과에 기초하여 새로운 ZQ 동적 교정 코드를 불휘발성 메모리 장치(320)의 장치 정보 영역에 ZQ 동적 교정 코드로서 저장할 수 있다. 또한, 교정 코드 업데이트 회로(321_55)는 초기 교정 코드에 따른 ZQ 교정 동작을 수행한 후에 변경된 ZQ 아이디 코드를 불휘발성 메모리 장치(320)의 장치 정보 영역에 저장할 수 있다. 따라서, 초기 교정 코드에 따른 ZQ 교정 동작을 수행한 다음의 ZQ 교정 동작 시, 업데이트된 ZQ 동적 교정 코드에 따른 ZQ 교정 동작이 수행될 수 있다. 또한, 변경된 ZQ 아이디 코드는 호스트로부터 수신된 명령에 의해 초기 ZQ 아이디 코드로 재변경될 수 있다.
도 15는 본 발명의 또 다른 실시 예에 따른 불휘발성 메모리 장치의 장치 정보 영역을 보여주는 도면이다. 도 15를 참조하면, 불휘발성 메모리 장치의 장치 정보 영역에는 불휘발성 메모리 장치의 트레이닝 정보, 디램 트레이닝 정보 및 ZQ 교정 정보가 저장될 수 있다. 따라서, 메모리 시스템은 불휘발성 메모리 장치의 장치 정보 영역에 저장된 정보를 이용하여 불휘발성 메모리 장치의 트레이닝 동작, 동적 랜덤 액세스 메모리의 트레이닝 동작 및 ZQ 교정 동작을 신속하게 수행할 수 있다.
도 16은 본 발명에 따른 메모리 시스템을 간략히 보여주는 블록도이다. 도 16을 참조하면, 본 발명에 따른 메모리 시스템(1000)은 메모리 컨트롤러(1100) 및 불휘발성 메모리 장치(1200)를 포함할 수 있다.
메모리 컨트롤러(1100)는 불휘발성 메모리 장치(1200)를 제어하도록 구성될 것이다. 불휘발성 메모리 장치(1200)와 메모리 컨트롤러(1100)의 결합에 의해 메모리 카드 또는 반도체 디스크 장치(Solid State Disk: SSD)로 제공될 수 있을 것이다. SRAM(1120)은 중앙 처리 장치(1110)의 동작 메모리로 사용될 수 있다. 호스트 인터페이스(1140)는 메모리 시스템(1000)과 접속되는 호스트의 데이터 교환 프로토콜을 구비할 수 있다. 메모리 인터페이스(1150)는 불휘발성 메모리 장치(1200)와 인터페이싱 할 수 있다. 메모리 인터페이스(1150)는 불휘발성 메모리 장치(1200)와 복수의 채널을 통해 연결될 수 있다. 에러 정정 블록(1160)은 불휘발성 메모리 장치(1200)로부터 독출된 데이터에 포함되는 에러를 검출 및 정정할 수 있다. 중앙 처리 장치(1110)는 메모리 컨트롤러(1100)의 데이터 교환을 위한 제반 제어 동작을 수행할 수 있다. 비록 도면에는 도시되지 않았지만, 본 발명에 따른 메모리 시스템(1000)은 호스트(Host)와의 인터페이싱을 위한 코드 데이터를 저장하는 ROM(미도시됨) 등이 더 제공될 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다.
트레이닝 관리 유닛(1130)은 도 1 내지 도 12에서 설명된 트레이닝 관리 유닛과 동일 또는 유사할 수 있다. 트레이닝 관리 유닛(1130)은 트레이닝 정보를 불휘발성 메모리 장치(1200)의 장치 정보 영역에 저장할 수 있다. 트레이닝 관리 유닛(1130)은 트레이닝 정보에 따라 루티드 트레이닝 또는 미러 트레이닝을 선택적으로 수행할 수 있다. 따라서, 트레이닝 관리 유닛(1130)은 루티드 트레이닝 및 미러 트레이닝을 병행하여 트레이닝 동작 시간을 감축할 수 있다. 또한, 트레이닝 관리 유닛(1130)은 복수의 채널들 각각에 대하여 트레이닝 동작을 수행할 수 있다.
불휘발성 메모리 장치(1200)는 도 13 내지 도 15에서 설명된 ZQ 교정 동작을 수행할 수 있다. 예를 들면, 불휘발성 메모리 장치(1200)는 장치 정보 영역에 ZQ 교정 정보를 저장하고, 저장된 ZQ 교정 정보에 기초하여 ZQ 교정 동작을 수행할 수 있다. 불휘발성 메모리 장치(1200)는 복수의 플래시 메모리 칩들로 구성되는 멀티-칩 패키지로 제공될 수도 있다. 이상의 본 발명의 메모리 시스템(1000)은 에러의 발생 확률이 낮은 높은 신뢰도의 저장 매체로 제공될 수 있다. 특히, 최근 활발히 연구되고 있는 반도체 디스크 장치(Solid State Disk: 이하 SSD)와 같은 메모리 시스템에서 플래시 메모리 장치가 구비될 수 있다. 이 경우, 메모리 컨트롤러(1100)는 USB, MMC, PCI-E, SAS, SATA, PATA, SCSI, ESDI, 그리고 IDE 등과 같은 다양한 인터페이스 프로토콜들 중 하나를 통해 외부(예를 들면, 호스트)와 통신하도록 구성될 것이다. 또한, 메모리 컨트롤러(1100)에는 랜덤 연산을 수행하기 위한 구성이 더 포함될 수 있다.
도 17은 본 발명의 실시 예에 따른 SSD를 보여주는 블록도이다. 도 17을 참조하면, SSD 시스템(2000)은 호스트(2100)와 SSD(2200)를 포함할 수 있다. SSD(2200)는 SSD 컨트롤러(2210), 불휘발성 메모리 장치(2220) 및 버퍼 메모리(2230)를 포함할 수 있다.
SSD 컨트롤러(2210)는 호스트(2100)와 SSD(2200)와의 물리적 연결을 제공할 수 있다. 즉, SSD 컨트롤러(2210)는 호스트(2100)의 버스 포맷(Bus format)에 대응하여 SSD(2200)와의 인터페이싱을 제공할 수 있다. 특히, SSD 컨트롤러(2210)는 호스트(2100)로부터 제공되는 명령어를 디코딩할 수 있다. 디코딩된 결과에 따라, SSD 컨트롤러(2210)는 불휘발성 메모리 장치(2220)를 액세스할 수 있다. 호스트(2100)의 버스 포맷(Bus format)으로 USB(Universal Serial Bus), SCSI(Small Computer System Interface), PCI express, ATA, PATA(Parallel ATA), SATA(Serial ATA), SAS(Serial Attached SCSI) 등이 포함될 수 있다.
트레이닝 관리 유닛(2211)은 도 1 내지 도 12에서 설명된 트레이닝 관리 유닛과 동일 또는 유사할 수 있다. 트레이닝 관리 유닛(2211)은 트레이닝 정보를 불휘발성 메모리 장치(2220)의 장치 정보 영역에 저장할 수 있다. 트레이닝 관리 유닛(2211)은 트레이닝 정보에 따라 루티드 트레이닝 또는 미러 트레이닝을 선택적으로 수행할 수 있다. 따라서, 트레이닝 관리 유닛(2211)은 루티드 트레이닝 및 미러 트레이닝을 병행하여 트레이닝 동작 시간을 감축할 수 있다. 또한, 트레이닝 관리 유닛(2211)은 복수의 채널들 각각에 대하여 트레이닝 동작을 수행할 수 있다. 트레이닝 관리 유닛(2211)는 불휘발성 메모리 장치(2220) 및 버퍼 메모리(2230)의 트레이닝 동작을 수행할 수 있다.
불휘발성 메모리 장치(2220)는 도 13 내지 도 15에서 설명된 ZQ 교정 동작을 수행할 수 있다. 예를 들면, 불휘발성 메모리 장치(2220)는 장치 정보 영역에 ZQ 교정 정보를 저장하고, 저장된 ZQ 교정 정보에 기초하여 ZQ 교정 동작을 수행할 수 있다. 불휘발성 메모리 장치(2220)는 SSD(2200)의 저장 매체로서 제공될 수 있다. 예를 들면, 불휘발성 메모리 장치(2220)는 대용량의 저장 능력을 가지는 낸드 플래시 메모리(NAND-type Flash memory)로 제공될 수 있다. 불휘발성 메모리 장치(2220)는 복수의 메모리 장치로 구성될 수 있다. 이 경우, 각각의 메모리 장치들은 채널 단위로 SSD 컨트롤러(2210)와 연결될 수 있다. 저장 매체로서 불휘발성 메모리 장치(2220)가 낸드 플래시 메모리를 예로 들어 설명되었으나, 또 다른 불 휘발성 메모리 장치들로 구성될 수 있다. 예를 들면, 저장 매체로서 PRAM, MRAM, ReRAM, FRAM, NOR 플래시 메모리 등이 사용될 수 있으며, 이종의 메모리 장치들이 혼용되는 메모리 시스템도 적용될 수 있다. 그리고 저장 매체로서 휘발성 메모리 장치(예를 들면, DRAM)이 포함될 수도 있다.
버퍼 메모리(2230)에는 호스트(2100)로부터 제공되는 쓰기 데이터 또는 불휘발성 메모리 장치(2220)로부터 읽혀진 데이터가 일시 저장될 수 있다. 호스트(2100)의 읽기 요청 시에 불휘발성 메모리 장치(2220)에 존재하는 데이터가 캐시되어 있는 경우에는, 버퍼 메모리(2230)는 캐시된 데이터를 직접 호스트(2100)로 제공하는 캐시 기능을 지원할 수 있다. 일반적으로, 호스트(2100)의 버스 포맷(예를 들면, SATA 또는 SAS)에 의한 데이터 전송 속도는 SSD(2200)의 메모리 채널의 전송 속도보다 월등히 빠르다. 즉, 호스트(2100)의 인터페이스 속도가 월등히 높은 경우, 대용량의 버퍼 메모리(2230)를 제공함으로써 속도 차이로 발생하는 퍼포먼스 저하를 최소화할 수 있다.
버퍼 메모리(2230)는 대용량의 보조 기억 장치로 사용되는 SSD(2200)에서 충분한 버퍼링을 제공하기 위해 동기식 DRAM(Synchronous DRAM)으로 제공될 수 있다. 하지만, 버퍼 메모리(2230)가 여기의 개시에 국한되지 않음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다.
도 18은 본 발명의 또 다른 실시 예에 따른 컴퓨팅 시스템을 예시적으로 보여주는 블록도이다. 도 18을 참조하면, 본 발명에 따른 컴퓨팅 시스템(3000)은 시스템 버스(3300)에 전기적으로 연결된 불 휘발성 저장 장치(3100), 중앙 처리 장치(3400), 사용자 인터페이스(3500), 베이스밴드 칩셋(Baseband chipset)과 같은 모뎀(3200)을 포함할 수 있다. 불휘발성 저장 장치(3100)의 구성은 도 1에 도시된 메모리 시스템(100)과 실질적으로 동일하다.
본 발명에 따른 컴퓨팅 시스템(3000)이 모바일 장치인 경우, 컴퓨팅 시스템(3000)의 동작 전압을 공급하기 위한 배터리(3600)가 추가적으로 제공될 수 있다. 비록 도면에는 도시되지 않았지만, 본 발명에 따른 컴퓨팅 시스템(3000)에는 응용 칩셋(Application chipset), 카메라 이미지 프로세서(Camera Image Processor: CIS), 모바일 디램 등이 더 제공될 수 있다.
불휘발성 저장 장치(3100)는 도 1 내지 도 15에서 설명된 트레이닝 관리 유닛 및 ZQ 교정 유닛을 포함할 수 있다. 불휘발성 저장 장치(3100)는 트레이닝 정보를 플래시 메모리(3120)의 장치 정보 영역에 저장할 수 있다. 불휘발성 저장 장치(3100)는 트레이닝 정보에 따라 루티드 트레이닝 또는 미러 트레이닝을 선택적으로 수행할 수 있다. 따라서, 불휘발성 저장 장치(3100)는 루티드 트레이닝 및 미러 트레이닝을 병행하여 트레이닝 동작 시간을 감축할 수 있다. 또한, 플래시 메모리(3120)는 장치 정보 영역에 ZQ 교정 정보를 저장하고, 저장된 ZQ 교정 정보에 기초하여 ZQ 교정 동작을 수행할 수 있다.
본 발명에 따른 불 휘발성 메모리 장치 그리고/또는 메모리 컨트롤러는 다양한 형태들의 패키지를 이용하여 실장될 수 있다. 예를 들면, 본 발명에 따른 불 휘발성 메모리 장치 그리고/또는 메모리 컨트롤러는 PoP(Package on Package), Ball grid arrays(BGAs), Chip scale packages(CSPs), Plastic Leaded Chip Carrier(PLCC), Plastic Dual In-Line Package(PDIP), Die in Waffle Pack, Die in Wafer Form, Chip On Board(COB), Ceramic Dual In-Line Package(CERDIP), Plastic Metric Quad Flat Pack(MQFP), Thin Quad Flatpack(TQFP), Small Outline(SOIC), Shrink Small Outline Package(SSOP), Thin Small Outline(TSOP), System In Package(SIP), Multi Chip Package(MCP), Wafer-level Fabricated Package(WFP), Wafer-Level Processed Stack Package(WSP), 등과 같은 패키지들을 이용하여 실장 될 수 있다.
위에서 설명한 내용은 본 발명을 실시하기 위한 구체적인 예들이다. 본 발명에는 위에서 설명한 실시 예들뿐만 아니라, 단순하게 설계 변경하거나 용이하게 변경할 수 있는 실시 예들도 포함될 것이다. 또한, 본 발명에는 위에서 설명한 실시 예들을 이용하여 앞으로 용이하게 변형하여 실시할 수 있는 기술들도 포함될 것이다.
100, 200, 300, 1000: 메모리 시스템
110, 210, 310: 컨트롤러
111: 중앙 처리 장치
112: 동작 메모리
113: 트레이닝 관리 유닛
114: 호스트 인터페이스
115: 불휘발성 메모리 인터페이스
120, 220, 320: 불휘발성 메모리 장치
216: 디램 인터페이스
230: 동적 랜덤 메모리 장치
2000: SSD 시스템
3000: 컴퓨팅 시스템

Claims (10)

  1. 데이터 영역 및 호스트가 액세스할 수 없는 장치 정보 영역을 포함하는 불휘발성 메모리 장치; 그리고
    상기 불휘발성 메모리 장치와 송수신하는 데이터 신호에 대한 트레이닝 동작을 수행하는 경우 상기 장치 정보 영역에 저장된 트레이닝 정보에 기초하여 상기 트레이닝 동작을 수행하는 컨트롤러를 포함하되,
    상기 컨트롤러는 상기 트레이닝 정보의 아이디 코드에 기초하여 제 1 및 제 2 트레이닝 동작들 중 하나를 선택하고,
    상기 제 1 트레이닝 동작은 상기 컨트롤러에 의해 생성된 루티드 트레이닝 코드에 기초하여 수행되고,
    상기 제 2 트레이닝 동작은 상기 트레이닝 정보의 동적 트레이닝 코드에 기초하여 수행되며, 상기 제 1 트레이닝 동작보다 더 적은 탐색 횟수를 이용하는 메모리 시스템.
  2. 제 1 항에 있어서,
    상기 아이디 코드가 초기 아이디 코드인 경우, 상기 컨트롤러는 상기 제 1 트레이닝 동작을 수행하는 메모리 시스템.
  3. 제 2 항에 있어서,
    상기 제 1 트레이닝 동작은 모든 트레이닝 코드들을 포함하는 상기 루티드 트레이닝 코드에 기초하여 상기 데이터 신호의 모든 구간을 검사하는 루티드 트레이닝 동작인 메모리 시스템.
  4. 제 1 항에 있어서,
    상기 아이디 코드가 초기 아이디 코드가 아닌 경우, 상기 컨트롤러는 상기 제 2 트레이닝 동작을 수행하는 메모리 시스템.
  5. 제 4 항에 있어서,
    상기 제 2 트레이닝 동작은 상기 데이터 신호의 일부 시점들만 검사하는 미러 트레이닝 동작인 메모리 시스템.
  6. 제 1 항에 있어서,
    상기 컨트롤러는 상기 제 1 및 제 2 트레이닝 동작 후에 상기 아이디 코드 및 상기 동적 트레이닝 코드를 업데이트하는 메모리 시스템.
  7. 제 1 항에 있어서,
    상기 컨트롤러는 상기 아이디 코드 및 상기 동적 트레이닝 코드를 관리하는 트레이닝 관리 유닛을 포함하며,
    상기 트레이닝 관리 유닛은,
    상기 아이디 코드를 임시 저장하는 아이디 코드 레지스터;
    상기 동적 트레이닝 코드를 임시 저장하는 트레이닝 코드 레지스터;
    상기 아이디 코드 레지스터의 데이터에 따라 상기 트레이닝 코드 레지스터의 데이터 및 상기 루티드 트레이닝 코드 중 하나를 출력하는 멀티플렉서;
    상기 멀티플렉서의 출력 값에 기초하여 상기 제 1 및 제 2 트레이닝 동작들 중 하나를 수행하는 트레이닝 지연 제어 회로; 그리고
    상기 트레이닝 지연 제어 회로의 트레이닝 동작의 결과 값에 기초하여 상기 아이디 코드 및 상기 동적 트레이닝 코드를 상기 장치 정보 영역에 업데이트하는 트레이닝 코드 업데이트 회로를 포함하는 메모리 시스템.
  8. 데이터 영역 및 호스트가 액세스할 수 없는 장치 정보 영역을 포함하는 불휘발성 메모리 장치;
    호스트로부터 수신된 데이터 또는 상기 불휘발성 메모리 장치로부터 독출된 데이터를 임시로 저장하는 동적 랜덤 액세스 메모리; 그리고
    상기 동적 랜덤 액세스 메모리와 송수신하는 데이터 신호에 대한 디램 트레이닝 동작을 수행하는 경우 상기 장치 정보 영역에 저장된 디램 트레이닝 정보에 기초하여 상기 디램 트레이닝 동작을 수행하는 컨트롤러를 포함하되,
    상기 컨트롤러는 상기 디램 트레이닝 정보의 디램 아이디 코드에 기초하여 제 1 및 제 2 디램 트레이닝 동작들 중 하나를 선택하고,
    상기 제 1 디램 트레이닝 동작은 상기 컨트롤러에 의해 생성된 루티드 디램 트레이닝 코드에 기초하여 수행되고,
    상기 제 2 디램 트레이닝 동작은 상기 디램 트레이닝 정보의 디램 동적 트레이닝 코드에 기초하여 수행되며, 상기 제 1 디램 트레이닝 동작보다 더 적은 탐색 횟수를 이용하는 메모리 시스템.
  9. 제 8 항에 있어서,
    상기 불휘발성 메모리 장치는 ZQ 교정 동작을 수행하는 ZQ 관리 유닛을 포함하고,
    상기 ZQ 관리 유닛은 상기 장치 정보 영역에 저장된 ZQ 교정 정보에 기초하여 상기 ZQ 교정 동작을 수행하는 메모리 시스템.
  10. 제 9 항에 있어서,
    상기 ZQ 교정 정보의 ZQ 아이디 코드가 초기 ZQ 아이디 코드인 경우, 상기 ZQ 관리 유닛은 상기 컨트롤러에 의해 생성된 시작 교정 코드에 기초하여 상기 ZQ 교정 동작을 수행하고, 그리고
    상기 ZQ 교정 정보의 ZQ 아이디 코드가 초기 ZQ 아이디 코드가 아닌 경우, 상기 ZQ 관리 유닛은 상기 ZQ 교정 정보의 동적 교정 코드에 기초하여 상기 ZQ 교정 동작을 수행하는 메모리 시스템.
KR1020170005850A 2017-01-13 2017-01-13 트레이닝 동작을 수행하는 메모리 시스템 KR20180083975A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020170005850A KR20180083975A (ko) 2017-01-13 2017-01-13 트레이닝 동작을 수행하는 메모리 시스템
US15/825,504 US10262708B2 (en) 2017-01-13 2017-11-29 Memory system performing training operation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170005850A KR20180083975A (ko) 2017-01-13 2017-01-13 트레이닝 동작을 수행하는 메모리 시스템

Publications (1)

Publication Number Publication Date
KR20180083975A true KR20180083975A (ko) 2018-07-24

Family

ID=62841599

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170005850A KR20180083975A (ko) 2017-01-13 2017-01-13 트레이닝 동작을 수행하는 메모리 시스템

Country Status (2)

Country Link
US (1) US10262708B2 (ko)
KR (1) KR20180083975A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11579966B1 (en) 2021-08-05 2023-02-14 SK Hynix Inc. Semiconductor system related to performing a training operation

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11636014B2 (en) 2017-10-31 2023-04-25 SK Hynix Inc. Memory system and data processing system including the same
KR20200088634A (ko) * 2019-01-15 2020-07-23 에스케이하이닉스 주식회사 메모리 시스템, 데이터 처리 시스템 및 데이터 처리 시스템의 동작방법
JP2020047340A (ja) * 2018-09-19 2020-03-26 キオクシア株式会社 不揮発性メモリ及びメモリシステム
JP7331119B2 (ja) * 2019-04-15 2023-08-22 長江存儲科技有限責任公司 複数の機能性チップを伴う三次元nandメモリデバイスの集積
KR20210113644A (ko) * 2019-04-30 2021-09-16 양쯔 메모리 테크놀로지스 씨오., 엘티디. 접합된 통합형 반도체 칩과 그 제조 및 작동 방법
KR20210026353A (ko) 2019-08-30 2021-03-10 삼성전자주식회사 메모리 장치 트레이닝 방법 및 이를 포함한 전자 기기 및 전자 시스템
KR20210136480A (ko) * 2020-05-07 2021-11-17 삼성전자주식회사 프로세싱 장치가 실장된 메모리 모듈을 포함하는 컴퓨팅 시스템의 부팅 방법
KR20220085237A (ko) * 2020-12-15 2022-06-22 삼성전자주식회사 스토리지 컨트롤러, 스토리지 장치 및 스토리지 장치의 동작 방법
US11550494B2 (en) * 2021-02-03 2023-01-10 Macronix International Co., Ltd. Method to support high reliability multiple times program non-volatile configuration setting
US11450368B1 (en) * 2021-03-12 2022-09-20 Micron Technology, Inc. Systems and methods for adaptive write training of three dimensional memory

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080276133A1 (en) * 2007-05-02 2008-11-06 Andrew Hadley Software-Controlled Dynamic DDR Calibration
KR101226685B1 (ko) 2007-11-08 2013-01-25 삼성전자주식회사 수직형 반도체 소자 및 그 제조 방법.
TW201013686A (en) * 2008-09-26 2010-04-01 Asustek Comp Inc Method of detecting memory training result applied to a computer system
US8683164B2 (en) 2009-02-04 2014-03-25 Micron Technology, Inc. Stacked-die memory systems and methods for training stacked-die memory systems
KR101691092B1 (ko) 2010-08-26 2016-12-30 삼성전자주식회사 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템
US8553466B2 (en) 2010-03-04 2013-10-08 Samsung Electronics Co., Ltd. Non-volatile memory device, erasing method thereof, and memory system including the same
US9536970B2 (en) 2010-03-26 2017-01-03 Samsung Electronics Co., Ltd. Three-dimensional semiconductor memory devices and methods of fabricating the same
KR101682666B1 (ko) 2010-08-11 2016-12-07 삼성전자주식회사 비휘발성 메모리 장치, 그것의 채널 부스팅 방법, 그것의 프로그램 방법 및 그것을 포함하는 메모리 시스템
US8519737B2 (en) 2011-07-01 2013-08-27 Apple Inc. Controller interface providing improved signal integrity
US20140032826A1 (en) 2012-07-25 2014-01-30 Samsung Electronics Co., Ltd. Method of training memory core and memory system
KR102089613B1 (ko) 2013-01-02 2020-03-16 삼성전자주식회사 불 휘발성 메모리 장치 및 그것을 포함한 메모리 시스템
US8941423B2 (en) * 2013-03-12 2015-01-27 Uniquify, Incorporated Method for operating a circuit including a timing calibration function
US20140317334A1 (en) 2013-04-22 2014-10-23 Lsi Corporation Storage of gate training parameters for devices utilizing random access memory
US9389876B2 (en) 2013-10-24 2016-07-12 International Business Machines Corporation Three-dimensional processing system having independent calibration and statistical collection layer
US9660647B2 (en) 2014-10-27 2017-05-23 Sk Hynix Memory Solutions Inc. Calibration device and memory system having the same
US10339991B2 (en) * 2016-05-16 2019-07-02 SK Hynix Inc. Memory system having optimal threshold voltage and operating method thereof

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11579966B1 (en) 2021-08-05 2023-02-14 SK Hynix Inc. Semiconductor system related to performing a training operation

Also Published As

Publication number Publication date
US20180204773A1 (en) 2018-07-19
US10262708B2 (en) 2019-04-16

Similar Documents

Publication Publication Date Title
US10262708B2 (en) Memory system performing training operation
US10649894B2 (en) Nonvolatile memory module and operation method thereof
US10725835B2 (en) System and method for speculative execution of commands using a controller memory buffer
US9824734B2 (en) Nonvolatile memory module having backup function
CN107045462B (zh) 存储装置
US8473811B2 (en) Multi-chip memory system and related data transfer method
US9601171B2 (en) Storage device including nonvolatile memory and memory controller and operating method of retiming circuit interfacing communication between nonvolatile memory and memory controller
US10528506B2 (en) Uniform performance monitor for a data storage device and method of operation
US9741454B2 (en) Semiconductor memory device and method of operating the same
US11114170B2 (en) Memory system
KR101984789B1 (ko) 반도체 메모리 장치
US9293211B2 (en) Semiconductor device and method of operating the same
US10283174B2 (en) Memory system initializing page buffers and operating method thereof
US20160011813A1 (en) Atomic Non-Volatile Memory Data Transfer
KR20160144560A (ko) 호스트에 의해 접근되는 오류 정보를 생성하는 불휘발성 메모리 모듈, 스토리지 장치, 및 전자 장치
US20170277454A1 (en) Memory device and operating method thereof
KR20160144564A (ko) 불휘발성 메모리 모듈 및 그것의 동작 방법
KR20190108788A (ko) 메모리 시스템 및 메모리 시스템의 동작방법
US10073741B2 (en) Memory system with reduced program time and method of operating the same
US20150121168A1 (en) Memory system including randomizer and de-randomizer
US11676643B2 (en) Memory device, storage device, and method of operating memory controller to output read data in response to read enable signal
KR20200042358A (ko) 메모리 장치 및 이의 동작 방법
KR20120131487A (ko) 플래시 메모리 장치 및 그것의 프로그램 방법
US9136000B2 (en) Semiconductor memory device and method of operating the same
KR102473197B1 (ko) 읽기 데이터를 전송 단위로 전송하는 불휘발성 메모리 모듈, 스토리지 장치, 및 전자 장치

Legal Events

Date Code Title Description
A201 Request for examination