KR101544094B1 - 메모리의 데이터 관리방법 및 그 시스템 - Google Patents

메모리의 데이터 관리방법 및 그 시스템 Download PDF

Info

Publication number
KR101544094B1
KR101544094B1 KR1020140160270A KR20140160270A KR101544094B1 KR 101544094 B1 KR101544094 B1 KR 101544094B1 KR 1020140160270 A KR1020140160270 A KR 1020140160270A KR 20140160270 A KR20140160270 A KR 20140160270A KR 101544094 B1 KR101544094 B1 KR 101544094B1
Authority
KR
South Korea
Prior art keywords
data
file
area
metadata
memory
Prior art date
Application number
KR1020140160270A
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 KR1020140160270A priority Critical patent/KR101544094B1/ko
Application granted granted Critical
Publication of KR101544094B1 publication Critical patent/KR101544094B1/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

Abstract

본 발명은 특정한 파일 데이터에 대한 모든 메타 데이터를 해당 파일 데이터가 저장되는 영역 내에 분산 저장함으로써, 메모리 내의 특정 영역에 대한 빈번한 액세스를 방지할 수 있도록 해주는 메모리의 데이터 관리방법 및 그 시스템을 제공하는데 주된 목적이 있다.
상기와 같은 목적을 달성하기 위한 본 발명에 따른 메모리의 데이터 관리방법은, 하나의 파일 데이터를 저장할 때 해당 파일 데이터에 필요한 메타 데이터(Meta Data)를 저장하는 메타 데이터 영역과 실제 파일 데이터(Real Data)를 저장하는 실제 데이터 영역으로 구분되는 메모리에 데이터를 관리하는 방법에 있어서, 상기 메타 데이터 영역은 메모리 전체에 대한 메타 데이터를 저장하는 메모리 메타 데이터 영역으로 할당하고, 상기 실제 데이터 영역은 초기에 복수개의 개별 파일 데이터가 저장될 수 있는 영역으로 분할하고, 이 분할된 각각의 개별 파일 데이터 영역 내에 해당 파일 데이터에 필요한 모든 메타 데이터를 저장할 수 있는 파일 메타 데이터 영역을 할당하도록 구성된다.

Description

메모리의 데이터 관리방법 및 그 시스템{METHOD FOR MANAGING DATA IN COMPUTER MEMORY AND SYSTEM THEREOF}
본 발명은 메모리의 데이터 관리방법 및 그 시스템에 관한 것으로서, 보다 상세하게는 메모리 내에 파일 메타 데이터와 실제 파일 데이터를 효과적으로 관리할 수 있는 방법 및 그 시스템에 관한 것이다.
컴퓨터의 기본 구성요소인 메모리(Memory)는 컴퓨터에서 사용되는 모든 종류의 데이터를 일시적으로 또는 영구히 저장하는 장치이다. 컴퓨터는 몇 가지 계층 구조를 통해 메모리에 데이터를 읽고 쓰는 작업을 진행한다.
도 1은 컴퓨터 메모리에 대해 읽기/쓰기 작업을 진행하는데 필요한 계층 구조를 나타낸 것이다. 맨 아래에는 물리적인 기억장치인 메모리(1)가 위치한다. 이 메모리(1)는 다양한 종류가 있기 때문에 각 메모리를 통합적으로 제어하기 위하여 오퍼레이팅 시스템(Operating System, 2)이 그 위에 위치한다. 대표적인 O/S가 우리가 가장 많이 사용하고 있는 윈도우즈 O/S 이다. 오퍼레이팅 시스템(2)은 메모리(1)에 데이터 파일을 생성,변경,삭제하는 작업을 수행하는데 필요한 파일 시스템(3)을 지원한다. 대표적인 파일 시스템이 원도우즈에서 사용되고 있는 FAT(File Allocation Table) 파일 시스템이다. 마지막으로 FAT 파일 시스템을 이용하여 데이터를 처리하는 다양한 종류의 어플리케이션 프로그램(Application Program, 4)이 맨 위에 위치한다.
도 2는 종래의 FAT 파일 시스템을 통해 메모리에 데이터를 관리하는 방법을 도식적으로 나타낸다.
메모리는 전체 저장 영역이 메타 데이터 영역(Meta data zone, 10)과 실제 데이터 영역(Real data zone, 20)으로 구분되어 있다. 상기 메타 데이터 영역은 하나의 데이터 파일을 저장할 때 이에 따른 메타 정보가 저장되는 영역이다. 메타 정보는 FAT(File Allocation Tabel) 파일 시스템에 의해 생성 저장되는 것으로 해당 데이터 파일의 파일명, 데이터 파일의 속성, 최초 저장시간, 액세스 시간, 갱신 시간, 파일의 크기 등과 같이 데이터 파일을 저장하고 관리하는데 필요한 정보의 집합이다. 상기 실제 파일 데이터 영역은 파일 데이터가 실제로 저장되는 영역이다. 파일 데이터라 함은 소정의 목적 하에 생성된 데이터들의 묶음을 말하는 것으로, 이 파일 데이터는 텍스트, 그래픽, 영상, 음성, GPS 정보, 센싱 데이터 등 여러 가지가 될 수 있다.
메모리에 1번 파일 데이터(21)를 쓰기 연산하면, 컴퓨터의 FAT 파일 시스템에서는 1번 파일 데이터(21)에 대한 메타 데이터(11)를 생성하여 메타 데이터 영역(10)에 별도로 저장하고, 1번 파일 데이터(21) 자체는 실제 데이터 영역(20)에 저장한다. 2번 데이터 파일(22)도 동일한 방법으로 메타 데이터(12)를 메타 데이터 영역(10)에 별도로 저장한다.
이와 같이 메타 정보는 실제 파일 데이터를 저장하고 관리하는데 필요한 정보를 가지고 있기 때문에 해당 파일 데이터에 대해 읽기, 쓰기, 삭제 연산 등을 수행할 때마다 메타 정보도 변경되어야 하며, 이를 위해서는 메타 데이터 영역을 매번 액세스하여야 한다. 메타 데이터 영역을 액세스하는 동안에 정전과 같은 이벤트가 발생하여 메타 정보가 손상되는 경우가 자주 발생한다. 이와 같이 메타 정보가 손상되면 해당 파일 데이터는 손상되지 않았음에도 불구하고 이를 액세스할 수 없기 때문에 데이터를 복구할 수 없게 된다. 이러한 현상을 파일 시스템 오류라고 하는데, 이는 종래의 FAT 파일 시스템에 의한 메모리 관리방법에 있어서 가장 큰 단점으로 지적되어 왔다.
대한민국 등록특허공보 제10-0932096호(발명의 명칭: 낸드 플래시 메모리의 데이터 저장방법)(문헌 1)에는 상술한 종래의 메모리 관리방법의 문제점을 해결하기 위한 방법이 개시되어 있다.
즉, 상기 메타 정보를 생성하기 위하여 복수 개의 초기 파일 데이터를 메모리의 작동 초기에 생성하여 상기 실제 파일 데이터 영역 전체에 걸쳐 저장하고, 생성된 메타 데이터를 메타 데이터 영역에 저장한 다음 생성된 메타 데이터 중에서 갱신이 필요한 일부 정보를 상기 실제 파일 데이터 영역 중 초기 데이터 파일에 할당된 메모리 블록의 일부에 메타 인덱스 정보로서 함께 저장하는 방법이 개시되어 있다.
이 방법에 따르면, 빈번하게 갱신되는 메타 데이터를 실제 파일 데이터 영역에 분산 저장함으로써 실제 파일 데이터에 대한 읽기, 쓰기, 삭제 연산 등을 수행할 때마다 파일 데이터 영역에 있는 메타 인덱스 정보만을 갱신하기 때문에 메타 데이터 영역에 대한 빈번한 액세스를 방지할 수 있다.
그러나, 하나의 실제 파일 데이터에 대한 다양한 종류의 메타 데이터 중에서 빈번하게 갱신되어야 할 메타 인덱스 정보를 선정하는 것이 현실적으로 어려울 뿐만 아니라, 실제로 수행을 해 본 결과 메타 인덱스 정보와 파일의 정보가 따로 분리되어 저장되기 때문에 다시 파일을 열어 관련 정보를 확인하여야 하는 단점이 존재하였다. 또한, 이러한 방식은 별도의 프로그램(유틸리티)을 사용하여야 하기 때문에 파일 시스템의 호환성에 문제가 있었다. 즉, 파일 자체는 호환이 되지만 파일의 실제 정보와 메타 인덱스 정보가 불일치하여 사용 과정에 오류가 발생하는 문제점이 발생하였다.
[문헌 1] 대한민국 등록특허공보 제0932096호: 낸드 플래시 메모리의 데이터 저장방법(출원인: 주식회사 셀픽), 2009. 12. 08. 공개)
본 발명은 이러한 종래의 문제점을 해결하기 위하여 창작된 것으로서, 특정한 파일 데이터에 대한 모든 메타 데이터를 해당 파일 데이터가 저장되는 영역 내에 분산 저장함으로써 메모리 내의 특정 영역에 대한 빈번한 액세스를 방지할 수 있도록 해주는 메모리의 데이터 관리방법 및 그 시스템을 제공하는데 주된 목적이 있다.
상기와 같은 목적을 달성하기 위한 본 발명에 따른 메모리의 데이터 관리방법은, 하나의 파일 데이터를 저장할 때 해당 파일 데이터에 필요한 메타 데이터(Meta Data)를 저장하는 메타 데이터 영역과 실제 파일 데이터(Real Data)를 저장하는 실제 데이터 영역으로 구분되는 메모리에 데이터를 관리하는 방법에 있어서, 상기 메타 데이터 영역은 메모리 전체에 대한 메타 데이터를 저장하는 메모리 메타 데이터 영역으로 할당하고, 상기 실제 데이터 영역은 초기에 복수개의 개별 파일 데이터가 저장될 수 있는 영역으로 분할하고, 이 분할된 각각의 개별 파일 데이터 영역 내에 해당 파일 데이터에 필요한 모든 메타 데이터를 저장할 수 있는 파일 메타 데이터 영역을 할당하며, 상기 개별 파일 데이터 영역 내에 할당되는 파일 메타 데이터 영역은 FAT 파일 시스템과 호환성이 있는 더미 데이터(dummy data)가 저장되도록 구성될 수 있다.
삭제
또한, 상기 파일 메타 데이터 영역에 저장되는 상기 FAT 파일 시스템과 호환성이 있는 더미 데이터는 파일 속성을 시스템 파일 속성으로 부여할 수 있다.
또한, 상기 개별 파일 데이터 영역 내에 할당되는 파일 메타 데이터 영역에 대하여 액세스가 되지 않는 경우에는, 해당 개별 파일 데이터 영역 내에 저장된 실제 파일 데이터를 다른 메모리 영역에 복사하여 저장하고, 이 복사 저장된 실제 파일 데이터에 대한 파일 메타 데이터를 새로이 생성하여 해당 개별 데이터 영역 내에 저장할 수 있다.
이 때, 상기 실제 파일 데이터의 다른 메모리 영역으로의 복사 및 저장은 해당하는 파일 데이터에 대해서만 실행할 수 있고, 해당하는 파일 데이터를 포함하는 공통 관리 그룹 내의 모든 파일 데이터에 대하여 실행할 수 있다.
한편, 본 발명의 또 다른 측면인 메모리의 관리시스템은, 하나의 파일 데이터를 저장할 때 해당 파일 데이터에 필요한 메타 데이터(Meta Data)를 저장하는 메타 데이터 영역과 실제 파일 데이터(Real Data)를 저장하는 실제 데이터 영역으로 구분되는 메모리에 데이터를 관리하는 시스템에 있어서, 상기 메타 데이터 영역은 메모리 전체에 대한 메타 데이터를 저장하는 메모리 메타 데이터 영역으로 할당하고, 상기 실제 데이터 영역은 초기에 복수개의 개별 파일 데이터가 저장될 수 있는 영역으로 분할하고 이 분할된 각각의 개별 파일 데이터 영역 내에 해당 파일 데이터에 필요한 모든 메타 데이터를 저장할 수 있는 파일 메타 데이터 영역을 할당하는 데이터 초기화부; 하나의 파일 데이터에 대한 읽기/쓰기 연산을 수행하는 때에 해당 파일 데이터에 대한 상기 파일 메타 데이터 영역을 액세스하여 변경되는 메타 데이터를 갱신하고, 상기 파일 데이터 영역에 대하여 읽기/쓰기 연산을 수행하는 것을 특징으로 하는 데이터 처리부;를 포함하고, 상기 데이터 초기화부는 상기 개별 파일 데이터 영역 내에 할당되는 파일 메타 데이터 영역에 FAT 파일 시스템과 호환성이 있는 더미 데이터(dummy data)를 저장할 수 있다.
삭제
또한, 상기 개별 파일 데이터 영역 내에 할당되는 파일 메타 데이터 영역에 FAT 파일 시스템과 호환성이 있는 더미 데이터의 파일 속성을 시스템 파일 속성으로 부여하는 파일속성 변경부;를 더 포함할 수 있다.
또한, 상기 개별 파일 데이터 영역 내에 할당되는 파일 메타 데이터 영역에 대하여 액세스가 되지 않는 경우에는, 해당 개별 파일 데이터 영역 내에 저장된 실제 파일 데이터를 다른 메모리 영역에 복사하여 저장하고, 이 복사 저장된 실제 파일 데이터에 대한 파일 메타 데이터를 새로이 생성하여 해당 개별 데이터 영역 내에 저장하는 데이터 복구부;를 더 포함할 수 있다.
이 때, 상기 데이터 복구부는 상기 실제 파일 데이터의 다른 메모리 영역으로의 복사 및 저장은 해당하는 파일 데이터에 대해서만 실행할 수 있고, 해당하는 파일 데이터를 포함하는 공통 관리 그룹 내의 모든 파일 데이터에 대하여 실행할 수 있다.
상기와 같이 구성된 본 발명에 따른 메모리의 관리방법 및 그 시스템에 따르면, 종래의 FAT 파일 시스템과의 호환성을 유지하면서 파일 메타 데이터에 대해 메모리 전체 영역으로의 분산 배치를 가능하게 해준다.
이에 의해 종래의 FAT 파일 시스템에 있어서 메모리 전체 영역이 균일하게 사용되지 못하고 메타 데이터 영역에 집중적으로 읽기/쓰기 연산이 이루어지던 문제점을 완전히 방지할 수 있다. 그 결과, 빈번한 데이터 액세스에 의해 메타 데이터 영역이 손상될 경우 메모리 전체를 폐기 처분해야 하는 문제점을 해결하고, 메모리의 사용수명을 연장시켜준다.
또한, 일부 메타 데이터 영역이 손상된 경우에도 미러링 데이터 복구 등을 통해 데이터를 신속하고 안전하게 복구할 수 있기 때문에 메모리의 데이터 신뢰성을 향상시켜준다.
도 1은 종래의 메모리 관리 계층구조를 나타낸 도면.
도 2는 종래의 메모리 영역 할당 형태를 나타낸 도면.
도 3은 본 발명에 따른 메모리 관리 계층구조를 나타낸 도면.
도 4는 본 발명에 따른 메모리 영역 할당 형태를 나타낸 도면.
도 5는 본 발명에 따른 메모리 관리 시스템의 구성을 나타낸 도면.
도 6은 본 발명에 따른 미러링 데이터 복구 과정을 나타낸 도면.
도 7은 본 발명에 따른 메모리 관리 방법을 나타낸 순서도.
이하에서 첨부된 도면을 참조로 본 발명에 따른 바람직한 일 실시예를 보다 상세히 설명한다.
이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는 적절하게 설명된다면 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
도 3은 본 발명에 따른 메모리 관리 계층구조를 나타낸 도면으로서, 종래의 메모리 관리 계층구조인 도 1에 대응되는 것이다.
기본적으로 본 발명에 따른 메모리 관리 계층구조도 맨 아래에서부터 메모리(30), 오퍼레이팅 시스템(31), FFAT 파일 시스템(32) 및 어플리케이션 프로그램(4)으로 구성된다는 점에서 도 1에 도시된 종래의 것과 동일하다. 따라서, 개별 구성요소에 대한 설명은 도 1의 설명부분을 참조하기로 하고, 여기서는 종래의 계층구조와의 차이점을 중심으로 설명한다.
본 발명에 따른 메모리 관리 계층구조는 FAT 파일 시스템이 FFAT 파일 시스템이라는 점에서 종래와 구별된다. 이 FFAT 파일 시스템은, Flexible File Allocation Table 파일 시스템의 약자이다. 이 FFAT 파일 시스템은 현재 사용되고 있는 특정한 기술을 명명하는 것은 아니며, 종래의 FAT 파일 시스템과 구별하기 위해 본 명세서의 명명한 본 발명에 따른 FAT 파일 시스템의 명칭이다.
도 2를 참조로 설명한 바와 같이, 종래의 일반 FAT 파일 시스템은 하나의 파일 데이터를 저장할 때 해당 파일 데이터에 필요한 메타 데이터(Meta Data)를 저장하는 메타 데이터 영역과 실제 파일 데이터(Real Data)를 저장하는 실제 데이터 영역으로 구분하여 할당하고, 모든 파일 데이터에 대한 메타 데이터를 특정한 메타 데이터 영역에 모두 저장한다. 그 결과, 하나의 파일 데이터에 대한 읽기/쓰기 연산이 수행할 때마다 상기 메타 데이터 영역을 액세스하여야 했고, 이러한 빈번한 액세스로 인해 메타 데이터 영역에 대한 손상이 자주 발생하였다.
본 발명에 따른 FFAT 파일 시스템은, 이러한 종래의 FAT 파일 시스템과의 호환성을 유지하면서 파일 메타 데이터에 대해 메모리 전체 영역으로의 분산 배치를 가능하게 해준다.
상기 FFAT 파일 시스템도 초기에 메타 데이터 영역과 실제 데이터 영역으로 구분한다는 점에서는 FAT 파일 시스템과 동일하다. 그러나, 상기 메타 데이터 영역은 메모리 전체에 대한 메타 데이터를 저장하는 메모리 메타 데이터 영역으로 할당하고, 상기 파일 데이터 영역은 초기에 복수개의 개별 파일 데이터가 저장될 수 있는 영역으로 분할하고, 이 분할된 각각의 개별 파일 데이터 영역 내에 해당 파일 데이터에 필요한 모든 메타 데이터를 저장할 수 있는 파일 메타 데이터 영역을 할당하도록 구성된다.
도 4는 이러한 본 발명에 따른 메모리 영역 할당 형태를 나타내는 것으로서, 종래의 메모리 영역 할당 형태를 도 2에 대응되는 것이다.
메모리는 크게 전체 메모리 메타 데이터 영역(40)와 실제 데이터 영역(50)으로 분할된다. 상기 메모리 메타 데이터 영역(40)의 도 2에 도시된 종래의 메타 데이터 영역(10)에 대응된다. 그러나, 종래의 메타 데이터 영역(10) 내에서는 각 파일 데이터에 대한 메타 데이터 정보(11,12)가 저장되는 것과 달리 본 발명의 메모리 메타 데이터 영역(40)에는 순수하게 전체 메모리에 대한 메타 데이터만이 저장된다. 즉, 전체 메모리의 용량, 메모리 헤더 정보 등에 대한 메타 데이터만이 저장되는 것이다. 따라서, 이 메모리 메타 데이터 영역(40)에는 각 파일 데이터에 대한 메타 데이터는 저장되지 아니한다.
반면에, 본 발명에 따른 데이터 영역(50)은 도 2에 도시된 종래의 실제 데이터 영역(20)에 대응된다. 그러나, 종래의 실제 데이터 영역(20) 내에서는 실제 파일 데이터만이 저장되는 것과 달리 본 발명에 따른 데이터 영역(50)에는 초기에 복수개의 개별 파일 데이터가 저장될 수 있는 영역으로 분할되고, 이 분할된 각각의 개별 파일 데이터 영역 내에 해당 파일 데이터에 필요한 모든 메타 데이터를 저장할 수 있는 파일 메타 데이터 영역을 할당된다.
다시 말해, 본 발명에 따른 데이터 영역(50)은 초기에 개별 파일 데이터가 저장될 수 있는 영역으로 분할되고, 각각의 개별 파일 데이터가 저장되는 영역은 다시 파일 메타 데이터가 저장되는 영역(51,53,55)과 실제 파일 데이터가 저장되는 영역(52,54,56)으로 분할된다. 예를 들어, 1번 파일 데이터가 저장되는 영역은 1번 파일 메타 데이터 영역(51)과 실제 1번 파일 데이터가 저장되는 영역(52)으로 분할되는 것이다.
상기 파일 메타 데이터는 데이터 파일의 파일명, 데이터 파일의 속성, 최초 저장시간, 액세스 시간, 갱신 시간, 파일의 크기 등과 같이 데이터 파일을 저장하고 관리하는데 필요한 모든 메타 정보의 집합이다. 이와 같이, 본 발명에 따르면 해당 파일 데이터에 대한 모든 메타 정보가 해당 파일 데이터가 저장되는 실제 데이터 영역(50) 내에 각각 분산 저장된다. 따라서, 복수개의 파일 데이터에 대하여 읽기/쓰기 연산을 수행할 때 도 2에서와 같이 메타 데이터 영역(10)에 대한 집중적인 액세스가 일어나지 않고, 도 4에서와 같이 분산 저장된 파일 메타 데이터 영역(51,53,55)에 대하여 개별적으로 액세스된다.
도 5는 본 발명에 따른 메모리 관리시스템의 구성을 개략적으로 나타낸 도면이다. 본 발명에 따른 FFAT 파일 시스템(70)은 기존의 FAT 파일 시스템(60)에 파일 메타 데이터의 분산 저장을 위한 몇 가지 기능 모듈이 추가적으로 구성된다.
메모리 초기화부(71)는 종래의 메타 데이터 영역을 메모리 전체에 대한 메타 데이터를 저장하는 메모리 메타 데이터 영역(40)으로 할당한다. 실제 데이터 영역(50)은 초기에 복수개의 개별 파일 데이터가 저장될 수 있는 영역으로 분할하고 이 분할된 각각의 개별 파일 데이터 영역 내에 해당 파일 데이터에 필요한 모든 메타 데이터를 저장할 수 있는 파일 메타 데이터 영역(51,53,55)을 할당한다. 개별 파일 데이터 영역 내에서 상기 파일 메타 데이터 영역(51,53,55)을 제외한 부분은 실제 파일 데이터 영역(52,54,56)으로 할당한다.
이를 위해 상기 메모리 초기화부(71)는 메모리 실제로 사용되기 이전에 메모리의 전체 용량을 확인하고, 각각의 파일 사이즈와 용량을 결정하며, 상기 메모리 메타 데이터 영역(40)을 할당한 후 이를 초기화하고, 상기 데이터 영역(50)은 파일 메타 데이터 영역(51,53,55)과 실제 파일 데이터 영역(52,54,56)으로 분할 생성한 후 이를 초기화한다. 파일 메타 데이터 영역(51,53,55)은 기존의 FAT 파일 시스템에서 규정하고 있는 메타 데이터 영역의 크기인 4Kbyte, 8Kbyte, 16Kbyte 등의 크기를 갖는다. 이와 같이 본 발명에서는 파일 메타 데이터 영역(51,53,55)을 기존의 FAT 파일 시스템에서 지원하는 크기 그대로 사용함으로써 호환성을 유지한다.
도 5에는 상기 실제 파일 데이터의 사이즈가 동일한 경우를 예시하고 있다. 이는 차량용 블랙박스와 같이 동일한 사이즈의 영상 데이터를 반복하여 저장하는 경우에 적합하다. 그러나, 본 발명은 이에 한정되지 아니하고, 실제 파일 데이터의 사이즈가 개별적으로 달라지는 경우에도 적용 가능하다.
상기 메모리 초기화부(71)는 초기에 실제 데이터 영역(50) 내에 파일 메타 데이터 영역(51,53,55)을 할당한 후, 이 파일 메타 데이터 영역(51,53,55)이 다른 어플리케이션 프로그램에 의해 읽기/쓰기 연산이 수행되어 데이터가 변경되는 것을 방지하기 위한 작업을 수행한다.
먼저, 상기 메모리 초기화부(71)는 상기 파일 메타 데이터 영역(51,53,55)에 기존의 FAT 파일 시스템(60)과 호환성이 있는 더미 데이터(dummy data)를 저장한다. FAT 파일 시스템(60)은 상기 더미 데이터를 하나의 데이터 파일로 인식하지만, 더미 데이터이므로 이를 이용하여 아무런 연산을 수행하지 아니한다. 이러한 FAT 파일 시스템과 호환성이 있는 더미 데이터(dummy data)로는 "제로 사이즈(0 size)의 파일명"이 있다.
예를 들어, 상기 메모리 초기화부(71)가 4Kbyte의 크기를 갖는 1번 파일 메타 데이터 영역(51) 내에서 "제로 사이즈의 파일명"으로 채운다. 상기 "제로 사이즈의 파일명"은 실제로 32 ~ 300byte 정도의 크기를 갖는다. 300byte 크기를 갖는 "제로 사이즈의 파일명"을 13개 사용하면 4Kbyte의 크기를 갖는 1번 파일 메타 데이터 영역(51)을 모두 채울 수 있다. FAT 파일 시스템(60)이 상기 1번 파일 메타 데이터 영역(51)을 액세스하는 경우 여기에 일정한 데이터가 저장되어 있는 것으로 인식하고, 새로운 데이터를 변경하지 아니한다. 하지만, "제로 사이즈의 파일명"은 FAT 파일 시스템이 사이즈가 0인 것으로 인식하므로 이를 이용하여 어떠한 연산을 수행하지는 아니한다.
파일 속성 변경부(72)는 상기 파일 메타 데이터 영역(51,53,55)에 저장되는 상기 FAT 파일 시스템과 호환성이 있는 더미 데이터의 파일 속성을 시스템 파일 속성으로 변경한다. 이는 다른 어플리케이션 프로그램에 의해 실행되는 FAT 파일 시스템(60)이 임의로 상기 파일 메타 데이터 영역(51,53,55)에 저장된 더미 데이터를 변경하는 것을 더욱 확실하게 방지해준다. 왜냐하면, FAT 파일 시스템은 오퍼레이팅 시스템에서 사용하는 것으로 인식되는 시스템 파일의 경우에는 특별한 권한이 있는 접근이 아닌 이상 이를 변경하지 않기 때문이다.
데이터 처리부(73)는 하나의 파일 데이터에 대한 읽기/쓰기 연산을 수행하는 경우에 상기 데이터 영역(50) 내에 있는 실제 파일 데이터 영역(52,54,56)을 액세스하여 파일 데이터에 대한 읽기/쓰기 연산을 수행하고, 해당 파일 데이터에 대응하는 파일 메타 데이터 영역(51,53,55)을 액세스하여 변경된 메타 정보를 갱신하도록 해준다. 이 데이터 처리부(73)는 기존의 FAT 파일 시스템이 해당 파일 데이터를 본 발명에 따라 분할 저장된 메모리에 액세스하여 정상적으로 읽기/쓰기 연산을 수행할 수 있도록 해준다. 데이터 처리부(73)가 기존의 FAT 파일 시스템과 동일하게 클러스터(Cluster) 단위로 읽기/쓰기 연산을 수행함으로써 호환성을 유지시켜 준다.
한편, 상기 파일 메타 데이터 영역(51,53,55)이 파일 속성이 시스템 파일로 설정된 더미 데이터로 채워져 있는 경우에는, 상기 데이터 처리부(73)가 상기 파일 메타 데이터 영역(51,53,55)을 액세스하여 변경된 메타 정보를 갱신하기 전에, 상기 파일 속성 변경부(72)가 더미 데이터의 파일 속성을 시스템 파일에서 일반 파일로 변경하여야 한다. 더미 데이터의 파일 속성이 시스템 파일인 경우에는 상기 데이터 처리부(73)에 의해서도 더미 데이터가 실제 파일 메타 데이터로 변경되지 않기 때문이다.
마지막으로, 데이터 복구부(74)는 상기 파일 메타 데이터 영역(51,53,55)이 손상되어 FAT 파일 시스템으로 액세스가 되지 않는 경우에는 이를 원래대로 복구하는 기능을 수행한다. 본 발명에 따르면, 파일 메타 데이터가 분산되어 있기 때문에 액세스되지 않는 영역을 검사하며 어느 파일 데이터에 대한 파일 메타 데이터가 손상되었는지 파악할 수 있다. 상기 파일 메타 데이터 영역(51,53,55)이 복구 프로그램 등에 의해 읽기/쓰기 연산이 가능한 경우에는 자체 복구를 통해 정상적인 파일 메타 데이터로 다시 저장한다.
만약, 상기 파일 메타 데이터 영역(51,53,55)이 손상되어 자체 복구가 되지 않는 경우에는 미러링(Mirroring) 복구 작업을 통해 데이터를 복구할 수 있다. 도 6을 참조하여 본 발명에 따른 미러링 복구 작업 과정을 간단히 설명한다.
상기 데이터 복구부(74)는 상기 개별 데이터 영역(50) 내에 할당되는 파일 메타 데이터 영역(51,53,55)에 대하여 액세스가 되지 않는 경우에는, 해당 개별 데이터 영역 내에 저장된 실제 파일 데이터를 다른 메모리 영역에 복사하여 저장하고, 이 복사 저장된 실제 파일 데이터에 대한 파일 메타 데이터를 새로이 생성하여 해당 개별 데이터 영역 내에 저장한다.
이 때, 상기 데이터 복구부(74)는 상기 실제 파일 데이터의 다른 메모리 영역으로의 복사 및 저장을 해당하는 파일 데이터에 대해서만 실행할 수 있고, 해당하는 파일 데이터를 포함하는 공통 관리 그룹 내의 모든 파일 데이터에 대하여 실행할 수도 있다.
도 6은 공통 관리 그룹(1 ~ n 번 파일 데이터) 내의 모든 파일 데이터가 동시에 복사 및 저장되는 일 실시예를 나타낸다.
1번 파일 메타 데이터 영역(51)이 손상되어 액세스가 되지 않는 경우에는, 새로운 메모리 영역(#2)에 동일한 크기의 1번 파일 메타 데이터 영역(51a) 및 1번 파일 데이터 영역(52a)을 새로이 할당한다. 해당되는 1번 파일 데이터 영역(52)을 액세스하여 1번 파일 데이터를 복사한 다음 이를 상기 새로이 할당된 1번 파일 데이터 영역(52a)에 저장한다. 손상된 1번 파일 메타 데이터는 현재 시점을 기준으로 새로운 데이터로 생성하여 1번 파일 메타 데이터 영역(51a)에 저장한다. 나머지 2번 파일 메타 데이터, 2번 실제 파일 데이터... n번 파일 메타 데이터, n번 실제 파일 데이터는 그대로 복사한 다음 새로운 메모리 영역(#2)에 할당된 2번 파일 메타 데이터 영역(53a), 2번 실제 파일 데이터 영역(54a)... n번 파일 메타 데이터 영역(55a), n번 실제 파일 데이터 영역(56a)에 각각 저장된다.
이 때, 상기 새로운 메모리 영역(#2)은 기존의 메모리 영역(#1)과 물리적으로 동일한 메모리 내에 주소번지만 상이한 곳일 수 있고, 물리적으로 완전히 별개의 메모리 영역일 수도 있다. 또한, 상기 새로이 할당된 2번 파일 메타 데이터 영역(53a)은 1번 실제 파일 데이터 영역(52a) 이후에 연속적으로 할당될 수도 있고, 임의의 주소번지에 할당될 수 있다. 후자의 경우에는 참조 테이블이 별도로 생성된다.
이와 같이 구성된 본 발명에 따른 메모리 관리시스템의 기능 모듈(60,71 ~ 74)은 메모리에 대한 데이터의 읽기/쓰기 연산을 소프트웨어 또는 하드웨어적으로 제어하는 메모리 읽기/쓰기 제어부(80)를 통해 메모리에 대한 연산 작업을 수행한다. 여기서, 읽기/쓰기 연산이라 함은 좁은 의미에서 data read/write 기능만을 뜻하는 것이 아니라, 삭제/변경/복원 연산 등 메모리에 대하여 이루어지는 모든 종류의 연산을 포함하는 것을 의미한다.
마지막으로, 도 7를 참조로 본 발명에 따른 메모리 관리방법의 실행 과정을 간단히 설명한다. 각각의 구성요소에 병기된 도면부호는 도 6을 참조하기로 한다.
먼저, 해당 메모리를 초기화 한다(S10). 보다 상세하게 설명하면, 전체 메모리 저장 영역을 메모리 메타 데이터 영역(40)과 실제 데이터 영역(50)으로 분할한다. 상기 실제 데이터 영역(50)은 초기에 복수개의 개별 파일 데이터가 저장될 수 있는 영역으로 분할하고 이 분할된 각각의 개별 파일 데이터 영역 내에 해당 파일 데이터에 필요한 모든 메타 데이터를 저장할 수 있는 파일 메타 데이터 영역(51,53,55)을 할당한다.
그 후, 이 파일 메타 데이터 영역(51,53,55)이 다른 어플리케이션 프로그램에 의해 읽기/쓰기 연산이 수행되어 데이터가 변경되는 것을 방지하기 위한 작업을 수행한다. 이를 위해 상기 파일 메타 데이터 영역(51,53,55)에 기존의 FAT 파일 시스템(60)과 호환성이 있는 더미 데이터(dummy data)를 저장한다. FAT 파일 시스템(60)은 상기 더미 데이터를 하나의 데이터 파일로 인식하지만, 더미 데이터이므로 이를 이용하여 아무런 연산을 수행하지 아니한다.
이러한 FAT 파일 시스템과 호환성이 있는 더미 데이터(dummy data)의 대표적인 예가 "제로 사이즈(0 size)의 파일명"임은 상기한 바와 같다. FAT 파일 시스템(60)이 상기 1번 파일 메타 데이터 영역(51)을 액세스하는 경우 여기에 일정한 데이터가 저장되어 있는 것으로 인식하고, 새로운 데이터를 변경하지 아니한다.
다음으로, 상기 파일 메타 데이터 영역(51,53,55)에 저장된 FAT 파일 시스템과 호환성이 있는 더미 데이터의 파일 속성을 시스템 파일 속성으로 변경한다(S20). 이는 다른 어플리케이션 프로그램에 의해 실행되는 FAT 파일 시스템(60)이 임의로 상기 파일 메타 데이터 영역(51,53,55)에 저장된 더미 데이터를 변경하는 것을 더욱 확실하게 방지해준다. 왜냐하면, FAT 파일 시스템은 오퍼레이팅 시스템에서 사용하는 것으로 인식되는 시스템 파일의 경우에는 특별한 권한이 있는 접근이 아닌 이상 이를 변경하지 않기 때문이다.
메모리 초기화 및 파일 속성 변경이 완료되면, 기존의 FAT 파일 시스템과 동일한 방식으로 데이터를 처리한다(S30). 이를 위해 데이터 처리부(73)는 하나의 파일 데이터에 대한 읽기/쓰기 연산을 수행하는 경우에 상기 데이터 영역(50) 내에 있는 실제 파일 데이터 영역(52,54,56)을 액세스하여 파일 데이터에 대한 읽기/쓰기 연산을 수행하고, 해당 파일 데이터에 대응하는 파일 메타 데이터 영역(51,53,55)을 액세스하여 변경된 메타 정보를 갱신하도록 해준다.
데이터를 처리하는 과정에서 파일 메타 데이터가 손상되어 액세스가 되지 않는 경우에는, 이를 원래대로 복구하는 기능을 수행한다(S40, S50). 특히, 파일 메타 데이터 영역(51,53,55)이 손상되어 자체 복구가 되지 않는 경우에는 미러링(Mirroring) 복구 작업을 통해 데이터를 복구할 수 있다.
미러링 데이터 복구 작업은 다음과 같이 이루어진다. 상기 개별 데이터 영역(50) 내에 할당되는 파일 메타 데이터 영역(51,53,55)에 대하여 액세스가 되지 않는 경우에는, 해당 개별 데이터 영역 내에 저장된 실제 파일 데이터를 다른 메모리 영역에 복사하여 저장하고, 이 복사 저장된 실제 파일 데이터에 대한 파일 메타 데이터를 새로이 생성하여 해당 개별 데이터 영역 내에 저장한다.
이 때, 상기 데이터 복구부(74)는 상기 실제 파일 데이터의 다른 메모리 영역으로의 복사 및 저장을 해당하는 파일 데이터에 대해서만 실행할 수 있고, 해당하는 파일 데이터를 포함하는 공통 관리 그룹 내의 모든 파일 데이터에 대하여 실행할 수도 있음은 상기한 바와 같다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
40: 전체 메모리 메타 데이터 영역 50: 파일 데이터 영역
60: FAT 파일 시스템 70: FFAT 파일 시스템
71: 데이터 초기화부 72: 파일속성 변경부
73: 데이터 처리부 74: 데이터 복구부
80: 메모리 읽기/쓰기 제어부

Claims (10)

  1. 하나의 파일 데이터를 저장할 때 해당 파일 데이터에 필요한 메타 데이터(Meta Data)를 저장하는 메타 데이터 영역과 실제 파일 데이터(Real Data)를 저장하는 실제 데이터 영역으로 구분되는 메모리에 데이터를 관리하는 방법에 있어서,
    상기 메타 데이터 영역은 메모리 전체에 대한 메타 데이터를 저장하는 메모리 메타 데이터 영역으로 할당하고,
    상기 실제 데이터 영역은 초기에 복수개의 개별 파일 데이터가 저장될 수 있는 영역으로 분할하고, 이 분할된 각각의 개별 파일 데이터 영역 내에 해당 파일 데이터에 필요한 모든 메타 데이터를 저장할 수 있는 파일 메타 데이터 영역을 할당하며,
    상기 개별 파일 데이터 영역 내에 할당되는 파일 메타 데이터 영역에는 FAT 파일 시스템과 호환성이 있는 더미 데이터(dummy data)가 저장되는 것을 특징으로 하는 메모리의 데이터 관리방법.
  2. 삭제
  3. 청구항 1에 있어서,
    상기 파일 메타 데이터 영역에 저장되는 상기 FAT 파일 시스템과 호환성이 있는 더미 데이터는 파일 속성을 시스템 파일 속성으로 부여하는 것을 특징으로 하는 메모리의 데이터 관리방법.
  4. 청구항 1에 있어서,
    상기 개별 파일 데이터 영역 내에 할당되는 파일 메타 데이터 영역에 대하여 액세스가 되지 않는 경우에는,
    해당 개별 파일 데이터 영역 내에 저장된 실제 파일 데이터를 다른 메모리 영역에 복사하여 저장하고, 이 복사 저장된 실제 파일 데이터에 대한 파일 메타 데이터를 새로이 생성하여 해당 개별 데이터 영역 내에 저장하는 것을 특징으로 하는 메모리의 데이터 관리방법.
  5. 청구항 4에 있어서,
    상기 실제 파일 데이터의 다른 메모리 영역으로의 복사 및 저장은 해당하는 파일 데이터에 대해서만 실행할 수 있고, 해당하는 파일 데이터를 포함하는 공통 관리 그룹 내의 모든 파일 데이터에 대하여 실행할 수 있는 것을 특징으로 하는 메모리의 데이터 관리방법.
  6. 하나의 파일 데이터를 저장할 때 해당 파일 데이터에 필요한 메타 데이터(Meta Data)를 저장하는 메타 데이터 영역과 실제 파일 데이터(Real Data)를 저장하는 실제 데이터 영역으로 구분되는 메모리에 데이터를 관리하는 시스템에 있어서,
    상기 메타 데이터 영역은 메모리 전체에 대한 메타 데이터를 저장하는 메모리 메타 데이터 영역으로 할당하고, 상기 실제 데이터 영역은 초기에 복수개의 개별 파일 데이터가 저장될 수 있는 영역으로 분할하고 이 분할된 각각의 개별 파일 데이터 영역 내에 해당 파일 데이터에 필요한 모든 메타 데이터를 저장할 수 있는 파일 메타 데이터 영역을 할당하는 데이터 초기화부;
    하나의 실제 데이터에 대한 읽기/쓰기 연산을 수행하는 때에 해당 파일 데이터에 대한 상기 파일 메타 데이터 영역을 액세스하여 변경되는 메타 데이터를 갱신하고, 상기 파일 데이터 영역에 대하여 읽기/쓰기 연산을 수행하는 것을 특징으로 하는 데이터 처리부;를 포함하고,
    상기 데이터 초기화부는 상기 개별 파일 데이터 영역 내에 할당되는 파일 메타 데이터 영역에는 FAT 파일 시스템과 호환성이 있는 더미 데이터(dummy data)를 저장하는 것을 특징으로 하는 메모리의 데이터 관리시스템.
  7. 삭제
  8. 청구항 6에 있어서,
    상기 개별 파일 데이터 영역 내에 할당되는 파일 메타 데이터 영역에 FAT 파일 시스템과 호환성이 있는 더미 데이터의 파일 속성을 시스템 파일 속성으로 부여하는 파일속성 변경부;를 더 포함하는 것을 특징으로 하는 메모리의 데이터 관리시스템.
  9. 청구항 6에 있어서,
    상기 개별 파일 데이터 영역 내에 할당되는 파일 메타 데이터 영역에 대하여 액세스가 되지 않는 경우에는, 해당 개별 파일 데이터 영역 내에 저장된 실제 파일 데이터를 다른 메모리 영역에 복사하여 저장하고, 이 복사 저장된 실제 파일 데이터에 대한 파일 메타 데이터를 새로이 생성하여 해당 개별 데이터 영역 내에 저장하는 데이터 복구부;를 더 포함하는 것을 특징으로 하는 메모리의 데이터 관리시스템.
  10. 청구항 9에 있어서,
    상기 데이터 복구부는 상기 실제 파일 데이터의 다른 메모리 영역으로의 복사 및 저장을 해당하는 파일 데이터에 대해서만 실행할 수 있고, 해당하는 파일 데이터를 포함하는 공통 관리 그룹 내의 모든 파일 데이터에 대하여 실행할 수 있는 것을 특징으로 하는 메모리의 데이터 관리시스템.
KR1020140160270A 2014-11-17 2014-11-17 메모리의 데이터 관리방법 및 그 시스템 KR101544094B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140160270A KR101544094B1 (ko) 2014-11-17 2014-11-17 메모리의 데이터 관리방법 및 그 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140160270A KR101544094B1 (ko) 2014-11-17 2014-11-17 메모리의 데이터 관리방법 및 그 시스템

Publications (1)

Publication Number Publication Date
KR101544094B1 true KR101544094B1 (ko) 2015-08-12

Family

ID=54060928

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140160270A KR101544094B1 (ko) 2014-11-17 2014-11-17 메모리의 데이터 관리방법 및 그 시스템

Country Status (1)

Country Link
KR (1) KR101544094B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100932096B1 (ko) * 2009-07-15 2009-12-16 주식회사 셀픽 낸드 플래시 메모리의 데이터 저장방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100932096B1 (ko) * 2009-07-15 2009-12-16 주식회사 셀픽 낸드 플래시 메모리의 데이터 저장방법

Similar Documents

Publication Publication Date Title
US10642729B2 (en) Data storage device and operating method thereof wherein update to physical-to-logical mapping of destination block is restarted when closing active block
US9563375B2 (en) Method for storing metadata of log-structured file system for flash memory
KR100404555B1 (ko) 데이터 프로세서 제어형 데이터 저장 시스템, 동적 재동기화 방법, 및 컴퓨터 프로그램을 포함하는 컴퓨터 판독 가능한 기록 매체
KR20130066525A (ko) 데이터 이용가능성의 마운트타임 조정
US7971022B2 (en) Apparatus and method of processing data of non-volatile memory using transaction block
US10922276B2 (en) Online file system check
US10552335B2 (en) Method and electronic device for a mapping table in a solid-state memory
KR20180002259A (ko) 계층적 플래시 변환 레이어 구조 및 그 설계 방법
US11782828B2 (en) Efficiently purging non-active blocks in NVM regions using virtblock arrays
US10705954B2 (en) Efficiently purging non-active blocks in NVM regions while preserving large pages
CN109074308A (zh) 适应性的块转换表(btt)
CN110019083B (zh) 分布式文件系统的存储方法、装置、电子设备及存储介质
US11409451B2 (en) Systems, methods, and storage media for using the otherwise-unutilized storage space on a storage device
US20150302021A1 (en) Storage system
US20090112951A1 (en) Apparatus and method of managing files and memory device
US11176089B2 (en) Systems and methods for implementing dynamic file systems
KR101676175B1 (ko) 전원 손실 이후 데이터 손실을 방지하기 위한 메모리 저장 장치 및 방법
US9372700B2 (en) Network boot system
US7234039B1 (en) Method, system, and apparatus for determining the physical memory address of an allocated and locked memory buffer
US6671645B2 (en) Method for in-service RAM testing
KR101544094B1 (ko) 메모리의 데이터 관리방법 및 그 시스템
US11954328B2 (en) Storage management device, storage management method, and program
US11467777B1 (en) Method and system for storing data in portable storage devices
US10691591B2 (en) Efficiently purging non-active blocks in NVM regions using pointer elimination
KR101618999B1 (ko) 네트워크 부트 시스템

Legal Events

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

Payment date: 20180716

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190530

Year of fee payment: 5