KR100859989B1 - 플래시 메모리의 공간정보 관리장치 및 그 방법 - Google Patents
플래시 메모리의 공간정보 관리장치 및 그 방법 Download PDFInfo
- Publication number
- KR100859989B1 KR100859989B1 KR1020060115436A KR20060115436A KR100859989B1 KR 100859989 B1 KR100859989 B1 KR 100859989B1 KR 1020060115436 A KR1020060115436 A KR 1020060115436A KR 20060115436 A KR20060115436 A KR 20060115436A KR 100859989 B1 KR100859989 B1 KR 100859989B1
- Authority
- KR
- South Korea
- Prior art keywords
- slot
- management information
- page
- flash memory
- management
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7207—Details relating to flash memory management management of metadata or control data
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
플래시 메모리의 공간정보 관리장치 및 그 방법이 개시된다. 저장부에는 플래시 메모리의 관리정보, 플래시 메모리에 기록될 데이터 및 플래시 메모리로부터 독출한 데이터가 저장된다. 관리정보 생성부는 플래시 메모리에 저장되어 있는 파일에 대한 접근 명령의 실행시 접근대상 파일 데이터가 저장되어 있는 슬롯 페이지들의 메타데이터 영역에 기록되어 있는 빈 슬롯의 수를 기초로 빈 공간이 존재하는 슬롯 페이지를 관리대상 슬롯 페이지로서 검출하고, 관리대상 슬롯 페이지의 포인터 및 각각의 관리대상 슬롯 페이지에 존재하는 빈 슬롯의 수를 기초로 플래시 메모리의 관리정보를 생성하여 저장부에 저장한다. 본 발명에 따르면, 플래시 메모리의 빈 공간정보의 변경에 의한 쓰기 연산의 수가 크게 감소하여 플래시 메모리의 전반적인 성능의 향상 및 수명 증가가 가능하다.
플래시 메모리, 빈 공간 리스트, 슬롯 페이지, 메타데이터, 블록
Description
도 1은 플래시 메모리의 슬롯 페이지 구조를 도시한 도면,
도 2는 이중 연결 리스트 구조로 이루어진 빈 공간 리스트의 일 예를 도시한 도면,
도 3은 본 발명에 따른 플래시 메모리의 공간정보 관리장치에 대한 바람직한 실시예의 상세한 구성을 도시한 도면,
도 4는 관리정보의 구조를 도시한 도면,
도 5는 본 발명에 따른 플래시 메모리의 공간정보 관리방법에 대한 바람직한 일 실시예의 수행과정을 도시한 흐름도, 그리고,
도 6은 본 발명에 따른 플래시 메모리의 공간정보 관리방법에 대한 바람직한 다른 실시예의 수행과정을 도시한 흐름도이다.
본 발명은 플래시 메모리의 공간정보 관리장치 및 그 방법에 관한 것으로, 보다 상세하게는, 낸드 플래시 메모리의 데이터 기록이 가능한 영역에 대한 정보와 데이터의 삭제에 따른 변경사항이 반영되는 공간정보를 관리하는 장치 및 방법에 관한 것이다.
플래시 메모리는 동일한 크기의 연속적인 블록으로 구성되며, 하나의 블록은 동일한 크기의 연속적인 페이지로 구성된다. 플래시 메모리에서 수행 가능한 연산은 읽기, 쓰기 및 소거의 세가지이다. 읽기 및 쓰기 연산은 페이지 단위로 수행되며, 소거 연산은 블록 단위로 수행된다. 이때, 쓰기 연산은 읽기 연산에 비해 많은 수행시간이 소요되며, 쓰기 연산에 비해 더 많은 수행시간이 소요되는 소거 연산을 유발시킨다. 따라서 쓰기 연산의 횟수를 줄일수록 플래시 메모리의 전반적인 성능이 향상된다.
플래시 메모리는 하드 디스크와 달리 플래시 메모리만의 고유한 특성들이 존재한다. 첫째, 쓰기 연산의 대상이 되는 페이지는 미리 소거되어 있어야 한다. 따라서 덮어쓰기(in-place update)가 불가능하며, 페이지 수정시 새로운 물리적 페이지(physical page)를 할당받아 쓰기 연산을 수행하여야 한다. 둘째, 플래시 메모리에서 수행가능한 소거 연산의 횟수는 일반적으로 10만번 이하로 제한되어 있다. 따라서 쓰기 연산을 많이 수행할수록 소거 연산이 많이 수행되며, 이로 인해 플래시 메모리의 수명이 단축된다.
도 1은 플래시 메모리의 슬롯 페이지 구조를 도시한 도면이다.
도 1을 참조하면, 슬롯 페이지(100)는 여러 개의 슬롯들(110 내지 180)과 하나의 메타데이터(190)로 구성된다. 슬롯 페이지(100)는 레코드를 저장하기 위한 대표적인 구조이다. 슬롯(110 내지 180)은 슬롯 페이지(100)를 여러 개의 동일한 크 기로 나눈 논리적인 구조이며, 하나의 슬롯에는 하나의 레코드가 저장된다. 슬롯(110 내지 180)의 크기는 저장될 레코드의 크기에 따라 달라지며, 하나의 슬롯 페이지(100)에 존재하는 슬롯의 수는 슬롯의 크기에 따라 달라진다. 메타데이터 영역(190)에는 슬롯 페이지(100)를 관리하는데 필요한 정보와 비어 있는 슬롯에 대한 정보인 빈 공간 리스트 구성 정보가 기록된다.
도 1에 도시된 바와 같은 슬롯 페이지 구조로 이루어진 플래시 메모리에 있어서, 레코드의 삭제가 발생함에 따라 슬롯 페이지에는 빈 슬롯이 많이 생기게 되며, 이에 따라, 슬롯 페이지의 저장 공간 사용 효율(space utilization)이 낮아지게 된다. 따라서 이러한 빈 슬롯에 새로운 레코드를 삽입하여 저장 공간 사용 효율을 높일 필요가 있으며, 슬롯 페이지의 저장 공간 사용 효율을 높이기 위한 방안으로 빈 공간 리스트에 의해 슬롯 페이지의 공간을 관리하는 방안이 제시된 바 있다. 이러한 빈 공간 리스트는 플래시 메모리에 기록되어 있는 파일마다 하나씩 존재하며, 새로운 레코드의 삽입이 가능한(즉, 빈 슬롯의 수가 하나 이상인) 모든 슬롯 페이지들을 리스트로 관리한다. 이때, 레코드가 하나도 저장되지 않은 슬롯 페이지들에 대한 정보는 빈 공간 리스트에 기록되지 않는다.
상술한 바와 같은 빈 공간 리스트는 이중 연결 리스트 구조로 슬롯 페이지들을 관리한다. 도 2에는 이중 연결 리스트 구조로 이루어진 빈 공간 리스트의 일 예가 도시되어 있다. 도 2를 참조하면, 각각의 슬롯 페이지(210 내지 250)의 메타데이터 영역(215, 225, 235, 245, 255)에는 해당 슬롯 페이지(예를 들면, 참조번호가 220인 슬롯 페이지)의 이전 슬롯 페이지(210)를 가리키는 포인터와 다음 슬롯 페이 지(230)를 가리키는 포인터가 기록된다. 만약 빈 공간 리스트에 존재하지 않던 슬롯 페이지에 대해 레코드의 삭제에 의해 빈 슬롯이 발생하면, 해당 슬롯 페이지에 대한 정보는 빈 공간 리스트의 시작부분에 추가된다. 따라서 신규 슬롯 페이지가 추가되기 전에 빈 공간 리스트의 시작부분에 위치하던 이전 슬롯 페이지의 메타데이터 영역에는 신규 슬롯 페이지를 가리키는 포인터가 추가로 기록되며, 신규 슬롯 페이지의 메타데이터 영역에는 이전 슬롯 페이지를 가리키는 포인터가 기록된다. 이와 같이 빈 공간 리스트의 변경이 발생할 경우에 변경이 발생한 슬롯 페이지의 메타데이터뿐만 아니라 주변 슬롯 페이지의 메타데이터도 함께 수정되어야 한다.
일예로, 도 2에 도시된 빈 공간 리스트에서 제1슬롯 페이지(210)이 새롭게 빈 공간 리스트의 시작 부분에 추가될 경우에 각각의 슬롯 페이지의 메타데이터 영역에 기록되어 있는 빈 공간 리스트 구성 정보는 다음과 같이 변경된다. 먼저, 제1슬롯 페이지(210)의 메타데이터 영역(215)에 제2슬롯 페이지(220)를 가리키는 포인터(b)가 추가된다. 또한, 제2슬롯 페이지(220)의 메타데이터 영역(225)에 새롭게 추가된 제1슬롯 페이지(210)를 가리키는 포인터(a)가 추가된다. 이러한 방식의 메타데이터의 수정은 덮어쓰기가 불가능한 플래시 메모리에서 한 번의 추가적인 쓰기 연산을 발생시킨다. 다만, 빈 공간 리스트의 첫 번째 슬롯 페이지를 가리키는 포인터도 제2슬롯 페이지(220)의 포인터(b)에서 제1슬롯 페이지(210)의 포인터(a)로 수정되어야 하지만, 포인터(a)는 메모리에 존재하므로 이에 대한 수정 비용은 크지 않다.
한편, 레코드의 삽입으로 인해 제1슬롯 페이지(210)에 더 이상 빈 슬롯이 존 재하지 않거나, 레코드의 삭제로 인해 제1슬롯 페이지(210)의 모든 레코드가 삭제될 때, 빈 공간 리스트에서 제1슬롯 페이지(210)가 삭제된다. 빈 공간 리스트에서 슬롯 페이지가 삭제되면, 해당 슬롯 페이지의 메타데이터뿐만 아니라 삭제되는 슬롯 페이지의 주변 슬롯 페이지들의 메타데이터도 모두 수정되어야 한다. 예를 들어, 제3슬롯 페이지(230)가 빈 공간 리스트에서 삭제될 때 제2슬롯 페이지(220)의 다음 슬롯 페이지를 가리키는 포인터(c)는 제4슬롯 페이지(240)를 가리키는 포인터(d)로 수정되어야 하고, 제4슬롯 페이지(240)의 이전 슬롯 페이지를 가리키는 포인터(c)는 제2슬롯 페이지(220)를 가리키는 포인터(b)로 수정되어야 한다. 이는 플래시 메모리에 대한 두 번의 추가적인 쓰기 연산을 발생시킨다. 이와 같이 빈 공간 리스트에서 슬롯 페이지의 삭제로 인해 발생하는 두 번의 추가적인 쓰기 연산은 매우 큰 빈 공간 리스트 관리 오버헤드로 작용한다.
상술한 바와 같이, 종래의 플래시 메모리 공간정보 관리방법은 빈 공간 리스트 구성 정보를 슬롯 페이지의 메타데이터 영역에 저장함으로써 빈 공간 리스트의 변경 시 플래시 메모리에 대한 쓰기 연산을 발생시킨다. 또한, 이중 연결 리스트로 구성된 빈 공간 리스트는 최대 두 번의 추가적인 쓰기 연산을 발생시키며, 잦은 쓰기 연산으로 인해 플래시 메모리의 전반적인 성능 저하와 수명 단축을 유발하는 문제가 있다.
본 발명이 이루고자 하는 기술적 과제는 빈 공간 리스트의 변경에 따른 추가적인 쓰기 연산의 발생을 최소화할 수 있는 플래시 메모리의 공간정보 관리장치 및 방법을 제공하는 데 있다.
본 발명이 이루고자 하는 다른 기술적 과제는 빈 공간 리스트의 변경에 따른 추가적인 쓰기 연산의 발생을 최소화할 수 있는 플래시 메모리의 공간정보 관리방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는 데 있다.
상기의 기술적 과제를 달성하기 위한, 본 발명에 따른 플래시 메모리의 공간정보 관리장치는, 플래시 메모리의 관리정보, 플래시 메모리에 기록될 데이터 및 플래시 메모리로부터 독출한 데이터가 저장되는 저장부; 및 상기 플래시 메모리에 저장되어 있는 파일에 대한 접근 명령의 실행시 접근대상 파일 데이터가 저장되어 있는 슬롯 페이지들의 메타데이터 영역에 기록되어 있는 빈 슬롯의 수를 기초로 빈 공간이 존재하는 슬롯 페이지를 관리대상 슬롯 페이지로서 검출하고, 상기 관리대상 슬롯 페이지의 포인터 및 각각의 관리대상 슬롯 페이지에 존재하는 빈 슬롯의 수를 기초로 상기 플래시 메모리의 관리정보를 생성하여 상기 저장부에 저장하는 관리정보 생성부;를 구비한다.
상기의 다른 기술적 과제를 달성하기 위한, 본 발명에 따른 플래시 메모리의 공간정보 관리방법의 바람직한 일 실시예는, 플래시 메모리로부터 접근대상 파일 데이터가 기록되어 있는 슬롯 페이지를 독출하여 저장수단에 저장하는 단계; 상기 저장수단에 저장되어 있는 각각의 슬롯 페이지의 메타데이터 영역으로부터 파악된 빈 슬롯의 수가 사전에 설정된 임계값 이상인 슬롯 페이지들을 관리대상 슬롯 페이 지로 선정하는 단계; 및 상기 선정된 관리대상 슬롯 페이지의 포인터 및 각각의 관리대상 슬롯 페이지에 존재하는 빈 슬롯의 수를 기초로 관리정보를 생성하여 상기 저장수단에 저장하는 단계;를 갖는다.
상기의 다른 기술적 과제를 달성하기 위한, 본 발명에 따른 플래시 메모리의 공간정보 관리방법의 바람직한 다른 실시예는, 플래시 메모리로부터 접근대상 파일 데이터가 기록되어 있는 슬롯 페이지를 독출하여 저장수단에 저장하는 단계; 상기 저장수단에 저장되어 있는 슬롯 페이지 중에서 마지막 슬롯 페이지로부터 접근대상 파일에 대응하여 각각의 슬롯 페이지의 메타데이터 영역으로부터 파악된 빈 슬롯의 수가 사전에 설정된 임계값 이상인 슬롯 페이지들의 포인터 및 빈 슬롯의 수를 기초로 생성된 관리정보를 독출하는 단계; 및 상기 저장수단에 저장되어 있는 슬롯 페이지에 대해 레코드의 삽입, 삭제 및 검색 중에서 어느 하나의 작업이 수행에 의해 작업수행대상 슬롯 페이지의 빈 슬롯의 수가 임계값 미만으로 변경되면, 상기 작업수행대상 슬롯 페이지에 대응하는 엔트리를 상기 관리정보에서 삭제하는 단계;를 갖는다.
이에 의해, 플래시 메모리의 빈 공간정보의 변경에 의한 쓰기 연산의 수가 크게 감소하여 플래시 메모리의 전반적인 성능의 향상 및 수명 증가가 가능하다.
이하에서 첨부된 도면들을 참조하여 본 발명에 따른 플래시 메모리의 공간정보 관리장치 및 방법의 바람직한 실시예에 대해 상세하게 설명한다.
도 3은 본 발명에 따른 플래시 메모리의 공간정보 관리장치에 대한 바람직한 실시예의 상세한 구성을 도시한 도면이다.
도 3을 참조하면, 본 발명에 따른 플래시 메모리의 공간정보 관리장치(300)는, 플래시 메모리 구동부(310), 저장부(320), 관리정보 생성부(330) 및 제어부(340)로 구성된다.
플래시 메모리 구동부(310)는 플래시 메모리에 접근하여 슬롯 페이지를 여러 개의 동일한 크기로 분할하여 이루어진 논리적인 구조의 슬롯에 데이터를 기록하거나 슬롯으로부터 데이터를 읽거나 슬롯에 기록된 데이터를 삭제하는 동작을 수행한다. 이때, 플래시 메모리 구동부(310)는 슬롯 페이지 단위로 데이터의 기록 및 읽기동작을 수행하고, 블록 단위로 데이터의 삭제동작을 수행한다.
저장부(320)에는 플래시 메모리의 관리정보가 저장된다. 또한 저장부(320)에는 플래시 메모리에 기록될 데이터가 임시로 저장되며, 플래시 메모리로부터 독출한 데이터가 임시로 저장된다. 이러한 저장부(320)는 플래시 메모리의 관리정보가 저장되는 제1저장부와 플래시 메모리에 기록될 데이터 및 플래시 메모리로부터 독출된 데이터가 저장되는 제2저장부로 구성될 수 있다. 이때 제2저장부는 일정시간동안만 데이터가 저장되는 버퍼 메모리로 이루어지는 것이 바람직하다.
관리정보 생성부(330)는 플래시 메모리에 저장되어 있는 파일에 대한 접근 명령의 실행시 접근대상 파일 데이터가 저장되어 있는 슬롯 페이지들의 메타데이터 영역에 기록되어 있는 빈 슬롯의 수를 기초로 빈 공간이 존재하는 슬롯 페이지를 관리대상 슬롯 페이지로서 검출한다. 이러한 관리대상 슬롯 페이지의 검출과정은 접근대상 파일 데이터가 저장되어 있는 슬롯 페이지들이 저장부(320)에 올라온 후 저장부(320)에 존재하는 슬롯 페이지에 대한 레코드의 삽입, 삭제, 검색 등의 동작 이 수행될 때 수행되도록 구성할 수 있다. 다음으로, 관리정보 생성부(330)는 관리대상 슬롯 페이지의 포인터 및 각각의 관리대상 슬롯 페이지에 존재하는 빈 슬롯의 수를 기초로 관리정보를 생성하여 저장부(320)에 저장한다. 관리정보 생성부(330)가 생성한 관리정보는 이중 연결 리스트 구조이다.
관리정보 생성부(330)가 생성한 관리정보는 접근대상 파일에 대한 작업의 종료시 접근대상 파일의 마지막 슬롯 페이지의 빈 슬롯 또는 접근대상 파일에 대해 새로 슬롯 페이지를 할당한 후 할당된 슬롯 페이지의 빈 슬롯에 기록되는 것이 바람직하다. 이러한 관리정보의 쓰기동작에 의해 플래시 메모리에 대한 쓰기 연산이 추가적으로 수행되는 단점이 있으나, 관리정보의 플래시 메모리에의 저장에 의해 일단 관리정보가 생성된 파일에 대한 추후 접근시 관리정보를 재차 생성할 필요없이 해당 파일에 대한 작업결과에 따른 변경사항만을 관리정보에 반영하면 되는 장점이 있다.
도 4에는 관리정보의 구조가 도시되어 있다.
도 4를 참조하면, 관리정보를 구성하는 각각의 엔트리(410, 420, 430, 440, 450)는 이전 슬롯 페이지를 가리키는 포인터(412, 422, 432, 442, 452)와 다음 슬롯 페이지를 가리키는 포인터(414, 424, 434, 444, 454), 각각의 슬롯 페이지에 존재하는 빈 슬롯의 수(416, 426, 436, 446, 456)로 구성된다. 이와 같은 구성을 갖는 관리정보를 자체에 구비된 저장부(320)에 유지함으로써, 빈 공간 리스트로서 기능하는 관리정보의 변경 시에도 플래시 메모리에 대한 쓰기 연산을 발생시키지 않고, 작은 업데이트 비용으로 빈 공간 리스트를 관리할 수 있다.
한편 관리정보 생성부(330)는 관리대상 슬롯 페이지들에 존재하는 빈 슬롯의 수를 기준으로 관리대상 슬롯 페이지들에 해당하는 엔트리들을 내림차순으로 정렬한다. 따라서 도 4에 도시된 관리정보를 구성하는 각각의 엔트리(410, 420, 430, 440, 450) 중에서 가장 처음에 위치하는 엔트리(410)의 빈 슬롯 수가 가장 크다. 이와 같이 빈 슬이 많이 존재하는 슬롯 페이지에 우선적으로 레코드를 삽입하면 저장 공간의 사용 효율을 높일 수 있는 이점이 있다. 또한 관리정보 생성부(330)는 관리대상 슬롯 페이지 중에서 빈 슬롯의 수가 사전에 설정되어 있는 임계값(예를 들면, 5개의 빈 슬롯) 이상인 슬롯 페이지들에 대해서만 관리정보를 생성하는 것이 바람직하다. 이 경우에도 선택된 관리대상 슬롯 페이지들에 해당하는 엔트리들은 빈 슬롯의 수를 기준으로 내림차순으로 정렬된다.
또한 관리정보 생성부(330)는 최대 k개의 엔트리만으로 관리정보를 구성하는 것이 바람직하다. 따라서 슬롯 페이지에 존재하는 빈 슬롯의 수가 사전에 설정된 임계값보다 많은 슬롯 페이지가 관리정보에 포함되지 못하는 경우가 발생한다. 예를 들어, 빈 슬롯에 대한 임계값과 관리정보에 포함되는 엔트리의 수가 각각 5와 10으로 설정되어 있는 경우에, 빈 슬롯의 수가 6인 슬롯 페이지보다 더 많은 빈 슬롯의 수를 갖는 슬롯 페이지의 수가 10개 이상이면 빈 슬롯의 수가 6인 슬롯 페이지는 관리정보의 엔트리에 포함되지 못한다. 따라서 레코드 검색 시에 추가되지 못했던 슬롯 페이지들에 해당하는 엔트리의 추가여부를 다시 한 번 확인하는 것이 바람직하다.
기존의 빈 공간 리스트에 의해 플래시 메모리를 관리하는 장치에서는 레코드 의 삽입과 삭제 시에만 슬롯 페이지의 빈 공간 리스트에의 추가 및 삭제 여부를 확인한다. 그러나 본 발명에 따른 플래시 메모리의 공간정보 관리장치는 레코드의 검색 시에도 리스트의 추가 및 삭제 여부를 확인한다. 이러한 관리정보 엔트리의 추가여부에 대한 확인과정에 의해 관리정보에 포함되어 있던 슬롯 페이지 중에서 레코드의 기록에 의해 더 이상 빈 슬롯이 존재하지 않게 되거나 빈 슬롯의 수가 임계값보다 작아지게 되어 관리정보로부터 제거됨으로써 발생하는 엔트리의 여유분을 채울 수 있다. 한편 관리정보의 엔트리가 사전에 설정되어 있는 개수만큼 존재하고, 저장부(320)에 올라와 있지만 관리정보에 포함되어 있지 않은 슬롯 페이지 중에서 빈 슬롯의 수가 임계값보다 큰 동시에 관리정보의 마지막에 위치한 엔트리에 해당하는 슬롯 페이지의 빈 슬롯 수보다 큰 슬롯 페이지가 존재할 수 있다. 이경우 관리정보 생성부(330)는 해당 슬롯 페이지에 대응하는 엔트리를 관리정보의 마지막 엔트리와 교체하고, 빈 슬롯의 수를 기준으로 관리정보의 엔트리를 재정렬한다.
메모리에 유지하는 엔트리의 개수(k)는 시스템의 특성에 따라 조절가능하며, 레코드의 삭제와 검색이 활발한 시스템에서는 슬롯 페이지의 엔트리 추가여부를 빈번하게 확인하므로 관리정보에 슬롯 페이지의 엔트리가 빈번하게 추가될 수 있어 작은 수의 엔트리의 유지가 가능하다. 플래시 메모리는 슬롯 페이지 단위로 읽기연산을 수행하므로, 이러한 엔트리의 추가여부를 확인하는 연산은 저장부(320)에 존재하는 관리정보와 저장부(320)에 올라와 있는 슬롯 페이지를 대상으로 수행되기 때문에 오버헤드가 매우 작다.
제어부(340)는 플래시 메모리 구동부(310) 및 관리정보 생성부(330)의 동작 을 제어하며, 저장부(320)의 데이터 저장 및 삭제를 관리한다. 특히 관리정보와 관련하여 제어부(340)는 파일 시스템을 참조하여 플래시 메모리로부터 접근대상 파일이 저장되어 있는 슬롯 페이지를 독출하도록 플래시 메모리 구동부(310)를 제어한다. 또한 제어부(340)는 파일에 대한 작업종료시 저장부(320)에 저장되어 있는 해당 파일의 관리정보를 플래시 메모리의 해당 파일의 마지막 슬롯 페이지에 기록하는 동작을 수행하도록 플래시 메모리 구동부(310)를 제어한다. 나아가 제어부(340)는 관리정보 생성부(330)가 수행하는 동작 중에서 일부(예를 들면, 관리정보에 포함되어 있는 엔트리의 삭제 및 변경)를 수행할 수 있으며, 저장부(320)의 관리자로서 기능할 수 있다.
도 5는 본 발명에 따른 플래시 메모리의 공간정보 관리방법에 대한 바람직한 일 실시예의 수행과정을 도시한 흐름도이다.
도 5를 참조하면, 제어부(340)로부터 플래시 메모리에 저장되어 있는 특정한 파일에 대한 접근 명령이 입력되면, 플래시 메모리 구동부(310)는 플래시 메모리로부터 접근대상 파일 데이터가 기록되어 있는 슬롯 페이지를 독출하여 저장부(320)에 저장한다(S500). 관리정보 생성부(330)는 저장부(320)에 저장되어 있는 각각의 슬롯 페이지의 메타데이터 영역으로부터 파악된 빈 슬롯의 수가 사전에 설정된 임계값 이상인지를 확인한다(S510). 다음으로, 관리정보 생성부(330)는 빈 슬롯의 수가 임계값 이상인 슬롯 페이지들 중에서 관리정보에 대해 설정되어 있는 엔트리의 개수에 해당하는 슬롯 페이지들을 관리대상 슬롯 페이지로 선정한다(S520). 다음으로, 관리정보 생성부(330)는 선정된 관리대상 슬롯 페이지의 포인터 및 각각의 관 리대상 슬롯 페이지에 존재하는 빈 슬롯의 수를 기초로 관리정보를 생성하여 저장부(320)에 저장한다(S530). 표 1에는 접근대상 파일 데이터가 기록되어 있는 슬롯 페이지의 수, 관리정보에 대해 설정되어 있는 엔트리의 개수 및 빈 슬롯의 수에 대해 설정된 임계값 이상인 슬롯 페이지의 수가 각각 10, 5 및 4인 경우에 관리정보 생성부(330)가 생성한 관리정보를 구성하는 필드 및 필드값이 기재되어 있다.
슬롯 페이지 | 빈 슬롯 수 | 이전 슬롯 페이지 포인터 | 다음 슬롯 페이지 포인터 |
슬롯 페이지 A | 10 | - | 0x00000004 |
슬롯 페이지 B | 8 | 0x00000025 | 0x00000075 |
슬롯 페이지 C | 7 | 0x00000004 | 0x00000036 |
슬롯 페이지 D | 6 | 0x00000075 | - |
표 1을 참조하면, 슬롯 페이지 A에 해당하는 엔트리는 빈 슬롯 수와 다음 슬롯 페이지 포인터에 해당하는 필드의 필드값으로 각각 10과 0x00000004를 갖는다. 이때 관리정보의 엔트리가 빈 슬롯의 수를 기준으로 내림차정렬되는 경우에 슬롯 페이지 A에 해당하는 엔트리가 관리정보의 가장 처음에 위치하게 되므로, 이전 슬롯 페이지 포인터 필드에는 값이 기록되지 않고 다음 슬롯 페이지인 슬롯 페이지 B의 포인터인 0x00000004만 기록된다.
제어부(340)는 저장부(320)에 올라온 접근대상 파일 데이터에 대한 작업이 종료되면, 저장부(320)에 저장되어 있는 관리정보를 접근대상 파일 데이터가 기록되어 있는 슬롯 페이지 중에서 마지막 슬롯 페이지의 빈 슬롯에 기록하도록 플래시 메모리 구동부(310)를 제어하고, 플래시 메모리 구동부(310)는 데이터의 변경(즉, 기록 또는 삭제)이 이루어진 슬롯 페이지를 플래시 메모리에 기록하는 한편, 마지막 슬롯 페이지에 관리정보를 기록한다(S540). 이때 관리정보는 새로 할당된 슬롯 페이지에 기록될 수도 있다.
도 6은 본 발명에 따른 플래시 메모리의 공간정보 관리방법에 대한 바람직한 다른 실시예의 수행과정을 도시한 흐름도이다.
도 6을 참조하면, 제어부(340)로부터 플래시 메모리에 저장되어 있는 특정한 파일에 대한 접근 명령이 입력되면, 플래시 메모리 구동부(310)는 플래시 메모리로부터 접근대상 파일 데이터가 기록되어 있는 슬롯 페이지를 독출하여 저장부(320)에 저장한다(S600). 관리정보 생성부(330)는 저장부(320)에 저장되어 있는 슬롯 페이지 중에서 마지막 슬롯 페이지로부터 접근대상 파일에 대응하여 생성된 관리정보를 독출한다(S610). 다음으로, 저장부(320)에 저장되어 있는 슬롯 페이지에 대해 레코드의 삽입, 삭제, 검색 등의 작업이 수행되면(S620), 관리정보 생성부(330)는 해당 슬롯 페이지의 빈 슬롯의 수가 임계값 이상인지를 확인한다(S630). 만약, 해당 슬롯 페이지의 빈 슬롯의 수가 임계값 미만인 것으로 확인되는 경우에 해당 슬롯 페이지에 대응하는 엔트리가 관리정보에 포함되어 있으면, 해당 슬롯 페이지에 대응하는 엔트리를 관리정보에서 삭제한다(S640).
이와 달리, 해당 슬롯 페이지의 빈 슬롯의 수가 임계값 이상이면, 관리정보에 존재하는 엔트리의 개수가 사전에 설정되어 있는 수용가능한 엔트리의 수(k개)보다 작은지를 확인한다(S650). 이때 관리정보에 존재하는 엔트리의 개수가 사전에 설정되어 있는 수용가능한 엔트리의 수(k개)보다 작으면, 관리정보 생성부(330)는 관리정보에 해당 슬롯 페이지에 대응하는 엔트리를 추가하고, 관리정보에 존재하는 엔트리들을 빈 슬롯의 수를 기준으로 정렬한다(S660). 이와 달리, 관리정보에 존재하는 엔트리의 개수가 사전에 설정되어 있는 수용가능한 엔트리의 수(k개) 이상이면, 관리정보 생성부(330)는 관리정보에 존재하는 마지막 엔트리의 빈 슬롯 수와 해당 슬롯 페이지의 빈 슬롯 수를 비교한다(S670). 만약, 관리정보에 존재하는 마지막 엔트리의 빈 슬롯 수보다 해당 슬롯 페이지의 빈 슬롯 수가 많으면, 관리정보 생성부(330)는 해당 슬롯 페이지에 대응하는 엔트리를 관리정보의 마지막 엔트리와 교체한 후 관리정보에 존재하는 엔트리들을 빈 슬롯의 수를 기준으로 정렬한다(S680).
도 6을 참조하여 설명한 본 발명에 따른 플래시 메모리의 공간정보 관리방법에 대한 실시예의 S630단계 내지 S680단계는 도 5를 참조하여 설명한 본 발명에 따른 플래시 메모리의 공간정보 관리방법에 대한 실시예에서 S530단계의 수행에 의해 관리정보가 생성되어 저장부(320)에 저장된 이후에 수행될 수 있다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이상에서 본 발명의 바람직한 실시예에 대해 도시하고 설명하였으나, 본 발명은 상술한 특정의 바람직한 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능한 것은 물론이고, 그와 같은 변경은 청구범위 기재의 범위 내에 있게 된다.
본 발명에 따른 플래시 메모리의 공간정보 관리장치 및 방법에 의하면, 플래시 메모리의 빈 공간 리스트 구성 정보를 슬롯 페이지의 메타데이터 영역에 저장하는 대신 메모리에 유지함으로써, 쓰기 연산의 수가 크게 감소하여 플래시 메모리의 전반적인 성능의 향상 및 수명의 증가가 가능하다. 또한, 슬롯 페이지에 존재하는 빈 슬롯의 수가 임계값 이상인 슬롯 페이지들만을 관리정보에 의해 관리함으로써, 저장 공간의 사용 효율을 크게 높일 수 있다. 나아가 메모리에 유지하는 공간정보의 엔트리 개수를 한정함으로써, 시스템의 특성에 맞게 엔트리 개수를 조절할 수 있어 메모리의 절약이 가능하다.
Claims (16)
- 플래시 메모리의 관리정보, 플래시 메모리에 기록될 데이터 및 플래시 메모리로부터 독출한 데이터가 저장되는 저장부; 및상기 플래시 메모리에 저장되어 있는 파일에 대한 접근 명령의 실행시 접근대상 파일 데이터가 저장되어 있는 슬롯 페이지들의 메타데이터 영역에 기록되어 있는 빈 슬롯의 수를 기초로 빈 공간이 존재하는 슬롯 페이지를 관리대상 슬롯 페이지로서 검출하고, 상기 관리대상 슬롯 페이지의 포인터 및 각각의 관리대상 슬롯 페이지에 존재하는 빈 슬롯의 수를 기초로 상기 플래시 메모리의 관리정보를 생성하여 상기 저장부에 저장하는 관리정보 생성부;를 포함하는 것을 특징으로 하는 플래시 메모리의 공간정보 관리장치.
- 제 1항에 있어서,상기 접근대상 파일에 대한 작업의 종료시 상기 접근대상 파일의 마지막 슬롯 페이지의 빈 슬롯 또는 상기 접근대상 파일에 대해 새로 할당된 슬롯 페이지의 빈 슬롯에 상기 플래시 메모리 관리정보를 기록하는 제어부;를 더 포함하는 것을 특징으로 하는 플래시 메모리의 공간정보 관리장치.
- 제 1항에 있어서,상기 관리정보 생성부는 상기 접근대상 파일 데이터가 저장되어 있는 슬롯 페이지들 중에서 빈 슬롯의 수가 사전에 설정되어 있는 임계값 이상인 슬롯 페이지들을 상기 관리대상 슬롯 페이지로 선정하는 것을 특징으로 하는 플래시 메모리의 공간정보 관리장치.
- 제 1항 내지 제 3항 중 어느 한 항에 있어서,상기 관리정보 생성부는 상기 관리대상 슬롯 페이지들에 존재하는 빈 슬롯의 수를 기준으로 상기 관리정보에 포함되어 있는 상기 관리대상 슬롯 페이지들에 해당하는 엔트리들을 내림차순으로 정렬하는 것을 특징으로 하는 플래시 메모리의 공간정보 관리장치.
- 제 1항 내지 제 3항 중 어느 한 항에 있어서,상기 관리정보 생성부는 상기 접근대상 파일 데이터가 저장되어 있는 슬롯 페이지들 중에서 빈 슬롯의 수를 기준으로 상기 관리정보에 대해 설정되어 있는 수용가능한 엔트리의 개수에 해당하는 슬롯 페이지들을 상기 관리대상 슬롯 페이지로 선정하는 것을 특징으로 하는 플래시 메모리의 공간정보 관리장치.
- 제 5항에 있어서,상기 저장부에 저장되어 있는 슬롯 페이지에 대해 레코드의 삽입, 삭제, 검색 등의 작업이 수행되면, 상기 관리정보 생성부는 작업수행대상 슬롯 페이지의 빈 슬롯의 수가 임계값 미만인 경우에 상기 작업수행대상 슬롯 페이지에 대응하는 엔 트리를 상기 관리정보에서 삭제하는 것을 특징으로 하는 플래시 메모리의 공간정보 관리장치.
- 제 5항에 있어서,상기 저장부에 저장되어 있는 슬롯 페이지에 대해 레코드의 삽입, 삭제, 검색 등의 작업이 수행되면, 상기 관리정보 생성부는 작업수행대상 슬롯 페이지의 빈 슬롯의 수가 임계값 이상이고 상기 관리정보에 존재하는 엔트리의 개수가 사전에 설정되어 있는 수용가능한 엔트리의 개수보다 작은 경우에 상기 관리정보에 상기 작업수행대상 슬롯 페이지에 대응하는 엔트리를 추가한 후 상기 관리정보에 존재하는 엔트리들을 빈 슬롯의 수를 기준으로 정렬하는 것을 특징으로 하는 플래시 메모리의 공간정보 관리장치.
- 제 5항에 있어서,상기 저장부에 저장되어 있는 슬롯 페이지에 대해 레코드의 삽입, 삭제, 검색 등의 작업이 수행되면, 상기 관리정보 생성부는 상기 관리정보에 존재하는 마지막 엔트리의 빈 슬롯 수보다 작업수행대상 슬롯 페이지의 빈 슬롯 수가 많은 경우에 상기 작업수행대상 슬롯 페이지에 대응하는 엔트리를 상기 관리정보의 마지막 엔트리와 교체한 후 상기 관리정보에 존재하는 엔트리들을 빈 슬롯의 수를 기준으로 정렬하는 것을 특징으로 하는 플래시 메모리의 공간정보 관리장치.
- 플래시 메모리로부터 접근대상 파일 데이터가 기록되어 있는 슬롯 페이지를 독출하여 저장수단에 저장하는 단계;상기 저장수단에 저장되어 있는 각각의 슬롯 페이지의 메타데이터 영역으로부터 파악된 빈 슬롯의 수가 사전에 설정된 임계값 이상인 슬롯 페이지들을 관리대상 슬롯 페이지로 선정하는 단계; 및상기 선정된 관리대상 슬롯 페이지의 포인터 및 각각의 관리대상 슬롯 페이지에 존재하는 빈 슬롯의 수를 기초로 관리정보를 생성하여 상기 저장수단에 저장하는 단계;를 포함하는 것을 특징으로 하는 플래시 메모리의 공간정보 관리방법.
- 제 9항에 있어서,상기 접근대상 파일에 대한 작업의 종료시 상기 접근대상 파일의 마지막 슬롯 페이지의 빈 슬롯 또는 상기 접근대상 파일에 대해 새로 할당된 슬롯 페이지의 빈 슬롯에 상기 플래시 메모리 관리정보를 기록하는 단계를 더 포함하는 것을 특징으로 하는 플래시 메모리의 공간정보 관리방법.
- 제 9항에 있어서,상기 관리대상 슬롯 페이지 선정단계에서, 상기 저장수단에 저장되어 있는 각각의 슬롯 페이지의 메타데이터 영역으로부터 파악된 빈 슬롯의 수가 사전에 설정된 임계값 이상인 슬롯 페이지들 중에서 상기 파악된 빈 슬롯의 수를 기준으로 상기 관리정보에 대해 사전에 설정되어 있는 수용가능한 엔트리의 개수에 해당하는 슬롯 페이지들을 상기 관리대상 슬롯 페이지로 선정하는 것을 특징으로 하는 플래시 메모리의 공간정보 관리방법.
- 제 9항 내지 제 11항 중 어느 한 항에 있어서,상기 저장수단에 저장되어 있는 슬롯 페이지에 대해 레코드의 삽입, 삭제 및 검색 중에서 어느 하나의 작업이 수행에 의해 작업수행대상 슬롯 페이지의 빈 슬롯의 수가 임계값 미만으로 변경되면, 상기 작업수행대상 슬롯 페이지에 대응하는 엔트리를 상기 관리정보에서 삭제하는 단계를 더 포함하는 것을 특징으로 하는 플래시 메모리의 공간정보 관리방법.
- 플래시 메모리로부터 접근대상 파일 데이터가 기록되어 있는 슬롯 페이지를 독출하여 저장수단에 저장하는 단계;상기 저장수단에 저장되어 있는 슬롯 페이지 중에서 마지막 슬롯 페이지로부터 접근대상 파일에 대응하여 각각의 슬롯 페이지의 메타데이터 영역으로부터 파악된 빈 슬롯의 수가 사전에 설정된 임계값 이상인 슬롯 페이지들의 포인터 및 빈 슬롯의 수를 기초로 생성된 관리정보를 독출하는 단계; 및상기 저장수단에 저장되어 있는 슬롯 페이지에 대해 레코드의 삽입, 삭제 및 검색 중에서 어느 하나의 작업이 수행에 의해 작업수행대상 슬롯 페이지의 빈 슬롯의 수가 임계값 미만으로 변경되면, 상기 작업수행대상 슬롯 페이지에 대응하는 엔트리를 상기 관리정보에서 삭제하는 단계;를 포함하는 것을 특징으로 하는 플래시 메모리의 공간정보 관리방법.
- 제 9항, 제 10항, 제11항 또는 제 13항 중 어느 한 항에 있어서,상기 저장수단에 저장되어 있는 슬롯 페이지에 대해 레코드의 삽입, 삭제 및 검색 중에서 어느 하나의 작업이 수행되면, 작업수행대상 슬롯 페이지의 빈 슬롯의 수가 상기 임계값 이상이고 상기 관리정보에 존재하는 엔트리의 개수가 사전에 설정되어 있는 수용가능한 엔트리의 개수보다 작은 경우에 상기 관리정보에 상기 작업수행대상 슬롯 페이지에 대응하는 엔트리를 추가한 후 상기 관리정보에 존재하는 엔트리들을 빈 슬롯의 수를 기준으로 정렬하는 단계를 더 포함하는 것을 특징으로 하는 플래시 메모리의 공간정보 관리방법.
- 제 9항, 제 10항, 제11항 또는 제 13항 중 어느 한 항에 있어서,상기 저장수단에 저장되어 있는 슬롯 페이지에 대해 레코드의 삽입, 삭제 및 검색 중에서 어느 하나의 작업이 수행되면, 상기 관리정보에 존재하는 마지막 엔트리의 빈 슬롯 수보다 작업수행대상 슬롯 페이지의 빈 슬롯 수가 많은 경우에 상기 작업수행대상 슬롯 페이지에 대응하는 엔트리를 상기 관리정보의 마지막 엔트리와 교체한 후 상기 관리정보에 존재하는 엔트리들을 빈 슬롯의 수를 기준으로 정렬하는 단계를 더 포함하는 것을 특징으로 하는 플래시 메모리의 공간정보 관리방법.
- 제 9항 또는 제 13항에 기재된 플래시 메모리의 공간정보 관리방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060115436A KR100859989B1 (ko) | 2006-11-21 | 2006-11-21 | 플래시 메모리의 공간정보 관리장치 및 그 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060115436A KR100859989B1 (ko) | 2006-11-21 | 2006-11-21 | 플래시 메모리의 공간정보 관리장치 및 그 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20080046023A KR20080046023A (ko) | 2008-05-26 |
KR100859989B1 true KR100859989B1 (ko) | 2008-09-25 |
Family
ID=39663185
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060115436A KR100859989B1 (ko) | 2006-11-21 | 2006-11-21 | 플래시 메모리의 공간정보 관리장치 및 그 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100859989B1 (ko) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101934517B1 (ko) | 2012-08-31 | 2019-01-03 | 삼성전자주식회사 | 메모리 컨트롤러, 이의 동작 방법, 및 상기 메모리 컨트롤러를 포함하는 시스템 |
KR102085132B1 (ko) * | 2018-11-13 | 2020-04-20 | 인하대학교 산학협력단 | 버킷 내부에서 해시 함수의 분류를 이용한 효율적인 쿠쿠 해시 방법 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05282889A (ja) * | 1992-03-31 | 1993-10-29 | Toshiba Corp | 不揮発性半導体メモリ装置 |
KR970062918A (ko) * | 1996-02-06 | 1997-09-12 | 히가시 데츠로 | 메모리 장치 및 메모리 제어방법 |
JPH09319658A (ja) * | 1996-05-24 | 1997-12-12 | Nec Corp | 可変ページサイズのメモリ管理方式 |
JP2000148569A (ja) | 1998-11-17 | 2000-05-30 | Matsushita Electric Ind Co Ltd | 記録再生装置 |
JP2005085011A (ja) | 2003-09-09 | 2005-03-31 | Renesas Technology Corp | 不揮発性メモリ制御装置 |
WO2005078572A1 (en) | 2004-02-12 | 2005-08-25 | Koninklijke Philips Electronics N.V. | A fifo memory device with non-volatile storage stage |
-
2006
- 2006-11-21 KR KR1020060115436A patent/KR100859989B1/ko not_active IP Right Cessation
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05282889A (ja) * | 1992-03-31 | 1993-10-29 | Toshiba Corp | 不揮発性半導体メモリ装置 |
KR970062918A (ko) * | 1996-02-06 | 1997-09-12 | 히가시 데츠로 | 메모리 장치 및 메모리 제어방법 |
JPH09319658A (ja) * | 1996-05-24 | 1997-12-12 | Nec Corp | 可変ページサイズのメモリ管理方式 |
JP2000148569A (ja) | 1998-11-17 | 2000-05-30 | Matsushita Electric Ind Co Ltd | 記録再生装置 |
JP2005085011A (ja) | 2003-09-09 | 2005-03-31 | Renesas Technology Corp | 不揮発性メモリ制御装置 |
WO2005078572A1 (en) | 2004-02-12 | 2005-08-25 | Koninklijke Philips Electronics N.V. | A fifo memory device with non-volatile storage stage |
Also Published As
Publication number | Publication date |
---|---|
KR20080046023A (ko) | 2008-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7882300B2 (en) | Apparatus and method for managing nonvolatile memory | |
CN102436353B (zh) | 半导体存储器控制装置 | |
JP5000316B2 (ja) | オブジェクト・ベースのデータ記憶装置 | |
US7594062B2 (en) | Method for changing data of a data block in a flash memory having a mapping area, a data area and an alternative area | |
US8572312B2 (en) | Data de-duplication and solid state memory device | |
US8364885B2 (en) | Semiconductor storage system for decreasing page copy frequency and controlling method thereof | |
CN108733306B (zh) | 一种文件合并方法及装置 | |
KR20070060070A (ko) | 최적화된 순차적인 클러스터 관리용 에프에이티 분석 | |
CN108628542B (zh) | 一种文件合并方法及控制器 | |
US9606912B2 (en) | Tracking and utilizing second level map index for recycling of solid state drive blocks | |
CN113568582B (zh) | 数据管理方法、装置和存储设备 | |
US7752206B2 (en) | Method and data processing system for managing a mass storage system | |
CN110968269A (zh) | 基于scm与ssd的键值存储***及读写请求处理方法 | |
KR101413727B1 (ko) | 플래시 메모리 디바이스들에서 페이지 선택을 최적화하기 위한 시스템들 및 방법들 | |
KR100907477B1 (ko) | 플래시 메모리에 저장된 데이터의 인덱스 정보 관리 장치및 방법 | |
JP2017049897A (ja) | ストレージ装置、ストレージ装置制御プログラム及びストレージ装置制御方法 | |
US20020133683A1 (en) | Method and system for reducing fragmentation | |
KR100859989B1 (ko) | 플래시 메모리의 공간정보 관리장치 및 그 방법 | |
CN112306404A (zh) | 一种瓦记录磁盘数据布局方法、***及相关设备 | |
EP2381354A2 (en) | Data recording device | |
US11429519B2 (en) | System and method for facilitating reduction of latency and mitigation of write amplification in a multi-tenancy storage drive | |
KR101874748B1 (ko) | 하이브리드 스토리지 및 하이브리드 스토리지에서 데이터 저장 방법 | |
KR100816820B1 (ko) | 플래시 메모리와 연동되는 버퍼 관리장치 및 방법 | |
US8838878B2 (en) | Method of writing to a NAND memory block based file system with log based buffering | |
KR100982591B1 (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: 20120710 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20130802 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20150817 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20160826 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |