KR20060120850A - Data writing apparatus and method for improved flash memory's performance in file system - Google Patents

Data writing apparatus and method for improved flash memory's performance in file system Download PDF

Info

Publication number
KR20060120850A
KR20060120850A KR1020050043056A KR20050043056A KR20060120850A KR 20060120850 A KR20060120850 A KR 20060120850A KR 1020050043056 A KR1020050043056 A KR 1020050043056A KR 20050043056 A KR20050043056 A KR 20050043056A KR 20060120850 A KR20060120850 A KR 20060120850A
Authority
KR
South Korea
Prior art keywords
data
file system
flash memory
cache memory
request
Prior art date
Application number
KR1020050043056A
Other languages
Korean (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 KR1020050043056A priority Critical patent/KR20060120850A/en
Publication of KR20060120850A publication Critical patent/KR20060120850A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1847File system types specifically adapted to static storage, e.g. adapted to flash memory or SSD
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • 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

An improved data writing device for improving performance of a flash memory in a file system and a data writing method thereof are provided to increase data writing speed without decreasing use efficiency of the flash memory in a mobile terminal equipped with the file system using the NAND flash memory while keeping data integrity of the flash memory. A RAM(218) includes a preset cash memory area. The flash memory(222) stores stored data of the file system. A controller(200) stores the data to the preset cash memory area in case that a data writing request for recording the data to the file system is received from an application. The controller moves the data stored in the cash memory area to the flash memory in the case that one of a read or seek request for the specific data is detected from the application using the file system.

Description

파일 시스템에서 플래시 메모리 성능 향상을 위한 개선된 데이터 기록 장치 및 데이터 기록 방법{DATA WRITING APPARATUS AND METHOD FOR IMPROVED FLASH MEMORY'S PERFORMANCE IN FILE SYSTEM}DATA WRITING APPARATUS AND METHOD FOR IMPROVED FLASH MEMORY'S PERFORMANCE IN FILE SYSTEM} for Improved Flash Memory Performance in File Systems

도 1은 통상적인 NAND 플래시 메모리의 구성 예시도,1 is an exemplary configuration diagram of a conventional NAND flash memory.

도 2는 본 발명의 실시 예에 따른 이동통신 단말기의 블록 구성도,2 is a block diagram of a mobile communication terminal according to an embodiment of the present invention;

도 3은 본 발명의 실시 예에 따른 이동통신 단말기에서 플래시 메모리에 데이터가 저장되는 동작의 과정을 보이는 흐름도,3 is a flowchart illustrating an operation of storing data in a flash memory in a mobile communication terminal according to an embodiment of the present invention;

도 4는 본 발명의 실시 예에 따른 이동통신 단말기에서 Read 요청 신호 또는 Seek 요청 신호에 의해 플래시 메모리에 데이터가 저장되는 동작의 흐름도.4 is a flowchart illustrating an operation in which data is stored in a flash memory by a read request signal or a seek request signal in a mobile communication terminal according to an exemplary embodiment of the present invention.

본 발명은 이동통신 단말기의 파일 시스템(File System)에 관한 것으로, 특히 NAND 플래시 메모리(Flash memory)에 데이터를 저장하는 방법에 대한 것이다. The present invention relates to a file system of a mobile communication terminal, and more particularly, to a method of storing data in a NAND flash memory.

통상적으로 이동통신 단말기에서 보관용 데이터를 저장하기 위한 파일 시스 템은 NAND 플래시 메모리를 사용한다. 이에 따라 상기 이동통신 단말기에서 특정 애플리케이션(Application)에 의해 데이터가 생성되거나, 프로그래머(Programmer)에 의해 데이터가 작성되는 경우, 상기 데이터들이 NAND 플래시 메모리에 기록(write)되는 속도는, 기본적인 NAND 플래시 메모리의 특성에 따라 결정된다. 그리고 이러한 데이터의 기록 속도는, NAND 플래시 메모리에 저장된 데이터를 독출(read)하는 속도와 더불어, NAND 플래시 메모리의 성능을 결정짓는 중요한 요소 중 하나이다. 그리고 상기 NAND 플래시 메모리의 특성은 NAND 플래시 메모리의 구조적인 특징에 의해 비롯된다. In general, a file system for storing archival data in a mobile communication terminal uses a NAND flash memory. Accordingly, when data is generated by a specific application in the mobile communication terminal or data is written by a programmer, the speed at which the data is written to the NAND flash memory is a basic NAND flash memory. It depends on the characteristics of the. In addition to the speed of reading data stored in the NAND flash memory, the data writing speed is one of important factors that determine the performance of the NAND flash memory. And the characteristics of the NAND flash memory is due to the structural characteristics of the NAND flash memory.

도 1은 이러한 일반적인 NAND 플래시 메모리의 구조의 예를 보이고 있는 도면이다. 도 1을 참조하여 살펴보면, NAND 플래시 메모리는 블록이 모여서 전체 메모리 시스템을 구성한다. 그리고 하나의 블록은 일반적으로 32개의 페이지(Page)로 구성된다. 그리고 하나의 페이지는 일반적으로 528바이트(Byte) 단위의 크기를 갖는다. 이 페이지는 다시 크게 세 영역으로 나뉜다. 이를 A, B, C 영역이라고 하는데, A 영역은 256바이트, B 영역은 256바이트, 그리고 C 영역이 16바이트의 크기를 갖는다. 그리고 이에 따라 NAND 플래시 메모리는 페이지 단위로 데이터를 독출하거나 기록할 수 있다. 1 shows an example of the structure of such a general NAND flash memory. Referring to FIG. 1, in NAND flash memory, blocks form a whole memory system. And one block is generally composed of 32 pages. In addition, one page generally has a size of 528 bytes. This page is further divided into three areas. This is called an area A, B, or C. The area A has 256 bytes, the area B has 256 bytes, and the area C has 16 bytes. Accordingly, the NAND flash memory may read or write data in units of pages.

이에 따라서 NAND 플래시 메모리는, 데이터를 기록할 경우, 하나의 데이터를 기록할 때마다 상기 데이터가 기록될 페이지를 로드(Load)하는 과정을 거쳐야만 한다. 그리고 이러한 페이지 로드에 소요되는 시간은 NAND 플래시 메모리에 데이터를 기록하는 시간의 대부분을 소요한다. 이에 따라 데이터의 크기에 상관없이 데이터 를 기록하는 횟수에 비례하여 전체적인 데이터 기록 시간은 증가하게 된다. 일 예를 들어 50바이트 크기의 데이터 10개와, 500바이트 크기의 데이터 1개를 상기 NAND 플래시 메모리에 기록할 경우를 살펴보면, 우선 상기 50 바이트 크기의 데이터 10개를 기록하는 경우에는, 상기 파일 시스템의 제어부는 NAND 플래시 메모리로부터 상기 데이터들이 저장될 페이지를 10회 로드하여야만 한다. 그러나 만약 상기 500바이트 크기의 데이터 1개를 기록하는 경우에는, 상기 파일 시스템의 제어부는 상기 저장될 페이지를 단 한 번만 로드하면 된다. 이에 따라 상기 50바이트들이 10회 저장될 경우에 비해 상기 데이터를 상기 NAND 플래시 메모리에 저장하는 속도는 거의 10배 가까이 증가하게 된다. Accordingly, when writing data, the NAND flash memory must go through a process of loading a page on which the data is to be written every time one data is written. This page load takes much of the time to write data to NAND flash memory. Accordingly, the overall data recording time increases in proportion to the number of times data is recorded regardless of the size of the data. For example, a case in which 10 pieces of data of 50 bytes and 1 piece of data of 500 bytes are written to the NAND flash memory will be described. The controller must load a page for storing the data 10 times from the NAND flash memory. However, if one piece of 500-byte data is recorded, the controller of the file system only needs to load the page to be stored once. As a result, the speed of storing the data in the NAND flash memory is increased by almost 10 times compared with the case where the 50 bytes are stored ten times.

그러나 이를 위해 1회에 저장되는 데이터의 크기를 크게 한다면, 하나의 페이지 안에 낭비되는 메모리 공간이 증가하게 되므로, NAND 플래시 메모리에 저장되는 데이터의 크기가 클수록, NAND 플래시 메모리의 이용 효율성은 감소하게 된다. 따라서 현재 NAND 플래시 메모리에 데이터를 기록하는 방법은, 데이터의 기록 속도를 증가시킬 경우 NAND 플래시 메모리의 이용 효율성이 감소되고, 또한 만약 NAND 플래시 메모리의 이용 효율성을 증가시킬 경우 상기 데이터의 기록 속도가 감소되는 문제점이 있었다. However, for this purpose, if the size of data stored at one time is increased, the memory space wasted in one page increases, so the larger the size of data stored in the NAND flash memory, the more efficient the use of the NAND flash memory is. . Therefore, in the current method of writing data to the NAND flash memory, increasing the writing speed of the data decreases the utilization efficiency of the NAND flash memory, and if increasing the utilization efficiency of the NAND flash memory, the writing speed of the data decreases. There was a problem.

이러한 문제점을 해결하기 위하여 현재 등장하는 방법으로는, 상기 NAND 플래시 메모리에, 일정 사이즈 이상이 될 때까지 또는 일정 시간이 될 때까지 데이터 의 기록을 지연하는 방법이 있다. 그러나 이러한 경우 상기 NAND 플래시 메모리에 저장되는 데이터와 상기 지연되는 데이터 사이에 데이터 무결성을 유지하게 못하게 되는 문제점이 발생할 수도 있다. 즉, 데이터가 기록이 지연되어 NAND 플래시 메모리에 저장되지 않음에 따라, 애플리케이션이 데이터를 기록하였음에도 불구하고, 상기 기록한 데이터를 독출할 수 없는 경우가 발생할 수 있다는 문제점이 있다. In order to solve such a problem, there is a method currently presenting a method of delaying the writing of data in the NAND flash memory until a predetermined size or more or a predetermined time. In this case, however, a problem may occur in that data integrity cannot be maintained between the data stored in the NAND flash memory and the delayed data. That is, as data is not stored in the NAND flash memory due to a delay in writing, there is a problem that a case in which the written data cannot be read even though an application has written data.

그러므로 본 발명의 목적은, NAND 플래시 메모리를 사용하는 파일 시스템을 구비한 이동통신 단말기에서, 플래시 메모리의 데이터 무결성을 유지하면서, 상기 플래시 메모리의 이용 효율성을 감소시키지 않고, 데이터의 기록 속도를 증가시킬 수 있도록 하는 장치 및 방법을 제공함에 있다. Therefore, an object of the present invention is to increase the writing speed of data in a mobile communication terminal having a file system using a NAND flash memory while maintaining the data integrity of the flash memory, without reducing the utilization efficiency of the flash memory. The present invention provides an apparatus and a method for enabling the same.

상술한 목적을 달성하기 위한 본 발명의 데이터 기록 장치는, 기 설정된 캐쉬 메모리 영역을 구비한 램(RAM : Random Access Memory)과, 상기 파일 시스템의 보관용 데이터를 저장하기 위한 플래시 메모리(Flash Memory)와, 특정 애플리케이션(Application)으로부터 상기 파일 시스템에 데이터를 기록하기 위한 데이터 기록 요청이 있는 경우 상기 기 설정된 캐쉬 메모리 영역에 상기 데이터를 저장하며, 상기 파일 시스템을 사용하는 적어도 하나의 애플리케이션으로부터 특정 데이터의 독출(read) 요구나 검색(Seek) 요구 중 어느 하나가 감지되는 경우 상기 캐쉬 메모리 영역에 저장된 데이터를 상기 플래시 메모리로 이동시키도록 제어하는 제어부를 구비한다. A data recording apparatus of the present invention for achieving the above object is a random access memory (RAM) having a predetermined cache memory area, and a flash memory for storing data for storage of the file system And storing the data in the preset cache memory area when there is a data recording request for recording data from the specific application to the file system, and storing the data from at least one application using the file system. The controller may be configured to control data stored in the cache memory area to be moved to the flash memory when one of a read request and a seek request is detected.

또한 데이터 기록 방법은, 상기 제어부가, 적어도 하나의 애플리케이션(Application)으로부터 상기 파일 시스템의 사용 요청이 있는 경우, 상기 램의 일정 영역을 상기 캐쉬 메모리 영역으로 설정하는 캐쉬 메모리 설정 단계와, 상기 제어부가, 상기 애플리케이션 중 데이터의 기록을 요청한 애플리케이션이 있는지를 체크하는 데이터 기록 요청 체크 단계와, 상기 제어부가, 상기 데이터의 기록 요청이 있는 경우, 상기 기록이 요청된 데이터를 상기 캐쉬 메모리에 저장하는 캐쉬 메모리 저장 단계와, 상기 제어부가, 상기 적어도 하나의 애플리케이션 중 어느 하나로부터 특정 데이터의 검색(seek) 요청이나 독출(read) 요청 중 어느 하나를 감지한 경우, 상기 캐쉬 메모리 영역에 저장된 데이터를 상기 플래시 메모리로 이동시키는 데이터 이동 단계를 구비한다. The data recording method may further include: a cache memory setting step of setting, by the controller, a predetermined area of the RAM as the cache memory area when a request for use of the file system is received from at least one application; A data record request check step of checking whether there is an application that has requested the recording of data among the applications; and a cache memory configured to store, in the cache memory, the data for which the recording is requested, when the controller requests a recording of the data. And storing the data stored in the cache memory area when the controller detects any one of a seek request or a read request of specific data from any one of the at least one application. And a data moving step of moving to.

이하 본 발명의 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 도면들 중 동일한 구성 요소들은 가능한 한 어느 곳에서든지 동일한 부호들로 나타내고 있음에 유의하여야 한다. 하기 설명 및 첨부 도면에서 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략한다. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. It should be noted that the same elements in the figures are denoted by the same reference numerals wherever possible. In the following description and the annexed drawings, detailed descriptions of well-known functions and configurations that may unnecessarily obscure the subject matter of the present invention will be omitted.

먼저 본 발명의 완전한 이해를 돕기 위해, 본 발명의 기본 원리를 설명하면, 본 발명에서는, 일반적으로 NAND 플래시 메모리보다 접근 속도가 훨씬 빠른 램(RAM: Random Access Memory)의 일부 영역을 상기 NAND 플래시 메모리(이하 플래시 메모리라 칭한다)에 데이터를 기록하기 위한 캐쉬 메모리로 사용할 수 있도록 한다. 즉, 상기 램의 일정 부분을 상기 캐쉬 메모리로 설정하여 두고, 상기 데이터의 기록 요청이 있을 경우, 이를 램에 설정된 캐쉬 메모리에 기록하도록 한다. 그리고 기 설정된 조건에 따라 상기 캐쉬 메모리에 저장된 데이터를 NAND 플래시 메모리에 기록한다. 여기서 상기 기 설정된 조건이라는 것은, 상기 캐시 메모리에 저장된 데이터의 크기가 상기 플래시 메모리의 데이터 기록 단위에 따른 데이터 크기 이상이 되는 경우, 또는 데이터 무결성을 위해 적어도 하나 이상의 애플리케이션으로부터의 데이터 독출(Read) 요구이거나 검색(seek) 요구가 감지된 경우일 수 있다. First of all, in order to facilitate a thorough understanding of the present invention, the basic principles of the present invention will be described. In the present invention, a region of random access memory (RAM), which is generally much faster than a NAND flash memory, is moved to the NAND flash memory. It can be used as a cache memory for recording data (hereinafter referred to as flash memory). That is, a predetermined portion of the RAM is set as the cache memory, and when a write request of the data is requested, the RAM is written to the cache memory set in the RAM. The data stored in the cache memory is written to the NAND flash memory according to a preset condition. Herein, the preset condition means that a data read request from at least one application is required when the size of data stored in the cache memory is equal to or larger than the data size according to the data recording unit of the flash memory, or for data integrity. Or if a seek request is detected.

도 2는 이러한 본 발명의 실시 예에 따른 파일 시스템을 구비한 이동통신 단말기의 예를 보이고 있는 도면이다. 이 경우 상기 본 발명의 실시 예에 따른 파일 시스템은 상기 이동통신 단말기의 제어부가 제어하게 된다. 즉, 상기 본 발명의 실시 예에 따른 파일 시스템의 제어부는 상기 이동통신 단말기의 제어부가 된다. 이러한 도 2를 참조하여 살펴보면, 본 발명의 실시 예에 따른 이동통신 단말기는 메모리부(202), 키 입력부(204), 표시부(206), 베이스밴드 처리부(210), 코덱(CODEC: Coder-Decoder)(212)이 제어부(200)에 연결된다. 그리고 상기 제어부(200)는 전화 통화나 데이터 통신, 무선 인터넷 접속을 위한 프로토콜에 따라 음성 신호 및 데이터 처리를 하고 이동통신 단말기의 각 부분을 제어한다. 그리고 사용자의 키 입력을 키 입력부(204)로부터 받아서 이에 따라 표시부(206)를 제어하여 사용자의 키 입력에 따른 화상 정보를 생성하여 제공될 수 있도록 한다. 2 illustrates an example of a mobile communication terminal having a file system according to an exemplary embodiment of the present invention. In this case, the file system according to the embodiment of the present invention is controlled by the controller of the mobile communication terminal. That is, the controller of the file system according to the embodiment of the present invention becomes a controller of the mobile communication terminal. Referring to FIG. 2, a mobile communication terminal according to an embodiment of the present invention includes a memory unit 202, a key input unit 204, a display unit 206, a baseband processor 210, and a coder-coder (coder-decoder). 212 is connected to the control unit 200. The controller 200 processes voice signals and data according to protocols for telephone calls, data communications, and wireless Internet access, and controls each part of the mobile communication terminal. Then, the user's key input is received from the key input unit 204 to control the display unit 206 accordingly to generate and provide image information according to the user's key input.

그리고 상기 제어부(200)는 특정 애플리케이션으로부터, 상기 애플리케이션이 파일 시스템을 사용하기 위한 요청이 감지되었을 경우, 상기 메모리부(202)의 램(218)에 일정 부분을 캐쉬 메모리(220)로 설정한다. 그리고 상기 애플리케이션 또는 상기 애플리케이션이 상기 파일 시스템에 데이터를 기록하기 위한 요청이 감 지되었을 경우 상기 기록이 요청된 데이터를 상기 캐쉬 메모리(220)에 기록한다. 그리고 상기 제어부(200)는, 상기 캐쉬 메모리(220)에 기록된 데이터가 일정 크기 이상 일 경우 상기 캐쉬 메모리(220)에 기록된 데이터를 상기 메모리부(202)에 구비된 플래시 메모리(222)에 기록한다. 그러나 이 뿐만 아니라, 상기 제어부(200)는 적어도 하나 이상의 애플리케이션으로부터 데이터의 독출 요구 또는 데이터의 검색 요구가 있을 경우에도, 상기 캐쉬 메모리(220)에 기록된 데이터와 상기 메모리부(202)의 플래시 메모리(222)에 기록된 데이터와의 데이터 무결성을 유지하기 위해 상기 캐쉬 메모리(220)에 기록된 데이터를 상기 플래시 메모리(222)에 기록한다. 이에 따라 본 발명의 실시 예에 따른 파일 시스템을 구비한 이동통신 단말기는, 플래시 메모리(222)의 데이터 무결성이 유지된 상태에서 플래시 메모리(222)의 데이터 기록 속도의 증가뿐 아니라, 이용 효율성 까지도 증가시킬 수 있다. When the controller 200 detects a request for the application to use the file system from the specific application, the controller 200 sets a predetermined portion as the cache memory 220 in the RAM 218 of the memory unit 202. When the application or the application detects a request to write data to the file system, the write data is written to the cache memory 220. When the data recorded in the cache memory 220 is equal to or larger than a predetermined size, the controller 200 transmits the data recorded in the cache memory 220 to the flash memory 222 provided in the memory unit 202. Record it. However, in addition to this, the controller 200 may store data written in the cache memory 220 and a flash memory of the memory unit 202 even when there is a request to read data or retrieve data from at least one or more applications. The data recorded in the cache memory 220 is written to the flash memory 222 in order to maintain data integrity with the data recorded in 222. Accordingly, the mobile communication terminal having the file system according to an embodiment of the present invention increases not only the data writing speed of the flash memory 222 but also the use efficiency while the data integrity of the flash memory 222 is maintained. You can.

그리고 상기한 제어부(200)와 연결되는 메모리부(202)는 롬(ROM: Read Only Memory:216), 플래시 메모리(Flash memory:222), 램(218) 등으로 구성된다. 이 중에서 롬(216)은 제어부(200)의 처리 및 제어를 위한 프로그램과 각종 참조 데이터를 저장한다. 그리고 램(218)은 제어부(200)의 워킹 메모리(working memory)를 제공할 뿐만 아니라 상기 제어부(200)의 제어에 따라 일정 영역을 상기 플래시 메모리(222)에 기록될 데이터가 임시 저장되는 캐쉬 메모리(220)로 할당될 수 있도록 한다. 여기서 상기 캐쉬 메모리(220)는 상기 제어부(200)의 제어에 따라 램(218)의 일정 영역에 일시적으로 할당될 수도 있으나, 고정적인 메모리 영역 또는 독립적 메모리로 구성될 수도 있음은 물론이다. 그리고 상기 플래시 메모리(222)는 갱신 가능한 각종 보관용 데이터를 저장하기 위한 영역을 제공한다. 그리고 상기 캐쉬 메모리(20)로부터 입력되는 데이터를 상기 제어부(200)의 제어에 따라 기록한다. The memory unit 202 connected to the controller 200 includes a read only memory (ROM), a flash memory (222), a RAM 218, and the like. The ROM 216 stores a program for processing and controlling the controller 200 and various reference data. In addition, the RAM 218 not only provides a working memory of the controller 200 but also a cache memory in which data to be written in the flash memory 222 is temporarily stored in a predetermined area under the control of the controller 200. To be assigned to (220). The cache memory 220 may be temporarily allocated to a predetermined area of the RAM 218 under the control of the controller 200, but may be configured as a fixed memory area or an independent memory. The flash memory 222 provides an area for storing various updatable storage data. The data input from the cache memory 20 is recorded under the control of the controller 200.

그리고 키 입력부(204)는 상기한 바와 같이 숫자키들을 포함한 각종 키들을 구비하며, 사용자로부터 입력되는 키 입력을 제어부(200)에 제공한다. 그리고 RF부(208)는 기지국과 RF신호를 송, 수신하는 역할을 한다. 그리고 수신된 신호를 IF(Intermediate Frequency)신호로 변환하여 상기한 제어부(200)와 연결되어 있는 베이스밴드 처리부(210)로 출력하고 베이스밴드 처리부(210)로부터 입력되는 IF신호를 RF신호로 변환하여 송신한다. 그리고 상기한 베이스밴드 처리부(210)는 제어부(200)와 RF부(208)간의 인터페이스를 제공하는 BBA(Baseband Analog ASIC)로서, 제어부(200)로부터 인가되는 베이스밴드의 디지털 신호를 아날로그 IF신호로 변환하여 RF부(208)에 인가하며, RF부(208)로부터 인가되는 아날로그 IF신호를 베이스밴드의 디지털 신호로 변환하여 제어부(200)에 인가한다. 그리고 제어부(200)와 연결된 코덱(212)은 증폭부(214)를 통해 마이크 및 스피커와 접속되며, 마이크로부터 입력되는 음성 신호를 PCM(Pulse Code Modulation) 부호화(Encoding)하여 음성 데이터를 제어부(200)에 출력하고 제어부(200)로부터 입력되는 음성 데이터를 PCM 복호화(Decoding)하여 증폭부(214)를 통해 스피커로 출력한다. 그리고 증폭부(214)는 마이크로부터 입력되는 음성 신호나 스피커로 출력되는 음성 신호를 증폭하는데, 스피커의 음량과 마이크의 이득을 제어부(200)의 제어에 따라 조절한다. The key input unit 204 includes various keys including numeric keys as described above, and provides the controller 200 with a key input input from a user. The RF unit 208 serves to transmit and receive an RF signal with the base station. And converts the received signal into an IF (Intermediate Frequency) signal, outputs it to the baseband processor 210 connected to the controller 200, and converts the IF signal input from the baseband processor 210 into an RF signal. Send. The baseband processor 210 is a baseband analog ASIC (BBA) that provides an interface between the controller 200 and the RF unit 208. The baseband processor 210 converts a baseband digital signal applied from the controller 200 into an analog IF signal. It converts the signal to the RF unit 208 and converts the analog IF signal applied from the RF unit 208 into a digital signal of the baseband and applies it to the controller 200. In addition, the codec 212 connected to the control unit 200 is connected to the microphone and the speaker through the amplifying unit 214, and the voice signal is input by the PCM (Pulse Code Modulation) encoding of the voice signal input from the microphone. ) And PCM decodes the voice data input from the controller 200 and outputs the voice data to the speaker through the amplifier 214. The amplifier 214 amplifies the voice signal input from the microphone or the voice signal output from the speaker, and adjusts the volume of the speaker and the gain of the microphone according to the control of the controller 200.

도 3은 이러한 본 발명의 실시 예에 따른 파일 시스템을 구비한 이동통신 단말기의 제어부(200)가 본 발명의 실시 예에 따라 캐쉬 메모리(220)을 설정하고, 기 설정된 조건에 따라 데이터를 플래시 메모리(222)에 기록하는 동작의 과정을 보이는 흐름도이다. 여기서 상기 도 3은, 설명상 편의를 위해 상기 제어부(200)가 파일 시스템의 사용이 요청되었을 경우 일시적으로 램(218)의 일부 영역을 캐쉬 메모리(220)로 설정하는 경우를 예로 들어 설명하기로 한다. 3 is a block diagram of a mobile communication terminal having a file system according to an embodiment of the present invention, the cache memory 220 is set according to an embodiment of the present invention, and data is flash memory according to a preset condition. It is a flowchart showing the process of operation to write to 222. 3 illustrates an example in which the controller 200 temporarily sets a portion of the RAM 218 as the cache memory 220 when the controller 200 is requested to use a file system for convenience of description. do.

도 3을 참조하여 살펴보면, 본 발명의 실시 예에 따른 파일 시스템을 구비한 이동통신 단말기의 제어부(200)는 300단계로 진행하여 적어도 하나 이상의 애플리케이션의 요청에 따른 동작을 수행한다. 여기서 상기 애플리케이션의 요청에 따른 동작이라는 것은, 이동통신 단말기에 구비된 카메라부가 특정 이미지를 촬상할 경우, 상기 이미지를 촬상하는 애플리케이션과 같이, 일반적인 이동통신 단말기 동작을 위한 애플리케이션일 수도 있으며, 프로그래머(Programmer)에 의해 작성된 프로그램이 상기 이동통신 단말기에 입력되기 위한 애플리케이션일 수도 있다. 또한 상기 이동통신 단말기가 전원이 입력된 후, 사용자의 키 입력과 같은 이벤트(event)의 발생을 감지하는 애플리케이션일 수도 있음은 물론이다. Referring to FIG. 3, the control unit 200 of the mobile communication terminal having the file system according to an embodiment of the present invention proceeds to step 300 to perform an operation according to a request of at least one application. Here, the operation according to the request of the application may be an application for operation of a general mobile communication terminal, such as an application for capturing a specific image when the camera unit provided in the mobile communication terminal captures a specific image. The program created by) may be an application for input to the mobile communication terminal. In addition, the mobile communication terminal may be an application that detects the occurrence of an event such as a user's key input after power is input.

그리고 본 발명의 실시 예에 따른 이동통신 단말기의 제어부(200)는 302단계로 진행하여 특정 애플리케이션으로부터 파일 시스템의 사용이 요청되었는지를 체크한다. 여기서 상기 파일 시스템의 사용을 요청하는 애플리케이션은 하나 이상이 될 수도 있음은 물론이다. 그리고 일반적으로 파일 시스템에서 사용되는 동작 명령을 참조하여 살펴보면 하기 표 1과 같다. The control unit 200 of the mobile communication terminal according to an embodiment of the present invention proceeds to step 302 and checks whether a use of a file system is requested from a specific application. Here, of course, there may be more than one application requesting the use of the file system. In general, referring to the operation command used in the file system, it is shown in Table 1 below.

파일 시스템 명령File system commands 파일 시스템의 명령에 따른 동작Actions According to Commands in the File System fs_openfs_open 파일 시스템의 사용 요청Request to use file system fs_writefs_write 파일 시스템에 데이터를 기록Write data to file system fs_readfs_read 파일 시스템에 기록된 데이터의 독출Reading data written to file system fs_seekfs_seek 파일 시스템에 기록된 데이터의 검색 Retrieve data written to file system fs_closefs_close 파일 시스템의 사용 종료 알림File system end of use notification

따라서 상기 fs_open 명령에 따른 동작과 같은 동작이 수행될 경우, 상기 제어부(200)는 상기 302단계에서 특정 애플리케이션으로부터의 파일 시스템 사용 요청이 있다고 판단한다. 이 경우 상기 제어부(200)는 304단계로 진행하여 램(218)의 일부 영역을 데이터의 저장 시 이를 임시 저장할 수 있는 캐쉬 메모리(220)로 설정한다. 여기서 상기 캐쉬 메모리(220)로 설정되는 영역의 크기는, 상기 캐쉬 메모리로 설정되는 영역의 크기에 따라 상기 플래시 메모리(222)에 데이터가 기록되는 속도의 향상 정도를 분석하기 위한 실험의 결과에 따라 가장 적절한 값으로 튜닝(tuning)된 크기로 설정한다. Therefore, when an operation such as an operation according to the fs_open command is performed, the controller 200 determines that there is a file system use request from a specific application in step 302. In this case, the controller 200 proceeds to step 304 and sets a portion of the RAM 218 to the cache memory 220 that can temporarily store the data when the data is stored. Herein, the size of the region set as the cache memory 220 depends on the result of an experiment for analyzing the improvement of the speed at which data is written to the flash memory 222 according to the size of the region set as the cache memory. Set to the size tuned to the most appropriate value.

상기 304단계에서 기 설정된 값으로 램(218)의 일부 영역에 캐쉬 메모리 영역이 설정되면, 제어부(200)는 306단계로 진행하여, 상기 파일 시스템의 사용을 요청한 애플리케이션으로부터 데이터의 기록 요청이 있는지를 체크한다. 여기서 상기 데이터의 기록 요청을 상기 표 1을 참조하여 살펴보면, 상기 fs_write 명령에 따른 동작이 수행될 경우를 예로 들 수 있다. 그리고 만약 상기 306단계에서 데이터의 기록 요청이 감지되지 않은 경우, 제어부(200)는 316단계로 진행하여 상기 파일 시스템 사용을 요청한 애플리케이션으로부터 파일 시스템의 사용 종료 요청이 있는지를 체크한다. 여기서 상기 파일 시스템의 사용 종료 요청을 상기 표 1을 참조하여 살펴보면, 상기 fs_close 명령에 따른 동작이 수행될 경우를 예로 들 수 있다. If a cache memory area is set in a portion of the RAM 218 at a preset value in step 304, the controller 200 proceeds to step 306 to determine whether there is a request for writing data from an application that requests the use of the file system. Check it. Here, referring to Table 1, the request for writing data is described as an example in which an operation according to the fs_write command is performed. If the data write request is not detected in step 306, the controller 200 proceeds to step 316 and checks whether there is a request to terminate the use of the file system from the application that has requested the file system. In this case, referring to Table 1, the request to terminate the use of the file system may be an example of an operation performed by the fs_close command.

그리고 만약 상기 316단계에서 상기 파일 시스템의 사용 종료 요청이 감지되지 않은 경우, 제어부(200)는 다시 306단계로 진행하여 상기 데이터 기록 요청이 있는지를 감지한다. 이 경우 상기 302단계에서 파일 시스템의 사용이 요청된 애플리케이션의 개수가 하나 이상일 경우에는 각각의 애플리케이션으로부터 모두 상기 파일 시스템의 사용 종료 요청이 감지되었는 지를 체크한다. 그리고 만약 상기 316단계에서 파일 시스템의 사용을 요청한 모든 애플리케이션들로부터 파일 시스템의 사용 종료 요청이 감지된 경우라면, 제어부(200)는 318단계로 진행하여 현재까지 캐쉬 메모리(220)에 저장된 데이터를 플래시 메모리(222)로 이동시킨다. 그리고 320단계로 진행하여 상기 304단계에서 램(218)의 일부 영역에 할당한 캐쉬 메모리(220) 설정을 해제하여, 상기 램(218)의 전체 영역을 상기 제어부(200)의 워킹 메모리를 제공하는 램(218) 본래의 동작을 위한 영역으로 사용될 수 있도록 한다. If the use end request of the file system is not detected in step 316, the control unit 200 proceeds to step 306 to detect whether there is the data recording request. In this case, when the number of applications for which the use of the file system is requested in step 302 is one or more, it is checked whether each of the applications has terminated the use of the file system. If the end of use of the file system is detected from all applications requesting the use of the file system in step 316, the controller 200 proceeds to step 318 and flashes the data stored in the cache memory 220 to date. Move to memory 222. In operation 320, the cache memory 220 allocated to a portion of the RAM 218 is released in operation 304 to provide a working memory of the controller 200 in the entire region of the RAM 218. RAM 218 can be used as an area for original operation.

그러나 만약 상기 306단계에서 데이터의 기록 요청이 감지된 경우, 제어부(200)는 308단계로 진행하여 상기 기록이 요청된 데이터를 캐쉬 메모리(220)에 저장한다. 그리고 제어부(200)는 310단계로 진행하여 상기 캐쉬 메모리(220)에 저장된 데이터의 상태를 체크하여 상기 저장된 데이터의 크기가 일정 크기 이상인지를 체크한다. 여기서 상기 캐쉬 메모리(220)에 저장된 데이터의 일정 크기라는 것은 상기 플래시 메모리(222)의 데이터 기록 단위에 해당하는 페이지에 해당되는 데이터 크기일 수도 있음은 물론이다. 이에 따라 본 발명에서는 상기 플래시 메모리(220)의 이용 효율을 높일 수 있다. However, if a data write request is detected in step 306, the controller 200 proceeds to step 308 and stores the data requested for writing in the cache memory 220. In operation 310, the controller 200 checks the state of the data stored in the cache memory 220 to check whether the size of the stored data is greater than or equal to a predetermined size. Here, the predetermined size of the data stored in the cache memory 220 may be a data size corresponding to a page corresponding to a data recording unit of the flash memory 222. Accordingly, in the present invention, the utilization efficiency of the flash memory 220 can be improved.

그리고 만약 상기 310단계에서 캐쉬 메모리(220)의 상태를 체크한 결과 상기 캐쉬 메모리(220)에 저장된 데이터가 상기 일정 크기가 되지 않은 경우, 제어부(200)는 파일 시스템 사용을 요청한 적어도 하나의 애플리케이션들로부터 플래시 메모리(222)에 기록된 데이터의 검색(seek) 또는 독출(read) 요구가 있는지를 체크한다. 그리고 상기 데이터의 검색 또는 독출 요구가 있을 경우 현재 캐쉬 메모리(220)에 저장된 데이터의 크기에 관계없이 상기 캐쉬 메모리(220)에 저장된 데이터를 상기 플래시 메모리(222)로 이동시킨다. 이는 데이터의 무결성을 유지하기 위한 것으로, 상기 애플리케이션이 데이터를 기록하는 경우, 기록된 데이터가 바로 플래시 메모리(222)로 기록되는 것이 아니라 상기 캐쉬 메모리(220)를 거쳐서 기록되기 때문에, 상기 애플리케이션이 비록 데이터를 기록하였다고 할지라도 상기 기록된 데이터가 미쳐 플래시 메모리(222)에 저장되어 있지 않음에 따라 오류가 발생하는 것을 막기 위함이다. 이러한 상기 314단계에 대해서는 하기 도 4에서 좀 더 자세히 살펴보기로 한다. If the data stored in the cache memory 220 does not reach the predetermined size as a result of checking the state of the cache memory 220 in step 310, the controller 200 requests at least one application that uses a file system. Is checked to see if there is a seek or read request of the data recorded in the flash memory 222. When the data is requested to be searched or read, the data stored in the cache memory 220 is moved to the flash memory 222 regardless of the size of the data currently stored in the cache memory 220. This is to maintain the integrity of the data. When the application writes the data, the recorded data is written directly through the cache memory 220 instead of being written directly to the flash memory 222. Even if data is recorded, the recorded data is not stored in the flash memory 222 to prevent an error from occurring. This step 314 will be described in more detail with reference to FIG. 4.

한편 만약 상기 310단계에서, 상기 캐쉬 메모리(220)에 저장된 데이터의 크기가 상기 일정 크기 이상일 경우에는 제어부(200)는 312단계로 진행하여 상기 캐쉬 메모리(220)에 저장된 데이터를 플래시 메모리(222)로 이동시킨다. 그리고 상기 제어부(200)는 다시 상기 306단계로 진행하여 상기 파일 시스템의 사용을 요청한 애플리케이션으로부터 데이터의 기록 요청이 있는지를 체크한다. 그리고 상기 306단계에서, 제어부(200)는 데이터의 기록 요청이 없을 경우 상기 316단계로 진행하여 현재 램(218)에 설정된 캐쉬 메모리(220)를 유지할 것인지 아니면 이를 해제할 것인지를 판단한다. 따라서 본 발명은 플래시 메모리의 데이터 무결성을 유지하면서, 상기 플래시 메모리의 이용 효율성을 감소시키지 않고, 데이터의 기록 속도를 증가시킬 수 있다. If the size of the data stored in the cache memory 220 is greater than or equal to the predetermined size in step 310, the controller 200 proceeds to step 312 and stores the data stored in the cache memory 220 in the flash memory 222. Move to. In addition, the controller 200 proceeds to step 306 to check whether there is a request for recording data from the application requesting the use of the file system. In step 306, if there is no data write request, the controller 200 proceeds to step 316 to determine whether to maintain or release the cache memory 220 currently set in the RAM 218. Thus, the present invention can increase the writing speed of data without reducing the efficiency of use of the flash memory while maintaining the data integrity of the flash memory.

도 4는 본 발명의 실시 예에 따른 파일 시스템을 구비한 이동통신 단말기에서 데이터의 독출 요구 또는 데이터의 검색 요구가 있을 경우 이에 따라 상기 임시 설정된 캐쉬 메모리(220)에 저장되어 있는 데이터를 상기 플래시 메모리(222)로 이동시키는 동작을 보이고 있는 흐름도이다. 도 4를 참조하여 살펴보면, 상기 도 3의 310단계에서 캐쉬 메모리(220)에 저장된 데이터의 크기가 일정 크기 이상이 아닐 경우, 제어부(200)는 400단계로 진행하여 데이터의 독출 요구가 있는 애플리케이션이 있는지를 체크한다. 여기서, 상기 데이터의 독출을 요구하는 애플리케이션은 상기 302단계에서 파일 시스템의 사용을 요청한 적어도 하나의 애플리케이션 중 하나임은 물론이다. 4 illustrates data stored in the temporarily set cache memory 220 when a data read request or a data search request occurs in a mobile communication terminal having a file system according to an exemplary embodiment of the present invention. It is a flowchart showing an operation of moving to 222. Referring to FIG. 4, if the size of the data stored in the cache memory 220 is not greater than or equal to a predetermined size in step 310 of FIG. 3, the control unit 200 proceeds to step 400 in which an application having a data read request is executed. Check if there is. Here, the application requesting the reading of the data is one of the at least one application requesting the use of the file system in step 302.

그리고 상기 400단계에서 데이터의 독출 요구가 있을 경우, 제어부(200)는 404단계로 진행하여 현재까지 캐쉬 메모리(220)에 저장되어 있는 데이터를 플래시 메모리(222)로 이동시킨다. 여기서 상기 플래시 메모리(222)로 이동되는 데이터의 크기는 상기 310단계에서 언급한 일정 크기 미만일 수도 있음은 물론이다. 그리고 만약 상기 400단계에서 데이터의 독출 요구가 감지되지 않았을 경우, 제어부(200)는 402단계로 진행하여 상기 특정 데이터의 검색을 요청한 애플리케이션이 있는 지를 체크한다. 여기서 상기 데이터의 검색을 요청한 애플리케이션 역시 상기 302단계에서 파일 시스템의 사용을 요청한 적어도 하나의 애플리케이션 중 하나임은 물론이다. 그리고 만약 상기 402단계에서 데이터의 검색을 요구한 애플리케이션이 있을 경우 제어부(200)는 404단계로 진행하여 제어부(200)는 404단계로 진행하여 현재까지 캐쉬 메모리(220)에 저장되어 있는 데이터를 플래시 메모리(222)로 이동시킨다. 이 경우도 상기한 바와 마찬가지로 상기 플래시 메모리(222)로 이동되는 데이터의 크기는 상기 310단계에서 언급한 일정 크기 미만일 수도 있음은 물론이다. 그러나 만약 상기 402단계에서도 특정 데이터의 검색을 요구한 애플리케이션이 없을 경우에는, 제어부(200)는 다시 306단계로 진행하여 데이터의 상기 파일 시스템의 사용을 요청한 애플리케이션들 중에서 데이터의 기록을 요청한 애플리케이션이 있는 지를 체크한다. 이에 따라서 본 발명은 데이터의 독출 요구 또는 데이터의 검색 요구가 있을 경우, 상기 캐쉬 메모리(220)에 저장된 데이터의 크기가 기 설정된 크기 이상이 아니라고 할지라도, 상기 캐쉬 메모리(220)에 저장된 데이터를 플래시 메모리(222)에 저장한다. 이에 따라 본 발명의 실시 예에 따른 파일 시스템을 구비한 이동통신 단말기에서는, 데이터의 독출 요구 또는 특정 데이터의 검색 요구가 있을 경우, 상기 캐쉬 메모리(220)과 플래시 메모리(222)간에 데이터 무결성이 유지되므로 데이터 무결성 결여로 인한 오류의 발생을 방지할 수 있다. If there is a request to read data in step 400, the controller 200 proceeds to step 404 to move data stored in the cache memory 220 to the flash memory 222. The size of data moved to the flash memory 222 may be less than the predetermined size mentioned in step 310. If the data read request is not detected in step 400, the controller 200 proceeds to step 402 and checks whether there is an application requesting to search for the specific data. In this case, the application requesting the retrieval of the data is also one of the at least one application requesting the use of the file system in step 302. If there is an application requesting data retrieval in step 402, the control unit 200 proceeds to step 404 and the control unit 200 proceeds to step 404 to flash the data stored in the cache memory 220 to date. Move to memory 222. In this case, as described above, the size of data moved to the flash memory 222 may be less than the predetermined size mentioned in step 310. However, if there is no application requesting the retrieval of specific data even in step 402, the control unit 200 proceeds to step 306 again in which there is an application requesting the recording of data among applications that request the use of the file system. Check it. Accordingly, when there is a data read request or a data search request, the present invention flashes the data stored in the cache memory 220 even if the size of the data stored in the cache memory 220 is not greater than or equal to a preset size. The memory 222 stores the memory. Accordingly, in a mobile communication terminal having a file system according to an embodiment of the present invention, when there is a request for reading data or a request for retrieving specific data, data integrity is maintained between the cache memory 220 and the flash memory 222. This prevents the occurrence of errors due to lack of data integrity.

한편 상술한 본 발명의 설명에서는 구체적인 실시 예에 관해 설명하였으나, 여러 가지 변형이 본 발명의 범위에서 벗어나지 않고 실시될 수 있다. 특히 본 발명의 실시 예에서는 본 발명의 실시 예에 따른 파일 시스템이 이동통신 단말기에 구비되어 있는 경우를 예로 들어 설명하였으나, 일정 부분을 캐쉬 메모리로 할당하여 사용할 수 있는 램과, 플래시 메모리, 그리고 상기 램의 일정 영역을 애플리케이션의 파일 시스템 사용 요청에 따라 상기 캐쉬 메모리로 설정하고, 데이터의 기록 요청이 있는 경우, 상기 기록이 요청된 데이터를 상기 캐쉬 메모리에 저장하며, 또한 상기 캐쉬 메모리에 저장된 데이터가 일정 크기 이상인 경우 또는 데이터의 독출 요구나 특정 데이터의 검색 요구가 있는 경우, 상기 캐쉬 메모리에 저장된 데이터를 상기 플래시 메모리로 이동시키도록 제어하는 제어부를 구비하는 본 발명의 실시 예에 따른 파일 시스템이, 이동통신 단말기 외에 다른 기기에도 사용될 수도 있음은 물론이다. 그리고 이에 따라 본 발명의 범위가 상기 이동통신 단말기에 국한되지 않음은 물론이다. Meanwhile, in the above description of the present invention, specific embodiments have been described, but various modifications may be made without departing from the scope of the present invention. Particularly, in the embodiment of the present invention, a case in which a file system according to an embodiment of the present invention is provided in a mobile communication terminal has been described as an example. However, a RAM, a flash memory, and the above may be allocated and used as a cache memory. A certain area of RAM is set as the cache memory according to an application file system use request, and when there is a request for writing data, the write requested data is stored in the cache memory, and the data stored in the cache memory The file system according to the embodiment of the present invention includes a control unit which controls to move the data stored in the cache memory to the flash memory when there is a predetermined size or more, or when there is a request for reading data or searching for specific data. It can also be used for other devices besides mobile terminals. As a matter of course. And, of course, the scope of the present invention is not limited to the mobile communication terminal.

아울러 본 발명의 실시 예에서는 플래시 메모리의 형태가 페이지 단위로 데이터를 입출력 하는 NAND 플래시 메모리의 경우를 예로 들어 설명하였으나 이에 국한되지 않고, 상기 데이터의 기록이 일정 데이터 크기의 단위를 기준으로 기록되는 메모리인 경우에도 적용될 수 있음은 물론이다. 따라서 발명의 범위는 설명된 실시 예에 의해 정할 것이 아니고, 특허청구범위와 특허청구범위의 균등한 것에 의해 정하여져야 한다. In addition, the embodiment of the present invention has been described as an example of a NAND flash memory in which the shape of the flash memory input and output data in units of pages, but is not limited to this, the memory in which the recording of the data is recorded based on a unit of a certain data size Of course, it can also be applied to. Therefore, the scope of the invention should not be defined by the described embodiments, but should be determined by the equivalent of claims and claims.

본 발명에서는, 일반적으로 접근 속도가 훨씬 빠른 램의 일부 영역을 상기 플래시 메모리에 데이터를 기록하기 위한 캐쉬 메모리로 사용할 수 있도록 한다. 그리고 상기 캐시 메모리에 저장된 데이터의 크기가 상기 플래시 메모리의 데이터 크기 단위 이상이 되는 경우, 또는 적어도 하나 이상의 애플리케이션으로부터의 데이터 독출(Read) 요구 또는 특정 데이터의 검색(seek) 요구가 감지된 경우에 상기 캐쉬 메모리에 저장된 데이터를 상기 플래시 메모리로 이동시키도록 한다. 이에 따라 본 발명에서는 플래시 메모리의 데이터 무결성을 유지하면서, 상기 플래시 메모리의 이용 효율성을 감소시키지 않고, 데이터의 기록 속도를 증가시킬 수 있다.In the present invention, a portion of the RAM which is generally much faster than the access speed can be used as a cache memory for writing data to the flash memory. And when a size of data stored in the cache memory is equal to or larger than a data size unit of the flash memory, or when a data read request or a seek of specific data is detected from at least one or more applications. The data stored in the cache memory is moved to the flash memory. Accordingly, in the present invention, it is possible to increase the data writing speed without reducing the efficiency of use of the flash memory while maintaining the data integrity of the flash memory.

Claims (9)

파일 시스템에 있어서,In the file system, 기 설정된 캐쉬 메모리 영역을 구비한 램(RAM : Random Access Memory)과, Random access memory (RAM) having a predetermined cache memory area; 상기 파일 시스템의 보관용 데이터를 저장하기 위한 플래시 메모리(Flash Memory)와, A flash memory for storing data for storage of the file system; 특정 애플리케이션(Application)으로부터 상기 파일 시스템에 데이터를 기록하기 위한 데이터 기록 요청이 있는 경우 상기 기 설정된 캐쉬 메모리 영역에 상기 데이터를 저장하며, 상기 파일 시스템을 사용하는 적어도 하나의 애플리케이션으로부터 특정 데이터의 독출(read) 요구나 검색(Seek) 요구 중 어느 하나가 감지되는 경우 상기 캐쉬 메모리 영역에 저장된 데이터를 상기 플래시 메모리로 이동시키도록 제어하는 제어부를 구비하는 것을 특징으로 하는 파일 시스템에서 플래시 메모리 성능 향상을 위한 개선된 데이터 기록 장치.When there is a data write request for writing data to the file system from a specific application, the data is stored in the preset cache memory area, and the specific data is read from at least one application using the file system. and a control unit for controlling to move data stored in the cache memory area to the flash memory when either a read request or a seek request is detected. Improved data recording device. 제1항에 있어서, 상기 제어부는,The method of claim 1, wherein the control unit, 상기 캐쉬 메모리 영역에 저장된 데이터가 일정 크기 이상일 경우 상기 캐쉬 메모리 영역에 저장된 데이터를 상기 플래시 메모리로 이동시키는 것을 더 구비하는 것을 특징으로 하는 파일 시스템에서 플래시 메모리 성능 향상을 위한 개선된 데이터 기록 장치.And moving the data stored in the cache memory area to the flash memory when the data stored in the cache memory area is larger than a predetermined size. 제1항에 있어서, 상기 제어부는,The method of claim 1, wherein the control unit, 상기 특정 애플리케이션이 데이터를 기록하기 위해 상기 파일 시스템의 사용을 요청하는 경우, 상기 램의 기 설정된 영역을 상기 캐쉬 메모리 영역으로 설정하고, 상기 파일 시스템을 사용하는 애플리케이션이 없을 경우 상기 캐쉬 메모리 영역 설정을 해제하는 것을 특징으로 하는 파일 시스템에서 플래시 메모리 성능 향상을 위한 개선된 데이터 기록 장치.When the specific application requests the use of the file system to record data, the predetermined area of the RAM is set as the cache memory area, and when there is no application using the file system, the cache memory area setting is set. An improved data recording device for improving flash memory performance in a file system characterized by decommissioning. 제1항에 있어서, 상기 플래시 메모리는,The flash memory of claim 1, wherein the flash memory comprises: 일정 데이터 크기를 기준으로 데이터의 기록을 수행하는 것을 특징으로 하는 파일 시스템에서 플래시 메모리 성능 향상을 위한 개선된 데이터 기록 장치.An improved data recording apparatus for improving flash memory performance in a file system, characterized by recording data based on a certain data size. 제1항에 있어서, 상기 파일 시스템은,The method of claim 1, wherein the file system, 이동통신 단말기에 구비되고, 상기 제어부는 상기 이동통신 단말기의 제어부임을 특징으로 하는 파일 시스템에서 플래시 메모리 성능 향상을 위한 개선된 데이터 기록 장치.And a control unit of the mobile communication terminal, wherein the control unit is a control unit of the mobile communication terminal. 기 설정된 캐쉬 메모리 영역을 구비한 램(RAM : Random Access Memory)과, 일정 데이터 크기 단위로 데이터를 기록하는 플래시 메모리(Flash Memory), 그리고 기록된 데이터의 독출, 검색 및 기록을 제어하는 제어부를 구비하는 파일 시스템에서 데이터를 기록하는 방법에 있어서,A random access memory (RAM) having a predetermined cache memory area, a flash memory for recording data in units of a predetermined data size, and a controller for controlling reading, retrieval, and writing of recorded data; In the method of recording data in the file system, 상기 제어부가, 적어도 하나의 애플리케이션(Application)으로부터 상기 파일 시스템의 사용 요청이 있는 경우, 상기 램의 일정 영역을 상기 캐쉬 메모리 영역으로 설정하는 캐쉬 메모리 설정 단계와,A cache memory setting step of setting, by the controller, a predetermined area of the RAM as the cache memory area when there is a request for using the file system from at least one application; 상기 제어부가, 상기 애플리케이션 중 데이터의 기록을 요청한 애플리케이션이 있는지를 체크하는 데이터 기록 요청 체크 단계와,A data recording request checking step of checking, by the controller, whether there is an application requesting recording of data among the applications; 상기 제어부가, 상기 데이터의 기록 요청이 있는 경우, 상기 기록이 요청된 데이터를 상기 캐쉬 메모리에 저장하는 캐쉬 메모리 저장 단계와,A cache memory storing step of, when the controller requests a recording of the data, storing the requested data in the cache memory; 상기 제어부가, 상기 적어도 하나의 애플리케이션 중 어느 하나로부터 특정 데이터의 검색(seek) 요청이나 독출(read) 요청 중 어느 하나를 감지한 경우, 상기 캐쉬 메모리 영역에 저장된 데이터를 상기 플래시 메모리로 이동시키는 데이터 이동 단계를 구비하는 것을 특징으로 하는 파일 시스템에서 플래시 메모리 성능 향상을 위한 개선된 데이터 기록 방법.When the controller detects any one of a seek request or a read request for specific data from any one of the at least one application, data for moving the data stored in the cache memory area to the flash memory An improved data writing method for improving flash memory performance in a file system characterized by including a moving step. 제6항에 있어서, 상기 데이터 기록 요청 체크 단계는,The method of claim 6, wherein the checking of the data record request comprises: 상기 제어부가, 상기 애플리케이션 중 데이터의 기록을 요청한 애플리케이션 이 있는지를 체크하는 기록 요청 체크 단계와,A recording request checking step of checking, by the controller, whether there is an application requesting recording of data among the applications; 상기 제어부가, 상기 데이터의 기록을 요청한 애플리케이션이 없을 경우, 현재 파일 시스템을 사용 중인 모든 애플리케이션들로부터 상기 파일 시스템의 사용 종료 요청이 있었는지를 체크하는 사용 종료 체크 단계와,An end-of-use checking step of checking whether there is a request for terminating use of the file system from all applications currently using the file system, when there is no application requesting the recording of the data; 상기 제어부가, 상기 현재 파일 시스템을 사용 중인 모든 애플리케이션들로부터 각각 파일 시스템의 사용 종료 요청이 있는 경우, 상기 캐쉬 메모리 영역에 저장된 데이터를 상기 플래시 메모리로 이동시키는 이동 단계와,A moving step of, by the controller, moving data stored in the cache memory area to the flash memory when there is a request to terminate the use of the file system from all applications currently using the file system; 상기 제어부가, 현재 설정된 상기 캐쉬 메모리 영역 설정을 해제하는 캐쉬 메모리 영역 설정 해제 단계를 구비하는 것을 특징으로 하는 파일 시스템에서 플래시 메모리 성능 향상을 위한 개선된 데이터 기록 방법.And a cache memory region setting canceling step of the controller releasing the currently set cache memory region setting. 제6항에 있어서, 상기 데이터 이동 단계는,The method of claim 6, wherein the data movement step, 상기 제어부가, 상기 캐쉬 메모리에 저장된 데이터가 일정 크기 이상인지를 체크하는 캐쉬 메모리 데이터 크기 체크 단계와,Checking, by the controller, a cache memory data size check whether the data stored in the cache memory is equal to or greater than a predetermined size; 상기 제어부가, 상기 캐쉬 메모리에 저장된 데이터의 크기가 일정 크기 미만일 경우, 상기 파일 시스템의 사용을 요청한 애플리케이션들 중 어느 하나로부터 특정 데이터의 검색(seek) 요청 또는 독출(read) 요청 중 어느 하나가 있는지를 체크하는 요청 체크 단계와,If the size of data stored in the cache memory is less than a certain size, the controller determines whether there is a seek request or a read request of specific data from any of the applications requesting the use of the file system. A request check step to check 상기 제어부가, 상기 특정 데이터의 검색(seek) 요청 또는 독출(read) 요청 중 어느 하나기 있을 경우 상기 캐쉬 메모리 영역에 저장된 데이터를 상기 플래시 메모리로 이동시키는 데이터 이동 제어 단계를 구비하는 것을 특징으로 하는 파일 시스템에서 플래시 메모리 성능 향상을 위한 개선된 데이터 기록 방법.And a data movement control step of moving, by the controller, data stored in the cache memory area to the flash memory when any one of a seek request or a read request of the specific data is present. Improved method of writing data to improve flash memory performance on file system. 제6항에 있어서, 상기 캐쉬 메모리 설정 단계는,The method of claim 6, wherein the setting of the cache memory comprises: 상기 제어부가, 상기 캐쉬 메모리 영역의 크기에 따라 상기 플래시 메모리에 데이터가 기록되는 속도의 향상 정도를 분석하기 위한 실험 결과 가장 적절한 값으로 결정된 영역의 크기에 따라 상기 캐쉬 메모리 영역의 크기를 결정하는 것을 특징으로 하는 파일 시스템에서 플래시 메모리 성능 향상을 위한 개선된 데이터 기록 방법.The control unit determines the size of the cache memory area according to the size of the area determined as the most suitable value as a result of an experiment for analyzing the degree of improvement of the speed of writing data to the flash memory according to the size of the cache memory area. Improved method of writing data for improving flash memory performance on characterized file systems.
KR1020050043056A 2005-05-23 2005-05-23 Data writing apparatus and method for improved flash memory's performance in file system KR20060120850A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050043056A KR20060120850A (en) 2005-05-23 2005-05-23 Data writing apparatus and method for improved flash memory's performance in file system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050043056A KR20060120850A (en) 2005-05-23 2005-05-23 Data writing apparatus and method for improved flash memory's performance in file system

Publications (1)

Publication Number Publication Date
KR20060120850A true KR20060120850A (en) 2006-11-28

Family

ID=37706828

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050043056A KR20060120850A (en) 2005-05-23 2005-05-23 Data writing apparatus and method for improved flash memory's performance in file system

Country Status (1)

Country Link
KR (1) KR20060120850A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101014573B1 (en) * 2007-06-21 2011-02-16 주식회사 코아로직 Memory access apparatus, method and computer readable medium recorded with program executing the method
KR101023013B1 (en) * 2009-03-19 2011-03-24 주식회사 에이텍 Method for data saving of file system based nand flash memory

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101014573B1 (en) * 2007-06-21 2011-02-16 주식회사 코아로직 Memory access apparatus, method and computer readable medium recorded with program executing the method
KR101023013B1 (en) * 2009-03-19 2011-03-24 주식회사 에이텍 Method for data saving of file system based nand flash memory

Similar Documents

Publication Publication Date Title
US11307769B2 (en) Data storage method, apparatus and storage medium
EP2732374B1 (en) Mobile memory cache read optimization
KR101940963B1 (en) Volatile memory architecture in non-volatile memory devices and related controllers
WO2022134741A1 (en) Reread command processing method, flash memory controller, and solid-state drive
US9978384B2 (en) Audio decoding using modulator-demodulator
US6944060B2 (en) Non-volatile storage device and control method thereof
US20080125170A1 (en) Apparatus and method for mobile communication by using non-volatile memory device
US10416907B2 (en) Storage system, storage control apparatus, and method of controlling a storage device
KR101970712B1 (en) Device and method for moving data in terminal
US20180032264A1 (en) Reducing read latency
US20090313420A1 (en) Method for saving an address map in a memory device
KR20070063132A (en) Apparatus and method for manage a bad block
US20140258247A1 (en) Electronic apparatus for data access and data access method therefor
JP5330549B2 (en) Communication device with storage function
KR20060120850A (en) Data writing apparatus and method for improved flash memory's performance in file system
WO2021184996A1 (en) Data storage method and apparatus for database
KR100651370B1 (en) Method for processing file of sub memory in wireless terminal
CN102467557B (en) Data de-duplication processing method
CN113010514B (en) Thermal loading method and device
US20100099466A1 (en) Communication device and power saving method thereof
KR20240010042A (en) Data access methods, devices, and non-transitory computer-readable storage media
JP5269213B2 (en) Communication device with storage function
US8539170B2 (en) Decoding circuit
US11726978B2 (en) Computer program for providing efficient change data capture in a database system
US11055231B2 (en) Data storage devices and data processing methods of skipping editing of fields in H2F table when consecutive addresses are present in F2H table

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application