KR100750154B1 - 데이터를 플래쉬 메모리에 저장하는 방법 및 장치 - Google Patents

데이터를 플래쉬 메모리에 저장하는 방법 및 장치 Download PDF

Info

Publication number
KR100750154B1
KR100750154B1 KR1020060001461A KR20060001461A KR100750154B1 KR 100750154 B1 KR100750154 B1 KR 100750154B1 KR 1020060001461 A KR1020060001461 A KR 1020060001461A KR 20060001461 A KR20060001461 A KR 20060001461A KR 100750154 B1 KR100750154 B1 KR 100750154B1
Authority
KR
South Korea
Prior art keywords
memory
database
flash memory
block
ram
Prior art date
Application number
KR1020060001461A
Other languages
English (en)
Other versions
KR20070073502A (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 KR1020060001461A priority Critical patent/KR100750154B1/ko
Publication of KR20070073502A publication Critical patent/KR20070073502A/ko
Application granted granted Critical
Publication of KR100750154B1 publication Critical patent/KR100750154B1/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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • 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/0638Organizing or formatting or addressing of data
    • 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

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

Abstract

본 발명은 데이터를 플래쉬 메모리에 저장하는 방법 및 장치에 관한 것으로, 본 발명에 의한 데이터를 플래쉬 메모리에 저장하는 방법은, 램 상에 데이터 베이스 메모리 풀을 설정하는 단계, 복수개의 메인 루트 키 노드를 생성하는 단계, 복수개의 메인 루트 키 노드 각각은 데이터 베이스 메모리 풀에서 메모리 영역을 할당받는 단계, 및 할당받은 메모리 영역의 데이터 베이스 구조 형태로 램 상에 있는 데이터를 플래쉬 메모리에 저장하는 단계로 구성되어, CE 기기에서 별도의 파일 시스템 없이 데이터를 플래쉬 메모리에 저장하는 방법 및 장치를 제공할 수 있다.

Description

데이터를 플래쉬 메모리에 저장하는 방법 및 장치{Apparatus and method for storing data in flash memory}
도 1은 종래의 데이터를 플래쉬 메모리에 저장하는 장치에 대한 블럭도,
도 2는 본 발명의 바람직한 일 실시예에 따른 데이터를 플래쉬 메모리에 저장하는 장치에 대한 블럭도,
도 3은 도 2에서 램 상에서 데이터 베이스를 초기화하고 확장하는 것을 나타내는 도면, 및
도 4는 본 발명의 바람직한 일 실시예에 따른 데이터를 플래쉬 메모리에 저장하는 방법에 대한 흐름도이다.
본 발명은 데이터를 플래쉬 메모리에 저장하는 방법 및 장치에 관한 것으로, 더욱 상세하게는 CE 기기에서 파일 시스템 없이 데이터를 로 데이터 포맷(low data format)으로 플래쉬 메모리에 저장하는 방법 및 장치에 관한 것이다.
기억한 데이터가 시간이 경과해도 변하지 않는 분야에 사용하기 위하여 전원을 인가하지 않아도 데이터가 지워지지 않는 메모리가 필요한데 이를 비휘발성 메 모리(non-volatile memory)라고 한다. 비휘발성 메모리에는 읽기 전용 메모리인 롬(ROM, Read Only Memory)이 있고, 쓰기가 가능한 이피롬(EPROM, Erasable Programmable Read Only Memory), 이이피롬(EEPROM, Electrically Erasable Programmable Read Only Memory), 플래쉬 메모리(flash memory), 그리고 에프램(FRAM, Ferro-electric Random Access Memory) 등이 있다. 이러한 비휘발성 메모리는 이미 저장되어 있는 정보를 갱신할 경우에 삭제 사이클(erase cycle)을 필요로 한다.
이 중에서 플래쉬 메모리(flash memory)는 높은 안정성과 큰 용량, 상대적으로 싼 가격으로 인해 현재 내장 기기(embedded device)에 일반적으로 사용되고 있는 추세이다. 그러나 플래쉬 메모리(flash memory)는 램(RAM)과 같은 일반적인 메모리와는 다른 특성을 가지며 사용법과 동작에도 제한이 있다.
플래쉬 메모리는 비휘발성 메모리로써 전기적으로 데이터를 삭제하거나 다시 기록할 수 있으나 종래의 램(RAM)과는 달리 블럭 단위로 데이터 삭제가 이루어진다. 이와 같이 블럭 단위로 데이터를 삭제하거나 다시 기록할 수 있는바 사용자 프로그램과 탑재 파일 시스템의 요청에 따른 소정의 데이터 연산, 즉 읽기/쓰기 동작을 하는 플래쉬 변환 계층(Flash Translation Layer, FTL)이 필요하게 된다.
도 1은 종래의 데이터를 플래쉬 메모리에 저장하는 장치에 대한 블럭도이다. 도 1을 참조하면, 데이터를 플래쉬 메모리에 저장하는 장치는 데이터 베이스 어플리케이션(data base application)(10), 플래쉬 파일 시스템(flash file system)(20), 플래쉬 변환 계층(Flash Translation Layer)(30) 및 플래쉬 메모리 (flash memory)(40)로 구성된다.
데이터 베이스 어플리케이션(10)에서 플래쉬 메모리(40)에 저장하고자 하는 레지스트리 데이터 베이스는 각 레코드들이 파일 형태로 저장되며 이러한 파일들은 저장하고자 하는 플래쉬 메모리(40)에 맞는 플래쉬 파일 시스템(20)을 이용해서 유지 관리된다. 이렇게 유지 관리되는 데이터들은 플래쉬 변환 계층(30)을 통해 플래쉬 메모리(40)에 리매핑(remapping)되며 플래쉬 변환 계층(30)을 통해 저장되고 추출되어 진다.
상기와 같이 종래 파일 시스템을 이용하여 데이터를 플래쉬 메모리에 저장하는 방법 및 장치는 대용량이 아닌 데이터도 파일 형태로 유지 관리되어 이에 따른 비용이 크게 발생한다는 점과, 파일 시스템의 충돌시 중요한 정보에 대한 안전성 보장이 떨어트린다는 점, 그리고, 플래쉬 변환 계층을 사용하기 위해 여유 공간이 필요하고 복잡한 변환이 필요함으로써 속도가 떨어진다는 문제점이 있다.
본 발명이 이루고자 하는 기술적 과제는 CE 기기에서 메모리 블럭을 효과적으로 관리하고 메모리 구조를 일대일 형태로 플래쉬 메모리에 저장함으로써 파일 시스템 없이 데이터 베이스를 로 데이터 포맷(low data format)으로 플래쉬 메모리에 저장하는 방법 및 장치를 제공하는데 있다.
상기 기술적 과제를 해결하기 위한 본 발명의 데이터를 플래쉬 메모리에 저장하는 방법은, (a) 램 상에 데이터 베이스 메모리 풀을 설정하는 단계; (b) 복수 개의 메인 루트 키 노드를 생성하는 단계; (c) 복수개의 메인 루트 키 노드 각각은 상기 데이터 베이스 메모리 풀에서 메모리 영역을 할당받는 단계; 및 (d) 상기 할당받은 메모리 영역의 데이터 베이스 구조 형태로 램 상에 있는 데이터를 플래쉬 메모리에 저장하는 단계;를 포함하는 것을 특징으로 가진다.
상기 기술적 과제를 해결하기 위한 본 발명의 데이터를 플래쉬 메모리에 저장하는 장치는, 베이스 메모리 풀을 설정하고, 복수개의 메인 루트 키 노드를 생성하며, 복수개의 메인 루트 키 노드 각각은 상기 데이터 베이스 메모리 풀에서 메모리 영역을 할당받는 램; 및 베이스 블럭과 세컨드 블럭으로 번갈아서 동작하며 상기 램으로부터 할당받은 메모리 영역의 데이터 베이스 구조 형태로 램 상에 있는 데이터를 입력받아 저장하는 플래쉬 메모리;를 포함하는 것을 특징으로 가진다.
이하에서는, 도면을 참조하여 본 발명의 바람직한 일 실시예들에 대하여 상세히 살펴보기로 한다.
도 2는 본 발명의 바람직한 일 실시예에 따른 데이터를 플래쉬 메모리에 저장하는 장치에 대한 블럭도이다. 도 2를 참조하면, 데이터를 플래쉬 메모리에 저장하는 장치는 램(100)과 플래쉬 메모리(200)로 구성된다. 보다 구체적으로, 램(RAM)(100)은 데이터 베이스 메모리 블럭(110)과 시스템 메모리 블럭(120)으로 구성되고, 플래쉬 메모리(200)는 베이스(Base) 블럭(210), 세컨드(Second) 블럭(220) 및 부트(Boot) 블럭(230)으로 구성된다.
도 2의 데이터를 플래쉬 메모리에 저장하는 장치는 메모리 블럭을 효과적으로 관리하고 메모리 구조를 일대일 형태로 플래쉬 메모리에 저장함으로써 파일 시 스템 없이 데이터 베이스를 로 데이터 포맷(low data format)으로 플래쉬 메모리에 저장하고 이를 빠르게 추출할 수 있는 CE 기기 등에 적용할 수 있다.
램(100)은 전원을 끊으면 그 내용이 모두 지워지는 것으로, 데이터를 마음대로 읽거나 기록할 수 있는 장치이다.
램(100)의 데이터 베이스 메모리 블럭(110)은 데이터 베이스의 논리 구조를 형성하는 역할을 수행하고, 플래쉬 메모리(200)의 베이스 블럭(210)과 세컨드 블럭(220)은 데이터 베이스의 물리 구조를 형성하는 역할을 수행한다.
램(100)의 데이터 베이스 메모리 블럭(110)은 운영 체제(OS)가 알지 못하는 시스템 메모리 블럭(120)의 밖에 설정하여야 한다.
도 2에서 데이터를 플래쉬 메모리에 저장하기 위하여는 램(100)의 데이터 베이스 메모리 블럭(100)의 논리 구조를 업데이트 한 후에 플래쉬 메모리(200)의 베이스 블럭(210)과 세컨드 블럭(220)의 물리 구조를 업데이트하여야 한다.
플래쉬 메모리(200)의 베이스 블럭(210)과 세컨드 블럭(220)은 번갈아 가며 동작하게 되는데 이와 같이 번갈아 가며 동작함으로써 플래쉬 메모리 충돌을 방지할 수 있게 된다.
도 3은 도 2에서 램(100) 상에서 데이터 베이스를 초기화하고 확장하는 것을 나타내는 도면이다. 도 3을 참조하면, 램(100)은 시스템 데이터 베이스 메모리 블럭(110)과 시스템 메모리 블럭(120)으로 구성되어 있는 것을 볼 수 있다.
램(100)은 운영 체제(Operating System, OS)가 알지 못하는 데이터 베이스 메모리 블럭(110)에 사용자 설정 크기의 데이터 베이스 메모리 풀(300)을 설정한 다. 이와 같이 램(100)의 데이터 베이스 메모리 블럭(110)은 운영 체제(OS)가 알지 못하는 시스템 메모리 블럭(120)의 밖에 설정된다.
그리고, 램(100)은 세 개의 메인 루트 키 노드(Rootkey node)를 생성한다. 도 3에서는 제 1 메인 루트 키 노드(310), 제 2 메인 루트 키 노드(320) 및 제 3 메인 루트 키 노드(330)와 같이 세 개의 메인 루트 키 노드를 생성하는 것을 보여주고 있다. 이와 같이, 도 3에서는 세 개의 메인 루트 키 노드를 생성하는 것으로 설명하고 있으나 이에 한정되지 않고, 본 발명의 속하는 기술분야에서 통상의 지식을 가진 자에 있어서 다양한 변화가 가능하다.
제 1 메인 루트 키 노드(310), 제 2 메인 루트 키 노드(320) 및 제 3 메인 루트 키 노드(330) 각각은 데이터 베이스 메모리 풀(300)에서 메모리 영역을 할당받는다. 여기에서, 데이터 베이스 메모리 풀(300)은 최소 1바이트 단위이며 메모리 할당이 발생할 때마다 연속적인 1바이트 단위의 블럭들의 묶음을 크기만큼 할당하게 된다.
이하에서는, 데이터 베이스 메모리 풀(300)이 메모리 블럭을 할당하는 것과 이를 제거하는 과정에 대하여 살펴보기로 한다.
도 3에서와 같이 만들어진 데이터 베이스 메모리 풀(300)은 최소 1바이트 단위이며 메모리 할당이 발생할 때마다 연속적인 1바이트 단위의 블럭들의 묶음을 크기만큼 할당하게 된다. 할당된 메모리 블럭은 힙 데이터 구조(heap data structure)에 삽입되고, 힙(heap)을 재정렬하게 된다. 도 3에서 보는 바와 같이 힙을 재정렬함에 있어서 메모리힙 할당 크기가 큰 값이 앞으로 배치되도록 정렬하게 된다.
메모리 블럭 할당이 시작되는 순간 뮤텍스 또는 락(rock)을 통해 메모리 블럭을 갖고자 하는 태스크(task)를 보호한다. 충분히 큰 메모리 블럭이 없다면 에러 신호를 리턴하게 된다. 메모리 블럭 할당이 종료되면 뮤텍스 또는 락을 해제한다. 도 3에서와 같이 할당된 메모리 블럭의 크기가 인덱스가 되어 힙 어레이(heap array) 형태로 관리되며 항상 할당된 메모리 블럭 크기별로 정렬되어 빠른 검색이 가능하게 된다.
도 3에서와 같이 메모리 해제가 발생된 경우 뮤텍스 또는 락을 통해 메모리 블럭을 제거하고자 하는 태스크를 보호하고 할당되었던 메모리 블럭을 찾아 힙 어레이(heap array)에서 프리(free) 상태로 바꾸게 된다. 메모리 프리(free)가 끝나면 뮤텍스 또는 락을 해제한다.
또한, 데이터 베이스 메모리 풀(300)에서 메모리 블럭을 확장하는 과정에 대하여 살펴보면 다음과 같다.
도 3에서와 같이 메인 루트 키 노드의 하위 키 노드로 상기에서 살펴본 것과 같은 과정을 통해 키 노드의 확장 생성이 발생하는데, 여기에서 하위 키 노드를 메인 루트 키 노드의 차일드 키(child key) 노드라 한다.
도 3에서와 같이 만들어진 차일드 키 노드 아래로 실제 밸류(Value)들은 연결된 리스트(linked list) 구조를 통해 연결된다.
도 3에서, 제 1 메인 루트 키 노드, 제 2 메인 루트 키 노드 및 제 3 메인 루트 키 노드는 플래쉬 메모리에서의 충돌을 방지하기 위하여 데이터 베이스 메모 리 풀(300) 메모리 영역에서 시작 부분, 중간 부분 및 끝 부분에 저장되어 진다.
도 3과 같이 별도의 파일 시스템 없이도 램 상의 데이터 베이스의 구조체 형태를 가지고 데이터를 로 데이터 포맷으로 플래쉬 메모리에서도 유지 관리할 수 있게 된다.
도 3에서와 같이 저장되어 있는 플래쉬 메모리(200)의 베이스 블럭(210)과 세컨드 블럭(220)을 읽어 데이터를 추출하는 것에 대하여 살펴보면 다음과 같다.
램(100)의 데이터 베이스 메모리 블럭(110)은 베이스 블럭(210)과 세컨드 블럭(220)을 읽어 특정 버퍼에 저장하여 데이터의 존재 여부를 판단한다.
1. 베이스 블럭(210)과 세컨드 블럭(220)이 모두 클리어(clear)하다고 판단되면 최초 설치가 되며 램(100) 상에 메인 루트 키 노드를 생성하고 확장 대기를 하게 된다.
2. 베이스 블럭(210)이 클리어하고, 세컨드 블럭(220)이 데이터가 존재한다고 판단되면 세컨드 블럭(220)의 데이터로 추출하고 세 개의 메인 루트 키 노드의 충돌 플래그를 체크해서 세 개 모두 에러가 없다면 추출이 완료되었다고 판단한다.
3. 세컨드 블럭(220)이 클리어하고, 베이스 블럭(210)이 데이터가 존재한다고 판단되면 베이스 블럭(210)의 데이터로 추출하고 세 개의 메인 루트 키 노드의 충돌 플래그를 체크해서 세 개 모두 에러가 없다면 추출이 완료되었다고 판단한다.
4. 베이스 블럭(210)과 세컨드 블럭(220) 모두에 데이터가 존재한다고 판단되면 먼저 베이스 블럭(210)과 세컨드 블럭(220)의 메인 루트 키 노드의 충돌 플래그를 체크해서 세 개 모두 에러가 없다면 와 세컨드 세컨드 블럭(220)의 데이터로 추출하고 세 개의 메인 루트 키 노드의 충돌 플래그를 체크해서 세 개 모두 에러가 없다면 베이스 블럭(210)과 세컨드 블럭(220)의 카운트 플래그를 비교해서 최신 데이터를 검색하고 이를 추출하게 된다.
5. 상기 1 내지 4 이외의 경우 즉 베이스 블럭(210)과 세컨드 블럭(220)이 모두 충돌이 발생한 것으로 판단되는 경우에는 재설치를 하게 된다.
도 4는 본 발명의 바람직한 일 실시예에 따른 데이터를 플래쉬 메모리에 저장하는 방법에 대한 흐름도이다. 도 4를 참조하면, 먼저, 램 상에 데이터 베이스 메모리 풀을 설정한다(S400).
다음으로, 복수개의 메인 루트 키 노드를 생성한다(S410). 여기에서, 복수개의 메인 루트 키 노드는 3개로 구성한다.
다음으로, 복수개의 메인 루트 키 노드 각각은 상기 데이터 베이스 메모리 풀에서 메모리 영역을 할당받는다(S420). 여기에서, 복수개의 메인 루트 키 노드는 3개로 구성하되, 각각의 메인 루트 키 노드는 상기 데이터 베이스 메모리 풀에서 시작 부분, 중간 부분 및 끝 부분의 메모리 영역을 할당받는다.
다음으로, 복수개의 메인 루트 키 노드 사이의 하위 키 노드로 데이터 베이스 메모리 풀에서 메모리 영역을 할당받아 확장한다(S430).
다음으로, 단계S420에서 할당받은 데이터 베이스 구조 형태로 데이터를 플래쉬 메모리에 저장한다(S440).
도 4에서 미설명된 부분은 도 2와 도 3을 참조하기로 한다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD_ROM, 자기테이프, 플로피디스크 및 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드로 저장되고 실행될 수 있다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
본 발명에 따르면, CE 기기에서 메모리 블럭을 효과적으로 관리하고 메모리 구조를 일대일 형태로 플래쉬 메모리에 저장함으로써 파일 시스템 없이 데이터 베이스를 로 데이터 포맷(low data format)으로 플래쉬 메모리에 저장하고 이를 빠르게 추출할 수 있는 방법 및 장치를 제공할 수 있다.

Claims (5)

  1. (a) 램 상에 데이터 베이스 메모리 풀을 설정하는 단계;
    (b) 복수개의 메인 루트 키 노드를 생성하는 단계;
    (c) 복수개의 메인 루트 키 노드 각각은 상기 데이터 베이스 메모리 풀에서 메모리 영역을 할당받는 단계; 및
    (d) 상기 할당받은 메모리 영역의 데이터 베이스 구조 형태로 램 상에 있는 데이터를 플래쉬 메모리에 저장하는 단계;를 포함하는 것을 특징으로 하는 데이터를 플래쉬 메모리에 저장하는 방법.
  2. 삭제
  3. 제 1 항에 있어서, 상기 (c)단계와 상기 (d)단계 사이에,
    상기 복수개의 메인 루트 키 노드 사이의 하위 키 노드는 상기 데이터 베이스 메모리 풀에서 메모리 영역을 할당받아 확장하는 단계;를 더 포함하는 것을 특징으로 하는 데이터를 플래쉬 메모리에 저장하는 방법.
  4. 베이스 메모리 풀을 설정하고, 복수개의 메인 루트 키 노드를 생성하며, 복수개의 메인 루트 키 노드 각각은 상기 데이터 베이스 메모리 풀에서 메모리 영역을 할당받는 램; 및
    베이스 블럭과 세컨드 블럭으로 번갈아서 동작하며 상기 램으로부터 할당받은 메모리 영역의 데이터 베이스 구조 형태로 램 상에 있는 데이터를 입력받아 저장하는 플래쉬 메모리;를 포함하는 것을 특징으로 하는 데이터를 플래쉬 메모리에 저장하는 장치.
  5. 제 4 항에 있어서,
    상기 램의 복수개의 메인 루트 키 노드 사이의 하위 키 노드는 상기 데이터 베이스 메모리 풀에서 메모리 영역을 할당받아 확장하는 것을 더 포함하는 것을 특징으로 하는 데이터를 플래쉬 메모리에 저장하는 장치.
KR1020060001461A 2006-01-05 2006-01-05 데이터를 플래쉬 메모리에 저장하는 방법 및 장치 KR100750154B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060001461A KR100750154B1 (ko) 2006-01-05 2006-01-05 데이터를 플래쉬 메모리에 저장하는 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060001461A KR100750154B1 (ko) 2006-01-05 2006-01-05 데이터를 플래쉬 메모리에 저장하는 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20070073502A KR20070073502A (ko) 2007-07-10
KR100750154B1 true KR100750154B1 (ko) 2007-08-21

Family

ID=38508093

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060001461A KR100750154B1 (ko) 2006-01-05 2006-01-05 데이터를 플래쉬 메모리에 저장하는 방법 및 장치

Country Status (1)

Country Link
KR (1) KR100750154B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101155566B1 (ko) * 2008-12-01 2012-06-19 한국전자통신연구원 공간 데이터의 페이지 매핑 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030056501A (ko) * 2001-12-28 2003-07-04 주식회사 하이닉스반도체 플래쉬 메모리 컨트롤러
KR20060068804A (ko) * 2004-12-17 2006-06-21 삼성전자주식회사 플래쉬 메모리 데이터 저장장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030056501A (ko) * 2001-12-28 2003-07-04 주식회사 하이닉스반도체 플래쉬 메모리 컨트롤러
KR20060068804A (ko) * 2004-12-17 2006-06-21 삼성전자주식회사 플래쉬 메모리 데이터 저장장치

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
한국공개공보 1020060068804
한국공개공보 20030056501

Also Published As

Publication number Publication date
KR20070073502A (ko) 2007-07-10

Similar Documents

Publication Publication Date Title
KR100389867B1 (ko) 플래시 메모리 관리방법
US7594062B2 (en) Method for changing data of a data block in a flash memory having a mapping area, a data area and an alternative area
US7734862B2 (en) Block management for mass storage
US7702844B2 (en) Address mapping method and mapping information managing method for flash memory, and flash memory using the same
KR101397353B1 (ko) Key-value 스토어를 포함하는 메모리 시스템
US6567307B1 (en) Block management for mass storage
JP4931810B2 (ja) 最適化されたシーケンシャルなクラスタの管理のためのfat分析
JP4188744B2 (ja) メモリカード
KR20210057835A (ko) 압축한 키-값 저장소 트리 데이터 블록 유출
US20100077135A1 (en) Memory wear leveling method, system and device
JP2010026933A (ja) メモリシステム、ホスト装置
US20100088482A1 (en) Process and Method for Erase Strategy in Solid State Disks
CN113785275A (zh) Flash数据掉电保护方法及设备
JP2003228513A (ja) メモリ制御方法および装置
CN102521143B (zh) 一种堆数据处理方法及装置
CN111104345B (zh) 一种ssd上电恢复方法、系统及主机
KR20010037155A (ko) 플래시 파일 시스템
KR100954603B1 (ko) 파일 시스템의 로그 파일 및 상기 파일 시스템의 오류 복구방법
KR100987320B1 (ko) 고속 파일 복구가 가능한 fat 파일시스템을 사용한데이터 처리장치 및 데이터 처리방법
KR100750154B1 (ko) 데이터를 플래쉬 메모리에 저장하는 방법 및 장치
Ross Modeling the performance of algorithms on flash memory devices
US20090024810A1 (en) Memory area management method
KR100977709B1 (ko) 플래시메모리 저장장치 및 그에 따른 관리 방법
WO2007100197A1 (en) Flash memory storing system for database system and method therefor
JP5520880B2 (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
FPAY Annual fee payment

Payment date: 20120730

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20130730

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140730

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150730

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160728

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170728

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee