KR20060007667A - 플래시 메모리 관리 방법과 장치 및 그 구조 - Google Patents

플래시 메모리 관리 방법과 장치 및 그 구조 Download PDF

Info

Publication number
KR20060007667A
KR20060007667A KR1020040056524A KR20040056524A KR20060007667A KR 20060007667 A KR20060007667 A KR 20060007667A KR 1020040056524 A KR1020040056524 A KR 1020040056524A KR 20040056524 A KR20040056524 A KR 20040056524A KR 20060007667 A KR20060007667 A KR 20060007667A
Authority
KR
South Korea
Prior art keywords
virtual
data
flash memory
wear
sector
Prior art date
Application number
KR1020040056524A
Other languages
English (en)
Inventor
민현기
이한덕
조문증
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to KR1020040056524A priority Critical patent/KR20060007667A/ko
Publication of KR20060007667A publication Critical patent/KR20060007667A/ko

Links

Images

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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0871Allocation or management of cache space
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control

Abstract

본 발명은 플래시 메모리 관리 방법 및 장치 그리고 구조에 관한 것으로서, 플래시메모리의 데이터관리를 가상섹터를 통해 수행하는 소정의 가상관리메쏘드를 미리 정의한 데이터특성에 따라 상이하게 다수 설정하여 외부로부터의 데이터관리 요청시 데이터의 해당 특성에 적합한 어느 하나를 선택하여, 선택한 가상관리메쏘드에 따라 가비지 회수, 마모 평준화, 블록 할당 등이 포함된 데이터관리항목 중에서 요청된 어느 하나를 선택적으로 수행함으로써, 휴대용 전자기기에 사용되는 플래시메모리의 데이터를 처리함에 있어서 데이터특성, 특히 플래시메모리에서의 데이터 입/출력특성을 고려하여 차별화된 성능 향상을 제공하고 그를 통한 플래시메모리의 수명 연장을 가능하게 한다.
플래시, 메모리, 가상, 드라이버, 관리

Description

플래시 메모리 관리 방법과 장치 및 그 구조{Flash memory management method and apparatus and structure}
도 1은 일반적인 플래시메모리 관리계층을 도시한 도면,
도 2는 본 발명에 따른 플래시메모리 관리장치를 도시한 도면,
도 3은 도 2의 플래시변환관리자를 도시한 도면,
도 4는 본 발명에 따른 가상 드라이버 생성방법을 예로 들어 도시한 도면,
도 5는 본 발명에 따른 가상주소변환테이블을 예로 들어 도시한 도면,
도 6은 본 발명에 따른 마모관리테이블을 예로 들어 도시한 도면,
도 7은 도 6의 마모영역을 좀 더 상세히 설명하기 위한 도면,
도 8은 본 발명에 따른 플래시메모리 관리방법을 도시한 도면,
도 9는 본 발명에 따른 가비지회수방법을 예로 들어 도시한 도면,
도 10은 본 발명에 따른 마모평준화방법을 예로 들어 도시한 도면,
도 11은 본 발명에 따른 가상섹터구조를 예로 들어 도시한 도면이다.
* 도면의 주요 부분에 대한 부호의 설명 *
200 : 플래시메모리 관리장치 210 : 플래시메모리 장치관리자
220 : 데이터적응형 가상드라이브 관리자
230 : 데이터적응형 플래시변환관리자
300 : 플래시메모리
본 발명은 휴대용 전자기기에 사용되는 플래시메모리의 데이터를 처리함에 있어서 데이터특성, 특히 플래시메모리에서의 데이터 입/출력특성을 고려함으로써 차별화된 성능을 제공하고 그를 통해 플래시메모리의 수명을 연장시킬 수 있도록 하는, 플래시 메모리 관리 방법 및 장치 그리고 구조에 관한 것이다.
일반적으로, 플래시 메모리는 전기적 데이터의 기록 및 삭제가 가능한 고집적 비휘발성 메모리 소자로서, 데이터의 기록 및 삭제가 용이한 램의 장점과 전원공급 차단시에도 데이터를 보존하는 롬의 특성을 동시에 지니며, 충격에도 강한 속성을 지니고 있어 최근 디지털 카메라, PDA, MP3플레이어, 휴대폰 등의 전자기기 저장매체로 널리 이용되고 있다.
플래시 메모리가 일반저장매체와 다른점은 데이터변경시, 변경 데이터의 기록과정 이외에 부가적인 데이터의 지우기 과정이 수반된다는 점이다. 초기화 상태에서 플래시 메모리의 특정 위치에 데이터를 기록할 수 있지만, 일단 기록된 영역은 지우기 전까지 재사용될 수 없다.
즉, 특정 위치의 데이터를 변경하기 위해서는 특정 위치를 포함하는 일정량의 메모리 블록을 지우기 과정을 거친 후, 변경 데이터를 재기록해야 한다. 이러한 연산과정은 데이터의 읽기 연산에 비해 상당히 느리며, 많은 에너지를 소모한다.
따라서, 파일시스템이 플래시 메모리를 하드 디스크와 같은 블록장치로 사용할 수 있도록 블록을 사상해주며, 플래시 메모리의 수명 및 에너지 소모를 고려하는 플래시 변환 계층이 필요하다.
플래시 변환 계층에 대한 대표적인 것으로서, 미국 엠-시스템사의 TrueFFS가 있는데, 이는 도 1에 도시된 바와 같은 계층적 구조를 가진다.
이러한 계층적 구조는 데이터의 특성을 고려하지 않고 하부 플래시 메모리에 대해 획일적인 데이터 배치 방법, 가비지 회수 정책, 마모 평준화 기술을 적용하기 때문에 차별화된 성능 향상을 기대할 수 없다.
따라서, 데이터의 특성, 특히 입/출력 특성에 따라 차별화된 블록 입출력 서비스를 제공하는 새로운 플래시 메모리의 관리 방법, 장치 및 구조가 필요하다.
이에 본 발명은 상기한 필요성을 만족시키기 위하여 개발된 것으로, 휴대용 전자기기에 사용되는 플래시메모리의 데이터를 처리함에 있어서 데이터특성, 특히 플래시메모리에서의 데이터 입/출력특성을 고려함으로써 차별화된 성능을 제공하고 그를 통해 플래시메모리의 수명을 연장시킬 수 있도록 하는, 플래시 메모리 관리 방법 및 장치 그리고 구조를 제공하는데 목적이 있다.
이를 위해 본 발명은, 플래시메모리의 데이터관리를 가상섹터를 통해 수행하는 소정의 가상관리메쏘드를 미리 정의한 데이터특성에 따라 상이하게 다수 설정하여 외부로부터의 데이터관리 요청시 데이터의 해당 특성에 적합한 어느 하나를 선택하여, 선택한 가상관리메쏘드에 따라 가비지 회수, 마모 평준화, 블록 할당 등이 포함된 데이터관리항목 중에서 요청된 어느 하나를 선택적으로 수행함으로써, 데이터 특성에 따라 차별화된 서비스를 제공할 수 있도록 한다.
이하, 첨부된 도면을 참조하여 본 발명을 살펴보면 다음과 같다.
먼저, 본 발명에 따른 플래시메모리 관리 장치는, 플래시메모리를 직접 액세스하는 플래시메모리 장치관리자(210); 플래시메모리 장치관리자(210)가 액세스하는 물리적섹터와, 물리적섹터들을 소정개수만큼 분할/통합시킨 해당 가상섹터간의 대응관계를 미리 정의된 데이터특성에 따라 상이한 방식으로 설정등록하고 변환관리하는 데이터적응형 가상드라이브 관리자(220); 미리 정의된 데이터특성에 따라 상이하게 다수 설정되고 가상드라이브 관리자(220)에서 데이터특성에 따라 제공하는 어느 하나의 가상주소변환방식과 연동하여 가비지회수, 마모평준화, 블록할당 등의 데이터관리항목들 중 어느 하나를 선택 수행하는 데이터적응형 플래시변환 관리자(230)를 포함하여 이루어진다.
이러한 본 발명의 플래시메모리 관리장치에서, 최하위 계층을 담당하는 플래시메모리 장치관리자(210)는 플래시 메모리에 접근할 수 있는 수단, 즉 플래시 메모리에 대한 읽기/쓰기/지우기 연산을 통해 플래시 메모리를 직접적으로 관리하며, 통상의 접근은 물리적 주소를 통해 수행되고 비트-플립핑과 같은 하드웨어적 오류를 검출/정정하는 기능도 포함되는데, 이러한 장치관리자는 일반적인 것으로 여기서는 그에 대한 상세한 설명을 생략하기로 한다.
다음, 본 발명의 데이터적응형 가상드라이브 관리자(220)는, 플래시메모리 장치관리자(210)가 액세스하는 물리적섹터와, 물리적섹터들을 소정개수만큼 분할/통합시킨 해당 가상섹터 상호간의 대응관계를 미리 정의된 소정의 데이터특성에 따라 상이한 방식으로 설정등록하고 변환관리한다.
즉, 본 발명의 데이터적응형 가상드라이브 관리자(220)는, 가상섹터와 물리적섹터간의 대응관계를 설정/변환/유지하되, 각각의 대응관계는 플래시메모리에 저장된 데이터의 특성이 무엇이냐에 따라 서로 다르게 설정/변환/유지한다.
그리고, 플래시메모리에 저장된 데이터접근시에 참조되는 가상주소는 물리적섹터와의 대응관계가 기록된 주소변환테이블을 이용하여 플래시 메모리상의 물리적 주소로 변환되도록 하는데, 변환테이블은 가상드라이브마다 개별적으로 설정/변환/유지되며, 상세한 항목은 후술하기로 한다.
본 발명에서 사용되는 데이터특성은, 여러 기준에 따라 분류 가능하며 특히 데이터 입/출력 특성에 따라 구분할 경우에는 하기와 같이, 즉 정의된 소정개수만큼 대용량의 멀티미디어 데이터가 순차저장되어 입/출력되는 경우를 나타내는 제1데이터 특성과 이산저장되어 입/출력되는 경우를 나타내는 제2데이터특성으로 구분 설정하여 본 발명에 따라 사용하는 것이 바람직한데, 이러한 분류는 본 발명의 기술적 사상을 벗어나지 않는 범위내에서 다양한 변형이 가능하다.
한편, 본 발명의 데이터적응형 플래시변환 관리자(230)는, 미리 정의된 데이터특성에 따라 상이하게 다수 설정되며, 가상드라이브 관리자에서 소정의 데이터특성에 따라 적합한 것으로 제공하는 어느 하나의 가상주소변환방식 구체적으로는 소정의 주소변환테이블과 연동하여 가비지회수, 마모평준화, 블록할당 등의 데이터관 리항목들 중 어느 하나를 선택 수행한다.
블록할당은 데이터저장을 위한 플래시메모리 영역할당방식이고, 가비지회수는 데이터저장을 위한 메모리의 공간이 부족할 시 무효한 데이터를 지우는 방식이며, 마모평준화는 마모영역을 플래시메모리 전 영역에 골고루 분산시켜 플래시메모리의 수명을 연장시키기 위한 것으로, 각각은 상호 연동적으로 운용되며 플래시메모리의 수명과 직결되는 것으로 본 발명에 따른 구체적인 동작은 후술하기로 한다.
계속해서, 본 발명의 데이터적응형 플래시변환 관리자(230)는, 미리 정의된 데이터특성에 따라 상이하게 다수 설정되며, 예컨대 전술한 데이터의 입/출력 특성에 따라 즉 순차적으로 입/출력되는 제1데이터특성과 이산적으로 입/출력되는 제2데이터특성에 따라 상기의 가상주소변환계층과 연동하여 차별화된 데이터 입/출력 서비스를 제공하는데, 도 3은 이러한 플래시변환관리자를 예로 들어 설명한 도면이다.
상기 도 3에 도시된 바와 같이, 본 발명은 플래시메모리에 저장된 데이터가 미리 정의된 어떠한 특성을 가지고 있느냐에 따라 각 특성에 맞는 플래시변환관리자를 설정해두며, 이러한 상태에서 소정의 데이터를 관리하고자 하는 경우, 해당 데이터의 특성을 파악해 그 특성에 맞는 플래시변환관리자를 선택하고, 요청된 데이터관리항목이 가비지회수, 마모평준화, 블록할당 중 어떠한 것이냐에 따라 해당 관리항목에 적합한 모듈을 사용해 가상드라이브내의 가상주소변환테이블과 연동적으로 해당 동작을 수행한다.
예를 들면, 순차 입/출력되는 소정의 제1데이터특성에 적합한 제1데이터적응 형 플래시변환관리자를, 그리고 이산저장된 소정의 제2특성에 적합한 제2데이터적응형 플래시변환관리자를 각기 설정하여 각 데이터특성에 대응되도록 설정된 가상주소변환계층, 구체적으로는 가상주소변환테이블과 연동하여 차별화된 데이터 입/출력 서비스를 제공하게 되는데 이하에서는, 도 4 내지 도 7을 참조하여 특히, 동영상과 같이 순차적으로 입/출력되는 대용량의 멀티미디어데이터 즉, 제1데이터특성을 따르는 가비지회수, 마모평준화 및 블록할당방식을 순차적으로 설명한다.
먼저, 도 4에 도시된 바와 같이, 본 발명은 장치관리자를 통해 접근 가능한 플래시메모리를 분할 혹은 통합하여 상위 플래시 변환 계층이 데이터를 저장할 서로 다른 수준의 안정성을 보장할 수 있도록 하는데, 가상 드라이버는 하나 이상의 플래시 메모리로 구성되며 가상드라이버와 실제 플래시 메모리간의 매핑은 가상 섹터와 물리적 섹터의 매핑에 의해 결정되고, 매핑은 소정의 주소변환테이블을 이용하여 수행하도록 하는 것이 바람직한데, 변환테이블은 개별 가상 드라이브마다 유지되고, 테이블의 각 항목은 도 5에 도시된 바와 같다.
즉, 변환테이블은 가상 드라이브를 구성하는 각 플래시 메모리의 시작위치에 해당하는 가상섹터번호, 가상섹터와 물리적 섹터의 매핑관계를 나타내는 매핑인자, 가상 드라이브를 구성하는 플래시메모리 식별자, 물리적 섹터의 시작번호, 물리적 섹터의 개수의 정보를 포함하여 가상드라이브마다 개별적으로 설정된다.
그리고, 도 6에서 마모리스트는 가상섹터의 마모영역정보, 즉 마모영역의 시작위치 및 끝위치정보를 그리고 "다음마모영역"은 다음번째의 마모영역위치를 지시하는 포인터정보가 포함하며, 시작위치 및 끝위치는 하부 물리적섹터의 경계에 의 해 항상 정렬된다. 그리고 마모영역수는 가상섹터내의 마모영역수를 나타내고, 마모된수는 해당 가상섹터가 전체적으로 지워진 횟수를 나타내는데, 이러한 정보는 마모관리테이블로 구성되며 가상섹터별로 관리된다.
마지막으로, 도 7에 도시된 바와 같이, 마모영역은 여러개의 가상섹터로 이루어지며, 하나의 가상섹터에는 하나의 물리적 섹터만이 매핑될 수도 있고, 여러개의 물리적 섹터가 하나의 가상섹터에 매핑될 수도 있는 바 본 발명의 기술적 사상을 벗어나지 않는 범위내에서 다양한 변형이 가능하다.
다음, 도 4 내지 도 7에 도시된 바대로 셋팅된 참조정보를 이용해 도 8 내지 도 10에 도시된 플래시메모리관리양태를 설명하는데, 본 발명에서는 대응되는 가상주소변환방식과 플래시변환방식을 하나의 가상관리메쏘도로 정의한다.
상기 도 7은 본 발명에 따른 플래시메모리 데이터관리를 전체적으로 도시한 플로우챠트로서, 이에 도시된 바와 같이, 우선, 플래시메모리 데이터관리는 플래시메모리의 데이터관리를 가상섹터를 통해 수행하는 소정의 가상관리메쏘드를 미리 정의한 데이터특성에 따라 상이하게 다수 설정한 상태에서 외부로부터의 데이터관리 요청시(S800) 데이터의 해당 특성을 파악한 후(S810) 그에 적합한 어느 하나를 선택한다(S820, S830, S840).
그런 후, 단계(S820, S830, S840)에서 선택한 가상관리메쏘드를 적용하여 가비지 회수, 마모 평준화, 블록 할당 등이 포함된 데이터관리항목 중에서 요청된 어느 하나를 선택적으로 수행하게 되는데(S850, S860, S870), 순차 입/출력 데이터특성에 적합한 가상관리메쏘드가 선택된 경우에, 가비지 회수는 예컨대, 다음과 같이 이루어진다.
즉, 도 9에 도시된 바와 같이, 해당 가상관리메쏘드는 가상섹터의 지워진 횟수, 해당 가상섹터 내부의 마모영역 수, 해당 마모영역의 위치정보가 포함된 마모리스트가 가상섹터별로 각기 등록된 소정의 마모관리테이블을 참조하여, 가비지 회수 요청시, 지워진 횟수가 가장적은 가상섹터를 우선적으로 검출한다(S821).
그런 후, 가비지회수영역에 해당되는 크기만큼 해당 가상섹터내의 일부영역 또는 전체영역을 소거하는데 부족할 경우, 지워진 횟수가 다음번째로 작은 가상섹터를 검출하여(S827) 내부의 비마모영역과 이전 가상섹터의 비마모영역을 가산하고(S828) 단계(S822)로 진행하여 도시된 시퀀스를 다시 루틴한다.
한편, 가상섹터내의 일부영역이 소거된 경우엔 나누어진 두 영역의 위치정보를 해당 가상섹터의 마모관리테이블에 기록하고(S823, S824), 전체영역이 소거된 경우엔 해당 가상섹터의 마모리스트를 제거하며(S825) 지워진 횟수를 "1"증가시켜 마모관리테이블에 등록하여(S826) 가비지 회수를 종료한다.
다음, 도 10을 참조하여 순차 입/출력 데이터특성에 적합한 가상관리메쏘드가 선택된 경우에, 마모평준화는 다음과 같이 이루어진다.
본 발명에서, 순차 입/출력 데이터특성에 적합한 마모 평준화는, 해당 가상관리메쏘드가 가상섹터의 지워진 횟수, 해당 가상섹터 내부의 마모영역 수, 해당 마모영역의 위치정보가 포함된 마모리스트가 가상섹터별로 각기 등록된 소정의 마모관리테이블을 참조하여, 마모 평준화 요청시, 지워진 횟수를 비교해 지워진 횟수가 가장적은 가상섹터를 검출하고 해당 가상섹터내의 비마모영역에 대응되는 물리 적 섹터를 소거해 가상섹터별 및 해당 가상섹터의 전체영역에 대한 마모 평준화를 동시에 수행한다.
구체적으로는 도 10에 도시된 바와 같다.
즉, 먼저 가상섹터의 지워진 횟수, 그 내부의 마모영역 수, 해당 마모영역의 위치정보가 포함된 마모리스트가 가상섹터별로 각기 셋/리셋되는 소정의 마모관리테이블을 참조하여, 마모 평준화 요청시, 지워진 횟수를 비교한다(S881).
그런 후, 비교결과, 지워진 횟수가 모두 동일한 경우엔 가상섹터를 랜덤하게 임의로 선택하고(S883), 동일하지 않은 경우엔 지워진 횟수가 가장적은 가상섹터를 선택한다(S884).
그리고, 선택한 가상섹터내의 비마모영역 유무를 판별하여(S884), 비마모영역이 있는 경우엔 검출하여(S885) 해당되는 물리적 섹터를 소거해(S886) 마모리스트에 등록하며(S887, S888), 비마모영역이 없는 경우엔 해당 가상섹터의 전체 마모리스트를 제거하고(S889) 지워진 횟수를 "1"증가시켜(S890) 마모관리테이블에 등록하여 가상섹터별 및 해당 가상섹터의 전체영역에 대한 마모 평준화를 동시에 수행하여 마모평준화과정을 종료하게 된다.
한편, 본 발명에서 순차 입/출력 데이터특성에 적합한 블록 할당은 가상섹터의 지워진 횟수, 그 내부의 마모영역 수, 해당 마모영역의 위치정보가 포함된 마모리스트가 가상섹터별로 각기 셋/리셋되는 소정의 마모관리테이블을 참조하여, 블록 할당 요청시 저장공간이 없는 경우, 지워진 횟수가 가장적은 가상섹터부터 순차적으로 블록할당을 수행하도록 하는 것이 바람직하다.
전술한 바와 같이, 본 발명은 순차 입/출력 데이터특성을 고려하여 설정된 소정의 가상관리메쏘드를 사용함으로써 가비지 회수, 마모평준화, 블록할당과 같은 데이터관리를 효율적으로 수행하여 데이터 특성에 따른 차별화된 성능을 제공할 수 있으며, 더불어 플래시메모리의 수명도 연장할 수 있게 된다.
한편, 이산저장의 제2데이터특성에 적합한 가상관리메쏘드를 사용하는 경우엔, 가비지 회수, 마모 평준화, 블록할당 각각은 데이터 저장위치를 검출할 때, 우선적으로 이중해싱함수로 데이터가 저장될 가상섹터의 위치를 찾고 해시값이 충돌이 발생될 경우엔 지수적백오프함수로 데이터가 저장될 가상섹터의 위치를 찾도록 하는 것이 바람직하다.
이산적으로 입/출력되는 데이터는 그 용량이 작아 이중해싱과 지수적백오프방법을 이용하는데, 이중 해싱을 이용하는 방법은 플래시메모리 영역을 골고루 이용하도록 하며, 충돌이 발생할 경우, 즉 이미 데이터가 저장된 영역에 데이터를 저장할 경우에는 지수적 백오프 방식을 이용해 데이터가 저장될 위치를 결정함으로써 데이터 저장위치를 별도의 정보로 유지하지 않고도 가능하게 해주고, 데이터의 정보, 즉 파일이름과 드라이브정보를 이용해 데이터가 저장될 위치를 잘 알려진 해시함수1과 해시함수2를 통해 검출한다.
한편, 전술한 이중해싱과 지수적백오프방식 자체는 일반적인 기술로 여기서는 그 자체에 대한 상세한 설명을 생략하기로 하며, 이산 입출력데이터 특성에 적합한 가상섹터구조도는 예컨대 도 11에 도시된 바와 같다.
상기 이산 입출력데이터 특성에 적합한 가상섹터구조도는 도 11에 도시된 바 와 같이, 가상섹터요약헤더에는 가상섹터의 수와 가상섹터내의 블록의 수로 구성되고, 가상섹터는 헤더와 데이터블록으로 구성되며, 헤더에는 지우기 연산 횟수, 시간정보를 나타내는 타임 스탬프, 섹터의 상태를 나타내는 플래그, 가상섹터내에 있는 블록들의 블록정보로 구성되고, 블록정보는 블록번호와 블록의 상태를 나타내는 플래그로 구성된다.
이상에서 상세히 설명한 바와 같이, 본 발명에 따른 플래시 메모리 관리 방법 및 장치 그리고 구조는 특히 휴대용 전자기기에 사용되는 플래시메모리의 데이터를 처리함에 있어서 데이터특성, 특히 플래시메모리에서의 데이터 입/출력특성을 고려함으로써 차별화된 성능을 제공하고 플래시메모리의 수명을 연장시킬 수 있고, 플래시메모리의 영역을 가상드라이브를 통해 제공함으로써 안정성을 보장할 수 있으며 플래시변환계층에서 플래시메모리의 블록입출력 서비스를 제공함으로써 플래시메모리 전용파일시스템을 별도로 제작할 필요가 없는 효과가 있다.
본 발명은 기재된 구체적인 예에 대해서만 상세히 설명되었지만 본 발명의 기술사상 범위 내에서 다양한 변형 및 수정이 가능함은 당업자에게 있어서 명백한 것이며, 이러한 변형 및 수정이 첨부된 특허청구범위에 속함은 당연한 것이다.

Claims (13)

  1. 플래시메모리의 데이터관리를 가상섹터를 통해 수행하는 소정의 가상관리메쏘드를 미리 정의한 데이터특성에 따라 상이하게 다수 설정하여 외부로부터의 데이터관리 요청시 데이터의 해당 특성에 적합한 어느 하나를 선택하는 제1과정;
    상기 제1과정에서 선택한 가상관리메쏘드를 적용하여 가비지 회수, 마모 평준화, 블록 할당 등이 포함된 데이터관리항목 중에서 요청된 어느 하나를 선택적으로 수행하는 제2과정으로 이루어지는, 플래시 메모리 관리 방법.
  2. 제 1 항에 있어서, 상기 데이터 특성은;
    멀티미디어 데이터가 정의된 소정개수만큼 순차 입/출력되는 제1데이터 특성과 이산 입/출력되는 제2데이터특성을 포함하여 이루어지는 것을 특징으로 하는, 플래시 메모리 관리 방법.
  3. 제 2 항에 있어서,
    순차 입/츨력의 제1데이터특성에 적합한 가상관리메쏘드가 상기 제1과정에서 선택된 경우, 상기 제2과정의 가비지 회수는;
    지워진 횟수가 가장적은 가상섹터부터 순차적으로 검출해 가비지 회수를 수행하는 것을 특징으로 하는, 플래시 메모리 관리 방법.
  4. 제 2 항에 있어서,
    순차 입/츨력의 제1데이터특성에 적합한 가상관리메쏘드가 상기 제1과정에서 선택된 경우, 상기 제2과정의 가비지 회수는;
    지워진 횟수가 가장적은 가상섹터를 우선적으로 검출해 가비지회수영역에 해당되는 크기만큼 해당 가상섹터내의 일부영역 또는 전체영역을 소거하는 제2-1과정;
    상기 제2-1과정에서 가상섹터내의 일부영역이 소거된 경우엔 나누어진 두 영역의 위치정보를 나누어 기록/관리하고, 전체영역이 소거된 경우엔 해당 가상섹터내의 마모영역을 전체적으로 제거하고 지워진 횟수를 "1"증가시키는 제2-2과정을 포함하여 수행되는 것을 특징으로 하는, 플래시 메모리 관리 방법.
  5. 제 4 항에 있어서, 상기 제2-1과정은;
    가상섹터의 지워진 횟수, 해당 가상섹터 내부의 마모영역 수, 해당 마모영역의 위치정보가 포함된 마모리스트가 가상섹터별로 각기 등록된 소정의 마모관리테이블을 참조하여 지워진 횟수가 가장적은 가상섹터를 검출할 수 있도록 하는 것을 특징으로 하는, 플래시 메모리 관리 방법.
  6. 제 2 항에 있어서,
    순차저장의 제1데이터특성에 적합한 가상관리메쏘드가 상기 제1과정에서 선 택된 경우, 상기 제2과정의 마모 평준화는;
    가상섹터의 지워진 횟수를 비교해 지워진 횟수가 가장적은 가상섹터를 검출하고 해당 가상섹터내의 비마모영역에 대응되는 물리적 섹터를 소거해 가상섹터별 및 해당 가상섹터의 전체영역에 대한 마모 평준화를 동시에 수행하는 것을 특징으로 하는, 플래시메모리 관리방법.
  7. 제 2 항에 있어서,
    상기 제1과정에서 선택한 가상관리메쏘드가 순차저장의 제1데이터특성에 적합한 가상관리메쏘드인 경우, 상기 제2과정의 마모 평준화는;
    마모 평준화 요청시, 가상섹터의 지워진 횟수, 그 내부의 마모영역 수, 해당 마모영역의 위치정보가 포함된 마모리스트가 가상섹터별로 각기 셋/리셋되는 소정의 마모관리테이블을 참조하여 지워진 횟수를 비교하는 제2-3과정;
    상기 제2-3과정에서 비교한 결과, 지워진 횟수가 모두 동일한 경우엔 가상섹터를 랜덤하게 선택하고, 동일하지 않은 경우엔 지워진 횟수가 가장적은 가상섹터를 선택하는 제2-4과정;
    상기 제2-4과정에서 선택한 가상섹터내의 비마모영역 유무를 판별하는 제2-5과정;
    상기 제2-5과정에서 비마모영역이 있는 경우 해당되는 물리적 섹터를 소거하여 마모리스트에 등록하고, 비마모영역이 없는 경우 해당 가상섹터의 전체 마모리스트를 제거하여 지워진 횟수를 "1"증가시켜 마모관리테이블에 등록하는 제2-6과정 을 포함하는 것을 특징으로 하는, 플래시메모리 관리방법.
  8. 제 2 항에 있어서,
    상기 제1과정에서 선택한 가상관리메쏘드가 순차저장의 제1데이터특성에 적합한 가상관리메쏘드인 경우, 상기 블록 할당은;
    블록 할당 요청시 저장공간이 없는 경우, 지워진 횟수가 가장적은 가상섹터부터 순차적으로 블록할당을 수행하는 것을 특징으로 하는, 플래시메모리 관리 방법.
  9. 제 2 항에 있어서,
    상기 제1과정에서 선택한 가상관리메쏘드가 이산저장의 제2데이터특성에 적합한 가상관리메쏘드인 경우, 상기 가비지 회수, 마모 평준화, 블록할당 각각은;
    데이터 저장위치를 검출할 때, 우선적으로 이중해싱함수로 데이터가 저장될 가상섹터의 위치를 찾도록 하고;
    해시값이 충돌이 발생될 경우엔 지수적백오프함수로 데이터가 저장될 가상섹터의 위치를 찾도록 하는 것을 특징으로 하는, 플래시메모리 관리 방법.
  10. 제 1 항 내지 제 9 항 중 어느 한 항에 있어서, 상기 가상메쏘드는;
    플래시메모리의 물리적섹터와 해당 가상섹터간의 매핑관계가 미리 정의된 데이터특성에 따라 상이한 방식으로 설정등록 및 변환관리되는 가상주소변환계층;
    미리 정의된 데이터특성에 따라 상이하게 설정되어 해당되는 가상주소변화계층과 연동하여 가비지회수, 마모평준화, 블록할당이 포함된 소정의 데이터관리항목 중에서 어느 하나를 수행하는 플래시변환계층으로 이루어진 것을 특징으로 하는, 플래시메모리 관리방법.
  11. 플래시메모리를 직접 액세스하는 플래시메모리 장치관리자;
    플래시메모리 장치관리자가 액세스하는 물리적섹터와, 물리적섹터들을 소정개수만큼 분할/통합시킨 해당 가상섹터간의 대응관계를 미리 정의된 데이터특성에 따라 상이한 방식으로 설정등록하고 변환관리하는 데이터적응형 가상드라이브 관리자;
    미리 정의된 데이터특성에 따라 상이하게 다수 설정되고 가상드라이브 관리자에서 데이터특성에 따라 제공하는 어느 하나의 가상주소변환방식과 연동하여 가비지회수, 마모평준화, 블록할당 등의 데이터관리항목들 중 어느 하나를 선택 수행하는 데이터적응형 플래시변환 관리자를 포함하여 이루어지는, 플래시메모리 관리 장치.
  12. 제 11 항에 있어서, 데이터 적응형 가상드라이브 관리자는;
    멀티미디어 데이터가 정의된 소정개수만큼 순차 저장되어 입/출력되는 제1데이터 특성에 적합한 제1가상드라이브관리자와 이산 저장되어 입/출력는 제2데이터특성에 적합한 제2가상드라이브관리자를 포함하여 이루어지는 것을 특징으로 하는, 플래시메모리 관리장치.
  13. 물리적섹터에 액세스하여 플래시메모리에 대한 읽기/쓰기/지우기 연산을 수행하는 플래시메모리 기술계층;
    플래시메모리에 액세스하는 물리적섹터와, 물리적섹터들을 소정개수만큼 분할/통합시킨 해당 가상섹터간의 대응관계를 미리 정의된 데이터특성에 따라 상이한 방식으로 설정등록하고 변환관리하는 가상주소변환계층;
    미리 정의된 데이터특성에 따라 상이하게 다수 설정되고 가상주소변환계층에서 데이터특성에 따라 제공하는 어느 하나의 가상주소변환관계와 연동하여 가비지회수, 마모평준화, 블록할당 등의 데이터관리항목들 중 어느 하나를 선택 수행하는 플래시변환계층으로 이루어지는, 플래시메모리 관리 구조.
KR1020040056524A 2004-07-20 2004-07-20 플래시 메모리 관리 방법과 장치 및 그 구조 KR20060007667A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040056524A KR20060007667A (ko) 2004-07-20 2004-07-20 플래시 메모리 관리 방법과 장치 및 그 구조

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040056524A KR20060007667A (ko) 2004-07-20 2004-07-20 플래시 메모리 관리 방법과 장치 및 그 구조

Publications (1)

Publication Number Publication Date
KR20060007667A true KR20060007667A (ko) 2006-01-26

Family

ID=37118876

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040056524A KR20060007667A (ko) 2004-07-20 2004-07-20 플래시 메모리 관리 방법과 장치 및 그 구조

Country Status (1)

Country Link
KR (1) KR20060007667A (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100684942B1 (ko) * 2005-02-07 2007-02-20 삼성전자주식회사 복수의 사상 기법들을 채용한 적응형 플래시 메모리 제어장치 및 그것을 포함한 플래시 메모리 시스템
KR100739722B1 (ko) * 2005-08-20 2007-07-13 삼성전자주식회사 플래시 메모리 관리 방법 및 플래시 메모리 시스템
KR101017067B1 (ko) * 2008-04-08 2011-02-25 재단법인서울대학교산학협력재단 낸드 플래시 메모리를 위한 지역성 기반의 가비지 컬렉션기법
US8307150B2 (en) 2009-01-30 2012-11-06 Samsung Electronics Co., Ltd. Apparatus and method for managing memory
CN116405726A (zh) * 2023-06-05 2023-07-07 深圳市华曦达科技股份有限公司 基于emmc磨损度的数据存储控制方法、系统和可读存储介质
CN117687570A (zh) * 2023-11-17 2024-03-12 鸿秦(北京)科技有限公司 一种固态硬盘中读写服务自适应的方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100684942B1 (ko) * 2005-02-07 2007-02-20 삼성전자주식회사 복수의 사상 기법들을 채용한 적응형 플래시 메모리 제어장치 및 그것을 포함한 플래시 메모리 시스템
US8117374B2 (en) 2005-02-07 2012-02-14 Samsung Electronics Co., Ltd. Flash memory control devices that support multiple memory mapping schemes and methods of operating same
KR100739722B1 (ko) * 2005-08-20 2007-07-13 삼성전자주식회사 플래시 메모리 관리 방법 및 플래시 메모리 시스템
KR101017067B1 (ko) * 2008-04-08 2011-02-25 재단법인서울대학교산학협력재단 낸드 플래시 메모리를 위한 지역성 기반의 가비지 컬렉션기법
US8307150B2 (en) 2009-01-30 2012-11-06 Samsung Electronics Co., Ltd. Apparatus and method for managing memory
CN116405726A (zh) * 2023-06-05 2023-07-07 深圳市华曦达科技股份有限公司 基于emmc磨损度的数据存储控制方法、系统和可读存储介质
CN116405726B (zh) * 2023-06-05 2023-10-20 深圳市华曦达科技股份有限公司 基于emmc磨损度的数据存储控制方法、系统和可读存储介质
CN117687570A (zh) * 2023-11-17 2024-03-12 鸿秦(北京)科技有限公司 一种固态硬盘中读写服务自适应的方法

Similar Documents

Publication Publication Date Title
US10303601B2 (en) Method and system for rearranging a write operation in a shingled magnetic recording device
US7516295B2 (en) Method of remapping flash memory
US8103820B2 (en) Wear leveling method and controller using the same
US8631192B2 (en) Memory system and block merge method
US9367451B2 (en) Storage device management device and method for managing storage device
KR101497074B1 (ko) 불휘발성 메모리 시스템 및 그것의 데이터 관리 방법
JP4778942B2 (ja) 不揮発性メモリを管理する装置及び方法
US8484432B2 (en) Memory system
US8090900B2 (en) Storage device and data management method
US20080195801A1 (en) Method for operating buffer cache of storage device including flash memory
US20130227198A1 (en) Flash memory device and electronic device employing thereof
US7603593B2 (en) Method for managing bad memory blocks in a nonvolatile-memory device, and nonvolatile-memory device implementing the management method
US20090150597A1 (en) Data writing method for flash memory and controller using the same
CN106548789A (zh) 用于操作叠瓦式磁记录设备的方法和装置
US8433844B2 (en) Method for managing a memory device having multiple channels and multiple ways, and associated memory device and controller thereof
US20130166828A1 (en) Data update apparatus and method for flash memory file system
US20100318760A1 (en) Memory controller, nonvolatile storage device, and nonvolatile storage system
CN107817945B (zh) 一种混合内存结构的数据读取方法和系统
CN107562367B (zh) 基于软件化存储系统读写数据的方法以及装置
KR101204163B1 (ko) 반도체 기억 장치
US8068363B2 (en) Flash memory apparatus and read operation control method therefor
KR20060007667A (ko) 플래시 메모리 관리 방법과 장치 및 그 구조
JP2012521032A (ja) Ssdコントローラおよびssdコントローラの動作方法
JP4558054B2 (ja) メモリシステム
CN111324287A (zh) 一种存储器

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application