KR101056800B1 - 메모리시스템 - Google Patents

메모리시스템 Download PDF

Info

Publication number
KR101056800B1
KR101056800B1 KR1020040006998A KR20040006998A KR101056800B1 KR 101056800 B1 KR101056800 B1 KR 101056800B1 KR 1020040006998 A KR1020040006998 A KR 1020040006998A KR 20040006998 A KR20040006998 A KR 20040006998A KR 101056800 B1 KR101056800 B1 KR 101056800B1
Authority
KR
South Korea
Prior art keywords
data block
data
rewriting
controller
area
Prior art date
Application number
KR1020040006998A
Other languages
English (en)
Other versions
KR20040072036A (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 KR20040072036A publication Critical patent/KR20040072036A/ko
Application granted granted Critical
Publication of KR101056800B1 publication Critical patent/KR101056800B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles

Abstract

본 발명은 메모리시스템에 관한 것으로, 개서횟수 수명을 연장시키는데 준비해야 할 대체용의 메모리블록을 적게 할 수가 있고, 정보기억에 대한 신뢰성을 향상시킬 수 있는 메모리시스템을 제공한다.
소정의 물리 어드레스 단위에 복수의 데이터블록(2)을 갖는 불휘발성메모리(3)와, 외부로부터의 억세스요구에 응답해서 상기 불휘발성메모리를 제어하는 컨트롤러(5)를 갖는다. 상기 데이터블록은 각각의 데이터영역에 대한 개서횟수와 ECC코드 등의 에러검사정보를 보지하는 영역을 갖는다. 컨트롤러는 불휘발성메모리에 대한 독출동작에 있어서, 독출대상영역의 데이터에 대해 에러검사정보에 의한 에러검사를 행하고, 에러가 있을 때, 개서횟수가 소정치를 넘어 있으면 다른 데이터블록에의 대체, 넘어 있지 않으면 에러에 관한 데이터블록상의 데이터를 정정한다.

Description

메모리시스템{NONVOLATILE MEMORY SYSTEM}
도 1은 메모리시스템의 일례인 플래시 메모리카드를 나타내는 블록도이다.
도 2는 플래시메모리의 데이터블록에 의한 데이터구조를 예시하는 설명도이다.
도 3은 대체처 테이블의 일례를 나타내는 설명도이다.
도 4는 컨트롤러에 의한 독출동작의 제어플로를 예시하는 플로차트이다.
도 5는 도 4의 독출제어를 이용하여 플래시 메모리카드로부터 데이터를 독출하는 동작을 전체적으로 나타내는 플로차트이다.
도 6은 플래시 메모리카드로부터 데이터를 독출했을 때, 도 2의 플래시메모리의 데이터구조 변화의 일례를 나타내는 설명도이다.
도 7은 컨트롤러에 의한 개서동작의 제어플로를 예시하는 플로차트이다.
도 8은 외부정보처리장치로부터의 개서처리요구에 응답하는 플래시메모리의 개서가 실패했을 때의 동작을 예시하는 플로차트이다.
도 9는 도8의 동작에 의한 개서처리결과를 나타내는 설명도이다.
도 10은 플래시메모리(3)의 데이터구조로서 ECC정정플래그 영역을 갖는 예를 나타내는 설명도이다.
도 11은 컨트롤러에 의한 ECC정정플래그 영역을 참조한 개서동작의 제어플로 를 예시하는 플로차트이다.
도 12는 도 10의 데이터구조의 플래시메모리에 대해 도 11의 처리에 따라 대체가 행해진 후에 있어서의 플래시메모리의 데이터구조를 예시하는 설명도이다.
도 13은 본 발명에 의한 독출처리와 기입처리를 개략적으로 나타내는 플로차트이다.
도 14는 항상 교체처 참조방식에 의한 비교예에 관한 독출처리와 기입처리를 개략적으로 나타내는 플로차트이다.
본 발명은 불휘발성의 메모리시스템에 관하여, 예를 들면 플래시 메모리카드 및 하드디스크 호환의 플래시디스크 등에 적용하여 유효한 기술에 관한 것이다.
플래시 메모리에 대표되는 전기적으로 개서 가능한 불휘발성메모리에 대한 기억정보의 개서에서는 메모리셀에 전기적인 스트레스가 걸려, 개서횟수가 증가하는 것에 따라 메모리셀의 특성이 열화 한다. 이 때문에, 상기 불휘발성메모리에는 특성을 보증할 수 있는 개서가능횟수를 정하는 것이 일반적이다. 개서는 일부의 데이터블록에 국재화 하는 경우가 있고, 일부의 데이터블록이 개서가능횟수에 도달하면, 당해 데이터블록을 대체에어리어에 있는 미사용 메모리블록과 교체하는 기술이 제공되고 있다(일본국 특개평 08-96589호 공보(특허문헌 1), 일본국 특개평 2001-229069호 공보(특허문헌 2)참조).
또, 각 데이터블록에 있어서의 ECC에 의한 정정횟수를 카운트 하고, 어느 일정치에 도달하면 그 데이터블록을 대체에어리어에 있는 미사용 데이터블록과 교체하는 기술이 있다(WO 01/22232 호(특허문헌 3)참조).
또, 국소적으로 기입이 집중하면 일부의 데이터블록만 특성열화가 현저해지므로, 어느 일정의 개서횟수에 도달하면, 자동적으로 개서횟수가 적은 영역과의 사이에서 데이터와 어드레스의 교체를 행하고, 불휘발성메모리의 개서횟수 수명을 연장하도록 한 기술이 있다. 예를 들면, 기입횟수가 규정치를 넘으면 데이터블록의 어드레스 할당을 변경한다(USP 5,434,825 호(특허문헌 4)참조). 또, ECC에러횟수가 규정치를 넘으면 데이터블록의 어드레스 할당을 변경한다(USP 5,583,812 호(특허문헌 5)참조).
본 발명자는 플래시메모리 등의 불휘발성메모리에 있어서의 데이터블록의 대체처리에 대해 검토하였다. 특히, 본 발명자는 플래시메모리 등의 불휘발성 메모리를 적용한 대용량 및 고속의 플래시 메모리카드나 플래시디스크라고 하는 하드디스크 호환의 대용량 스토리지에 대해 검토하였다.
제 1은 불휘발성 메모리의 데이터블록에 대한 대체처리의 적정화 이다. 데이터블록의 개서횟수가 보증치를 넘어도, 반드시 메모리셀에 특성 열화를 생긴다는 것이 아니기 때문에, 특허문헌 1, 2와 같이 단순히 개서횟수만으로 데이터블록의 대체를 행하면, 아직 사용가능한 데이터블록을 쓸데없이 대체할 우려가 있다. 결국, 프로세스의 불균형 등에 의해 개서 가능횟수에는 개체의 차가 있다.
제 2는 정보기억의 고신뢰성이다. 특허문헌 3과 같이 ECC에 의한 정정횟수가 규정치에 도달한 경우에 데이터블록의 대체를 행하면, 예를 들면 30만회 개서횟수를 보증하고 있는 플래시 메모리에 대하여, 개서횟수가 50만회를 넘어 처음으로 ECC의 정정이 발생해도 그 데이터블록에는 계속해서 개서가 가능하게 된다. 결국, 특성열화가 진행된 상태에서 여전히 개서 가능한 상태에 방치되는 데이터블록이 존재하는 것에 따라, 정보기억에 대한 신뢰성을 저하시키는 우려가 있다. 예를 들면, 특성열화에 의해 ECC회로에서 정정 가능한 오류 발생이 빈발하면, 이것에 더하여 디스터브 등의 영향에 의한 둔갑한 데이터를 생기면, ECC회로에 의한 정정 가능한 비트수를 넘어버리는 것이 예상되고, 이미 ECC회로의 능력에서는 오류의 정정을 행할 수가 없고, 기억데이터를 보호할 수가 없게 된다.
오류데이터가 음성이나 화상데이터의 경우에는 그 일부의 데이터오류는 다른 처리에 영향을 주는 일은 적다. 이것에 대하여, 연산처리 데이터나 프로그램의 경우에는 일부의 데이터오류가 다른 처리에 주는 영향이 비교적 크고, 데이터처리의 성질에 따라서는 치명적인 결함을 생기는 경우도 있다. 따라서, 하드디스크 호환의 플래시 메모리카드나 플래시디스크 등에는 특히 정보기억에 대한 고신뢰성이 요구된다.
제 3은 고속억세스 처리이다. 하드디스크 호환의 플래시 메모리카드나 플래시디스크 등에 연산처리 데이터나 프로그램을 격납하는 경우를 상정하면, 데이터처리를 고속화 하기에는 플래시 메모리카드 등은 고속억세스 처리가 가능해햐 한다. 개서횟수 수명을 연장시키는데 억세스처리에 부수하여 테이블참조 등이 매번 필요 하게 되면, 대용량이기 때문에, 그 참조처리가 오버헤드가 된다. 예를 들면, 특허문헌 4, 5의 기술에서는 데이터블록에 대한 어드레스 할당을 나타내는 대응테이블을 억세스마다 매번 읽어 들여야 한다.
본 발명의 목적은 개서횟수 수명을 연장시키는데 사용가능한 데이터블록을 쓸데없이 대체하는 것을 억제 가능한 메모리시스템을 제공하는 데에 있다. 다시 말하자면, 개서횟수 수명을 연장시키는데 준비해야 할 대체용의 메모리블록을 적게 할 수 있는 메모리시스템을 제공하는 데에 있다.
본 발명의 다른 목적은 특성열화가 진행된 데이터블록이 여전히 개서 가능한 상태로 방치되는 것을 억제할 수가 있고, 정보기억에 대한 신뢰성을 향상시킬 수가 있는 메모리시스템을 제공하는 데에 있다.
본 발명의 더 다른 목적은 개서횟수 수명을 연장시키는데 억세스처리에 부수하여 매번 테이블참조 등을 행하지 않아도 되고, 고속억세스를 보증해서 개서횟수 수명을 연장시킬 수 있는 메모리시스템을 제공하는 데에 있다.
본 발명의 상기 및 그 외의 목적과 신규의 특징은 본 명세서의 서술 및 첨부 도면으로부터 밝혀질 것이다.
본원에 있어서 개시되는 발명중 대표적인 것의 개요를 간단하게 설명하면 하기와 같다.
[1] 본 발명의 제 1의 관점은 독출동작시에 있어서의 대체제어이다. 이 관점에 의한 메모리시스템은 소정의 물리 어드레스단위에 복수의 데이터블록을 갖는 불휘발성메모리와, 외부로부터의 억세스요구에 대응해서 상기 불휘발성메모리를 제어 하는 컨트롤러를 갖는다. 상기 데이터블록은 각각의 데이터영역에 대한 개서횟수와 에러검사정보를 보지하는 영역(31, 32)을 갖는다. 상기 컨트롤러는 상기 불휘발성메모리에 대한 독출동작에 있어서, 독출대상영역의 데이터에 대해 에러검사정보에 의한 에러검사를 행하고, 에러가 있을 때, 개서횟수가 소정치를 넘어 있으면 다른 데이터블록에의 대체, 넘어 있지 않으면 에러에 관한 데이터블록상의 데이터를 정정한다.
규정의 개서횟수가 되어도, 본질이 좋은 불휘발성메모리 라면, 아직 개서를 행할 수 있다. 그 지표로서 데이터블록의 데이터오류 발생상황과 그 때의 개서횟수를 고려한다. 데이터블록으로부터의 독출데이터에 데이터에러가 있을 때에 개서횟수가 소정횟수에 도달하고 있지 않으면 ECC 등에 의한 에러정정을 행한다. 일반적으로 플래시메모리 등의 불휘발성메모리는 보증하는 개서횟수의 한도내에서는 메모리개발 메이커가 추장 또는 지시하는 에러정정능력(에러정정 가능한 비트수)을 가지면, 정정 불가능한 상황은 발생하지 않기 때문에, ECC 등에서 에러정정된 데이터를 당해 데이터블록에 다시 써 돌려도 데이터 신뢰도라는 점에서는 문제 없다고 생각되기 때문이다. 한편, 상기 데이터에러가 있을 때에 개서횟수가 소정의 횟수에 도달하고 있으면, ECC의 에러정정능력을 넘은 비트수의 에러를 생길 우려가 그 이후 현재화한다고 생각되기 때문에, 데이터블록을 대체하여, 대체처의 새로운 데이터블록에 정정데이터를 보지시켜 이용한다.
따라서, 상기 대체수법에 의하면, ECC와의 조합에 의해 개서횟수가 보증한도를 넘어도 대체할 수 있고, 결과적으로, 단순히 규정의 개서횟수만을 지표로서 대 체를 행하는 경우에 비하여, 1데이터블록 어드레스당의 평균개서횟수를 증가할 수가 있다. 이것에 의해, 과잉에 대체에어리어를 갖지 않아도 좋고, 또 대체처리에 걸리는 처리오버헤드를 억제할 수 있는 것에 따라, 고속억세스를 보증하는 것이 가능하게 된다.
또한, 오로지 ECC에 의한 에러발생횟수를 데이터블록 대체의 지표로 하는 경우와 같이 특성열화가 진행된 데이터블록이 여전히 개서 가능한 상태에 방치되는 것을 억세할 수가 있고, 정보기억에 대한 신뢰성을 향상시킬 수가 있다.
본 발명의 구체적인 형태로서, 상기 데이터블록은 그 물리어드레스에 대응시키는 논리어드레스의 정보보지에 이용하는 것이 가능한 어드레스정보 보지영역(30)을 갖는다. 이 때, 상기 컨트롤러는 논리 어드레스를 물리 어드레스로서 데이터블록을 선택하고, 선택한 데이터블록의 물리 어드레스와 당해 데이터블록의 상기 어드레스정보 보지영역이 보유하는 정보와의 일치에 의해 당해 데이터블록이 대체되어 있지 않다고 판정한다. 따라서, 선택한 데이터블록의 물리 어드레스와 당해 데이터블록의 상기 어드레스정보 보지영역이 보유하는 정보와의 불일치를 판별했을 때만, 대체처를 조사하기 위한 테이블참조 등을 행하면 좋다. 억세스처리에 부수하여 매번 테이블참조 등을 행하지 않아도 되고, 고속억세스를 보증하여 개서횟수 수명을 연장시킬 수가 있다.
대체처를 조사하기 위한 테이블로서, 상기 불휘발성메모리는 예를 들면, 대체처 테이블을 갖는다. 상기 대체처 테이블은 물리 어드레스의 배열순에 따라 대응하는 논리 어드레스정보의 보지에 이용되는 테이블정보 보지영역(40)을 갖는다. 상 기 컨트롤러는 논리 어드레스를 물리 어드레스로서 선택한 데이터블록의 물리 어드레스와 당해 데이터블록의 상기 어드레스정보 보지영역이 보유하는 정보와의 불일치를 판별했을 때, 물리 어드레스에 대응하는 테이블정보 보지영역을 참조해서, 논리 어드레스가 어느 데이터블록에서 대체되고 있는가를 판정할 수가 있다.
새로운 대체처의 판별을 위하여, 상기 테이블정보 보지영역은 논리 어드레스의 할당이 행해지고 있지 않는 데이터블록에 대응해서 미사용코드(USFLG)가 격납된다. 상기 컨트롤러는 데이터블록의 대체를 행할 때 상기 대체처 테이블을 참조하여, 상기 미사용코드에 응하는 데이터블록을 새로운 대체처로서 판별한다.
상기 어드레스정보 보지영역에 대하여, 상기 컨트롤러는 논리 어드레스의 할당이 행해지고 있지 않는 데이터블록의 어드레스정보 보지영역을 논리 어드레스 이외의 무효코드에 의해 초기화 한다. 또한, 상기 컨트롤러는 데이터블록의 대체를 행할 때, 대체처 데이터블록의 어드레스정보 보지영역에 대체처 데이터블록의 물리어드레스를 보지시킨다. 또, 상기 컨트롤러는 개서 실패의 데이터블록을 소거상태로 한다. 대체된 데이터블록의 어드레스정보 보지영역에 대한 취급을 통일하고, 또 장애 발생시 등에 데이터블록의 정보로부터 대체이력을 참조 가능하게 하기 때문이다.
본 발명의 구체적인 다른 형태로서, 상기 복수의 데이터블록중 특정한 데이터블록은 개서 임계치 횟수데이터(TDAT)의 기억영역을 갖는다. 상기 컨트롤러는 상기 개서 임계치 횟수데이터에 일치하는 개서횟수를 상기 개서횟수의 소정치라고 판정한다. 개서 가능한 횟수는 반도체제조프로세스에 따라 불균형이 있으므로, 그것 에 따라 개서횟수 수명을 연장시키는 것이 가능하게 된다.
불휘발성메모리는 예를 들면, 플래시메모리이다. 상기 농리 어드레스정보는 32비트 이상이다. 플래시메모리의 기억용량을 기가ㆍ비트 이상의 대용량화 할 수가 있다. 상기 에러검사정보에는 ECC코드, CRC코드, 패리티코드, 및 총적합(SUM치)코드를 이용해도 좋다.
상기 컨트롤러는 예를 들면, 외부 인터페이스회로, 버퍼, CPU, ECC회로, 및 메모리 인터페이스회로에 의해 구성하면 좋다.
[2] 본 발명의 제 2의 관점은 개서동작시에 있어서의 대체제어이다. 이 관점에 의한 메모리시스템에서는 상기 컨트롤러는 상기 불휘발성메모리에 대한 개서동작에 있어서, 개서대상의 데이터블록에 대한 개서에 실패했을 때에는 개서횟수가 소정치를 넘어 있으면 다른 데이터블록에의 대체, 넘어 있지 않으면 실패에 관한 데이터블록에 대해 다시 개서를 행한다. 상기 다시 개서하는데 실패했을 때는 다른 데이터블록에의 대체를 행한다.
본 발명의 제 3의 관점은 개서동작시에 있어서의 다른 대체제어이다.이 관점에 의한 메모리시스템은 소정의 물리 어드레스단위에 복수의 데이터블록을 갖는 불휘발성메모리와, 와부로부터 억세스요구에 대응하여 상기 불휘발성메모리를 제어하는 컨트롤러를 갖고, 상기 데이터블록은 데이터영역에 대한 개서횟수와 에러정정플래그를 보지하는 영역(31, 33)을 갖는다. 상기 컨트롤러는 상기 불휘발성메모리에 대한 개서동작에 있어서, 개서대상의 데이터블록에 대해 개서횟수가 소정치를 넘어 있지 않을 때 당해 데이터블록에 대한 개서처리를 행하고, 개서횟수가 소정치를 넘 어 있을 때는 당해 데이터블록의 에러정정플래그가 에러정정 미쳤음을 나타내고 있으면 다른 데이터블록에의 대체, 에러정정 마쳤음을 내타내고 있지 않으면 당해 데이터블록에 대한 개서처리를 행한다. 상기 컨트롤러는 상기 불휘발성메모리에 대한 개서처리에 있어서, 개서대상의 데이터블록에 대한 개서에 실패했을 때에는 개서횟수가 소정치를 넘어 있으면 다른 데이터블록에의 대체, 넘어 있지 않으면 실패에 관한 데이터블록에 대해 다시 개서를 행해도 좋다. 상기 에러정정플래그는 예를 들면, 에러정정이 행해졌는가의 여부를 나타내는 1비트 이상의 플래그정보이다.
제 2 및 제 3의 관점에 의한 발명의 구체적인 형태로서 상기 제 1의 관점의 발명과 동일한 수단을 채용해도 좋다.
제 2 및 제 3의 관점에 의한 발명도 상기 제 1의 관점의 발명과 동일하게, ECC와의 조합에 의해 개서횟수가 보증한도를 넘어도 대체할 수 있고, 과잉에 대체에어리어를 가지지 않아도 되고, 또한 오로지 ECC에 의한 에러발생횟수를 데이터블록대체의 지표로 하는 경우와 같이 특성열화가 진행된 데이터블록이 여전히 개서 가능한 상태에 방치되는 것을 제어할 수가 있고, 정보기억에 대한 신뢰성을 향상시킬 수가 있다. 그리고, 컨트롤러는 논리 어드레스를 물리 어드레스로서 데이터블록을 선택하기 때문에, 억세스처리에 부수하여 매번 테이블참조 등을 행하지 않아도 되고, 고속억세스를 보증하여 개서횟수 수명을 연장시킬 수가 있다.
《플래시 메모리카드》 도 1에는 본 발명의 메모리시스템의 일례인 플래시 메모리카드가 도시된다. 동도에 도시되는 플래시 메모리카드(1)는 소정의 케이싱에 소정의 물리 어드레스단위에 복수의 데이터블록(2)을 갖는 불휘발성메모리 예를 들면, 플래시메모리(3)와, 외부 정보처리장치(4)로부터의 억세스요구에 응답해서 상기 플래시메모리(3)를 제어하는 컨트롤러(5)를 갖는다. 소정의 케이싱은 예를 들면, PC카드 또는 1.8인치의 하드디스크의 케이싱 등이다. 외부 정보처리장치(4)는 퍼스널컴퓨터, PDA(Personal Digital Assistant), 또는 디지털카메라 등의 호스트장치이다. 데이터블록(2)은 데이터영역(2D)과 관리영역(2C)에 대별 된다.
상기 플래시메모리(2)는 특별히 도시하지 않지만, 전기적으로 소거 및 기입 가능한 플래시 메모리셀을 매트릭스배치한 메모리셀 어레이를 갖는다. 이 메모리셀 어레이에 상기 복수의 데이터블록이 구성된다. 각 데이터블록은 1024비트와 같은 일정한 기억용량을 갖고, 복수개의 플래시 메모리셀로부터 이루어진다.
플래시 메모리셀에는 특별히 제한되지 않지만, 채널영역 상에 절연막에서 분리된 도체로서의 부동 게이트에 전하를 주입 가능하게 하는 부동 게이트구조, 혹은 실리콘 질화막 등의 전하 트랩 영역에 전하를 국재적으로 주입 가능하게 하는 전하 트랩구조 등을 채용할 수가 있다. 예를 들면, 부동게이트구조의 경우에는 전하의 주입상태와 방출상태의 임계치전압의 상이에 따라 기억정보의 논리치를 결정한다. 전하트랩구조에 있어서는 전하의 트랩위치나 트랩전하의 극성에 따라 다치(多値)의 정보기억을 행하는 것이 용이하다. 그와 같은 플래시 메모리셀에 대한 데이터의 기억은 예를 들면, 메모리셀이 보지하는 전하를 초기적상태로 하는 제 1 처리(예를 들면, 삭제처리 혹은 소거처리), 초기적상태로부터 전하상태를 변경하는 제 2 처리(예를 들면, 프로그램처리 혹은 기입처리)에 의해 행해진다. 예를 들면, 부동 게이트형의 플래시 메모리셀의 드레인은 비트선에 소스는 소스선에, 컨트롤게이트는 워드선에 접속된다. 삭제처리는 소스선에 고전압을 인가하여 전자를 소스선에 뽑아낸다. 프로그램처리는 워드선에 고전압을 인가해서 드레인으로부터 부동게이트에 열전자를 주입한다. 특별히 제한 되지 않지만 삭제처리는 데이터블록단위가 된다.
상기 컨트롤러(5)는 특별히 제한되지 않지만, 외부장치 인터페이스회로(10), 플래시메모리 인터페이스회로(11), 마이크로 컴퓨터(MPU)(12), RAM(런덤 억세스 메모리)로부터 이루어지는 버퍼(13), ECC(에러 정정 코드)회로(14), 및 내부버스(15)를 갖는다. 외부장치 인터페이스회로(10)는 외부정보처리장치(4)와의 인터페이스제어를 행한다. 예를 들면, 외부와의 인터페이스규정은, 하드디스크 호환을 고려하면 IDE(Integrated Device Electronics)등이 된다. 플래시메모리 인터페이스회로(11)는 플래시 메모리(3)의 커멘드 및 데이터 억세스규정을 만족하는 플래시메모리 인터페이스제어를 행한다. MPU(12)는 중앙처리장치(CPU), CPU의 워크RAM, 및 CPU의 제어프로그램ROM 등을 갖고, CPU가 제어프로그램을 실행하고, 외부장치 인터페이스회로(10)에 의한 외부인터페이스 제어, 프래시메모리 인터페이스회로(11)에 의한 메모리 인터페이스제어 등을 행한다. 버퍼(13)는 외부정보 처리장치(4)로부터의 기입데이터, 외부정보 처리장치(4)에의 독출데이터를 일시적으로 비축한다.
본 발명의 실시예에서는 컨트롤러와 메모리를 분리하고 있지만, 그 2개 및 주변부품을 하나로 한 혼재반도체로 해도 괜찮다.
외부정보 처리장치(4)로부터 외부장치 인터페이스회로(10)에 데이터억세스요 구가 있으면, MPU(12)는 억세스대상데이터의 물리 어드레스인 섹터 어드레스 및 억세스 커멘드 등을 플래시메모리 인터페이스회로(6)로부터 플래시메모리(2)에 주고, 플래시메모리(2)의 데이터 개서동작 및 데이터 독출동작 등을 제어한다. 데이터 개서동작은 상기 삭제처리와 프로그램처리에 의해 행해진다. 개서동작에서는 외부정보 처리장치(4)로부터 공급된 개서데이터가 플래시메모리(3)에 주어진다. 독출동작에서는 플래시메모리(3)로부터 독출된 데이터가 외부정보 처리장치(11)에 출력된다.
플래시메모리(3)의 각 데이터블록(예를 들면, 섹터라고도 호칭한다)(2)에는 데이터블록의 물리적인 배치인 물리 어드레스(섹터 어드레스라고도 호칭한다)가 할당된다. 결국, 어드레스신호를 디코드 해서 데이터블록을 선택하기 위한 어드레스 디코더의 디코드논리에 그 어드레스 할당이 편입되고 있다. 상기 물리 어드레스의 비트수는 예를 들면, 32비트이다. 외부정보처리장치(4)는 데이터블록의 논리적인 배치를 논리 어드레스로 관리한다. MPU(12)는 외부정보처리장치(4)가 지정하는 논리 어드레스를 물리 어드레스로서 플래시메모리(3)의 억세스에 이용한다. 결국, MPU(12)는 논리 어드레스와 물리 어드레스의 대응테이블을 항상 참조하는 것을 필요로 하지 않다는 것이다.
《플래시메모리의 데이터구조》도 2에는 플래시메모리(3)의 데이터블록에 의한 데이터구조가 예시된다. 도 2에서는 데이터블록(2)로서 예를 들면, 물리 어드레스(0 ~ z)까지의 데이터블록 2(0)~ 2(z)를 갖고, 물리 어드레스(0 ~ n-1)까지의 데이터블록 2(0)~ 2(n-1)는 유저데이터영역(20), 물리 어드레스(n ~ z-1)까지의 데이 터블록 2(n)~ 2(z-1)는 대체영역(21), 물리 어드레스(z)의 데이터블록 2(z)는 대체처 테이블의 형성영역(22)이 된다. 각 데이터블록(2)에는 전술대로 물리 어드레스가 할당되고, 관리영역(2C)로서, 논리 어드레스영역(30), 개서횟수영역(31), ECC코드영역(32)을 갖는다.
상기 논리 어드레스영역(30)은 물리 어드레스에 대응되는 논리 어드레스의 정보보지에 이용하는 것이 가능한 어드레스정보 보지영역이 된다. 개서횟수영역(31)에는 대응하는 데이터블록(2)의 개서횟수가 보지된다. ECC코드영역(32)은 대응하는 데이터블록(2)의 에러검사정보로서 ECC코드를 보유한다. ECC코드는 예를 들면, 데이터블록 전체에 대한 ECC코드가 된다. 데이터영역만에 대한 ECC코드라도 좋다. 논리 어드레스의 할당에 이용되고 있지 않는 논리 어드레스영역(30)은 컨트롤러(5)에 의해 무효코드(IVCOD)가 초기적으로 기입된다. 즉, 물리 어드레스(z)를 제외하는 대체영역(31)의 논리 어드레스영역(30)은 당초 무효코드(IVCOD)를 갖는다. 상기 물리 어드레스(z)의 데이터블록 2(z)에 있어서 논리 어드레스영역(30)에는 테이블플래그가 격납되고, 당해 데이터블록 2(z)의 데이터영역에는 대체처 테이블(STLB)이 격납된다.
상기 컨트롤러(5)는 논리 어드레스를 물리 어드레스로서 데이터블록(2)을 검색하고, 검색한 데이터블록(2)의 물리 어드레스와 당해 데이터블록의 상기 논리 어드레스영역(30)이 보유하는 정보와의 일치에 의해 당해 데이터블록이 대체되고 있지 않다고 판정한다. 따라서, 검색된 데이터블록의 물리 어드레스와 당해 데이터블록의 상기 논리 어드레스영역(30)이 보유하는 정보와의 불일치를 판별했을 때만, 대체처를 조사하기 위해 대체처 테이블(STLB)의 참조 등을 행하면 좋다. 억세스처리에 부수하여 매번 대체처 테이블(STLB)의 참조를 행하지 않아도 좋다.
본 발명의 실시예에서는 매번 대체처 테이블(STLB)을 참조하는 방식을 설명한다. 그러나, 대체영역을 최소한에 하는 것이 본 발명에서는 가능하기 때문에, 테이블(STLB)참조하지 않고 직접 대체영역을 검색하는 것도 가능하다.
도 3에는 상기 대체처 테이블(STLB)의 일례가 도시된다. 대체처테이블(STLB)은 유저데이터영역(20)에 있어서의 불량 혹은 개서수명이 다한 데이터블록(2)을 대체하는 대체영역(21)의 데이터블록을 조사하기 위한 데이터테이블이다. 이 대체처테이블(STLB)은 물리 어드레스의 배열순에 따라 테이블정보 보지영역(40), 즉 40(0) ~ 40(z)을 갖는다. 테이블정보 보지영역 40(0) ~ 40(z)은 물리 어드레스의 배열순에 따라 대응하는 논리 어드레스정보의 보지에 이용된다. 테이블정보 보지영역 40(0) ~ 40(z)에 대응하는 물리 어드레스는 당해 테이블정보 보지영역의 오프세트로부터 얻어진다. 예를 들면, 물리 어드레스(n-1)에 대응하는 논리 어드레스(n-1)는 대체처 테이블(STLB)의 오프세트(n-1)에 위치하는 테이블정보 보지영역 40(n-1)로부터 얻어진다. 이 대체처 테이블(STLB)은 현재의 논리 어드레스가 어느 곳의 물리 어드레스에 할당되고 있는가, 및 미사용영역은 어느 곳에 있는가를 나타낼 수가 있다.
상기 컨트롤러(5)는 논리 어드레스를 물리 어드레스로서 검색한 데이터블록의 물리 어드레스와 당해 데이터블록의 상기 논리 어드레스영역(30)이 보유하는 정보와의 불일치를 판별했을 때, 상기 대체처 테이블(STLB)의 물리 어드레스에 대응 하는 테이블정보 보지영역(40)을 참조하고, 논리 어드레스가 어느 데이터블록에서 대체되고 있는가를 판정할 수가 있다. 예를 들면, 도 3에 따르면, 물리 어드레스(n)에 대응하는 논리 어드레스는 대체처 테이블(STLB)의 오프세트(n)에 위치하는 테이블정보 보지영역 40(n)의 정보에서, 논리 어드레스(m)가 된다.
새로운 대체처의 판별을 위해, 상기 대체처 테이블(STLB)의 테이블정보 보지영역 40(0) ~ 40(z(-1))는 논리 어드레스의 할당이 행해지고 있지 않는 데이터블록에 대응하여 미사용코드로서의 미사용플래그(USFLG)가 격납된다. 상기 컨트롤러(5)는 데이터블록의 대체를 행할 때 상기 대체처 테이블(STLB)을 참조하고, 상기 미사용플래그(USFLG)에 응하는 데이터블록을 새로운 대체처라고 판정한다.
상기 대체처 테이블(STLB)의 오프세트(z)에 있어서의 테이블정보 보지영역 40(z)은 개서 임계치횟수 데이터(TDAT)의 기억영역 40(z)로서 이용된다. 컨트롤러(5)는 데이터블록의 대체 여부의 판별 혹은 개서 수명의 판별에 그 개서 임계치횟수 데이터(TDAT)를 이용한다. 데이터블록의 개서 가능횟수는 반도체제조 프로세스에 따라 불균형이 있기 때문에, 그것에 따라 개서횟수 수명을 판정할 수 있도록 하기 위해서다.
《독출동작시의 대체제어》다음에 상기 데이터블록에 대한 독출동작시에 있어서의 대체제어에 대해 설명한다.
도 4에는 컨트롤러에 의한 독출동작의 제어플로가 예시된다. 논리 어드레스(m)의 데이터독출처리가 지시되면, 그것에 응답해서 물리 어드레스(m)의 데이터블록을 버퍼(13)에 독출한다(S1). 독출된 데이터블록 2(m)의 논리 어드레스 영역(30)이 보지하는 논리 어드레스정보와 데이터블록 2(m)의 물리 어드레스가 일치하는가의 여부가 판정된다(S2). 일치라면 데이터블록의 대체는 행하고 있지 않다고 판정된다. 불일치라면 데이터블록의 대체가 행하고 있다고 판정되고, 대체처 테이블(STLB)을 참조해서 대체영역(21)에서 논리 어드레스(m)의 데이터블록을 검색해서 당해 데이터블록의 기억정보를 버퍼(13)에 독출한다(S3). 스텝(S2)에 있어서의 일치판정에 관한 데이터블록, 또는 스텝(S3)에서 검색된 대체데이터블록의 모든 데이터에 대해 ECC회로에 의해 오류의 유무를 판정한다(S4). 본 발명에서는 논리 어드레스코드를 이용해서 유저데이터를 관리하고 있다. 그러나, 이 이외에 예를 들면, S2의 체크로 ECC코드가 정정 없음 또는 정정 기능이라면, 물리 어드레스와 논리 어드레스가 일치하고 있다고 보아, 정정 불가능이라면 대체되고 있다고 보아, 대체영역을 검색해서 논리 어드레스(m)를 참조하는 방식이라도, 본 발명을 실현할 수가 있다. 오류가 없으면 컨트롤러(5)는 논리 어드레스(m)의 유저데이터의 전송허가를 외부정보 처리장치(4)에 요구하고(S5), 외부정보 처리장치(4)로부터의 허가를 기다리고 논리 어드레스(m)의 데이터를 버퍼(13)로부터 외부정보 처리장치(4)에 전송한다(S6).
상기 스텝(S4)의 판정에서 오류가 있으면, 버퍼(13)상에서 독출데이터를 정정한다(S7). 그리고, 개서횟수가 개서 임계치횟수 데이터(TDAT)가 나타내는 횟수(예를 들면, K회)이상인가의 판정이 행해진다(S8). K회 이상이지 않으면, 버퍼(13)내의 논리 어드레스(m)의 데이터를 정정해서, 당해 논리 어드레스(m)에 대응하는 물리 어드레스의 데이터블록에 정정데이터를 써 되돌리고, 플래시메모리(3)상의 대 응하는 기억데이터를 정정한다. 그 후, 상기 스텝(S5, S6)에 진행하여 외부정보 처리장치(4)에의 데이터전송을 행한다.
상기 스텝(S8)의 판정에 의해 개서횟수가 K회 이상일 경우, 대체처 테이블(STLB)을 참조하여 대체영역(21)에서 미사용의 데이터블록을 검색한다(S9). 검색된 미사용 데이터블록을 논리 어드레스(m)의 새로운 데이터블록으로 하는 대체처리를 행한다(S10). 이 대체처리에서는 제 1에 상기 검색된 상기 미사용 데이터블록의 논리 어드레스영역에 논리 어드레스(m)의 정보를 격납하여, 상기 미사용 데이터블록의 데이터영역에 유저데이터(m)를 격납하고, 또 대체전의 논리 어드레스(m)의 데이터블록의 논리 어드레스영역에 상기 미사용 데이터블록의 물리 어드레스정보를 격납한다. 제 2에 상기 대체처 테이블(STLB)상의 테이블정보 보지영역(40)에 대해 , 미사용 데이터블록의 물리 어드레스에 응하는 오프세트위치에 논리 어드레스(m)의 정보를 격납한다. 그 후, 상기 스텝(S5, S6)에 진행하여 외부정보처리장치(4)에의 데이터전송을 행한다.
도 5에는 도 4의 독출제어를 이용해서 플래시 메모리카드(1)로부터 데이터를 독출동작의 전체적인 프로차트가 예시된다. 동도의 동작에서는 독출 전의 플래시 메모리(3)의 상태는 도 2의 상태가 되고, 독출 후의 플래시메모리(3)의 상태는 도 6의 상태, 독출 후의 대체처 테이블(STLB)의 상태는 도 3의 상태가 된다. 개서 임계치 횟수는 K회로 한다.
외부정보 처리장치(4)가 유저데이터영역(20)의 특정의 데이터블록, 예를 들면 논리 어드레스(m)의 데이터독출요구를 컨트롤러(5)에 지시한다(T1). 이것을 받 고 컨트롤러(5)는 물리 어드레스(m)의 데이터블록의 데이터를 플래시메모리(3)로부터 받는다(T2). 컨트롤러(5)는 받은 독출데이터에 대해 도 4의 처리를 행한다. 이 예에서는 도 2 대로, 데이터블록 2(m)의 논리 어드레스영역(30)의 논리 어드레스는 물리 어드레스(m)에 동등하고, 또 그 데이터블록 2(m)의 데이터에는 ECC코드에 의해 정정 가능한 오류가 발생하고 있는 것으로 한다. 또한, 데이터블록 2(m)의 개서횟수는 상한 K회를 넘어 K+1회가 되고 있다. 컨트롤러(5)는 대체영역(21)의 미사용데이터블록을 검색하기 위해 물리 어드레스(z)의 대체처 테이블(STLB)을 플래시메모리(3)에서 읽어 들인다(T3). 컨트롤러(5)는 대체처 테이블(STLB)로부터 미사용플래그(USFLG)를 보유하는 테이블정보 보지영역을 검색하고, 예를 들면 테이블정보 보지영역 40(n)을 얻는다. 이 영역 40(n)의 오프세트에 기초하여 컨트롤러(5)는 물리 어드레스(n)의 데이터 테이블의 정보를 독출하고, 그 논리 어드레스영역(30)에 무효코드(IVCOD)가 격납되어 있는 것, ECC코드영역의 ECC코드에 기초하여 에러가 없는 것을 확인한다(T4). 무효코드가 격납되어 있지 않거나, ECC코드에 의한 오류가 있을 경우에는 T3, T4의 처리를 반복한다.
처리 T4에 있어서 무효코드가 확인되고, ECC코드에 의한 오류가 없는 것이 확인된 경우에는 대체전의 논리 어드레스(m)의 데이터블록의 논리 어드레스영역을 어드레스정보(n)에 개서하고(T5), 물리 어드레스(n)의 데이터블록의 논리 어드레스영역에 논리 어드레스(m)의 정보를 격납하는 것과 동시에 그 데이터영역에 유저데이터(m)를 기입하고(T6), 물리 어드레스(n)에 응하는 오프세트위치에 논리 어드레스(m)의 정보를 격납하도록 상기 대체처 테이블(STLB)을 개서한다(T7).
이 후, 컨트롤러(5)는 독출데이터의 전송허가를 외부정보처리장치(4)에 요구하고(T8), 외부정보처리장치(4)로부터의 허가를 기다려 논리 어드레스(m)의 데이터(유저데이터(m))를 외부정보 처리장치(4)에 전송한다(T9). 전송 후, 컨트롤러(5)는 외부정보 처리장치(4)에 독출처리해서 종료를 통지한다(T10).
상기 독출동작시의 대체제어에서는 규정의 개서횟수가 되어도, 성질이 좋은 불휘발성메모리라면 아직 개서를 행할 수가 있다, 라고 하는 점에 주목하고 있다. 그 지표로서 데이터블록의 데이터에 대한 ECC에러체크의 결과와 개서횟수를 고려한다. 데이터블록으로부터의 독출데이터에 데이터에러가 있을 때에 개설횟수가 규정의 임계치에 도달하고 있지 않으면, ECC 등에 의한 정정을 행한다. 일반적으로 플래시메모리 등의 불휘발성메모리는 보증하는 개서횟수의 한도내에서는 메모리개발메이커가 추장 또는 지시하는 에러정정능력(에러정정 가능한 비트수)을 가지면, 정정 불가능한 상황은 발생하지 않기 때문에, ECC 등에서 에러정정된 데이터를 당해 데이터블록에 다시 써 돌려도 데이터신뢰도의 점에서는 문제없다고 생각되기 때문이다. 한편, 상기 데이터에러가 있을 때에 개서횟수가 규정의 임계치를 넘어 있으면, ECC의 에러정정 능력을 넘은 비트수의 에러를 생길 우려가 그 이후 현재화 한다고 생각되으모, 데이터블록을 대체하고, 대체처의 새로운 데이터블록에 정정데이터를 보지시켜서 이용한다.
따라서, 상기 대체처에 의하면, ECC와의 조합에 의해 개서횟수가 보증한도를 넘어도 대체할 수 있고, 결과로서, 단순히 규정의 개서횟수만을 지표로서 대체를 행하는 경우에 비하여, 1데이터블록 어드레스당의 평균 개서횟수를 증가할 수 있 다. 이것에 의해, 과잉에 대체에어리어를 갖지 않아도 좋다.
또한, 오로지 ECC에 의한 에러발생횟수를 데이터블록 대체의 지표로 할 경우와 같이 특성열화가 진행된 데이터블록이 여전히 개서 가능한 상태로 방지되는 것을 억제할 수가 있고, 정보기억에 대한 신뢰성을 향상시킬 수가 있다.
《개서 동작시에 있어서의 대체제어》 다음으로 상기 데이터블록에 대한 개서동작시에 있어서의 대체제어에 대해 설명한다.
도 7에는 컨트롤러에 의한 개서동작의 제어플로가 예시된다. 논리 어드레스(m)의 데이터 개서처리가 지시되면, 그것에 응답해서 컨트롤러(5)는 외부정보 처리장치(4)에 논리 어드레스(m)에 대한 개서데이터(유저데이터(m)의 개서데이터)의 전송허가를 통지한다(S11). 컨트롤러(5)는 이 허가를 받고 외부정보 처리장치(4)가 출력하는 상기 개서데이터를 받고 버퍼(13)에 격납한다(S12). 컨트롤러(5)는 물리 어드레스(m)의 데이터블록을 버퍼(13)에 독출한다(S13). 독출된 데이터블록 2(m)의 논리 어드레스영역(30)이 보지하는 논리 어드레스정보와 데이터블록 2(m)의 물리 어드레스가 일치하는가의 여부가 펀정된다(S14). 일치라면 데이터블록의 대체는 행해지고 있지 않다고 판단되고, 논리 어드레스(m)에 응하는 물리 어드레스(m)의 데이터블록 2(m)에 있어서의 데이터영역을 버퍼(13)내의 데이터로 개서한다(S15). 불일치라면, 데이터블록의 대체가 행해지고 있다고 판단되고, 대체처 테이블(STLB)을 참조해서 논리 어드레스(m)가 대체되고 있는 데이터블록을 검색하고(S16), 그 대체되고 있는 데이터블록에 있어서의 데이터영역을 버퍼(13)내의 데이터로 개서한다(S15). 스텝(S15)의 개서에 있어서, 컨트롤러(5)는 플래시메 모리(3)에서 개서 실패의 통지의 유무를 판정한다(S17). 실패가 없으면 그 개서처리는 종료된다. 실패가 있을 때는 컨트롤러(5)는 그 때의 개서횟수가 개서 임계치횟수 데이터(TDAT)가 나타내는 횟수(예를 들면, K회) 이상인가의 판정이 행해진다(S18).
상기 스텝(S18)의 판정에 의해 개서횟수가 K회 이상의 경우, 대체처 테이블(STLB)을 참조하여 대체영역(21)에서 미사용의 데이터블록을 검색한다(S19). 검색된 미사용 데이터블록을 논리 어드레스(m)의 새로운 데이터블록으로 하는 데체처리를 행한다(S20). 이 대체처리에서는 제 1에 상기 검색된 상기 미사용 데이터블록의 논리 어드레스영역에 논리 어드레스(m)의 정보를 격납하고, 상기 미사용 데이터블록의 데이터영역에 버퍼(13)상의 개서용 유저데이터(m)를 격납하고, 또 대체전의 논리 어드레스(m)의 데이터블록의 논리 어드레스영역에 상기 미사용 데이터블록의 물리 어드레스정보를 격납한다. 제 2에 상기 대체처 테이블(STLB)상의 테이블정보 보지영역(40)에 대해, 미사용 데이터블록의 물리 어드레스에 응하는 오프세트위치에 논리 어드레스(m)의 정보를 격납한다. 컨트롤러(5)는 당해 대체처리에 대해 플래시메모리(3)에서 개서실패 통지가 있는가의 여부를 판정하고(S21), 없으면 그 개서처리를 종료한다. 개서 실패라면 다시 스텝(S19, S20)의 처리를 반복한다. 스텝(S20)의 대체처리에 대해서는 리트라이횟수의 제한, 또는 개서횟수에 의해 제한을 붙여도 좋고, 제한횟수에 도달했을 때는 에러종료가 된다.
상기 스텝(S18)의 판정에 의해 개서횟수가 K회 이상이 아니면 컨트롤러(5)는 버퍼(13)내의 개서용 유저데이터(m)에서 논리 어드레스(m)의 데이터영역에 대해 다 시 기입처리를 행한다(S22). 이 기입에 대해서도 스텝(S21)에서 기입실패 통지의 유무를 판정하고, 실패라면 스텝(S19, S20)의 처리가 행해진다.
도 8에는 개서처리 요구에 응답하는 플래시메모리의 개서가 실패했을 때의 동작 플로차트가 도시된다. 동도의 개서에서는 개서 전의 플래시메모리(3)의 상태는 도 2의 상태가 되고, 개서 후의 플래시메모리(3)의 상태는 도 9의 상태가 된다. 개서 임계치횟수는 K회로 한다.
외부정보 처리장치(4)로부터 논리 어드레스(m)의 데이터 개서처리(T11), 그것에 응답하는 컨트롤러(5)로부터 외부정보 처리장치(4)에의 개서데이터(유저데이터(m)의 개서데이터)의 전송허가 통지(T12), 외부정보 처리장치(4)로부터 컨트롤러(5)에의 상기 유저데이터(m) 개서데이터의 전송처리(T13)가 행해진다. 컨트롤러(5)는 물리 어드레스(m)의 데이터블록을 플래시메모리(3)로부터 독출하고(T14), 논리 어드레스(m)의 데이터블록이 대체되어 있지 않는 것을 확인하여 당해 물리 어드레스(m)의 데이터블록을 유저데이터(m)개서데이터에 의해 개서한다(T15). 이 때, 예를 들면, 플래시메모리(3)는 개서실패 통지를 컨트롤러(5)에 발행하다(T16). 개서횟수는 상한횟수(K)를 넘어 있으므로, 데이터블록을 대체하기 위해 데이터블록 2(z)의 대체처 테이블(STLB)을 플래시메모리(3)에서 독출한다(T17). 컨트롤러(5)는 대체처 테이블(STLB)을 검색해서 대체처로서 어드레스(n)의 데이터블록을 인식하고, 이번에는 당해 물리 어드레스(n)의 데이터블록을 플래시메모리(3)에서 독출한다(T18). 독출한 물리 어드레스(n)의 데이터블록에 대해 에러검출 등을 행하고, 정상이라면 이 물리 어드레스(n)의 데이터블록을 대체에 이용하기 때문에, 컨트롤러(5)는 전술대로 그 대체를 반영하기 위해 대체처 테이블(STLB)을 개서하고(T19), 물리 어드레스(n)의 데이터블록을 유저데이터(m) 개서데이터로 개서한다(T20). 미지막에 컨트롤러(5)는 외부정보 처리장치(4)에 종료를 통지한다(T21).
도 8의 동작에 의한 개서 처리결과를 도시하는 도 9에 있어서, 도 2의 초기상태의 플래시메모리의 물리 어드레스(m)에 대해, 도 6에 비교하면, 물리 어드레스(m)의 개서가 실패하고 있기 때문에, 모든 데이터가 무효가 되고 있다. 여기서 말하는 무효라는 것은 예를 들면, 모든 데이터가 소거상태 또는 ECC정정 불가능상태 등에 되고 있는 것을 의미한다.
독출동작에서는 ECC에러가 있을 때에 개서횟수를 참조해서 그것이 상한을 넘어 있을 경우에 데이터블록의 대체를 행하였다. 개서의 경우는 개서에 실패했을 때에 개서횟수를 참조하여 그것이 상한을 넘어 있을 경우에 데이터블록의 대체를 행한다. 이것은 메모리셀의 특성이 열화함에 따라 개서 실패의 확율도 높이진다고 생각되기 때문이고, 개서 실패일 때에 개서횟수가 상한을 넘어 있으면 메모리셀의 개서횟수 수명이 다하는 것도 멀지 않다고 생각한다. 이것은 독출 동작시에 ECC에러가 있을 때 개서횟수가 상한을 넘어 있을 경우에는 메모리셀의 개서횟수 수명이 다하는 것도 멀지 않다고 생각하는 것과 동일하다. 따라서, 개서의 경우에도 독출의 경우와 동일하게, ECC와의 조합에 의해 개서횟수가 보증한도를 넘어도 대체할 수 있고, 과잉에 대체에어리어를 갖지 않아도 되고, 또한 오로지 ECC에 의한 에러발생횟수를 데이터블록 대체의 지표로 하는 경우와 같이 특성열화가 진행된 데이터블록 이 여전히 개서 가능한 상태에 방치되고 있는 것을 억제할 수가 있고, 정보기억에 대한 신뢰성을 향상시킬 수가 있다. 그리고, 컨트롤러는 논리 어드레스를 물리 어드레스로서 데이터블록을 선택하기 때문에, 억세스처리에 부수하여 매번 테이블참조 등을 행하지 않아도 되고, 고속억세스를 보증하여 개서횟수 수명을 연장시킬 수가 있다.
《개서동작시에 있어서의 다른 대체제어》 다음으로 상기 데이터블록에 대한 개서동작시에 있어서의 대체제어의 다른 예에 대해서 설명한다.
도 10에는 플래시메모리(3)의 데이터구조의 다른 예가 도시된다. 도 2의 데이터구조와의 상이점은 각 데이터블록(2)에 ECC정정플래그영역(33)을 추가한 것이다. ECC정정플래그영역(33)은 대응하는 데이터블록을 리드 했을 때, 1번이라도 ECC정정을 행한 적이 있을 경우에 정정있음이라는 플래그가 세워진다. 정정이 없으면 정정없음이라는 플래그가 세워진다. 대체영역(21)에 있어서 대체되기 전의 ECC정정플래그영역(33)은 무효데이터, 즉 소거상태가 되고 있다. 도 10의 예에서는 물리 어드레스(m)에 이전ECC에 의한 정정이 발생하고 있었을 나타내고 있다.
도 11에는 도 10의 데이터구조에 대한 컨트롤러에 의한 개서동작의 제어플로가 예시된다. 논리 어드레스(m)의 데이터 개서처리가 지시되면, 그것에 응답해서 컨트롤러(5)는 외부정보 처리장치(4)에 논리 어드레스(m)에 대한 개서데이터(유저데이터(m)의 개서데이터)의 전송허가를 통지한다(S30). 컨트롤러(5)는 이 허가를 받고 외부정보 처리장치(4)가 출력하는 상기 개서데이터를 받고 버퍼(13)에 격납한다(S31). 컨트롤러(5)는 논리 어드레스(m)의 데이터블록을 독출하고(S32), 당해 데 이터블록의 개서횟수가 상한의 K회 이상인가의 여부를 판정한다(S33). K회에 도달되지 않았으면 버퍼(13)이 보유하는 유저데이터(m)개서데이터에 의해 논리 어드레스(m)의 데이터블록의 데이터영역을 개서한다(S34). 개서횟수가 K회 이상일 때는 그 논리 어드레스(m)의 데이터블록에 ECC정정플래그가 세워 있는가의 여부를 판정한다(S35). ECC정정플래그가 세워 있지 않으면 스텝(S34)의 개서처리를 행한다. ECC정정플래그가 세워 있을 때는 그 논리 어드레스(m)의 데이터블록을 미사용데이터블록에 대체하고, 대체처에 유저데이터(m)의 개서데이터를 기입한다(S36).
특별히, 도시하지 않지만, 스텝(S34)에서 기입 실패일 때는 스텝(S36)의 처리에 나아가면 된다. 또, 특별히, 도시하지 않지만, 도 7에 있어서의 개서를 실패했을 때의 처리와, 도 11에 있어서의 ECC에러 정정플래그의 유무에 대응한 처리의 양쪽을 행하는 것도 가능하다.
도 12에는 도 10의 데이터구조의 플래시메모리(3)에 대해 도 11의 처리에 따라 대체가 행해진 후에 있어서의 플래시메모리의 데이터구조가 예시된다. 물리 어드레스(m)의 데이터영역(2D)에 기억되고 있던 유저데이터(m)는 물리 어드레스(n)에 대체되고 있다.
도 11의 개서에 경우는 개서횟수가 상한을 넘어 있을 경우에 한번이라도 ECC정정이 행하고 있을 경우에는 데이터블록의 대체를 행하여 개서을 행한다. 이것은 독출동작시에 ECC에러가 있었을 때 개서횟수가 상한을 넘어 있을 경우에는 메모리셀의 개서횟수 수명이 다하는 것도 멀지 않다고 생각하는 것과 동일하다. 따라서, 도 11의 개서의 경우에도 독출의 경우와 동일하게, ECC와의 조합에 의해 개서횟수 가 보증한도를 넘어도 대체할 수 있고, 과잉에 대체에어리어를 갖지 않아도 되고, 또한 오로지 ECC에 의한 에러발생횟수를 데이터블록 대체의 지표로 하는 경우와 같이 특성열화가 진행된 데이터블록이 여전히 개서 가능한 상태에 방치되는 것을 억제할 수가 있고, 정보기억에 대한 신뢰성을 향상시킬 수가 있다. 그리고, 컨트롤러는 논리 어드레스를 물리 어드레스로서 데이터블록을 선택하기 때문에, 억세스처리에 부수하여 매번 테이블참조 등을 행하지 않아도 되고, 고속억세스를 보증해서 개서횟수 수명을 연장시킬 수가 있다.
마지막으로 고속억세스의 보증이라는 점에 대해서 설명을 더한다. 도 13에는 이상 설명한 본 발명에 의한 독출처리와 기입처리의 동작플로의 개략이 도시된다. 도 14에는 어떤 일정한 개서횟수에 도달하면, 자동적으로 개서회수가 적은 영역과의 사이에서 데이터와 어드레스의 교체를 행하고, 불휘발성메모리의 개서횟수 수명을 연장하도록 한 비교예에 관한 기술에 의한 독출처리와 기입처리의 동작플로의 개략이 도시된다. 도 14에서는 독출과 개서중 어느쪽에 있어서도, 논리 어드레스와 물리 어드레스의 대응을 정의한 교체테이블의 참조가 필수가 된다. 그 의미에서 도 14의 동작은 항상 교체처 참조방식이 된다. 이것에 대해 본발명에 관한 도 13의 경우에는 전술대로 논리 어드레스를 물리 어드레스로서 플래시메모리의 억세스를 행하기 때문에, 대체되어 있을 때만 대체처 테이블을 참조하면 된다. 본 발명의 경우에는 테이블참조라는 점에 있어서 고속억세스도 보증되고 있다.
이상, 본 발명자에 의해 이루어진 발명을 실시예에 기초하여 구체적으로 설명했지만, 본 발명은 그것에 한정되는 것이 아니라, 그 요지를 일탈하지 않는 범위 에 있어서 각가지 변경 가능하다는 것은 말할 것도 없다.
예를 들면, 불휘발성메모리는 플래시메모리에 한정되지 않다. EEPROM, 고유전체메모리 등이라도 좋다. 대체영역의 검색방식으로서 대체처 테이블(STLB)와 같은 테이블을 참조하는 방식에 한정되지 않는다. 그와 같은 테이블을 이용하는 대신으로, 직접대체영역의 논리 어드레스영역(30)을 독출하여 검색하도록 해도 좋다. 다만, 검색시간은 증가하는 경향에 있다고 생각된다. 대체영역의 미사용 데이터블록에 대해 그 논리 어드레스영역에는 무효코드(IVCOD)를 보지시키는 것에 한정되지 않는다. 단순히 무효데이터 등에 해두어도 좋다. 또, 도 10의 데이터구조에 있어서 ECC정정플래그영역(33)에 정정있음이라는 플래그를 세우는 조건은 상기 설명에 한정되지 않는다. 소정의 복수회ECC에 의한 에러정정을 행한 것을 조건에 해도 좋다.
이상의 설명에서는 주로 본 발명자에 의해 이루어진 발명을 그 배경이 된 이용분야인 하드디스크 호환의 플래시디스크 혹은 플래시 메모리카드에 적용한 경우에 대해 설명했지만, 본 발명자는 기타 각가지의 메모리시스템에 적용할 수가 있다.
본원에 있어서 개시되는 발명중 대표적인 것에 의해 얻어지는 효과를 간단하게 설명하면 하기와 같다.
즉, 메모리시스템에 있어서 개서횟수 수명을 연장하는데 사용가능한 데이터블록을 쓸데없이 대체하는 것을 억제할 수가 있다. 다시 말하자면, 개서횟수 수명을 연장하는데 준비해햐 할 대체용의 메모리블록을 적게 할 수가 있다.
특성열화가 진행된 데이터블록이 여전히 개서 가능한 상태에 방지되는 것을 억세할 수가 있고, 메모리시스템의 정보기억에 대한 신뢰성을 향상시킬 수가 있다.
메모리시스템의 개서횟수 수명을 연장하는데 억세스처리에 부수해서 매번 테이블참조 등을 행하지 않고 됨으로, 고속억세스를 보증해서 개서횟수 수명을 연장시킬 수가 있다.

Claims (16)

  1. 소정의 물리 어드레스단위로 복수의 데이터블록을 갖는 불휘발성메모리와, 외부로부터의 억세스요구에 응답하여 상기 불휘발성메모리를 제어하는 컨트롤러를 갖고,
    상기 데이터블록은 각각의 데이터영역에 대한 개서횟수와 에러검사정보를 보지하는 영역을 갖고,
    상기 컨트롤러는 상기 불휘발성메모리에 대한 독출동작에 있어서, 독출대상영역의 데이터에 대해 에러검사정보에 의한 에러검사를 행하고, 에러가 있을 때, 개서횟수가 소정치를 넘어 있으면 다른 데이터블록으로의 대체, 넘어 있지 않으면 에러에 관한 데이터블록상의 데이터를 정정하여 다시 쓰는 것을 특징으로 하는 메모리시스템.
  2. 청구항 1에 있어서,
    상기 컨트롤러는 상기 불휘발성메모리에 대한 개서동작에 있어서, 개서대상의 데이터블록에 대한 개서에 실패했을 때는 개서횟수가 소정치를 넘어 있으면 다른 데이터블록에의 대체, 넘어 있지 않으면 실패에 관한 데이터블록에 대해 다시 개서를 행하는 것을 특징으로 하는 메모리시스템.
  3. 청구항 2에 있어서,
    상기 다시 개서하는데 실패했을 때에는 다른 데이터블록에의 대체를 행하는 것을 특징으로 하는 메모리시스템.
  4. 소정의 물리 어드레스단위에 복수의 데이터블록을 갖는 불휘발성메모리와, 외부로부터의 억세스요구에 대응하여 상기 불휘발성메모리를 제어하는 컨트롤러를 갖고,
    상기 데이터블록은 데이터영역에 대한 개서횟수와 에러정정플래그를 보지하는 영역을 갖고,
    상기 컨트롤러는 상기 불휘발성메모리에 대한 개서동작에 있어서, 개서대상의 데이터블록에 대한 개서횟수가 소정치를 넘어 있지 않을 때, 당해 데이터블록에 대한 개서처리를 행하고, 개서횟수가 소정치를 넘어 있을 때에는 당해 데이터블록의 에러정정플래그가 에러정정을 마친 것을 나타내고 있으면 다른 데이터블록에의 대체, 에러정정을 마친 것을 나타내고 있지 않으면 당해 데이터블록에 대한 개서처리를 행하는 것을 특징으로 하는 메모리시스템.
  5. 청구항 4에 있어서,
    상기 컨트롤러는 상기 불휘발성메모리에 대한 개서처리에 있어서, 개서대상의 데이터블록에 대한 개서에 실패했을 때에는 개서횟수가 소정치를 넘어 있으면 다른 데이터블록에의 대체, 넘어 있지 않으면 실패에 관한 데이터블록에 대해 다시 개서를 행하는 것을 특징으로 하는 메모리시스템.
  6. 청구항 5에 있어서,
    상기 에러정정플래그는 에러정정이 행해졌는지의 여부를 나타내는 1비트 이상의 플래그정보인 것을 특징으로 하는 메모리시스템.
  7. 청구항 6에 있어서,
    상기 데이터블록은 그 물리 어드레스에 대응시키는 논리 어드레스 정보 보지에 이용하는 것이 가능한 어드레스정보 보지영역을 갖고,
    상기 컨트롤러는 논리어드레스를 물리 어드레스로서 데이터블록을 선택하고, 선택한 데이터블록의 물리 어드레스와 당해 데이터블록의 상기 어드레스정보 보지영역이 보유하는 정보와의 일치상태에 따라 당해 블록데이터가 대체되지 않다고 판정하는 것을 특징으로 하는 메모리시스템.
  8. 청구항 7에 있어서,
    상기 불휘발성메모리는 대체처 테이블을 갖고,
    상기 대체처 테이블은 물리 어드레스의 배열순서에 따라 대응하는 논리 어드레스 정보의 보지에 이용되는 테이블정보 보지영역을 갖고,
    상기 컨트롤러는 논리 어드레스를 물리 어드레스로서 선택한 데이터블록의 물리 어드레스와 당해 데이터블록의 상기 어드레스정보 보지영역이 보유하는 정보와의 불일치상태를 판별했을 때, 당해 물리 어드레스에 대응하는 테이블정보 보지영역을 참조해서, 논리 어드레스가 어느 데이터블록에서 대체되고 있는가를 판정하는 것을 특징으로 하는 메모리시스템.
  9. 청구항 8에 있어서,
    상기 테이블정보 보지영역은 논리 어드레스의 할당이 행해지고 있지 않는 데이터블록에 대응하여 미사용코드가 격납되고,
    상기 컨트롤러는 데이터블록의 대체를 행할 때 상기 대체처 테이블을 참조하고, 상기 미사용코드에 응하는 데이터블록을 새로운 대체처로서 판정하는 것을 특징으로 하는 메모리시스템.
  10. 청구항 7에 있어서,
    상기 컨트롤러는 논리 어드레스의 할당이 행해지고 있지 않는 데이터블록의 어드레스정보 보지영역을 논리 어드레스 이외의 무효코드에 의해 초기화 하는 것을 특징으로 하는 메모리시스템.
  11. 청구항 10에 있어서,
    상기 컨트롤러는 데이터블록의 대체를 행할 때, 대체처 데이터블록의 어드레스정보 보지영역에 대체처 데이터블록의 물리 어드레스를 보지시키는 것을 특징으로 하는 메모리시스템.
  12. 청구항 11에 있어서,
    상기 컨트롤러는 개서 실패의 데이터블록을 소거상태로 하는 것을 특징으로 하는 메모리시스템.
  13. 청구항 5에 있어서,
    상기 복수의 데이터블록중 특정의 데이터블록은 개서 임계치 횟수데이터의 기억영역을 갖고,
    상기 컨트롤러는 상기 개서 임계치 횟수데이터에 일치하는 개서횟수를 상기 개서횟수의 소정치라고 판정하는 것을 특징으로 하는 메모리시스템.
  14. 청구항 7 내지 청구항 12 중 어느 한 항에 있어서,
    불휘발성메모리는 플래시메모리이고, 상기 논리 어드레스정보는 8비트 이상인 것을 특징으로 하는 메모리시스템.
  15. 청구항 1 내지 청구항 3 중 어느 한 항에 있어서,
    상기 에러검사정보는 ECC코드인 것을 특징으로 하는 메모리시스템.
  16. 청구항 15에 있어서,
    상기 컨트롤러는 외부 인터페이스회로, 버퍼, CPU, ECC회로, 및 메모리 인터페이스회로를 갖는 것을 특징으로 하는 메모리시스템.
KR1020040006998A 2003-02-07 2004-02-03 메모리시스템 KR101056800B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003030292A JP4073799B2 (ja) 2003-02-07 2003-02-07 メモリシステム
JPJP-P-2003-00030292 2003-02-07

Publications (2)

Publication Number Publication Date
KR20040072036A KR20040072036A (ko) 2004-08-16
KR101056800B1 true KR101056800B1 (ko) 2011-08-16

Family

ID=32820854

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040006998A KR101056800B1 (ko) 2003-02-07 2004-02-03 메모리시스템

Country Status (5)

Country Link
US (3) US7137027B2 (ko)
JP (1) JP4073799B2 (ko)
KR (1) KR101056800B1 (ko)
CN (1) CN1571069A (ko)
TW (1) TW200417860A (ko)

Families Citing this family (105)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8027194B2 (en) * 1988-06-13 2011-09-27 Samsung Electronics Co., Ltd. Memory system and method of accessing a semiconductor memory device
US7664987B2 (en) * 2003-05-25 2010-02-16 Sandisk Il Ltd. Flash memory device with fast reading rate
US7173852B2 (en) * 2003-10-03 2007-02-06 Sandisk Corporation Corrected data storage and handling methods
KR100541642B1 (ko) * 2004-03-11 2006-01-10 삼성전자주식회사 플래시 메모리의 데이터 관리 장치 및 방법
JP2006048783A (ja) 2004-08-02 2006-02-16 Renesas Technology Corp 不揮発性メモリおよびメモリカード
JP2006107363A (ja) * 2004-10-08 2006-04-20 Toshiba Corp 携帯可能電子装置と携帯可能電子装置に用いられるメモリアクセス方法
JP4261462B2 (ja) * 2004-11-05 2009-04-30 株式会社東芝 不揮発性メモリシステム
US7315916B2 (en) * 2004-12-16 2008-01-01 Sandisk Corporation Scratch pad block
JP2006179101A (ja) * 2004-12-22 2006-07-06 Fujitsu Ltd 半導体記憶装置
US7424648B2 (en) * 2005-03-10 2008-09-09 Matsushita Electric Industrial Co., Ltd. Nonvolatile memory system, nonvolatile memory device, data read method, and data read program
TWI308741B (en) * 2005-06-03 2009-04-11 Quanta Storage Inc A method of defect areas management
US20070011513A1 (en) * 2005-06-13 2007-01-11 Intel Corporation Selective activation of error mitigation based on bit level error count
US7590913B2 (en) * 2005-12-29 2009-09-15 Intel Corporation Method and apparatus of reporting memory bit correction
KR100744122B1 (ko) * 2006-01-12 2007-08-01 삼성전자주식회사 하이브리드 하드디스크 드라이브의 제어 방법, 이에 적합한기록 매체 그리고 이에 적합한 장치
JP2007214786A (ja) * 2006-02-08 2007-08-23 Toshiba Corp 携帯型撮像装置
US20070226401A1 (en) * 2006-03-21 2007-09-27 Pa-Chung Huang Data accessing structure and method for flash memory
KR100854970B1 (ko) * 2007-01-08 2008-08-28 삼성전자주식회사 멀티 레벨 셀 플래시 메모리 장치 및 그것의 프로그램 방법
US20080072119A1 (en) * 2006-08-31 2008-03-20 Rodney Rozman Allowable bit errors per sector in memory devices
KR100802059B1 (ko) * 2006-09-06 2008-02-12 삼성전자주식회사 읽기 디스터브로 인한 배드 블록의 생성을 억제할 수 있는메모리 시스템 및 그것의 동작 방법
DE102007033746A1 (de) 2006-10-12 2008-04-17 Giesecke & Devrient Gmbh Verwaltung von Datenobjekten in einem Haldenspeicher
US8145983B1 (en) * 2006-11-08 2012-03-27 Marvell International Ltd. Methods and apparatus for identification of likely errors in data blocks
JP4575346B2 (ja) 2006-11-30 2010-11-04 株式会社東芝 メモリシステム
US7929372B2 (en) * 2007-01-25 2011-04-19 Samsung Electronics Co., Ltd. Decoder, memory system, and physical position converting method thereof
KR100929155B1 (ko) * 2007-01-25 2009-12-01 삼성전자주식회사 반도체 메모리 장치 및 그것의 메모리 셀 억세스 방법
KR100877609B1 (ko) * 2007-01-29 2009-01-09 삼성전자주식회사 버퍼 메모리의 플래그 셀 어레이를 이용하여 데이터 오류 정정을 수행하는 반도체 메모리 시스템 및 그 구동 방법
JP5283845B2 (ja) 2007-02-07 2013-09-04 株式会社メガチップス ビットエラーの予防方法、情報処理装置
JP2008198310A (ja) * 2007-02-15 2008-08-28 Megachips Lsi Solutions Inc ビットエラーの修復方法および情報処理装置
JP5051514B2 (ja) * 2007-02-23 2012-10-17 日本電気株式会社 メモリエラーパターン記録システム、メモリエラーパターン記録方法
US7856576B2 (en) * 2007-04-25 2010-12-21 Hewlett-Packard Development Company, L.P. Method and system for managing memory transactions for memory repair
US7765426B2 (en) * 2007-06-07 2010-07-27 Micron Technology, Inc. Emerging bad block detection
JP4444314B2 (ja) 2007-07-13 2010-03-31 株式会社東芝 半導体メモリ情報蓄積装置とその書き込み制御方法
JP2008310896A (ja) * 2007-06-15 2008-12-25 Spansion Llc 不揮発性記憶装置、不揮発性記憶システムおよび不揮発性記憶装置の制御方法
TWI372397B (en) * 2007-08-06 2012-09-11 Ind Tech Res Inst Method and system of defect management for storage medium
US8001444B2 (en) * 2007-08-08 2011-08-16 Intel Corporation ECC functional block placement in a multi-channel mass storage device
US7770079B2 (en) * 2007-08-22 2010-08-03 Micron Technology Inc. Error scanning in flash memory
JP5059524B2 (ja) * 2007-09-05 2012-10-24 ルネサスエレクトロニクス株式会社 メモリ制御回路、半導体集積回路、不揮発性メモリのベリファイ方法
JP2009080884A (ja) * 2007-09-26 2009-04-16 Panasonic Corp 不揮発性半導体記憶装置
JP2009087509A (ja) * 2007-10-03 2009-04-23 Toshiba Corp 半導体記憶装置
TWI343001B (en) * 2007-11-13 2011-06-01 Ite Tech Inc Data preserving method and data accessing method for non-volatile memory
EP2215636B1 (de) * 2007-11-26 2014-07-23 Hyperstone GmbH VERFAHREN ZUR GLEICHMÄßIGEN NUTZUNG MEHRERER FLASHSPEICHERCHIPS
TWI368225B (en) * 2007-11-29 2012-07-11 Ind Tech Res Inst Recoding medium structure capable of displaying defect rate
JP4617405B2 (ja) * 2008-02-05 2011-01-26 富士通株式会社 不良メモリを検出する電子機器、不良メモリ検出方法およびそのためのプログラム
JP2009244962A (ja) * 2008-03-28 2009-10-22 Toshiba Corp メモリシステム
TWI381390B (zh) * 2008-04-10 2013-01-01 Phison Electronics Corp 快閃記憶體的損壞區塊辨識方法、儲存系統及其控制器
TWI415134B (zh) * 2008-04-10 2013-11-11 Phison Electronics Corp 資料存取方法、使用此方法的控制器與儲存系統
US8031521B1 (en) * 2008-05-20 2011-10-04 Marvell International Ltd. Reprogramming non-volatile memory devices for read disturbance mitigation
US20090327581A1 (en) * 2008-06-30 2009-12-31 Coulson Richard L Nand memory
KR100977709B1 (ko) * 2008-08-20 2010-08-24 주식회사 셀픽 플래시메모리 저장장치 및 그에 따른 관리 방법
WO2010043245A1 (de) * 2008-10-13 2010-04-22 Hyperstone Gmbh Verfahren zur sicherung eines ankerblocks in flashspeichern
KR20100041313A (ko) * 2008-10-14 2010-04-22 삼성전자주식회사 데이터 저장 방법, 데이터 저장 장치 및 그 시스템
CN101510168B (zh) * 2008-11-07 2012-06-27 慧帝科技(深圳)有限公司 一种快闪记忆体的存取方法和记忆体装置
JP2010123009A (ja) * 2008-11-21 2010-06-03 Kyocera Mita Corp 情報管理装置および情報管理方法
US8595593B2 (en) * 2008-12-24 2013-11-26 Hynix Semiconductor Inc. Nonvolatile memory device having a copy back operation and method of operating the same
KR101042197B1 (ko) * 2008-12-30 2011-06-20 (주)인디링스 메모리 컨트롤러 및 메모리 관리 방법
TWI401691B (zh) * 2009-03-20 2013-07-11 Phison Electronics Corp 具快閃記憶體測試功能的控制器及其儲存系統與測試方法
JP2010237822A (ja) * 2009-03-30 2010-10-21 Toshiba Corp メモリコントローラおよび半導体記憶装置
CN101853693A (zh) * 2009-04-02 2010-10-06 智微科技股份有限公司 储存装置以及延长储存装置的使用寿命的方法
CN101930406B (zh) * 2009-06-18 2013-06-12 慧国(上海)软件科技有限公司 非易失性存储器的写入错误管理方法、存储卡、及控制器
US20100332922A1 (en) * 2009-06-30 2010-12-30 Mediatek Inc. Method for managing device and solid state disk drive utilizing the same
US8453021B2 (en) 2009-07-29 2013-05-28 Stec, Inc. Wear leveling in solid-state device
US8266481B2 (en) * 2009-07-29 2012-09-11 Stec, Inc. System and method of wear-leveling in flash storage
US8479061B2 (en) * 2009-09-24 2013-07-02 AGIGA Tech Solid state memory cartridge with wear indication
US8312349B2 (en) * 2009-10-27 2012-11-13 Micron Technology, Inc. Error detection/correction based memory management
US8634240B2 (en) * 2009-10-28 2014-01-21 SanDisk Technologies, Inc. Non-volatile memory and method with accelerated post-write read to manage errors
US8230255B2 (en) 2009-12-15 2012-07-24 International Business Machines Corporation Blocking write acces to memory modules of a solid state drive
JP5661313B2 (ja) * 2010-03-30 2015-01-28 キヤノン株式会社 記憶装置
JP5508089B2 (ja) * 2010-03-30 2014-05-28 キヤノン株式会社 記録装置
US9268632B2 (en) 2010-09-24 2016-02-23 Rambus Inc. Memory device with ECC history table
JP5263251B2 (ja) * 2010-09-27 2013-08-14 富士通セミコンダクター株式会社 半導体記憶装置
TWI420308B (zh) * 2010-10-13 2013-12-21 Phison Electronics Corp 區塊管理方法、記憶體控制器與記憶體儲存裝置
JP4865085B1 (ja) * 2010-12-10 2012-02-01 株式会社エクスプロア 発光表示スティック
US9195530B1 (en) 2011-09-06 2015-11-24 Western Digital Technologies, Inc. Systems and methods for improved data management in data storage systems
US8700834B2 (en) 2011-09-06 2014-04-15 Western Digital Technologies, Inc. Systems and methods for an enhanced controller architecture in data storage systems
US8707104B1 (en) 2011-09-06 2014-04-22 Western Digital Technologies, Inc. Systems and methods for error injection in data storage systems
US8713357B1 (en) * 2011-09-06 2014-04-29 Western Digital Technologies, Inc. Systems and methods for detailed error reporting in data storage systems
JP2013068993A (ja) * 2011-09-20 2013-04-18 Toshiba Corp メモリコントローラ
JP2013069183A (ja) * 2011-09-26 2013-04-18 Toshiba Corp コントローラおよびメモリシステム
US8627158B2 (en) * 2011-12-08 2014-01-07 International Business Machines Corporation Flash array built in self test engine with trace array and flash metric reporting
US9053008B1 (en) 2012-03-26 2015-06-09 Western Digital Technologies, Inc. Systems and methods for providing inline parameter service in data storage devices
JP5929456B2 (ja) * 2012-04-17 2016-06-08 ソニー株式会社 記憶制御装置、記憶装置、情報処理システム、および、それらにおける処理方法
JP5867264B2 (ja) * 2012-04-24 2016-02-24 ソニー株式会社 記憶制御装置、メモリシステム、情報処理システム、および、記憶制御方法
JP5892000B2 (ja) * 2012-08-24 2016-03-23 ソニー株式会社 記憶制御装置、不揮発性メモリ、および、メモリ制御方法
US9519531B2 (en) * 2012-11-27 2016-12-13 Samsung Electronics Co., Ltd. Memory devices and memory systems having the same
JP2013137792A (ja) * 2013-02-28 2013-07-11 Toshiba Corp 電子機器及びその制御方法
JP6102515B2 (ja) * 2013-05-24 2017-03-29 富士通株式会社 情報処理装置、制御回路、制御プログラム、および制御方法
CN105489246B (zh) * 2014-09-16 2018-10-19 华邦电子股份有限公司 Nor闪存及其修补方法
KR20230003301A (ko) * 2015-02-26 2023-01-05 가부시키가이샤 한도오따이 에네루기 켄큐쇼 메모리 시스템 및 정보 처리 시스템
JP6901831B2 (ja) 2015-05-26 2021-07-14 株式会社半導体エネルギー研究所 メモリシステム、及び情報処理システム
KR102565918B1 (ko) * 2016-02-24 2023-08-11 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작방법
CN111951855B (zh) * 2016-04-27 2022-05-10 慧荣科技股份有限公司 存取闪存模块的方法及相关的闪存控制器与记忆装置
CN111679787B (zh) 2016-04-27 2023-07-18 慧荣科技股份有限公司 闪存装置、闪存控制器及闪存存储管理方法
US10019314B2 (en) 2016-04-27 2018-07-10 Silicon Motion Inc. Flash memory apparatus and storage management method for flash memory
US10191854B1 (en) 2016-12-06 2019-01-29 Levyx, Inc. Embedded resilient distributed dataset systems and methods
KR20180091989A (ko) * 2017-02-06 2018-08-17 에스케이하이닉스 주식회사 연장된 제품 수명을 갖는 메모리장치 및 그 동작방법
EP3454216B1 (en) * 2017-09-08 2020-11-18 Nxp B.V. Method for protecting unauthorized data access from a memory
KR20190052315A (ko) * 2017-11-08 2019-05-16 에스케이하이닉스 주식회사 메모리 장치 및 그것을 포함하는 메모리 시스템
FR3077655A1 (fr) * 2018-02-05 2019-08-09 Proton World International N.V. Gestion d'une memoire non volatile
US10846165B2 (en) * 2018-05-17 2020-11-24 Micron Technology, Inc. Adaptive scan frequency for detecting errors in a memory system
CN110610737B (zh) * 2018-06-14 2021-10-29 珠海兴芯存储科技有限公司 存储器的修复方法
KR102634338B1 (ko) * 2018-10-08 2024-02-07 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
TWI697006B (zh) * 2019-05-09 2020-06-21 點序科技股份有限公司 快閃記憶體管理方法及快閃記憶體
CN110473586B (zh) * 2019-07-31 2021-05-14 珠海博雅科技有限公司 一种写失效存储单元的替换方法、装置、设备及存储介质
KR20220167077A (ko) * 2021-06-11 2022-12-20 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
US11929127B2 (en) * 2021-08-31 2024-03-12 Micron Technology, Inc. Selective data pattern write scrub for a memory system
CN117008833A (zh) * 2023-07-21 2023-11-07 汇钜电科(东莞)实业有限公司 Nand闪存中数据可靠存储的方法、装置及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002008381A (ja) 2000-06-21 2002-01-11 Seiko Epson Corp 半導体装置

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5268870A (en) * 1988-06-08 1993-12-07 Eliyahou Harari Flash EEPROM system and intelligent programming and erasing methods therefor
DE69033262T2 (de) * 1989-04-13 2000-02-24 Sandisk Corp EEPROM-Karte mit Austauch von fehlerhaften Speicherzellen und Zwischenspeicher
US6347051B2 (en) * 1991-11-26 2002-02-12 Hitachi, Ltd. Storage device employing a flash memory
JP3178909B2 (ja) * 1992-01-10 2001-06-25 株式会社東芝 半導体メモリ装置
JPH0896589A (ja) 1994-09-28 1996-04-12 Nec Corp 半導体記憶装置
JP2671860B2 (ja) * 1995-03-30 1997-11-05 日本電気株式会社 フラッシュメモリ用ファイルシステム
US5884323A (en) * 1995-10-13 1999-03-16 3Com Corporation Extendible method and apparatus for synchronizing files on two different computer systems
JP3145925B2 (ja) * 1996-07-18 2001-03-12 株式会社小糸製作所 車輌用前照灯
JPH1049360A (ja) * 1996-08-06 1998-02-20 Nec Eng Ltd フラッシュメモリへの書き込み方式
US6000006A (en) * 1997-08-25 1999-12-07 Bit Microsystems, Inc. Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage
KR200221001Y1 (ko) 1997-10-13 2001-06-01 에릭 발리베 시동전동기용 스톱퍼
JP3729638B2 (ja) * 1998-04-22 2005-12-21 富士通株式会社 メモリデバイス
US6108236A (en) * 1998-07-17 2000-08-22 Advanced Technology Materials, Inc. Smart card comprising integrated circuitry including EPROM and error check and correction system
JP3870563B2 (ja) * 1998-07-22 2007-01-17 株式会社デンソー 電子制御装置及び不揮発性メモリの書き換え回数計数方法
AU7313600A (en) * 1999-09-17 2001-04-24 Hitachi Limited Storage where the number of error corrections is recorded
JP2001229069A (ja) 2000-02-17 2001-08-24 Dainippon Printing Co Ltd Icモジュール
US6941505B2 (en) * 2000-09-12 2005-09-06 Hitachi, Ltd. Data processing system and data processing method
JP4278879B2 (ja) * 2001-02-27 2009-06-17 株式会社オートネットワーク技術研究所 車両周辺視認装置
US7467274B2 (en) * 2001-12-31 2008-12-16 Hewlett-Packard Development Company, L.P. Method to increase the life span of limited cycle read/write media
JP2004133969A (ja) * 2002-10-08 2004-04-30 Renesas Technology Corp 半導体装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002008381A (ja) 2000-06-21 2002-01-11 Seiko Epson Corp 半導体装置

Also Published As

Publication number Publication date
US20040156251A1 (en) 2004-08-12
US8103899B2 (en) 2012-01-24
CN1571069A (zh) 2005-01-26
JP2004240793A (ja) 2004-08-26
US20090037767A1 (en) 2009-02-05
KR20040072036A (ko) 2004-08-16
TWI324303B (ko) 2010-05-01
US20070038901A1 (en) 2007-02-15
US7137027B2 (en) 2006-11-14
JP4073799B2 (ja) 2008-04-09
US7447936B2 (en) 2008-11-04
TW200417860A (en) 2004-09-16

Similar Documents

Publication Publication Date Title
KR101056800B1 (ko) 메모리시스템
US8412879B2 (en) Hybrid implementation for error correction codes within a non-volatile memory system
JP3937214B2 (ja) エラー訂正回数を記録する記憶装置
EP0862762B1 (en) Semiconductor memory device having error detection and correction
US8713381B2 (en) Systems and methods of using dynamic data for wear leveling in solid-state devices
KR101522744B1 (ko) 새로운 불량 블록 검출
KR101029938B1 (ko) 플래시 메모리 시스템 개시 동작
US9799405B1 (en) Nonvolatile memory system with read circuit for performing reads using threshold voltage shift read instruction
US9092361B2 (en) Nonvolatile storage device, memory controller, and defective region detection method
KR100321302B1 (ko) 플래시 메모리의 제어 방법, 및 이 제어 방법을 이용한플래시 메모리 시스템과 이 제어 방법을 이용한 플래시메모리 칩
US7054991B2 (en) Method for controlling non-volatile semiconductor memory system
WO2015097956A1 (en) Extending useful life of a non-volatile memory by health grading
US20180253240A1 (en) Open block handling to reduce write errors
US20090193058A1 (en) System and method for providing copyback data integrity in a non-volatile memory system
US20070266297A1 (en) Controller and storage device having the same
US10423524B2 (en) Memory storage device, control circuit unit and method including storing logical-to-physical table bit map information in a management unit and not storing identical data content
KR100692982B1 (ko) 배드 블럭 정보가 기록된 난드 타입의 플래시 메모리
KR20120070408A (ko) 블록을 관리하는 비휘발성 메모리 장치의 제어 방법
CN111949196A (zh) 一种数据重建方法、装置及存储设备

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20140721

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150716

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170206

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170720

Year of fee payment: 7