KR100449708B1 - 플래시 메모리 관리방법 - Google Patents

플래시 메모리 관리방법 Download PDF

Info

Publication number
KR100449708B1
KR100449708B1 KR10-2001-0071401A KR20010071401A KR100449708B1 KR 100449708 B1 KR100449708 B1 KR 100449708B1 KR 20010071401 A KR20010071401 A KR 20010071401A KR 100449708 B1 KR100449708 B1 KR 100449708B1
Authority
KR
South Korea
Prior art keywords
flash memory
data
address translation
address
translation table
Prior art date
Application number
KR10-2001-0071401A
Other languages
English (en)
Other versions
KR20030040817A (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 KR10-2001-0071401A priority Critical patent/KR100449708B1/ko
Priority to JP2002318595A priority patent/JP2003167795A/ja
Priority to CNB021504377A priority patent/CN100424655C/zh
Priority to US10/294,906 priority patent/US7127551B2/en
Publication of KR20030040817A publication Critical patent/KR20030040817A/ko
Application granted granted Critical
Publication of KR100449708B1 publication Critical patent/KR100449708B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures

Abstract

플래시 메모리 관리방법이 개시된다.
본 발명에 따라 플래시 메모리를 관리하는 방법은 (a) 상기 플래시 메모리의 데이터 영역에 기록된 데이터의 논리 주소를 대응 스패어 영역에 기록하는 단계; 및 (b) 상기 스패어 영역에 기록된 정보를 스캐닝하여 주소 변환 테이블(mapping table)을 생성하는 단계를 포함하는 것을 특징으로 한다. 이에 의해 보다 효율적으로 플래시 메모리에 접근할 수 있게 된다. 또한, 갑작스럽게 전원이 오프되더라도 주소 변환 테이블을 용이하게 복구할 수 있다.

Description

플래시 메모리 관리방법{Flash memory management method}
본 발명은 플래시 메모리에 관한 것으로, 보다 상세하게는 플래시 메모리를 기반으로 한 시스템에 있어서 플래시 메모리를 관리하는 방법에 관한 것이다.
플래시 메모리는 전기적으로 데이터를 삭제하거나 다시 기록할 수 있는 비휘발성 기억소자이다. 마그네틱 디스크 메모리를 기반으로 한 저장장치에 비해 플래시 메모리를 기반으로 한 그것은 전력소모가 적으며 크기가 작아서 마그네틱 디스크 메모리의 대안으로서 연구 및 개발이 활발하게 진행되고 있다. 특히, 플래시 메모리는 디지털 카메라, 모바일 폰, PDA(Personal Digital Assistant)와 같은 모바일 컴퓨팅 기기를 위한 저장장치로서 각광받을 것이 예상된다.
그러나, 플래시 메모리는 데이터의 덮어쓰기가 자유로운 마그네틱 디스크 메모리와 달리 데이터의 덮어쓰기가 불가능하다. 플래시 메모리에 데이터를 덮어쓰기 위해서는 먼저 데이터를 삭제해야 한다. 즉, 메모리 셀들을 기록 가능한 초기상태로 되돌려놓아야 한다. 삭제는 일반적으로 기록에 비해 매우 긴 시간이 소요된다. 더욱이, 삭제는 기록보다 훨씬 큰 블록 단위로 수행되기 때문에 기록이 요청되지 않은 부분까지 함께 삭제되는 결과를 초래할 수 있다. 부득이하게 삭제된 부분은 재기록을 통해 복원되어야 하므로 최악의 경우 한 번의 데이터 기록 요청이 한 번의 삭제와 삭제된 단위 만큼의 기록을 필요로 하게 된다. 이와 같이 삭제와 기록의 실행 단위의 불일치로 인해 기록 수행 성능은 읽기의 그것에 비해 현저히 떨어지며, 심지어 기계동작으로 인한 필연적인 지연을 수반하게 되는 마그네틱 디스크 기반의 저장장치의 그것보다 낮다.
이와 같은 플래시 메모리의 특성으로 인해 플래시 메모리를 관리함에 있어서는 통상 재사상(re-mapping) 기법이 사용된다. 재사상 기법이란 수정될 데이터를 비어 있는 주소에 기록하고 주소 변환 테이블(mapping table)의 매핑정보를 갱신하는 것을 말한다. 즉, 요청된 논리 주소가 가리키는 물리 주소를 수정된 데이터가 기록된 물리 주소로 변경하는 것이다. 따라서, 응용 프로그램이나 응용 시스템은 동일한 논리 주소를 사용하여 데이터에 접근할 수 있게 된다.
도 1은 종래 플래시 메모리를 관리하는 방법을 설명하기 위한 개념도이다.
도 1을 참조하면, 기록 또는 읽기 요청된 논리 주소는 주소 변환 테이블을 참조하여 물리 주소로 변환한 다음 플래시 메모리의 해당 주소에 접근하여 해당 데이터를 기록하거나 읽어들인다.
이때 주소 변환 테이블이 존재하는 위치와 이를 참조하는 방식에 따라 다양한 관리 방법이 존재한다. 주소 변환 테이블이 플래시 메모리의 일정 부분에 위치하면 갑작스럽게 전원이 오프되더라도 데이터가 보존되므로 전원 오프시 주소 변환 테이블을 복구하기 위한 방안을 강구할 필요가 없는 장점이 있다. 반면, 주소 변환 테이블의 수정이 용이하지 않다. 즉, 전술한 바와 같은 플래시 메모리의 기록 특성으로 인해 소정 어플리케이션에 의한 작업을 수행하는 중 데이터가 삭제되거나 수정되거나 새로 기록되는 경우 이에 따라 주소 변환 테이블을 갱신하기 위해서는 많은 오버헤드 연산이 수행되어야 한다.
주소 변환 테이블이 메인 메모리(통상 DRAM)에 위치하는 경우 접근 시간이 짧고 갱신이 용이한 반면 갑작스럽게 전원이 오프되는 경우 데이터가 삭제되므로 주소 변환 테이블을 복구하기 위해서는 복잡하고 많은 시간이 소요되는 오버헤드 연산을 수행해야 한다.
이처럼 재사상 기법을 채용하게 되면 데이터 뿐 아니라 주소 변환 정보를 저장하고 관리하기 위한 저장 공간과 시간이 필요하게 된다. 따라서, 데이터를 읽거나 기록하는 과정을 보다 효율적으로 처리하는 방법을 개발하는 것이 관건이다. 더욱이, 플래시 메모리는 부분 기록(Partial Write)의 횟수가 제한되므로 데이터,사상 정보 등을 어떤 순서로 기록하는가가 시스템의 성능 향상에 영향을 줄 수 있으므로 더욱 그러하다.
따라서, 본 발명의 목적은 보다 수행성능이 향상된 플래시 메모리 관리방법을 제공하는 것이다.
본 발명의 다른 목적은 주소 변환 테이블을 간편하게 생성할 수 있는 플래시 메모리 관리방법을 제공하는 것이다.
본 발명의 또 다른 목적은 갑작스럽게 전원이 오프되더라도 용이하게 주소 변환 테이블을 복구할 수 있는 플래시 메모리 관리방법을 제공하는 것이다.
도 1은 종래 플래시 메모리를 관리하는 방법을 설명하기 위한 개념도,
도 2는 본 발명의 바람직한 실시예에 따른 플래시 메모리 시스템의 블록도,
도 3 및 4는 본 발명에 따른 플래시 메모리 시스템의 상세 구성도,
도 5는 본 발명의 일 실시예에 따른 플래시 메모리 관리방법을 설명하기 위한 플로우챠트,
도 6은 본 발명의 다른 실시예에 따른 플래시 메모리 관리방법을 설명하기 위한 플로우챠트,
도 7은 주소 변환 테이블의 업데이트 과정을 설명하기 위한 플로우챠트이다.
상기 목적은 본 발명에 따라 플래시 메모리를 관리하는 방법에 있어서, (a) 상기 플래시 메모리의 데이터 영역에 기록된 데이터의 논리 주소를 대응 스패어 영역에 기록하는 단계; 및 (b) 상기 스패어 영역에 기록된 정보를 스캐닝하여 주소 변환 테이블(mapping table)을 생성하는 단계를 포함하는 것을 특징으로 하는 관리방법에 의해 달성된다.
상기 관리방법은 (c1) 생성된 주소 변환 테이블을 메인 메모리에 기록하는 단계를 더 포함하거나 (c2) 생성된 주소 변환 테이블을 상기 플래시 메모리에 기록하는 단계를 더 포함하는 것이 바람직하다.
상기 (b)단계는 (b1) 해당 스패어 영역에 기록된 논리 주소를 스캐닝하여 상기 주소 변환 테이블을 생성하는 단계를 포함하는 것이 바람직하다.
상기 (a)단계는 (a1) 상기 스패어 영역에 해당 데이터의 기록 서열을 알려주는 타임 마크를 기록하는 단계 및 (a2) 상기 스패어 영역에 해당 데이터의 사용가능 여부를 알려주는 삭제 마크를 기록하는 단계를 더 포함하는 것이 더욱 바람직하다.
또한, 상기 목적은 플래시 메모리를 관리하는 방법에 있어서, (a) 주소 변환 테이블을 참조하여 상기 플래시 메모리의 데이터 영역 중 비어있는 주소에 기록 요청된 데이터를 기록하고, 대응 스패어 영역에 대응 논리 주소를 기록하는 단계; 및 (b) 상기 논리 주소에 상기 (a)단계에서의 데이터가 기록된 물리 주소가 매핑되도록 정정 테이블을 갱신하는 단계를 포함하는 것을 특징으로 하는 관리방법에 의해서도 달성된다.
상기 관리방법은 (c) 상기 주소 변환 테이블을 참조하여 상기 논리 주소에 대응되는 물리 주소에 대응되는 스패어 영역에 상기 (a)단계에서 기록된 데이터의 사용가능성 여부를 알려주는 삭제 마크를 표시하는 단계를 더 포함하는 것이 바람직하다.
또한, 상기 목적은 플래시 메모리를 관리하는 방법에 있어서, (a) 상기 플래시 메모리에 저장되며 논리 주소와 물리 주소의 매핑 정보가 저장된 주소 변환 테이블의 변경사항을 메인 메모리에 마련된 정정 테이블에 기록하는 단계; (b) 정정 테이블의 소정 부분이 다 채워졌는지 확인하는 단계; (c) 다 채워진 경우 상기 정정 테이블에 기록된 변경사항을 상기 주소 변환 테이블에 반영하는 단계; 및 (d) 상기 정정 테이블에 기록된 내용 중 상기 주소 변환 테이블에 반영된 부분을 삭제하는 단계를 포함하는 것을 특징으로 하는 관리방법에 의해서도 달성된다.
이하, 첨부된 도면을 참조하여 본 발명 바람직한 실시예를 상세히 설명한다.
도 2는 본 발명의 바람직한 실시예에 따른 플래시 메모리 시스템의 블록도이다.
도 1을 참조하면, 시스템은 플래시 메모리(1), ROM(2), RAM(3) 및 프로세서(4)를 구비한다. 여기서, RAM(3)은 메인 메모리로서 통상 DRAM으로 구현된다. 다만 필요에 따라 SRAM으로 구현될 수 있다.
프로세서(4)는 통상 ROM(2)에 기록되어 있는 프로그램 코드와 결합되어 플래시 메모리(1) 또는 RAM(2)에 대한 일련의 기록 또는 삭제 명령을 발한다. 플래시 메모리(1)에는 본 발명의 플래시 메모리 관리방법에 따라 기록 및 삭제 연산이 수행된다. ROM(2)과 RAM(3)에는 프로세서(4)에서 수행되는 응용 프로그램 코드 또는 관련 데이터 구조가 저장된다.
도 3 및 4는 본 발명에 따른 플래시 메모리 시스템의 상세 구성도이다.
도 3 및 4를 참조하면, 플래시 메모리(1)는 하드웨어적으로 데이터 영역과 스패어 영역으로 구분지어진다. 데이터 영역의 섹터와 스패어 영역의 섹터는 각각 대응되도록 마련된다. 데이터 영역에는 데이터가 기록되고 대응 스패어 영역에는 해당 데이터의 논리 주소, 타임 마크, 삭제 마크가 기록된다. 타임 마크는 해당 데이터가 기록된 시각을 알려준다. 삭제 마크는 해당 데이터의 유효성, 즉 사용가능성을 알려준다. 삭제 마크는 대응 섹터에 물리적으로 유효한 데이터가 기록되어 있더라도 그 내용을 무시할 수 있고 삭제 가능함을 의미한다. 즉, 삭제 마크는 논리적인 「삭제」를 의미한다.
제1 실시예에서 주소 변환 테이블은 플래시 메모리(1)에 위치한다. 주소 변환 테이블은 시스템 초기화시 프로세서(4)에 의해 생성된다. 프로세서(4)는 스패어 영역에 기록된 논리 주소, 타임 마크, 삭제 마크를 스캐닝하여 주소 변환 테이블을 생성한다. 주소 변환 테이블에는 논리 주소와 해당 물리 주소가 매핑되어 있다. 또한, 대응 타임 마크 및 삭제 마크가 기록되어 있다.
정정 테이블은 RAM(3)에 위치한다. 정정 테이블은 소정 어플리케이션이 수행되는 과정 중에 데이터가 새로 기록되거나 기존 데이터가 수정될 경우 주소 변환 테이블의 변경된 내용만을 저장하기 위한 것이다. 즉, 프로세서(4)는 소정 논리 주소에 기록된 기존 데이터를 수정하는 경우 삭제 연산을 수행하지 않고 비어 있는 섹터에 수정된 데이터를 기록하고 대응 스패어 영역에 해당 논리 주소와 타임 마크를 기록한다. 따라서, 정정 테이블에는 수정된 데이터가 기록된 섹터의 물리 주소가 매핑되어 기록된다. 이처럼, 플래시 메모리(1)에 위치한 주소 변환 테이블을 갱신하지 않고 RAM(3)에 별개의 정정 테이블을 둠으로써 신속하게 매핑 정보를 갱신할 수 있다. 한편, 정정 테이블은 고정된 크기를 가진다. 따라서, 정정 테이블의 모든 영역이 사용되면 프로세서(4)는 플래시 메모리(1)에 위치한 주소 변환 테이블에 반영하여 새로운 주소 변환 테이블을 생성하는 한편 정정 테이블은 모두 비운다. 필요에 따라, 정정 테이블의 일정 부분이 채워지면 이를 주소 변환 테이블에 반영하는 한편 정정 테이블의 반영된 부분만을 비우는 방식을 채용할 수 있다. 정정 테이블은 RAM(3)에 위치하므로 전원이 오프되면 소실된다.
제2 실시예에서 주소 변환 테이블은 RAM(3)에 위치한다. 이 경우 정정 테이블은 별개로 마련하지 않아도 무방하다. 왜냐하면 RAM(3)은 플래시 메모리(1)와 달리 기록 및 삭제가 용이하기 때문이다. 즉, 시스템 자원이 풍부하여 RAM(3)의 여유 공간이 충분한 경우 적용된다. 소정 어플리케이션이 수행되는 과정 중에 데이터가 새로 기록되거나 기존 데이터가 수정될 경우 프로세서(4)는 직접 주소 변환 테이블을 수정하여 변경된 내용을 반영한다. 다만, 정정 테이블을 별개로 마련할 경우에는 전술한 제1 실시예의 경우와 동일한 방식에 따라 관리한다.
플래시 메모리 시스템의 부팅, 플래시 메모리(1)에의 접근 과정을 개략적으로 살펴보면 다음과 같다.
<부팅>
시스템이 처음 부팅될 때 프로세서(4)는 플래시 메모리(1)의 스패어 영역 전체를 스캐닝하여 플래시 메모리(1)의 현재 기록 상태가 반영된 주소 변환 테이블을 생성하여 플래시 메모리(1) 또는 RAM(3)에 기록한다. 스캐닝 과정에서 동일한 논리 주소가 두 개 이상 발견되면 삭제 마크의 존부를 비교하거나 타임 마크를 비교하여 새로운 정보를 선택한다. 오래된 정보에 삭제 마크가 되어 있지 않으면 삭제 마크한다.
<접근>
먼저 해당 논리 주소가 존재하는지 여부를 정정 테이블을 검색하여 확인한 다음 존재할 경우 매핑된 물리 주소를 알아낸다. 정정 테이블에 해당 논리 주소가 존재하지 않는 경우 주소 변환 테이블을 검색하여 해당 논리 주소에 매핑된 물리주소를 알아낸다.
상기와 같은 구성을 기초로 플래시 메모리 관리방법을 설명하면 다음과 같다.
도 5는 본 발명의 일 실시예에 따른 플래시 메모리 관리방법을 설명하기 위한 플로우챠트이다.
도 5를 참조하면, 프로세서(4)는 플래시 메모리(1)의 데이터 영역에 데이터를 기록한 다음 해당 데이터의 논리 주소를 대응 스패어 영역에 기록한다(501단계). 플래시 메모리(1)에 데이터가 새로 기록되거나 수정될 때마다 상기 501단계는 수행된다. 전원이 차단된 다음 시스템이 재부팅되면(502단계), 프로세서(4)는 스패어 영역 전체를 스캐닝하여 주소 변환 테이블을 생성한다(503단계). 프로세서(4)는 생성된 주소 변환 테이블을 메인 메모리인 RAM(3)에 기록하거나(504-1단계) 또는 플래시 메모리(1)에 기록한다(504-2단계).
도 6은 본 발명의 다른 실시예에 따른 플래시 메모리 관리방법을 설명하기 위한 플로우챠트이다.
도 6을 참조하면, 요청된 논리 주소에 소정 데이터를 기록하고자하는 경우 프로세서(4)는 정정 테이블을 검색한다(601단계). 요청된 논리 주소가 존재하는 경우(602단계), 주소 변환 테이블을 참조하여 비어 있는 섹터를 찾아서 데이터 영역에 해당 데이터를 기록하는 한편 대응 스패어 영역에 그 논리 주소를 기록한다(603단계). 이때 타임 마크를 함께 기록할 수 있다. 다음으로 주소 변환 테이블을 참조하여 이전 데이터가 기록된 섹터의 스패어 영역에 삭제 마크를 표시한다(604단계). 이어서, 정정 테이블에 기록된 기존 엔트리를 상기 603단계에서 기록된 섹터의 물리 주소가 매핑되도록 갱신한다(605단계).
요청된 논리 주소가 존재하지 않는 경우(602단계), 주소 변환 테이블을 검색한다(606단계). 요청된 논리 주소가 존재하면(607단계), 주소 변환 테이블을 참조하여 비어 있는 섹터를 찾아서 데이터 영역에 해당 데이터를 기록하는 한편 대응 스패어 영역에 그 논리 주소를 기록한다(608단계). 이 때 타임 마크를 함께 기록할 수 있다. 또한, 주소 변환 테이블을 참조하여 이전 데이터가 기록된 섹터의 스패어 영역에 삭제 마크를 표시한다(609단계). 더불어, 상기 608단계가 수행된 상태가 반영되도록 정정 테이블에 새로운 엔트리를 추가한다(610단계).
주소 변환 테이블에도 요청된 논리 주소가 존재하지 않으면(607단계), 주소 변환 테이블을 참조하여 비어 있는 섹터를 찾아서 데이터 영역에 해당 데이터를 기록하는 한편 대응 스패어 영역에 그 논리 주소를 기록한다(611단계). 이때 타임 마크를 함께 기록할 수 있다. 더불어, 상기 611단계가 수행된 상태가 반영되도록 정정 테이블에 새로운 엔트리를 추가한다(610단계).
도 7은 주소 변환 테이블의 업데이트 과정을 설명하기 위한 플로우챠트이다.
도 7을 참조하면, 프로세서(4)는 정정 테이블이 다 채워진 경우(701단계), 정정 테이블에 기록된 변경 정보를 주소 변환 테이블에 모두 반영한다(702단계). 즉, 이에 주소 변환 테이블에 기록된 매핑 정보는 현재 플래시 메모리(1)의 기록 상태와 동일하게 된다. 한편, 프로세서(4)는 새로운 엔트리를 기록할 수 있도록 정정 테이블을 비운다(703단계).
한편, 상기 플래시 메모리 관리방법은 컴퓨터 프로그램으로 작성 가능하다. 상기 프로그램을 구성하는 코드들 및 코드 세그먼트들은 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 상기 프로그램은 컴퓨터가 읽을 수 있는 정보저장매체(computer readable medium)에 저장되고, 컴퓨터에 의하여 읽혀지고 실행됨으로써 상기 플래시 메모리를 관리하는 방법을 구현한다. 상기 정보저장매체는 자기 기록매체, 광 기록매체, 및 캐리어 웨이브 매체를 포함한다.
전술한 바와 같이, 본 발명에 따르면 보다 효율적으로 플래시 메모리에 접근할 수 있게 된다. 논리 주소를 스패어 영역에 기록해둠으로써 갑작스럽게 전원이 오프되더라도 주소 변환 테이블을 용이하게 복구할 수 있다. 특히, 스패어 영역은 하드웨어적으로 데이터 영역과 별개로 형성되어 있으므로 스패어 영역만을 별개로 스캐닝할 경우 보다 주소 변환 테이블의 복구 작업이 보다 신속하게 수행된다. 또한, 메인 메모리에 정정 테이블을 마련해두고 주소 변환 테이블의 변경사항을 기록함으로써 주소 변환 테이블이 플래시 메모리에 존재할 경우 이를 갱신하는데 소요되는 노력과 시간을 절약할 수 있게 된다. 따라서, 시스템 성능이 향상된다.

Claims (21)

  1. 플래시 메모리를 관리하는 방법에 있어서,
    (a) 상기 플래시 메모리의 데이터 영역에 기록된 데이터의 논리 주소 및 해당 데이터의 기록 서열을 알려주는 타임 마크를 상기 데이터 영역에 인접한 대응 스패어 영역에 기록하는 단계; 및
    (b) 상기 스패어 영역에 기록된 정보를 스캐닝하여 주소 변환 테이블(mapping table)을 생성하는 단계를 포함하는 것을 특징으로 하는 플래시 메모리 관리방법.
  2. 제1항에 있어서,
    (c1) 생성된 주소 변환 테이블을 메인 메모리에 기록하는 단계를 더 포함하는 것을 특징으로 하는 플래시 메모리 관리방법.
  3. 제1항에 있어서,
    (c2) 생성된 주소 변환 테이블을 상기 플래시 메모리에 기록하는 단계를 더 포함하는 것을 특징으로 하는 플래시 메모리 관리방법.
  4. 제1항에 있어서,
    상기 (b)단계는
    (b1) 해당 스패어 영역에 기록된 논리 주소를 스캐닝하여 상기 주소 변환 테이블을 생성하는 단계를 포함하는 것을 특징으로 하는 플래시 메모리 관리방법.
  5. 삭제
  6. 제1항에 있어서,
    상기 (a)단계는
    (a2) 상기 스패어 영역에 해당 데이터의 사용가능 여부를 알려주는 삭제 마크를 기록하는 단계를 더 포함하는 것을 특징으로 하는 플래시 메모리 관리방법.
  7. 제1항에 있어서,
    상기 (b)단계는
    (b2) 상기 데이터의 논리 주소, 및 타임 마크를 스캐닝하여 상기 주소 변환 테이블을 생성하는 단계를 포함하는 것을 특징으로 하는 플래시 메모리 관리방법.
  8. 제6항에 있어서,
    (b3) 상기 데이터의 논리 주소, 타임 마크 및 삭제 마크를 스캐닝하여 상기 주소 변환 테이블을 생성하는 단계를 포함하는 것을 특징으로 하는 플래시 메모리 관리방법.
  9. 제1항에 있어서,
    상기 (b)단계는 상기 플래시 메모리가 장착된 시스템이 부팅될 때 수행되는 것을 특징을 하는 플래시 메모리 관리방법.
  10. 플래시 메모리를 관리하는 방법에 있어서,
    (a) 주소 변환 테이블을 참조하여 상기 플래시 메모리의 데이터 영역 중 비어있는 주소에 기록 요청된 데이터를 기록하고, 대응 스패어 영역에 대응 논리 주소를 기록하는 단계; 및
    (b) 상기 논리 주소에 상기 (a)단계에서의 데이터가 기록된 물리 주소가 매핑되도록 정정 테이블을 갱신하는 단계를 포함하는 것을 특징으로 하는 플래시 메모리 관리방법.
  11. 제10항에 있어서,
    (c) 상기 주소 변환 테이블을 참조하여 상기 논리 주소에 대응되는 물리 주소에 대응되는 스패어 영역에 상기 (a)단계에서 기록된 데이터의 사용가능성 여부를 알려주는 삭제 마크를 표시하는 단계를 포함하는 것을 특징으로 하는 플래시 메모리 관리방법.
  12. 제10항에 있어서,
    상기 (a)단계는
    (a1) 상기 스패어 영역에 해당 데이터의 기록 서열을 알려주는 타임 마크를 기록하는 단계를 더 포함하는 것을 특징으로 하는 플래시 메모리 관리방법.
  13. 제12항에 있어서,
    상기 (a)단계는
    (a2) 상기 스패어 영역에 해당 데이터의 사용가능성 여부를 알려주는 삭제 마크를 기록하는 단계를 더 포함하는 것을 특징으로 하는 플래시 메모리 관리방법.
  14. 제10항 내지 제13항 중 어느 한 항에 있어서,
    (d) 상기 스패어 영역에 기록된 정보를 스캐닝하여 주소 변환 테이블(mapping table)을 생성하는 단계를 포함하는 것을 특징으로 하는 플래시 메모리 관리방법.
  15. 제14항에 있어서,
    상기 (d)단계는 상기 플래시 메모리가 장착된 시스템이 부팅될 때 수행되는 것을 특징을 하는 플래시 메모리 관리방법.
  16. 플래시 메모리를 관리하는 방법에 있어서,
    (a) 상기 플래시 메모리에 저장되며 논리 주소와 물리 주소의 매핑 정보가 저장된 주소 변환 테이블의 변경사항을 메인 메모리에 마련된 정정 테이블에 기록하는 단계;
    (b) 정정 테이블의 소정 부분이 다 채워졌는지 확인하는 단계;
    (c) 다 채워진 경우 상기 정정 테이블에 기록된 변경사항을 상기 주소 변환 테이블에 반영하는 단계; 및
    (d) 상기 정정 테이블에 기록된 내용 중 상기 주소 변환 테이블에 반영된 부분을 삭제하는 단계를 포함하는 것을 특징으로 하는 플래시 메모리 관리방법.
  17. 제16항에 있어서,
    상기 정정 테이블은 일정한 크기를 갖는 것을 특징으로 하는 플래시 메모리 관리방법.
  18. 제17항에 있어서,
    상기 정정 테이블에는 해당 데이터의 사용가능성 여부를 알려주는 삭제 마크가 기록되어 있는 것을 특징으로 하는 플래시 메모리 관리방법.
  19. 제18항에 있어서,
    상기 정정 테이블에는 해당 데이터의 기록 서열을 알려주는 타임 마크가 기록되어 있는 것을 특징으로 하는 플래시 메모리 관리방법.
  20. 제16항에 있어서,
    상기 주소 변환 테이블에는 해당 데이터의 사용가능성 여부를 알려주는 삭제 마크가 기록되어 있는 것을 특징으로 하는 플래시 메모리 관리방법.
  21. 제20항에 있어서,
    상기 주소 변환 테이블에는 해당 데이터의 기록 서열을 알려주는 타임 마크가 기록되어 있는 것을 특징으로 하는 플래시 메모리 관리방법.
KR10-2001-0071401A 2001-11-16 2001-11-16 플래시 메모리 관리방법 KR100449708B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR10-2001-0071401A KR100449708B1 (ko) 2001-11-16 2001-11-16 플래시 메모리 관리방법
JP2002318595A JP2003167795A (ja) 2001-11-16 2002-10-31 フラッシュメモリの管理方法
CNB021504377A CN100424655C (zh) 2001-11-16 2002-11-12 快闪存储器管理方法
US10/294,906 US7127551B2 (en) 2001-11-16 2002-11-15 Flash memory management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0071401A KR100449708B1 (ko) 2001-11-16 2001-11-16 플래시 메모리 관리방법

Publications (2)

Publication Number Publication Date
KR20030040817A KR20030040817A (ko) 2003-05-23
KR100449708B1 true KR100449708B1 (ko) 2004-09-22

Family

ID=19716038

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0071401A KR100449708B1 (ko) 2001-11-16 2001-11-16 플래시 메모리 관리방법

Country Status (4)

Country Link
US (1) US7127551B2 (ko)
JP (1) JP2003167795A (ko)
KR (1) KR100449708B1 (ko)
CN (1) CN100424655C (ko)

Families Citing this family (83)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100377119C (zh) * 2003-06-20 2008-03-26 深圳市朗科科技有限公司 闪存介质中数据保护方法
JP2005190288A (ja) * 2003-12-26 2005-07-14 Tdk Corp メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法
KR100526188B1 (ko) * 2003-12-30 2005-11-04 삼성전자주식회사 플래시 메모리의 주소 사상 방법, 사상 정보 관리 방법 및상기 방법을 이용한 플래시 메모리
KR100704618B1 (ko) 2004-01-19 2007-04-10 삼성전자주식회사 플래시 메모리의 데이터 복구 장치 및 방법
TWI249670B (en) * 2004-04-29 2006-02-21 Mediatek Inc System and method capable of sequentially writing a flash memory
US7386700B2 (en) * 2004-07-30 2008-06-10 Sandisk Il Ltd Virtual-to-physical address translation in a flash file system
WO2006024328A1 (de) * 2004-09-02 2006-03-09 Hyperstone Ag Verfahren zur verwaltung von speicherinformationen
US20060075183A1 (en) * 2004-10-06 2006-04-06 Phison Electronics Corp. [method of applying flash memory as buffer in electrical appliance]
JP4715155B2 (ja) * 2004-10-08 2011-07-06 ソニー株式会社 情報処理装置及び情報処理方法、並びにコンピュータ・プログラム
KR100631765B1 (ko) * 2004-10-18 2006-10-09 삼성전자주식회사 플래시 메모리의 데이터 처리 장치 및 방법
US11321408B2 (en) 2004-12-15 2022-05-03 Applied Invention, Llc Data store with lock-free stateless paging capacity
US8275804B2 (en) 2004-12-15 2012-09-25 Applied Minds, Llc Distributed data store with a designated master to ensure consistency
US7774308B2 (en) * 2004-12-15 2010-08-10 Applied Minds, Inc. Anti-item for deletion of content in a distributed datastore
US8996486B2 (en) * 2004-12-15 2015-03-31 Applied Invention, Llc Data store with lock-free stateless paging capability
CN100353337C (zh) * 2005-06-01 2007-12-05 旺玖科技股份有限公司 闪存储存系统
CN101364207B (zh) * 2005-06-01 2010-05-26 旺玖科技股份有限公司 闪存储存系统
US7797479B2 (en) * 2005-06-30 2010-09-14 Intel Corporation Technique to write to a non-volatile memory
US7748031B2 (en) 2005-07-08 2010-06-29 Sandisk Corporation Mass storage device with automated credentials loading
US7934049B2 (en) * 2005-09-14 2011-04-26 Sandisk Corporation Methods used in a secure yet flexible system architecture for secure devices with flash mass storage memory
US7536540B2 (en) * 2005-09-14 2009-05-19 Sandisk Corporation Method of hardware driver integrity check of memory card controller firmware
CN100573476C (zh) * 2005-09-25 2009-12-23 深圳市朗科科技股份有限公司 闪存介质数据管理方法
KR100801072B1 (ko) * 2005-09-30 2008-02-11 삼성전자주식회사 플래시 메모리, 이를 위한 맵핑 장치 및 방법
US7516267B2 (en) * 2005-11-03 2009-04-07 Intel Corporation Recovering from a non-volatile memory failure
KR100781520B1 (ko) * 2006-02-24 2007-12-03 삼성전자주식회사 비휘발성 메모리가 캐쉬로 사용되는 저장 장치 및 이를위한 맵핑 정보 복구 방법
US7564721B2 (en) * 2006-05-25 2009-07-21 Micron Technology, Inc. Method and apparatus for improving storage performance using a background erase
KR100745163B1 (ko) * 2006-06-19 2007-08-01 주식회사 셀픽 동적 매핑 테이블을 이용한 플래시 메모리 관리방법
US8307148B2 (en) 2006-06-23 2012-11-06 Microsoft Corporation Flash management techniques
KR100843133B1 (ko) 2006-09-20 2008-07-02 삼성전자주식회사 플래시 메모리에서 매핑 정보 재구성을 위한 장치 및 방법
KR100809320B1 (ko) * 2006-09-27 2008-03-05 삼성전자주식회사 이종 셀 타입을 지원하는 비휘발성 메모리를 위한 맵핑정보 관리 장치 및 방법
CN101154447B (zh) * 2006-09-28 2010-08-18 北京握奇数据系统有限公司 一种闪存控制方法及闪存
KR100843543B1 (ko) * 2006-10-25 2008-07-04 삼성전자주식회사 플래시 메모리 장치를 포함하는 시스템 및 그것의 데이터복구 방법
KR100843135B1 (ko) * 2006-11-20 2008-07-02 삼성전자주식회사 비휘발성 메모리 관리 방법 및 장치
US20080120480A1 (en) * 2006-11-22 2008-05-22 International Business Machines Corporation Method and System For Preserving Critical Storage Contents Across A System Restart
JP2008130202A (ja) * 2006-11-24 2008-06-05 Toshiba Corp 再生位置制御回路及び再生システム
KR100881669B1 (ko) * 2006-12-18 2009-02-06 삼성전자주식회사 비휘발성 데이터 저장장치의 정적 데이터 영역 검출 방법,마모도 평준화 방법 및 데이터 유닛 병합 방법과 그 장치
JP4939234B2 (ja) * 2007-01-11 2012-05-23 株式会社日立製作所 フラッシュメモリモジュール、そのフラッシュメモリモジュールを記録媒体として用いたストレージ装置及びそのフラッシュメモリモジュールのアドレス変換テーブル検証方法
JP4967680B2 (ja) * 2007-01-23 2012-07-04 ソニー株式会社 記憶装置およびコンピュータシステム、並びに記憶装置の管理方法
US7966355B2 (en) 2007-02-13 2011-06-21 Modu Ltd. Interface for extending functionality of memory cards
KR100882740B1 (ko) * 2007-02-22 2009-02-09 삼성전자주식회사 맵 히스토리 기반의 불휘발성 메모리의 매핑 방법 및 저장장치
CN101281492B (zh) * 2007-04-04 2011-02-02 扬智科技股份有限公司 恢复闪存的对照表的方法
US20090063587A1 (en) 2007-07-12 2009-03-05 Jakob Holger Method and system for function-specific time-configurable replication of data manipulating functions
US20100250837A1 (en) * 2008-05-28 2010-09-30 Hyperstone Gmbh Method for Addressing Page-Oriented Non-Volatile Memories
KR101029704B1 (ko) * 2008-06-17 2011-04-18 주식회사 셀픽 플래시 메모리 관리 방법
TWI385667B (zh) * 2008-06-26 2013-02-11 Phison Electronics Corp 用於快閃記憶體的資料管理方法、儲存系統與控制器
KR100977709B1 (ko) * 2008-08-20 2010-08-24 주식회사 셀픽 플래시메모리 저장장치 및 그에 따른 관리 방법
JP2010086009A (ja) * 2008-09-29 2010-04-15 Hitachi Ltd 記憶装置およびメモリ制御方法
US8438325B2 (en) * 2008-10-09 2013-05-07 Cadence Design Systems, Inc. Method and apparatus for improving small write performance in a non-volatile memory
US20100262979A1 (en) * 2009-04-08 2010-10-14 Google Inc. Circular command queues for communication between a host and a data storage device
US20100287217A1 (en) * 2009-04-08 2010-11-11 Google Inc. Host control of background garbage collection in a data storage device
US8447918B2 (en) 2009-04-08 2013-05-21 Google Inc. Garbage collection for failure prediction and repartitioning
US8205037B2 (en) * 2009-04-08 2012-06-19 Google Inc. Data storage device capable of recognizing and controlling multiple types of memory chips operating at different voltages
US8296503B2 (en) 2009-05-26 2012-10-23 Mediatek Inc. Data updating and recovering methods for a non-volatile memory array
CN102043727B (zh) * 2009-10-10 2014-04-02 成都市华为赛门铁克科技有限公司 恢复固态硬盘映射表的方法及其装置
US8296506B2 (en) * 2009-11-09 2012-10-23 Lite-On It Corporation Method for managing a non-violate memory and computer readable medium thereof
CN101794261B (zh) * 2009-11-24 2013-05-08 深圳市硅格半导体有限公司 映射表数据恢复方法及装置
KR101678911B1 (ko) 2010-03-12 2016-11-23 삼성전자주식회사 데이터 저장 장치 및 그것을 포함하는 컴퓨팅 시스템
US8381018B2 (en) 2010-05-21 2013-02-19 Mediatek Inc. Method for data recovery for flash devices
CN102541755B (zh) * 2010-12-29 2015-09-30 深圳市硅格半导体有限公司 闪存存储器及其接收数据的方法
JP5221699B2 (ja) 2011-03-23 2013-06-26 株式会社東芝 半導体記憶装置
US9104614B2 (en) * 2011-09-16 2015-08-11 Apple Inc. Handling unclean shutdowns for a system having non-volatile memory
US9164676B2 (en) 2011-11-30 2015-10-20 International Business Machines Corporation Storing multi-stream non-linear access patterns in a flash based file-system
JP5597666B2 (ja) * 2012-03-26 2014-10-01 株式会社東芝 半導体記憶装置、情報処理システムおよび制御方法
KR101373668B1 (ko) * 2012-06-22 2014-03-13 연세대학교 산학협력단 메모리 수리 장치 및 방법
KR101993704B1 (ko) 2012-08-24 2019-06-27 삼성전자주식회사 플래시 메모리를 기반으로 하는 저장 장치 및 플래시 메모리를 제어하는 메모리 컨트롤러의 쓰기 메모리 블록 할당 방법
CN102929790A (zh) * 2012-10-15 2013-02-13 株洲南车时代电气股份有限公司 一种数据存储系统和方法
CN103778083B (zh) * 2012-10-18 2017-03-01 华邦电子股份有限公司 数据储存装置以及非挥发性存储器控制方法
CN102902637B (zh) * 2012-11-19 2015-04-22 北京理工大学 一种固态硬盘数据断电保护方法
US9047172B2 (en) 2012-11-29 2015-06-02 Intel Corporation Adaptive power control of memory map storage devices
US9454474B2 (en) 2013-03-05 2016-09-27 Western Digital Technologies, Inc. Methods, devices and systems for two stage power-on map rebuild with free space accounting in a solid state drive
KR102127284B1 (ko) 2013-07-01 2020-06-26 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 관리 방법
CN103761190B (zh) * 2013-12-19 2017-01-11 华为技术有限公司 数据处理方法及装置
KR102116258B1 (ko) 2013-12-24 2020-06-05 삼성전자주식회사 메모리 시스템 및 그것을 포함하는 유저 장치
KR102233808B1 (ko) * 2014-03-14 2021-03-30 삼성전자주식회사 저장 장치 및 그것의 테이블 관리 방법
US9817588B2 (en) * 2015-04-10 2017-11-14 Macronix International Co., Ltd. Memory device and operating method of same
CN105608013B (zh) * 2015-07-10 2019-03-08 上海磁宇信息科技有限公司 一种集成mram的存储卡控制芯片及存储卡
TWI534618B (zh) * 2015-07-13 2016-05-21 群聯電子股份有限公司 映射表更新方法、記憶體控制電路單元及記憶體儲存裝置
CN105740162B (zh) * 2015-12-31 2018-08-07 上海盈方微电子有限公司 应用于nand存储器的nftl数据存储系统及方法
CN106528441B (zh) * 2016-10-26 2020-08-04 珠海格力电器股份有限公司 仿真eeprom的数据处理方法、装置及电子设备
TWI727185B (zh) * 2018-07-09 2021-05-11 慧榮科技股份有限公司 鏈結串列搜索裝置及方法
US11023374B2 (en) * 2018-07-09 2021-06-01 Silicon Motion, Inc. Apparatus and method and computer program product for controlling data access
JP6708762B1 (ja) * 2019-01-29 2020-06-10 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置
US11392436B2 (en) * 2020-04-01 2022-07-19 Western Digital Technologies, Inc. Advanced file recovery method for flash memory
CN111951866B (zh) * 2020-10-19 2021-01-15 深圳市芯天下技术有限公司 非易失型闪存深睡眠低静态功耗的电路

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5907856A (en) * 1995-07-31 1999-05-25 Lexar Media, Inc. Moving sectors within a block of information in a flash memory mass storage architecture
KR19990055972A (ko) * 1997-12-29 1999-07-15 윤종용 블록 재할당 기능을 갖는 플래시 메모리 이용 보조기억장치 및 그 방법
JP2000020391A (ja) * 1998-06-30 2000-01-21 Sony Corp 記憶装置、データ処理装置並びにデータ処理方法
KR20000039727A (ko) * 1998-12-15 2000-07-05 구자홍 플래시 메모리 접근 방법
KR20010029171A (ko) * 1999-09-29 2001-04-06 윤종용 플래시 메모리와 그 제어 방법

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH064228A (ja) * 1992-06-24 1994-01-14 Fujitsu Ltd 半導体ディスク装置
US5812814A (en) * 1993-02-26 1998-09-22 Kabushiki Kaisha Toshiba Alternative flash EEPROM semiconductor memory system
US5404485A (en) * 1993-03-08 1995-04-04 M-Systems Flash Disk Pioneers Ltd. Flash file system
US5682497A (en) * 1993-09-28 1997-10-28 Intel Corporation Managing file structures for a flash memory file system in a computer
JPH08137634A (ja) * 1994-11-09 1996-05-31 Mitsubishi Electric Corp フラッシュディスクカード
JP3706167B2 (ja) * 1995-02-16 2005-10-12 株式会社ルネサステクノロジ 半導体ディスク装置
US5838614A (en) * 1995-07-31 1998-11-17 Lexar Microsystems, Inc. Identification and verification of a sector within a block of mass storage flash memory
US5933847A (en) * 1995-09-28 1999-08-03 Canon Kabushiki Kaisha Selecting erase method based on type of power supply for flash EEPROM
JPH10124384A (ja) * 1996-08-28 1998-05-15 Toshiba Corp 不揮発性半導体メモリの制御方法
JP4079506B2 (ja) * 1997-08-08 2008-04-23 株式会社東芝 不揮発性半導体メモリシステムの制御方法
JP3070539B2 (ja) * 1997-09-30 2000-07-31 ソニー株式会社 外部記憶装置、データ処理装置及びデータ処理方法
WO1999031592A1 (fr) * 1997-12-16 1999-06-24 Tdk Corporation Systeme de memoire flash
JP3544859B2 (ja) * 1998-05-11 2004-07-21 富士通株式会社 不揮発性半導体メモリを使用した2次記憶装置
US6763424B2 (en) * 2001-01-19 2004-07-13 Sandisk Corporation Partial block data programming and reading operations in a non-volatile memory

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5907856A (en) * 1995-07-31 1999-05-25 Lexar Media, Inc. Moving sectors within a block of information in a flash memory mass storage architecture
KR19990055972A (ko) * 1997-12-29 1999-07-15 윤종용 블록 재할당 기능을 갖는 플래시 메모리 이용 보조기억장치 및 그 방법
JP2000020391A (ja) * 1998-06-30 2000-01-21 Sony Corp 記憶装置、データ処理装置並びにデータ処理方法
KR20000039727A (ko) * 1998-12-15 2000-07-05 구자홍 플래시 메모리 접근 방법
KR20010029171A (ko) * 1999-09-29 2001-04-06 윤종용 플래시 메모리와 그 제어 방법

Also Published As

Publication number Publication date
KR20030040817A (ko) 2003-05-23
CN100424655C (zh) 2008-10-08
US20030101327A1 (en) 2003-05-29
CN1420440A (zh) 2003-05-28
US7127551B2 (en) 2006-10-24
JP2003167795A (ja) 2003-06-13

Similar Documents

Publication Publication Date Title
KR100449708B1 (ko) 플래시 메모리 관리방법
US20230350799A1 (en) Method for managing a memory apparatus
USRE46404E1 (en) Flash memory management method
US7191306B2 (en) Flash memory, and flash memory access method and apparatus
US7302517B2 (en) Apparatus and method for controlling execute-in-place (XIP) in serial flash memory, and flash memory chip using the same
US20070016719A1 (en) Memory device including nonvolatile memory and memory controller
US7287117B2 (en) Flash memory and mapping control apparatus and method for flash memory
JP2003085037A (ja) メモリ管理方法
JP3421581B2 (ja) 不揮発性半導体メモリを用いた記憶装置
US7822940B2 (en) Apparatus and method for managing mapping information of nonvolatile memory
KR100982440B1 (ko) 단일 플래시 메모리의 데이터 관리시스템
KR20050009045A (ko) 플래시 메모리를 이용한 기억장치 및 그 에러 복구 방법

Legal Events

Date Code Title Description
A201 Request for examination
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: 20120831

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20130902

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20140901

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20150831

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20180831

Year of fee payment: 15