KR20050009045A - 플래시 메모리를 이용한 기억장치 및 그 에러 복구 방법 - Google Patents

플래시 메모리를 이용한 기억장치 및 그 에러 복구 방법 Download PDF

Info

Publication number
KR20050009045A
KR20050009045A KR1020030048295A KR20030048295A KR20050009045A KR 20050009045 A KR20050009045 A KR 20050009045A KR 1020030048295 A KR1020030048295 A KR 1020030048295A KR 20030048295 A KR20030048295 A KR 20030048295A KR 20050009045 A KR20050009045 A KR 20050009045A
Authority
KR
South Korea
Prior art keywords
block
data
flash memory
write
memory
Prior art date
Application number
KR1020030048295A
Other languages
English (en)
Other versions
KR100654343B1 (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 주식회사 레인콤
Priority to KR1020030048295A priority Critical patent/KR100654343B1/ko
Publication of KR20050009045A publication Critical patent/KR20050009045A/ko
Application granted granted Critical
Publication of KR100654343B1 publication Critical patent/KR100654343B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Abstract

본 발명은 플래시 메모리를 이용하는 기억장치 및 그 기억장치의 에러 복구 방법을 개시한다.
본 발명의 플래시 메모리를 이용한 기억장치는 플래시 메모리에 저장될 데이터와 외부로 출력될 데이터를 임시 저장하는 버퍼, 플래시 메모리에 저장될 데이터의 논리적 블럭주소(Logical Block Address)와 이에 대응되는 플래시 메모리의 물리적 블럭주소(Physical Block Address)의 매핑정보를 저장하는 블럭매핑테이블, 및 블럭매핑테이블의 매핑정보에 따라 플래시 메모리에 대한 데이터 리드/라이트를 제어하며, 버퍼의 데이터로 플래시 메모리의 제 1 블럭을 갱신시 제 2 블럭을 할당받아 버퍼의 데이터를 라이트한 후 제 1 블럭의 데이터를 삭제하는 메모리 제어부를 구비하여, 새로 할당받은 제 2 블럭에 대한 데이터 저장이 정상적으로 완료된 경우에만 제 1 블럭의 데이터를 삭제함으로써, 플래시 메모리에서 메타 데이터 영역에 대한 데이터 갱신시 에러가 발생하여도 이전의 데이터를 용이하게 복원할 수 있도록 해준다.

Description

플래시 메모리를 이용한 기억장치 및 그 에러 복구 방법{Memory device and error correction method using flash memory}
본 발명은 플래시 메모리(Flash Memory)에 관한 것으로서, 보다 상세하게는 플래시 메모리를 디스크 장치로 사용하는 시스템에서 플래시 메모리의 메타 데이터 영역에 대한 데이터 라이트시 발생되는 에러를 용이하게 복구할 수 있도록 해주는 기억장치 및 그 에러 복구 방법에 관한 것이다.
플래시 메모리는 EEPROM(Electrically erasable programmable read-onlymemory)의 변형된 형태로 일반적인 EEPROM과는 달리 블록단위로 데이터를 삭제하거나 수정한다. 이러한 플래시 메모리는 PC카드(PCMCIA)로서 하드디스크 대용으로 사용되기도 하는데, 하드디스크와 달리 기계적인 운동부분이 없어 하드디스크에 비해 전력소모가 매우 적어 노트북 컴퓨터과 같은 휴대형 정보기기들에 많이 이용되고 있다.
플래시 메모리에 데이터를 라이트하고자 할 때, 플래시 메모리의 특성상 라이트하고자 하는 영역에 이미 데이터가 저장되어 있으면 해당 영역이 포함된 블럭을 리라이트전에 삭제하여야 한다. 즉, 플래시 메모리에서는 일정 영역(블럭)에 한번 데이터를 저장하고 같은 영역에 새로운 데이터를 리라이트(갱신) 할 때, 먼저 해당 영역을 포함하는 블럭의 데이터를 삭제하고 나서 해당 블럭에 데이터를 라이트하게 된다.
하지만, 데이터 라이트 중 전원의 공급이 갑자기 끊어지거나 기타 충격으로 인해 섹터 또는 블럭 단위의 에러가 발생하는 경우 이에 대한 에러 복구에 어려움이 있었다. 특히, 실제 사용자 데이터를 저장하는 일반 데이터 영역이 아닌 파일정보를 저장하는 메타 데이터 영역에 대한 라이트(데이터 갱신) 중에 이러한 에러가 발생하게 되면, 디스크를 인식하지 못하게 되어 시스템이 제대로 부팅되지 않는 상황이 발생할 수 도 있다. 더욱이, 이러한 문제가 발생되면 디스크를 다시 포맷해서 사용해야 되는데 그렇게 되면 기존에 저장되어 있던 다른 데이터들도 삭제되므로 중요한 데이터가 사라질 수 있는 심각한 상황이 발생할 수 도 있게 된다.
따라서, 상술된 문제를 해결하기 위한 본 발명의 목적은 플래시 메모리에 대한 데이터 라이트 방법을 개선하여 플래시 메모리의 메타 데이터 영역에 대한 데이터 갱신 중 에러가 발생하더라도 용이하게 시스템을 원래대로 복구할 수 있도록 하는데 있다.
도 1은 본 발명에 따른 기억장치의 구성을 나타내는 구성도.
도 2는 본 발명에 따른 에러 복구를 위한 전처리 과정으로서 플래시 메모리에 데이터를 라이트하는 과정을 설명하기 위한 순서도.
도 3은 새로 할당받은 블럭에 데이터를 라이트 하는 원리를 설명하기 위한 개념도.
도 4는 도 2의 데이터 라이트 과정 중 에러가 발생하는 경우 이를 복구하는 과정을 설명하기 위한 순서도.
위와 같은 목적을 달성하기 위한 본 발명의 플래시 메모리를 이용한 기억장치는 상기 플래시 메모리에 저장될 데이터 및 외부로 출력될 데이터를 임시 저장하는 버퍼; 상기 플래시 메모리에 저장될 데이터의 논리적 블럭주소(Logical Block Address)와 이에 대응되는 상기 플래시 메모리의 물리적 블럭주소(Physical Block Address)의 매핑정보를 저장하는 블럭매핑테이블; 및 상기 블럭매핑테이블의 매핑정보에 따라 상기 플래시 메모리에 대한 데이터 리드 및 라이트를 제어하며, 상기 버퍼의 데이터로 상기 플래시 메모리의 제 1 블럭을 갱신시 제 2 블럭을 할당받아 상기 버퍼의 데이터를 라이트한 후 상기 제 1 블럭의 데이터를 삭제하는 메모리 제어부를 구비한다.
본 발명의 플래시 메모리를 이용한 기억장치의 에러 복구 방법은 상기 플래시 메모리의 제 1 블럭에 대한 데이터 갱신시 제 2 블럭을 할당받아 상기 제 2 블럭에 데이터를 저장하는 제 1 단계; 상기 제 2 블럭에 대한 데이터 저장 완료시, 상기 제 2 블럭의 일정 영역에 쓰기 완료 플래그를 세팅하는 제 2 단계; 및 상기 쓰기 시작 플래그와 상기 쓰기 완료 플래그의 세팅 여부에 따라 상기 제 2 블럭의 정상 여부를 판단하여 비 정상 블럭에 대한 에러 복구를 수행하는 제 3 단계를 포함한다.
이하, 첨부된 도면들을 참조하여 본 발명의 바람직한 실시예를 상세하게 설명한다.
도 1은 본 발명에 따른 기억장치의 구성을 나타내는 구성도이다.
파일 시스템(10)은 어플리케이션으로부터 요청 받은 파일 관련 작업들을 기억장치(20)로 전달한다.
본 발명의 기억장치(20)는 플래시 메모리(22), 버퍼(24), 블럭매핑테이블(26) 및 메모리 제어부(28)를 구비한다.
플래시 메모리(22)는 리드/라이트가 자유로우며, 전원이 꺼져도 저장된 데이터가 지워지지 않는 비휘발성 메모리로, 통상의 플래시 메모리와 동일하다. 도 1에서는 하나의 블럭(BK 0, BK 1, BK 2, …)이 32 섹터들(SECTOR 1 ∼ SECTOR 32)로 이루어진 플래시 메모리를 예시하고 있다. 플래시 메모리 내에는 파일정보가 저장되는 메타 데이터 영역과 실제 사용자 데이터가 저장되는 일반 데이터 영역으로 구분되며, 각 블럭에는 데이터 저장 영역과 해당 블럭에 대응되는 논리적 블록주소와, ECC(Error Correction Code) 데이터와, 블록의 상태 등의 정보가 저장되는 스페어 영역이 구비된다. 더욱이, 본 발명에서는 스페어 영역에 갱신 대상이 되는 블럭(이전 블럭)의 번호 및 해당 블럭에 대한 데이터 쓰기 시작과 쓰기 완료를 나타내는 플래그 세팅을 위한 공간(필드)를 구비한다.
버퍼(24)는 파일 시스템(10)과 기억장치(20) 사이에서 송·수신 되는 데이터들을 임시 저장한다.
블럭매핑테이블(26)은 데이터 저장을 위해 파일 시스템(10)에서 요구한 논리적 블럭주소(Logical Block Address)와 이에 대응되어 플래시 메모리(22)에서 실제 사용되는 물리적 블럭주소(Physical Block Address)에 대한 매핑정보를 저장한다.
메모리 제어부(28)는 시스템 부팅시 플래시 메모리(22) 블럭들의 스페어 영역에 저장된 블럭 정보를 스캔하여 플래시 메모리(22)에 대한 블럭매핑테이블(26)을 작성하고, 이를 참조하여 플래시 메모리(22)에 대한 리드/라이트를 제어한다. 이때, 메모리 제어부(28)는 파일 시스템(10)으로부터 버퍼(24)로 전송된 데이터를 플래시 메모리(22)의 특정 영역에 라이트시 해당 특정 영역이 포함된 블럭(이하, 제 1 블럭이라 함)에 이미 데이터가 저장되어 있는 경우, 즉 제 1 블럭의 데이터를 갱신하고자 하는 경우, 해당 데이터를 제 1 블럭에 라이트하지 않고 새로운 블럭(이하, 제 2 블럭이라 함)을 할당받은 후 제 2 블럭의 스페어 영역에 갱신되기 이전의 데이터가 저장되어 있는 제 1 블럭의 번호와 쓰기 시작 플래그(Flag)를 세팅한다. 그리고, 메모리 제어부(28)는 할당받은 제 2 블럭에 데이터를 라이트 한다.
다음에, 메모리 제어부(28)는 제 2 블럭에 대한 데이터 라이트가 정상적으로 완료되면, 제 2 블럭의 스페어 영역에 쓰기 완료 플래그를 세팅하고 블럭매핑테이블(26)을 제 2 블럭으로 매핑한 후 제 1 블럭(BK 0)의 데이터를 삭제한다. 결국, 메모리 제어부(28)는 라이트 하고자 하는 블럭에 데이터가 저장되어 있는 경우, 해당 블럭의 데이터를 삭제하지 않고 새로운 블럭을 할당받아 그곳에 데이터를 라이트한 후, 데이터 라이트가 정상적으로 완료되면 그때가서 원래 라이트 하고자 했던 블럭의 데이터를 삭제하는 것이다.
도 2는 본 발명에 따른 플래시 메모리의 에러 복구를 위한 전처리 과정으로서 플래시 메모리에 데이터를 라이트하는 과정을 설명하기 위한 순서도이다.
플래시 메모리(22)의 제 1 블럭(BK 0)의 데이터를 갱신하기 위해 파일 시스템(10)으로부터 버퍼(24)로 데이터가 전송되면, 메모리 제어부(28)는 제 1 블럭의 데이터를 삭제하지 않고 플래시 메모리(22)에서 데이터가 저장되어 있지 않은 제 2 블럭을 검색하여 제 2 블럭(BK 2)을 제 1 블럭(BK 0)의 데이터를 갱신하기 위한 블럭으로 할당한다(단계 201).
그리고, 메모리 제어부(28)는 할당된 제 2 블럭(BK 2)의 스페어 영역에 갱신되기 이전의 데이터가 저장된 제 1 블럭(BK 0)의 번호와 쓰기 시작 플래그를 세팅한다(단계 202).
세팅이 완료되면, 제 2 블럭(BK 2)에 데이터를 라이트한다(단계 203).
도 3은 새로 할당받은 제 2 블럭에 데이터를 라이트 하는 방법을 설명하기 위한 개념도이다.
플래시 메모리(22)에서는 블럭 단위로 데이터를 삭제하기 때문에 블럭 중 어느 한 섹터의 내용만 갱신하려 하더라도 해당 섹터가 포함된 블럭 전체를 삭제해야 한다. 따라서, 메모리 제어부(28)는 제 1 블럭(BK 0) 중 제 3 섹터(SECTOR 3)의 데이터 만을 갱신하고자 하는 경우, 우선 제 1 블럭(BK 0) 중 제 3 섹터(SECTOR 3)를 제외한 섹터들(SECTOR 1, SECTOR 2, SECTOR 4 ∼ SECTOR 32)을 제 2 블럭(BK 2)의 대응되는 섹터들로 이동시킨다. 다음에, 메모리 제어부(18)는 제 2 블럭(BK 2)의 제 3 섹터(SECTOR 3)에는 버퍼(24)에 저장된 갱신하고자 하는 새로운 데이터를라이트한다.
제 2 블럭(BK 2)에 대한 데이터 라이트가 정상적으로 완료되면, 메모리 제어부(28)는 제 2 블럭(BK 2)의 스페어 영역에 쓰기 완료 플래그를 세팅하고, 블럭매핑테이블(26)에 제 1 블럭(BK 0)이 아닌 제 2 블럭(BK 2)을 해당 논리적 블럭주소와 매핑시켜 저장한다(단계 204). 즉, 데이터 라이트 도중에 전원차단 등의 에러가 발생하여 제 2 블럭(BK 2)에 대한 데이터 라이트가 정상적으로 완료되지 못한 경우, 메모리 제어부(28)는 제 2 블럭(BK 2)의 스페어 영역에 쓰기 완료 플래그가 세팅하지 못하게 되어 제 2 블럭(BK 2)의 스페어 영역에는 쓰기 시작 플래그만 세팅되어 있게 된다.
쓰기 완료 플래그가 세팅된 후, 메모리 제어부(28)는 제 1 블럭(BK 0)을 재 사용할 수 있도록 제 1 블럭의(BK 0) 데이터를 삭제하거나 제 1 블럭(BK 0)의 스페어 영역에 삭제 대상 플래그를 세팅하여 향후 다른 블럭들과 같이 삭제될 수 있도록 한다(단계 205).
도 4는 도 2의 데이터 라이트 과정 중 에러가 발생하는 경우 이를 복구하는 과정을 설명하기 위한 순서도이다.
시스템 전원이 온(ON)되면, 메모리 제어부(28)는 플래시 메모리(22)의 각 블럭들(BK 0, BK 1, ¨ )을 스캔하여 블럭 정보를 수집하게 되는데, 이때 각 블럭들(BK 0, BK 1, ¨ )의 스페어 영역에 쓰기 시작 플래그와 쓰기 완료 플래그가 세팅되어 있는지를 확인한다(단계 301).
쓰기 시작 플래그와 쓰기 완료 플래그가 세팅되어 있으면, 해당 블럭은 정상적으로 데이터 라이트가 완료된 것을 의미하며, 쓰기 시작 플래그는 세팅되어 있는데 쓰기 완료 플래그가 세팅되어 있지 않으면 데이터 라이트 도중 에러가 발생하여 데이터가 정상적으로 라이트되지 못했다는 것을 의미한다.
즉, 메모리 제어부(28)는 블럭 정보를 수집할 때, 쓰기 완료 플래그가 세팅되어 있으면 이를 정상 블럭으로 간주하고 쓰기 완료 플래그가 세팅되어 있지 않고 쓰기 시작 플래그만 세팅되어 있으면 이를 비 정상 블럭으로 간주하여 비 정상 블럭에 대한 에러 복구를 수행한다(단계 302).
따라서, 쓰기 완료 플래그가 세팅되어 있지 않은 블럭(제 2 블럭)에 대해, 메모리 제어부(28)는 제 2 블럭(BK 2)의 이전 블럭인 제 1 블럭의 번호(주소)를 스페어 영역에서 읽어들여 제 1 블럭(BK 0)을 유효 블럭으로 지정한다(단계 303). 이러한 이전 블럭인 제 1 블럭(BK 0)에 대한 정보는 도 2에서와 같은 데이터 라이트 방법에 의해 새로 할당된 블럭(제 2 블럭)의 스페어 영역에 데이터 라이트 이전에 저장되므로 제 2 블럭(BK 2)에 데이터가 정상적으로 라이트되지 않았더라도 스페어 영역에 저장되게 된다.
다음에, 메모리 제어부(28)는 비 정상 블럭인 제 2 블럭(BK 2)을 재 사용하기 위해 제 2 블럭(BK 2)의 데이터를 삭제한다(단계 304).
상술한 바와 같이, 본 발명의 에러 복구 방법은 플래시 메모리의 특정 블럭에 대한 데이터 갱신시 해당 특정 블럭의 데이터를 삭제하지 않은 상태에서 새로운 블럭을 할당받아 그 곳에 데이터를 저장한 후, 새로 할당받은 블럭에 대한 데이터저장이 정상적으로 완료된 경우에만 이전 블럭(특정 블럭)의 데이터를 삭제함으로써, 플래시 메모리에서 메타 데이터 영역에 대한 데이터 갱신시 에러가 발생하여도 이전의 데이터를 용이하게 복원할 수 있으므로 시스템을 안정적으로 동작시킬 수 있게 된다.

Claims (8)

  1. 플래시 메모리를 메모리 소자로 이용하는 기억장치에 있어서,
    상기 플래시 메모리에 저장될 데이터 및 외부로 출력될 데이터를 임시 저장하는 버퍼;
    상기 플래시 메모리에 저장될 데이터의 논리적 블럭주소(Logical Block Address)와 이에 대응되는 상기 플래시 메모리의 물리적 블럭주소(Physical Block Address)의 매핑정보를 저장하는 블럭매핑테이블; 및
    상기 블럭매핑테이블의 매핑정보에 따라 상기 플래시 메모리에 대한 데이터 리드 및 라이트를 제어하며, 상기 버퍼의 데이터로 상기 플래시 메모리의 제 1 블럭을 갱신시 제 2 블럭을 할당받아 상기 버퍼의 데이터를 상기 제 2 블럭에 라이트한 후 상기 제 1 블럭의 데이터를 삭제하는 메모리 제어부를 구비하는 플래시 메모리를 이용하는 기억장치.
  2. 제 1 항에 있어서, 상기 제 1 블럭 및 제 2 블럭은
    스페어 영역에 갱신 대상 블럭의 번호 및 데이터 쓰기 시작과 완료을 나타내는 쓰기 시작 플래그와 쓰기 완료 플래그 세팅을 위한 필드를 구비하는 것을 특징으로 하는 플래시 메모리를 이용하는 기억장치.
  3. 제 2 항에 있어서, 상기 메모리 제어부는
    상기 제 2 블럭에 데이터 라이트시, 상기 제 2 블럭의 스페어 영역에 상기 제 1 블럭의 번호와 상기 쓰기 시작 플래그를 세팅하는 것을 특징으로 하는 플래시 메모리를 이용하는 기억장치.
  4. 제 3 항에 있어서, 상기 메모리 제어부는
    상기 제 2 블럭에 대한 데이터 라이트 완료시, 상기 제 2 블럭의 상기 일정 영역에 쓰기 완료 플래그를 세팅하는 것을 특징으로 하는 플래시 메모리를 이용한 기억장치.
  5. 제 4 항에 있어서, 상기 메모리 제어부는
    시스템 부팅을 위해 상기 플래시 메모리 스캔시, 상기 제 2 블럭의 상기 일정 영역에 상기 쓰기 시작 플래그는 세팅되어 있으나 쓰기 완료 플래그가 세팅되지 않은 경우 상기 제 2 블럭의 상기 일정 영역에 저장된 상기 제 1 블럭의 번호를 이용해 상기 제 1 블럭을 유효 블럭으로 지정하고 상기 제 2 블럭의 데이터를 삭제하는 것을 특징으로 하는 플래시 메모리를 이용한 기억장치.
  6. 플래시 메모리에 발생된 에러를 복구하는 방법에 있어서,
    상기 플래시 메모리의 제 1 블럭에 대한 데이터 갱신시 제 2 블럭을 할당받아 상기 제 2 블럭에 데이터를 저장하는 제 1 단계;
    상기 제 2 블럭에 대한 데이터 저장 완료시, 상기 제 2 블럭의 일정 영역에쓰기 완료 플래그를 세팅하는 제 2 단계; 및
    상기 쓰기 완료 플래그의 세팅 여부에 따라 상기 제 2 블럭의 정상 여부를 판단하여 비 정상 블럭에 대한 에러 복구를 수행하는 제 3 단계를 포함하는 플래시 메모리를 이용한 기억장치의 에러 복구 방법.
  7. 제 6 항에 있어서, 상기 제 1 단계는
    상기 갱신할 데이터를 상기 제 2 블럭에 저장시 상기 제 2 블럭의 상기 일정 영역에 상기 제 1 블럭의 번호와 쓰기 시작 플래그를 저장하는 것을 특징으로 하는 플래시 메모리를 이용한 기억장치의 에러 복구 방법.
  8. 제 7 항에 있어서, 상기 제 3 단계는
    상기 쓰기 시작 플래그는 세팅되어 있으나 상기 쓰기 완료 플래그가 세팅되지 않은 상기 제 2 블럭은 비 정상 블럭으로 간주하여 상기 일정 영역에 저장된 상기 제 1 블럭의 번호를 이용하여 상기 제 1 블럭을 유효 블럭으로 지정하고 상기 제 2 블럭의 데이터는 삭제하는 것을 특징으로 하는 플래시 메모리를 이용한 기억장치의 에러 복구 방법.
KR1020030048295A 2003-07-15 2003-07-15 플래시 메모리를 이용한 기억장치 및 그 에러 복구 방법 KR100654343B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030048295A KR100654343B1 (ko) 2003-07-15 2003-07-15 플래시 메모리를 이용한 기억장치 및 그 에러 복구 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030048295A KR100654343B1 (ko) 2003-07-15 2003-07-15 플래시 메모리를 이용한 기억장치 및 그 에러 복구 방법

Publications (2)

Publication Number Publication Date
KR20050009045A true KR20050009045A (ko) 2005-01-24
KR100654343B1 KR100654343B1 (ko) 2006-12-05

Family

ID=37221945

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030048295A KR100654343B1 (ko) 2003-07-15 2003-07-15 플래시 메모리를 이용한 기억장치 및 그 에러 복구 방법

Country Status (1)

Country Link
KR (1) KR100654343B1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100714873B1 (ko) * 2005-09-06 2007-05-07 삼성전자주식회사 비휘발성 메모리에서 데이터 갱신 방법 및 이를 위한 장치
WO2007058624A1 (en) * 2005-11-17 2007-05-24 Chee Keng Chang A controller for non-volatile memories, and methods of operating the memory controller
KR100755718B1 (ko) * 2006-09-04 2007-09-05 삼성전자주식회사 멀티 레벨 셀 플래시 메모리에서 런-타임 배드 블록 관리를위한 장치 및 방법
US8055859B2 (en) 2006-09-13 2011-11-08 Samsung Electronics Co., Ltd. Apparatus and method for providing atomicity with respect to request of write operation for successive sector
US8503236B2 (en) 2010-03-02 2013-08-06 Samsung Electronics Co., Ltd. Nonvolatile memory device, methods of programming the nonvolatile memory device and memory system including the nonvolatile memory device

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100714873B1 (ko) * 2005-09-06 2007-05-07 삼성전자주식회사 비휘발성 메모리에서 데이터 갱신 방법 및 이를 위한 장치
WO2007058624A1 (en) * 2005-11-17 2007-05-24 Chee Keng Chang A controller for non-volatile memories, and methods of operating the memory controller
KR100755718B1 (ko) * 2006-09-04 2007-09-05 삼성전자주식회사 멀티 레벨 셀 플래시 메모리에서 런-타임 배드 블록 관리를위한 장치 및 방법
US8055859B2 (en) 2006-09-13 2011-11-08 Samsung Electronics Co., Ltd. Apparatus and method for providing atomicity with respect to request of write operation for successive sector
US8503236B2 (en) 2010-03-02 2013-08-06 Samsung Electronics Co., Ltd. Nonvolatile memory device, methods of programming the nonvolatile memory device and memory system including the nonvolatile memory device

Also Published As

Publication number Publication date
KR100654343B1 (ko) 2006-12-05

Similar Documents

Publication Publication Date Title
CN105701021B (zh) 数据储存装置及其数据写入方法
JP5035636B2 (ja) フラッシュメモリ内のブロックにおける移動セクタ
JP4058322B2 (ja) メモリカード
KR100531192B1 (ko) 비휘발성 메모리의 제어방법
KR100449708B1 (ko) 플래시 메모리 관리방법
US10503606B2 (en) Data backup method, data recovery method and storage controller
EP2955633B1 (en) Data erasing method and device for flash memory
US8949515B2 (en) Storage device and memory controller
JP3587842B2 (ja) データ書き換え装置およびデータ書き換え方法ならびにフラッシュメモリ装置
US20020085433A1 (en) Data management system and data management method
JP3827682B2 (ja) フラッシュメモリ、そのためのマッピング制御装置及び方法
JPH08137634A (ja) フラッシュディスクカード
KR20100080350A (ko) 전력 손실 이후의 비-휘발성 메모리에 대한 복원
JP2005242897A (ja) フラッシュディスク装置
KR100370893B1 (ko) 일괄 소거형 비휘발성 메모리 장치
US20100306447A1 (en) Data updating and recovering methods for a non-volatile memory array
US20100318726A1 (en) Memory system and memory system managing method
US10248526B2 (en) Data storage device and data maintenance method thereof
KR100654344B1 (ko) 플래시 메모리를 이용한 기억장치 및 그 에러 복구 방법
CN113885808A (zh) 映射信息记录方法以及存储器控制电路单元与存储装置
KR100932801B1 (ko) 메모리 관리 방법, 메모리 장치 및 컴퓨터 판독 가능 저장매체
KR100654343B1 (ko) 플래시 메모리를 이용한 기억장치 및 그 에러 복구 방법
CN111338562A (zh) 数据存储装置与数据处理方法
JP2004326523A (ja) 書き換え可能な不揮発性メモリを備えた記憶装置及び記憶装置用不揮発性メモリの制御方法
JP3826115B2 (ja) 記憶装置、メモリ管理方法及びプログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 20121130

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20131030

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20141020

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150914

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20161011

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20171020

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20180921

Year of fee payment: 13