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

불휘발성 기억장치 Download PDF

Info

Publication number
KR20040023508A
KR20040023508A KR1020030058145A KR20030058145A KR20040023508A KR 20040023508 A KR20040023508 A KR 20040023508A KR 1020030058145 A KR1020030058145 A KR 1020030058145A KR 20030058145 A KR20030058145 A KR 20030058145A KR 20040023508 A KR20040023508 A KR 20040023508A
Authority
KR
South Korea
Prior art keywords
information
nonvolatile memory
read
controller
threshold voltage
Prior art date
Application number
KR1020030058145A
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 KR20040023508A publication Critical patent/KR20040023508A/ko

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • 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
    • 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/5642Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • 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

Abstract

본 발명은 불휘발성 기억장치에 관한 것으로, 불휘발성 메모리와 컨트롤러를 탑재한 불휘발성 기억장치에 있어서, 리드/라이트속도의 성능을 향상, 리텐션 에러 내성의 향상을 실현한다.
불휘발성 메모리(3)는 2비트이상의 정보를 격납가능하게 되고, 불휘발성 메모리셀로부터 독출한 정보를 1비트정보로서 출력하는 제 1 독출과, 독출한 정보를 2비트정보로서 출력하는 제 2 독출이 가능하다. 컨트롤러(2)는 불휘발성 메모리로부터 제 1 정보를 독출할 때는 제 1 독출을 행하고, 제 2 정보를 독출할 때는 제 2 독출을 행한다. 제 1 독출은 제 2 독출에 비하여 독출속도를 고속화할 수 있다. 제 1 독출대상영역에 대한 기입에서는 임계치 전압을 상한의 임계치 전압분포의 전압과 하한의 임계치 전압분포의 전압에서 선택된 한쪽의 전압으로서, 제 1 정보의 리텐션 에러 내성을 향상하는 기술을 제공한다.

Description

불휘발성 기억장치{NONVOLATILE MEMORY APPARATUS}
본 발명은 불휘발성 메모리와 컨트롤러를 갖는 불휘발성 기억장치에 관하여, 예를 들면 불휘발성 메모리로서 플래쉬메모리를 구비한 메모리카드에 적용하여 유효한 기술에 관한 것이다.
불휘발성 메모리로서 한 개의 불휘발성 메모리셀에 2비트정보를 기억가능한 것이 있다. 일본 특개평 10-106276호 공보, 미국 특허번호 6,091,640에는 메모리셀에 2비트정보와 1비트정보를 기억가능한 불휘발성 메모리셀에 대하여 기재가 있다. 이것에 따르면, 한 개의 불휘발성 메모리셀에 2비트정보를 기억할 경우에는 각각의 임계치 전압분포가 좁아짐으로, 임계치 전압을 설정할 때 펄스전압의 인가마다 변화되는 불휘발성 메모리셀의 임계치 전압의 변화량을 상대적으로 작게 하는 고정밀도 기입모드를 갖고, 한 개의 불휘발성 메모리셀에 1비트정보를 기억할 경우에는 임계치 전압을 설정할 때 펄스전압의 인가마다 변화되는 불휘발성 메모리셀의 임계치 전압의 변화량을 상대적으로 크게 하는 엉성한 기입모드를 가진다. 펄스전압의 인가횟수는 엉성한 기입모드 쪽이 적으므로, 엉성한 기입모드를 이용할 때에는 기입 벨리페이횟수가 적아지므로, 이것에 의해 전체로서 기입동작이 고속화된다. 기억밀도 혹은 기억용량을 우성시킬 경우에는 고정밀도 기입모드를 이용하여 한 개의 불휘발성 메모리셀에 2비트정보를 기억한다. 혹은 뒤에서 1비트정보를 2비트정보로 고쳐 불휘발성 메모리셀에 기억시킨다. 그 외에 다치(多値)정보를 기억가능하게 한 불휘발성 메모리로서 WO98/01861, 미국특허번호6,166,950의 재공표 특허공보의 기재가 있다.
본원 발명자는 컨트롤러와 플래쉬메모리를 탑재한 메모리카드에 대해 검토했다. 예를 들면, 메모리카드에 탑재되는 플래쉬메모리는 유저 데이터영역, 대체영역 및 대체선 등록테이블영역 등에 나눠지고, 각 영역은 각각 고유의 물리블록 어드레스가 할당되어 블록분할되고, 각 블록(섹터)은 데이터부와 데이터부의 유효성 등을 나타내는 관리정보부로 나눠진다. 호스트장치로부터 억세스요구가 있으면, 컨트롤러는 억세스대상의 물리블록 어드레스에 배치된 관리정보부의 관리정보를 리드하고, 대응하는 데이터부의 유효성을 판정하고, 유효이라면 그 데이터부를 억세스하고, 무효이라면 대체선 등록테이블영역에서 대체선의 물리블록 어드레스를 취득하고, 동일하게 그 어드레스의 데이터부의 유효성을 판정하고, 유효이라면 그 데이터부를 억세스한다. 그렇게 메모리키드에 대한 억세스의 고속화에는 상기 플래쉬메모리의 관리정보 독출시간을 단축시키는 것이 필요하게 된다.
이 때, 불휘발성 메모리에 4치로 정보기억을 행하고 있을 경우, 독출에서는 기억저보의 판정레벨을 순차적으로 바꿔 메모리셀당 2비트의 정보를 취득하도록 된다. 이 독출처리는 불휘발성 메모리셀에 2치로 정보기억을 행하고 있을 경우의 독출에 비하여 기간이 걸린다. 예를 들면, 다치 플래쉬메모리에서는 리드시의 퍼스트ㆍ억세스기간(독출커멘드 입력 후, 최초의 데이터가 독출할 수 있을 때까지의 시간)이 2치 플래쉬메모리에 비하여 매우 커진다.
이것에 의해 호스트장치에서의 리드/라이트에 대해, 억세스하는 플래쉬메모리의 블록을 검색하는 (양/불량의 체크)를 위해, 우선 관리정보를 독출한다. 다치 플래쉬메모리에서는 이 관리정보를 독출할 때의 퍼스트ㆍ억세스기간이 길기 때문에, 억세스하는 블록의 양/불량을 체크하기 위한 시간이 길어진다. 이것에 의해, 리드/라이트 속도의 성능향상이 방해된다.
또한 본 발명자는 경년변화 등에 의한 둔갑한 데이터(리텐션 에러 등)의 발생에 대해 검토했다. 불휘발성 메모리셀의 임계치전압의 상이에 의해 정보를 기억할 경우, 복수종류의 임계치전압분포가 접근하고 있을 경우에는 경년변화 등에 의해 둔갑한 데이터를 생길 가능성이 높아진다. 불휘발성 메모리셀의 특성을 바꾸는 일이 없이 정보기억에 이용되는 임계치전압분포를 이건시킬 수 있다면, 소용의 데이터영역에 대해 경년변화 등에 의한 리텐션 에러내성의 향상에 도움이 되는 것이 본 발명자에 의해 발견되었다.
또한 본 발명자는 플래쉬메모리에의 데이터 기입시에 기입에러가 발생한 경우에 대해 검토했다. 이 경우에는 대체선을 검색하기 위해 불휘발성 메모리셀에 대한 리드동작을 행하여야 되고, 기입데이터가 일시적으로 보지되어 있는 데이터버퍼에 리드된 데이터를 일시적으로 보지해야 된다고 하면, 미리 기입데이터를 컨트롤러의 버퍼에 퇴피하고 나서 대체선의 검색을 행해야 되게 된다. 이 경우, 컨트롤러의 버퍼는 상기 기입데이터가 퇴피되는 것을 고려하고, 상기 기입데이터의 기입이 완료할 때까지 다음 데이터의 격납을 행하지 않도록 하거나, 혹은 상기 기입데이터의 대피용 영역을 더 갖고나 어느 쪽인가 되지 않으면 안 되고, 전자의 경우는 호스트에서 본 기입 레이트의 저하, 후자의 경우는 데이터버퍼사이즈의 증가에 의한 비용상승이 생기게 된다.
본 발명의 목적은 불휘발성 메모리와 컨트롤러를 탑재한 불휘발성 기억장치에 있어서 리드/라이트속도의 성능을 향상시킬 수 있는 불휘발성 기억장치를 제공하는 데에 있다.
본 발명의 다른 목적은 불휘발성 메모리와 컨트롤러를 탑재한 불휘발성 기억장치에 있어서, 소용의 기억영역에 대해 경년변화 등에 의한 리텐션 에러 내성을 향상시킬 수 있는 불휘발성 기억장치를 제공하는 데에 있다.
본 발명의 더 다른 목적은 불휘발성 메모리와 컨트롤러를 탑재한 불휘발성 기억장치에 있어서, 불휘발성 메모리에의 데이터기입시에 기입에러가 발생한 경우에 대체선을 검색하기 위해 불휘발성 메모리셀에 대한 리드동작을 행할 때 불휘발성 메모리의 데이터버퍼에 보지되어 있는 기입데이터를 퇴피하는 것을 필요로 하지않는 불휘발성 기억장치를 제공하는 데에 있다.
본 발명의 상기 및 그 외의 목적과 신규한 특징은 본 명세서의 서술 및 첨부도면에서 밝혀질 것이다.
본원에서 개시되는 발명 중, 대표적인 것의 개요를 간단하게 설명하면 이하와 같다.
[1] 본 발명에 관한 불휘발성 기억장치는 불휘발성 메모리와 컨트롤러를 갖는다. 상기 불휘발성 메모리는 복수의 불휘발성 메모리셀을 갖고, 각각의 불휘발성 메모리셀은 4종류 이상의 정보기억상태 중의 한 종류에 포함되는 정보기억상태, 예를 들면 4종류 이상의 임계치 전압분포 가운데 하나의 분포에 포함되는 임계치 전압에 설정가능하게 되고, 상기 임계치 전압이 설정된 상기 불휘발성 메모리셀에서 독출한 정보를 m(m은 1이상의 정수)비트 예를 들면, 1비트정보로서 출력하는 제 1 독출과, 상기 임계치 전압이 설정된 상기 불휘발성 메모리셀에서 독출한 정보를 n(n은 m보다도 큰 정수)비트 예를 들면, 2비트정보로서 출력하는 제 2 독출이 가능하다. 상기 컨트롤러는 상기 불휘발성 메모리에서 제 1 정보를 독출할 때는 제 1 독출을 행하고, 상기 불휘발성 메모리에서 제 2 정보를 독출할 때는 제 2 독출을 행한다.
상기한 수단에 의하면, 4종류 이상의 임계치 전압분포 가운데 하나의 분포에 포함되는 임계치 전압이 설정된 상기 불휘발성 메모리셀에서 독출한 정보를 1비트정보로서 출력하는 제 1 독출은 상기 불휘발성 메모리셀에서 독출한 정보를 2비트정보로서 출력하는 제 2 독출에 비하여, 불휘발성 메모리셀의 임계치 전압판정 동작횟수가 적어지고, 그 만큼 독출동작을 고속화할 수 있다. 제 2 독출대상으로 되는 제 2 정보를 데이터부의 정보로서 하고, 제 1 독출대상으로 되는 제 1 정보를 상기 데이터부의 관리정보로 하면, 호스트장치에서의 리드/라이트시의 관리정보 리드시간을 단축할 수 있어, 호스트장치에 의한 메모리카드와 같은 불휘발성 기억장치의 리드/라이트의 고속화가 가능하게 된다.
상기 불휘발성 메모리는 예를 들면, 상기 불휘발성 메모리셀에 상기 제 1 정보를 격납할 때, 상기 불휘발성 메모리셀의 임계치 전압을 상한의 임계치 전압분포의 전압과 하한의 임계치 전압분포의 전압에서 선택된 한쪽의 전압으로 한다. 제 1 독출에서는 상한의 임계치 전압분포와 하한의 임계치 전압분포와의 사이의 전압을 이용하여 그 불휘발성 메모리셀의 임계치 전압을 판정하면 좋다. 이것에 의하면, 정보기억에 이용하는 임계치 전압분포 사이에 정보기억에 직접 이용하지 않는 임계치 전압분포 영역이 개재되게 되어 , 제 1 정보의 기억영역 등과 같은 소용의 기억영역에 대해, 경년변화 등에 의한 리텐션 에러 내성을 향상시킬 수 있다. 이것에 의해, 그러한 소용의 기억영역에 중요데이터를 격납하는 것으로, 정보기억의 신뢰성을 향상할 수 있다.
본 발명의 구체적인 형태로서, 상기 불휘발성 메모리는 상기 제 2 독출로 복수의 불휘발성 메모리셀에서 각각 2비트정보로서 독출된 제 2정보를 보지하여 컨트롤러에 공급가능하게 하는 것과 동시에, 상기 컨트롤러에서 공급된 제 2정보를 보지해서 2비트마다 한 개의 불휘발성 메모리셀을 4종류의 임계치 전압분포 가운데 하나의 분포에 포함되는 임계치 전압에 설정가능하게 하는 메모리 버퍼부를 갖고,상기 제 1 독출로 복수의 불휘발성 메모리셀로부터 각각 1비트정보로서 독출된 제 1정보는 상기 메모리 버퍼부를 우회하여 상기 컨트롤러에 출력한다.
이것에 의하면, 1비트정보로서 리드할 때는 불휘발성 메모리내의 메모리 버퍼부를 사용하지 않는다. 따라서 불휘발성 메모리에의 데이터기입시에 기입에러가 발생한 경우, 불휘발성 메모리의 메모리 버퍼부에 기입데이터를 보지한 채, 1비트정보로서의 리드동작으로 대체선을 검색하는 것이 가능하게 된다. 이것에 의해 기입데이터를 메모리 버퍼부로부터 컨트롤러의 버퍼부에 퇴피하는 처리를 할 필요가 없고, 기입에러발생시에 대체영역을 검색하는 처리를 신속하게 행할 수 있고, 또한, 컨트롤러의 버퍼용량을 억제할 수 있다.
[2] 본 발명의 더 상세한 형태에 의한 불휘발성 기억장치는 불휘발성 메모리와 컨트롤러를 갖는다. 상기 불휘발성 메모리는 복수의 불휘발성 메모리셀을 갖고, 각각 불휘발성 메모리셀은 n(n은 2이상의 정수)비트 예를 들면 2비트이상의 정보를 격납가능하고, 상기 휘발성 메모리셀로부터 독출한 정보는 m(m은 n보다도 작은 정수)비트 예를 들면, 1비트정보로서 출력하는 제 1 독출과, 상기 불휘발성 메모리셀로부터 독출한 정보를 2비트정보로서 출력하는 제 2 독출이 가능하다. 상기 컨트롤러는 상기 불휘발성 메모리에서 제 1정보를 독출할 때는 제 1 독출을 행하고, 상기 불휘발성 메모리에서 제 2정보를 독출할 때는 제 2 독출을 행한다. 상기한 수단에 따르면, 상기 불휘발성 메모리셀로부터 독출한 정보를 1비트정보로서 출력하는 제 1 독출은 상기 불휘발성 메모리셀로부터 독출한 정보를 2비트정보로서 출력하는 제 2 독출에 비하여, 불휘발성 메모리셀의 기억정보 판정동작횟수가 적어지고, 그 만큰 독출하여 동작을 고속화할 수 있다. 제 2 독출 대상으로 되는 제 2정보를 데이터부의 정보로 하고, 제 1 독출 대상으로 되는 제 1 정보를 상기 데이터부의 관리정보로 하면, 호스트정보로부터의 리드/라이트시의 관리정보 리드시간을 단축할 수 있고, 호스트장치에 의한 메모리카드와 같은 불휘발성 기억장치의 리드/라이트의 고속화가 가능하게 된다.
상기 제 1정보는 예를 들면, 상기 제 2정보의 격납영역에 대한 유효성을 도시하는 유효성 관리정보를 포함한다.
상기 컨트롤러는 예를 들면, 외부로부터의 지시에 따라 불휘발성을 동작시킬 때, 제 1 독출을 행하여 불휘발성 메모리로부터 독출한 유효성 관리정보에 기초하여 상기 제 2정보의 격납영역에 대한 유효성을 판단하고, 유효인 것을 판별했을 때, 제 2 독출을 행하여 불휘발성 메모리로부터 제 2정보를 독출한다.
또한 이 때, 상기 컨트롤러는 제 1 독출을 행하여 불휘발성 메모리로부터 독출한 유효성 관리정보에 기초하여 상기 제 2정보의 격납영역에 대한 유효성을 판정하고, 무효인 것을 판별했을 때, 상기 제 2정보의 격납영역에 대한 대체영역에 대하여 제 1 독출을 행하여 불휘발성 메모리로부터 독출한 유효성 관리정보에 기초하여 상기 제 2정보의 격납영역에 대한 유효성을 판정하고, 유효일 때 제 2 독출을 행하여 해당 대체영역에서 제 2정보를 독출한다.
본 발명의 구체적인 형태로서, 상기 불휘발성 메모리셀은 격납해야할 정보에 따른 4종류 이상의 임계치 전압분포 가운데 하나의 분포에 포함되는 임계치 전압을 갖는다. 상기 불휘발성 메모리는 상기 불휘발성 메모리셀에 상기 제 1정보를 격납할 때, 상기 불휘발성 메모리셀의 임계치 전압을 상기 임계치전압분포 사이의 소정 전압을 경계로서, 상기 소정의 전압보다도 높은 전압의 임계치 전압분포 중 어느 하나 또는 상기 소정의 전압보다도 낮은 전압의 임계치 전압분포 중 어느 하나에 포함되는 임계치 전압으로 함으로써, 상기 제 1 독출에 있어서 상기 소정의 전압과 불휘발성 메모리셀의 임계치 전압과의 비교에 의해, 1비트정보로서의 독출을 행한다.
바람직한 형태로서, 상기 제 1정보가 격납된 불휘발성 메모리셀의 임계치 전압은 상한의 임계치 전압분포의 전압과 하한의 임계치 전압분포의 전압으로부터 선택된 한쪽의 전압이다. 앞에 서술한 바와 같이, 제 1정보의 기억영역 등과 같은 소용의 기억영역에 대해 경년변화 등에 의한 리텐션 에러 내성을 향상시킬 수가 있다.
본 발명의 더 다른 구체적인 형태로서, 상기 컨트롤러는 상기 제 2 독출로 불휘발성 메모리로부터 독출된 제 2정보를 외부에 출력가능하고, 또, 상기 컨트롤러는 외부로부터 입력된 상기 제 2정보를 불휘발성 메모리에 공급가능하다. 이 때 상기 불휘발성 메모리는 상기 제 2 독출로 독출된 제 2정보를 컨트롤러에 공급하기 전에 일시적으로 격납가능하고, 또한, 상기 컨트롤러에서 공급된 제 2정보를 상기 불휘발성 메모리셀에 격납하기 전에 일시적으로 격납가능한 메모리버퍼부를 갖는다.
상기 불휘발성 메모리는 상기 제 1 독출로 제 1정보를 독출할 때 상기 메모리버퍼부를 우회하여 제 1정보를 출력한다. 위에 서술한 바와 같이, 기입에러 발생시에 대체영역을 검색하는 처리를 신속하게 행할 수 있고, 또한, 컨트롤러의 버퍼용량을 억제할 수 있다.
본 발명의 더 다른 구체적인 형태로서, 상기 컨트롤러는 외부에서 공급된 제 2정보를 일시적으로 보지하는 것과 동시에, 불휘발성 메모리로부터 독출되어 공급된 제 2정보를 일시적으로 보지하는 컨트롤러 버퍼부를 갖는다. 상기 컨트롤러는 컨트롤러 버퍼부에서 메모리버퍼부에 데이터를 공급한 후, 메모리버퍼부의 데이터를 불휘발성 메모리셀에 격납시켜, 이것에 병행하여 컨트롤러 버퍼부에 외부에서의 다른 데이터를 입력가능하게 한다. 기입동작의 고속화에 이바지할 수가 있다.
도 1은 본 발명의 일례에 관한 메모리카드를 나타내는 블록도이다.
도 2는 불휘발성 메모리셀이 채택할 수 있는 4종류의 임계치 전압분포의 설명도이다.
도 3은 불휘발성 메모리셀에 대한 기입데이터와 보지정보와의 관계를 예시하는 설명도이다.
도 4는 메모리카드의 플래쉬메모리에 대한 라이트동작을 예시하는 설명도이다.
도 5는 메모리카드의 플래쉬메모리에 대한 리드동작을 예시하는 설명도이다.
도 6은 플래쉬메모리의 메모리어레이에 있어서의 관리정보영역 등의 기억영역의 구성을 예시하는 설명도이다.
도 7은 대체선 등록테이블의 상세를 예시하는 설명도이다.
도 8은 관리정보의 상세를 예시하는 설명도이다.
도 9는 호스트ㆍ리드의 지시에 응답하는 메모리카드의 리드동작을 예시하는 플로차트이다.
도 10은 호스트ㆍ라이트의 지시에 응답하는 메모리카드의 라이트동작의 전반을 예시하는 플로차트이다.
도 11은 호스트ㆍ라이트의 지시에 응답하는 메모리카드의 라이트동작의 후반을 예시하는 플로차트이다.
도 12는 플래쉬메모리카드의 리드동작타이밍을 예시하는 타이밍차트이다.
도 13은 플래쉬메모리카드의 라이트동작타이밍을 예시하는 타이밍차트이다.
도 14는 대체 검색처리의 상세를 예시하는 플로차트이다.
도 15는 대체 처리의 상세를 예시하는 플로차트이다.
도 16은 호스트장치가 메모리카드에 데이터를 기입하는 호스트ㆍ라이트의 타이밍을 예시하는 타이밍차트이다.
도 1에는 본 발명의 일례에 관한 메모리카드가 도시된다. 메모리카드(1)는 컨트롤러(2)와 불휘발성 메모리 예를 들면, 메모리플래쉬(3)가 카드기판(4)에 탑재되어, 카드기판의 표면이 도시를 생략하는 케이싱이나 수지로 봉지되어 구성된다. 컨트롤러(2)는 호스트 인터페이스회로(10), CPU(11), 플래쉬 인터페이스회로(12), ECC회로(13), 컨트롤러 버퍼부(14) 및 버퍼인터페이스회로(15)를 갖는다.
상기 호스트 인터페이스회로(10)는 도시를 생략하는 호스트장치가 발행하는 커멘드를 접수하고, 그 커멘드 등을 CPU(11)에 통지하거나, CPU(11)의 설정에 따라, 호스트장치와 컨트롤러 버퍼부(14)와의 사이의 데이터전송을 제어한다. 상기 호스트 인터페이스회로(10)와 호스트장치와의 사이의 데이터의 리드/라이트의 프로토콜은 ATA(AT Attachment), SCSI(Small Computer System Interface), 기타의 메모리카드전용 인터페이스 등, 소정 프로토콜이라면 좋다.
상기 CPU(11)는 도시를 생략하는 호스트장치가 발행한 커멘드의 해석, 억세스하는 플래쉬메모리(3)의 어드레스계산, 호스트 인터페이스회로(10)에 대한 호스트간 데이터전송의 설정, 플래쉬 인터페이스회로(12)에 대한 플래쉬간 데이터전송의 설정 등을 행한다.
상기 플래쉬 인터페이스회로(12)는 CPU(11)의 지시에 따라, 컨트롤러 버퍼부(14)와 플래쉬메모리(3) 사이의 데이터전송을 제어한다.
ECC회로(13)는 플래쉬메모리(3)에의 라이트시에 에러정정부호를 생성하여 라이트데이터에 부가한다. 또, 플래쉬메모리(3)에서의 리드시에 에러정정부호를 이용하여 에러검출을 행한다. 리드시에 에러가 발생한 경우에는 에러정정을 행한다.
컨트롤러 버퍼부(14)는 플래쉬메모리(3)와 호스트장치간의 데이터버퍼로서 기능되어, 호스트장치로부터 플래쉬메모리(3)에의 기입데이터를 일시적으로 보지하고, 또 플래쉬메모리(3)에서 호스트장치에의 출력데이터를 일시적으로 보지한다. 컨트롤러 버퍼부(14)는 예를 들면, SRAM(Static Random Access Memory)에 의해 구성된다. 버퍼 인터페이스회로(15)는 컨트롤러 버퍼부(14)의 리드/라이트를 제어한다. 컨트롤러 버퍼부(14)는 컨트롤러(2)와 다른 칩으로 구성해도 좋다. 컨트롤러(2)와 플래쉬메모리(3)를 1칩으로 구성해도 좋다.
상기 플래쉬메모리(3)는 메모리버퍼부(20), 센스래치회로(21), 메모리어레이(플래쉬셀 어레이)(22), 제어회로(23), 실렉터(24), 및 입출력회로(25) 등에서 구성된다. 메모리버퍼부(20)는 예를 들면, SRAM에 의해 구성된다. 도시하지 않지만, 메모리버퍼부(20), 센스래치회로(21), 및메모리어레이(22)를 하나의 메모리뱅크로 할 때, 복수의 메모리뱅크를 구비해도 좋다.
메모리어레이(22)에는 대표적으로 도시된 불휘발성 메모리셀(MC)이 다수의 매트릭스배치된다. 상기 불휘발성 메모리셀(MC)은 특별히 제한되지 않지만, 공지의 플로팅 게이트형 트랜지스터 한 개로 한 개의 메모리셀을 구성한다. 예를 들면, 불휘발성 메모리셀은 웰영역에 형성된 소스 및 드레인과, 소스와 드레인과의 사이의 채널영역에 터널산화막을 통해 형성된 플로팅게이트, 그리고 플로팅게이트에 층간절연막을 통해 겹쳐진 컨트롤러게이트에 의해 구성된다. 컨트롤러게이트는 대표적으로 나타낸 워드선(WL)에 드레인은 대표적으로 나타낸 비트선(BL)에 소스는 대표적으로 나타낸 소스선(SL)에 접속된다. 비트선(BL)의 하나의 단부에는 스태틱래치회로로 구성되는 센스래치(SL)가 접속된다. 센스래치회로(21)는 비트선마다 배치된 센스래치(SL)의 어레이를 포함하고 있다.
전의 불휘발성 메모리셀(MC)의 정보기억은 상기 플로팅게이트에 축적된 전하량에 따라 메모리셀의 임계치 전압이 변화하는 것을 이용한다. 상기 불휘발성 메모리셀(MC)은 예를 들면, 상기 플로팅게이트에 전자가 주입되면 임계치 전압이 상승하고, 또, 상기 플로팅게이트에서 전자를 뽑아 내면 임계치 전압이 저하된다. 임계치 전압의 설정은 상기 워드선, 소스선, 비트선, 기판에의 전압인가상태의 제어로 행해진다. 그 제어수법은 공지이므로 여기서는 상세한 설명은 생략한다.
상기 불휘발성 메모리셀(MC)은 특별히 제한되지 않지만, 도 2에 예시되듯이, 4종류의 임계치 전압분포 가운데 하나의 분포에 포함되는 임계치 전압에 설정가능하게 된다. 예를 들면, 이 예에서는 불휘발성 메모리셀은 한 개로 2비트의 정보기억을 행할 수 있고, 기억정보의 "01, 00, 10, 11"데이터에 대응하는 4종류의 메모리임계치 전압분포가 결정되어 있다. 즉, 하나의 메모리셀의 정보기억상태는 제 4 임계치 전압(Vth4)상태로서의 소거상태("11"), 제 1 임계치 전압(Vth1)상태로서의 제 1의 기입상태("10"), 제 2 임계치 전압(Vth2)상태로서의 제 2의 기입상태("00"), 제 3 임계치 전압(Vth3)상태로서의 제 3의 기입상태("01")중에서 선택된다. 특별히 제한되지 않지만, 임계치 전압은 Vth4 < Vth1 < Vth2 < Vth3의 관계를 갖는다. 전부로 4가지 정보기억상태는 2비트의 데이터에 의해 결정되는 상태로 된다.
상기 메모리 임계치분포를 얻기 위해서는 특별히 한정되지 않지만, 최초 불휘발성 메모리셀을 상기 소거상태로 한다. 기입상태를 얻기 위해서는 임계치 전압을 올리기 위해 필요한 고전압펄스 등을 워드선 등에 순차적으로 인가해간다. 고전압펄스의 인가마다 혹은 몇 번 인가마다 제 1 기입상태의 베리파이전압을 이용한 독출을 행하여 제 1 기입상태에의 도달을 검증한다. 제 2 기입상태를 필요하는 경우에는 제 2 기입상태에의 베리파이전압을 이용하여 동일한 검증을 행하고, 제 3 기입상태를 필요로 할 경우에는 제 3 기입상태의 베리파이전압을 이용하여 동일한 검증을 행한다.
고전압펄스 인가에 의해 기입대상으로 되는 메모리셀의 비트선은 예를 들면, 0V, 기입 비선택의 비트선에는 기입억지전압 1V가 인가된다. 비트선에 0V의 기입선택전압을 인가하거나, 1V의 기입억제전압을 인가하는지는 센스래치(SL)가 래치하는기입제어정보의 논리치로 결정된다. 예를 들면, 센스래치(SL)의 래치데이터가 논리치"1"로 기입 비선택, 논리치 "0"으로 기입선택이 되도록 제어된다. 기입동작시에 센스래치(SL)에 "1" 또는 "0"중 어느 것을 세트하는지는 기입을 행해야할 기입 임계치 전압상태에 따라 제어회로(23)가 메모리버퍼부(20)상의 기입데이터에 따라 결정한다. 예를 들면, 도 3에 예시되도록 1바이트(8비트)의 기입데이터 D8 ~ D1=11001001에 착목하면, D8D4=11의 2비트, D7D3=10의 2비트, D6D2=00의 2비트, D5D1=01의 2비트를 1단위로 하여 각각에 대응하는 불휘발성 메모리셀의 임계치 전압을 결정한다. D8D4=11이 되는 불휘발성 메모리셀에 따른 센스래치(SL)는 기입 비선택의 "1"이 된다. D7D3=10이 되는 불휘발성 메모리셀에 따른 센스래치(SL)는 상기 제 1 기입상태가 얻을 수 있을 때까지 기입선택의 "0"이 된다. D6D2=00이 되는 불휘발성 메모리셀에 따른 센스래치(SL)는 상기 제 2 기입상태가 얻을 수 있을 때까지 기입선택의 "0"이 된다. D5D1=01이 되는 불휘발성 메모리셀에 따른 센스래치(SL)는 상기 제 3 기입상태가 얻을 수 있을 때까지 기입선택의 "0"이 된다. 이 제어는 제어회로(23) 및 센스래치회로(21)가 메모리 버퍼부(20)의 기입데이터에 기초하여 행한다. 기입처리나 소거처리에 필요한 고전압의 생성이나, 억세스 어드레스의 생성은 상기 제어부(23)가 행한다.
상기 임계치 전압이 설정된 불휘발성 메모리셀의 기억정보의 독출은 임계치전압이 도 2의 4종류의 임계치 전압분포 중 어느쪽에 속하는지 판정하고, 불휘발성 메모리셀로부터의 독출정보를 2비트정보로서 출력하는 제 2 독출과, 최상위의 임계치 전압분포인 제 3의 기입상태("01") 또는 최하위의 임계치 전압분포인소거상태("11")중 어느쪽인가를 판정하고, 불휘발성 메모리셀로부터의 독출정보를 1비트정보로서 출력하는 제 1 독출이 가능하게 된다. 4종류의 임계치 전압분포를 판정하는 경우, 도 2의 예에 따르면, 최초독출 워드선전압을 Vr1로 하고, 2비트의 상위측 1비트의 0, 1을 결정하고, 상위측 1비트가 0일 때는 독출워드선전압을 Vr2로 하고, 2비트의 하위측 1비트의 0, 1을 결정한다. 상위측 1비트가 1일 때는 독출워드선전압을 Vr3으로 하고, 2비트의 하위측 1비트의 0, 1을 결정한다. 이와 같이 하여 2비트의 기억정보에 대하여 최초에 상위측 1비트가 결정되면, 상기 상위측 1비트는 센스래치(SL)에서 메모리버퍼부(20)에 대응하는 기억소자에 퇴피되고, 다음의 하위측 1비트의 판정결과가 센스래치(SL)에 얻을 수 있다. 이 하위측 1비트의 판정결과도 동일하게 센스래치(SL)에서 메모리버퍼부(20)의 대응하는 기억소자에 전송되어 메모리버퍼부(20)에서 그 독출정보가 컨트롤러(2)에 출력된다.
불휘발성 메모리셀로부터의 독출정보를 1비트정보로서 출력하는 제 1 독출일 경우에는 도 2의 예에 따르면, 독출워드선전압을 예를 들면, Vr3으로 하고, 상기 기억정보의 0, 1의 판정결과가 센스래치(SL)에 래치된다. 센스래치(SL)에 래치된 판정치는 독출하자고 하는 기억정보 그 자체이므로 메모리버퍼부(20)에의 퇴피를 필요로 하지 않고, 실렉터(24)를 통해 입출력회로(25)에서 컨트롤러(2)에 공급하는 것이 가능하게 된다.
상기 플래쉬메모리 어레이(22)에 대한 소거, 기입 및 독출의 제어는 컨트롤러(2)로부터 주어지는 커멘드에 기초하여 상기 제어부(23)가 행한다. 커멘드에는 동작을 지시하는 커멘드코드, 억세스대상을 지시하기 위한 억세스 어드레스, 기입동작의 지시에 부수하는 기입데이터 등을 포함하고 있다.
특별히 제한되지 않지만, 상기 커멘드에 의해 지시되는 메모리동작은 외부로부터 메모리버퍼부(20)에 기입데이터를 전송하는 동작, 메모리버퍼부(20)가 보유하는 기입데이터를 메모리 어레이(22)의 불휘발성 메모리셀에 기입하는 동작, 제 2 독출을 위해 불휘발성 메모리셀로부터 데이터를 독출하여 메모리버퍼부(20)에 보지시키는 메모리버퍼부(20)에 보지되고 있는 데이터를 외부에 출력하는 제 2 출력동작, 제 1 독출을 위해 불휘발성 메모리셀로부터 데이터를 독출하여 외부에 출력하는 제 1 출력동작 등으로 된다. 각 동작에 있어서의 억세스대상 어드레스는 커멘드로 지시되지만, 억세스단위가 큰 경우에는 억세스단위의 선두 어드레스가 주어지고, 후속어드레스를 제어회로(23)내부의 어드레스 카운터로 자동생성하면 된다. 또한, 플래쉬메모리(3)의 기타의 상세한 구성에 대해서는 본 출원인에 의한 전의 PCT/JP02/03417의 국제출원에 기재가 있다.
도 4는 메모리카드(1)의 플래쉬메모리(3)에 대한 라이트동작의 일례가 도시된다. 도 4에 있어서, 제 2 독출대상데이터는 호스트장치가 메모리카드(1)에 기입되는 데이터이다. 또, 제 1 독출대상데이터는 호스트장치가 메모리카드(1)에 기입되는 데이터를 컨트롤러(2)가 관리하기 위한 데이터이다. 호스트장치에서 컨트롤러버퍼부(14)에 예를 들면, 기입데이터"1010_0101_0101_1010"이 전송된다. 전송된 기입데이터는 여기서는 제 2 독출대상 데이터이다. 기입데이터가 제 2 독출대상데이터일 때, 컨트롤러(2)는 그대로 기입데이터"1010_0101_0101_1010"을 메모리버퍼부(20)에 공급한다. 다음에 컨트롤러(2)는 플래쉬메모리(3)에 메모리버퍼부(20)의 기입데이터에 의해 메모리 어레이(22)의 기억정보를 개서하는 지시를 준다. 이것에 의해 개서 대상의 불휘발성 메모리셀에는 위에 서술한 대로, 기입데이터에 따라 2비트를 1단위로 4종류의 임계치 전압분포 가운데 1의 분포에 포함되는 임계치 전압이 설정된다. 다음으로, 컨트롤러(2)가 호스트장치가 메모리카드(1)에 기입되는 데이터를 관리하기 위해, "1010_0101"을 제 1 독출대상데이터로서 플래쉬메모리(3)에 기입할 경우에 대하여 설명한다. 제 1 독출대상데이터"1010_0101"은 CPU(11)가 컨트롤러버퍼부(14)에 기입한 데이터이다. 기입데이터가 제 1 독출대상데이터일 때, 컨트롤러(2)는 기입데이터를 4비트마다 나누어, 그 하위측에 4비트의 마스크 데이터"1111"을 부가하고, 이것을 기입데이터 "1010_1111_0101_1111"로하여 메모리버퍼부(20)에 공급한다. 다음에 컨트롤러(2)는 플래쉬메모리(3)에 메모리버퍼부(20)에 기입데이터에 의해 메모리 어레이(22)의 기억정보를 개서하는 지시를 준다. 이것에 의해 개서대상의 불휘발성 메모리셀에는 위에 서술한 바와 같이, 기입데이터에 따라 2비트를 1단위에 4종류의 임계치 전압분포 가운데 1의 분포에 포함되는 임계치 전압이 설정된다. 기입데이터의 4비트마다 그 하위측에 4비트의 마스크 데이터"1111"이 부가됨에 따라, 2비트를 1단위에 4종류의 임계치 전압분포 가운데 최상위의 임계치 전압분포인 제 3의 기입상태("01") 또는 최하위의 임계치 전압분포인 소거상태("11")의 분포에 포함되는 임계치 전압이 설정된다.
이와 같이, 제 1 독출대상데이터를 기입할 때는 4종류의 임계치 전압분포 가운데, "11"(소거상태가 되는 최상위 레벨의 임계치 전압분포)과 "01"(기입상태가 되는 최하위 레벨의 임계치 전압분포)을 사용한다. 이것에 의해 제 1 독출대상데이터는 디스터브나 리텐션에 의해, 불휘발성 메모리셀의 임계치 전압이 변화해도, 임계치 전압이 옆에 분포에 이동할 뿐이라면, 둔갑한 데이터가 생기지 않고, 정보기억의 신뢰성이 향상한다.
도 5에는 메모리카드(1)의 플래쉬메모리(3)에 대한 리드동작의 일례가 도시된다. 호스트장치가 메모리카드(1)에서 데이터를 독출할 때, 컨트롤러(2)는 제 1 독출에 의해, 호스트장치가 독출하는 데이터의 관리데이터를 플래쉬메모리(3)에서 독출하고, 그 후, 컨트롤러(2)는 제 2 독출에 위해 호스트장치가 독출하는 데이터를 플래쉬메모리(3)에서 독출한다. 제 1 독출의 경우에는 컨트롤러(2)는 커멘드로 제어회로(23)에 제 1 독출을 지시한다. 이 경우, 예를 들면 독출대상메모리셀의 기억정보가 "1010_1111_0101_1111"일 때, 상기 제 1 독출의 경우의 1회의 임계치 전압판정동작에 의해, 센스래치(SL)에 독출데이터"1010_0101"을 얻을 수가 있다. 센스래치(SL)에 얻어진 독출데이터"1010_0101"은 실렉터(24)에서 선택된 메모리버퍼부(20)의 우회경로를 통해 컨트롤러버퍼부(14)에 전송되고, CPU(11)에 의해 독출된다. 제 2 독출의 경우에는 컨트롤러(2)는 커멘드로 제어회로(23)에 제 2 독출을 지시한다. 이 경우, 예를 들면 독출대상메모리셀의 기억정보가 "1010_0101_0101_1010"일 때, 상기 제 2 독출의 경우의 2회에 나눈 임계치 전압판정동작의 결과가 메모리버퍼(20)에 얻어지고, 메모리버퍼(20)에 격납된 리드데이터가 컨트롤러버퍼부(14)에 전송되고, 그 기억정보는 그대로 데이터"1010_0101_0101_1010"로서 호스트장치에 출력된다. 도 5에 있어서, PA(1)는 제 1 독출의 독출경로, PA(2)는 제 2 독출의 독출경로를 의미한다.
도 6에는 메모리 어레이(22)의 데이터영역의 구성이 예시된다. 여기에 나타내는 예는 파일구조를 실현하는 경우이다. 특별히 제한되지 않지만, 실렉터는 512바이트의 데이터이다. 각 실렉터데이터에 대해 ECC코드가 부가되어 있다. 2개의 실렉터데이터에 대해, 하나의 관리정보를 가진다. 하나의 블록(BLK)은 2개의 실렉터데이터영역(데이터부)과 데이터부의 관리정보를 격납하는 관리영역에서 구성된다. 특별히 제한되지 않지만, 소거 또는 기입은 블록단위로 행해진다. 즉, 하나의 블록에 포함되는 복수개의 불휘발성 메모리셀은 소스선이 공통화되고, 또 워드선이 공통화되어 있다. 이 예에서는 소거와 기입단위가 동일하지만, 소거단위가 기입단위보다도 큰 경우도 있다.
PBA는 물리블록 어드레스(Physical Block Address)이다. 이 예의 플래쉬메모리는 128개의 블록에서 구성되어 있다. PBA의 0 ~ 99는 유저데이터영역(30)이다. 이것은 호스트장치가 라이트한 데이터를 기입하는 영역이다. PBA의 100 ~ 125는 대체영역(31)이다. 이것은 불량이 된 블록을 대체하는 장소이다. PBA가 126의 블록(시스템데이터영역)(32)에는 시스템데이터를 격납한다. 시스템데이터는 예를 들면, 메모리카드의 ID 또는 메모리카드 고유의 ID번호 등의 정보이다. PBA가 127의 블록은 대체영역에 대체된 블록의 정보가 테이블로서 격납되어 있는 영역(대체선 등록테이블)(33)이다. 이 예에서는 유저데이터영역이 100블록(PBA=0 ~ 99)이므로, 대체선 등록테이블을 각 블록에 1바이트씩 대체선 지정영역을 할당해서 합계 100바이트로 구성된다. 예를 들면, 도 7에 예시되듯이, 순차적으로 선두로부터 PBA(1)의 대체선 지정영역, PBA(2)의 대체선 지정영역과 같이 순서대로 할당된다. 대체 불필요의 경우에는 255의 코드번호가 격납된다. 도 7의 예에서는 PBA=1과 PBA=50이 불량이므로, 대체선 등록테이블의 PBA=1의 개소에는 코드번호(100)가 격납되고, PBA=50의 개소에는 코드번호(101)가 격납되어 있다. 즉, PBA=1은 PBA=100에, PBA=50은 PBA=101에 대체되어 있다는 것을 나타내고 있다.
관리정보는 도 8에 에시되듯이, 양(良)블록(정상적으로 메모리동작 가능한 블록)인 것을 나타내는 양(良)코드(고정치), 블록을 식별하기 위한 식별코드, 호스트의 논리블록 어드레스(Logical Block Address : LBA), 그 외의 정보, 그리고 ECC로부터 구성되어 있다. 양코드 이외의 데이터의 경우는 그 블록은 불량인 것을 나타내고 있고, 다른 데이터는 무효가 된다. 상기 식별코드는 블록이 유저데이터블록, 대체블록, 빈 블록, 시스템블록, 대체선 등록테이블블록 중 어느 하나인 것을 나타내고 있다.
도 6의 메모리 어레이에 있어서, 제 1 독출대상이 되는 영역은 관리정보영역, 시스템데이터영역이 된다. 이 제 1 독출대상이 되는 영역에 격납되는 정보가 제 1 정보이다. 그 외의 영역은 제 2 독출대상영역이 된다. 제 2 독출대상이 되는 영역에 격납되는 정보가 제 2 정보이다. 관리정보영역을 제 1 독출대상영역으로 함에 따라 파스트ㆍ억세스의 고속화에 이바지한다. 시스템데이터영역을 제 1 독출대상영역으로 함에 따라 메모리카드가 동작하는데 매우 중요한 데이터가 격납된다는 성질상, 그와 같은 중요데이터의 정보기억의 신뢰성 향상에 이바지한다.
도 9에는 호스트ㆍ리드의 지시에 응답하는 메모리카드(1)의 리드동작의 플로차트가 예시된다. 호스트장치에 의한 데이터의 리드동작(호스트ㆍ리드)이 지시되면, 컨트롤러(2)는 호스트장치로부터의 논리블록 어드레스를 플래쉬메모리(3)의 물리블록 어드레스에 변환하고(S1), 그 물리블록 어드레스의 관리정보를 플래쉬메모리(3)에서 독출한다(S2). 이 독출은 상기 제 1 독출이 된다. 컨트롤러(2)는 관리정보의 양코드를 체크하여(S3), 양코드가 아니면, 대체선 등록테이블을 리드하고(S4), 그것에 의해 지시되는 대체선PBA의 관리정보를 리드하고(S5), 그 관리정보를 체크한다(S6). 이 때의 관리정보의 리드는 제 1 독출에서 행해진다. 이것에 의해서도 양코드를 얻을 수 없을 때는 에러종료가 된다. S6의 체크결과가 양코드라면, 이번에는 관리정보가 보유하는 LBA를 체크하고(S7), 정상이라면 대체선의 PBA로부터 데이터를 독출한다(S8, S9). 이 독출데이터의 출력은 제 2 독출에서 행해진다. 컨트롤러(2)는 독출데이터에 대해 ECC체크를 행하고(S10), 정정 불가능한 에러가 있으면 에러종료, 정정 불가능한 에러가 없으면, 컨트롤러(2)는 호스트장치에 컨트롤러버퍼부(14)로부터의 독출준비상태를 통지하고(S11), 호스트장치에 의한 독출완료를 기다리고(S12), 독출완료 후, 호스트장치가 필료한 모든 데이터독출을 종료했는가를 판별하고(S13), 종료하고 있으면 정상 종료되고, 모두 독출종료하고 있지 않다면 스텝(S1)으로 돌아가서 다음 데이터를 플래쉬메모리(3)로부터 독출하는 조작을 재개한다.
호스트ㆍ리드에 있어서 관리정보리드는 반드시 발생함으로, 관리정보리드시간을 제 1 독출에 의해 단축할 수가 있고, 이것에 의해 호스트ㆍ리드의 고속화가 가능하게 된다.
도 10 및 도 11에는 호스트ㆍ라이트의 지시에 응답하는 메모리카드(1)의 라이트동작의 플로차트가 예시된다. 호스트장치에 의한 데이터의 라이트동작(호스트ㆍ라이트)이 지시되면, 컨트롤러(2)는 호스트장치로부터 공급되는 기입데이터를 컨트롤러버퍼부(14)에 격납한다(S21). 다음에 호스트장치에서의 논리블록 어드레스를 플래쉬메모리(3)의 물리블록 어드레스에 변환하고(S22), 그 물리블록 어드레스의 관리정보를 플래쉬메모리(3)로부터 독출한다(S23). 이 독출은 상기 제 1 독출이 된다. 컨트롤러(2)는 관리정보의 양코드를 체크하고(S24), 양코드가 아니면, 대체선 등록테이블을 리드하고(S25), 그것에 의해 나타나는 대체선(PBA)의 관리정보를 리드하고(S26), 그 관리정보를 체크한다(S27). 이 때의 관리정보의 리드는 제 1 독출에서 행해진다. 이것에 의해서도 양코드를 얻을 수 없을 때는 에러종료가 된다. S27의 체크결과가 양코드라면, 이번에는 관리정보가 보유하는 LBA를 체크하고(S28), 정상이라면 대체선의 PBA의 소거처리를 행한다(S29, S30). 소거결과가 판정되어(S31), 소거에러가 생긴 경우에는 대체선 검색처리(R1)가 행해지고, 대체선의 유무가 판별된다(S21). 대체선이 없으면 에러종료가 된다. 대체선이 있을 경우, S31에서 소거정상종료가 판별되었을 때는 호스트장치로부터의 기입데이터의 공급이 종료하는 것을 기다려(S33), 컨트롤러버퍼부(14)에서 플래쉬메모리(3)의 메모리버퍼부(20)에의 기입데이터의 전송이 행해진다(S34, S35). 데이터전송 종료후, 플래쉬메모리(3)의 메모리버퍼부(20)에서 PBA에의 데이터기입이 행해진다(S36). 기입종료가 판별되어(S37), 기입결과가 판별된다(S38). 기입에러가 있을 경우에는 대체선리(R2)가 행해지고, 대체결과가 판별되어(S39), 대체를 행할 수가 없으면 에러종료하고, 대체가능이라면, 호스트장치가 요구하는 모든 데이터의 라이트종료가 판별된다(S40). 모든 데이터의 라이트가 종료되었을 때는 정상 종료되어, 모든 데이터의 라이트가 종료되어 있지 않았다면 스텝(S22)에 돌아가 나머지 기입을 계속한다.
호스트ㆍ라이트에 있어서 관리정보리드는 반드시 발생함으로, 관리정보리드시간을 제 1 독출에 의해 단축할 수가 있고, 이것에 의해 호스트ㆍ라이트의 고속화가 가능하게 된다.
도 12에는 플래쉬메모리(3)의 리드동작타이밍이 예시된다. I/Ox는 어드레스입력, 데이터입출력, 및 코멘드입력에 겸용되는 외부입출력단자, CLE는 커멘드래치 이네이블신호, ALE는 어드레스래치 이네이블신호, CEb는 칩 이네이블신호, REb는 리드 이네이블신호, WEb는 라이트 이네이블신호, R/Bb는 레디ㆍ비지신호이고, 상기 입출력회로(25)를 통해 컨트롤러(2)와 인터페이스 된다. 칩 이네이블신호(CEb)는 플래쉬메모리(2)에 칩 선택상태를 나타내고, 리드 이네이블신호(REb)는 외부입출력단자(I/Ox)에서의 리드동작을 지시하고, 라이트 이네이블신호(WEb)는 외부입출력단자(I/Ox)에서의 라이트동작을 지시한다. 커멘드래치 이네이블신호(CLE)는 외부에서 외부입출력단자(I/Ox)에 커멘드가 공급되는 것을 의미하고, 어드레스래치 이네이블신호(ALE)는 외부에서 외부입출력단자(I/Ox)에 어드레스신호가 공급되는 것을 의미한다. 레디ㆍ비지신호(R/Bb)는 플래쉬메모리 어레이(22)에 대해 소거, 기입, 또는 독출 동작중이라는 것(준비상태)을 로우레벨에 의해 나타낸다. OOh는 어드세스설정커멘드코드, CA는 컬럼 어드레스, RA는 로우 어드레스, 30h는 제 2 독출에 의한 리드시작 커멘드코드이다. 리드시작 커멘드코드(30h)가 공급되면, 메모리 어레이로부터의 데이터(Dout)의 독출동작이 시작된다. 제 1 독출에 의한 리드시작 커멘드코드는 31h가 된다.
도 13에는 플래쉬메모리(3)의 라이트동작 타이밍이 예시된다. 80h는 어드레스설정 코멘드코드, CA는 컬럼 어드레스, RA는 로우 어드레스, Din는 기입데이터, 40h는 기입시작 커멘드코드이다. 기입시작 커멘드코드(40h)가 공급되면, 메모리 어레이(22)에 데이터(Din)이 기입된다. 플래쉬메모리(3)에 있어서 플래쉬 기입동작은 제 1 독출대상영역과 제 2 독출대상영역에서 변함없다. 제 1 독출대상영역에 대한 기입에서는 컨트롤러(2)측에서 기입데이터에 대한 상기 마스크데이터의 부가가 완료되어 있다.
도 14에는 상기 대체검색처리(R1)의 일례가 도시되고 있다. 우선, 검색파라미터(i)에 대체영역의 선두 어드레스를 대입하고(S50), 파라미터(i)의 대입치를 어드레스로 하여, 대응하는 대체영역의 관리정보를 제 1 독출로 독출한다(S51). 독출한 관리정보에서 그 블록이 빈 블록인지를 상기 식별코드에 기초하여 판별하고(S52), 비어 있으면, 대체선 있음을 응답한다(S53). 빈 블록이 없으면, 파라미터(i)를 +1하여(S54), 그 i의 값으로 나타나는 어드레스가 대체영역의 범위인가를 판별하고(S55), 범위외로 되어 있으면 대체선 없음을 응답한다(S56). 범위외가 아니면 스텝(S51)에 돌아가 검색을 계속한다.
대체선 검색처리에 있어서의 관리정보의 독출은 제 1 독출에서 행해진다. 도 5의 경로(PA1)에서 독출데이터의 출력이 행해진다. 따라서 그 관리정보 독출에서는 플래쉬메모리(3)의 메모리버퍼부(20)는 이용되지 않고, 대체선 검색처리 전에 메모리버퍼부(20)에 먼저 격납되어 있는 기입데이터는 파괴되지 않고 그대로 남는다. 따라서 대체선을 검색하기 위해, 메모리버퍼부내의 기입데이터를 컨트롤러(2)의 컨트롤러버퍼부(14)에 퇴피하는 것을 필요로 하지 않는다.
도 15에는 상기 대체선리(R2)의 일례가 도시된다. 우선, 상기 대체선 검색처리(R1) 후, 대체선이 있는가의 판별이 행해진다(S60). 대체선 있음이라는 것은 도 14의 대체선 있음의 응답(S53)이 얻을 수 있는 것이고, 대체선 없음이라는 것은 도 14의 대체선 없음의 응답(S56)이 얻을 수 있는 것이다. 대체선 없음이라면 에러응답이 돌려진다(S67). 대체선이 있으면, 해당 대체선인 빈 블록에 메모리버퍼내의 데이터를 기입하는 처리가 행해진다(S61, S62). 기입처리 전에 해당 빈 블록은 소거처리되어 있다. 기입처리의 결과가 판별된다(S63). 기입처리가 정상 종료되어 있으면, 대체선 등록테이블이 갱신되어(S64), 정상 종료의 응답(정상응답)이 돌려진다. 기입에러가 있었을 경우에는 그 기입에러에 대하여 상기 대체선리(R2)가 행해진다.
상기 대체선리(R2)에서 분명한 것과 같이, 대체선 검색처리(R1)에서 대체선을 검색한 후, 플래쉬메모리(3)의 메모리버퍼부(20)에 격납되어 있는 데이터를 대체선에 기입할 수 있다(S61). 요컨데, 대체선리(R2)에서는 컨트롤러(2)의 컨트롤러버퍼부(14)에서 기입데이터를 다시 전송 받을 필요가 없다.
도 16에는 호스트장치가 메모리카드(1)에 데이터를 기입하는 호스트ㆍ라이트의 타이밍이 예시된다. 호스트장치는 컨트롤러(2)에 기입을 지시하고, 섹터단위로 기입데이터를 전송한다. 도 16에서는 호스트장치가 섹터(0), 섹터(1)의 기입데이터를 컨트롤러(2)에 전송하고(Th0a, Th0b), 컨트롤러(2)의 컨트롤러버퍼부(14)에 격납된다. 이 때, 컨트롤러(2)는 호스트장치에서의 기입지시에 응답하여 미리 플래쉬메모리(3)에 대해 섹터(0, 1)의 대응블록의 검색처리(Sf0)로 검색된 블록에 대한 소거처리(EfO)를 실행시킨다. 컨트롤러버퍼부(14)에 격납된 섹터(0), 섹터(1)의 기입데이터는 컨트롤러(2)에서 플래쉬메모리(3)에 전송되어(Tc0a, TcOb), 플래쉬메모리(3)의 메모리버퍼부(20)에 격납된다. 이후, 플래쉬메모리(3)는 상기 검색처리와 소거처리를 거친 블록에 메모리버퍼부(20)에 격납된 섹터(0, 1)의 데이터를 기입처리한다(Wf0). 이 기입처리(WfO)에 병행하여 호스트장치는 컨트롤러(2)에 다음 섹터(2, 3)의 기입데이터를 전송한다(Th1a, Th1b). 플래쉬메모리(3)의 기입처리중에는 컨트롤러버퍼부(14)는 해당 기입에 이용되지 않고 비어 있기 때문이다. 플래쉬메모리(3)에 있어서 상기 기입처리(Wf0)가 종료한 후, 컨트롤러버퍼부(14)에 격납된 섹터(2), 섹터(3)의 기입데이터는 컨트롤러(2)에서 플래쉬메모리(3)에 전송되어(Tc1a, Tc1b), 플래쉬메모리(3)의 메모리버퍼부(20)에 격납된다. 이 전송에 병행하여, 컨트롤러(2)는 미리 플래쉬메모리(3)에 대하여 섹터(2, 3)의 대응블록의 검색처리(Sf1)로 검색된 블록에 대한 소거처리(Ef1)를 실행시킨다. 이후, 플래쉬메모리(3)는 상기 검색처리와 소거처리를 거친 블록에 메모리벌퍼부(20)에 격납된 섹터(2, 3)의 데이터를 기입처리한다.
도 16의 호스트ㆍ라이트 타이밍에서 분명한 것과 같이, 플래쉬메모리의 불휘발성 메모리셀에 기입데이터를 기입처리중에 호스트장치에서 컨트롤러(2)의 컨트롤러버퍼부(14)에 다음의 기입데이터의 전송을 병행하여 행하는 것이 가능하다. 앞에서술한 바와 같이 플래쉬메모리(3)에서 기입에러가 발생해도, 대체검색처리에 의해 메모리버퍼부(20)의 기입데이터가 파괴되지 않으므로, 컨트롤러버퍼부(14)의 용량을 증가시키는 일이 없이, 상기 기입처리와 다음 기입데이터의 전송처리를 병행시킬 수가 있다.
이상 설명한 메모리카드(1)에 의하면 이하의 작용효과를 얻는다.
[1] 플래쉬메모리(3)는 불휘발성 메모리셀(MC)에 4종류의 임계치 전압분포 가운데 1의 분포에 포함되는 임계치 전압을 설정가능하게 되고, 상기 임계치 전압이 설정된 불휘발성 메모리셀(MC)에서 독출한 정보를 1비트정보로서 출력하는 제 1 독출과, 상기 임계치 전압이 설정된 상기 불휘발성 메모리셀(MC)에서 독출한 정보를 2비트정보로 하여 출력하는 제 2 독출이 가능하게 된다. 컨트롤러(2)는 상기 플래쉬메모리(3)에서 제 1 정보 예를 들면, 상기 관리정보 또는 시스템데이터영역의 기억정보를 독출할 때는 상기 제 1 독출을 행하고, 상기 불휘발성 메모리에서 제 2 정보 예를 들면, 섹터 데이터나 대체선 등록테이블을 독출할 때는 제 2 독출을 행한다. 4종류의 임계치 전압분포 가운데 1의 분포에 포함되는 임계치 전압이 설정된 상기 불휘발성 메모리셀(MC)에서 독출한 정보를 1비트정보로서 출력하는 제 1 독출은 상기 불휘발성 메모리셀(MC)에서 독출한 정보를 2비트정보로서 출력하는 제 2 독출에 비하여, 불휘발성 메모리셀(MC)의 임계치 전압판정 동작횟수가 적어지고, 그 만큼 독출동작을 고속화 할 수 있다. 제 2 독출대상이 되는 제 2 정보는 데이터부의 섹터데이터 등으로 되어, 제 1 독출대상으로 되는 제 1 정보는 관리정보 등으로 될 때, 호스트장치에서의 리드/라이트시의 관리정보 리드시간을 단축할 수 있고, 호스트장치에 의한 메모리카드(1)의 리드/라이트의 고속화가 가능하게 된다.
[2] 상기 플래쉬메모리(3)는 상기 불휘발성 메모리셀(MC)에 상기 제 1 정보를 격납할 때, 해당 불휘발성 메모리셀(MC)의 임계치전압을 상한의 상기 임계치 전압분포("01"영역)의 전압과 하한의 임계치 전압분포("11"영역)의 전압으로부터 선택된 한쪽의 전압으로 한다. 따라서, 정보기억에 이용되는 임계치 전압분포 사이에 정보기억에 직접 이용하지 않는 임계치 전압분포영역이 개재되는 것이 되고, 제 1 정보의 기억영역으로 되는 시스템 데이터영역에 대해 경년변화 등에 의한 리텐션 에러 내성을 향상시킬 수가 있다. 이것에 의해, 시스템 데이터영역 등에 있어서의 정보기억의 신뢰성을 향상할 수가 있다.
[3] 플래쉬메모리(3)는 불휘발성 메모리셀(MC)에 대한 기입처리 및 제 2 독출에 이용되는 메모리버퍼부(20)를 갖고, 제 1 독출로 복수의 불휘발성 메모리셀로부터 각각 1비트정보로서 독출된 관리정보 등의 제 1 정보는 상기 메모리버퍼부(20)를 우회하여 상기 컨트롤러(2)에 출력한다. 2비트정보로서 리드할 때는 플래쉬메모리(3)내의 메모리버퍼부(20)를 사용하지 않는다. 따라서, 플래쉬메모리(3)에의 데이터기입시에 기입에러가 발생한 경우, 플래쉬메모리(3)의 메모리버퍼부(2)에 기입데이터를 보지한 채, 1비트정보로서의 리드동작으로 대체선를 검색하는 것이 가능하게 된다. 이것에 의해, 기입데이터를 메모리버퍼부(20)에서 컨트롤러(2)의 버퍼(14)에 퇴피하는 처리를 행하는 필요가 없고, 기입에러 발생시에 대체영역을 검색하는 처리를 신속하게 행할 수가 있고, 또한 컨트롤러(2)의 버퍼(14)의 용량을 억제할 수가 있다.
[4] 상기에서, 플래쉬메모리(3)를 탑재한 메모리카드(1)의 데이터전송 고속화 및 신뢰성 향상을 실현할 수가 있다.
이상 본 발명자에 의해 이루어진 발명의 실시예에 기초하여 구체적으로 설명했지만, 본 발명은 그것에 한정되는 것이 아니고, 그 요지를 일탈하지 않는 범위에 있어서 각가지 변경가능하다는 것은 말할 것도 없다.
예를 들면, 플래쉬메모리는 4치데이터를 리드할 때에 이용되는 메모리버퍼(20)에 SRAM를 이용하지만, 이것에 한정되지 않고, 메모리버퍼부는 스태틱래치를 복수단 병렬시킨 래치회로로 구성해도 좋다.
이 예의 불휘발성 메모리는 4치데이터를 격납할 수가 있지만, 4치이상의 다치데이터를 격납하는 불휘발성 메모리를 탑재하는 메모리카드라도 좋다. 메모리카드에 탑재하는 플래쉬메모리의 수는 한 개에 한정되지 않고 복수개이라도 좋다.
또, 다치플래쉬메모리의 기억형식은 기억정보의 값에 따라 순차적으로 임계치 전압을 상이시킬 경우에 한정되지 않고, 메모리셀에 있어서 전하를 보지하는 장소를 국소적으로 변경하여 다치로 정보기억을 행하는 전하트랩막(질화실리콘막)을 이용하는 메모리셀구조를 채용해도 좋다. 또한 불휘발성 메모리셀로서 고유전체 메모리셀 등의 그 외의 기억형식을 채용하는 것도 가능하다. 또, 불휘발성 메모리셀에 대한 기입데이터와 보지정보와의 관계도 도 3에 한정되지 않고 적당하게 변경이 가능하다.
또 본 발명은 어드레스/데이터 양쪽이 멀티플렉스 되어 I/O단자에 입력되는 것 뿐이 아니고, 어드레스를 입력하기 위한 어드레스단자를 갖는 것이라도 좋다.어드레스단자에서 입력된 어드레스에 따라 버퍼메모리에의 억세스 또는 플래쉬메모리 어레이에의 억세스중 어느 하나를 지정하는 커멘드를 갖도록 해도 좋다.
또, 제 1정보와 제 2정보의 구체적인 종류는 상기 설명에 한정되지 않고, 불휘발성 기억장치의 종류 등에 따라 적당히 변경이 가능하다. 본 발명을 IC카드용 마이크로 컴퓨터에 적용할 경우, IC카드의 유저ID 등을 제 1정보로서 처리해도 좋다.
본 발명은 플래쉬메모리카드, 마이크로 컴퓨터 혹은 시스템LSI 등에 넓게 적용할 수가 있다. 본 발명은 PDA(Parsonal Digital Assistants)나 휴대전화기의 스토리지매체 등에 이용할 수가 있다.
본원에 있어서, 개시되는 발명중 대표적인 것에 의해 얻을 수 있는 효과를 간단하게 설명하면 하기와 같다.
불휘발성 메모리와 컨트롤러를 탑재한 불휘발성 기억장치에 있어서 리드/라이트속도의 성능을 향상시킬 수가 있다.
불휘발성 메모리와 칸트롤러를 탑재한 불휘발성 기억장치에 있어서, 소요의 기억영역에 대해 경년변화 등에 의한 리텐션 에러 내성을 향상시킬 수가 있다.
불휘발성 메모리와 컨트롤러를 탑재한 불휘발성 기억장치에 있어서, 불휘발성 메모리에의 데이터기입시에 기입에러가 발생한 경우에 대체선을 검색하기 위해 불휘발성 메모리셀에 대한 리드동작을 행할 때 불휘발성 메모리의 데이터버퍼에 보지되어 있는 기입데이터의 퇴피를 불필요로 할 수가 있다.

Claims (17)

  1. 불휘발성 메모리와 컨트롤러를 갖고,
    상기 불휘발성 메모리는 복수의 불휘발성 메모리셀을 갖고, 각각의 불휘발성 메모리셀은 n(n은 2이상의 정수)비트이상의 정보를 격납가능이고, 상기 불휘발성 메모리셀로부터 독출한 정보를 m(m은 n보다 작은 정수)비트정보로서 출력하는 제 1 독출과, 상기 불휘발성 메모리셀로부터 독출한 정보를 n비트정보로서 출력하는 제 2 독출이 가능하고,
    상기 컨트롤러는 상기 불휘발성 메모리로부터 제 1 정보를 독출할 때는 제 1 독출을 행하고, 상기 불휘발성 메모리로부터 제 2 정보를 독출할 때는 제 2 독출을 행하는 것을 특징으로 하는 불휘발성 기억장치.
  2. 청구항 1에 있어서,
    상기 제 1 정보는 상기 제 2 정보의 격납영역에 대하는 유효성을 나타내는 유효성 관리정보인 것을 특징으로 하는 불휘발성 기억장치.
  3. 청구항 2에 있어서,
    상기 컨트롤러는 외부로부터의 지시에 따라 불휘발성 메모리를 동작시킬 때, 제 1 독출을 행하고 불휘발성 메모리로부터 독출한 유효성 정보관리에 기초하여 상기 제 2 정보의 격납영역에 대한 유효성을 판정하고, 유효인 것을 판별했을 때, 제2 독출을 행하여 불휘발성 메모리로부터 제 2 정보를 독출하는 것을 특징으로 하는 불휘발성 기억장치.
  4. 청구항 3에 있어서,
    상기 컨트롤러는 제 1 독출을 행하여 불휘발성 메모리로부터 독출한 유효성 관리정보에 기초하여 상기 제 2 정보의 격납영역에 대한 유효성을 판정하고, 무효인 것을 판별했을 때, 상기 제 2 정보의 격납영역에 대한 대체영역에 대해 제 1 독출을 행하고 불휘발성 메모리로부터 독출한 유효성 관리정보에 기초하여 제 2 정보의 격납영역에 대한 유효성을 판정하고, 유효일 때 제 2 독출을 행하고 해당 대체영역으로부터 제 2 정보를 독출하는 것을 특징으로 하는 불휘발성 기억장치.
  5. 청구항 1에 있어서,
    상기 불휘발성 메모리셀은 격납해야할 정보에 따른 4종류 이상의 임계치 전압분포 가운데 1의 분포에 포함되는 임계치 전압을 갖고,
    상기 불휘발성 메모리는 상기 불휘발성 메모리셀에 상기 제 1 정보를 격납할 때, 당해 불휘발성 메모리셀의 임계치 전압을 상기 임계치 전압분포 사이의 소정의 전압을 경계로서, 상기 소정의 전압보다도 높은 전압의 임계치 전압분포중 어느 하나 또는 상기 소정의 전압보다도 낮은 전압의 임계치 전압분포중 어느 한 쪽에 포함되는 임계치 전압으로 하는 것으로, 상기 제 1 독출에 있어서 상기 소정의 전압과 불휘발성 메모리셀의 임계치 전압과의 고저의 비교에 의해, m비트정보로서의 독출을 행하는 것을 특징으로 하는 불휘발성 기억장치.
  6. 청구항 5에 있어서,
    상기 제 1 정보가 격납된 불휘발성 메모리셀의 임계치 전압은 상한의 임계치 전압분포의 전압과 하한의 임계치 전압분포의 전압에서 선택된 한쪽의 전압인 것을 특징으로 하는 불휘발성 기억장치.
  7. 청구항 1에 있어서,
    상기 컨트롤러는 상기 제 2 독출에서 불휘발성 메모리로부터 독출된 제 2 정보를 외부에 출력가능하고, 또, 상기 컨트롤러는 외부로부터 입력된 상기 제 2 정보를 불휘발성 메모리에 공급가능하고,
    상기 불휘발성 메모리는 상기 제 2 독출에서 독출에서 독출된 제 2 정보를 컨트롤러에 공급하기 전에 일시적으로 격납가능하고, 또한, 상기 컨트롤러로부터 공급된 제 2 정보를 상기 불휘발성 메모리셀에 격납하기 전에 일시적으로 격납가능한 메모리버퍼부를 갖는 것을 특징으로 하는 불휘발성 기억장치.
  8. 청구항 7에 있어서,
    상기 불휘발성 메모리는 상기 제 1 독출에서 제 1 정보를 독출할 때 상기 메모리버퍼부를 돌아서 제 1 정보를 출력하는 것을 특징으로 하는 불휘발성 기억장치.
  9. 청구항 8에 있어서,
    상기 제 1 정보는 상기 제 2 정보의 격납영역에 대한 유효성을 나타내는 유효성 관리정보를 포함하는 것을 특징으로 하는 불휘발성 기억장치.
  10. 청구항 9에 있어서,
    상기 컨트롤러는 외부로부터의 지시에 따라 불휘발성 메모리를 동작시킬 때, 제 1 독출을 행하여 불휘발성 메모리로부터 독출한 유효성 관리정보에 기초하여 상기 제 2 정보의 격납영역에 대한 유효성을 판정하여, 유효인 것을 판별했을 때, 상기 메모리버퍼부의 제 2 정보를 메모리셀에 기입하는 것을 특징으로 하는 불휘발성 기억장치.
  11. 청구항 10에 있어서,
    상기 컨트롤러는 제 1 독출을 행하여 불휘발성 메모리로부터 독출한 유효성 관리정보에 기초하여 상기 제 2 정보의 격납영역에 대한 유효성을 판정하고, 무효인 것을 판별했을 때, 상기 제 2 정보의 격납영역에 대한 대체영역에 대해 제 1 독출을 행하여 불휘발성 메모리로부터 독출한 유효성 관리정보에 기초하여 상기 제 2 정보의 격납영역에 대한 유효성을 판정하고, 유효일 때 당해 대체영역의 메모리셀에 메모리버퍼부의 제 2 정보를 기입하는 것을 특징으로 하는 불휘발성 기억장치.
  12. 청구항 7에 있어서,
    상기 컨트롤러는 외부로부터 공급된 제 2 정보를 일시적으로 보지하는 것과 동시에, 불휘발성 메모리로부터 독출되어 공급된 제 2 정보를 일시적으로 보지하는 컨트롤러 버퍼부를 갖는 것을 특징으로 하는 불휘발성 기억장치.
  13. 청구항 12에 있어서,
    상기 컨트롤러는 컨트롤러 버퍼부로부터 메모리버퍼부에 데이터를 공급한 후, 메모리버퍼부의 데이터를 불휘발성 메모리셀에 격납시키고, 이것에 병행하여 컨트롤러 버퍼부에 외부로부터의 다른 데이터를 입력가능하게 하는 것을 특징으로 하는 불휘발성 기억장치.
  14. 불휘발성 메모리와 컨트롤러를 갖고,
    상기 불휘발성 메모리는 복수의 불휘발성 메모리셀을 갖고, 각각의 불휘발성 메모리셀은 4종류 이상의 정보기억상태 중의 1종류에 포함되는 정보기억상태에 설정가능하게 되고, 상기 1종류의 정보기억상태가 설정된 상기 불휘발성 메모리셀로부터 독출한 정보를 m(m은 1이상의 정수)비트정보로서 출력하는 제 1 독출과, 상기 1종류의 정보기억상태가 설정된 상기 불휘발성 메모리셀로부터 독출한 정보를 n(n은 m보다 큰 정수)비트정보로서 출력하는 제 2 독출이 가능하고,
    상기 컨트롤러는 상기 불휘발성 메모리로부터 제 1 정보를 독출할 때는 제 1 독출을 행하고, 상기 불휘발성 메모리로부터 제 2 정보를 독출할 때는 제 2 독출을행하는 것을 특징으로 하는 불휘발성 기억장치.
  15. 청구항 14에 있어서,
    상기 4종류 이상의 정보기억상태 중의 1종류에 포함되는 정보기억상태는 불휘발성 메모리셀의 4종류 이상의 임계치 전압분포 가운데 1의 분포에 포함되는 임계치 전압상태인 것을 특징으로 하는 불휘발성 기억장치.
  16. 청구항 15에 있어서,
    상기 불휘발성 메모리는 상기 불휘발성 메모리셀에 상기 제 1 정보를 격납할 때, 당해 불휘발성 메모리셀의 임계치 전압을 상한의 상기 임계치 전압분포의 전압과 하한의 임계치 전압분포의 전압에서 선택된 한쪽의 전압으로 하는 것을 특징으로 하는 불휘발성 기억장치.
  17. 청구항 16에 있어서,
    상기 불휘발성 메모리는 상기 제 2 독출에서 복수의 불휘발성 메모리셀로부터 각각 n비트정보로서 독출된 제 2 정보를 보지하여 컨트롤러에 공급가능하게 하는 것과 동시에, 상기 컨트롤러로부터 공급된 제 2 정보를 보지하여 n비트마다 한 개의 불휘발성 메모리셀을 4종류의 임계치 전압분포 가운데 1의 분포에 포함되는 임계치 전압에 설정가능하게 하는 메모리버퍼부를 갖고, 상기 제 1 독출에서 복수의 불휘발성 메모리셀로부터 각각 m비트정보로서 독출된 제 1 정보는 상기 메모리버퍼부를 돌아서 상기 컨트롤러에 출력하는 것을 특징으로 하는 불휘발성 기억장치.
KR1020030058145A 2002-08-27 2003-08-22 불휘발성 기억장치 KR20040023508A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2002-00246774 2002-08-27
JP2002246774A JP2004086991A (ja) 2002-08-27 2002-08-27 不揮発性記憶装置

Publications (1)

Publication Number Publication Date
KR20040023508A true KR20040023508A (ko) 2004-03-18

Family

ID=31972436

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030058145A KR20040023508A (ko) 2002-08-27 2003-08-22 불휘발성 기억장치

Country Status (5)

Country Link
US (2) US20040042269A1 (ko)
JP (1) JP2004086991A (ko)
KR (1) KR20040023508A (ko)
CN (1) CN1487530A (ko)
TW (1) TW200405349A (ko)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100609617B1 (ko) 2005-04-04 2006-08-08 삼성전자주식회사 동작 주파수에 따라 모드가 전환되는 데이터 출력버퍼 및이를 포함하는 반도체 메모리 장치
KR100739967B1 (ko) * 2005-05-27 2007-07-16 주식회사 하이닉스반도체 플래시 메모리 장치의 프로그램 방법
CN100466105C (zh) * 2005-06-14 2009-03-04 旺宏电子股份有限公司 氮化硅只读存储单元的位的读取方法
JP4751163B2 (ja) 2005-09-29 2011-08-17 株式会社東芝 メモリシステム
US20070226401A1 (en) * 2006-03-21 2007-09-27 Pa-Chung Huang Data accessing structure and method for flash memory
US7639542B2 (en) 2006-05-15 2009-12-29 Apple Inc. Maintenance operations for multi-level data storage cells
US7911834B2 (en) * 2006-05-15 2011-03-22 Apple Inc. Analog interface for a flash memory die
US7551486B2 (en) * 2006-05-15 2009-06-23 Apple Inc. Iterative memory cell charging based on reference cell value
US7852690B2 (en) * 2006-05-15 2010-12-14 Apple Inc. Multi-chip package for a flash memory
US7568135B2 (en) 2006-05-15 2009-07-28 Apple Inc. Use of alternative value in cell detection
US8000134B2 (en) 2006-05-15 2011-08-16 Apple Inc. Off-die charge pump that supplies multiple flash devices
US7701797B2 (en) * 2006-05-15 2010-04-20 Apple Inc. Two levels of voltage regulation supplied for logic and data programming voltage of a memory device
US7511646B2 (en) 2006-05-15 2009-03-31 Apple Inc. Use of 8-bit or higher A/D for NAND cell value
US7639531B2 (en) * 2006-05-15 2009-12-29 Apple Inc. Dynamic cell bit resolution
US7613043B2 (en) * 2006-05-15 2009-11-03 Apple Inc. Shifting reference values to account for voltage sag
US7583545B2 (en) * 2006-05-21 2009-09-01 Sandisk Il Ltd Method of storing data in a multi-bit-cell flash memory
KR100837279B1 (ko) 2007-02-27 2008-06-11 삼성전자주식회사 과표본화 읽기 동작을 수행하는 플래시 메모리 장치 및그것의 인터페이싱 방법
US20090019435A1 (en) * 2007-07-12 2009-01-15 Sauer-Danfoss Inc. System and method for over the air programming
US20090070655A1 (en) * 2007-09-11 2009-03-12 Silicon Motion, Inc. Method for Generating an ECC Code for a Memory Device
KR101437397B1 (ko) * 2007-10-31 2014-09-05 삼성전자주식회사 비휘발성 메모리 장치의 데이터 관리 방법 및 맵핑 테이블업데이트 방법
JP2009205555A (ja) * 2008-02-28 2009-09-10 Toshiba Corp メモリシステム
KR100953044B1 (ko) * 2008-05-26 2010-04-14 주식회사 하이닉스반도체 불휘발성 메모리 장치의 프로그램 방법
US8880778B2 (en) * 2010-05-13 2014-11-04 Micron Technology, Inc. Memory buffer having accessible information after a program-fail
CN102314949B (zh) * 2010-07-05 2014-06-11 群联电子股份有限公司 数据读取方法、控制电路与存储器控制器
JP2012212487A (ja) * 2011-03-30 2012-11-01 Toshiba Corp メモリシステム
JP5867264B2 (ja) * 2012-04-24 2016-02-24 ソニー株式会社 記憶制御装置、メモリシステム、情報処理システム、および、記憶制御方法
KR20150058927A (ko) * 2013-11-21 2015-05-29 삼성전자주식회사 불 휘발성 메모리의 쓰기 속도를 제어하는 기술
KR102384962B1 (ko) * 2015-11-27 2022-04-11 에스케이하이닉스 주식회사 반도체 메모리 장치
US10083742B2 (en) * 2016-09-26 2018-09-25 Intel Corporation Method and apparatus for programming non-volatile memory using a multi-cell storage cell group to provide error location information for retention errors
US10324706B1 (en) * 2017-05-09 2019-06-18 Amazon Technologies, Inc. Automated software deployment for electromechanical systems
KR102440379B1 (ko) * 2018-02-26 2022-09-06 에스케이하이닉스 주식회사 전자 장치, 비 일시적 컴퓨터 판독 가능 저장 매체, 및 전자 장치를 제어하는 방법
TWI651726B (zh) * 2018-03-30 2019-02-21 大陸商深圳大心電子科技有限公司 解碼方法以及儲存控制器
DE102018208096A1 (de) * 2018-05-23 2019-11-28 Robert Bosch Gmbh Verfahren zum Austauschen eines ersten ausführbaren Programm-Codes und eines zweiten ausführbaren Programm-Codes und Steuergerät
CN111399888B (zh) * 2020-03-11 2023-06-16 北京百度网讯科技有限公司 音频处理芯片的处理方法、装置及电子设备

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5218569A (en) * 1991-02-08 1993-06-08 Banks Gerald J Electrically alterable non-volatile memory with n-bits per memory cell
JP3604466B2 (ja) * 1995-09-13 2004-12-22 株式会社ルネサステクノロジ フラッシュディスクカード
KR100244864B1 (ko) * 1996-03-18 2000-03-02 니시무로 타이죠 불휘발성 반도체 기억 장치
WO1998001861A1 (fr) * 1996-07-10 1998-01-15 Hitachi, Ltd. Memoire remanente a semi-conducteurs
JP3930074B2 (ja) * 1996-09-30 2007-06-13 株式会社ルネサステクノロジ 半導体集積回路及びデータ処理システム
US6418506B1 (en) * 1996-12-31 2002-07-09 Intel Corporation Integrated circuit memory and method for transferring data using a volatile memory to buffer data for a nonvolatile memory array
US6078985A (en) * 1997-04-23 2000-06-20 Micron Technology, Inc. Memory system having flexible addressing and method using tag and data bus communication
US5974499A (en) * 1997-04-23 1999-10-26 Micron Technology, Inc. Memory system having read modify write function and method
US6460111B1 (en) * 1998-03-09 2002-10-01 Mitsubishi Denki Kabushiki Kaisha Semiconductor disk drive and method of creating an address conversion table based on address information about defective sectors stored in at least one sector indicated by a management code
US6178114B1 (en) * 1999-01-12 2001-01-23 Macronix International Co., Ltd. Sensing apparatus and method for fetching multi-level cell data
JP4282197B2 (ja) * 2000-01-24 2009-06-17 株式会社ルネサステクノロジ 不揮発性半導体記憶装置
US6363008B1 (en) * 2000-02-17 2002-03-26 Multi Level Memory Technology Multi-bit-cell non-volatile memory with maximized data capacity
JP3983969B2 (ja) * 2000-03-08 2007-09-26 株式会社東芝 不揮発性半導体記憶装置
US6859888B2 (en) * 2000-09-19 2005-02-22 Matsushita Electric Industrial Co., Ltd. Data storage array apparatus storing error information without delay in data access, and method, program recording medium, and program for the same
JP4037605B2 (ja) * 2000-12-04 2008-01-23 株式会社東芝 不揮発性メモリユニットのコントローラ、同コントローラを有するメモリシステム及び不揮発性メモリユニットの制御方法
KR100386296B1 (ko) * 2000-12-30 2003-06-02 주식회사 하이닉스반도체 멀티레벨을 가지는 플래쉬 메모리를 프로그램/리드하기위한 회로 및 그 방법
JP2002288988A (ja) * 2001-03-28 2002-10-04 Mitsubishi Electric Corp 不揮発性半導体記憶装置
TWI240864B (en) * 2001-06-13 2005-10-01 Hitachi Ltd Memory device
JP4256600B2 (ja) * 2001-06-19 2009-04-22 Tdk株式会社 メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法

Also Published As

Publication number Publication date
US20070035998A1 (en) 2007-02-15
JP2004086991A (ja) 2004-03-18
US20040042269A1 (en) 2004-03-04
CN1487530A (zh) 2004-04-07
TW200405349A (en) 2004-04-01

Similar Documents

Publication Publication Date Title
KR20040023508A (ko) 불휘발성 기억장치
US7679965B2 (en) Flash memory with improved programming precision
US6944063B2 (en) Non-volatile semiconductor memory with large erase blocks storing cycle counts
KR100878479B1 (ko) 데이터 정보에 따라 프로그램 방식을 결정하는 메모리시스템
US10332603B2 (en) Access line management in a memory device
JP2004265162A (ja) 記憶装置およびアドレス管理方法
US11081171B2 (en) Nonvolatile memory device including a fast read page and a storage device including the same
TWI388982B (zh) 包含具有電荷累積層及控制閘極之記憶胞的半導體記憶裝置及記憶系統
KR20100068364A (ko) 더미 데이터를 기록하여 mlc 플래시를 slc로 사용하는 방법
KR20030068202A (ko) 비휘발성 메모리의 효율적인 데이터 검증 동작을 위한구조 및 방법
KR20150029404A (ko) 반도체 장치, 메모리 시스템 및 이의 동작 방법
US11461177B2 (en) Data storage device and method of operating the same
US6335882B1 (en) Nonvolatile semiconductor memory device capable of erasing blocks despite variation in erasing characteristic of sectors
JP2009048750A (ja) 不揮発性半導体記憶装置
JP2021026448A (ja) 記憶部システム、記憶部制御装置および記憶部制御方法
US11881265B2 (en) Memory system and read method
EP3783614A1 (en) Nonvolatile memory device including a fast read page and a storage device including the same
KR20230045933A (ko) 데이지 체인 토폴로지 기반의 저장 장치
KR20240066720A (ko) 소거 상태의 메모리 셀들을 검증하는 메모리 장치 및 그것의 동작 방법
JP2023044471A (ja) メモリシステム及びメモリ制御方法
CN117912520A (zh) 储存装置

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