KR101023013B1 - 낸드 플래시 메모리 기반 파일시스템에서 데이터 저장방법 - Google Patents

낸드 플래시 메모리 기반 파일시스템에서 데이터 저장방법 Download PDF

Info

Publication number
KR101023013B1
KR101023013B1 KR1020090023593A KR20090023593A KR101023013B1 KR 101023013 B1 KR101023013 B1 KR 101023013B1 KR 1020090023593 A KR1020090023593 A KR 1020090023593A KR 20090023593 A KR20090023593 A KR 20090023593A KR 101023013 B1 KR101023013 B1 KR 101023013B1
Authority
KR
South Korea
Prior art keywords
flash memory
nand flash
data
stored
data storage
Prior art date
Application number
KR1020090023593A
Other languages
English (en)
Other versions
KR20100104889A (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 KR1020090023593A priority Critical patent/KR101023013B1/ko
Publication of KR20100104889A publication Critical patent/KR20100104889A/ko
Application granted granted Critical
Publication of KR101023013B1 publication Critical patent/KR101023013B1/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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • 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]

Abstract

파일 소거 시간 및 단편화 발생에 따른 파일 저장 시간 지연을 최소화하기 위한 낸드 플래시 메모리 기반 파일시스템에서 데이터 저장방법이 개시된다.
개시된 낸드 플래시 메모리 기반 파일시스템에서 데이터 저장방법은, 사용자 애플리케이션 시작되고, 낸드 플래시 메모리에 저장할 데이터가 발생한 경우, 상기 사용자 애플리케이션부에서 저장 데이터를 상기 데이터 저장 데몬으로 전송하는 제1단계와; 상기 데이터 저장 데몬에서 상기 저장 데이터를 임시 저장한 후, 상기 낸드 플래시 메모리의 저장 가능한 시점에 상기 낸드 플래시 메모리에 상기 임시 저장한 저장 데이터를 재저장하는 제2단계를 구비한다.
낸드 플래시 메모리 파일시스템, 데이터 저장, 버퍼 큐, 데이터 저장 데몬

Description

낸드 플래시 메모리 기반 파일시스템에서 데이터 저장방법{Method for data saving of file system based nand flash memory}
본 발명은 낸드 플래시 메모리(Nand Flash Memory) 기반 파일시스템에서 데이터 저장에 관한 것으로서, 더욱 상세하게는 파일 소거 시간 및 단편화 발생에 따른 파일 저장 시간 지연을 최소화하기 위한 낸드 플래시 메모리 기반 파일시스템에서 데이터 저장방법에 관한 것이다.
일반적으로 플래시 메모리는 플로팅 게이트 트랜지스터인 EEPROM (Electrically Eraseable and Programmable Read Only Memory)로 이루어져, 전기적으로 쓰기/지우기가 가능한 비휘발성 소자이며, NOR 플래시 메모리와 NAND 플래시 메모리를 포함하여 이루어진다.
그리고 상기 NAND 플래시 메모리는 셀이 직렬로 배치된 데이터 저장형 플래시 메모리로서, 읽기/쓰기 단위가 비교적 큰 페이지 단위이며, 용량이 크기 때문에 NOR 플래시 메모리보다 대용량화가 용이하고, 이에 따라 데이터 저장장치에 주로 이용된다.
또한, 상기 NAND 플래시 메모리를 이용한 파일 시스템은 플래시 메모리를 하나의 로그(Log)로 정의하고, 이를 처음부터 끝까지 로깅하는 방식의 로그-구조(Log-Structure) 파일 시스템인데, 이러한 구조는 플래시 메모리의 새로운 영역에 데이터 쓰기를 하는 방식이므로, 쓰기 연산이 수행되기 전에 지우기 연산의 제약을 피할 수 있도록 이루어진다.
그러나 상기 NAND 플래시 메모리를 이용한 파일 시스템은 시스템 부팅 시, 디렉토리와 파일을 포함하는 일체의 구조를 가지는 시스템 구조를 파악하기 위하여 플래시 메모리를 스캔하는데, 이는 부팅 시간을 지연시키며, 스캔으로 파악된 파일 시스템의 구조는 시스템의 런 타임 시 메모리에서 관리되므로 메모리의 소모율이 높았고, 기존 디렉터리 구조를 적용할 경우, 부가적인 낸드 플래시 메모리의 쓰기 연산이 증가하므로 전체 낸드 플래시 메모리의 성능을 저하하는 등의 문제점이 있었다.
또한, 종래의 낸드 플래시 메모리 파일시스템은 직접 저장 방식이므로, 데이터의 저장률이 낮은 상태(데이터가 적게 저장된 상태)에서는 새로운 데이터의 저장시 크게 문제가 되지 않으나, 데이터의 저장률이 높은 상태(데이터가 많이 저장된 상태)에서는 저장할 공간을 찾는 데 메모리 탐색 시간이 많이 소요되어, 전체적인 데이터 저장 시간이 길어지는 단점이 있다.
상기와 같은 단점은 낸드 플래시 메모리 파일시스템을 버스단말기와 같은 교통카드 시스템에 적용할 경우 더욱 두드러진다. 즉, 버스에 탑승할 승객이 많은 상태에서 교통카드를 이용할 경우 낸드 플래시 메모리에 많은 양의 데이터가 저장된 경우에 는, 상대적으로 저장할 공간을 찾는 데 시간이 소요되어 버스 탑승 예정인 승객에게 데이터 저장 지연에 따른 불편함을 야기하게 된다.
이에 본 발명은 상기와 같은 종래 낸드 플래시 메모리 파일시스템 사용시 발생하는 제반 문제점을 해결하기 위해서 제안된 것으로서,
본 발명이 해결하고자 하는 과제는, 파일 소거 시간 및 단편화 발생에 따른 파일 저장 시간 지연을 최소화하기 위한 낸드 플래시 메모리 기반 파일시스템에서 데이터 저장방법을 제공하는 데 있다.
본 발명이 해결하고자 하는 다른 과제는, 낸드 플래시 메모리에 데이터 저장시 내부 메모리(SDRAM)에 특정 크기 만큼의 버퍼 큐(queue)를 생성해, 저장할 파일을 상기 버퍼 큐에 임시 저장함으로써, 파일 저장 시간의 지연을 최소화하도록 한 낸드 플래시 메모리 기반 파일시스템에서 데이터 저장방법을 제공하는 데 있다.
본 발명이 해결하고자 하는 또 다른 과제는, 낸드 플래시 메모리 기반 파일시스템의 내부에서 프로세스가 특정 시간에 백 라운드를 돌면서 버퍼 큐에 저장된 파일을 읽어 낸드 플래시 메모리에 저장하도록 함으로써, 프로세스의 사용 효율도 향상시킬 수 있도록 한 낸드 플래시 메모리 기반 파일시스템에서 데이터 저장방법을 제공하는 데 있다.
상기와 같은 과제들을 해결하기 위한 본 발명에 따른 "낸드 플래시 메모리 기반 파일시스템에서 데이터 저장방법"은,
사용자 애플리케이션 시작되고, 낸드 플래시 메모리에 저장할 데이터가 발생한 경우, 저장 데이터를 저장 데몬으로 전송하는 제1단계와;
상기 저장 데몬에서 상기 저장 데이터를 임시 저장한 후, 상기 낸드 플래시 메모리의 저장 가능한 시점에 상기 낸드 플래시 메모리에 상기 임시 저장한 저장 데이터를 재저장하는 제2단계를 포함한다.
상기 제2 단계는,
상기 저장 데몬에서 상기 저장 데이터를 버퍼 큐에 임시 저장하는 것을 특징으로 한다.
상기 제2 단계는,
상기 저장 데몬에서 내부 프로세서가 임의의 작업을 수행하지 않는 시점에서 상기 임시 저장한 저장 데이터를 상기 낸드 플래시 메모리에 저장하는 것을 특징으로 한다.
상기 제2 단계는,
상기 버퍼 큐의 크기 만큼 사용자의 지연 시간을 줄이는 것을 특징으로 한다.
본 발명에 따르면, 파일 소거 시간 및 단편화 발생에 따른 파일 저장 시간 지연을 최소화할 수 있는 장점이 있다.
또한, 낸드 플래시 메모리에 데이터 저장시 내부 메모리(SDRAM)에 특정 크기 만큼의 버퍼 큐(queue)를 생성해, 저장할 파일을 상기 버퍼 큐에 임시 저장함으로써, 낸드 플래시 메모리에 파일을 저장하는 시간의 지연을 최소화할 수 있는 장점이 있다.
또한, 낸드 플래시 메모리 기반 파일시스템의 내부에서 프로세스가 특정 시간에 백 라운드를 돌면서 버퍼 큐에 저장된 파일을 읽어 낸드 플래시 메모리에 저장하도록 함으로써, 프로세스의 사용 효율도 향상시킬 수 있는 장점이 있다.
이하 본 발명의 바람직한 실시 예를 첨부한 도면에 의거 상세히 설명하면 다음과 같다. 본 발명을 설명하기에 앞서 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그에 대한 상세한 설명은 생략한다.
도 1은 본 발명에 따른 낸드 플래시 메모리 파일시스템의 개략 구성도로서, 사용자 애플리케이션부(110), 데이터 저장 데몬(120), 낸드 플래시 메모리(130)로 구성된다.
사용자 애플리케이션부(110)는 사용자가 요청하는 서비스를 실행해주는 부분으로서, 즉, 교통카드 단말기에 적용된 경우에는 사용자가 제시한 교통카드의 정보 를 판독하여 저장할 데이터를 추출하는 등의 기능을 수행하는 응용부분을 의미한다.
데이터 저장 데몬(120)은 상기 사용자 애플리케이션부(110)에서 발생한 저장 데이터를 낸드 플래시 메모리(130)에 저장하는 기능을 수행하는 것으로서, 저장할 데이터를 수신하기 위한 데이터 수신 모듈(121), 상기 데이터 수신 모듈(121)에서 수신한 데이터를 버퍼(122)에 임시 저장하거나 낸드 플래시 메모리(130)에 저장하는 데이터 저장모듈(123)을 포함한다.
도 2는 본 발명에 따른 낸드 플래시 메모리 파일시스템의 데이터 저장방법을 보인 흐름도로서, 사용자 애플리케이션 시작되고, 낸드 플래시 메모리에 저장할 데이터가 발생한 경우, 저장 데이터를 저장 데몬으로 전송하는 제1단계(S101 ~ S103)와; 상기 저장 데몬에서 상기 저장 데이터를 임시 저장한 후, 상기 낸드 플래시 메모리의 저장 가능한 시점에 상기 낸드 플래시 메모리에 상기 임시 저장한 저장 데이터를 재저장하는 제2단계(S105 ~ S115)로 이루어진다.
이와 같이 이루어지는 본 발명에 따른 낸드 플래시 메모리 파일시스템의 데이터 저장방법을 구체적으로 설명하면 다음과 같다.
먼저, 본 발명에 대한 낸드 플래시 메모리 파일시스템이 교통카드 시스템에 적용되었다고 가정을 하고, 사용자가 소유한 교통카드를 낸드 플래시 메모리 파일시스템이 장착된 기기에 근접을 시키게 되면 사용자 애플리케이션부(110)가 동작을 한다.
사용자 애플리케이션부(110)는 사용자가 제시한 교통카드의 정보를 판독하게 되고, 이렇게 판독한 사용자의 정보는 낸드 플래시 메모리(130)에 저장하게 되는 데, 이때 기존에는 상기 판독한 사용자의 교통카드 정보를 낸드 플래시 메모리(130)에 직접 저장하는 방식이기 때문에, 상기 낸드 플래시 메모리(130)의 데이터 저장률에 따라 지연 시간이 달라진다. 여기서 낸드 플래시 메모리(130)의 데이터 저장률이 높은 경우에는 상대적으로 낸드 플래시 메모리 탐색 시간이 길어지게 되는 데, 이때 교통카드를 이용하는 사용자(승객)가 많아 연속적으로 데이터를 저장해야 하는 경우에는 파일 저장 시간 지연이 길어져 사용자가 대기를 많이 해야하는 문제점을 발생한다.
이러한 종래 낸드 플래시 메모리 파일 시스템에서 발생하는 제반 문제점을 해결하기 위해, 본 발명에서는 데이터 저장 데몬(120)에서 낸드 플래시 메모리(130)에 저장할 데이터가 발생한 경우, 상기 저장할 데이터를 데이터 저장 데몬(120)으로 전송한다(S101 ~ S103).
데이터 저장 데몬(120)의 데이터 저장모듈(123)은 데이터 수신 모듈(121)을 통해 사용자 애플리케이션부(110)에서 발생한 데이터를 수신하게 되고, 버퍼(122)를 제어하여 상기 수신 데이터를 버퍼(122)의 큐에 임시 저장하게 된다(S105). 여기서 버퍼는 내부 SDRAM을 의미하며, SDRAM은 고속 저장 매체이므로 사용자는 파일 저장의 시간 지연을 느끼지 못하게 된다. 또한, 상기 버퍼 큐의 크기는 임의로 설정 가능하나, 특정 크기로 미리 설정해놓고 사용하는 것이 바람직하다. 물론, 버퍼 큐의 데이터는 선입선출 방식에 의해 처리된다.
즉, 사용자 파일을 낸드 플래시 메모리(130)에 저장하지는 않았지만, 고속으 로 내부 SDRAM에 임시 저장해 놓음으로써, 사용자가 파일 저장을 위해 대기해야하는 시간을 최소화하게 된다.
이후 데이터 저장 모듈(123)은 버퍼 큐를 검색하여 상기 버퍼 큐에 낸드 플래시 메모리에 저장할 데이터가 존재하는지를 검색하게 된다(S107 ~ S109).
이 검색 결과 버퍼 큐에 저장할 데이터가 존재하게 되면, 낸드 플래시 메모리에 데이터 저장이 가능한지를 확인한다(S111). 여기서 낸드 플래시 메모리에 데이터를 저장할 수 있는지를 확인하는 방법은 다양하나, 본 발명에서는 내부 프로세서의 효율을 향상시키고, 부하 부담을 최소화하기 위한 방법으로서 애플리케이션이 수행되지 않는 상황, 즉, 상기 내부 프로세서가 동작을 하지 않는 상황을 낸드 플래시 메모리에 데이터를 저장할 수 있는 것으로 가정한다.
상기 확인 결과 낸드 플래시 메모리에 데이터를 저장할 수 있는 상황이 되면, 데이터 저장 모듈(123)은 상기 버퍼(122)에 저장한 데이터를 인출하여 상기 낸드 플래시 메모리(130)에 저장하게 된다(S115). 이때 버퍼 큐에 저장된 데이터의 인출은 선입선출 방식을 사용하는 것이 바람직하다.
본 발명은 상술한 특정의 바람직한 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형실시가 가능한 것은 물론이고, 그와 같은 변경은 청구범위 기재의 범위 내에 있게 된다.
도 1은 본 발명이 적용되는 낸드 플래시 메모리 기반 파일시스템의 개략 구성도.
도 2는 본 발명에 따른 낸드 플래시 메모리 기반 파일시스템에서 데이터 저장방법을 보인 흐름도.
<도면의 주요 부분에 대한 부호의 설명>
110… 사용자 애플리케이션부
120… 데이터 저장 데몬
121… 데이터 수신모듈
122… 버퍼
123… 데이터 저장모듈
130… 낸드 플래시 메모리

Claims (4)

  1. 삭제
  2. 사용자 애플리케이션부와 데이터 저장 데몬 및 낸드 플래시 메모리를 포함하는 낸드 플래시 메모리 기반 파일시스템에서 데이터를 저장하는 방법에 있어서,
    사용자 애플리케이션 시작되고, 낸드 플래시 메모리에 저장할 데이터가 발생한 경우, 상기 사용자 애플리케이션부에서 저장 데이터를 상기 데이터 저장 데몬으로 전송하는 제1단계와;
    상기 데이터 저장 데몬에서 상기 저장 데이터를 임시 저장한 후, 상기 낸드 플래시 메모리의 저장 가능한 시점에 상기 낸드 플래시 메모리에 상기 임시 저장한 저장 데이터를 재저장하는 제2단계를 포함하되,
    상기 제2 단계는,
    상기 데이터 저장 데몬에서 상기 저장 데이터를 버퍼 큐에 임시 저장하며,
    상기 데이터 저장 데몬에서 내부 프로세서가 임의의 작업을 수행하지 않는 시점에서 상기 임시 저장한 저장 데이터를 상기 낸드 플래시 메모리에 저장하는 것을 특징으로 하는 낸드 플래시 메모리 기반 파일시스템에서 데이터 저장방법.
  3. 삭제
  4. 제2항에 있어서, 상기 제2단계는,
    상기 저장 데이터를 임시 저장하기 위해 미리 일정 크기의 버퍼 큐를 생성하는 것을 특징으로 하는 낸드 플래시 메모리 기반 파일시스템에서 데이터 저장방법.
KR1020090023593A 2009-03-19 2009-03-19 낸드 플래시 메모리 기반 파일시스템에서 데이터 저장방법 KR101023013B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090023593A KR101023013B1 (ko) 2009-03-19 2009-03-19 낸드 플래시 메모리 기반 파일시스템에서 데이터 저장방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090023593A KR101023013B1 (ko) 2009-03-19 2009-03-19 낸드 플래시 메모리 기반 파일시스템에서 데이터 저장방법

Publications (2)

Publication Number Publication Date
KR20100104889A KR20100104889A (ko) 2010-09-29
KR101023013B1 true KR101023013B1 (ko) 2011-03-24

Family

ID=43009091

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090023593A KR101023013B1 (ko) 2009-03-19 2009-03-19 낸드 플래시 메모리 기반 파일시스템에서 데이터 저장방법

Country Status (1)

Country Link
KR (1) KR101023013B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016195242A1 (ko) * 2015-05-29 2016-12-08 주식회사 이에프텍 비휘발성 메모리 시스템

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050093494A (ko) * 2004-03-19 2005-09-23 삼성전자주식회사 낸드 플래시 메모리를 사용하는 메모리 카드 및 그것의동작 방법
JP2006201878A (ja) * 2005-01-18 2006-08-03 Matsushita Electric Ind Co Ltd マイクロコンピュータ
KR20060120850A (ko) * 2005-05-23 2006-11-28 삼성전자주식회사 파일 시스템에서 플래시 메모리 성능 향상을 위한 개선된데이터 기록 장치 및 데이터 기록 방법
KR20080030756A (ko) * 2006-10-02 2008-04-07 삼성전자주식회사 플래시 메모리 파일 시스템을 효율적으로 관리하기 위한장치 드라이버 및 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050093494A (ko) * 2004-03-19 2005-09-23 삼성전자주식회사 낸드 플래시 메모리를 사용하는 메모리 카드 및 그것의동작 방법
JP2006201878A (ja) * 2005-01-18 2006-08-03 Matsushita Electric Ind Co Ltd マイクロコンピュータ
KR20060120850A (ko) * 2005-05-23 2006-11-28 삼성전자주식회사 파일 시스템에서 플래시 메모리 성능 향상을 위한 개선된데이터 기록 장치 및 데이터 기록 방법
KR20080030756A (ko) * 2006-10-02 2008-04-07 삼성전자주식회사 플래시 메모리 파일 시스템을 효율적으로 관리하기 위한장치 드라이버 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016195242A1 (ko) * 2015-05-29 2016-12-08 주식회사 이에프텍 비휘발성 메모리 시스템

Also Published As

Publication number Publication date
KR20100104889A (ko) 2010-09-29

Similar Documents

Publication Publication Date Title
CN107168647B (zh) Flash数据读写方法及系统
US11188259B2 (en) Storage device and method of operating the storage device
US7191308B2 (en) Memory device with preread data management
US8560761B2 (en) Memory resource management for a flash aware kernel
US8738840B2 (en) Operating system based DRAM/FLASH management scheme
KR101056560B1 (ko) 고체 상태 디스크 시스템에서 버퍼 캐시의 프로그래밍 방법및 장치
KR100610647B1 (ko) 직접실행제어 기능과 스토리지 기능이 복합된 대용량저장장치
JP4738536B1 (ja) 不揮発性メモリのコントローラ及び不揮発性メモリの制御方法
US8285940B2 (en) Method and apparatus for high speed cache flushing in a non-volatile memory
TWI590064B (zh) 記憶體裝置、用以控制記憶體裝置中操作的方法、電腦可讀儲存媒體、及主機裝置
US8171242B2 (en) Systems and methods for scheduling a memory command for execution based on a history of previously executed memory commands
US8458393B2 (en) Flash memory and operating system kernel
US8745311B2 (en) Flash memory usability enhancements in main memory application
US20120030413A1 (en) Memory management device, information processing device, and memory management method
WO2013171792A1 (en) Storage control apparatus and storage control method
US20200110555A1 (en) Write control method, associated data storage device and controller thereof
US10025706B2 (en) Control device, storage device, and storage control method
KR101023013B1 (ko) 낸드 플래시 메모리 기반 파일시스템에서 데이터 저장방법
CN103092771A (zh) 固态储存装置及其高速缓存的控制方法
TW202038100A (zh) 用於快閃記憶體的寫入管理機制
KR20110070656A (ko) 플래시 메모리의 데이터 처리 방법 및 장치
US20140281157A1 (en) Memory system, memory controller and method
CN113760195B (zh) 一种基于嵌入式的fatfs文件系统
CN102339243A (zh) 内存存取控制方法
KR100582403B1 (ko) 고속 부팅이 가능한 임베디드 시스템 및 그 방법

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160310

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee