KR20180079900A - Method and appartus for managing cache mapping table - Google Patents

Method and appartus for managing cache mapping table Download PDF

Info

Publication number
KR20180079900A
KR20180079900A KR1020170000628A KR20170000628A KR20180079900A KR 20180079900 A KR20180079900 A KR 20180079900A KR 1020170000628 A KR1020170000628 A KR 1020170000628A KR 20170000628 A KR20170000628 A KR 20170000628A KR 20180079900 A KR20180079900 A KR 20180079900A
Authority
KR
South Korea
Prior art keywords
cache
mapping table
page
cache mapping
storage element
Prior art date
Application number
KR1020170000628A
Other languages
Korean (ko)
Other versions
KR101883637B1 (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 KR1020170000628A priority Critical patent/KR101883637B1/en
Publication of KR20180079900A publication Critical patent/KR20180079900A/en
Application granted granted Critical
Publication of KR101883637B1 publication Critical patent/KR101883637B1/en

Links

Images

Classifications

    • 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/20Cooling means
    • G06F1/203Cooling means for portable computers, e.g. for laptops
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2200/00Indexing scheme relating to G06F1/04 - G06F1/32
    • G06F2200/20Indexing scheme relating to G06F1/20
    • G06F2200/201Cooling arrangements using cooling fluid
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

The present invention relates to a method of managing a cache mapping table (CMT) of a flash translation layer (FTL) mapping technique, which is a table for mapping a logical address of a memory with a physical address of a storage element. The method includes: a step in which a page cache monitoring part estimates a writing pattern for the storage element by monitoring at least one page cache included in a kernel area of an operating system (OS); a step in which an update requesting part delivers a cache mapping table update request message to a cache mapping table storage part to make a request for an update on the cache mapping table regarding a physical address matched with a logical block address corresponding to the estimated writing pattern; and a step in which the cache mapping table storage part updates the cache mapping table based on the cache mapping table update request message.

Description

캐시 매핑 테이블 관리 방법 및 장치{METHOD AND APPARTUS FOR MANAGING CACHE MAPPING TABLE}METHOD AND APPARATUS FOR MANAGING CACHE MAPPING TABLE < RTI ID = 0.0 >

본 발명의 실시예들은 캐시 매핑 테이블(Cache Mapping Table)을 활용하는 FTL(Flash Translation Layer) 매핑 기법에서 캐시 매핑 테이블을 관리하는 방법 및 그 장치에 관한 것이다.Embodiments of the present invention relate to a method and apparatus for managing a cache mapping table in an FTL (Flash Translation Layer) mapping technique that utilizes a cache mapping table.

플래시 메모리는 전기적으로 데이터를 지우고 다시 기록할 수 있고 전원이 꺼져도 저장된 정보가 지워지지 않는 비휘발성 저장 소자를 의미하며, 플래시 메모리는 읽기 속도가 빠르며 하드 디스크보다 충격에 강한 장점이 있다.Flash memory is a non-volatile storage device that can erase and rewrite data electrically and can not erase the stored information even when the power is turned off. Flash memory has a faster reading speed and stronger shock than a hard disk.

이러한 장점들로 인해 플래시 메모리는 스마트폰, USB 등 휴대용 기기에 널리 사용되고 있으나, 플래시 메모리는 물리적인 특성에 따라 읽기/쓰기는 페이지 단위로 수행되나 삭제는 블록 단위로 수행되며, 셀 당 삭제 횟수가 한정되어 있기 때문에 지나치게 많은 삭제 연산이 발생하는 경우 셀의 신뢰성이 떨어지는 문제점이 있다.Because of these advantages, flash memory is widely used for smart phones, USB, and other portable devices. However, flash memory is read / write by page unit, but deletion is performed by block unit. There is a problem that the reliability of the cell is deteriorated when excessive deletion operations occur.

이러한 문제점을 해결하기 위하여 플래시 메모리 중 특히나 낸드(NAND) 플래시 메모리에서는 FTL(Flash Translation Layer) 매핑 기법이 적용되며, 이러한 FTL 매핑 기법은 호스트로부터 요청된 메모리의 논리 주소와 저장되는 플래시 메모리의 물리 주소가 서로 다르기 때문에 메모리에 임시로 기억된 데이터를 플래시 메모리에 저장하는 매핑을 위해 필요하다.In order to solve such a problem, an FTL (Flash Translation Layer) mapping technique is applied in a NAND flash memory, in particular, among flash memories. The FTL mapping technique includes a logical address of a memory requested from a host and a physical address Are necessary for the mapping to store the data temporarily stored in the memory in the flash memory.

이러한 FTL 매핑 기법의 대표적인 예시인 페이지 레벨 매핑은 페이지의 모든 매핑 정보를 매핑 테이블에 저장하여 관리하는 특징이 있으나, 페이지 레벨 매핑 방식은 페이지의 모든 매핑 정보를 매핑 테이블에 저장하기 때문에 매핑 테이블이 큰 용량을 차지하게 되며, 이러한 매핑 테이블로 인해 많은 메모리의 공간을 확보해야 하는 문제가 있다.The page level mapping, which is a typical example of the FTL mapping technique, is characterized in that all the mapping information of the page is stored and managed in the mapping table. However, since the page level mapping method stores all the mapping information of the page in the mapping table, Capacity, and there is a problem in that a large amount of memory space is required due to such a mapping table.

페이지 레벨 매핑 기법의 상술한 문제점을 해결하기 위하여, DFTL, ZFTL, Cach-FTL, Z-MAP을 비롯한 각종 캐시 기반 FTL 매핑 기법이 제안되었으며, 상술한 캐시 기반 FTL 매핑 기법들의 공통점은 페이지 레벨 매핑과 달리 매핑 테이블 중 자주 쓰이는 매핑 정보만을 캐시 매핑 테이블(Cache Mapping Table)의 형태로 메모리에 적재하며, 자주 쓰이지 않는 매핑 정보는 전역 매핑 테이블(Global Mapping Table)의 형태로 플래쉬 메모리에 직접 적재한다는 것이다.Various cache-based FTL mapping schemes including DFTL, ZFTL, Cach-FTL, and Z-MAP have been proposed to solve the above-described problems of the page level mapping scheme. Only the mapping information frequently used among the mapping tables is loaded into the memory in the form of a cache mapping table, and the mapping information that is not used frequently is loaded directly into the flash memory in the form of a global mapping table.

상술한 캐시 기반 FTL 매핑 기법들은 캐시 매핑 테이블의 적중률에 따라 성능이 좌우되며, 요청한 논리 주소에 대응되는 물리 주소가 캐시 매핑 테이블에 없는 경우 플래쉬 메모리에 직접 접근하여 전역 매핑 테이블에 저장된 매핑 정보를 읽어내야 하는 문제가 있으며, 이 경우 오버헤드(Overhead)가 심하게 발생하는 문제가 있다.The performance of the cache-based FTL mapping techniques described above depends on the hit rate of the cache mapping table. When the physical address corresponding to the requested logical address is not in the cache mapping table, the cache-based FTL mapping method directly accesses the flash memory to read mapping information stored in the global mapping table There is a problem that it must be paid, and in this case, there is a problem that an overhead occurs severely.

한국 등록특허공보 제10-1105127호(2012.01.04)Korean Patent Registration No. 10-1105127 (2012.01.04)

본 발명의 목적은, 상기 문제점을 해결하기 위한 것으로, 운영 체제(OS)의 커널(Kernel) 영역에 포함된 페이지 캐시를 모니터링하여 저장 소자에 대한 쓰기 패턴을 미리 추정하여, 저장 소자에 쓰기 명령이 입력되기 이전에 캐시 매핑 테이블을 미리 업데이트하기 위함이다.SUMMARY OF THE INVENTION An object of the present invention is to solve the above-mentioned problem, and it is an object of the present invention to provide a cache memory device, which monitors a page cache included in a kernel region of an operating system (OS) This is to update the cache mapping table in advance before being input.

본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제(들)로 제한되지 않으며, 언급되지 않은 또 다른 과제(들)은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The problems to be solved by the present invention are not limited to the above-mentioned problem (s), and another problem (s) not mentioned can be clearly understood by those skilled in the art from the following description.

상기한 목적을 달성하기 위하여, 본 발명의 실시예에 따른 캐시 매핑 테이블 관리 방법은, 메모리의 논리 주소와 저장 소자의 물리 주소를 매핑하는 테이블인 캐시 매핑 테이블(Cache Mapping Table, CMT)을 활용한 FTL(Flash Translation Layer) 매핑 기법의 상기 캐시 매핑 테이블을 관리하는 방법에 대한 것으로, 페이지 캐시 감시부가, 운영 체제(OS)의 커널(Kernel) 영역에 포함된 적어도 하나의 페이지 캐시(Page Cache)를 모니터링하여 저장 소자에 대한 쓰기 패턴을 추정하는 단계, 업데이트 요청부가, 추정된 쓰기 패턴에 대응되는 논리 블록 주소(Logical Block Address)에 대응되는 물리 주소를 캐시 매핑 테이블 상에서 업데이트할 것을 요청하는 캐시 매핑 테이블 업데이트 요청 메시지를 캐시 매핑 테이블 저장부에 전달하는 단계 및 캐시 매핑 테이블 저장부가, 캐시 매핑 테이블 업데이트 요청 메시지에 기초하여 캐시 매핑 테이블을 업데이트하는 단계를 포함한다.In order to achieve the above object, a cache mapping table management method according to an embodiment of the present invention uses a cache mapping table (CMT) that maps a logical address of a memory and a physical address of a storage element A method for managing the cache mapping table of a Flash Translation Layer (FTL) mapping scheme, the page cache monitoring unit comprising at least one page cache included in a kernel area of an operating system (OS) A cache mapping table for requesting the update request unit to update, on the cache mapping table, a physical address corresponding to a logical block address corresponding to the estimated write pattern, Transferring an update request message to a cache mapping table storage unit, and a cache mapping table storage unit, Based on a table update request message includes the step of updating the mapping table cache.

예컨대, 저장 소자에 대한 쓰기 패턴을 추정하는 단계는, 페이지 캐시 감시부가, 적어도 하나의 페이지 캐시 중 수정이 발생하는 페이지 캐시인 수정 페이지 캐시를 검출함으로써 수행된다.For example, estimating a write pattern for a storage element is performed by detecting a modified page cache, which is a page cache in which modification occurs in at least one of page caches.

일 실시예에 따라, 저장 소자에 대한 쓰기 패턴을 추정하는 단계는, 페이지 캐시 감시부가, 적어도 하나의 페이지 캐시 각각의 상태를 나타내는 필드인 적어도 하나의 플래그 필드(Flags Field)를 각각 모니터링하는 단계 및 페이지 캐시 감시부가, 적어도 하나의 플래그 필드 중 더티 플래그(Dirty Flag)를 포함하는 플래그 필드에 대응되는 페이지 캐시를 수정 페이지 캐시로 검출하는 단계를 포함한다.According to one embodiment, estimating the write pattern for the storage element comprises: monitoring each of the at least one flags field, which is a field indicating the status of each of the at least one page cache, The page cache monitoring section includes detecting a page cache corresponding to a flag field including at least one of the flag fields as a modified page cache.

예를 들어, 캐시 매핑 테이블 업데이트 요청 메시지를 캐시 매핑 테이블 저장부에 전달하는 단계는, 수정 페이지 캐시의 논리 블록 주소에 기초하여 수행된다.For example, transferring the cache mapping table update request message to the cache mapping table storage is performed based on the logical block address of the modified page cache.

예컨대, 캐시 매핑 테이블을 업데이트하는 단계는, 캐시 매핑 테이블 저장부가, 저장 소자에 직접 저장된 전역 매핑 테이블(Global Mapping Table, GMT) 상에서 수정 페이지 캐시의 논리 블록 주소에 대응되는 저장 소자의 물리 주소인 대응 물리 주소를 추출하는 단계 및 캐시 매핑 테이블 저장부가, 대응 물리 주소를 캐시 매핑 테이블에 저장하는 단계를 포함한다.For example, in the step of updating the cache mapping table, the cache mapping table storage unit stores a mapping table corresponding to a physical address of a storage element corresponding to a logical block address of a modified page cache on a global mapping table (GMT) Extracting the physical address, and storing the cache mapping table, storing the corresponding physical address in the cache mapping table.

예컨대, 캐시 매핑 테이블 저장부에 저장 공간이 부족한 경우, 캐시 매핑 테이블을 업데이트하는 단계는. 캐시 매핑 테이블에 미리 저장된 복수의 매핑 정보 중 적어도 하나의 매핑 정보를 삭제한 후에 수행된다.For example, if there is insufficient storage space in the cache mapping table storage unit, updating the cache mapping table may include: Is performed after deleting at least one mapping information among a plurality of mapping information previously stored in the cache mapping table.

일 실시예에 따라, 저장 소자에 대한 쓰기 패턴을 추정하는 단계, 캐시 매핑 테이블 업데이트 요청 메시지를 캐시 매핑 테이블 저장부에 전달하는 단계 및 캐시 매핑 테이블을 업데이트하는 단계는, 저장 소자에 쓰기(Write) 명령이 입력되기 이전에 미리 수행된다.According to an embodiment, a step of estimating a write pattern for a storage element, a step of transferring a cache mapping table update request message to a cache mapping table storage unit, and a step of updating a cache mapping table, This is done before the command is entered.

상기한 목적을 달성하기 위하여 본 발명의 실시예에 따른, 캐시 매핑 테이블 관리 장치는 메모리의 논리 주소와 저장 소자의 물리 주소를 매핑하는 테이블인 캐시 매핑 테이블(Cache Mapping Table, CMT)을 활용한 FTL(Flash Translation Layer) 매핑 기법의 캐시 매핑 테이블을 관리하는 장치에 대한 것으로, 운영 체제(OS)의 커널(Kernel) 영역에 포함된 적어도 하나의 페이지 캐시(Page Cache)를 모니터링하여 저장 소자에 대한 쓰기 패턴을 추정하는 페이지 캐시 감시부, 추정된 쓰기 패턴에 대응되는 논리 블록 주소(Logical Block Address)에 대응되는 물리 주소를 캐시 매핑 테이블 상에서 업데이트할 것을 요청하는 캐시 매핑 테이블 업데이트 요청 메시지를 캐시 매핑 테이블 저장부에 전달하는 업데이트 요청부 및 캐시 매핑 테이블 업데이트 요청 메시지에 기초하여 캐시 매핑 테이블을 업데이트하는 캐시 매핑 테이블 저장부를 포함한다.According to an aspect of the present invention, there is provided an apparatus for managing a cache mapping table, the apparatus comprising: a memory for storing a physical address of a storage element; a cache mapping table (CMT) (Flash Translation Layer) mapping scheme, which monitors at least one page cache included in a kernel region of an operating system (OS) and writes to a storage device A page cache monitoring unit for estimating a pattern, a cache mapping table update request message for requesting updating of a physical address corresponding to a logical block address corresponding to an estimated write pattern on a cache mapping table, Based on the update request unit and the cache mapping table update request message, And a cache mapping table storage unit for updating the table.

예컨대, 페이지 캐시 감시부는, 적어도 하나의 페이지 캐시 중 수정이 발생하는 페이지 캐시인 수정 페이지 캐시를 검출함으로써 저장 소자에 대한 쓰기 패턴을 추정한다.For example, the page cache monitoring unit estimates a write pattern for a storage element by detecting a modified page cache, which is a page cache in which at least one of page caches is modified.

예를 들어, 페이지 캐시 감시부는, 적어도 하나의 페이지 캐시 각각의 상태를 나타내는 필드인 적어도 하나의 플래그 필드(Flags Field)를 각각 모니터링하고, 적어도 하나의 플래그 필드 중 더티 플래그(Dirty Flag)를 포함하는 플래그 필드에 대응되는 페이지 캐시를 수정 페이지 캐시로 검출하여 저장 소자에 대한 쓰기 패턴을 추정한다.For example, the page cache monitoring unit may monitor at least one Flags Field, which is a field indicating the status of each of the at least one page cache, and includes at least one of a dirty flag The page cache corresponding to the flag field is detected as the modified page cache to estimate the write pattern for the storage element.

일 실시예에 따라, 업데이트 요청부는, 수정 페이지 캐시의 논리 블록 주소에 기초하여 캐시 매핑 테이블 업데이트 요청 메시지를 캐시 매핑 테이블 저장부에 전달한다.According to one embodiment, the update request unit delivers a cache mapping table update request message to the cache mapping table storage unit based on the logical block address of the modified page cache.

예를 들어, 캐시 매핑 테이블 저장부는, 저장 소자에 직접 저장된 전역 매핑 테이블(Global Mapping Table, GMT) 상에서 수정 페이지 캐시의 논리 블록 주소에 대응되는 저장 소자의 물리 주소인 대응 물리 주소를 추출하고, 대응 물리 주소를 캐시 매핑 테이블에 저장하여 캐시 매핑 테이블을 업데이트한다.For example, the cache mapping table storage unit may extract a corresponding physical address, which is a physical address of a storage element corresponding to a logical block address of a modified page cache, on a global mapping table (GMT) directly stored in a storage element, And stores the physical address in the cache mapping table to update the cache mapping table.

일 실시예에 따라, 캐시 매핑 테이블 저장부에 저장 공간이 부족한 경우, 캐시 매핑 테이블 저장부는, 캐시 매핑 테이블에 미리 저장된 복수의 매핑 정보 중 적어도 하나의 매핑 정보를 삭제한 후에 캐시 매핑 테이블을 업데이트한다.According to an embodiment, when there is insufficient storage space in the cache mapping table storage unit, the cache mapping table storage unit updates at least one mapping information among a plurality of mapping information previously stored in the cache mapping table, and then updates the cache mapping table .

예컨대, 페이지 캐시 감시부가 저장 소자에 대한 쓰기 패턴을 추정하고, 업데이트 요청부가 캐시 매핑 테이블 업데이트 요청 메시지를 캐시 매핑 테이블 저장부에 전달하고, 캐시 매핑 테이블 저장부가 캐시 매핑 테이블을 업데이트하는 동작은, 저장 소자에 쓰기(Write) 명령이 입력되기 이전에 미리 수행된다.For example, the operation in which the page cache monitoring unit estimates the write pattern for the storage element, the update request unit transfers the cache mapping table update request message to the cache mapping table storage unit, and the cache mapping table storage unit updates the cache mapping table, It is performed before the write command is input to the device.

기타 실시예들의 구체적인 사항들은 상세한 설명 및 첨부 도면들에 포함되어 있다.The details of other embodiments are included in the detailed description and the accompanying drawings.

본 발명의 실시예에 따르면, 운영 체제(OS)의 커널(Kernel) 영역에 포함된 페이지 캐시를 모니터링하여 저장 소자에 대한 쓰기 패턴을 미리 추정하여, 저장 소자에 쓰기 명령이 입력되기 이전에 캐시 매핑 테이블을 미리 업데이트하여, 앞으로 사용될 매핑 정보가 캐시 매핑 테이블에 포함되도록 함으로써 적중률(Hit Rate)을 향상시킬 수 있다.According to an embodiment of the present invention, a page cache included in a kernel region of an operating system (OS) is monitored to estimate a write pattern for a storage element in advance, and before a write command is input to a storage element, The hit rate can be improved by updating the table in advance and including the mapping information to be used in the future in the cache mapping table.

도 1은 본 발명의 실시예에 따른, 캐시 매핑 테이블 관리 장치를 설명하기 위한 구성도이다.
도 2는 본 발명의 실시예에 따른, 캐시 매핑 테이블 관리 방법을 설명하기 위한 순서도이다.
도 3은 본 발명의 실시예에 따른, 캐시 매핑 테이블 관리 방법에서 저장 소자에 대한 쓰기 패턴을 추정하는 단계를 설명하기 위한 순서도이다.
도 4는 본 발명의 실시예에 따른, 캐시 매핑 테이블 관리 방법에서 캐시 매핑 테이블을 업데이트하는 단계를 설명하기 위한 순서도이다.
도 5는 본 발명의 실시예에 따른, 캐시 매핑 테이블 관리 방법 및 장치를 설명하기 위한 도면이다.
도 6a, 도 6b 및 도 6c는 본 발명의 실시예에 따른, 캐시 매핑 테이블 관리 방법 및 장치의 효과를 설명하기 위한 도면이다.
도 7은 캐시 매핑 테이블을 활용한 FTL 매핑 기법의 일 실시예인 DFTL 매핑 기법을 설명하기 위한 도면이다.
1 is a block diagram illustrating a cache mapping table management apparatus according to an embodiment of the present invention.
2 is a flowchart illustrating a cache mapping table management method according to an embodiment of the present invention.
3 is a flowchart for explaining a step of estimating a write pattern for a storage element in a cache mapping table management method according to an embodiment of the present invention.
4 is a flowchart for explaining a step of updating a cache mapping table in a cache mapping table management method according to an embodiment of the present invention.
5 is a diagram for explaining a cache mapping table management method and apparatus according to an embodiment of the present invention.
6A, 6B and 6C are diagrams for explaining the effect of the cache mapping table management method and apparatus according to the embodiment of the present invention.
FIG. 7 is a diagram for explaining a DFTL mapping technique, which is an embodiment of an FTL mapping technique using a cache mapping table.

이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 가장 바람직한 실시예를 첨부 도면을 참조하여 설명하기로 한다. 우선 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings in order to facilitate a person skilled in the art to easily carry out the technical idea of the present invention. . In the drawings, the same reference numerals are used to designate the same or similar components throughout the drawings. In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear.

이하, 본 발명의 실시예에 따른 캐시 매핑 테이블 관리 방법 및 장치를 첨부된 도면을 참조하여 상세하게 설명하면 아래와 같다.Hereinafter, a cache mapping table management method and apparatus according to an embodiment of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 실시예에 따른, 캐시 매핑 테이블 관리 장치를 설명하기 위한 구성도이다.1 is a block diagram illustrating a cache mapping table management apparatus according to an embodiment of the present invention.

도 1에 도시된 바와 같이, 본 발명의 실시예에 따른, 캐시 매핑 테이블 관리 장치(100)는 페이지 캐시 감시부(110), 업데이트 요청부(120) 및 캐시 매핑 테이블 저장부(130)를 포함한다.1, the cache mapping table management apparatus 100 includes a page cache monitoring unit 110, an update request unit 120, and a cache mapping table storage unit 130 do.

예컨대, 본 발명의 실시예에 따른, 캐시 매핑 테이블 관리 장치(100)는 메모리의 논리 주소와 저장 소자의 물리 주소를 매핑하는 테이블인 캐시 매핑 테이블(Cache Mapping Table, CMT)을 활용한 FTL(Flash Translation Layer) 매핑 기법의 캐시 매핑 테이블을 관리하는 장치를 의미할 수 있다.For example, according to an embodiment of the present invention, the cache mapping table management apparatus 100 may include a cache mapping table (CMT) that maps a logical address of a memory and a physical address of a storage element, (Translation Layer) mapping scheme.

예컨대, 캐시 매핑 테이블을 활용한 FTL 매핑 기법은 DFTL, ZFTL, Cach-FTL, Z-MAP을 비롯한 각종 캐시 기반 FTL 매핑 기법 중 어느 하나를 의미할 수 있으며, 본 발명은 특정 FTL 매핑 기법에 한정되지 않는다.For example, the FTL mapping scheme using the cache mapping table may mean any one of various cache-based FTL mapping schemes including DFTL, ZFTL, Cach-FTL, and Z-MAP. The present invention is not limited to a specific FTL mapping scheme Do not.

예컨대, 캐시 매핑 테이블을 활용한 FTL 매핑 기법은, 메모리에 캐시 매핑 테이블(Cache Mapping Table, CMT) 및 전역 변환 디렉토리(Global Translation Directory, GTD)를 저장하고, 저장 소자(2)에 전역 매핑 테이블(Global Mapping Table, GMT)을 저장하는 FTL 매핑 기법을 의미할 수 있다.For example, an FTL mapping technique using a cache mapping table stores a cache mapping table (CMT) and a global translation directory (GTD) in a memory, and stores a global mapping table Global Mapping Table, GMT).

예컨대, 캐시 매핑 테이블은 메모리의 논리 주소와 저장 소자(2)의 물리 주소를 매핑하는 전체 매핑 정보 중 자주 쓰이는 매핑 정보만을 포함하는 매핑 테이블을 의미할 수 있다.For example, the cache mapping table may refer to a mapping table including only the frequently used mapping information among the entire mapping information mapping the logical address of the memory and the physical address of the storage element 2.

예컨대, 전역 매핑 테이블은 메모리의 논리 주소와 저장 소자(2)의 물리 주소를 매핑하는 전체 매핑 정보를 모두 포함하는 매핑 테이블을 의미할 수 있다.For example, the global mapping table may refer to a mapping table including all of the mapping information that maps the logical address of the memory and the physical address of the storage element 2.

예컨대, 전역 변환 디렉토리는 캐시 매핑 테이블에 포함되지 않는 매핑 정보를 전역 매핑 테이블 상에서 검출할 수 있도록 하는 정보를 포함하는 디렉토리를 의미할 수 있다.For example, the global conversion directory may refer to a directory including information that enables mapping information not included in the cache mapping table to be detected on the global mapping table.

다시 말해, 캐시 매핑 테이블을 활용한 FTL 매핑 기법에서 메모리에 일시적으로 저장된 쓰기 대상 데이터를 저장 소자(2)에 쓰기 위해서는 메모리의 논리 주소와 저장 소자(2)의 물리 주소간의 매핑이 필요하며, 캐시 매핑 테이블 상에 매핑 정보가 존재하는 경우 캐시 매핑 테이블에 기초하여 논리 주소와 물리 주소를 매핑하고, 캐시 매핑 테이블 상에 매핑 정보가 존재하지 않는 경우 전역 변환 디렉토리를 활용하여 전역 매핑 테이블에 포함된 매핑 정보를 검출함으로써 캐시 매핑 테이블을 갱신하여 논리 주소와 물리 주소를 매핑하는 기법을 의미할 수 있다.In other words, in the FTL mapping technique utilizing the cache mapping table, mapping between the logical address of the memory and the physical address of the storage element 2 is required to write the write target data temporarily stored in the memory to the storage element 2, If the mapping information is present on the mapping table, the logical address and the physical address are mapped based on the cache mapping table. If the mapping information does not exist on the cache mapping table, mapping using the global mapping directory And mapping the logical address to the physical address by updating the cache mapping table by detecting the information.

즉, 캐시가 존재하는 FTL 매핑 기법은 기존의 페이지 레벨 맵핑 방식의 장점을 살리고, 메모리에 맵핑 테이블의 일부만을 올려 메모리의 부담을 줄인 맵핑 방식이며, FTL 내 캐시 교체 알고리즘으로 일반적으로 LRU 방식을 사용하는 FTL 매핑 기법을 의미할 수 있다.In other words, the FTL mapping method in which the cache exists is a mapping method that utilizes the advantages of the existing page level mapping method and loads only a part of the mapping table in the memory to reduce the burden on the memory. The cache replacement algorithm in the FTL generally uses the LRU method Can be used to refer to the FTL mapping technique.

이제, 도 7을 참조하여, 캐시 매핑 테이블을 활용한 FTL 매핑 기법의 일 실시예인 DFTL을 설명한다.Referring now to FIG. 7, a DFTL, which is an embodiment of an FTL mapping technique utilizing a cache mapping table, will be described.

도 7은 캐시 매핑 테이블을 활용한 FTL 매핑 기법의 일 실시예인 DFTL 매핑 기법을 설명하기 위한 도면이다.FIG. 7 is a diagram for explaining a DFTL mapping technique, which is an embodiment of an FTL mapping technique using a cache mapping table.

도 7에 도시된 바와 같이, DFTL 매핑 기법은 자주 쓰이는 맵핑 정보만을 가지고 있는 시간적 지역성의 캐시 매핑 테이블과 적중이 실패한 경우, 저장 소자(2) 내의 매핑 정보를 찾아갈 수 있도록 도와주는 전역 변환 디렉토리만 메모리에 저장되는 방식을 의미할 수 있다.As shown in FIG. 7, the DFTL mapping scheme includes a temporal locality cache mapping table having only frequently used mapping information, and a global conversion directory that helps to find mapping information in the storage element 2 when a hit fails And may be stored in a memory.

예컨대, 도 7에 도시된 바와 같이, DFTL 매핑 기법은 2단계로 매핑 테이블을 관리하고 이에 따르는 오버헤드를 줄이기 위해 캐시 매핑 테이블을 유지하는 것을 특징으로 하나, DFTL 매핑 기법의 단점은 캐시 매핑 테이블에서 적중 실패가 발생했을 때 매핑 주소를 읽기 위한 저장 소자(2)의 접근이 추가로 발생한다는 것이다.For example, as shown in FIG. 7, the DFTL mapping scheme manages a mapping table in two stages and maintains a cache mapping table to reduce the overhead. However, a disadvantage of the DFTL mapping scheme is that the cache mapping table An access to the storage element 2 for reading the mapping address occurs in the event of a missed hit.

또한 DFTL 매핑 기법의 단점은 캐시 매핑 테이블에는 호스트에서 과거에 요청한 데이터에 대한 매핑 정보만이 포함되기 때문에 임의 영역에 접근하는 경우 높은 적중률을 기대할 수 없다는 것이다.The disadvantage of the DFTL mapping method is that the cache mapping table contains only the mapping information of data requested from the host in the past, so that a high hit rate can not be expected when accessing an arbitrary region.

이제, 도 1을 계속 참조하여, 본 발명의 실시예에 따른, 캐시 매핑 테이블 관리 장치(100)를 설명한다.Now, with continued reference to FIG. 1, a cache mapping table management apparatus 100 according to an embodiment of the present invention will be described.

페이지 캐시 감시부(110)는 운영 체제(OS, 2)의 커널(Kernel) 영역에 포함된 적어도 하나의 페이지 캐시(Page Cache)를 모니터링하여 저장 소자(2)에 대한 쓰기 패턴을 추정한다.The page cache monitoring unit 110 monitors at least one page cache included in a kernel region of the OS 2 to estimate a write pattern for the storage element 2. [

업데이트 요청부(120)는 추정된 쓰기 패턴에 대응되는 논리 블록 주소(Logical Block Address)에 대응되는 물리 주소를 캐시 매핑 테이블 상에서 업데이트할 것을 요청하는 캐시 매핑 테이블 업데이트 요청 메시지를 캐시 매핑 테이블 저장부(130)에 전달한다.The update request unit 120 transmits a cache mapping table update request message requesting updating of a physical address corresponding to a logical block address corresponding to the estimated write pattern on a cache mapping table to a cache mapping table storage unit 130).

캐시 매핑 테이블 저장부(130)는 캐시 매핑 테이블 업데이트 요청 메시지에 기초하여 캐시 매핑 테이블을 업데이트 한다.The cache mapping table storage unit 130 updates the cache mapping table based on the cache mapping table update request message.

예컨대, 페이지 캐시는 운영 체제(1)의 파일 입력/출력의 성능 향상을 위한 메모리 영역을 의미할 수 있으며, 페이지 캐시는 복수의 필드를 포함할 수 있고, 페이지 캐시에 포함된 복수의 필드 중 적어도 하나의 필드는 해당 페이지 캐시의 상태를 나타내는 필드인 플래그 필드(Flags Field)를 의미할 수 있다.For example, the page cache may refer to a memory area for improving the performance of file input / output of the operating system 1, the page cache may include a plurality of fields, and at least one of a plurality of fields included in the page cache One field may mean a Flags field, which is a field indicating the state of the page cache.

이때, 운영 체제(1)의 커널 영역에 포함된 적어도 하나의 페이지 캐시, 플래그 필드에 대한 구체적인 설명은 종래에 공지된 바와 같으므로 상세한 설명은 생략한다.At this time, at least one page cache and flag fields included in the kernel area of the operating system 1 are well known in the art, and thus detailed description thereof will be omitted.

예컨대, 저장 소자(2)는 낸드 플래시 메모리(NAND Flash Memory)를 비롯한 각종 플래시 메모리를 의미할 수 있으나, 본 발명은 이에 한정되지 않는다.For example, the storage element 2 may refer to various flash memories including a NAND flash memory, but the present invention is not limited thereto.

예컨대, 논리 블록 주소는 메모리의 논리 주소의 일 실시예를 의미할 수 있나, 본 발명은 이에 한정되지 않는다.For example, the logical block address may mean one embodiment of the logical address of the memory, but the invention is not so limited.

예컨대, 캐시 매핑 테이블 저장부(130)는 캐시 매핑 테이블을 저장하기 위한 캐시, 메모리, 메인 메모리를 비롯하여 저장 소자(2)보다 고속으로 엑세스할 수 있는 각종 기억 장치를 의미할 수 있다.For example, the cache mapping table storage unit 130 may include a cache for storing a cache mapping table, a memory, a main memory, and various storage devices that can access at a higher speed than the storage device 2.

예컨대, 페이지 캐시 감시부(110)는, 적어도 하나의 페이지 캐시 중 수정이 발생하는 페이지 캐시인 수정 페이지 캐시를 검출함으로써 저장 소자(2)에 대한 쓰기 패턴을 추정할 수 있다.For example, the page cache monitoring unit 110 may estimate a write pattern for the storage element 2 by detecting a modified page cache, which is a page cache in which at least one page cache is modified.

예를 들어, 페이지 캐시 감시부(110)는, 적어도 하나의 페이지 캐시 각각의 상태를 나타내는 필드인 적어도 하나의 플래그 필드(Flags Field)를 각각 모니터링하고, 적어도 하나의 플래그 필드 중 더티 플래그(Dirty Flag)를 포함하는 플래그 필드에 대응되는 페이지 캐시를 수정 페이지 캐시로 검출하여 저장 소자(2)에 대한 쓰기 패턴을 추정할 수 있다.For example, the page cache monitoring unit 110 monitors each of at least one flags field, which is a field indicating the status of each of the at least one page cache, and detects a dirty flag ) Is detected as a modified page cache and a write pattern for the storage element 2 can be estimated.

예를 들어, 더티 플래그를 포함하는 페이지 캐시는 메모리 상에서는 수정이 일어났지만 아직 저장 소자(2)에는 수정 사항이 반영되지 않은 페이지를 의미할 수 있다.For example, a page cache containing a dirty flag may refer to a page that has been modified in memory but has not yet been modified in storage element 2.

예컨대, 업데이트 요청부(120)는, 수정 페이지 캐시의 논리 블록 주소에 기초하여 캐시 매핑 테이블 업데이트 요청 메시지를 캐시 매핑 테이블 저장부(130)에 전달할 수 있다.For example, the update request unit 120 may transmit a cache mapping table update request message to the cache mapping table storage unit 130 based on the logical block address of the modified page cache.

예컨대, 캐시 매핑 테이블 업데이트 요청 메시지는 더티 플래그를 포함하는 수정 페이지 캐시의 논리 블록 주소를 ATA Command를 활용하여, 캐시 매핑 테이블 저장부(130)에 전달하는 메시지를 의미할 수 있으나, 본 발명은 이에 한정되지 않는다.For example, the cache mapping table update request message may be a message for transferring the logical block address of the modified page cache including the dirty flag to the cache mapping table storage unit 130 using ATA command. However, It is not limited.

예컨대, 캐시 매핑 테이블 저장부(130)는, 저장 소자(2)에 직접 저장된 전역 매핑 테이블(Global Mapping Table, GMT) 상에서 수정 페이지 캐시의 논리 블록 주소에 대응되는 저장 소자(2)의 물리 주소인 대응 물리 주소를 추출하고, 대응 물리 주소를 캐시 매핑 테이블에 저장하여 캐시 매핑 테이블을 업데이트할 수 있다.For example, the cache mapping table storage unit 130 stores the physical address of the storage element 2 corresponding to the logical block address of the modified page cache on the Global Mapping Table (GMT) directly stored in the storage element 2 Extract the corresponding physical address, and store the corresponding physical address in the cache mapping table to update the cache mapping table.

예컨대, 캐시 매핑 테이블 저장부(130)에 저장 공간이 부족한 경우, 캐시 매핑 테이블 저장부(130)는, 캐시 매핑 테이블에 미리 저장된 복수의 매핑 정보 중 적어도 하나의 매핑 정보를 삭제한 후에 캐시 매핑 테이블을 업데이트할 수 있다.For example, when there is insufficient storage space in the cache mapping table storage unit 130, the cache mapping table storage unit 130 deletes at least one mapping information among a plurality of mapping information previously stored in the cache mapping table, Can be updated.

예를 들어, 페이지 캐시 감시부(110)가 저장 소자(2)에 대한 쓰기 패턴을 추정하고, 업데이트 요청부(120)가 캐시 매핑 테이블 업데이트 요청 메시지를 캐시 매핑 테이블 저장부(130)에 전달하고, 캐시 매핑 테이블 저장부(130)가 캐시 매핑 테이블을 업데이트하는 동작은, 저장 소자(2)에 쓰기(Write) 명령이 입력되기 이전에 미리 수행될 수 있다.For example, the page cache monitoring unit 110 estimates a write pattern for the storage element 2, and the update request unit 120 transmits a cache mapping table update request message to the cache mapping table storage unit 130 , The operation of updating the cache mapping table by the cache mapping table storage unit 130 may be performed before the write command is inputted to the storage element 2. [

다시 말해, 종래의 DFTL 매핑 기법은 캐시 매핑 테이블의 적중이 실패했을 때 추가적인 오버헤드가 발생하는 문제점이 있으며, 이러한 오버헤드를 줄이기 위해 본 발명의 실시예에 따른, 캐시 매핑 테이블 관리 장치 및 방법은 운영 체제(1) 내의 페이지 캐시를 이용하여 저장 소자(2)의 쓰기 패턴을 추정하고 캐시 매핑 테이블에 매핑 정보를 미리 적재시킴으로써 적중률을 높일 수 있다.In other words, the conventional DFTL mapping technique has a problem that additional overhead occurs when the cache mapping table fails to hit. To reduce this overhead, the cache mapping table management apparatus and method according to the embodiment of the present invention The hit rate can be increased by estimating the write pattern of the storage element 2 using the page cache in the operating system 1 and preloading the mapping information in the cache mapping table.

즉, 본 발명의 실시예에 따른 캐시 매핑 테이블 관리 장치 및 방법은 과거의 매핑 정보뿐만 아니라 향후에 발생할 입력/출력을 추정하여 추정된 매핑 정보를 캐시 매핑 테이블에 적재시킴으로써, 기존의 DFTL보다 높은 적중률을 얻을 수 있는 효과가 있다.In other words, the apparatus and method for managing cache mapping tables according to the embodiment of the present invention can store not only past mapping information but also mapping information estimated by estimating future input / output on a cache mapping table, It is possible to obtain an effect.

다시 말해, 본 발명의 실시예에 따른 캐시 매핑 테이블 관리 장치 및 방법은 운영 체제(1)의 커널 영역 내부의 페이지 캐시를 활용하여 저장 소자(2)의 쓰기 패턴을 추정할 수 있다.In other words, the cache mapping table management apparatus and method according to the embodiment of the present invention can estimate the writing pattern of the storage element 2 by utilizing the page cache inside the kernel area of the operating system 1. [

예를 들어, 본 발명의 실시예에 따른 캐시 매핑 테이블 관리 장치 및 방법은 더티 플래그(Dirty Flag)를 가진 페이지 캐시의 정보를 활용할 수 있다.For example, an apparatus and method for managing a cache mapping table according to an embodiment of the present invention may utilize information of a page cache having a dirty flag.

즉, 메모리에서는 수정이 일어났지만 아직 디스크에 반영되지 않은 더티 플래그를 가지는 페이지는 향후 그 페이지가 교체 알고리즘의 대상으로 선정됐을 때 실질적으로 디스크에 쓰기가 발생하게 되며, 적절한 시점에 쓰기가 일어나는 것을 대비해 더티 페이지 캐시의 논리 블록 주소를 활용하여, 캐시 매핑 테이블을 쓰기가 발생하기 이전에 미리 업데이트하면, 향후 저장 소자(2)에 쓰기가 발생했을 때 적중이 일어나게 되며 기존의 DFTL 매핑 기법보다 높은 적중률을 가질 수 있게 되는 것이다.That is, a page having a dirty flag that has been modified in memory but not yet reflected on the disk is actually written to the disk when the page is selected as the target of the replacement algorithm in the future, If the cache mapping table is updated before writing occurs by utilizing the logical block address of the dirty page cache, a hit occurs when writing to the storage element (2) occurs in the future, and a higher hit rate than the conventional DFTL mapping technique .

본 발명의 실시예에 따른, 캐시 매핑 테이블 관리 장치(100)의 각각의 구성에 대한 보다 구체적인 설명은 이하 도 2 내지 도 5를 참조하여 후술하도록 하며, 중복되는 설명은 생략한다.A more detailed description of each configuration of the cache mapping table management apparatus 100 according to the embodiment of the present invention will be described later with reference to FIG. 2 to FIG. 5, and redundant description will be omitted.

이제 도 2 내지 도 5를 참조하여, 본 발명의 실시예에 따른 캐시 매핑 테이블 관리 방법을 설명한다.A cache mapping table management method according to an embodiment of the present invention will now be described with reference to FIGS. 2 to 5. FIG.

도 2는 본 발명의 실시예에 따른, 캐시 매핑 테이블 관리 방법을 설명하기 위한 순서도이다.2 is a flowchart illustrating a cache mapping table management method according to an embodiment of the present invention.

도 2에 도시된 바와 같이, 본 발명의 실시예에 따른, 캐시 매핑 테이블 관리 방법은 저장 소자에 대한 쓰기 패턴을 추정하는 단계(S210), 캐시 매핑 테이블 업데이트 요청 메시지를 캐시 매핑 테이블 저장부에 전달하는 단계(S230) 및 캐시 매핑 테이블을 업데이트 하는 단계(S250)를 포함한다.As shown in FIG. 2, the cache mapping table management method according to an embodiment of the present invention includes a step of estimating a write pattern for a storage element (S210), a cache mapping table update request message to a cache mapping table storage (S230) and updating the cache mapping table (S250).

예컨대, 본 발명의 실시예에 따른, 캐시 매핑 테이블 관리 방법은 메모리의 논리 주소와 저장 소자의 물리 주소를 매핑하는 테이블인 캐시 매핑 테이블(Cache Mapping Table, CMT)을 활용한 FTL(Flash Translation Layer) 매핑 기법의 상기 캐시 매핑 테이블을 관리하는 방법을 의미할 수 있다.For example, according to an embodiment of the present invention, a cache mapping table management method includes a Flash Translation Layer (FTL) utilizing a cache mapping table (CMT), which is a table mapping a logical address of a memory and a physical address of a storage element, And a method of managing the cache mapping table of the mapping method.

S210 단계는, 페이지 캐시 감시부(110)가, 운영 체제(1)의 커널 영역에 포함된 적어도 하나의 페이지 캐시(Page Cache)를 모니터링하여 저장 소자(2)에 대한 쓰기 패턴을 추정하는 단계를 의미할 수 있다.In operation S210, the page cache monitoring unit 110 monitors at least one page cache included in the kernel area of the operating system 1 to estimate a write pattern for the storage element 2 It can mean.

예컨대, S210 단계는 페이지 캐시 감시부(110)가, 적어도 하나의 페이지 캐시 중 수정이 발생하는 페이지 캐시인 수정 페이지 캐시를 검출함으로써 수행될 수 있다.For example, the step S210 may be performed by the page cache monitoring unit 110 detecting a modified page cache, which is a page cache in which at least one page cache is modified.

이제 도 3 및 도 5를 동시에 참조하여, S210 단계에 대해 계속 설명한다.Now, referring to FIG. 3 and FIG. 5 at the same time, step S210 will be continued.

도 3은 본 발명의 실시예에 따른, 캐시 매핑 테이블 관리 방법에서 저장 소자에 대한 쓰기 패턴을 추정하는 단계를 설명하기 위한 순서도이다.3 is a flowchart for explaining a step of estimating a write pattern for a storage element in a cache mapping table management method according to an embodiment of the present invention.

도 5는 본 발명의 실시예에 따른, 캐시 매핑 테이블 관리 방법 및 장치를 설명하기 위한 도면이다.5 is a diagram for explaining a cache mapping table management method and apparatus according to an embodiment of the present invention.

도 3에 도시된 바와 같이, S210 단계는 플래그 필드를 각각 모니터링 하는 단계(S211) 및 더티 플래그를 포함하는 플래그 필드에 대응되는 페이지 캐시를 수정 페이지 캐시로 검출하는 단계(S213)를 포함한다.As shown in FIG. 3, step S210 includes steps (S211) of monitoring flag fields, respectively (step S213), and detecting a page cache corresponding to a flag field including a dirty flag, as a modified page cache (S213).

도 5에 도시된 바와 같이, 운영 체제(1)의 커널 영역은 페이지 캐시(Page Cache)를 포함할 수 있으며, 페이지 캐시 감시부(110)는 운영 체제(1)의 커널 영역 중 페이지 캐시를 감시하여, 적어도 하나의 페이지 캐시에 포함된 플래그 필드가 더티 플래그를 포함하는지 여부를 판단한다.5, the kernel area of the operating system 1 may include a page cache, and the page cache monitoring unit 110 may monitor the page cache of the kernel area of the operating system 1 And determines whether or not the flag field included in at least one page cache includes a dirty flag.

여기서, 더티 플래그를 포함하는 페이지 캐시는 메모리 상에서는 수정이 발생하였으나, 아직 저장 소자(2)에는 해당 수정이 반영되지 않은 페이지를 의미할 수 있다.Here, the page cache including the dirty flag may refer to a page that has been modified in the memory but has not yet been reflected in the storage element 2.

즉, S210 단계에서 페이지 캐시 감시부(110)는 더티 플래그의 존재 여부를 통하여 추후에 발생한 저장 소자(2)의 쓰기 패턴을 추정할 수 있다.That is, in step S210, the page cache monitoring unit 110 may estimate the write pattern of the storage element 2 that occurs later on the presence or absence of the dirty flag.

S211 단계는, 페이지 캐시 감시부(110)가, 적어도 하나의 페이지 캐시 각각의 상태를 나타내는 필드인 적어도 하나의 플래그 필드(Flag Field)를 각각 모니터링하는 단계를 의미할 수 있다.Step S211 may mean monitoring the at least one flag field, which is a field indicating the state of each of the at least one page cache, respectively.

S213 단계는, 페이지 캐시 감시부(110)가, 적어도 하나의 플래그 필드 중 더티 플래그(Dirty Flag)를 포함하는 플래그 필드에 대응되는 페이지 캐시를 수정 페이지 캐시로 검출하는 단계를 의미할 수 있다.In step S213, the page cache monitoring unit 110 may detect a page cache corresponding to a flag field including a dirty flag among at least one flag field as a modified page cache.

즉, S211 단계 및 S213 단계를 통하여, 페이지 캐시 감시부(110)는 수정 페이지 캐시를 검출함으로써, 저장 소자(2)에 쓰기 명령이 입력되기 전에 추후 저장 소자(2)에 입력될 쓰기 명령을 예측할 수 있다.That is, through the steps S211 and S213, the page cache monitoring unit 110 detects a modified page cache to predict a write command to be input to the storage element 2 before the write command is input to the storage element 2 .

이제, 도 2를 참조하여 S230 단계 및 S250 단계를 계속 설명한다.The steps S230 and S250 will now be described with reference to FIG.

S230 단계는, 업데이트 요청부(120)가, 추정된 쓰기 패턴에 대응되는 논리 블록 주소(Logical Block Address)에 대응되는 물리 주소를 캐시 매핑 테이블 상에서 업데이트할 것을 요청하는 캐시 매핑 테이블 업데이트 요청 메시지를 캐시 매핑 테이블 저장부(130)에 전달하는 단계를 의미할 수 있다.In step S230, the update request unit 120 transmits a cache mapping table update request message requesting to update, on the cache mapping table, a physical address corresponding to a logical block address corresponding to the estimated write pattern, To the mapping table storage unit 130. [0064] FIG.

예컨대, S230 단계는, 수정 페이지 캐시의 논리 블록 주소에 기초하여 수행될 수 있다.For example, step S230 may be performed based on the logical block address of the modified page cache.

예를 들어, 캐시 매핑 테이블 업데이트 요청 메시지는 수정 페이지 캐시의 논리 블록 주소를 캐시 매핑 테이블 저장부(130)에 전달하여, 캐시 매핑 테이블 저장부(130)에게 수정 페이지 캐시의 논리 블록 주소와 대응되는 저장 소자(2)의 물리 주소를 수정 페이지 캐시의 논리 블록 주소와 매핑하여 캐시 매핑 테이블에 저장하도록 요청하는 메시지를 의미할 수 있다.For example, the cache mapping table update request message transfers the logical block address of the modified page cache to the cache mapping table storage unit 130, and stores the logical block address corresponding to the logical block address of the modified page cache in the cache mapping table storage unit 130 It may mean a message requesting to map the physical address of the storage element 2 to the logical block address of the modified page cache and store it in the cache mapping table.

S250 단계는, 캐시 매핑 테이블 저장부(130)가, 캐시 매핑 테이블 업데이트 요청 메시지에 기초하여 캐시 매핑 테이블을 업데이트하는 단계를 의미할 수 있다.In step S250, the cache mapping table storage unit 130 may update the cache mapping table based on the cache mapping table update request message.

예컨대, S250 단계에서 캐시 매핑 테이블 저장부(130)는 수정 페이지 캐시의 논리 블록 주소를 논리 페이지 번호(Logical Page Number, LPN)로 변환한 뒤, 논리 페이지 번호와 매핑되는 물리 주소를 전역 매핑 테이블 상에서 추출하여 수행될 수 있으나, 본 발명은 이에 한정되지 않는다.For example, in step S250, the cache mapping table storage unit 130 converts the logical block address of the modified page cache into a logical page number (LPN), and then maps the physical address mapped to the logical page number on the global mapping table And the present invention is not limited thereto.

예컨대, S250 단계에서 캐시 매핑 테이블 저장부(130)는 전역 변환 디렉토리에서 변환 페이지(Translation Page) 주소를 추출하고, 저장 소자(2)에서 변환 페이지 정보를 추출함으로써 캐시 매핑 테이블을 업데이트 할 수 있으나, 본 발명은 이에 한정되지 않는다.For example, in step S250, the cache mapping table storage unit 130 may update the cache mapping table by extracting the translation page address from the global translation directory and extracting the conversion page information from the storage element 2, The present invention is not limited thereto.

이제, 도 4를 참조하여 S250 단계를 설명한다.Step S250 will now be described with reference to FIG.

도 4는 본 발명의 실시예에 따른, 캐시 매핑 테이블 관리 방법에서 캐시 매핑 테이블을 업데이트하는 단계를 설명하기 위한 순서도이다.4 is a flowchart for explaining a step of updating a cache mapping table in a cache mapping table management method according to an embodiment of the present invention.

도 4에 도시된 바와 같이, S250 단계는 수정 페이지 캐시의 논리 블록 주소에 대응되는 저장 소자의 대응 물리 주소를 추출하는 단계(S251) 및 대응 물리 주소를 캐시 매핑 테이블에 저장하는 단계(S253)를 포함한다.4, in operation S250, a corresponding physical address of a storage element corresponding to a logical block address of the modified page cache is extracted (S251) and a corresponding physical address is stored in a cache mapping table (S253) .

예컨대, S251 단계는, 캐시 매핑 테이블 저장부(130)가, 저장 소자(2)에 직접 저장된 전역 매핑 테이블(Global Mapping Table, GMT) 상에서 수정 페이지 캐시의 논리 블록 주소에 대응되는 저장 소자(2)의 물리 주소인 대응 물리 주소를 추출하는 단계를 의미할 수 있다.For example, in step S251, the cache mapping table storage unit 130 stores the storage element 2 corresponding to the logical block address of the modified page cache on the Global Mapping Table (GMT) directly stored in the storage element 2, And extracting a corresponding physical address, which is a physical address of the mobile station.

예를 들어, S253 단계는, 캐시 매핑 테이블 저장부(130)가, 대응 물리 주소를 캐시 매핑 테이블에 저장하는 단계를 의미할 수 있다.For example, in step S253, the cache mapping table storage unit 130 may store the corresponding physical address in the cache mapping table.

예를 들어, S253 단계에서, 캐시 매핑 테이블 저장부(130)는 수정 페이지 캐시의 논리 블록 주소 및 수정 페이지 캐시의 논리 블록 주소에 대응되는 대응 물리 주소를 서로 매핑하여 매핑 정보를 생성하고, 생성된 매핑 정보를 캐시 매핑 테이블에 저장할 수도 있다.For example, in step S253, the cache mapping table storage unit 130 generates mapping information by mapping the logical block address of the modified page cache and the corresponding physical address corresponding to the logical block address of the modified page cache to each other, The mapping information may also be stored in a cache mapping table.

예컨대, S250 단계에서, 캐시 매핑 테이블 저장부(130)에 저장 공간이 부족한 경우, S250 단계는, 캐시 매핑 테이블에 미리 저장된 복수의 매핑 정보 중 적어도 하나의 매핑 정보를 삭제한 후에 수행될 수 있다.For example, in step S250, if there is insufficient storage space in the cache mapping table storage unit 130, step S250 may be performed after deleting at least one mapping information among a plurality of mapping information previously stored in the cache mapping table.

예컨대, 캐시 매핑 테이블에 미리 저장된 복수의 매핑 정보 중 적어도 하나의 매핑 정보를 삭제하기 위하여, 캐시 매핑 테이블 저장부(130)는 캐시 매핑 테이블에 저장된 매핑 정보 중 가장 빠른 시점에 저장된 매핑 정보를 삭제하거나, 가장 적은 횟수로 이용된 매핑 정보를 삭제할 수 있으나, 본 발명은 이에 한정되지 않는다.For example, in order to delete at least one mapping information among a plurality of mapping information previously stored in the cache mapping table, the cache mapping table storage unit 130 deletes the mapping information stored at the earliest point in the mapping information stored in the cache mapping table , The mapping information used in the smallest number of times may be deleted, but the present invention is not limited thereto.

예컨대, 도 1에 도시된, S210 단계, S230 단계 및 S250 단계는 저장 소자(2)에 쓰기(Write) 명령이 입력되기 이전에 미리 수행될 수 있다.For example, steps S210, S230, and S250 shown in FIG. 1 may be performed before a write command is input to the storage element 2.

그 결과, 실제로 저장 소자(2)에 쓰기 명령이 입력되어 수정 페이지 캐시에서 수정된 정보를 저장 소자(2)에 저장하는 경우, 캐시 매핑 테이블에는 수정 페이지 캐시의 논리 블록 주소와 대응 물리 주소의 매핑 정보가 미리 저장되어 있게 되며, 그 결과 적중률(Hit Rate)이 높아져, 전역 매핑 테이블에 대한 검색이 없이도 빠른 속도로 저장 소자(2)의 쓰기 동작이 수행될 수 있다.As a result, when a write command is actually input to the storage element 2 to store the modified information in the modified page cache in the storage element 2, the cache mapping table includes a mapping between the logical block address of the modified page cache and the corresponding physical address Information is stored in advance. As a result, the hit rate is increased, and the write operation of the storage element 2 can be performed at a high speed without searching for the global mapping table.

이제, 도 6a, 도 6b 및 도 6c를 참조하여, 본 발명의 실시예에 따른 캐시 매핑 테이블 관리 방법 및 장치의 효과를 설명한다.The effects of the cache mapping table management method and apparatus according to the embodiment of the present invention will now be described with reference to FIGS. 6A, 6B and 6C. FIG.

도 6a, 도 6b 및 도 6c는 본 발명의 실시예에 따른, 캐시 매핑 테이블 관리 방법 및 장치의 효과를 설명하기 위한 도면이다.6A, 6B and 6C are diagrams for explaining the effect of the cache mapping table management method and apparatus according to the embodiment of the present invention.

본 발명의 실시예에 따른, 캐시 매핑 테이블 관리 방법 및 장치의 효과를 설명하기 위하여, 종래의 DFTL 매핑 기법과 DFTL 매핑 기법에 본 발명의 실시예에 따른 캐시 매핑 테이블 관리 방법을 적용한 실시예를 비교한다.In order to explain the effect of the cache mapping table management method and apparatus according to the embodiment of the present invention, an embodiment in which a cache mapping table management method according to an embodiment of the present invention is applied to a conventional DFTL mapping technique and a DFTL mapping technique is compared do.

이때, 캐시 사이즈는 24KB로 설정하여 실험을 진행하였으며, 캐시의 엔트리는 LPN, PPN, Dirty로 이루어져 있고, 총 2048개의 엔트리로 구성되도록 실험을 진행하였다.At this time, the experiment was performed by setting the cache size to 24 KB, and the cache entries consisted of LPN, PPN, and Dirty.

그 결과, 도 6a에 도시된 바와 같이, 본 발명의 실시예에 따른 캐시 매핑 테이블 관리 방법이 적용된 DFTL 매핑 기법의 경우 종래의 DFTL 매핑 기법에 비해 적중률이 127% 향상되는 것을 확인할 수 있다.As a result, as shown in FIG. 6A, the hit rate is improved by 127% as compared with the conventional DFTL mapping method in the DFTL mapping method using the cache mapping table management method according to the embodiment of the present invention.

또한, 도 6b에 도시된 바와 같이, 본 발명의 실시예에 따른 캐시 매핑 테이블 관리 방법이 적용된 DFTL 매핑 기법의 경우 종래의 DFTL 매핑 기법에 비해 읽기 성능이 1.89% 증가하였고, 쓰기 성능이 1.7% 증가함을 확인할 수 있다.As shown in FIG. 6B, the DFTL mapping method using the cache mapping table management method according to the present invention has a 1.89% increase in read performance and a 1.7% increase in write performance compared to the conventional DFTL mapping technique .

나아가, 도 6c에 도시된 바와 같이, 본 발명의 실시예에 따른 캐시 매핑 테이블 관리 방법이 적용된 DFTL 매핑 기법의 경우 종래의 DFTL 매핑 기법에 비해 IOPS 읽기의 경우 성능이 3.31% 증가하였고, IOPS 쓰기의 경우 성능이 2.73% 증가함을 확인할 수 있다.As shown in FIG. 6C, in the DFTL mapping method using the cache mapping table management method according to the embodiment of the present invention, the performance of the IOPS reading is increased by 3.31% as compared with the conventional DFTL mapping method. It can be confirmed that the performance is increased by 2.73%.

이상에서 본 발명에 따른 바람직한 실시예에 대해 설명하였으나, 다양한 형태로 변형이 가능하며, 본 기술분야에서 통상의 지식을 가진 자라면 본 발명의 특허청구범위를 벗어남이 없이 다양한 변형예 및 수정예를 실시할 수 있을 것으로 이해된다.While the present invention has been described in connection with what is presently considered to be practical exemplary embodiments, it is to be understood that the invention is not limited to the disclosed embodiments, but many variations and modifications may be made without departing from the scope of the present invention. It will be understood that the invention may be practiced.

1: 운영 체제 2: 저장 소자
100: 캐시 매핑 테이블 관리 장치
110: 페이지 캐시 감시부
120: 업데이트 요청부
130: 캐시 매핑 테이블 저장부
1: Operating system 2: Storage device
100: cache mapping table management device
110: a page cache monitoring unit
120: update request unit
130: cache mapping table storage unit

Claims (14)

메모리의 논리 주소와 저장 소자의 물리 주소를 매핑하는 테이블인 캐시 매핑 테이블(Cache Mapping Table, CMT)을 활용한 FTL(Flash Translation Layer) 매핑 기법의 상기 캐시 매핑 테이블을 관리하는 방법에 있어서,
페이지 캐시 감시부가, 운영 체제(OS)의 커널(Kernel) 영역에 포함된 적어도 하나의 페이지 캐시(Page Cache)를 모니터링하여 상기 저장 소자에 대한 쓰기 패턴을 추정하는 단계;
업데이트 요청부가, 상기 추정된 쓰기 패턴에 대응되는 논리 블록 주소(Logical Block Address)에 대응되는 물리 주소를 상기 캐시 매핑 테이블 상에서 업데이트할 것을 요청하는 캐시 매핑 테이블 업데이트 요청 메시지를 캐시 매핑 테이블 저장부에 전달하는 단계; 및
상기 캐시 매핑 테이블 저장부가, 상기 캐시 매핑 테이블 업데이트 요청 메시지에 기초하여 상기 캐시 매핑 테이블을 업데이트하는 단계를 포함하는, 캐시 매핑 테이블 관리 방법.
A method of managing the cache mapping table of a Flash Translation Layer (FTL) mapping scheme using a cache mapping table (CMT), which is a table mapping a logical address of a memory and a physical address of a storage element,
The page cache monitoring unit monitors at least one page cache included in a kernel region of an operating system (OS) to estimate a write pattern for the storage element.
The update request unit sends a cache mapping table update request message to the cache mapping table storage unit for requesting to update the physical address corresponding to the logical block address corresponding to the estimated write pattern on the cache mapping table ; And
Wherein the cache mapping table storage unit updates the cache mapping table based on the cache mapping table update request message.
제1항에 있어서,
상기 저장 소자에 대한 쓰기 패턴을 추정하는 단계는,
상기 페이지 캐시 감시부가, 상기 적어도 하나의 페이지 캐시 중 수정이 발생하는 페이지 캐시인 수정 페이지 캐시를 검출함으로써 수행되는, 캐시 매핑 테이블 관리 방법.
The method according to claim 1,
Wherein estimating a write pattern for the storage element comprises:
Wherein the page cache monitoring is performed by detecting a modified page cache that is a page cache in which modification occurs in the at least one page cache.
제2항에 있어서,
상기 저장 소자에 대한 쓰기 패턴을 추정하는 단계는,
상기 페이지 캐시 감시부가, 상기 적어도 하나의 페이지 캐시 각각의 상태를 나타내는 필드인 적어도 하나의 플래그 필드(Flags Field)를 각각 모니터링하는 단계; 및
상기 페이지 캐시 감시부가, 상기 적어도 하나의 플래그 필드 중 더티 플래그(Dirty Flag)를 포함하는 플래그 필드에 대응되는 페이지 캐시를 상기 수정 페이지 캐시로 검출하는 단계를 포함하는, 캐시 매핑 테이블 관리 방법.
3. The method of claim 2,
Wherein estimating a write pattern for the storage element comprises:
Wherein the page cache monitoring unit monitors at least one flags field that is a field indicating a status of each of the at least one page cache; And
Wherein the page cache monitoring unit includes detecting, as the modified page cache, a page cache corresponding to a flag field including a dirty flag among the at least one flag field.
제2항에 있어서,
상기 캐시 매핑 테이블 업데이트 요청 메시지를 캐시 매핑 테이블 저장부에 전달하는 단계는,
상기 수정 페이지 캐시의 상기 논리 블록 주소에 기초하여 수행되는, 캐시 매핑 테이블 관리 방법.
3. The method of claim 2,
The step of transmitting the cache mapping table update request message to the cache mapping table storage unit may include:
Wherein the modified page cache is performed based on the logical block address of the modified page cache.
제2항에 있어서,
상기 캐시 매핑 테이블을 업데이트하는 단계는,
상기 캐시 매핑 테이블 저장부가, 상기 저장 소자에 직접 저장된 전역 매핑 테이블(Global Mapping Table, GMT) 상에서 상기 수정 페이지 캐시의 상기 논리 블록 주소에 대응되는 상기 저장 소자의 물리 주소인 대응 물리 주소를 추출하는 단계; 및
상기 캐시 매핑 테이블 저장부가, 상기 대응 물리 주소를 상기 캐시 매핑 테이블에 저장하는 단계를 포함하는, 캐시 매핑 테이블 관리 방법.
3. The method of claim 2,
Wherein updating the cache mapping table comprises:
The cache mapping table storage unit extracts a corresponding physical address which is a physical address of the storage element corresponding to the logical block address of the modified page cache on a Global Mapping Table (GMT) directly stored in the storage element ; And
Wherein the cache mapping table storage unit stores the corresponding physical address in the cache mapping table.
제1항에 있어서,
상기 캐시 매핑 테이블 저장부에 저장 공간이 부족한 경우,
상기 캐시 매핑 테이블을 업데이트하는 단계는.
상기 캐시 매핑 테이블에 미리 저장된 복수의 매핑 정보 중 적어도 하나의 매핑 정보를 삭제한 후에 수행되는, 캐시 매핑 테이블 관리 방법.
The method according to claim 1,
If the storage space of the cache mapping table storage unit is insufficient,
Wherein updating the cache mapping table comprises:
Wherein the mapping is performed after deleting at least one mapping information among a plurality of mapping information previously stored in the cache mapping table.
제1항에 있어서,
상기 저장 소자에 대한 쓰기 패턴을 추정하는 단계, 상기 캐시 매핑 테이블 업데이트 요청 메시지를 캐시 매핑 테이블 저장부에 전달하는 단계 및 상기 캐시 매핑 테이블을 업데이트하는 단계는,
상기 저장 소자에 쓰기(Write) 명령이 입력되기 이전에 미리 수행되는, 캐시 매핑 테이블 관리 방법.
The method according to claim 1,
Estimating a write pattern for the storage element, transferring the cache mapping table update request message to a cache mapping table storage unit, and updating the cache mapping table,
Wherein the cache mapping table is previously executed before a write command is input to the storage element.
메모리의 논리 주소와 저장 소자의 물리 주소를 매핑하는 테이블인 캐시 매핑 테이블(Cache Mapping Table, CMT)을 활용한 FTL(Flash Translation Layer) 매핑 기법의 상기 캐시 매핑 테이블을 관리하는 장치에 있어서,
운영 체제(OS)의 커널(Kernel) 영역에 포함된 적어도 하나의 페이지 캐시(Page Cache)를 모니터링하여 상기 저장 소자에 대한 쓰기 패턴을 추정하는 페이지 캐시 감시부;
상기 추정된 쓰기 패턴에 대응되는 논리 블록 주소(Logical Block Address)에 대응되는 물리 주소를 상기 캐시 매핑 테이블 상에서 업데이트할 것을 요청하는 캐시 매핑 테이블 업데이트 요청 메시지를 캐시 매핑 테이블 저장부에 전달하는 업데이트 요청부; 및
상기 캐시 매핑 테이블 업데이트 요청 메시지에 기초하여 상기 캐시 매핑 테이블을 업데이트하는 캐시 매핑 테이블 저장부를 포함하는, 캐시 매핑 테이블 관리 장치.
1. An apparatus for managing the cache mapping table of a Flash Translation Layer (FTL) mapping scheme using a Cache Mapping Table (CMT), which maps a logical address of a memory and a physical address of a storage element,
A page cache monitoring unit monitoring at least one page cache included in a kernel region of an operating system (OS) to estimate a write pattern for the storage element;
A cache mapping table update request message requesting to update a physical address corresponding to a logical block address corresponding to the estimated write pattern on the cache mapping table to a cache mapping table storage unit, ; And
And a cache mapping table storage unit for updating the cache mapping table based on the cache mapping table update request message.
제8항에 있어서,
상기 페이지 캐시 감시부는,
상기 적어도 하나의 페이지 캐시 중 수정이 발생하는 페이지 캐시인 수정 페이지 캐시를 검출함으로써 상기 저장 소자에 대한 쓰기 패턴을 추정하는, 캐시 매핑 테이블 관리 장치.
9. The method of claim 8,
The page cache monitoring unit,
And estimates a write pattern for the storage element by detecting a modified page cache that is a page cache in which modification occurs in the at least one page cache.
제9항에 있어서,
상기 페이지 캐시 감시부는,
상기 적어도 하나의 페이지 캐시 각각의 상태를 나타내는 필드인 적어도 하나의 플래그 필드(Flags Field)를 각각 모니터링하고, 상기 적어도 하나의 플래그 필드 중 더티 플래그(Dirty Flag)를 포함하는 플래그 필드에 대응되는 페이지 캐시를 상기 수정 페이지 캐시로 검출하여 상기 저장 소자에 대한 쓰기 패턴을 추정하는, 캐시 매핑 테이블 관리 장치.
10. The method of claim 9,
The page cache monitoring unit,
Wherein each of the at least one page cache includes at least one flags field that is a field indicating a status of each of the at least one page cache and monitors a page cache corresponding to a flag field including a dirty flag among the at least one flags field, To the modified page cache to estimate a write pattern for the storage element.
제9항에 있어서,
상기 업데이트 요청부는,
상기 수정 페이지 캐시의 상기 논리 블록 주소에 기초하여 상기 캐시 매핑 테이블 업데이트 요청 메시지를 상기 캐시 매핑 테이블 저장부에 전달하는, 캐시 매핑 테이블 관리 장치.
10. The method of claim 9,
The update request unit,
And transfers the cache mapping table update request message to the cache mapping table storage unit based on the logical block address of the modified page cache.
제9항에 있어서,
상기 캐시 매핑 테이블 저장부는,
상기 저장 소자에 직접 저장된 전역 매핑 테이블(Global Mapping Table, GMT) 상에서 상기 수정 페이지 캐시의 상기 논리 블록 주소에 대응되는 상기 저장 소자의 물리 주소인 대응 물리 주소를 추출하고, 상기 대응 물리 주소를 상기 캐시 매핑 테이블에 저장하여 상기 캐시 매핑 테이블을 업데이트하는, 캐시 매핑 테이블 관리 장치.
10. The method of claim 9,
The cache mapping table storage unit stores,
Extracts a corresponding physical address which is a physical address of the storage element corresponding to the logical block address of the modified page cache on a Global Mapping Table (GMT) directly stored in the storage element, And updates the cache mapping table by storing the cache mapping table in the mapping table.
제8항에 있어서,
상기 캐시 매핑 테이블 저장부에 저장 공간이 부족한 경우,
상기 캐시 매핑 테이블 저장부는,
상기 캐시 매핑 테이블에 미리 저장된 복수의 매핑 정보 중 적어도 하나의 매핑 정보를 삭제한 후에 상기 캐시 매핑 테이블을 업데이트하는, 캐시 매핑 테이블 관리 장치.
9. The method of claim 8,
If the storage space of the cache mapping table storage unit is insufficient,
The cache mapping table storage unit stores,
And updates the cache mapping table after deleting at least one mapping information among a plurality of mapping information previously stored in the cache mapping table.
제8항에 있어서,
상기 페이지 캐시 감시부가 상기 저장 소자에 대한 쓰기 패턴을 추정하고, 상기 업데이트 요청부가 상기 캐시 매핑 테이블 업데이트 요청 메시지를 상기 캐시 매핑 테이블 저장부에 전달하고, 상기 캐시 매핑 테이블 저장부가 상기 캐시 매핑 테이블을 업데이트하는 동작은,
상기 저장 소자에 쓰기(Write) 명령이 입력되기 이전에 미리 수행되는, 캐시 매핑 테이블 관리 장치.
9. The method of claim 8,
The page cache monitoring unit estimates a write pattern for the storage element, the update request unit transfers the cache mapping table update request message to the cache mapping table storage unit, and the cache mapping table storage unit updates the cache mapping table In this case,
Wherein the cache mapping table management is performed in advance before a write command is input to the storage element.
KR1020170000628A 2017-01-03 2017-01-03 Method and appartus for managing cache mapping table KR101883637B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170000628A KR101883637B1 (en) 2017-01-03 2017-01-03 Method and appartus for managing cache mapping table

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170000628A KR101883637B1 (en) 2017-01-03 2017-01-03 Method and appartus for managing cache mapping table

Publications (2)

Publication Number Publication Date
KR20180079900A true KR20180079900A (en) 2018-07-11
KR101883637B1 KR101883637B1 (en) 2018-07-31

Family

ID=62917853

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170000628A KR101883637B1 (en) 2017-01-03 2017-01-03 Method and appartus for managing cache mapping table

Country Status (1)

Country Link
KR (1) KR101883637B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200066011A (en) * 2018-11-30 2020-06-09 서울대학교산학협력단 Method and apparatus for protecting kernel without nested paging
CN113094004A (en) * 2021-05-13 2021-07-09 深圳市得一微电子有限责任公司 Mirror image mapping optimization processing method for specific regular data in storage equipment
US11675712B2 (en) 2020-04-22 2023-06-13 SK Hynix Inc. Memory system, memory controller, and operation method of memory system

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109918316B (en) * 2019-02-26 2021-07-13 深圳忆联信息系统有限公司 Method and system for reducing FTL address mapping space

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101105127B1 (en) 2010-04-16 2012-01-16 성균관대학교산학협력단 Buffer cache managing method using ssdsolid state disk extension buffer and apparatus for using ssdsolid state disk as extension buffer
KR101284465B1 (en) * 2013-03-26 2013-07-09 서울과학기술대학교 산학협력단 Page mapping scheme that supports secure file deletion for nand-based block device, and thereof recording medium
KR101489870B1 (en) * 2013-08-19 2015-02-06 성균관대학교산학협력단 Virtualization apparatus and memory management method thereof

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101105127B1 (en) 2010-04-16 2012-01-16 성균관대학교산학협력단 Buffer cache managing method using ssdsolid state disk extension buffer and apparatus for using ssdsolid state disk as extension buffer
KR101284465B1 (en) * 2013-03-26 2013-07-09 서울과학기술대학교 산학협력단 Page mapping scheme that supports secure file deletion for nand-based block device, and thereof recording medium
KR101489870B1 (en) * 2013-08-19 2015-02-06 성균관대학교산학협력단 Virtualization apparatus and memory management method thereof

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
이빛나 외 2명. "데이터 접근 패턴을 고려한 요구 기반 FTL 내 캐시의 동적 관리 기법". 정보과학회논문지 시스템 및 이론 제39권제1호, 2012.2. *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200066011A (en) * 2018-11-30 2020-06-09 서울대학교산학협력단 Method and apparatus for protecting kernel without nested paging
US11675712B2 (en) 2020-04-22 2023-06-13 SK Hynix Inc. Memory system, memory controller, and operation method of memory system
CN113094004A (en) * 2021-05-13 2021-07-09 深圳市得一微电子有限责任公司 Mirror image mapping optimization processing method for specific regular data in storage equipment
CN113094004B (en) * 2021-05-13 2023-11-03 得一微电子股份有限公司 Data mirror image mapping optimization processing method aiming at specific rule in storage equipment

Also Published As

Publication number Publication date
KR101883637B1 (en) 2018-07-31

Similar Documents

Publication Publication Date Title
US9778873B2 (en) Maintaining versions of data in solid state memory
EP3204859B1 (en) Methods and systems for cache lines de-duplication
US9122584B2 (en) File system for maintaining data version in solid state memory
US9053007B2 (en) Memory system, controller, and method for controlling memory system
KR101883637B1 (en) Method and appartus for managing cache mapping table
US20150331624A1 (en) Host-controlled flash translation layer snapshot
US20170139825A1 (en) Method of improving garbage collection efficiency of flash-oriented file systems using a journaling approach
US20070094440A1 (en) Enhanced data access in a storage device
US20150347310A1 (en) Storage Controller and Method for Managing Metadata in a Cache Store
TW201301030A (en) Fast translation indicator to reduce secondary address table checks in a memory device
CN111338561B (en) Memory controller and memory page management method
US20180150390A1 (en) Data Storage Device and Operating Method Therefor
US20190303019A1 (en) Memory device and computer system for improving read performance and reliability
KR20170109133A (en) Hybrid memory device and operating method thereof
US20090132757A1 (en) Storage system for improving efficiency in accessing flash memory and method for the same
US9135162B2 (en) Data versioning in solid state memory
WO2015065312A1 (en) Method and apparatus of data de-duplication for solid state memory
US20030046482A1 (en) Data management in flash memory
KR101676175B1 (en) Apparatus and method for memory storage to protect data-loss after power loss
KR101353967B1 (en) Data process method for reading/writing data in non-volatile memory cache having ring structure
US11321243B2 (en) Data storage device including a semiconductor device managing address mapping of a semiconductor memory device
KR101373613B1 (en) Hybrid storage device including non-volatile memory cache having ring structure
KR102210536B1 (en) Data storage system of on-volatile memory apparatus and method of the same
US11941246B2 (en) Memory system, data processing system including the same, and operating method thereof
KR102053406B1 (en) Data storage device and operating method thereof

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant