KR20110017489A - Method of managing block information for flash memory - Google Patents

Method of managing block information for flash memory Download PDF

Info

Publication number
KR20110017489A
KR20110017489A KR1020090074969A KR20090074969A KR20110017489A KR 20110017489 A KR20110017489 A KR 20110017489A KR 1020090074969 A KR1020090074969 A KR 1020090074969A KR 20090074969 A KR20090074969 A KR 20090074969A KR 20110017489 A KR20110017489 A KR 20110017489A
Authority
KR
South Korea
Prior art keywords
block
block information
management
flash memory
information
Prior art date
Application number
KR1020090074969A
Other languages
Korean (ko)
Other versions
KR101072528B1 (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 KR1020090074969A priority Critical patent/KR101072528B1/en
Publication of KR20110017489A publication Critical patent/KR20110017489A/en
Application granted granted Critical
Publication of KR101072528B1 publication Critical patent/KR101072528B1/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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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
    • G06F12/0891Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • 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]

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)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

PURPOSE: A method for managing block information of a flash memory is provided to move block information stored in a cache to a main management block when the number of block information stored in the cache or a sub management block is larger than a predetermined number, thereby minimizing the frequency of using the main management block. CONSTITUTION: If block information of a flash memory(104) is changed, the changed block information is temporarily stored in a cache(102). The block information is moved to a sub management block(106) of the flash memory according to an event for moving the first block information. Block information stored in the cache is moved to a main management block(108) of the flash memory according to an event for moving the second block information.

Description

플래시 메모리의 블록정보 관리방법{Method of managing block information for flash memory}Method of managing block information for flash memory

본 발명은 플래시 메모리 관리기술에 관한 것으로, 더욱 상세하게는 플래시 메모리의 블록정보 관리방법에 관한 것이다. The present invention relates to a flash memory management technology, and more particularly, to a block information management method of a flash memory.

일반적으로 가전 기기나 통신 기기, 셋탑 박스 등의 내장형 시스템(Embedded System)에서는 데이터를 저장하고 처리하기 위한 저장매체로써 비휘발성 메모리가 많이 사용되고 있다.In general, non-volatile memory is widely used as a storage medium for storing and processing data in embedded systems such as home appliances, communication devices, and set-top boxes.

상기 비휘발성 메모리 중 NAND 플래시 메모리는 하드웨어적 특성상 기존의 램(Random Access Memory, RAM)이나 비휘발성 저장매체 등과 마찬가지로 특정 위치에 저장된 데이터를 임의로 접근할 수 있지만, 데이터를 삭제할 경우에는 기존의 저장매체와는 다르게 블록(Block) 단위로 삭제가 이루어진다. Among the nonvolatile memories, NAND flash memory can randomly access data stored in a specific location like a random access memory (RAM) or a nonvolatile storage media due to its hardware, but when deleting data, the existing storage media Unlike the deletion, blocks are deleted in units of blocks.

따라서 이와 같은 특성을 가진 플래시 메모리의 블록들을 관리하기 위해 각각의 블록에 대한 블록정보를 가져야 한다. 이들 블록정보로는, 그 블록이 에러를 갖는 블록, 즉 배드 블록인지의 여부, 공백 블록인지의 여부, 블록의 데이터 삭제 횟수, 논리 블록과 물리 블록간의 사상을 위한 논리 블록 주소 등이 있다. 이와 같 은 블록정보는 시스템 가동시에 메모리내의 각 블록의 데이터를 스캔하여, 각종 정보를 얻을 필요가 있다.Therefore, in order to manage the blocks of the flash memory having such characteristics, it must have the block information for each block. The block information includes a block having an error, that is, a bad block, a blank block, the number of times of data deletion of the block, a logical block address for mapping between the logical block and the physical block, and the like. Such block information needs to be scanned for data of each block in the memory at system startup to obtain various information.

상기한 블록정보를 관리하는 종래기술을 도시한 도 1 및 도 2를 참조하여 설명한다. 상기 도 1은 블록정보를 관리하기 위해 각 블록마다 특정영역을 정보를 기록하기 위해 사용하는 것을 예시하였고, 상기 도 2는 블록들의 정보를 관리하는 관리블록을 두어 전체 블록의 정보를 일괄적으로 기록하는 방법을 예시하였다. A description will be given with reference to FIGS. 1 and 2, which illustrate the prior art for managing the block information. FIG. 1 illustrates the use of a specific area for recording information for each block in order to manage block information. FIG. 2 includes a management block for managing information of blocks. How to do is illustrated.

상기 도 1의 예와 같이 각 블록마다 특정 영역에 블록정보를 기록하는 방법을 사용할 경우에는 시스템 가동 시에 블록들의 블록정보를 얻기 위해서는 모든 블록에 접근해야만 하므로, 블록의 수가 많아짐에 따라 블록들의 정보를 얻기 위한 시간이 길어지는 문제가 있었다. In the case of using the method of recording block information in a specific area for each block as in the example of FIG. 1, all blocks must be accessed to obtain block information of blocks when the system is running. There was a problem with getting time to get long.

그리고 도 2의 예와 같이 관리블록을 따로 두어 전체 블록의 블록정보를 관리하게 된다면, 시스템 가동시에 관리블록만을 접근하여 블록들의 정보를 얻어올 수 있게 된다. 그러나 계속되는 블록정보의 변경으로 관리블록내에 기록 가능한 공간이 없어지게 된다면 새로운 관리블록을 할당받아야만 한다. 또한 이러한 관리블록의 수를 제한적으로 사용하게 되는 경우에는 도 3에 도시한 바와 같이 기존의 관리블록에서 유효한 블록정보만을 새로운 관리블록으로 옮기는 작업이 요구되었다. 이와 같이 새로운 관리블록으로 블록정보를 옮기는 작업이 자주 발생한다면 시스템 성능에 영향을 미칠 수 있는 문제가 있었다.If the management block is separately set as shown in the example of FIG. 2 to manage the block information of the entire block, only the management block can be accessed to obtain the information of the blocks when the system is operating. However, if there is no recordable space in the management block due to the continuous change of the block information, a new management block must be allocated. In addition, when a limited number of such management blocks is used, as shown in FIG. 3, a task of moving only valid block information from an existing management block to a new management block is required. As such, if the operation of moving block information to a new management block frequently occurs, there is a problem that may affect system performance.

본 발명은 보조관리블록과 주관리블록을 구비하고, 블록정보의 변경시에는 변경된 블록정보를 최소단위(섹터) 크기의 시스템 메모리인 캐시와 보조관리블록에 저장하고 상기 보조관리블록에 저장된 블록정보의 수가 미리 정해둔 수 이상인 경우에는 상기 캐시에 저장된 블록정보를 상기 주관리블록으로 이동시켜 저장하여 주관리블록의 사용횟수를 최소화하는 플래시 메모리의 블록정보 관리방법을 제공하는 것을 그 목적으로 한다. The present invention includes an auxiliary management block and a main management block, and when the block information is changed, the changed block information is stored in a cache and an auxiliary management block, which is a system memory having a minimum unit (sector) size, and the block information stored in the auxiliary management block. When the number of times is greater than or equal to a predetermined number, the object of the present invention is to provide a block information management method of a flash memory which minimizes the number of times of use of a main management block by moving the block information stored in the cache to the main management block.

또한 본 발명의 다른 목적은 변경된 블록정보를 상기 캐시에 누적하여 저장하였다가 보조관리블록으로 이동하여, 상기 보조관리블록의 사용횟수를 최소화하는 플래시 메모리의 블록정보 관리방법을 제공하는 것이다. Another object of the present invention is to provide a method of managing block information of a flash memory which accumulates and stores changed block information in the cache and moves to an auxiliary management block to minimize the number of times of use of the auxiliary management block.

또한 본 발명의 또 다른 목적은 주관리블록에 블록정보를 기록할 때에 보조관리블록의 물리번호와 사용가능 위치를 함께 기록하는 플래시 메모리의 블록정보 관리방법을 제공하는 것이다. It is still another object of the present invention to provide a block information management method of a flash memory for recording physical information and usable positions of an auxiliary management block when recording block information in a main management block.

또한 본 발명의 또 다른 목적은 시스템 가동시 주관리블록에 기록된 블록정보 얻어오며, 주관리블록에 기록된 보조관리블록의 블록번호 및 사용가능 위치 정보를 바탕으로 보조 관리블록에 기록된 블록정보를 획득하는 플래시 메모리의 블록정보 관리방법을 제공하는 것이다. In addition, another object of the present invention is to obtain the block information recorded in the main management block when the system is running, the block information recorded in the auxiliary management block based on the block number and usable location information of the auxiliary management block recorded in the main management block It is to provide a block information management method of a flash memory to obtain a.

상기한 목적을 달성하기 위한 본 발명에 따르는 플래시 메모리의 블록정보 관리방법은, 플래시 메모리의 블록정보가 변경되면, 상기 변경된 블록정보를 시스템 메모리의 캐시에 임시 저장하는 단계; 제1블록정보 이동 이벤트에 따라 상기 캐 시에 저장된 블록정보를 상기 캐시에 저장된 블록정보를 상기 플래시 메모리에 구비된 보조관리블록으로 이동하는 단계; 제2블록정보 이동 이벤트에 따라 상기 캐시에 저장된 블록정보를 상기 플래시 메모리에 구비된 주관리블록으로 이동하는 단계;를 포함하는 것을 특징으로 한다. According to another aspect of the present invention, there is provided a method of managing block information of a flash memory, the method comprising: temporarily storing the changed block information in a cache of a system memory when the block information of the flash memory is changed; Moving the block information stored in the cache to an auxiliary management block provided in the flash memory according to a first block information movement event; Moving block information stored in the cache to a main management block provided in the flash memory according to a second block information movement event.

본 발명은 보조관리블록과 주관리블록을 구비하고, 블록정보의 변경시에는 변경된 블록정보를 최소단위(섹터) 크기의 시스템 메모리인 캐시와 보조관리블록에 저장하고 상기 캐시에 저장된 블록정보의 수 또는 상기 보조관리블록에 저장된 블록정보의 수가 미리 정해둔 수 이상인 경우에는 상기 캐시에 저장된 블록정보를 상기 주관리블록으로 이동시켜 저장하여 주관리블록의 사용횟수를 최소화할 수 있는 효과가 있다.  The present invention includes an auxiliary management block and a main management block, and when the block information is changed, the changed block information is stored in the cache and the auxiliary management block, the system memory having a minimum unit (sector) size, and the number of block information stored in the cache. Alternatively, when the number of block information stored in the auxiliary management block is more than a predetermined number, the block information stored in the cache may be moved to the main management block and stored, thereby minimizing the number of times of use of the main management block.

또한 본 발명은 변경된 블록정보를 상기 캐시에 누적하여 저장하였다가 보조관리블록으로 이동하여, 상기 보조관리블록의 사용횟수를 최소화할 수 있다. In addition, the present invention accumulates and stores the changed block information in the cache to move to the auxiliary management block, it is possible to minimize the number of times of use of the auxiliary management block.

또한 본 발명은 주관리블록에 블록정보를 기록할 때에 보조관리블록의 물리번호와 사용가능 위치를 함께 기록하여, 시스템 가동시 주관리블록에 기록된 블록정보 얻어오며, 주관리블록에 기록된 보조관리블록의 블록번호 및 사용가능 위치 정보를 바탕으로 보조 관리블록에 기록된 블록정보를 획득할 수 있게 한다. In addition, the present invention records the physical number and available position of the auxiliary management block when recording the block information in the main management block, obtains the block information recorded in the main management block when the system is running, and the auxiliary recorded in the main management block It is possible to obtain block information recorded in the auxiliary management block on the basis of the block number and usable location information of the management block.

<블록정보 관리장치><Block Information Management Device>

도 4는 본 발명의 바람직한 실시예에 따른 플래시 메모리의 블록정보 관리장 치의 구성도를 도시한 것이다. 4 is a block diagram of a block information management device of a flash memory according to an embodiment of the present invention.

상기 플래시 메모리의 블록정보 관리장치는 제어모듈(100), 캐시(102), 플래시 메모리(104)로 구성된다. 상기 제어모듈(100)은 본 발명의 바람직한 실시예에 따른 플래시 메모리 블록정보 관리모듈을 구비하며, 상기 플래시 메모리(104)의 블록정보를 관리한다. 상기 캐시(102)는 최소단위(섹터) 크기의 시스템 메모리로서, 상기 제어모듈(100)의 블록정보 관리를 위한 임시저장영역을 제공한다. 상기 플래시 메모리(104)에는 상기 제어모듈(100)의 블록정보 관리를 위한 보조관리블록(106)과 주관리블록(108)이 구비된다. The block information management apparatus of the flash memory includes a control module 100, a cache 102, and a flash memory 104. The control module 100 includes a flash memory block information management module according to a preferred embodiment of the present invention, and manages block information of the flash memory 104. The cache 102 is a system memory having a minimum unit (sector) size and provides a temporary storage area for managing block information of the control module 100. The flash memory 104 is provided with an auxiliary management block 106 and a main management block 108 for managing block information of the control module 100.

<블록정보 관리방법><Block information management method>

상기한 플래시 메모리의 블록정보 관리장치의 동작을 도 5의 흐름도를 참조하여 설명한다. The operation of the block information management device of the flash memory will be described with reference to the flowchart of FIG. 5.

상기 제어모듈(100)은 플래시 메모리(104)가 삽입되어 블록정보 관리모듈의 가동이 요구되면(200단계), 상기 플래시 메모리(104)의 주관리블록(108)에 등록된 블록정보와 보조관리블록정보를 독출한다. 상기 보조관리블록정보는 상기 주관리블록(108)으로 블록정보가 이동 기록될 때에 함께 저장되며, 보조관리블록(106)의 물리적인 위치번호와 사용가능 위치정보로 구성되어, 상기 보조관리블록(106)에 저장된 블록정보를 독출할 수 있게 한다. 상기 제어모듈(100)은 상기 독출된 보조관리블록정보에 따라 보조관리블록(106)에 저장된 블록정보를 독출한다(202단계). 이로서 상기 제어모듈(100)은 상기 플래시 메모리(104)의 모든 블록에 대한 블록정보를 획득한다. If the control module 100 is inserted into the flash memory 104 is required to operate the block information management module (step 200), the block information and auxiliary management registered in the main management block 108 of the flash memory 104 Read the block information. The auxiliary management block information is stored together when the block information is recorded and moved to the main management block 108, and consists of the physical location number and usable location information of the auxiliary management block 106, the auxiliary management block ( Block information stored in 106) can be read. The control module 100 reads block information stored in the auxiliary management block 106 according to the read auxiliary management block information (step 202). As a result, the control module 100 obtains block information of all blocks of the flash memory 104.

이후 상기 제어모듈(100)은 상기 플래시 메모리(104)의 블록 중 블록정보가 변경되면(204단계), 캐시(102)에 새로운 블록정보를 기록한다(206단계). 도 6은 변경된 블록정보를 캐시(102)에 저장되는 과정을 도시한 것이며, 상기 캐시(102)에 저장된 블록정보는 제1블록정보 이동 이벤트에 따라 보조관리블록(106)으로 이동된다. Thereafter, when the block information of the blocks of the flash memory 104 is changed (step 204), the control module 100 writes new block information to the cache 102 (step 206). 6 illustrates a process of storing changed block information in the cache 102, and the block information stored in the cache 102 is moved to the auxiliary management block 106 according to the first block information movement event.

이후 상기 제어모듈(100)은 상기 캐시(102)에 블록정보를 등록할 공간이 남아 있는지를 체크한다(208단계). Thereafter, the control module 100 checks whether there is a space for registering block information in the cache 102 (step 208).

상기 캐시(102)에 블록정보를 등록할 공간이 남아 있지 않다면, 상기 제어모듈(100)은 상기 캐시(102)에 등록된 블록정보를 주관리블록(108)으로 이동함과 아울러 캐시(102)를 클리어한다(220단계). If there is no space for registering block information in the cache 102, the control module 100 moves the block information registered in the cache 102 to the main management block 108 and the cache 102. Clear (step 220).

이와달리 상기 캐시(102)에 블록정보를 등록할 공간이 남아 있으면, 상기 제어모듈(100)은 제1블록정보 이동 이벤트가 발생되는지를 체크한다(210단계). 상기 제1블록정보 이동 이벤트는 미리 정해둔 주기, 플래시 메모리의 해제요청 등의 이벤트이다. On the other hand, if there is a space for registering block information in the cache 102, the control module 100 checks whether a first block information movement event occurs (step 210). The first block information movement event is an event such as a predetermined period, a release request of a flash memory, and the like.

상기 캐시(102)에 등록된 블록정보의 이동이 요구되면, 상기 제어모듈(100)은 보조관리블록(106)에 블록정보를 등록할 공간이 있는지를 체크한다(212단계). 여기서, 상기 제어모듈(100)은 보조관리블록(106)에 블록정보를 등록할 공간이 존재하지 않으면, 새로운 블록을 추가하여 할당할 프리블록이 존재하거나 미리 정해둔 수를 넘지 않았는지를 체크한다(213단계). When the movement of the block information registered in the cache 102 is requested, the control module 100 checks whether there is a space for registering the block information in the auxiliary management block 106 (step 212). Here, if there is no space to register block information in the auxiliary management block 106, the control module 100 checks whether there is a free block to be allocated by adding a new block or not exceeding a predetermined number ( Step 213).

상기 보조관리블록(106)에 새로운 블록을 추가할 수 있으면, 상기 제어모 듈(100)은 보조관리블록(106)에 새로운 블록을 추가할당한다(214단계). 이와달리 상기 보조관리블록(106)에 새로운 블록을 추가할 수 없으면, 상기 제어모듈(100)은 상기 캐시(102)에 등록된 블록정보를 주관리블록(108)으로 이동함과 아울러 캐시(102) 및 보조관리블록(106)을 클리어한다(220단계). If a new block can be added to the auxiliary management block 106, the control module 100 allocates a new block to the auxiliary management block 106 (step 214). On the contrary, if a new block cannot be added to the auxiliary management block 106, the control module 100 moves the block information registered in the cache 102 to the main management block 108 and the cache 102. ) And clear the secondary management block 106 (step 220).

한편, 상기 제어모듈(100)은 상기 보조관리블록(106)에 블록정보를 등록할 공간이 있거나 새로운 보조관리블록이 할당된 경우에, 상기 캐시(102)에 등록된 블록정보를 보조관리블록(106)에 기록한다(216단계). 이러한 과정을 도시한 것이 도 8 및 도 9에 도시하였다. On the other hand, when the control module 100 has a space for registering block information in the auxiliary management block 106 or a new auxiliary management block is allocated, the control module 100 stores the block information registered in the cache 102 as an auxiliary management block ( 106) (step 216). This process is illustrated in FIGS. 8 and 9.

상기 제어모듈(100)은 변경된 블록정보를 주관리블록(108)으로 이동할 것을 요구하는 제2블록정보 이동 이벤트가 발생되면(218단계), 상기 보조관리블록(106)의 블럭정보가 캐시(102)에 반영되어 있으므로, 상기 캐시(102)에 등록된 블록정보를 주관리블록(108)으로 이동함과 아울러 캐시(102) 및 보조관리블록(106)에 저장된 블록정보를 클리어한다(220단계). 여기서 상기 제2블록정보 이동 이벤트는 상기 캐시(102)에 저장된 블록정보의 수가 미리 정해둔 수 이상이거나, 상기 보조관리블록에 블록정보를 등록할 공간이 남지 않는 것 등의 이벤트이다. When the second block information movement event is generated (step 218), which requests the changed block information to be moved to the main management block 108, the control module 100 stores the block information of the auxiliary management block 106 in the cache 102. In this case, the block information registered in the cache 102 is moved to the primary management block 108 and the block information stored in the cache 102 and the secondary management block 106 is cleared (step 220). . The second block information movement event is an event such that the number of block information stored in the cache 102 is equal to or greater than a predetermined number or there is no space left to register block information in the auxiliary management block.

상기 주관리블록(108)으로 블록정보를 등록한 후에 상기 제어모듈(100)은 주관리블록(108)에 블록정보를 등록할 공간이 남아있는지를 체크한다(222단계). 상기 제어모듈(100)은 주관리블록(108)에 블록정보를 등록할 공간이 남아있지 않으면, 상기 제어모듈(100)은 주관리블록(108)의 추가 또는 교체를 이행하고(224단계), 추가 또는 교체된 주관리블록(108)에 대한 블록정보를 변경한다(226단계). After registering the block information to the main management block 108, the control module 100 checks whether there is a space for registering block information in the main management block 108 (step 222). If the control module 100 has no space left to register block information in the main management block 108, the control module 100 performs addition or replacement of the main management block 108 (step 224). The block information of the added or replaced master management block 108 is changed (step 226).

또한 상기한 제어모듈(100)은 상기 주관리블록(108)에 블록정보를 저장할 때에 보조관리블록(106)의 물리번호와 사용가능 위치를 함께 기록한다. In addition, the control module 100 records the physical number and available position of the auxiliary management block 106 when storing the block information in the main management block 108.

도 1 내지 도 3은 종래 기술에 따른 플래시 메모리 블록정보 관리과정을 도시한 도면. 1 to 3 illustrate a flash memory block information management process according to the prior art;

도 4는 본 발명의 바람직한 실시예에 따른 플래시 메모리 블록정보 관리장치의 구성도. 4 is a block diagram of a flash memory block information management apparatus according to a preferred embodiment of the present invention.

도 5는 본 발명의 바람직한 실시예에 따른 플래시 메모리 블록정보 관리방법의 흐름도. 5 is a flowchart of a method of managing flash memory block information according to an exemplary embodiment of the present invention.

도 6 내지 도 8은 본 발명에 따른 플래시 메모리 블록정보 관리과정을 도시한 도면.6 to 8 illustrate a flash memory block information management process according to the present invention.

Claims (6)

플래시 메모리의 블록정보 관리방법에 있어서, In the block information management method of a flash memory, 플래시 메모리의 블록정보가 변경되면, 상기 변경된 블록정보를 시스템 메모리의 캐시에 임시 저장하는 단계;If the block information of the flash memory is changed, temporarily storing the changed block information in a cache of a system memory; 제1블록정보 이동 이벤트에 따라 상기 캐시에 저장된 블록정보를 상기 캐시에 저장된 블록정보를 상기 플래시 메모리에 구비된 보조관리블록으로 이동하는 단계;Moving block information stored in the cache to an auxiliary management block provided in the flash memory according to a first block information movement event; 제2블록정보 이동 이벤트에 따라 상기 캐시에 저장된 블록정보를 상기 플래시 메모리에 구비된 주관리블록으로 이동하는 단계;Moving block information stored in the cache to a main management block provided in the flash memory according to a second block information movement event; 를 포함하는 것을 특징으로 하는 플래시 메모리의 블록정보 관리방법. Block information management method of a flash memory comprising a. 제1항에 있어서,The method of claim 1, 상기 제1블록정보 이동 이벤트는,The first block information movement event, 미리 정해둔 주기와 플래시 메모리의 해제요청 중 하나 이상의 이벤트임을 특징으로 하는 플래시 메모리의 블록정보 관리방법. A method of managing block information of a flash memory, characterized in that the event is one or more of a predetermined cycle and a request for release of the flash memory. 제1항에 있어서,The method of claim 1, 상기 제2블록정보 이동 이벤트는,The second block information movement event, 상기 캐시에 저장된 블록정보의 수가 미리 정해둔 수 이상이거나, 상기 보조 관리블록에 블록정보를 등록할 공간이 남지 않은 것임을 특징으로 하는 플래시 메모리의 블록정보 관리방법. The block information management method of the flash memory, characterized in that the number of block information stored in the cache is more than a predetermined number or there is no space left to register the block information in the auxiliary management block. 제1항에 있어서,The method of claim 1, 상기 주관리블록으로 블록정보를 이동한 후에,After moving the block information to the main management block, 상기 주관리블록에 블록정보를 등록할 공간이 남지 않았으면 주관리블록에 블록을 추가하거나 교체하며, If there is no space left to register block information in the main management block, add or replace a block in the main management block, 상기 추가하거나 교체한 주관리블록에 대한 블록정보를 상기 캐시에 등록하는 단계를 더 구비함을 특징으로 하는 플래시 메모리의 블록정보 관리방법. And registering the block information for the added or replaced main management block in the cache. 제1항에 있어서,The method of claim 1, 상기 주관리블록에 상기 블록정보를 저장할 때에 보조관리블록정보를 더 저장하는 단계;Storing auxiliary management block information when the block information is stored in the main management block; 상기 플래시 메모리가 연결될 때마다, 상기 주관리블록에 저장된 블록정보와 보조관리블록정보를 독출하고, 상기 보조관리블록정보가 지시하는 위치에 위치하는 보조관리블록에 저장된 블록정보를 독출하여, 상기 플래시 메모리의 모든 블록에 대한 블록정보를 획득하는 단계;Each time the flash memory is connected, the block information and the auxiliary management block information stored in the main management block are read, the block information stored in the auxiliary management block located at the position indicated by the auxiliary management block information is read, and the flash is read. Obtaining block information for all blocks of the memory; 를 더 구비함을 특징으로 하는 플래시 메모리의 블록정보 관리방법. Block information management method of the flash memory, characterized in that it further comprises. 제5항에 있어서,The method of claim 5, 상기 보조관리블록정보는, The secondary management block information, 상기 보조관리블록의 물리번호와 사용가능 위치로 구성됨을 특징으로 하는 플래시 메모리의 블록정보 관리방법. The block information management method of the flash memory, characterized in that consisting of the physical number and the usable position of the auxiliary management block.
KR1020090074969A 2009-08-14 2009-08-14 Method of managing block information for flash memory KR101072528B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090074969A KR101072528B1 (en) 2009-08-14 2009-08-14 Method of managing block information for flash memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090074969A KR101072528B1 (en) 2009-08-14 2009-08-14 Method of managing block information for flash memory

Publications (2)

Publication Number Publication Date
KR20110017489A true KR20110017489A (en) 2011-02-22
KR101072528B1 KR101072528B1 (en) 2011-10-11

Family

ID=43775461

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090074969A KR101072528B1 (en) 2009-08-14 2009-08-14 Method of managing block information for flash memory

Country Status (1)

Country Link
KR (1) KR101072528B1 (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100514756B1 (en) 2003-12-23 2005-09-14 삼성전자주식회사 Cash processing method for writing in flash memory using file system
US7130957B2 (en) 2004-02-10 2006-10-31 Sun Microsystems, Inc. Storage system structure for storing relational cache metadata

Also Published As

Publication number Publication date
KR101072528B1 (en) 2011-10-11

Similar Documents

Publication Publication Date Title
CN108733322B (en) Method for multi-stream garbage collection
CN107346290B (en) Replaying partition logical to physical data address translation tables using parallelized log lists
US9229876B2 (en) Method and system for dynamic compression of address tables in a memory
JP4688584B2 (en) Storage device
US8386746B2 (en) Storage unit management methods and systems
US9990277B2 (en) System and method for efficient address translation of flash memory device
RU2661280C2 (en) Massive controller, solid state disk and data recording solid state disk control method
KR101465789B1 (en) Write and merge methods in memory card systems for reducing the number of page copies
US20140089564A1 (en) Method of data collection in a non-volatile memory
US8832356B2 (en) Apparatus and method for flash memory address translation
CN106201335B (en) Storage system
KR20170097543A (en) Memory device comprising stream detector and operating method thereof
US7287117B2 (en) Flash memory and mapping control apparatus and method for flash memory
US20130166828A1 (en) Data update apparatus and method for flash memory file system
CN105718530A (en) File storage system and file storage control method thereof
JPWO2009096180A1 (en) MEMORY CONTROLLER, NONVOLATILE STORAGE DEVICE, AND NONVOLATILE STORAGE SYSTEM
US9286213B2 (en) Method and apparatus for managing file system
US20050169058A1 (en) Data management apparatus and method used for flash memory
US20230281118A1 (en) Memory system and non-transitory computer readable recording medium
JP2018160189A (en) Memory system
KR100924021B1 (en) Flash memory mapping management method
KR20090024971A (en) Method and apparatus for cache using sector set
CN110321081A (en) A kind of method and its system of flash memory read buffer
KR101072528B1 (en) Method of managing block information for flash memory
KR100703727B1 (en) Non-volatile memory, Mappping controlling apparatus and method for the same

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151021

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161011

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170928

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20181001

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20191001

Year of fee payment: 9