KR101013465B1 - Device for Writing Elevation of Flash Disk Systems and Method Thereof - Google Patents

Device for Writing Elevation of Flash Disk Systems and Method Thereof Download PDF

Info

Publication number
KR101013465B1
KR101013465B1 KR1020080068687A KR20080068687A KR101013465B1 KR 101013465 B1 KR101013465 B1 KR 101013465B1 KR 1020080068687 A KR1020080068687 A KR 1020080068687A KR 20080068687 A KR20080068687 A KR 20080068687A KR 101013465 B1 KR101013465 B1 KR 101013465B1
Authority
KR
South Korea
Prior art keywords
data
disk
flash
cache memory
memory
Prior art date
Application number
KR1020080068687A
Other languages
Korean (ko)
Other versions
KR20100008227A (en
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 KR1020080068687A priority Critical patent/KR101013465B1/en
Publication of KR20100008227A publication Critical patent/KR20100008227A/en
Application granted granted Critical
Publication of KR101013465B1 publication Critical patent/KR101013465B1/en

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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10009Improvement or modification of read or write signals

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)
  • Signal Processing (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

본 발명은 플래시디스크 시스템의 쓰기 기능 향상 장치 및 그 방법에 관한 것으로 특히 플래시메모리로 구성된 플래시디스크가 갖는 느린 데이터 쓰기 속도와 쓰기 횟수 제한에 대한 단점을 극복하기 위한 플래시디스크 시스템을 개시한다.The present invention relates to an apparatus and a method for improving a write function of a flash disk system, and more particularly, to a flash disk system for overcoming the disadvantages of the slow data write speed and the number of write limitations of a flash disk composed of a flash memory.

본 발명은 디스크 호스트와 연결되어 디스크 호스트로부터 제어명령이나 전송데이터를 주고받기 위한 디스크인터페이스에 연결되며 이에 전송되는 데이터를 임시 저장하는 데이터버퍼와, 데이터버퍼의 데이터를 저장하기 위한 플래시메모리와, 데이터버퍼와 플래시메모리 사이에서 인터페이스하는 플래시메모리인터페이스와, 이들의 전체 동작을 제어하는 디스크 컨트롤러로 구성된 공지의 플래시디스크 시스템의 쓰기 기능 향상 장치에 있어서, 전술한 데이터버퍼의 데이터를 저장하기 위한 캐시메모리와, 데이터버퍼와 캐시메모리 사이에서 인터페이스하는 캐시메모리인터페이스를 구성하되, 전술한 디스크 컨트롤러에서 시스템 영역에 기록될 데이터를 판별하여 캐시메모리에 우선적으로 기록하고 백업 시 플래시메모리의 해당 영역에 기록하도록 하는 것이다.The present invention is connected to the disk host and connected to the disk interface for sending and receiving control commands or transmission data from the disk host, a data buffer for temporarily storing the data transmitted therein, a flash memory for storing data of the data buffer, and A write function improving apparatus of a known flash disk system comprising a flash memory interface interfacing between a buffer and a flash memory, and a disk controller for controlling the overall operation thereof, comprising: a cache memory for storing data of the data buffer described above; Configure a cache memory interface that interfaces between the data buffer and the cache memory, but determines the data to be recorded in the system area from the disk controller described above, preferentially writes to the cache memory, and writes the data to the corresponding area of the flash memory during backup. To rock.

이에 따라 본 발명은 디스크의 시스템 영역과 같이 파일 액세스 시 빈번하게 읽기, 쓰기가 발생하는 영역을 속도가 빠르고 반영구적 사용 수명을 가지는 캐시메모리에 매핑함으로써 캐시메모리를 가지지 않는 기존 플래시디스크 시스템에 비하여 전체적인 성능과 수명을 향상시킬 수 있을 뿐만 아니라 급작스런 전원 차단에도 데이터를 보호할 수 있는 방법을 고안한다.Accordingly, the present invention maps an area in which reads and writes frequently occur when a file is accessed, such as a system area of a disk, to a cache memory having a fast and semi-permanent service life, and thus overall performance as compared to a conventional flash disk system having no cache memory. In addition to improving the lifespan and lifespan, the company devises a way to protect data in the event of a sudden power off.

플래시디스크, 쓰기향상 Flash Disk, Write Enhancement

Description

플래시디스크 시스템의 쓰기 기능 향상 장치 및 그 방법{Device for Writing Elevation of Flash Disk Systems and Method Thereof}Device for writing enhancement of flash disk system and method thereof {Device for Writing Elevation of Flash Disk Systems and Method Thereof}

본 발명은 플래시디스크 시스템의 쓰기 기능 향상 장치 및 그 방법에 관한 것으로 특히 플래시메모리로 구성된 플래시디스크가 갖는 느린 데이터 쓰기 속도와 쓰기 횟수 제한에 대한 단점을 극복하기 위한 플래시디스크 시스템에 관한 것이다.The present invention relates to an apparatus and method for improving a write function of a flash disk system, and more particularly, to a flash disk system for overcoming the disadvantages of the slow data write speed and the number of write limitations of a flash disk configured as a flash memory.

주지하는 바와 같이, 반도체 기술의 발달로 자기디스크와 헤더, 모터 등을 구비한 종래의 스토리지 장치로 널리 사용되는 하드디스크에 비해 작고 구조가 간단하며 저렴한 플래시메모리로 구성된 플래시디스크가 스토리지 장치로 이용되면서 플래시메모리의 쓰기 횟수 제한과 블록단위보다 작은 크기로는 쓰지 못하는 문제점을 해결하기 위한 방안들이 제안되었다. 그 대표적인 예로 대한민국 공개특허공보 제19377호(발명의 명칭 : 플래시메모리 이용 보조기억장치 및 그 방법 ; 이하 '인용발명' 이라함)가 있으며, 이는 도 1에서 보는 바와 같이 호스트(60) 컴퓨터로부터 입출력되는 데이터가 임시로 저장되는 버퍼(40)와, 휘발성 스태틱 램(30)으로 구현되어, 상기 버퍼(40)에 입출력되는 데이터가 섹터에 해당하는 크기의 블록으로 설정되어 저장되는 캐시메모리부와, 상기 섹터에 해당하는 크기의 블록으로 상기 캐시메모리부에 저장된 데이터가 상기 호스트(60) 컴퓨터의 제어 하에 입출력되어 저장되는 플래시메모리(20)로 구성된 것이다.As is well known, due to the development of semiconductor technology, a flash disk composed of a small, simple and inexpensive flash memory is used as a storage device, compared to a hard disk widely used as a conventional storage device having a magnetic disk, a header, a motor, and the like. In order to solve the problem of limiting the number of writes of flash memory and writing to a size smaller than a block unit, a solution has been proposed. A representative example thereof is Korean Patent Application Publication No. 19377 (Invention name: Flash memory auxiliary storage device and method thereof; hereinafter referred to as 'quotation invention'), which is input and output from the host 60 computer as shown in FIG. A cache memory unit which is implemented with a buffer 40 and a volatile static RAM 30 to temporarily store data, and the data input and output to the buffer 40 is set and stored as a block having a size corresponding to a sector; A block having a size corresponding to the sector is configured as a flash memory 20 in which data stored in the cache memory unit is inputted and stored under the control of the host 60 computer.

이러한 인용발명은 데이터의 쓰기 동작 수행 시 상기 플래시메모리(20)에 직접 쓰기 동작을 수행하기 이전에, 먼저 상기 스태틱 램(30)으로 상기 쓰기 동작이 수행되도록 한 후, 상기 쓰기 동작이 수행된 상기 스태틱 램(30)의 데이터를 주기적으로 또는 보조기억장치(10)에 접속된 소정의 호스트(60)로부터 동작의 중지 명령이 수신되는 경우 또는 보조기억장치(10)에 전원이 온 되는 경우, 상기 스태틱 램(30)의 데이터를 검색하여 데이터가 존재하면 상기 플래시메모리(20)에 백업되도록 하는 것이며, 상기 호스트(60)로부터 데이터를 Write하라는 명령을 받게 되면, Write하기 위한 데이터를 상기 Tx/Rx버퍼(40)로 전송 받은 후, 스태틱 램(30)을 검색하여 해당 블록이 존재하는지를 판단하여 해당 블록이 존재하는 경우에는 스태틱 램(30)으로 상기 전송 받은 데이터를 저장시키고, 해당 블록이 존재하지 않는 경우에는, 스태틱 램(30)을 검색하여 데이터가 들어있지 않거나 혹은 데이터가 들어있더라도 이미 플래시메모리(20)로 백업(Back Up)을 했기 때문에 데이터가 삭제되어도 관계없는 여유(Free)블록이 있는지를 검색하여 존재하는 것으로 판단되면 Write를 수행한다. 만일 여유 블록이 존재하지 않는 경우에는, 스태틱 램(30)에 존재하는 블록 중 가장 오래된 데이터를 상기 플래시메모리(20)에 백업하여 여유 블록을 만든 후 데이터의 쓰기 동작이 수행되는 것이다.Such a cited invention is described in that the write operation is performed to the static RAM 30 before the write operation is performed directly to the flash memory 20 when the data write operation is performed, and then the write operation is performed. When the data of the static RAM 30 is received periodically or when a stop command of the operation is received from a predetermined host 60 connected to the auxiliary memory device 10 or when the auxiliary memory device 10 is powered on, The data of the static RAM 30 is searched so that the data is backed up to the flash memory 20 when the data exists. When the data to be written is received from the host 60, the data for writing is written to the Tx / Rx. After receiving the buffer 40, the static RAM 30 is searched to determine whether the corresponding block exists. If the corresponding block exists, the received data is transmitted to the static RAM 30. If the block does not exist, the static RAM 30 is searched for data even if there is no data or if the data is deleted because the data has already been backed up to the flash memory 20. If there is no free block, it is searched and if it exists, Write is executed. If there is no spare block, the oldest data among the blocks existing in the static RAM 30 is backed up to the flash memory 20 to make a spare block, and then a data write operation is performed.

그러나 인용발명은 모든 데이터를 스태틱 램(30)에 기록한 후 플래시메모리(20)에 블록단위로 쓰기 때문에 용량이 적은 데이터를 처리하는데 있어서는 효과를 발휘할 수 있으나 스태틱 램(30)의 용량보다 많은 데이터를 처리하기 위해서는 플래시메모리(20)에 이전 데이터를 저장하여 여유 블록을 만든 다음에야 계속해서 저장할 수 있는 것이어서 오히려 검색과 백업을 반복하며 쓰기 시간이 지연되는 문제점이 있는 것이다.However, the cited invention writes all the data in the static RAM 30 and writes the data to the flash memory 20 block by block so that the data can be effective in processing data having a small capacity. However, the cited invention uses more data than the capacity of the static RAM 30. In order to process the data stored in the flash memory 20 can be stored only after the free block is made to continue the storage, rather repeat the search and backup, there is a problem that the write time is delayed.

또한 급작스런 전원 차단의 상황에서는 스태틱 램(30)에 있는 데이터 중 플래시메모리(20)로 백업하지 못한 데이터가 있을 수 있어서 전원 차단 시 데이터가 지워지는 스태틱 램(30)의 특성으로 인해 데이터가 손실되는 문제점이 있는 것이다.In addition, in the case of sudden power off, there may be data that could not be backed up to the flash memory 20 among the data in the static RAM 30, so that data is lost due to the characteristic of the static RAM 30 in which data is erased when the power is cut off. There is a problem.

본 발명의 목적은 이러한 문제점을 해결하기 위하여 디스크 영역 내에 빈번한 쓰기 요구가 발생하는 영역에 대해 플래시디스크 동작 중 반영구적인 사용수명과 빠른 읽기, 쓰기 속도를 가지는 캐시메모리 영역으로 대체하여 동작하는 플래시디스크를 제공함에 있다.An object of the present invention is to replace the flash disk to replace the cache memory area having a semi-permanent service life and fast read and write speed during the operation of the flash disk to the area where frequent write requests occur in the disk area to solve this problem In providing.

또한 본 발명은 급작스런 전원 차단 시에도 데이터 손실이 없는 플래시디스크 시스템을 및 그 방법을 제공한다.In addition, the present invention provides a flash disk system and a method thereof, which have no data loss even in the event of a sudden power off.

본 발명은 이러한 목적을 달성하기 위하여 디스크 호스트와 연결되어 디스크 호스트로부터 제어명령이나 전송데이터를 주고받기 위한 디스크인터페이스에 연결되며 이에 전송되는 데이터를 임시 저장하는 데이터버퍼와, 데이터버퍼의 데이터를 저장하기 위한 플래시메모리와, 데이터버퍼와 플래시메모리 사이에서 인터페이스하는 플래시메모리인터페이스와, 이들의 전체 동작을 제어하는 디스크 컨트롤러로 구성된 공지의 플래시디스크 시스템의 쓰기 기능 향상 장치에 있어서, 전술한 데이터버퍼의 데이터를 저장하기 위한 캐시메모리와, 데이터버퍼와 캐시메모리 사이에서 인터페이스하는 캐시메모리인터페이스를 구성하되, 전술한 디스크 컨트롤러에서 시스템 영역에 기록될 데이터를 판별하여 캐시메모리에 우선적으로 기록하고 백업 시 플래시메모리의 해당 영역에 기록하도록 하여서 된 것이다.In order to achieve the above object, the present invention provides a data buffer which is connected to a disk host and connected to a disk interface for exchanging control commands or transmission data from the disk host and temporarily stores data transmitted thereto, and storing data of the data buffer. A write function improving apparatus of a known flash disk system, comprising a flash memory for interfacing, a flash memory interface for interfacing between a data buffer and a flash memory, and a disk controller for controlling the overall operation thereof, wherein the data of the data buffer described above is stored. A cache memory for storing and a cache memory interface for interfacing between the data buffer and the cache memory is configured, but the data to be written to the system area is determined by the above-mentioned disk controller, and the data is first written to the cache memory and the backup is performed. This is because the data is recorded in the corresponding area of the time memory.

또한 본 발명은 플래시디스크 시스템의 쓰기 기능 향상 방법에 있어서, 전원인가 시 캐시메모리를 가용상태로 초기화 하는 초기화단계와, 입력받은 데이터를 분석하여 시스템 영역의 데이터인지 판단하는 판단단계와, 전 단계의 판단에 따라 캐시메모리와 플래시메모리에 매핑하여 읽고 쓰는 매핑단계와, 매핑단계에서 캐시메모리에 기록된 데이터를 플래시메모리에 백업하는 백업단계로 구성된 것이다.In addition, the present invention provides a method for improving the write function of a flash disk system, comprising: an initialization step of initializing a cache memory to an available state upon power-up, a determination step of analyzing input data, and determining whether the data is system area data; It is composed of a mapping step of reading and writing by mapping to the cache memory and the flash memory as determined, and a backup step of backing up the data recorded in the cache memory in the mapping step to the flash memory.

이와 같이 하여 본 발명은 디스크의 시스템 영역과 같이 파일 액세스 시 빈번하게 읽기, 쓰기가 발생하는 영역을 속도가 빠르고 반영구적 사용 수명을 가지는 캐시메모리에 매핑함으로써 캐시메모리를 가지지 않는 기존 플래시디스크 시스템에 비하여 전체적인 성능과 수명을 향상시킬 수 있을 뿐만 아니라 급작스런 전원 차단에도 데이터를 보호할 수 있는 유용한 효과가 있다.In this way, the present invention maps an area in which frequently reads and writes occur when a file is accessed, such as a system area of a disk, to a cache memory having a fast and semi-permanent service life. In addition to improving performance and lifespan, sudden power offs have the added benefit of protecting your data.

이러한 본 발명을 첨부된 도면을 참조하여 더욱 상세히 설명하면 다음과 같다.Referring to the present invention in more detail with reference to the accompanying drawings as follows.

본 발명에 의한 플래시디스크 시스템의 쓰기 기능 향상 장치의 전체적인 구성을 도 2로 도시하였다.The overall configuration of the write function improving apparatus of the flash disk system according to the present invention is shown in FIG.

이에서 볼 수 있는 바와 같이, 본 발명은 디스크 호스트(0)와 연결되어 디스크 호스트(0)로부터 제어명령이나 전송데이터를 주고받는 USB, PATA, SATA 등의 표준 디스크인터페이스(1)에 전송데이터를 임시로 보관하는 데이터버퍼(2)가 구비되고, 데이터버퍼(2)의 데이터를 NAND 혹은 NOR타입의 플래시메모리(5)를 제어하고 데이터를 읽고 쓰기 위한 플래시메모리인터페이스(4)에 의해 액세스(Access)하여 저장하기 위한 플래시메모리(5)와, 전체 플래시디스크의 동작을 제어하는 디스크 컨트롤러(3)로 구성된 공지의 플래시디스크 시스템의 쓰기 기능 향상 장치에 있어서, 전술한 데이터버퍼(2)의 데이터를 저장하기 위한 캐시메모리(7)와, 캐시메모리(7)를 제어하고 데이터를 기록하고 읽어내기 위한 캐시메모리인터페이스(6)와, 전원차단을 감지하여 전원차단 시 캐시메모리(7)의 데이터를 플래시메모리(5)로 저장할 수 있도록 하는 전원차단감지기(8) 및 보조전원장치(9)로 구성될 수 있다.As can be seen from the above, the present invention is connected to the disk host (0) to transfer the transmission data to a standard disk interface (1), such as USB, PATA, SATA, etc. to send and receive control commands or transmission data from the disk host (0) A data buffer 2 for temporary storage is provided, and the data of the data buffer 2 is controlled by a flash memory interface 4 for controlling the NAND or NOR type flash memory 5 and reading and writing data. In the write function improving apparatus of a known flash disk system comprising a flash memory (5) for storing and storing and a disk controller (3) for controlling the operation of the entire flash disk, the data of the above-described data buffer (2) is stored. A cache memory 7 for storing, a cache memory interface 6 for controlling the cache memory 7, recording and reading data, and a cache at power-off by detecting a power cut Memory can be configured the data of (7) to the power off detector 8 and the auxiliary power supply 9, which allows you to store to the flash memory (5).

이를 각 구성요소별로 더욱 상세하게 설명하면, 전술한 디스크 컨트롤러(3)는 호스트(0)로부터 디스크인터페이스(1)를 통해 전달되는 전송명령과 전송데이터를 분석하고, 이에서 어드레스를 검출하여 도 3으로 예시한 바와 같은 디스크 어드레스 영역 지도와의 비교를 통해 시스템 영역에 해당하는 데이터인지 여부를 확인하며, 시스템 영역이 아닌 경우 플래시메모리(5) 어드레스 매핑(Address Mapping)을 통해 플래시메모리인터페이스(4)를 컨트롤하여 임시 저장된 데이터버퍼(2)에서 플래시메모리(5)의 해당 영역에 바로 기록하고, 시스템 영역에 해당하면 캐시메모리(7) 어드레스 매핑을 통해 캐시메모리인터페이스(6)를 컨트롤하여 임시 저장된 데이터버퍼(2)에서 캐시메모리(7)의 해당 영역에 기록한 후 백업 시 플래시메모리(5)에 기록하도록 한다. 또한 디스크 컨트롤러(3)는 전술한 백업 시를 판단하여 캐시메모리(7)의 데이터를 플래시메모리(5)로 백업 하고, 전송명령에 의해 플래시메모리(5)들로 구성된 플래시디스크에 데이터를 읽고 쓰는 동작을 제어한다.To describe this in more detail for each component, the above-described disk controller 3 analyzes the transfer command and the transfer data transmitted from the host 0 through the disk interface 1, detects the address therefrom and FIG. By comparing with the disk address area map as illustrated, it is confirmed whether or not the data corresponding to the system area. If not the system area, the flash memory interface (4) through flash memory (5) address mapping. Control and write the data directly from the temporarily stored data buffer (2) to the corresponding area of the flash memory (5), and if the system area, the cache memory interface (6) is controlled via the cache memory (7) address mapping to temporarily store the data. The buffer 2 writes to the corresponding area of the cache memory 7 and then writes to the flash memory 5 during backup. In addition, the disk controller 3 judges the above-mentioned backup time and backs up the data of the cache memory 7 to the flash memory 5, and reads and writes data to and from a flash disk composed of the flash memories 5 by a transfer command. Control the operation.

그리고 전술한 전원차단감지기(8)는 플래시디스크 시스템에 공급되는 메인전원과 디스크 컨트롤러(3)와 보조전원장치(9)에 연결되어 플래시디스크 시스템에 공급되는 전원의 차단 여부를 감지하며, 전원차단 시 보조전원장치(9)를 작동 시키고, 디스크 컨트롤러(3)에게 전원차단을 알려 백업을 실시하도록 하는 기능을 하는 것이며, 보조전원장치(9)는 이와 같이 전원차단 시 디스크 컨트롤러(3)가 백업을 실시할 수 있도록 비상 전원을 공급하고 전원인가 시 충전되는 것이다. 이러한 보조전원장치(9)는 공지의 충전지로 구성할 수 있으며, 일반 전지를 교체하여 사용할 수 있고, 별도의 전원을 공급하는 장치일 수도 있다.In addition, the above-described power cutoff detector 8 is connected to the main power supplied to the flash disk system, the disk controller 3 and the auxiliary power supply 9, and detects whether the power supplied to the flash disk system is cut off. The auxiliary power supply 9 is operated at the time, and the disk controller 3 is backed up by informing the power supply to be turned off. The auxiliary power supply 9 is backed up by the disk controller 3 when the power is turned off. Emergency power is supplied so that it can be charged when power is applied. The auxiliary power supply 9 can be configured with a known rechargeable battery, can be used to replace the general battery, it may be a device for supplying a separate power.

이러한 본 발명에 의한 플래시디스크 시스템의 전체적인 동작을 살펴보면 플래시디스크 시스템의 쓰기 기능 향상 방법은 전원인가 시 캐시메모리를 가용상태로 초기화 하는 초기화단계와, 입력받은 데이터를 분석하여 시스템 영역의 데이터인지 판단하는 판단단계와, 전 단계의 판단에 따라 캐시메모리와 플래시메모리에 매핑하여 읽고 쓰는 매핑단계와, 매핑단계에서 캐시메모리에 기록된 데이터를 플래시메모리에 백업하는 백업단계로 구성된다.Looking at the overall operation of the flash disk system according to the present invention, the write function improvement method of the flash disk system includes an initialization step of initializing the cache memory to an available state when the power is applied, and analyzing the received data to determine whether the data is in the system area. The determination step includes a mapping step of mapping and reading and writing to the cache memory and the flash memory according to the determination of the previous step, and a backup step of backing up the data recorded in the cache memory in the mapping step to the flash memory.

이를 상세하게 설명하면 도 4에서 보는 바와 같이 디스크에 데이터를 기록하는 경우 디스크인터페이스(1)를 통해 전달되는 전송명령과 전송데이터는 데이터버퍼(2)를 통해 디스크 컨트롤러(3)로 전달되고 디스크 컨트롤러(3)는 데이터 전송 명령을 분석하고 전송 어드레스를 검출한다. 디스크 컨트롤러(3)는 전송 어드레스로부터 캐시메모리(7)로 전달되어야 하는지 플래시메모리(5)로 전달되어야 하는지를 어드레스 매핑 규칙에 따라 결정하여 데이터 전송을 결정하는 판단단계를 실시한다. 그 후 어드레스를 검출하여 판별한 결과 시스템 영역에 해당하는 데이터이면 캐시메모리(7)에 저장하고 일정시간 지연시킨 후 플래시메모리(5)로 전달하여 쓰기를 수행하는 매핑단계를 실시한다. 이 때 지연 되고 있는 중에 같은 영역에 대해 쓰기가 다시 시도된 경우 이를 캐시메모리(7)에 업데이트하여 저장한 후 다시 지연시킨다. 이렇게 함으로 쓰기가 특정영역에 반복적으로 나타나는 시스템영역의 경우 실제 플래시메모리(5)의 쓰기 횟수를 획기적으로 줄일 수 있어서 플래시메모리(5)의 성능 및 수명을 늘릴 수 있는 것이다.In detail, when the data is recorded on the disk as shown in FIG. 4, the transfer command and the transfer data transmitted through the disk interface 1 are transferred to the disk controller 3 through the data buffer 2 and the disk controller. (3) analyzes the data transfer command and detects the transfer address. The disk controller 3 performs a determination step of determining data transfer by determining, according to an address mapping rule, whether it should be transferred from the transfer address to the cache memory 7 or the flash memory 5. After that, if the address is detected and determined, the data corresponding to the system area is stored in the cache memory 7, delayed for a predetermined time, and then transferred to the flash memory 5 to perform the mapping step. At this time, if a write is attempted again for the same area while being delayed, it is updated and stored in the cache memory 7 and delayed again. In this way, in the case of a system area in which writing repeatedly appears in a specific area, the number of times of writing of the actual flash memory 5 can be dramatically reduced, thereby increasing the performance and life of the flash memory 5.

이와는 반대로 디스크에서 데이터를 읽는 경우 디스크인터페이스(1)를 통해 전달되는 전송명령으로부터 디스크 컨트롤러(3)는 전송 어드레스를 검출하여 내부의 어드레스 매핑 규칙에 따라 해당 데이터의 위치를 찾아내는 판단단계 및 매핑단계를 수행한 후 이에 따라 캐시메모리(7) 또는 플래시메모리(5) 영역에서 읽혀진 데이터는 데이터버퍼(2)와 디스크인터페이스(1)를 거쳐 호스트(0)로 전달된다.On the contrary, when reading data from the disk, the disk controller 3 detects the transmission address from the transfer command transmitted through the disk interface 1, and determines the location of the data according to the internal address mapping rule. After execution, data read from the cache memory 7 or flash memory 5 area is transferred to the host 0 via the data buffer 2 and the disk interface 1.

아울러 플래시메모리(5) 어드레스 매핑만을 관리하는 기존 시스템에 비해 본 발명에 따른 디스크 컨트롤러(3)는 캐시메모리(7) 어드레스 매핑 규칙도 같이 관리한다. 일반적으로 디스크 어드레스 영역은 도 3과 같이 구성되며, 이 중 파티션 테이블, 부트 레코드, 파일할당테이블, 백업 파일할당테이블 등을 포함하는 시스템 영역은 개별 파일의 읽기 쓰기가 일어날 때마다 반복적으로 읽혀지고 변경된다. 따라서 쓰기 성능 및 수명에 제한이 있는 플래시메모리(5)의 특성상 해당 영역을 쓰기 성능이 우수하고 쓰기 수명에 제한이 없는 일반적인 SRAM이나 DRAM을 사용하는 캐시메모리(7)에 매핑하면 플래시디스크의 전체적인 성능과 수명을 향상시킬 수 있다. 즉 디스크 컨트롤러(3)는 시스템 영역에 대한 어드레스가 들어오면 이를 캐시메모리(7)내 어드레스로 우선적으로 매핑하여 쓰기 또는 읽기를 수행할 수 있다.In addition, the disk controller 3 according to the present invention manages the cache memory 7 address mapping rule as well as the existing system that manages only the flash memory 5 address mapping. In general, the disk address area is configured as shown in FIG. 3, and a system area including a partition table, a boot record, a file allocation table, a backup file allocation table, and the like is repeatedly read and changed whenever a read or write of an individual file occurs. do. Therefore, if the area is mapped to the cache memory (7) using general SRAM or DRAM which has excellent write performance and no write life limitation, the flash memory (5) has a limitation in write performance and lifespan. Can improve the service life. In other words, when an address for a system area is received, the disk controller 3 may preferentially map it to an address in the cache memory 7 to perform writing or reading.

또한 캐시메모리(7) 내부 어드레스 영역도 블록 단위로 나누어 관리하는 것이 효과적이며 블록 별로 캐시메모리(7)에 저장된 데이터가 타당(Valid)한지를 따로 기록하고 관리한다. 캐시메모리(7)는 전원이 인가되지 않는 상황에서는 내용을 보존할 수 없으므로 디스크 컨트롤러(3)는 전원이 처음 인가될 시 캐시메모리(7)의 모든 블록에 대해 타당하지 않은 것으로 초기화하여 캐시메모리(7)를 가용상태로 하고 시작하는 초기화단계를 실시한다.In addition, it is effective to manage the internal address area of the cache memory 7 in units of blocks, and separately records and manages whether the data stored in the cache memory 7 is valid for each block. Since the cache memory 7 cannot retain its contents when the power is not applied, the disk controller 3 initializes all the blocks of the cache memory 7 as invalid when the power is first applied to the cache memory. Perform the initialization step to make 7) available and start.

캐시메모리(7)에 블록 단위의 읽기를 수행할 경우 해당 블록이 타당하지 않은 것으로 기록되어 있는 경우 플래시메모리(5) 영역에서 상응하는 데이터를 읽어서 캐시메모리(7)에 채워 넣고 읽기를 수행하거나 캐시메모리(7)에 채워 넣는 것과 동시에 데이터버퍼(2)로 전송해 줄 수도 있다. 캐시메모리(7)에 블록 단위의 쓰기를 수행할 경우는 해당 블록이 타당한지 여부와 상관없이 쓰기를 수행하고 해당블록을 타당한 것으로 셋팅할 수 있으나 블록의 일부만 쓰기가 이루어지는 경우 해당블록을 플래시메모리(5)에서 읽어온 후 타당(Valid)비트을 셋팅하고 쓰기 동작을 수행한다. 또한 시스템 영역 외에 쓰기 동작이 빈번하게 발생하는 디스크 어드레스 영역도 디스크 컨트롤러(3)가 동적으로 판단하여 캐시메모리(7)에 매핑할 수 있다.When performing block-level reads to the cache memory 7, if the corresponding block is recorded as invalid, read the corresponding data from the flash memory 5 area, fill the cache memory 7, and perform a read or cache The memory 7 may be filled and transferred to the data buffer 2 at the same time. In the case of writing block unit to the cache memory 7, the block can be written regardless of whether the block is valid and the block can be set as valid. However, if only a part of the block is written, the block is stored in flash memory ( After reading in 5), set the Valid bit and perform the write operation. In addition, the disk controller 3 may dynamically map the disk address area in which the write operation occurs frequently, in addition to the system area, to be mapped to the cache memory 7.

아울러 플래시디스크 시스템에 전원이 차단되기 전에 캐시메모리(7)의 내용은 비휘발성인 플래시메모리(5)로 옮겨져야 하므로 백업단계를 실시하게 되는 것이며, 이를 위해 세가지 방법을 고려할 수 있다. 첫째는 호스트(0)로부터 캐시메모리플러쉬 명령을 받아 캐시메모리(7) 내용을 플래시메모리(5)로 옮겨 백업하는 것이고, 둘째는 디스크액세스가 어느 기간 동안 발생하지 않는 타임아웃의 경우에 백업을 수행하는 것이며, 세번째는 급작스런 전원 차단이 예기되는 시스템이라면 전원차단감지기(8) 및 보조전원장치(9)을 두어 전원차단을 탐지한 경우 보조전원장 치(9)로 일시적으로 전원을 공급하면서 캐시메모리(7)에 저장된 데이터를 백업할 수도 있다. 첫째 와 두 번째 방법만을 구현하는 경우 전원차단감지기(8) 과 보조전원장치(9)는 전체 구성에서 제외될 수 있음은 물론이다.In addition, since the contents of the cache memory 7 must be transferred to the nonvolatile flash memory 5 before the flash disk system is powered off, a backup step is performed. Three methods can be considered. First, the cache memory flush command is received from the host (0), and the contents of the cache memory (7) are transferred to the flash memory (5). Second, the backup is performed in the case of a timeout in which disk access does not occur for a period of time. Third, if a system is expected to suddenly shut down, a power shutoff detector (8) and an auxiliary power supply (9) are provided to cache power while temporarily supplying power to the auxiliary power supply (9). The data stored in (7) can also be backed up. In the case of implementing only the first and second methods, the power cutoff detector 8 and the auxiliary power supply 9 may be excluded from the overall configuration.

더 나아가 타임아웃 기준을 디스크액세스 외에 블록액세스도 두어서 디스크액세스 중에도 액세스가 없는 블록에 한해서 해당 블록을 백업하거나 또는 동작 중에 타임아웃이 아니더라도 캐시메모리(7)가 풀인 경우 한 액세스가 없는 블록을 플래시메모리(5)로 백업하여 캐시메모리(7)에 계속해서 데이터를 기록할 수 있도록 할 수 있다.Furthermore, block access in addition to disk access is based on the time-out criterion, so that the block can be backed up only for blocks that are not accessed even during disk access, or flashed as long as the cache memory 7 is full even if the cache is not timed out during operation. It is possible to back up to the memory 5 so that data can be continuously recorded in the cache memory 7.

이러한 캐시메모리(7) 내용의 백업 시 타당(Valid)비트가 셋팅된 블록에 대해서만 백업을 수행한다. 백업 데이터 량을 줄이기 위한 방법으로 블록별로 타당(Valid)비트 외에 변경(Dirty)비트를 둘 수 있으며 해당 블록이 변경된 경우에 한하여 변경(Dirty)비트를 셋팅할 수 있어서 변경(Dirty)비트를 추가로 두는 경우 캐시메모리(7) 백업 상황의 발생할 시 타당(Valid)비트와 변경(Dirty)비트가 동시에 셋팅된 블록에 대해서만 백업을 수행하는 것이다.When backing up the contents of the cache memory 7, backup is performed only for a block in which a valid bit is set. As a way to reduce the amount of backup data, the bit can be changed in addition to the valid bit for each block, and the bit can be set only when the corresponding block is changed. In this case, when the cache memory 7 backup situation occurs, the backup is performed only for the block in which the Valid bit and the Dirty bit are set at the same time.

도1은 인용발명의 구성도.1 is a block diagram of a cited invention.

도2는 본 발명에 의한 플래시디스크 시스템의 구성도.2 is a block diagram of a flash disk system according to the present invention.

도3은 디스크 어드레스 영역 지도의 예시도.3 is an illustration of a disc address area map.

도4는 본 발명에 의한 플래시디스크 시스템의 쓰기 동작을 나타내는 흐름도.4 is a flowchart showing a write operation of a flash disk system according to the present invention;

*도면의 주요 부분에 대한 부호의 설명* Explanation of symbols for the main parts of the drawings

0:호스트 1:디스크인터페이스0: Host 1: Disk Interface

2:데이터버퍼 3:디스크 컨트롤러2: data buffer 3: disk controller

4:플래시메모리인터페이스 5:플래시메모리4: Flash memory interface 5: Flash memory

6:캐시메모리인터페이스 7:캐시메모리6: Cache memory interface 7: Cache memory

8:전원차단감지기 9:보조전원장치8: Power off detector 9: Auxiliary power supply

Claims (5)

디스크 호스트와 연결되어 디스크 호스트로부터 제어명령이나 전송데이터를 주고받기 위한 디스크인터페이스에 연결되며 이에 전송되는 데이터를 임시 저장하는 데이터버퍼와, 데이터버퍼의 데이터를 저장하기 위한 플래시메모리와, 데이터버퍼와 플래시메모리 사이에서 인터페이스하는 플래시메모리인터페이스와, 이들의 전체 동작을 제어하는 디스크 컨트롤러로 구성된 공지의 플래시디스크 시스템의 쓰기 기능 향상 장치에 있어서,Data buffer which is connected to the disk host and is connected to the disk interface for sending and receiving control commands or transmission data from the disk host, and temporarily stores the data transmitted therein, flash memory for storing the data of the data buffer, data buffer and flash In the write function improving apparatus of a known flash disk system composed of a flash memory interface for interfacing between memories and a disk controller for controlling the overall operation thereof, 전술한 데이터버퍼의 데이터를 저장하기 위한 캐시메모리와, 상기 데이터버퍼와 캐시메모리 사이에서 인터페이스하는 캐시메모리인터페이스가 상기 디스크 컨트롤러에 연결되어, 상기 디스크 컨트롤러에서 시스템 영역에 기록될 데이터를 판별하여 캐시메모리인터페이스를 통해 캐시메모리에 우선적으로 기록하고, 백업 시 캐시메모리에 우선적으로 기록된 상기 시스템 영역에 기록될 데이터를 플래시메모리에 기록하도록 함을 특징으로 하는 플래시디스크 시스템의 쓰기 기능 향상 장치.A cache memory for storing data of the data buffer described above, and a cache memory interface interfacing between the data buffer and the cache memory are connected to the disk controller, and the disk controller determines data to be written to a system area, and then caches the memory. And writing data to a cache memory through an interface, and to write data to be written in the system area preferentially written to the cache memory to a flash memory during a backup. 청구항 1에 있어서,The method according to claim 1, 전술한 플래시디스크 시스템에 전원차단 시 이를 감지하여 전술한 디스크 컨트롤러로 하여금 캐시메모리의 데이터를 플래시메모리에 백업하도록 하는 전원차단감지기와, 이 때 플래시디스크 시스템에 임시 전원을 공급하고 전원인가 시 충전되는 보조전원장치를 구비함을 특징으로 하는 플래시디스크 시스템의 쓰기 기능 향상 장치.A power cut detector which detects the power failure of the above-described flash disk system and causes the aforementioned disk controller to back up the data in the cache memory to the flash memory, and at this time, supplies the temporary power to the flash disk system and is charged when the power is applied. A write function improving apparatus for a flash disk system, characterized by comprising an auxiliary power supply. 제2항의 장치를 이용한 플래시디스크 시스템의 쓰기 기능 향상 방법에 있어서,In the method of improving the write function of a flash disk system using the apparatus of claim 2, 전원인가 시 캐시메모리를 가용상태로 초기화 하는 초기화단계와, 입력받은 데이터를 분석하여 시스템 영역의 데이터인지 판단하는 판단단계와, 전 단계의 판단에 따라 캐시메모리와 플래시메모리에 매핑하여 읽고 쓰는 매핑단계와, 매핑단계에서 캐시메모리에 기록된 데이터를 플래시메모리에 백업하는 백업단계로 구성됨을 특징으로 하는 플래시디스크 시스템의 쓰기 기능 향상 방법.An initialization step of initializing the cache memory to an available state upon power-up, a determination step of analyzing input data to determine whether the data is system area, and a mapping step of mapping and reading and writing to the cache memory and the flash memory according to the determination of the previous step. And a backup step of backing up data recorded in the cache memory to the flash memory in the mapping step. 청구항 3에 있어서,The method of claim 3, 전술한 백업단계는 디스크액세스가 설정된 기간 동안 발생하지 않고, 디스크액세스 중에도 액세스가 없는 블록에 대한 타임아웃의 경우 백업을 실시함을 특징으로 하는 플래시디스크 시스템의 쓰기 기능 향상 방법.The above-mentioned backup step does not occur during a set period of disk access, and in the case of time-out for a block which is not accessed even during disk access, the write function of the flash disk system. 청구항 3에 있어서,The method of claim 3, 전술한 백업단계는 전원차단감지기로부터 전원차단을 탐지하여 보조전원장치를 작동시키고, 디스크 컨트롤러로 하여금 백업을 실시하도록 함을 특징으로 하는 플래시디스크 시스템의 쓰기 기능 향상 방법.The above-mentioned backup step detects the power cutoff from the power cutoff detector, operates the auxiliary power supply, and causes the disk controller to perform the backup.
KR1020080068687A 2008-07-15 2008-07-15 Device for Writing Elevation of Flash Disk Systems and Method Thereof KR101013465B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080068687A KR101013465B1 (en) 2008-07-15 2008-07-15 Device for Writing Elevation of Flash Disk Systems and Method Thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080068687A KR101013465B1 (en) 2008-07-15 2008-07-15 Device for Writing Elevation of Flash Disk Systems and Method Thereof

Publications (2)

Publication Number Publication Date
KR20100008227A KR20100008227A (en) 2010-01-25
KR101013465B1 true KR101013465B1 (en) 2011-02-14

Family

ID=41816896

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080068687A KR101013465B1 (en) 2008-07-15 2008-07-15 Device for Writing Elevation of Flash Disk Systems and Method Thereof

Country Status (1)

Country Link
KR (1) KR101013465B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06282380A (en) * 1993-03-25 1994-10-07 Toshiba Corp Disk storage device
JPH1063551A (en) * 1996-08-16 1998-03-06 Nec Off Syst Ltd Information processor
KR20060117899A (en) * 2003-07-07 2006-11-17 가부시키가이샤 히타치초엘에스아이시스템즈 Storage device and storage system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06282380A (en) * 1993-03-25 1994-10-07 Toshiba Corp Disk storage device
JPH1063551A (en) * 1996-08-16 1998-03-06 Nec Off Syst Ltd Information processor
KR20060117899A (en) * 2003-07-07 2006-11-17 가부시키가이샤 히타치초엘에스아이시스템즈 Storage device and storage system

Also Published As

Publication number Publication date
KR20100008227A (en) 2010-01-25

Similar Documents

Publication Publication Date Title
US11830546B2 (en) Lifetime mixed level non-volatile memory system
US8626996B2 (en) Solid state memory (SSM), computer system including an SSM, and method of operating an SSM
US9146851B2 (en) Single-level cell and multi-level cell hybrid solid state drive
US9804784B2 (en) Low-overhead storage of a hibernation file in a hybrid disk drive
US8909986B2 (en) Data storing method for solid state drive to preserve data integrity after power failure
US20180329818A1 (en) Preserving data upon a power shutdown
US9645769B2 (en) Performance acceleration during shutdown of a data storage device
US9075733B1 (en) Selective storage of address mapping metadata in a system having multiple memories
US10048863B1 (en) Open block refresh management
CN105718530B (en) File storage system and file storage control method thereof
US9208101B2 (en) Virtual NAND capacity extension in a hybrid drive
KR101678911B1 (en) Data storage device and computing system including the same
US9443591B2 (en) Storage device out-of-space handling
US20130080689A1 (en) Data storage device and related data management method
US20220269572A1 (en) Storage device and method for operating storage device
US20100050007A1 (en) Solid state disk and method of managing power supply thereof and terminal including the same
JP2011070365A (en) Memory system
KR20210144249A (en) Storage device and operating method of the same
KR20220103340A (en) Data storage device and operating method thereof
US20190361608A1 (en) Data storage device and operation method for recovery, and storage system having the same
KR101013465B1 (en) Device for Writing Elevation of Flash Disk Systems and Method Thereof
CN107765989B (en) Storage device control chip, storage device and storage device management method
US20120124275A1 (en) Memory system and data storage method
KR20110041843A (en) Hybrid storage device and operating method for the same
US20230146696A1 (en) Storage device and method for restoring meta data thereof

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150130

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160129

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190131

Year of fee payment: 9