KR100992079B1 - 플래시 메모리를 사용하는 스왑 저장장치에서의 스왑공간 관리방법 - Google Patents

플래시 메모리를 사용하는 스왑 저장장치에서의 스왑공간 관리방법 Download PDF

Info

Publication number
KR100992079B1
KR100992079B1 KR1020080125722A KR20080125722A KR100992079B1 KR 100992079 B1 KR100992079 B1 KR 100992079B1 KR 1020080125722 A KR1020080125722 A KR 1020080125722A KR 20080125722 A KR20080125722 A KR 20080125722A KR 100992079 B1 KR100992079 B1 KR 100992079B1
Authority
KR
South Korea
Prior art keywords
segment
segments
swap
computer system
blocks
Prior art date
Application number
KR1020080125722A
Other languages
English (en)
Other versions
KR20100067248A (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 KR1020080125722A priority Critical patent/KR100992079B1/ko
Publication of KR20100067248A publication Critical patent/KR20100067248A/ko
Application granted granted Critical
Publication of KR100992079B1 publication Critical patent/KR100992079B1/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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • 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
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • 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/0653Monitoring storage devices or systems
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

본 발명에 따른 스왑공간 관리방법은, 컴퓨터 시스템에서 플래시 메모리를 스왑 저장장치로 사용하는 경우에 스왑공간을 복수개의 세그먼트(100)로 구성하되, 세그먼트(100) 각각은 복수개의 블록(101)으로 구성하고, 블록(101) 각각은 복수개의 페이지 슬롯(102)으로 구성하여, 세그먼트(100) 단위로 상기 스왑공간을 관리하는 것을 특징으로 한다. 이 때 상기 컴퓨터 시스템의 종료 또는 기동 시에 상기 스왑공간의 세그먼트들(100) 중에서 일부를 선별적으로 선택하여 그 선택된 세그먼트(100)의 블록들(101)을 삭제하여 초기화하고, 이 때 초기화되지 않은 세그먼트(100)는 상기 컴퓨터 시스템의 기동 후 시스템의 사용 중에 백그라운드로 초기화되는 것을 특징으로 한다. 본 발명에 의하면, 시스템의 종료 또는 기동 시에 몇 개의 세그먼트만 선택하여 삭제하여 초기화하고, 선택되지 않은 나머지 세그먼트들을 시스템 사용 중에 백그라운드로 초기화하기 때문에 종래에 비하여 플래시 메모리의 종료 또는 기동 시간(start-up time)이 줄어들게 된다.
플래시 메모리, 스왑, 기동시간, 세그먼트, 블록, 페이지 슬롯

Description

플래시 메모리를 사용하는 스왑 저장장치에서의 스왑공간 관리방법{Method for managing swap space for flash memory based swap storage device}
본 발명은 스왑공간 관리방법에 관한 것으로서, 특히 플래시 메모리를 스왑공간으로 사용하는 컴퓨터 시스템에서 필요한 메모리 용량을 줄이고 시스템의 종료시간과 기동시간을 줄일 수 있는 스왑공간 관리방법에 관한 것이다.
컴퓨터 운영체제(OS)는 가상 메모리(virtual memory) 기능을 제공한다. 가상 메모리는 실제 물리 메모리의 크기에 상관없이 많은 프로세스를 수행할 수 있게 해주는 역할을 한다. 가상 메모리의 대표적인 구현 방법으로 요구 페이징(demand paging) 기법이 있다.
도 1은 요구 페이징 기법을 설명하기 위한 도면이다. 도 1에 도시된 바와 같이, 요구 페이징 기법에서 물리 메모리(10)는 고정된 크기의 페이지 프레임으로 구성되며, 프로그램이 수행될 때 필요한 코드와 데이터(11)를 비휘발성 저장장치(20) 의 사용자 파일 시스템 영역(user file system region, 28) 상에 있는 해당 프로그램 파일(21)에서 페이지 단위로 읽어 물리 메모리(10)의 페이지 프레임에 로드한다. 프로세스가 수행될 때 스택과 힙(12)은 비휘발성 저장장치(20)의 프로그램에 있지 않으며 필요할 때 물리 메모리(10)의 페이지 프레임을 할당하여 생성된다.
많은 프로세스들이 물리 메모리(10)의 페이지 프레임을 할당하여 사용하게 되면 물리 메모리(10)의 가용(free) 페이지 프레임이 부족하게 된다. 운영체제(OS)는 충분한 가용 페이지 프레임의 확보를 위해서 특정 페이지들을 선택하여 원래의 저장장치, 즉 비휘발성 저장장치(20)에 저장하고 물리 메모리(10)에서 페이지가 사용하던 페이지 프레임을 가용 페이지 프레임으로 바꾸는 페이지 재생(page reclamation) 작업을 수행한다.
프로세스 내용 중에서 스택과 힙(12)은 비휘발성 저장장치(20)에 원본이 없기 때문에 이러한 페이지들을 위해서 비휘발성 저장장치(20)의 일부 공간을 스왑공간(29)으로 만들어 임시로 저장한다. 페이지 재생 작업에서 선택되어 스왑공간(29)에 저장하는 것을 스왑 아웃(swap out)이라 하고, 스왑 아웃된 페이지가 나중에 필요하게 되어 스왑공간(29)에서 읽어져 물리 메모리(10)의 페이지 프레임에 로드되는 것을 스왑 인(swap in)이라 한다.
물리 메모리(10)로는 통상적으로 램(RAM)이 사용되고 비휘발성 저장장치(20)로는 하드디스크나 플래시 메모리가 사용된다. NAND 플래시 메모리는 여러 개의 삭제 블록(erase block)으로 이루어지며 하나의 삭제 블록은 고정된 개수의 페이지(page)로 이루어진다. 데이터의 입출력 단위는 페이지이다. 데이터를 쓰기 위해 서는 해당 블록이 삭제되어 초기화되어 있어야 한다. 따라서 데이터의 변경을 위해서는 해당 블록을 삭제한 후 새 데이터를 써야 한다. 플래시 메모리에서 삭제 연산은 약 2ms의 수행시간이 걸려 수 us가 걸리는 읽기와 쓰기 연산보다 매우 느리다.
도 2는 종래의 플래시 메모리의 구성을 설명하기 위한 도면이다. 도2를 참조하면, 플래시 메모리는 복수개의 블록(101)으로 구성되며, 블록(101)의 각각은 복수개의 페이지 슬롯(102)으로 구성된다. 읽기/쓰기 작업은 페이지 슬롯(102) 단위로 이루어지지만 삭제 작업은 블록(101) 단위로 이루어진다. 플래시 메모리는 삭제 연산이 선행되지 않으면 데이터를 저장할 수 없고 삭제 연산은 쓰기/읽기 연산에 비해 많은 시간이 소요된다.
컴퓨터 시스템을 기동시켰을 때에 스왑 공간을 사용하기 위해서는 이미 사용되었던 블록(101)들을 삭제하여 초기화해야 한다. 스왑공간의 블록(101)을 삭제하고 초기화하는 작업은 컴퓨터 시스템이 종료될 때나 다시 기동될 때 수행될 수 있다. 그런데 스왑공간의 모든 블록(101)들을 삭제하는 것은 오랜 시간이 걸린다. 예를 들어, 스왑공간이 플래시 메모리의 삭제 블록 10,000개로 구성되어 있다면 한 블록의 삭제 시간이 2ms이므로 전체 스왑공간의 삭제에는 약 20초가 걸린다.
또한 스왑공간의 상태를 관리하기 위해 상태 정보를 메모리에 저장할 때 블록(101) 단위로 관리가 이루어지면 메모리가 많이 필요하게 된다. 예로써 블록의 데이터 저장여부와 삭제 횟수와 같은 상태 정보를 위해서 블록(101)당 4바이트의 메모리가 사용된다면 스왑공간이 플래시 메모리의 삭제 블록 10,000개로 구성되어 있을 경우 40,000 바이트의 메모리가 필요하게 된다.
상술한 바와 같이 종래의 스왑공간 관리방법은 블록(101) 단위로 이루어지기 때문에 스왑공간 관리를 위해 메모리 용량이 크게 요구되고 또한 컴퓨터 시스템의 종료와 기동시간이 길어진다는 단점이 있다.
따라서 본 발명이 해결하고자 하는 과제는, 플래시 메모리를 스왑공간으로 사용하는 컴퓨터 시스템에서 필요한 메모리 용량을 줄이고 시스템의 종료와 기동시간을 줄일 수 있는 스왑공간 관리방법을 제공하는 데 있다.
상기 과제를 달성하기 위한 본 발명에 따른 스왑공간 관리방법은, 컴퓨터 시스템에서 플래시 메모리를 스왑 저장장치로 사용하는 경우에 스왑공간을 복수개의 세그먼트로 구성하되, 상기 세그먼트 각각은 복수개의 블록으로 구성하고, 상기 블록 각각은 복수개의 페이지 슬롯으로 구성하여, 상기 세그먼트 단위로 상기 스왑공간을 관리하는 것을 특징으로 한다.
이를 위해서 상기 세그먼트 각각은 특정영역을 세그먼트 헤더로 사용하고, 상기 세그먼트 헤더는 해당 세그먼트에 수행된 삭제연산 횟수, 세그먼트 사용상태와 같은 세그먼트 정보를 관리한다.
상기 컴퓨터 시스템의 종료 또는 기동 시에 상기 스왑공간의 세그먼트들 중 에서 일부를 선별적으로 선택하여 그 선택된 세그먼트의 블록들을 삭제하여 초기화하고, 이 때 초기화되지 않은 세그먼트는 상기 컴퓨터 시스템의 기동 후 시스템의 사용 중에 백그라운드로 초기화되는 것을 특징으로 한다.
상기 컴퓨터 시스템의 운영체제는 리눅스일 수 있다.
본 발명에 의하면, 세그먼트 단위로 스왑공간이 관리되기 때문에 블록단위로 스왑공간을 관리하는 종래의 경우에 비해 필요한 메모리 용량이 줄어들게 된다. 또한 시스템의 종료 또는 기동 시에 몇 개의 세그먼트만 선택하여 삭제하여 초기화하고, 선택되지 않은 나머지 세그먼트들을 시스템 사용 중에 백그라운드로 초기화하기 때문에 종래에 비하여 플래시 메모리의 종료 또는 기동 시간(start-up time)이 줄어들게 된다.
이하에서, 본 발명의 바람직한 실시예를 첨부한 도면들을 참조하여 상세히 설명한다. 아래의 실시예는 본 발명의 내용을 이해하기 위해 제시된 것일 뿐이며 당 분야에서 통상의 지식을 가진 자라면 본 발명의 기술적 사상 내에서 많은 변형이 가능할 것이다. 따라서 본 발명의 권리범위가 이러한 실시예에 한정되는 것으로 해석돼서는 안 된다.
도 3은 본 발명에 따른 스왑공간 관리방법을 설명하기 위한 도면이다. 도 3 에 도시된 바와 같이, 스왑 공간은 복수개의 세그먼트(100)로 구성되고, 각 세그먼트(100)는 복수개의 블록(101)으로 구성된다. 각 블록(101)은 복수개의 페이지 슬롯(102)으로 구성된다. 스왑공간의 관리는 세그먼트(100) 단위로 이루어지며 각 세그먼트(100)에 속하는 블록들(101)은 함께 삭제되어 초기화된다.
각 세그먼트(100)는 특정영역, 예컨대 세그먼트(100) 안에서 첫 번째 블록(101)의 첫 번째 페이지 슬롯(102)을 세그먼트 헤더(103)로 사용한다. 세그먼트 헤더(103)는 세그먼트(100)에 수행된 삭제연산 횟수, 세그먼트 사용상태(used, free)와 같은 세그먼트 정보를 관리한다. 세그먼트(100)를 삭제하면 세그먼트 헤더(103)에 세그먼트(100)의 사용상태가 '가용(free)'으로 기록되며 삭제 연산횟수는 1 증가된 값으로 기록된다. 스왑 아웃되어 세그먼트(100)에 페이지가 저장된다면 세그먼트(100)의 사용상태는 '사용중(used)'으로 기록된다.
이와 같이 세그먼트(100) 단위로 스왑공간을 관리하면 블록단위로 관리하는 종래의 방법에 비해 스왑공간의 관리를 위해 필요한 메모리 용량이 크게 줄어들게 된다.
시스템이 기동되면 스왑영역의 모든 세그먼트 헤더(103)를 스캔하여 읽어 세그먼트 정보를 구한다. 이 때 세그먼트 관리를 위한 데이터 구조체를 램(RAM)에 생성한다. 이 데이터 구조체는 상기 세그먼트 정보를 저장한다.
램(RAM) 상의 데이터 구조체가 완성되고 나면 스왑 시스템은 가용 세그먼트 개수를 고려하여 세그먼트(100)의 삭제가 필요한지를 결정한다. 가용 세그먼트의 개수가 부족하여 세그먼트의 삭제가 필요하면 삭제할 세그먼트들을 몇 개만 선택하 고 이렇게 선택된 세그먼트 내의 블록(101)들을 삭제하여 초기화한다. 이러한 초기화는 시스템의 기동 시가 아닌 종료 시에 이루어질 수도 있다. 시스템의 종료 또는 기동 시에 초기화가 안 된 세그먼트(100)는 시스템이 기동된 후 시스템 사용 중에 백그라운드로 초기화된다.
이렇게 시스템의 종료 또는 기동 시에 몇 개의 세그먼트만 선택하여 삭제하여 초기화하고, 선택되지 않은 나머지 세그먼트들을 시스템 사용 중에 백그라운드로 초기화하기 때문에 종래에 비하여 플래시 메모리의 종료 또는 기동 시간(start-up time)이 줄어들게 된다.
세그먼트 헤더(103)에는 세그먼트의 사용 상태값이 '가용(free)'과 '사용중(used)'으로 기록되지만, 램(RAM) 상의 데이터 구조체에 세그먼트 헤더(103)의 정보가 저장될 때에는 세그먼트의 사용 상태값이 '가용(free)', '구사용중(old-used), '신사용중(new-used)의 세 개의 값으로 구분되어 관리된다.
처음 시스템이 기동될 때에 램(RAM) 상의 데이터 구조체에는 세그먼트 헤더(103)에서 읽은 세그먼트의 사용 상태값이 가용(free)이면 가용(free)으로, 사용중(used)이면 구사용중(old-used)으로 관리한다. 그리고 나중에 스왑 시스템에서 세그먼트에 페이지를 스왑 아웃하는 경우에는 데이터 구조체의 해당 세그먼트의 사용 상태값을 신사용중(new-used)으로 관리한다.
본 발명에서 시스템의 종료 또는 기동 시에 초기화 되는 세그먼트(100)를 선택할 때 램(RAM) 상의 데이터 구조체의 해당 세그먼트의 사용 상태값이 구사용중(old-used)인 것이 있다면 우선적으로 선택한다.
상술한 바와 같이 본 발명에 의하면, 스왑공간이 복수개의 블록으로 구성되는 세그먼트 단위로 관리되므로 상태정보를 관리하기 위한 메모리 용량이 줄어들게 되고, 시스템의 종료 또는 기동 시에 스왑 아웃된 페이지를 저장했던 세그먼트 중에서 일부만 선별적으로 초기화하고 나머지는 시스템의 사용중에 백그라운드로 초기화하기 때문에 시스템의 종료 및 기동 시간이 단축되게 된다.
도 1은 요구 페이징 기법을 설명하기 위한 도면;
도 2는 종래의 플래시 메모리의 구성을 설명하기 위한 도면;
도 3은 본 발명에 따른 스왑공간 관리방법을 설명하기 위한 도면이다.
<도면의 주요부분에 대한 참조번호의 설명>
10: 물리 메모리 11: 코드와 데이터
12: 스택과 힙 20: 비휘발성 저장장치
21: 프로그램 파일 28: 사용자 파일 시스템 영역
29: 스왑 공간
100: 세그먼트 101: 블록
102: 페이지 슬롯 103: 세그먼트 헤더

Claims (7)

  1. 컴퓨터 시스템에서 플래시 메모리를 스왑 저장장치로 사용하는 경우에 스왑공간을 복수개의 세그먼트로 구성하되, 상기 세그먼트 각각은 복수개의 블록으로 구성하고, 상기 블록 각각은 복수개의 페이지 슬롯으로 구성하여, 상기 세그먼트 단위로 상기 스왑공간을 관리하고,
    상기 세그먼트 각각은 특정영역을 세그먼트 헤더로 사용하고, 상기 세그먼트 헤더는 해당 세그먼트에 수행된 삭제연산 횟수, 세그먼트 사용상태와 같은 세그먼트 정보를 관리하는 것을 특징으로 하는 스왑공간 관리방법.
  2. 삭제
  3. 컴퓨터 시스템에서 플래시 메모리를 스왑 저장장치로 사용하는 경우에 스왑공간을 복수개의 세그먼트로 구성하되, 상기 세그먼트 각각은 복수개의 블록으로 구성하고, 상기 블록 각각은 복수개의 페이지 슬롯으로 구성하여, 상기 컴퓨터 시스템의 종료 또는 기동 시에 상기 스왑공간의 세그먼트들 중에서 일부를 선별적으로 선택하여 그 선택된 세그먼트의 블록들을 삭제하여 초기화시키고,
    상기 컴퓨터 시스템의 종료 또는 기동 시에 초기화되지 않은 세그먼트는 상기 컴퓨터 시스템의 기동 후 시스템의 사용 중에 백그라운드로 초기화되도록 하고,
    상기 세그먼트 각각은 특정영역을 세그먼트 헤더로 사용하고, 상기 세그먼트 헤더에는 해당 세그먼트 사용상태값이 '가용(free)'과 '사용중(used)'으로 구분되어 기록되는 것을 특징으로 하는 스왑공간 관리방법.
  4. 삭제
  5. 삭제
  6. 제3항에 있어서, 컴퓨터 시스템이 기동되면 램(RAM) 상의 데이터 구조체에 상기 세그먼트 헤더에 기록되는 세그먼트 사용상태값이 가용(free)이면 가용(free)으로, 사용중(used)이면 구사용중(old-used)으로 기록하고, 컴퓨터 시스템의 기동 이후에 스왑 시스템에서 세그먼트에 페이지를 스왑 아웃하는 경우에는 상기 램(RAM) 상의 데이터 구조체에 해당 세그먼트의 사용 상태값을 신사용중(new-used)으로 기록함으로써, 램(RAM) 상의 데이터 구조체에는 세그먼트 사용상태값이'가용(free)', '구사용중(old-used), '신사용중(new-used)의 세 개의 값으로 구분하여 기록되도록 하고, 컴퓨터 시스템의 종료 또는 기동 시에 상기 램(RAM) 상의 데이터 구조체에 세그먼트 사용상태값이 구사용중(old-used)으로 기록된 세그먼트를 우선적으로 초기화하는 것을 특징으로 하는 스왑공간 관리방법.
  7. 제1항 또는 제3항에 있어서, 상기 컴퓨터 시스템의 운영체제가 리눅스인 것을 특징으로 하는 스왑공간 관리방법.
KR1020080125722A 2008-12-11 2008-12-11 플래시 메모리를 사용하는 스왑 저장장치에서의 스왑공간 관리방법 KR100992079B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080125722A KR100992079B1 (ko) 2008-12-11 2008-12-11 플래시 메모리를 사용하는 스왑 저장장치에서의 스왑공간 관리방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080125722A KR100992079B1 (ko) 2008-12-11 2008-12-11 플래시 메모리를 사용하는 스왑 저장장치에서의 스왑공간 관리방법

Publications (2)

Publication Number Publication Date
KR20100067248A KR20100067248A (ko) 2010-06-21
KR100992079B1 true KR100992079B1 (ko) 2010-11-04

Family

ID=42365961

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080125722A KR100992079B1 (ko) 2008-12-11 2008-12-11 플래시 메모리를 사용하는 스왑 저장장치에서의 스왑공간 관리방법

Country Status (1)

Country Link
KR (1) KR100992079B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120112965A (ko) 2011-04-04 2012-10-12 삼성전자주식회사 비휘발성 메모리 장치, 이를 스왑 메모리로 이용하는 데이터 처리 장치, 및 이를 이용한 스왑 방법
KR101924022B1 (ko) 2012-04-03 2019-02-22 삼성전자주식회사 메모리 시스템 및 그것의 페이지 교체 방법
KR102165460B1 (ko) * 2013-11-27 2020-10-14 삼성전자 주식회사 전자 장치 및 전자 장치의 메모리 관리 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
A New Linux Swap System for Flash Memory Storage Devices(2008.07.03. 고소향 외 4인. International Conference on Computational Sciences and Its Applications 2008.)

Also Published As

Publication number Publication date
KR20100067248A (ko) 2010-06-21

Similar Documents

Publication Publication Date Title
US8489850B2 (en) Memory apparatus and memory control method
JP5295778B2 (ja) フラッシュメモリ管理方法
KR101447188B1 (ko) 플래시 메모리에 최적화된 입출력 제어 방법 및 장치
US8060684B2 (en) Memory control apparatus, memory control method and program
US20070088666A1 (en) File recording apparatus
KR101674335B1 (ko) 메모리 장치 및 호스트 장치
JP2009199625A (ja) メモリカードおよびメモリカードの制御方法および不揮発性半導体メモリの制御方法
KR20060134170A (ko) 비휘발성 기억 시스템
CN109558335B (zh) 一种基于Nor Flash存储器的嵌入式系统的文件存储格式
CN101796495A (zh) 存储器设备和文件系统
KR100703680B1 (ko) 플래시 파일 시스템
KR101046083B1 (ko) 정보 기록 매체의 데이터 처리 장치 및 데이터 기록 방법
KR100992079B1 (ko) 플래시 메모리를 사용하는 스왑 저장장치에서의 스왑공간 관리방법
JP4130808B2 (ja) フォーマット方法
JP4988054B2 (ja) メモリシステム
CN111949212B (zh) 基于自定义开放通道ssd的文件系统及文件管理方法
CN111813708B (zh) 用于存储装置的块映射系统和方法
CN112433889B (zh) 基于ftl表的日志生成方法与装置
JP4888333B2 (ja) フラッシュディスク装置
KR100973496B1 (ko) 플래시 메모리 삭제 블록을 고려한 선반입 스왑 인 방법
JP7435470B2 (ja) 情報処理装置、情報処理方法および情報処理プログラム
KR100844406B1 (ko) Nor 플래시 메모리와 nand 플래시 메모리를 이용한하이브리드 파일 시스템 및 데이터 연산 방법
JP2003271465A (ja) 記録方式
JP2011199377A (ja) 記録装置
JP2011123560A (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: 20130820

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20141010

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20151002

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20181016

Year of fee payment: 9