KR101365704B1 - 플래시 기반 메모리를 관리하기 위한 방법 - Google Patents

플래시 기반 메모리를 관리하기 위한 방법 Download PDF

Info

Publication number
KR101365704B1
KR101365704B1 KR1020120033551A KR20120033551A KR101365704B1 KR 101365704 B1 KR101365704 B1 KR 101365704B1 KR 1020120033551 A KR1020120033551 A KR 1020120033551A KR 20120033551 A KR20120033551 A KR 20120033551A KR 101365704 B1 KR101365704 B1 KR 101365704B1
Authority
KR
South Korea
Prior art keywords
data
page
memory
writing
new data
Prior art date
Application number
KR1020120033551A
Other languages
English (en)
Other versions
KR20130111057A (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 KR1020120033551A priority Critical patent/KR101365704B1/ko
Publication of KR20130111057A publication Critical patent/KR20130111057A/ko
Application granted granted Critical
Publication of KR101365704B1 publication Critical patent/KR101365704B1/ko

Links

Images

Classifications

    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • 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/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

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)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

본 발명에 의한 플래시 기반 메모리를 관리하기 위한 방법이 개시된다.
본 발명에 따른 플래시 기반 메모리를 관리하기 위한 방법은 새로운 데이터를 특정 영역에 쓰고자 할 경우 상기 데이터가 쓰여지지 않는 주변 영역의 데이터를 백업 데이터 페이지에 백업하는 단계; 상태 저장 페이지를 업데이트하는 단계; 상기 특정 영역에 쓰고자 하는 새로운 데이터와 상기 백업된 데이터를 메모리에 쓰는 단계; 및 상기 상태 저장 페이지를 지우는 단계를 포함하는 것을 특징으로 한다.

Description

플래시 기반 메모리를 관리하기 위한 방법{METHOD FOR MANAGING FLASH BASED MEMORY}
본 발명은 플래시 기반 메모리에 관한 것으로, 특히, 새로운 데이터를 특정 영역에 쓰고자 할 경우 새로운 데이터에 영향을 받지 않는 영역의 데이터를 백업하되, 그 백업 데이터를 저장할 공간을 백업 데이터 페이지와 상태 저장 페이지로 구성하여 관리하거나, 트랜잭션 버퍼의 페이지 하나를 상태 표시 페이지로 할당할 수 있도록 하는 플래시 기반 메모리를 관리하기 위한 방법에 관한 것이다.
플래시 기반 메모리는 하드 디스크와 같은 다른 저장 매체나 DVD나 BD와 같은 광매체에 비해 상당히 좋은 장점이 있다. 예를 들어 플래시 메모리는 액세스해야 할 가동 부품이 필요 없고 따라서 가동 부품의 동작에 해를 끼치는 충격으로 인한 액세스 불능같은 일이 일어나지 않는다. 따라서 플래시 메모리는 거치른 상황(rough conditions)이 일어날 수 있는 모바일 애플리케이션에 대해서는 아주 적합한 저장 장치이다.
모바일 애플리케이션들 중 한 가지는 스틸(still)이나 비디오 프레임과 같은 이미지의 캡쳐링이다. 이때, 플래시 기반 메모리는 예컨대, 스틸 카메라와 디지털 비디오 카메라 등과 같은 사용자 장치에서 저장 장치로서 사용된다. 그리고 플래시 기반 메모리는 MP3 플레이어에도 있을 수 있다. 이와 더불어 플래시 기반 메모리는 전문 디지털 필름 카메라에서 저장 장치로서 점점 더 중요해지고 있다.
이러한 플래시 기반 메모리는 EEPRPM(Electrically Erasable Programmable Read-Only Memory) 기반 메모리와는 다르게 데이터를 쓰는데 걸리는 시간보다 데이터를 지우는데 들어가는 시간이 더 걸리고 바이트 단위로 쓰는 것이 가능한 반면 지우는 것은 페이지 단위만 가능하다. 이에 따라 플래시 기반 메모리는 데이터를 특정 영역에 쓰고자 할 경우 기존 데이터 유실을 막기 위한 백업 페이지가 필요하다.
따라서 이러한 종래 기술의 문제점을 해결하기 위한 것으로, 본 발명의 목적은 새로운 데이터를 특정 영역에 쓰고자 할 경우 새로운 데이터에 영향을 받지 않는 영역의 데이터를 백업하되, 그 백업 데이터를 저장할 공간을 백업 데이터 페이지와 상태 저장 페이지로 구성하여 관리할 수 있도록 하는 플래시 기반 메모리를 관리하기 위한 방법을 제공하는데 있다.
본 발명의 다른 목적은 트랜잭션 버퍼의 페이지 하나를 상태 표시 페이지로 할당할 수 있도록 하는 플래시 기반 메모리를 관리하기 위한 방법을 제공하는데 있다.
그러나 본 발명의 목적은 상기에 언급된 사항으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 목적들을 달성하기 위하여, 본 발명의 한 관점에 따른 플래시 기반 메모리를 관리하기 위한 방법은 새로운 데이터를 특정 영역에 쓰고자 할 경우 상기 데이터가 쓰여지지 않는 주변 영역의 데이터를 백업 데이터 페이지에 백업하는 단계; 상태 저장 페이지를 업데이트하는 단계; 상기 특정 영역에 쓰고자 하는 새로운 데이터와 상기 백업된 데이터를 메모리에 쓰는 단계; 및 상기 상태 저장 페이지를 지우는 단계를 포함할 수 있다.
바람직하게, 상기 상태 저장 페이지는 4바이트의 엔트리들로 구성되고, 상기 엔트리 각각은 2바이트의 상태 플래그와 2바이트의 주소 값을 포함하는 것을 특징으로 한다.
바람직하게, 상기 메모리에 쓰는 단계는 상기 특정 영역을 지우는 단계; 및 상기 특정 영역에 쓰고자 하는 새로운 데이터와 상기 백업된 데이터를 메모리에 쓰는 단계를 포함하는 것을 특징으로 한다.
바람직하게, 상기 특정 영역을 지우는 단계는, 상기 특정 영역을 포함하는 메모리를 페이지 단위로 지우는 것을 특징으로 한다.
바람직하게, 상기 새로운 데이터를 특정 영역에 한번 쓰기 위하여 필요한 데이터의 지우기와 쓰기 횟수는 다음의 수학식 2+4/n에 의해 구하고, 여기서, 상기 n은 한 페이지의 바이트(byte) 수를 나타내는 것을 특징으로 한다.
본 발명의 다른 한 관점에 따른 플래시 기반 메모리를 관리하기 위한 방법은 새로운 데이터를 메모리 영역에 쓰고자 할 경우 기존의 데이터를 데이터 저장 구역에 백업하는 단계; 상태 저장 구역에 상태 엔트리를 하나 추가하는 단계; 및 상기 새로운 데이터를 상기 메모리 영역에 쓰는 단계를 포함할 수 있다.
바람직하게, 상기 상태 저장 구역은 3바이트의 엔트리들로 구성되고, 상기 엔트리 각각은 2바이트의 페이지 주소와 1바이트의 플래그를 포함하는 것을 특징으로 한다.
바람직하게, 상기 백업하는 단계는 상기 새로운 데이터를 쓰고자 하는 기존의 데이터가 저장되어 있는 페이지를 데이터 저장 구역에 백업하는 것을 특징으로 한다.
또한, 본 발명에 따른 플래시 기반 메모리를 관리하기 위한 방법은 트랜잭션이 구간이 끝날 때 상기 상태 저장 구역에 설정된 값들을 지우는 단계를 더 포함할 수 있다.
바람직하게, 상기 새로운 데이터를 메모리 영역에 한번 쓰기 위하여 필요한 데이터의 지우기와 쓰기 횟수는 다음의 수학식 n×2+n×3/m+1에 의해 구하게 되고, 여기서, 상기 n은 트랜잭션 구간 내에서 데이터 쓰기 횟수를 나타내고 상기 m은 한 페이지의 크기를 나타내는 것을 특징으로 한다.
이를 통해, 본 발명은 새로운 데이터를 특정 영역에 쓰고자 할 경우 새로운 데이터에 영향을 받지 않는 영역의 데이터를 백업하되, 그 백업 데이터를 저장할 공간을 백업 데이터 페이지와 상태 저장 페이지로 구성하여 관리함으로써, 메모리를 효율적으로 관리할 수 있는 효과가 있다.
또한, 본 발명은 트랜잭션 버퍼의 페이지 하나를 상태 표시 페이지로 할당함으로써, 기존 방식에 비해 데이터를 지우고 쓰는 횟수를 줄일 수 있는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 플래시 기반 메모리에서 anti-tearing 기법을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 상태 저장 페이지의 구성을 나타내는 도면이다.
도 3은 본 발명의 일 실시예에 따른 플래시 기반 메모리에서 transaction buffer 기법을 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 따른 transaction buffer의 구조를 나타내는 도면이다.
이하에서는, 본 발명의 실시예에 따른 플래시 기반 메모리를 관리하기 위한 방법을 첨부한 도 1 내지 도 4를 참조하여 설명한다. 본 발명에 따른 동작 및 작용을 이해하는데 필요한 부분을 중심으로 상세히 설명한다.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 동일한 명칭의 구성 요소에 대하여 도면에 따라 다른 참조부호를 부여할 수도 있으며, 서로 다른 도면임에도 불구하고 동일한 참조부호를 부여할 수도 있다. 그러나, 이와 같은 경우라 하더라도 해당 구성 요소가 실시예에 따라 서로 다른 기능을 갖는다는 것을 의미하거나, 서로 다른 실시예에서 동일한 기능을 갖는다는 것을 의미하는 것은 아니며, 각각의 구성 요소의 기능은 해당 실시예에서의 각각의 구성요소에 대한 설명에 기초하여 판단하여야 할 것이다.
또한, 본 발명의 실시예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략할 수 있다.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
특히, 본 발명에서는 1)새로운 데이터를 특정 영역에 쓰고자 할 경우 새로운 데이터에 영향을 받지 않는 영역의 데이터를 백업하되, 그 백업 데이터를 저장할 공간을 백업 데이터 페이지와 상태 저장 페이지로 구성하여 관리하고, 2)트랜잭션 버퍼의 페이지 하나를 상태 표시 페이지로 할당할 수 있도록 하는 방안을 제안한다.
도 1은 본 발명의 일 실시예에 따른 플래시 기반 메모리에서 anti-tearing 기법을 설명하기 위한 도면이다.
도 1에 도시한 바와 같이, 본 발명에 따른 플래시 기반 메모리는 데이터를 특정 영역에 쓰고자 할 경우 영향을 받지 않는 영역 즉, 데이터가 쓰여지지 않는 주변 영역의 데이터를 백업 데이터 페이지에 백업하고 상태 저장 페이지를 업데이트할 수 있다.
이때, 플래시 기반 메모리는 데이터를 백업할 공간을 백업 데이터 페이지와 상태 저장 페이지로 구성하고 상태 저장 페이지는 상태 플래그와 주소 값 등을 포함한다. 이는 tearing이 일어났을 때 백업 데이터 페이지의 상태를 알아야 하고 tearing 복구 시 백업 데이터 페이지의 데이터를 복구할지의 여부를 판단할 필요가 있기 때문이다.
플래시 기반 메모리는 특정 영역을 포함하는 메모리를 페이지 단위로 지울 수 있다.
플래시 기반 메모리는 특정 영역에 쓰고자 하는 새로운 데이터와 영향을 받지 않는 영역의 백업된 데이터를 메모리에 쓰고 상태 저장 페이지를 지울 수 있다.
이러한 anti-tearing 기법은 불시에 전원 공급이 끊겼을 때 데이터의 연속성을 보장하게 되고 모든 스마트 카드(smart card)에 기본적으로 적용될 수 있다.
도 2는 본 발명의 일 실시예에 따른 상태 저장 페이지의 구성을 나타내는 도면이다.
도 2에 도시한 바와 같이, 본 발명에 따른 상태 저장 페이지는 4바이트의 엔트리들로 구성되는데, 2바이트의 상태 플래그(status flag)와 2바이트의 주소 값 등을 포함할 수 있다. 이때, 페이지의 크기가 n바이트일 때 총 n/4 개의 엔트리를 저장 가능할 수 있다.
이러한 anti-tearing 기법은 다음과 같은 몇 가지 특징들이 있다.
1) 상태 저장 페이지의 첫 번째 업데이트에서 1바이트의 상태 플래그와 2바이트의 주소 값을 쓰고 두 번째 업데이트에서 나머지 1바이트의 상태 플래그를 쓰게 된다.
2)상태 저장 페이지가 꽉 찬 경우 페이지를 지우고 공간을 확보할 수 있다. 즉, 지우기는 매번 일어나지 않고 페이지가 다 찬 경우에만 발생하게 된다. 그리고 쓰기에 들어가는 시간이 많지 않기 때문에 효율적으로 활용이 가능할 수 있게 된다.
3)상태 저장 페이지와 백업 데이터 페이지의 수명을 관리할 필요가 있다. 즉, 하나의 페이지를 매번 지우기(erase)나 쓰기(write)를 하게 되면 수명을 관리할 필요가 있다. 그래서 특정 횟수 지우기나 쓰기를 한 이후엔 페이지를 이동하여 다른 페이지를 이용하게 된다.
4)한번 데이터를 저장하기 위해서 필요한 지우기 횟수는 상태 저장 페이지를 지우는지의 여부에 따라 다를 수 있는데, 상태 저장 페이지를 지우지 않는 경우 지우기 횟수가 2번이 되고 상태 저장 페이지를 지우는 경우는 지우기 횟수가 3번이 된다.
이렇게 anti-tearing 기법은 평균적으로 다음의 수학식 2+4/n회의 지우기와 쓰기 횟수를 필요로 하게 된다. 여기서, n은 한 페이지의 바이트(byte) 수를 나타낼 수 있다.
도 3은 본 발명의 일 실시예에 따른 플래시 기반 메모리에서 transaction buffer 기법을 설명하기 위한 도면이다.
도 3에 도시한 바와 같이, 본 발명에 따른 플래시 기반 메모리는 새로운 데이터를 메모리 영역에 쓰고자 할 경우 기존의 데이터를 새로운 데이터로 대체하기 전에 기존의 데이터가 저장되어 있는 페이지를 트랜잭션 버퍼에 백업할 수 있다.
이때, 데이터 저장 구역에 기존의 데이터가 저장되고 상태 저장 구역에 상태 엔트리 하나가 추가된다. 데이터 저장 구역에는 페이지 단위로 데이터가 한번에 복사되고 상태 저장 구역에는 페이지 주소 값과 플래그를 쓸 수 있다.
플래시 기반 메모리는 쓰고자 하는 새로운 데이터를 메모리 영역에 쓸 수 있다. 트랜잭션이 구간이 끝날 때 commit이 일어나면 상태 저장 구역의 값들만 지워진다.
이때, 데이터의 복구가 필요한 시점에 데이터 저장 구역에 저장된 기존의 데이터가 있으면, 상태 저장 구역을 이용하여 해당 주소의 데이터를 복구할 수 있게 된다.
도 4는 본 발명의 일 실시예에 따른 transaction buffer의 구조를 나타내는 도면이다.
도 4에 도시한 바와 같이, 본 발명에 따른 대아토 저장 구역은 다수의 데이터 페이지로 구성될 수 있다. 그리고 상태 저장 구역은 3바이트의 상태 엔트리로 구성되는데, 2바이트의 페이지 주소와 1바이트의 플래그를 포함할 수 있다.
이러한 transaction buffer 기법은 다음과 같은 몇 가지 특징들이 있다.
1)상태 저장 영역 측면에서 트랜잭션 버퍼의 페이지 하나를 상태 표시 페이지로 할당할 수 있다. 즉, 데이터를 incremental하게 기록함으로써 지우기 횟수를 최소화할 수 있다.
2)데이터 저장 영역 측면에서 백업 데이터를 페이지(page) 단위로 관리할 수 있다. 즉, 백업해야 할 데이터와 그 주변 데이터까지 페이지 단위로 백업하게 된다.
이렇게 transaction buffer 기법은 평균적으로 다음의 수학식 n×2+n×3/m+1회의 지우기와 쓰기 횟수를 필요로 하게 된다. 여기서, n은 트랜잭션 구간 내에서 데이터 쓰기 횟수를 나타내고 m은 한 페이지의 크기를 나타낼 수 있다.
예컨대, 트랜잭션 구간 내에서 5번의 데이터 쓰기가 있고, 한 페이지의 크기가 32 바이트인 경우 본 발명의 transaction buffer 기법에 따른 지우기와 쓰기 횟수는 총 12회(5×2+5×3/32+1)가 된다.
기존의 방법은 n×3+1회의 지우기와 쓰기 횟수를 필요로 하기 때문에 기존 기법에서 지우기와 쓰기 횟수는 총 16회(5×3+1)가 된다. 따라서 본 발명의 transaction buffer 기법에 따른 지우기와 쓰기 횟수는 4회 적게 이루어질 수 있다.
한편, 이상에서 설명한 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합하거나 결합하여 동작하는 것으로 기재되어 있다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 또한, 이와 같은 컴퓨터 프로그램은 USB 메모리, CD 디스크, 플래쉬 메모리 등과 같은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 캐리어 웨이브 매체 등이 포함될 수 있다.
또한, 기술적이거나 과학적인 용어를 포함한 모든 용어들은, 상세한 설명에서 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥상의 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이상에서 설명한 실시예들은 그 일 예로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (10)

  1. 새로운 데이터를 특정 영역에 쓰고자 할 경우, 상기 새로운 데이터가 쓰여질 위치에 해당하는 페이지 내의 상기 데이터가 쓰여지지 않는 주변 영역의 데이터를 백업 데이터 페이지에 백업하는 단계;
    상기 백업 데이터 페이지의 상태를 저장하는 상태 저장 페이지를 백업된 상태로 업데이트하는 단계;
    상기 특정 영역에 쓰고자 하는 새로운 데이터와 상기 백업된 데이터를 메모리에 쓰는 단계; 및
    상기 상태 저장 페이지를 지우는 단계를 포함하여 구성되는 것을 특징으로 하는 플래시 기반 메모리를 관리하기 위한 방법.
  2. 제1 항에 있어서,
    상기 상태 저장 페이지는,
    4바이트의 엔트리들로 구성되고, 상기 엔트리 각각은 2바이트의 상태 플래그와 2바이트의 주소 값을 포함하는 것을 특징으로 하는 플래시 기반 메모리를 관리하기 위한 방법.
  3. 제1 항에 있어서,
    상기 메모리에 쓰는 단계는,
    상기 특정 영역을 지우는 단계; 및
    상기 특정 영역에 쓰고자 하는 새로운 데이터와 상기 백업된 데이터를 메모리에 쓰는 단계;
    를 포함하여 구성되는 것을 특징으로 하는 플래시 기반 메모리를 관리하기 위한 방법.
  4. 제3 항에 있어서,
    상기 특정 영역을 지우는 단계는, 상기 특정 영역을 포함하는 메모리를 페이지 단위로 지우는 것을 특징으로 하는 플래시 기반 메모리를 관리하기 위한 방법.
  5. 제1 항에 있어서,
    상기 새로운 데이터를 특정 영역에 한번 쓰기 위하여 필요한 데이터의 지우기와 쓰기 횟수는 다음의 수학식 2+4/n에 의해 구하고, 여기서, 상기 n은 한 페이지의 바이트(byte) 수를 나타내는 것을 특징으로 하는 플래시 기반 메모리를 관리하기 위한 방법.
  6. 새로운 데이터를 메모리 영역에 쓰고자 할 경우 상기 새로운 데이터가 쓰여질 위치에 해당하는 페이지를 데이터 저장 구역에 백업하는 단계;
    상기 데이터 저장구역의 상태를 저장하는 상태 저장 구역에, 상기 페이지의 백업여부를 나타내는 상태 엔트리를 하나 추가하는 단계; 및
    상기 새로운 데이터를 상기 메모리 영역에 쓰는 단계를 포함하여 구성되는 것을 특징으로 하는 플래시 기반 메모리를 관리하기 위한 방법.
  7. 제6 항에 있어서,
    상기 상태 저장 구역은,
    3바이트의 엔트리들로 구성되고, 상기 엔트리 각각은 2바이트의 페이지 주소와 1바이트의 플래그를 포함하는 것을 특징으로 하는 플래시 기반 메모리를 관리하기 위한 방법.
  8. 제6 항에 있어서,
    상기 백업하는 단계는,
    상기 새로운 데이터를 쓰고자 하는 기존의 데이터가 저장되어 있는 페이지를 데이터 저장 구역에 백업하는 것을 특징으로 하는 플래시 기반 메모리를 관리하기 위한 방법.
  9. 제6 항에 있어서,
    트랜잭션이 구간이 끝날 때 상기 상태 저장 구역에 설정된 값들을 지우는 단계;
    를 더 포함하는 것을 특징으로 하는 플래시 기반 메모리를 관리하기 위한 방법.
  10. 제6 항에 있어서,
    상기 새로운 데이터를 메모리 영역에 한번 쓰기 위하여 필요한 데이터의 지우기와 쓰기 횟수는 다음의 수학식 n×2+n×3/m+1에 의해 구하게 되고, 여기서, 상기 n은 트랜잭션 구간 내에서 데이터 쓰기 횟수를 나타내고 상기 m은 한 페이지의 크기를 나타내는 것을 특징으로 하는 플래시 기반 메모리를 관리하기 위한 방법.
KR1020120033551A 2012-03-30 2012-03-30 플래시 기반 메모리를 관리하기 위한 방법 KR101365704B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120033551A KR101365704B1 (ko) 2012-03-30 2012-03-30 플래시 기반 메모리를 관리하기 위한 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120033551A KR101365704B1 (ko) 2012-03-30 2012-03-30 플래시 기반 메모리를 관리하기 위한 방법

Publications (2)

Publication Number Publication Date
KR20130111057A KR20130111057A (ko) 2013-10-10
KR101365704B1 true KR101365704B1 (ko) 2014-02-24

Family

ID=49632769

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120033551A KR101365704B1 (ko) 2012-03-30 2012-03-30 플래시 기반 메모리를 관리하기 위한 방법

Country Status (1)

Country Link
KR (1) KR101365704B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106909512B (zh) * 2015-12-23 2021-08-13 研祥智能科技股份有限公司 存储设备的使用方法和系统
CN112130762B (zh) * 2020-09-07 2024-01-26 上海威固信息技术股份有限公司 一种固态硬盘数据存储与操作方法
CN114527934A (zh) * 2022-01-12 2022-05-24 珠海泰芯半导体有限公司 闪存的控制方法、装置、存储介质和电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100515890B1 (ko) 2005-03-07 2005-09-20 주식회사 퓨전소프트 효율적인 데이터베이스 복구방법
KR20080067334A (ko) * 2005-09-25 2008-07-18 네탁 테크놀로지 컴퍼니 리미티드 플래시 메모리 매체에서의 데이터 관리 방법
KR20100010355A (ko) * 2008-07-22 2010-02-01 삼성전자주식회사 플래시 메모리 장치 및 그것의 프로그램 및 소거 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100515890B1 (ko) 2005-03-07 2005-09-20 주식회사 퓨전소프트 효율적인 데이터베이스 복구방법
KR20080067334A (ko) * 2005-09-25 2008-07-18 네탁 테크놀로지 컴퍼니 리미티드 플래시 메모리 매체에서의 데이터 관리 방법
KR20100010355A (ko) * 2008-07-22 2010-02-01 삼성전자주식회사 플래시 메모리 장치 및 그것의 프로그램 및 소거 방법

Also Published As

Publication number Publication date
KR20130111057A (ko) 2013-10-10

Similar Documents

Publication Publication Date Title
US9645894B2 (en) Data storage device and flash memory control method
CN108038026B (zh) 一种基于闪存的数据快速恢复方法与系统
US9880770B2 (en) Supporting invalidation commands for non-volatile memory
CN109783017B (zh) 一种存储设备坏块的处理方法、装置及存储设备
US8423710B1 (en) Sequential writes to flash memory
US8909986B2 (en) Data storing method for solid state drive to preserve data integrity after power failure
US8321652B2 (en) Process and method for logical-to-physical address mapping using a volatile memory device in solid state disks
CN105718530B (zh) 文件存储系统及其文件存储控制方法
KR101686376B1 (ko) 메모리 시스템에서의 소거 관리
US8386713B2 (en) Memory apparatus, memory control method, and program
US9177656B2 (en) Data writing method, memory storage device and memory controlling circuit unit
TWI569139B (zh) 有效資料合併方法、記憶體控制器與記憶體儲存裝置
US20140129758A1 (en) Wear leveling in flash memory devices with trim commands
CN108897492B (zh) 一种数据写入方法和装置
US20090235015A1 (en) Memory system
KR20140035082A (ko) 메모리 관리방법
KR20100065786A (ko) 빠른 파워-오프를 위한 캐시 동기화 방법 및 시스템
US20090259796A1 (en) Data writing method for non-volatile memory and storage system and controller using the same
KR101365704B1 (ko) 플래시 기반 메모리를 관리하기 위한 방법
US10942811B2 (en) Data processing method for solid state drive
JP4966418B1 (ja) 情報処理装置及び書き込み制御方法
KR102107604B1 (ko) 비휘발성 메모리 장치, 및 비휘발성 메모리의 데이터 관리 방법
US20130326123A1 (en) Memory management device and method, and program
CN105095352A (zh) 应用于分布式系统的数据处理方法及装置
CN106021124B (zh) 一种数据的存储方法及存储系统

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

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20191231

Year of fee payment: 7