KR20100007813A - 메모리 제어기, 메모리 시스템, 및 메모리 시스템을 위한 제어 방법 - Google Patents

메모리 제어기, 메모리 시스템, 및 메모리 시스템을 위한 제어 방법 Download PDF

Info

Publication number
KR20100007813A
KR20100007813A KR1020090063614A KR20090063614A KR20100007813A KR 20100007813 A KR20100007813 A KR 20100007813A KR 1020090063614 A KR1020090063614 A KR 1020090063614A KR 20090063614 A KR20090063614 A KR 20090063614A KR 20100007813 A KR20100007813 A KR 20100007813A
Authority
KR
South Korea
Prior art keywords
memory
memory cell
chips
data
page
Prior art date
Application number
KR1020090063614A
Other languages
English (en)
Other versions
KR101089013B1 (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 KR20100007813A publication Critical patent/KR20100007813A/ko
Application granted granted Critical
Publication of KR101089013B1 publication Critical patent/KR101089013B1/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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1647Handling requests for interconnection or transfer for access to memory bus based on arbitration with interleaved bank access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • Memory System (AREA)

Abstract

메모리 제어기는 칩 0 및 칩 1로 이루어지는 반도체 메모리부에서 페이지 단위로 그리고 인터리빙된 방식으로 데이터를 기입하기 위한 처리를 수행하기 위한 것이며, 칩들 각각은 2가지 유형의 페이지 단위의 하나의 메모리 셀에 2-비트 데이터를 저장할 수 있는 다수의 메모리 셀로 이루어지며, 메모리 제어기는, 반도체 메모리부와의 NAND I/F와, 칩 0에 속하는 메모리 셀 내의 2가지 유형의 페이지에 대한 기입 프로그램을 반복해서 실행시키고 그 후에 칩 1에 속하는 메모리 셀 내에 기입 프로그램을 실행시키도록 구성된 CPU를 포함한다.
반도체 메모리부, 제어 방법, 메모리 셀, 고속 기입

Description

메모리 제어기, 메모리 시스템, 및 메모리 시스템을 위한 제어 방법{MEMORY CONTROLLER, MEMORY SYSTEM, AND CONTROL METHOD FOR MEMORY SYSTEM}
이 출원은 2008년 7월 14일자로 일본에서 출원된 일본 출원 번호 제2008-183024호의 우선권을 주장하며, 그 내용은 본원에 참조로서 포함된다.
본 발명은 멀티-비트 데이터(multi-bit data)를 하나의 메모리 셀에 저장할 수 있는 반도체 메모리부에 메모리 인터리빙(memory interleaving) 방식으로 액세스하기 위한 메모리 제어기, 메모리 제어기를 구비한 메모리 시스템, 및 메모리 시스템을 위한 제어 방법에 관한 것이다.
[관련 분야에 대한 설명]
오늘날, 비휘발성 메모리 시스템인 플래시 메모리 장치는, 호스트로 기능하는 디지털 카메라 등을 위한 외부 저장 장치, 컴퓨터 시스템용 시동 메모리 시스템등으로서 널리 사용되는데, 이는 플래시 메모리 장치가 데이터의 재기입(rewriting)을 허용하고 전력-차단(powered-off) 상태더라도 데이터를 유지할 수 있기 때문이다.
이러한 플래시 메모리 장치들 중에서도, NAND형 플래시 메모리 장치는 고용 량 및 저비용을 실현하는 비휘발성 메모리 시스템으로서 알려져 있다. NAND형 플래시 메모리는 반도체 메모리부의 메모리 셀들의 전하 축적층(charge accumulating layer) 내에 절연막(insulating film)을 통해 주입(inject)되는 전하를 디지털 비트 정보로서 이용하고, 전하량에 의해 결정되는 트랜지스터의 임계 전압의 편차(difference)를 측정하고, 정보를 판독한다.
보다 증가된 용량 및 삭감된 비용을 달성하기 위해서, 단일 메모리 셀(single memory cell)에 2 이상의 비트 데이터를 저장하기 위한 멀티-레벨(multi-level) 기술을 이용하는 NAND형 플래시 메모리 장치, 소위 다치(multivalued) 플래시 메모리 장치(이후에서는 "다치 메모리"라고도 함)의 공격적인 연구 및 개발이 이루어졌다. 예를 들어, 일본 특허 출원 공개 공보 제2001-93288호는 하나의 메모리 셀의 4개의 서로 다른 임계 전압에 의해 2-비트 데이터를 저장할 수 있는 메모리 시스템을 개시한다.
한편, 메모리 인터리빙은 메모리 시스템의 액세스 속도를 증가시키기 위한 기술로 알려져 있다. 메모리 인터리빙은 다수의 메모리 칩에 병렬로 동시에 액세스함으로써 데이터 전송율(data transfer rate)을 증가시킨다. 예를 들어, 일본 특허 출원 공개 공보 제2007-334863호는 인터리빙되는 방식으로 2개의 메모리 칩에 액세스하는 NAND형 플래시 메모리 장치를 개시한다.
본 발명의 과제는 멀티-비트 데이터를 하나의 메모리 셀에 저장할 수 있는 반도체 메모리부에 메모리 인터리빙 방식으로 액세스하기 위한 메모리 제어기, 메모리 제어기를 구비한 메모리 시스템, 및 메모리 시스템용 제어 방법을 제공하는 것이다.
[본 발명의 간략한 요약]
본 발명의 일 양상에 따르면, N가지 유형의 페이지 단위의 하나의 메모리 셀에 N-비트 데이터(N ≥ 2인 정수)를 저장할 수 있는 다수의 메모리 셀로 이루어지는 복수의 칩으로 이루어진 반도체 메모리부와의 인터페이스를 제어하도록 구성된 모듈, 및 상기 칩들 중 하나의 칩에 속하는 메모리 셀 내의 N가지 유형의 페이지 모두에 대한 기입 프로그램을 반복해서 실행시키고, 그 후에 상기 칩들 중 다른 하나의 칩에 속하는 메모리 셀 내의 N가지 유형의 페이지 모두에 대한 기입 프로그램을 인터리빙된 방식으로 실행시키도록 구성된 제어부를 포함하는 메모리 제어기가 제공될 수 있다.
본 발명의 다른 양상에 따르면, N가지 유형의 페이지 단위의 하나의 메모리 셀에 N-비트 데이터(N≥2인 정수)를 저장할 수 있는 다수의 메모리 셀로 이루어지는 복수의 메모리 칩으로 이루어진 반도체 메모리부, 및 반도체 메모리부 내에 데이터를 기입하기 위한 처리를 인터리빙된 방식으로 수행할 때에, 상기 칩들 중 하나의 칩에 속하는 메모리 셀 내의 N가지 유형의 페이지에 대한 기입 프로그램을 반복해서 실행시키고, 그 후에 상기 칩들 중 다른 하나의 칩에 속하는 메모리 셀 내의 N가지 유형의 페이지에 대한 기입 프로그램을 실행시키도록 구성된 제어부를 갖 는 메모리 제어기를 포함하는 메모리 시스템이 제공될 수 있다.
본 발명의 또 다른 양상에 따르면, 메모리 시스템을 위한 제어 방법으로서, 반도체 메모리부의 칩들 중 하나의 칩에 속하는 메모리 셀 내의 N가지 유형의 페이지에 대한 기입 프로그램을 실행시키는 단계 - 반도체 메모리부는 N가지 유형의 페이지 단위의 하나의 메모리 셀에 N-비트 데이터(N≥2인 정수)를 저장할 수 있는 다수의 메모리 셀로 이루어지는 복수의 칩으로 이루어짐 -, 및 상기 칩들 중 다른 하나의 칩에 속하는 메모리 셀들 중 하나의 메모리 셀에 속하는 메모리 셀 내의 N가지 유형의 페이지에 대한 기입 프로그램을 추가로 실행시키는 단계를 포함하는 제어 방법이 제공될 수 있다.
본 발명은 멀티-비트 데이터를 하나의 메모리 셀에 저장할 수 있는 반도체 메모리부에 메모리 인터리빙 방식으로 액세스하기 위한 메모리 제어기, 메모리 제어기를 구비한 메모리 시스템, 및 메모리 시스템용 제어 방법을 제공하여, 멀티-비트 데이터의 고속 기입을 달성한다고 하는 효과가 있다.
[바람직한 실시예들의 상세한 설명]
제1 실시예
이하에서는, 본 발명의 제1 실시예에 따른 메모리 시스템(1)이 도면을 참조하여 기술될 것이다.
도 1에 도시된 바와 같이, 메모리 시스템(1)은 연결된 호스트(3)의 데이터를 저장하도록 구성된 반도체 메모리부(20)(이하에서는 "메모리부"라고도 함), 및 메모리부(20)에 데이터를 기입하기 위한 프로그램들을 제어하도록 구성된 메모리 제어기(2)를 포함한다. 메모리부(20)는 2개의 칩(칩 0(21) 및 칩 1(22))을 갖는다. 칩(21 및 22) 각각은 N-비트 데이터(N은 2이상의 정수임)를 NAND형 플래시 메모리의 하나의 메모리 셀에 저장할 수 있는 다수의 메모리 셀을 갖는다.
메모리 제어기(2)는 전체 제어(overall control)를 위한 CPU(14), 호스트(3)와의 인터페이스를 제어하도록 구성된 모듈로서의 HOST I/F(15), 메모리부와의 인터페이스를 제어하도록 구성된 모듈로서의 NAND I/F(19), 클록 제어 모듈(CLCK)(11), 리셋 제어 모듈(RSTC)(12), 버스 제어 모듈(BUSC)(13), 에러 정정 코드(ECC)(17), 버퍼 메모리(버퍼)(18), 및 메모리 제어 모듈과 RAM 둘다에 서비스하는 MEMMOD(16)를 포함한다.
메모리 제어기(2)는 메모리 데이터 버스(23), 선택 신호선(25), 및 준비/비지(Ready/Busy) 신호선(26)을 통해 메모리부(20)의 칩 0(21)에 연결된다. 메모리 제어기(2)는 또한 메모리 데이터 버스(24), 선택 신호선(27), 및 준비/비지 신호선(28)을 통해 메모리부(20)의 칩 1(22)에 연결된다. 메모리 제어기(2)는 이에 따라 칩 0(21) 및 칩 1(22)에 병렬로 동시에 액세스하는, 즉 칩들을 병렬로 프로그래밍하는 메모리 인터리빙을 지원한다. 여기서, CPU(14)가 칩 0 및 칩 1에 각각 선택 신호(칩 인에이블(Chip Enable))를 전송하기 위해서는, 선택 신호선(25 및 27)이 메모리 인터리빙 방식에 기초하는 메모리 시스템(1)에서 필수적이다. 마찬가지로, 각각의 칩이 비지 또는 준비 상태인지를 모니터링하기 위해서 CPU(14)에 의해 사용되는 준비/비지 신호선(26 및 28) 역시 메모리 시스템(1)에서는 필수적이다.
도 1은 2개의 칩(21 및 22)이 각자의 메모리 데이터 버스(23 및 24)를 사용하여 NAND I/F(19)에 연결되는 것을 나타내지만, 칩들은 공통 데이터 버스를 사용하여 연결될 수도 있다.
이제, 다치 메모리에서 기입 데이터와 임계 전압 간의 관계가 도 2를 이용하여 기술될 것이다. 도 2는 다치 메모리에서 기입 데이터와 임계 전압 간의 관계를 나타내며, 여기서 수평 축은 임계 전압 Vt를 나타내며 수직 축은 메모리 셀의 발생 빈도(frequency of occurrence of a memory cell)를 나타낸다. 도 2에 도시된 메모리 셀에서, 2-비트 데이터는 4개의 상태, "0", "1", "2" 및 "3"에 대응하고, 도 2는 메모리 셀의 임계 전압의 오름 차순으로 상태들을 규정하는 예를 나타낸다. Data(XY)는 제1 페이지의 데이터가 (Y)이고 제2 페이지의 데이터가 (X)임을 의미한다. 즉, 상태 "0"은 데이터(11)에 대응하고, 상태 "1"은 데이터(10)에 대응하고, 상태(2)는 데이터(00)에 대응하고, 상태 "3"은 데이터(01)에 대응한다. 데이터가 저장되어 있지 않은 소거된 상태(erased state)에서, 메모리 셀은 상태 "0"이 된다.
2-비트 데이터를 메모리 시스템(1)의 하나의 메모리 셀 내에 기입하기 위해서, 저장될 데이터는 기입 단위(units of writing)인 제1 페이지 데이터와 제2 페이지 데이터로 분할되며, 제1 페이지 데이터와 제2 페이지 데이터가 순차적으로(sequentially) 단일 셀 내에 기입된다. 즉, 제1 페이지 기입 프로그램이 CPU(14)에 의해 먼저 실행되고, 그 후 제2 페이지 기입 프로그램이 실행되어, 메모 리 셀의 임계 전압이 상위 레벨로 시프트(shift)되게 한다. 이하에서는, 제1 페이지를 또한 "하위 페이지(lower page)"라 할 수 있고, 제2 페이지를 "상위 페이지(upper page)"라 할 수 있다.
하위 페이지 또는 상위 페이지에 기입된 데이터가 "1"일 때에, 메모리 셀의 임계 전압은 기입 프로그램의 실행으로 변동하지 않는다. 하지만, 하위 페이지 또는 상위 페이지에 기입된 데이터가 "0"일 때에는, 메모리 셀의 임계 전압은 기입 프로그램의 실행으로 변동한다.
이하에서는, CPU(14)에 의한 2-비트 데이터에 대한 기입 프로그램의 실행을 도 2를 이용하여 보다 상세히 기술할 것이다. 이미 기술된 바와 같이, 소거된 상태에서의 메모리 셀은 상태 "0"이 된다. 먼저, 하위 페이지의 데이터가 기입된다. 여기서, 도 2의 S0에 도시된 바와 같이, (1)이라는 하위 페이지 데이터가 메모리 셀 내에 기입된 후에도, 메모리 셀은 상태 "0"으로 유지된다. 다른 한편으로, 도 2의 S1에 도시된 바와 같이, 하위 페이지 데이터가 (0)인 경우, 메모리 셀은 데이터의 기입 후에 상태 "1"이 된다.
다음으로, 상위 페이지의 데이터가 기입된다. 도 2의 S2에 도시된 바와 같이, 하위 페이지에 대한 기입 결과로서 상태 "1"인 메모리 셀에 데이터(0)가 외부적으로 공급될 때에, 즉 데이터(0)가 메모리 셀에 기입되는 경우, 메모리 셀은 상태 "3"이 된다. 또한, 도 2의 S3에 도시된 바와 같이, 하위 페이지에 대한 기입 후에 여전히 상태 "0"인 메모리 셀에 데이터(0)가 외부적으로 공급될 때에, 메모리 셀은 상태 "2"가 된다. 그리고, 도 2의 S4에 도시된 바와 같이, 하위 페이지에 대 한 기입 후에 상태 "1"인 메모리 셀에 데이터(1)가 외부적으로 공급될 때에, 메모리 셀은 상태 "1"로 유지된다. 또한, 도 2의 S5에 도시된 바와 같이, 하위 페이지로의 기입 후에 여전히 상태 "0"인 메모리 셀에 데이터(1)가 외부적으로 공급되는 경우, 메모리 셀은 상태 "0"로 유지되고 변동하지 않는다.
여기서, 다치 메모리의 경우, CPU(14)는 기입 데이터에 적합한 메모리 셀의 임계 전압을 정확하게 제어할 필요가 있다. 즉, 소정의 레벨 이상의 임계 전압의 초과를 의미하는 오버-프로그래밍(over-programming)을 염려하기 때문에, 스텝-업(step-up) 기입 방법이 채용된다.
스텝-업 기입 방법에 기초하는 하위 페이지 기입 프로그램은, 낮은 기입 전압에서 시작하여 전압을 점진적으로 증가시키면서 메모리 셀에 전압을 인가하는 전압 인가 동작과, 메모리 셀이 소정의 임계 전압인지의 여부를 체크하는 검증-판독(verify-read) 동작을 반복한다.
다른 한편으로, 상위 페이지 프로그램은 상위 페이지 데이터를 기입하지 전에 메모리 셀이 상태 "0" 또는 "1"인지 여부를 체크하고 기억(memorize)하기 위해서 내부 데이터 로딩(internal data loading)을 수행한다. 후속하여, 하위 페이지 기입 프로그램에서는, 전압을 점진적으로 증가시키면서 전압을 인가하는 전압 인가 동작과, 메모리 셀이 정정 임계 전압인지 여부를 체크하는 검증-판독 동작을 반복한다.
즉, 상위 페이지 기입 프로그램의 동작은 앞에서 도시한 바와 같이 하위 페이지 기입 프로그램의 동작보다 복잡하기 때문에, 상위 페이지 기입 프로그램은 보 다 긴 프로그램 시간을 갖는다. 예를 들어, 하위 페이지 기입 프로그램 시간이 TD2L이라고 가정해 보면, 상위 페이지 기입 프로그램 시간은 예컨대, 약 3배, 3×TD2L이다.
여기서, 메모리 시스템의 처리 속도가 호스트로부터의 데이터 전송율에 비하여 낮은 경우, 대기시간(latency)에 연관된 시간 차는 기입 성능을 떨어뜨리게 된다. 이런 과제를 해결하기 위한 한 가지 방식이 메모리 인터리빙 방식이다.
하지만, 이미 언급한 바와 같이, 2-비트 데이터를 저장할 수 있는 다치 메모리 셀을 갖는 메모리 시스템에서, CPU(14)에 의해 실행되는, 메모리부에 데이터를 기입하기 위한 프로그램은 서로 다른 프로그램 시간을 갖는 2가지 유형의 기입 프로그램, 즉 짧은 프로그램 시간의 하위 페이지 프로그램과 긴 프로그램 시간의 상위 페이지 프로그램으로 이루어진다. 즉, N-비트 데이터(N ≥ 2인 정수)를 저장할 수 있는 다치 메모리 셀을 갖는 메모리 시스템에서, CPU(14)에 의해 실행되는 프로그램은 서로 다른 프로그램 시간을 갖는 N가지 유형의 기입 프로그램으로 이루어진다.
여기서는, 도 3 및 도 4를 이용하여, 2-비트 데이터를 저장할 수 있는 다치 메모리 셀을 갖는 알려진 메모리 시스템에 사용하기 위한 메모리 인터리빙 방식에 기초하는 기입 프로그램을 기술할 것이다. 하기에 도시된 도 4 등에 도시된 타이밍 차트들에서는, 수평 축은 도시를 용이하게 하기 위해서 크기가 부분적으로 확장 또는 축소될 수 있음에 주목해야 한다. 또한, 도 3 및 다른 도면들에 도시된 평 면(plane)은 직렬로 연결된 다수의 메모리 셀 집합이며, 메모리부는 다수의 평면으로 이루어져 있다.
도 3에서 화살표로 표시된 바와 같이, 2개의 칩, 칩 0 및 칩 1로 이루어지는 메모리부를 갖는 알려진 메모리 시스템에서는, CPU가 칩 0과 칩 1에 대한 기입 처리를 페이지별로 번갈아 실행한다. 즉, 도 4에 도시된 바와 같이, CPU는 T1 내지 T2에서 도시된 칩 0에 대한 하위 페이지에 대한 데이터 전송(Data In) 처리를, T2 내지 T3에서 도시된 칩 1에 대한 하위 페이지에 대한 데이터 전송 처리를, T3 내지 T4에서 도시된 칩 0에 대한 상위 페이지에 대한 데이터 전송 처리를, T4 내지 T5에서 도시된 칩 1에 대한 상위 페이지에 대한 데이터 전송 처리를 수행하고, 데이터 전송 처리들을 완료한 후에, 기입 프로그램을 실행한다.
즉, CPU는 칩 1에 대한 Data In을 처리하고, 칩 0이 비지(busy)인 동안, 칩 1에 대한 기입 프로그램을 시작하고, 그 후 칩 1이 비지(busy)인 동안에는, 칩 0에 대한 Data In을 처리하고 칩 0에 대한 기입 프로그램을 시작한다. 즉, 알려진 메모리 시스템에서, CPU는 하나의 칩의 메모리 셀에 대한 한 가지 유형의 페이지 기입 프로그램을 실행시키고, 그 후 다른 칩의 메모리 셀에 대한 동일한 한 가지 유형의 페이지 기입 프로그램을 실행시키며, 그런 다음 서로 다른 유형의 페이지 기입 프로그램을 실행시킨다.
도 4에 도시된 바와 같이, 전술된 알려진 메모리 시스템에서는, 낭비되는 시간(wasted time) WTO가, 칩 0 및 칩 1에 대한 상위 페이지 기입 프로그램들이 동시에 실행될 때, 일어난다. 이는, 이미 기술된 바와 같이 보다, 높은 페이지 프로그 램 시간이 하위 페이지 프로그램 시간보다 길다는 사실에 기인한다.
다음으로, 도 5 및 도 6을 이용하여, 본 실시예에 따른 메모리 제어기(2)의 CPU(14)에 의해 실행되는 메모리 인터리빙 방식에 기초하는 기입 프로그램을 기술할 것이다. 도 5에서 화살표에 의해 도시된 바와 같이, 메모리 시스템(1)에서는, CPU(14)가 칩 0의 메모리 셀에 대한 2가지 유형의 기입 프로그램과 칩 1의 메모리 셀에 대한 2가지 유형의 기입 프로그램을 메모리 인터리빙 방식으로 실행한다. 즉, 메모리 시스템(1)에서는, CPU(14)가 2가지 유형의 기입 프로그램, 즉 칩 0에 대한 하위 페이지 기입 프로그램과 칩 0에 대한 상위 페이지 기입 프로그램을 반복해서 실행하고 그 후에 2가지 유형의 기입 프로그램, 즉 칩 1에 대한 하위 페이지 기입 프로그램과 칩 1에 대한 상위 페이지 기입 프로그램을 메모리 인터리빙 방식으로 실행한다. 또한 다르게 말하자면, 본 실시예에 따른 메모리 제어기(2)의 CPU(14)는 N가지 유형의 페이지 기입 프로그램 모두를 하나의 칩에 속하는 메모리 셀 내에서 실행시키고, 그 후에 N가지 유형의 기입 프로그램 모두를 다른 칩에 속하는 메모리 셀 내에서 실행시킨다.
도 6의 T1 내지 T2에서 도시된 칩 0의 하위 페이지에 대한 Data In 처리 후에, 메모리 시스템(1)의 CPU(14)는 T2에서 하위 페이지에 대한 기입 프로그램을 시작하고, Busy 상태의 해제 후에, T3에서 칩 0의 상위 페이지에 대한 Data In 처리를 시작하고, T4에서 칩 0에 대한 상위 페이지 기입 프로그램을 시작한다. 그리고 칩 0에 대한 기입 프로그램과 병렬로, CPU(14)는 T4에서 칩 1의 하위 페이지에 대한 Data In 처리를 시작하고, T5에서 칩 1에 대한 하위 페이지 기입 프로그램을 시 작한다. 그런 다음, CPU(14)는 T6에서 칩 1의 상위 페이지에 대한 Data In 처리를 시작하고, T7에서 칩 1에 대한 상위 페이지 기입 프로그램을 반복해서 시작한다.
기술된 바와 같이, 메모리 제어기(2)는 2개의 칩으로 이루어진 반도체 메모리부에 데이터를 기입하기 위한 프로그램들을 제어하도록 구성된 CPU(14)를 갖는 메모리 제어기이며, 이들 칩은 2-비트 데이터를 하나의 메모리 셀에 저장할 수 있는 다수의 메모리 셀로 이루어지고, CPU(14)에 의해 실행되는 2-비트 데이터 기입 프로그램은 서로 다른 프로그램 시간을 갖는 2가지 유형의 페이지 기입 프로그램으로 이루어지며, CPU(14)는 하나의 칩에 속하는 메모리 셀 내의 2가지 유형의 페이지 모두에 대한 기입 프로그램을 반복해서 실행시키고, 다른 칩에 속하는 메모리 셀 내의 2가지 유형의 페이지 모두에 대한 기입 프로그램을 메모리 인터리빙 방식으로 실행시킨다.
메모리 시스템(1)의 CPU(14)는 하나의 칩의 상위 페이지에 대한 프로그램 시간 동안 하위 페이지에 대한 Data In 처리, 기입 프로그램, 다른 칩의 상위 페이지에 대한 Data In 처리를 실행할 수 있기 때문에, 낭비되는 시간 WT3이 짧다. 도 6에서, T2와 T3 사이의 시간(WT1) 및 T5와 T6 사이의 시간(WT2) 역시 낭비되는 시간이기 때문에, 메모리 시스템(1)에서 낭비되는 시간은 WT1 내지 WT3의 합(sum)이다.
하지만, 본 실시예의 메모리 시스템(1)의 낭비되는 시간(WT1 + WT2 + WT3)은, 알려진 메모리 시스템에서 낭비되는 시간(WT0)에 비하면, 더 짧다. 따라서, 본 실시예의 메모리 제어기(2)는 고속 기입을 제공한다. 또한, 본 실시예의 메모리 제어기(2)를 갖는 메모리 시스템(1) 및 메모리 시스템(1)을 위한 제어 방법은 고속 기입을 제공한다.
기술된 바와 같이, 메모리 시스템(1)을 위한 제어 방법은, 반도체 메모리부의 칩들 중 하나의 칩에 속하는 메모리 셀 내의 N가지 유형의 페이지 모두에 대한 기입 프로그램을 실행시키는 제1 기입 단계 - 반도체 메모리부는 N가지 유형의 페이지 단위의 하나의 메모리 셀에 N-비트 데이터(N ≥ 2인 정수)를 저장할 수 있는 다수의 메모리 셀로 이루어진 복수의 칩으로 이루어짐 - ; 및 칩들 중 다른 하나의 칩에 속하는 메모리 셀 내의 N가지 유형의 페이지 모두에 대한 기입 프로그램을 실행시키는 제2 기입 단계를 포함하며, 제1 기입 단계와 제2 기입 단계는 번갈아 실행되는 방법이다.
제2 실시예
이하에서는, 본 발명의 제2 실시예에 따른 메모리 시스템(101) 및 메모리 제어기(102)를 도면들을 참조하여 기술할 것이다.
도 7은 제2 실시예에 따른 메모리 시스템(101)의 구성을 도시한다. 본 실시예의 메모리 시스템(101) 및 메모리 제어기(102)는 제1 실시예의 메모리 시스템(1) 및 메모리 제어기(2)와 유사하기 때문에, 동일한 구성요소에는 동일한 참조 부호를 부여하고, 이러한 구성요소에 대한 설명을 생략한다. 도 7에서, 선택 신호선 및 준비/비지(Ready/Busy) 신호선은 도시되어 있지 않다.
도 7에 도시된 바와 같이, 본 실시예의 메모리 시스템(101)의 메모리부(120)를 구성하는 2개의 칩(121 및 122)은 하나의 메모리 셀에 3-비트 데이터를 저장할 수 있는 8치(8- value) 메모리 셀을 갖는다.
메모리 시스템(101)에서, 3-비트 데이터를 하나의 메모리 셀 내에 기입하기 위해서는, 저장될 데이터가 기입 단위인, 제1 페이지 데이터, 제2 페이지 데이터, 및 제3 페이지 데이터로 분할되고, 제1 페이지 데이터, 제2 페이지 데이터, 및 제3 페이지 데이터는 순차적으로 단일 메모리 셀에 기입된다. 즉, 메모리 제어기(102)에서, CPU(114)는 먼저 제1 페이지 기입 프로그램을 실행시키고, 그 후 제2 페이지 기입 프로그램을 실행시키고, 마지막으로 제3 페이지 기입 프로그램을 실행시켜, 메모리 셀의 임계 전압이 상위 레벨로 시프트 또는 변동되게 한다. 이하에서는, 제1 페이지를 또한 "하위 페이지(lower page)"라고 하며, 제2 페이지를 "중간 페이지(middle page)"라고 하며, 제3 페이지를 "상위 페이지(upper page)"라고 할 수 있다.
예를 들어, 하위 페이지의 기입 프로그램 시간이 TD3L이라 가정해 보면, 중간 페이지의 기입 프로그램 시간 TD3M은 약 4×TD3L이며, 상위 페이지의 기입 프로그램 시간 TD3U은 약 15×TD3L이다. 즉, 메모리 시스템(101)에서, 상위 페이지의 기입 프로그램 시간은 다른 페이지의 기입 프로그램 시간보다 상당히 길다.
이제, 도 8을 이용하여, 본 실시예의 메모리 제어기(102)에 의해 수행되는 처리를 기술해 본다.
도 8에서 화살표로 표시된 바와 같이, 메모리 제어기(102)의 CPU(114)는 먼저 칩 0에 대한 하위 페이지 기입 프로그램을 실행하고, 그 후 칩 0에 대한 중간 페이지 기입 프로그램을 실행하고, 그런 다음 가장 긴 프로그램 시간을 갖는 칩 0 에 대한 상위 페이지 기입 프로그램을 실행한다. 이하에서는, CPU(114)가 기입 대상 칩을 칩 1로 변경하고, 칩 1에 대한 하위 기입 프로그램, 칩 1에 대한 중간 페이지 기입 프로그램, 및 칩 1에 대한 상위 페이지 기입 프로그램을 반복해서 실행한다.
즉, 메모리 제어기(102)는 2개의 칩(121 및 122)으로 이루어지는 메모리부(120)에 데이터를 기입하기 위한 프로그램들을 제어하는 CPU(114)를 갖는 메모리 제어기(102)이며, 이들 칩은 3-비트 데이터를 하나의 메모리 셀에 저장할 수 있는 다수의 메모리 셀로 이루어지며, 3-비트 데이터 기입 프로그램은 서로 다른 프로그램 시간의 3가지 유형의 페이지 기입 프로그램으로 이루어지며, 프로그램은 하나의 칩에 속하는 메모리 셀 내의 3가지 유형의 페이지 모두에 대해 기입 프로그램을 반복해서 실행시키고, 다른 하나의 칩에 속하는 메모리 셀 내의 3가지 유형의 페이지 모두에 대한 기입 프로그램을 인터리빙 방식으로 실행시키기 위한 것이다.
메모리 제어기(102)는 하나의 칩에 대한 기입 프로그램을, 다른 칩에 대한 상위 페이지 프로그램 시간 동안, 실행시킬 수 있기 때문에, 낭비되는 시간이 짧다. 따라서, 본 실시예의 메모리 제어기(102)는 고속 기입을 제공한다. 또한, 본 실시예의 메모리 제어기(102)를 갖는 메모리 시스템(101) 및 메모리 시스템(101)을 위한 제어 방법은 고속 기입을 제공한다.
본 발명의 바람직한 실시예들을 첨부 도면을 참조하여 기술하였지만, 본 발명은 이들 상세한 실시예에 제한되는 것은 아니며, 첨부된 청구항들에 규정되는 본 발명의 사상 또는 범위 내에서 본 분야의 숙련자는 본 발명의 다양한 변경 및 변형 을 행할 수 있음을 이해해야 한다.
도 1은 제1 실시예에 따른 메모리 시스템의 구성을 도시한 도면.
도 2는 다치 메모리에서 기입 데이터(written data)와 임계 전압 간의 관계를 나타내는 도면.
도 3은 알려진 메모리 시스템에서 메모리 인터리빙 방식의 기입 처리를 나타내기 위한 도면.
도 4는 알려진 메모리 시스템에서 메모리 인터리빙 방식으로 프로그램을 기입하는 타이밍 차트.
도 5는 메모리 인터리빙 방식의 제1 실시예의 메모리 제어기에 의한 기입 처리를 나타내기 위한 도면.
도 6은 메모리 인터리빙 방식의 제1 실시예의 메모리 제어기에 의한 소정의 기입 시점에서의 타이밍 차트.
도 7은 제2 실시예에 따른 메모리 시스템의 구성을 도시한 도면.
도 8은 제2 실시예의 메모리 제어기에 의한 메모리 인터리빙 방식의 기입 처리를 나타내기 위한 도면.
<도면의 주요 부분에 대한 부호의 설명>
1: 메모리 시스템
2: 메모리 제어기
3: 호스트
18: 버퍼
21, 121: 칩 0
22, 122: 칩 1

Claims (12)

  1. N가지 유형의 페이지 단위의 하나의 메모리 셀에 N-비트 데이터(N≥2인 정수)를 저장할 수 있는 다수의 메모리 셀로 이루어지는 복수의 칩으로 이루어진 반도체 메모리부와의 인터페이스를 제어하도록 구성된 모듈; 및
    상기 칩들 중 하나의 칩에 속하는 메모리 셀 내의 N가지 유형의 페이지 모두에 대한 기입 프로그램을 반복해서 실행시키고, 그 후에 상기 칩들 중 다른 하나의 칩에 속하는 메모리 셀 내의 N가지 유형의 페이지 모두에 대한 기입 프로그램을 인터리빙된(interleaved) 방식으로 실행시키도록 구성된 제어부
    를 포함하는 메모리 제어기.
  2. 제1항에 있어서,
    상기 복수의 칩은 2개의 칩인, 메모리 제어기.
  3. 제2항에 있어서,
    상기 N은 2 또는 3인, 메모리 제어기.
  4. 제3항에 있어서,
    상기 메모리 셀은 NAND형 플래시 메모리 셀인, 메모리 제어기.
  5. N가지 유형의 페이지 단위의 하나의 메모리 셀에 N-비트 데이터(N≥2인 정수)를 저장할 수 있는 다수의 메모리 셀로 이루어지는 복수의 칩으로 이루어진 반도체 메모리부; 및
    상기 반도체 메모리부 내에 데이터를 기입하기 위한 처리를 인터리빙된 방식으로 수행할 때에, 상기 칩들 중 하나의 칩의 메모리 셀들 중 하나의 메모리 셀에 속하는 메모리 셀 내의 N가지 유형의 페이지 모두에 대한 기입 프로그램을 반복해서 실행시키고, 그 후에 상기 칩들 중 다른 하나의 칩에 속하는 메모리 셀 내의 N가지 유형의 페이지 모두에 대한 기입 프로그램을 실행시키도록 구성된 제어부를 갖는 메모리 제어기
    를 포함하는 메모리 시스템.
  6. 제5항에 있어서,
    상기 복수의 칩은 2개의 칩인, 메모리 시스템.
  7. 제6항에 있어서,
    상기 N은 2 또는 3인, 메모리 시스템.
  8. 제7항에 있어서,
    상기 메모리 셀은 NAND형 플래시 메모리 셀인, 메모리 시스템.
  9. 메모리 시스템을 위한 제어 방법으로서,
    반도체 메모리부의 칩들 중 하나의 칩에 속하는 메모리 셀 내의 N가지 유형의 페이지 모두에 대한 기입 프로그램을 실행시키는 단계 - 상기 반도체 메모리부는 N가지 유형의 페이지 단위의 하나의 메모리 셀에 N-비트 데이터(N≥2인 정수)를 저장할 수 있는 다수의 메모리 셀로 이루어지는 복수의 칩으로 이루어짐 - ; 및
    상기 칩들 중 다른 하나의 칩에 속하는 메모리 셀 내의 N가지 유형의 페이지 모두에 대한 기입 프로그램을 추가로 실행시키는 단계
    를 포함하는, 메모리 시스템을 위한 제어 방법.
  10. 제9항에 있어서,
    상기 복수의 칩은 2개의 칩인, 메모리 시스템을 위한 제어 방법.
  11. 제10항에 있어서,
    상기 N은 2 또는 3인, 메모리 시스템을 위한 제어 방법.
  12. 제11항에 있어서,
    상기 메모리 셀은 NAND형 플래시 메모리 셀인, 메모리 시스템을 위한 제어 방법.
KR1020090063614A 2008-07-14 2009-07-13 메모리 제어기, 메모리 시스템, 및 메모리 시스템의 제어 방법 KR101089013B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008183024A JP2010020715A (ja) 2008-07-14 2008-07-14 半導体メモリコントローラおよび半導体メモリシステム
JPJP-P-2008-183024 2008-07-14

Publications (2)

Publication Number Publication Date
KR20100007813A true KR20100007813A (ko) 2010-01-22
KR101089013B1 KR101089013B1 (ko) 2011-12-01

Family

ID=41506154

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090063614A KR101089013B1 (ko) 2008-07-14 2009-07-13 메모리 제어기, 메모리 시스템, 및 메모리 시스템의 제어 방법

Country Status (5)

Country Link
US (1) US8266368B2 (ko)
JP (1) JP2010020715A (ko)
KR (1) KR101089013B1 (ko)
CN (1) CN101630289A (ko)
TW (1) TW201007462A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105586944A (zh) * 2016-03-06 2016-05-18 陈兆英 梯形插扣y桩制造装置

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI425512B (zh) * 2009-06-16 2014-02-01 Phison Electronics Corp 快閃記憶體控制電路及其儲存系統與資料傳輸方法
KR101581857B1 (ko) * 2009-08-06 2015-12-31 삼성전자주식회사 불휘발성 메모리 시스템 및 그것의 인터리브 유닛 구성 방법
TWI437570B (zh) * 2010-03-10 2014-05-11 Macronix Int Co Ltd 藉由編程準位的交換改善多位階單元的編程速度
JP2011233114A (ja) 2010-04-30 2011-11-17 Toshiba Corp メモリシステム
US8417877B2 (en) 2010-08-31 2013-04-09 Micron Technology, Inc Stripe-based non-volatile multilevel memory operation
JP5677336B2 (ja) 2011-08-01 2015-02-25 株式会社東芝 メモリ・デバイス
JP2013077278A (ja) 2011-09-16 2013-04-25 Toshiba Corp メモリ・デバイス
US9569117B2 (en) * 2014-03-11 2017-02-14 Kabushiki Kaisha Toshiba Memory system controlling interleaving write to memory chips
KR102229970B1 (ko) * 2014-06-27 2021-03-22 삼성전자주식회사 불휘발성 메모리, 랜덤 액세스 메모리 및 메모리 컨트롤러를 포함하는 솔리드 스테이트 드라이브

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US377221A (en) * 1888-01-31 Edwin j
US345467A (en) * 1886-07-13 Barrel-truck
US1448510A (en) * 1921-04-16 1923-03-13 Percy A E Armstrong Apparatus for electrical heating of fluids
US2263549A (en) * 1938-08-05 1941-11-18 Saint Gobain Electrical heating of liquid baths
DE3432103A1 (de) * 1984-08-31 1986-03-13 Kraftwerk Union AG, 4330 Mülheim Verfahren zum volumenreduzierung von radioaktiv beladenen fluessigkeiten und rippenkoerper zur verwendung dabei
US5583960A (en) * 1994-06-01 1996-12-10 David Reznik Electroheating apparatus and methods
JPH0877066A (ja) 1994-08-31 1996-03-22 Tdk Corp フラッシュメモリコントローラ
US7243185B2 (en) 2004-04-05 2007-07-10 Super Talent Electronics, Inc. Flash memory system with a high-speed flash controller
US7290109B2 (en) 2002-01-09 2007-10-30 Renesas Technology Corp. Memory system and memory card
US20060243222A1 (en) * 2005-04-29 2006-11-02 Moskwa Kenneth R Unitized boiler control mounting frame apparatus and method
JP4693675B2 (ja) * 2006-03-27 2011-06-01 株式会社東芝 半導体記憶装置の制御方法
KR100754226B1 (ko) 2006-08-22 2007-09-03 삼성전자주식회사 비휘발성 데이터 저장장치의 프로그래밍 방법 및 그 장치
WO2009013879A1 (ja) * 2007-07-20 2009-01-29 Panasonic Corporation メモリーコントローラ、及びこれを用いた不揮発性記憶装置
JP4730846B2 (ja) 2007-11-26 2011-07-20 ルネサスエレクトロニクス株式会社 メモリシステム
US8326134B2 (en) * 2009-07-27 2012-12-04 Harper James T Integrated boiler component wiring assembly and method
US20120073502A1 (en) * 2010-09-27 2012-03-29 Veeco Instruments Inc. Heater with liquid heating element

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105586944A (zh) * 2016-03-06 2016-05-18 陈兆英 梯形插扣y桩制造装置

Also Published As

Publication number Publication date
TW201007462A (en) 2010-02-16
CN101630289A (zh) 2010-01-20
KR101089013B1 (ko) 2011-12-01
US8266368B2 (en) 2012-09-11
JP2010020715A (ja) 2010-01-28
US20100011158A1 (en) 2010-01-14

Similar Documents

Publication Publication Date Title
KR101089013B1 (ko) 메모리 제어기, 메모리 시스템, 및 메모리 시스템의 제어 방법
US11031081B2 (en) Apparatus having memory arrays and having trim registers associated with memory array access operation commands
KR100902008B1 (ko) 메모리 셀에 멀티 비트 데이터를 저장하는 플래시 메모리를 포함한 메모리 시스템
KR100805840B1 (ko) 캐시를 이용한 플래시 메모리 장치 및 그것의 프로그램방법
US7334080B2 (en) Nonvolatile memory with independent access capability to associated buffer
CN111508543B (zh) 半导体存储装置以及存储器系统
US10910023B2 (en) Semiconductor storage device and memory system
CN107146639B (zh) 半导体存储装置及存储器系统
US20120290897A1 (en) Data storage system having multi-bit memory device and on-chip buffer program method thereof
JP2011165305A (ja) 不揮発性メモリ装置及びそれを含むメモリシステム
JP2004086991A (ja) 不揮発性記憶装置
KR20090015645A (ko) 낸드 플래시 메모리 장치 및 그것의 프로그램 방법
US8036034B2 (en) Semiconductor storage device equipped with a sense amplifier for reading data and threshold-voltage-information data
US20100128527A1 (en) Nonvolatile memory device
US9007867B2 (en) Loading trim address and trim data pairs
JP4724692B2 (ja) 高速プログラム型のmlcメモリ
US10037247B2 (en) Memory system having idle-memory devices and method of operating thereof
US10073741B2 (en) Memory system with reduced program time and method of operating the same
CN113555052B (zh) 半导体存储装置
CN115470052A (zh) 存储芯片的坏块检测方法、检测装置及存储介质
KR100833396B1 (ko) 불휘발성 메모리 장치의 카피백 프로그램 방법

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
LAPS Lapse due to unpaid annual fee