KR20000048015A - 플래시 메모리의 제어 방법, 및 이 제어 방법을 이용한플래시 메모리 시스템과 이 제어 방법을 이용한 플래시메모리 칩 - Google Patents

플래시 메모리의 제어 방법, 및 이 제어 방법을 이용한플래시 메모리 시스템과 이 제어 방법을 이용한 플래시메모리 칩 Download PDF

Info

Publication number
KR20000048015A
KR20000048015A KR1019990056034A KR19990056034A KR20000048015A KR 20000048015 A KR20000048015 A KR 20000048015A KR 1019990056034 A KR1019990056034 A KR 1019990056034A KR 19990056034 A KR19990056034 A KR 19990056034A KR 20000048015 A KR20000048015 A KR 20000048015A
Authority
KR
South Korea
Prior art keywords
data
error
flash memory
memory
unit
Prior art date
Application number
KR1019990056034A
Other languages
English (en)
Other versions
KR100321302B1 (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 KR20000048015A publication Critical patent/KR20000048015A/ko
Application granted granted Critical
Publication of KR100321302B1 publication Critical patent/KR100321302B1/ko

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • 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
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation

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 Hardware Design (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

복수의 플래시 메모리 셀로 구성되는 데이터의 소거나 기록이 이루어지는 기억 단위 군에 대해 정보 데이터의 변경을 행하는 단계와, 기억 단위 군에 대해 행해진 정보 데이터의 변경이 정상적으로 행해지고 있지 않은 에러의 유무를 검사하는 단계와, 검사 결과, 에러가 있다고 판단된 경우에, 에러의 정정이 가능하다면, 기억 단위군에 대해 행해진 데이터의 변경이 정상적으로 행해졌다고 판정하는 단계를 포함하는 것을 특징으로 한다.

Description

플래시 메모리의 제어 방법, 및 이 제어 방법을 이용한 플래시 메모리 시스템과 이 제어 방법을 이용한 플래시 메모리 칩{A METHOD OF CONTROLLING FLASH MEMORY AND A FLASH MEMORY CHIP}
본 발명은 플래시 메모리의 제어 방법, 및 이 제어 방법을 이용한 플래시 메모리 시스템과 이 제어 방법을 이용한 플래시 메모리 칩에 관한 것이다.
컴퓨터의 기억 장치로서, 기억 용량에 대한 가격이 비교적 낮은 하드 디스크 장치가 많이 사용되고 있다. 하드 디스크에서는, 섹터라는 단위 (예를 들어 512 바이트)로 파일 데이터의 기록/판독을 행할 수 있다.
디스크의 흠이나 먼지의 부착 등에 의해, 섹터 내의 데이터를 정상적으로 기록할 수 없거나, 판독할 수 없는 등의 에러가 발생하는 경우가 있다. 이러한 에러를 검출·정정할 수 있도록, 파일 데이터에는 에러 체크 코드라는 데이터가 부가된다. 이에 의해, 데이터의 판독 시에, 파일 데이터와 에러 체크 코드로부터 에러의유무를 검출하고, 에러가 있으면 그 에러 데이터를 정정한다.
컴퓨터에서 이용되고 있는 많은 파일 관리 시스템은, 복수의 섹터로부터 클러스터라는 단위를 구성하고, 컴퓨터 상에서 파일 데이터는 클러스터 단위로 관리된다.
하드 디스크는, 모터 구동때문에 소비 전력이 크다. 또한, 진동에 의한 디스크 파손 등은 신뢰성을 저하시킨다. 이에 반해, 플래시 메모리를 이용한 기억 장치가 있다. 플래시 메모리는 소비 전력이 작고, 진동에도 강하다. 물론, 전지에 의한 백업 시스템은 불필요하다. 이 때문에, 플래시 메모리는 특히 휴대 전자 기기 등에서 널리 이용된다.
플래시 메모리를 사용한 기억 장치를 이하에서는 플래시 메모리 시스템이라 한다. 플래시 메모리 시스템은, 많은 경우, 컴퓨터에 대해 하드 디스크와 동일한 입장에서 취급되도록 구성된다.
즉, 플래시 메모리 시스템은, 하드 디스크 드라이버를 동작시키는 것과 동일하게 구성된다. 컴퓨터에서는, 하드 디스크나 플래시 메모리를 하등 차이없이 다룰 수 있는 편리성이 요구되기 때문이다.
이러한 요구를 만족시키기 위하여, 플래시 메모리에 대해 섹터 단위로의 데이터의 기록 및 판독을 행할 수 있으면 좋다. 즉, 플래시 메모리 내에 1 섹터분의 데이터를 일시적으로 축적할 수 있는 데이터 레지스터를 구비한다. 이에 의해, 일괄하여 1 섹터의 데이터를 기록하거나 판독하거나 할 수 있도록 구성된다. 이 기술은 주지되어 있으며, 일괄하여 기록/판독을 행함으로써 시스템을 고속으로 동작시킬 수 있게 된다.
NAND형 플래시 메모리는, 상기 기술에 적합한 메모리 구조로서 알려져 있다. 예를 들면, 1 섹터가 528 바이트의 단위로 일괄 기록/판독이 가능하며, 예를 들면 4 섹터로 1 클러스터를 구성하고, 클러스터 단위로 일괄 소거가 가능하다. 이 NAND형 플래시 메모리 내의 섹터·클러스터를 컴퓨터의 파일 관리 시스템의 섹터·클러스터에 포함시킬 수 있다.
NAND형 플래시 메모리를 이용한 플래시 메모리 시스템에서는, 클러스터를 소거한 후, 클러스터 내의 메모리 셀 전부가 소거되어 있는 지의 여부를 체크한다 (베리파이 소거 동작을 포함함). 만일, 1개라도 소거가 발생하지 않은 메모리 셀이 있다고 검출되면, 그 클러스터는 불량이라고 하고 사용이 금지시 된다.
마찬가지로, 섹터에 데이터를 기록한 후, 섹터 내의 메모리 셀 전체가 정상적으로 기록되어 있는 지의 여부를 체크한다 (베리파이 기록 동작을 포함함). 만일, 1개라도 원하는 기록이 발생하지 않은 메모리 셀이 있다고 검출되면, 그 섹터는 불량이라고 간주되어, 그 섹터를 포함하는 클러스터는 사용 금지시 된다.
사용 금지시 된 클러스터를 치환하기 위하여, 용장 클러스터가 마련되어 있다. 사용 금지시 된 클러스터 수가 일정수를 넘으면 치환이 불가능해져, 플래시 메모리 시스템 자체가 불량이 된다.
NAND형 플래시 메모리 중에서, 1개의 메모리 셀에, 예를 들면 4개의 임계값 전압을 설정하여 2 비트의 데이터를 기록하는 다치 NAND형 플래시 메모리가 알려져 있다. 이것은 종래의 NAND형 플래시 메모리에 비해, 고 정밀도의 임계값 전압의 제어를 요하여, 데이터 유지 특성의 열화 등에 의한 메모리 셀의 불량률은 높아진다.
이 때문에, 다치 NAND형 플래시 메모리를 이용한 플래시 메모리 시스템에서는, 에러 검출이나 에러 정정의 확실도를 높일 수 있다. 이 메모리 시스템에서도 상술한 바와 마찬가지로 클러스터를 소거한 후, 클러스터 내의 메모리 셀 전체가 소거되어 있는 지의 여부를 체크한다 (베리파이 소거 동작을 포함함). 만일, 1개라도 소거할 수 없는 메모리 셀에 있다고 검출되면, 그 클러스터는 불량이라고 하여 사용 금지시 된다.
마찬가지로, 섹터에 데이터를 기록한 후, 섹터 내의 메모리 셀 전체가 정상적으로 기록되어 있는 지의 여부를 체크한다 (베리파이 기록 동작을 포함함). 만일, 1개라도 원하는 기록이 불가능한 메모리 셀이 있다고 검출되면, 그 섹터는 불량이라고 간주되며, 그 섹터를 포함하는 클러스터는 사용 금지시 된다.
상술한 바와 같이, 데이터에 부가되는 에러 체크 코드 등에 의해 1개의 섹터 내에서 복수의 메모리 셀의 에러 검출·정정이 가능한 시스템에서도, 에러 검출·정정의 동작 모드 이전의 소거나 기록 시에, 단지 1개의 메모리 셀의 불량 때문에, 그 메모리 셀이 속하는 클러스터가 불량이 되어, 사용 금지시 된다.
즉, 시스템적으로 구제 가능한 불량 상태임에도 불구하고, 불량으로 간주되는 불량 섹터 혹은 불량 클러스터가 발생하기 쉽다. 이 결과, 메모리 시스템에서 사용 금지 메모리 영역이 증대하여, 결국 시스템 불량을 일으키고 마는 문제가 있었다.
본 발명은 이러한 사정을 감안하여 이루어진 것이며, 그 과제는 메모리 시스템에서의 사용 금지 메모리 영역이 과도하게 증대하는 것을 방지하여, 에러 정정 가능한 플래시 메모리 시스템을 제공하는 것이다.
본 발명에 따른 플래시 메모리 시스템의 제어 방법은, 복수의 플래시 메모리로 구성되는 데이터의 소거나 기록이 이루어지는 기억 단위군에 대하여 정보 데이터의 변경을 행하는 단계; 상기 기억 단위군에 대하여 행해진 정보 데이터의 변경이 정상적으로 행해지지 않은 에러의 유뮤를 검사하는 단계; 및 검사의 결과, 에러가 있는 것으로 판단된 경우에, 에러의 정정이 가능하면, 상기 기억 단위군에 대하여 행해진 데이터의 변경이 정상적으로 행해진 것으로 판정하는 단계를 포함한다.
본 발명에 따른 플래시 메모리 시스템의 제어 방법은, 복수의 플래시 메모리 셀로 구성되는 데이터의 소거나 기록이 이루어지는 기억 단위군에 대하여 기록되어 있는 데이터를 소거하는 단계; 상기 데이터의 소거가 행해진 기억 단위군의 데이터를 판독하고, 정상적으로 소거가 행해졌는 지를 검사하는 단계; 상기 검사의 결과, 정상적으로 소거가 행해지지 않은 것으로 판정된 경우, 정상 소거가 행해지지 않은 에러의 수를 계수하는 단계; 및 계수된 에러의 수가 정정 가능한 수이면, 상기 기억 단위군에 대하여 데이터의 소거가 정상적으로 행해진 것으로 판정하는 단계를 포함한다.
본 발명에 따른 플래시 메모리 시스템의 제어 방법은, 복수의 플래시 메모리 셀로 구성되는 데이터의 소거나 기록이 이루어지는 기억 단위군에 대하여 데이터를 기록하는 단계; 상기 데이터의 기록이 행해진 기억 단위군의 데이터를 판독하고, 정상적으로 데이터가 기록되었는지를 검사하는 단계; 상기 검사의 결과, 정상적으로 기록되지 않은 것으로 판정된 경우, 정상 기록이 행해지지 않은 에러의 수를 계수하는 단계; 및 계수된 에러의 수가 정정 가능한 수이면, 상기 기억 단위군에 대하여 데이터가 정상적으로 기록된 것으로 판정하는 단계를 포함한다.
본 발명에 따른 플래시 메모리 시스템은, 복수의 플래시 메모리 셀로 구성되는 정보 데이터의 소거나 기록이 이루어지는 기억 단위군; 상기 기억 단위군에 기록되어 있는 정보 데이터를 판독하고, 소정수의 에러 검출·정정을 행하는 에러 검출·정정 유닛; 및 상기 에러 검출·정정 유닛에서 검출된 에러 수를 계수하고, 계수된 에러 수가 상기 소정수 이하인 경우에, 데이터의 변경 처리가 정상적으로 행해진 것으로 판정하는 에러 판정부를 구비하여 이루어진다.
본 발명에 따른 플래시 메모리 시스템은, 복수의 플래시 메모리 셀로 구성되는 메모리 클러스터; 상기 메모리 클러스터를 구성하는 적어도 1 이상의 메모리 섹터; 상기 메모리 클러스터에 기록되어 있는 정보 데이터의 소거를 지령하는 플래시 메모리 제어 유닛; 메모리 클러스터로부터 데이터를 판독하여 소거 에러를 검출하고, n 개 이하의 메모리 셀에 기인하는 소거 에러를 갖는 정보 데이터의 정정을 행하는 에러 검출·정정 유닛; 및 하나의 메모리 섹터에 포함되는 소거 에러가 있는 메모리 셀의 수를 계수하고, 각 메모리 섹터의 비소거가 있는 메모리 셀의 수가 각각 m (1≤m≤n)개 이하이면, 소거 처리가 정상적으로 행해진 것으로 판정하는 에러 판정부를 구비하여 이루어진다.
본 발명에 따른 플래시 메모리 시스템은, 복수의 플래시 메모리 셀로 구성되는 메모리 클러스터; 상기 메모리 클러스터를 구성하는 적어도 1 이상의 메모리 섹터; 상기 메모리 클러스터에 대해 기록되어 있는 정보 데이터의 소거를 지령하는 플래시 메모리 제어 유닛; 메모리 클러스터로부터 판독되는 정보 데이터의 소거 에러를 검출하고, n 심볼 (1 심볼 = k 비트, k≥2) 이하의 정보 데이터에 기인하는 소거 에러의 정정을 행하는 에러 검출·정정 유닛; 하나의 메모리 섹터에 포함되는 소거 에러가 있는 심볼 수를 계수하는 유닛; 및 각 메모리 섹터에 포함되는 소거 에러를 포함하는 심볼 수가 각각 m (1≤m≤n) 심볼 이하이고 상기 에러 검출·정정 유닛에 의해 정정 가능하면, 데이터의 변경 처리가 정상적으로 행해진 것으로서 처리하는 유닛을 구비하여 이루어진다.
본 발명에 따른 플래시 메모리 시스템은, 외부로부터 복수의 플래시 메모리 셀로 구성되는 메모리 클러스터; 상기 메모리 클러스터를 구성하는 적어도 1 이상의 메모리 섹터; 상기 메모리 섹터에 대해 정보 데이터의 기록을 지령하는 플래시 메모리 제어 유닛; 메모리 클러스터로부터 판독되는 정보 데이터의 에러를 검출하고, n 개 이하의 플래시 메모리 셀에 기인하는 기록 에러의 정정을 행하는 에러 검출·정정 유닛; 및 하나의 메모리 섹터에 포함되는 기록 불량인 메모리 셀의 수를 계수하고, 각 메모리 섹터에 포함되는 기록 불량인 메모리 셀의 수가 각각 n 개 이하이면, 메모리 섹터로의 데이터의 기록 처리가 정상적으로 행해진 것으로 판정하는 에러 판정부를 구비하여 이루어진다.
본 발명에 따른 플래시 메모리 시스템은, 복수의 플래시 메모리 셀로 구성되는 메모리 섹터; 상기 메모리 섹터에 대해 정보 데이터의 기록을 지령하는 플래시 메모리 제어 유닛; 메모리 클러스터로부터 판독되는 정보 데이터의 기록 에러를 검출하고, n 심볼 (1 심볼 = k 비트, k≥2) 이하의 정보 데이터에 기인하는 기록 에러의 정정을 행하는 에러 검출·정정 유닛; 및 상기 검사 유닛이 검출한 기록 불량을 갖는 심볼 수를 계수하고, 각 메모리 섹터에 포함되는 에러의 수가 각각 m (1≤m≤n) 심볼 이하이면, 데이터의 변경 처리가 정상적으로 행해진 것으로 판정하는 에러 판정부를 구비하여 이루어진다.
본 발명에 따른 플래시 메모리 시스템은, 외부로부터 복수의 플래시 메모리 셀로 구성되는 메모리 클러스터; 상기 메모리 클러스터를 구성하는 적어도 1 이상의 메모리 섹터; 상기 메모리 섹터에 대해 정보 데이터의 기록을 지령하는 플래시 메모리 제어 유닛; 메모리 클러스터로부터 판독되는 정보 데이터의 기록 에러를 검출하고, n 비트 이하의 정보 데이터에 기인하는 기록 에러의 정정을 행하는 에러 검출·정정 유닛; 및 하나의 메모리 섹터에 포함되는 기록 에러가 발생하고 있는 비트 수를 계수하고, 각 메모리 섹터에 포함되는 기록 불량인 정보 데이터의 비트 수가 각각 m (1≤m≤n) 비트 이하이면, 데이터의 기록 처리가 정상적으로 행해진 것으로 판정하는 에러 판정부를 구비하여 이루어진다.
본 발명에 따른 플래시 메모리 시스템 칩은, 복수의 플래시 메모리 셀로 구성되는 정보 데이터의 소거나 기록이 이루어지는 기억 단위군; 및 상기 기억 단위군에 기록된 정보 데이터의 검사·정정을 행하는 에러 검출·정정 유닛에 의해 검출된 에러 수를 계수하고, 계수된 에러 수가 소정수 이하인 경우에, 데이터의 변경 처리가 정상적으로 행해진 것으로서 처리하는 에러 판정부를 구비하여 이루어진다.
본 발명에 따른 플래시 메모리 시스템 칩은, 복수의 플래시 메모리 셀로 구성되는 정보 데이터의 소거나 기록이 이루어지는 기억 단위군; 상기 기억 단위군에 기록되어 있는 정보 데이터를 판독하고, 소정수의 에러의 검출·정정을 행하는 에러 검출·정정 유닛; 및 상기 에러 검출·정정 유닛에서 검출된 에러 수를 계수하고, 계수된 에러 수가 상기 소정수 이하인 경우에, 데이터의 변경 처리가 정상적으로 행해진 것으로 판정하는 에러 판정부를 구비하여 이루어진다.
또한, 본 발명의 플래시 메모리 시스템의 제어 방법에 따른 발명은, 컴퓨터에 당해 발명에 상당하는 수순을 실행시키기 위한 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체로서도 성립한다.
본 발명은 상기 구성에 의해 이하의 작용·효과를 갖는다. 이상 설명한 바와 같이 본 발명에 따르면, 데이터의 소거 또는 기록시에 일어하는 메모리 셀의 에러가 에러 정정 가능한 일정량 이하이면, 소거 또는 기록이 성공한 것으로 간주한다. 이 결과, 메모리 시스템에서의 사용 금지의 메모리 영역이 과잉으로 증대하는 것을 방지하는 에러 정정 가능한 플래시 메모리 시스템을 제공할 수 있다.
도 1은 제1 실시예에 따른 에러 정정 가능한 플래시 메모리 시스템의 구성이며, 플래시 메모리 카드를 도시한 시스템 블록도.
도 2의 (a)∼도 2의 (c)는 도 1 중의 셀 어레이(10)의 구성을 도시한 개념도.
도 3은 플래시 메모리 클러스터의 소거 후의 임계값 분포를 도시한 특성도.
도 4는 플래시 메모리 섹터의 기록 후의 임계값 분포를 도시한 특성도.
도 5는 1개의 메모리 셀에 2 비트분의 데이터를 기록시키는 4치 기억 시스템을 이용한 플래시 메모리의 임계값 분포를 도시한 특성도.
도 6은 제2 내지 제4 실시예에 따른 에러 정정 가능한 플래시 메모리 시스템을 설명하기 위한 구성이며, 플래시 메모리 카드를 도시한 시스템 블록도.
도 7은 플래시 메모리 셀 어레이의 섹터 내의 데이터 배열예를 도시한 개념도.
도 8은 메모리 셀 어레이의 구체예를 도시한 회로도.
도 9는 제5 실시예에 관한 것이며, 도 1의 메모리 시스템에 따른 판독 동작 모드의 알고리즘을 도시한 플로우차트.
도 10은 제5 실시예에 관한 것이며, 도 1의 메모리 시스템에 따른 소거 동작 모드의 알고리즘을 도시한 플로우차트.
도 11은 제5 실시예에 관한 것이며, 도 1의 메모리 시스템에 관한 기록 동작 모드의 알고리즘을 도시한 플로우차트.
<도면의 주요 부분에 대한 부호의 설명>
1 : 플래시 메모리 카드
2 : MPU
3 : ROM
4 : 카드 인터페이스 유닛
5 : SRAM 인터페이스겸 데이터 전송 제어 유닛
6 : SRAM
7 : 에러 검출·정정 유닛
8 : 플래시 메모리 제어 유닛
9 : 플래시 메모리
10 : 메모리 셀 어레이
11 : 제어 회로
81 : 에러 판정부
82 : 카운터
다음으로, 본 발명의 실시예를 도면을 참조하여 설명한다.
[제1 실시예]
도 1은 본 발명의 제1 실시예에 관한 에러 정정 가능한 플래시 메모리 시스템의 구성이며, 플래시 메모리 카드를 도시한 시스템 블록도이다. 플래시 메모리 카드(1)는 MPU(2) (Micro Processor Unit)와 호스트로부터의 명령으로 제어된다.
ROM(3) (Read Only Memory)에는, 제어 프로그램이 기록되어 있다. MPU(2)는 ROM(3)의 프로그램을 판독하여 호스트와 데이터의 송수신을 하는 카드 인터페이스 유닛(4), SRAM (Static Random Access Memory) 인터페이스겸 데이터 전송 제어 유닛(5), 에러 검출·정정 유닛(7), 플래시 메모리 제어 유닛(8)을 제어한다.
플래시 메모리 제어 유닛(8)에는, 에러 판정부(81)가 포함되어 있다. 에러 판정부(81)는 플래시 메모리(9)에서의 데이터의 소거, 기록의 각 동작 모드에서의 에러 수를 카운터(82)로 세서, 에러 수가 어느 정해진 알고리즘에 따라 에러 검출·정정 유닛(7)으로 정정할 수 있는 범위에 들어 있으면, 그 에러를 허가하여, 정상적인 소거 또는 기록이 이루어진 것으로 간주되도록 작용한다.
상기한 도 1의 카드 시스템에서의 데이터의 기록 및 소거에 대해 설명한다. 호스트로부터 전송되어 온 데이터는, 카드 인터페이스 유닛(4)을 통해, SRAM 인터페이스겸 데이터 전송 제어 유닛(5)에 전송된다. SRAM 인터페이스겸 데이터 전송 제어 유닛(5)은 데이터를 에러 검출·정정 유닛(7)에 보낸다.
에러 검출·정정 유닛(7)은, 데이터를 판독하였을 때에 에러 검출·정정을 하기 위해 필요한 체크 코드 (에러 체크 코드)를 발생한다. 이들 데이터와 체크 코드는, 플래시 메모리 제어 유닛(8)으로부터 플래시 메모리(9)에 전송되며, 플래시 메모리(9)에 기록된다. 이 때 필요하다면, 플래시 메모리 제어 유닛(8)은 상기한 체크 코드를 포함하는 데이터의 기록 전에 플래시 메모리(9)에 대해 소거 명령을 내리고, 메모리의 데이터의 소거를 행한다.
플래시 메모리(9) 내에서는, 제어 회로(11)가 데이터를 수취하고, 메모리 셀 어레이(10)의 지정된 물리 어드레스에 대해 기록을 행한다. 제어 회로(11)는 기록이 가능하였는 지의 여부를 체크하고, 기록이 성공하였다고 판단되면, 플래시 메모리 제어 유닛(8)에 "패스"의 스테이터스 정보를 되돌린다.
소거 시에도 마찬가지이다. 제어 회로(11)는 소거 가능하였는 지의 여부를 체크하고, 소거가 성공하였다고 판단되면, 플래시 메모리 제어 유닛(8)에 "패스"의 스테이터스 정보를 되돌린다.
"패스"를 수취한 플래시 메모리 제어 유닛(8)은 MPU(2)에 대해 소거 혹은 기록에 성공하였다는 정보를 보낸다.
제어 회로(11)는, 소거 혹은 기록에 성공하지 않았다고 판단되면, 플래시 메모리 제어 유닛(8)에 "페일"의 스테이터스를 되돌린다. "페일"을 수취한 플래시 메모리 제어 유닛(8)은 플래시 메모리(9)에 에러의 상태를 출력하도록 명령을 내린다.
상기한 "페일"이면, 플래시 메모리 제어 유닛(8)은, 플래시 메모리(9)로부터 에러 상태를 수취한다. 이 에러 상태를 판독하였을 때에, 어느 정해진 알고리즘에 기초하여 에러 정정 가능한 상태라고 판단되면, MPU(2)에 소거 혹은 기록에 성공하였다는 정보를 보낸다.
이에 반해, 에러 상태를 판독하였을 때에, 어느 정해진 알고리즘에 기초하여 에러 정정 불가능한 상태라고 판단되면, MPU(2)에 소거 혹은 기록에 실패하였다는 정보를 보낸다.
MPU(2)는, 플래시 메모리(9)에서, 상기 소거 혹은 기록에 실패하였다는 정보에 따른 물리 어드레스를 사용 금지로 한다. 그리고, MPU(2)는 그 물리 어드레스를 예비의 물리 어드레스에 할당하여 치환하여, 다시 소거 혹은 기록을 행한다.
다음으로, 도 1에 도시한 카드 시스템에서의 데이터의 판독에 대해 설명한다. 호스트로부터 카드 인터페이스 유닛(4)에 판독 명령이 투입되면, MPU(2)는 플래시 메모리 제어 유닛(8)에 판독 명령을 내리고, 다시 플래시 메모리 제어 유닛(8)은 플래시 메모리(9)에 판독 명령을 내린다.
플래시 메모리(9)에서는, 제어 회로(11)가 메모리 셀 어레이(10) 중의 지정된 물리 어드레스의 데이터를 판독하여, 플래시 메모리 제어 유닛(8)에 출력한다. 판독된 데이터는 에러 검출·정정 유닛(7)에 보내지고, 데이터 중에 에러가 있는 지의 여부가 체크 코드를 이용하여 체크된다.
상기한 체크에 의해, 플래시 메모리(9)로부터 판독한 데이터에 에러가 없다고 판단된 경우, 체크 코드를 제외한 데이터는, 그대로 SRAM 인터페이스겸 데이터 전송 제어 유닛(5)과 카드 인터페이스 유닛(4)을 거쳐 호스트에 출력된다.
상기한 체크에 의해, 플래시 메모리(9)로부터 판독한 데이터에 에러가 있다고 판단되는 경우, 에러 상태가 정정 가능하면, 데이터는 에러 검출·정정 유닛(7)에서 에러 정정되고나서 호스트에 출력된다. 에러 정정 불가능한 상태이면, MPU(2)는 판독에 실패하였음을 카드 인터페이스(2)를 통하여 호스트에 출력한다.
SRAM(6)은 호스트로부터 제2 데이터가 입력되었을 때에, 그 이전에 입력된 제1 데이터의 처리가 아직 종료되지 않은 경우에, 일시적으로 상기한 제2 데이터를 기억한다. 또한, 데이터를 호스트에 출력할 때에, 호스트가 데이터를 수취할 준비가 가능하지 않은 경우, 일시적으로 출력 데이터를 기억한다.
도 2의 (a) 내지 도 2의 (c)는, 도 1 중의 셀 어레이(10)의 구성을 도시한 개념도이다. 셀 어레이(10)는 복수의 메모리 클러스터 (이하, "클러스터"라 함)로 분할된다. 여기서는, 예를 들면 64개의 클러스터로 셀 어레이(10)가 구성되어 있다 [도 2의 (a)].
1개의 클러스터는, 1개 혹은 복수의 메모리 섹터 (이하, "섹터"라 함)로 구성되어 있다. 여기서는, 4개의 섹터로 하나의 클러스터를 구성하고 있다 [도 2의 (b)]. 클러스터는 소거의 단위이며, 섹터는 기록 혹은 판독의 단위이다. 현재의 컴퓨터에서는, 1 섹터가 512 바이트 정도이며, 1 클러스터가 수 k 바이트∼수십 k 바이트 정도가 주류이다.
1 섹터에는, 호스트로부터 전송되어 온 데이터와, 그 데이터로부터 에러 검출·정정 유닛(7)에서 발생된 체크 코드와, 호스트 측의 파일 관리 시스템 상의 논리 어드레스가 기억된다. 이 예에서, 데이터는 페이지 0과 페이지 1에, 체크 코드는 ECC0과 ECC1에, 관리 어드레스는 LA에 격납된다 [도 2의 (c)].
상기 실시예에 의하면, 불량 상태의 클러스터를 플래시 메모리(9) 측에서의 스테이터스 정보의 "페일"로 간단히 사용 금지로 하지 않아, 시스템적으로 구제 가능한 불량 상태인 지를 판정할 수 있다. 이에 의해, 에러 검출·정정이 가능한 시스템을 유효하게 이용할 수 있다.
이 결과, 시스템적으로 구제 가능한 불량 상태에서도, 에러 검출·정정의 동작 모드 이전에 불량이라고 간주되는 불량 섹터 혹은 불량 클러스터의 발생을 방지할 수 있다. 이 결과, 메모리 시스템에서의 사용 금지의 메모리 영역의 증대를 억제하여, 시스템 불량의 저감에 우수한 효과를 발휘한다.
상기한 실시예에서, 에러 판정부(81)는 플래시 메모리 제어 유닛(8)에 포함되도록 하고 있었으나, 이에 한정되지 않는다. 에러 판정부로서 다른 유닛에 포함되도록 하여도 좋다. 예를 들면, 에러 검출·정정 유닛(7) 혹은 플래시 메모리(9) 내의 제어 회로(11)에 포함되도록 구성하여도 상기와 마찬가지의 효과를 얻을 수 있다.
이러한 본 발명의 효과에 대해, 도 3 내지 도 5를 참조하여 더욱 상세히 설명한다.
도 3은 플래시 메모리 클러스터의 소거 후의 임계값 분포를 도시하고 있다. 플래시 메모리에서, 소거 (베리파이 소거 동작도 포함함)에 의해, 임계값 전압이 소정값 이하로 된다 (데이터 "1" 상태).
그러나, 예를 들면 검정색 동그라미로 도시한 바와 같이 1 또는 수개의 메모리 셀이 소거 불가능한 경우가 있다. 이러한 에러가 발생한 경우, 종래는 소거에 실패하였다고 처리하였다.
도 4는 플래시 메모리 섹터의 기록 후의 임계값 분포를 도시하고 있다. 예를 들면, 플래시 메모리에서, 데이터 "0" 기록 (베리파이 기록 동작도 포함함)에 의해, 임계값이 소정값 이상으로 된다.
그러나, 예를 들면 검정색 동그라미로 도시한 바와 같이 1 또는 수개의 메모리 셀이 기록 불가능한 경우가 있다. 이러한 에러가 발생한 경우, 종래는 기록에 실패하였다고 처리하였다.
즉, 종래 시스템에서, 상술한 바와 같은 에러를 일으킨 메모리 셀을 포함하는 클러스터는 사용 금지시 된다. 즉, 이러한 에러가, 에러 검출·정정 유닛(7) (도 1에 도시함)을 사용하여 시스템적으로 구제 가능하여도, 에러 검출·정정의 동작 모드 이전에, 그 메모리 셀이 속하는 클러스터가 불량으로 되어 사용 금지시 된다.
본 발명은 이러한 에러를 우선 시스템적으로 구제 가능한 불량 상태인 지를 판정한다. 이에 의해, 클러스터 중 대부분의 메모리 셀이 정상이고, 또한 에러로 된 수개의 메모리 셀 전체에 대해 에러 검출·정정이 가능하면, 그 클러스터를 사용 금지시 하지 않고 시스템적으로 정상인 클러스터로서 이용한다.
도 5는, 1개의 메모리 셀에 2 비트분의 데이터를 기억시키는 4치 기억 시스템을 이용한 플래시 메모리의 임계값 분포를 도시하고 있다. 데이터에 대응하는 각 임계값 전압의 영역간이 2치 기억 시스템에 비해 좁다. 따라서, 2치 기억 시스템보다 기록에 실패할 확률이 증가한다.
본 발명은 이러한 플래시 메모리에도 우수한 효과를 발휘한다. 즉, 도 5 중에 도시한 바와 같은 에러를 시스템적으로 구제 가능한 불량 상태인 지를 판정한다. 이에 의해, 대부분의 메모리 셀이 정상으로 기능하는 클러스터 중, 에러로 된 수개의 메모리 셀 전체가 에러 검출·정정이 가능하면, 그 클러스터를 사용 금지로 하지 않고 시스템적으로 정상인 클러스터로서 이용한다.
이 결과, 시스템적으로 구제 가능한 불량 상태를 가진 것은, 불량이라고 간주되므로, 과잉의 불량 섹터 혹은 불량 클러스터의 발생을 방지할 수 있다. 이 결과, 메모리 시스템에서의 사용 금지의 메모리 영역의 증대를 억제하고, 시스템 불량을 저감시킨다.
[제2 실시예]
도 6은 본 발명의 제2 실시예에 관한 에러 정정 가능한 플래시 메모리 시스템의 구성이며, 플래시 메모리 카드를 도시한 시스템 블록도이다. 도 1에서는, 에러 판정부(81)가 플래시 메모리 제어 유닛(8)에서 작용하는 것에 반해, 이 도 6에서는, 에러 수를 세는 카운터(112)를 포함하는 에러 판정부(111)가 플래시 메모리(9) 내의 제어 회로(11)에서 작용한다. 이 외에는 도 1의 구성과 동일하므로 동일 부호를 부여하고 있다.
즉, 플래시 메모리 카드(1)는, MPU(2) (마이크로 프로세서 유닛)와 호스트로부터의 명령으로 제어된다. ROM(3) (리드·온리·메모리)에는, 제어 프로그램이 기록되어 있다. MPU(2)는 ROM(3)의 프로그램을 판독하여, 호스트와 데이터의 송수신을 하는 카드 인터페이스 유닛(4), SRAM 인터페이스겸 데이터 전송 제어 유닛(5), 에러 검출·정정 유닛(7), 플래시 메모리 제어 유닛(8)을 제어한다.
플래시 메모리(9) 중에서는, 제어 회로(11)가 데이터를 수취하고, 지정된 메모리 셀 어레이(10) 내의 물리 어드레스에 대해 소거 또는 기록 또는 판독 동작을 행하게 할 수 있다.
제어 회로(11)에는, 에러 판정부(111)가 포함되어 있다. 에러 판정부(111)는, 데이터의 소거, 기록의 각 동작 모드에서의 에러 수를 카운터(112)로 세고, 세어진 에러 수가 어느 정해진 알고리즘에 따라 에러 검출·정정 유닛(7)으로 정정할 수 있는 범위에 속하면, 그 에러를 허가하고, 정상적인 소거 또는 기록이 이루어진 것으로 간주되도록 작용한다.
도 7은, 플래시 메모리 셀 어레이의 섹터 내의 데이터 배열예를 도시한 개념도이며, 플래시 메모리(9)의 셀 어레이(10)에서의 섹터 내의 구성을 도시하고 있다. 즉, 도 7은 상기 도 2의 (c)에 따른 데이터 배열의 상세를 도시한 것이다.
여기서는, 플래시 메모리로서 1개의 메모리 셀에 2 비트분의 데이터를 기억하는 4치 기억 시스템을 이용한다. 도 7에 도시한 바와 같이, 데이터 D0-x와 D1-x (x = 0, 1, …, 2047)가 쌍이 되어 1개의 메모리 셀에 기억되며, 상기 도 5에 도시한 각 데이터 "11", "10", "1", "0"의 기록 상태와 대응하도록 되어 있다.
또한, ECC로 나타낸 에러 체크 코드 C0-y와 C1-y (y = 0, 1, …, 42)가 쌍이 되어 1개의 메모리 셀에 기억된다 (이하, 에러 체크 코드를 "체크 코드"라 함). 체크 코드 C0-y와 C1-y는 도 6 중의 에러 검출·정정 유닛(7)에서 생성된다. 체크 코드 C0-y는 데이터 D0-0∼D0-2047에 대해, 체크 코드 C1-y는 데이터 D1-0∼D1-2047에 대해, 각각 정해진 에러 정정 알고리즘에 따른 n 비트의 정정이 가능하도록 부가되는 것이다.
즉, 상기한 경우, n개의 메모리 셀이 불량을 일으켜도 에러 정정 가능하다. 정정 가능한 비트 수는 체크 코드 길이에 따라 제한된다. 여기에서의 체크 코드 길이는 43 비트이지만, 필요한 n에 따라 메모리 셀의 수를 증가시키고, 체크 코드 길이를 43 비트보다 길게 하면 된다.
LA0∼6 각각에 격납되는 각 논리 어드레스 A0∼A5는, 3개의 메모리 셀에 기억된다. 동일 어드레스 데이터가 7 세트 (LA0∼LA6) 설치된다. 이에 의해, 다수결 이론에 의해 1개의 어드레스 데이터 Az (z = 0∼5)에 대해 3비트까지 정정 가능하다 (4:3이 경계가 되므로). 이로써, 3개의 메모리 셀이 불량을 일으켜도 에러 정정 가능하다. 정정 가능 비트 수를 증가시킨 경우, 어드레스 데이터의 세트 수를 증가시켜 두면 된다.
이상의 데이터 배열에 입각하여, 도 2의 (a)∼도 2의 (c), 도 6, 도 7을 참조하여, 제2 실시예의 주요부에 대해 설명한다.
제어 회로(11)는, 클러스터를 소거하고, 클러스터의 소거 상태를 검사한다 (베리파이 소거 동작도 포함함).
이 결과, 제어 회로(11)는, 소거할 수 없었던 메모리 셀을 m개 이상 (2≤m≤n+1) 포함하는 섹터가 1개 이상이라고 판단되거나, 혹은 소거할 수 없었던 메모리 셀을 m개 이상 (2≤m≤n+1) 포함하는 섹터가 1개 이상 있을 가능성이 있다고 판단되면, 클러스터에 대해 정상적인 소거를 행할 수 없었다고 하고, 플래시 메모리 제어 유닛(8)에 "페일"의 스테이터스를 되돌린다.
예를 들면, n = 3, m = 2라고 하면, 1 섹터당 3개의 메모리 셀의 에러를 정정할 수 있다. 이로부터, 소거 시에 각 섹터당 1개의 메모리 셀의 에러는 허가하여, 정상적인 소거를 행할 수 있다고 한다. 즉, 소거 시에 1 섹터에서의 에러가 1개뿐이면, 플래시 메모리 제어 유닛(8)에 "패스"의 스테이터스를 되돌린다.
또한, 제어 회로(11)는 섹터에 데이터를 기록하고, 섹터의 기록 상태를 검사한다 (베리파이 기록도 포함함). 기록할 수 없었던 메모리 셀이 m개 이상 (2≤m≤n+1) 있거나, 혹은 기록할 수 없었던 메모리 셀이 m개 이상 (2≤m≤n+1) 있을 가능성이 있다고 판단되면, 섹터에 대해 정상적인 기록을 행할 수 없었다고 하고, 플래시 메모리 제어 유닛(8)에 "페일"의 스테이터스를 되돌린다.
예를 들면, n = 3, m = 2라고 하면, 1 섹터 당 3개의 메모리 셀의 에러를 정정할 수 있다. 상기로부터, 기록 시에 1개의 메모리 셀의 에러는 허가하여, 정상적인 기록을 행할 수 있다고 한다. 즉, 기록 시에 1 섹터에서의 에러가 1개뿐이면, 플래시 메모리 제어 유닛(8)에 "패스"의 스테이터스를 되돌린다.
다음으로, 제3 실시예에 대해 설명한다. 이 제3 실시예에 대해서도 도 2의 (a)∼도 2의 (c), 도 6, 도 7을 참조한다. 여기서는 플래시 메모리로서 1개의 메모리 셀에 2 비트분의 데이터를 기억하는 4치 기억 시스템을 이용한다. 도 6에 도시한 바와 같이, 데이터 D0-x와 D1-x (x = 0, 1, …, 2047)이 쌍이 되어 1개의 메모리 셀에 기억된다.
이 제3 실시예에서는, 에러 검출·정정 유닛(7)에서, 데이터를 복수 메모리 셀분의 군 (심볼)로 분할하여, n 심볼 정정 가능하도록 체크 코드 C0-1∼C0-42, C1-1∼C1-42를 생성한다. 일반적으로 자주 사용되는 것은 리드 솔로몬 코드이다.
즉, 상기의 경우, n 심볼 수에 따른 개수의 메모리 셀이 불량을 일으켜도 에러 정정 가능하다. 정정 가능한 심볼 수는 체크 코드 길이에 따라 제한된다. 여기서는 체크 코드 길이는 43 비트이지만, 필요한 n에 따라 메모리 셀의 수를 증가시키고, 체크 코드 길이를 43 비트보다 길게 하면 된다.
LA0∼6 각각에 격납되는 각 논리 어드레스 A0∼A5는, 3개의 메모리 셀에 기억된다. 동일 어드레스 데이터가 7 세트 (LA0∼LA6) 설치된다. 이에 의해, 다수결 이론에 의해 1개의 어드레스 데이터 Az (z = 0∼5)에 대해 3 비트까지 정정 가능하다. 이로써, 3개의 메모리 셀이 불량을 일으켜도 에러 정정 가능하다. 정정 가능 비트 수를 증가시킨 경우, 어드레스 데이터의 세트 수를 증가시켜 두면 된다.
이상의 데이터 배열에 입각하여, 도 2의 (a)∼도 2의 (c), 도 6, 도 7을 참조하여, 제3 실시예의 주요부에 대해 설명한다.
제어 회로(11)는 클러스터를 소거하고, 클러스터의 소거 상태를 검사한다 (베리파이 소거 동작도 포함함).
이 결과, 제어 회로(11)는 에러를 m 심볼 이상 (2≤m≤n+1) 포함하는 섹터가 1개 이상이거나, 혹은 에러를 m 심볼 이상 (2≤m≤n+1) 포함하는 섹터가 1개 이상일 가능성이 있다고 판단되면, 클러스터에 대해 정상적인 소거를 행할 수 없었다고 하고, 플래시 메모리 제어 유닛(8)에 "페일"의 스테이터스를 되돌린다.
예를 들면, n = 3, m = 2라고 하면, 1 섹터당 3개의 심볼의 에러를 정정할 수 있다. 상기로부터, 소거 시에 각 섹터당 1개의 심볼의 에러는 허가하여, 정상적인 소거를 행할 수 있었다고 한다. 즉, 소거 시에 1 섹터에서의 심볼 에러가 1개뿐이면, 플래시 메모리 제어 유닛(8)에 "패스"의 스테이터스를 되돌린다.
또한, 제어 회로(11)는 섹터에 데이터를 기록하고, 섹터의 기록 상태를 검사한다 (베리파이 기록도 포함함). 에러가 m 심볼 이상 (2≤m≤n+1)이거나, 혹은 에러가 m 심볼 이상 (2≤m≤n+1) 있을 가능성이 있다고 판단되면, 섹터에 대해 정상적인 기록을 행할 수 없었다고 하고, 플래시 메모리 제어 유닛(8)에 "페일"의 스테이터스를 되돌린다.
예를 들면, n = 3, m = 2라고 하면, 1 섹터당 3 개의 심볼의 에러를 정정할 수 있다. 상기로부터, 기록 시에 1 개의 심볼의 에러는 허가하여, 정상적인 기록을 행할 수 있었다고 한다. 즉, 기록 시에 1 섹터에서의 심볼 에러가 1개뿐이면, 플래시 메모리 제어 유닛(8)에 "패스"의 스테이터스를 되돌린다.
다음으로, 제4 실시예에 대해 설명한다. 이 제4 실시예에 대해서도 상기 도 2의 (a)∼도 2의 (c), 도 6, 도 7을 참조한다. 여기서는 플래시 메모리로서 1개의 메모리 셀에 1 비트분의 데이터를 기억하는 2치 기억 시스템을 이용한다. 도 6에 도시한 데이터 D0-x와 D1-x (x = 0, 1, …, 2047)가 각각 1개의 메모리 셀에 기억된다.
이 제4 실시예에서는, 에러 검출·정정 유닛(7)에서, 데이터 D0-0∼D0-2047과 D1-0∼D1-2047에 대해 n 비트 정정 가능하도록 체크 코드 C0-1∼C0-42, C1-1∼C1-42를 생성한다.
즉, 상기의 경우, n개의 메모리 셀이 불량을 일으켜도 에러 정정 가능하다. 정정 가능한 비트 수는 체크 코드 길이에 따라 제한된다. 여기서의 체크 코드 길이는 86 비트이지만, 필요한 n에 따라 메모리 셀의 수를 증가시키고, 체크 코드 길이를 86 비트보다 길게 하면 좋다.
LA0∼6 각각에 격납되는 각 논리 어드레스 A0∼A5는 6개의 메모리 셀에 기억된다. 동일한 어드레스 데이터가 7 세트 (LA0∼LA6) 설치된다. 이에 의해, 다수결 이론에 의해 1개의 어드레스 데이터 Az (z = 0∼5)에 대해 3 비트까지 정정 가능하다. 이로써, 3개의 메모리 셀이 불량을 일으켜도 에러 정정 가능하다. 정정 가능 비트 수를 증가시킨 경우, 어드레스 데이터의 세트 수를 증가시켜 두면 된다.
이상의 데이터의 배열에 입각하여, 도 2의 (a)∼도 2의 (c), 도 6, 도 7을 참조하여, 제4 실시예의 주요부에 대해 설명한다.
제어 회로(11)는, 클러스터를 소거하고, 클러스터의 소거 상태를 검사한다 (베리파이 소거 동작도 포함함).
이 결과, 제어 회로(11)는, 소거할 수 없었던 메모리 셀을 m개 이상 (2≤m≤n+1) 포함하는 섹터가 1개 이상 있거나, 혹은 소거할 수 없었던 메모리 셀을 m개 이상 (2≤m≤n+1) 포함하는 섹터가 1개 이상 있을 가능성이 있다고 판단되면, 클러스터에 대해 정상적인 소거를 행할 수 없었다고 하고, 플래시 메모리 제어 유닛(8)에 "페일"의 스테이터스를 되돌린다.
예를 들면, n = 3, m = 2라고 하면, 1 섹터당 3개의 메모리 셀의 에러를 정정할 수 있다. 상기로부터, 소거 시에 각 섹터당 1개의 메모리 셀의 에러는 허가하여, 정상적인 소거를 행할 수 있었다고 한다. 즉, 소거 시에 1 섹터에서의 에러가 1개뿐이면, 플래시 메모리 제어 유닛(8)에 "패스"의 스테이터스를 되돌린다.
또한, 제어 회로(11)는, 섹터에 데이터를 기록하고, 섹터의 기록 상태를 검사한다 (베리파이 기록도 포함함). 이 결과, 에러가 m 비트 이상 (2≤m≤n+1) 있다고 판단되면, 섹터에 대해 정상적인 기록을 행할 수 없었다고 하고, 플래시 메모리 제어 유닛(8)에 "페일"의 스테이터스를 되돌린다.
예를 들면, n = 3, m = 2라고 하면, 1 섹터당 3 비트의 에러를 정정할 수 있다. 상기로부터, 기록 시에 1 비트의 에러는 허가하여, 정상적인 기록을 행할 수 있었다고 한다. 즉, 기록 시에 1 섹터에서의 에러가 1 비트뿐이면, 플래시 메모리 제어 유닛(8)에 "패스"의 스테이터스를 되돌린다.
도 8은 메모리 셀 어레이의 구체예를 도시한 회로도이다. 도 8의 구성은 상기 도 1이나 도 6 중의 셀 어레이(10)의 구체적인 구성의 일부를 도시한 것이다. 메모리 셀(M)은 4개가 직렬로 접속되며 그 양단은 각각 선택 트랜지스터(S)를 통해 비트선(BL)과 소스선(SRC)에 연결된다. 이것은 NAND형 메모리 셀이라고 한다. 여기서는, 1개의 메모리 셀에 2 비트분의 데이터를 기억하는 것으로 하고 있다.
1 섹터는 1개의 워드선(WL)에 연결되는 2112개의 메모리 셀로 구성되며, 4224 비트분의 데이터를 기억한다. 예를 들면, 상기 도 7에 도시한 바와 같이 데이터를 기억한다. 1 클러스터는 선택 트랜지스터에 끼워진 4개의 섹터로 구성된다. 1 섹터 단위로 기록·판독을 행할 수 있으며, 1 클러스터 단위로 소거를 행할 수 있다.
NAND형 메모리 셀에서는, 메모리 셀(M)이 직렬로 접속되어 있으므로, 직렬 중의 1개의 메모리 셀(M)이 에러를 일으키면, 다른 메모리 셀(M)도 에러를 일으키고 있는 것처럼 관측된다. 예를 들면, 직렬 접속되어 있는 4개의 메모리 셀 중 1개가 파손되어 비도통이 되면, 다른 3개의 메모리 셀도 비도통인 것처럼 관측된다.
상기 메모리 셀의 구성에 의하면, 도 1 (또는 도 6)의 제어 회로(11)로부터는, 파손된 메모리 셀과 다른 3개의 메모리 셀에 대해 구별할 수 없다. 즉, 이 직렬 접속의 각 메모리 셀 (1 NAND 셀)에 관해 에러가 일어났을 가능성이 있다고 판단된다.
이러한 점으로부터도, 1 클러스터 중 (또는 1 섹터 중)의 1개의 에러에 의해 그 클러스터를 사용 금지로 하지 않아도, 정상인 클러스터 (또는 섹터)로서 기능할 수 있는 경우가 많다. 본 발명을 적용함으로써, NAND형 셀의 과잉의 불량 섹터 혹은 불량 클러스터의 발생을 방지할 수 있다. 이 결과, 메모리 시스템에서의 사용 금지의 메모리 영역의 증대를 억제하여, 시스템 불량을 저감한다.
도 9, 도 10, 도 11은 본 발명의 제5 실시예에 관한 것이며, 상기 도 1의 메모리 시스템에 관한 각 동작 모드의 알고리즘을 도시한 플로우차트이다. 도 9는 판독 동작 모드, 도 10은 소거 동작 모드, 도 11은 기록 동작 모드를 도시하고 있다.
우선, 도 9의 판독 동작 모드에 대해 설명한다. 호스트로부터 판독 요구가 있으면 판독이 개시된다 (S1). 플래시 메모리(9)에 대해 플래시 메모리 제어 유닛(8)은 판독 명령을 투입한다 (S2). 이어서, 판독할 섹터의 물리 어드레스를 투입하면 (S3), 제어 회로(11)가 셀 어레이(10)로부터 데이터를 판독하여 플래시 메모리 제어 유닛(8)에 출력하고, 플래시 메모리 제어 유닛(8)은 데이터를 취득한다 (S4).
플래시 메모리 제어 유닛(8)은, 에러 검출·정정 유닛(7)에 데이터를 전송하고, 에러 검출·정정 유닛에서 섹터 중의 에러의 수를 검출한다 (S5). 에러 수는, 에러 정정 방법이 비트 단위이면 비트 수이고, 에러 정정 방법이 심볼 단위이면 심볼 수이다.
에러가 있는 지의 여부를 판정하고 (S6), 만일 에러가 없으면 판독 성공이라고 판정되며 (S7), 플래시 메모리(9)로부터 판독한 데이터는 체크 코드를 제외하고 그대로 호스트에 출력되어 판독 종료가 된다 (S11).
만일, 에러가 있는 경우, 에러 수가 정정 가능한 에러 수에 속하는 지의 여부 (여기서는 3개 이하)가 판정되며 (S8), 에러 정정 가능하면, 에러 정정을 행한다 (S9). 그 결과, 판독 성공이라고 판정되고 (S7), 정정된 데이터는 체크 코드를 제외하고 호스트에 출력되어 판독 종료가 된다 (S11).
또한, 에러 수가 정정 가능한 수를 상회한 경우, 판독 불량이라고 판정된다 (S10). 이 때는, 판독에 실패하였음을 호스트에 보고하고 판독 종료가 된다 (S11).
다음으로, 도 10의 소거 동작 모드에 대해 설명한다. 호스트로부터 소거 명령이 들어오거나, 호스트로부터의 데이터의 기록에 앞선 소거 명령이 MPU(2)로부터 나오면, 소거 개시가 된다 (S12). 플래시 메모리 제어 유닛(8)은, 플래시 메모리(9)에 대해 소거 코맨드를 투입한다 (S13). 이어서, 소거할 클러스터의 물리 어드레스를 투입하면 (S14), 제어 회로(11)가 셀 어레이(10)로부터 지정된 물리 어드레스의 클러스터의 데이터를 소거한다 (베리파이 소거 동작도 포함함).
제어 회로(11)는, 소거할 수 없었는 지를 체크하고, 소거 스테이터스의 출력 준비를 한다. 플래시 메모리 제어 유닛(8)이 플래시 메모리(9)로부터 소거 스테이터스를 출력한다 (S15).
스테이터스가 "패스"인 지의 여부를 판단하고 (S16), 만일 스테이터스가 "패스"이면 소거는 성공하였다고 판정하고 (S17), 소거 종료가 된다 (S21). 스테이터스가 "패스"가 아니면, 플래시 메모리 제어 유닛(8)은 플래시 메모리(9)로부터 메모리 셀의 데이터를 판독한다 (S18).
S18에서 판독된 데이터를 사용하여, 플래시 메모리 제어 유닛(8)은, 구비된 카운터 등으로 불량 (에러)을 카운트한다. 여기서는 불량 카운트가 예를 들면 1보다 큰 지의 여부를 판단하고 (S19), 만일 1 이하이면 소거는 성공하였다고 판정하고 (S17), 소거 종료가 된다 (S21).
상기 S19가, 예를 들면 도 1에서의 에러 판정부(81)이다. S19에서의 불량 카운트는, 에러 정정 방법에 따라 비트 수, 셀 수, 심볼 수로 카운트한다. 만일, 불량 카운트가 1보다 크면, 소거에 실패하였다고 판정하고 (S20), MPU(2)는 이 클러스터의 사용을 금지하여, 소거 종료가 된다.
다음으로, 도 11의 기록 동작 모드에 대해 설명한다. 호스트로부터 기록 명령이 들어오면, 기록 개시가 된다 (S22). 에러 검출·정정 유닛(7)에서 호스트로부터 입력된 데이터로부터 체크 코드를 생성한다 (S23). 플래시 메모리 제어 유닛(8)은 플래시 메모리(9)에 대해 기록 코맨드를 투입한다 (S24). 이어서, 기록할 섹터의 물리 어드레스를 투입하고 (S25), 기록 데이터와 체크 코드와 논리 어드레스를 플래시 메모리(9)에 투입한다 (S26).
제어 회로(11)가 셀 어레이(10)의 지정된 물리 어드레스의 섹터에 대해 데이터를 기록한다. 그리고, 제어 회로(11)는, 기록할 수 없었는 지를 체크하고, 기록 스테이터스의 출력 준비를 한다. 플래시 메모리 제어 유닛(8)이 플래시 메모리(9)로부터 기록 스테이터스를 판독한다 (S27).
스테이터스가 "패스"인 지의 여부를 판단하고 (S28), 만일 스테이터스가 "패스"이면 기록은 성공하였다고 판정하여 (S29), 소거 종료가 된다 (S33). 스테이터스가 "패스"가 아니면, 플래시 메모리 제어 유닛(8)은 플래시 메모리(9)로부터 메모리 셀의 데이터를 판독한다 (S30).
S30에서 판독된 데이터를 이용하여, 플래시 메모리 제어 유닛(8)은, 구비된 카운터 등으로 불량 (에러)을 카운트한다. 여기서는 불량 카운트가 예를 들면 1보다 큰 지의 여부를 판단하고 (S31), 만일 1 이하이면 기록은 성공하였다고 판정하며 (S29), 기록 종료가 된다 (S33).
상기 S31이, 예를 들면 도 1에서의 에러 판정부(81)이다. S31에서의 불량 카운트는, 에러 정정 방법에 따라 비트 수, 셀 수, 심볼 수로 카운트한다. 만일, 불량 카운트가 1보다 크면, 기록에 실패하였다고 판정하고 (S32), 이 섹터의 사용을 금지하여, 기록 종료가 된다.
상기 각 실시예에 따르면, 본 발명에서의 에러 정정 가능한 플래시 메모리 시스템은, 복수의 플래시 메모리 셀로 구성되는 데이터의 소거나 기록이 이루어지는 기억 단위군이 마련되며, 기억 단위군으로부터 판독되는 데이터 중의 소정수의 에러를 검출·정정 가능하다. 이러한 기억 단위 군으로의 데이터의 변경을 하였을 때, 기억 단위군의 데이터가 원하는 기억 상태로 되어 있는 지의 여부에 대하여 검사한 결과, 원하는 기억 상태로 할 수 없었던 에러가 생기는 경우가 있다. 그러나, 이 에러가 상기 에러 검출·정정 가능한 소정수의 범위 내에 들어갈 때는, 이 기억 단위 군에 대해 정상의 기억 상태로 되어 있다고 하고 처리한다.
즉, 본 발명에서는, 소거 혹은 기록 시에 발생된 메모리 셀의 에러가, 에러 정정 가능한 일정량 이하이면, 소거 혹은 기록에는 성공하였다고 간주한다. 이에 의해, 과잉으로 사용 금지시 되는 메모리 영역을 저감하고, 시스템 불량률을 낮추며, 고 신뢰성의 플래시 메모리 시스템을 실현할 수 있다.
이상, 본 발명의 실시예에 대해 설명하였으나, 에러 판정부 및 에러 검출·정정 유닛의 기능은, 소프트웨어를 이용해도 실현 가능하다. 또한, 본 발명의 에러 판정부 및 에러 검출·정정 유닛의 기능은, 컴퓨터에 소정의 기능을 실행시키기 위한 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체로서 실시할 수도 있다.
또, 본 발명은, 상술한 실시예에 한정되는 것은 아니다. 플래시 메모리 셀로서는, 실시예 중에 도시한 NAND형 메모리 셀 이외에도, NOR형 메모리 셀, 가상 그라운드 메모리 셀 등, 메모리 셀의 형태는 다양하게 선택할 수 있다.
또한, 클러스터의 사이즈는, 실시예 중에서는 4 섹터로 하였으나, 8 섹터, 9 섹터, 16 섹터 등 시스템의 특성에 따라 선택하는 것이 가능하다. 또한, 클러스터 = 섹터이어도 좋다.
또한, 1개의 메모리 셀이 2k값 (k≥2)을 기억하는 경우, n 개의 메모리 셀군에 n 비트의 논리 메모리 섹터를, k개 존재시킬 수 있다. 이와 같이 메모리 섹터가 물리적인 메모리 셀군과 1 대 1로 대응하고 있지 않아도 본 발명을 실시할 수 있다.
그 외, 본 발명의 요지를 벗어나지 않는 범위에서, 다양하게 변형하여 실시할 수 있다.

Claims (22)

  1. 복수의 플래시 메모리 셀로 구성되는 데이터의 소거나 기록이 이루어지는 기억 단위군에 대하여 정보 데이터의 변경을 행하는 단계;
    상기 기억 단위군에 대하여 행해진 정보 데이터의 변경이 정상적으로 행해지지 않은 에러의 유뮤를 검사하는 단계; 및
    검사의 결과, 에러가 있는 것으로 판단된 경우에,
    에러의 정정이 가능하면, 상기 기억 단위군에 대하여 행해진 데이터의 변경이 정상적으로 행해진 것으로 판정하는 단계
    를 포함하는 것을 특징으로 하는 플래시 메모리 시스템의 제어 방법.
  2. 복수의 플래시 메모리 셀로 구성되는 데이터의 소거나 기록이 이루어지는 기억 단위군에 대하여 기록되어 있는 데이터를 소거하는 단계;
    상기 데이터의 소거가 행해진 기억 단위군의 데이터를 판독하여, 정상적으로 소거가 행해졌는 지를 검사하는 단계;
    상기 검사의 결과, 정상적으로 소거가 행해지지 않은 것으로 판정된 경우, 정상 소거가 행해지지 않은 에러 수를 계수하는 단계; 및
    계수된 에러 수가 정정 가능한 수이면, 상기 기억 단위군에 대하여 데이터의 소거가 정상적으로 행해진 것으로 판정하는 단계
    를 포함하는 것을 특징으로 하는 플래시 메모리 시스템의 제어 방법.
  3. 복수의 플래시 메모리 셀로 구성되는 데이터의 소거나 기록이 이루어지는 기억 단위군에 대하여 데이터를 기록하는 단계;
    상기 데이터의 기록이 행해진 기억 단위군의 데이터를 판독하여, 정상적으로 데이터가 기록되었는 지를 검사하는 단계;
    상기 검사의 결과, 정상적으로 기록되지 않은 것으로 판정된 경우, 정상 기록이 행해지지 않은 에러 수를 계수하는 단계; 및
    계수된 에러 수가 정정 가능한 수이면, 상기 기억 단위군에 대하여 데이터가 정상적으로 기록된 것으로 판정하는 단계
    를 포함하는 것을 특징으로 하는 플래시 메모리 시스템의 제어 방법.
  4. 복수의 플래시 메모리 셀로 구성되는 정보 데이터의 소거나 기록이 이루어지는 기억 단위군;
    상기 기억 단위군에 기록되어 있는 정보 데이터를 판독하여, 소정수의 에러 검출·정정을 행하는 에러 검출·정정 유닛; 및
    상기 에러 검출·정정 유닛에서 검출된 에러 수를 계수하여, 계수된 에러 수가 상기 소정수 이하인 경우에, 데이터의 변경 처리가 정상적으로 행해진 것으로 판정하는 에러 판정부
    를 구비하여 이루어진 것을 특징으로 하는 플래시 메모리 시스템.
  5. 복수의 플래시 메모리 셀로 구성되는 메모리 클러스터;
    상기 메모리 클러스터를 구성하는 적어도 1 이상의 메모리 섹터;
    상기 메모리 클러스터에 기록되어 있는 정보 데이터의 소거를 지령하는 플래시 메모리 제어 유닛;
    메모리 클러스터로부터 데이터를 판독하여 소거 에러를 검출하고, n 개 이하의 메모리 셀에 기인하는 소거 에러를 갖는 정보 데이터의 정정을 행하는 에러 검출·정정 유닛; 및
    하나의 메모리 섹터에 포함되는 소거 에러가 있는 메모리 셀의 수를 계수하여, 각 메모리 섹터의 비소거인 메모리 셀의 수가 각각 m (1≤m≤n)개 이하이면, 소거 처리가 정상적으로 행해진 것으로 판정하는 에러 판정부
    를 구비하여 이루어진 것을 특징으로 하는 플래시 메모리 시스템.
  6. 복수의 플래시 메모리 셀로 구성되는 메모리 클러스터;
    상기 메모리 클러스터를 구성하는 적어도 1 이상의 메모리 섹터;
    상기 메모리 클러스터에 대해, 기록되어 있는 정보 데이터의 소거를 지령하는 플래시 메모리 제어 유닛;
    메모리 클러스터로부터 판독되는 정보 데이터의 소거 에러를 검출하여, n 심볼 (1 심볼 = k 비트, k≥2) 이하의 정보 데이터에 기인하는 소거 에러의 정정을 행하는 에러 검출·정정 유닛;
    하나의 메모리 섹터에 포함되는 소거 에러가 있는 심볼 수를 계수하는 유닛; 및
    각 메모리 섹터에 포함되는 소거 에러를 포함하는 심볼 수가 각각 m (1≤m≤n) 심볼 이하이고 상기 에러 검출·정정 유닛에 의해 정정 가능하면, 데이터의 변경 처리가 정상적으로 행해진 것으로서 처리하는 유닛
    을 구비하여 이루어진 것을 특징으로 하는 에러 정정 가능한 플래시 메모리 시스템.
  7. 외부로부터 복수의 플래시 메모리 셀로 구성되는 메모리 클러스터;
    상기 메모리 클러스터를 구성하는 적어도 1 이상의 메모리 섹터;
    상기 메모리 섹터에 대해 정보 데이터의 기록을 지령하는 플래시 메모리 제어 유닛;
    메모리 클러스터로부터 판독되는 정보 데이터의 에러를 검출하고, n 개 이하의 플래시 메모리 셀에 기인하는 기록 에러의 정정을 행하는 에러 검출·정정 유닛; 및
    하나의 메모리 섹터에 포함되는 기록 불량인 메모리 셀의 수를 계수하여, 각 메모리 섹터에 포함되는 기록 불량인 메모리 셀의 수가 각각 n 개 이하이면, 메모리 섹터로의 데이터의 기록 처리가 정상적으로 행해진 것으로 판정하는 에러 판정부
    를 구비하여 이루어진 것을 특징으로 하는 플래시 메모리 시스템.
  8. 복수의 플래시 메모리 셀로 구성되는 메모리 섹터;
    상기 메모리 섹터에 대해 정보 데이터의 기록을 지령하는 플래시 메모리 제어 유닛;
    메모리 클러스터로부터 판독되는 정보 데이터의 기록 에러를 검출하고, n 심볼 (1 심볼 = k 비트, k≥2) 이하의 정보 데이터에 기인하는 기록 에러의 정정을 행하는 에러 검출·정정 유닛; 및
    상기 검사 유닛이 검출한 기록 불량을 갖는 심볼 수를 계수하여, 각 메모리 섹터에 포함되는 에러의 수가 각각 m (1≤m≤n) 심볼 이하이면, 데이터의 변경 처리가 정상적으로 행해진 것으로 판정하는 에러 판정부
    를 구비하여 이루어진 것을 특징으로 하는 에러 정정 가능한 플래시 메모리 시스템.
  9. 외부로부터 복수의 플래시 메모리 셀로 구성되는 메모리 클러스터;
    상기 메모리 클러스터를 구성하는 적어도 1 이상의 메모리 섹터;
    상기 메모리 섹터에 대해 정보 데이터의 기록을 지령하는 플래시 메모리 제어 유닛;
    메모리 클러스터로부터 판독되는 정보 데이터의 기록 에러를 검출하여, n 비트 이하의 정보 데이터에 기인하는 기록 에러의 정정을 행하는 에러 검출·정정 유닛; 및
    하나의 메모리 섹터에 포함되는 기록 에러가 발생하고 있는 비트 수를 계수하여, 각 메모리 섹터에 포함되는 기록 불량인 정보 데이터의 비트 수가 각각 m (1≤m≤n) 비트 이하이면, 데이터의 기록 처리가 정상적으로 행해진 것으로 판정하는 에러 판정부
    를 구비하여 이루어진 것을 특징으로 하는 에러 정정 가능한 플래시 메모리 시스템.
  10. 복수의 플래시 메모리 셀로 구성되는 정보 데이터의 소거나 기록이 이루어지는 기억 단위군; 및
    상기 기억 단위군에 기록된 정보 데이터의 검사·정정을 행하는 에러 검출·정정 유닛에 의해 검출된 에러 수를 계수하고, 상기 계수된 에러 수가 소정수 이하인 경우에, 데이터의 변경 처리가 정상적으로 행해진 것으로서 처리하는 에러 판정부
    를 구비하여 이루어진 것을 특징으로 하는 플래시 메모리 칩.
  11. 복수의 플래시 메모리 셀로 구성되는 정보 데이터의 소거나 기록이 이루어지는 기억 단위군;
    상기 기억 단위군에 기록되어 있는 정보 데이터를 판독하여, 소정수의 에러의 검출·정정을 행하는 에러 검출·정정 유닛; 및
    상기 에러 검출·정정 유닛에서 검출된 에러 수를 계수하고, 상기 계수된 에러 수가 상기 소정수 이하인 경우에, 데이터의 변경 처리가 정상적으로 행해진 것으로 판정하는 에러 판정부
    를 구비하여 이루어진 것을 특징으로 하는 플래시 메모리 칩.
  12. 컴퓨터에 의해 판독 가능한 기록 매체에 있어서,
    상기 컴퓨터에서,
    복수의 플래시 메모리 셀로 구성되는 데이터의 소거나 기록이 이루어지는 기억 단위군을 구비하는 외부 기억 장치에 대하여 데이터의 변경을 지령하는 기능, 및
    상기 기억 단위군에 대하여 행해진 데이터의 변경이 정상적으로 행해지지 않은 에러의 유무를 검사하여, 에러가 있는 것으로 판단된 경우에, 상기 에러의 정정이 가능하면, 상기 기억 단위군에 대하여 행해진 데이터의 변경이 정상적으로 행해진 것으로 판정하는 기능
    을 실행하기 위한 프로그램이 기록되어 있는 기록 매체.
  13. 컴퓨터에 의해 판독 가능한 기록 매체에 있어서.
    컴퓨터에서,
    복수의 플래시 메모리 셀로 구성되는 데이터의 소거나 기록이 이루어지는 기억 단위군을 구비하는 외부 기억 장치에 대하여 기록되어 있는 정보 데이터의 소거를 지시하는 기능, 및
    상기 데이터의 소거가 행해진 기억 단위군의 데이터를 판독하고, 정상적으로 소거가 행해졌는 지를 검사하여, 정상적으로 소거가 행해지지 않은 것으로 판정된 경우, 정상 소거가 행해지지 않은 에러의 수를 계수하고, 상기 계수된 에러의 수가 정정 가능한 수이면, 상기 기억 단위군에 대하여 데이터의 소거가 정상적으로 행해진 것으로 판정하는 기능
    을 실행하기 위한 프로그램이 기록 되어 있는 기록 매체.
  14. 컴퓨터에 의해 판독 가능한 기록 매체에 있어서.
    컴퓨터에서,
    복수의 플래시 메모리 셀로 구성되는 데이터의 소거나 기록이 이루어지는 기억 단위군에 대하여 데이터의 기록을 지시하는 기능,
    상기 데이터의 기록이 행해진 기억 단위군의 데이터를 판독하여, 정상적으로 데이터가 기록되었는 지를 검사한 결과, 정상적으로 기록되지 않은 것으로 판정된 경우, 정상 기록이 행해지지 않은 에러의 수를 계수하는 기능, 및
    상기 계수된 에러의 수가 정정 가능한 수이면, 상기 기억 단위군에 대하여 데이터가 정상적으로 기록된 것으로 판정하는 기능
    을 실행하기 위한 프로그램이 기록되어 있는 기록 매체.
  15. 복수의 플래시 메모리 셀로 구성되는 전기적으로 데이터의 변경이 가능한 메모리 유닛,
    상기 메모리 유닛을 제어하여 기억되어 있는 데이터를 판독하고, 상기 메모리 유닛에 기억되어 있는 데이터를 변경시키기 위해 상기 메모리 유닛의 제어를 행하는 제어 회로,
    상기 메모리 유닛으로부터 판독된 데이터에 에러가 있는 지의 여부를 검출하여, 그 에러를 정정하는 에러 검출·정정 유닛, 및
    상기 제어 회로가 상기 메모리 유닛에 대해 데이터의 변경을 행하기 위해 제어를 행한 후, 데이터의 변경에 실패하였다고 간주되는 데이터의 수를 복수개까지 계측 가능한 상기 에러 검출·정정과는 독립된 에러 판정부
    를 구비하며,
    상기 에러 판정부에서 계측된 변경에 실패하였다고 간주되는 데이터의 수가, 상기 에러 검출·정정 유닛에서 정정 가능한 수 이하인 소정수 이하이면, 데이터의 변경에 성공하였다고 간주하는 것을 특징으로 하는 에러 정정 가능한 플래시 메모리 시스템.
  16. 제15항에 있어서, 상기 소정수는 1인 것을 특징으로 하는 에러 정정 가능한 플래시 메모리 시스템.
  17. 제15항에 있어서, 상기 메모리 유닛에 기억되는 데이터의 각각은 1 비트로 구성되는 것을 특징으로 하는 에러 정정 가능한 플래시 메모리 시스템.
  18. 제15항에 있어서, 상기 메모리 유닛에 기억되는 데이터의 각각은 복수 비트로 구성되는 것을 특징으로 하는 에러 정정 가능한 플래시 메모리 시스템.
  19. 복수의 플래시 메모리 셀로 구성되는 전기적으로 데이터의 변경이 가능한 메모리 유닛,
    상기 메모리 유닛을 제어하여 기억되어 있는 데이터를 판독하고, 상기 메모리 유닛에 기억되어 있는 데이터를 변경하기 위해 상기 메모리 유닛의 제어를 행하는 제어 회로, 및
    상기 제어 회로가 상기 메모리 유닛에 대해 데이터의 변경을 행하기 위해 제어를 행한 후, 데이터의 변경에 실패하였다고 간주되는 데이터의 수를 복수개까지 계측 가능한 에러 판정부
    를 구비하며,
    상기 제어 회로는, 상기 에러 판정부에서 계측된 변경에 실패하였다고 간주되는 데이터의 수가 소정수 이하이면, 데이터의 변경에 성공하였다고 간주하는 스테이터스 데이터를 외부에 출력하는 것을 특징으로 하는 플래시 메모리.
  20. 제19항에 있어서, 상기 소정수는 1인 것을 특징으로 하는 플래시 메모리.
  21. 제19항에 있어서, 상기 메모리 유닛에 기억되는 데이터의 각각은 1 비트로 구성되는 것을 특징으로 하는 플래시 메모리.
  22. 제19항에 있어서, 상기 메모리 유닛에 기억되는 데이터의 각각은 복수 비트로 구성되는 것을 특징으로 하는 플래시 메모리.
KR1019990056034A 1998-12-10 1999-12-09 플래시 메모리의 제어 방법, 및 이 제어 방법을 이용한플래시 메모리 시스템과 이 제어 방법을 이용한 플래시메모리 칩 KR100321302B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP1998-351435 1998-12-10
JP35143598A JP2000173289A (ja) 1998-12-10 1998-12-10 エラー訂正可能なフラッシュメモリシステム

Publications (2)

Publication Number Publication Date
KR20000048015A true KR20000048015A (ko) 2000-07-25
KR100321302B1 KR100321302B1 (ko) 2002-03-18

Family

ID=18417275

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990056034A KR100321302B1 (ko) 1998-12-10 1999-12-09 플래시 메모리의 제어 방법, 및 이 제어 방법을 이용한플래시 메모리 시스템과 이 제어 방법을 이용한 플래시메모리 칩

Country Status (5)

Country Link
US (2) US6185134B1 (ko)
EP (1) EP1008936A3 (ko)
JP (1) JP2000173289A (ko)
KR (1) KR100321302B1 (ko)
TW (1) TW455874B (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100781952B1 (ko) * 2000-10-25 2007-12-06 후지쯔 가부시끼가이샤 플래시 메모리 내의 결함 관리 방법
US7554859B2 (en) 2006-09-22 2009-06-30 Samsung Electronics Co., Ltd. Nonvolatile memory system and associated programming methods
US7602642B2 (en) 2006-10-19 2009-10-13 Samsung Electronics Co., Ltd. Nonvolatile memory system and associated programming methods

Families Citing this family (146)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001297316A (ja) * 2000-04-14 2001-10-26 Mitsubishi Electric Corp メモリカード及びその制御方法
GB2374966A (en) * 2001-04-27 2002-10-30 Ibm Capturing and analysing attempts by a reader device to read data from a data holding entity
JP2003059276A (ja) * 2001-08-08 2003-02-28 Mitsubishi Electric Corp 不揮発性半導体記憶装置
JP4059472B2 (ja) * 2001-08-09 2008-03-12 株式会社ルネサステクノロジ メモリカード及びメモリコントローラ
JP4034949B2 (ja) 2001-09-06 2008-01-16 株式会社ルネサステクノロジ 不揮発性半導体記憶装置
US20040083334A1 (en) * 2002-10-28 2004-04-29 Sandisk Corporation Method and apparatus for managing the integrity of data in non-volatile memory system
JP4299558B2 (ja) * 2003-03-17 2009-07-22 株式会社ルネサステクノロジ 情報記憶装置および情報処理システム
US7372731B2 (en) * 2003-06-17 2008-05-13 Sandisk Il Ltd. Flash memories with adaptive reference voltages
JP2005056394A (ja) * 2003-07-18 2005-03-03 Toshiba Corp 記憶装置及びメモリカード
US6914823B2 (en) * 2003-07-29 2005-07-05 Sandisk Corporation Detecting over programmed memory after further programming
US6917542B2 (en) * 2003-07-29 2005-07-12 Sandisk Corporation Detecting over programmed memory
TWI307019B (en) * 2003-12-05 2009-03-01 Hon Hai Prec Ind Co Ltd A system and method for ensuring completeness of data
US7594135B2 (en) * 2003-12-31 2009-09-22 Sandisk Corporation Flash memory system startup operation
JP4595342B2 (ja) * 2004-02-19 2010-12-08 日本電気株式会社 記憶装置のデータ書き込み、読み出し方法およびデータ記憶システム
JP4357331B2 (ja) * 2004-03-24 2009-11-04 東芝メモリシステムズ株式会社 マイクロプロセッサブートアップ制御装置、及び情報処理システム
JP4722839B2 (ja) * 2004-05-19 2011-07-13 パナソニック株式会社 メモリ制御回路、不揮発性記憶装置及びメモリ制御方法
JP4135680B2 (ja) * 2004-05-31 2008-08-20 ソニー株式会社 半導体記憶装置および信号処理システム
JP2006048777A (ja) * 2004-08-02 2006-02-16 Toshiba Corp Nandフラッシュメモリおよびデータ書き込み方法
JP2006048783A (ja) * 2004-08-02 2006-02-16 Renesas Technology Corp 不揮発性メモリおよびメモリカード
ITMI20041968A1 (it) * 2004-10-15 2005-01-15 Atmel Corp "metodo e sistema per la gestione dei bit di indirizzo durante le operazioni di programmazione bufferizzata in un dispositivo di memoria"
JP4261461B2 (ja) * 2004-11-05 2009-04-30 株式会社東芝 半導体集積回路装置、及びそれを用いた不揮発性メモリシステム
JP4261462B2 (ja) * 2004-11-05 2009-04-30 株式会社東芝 不揮発性メモリシステム
JP4695385B2 (ja) * 2004-11-30 2011-06-08 株式会社東芝 メモリカードおよびカードコントローラ
US7437653B2 (en) * 2004-12-22 2008-10-14 Sandisk Corporation Erased sector detection mechanisms
US7522457B2 (en) * 2005-03-31 2009-04-21 Sandisk Corporation Systems for erase voltage manipulation in non-volatile memory for controlled shifts in threshold voltage
US7457166B2 (en) * 2005-03-31 2008-11-25 Sandisk Corporation Erase voltage manipulation in non-volatile memory for controlled shifts in threshold voltage
US9384818B2 (en) 2005-04-21 2016-07-05 Violin Memory Memory power management
US9286198B2 (en) 2005-04-21 2016-03-15 Violin Memory Method and system for storage of data in non-volatile media
US8200887B2 (en) 2007-03-29 2012-06-12 Violin Memory, Inc. Memory management system and method
US8452929B2 (en) * 2005-04-21 2013-05-28 Violin Memory Inc. Method and system for storage of data in non-volatile media
US7958430B1 (en) * 2005-06-20 2011-06-07 Cypress Semiconductor Corporation Flash memory device and method
JP4761910B2 (ja) * 2005-10-05 2011-08-31 株式会社東芝 不揮発性半導体記憶装置及びそれを用いた不揮発性メモリシステム
JP4791831B2 (ja) * 2006-01-20 2011-10-12 株式会社東芝 半導体記憶装置
JP4846384B2 (ja) * 2006-02-20 2011-12-28 株式会社東芝 半導体記憶装置
JP4836608B2 (ja) * 2006-02-27 2011-12-14 株式会社東芝 半導体記憶装置
JP4864006B2 (ja) * 2006-04-06 2012-01-25 株式会社アドバンテスト 試験装置および試験方法
US8239735B2 (en) 2006-05-12 2012-08-07 Apple Inc. Memory Device with adaptive capacity
WO2007132452A2 (en) * 2006-05-12 2007-11-22 Anobit Technologies Reducing programming error in memory devices
CN103280239B (zh) 2006-05-12 2016-04-06 苹果公司 存储设备中的失真估计和消除
KR101202537B1 (ko) 2006-05-12 2012-11-19 애플 인크. 메모리 디바이스를 위한 결합된 왜곡 추정 및 에러 보정 코딩
JP2007305267A (ja) * 2006-05-15 2007-11-22 Toshiba Corp 半導体記憶装置
WO2008026203A2 (en) * 2006-08-27 2008-03-06 Anobit Technologies Estimation of non-linear distortion in memory devices
US20080072119A1 (en) * 2006-08-31 2008-03-20 Rodney Rozman Allowable bit errors per sector in memory devices
US8028186B2 (en) * 2006-10-23 2011-09-27 Violin Memory, Inc. Skew management in an interconnection system
US7975192B2 (en) * 2006-10-30 2011-07-05 Anobit Technologies Ltd. Reading memory cells using multiple thresholds
WO2008053473A2 (en) 2006-10-30 2008-05-08 Anobit Technologies Ltd. Memory cell readout using successive approximation
US7924648B2 (en) 2006-11-28 2011-04-12 Anobit Technologies Ltd. Memory power and performance management
US8151163B2 (en) * 2006-12-03 2012-04-03 Anobit Technologies Ltd. Automatic defect management in memory devices
US7593263B2 (en) 2006-12-17 2009-09-22 Anobit Technologies Ltd. Memory device with reduced reading latency
US7900102B2 (en) * 2006-12-17 2011-03-01 Anobit Technologies Ltd. High-speed programming of memory devices
JP5112086B2 (ja) * 2007-01-17 2013-01-09 株式会社東芝 半導体記憶装置
US7751240B2 (en) * 2007-01-24 2010-07-06 Anobit Technologies Ltd. Memory device with negative thresholds
US8151166B2 (en) * 2007-01-24 2012-04-03 Anobit Technologies Ltd. Reduction of back pattern dependency effects in memory devices
WO2008111058A2 (en) * 2007-03-12 2008-09-18 Anobit Technologies Ltd. Adaptive estimation of memory cell read thresholds
US11010076B2 (en) 2007-03-29 2021-05-18 Violin Systems Llc Memory system with multiple striping of raid groups and method for performing the same
US9632870B2 (en) * 2007-03-29 2017-04-25 Violin Memory, Inc. Memory system with multiple striping of raid groups and method for performing the same
US8001320B2 (en) * 2007-04-22 2011-08-16 Anobit Technologies Ltd. Command interface for memory devices
WO2008139441A2 (en) 2007-05-12 2008-11-20 Anobit Technologies Ltd. Memory device with internal signal processing unit
US8234545B2 (en) * 2007-05-12 2012-07-31 Apple Inc. Data storage with incremental redundancy
JP5029883B2 (ja) * 2007-05-17 2012-09-19 横河電機株式会社 半導体試験装置
JP4994112B2 (ja) * 2007-05-22 2012-08-08 ルネサスエレクトロニクス株式会社 半導体集積回路装置およびメモリ制御方法
US7925936B1 (en) 2007-07-13 2011-04-12 Anobit Technologies Ltd. Memory device with non-uniform programming levels
US8259497B2 (en) 2007-08-06 2012-09-04 Apple Inc. Programming schemes for multi-level analog memory cells
JP4621715B2 (ja) 2007-08-13 2011-01-26 株式会社東芝 メモリ装置
US8174905B2 (en) * 2007-09-19 2012-05-08 Anobit Technologies Ltd. Programming orders for reducing distortion in arrays of multi-level analog memory cells
US7773413B2 (en) 2007-10-08 2010-08-10 Anobit Technologies Ltd. Reliable data storage in analog memory cells in the presence of temperature variations
US8000141B1 (en) 2007-10-19 2011-08-16 Anobit Technologies Ltd. Compensation for voltage drifts in analog memory cells
US8527819B2 (en) 2007-10-19 2013-09-03 Apple Inc. Data storage in analog memory cell arrays having erase failures
US8068360B2 (en) * 2007-10-19 2011-11-29 Anobit Technologies Ltd. Reading analog memory cells using built-in multi-threshold commands
KR101509836B1 (ko) * 2007-11-13 2015-04-06 애플 인크. 멀티 유닛 메모리 디바이스에서의 메모리 유닛의 최적화된 선택
US8225181B2 (en) 2007-11-30 2012-07-17 Apple Inc. Efficient re-read operations from memory devices
US8209588B2 (en) * 2007-12-12 2012-06-26 Anobit Technologies Ltd. Efficient interference cancellation in analog memory cell arrays
US8456905B2 (en) 2007-12-16 2013-06-04 Apple Inc. Efficient data storage in multi-plane memory devices
JP2009176393A (ja) * 2007-12-27 2009-08-06 Toshiba Corp 不揮発性半導体記憶装置及びその自動テスト方法
US8085586B2 (en) * 2007-12-27 2011-12-27 Anobit Technologies Ltd. Wear level estimation in analog memory cells
JP5150245B2 (ja) 2007-12-27 2013-02-20 株式会社東芝 半導体記憶装置
US8122320B2 (en) * 2008-01-22 2012-02-21 Qimonda Ag Integrated circuit including an ECC error counter
US8156398B2 (en) * 2008-02-05 2012-04-10 Anobit Technologies Ltd. Parameter estimation based on error correction code parity check equations
WO2009098776A1 (ja) 2008-02-08 2009-08-13 Fujitsu Limited バックアップ方法、ディスクアレイ装置及びコントローラ
KR101466698B1 (ko) * 2008-02-19 2014-11-28 삼성전자주식회사 메모리 장치 및 메모리 데이터 읽기 방법
US7924587B2 (en) * 2008-02-21 2011-04-12 Anobit Technologies Ltd. Programming of analog memory cells using a single programming pulse per state transition
US7864573B2 (en) 2008-02-24 2011-01-04 Anobit Technologies Ltd. Programming analog memory cells for reduced variance after retention
US7870446B2 (en) * 2008-02-29 2011-01-11 Kabushiki Kaisha Toshiba Information processing apparatus and nonvolatile semiconductor memory drive
JP4643671B2 (ja) * 2008-03-11 2011-03-02 株式会社東芝 メモリシステム
US8276043B2 (en) * 2008-03-01 2012-09-25 Kabushiki Kaisha Toshiba Memory system
US8230300B2 (en) * 2008-03-07 2012-07-24 Apple Inc. Efficient readout from analog memory cells using data compression
US8400858B2 (en) 2008-03-18 2013-03-19 Apple Inc. Memory device with reduced sense time readout
US8059457B2 (en) * 2008-03-18 2011-11-15 Anobit Technologies Ltd. Memory device with multiple-accuracy read commands
US7903462B1 (en) * 2008-04-04 2011-03-08 Link A Media Devices Corporation E/P durability by using a sub-range of a full programming range
US7995388B1 (en) 2008-08-05 2011-08-09 Anobit Technologies Ltd. Data storage using modified voltages
US7924613B1 (en) 2008-08-05 2011-04-12 Anobit Technologies Ltd. Data storage in analog memory cells with protection against programming interruption
US8949684B1 (en) 2008-09-02 2015-02-03 Apple Inc. Segmented data storage
US8169825B1 (en) 2008-09-02 2012-05-01 Anobit Technologies Ltd. Reliable data storage in analog memory cells subjected to long retention periods
US8482978B1 (en) 2008-09-14 2013-07-09 Apple Inc. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8000135B1 (en) 2008-09-14 2011-08-16 Anobit Technologies Ltd. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US7768836B2 (en) * 2008-10-10 2010-08-03 Sandisk Corporation Nonvolatile memory and method with reduced program verify by ignoring fastest and/or slowest programming bits
US8239734B1 (en) 2008-10-15 2012-08-07 Apple Inc. Efficient data storage in storage device arrays
US8045375B2 (en) 2008-10-24 2011-10-25 Sandisk Technologies Inc. Programming non-volatile memory with high resolution variable initial programming pulse
US8261159B1 (en) 2008-10-30 2012-09-04 Apple, Inc. Data scrambling schemes for memory devices
JP5259343B2 (ja) 2008-10-31 2013-08-07 株式会社東芝 メモリ装置
US8208304B2 (en) * 2008-11-16 2012-06-26 Anobit Technologies Ltd. Storage at M bits/cell density in N bits/cell analog memory cell devices, M>N
US8248831B2 (en) * 2008-12-31 2012-08-21 Apple Inc. Rejuvenation of analog memory cells
US8174857B1 (en) 2008-12-31 2012-05-08 Anobit Technologies Ltd. Efficient readout schemes for analog memory cell devices using multiple read threshold sets
US8924661B1 (en) 2009-01-18 2014-12-30 Apple Inc. Memory system including a controller and processors associated with memory devices
JP5134569B2 (ja) * 2009-02-23 2013-01-30 ラピスセミコンダクタ株式会社 メモリ装置
US8228701B2 (en) 2009-03-01 2012-07-24 Apple Inc. Selective activation of programming schemes in analog memory cell arrays
US8259506B1 (en) 2009-03-25 2012-09-04 Apple Inc. Database of memory read thresholds
US8832354B2 (en) * 2009-03-25 2014-09-09 Apple Inc. Use of host system resources by memory controller
US8238157B1 (en) 2009-04-12 2012-08-07 Apple Inc. Selective re-programming of analog memory cells
WO2010144587A2 (en) 2009-06-12 2010-12-16 Violin Memory, Inc. Memory system having persistent garbage collection
US8054691B2 (en) 2009-06-26 2011-11-08 Sandisk Technologies Inc. Detecting the completion of programming for non-volatile storage
US8479080B1 (en) 2009-07-12 2013-07-02 Apple Inc. Adaptive over-provisioning in memory systems
US8495465B1 (en) 2009-10-15 2013-07-23 Apple Inc. Error correction coding over multiple memory pages
US8677054B1 (en) 2009-12-16 2014-03-18 Apple Inc. Memory management schemes for non-volatile memory devices
US8694814B1 (en) 2010-01-10 2014-04-08 Apple Inc. Reuse of host hibernation storage space by memory controller
US8572311B1 (en) 2010-01-11 2013-10-29 Apple Inc. Redundant data storage in multi-die memory systems
JP2011165026A (ja) 2010-02-12 2011-08-25 Toshiba Corp エラー検出訂正システム
US8694853B1 (en) 2010-05-04 2014-04-08 Apple Inc. Read commands for reading interfering memory cells
US8572423B1 (en) 2010-06-22 2013-10-29 Apple Inc. Reducing peak current in memory systems
US8595591B1 (en) 2010-07-11 2013-11-26 Apple Inc. Interference-aware assignment of programming levels in analog memory cells
US9104580B1 (en) 2010-07-27 2015-08-11 Apple Inc. Cache memory for hybrid disk drives
US8767459B1 (en) 2010-07-31 2014-07-01 Apple Inc. Data storage in analog memory cells across word lines using a non-integer number of bits per cell
US8856475B1 (en) 2010-08-01 2014-10-07 Apple Inc. Efficient selection of memory blocks for compaction
US8694854B1 (en) 2010-08-17 2014-04-08 Apple Inc. Read threshold setting based on soft readout statistics
JP2012069180A (ja) * 2010-09-21 2012-04-05 Toshiba Corp 半導体記憶装置
JP2012068814A (ja) 2010-09-22 2012-04-05 Toshiba Corp 半導体記憶装置およびメモリ制御装置
US9021181B1 (en) 2010-09-27 2015-04-28 Apple Inc. Memory management for unifying memory cell conditions by using maximum time intervals
US8374031B2 (en) 2010-09-29 2013-02-12 SanDisk Technologies, Inc. Techniques for the fast settling of word lines in NAND flash memory
US8737132B2 (en) 2012-01-06 2014-05-27 Sandisk Technologies Inc. Charge cycling by equalizing the source and bit line levels between pulses during no-verify write operations for NAND flash memory
US8910017B2 (en) 2012-07-02 2014-12-09 Sandisk Technologies Inc. Flash memory with random partition
JP5768100B2 (ja) * 2013-09-10 2015-08-26 株式会社東芝 メモリ装置、サーバ装置、及びメモリ制御方法
GB201322075D0 (en) 2013-12-13 2014-01-29 Ibm Device for selecting a level for at least one read voltage
JP6226809B2 (ja) * 2014-05-01 2017-11-08 東芝メモリ株式会社 半導体記憶装置
US9251909B1 (en) 2014-09-29 2016-02-02 International Business Machines Corporation Background threshold voltage shifting using base and delta threshold voltage shift values in flash memory
US9563373B2 (en) 2014-10-21 2017-02-07 International Business Machines Corporation Detecting error count deviations for non-volatile memory blocks for advanced non-volatile memory block management
US10365859B2 (en) 2014-10-21 2019-07-30 International Business Machines Corporation Storage array management employing a merged background management process
US10339048B2 (en) 2014-12-23 2019-07-02 International Business Machines Corporation Endurance enhancement scheme using memory re-evaluation
US9990279B2 (en) 2014-12-23 2018-06-05 International Business Machines Corporation Page-level health equalization
JP6600146B2 (ja) * 2015-03-27 2019-10-30 ルネサスエレクトロニクス株式会社 データ処理回路及びエラー訂正方法
JP2017045405A (ja) * 2015-08-28 2017-03-02 株式会社東芝 メモリシステム
US20190095299A1 (en) * 2017-09-28 2019-03-28 Cnex Labs, Inc. Storage system with machine learning mechanism and method of operation thereof
CN110286853B (zh) * 2019-06-06 2024-02-06 大唐微电子技术有限公司 一种数据写入方法和装置、计算机可读存储介质
US11422896B2 (en) * 2020-03-27 2022-08-23 Intel Corporation Technology to enable secure and resilient recovery of firmware data
CN111625481B (zh) * 2020-04-28 2022-07-26 深圳市德明利技术股份有限公司 一种防止闪存比特错误放大的方法和装置以及设备
US11556416B2 (en) 2021-05-05 2023-01-17 Apple Inc. Controlling memory readout reliability and throughput by adjusting distance between read thresholds
US11847342B2 (en) 2021-07-28 2023-12-19 Apple Inc. Efficient transfer of hard data and confidence levels in reading a nonvolatile memory

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69033438T2 (de) * 1989-04-13 2000-07-06 Sandisk Corp., Santa Clara Austausch von fehlerhaften Speicherzellen einer EEprommatritze
US5504760A (en) * 1991-03-15 1996-04-02 Sandisk Corporation Mixed data encoding EEPROM system
US5396468A (en) * 1991-03-15 1995-03-07 Sundisk Corporation Streamlined write operation for EEPROM system
JP2647321B2 (ja) 1991-12-19 1997-08-27 株式会社東芝 不揮発性半導体記憶装置及びこれを用いた記憶システム
US5361227A (en) 1991-12-19 1994-11-01 Kabushiki Kaisha Toshiba Non-volatile semiconductor memory device and memory system using the same
JP3485938B2 (ja) * 1992-03-31 2004-01-13 株式会社東芝 不揮発性半導体メモリ装置
JP3178912B2 (ja) 1992-10-14 2001-06-25 株式会社東芝 半導体メモリチップ
JP3178914B2 (ja) 1992-10-14 2001-06-25 株式会社東芝 半導体ファイル装置
JP3999822B2 (ja) * 1993-12-28 2007-10-31 株式会社東芝 記憶システム
US5822256A (en) * 1994-09-06 1998-10-13 Intel Corporation Method and circuitry for usage of partially functional nonvolatile memory
US5475693A (en) * 1994-12-27 1995-12-12 Intel Corporation Error management processes for flash EEPROM memory arrays
JP3941149B2 (ja) * 1996-12-03 2007-07-04 ソニー株式会社 半導体不揮発性記憶装置
JPH09160728A (ja) * 1995-12-11 1997-06-20 Oki Electric Ind Co Ltd 記憶装置のエラー訂正方法
US5721739A (en) * 1995-12-14 1998-02-24 Fairchild Semiconductor Corporation Method for detecting read errors, correcting single-bit read errors and reporting multiple-bit read errors
US5715193A (en) * 1996-05-23 1998-02-03 Micron Quantum Devices, Inc. Flash memory system and method for monitoring the disturb effect on memory cell blocks due to high voltage conditions of other memory cell blocks
JP2000030500A (ja) 1998-07-10 2000-01-28 Mitsubishi Electric Corp 不揮発性半導体記憶装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100781952B1 (ko) * 2000-10-25 2007-12-06 후지쯔 가부시끼가이샤 플래시 메모리 내의 결함 관리 방법
US7554859B2 (en) 2006-09-22 2009-06-30 Samsung Electronics Co., Ltd. Nonvolatile memory system and associated programming methods
US7602642B2 (en) 2006-10-19 2009-10-13 Samsung Electronics Co., Ltd. Nonvolatile memory system and associated programming methods

Also Published As

Publication number Publication date
TW455874B (en) 2001-09-21
USRE40252E1 (en) 2008-04-22
US6185134B1 (en) 2001-02-06
KR100321302B1 (ko) 2002-03-18
EP1008936A3 (en) 2002-03-27
JP2000173289A (ja) 2000-06-23
EP1008936A2 (en) 2000-06-14

Similar Documents

Publication Publication Date Title
KR100321302B1 (ko) 플래시 메모리의 제어 방법, 및 이 제어 방법을 이용한플래시 메모리 시스템과 이 제어 방법을 이용한 플래시메모리 칩
US9201718B2 (en) Data recovery in a solid state storage system
US7843732B2 (en) Methods of operating multi-bit flash memory devices and related systems
KR100781952B1 (ko) 플래시 메모리 내의 결함 관리 방법
US7594157B2 (en) Memory system with backup circuit and programming method
US8412879B2 (en) Hybrid implementation for error correction codes within a non-volatile memory system
US20100296350A1 (en) Method of setting read voltage minimizing read data errors
US20080209282A1 (en) Method of managing a flash memory and the flash memory
US8276028B2 (en) Using error information from nearby locations to recover uncorrectable data in non-volatile memory
KR20170037159A (ko) 데이터 저장 장치 및 그것의 동작 방법
US8370680B2 (en) Solid state storage system for controlling reserved area and method of controlling the same
US10832784B2 (en) Pre-program read to counter wordline failures
US20070294588A1 (en) Performing a diagnostic on a block of memory associated with a correctable read error
JP6115740B1 (ja) 半導体記憶装置
US20120159280A1 (en) Method for controlling nonvolatile memory apparatus
CN113674792A (zh) 记忆体装置及其操作方法与运算系统
US10475522B2 (en) Memory system including a delegate page and method of identifying a status of a memory system
CN117632579B (zh) 存储器控制方法和存储器存储装置
JP4332108B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
US20230214151A1 (en) Memory system and operating method thereof
JP6293846B2 (ja) 半導体記憶装置
CN114023372A (zh) 存储器管理方法、存储器存储装置及存储器控制器
CN118466861A (zh) 存储区域管理方法与存储装置
JP2009176393A (ja) 不揮発性半導体記憶装置及びその自動テスト方法
CN117520212A (zh) 确定读取回收的非易失性存储器设备及其操作方法

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20111216

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20121227

Year of fee payment: 12

LAPS Lapse due to unpaid annual fee