KR100548427B1 - 플래시 메모리 파일 시스템의 데이터 관리방법 - Google Patents

플래시 메모리 파일 시스템의 데이터 관리방법 Download PDF

Info

Publication number
KR100548427B1
KR100548427B1 KR1020040014403A KR20040014403A KR100548427B1 KR 100548427 B1 KR100548427 B1 KR 100548427B1 KR 1020040014403 A KR1020040014403 A KR 1020040014403A KR 20040014403 A KR20040014403 A KR 20040014403A KR 100548427 B1 KR100548427 B1 KR 100548427B1
Authority
KR
South Korea
Prior art keywords
inode
flash memory
data
file system
memory file
Prior art date
Application number
KR1020040014403A
Other languages
English (en)
Other versions
KR20050088854A (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 KR1020040014403A priority Critical patent/KR100548427B1/ko
Priority to CN2004100889515A priority patent/CN1664815A/zh
Publication of KR20050088854A publication Critical patent/KR20050088854A/ko
Application granted granted Critical
Publication of KR100548427B1 publication Critical patent/KR100548427B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09FDISPLAYING; ADVERTISING; SIGNS; LABELS OR NAME-PLATES; SEALS
    • G09F23/00Advertising on or in specific articles, e.g. ashtrays, letter-boxes
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61FFILTERS IMPLANTABLE INTO BLOOD VESSELS; PROSTHESES; DEVICES PROVIDING PATENCY TO, OR PREVENTING COLLAPSING OF, TUBULAR STRUCTURES OF THE BODY, e.g. STENTS; ORTHOPAEDIC, NURSING OR CONTRACEPTIVE DEVICES; FOMENTATION; TREATMENT OR PROTECTION OF EYES OR EARS; BANDAGES, DRESSINGS OR ABSORBENT PADS; FIRST-AID KITS
    • A61F17/00First-aid kits
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09FDISPLAYING; ADVERTISING; SIGNS; LABELS OR NAME-PLATES; SEALS
    • G09F15/00Boards, hoardings, pillars, or like structures for notices, placards, posters, or the like
    • G09F15/0006Boards, hoardings, pillars, or like structures for notices, placards, posters, or the like planar structures comprising one or more panels
    • G09F15/0012Boards, hoardings, pillars, or like structures for notices, placards, posters, or the like planar structures comprising one or more panels frames therefor
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09FDISPLAYING; ADVERTISING; SIGNS; LABELS OR NAME-PLATES; SEALS
    • G09F23/00Advertising on or in specific articles, e.g. ashtrays, letter-boxes
    • G09F2023/0025Advertising on or in specific articles, e.g. ashtrays, letter-boxes on containers

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Animal Behavior & Ethology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Public Health (AREA)
  • Veterinary Medicine (AREA)
  • Vascular Medicine (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Biomedical Technology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 이동통신 단말기 등에 널리 사용되고 있는 플래시 메모리 파일 시스템에서 다중 아이노드를 이용하여 데이터를 효율적으로 관리하기 위한 기술에 관한 것이다. 이러한 본 발명은, 플래시 메모리 파일 시스템에서, 아이노드의 구조를 두 가지 유형으로 분류하고, 이 중에서 하나의 유형을 인 플레이스 업데이트가 자주 발생하는 부분들을 별도로 저장하기 위한 새로운 유형의 아이노드로 정의하는 제1과정과; 데이터의 덧쓰기를 지원하기 위해 변경된 정보의 값을 소정의 형태로 분류하고 이를 상기 새로운 유형의 아이노드에 첨가하는 제2과정에 의해 달성된다.

Description

플래시 메모리 파일 시스템의 데이터 관리방법{DATA MANAGEMENT METHOD IN FLASH MEMORY FILE SYSTEM}
도 1은 본 발명에 의한 데이터의 관리 방법이 적용되는 플래시 메모리 파일 시스템의 블록도.
***도면의 주요 부분에 대한 부호의 설명***
10 : 디램 영역 11 : 세그먼트 포인터부
11A : 퍼스트찬스 세그먼트 포인터 11B : 세컨드찬스 세그먼트 포인터 11C : 데이터블록 세그먼트 포인터 20 : 플래시 메모리 영역
21A : 퍼스트찬스 아이노드 세그먼트 21B : 세컨드찬스 아이노드 세그먼트
22 : 데이터블록 세그먼트
본 발명은 이동통신 단말기 등에 널리 사용되고 있는 플래시 메모리 파일 시스템에서 다중 아이노드를 이용하여 데이터를 효율적으로 관리하기 위한 기술에 관한 것으로, 특히 라이트(write) 혹은 프로그램 연산의 대부분을 차지하는 데이터를 저장하는 아이노드의 구조를 두 가지 유형으로 분류하고, 인플레이스 업데이트가 자주 발생하는 부분들을 별도로 저장하기 위한 새로운 유형의 아이노드를 정의한 플래시 메모리 파일 시스템의 데이터 관리방법에 관한 것이다.
플래시 메모리는 소비전력이 적고, 전원이 꺼지더라도 저장된 정보가 사라지지 않은 채 유지되는 특성을 지닌 비휘발성 메모리로서, 디지털텔레비젼, 디지털캠코더, 휴대전화, 디지털카메라, 개인휴대단말기(PDA), 게임기, MP3플레이어 등에 널리 이용되고 있다. 플래시 메모리의 종류는 크게 저장용량이 큰 데이터저장형(NAND)과 처리 속도가 빠른 코드저장형(NOR)의 2가지로 분류된다.
일반적으로, 플래시 메모리를 사용하여 파일 시스템을 구현하기 위해서는 플래시 메모리가 가진 하드웨어적인 단점들 예를 들어, 인플레이스 업데이트(in-place update)가 지원되지 않으며 플래시 메모리의 쓰기/지우기 회수가 제한되어 있다는 등의 단점들을 극복해야 한다.
예를 들어, NAND형 플래시 메모리 파일 시스템에서 데이터의 속성이나 값을 변경해야 할 경우, 해당 필드의 인플레이스 업데이트가 불가능하므로 항상 전체 블록 단위로 삭제(erase)한 후 새로운 값을 라이트/프로그램해야 하는 어려움이 있었다. 이로 인하여 데이터의 관리 측면에서 볼 때 시간적/공간적으로 오버헤드(overhead)를 초래한다.
플래시 메모리 파일 시스템에서, 아이노드(I-node)는 인덱스 노드(index node)에서 파생된 단어로서 디스크의 내용을 관리하고 파일에 대한 모든 관리 정보를 갖고 있다. 이 데이터는 커널의 아이 리스트(i-list) 안에서 사용이 되고 모든 아이노드의 열거는 시스템에서 파일을 여는데 관련이 있다. 아이노드는 중요한 여러 가지 데이 터 요소를 포함하고 있다.
이와 같이 종래의 플래시 메모리 파일 시스템에 있어서는 데이터의 속성이나 값을 변경해야 할 경우에 해당 필드의 인플레이스 업데이트가 불가능하여, 단지 아이노드의 한 필드만 변경되는 경우에도 전체 블록 단위로 삭제한 후 새로운 값을 라이트/프로그램해야 하므로, 데이터의 관리 측면에서 볼 때 시간적/공간적으로 오버헤드를 초래하고, 이로 인하여 전체 시스템의 성능이 저하되는 단점이 있었다.
따라서, 본 발명의 목적은 라이트 혹은 프로그램 연산의 대부분을 차지하는 데이터를 저장하는 아이노드의 구조를 두 가지 유형으로 분류하고, 인 플레이스 업데이트가 자주 발생하는 부분들을 별도로 저장하기 위한 새로운 유형의 아이노드를 정의하며, 데이터의 덧쓰기를 지원하기 위해 델타 로깅 기법을 사용하여 변경된 정보의 값을 로그 형태로 분류하고 이를 새로운 아이노드에 첨가하도록 하는데 있다.
본 발명에 의한 플래시 메모리 파일 시스템의 데이터 관리 방법은, 아이노드의 구조를 두 가지 유형으로 분류하고, 인 플레이스 업데이트가 자주 발생하는 부분들을 별도로 저장하기 위한 새로운 유형의 아이노드를 정의하는 제1과정과; 데이터의 덧쓰기를 지원하기 위해 델타 로깅(delta-logging) 기법을 사용하여 변경된 정보의 값을 로그 형태로 분류하고 이를 상기 새로운 유형의 아이노드에 첨가하는 제2과정으로 이루어진다.
도 1은 본 발명에 의한 데이터의 관리 방법이 적용되는 플래시 메모리 파일 시스템 의 블록도로서 이에 도시한 바와 같이, 데이터블록 세그먼트(22)에 저장된 데이터들의 부가정보를 퍼스트찬스 아이노드 세그먼트(first_chance inode segment)(21A)에 저장하기 위한 퍼스트찬스 세그먼트 포인터(11A)와; 실제 데이터의 속성 및 값의 정보가 변경될 때마다 세컨드찬스 아이노드 세그먼트(second_chance inode segment)(21B)에 변경된 값의 로그(log)를 첨가하기 위한 세컨드찬스 세그먼트 포인터(11B)와; 실질적으로 가르키는 데이터에 관련된 정보를 데이터블록 세그먼트(22)에 기록하기 위한 데이터블록 세그먼트 포인터(11C)와; 데이터블록 세그먼트(22)에 저장된 데이터들의 부가정보가 저장되는 퍼스트찬스 아이노드 세그먼트(21A)와; 변경된 값들의 정보가 로그 타입(log_type), 로그 정보(log_info) 형식으로 저장되는 세컨드찬스 아이노드 세그먼트(21B)와; 실제 데이터가 저장되는 데이터블록 세그먼트(22)로 구성한 것으로, 이와 같이 구성한 본 발명의 작용을 상세히 설명하면 다음과 같다.
디램(DRAM) 영역(10)에 있는 세그먼트 포인터부(11)에서는 플래시 메모리 영역(20)의 데이터블록 세그먼트(22)에 저장된 각 블록들에 대한 포인터들을 가지고 있으므로, 이를 이용하여 그 데이터블록 세그먼트(22)에 저장된 데이터들의 정보를 관리하는 역할을 수행한다. 예를 들어, 파일을 생성하거나, 새로운 데이터를 저장하기 위해 블록을 할당하거나 삭제하는 등의 역할을 수행한다.
상기 플래시 메모리 영역(20)의 데이터블록 세그먼트(22)에 저장된 데이터의 관리를 위해 퍼스트찬스 아이노드와 세컨드찬스 아이노드의 디스크립터(descript)를 사용하며, 실제 데이터의 속성 및 값의 정보가 변경될 때마다 세컨드찬스 세그먼트 포인터(11B)에 의해 세컨드찬스 아이노드 세그먼트(21B) 내의 세컨드찬스 아이노드(sc_inode)에 그 변경된 값의 로그(log)가 첨가된다.
따라서, 나중에 변경된 값을 저장한 블록 전체를 삭제하지 않고도 인플레이스 업데이트가 가능하게 된다.
참고로, 상기 데이터블록 세그먼트(22)에 저장된 데이터들의 부가정보는 퍼스트찬스 세그먼트 포인터(11A)에 의해 퍼스트찬스 아이노드 세그먼트(21A) 내의 퍼스트찬스 아이노드(fc_inode)에 저장된다.
그런데, 변경된 값들의 정보는 상기 세컨드찬스 세그먼트 포인터(11B)에 의해 각각 로그 타입(log_type), 로그 정보(log_info) 형식으로 상기 세컨드찬스 아이노드 세그먼트(21B) 내의 세컨드찬스 아이노드(sc_inode)에 저장된다. 여기서, 로그 타입(log_type)은 각 필드의 정보를 의미하며, 로그 정보(log_info)는 실제 업데이트되는 값을 나타낸다.
이상에서 상세히 설명한 바와 같이 본 발명은 라이트 혹은 프로그램 연산의 대부분을 차지하는 데이터를 저장하는 아이노드의 구조를 두 가지 유형으로 분류하고, 인 플레이스 업데이트가 자주 발생하는 부분들을 별도로 저장하기 위한 새로운 유형의 아이노드를 정의하며, 데이터의 덧쓰기를 지원하기 위해 델타 로깅 기법을 사용하여 변경된 정보의 값을 로그 형태로 분류하고 이를 새로운 아이노드에 첨가하도록 함으로써, 플래시 메모리의 성능이 한층 향상되는 효과가 있다.

Claims (3)

  1. 플래시 메모리 파일 시스템에서, 아이노드의 구조를 두 가지 유형으로 분류하고, 이 중에서 하나의 유형을 인 플레이스 업데이트가 자주 발생하는 부분들을 별도로 저장하기 위한 새로운 유형의 아이노드로 정의하는 제1과정과; 데이터의 덧쓰기를 지원하기 위해 변경된 정보의 값을 소정의 형태로 분류하고 이를 상기 새로운 유형의 아이노드에 첨가하는 제2과정으로 이루어지는 것을 특징으로 하는 플래시 메모리 파일 시스템의 데이터 관리방법.
  2. 제1항에 있어서, 제2과정에서 변경된 정보의 값을 로그 형태로 분류할 때 델타 로깅 기법을 사용하는 것을 특징으로 하는 플래시 메모리 파일 시스템의 데이터 관리방법.
  3. 제1항에 있어서, 제2과정에서 소정의 형태는 로그 형태인 것을 특징으로 하는 플래시 메모리 파일 시스템의 데이터 관리방법.
KR1020040014403A 2004-03-03 2004-03-03 플래시 메모리 파일 시스템의 데이터 관리방법 KR100548427B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020040014403A KR100548427B1 (ko) 2004-03-03 2004-03-03 플래시 메모리 파일 시스템의 데이터 관리방법
CN2004100889515A CN1664815A (zh) 2004-03-03 2004-11-09 闪存文件系统的数据管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040014403A KR100548427B1 (ko) 2004-03-03 2004-03-03 플래시 메모리 파일 시스템의 데이터 관리방법

Publications (2)

Publication Number Publication Date
KR20050088854A KR20050088854A (ko) 2005-09-07
KR100548427B1 true KR100548427B1 (ko) 2006-02-02

Family

ID=35035908

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040014403A KR100548427B1 (ko) 2004-03-03 2004-03-03 플래시 메모리 파일 시스템의 데이터 관리방법

Country Status (2)

Country Link
KR (1) KR100548427B1 (ko)
CN (1) CN1664815A (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007179435A (ja) * 2005-12-28 2007-07-12 Sony Corp 情報処理装置、情報処理方法、プログラム
FI120422B (fi) 2007-07-02 2009-10-15 Tellabs Oy Menetelmä ja laitteita muutoslokin kompressoimiseksi käyttäen flash-transaktioita
CN101763490B (zh) * 2009-12-18 2012-11-21 东信和平科技股份有限公司 闪存智能卡的数据移动方法

Also Published As

Publication number Publication date
CN1664815A (zh) 2005-09-07
KR20050088854A (ko) 2005-09-07

Similar Documents

Publication Publication Date Title
US8140746B2 (en) Intelligent memory data management
CN108255408B (zh) 数据存储方法以及系统
US20180307428A1 (en) Data storage method, electronic device, and computer non-volatile storage medium
US10353607B2 (en) Bloom filters in a flash memory
US7636736B1 (en) Method and apparatus for creating and using a policy-based access/change log
US20030101327A1 (en) Flash memory management method
US20100131700A1 (en) Memory indexing system and process
CN105069002A (zh) 采用不同类型的存储介质的闪存文件系统及其数据存储方法
CN109690522A (zh) 一种基于b+树索引的数据更新方法、装置及存储装置
CN108153812A (zh) 数据通信的方法、装置、计算机设备及存储介质
CN100507873C (zh) 一种闪存中的flash文件的管理方法及系统
EP3343395B1 (en) Data storage method and apparatus for mobile terminal
US20070162707A1 (en) Information recording medium data processing apparatus and data recording method
US8595426B2 (en) Handling commands within a write-once read-many storage device configuration
KR100548427B1 (ko) 플래시 메모리 파일 시스템의 데이터 관리방법
CN103226592A (zh) 一种基于数据库的文件系统及文件存储方法
US11132134B2 (en) Flexible over-provisioning of storage space within solid-state storage devices (SSDs)
KR20040072875A (ko) 낸드 플래시 메모리를 이용한 저장장치
WO2023249753A1 (en) File system metadata layout for append-only storage
KR20090119481A (ko) 파일 시스템의 로그 파일 및 상기 파일 시스템의 오류 복구방법
US20030200232A1 (en) Information processor and program
CN116226497A (zh) 检索方法、介质、装置和计算设备
KR100878142B1 (ko) 플래시 메모리 상에서의 효율적인 동작을 위한 수정된b-트리 인덱스 구성 방법
KR101102754B1 (ko) 낸드 플래시 메모리 파일 시스템 및 낸드 플래시 메모리 시스템에서 파일 엑세스 방법
US8977814B1 (en) Information lifecycle management for binding content

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: 20121227

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20131224

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20141224

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20151224

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee