KR101096884B1 - 메모리 시스템 - Google Patents

메모리 시스템 Download PDF

Info

Publication number
KR101096884B1
KR101096884B1 KR1020097017688A KR20097017688A KR101096884B1 KR 101096884 B1 KR101096884 B1 KR 101096884B1 KR 1020097017688 A KR1020097017688 A KR 1020097017688A KR 20097017688 A KR20097017688 A KR 20097017688A KR 101096884 B1 KR101096884 B1 KR 101096884B1
Authority
KR
South Korea
Prior art keywords
unit
data
delay
error correction
trimming
Prior art date
Application number
KR1020097017688A
Other languages
English (en)
Other versions
KR20090117748A (ko
Inventor
야스시 나가도미
Original Assignee
가부시끼가이샤 도시바
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 가부시끼가이샤 도시바 filed Critical 가부시끼가이샤 도시바
Publication of KR20090117748A publication Critical patent/KR20090117748A/ko
Application granted granted Critical
Publication of KR101096884B1 publication Critical patent/KR101096884B1/ko

Links

Images

Classifications

    • 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/26Sensing or reading circuits; Data output 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/32Timing circuits
    • 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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Read Only Memory (AREA)
  • Memory System (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Dram (AREA)

Abstract

메모리 시스템은 본 발명에 따라, 불휘발성 메모리, 상기 불휘발성 메모리를 제어하는 제어 회로, 상기 제어 회로를 제어하는 MPU, 및 호스트와의 통신을 수행하는 인터페이스 회로를 포함하며, 상기 제어 회로는, 상기 불휘발성 메모에 리드 인에이블 신호를 출력하여 데이터를 판독하는 판독 유닛; 상기 리드 인에이블 신호를 복귀시킴으로써 획득된 신호를 지연시켜, 이 신호를 클록으로서 출력하는 지연 유닛; 및 상기 지연 유닛으로부터 출력된 상기 클록을 사용함으로써 상기 불휘발성 메모리로부터 판독된 상기 데이터를 래치하여 출력하는 래치 유닛을 포함한다.

Description

메모리 시스템{MEMORY SYSTEM}
본 발명은 불휘발성 반도체 메모리를 사용함으로써 구성되는 메모리 시스템에 관한 것이다.
컴퓨터 시스템용으로 사용되는 외부 메모리로서 플래시 메모리(flash EEPROM)를 갖춘 메모리 시스템으로서 SSD(Solid State Drive; 고체 상태 드라이브)가 최근 주목을 끌어 왔다. 플래시 메모리는 자기 디스크 유닛과 비교하여, 고속이며 경량이라는 이점들을 가지고 있다.
SSD는, 복수의 플래시 메모리 칩들, 호스트 장치로부터의 요청에 응답하여 각 플래시 메모리 칩들의 판독 및 기록을 제어하는 제어기, 각 플래시 메모리 칩들과 호스트 장치 간의 데이터 전송을 수행하기 위한 버퍼 메모리, 및 호스트 장치에 대한 접속 인터페이스를 포함한다(예컨대, 일본 특허 공보 제3688835).
그러나, SSD가 설계될 때, 복수의 메모리 칩들이 스택된(stacked) 스택 제품이, 데이터 용량을 증가시키기 위하여 사용될 필요가 있지만, 제어기 칩의 핀들 수와 탑재 풋프린트(footprint)들이 제한된다. 이러한 스택 제품에서, 그 내부에 IO 신호선과 제어 신호선이 몇몇 메모리 칩들용으로 배열되어 있고, 각 신호선들의 부하 용량은 적층된 메모리 칩들의 수의 증가에 따라 증가한다.
각 신호선들의 부하 용량이 증가하면, IO 신호 및 제어 신호에서 CR 지연으로 인하여 지연이 발생한다. 동기 설계된 제어기가 사용되면, 메모리로부터 판독된 데이터는 낮은 부하 상태(스택들수가 작은)에서 래치되어 출력될 수 있으나, 높은 부하 상태(스택들수가 큰)에서, 메모리로부터 판독된 데이터는 CR 지연으로 유발된 데이터의 지연으로 인하여 래치되어 출력되지 않을 수도 있다.
본 발명의 목적은, 불휘발성 메모리에서의 신호선의 부하 용량이 증가해도, 불휘발성 메모리로부터 데이터를 판독하여, 이 데이터를 신뢰성있게 출력할 수 있는 메모리 시스템을 제공하는 것이다.
상기 문제점들을 해결하고 상기 목적을 달성하기 위하여, 메모리 시스템은 본 발명의 태양에 따르면, 불휘발성 메모리, 상기 불휘발성 메모리를 제어하는 제어 회로, 상기 제어 회로를 제어하는 MPU, 및 호스트와의 통신을 수행하는 인터페이스 회로를 포함하며, 상기 제어 회로는, 리드 인에이블 신호(read enable signal)를 상기 불휘발성 메모리에 출력하여 데이터를 판독하는 판독 유닛; 상기 리드 인에이블 신호를 복귀시킴으로써 획득된 신호를 지연시켜, 이 신호를 클록으로서 출력하는 지연 유닛; 및 상기 지연 유닛으로부터 출력된 상기 클록을 사용함으로써 상기 불휘발성 메모리로부터 판독된 상기 데이터를 래치하여 출력하는 래치 유닛을 포함한다.
도 1은 SSD의 구성예의 블록도이다.
도 2는 NAND 메모리 칩에 포함된 하나의 블록의 구성예의 회로도이다.
도 3은 드라이브 제어 회로의 내부 하드웨어 구성예의 블록도이다.
도 4는 NAND 메모리에 기록될 데이터의 포맷의 일예이다.
도 5는 NAND I/F 와 NAND 메모리 간의 접속의 설명도이다.
도 6은 NAND 메모리의 부하 용량과 CR 지연의 설명도이다.
도 7은 NAND 메모리의 부하 용량과 CR 지연의 설명도이다.
도 8은 NAND 메모리로부터의 데이터 판독을 설명하기 위한 타이밍 챠트이다.
도 9는 완전 동기 설계 회로의 설명도이다.
도 10은 부하 용량이 작을 때의 타이밍 챠트이다.
도 11은 부하 용량이 클 때의 타이밍 챠트이다.
도 12는 각 채널에 대하여 복귀되고 있는 RE 신호의 설명도이다.
도 13은 본 발명의 제1 실시예에 따른 NAND I/F의 채널 제어기에 포함된 비동기 회로의 일예의 설명도이다.
도 14는 제1 실시예에 따른 비동기 회로의 타이밍 챠트의 예이다.
도 15는 본 발명의 제2 실시예에 따른 NAND I/F의 채널 제어기에 포함된 비동기 회로의 일예의 설명도이다.
도 16은 제2 실시예에 따른 비동기 회로의 타이밍 챠트의 예이다.
도 17은 프로그래머블 지연 요소(programmable delay element)의 탭들 수의 설정 방법의 설명도이다.
도 18은 프로그래머블 지연 요소의 구성예이다.
도 19는 프로그래머블 지연 요소의 탭들 수가 변할 때, 제2 클록에 의하여 IO 신호가 래치되는 경우를 설명하는 타이밍 챠트이다.
도 20은 생산시 트리밍(trimming) 테스트의 제1 예를 설명하는 흐름도이다.
도 21은 트리밍 테스트의 결과에 기초하여 프로그래머블 지연 요소의 DLY 탭들 수를 결정하는 방법의 설명도이다.
도 22는 생산시 트리밍 테스트의 제2 예를 설명하기 위한 흐름도이다.
도 23은 트리밍 테스트 결과에 기초하여 프로그래머블 지연 요소의 DLY 탭들 수를 결정하는 방법의 설명도이다.
도 24는 생산시 트리밍 테스트의 제3 예를 설명하기 위한 흐름도이다.
(본 발명을 실행하기 위한 최선의 모드(들))
본 발명의 예시적인 실시예들을 첨부된 도면들을 참조하여 이하에 상세히 설명할 것이다. 본 발명은 이 실시예들로 제한되지 않는다. 또한, 본 실시예들의 구성 요소들은 당업자에 의하여 용이하게 가정될 수 있는 것들 또는 실질적으로 등가물인 것들을 포함한다.
본 발명의 실시예에 따른 메모리 시스템은, 불휘발성 반도체 메모리를 포함하고, 예컨대 퍼스널 컴퓨터와 같은 호스트 장치의 2차 기억 장치(SSD; Solid State Drive)로서 사용된다. 메모리 시스템은, 데이터를 기억하고(이 데이터에 대하여 기록 요청이 호스트 장치로부터 발행되었음), 데이터를 판독하는(이 데이터에 대하여 판독 요청이 호스트 장치로부터 발행되었음) 기능을 가져, 데이터를 호스트 장치에 출력한다.
도 1은 SSD(100)의 구성예의 블록도이다. SDD(100)는 시스템 보드에 탑재된 ASIC과 NAND 메모리(10)를 포함한다. 이 ASIC에, 드라이브 제어 회로(4), 전력 회로(5), 및 DRAM(20)이 탑재된다.
SSD(100)는, ATA 인터페이스(ATA I/F)와 같은 메모리 접속 인터페이스를 통하여 퍼스널 컴퓨터 또는 CPU 코어와 같은 호스트 장치(호스트)(1)에 접속되어, 호스트 장치(1)의 외부 메모리로서 기능한다. SSD(100)는 RS232C 인터페이스(RS232C I/F)(3)와 같은 통신 인터페이스를 통하여 디버깅(debugging) 장치(200)와 데이터를 전달할 수 있다. SSD(100)는, 불휘발성 메모리로서의 NAND 플래시 메모리(이하, "NAND 메모리")(10), 제어기로서의 드라이브 제어 회로(4), 불휘발성 메모리로서의 DRAM(20), 전력 회로(5), 상태 표시용 LED(6) 등을 포함한다.
전력 회로(5)는, 호스트 장치(1) 측 상의 전력 회로로부터 공급된 외부 DC 전원으로부터 복수의 상이한 내부 DC 전원 전압들을 생성하여, 이들 내부 DC 전원 전압들을 SSD(100)의 각 회로들에 공급한다. 전력 회로(5)는 외부 전원의 리딩(leading) 또는 트레일링(trailing) 에지를 검출하고, 파워-온 리셋 신호 또는 파워-오프 리셋 신호를 생성하여 이 신호를 드라이브 제어 회로(4)에 공급한다.
NAND 메모리(10)는 4 채널 NAND 메모리 패키지들(10a 내지 10d)을 포함한다. 하나의 NAND 메모리 패키지는 패킹된 복수의 NAND 메모리 칩들(이하, "칩")을 포함한다. 도 1에 도시된 예에서, 예컨대 NAND 메모리 패키지(10a)는, 8개의 칩들(0 내지 7)(예컨대, 1 칩 = 16 기가바이트)이 스택되는 8 스택 칩(10a1), 및 8개의 칩 들(8 내지 15)이 스택되는 8 스택 칩(10a2)을 포함한다. 다른 NAND 메모리 패키지들(10b 내지 10d)도 또한, 2 세트들의 8 스택 칩들을 포함하고, NAND 메모리(10)는 128 기가바이트의 용량을 갖는다. 4 채널 NAND 메모리 패키지들(10a 내지 10d)은 4개가 병렬로 동작될 수 있다.
DRAM(20)은 호스트 장치(1)와 NAND 메모리(10) 간의 데이터 전달 캐시와 작업 영역 메모리로서 기능한다. 드라이브 제어 회로(4)는, DRAM(20)을 통하여 호스트 장치(1)와 NAND 메모리(10) 간의 데이터 전달 제어를 수행하고, SSD(100)의 각 구성 요소들을 제어한다. 드라이브 제어 회로(4)는, 전력 회로(5)로부터의 전력 온/오프 리셋 신호의 수신에 따라, 상태 표시 신호를 상태 표시 LED(6)에 공급하고, 리셋 신호와 클록 신호를 자신의 회로와 SSD(100)의 각 회로들에 공급하는 기능을 갖는다.
각 NAND 메모리 칩들에서, 데이터 소거의 단위인 블록이 복수 배열되어 있다. 도 2는 NAND 메모리 칩에 포함된 하나의 블록의 구성예의 회로도이다. 각 블록은 X 방향을 따라 순차적으로 배열된 (m+1)개의 NAND 스트링들(m은 0 이상의 정수)을 포함한다. (m+1)개의 NAND 스트링들에 각각 포함된 선택 트랜지스터(ST1)에서, 각각, 비트선들(BL0 내지 BLm)에 드레인이 접속되고, 선택 게이트선(SGD)에 게이트가 공통으로 접속된다. 선택 트랜지스터(ST2)의 소스는 소스선(SL)에 공통으로 접속되고, 그 게이트는 선택 게이트선(SGS)에 공통으로 접속된다.
각 메모리 셀 트랜지스터들(MT)은 반도체 기판 상에 형성된 스택 게이트 구조를 포함하는 금속 산화물 반도체 전계 효과 트랜지스터(MOSFET; metal oxide semiconductor field effect transistor)를 포함한다. 스택 게이트 구조는, 반도체 기판 상에 형성된 전하 축적층(부동 게이트 전극)과, 전하 축적층 상에 형성된 제어 게이트 전극을 포함하며, 상기 전하 축적층과 상기 반도체 기판 사이에 게이트 유전막이 있고, 상기 제어 게이트 전극과 상기 전하 축적층 사이에 인터게이트 유전막이 있다. 메모리 셀 트랜지스터들(MT)에서, 임계 전압이 부동 게이트 전극에 축적된 전자들 수에 따라 변하여, 메모리 셀 트랜지스터(MT)는 임계 전압의 차에 따라 데이터를 기억한다. 메모리 셀 트랜지스터(MT)는, 1비트를 기억하도록 형성될 수 있거나, 다값 데이터(2비트 이상의 데이터)를 기억하도록 형성될 수 있다.
각 NAND 스트링들에서, (n+1)개 메모리 셀 트랜지스터들(MT)은 선택 트랜지스터(ST1)의 소스와 선택 트랜지스터(ST2)의 드레인 사이에 배열되어, 각 전류 경로들이 직렬로 접속된다. 즉, 메모리 셀 트랜지스터들(MT)은 Y 방향으로 직렬로 접속되어, 인접 메모리 셀 트랜지스터들 간의 확산 영역(소스 영역 또는 드레인 영역)을 공유한다.
제어 게이트 전극들은 드레인 측에 가장 가깝게 위치된 메모리 셀 트랜지스터(MT)로부터의 순으로 워드선들(WL0 내지 WLn)에 각각 접속된다. 따라서, 워드선(WL0)에 접속된 메모리 셀 트랜지스터(MT)의 드레인은 선택 트랜지스터(ST1)의 소스에 접속되고, 워드선(WLn)에 접속된 메모리 셀 트랜지스터(MT)의 소스는 선택 트랜지스터(ST2)의 드레인에 접속된다.
워드선들(WL0 내지 WLn)은 블록 내의 NAND 스트링들 간의 메모리 셀 트랜지스터들(MT)의 제어 게이트 전극들을 공통으로 접속시킨다. 즉, 블록 내의 동일한 선에 있는 메모리 셀 트랜지스터들(MT)의 제어 게이트 전극들은 동일한 워드선(Wl)에 접속된다. 동일한 워드선(WL)에 접속된 (m+1)개의 메모리 셀 트랜지스터들(MT)이 1 페이지로서 취급되고, 데이터의 기록 및 판독은 각 페이지에 대하여 수행된다.
비트선들(BL0 내지 BLm)은 블록들 간의 선택 트랜지스터들(ST1)의 드레인들을 공통으로 접속시킨다. 즉, 복수의 블록들 내의 동일한 선 상의 NAND 스트링들은 동일한 비트선(BL)에 의하여 접속된다.
도 1에 도시된 바와 같이, NAND 메모리(10)에서, 4개의 병렬 동작 요소들인 NAND 메모리 패키지들(10a 내지 10d)은 각각 8비트를 갖는 4개의 채널들(4Ch)을 통하여 드라이브 제어 회로(4)에 병렬로 접속된다. 후술되는 3가지 형태의 액세스 모드들은, 4개의 NAND 메모리 패키지들(10a 내지 10d)이 하나씩 동작되는지, 또는 병렬로 동작되는지, 또는 NAND 메모리(10)의 2배속 모드가 사용되는 지의 조합에 의하여 제공될 수 있다.
(1) 8 비트 정규 모드
이 모드에서, 8비트 단위로 판독 및 기록을 수행하기 위하여 하나의 채널만이 동작된다. 전달 크기의 일 단위는 페이지 사이즈(4키로바이트)이다.
(2) 32 비트 정규 모드
이 모드에서, 32 비트 단위로 판독 및 기록을 수행하기 위하여 4개의 채널들이 병렬로 동작된다. 전달 크기의 일 단위는 페이지 사이즈 x 4(16키로바이트)이다.
(3) 32 비트 2배속 모드
이 모드에서, 4개의 채널들이 병렬로 동작되고, NAND 메모리(10)의 2배속 모드를 사용함으로써 판독 및 기록이 수행된다. 전달 크기의 일 단위는 페이지 사이즈 x 4 x 2(32키로바이트)이다.
4개의 채널들이 병렬로 동작되는 32비트 정규 모드 또는 32비트 2배속 모드에서, 병렬로 동작되는 4개 또는 8개의 블록들이 NAND 메모리(10)에서 소거 단위가 되고, 병렬로 동작되는 4개 또는 8개의 페이지들이 NAND 메모리(10)에서 기록 단위와 판독 단위가 된다.
도 3은 드라이브 제어 회로(4)의 내부 하드웨어 구성의 블록도이다. 드라이브 제어 회로(4)는, 데이터 액세스 버스(101), 제1 회로-제어 버스(102), 및 제2 회로-제어 버스(103)를 포함한다. 전체 드라이브 제어 회로(4)를 제어하는 프로세서(104)는 제1 회로-제어 버스(102)에 접속된다. 제1 회로-제어 버스(102)에, NAND 메모리(10)에 기억된 각 관리 프로그램들(펌웨어(FW))을 부팅하기 위한 부트 프로그램을 기억하는 부트 ROM(105)이 ROM 제어기(106)를 통하여 접속된다. 제1 회로-제어 버스(102)에는, 도 1에 도시된 전력 회로(5)로부터의 전력 ON/OFF 리셋 신호의 수신에 따라, 각 유닛들에 리셋 신호와 클록 신호를 공급하는 클록 제어기(107)가 접속된다.
제1 회로-제어 버스(102)에는 제2 회로-제어 버스(103)가 접속된다. 제2 회로-제어 버스(103)에는, 도 1에 도시된 상태 표시 LED(6)에 상태 표시 신호를 공급하는 병렬 IO(PIO) 회로(108)와, RS232C I/F(3)을 제어하는 직렬 IO(SIO) 회 로(109)가 접속된다.
데이터 액세스 버스(101)와 제1 회로-제어 버스(102)에는, ATA 인터페이스 제어기(ATA 제어기)(110), 제2 에러 체크 및 정정(ECC) 회로(111), NAND 제어기(112), 및 DRAM 제어기(113)가 접속된다. ATA 제어기(110)는 ATA 인터페이스(2)를 통하여 호스트 장치(1)와 데이터를 전달한다. 데이터 작업 영역으로서 사용되는 SRAM은 SRAM 제어기(115)를 통하여 데이터 액세스 버스(101)에 접속된다. NAND 메모리(10)에 기억된 펌웨어는 기동 시에 부트 ROM(105)에 기억된 부트 프로그램에 의하여 SRAM(114)에 전달된다.
NAND 제어기(112)는, NAND 메모리(10)의 각 NAND 메모리 패키지들(10a 내지 10d)과의 인터페이스 프로세싱을 수행하는 NAND I/F(116), 제1 ECC 회로(117), NAND 메모리(10)와 DRAM(20) 간의 액세스를 제어하는 DMA 전달 제어를 위한 DMA 제어기(118), 및 프로세서(104)에 의하여 제어 데이터가 기록되는 제어 레지스터(119)를 포함한다.
데이터가 NAND 메모리(10)에 기록될 때, 제1 ECC 회로(117)는, 각 미리 결정된 단위 데이터(D)(예컨대, 512바이트)에 대하여, 에러 검출 코드(예컨대, CRC(32))와, 1비트의 정정 성능을 갖는 제1 에러 정정 코드(예컨대, 해밍(Hamming) 코드)를 생성하여, 이 코드들을 기록될 데이터에 부가한다. 또한, 제1 ECC 회로(117)는 복수의 비트들(예컨대, 48비트)의 정정 성능을 갖는 제2 에러 정정 코드(예컨대, BCH 코드)를 생성하여, 이 코드를 단위 데이터(D)의 8개 피스(piece)들 각각에 대하여 부가한다. 에러 검출 코드와 제1 에러 정정 코드가 부가된 데이터 는 NAND I/F(116)에 의하여 NAND 메모리(10)에 기록된다.
데이터가 NAND 메모리(10)로부터 판독될 때, 제1 ECC 회로(117)는, NAND I/F(116)에 의하여 우선 NAND 메모리(10)로부터 판독된 데이터에 관하여 제1 에러 정정을 수행하고, 에러 검출 코드에 기초하여 에러가 존재하는 지의 여부를 검출하고, 제1 에러 정정 후의 데이터, 제1 에러 정정에 의한 정정 비트들 수, 및 에러 검출 결과를 DMA 제어기(118)를 통하여 DRAM(20)에 기억한다. 에러 검출 결과에 에러가 존재하면, 즉 제1 에러 정정시 에러가 정정될 수 없으면, 제2 ECC 회로(111)가 제2 에러 정정을 수행하여, 제2 에러 정정 후의 데이터와 제2 에러 정정에 의한 정정 비트들 수를 DRAM(20)에 기억한다.
도 4는 NAND 메모리(10)에 기록될 데이터의 포맷의 일예이다. 도 10에 도시된 바와 같이, CRC(32)와, 1비트의 정정 성능을 갖는 해밍 코드(제1 에러 정정 코드)가 단위 데이터(D)(512바이트)에 부가되고, 48비트의 정정 성능을 갖는 BCH 코드(제2 에러 정정 코드)가 열 방향의 단위 데이터(D)(4키로바이트)의 8개 부분들에 부가된다.
도 5는 NAND I/F(116)와 NAND 메모리(10) 간의 접속의 설명도이다. NAND I/F(116)는, 4 채널 인터페이스 회로들인 ChO 제어기(210a) 내지 Ch3 제어기(210d)를 포함하고, 각 ChO 제어기(210a) 내지 Ch3 제어기(210d)의 제어 신호 핀(201)과 IO 신호 핀(202)은, Ch0 내지 Ch3의 NAND 패키지들(10a 내지 10d)(NAND Ch0 내지 Ch3)에 독립적으로 접속된다. 제어 신호가 제어 신호 핀(201)으로부터 출력되고, 8비트 데이터 요소들(IO0 내지 IO7)이 IO 핀(202)으로부터 입출력된다. NAND I/F(116)으로부터의 칩 인에이블(CE)(0 내지 3) 신호들이 NAND 패키지들(10a 내지 10d)(NAND Ch0 내지 Ch3)을 선택한다.
이하 설명에서, 각 채널의 구성은 동일하므로, Ch0를 대표로 설명한다. 도 6 및 도 7은 NAND 메모리(10)의 부하 용량과 CR 지연의 설명도이다. 도 7에서, 도면 부호 213은 입력/출력 IO를 나타내고, 214와 215는 출력 IO를 나타낸다.
도 6에 도시된 바와 같이, 8 스택 칩(10a1)에서, IO 데이터(IO0 내지 IO7)) 및 제어 신호들(라이트 인에이블(WE) 신호, 리드 인에이블(RE) 신호, 커맨드 래치 인에이블(CLE) 신호, 어드레스 래치 인에이블(ALE) 신호, 기록 보호(WP) 신호 등)은 하나의 신호당 8개 칩들을 가지므로, 부하 용량은 8배로 증가한다. 신호 핀들 수를 감소시키기 위하여, NAND 패키지(10a)는, IO 신호들(IO0 내지 IO7)과 제어 신호를 갖는 2개의 8 스택 칩들(10a1, 10a2)을 포함하고, 따라서 부하 용량은 2배로 더 증가한다. 따라서, CR 지연이 증가한다. 일반적으로, IO 데이터의 부하 용량이 제어 신호의 부하 용량보다 크므로, IO 데이터와 제어 신호 간의 지연차가 존재한다.
도 8은 NAND 메모리(10)로부터의 데이터 판독을 설명하는 타이밍 챠트이다. 도 8에서, 도면 부호 (A)는 RE 신호를 나타내고, (B)는 IO 데이터를 나타낸다. 여기서, 시스템 사양은, RE 신호의 트레일링 에지 이후로 tREA 경과된 후에 판독된 데이터의 출력이 보장되고, RE의 리딩 에지 이후로 tRLOH 경과된 후에 판독된 데이터의 출력은 보장되지 않도록 하는 것으로 가정한다. 이 경우, 부하 용량이 크고 CR 지연이 크면, tREA가 지연되고 부하 용량이 작은 래치 타이밍에서 데이터는 획 득될 수 없고, 따라서 타이밍 조정이 요구된다.
완전 동기 설계 회로가 NAND I/F(116)의 채널 제어기에 포함되는 경우의 신호 지연을 도 9 내지 도 11을 참조하여 설명한다. 도 9는 완전 동기 설계 회로의 설명도이고, 도 10은 부하 용량이 작을 때의 타이밍 챠트이고, 도 11은 부하 용량이 클 때의 타이밍 챠트이다. 플립 플롭은 FF로서 후술된다.
도 9에서, Ch0 제어기(210a)는, 클록 제어기(107)(도 3 참조)에 의하여 생성된 내부 클록(CLK)과 동기하여 RE를 출력하는 FF_RE와, IO[7:0]를 래치하여 이 IO[7:0]를 내부 클록(CLK)과 동기하여 출력하는 FF_DATA0[7:0]을 포함한다. 도 9에서, 도면 부호 t1은 IO 및 CR 지연을 나타내고, t2 및 t5는 전파(와이어링) 지연을 나타내고, t4는 IO 지연을 나타내고, tREA는 NAND 데이터 출력과 IO 및 CR 지연을 나타낸다.
도 10 및 도 11에서, (A)는 내부 클록(CLK)을 나타내고, (B)는 FF_RE의 출력을 나타내고, (C)는 NAND RE를 나타내고, (D)는 NAND IO[7:0]을 나타내고, (E)는 FF_DATA0[7:0]의 입력을 나타내고, (F)는 FF_DATA0[7:0]의 출력을 나타낸다.
도 10에 도시된 바와 같이, 부하 용량이 작으면, t1과 tREA의 CR 지연들은 작다. 따라서, 내부 클록(CLK)의 타이밍에서 데이터가 획득될 수 있다. 반면, 도 11에 도시된 바와 같이, 부하 용량이 크면, t1 및 tREA의 CR 지연들이 커진다. 따라서, 내부 클록(CLK)의 타이밍에서 데이터가 획득될 수 없다. 따라서, 타이밍 조정을 위하여 비동기 설계가 요구된다.
NAND 제어기(112)에 의하여 판독된 데이터의 타이밍 조정을 도 12 내지 도 18을 참조하여 설명한다. 본 실시예에서, 도 12에 도시된 바와 같이, NAND 메모리(10)의 부하 용량의 증가와 연관된 신호 지연이 존재하여도, NAND 메모리(10)로부터의 판독된 데이터의 출력 동작을 보장하기 위하여, RE 신호가 각 채널에 대하여 복귀되어, 판독된 데이터의 래칭 타이밍에서 타이밍 조정을 수행한다. 도 12에는 Ch0만이 도시되었으나, 다른 채널들(Ch1 내지 Ch3)에 대하여 동일한 방식으로 RE 신호가 복귀된다.
구체적으로, RE 신호는, 판독된 데이터를 래치하는 플립 플롭(FF)으로 복귀(재입력)되어 데이터 래치에 대한 제2 클록(CLK2)을 생성하고, RE 신호를 복귀하기 위한 경로에 프로그래머블 지연 요소가 배열되어, 프로그래머블 지연 요소에 의하여 제2 클록(CLK2)의 타이밍을 조정함으로써, 신호 지연이 존재하여도, NAND 메모리(10)로부터 판독된 데이터의 출력 동작을 보장한다. 시스템 보드의 부하 용량이 작을 때 프로그래머블 지연 요소의 지연량을 "작음"에, 또는 시스템 보드의 부하 용량이 클 때 프로그래머블 지연 요소의 지연량을 "큼"에 설정함으로써, 시스템 보드의 부하 용량이 크거나 작아도, 판독된 데이터의 출력 동작이 보장될 수 있다.
본 발명의 제1 실시예를 도 13 및 도 14를 참조하여 설명한다. 도 13은 제1 실시예에 따라 NADN I/F(116)의 채널 제어기에 포함된 비동기 회로의 일예의 설명도이다. 도 14는 제1 실시예에 따른 비동기 회로의 타이밍 챠트의 예이다.
도 13에서, t1은 IO 및 CR 지연을 나타내고, t2, t3, 및 t5는 전파(와이어링) 지연을 나타내고, t4는 IO 지연을 나타내고, tREA는 NAND 데이터 출력과 IO 및 CR 지연을 나타내고, tDLY은 IO 및 DLY 요소의 지연을 나타낸다. 제1 실시예는, RE 신호가 분기되어 시스템 보드 상에서 복귀되고, RE 신호를 재입력하고 이 RE 신호를 데이터 래치(CLK)로서 사용함으로써, 와이어링 지연과 IO 신호의 IO 지연이 캔슬되는 구성을 갖는다. IO 신호를 출력하기 위한 신호선(S1)과, RE 신호를 출력하기 위한 신호선(S2)은 동일한 길이로 설정되어, 이들 신호선들 간의 부하 용량을 동일하게 한다.
FF_RE는 내부 클록(CLK)에 동기하여 RE 신호를 NAND 메모리(10)에 출력한다. 프로그래머블 지연 Y 요소(220)가, RE 신호를 복귀하기 위한 경로에 배열되어, RE 복귀 신호에서의 지연량을 조정하고, RE 복귀 신호를 제2 클록(CLK2)으로서 FF_DATA0[7:0]에 출력한다. 프로그래머블 지연 Y 요소(220)의 지연량(지연(DLY) 탭들 수)은, 후술된 바와 같이 프로세서(104)에 의하여 설정된다. FF_DATA0[7:0]은 제2 클록(CLK2)(RE 신호의 재입력)과 동기하여 IO[7:0]를 래치하고, IO[7:0]을 후속 스테이지에서 FF_DATA1[7:0]에 출력한다. FF_DATA1[7:0]은 내부 클록(CLK)과 동기하여 FF_DATA0[7:0]로부터 출력된 DATA0[7:0]을 래치하고, DATA1[7:0]을 출력한다.
도 14는 도 13의 비동기 회로의 타이밍 챠트이며, 여기서 (A)는 내부 클록(CLK)을 나타내고, (B)는 FF_RE의 출력을 나타내고, (C)는 NAND RE을 나타내고, (D)는 NAND IO[7:0]을 나타내고, (E)는 FF_DATA0[7:0]의 입력을 나타내고, (F)는 제2 클록(CLK)(RE의 재입력)을 나타내고, (G)는 FF_DATA0[7:0]의 출력을 나타내고, (H)는 FF_DATA1[7:0](내부 클록(CLK)과 동기된)의 출력을 나타낸다.
각 채널(총 4개)에 대하여 RE 복귀 신호가 부가된다. 그러나, 신호 핀들 수 를 감소시키기 위하여, 하나의 채널에만 RE 복귀 신호가 부가되어, 다른 채널들이 이 RE 복귀 신호를 사용할 수 있다. 이 경우, 각 채널에 대하여 신호선의 길이와 실행 시 메모리 칩들의 차를 고려해야 한다.
본 발명의 제2 실시예를 도 15 및 도 16을 참조하여 설명한다. 도 15는 제2 실시예에 따라 NAND I/F(116)의 채널 제어기에 포함된 비동기 회로의 일예의 설명도이다. 도 15에서, 도 13에서의 기능과 동일한 기능을 갖는 동일 부분에는 동일한 도면 부호를 사용하므로, 공통 부분들의 설명은 생략하고, 차이점들만 설명한다. 도 16은 제2 실시예에 따른 비동기 회로의 타이밍 챠트의 예이다.
제1 실시예는, RE 신호가 분기되어 시스템 보드 상에서 복귀되는 구성을 갖는다. 반면, 제2 실시예는, RE 신호가 분기되어 ASIC에서 복귀되는 구성을 갖는다.
도 15에서, t1은 IO 및 CR 지연을 나타내고, t2 및 t5는 전파(와이어링) 지연을 나타내고, t4는 IO 지연을 나타내고, tREA는 NAND 데이터 출력과 IO 및 CR 지연을 나타내고, tDLY은 IO 및 DLY 요소들의 지연을 나타낸다. 제1 실시예와 상이한 점은, IO 신호의 지연값이 캔슬되지 않고, 따라서 프로그래머블 지연 요소(220)가 이것을 고려한다는 점이다. 제1 실시예에서와 같이, FF_DATA0[7:0]은 제2 클록(CLK2)과 동기하여 IO[7:0]을 래치하여, IO[7:0]를 후속 스테이지에서 FF_DATA1[7:0]에 출력한다. FF_DATA1[7:0]은 CLK로 IO[7:0]을 래치하여, IO[7:0]을 출력한다.
도 16은 도 15의 비동기 회로의 타이밍 챠트이며, 여기서 (A)는 내부 클 록(CLK)을 나타내고, (B)는 FF_RE의 출력을 나타내고, (C)는 NAND RE을 나타내고, (D)는 NAND IO[7:0]을 나타내고, (E)는 FF_DATA0[7:0]의 입력을 나타내고, (F)는 제2 클록(CLK)(ASIC에서 RE의 재입력)을 나타내고, (G)는 FF_DATA0[7:0]의 출력을 나타내고, (H)는 FF_DATA1[7:0](내부 클록(CLK)과 동기된)의 출력을 나타낸다.
제1 및 제2 실시예들의 프로그래머블 지연 요소(220)의 지연량(탭들 수)의 설정 방법을 도 17 및 도 18을 참조하여 설명한다. 도 17은 프로그래머블 지연 요소(220)의 탭들 수의 설정 방법의 설명도이다. 도 18은 프로그래머블 지연 요소(220)의 구성예이다.
지연선(DLY)의 전체 길이와 DLY 탭들 수가 결정되어야 할 때, 다음 사항들이 고려된다: (1) 이들은 시스템에 의하여 보장된 데이터의 판독 타이밍의 범위 내에 있다; (2) 시스템 구성에서의 각 신호들의 부하 용량; (3) ASIC과 NAND 메모리 간의 전송선의 시뮬레이션 결과; 및 (4) 하나의 지연 요소의 지연량과 탑재 풋프린트들(지연 요소들 수가 증가되면, 탑재 풋프린트들이 커진다).
도 17에서, NAND 제어기(112)의 제어 레지스터(119)는 탭 번호 설정 레지스터(119a)를 포함한다. 프로세서(104)는 프로그래머블 지연 요소(220)의 DLY 탭들 수를 탭 번호 설정 레지스터(119a)에 설정한다. NAND I/F(116)는 모든 채널들에 대하여, 탭 번호 설정 레지스터(119a)에 설정된 DLY 탭들 수에 대응하는 탭 제어 데이터(예컨대, 7비트)를 프로그래머블 지연 요소(220)에 출력한다. 본 실시예에서, 모든 채널들에 대하여 동일한 DLY 탭들 수가 프로그래머블 지연 요소(220)에 설정된다. 탭 번호 설정 레지스터(119a)는 각 채널에 대하여 제공될 수 있고, 각 채널에 대하여 상이한 DLY 탭들 수가 설정될 수 있다.
도 18에서, 프로그래머블 지연 요소(220)는, 셀렉터들(SEL0 내지 SEL6), 셀렉터들(SEL0 내지 SEL6)의 출력을 각각 반전시키는 인버터들(INV0 내지 INV6), RE 신호를 반전시켜 RE 반전 신호를 출력하는 인버터(INV7), 및 셀렉터들(SEL0 내지 SEL6)과 인버터들(INV0 내지 INV6)을 통하여 각각 7개 스테이지들에 직렬로 접속된 DLY 요소들(DLY 탭들)(DLY0 내지 DLY6)을 포함한다. 이 예에서, FF_Data[7:0]은 포지티브 에지 클록의 플립 플롭이므로, 프로그래머블 지연 요소(220)의 출력의 극성은 입력의 반전이 된다. 인버터가 셀렉터의 출력에 삽입되는 이유는 DLY 요소들의 상승/하강 극성을 완화하기 위해서이다.
DLY 요소들(DLY0 내지 DLY6)의 출력이 각각 셀렉터들(SEL0 내지 SEL6)에 입력되고, RE 신호가 셀렉터들(SEL0, SEL2, SEL4, 및 SEL6)에 입력되고, RE 반전 신호가 셀렉터들(SEL1, SEL3, 및 SEL5)에 입력된다. 셀렉터들(SEL0 내지 SEL6)은, NAND I/F(116)로부터 입력된 탭 제어 데이터(7비트)에 대응하여, 각각, 지연 요소들(DLY0 내지 DLY6)의 출력과, RE 신호 또는 RE 반전 신호의 출력을 교대로 선택하여 출력한다. 탭 제어 데이터의 대응하는 비트가 "0"이면, 셀렉터들(SEL0 내지 SEL6)은 RE 신호 또는 RE 반전 신호를 출력하고, 탭 제어 데이터의 대응하는 비트가 "1"이면, 셀렉터들(SEL0 내지 SEL6)은 지연 요소들(DLY0 내지 DLY6)의 출력을 출력한다.
예컨대, "3"이 탭 번호 설정 레지스터(119a)에 설정되면, 즉 DLY 탭들 수가 "3"이면, 탭 제어 데이터는 "0000111"이 된다. 셀렉터들(SEL4 내지 SEL6)은 3개의 지연 요소들(DLY4 내지 DLY6)을 선택하고, 셀렉터(SEL3)로부터 입력된 RE 반전 신호가 3개의 지연 요소들(DLY4 내지 DLY6)에 의하여 지연된 후, RE 반전 신호가 제2 클록(CLK2)으로서 출력된다.
이러한 방식으로, 접속될 지연 요소들(DLY0 내지 DLY6)이 탭 번호 설정 레지스터(119a)에서 설정된 DLY 탭들 수에 기초하여 선택될 수 있고, 이로써 복귀될 RE 신호의 지연량을 설정한다. 프로세서(104)는 NAND 메모리(10) 또는 불휘발성 메모리로부터 전력 ON시 후술되는 트리밍 테스트에서 결정된 DLY 탭들 수를 판독하여, 탭 번호 설정 레지스터(119a)에서 DLY 탭들 수를 설정할 수 있다.
생산시 트리밍 테스트에서 프로그래머블 지연 요소(220)의 DLY 탭들 수가 설정되는 경우를 도 19 내지 도 23을 참조하여 설명한다. 프로그래머블 지연 요소(220)의 DLY 탭들 수의 설정은 생산시 트리밍 테스트에서 수행될 수 있다. 트리밍 테스트에서, 트리밍 테스트의 프로세싱 시간은 32비트 모드(32비트 정규 모드 또는 32비트 2배속 모드)를 사용함으로써 감소된다. 트리밍 테스트는 고온 및 고압의 조건 하에서 수행되어, 동작 마진을 확대시키는 것이 바람직하다.
생산시 트리밍 테스트의 제1 예를 도 19 내지 도 21을 참조하여 설명한다. 도 19는, 프로그래머블 지연 요소(220)의 DLY 탭들 수가 변할 때, IO 신호가 제2 클록(CLK2)에 의하여 래치되는 경우를 설명하기 위한 타이밍 챠트이다. 도 20은 생산시 트리밍 테스트의 제1 예를 설명하는 흐름도이다. 도 21은 트리밍 테스트의 결과에 기초하여 프로그래머블 지연 요소(220)의 DLY 탭들 수를 결정하는 방법의 설명도이다.
트리밍 테스트의 제1 예에서, 도 1, 도 3 및 도 17에서, 트리밍 테스트가 수행되면, 프로세서(104)는 DRAM(20)에서의 트리밍 데이터를 디벨로프(develop)하여, 이 트리밍 데이터를, DRAM 제어기(113)와 NAND 제어기(112)를 통하여 32비트 모드로 각 채널들의 NAND 메모리 패키지들(10a 내지 10d)의 모든 칩들에 기록한다. 프로세서(104)는, 모든 채널들의 프로그래머블 지연 요소(220)의 DLY 탭들 수(0 내지 7)를 변화시키면서, 각 채널들의 칩들(0 내지 15) 각각에 대하여 이 트리밍 데이터를 판독하여 DRAM(20)에 전달한다. 프로세서(104)는 판독된 트리밍 데이터와 기록된 트리밍 데이터를 비교하여, 비교 결과에 기초하여 프로그래머블 지연 요소(220)의 DLY 탭들의 최적수를 설정한다.
트리밍 데이터는 타이밍으로 인한 에러 판독을 검출할 수 있는 패턴을 갖는 것이 바람직하다. 예컨대, 각 IO에서 그리고 인접한 IO에서 토글링(toggling)이 수행되는 패턴(예컨대, 32'h5555_5555, 32'hAAAA_AAAA)이 사용될 수 있다.
프로그래머블 지연 요소(220)의 DLY 탭들 수가 변할 때의 제2 클록(CLK2)과, 제2 클록(CLK2)에 의하여 IO 신호가 래치되는 경우를 도 19를 참조하여 설명한다. 도 19에서, (A)는 내부 클록(CLK)을 나타내고, (B)는 IO 신호(IO 데이터)를 나타내고, (C) 내지 (J)는, DLY 탭들 수가 0 내지 7일 때의 제2 클록(CLK2)(RE의 재입력)을 나타낸다.
IO 신호(데이터)가 제2 클록(CLK2)의 리딩 에지에서 래치되고, DLY 탭들 수가 0 또는 1이면, 제2 클록(CLK2)의 리딩 에지는 너무 빠르므로, IO 신호(데이터)는 래치될 수 없다(좋지 않음(NG)). DLY 탭들 수가 6 내지 7이면, 제2 클록(CLK2) 의 리딩 에지는 너무 느리므로, IO 신호(데이터)는 래치될 수 없다(NG). 반면, DLY 탭들 수가 2 내지 5이면, IO 신호(데이터)는 제2 클록(CLK2)의 리딩 에지에서 래치될 수 있다(OK).
트리밍 테스트의 제1 예의 프로세싱 흐름을 도 20을 참조하여 다음에 설명한다. 프로세서(104)는, 모든 채널들에 대하여 프로그래머블 지연 요소(220)의 DLY 탭들 수(0 내지 7)를 변화시키면서, NAND 제어기(112)의 제어 레지스터(119)의 탭 번호 설정 제리스터(119a)에 DLY 탭들 수(0 내지 7)를 기록하고, NAND 메모리(10)의 모든 채널들의 칩 번호(0 내지 15)의 칩들에 대하여 트리밍 테스트를 수행한다.
도 20에서, DRAM(20)에 기억된 트리밍 데이터가 NAND 메모리(10)의 모든 칩들에 기록된다(단계 S1). 프로세서(104)는, DLY 탭들 수가 모든 탭들 수(7)보다 작은 지의 여부를 판정한다(단계 S2). DLY 탭들 수가 모든 탭들 수보다 작지 않으면(단계 S2에서 No), 즉 모든 탭들에 대한 테스트가 완료되면, 프로세서(104)는 테스트 결과에 기초하여 DLY 탭들 수를 결정하고(단계 S11), 흐름을 종료한다.
DLY 탭들 수가 모든 탭들 수보다 작으면(단계 S2에서 YES), 프로세서(104)는 프로그래머블 지연 요소(220)의 DLY 탭들 수를 증분시킨다(단계 S3). 프로세서(104)는, 칩 번호가 모든 칩들 수(15)보다 작은 지의 여부를 판정한다(단계 S4). 칩 번호가 모든 칩들 수(15)보다 작지 않으면(단계 S4에서 No), 프로세서(104)는 단계 S2로 복귀한다. 반면, 칩 번호가 모든 칩들 수보다 작으면(단계 S4에서 YES), 프로세서(104)는 칩 번호를 증분시킨다(단계 S5). 다음, 프로세서는, 모든 채널들에서 칩 번호의 칩들로부터 32비트 모드로 데이터의 모든 피스들을 판독하 여, 이 데이터를 DRAM(20)에서 디벨로프한다(단계 S6). 프로세서(104)는 판독된 트리밍 데이터를 DRAM(20)에서의 기록된 트리밍 데이터와 비교하여(단계 S7), OK 또는 NG를 판정한다(단계 S8).
OK 또는 NG의 판정은, 불일치 비트들 수(모든 채널들에서 대응하는 칩 번호의 칩의 불일치 비트들의 총 값)가 비트들 임계수 이하이면, 판정은 OK가 되고, 불일치 비트들 수가 비트들 임계수보다 크면, 판정은 NG가 되도록 수행된다. 비트들 임계수에 대하여, 시스템에서 허용 가능한 불일치 비트들 수가 설정된다. 비트들 임계수는, 선적시에 에러 비트가 허용되는 경우가 존재하므로, 반드시 0일 필요는 없다.
비교 결과가 OK(단계 S8에서 YES)이면, DLY 탭들 수와 OK 결과가 DRAM(20)에 기억되고(단계 S10), 제어는 단계 S4로 복귀된다. 반면, 비교 결과가 NG(단계 S8에서 NO)이면, DLY 탭들 수와 NG 결과가 DRAM(20)에 기억되고(단계 S9), 제어는 단계 S2로 복귀된다.
제1 실시예에서, 에러 정정과 에러 검출이 수행되지 않기 때문에, 에러 검출 코드와 제1 및 제2 에러 정정 코드들은 NAND 메모리(10)에 트리밍 데이터를 기록할 때 부가되지 않을 수도 있다. 제1 실시예에서, 이 테스트는 모든 칩들에 대하여 수행되어, 타이밍의 NAND 칩 의존성을 고려한다. 그러나, 테스트 시간을 단축시키기 위하여 1개의 NAND 칩만 테스트될 수 있다.
트리밍 테스트 결과에 기초하여 DLY 탭들 수를 결정하는 구체적인 방법을 도 21을 참조하여 다음에 설명한다. 도 21은 데이터 비교 결과의 일예이며, 여기서 X 축은 0 내지 7의 DLY 탭들 수를 나타내고, Y축은 데이터 비교 결과를 나타내고, ○는 OK 결과를 나타내고, x는 NG 결과를 나타낸다.
예 1에 도시된 바와 같이, 판독 가능한 섹션이 명확할 때(판독 개시와 판독 종료가 결정될 수 있다), 중심이 선택된다. 예 1에서, 2 내지 5의 DLY 탭들 수에 대하여 판독이 수행될 수 있으므로, DLY 탭들 수로서 3 또는 4가 선택된다.
예 2에 도시된 바와 같이, 판독 개시만이 명확할 때(또한, 판독 종료만이 명확한 경우를 포함), DLY 탭들의 최대수가 간단하게 선택된다. 예 2에서, 판독이 5 내지 7의 DLY 탭들 수에 대하여 수행될 수 있으므로, 7이 선택된다. 2개의 DLY 탭들의 마진이 설계시 타이밍 계산으로부터 취해지면, DLY 탭들 수로서 7이 선택된다(DLY5 및 DLY6이 마진용이다).
예 3에 도시된 바와 같이, 2개의 DLY 탭들의 마진이 설계시 타이밍 계산으로부터 취해지면, 판독은 6 내지 7의 DLY 탭들 수에 대하여 수행될 수 있으므로, DLY 탭들 수가 선택될 수 없고, 따라서 초기 실패로서 판정된다. 예 4에 도시된 바와 같이, 판독이 모든 탭들로 수행될 수 없을 때, 초기 실패로서 판정된다.
생산시 트리밍 테스트의 제2 예를 도 22 및 도 23을 참조하여 설명한다. 도 22는 생산시 트리밍 테스트의 제2 예를 설명하는 흐름도이다. 도 23은 트리밍 테스트 결과에 기초하여 프로그래머블 지연 요소(220)의 DLY 탭들 수를 결정하는 방법의 설명도이다.
제1 예에서, 데이터 비교가 수행되고, 이 결과에 기초하여 프로그래머블 지연 요소(220)의 DLY 탭들 수가 결정된다. 반면, 제2 예에서는, 에러 정정이 수행 되고, 이 결과에 기초하여 프로그래머블 지연 요소(220)의 DLY 탭들 수가 결정된다.
트리밍 테스트의 제2 예에서, 도 1, 도 3, 및 도 17에서, 트리밍 테스트가 수행될 때, 프로세서(104)는 DRAM(20)에서의 트리밍 데이터를 디벨로프하여, 이 데이터를, DRAM 제어기(113)와 NAND 제어기(112)를 통하여 32비트 모드로 각 채널들의 NAND 메모리 패키지들(10a 내지 10d)의 모든 칩들에 기록한다. 프로세서(104)는, 프로그래머블 지연 요소(220)의 DLY 탭들 수(0 내지 7)를 변화시키면서, 각 칩에 대하여 32비트 모드로 기록된 트리밍 데이터를 판독한다. 제1 ECC 회로(117)는 제1 에러 정정을 수행하여, 에러 검출 코드를 이용하여 에러가 존재하는 지의 여부를 검출하고, 제1 에러 정정 후의 데이터, 제1 에러 정정에 의한 정정 비트들 수, 및 에러 검출 결과를 DRAM(20)에 기억한다. 에러 검출 결과에 따라 에러가 존재하면, 제2 ECC 회로(111)는 제2 에러 정정을 수행하고, 제2 에러 정정에 의한 정정 비트들 수를 DRAM(20)에 기억한다. 프로세서(104)는 제1 및 제2 에러 정정에 의한 비트들 수에 기초하여 프로그래머블 지연 요소(220)의 DLY 탭들의 최적수를 결정한다.
트리밍 데이터는 제1 예에서와 같이 타이밍으로 인한 에러 판독을 검출할 수 있는 패턴을 갖는다. 예컨대, 토글링이 각 IO에서 그리고 인접한 IO에서 수행되는 패턴(예컨대, 32'h5555_5555, 32'hAAAA_AAAA)이 사용될 수 있다.
트리밍 테스트의 제2 예의 프로세싱 흐름을 도 22를 참조하여 다음에 설명한다. 도 22에서, 도 20의 프로세싱과 동일한 프로세싱이 수행되는 동일한 단계들에 동일한 단계 번호들이 사용된다. 도 22에서, 프로세서(104)는 DRAM(20)에 기억된 트리밍 데이터를 NAND 메모리(10)의 모든 칩들에 기록한다(단계 S1). 프로세서(104)는, DLY 탭들 수가 모든 탭들 수(7)보다 작은 지의 여부를 판정한다(단계 S2). DLY 탭들 수가 모든 탭들 수보다 작지 않으면(단계 S2에서 NO), 프로세서(104)는 테스트 결과에 기초하여 DLY 탭들 수를 결정하고(단계 S11), 흐름을 종료한다.
반면, DLY 탭들 수가 모든 탭들 수보다 작으면(단계 S2에서 YES), 프로세서(104)는 DLY 탭들 수를 증분시킨다(단계 S3). 다음, 프로세서(104)는, 칩 번호가 모든 칩들 수(15)보다 작은 지의 여부를 판정하고(단계 S4), 칩 번호가 모든 칩들 수보다 작지 않으면(단계 S4에서 NO), 제어는 단계 S2로 복귀된다. 반면, 칩 번호가 모든 칩들 수보다 작으면(단계 S4에서 YES), 프로세서(104)는 칩 번호를 증분시킨다(단계 S5). 프로세서는, 대응하는 칩 번호의 칩으로부터 데이터의 모든 피스들을 판독하여, 데이터의 모든 피스들을 DRAM(20)에서 디벨로프한다(단계 S6). 이 경우, 제1 ECC 회로(117)는, 판독된 데이터에 대하여 제1 에러 정정을 수행하고, 에러 검출 코드를 이용하여 에러가 존재하는 지의 여부를 검출하고, 제1 에러 정정 후의 데이터, 제1 에러 정정에 의한 정정 비트들 수, 및 에러 검출 결과를 DRAM(20)에 기억한다. 그 후, 에러 검출 결과에 따라 에러가 존재할 때, 제2 ECC 회로(111)는, 제1 에러 정정 후의 데이터에 관하여 제2 에러 정정을 수행하고, 제2 에러 정정에 의한 정정 비트들 수, 및 정정이 가능하지 않다(제2 에러 정정의 정정 성능을 초과하는 경우)는 것을 나타내는 정보를 DRAM(20)에 기억한다(단계 S21).
프로세서(104)는, 에러 정정이 존재하지 않는지 또는 정정 비트들 수(모든 채널들에서 제1 에러 정정 비트들 수 + 제2 에러 정정 비트들 수)가 허용된 비트들 수보다 작은 지의 여부를 판정한다(단계 S22). 허용된 비트들 수는 시스템에서 허용 가능한 에러 정정 비트들 수이다. 허용된 비트들 수는, 칩 단위로, 페이지 단위로(NAND 메모리(10)의 최소 액세스 단위, 및 32비트 2배속 모드의 32키로바이트), 또는 블록 단위(NAND 메모리(10)의 소거 단위, 및 32비트 2배속 모드의 4메가바이트)로 설정될 수 있다.
에러 정정이 존재하지 않거나, 에러 정정 비트들 수가 허용된 비트들 수보다 작으면(단계 S22에서 YES), DLY 탭들 수와 함께 OK 결과가 기억되고(단계 S10), 단계 S4로 복귀된다. 반면, 에러 정정이 존재하거나, 에러 정정 비트들 수가 허용된 비트들 수보다 작지 않으면(에러 정정이 불가능한 경우를 포함)(단계 S22에서 NO), DLY 탭들 수와 함께 NG 결과가 기억되고(단계 S9), 단계 S2로 복귀된다.
프로그래머블 지연 요소(220)의 DLY 탭들 수는 제1 및 제2 에러 정정에서 에러 정정 비트들 수에 기초하여 설정된다. 그러나, 제1 에러 정정만이 수행되고, DLY 탭들 수는 그 에러 정정 비트들 수만을 이용하여 설정될 수 있다.
DLY 탭들 수가 트리밍 테스트의 결과에 기초하여 결정되는 제2 예를 도 23을 참조하여 설명한다. 도 23은 트리밍 테스트의 결과에 기초하여 DLY 탭들 수가 결정되는 제2 예의 설명도이다. 제2 예에서, 에러 정정 비트들 수가 사용된다. 도 23은 에러 정정 결과의 일예이고, 여기서 괄호들 안의 문자들은 에러 정정 비트들 수를 나타내고, x는 에러 정정 비트들 수가 허용된 비트들 수보다 큰 경우를 나타 낸다(예컨대, 12비트).
예 1에 도시된 바와 같이, 판독 가능한 섹션이 명확할 때(판독 개시와 판독 종료가 결정될 수 있을 때), 보다 작은 정정 비트들 수를 갖는 DLY 탭들 수가 선택된다. 예 1에서, 2 내지 5의 DLY 탭들 수에 대하여 데이터가 판독될 수 있으므로, 에러 정정 비트들의 최소수를 갖는 DLY 탭들 수(3)가 선택된다. 에러 정정 비트들의 최소수를 갖는 DLY 탭들 수가 존재할 때, 중심 DLY가 선택된다.
예 2에 도시된 바와 같이, 판독 개시만이 명확할 때(또한, 판독 종료만이 명확한 경우를 포함), 에러 정정 비트들의 최소수를 갖는 DLY 탭들 수가 간단히 선택된다. 예 2에서, 5 내지 7의 DLY 탭들 수에 대하여 판독이 수행될 수 있으므로, 7이 선택된다. 2개의 DLY 탭들의 마진이 설계시 타이밍 계산으로부터 취해지고, 정정 비트들의 최소수를 갖는 것이 선택되어야 될 때, DLY 탭들 수로서 7이 선택된다(DLY5 및 DLY6이 마진용이다).
예 3에 도시된 바와 같이, 2개의 DLY 탭들의 마진이 설계시 타이밍 계산으로부터 취해지고, 정정 비트들의 최소수를 갖는 것이 선택되어야 할 때, DLY 탭들 수는 선택될 수 없고, 따라서 초기 실패로서 판정된다. 예 4에 도시된 바와 같이, 에러 정정 비트들 수가 모든 탭들에서 허용된 비트들 수보다 크면, 초기 실패로서 판정된다.
생산시 트리밍 테스트의 제3 예를 도 24를 참조하여 설명한다. 트리밍 테스트의 제3 예에서, 제2 예의 에러 정정과 제1 예의 데이터 비교가 사용된다. 제3 예에서, 에러 정정이 가능하지 않은 경우, 테스트 시간을 단축시키기 위하여 데이 터 비교가 생략된다. 에러 정정이 존재하지 않거나, 에러 정정이 가능한 경우에서도, 데이터 비교를 수행함으로써 테스트 정확성이 향상된다.
도 24는 생산시 트리밍 테스트의 제3 예를 설명하기 위한 흐름도이다. 도 24에서, 도 20과 도 22의 프로세싱과 동일한 프로세싱이 수행되는 동일한 단계들에 동일한 단계 번호들이 사용되고, 공통 부분들의 설명은 생략하고, 상이한 점들만 설명한다.
단계 S41에서, 프로세서(104)는, 에러 정정이 존재하지 않거나, 정정 비트들 수(제1 에러 정정 비트들 수 + 제2 에러 정정 비트들 수)가 허용된 비트들 수보다 작은 지의 여부를 판정한다(단계 S41). 에러 정정이 존재하지 않거나, 에러 정정 비트들 수가 허용된 비트들 수보다 작으면(단계 S41에서 YES), 프로세서(104)는 판독된 트리밍 데이터(에러 정정 전 데이터)를 DRAM(20)의 기록된 트리밍 데이터와 비교하여(단계 S42), OK 또는 NG를 판정한다(단계 S43).
OK 또는 NG의 판정은, 불일치 비트들 수(모든 채널들에서 대응하는 칩 번호의 칩의 불일치 비트들의 총 값)가 비트들 임계수 이하일 때, 판정은 OK가 되고, 불일치 비트들 수가 비트들 임계수보다 크면, 판정은 NG가 되도록 수행된다. 비트들 임계수에 대하여, 시스템에서 허용 가능한 불일치 비트들 수가 설정된다.
비교 결과가 OK이면(단계 S43에서 YES), DLY 탭들 수와 OK 결과가 DRAM(20)에 기억되고(단계 S10), 제어는 단계 S4로 복귀된다. 반면, 비교 결과가 NG이면(단계 S43에서 NO), DLY 탭들 수와 NG 결과가 DRAM(20)에 기억되고(단계 S9), 제어는 단계 S2로 복귀된다.
트리밍 테스트 결과에 기초하여 DLY 탭들 수를 결정하는 방법은 제1 예에서와 동일하며, 따라서 그 설명은 생략할 것이다.
제품 실현 후 SSD(100)의 전력 ON시의 프로세싱을 다음에 설명한다. 트리밍 테스트에서 결정된 DLY 탭들 수가 불휘발성 메모리인 NAND 메모리(10)에 기억된다. 이 경우, 제품 실현 후의 전력 ON 시, 탭들 수가 NAND 제어기(112)의 제어 레지스터(119)의 탭 번호 설정 레지스터(119a)에서 설정되지 않았으므로, 프로그래머블 지연 요소(220)의 지연량은 아직 설정되지 않았다. 따라서, NAND 메모리(10)로부터 DLY 탭들 수를 신뢰성있게 판독하여, 이 DLY 탭들 수를 탭 번호 설정 레지스터(119a)에 설정하는 것이 필수적이다. 따라서, (1) 두 형태의 모드들, 즉 고속 판독 모드와 저속 및 신뢰성있는 판독 모드가 준비되고, DLY 탭들 수를 판독할 때, 신뢰성있는 판독 가능한 타이밍에서 판독된다. (2) DLY 탭들 수의 정보가 FeRAM과 같은 불휘발성 메모리를 사용하여 기억되는 구성일 때, 2개 모드들이 (1)에서와 같이 사용될 필요는 없고, 불휘발성 메모리에 기억된 DLY 탭들 수의 정보만이 탭 번호 설정 레지스터(119a)에 설정될 필요가 있다.
전력 ON 후, DLY 탭들 수가, 트리밍 테스트에서 결정된 DLY 탭들 수를 설정한 후 판독될 수 있는 지 체크될 수 있다. 이 경우, 트리밍 테스트의 간소화한 버전이 수행될 수 있다(데이터 비교는 특정 칩들에 대해서만 수행된다). NG의 경우, 어떠한 이유로 인하여 실패가 발생했다고 간주되며, 이 사실이 호스트 장치(1)에 통지된다.
본 실시예에 따르면, NAND I/F(116)는, 프로그래머블 지연 요소(220)에 의하 여 RE 신호를 복귀시킴으로써 획득된 신호를 지연시키고, 이 신호를 제2 클록(CLK2)으로서 출력하고, NAND 메모리(10)로부터 판독된 데이터가 래치되고, 제2 클록(CLK2)을 이용함으로써 출력된다. 따라서, 신호선의 부하 용량이 증가되고, 신호 지연이 있어도, NAND 메모리(10)로부터 데이터가 신뢰성있게 판독되고 출력될 수 있다. 부가하여, 부하 용량으로 인한 지연차가 광범위에 걸쳐 커버될 수 있으므로, NAND 메모리의 작은 데이터 용량에서 큰 데이터 용량까지 대응하는 제어기가 설계될 수 있다.
프로그래머블 지연 요소(220)가 복수의 직렬 접속된 지연 요소들(DLY0 내지 DLY6)과, 지연 요소들 중에서 접속될 지연 요소들(DLY0 내지 DLY6) 중 하나를 선택하여, 지연량을 선택하는 셀렉터들(SEL0 내지 SEL6)을 포함하므로, 프로그래머블 지연 요소(220)가 지연량을 설정하여, 상당히 정확한 데이터의 래치 타이밍의 조정을 구현할 수 있다.
또한, 지연량(DLY 탭들 수)이 설정되는 탭 번호 설정 레지스터(119a)가 제공되고, 프로세서(104)가 탭 번호 설정 레지스터(119a)에 지연량을 설정하고, 셀렉터들(SEL0 내지 SEL6)이 탭 번호 설정 레지스터(119a)에 설정된 지연량에 기초하여 접속될 지연 요소들(DLY0 내지 DLY6) 중 하나를 선택한다. 따라서, 프로세서(104)는 프로그래머블 지연 요소(220)의 지연량을 설정할 수 있다.
또한, RE 신호가 분기되고, 시스템 보드 또는 ASIC에서 복귀되므로, RE 신호가 분기되는 위치는, SSD(100)의 레이아웃을 고려하여 결정될 수 있다.
프로그래머블 지연 요소(220)의 지연량이 생산시 트리밍 테스트에서 설정되 므로, 프로그래머블 지연 요소(220)의 최적 지연량은 생산시 각 제품에 대하여 설정될 수 있다. 또한, 이 경우, 프로그래머블 지연 요소(220)의 지연량이 데이터 비교 또는 에러 정정 결과에 기초하여 결정되므로, 데이터의 래치 타이밍의 조정이 보다 정확하게 구현될 수 있다.
상기 실시예들에서, 본 발명은 NAND 메모리를 갖는 SSD에 적용되나, 본 발명은 또한, NOR형 플래시 EEPROM과 같은 다른 메모리를 갖는 SSD에도 적용될 수 있다.

Claims (10)

  1. 불휘발성 메모리, 상기 불휘발성 메모리를 제어하는 제어 회로, 상기 제어 회로를 제어하는 MPU, 및 호스트와의 통신을 수행하는 인터페이스 회로를 구비하는 메모리 시스템으로서,
    상기 제어 회로는,
    상기 불휘발성 메모리에 리드 인에이블 신호(read enable signal)를 출력하여 데이터를 판독하는 판독 유닛;
    상기 리드 인에이블 신호를 복귀시킴으로써 획득된 신호를 지연시켜, 이 신호를 클록으로서 출력하는 지연 유닛; 및
    상기 지연 유닛으로부터 출력된 상기 클록을 사용함으로써 상기 불휘발성 메모리로부터 판독된 상기 데이터를 래치하여 출력하는 래치 유닛
    을 포함하는 것인 메모리 시스템.
  2. 제 1 항에 있어서,
    상기 지연 유닛은 지연량을 가변적으로 설정할 수 있는 것인 메모리 시스템.
  3. 제 2 항에 있어서,
    상기 지연 유닛은,
    임의로 설정될 수 있는 레지스터 유닛;
    복수의 직렬 접속된 지연 요소들; 및
    상기 레지스터 유닛의 레지스터 값에 기초하여, 상기 지연 요소들 중 접속될 지연 요소를 선택함으로써 상기 지연량을 선택하는 선택 유닛
    을 포함하는 것인 메모리 시스템.
  4. 제 3 항에 있어서,
    상기 레지스터 유닛의 상기 레지스터 값은 상기 MPU에 의하여 설정되는 것인 메모리 시스템.
  5. 제 1 항에 있어서,
    상기 리드 인에이블 신호는, 상기 제어 회로, 상기 MPU, 및 상기 인터페이스 회로가 내장된 ASIC 상에서 복귀되는 것인 메모리 시스템.
  6. 제 1 항에 있어서,
    상기 리드 인에이블 신호는, ASIC, 및 상기 불휘발성 메모리가 내장된 시스템 보드 상에서 복귀되는 것인 메모리 시스템.
  7. 제 2 항에 있어서, 제조시 트리밍(trimming) 테스트를 수행하여, 테스트 결과에 기초하여 상기 지연 유닛의 상기 지연량을 설정하는 트리밍 테스트 유닛을 포함하는 메모리 시스템.
  8. 제 7 항에 있어서,
    상기 트리밍 테스트 유닛은,
    상기 불휘발성 메모리에 트리밍 데이터를 기록하는 트리밍 데이터 기록 유닛;
    상기 지연 유닛의 상기 지연량을 변화시키면서, 상기 불휘발성 메모리에 기록된 상기 트리밍 데이터를 판독하여, 기록된 트리밍 데이터와 판독된 트리밍 데이터를 비교하는 비교 유닛; 및
    데이터 비교 결과에 기초하여 상기 지연 유닛의 상기 지연량을 결정하는 지연량 결정 유닛
    을 포함하는 것인 메모리 시스템.
  9. 제 7 항에 있어서,
    상기 트리밍 테스트 유닛은,
    트리밍 데이터에 에러 정정 코드를 부가하여, 이 트리밍 데이터를 상기 불휘발성 메모리에 기록하는 트리밍 데이터 기록 유닛;
    상기 지연 유닛의 상기 지연량을 변화시키면서, 상기 불휘발성 메모리에 기록된 상기 트리밍 데이터를 판독하여, 판독된 트리밍 데이터에 관하여 상기 에러 정정 코드를 이용함으로써 에러 정정을 수행하는 에러 정정 유닛; 및
    상기 에러 정정 유닛에 의하여 획득된 에러 정정 결과에 기초하여 상기 지연 유닛의 상기 지연량을 결정하는 지연량 결정 유닛
    을 포함하는 것인 메모리 시스템.
  10. 제 7 항에 있어서,
    상기 트리밍 테스트 유닛은,
    트리밍 데이터에 에러 정정 코드를 부가하여, 이 트리밍 데이터를 상기 불휘발성 메모리에 기록하는 트리밍 데이터 기록 유닛;
    상기 지연 유닛의 상기 지연량을 변화시키면서, 상기 불휘발성 메모리에 기록된 상기 트리밍 데이터를 판독하여, 판독된 트리밍 데이터에 관하여 상기 에러 정정 코드를 이용함으로써 에러 정정을 수행하는 에러 정정 유닛;
    상기 에러 정정에 의한 에러 정정 비트들 수가 허용된 비트들 수보다 작으면, 기록된 트리밍 데이터와 상기 판독된 트리밍 데이터를 비교하는 비교 유닛; 및
    데이터 비교 결과에 기초하여 상기 지연 유닛의 상기 지연량을 결정하는 지연량 결정 유닛
    을 포함하는 것인 메모리 시스템.
KR1020097017688A 2008-02-29 2009-01-22 메모리 시스템 KR101096884B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2008-051405 2008-02-29
JP2008051405A JP4519923B2 (ja) 2008-02-29 2008-02-29 メモリシステム

Publications (2)

Publication Number Publication Date
KR20090117748A KR20090117748A (ko) 2009-11-12
KR101096884B1 true KR101096884B1 (ko) 2011-12-22

Family

ID=41015849

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097017688A KR101096884B1 (ko) 2008-02-29 2009-01-22 메모리 시스템

Country Status (7)

Country Link
US (1) US8103920B2 (ko)
EP (1) EP2248022B1 (ko)
JP (1) JP4519923B2 (ko)
KR (1) KR101096884B1 (ko)
CN (1) CN101681296B (ko)
TW (1) TWI409640B (ko)
WO (1) WO2009107443A1 (ko)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102612714B (zh) * 2009-11-13 2016-06-29 株式会社半导体能源研究所 半导体器件及其驱动方法
US8868487B2 (en) 2010-04-12 2014-10-21 Sandisk Enterprise Ip Llc Event processing in a flash memory-based object store
US8700842B2 (en) 2010-04-12 2014-04-15 Sandisk Enterprise Ip Llc Minimizing write operations to a flash memory-based object store
US9047351B2 (en) 2010-04-12 2015-06-02 Sandisk Enterprise Ip Llc Cluster of processing nodes with distributed global flash memory using commodity server technology
US9164554B2 (en) 2010-04-12 2015-10-20 Sandisk Enterprise Ip Llc Non-volatile solid-state storage system supporting high bandwidth and random access
US8856593B2 (en) 2010-04-12 2014-10-07 Sandisk Enterprise Ip Llc Failure recovery using consensus replication in a distributed flash memory system
US8954385B2 (en) 2010-06-28 2015-02-10 Sandisk Enterprise Ip Llc Efficient recovery of transactional data stores
JP5025785B2 (ja) * 2010-12-17 2012-09-12 株式会社東芝 半導体記憶装置
US8874515B2 (en) 2011-04-11 2014-10-28 Sandisk Enterprise Ip Llc Low level object version tracking using non-volatile memory write generations
JP5674634B2 (ja) 2011-12-28 2015-02-25 株式会社東芝 コントローラ、記憶装置およびプログラム
US9135064B2 (en) 2012-03-07 2015-09-15 Sandisk Enterprise Ip Llc Fine grained adaptive throttling of background processes
US9471484B2 (en) 2012-09-19 2016-10-18 Novachips Canada Inc. Flash memory controller having dual mode pin-out
TWI461717B (zh) * 2012-11-05 2014-11-21 Realtek Semiconductor Corp 掃描時脈產生器以及掃描時脈產生方法
US20140223213A1 (en) * 2013-02-05 2014-08-07 Kabushiki Kaisha Toshiba Memory system
CN107341071A (zh) * 2013-08-23 2017-11-10 慧荣科技股份有限公司 存取快闪存储器中储存单元的方法以及使用该方法的装置
KR20150061393A (ko) 2013-11-27 2015-06-04 삼성전자주식회사 메모리 장치로부터 읽은 데이터를 고속으로 전송하는 메모리 컨트롤러 및 그것의 데이터 전송 방법.
US9594910B2 (en) * 2014-03-28 2017-03-14 Intel Corporation In-system provisioning of firmware for a hardware platform
CN105608490B (zh) * 2015-07-29 2018-10-26 上海磁宇信息科技有限公司 细胞阵列计算系统以及其中的通信方法
US10719394B2 (en) * 2017-10-25 2020-07-21 Innogrit Technologies Co., Ltd. Systems and methods for fast access of non-volatile storage devices
KR102394727B1 (ko) * 2017-12-12 2022-05-09 에스케이하이닉스 주식회사 반도체시스템
US10747611B2 (en) * 2018-01-15 2020-08-18 Microchip Technology Incorporated Safety enhancement for memory controllers
US10991445B2 (en) * 2018-09-06 2021-04-27 Micron Technology, Inc. Memory sub-system including an in-package sequencer to perform error correction and memory testing operations
US10790039B1 (en) * 2019-09-26 2020-09-29 Micron Technology, Inc. Semiconductor device having a test circuit
US11817168B2 (en) * 2021-11-30 2023-11-14 Micron Technology, Inc. Environmental condition tracking for a memory system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010022754A1 (en) 1997-08-22 2001-09-20 Pawlowski J. Thomas Synchronous memory with programmable read latency

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6122710A (en) * 1998-02-17 2000-09-19 International Business Machines Corporation Dynamic word line driver for cache
JP2001291388A (ja) * 2000-04-05 2001-10-19 Nec Corp Dll回路、それを使用する半導体装置及びタイミング生成方法
JP2002007202A (ja) * 2000-06-22 2002-01-11 Mitsubishi Electric Corp 半導体記憶装置および調整方法
EP1225597A1 (en) * 2001-01-15 2002-07-24 STMicroelectronics S.r.l. Synchronous-reading nonvolatile memory
ITTO20010148A1 (it) * 2001-02-20 2002-08-20 St Microelectronics Srl Dispositivo e metodo di temporizzazione lettura di una memoria non volatile con minimizzazione del rumore di commutazione.
JP2002318638A (ja) * 2001-04-24 2002-10-31 Hitachi Ltd 情報処理システム及び半導体集積回路装置
US7082071B2 (en) * 2001-08-23 2006-07-25 Integrated Device Technology, Inc. Integrated DDR/SDR flow control managers that support multiple queues and MUX, DEMUX and broadcast operating modes
JP4271450B2 (ja) * 2003-01-27 2009-06-03 スパンション エルエルシー 高速読み出し回路を備えた半導体記憶装置
TWI254936B (en) * 2003-07-25 2006-05-11 E Ten Information Sys Co Ltd Nonvolatile memory access system and its accessing method
US8504798B2 (en) * 2003-12-30 2013-08-06 Sandisk Technologies Inc. Management of non-volatile memory systems having large erase blocks
US7694202B2 (en) * 2004-01-28 2010-04-06 Micron Technology, Inc. Providing memory test patterns for DLL calibration
DE102004015868A1 (de) * 2004-03-31 2005-10-27 Micron Technology, Inc. Rekonstruktion der Signalzeitgebung in integrierten Schaltungen
JP2006155479A (ja) * 2004-12-01 2006-06-15 Toshiba Corp 誤り訂正回路
US7319612B2 (en) * 2005-05-18 2008-01-15 Intel Corporation Performing multiple read operations via a single read command
JP2008010607A (ja) * 2006-06-29 2008-01-17 Nec Computertechno Ltd 半導体集積回路およびクロックスキュー低減方法
KR100801032B1 (ko) * 2006-11-15 2008-02-04 삼성전자주식회사 비휘발성 반도체 메모리 장치의 입력회로 및 비휘발성반도체 메모리 장치의 데이터 입력방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010022754A1 (en) 1997-08-22 2001-09-20 Pawlowski J. Thomas Synchronous memory with programmable read latency

Also Published As

Publication number Publication date
JP4519923B2 (ja) 2010-08-04
EP2248022A4 (en) 2012-08-08
WO2009107443A1 (en) 2009-09-03
EP2248022A1 (en) 2010-11-10
CN101681296B (zh) 2012-05-30
CN101681296A (zh) 2010-03-24
EP2248022B1 (en) 2016-04-20
KR20090117748A (ko) 2009-11-12
US8103920B2 (en) 2012-01-24
TWI409640B (zh) 2013-09-21
US20100325498A1 (en) 2010-12-23
TW200937202A (en) 2009-09-01
JP2009211208A (ja) 2009-09-17

Similar Documents

Publication Publication Date Title
KR101096884B1 (ko) 메모리 시스템
US11494077B2 (en) Memory system with selective access to first and second memories
US9230670B2 (en) Semiconductor device, memory system and operating method thereof
US9627079B1 (en) Storage device, memory system having the same, and operating method thereof
US11114170B2 (en) Memory system
JP2012203957A (ja) メモリシステム
US10684672B2 (en) Selection of a low power consumption mode in a memory system based on information on a data transfer state
CN108806758B (zh) 存储器装置及验证数据路径完整性的方法
CN110890125B (zh) 存储器装置及其操作方法
US11017837B2 (en) Memory system
US9263148B2 (en) Semiconductor device with pass/fail circuit
US20220137870A1 (en) Memory system
US9142300B2 (en) Memory system including nonvolatile memory

Legal Events

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

Payment date: 20141120

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151118

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161123

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20171117

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20181115

Year of fee payment: 8