KR20090032692A - 플래시 메모리의 로그파일 관리 및 기록방법 - Google Patents

플래시 메모리의 로그파일 관리 및 기록방법 Download PDF

Info

Publication number
KR20090032692A
KR20090032692A KR1020070098135A KR20070098135A KR20090032692A KR 20090032692 A KR20090032692 A KR 20090032692A KR 1020070098135 A KR1020070098135 A KR 1020070098135A KR 20070098135 A KR20070098135 A KR 20070098135A KR 20090032692 A KR20090032692 A KR 20090032692A
Authority
KR
South Korea
Prior art keywords
log
file
log file
recording
metadata
Prior art date
Application number
KR1020070098135A
Other languages
English (en)
Other versions
KR100939814B1 (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 KR1020070098135A priority Critical patent/KR100939814B1/ko
Publication of KR20090032692A publication Critical patent/KR20090032692A/ko
Application granted granted Critical
Publication of KR100939814B1 publication Critical patent/KR100939814B1/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
    • 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/11File system administration, e.g. details of archiving or snapshots
    • G06F16/113Details of archiving
    • 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/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/164File meta data generation
    • 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/17Details of further file system functions
    • G06F16/1734Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs

Abstract

본 발명은 플래시 메모리의 로그파일 관리 및 기록방법에 관한 것이다. 상기한 본 발명에 따르는 플래시 메모리의 로그파일 관리 및 기록방법은, 파일시스템의 포맷 또는 로그 파일이 존재하지 않는 경우에 메타데이터를 저장할 로그 파일을 파일시스템에 생성하는 단계; 상기 로그 파일의 물리위치정보를 로그 관리기에 저장하는 단계; 상기 로그파일의 읽기 또는 기록요청시, 상기 로그관리기에 있는 물리위치정보를 토대로 상기 로그파일의 물리 주소로 직접 접근하여 상기 로그파일을 읽거나 기록하는 단계를 포함한다.
파일시스템, 로그, 로깅, 메타데이터, 기록방법

Description

플래시 메모리의 로그파일 관리 및 기록방법{method of managing and writing log file for flash memory}
본 발명은 플래시 메모리에 관한 것으로, 더욱 상세하게는 플래시 메모리의 로그 파일을 관리 및 기록하는 방법에 관한 것이다.
일반적으로, 메타데이터는 파일관리를 위한 추가 정보를 의미하는 것으로서, 그 역할은 데이터를 사용, 관리, 이해하는 데 편의성을 제공하는 것이다.
파일시스템 환경에서 어떤 파일이 저장되는 예를 고려하여 설명하면, 그 파일이 저장된 위치, 그 파일의 크기, 생성 시간, 사용 권한 등이 그 파일에 대한 메타데이터라고 할 수 있다. 만약 시스템 고장이 발생하였을 때에 상기 메타 데이터를 일관성있는 상태로 회복하지 못한다면 추후 파일 동작에 중대한 문제를 발생시킬 수 있으며, 파일시스템 전체를 불능의 상태로도 만들 수 있다.
따라서 최근의 파일시스템들에서는 메타데이터에 대한 일관성을 보장하기 위하여 갱신된 메타데이터의 내용을 로그(log)에 저장하고, 시스템 고장이 발생하면 그 로그를 재수행함으로써 메타데이터를 일관된 상태로 회복하는 방법들이 개발되고 있다.
이렇게 중요한 메타데이터는 파일관련 작업이 일어날 때마다 업데이트해야 한다. 로그를 파일로 관리할 때 종래기술에는 로그파일을 일반적인 파일과 같은 방식으로 기록하고 읽어오는 작업을 함으로써 파일이 갱신될 때마다 로그파일의 기록을 위해 파일시스템을 통해 기록해야 함으로 부하가 발생하는 문제점이 있었다.
본 발명은 상기한 종래 기술의 문제점을 해결하기 위해 안출된 것으로, 파일시스템의 마운트시 로그파일의 위치정보인 물리주소를 얻어와서 파일이 갱신될 때마다 물리주소에 직접적으로 접근하여 로그정보를 읽고 기록함으로써 파일시스템을 통한 기록 연산의 부하를 줄여 파일시스템의 성능을 향상시키는 플래시 메모리의 로그파일 관리 및 기록방법을 제공하는 것을 그 목적으로 한다.
상기한 목적을 달성하기 위한 본 발명에 따르는 플래시 메모리의 로그파일 관리 및 기록방법은, 파일시스템의 포맷 또는 로그 파일이 존재하지 않는 경우에 메타데이터를 저장할 로그 파일을 파일시스템에 생성하는 단계; 상기 로그 파일의 물리위치정보를 로그 관리기에 저장하는 단계; 상기 로그파일의 읽기 또는 기록요청시, 상기 로그관리기에 있는 물리위치정보를 토대로 상기 로그파일의 물리 주소로 직접 접근하여 상기 로그파일을 읽거나 기록하는 단계를 포함한다.
상기한 바와 같이 본 발명은 파일이 갱신될 때마다 메타데이터의 로그파일을 기록하기 위해 파일시스템에 접근하는 것이 아니라 물리주소에 직접적으로 접근하여 메타데이터 정보를 읽고 기록함으로써 파일시스템을 통해 기록함으로 생기는 부하를 줄여 파일시스템의 성능을 향상시킬 수 있는 효과가 있다.
본 발명은 파일시스템의 마운트시 로그파일의 위치정보를 얻어와서 이 위치정보로 파일시스템을 통해 일반적인 파일처럼 기록하고 읽도록 하는 것이 아니라 물리주소에 직접적으로 기록하고 읽도록 구성한다. 여기서, 상기 로그파일의 위치정보는 물리주소에 직접적인 접근이 가능한 정보로 구성된다.
본 발명은 상기 파일시스템을 포맷하고 난 후, 또는 로그파일이 존재하지 않을 때 로그파일을 파일시스템에 미리 생성한다. 상기 로그파일 생성은 파일시스템에서 파일을 생성하는 것이므로 파일의 물리위치는 연속적인 공간이 될 수도 있고 연속적이지 않은 공간이 될 수도 있다. 그리고 마운트할 때 이 로그파일의 모든 물리주소의 위치정보를 로그 관리기에 저장하고 메타데이터의 변경으로 로그파일이 수정될 때 로그관리기에 있는 위치정보를 통해 물리주소에 직접적으로 수정된다.
파일시스템을 통해 로그파일에 접근하는 것은 직접적으로 물리주소의 공간에 접근하는 것에 비해 부하가 있다. 즉, 상기 파일시스템에서 파일을 기록하기 위해서는 파일을 열고, 파일의 정보를 찾고, 파일저장을 위해 공간을 확보하고 기록 완료 후 파일을 닫는 등의 과정이 필요한데 직접적으로 물리주소에 기록하는 것은 위 일련의 과정이 생략된다. 또한 파일시스템에서 파일과 디렉터리 등의 변화가 있을 때마다 메타데이터의 로그를 저장하는 것이 필요함으로 파일관련 작업이 많을수록 물리주소에 직접 접근하는 것보다 부하는 더욱 늘어난다.
상기 로그파일은 파일시스템에서 사용할 로그의 개수의 설정에 따라 여러 개의 공간으로 구성된 하나의 파일로 관리된다. 로그파일의 로그공간은 파일관련 작업중인 태스크당 하나의 공간이 할당된다. 멀티 태스크 시스템에서도 동시에 두 개 이상의 태스크에서 같은 로그 파일을 동시에 사용할 수 없다. 하나의 태스크가 파일관련 잡업을 할 때 처음의 로그파일의 로그공간을 사용한다면 다른 태스크가 다른 파일관련 작업을 할 때는 두 번째 공간을 사용하도록 하여 하나의 로그파일로 여러 개의 로그를 저장할 수 있다. 로그파일의 로그공간은 파일관련 작업에 대한 메타데이터의 가장 큰 값을 사용함으로써 하나의 로그 공간이 다른 로그공간을 침범하지 않도록 구성된다.
각 로그마다 각각의 파일을 만드는 것도 가능하지만 하나의 로그파일로 로그를 관리하는 것에 비해 비효율적이다. 하나의 엔트리를 통해 여러 개의 로그를 관리하는 것이 여러 개의 엔트리로 여러 개의 로그를 관리하는 것에 비해 오버헤더가 적다. 따라서 본 발명에서는 하나의 로그파일로 여러 개의 로그를 관리하는 방법을 사용한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다.
도 1은 본 발명에 따른 메타데이터 로그파일과 로그파일의 로그공간과 로그관리기를 개략적으로 나타낸다.
로그관리기는 메타데이터 로그파일의 로그공간에 대한 물리주소와 로그파일 의 로그공간이 비었는지의 상태를 나타낸다.
먼저 포맷을 하고 난 후 파일시스템에서 메타데이터 로그파일을 미리 생성한다. 미리 생성된 로그파일은 도 1에 도시된 바와 같이 파일시스템에서 두 개의 물리공간으로 나누어 생성된다. 파일시스템에 의해 물리공간은 여러 개가 될 수도 있다. 하지만 두 개의 물리공간은 파일시스템의 입장에서 보면 하나의 파일이다. 로그파일은 물리섹터 10번, 11번, 12번, 13번의 공간과 24번, 25번, 26번, 27번 공간에 생성되었고, 한 개의 로그공간은 메타데이터의 최대 크기인 2개의 섹터로 구성되어 4개의 로그공간으로 생성되었다.
파일시스템을 마운트할 때 로그파일의 로그공간에 대한 위치정보를 로그관리기에 저장하고 로그공간이 비어있음을 나타낸다. 로그관리기의 로그공간 0번은 물리주소 10번, 11번에, 로그공간 1번은 물리주소 12번, 13번에, 로그공간 2번은 물리주소 24번, 25번에 로그공간 3번은 물리주소 26번, 27번에 대한 물리섹터번호를 저장하고 각 공간이 비어있음을 의미하는 0으로 설정한다.
도 2는 로그파일의 로그공간을 할당하는 방법을 개략적으로 나타낸다.
도 2에 도시된 바와 같이, 로그관리기는 Task A를 위해 첫 번째 로그공간을 사용하고 있음을 보여준다. 첫 번째 로그공간은 물리섹터 10번을 가리키므로 Task A에서 메타데이터 로그를 저장한 곳은 물리섹터 10번과 11번임을 보여준다.
도 2에 표시된 굵은 점선은 Task B에서 파일관련 작업을 하여 메타데이터의 변경일 일어났을 때 로그공간을 할당하는 단계를 나타낸다. Task B에서 메타데이터 로그를 저장하기 위해 로그관리기에 로그공간을 요청하면 로그관리기는 비어있는 로그공간을 할당한다. 도 2에서는 첫 번째 로그공간이 사용 중이므로 두 번째 로그공간을 Task B에게 할당하고 사용중임을 나타내는 1로 변경한다. Task B를 위해 할당된 로그공간은 물리섹터 12번과 13번임을 나타낸다.
도 3은 로그파일의 로그공간을 할당하고 반납할 때의 흐름도를 나타낸다.
먼저 어떤 Task A가 파일을 수정하면 메타데이터의 로그를 저장해야 한다. 그러므로 로그관리기에 메타데이터를 저장하기 위한 로그공간을 요청한다. 로그관리기는 사용 가능한 로그 공간을 찾은 후 Task A에게 물리주소를 보내준다. Task A는 할당된 로그공간에 파일 작업이 끝날 때까지 메타데이터의 로그를 저장하기 위해 사용한다. Task A가 파일 수정을 완료하여 더 이상 메타데이터의 수정인 없으면 로그관리기로 로그공간을 반납한다. 로그관리기는 반납된 로그공간을 재사용 가능하도록 비어있는 상태로 전환한다.
도 1은 본 발명에 따른 메타데이터 로그파일과 로그파일의 로그공간과 로그관리기를 개략적으로 나타낸 도면.
도 2는 로그파일의 로그공간을 할당하는 방법을 개략적으로 나타낸 도면.
도 3은 로그파일의 로그공간을 할당하고 반납할 때의 흐름도.

Claims (3)

  1. 파일시스템의 포맷 또는 로그 파일이 존재하지 않는 경우에 메타데이터를 저장할 로그 파일을 파일시스템에 생성하는 단계;
    상기 로그 파일의 물리위치정보를 로그 관리기에 저장하는 단계;
    상기 로그파일의 읽기 또는 기록요청시, 상기 로그관리기에 있는 물리위치정보를 토대로 상기 로그파일의 물리 주소로 직접 접근하여 상기 로그파일을 읽거나 기록하는 단계를 포함하는 것을 특징으로 하는 플래시 메모리의 로그파일 관리 및 기록방법.
  2. 제1항에 있어서,
    상기 로그 파일은 다수의 메타데이터의 로그 관리를 위해, 로그 파일에 로그 공간을 다수 구비하여 하나의 태스크에서 파일 관련 작업을 하면 하나의 공간을 메타데이터 로그의 기록을 위해 사용함을 특징으로 하는 플래시 메모리의 로그 파일 관리 및 기록방법.
  3. 제2항에 있어서,
    로그공간의 크기를 메타데이터가 가장 큰 파일 관련 작업을 기준으로 동일하게 조정함을 특징으로 하는 플래시 메모리의 로그 파일 관리 및 기록방법.
KR1020070098135A 2007-09-28 2007-09-28 플래시 메모리의 로그파일 관리 및 기록방법 KR100939814B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070098135A KR100939814B1 (ko) 2007-09-28 2007-09-28 플래시 메모리의 로그파일 관리 및 기록방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070098135A KR100939814B1 (ko) 2007-09-28 2007-09-28 플래시 메모리의 로그파일 관리 및 기록방법

Publications (2)

Publication Number Publication Date
KR20090032692A true KR20090032692A (ko) 2009-04-01
KR100939814B1 KR100939814B1 (ko) 2010-02-02

Family

ID=40759457

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070098135A KR100939814B1 (ko) 2007-09-28 2007-09-28 플래시 메모리의 로그파일 관리 및 기록방법

Country Status (1)

Country Link
KR (1) KR100939814B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112286462A (zh) * 2020-10-30 2021-01-29 广东科徕尼智能科技有限公司 智能锁的日志管理方法、系统、智能锁及存储装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100453053B1 (ko) * 2002-06-10 2004-10-15 삼성전자주식회사 플래쉬 메모리용 파일 시스템
US7032096B2 (en) 2003-04-22 2006-04-18 Hewlett-Packard Development Company, L.P. Memory management system and method using a hash table
US7130956B2 (en) 2004-02-10 2006-10-31 Sun Microsystems, Inc. Storage system including hierarchical cache metadata

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112286462A (zh) * 2020-10-30 2021-01-29 广东科徕尼智能科技有限公司 智能锁的日志管理方法、系统、智能锁及存储装置

Also Published As

Publication number Publication date
KR100939814B1 (ko) 2010-02-02

Similar Documents

Publication Publication Date Title
CN110678836B (zh) 用于键值存储的持久性存储器
US9996542B2 (en) Cache management in a computerized system
US10977124B2 (en) Distributed storage system, data storage method, and software program
US7861311B2 (en) Apparatus and method of managing hidden area
KR100484147B1 (ko) 플래시 메모리 관리 방법
US11782632B2 (en) Selective erasure of data in a SSD
US7395384B2 (en) Method and apparatus for maintaining data on non-volatile memory systems
US7584229B2 (en) Method and system for priority-based allocation in a storage pool
US20080201544A1 (en) Storage system
KR20070096429A (ko) 빠른 마운팅을 지원하는 낸드 플래시 메모리에 적용되는파일시스템
CN109902034B (zh) 快照创建方法、装置、电子设备及机器可读存储介质
CN106326229B (zh) 一种嵌入式系统的文件存储方法和装置
CN108628542B (zh) 一种文件合并方法及控制器
US11409451B2 (en) Systems, methods, and storage media for using the otherwise-unutilized storage space on a storage device
US10430287B2 (en) Computer
KR100977709B1 (ko) 플래시메모리 저장장치 및 그에 따른 관리 방법
EP2381354A2 (en) Data recording device
KR20090119481A (ko) 파일 시스템의 로그 파일 및 상기 파일 시스템의 오류 복구방법
CN109508140B (zh) 存储资源管理方法、装置、电子设备及电子设备、系统
KR100939814B1 (ko) 플래시 메모리의 로그파일 관리 및 기록방법
KR101153688B1 (ko) 데이터 페이지들에 대해 무효화 기회를 부여하는 방법 및 이를 위한 낸드 플래시 메모리 시스템
CN113254265B (zh) 基于固态硬盘的快照实现方法、存储系统
KR101102754B1 (ko) 낸드 플래시 메모리 파일 시스템 및 낸드 플래시 메모리 시스템에서 파일 엑세스 방법
CN113127376A (zh) 固态驱动器的控制方法、装置及设备
JP2005149620A (ja) 記憶装置およびファイルシステム

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
LAPS Lapse due to unpaid annual fee