KR100844406B1 - Nor 플래시 메모리와 nand 플래시 메모리를 이용한하이브리드 파일 시스템 및 데이터 연산 방법 - Google Patents

Nor 플래시 메모리와 nand 플래시 메모리를 이용한하이브리드 파일 시스템 및 데이터 연산 방법 Download PDF

Info

Publication number
KR100844406B1
KR100844406B1 KR1020070024098A KR20070024098A KR100844406B1 KR 100844406 B1 KR100844406 B1 KR 100844406B1 KR 1020070024098 A KR1020070024098 A KR 1020070024098A KR 20070024098 A KR20070024098 A KR 20070024098A KR 100844406 B1 KR100844406 B1 KR 100844406B1
Authority
KR
South Korea
Prior art keywords
flash memory
log
block
file
data
Prior art date
Application number
KR1020070024098A
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 KR1020070024098A priority Critical patent/KR100844406B1/ko
Application granted granted Critical
Publication of KR100844406B1 publication Critical patent/KR100844406B1/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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0638Combination of memories, e.g. ROM and RAM such as to permit replacement or supplementing of words in one module by words in another module
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1847File system types specifically adapted to static storage, e.g. adapted to flash memory or SSD
    • 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
    • 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/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

본 발명은 NOR 플래시 메모리와 NAND 플래시 메모리를 이용한 하이브리드 파일 시스템 및 데이터 연산 방법에 관한 것으로서, 페이지 크기보다 적은 양의 데이터를 NOR 플래시 메모리의 로그로 병합시켜 NAND 플래시 메모리에 저장시킴으로써, 적은 양의 데이터가 높은 빈도로 수정될지라도 메모리의 사용 효율이 증대됨과 동시에 파일 시스템의 수명을 증가시키며, 전원이 차단되더라도 데이터의 손실을 방지할 수 있는 NOR 플래시 메모리와 NAND 플래시 메모리를 이용한 하이브리드 파일 시스템 및 데이터 연산 방법을 제공하기 위한 것으로서, 그 기술적 구성은 파일의 데이터가 저장되는 페이지가 다수개 형성되고, 상기 다수개의 페이지로 구성되는 지움 블록을 포함하는 NAND 형 플래시 메모리; 파일이 저장된 다수개의 로그 블록은 상기 로그 블록의 정보가 저장되는 로그 블록 헤더와 상기 파일의 데이터가 저장되는 로그 데이터 및 상기 데이터의 정보가 저장되는 로그 헤더로 구성되고, 상기 다수개의 로그 블록으로 구성되는 지움 블록을 포함하는 NOR 형 플래시 메모리; 각 파일에 대한 정보가 저장되는 파일 관리 모듈과 상기 NOR 형 및 NAND 형 플래시 메모리의 자원을 관리하는 NOR 형 자원 관리 모듈 및 NAND 형 자원 관리 모듈을 포함하는 파일 시스템 계층과, 상기 NAND 형 및 NOR 형 플래시 메모리를 구동시키는 플래시 메모리 구동 계층을 포함하는 메인 메모리; 를 포함하여 이루어지는 것을 특징으로 한다.
파일 시스템, NAND 플래시 메모리, NOR 플래시 메모리, 로그, 병합

Description

NOR 플래시 메모리와 NAND 플래시 메모리를 이용한 하이브리드 파일 시스템 및 데이터 연산 방법{Hybrid File System and Method for Data Processing Based on NAND Using NOR Flash Memory}
도 1은 본 발명에 따른 NOR 플래시 메모리와 NAND 플래시 메모리를 이용한 하이브리드 파일 시스템을 개략적으로 도시한 블록도.
도 2는 본 발명에 따른 NOR 플래시 메모리 및 NAND 플래시 메모리의 지움 블록을 개략적으로 도시한 블록도.
도 3은 본 발명에 따른 NOR 플래시 메모리와 NAND 플래시 메모리를 이용한 하이브리드 파일 시스템의 개략적인 흐름도.
도 4는 본 발명에 따른 NOR 블록 상태 맵과 논리 로그 블록 주소를 변환하는 방법을 도시한 블록도.
도 5는 본 발명의 NOR 플래시 메모리와 NAND 플래시 메모리를 이용한 읽기 연산에 따른 개략적인 흐름도.
도 6은 본 발명의 NOR 플래시 메모리와 NAND 플래시 메모리를 이용한 쓰기 연산에 따른 개략적인 흐름도.
도 7은 도 6의 NOR 로그 블록 할당 방법을 개략적으로 도시한 흐름도.
도 8은 도 6의 NOR 형 플래시 메모리에 로그를 기입하는 방법을 개략적으로 도시한 흐름도.
<도면의 주요 부분에 대한 도면 부호의 간단한 설명>
1: NOR 플래시 메모리와 NAND 플래시 메모리를 이용한 하이브리드 파일 시스템.
10: 메인 메모리 11: 파일 시스템 계층
11a: 파일 시스템 인터페이스 11b: 파일 관리 모듈
11c: NOR 형 자원 관리 모듈 11d: NAND 형 자원 관리 모듈
13: 플래시 메모리 구동 계층 13a: NOR 플래시 메모리 구동
13b: NAND 형 플래시 메모리 구동 30: NOR 형 플래시 메모리
31: 지움 블록 31': 로그 블록
31'a: 로그 블록 헤더 31'b: 로그
50: NAND 형 플래시 메모리 51: 지움 블록
51': 페이지 51'a: 파일 데이터 페이지
51'b: 파일 메타 데이터 페이지
본 발명은 NOR 플래시 메모리와 NAND 플래시 메모리를 이용한 하이브리드 파 일 시스템 및 데이터 연산 방법에 관한 것으로, 더욱 상세하게는 페이지 크기보다 적은 양의 데이터를 NOR 플래시 메모리의 로그로 병합시켜 NAND 플래시 메모리에 저장시킴으로써, 적은 양의 데이터가 높은 빈도로 수정될지라도 메모리의 사용 효율이 증대됨과 동시에 파일 시스템의 수명을 증가시키며, 전원이 차단되더라도 데이터의 손실을 방지할 수 있는 NOR 플래시 메모리와 NAND 플래시 메모리를 이용한 하이브리드 파일 시스템 및 데이터 연산 방법에 관한 것이다.
일반적으로, 플래시 메모리(Flash Memory)는 전원이 단락되더라도 저장된 정보가 지워지지 않는 기억 장치로써, 소비 전력이 작고 전원이 꺼지더라도 저장된 정보가 사라지지 않은 채 유지되는 특성을 지니는 비휘발성 메모리로, 디램과 달리 전원이 끊기더라도 저장된 정보를 보존할 수 있다.
그리고, 플래시 메모리는 바이트 단위로 읽기/쓰기가 가능한 RAM 인터페이스를 가지므로 코드를 수행할 수 있는 NOR 형 플래시 메모리와, 집적도가 높은 대용량의 쓰기/지우기 연산 속도가 높은 NAND 형 플래시 메모리를 포함하여 이루어진다.
여기서, 상기 NAND 형 플래시 메모리는 일정 크기인 페이지 단위로 읽기/쓰기를 수행하고, 512 바이트 또는 2K 바이트 크기의 페이지를 가지는데, 데이터의 용량이 적을지라도 페이지 단위로 읽기/쓰기가 이루어진다.
그러나, 데이터의 용량이 적을지라도 페이지 단위로 읽기/쓰기가 이루어지므 로, 용량이 적은 데이터가 읽기/쓰기/수정 등이 빈번하게 발생할 때마다, 동기적으로 유휴 페이지를 소모하게 되고, 플래시 영역의 사용 효율이 급격히 감소하며, 이에 따라 플래시 메모리의 수명이 단축되며, 이를 해결하기 위하여 용량이 적은 데이터를 주 메모리(RAM)에 병합하여 저장할지라도, 전원이 차단되는 경우에 데이터가 소멸되는 등의 문제점이 있었다.
본 발명은 상기한 문제점을 해결하기 위하여 안출한 것으로, 페이지 크기보다 적은 양의 데이터를 NOR 플래시 메모리의 로그로 병합시켜 NAND 플래시 메모리에 저장시킴으로써, 적은 양의 데이터가 높은 빈도로 수정될지라도 메모리의 사용 효율이 증대됨과 동시에 파일 시스템의 수명을 증가시키며, 전원이 차단되더라도 데이터의 손실을 방지할 수 있는 NOR 플래시 메모리와 NAND 플래시 메모리를 이용한 하이브리드 파일 시스템 및 데이터 연산 방법을 제공하는 것을 목적으로 한다.
상기한 바와 같은 목적을 달성하기 위하여 본 발명은 파일의 데이터가 저장되는 페이지가 다수개 형성되고, 상기 다수개의 페이지로 구성되는 지움 블록을 포함하는 NAND 형 플래시 메모리; 파일이 저장된 다수개의 로그 블록은 상기 로그 블록의 정보가 저장되는 로그 블록 헤더와 상기 파일의 데이터가 저장되는 로그 데이터 및 상기 데이터의 정보가 저장되는 로그 헤더로 구성되고, 상기 다수개의 로그 블록으로 구성되는 지움 블록을 포함하는 NOR 형 플래시 메모리; 각 파일에 대한 정보가 저장되는 파일 관리 모듈과 상기 NOR 형 및 NAND 형 플래시 메모리의 자원을 관리하는 NOR 형 자원 관리 모듈 및 NAND 형 자원 관리 모듈을 포함하는 파일 시스템 계층과, 상기 NAND 형 및 NOR 형 플래시 메모리를 구동시키는 플래시 메모리 구동 계층을 포함하는 메인 메모리; 를 포함한다.
그리고, 상기 파일 관리 모듈은 NAND 형 플래시 메모리에 저장된 파일 메타 데이터 페이지의 물리적 주소를 가리키는 메타 데이터 주소; 상기 메인 메모리 상의 파일 맵의 위치를 가리키는 파일 맵 포인터; 상기 메인 메모리 상의 로그 맵의 위치를 가리키는 로그 맵 포인터;를 포함하여 이루어지는 것을 특징으로 한다.
여기서, 상기 로그 맵은 상기 NOR 형 플래시 메모리의 로그 블록에 대한 정보를 저장하는 로그 맵 헤더; 파일 내의 로그 위치를 저장하는 로그의 정보를 저장하는 로그 기술자;를 포함하는 것을 특징으로 한다.
또한, 상기 파일 맵은 상기 NAND 형 플래시 메모리의 파일 메타 데이터 페이지의 물리적 주소를 저장하는 것을 특징으로 한다.
그리고, 상기 NOR 형 자원 관리 모듈은 상기 NOR 형 플래시 메모리의 로그 블록을 관리하는 로그 블록 관리; 상기 로그 블록 중 유휴 블록을 관리하는 자유 블록 관리; 상기 로그 블록의 폐기 상태를 관리하여 회수하는 폐 영역 회수; 상기 NOR 형 플래시 메모리에 파일 저장을 위한 연산을 수행하는 바이트 연산; 상기 파일 저장의 단위인 블록에 대한 연산을 수행하는 블록 연산; 으로 이루어지는 것을 특징으로 한다.
여기서, 상기 로그 블록 관리는 상기 NOR 형 플레시 메모리의 모든 지움 블록에 대하여 로그 블록의 할당 및 폐 영역 회수를 위한 NOR 블록 상태 맵; 로그 블록의 논리 주소인 논리 지움 블록 주소와, 물리적 로그 블록으로 접근할 수 있도록 구비되는 오프셋을 포함하는 논리 로그 블록 주소; 상기 논리 지움 블록 주소 및 오프셋의 물리적 주소로 변환시키는 논리 블록 변환 맵; 을 포함하여 로그 블록을 관리하는 것을 특징으로 한다.
한편, NAND 형 플래시 메모리에서 파일 메타 데이터 페이지의 논리 로그 블록 주소에 따라 파일의 로그 블록과 로그 맵이 유효한 지의 여부를 판단하는 단계; 상기 로그 블록 및 로그 맵이 유효하면, 상기 로그 블록에 데이터가 존재하는 지를 판단하여 NOR 형 플래시 메모리의 로그 블록에서 데이터를 읽어 반환하는 단계; 를 포함한다.
여기서, 상기 로그 블록이 유효하지 않은 경우에는 해당 파일에 대한 로그 블록이 존재하지 않으므로, 메인 메모리 상의 파일 맵을 통하여 NAND 형 플래시 메모리 상의 페이지에서 데이터를 반환하는 단계; 를 더 포함하는 것을 특징으로 한다.
그리고, 상기 로그 맵이 유효하지 않은 경우에는 상기 NOR 형 플래시 메모리의 로그 블록을 순차적으로 읽어들여 메인 메모리에 로그 맵을 구성하는 단계; 를 더 포함하는 것을 특징으로 한다.
또한, 상기 로그 블록에 데이터가 존재하지 않는 경우에는 NAND 형 플래시메모리의 파일 데이터 페이지에서 데이터를 읽어 반환하는 단계; 를 더 포함하는 것 을 특징으로 한다.
한편, NOR 형 플래시 메모리 및 NAND 형 플래시 메모리를 구비한 파일 시스템에서 쓰기 데이터 크기가 한계 크기 미만인 지의 여부를 판단하는 단계; 상기 쓰기 데이터 크기가 한계 크기 미만이면, 파일의 로그 블록과 로그 맵이 유효한 지의 여부를 판단하는 단계; 상기 로그 블록과 로그 맵이 유효하면, NOR 형 플래시 메모리의 로그로 기입하는 단계; 를 포함한다.
그리고, 상기 쓰기 데이터 크기가 한계 크기 이상이면 NAND 형 플래시 메모리에 페이지를 할당하여 파일 데이터 페이지에 쓰기 연산을 수행하는 단계; 를 더 포함하고, 종료시키는 것을 특징으로 한다.
또한, 상기 NOR 형 플래시 메모리의 로그 블록이 유효하지 않을 경우에는 NOR 형 플래시 메모리의 로그 블록을 할당하여 파일 메타 데이터 페이지에 로그 블록 주소를 저장하는 단계; 상기 로그 블록의 할당 여부를 확인하는 단계; 를 더 포함하는 것을 특징으로 한다.
여기서, 상기 NOR 형 플래시 메모리에 로그 블록의 할당은 개 상태의 지움 블록이 존재하지 않고, 유휴 지움 블록이 존재하면, 유휴 지움 블록을 1 감소시킨 개수가 한계값을 초과하는 지의 여부를 판단하는 단계; 한계값을 초과하면, 상기 유휴 지움 블록의 논리 블록 변환 맵을 갱신하여 개 상태로 변환 및 지움 블록으로 설정하는 단계; 상기 지움 블록에서 유휴 로그 블록을 할당하는 단계; 를 더 포함하는 것을 특징으로 한다.
그리고, 상기 지움 블록이 존재하는 경우에는, 상기 지움 블록에서 유휴 로 그 블록을 할당하는 단계로 이동하는 것을 특징으로 한다.
더불어, 상기 유휴 지움 블록이 존재하지 않는 경우에는, 로그 블록 할당이 실패한 것으로 간주하여 상기 단계를 종료시키는 것을 특징으로 한다.
여기서, 상기 유휴 지움 블록 개수가 한계값 미만인 경우에는 폐기 로그 블록을 다수 가지는 지움 블록을 검색하는 단계; 상기 지움 블록이 존재하면, 지움 블록 내에 유효한 할당 로그 블록을 유휴 지움 블록에 복사하는 단계; 상기 유휴 지움 블록의 논리 블록 변환 맵을 갱신하고, 상기 지움 블록을 지우는 단계; 를 더 포함하고, 유휴 지움 블록을 개 상태로 변환하는 단계로 이동하는 것을 특징으로 한다.
또한, 상기 지움 블록이 존재하지 않는 경우에는 유휴 지움 블록의 논리 블록 변환 맵을 갱신하는 단계로 이동하는 것을 특징으로 한다.
그리고, 상기 로그 블록이 할당되지 않았을 경우에는 NAND 형 플래시 메모리에 페이지를 할당하여 파일 데이터 페이지에 쓰기 연산을 수행하는 단계; 를 더 포함하고, 종료시키는 것을 특징으로 한다.
여기서, 상기 로그 맵이 유효하지 않을 경우에는 NOR 형 플래시 메모리의 로그 블록을 순차적으로 읽어 로그 맵을 구성하는 단계; 를 더 포함하는 것을 특징으로 한다.
더불어, NOR 형 플래시 메모리에 로그를 기입하는 단계는 상기 NOR 형 플래시 메모리의 유휴 영역 크기가 로그 크기 이상이면 로그를 기입하는 단계; 를 더 포함하는 것을 특징으로 한다.
여기서, 상기 유휴 영역 크기가 로그 크기 미만이면 로그 블록의 로그를 메인 메모리에 연속된 영역으로 복사하는 단계; NAND 형 플래시 메모리에 플러싱하는 단계; 상기 로그 블록을 폐기하는 단계; 를 더 포함하는 것을 특징으로 한다.
이하, 본 발명에 따른 실시예를 첨부된 예시도면을 참고로 하여 상세하게 설명한다.
도 1은 본 발명에 따른 NOR 플래시 메모리와 NAND 플래시 메모리를 이용한 하이브리드 파일 시스템을 개략적으로 도시한 블록도이고, 도 2는 본 발명에 따른 NOR 플래시 메모리 및 NAND 플래시 메모리의 지움 블록을 개략적으로 도시한 블록도이며, 도 3은 본 발명에 따른 NOR 플래시 메모리와 NAND 플래시 메모리를 이용한 하이브리드 파일 시스템의 개략적인 흐름도이다. 도면에서 도시하고 있는 바와 같이, NOR 플래시 메모리와 NAND 플래시 메모리를 이용한 하이브리드 파일 시스템(1)은 메인 메모리(10)와 NOR 형 플래시 메모리(30)와 NAND 형 플래시 메모리(50)를 포함하여 이루어진다.
여기서, 상기 메인 메모리(10)는 파일 시스템 계층(11)과 플래시 메모리 구동 계층(13)을 포함하여 이루어진다.
또한, 상기 파일 시스템 계층(11)은 파일 시스템 인터페이스(11a)와 파일 관리 모듈(11b)와 NOR 형 자원 관리 모듈(11c)과 NAND 형 자원 관리 모듈(11d)을 포함하여 이루어진다.
그리고, 상기 파일 시스템 인터페이스(11a)는 상기 NOR 플래시 메모리와 NAND 플래시 메모리를 이용한 하이브리드 파일 시스템(1)이 운영 체제에 제공하며, 상기 파일 시스템 계층(11)은 파일과 데이터 및 로그를 관리한다.
더불어, 상기 파일 시스템 계층(11)은 플래시 메모리 구동 계층(13)에 의하여 NOR 형 플래시 메모리(30)와 NAND 형 플래시 메모리(50)를 구동한다.
그리고, 상기 파일 관리 모듈(11b)은 각 파일에 대한 정보를 저장하면서, 로그 관리와 파일 데이터 관리와 메타 데이터 관리로 이루어지는데, 상기 로그 관리는 메인 메모리(1) 상에서 로그 맵의 위치를 가리키는 로그 맵 포인터를 포함하면서 로그를 관리하고, 상기 파일 데이터 관리는 메인 메모리(1) 상에서 파일 맵의 위치를 가리키는 포인터인 파일 맵 포인터를 포함하면서 파일 데이터를 관리하며, 메타 데이터 관리는 NAND 형 플래시 메모리(50)에 저장된 파일 메타 데이터 페이지(51'a)의 물리적 주소를 가리키는 메타 데이터 주소를 포함하여 메타 데이터를 관리한다.
이때, 상기 로그 맵은 상기 NOR 형 플래시 메모리(10)의 로그 블록(31')에 대한 정보를 저장하는 로그 맵 헤더와, 파일 내의 로그(31'b) 위치를 저장하는 로그(31'b)의 정보를 저장하는 로그 기술자를 포함하며 이루어지고, 상기 파일 맵은 상기 NAND 형 플래시 메모리(50)의 파일 메타 데이터 페이지(51'a)의 물리적 주소를 저장하도록 구비된다.
또한, 상기 NOR 형 자원 관리 모듈(11c)은 상기 NOR 형 플래시 메모리(30)의 자원을 관리하는데, 상기 NOR 형 자원 관리 모듈(11c)은 상기 NOR 형 플래시 메모리(30)의 로그 블록(31')을 관리하는 로그 블록 관리와, 상기 다수개의 로그 블 록(31') 중에서 유휴 블록(Free Block)을 관리하는 자유 블록 관리와, 상기 로그 블록(31')의 폐기 상태를 관리하여 회수하는 폐(廢) 영역 회수와, 상기 NOR 형 플래시 메모리(30)에 파일 저장을 위하여 연산을 수행하는 바이트 연산과, 상기 파일 저장의 단위인 블록에 대한 연산을 수행하는 블록 연산을 포함한다.
여기서, 상기 로그 블록 관리는 상기 NOR 형 플레시 메모리(30)의 모든 지움 블록(31)에 대하여 로그 블록(31')의 할당 및 폐 영역 회수를 위한 NOR 블록 상태 맵과, 상기 로그 블록(31')의 논리 주소인 논리 지움 블록 주소와, 물리적 로그 블록으로 접근할 수 있도록 구비되는 오프셋을 포함하는 논리 로그 블록 주소와, 상기 논리 지움 블록 주소 및 오프셋의 물리적 주소로 변환시키는 논리 블록 변환 맵을 포함하여 로그 블록(31')을 관리하는 것을 특징으로 한다.
또한, 상기 NAND 형 자원 관리 모듈(11d)은 상기 NAND 형 플래시 메모리(50)의 자원을 관리하는데, 상기 NAND 형 플래시 메모리(50)의 파일 데이터 페이지(51'a)와 파일 메타 데이터 페이지(51'b)를 포함하는 페이지(51')를 관리하는 페이지 관리와, 상기 페이지(51')의 상위 단위의 지움 블록(51) 중에서 유휴 블록(Free Block)을 관리하는 자유 블록 관리와, 상기 페이지(51')의 폐기 상태를 관리하여 회수하는 폐 영역 회수(Garbage Collection)와, 상기 NAND 형 플래시 메모리(50)에 파일 저장을 위한 연산을 수행하는 페이지 연산과, 상기 파일 지움의 단위인 블록에 대한 연산을 수행하는 블록 연산으로 이루어진다.
그리고, 상기 NOR 형 자원 관리 모듈(11c) 및 NAND 형 자원 관리 모듈(11d)과의 연산으로 NOR 형 플래시 메모리(30) 및 NAND 형 플래시 메모리(50)를 구동시 키기 위한 플래시 메모리 구동 계층(13)이 구비된다.
여기서, 상기 플래시 메모리 구동 계층(13)은 NOR 형 플래시 메모리(30)를 구동시키기 위한 NOR 형 플래시 메모리 구동(13a)과 NAND 형 플래시 메모리(50)를 구동시키기 위한 NAND 형 플래시 메모리 구동(13b)을 포함하여 이루어진다.
또한, 상기 NOR 형 플래시 메모리 구동(13a)은 메인 메모리(10) 내에서 상기 파일의 쓰기 및 읽기 단위인 바이트(Byte)로 바이트 쓰기 및 바이트 읽기와, 파일의 지움 단위인 블록으로 블록 지움을 수행하도록 이루어진다.
그리고, 상기 NAND 형 플래시 메모리 구동(13b)은 메인 메모리(10) 내에서 상기 파일의 쓰기 및 읽기 단위인 바이트(Byte)로 바이트 쓰기 및 바이트 읽기와, 파일의 지움 단위인 블록으로 블록 지움을 수행하도록 이루어진다.
여기서, NOR 형 플래시 메모리(30)는 파일이 저장된 다수개의 로그 블록(31')이 구비되는데, 이는 상기 로그 블록(31')의 정보가 저장되는 로그 블록 헤더(31'a)와 상기 파일의 데이터가 저장되는 로그(31'b)를 포함하며 이루어진다.
더불어, 상기 NOR 형 플래시 메모리(30)의 지움 블록(31)은 다수개의 로그 블록(31')으로 나뉘는데, 하나의 파일에 하나의 로그 블록(31')이 할당될 수 있으며, 적은 용량의 데이터가 수정 및 추가될 때, 이를 로그 블록(31')에 기록한다.
그리고, 상기 로그 블록(31')의 자료 구조를 확대하면, 첫 영역에 고정된 크기의 상기 로그 블록 헤더(31'a)와 연속된 가변 크기의 로그(31'b)들로 구성된다.
이때, 상기 로그 블록 헤더(31'a)는 블록의 시리얼 번호와, 파일 구분자와, 논리 블록 주소와, 폐기 등의 상태의 정보를 포함하고, 상기 로그(31'b)는 로그 헤 더와, 해당 로그 데이터의 파일에서의 위치를 표현하는 오프셋과, 로그 길이 등의 정보를 포함한다.
더불어, 상기 로그(31'b)는 파일의 데이터가 저장되는 로그 데이터 및 상기 데이터의 정보가 저장되는 로그 헤더로 구성되며, 상기 다수개의 로그 블록(31')은 NOR 형 플래시 메모리(30)의 가장 큰 단위인 지움 블록(31)을 이룬다.
또한, 상기 NAND 형 플래시 메모리(30)는 파일의 데이터가 저장되는 페이지(51')가 다수개 형성되고, 상기 다수개의 페이지로 구성되는 지움 블록(51)을 포함하는데, 상기 페이지(51')는 파일의 데이터가 저장되는 파일 데이터 페이지(51'a)와 파일의 정보가 저장되는 파일 메타 데이터 페이지(51'b)를 포함하여 이루어진다.
여기서, 상기 파일 메타 데이터 페이지(51'b)는 파일 이름과, 파일 크기와, 생성/접근/수정시간과 같은 파일 시간 정보와, 사용자 구분자, 그룹 사용자, 모드 등과 같은 파일의 정보를 가지며, NOR 형 플래시 메모리(50)에 저장되는 로그 블록(31')의 논리적 주소를 저장하는 논리 로그 블록 주소를 포함한다.
이는, NOR 형 플래시 메모리(50)의 지움 블록(51)이 폐 영역 회수될 때, 유효한 로그 블록(31')의 물리적 주소가 변경될 때마다, NAND 형 플래시 메모리(50) 상의 파일 메타 데이터 페이지(51'b)를 변경해야 하는 문제를 발생하지 않도록 포함된다.
도 4는 본 발명에 따른 NOR 블록 상태 맵과 논리 로그 블록 주소를 변환하는 방법을 도시한 블록도이다. 도면에서 도시하고 있는 바와 같이, NOR 형 플래시 메모리(30)의 모든 지움 블록(31)에 대하여 NOR 블록 상태 맵을 관리하여 로그 블록(31')의 할당과, 폐 영역 회수 작업을 위하여 사용한다.
여기서, 각 지움 블록(31)에 대하여 지움 블록의 상태와, 상기 지움 블록(31) 내의 모든 로그 블록 상태를 메인 메모리(10)에 기록하는데, 각 지움 블록(31)의 상태는 개(Open) 상태, 폐(Closed) 상태, 유휴(Free) 상태로 나뉘는데, 상기 폐 상태의 지움 블록(31)은 내부의 로그 블록(31')들이 모두 폐기 혹은 할당 중인 것으로, 유휴 로그 블록을 포함하지 않은 상태이고, 개 상태의 지움 블록(31)은 폐기 혹은 할당된 로그 블록(31')이 있으면서 1개 이상의 유휴 상태 로그 블록을 포함하는 상태이며, 유휴 상태의 지움 블록(31)은 유휴 상태의 로그 블록만을 포함하는 상태를 나타낸다.
그리고, 논리 로그 블록 주소는 논리 블록 변환 맵에 의하여 물리적 주소로 변환되는데, 이는 논리 지움 블록 주소와 오프셋으로 구성되며, 논리 지움 블록 주소는 상기 논리 블록 변환 맵에 의하여 물리적 지움 블록 주소로 변환되고, 상기 오프셋을 통하여 해당 물리적 로그 블록으로 접근이 가능하다.
도 5는 본 발명의 NOR 플래시 메모리와 NAND 플래시 메모리를 이용한 읽기 연산에 따른 개략적인 흐름도이다. 도면에서 도시하고 있는 바와 같이, 본 발명에 의한 파일 읽기의 연산이 시작되면, 파일 메타 데이터 페이지(51'b)의 논리 로그 블록 주소를 이용하여 로그 맵 및 로그 블록(31')이 유용한지의 여부를 판단한 다(S10).
상기 로그 블록(31')이 유효한 지의 여부를 판단하고(S11), 상기 로그 블록(31')이 유효한 경우, 로그 맵이 유효한 지의 여부를 판단하고(S13), 상기 로그 블록(31') 및 로그 맵이 유효한 경우 읽으려는 데이터가 NOR 형 플래시 메모리(30)의 로그 블록(31')에 존재하는 지를 판단한다(S17).
이때, 상기 로그 블록(31')이 유효하지 않다면, 이는 해당 파일에 대한 로그 블록(31')이 존재하지 않음을 의미하므로, 메인 메모리(10) 상의 파일 맵을 통하여 NAND 형 플래시 메모리(50) 상의 페이지(51')에서 데이터를 반환한다.
또한, 상기 로그 맵이 유효하다면, 해당 파일에 대한 로그 블록(31')이 존재함을 의미하기 때문에, 논리적 로그 블록 주소를 물리적 로그 블록 주소로 변환하여 NOR 형 플래시 메모리(30) 상의 로그 블록 데이터들을 순차적으로 읽고 메인 메모리(10) 상에 로그 맵을 구성한다.
여기서, 로그 맵이 구성되면 읽으려는 데이터가 NOR 형 플래시 메모리(30)의 로그(31'b)에 존재하는 지 또는 NAND 형 플래시 메모리(50)의 파일 데이터 페이지(51'a)에 존재하는 지의 여부를 판단할 수 있다.
그러므로, 읽으려는 데이터가 NOR 형 플래시 메모리(30)의 로그 블록(31')에 존재하면(S19), NOR 형 플래시 메모리(30)의 로그 블록(31')에 데이터를 읽어서 반환한다(S23).
또한, 상기 단계(S11)에서 로그 블록(31')이 유효하지 않은 경우에는 NAND 형 플래시 메모리(50)의 파일 데이터 페이지(51'a)에서 데이터를 읽어서 반환하는 단계(S21)로 이동하며, 종료시킨다.
더불어, 상기 단계(S13)에서 로그 맵이 유효하지 않은 경우, NOR 형 플래시 메모리(30)의 로그 블록(31')을 순차적으로 읽어서 로그 맵을 구성한다.
또한, 상기 단계(S19)에서 로그 블록(31')에 데이터가 없는 경우에는 NAND 플래시 메모리(50)의 파일 데이터 페이지(51'a)에서 데이터를 읽어서 반환하는 단계(S21)로 이동하며 읽기 연산을 종료시킨다.
도 6은 본 발명의 NOR 플래시 메모리와 NAND 플래시 메모리를 이용한 쓰기 연산에 따른 개략적인 흐름도이다. 도면에서 도시하고 있는 바와 같이, 쓰기 연산이 시작되면, 쓰기 데이터 크기가 한계 크기보다 작은지를 판단한다(S50).
그리고, 상기 쓰기 데이터 크기가 한계 크기 미만이면(S51), 파일의 로그 블록(31')과 로그 맵이 유효한 지의 여부를 판단하고(S53), 상기 로그 블록(31')과 로그 맵이 유효하면(S55, S57), NOR 형 플래시 메모리(30)의 로그(31'b)로 기입한다(S69).
여기서, 상기 단계(S51)에서 상기 쓰기 데이터 크기가 한계 크기를 초과하는 경우에는, NAND 형 플래시 메모리(50)의 페이지(51')를 할당하여 쓰기 연산을 수행한다(S65).
또한, 상기 단계(S55)에서 로그 블록(31')이 유효하지 않으면, NOR 형 플래시 메모리(30) 상의 유휴 로그 블록을 해당 파일에 대한 로그 블록(31')으로 할당하고, 논리 로그 블록 주소를 파일 메타 데이터 페이지(51'b)에 저장하고(S59), 로 그 블록에 대한 할당이 성공하였는 지의 여부를 판단하며(S61), 로그 블록 할당이 성공되었으면, NOR 형 플래시 메모리(30)에 로그(31'b)를 기입하는 단계(S69)로 진입하며, 로그 블록 할당이 성공하지 못하였을 경우에는, NAND 형 플래시 메모리(50)에 페이지(51')를 할당하는 단계(S63)로 이동한다.
그리고, 상기 로그 블록(31')은 유효하지만, 로그 맵이 유효하지 않으면, 로그 블록(31')을 순차적으로 읽어서 로그 맵을 메인 메모리(10)에 구성하는 단계를 더 포함한다(S67).
도 7은 도 6의 NOR 로그 블록 할당 방법을 개략적으로 도시한 흐름도.도면에서 도시하고 있는 바와 같이, 쓰기 연산 과정 중에서 NOR 형 플래시 메모리(30)에 로그 블록(31')을 할당하는 과정은 개(開) 상태의 지움 블록(31)이 존재하지 않고, 유휴 지움 블록을 검색하여 존재하면(S59-1, S59-2, S59-3, S59-4), 유휴 지움 블록을 1 감소시킨 개수가 한계값을 초과하는 지의 여부를 판단하며(S59-6, S59-7), 한계값을 초과하면, 상기 유휴 지움 블록의 논리 블록 변환 맵을 갱신하여(S59-10) 개 상태로 변환 및 지움 블록(31)으로 설정하고(S59-14), 상기 지움 블록(31)에서 유휴 로그 블록을 할당한다(S59-15).
상기 단계(S59-2)에서 지움 블록(31)이 존재하지 않는 경우에는, 상기 지움 블록(31)에서 유휴 로그 블록을 할당하는 단계(S59-15)로 이동하고, 개 상태의 지움 블록(31)이 없으면, 다시 NOR 블록 상태 맵을 참조하여 유휴 지움 블록을 검색하는 단계(S59-3)로 진행한다.
더불어, 상기 유휴 지움 블록이 존재하지 않는 경우에는(S59-4), 기입 가능한 로그 블록(31')이 존재하지 않으므로, 로그 블록 할당이 실패한 것으로 간주(S59-5)하여 상기 단계를 종료시키는 것을 특징으로 한다.
여기서, 상기 유휴 지움 블록 개수가 한계값 미만인 경우(S59-7, S59-8)에는 폐기 로그 블록을 다수 가지는 지움 블록(31)을 검색하는 단계(S59-9)와, 상기 지움 블록(31)이 존재하면(S59-11), 지움 블록(31) 내에 유효한 할당 로그 블록을 유휴 지움 블록에 복사하는 단계(S59-12), 상기 유휴 지움 블록의 논리 블록 변환 맵을 갱신하고, 상기 지움 블록(31)을 지우는 단계(S59-13)를 더 포함하고, 유휴 지움 블록을 개 상태로 변환하는 단계(S59-14)로 이동한다.
또한, 상기 지움 블록이 존재하지 않는 경우(S59-11)에는 유휴 지움 블록의 논리 블록 변환 맵을 갱신하는 단계(S59-10)로 이동한다.
도 8은 도 6의 NOR 형 플래시 메모리에 로그를 기입하는 방법을 개략적으로 도시한 흐름도.도면에서 도시하고 있는 바와 같이, NOR 형 플래시 메모리(30)에 로그(31'b)를 기입하는 단계는 상기 NOR 형 플래시 메모리(30)의 유휴 영역 크기가 로그 크기 이상이면(S69-1, S69-2) 로그(31'b)를 기입하는 단계(S69-3)를 더 포함한다.
여기서, 상기 유휴 영역 크기가 로그 크기 미만이면(S69-2), 로그 블록(31')의 로그(31'b)를 메인 메모리(10)에 연속된 영역으로 복사하는 단계(S69-4), NAND 형 플래시 메모리(50)에 플러싱하는 단계(S69-5), 상기 로그 블록(31')을 폐기하는 단계(S69-6)를 더 포함한다.
상기한 바와 같이, 할당된 로그 블록(31')의 여유 공간이 로그(31'b)를 기록하기에 기 기록된 로그(31'b)들로 로그 블록(31')이 충만하여 더 이상 로그를 기록하기에 적합하지 않는다면, NOR 형 플래시 메모리(30)의 로그 블록(31') 상의 기 기록된 로그(31'b)들과 현재 기록하고자 하는 로그(31'b)를 메인 메모리(10)의 연속된 영역으로 복사하여 병합한 후, NAND 형 플래시 메모리(50)의 파일 데이터 페이지(51'a)에 플러싱을 완료한 후에, 해당 로그 블록(31')들을 폐기한다.
이상에서는 본 발명의 바람직한 실시예를 예시적으로 설명하였으나, 본 발명의 범위는 이같은 특정 실시예에만 한정되지 않으며 해당 분야에서 통상의 지식을 가진자라면 본 발명의 특허 청구 범위내에 기재된 범주 내에서 적절하게 변경이 가능 할 것이다.
이상에서 설명한 바와 같이 상기와 같은 구성을 갖는 본 발명은 페이지 크기보다 적은 양의 데이터를 NOR 플래시 메모리의 로그로 병합시켜 NAND 플래시 메모리에 저장시킴으로써, 적은 양의 데이터가 높은 빈도로 수정될지라도 메모리의 사용 효율이 증대됨과 동시에 파일 시스템의 수명을 증가시키며, 전원이 차단되더라도 데이터의 손실을 방지할 수 있는 등의 효과를 거둘 수 있다.

Claims (22)

  1. 파일의 데이터가 저장되는 페이지가 다수개 형성되고, 상기 다수개의 페이지로 구성되는 지움 블록을 포함하는 NAND 형 플래시 메모리;
    파일이 저장된 다수개의 로그 블록은 상기 로그 블록의 정보가 저장되는 로그 블록 헤더와 상기 파일의 데이터가 저장되는 로그 데이터 및 상기 데이터의 정보가 저장되는 로그 헤더로 구성되고, 상기 다수개의 로그 블록으로 구성되는 지움 블록을 포함하는 NOR 형 플래시 메모리;
    각 파일에 대한 정보가 저장되는 파일 관리 모듈과 상기 NOR 형 및 NAND 형 플래시 메모리의 자원을 관리하는 NOR 형 자원 관리 모듈 및 NAND 형 자원 관리 모듈을 포함하는 파일 시스템 계층과, 상기 NAND 형 및 NOR 형 플래시 메모리를 구동시키는 플래시 메모리 구동 계층을 포함하는 메인 메모리;
    를 포함하는 NOR 플래시 메모리와 NAND 플래시 메모리를 이용한 하이브리드 파일 시스템.
  2. 제1항에 있어서,
    상기 파일 관리 모듈은
    NAND 형 플래시 메모리에 저장된 파일 메타 데이터 페이지의 물리적 주소를 가리키는 메타 데이터 주소;
    상기 메인 메모리 상의 파일 맵의 위치를 가리키는 파일 맵 포인터;
    상기 메인 메모리 상의 로그 맵의 위치를 가리키는 로그 맵 포인터;
    을 포함하여 이루어지는 것을 특징으로 하는 NOR 플래시 메모리와 NAND 플래시 메모리를 이용한 하이브리드 파일 시스템.
  3. 제2항에 있어서,
    상기 로그 맵은
    상기 NOR 형 플래시 메모리의 로그 블록에 대한 정보를 저장하는 로그 맵 헤더;
    파일 내의 로그 위치를 저장하는 로그의 정보를 저장하는 로그 기술자;
    를 포함하는 것을 특징으로 하는 NOR 플래시 메모리와 NAND 플래시 메모리를 이용한 하이브리드 파일 시스템.
  4. 제2항에 있어서,
    상기 파일 맵은 상기 NAND 형 플래시 메모리의 파일 메타 데이터 페이지의 물리적 주소를 저장하는 것을 특징으로 하는 NOR 플래시 메모리와 NAND 플래시 메모리를 이용한 하이브리드 파일 시스템.
  5. 제1항에 있어서,
    상기 NOR 형 자원 관리 모듈은
    상기 NOR 형 플래시 메모리의 로그 블록을 관리하는 로그 블록 관리;
    상기 로그 블록 중 유휴 블록을 관리하는 자유 블록 관리;
    상기 로그 블록의 폐기 상태를 관리하여 회수하는 폐 영역 회수;
    상기 NOR 형 플래시 메모리에 파일 저장을 위한 연산을 수행하는 바이트 연산;
    상기 파일 저장의 단위인 블록에 대한 연산을 수행하는 블록 연산;
    으로 이루어지는 것을 특징으로 하는 NOR 플래시 메모리와 NAND 플래시 메모리를 이용한 하이브리드 파일 시스템.
  6. 제5항에 있어서,
    상기 로그 블록 관리는
    상기 NOR 형 플레시 메모리의 모든 지움 블록에 대하여 로그 블록의 할당 및 폐 영역 회수를 위한 NOR 블록 상태 맵;
    로그 블록의 논리 주소인 논리 지움 블록 주소와, 물리적 로그 블록으로 접근할 수 있도록 구비되는 오프셋을 포함하는 논리 로그 블록 주소;
    상기 논리 지움 블록 주소 및 오프셋의 물리적 주소로 변환시키는 논리 블록 변환 맵;
    을 포함하여 로그 블록을 관리하는 것을 특징으로 하는 NOR 플래시 메모리와 NAND 플래시 메모리를 이용한 하이브리드 파일 시스템.
  7. NAND 형 플래시 메모리에서 파일 메타 데이터 페이지의 논리 로그 블록 주소에 따라 파일의 로그 블록과 로그 맵이 유효한 지의 여부를 판단하는 단계;
    상기 로그 블록 및 로그 맵이 유효하면, 상기 로그 블록에 데이터가 존재하는 지를 판단하여 NOR 형 플래시 메모리의 로그 블록에서 데이터를 읽어 반환하는 단계;
    를 포함하는 NOR 플래시 메모리와 NAND 플래시 메모리를 이용한 데이터 연산 방법.
  8. 제7항에 있어서,
    상기 로그 블록이 유효하지 않은 경우에는
    해당 파일에 대한 로그 블록이 존재하지 않으므로, 메인 메모리 상의 파일 맵을 통하여 NAND 형 플래시 메모리 상의 페이지에서 데이터를 반환하는 단계;
    를 더 포함하는 것을 특징으로 하는 NOR 플래시 메모리와 NAND 플래시 메모리를 이용한 데이터 연산 방법.
  9. 제7항에 있어서,
    상기 로그 맵이 유효하지 않은 경우에는
    상기 NOR 형 플래시 메모리의 로그 블록을 순차적으로 읽어들여 메인 메모리에 로그 맵을 구성하는 단계;
    를 더 포함하는 것을 특징으로 하는 NOR 플래시 메모리와 NAND 플래시 메모리를 이용한 데이터 연산 방법.
  10. 제7항에 있어서,
    상기 로그 블록에 데이터가 존재하지 않는 경우에는
    NAND 형 플래시메모리의 파일 데이터 페이지에서 데이터를 읽어 반환하는 단계;
    를 더 포함하는 것을 특징으로 하는 NOR 플래시 메모리와 NAND 플래시 메모리를 이용한 데이터 연산 방법.
  11. NOR 형 플래시 메모리 및 NAND 형 플래시 메모리를 구비한 파일 시스템에서 쓰기 데이터 크기가 한계 크기 미만인 지의 여부를 판단하는 단계;
    상기 쓰기 데이터 크기가 한계 크기 미만이면, 파일의 로그 블록과 로그 맵이 유효한 지의 여부를 판단하는 단계;
    상기 로그 블록과 로그 맵이 유효하면, NOR 형 플래시 메모리의 로그로 기입하는 단계;
    를 포함하는 NOR 플래시 메모리와 NAND 플래시 메모리를 이용한 데이터 연산 방법.
  12. 제11항에 있어서,
    상기 쓰기 데이터 크기가 한계 크기 이상이면 NAND 형 플래시 메모리에 페이지를 할당하여 파일 데이터 페이지에 쓰기 연산을 수행하는 단계;
    를 더 포함하고, 종료시키는 것을 특징으로 하는 NOR 플래시 메모리와 NAND 플래시 메모리를 이용한 데이터 연산 방법.
  13. 제11항에 있어서,
    상기 NOR 형 플래시 메모리의 로그 블록이 유효하지 않을 경우에는
    NOR 형 플래시 메모리의 로그 블록을 할당하여 파일 메타 데이터 페이지에 로그 블록 주소를 저장하는 단계;
    상기 로그 블록의 할당 여부를 확인하는 단계;
    를 더 포함하는 것을 특징으로 하는 NOR 플래시 메모리와 NAND 플래시 메모리를 이용한 데이터 연산 방법.
  14. 제13항에 있어서,
    상기 NOR 형 플래시 메모리에 로그 블록의 할당은
    개 상태의 지움 블록이 존재하지 않고, 유휴 지움 블록이 존재하면, 유휴 지움 블록을 1 감소시킨 개수가 한계값을 초과하는 지의 여부를 판단하는 단계;
    한계값을 초과하면, 상기 유휴 지움 블록의 논리 블록 변환 맵을 갱신하여 개 상태로 변환 및 지움 블록으로 설정하는 단계;
    상기 지움 블록에서 유휴 로그 블록을 할당하는 단계;
    를 더 포함하는 것을 특징으로 하는 NOR 플래시 메모리와 NAND 플래시 메모리를 이용한 데이터 연산 방법.
  15. 제14항에 있어서,
    상기 지움 블록이 존재하는 경우에는, 상기 지움 블록에서 유휴 로그 블록을 할당하는 단계로 이동하는 것을 특징으로 하는 NOR 플래시 메모리와 NAND 플래시 메모리를 이용한 데이터 연산 방법.
  16. 제14항에 있어서,
    상기 유휴 지움 블록이 존재하지 않는 경우에는, 로그 블록 할당이 실패한 것으로 간주하여 상기 단계를 종료시키는 것을 특징으로 하는 NOR 플래시 메모리와 NAND 플래시 메모리를 이용한 데이터 연산 방법.
  17. 제14항에 있어서,
    상기 유휴 지움 블록 개수가 한계값 미만인 경우에는
    폐기 로그 블록을 다수 가지는 지움 블록을 검색하는 단계;
    상기 지움 블록이 존재하면, 지움 블록 내에 유효한 할당 로그 블록을 유휴 지움 블록에 복사하는 단계;
    상기 유휴 지움 블록의 논리 블록 변환 맵을 갱신하고, 상기 지움 블록을 지우는 단계;
    를 더 포함하고, 유휴 지움 블록을 개 상태로 변환하는 단계로 이동하는 것을 특징으로 하는 NOR 플래시 메모리와 NAND 플래시 메모리를 이용한 데이터 연산 방법.
  18. 제17항에 있어서,
    상기 지움 블록이 존재하지 않는 경우에는
    유휴 지움 블록의 논리 블록 변환 맵을 갱신하는 단계로 이동하는 것을 특징으로 하는 NOR 플래시 메모리와 NAND 플래시 메모리를 이용한 데이터 연산 방법.
  19. 제13항에 있어서,
    상기 로그 블록이 할당되지 않았을 경우에는
    NAND 형 플래시 메모리에 페이지를 할당하여 파일 데이터 페이지에 쓰기 연산을 수행하는 단계;
    를 더 포함하고, 종료시키는 것을 특징으로 하는 NOR 플래시 메모리와 NAND 플래시 메모리를 이용한 데이터 연산 방법.
  20. 제11항에 있어서,
    상기 로그 맵이 유효하지 않을 경우에는
    NOR 형 플래시 메모리의 로그 블록을 순차적으로 읽어 로그 맵을 구성하는 단계;
    를 더 포함하는 것을 특징으로 하는 NOR 플래시 메모리와 NAND 플래시 메모리를 이용한 데이터 연산 방법.
  21. 제11항에 있어서,
    NOR 형 플래시 메모리에 로그를 기입하는 단계는
    상기 NOR 형 플래시 메모리의 유휴 영역 크기가 로그 크기 이상이면 로그를 기입하는 단계;
    를 더 포함하는 것을 특징으로 하는 NOR 플래시 메모리와 NAND 플래시 메모리를 이용한 데이터 연산 방법.
  22. 제21항에 있어서,
    상기 유휴 영역 크기가 로그 크기 미만이면 로그 블록의 로그를 메인 메모리에 연속된 영역으로 복사하는 단계;
    NAND 형 플래시 메모리에 플러싱하는 단계;
    상기 로그 블록을 폐기하는 단계;
    를 더 포함하는 것을 특징으로 하는 NOR 플래시 메모리와 NAND 플래시 메모리를 이용한 데이터 연산 방법.
KR1020070024098A 2007-03-12 2007-03-12 Nor 플래시 메모리와 nand 플래시 메모리를 이용한하이브리드 파일 시스템 및 데이터 연산 방법 KR100844406B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070024098A KR100844406B1 (ko) 2007-03-12 2007-03-12 Nor 플래시 메모리와 nand 플래시 메모리를 이용한하이브리드 파일 시스템 및 데이터 연산 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070024098A KR100844406B1 (ko) 2007-03-12 2007-03-12 Nor 플래시 메모리와 nand 플래시 메모리를 이용한하이브리드 파일 시스템 및 데이터 연산 방법

Publications (1)

Publication Number Publication Date
KR100844406B1 true KR100844406B1 (ko) 2008-07-08

Family

ID=39823903

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070024098A KR100844406B1 (ko) 2007-03-12 2007-03-12 Nor 플래시 메모리와 nand 플래시 메모리를 이용한하이브리드 파일 시스템 및 데이터 연산 방법

Country Status (1)

Country Link
KR (1) KR100844406B1 (ko)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0793980A (ja) * 1993-09-24 1995-04-07 Toshiba Emi Ltd データ記録再生装置
KR100205240B1 (ko) 1996-09-13 1999-07-01 윤종용 단일 비트 및 다중 비트 셀들이 장착된 불휘발성 반도체 메모리 장치
KR20050042183A (ko) * 2002-09-10 2005-05-04 노키아 코포레이션 램과 비휘발성 램을 포함하는 메모리 회로
US20050146936A1 (en) 2004-01-07 2005-07-07 Ching-Shi Jenq Combination NAND-NOR memory device
US20070100852A1 (en) 2005-11-03 2007-05-03 Jeffrey Wang File system management for integrated NOR and NAND flash memory
KR20070055984A (ko) * 2005-11-28 2007-05-31 가부시끼가이샤 르네사스 테크놀로지 멀티칩 모듈

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0793980A (ja) * 1993-09-24 1995-04-07 Toshiba Emi Ltd データ記録再生装置
KR100205240B1 (ko) 1996-09-13 1999-07-01 윤종용 단일 비트 및 다중 비트 셀들이 장착된 불휘발성 반도체 메모리 장치
KR20050042183A (ko) * 2002-09-10 2005-05-04 노키아 코포레이션 램과 비휘발성 램을 포함하는 메모리 회로
US20050146936A1 (en) 2004-01-07 2005-07-07 Ching-Shi Jenq Combination NAND-NOR memory device
US20070100852A1 (en) 2005-11-03 2007-05-03 Jeffrey Wang File system management for integrated NOR and NAND flash memory
KR20070055984A (ko) * 2005-11-28 2007-05-31 가부시끼가이샤 르네사스 테크놀로지 멀티칩 모듈

Similar Documents

Publication Publication Date Title
US10838859B2 (en) Recency based victim block selection for garbage collection in a solid state device (SSD)
US8612719B2 (en) Methods for optimizing data movement in solid state devices
Wu et al. An efficient B-tree layer for flash-memory storage systems
KR100789406B1 (ko) 플래시 메모리 시스템 및 그것의 가비지 컬렉션 방법
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
US7558905B2 (en) Reclaiming data storage capacity in flash memory systems
EP1686482B1 (en) File recording device
KR101274181B1 (ko) 플래시 메모리를 관리하는 장치 및 방법
KR101447188B1 (ko) 플래시 메모리에 최적화된 입출력 제어 방법 및 장치
EP1988474A1 (en) System and method of managing indexation of flash memory
US20030229753A1 (en) Flash memory file system
CN112395212B (zh) 减少键值分离存储系统的垃圾回收和写放大的方法及系统
KR20070060070A (ko) 최적화된 순차적인 클러스터 관리용 에프에이티 분석
CN106557432B (zh) 缓冲存储器管理方法、存储器控制电路单元及存储装置
CN107817945B (zh) 一种混合内存结构的数据读取方法和系统
JP2009503744A (ja) 予定再生操作を伴う不揮発性メモリ
KR101204163B1 (ko) 반도체 기억 장치
EP2264602A1 (en) Memory device for managing the recovery of a non volatile memory
CN102004697B (zh) 一种Flash的回收方法和装置
CN113010091B (zh) 数据写入固态硬盘的方法、垃圾回收的方法、装置
KR101191650B1 (ko) 낸드 플래시 메모리에서 데이터의 주소를 사상시키는 장치 및 방법
CN108376121B (zh) 一种Flash存储器的数据存储方法
KR20110070656A (ko) 플래시 메모리의 데이터 처리 방법 및 장치
KR100844406B1 (ko) Nor 플래시 메모리와 nand 플래시 메모리를 이용한하이브리드 파일 시스템 및 데이터 연산 방법
CN108197040A (zh) 一种实体位置映到逻辑映像位置的高效能方法

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120629

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20130628

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee