KR100866513B1 - 플래시 메모리 기반 저널링 파일 시스템을 이용한 데이터처리 방법 - Google Patents

플래시 메모리 기반 저널링 파일 시스템을 이용한 데이터처리 방법 Download PDF

Info

Publication number
KR100866513B1
KR100866513B1 KR1020070016577A KR20070016577A KR100866513B1 KR 100866513 B1 KR100866513 B1 KR 100866513B1 KR 1020070016577 A KR1020070016577 A KR 1020070016577A KR 20070016577 A KR20070016577 A KR 20070016577A KR 100866513 B1 KR100866513 B1 KR 100866513B1
Authority
KR
South Korea
Prior art keywords
flash memory
logical address
area
file system
data
Prior art date
Application number
KR1020070016577A
Other languages
English (en)
Other versions
KR20080076529A (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 KR1020070016577A priority Critical patent/KR100866513B1/ko
Publication of KR20080076529A publication Critical patent/KR20080076529A/ko
Application granted granted Critical
Publication of KR100866513B1 publication Critical patent/KR100866513B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • 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
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

본 발명은 플래시 메모리 기반 저널링 파일 시스템을 이용한 데이터 처리 방법에 관한 것으로서, 플래시 메모리를 저장장치로 이용하는 컴퓨터 시스템에 있어서, 저널링 파일 시스템의 트랜잭션에 의한 저널 영역과 홈 영역의 논리 주소와 연결되는 물리주소값을 저널영역의 물리주소값으로 방향 선회하는 방향선회방법을 제시하고, 저널링 파일 시스템의 트랜잭션에 의한 저널 영역 및 홈 영역에 대한 중복된 쓰기연산에 따른 성능저하를 홈 영역에 대한 플래시 변환계층의 방향선회 방법에 따라 중복 연산을 제거할 수 있으므로, 플래시 메모리의 수명을 연장시킬 수 있는 플래시 메모리 기반 저널링 파일 시스템을 이용한 데이터 처리 방법을 제공하기 위한 것으로서, 그 기술적 구성은 저널링 파일 시스템이 저장할 홈 영역 논리주소가 포함된 데이터에 대하여 트랜잭션 연산을 수행하는 단계와, 상기 데이터를 저널 영역의 일정 논리주소로 쓰기 연산을 하는 단계와, 상기 저널 영역 논리주소로 상기 데이터가 저장될 실제 플래시 메모리의 물리주소를 플래시 변환계층에서 매핑하는 단계와, 상기 플래시 메모리 물리주소로 상기 데이터를 쓰기 연산하는 단계를 포함하는 저널 영역 쓰기의 제1 과정; 및 상기 홈 영역 논리주소가 포함된 데이터에 대하여 트랜잭션 연산으로 저널 영역의 일정 논리주소로 쓰기 연산하는 단계와, 상기 홈 영역 논리주소 및 저널 영역 논리주소로 방향 선회 리스트를 생성하는 단계와, 상기 플래시 변환계층을 상기 방향 선회 리스트로 업데이트하는 단계를 포함하는 홈 영역 쓰기의 플래시 변환계층 방향선회의 제2 과정; 을 포함한다.
저널링 파일 시스템, 플래시 변환 계층, 플래시 메모리, 방향 선회 리스트

Description

플래시 메모리 기반 저널링 파일 시스템을 이용한 데이터 처리 방법{Data Process Method Using Journaling File System Based on Flash Memory}
도 1은 본 발명에 따른 플래시 메모리 기반 저널링 파일 시스템을 이용한 데이터 처리 방법을 개략적으로 도시한 블록도.
도 2는 플래시 메모리 기반 저널링 파일 시스템을 이용한 데이터 처리 방법 중 저널 영역 쓰기 과정을 개략적으로 도시한 블록도.
도 3은 플래시 메모리 기반 저널링 파일 시스템을 이용한 데이터 처리 방법 중 홈 영역 쓰기의 플래시 변환계층 방향선회 과정을 개략적으로 도시한 블록도.
도 4는 본 발명에 따른 플래시 메모리 기반 저널링 파일 시스템을 이용한 데이터 처리 방법을 개략적으로 도시한 흐름도.
<도면의 주요 부분에 대한 도면 부호의 간단한 설명>
1: 플래시 메모리 기반 저널링 파일 시스템 10: 저널링 파일 시스템
11: 쓰기 데이터 13: 저널 영역
20: 방향선회 리스트 30: 플래시 변환계층
31: 플래시 변환계층 매핑 테이블 31a: 논리주소
31b: 물리주소 50: 플래시 메모리
본 발명은 플래시 메모리 기반 저널링 파일 시스템을 이용한 데이터 처리 방법에 관한 것으로, 더욱 상세하게는 플래시 메모리를 저장장치로 이용하는 컴퓨터 시스템에 있어서, 저널링 파일 시스템의 트랜잭션에 의한 저널 영역과 홈 영역의 논리 주소와 연결되는 물리 주소값을 저널영역의 물리주소값으로 방향 선회하는 방향선회방법을 제시하고, 저널링 파일 시스템의 트랜잭션에 의한 저널 영역 및 홈 영역에 대한 중복된 쓰기연산에 따른 쓰기연산 성능저하를 홈 영역에 대한 플래시 변환계층의 방향선회 방법에 따라 중복 연산을 제거할 수 있으므로, 쓰기연산에 의한 성능 저하를 제거할 수 있고, 플래시 메모리의 쓰기 횟수를 감소시킴으로써, 플래시 메모리의 수명을 연장시킬 수 있는 플래시 메모리 기반 저널링 파일 시스템을 이용한 데이터 처리 방법에 관한 것이다.
일반적으로, 플래시 메모리는 플로팅 게이트 트랜지스터(Floating Gate Transistor)인 EEPROM으로 이루어진 전기적으로 쓰기/지우기가 가능한 가능한 비휘발성 소자로써, 기록된 메모리 영역에 데이터의 덮어쓰기가 불가능하므로 기존의 메모리 영역에 데이터를 쓰기 위하여 그 부분을 지워야한다.
여기서, 플래시 메모리에 기반한 저널링 파일 시스템은 백업 및 복구 능력이 있는 파일 시스템을 일컫는데, 상기 플래시 메모리 및 각종 디스크 등에 있는 인덱스가 갱신되기 전에 관련 내용이 로그에 기록되기 때문에, 정전이나 기타 문제 등으로 이상이 발생하더라도, 다시 시스템을 재가동하면 운영체제가 로그를 이용하여 인덱스를 재작성 및 복구를 할 수 있도록 구비되는 시스템이다.
그리고, 저널링 파일 시스템의 데이터 재기록은 파일 시스템의 일관성을 보장하며, 빠른 고장 회복을 지원하는 기술이다.
그러나, 저널링 파일 시스템의 데이터 재기록은 쓰기 성능을 감소시키며, 플래시 메모리를 저장장치로 사용하는 컴퓨터 시스템에서는 성능 감소의 폭이 증가하였고, 데이터에 따라 계속적으로 새로운 영역으로 데이터를 쓰기 연산하므로, 동일한 데이터에 대하여 서로 다른 영역에 중복되도록 쓰기 연산하는 결과를 가져오고, 이에 따라 플래시 메모리의 사용 빈도를 높여 수명을 단축시키는 등의 문제점이 있었다.
본 발명은 상기한 문제점을 해결하기 위하여 안출한 것으로, 플래시 메모리를 저장장치로 이용하는 컴퓨터 시스템에 있어서, 저널링 파일 시스템의 트랜잭션에 의한 저널 영역과 홈 영역의 논리 주소와 연결되는 물리 주소값을 저널영역의 물리주소값으로 방향 선회하는 방향선회방법을 제시하고, 저널링 파일 시스템의 트 랜잭션에 의한 저널 영역 및 홈 영역에 대한 중복된 쓰기연산에 따른 쓰기연산 성능저하를 홈 영역에 대한 플래시 변환계층의 방향선회 방법에 따라 중복 연산을 제거할 수 있으므로, 쓰기연산에 의한 성능 저하를 제거할 수 있고, 플래시 메모리의 쓰기 횟수를 감소시킴으로써, 플래시 메모리의 수명을 연장시킬 수 있는 플래시 메모리 기반 저널링 파일 시스템을 이용한 데이터 처리 방법을 제공하는 것을 목적으로 한다.
상기한 바와 같은 목적을 달성하기 위하여 본 발명은 저널링 파일 시스템이 저장할 홈 영역 논리주소가 포함된 데이터에 대하여 트랜잭션 연산을 수행하는 단계와, 상기 데이터를 저널 영역의 일정 논리주소로 쓰기 연산을 하는 단계와, 상기 저널 영역 논리주소로 상기 데이터가 저장될 실제 플래시 메모리의 물리주소를 플래시 변환계층에서 매핑하는 단계와, 상기 플래시 메모리 물리주소로 상기 데이터를 쓰기 연산하는 단계를 포함하는 저널 영역 쓰기의 제1 과정; 및 상기 홈 영역 논리주소가 포함된 데이터에 대하여 트랜잭션 연산으로 저널 영역의 일정 논리주소로 쓰기 연산하는 단계와, 상기 홈 영역 논리주소 및 저널 영역 논리주소로 방향 선회 리스트를 생성하는 단계와, 상기 플래시 변환계층을 상기 방향 선회 리스트로 업데이트하는 단계를 포함하는 홈 영역 쓰기의 플래시 변환계층 방향선회의 제2 과정; 을 포함한다.
그리고, 상기 플래시 변환계층은 상기 저널 영역 논리주소로 플래시 메모리 의 물리주소를 매핑시키는 플래시 변환계층 매핑 테이블을 포함하는 것을 특징으로 한다.
여기서, 상기 저널링 파일 시스템은 상기 데이터의 쓰기를 트랜잭션 단위로 처리하는 것을 특징으로 한다.
또한, 상기 제1 과정에서 발생한 쓰기 데이터는 쓰기가 진행되지 않도록 버퍼 잠금을 실시하는 것을 특징으로 한다.
더불어, 상기 제1 과정은 상기 쓰기 데이터의 수에 따라 반복구동하되, 제2 과정은 방향선회 리스트에 따라 방향만 선회하는 것을 특징으로 한다.
그리고, 상기 쓰기 데이터의 수에 따라 저널 영역 쓰기를 구동시키되, 상기 방향선회 리스트에 따라 홈 영역 쓰기는 이루어지지 않는 것을 특징으로 한다.
이때, 상기 방향선회 리스트는 홈 영역 논리주소와 저널 영역 논리주소의 쌍으로 구성되는 것을 특징으로 한다.
더불어, 상기 업데이트는 상기 방향선회 리스트의 홈 영역 논리주소로 연결된 플래시 변환계층 매핑 테이블의 물리주소 값을 상기 방향선회 리스트의 저널 영역 논리주소와 연결된 플래시 변환계층 매핑 테이블의 물리주소 값으로 복사하는 단계; 상기 플래시 변환계층 매핑 테이블의 물리주소 값을 삭제하는 단계; 로 이루어지는 것을 특징으로 한다.
그리고, 상기 제2 과정은 저널 영역 및 플래시 메모리의 논리 및 물리 연결을 홈 영역 및 플래시 메모리로 방향을 선회하는 것을 특징으로 한다.
여기서, 상기 방향선회 리스트의 수에 따라 상기 플래시 변환계층 매핑 테이 블을 방향 선회를 위하여 업데이트하는 것을 특징으로 한다.
또한, 상기 제2 과정은 상기 방향선회 리스트에 따라 업데이트가 완료되면, 트랜잭션에 포함되는 쓰기 데이터를 위한 버퍼 잠금을 해제하는 단계; 상기 버퍼는 쓰기를 요청하기 전까지, 플래시 메모리에 쓰기 요청을 수행하지 않도록 버퍼를 클린 상태로 생성시키는 단계; 를 포함하는 것을 특징으로 한다.
이하, 본 발명에 따른 실시예를 첨부된 예시도면을 참고로 하여 상세하게 설명한다.
도 1은 본 발명에 따른 플래시 메모리 기반 저널링 파일 시스템을 이용한 데이터 처리 방법을 개략적으로 도시한 블록도이다. 도면에서 도시하고 있는 바와 같이, 본 발명에 의한 플래시 메모리 기반 저널링 파일 시스템(1)은 저널링 파일 시스템(10)과 플래시 변환 계층(30)과 플래시 메모리(50)를 포함하여 이루어진다.
여기서, 상기 저널링 파일 시스템(10)은 백업 및 복구 능력이 있는 파일 시스템을 일컫는데, 상기 플래시 메모리(50) 및 각종 디스크 등에 있는 인덱스가 갱신되기 전에 관련 내용이 로그에 기록되기 때문에, 정전이나 기타 문제 등으로 이상이 발생하더라도, 다시 시스템을 재가동하면 운영체제가 로그를 이용하여 인덱스를 재작성 및 복구를 할 수 있도록 구비되는 시스템이다.
다시 말하면, 대부분의 중요한 데이터 베이스 엔진들은 ACID(Atomicity, Consistency, Isolation, Durability)등을 만족시키는 트랜잭션을 이용하는데, 한번의 트랜잭션에 속한 다수의 작용들이 에러없이 종료되거나 또는 변화없이 이상한 작업이 취소되는 A(Atomicity)는 트랜잭션의 가장 중요한 특징 중의 하나이고, 상기한 특징은 I(Isolation)과 함께 부분적으로 작동할 수 없는 기본적인 작동인것처럼 하고, 일관성을 유지하지 못하는 경우에는 일관성을 유지하려는 문제와 관련하여 계속적으로 데이터베이스 상에 존재하게 해주는 역할을 하게 된다.
그리고, 데이터베이스는 상기한 기능을 이용하여 트랜잭션이 존재하는 동안, 모든 작용을 로그 파일에 기록하게 되는데, 이러한 작용이 기록될 뿐만 아니라 실행되기 전, 작용 인자의 내용이 모두 기록된다.
그래서, 모든 트랜잭션이 일어난 후, 버퍼가 플래시 메모리(50)를 포함한 디스크 등의 저장장치에 쓰게하는 작업을 수행하여 시스템이 비정상적으로 셧다운(Shutdown)되더라도, 로그를 추적하여 데이터베이스를 복구할 수 있는 것이다.
또한, 상기 저널링 파일 시스템(10)은 상기한 파일 시스템의 고장 회복(Crash Recovery)을 위하여, 파일 시스템 영역을 홈 영역(Home Location)과 저널 영역(Journal Region)으로 나누고, 쓰기 데이터(Write Data) 중에서 중요한 데이터를 우선적으로 저널 영역에 쓰기 연산하며, 다시 홈 영역으로 상기 쓰기 데이터를 쓰는 쓰기 연산을 수행하는데, 상기 저널 영역에 쓰는 연산을 트랜잭션이라는 단위를 이용하여 수행함으로써, 상기 데이터를 보호할 수 있다.
여기서, 상기 저널 영역에 쓰기 연산할 때에는 홈 영역의 논리주소를 포함하면서, 상기 저널 영역의 논리 주소 부분에 쓰기 연산을 진행하는데, 상기 저널 영역의 논리 주소를 물리 주소로 변환시키는 플래시 변환계층(30)은 상기 저널 영역의 논리 주소를 물리 주소로 매핑(Mapping)시키는 테이블화된 데이터인 플래시 변 환계층 매핑 테이블(31)을 포함한다.
그리고, 상기 플래시 변환계층 매핑 테이블(31)은 상기 저널 영역에 쓰기 연산을 통해서 전달된 데이터를 플래시 메모리(50)의 쓰기에 가능한 영역에 쓰고, 상기 플래시 메모리(50)의 실제적인 물리주소를 상기 저널 영역의 논리주소와 연결시켜주며, 상위 파일 시스템에게는 논리주소를 제공하고, 상기 플래시 변환계층(30)은 새로운 영역을 검색하여 데이터를 쓰기 때문에, 기존의 데이터에 대한 덮어씀(Overwrite)이 존재하지 않는다.
상기한 바와 같이, 상기 플래시 변환계층 매핑 테이블(31)은 테이블의 좌측에는 상기 저널 영역의 논리주소(31a)가 입력되고, 상기 플래시 변환계층 매핑 테이블(31)의 우측에는 상기 플래시 메모리(50)의 실제적인 물리주소(31b)가 입력된다.
도 2는 플래시 메모리 기반 저널링 파일 시스템을 이용한 데이터 처리 방법 중 저널 영역 쓰기 과정을 개략적으로 도시한 블록도이고, 도 1을 참조하여 설명한다. 도면에서 도시하고 있는 바와 같이, 본 발명에 의한 저널 영역(13)에 쓰기 과정은 하나의 트랜잭션이 수행될 때, 쓰기를 요청받은 쓰기 데이터(11)를 먼저 저널 영역(13)으로 쓰기 연산을 수행하는 것으로 시작한다.
이때, 저널링 파일 시스템이 트랜잭션 수행을 시작하게 되면, 하나의 트랜잭션을 수행하는 도중에 발생한 쓰기 데이터에 대하여 인터럽트하지 못하도록, 버퍼 잠금을 실시한다.
그리고, 홈 영역 논리주소가 '1'인 데이터가 트랜잭션 수행 시, 쓰기 연산에 포함되어 저널 영역(13)에 로깅되는 논리주소는 '22'가 되는데, 상기 데이터는 플래시 변환계층(30)에 의하여 물리주소인 '2'와 연결되고, 실제로 상기 데이터는 플래시 변환계층(30)에 의하여 물리주소 '2'에 저장되는 것이다.
다시말하면, 상기 저널 영역(13)에 쓰기 요청된 쓰기 데이터는 플래시 변환계층(30)에 의하여 상기 저널 영역(13)의 논리주소를 실제 플래시 메모리(50)의 물리주소로 변환시켜 플래시 메모리(50)에 저장한다.
이때, 상기 저널 영역(13)에 쓰기 연산할 때에는 홈 영역의 논리주소인 '1'을 포함하면서, 상기 저널 영역(13)의 논리 주소 부분에 쓰기 연산을 진행하는데, 상기 저널 영역(13)의 논리 주소를 물리 주소로 변환시키는 플래시 변환계층(30)은 상기 저널 영역(13)의 논리 주소를 물리 주소로 매핑(Mapping)시키는 테이블화된 데이터인 플래시 변환계층 매핑 테이블(31)을 포함한다.
그리고, 상기 플래시 변환계층 매핑 테이블(31)은 상기 저널 영역(13)에 쓰기 연산을 통해서 전달된 데이터를 플래시 메모리(50)의 쓰기에 가능한 영역에 쓰고, 상기 플래시 메모리(50)의 실제적인 물리주소를 상기 저널 영역(13)의 논리주소와 연결시켜주며, 상위 파일 시스템에게는 논리주소를 제공하고, 상기 플래시 변환계층(30)은 새로운 영역을 검색하여 데이터를 쓰기 때문에, 기존의 데이터에 대한 덮어씀(Overwrite)이 존재하지 않는다.
상기한 바와 같이, 상기 플래시 변환계층 매핑 테이블(31)은 테이블의 좌측에는 상기 저널 영역(13)의 논리주소(31a)가 입력되고, 상기 플래시 변환계층 매핑 테이블(31)의 우측에는 상기 플래시 메모리(50)의 실제적인 물리주소(31b)가 입력된다.
그래서, 상기 플래시 메모리(50)에 실제적인 물리주소(31b)가 입력되고, 이렇게 변환된 논리 주소 및 물리 주소의 연관 관계는 플래시 변환계층 매핑 테이블(31)을 갱신시킴으로써 저널 영역(13) 쓰기 과정이 종료된다.
더불어, 트랜잭션에 포함된 쓰기 데이터의 개수가 하나 이상 다수개 존재할 경우, 모든 쓰기 데이터에 대한 저널 영역(13) 쓰기가 이루어질때까지, 위의 작업이 반복하여 일어난다.
도 3은 플래시 메모리 기반 저널링 파일 시스템을 이용한 데이터 처리 방법 중 홈 영역 쓰기의 플래시 변환계층 방향선회 과정을 개략적으로 도시한 블록도이고, 도 1을 참조하여 설명한다. 도면에서 도시하고 있는 바와 같이, 본 발명에 의한 플래시 메모리 기반 저널링 파일 시스템을 이용한 데이터 처리 방법 중 홈 영역 쓰기의 플래시 변환계층 방향선회 과정은 트랜잭션 단위의 쓰기 데이터의 홈 영역 논리주소인 '1'을 가지고, 저널 영역(13) 논리주소에 쓰기 연산을 실시한다.
상기한 바와 같이, 상기 트랜잭션의 저널 영역(13)에 대한 쓰기 연산이 끝난 후에는, 상기 데이터는 다시 홈 영역으로 쓰기가 이루어지는데, 상기 논리주소 '1'가 트랜잭션 연산에 의하여 저널 영역(13)에 적힌 저널 영역 논리주소는 '22'이고, 실제로 데이터가 적힌 플래시 메모리(50)의 물리주소는 '2'로 상기 저널 영역(13) 쓰기 과정에서 정의되었으므로, 상기 홈 영역의 논리주소 '1'과 저널 영역(13)의 논리주소'22' 사이의 연관관계를 묶어주는 리스트가 요구되는데, 상기 리스트를 방향선회 리스트(20)라고 한다.
그리고, 상기 방향선회 리스트(20)는 상기 홈 영역의 논리주소 '1'과 저널 영역(13)의 논리주소 '22'를 묶은 형태로, 홈 영역 논리주소(20a)와 저널 영역 논리주소(20b)로 하나의 쌍을 이룬다.
또한, 쓰기 데이터에 대한 방향선회 리스트(20)가 저널링 파일 시스템으로부터 플래시 변환계층(30)으로 전달되면, 상기 리스트에 나열된 방향선회 대상은 상기 플래시 변환계층 매핑 테이블(31)에 업데이트가 된다.
여기서, 상기 업데이트는 방향선회 리스트(20)의 좌측 기록인 홈 영역 논리주소 '1'와 연결된 플래시 변환계층 매핑 테이블(31)의 물리주소 값을, 상기 방향선회 리스트(20)의 우측 기록인 저널 영역(13)의 논리주소와 연결된 플래시 변환계층 매핑 테이블(30)의 물리주소 값으로 복사하고, 상기 저널 영역(13)의 물리주소 값을 옮기고, 이를 제거함으로써, 실제적인 논리-물리 연결관계를 저널영역-플래시 메모리에서 홈 영역-플래시 메모리로 그 방향을 선회해주는 것이다.
더불어, 상기 방향선회 리스트(20)의 개수가 하나 이상 다수개가 존재하는 경우에는 상기 모든 방향선회 리스트(20)에 대하여 상기 방향 선회를 위한 플래시 변환계층 매핑 테이블(31)을 업데이트를 실시한다.
또한, 상기 방향선회 리스트(20)는 하나 이상의 개수가 존재할 수 있는데, 상기 트랜잭션에 포함된 모든 쓰기 데이터에 대하여 좌측에는 홈 영역의 논리주소(31a)를, 우측에는 저널 영역의 논리주소(31b)를 가지고, 플래시 변환계층 매핑 테이블(31)을 변경시킴으로써, 실제 데이터에 대한 홈 영역 쓰기를 제거하더라도, 실제로 컴퓨터 시스템에 논리적으로 오류를 발생시키지 않는다.
마지막으로, 저널 영역(13) 쓰기가 모두 이루어진 후, 홈 영역의 데이터는 본 발명에 따라서 실제로 홈 영역으로 데이터 쓰기가 이루어지지 않고 그 방향만 선회하게 된다.
도 4는 본 발명에 따른 플래시 메모리 기반 저널링 파일 시스템을 이용한 데이터 처리 방법을 개략적으로 도시한 흐름도이다. 도면에서 도시하고 있는 바와 같이, 본 발명에 의한 플래시 메모리 기반 저널링 파일 시스템을 이용한 데이터 처리 방법은 하나의 트랜잭션이 수행될 때, 쓰기를 요청받은 쓰기 데이터를 먼저 저널 영역으로 쓰기 연산을 수행하는 것으로 시작한다(S11).
여기서, 저널링 파일 시스템이 트랜잭션 수행을 시작하게 되면, 하나의 트랜잭션을 수행하는 도중에 발생한 쓰기 데이터에 대하여 인터럽트하지 못하도록, 버퍼 잠금을 실시한다.
그리고, 상기 데이터를 저널 영역의 일정 논리주소로 쓰기를 연산하는데(S13), 상기 저널 영역 논리주소가 상기 데이터가 저장될 실제 메모리의 물리주소를 플래시 변환계층에서 매핑한다(S15).
다시 말하면, 상기 저널 영역에 쓰기 연산할 때에는 홈 영역의 논리주소를 포함하면서, 상기 저널 영역의 논리 주소 부분에 쓰기 연산을 진행하는데, 상기 저널 영역의 논리 주소를 물리 주소로 변환시키는 플래시 변환계층은 상기 저널 영역 의 논리 주소를 물리 주소로 매핑(Mapping)시키는 테이블화된 데이터인 플래시 변환계층 매핑 테이블을 포함한다.
그리고, 상기 플래시 변환계층 매핑 테이블은 상기 저널 영역에 쓰기 연산을 통해서 전달된 데이터를 플래시 메모리의 쓰기에 가능한 영역에 쓰고, 상기 플래시 메모리의 실제적인 물리주소를 상기 저널 영역의 논리주소와 연결시켜주며, 상위 파일 시스템에게는 논리주소를 제공하고, 상기 플래시 변환계층은 새로운 영역을 검색하여 데이터를 쓰기 때문에, 기존의 데이터에 대한 덮어씀(Overwrite)이 존재하지 않는다.
그래서, 상기 플래시 메모리에 실제적인 물리주소가 입력되고, 이렇게 변환된 논리 주소 및 물리 주소의 연관 관계는 플래시 변환계층 매핑 테이블을 갱신시킴으로써 저널 영역 쓰기 과정이 종료된다(S17).
또한, 트랜잭션 단위의 쓰기 데이터의 홈 영역 논리주소를 가지고, 저널 영역 논리주소에 쓰기 연산을 실시하는데(S21), 상기한 바와 같이, 상기 트랜잭션의 저널 영역에 대한 쓰기 연산이 끝난 후에는, 상기 데이터는 다시 홈 영역으로 쓰기가 이루어지는데, 홈 영역 논리주소 및 저널 영역 논리주소를 한쌍으로 방향 선회 리스트를 생성한다(S23).
그리고, 쓰기 데이터에 대한 방향선회 리스트가 저널링 파일 시스템으로부터 플래시 변환계층으로 전달되면, 상기 리스트에 나열된 방향선회 대상은 상기 플래시 변환계층 매핑 테이블에 업데이트가 된다.
여기서, 상기 업데이트는 방향선회 리스트의 좌측 기록인 홈 영역 논리주소 와 연결된 플래시 변환계층 매핑 테이블의 물리주소 값을, 상기 방향선회 리스트의 우측 기록인 저널 영역의 논리주소와 연결된 플래시 변환계층 매핑 테이블의 물리주소 값으로 복사하고, 상기 저널 영역의 물리주소 값을 옮기고, 이를 제거함으로써, 실제적인 논리-물리 연결관계를 저널영역-플래시 메모리에서 홈 영역-플래시 메모리로 그 방향을 선회해주는 것이다.
더불어, 상기 방향선회 리스트의 개수가 하나 이상 다수개가 존재하는 경우에는 상기 모든 방향선회 리스트에 대하여 상기 방향 선회를 위한 플래시 변환계층 매핑 테이블을 업데이트를 실시한다(S25).
또한, 상기 방향선회 리스트는 하나 이상의 개수가 존재할 수 있는데, 상기 트랜잭션에 포함된 모든 쓰기 데이터에 대하여 좌측에는 홈 영역의 논리주소를, 우측에는 저널 영역의 논리주소를 가지고, 플래시 변환계층 매핑 테이블을 변경시킴으로써, 실제 데이터에 대한 홈 영역 쓰기를 제거하더라도, 실제로 컴퓨터 시스템에 논리적으로 오류를 발생시키지 않는다.
마지막으로, 저널 영역 쓰기가 모두 이루어진 후, 홈 영역의 데이터는 본 발명에 따라서 실제로 홈 영역으로 데이터 쓰기가 이루어지지 않고 그 방향만 선회하게 된다.
이로써, 본 발명에 따른 플래시 메모리 기반 저널링 파일 시스템을 이용한 데이터 처리 방법은 종료된다.
이상에서는 본 발명의 바람직한 실시예를 예시적으로 설명하였으나, 본 발명 의 범위는 이같은 특정 실시예에만 한정되지 않으며 해당 분야에서 통상의 지식을 가진자라면 본 발명의 특허 청구 범위내에 기재된 범주 내에서 적절하게 변경이 가능 할 것이다.
이상에서 설명한 바와 같이 상기와 같은 구성을 갖는 본 발명은 플래시 메모리를 저장장치로 이용하는 컴퓨터 시스템에 있어서, 저널링 파일 시스템의 트랜잭션에 의한 저널 영역과 홈 영역의 논리 주소와 연결되는 물리 주소값을 저널영역의 물리주소값으로 방향 선회하는 방향선회방법을 제시하고, 저널링 파일 시스템의 트랜잭션에 의한 저널 영역 및 홈 영역에 대한 중복된 쓰기연산에 따른 쓰기연산 성능저하를 홈 영역에 대한 플래시 변환계층의 방향선회 방법에 따라 중복 연산을 제거할 수 있으므로, 쓰기연산에 의한 성능 저하를 제거할 수 있고, 플래시 메모리의 쓰기 횟수를 감소시킴으로써, 플래시 메모리의 수명을 연장시킬 수 있는 등의 효과를 거둘 수 있다.

Claims (11)

  1. 저널링 파일 시스템이 저장할 홈 영역 논리주소가 포함된 데이터에 대하여 트랜잭션 연산을 수행하는 단계와, 상기 홈 영역 논리주소가 포함된 데이터를 저널 영역의 논리주소로 쓰기 연산을 하는 단계와, 상기 저널 영역 논리주소로 상기 홈 영역 논리주소가 포함된 데이터가 저장될 실제 플래시 메모리의 물리주소를 플래시 변환계층에서 매핑하는 단계와, 상기 플래시 메모리 물리주소로 상기 홈 영역 논리주소가 포함된 데이터를 쓰기 연산하는 단계를 포함하는 저널 영역 쓰기의 제1 과정; 및
    상기 홈 영역 논리주소가 포함된 데이터에 대하여 트랜잭션 연산으로 저널 영역의 논리주소로 쓰기 연산하는 단계와, 상기 홈 영역 논리주소 및 저널 영역 논리주소로 방향 선회 리스트를 생성하는 단계와, 상기 플래시 변환계층을 상기 방향 선회 리스트로 업데이트하는 단계를 포함하는 홈 영역 쓰기의 플래시 변환계층 방향선회의 제2 과정;
    을 포함하는 플래시 메모리 기반 저널링 파일 시스템을 이용한 데이터 처리 방법.
  2. 제1항에 있어서,
    상기 플래시 변환계층은 상기 저널 영역 논리주소로 플래시 메모리의 물리주소를 매핑시키는 플래시 변환계층 매핑 테이블을 포함하는 것을 특징으로 하는 플 래시 메모리 기반 저널링 파일 시스템을 이용한 데이터 처리 방법.
  3. 제1항에 있어서,
    상기 저널링 파일 시스템은 상기 데이터의 쓰기를 트랜잭션 단위로 처리하는 것을 특징으로 하는 플래시 메모리 기반 저널링 파일 시스템을 이용한 데이터 처리 방법.
  4. 제1항에 있어서,
    상기 제1 과정에서 발생한 쓰기 데이터는 쓰기가 진행되지 않도록 버퍼 잠금을 실시하는 것을 특징으로 하는 플래시 메모리 기반 저널링 파일 시스템을 이용한 데이터 처리 방법.
  5. 제1항에 있어서,
    상기 제1 과정은 상기 쓰기 데이터의 수에 따라 반복구동하되, 제2 과정은 방향선회 리스트에 따라 방향만 선회하는 것을 특징으로 하는 플래시 메모리 기반 저널링 파일 시스템을 이용한 데이터 처리 방법.
  6. 제1항에 있어서,
    상기 쓰기 데이터의 수에 따라 저널 영역 쓰기를 구동시키되, 상기 방향선회 리스트에 따라 홈 영역 쓰기는 이루어지지 않는 것을 특징으로 하는 플래시 메모리 기반 저널링 파일 시스템을 이용한 데이터 처리 방법.
  7. 제1항에 있어서,
    상기 방향선회 리스트는 홈 영역 논리주소와 저널 영역 논리주소의 쌍으로 구성되는 것을 특징으로 하는 플래시 메모리 기반 저널링 파일 시스템을 이용한 데이터 처리 방법.
  8. 제1항에 있어서,
    상기 업데이트는
    상기 방향선회 리스트의 홈 영역 논리주소로 연결된 플래시 변환계층 매핑 테이블의 물리주소 값을 상기 방향선회 리스트의 저널 영역 논리주소와 연결된 플래시 변환계층 매핑 테이블의 물리주소 값으로 복사하는 단계;
    상기 플래시 변환계층 매핑 테이블의 물리주소 값을 삭제하는 단계;
    로 이루어지는 것을 특징으로 하는 플래시 메모리 기반 저널링 파일 시스템 을 이용한 데이터 처리 방법.
  9. 제1항에 있어서,
    상기 제2 과정은 저널 영역 및 플래시 메모리의 논리 및 물리 연결을 홈 영역 및 플래시 메모리로 방향을 선회하는 것을 특징으로 하는 플래시 메모리 기반 저널링 파일 시스템을 이용한 데이터 처리 방법.
  10. 제1항에 있어서,
    상기 방향선회 리스트의 수에 따라 상기 플래시 변환계층 매핑 테이블을 방향 선회를 위하여 업데이트하는 것을 특징으로 하는 플래시 메모리 기반 저널링 파일 시스템을 이용한 데이터 처리 방법.
  11. 제1항에 있어서,
    상기 제2 과정은
    상기 방향선회 리스트에 따라 업데이트가 완료되면, 트랜잭션에 포함되는 쓰기 데이터를 위한 버퍼 잠금을 해제하는 단계;
    상기 버퍼는 쓰기를 요청하기 전까지, 플래시 메모리에 쓰기 요청을 수행하 지 않도록 버퍼를 클린 상태로 생성시키는 단계;
    를 포함하는 것을 특징으로 하는 플래시 메모리 기반 저널링 파일 시스템을 이용한 데이터 처리 방법.
KR1020070016577A 2007-02-16 2007-02-16 플래시 메모리 기반 저널링 파일 시스템을 이용한 데이터처리 방법 KR100866513B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070016577A KR100866513B1 (ko) 2007-02-16 2007-02-16 플래시 메모리 기반 저널링 파일 시스템을 이용한 데이터처리 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070016577A KR100866513B1 (ko) 2007-02-16 2007-02-16 플래시 메모리 기반 저널링 파일 시스템을 이용한 데이터처리 방법

Publications (2)

Publication Number Publication Date
KR20080076529A KR20080076529A (ko) 2008-08-20
KR100866513B1 true KR100866513B1 (ko) 2008-11-03

Family

ID=39879764

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070016577A KR100866513B1 (ko) 2007-02-16 2007-02-16 플래시 메모리 기반 저널링 파일 시스템을 이용한 데이터처리 방법

Country Status (1)

Country Link
KR (1) KR100866513B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150141073A (ko) * 2014-06-09 2015-12-17 삼성전자주식회사 데이터 처리 방법 및 전자 장치
US9697116B2 (en) 2013-08-08 2017-07-04 Samsung Electronics Co., Ltd. Storage system and writing method thereof

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101475483B1 (ko) * 2013-06-27 2014-12-19 이화여자대학교 산학협력단 비휘발성 버퍼 캐시와 비휘발성 스토리지를 위한 통합 데이터 관리 장치 및 방법
KR101450157B1 (ko) * 2013-08-19 2014-10-13 이화여자대학교 산학협력단 비휘발성 저널링 통합 버퍼 캐시와 비휘발성 스토리지를 위한 협동적 데이터 관리 장치 및 방법
KR101669722B1 (ko) * 2014-04-24 2016-10-26 한양대학교 산학협력단 데이터베이스 관리 장치 및 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5985560A (ja) 1982-11-08 1984-05-17 Nec Corp フアイル管理装置
JPS60235230A (ja) 1984-05-09 1985-11-21 Hitachi Ltd デイスク内レコ−ドサ−チの最適化技法
JPH0721071A (ja) * 1993-07-06 1995-01-24 Nec Corp データベース復旧方式
US20060101085A1 (en) 2004-10-26 2006-05-11 Soulier Paul E Method and system for efficient write journal entry management for a distributed file system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5985560A (ja) 1982-11-08 1984-05-17 Nec Corp フアイル管理装置
JPS60235230A (ja) 1984-05-09 1985-11-21 Hitachi Ltd デイスク内レコ−ドサ−チの最適化技法
JPH0721071A (ja) * 1993-07-06 1995-01-24 Nec Corp データベース復旧方式
US20060101085A1 (en) 2004-10-26 2006-05-11 Soulier Paul E Method and system for efficient write journal entry management for a distributed file system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9697116B2 (en) 2013-08-08 2017-07-04 Samsung Electronics Co., Ltd. Storage system and writing method thereof
KR20150141073A (ko) * 2014-06-09 2015-12-17 삼성전자주식회사 데이터 처리 방법 및 전자 장치
KR102312672B1 (ko) 2014-06-09 2021-10-15 삼성전자주식회사 데이터 처리 방법 및 전자 장치

Also Published As

Publication number Publication date
KR20080076529A (ko) 2008-08-20

Similar Documents

Publication Publication Date Title
JP4248510B2 (ja) 計算機システム、ディスク装置およびデータ更新制御方法
US8762661B2 (en) System and method of managing metadata
US7991946B2 (en) Apparatus using flash memory as storage and method of operating the same
US10176190B2 (en) Data integrity and loss resistance in high performance and high capacity storage deduplication
JP5702348B2 (ja) 不揮発性メモリを有するシステムの非正常シャットダウンの取り扱い
KR101303524B1 (ko) 불휘발성 메모리에 대한 메타데이터 리던던시 스킴
US10152416B2 (en) Buffer cache apparatus, journaling file system and journaling method for incorporating journaling features within non-volatile buffer cache
US8448023B2 (en) Approach for data integrity in an embedded device environment
JP2005115857A (ja) ファイル記憶装置
US10423343B2 (en) Information processing device and memory controller
US10114576B2 (en) Storage device metadata synchronization
US11030092B2 (en) Access request processing method and apparatus, and computer system
CN104516959A (zh) 一种管理数据库日志的方法及装置
CN112035294A (zh) 安全日志文件系统及其实现方法和介质
KR100866513B1 (ko) 플래시 메모리 기반 저널링 파일 시스템을 이용한 데이터처리 방법
KR20200060220A (ko) 비휘발성 메모리 기반 파일 시스템 및 이를 이용한 데이터 갱신 방법
TWI737189B (zh) 易於從固態儲存裝置之故障中還原的方法、電腦系統,及固態儲存裝置
CN111414320B (zh) 基于日志文件系统的非易失内存构建磁盘cache的方法及系统
JP2010152747A (ja) ストレージシステム、ストレージのキャッシュ制御方法、及びキャッシュ制御プログラム
US20140089728A1 (en) Method and apparatus for synchronizing storage volumes
CN114063901A (zh) Plp备份失败之后的ssd支持只读模式
KR20100062562A (ko) 낸드 플래시 메모리와 비휘발성 램을 사용하는 하이브리드 저장 장치 기반의 데이터베이스 시스템 및 데이터베이스 시스템에서 데이터를 업데이트하는 방법
KR101474843B1 (ko) 비휘발성 메모리에 기반하여 저널링 기능을 통합한 버퍼 캐시 장치, 저널링 파일 시스템 및 저널링 방법
Lee et al. RMSS: an efficient recovery management scheme on NAND flash memory based solid state disk
CN117539692B (zh) 一种zns固态硬盘数据集管理命令实现方法

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

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20130930

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee