KR20180070174A - 데이터 저장 장치 및 그것의 동작 방법 - Google Patents

데이터 저장 장치 및 그것의 동작 방법 Download PDF

Info

Publication number
KR20180070174A
KR20180070174A KR1020160172570A KR20160172570A KR20180070174A KR 20180070174 A KR20180070174 A KR 20180070174A KR 1020160172570 A KR1020160172570 A KR 1020160172570A KR 20160172570 A KR20160172570 A KR 20160172570A KR 20180070174 A KR20180070174 A KR 20180070174A
Authority
KR
South Korea
Prior art keywords
data
test
strobe signal
unit
delay
Prior art date
Application number
KR1020160172570A
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 KR1020160172570A priority Critical patent/KR20180070174A/ko
Priority to US15/484,923 priority patent/US10056125B2/en
Priority to TW106130622A priority patent/TWI747951B/zh
Priority to CN201710911655.8A priority patent/CN108206043B/zh
Publication of KR20180070174A publication Critical patent/KR20180070174A/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • G11C29/50012Marginal testing, e.g. race, voltage or current testing of timing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • 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/022Detection or location of defective auxiliary circuits, e.g. defective refresh counters in I/O 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/023Detection or location of defective auxiliary circuits, e.g. defective refresh counters in clock generator or timing circuitry
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
    • G11C29/56012Timing aspects, clock generation, synchronisation
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • G11C7/222Clock generating, synchronizing or distributing circuits within memory device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • 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

Abstract

데이터 저장 장치는 데이터를 스트로브 신호에 동기시켜 출력하도록 구성된 메모리 장치 및 서로 다른 테스트 지연 값들 각각에 근거하여 상기 스트로브 신호를 지연시켜 지연된 스트로브 신호로 상기 데이터의 캡쳐를 테스트하고, 테스트 결과에 근거하여 상기 스트로브 신호의 지연 값을 설정하도록 구성된 컨트롤러를 포함한다.

Description

데이터 저장 장치 및 그것의 동작 방법{DATA STORAGE DEVICE AND OPERATING METHOD THEREOF}
본 발명은 데이터 저장 장치에 관한 것으로, 더욱 상세하게는 메모리 장치를 포함하는 데이터 저장 장치에 관한 것이다.
데이터 저장 장치는 외부 장치의 라이트 요청에 응답하여, 외부 장치로부터 제공된 데이터를 저장하도록 구성될 수 있다. 또한, 데이터 저장 장치는 외부 장치의 리드 요청에 응답하여, 저장된 데이터를 외부 장치로 제공하도록 구성될 수 있다. 외부 장치는 데이터를 처리할 수 있는 전자 장치로서, 컴퓨터, 디지털 카메라 또는 휴대폰 등을 포함할 수 있다. 데이터 저장 장치는 외부 장치에 내장되어 동작하거나, 분리 가능한 형태로 제작되어 외부 장치에 연결됨으로써 동작할 수 있다.
본 발명의 실시 예는 외부 환경의 영항을 받지 않고 신속하게 캘리브레이션 동작을 수행하는 데이터 저장 장치 및 그것의 동작 방법을 제공하는 데 있다.
본 발명의 실시 예에 따른 데이터 저장 장치는 데이터를 스트로브 신호에 동기시켜 출력하도록 구성된 메모리 장치; 및 서로 다른 테스트 지연 값들 각각에 근거하여 상기 스트로브 신호를 지연시켜 지연된 스트로브 신호로 상기 데이터의 캡쳐를 테스트하고, 테스트 결과에 근거하여 상기 스트로브 신호의 지연 값을 설정하도록 구성된 컨트롤러를 포함할 수 있다.
본 발명의 실시 예에 따른 데이터 저장 장치의 동작 방법은 메모리 장치로부터 수신한 데이터 및 스트로브 신호를 저장하는 단계; 서로 다른 테스트 지연 값들 각각에 근거하여, 상기 스트로브 신호를 지연시켜 지연된 스트로브 신호로 상기 데이터의 캡쳐를 테스트하는 단계; 및 테스트 결과에 근거하여 상기 스트로브 신호의 지연 값을 설정하는 단계를 포함할 수 있다.
본 발명의 실시 예에 따른 데이터 저장 장치 및 그것의 동작 방법은 외부 환경의 영항을 받지 않고 신속하게 캘리브레이션 동작을 수행할 수 있다.
도1은 본 발명의 실시 예에 따른 데이터 저장 장치를 도시한 블록도,
도2는 도1의 캘리브레이션부를 예시적으로 도시하는 블록도,
도3은 도2의 쉬프터로부터 출력되는 데이터 및 지연된 스트로브 신호의 예시적인 타이밍도,
도4는 도2의 캡쳐부, 판단부 및 지연 값 산출부의 동작을 예시적으로 설명하기 위한 도면,
도5는 도1의 데이터 저장 장치의 캘리브레이션 동작 방법을 예시적으로 도시하는 순서도,
도6은 도2의 캘리브레이션부가 복수의 비휘발성 메모리 장치들에 대해 캘리브레이션 동작을 수행하는 방법을 설명하기 위한 도면,
도7은 본 발명의 실시 예에 따른 SSD를 도시하는 블록도,
도8은 본 발명의 실시 예에 따른 데이터 저장 장치가 적용된 데이터 처리 시스템을 도시하는 블록도이다.
이하, 도면들을 참조하여 본 발명의 실시 예에 대해 상세히 설명하기로 한다.
도1은 본 발명의 실시 예에 따른 데이터 저장 장치(10)를 도시한 블록도이다.
데이터 저장 장치(10)는 외부 장치의 라이트 요청에 응답하여, 외부 장치로부터 제공된 데이터를 저장하도록 구성될 수 있다. 또한, 데이터 저장 장치(10)는 외부 장치의 리드 요청에 응답하여, 저장된 데이터를 외부 장치로 제공하도록 구성될 수 있다.
데이터 저장 장치(10)는 PCMCIA(Personal Computer Memory Card International Association) 카드, CF(Compact Flash) 카드, 스마트 미디어 카드, 메모리 스틱, 다양한 멀티 미디어 카드(MMC, eMMC, RS-MMC, MMC-micro), SD(Secure Digital) 카드(SD, Mini-SD, Micro-SD), UFS(Universal Flash Storage) 또는 SSD(Solid State Drive) 등으로 구성될 수 있다.
데이터 저장 장치(10)는 컨트롤러(100) 및 적어도 하나의 비휘발성 메모리 장치(200)를 포함할 수 있다.
컨트롤러(100)는 처리부(110) 및 메모리 인터페이스(120)를 포함할 수 있다.
처리부(110)는 비휘발성 메모리 장치(200)의 라이트 동작 및 리드 동작을 제어할 수 있다. 처리부(110)는 메모리 인터페이스(120)를 통해 비휘발성 메모리 장치(200)로/비휘발성 메모리 장치(200)로부터 전송할/전송된 신호들을 처리할 수 있다. 예를 들어, 처리부(110)는 메모리 인터페이스(120)로부터 스트로브 신호(ST)에 동기된 데이터(DT)를 수신하고, 스트로브 신호(ST)로 데이터(DT)를 캡쳐하고, 캡쳐된 데이터를 처리할 수 있다.
한편, 처리부(110)는 캘리브레이션부(300)를 포함할 수 있다. 캘리브레이션부(300)는 데이터 리드 패스(11~13)를 통과하면서 데이터(DT) 및 스트로브 신호(ST)에 발생된 스큐를 해결하기 위해, 스트로브 신호(ST)의 지연 값을 산출할 수 있다. 처리부(110)는 캘리브레이션부(300)에 의해 산출된 지연 값을 스트로브 신호(ST)에 적용함으로써 스트로브 신호(ST)의 타이밍을 조절하고, 타이밍 조절된 스트로브 신호(ST)로 데이터(DT)를 정확하게 캡쳐할 수 있다.
구체적으로, 캘리브레이션부(300)는 서로 다른 테스트 지연 값들 각각에 근거하여 스트로브 신호(ST)를 지연시키고, 지연된 스트로브 신호로 데이터(DT)의 캡쳐를 테스트하고, 테스트 결과에 근거하여 스트로브 신호(ST)의 지연 값을 산출할 수 있다. 캘리브레이션부(300)는 비휘발성 메모리 장치(200)로부터 출력되고 메모리 인터페이스(120)로부터 수신한 데이터(DT) 및 스트로브 신호(ST)를 저장한 뒤 저장된 데이터 및 저장된 스트로브 신호를 이용하여 캘리브레이션 동작을 수행하므로, 비휘발성 메모리 장치(200)의 복수 회의 리드 동작을 요구하지 않을 수 있다. 따라서, 본 발명의 캘리브레이션 동작은 보다 신속하게 수행될 수 있고, 수행되는 중에 외부 환경에 따라 데이터 리드 패스(11~13)에 추가되는 에러 요인들로부터 영향을 받지 않으므로 정확한 지연 값을 산출할 수 있다.
한편, 캘리브레이션부(300)는 캘리브레이션 동작을 위해 테스트 데이터(미도시)를 비휘발성 메모리 장치(200)에 저장하고, 비휘발성 메모리 장치(200)가 저장된 테스트 데이터를 스트로브 신호(ST)에 동기시켜 출력하도록 제어할 수 있다. 이때, 캘리브레이션부(300)는 비휘발성 메모리 장치(200)가 테스트 데이터를 메모리 영역(230)에 저장하지 않고 데이터 버퍼(220)에만 저장하도록 제어할 수 있다. 따라서, 메모리 영역(230)에 포함된 메모리 셀들의 열화 및 메모리 셀들의 물리적 특성으로 인한 오차를 방지할 수 있다.
또한, 캘리브레이션부(300)는 캘리브레이션 동작의 정확성을 높이기 위해, SDR(Single Data Rate) 모드에서 테스트 데이터(DT)를 컨트롤러 인터페이스(210)로 전송하고, DDR(Double Data Rate) 모드에서 데이터(DT) 및 스트로브 신호(ST)를 컨트롤러 인터페이스(210)로부터 수신할 수 있다.
메모리 인터페이스(120)는 비휘발성 메모리 장치(200)의 컨트롤러 인터페이스(210)와 통신할 수 있다. 메모리 인터페이스(120)는 캘리브레이션 동작을 위해, 컨트롤러 인터페이스(210)로부터 수신한 데이터(DT) 및 스트로브 신호(ST)를 캘리브레이션부(300)로 전송할 수 있다.
비휘발성 메모리 장치(200)는 컨트롤러(100)의 제어에 따라, 메모리 영역(230)에 대해 라이트 동작 및 리드 동작을 수행할 수 있다. 비휘발성 메모리 장치(200)는 낸드 플래시(NAND Flash) 또는 노어 플래시(NOR Flash)와 같은 플래시 메모리 장치, FeRAM(Ferroelectrics Random Access Memory), PCRAM(Phase-Change Random Access Memory), MRAM(Magnetic Random Access Memory) 또는 ReRAM(Resistive Random Access Memory) 등을 포함할 수 있다.
비휘발성 메모리 장치(200)는 컨트롤러 인터페이스(210), 데이터 버퍼(220) 및 메모리 영역(230)을 포함할 수 있다.
컨트롤러 인터페이스(210)는 컨트롤러(100)의 메모리 인터페이스(120)와 통신할 수 있다. 컨트롤러 인터페이스(210)는 데이터 버퍼(220)로부터 수신한 데이터(DT)를 스트로브 신호(ST)에 동기시켜 메모리 인터페이스(120)로 전송할 수 있다. 또한, 컨트롤러 인터페이스(210)는 메모리 인터페이스(120)로부터 수신한 데이터, 예를 들어, 메모리 영역(230)에 저장될 데이터 또는 캘리브레이션 동작을 위한 테스트 데이터를 데이터 버퍼(220)로 전송할 수 있다.
데이터 버퍼(220)는 휘발성이고 메모리 영역(230) 및 컨트롤러 인터페이스(210) 사이에서 메모리 영역(230)에/메모리 영역(230)으로부터 라이트될/리드된 데이터를 임시 저장할 수 있다. 한편, 상술한 바와 같이 캘리브레이션 동작을 위한 테스트 데이터는 메모리 영역(230)에 저장되지 않고, 데이터 버퍼(220)에만 저장될 수 있다.
메모리 영역(230)은 데이터 버퍼(220)로부터 전송된 데이터를 저장할 수 있다. 비휘발성 메모리 장치(200)는 데이터를 저장할 수 있는 복수의 메모리 셀들을 포함할 수 있다.
도1은 하나의 비휘발성 메모리 장치(200)만을 도시하지만, 실시 예에 따라, 데이터 저장 장치(10)는 복수의 비휘발성 메모리 장치들을 포함할 수 있다.
도2는 도1의 캘리브레이션부(300)를 예시적으로 도시하는 블록도이다.
캘리브레이션부(300)는 테스트부(310) 및 지연 값 산출부(320)를 포함할 수 있다.
캘리브레이션 동작이 수행될 때, 테스트부(310)는 데이터(DT) 및 스트로브 신호(ST)를 수신하고, 테스트 지연 값들 각각만큼 지연된 스트로브 신호(ST)로 데이터(DT)를 캡쳐하고, 캡쳐가 성공/실패인지 여부를 판단할 수 있다. 테스트부(310)는 레지스터(311), 쉬프터(312), 캡쳐부(313) 및 판단부(314)를 포함할 수 있다.
레지스터(311)는 단위 지연 값(UVAL) 및 최대 테스트 횟수(MAXT)를 저장할 수 있다.
단위 지연 값(UVAL)은 스트로브 신호(ST)를 지연시키는 단위일 수 있다. 스트로브 신호(ST)에 적용되는 서로 다른 테스트 지연 값들은 단위 지연 값(UVAL)에 따라 결정될 수 있다. 즉, 테스트 지연 값들은 단위 지연 값(UVAL)만큼 차이날 수 있다. 단위 지연 값(UVAL)이 작을수록, 캘리브레이션 동작은 세밀하게 수행될 수 있다.
최대 테스트 횟수(MAXT)는 스트로브 신호(ST)의 서로 다른 테스트 지연 값들 각각에 근거하여, 데이터(DT)의 캡쳐를 테스트하는 총 횟수일 수 있다. 최대 테스트 횟수(MAXT)는 스트로브 신호(ST)의 주기를 단위 지연 값(UVAL)으로 나눈 수에 따라 결정될 수 있다. 예를 들어, 최대 테스트 횟수(MAXT)는 스트로브 신호(ST)의 주기를 단위 지연 값(UVAL)으로 나눈 수보다 작은 최대 정수로 결정될 수 있다.
쉬프터(312)는 수신한 데이터(DT) 및 스트로브 신호(ST)를 저장하고, 최대 테스트 횟수(MAXT)만큼 데이터(DT) 및 지연된 스트로브 신호(STD)를 출력할 수 있다. 이때, 지연된 스트로브 신호(STD)는, 단위 지연 값(UVAL)에 의해 결정된 테스트 지연 값들 각각에 근거하여 데이터(DT)보다 지연될 수 있다. 쉬프터(312)의 동작 방법은 도3을 통해 자세하게 설명될 것이다.
캡쳐부(313)는 쉬프터(312)로부터 수신한 지연된 스트로브 신호(STD)로 쉬프터(312)로부터 수신한 데이터(DT)를 캡쳐하고, 캡쳐된 데이터(DTC)를 출력할 수 있다.
판단부(314)는 캡쳐부(313)로부터 수신한 캡쳐된 데이터(DTC)에 근거하여 캡쳐가 성공/실패인지 여부를 판단하고, 성공/실패 결과를 포함하는 판단 신호(DET)를 출력할 수 있다. 판단부(314)는 캡쳐된 데이터(DTC)를 캘리브레이션 동작을 위해 비휘발성 메모리 장치(200)의 데이터 버퍼(220)에 저장하였던 소정의 테스트 데이터와 비교함으로써 캡쳐가 성공/실패인지 여부를 판단하고, 성공/실패 결과를 포함하는 판단 신호(DET)를 출력할 수 있다.
지연 값 산출부(320)는 판단 신호(DET)에 근거하여 스트로브 신호(ST)의 지연 값(VAL)을 산출할 수 있다. 구체적으로, 지연 값 산출부(320)는 테스트 지연 값들 각각에 대해 판단 신호(DET)에 포함된 성공/실패 결과를 저장하고, 캡쳐가 성공인 것으로 판단된 테스트 지연 값들의 중간 값을 스트로브 신호(ST)의 지연 값(VAL)으로 산출할 수 있다.
도3은 도2의 쉬프터(312)로부터 출력되는 데이터(DT) 및 지연된 스트로브 신호(STD)의 예시적인 타이밍도이다. 시점들에서 각각 출력된 데이터(DT) 및 지연된 스트로브 신호(STD)는 캡쳐부(313)로 전송될 수 있다.
도3을 참조하면, 우선, 시점(T30)에서, 쉬프터(312)는 비휘발성 메모리 장치(200)로부터 데이터(DT) 및 스트로브 신호(ST)를 수신하고 저장할 수 있다. 한편, 시점(T30)에서도 처리부(110)는 설정된 지연 값에 따라 스트로브 신호(ST)의 타이밍을 조절함으로써 스트로브 신호(ST)를 수신할 수 있다. 그러나, 캘리브레이션 동작이 완료되기 전이므로, 처리부(110)는 스트로브 신호(ST)의 지연 값을 "0"으로 설정하고 스트로브 신호(ST)를 수신할 수 있다.
이어서, 시점들(T31~T38), 쉬프터(312)는 저장된 데이터(DT) 및 저장된 스트로브 신호(ST)에 근거하여, 최대 테스트 횟수(MAXT)만큼 데이터(DT) 및 지연된 스트로브 신호(STD)를 출력할 수 있다. 시점들(T31~T38)에서, 지연된 스트로브 신호(STD)의 테스트 지연 값들(TVAL1~TVAL8)은 단위 지연 값(UVAL)만큼 점점 증가할 수 있다. 시점들(T31~T38), 도4를 통해 설명될 바와 같이, 캡쳐부(313)는 지연된 스트로브 신호(STD)로 데이터(DT)를 캡쳐하고, 판단부(314)가 캡쳐에 대해 성공 여부를 판단하여 판단 신호(DET)를 출력할 수 있다.
도4는 도2의 캡쳐부(313), 판단부(314) 및 지연 값 산출부(320)의 동작을 예시적으로 설명하기 위한 도면이다. 도4에서 데이터(DT)는 지연된 스트로브 신호(STD)의 라이징 엣지로 캡쳐되지만, DDR 모드에서 비휘발성 메모리 장치(200)로부터 출력되므로 폴링 엣지로도 캡쳐될 수 있다.
도4를 참조하면, 캡쳐부(313)는 쉬프터(312)로부터 출력된 데이터(DT) 및 지연된 스트로브 신호(STD)를 최대 테스트 횟수(MAXT)만큼 순차적으로 수신할 수 있다. 캡쳐부(313)는 데이터(DT) 및 지연된 스트로브 신호(STD)를 수신할 때마다, 지연된 스트로브 신호(STD)의 라이징 엣지로 데이터(DT)를 캡쳐할 수 있다.
그리고, 판단부(314)는 캡쳐된 데이터가 소정의 테스트 데이터와 일치할 경우 캡쳐가 성공인 것으로 판단할 수 있다. 예를 들어, 데이터(DT)는 테스트 지연 값들(TVAL1~TVAL3) 각각이 적용된 지연된 스트로브 신호(STD)로 정확하게 캡쳐될 수 있다. 이러한 경우, 데이터(DT)는 테스트 데이터와 일치할 수 있고, 테스트 지연 값들(TVAL1~TVAL3)에 대해 캡쳐는 성공인 것으로 판단될 수 있다. 그러나, 데이터(DT)는 테스트 지연 값들(TVAL4~TVAL8) 각각이 적용된 지연된 스트로브 신호(STD)로는 캡쳐될 수 없다. 이러한 경우, 데이터(DT)는 테스트 데이터와 불일치할 수 있고, 테스트 지연 값들(TVAL4~TVAL8)에 대해 캡쳐는 실패인 것으로 판단될 수 있다.
이어서, 지연 값 산출부(320)는 캡쳐가 성공인 것으로 판단된 테스트 지연 값들(TVAL1~TVAL3)의 중간 값(TVAL2)을 스트로브 신호(ST)의 지연 값(VAL)으로 산출할 수 있다. 이후, 비휘발성 메모리 장치(200)에 대해 리드 동작이 수행될 때, 처리부(110)는 산출된 지연 값(VAL)으로 스트로브 신호(ST)의 타이밍을 조절함으로써 데이터(DT)를 정확하게 캡쳐할 수 있다.
도5는 도1의 데이터 저장 장치(10)의 캘리브레이션 동작 방법을 예시적으로 도시하는 순서도이다.
단계(S110)에서, 캘리브레이션부(300)는 소정의 테스트 데이터를 비휘발성 메모리 장치(200)의 데이터 버퍼(220)에 저장할 수 있다.
단계(S120)에서, 캘리브레이션부(300)는 데이터 버퍼(220)에 저장된 데이터(DT)를 리드할 수 있다. 비휘발성 메모리 장치(200)는 데이터(DT)를 스트로브 신호(ST)에 동기시켜 컨트롤러(100)로 전송할 수 있다.
단계(S130)에서, 캘리브레이션부(300)는 비휘발성 메모리 장치(200)로부터 전송된 데이터(DT) 및 스트로브 신호(ST)를 수신하고 저장할 수 있다.
단계(S140)에서, 캘리브레이션부(300)는 테스트 지연 값을 단위 지연 값(UVAL)만큼 증가시킬 수 있다. 캘리브레이션 동작이 시작될 때, 테스트 지연 값은 단위 지연 값(UVAL)으로 설정될 수 있다.
단계(S150)에서, 캘리브레이션부(300)는 테스트 지연 값에 근거하여 지연된 스트로브 신호를 생성할 수 있다.
단계(S160)에서, 캘리브레이션부(300)는 지연된 스트로브 신호로 데이터를 캡쳐할 수 있다.
단계(S170)에서, 캘리브레이션부(300)는 캡쳐된 데이터를 테스트 데이터와 비교함으로써 캡쳐가 성공/실패인지 여부를 판단할 수 있다.
단계(S180)에서, 캘리브레이션부(300)는 최대 테스트 횟수만큼 테스트가 수행되었는지 여부를 판단할 수 있다. 최대 테스트 횟수만큼 테스트가 수행되지 않은 것으로 판단될 때, 절차는 단계(S140)로 진행될 수 있다. 즉, 캘리브레이션부(300)는, 단위 지연 값(UVAL)만큼 차이나는 서로 다른 테스트 지연 값들 각각에 근거하여 스트로브 신호(ST)를 지연시키고 지연된 스트로브 신호로 데이터를 캡쳐하는 테스트를, 최대 테스트 횟수만큼 반복할 수 있다. 최대 테스트 횟수만큼 테스트가 수행된 것으로 판단될 때, 절차는 단계(S190)로 진행될 수 있다.
단계(S190)에서, 캘리브레이션부(300)는 캡쳐가 성공인 것으로 판단된 테스트 지연 값들에 근거하여 스트로브 신호(ST)의 지연 값을 산출할 수 있다. 캘리브레이션부(300)는 캡쳐가 성공인 것으로 판단된 테스트 지연 값들의 중간 값을 스트로브 신호(ST)의 중간 값으로 산출할 수 있다.
도6은 도2의 캘리브레이션부(300)가 복수의 비휘발성 메모리 장치들에 대해 캘리브레이션 동작을 수행하는 방법을 설명하기 위한 도면이다.
실시 예에 따라, 데이터 저장 장치(10)는 도1의 비휘발성 메모리 장치(200)와 실질적으로 동일하게 구성되는 복수의 비휘발성 메모리 장치들, 예를 들어, 4개의 비휘발성 메모리 장치들(MEM1~MEM4)을 포함할 수 있다. 이러한 경우, 도2의 테스트부(310)는, 예를 들어, 10개의 서로 다른 테스트 지연 값들(TVAL1~TVAL10) 각각에 근거하여, 비휘발성 메모리 장치들(MEM1~MEM4)로부터 수신한 스트로브 신호들을 각각 지연시킬 수 있다. 그리고, 테스트부(310)는 테스트 지연 값들(TVAL1~TVAL10) 각각에 대해, 지연된 스트로브 신호들로 비휘발성 메모리 장치들(MEM1~MEM4)로부터 각각 수신된 데이터의 캡쳐가 성공/실패인지 여부를 판단할 수 있다. 그리고, 지연 값 산출부(320)는 비휘발성 메모리 장치(MEM1~MEM4)들 모두에 대해 캡쳐가 성공인 것으로 판단된 테스트 지연 값들(TVAL3~TVAL5)의 중간 값(TVAL4)을 비휘발성 메모리 장치들(MEM1~MEM4)의 스트로브 신호들의 지연 값(VAL)으로 산출할 수 있다. 이후, 처리부(110)는 비휘발성 메모리 장치들(MEM1~MEM4) 각각에 대해, 캘리브레이션부(300)에 의해 산출된 지연 값(VAL)으로 스트로브 신호의 타이밍을 조절함으로써 데이터를 정확하게 캡쳐할 수 있다. 즉, 캘리브레이션부(300)에 의해 산출되는 지연 값(VAL)은 비휘발성 메모리 장치들(MEM1~MEM4)로부터 수신되는 모든 스트로브 신호들에 공통적으로 적용될 수 있다.
그러나, 실시 예에 따라, 캘리브레이션부(300)는 상술한 방법에 따라 비휘발성 메모리 장치들(MEM1~MEM4)에 대해, 캘리브레이션 동작을 각각 수행함으로써 서로 다른 지연 값들을 각각 산출할 수도 있다.
도7은 본 발명의 실시 예에 따른 SSD(1000)를 도시하는 블록도이다.
SSD(1000)는 컨트롤러(1100)와 저장 매체(1200)를 포함할 수 있다.
컨트롤러(1100)는 호스트 장치(1500)와 저장 매체(1200) 사이의 데이터 교환을 제어할 수 있다. 컨트롤러(1100)는 내부 버스(1170)을 통해 연결된 프로세서(1110), 램(1120), 롬(1130), ECC부(1140), 호스트 인터페이스(1150) 및 저장 매체 인터페이스(1160)를 포함할 수 있다.
컨트롤러(1100)는 도1에 도시된 컨트롤러(100)와 실질적으로 유사하게 캘리브레이션 동작을 수행할 수 있다. 컨트롤러(1100)는 서로 다른 테스트 지연 값들 각각에 근거하여, 비휘발성 메모리 장치들(NVM0~NVMn)로부터 수신한 스트로브 신호들을 각각 지연시킬 수 있다. 그리고, 컨트롤러(1100)는 테스트 지연 값들 각각에 대해, 지연된 스트로브 신호들로 비휘발성 메모리 장치들(NVM0~NVMn)로부터 각각 수신된 데이터의 캡쳐가 성공/실패인지 여부를 판단할 수 있다. 그리고, 컨트롤러(1100)는 비휘발성 메모리 장치(NVM0~NVMn)들 모두에 대해 캡쳐가 성공인 것으로 판단된 테스트 지연 값들의 중간 값을 비휘발성 메모리 장치들(NVM0~NVMn)의 스트로브 신호들의 지연 값으로 산출할 수 있다.
프로세서(1110)는 컨트롤러(1100)의 제반 동작을 제어할 수 있다. 프로세서(1110)는 호스트 장치(1500)의 데이터 처리 요청에 따라 저장 매체(1200)에 데이터를 저장하고, 저장 매체(1200)로부터 저장된 데이터를 리드할 수 있다. 프로세서(1110)는 저장 매체(1200)를 효율적으로 관리하기 위해서, 머지 동작 및 웨어 레벨링 동작 등과 같은 SSD(1000)의 내부 동작을 제어할 수 있다.
램(1120)은 프로세서(1110)에 의해 사용되는 프로그램 및 프로그램 데이터를 저장할 수 있다. 램(1120)은 호스트 인터페이스(1150)로부터 전송된 데이터를 저장 매체(1200)에 전달하기 전에 임시 저장할 수 있고. 저장 매체(1200)로부터 전송된 데이터를 호스트 장치(1500)로 전달하기 전에 임시 저장할 수 있다.
롬(1130)은 프로세서(1110)에 의해 리드되는 프로그램 코드를 저장할 수 있다. 프로그램 코드는 프로세서(1110)가 컨트롤러(1100)의 내부 유닛들을 제어하기 위해서 프로세서(1110)에 의해 처리되는 명령들을 포함할 수 있다.
ECC부(1140)는 저장 매체(1200)에 저장될 데이터를 인코딩하고, 저장 매체(1200)로부터 리드된 데이터를 디코딩할 수 있다. ECC부(1140)는 ECC 알고리즘에 따라 데이터에 발생된 에러를 검출하고 정정할 수 있다.
호스트 인터페이스(1150)는 호스트 장치(1500)와 데이터 처리 요청 및 데이터 등을 교환할 수 있다.
저장 매체 인터페이스(1160)는 저장 매체(1200)로 제어 신호 및 데이터를 전송할 수 있다. 저장 매체 인터페이스(1160)는 저장 매체(1200)로부터 데이터를 전송받을 수 있다. 저장 매체 인터페이스(1160)는 저장 매체(1200)와 복수의 채널들(CH0~CHn)을 통해 연결될 수 있다.
저장 매체(1200)는 복수의 비휘발성 메모리 장치들(NVM0~NVMn)을 포함할 수 있다. 복수의 비휘발성 메모리 장치들(NVM0~NVMn) 각각은 컨트롤러(1100)의 제어에 따라 라이트 동작 및 리드 동작을 수행할 수 있다.
도8은 본 발명의 실시 예에 따른 데이터 저장 장치(10)가 적용된 데이터 처리 시스템(2000)을 도시하는 블록도이다.
데이터 처리 시스템(2000)은 컴퓨터, 랩탑, 넷북, 스마트폰, 디지털 TV, 디지털 카메라, 네비게이션 등을 포함할 수 있다. 데이터 처리 시스템(2000)은 메인 프로세서(2100), 메인 메모리 장치(2200), 데이터 저장 장치(2300) 및 입출력 장치(2400)를 포함할 수 있다. 데이터 처리 시스템(2000)의 내부 유닛들은 시스템 버스(2500)를 통해서 데이터 및 제어 신호 등을 주고받을 수 있다.
메인 프로세서(2100)는 데이터 처리 시스템(2000)의 제반 동작을 제어할 수 있다. 메인 프로세서(2100)는, 예를 들어, 마이크로프로세서와 같은 중앙 처리 장치일 수 있다. 메인 프로세서(2100)는 운영 체제, 애플리케이션 및 장치 드라이버 등의 소프트웨어들을 메인 메모리 장치(2200) 상에서 수행할 수 있다.
메인 메모리 장치(2200)는 메인 프로세서(2100)에 의해 사용되는 프로그램 및 프로그램 데이터를 저장할 수 있다. 메인 메모리 장치(2200)는 데이터 저장 장치(2300) 및 입출력 장치(2400)로 전송될 데이터를 임시 저장할 수 있다.
데이터 저장 장치(2300)는 컨트롤러(2310) 및 저장 매체(2320)를 포함할 수 있다. 데이터 저장 장치(2300)는 도1의 데이터 저장 장치(10)와 실질적으로 유사하게 구성되고 동작할 수 있다.
입출력 장치(2400)는 사용자로부터 데이터 처리 시스템(2000)을 제어하기 위한 명령을 입력받거나 처리된 결과를 사용자에게 제공하는 등 사용자와 정보를 교환할 수 있는 키보드, 스캐너, 터치스크린, 스크린 모니터, 프린터 및 마우스 등을 포함할 수 있다.
실시 예에 따라, 데이터 처리 시스템(2000)은 LAN(Local Area Network), WAN(Wide Area Network) 및 무선 네트워크 등의 네트워크(2600)를 통해 적어도 하나의 서버(2700)와 통신할 수 있다. 데이터 처리 시스템(2000)은 네트워크(2600)에 접속하기 위해서 네트워크 인터페이스(미도시)를 포함할 수 있다.
본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있으므로, 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
10: 데이터 저장 장치
100: 컨트롤러
110: 처리부
120: 메모리 인터페이스
300: 캘리브레이션부
200: 비휘발성 메모리 장치
210: 컨트롤러 인터페이스
220: 데이터 버퍼
230: 메모리 영역

Claims (14)

  1. 데이터를 스트로브 신호에 동기시켜 출력하도록 구성된 메모리 장치; 및
    서로 다른 테스트 지연 값들 각각에 근거하여 상기 스트로브 신호를 지연시켜 지연된 스트로브 신호로 상기 데이터의 캡쳐를 테스트하고, 테스트 결과에 근거하여 상기 스트로브 신호의 지연 값을 설정하도록 구성된 컨트롤러를 포함하는 데이터 저장 장치.
  2. 제1항에 있어서,
    상기 컨트롤러는,
    상기 테스트 지연 값들 각각에 대해, 상기 캡쳐가 성공/실패인지 여부를 판단하는 테스트부; 및
    상기 캡쳐가 성공인 것으로 판단된 테스트 지연 값들에 근거하여 상기 지연 값을 산출하도록 구성된 지연 값 산출부를 포함하는 데이터 저장 장치.
  3. 제2항에 있어서,
    상기 테스트부는,
    상기 메모리 장치로부터 수신된 상기 데이터 및 상기 스트로브 신호를 저장하고, 상기 테스트 지연 값들 각각에 근거하여 상기 데이터 및 상기 지연된 스트로브 신호를 출력하도록 구성된 쉬프터;
    상기 지연된 스트로브 신호로 상기 데이터를 캡쳐하고, 캡쳐된 데이터를 출력하도록 구성된 캡쳐부; 및
    상기 캡쳐된 데이터를 테스트 데이터와 비교함으로써 상기 캡쳐가 성공/실패인지 여부를 판단하도록 구성된 판단부를 포함하는 데이터 저장 장치.
  4. 제3항에 있어서,
    상기 테스트 지연 값들은 단위 지연 값만큼 차이나고,
    상기 쉬프터는 상기 단위 지연 값 및 상기 스트로브 신호의 주기에 의해 결정된 최대 테스트 횟수만큼, 상기 데이터 및 상기 지연된 스트로브 신호를 출력하는 데이터 저장 장치.
  5. 제2항에 있어서,
    상기 지연 값 산출부는, 상기 캡쳐가 성공인 것으로 판단된 상기 테스트 지연 값들의 중간 값을 상기 지연 값으로 산출하는 데이터 저장 장치.
  6. 제2항에 있어서,
    데이터를 스트로브 신호에 동기시켜 각각 출력하도록 구성된 하나 이상의 메모리 장치들을 더 포함하고,
    상기 테스트부는 상기 테스트 지연 값들 각각에 대해, 상기 메모리 장치들로부터 각각 수신된 데이터의 캡쳐가 성공/실패인지 여부를 판단하고,
    상기 지연 값 산출부는 상기 메모리 장치들 모두에 대해 상기 캡쳐가 성공인 것으로 판단된 테스트 지연 값들의 중간 값을 상기 지연 값으로 산출하는 데이터 저장 장치.
  7. 제1항에 있어서,
    상기 메모리 장치는 휘발성인 데이터 버퍼를 포함하고,
    상기 컨트롤러는 상기 데이터 버퍼에 테스트 데이터를 저장하고, 상기 데이터 버퍼에 저장된 상기 테스트 데이터를 상기 데이터로서 리드하는 데이터 저장 장치.
  8. 제7항에 있어서,
    상기 컨트롤러는 SDR 모드에서 상기 데이터 버퍼에 상기 테스트 데이터를 저장하고, DDR 모드에서 상기 데이터 버퍼로부터 상기 테스트 데이터를 리드하는 데이터 저장 장치.
  9. 메모리 장치로부터 수신한 데이터 및 스트로브 신호를 저장하는 단계;
    서로 다른 테스트 지연 값들 각각에 근거하여, 상기 스트로브 신호를 지연시켜 지연된 스트로브 신호로 상기 데이터의 캡쳐를 테스트하는 단계; 및
    테스트 결과에 근거하여 상기 스트로브 신호의 지연 값을 설정하는 단계를 포함하는 데이터 저장 장치의 동작 방법.
  10. 제9항에 있어서,
    상기 캡쳐를 테스트하는 단계는,
    상기 지연된 스트로브 신호로 캡쳐된 데이터를 테스트 데이터와 비교함으로써 상기 캡쳐가 성공/실패인지 여부를 판단하는 단계를 포함하는 데이터 저장 장치의 동작 방법.
  11. 제9항에 있어서,
    상기 지연 값을 설정하는 단계는,
    상기 캡쳐가 성공인 것으로 판단된 상기 테스트 지연 값들의 중간 값을 상기 지연 값으로 산출하는 단계를 포함하는 데이터 저장 장치의 동작 방법.
  12. 제9항에 있어서,
    상기 테스트 지연 값들은 단위 지연 값만큼 차이나고, 상기 테스트 지연 값들의 개수는 상기 단위 지연 값 및 상기 스트로브 신호의 주기에 의해 결정되는 데이터 저장 장치의 동작 방법.
  13. 제9항에 있어서,
    테스트 데이터를 상기 메모리 장치의 휘발성인 데이터 버퍼에 저장하는 단계; 및
    상기 데이터 버퍼에 저장된 상기 테스트 데이터를 상기 데이터로서 리드하는 단계를 더 포함하는 데이터 저장 장치의 동작 방법.
  14. 제13항에 있어서,
    상기 테스트 데이터는, SDR 모드에서 상기 데이터 버퍼에 저장되고, DDR 모드에서 상기 데이터 버퍼로부터 리드되는 데이터 저장 장치의 동작 방법.
KR1020160172570A 2016-12-16 2016-12-16 데이터 저장 장치 및 그것의 동작 방법 KR20180070174A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020160172570A KR20180070174A (ko) 2016-12-16 2016-12-16 데이터 저장 장치 및 그것의 동작 방법
US15/484,923 US10056125B2 (en) 2016-12-16 2017-04-11 Data storage device and operating method thereof
TW106130622A TWI747951B (zh) 2016-12-16 2017-09-07 數據儲存裝置及其操作方法
CN201710911655.8A CN108206043B (zh) 2016-12-16 2017-09-29 数据存储装置及其操作方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160172570A KR20180070174A (ko) 2016-12-16 2016-12-16 데이터 저장 장치 및 그것의 동작 방법

Publications (1)

Publication Number Publication Date
KR20180070174A true KR20180070174A (ko) 2018-06-26

Family

ID=62561838

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160172570A KR20180070174A (ko) 2016-12-16 2016-12-16 데이터 저장 장치 및 그것의 동작 방법

Country Status (4)

Country Link
US (1) US10056125B2 (ko)
KR (1) KR20180070174A (ko)
CN (1) CN108206043B (ko)
TW (1) TWI747951B (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10580476B2 (en) * 2018-01-11 2020-03-03 International Business Machines Corporation Simulating a single data rate (SDR) mode on a dual data rate (DDR) memory controller for calibrating DDR memory coarse alignment
KR20200129588A (ko) * 2019-05-09 2020-11-18 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작방법
CN113450867B (zh) * 2020-03-27 2022-04-12 长鑫存储技术有限公司 形成用于存储器测试的数据库的方法及存储器测试方法
CN113064844B (zh) * 2021-04-27 2022-10-28 长江存储科技有限责任公司 存储器写入的训练方法和系统

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6016066A (en) * 1998-03-19 2000-01-18 Intel Corporation Method and apparatus for glitch protection for input buffers in a source-synchronous environment
US6594609B1 (en) * 2000-11-25 2003-07-15 Advantest, Corp. Scan vector support for event based test system
US6889334B1 (en) * 2001-10-02 2005-05-03 Advanced Micro Devices, Inc. Multimode system for calibrating a data strobe delay for a memory read operation
US7443741B2 (en) * 2005-07-07 2008-10-28 Lsi Corporation DQS strobe centering (data eye training) method
JP2008210487A (ja) * 2007-02-28 2008-09-11 Fujitsu Ltd Ddr−sdramインターフェース回路、その試験方法、およびその試験システム
US7924637B2 (en) * 2008-03-31 2011-04-12 Advanced Micro Devices, Inc. Method for training dynamic random access memory (DRAM) controller timing delays
JP2010108217A (ja) * 2008-10-30 2010-05-13 Nec Electronics Corp メモリインターフェース及びメモリインターフェースの動作方法
JP5733126B2 (ja) * 2011-09-15 2015-06-10 富士通セミコンダクター株式会社 メモリインタフェース回路及びタイミング調整方法
US8760946B2 (en) * 2012-05-22 2014-06-24 Advanced Micro Devices Method and apparatus for memory access delay training
US20150194196A1 (en) * 2014-01-09 2015-07-09 Sunplus Technology Co., Ltd. Memory system with high performance and high power efficiency and control method of the same
CN103927131B (zh) 2014-03-25 2017-02-15 四川和芯微电子股份有限公司 同步闪存u盘的启动方法及其控制系统
US9524799B2 (en) * 2014-12-30 2016-12-20 Sandisk Technologies Llc Method and apparatus to tune a toggle mode interface

Also Published As

Publication number Publication date
US10056125B2 (en) 2018-08-21
TW201824290A (zh) 2018-07-01
CN108206043B (zh) 2021-09-07
CN108206043A (zh) 2018-06-26
US20180174628A1 (en) 2018-06-21
TWI747951B (zh) 2021-12-01

Similar Documents

Publication Publication Date Title
CN108206043B (zh) 数据存储装置及其操作方法
US9898199B2 (en) Data storage device and operating method thereof
US10268540B2 (en) Data storage device and operating method thereof
US8856579B2 (en) Memory interface having extended strobe burst for read timing calibration
JP2008090778A (ja) 不揮発性メモリ用メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、不揮発性メモリのメモリ制御方法
CN108874686B (zh) 内存参数调节方法、装置及设备
US20200409562A1 (en) Management operations in predictable latency mode
CN113129939B (zh) 具有温度缓解机制的设备及其操作方法
US9483193B1 (en) Data storage device
KR20170116384A (ko) 데이터 저장 장치 및 그것의 동작 방법
US10741261B1 (en) Method and system for improving performance of a storage device using asynchronous independent plane read functionality
CN107783729B (zh) 数据存储装置
KR20170101367A (ko) 데이터 저장 장치 및 그것의 동작 방법
US20200089413A1 (en) Storage device and control method
US20210263867A1 (en) Memory protocol with command priority
KR20170093370A (ko) 데이터 저장 장치
KR20190060424A (ko) 에러 테스트를 위한 메모리 시스템
KR20180108939A (ko) 데이터 저장 장치 및 그것의 동작 방법
US20180196620A1 (en) Data storage device and operating method thereof
US10037151B2 (en) Data storage device performing pattern identification operation, operating method thereof, and data processing system including the same
TWI711929B (zh) 處理識別裝置及用於處理識別之方法
US9823853B2 (en) Data storage device including controller for controlling nonvolatile memory devices
US8635487B2 (en) Memory interface having extended strobe burst for write timing calibration
KR20180009246A (ko) 비휘발성 메모리 장치, 데이터 저장 장치 및 그것의 동작 방법
KR20240049864A (ko) 메모리 시스템 및 그 동작 방법

Legal Events

Date Code Title Description
E902 Notification of reason for refusal