KR101076981B1 - 전하 축적층과 제어 게이트를 갖는 메모리 셀을 구비한 반도체 장치 및 그 데이터 기입 방법 - Google Patents

전하 축적층과 제어 게이트를 갖는 메모리 셀을 구비한 반도체 장치 및 그 데이터 기입 방법 Download PDF

Info

Publication number
KR101076981B1
KR101076981B1 KR1020090074157A KR20090074157A KR101076981B1 KR 101076981 B1 KR101076981 B1 KR 101076981B1 KR 1020090074157 A KR1020090074157 A KR 1020090074157A KR 20090074157 A KR20090074157 A KR 20090074157A KR 101076981 B1 KR101076981 B1 KR 101076981B1
Authority
KR
South Korea
Prior art keywords
data
page
memory
row address
nonvolatile semiconductor
Prior art date
Application number
KR1020090074157A
Other languages
English (en)
Other versions
KR20100020921A (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 KR20100020921A publication Critical patent/KR20100020921A/ko
Application granted granted Critical
Publication of KR101076981B1 publication Critical patent/KR101076981B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • 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/08Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers from or to individual record carriers, e.g. punched card, memory card, integrated circuit [IC] card or smart card
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • G06K19/077Constructional details, e.g. mounting of circuits in the carrier
    • G06K19/0772Physical layout of the record carrier
    • G06K19/07732Physical layout of the record carrier the record carrier having a housing or construction similar to well-known portable memory devices, such as SD cards, USB or memory sticks
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5641Multilevel memory having cells with different number of storage levels

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Read Only Memory (AREA)
  • Memory System (AREA)

Abstract

본 발명은, 불휘발성 반도체 메모리(11)와 컨트롤러(12)를 포함하는 반도체 장치에 관한 것이다. 불휘발성 반도체 메모리(11)는, 2비트 이상의 데이터를 유지 가능한 복수의 메모리 셀을 구비한 제1 메모리 블록(BLK1)과, 1비트의 데이터를 유지 가능한 복수의 메모리 셀을 구비한 제2 메모리 블록(BLK2)을 갖는다. 제1 메모리 블록(BLK1)에 있어서, 상기 데이터의 비트마다 페이지가 할당되고, 또한 비트마다 기입에 필요로 하는 시간이 다르다. 컨트롤러(12)는, 기입 데이터의 최종 페이지가, 제1 메모리 블록(BLK1)에 있어서 기입에 필요로 하는 시간이 가장 긴 비트에 상당하는 경우, 불휘발성 반도체 메모리(11)에 대해, 그 데이터에 대한 프로그램을 제2 메모리 블록(BLK2)의 어느 한 페이지에 실행하도록 명령한다.
반도체 메모리, 메모리 카드, 호스트 기기, 호스트 버스 인터페이스, 카드 컨트롤러

Description

전하 축적층과 제어 게이트를 갖는 메모리 셀을 구비한 반도체 장치 및 그 데이터 기입 방법{SEMICONDUCTOR DEVICE INCLUDING MEMORY CELL HAVING CHARGE ACCUMULATION LAYER AND CONTROL GATE AND DATA WRITE METHOD FOR THE SAME}
본 발명은 반도체 장치 및 그 데이터 기입 방법에 관한 것이다. 예를 들어, 불휘발성의 반도체 메모리와, 그 동작을 제어하는 컨트롤러를 구비한 메모리 시스템에 관한 것이다.
NAND형 플래시 메모리에 있어서는, 데이터는 복수의 메모리 셀에 대해 일괄하여 기입된다. 이 일괄 기입의 단위는 페이지라 불린다. NAND형 플래시 메모리에의 데이터의 기입에 대해서는, 예를 들어 일본 특허 공개 제2007-242163호 공보에 개시가 있다. 최근 NAND형 플래시 메모리의 대용량화에 수반하여, 페이지 사이즈는 커져 가고 있다. 그로 인해 NAND형 플래시 메모리는, 사이즈가 큰 데이터를 기입할 때의 기입 성능은 향상되어 있다.
그러나, NAND형 플래시 메모리에 대한 호스트 기기로부터의 액세스 단위는, 반드시 큰 경우에 한정되지 않는다. 특히, 기입할 데이터의 사이즈가 페이지 사이즈 미만인 경우에는, NAND형 플래시 메모리의 기입 성능을 충분히 발휘할 수 없어, 기입 속도가 저하되는 경우가 있다.
본 발명은, 데이터의 기입 속도를 향상시킬 수 있는 반도체 장치 및 그 데이터 기입 방법을 제공한다.
2비트 이상의 데이터를 유지 가능한 복수의 메모리 셀을 구비한 제1 메모리 블록과, 1비트의 데이터를 유지 가능한 복수의 메모리 셀을 구비한 제2 메모리 블록을 갖고, 상기 제1, 제2 메모리 블록에 대해 페이지 단위로 데이터를 프로그램 가능한 불휘발성 반도체 메모리와,
호스트 기기로부터 수신한 기입 데이터를 상기 불휘발성 반도체 메모리에 공급하고, 상기 제1 메모리 블록 또는 제2 메모리 블록에의 상기 기입 데이터의 프로그램을 상기 페이지마다 상기 불휘발성 반도체 메모리에 명령하는 컨트롤러를 포함하는 반도체 장치이며,
상기 제1 메모리 블록에 있어서 상기 페이지는, 유지 가능한 상기 2비트 이상의 데이터의 비트마다 할당되고, 또한 대응하는 비트마다 기입에 필요로 하는 시간이 다르고,
상기 컨트롤러는 상기 기입 데이터의 최종 페이지가 상기 기입에 필요로 하는 시간이 가장 긴 비트에 상당하는 경우, 상기 불휘발성 반도체 메모리에 대해 그 데이터에 관한 프로그램을 상기 제2 메모리 블록의 어느 한 페이지에 실행하도록 명령한다.
페이지에 따라 기입 속도가 다른 제1 메모리 블록과 제2 메모리 블록을 구비 한 불휘발성 반도체 메모리의 데이터 기입 방법이며,
상기 제1 메모리 블록에 있어서의 어느 한 페이지를 지정하는 제1 로우 어드레스를 상기 불휘발성 반도체 메모리에 송신하는 단계와,
상기 제1 로우 어드레스를 송신한 후, 데이터를 상기 불휘발성 반도체 메모리에 송신하는 단계와,
상기 데이터를 송신한 후, 상기 불휘발성 반도체 메모리에 송신할 데이터가 남아 있지 않고, 또한 상기 제1 로우 어드레스가 상기 제1 메모리 블록에 있어서 상기 기입 속도가 가장 느린 페이지인 경우, 로우 어드레스 변경 명령과, 상기 제2 메모리 블록에 있어서의 어느 한 페이지를 지정하는 제2 로우 어드레스를 상기 불휘발성 반도체 메모리에 송신하는 단계와,
상기 제2 로우 어드레스를 송신한 후, 상기 제2 로우 어드레스에 의해 지정되는 페이지에의 상기 데이터의 프로그램을 명령하는 기입 명령을 상기 불휘발성 반도체 메모리에 송신하는 단계를 포함한다.
본 발명에 따르면, 데이터의 기입 속도를 향상시킬 수 있는 반도체 장치 및 그 데이터 기입 방법을 제공할 수 있다.
[제1 실시 형태]
본 발명의 제1 실시 형태에 따른 반도체 장치에 대해, 도 1을 이용하여 설명한다. 도 1은, 본 실시 형태에 따른 메모리 시스템의 블록도이다.
<메모리 시스템의 전체 구성에 대해>
도시하는 바와 같이 메모리 시스템은, 메모리 카드(1) 및 호스트 기기(2)를 구비하고 있다. 호스트 기기(2)는, 호스트 버스 인터페이스(이하, 단순히 호스트 버스라 부르는 경우가 있음)(14)를 통해 접속되는 메모리 카드(1)에 대해 액세스를 행하기 위한 하드웨어 및 소프트웨어를 구비하고 있다. 메모리 카드(1)는 호스트 기기(2)에 접속되었을 때에 전원 공급을 받아 동작하고, 호스트 기기(2)로부터의 액세스에 따른 처리를 행한다.
<메모리 카드의 구성에 대해>
메모리 카드(1)는, 호스트 기기(2)와 호스트 버스 인터페이스(14)를 통해 정보의 주고 받음을 행한다. 메모리 카드(1)는, NAND형 플래시 메모리 칩(단순히 NAND형 플래시 메모리, 또는 플래시 메모리라 부르는 경우가 있음)(11), 플래시 메모리 칩(11)을 제어하는 카드 컨트롤러(12), 및 복수의 신호 핀(제1 핀 내지 제9 핀)(13)을 구비하고 있다.
복수의 신호 핀(13)은, 카드 컨트롤러(12)와 전기적으로 접속되어 있다. 복수의 신호 핀(13)에 있어서의 제1 핀 내지 제9 핀에 대한 신호의 할당은, 예를 들어 도 2에 도시되는 바와 같이 되어 있다. 도 2는 제1 핀 내지 제9 핀과, 그들에 할당된 신호를 나타내는 표이다.
데이터 0 내지 데이터 3은, 제7 핀, 제8 핀, 제9 핀, 및 제1 핀에 각각 할당되어 있다. 제1 핀은, 또한 카드 검출 신호에 대해서도 할당되어 있다. 또한, 제2 핀은 코맨드에 할당되고, 제3 핀 및 제6 핀은 접지 전위(Vss)에, 제4 핀은 전원 전위(Vdd)에, 제5 핀은 클록 신호에 할당되어 있다.
또한, 메모리 카드(1)는 호스트 기기(2)에 설치된 슬롯에 대해 삽입 발출 가능하도록 형성되어 있다. 호스트 기기(2)에 설치된 호스트 컨트롤러(도시하지 않음)는, 이들 제1 핀 내지 제9 핀을 통해 메모리 카드(1) 내의 카드 컨트롤러(12)와 각종 신호 및 데이터를 통신한다. 예를 들어, 메모리 카드(1)에 데이터가 기입될 때에는, 호스트 컨트롤러는, 기입 코맨드를 제2 핀을 통해 카드 컨트롤러(12)에 직렬 신호로서 송출한다. 이때, 카드 컨트롤러(12)는 제5 핀에 공급되어 있는 클록 신호에 응답하여, 제2 핀에 주어지는 기입 코맨드를 받아들인다.
여기서, 전술한 바와 같이, 기입 코맨드는 제2 핀만을 이용하여 카드 컨트롤러(12)에 직렬로 입력된다. 코맨드의 입력에 할당되어 있는 제2 핀은, 도 2에 도시하는 바와 같이 데이터 3용 제1 핀과 접지 전위(Vss)용 제3 핀 사이에 배치되어 있다. 복수의 신호 핀(13)과 그에 대한 호스트 버스 인터페이스(14)는 호스트 기기(2) 내의 호스트 컨트롤러와 메모리 카드(1)가 통신하는 데 사용된다.
이에 대해, 플래시 메모리(11)와 카드 컨트롤러(12) 사이의 통신은, NAND형 플래시 메모리용 NAND 버스 인터페이스(이하, 단순히 NAND 버스라 부르는 경우가 있음)(15)에 의해 행해진다. 따라서, 여기서는 도시하지 않지만, 플래시 메모리(11)와 카드 컨트롤러(12)는 예를 들어 8비트의 입출력(I/O)선에 의해 접속되어 있다.
예를 들어, 카드 컨트롤러(12)가 플래시 메모리(11)에 데이터를 기입할 때에는, 카드 컨트롤러(12)는 이들 I/O선을 통해 데이터 입력 코맨드(80H), 칼럼 어드 레스, 페이지 어드레스, 데이터 및 프로그램 코맨드(10H)[혹은 캐시 프로그램 코맨드(15H)]를 플래시 메모리(11)에 순차적으로 입력한다. 여기서, 코맨드(80H)의 "H"는 16진수를 나타내는 것이며, 실제로는 "10000000"이라는 8비트의 신호가, 8비트의 I/O선에 병렬로 주어진다. 즉, 이 NAND 버스 인터페이스(15)에서는, 복수 비트의 코맨드가 병렬로 주어진다.
또한, NAND 버스 인터페이스(15)에서는, 플래시 메모리(11)에 대한 코맨드와 데이터가 같은 I/O선을 공용하여 통신되어 있다. 이와 같이, 호스트 기기(2) 내의 호스트 컨트롤러와 메모리 카드(1)가 통신하는 인터페이스[호스트 버스(14)]와, 플래시 메모리(11)와 카드 컨트롤러(12)가 통신하는 인터페이스[NAND 버스(15)]는 다르다.
<메모리 컨트롤러의 구성에 대해>
다음에, 도 1에 도시하는 메모리 카드(1)가 구비하는 카드 컨트롤러의 내부 구성에 대해 도 3을 이용하여 설명한다. 도 3은 카드 컨트롤러(12)의 블록도이다.
카드 컨트롤러(12)는, 플래시 메모리(11) 내부의 물리 상태(예를 들어, 어느 물리 블록 어드레스에 몇 번째의 논리 셀렉터 어드레스 데이터가 포함되어 있는지, 혹은 어느 블록이 소거 상태인지)를 관리한다. 카드 컨트롤러(12)는, 호스트 인터페이스 모듈(21), MPU(Micro processing unit)(22), 플래시 컨트롤러(23), ROM(Read-only memory)(24), RAM(Random access memory)(25), 및 버퍼(26)를 갖는다.
호스트 인터페이스 모듈(21)은 카드 컨트롤러(12)와 호스트 기기(2) 사이의 인터페이스 처리를 행한다.
MPU(22)는 메모리 카드(1) 전체의 동작을 제어한다. MPU(22)는 ROM(24)에 저장되어 있는 펌웨어와, RAM(25)에 저장된 펌웨어의 일부나 각종 테이블 등을 이용하여, 호스트 기기로부터 요구된 코맨드를 실행한다.
ROM(24)은 MPU(22)에 의해 실행되는 펌웨어 등을 저장한다. RAM(25)은 MPU(22)의 작업 에리어로서 사용되고, 펌웨어나 각종 테이블(표)을 기억한다. 플래시 컨트롤러(23)는 카드 컨트롤러(12)와 플래시 메모리(11) 사이의 인터페이스 처리를 행한다.
버퍼(26)는 호스트 기기(2)로부터 보내져 오는 데이터를 플래시 메모리(11)에 기입할 때에, 일정량의 데이터(예를 들어, 1페이지분)를 일시적으로 기억하거나, 플래시 메모리(11)로부터 판독되는 데이터를 호스트 기기(2)로 송출할 때에, 일정량의 데이터를 일시적으로 기억한다.
<NAND형 플래시 메모리의 구성에 대해>
다음에, NAND형 플래시 메모리(11)의 내부 구성에 대해 간단하게 설명한다. 도 4는 NAND형 플래시 메모리(11)의 블록도이다. 도시하는 바와 같이 NAND형 플래시 메모리(11)는, 메모리 셀 어레이(30), 로우 디코더(31), 페이지 버퍼(32) 및 데이터 캐시(33)를 구비하고 있다.
<메모리 셀 어레이에 대해>
우선 메모리 셀 어레이(30)에 대해 설명한다. 메모리 셀 어레이(30)는, 제1 메모리 블록(BLK1) 및 제2 메모리 블록(BLK2)을 구비하고 있다. 도 4에서는 제1 메모리 블록(BLK1)이 복수 있고, 제2 메모리 블록(BLK2)이 1개인 경우를 예시하고 있지만, 모두 1개 이상이면 된다. 제1 메모리 블록(BLK1) 및 제2 메모리 블록(BLK2)의 구성은 기본적으로 동일하므로, 이하에서는 양자를 구별하지 않는 경우에는, 모두 메모리 블록(BLK)이라 부르기로 한다.
메모리 블록(BLK)은, 데이터를 유지 가능한 복수의 메모리 셀 트랜지스터를 구비하고 있다. 그리고, 제2 메모리 블록(BLK2)은 제1 메모리 블록(BLK1)의 캐시 영역으로서 사용된다. 즉, 제1 메모리 블록(BLK1)에 프로그램할 데이터를 일시적으로 유지하는 영역으로서 사용된다. 이 점에 대해서는 후술한다. 또한 데이터의 소거는 메모리 블록(BLK) 단위로 행해진다. 즉, 동일 메모리 셀 블록(BLK) 내의 데이터는 일괄하여 소거된다.
메모리 블록(BLK)의 구성에 대해, 도 5를 이용하여 설명한다. 도 5는 메모리 블록(BLK)의 회로도이다. 도시하는 바와 같이 메모리 블록(BLK)의 각각은, (n+1)개(n은 0 이상의 정수)의 메모리 셀 유닛(34)을 구비하고 있다.
메모리 셀 유닛(34)의 각각은, 예를 들어 32개의 메모리 셀 트랜지스터(MT)와, 선택 트랜지스터(ST1, ST2)를 포함하고 있다. 메모리 셀 트랜지스터(MT)는, 반도체 기판 상에 게이트 절연막을 개재하여 형성된 전하 축적층(예를 들어 부유 게이트)과, 전하 축적층 상에 게이트간 절연막을 개재하여 형성된 제어 게이트를 갖는 적층 게이트 구조를 구비하고 있다. 또한, 메모리 셀 트랜지스터(MT)의 개수는 32개에 한정되지 않고, 8개나 16개, 64개, 128개, 256개 등이어도 되고, 그 수는 한정되는 것은 아니다. 메모리 셀 트랜지스터(MT)는, 인접하는 것끼리 소스, 드레인을 공유하고 있다. 그리고, 선택 트랜지스터(STI, ST2) 사이에, 그 전류 경로가 직렬 접속되도록 하여 배치되어 있다. 직렬 접속된 메모리 셀 트랜지스터(MT)의 일단부측의 드레인은 선택 트랜지스터(ST1)의 소스에 접속되고, 타단부측의 소스는 선택 트랜지스터(ST2)의 드레인에 접속되어 있다.
메모리 블록(BLK)의 각각에 있어서, 동일행에 있는 메모리 셀 트랜지스터(MT)의 제어 게이트는 워드선(WL0 내지 WL31) 중 어느 하나에 공통 접속되고, 동일행에 있는 메모리 셀의 선택 트랜지스터(ST1, ST2)의 게이트는 각각 셀렉트 게이트 선(SGD, SGS)에 공통 접속되어 있다. 또한 설명의 간단화를 위해, 이하에서는 워드선(WL0 내지 WL31)을 단순히 워드선(WL)이라 부르는 경우가 있다. 선택 트랜지스터(ST2)의 소스는 소스선(SL)에 공통 접속된다. 또한, 선택 트랜지스터(ST1, ST2)는 반드시 양쪽이 필요한 것은 아니고, 메모리 셀 유닛(34)을 선택할 수 있는 것이면 어느 한쪽만이 설치되어 있어도 된다.
그리고, 복수의 메모리 블록(BLK) 사이에 있어서, 메모리 셀 유닛(34)의 각각의 선택 트랜지스터(ST1)의 드레인은, 비트선(BL0 내지 BLn) 중 어느 하나에 공통 접속되어 있다. 또한, 선택 트랜지스터(ST2)의 소스는 소스선(SL)에 공통 접속되어 있다.
다음에, 상기 메모리 셀 트랜지스터(MT)가 취하는 데이터에 대해 설명한다. 우선 제1 메모리 블록(BLK)에 대해 설명한다. 제1 메모리 블록(BLK1)에 포함되는 메모리 셀 트랜지스터(MT)는 임계치 전압에 따라서 3비트의 데이터를 유지 가능하게 되어 있다. 도 6은, 제1 메모리 블록(BLK1)에 포함되는 메모리 셀 트랜지스 터(MT)의 임계치 분포를 나타내는 그래프이며, 횡축에 임계치 전압(Vth)을 취하고, 종축에 메모리 셀 트랜지스터(MT)의 존재 확률을 나타낸 그래프이다.
도시하는 바와 같이, 각각의 메모리 셀 트랜지스터(MT)는 8치(8-levels)의 데이터를 유지할 수 있다. 보다 구체적으로는, 메모리 셀 트랜지스터(MT)는 임계치 전압(Vth)이 낮은 순서대로, "0", "1", "2", "3",…"7"의 8종의 데이터를 유지할 수 있다. 메모리 셀 트랜지스터(MT)에 있어서의 "0" 데이터의 임계치 전압 Vth0은, Vth0<V01이다. "1" 데이터의 임계치 전압 Vth1은, V01<Vth1<V12이다. "2" 데이터의 임계치 전압 Vth2는, V12<Vth12<V23이다. "3" 데이터의 임계치 전압 Vth3은, V23<Vth3<V44이다. "4" 데이터의 임계치 전압 Vth4는, V44<Vth4<V45이다. "5" 데이터의 임계치 전압 Vth5는, V45<Vth5<V56이다. "6" 데이터의 임계치 전압 Vth6은, V56<Vth6<V67이다. 그리고, "7" 데이터의 임계치 전압 Vth7은, V67<Vth7이다.
즉, 제1 메모리 블록(BLK1) 내의 메모리 셀 트랜지스터(MT)는, 3비트의 데이터 "000" 내지 "111"을 유지 가능하게 되어 있다. 이하, 이 3비트의 데이터의 각 비트를, 도 6에 도시하는 바와 같이 하위 비트, 중위 비트 및 상위 비트라 부른다. 또한, 메모리 셀 트랜지스터(MT)가 취하는 8치의 데이터 "0" 내지 "7"과, 2진수로 표현하였을 때의 "000" 내지 "111"의 대응 관계는, 적절하게 선택할 수 있다.
다음에 제2 메모리 블록(BLK2)에 대해 설명한다. 제2 메모리 블록(BLK2)에 포함되는 메모리 셀 트랜지스터(MT)는 임계치 전압에 따라서 1비트의 데이터를 유지 가능하게 되어 있다. 즉 메모리 셀 트랜지스터(MT)는, 임계치 전압에 따라서 "0" 데이터와 "1" 데이터 중 어느 하나를 유지한다.
상기 구성의 메모리 블록(BLK)에 있어서, 데이터는 동일한 워드선(WL)에 접속된 전체 메모리 셀 트랜지스터(MT)에 대해, 일괄하여 기입된다. 이하, 이 단위를 페이지라 부른다. 그리고 3비트의 데이터를 유지 가능한 제1 메모리 블록(BLK1)의 메모리 셀 트랜지스터(MT)에 대해서는, 비트마다 데이터가 기입된다. 즉, 우선 하위 비트, 중위 비트 및 상위 비트의 순서로 데이터가 기입된다. 따라서 제1 메모리 블록(BLK1)에서는, 1개의 워드선(WL)당 3페이지가 할당된다. 이하, 하위 비트에 대응하는 페이지를 하위 페이지라 부르고, 중위 비트에 대응하는 페이지를 중위 페이지라 부르고, 상위 비트에 대응하는 페이지를 상위 페이지라 부르는 경우가 있다. 한편, 제2 메모리 블록에서는 1개의 워드선(WL)당 1페이지가 할당된다. 이 모습을 도 7에 도시한다. 도 7은, 제1 메모리 블록(BLK1) 및 제2 메모리 블록(BLK2)에 포함되는 페이지를 나타낸 모식도이다.
도시하는 바와 같이, 제1 메모리 블록(BLK1)에서는 1개의 워드선(WL)당 3페이지가 할당되고, 또한 워드선(WL)의 개수는 32개이므로, 제1 메모리 블록(BLK1)에 할당되는 페이지는 페이지 PG0 내지 PG95로 되고, 총 페이지수는 96페이지가 된다. 따라서, 제1 메모리 블록(BLK1)의 메모리 사이즈는, (96×(n+1))비트가 된다.
한편, 제2 메모리 블록(BLK2)에서는 1개의 워드선(WL)당 1페이지가 할당되고, 또한 워드선(WL)의 개수는 32개이므로, 제2 메모리 블록(BLK2)에 할당되는 페이지는 페이지 PG0 내지 PG31이 되고, 총 페이지는 32페이지가 된다. 따라서, 제2 메모리 블록(BLK2)의 메모리 사이즈는, (32×(n+1))비트가 된다.
또한, 일괄하여 데이터가 기입되는 메모리 셀 트랜지스터(MT)는, 반드시 어느 워드선(WL)에 접속된 전부일 필요는 없다. 예를 들어, 1개의 워드선에 대해, 짝수 비트선 및 홀수 비트선마다 데이터가 기입되어도 된다. 이 경우, 제1 메모리 블록(BLK1)의 페이지수는, 배인 192페이지가 된다.
<로우 디코더에 대해>
다음에 도 4로 복귀하여, NAND형 플래시 메모리(11)가 구비하는 로우 디코더(31)에 대해 설명한다. 로우 디코더(31)는 카드 컨트롤러(12)로부터 로우 어드레스를 수신하고, 디코드한다. 로우 어드레스에는, 어느 하나의 메모리 블록(BLK)을 지정하는 블록 어드레스와, 어느 한 페이지를 지정하는 페이지 어드레스를 포함한다. 그리고, 로우 디코더(31)는 로우 어드레스에 기초하여, 어느 하나의 메모리 블록(BLK)에 있어서의 어느 하나의 워드선(WL)을 선택한다.
<데이터 캐시에 대해>
데이터 캐시(33)는 페이지 사이즈의 데이터를 일시적으로 유지 가능하게 되어 있다.
데이터 캐시(33)는, 카드 컨트롤러(12)와의 사이에서 데이터의 주고 받음을 행한다. 즉, 데이터의 판독시에는, 페이지 버퍼(32)로부터 주어지는 데이터를 카드 컨트롤러(12)에 전송하고, 기입시에는 카드 컨트롤러(12)로부터 주어지는 데이터를 수신하고, 이를 페이지 버퍼(32)에 페이지 단위로 전송한다.
<페이지 버퍼에 대해>
페이지 버퍼(32)는 페이지 사이즈의 데이터를 일시적으로 유지 가능하게 되 어 있다.
페이지 버퍼(32)는, 데이터의 판독시에는, 메모리 셀 어레이(30)로부터 페이지 단위로 판독된 데이터를 일시적으로 유지하고, 이를 데이터 캐시(33)에 전송한다. 또한 기입시에는, 데이터 캐시(33)로부터 전송된 데이터를 비트선(BL0 내지 BLn)에 전송하고, 데이터의 페이지 단위로의 프로그램을 실행한다.
또한, 데이터의 기입은 상기 프로그램과 베리파이의 반복에 의해 행해진다. 프로그램이라 함은, 메모리 셀 트랜지스터(MT)의 제어 게이트와 채널 사이에 전위차를 발생시킴으로써, 전하 축적층에 전자를 주입하는 동작이다. 또한 베리파이는, 프로그램이 행해진 메모리 셀 트랜지스터(MT)로부터 데이터를 판독함으로써, 메모리 셀 트랜지스터(MT)의 임계치 전압이 원하는 값으로 되어 있는지 여부를 확인하는 동작이다.
<데이터의 프로그램 방법에 대해>
다음에, 상기 구성의 메모리 카드(1)에 있어서의 데이터의 프로그램 방법에 대해 설명한다. 우선, 카드 컨트롤러(12)가 주체가 되어 행하는 처리에 대해 설명한다.
<카드 컨트롤러(12)의 동작>
도 8은, 데이터의 프로그램시에 있어서 카드 컨트롤러(12)가 행하는 처리를 나타내는 흐름도이다.
도시하는 바와 같이, 우선 카드 컨트롤러(12)는 호스트 기기(2)로부터, 데이터의 기입 명령과, NAND형 플래시 메모리(11)에 있어서 데이터를 기입할 어드레스 를, 호스트 버스(14)를 통해 수신한다(스텝 S10). 계속해서 카드 컨트롤러(12)는, 호스트 기기(2)로부터 기입 데이터를, 호스트 버스(14)를 통해 수신한다(스텝 S11). 기입 데이터는, 일시적으로 버퍼(26)에 유지된다. 그리고 카드 컨트롤러(12)는, 플래시 메모리(11)에 대해 제1 기입 명령, 기입 데이터, 및 어드레스를, NAND 버스(15)를 통해 출력한다.
플래시 메모리(11)는, 제1 기입 명령을 수신함으로써, 이제부터 기입 동작이 개시되고, 또한 기입 데이터가 전송되어 오는 것을 인식한다. 제1 기입 명령은, 예를 들어 NAND형 플래시 메모리에 있어서의 코맨드 "80H"에 상당한다. 단, 실제로 데이터가 메모리 셀 트랜지스터(MT)에 프로그램되는 것은, 후술하는 제2 기입 명령이 주어진 시점이다. 또한 카드 컨트롤러(12)가 출력하는 어드레스는, 메모리 셀 어레이(30)의 칼럼 방향을 지정하는 칼럼 어드레스와, 로우 방향을 지정하는 로우 어드레스가 포함되지만, 이하에서는 로우 어드레스에 대해서만 착안하여 설명한다. 스텝 S12에 있어서 카드 컨트롤러(12)의 예를 들어 MCU(22)는 제1 메모리 블록에 대응하는 로우 어드레스(이를 제1 로우 어드레스라 부름)를 발행하고, 출력한다.
계속해서 카드 컨트롤러(12)의 MCU(22)는, 전송한 기입 데이터가 최종 페이지 데이터인지 여부를 판정한다(스텝 S13). 즉, 스텝 S12에서 기입 데이터를 전송하였을 때, 또한 전송할 기입 데이터가 남아 있는지 여부를 판정한다.
예를 들어, 호스트 기기(2)로부터 전송된 기입 데이터가 2페이지분의 사이즈인 경우를 가정한다. 카드 컨트롤러(12)는 기입 데이터 및 제1 로우 어드레스의 전송을 페이지마다 행하므로, 이 경우, 기입 데이터를 모두 전송하기 위해서는, 2회의 데이터 전송이 필요하다. 이 중, 최초의 데이터 전송의 단계에서는, 미전송 기입 데이터가 1페이지분만큼 남아 있으므로, 최종 페이지 데이터가 아니라고 판정된다(스텝 S14, '아니오'). 한편, 2회째의 데이터 전송의 단계에서는, 미전송의 기입 데이터는 남아 있지 않고, 2회째에서 전송된 데이터가 기입되는 페이지가 그 기입 데이터에 대한 최종 페이지인 것으로 된다. 따라서, 최종 페이지라 판정된다.
또한, 스텝 S13에 있어서는, 기입 데이터에 대해 프로그램이 행해지는 최종 페이지인지 여부가 판정되면 되고, 그 데이터 사이즈가 정확히 페이지 사이즈인지는 문제가 아니다. 즉, 최종 데이터가 페이지 사이즈 미만이어도 된다.
또한, 호스트 기기(2)는 기입 액세스를 종료할 때에, 카드 컨트롤러(12)에 대해 기입 액세스의 종료 통지를 출력한다. 또한, 기입 액세스를 도중에 중단할 때에는 중단 명령을 출력한다. 따라서, 스텝 S13의 판정은, 예를 들어 호스트 기기(2)로부터 기입 액세스의 종료 통지 또는 중단 명령이 있었는지 여부를 판정함으로써, 실행 가능하다.
스텝 S13의 판정 결과, 최종 페이지 데이터가 아닌 경우(스텝 S14, '아니오'), 카드 컨트롤러(12)의 MCU(22)는 제2 기입 명령을 발행하여, NAND 버스(15)를 통해 플래시 메모리(11)에 출력한다(스텝 S15). 제2 기입 명령은, 예를 들어 NAND형 플래쉬 메모리에 있어서의 코맨드 "10H" 또는 "15H"에 상당한다. 그 후, 카드 컨트롤러(12)는 스텝 S12로 복귀되어, 후속하는 기입 데이터에 대한 플래시 메모 리(11)에의 전송을 계속한다.
스텝 S13의 판정 결과, 최종 페이지 데이터인 경우(스텝 S14, '예'), MCU(22)는 그 페이지 데이터에 대한 페이지 어드레스가, 상위 페이지 또는 중위 페이지에 상당하는지 여부를 판정한다(스텝 S16). 즉, 페이지 어드레스가 지시하는 페이지가, 도 7에 나타내는 제1 메모리 블록(BLK1)의 페이지 PG(3i+1) 또는 페이지 (3i+2)인지 여부를 판정한다(단, i는 0 내지 31의 정수).
스텝 S16의 판정 결과, 하위 페이지에 상당하는 경우(스텝 S17, '아니오'), 즉 페이지 어드레스가 지시하는 페이지가 페이지 PG(3i)인 경우, MCU(22)는 제2 기입 명령을 발행한다. 그리고 제2 기입 명령을, NAND 버스(15)를 통해 플래시 메모리(11)에 출력한다(스텝 S18). 그 후, MCU(22)는 기입 종료의 취지를, 호스트 버스(14)를 통해 호스트 기기(19)에 통지한다(스텝 S19).
스텝 S16의 판정 결과, 상위 페이지 또는 중위 페이지에 상당하는 경우(스텝 S17, '예'), MCU(22)는 로우 어드레스 변경 명령과, 새로운 로우 어드레스(이것을 제2 로우 어드레스라 부름)를 발행하여, 이를 플래시 메모리(11)에 출력한다(스텝 S20). 제2 로우 어드레스는, 제2 메모리 블록(BLK2)의 어느 한 페이지에 상당하는 어드레스이다. 그리고, 스텝 S18, 스텝 S19와 마찬가지로, 제2 기입 명령을 플래시 메모리(11)에 출력하고(스텝 S21), 또한 기입 종료의 취지를 호스트 기기(19)에 통지한다(스텝 S22).
그 후, MCU(22)는 소정의 타이밍에 있어서, 제2 로우 어드레스에 상당하는 페이지에 프로그램된 데이터를, 제1 로우 어드레스에 상당하는 페이지, 즉 원래 프 로그램해야 했던 페이지에 카피하도록, 플래시 메모리(11)에 대해 명령한다(스텝 S23). 이 소정의 타이밍이라 함은, 예를 들어 호스트 기기에 의한 다음 기입 액세스가 있었던 타이밍이다.
이상의 처리에 있어서, 카드 컨트롤러(12)로부터 NAND 버스(15)를 통해 플래시 메모리(11)에 주어지는 신호에 대해 도 9를 이용하여 설명한다. 도 9는 카드 컨트롤러(12)가 플래시 메모리(11)에 출력하는 신호의 타이밍차트이다. 도면 중에 있어서 상단은, 스텝 S16에 있어서「상당하지 않는다」고 판정된 경우(스텝 S17, '아니오')를 나타내고, 하단은「상당한다」라고 판정된 경우(스텝 S17, '예')에 대해 나타내고 있다.
도시하는 바와 같이, 모든 경우도 우선 시각 t0에서 제1 기입 명령이 출력되고, 그 후 어드레스(제1 로우 어드레스) 및 기입 데이터가 각각 시각 t1, 시각 t2에서 순차적으로 출력된다. 그 후, 종료 또는 중단 명령이 없는 경우에는, 시각 t4에서 제2 기입 명령이 출력되어, 일련의 신호의 흐름은 종료된다. 한편, 종료 또는 중단 명령이 있는 경우에는, 시각 t4에서 로우 어드레스 변경 명령이 출력되고, 시각 t5에서 새로운 로우 어드레스(제2 로우 어드레스)가 출력된다. 그 후, 시각 t6에서 제2 기입 명령이 출력된다. 후자의 경우, 유효하게 되는 로우 어드레스는 시각 t1에서 출력되는 제1 로우 어드레스가 아닌, 시각 t5에서 출력되는 제2 로우 어드레스이다. 그리고 제2 로우 어드레스는, 제1 로우 어드레스에 대응하는 제1 메모리 블록(BLK1)과는 다른 제2 메모리 블록(BLK2)에 대응하는 어드레스이다.
<NAND형 플래시 메모리(11)의 동작>
다음에, NAND형 플래시 메모리(11)가 주체로 되어 행하는 처리에 대해, 도 10을 이용하여 설명한다. 도 10은, 플래시 메모리(11)에 있어서의 처리를 나타내는 흐름도이다.
도시하는 바와 같이, 우선 플래시 메모리(11)는 카드 컨트롤러(12)로부터 제1 기입 명령, 기입 데이터 및 제1 로우 어드레스(및 칼럼 어드레스)를, NAND 버스(15)를 통해 페이지 단위로 수신한다(스텝 S30). 수신한 기입 데이터는, 데이터 캐시(33)를 통해 페이지 버퍼(32)에 유지된다. 또한 제1 로우 어드레스는 로우 디코더(31)에 주어진다. 또한 제1 기입 명령은, 플래시 메모리(11) 전체의 동작을 담당하는 제어부(도 4에서는 도시를 생략)에 주어진다.
계속해서 플래시 메모리(11)는, 로우 어드레스 변경 명령 및 제2 로우 어드레스를 수신하고 있는지 여부를 판정한다(스텝 S31). 로우 어드레스 변경 명령 및 제2 로우 어드레스를 수신하고 있지 않은 경우에는(스텝 S32, '아니오'), 카드 컨트롤러(12)로부터 제2 기입 명령을 수신한 후(스텝 S33), 스텝 S30에서 수신한 제1 로우 어드레스와 칼럼 어드레스에서 지정되는 페이지에 데이터를 기입한다(스텝 S34). 즉, 기입 데이터는 제1 메모리 블록(BLK1)의 어느 한 페이지에 기입된다.
스텝 S32에서 로우 어드레스 변경 명령을 수신하고 있던 경우에는(스텝 S32, '예'), 제2 기입 명령을 수신한 후(스텝 S35), 스텝 S30에서 수신한 칼럼 어드레스와, 로우 어드레스 변경 명령의 다음에 수신한 제2 로우 어드레스로 지정되는 페이지에 데이터를 기입한다(스텝 S36). 즉, 기입 데이터는 제2 메모리 블록(BLK2)의 어느 한 페이지에 기입된다.
그 후 플래시 메모리(11)는, 스텝 S36에서 제2 메모리 블록(BLK2)에 기입한 데이터를, 스텝 S30에서 수신한 제1 로우 어드레스에서 지정되는 페이지에 카피한다(스텝 S37).
<기입 동작의 구체예>
상기 프로그램 동작의 구체예에 대해, 도 11 내지 도 15를 이용하여 설명한다. 도 11은, 본 실시 형태에 따른 메모리 시스템의 처리의 흐름을 나타내는 타이밍차트이며, 호스트 기기(2)로부터 도 10을 이용하여 메모리 컨트롤러(12)에의 데이터의 흐름[호스트 버스(14) 상의 데이터의 흐름], 메모리 컨트롤러(12)로부터 NAND형 플래시 메모리(11)의 데이터 캐시(33)에의 데이터의 흐름[NAND 버스(15) 상의 데이터의 흐름], 및 NAND형 플래시 메모리(11)의 동작의 흐름을 나타낸다. 또한 도 12 내지 도 15는 메모리 시스템의 블록도이며, 도면 중에 있어서 사선으로 나타낸 영역은, 기입 데이터가 프로그램된 페이지를 나타낸다. 이하에서는, 1페이지의 데이터 사이즈를 16KB로 하고, 호스트 기기(2)로부터 페이지 사이즈의 데이터에 대한 기입 액세스가 4회 행해진 경우를 예로 설명한다.
또한 이하에서는, 카드 컨트롤러(12)는, NAND형 플래시 메모리(11)에 전송한 데이터가 최종 페이지 데이터에 상당하는 경우(스텝 S14, '예'), 즉 계속 데이터가 없는 경우에는, 제2 기입 명령으로서 통상 프로그램 코맨드 "10H"를 발행하고, 상당하지 않는 경우(스텝 S14, '아니오'), 즉 계속 데이터가 있는 경우에는 캐시 프로그램 코맨드 "15H"를 발행하는 경우를 예로 설명한다.
캐시 프로그램 코맨드 "15H"가 발행된 경우, NAND형 플래시 메모리(11)는 캐 시 프로그램을 실행한다. 캐시 프로그램에서는, 데이터 캐시(33)가 비게 된 단계, 즉 데이터의 기입이 완전히 종료되기 전의 단계에서, NAND형 플래시 메모리(11)는 레디(ready) 상태로 되고, 다음 데이터를 접수 가능한 상태로 된다. 이에 대해 보통 프로그램 코맨드 "10H"가 발행된 경우에는, 데이터의 기입이 완전히 종료되고 나서, 즉 베리파이가 종료되고 나서, NAND형 플래시 메모리(11)는 레디 상태로 된다.
(시각 t0 내지 시각 t4)
우선 시각 t0 내지 시각 t4의 모습에 대해, 도 11 및 도 12를 이용하여 설명한다. 도시하는 바와 같이, 시각 t0에 있어서 호스트 기기(2)로부터 메모리 카드(1)에 대해 기입 액세스가 행해지고, 16KB의 기입 데이터 WD1이 전송된다. 그리고, 카드 컨트롤러(12)는 제1 기입 명령(INST1) 및 제1 로우 어드레스(RA1)를 발행하고, 이를 플래시 메모리(11)에 출력한다. 제1 로우 어드레스는 제1 메모리 블록(BLK1)의 페이지 PG0에 상당한다고 가정한다.
계속해서, 시각 t1에 있어서 카드 컨트롤러(12)는 수신한 기입 데이터 WD1을 플래시 메모리(11)에 전송한다(도면 중에 있어서 DIN1로 나타냄). 기입 데이터 WD1은 데이터 버퍼(33)에 저장되고, 또한 페이지 버퍼(32)에 전송된다.
그 후, 시각 t3에 있어서, 카드 컨트롤러(12)는 제2 기입 명령(INST2)을 발행하고, 이것을 플래시 메모리(11)에 출력한다. 제1 로우 어드레스(RA1)는 하위 페이지에 상당하므로, 로우 어드레스 변경 명령은 발행되지 않는다. 또한 계속 데이터는 없으므로, 발행되는 제2 기입 INST2)은 통상 프로그램 코맨드 "10H"이다.
제2 기입 명령(INST2)이 발행됨으로써, 플래시 메모리(11)는 비지(busy) 상태로 되고, 기입 데이터 WD1을 메모리 셀 트랜지스터(MT)에 기입한다. 이를 도 11에서는 "L"로 나타낸다. 즉, 로우 디코더(31)는 제1 로우 어드레스(RA1)에 따라서 페이지 PG0을 선택한다. 이에 의해, 페이지 PG0에 대한 프로그램 및 베리파이가 실행되고, 기입 데이터 WD1이 기입된다. 그 후, NAND형 플래시 메모리(11)는 레디 상태로 된다.
(시각 t4 내지 시각 t8)
다음에 시각 t4 내지 시각 t8의 모습에 대해, 도 11 및 도 13을 이용하여 설명한다. 도시하는 바와 같이, 기입 데이터 WD1의 기입이 종료한 시각 t4에 있어서, 호스트 기기(2)로부터 메모리 카드(1)에 대해 다음 기입 액세스가 행해지고, 16KB의 기입 데이터 WD2가 전송된다. 그리고, 카드 컨트롤러(12)는 제1 기입 명령(INST1) 및 제1 로우 어드레스(RA1)를 발행하고, 이를 플래시 메모리(11)에 출력한다. 제1 로우 어드레스는, 제1 메모리 블록(BLK1)의 페이지 PG1에 상당한다.
계속해서, 시각 t5에 있어서 카드 컨트롤러(12)는 수신한 기입 데이터 WD2를 플래시 메모리(11)에 전송한다(도면 중에 있어서 DIN2로 나타냄). 이때, 제1 로우 어드레스(RA1)는 중위 페이지에 상당한다. 따라서 카드 컨트롤러(12)는, 로우 어드레스 변경 명령(INST_RA) 및 제2 로우 어드레스(RA2)를 발행하고, 이를 플래시 메모리(11)에 출력하고, 그 후 제2 기입 명령(INST2)="10H"를 발행하고, 플래시 메모리(11)에 출력한다. 제2 로우 어드레스(RA2)는 제2 메모리 블록(BLK2)의 예를 들어 페이지 PG0에 상당한다고 가정한다.
플래시 메모리(11)에서는, 로우 어드레스 변경 명령(INST_RA)이 발행됨으로써, 로우 디코더(31)는 제1 메모리 블록(BLK1)의 페이지 PG1의 대신에, 제2 메모리 블록(BLK2)의 페이지 PG0을 선택한다. 이에 의해, 기입 데이터 WD2는 제2 메모리 블록(BLK2)의 페이지 PG0에 기입된다.
(시각 t8 내지 시각 t12)
다음에 시각 t8 내지 시각 t12의 모습에 대해, 도 11 및 도 14를 이용하여 설명한다. 도시하는 바와 같이, 기입 데이터 WD2의 기입이 종료된 시각 t8에 있어서, 호스트 기기(2)로부터 메모리 카드(1)에 대해 다음 기입 액세스가 이루어지고, 16KB의 기입 데이터 WD3의 전송이 개시된다.
이 기입 데이터 WD3의 전송 기간을 이용하여, 메모리 카드(1)에서는 기입 데이터 WD2의 카피 동작이 실행된다. 즉, 제2 메모리 블록(BLK2)에 기입된 데이터 WD2가 원래 기입해야 했던 제1 메모리 블록(BLK1)의 페이지 PG1에 카피된다. 카피 동작에 있어서 카드 컨트롤러(12)는, 시각 t8에 있어서 카피 명령(INST_COPY)을 발행하고, 이를 플래시 메모리(11)에 출력한다.
카피 명령(INST_COPY)에 응답하여 플래시 메모리(11)에 있어서 로우 디코더(31)는 제2 메모리 블록(BLK2)의 페이지 PG0을 선택한다. 이에 의해 데이터 WD2가 페이지 버퍼(32)에 판독된다. 이 동작을 도 11에서는 "RD"로 나타낸다. 계속해서 로우 디코더(31)는, 시각 t9에 있어서 제1 메모리 블록의 페이지 PG1을 선택한다. 이에 의해, 데이터 WD2가 제1 메모리 블록(BLK1)의 페이지 PG1에 기입된다. 이 동작을 도 11에서는 "M"으로 나타낸다. 또한, 도 11에서는 도시를 생략하였지 만, 시각 t9에서 데이터의 판독이 완료되었을 때에, 카드 컨트롤러(12)는 NAND형 플래시 메모리(11)에 대해 판독한 데이터를 제1 메모리 블록(BLK1)의 페이지 PG1에 기입하는 것을 명령하기 위해, 제2 기입 명령(INST2)을 발행한다. 이때에 발행되는 제2 기입 명령(INST2)은, 판독한 데이터에 계속하는 기입 데이터 WD3이 존재하므로, 캐시 프로그램 코맨드 "15H"이다.
캐시 프로그램을 이용함으로써, 데이터 WD2의 카피 중 시각 t11에서 NAND형 플래시 메모리(11)는 레디 상태로 된다. 따라서, 시각 t11 내지 시각 t12의 기간에 있어서, 카드 컨트롤러(12)는 다음 기입 데이터 WD3에 대한 제1 기입 명령(INST1) 및 제1 로우 어드레스(RA1)를 발행하고, 플래시 메모리(11)에 출력한다. 계속해서 카드 컨트롤러(12)는, 기입 데이터 WD3을 데이터 캐시(33)에 전송한다(도면 중에 있어서 DIN3으로 나타냄). 또한, 이 데이터 WD3의 전송과, 데이터 WD2의 카피 동작은, 동시에 종료하는 것이 효율의 면에서 바람직하다.
(시각 t12 내지 시각 t13)
다음에 시각 t12 내지 시각 t13의 모습에 대해, 도 11 및 도 15를 이용하여 설명한다. 도시하는 바와 같이, 기입 데이터 WD3은 데이터 캐시(33)로부터 페이지 버퍼(32)로 전송된다. 또한 이미 발행된 제1 로우 어드레스(RA1)는 제1 메모리 블록(BLK1)에 있어서의 페이지 PG2, 즉 상위 페이지에 상당한다. 따라서 카드 컨트롤러(12)는 로우 어드레스 변경 명령(INST_RA) 및 제2 로우 어드레스(RA2)를 발행하고, 플래시 메모리(11)에 출력한다. 계속해서 카드 컨트롤러(12)는 제2 기입 명령(INST2)="10H"를 발행하고, 플래시 메모리(11)에 출력한다. 제2 로우 어드레 스(RA2)는 제2 메모리 블록(BLK2)의 예를 들어 페이지 PG1에 상당한다고 가정한다.
플래시 메모리(11)에서는, 로우 어드레스 변경 명령(INST_RA)이 발행된 것으로, 로우 디코더(31)는 제1 메모리 블록(BLK1)의 페이지 PG2 대신에, 제2 메모리 블록(BLK2)의 페이지 PG1을 선택한다. 이에 의해, 기입 데이터 WD3은 제2 메모리 블록(BLK2)의 페이지 PG1에 기입된다.
(시각 t13 내지 시각 t18)
시각 t13 내지 시각 t18의 동작은, 상기 설명한 시각 t8 내지 시각 t13과 마찬가지이다. 즉, 시각 t13 내지 시각 t17의 기간에 있어서, 제2 메모리 블록(BLK2)의 페이지 PG1에 프로그램된 기입 데이터 WD3이 제1 메모리 블록(BLK1)의 페이지 PG2에 카피된다. 그리고 카피 동작 후, 기입 데이터 WD4가 제1 메모리 블록(BLK1)의 페이지 PG3에 기입된다. 물론, 기입 데이터 WD3을 상위 페이지에 카피할 때에 발행되는 제2 기입 명령(INST2)은, 캐시 프로그램 코맨드 "15H"이다.
<효과>
상기 구성의 메모리 시스템이면, 하기의 효과를 얻을 수 있다.
(1) 데이터의 기입 속도를 향상시킬 수 있다.
본 실시 형태에 따른 메모리 시스템이면, 도 11에 도시하는 바와 같이, 프로그램 동작의 최종 페이지가 제1 메모리 블록(BLK1)에 있어서의 상위 페이지 또는 중위 페이지였던 경우, 이 데이터를 제2 메모리 블록(BLK2)에 일시적으로 유지시킨다. 즉, 제2 메모리 블록(BLK2)을 캐시 영역으로서 사용한다. 제2 메모리 블록(BLK2)은 데이터를 2치로 유지한다. 한편, 최종 페이지가 제1 메모리 블 록(BLK1)에 있어서의 하위 페이지였던 경우, 이 데이터는 그대로 제1 메모리 블록(BLK1)에 프로그램한다. 즉, 호스트 기기(2)로부터 주어진 기입 데이터는, 우선 제1 메모리 블록(BLK1)의 하위 페이지 또는 제2 메모리 블록(BLK2)의 어느 한 페이지에 프로그램된다.
따라서, 데이터의 기입 속도를 향상시킬 수 있다. 본 효과에 대해, 도 16을 참조하면서 이하 설명한다. 도 16은, 종래의 메모리 시스템 및 본 실시 형태에 따른 메모리 시스템의 동작의 흐름을 나타내는 타이밍차트이며, 각각의 경우의 호스트 기기로부터 카드 컨트롤러(12)에의 데이터의 흐름과, 메모리 카드(1)에 있어서의 동작의 흐름을 나타내고 있다. 도 16에 나타내는 타이밍차트는, 위에서부터 종래 구성에 있어서 기입 데이터가 큰 경우(데이터 사이즈가 4페이지분인 경우), 종래 구성에 있어서 기입 데이터가 작은 경우(데이터 사이즈가 1페이지분 이하인 경우) 및 본 실시 형태에 있어서 기입 데이터가 작은 경우(데이터 사이즈가 1페이지분 이하인 경우)를 나타내고 있다. 본 실시 형태에 대해서는 도 11과 마찬가지이다.
우선 기입 데이터가 큰 경우에 대해 설명한다. 도시하는 바와 같이, 호스트 기기(2)로부터 카드 컨트롤러(12)로, (16×4)=64KB의 기입 데이터가 전송된다. 그리고 기입 데이터는, 하위 페이지 PG0, 중위 페이지 PG1, 상위 페이지 PG2 및 하위 페이지 PG3의 순서로 프로그램된다. 카드 컨트롤러(12)로부터 데이터 캐시(33)에의 데이터 전송 (도면 중 DINi, i는 자연수)은, 직전에 전송된 데이터 (DIN(i-1))의 프로그램 중에 행하는 것이 가능하다. 따라서, 시간의 손실 없이, 데이터를 고 속으로 프로그램할 수 있다. 최종 페이지가 하위 페이지이면, 본 실시 형태도 마찬가지이다.
다음에, 종래 구성에 있어서 기입 데이터가 작은 경우에 대해 설명한다. 종래의 메모리 시스템이면, 로우 어드레스 변경 명령이나 제2 로우 어드레스를 발행하는 기능을 갖고 있지 않다. 따라서 도 16에 도시하는 바와 같이, 기입 데이터 WD1이 하위 페이지 PG0에 기입되었다고 하면, 다음 기입 데이터 WD2는 중위 페이지 PG1에 기입된다(도면 중 "M"으로 나타냄). 그리고 중위 페이지 PG1의 기입이 종료되어 NAND형 플래시 메모리가 액세스 접수 가능한 상태로 되면, 다음 기입 데이터 WD3이 호스트 기기(2)로부터 카드 컨트롤러(12)로 전송된다. 그리고 기입 데이터 WD3이 상위 페이지 PG2에 기입된다(도면 중 "U"로 나타냄). 그 후 상위 페이지 PG2의 기입이 종료되어 NAND형 플래시 메모리가 액세스 접수 가능한 상태로 되면, 다음 기입 데이터 WD4가 호스트 기기(2)로부터 카드 컨트롤러(12)로 전송된다.
이상과 같이, 기입 액세스는 직전의 기입 액세스에 있어서의 기입이 완료될 때까지 대기할 필요가 있으므로, 기입 데이터의 데이터 사이즈가 작아지면, 기입 시간이 길어진다는 문제가 있었다. 이는 특히 다치 NAND형 플래시 메모리에 있어서 현저하다.
일반적으로 다치 NAND형 플래시 메모리에서는, 페이지에 따라 기입에 필요로 하는 시간이 크게 다르다. 예를 들어 8치 NAND형 플래시 메모리의 경우, 하위 페이지의 기입에 필요로 하는 시간 t_L은 200㎲ 정도, 중위 페이지의 기입에 필요로 하는 시간 t_M은 1000㎲정도, 상위 페이지의 기입에 필요로 하는 시간 t-U는 5000 ㎲정도이다.
즉, 종래의 메모리 시스템이면, 도 16에 도시하는 바와 같이 기입 데이터를 수신하기 위해서는, 기입 데이터 WD2를 수신 후, 적어도 t_M=1000㎲ 대기해야만 한다. 또한 기입 데이터 WD4를 수신하기 위해서는, 기입 데이터 WD3의 수신 후, 적어도 t_U=5000㎛ 대기해야만 한다. 즉, 기입이 중위 페이지 또는 상위 페이지에서 종료되는 경우, 하위 페이지에서 종료되는 경우에 비해 다음 데이터가 수신 가능해질 때까지의 기간이 매우 길다. 그 결과, 기입 속도가 저하된다는 문제가 있었다.
이 점, 본 실시 형태에 따른 메모리 시스템이면, 기입 동작이 중위 페이지 또는 상위 페이지에서 종료되는 경우에는, 데이터를 2치로 유지하는 제2 메모리 블록(BLK2)(캐시 영역)에 기입한다. 따라서, 기입에 필요로 하는 시간은 t_L=200㎲로 족하다. 그로 인해, 후속하는 기입 액세스에 빠르게 대응하는 것이 가능해진다.
또한, 제2 메모리 블록(BLK2)에 기입된 데이터는, 다음 기입 데이터를 기입하기 전에, 제1 메모리 블록(BLK1)에 카피할 필요가 있다. 그러나, 이 카피 동작은 다음 기입 데이터의 전송 기간과 오버랩시킬 수 있다. 또한, 카드 컨트롤러(12)로부터 플래시 메모리(11)에의 데이터 전송(도 16에 있어서의 DINi)은, 직전의 기입 데이터에 대한 카피 동작과 동시에 실행할 수 있다. 따라서, 카피 동작이 기입 시간에 미치는 영향은 작다.
이상의 결과, 메모리 시스템에 있어서의 데이터의 기입 속도를 고속화할 수 있고, 도 16에 도시하는 바와 같이 동일한 데이터를 기입한 경우라도, 종래에 비해 △t의 기간만큼 기입 동작을 종료시킬 수 있다.
또한, 로우 어드레스 변경 명령을 사용함으로써, 상기 동작을 고속화할 수 있다. 즉, 카드 컨트롤러(12)가 로우 어드레스 변경 명령을 갖지 않은 경우에, 기입 데이터를 당초의 로우 어드레스(제1 로우 어드레스)와 다른 메모리 블록(BLK)에 기입하고자 하면, 카드 컨트롤러는 기입 데이터를 다시 페이지 버퍼에 전송해야만 한다. 구체적으로 설명하면, 로우 어드레스를 변경하는 경우에는, 우선 제1 기입 명령을 캔슬하기 위해 카드 컨트롤러는 리셋 명령을 출력한다. 다음에 다시 제1 기입 명령을 발행하는 동시에, 새로운 제1 로우 어드레스를 발행한다. 다음에 카드 컨트롤러는 페이지 버퍼 데이터를 재입력한다. 마지막으로 제2 기입 명령을 발행한다.
그러나 로우 어드레스 변경 명령을 사용하면, 페이지 버퍼에의 재차 데이터 전송이 불필요해지므로, 데이터의 기입 속도를 향상시킬 수 있다.
[제2 실시 형태]
다음에, 본 발명의 제2 실시 형태에 따른 반도체 장치에 대해 설명한다. 본 실시 형태는, 상기 제1 실시 형태에 있어서의 카피 동작시에, 데이터 캐시(33) 혹은 페이지 버퍼(32)에 남은 기입 데이터를 사용하는 것이다. 이하에서는, 제1 실시 형태와 다른 점에 대해서만 설명한다.
도 17은, 본 실시 형태에 따른 메모리 시스템의 처리의 흐름을 나타내는 타이밍챠트이며, 호스트 기기(2)로부터 메모리 카드(1)의 메모리 컨트롤러(12)에의 데이터의 흐름, 메모리 컨트롤러(12)로부터 NAND형 플래시 메모리(11)의 데이터 캐 시(33)에의 데이터의 흐름, 및 NAND형 플래시 메모리(11)의 동작의 흐름을 나타낸다. 그리고 도 11과 마찬가지로 1페이지의 데이터 사이즈를 16KB로 하고, 호스트 기기(2)로부터 페이지 사이즈의 데이터에 대한 기입 액세스가 4회 행해진 경우를 나타내고 있다. 이하, 도 11과 다른 점에 착안하여 설명한다.
도시하는 바와 같이, 시각 t7 내지 시각 t8에 있어서, 기입 데이터 WD2가 제2 메모리 블록(BLK2)에 프로그램된다. 이 동작은 도 13에 상당한다. 그 후, 본 실시 형태에서는, 제2 메모리 블록(BLK2)으로부터의 판독은 행하지 않는다. 그 대신, 데이터 캐시(33) 혹은 페이지 버퍼(32)에는 직전의 프로그램 동작에서 사용한 기입 데이터 WD2가 남아 있는 것이므로, 이를 이용하여 제1 메모리 블록에의 프로그램을 행한다(시각 t8 내지 시각 t11).
기입 데이터 WD3의 카피 동작도 마찬가지이다. 시각 t11 내지 시각 t12의 기간에 있어서, 데이터 캐시(33) 혹은 페이지 버퍼(32)는 기입 데이터 WD3을 유지하고 있으므로, 이를 다시 이용하여 시각 t12 내지 시각 t15의 기간의 프로그램을 행한다.
상기 구성의 메모리 시스템이면, 제1 실시 형태에서 설명한 (1)의 효과에 부가하여, 하기 (2)의 효과를 얻을 수 있다.
(2) 데이터의 기입 속도를 더욱 향상시킬 수 있다.
본 실시 형태에 따른 메모리 시스템이면, 기입 데이터를 제2 메모리 블록(BLK2)에 프로그램한 후, 데이터 캐시(33) 혹은 페이지 버퍼(32)에 남아 있는 기입 데이터를 제1 메모리 블록(BLK1)에 기입하고 있다. 즉, 카드 컨트롤러(12)로부 터 전송된 기입 데이터를 2회의 기입 동작에 이용한다.
따라서, 데이터를 제2 메모리 블록(BLK2)으로부터 제1 메모리 블록(BLK1)에 카피할 때에, 제2 메모리 블록(BLK2)으로부터 데이터를 판독할 필요가 없다. 즉, 제1 실시 형태에서 설명한 도 11에 있어서의 시각 t8 내지 시각 t9, 시각 t13 내지 시각 t14의 기간의 처리가 불필요해지고, 제2 메모리 블록(BLK2)에의 기입 동작 후, 제1 메모리 블록(BLK1)에의 기입 동작을 빠르게 개시할 수 있다. 따라서, 데이터의 기입 속도를 더욱 고속화할 수 있다.
이상과 같이, 본 발명의 제1, 제2 실시 형태에 따른 반도체 장치이면, 8치 NAND형 플래시 메모리에 있어서, 3비트 데이터를 유지하는 메모리 블록의 캐시 블록으로서, 1비트 데이터를 유지하는 메모리 블록을 구비하고 있다. 그리고, 기입 데이터의 최종 페이지가 상위 페이지 또는 중위 페이지였던 경우, 바꾸어 말하면 기입에 필요로 하는 시간의 긴 비트에 상당하는 경우, 그 데이터를 일시적으로 개시 블록에 기입하고 있다. 따라서, 데이터의 기입 속도를 고속화할 수 있다.
상기 실시 형태는, 예를 들어 파일 시스템을 구비한 메모리 시스템에 적용할 수 있다. 파일 시스템이라 함은, 메모리에 기록되어 있는 파일(데이터)을 관리하는 방식의 것이며, 예를 들어 FAT(File Alloation Table) 파일 시스템을 들 수 있다. 파일 시스템에 있어서는, 메모리에 있어서의 파일이나 폴더 등의 디렉토리 정보의 작성 방법, 파일이나 폴더 등의 이동 방법이나 삭제 방법, 데이터의 기록 방식, 관리 영역의 장소나 이용 방법 등이 정해진다.
FAT 파일 시스템을 구비한 플래시 메모리(11)의 메모리 공간은, 대략적으로 는 사용자 데이터 영역 및 관리 영역으로 나누어진다. 사용자 데이터 영역은, 사용자에 의해 기입되는 순수한 데이터를 저장하는 영역이다. 관리 영역은, 예를 들어 부트 정보를 기억하는 영역, 파티션 정보를 기억하는 영역, 데이터가 어느 어드레스에 기억되어 있는지를 기억하는 영역, 루트 디렉토리 엔트리의 정보를 기억하는 영역 등을 포함하고 있다. 그리고, 사용자 데이터 영역은, 클러스터 혹은 얼로케이션 유닛(allocation unit)이라 불리는 작은 단위로 관리된다. 예를 들어 이 단위가 16K바이트이며, 호스트 기기가 클러스터 단위로 기입 명령을 발행하는 경우에는, 클러스터 사이즈보다도 큰 데이터를 기입할 때에도, 16K바이트마다 연속해서 데이터를 기입한다. 이와 같은 경우라도, 상기 실시 형태에 따른 방법을 이용함으로써, 고속의 기입 동작이 가능해진다.
또한, 상기 실시 형태에서는 도 11 및 도 17에 있어서, 페이지 사이즈의 데이터를 프로그램하는 경우를 예로 들어 설명하였다. 그러나, 호스트 기기(2)로부터 전송되는 데이터는 페이지 사이즈 미만이어도 된다. 또한 상기 실시 형태에서는 설명을 생략하였지만, 1페이지에는 용장부 및 관리 데이터 기억부가 포함되어도 된다. 즉, 순수한 데이터 외에 패리티 등의 데이터가 포함되어도 된다.
또한, 상기 실시 형태에서는 8치 NAND형 플래시 메모리의 경우를 예로 들어 설명하였지만, 다치 NAND형 플래시 메모리이면 된다. 즉, 제1 메모리 블록(BLK1) 내의 메모리 셀 트랜지스터(MT)가, 2비트, 4비트, 5비트 등의 다치 데이터를 유지하는 경우이어도 된다. 메모리 셀 트랜지스터(MT)가 2비트의 데이터를 유지하는 경우, 즉 각 메모리 셀 트랜지스터(MT)에 대해 하위 페이지와 상위 페이지가 할당 되는 경우에는, 기입에 필요로 하는 시간은 예를 들어 t_L=200㎲, t_U=3000㎲이다. 이와 같이, 프로그램 대상의 비트에 의해 기입에 필요로 하는 시간의 차가 클수록, 현저한 효과를 얻을 수 있다.
또한, 로우 어드레스 변경 명령을 발행하는 조건은, 반드시 최종 페이지가 하위 페이지 이외인 경우에 한정되지 않는다. 예를 들어 최종 페이지가 중위 페이지인 경우에는 발행하지 않는 경우이어도 된다. 최종 페이지가 어느 쪽의 비트였을 때에 로우 어드레스 변경 명령을 발행하는지에 대해서는, 적절하게 선택 가능하다. 그러나, 적어도 최상위 비트인 경우, 바꾸어 말하면 기입에 필요로 하는 시간이 가장 긴 비트인 경우에는, 로우 어드레스 변경 명령을 발행하는 것이 바람직하다.
또한, 제2 메모리 블록(BLK2)에 프로그램한 데이터는, 제1 메모리 블록(BLK1)에 카피한 후, 소거하지 않고 남겨 두어도 된다. 이 경우, 제2 메모리 블록(BLK2) 내의 데이터는 제1 메모리 블록(BLK1) 내의 데이터의 스페어 데이터로서 사용할 수 있다. 따라서, 이 경우에는 플래시 메모리의 데이터 유지 신뢰성을 향상시킬 수 있다.
또한, 상기 실시 형태에서는, 데이터의 기입에 필요로 하는 시간 t_L, t_M, t_U로서, NAND형 플래시 메모리(11)에 대해 제2 기입 명령이 주어지고 나서, 메모리 셀 트랜지스터(MT)에 대한 프로그램과 베리파이를 반복하고, 베리파이가 완료될 때까지의 기간을 예로 들어 설명하였다. 베리파이는, 데이터의 프로그램에 의해 메모리 셀 트랜지스터(MT)의 임계치가 원하는 값에 도달한 것을 확인할 수 있었던 시점, 또는 상기 반복 횟수가 소정 횟수에 도달한 시점에서 종료한다.
그러나, 기입에 필요로 하는 시간 t_L, t_M, t_U는, 제2 기입 명령이 주어지고 나서, 즉 NAND형 플래시 메모리(11)가 비지 상태로 되고 나서, 레디 상태로 복귀할 때까지의 기간으로 정의할 수도 있다. 비지 상태라 함은, NAND형 플래시 메모리(11)가 메모리 컨트롤러(12)로부터 데이터를 접수하지 않는 상태이다. 이 점에 대해, 이하 설명한다.
도 18은 메모리 카드(1)의 블록도로, NAND형 플래시 메모리(11)와 메모리 컨트롤러(12) 사이에서 주고 받게 되는 신호에 대해 나타내고 있다. 도시하는 바와 같이, 메모리 컨트롤러(12)로부터 NAND형 플래시 메모리(11)에 대해서는, 칩 이네이블(chip enable) 신호/CE, 리드 이네이블(read enable) 신호/RE, 라이트 이네이블(write enable) 신호/WE, 코맨드 래치 이네이블(command latch enable) 신호 CLE, 어드레스 래치 이네이블(address latch enable) 신호 ALE가 주어진다.
칩 이네이블 신호/CE는, 메모리 컨트롤러(12)가 NAND형 플래시 메모리(11)에 액세스할 때에 "L" 레벨로 된다.
리드 이네이블 신호/RE는, 메모리 컨트롤러(12)가 NAND형 플래시 메모리(11)로부터 데이터를 판독할 때에 "L" 레벨로 된다. 그리고 /RE="L"로 됨으로써, NAND형 플래시 메모리(11)로부터 예를 들어 8비트의 데이터 IO0 내지 IO7이 출력된다.
라이트 이네이블 신호/WE는, 메모리 컨트롤러(12)가 NAND형 플래시 메모리(11)에 데이터를 기입할 때에 "L" 레벨로 된다. 그리고 /WE="L"로 됨으로써, NAND형 플래시 메모리(11)는, 메모리 컨트롤러(12)로부터 출력된 데이터 IO0 내지 IO7을 받아들인다.
코맨드 래치 이네이블 신호 CLE는, /WE를 "L" 레벨로 하였을 때에, NAND형 플래시 메모리(11)에의 입력 데이터가 코맨드인지 여부를 나타낸다. 즉, CLE="H"의 경우, 데이터 IO0 내지 IO7은 코맨드이다.
어드레스 래치 이네이블 신호 ALE는, /WE를 "L" 레벨로 하였을 때에, NAND형 플래시 메모리(11)에의 입력 데이터가 어드레스인지 여부를 나타낸다. 즉, ALE="H"의 경우, 데이터 IOO 내지 IO7은 어드레스이다.
NAND형 플래시 메모리(11)로부터 메모리 컨트롤러(12)에 대해서는, 레디/비지 신호 RY/BY가 주어진다. 레디/비지 신호 RY/BY는, NAND형 플래시 메모리(11)의 상태를 나타내는 신호이다. RY/BY="H" 레벨의 경우, NAND형 플래시 메모리(11)는 레디 상태이며, RY/BY="L" 레벨의 경우, 비지 상태이다. 메모리 컨트롤러(12)는, RY/BY="H" 레벨인 것을 받아, NAND형 플래시 메모리(11)에 대해 데이터, 코맨드, 어드레스 등을 입력한다.
도 19는, 도 16에 도시한 제1 실시 형태에 따른 타이밍차트와, 그에 대응한 레디/비지 신호의 타이밍차트이다.
도시하는 바와 같이, 시각 t0에서 제2 기입 명령(INST2)="10H"가 입력되면, NAND형 플래시 메모리(11)는 비지 상태로 되고, 레디/비지 신호 RY/BY는 "L" 레벨로 된다. 그리고 시각 t1에 있어서, 기입 데이터 WD1의 기입(프로그램 및 베리파이)이 종료되면, NAND형 플래시 메모리(11)는 레디 상태로 복귀하고, 레디/비지 신호 RY/BY는 "H"로 된다.
또한 시각 t2에서 제2 기입 명령(INST2)="10H"가 입력되면, NAND형 플래시 메모리(11)는 비지 상태로 되고, 시각 t3에 있어서 기입 데이터 WD2의 제2 메모리 블록(BLK2)에의 기입(프로그램 및 베리파이)이 종료되면, NAND형 플래시 메모리(11)는 레디 상태로 복귀한다.
시각 t3에 있어서 NAND형 플래시 메모리(11)가 레디 상태로 되면, 카드 컨트롤러(12)는 판독 코맨드를 발행하여, NAND형 플래시 메모리(11)에 출력한다. 이 판독 코맨드는, 제2 메모리 블록(BLK2)에 기입한 제2 기입 데이터 WD2의 판독 명령이다. 이에 응답하여 NAND형 플래시 메모리(11)는 비지 상태로 되고, 판독 동작을 실행한다. 시각 t5에서 판독이 완료되면, NAND형 플래시 메모리(11)는 레디 상태로 복귀한다.
시각 t5에 있어서 NAND형 플래시 메모리(11)가 레디 상태로 되면, 카드 컨트롤러(12)는 제2 기입 명령(INST2)="15H"를 발행한다. 이는, 제2 기입 데이터 WD2를 제1 메모리 블록(BLK1)에 기입하는 취지의 명령이다. 이에 응답하여 NAND형 플래시 메모리(11)는 시각 t6에서 비지 상태로 되고, 제2 기입 데이터 WD2에 대한 캐시 프로그램을 실행한다.
예를 들어 시각 t7에서 NAND형 플래시 메모리(11)가 데이터를 접수 가능한 상태, 예를 들어 데이터 캐시(33)가 비게 되면, NAND형 플래시 메모리(11)는 기입 중이지만 레디 상태로 된다(RY/BY="H"). 이를 받아 카드 컨트롤러(12)는, 다음 기입 데이터 WD3 및 제2 기입 명령(INST2)="10H"를 NAND형 플래시 메모리(11)에 입력한다.
그리고 제2 기입 데이터 WD2의 기입이 종료되면, NAND형 플래시 메모리(11)는 다시 비지 상태로 되고, 제3 기입 데이터 WD3이 제2 메모리 블록(BLK2)에 기입된다. 이후의 동작은, 시각 t3 내지 시각 t9와 마찬가지이다.
이상과 같은 동작에 있어서, 기입에 필요로 하는 시간을, 비지 상태로 되고나서 레디 상태로 복귀할 때까지의 동안의 시간으로 정의해도 된다. 그러면, 중위 페이지의 기입에 필요로 하는 시간 t_M은 시각 t6 내지 시각 t7의 기간이 되고, 상위 페이지의 기입에 필요로 하는 시간 t_U는, 시각 t12 내지 시각 t13의 기간이 된다.
또한, 도 19의 예에서는 예를 들어 시각 t3 내지 시각 t4, 시각 t9 내지 시각 t10의 기간에 판독 코맨드가 발행되는 경우에 대해 설명하였다. 그러나, 카드 컨트롤러(12)는, NAND형 플래시 메모리(11)가 레디 상태로 되는 것을 기다리지 않고, 판독 코맨드를 NAND형 플래시 메모리(11)에 대해 발행해도 된다. 이 경우에는, 제2 메모리 블록(BLK2)에 대한 기입이 종료된 후, 레디 상태로 이행하지 않고 계속해서 판독 동작이 실행된다.
도 20은, 상기 제2 실시 형태의 경우의 레디/비지 신호의 타이밍차트이다. 또한 도 21은, 복수 페이지에 걸친 큰 데이터를 기입하는 경우에 있어서의 타이밍차트이다. 도 21에 있어서의 최초의 (16K바이트×3개)의 데이터는, 각각 캐시 프로그램 코맨드 "15H"를 이용하여 기입된다.
또한, 상기 실시 형태에서는 플래시 메모리(11)가 데이터 캐시(33)를 구비하는 경우를 예로 들어 설명하였다. 그러나, 데이터 캐시(33)를 구비하지 않은 경우 이어도 된다. 단, 이 경우에는 프로그램이 완료된 후에, 카드 컨트롤러(12)로부터 플래시 메모리(11)에의 데이터 전송(DIN)이 행해진다. 즉, 계속 데이터가 있는 경우라도, 통상 프로그램 코맨드 "10H"를 이용하여 기입 동작이 실행된다. 따라서, 동작의 고속화의 관점에서는, 데이터 캐시(33)를 구비하는 것이 바람직하다.
또한, 상기 실시 형태는 NAND 버스(15)의 버스 폭(데이터 전송 속도)이 호스트 버스(14)의 버스 폭보다도 큰 경우에, 보다 현저한 효과를 얻을 수 있다. 이는, 양자의 데이터 전송 능력의 갭에 의해 발생하는 시간에 프로그램 시간을 오버랩시킴으로써, 전체적인 기입 성능을 향상시킬 수 있기 때문이다.
또한, 상기 실시 형태에서 설명한 메모리 카드(1)는, 예를 들어 SDTM 카드이다. 그러나 메모리 카드(1)는 호스트 기기(2) 내에 실장된 반도체 메모리 장치이어도 된다.
당 분야의 업자라면 부가적인 장점 및 변경들을 용이하게 생각해 낼 것이다. 따라서, 광의의 관점에서의 본 발명은 본 명세서에 예시되고 기술된 상세한 설명 및 대표 실시예들에 한정되는 것은 아니다. 따라서, 첨부된 청구 범위들 및 그 등가물들에 의해 정의된 바와 같은 일반적인 발명적 개념의 정신 또는 범위로부터 벗어나지 않고 다양한 변경이 가능하다.
도 1은 본 발명의 제1 실시 형태에 따른 메모리 시스템의 블록도.
도 2는 제1 실시 형태에 따른 메모리 카드에 있어서의 신호 핀에 대한 신호 할당을 나타내는 도면.
도 3 및 도 4는, 각각 제1 실시 형태에 따른 카드 컨트롤러 및 플래시 메모리의 블록도.
도 5는 제1 실시 형태에 따른 메모리 블록의 회로도.
도 6은 제1 실시 형태에 따른 메모리 셀 트랜지스터의 임계치 분포를 나타내는 그래프.
도 7은 제1 실시 형태에 따른 메모리 블록의 모식도.
도 8은 제1 실시 형태에 따른 데이터 기입 방법을 나타내는 흐름도.
도 9는 제1 실시 형태에 따른 카드 컨트롤러가 출력하는 신호의 타이밍차트.
도 10은 제1 실시 형태에 따른 데이터 기입 방법을 나타내는 흐름도.
도 11은 제1 실시 형태에 따른 데이터 기입 방법에 있어서의, 데이터 및 동작의 흐름을 나타내는 타이밍차트.
도 12 내지 도 16은, 데이터 및 동작의 흐름을 나타내는 타이밍차트.
도 17은 본 발명의 제2 실시 형태에 따른 데이터 기입 방법에 있어서의, 데이터 및 동작의 흐름을 나타내는 타이밍차트.
도 18은 제1, 제2 실시 형태에 따른 메모리 카드의 블록도.
도 19 및 도 20은, 각각 제1, 제2 실시 형태에 따른 데이터 기입 방법에 있 어서의 동작의 흐름을 나타내는 타이밍차트.
도 21은 제1, 제2 실시 형태에 따른 데이터 기입 방법에 있어서의 동작의 흐름을 나타내는 타이밍차트.
<도면의 주요 부분에 대한 부호의 설명>
1 : 메모리 카드
2 : 호스트 기기
12 : 카드 컨트롤러
13 : 신호 핀
14 : 호스트 버스 인터페이스

Claims (18)

  1. 반도체 장치로서,
    2비트 이상의 데이터를 유지 가능한 복수의 메모리 셀을 구비한 제1 메모리 블록(BLK1)과, 1비트의 데이터를 유지 가능한 복수의 메모리 셀을 구비한 제2 메모리 블록(BLK2)을 갖고, 상기 제1, 제2 메모리 블록(BLK1, BLK2)에 대해 페이지 단위로 데이터를 프로그램 가능한 불휘발성 반도체 메모리(11)와,
    호스트 기기(2)로부터 수신한 기입 데이터를 상기 불휘발성 반도체 메모리(11)에 공급하고, 상기 제1 메모리 블록(BLK1) 또는 제2 메모리 블록(BLK2)에의 상기 기입 데이터의 프로그램을 상기 페이지마다 상기 불휘발성 반도체 메모리(11)에 명령하는 컨트롤러(12)
    를 포함하며,
    상기 제1 메모리 블록(BLK1)에 있어서 상기 페이지는 유지 가능한 상기 2비트 이상의 데이터의 비트마다 할당되고, 또한 대응하는 비트마다 기입에 필요로 하는 시간이 다르고,
    상기 컨트롤러(12)는 상기 기입 데이터의 최종 페이지가 상기 기입에 필요로 하는 시간이 가장 긴 비트에 상당하는 경우, 상기 불휘발성 반도체 메모리(11)에 대해 그 데이터에 대한 프로그램을 상기 제2 메모리 블록(BLK2)의 어느 한 페이지에 실행하도록 명령하는 반도체 장치.
  2. 제1항에 있어서, 상기 컨트롤러(12)는, 상기 페이지 단위의 데이터 및 상기 제1 메모리 블록(BLK1) 중 어느 한 페이지를 지정하는 제1 로우 어드레스(RA1)를 상기 불휘발성 반도체 메모리(11)에 대해 전송 가능하게 되고, 또한 전송한 상기 제1 로우 어드레스(RA1)의 변경 명령(INST_RA)과 상기 제2 메모리 블록(BLK2) 중 어느 한 페이지를 지정하는 제2 로우 어드레스(RA2)를 발행 가능하게 되고,
    상기 컨트롤러(12)는, 상기 최종 페이지에 상당하는 상기 제1 로우 어드레스(RA1)가 상기 기입에 필요로 하는 시간이 가장 긴 비트에 상당하는 경우, 상기 데이터 및 상기 제1 로우 어드레스(RA1)의 전송으로 이어지고, 상기 변경 명령(INST_RA) 및 상기 제2 로우 어드레스(RA2)를 발행하여 상기 불휘발성 반도체 메모리(11)에 공급하고,
    상기 불휘발성 반도체 메모리(11)는, 상기 변경 명령(INST_RA)이 발행되지 않을 때에는 상기 제1 로우 어드레스(RA1)에 대응하는 제1 페이지에 대해 상기 프로그램을 실행하고, 상기 변경 명령(INST_RA)이 발행되었을 때에는 상기 제2 로우 어드레스(RA2)에 대응하는 제2 페이지에 대해 상기 프로그램을 실행하는 반도체 장치.
  3. 제2항에 있어서, 상기 불휘발성 반도체 메모리(11)는 상기 제2 페이지에 상기 프로그램을 실행한 후, 상기 제2 페이지에 프로그램된 데이터를 상기 제1 페이지에 카피하는 반도체 장치.
  4. 제3항에 있어서, 상기 불휘발성 반도체 메모리(11)는, 상기 페이지 단위로 상기 컨트롤러(12)와의 사이의 데이터의 주고 받음을 가능하게 되고, 또한 1페이지분의 데이터를 유지 가능한 버퍼 회로(32, 33)를 더 구비하고,
    프로그램시에 있어서, 상기 컨트롤러(12)로부터 상기 버퍼 회로(32, 33)로 전송된 데이터가 상기 메모리 셀에 프로그램되고,
    상기 불휘발성 반도체 메모리(11)는, 상기 제2 페이지의 상기 데이터를 상기 제1 로우 어드레스(RA1)에 상당하는 페이지에 카피할 때, 상기 제2 페이지에 프로그램을 실행할 때에 상기 버퍼 회로(32, 33)에 전송된 데이터를 사용하여, 상기 제1페이지에 대한 프로그램을 실행하는 반도체 장치.
  5. 제1항에 있어서, 상기 불휘발성 반도체 메모리(11)와 상기 컨트롤러(12) 사이를 접속하는 제1 버스(15)를 더 구비하고,
    제1 버스(15)의 버스 폭은 상기 컨트롤러(12)와 상기 호스트 기기(2) 사이를 접속하는 제2 버스(14)의 버스 폭보다도 큰 반도체 장치.
  6. 각각이, 데이터 유지 가능한 복수의 메모리 셀을 구비한 제1, 제2 메모리 블록(BLKI, BLK2)을 갖고, 상기 제1, 제2 메모리 블록(BLK1, BLK2)에 대해 페이지 단위로 데이터를 프로그램 가능한 불휘발성 반도체 메모리(11)와,
    상기 불휘발성 반도체 메모리(11)에 대해, 기입 데이터를 공급함과 함께, 상기 제1 메모리 블록(BLK1) 또는 제2 메모리 블록(BLK2)에의 상기 기입 데이터의 프로그램을 명령하는 컨트롤러(12)
    를 구비하고,
    상기 제1 메모리 블록(BLK1)은 페이지에 따라 기입 속도가 다르고,
    상기 컨트롤러(12)는, 상기 기입 데이터의 최종 페이지가 상기 제1 메모리 블록(BLK1)에 있어서 상기 기입 속도가 가장 느린 페이지에 상당하는 경우, 그 데이터를 상기 제2 메모리 블록(BLK2)에 프로그램하도록 상기 불휘발성 반도체 메모리(11)에 명령하는 반도체 장치.
  7. 제6항에 있어서, 상기 컨트롤러(12)는, 상기 페이지 단위의 데이터 및 상기 제1 메모리 블록(BLK1) 중 어느 한 페이지를 지정하는 제1 로우 어드레스(RA1)를 상기 불휘발성 반도체 메모리(11)에 대해 전송 가능하게 되고, 또한 전송한 상기 제1 로우 어드레스(RA1)의 변경 명령(INST_RA)과 상기 제2 메모리 블록(BLK2) 중 어느 한 페이지를 지정하는 제2 로우 어드레스(RA2)를 발행 가능해지고,
    상기 컨트롤러(12)는, 상기 최종 페이지에 상당하는 상기 제1 로우 어드레스(RA1)가 상기 기입 속도가 가장 느린 페이지에 상당하는 경우, 상기 변경 명령(INST_RA) 및 상기 제2 로우 어드레스(RA2)를 발행하고,
    상기 불휘발성 반도체 메모리(11)는, 상기 변경 명령(INST_RA)이 발행되지 않을 때에는 상기 제1 로우 어드레스(RA1)에 대응하는 제1 페이지에 대해 상기 프로그램을 실행하고, 상기 변경 명령(INST_RA)이 발행되었을 때에는 상기 제2 로우 어드레스(RA2)에 대응하는 제2 페이지에 대해 상기 프로그램을 실행하는 반도체 장치.
  8. 제7항에 있어서, 상기 불휘발성 반도체 메모리(11)는, 상기 제2 페이지에 상기 프로그램을 실행한 후, 상기 제2 페이지에 프로그램된 데이터를 상기 제1 페이지에 카피하는 반도체 장치.
  9. 제8항에 있어서, 상기 불휘발성 반도체 메모리(11)는, 상기 페이지 단위로 상기 컨트롤러(12)와의 사이의 데이터의 주고 받음을 가능하게 되고, 또한 1페이지분의 데이터를 유지 가능한 버퍼 회로(32, 33)를 더 구비하고,
    프로그램시에 있어서, 상기 컨트롤러(12)로부터 상기 버퍼 회로(32, 33)로 전송된 데이터가 상기 메모리 셀에 프로그램되고,
    상기 불휘발성 반도체 메모리(11)는, 상기 제2 페이지의 상기 데이터를 상기 제1 로우 어드레스(RA1)에 상당하는 페이지에 카피할 때, 상기 제2 페이지에 프로그램을 실행할 때에 상기 버퍼 회로(32, 33)에 전송된 데이터를 이용하여 상기 제1 페이지에 대한 프로그램을 실행하는 반도체 장치.
  10. 제6항에 있어서, 상기 불휘발성 반도체 메모리(11)와 상기 컨트롤러(12) 사이를 접속하는 제1 버스(15)를 더 구비하고,
    제1 버스(15)의 버스 폭은, 상기 컨트롤러(12)와 호스트 기기(2) 사이를 접속하는 제2 버스(14)의 버스 폭보다도 큰 반도체 장치.
  11. 제6항에 있어서, 제1 메모리 블록(BLK1) 내의 상기 메모리 셀은, 2비트 이상의 데이터를 유지 가능하게 되고,
    상기 페이지의 기입 속도는, 상기 페이지가 상기 데이터 중 어느 쪽 비트에 상당하는지에 따라 다른 반도체 장치.
  12. 제11항에 있어서, 상기 제2 메모리 블록(BLK2) 내의 상기 메모리 셀은 1비트의 데이터를 유지 가능한 반도체 장치.
  13. 페이지에 따라 기입 속도가 다른 제1 메모리 블록(BLK1)과 제2 메모리 블록(BLK2)을 구비한 불휘발성 반도체 메모리(11)의 데이터 기입 방법으로서,
    상기 제1 메모리 블록(BLK1)에 있어서의 어느 한 페이지를 지정하는 제1 로우 어드레스(RA1)를 상기 불휘발성 반도체 메모리(11)에 송신하는 하는 단계와,
    상기 제1 로우 어드레스(RA1)를 송신한 후, 데이터를 상기 불휘발성 반도체 메모리(11)에 송신하는 단계와,
    상기 데이터를 송신한 후, 상기 불휘발성 반도체 메모리(11)에 송신할 데이터가 남아 있지 않고, 또한 상기 제1 로우 어드레스(RA1)가 상기 제1 메모리 블록(BLK1)에 있어서 상기 기입 속도가 가장 느린 페이지인 경우, 로우 어드레스 변경 명령(INST_RA)과, 상기 제2 메모리 블록(BLK2)에 있어서의 어느 한 페이지를 지정하는 제2 로우 어드레스(RA2)를 상기 불휘발성 반도체 메모리(11)에 송신하는 단계와,
    상기 제2 로우 어드레스(RA2)를 송신한 후, 상기 제2 로우 어드레스(RA2)에 의해 지정되는 페이지에의 상기 데이터의 프로그램을 명령하는 기입 명령(INST2)을 상기 불휘발성 반도체 메모리(11)에 송신하는 단계
    를 구비하는 불휘발성 반도체 메모리의 데이터 기입 방법.
  14. 제13항에 있어서, 상기 데이터를 송신한 후, 상기 불휘발성 반도체 메모리(11)에 송신할 데이터가 남아 있는 경우, 상기 로우 어드레스 변경 명령(INST_RA)과 상기 제2 로우 어드레스(RA2)를 송신하지 않고, 상기 제1 로우 어드레스(RA1)에 의해 지정되는 페이지에의 상기 데이터의 프로그램을 명령하는 기입 명령(INST2)을 송신하는 단계를 더 구비하는 불휘발성 반도체 메모리의 데이터 기입 방법.
  15. 제13항에 있어서, 상기 불휘발성 반도체 메모리(11)에 송신할 데이터가 남아 있는지 여부는, 기입 액세스의 종료 통지 또는 중단 명령을 호스트 기기(2)로부터 수신하였는지 여부에 의해 판단되는 불휘발성 반도체 메모리의 데이터 기입 방법.
  16. 제13항에 있어서, 상기 기입 명령(INST2)을 송신한 후, 상기 불휘발성 반도체 메모리(11)가 상기 제2 로우 어드레스(RA2)에 의해 지정되는 페이지에 상기 데이터를 프로그램하는 단계와,
    상기 데이터를 프로그램한 후, 상기 불휘발성 반도체 메모리(11)가 상기 제1 로우 어드레스(RA1)에 의해 지정되는 페이지에 상기 데이터를 카피하는 단계
    를 더 구비하는 불휘발성 반도체 메모리의 데이터 기입 방법.
  17. 제13항에 있어서, 상기 제1 메모리 블록(BLK1) 내의 메모리 셀은 2비트 이상의 데이터를 유지 가능하게 되고,
    상기 페이지의 기입 속도는, 상기 페이지가 상기 데이터 중 어느 쪽 비트에 상당하는지에 따라 다른 불휘발성 반도체 메모리의 데이터 기입 방법.
  18. 제17항에 있어서, 상기 제2 메모리 블록(BLK2) 내의 메모리 셀은 1비트의 데이터를 유지 가능한 불휘발성 반도체 메모리의 데이터 기입 방법.
KR1020090074157A 2008-08-13 2009-08-12 전하 축적층과 제어 게이트를 갖는 메모리 셀을 구비한 반도체 장치 및 그 데이터 기입 방법 KR101076981B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2008-208649 2008-08-13
JP2008208649A JP4649503B2 (ja) 2008-08-13 2008-08-13 半導体装置

Publications (2)

Publication Number Publication Date
KR20100020921A KR20100020921A (ko) 2010-02-23
KR101076981B1 true KR101076981B1 (ko) 2011-10-26

Family

ID=41673185

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090074157A KR101076981B1 (ko) 2008-08-13 2009-08-12 전하 축적층과 제어 게이트를 갖는 메모리 셀을 구비한 반도체 장치 및 그 데이터 기입 방법

Country Status (5)

Country Link
US (1) US20100042777A1 (ko)
JP (1) JP4649503B2 (ko)
KR (1) KR101076981B1 (ko)
CN (1) CN101650970A (ko)
TW (1) TW201021042A (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110258372A1 (en) * 2009-07-29 2011-10-20 Panasonic Corporation Memory device, host device, and memory system
TWI435215B (zh) * 2009-08-26 2014-04-21 Phison Electronics Corp 下達讀取指令與資料讀取方法、控制器與儲存系統
CN102637456B (zh) * 2011-02-11 2016-03-23 慧荣科技股份有限公司 内存控制器、记忆装置以及判断记忆装置的型式的方法
JP2012173778A (ja) * 2011-02-17 2012-09-10 Sony Corp 管理装置、および管理方法
JP2013020682A (ja) 2011-07-14 2013-01-31 Toshiba Corp 不揮発性半導体記憶装置
JP5929485B2 (ja) * 2012-05-08 2016-06-08 ソニー株式会社 制御装置、記憶装置、データ書込方法
CN103455440A (zh) * 2012-06-04 2013-12-18 慧荣科技股份有限公司 快闪内存装置及快闪内存的数据存取方法
TWI509617B (zh) * 2012-06-04 2015-11-21 Silicon Motion Inc 快閃記憶體裝置及快閃記憶體的資料存取方法
TWI544490B (zh) 2015-02-05 2016-08-01 慧榮科技股份有限公司 資料儲存裝置及其資料維護方法
CN106354678B (zh) * 2016-08-25 2023-08-18 黄骅市交大思诺科技有限公司 测试工装的数字输入输出口扩容装置和方法
JP2019050071A (ja) * 2017-09-11 2019-03-28 東芝メモリ株式会社 半導体記憶装置及びメモリシステム
US10614886B2 (en) 2017-09-22 2020-04-07 Samsung Electronics Co., Ltd. Nonvolatile memory device and a method of programming the nonvolatile memory device
US10877697B2 (en) * 2018-04-30 2020-12-29 SK Hynix Inc. Data storage device and operating method thereof

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006018591A (ja) 2004-07-01 2006-01-19 Matsushita Electric Ind Co Ltd メモリカード
JP2006072452A (ja) 2004-08-31 2006-03-16 Sony Corp データ記録方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4805696B2 (ja) * 2006-03-09 2011-11-02 株式会社東芝 半導体集積回路装置およびそのデータ記録方式
JP4866117B2 (ja) * 2006-03-22 2012-02-01 パナソニック株式会社 不揮発性記憶装置、そのデータ書き込み方法、不揮発性記憶システム及びメモリコントローラ
US7511646B2 (en) * 2006-05-15 2009-03-31 Apple Inc. Use of 8-bit or higher A/D for NAND cell value
JP2008009919A (ja) * 2006-06-30 2008-01-17 Toshiba Corp カードコントローラ
JP5002201B2 (ja) * 2006-06-30 2012-08-15 株式会社東芝 メモリシステム
KR100926475B1 (ko) * 2006-12-11 2009-11-12 삼성전자주식회사 멀티 비트 플래시 메모리 장치 및 그것의 프로그램 방법
KR100874441B1 (ko) * 2007-01-09 2008-12-17 삼성전자주식회사 멀티-비트 데이터를 저장할 수 있는 플래시 메모리 장치,그것을 제어하는 메모리 제어기, 그리고 그것을 포함한메모리 시스템
US7958301B2 (en) * 2007-04-10 2011-06-07 Marvell World Trade Ltd. Memory controller and method for memory pages with dynamically configurable bits per cell

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006018591A (ja) 2004-07-01 2006-01-19 Matsushita Electric Ind Co Ltd メモリカード
JP2006072452A (ja) 2004-08-31 2006-03-16 Sony Corp データ記録方法

Also Published As

Publication number Publication date
CN101650970A (zh) 2010-02-17
US20100042777A1 (en) 2010-02-18
JP2010044620A (ja) 2010-02-25
TW201021042A (en) 2010-06-01
KR20100020921A (ko) 2010-02-23
JP4649503B2 (ja) 2011-03-09

Similar Documents

Publication Publication Date Title
KR101076981B1 (ko) 전하 축적층과 제어 게이트를 갖는 메모리 셀을 구비한 반도체 장치 및 그 데이터 기입 방법
KR100721062B1 (ko) 멀티레벨 메모리 내의 일부 메모리 블록을 바이너리 메모리블록으로 이용하는 비휘발성 반도체 메모리 장치
JP5002201B2 (ja) メモリシステム
CN102592668B (zh) 非易失性存储设备和系统及编程非易失性存储设备的方法
US20210373813A1 (en) Semiconductor memory device
US20090089491A1 (en) Semiconductor memory device and data management method using semiconductor memory device
KR102470606B1 (ko) 불휘발성 메모리 장치 및 불휘발성 메모리 장치를 포함하는 스토리지 장치
CN103946923A (zh) 闪存系统
CN103106923A (zh) 存储器装置架构和操作
CN111798901A (zh) 页缓冲器、具有页缓冲器的存储器装置及其操作方法
US11727992B2 (en) Semiconductor memory device
JP2008108418A (ja) マルチページプログラムの方法、及びこれを行うためのフラッシュメモリ装置
CN110780802A (zh) 存储器控制器及其操作方法
KR20210024269A (ko) 빠른 읽기 페이지를 포함하는 불휘발성 메모리 장치 및 이를 포함하는 스토리지 장치
US9940030B2 (en) Memory system and method of operating the same
CN114078523A (zh) 存储器系统和包括在其中的存储器装置的操作方法
CN110600069B (zh) 具有存储装置和存储器控制器的存储器系统及其操作方法
JP2009048750A (ja) 不揮発性半導体記憶装置
KR20170062351A (ko) 불휘발성 메모리 장치, 불휘발성 메모리 장치를 포함하는 스토리지 장치 및 불휘발성 메모리 장치에 데이터를 프로그램 하는 프로그램 방법
JP2009003995A (ja) 半導体記憶装置
CN111798892A (zh) 存储器装置及其操作方法
US11544204B2 (en) Memory system, memory controller and method for operating memory controller
EP3783614A1 (en) Nonvolatile memory device including a fast read page and a storage device including the same
US20230090202A1 (en) Memory device and memory system
CN118116423A (zh) 执行读取操作的存储器装置、其操作方法以及存储装置

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