KR100521826B1 - 데이터 복사 기능을 갖는 반도체 기억 시스템 및 그데이터 복사 방법 - Google Patents

데이터 복사 기능을 갖는 반도체 기억 시스템 및 그데이터 복사 방법 Download PDF

Info

Publication number
KR100521826B1
KR100521826B1 KR10-2002-0081351A KR20020081351A KR100521826B1 KR 100521826 B1 KR100521826 B1 KR 100521826B1 KR 20020081351 A KR20020081351 A KR 20020081351A KR 100521826 B1 KR100521826 B1 KR 100521826B1
Authority
KR
South Korea
Prior art keywords
data
page
memory
program
buffer
Prior art date
Application number
KR10-2002-0081351A
Other languages
English (en)
Other versions
KR20030053028A (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 KR20030053028A publication Critical patent/KR20030053028A/ko
Application granted granted Critical
Publication of KR100521826B1 publication Critical patent/KR100521826B1/ko

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • G11C16/105Circuits or methods for updating contents of nonvolatile memory, especially with 'security' features to ensure reliable replacement, i.e. preventing that old data is lost before new data is reliably written
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

반도체 기억 시스템은 불휘발성 메모리와, 상기 불휘발성 메모리를 제어하도록 구성된 컨트롤러를 포함하고 있다. 상기 컨트롤러는 프로그램의 실행 전에, 페이지 데이터의 관리 데이터를 상기 불휘발성 메모리의 용장 영역에 입력시키고, 또한 상기 불휘발성 메모리의 페이지 데이터를 다른 페이지로 이동시킬 때에, 상기 다른 페이지에서의 프로그램 기간 중에, 상기 페이지 데이터의 에러를 확인하기 위해서, 상기 페이지 데이터의 판독의 제어를 행한다.

Description

데이터 복사 기능을 갖는 반도체 기억 시스템 및 그 데이터 복사 방법{SEMICONDUCTOR MEMORY SYSTEM HAVING DATA COPY FUNCTION AND DATA COPY METHOD THEREOF}
본 발명은, 데이터 복사 기능을 갖는 반도체 기억 시스템 및 그 데이터 복사 방법에 관한 것으로, 특히 블록 단위로 소거를 행하는 NAND형 플래시 메모리에 있어서, 페이지 단위로 데이터의 재기입을 행하는 기술에 관한 것이다.
불휘발성 반도체 기억 장치의 일종으로서, NAND형 플래시 메모리가 알려져 있다. NAND형 플래시 메모리에서는 메모리 셀을 종방향으로 접속하여 선택 게이트나 비트선의 컨택트 수를 삭감함으로써, NOR형에 비하여 칩 사이즈를 작게 할 수 있다. 그러나, 페이지 단위로의 데이터 소거를 할 수 없고, 블록 단위(선택 게이트에서 끼워진 페이지분의 단위)의 데이터 소거를 행해야 한다. 이 때문에, 칩 사이즈를 작게 할 수 있는 반면, 사용자에게는 데이터의 소거나 재기입을 큰 단위(블록 단위)로 행해야 한다는 제한이 생겨, 이용하는 데에 있어서 복잡함을 주고 있다.
NAND형 플래시 메모리에서는 소거를 블록 단위로 행해야 하므로, 소거의 대상이 되는 페이지 이외에, 동일 블록 내의 다른 페이지도 소거된다. 이 때문에, 이미 데이터가 기입되어 있었던 물리적인 페이지 데이터 영역에 기입을 행하기 위해서는, 동일 블록 내의 다른 페이지의 데이터를 판독하여 퇴피하고, 그 블록을 소거한 후, 퇴피한 데이터를 다시 프로그램할 필요가 있다.
이러한 재기입 동작은 매우 복잡하며 시간을 요한다. 그래서, 페이지 단위로 데이터의 재기입을 행하는 경우에는, 물리적으로 다른 공(空) 블록(소거되어 있음)에, 재기입한 페이지 데이터를 프로그램하는 방법이 취해지고 있다. 그러나, 이 방법의 경우에는 페이지 데이터의 물리적인 어드레스가 변하게 된다. 이 때문에, 물리적으로 변한 어드레스를, 외부로부터 본 외관상의 어드레스에 대응시키는 처리가 필요하게 된다. 통상, 이 처리는 컨트롤러로 행하고 있다.
이러한, 외부로부터 본 어드레스와 내부의 물리적 어드레스의 대응을 취하기 위해서, 1페이지마다 변환표를 만드는 것이 제안되고 있다. 그러나, 1페이지마다 변환표를 만들면, 변환표의 데이터 사이즈가 커진다. 그래서, 일반적으로는 복수 페이지를 1개의 단위로 하여 대응을 행하고 있다.
상기한 바와 같이, NAND형 플래시 메모리에서는 페이지 단위의 데이터의 재기입을 행하고자 한 경우, 동일한 치환 단위(블록) 중에 있는 다른 페이지를, 그 이동처의 블록으로 복사할 필요가 있다.
다음으로, NAND형 플래시 메모리에 있어서, 페이지 데이터를 다른 페이지로 복사하는 종래의 2개의 방법을 도 1 및 도 2의 흐름도에 의해 자세히 설명한다. 우선, 제1 방법에서는 도 1에 도시한 바와 같이 페이지 데이터를 일단 칩 내의 페이지 버퍼에서 읽어낸다(단계 1). 다음으로, 복사처의 페이지의 어드레스를 입력한다(단계 2). 그리고, 프로그램 커맨드를 입력하고(단계 3) 스테이터스의 판독을 행한다(단계 4).
제1 방법에서는 페이지 버퍼에의 데이터 판독 시에, 데이터의 일부에 에러가 발생하고 있었던 경우, 에러의 데이터가 그대로 다른 페이지에 프로그램된다. 만일, 다음에 그 페이지에 대하여 마찬가지의 페이지 복사를 행하여 새로운 에러가 발생하면, 이전의 에러와 새롭게 발생한 에러를 프로그램하게 된다. 이와 같이 종래 페이지 복사 조작에서는 판독 시에 에러가 발생해도, 그것을 검지할 수 없고, 복사를 여러회 계속한 경우, 에러가 축적될 가능성이 있었다.
또한, 페이지 데이터를 다른 페이지에 복사하는 다른 방법(제2 방법)으로서는, 도 2에 도시한 바와 같이 통상의 판독, 기입 동작을 행하는 방법이 있다. 이 방법에서는, 우선 페이지 데이터를 칩의 외부로 읽어낸다(단계 1, 2). 다음으로, 복사처의 페이지의 어드레스를 입력하고(단계 3), 판독한 페이지 데이터, 다시 말하면 이전에 출력한 페이지 데이터를 입력한다(단계 4). 그 후, 프로그램 커맨드를 입력하고(단계 5), 스테이터스의 판독(단계 6)을 행한다.
제2 방법에서는, 페이지 데이터를 일단 칩의 밖으로 판독하기 때문에, 페이지 데이터의 일부에 에러가 있었던 경우, 컨트롤러로 검지, 수정을 행할 수 있다. 그러나, 복사를 할 때마다 페이지 데이터를 칩 외부로 판독하고, 또한 그 데이터를 재차 복사처의 어드레스로 입력하기 때문에, 복사 조작에 시간이 걸린다.
본 발명의 양상에 따르면, 반도체 기억 시스템에 있어서, 불휘발성 메모리와, 상기 불휘발성 메모리를 제어하도록 구성된 컨트롤러를 포함하며, 상기 컨트롤러는 프로그램의 실행 전에, 페이지 데이터의 관리 데이터를 상기 불휘발성 메모리의 용장 영역에 입력시키고, 또한 상기 불휘발성 메모리의 페이지 데이터를 다른 페이지로 이동시킬 때에, 상기 다른 페이지에서의 프로그램 기간 중에, 상기 페이지 데이터의 에러를 확인하기 위해서, 상기 페이지 데이터의 판독의 제어를 행한다.
본 발명의 양상에 따르면, 반도체 기억 시스템의 데이터 복사 방법에 있어서, 페이지 데이터의 관리 데이터를 불휘발성 메모리의 용장 영역에 입력하고, 프로그램을 실행하고, 상기 불휘발성 메모리의 페이지 데이터를 다른 페이지로 이동시킬 때에, 상기 다른 페이지에서의 프로그램 기간 중에, 상기 페이지 데이터의 에러를 확인하기 위해서, 상기 페이지 데이터의 판독의 제어를 행한다.
〈제1 실시예〉
도 3은 본 발명의 제1 실시예에 따른 반도체 기억 시스템 및 그 데이터 복사 방법에 대하여 설명하기 위한 것으로, 컨트롤러의 메모리에 대한 동작 제어의 순서를 설명하는 흐름도이다. 우선, 페이지 데이터를 칩 내의 페이지 버퍼에서 읽어낸다(단계 1). 복사처의 페이지의 어드레스를 입력한 후(단계 2), 프로그램 커맨드를 입력하고(단계 3), 페이지 데이터의 복사처의 메모리 셀에의 프로그램을 개시한다. 프로그램을 개시한 후, 프로그램하고 있는 페이지 데이터와 스테이터스의 외부로의 판독 동작을 행한다(단계 4, 5).
이와 같이 프로그램하는 페이지 데이터를 외부로 판독함으로써, 프로그램을 행하고 있는 데이터에 에러가 존재하는지를 불휘발성 반도체 기억 장치(칩)의 외부의 컨트롤러로 확인할 수 있다.
해당 불휘발성 반도체 기억 장치의 칩은, 종래부터 존재하는 복사 시퀀스에 대하여, 프로그램 기간 중에 외부로 페이지 데이터를 판독하는 기능을 갖고 있다. 본 예의 경우, 프로그램 기간 중에 페이지 데이터를 칩의 외부로 판독할 수 있는 기능이 있어, 프로그램 기간 중에 에러의 유무의 확인을 할 수 있다. 이 때문에 에러의 확인을 위한 시간을 외관상 숨겨 에러 확인을 할 수 있다. 이러한 제어를 행하기 위해서는, 메모리에 프로그램 기간 중에 데이터를 외부로 판독하는 커맨드가 포함되고 있는 것, 및 이것을 제어하는 컨트롤러가 필요하다.
도 4는 상기 도 3에 도시한 바와 같은 동작을 실현하는 반도체 기억 시스템의 개략 구성을 도시하는 블록도이다. 메모리부(불휘발성 반도체 기억 장치의 칩)(11)에는 메모리 셀 어레이(12), 감지 증폭기(13) 및 페이지 버퍼(14) 등이 포함되어 있다. 상기 메모리 셀 어레이(12)에는 불휘발성 메모리 셀이 매트릭스 형상으로 배치되어 있다. 상기 감지 증폭기(13)는 상기 메모리 셀 어레이(12) 내의 메모리 셀에 기입하는 데이터를 증폭하고, 이 메모리 셀 어레이(12) 내의 메모리 셀로부터 판독한 데이터를 증폭한다. 상기 페이지 버퍼(14)는 페이지 데이터를 저장한다. 상기 메모리부(11)는 컨트롤러(15)로 제어된다. 메모리 셀 어레이(12)로부터 판독된 페이지 데이터는 감지 증폭기(13)에 의해 래치되어, 페이지 버퍼(14)에 전송된다. 그리고, 감지 증폭기(13)로 증폭한 데이터를 복사처의 페이지에 프로그램하고 있는 동안에, 감지 증폭기(13)와 페이지 버퍼(14) 사이의 접속을 분리하여, 페이지 버퍼(14)의 페이지 데이터를 외부로 읽어낸다. 이에 의해, 프로그램 동작에 영향을 주지 않고 페이지 데이터를 판독할 수 있게 된다. 여기서, 페이지 데이터를 칩의 외부로 판독할 때에 발생하는 출력 버퍼의 노이즈가 프로그램 동작에 영향을 주지 않도록 하기 위해서, 출력 버퍼용의 접지 전위와 칩 내부의 접지 전위를 분리하는 것이 바람직하다.
도 5는 상술한 제1 실시예에 따른 반도체 기억 시스템 및 그 데이터 복사 방법의 변형예에 대하여 설명하기 위한 것으로, 컨트롤러(15)의 메모리에 대한 동작 제어의 순서를 설명하는 흐름도이다. 기본적인 동작은 제1 실시예와 동일하다. 우선, 페이지 데이터를 칩 내의 페이지 버퍼에서 읽어낸다(단계 1). 복사처의 페이지의 어드레스를 입력한 후(단계 2), 프로그램의 실행 전에, 그 페이지의 용장 영역에 데이터의 관리 데이터(데이터의 상태를 나타내는 플래그 데이터를 포함해도 됨)를 기입한다(단계 3). 그 후에는 제1 실시예와 마찬가지로, 프로그램 커맨드를 입력하고(단계 4), 페이지 데이터의 복사처의 메모리 셀에의 프로그램을 개시한다. 프로그램을 개시한 후, 프로그램하고 있는 페이지 데이터와 스테이터스의 외부로의 판독 동작을 행한다(단계 5, 6).
본 예에서는 그 페이지가 복사 동작을 받은 것을 기록하기 위한 데이터를 기억시킬 수 있다. 여기서는 관리 데이터가 플래그 데이터이지만, 예를 들면 미리 판독한 데이터에 오류가 있는 것을 알 수 있어, 정정의 필요가 있는 경우에 한하여, 이 플래그 데이터를 기입할 때에 페이지 데이터가 에러한 부분의 수정의 기입을 행하여 프로그램을 실행할 수도 있다. 복사 전체의 시간은 프로그램 실행 전에 플래그 데이터를 기입함으로써 길어진다. 그러나, 기입하는 관리 데이터는 통상 수 비트이므로, 전체적으로 시간의 증대는 크지 않다. 또한, 이 플래그 데이터를 기입할 때에, 일부 페이지 데이터를 기입할 수도 있다. 또, 이들 관리 데이터의 기입은 반드시 필요하지 않고, 컨트롤러(15)의 제어 방법에 의존하지만, 칩의 동작으로서 이러한 기능을 준비해 두는 것은 유효하다.
또, 제1 실시예의 변형예를 이용한 경우에는, 복사하는 페이지 데이터 내에 에러가 존재하고 있어, 수정이 가능한 경우에는 지금까지 계속해 온 일련의 복사 동작을 중지하고, 재차 다른 소거가 완료된 블록에 데이터를 재기입할 필요가 있다.
도 6에, 8페이지 단위로 어드레스 변환표를 이용하여 관리하고, 어드레스 A의 페이지 4의 데이터를 재기입할 때에, 페이지 7의 데이터에 에러가 검출된 경우의 처리 방법의 예를 도시한다. 페이지 0으로부터 페이지 3까지는 도 3에 도시한 바와 같은 방법으로, 어드레스 A의 페이지 0으로부터 3의 각각의 페이지 데이터가 소거 완료된 어드레스 B에 복사된다. 페이지 4는 재기입의 데이터이므로, 외부로부터 입력된 페이지 데이터가 어드레스 B에 기입된다. 어드레스 A의 페이지 5로부터 7은 어드레스 B의 페이지 5로부터 7에, 도 3에 도시한 바와 같은 방법으로 각각 복사된다. 페이지 7의 복사의 프로그램 기간 중에 데이터의 에러가 검출되었다. 이 때, 컨트롤러(15)는 페이지 7의 프로그램의 종료 후에, 재차 소거 완료된 다른 장소(어드레스 C)에 같은 동작을 행한다. 페이지 0으로부터 페이지 3까지는 도 3에 도시한 바와 같은 방법으로 어드레스 A의 페이지 0으로부터 3의 각각의 페이지 데이터가 소거 완료된 어드레스 C에 복사된다. 페이지 4는 재기입의 데이터이므로, 외부로부터 입력된 페이지 데이터가 어드레스 C에 기입된다. 어드레스 A의 페이지 5와 6은 어드레스 C의 페이지 5와 6에, 도 3에 도시한 바와 같은 방법으로 각각 복사된다. 페이지 7은 이미 에러가 존재하는 것을 알고 있기 때문에, 통상의 페이지 판독을 행하고, 컨트롤러(15)의 내부로 판독하여, 데이터의 수정을 행한다. 그 후, 수정한 페이지 데이터를 칩에 기입하고, 어드레스 C의 페이지 7에 프로그램을 행한다. 이와 같이 함으로써, 에러가 검출된 경우의 처리가 가능하게 된다.
상기 도 6에 도시한 예는 최초의 에러 발견 시에 컨트롤러(15)의 내부에서 수정한 데이터를 보존할 수 없는 경우의 예이다. 컨트롤러(15)의 내부에서 에러를 검출함과 동시에 수정하고, 에러가 발생한 어드레스와 비트와 수복 데이터를 보존할 수 있는 메모리를 갖고 있는 경우의 제어의 예를 도 7에 도시한다.
우선, 페이지 0으로부터 페이지 3까지는 도 3에 도시한 바와 같은 방법으로, 어드레스 A의 페이지 0으로부터 3의 각각의 페이지 데이터가 소거 완료된 어드레스 B에 복사된다. 페이지 4는 재기입의 데이터이므로, 외부로부터 입력된 페이지 데이터가 어드레스 B에 기입된다. 어드레스 A의 페이지 5로부터 7은 어드레스 B의 페이지 5로부터 7에 도 3에 도시한 바와 같은 방법으로 각각 복사된다. 페이지 7의 복사의 프로그램 기간 중에 데이터의 에러가 검출되었다. 이 때, 컨트롤러(15)는 이 에러의 수정 작업을 행하고, 에러가 발생한 어드레스와 비트와 수정 데이터를 기억해 둔다. 또한, 컨트롤러(15)는 페이지 7의 프로그램의 종료 후에, 재차 소거 완료된 다른 장소(어드레스 C)에 같은 동작을 행한다. 페이지 0으로부터 페이지 3까지는 도 3에 도시한 바와 같은 방법으로 어드레스 A의 페이지 0으로부터 3의 각각의 페이지 데이터가 소거 완료한 어드레스 C에 복사된다. 페이지 4는 재기입 데이터이므로, 외부로부터 입력된 페이지 데이터가 어드레스 C에 기입된다. 어드레스 A의 페이지 5와 6은 어드레스 C의 페이지 5와 6에, 도 3에 도시한 바와 같은 방법으로 각각 복사된다. 페이지 7은 이미 에러가 존재하는 것을 알 수 있다. 따라서, 도 5에 도시한 바와 같은 복사 동작을 행한다. 이미 에러를 일으키고 있는 비트가 기억되어 있기 때문에, 프로그램 동작 전에, 에러를 일으키고 있는 비트에 대하여 수정의 기입을 행한다. 그 후, 어드레스 C의 페이지 7에 프로그램을 행한다. 이와 같이 함으로써, 에러가 검출된 경우의 처리가 가능하게 된다. 이 경우에는 페이지 데이터의 전부를 기입할 필요가 없기 때문에, 수정 시간을 단축할 수 있다. 본 예의 경우, 에러가 검출되면, 동일한 관리 어드레스를 갖는 페이지 데이터도 전부 다른 소거가 완료된 블록으로 재수정할 필요가 있다(본 예에서는 페이지 0으로부터 페이지 6의 데이터를 의미함). 따라서, 에러가 검출된 경우의 처리 시간은 크다. 그러나, 에러가 발생할 확률은 통상 매우 적기 때문에, 전체적인 성능 열화에는 그다지 영향은 주지 않는다.
따라서, 제1 실시예에서는 에러를 저감시킴과 함께, 복사 시간을 단축할 수 있다. 또한, 페이지 데이터를 동일 칩 내에서 이동시킬 때, 종래의 것보다 고속이며 에러를 확인하면서 행할 수 있다.
〈제2 실시예〉
도 8은 본 발명의 제2 실시예에 따른 반도체 기억 시스템 및 그 데이터 복사 방법에 대하여 설명하기 위한 것으로, 컨트롤러의 메모리에 대한 동작 제어의 순서를 설명하는 흐름도이다. 우선, 페이지 데이터를 칩 내의 페이지 버퍼에서 판독하고(단계 1), 이 페이지 데이터를 외부로 읽어낸다(단계 2). 다음으로, 복사처의 페이지의 어드레스를 입력하고(단계 3), 프로그램을 실행한다(프로그램 커맨드를 입력하고(단계 4), 스테이터스를 판독한다(단계 5)). 이와 같이 함으로써, 페이지 데이터의 복사 시에 존재할 지도 모르는 에러를 확인할 수 있다. 본 실시예에서는 종래의 복사 동작보다, 페이지 데이터를 외부로 판독하는 시간이 필요하게 되지만, 확실하게 에러 존재의 유무의 확인을 할 수 있다. 또한, 페이지 데이터를 칩 외부로 판독하고, 재차 복사처 어드레스를 입력하여, 페이지 데이터의 입력을 행하는 종래의 방법(제2 방법)보다, 페이지 데이터를 입력할 필요가 없기 때문에, 시간이 짧아진다. 컨트롤러가 이것을 이용함으로써, 페이지 데이터를 칩 내의 다른 위치에 복사할 있다. 또, 제1 실시예에서 설명한 출력 노이즈가 프로그램 동작에 영향을 주지 않기 때문에, 안정된 프로그램 동작이 가능하게 된다.
도 9는 제2 실시예에 따른 반도체 기억 시스템의 개략 구성을 도시하는 블록도이다. 기본적으로는 도 4에 도시한 제1 실시예와 마찬가지의 구성이고, 메모리부(불휘발성 반도체 기억 장치의 칩)(21)에는 메모리 셀 어레이(22), 감지 증폭기(23) 및 페이지 버퍼(24)가 포함되어 있다. 이 메모리부(21)는 컨트롤러(25)로 제어된다. 메모리 셀 어레이(22)로부터 판독된 페이지 데이터는 감지 증폭기(23)에 의해 래치되고, 페이지 버퍼(24)에 전송된다. 그리고, 페이지 버퍼(24)로부터 외부로 읽어낸다. 그 후, 프로그램을 실행한다.
도 10은 상기 제2 실시예에 따른 반도체 기억 시스템 및 그 데이터 복사 방법의 변형예에 대하여 설명하기 위한 흐름도이다. 즉, 데이터를 페이지 버퍼(23)로부터 외부로 읽어낸 후(단계 1), 복사처 어드레스를 입력하고, 또한 페이지 데이터의 관리 데이터(플래그 데이터)의 입력을 행한다. 다른 기본적인 동작은 제1 실시예와 동일하다. 본 예에서는 플래그 데이터이지만, 예를 들면 판독한 데이터에 오류가 있어, 정정의 필요가 있는 경우에 한하여, 이 플래그 데이터를 기입할 때에 페이지 데이터의 에러 부분의 수정의 기입을 행하여 프로그램을 실행할 수도 있다.
도 11은 8페이지 단위로 어드레스 변환표를 이용하여 관리하고, 어드레스 A의 페이지 4의 데이터를 재기입할 때에 페이지 7의 데이터에 에러가 검출된 경우에, 도 10의 순서를 이용한 처리 방법의 예를 도시하고 있다. 페이지 0으로부터 페이지 3까지는 도 10에 도시한 바와 같은 방법으로, 어드레스 A의 페이지 0으로부터 3의 각각의 페이지 데이터가 소거 완료된 어드레스 B에 복사된다. 페이지 4는 재기입의 데이터이므로, 외부로부터 입력된 페이지 데이터가 어드레스 B에 기입된다. 어드레스 A의 페이지 5로부터 7은 어드레스 B의 페이지 5로부터 7에, 도 10에 도시한 바와 같은 방법으로 각각 복사된다. 페이지 7의 판독 후에 데이터의 에러가 검출되었다. 이 때, 컨트롤러(25)는 이 에러의 수정 작업을 행하고, 에러의 발생한 비트에 대하여 수정한 데이터를 기입한다. 그 후, 어드레스 B의 페이지 7에 프로그램을 행한다. 이와 같이 제어를 행한 경우, 에러가 검출되었을 때에, 수정하여 기입 프로그램을 행함으로써, 모든 수정 작업이 끝난다. 도 6과 도 7에 도시한 예와 같이 재차 다른 소거가 완료된 블록에 재기입할 필요가 없다. 따라서, 에러 후의 처리의 시간을 단축할 수 있는 효과가 있다.
따라서, 제2 실시예에 따르면, 에러를 저감시킴과 함께, 복사 시간을 단축할 수 있다. 또한, 페이지 데이터를 동일 칩 내에서 이동시킬 때, 종래의 것보다 고속이며 에러를 확인하면서 행할 수 있다.
〈제3 실시예〉
도 12는 본 발명의 제3 실시예에 따른 반도체 기억 시스템의 주요부를 추출하여 개략 구성을 도시한 블록도이다. 메모리부(불휘발성 반도체 기억 장치의 칩)(31)에는 메모리 셀 어레이(32), 감지 증폭기(33), 페이지 버퍼(34), 로우 디코더 및 제어 회로(36), 및 커맨드 디코더(37, 38) 등이 포함되어 있다. 메모리부(31)에는 불휘발성 메모리 셀이 매트릭스 형상으로 배치되어 있다. 상기 커맨드 디코더(37)는 페이지 복사처의 어드레스 및 데이터 입력용 커맨드를 디코드한다. 상기 커맨드 디코더(38)는 통상의 프로그램을 위한 어드레스 및 데이터 입력용 커맨드를 디코드한다. 이들의 커맨드 디코더(37, 38)는 통상의 프로그램을 위한 어드레스 및 데이터 입력을 위한 커맨드와 페이지 복사처의 어드레스와 데이터 입력의 커맨드를 다른 코드로 접수한다. 통상의 프로그램을 위한 어드레스 및 데이터 입력의 커맨드는 페이지 버퍼(34)를 일단 리세트하고, 프로그램하고자 하는 메모리 셀의 데이터만을 세트한다. 이것은 1개의 페이지를 분할하여 기입하는 경우에, 기입하고 싶지 않은 부분의 메모리 셀에 불필요한 데이터를 기입하지 않도록 하기 위함이다. 한편, 페이지 복사 시의 어드레스 및 데이터 입력의 커맨드는 페이지 버퍼(34) 내의 수정이 필요한 부분에 대하여 데이터를 재기입하는 것이 바람직하다. 따라서, 데이터 입력 시에 페이지 버퍼(34)를 리세트하는 통상의 프로그램을 위한 어드레스 및 데이터 입력용 커맨드는 페이지 복사 시에는 적용할 수 없다. 그래서, 통상의 프로그램을 위한 어드레스 및 데이터 입력 커맨드와, 페이지 복사를 위한 어드레스 및 데이터 입력 커맨드는 다른 커맨드로서 갖고 있는 것이 바람직하다. 또, 본 실시예의 동작에 직접 관계하지 않는 다른 커맨드 디코더는 도 12 중에서는 생략되어 있다.
상기 메모리부(31)는 컨트롤러(35)로 제어된다. 이 컨트롤러(35)에는 커맨드 발행 회로(40), ECC 회로(41) 및 버퍼 메모리(42) 등이 포함되어 있다. 상기 버퍼 메모리(42)는 1회의 프로그램에 필요한 데이터 사이즈이다. 상기 커맨드 발행 회로(40)로부터 발행된 커맨드는, 상기 커맨드 디코더(37, 38)에 공급된다. 이들 커맨드 디코더(37, 38)로부터 출력되는 제어 신호에 의해 로우 디코더 및 제어 회로(36), 감지 증폭기(33), 및 페이지 버퍼(34)의 동작이 제어된다.
또한, 페이지 버퍼(34)로부터 판독된 페이지 데이터는, ECC 회로(41)에 공급되어, 에러가 존재하면 오류 정정이 행해진 후, 버퍼 메모리(42)에 저장된다. 한편, 버퍼 메모리(42)에 저장된 페이지 데이터는 ECC 회로(41)를 개재하여, ECC용의 용장 데이터와 함께 페이지 버퍼(34)에 공급되도록 되어 있다.
다음으로, 상기 도 12에 도시한 반도체 기억 시스템에 있어서의 구체적인 페이지 복사 동작을 설명한다. 이 페이지 복사 동작은 상술한 제1 실시예에 대응하는 것이다. 우선, 통상의 판독 동작으로, 메모리 셀 어레이(32)의 어떤 페이지 데이터가 감지 증폭기(33)를 개재하여 페이지 버퍼(34)에 읽혀진다. 여기서 컨트롤러(35)는 페이지 복사처의 어드레스 및 데이터 입력 커맨드를 발행하고, 우선 복사처의 어드레스를 메모리부(31)에 입력한다. 다음으로, 프로그램 커맨드를 실행하고, 페이지 복사처로 데이터를 프로그램한다. 또한, 컨트롤러(35)는 프로그램 기간 중에, 페이지 버퍼(34)의 데이터를 출력하는 커맨드를 발행하고, 페이지 버퍼(34)에 저장되어 있는 복사원의 페이지 데이터를 컨트롤러(35)에 읽어낸다. 컨트롤러(35) 측에서는 수취한 데이터를 ECC 회로(41)를 개재하여 버퍼 메모리(42)에 저장한다. 만일, 에러가 존재하지 않고, 다음의 페이지 복사가 필요하면, 다음의 페이지 복사 동작으로 이행한다. 수정할 필요가 있다는 것이 판명된 경우에는, 도 6에 도시한 바와 같이 재차 다른 블록으로의 복사를 다시 한다.
다음으로, 다른 구체적인 페이지 복사의 동작을 설명한다. 이 페이지 복사 동작은 상술한 제2 실시예에 대응하는 것이다. 우선, 통상의 판독 동작으로 메모리 셀 어레이(32)의 어떤 페이지 데이터가 감지 증폭기(33)를 개재하여 페이지 버퍼(34)에 읽혀진다. 시리얼 출력으로 페이지 버퍼(34)로부터 페이지 데이터가 컨트롤러(35)에 읽혀진다. 컨트롤러(35) 측에서는 수취한 데이터를 ECC 회로(41)를 개재하여 버퍼 메모리(42)에 저장한다. 이 때, 만일 페이지 데이터 중에 에러가 존재하고, 정정 가능한 에러이면, 버퍼 메모리(42) 내의 파손된 데이터를 수정한다. 다음으로, 컨트롤러(35)는 페이지 복사처의 어드레스 및 데이터 입력 커맨드를 발행하고, 우선 복사처의 어드레스를 메모리부(31)에 입력한다. 이 때, 페이지 버퍼(34)는 리세트되지 않고, 이미 판독되어 있는 복사원의 데이터를 보존하고 있다. 조금 전에 판독한 데이터에 수정이 없는 경우(ECC 에러가 없는 경우)에는, 그대로 프로그램 커맨드를 입력하고, 페이지 복사처로 데이터를 프로그램한다. 그리고, 필요하면 다음 페이지의 페이지 복사를 마찬가지의 동작으로 실행한다. 만일, 수정 가능한 에러가 있는 경우에는, 버퍼 메모리(42) 내의 수정된 데이터로부터, 수정 부분만을 페이지 버퍼(34)에 기입, 또는 수정된 페이지 데이터 모두를 덮어쓰기한다. 그 후, 프로그램 커맨드를 입력하고, 페이지 복사처로 데이터를 프로그램한다. 그리고, 필요하면, 다음의 페이지의 프로그램 동작을 실행한다.
도 13은 상기 도 12에 도시한 회로에서, 외부로부터 메모리 셀로, 또는 메모리 셀로부터 외부로의 데이터의 입출력에 주목하여 일부 회로를 추출하여 도시한 블록도이다. 여기서는, 설명을 간략화하기 위해서, 1개의 컬럼에 주목하여 나타내고 있지만, 복수의 비트선이어도 본질은 변하지 않는다. 또한, 여기서는 불휘발성 메모리로서 NAND형 플래시 메모리를 예로 들어 나타내고 있다. 비트선 BL에는 NAND 셀 구조의 메모리 셀 MC가 접속됨과 함께, 이 메모리 셀 MC로부터 데이터를 판독하거나, 또는 데이터를 기입하기 위한 감지 증폭기(33)가 접속되어 있다. 이 메모리 셀 MC는 비트선 BL과 소스선 SL 사이에, 제1 선택 트랜지스터 ST1, 셀 트랜지스터 CT0, CT1, CT2, … 및 제2 선택 트랜지스터 ST2의 전류 통로가 직렬 접속되어 구성되어 있다. 상기 감지 증폭기(33)는 페이지 버퍼(34)로부터 데이터를 논리적으로 동일한 극성으로 수취하도록 접속되고, 페이지 버퍼(34)로는 논리적으로 반전(반대의 극성)하여 데이터를 전송하도록 접속되어 있다. 즉, 페이지 버퍼(34)로부터 입력되는 데이터의 극성에 대하여, 페이지 버퍼(34)로 출력되는 데이터가 논리적으로 반전하도록, 인버터(39)를 개재하여 데이터가 전송된다. 상기 페이지 버퍼(34)는 칩의 외부와의 사이에서 데이터의 입출력을 행하기 위한 것이다. 외부로부터 페이지 버퍼(34)에 입력되는 데이터는 논리적으로 동일한 극성이고, 또한 외부로 출력하는 데이터도 논리적으로 동일한 극성이다. 도 13에서는 데이터 전송의 도중에 아무것도 재개되어 있지 않지만, 논리적으로 상기 설명과 동일한 형태이면, 데이터 전송계 도중에 무엇이 개재되어 있더라도 본 실시예의 본질은 변함이 없다.
도 14는 셀 트랜지스터 CT0, CT1, CT2, …의 임계값 전압의 논리적 의미에 대하여 설명하기 위한 다이어그램이다. 여기서는 셀 트랜지스터 CT0, CT1, CT2, …의 임계값 전압이 마이너스의 시간(즉, 소거된 상태)을 논리 극성 "1"로 정의한다. 또한, 셀 트랜지스터 CT0, CT1, CT2, …의 임계값 전압이 플러스의 시간(즉, 프로그램된 상태)을 논리 극성 "0"으로 정의한다.
도 13에서, 워드선 WL1에 접속된 셀 트랜지스터 CT1에 대하여, "0"의 기입과 판독을 행하는 경우를 예로 들어 설명한다. 외부로부터 "0"의 데이터를 입력하면, 페이지 버퍼(34)의 출력은 동일한 극성이므로 "0"이 되고, 비트선 BL은 "0", 즉 "L" 레벨이 된다. 셀 트랜지스터 CT1에의 프로그램 시에는 비트선 BL을 "L" 레벨, 예를 들면 0V로 하고, 선택된 워드선 WL1을 "H" 레벨, 예를 들면 20V로 하고, 기판을 0V로 설정한다. 또한, 비선택의 워드선 WL0, WL2, …을 10V로 설정하고, 선택 게이트선 SG1을 예를 들면 3.3V, 선택 게이트선 SG2를 0V로 함으로써, 선택된 워드선 WL1에 접속된 셀 트랜지스터 CT1에 대하여 프로그램이 행해진다. 따라서, 외부로부터 "0"의 데이터를 입력하면, 선택된 셀 트랜지스터 CT1에 프로그램되고, 이 셀 트랜지스터 CT1의 임계값 전압이 플러스가 된다.
한편, 데이터를 판독하는 경우에는 비트선 BL을 3.3V로 프리차지하고, 선택된 워드선 WL1을 0V, 비선택 워드선을 4.5V, 소스선 SL을 0V로 세트한다. 선택된 셀 트랜지스터 CT1은 임계값 전압이 플러스이므로, 이 셀 트랜지스터 CT1은 오프 상태가 된다. 따라서, 비트선 BL의 전위는 변화하지 않고, 감지 증폭기(33)는 이 데이터를 고전위로 인식한다. 감지 증폭기(33)로부터 페이지 버퍼(34)로는 데이터는 반전되어 전송된다. 따라서, 페이지 버퍼(34)에서는 저전위, 즉 논리 "0"이 되고, 외부로는 "0"이 판독된다. 외부로부터 "1"의 기입이 행해지고 있었던 경우에는 비트선 BL은 "1"이 되고, 셀 트랜지스터 CT1으로의 프로그램이 행해지지 않기 때문에, 셀 트랜지스터 CT1의 임계값 전압은 소거 상태인 마이너스의 상태로 된다. 이것을 판독하는 경우에는, 논리 "0"의 데이터를 판독할 때와 마찬가지이지만, 데이터의 극성이 반대로 된다.
이와 같이 NAND형 플래시 메모리에서는 동일한 논리 극성의 데이터라도, 기입 시와 판독 시에 비트선 BL의 전위(감지 증폭기(33)의 출력 전위)가 다르다. 따라서, 외부에 대하여 극성을 동일하게 하기 위해서, 본 실시예에서는 앞에 설명한 바와 같이 감지 증폭기(33)와 페이지 버퍼(34) 사이에 인버터(39)를 설치하고, 판독 시에 데이터를 반전하고 있다. 판독 시의 데이터를 반전시킴에 의해, 다음에 설명하는 바와 같이 페이지 복사를 행하는 경우에도 불필요한 제어를 행할 필요가 없게 되어, 조작의 간단화를 도모할 수 있다.
워드선 WL1에 접속된 셀 트랜지스터 CT1의 데이터를 판독하고, 워드선 WL2에 접속된 셀 트랜지스터 CT2에 복사하는 경우를 예로 들어 설명한다. 우선, 비트선 BL을 3.3V로 프리차지하고, 선택된 워드선 WL1은 0V, 비선택 워드선 WL0, WL2, …은 4.5V로 세트한다. 예를 들면, 선택된 셀 트랜지스터 CT1의 임계값 전압이 플러스인 경우, 그 트랜지스터 CT1은 오프 상태가 된다. 따라서, 비트선 BL의 전위는 변화하지 않고, 감지 증폭기(33)는 이 데이터를 고전위로 인식한다. 이것이 반전되어 페이지 버퍼(34)에 전송된다.
다음으로, 워드선 WL2에 접속되어 있는 셀 트랜지스터 CT2에, 상기 셀 트랜지스터 CT1로부터 판독된 데이터를 복사하는 동작을 설명한다. 우선, 페이지 버퍼(34)의 데이터를 감지 증폭기(33)에 전송한다. 이 때, 감지 증폭기(33)의 극성은 판독 시와 반대의 저전위가 된다. 여기서, 워드선 WL22에 접속되어 있는 셀 트랜지스터 CT2에 프로그램하는 경우에는 선택된 워드선 WL2를 고전위, 예를 들면 20V로 하고, 기판을 0V, 비선택된 워드선 WL0, WL1, …을 10V로 설정한다. 또한, 선택 게이트선 SG1을, 예를 들면 3.3V, 선택 게이트선 SG2를 0V로 설정한다. 비트선 BL이 저전위(0V)이므로, 워드선 WL2에 접속된 셀 트랜지스터 CT2의 전위는 플러스로 프로그램된다. 이에 의해, 워드선 WL1에 접속된 셀 트랜지스터 CT1의 데이터를 워드선 WL2에 접속된 셀 트랜지스터에 복사할 수 있다. 이와 같이 페이지 복사의 경우와 외부로부터의 입력 데이터의 프로그램에서, 동일한 데이터 경로를 이용할 수 있다. 즉, 페이지 복사의 경우와 프로그램의 경우에서 특별히 데이터의 경로를 전환할 필요가 없게 되므로, 회로 면적을 삭감시킬 수 있어, 소비 전력도 감소시킬 수 있다.
따라서, 제3 실시예에서는 에러를 저감시킴과 함께, 복사 시간을 단축할 수 있다. 또한, 페이지 데이터를 동일 칩 내에서 이동시킬 때, 종래의 것보다 고속이며 또한, 에러를 확인하면서 행할 수 있다. 또, 제3 실시예에서는 복사를 1개의 NAND 접속 관계에 있는 셀에 대하여 행하고 있지만, 이것은 다른 NAND에의 복사도 마찬가지고, 동일한 NAND 접속 내의 셀에 한정되는 것이 아니다.
또, 상기 제1 내지 제3 실시예에서는 데이터로 하고 있지만, 이것은 에러 검출과 수정을 위한 용장 데이터나 그외에 데이터의 관리 등에 필요한 데이터도 포함되어 있다.
또한, 상술한 각 실시예에 있어서는 페이지 길이의 규정은 없지만, 본 실시예에서는 페이지 데이터의 판독이나 기입 시간을 실효적으로 삭감하기 때문에, 페이지가 긴 경우가 보다 효과가 크다. 또한, 에러가 발생한 어드레스를 페이지 7로 나타내었지만, 이것은 어느 페이지라도 적응 가능한 것은 물론이다.
또한, 본 발명은 NAND형 플래시 메모리와 같은 블록 단위로 소거를 행하는 메모리에 대하여 특히 효과가 크지만, 본 발명은 특별히 이것에 한정되는 것이 아니며, 복사 기능을 가진 불휘발 반도체 기억 장치와 그 컨트롤러에도 유효하다.
상술한 바와 같이, 본 발명의 일 양태에 따르면, 프로그램 기간 중에 페이지 데이터를 판독할 수 있기 때문에, 판독 시간을 삭감시킬 수 있다. 또한, 페이지 데이터의 칩 내의 이동을 행할 때에, 에러 확인을 위한 여분의 시간을 외관상 없앨 수 있다. 또한, 페이지 데이터의 칩 내의 이동을 행할 때에, 관리 데이터를 추가하여 입력할 수 있다.
페이지 데이터의 칩 내의 이동을 행할 때에, 적은 시간에 확실하게 페이지 데이터의 에러 확인을 행할 수 있다. 또한, 페이지 데이터의 칩 내의 이동을 행할 때에, 관리 데이터를 추가하여 입력할 수 있다. 또한, 페이지 데이터의 칩 내의 이동을 행할 때에, 적은 시간에 확실하게 페이지 데이터의 에러 확인을 행하고, 또한 에러가 검출되어 수정이 가능하게 되었을 때에, 에러 부분의 데이터를 기입하고, 이동처에 프로그램을 행할 수 있다. 따라서, 에러 수정에 의한 시간의 손실을 적게 할 수 있다.
따라서, 에러를 저감시킴과 함께, 복사 시간을 단축할 수 있는 반도체 기억 시스템 및 그 데이터 복사 방법을 제공할 수 있다.
기술에서의 숙련자라면 본 발명의 추가 장점 및 변경을 쉽게 파악할 수 있을 것이다. 따라서, 더 넓은 양상에서의 본 발명은 여기에서 도시되고 설명된 상세한 설명 및 대표 실시예에 한하지는 않는다. 따라서, 첨부한 특허 청구의 범위에 의해 정의된 일군의 발명 개념의 정신 또는 영역과 그들의 등가물 내에서 다양한 변경이 이루어질 수 있다.
도 1은 종래의 불휘발성 반도체 기억 장치에 있어서, 페이지 데이터를 다른 페이지로 복사하는 방법(제1 방법)을 설명하는 흐름도.
도 2는 종래의 불휘발성 반도체 기억 장치에 있어서, 페이지 데이터를 다른 페이지로 복사하는 다른 방법(제2 방법)을 설명하는 흐름도.
도 3은 본 발명의 제1 실시예에 따른 반도체 기억 시스템 및 그 데이터 복사 방법에 대하여 설명하기 위한 것으로, 컨트롤러의 메모리에 대한 동작 제어의 순서를 설명하는 흐름도.
도 4는 상기 도 3에 도시한 동작을 실현하는 반도체 기억 시스템의 개략 구성을 도시하는 블록도.
도 5는 본 발명의 제1 실시예에 따른 반도체 기억 시스템 및 그 데이터 복사 방법의 변형예에 대하여 설명하기 위한 것으로, 컨트롤러의 메모리에 대한 동작 제어의 순서를 설명하는 흐름도.
도 6은 본 발명의 제1 실시예에 따른 반도체 기억 시스템을 이용하여 에러가 검출된 경우의 처리 방법의 예를 도시하는 모식도.
도 7은 본 발명의 제1 실시예에 따른 반도체 기억 시스템의 변경된 동작을 이용하여 에러가 검출된 경우의 처리 방법의 예를 도시하는 모식도.
도 8은 본 발명의 제2 실시예에 따른 반도체 기억 시스템 및 그 데이터 복사 방법에 대하여 설명하기 위한 것으로, 컨트롤러의 메모리에 대한 동작 제어의 순서를 설명하는 흐름도.
도 9는 본 발명의 제2 실시예에 따른 반도체 기억 시스템의 개략 구성을 도시하는 블록도.
도 10은 본 발명의 제2 실시예에 따른 반도체 기억 시스템 및 그 데이터 복사 방법의 변형예에 대하여 설명하기 위한 흐름도.
도 11은 본 발명의 제2 실시예에 따른 반도체 기억 시스템 및 그 데이터 복사 방법의 변경된 동작을 이용하여 에러가 검출된 경우의 처리 방법의 예를 도시하는 모식도.
도 12는 본 발명의 제3 실시예에 따른 반도체 기억 시스템의 주요부를 추출하여 개략 구성을 도시한 블록도.
도 13은 도 12에 도시한 시스템에 있어서, 외부로부터 메모리 셀로, 또는 메모리 셀로부터 외부로의 데이터의 입출력에 대하여, 1개의 컬럼에 주목하여 도시한 블록도.
도 14는 셀 트랜지스터의 임계값 전압의 논리적 의미에 대하여 설명하기 위한 다이어그램.
〈도면의 주요 부분에 대한 부호의 설명〉
15 : 컨트롤러
21 : 메모리부
22 : 메모리 셀 어레이
23 : 감지 증폭기
24 : 페이지 버퍼
37 : 커맨드 디코더

Claims (20)

  1. 반도체 기억 시스템에 있어서,
    불휘발성 메모리, 및
    상기 불휘발성 메모리를 제어하도록 구성된 컨트롤러
    를 포함하며,
    상기 컨트롤러는 프로그램의 실행 전에, 페이지 데이터의 관리 데이터를 상기 불휘발성 메모리의 용장 영역에 입력시키고, 또한 상기 불휘발성 메모리의 페이지 데이터를 다른 페이지로 이동시킬 때에, 상기 다른 페이지에서의 프로그램 기간 중에, 상기 페이지 데이터의 에러를 확인하기 위해서, 상기 페이지 데이터의 판독의 제어를 행하는 반도체 기억 시스템.
  2. 제1항에 있어서,
    상기 불휘발성 메모리의 용장 영역은 상기 프로그램이 실행되는 페이지의 용장 영역인 반도체 기억 시스템.
  3. 제1항에 있어서,
    상기 관리 데이터는 플래그 데이터인 반도체 기억 시스템.
  4. 제1항에 있어서,
    상기 불휘발성 메모리는 NAND형 플래시 메모리인 반도체 기억 시스템.
  5. 반도체 기억 시스템에 있어서,
    페이지 데이터를 저장하는 페이지 버퍼를 갖는 불휘발성 메모리, 및
    상기 불휘발성 메모리를 제어하도록 구성된 컨트롤러
    를 포함하며,
    상기 컨트롤러는 프로그램의 실행 전에, 페이지 데이터의 관리 데이터를 상기 불휘발성 메모리의 용장 영역에 입력시키는 제어를 행하고, 페이지 데이터를 다른 페이지로 이동시킬 때에, 상기 다른 페이지로의 프로그램 개시 전에, 상기 페이지 데이터를 상기 페이지 버퍼에서 판독하고, 상기 페이지 데이터를 상기 칩의 외부로 판독하여 에러의 확인을 행하고, 또한 상기 페이지 버퍼에 저장되어 있는 데이터를 상기 다른 페이지에 프로그램하는 제어를 행하는 반도체 기억 시스템.
  6. 제5항에 있어서,
    상기 불휘발성 메모리의 용장 영역은 상기 프로그램이 실행되는 페이지의 용장 영역인 반도체 기억 시스템.
  7. 제5항에 있어서,
    상기 관리 데이터는 플래그 데이터인 반도체 기억 시스템.
  8. 제5항에 있어서,
    상기 불휘발성 메모리는 NAND형 플래시 메모리인 반도체 기억 시스템.
  9. 반도체 기억 시스템에 있어서,
    페이지 데이터를 저장하는 페이지 버퍼를 갖는 불휘발성 메모리, 및
    상기 불휘발성 메모리를 제어하도록 구성된 컨트롤러
    를 포함하며,
    상기 컨트롤러는 페이지 데이터를 다른 페이지로 이동시킬 때에, 상기 컨트롤러에 의해 상기 다른 페이지로의 프로그램 개시 전에 상기 페이지 데이터를 상기 페이지 버퍼에서 판독하고, 상기 페이지 데이터를 칩의 외부로 판독하여 에러의 확인을 행하고, 에러가 확인된 경우, 상기 페이지 버퍼에 있는 데이터 중, 에러인 부분을 수정하는 기입, 또는 페이지 전체의 기입을 행하고, 또한 상기 다른 페이지에 프로그램하는 제어를 행하는 반도체 기억 시스템.
  10. 제9항에 있어서,
    상기 불휘발성 메모리는 NAND형 플래시 메모리인 반도체 기억 시스템.
  11. 반도체 기억 시스템에 있어서,
    불휘발성 메모리, 및
    상기 불휘발성 메모리를 제어하도록 구성된 컨트롤러
    를 포함하며,
    상기 불휘발성 메모리는,
    NAND 셀 구조의 메모리 셀을 갖는 메모리 셀 어레이,
    상기 메모리 셀 어레이 내의 메모리 셀에 기입하는 데이터를 증폭하고, 상기 메모리 셀 어레이 내의 메모리 셀로부터 판독된 데이터를 증폭하는 감지 증폭기,
    상기 감지 증폭기로부터 출력된 페이지 데이터를 저장하는 페이지 버퍼,
    로우 어드레스 신호를 디코드하고, 또한 상기 불휘발성 메모리 내에 설치된 회로의 동작을 제어하는 로우 디코더 및 제어 회로,
    페이지 복사처의 어드레스 및 데이터 입력용 커맨드를 디코드하고, 상기 로우 디코더 및 제어 회로, 상기 감지 증폭기, 및 상기 페이지 버퍼의 동작을 제어하는 제1 디코더, 및
    통상의 프로그램을 위한 어드레스 및 데이터 입력용 커맨드를 디코드하고, 상기 로우 디코더 및 제어 회로, 상기 감지 증폭기, 및 상기 페이지 버퍼의 동작을 제어하는 제2 디코더
    를 포함하고,
    상기 컨트롤러는,
    커맨드를 발행하고, 상기 제1 디코더 및 제2 디코더에 공급하는 커맨드 발행 회로,
    페이지 데이터 내에 에러가 존재하고, 정정 가능한 에러이면, 버퍼 메모리 내의 파손된 데이터를 수정하는 ECC 회로, 및
    1회의 프로그램에 필요한 데이터 사이즈의 버퍼 메모리
    를 포함하는 반도체 기억 시스템.
  12. 제11항에 있어서,
    상기 제2 디코더는 상기 페이지 버퍼를 리세트하고, 그 후 프로그램하고자 하는 메모리 셀의 데이터만을 세트하는 반도체 기억 시스템.
  13. 반도체 기억 시스템의 데이터 복사 방법에 있어서,
    페이지 데이터의 관리 데이터를 불휘발성 메모리의 용장 영역에 입력하고,
    프로그램을 실행하고,
    상기 불휘발성 메모리의 페이지 데이터를 다른 페이지로 이동시킬 때에, 상기 다른 페이지에서의 프로그램 기간 중에, 상기 페이지 데이터의 에러를 확인하기 위해서, 상기 페이지 데이터를 판독하는 반도체 기억 시스템의 데이터 복사 방법.
  14. 반도체 기억 시스템의 데이터 복사 방법에 있어서,
    페이지 데이터의 관리 데이터를 상기 불휘발성 메모리의 용장 영역에 입력하고,
    페이지 데이터를 다른 페이지로 이동시킬 때에, 상기 다른 페이지로의 프로그램 개시 전에, 상기 페이지 데이터를 페이지 버퍼에서 판독하고,
    상기 페이지 데이터를 칩의 외부로 판독하여 에러의 확인을 행하고,
    상기 페이지 버퍼에 저장되어 있는 데이터를 상기 다른 페이지에 프로그램하는 반도체 기억 시스템의 데이터 복사 방법.
  15. 반도체 기억 시스템의 데이터 복사 방법에 있어서,
    페이지 데이터를 페이지 버퍼에서 판독하고,
    상기 페이지 데이터를 칩의 외부로 판독하여 에러의 확인을 행하고,
    에러가 확인된 경우, 상기 페이지 버퍼에 있는 데이터 중, 에러인 부분을 수정하는 기입, 또는 페이지 전체의 기입을 행하고,
    다른 페이지에 프로그램하는 반도체 기억 시스템의 데이터 복사 방법.
  16. 반도체 기억 시스템의 데이터 복사 방법에 있어서,
    통상의 판독 동작으로서, 메모리 셀 어레이 내에 기억되어 있는 특정한 페이지 데이터를 감지 증폭기를 개재하여 페이지 버퍼에서 판독하고,
    컨트롤러로부터 페이지 복사처의 어드레스 및 데이터 입력 커맨드를 발행하여, 복사처의 어드레스를 메모리부에 입력하고,
    프로그램 커맨드를 실행하고,
    페이지 복사처로 데이터를 프로그램하고,
    프로그램 기간 중에, 페이지 버퍼의 데이터를 출력하는 커맨드를 발행하고,
    페이지 버퍼에 저장되어 있는 복사원의 페이지 데이터를 컨트롤러로 판독하고,
    컨트롤러측에서 수취한 데이터를 ECC 회로를 개재하여 버퍼 메모리에 저장하는 반도체 기억 시스템의 데이터 복사 방법.
  17. 제16항에 있어서,
    수정할 필요가 있다는 것이 판명된 경우에, 재차 다른 블록으로의 복사를 다시 하는 것을 더 포함하는 반도체 기억 시스템의 데이터 복사 방법.
  18. 반도체 기억 시스템의 데이터 복사 방법에 있어서,
    통상의 판독 동작으로, 메모리 셀 어레이의 특정한 페이지 데이터를 감지 증폭기를 개재하여 페이지 버퍼에서 판독하고,
    시리얼 출력으로 페이지 버퍼로부터 페이지 데이터를 컨트롤러로 판독하고,
    컨트롤러측에서, 수취한 데이터를 ECC 회로를 개재하여 버퍼 메모리에 저장하고,
    페이지 데이터 내에 에러가 존재하고, 정정 가능한 에러이면, 버퍼 메모리 내의 파손된 데이터를 수정하고,
    컨트롤러로부터 페이지 복사처의 어드레스 및 데이터 입력 커맨드를 발행하고,
    복사처의 어드레스를 메모리부에 입력하여, 이미 판독되어 있는 복사원의 데이터를 보존하고,
    프로그램 커맨드를 입력하고,
    페이지 복사처에 데이터를 프로그램하는 반도체 기억 시스템의 데이터 복사 방법.
  19. 제18항에 있어서,
    수정 가능한 에러가 있는 경우에, 프로그램 커맨드를 입력하기 전에, 버퍼 메모리 내의 수정된 데이터로부터, 수정 부분만을 페이지 버퍼에 기입하는 것을 더 포함하는 반도체 기억 시스템의 데이터 복사 방법.
  20. 제18항에 있어서,
    수정 가능한 에러가 있는 경우에, 프로그램 커맨드를 입력하기 전에, 수정된 페이지 데이터 전부를 덮어쓰기 하는 것을 더 포함하는 반도체 기억 시스템의 데이터 복사 방법.
KR10-2002-0081351A 2001-12-20 2002-12-18 데이터 복사 기능을 갖는 반도체 기억 시스템 및 그데이터 복사 방법 KR100521826B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2001388327A JP3802411B2 (ja) 2001-12-20 2001-12-20 不揮発性半導体記憶装置のデータコピー方法
JPJP-P-2001-00388327 2001-12-20

Publications (2)

Publication Number Publication Date
KR20030053028A KR20030053028A (ko) 2003-06-27
KR100521826B1 true KR100521826B1 (ko) 2005-10-17

Family

ID=19188139

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0081351A KR100521826B1 (ko) 2001-12-20 2002-12-18 데이터 복사 기능을 갖는 반도체 기억 시스템 및 그데이터 복사 방법

Country Status (4)

Country Link
US (2) US6868007B2 (ko)
JP (1) JP3802411B2 (ko)
KR (1) KR100521826B1 (ko)
TW (1) TW583674B (ko)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003030993A (ja) * 2001-07-17 2003-01-31 Toshiba Corp 半導体記憶装置
JP3928724B2 (ja) * 2003-02-20 2007-06-13 ソニー株式会社 記録媒体の記録制御方法および記録媒体の記録制御装置
KR100543447B1 (ko) * 2003-04-03 2006-01-23 삼성전자주식회사 에러정정기능을 가진 플래쉬메모리장치
JP4791356B2 (ja) * 2004-05-06 2011-10-12 パナソニック株式会社 半導体メモリ装置
JP4656862B2 (ja) * 2004-05-28 2011-03-23 ルネサスエレクトロニクス株式会社 半導体装置
JP4504138B2 (ja) * 2004-09-03 2010-07-14 株式会社東芝 記憶システム及びそのデータコピー方法
KR100634414B1 (ko) * 2004-09-06 2006-10-16 삼성전자주식회사 에러 검출용 패러티 발생기를 구비한 낸드 플래시 메모리 장치 및 그것의 에러 검출 방법
US7466597B2 (en) * 2004-09-09 2008-12-16 Samsung Electronics Co., Ltd. NAND flash memory device and copyback program method for same
US7849381B2 (en) * 2004-12-21 2010-12-07 Sandisk Corporation Method for copying data in reprogrammable non-volatile memory
US7523381B2 (en) * 2005-09-01 2009-04-21 Micron Technology, Inc. Non-volatile memory with error detection
KR20070076849A (ko) * 2006-01-20 2007-07-25 삼성전자주식회사 메모리 카드의 카피백 동작을 수행하는 장치 및 방법
US7996598B2 (en) * 2006-03-14 2011-08-09 Stmicroelectronics Pvt. Ltd. Memory management module
JP4956230B2 (ja) * 2006-04-10 2012-06-20 株式会社東芝 メモリコントローラ
JP4513786B2 (ja) * 2006-06-28 2010-07-28 Tdk株式会社 メモリコントローラ、メモリシステム及びメモリ制御方法
KR100837274B1 (ko) 2006-08-28 2008-06-11 삼성전자주식회사 오토 멀티-페이지 카피백 기능을 갖는 플래시 메모리 장치및 그것의 블록 대체 방법
JP5378664B2 (ja) * 2006-08-28 2013-12-25 三星電子株式会社 マルチ−ページコピーバック機能を有するフラッシュメモリー装置及びそのブロック置換方法
KR100877609B1 (ko) 2007-01-29 2009-01-09 삼성전자주식회사 버퍼 메모리의 플래그 셀 어레이를 이용하여 데이터 오류 정정을 수행하는 반도체 메모리 시스템 및 그 구동 방법
KR100813630B1 (ko) * 2007-02-07 2008-03-14 삼성전자주식회사 독출 성능을 향상할 수 있는 플래시 메모리 시스템 및그것의 독출 방법
WO2009052525A1 (en) 2007-10-19 2009-04-23 Virident Systems, Inc. Managing memory systems containing components with asymmetric characteristics
KR101436505B1 (ko) 2008-01-03 2014-09-02 삼성전자주식회사 메모리 장치
JP4693859B2 (ja) * 2008-03-21 2011-06-01 株式会社東芝 不揮発性半導体記憶装置及びその制御方法
US8447918B2 (en) * 2009-04-08 2013-05-21 Google Inc. Garbage collection for failure prediction and repartitioning
US8566508B2 (en) * 2009-04-08 2013-10-22 Google Inc. RAID configuration in a flash memory data storage device
US20100262979A1 (en) * 2009-04-08 2010-10-14 Google Inc. Circular command queues for communication between a host and a data storage device
JP5668279B2 (ja) * 2009-08-06 2015-02-12 ソニー株式会社 不揮発性ランダムアクセスメモリおよび不揮発性メモリシステム
JP4837121B1 (ja) * 2010-06-23 2011-12-14 株式会社東芝 データ記憶装置及びデータ書き込み方法
CN102541677A (zh) * 2011-12-29 2012-07-04 苏州国芯科技有限公司 提高nandflash存储设备对照表加载速度的实现方法
US8760921B2 (en) 2012-08-28 2014-06-24 Kabushiki Kaisha Toshiba Storage device and control method of nonvolatile memory
JP5689865B2 (ja) 2012-11-29 2015-03-25 株式会社東海理化電機製作所 制御装置
CN103853669A (zh) * 2014-03-21 2014-06-11 北京国芯威电子科技股份有限公司上海分公司 一种基于NOR Flash的存储管理方法
KR20180100984A (ko) * 2017-03-03 2018-09-12 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US10678633B2 (en) * 2017-11-30 2020-06-09 SK Hynix Inc. Memory system and operating method thereof

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09244961A (ja) * 1996-03-08 1997-09-19 Mitsubishi Electric Corp フラッシュata−pcカード
US5754567A (en) * 1996-10-15 1998-05-19 Micron Quantum Devices, Inc. Write reduction in flash memory systems through ECC usage
US5928370A (en) * 1997-02-05 1999-07-27 Lexar Media, Inc. Method and apparatus for verifying erasure of memory blocks within a non-volatile memory structure
JP3233079B2 (ja) * 1997-09-30 2001-11-26 ソニー株式会社 データ処理システム及びデータ処理方法
JP3611280B2 (ja) * 1997-09-30 2005-01-19 シャープ株式会社 不揮発性半導体記憶装置
WO2000030116A1 (en) * 1998-11-17 2000-05-25 Lexar Media, Inc. Method and apparatus for memory control circuit
US6145069A (en) * 1999-01-29 2000-11-07 Interactive Silicon, Inc. Parallel decompression and compression system and method for improving storage density and access speed for non-volatile memory and embedded memory devices
US6157570A (en) * 1999-02-04 2000-12-05 Tower Semiconductor Ltd. Program/erase endurance of EEPROM memory cells
JP4105819B2 (ja) * 1999-04-26 2008-06-25 株式会社ルネサステクノロジ 記憶装置およびメモリカード
US6266273B1 (en) * 2000-08-21 2001-07-24 Sandisk Corporation Method and structure for reliable data copy operation for non-volatile memories
US6349056B1 (en) * 2000-12-28 2002-02-19 Sandisk Corporation Method and structure for efficient data verification operation for non-volatile memories

Also Published As

Publication number Publication date
TW583674B (en) 2004-04-11
KR20030053028A (ko) 2003-06-27
TW200303550A (en) 2003-09-01
US20050132130A1 (en) 2005-06-16
US6868007B2 (en) 2005-03-15
JP3802411B2 (ja) 2006-07-26
US20030117846A1 (en) 2003-06-26
JP2003186758A (ja) 2003-07-04

Similar Documents

Publication Publication Date Title
KR100521826B1 (ko) 데이터 복사 기능을 갖는 반도체 기억 시스템 및 그데이터 복사 방법
KR100551646B1 (ko) 페이지 복사 기능을 갖는 반도체 기억 장치
US7372744B2 (en) Memory system which copies successive pages, and data copy method therefor
JP4664804B2 (ja) 不揮発性半導体記憶装置
JP4976764B2 (ja) 半導体記憶装置
US7698615B2 (en) Semiconductor memory device having single-level cells and multi-level cells and method of driving the semiconductor memory device
KR101967368B1 (ko) 반도체 메모리 장치 및 이의 동작 방법
US20100241929A1 (en) Semiconductor Memory Device for Performing Additional ECC Correction According to Cell Pattern and Electronic System Including the Same
US7944747B2 (en) Flash memory device and method for programming flash memory device having leakage bit lines
US20060239089A1 (en) Non-volatile semiconductor device for use in memory card and memory system
US8547752B2 (en) Method of reading data in non-volatile memory device, and device thereof
JP2010118123A (ja) 半導体記憶装置
US8842474B2 (en) Nonvolatile memory device and nonvolatile memory system including the same
US20110228605A1 (en) Nonvolatile memory
KR100908541B1 (ko) 불휘발성 메모리 소자의 카피백 프로그램 방법
CN101026009A (zh) 页面缓冲器及相关读方法
US11087858B1 (en) In-place refresh operation in flash memory
JPH065094A (ja) 不揮発性半導体記憶装置
JP2006209963A (ja) 半導体記憶装置
JP2004171619A (ja) 不揮発性半導体メモリ

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: 20120924

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20130925

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20140923

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20150918

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee