KR20040028934A - 불휘발성 기억장치 - Google Patents

불휘발성 기억장치 Download PDF

Info

Publication number
KR20040028934A
KR20040028934A KR10-2004-7000863A KR20047000863A KR20040028934A KR 20040028934 A KR20040028934 A KR 20040028934A KR 20047000863 A KR20047000863 A KR 20047000863A KR 20040028934 A KR20040028934 A KR 20040028934A
Authority
KR
South Korea
Prior art keywords
memory
command
instruction
write
memory bank
Prior art date
Application number
KR10-2004-7000863A
Other languages
English (en)
Inventor
호리이타카시
요시다케이이치
노조에아츠시
Original Assignee
가부시끼가이샤 르네사스 테크놀로지
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 가부시끼가이샤 르네사스 테크놀로지 filed Critical 가부시끼가이샤 르네사스 테크놀로지
Publication of KR20040028934A publication Critical patent/KR20040028934A/ko

Links

Classifications

    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • 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/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1042Read-write modes for single port memories, i.e. having either a random port or a serial port using interleaving techniques, i.e. read-write of one part of the memory while preparing another part
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2216/00Indexing scheme relating to G11C16/00 and subgroups, for features not directly covered by these groups
    • G11C2216/12Reading and writing aspects of erasable programmable read-only memories
    • G11C2216/22Nonvolatile memory in which reading can be carried out from one memory bank or array whilst a word or sector in another bank or array is being erased or programmed simultaneously

Landscapes

  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Dram (AREA)
  • Memory System (AREA)
  • Debugging And Monitoring (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

불휘발성 메모리셀을 구비하고 각각 독립적으로 메모리 동작 가능한 복수개의 메모리 뱅크(3, 4)와, 메모리 뱅크의 메모리 동작을 제어하는 제어부(5)를 가진다. 제어부는 하나의 메모리 뱅크를 지정한 동작지시에 응답하는 메모리 동작 중에서도 다른 메모리 뱅크를 지정한 동작지시에 응답하여 메모리 동작을 개시시키는 인터리브 동작과, 하나의 메모리 뱅크를 지정한 동작지시에 응답하는 메모리 동작의 개시 전에 계속해서 다른 메모리 뱅크를 지정한 메모리 동작의 지시가 있을 때 쌍방의 메모리 뱅크의 메모리 동작을 병렬로 개시시키는 병렬 동작을 제어 가능하다. 메모리 뱅크마다 스테이터스 레지스터(6, 7)가 설치되며, 메모리 뱅크마다 메모리 동작의 상태가 대응 스테이터스 레지스터에 반영된다.

Description

불휘발성 기억장치{NONVOLATILE MEMORY}
플래시 메모리는, 플로팅 게이트(부유 게이트)에 대한 전자의 주입과 전자의 인출에 의해 정보를 기억시킬 수 있는 불휘발성 메모리의 일예이다. 플래시 메모리는 플로팅 게이트, 컨트롤 게이트, 소스 및 드레인을 가지는 메모리셀 트랜지스터(플래시 메모리셀)을 가진다. 이 메모리셀 트랜지스터는, 상기 플로팅 게이트에 전자가 주입되면 문턱치 전압이 상승하고, 또 상기 플로팅 게이트에서 전자를 인출하면 문턱치 전압이 저하한다. 상기 메모리셀 트랜지스터는, 테이터 판독을 위한 워드선 전압(컨트롤 게이트 인가전압)에 대한 문턱치 전압의 고저에 따른 정보를 기억하게 된다. 특히 제한되지 않지만, 본 명세서에서 메모리셀 트랜지스터의 문턱치 전압이 낮은 상태를 소거상태, 높은 상태를 기록상태라 한다.
상기 기록상태와 소거상태를 얻기 위해서는, 메모리셀 트랜지스터에 미리 정해진 고전압을 서서히 인가하면서 미리 정해진 문턱치 전압상태에 도달했는지를 판정하지 않으면 안되고, 판독동작에 비해 처리에 시간이 걸린다. 또 메모리셀 트랜지스터의 특성열화 등에 의해, 목적의 문턱치 전압상태로 할 수 없는 이상이 생기는 경우가 있다. 플래시 메모리는 기록동작 또는 소거동작 중, 레디·비지신호(ready/busy signal)를 외부로 출력하여 비지상태인 것을 외부에 통지하고, 또 기록과 소거동작에 의한 이상을 스테이터스 레지스터(status registers)를 통해서 외부로부터 참조 가능하게 되어 있다. 호스트 장치는 비지상태의 플래시 메모리에는 액세스 커맨드를 발행하지 않는다. 또 호스트 장치는 스테이터스 레지스터를 통해서 기록동작의 이상을 검출했을 때에 기록 재시도 등의 동작을 제어한다. 호스트 장치는 스테이터스 레지스터를 통해서 소거동작의 이상을 검출했을 때, 예를 들면 플래시 메모리의 기억 에리어의 대체처리 등을 행한다.
또한 플래시 메모리에 대해서 기재된 문헌의 예로서 특개평11-232886호 공보, 특개평11-345494호 공보 등이 있다.
본 발명자는 하나의 반도체 칩에 복수의 메모리 뱅크를 가지는 멀티뱅크 형태의 플래시 메모리에 대해서 검토했다. 메모리 뱅크는 복수의 플래시 메모리셀을 구비하고 다른 뱅크와는 독립적으로 메모리 동작 가능한 회로블록이다. 본 발명자는, 이와 같은 멀티뱅크 형태의 플래시 메모리에 있어서, 소거동작 및 기록동작에 의한 비지상태의 기간을 단축 가능하게 하기 위해서, 복수의 메모리 뱅크로 병렬로 기록동작을 행하고, 혹은 병렬로 소거동작을 행하는 것에 대해서 검토했다.
이것에 의하면, 그와 같은 멀티뱅크 형태의 플래시 메모리는 싱글 메모리 뱅크의 플래시 메모리를 단순히 1칩에 탑재하면 좋은 것이 아니라는 것이 명백하게 되었다.
첫째, 내부에서 기록에러와 소거에러를 발생했을 때, 그것이 어느쪽의 메모리 뱅크에서 발생한 것인지를 외부에서 인식 가능하게 하지 않으면, 기록 재시도 등의 동작을 쌍방의 메모리 뱅크에 대해서 행하지 않으면 안되고, 쓸데없는 처리에 시간을 낭비하게 되며, 메모리셀 트랜지스터에 쓸모없는 전기적 스트레스를 부여하게 되어 수명도 단축된다.
둘째, 멀티뱅크에 대한 병렬 기록과 병렬 소거를 위해 전용 커맨드를 다수 추가하여 대처하려고 하면, 전체적인 커맨드 체계와 커맨드 해독의 논리규모가 너무 크게 될 우려가 있는 것이 명백하게 되었다.
세째, 멀티뱅크의 플래시 메모리에서 기록에러와 소거에러가 발생했을 때, 메모리 컨트롤러측은 멀티뱅크의 어느 메모리 뱅크에서 에러가 발생했는지를 파악하여 대처하지 않으면 안된다. 그러면, 메모리 컨트롤러측의 처리부담이라는 의미에서, 싱글 메모리 뱅크의 플래시 메모리를 단순히 1칩에 탑재하여 이용하는 것과 변화없다.
본 발명의 목적은, 액세스 에러를 발생시킨 메모리 뱅크를 외부에서 특정할 수 있는 멀티뱅크를 가지는 불휘발성 기억장치를 제공하는데 있다.
본 발명의 다른 목적은, 내부의 멀티뱅크에서 기록과 소거에러 등의 액세스 에러를 발생시켜도, 그 에러에 대한 메모리 컨트롤러측의 처리부담을 경감시킬 수 있는 멀티뱅크를 가지는 불휘발성 기억장치를 제공하는데 있다.
본 발명의 또 다른 목적은, 복수의 메모리 뱅크에 대한 병렬 기록동작과 병렬 소거동작을 행할 수 있는 멀티뱅크를 가지는 플래시 메모리 등의 불휘발성 기억장치를 제공하는데 있다.
본 발명의 또 다른 목적은, 소거동작 및 기록동작에 의한 비지상태의 기간을 단축하는 것이 가능한 멀티뱅크를 가지는 플래시 메모리 등의 불휘발성 기억장치를제공하는데 있다.
본 발명의 그 이외의 목적은, 복수의 메모리 뱅크를 병렬 동작시키는데 전체적인 커맨드 체계와 커맨드 해독논리가 너무 크게 되는 것을 억제하는 것이 가능한 불휘발성 기억장치를 제공하는데 있다.
본 발명의 상기 및 그 외의 목적과 신규한 특징은 본 명세서의 기술 및 첨부도면으로부터 명백하게 될 것이다.
(발명의 개시)
본원에서 개시되는 발명 중 대표적인 것의 개요를 간단하게 설명하면 하기와 같다.
[1] << 멀티뱅크·멀티스테이터스 레지스터 >>
불휘발성 기억장치는 반도체 기판에, 기억정보의 재기록이 가능한 불휘발성 메모리셀을 구비하고 각각 독립적으로 메모리 동작 가능한 복수개의 메모리 뱅크와, 상기 복수개의 메모리 뱅크에 대한 메모리 동작을 제어하는 제어부와, 상기 메모리 뱅크마다 설치된 스테이터스 레지스터와, 외부와의 인터페이스부를 가진다. 상기 제어부는 동작지시에 따라 메모리 뱅크마다 메모리 동작을 제어하고, 동작지시에 대한 메모리 동작의 상태를 나타내는 스테이터스 정보를 대응하는 메모리 뱅크의 스테이터스 레지스터에 반영하며, 상기 스테이터스 레지스터에 반영된 스테이터스 정보를 상기 인터페이스부에서 외부로 출력 가능하게 한다. 이것에 의해 액세스 에러를 발생시킨 메모리 뱅크를 외부에서 특정할 수 있다.
상기 메모리 동작으로서, 예를 들면 불휘발성 메모리셀에 대한 기억정보의 소거동작, 불휘발성 메모리셀에 대한 정보의 기록동작 및 불휘발성 메모리셀에 대한 기억정보의 판독동작이 가능하다. 이때, 상기 스테이터스 정보는, 상기 소거동작에 대한 소거 이상의 유무를 나타내는 소거체크정보와, 상기 기록동작에 대한 기록 이상의 유무를 나타내는 기록체크정보이다.
상기 제어부는, 상기 스테이터스 정보가 기록 이상일 때, 기록 이상에 관계되는 메모리 뱅크를 지정한 동작의 지시에 대해서 미리 정해진 지시만을 접수 가능하게 한다. 예를 들면, 상기 미리 정해진 지시는 기록 이상에 관계되는 메모리 뱅크를 지정하여 기록동작을 재차 반복하는 동작을 지시하는 기록 재시도 지시와, 기록 이상에 관계되는 메모리 뱅크의 스테이터스 레지스터에 대해서 리셋(reset)동작을 지시하는 스테이터스 레지스터 리셋 지시를 포함한다. 또 상기 미리 정해진 지시는 기록 이상에 관계되는 메모리 뱅크를 지정하여 기록 이상에 관계되는 기록 데이터를 외부에 출력하는 동작을 지시하는 리커버리 리드(recovery read) 지시를 더 포함해도 된다. 이것에 의해 멀티뱅크에 대한 기록 액세스에서 에러를 발생시켜도 그 에러에 대한 메모리 컨트롤러측으로부터의 대처의 지시가 부적절할 때, 그것에 대해서 프로텍트를 걸 수 있어, 메모리 동작의 신뢰성 향상과 메모리 컨트롤러의 부담 경감에 기여할 수 있다.
또 상기 제어부는, 상기 스테이터스 정보가 소거 이상일 때, 소거 이상에 관계되는 메모리 뱅크를 지정한 동작의 지시에 대해서 미리 정해진 지시만을 접수 가능하게 한다. 예를 들면, 상기 미리 정해진 지시는 소거 이상에 관계되는 메모리 뱅크의 스테이터스 레지스터에 대해서 리셋동작을 지시하는 스테이터스 레지스터 리셋 지시를 포함한다. 이것에 의해 멀티뱅크에 대한 소거 액세스에서 에러를 발생시켜도, 그 에러에 대한 메모리 컨트롤러측으로부터의 대처의 지시가 부적절할 때, 그것에 대해서 프로텍트를 가할 수 있어, 메모리 동작의 신뢰성 향상과 메모리 컨트롤러의 부담 경감에 기여할 수 있다.
상기 메모리 뱅크에 포함되는 불휘발성 메모리셀의 결함을 구제하기 위한 구제회로를 상기 메모리 뱅크마다 설치해도 된다.
[2] << 멀팅뱅크의 병렬 동작과 인터리브 동작 >>
불휘발성 기억장치는 반도체 기판에, 기억정보의 재기록이 가능한 불휘발성 메모리셀을 구비하고 각각 독립적으로 메모리 동작 가능한 복수개의 메모리 뱅크와, 상기 복수개의 메모리 뱅크에 대한 메모리 동작을 외부로부터의 지시에 따라서 제어하는 제어부를 가진다. 상기 제어부는 동작지시에 따라서 메모리 뱅크마다 메모리 동작을 제어하고, 하나의 메모리 뱅크를 지정한 동작지시에 응답하는 메모리 동작 중에서도 다른 메모리 뱅크를 지정한 동작지시에 응답하는 메모리 동작을 개시시키는 인터리브(interleave) 동작과, 하나의 메모리 뱅크를 지정한 동작지시에 응답하는 메모리 동작의 개시 전에 계속해서 다른 메모리 뱅크를 지정하는 메모리 동작의 지시가 있을 때 쌍방의 메모리 뱅크의 메모리 동작을 병렬로 개시시키는 병렬 동작을 제어할 수 있다. 이것에 의해 복수의 메모리 뱅크에서 병렬로 기록 또는소거의 액세스 동작을 행할 수 있다. 따라서, 소거동작 및 기록동작에 의한 비지상태의 기간을 단축하는 것이 가능하다.
상기 메모리 동작으로서, 불휘발성 메모리셀에 대한 기억정보의 소거동작, 불휘발성 메모리셀에 대한 정보의 기록동작 및 불휘발성 메모리셀에 대한 기억정보의 판독동작이 있다. 이때, 상기 인터리브 동작 및 병렬동작은 상기 소거동작의 지시 또는 기록동작의 지시에 대해서 가능하게 된다.
상기 제어부는 기록동작의 지시에 대해서 상기 인터리브 동작을 가능하게 하든지 상기 병렬 동작을 가능하게 하든지를, 커맨드마다의 상이(相異)에 따라서 결정한다.
상기 제어부는 소거동작의 지시에 대해서 인터리브 동작을 가능하게 하든지 병렬 동작을 가능하게 하든지를, 메모리 뱅크의 지정이 단수인지 복수인지에 따라서 결정한다.
[3] 멀티뱅크의 병렬 동작과 인터리브 동작에 의한 상기 관점의 불휘발성 기억장치의 더욱 구체적인 태양을 액세스 커맨드의 관점에서 파악한다. 불휘발성 기억장치는 반도체 기판에, 기억장보의 재기록이 가능한 불휘발성 메모리셀을 구비하고 각각 독립적으로 메모리 동작 가능한 복수개의 메모리 뱅크와, 상기 복수개의 메모리 뱅크에 대한 메모리 동작을 외부로부터의 액세스 커맨드에 따라서 제어하는 제어부를 가진다. 상기 액세스 커맨드로서 제1 액세스 커맨드와 제2 액세스 커맨드가 있다. 상기 제1 액세스 커맨드는 제1 커맨드 코드, 하나의 메모리 뱅크의 어드레스를 지정하는 어드레스 정보, 제2 커맨드 코드, 다른 메모리 뱅크의 어드레스를지정하는 어드레스 정보 및 상기 제2 커맨드 코드를 포함한다. 상기 제2 액세스 커맨드는 제1 커맨드 코드, 하나의 메모리 뱅크의 어드레스를 지정하는 어드레스 정보, 제3 커맨드 코드, 다른 메모리 뱅크의 어드레스를 지정하는 어드레스 정보 및 상기 제2 커맨드 코드를 포함한다. 상기 제어부는 상기 제2 커맨드 코드의 입력에 응답하여 상기 어드레스 정보에 의한 지정 메모리 뱅크의 메모리 동작을 개시한다.
예를 들면, 상기 제1 커맨드 코드는 기록동작의 종별을 부여하는 커맨드 코드이며, 제2 커맨드 코드는 기록동작의 개시를 지시하는 커맨드 코드이다. 예를 들면 기록동작에서의 기록 어드레스가 X어드레스와 Y어드레스로 지정될 때, Y어드레스를 지정하지 않으면 X어드레스로 지정되는 섹터의 선두부터 기록 대상으로 하는 기록 제어논리를 가지는 경우를 상정하면, 제3 커맨드 코드의 전에는 X어드레스만이 배치되는 경우와 X어드레스 및 Y어드레스가 배치되는 2가지의 경우가 있으므로, 제3 커맨드 코드에 의해 다른 메모리 뱅크 액세스를 향한 어드레스 정보와의 단락을 명확화하고 있다.
상기 제1 액세스 커맨드는 상기 인터리브 동작의 지시에 이용되며, 제2 액세스 커맨드는 상기 병렬 동작의 지시에 이용된다. 제1 액세스 커맨드에 대해 제2 액세스 커맨드는 제3 커맨드 코드만이 상이하고, 제1 커맨드 코드 및 제2 커맨드 코드는 공통 이용된다. 따라서, 멀티뱅크의 인터리브 동작과 함께 병렬 동작의 제어형태를 채용해도, 커맨드의 증가가 조금 억제되어 커맨드 해독의 논리규모가 너무 크게 되는 것을 억제할 수 있다.
액세스 커맨드로서 상기와는 다른 제3 액세스 커맨드와 제4 액세스 커맨드가있는 경우를 상정한다. 상기 제3 액세스 커맨드는 제4 커맨드 코드, 하나의 메모리 뱅크의 어드레스를 지정하는 어드레스 정보 및 상기 제5 커맨드 코드를 포함한다. 상기 제4 액세스 커맨드는 제4 커맨드 코드, 하나의 메모리 뱅크의 어드레스를 지정하는 어드레스 정보, 다른 메모리 뱅크의 어드레스를 지정하는 어드레스 정보 및 상기 제5 커맨드 코드를 포함한다. 상기 제어부는 상기 제5 커맨드 코드의 입력에 대응하여 상기 어드레스 정보에 따른 지정 메모리 뱅크의 메모리 동작을 개시한다. 예를 들면, 상기 제4 커맨드 코드는 소거동작의 지시를 부여하는 커맨드이며, 제5 커맨드 코드는 소거동작의 개시를 지시하는 커맨드이다. X어드레스로 지정되는 섹터 단위로 소거를 행하는 것을 상정하면, 기록과 같이 어드레스 정보에 Y어드레스가 포함되거나 포함되지 않거나 하는 일은 없으며, 상기 제3 커맨드 코드와 같은 단락을 액세스 커맨드에 배치할 필요는 없다. 이 형태의 액세스 커맨드를 채용하는 경우에도, 상기와 마찬가지로, 멀티뱅크의 인터리브 동작과 함께 병렬 동작의 제어형태를 채용해도 커맨드의 증가가 조금 억제되어 커맨드 해독의 논리규모가 너무 크게 되는 것을 억제할 수 있다.
본 발명은 멀티뱅크 형태의 불휘발성 기억장치에 관한 것으로, 예를 들면 파일 메모리 시스템 등에 이용되는 전기적으로 재기록 가능한 플래시 메모리에 관한 것이다.
도1은 본 발명에 관한 불휘발성 기억장치의 일예인 플래시 메모리의 블록도이다.
도2는 메모리 뱅크의 일예를 나타내는 블록도이다.
도3은 불휘발성 메모리셀의 단면구조를 예시하는 설명도이다.
도4는 AND형 메모리셀 어레이의 일부를 예시하는 회로도이다.
도5는 메모리셀에 대한 소거 및 기록의 전압인가상태를 예시하는 설명도이다.
도6은 스테이터스 레지스터가 보유하는 정보에 대한 출력단자의 할당을 예시하는 설명도이다.
도7은 플래시 메모리의 커맨드를 예시하는 설명도이다.
도8은 2메모리 뱅크 병렬 소거동작의 타이밍 차트이다.
도9는 2메모리 뱅크에 대한 병렬 기록동작의 타이밍 차트이다.
도10은 기록 재시도 커맨드에 의한 동작 타이밍 차트이다.
도11은 1메모리 뱅크 동작시의 리커버리 리드 커맨드에 의한 동작 타이밍 차트이다.
도12는 2메모리 뱅크 동작시의 리커버리 리드 커맨드에 의한 동작 타이밍 차트이다.
도13은 메모리 뱅크마다 스테이터스 레지스터에 대한 일괄 리셋동작을 예시하는 타이밍 차트이다.
도14는 메모리 뱅크마다 스테이터스 레지스터의 한쪽에 대한 리셋동작을 예시하는 타이밍 차트이다.
도15는 메모리 뱅크마다 스테이터스 레지스터의 다른쪽에 대한 리셋동작을 예시하는 타이밍 차트이다.
도16은 기록 페일(write failure) 발생시에서의 커맨드 디코더 및 CPU의 동작 플로우차트이다.
도17은 소거 페일(erase failure) 발생시에서의 커맨드 디코더 및 CPU의 동작 플로우차트이다.
도18은 1개씩 메모리 뱅크를 동작시키는 1뱅크동작(1Bank동작)의 타이밍 차트이다.
도19는 2뱅크 병렬 기록(2Bank 동시 기록)의 타이밍 차트이다.
도20은 인터리브 기록동작의 타이밍 차트이다.
도21은 플래시 메모리의 칩 레이아웃을 개략적으로 예시하는 평면도이다.
(발명을 실시하기 위한 최선의 형태)
<< 플래시 메모리의 전체 구성 >>
도1에는 본 발명에 관한 불휘발성 기억장치의 일예인 플래시 메모리가 전체적으로 나타나 있다.
상기 플래시 메모리(1)는 단결정 실리콘과 같은 1개의 반도체 기판(반도체 칩)(2)에, 각각 독립적으로 메모리 동작 가능한 복수개 예를 들면 2개의 메모리 뱅크(3, 4)와, 상기 2개의 메모리 뱅크(3, 4)에 대한 메모리 동작을 제어하는 제어부(5)와, 상기 메모리 뱅크(3, 4)마다 설치된 스테이터스 레지스터(6, 7)와, 외부와의 인터페이스 제어부(8)와, 메모리 뱅크(3, 4)마다 할당된 구제회로(9, 10)와, 어드레스 버퍼(11)와, 어드레스 카운터(12)와, 내부전원회로(13)를 가진다. 상기 제어부(5)는 커맨드 디코더(20), CPU(중앙처리장치) 및 그 동작 프로그램 메모리(PGM)을 가지는 프로세서(프로세서를 단순히 CPU라고도 기록한다)(21), 데이터 입출력 제어회로(22)를 가진다. 상기 메모리 뱅크(3)를 Bank0, 메모리 뱅크(4)를Bank1이라고도 기록한다.
플래시 메모리(1)는 외부 입출력 단자I/O(I/O[0]~I/O[7])를 가지고, 어드레스 입력, 데이터 입출력, 커맨드 입력에 병용된다. 외부 입출력 단자(I/O[0]~I/O[7])로부터 입력된 X어드레스 신호는 인터페이스 제어부(8)를 통해서 X어드레스 버퍼(11)에 공급되며, 입력된 Y어드레스 신호는 인터페이스 제어부(8)를 통해서 Y어드레스 카운터(12)에 프리셋트된다. 외부 입출력 단자(I/O[0]~I/O[7])로부터 입력된 커맨드는 인터페이스 제어부(8)를 통해서 커맨드 디코더(20)에 공급된다. 외부 입출력 단자(I/O[0]~I/O[7])로부터 입력되는 메모리 뱅크(3, 4)로의 기록 데이터는 인터페이스 제어부(8)를 통해서 데이터 입출력 제어회로(22)에 부여된다. 메모리 뱅크(3, 4)에서의 리드 데이터는 데이터 입출력 제어회로(22)에서 인터페이스 제어부(8)를 통해서 외부 입출력 단자(I/O[0]~I/O[7])에 부여된다. 또한 입출력 단자(I/O[0]~I/O[7])로부터 입출력되는 신호를 편의상 신호 I/O[0]~I/O[7]라고도 부른다.
상기 인터페이스 제어부(8)는 액세스 제어신호로서, 칩 인에이블 신호(chip enable signal)(/CE), 출력 인에이블 신호(/OE), 기록 인에이블 신호(/WE), 시리얼 클록신호(SC), 리셋신호(/RES) 및 커맨드 인에이블 신호(/CDE)를 입력한다. 신호명 직전에 기부(記付)된 기호 /는 해당 신호가 로·인에이블(row enable)인 것을 의미한다. 인터페이스 제어부(8)는 그 신호의 상태에 따라서 외부와의 신호 인터페이스 기능 등을 제어한다. 입출력 단자(I/O[0]~I/O[7])로부터의 커맨드 입력은 상기 커맨드 인에이블(/CDE)에 동기된다. 데이터 입력은 시리얼 클록(SC)에 동기된다. 어드레스 정보의 입력은 라이트 인에이블(write enable) 신호(/WE)에 동기된다. 인터페이스 제어부(8)는 커맨드 코드에 의해 소거 또는 기록동작의 개시가 지시되면, 그 기간 소거나 기록동작 중을 나타내는 레디·비지신호(R/B)를 어설트(assert)하여 외부에 출력한다.
상기 각각의 메모리 뱅크(3, 4)는 기억정보의 재기록 가능한 불휘발성 메모리셀을 다수 가진다. 불휘발성 메모리셀의 일부는 결함 메모리셀을 치환하기 위한 구제용(용장용) 메모리셀이 된다. 상기 구제회로(9, 10)는 구제용 메모리셀에 의해 치환해야 할 결함 메모리셀의 어드레스를 프로그램 가능한 프로그램 회로(도시하지 않음)와, 프로그램된 구제해야 할 어드레스가 액세스 어드레스로서 지정되었는지를 판정하는 어드레스 컴퍼레이터(address comparator)(도시하지 않음)를 가진다. 상기 메모리 뱅크(3, 4)에서 불휘발성 메모리셀을 선택하기 위한 X어드레스 신호는 어드레스 버퍼(11)로부터 출력되며, 상기 메모리 뱅크(3, 4)에서 불휘발성 메모리셀을 선택하기 위한 Y어드레스 신호는 어드레스 카운터(12)로부터 출력된다. X어드레스 신호 및 Y어드레스 신호는 구제회로(9, 10)에 공급되며, 구제해야 할 어드레스인 경우에는 어드레스 치환이 행해지고, 구제해야 할 어드레스가 아닌 경우에 쓰루(through)로, 메모리 뱅크(3, 4)에 공급된다.
상기 각각의 메모리 뱅크(3, 4)는 특히 제한되지 않지만, 도2에 예시되는 바와 같이, 메모리셀 어레이(30), X어드레스 디코더(31), Y어드레스 디코더(32), Y스위치 회로(33), 센스래치회로(34) 및 데이터 래치회로(35) 등을 가진다. 상기 메모리셀 어레이(30)는 전기적으로 소거 및 기록 가능한 불휘발성 메모리셀을 다수 가진다. 도3에 예시되는 바와 같이, 불휘발성 메모리셀(MC)은 반도체 기판 혹은 메모리 웰(SUB)에 형성된 소스(S) 및 드레인(D)과, 채널영역에 산화막을 통해서 형성된 플로팅 게이트(FG) 그리고 플로팅 게이트(GF)에 층간절연막을 통해서 중복된 컨트롤 게이트(CG)를 가지고 구성된다. 상기 메모리셀 어레이(30)는 도4에 예시되는 AND형 어레이의 경우, 주 비트선(MBL)에 대표적으로 예시된 부 비트선(SBL)이 선택 MOS 트랜지스터(M1)를 통해서 접속되고, 부 비트선(SBL)에 불휘발성 메모리셀(MC)의 드레인이 결합된다. 부 비트선(SBL)을 공유하는 불휘발성 메모리셀(MC)의 소스는 제2선택 MOS 트랜지스터(M2)를 통해서 소스선(SL)에 공통 접속된다. 제1선택 MOS 트랜지스터(M1)는 행방향 단위로 비트선 제어선(SDi)으로 스위치 제어되며, 제2선택 MOS 트랜지스터(M2)는 행방향 단위로 소스선 제어선(SSi)으로 스위치 제어된다.
도2의 상기 X어드레스 디코더(31)는 X어드레스 신호를 디코드하고, 지정된 메모리 동작에 따라서, 워드선(WL), 비트선 제어선(SDi), 소스선 제어선(SSi)의 선택을 행한다. Y어드레스 디코더(32)는 어드레스 카운터(12)로부터 출력되는 Y어드레스 신호를 디코드하여 비트선 선택용의 Y스위치 회로(33)의 스위칭 제어신호를 생성한다. 상기 데이터 래치회로(35)는 기록 데이터를 유지한다. 상기 센스래치회로(34)는 불휘발성 메모리셀에서 판독된 기억정보를 센스하여 유지하고, 또 상기 데이터 래치회로(35)로부터 부여된 기록동작을 위한 기록 제어 데이터를 유지한다.
상기 메모리셀에 대한 소거는 도5에 예시되는 바와 같이, 워드선 단위(1섹터 단위이기도 하다)의 일괄 소거가 되며, 선택 워드선에 -17V, 비선택 워드선에 0V가인가되고, 소스선은 0V가 된다.
상기 메모리셀에 대한 기록은 도5에 예시되는 바와 같이, 기록 선택 워드선에 17V, 기록 선택의 비트선에 0V, 기록 비선택의 비트선에 6V가 인가된다. 상기 기록 고전압 인가시간을 많게 함에 따라 메모리셀의 문턱치 전압이 상승된다. 비트선에 0V를 인가할지, 6V를 인가할지는 센스래치회로에 래치시키는 기록제어정보의 논리치로 결정된다.
상기 메모리셀에 대한 판독동작은 특히 제한되지 않지만, 판독 선택 워드선을 3.2V로 하고, 소스선을 회로의 접지전압에 도통시키고, 비트선에는 센스래치회로를 통해서 1.0V를 부여하며, 메모리셀의 문턱치 전압에 따라 비트선에서 소스선으로 흐르는 전류의 유무에 의한 비트선 전위의 변화에 따라서 기억정보를 판독한다.
상기 Y어드레스 디코더(32)에서 선택된 비트선은 데이터 입출력 제어회로(22)에 도통된다. 데이터 입출력 제어회로(22)와 상기 입출력 단자(I/O[0]~I/O[7])와의 접속은 상기 인터페이스 제어부(8)에 의해 제어된다.
도1의 상기 내부 전원회로(13)는 기록, 소거, 베리파이(verification), 판독 등을 위한 각종 동작전원을 생성하여 메모리 뱅크(3, 4)에 공급한다.
상기 커맨드 디코더(20) 및 CPU(21)는 상기 인터페이스 제어부(8)로부터 공급되는 커맨드 등에 따라서 플래시 메모리의 동작을 전체적으로 제어한다. 상세한 설명에 대해서는 후술하지만, 커맨드 디코더(20) 및 CPU(21)는 외부로부터 부여되는 커맨드에 응답하여 2개의 메모리 뱅크(3, 4)에 대해서 병렬로 소거 또는 기록동작을 행하며(병렬 동작), 혹은 2개의 메모리 뱅크(3, 4)의 하나에 대한 소거 또는 기록 중이라도 메모리 뱅크(3, 4)의 다른쪽에 대한 소거 또는 기록을 병렬적으로 행하는(인터리브 동작) 제어가 가능하다.
상기 커맨드는 특히 제한되지 않지만, 단수 혹은 복수의 커맨드 코드와 커맨드의 실행에 필요한 어드레스 정보 및 데이터 정보 등을 미리 정해진 포맷에 따라서 포함하고 있다. 커맨드에 포함되는 기록 데이터와 같은 데이터 정보는 데이터 입출력 제어회로(22)에 공급된다. 커맨드에 포함되는 어드레스 정보는 전술과 같이 어드레스 버퍼(11) 및 필요한 경우에는 어드레스 카운터(12)에 공급된다. 상기 메모리 뱅크(3, 4)는 각각 다른 메모리 어드레스에 매핑되며, 어드레스 버퍼(11)에 공급되는 X어드레스 신호는 예를 들면 2048 비트단위의 섹터영역의 하나를 지정하는 섹터 어드레스로서 위치 정해진다. 특히, 상기 X어드레스 신호의 일부의 정보, 예를 들면 최상위의 어드레스 비트(Am)는 메모리 동작의 대상 메모리 뱅크를 지시하는 메모리 뱅크 지정정보로 간주되어 커맨드 디코더(20)에 공급된다. 커맨드 디코더(20)는 그 메모리 뱅크 지정정보로 지정된 메모리 뱅크를 메모리 동작의 대상으로 하도록 CPU(21)에 지시한다. 어드레스 카운터(12)에 공급되는 Y어드레스 신호는 X어드레스 신호로 지정되는 섹터 어드레스의 2048비트의 데이터에 대해서 8비트 단위의 위치를 지정한다. 메모리 동작의 초기상태에서 어드레스 카운터(12)는 초기값 "0"에 리셋된다. 이것에 Y어드레스 신호가 공급되면, 그 값이 어드레스 카운터(12)의 프리셋트 값이 된다. Y어드레스 카운터(12)는 초기값 또는 프리셋트 값을 개시 어드레스라 하고, 필요에 따라서 순차 인크리먼트(increment) 한 Y어드레스 신호를 메모리 뱅크(3, 4)에 출력한다.
도1의 커맨드 디코더(20)는 커맨드에 포함되는 커맨드 코드를 해독하고, 메모리 뱅크 지정정보(Am)에 의해 동작시켜야 할 메모리 뱅크를 판정하며, 해독결과와 판정결과를 CPU(21)에 부여한다. CPU(21)는 그것에 의거하여, 동작시켜야 할 메모리 뱅크(3, 4)에 액세스 제어신호(CNT0, CNT1)를 공급하여 메모리 뱅크(3, 4)의 동작을 제어한다. 메모리 동작이 소거 또는 기록할 때, 고전압 인가는 단계적으로 진행되며, 각 단계에서 베리파이 동작이 행해지고, 베리파이 결과 정보(VFY0, VFY1)가 CPU(21)로 반환된다. CPU(21)는 베리파이 결과 정보(VFY0, VFY1)가 소요 문턱치 전압상태로의 미도달을 의미하고 있을 때는, 타임아웃이 아니면, 액세스 제어신호(CNT0, CNT1)에 의해 다음 단계의 고전압 인가를 지시한다. 타임아웃이 되더라도 베리파이 결과 정보(VFY0, VFY1)가 소요 문턱치 전압상태로의 미도달을 의미하고 있을 때는, CPU(21)는 페일·패스(Fail·Pass)정보(FP0, FP1)에 의해 페일상태를 스테이터스 레지스터(6, 7)에 부여한다. 커맨드 디코더(20)는 그때 부여되어 있는 커맨드로 지시되어 있는 동작에 따른 동작모드정보(MD0, MD1)를 스테이터스 레지스터(6, 7)에 출력한다. 스테이터스 레지스터(6, 7)는 페일·버스정보(FP0, FP1)에 의해 통지되는 페일·버스 요인을 동작모드정보(MD0, MD1)로 판정하고, 대응하는 레지스터 비트에 페일 또는 버스상태를 설정한다. 상기 커맨드 디코더(20)는 상기 스테이터스 레지스터(6, 7)가 유지하는 스테이터스 정보(ST0, ST1)를 입력하고, 그것을 참조하여, 새로운 입력 커맨드의 접수 가부 등을 결정한다. 예를 들면, 메모리 뱅크(Bank0)가 기록 페일일 때, 해당 메모리 뱅크를 지정한 액세스 커맨드의 접수는 기록 재시도 등의 미리 정해진 커맨드에 대해서만 가능하게 한다.
상기 스테이터스 레지스터(6, 7)는 메모리 뱅크마다 메모리 동작의 상태를 나타내는 정보를 보유한다. 2개의 스테이터스 레지스터(6, 7)의 유지내용은, 상기 아웃풋 인에이블 신호(/OE)를 어설트함으로써 입출력 단자(I/O[0]~I/O[7])로부터 판독할 수 있다. 입출력 단자(I/O[0]~I/O[7])와 그 출력 내용과의 대응은 도6에 예시되는 바와 같다. I/O[0]~I/O[3]이 메모리 뱅크(Bank1)용, I/O[4]~I/O[7]이 메모리 뱅크(Bank0)용이 된다. I/O[4]는 메모리 뱅크(3)(Bank0)의 기록체크결과를 출력하며, "H"로 기록 이상 종료(Fail), "L"로 기록 정상 종료(Pass)를 의미한다. I/O[5]는 메모리 뱅크(3)(Bank0)의 소거체크결과를 출력하며, "H"로 소거 이상 종료(Fail), "L"로 소거 정상 종료(Pass)를 의미한다. I/O[7]은 메모리 뱅크(3)(Bank0)의 현재의 동작상태를 출력하며, "H"로 비지상태(기록 또는 소거동작 중), "L"로 레디상태(새로운 기록 또는 소거동작 접수 가능상태)를 의미한다. I/O[0]~I/O[3]의 출력기능도 상기와 동일하다.
<< 플래시 메모리의 커맨드 >>
도7에는 플래시 메모리의 커맨드가 예시된다. 커맨드는 리드동작계 커맨드(A), 소거동작계 커맨드(B), 기록동작계 커맨드(C), 스테이터스 레지스터 클리어계 커맨드(D)로 크게 나누어진다. 동 도면에는 커맨드명, 의미, 그리고 커맨드 포맷의 기본형이 예시된다.
제1 시리얼 리드 커맨드(Serial Read(1))는 섹터의 데이터 영역에 대한 판독 커맨드이다. 제2 시리얼 리드 커맨드(Serial Read(22))는 섹터의 관리영역에 대한판독 커맨드이다. ID판독 커맨드(Read Identifier Codes)는 플래시 메모리 칩의 기억용량과 제조번호 등의 실리콘 시그네처를 판독하는 커맨드이다. 제1 데이터 리커버리 리드 커맨드(Data Recovery Read(1))는 1개의 메모리 뱅크에 대한 기록동작 시에 기록 페일이 된 메모리 뱅크가 보유하는 기록 데이터를 외부로 출력시키는 동작을 지시한다. 제2 데이터 리커버리 리드 커맨드(Data Recovery Read(2))는 2개의 메모리 뱅크에 대한 기록동작 시에 기록 페일이 된 한쪽 메모리 뱅크(3)(Bank0)가 보유하는 기록 데이터를 외부로 출력시키는 동작을 지시한다. 제3 데이터 리커버리 리드 커맨드(Data Recovery Read(3))는 2개의 메모리 뱅크에 대한 기록동작 시에 기록 페일이 된 다른쪽 메모리 뱅크(4)(Bank1)가 보유하는 기록 데이터를 외부로 출력시키는 동작을 지시한다. 그들 데이터 리커버리 커맨드는 기록 페일을 발생시켰을 때 플래시 메모리 내부에 유지되어 있는 기록 데이터를 외부로 출력하여 호스트 장치가 다른 플래시 메모리에 기록 가능하게 하기 위해 이용된다.
섹터 소거 커맨드(Sector Erase)는 섹터 단위의 소거동작을 지시한다.
제1 기록 커맨드(Progran(1))는 섹터 소거 시퀀스 삽입의 기록동작을 지시한다. 제2 기록 커맨드(Progran(2))는 섹터의 데이터 영역에 대한 기록동작을 지시한다. 제3 기록 커맨드(Progran(3))는 섹터의 관리영역에 대한 기록을 지시한다. 제4 기록 커맨드(Progran(4))는 추가 기록을 지시한다. 추가기록이란, 관리영역의 일부의 기억영역 등에 대한 기록동작이다. 프로그램 재시도 커맨드(Program Retry)는 기록 페일이 되었을 때 동일 메모리 뱅크의 다른 섹터에 기록동작을 재시도하는 지시를 부여한다.
스테이터스 레지스터 제1 리셋 커맨드(Clear Status Register(1))는 쌍방의 메모리 뱅크(3, 4)(Bank0, Bank1)의 스테이터스 레지스터(6, 7)에 대해서 기억정보를 클리어(리셋)하는 지시를 부여한다. 스테이터스 레지스터 제2 리셋 커맨드(Clear Status Register(2))는 한쪽의 메모리 뱅크(3)(Bank0)의 스테이터스 레지스터(6)에 대해서 기억정보를 클리어(리셋)하는 지시를 부여한다. 스테이터스 레지스터 제3 리셋 커맨드(Clear Status Register(3))는 다른쪽의 메모리 뱅크(4)(Bank1)의 스테이터스 레지스터(7)에 대해서 기억정보를 클리어(리셋)하는 지시를 부여한다.
상기 각종 커맨드의 선두에는 16진수 표기로 나타내는 "00H"와 같은 커맨드 코드가 배치된다. ID판독 커맨드(Read Identifier Codes) 등의 일부의 커맨드는 커맨드 코드만으로 구성된다. 어드레스 정보를 필요로 하는 커맨드는 커맨드 코드 다음에, 섹터 어드레스 정보(SA1, SA2)가 배치된다. 섹터 어드레스 정보(SA1, SA2)는 전부 16비트이며, 16비트로 하나의 섹터 어드레스(X어드레스 정보)를 구성한다. 판독과 기록동작에서 1섹터 중의 일부를 대상으로 하는 경우에, 섹터의 도중에서부터 판독과 기록을 행하고 싶은 경우에는 도7에는 도시를 생략하고 있지만, 섹터 어드레스 정보 다음에, Y어드레스 정보를 부가하면 된다. 기록동작과 같이 기록 데이터를 필요로 하는 경우에는, 그 다음에 기록 데이터가 계속된다.
섹터 소거 커맨드에서 커맨드 코드 "B0H"는 소거동작의 개시를 지시한다. 1개의 메모리 뱅크에 대한 섹터 소거를 지시하는 커맨드는 소거대상 섹터 어드레스(SA1, SA2)의 후에 커맨드 코드 "B0H"를 부가하면 된다. 2개의 메모리 뱅크에 대해서 병렬로 섹터 소거를 지시하기 위해서는 제1의 섹터 어드레스 정보(SA1, SA2)에 계속해서 제2의 섹터 어드레스 정보(SA1※1, SA2※1)를 배치하고, 마지막에 커맨드 코드 "B0H"를 부가하면 된다. 제2의 섹터 어드레스 정보(SA1※1, SA2※1)가 지정하는 메모리 뱅크는 제1의 섹터 어드레스 정보(SA1, SA2)가 지정하는 메모리 뱅크와는 상이하는 것이 필요하다. 제1의 섹터 어드레스 정보(SA1, SA2)와 제2의 섹터 어드레스 정보(SA1※1, SA2※1)와의 사이에 단락코드를 필요로 하지 않는다. 섹터 소거에서는 Y어드레스 정보와 데이터 정보를 필요로 하지 않기 때문이다.
제1 내지 제4 기록 커맨드 및 프로그램 재시도 커맨드에서 커맨드 코드 "40H"는 기록동작의 개시를 지시하는 커맨드 코드이다. 2개의 메모리 뱅크에 대해서 병렬로 기록을 행하는 경우에는 쌍방의 메모리 뱅크(3, 4)에 대한 어드레스와 기록 데이터 등의 지시정보의 사이에 단락코드로서 커맨드 코드 "41H"를 개재시킨다. 기록동작에서는 Y어드레스(어드레스 카운터로의 프리셋트 어드레스)의 지정은 임의이므로, 단락코드가 필요하게 된다. 이 단락코드 "41H"는 병렬 기록동작을 지시하는 커맨드 코드로서 위치를 정해도 된다. 기록동작에서는 제2의 섹터 어드레스 정보(SA1※2, SA2※2)가 지정되는 메모리 뱅크는 제1의 섹터 어드레스 정보(SA1, SA2)가 지정하는 메모리 뱅크와는 상이하는 점이 필요하다. 이 2뱅크 병렬 기록 커맨드는 인터리브 동작의 대상은 되지 않는다. 프로그램 재시도 커맨드에서는 섹터 어드레스(SA1※3, SA2※3)는 기록 페일한 뱅크를 선택하는 것이 필요하다. 그들 제약사항의 충족상태는 커맨드 디코더(20)가 판정한다.
<< 2메모리 뱅크 병렬 소거 >>
도8에는 2메모리 뱅크 병렬 소거동작의 타이밍 차트가 예시된다. 커맨드 코드 "20H"에 계속해서, 제1의 섹터 어드레스(SA(1), SA(2))와 제2의 섹터 어드레스(SA(3), SA(4))가 입력되고, 마지막으로 커맨드 코드 "BOH"가 입력된다. 커맨드 코드(20)는 커맨드 코드 "20H"의 입력을 검출한 후, 섹터 어드레스 (SA(1), SA(2))에 포함되는 메모리 뱅크 지정정보(Am)로 지정되는 메모리 뱅크를 인식하고, 그 메모리 뱅크에 섹터 어드레스(SA(1), SA(2))를 공급한다. 다음에 커맨드 디코더(20)는 그후 섹터 어드레스(SA(3), SA(4))에 포함되는 메모리 뱅크 지정정보(Am)로 지정되는 메모리 뱅크를 인식하고, 그 메모리 뱅크에 섹터 어드레스(SA(3), SA(4))를 공급한다. 쌍방의 섹터 어드레스로 지정되는 메모리 뱅크가 상이하는 경우, 커맨드 코드 "B0H"의 입력을 조건으로 각각의 섹터 어드레스로 지정되는 섹터의 병렬 소거동작을 CPU(21)에 실행시킨다. CPU(21)는 ROM이 보유하는 소거동작 프로그램을 실행하여 소거동작을 행한다(Auto Erase). 소거동작의 결과는 메모리 뱅크(3, 4)마다 스테이터스 레지스터(6, 7)에 설정된다. 쌍방의 섹터 어드레스로 지정되는 메모리 뱅크가 동일한 경우에는 소거동작은 개시되지 않고, 스테이터스 레지스터(6, 7)에 소거 페일이 설정된다. 소거동작의 완료는 레디·비지신호(R/B)에 의해 외부에서 파악할 수 있으며, 아웃풋 인에이블 신호(/OE)가 액티브로 되면, 스테이터스 레지스터(6, 7)의 정보가 입출력 단자(I/O[0]~I/O[7])를 통해서 외부로 출력된다.
또한 1개의 메모리 뱅크에 대한 소거동작에서는 도8의 T1부분의 동작이 생략되게 된다.
<< 2메모리 뱅크 병렬 기록 >>
도9에는 2개의 메모리 뱅크에 대한 병렬 기록동작의 타이밍 차트가 예시된다. 예를 들면 커맨드 코드 "10H"에 계속해서, 제1의 섹터 어드레스(SA(1), SA(2)) 및 제1의 Y어드레스(CA(1), CA(2))가 입력된다. 커맨드 디코더(20)는 커맨드 코드 "10H"의 입력을 검출한 후, 제1의 섹터 어드레스(SA(1), SA(2))에 포함되는 뱅크 지정정보에 의해 지정된 메모리 뱅크에 섹터 어드레스(SA(1), SA(2))를 공급하고, 또 제1의 Y어드레스(CA(1), CA(2))에서 프리셋트된 어드레스 카운터(12)의 카운트 동작(시리얼 클록(SC) 동기)에 동기하며, 시리얼 클록(SC) 동기로 공급되는 기록 데이터 Din(m)를 대응하는 메모리 뱅크에 입력한다. 기록 데이터 Din(m)의 입력수는 최대 1섹터분을 한계로 임의로 한다. 다음에, 2뱅크째의 단락코드 "41H"가 입력되고, 제2의 섹터 어드레스(SA(3), SA(4)) 및 제2 Y어드레스(CA(3), CA(4))가 입력된다. 커맨드 디코더(20)는 그 섹터 어드레스(SA(3), SA(4))에 포함되는 메모리 뱅크 지정정보(Am)로 지정되는 메모리 뱅크를 인식하고, 이것이 상기 섹터 어드레스(SA(1), SA(2))로 지정되는 메모리 뱅크와 상이할 때, 해당 섹터 어드레스(SA(3), SA(4))로 지정되는 메모리 뱅크에 해당 섹터 어드레스(SA(2), SA(4))를 공급하며, 또 제2의 Y어드레스(CA(3), CA(4))로 프리셋트된 어드레스 카운터(12)의 카운트 동작(시리얼 클록(SC) 동기)에 동기하여 시리얼 클록(SC) 동기로 공급되는 기록 데이터 Din(n)를 대응하는 메모리 뱅크에 입력한다. 마지막으로 커맨드 코드 "40H"가 입력되면, 커맨드 디코더(20)는 CPU(21)에 쌍방의 메모리 뱅크(3, 4)에 공급된 섹터 어드레스로 지정되는 섹터에 대해서 병렬 기록동작을 실행시킨다. CPU(21)는 ROM이 보유하는 기록 동작 프로그램을 실행하여 병렬 기록동작을 행한다(Auto Program), 기록동작의 결과는 메모리 뱅크(3, 4)마다 스테이터스 레지스터(6, 7)에 설정된다. 쌍방의 섹터 어드레스로 지정되는 메모리 뱅크가 동일한 경우에는 기록동작은 개시되지 않고, 스테이터스 레지스터(6, 7)에 기록 페일이 설정된다. 기록동작의 완료는 레디·비지신호(R/B)에 의해 외부에서 파악할 수 있으며, 아웃풋 인에이블 신호(/OE)가 액티브로 되면, 스테이터스 레지스터(6, 7)의 정보가 입출력 단자(I/O[0]~I/O[7])를 통해서 외부로 출력된다.
또한 도9의 동작 타이밍은 "1FH", "0FH", "11H"의 기록 커맨드 코드를 가지는 기록 커맨드의 경우도 동일하게 된다. 1개의 메모리 뱅크에 대한 기록동작에서는 도9의 T2부분의 동작이 생략되게 된다.
<< 기록 재시도 동작 >>
도10에는 기록 재시도 커맨드에 의한 동작 타이밍이 예시된다. 기록 재시도 커맨드는 커맨드 코드 "12H"에 섹터 어드레스(SA(1), SA(2))와 기록 개시를 지시하는 커맨드 코드 "40H"에 의해 구성된다. 커맨드 디코더(20)는 기록 재시도 커맨드에 부유하는 섹터 어드레스(SA(1), SA(2))가 기록 페일한 메모리 뱅크와 동일한 메모리 뱅크의 섹터 어드레스인 경우에 해당 커맨드를 접수한다. 기록 재시도 커맨드는 1메모리 뱅크마다의 동작이 된다.
<< 리커버리 리드 동작 >>
도11에는 1메모리 뱅크 동작시의 리커버리 리드 커맨드에 의한 동작 타이밍이 예시된다. 커맨드 디코더(20)는 1메모리 뱅크 기록동작에서 기록 페일이 발생하고 있는 상태에 있어서, 커맨드 코드 "01H"의 입력을 검출했을 때, 1메모리 뱅크 기록동작으로 기록 페일한 메모리 뱅크로부터 기록 페일에 관한 기록 데이터를 예를 들면 데이터 래치회로부터 판독하여 Dout으로서 외부로 출력한다. 1메모리 뱅크 기록동작에서 기록 페일이 발생하고 있는 상태는 스테이터스 레지스터(6, 7)로부터의 정보(ST0, ST1)에 의거하여 커맨드 디코더(20)가 인식한다.
도12에는 2메모리 뱅크 동작시의 리커버리 리드 커맨드에 의한 동작 타이밍이 예시된다. 커맨드 디코더(20)는 2메모리 뱅크 기록동작에서 메모리 뱅크(3)(Bank0)에서 기록 페일이 발생하고 있는 상태에 있어서, 커맨드 코드 "02H"의 입력을 검출했을 때, 기록 페일한 메모리 뱅크(3)(Bank0)에서, 기록 페일에 관한 기록 데이터를 예를 들면 데이터 래치회로로부터 판독하여, Dout으로서 외부로 출력한다. 또 커맨드 디코더(20)는 2메모리 뱅크 기록동작에서 메모리 뱅크(4)(Bank1)에서 기록 페일이 발생하고 있는 상태에 있어서, 커맨드 코드 "03H"의 입력을 검출했을 때, 기록 페일한 메모리 뱅크(4)(Bank1)에서 기록 페일에 관한 기록 데이터를 예를 들면 데이터 래치회로로부터 판독하여, Dout으로서 외부로 출력한다. 2메모리 뱅크 기록동작에서 기록 페일이 어느쪽의 메모리 뱅크에서 발생하고 있는지는 스테이터스 레지스터(6, 7)로부터의 정보(ST0, ST1)에 의거하여 커맨드 디코더(20)가 인식한다.
<< 스테이터스 레지스터 리셋동작 >>
도13에는 쌍방의 스테이터스 레지스터(6, 7)의 리셋동작이 예시된다. 커맨드디코더(20)는 커맨드 코드 "50H"를 해독하는 것에 의해 CPU(21)에 쌍방의 스테이터스 레지스터(6, 7)의 값을 "L"로 리셋한다.
도14에는 Bank0의 스테이터스 레지스터(6)에 대한 리셋동작이 예시된다. 메모리 뱅크(3)(Bank0)에서 기록 페일 또는 소거 페일을 발생하고 있을 때, 커맨드 디코더(20)는 커맨드 코드 "51H"의 입력을 검출하면, CPU(21)에 메모리 뱅크(3)의 스테이터스 레지스터(6)의 값을 "L"로 리셋시킨다.
도15에는 Bank1의 스테이터스 레지스터(7)에 대한 리셋동작이 예시된다. 메모리 뱅크(4)(Bank1)에서 기록 페일 또는 소거 페일을 발생하고 있을 때, 커맨드 디코더(20)는 커맨드 코드 "52H"의 입력을 검출하면, CPU(21)에 메모리 뱅크(4)의 스테이터스 레지스터(7)의 값을 "L"로 리셋시킨다.
또한 기록 페일과 소거 페일이 어느쪽의 메모리 뱅크에서 발생하고 있는지는 스테이터스 레지스터(6, 7)로부터의 정보(ST0, ST1)에 의거하여 커맨드 디코더(20)가 인식한다.
<< 페일 발생시의 동작 >>
도16에는 기록 페일 발생시에서의 커맨드 디코더(20) 및 CPU(21)의 동작 플로우가 예시된다. 커맨드 코드, 어드레스 및 기록 데이터를 입력하고(S1), 지정된 메모리 뱅크에 대한 기록의 오토 시퀀스를 CPU(21)가 실행한다(S2). 기록 성공의 판별이 행해지고(S3), 기록 성공이면 커맨드 처리를 종료한다. 기록 실패(기록 페일)이면, 다음의 커맨드 입력을 기다리고(S4), 입력 커맨드가 미리 정해진 커맨드 코드로서, 섹터 어드레스의 지정을 필요로 하는 커맨드인 경우에는 페일한 섹터 어드레스의 지정이 있는지의 판별이 행해진다(S5). 미리 정해진 커맨드 입력에 대해서는, 그것이 프로그램 재시도이면 처리를 스텝(S2)으로 되돌리고, 리커버리 리드 커맨드이면 그 리드동작의 오토 프로그램이 실행되며(S6), 스테이터스 레지스터 리셋 커맨드이면 리셋동작이 행해진다(S7).
도17에는 소거 페일 발생시에서의 커맨드 디코더(20) 및 CPU(21)의 동작 폴로우가 예시된다. 커맨드 코드 및 어드레스를 입력하고(S11), 지정된 메모리 뱅크에 대한 소거의 오토 시퀀스를 CPU(21)가 실행한다(S12). 소거성공의 판별이 행해지고(S13), 소거 성공이면 커맨드 처리를 종료한다. 소거 실패(소거 페일)이면, 다음의 커맨드 입력을 기다리고(S14), 입력 커맨드가 미리 정해진 커맨드 코드로서, 섹터 어드레스의 지정을 필요로 하는 커맨드인 경우에는 페일한 섹터 어드레스의 지정이 있는지의 판별이 행해진다(S15). 미리 정해진 커맨드 입력에 대해서, 그것이 스테이터스 레지스터 리셋 커맨드이면 리셋동작이 행해진다(S16).
<< 병렬 동작과 인터리브 동작 >>
도18에는 1개씩 메모리 뱅크를 동작시키는 1뱅크 동작(1Bank 동작)의 타이밍 차트가 예시된다. 기록 데이터는 Din1~Dini가 된다. 도18에서 시간 T2는 최초의 기록 커맨드에 의한 기록동작기간(기록동작의 비지상태의 기간)에 상당된다. 후의 기록동작 커맨드는 레디비지신호(R/B)가 레디상태로 되돌려진 후에 발생되고 있다. T1은 커맨드 발행시간이다. 메모리 뱅크(3, 4)마다 직렬적으로 기록동작이 행해진다.
도19에는 2뱅크 병렬 기록(2Bank 동시 기록)의 타이밍 차트가 예시된다. 커맨드 입력에는 T2의 약 2배의 시간이 걸리지만, 2개의 메모리 뱅크(3, 4)의 동작시간은 병렬 동작에 따라 T2로 끝낼 수 있다.
도20에는 인터리브 기록동작의 타이밍 차트가 예시된다. 상기 2뱅크 병렬 동작은 하나의 메모리 뱅크를 지정한 기록동작의 지시에 응답하는 메모리 동작의 개시 전에 계속해서 다른 메모리 뱅크를 지정한 기록동작의 지시가 있을 때 쌍방의 메모리 뱅크를 병렬로 기록동작시키는 것이다. 이것에 대해서, 인터리브 기록동작은 하나의 메모리 뱅크를 지정한 기록동작의 지시에 응답하는 메모리 동작중에서도 다른 메모리 뱅크를 지정한 기록동작의 지시에 응답하여 메모리 동작 가능하게 하는 동작을 의미한다. 시간 T3은 기록동작의 개시를 지시하는 커맨드 코드 "40H"의 발행에서, 다음의 기록동작의 섹터 어드레스 발행까지의 시간이며, 다른 시간은 극력 0에 근접시킬 수 있다.
전자의 기록 액세스 커맨드의 커맨드 코드는 "10H", "41H", "40H"이며, 후자의 기록 액세스 커맨드의 커맨드 코드는 "10H", "40H", "40H"이며, 시간 T3을 0에 근접시키면, 도19의 2뱅크 병렬 동시 기록을 위한 커맨드 입력시간과, 도20의 인터리브 기록동작을 위한 커맨드 입력시간은 실질적으로 동일하게 된다. 요컨대, 도19의 2뱅크 병렬 동시 기록동작시간과, 도20의 인터리브 기록동작시간은 최단 2T1+T2가 된다. 이것에 대해서 도18의 1뱅크동작에서는 2개의 메모리 뱅크에 대한 기록의 최단시간은 2T2+2T1이 된다.
따라서, 복수의 메모리 뱅크(3, 4)에서 병렬로 기록 또는 인터리브 기록동작이 가능하므로, 기록동작에 의한 비지상태의 기간을 단축하는 것이 가능하다. 특히도시는 하지 않지만, 소거동작의 경우도 마찬가지이다.
<< 칩 레이아웃 >>
도21에는 상기 플래시 메모리의 칩 레이아웃이 개략적으로 나타나 있다. 메모리 뱅크(3)(Bank0)는 메모리셀 어레이30(0), X어드레스 디코더31(0), Y어드레스 디코더32(0), Y스위치 회로33(0), 센스래치회로34(0) 및 데이터 래치회로35(0)로 구성된다. 메모리 뱅크(4)(Bank1)는 메모리셀 어레이30(1), X어드레스 디코더31(1), Y어드레스 디코더32(1), Y스위치 회로33(1), 센스래치회로34(1), 및 데이터 래치회로35(1)로 구성된다. 메모리 뱅크(3)용의 상기 구제회로(9)는 메모리 뱅크(3)에 인접 배치되고, 구제회로(9)에 의한 구제판정동작의 결과를 메모리 뱅크(3)의 어드레스 디코더31(0), 32(0)에 전달하는 전달경로가 극력 짧게 되도록 고려되어 있다. 마찬가지로, 메모리 뱅크(4)용의 상기 구제회로(10)는 메모리 뱅크(4)에 인접 배치되고, 구제회로(10)에 의한 구제판정동작의 결과를 메모리 뱅크(4)의 어드레스 디코더31(1), 32(1)에 전달하는 전달경로가 극력 짧게 되도록 고려되어 있다.
도21에서 40으로 나타내는 것은 입출력 단자(I/O) 등의 패드전극 및 어드레스 버퍼(11)를 총칭한다. 41은 어드레스 카운터(12), 데이터 입출력 제어회로(22) 등의 내부회로를 총칭한다.
이상 설명한 플래시 메모리(1)에 의하면 이하의 작용 효과를 얻는다.
커맨드 디코더(20) 및 CPU(21)는 외부로부터의 지시에 대한 메모리 동작의 상태를 나타내는 스테이터스 정보를 대응하는 메모리 뱅크(3, 4)의 스테이터스 레지스터(6, 7)에 반영하고, 상기 스테이터스 레지스터(6, 7)에 반영된 스테이터스 정보를 아웃풋 인에이블 신호(/OE)에 의한 출력 지시에 따라서 상기 인터페이스 제어부(8)를 통해서 입출력 단자(I/O)로부터 외부로 출력 가능하다. 이것에 의해 멀티뱅크의 플래시 메모리(1)에서 액세스 에러를 발생시킨 메모리 뱅크를 외부에서 특정할 수 있다.
상기 커맨드 디코더(20)는 상기 스테이터스 정보(ST0, ST1)에 의해 기록 이상이 통지되어 있을 때, 기록 이상에 관한 메모리 뱅크에 대해서는 다른 메모리 뱅크를 지정한 미리 정해진 동작지시, 예를 들면 기록 이상에 관한 메모리 뱅크를 지정한 기록 재시도 지시, 기록 이상에 관한 메모리 뱅크의 스테이터스 레지스터를 리셋하는 동작지시, 기록 이상에 관한 메모리 뱅크를 지정한 리커버리 리드 지시만을 접수한다. 이것에 의해, 내부의 멀티뱅크에서 기록 액세스 에러를 발생시켜도, 그 에러에 대한 메모리 컨트롤러(플래시 메모리(1)의 액세스 제어를 행하는 컨트롤러)측에서의 대처의 지시가 부적절할 때, 그것에 대해서 프로텍트(protection)를 가할 수 있으며, 메모리 동작의 신뢰성 향상과 메모리 컨트롤러의 부담 경감에 기여할 수 있다.
또 커맨드 디코더(20)는, 상기 스테이터스 정보(ST0, ST1)에 의해 소거 이상이 통지되었을 때, 소거 이상에 관한 메모리 뱅크에 대해서, 그 메모리 뱅크를 지정한 미리 정해진 동작지시, 예를 들면 소거 이상에 관한 메모리 뱅크의 스테이터스 레지스터를 리셋하는 스테이터스 레지스터 리셋 지시만을 접수 가능하게 한다. 이것에 의해, 내부의 멀티뱅크에서 소거의 액세스 에러를 발생시켜도, 그 에러에대한 메모리 컨트롤러측에서의 대처의 지시가 부적절할 때, 그것에 대해서 프로텍트를 가할 수 있으며, 메모리 동작의 신뢰성 향상과 메모리 컨트롤러의 부담 경감에 기여할 수 있다.
상기 커맨드 디코더(20) 및 CPU(21)는 하나의 메모리 뱅크를 지정한 외부로부터의 지시에 응답하는 메모리 동작 중에서도 다른 메모리 뱅크를 지정한 외부로부터의 지시에 응답하여 메모리 동작을 개시하는 인터리브 동작, 하나의 메모리 뱅크를 지정한 외부로부터의 지시에 응답하는 메모리 동작의 개시 전에 계속해서 외부로부터 다른 메모리 뱅크를 지정한 메모리 동작의 지시가 있을 때 쌍방의 메모리 뱅크의 동작을 병렬로 개시시키는 병렬 동작이 가능하기 때문에, 복수의 메모리 뱅크로 병렬적으로 기록동작 또는 소거동작의 액세스 동작을 행할 수 있다. 따라서, 소거동작 및 기록동작에 의한 비지상태의 기간을 단축하는 것이 가능하다.
인터리브 기록동작을 지시하는 액세스 커맨드에 대해 병렬 기록동작을 지시하는 액세스 커맨드는 커맨드 코드 "41H"만이 상이하고, 예를 들면 커맨드 코드 "10H"에 관해서는 해당 커맨드 코드 "10H"와 "40H"는 공통 이용된다. 따라서, 멀티뱅크의 인터리브 동작과 함께 병렬 동작의 제어형태를 채용해도 커맨드의 증가를 적게 억제할 수 있으며, 커맨드 해독의 논리규모가 너무 크게 되는 것을 억제할 수 있다.
Y어드레스 신호를 필요로 하지 않는 소거동작의 경우에는 병렬 소거동작을 지시하는 경우에도 메모리 뱅크(3)용의 소거 섹터 어드레스와 메모리 뱅크(4)용의 소거 섹터 어드레스와의 사이에 단락코드를 필요로 하지 않는 커맨드 포맷을 채용한다. 이것에 의해 커맨드의 증가를 적게 억제할 수 있으며, 커맨드 해독의 논리규모가 너무 크게 되는 것을 억제할 수 있다.
이상 본 발명에 의해 행해진 발명을 실시형태에 의거하여 구체적으로 설명했지만, 본 발명은 그것에 한정되는 것이 아니라, 그 요지를 이탈하지 않는 범위에서 여러가지 변경 가능한 것은 말할 필요도 없다.
예를 들면, 불휘발성 메모리셀은 플래시 메모리셀에 한정되지 않고, MNOS, 고유전체(高誘電體) 메모리셀 등이라도 된다. 또 메모리셀의 기억정보는 1개의 메모리셀에 대해서 2치로 한정하지 않고 4치 등의 다치(多値)라도 된다. 또 플래시 메모리에서 메모리셀 어레이의 구성은 AND형에 한정되지 않고, NOR형, NAND형 등 적절하게 변경 가능하다. 또 소거 및 기록에 대한 문턱치 전압적인 정의는 본 명세서와는 반대로 정의하는 것도 가능하다.
또 스테이터스 레지스터는 레디·비지정보를 유지하지 않아도 된다. 또 커맨드의 종류, 섹터 어드레스의 지정방법, 기록 데이터의 입력방법 등은 상기와는 달러도 된다. 예를 들면 데이터, 어드레스, 커맨드의 입력단자를 전용으로 하지 않아도 된다. 메모리 뱅크의 수는 2개에 한정되지 않고, 그 이상의 수를 구비해도 된다.
본원에서 개시되는 발명 중 대표적인 것에 의해 얻어지는 효과를 간단하게 설명하면 하기와 같다.
즉 멀티뱅크를 가지는 불휘발성 기억장치에서 액세스 에러를 발생시킨 메모리 뱅크를 외부에서 특정할 수 있다.
멀티뱅크를 가지는 불휘발성 기억장치에서, 내부의 멀티뱅크에서 기록과 소거에러 등의 액세스 에러를 발생시켜도 그 에러에 대한 메모리 컨트롤러측에서의 대처의 지시가 부적절할 때, 그것에 대해서 프로텍트를 가할 수 있으며, 메모리 동작의 신뢰성 향상과 메모리 컨트롤러의 부담 경감에 기여할 수 있다.
멀티뱅크를 가지는 플래시 메모리 등의 불휘발성 기억장치에서, 복수의 메모리 뱅크에서 병렬로 기록동작 또는 소거동작 등의 액세스 동작을 행할 수 있다.
멀티뱅크를 가지는 플래시 메모리 등의 불휘발성 기억장치에서 소거동작 및 기록동작에 의한 비지상태의 기간을 단축할 수 있다.
멀티뱅크의 불휘발성 기억장치에서 메모리 뱅크마다 액세스 동작시키는 것에 대해, 복수의 메모리 뱅크를 병렬 동작시키는데 커맨드 해독의 논리규모가 너무 크게 되는 것을 억제할 수 있다.
본 발명은, 2치 또는 4치 등의 다치(多値)로 기억정보를 행하는 플래시 메모리 , EEPROM, 또는 강유전체 메모리 등의 불휘발성 기억장치에 널리 적용할 수 있다.

Claims (16)

  1. 반도체 기판에, 기억정보의 재기록이 가능한 불휘발성 메모리셀을 구비하고 각각 독립적으로 메모리 동작 가능한 복수개의 메모리 뱅크와, 상기 복수개의 메모리 뱅크에 대한 메모리 동작을 제어하는 제어부와, 상기 메모리 뱅크마다 설치된 스테이터스 레지스터와, 외부와의 인터페이스부를 가지고,
    상기 제어부는 동작지시에 따라서 메모리 뱅크마다 메모리 동작을 제어하며, 메모리 동작의 상태를 나타내는 스테이터스 정보를 대응하는 메모리 뱅크의 스테이터스 레지스터에 반영하고, 상기 스테이터스 레지스터에 반영된 스테이터스 정보를 상기 인터페이스부로부터 외부로 출력 가능하게 하는 것인 것을 특징으로 하는 불휘발성 기억장치.
  2. 제 1 항에 있어서,
    상기 메모리 동작으로서, 불휘발성 메모리셀에 대한 기억정보의 소거동작, 불휘발성 메모리셀에 대한 정보의 기록동작 및 불휘발성 메모리셀에 대한 기억정보의 판독동작이 가능하며,
    상기 스테이터스 정보는 상기 소거동작에 대한 소거 이상의 유무를 나타내는 소거체크정보와, 상기 기록동작에 대한 기록 이상의 유무를 나타내는 기록체크정보인 것을 특징으로 하는 불휘발성 기억장치.
  3. 제 2 항에 있어서,
    상기 제어부는, 상기 스테이터스 정보가 기록 이상일 때, 기록 이상에 관한 메모리 뱅크를 지정한 동작의 지시에 대해서 미리 정해진 지시만을 접수 가능하게 하는 것을 특징으로 하는 불휘발성 기억장치.
  4. 제 3 항에 있어서,
    상기 미리 정해진 지시는 기록 이상에 관한 메모리 뱅크를 지정하여 기록동작을 재차 반복하는 동작을 지시하는 기록 재시도 지시와, 기록 이상에 관한 메모리 뱅크의 스테이터스 레지스터에 대해서 리셋 동작을 지시하는 스테이터스 레지스터 리셋 지시를 포함하는 것을 특징으로 하는 불휘발성 기억장치.
  5. 제 4 항에 있어서,
    상기 미리 정해진 지시는 기록 이상에 관한 메모리 뱅크를 지정하여 기록 이상에 관한 기록 데이터를 외부로 출력하는 동작을 지시하는 리커버리 리드 지시를 더 포함하는 것을 특징으로 하는 불휘발성 기억장치.
  6. 제 2 항에 있어서,
    상기 제어부는, 상기 스테이터스 정보가 소거 이상일 때, 소거 이상에 관한 메모리 뱅크를 지정한 동작의 지시에 대해서 미리 정해진 지시만을 접수 가능하게 하는 것을 특징으로 하는 불휘발성 기억장치.
  7. 제 6 항에 있어서,
    상기 미리 정해진 지시는 소거 이상에 관한 메모리 뱅크의 스테이터스 레지스터에 대해서 리셋동작을 지시하는 스테이터스 레지스터 리셋 지시인 것을 특징으로 하는 불휘발성 기억장치.
  8. 제 1 항에 있어서,
    각 메모리 뱅크마다 상기 메모리 뱅크에 포함되는 불휘발성 메모리셀의 결함을 구제하기 위한 구제회로를 가지고 이루어지는 것인 것을 특징으로 하는 불휘발성 기억장치.
  9. 반도체 기판에, 기억정보의 재기록이 가능한 불휘발성 메모리셀을 구비하고 각각 독립적으로 메모리 동작 가능한 복수개의 메모리 뱅크와, 상기 복수개의 메모리 뱅크에 대한 메모리 동작을 외부로부터의 지시에 따라서 제어하는 제어부를 가지고,
    상기 제어부는 동작지시에 따라서 메모리 뱅크마다 메모리 동작을 제어하며, 하나의 메모리 뱅크를 지정한 동작지시에 응답하는 메모리 동작 중에서도 다른 메모리 뱅크를 지정한 동작지시에 응답하는 메모리 동작을 개시시키는 인터리브 동작과, 하나의 메모리 뱅크를 지정한 동작지시에 응답하는 메모리 동작의 개시 전에 계속해서 다른 메모리 뱅크를 지정하는 메모리 동작의 지시가 있을 때 쌍방의 메모리 뱅크의 메모리 동작을 병렬로 개시시키는 병렬 동작을 제어 가능한 것을 특징으로 하는 불휘발성 기억장치.
  10. 제 9 항에 있어서,
    상기 메모리 동작으로서, 불휘발성 메모리셀에 대한 기억정보의 소거동작, 불휘발성 메모리셀에 대한 정보의 기록동작 및 불휘발성 메모리셀에 대한 기억정보의 판독동작이 가능하며,
    상기 인터리브 동작 및 병렬 동작은 상기 소거동작의 지시 또는 기록동작의 지시에 대해서 가능하게 되는 것인 것을 특징으로 하는 불휘발성 기억장치.
  11. 제 10 항에 있어서,
    상기 제어부는 기록동작의 지시에 대해서 상기 인터리브 동작을 가능하게 하든지 상기 별렬 동작을 가능하게 하든지를, 커맨드 코드의 상이에 의해 결정하는 것인 것을 특징으로 하는 불휘발성 기억장치.
  12. 제 10 항에 있어서,
    상기 제어부는 소거동작의 지시에 대해서 상기 인터리브 동작을 가능하게 하든지 상기 병렬 동작을 가능하게 하든지를, 메모리 뱅크의 지정이 단수인지 복수인지에 따라 결정하는 것인 것을 특징으로 하는 불휘발성 기억장치.
  13. 반도체 기판에, 기억정보의 재기록이 가능한 불휘발성 메모리셀을 구비하고 각각 독립적으로 메모리 동작 가능한 복수개의 메모리 뱅크와, 상기 복수개의 메모리 뱅크에 대한 메모리 동작을 외부로부터의 액세스 커맨드에 따라서 제어하는 제어부를 가지고,
    상기 액세스 커맨드로서 제1 액세스 커맨드와 제2 액세스 커맨드가 있으며,
    상기 제1 액세스 커맨드는 제1 커맨드 코드, 하나의 메모리 뱅크의 어드레스를 지정하는 어드레스 정보, 제2 커맨드 코드, 다른 메모리 뱅크의 어드레스를 지정하는 어드레스 정보 및 상기 제2 커맨드 코드를 포함하며,
    상기 제2 액세스 커맨드는 제1 커맨드 코드, 하나의 메모리 뱅크의 어드레스를 지정하는 어드레스 정보, 제3 커맨드 코드, 다른 메모리 뱅크의 어드레스를 지정하는 어드레스 정보 및 상기 제2 커맨드 코드를 포함하고,
    상기 제어부는 상기 제2 커맨드 코드의 입력에 응답하여 상기 어드레스 정보에 의한 지정 메모리 뱅크의 메모리 동작을 개시하는 것인 것을 특징으로 하는 불휘발성 기억장치.
  14. 제 13 항에 있어서,
    상기 메모리 동작으로서, 불휘발성 메모리셀에 대한 기억정보의 소거동작, 불휘발성 메모리셀에 대한 정보의 기록동작 및 불휘발성 메모리셀에 대한 기억정보의 판독동작이 가능하며,
    상기 제1 커맨드 코드는 기록동작의 종별을 부여하는 커맨드 코드이며, 제2커맨드 코드는 기록동작의 개시를 지시하는 커맨드 코드인 것을 특징으로 하는 불 기억장치.
  15. 반도체 기판에, 기억정보의 재기록이 가능한 불휘발성 메모리셀을 구비하고 각각 독립적으로 메모리 동작 가능한 복수개의 메모리 뱅크와, 상기 복수개의 메모리 뱅크에 대한 메모리 동작을 외부로부터의 액세스 커맨드에 따라서 제어하는 제어부를 가지고,
    상기 액세스 커맨드로서 제3 액세스 커맨드와 제4 액세스 커맨드가 있으며,
    상기 제3 액세스 커맨드는 제4 커맨드 코드, 하나의 메모리 뱅크의 어드레스를 지정하는 어드레스 정보 및 상기 제5 커맨드 코드를 포함하며,
    상기 제4 어드레스 커맨드는 제4 커맨드 코드, 하나의 메모리 뱅크의 어드레스를 지정하는 어드레스 정보, 다른 메모리 뱅크의 어드레스를 지정하는 어드레스 정보 및 상기 제5 커맨드 코드를 포함하고,
    상기 제어부는 상기 제5 커맨드 코드에 응답하여 상기 어드레스 정보에 의한 지정 메모리 뱅크의 메모리 동작을 개시하는 것인 것을 특징으로 하는 불휘발성 기억장치.
  16. 제 15 항에 있어서,
    상기 메모리 동작으로서, 불휘발성 메모리셀에 대한 기억정보의 소거동작, 불휘발성 메모리셀에 대한 정보의 기록동작 및 불휘발성 메모리셀에 대한 기억정보의 판독동작이 가능하게 되며,
    상기 제4 커맨드 코드는 소거동작의 지시를 부여하는 커맨드 코드이며, 제5 커맨드 코드는 소거동작의 개시를 지시하는 커맨드 코드인 것을 특징으로 하는 불휘발성 기억장치.
KR10-2004-7000863A 2001-07-23 2002-06-07 불휘발성 기억장치 KR20040028934A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JPJP-P-2001-00220956 2001-07-23
JP2001220956A JP2003036681A (ja) 2001-07-23 2001-07-23 不揮発性記憶装置
PCT/JP2002/005641 WO2003010775A1 (fr) 2001-07-23 2002-06-07 Memoire non volatile

Publications (1)

Publication Number Publication Date
KR20040028934A true KR20040028934A (ko) 2004-04-03

Family

ID=19054699

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2004-7000863A KR20040028934A (ko) 2001-07-23 2002-06-07 불휘발성 기억장치

Country Status (4)

Country Link
US (1) US20040210729A1 (ko)
JP (1) JP2003036681A (ko)
KR (1) KR20040028934A (ko)
WO (1) WO2003010775A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101055356B1 (ko) * 2007-03-09 2011-08-09 가부시키가이샤 어드밴티스트 시험 장치

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080195798A1 (en) * 2000-01-06 2008-08-14 Super Talent Electronics, Inc. Non-Volatile Memory Based Computer Systems and Methods Thereof
JP2003223792A (ja) * 2002-01-25 2003-08-08 Hitachi Ltd 不揮発性メモリ及びメモリカード
JP4257214B2 (ja) * 2002-02-28 2009-04-22 株式会社ルネサステクノロジ 不揮発性半導体記憶装置
JP4052857B2 (ja) * 2002-03-18 2008-02-27 株式会社日立製作所 不揮発性半導体メモリアレイ及び該メモリアレイリード方法
US6965527B2 (en) * 2002-11-27 2005-11-15 Matrix Semiconductor, Inc Multibank memory on a die
KR100506448B1 (ko) * 2002-12-27 2005-08-08 주식회사 하이닉스반도체 불휘발성 강유전체 메모리를 이용한 인터리브 제어 장치
KR100596821B1 (ko) * 2003-12-22 2006-07-03 주식회사 하이닉스반도체 멀티 프로세서 기능을 지원하는 메모리 장치
JP2005222315A (ja) * 2004-02-05 2005-08-18 Sony Corp 不揮発性メモリ制御方法および装置
KR100585128B1 (ko) * 2004-02-16 2006-05-30 삼성전자주식회사 입력 신호들의 주파수에 따라 다른 타입의 터미네이션장치들을 가지는 반도체 메모리 장치 및 이를 구비하는반도체 메모리 시스템
US7490283B2 (en) 2004-05-13 2009-02-10 Sandisk Corporation Pipelined data relocation and improved chip architectures
KR20060009446A (ko) * 2004-07-22 2006-02-01 삼성전자주식회사 프로세서의 오동작을 방지할 수 있는 정보 처리 장치
US20110029723A1 (en) * 2004-08-06 2011-02-03 Super Talent Electronics, Inc. Non-Volatile Memory Based Computer Systems
US7420847B2 (en) * 2004-12-14 2008-09-02 Sandisk Corporation Multi-state memory having data recovery after program fail
US7120051B2 (en) 2004-12-14 2006-10-10 Sandisk Corporation Pipelined programming of non-volatile memories using early data
US7158421B2 (en) * 2005-04-01 2007-01-02 Sandisk Corporation Use of data latches in multi-phase programming of non-volatile memories
US7849381B2 (en) 2004-12-21 2010-12-07 Sandisk Corporation Method for copying data in reprogrammable non-volatile memory
TWI410974B (zh) * 2005-04-01 2013-10-01 Sandisk Technologies Inc 於編程失敗後具有資料回復之複數狀態記憶體
WO2006107651A1 (en) * 2005-04-01 2006-10-12 Sandisk Corporation Multi-state memory having data recovery after program fail
US7206230B2 (en) * 2005-04-01 2007-04-17 Sandisk Corporation Use of data latches in cache operations of non-volatile memories
US7447078B2 (en) * 2005-04-01 2008-11-04 Sandisk Corporation Method for non-volatile memory with background data latch caching during read operations
US20090100290A1 (en) * 2005-08-22 2009-04-16 Matsushita Electric Industrial Co., Ltd. Memory controller, nonvolatile memory device, nonvolatile memory system, and data writing method
US7747833B2 (en) 2005-09-30 2010-06-29 Mosaid Technologies Incorporated Independent link and bank selection
US20070076502A1 (en) 2005-09-30 2007-04-05 Pyeon Hong B Daisy chain cascading devices
WO2007036050A1 (en) 2005-09-30 2007-04-05 Mosaid Technologies Incorporated Memory with output control
US7652922B2 (en) 2005-09-30 2010-01-26 Mosaid Technologies Incorporated Multiple independent serial link memory
KR100819102B1 (ko) 2007-02-06 2008-04-03 삼성전자주식회사 개선된 멀티 페이지 프로그램 동작을 갖는 불휘발성 반도체메모리 장치
KR100888261B1 (ko) * 2007-02-22 2009-03-11 삼성전자주식회사 뱅크 id를 이용할 수 있는 메모리 서브 시스템과 그 방법
WO2009013879A1 (ja) * 2007-07-20 2009-01-29 Panasonic Corporation メモリーコントローラ、及びこれを用いた不揮発性記憶装置
JP5190288B2 (ja) * 2008-03-28 2013-04-24 株式会社アドバンテスト 試験装置および試験方法
KR20100091640A (ko) * 2009-02-11 2010-08-19 삼성전자주식회사 메모리 장치, 이를 포함하는 메모리 시스템, 및 이들의 데이터 처리 방법
KR101594030B1 (ko) 2009-05-13 2016-02-29 삼성전자주식회사 플래시 메모리 장치의 프로그램 방법
WO2011070526A1 (en) * 2009-12-11 2011-06-16 International Business Machines Corporation Flash memory controller
JP4746699B1 (ja) * 2010-01-29 2011-08-10 株式会社東芝 半導体記憶装置及びその制御方法
US8332460B2 (en) * 2010-04-14 2012-12-11 International Business Machines Corporation Performing a local reduction operation on a parallel computer
JP5378326B2 (ja) 2010-08-17 2013-12-25 株式会社東芝 不揮発性半導体記憶装置とその制御方法
US8472280B2 (en) 2010-12-21 2013-06-25 Sandisk Technologies Inc. Alternate page by page programming scheme
JP4776742B1 (ja) * 2011-05-13 2011-09-21 株式会社東芝 半導体記憶装置及びその制御方法
US8910178B2 (en) 2011-08-10 2014-12-09 International Business Machines Corporation Performing a global barrier operation in a parallel computer
US9495135B2 (en) 2012-02-09 2016-11-15 International Business Machines Corporation Developing collective operations for a parallel computer
US20180101457A1 (en) * 2014-10-29 2018-04-12 International Business Machines Corporation Retrying failed write operations in a dispersed storage network
US9772777B2 (en) * 2015-04-27 2017-09-26 Southwest Research Institute Systems and methods for improved access to flash memory devices
US9870325B2 (en) * 2015-05-19 2018-01-16 Intel Corporation Common die implementation for memory devices with independent interface paths
JP2018170057A (ja) 2017-03-29 2018-11-01 東芝メモリ株式会社 半導体記憶装置及びそのデータ消去制御方法
US11158381B2 (en) 2017-10-12 2021-10-26 Samsung Electronics Co., Ltd. Non-volatile memory device and operating method thereof
KR102336662B1 (ko) * 2017-10-12 2021-12-07 삼성전자 주식회사 비휘발성 메모리 장치 및 상기 비휘발성 메모리 장치의 동작 방법
KR20210031266A (ko) 2019-09-11 2021-03-19 삼성전자주식회사 인터페이스 회로, 메모리 장치, 저장 장치 및 메모리 장치의 동작 방법

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5321845A (en) * 1987-09-09 1994-06-14 Hitachi, Ltd. Single-chip microcomputer including non-volatile memory elements
JP2629463B2 (ja) * 1991-01-25 1997-07-09 日本電気株式会社 半導体記憶回路
TW261687B (ko) * 1991-11-26 1995-11-01 Hitachi Seisakusyo Kk
JP3523286B2 (ja) * 1993-03-12 2004-04-26 株式会社日立製作所 順次データ転送型メモリ及び順次データ転送型メモリを用いたコンピュータシステム
US5509134A (en) * 1993-06-30 1996-04-16 Intel Corporation Method and apparatus for execution of operations in a flash memory array
JPH0798991A (ja) * 1993-09-29 1995-04-11 Mitsubishi Electric Corp 不揮発性半導体記憶装置
JPH07192481A (ja) * 1993-12-27 1995-07-28 Mitsubishi Electric Corp 半導体記憶装置
JP3059349B2 (ja) * 1994-12-19 2000-07-04 シャープ株式会社 Icカード、及びフラッシュメモリの並列処理方法
US5954828A (en) * 1995-01-05 1999-09-21 Macronix International Co., Ltd. Non-volatile memory device for fault tolerant data
JP3489708B2 (ja) * 1996-10-23 2004-01-26 シャープ株式会社 不揮発性半導体記憶装置
US5890192A (en) * 1996-11-05 1999-03-30 Sandisk Corporation Concurrent write of multiple chunks of data into multiple subarrays of flash EEPROM
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
JPH11126497A (ja) * 1997-10-22 1999-05-11 Oki Electric Ind Co Ltd 不揮発性半導体記憶装置
JP3883687B2 (ja) * 1998-02-16 2007-02-21 株式会社ルネサステクノロジ 半導体装置、メモリカード及びデータ処理システム
US6209069B1 (en) * 1998-05-11 2001-03-27 Intel Corporation Method and apparatus using volatile lock architecture for individual block locking on flash memory
US6154819A (en) * 1998-05-11 2000-11-28 Intel Corporation Apparatus and method using volatile lock and lock-down registers and for protecting memory blocks
JP3580702B2 (ja) * 1998-06-03 2004-10-27 シャープ株式会社 不揮発性半導体記憶装置
KR100330164B1 (ko) * 1999-04-27 2002-03-28 윤종용 무효 블록들을 가지는 복수의 플래시 메모리들을 동시에 프로그램하는 방법
JP2001067890A (ja) * 1999-08-25 2001-03-16 Nec Ic Microcomput Syst Ltd 半導体記憶装置
JP2001167586A (ja) * 1999-12-08 2001-06-22 Toshiba Corp 不揮発性半導体メモリ装置
JP4082482B2 (ja) * 2000-12-11 2008-04-30 株式会社ルネサステクノロジ 記憶システムおよびデータ処理システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101055356B1 (ko) * 2007-03-09 2011-08-09 가부시키가이샤 어드밴티스트 시험 장치

Also Published As

Publication number Publication date
JP2003036681A (ja) 2003-02-07
US20040210729A1 (en) 2004-10-21
WO2003010775A1 (fr) 2003-02-06

Similar Documents

Publication Publication Date Title
KR20040028934A (ko) 불휘발성 기억장치
JP4061272B2 (ja) メモリシステム及びメモリカード
US11150808B2 (en) Flash memory system
JP5085939B2 (ja) 書き込み/消去失敗検出機構を有するフラッシュ記憶システム
CN108122588B (zh) 非易失性存储器设备及包括其的存储设备
US7711889B2 (en) Nonvolatile memory system, and data read/write method for nonvolatile memory system
US7061799B2 (en) Nonvolatile semiconductor memory device
JP5236949B2 (ja) 消去されたセクタの検出メカニズム
US7739559B2 (en) Semiconductor device and program data redundancy method therefor
JP4901348B2 (ja) 半導体記憶装置およびその制御方法
CN106340324B (zh) 半导体存储装置、其不良列救济方法及冗余信息设定方法
JP4730846B2 (ja) メモリシステム
JP2006012367A (ja) 不揮発性半導体記憶装置
KR20170129060A (ko) 반도체 장치
US7543104B2 (en) Non-volatile semiconductor device for use in memory card and memory system
JP4034947B2 (ja) 不揮発性記憶システム
JP4637526B2 (ja) メモリカードおよび不揮発性記憶装置
KR100863373B1 (ko) 메모리 시스템 및 메모리 카드
JP4641034B2 (ja) 不揮発性記憶システム
CN107633863B (zh) 存储器装置及其程式化方法
CN114121118A (zh) 半导体存储装置及半导体存储装置的动作方法
CN118098309A (zh) 提高nor flash配置模块数据准确率的方法、装置、存储介质及存储设备
JP2011048852A (ja) 不揮発性記憶システム
JP2008103076A (ja) データの一部書き換え機能を有する半導体不揮発性メモリ
JP2002008381A (ja) 半導体装置

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid