KR20220019944A - 스토리지 장치 및 스토리지 장치의 동작 방법 - Google Patents

스토리지 장치 및 스토리지 장치의 동작 방법 Download PDF

Info

Publication number
KR20220019944A
KR20220019944A KR1020200100259A KR20200100259A KR20220019944A KR 20220019944 A KR20220019944 A KR 20220019944A KR 1020200100259 A KR1020200100259 A KR 1020200100259A KR 20200100259 A KR20200100259 A KR 20200100259A KR 20220019944 A KR20220019944 A KR 20220019944A
Authority
KR
South Korea
Prior art keywords
data signals
skew
data
memory device
storage controller
Prior art date
Application number
KR1020200100259A
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 KR1020200100259A priority Critical patent/KR20220019944A/ko
Priority to US17/201,761 priority patent/US11532366B2/en
Priority to EP21171041.3A priority patent/EP3955123B1/en
Priority to CN202110504878.9A priority patent/CN114078556A/zh
Publication of KR20220019944A publication Critical patent/KR20220019944A/ko

Links

Images

Classifications

    • 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • 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/32Timing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • 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
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew
    • 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4239Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with asynchronous protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4076Timing circuits
    • 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
    • G11C16/10Programming or data input circuits
    • 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/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • G11C5/145Applications of charge pumps; Boosted voltage circuits; Clamp circuits therefor
    • 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/1072Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for memories with random access ports synchronised on clock signal pulse trains, e.g. synchronous memories, self timed memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/12Bit line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, equalising circuits, for bit lines
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/08Word line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, for word lines
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03LAUTOMATIC CONTROL, STARTING, SYNCHRONISATION, OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
    • H03L7/00Automatic control of frequency or phase; Synchronisation
    • H03L7/06Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
    • H03L7/08Details of the phase-locked loop
    • H03L7/081Details of the phase-locked loop provided with an additional controlled phase shifter
    • H03L7/0812Details of the phase-locked loop provided with an additional controlled phase shifter and where no voltage or current controlled oscillator is used
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03LAUTOMATIC CONTROL, STARTING, SYNCHRONISATION, OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
    • H03L7/00Automatic control of frequency or phase; Synchronisation
    • H03L7/06Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
    • H03L7/08Details of the phase-locked loop
    • H03L7/085Details of the phase-locked loop concerning mainly the frequency- or phase-detection arrangement including the filtering or amplification of its output signal
    • H03L7/089Details of the phase-locked loop concerning mainly the frequency- or phase-detection arrangement including the filtering or amplification of its output signal the phase or frequency detector generating up-down pulses
    • H03L7/0891Details of the phase-locked loop concerning mainly the frequency- or phase-detection arrangement including the filtering or amplification of its output signal the phase or frequency detector generating up-down pulses the up-down pulses controlling source and sink current generators, e.g. a charge pump
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L25/00Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof
    • H01L25/03Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes
    • H01L25/04Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes the devices not having separate containers
    • H01L25/065Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes the devices not having separate containers the devices being of a type provided for in group H01L27/00
    • H01L25/0657Stacked arrangements of devices

Abstract

본 발명의 실시예들에 따른 스토리지 장치는 적어도 하나의 반도체 메모리 장치 및 스토리지 컨트롤러를 포함한다. 상기 적어도 하나의 반도체 메모리 장치는 데이터 스트로브 신호와 복수의 데이터 신호들에 의하여 기입 데이터를 수신하고, 상기 데이터 스트로브 신호와 상기 복수의 데이터 신호들을 사용하여 독출 데이터를 출력한다. 상기 스토리지 컨트롤러는 복수의 신호 라인들을 통하여 상기 데이터 스트로브 신호와 상기 데이터 신호들을 병렬로 상기 적어도 하나의 반도체 메모리 장치에 제공한다. 상기 스토리지 컨트롤러는 상기 데이터 신호들 중 적어도 일부의 에지들이 서로 다른 제1 스큐 오프셋들만큼 비동기되도록 상기 데이터 신호들을 지연시키는 제1 지연 회로를 포함한다.

Description

스토리지 장치 및 스토리지 장치의 동작 방법{STORAGE DEVICES AND METHODS OF OPERATING STORAGE DEVICES}
본 발명은 스토리지 분야에 관한 것으로, 보다 상세하게는 스토리지 장치 및 스토리지 장치의 동작 방법에 관한 것이다.
스토리지 장치는 컴퓨터, 스마트 폰, 스마트 패드 등과 같은 호스트 장치의 제어에 따라 데이터를 저장하는 장치이다. 스토리지 장치는 하드 디스크 드라이브(HDD, Hard Disk Drive)와 같이 자기 디스크에 데이터를 저장하는 장치, 솔리드 스테이트 드라이브(SSD, Solid State Drive), 메모리 카드 등과 같이 반도체 메모리, 특히 비휘발성 메모리에 데이터를 저장하는 장치를 포함한다.
비휘발성 메모리를 포함하는 스토리지 장치의 사용 분야는 개인용 컴퓨터로부터 데이터 서버와 같은 기업용 컴퓨터까지 확대되고 있다. 스토리지 장치의 사용 분야가 확대되면서, 각 분야에서 필요로 하는 스토리지 장치의 기능 및 폼 팩터가 다양해지고 있다. 또한 스토리지 장치는 다양한 호스트에 연결되어 고속으로 다량의 데이터를 호스트와 제공하는데, 이를 위하여 스토리지 장치의 스토리지 컨트롤러와 스토리지 사이에서 병렬 통신을 수행하여 데이터를 스토리지 컨트롤러에서 스토리지에 제공한다.
본 발명의 일 목적은 병렬로 데이터를 교환하는 스토리지 컨트롤러와 스토리지 사이에서 발생하는 크로스토크 노이즈를 감소시킬 수 있는 스토리지 장치를 제공하는 것이다.
본 발명의 일 목적은 병렬로 데이터를 교환하는 스토리지 컨트롤러와 스토리지 사이에서 발생하는 크로스토크 노이즈를 감소시킬 수 있는 스토리지 장치의 동작 방법을 제공하는 것이다.
상술한 본 발명의 일 목적을 달성하기 위하여, 본 발명의 실시예들에 따른 스토리지 장치는 적어도 하나의 반도체 메모리 장치 및 스토리지 컨트롤러를 포함한다. 상기 적어도 하나의 반도체 메모리 장치는 데이터 스트로브 신호와 복수의 데이터 신호들에 의하여 기입 데이터를 수신하고, 상기 데이터 스트로브 신호와 상기 복수의 데이터 신호들을 사용하여 독출 데이터를 출력한다. 상기 스토리지 컨트롤러는 복수의 신호 라인들을 통하여 상기 데이터 스트로브 신호와 상기 데이터 신호들을 병렬로 상기 적어도 하나의 반도체 메모리 장치에 제공한다. 상기 스토리지 컨트롤러는 상기 데이터 신호들 중 적어도 일부의 에지들이 서로 다른 제1 스큐 오프셋들만큼 비동기되도록 상기 데이터 신호들을 지연시키는 제1 지연 회로를 포함한다.
상술한 본 발명의 일 목적을 달성하기 위하여, 본 발명의 실시예들에 따른 적어도 하나의 반도체 메모리 장치 및 상기 적어도 하나의 반도체 메모리 장치를 제어하는 스토리지 컨트롤러를 포함하는 스토리지 장치의 동작 방법이 제공된다. 상기 방법에 따르면, 상기 스토리지 컨트롤러가 트레이닝 패턴들을 신호 라인들을 통하여 상기 적어도 하나의 반도체 메모리 장치에 전송하는 동안, 상기 신호 라인들 상의 상기 트레이닝 패턴들 사이에서 발생하는 크로스토크를 최소가 되게 하는 스큐 오프셋들을 탐색하는 트레이닝을 수행하고, 상기 스토리지 컨트롤러가 상기 트레이닝의 결과에 기초하여 상기 스큐 오프셋들을 스큐 정보로서 내부의 레지스터에 저장하고, 스토리지 컨트로러가 상기 스큐 정보를 적어도 하나의 반도체 메모리 장치에 전송하고, 상기 스토리지 컨트롤러의 제1 지연 회로가 상기 스큐 정보에 기초하여 데이터 신호들 중 적어도 일부의 윈도우들의 제1 에지들이 상기 제1 스큐 오프셋들만큼 비동기도되록 상기 데이터 신호들을 지연시키고, 상기 스토리지 컨트롤러가 상기 지연된 데이터 신호들과 상기 데이터 스토로브 신호를 상기 신호 라인들을 통하여 상기 적어도 하나의 반도체 메모리 장치에 전송하고, 상기 적어도 하나의 반도체 메모리 장치의 제2 지연 회로가 상기 스큐 정보에 기초하여 상기 제1 스큐 오프셋들을 상쇄시키는 제2 스큐 오프셋들로 상기 데이터 신호들을 지연시켜 원본 데이터 신호들을 제공한다.
상술한 본 발명의 일 목적을 달성하기 위하여, 본 발명의 실시예들에 따른 스토리지 장치는 적어도 하나의 비휘발성 메모리 장치 및 스토리지 컨트롤러를 포함한다. 상기 적어도 하나의 비휘발성 메모리 장치는 데이터 스트로브 신호와 복수의 데이터 신호들에 의하여 기입 데이터를 수신하고, 상기 데이터 스트로브 신호와 상기 복수의 데이터 신호들을 사용하여 독출 데이터를 출력한다. 상기 스토리지 컨트롤러는 복수의 신호 라인들을 통하여 상기 데이터 스트로브 신호와 상기 데이터 신호들을 병렬로 상기 적어도 하나의 비휘발성 메모리 장치에 제공한다. 상기 데이터 신호들 각각은 제1 에지와 제2 에지에 의하여 정의되는 윈도우를 가진다. 상기 스토리지 컨트롤러는 상기 데이터 신호들 중 적어도 일부의 윈도우들의 제1 에지들이 제1 스큐 오프셋들만큼 비동기되도록 상기 데이터 신호들을 지연시키는 제1 지연 회로를 포함한다. 상기 스토리지 컨트롤러는 상기 스큐 정보를 상기 적어도 하나의 비휘발성 메모리 장치에 전송한다. 상기 적어도 하나의 비휘발성 메모리 장치는 상기 스큐 정보를 수신하고, 상기 스큐 정보에 기초하여 상기 제1 스큐 오프셋들을 상쇄시키는 제2 스큐 오프셋들로 상기 데이터 신호들을 지연시켜 원본 데이터 신호들을 제공하는 제2 지연 회로를 포함한다.
본 발명의 실시예들에 따르면, 스토리지 컨트롤러가 지연 회로를 포함하여 신호 라인들을 통하여 반도체 메모리 장치에 전송되는 데이터 신호들의 적어도 일부가 스큐 오프셋들만큼 비동기되도록 상기 데이터 신호들을 지연시켜 반도체 메모리 장치에 전송한다. 반도체 메모리 장치는 스큐 정보를 수신하고 스큐 정보에 따라서 상기 스큐 오프셋들을 상쇄시켜 데이터 신호들을 정렬한다. 따라서, 신호 라인들 상의 데이터 신호들 사이에서 발생하는 크로스토크를 감소시켜 신호 무결성을 증가시키고 성능을 향상시킬 수 있다.
도 1은 본 발명의 실시예들에 따른 스토리지 시스템을 나타내는 블록도이다.
도 2는 본 발명의 실시예들에 따른 도 1의 호스트를 나타내는 블록도이다.
도 3은 본 발명의 실시예들에 따른 도 1의 스토리지 장치에서 스토리지 컨트롤러의 구성을 나타내는 블록도이다.
도 4는 본 발명의 실시예들에 따른 도 1의 스토리지 장치에서 스토리지 컨트롤러와 비휘발성 메모리 장치들 중 하나를 나타낸다.
도 5는 본 발명의 실시예들에 따른 도 4의 제1 지연 회로를 나타내는 블록도이다.
도 6은 본 발명의 실시예들에 따른 도 6의 전압제어 지연라인의 구성을 나타내는 블록도이다.
도 7은 본 발명의 실시예들에 따른 도 7의 단위 지연셀들 중 하나의 구성을 나타낸다.
도 8은 본 발명의 실시예들에 따른 도 3의 스토리지 컨트롤러에서 비휘발성 메모리 인터페이스와 비휘발성 메모리 장치의 연결 관계를 나타낸다.
도 9는 도 8에서 제1 레지스터를 나타낸다.
도 10은 도 8에서 제2 레지스터를 나타낸다.
도 11은 도 4의 스토리지 컨트롤러, 신호 라인들 및 비휘발성 메모리 장치에서 다른 위치들에서 데이터 신호들과 데이터 스트로브 신호를 나타낸다.
도 12는 본 발명의 실시예들에 따른 도 1의 스토리지 장치에서 비휘발성 메모리 장치들 중 하나를 나타내는 블록도이다.
도 13은 도 12의 비휘발성 메모리 장치에서 메모리 셀 어레이를 나타내는 블록도이다.
도 14는 도 13의 메모리 블록들 중 하나의 메모리 블록을 나타내는 회로도이다.
도 15 및 도 16은 본 발명의 실시예들에 따른 스토리지 장치가 실장될 수 있는 인쇄회로기판을 나타내는 평면도 및 단면도이다.
도 17 및 도 18은 본 발명의 실시예에 따른 스토리지 장치를 나타내는 평면도 및 단면도이다.
도 19는 본 발명의 실시예들에 따른 도 1의 스토리지 시스템에서 스토리지 장치의 예를 나타내는 블록도이다.
도 20은 본 발명의 실시예들에 따른 스토리지 장치의 동작 방법을 나타내는 흐름도이다.
도 21은 본 발명의 실시예들에 따른 스토리지 장치의 동작 방법을 나타내는 흐름도이다.
도 22 및 도 23은 본 발명의 실시예들에 따른 스토리지 장치의 동작을 설명하기 위한 도면들이다.
도 24는 도 1의 스토리지 장치에서 휘발성 메모리 장치와 도 3의 스토리지 컨트롤러에서 휘발성 메모리 인터페이스의 연결을 나타낸다.
도 25는 본 발명의 실시예들에 따른 스토리지 장치를 나타내는 블록도이다.
도 26은 본 발명의 실시예들에 따른 도 25의 스토리지 장치의 동작 방법을 나타내는 흐름도이다.
도 27은 본 발명의 실시예들에 따른 스토리지 시스템을 나타내는 블록도이다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 실시예들에 따른 스토리지 시스템을 나타내는 블록도이다.
도 1을 참조하면, 스토리지 시스템(10)은 호스트(100) 및 스토리지 장치(200)를 포함할 수 있다.
호스트(100)는 스토리지 인터페이스(140)를 포함한다. 도 1에서는 스토리지 장치(200)가 솔리드 스테이트 드라이브(Solid State Drive; SSD) 장치인 것으로 도시되나, 본 발명은 이에 한정되지 않으며, 스토리지 장치(200)는 데이터를 저장할 수 있는 임의의 종류의 저장 장치일 수 있다.
스토리지 장치(200)는 스토리지 컨트롤러(300), 복수의 비휘발성 메모리 장치들(400a~400k), 전력 공급 회로(500) 및 커넥터(240)를 포함할 수 있다. 커넥터(240)는 신호 커넥터(241) 및 전원 커넥터(243)를 포함할 수 있다. 스토리지 장치(200)는 휘발성 메모리 장치(250)를 더 포함할 수 있다.
복수의 비휘발성 메모리 장치들(400a~400k)은 스토리지 장치(200)의 저장 매체로서 사용된다. 비휘발성 메모리 장치들(400a~400k) 각각은 플래시 메모리 또는 수직형 낸드 메모리 장치로 구현될 수 있다. 스토리지 컨트롤러(300)는 복수의 채널 그룹들(CHG1~CHGk)을 통하여 비휘발성 메모리 장치들(400a~400k)과 각각 연결된다.
스토리지 컨트롤러(300)는 신호 커넥터(241)를 통해 호스트(100)로부터 수신 신호(RX)를 수신하고, 호스트(100)에 송신 신호(TX)를 전송하고, 호스트(100)와 클럭 신호(CLK)를 송수신할 수 있다. 수신 신호(RX)는 커맨드 신호, 어드레스 신호 및 데이터를 포함할 수 있고, 송신 신호(TX)는 데이터를 포함할 수 있다.
스토리지 컨트롤러(300)는 호스트(100)로부터 수신되는 커맨드 신호 및 어드레스 신호에 기초하여 비휘발성 메모리 장치들(400a~400k)에 데이터를 기입하거나 비휘발성 메모리 장치들(400a~400k)로부터 데이터를 독출한다. 즉, 스토리지 컨트롤러(300)는 신호 커넥터(241)를 통하여 호스트(100)와 통신할 수 있다.
비휘발성 메모리 장치들(400a~400k) 각각은 데이터 스트로브 신호(DQS)와 데이터 신호들에 의하여 스토리지 컨트롤러(300)로부터 기입 데이터를 수신하고, 데이터 스트로브 신호(DQS)와 데이터 신호들을 이용하여 독출 데이터를 스토리지 컨트롤러(300)에 출력할 수 있다. 이 경우에, 스토리지 컨트롤러(300)는 데이터 신호들 중 적어도 일부의 에지들이 스큐 오프셋들만큼 비동기되도록 데이터 신호들을 지연시켜 비휘발성 메모리 장치들(400a~400k) 각각에 제공할 수 있다.
이 경우에, 스토리지 컨트롤러(300)는 휘발성 메모리 장치(250)를 입출력 버퍼로서 사용하여 호스트(100)와 데이터(DTA)를 송수신할 수 있다. 일 실시예에 있어서, 휘발성 메모리 장치(250)는 DRAM(Dynamic Random Access Memory)을 포함할 수 있다. 비휘발성 메모리 장치들(400a~400k) 각각과 휘발성 메모리 장치(250)는 은 반도체 메모리 장치라 호칭될 수 있다.
전력 공급 회로(500)는 전원 커넥터(243)를 통해 호스트(100)로부터 전원 전압(또는 외부 전원전압, VES)을 수신할 수 있다. 전력 공급 회로(500)는 전원 전압(VES)에 기초하여 비휘발성 메모리 장치들(400a~400k)의 동작에 필요한 적어도 하나의 제1 동작 전압(VOP1), 스토리지 컨트롤러(300)의 동작에 필요한 적어도 하나의 제2 동작 전압(VOP2), 및 휘발성 메모리 장치(260)의 동작에 필요한 적어도 하나의 제3 동작 전압(VOP3)을 생성할 수 있다. 전력 공급 회로(500)는 제1 동작 전압(VOP1)을 비휘발성 메모리 장치들(400a~400k)에 제공하고, 제2 동작 전압(VOP2)을 스토리지 컨트롤러(300)에 제공하고, 제3 동작 전압(VOp3)를 휘발성 메모리 장치(250)에 제공할 수 있다.
도 2는 본 발명의 실시예들에 따른 도 1의 호스트를 나타내는 블록도이다.
도 2를 참조하면, 호스트(100)는 중앙 처리 장치(central processing unit, 이하 CPU; 110), ROM(120), 메인 메모리(130), 스토리지 인터페이스(140), 사용자 인터페이스(150) 및 버스(160)를 포함할 수 있다.
버스(160)는 호스트(100)의 CPU(110), 롬(120), 메인 메모리(130), 스토리지 인터페이스(140) 및 사용자 인터페이스(150) 간의 데이터를 전송하는 전송로를 의미한다. 롬(120)에는 다양한 어플리케이션(application) 프로그램들이 저장되어 있다. 실시예에 있어서, ATA(Advanced Technology Attachment), SCSI(Small Computer System Interface), eMMC(embedded Multi Media Card), UFS(Universal flash storage) 등과 같은 스토리지 프로토콜을 지원하는 애플리케이션 프로그램들이 롬(120)에 저장될 수 있다.
메인 메모리(130)에는 데이터 또는 프로그램이 일시적으로 저장될 수 있다. 사용자 인터페이스(150)는 사용자와 호스트 기기, 컴퓨터 프로그램 등 사이에서 정보를 주고받을 수 있는 물리적 또는 가상적 매개체로서 물리적인 하드웨어와 논리적인 소프트웨어를 포함한다. 즉, 사용자 인터페이스(150)는 사용자가 호스트(100)를 조작할 수 있는 입력 장치와 사용자 입력에 대한 처리 결과를 표시하는 출력 장치를 포함할 수 있다.
CPU(110)는 호스트(100)의 전반적인 동작을 제어한다. CPU(110)는 ROM(120)에 저장된 어플리케이션(application) 또는 툴(tool)을 이용하여 스토리지 장치(200)에 데이터를 저장하기 위한 리퀘스트(또는 커맨드) 또는 스토리지 장치(200)로부터 데이터를 읽어내기 위한 커맨드와 전원 전압(VES)을 생성시켜 스토리지 인터페이스(140)를 통하여 스토리지 장치(200)로 전달하도록 제어할 수 있다.
도 3은 본 발명의 실시예들에 따른 도 1의 저장 장치에서 스토리지 컨트롤러의 구성을 나타내는 블록도이다.
도 3을 참조하면, 스토리지 컨트롤러(300)는 버스(305)를 통하여 서로 연결되는 프로세서(310), 에러 정정 코드(error correction code, ECC) 엔진(320), 롬(330), 랜더마이저(335), 호스트 인터페이스(340), 휘발성 메모리 인터페이스(VM INTREFACE, 360) 및 비휘발성 메모리 인터페이스(NVM INTERFACE, 350)를 포함할 수 있다.
프로세서(310)는 스토리지 컨트롤러(300)의 제반 동작을 제어한다. 프로세서(310)는 특히 스토리지 컨트롤러(300)와 비휘발성 메모리 장치들(400a~400k) 사이에서 교환되는 데이터 신호들의 윈도우들의 적어도 일부의 에지들이 서로 다른 스큐 오프셋들만큼 비동기되도록 트레이닝을 수행하는 트레이닝 매니저(311)를 포함할 수 있다.
트레이닝 매니저(311)는 신호 라인들을 통하여 비휘발성 메모리 장치들(400a~400k) 각각에 제공되는 데이터 신호들 사이에서 발생하는 크로스토크를 감소시켜 데이터 신호들의 아이 윈도우가 기준값 이상이 되도록 하는 데이터 신호들의 에지들 사이의 차이들을 상기 스큐 오프셋들로 스토리지 컨트롤러(300) 내부에 저장할 수 있다.
비휘발성 메모리 장치들(400a~400k)에 포함된 메모리 셀들은 프로그램 경과 시간, 온도, 프로그램 교란, 독출 교란 등과 같은 요인들로 인하여 문턱 전압 산포가 변화하는 물리적 특성을 갖는다. 즉, 상술된 요인들로 인하여 비휘발성 메모리 장치들(400a~400k)에 저장된 데이터에 오류가 발생할 수 있다. 스토리지 컨트롤러(300)는 이러한 오류들을 정정하기 위하여 다양한 에러 정정 기법을 사용할 수 있다. 예를 들어, 스토리지 컨트롤러(300)는 ECC 엔진(320)을 포함할 수 있다. ECC 엔진(320)은 비휘발성 메모리 장치들(400a~400k)에 저장된 데이터에 발생한 오류들을 정정한다.
롬(330)은 스토리지 컨트롤러(300)의 동작에 관련되는 펌웨어를 저장할 수 있고, 펌웨어는 프로세서 프로세서(310)에 의하여 휘발성 메모리 장치(250) 상에서 구동될 수 있다.
랜더마이저(335)는 비휘발성 메모리 장치들(400a~400k)에 저장될 데이터를 랜더마이징(randomizing)할 수 있다. 예를 들어, 랜더마이저(335)는 비휘발성 메모리 장치들(400a~400k)에 저장될 데이터를 워드 라인 단위로 랜더마이징할 수 있다. 예를 들어, 데이터 랜더마이징은 하나의 워드라인에 연결된 메모리 셀들이 동일한 비율의 프로그램 상태를 갖도록 데이터를 처리하는 것을 가리킨다. 예를 들어, 하나의 워드라인에 연결된 메모리 셀들이 각각 2-비트의 데이터를 저장하는 멀티 레벨 셀(MLC; Multi Level Cell)인 경우, 메모리 셀들 각각은 소거 상태 및 제 1 내지 제3 프로그램 상태들 중 어느 하나의 상태를 가질 것이다.
이 때, 랜더마이저(335)는 하나의 워드라인에 연결된 메모리 셀들 중 소거 상태를 갖는 메모리 셀들의 개수, 제1 프로그램 상태를 갖는 메모리 셀들의 개수, 제2 프로그램 상태를 갖는 메모리 셀들의 개수, 및 제3 프로그램 상태를 갖는 메모리 셀들의 개수가 서로 동일하도록 데이터를 랜더마이징할 수 있다. 즉, 랜더마이징된 데이터(randomized data)가 저장된 메모리 셀들은 실질적으로 서로 동일한 개수의 프로그램 상태들을 가질 것이다.
예시적으로, 랜더마이저(335)는 비휘발성 메모리 장치들(400a~400k)로부터 읽은 데이터를 디랜더마이징할 수 있다.
스토리지 컨트롤러(300)는 호스트 인터페이스(340)를 통하여 호스트(100)와 통신하고 비휘발성 메모리 인터페이스(350)를 통해 비휘발성 메모리 장치들(400a~400k)과 통신할 수 있다. 스토리지 컨트롤러(300)는 휘발성 메모리 인터페이스(360)를 통하여 휘발성 메모리 장치(250)를 제어할 수 있다.
도 4는 본 발명의 실시예들에 따른 도 1의 스토리지 장치에서 스토리지 컨트롤러와 비휘발성 메모리 장치들 중 하나를 나타낸다.
도 4를 참조하면, 스토리지 컨트롤러(300)는 신호 라인들(361~36m)을 포함하는 전송 라인(360)을 통하여 비휘발성 메모리 장치(400a)와 데이터 신호들(DQ1~DQm, m은 4이상의 자연수)을 교환하고, 신호 라인(355)을 통하여 비휘발성 메모리 장치(400a)와 데이터 스트로브 신호(DQS)를 교환할 수 있다.
신호 라인들(361~36m)과 신호 라인(355)은 하나의 채널을 구성할 수 있고, 인쇄회로기판 내에 형성되어 스토리지 컨트롤러(300)와 비휘발성 메모리 장치(400a)를 연결시킬 수 있다. 따라서, 신호 라인들(361~36m) 사이의 간격은 감소하게 되고, 신호 라인들(361~36m) 상의 데이터 신호들(DQ1~DQm)이 동일한 에지를 갖는다면, 신호 라인들(361~36m) 상의 데이터 신호들(DQ1~DQm) 사이에서 크로스토크 또는 크로스토크로 인한 노이즈가 발생할 수 있다.
스토리지 컨트롤러(300)는 신호 라인들(361~36m) 상의 데이터 신호들(DQ1~DQm)의 윈도우들의 적어도 일부가 데이터 스토로브 신호(DQS)에 대하여 서로 다른 제1 스큐 오프셋들을 가지도록 데이터 신호들(DQ1~DQm)을 지연시키는 제1 스프레드(spread) 지연고정루프(SDLL) 회로(370)를 포함할 수 있다. 스프레드 지연고정루프 회로는 지연 고정 루프 회로 또는 지연 회로로 호칭될 수 있다.
스토리지 컨트롤러(300)는 또한 데이터 신호들(DQ1~DQm)과 관련된 상기 제1 스큐 오프셋들을 스큐 정보로서 저장하는 제1 레지스터(SFR, 390)를 포함할 수 있다. 스토리지 컨트롤러(300)는 제1 레지스터(390)에 저장된 스큐 정보(SKI)를 커맨드 셋 피쳐, 모드 레지스터 셋, 테스트 모드 레지스터 셋 중 하나를 이용하여 비휘발성 메모리 장치(400a)에 전송할 수 있다.
비휘발성 메모리 장치(400a)는 제2 스프레드 지연고정루프 회로(480) 및 제2 레지스터(405)를 포함할 수 있다.
제2 레지스터(405)는 스토리지 컨트롤러(300)로부터 수신한 스큐 정보(SKI)를 저장하고, 제2 스프레드 지연고정루프 회로(480)는 제2 레지스터(405)에 저장된 스큐 정보(SKI)에 기초하여 제1 스큐 오프셋들을 상쇄시키는 제2 스큐 오프셋들에 따라 데이터 신호들(DQ1~DQm)을 지연시켜 원본 데이터 신호들을 출력하고, 원본 데이터 신호들을 데이터 스트로브 신호(DQS)에 기초하여 샘플링하고, 샘플링된 데이터 신호들을 비휘발성 메모리 장치(400a) 내부로 제공할 수 있다.
데이터 신호들(DQ1~DQm) 각각은 제1 에지(왼편 에지, LE)와 제2 에지(오른편 에지, RE)에 의하여 정의되는 단위 구간(unit interval; UI)을 가질 수 있다. 제1 에지는 데이터 신호들(DQ1~DQm) 각각의 눈 모양(eye pattern)을 구성하는 단위 구간의 왼편(시간적으로 먼저)의 닫힌 부분을 의미하고, 제2 에지는 데이터 신호들(DQ1~DQm) 각각의 단위 구간의 오른편(시간적으로 나중)의 닫힌 부분을 의미한다. 단위 구간이란 표현은 데이터 신호의 윈도우라는 용어와 병행하여 사용된다.
도 4에서, 신호 라인들(361~36m) 상의 데이터 신호들(DQ1~DQm)은 제1 에지들은 서로 다른 제1 스큐 오프셋들만큼 비동기된다. 즉 신호 라인들(361~36m) 상의 데이터 신호들(DQ1~DQm)의 제1 에지들이 제1 스큐 오프셋들만큼 차이를 가진다. 따라서, 신호 라인들(361~36m) 상의 데이터 신호들(DQ1~DQm) 사이에서 발생하는 크로스토크가 감소될 수 있다.
도 3의 프로세서(310, 즉, 트레이닝 매니저(311))는 스토리지 장치(200)가 부팅되거나 초기화되는 경우에, 트레이닝 패턴들을 신호 라인들(361~36m)을 통하여 비휘발성 메모리 장치(400a)에 전송하고, 신호 라인들(361~36m) 상의 트레이닝 패턴들 사이에서 발생하는 크로스토크를 감소시켜 트레이닝 패턴들의 아이 윈도우가 기준값 이상이 되게 하는(즉 아이 윈도우가 최대가 되게 하는) 스큐 오프셋들을 탐색하는 트레이닝을 수행하고, 트레이닝의 결과에 기초하여 제1 스큐 오프셋들을 상기 스큐 정보로서 제1 레지스터(390)에 저장할 수 있다. 프로세서(310)는 신호 라인들(361~36m) 상의 트레이닝 패턴들 각각에 대하여 상기 트레이닝을 수행하여 스큐 오프셋들을 탐색할 수 있다.
도 5는 본 발명의 실시예들에 따른 도 4의 제1 스프레드 지연고정루프 회로를 나타내는 블록도이다.
도 5를 참조하면, 제1 스프레드 지연고정루프 회로(370)는 버퍼(371, BUF), 전압제어 지연라인(380, VCDL), 위상 검출기(373, PD), 차지 펌프(375, CP) 및 선택 신호 생성기(SS)를 포함할 수 있다.
버퍼(371)는 데이터 신호가 지연되기 전인 입력 데이터 신호(DQ_IN)를 버퍼링한다. 위상 검출기(373)는 출력 데이터 신호(DQ_OUT) 사이의 위상 차이를 검출하고, 검출된 위상 차이에 기초하여 업 신호(UP)와 다운 신호(DN)를 출력한다. 차지 펌프(375)는 업 신호(UP)와 다운 신호(DN)에 기초하여 충전/방전 동작을 수행하여 제어 전압(VCTL)을 출력한다.
전압제어 지연라인(380)은 제어 전압(VCTL)에 기초하여 버퍼(371)에서 출력되는 입력 데이터 신호(DQ_IN)의 지연량을 조절하여 출력 데이터 신호(DQ_OUT)를 제공한다. 선택 신호 생성기(SS)는 스큐 정보(SKI)에 기초하여 선택 신호(SS)를 생성하고, 선택 신호(SS)를 전압제어 지연라인(380)에 제공할 수 있다.
도 6은 본 발명의 실시예들에 따른 도 6의 전압제어 지연라인의 구성을 나타내는 블록도이다.
도 6을 참조하면, 전압제어 지연라인(380)는 복수의 단위 지연셀들(UDC, 381~38n) 및 멀티플렉서(380b) 및 바이어스 생성기(380c)를 포함할 수 있다.
단위 지연셀들(381~38n) 각각은 캐스케이드 연결되고, 바이어스 전압들(PBIAS, NBIAS)에 기초하여 이전 단위 지연 라인의 출력을 지연시켜 내부 데이터 신호들(IDQ1~IDQn)을 출력하면서 각각의 출력을 다음 스테이지의 단위 지연 라인으로 제공한다. 멀티플렉서(380b)는 선택 신호(SS)에 기초하여 내부 데이터 신호들(IDQ1~IDQn) 중 하나를 선택하여 출력 데이터 신호(DQ_OUT)로 제공한다. 바이어스 생성기(380c)는 제어 전압(VCTL)에 기초하여 바이어스 전압들(PBIAS, NBIAS)을 생성하고, 바이어스 전압들(PBIAS, NBIAS)을 단위 지연셀들(381~38n)에 제공할 수 있다.
도 4의 제2 스프레드 지연고정루프 회로(480)도 도 5의 제1 지연고정루프 회로(370)와 동일한 구조를 가질 수 있다.
도 7은 본 발명의 실시예들에 따른 도 7의 단위 지연셀들 중 하나의 구성을 나타낸다.
단위 지연셀(381)은 복수의 피모스 트랜지스터들(MP1, MP2, MP3, MP4) 및 복수의 엔모스 트랜지스터들(MN1, MN2, MN3, MN4)를 포함할 수 있다.
피모스 트랜지스터들(MP1, MP3)은 전원 전압(VDD)과 노드들(N11, N12) 사이에 각각 병렬로 연결되고, 피모스 트랜지스터(MP2)는 노드(N15)과 노드(N13) 사이에 연결되고, 피모스 트랜지스터(MP14)는 노드(N12)와 노드(N16) 사이에 연결된다. 엔모스 트랜지스터(MN12)는 노드(N15)와 노드(N13) 사이에 연결되고, 엔모스 트랜지스터(MN4)는 노드(N16)와 노드(N14) 사이에 연결되고, 엔모스 트랜지스터들(MN1, MN3) 각각은 노드들(N13, N14) 각각과 접지 전압(VSS) 사이에 연결된다.
피모스 트랜지스터들(MP1, MP3)의 게이트들에는 바이어스 전압(PBIAS)이 인가되고, 엔모스 트랜지스터들(MN1, MN3)의 게이트들에는 바이어스 전압(NBIAS)이 인가되고, 피모스 트랜지스터(MP2)와 엔모스 트랜지스터(MN2)는 제1 인버터를 구성하여 입력 데이터 신호(DQ_IN)를 반전시켜 노드(N15)에 제공하고, 피모스 트랜지스터(MP4)와 엔모스 트랜지스터(MN4)는 제2 인버터를 구성하여 노드(N15)의 전압을 반전시켜 노드(N16)에서 내부 데이터 신호(IDQ1)을 제공한다.
바이어스 전압들(PBIAS, NBIAS)에 의하여 제1 인버터와 제2 인버터의 지연 특성이 결정될 수 있다. 또한 제1 인버터와 제2 인버터가 직렬로 연결되어 있으므로, 단위 지연셀(381)은 입력 데이터 신호(DQ_IN)를 지연시키는 버퍼로서 동작한다.
도 8은 본 발명의 실시예들에 따른 도 3의 스토리지 컨트롤러에서 비휘발성 메모리 인터페이스와 비휘발성 메모리 장치의 연결 관계를 나타낸다.
도 8을 참조하면, 비휘발성 메모리 인터페이스(350)는 비휘발성 메모리 장치(400a)와 인터페이싱을 수행하며, 제1 스프레드 지연고정루프 회로(370) 및 제1 레지스터(390)를 포함할 수 있다. 비휘발성 메모리 인터페이스(350)는 또한 복수의 송신 래치들(TR1~TRm) 및 복수의 지연 셀들(DC11~DC1m)을 포함할 수 있다. 복수의 지연 셀들(DC11~DC1m)은 제1 스프레드 지연고정루프 회로(370)의 일부로서 포함될 수 있다.
상술한 바와 같이, 제1 레지스터(390)는 트레이닝의 결과로 제1 스큐오프셋들을 저장할 수 있고, 제1 스프레드 지연고정루프 회로(370)는 제1 스큐 오프셋들에 기초하여 지연 셀들(DC11~DC1m) 각각의 지연량들을 조절할 수 있고, 지연 셀들(DC11~DC1m)은 조절된 지연량들에 따라 클럭 신호(CK1)를 지연시켜 지연된 클럭 신호들을 송신 래치들(TR1~TRm)에 제공한다. 클럭 신호(CK1)는 비휘발성 메모리 인터페이스(350)에 포함되는 클럭 생성기에서 제공될 수 있다.
송신 래치들(TR1~TRm) 각각은 지연된 클럭 신호들 각각에 동기되어 원본 데이터 신호들(DT1~DTm)을 샘플링하여 데이터 신호들(DQ1~DQm)을 신호 라인들(361~36m)을 통하여 비휘발성 메모리 장치(400a)에 제공한다. 따라서, 데이터 신호들(DQ1~DQm)의 윈도우들의 제1 에지는 도시된 바와 같이 비동기되어 신호 라인들(361~36m) 상에서 데이터 신호들(DQ1~DQm) 사이에서 발생하는 크로스토크가 감소될 수 있다.
비휘발성 메모리 인터페이스(350)는 또한 데이터 스트로브 신호(DQS)와 제1 스큐 오프셋들에 관한 스큐 정보(SKI)를 비휘발성 메모리 장치(400a)에 전송한다.
비휘발성 메모리 장치(400a)는 데이터 입출력 회로(420)를 포함할 수 있다. 데이터 입출력 회로(420)는 상술한 제2 스프레드 지연고정루프 회로(480), 제2 레지스터(405) 및 페이지 버퍼 회로(410)를 포함할 수 있다.
데이터 입출력 회로(420)는 또한 복수의 수신 래치들(RR1~RRm) 및 복수의 지연 셀들(DC21~DC2m)을 포함할 수 있다. 복수의 지연 셀들(DC21~DC2m)은 제2 스프레드 지연고정루프 회로(480)의 일부로서 포함될 수 있다.
제2 레지스터(405)는 수신된 스큐 정보(SKI)를 저장하고, 제2 스프레드 지연고정루프 회로(480)는 스큐 종보(SKI)에 기초하여 제1 스큐 오프셋들을 상쇄시키는 제2 스큐 오프셋들만큼 지연 셀들(DC21~DC2m) 각각의 지연량들을 조절할 수 있다. 지연 셀들(DC21~DC2m)은 조절된 지연량들에 따라 클럭 신호(CK2)를 지연시켜 지연된 클럭 신호들을 수신 래치들(RR1~RRm)에 제공한다. 수신 래치들(RR1~RRm) 각각은 지연된 클럭 신호들 각각에 동기되어 데이터 신호들(DQ1~DQm)을 샘플링하여 원본 데이터 신호들(DT1~DTm)을 샘플링 회로(490)에 제공한다. 클럭 신호(CK2)는 데이터 입출력 회로(420)에 포함되는 클럭 생성기에서 제공될 수 있다.
샘플링 회로(490)는 데이터 스트로브 신호(DQS)에 기초하여 원본 데이터 신호들(DT1~DTm)을 샘플링하여 원본 데이터 신호들(DT1~DTm)을 정렬하고, 샘플링된 데이터 신호들(SDT1~SDTm)을 페이지 버퍼 회로(410)에 제공한다.
도 9는 도 8에서 제1 레지스터를 나타낸다.
도 9를 참조하면, 제1 레지스터(390)는 데이터 신호들(DQ1~DQm)의 제1 스큐 오프셋들(OFS1)을 테이블 형태로 저장할 수 있다. 데이터 신호(DQ)의 스큐 오프셋을 '0'으로 하고, 데이터 신호(DQ1)의 스큐 오프셋을 '+a'로, 데이터 신호(DQ2)의 스큐 오프셋을 '+b'로, 데이터 신호(DQm)의 스큐 오프셋을 '+p'로 저장할 수 있다.
도 10은 도 8에서 제2 레지스터를 나타낸다.
도 10을 참조하면, 제2 레지스터(405)는 데이터 신호들(DQ1~DQm)의 제1 스큐 오프셋들(OFS1)을 상쇄시키는 제2 스큐 오프셋들(OFS2)을 테이블 형태로 저장할 수 있다. 데이터 신호(DQ)의 스큐 오프셋을 '0'으로 하고, 데이터 신호(DQ1)의 스큐 오프셋을 '-a'로, 데이터 신호(DQ2)의 스큐 오프셋을 '-b'로, 데이터 신호(DQm)의 스큐 오프셋을 '-p'로 저장할 수 있다.
도 11은 도 4의 스토리지 컨트롤러, 신호 라인들 및 비휘발성 메모리 장치에서 다른 위치들에서 데이터 신호들과 데이터 스트로브 신호를 나타낸다.
도 11에서는 설명의 편의를 위하여 데이터 신호들(DQ1, DQ2, DQ3) 및 데이터 스트로브 신호(DQS)를 나타내었고, 참조 번호(541)가 나타내는 제1 스큐 오프셋들은 도 9에서와 동일하고, 참조 번호(546)가 나타내는 제2 스큐 오프셋들은 도 10에서 동일하다.
또한, 도 11에서 입출력 인터페이스(395)는 도 8의 비휘발성 메모리 인터페이스(350)에 포함될 수 있고, 입출력 인터페이스(495)는 도 8의 데이터 입출력 회로(420)에 포함될 수 있다.
도 11을 참조하면, 입출력 인터페이스(395)와 신호 라인들(361, 362, 363) 사이의 위치(542), 신호 라인들(361, 362, 363) 상의 위치(543) 및 신호 라인들(361, 362, 363)와 입출력 인터페이스(495) 사이의 위치(544)에서 데이터 신호(DQ2)는 데이터 신호(DQ1)에 대하여 '+a'의 스큐 오프셋을 가지고, 데이터 신호(DQ3)는 데이터 신호(DQ1)에 대하여 '+b'의 스큐 오프셋을 가진다. 제2 스프레드 지연고정루프 회로(480)의 출력에 해당하는 위치(480)에서 데이터 신호들(DQ1, DQ2, DQ3)의 윈도우들의 제1 에지들은 서로 동기된다.
신호 라인들(361, 362, 363) 상의 위치(543)에서 데이터 신호들(DQ1, DQ2, DQ3) 사이에서는 크로스토크(XTALK)가 발생할 수 있는데, 본 발명의 실시예들에서는 신호 라인들(361, 362, 363) 상의 위치(543)에서 데이터 신호들(DQ1, DQ2, DQ3)의 윈도우들의 제1 에지들은 서로 제1 스큐 오프셋들만큼 비동기되므로 데이터 신호들(DQ1, DQ2, DQ3) 사이에서 발생하는 크로스토크(XTALK)를 감소시킬 수 있다.
도 12는 본 발명의 실시예들에 따른 도 1의 스토리지 장치에서 비휘발성 메모리 장치들 중 하나를 나타내는 블록도이다.
도 12를 참조하면, 비휘발성 메모리 장치(400a)는 메모리 셀 어레이(430), 어드레스 디코더(460), 페이지 버퍼 회로(410), 데이터 입출력 회로(420), 제어 회로(450) 및 전압 생성기(470)를 포함할 수 있다. 제어 회로(420)는 제2 오프셋들을 설정할 수 있는 모드 레지스터(MR, 455)를 포함할 수 있다.
메모리 셀 어레이(430)는 스트링 선택 라인(SSL), 복수의 워드 라인들(WLs) 및 접지 선택 라인(GSL)을 통해 어드레스 디코더(460)와 연결될 수 있다. 또한, 메모리 셀 어레이(430)는 복수의 비트 라인들(BLs)을 통해 페이지 버퍼 회로(410)와 연결될 수 있다. 메모리 셀 어레이(430)는 복수의 워드 라인들(WLs) 및 복수의 비트 라인들(BLs)에 연결되는 복수의 메모리 셀들을 포함할 수 있다.
도 13은 도 12의 비휘발성 메모리 장치에서 메모리 셀 어레이를 나타내는 블록도이다.
도 13을 참조하면, 메모리 셀 어레이(430)는 복수의 메모리 블록들(BLK1~BLKz)을 포함한다. 복수의 메모리 블록들(BLK1~BLKz)은 제1 내지 제3 방향들(D1~D3)을 따라 신장된다. 실시예에 있어서, 메모리 블록들(BLK1~BLKz)은 도 12에 도시된 어드레스 디코더(460)에 의해 선택된다.
도 14는 도 13의 메모리 블록들 중 하나의 메모리 블록을 나타내는 회로도이다.
도 14에 도시된 메모리 블록(BLKi)은 기판(SUB) 상에 삼차원 구조로 형성되는 삼차원 메모리 메모리 블록을 나타낸다. 예를 들어, 메모리 블록(BLKi)에 포함되는 복수의 메모리 셀 스트링들은 상기 기판(SUB)과 수직한 방향(PD)으로 적층될 수 있다.
도 14를 참조하면, 메모리 블록(BLKi)은 비트 라인들(BL1, BL2, BL3)과 공통 소스 라인(CSL) 사이에 연결되는 복수의 메모리 셀 스트링들(NS11~NS33)을 포함할 수 있다. 복수의 메모리 셀 스트링들(NS11~NS33) 각각은 스트링 선택 트랜지스터(SST), 복수의 메모리 셀들(MC1, MC2, ..., MC8) 및 접지 선택 트랜지스터(GST)를 포함할 수 있다.
스트링 선택 트랜지스터(SST)는 상응하는 스트링 선택 라인(SSL1, SSL2, SSL3)에 연결될 수 있다. 복수의 메모리 셀들(MC1, MC2, ..., MC8)은 각각 상응하는 워드 라인(WL1, WL2, ..., WL8)에 연결될 수 있다. 접지 선택 트랜지스터(GST)는 상응하는 접지 선택 라인(GSL1, GSL2, GSL3)에 연결될 수 있다. 스트링 선택 트랜지스터(SST)는 상응하는 비트 라인(BL1, BL2, BL3)에 연결되고, 접지 선택 트랜지스터(GST)는 공통 소스 라인(CSL)에 연결될 수 있다. 동일 높이의 워드 라인(예를 들면, WL1)은 공통으로 연결되고, 접지 선택 라인(GSL1, GSL2, GSL3) 및 스트링 선택 라인(SSL1, SSL2, SSL3)은 각각 분리될 수 있다.
다시 도 12를 참조하면, 제어 회로(450)는 스토리지 컨트롤러(300)로부터 커맨드(CMD) 및 어드레스 신호(ADDR)를 수신하고, 커맨드(CMD) 및 어드레스 신호(ADDR)에 기초하여 비휘발성 메모리 장치(400a)의 소거 루프, 프로그램 루프 및 독출 동작을 제어할 수 있다. 여기서 프로그램 루프는 프로그램 동작과 프로그램 검증 동작을 포함할 수 있고, 소거 루프는 소거 동작과 소거 검증 동작을 포함할 수 있다.
예를 들어, 제어 회로(450)는 커맨드 신호(CMD)에 기초하여 전압 생성기(470)를 제어하기 위한 제어 신호들(CTLs)을 생성하고, 어드레스 신호(ADDR)에 기초하여 로우 어드레스(R_ADDR) 및 컬럼 어드레스(C_ADDR)를 생성할 수 있다. 제어 회로(450)는 로우 어드레스(R_ADDR)를 어드레스 디코더(460)에 제공하고, 컬럼 어드레스(C_ADDR)를 데이터 입출력 회로(420)에 제공할 수 있다.
어드레스 디코더(460)는 스트링 선택 라인(SSL), 복수의 워드 라인들(WLs) 및 접지 선택 라인(GSL)을 통해 메모리 셀 어레이(430)와 연결될 수 있다. 프로그램 동작 또는 독출 동작 시, 어드레스 디코더(460)는 제어 회로(450)로부터 제공되는 로우 어드레스(R_ADDR)에 기초하여 복수의 워드 라인들(WLs) 중의 하나를 선택 워드라인인 제1 워드라인 결정하고, 복수의 워드 라인들(WLs) 중에서 제1 워드라인을 제외한 나머지 워드 라인들을 비선택 워드라인들로 결정할 수 있다.
전압 생성기(470)는 제어 회로(450)로부터 제공되는 제어 신호들(CTLs)에 기초하여 제1 동작 전압(VOP1)을 이용하여 비휘발성 메모리 장치(400a)의 동작에 필요한 워드 라인 전압들(VWLs)을 생성할 수 있다. 전압 생성기(470)로부터 생성되는 워드 라인 전압들(VWLs)은 어드레스 디코더(460)를 통해 복수의 워드 라인들(WLs)에 인가될 수 있다.
예를 들어, 소거 동작 시, 전압 생성기(470)는 메모리 블록의 웰에 소거 전압을 인가하고 메모리 블록의 모든 워드라인들에 접지 전압을 인가할 수 있다. 소거 검증 동작 시, 전압 생성기(470)는 하나의 메모리 블록의 모든 워드라인들에 소거 검증 전압을 인가하거나 워드라인 단위로 소거 검증 전압을 인가할 수 있다.
예를 들어, 프로그램 동작 시, 전압 생성기(470)는 제1 워드라인에 프로그램 전압을 인가하고, 비선택 워드라인들에는 프로그램 패스 전압을 인가할 수 있다. 또한 프로그램 검증 동작 시, 전압 생성기(470)는 제1 워드라인에 프로그램 검증 전압을 인가하고, 비선택 워드라인들에는 검증 패스 전압을 인가할 수 있다. 또한, 독출 동작 시, 전압 생성기(470)는 제1 워드라인에 독출 전압을 인가하고, 비선택 워드라인들에는 독출 패스 전압을 인가할 수 있다.
페이지 버퍼 회로(410)는 복수의 비트 라인들(BLs)을 통해 메모리 셀 어레이(430)와 연결될 수 있다. 페이지 버퍼 회로(410)는 복수의 페이지 버퍼를 포함할 수 있다. 일 실시예에 있어서, 하나의 페이지 버퍼에 하나의 비트 라인이 연결될 수 있다. 다른 실시예에 있어서, 하나의 페이지 버퍼에 두 개 이상의 비트 라인들이 연결될 수 있다.
페이지 버퍼 회로(410)는 프로그램 동작 시 선택된 페이지에 프로그램될 데이터를 임시로 저장하고, 독출 동작 시 선택된 페이지로부터 독출된 데이터를 임시로 저장할 수 있다.
데이터 입출력 회로(420)는 데이터 라인들(DLs)을 통해 페이지 버퍼 회로(431)와 연결될 수 있다. 프로그램 동작 시, 데이터 입출력 회로(420)는 스토리지 컨트롤러(300)로부터 데이터(DTA)를 수신하고, 제어 회로(450)로부터 제공되는 컬럼 어드레스(C_ADDR)에 기초하여 데이터(DTA)를 페이지 버퍼 회로(410)에 제공할 수 있다.
독출 동작 시, 데이터 입출력 회로(420)는 제어 회로(450)로부터 제공되는 컬럼 어드레스(C_ADDR)에 기초하여 페이지 버퍼 회로(410)에 저장된 데이터(DTA)를 상기 스토리지 컨트롤러(300)에 제공할 수 있다.
페이지 버퍼 회로(410)와 데이터 입출력 회로(420)는 제어 회로(450)에 의하여 제어될 수 있다. 제어 회로(450)는 페이지 버퍼 회로(420)에 제어 신호(PCTL)를 인가하여 페이지 버퍼 회로(410)를 제어할 수 있다.
도 15 및 도 16은 본 발명의 실시예들에 따른 스토리지 장치가 실장될 수 있는 인쇄회로기판을 나타내는 평면도 및 단면도이다.
도 15 및 도 16을 참조하면, 복수의 채널 패턴(CHP1, CHP2, CHP3, CHP4)을 포함하는 인쇄회로기판(10)이 도시된다. 인쇄회로기판(10)은 복수의 연결 단자들을 구비하는 커넥터(240) 및 커넥터에 대응되는 만입 구조(230)를 포함할 수 있다. 노출된 패턴이 만입 구조(230)의 테두리에 형성될 수 있고, 호스트(100)에 장착되는 경우 호스트(100)의 도전체와 연결될 수 있다. 만입 구조(230)의 테두리에 형성된 패턴은 스토리지 장치(200)의 접지 노드에 대응할 수 있고, 호스트(100)에 장착되는 경우 호스트(100)의 접지 노드에 대응하는 도전체와 연결될 수 있다.
인쇄회로기판(10)은 바디층(11), 상부 보호층(13), 및 하부 보호층(15)을 포함할 수 있다. 인쇄회로기판(10)에는 배선부들이 형성되어 있고, 인쇄회로기판(10) 상의 배선부들은 접속 단자를 통해 스토리지 컨트롤러(200) 및 비휘발성 메모리 장치들(400a~400k)에 전기적으로 연결될 수 있다. 또한, 인쇄회로기판(10)에는 커넥터(240)가 배치될 수 있다. 인쇄회로기판(10)은 커넥터(240)를 통해 모듈 기판, 시스템 보드, 메인 보드 등에 전기적으로 연결되면서 탑재될 수 있다.
바디층(11) 내에는 다층 또는 단층의 배선부가 형성될 수 있고, 그러한 배선부를 통해 스토리지 컨트롤러(200) 및 비휘발성 메모리 장치들(400a~400k)와 전기적으로 연결될 수 있다. 상부 보호층(13) 및 하부 보호층(15)은 상기 바디층(11)을 보호하는 기능을 하는데, 예를 들어, 솔더 레지스트(solder resist)로 형성될 수 있다.
또한, 바디층(11)은 통상적으로, 열경화성 수지 등의 고분자 물질, FR-4(Flame Retardant 4), BT(Bismaleimide Triazine), ABF(Ajinomoto Build up Film) 등의 에폭시계 수지 또는 페놀 수지 등을 일정 두께로 압축하여 박형으로 형성하고, 양면에 동박(copper foil)을 입힌 후, 패터닝을 통해 전기적 신호의 전달 경로인 배선부를 형성함으로써 구현될 수 있다.
또한, 인쇄회로기판(10)은 한쪽 면에만 배선을 형성한 단면 PCB(single layer PCB) 및 양쪽 면에 배선을 형성한 양면 PCB(double layer PCB)로 구별될 수 있다. 또한, 프레프레그(prepreg)라는 절연체를 이용하여 동박의 층수를 3층 이상으로 형성할 수 있고, 형성된 동박의 층수에 따라 3개 이상의 배선층을 형성함으로써, 다층 배선의 PCB가 구현될 수도 있다.
인쇄회로기판(10)은 반도체 패키지가 실장되는 기판으로서 절연층 및 배선부를 포함한다. 배선부는 절연층에 형성된 제1 및 제2 도전성 트레이스(CT1, CT2)를 포함하고, 절연층을 관통하여 제1 도전성 트레이스(CT1)와 연결되는 제1 도전성 비아(CV1) 및 상기 제2 도전성 트레이스(CT2)와 연결되는 제2 도전성 비아(CV2)를 포함한다.
구체적으로, 제1 채널 패턴(CHP1)은 제1 배선부로서, D2 방향으로 연장되는 제1 도전성 트레이스(CT1), D3 방향으로 연장되는 제1 도전성 비아(CV1), 및 제1 도전성 비아(CV1)의 상부에 형성된 제1 도전 패드(CP1)를 포함할 수 있다.
제2 채널 패턴(CHP2)은 제2 배선부로서, D2 방향으로 연장되는 제2 도전성 트레이스(CT2), D3 방향으로 연장되는 제2 도전성 비아(CV2), 및 제2 도전성 비아(CV2)의 상부에 형성된 제2 도전 패드(CP2)를 포함할 수 있다.
실시예에 있어서, 데이지 체인 방식으로 구성되는 제2 채널 패턴(CHP2)이 제1 실장 영역(MR1) 및 제2 실장 영역(MR2)에서 서로 다른 배선부 길이를 가지는 이유는, 제1 실장 영역(MR1) 및 제2 실장영역(MR2) 중 어느 하나에만 신호 손실을 보상하기 위한 수단을 제공하면 되기 때문이다.
제1 실장 영역(MR1)에서 반도체 패키지는 제1 내지 제4 채널 패턴(CHP1, CHP2, CHP3, CHP4)과 전기적으로 연결이 가능하고, 제2 실장 영역(MR2)에서 반도체 패키지는 제2 및 제3 채널 패턴(CHP2, CHP3)과 전기적으로 연결이 가능하다.
도 16에서는 설명의 편의를 위하여, 제1 및 제2 채널 패턴(CHP1, CHP2)만을 도시하였으나, 제1 채널 패턴(CHP1) 및 제4 채널 패턴(CHP4)은 포인트 투 포인트 방식으로 실질적으로 동일하게 구성(하나의 채널 패턴 그룹을 형성할 수 있음)될 수 있고, 제2 채널 패턴(CHP2) 및 제3 채널 패턴(CHP3)은 데이지 체인 방식으로 실질적으로 동일하게 구성(다른 하나의 채널 패턴 그룹을 형성할 수 있음)될 수 있다.
제2 채널 패턴(CHP2)과 제3 채널 패턴(CHP3)은 서로 이웃하여 마주보도록 형성될 수 있고, 제1 채널 패턴(CHP1)과 제4 채널 패턴(CHP4)은 제2 채널 패턴(CHP2)과 제3 채널 패턴(CHP3)을 사이에 두고 서로 마주보도록 형성될 수 있다. 제2 및 제3 채널 패턴(CHP2, CHP3)은 데이지 체인 방식으로 구성되어 패턴 중간에 분기점을 가지므로, 상기 분기점이 1 및 제4 채널 패턴(CHP1, CHP4)과 서로 중첩되지 않도록 설계하기 위하여, 다시 말해, 회로 설계의 용이성을 위하여, 이와 같은 배치 형태를 가질 수 있다.
도 16에서, 제1 채널 패턴(CHP1)은 제2 채널 패턴(CHP2)보다 하부 보호층(15)에 더 가까운 레이어(layer)에 형성된 것으로 도시되어 있으나, 이와 달리, 제2 채널 패턴(CHP2)이 제1 채널 패턴(CHP1)보다 하부 보호층(15)에 더 가까운 레이어에 형성될 수도 있고, 제1 채널 패턴(CHP1) 및 제2 채널 패턴(CHP2)은 동일한 레이어에 형성될 수도 있다.
또한, 인쇄회로기판(10)은 스토리지 컨트롤러 영역(CR)에 이웃하여 전원 공급 회로 영역(PR)을 포함할 수 있다. 또한 커넥터(240)와 스토리지 컨트롤러 영역(CR)은 도전 패턴(261)울 연결될 수 있다.
도 17 및 도 18은 본 발명의 실시예에 따른 스토리지 장치를 나타내는 평면도 및 단면도이다.
도 17 및 18을 참조하면, 인쇄회로기판(10)의 제1 실장 영역(MR1)에 메모리 패키지(401)가 실장되고, 제2 실장 영역(MR2)에 메모리 패키지(402)가 실장되고, 제1 및 제4 채널(CH1, CH4)은 메모리 패키지(401)와 전기적으로 연결되고, 제2 및 제3 채널(CH2, CH3)은 메모리 패키지(402)와 전기적으로 연결되는 스토리지 장치(200a)가 도시된다.
메모리 패키지(401) 및 메모리 패키지(402)는 각각 도 1의 비휘발성 메모리 장치들(400a~400k) 중 적어도 일부가 적층되어 형성될 수 있다. 메모리 패키지(401)는 제1 및 제2 채널(CH1, CH2)과 솔더볼(SB11, SB12)를 통하여 연결되고, 메모리 패키지(402)는 제2 채널(CH2)과 솔더볼(SB22)를 통하여 연결되고, 스토리지 컨트롤러(300)는 제1 및 제2 채널(CH1, CH2)과 솔더볼(SB31, SB32)를 통하여 연결될 수 있다.
인쇄회로기판(10) 내에 커넥터(260)와 스토리지 컨트롤러(300)를 서로 연결시키는 도전 패터들(261, 281)이 제공될 수 있다. 도전 패턴()61)은 솔더볼(SB33)을 통하여 스토리지 컨트롤러(300)에 연결될 수 있다.
도 19는 본 발명의 실시예들에 따른 도 1의 스토리지 시스템에서 스토리지 장치의 예를 나타내는 블록도이다.
도 19를 참조하면, 스토리지 장치(200b)는 인쇄회로기판(PCB, 10) 상에 제공되는 스토리지 컨트롤러(300) 및 복수의 비휘발성 메모리 장치들(400a~400k)을 구비하는 패키지(400)를 포함할 수 있다.
스토리지 컨트롤러(300) 및 복수의 비휘발성 메모리 장치들(400a~400k)은 전송 라인(50, 전송 라인은 '채널'이라 호칭될 수도 있음)을 통하여 서로 전기적으로 연결될 수 있다. 스토리지 컨트롤러(300)는 전송 라인(50)을 통하여 복수의 비휘발성 메모리 장치들(400a~400k)에 커맨드 신호 및 어드레스 신호를 전송하고, 데이터 및 데이터 스토로브 신호를 송수신할 수 있다. 전송 라인(50)은 상술한 신호 라인들(361~36m) 및 신호 라인(355)을 포함할 수 있다.
스토리지 컨트롤러(300)는 상술한 제1 스프레드 지연고정루프 회로 및 제1 레지스터를 포함할 수 있고, 비휘발성 메모리 장치들(400a~400k) 중 적어도 일부는 상술한 제2 스프레드 지연고정루프 회로 및 제2 레지스터를 포함할 수 있다. 따라서, 스토리지 컨트롤러(300)는 데이터 신호들의 윈도우들의 제1 에지들의 일부가 비동기되도록 데이터 신호들을 서로 다른 지연량들로 지연시켜 전송 라인(50)을 통하여 비휘발성 메모리 장치들(400a~400k) 중 하나에 데이터 신호들을 전송하여 전송 라인(50) 상의 데이터 신호들 사이에서 발생할 수 있는 크로스토크를 감소시킬 수 있다.
스토리지 장치(200b)는 또한 인쇄회로기판(10)의 일부로서 제공되는 커넥터(240)와 스토리지 컨트롤러(300)를 연결시키는 도전 패턴(261)을 포함할 수 있다.
도 19에는 비휘발성 메모리 장치들(400a~400k)을 구비하는 패키지(400) 만이 도시되었으나, 스토리지 장치(300)는 전력 공급 회로 및 휘발성 메모리 장치 들 등 다른 구성 요소를 포함할 수 있다.
도 19에 도시된 스토리지 장치(200b)는 메모리 카드, USB 메모리, SSD 등과 같은 플래시 메모리를 기반으로 하는 데이터 저장 매체가 모두 포함될 수 있다.
패키지(400)는 복수의 비휘발성 메모리 장치들(400a~400k)을 포함할 수 있다. 비휘발성 메모리 장치들(400a~400k)이 멀티 스택 칩(multi stack chip) 형태의 패키지로 제공된 경우, 적층된 각각의 비휘발성 메모리 장치들(400a~400k)은 동일한 채널을 통하여 스토리지 컨트롤러(300)에 연결될 수 있다.
도 20은 본 발명의 실시예들에 따른 스토리지 장치의 동작 방법을 나타내는 흐름도이다.
도 3 내지 도 18 및 도 20을 참조하면, 적어도 하나의 반도체 메모리 장치(400a) 및 적어도 하나의 반도체 메모리 장치(400a)를 제어하는 스토리지 컨트롤러(300)를 포함하는 스토리지 장치(200)의 동작 방법에 제공된다.
상기 방법에 의하면, 스토리지 컨트롤러(300)는 제1 레지스터(390)에 신호 라인들(361~36m)을 통하여 적어도 하나의 반도체 메모리 장치(400a)에 전송될 데이터 신호들(DQ1~DQm)에 관련된 제1 스큐 오프셋들(OFS1)을 스큐 정보(SKI)로서 제1 레지스터(390)에 저장한다(S110).
스토리지 컨트롤러(300)는 적어도 하나의 반도체 메모리 장치(400a)에 상기 스큐 정보(SKI)를 전송한다(S120).
적어도 하나의 반도체 메모리 장치(400a)는 스토리지 컨트롤러(300)로부터 전송된 상기 스큐 정보(SKI)를 제2 레지스터(405)에 저장한다(S130).
스토리지 컨트롤러(300)의 제1 스프레드 지연고정루프 회로(370)는 제1 레지스터(390)에 저장된 스큐 정보(SKI)에 기초하여 원본 데이터 신호들(DT1~DT2)을 서로 다른 지연량으로 지연시켜 데이터 신호들(DQ1~DQm)을 출력한다. 스토리지 컨트롤러(300)는 제1 스큐 오프셋들을 가지는 데이터 신호들(DQ1~DQm)과 데이터 스트로브 신호(DQS)를 신호 라인들(361~36m, 355)을 통하여 병렬로 적어도 하나의 반도체 메모리 장치(400a)에 전송한다(S140).
적어도 하나의 반도체 메모리 장치(400a)의 제2 스프레드 지연고정루프 회로(480)는 제2 레지스터(405)에 저장된 스큐 정보(SKI)에 기초하여 제1 스큐 오프셋들을 상쇄시키는 제2 스큐 오프셋들로 데이터 신호들(DQ1~DQm)을 지연시켜 데이터 신호들(DQ1~DQm)을 정렬하여 원본 데이터 신호들(DT1~DTm)을 출력한다(S150).
적어도 하나의 반도체 메모리 장치(400a)의 샘플링 회로(490)는 데이터 스트로브 신호(DQS)에 기초하여 원본 데이터 신호들(DT1~DTm)을 샘플링하고(S160), 샘플링된 데이터 신호들을 적어도 하나의 반도체 메모리 장치(400a)의 내부로 제공한다(S160).
스토리지 컨트롤러(300)는 스토리지 장치(200)의 아이들 구간 동안에 신호 라인들(361~36m) 상의 트레이닝 패턴들에서 발생하는 크로스토크를 감소시켜 트레이닝 패턴들의 아이 윈도우를 최대가 되게 하는 트레이닝 패턴들 사이의 스큐 오프셋들을 탐색하는 트레이닝을 수행하고(S170), 제1 레지스터(390)에 저장된 스큐 정보(SKI)를 갱신한다.
스토리지 컨트롤러(300)는 갱신된 스큐 정보를 적어도 하나의 반도체 메모리 장치(400a)에 전송하고(S180), 적어도 하나의 반도체 메모리 장치(400a)는 갱신된 스큐 정보를 제2 레지스터(405)에 저장한다.
도 21은 본 발명의 실시예들에 따른 스토리지 장치의 동작 방법을 나타내는 흐름도이다.
도 3 내지 도 18, 도 20 및 도 21을 참조하면, 적어도 하나의 반도체 메모리 장치(400a) 및 적어도 하나의 반도체 메모리 장치(400a)를 제어하는 스토리지 컨트롤러(300)를 포함하는 스토리지 장치(200)의 동작 방법에 제공된다.
도 21의 방법은 단계(S200) 및 단계들(S310, S320, S330, S340, S350, S360, S370, S380)을 포함하고, 단계들(S310, S320, S330, S340, S350, S360, S370, S380) 각각은 도 20의 단계들(S110, S120, S130, S140, S150, S160, S70, S180) 각각과 실질적으로 동일하다. 따라서 도 21에서는 단계들(S310, S320, S330, S340, S350, S360, S370, S380)에 대한 설명은 생략한다.
도 21의 방법에서는 스토리지 컨트롤러(300)가 트레이닝 패턴들을 신호 라인들(361~36m)을 통하여 적어도 하나의 반도체 메모리 장치(400a)에 병렬로 전송하는 동안, 신호 라인들(361~36m) 상의 상기 트레이닝 패턴들 사이에서 발생하는 크로스토크를 감소시켜 트레인닝 패턴들의 아이 윈도우가 기준값 이상이 되게 하는(최대가 되게 하는) 스큐 오프셋들을 탐색하는 트레이닝을 수행하고(S200), 상기 트레이닝의 결과에 기초하여 상기 스큐 오프셋들을 스큐 정보(SKI)로서 제1 레지스터(390)에 저장한다(S310).
스토리지 컨트롤러(300)는 신호 라인들(361~36m) 상의 트레이닝 패턴들 각각에 대하여 상기 트레이닝을 순차적으로 수행하고, 순차적으로 수행된 트레이닝의 결과에 기초하여 스큐 오프셋들을 스큐 정보(SKI)로서 제1 레지스터(390)에 저장할 수 있다.
예를 들어, 도 4에서와 같이, 제1 내지 제m 데이터 신호들(DQ1~DQm)이 제1 내지 제m 신호 라인들(361~36m)을 통하여 비휘발성 메모리 장치(400a, 적어도 하나의 반도체 메모리 장치라 호칭될 수 있음)로 병렬로 전송되는 경우를 가정한다.
데이터 신호들(DQ1~DQm)과 신호 라인들(361~36m)의 개수가 m 개이므로 데이터 신호들(DQ1~DQm) 사이의 스큐 오프셋의 해상도(resolution)은 360도/m = A로 설정한다.
데이터 신호(DQ1)에 대한 트레이닝 패턴의 스큐 오프셋을 '0'으로 결정하고, 데이터 신호(DQ2)에 대한 트레이닝 패턴의 스큐 오프셋을 'A'로부터 'm*A)로 순차적으로 변화시키면서 데이터 라인(362) 상의 데이터 신호(DQ2)에 대한 트레이닝 패턴의 아이 윈도우를 최대가 되게 하는 스큐 오프셋을 제1 레지스터(390)에 저장한다.
데이터 신호(DQ2)에 대한 오프셋이 결정된 상태에서, 데이터 신호(DQ3)에 대한 트레이닝 패턴의 스큐 오프셋을 'A'로부터 'm*A)로 순차적으로 변화시키면서 데이터 라인(363) 상의 데이터 신호(DQ3)에 대한 트레이닝 패턴의 아이 윈도우를 최대로 만드는 스큐 오프셋을 제1 레지스터(390)에 저장한다.
이러한 과정을 데이터 신호들(DQ4~DQm)에 각각에 대하여 순차적으로 진행하여 데이터 신호들(DQ2~DQm) 각각에 대한 스큐 오프셋들이 제1 레지스터(390)에 저장되면, 상기 트레이닝이 완료된다.
실제 데이터 신호들(DQ1~DQm)을 비휘발성 메모리 장치(400a)에 전송하는 경우, 상기 트레이닝에서 결정된 스큐 오프셋들만큼 데이터 신호들(DQ1~DQm)을 비동기시켜 신호 라인들(361~36m) 상의 데이터 신호들(DQ1~DQm) 사이에서 발생할 수 있는 크로스토크를 감소시킬 수 있다.
도 22 및 도 23은 본 발명의 실시예들에 따른 스토리지 장치의 동작을 설명하기 위한 도면들이다.
도 22는 도 4의 스토리지 컨트롤러(300)가 병렬로 전송되는 데이터 신호들(DQ1~DQm)이 비동기되도록 스큐 오프셋들을 조절하지 않을 때 스토리지 컨트롤러(300)에서 출력되는 데이터 신호들(DQ1~DQm)의 아이 다이어그램(eye diagram)이다. 도 23은 본 발명의 실시예들에 따라 도 4의 스토리지 컨트롤러(300)가 병렬로 전송되는 데이터 신호들(DQ1~DQm)이 비동기되도록 스큐 오프셋들을 조절하는 경우에 스토리지 컨트롤러(300)에서 출력되는 데이터 신호들(DQ1~DQm)의 아이 다이어그램(eye diagram)이다.
도 22 및 23에서, 수평 축은 시간(time)을 나타내고, 수직 축은 데이터 신호들의 전압 레벨(V)을 나타낸다.
도 4, 도 22 및 도 23을 참조하면, 스토리지 장치(200)가 병렬로 전송되는 데이터 신호들(DQ1~DQm)이 비동기되도록 스큐 오프셋들을 조절하지 않을 때 스토리지 컨트롤러(300)에서 출력되는 데이터 신호들(DQ1~DQm)의 아이 윈도우(510)에 비하여 스토리지 장치(200)가 병렬로 전송되는 데이터 신호들(DQ1~DQm)이 비동기되도록 스큐 오프셋들을 조절하는 경우에 스토리지 컨트롤러(300)에서 출력되는 데이터 신호들(DQ1~DQm)의 아이 윈도우(520)가 증가하였음을 알 수 있다.
따라서 본 발명의 실시예들에 따르면, 스토리지 장치(200)가 병렬로 전송되는 데이터 신호들(DQ1~DQm)이 비동기되도록 스큐 오프셋들을 조절하는 경우에 스토리지 컨트롤러(300)에서 출력되는 데이터 신호들(DQ1~DQm)의 신호 무결성 특성이 향상됨을 알 수 있다.
도 24는 도 1의 스토리지 장치에서 휘발성 메모리 장치와 도 3의 스토리지 컨트롤러에서 휘발성 메모리 인터페이스의 연결을 나타낸다.
도 24를 참조하면, 휘발성 메모리 인터페이스(360)와 휘발성 메모리 장치(250)는 신호 라인들(221~22q, q는 4 이상의 자연수)을 통하여 휘발성 메모리 장치(250)와 데이터 신호들(VDQ1~VDQq)을 교환하고, 신호 라인(231)을 통하여 비휘발성 메모리 장치(400a)와 데이터 스트로브 신호(DQS1)를 교환할 수 있다. 신호 라인들(221~22q)과 신호 라인(231)은, 인쇄회로기판 내에 형성되어 스토리지 컨트롤러(300)와 휘발성 메모리 장치(250)를 연결시킬 수 있다. 따라서, 도 4를 참조하여 상술한 바와 같이 신호 라인들(221~22q) 사이의 간격은 감소하게 되고, 신호 라인들(221~22q) 상의 데이터 신호들(VDQ1~VDQq)이 동일한 에지를 갖는다면, 신호 라인들(221~22q) 상의 데이터 신호들(VDQ1~VDQq) 사이에서 크로스토크가 발생할 수 있다.
이러한 크로스토크를 감소시키기 위하여, 휘발성 메모리 인터페이스(360)는 제1 스프레드 지연고정루프 회로(361)와 제1 레지스터(363)를 포함하고, 휘발성 메모리 장치(250)는 제2 스프레드 지연고정루프 회로(251)와 제2 레지스터(253)를 포함하고, 휘발성 메모리 인터페이스(360)는 데이터 신호들(VDQ1~VDQq) 사이의 스큐들에 관한 스큐 정보(SKI1)를 제1 레지스터(363)에 저장하고, 스큐 정보(SKI1)를 휘발성 메모리 장치(250)에 전송할 수 있다.
따라서 휘발성 메모리 인터페이스(360)와 휘발성 메모리 장치(250)는 데이터 신호들(VDQ1~VDQq) 사에의 의도적으로 스큐들을 발생시켜 신호 라인들(221~22q) 상의 데이터 신호들(VDQ1~VDQq) 사이에서 발생하는 크로스토크를 감소시킬 수 있다. 또한 휘발성 메모리 장치(250)는 워드라인들과 비트라인들에 연결되는 복수의 휘발성 메모리 셀들을 구비하는 메모리 셀 어레이(255)를 포함할 수 있다.
본 발명의 실시예들에 따르면, 스토리지 컨트롤러가 스프레드 지연고정루프 회로를 포함하여 신호 라인들을 통하여 반도체 메모리 장치에 전송되는 데이터 신호들의 적어도 일부가 스큐 오프셋들만큼 비동기되도록 상기 데이터 신호들을 지연시켜 반도체 메모리 장치에 전송한다. 반도체 메모리 장치는 스큐 정보를 수신하고 스큐 정보에 따라서 상기 스큐 오프셋들을 상쇄시켜 데이터 신호들을 정렬한다. 따라서, 신호 라인들 상의 데이터 신호들 사이에서 발생하는 크로스토크를 감소시켜 신호 무결성을 증가시키고 성능을 향상시킬 수 있다.
도 25는 본 발명의 실시예들에 따른 스토리지 장치를 나타내는 블록도이다.
도 25를 참조하면, 스토리지 장치(600)는 스토리지 컨트롤러(700) 및 비휘발성 메모리 장치(800)를 포함한다. 비휘발성 메모리 장치(800)는 스토리지 컨트롤러(700)의 제어에 따라 기입 동작, 독출 동작 및 소거 동작을 수행할 수 있다.
스토리지 컨트롤러(700)는 버스(705)를 통해 서로 연결되는 호스트 인터페이스(710), 프로세서(720), 휘발성 메모리 장치(730) 및 비휘발성 메모리 인터페이스(740)를 포함한다.
호스트 인터페이스(710)는 외부의 호스트로부터 제공되는 리퀘스트들을 프로세서(720)에 전달한다. 프로세서(720)는 스토리지 컨트롤러(700)의 제반 동작을 제어한다. 프로세서(720)는 트레이닝 매니저(721) 및 에러 핸들러(723)를 포함할 수 있다. 트레이닝 매니저(721) 및 에러 핸들러(723)는 프로세서(720)의 회로들 또는 회로들에 의해 실행되는 코드들의 형태로 구현될 수 있다.
휘발성 메모리 장치(730)는 프로세서(720)의 동작 메모리로 사용될 수 있다. 휘발성 메모리 장치(730)는 외부의 호스트와 비휘발성 메모리 장치(800) 사이의 버퍼 메모리 또는 캐시 메모리로 사용될 수 있다.
비휘발성 메모리 인터페이스(740)는 프로세서(720)로부터 전달되는 리퀘스트들에 따라 동작할 수 있다. 비휘발성 메모리 인터페이스(740)는 제어 라인을 통하여 비휘발성 메모리 장치(800)에 커맨드(CMD)와 어드레스(ADDR)을 전송할 수 있고, 신호 라인들을 통하여 비휘발성 메모리 장치(800)와 데이터(DTA) 및 데이터 스트로브 신호(DQS)를 교환할 수 있다. 데이터(DTA)는 데이터 신호들을 포함할 수 있고, 비휘발성 메모리 인터페이스(740)는 병렬로 데이터 신호들을 비휘발성 메모리 장치(800)와 교환할 수 있다.
비휘발성 메모리 인터페이스(740)는 ECC 엔진(741), 제1 스프레드 지연고정루프 회로(743) 및 제1 레지스터(745)를 포함할 수 있다. ECC 엔진(741)은 도 3의 ECC 엔진(320)과 유사한 동작을 수행하고, 제1 스프레드 지연고정루프 회로(743) 및 제1 레지스터(745)는 도 4의 제1 스프레드 지연고정루프 회로(370) 및 제1 레지스터(390) 각각과 유사한 동작을 수행한다.
비휘발성 메모리 장치(800)는 메모리 셀 어레이(830), 어드레스 디코더(860), 페이지 버퍼 회로(810), 데이터 입출력 회로(820) 및 제어 회로(850)를 포함할 수 있다.
메모리 셀 어레이(830)는 스트링 선택 라인(미도시), 복수의 워드 라인들(WLs) 및 접지 선택 라인(미도시)을 통해 어드레스 디코더(860)와 연결될 수 있다. 또한, 메모리 셀 어레이(830)는 복수의 비트 라인들(BLs)을 통해 페이지 버퍼 회로(810)와 연결될 수 있다. 메모리 셀 어레이(830)는 복수의 워드 라인들(WLs) 및 복수의 비트 라인들(BLs)에 연결되는 복수의 비휘발성 메모리 셀들을 포함할 수 있다.
데이터 입출력 회로(820)는 데이터 라인들(DLs)을 통하여 페이지 버퍼 회로(810)와 연결되고, 제2 스프레드 지연고정루프 회로(821) 및 제2 레지스터(823)를 포함할 수 있다. 제2 스프레드 지연고정루프 회로(821) 및 제2 레지스터(823)는 도 4의 2 스프레드 지연고정루프 회로(480) 및 제2 레지스터(405) 각각과 유사한 동작을 수행할 수 있다.
제어 회로(850)는 비휘발성 메모리 인터페이스(740)로부터 제공되는 커맨드(CMD) 및 어드레스(ADDR)에 기초하여 비휘발성 메모리 장치(800)의 동작을 제어하고, 데이터 입출력 회로(820)는 비휘발성 메모리 인터페이스(740)와 데이터(DTA) 및 데이터 스트로브 신호(DQS)를 교환한다.
도 26은 본 발명의 실시예들에 따른 도 25의 스토리지 장치의 동작 방법을 나타내는 흐름도이다.
도 25 및 도 26을 참조하면, 스토리지 장치(600)가 부팅되거나 초기화되는 경우, 프로세서(720)의 트레이닝 매니저(721)는 트레이닝 패턴들을 신호 라인들을 통하여 비휘발성 메모리 장치(800)에 전송하고, 상기 신호 라인들 상에서 상기 트레이닝 패턴들 사이에서 발생하는 크로스토크를 최소가 되게 하는 스큐 오프셋들을 탐색하는 트레이닝을 수행하고, 상기 트레이닝의 결과에 기초하여 상기 스큐 오프셋들을 스큐 정보로서 제1 레지스터(745)에 저장할 수 있다(S410).
이후 비휘발성 메모리 인터페이스(740)는 기입 데이터에 포함되는 데이터 신호들이 상기 스큐 오프셋들만큼 비동기되도록 데이터 신호들을 지연시켜 비휘발성 메모리 장치(800)에 데이터를 전송한다.
스토리지 컨트롤러(600)는 비휘발성 메모리 장치(800)로부터 데이터 신호들을 포함하는 데이터를 독출한다(S420).
스토리지 컨트롤러(600, 프로세서(720))는 ECC 엔진(741)을 제어하여 독출 데이터로부터 에러들을 검출하고, 에러들의 수가 제1 문턱값(TV1)보다 큰 지 여부를 판단한다(S430).
에러들의 수가 제1 문턱값(TV1)보다 큰 경우(S430에서 YES), 스토리지 컨트롤러(600, 프로세서(720)의 에러 핸들러(723))는 에러들이 신호 전송 타이밍들의 변동으로부터 유발된 타이밍 에러들을 포함하는 지 판단할 수 있다.
예를 들어, 제1 스프레드 지연고정루프 회로(743)의 전압제어 지연라인의 지연량들이 고정된 후에 시간이 흐름에 따라 또는 온도가 변화함에 따라, 제1 스프레드 지연고정루프 회로(743)의 전압제어 지연라인의 지연량들이 변화할 수 있다. 프로세서(720)는 지연량들의 변동, 즉 신호 전송 타이밍들의 변동으로부터 유발된 타이밍 에러가 존재하는지 판단할 수 있다.
에러들이 타이밍 에러들을 포함하면(S440에서 YES), 프로세서(720)는 트레이닝을 다시 수행하여 스큐 오프셋들을 조절할 수 있다(S450). 조절된 스큐 오프셋들은 갱신된 스큐 정보로서 제1 레지스터(745)와 제2 레지스터(823)에 저장될 수 있다.
에러들의 수가 제1 문턱값(TV1)보다 크지 않은 경우(S430에서 NO)나, 에러들이 타이밍 에러들을 포함하지 않으면(S440에서 NO), 프로세서(720)는 도 26의 절차를 종료시킬 수 있다.
도 27은 본 발명의 실시예들에 따른 스토리지 시스템을 나타내는 블록도이다.
도 27을 참조하면, 스토리지 시스템(1000)은 호스트(1100)와 스토리지 장치(1200)를 포함한다. 스토리지 장치(1200)는 복수의 연결 단자들을 구비하는 커넥터(1201)를 통하여 호스트(1000)와 연결되어 통신할 수 있다. 커넥터(1201)는 도 1을 참조하여 설명한 바와 같이, 신호 커넥터 및 전원 커넥터를 포함할 수 있다.
호스트(1100)는 애플리케이션(1110), 장치 드라이버(1120), 호스트 컨트롤러(1130), 그리고 버퍼 램(1140)을 포함한다. 그리고 호스트 컨트롤러(1130)는 커맨드 관리자(CMD manager, 1131), 호스트 DMA(1132), 그리고 전원 관리자(1133)를 포함한다.
호스트(1100)의 애플리케이션(1110)과 장치 드라이버(1120)에서 생성된 커맨드(예를 들면, 기입 커맨드)은 호스트 컨트롤러(1130)의 커맨드 관리자(1131)에 입력된다. 커맨드 관리자(1131)는 장치 드라이버(1120)로부터 입력된 커맨드를 이용하여 스토리지 장치(1200)로 제공될 프로토콜(protocol) 또는 커맨드로 만든다. 커맨드 관리자(1131)에서 생성된 명령은 호스트 DMA(1132)로 제공된다. 호스트 DMA(1132)는 커맨드를 스토리지 인터페이스(1101)를 통해 스토리지 장치(2200)로 보낸다.
계속해서 도 27을 참조하면, 스토리지 장치(1200)는 비휘발성 메모리 장치들(1210), 장치 컨트롤러(1230), 그리고 버퍼 램(1240)을 포함한다. 그리고 장치 컨트롤러(1230)는 프로세서(1231), 장치 DMA(1232), 플래시 DMA(1233), 커맨드 관리자(CMD manager, 1234), 버퍼 관리자(1235), 플래시 변환 계층(FTL; Flash Translation Layer, 1236), 플래시 관리자(1237), 및 적응적 전력 공급 회로(1238)을 포함한다.
또한 스토리지 장치(1200)는 호스트(1100)로부터 제공되는 전원 전압(VES)을 수신하여 동작 전압을 생성하는 전원 공급 회로(1238)를 포함할 수 있다.
비휘발성 메모리 장치들(1210), 장치 컨트롤러(1230), 그리고 버퍼 램(1240)은 인쇄회로기판 상에 제공될 수 있다.
호스트(1100)로부터 스토리지 장치(1200)로 입력된 커맨드는 커넥터(1201)를 통해 장치 DMA(1232)로 제공된다.
장치 DMA(1232)는 입력된 명령을 커맨드 관리자(1234)로 제공한다. 커맨드 관리자(1234)는 버퍼 관리자(1235)를 통해 데이터를 입력 받을 수 있도록 버퍼 램(1240)을 할당한다. 커맨드 관리자(1234)는 데이터 전송 준비가 완료되면, 호스트(1100)로 전송 준비 완료 신호를 보낸다.
호스트(1100)는 전송 준비 완료 신호에 응답하여 데이터를 스토리지 장치(1200)로 전송한다. 데이터는 호스트 DMA(1132)와 스토리지 인터페이스(1101)를 통해 스토리지 장치(1200)로 전송된다.
스토리지 장치(1200)는 제공받은 데이터를 장치 DMA(1232)와 버퍼 관리자(1235)를 통해 버퍼 램(1240)에 저장한다. 버퍼 램(1240)에 저장된 데이터는 플래시 DMA(1233)를 통해 플래시 관리자(1237)로 제공된다. 플래시 관리자(1237)는 플래시 변환 계층(1236)의 어드레스 맵핑 정보를 참조하여, 비휘발성 메모리 장치들(1210)의 선택된 주소에 데이터를 저장한다.
스토리지 장치(1200)는 커맨드에 필요한 데이터 전송과 프로그램이 완료되면, 인터페이스를 통해 호스트(1100)로 응답신호(response)를 보내고, 명령 완료를 알린다. 호스트(1100)는 응답 신호를 전달받은 명령에 대한 완료 여부를 장치 드라이버(1120)와 애플리케이션(1110)에 알려주고, 해당 명령에 대한 동작을 종료한다.
상술한 바와 같이, 호스트(1100)와 스토리지 장치(1200)는 데이터 라인(DIN, DOUT)을 통해 데이터나 커맨드 또는 응답과 같은 신호를 주고 받는다.
장치 컨트롤러(1230)는 비휘발성 메모리 장치들(1210) 각각과 복수의 신호 라인들을 통하여 데이터 신호들을 교환하는데, 플래시 DMA(1233)는 본 발명의 실시예들에 따른 스프레드 지연고정루프 회로와 레지스터를 포함하여 스큐 오프셋들을 저장하고, 상기 스큐 오프셋들에 기초하여 데이터 신호들의 에지들 중 적어도 일부가 상기 스큐 오프셋들만큼 비동기되도록 데이터 신호들을 지연시켜 비휘발성 메모리 장치들(1210) 각각에 제공한다. 따라서 스토리지 장치(1200)는 장치 컨트롤러(1230)와 비휘발성 메모리 장치들(1210) 각각을 연결하는 신호 라인들에서 발생하는 있는 크로스토크를 감소시켜 신호 무결성을 증가시킬 수 있다.
본 발명의 실시 예에 따른 스토리지 장치 또는 스토리지 시스템은 다양한 형태들의 패키지를 이용하여 실장 될 수 있다.
본 발명은 스토리지 장치를 구비하는 임의의 전자 장치에 유용하게 이용될 수 있다.
상술한 바와 같이, 본 발명의 바람직한 실시예를 참조하여 설명하였지만 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (20)

  1. 데이터 스트로브 신호와 복수의 데이터 신호들에 의하여 기입 데이터를 수신하고, 상기 데이터 스트로브 신호와 상기 복수의 데이터 신호들을 사용하여 독출 데이터를 출력하는 적어도 하나의 반도체 메모리 장치; 및
    복수의 신호 라인들을 통하여 상기 데이터 스트로브 신호와 상기 데이터 신호들을 병렬로 상기 적어도 하나의 반도체 메모리 장치에 제공하는 스토리지 컨트롤러를 포함하고,
    상기 스토리지 컨트롤러는 상기 데이터 신호들 중 적어도 일부의 에지들이 서로 다른 제1 스큐 오프셋들만큼 비동기되도록 상기 데이터 신호들을 지연시키는 제1 지연 회로를 포함하는 스토리지 장치.
  2. 제1항에 있어서,
    상기 스토리지 컨트롤러는 상기 제1 스큐 오프셋들을 스큐 정보로서 저장하는 제1 레지스터를 포함하고,
    상기 데이터 신호들 각각은 제1 에지와 제2 에지에 의하여 정의되는 윈도우를 가지고,
    상기 일부의 에지들은 상기 제1 에지들의 일부에 해당하고,
    상기 제1 스큐 오프셋들은 상기 신호 라인들 상에서 상기 데이터 신호들 사이에서 발생하는 크로스토크를 감소시켜 상기 데이터 신호들의 아이(eye) 윈도우가 기준값 이상이 되도록 상기 데이터 신호들의 제1 에지들 사이의 차이들에 해당하는 스토리지 장치.
  3. 제2항에 있어서, 상기 스토리지 장치가 부팅되거나 초기화되는 경우에, 상기 스토리지 컨트롤러는,
    트레이닝 패턴들을 상기 신호 라인들을 통하여 상기 적어도 하나의 반도체 메모리 장치에 전송하고,
    상기 신호 라인들 상의 상기 트레이닝 패턴들 사이에서 발생하는 크로스토크를 최소가 되게 하는 스큐 오프셋들을 탐색하는 트레이닝을 수행하고,
    상기 트레이닝의 결과에 기초하여 상기 제1 스큐 오프셋들을 상기 스큐 정보로서 상기 제1 레지스터에 저장하는 스토리지 장치.
  4. 제3항에 있어서,
    상기 스토리지 컨트롤러는 상기 신호 라인들 상의 트레이닝 패턴들 각각에 대하여 순차적으로 상기 트레이닝을 수행하여 상기 스큐 오프셋들을 탐색하는 스토리지 장치.
  5. 제1항에 있어서,
    상기 스토리지 컨트롤러는 상기 스큐 정보를 셋 피쳐 커맨드, 모드 레지스터 세트 및 테스트 모드 레지스터 세트 중 하나를 이용하여 상기 적어도 하나의 반도체 메모리 장치에 전송하고,
    상기 적어도 하나의 반도체 메모리 장치는
    상기 스큐 정보를 수신하고, 상기 스큐 정보에 기초하여 상기 제1 스큐 오프셋들을 상쇄시키는 제2 스큐 오프셋들로 상기 데이터 신호들을 지연시켜 원본 데이터 신호들을 제공하는 제2 지연 회로를 포함하는 스토리지 장치.
  6. 제5항에 있어서,
    상기 적어도 하나의 반도체 메모리 장치는 상기 데이터 스트로브 신호에 기초하여 상기 원본 데이터 신호들을 샘플링하고 상기 샘플링된 원본 데이터 신호들을 내부로 제공하는 샘플링 회로를 더 포함하는 스토리지 장치.
  7. 제1항에 있어서,
    상기 적어도 하나의 반도체 메모리 장치는 비휘발성 메모리 셀들을 구비하는 비휘발성 메모리 장치이고,
    상기 스토리지 컨트롤러는
    상기 스토리지 컨트롤러의 제반 동작들을 제어하는 프로세서; 및
    상기 프로세서의 제어에 따라서 상기 비휘발성 메모리 장치와 인터페이싱하며 상기 제1 스프레드 지연고정루프 회로와 제1 레지스터를 포함하는 비휘발성 메모리 인터페이스를 포함하는 스토리지 장치.
  8. 제7항에 있어서,
    상기 데이터 신호들 각각은 제1 에지와 제2 에지에 의하여 정의되는 윈도우를 가지고,
    상기 에지들은 상기 제1 에지들에 해당하고,
    상기 제1 레지스터는 상기 제1 스큐 오프셋들을 스큐 정보로서 저장하고,
    상기 제1 스큐 오프셋들은 상기 신호 라인들 상에서 상기 데이터 신호들 사이에서 발생하는 크로스토크를 감소시켜 상기 데이터 신호들의 아이윈도우가 기준값 이상이 되도록 상기 데이터 신호들의 제1 에지들 사이의 차이들에 해당하는 해당하는 스토리지 장치.
  9. 제7항에 있어서,
    상기 스토리지 장치가 부팅되거나 초기화되는 경우에, 상기 프로세서는
    트레이닝 패턴들을 상기 신호 라인들을 통하여 상기 적어도 하나의 반도체 메모리 장치에 전송하고,
    상기 신호 라인들 상의 상기 트레이닝 패턴들 사이에서 발생하는 크로스토크를 최소가 되게 하는 스큐 오프셋들을 탐색하는 트레이닝을 수행하고,
    상기 트레이닝의 결과에 기초하여 상기 제1 스큐 오프셋들을 상기 스큐 정보로서 상기 제1 레지스터에 저장하는 스토리지 장치.
  10. 제9항에 있어서,
    상기 프로세서는 상기 비휘발성 메모리 장치의 아이들(idle) 구간에 상기 트레이닝을 수행하여 상기 스큐 정보를 갱신하고, 상기 갱신된 스큐 정보를 상기 비휘발성 메모리 장치에 전송하는 스토리지 장치.
  11. 제7항에 있어서, 상기 제1 지연 회로는
    상기 데이터 신호들 각각이 지연되기 전의 입력 데이터 신호와 상기 데이터 신호의 위상 차이를 검출하고 상기 위상 차이에 기초하여 업 신호와 다운 신호를 출력하는 위상 검출기;
    상기 업 신호와 상기 다운 신호에 기초하여 충전/방전 동작을 수행하여 제어 전압을 출력하는 차지 펌프; 및
    상기 제어 전압에 기초하여 상기 입력 데이터 신호의 지연량을 조절하여 상기 데이터 신호를 출력하는 전압제어 지연라인을 포함하는 스토리지 장치.
  12. 제7항에 있어서,
    상기 비휘발성 메모리 메모리 인터페이스는 클럭 신호가 상기 서로 다른 제1 오프셋들만큼 지연된 지연 클럭 신호들 각각에 동기되어 원본 데이터 신호들 각각을 래치하여 상기 데이터 신호들로 출력하는 복수의 송신 래치들을 포함하고,
    상기 제1 스프레드 지연고정루프 회로는 상기 제1 레지스터에 저장된 스큐 정보에 기초하여 상기 클럭 신호를 상기 제1 스큐 오프셋들만큼 지연시키는 스토리지 장치.
  13. 제7항에 있어서, 상기 비휘발성 메모리 장치는
    복수의 메모리 블록들로 구분되며, 워드라인들 및 비트라인들에 연결되는 상기 복수의 비휘발성 메모리 셀들을 포함하는 메모리 셀 어레이;
    상기 메모리 셀 어레이에 프로그램될 상기 데이터를 상기 신호 라인들을 통하여 상기 스토리지 컨트롤러로부터 수신하고, 상기 메모리 셀 어레이로부터 독출된 상기 독출 데이터를 상기 신호 라인들을 통하여 상기 스토리지 컨트롤러에 제공하는 데이터 입출력 회로; 및
    상기 데이터 입출력 회로를 제어하는 제어 회로를 포함하는 스토리지 장치.
  14. 제13항에 있어서,
    상기 데이터 입출력 회로는
    상기 스큐 정보를 수신하고 상기 수신된 스큐 정보를 저장하는 제2 레지스터; 및]
    상기 스큐 정보에 기초하여 상기 제1 스큐 오프셋들을 상쇄시키는 제2 스큐 오프셋들로 상기 데이터 신호들을 지연시켜 원본 데이터 신호들을 제공하는 제2 지연 회로를 포함하는 스토리지 장치.
  15. 제13항에 있어서,
    상기 복수의 메모리 블록들 중 적어도 하나는 기판 위에 순차적으로 적층되는 복수의 메모리 셀들을 구비하는 낸드 스트링들을 포함하는 스토리지 장치.
  16. 제1항에 있어서,
    상기 적어도 하나의 반도체 메모리 장치는 워드라인들과 비트라인들에 연결되는 복수의 휘발성 메모리 셀들을 구비하는 휘발성 메모리 장치인 스토리지 장치.
  17. 제1항에 있어서,
    상기 스토리지 컨트롤러와 상기 적어도 하나의 반도체 메모리 장치는 인쇄회로기판 상에 제공되고,
    상기 신호 라인들은 상기 인쇄회로기판 내에 제공되어 상기 스토리지 컨트롤러와 상기 적어도 하나의 반도체 메모리 장치를 연결시키는 스토리지 장치.
  18. 적어도 하나의 반도체 메모리 장치 및 상기 적어도 하나의 반도체 메모리 장치를 제어하는 스토리지 컨트롤러를 포함하는 스토리지 장치의 동작 방법으로서,
    상기 스토리지 컨트롤러가 트레이닝 패턴들을 신호 라인들을 통하여 상기 적어도 하나의 반도체 메모리 장치에 전송하는 동안, 상기 신호 라인들 상의 상기 트레이닝 패턴들 사이에서 발생하는 크로스토크를 최소가 되게 하는 스큐 오프셋들을 탐색하는 트레이닝을 수행하는 단계;
    상기 스토리지 컨트롤러가 상기 트레이닝의 결과에 기초하여 상기 스큐 오프셋들을 스큐 정보로서 내부의 레지스터에 저장하는 단계;
    상기 스토리지 컨트롤러가 상기 스큐 정보를 적어도 하나의 반도체 메모리 장치에 전송하는 단계;
    상기 스토리지 컨트롤러의 제1 지연 회로가 상기 스큐 정보에 기초하여 데이터 신호들 중 적어도 일부의 윈도우들의 제1 에지들이 상기 제1 스큐 오프셋들만큼 비동기도되록 상기 데이터 신호들을 지연시키는 단계;
    상기 스토리지 컨트롤러가 상기 지연된 데이터 신호들과 상기 데이터 스토로브 신호를 상기 신호 라인들을 통하여 상기 적어도 하나의 반도체 메모리 장치에 전송하는 단계; 및
    상기 적어도 하나의 반도체 메모리 장치의 제2 지연 회로가 상기 스큐 정보에 기초하여 상기 제1 스큐 오프셋들을 상쇄시키는 제2 스큐 오프셋들로 상기 데이터 신호들을 지연시켜 원본 데이터 신호들을 제공하는 단계를 포함하는 스토리지 장치의 동작 방법.
  19. 제18항에 있어서,
    상기 스토리지 컨트롤러는 상기 신호 라인들 상의 상기 트레이닝 패턴들 각각에 대하여 순차적으로 상기 트레이닝을 수행하여 상기 스큐 정보를 상기 레지스터에 저장하는 스토리지 장치의 동작 방법.
  20. 데이터 스트로브 신호와 복수의 데이터 신호들에 의하여 기입 데이터를 수신하고, 상기 데이터 스트로브 신호와 상기 복수의 데이터 신호들을 사용하여 독출 데이터를 출력하는 적어도 하나의 비휘발성 메모리 장치; 및
    복수의 신호 라인들을 통하여 상기 데이터 스트로브 신호와 상기 데이터 신호들을 병렬로 상기 적어도 하나의 비휘발성 메모리 장치에 제공하는 스토리지 컨트롤러를 포함하고,
    상기 데이터 신호들 각각은 제1 에지와 제2 에지에 의하여 정의되는 윈도우를 가지고,
    상기 스토리지 컨트롤러는 상기 데이터 신호들 중 적어도 일부의 윈도우들의 제1 에지들이 제1 스큐 오프셋들만큼 비동기되도록 상기 데이터 신호들을 지연시키는 제1 지연 회로를 포함하고,
    상기 스토리지 컨트롤러는 상기 스큐 정보를 상기 적어도 하나의 비휘발성 메모리 장치에 전송하고,
    상기 적어도 하나의 비휘발성 메모리 장치는
    상기 스큐 정보를 수신하고, 상기 스큐 정보에 기초하여 상기 제1 스큐 오프셋들을 상쇄시키는 제2 스큐 오프셋들로 상기 데이터 신호들을 지연시켜 원본 데이터 신호들을 제공하는 제2 지연 회로를 포함하는 스토리지 장치.
KR1020200100259A 2020-08-11 2020-08-11 스토리지 장치 및 스토리지 장치의 동작 방법 KR20220019944A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020200100259A KR20220019944A (ko) 2020-08-11 2020-08-11 스토리지 장치 및 스토리지 장치의 동작 방법
US17/201,761 US11532366B2 (en) 2020-08-11 2021-03-15 Storage devices and methods of operating storage devices
EP21171041.3A EP3955123B1 (en) 2020-08-11 2021-04-28 Storage devices and methods of operating storage devices
CN202110504878.9A CN114078556A (zh) 2020-08-11 2021-05-10 存储装置和操作存储装置的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200100259A KR20220019944A (ko) 2020-08-11 2020-08-11 스토리지 장치 및 스토리지 장치의 동작 방법

Publications (1)

Publication Number Publication Date
KR20220019944A true KR20220019944A (ko) 2022-02-18

Family

ID=75746146

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200100259A KR20220019944A (ko) 2020-08-11 2020-08-11 스토리지 장치 및 스토리지 장치의 동작 방법

Country Status (4)

Country Link
US (1) US11532366B2 (ko)
EP (1) EP3955123B1 (ko)
KR (1) KR20220019944A (ko)
CN (1) CN114078556A (ko)

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR930008655B1 (ko) 1991-07-02 1993-09-11 삼성전자 주식회사 누화방지 스위치회로
JPH0736175B2 (ja) 1991-10-11 1995-04-19 インターナショナル・ビジネス・マシーンズ・コーポレイション データ処理システムのシステム構成設定方法、データ処理システム、及びデータ処理システム用拡張ユニット
US7728638B2 (en) 2008-04-25 2010-06-01 Qimonda North America Corp. Electronic system that adjusts DLL lock state acquisition time
WO2010080174A1 (en) 2009-01-12 2010-07-15 Rambus Inc. Mesochronous signaling system with core-clock synchronization
WO2011106055A1 (en) * 2010-02-23 2011-09-01 Rambus Inc. Coordinating memory operations using memory-device generated reference signals
CN107093464A (zh) 2010-07-13 2017-08-25 桑迪士克科技有限责任公司 后台存储器系统接口的动态优化
US8472279B2 (en) * 2010-08-31 2013-06-25 Micron Technology, Inc. Channel skewing
KR101871234B1 (ko) 2012-01-02 2018-08-02 삼성전자주식회사 사운드 파노라마 생성 장치 및 방법
US10381055B2 (en) 2015-12-26 2019-08-13 Intel Corporation Flexible DLL (delay locked loop) calibration
JP6432699B2 (ja) 2016-01-25 2018-12-05 アイシン・エィ・ダブリュ株式会社 メモリコントローラ
US10229081B2 (en) 2016-09-26 2019-03-12 Dell Products, Lp System level crosstalk mitigation
US10103718B1 (en) 2017-04-05 2018-10-16 Xilinx, Inc. Recalibration of source synchronous systems
KR102340446B1 (ko) 2017-09-08 2021-12-21 삼성전자주식회사 스토리지 장치 및 그것의 데이터 트레이닝 방법
KR102499794B1 (ko) 2018-05-21 2023-02-15 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
KR20200019379A (ko) 2018-08-14 2020-02-24 삼성전자주식회사 반도체 메모리 장치의 지연 고정 루프 회로, 반도체 메모리 장치 및 지연 고정 루프 회로의 동작 방법
US11226752B2 (en) * 2019-03-05 2022-01-18 Apple Inc. Filtering memory calibration
US11120863B2 (en) * 2020-01-24 2021-09-14 Qualcomm Incorporated System and method for compensating for SDRAM signal timing drift through periodic write training
US11315622B2 (en) * 2020-03-30 2022-04-26 Micron Technology, Inc. DDR5 four-phase generator with improved metastability resistance
US11217285B1 (en) * 2020-08-05 2022-01-04 Apple Inc. Memory subsystem calibration using substitute results

Also Published As

Publication number Publication date
US20220051733A1 (en) 2022-02-17
EP3955123B1 (en) 2023-07-19
EP3955123A1 (en) 2022-02-16
US11532366B2 (en) 2022-12-20
CN114078556A (zh) 2022-02-22

Similar Documents

Publication Publication Date Title
CN104810054B (zh) 控制目标模块的写入均衡的电路及其方法
US8386737B2 (en) Memory devices and systems including write leveling operations and methods of performing write leveling operations in memory devices and systems
US9627079B1 (en) Storage device, memory system having the same, and operating method thereof
US20160180898A1 (en) Memory controller and memory system including the same
US10930329B2 (en) Storage device adjusting a timing of a data signal and a data strobe signal
US20190079699A1 (en) Buffer device supporting training operations for a plurality of memory devices, and memory module and memory system each including the buffer device
KR102542979B1 (ko) 데이터 저장 장치 및 이의 동작 방법
US8856621B2 (en) Memory controller for nonvolatile memory device, memory system comprising memory controller, and related methods of operation
US10755797B2 (en) Nonvolatile memory device, storage device including nonvolatile memory devices, and method of training data input and output lines between controller and nonvolatile memory devices
KR20160017983A (ko) 메모리 장치, 메모리 시스템 및 메모리 시스템의 동작 방법
CN108962304B (zh) 存储装置及其操作方法
CN110890125B (zh) 存储器装置及其操作方法
CN113625940A (zh) 存储装置和存储装置的重新训练方法
US11736098B2 (en) Memory package, semiconductor device, and storage device
US11082036B2 (en) Memory interface system for duty-cycle error detection and correction
EP3955123B1 (en) Storage devices and methods of operating storage devices
US11651805B2 (en) Memory package, storage device including memory package, and storage device operating method
KR102505920B1 (ko) 메모리 컨트롤러, 이를 포함하는 메모리 시스템 및 이의 동작 방법
US11150838B2 (en) Memory system and method of operating the memory system
KR20220090876A (ko) 스토리지 장치 및 스토리지 장치의 동작 방법
US11955160B2 (en) Asynchronous signal to command timing calibration for testing accuracy
KR20200126678A (ko) 메모리 시스템 및 그것의 동작 방법
EP3992967A1 (en) Memory package, storage device including memory package, and storage device operating method
CN112309444B (zh) 存储器接口电路、存储器存储装置及设定状态检测方法
CN115995250A (zh) 半导体存储器装置和操作半导体存储器装置的方法