KR101883637B1 - Method and appartus for managing cache mapping table - Google Patents
Method and appartus for managing cache mapping table Download PDFInfo
- Publication number
- KR101883637B1 KR101883637B1 KR1020170000628A KR20170000628A KR101883637B1 KR 101883637 B1 KR101883637 B1 KR 101883637B1 KR 1020170000628 A KR1020170000628 A KR 1020170000628A KR 20170000628 A KR20170000628 A KR 20170000628A KR 101883637 B1 KR101883637 B1 KR 101883637B1
- Authority
- KR
- South Korea
- Prior art keywords
- cache
- mapping table
- cache mapping
- page
- storage element
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/20—Cooling means
- G06F1/203—Cooling means for portable computers, e.g. for laptops
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2200/00—Indexing scheme relating to G06F1/04 - G06F1/32
- G06F2200/20—Indexing scheme relating to G06F1/20
- G06F2200/201—Cooling arrangements using cooling fluid
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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
메모리의 논리 주소와 저장 소자의 물리 주소를 매핑하는 테이블인 캐시 매핑 테이블(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 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, and the update request unit corresponds to the estimated write pattern To a cache mapping table storage unit, a cache mapping table update request message requesting to update a physical address corresponding to a logical block address of the cache mapping table in the cache mapping table, And updating the cache mapping table based on the update request message. The present invention relates to a method and apparatus for managing a city mapping table.
Description
본 발명의 실시예들은 캐시 매핑 테이블(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.
본 발명의 목적은, 상기 문제점을 해결하기 위한 것으로, 운영 체제(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
예컨대, 본 발명의 실시예에 따른, 캐시 매핑 테이블 관리 장치(100)는 메모리의 논리 주소와 저장 소자의 물리 주소를 매핑하는 테이블인 캐시 매핑 테이블(Cache Mapping Table, CMT)을 활용한 FTL(Flash Translation Layer) 매핑 기법의 캐시 매핑 테이블을 관리하는 장치를 의미할 수 있다.For example, according to an embodiment of the present invention, the cache mapping
예컨대, 캐시 매핑 테이블을 활용한 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
예컨대, 전역 매핑 테이블은 메모리의 논리 주소와 저장 소자(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
예컨대, 전역 변환 디렉토리는 캐시 매핑 테이블에 포함되지 않는 매핑 정보를 전역 매핑 테이블 상에서 검출할 수 있도록 하는 정보를 포함하는 디렉토리를 의미할 수 있다.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
즉, 캐시가 존재하는 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
예컨대, 도 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
또한 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
페이지 캐시 감시부(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
업데이트 요청부(120)는 추정된 쓰기 패턴에 대응되는 논리 블록 주소(Logical Block Address)에 대응되는 물리 주소를 캐시 매핑 테이블 상에서 업데이트할 것을 요청하는 캐시 매핑 테이블 업데이트 요청 메시지를 캐시 매핑 테이블 저장부(130)에 전달한다.The
캐시 매핑 테이블 저장부(130)는 캐시 매핑 테이블 업데이트 요청 메시지에 기초하여 캐시 매핑 테이블을 업데이트 한다.The cache mapping
예컨대, 페이지 캐시는 운영 체제(1)의 파일 입력/출력의 성능 향상을 위한 메모리 영역을 의미할 수 있으며, 페이지 캐시는 복수의 필드를 포함할 수 있고, 페이지 캐시에 포함된 복수의 필드 중 적어도 하나의 필드는 해당 페이지 캐시의 상태를 나타내는 필드인 플래그 필드(Flags Field)를 의미할 수 있다.For example, the page cache may refer to a memory area for improving the performance of file input / output of the
이때, 운영 체제(1)의 커널 영역에 포함된 적어도 하나의 페이지 캐시, 플래그 필드에 대한 구체적인 설명은 종래에 공지된 바와 같으므로 상세한 설명은 생략한다.At this time, at least one page cache and flag fields included in the kernel area of the
예컨대, 저장 소자(2)는 낸드 플래시 메모리(NAND Flash Memory)를 비롯한 각종 플래시 메모리를 의미할 수 있으나, 본 발명은 이에 한정되지 않는다.For example, the
예컨대, 논리 블록 주소는 메모리의 논리 주소의 일 실시예를 의미할 수 있나, 본 발명은 이에 한정되지 않는다.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
예컨대, 페이지 캐시 감시부(110)는, 적어도 하나의 페이지 캐시 중 수정이 발생하는 페이지 캐시인 수정 페이지 캐시를 검출함으로써 저장 소자(2)에 대한 쓰기 패턴을 추정할 수 있다.For example, the page cache monitoring unit 110 may estimate a write pattern for the
예를 들어, 페이지 캐시 감시부(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
예를 들어, 더티 플래그를 포함하는 페이지 캐시는 메모리 상에서는 수정이 일어났지만 아직 저장 소자(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
예컨대, 업데이트 요청부(120)는, 수정 페이지 캐시의 논리 블록 주소에 기초하여 캐시 매핑 테이블 업데이트 요청 메시지를 캐시 매핑 테이블 저장부(130)에 전달할 수 있다.For example, the
예컨대, 캐시 매핑 테이블 업데이트 요청 메시지는 더티 플래그를 포함하는 수정 페이지 캐시의 논리 블록 주소를 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
예컨대, 캐시 매핑 테이블 저장부(130)는, 저장 소자(2)에 직접 저장된 전역 매핑 테이블(Global Mapping Table, GMT) 상에서 수정 페이지 캐시의 논리 블록 주소에 대응되는 저장 소자(2)의 물리 주소인 대응 물리 주소를 추출하고, 대응 물리 주소를 캐시 매핑 테이블에 저장하여 캐시 매핑 테이블을 업데이트할 수 있다.For example, the cache mapping
예컨대, 캐시 매핑 테이블 저장부(130)에 저장 공간이 부족한 경우, 캐시 매핑 테이블 저장부(130)는, 캐시 매핑 테이블에 미리 저장된 복수의 매핑 정보 중 적어도 하나의 매핑 정보를 삭제한 후에 캐시 매핑 테이블을 업데이트할 수 있다.For example, when there is insufficient storage space in the cache mapping
예를 들어, 페이지 캐시 감시부(110)가 저장 소자(2)에 대한 쓰기 패턴을 추정하고, 업데이트 요청부(120)가 캐시 매핑 테이블 업데이트 요청 메시지를 캐시 매핑 테이블 저장부(130)에 전달하고, 캐시 매핑 테이블 저장부(130)가 캐시 매핑 테이블을 업데이트하는 동작은, 저장 소자(2)에 쓰기(Write) 명령이 입력되기 이전에 미리 수행될 수 있다.For example, the page cache monitoring unit 110 estimates a write pattern for the
다시 말해, 종래의 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
즉, 본 발명의 실시예에 따른 캐시 매핑 테이블 관리 장치 및 방법은 과거의 매핑 정보뿐만 아니라 향후에 발생할 입력/출력을 추정하여 추정된 매핑 정보를 캐시 매핑 테이블에 적재시킴으로써, 기존의 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
예를 들어, 본 발명의 실시예에 따른 캐시 매핑 테이블 관리 장치 및 방법은 더티 플래그(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
이제 도 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
예컨대, 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
여기서, 더티 플래그를 포함하는 페이지 캐시는 메모리 상에서는 수정이 발생하였으나, 아직 저장 소자(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
즉, S210 단계에서 페이지 캐시 감시부(110)는 더티 플래그의 존재 여부를 통하여 추후에 발생한 저장 소자(2)의 쓰기 패턴을 추정할 수 있다.That is, in step S210, the page cache monitoring unit 110 may estimate the write pattern of the
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
이제, 도 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
예컨대, 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
S250 단계는, 캐시 매핑 테이블 저장부(130)가, 캐시 매핑 테이블 업데이트 요청 메시지에 기초하여 캐시 매핑 테이블을 업데이트하는 단계를 의미할 수 있다.In step S250, the cache mapping
예컨대, S250 단계에서 캐시 매핑 테이블 저장부(130)는 수정 페이지 캐시의 논리 블록 주소를 논리 페이지 번호(Logical Page Number, LPN)로 변환한 뒤, 논리 페이지 번호와 매핑되는 물리 주소를 전역 매핑 테이블 상에서 추출하여 수행될 수 있으나, 본 발명은 이에 한정되지 않는다.For example, in step S250, the cache mapping
예컨대, S250 단계에서 캐시 매핑 테이블 저장부(130)는 전역 변환 디렉토리에서 변환 페이지(Translation Page) 주소를 추출하고, 저장 소자(2)에서 변환 페이지 정보를 추출함으로써 캐시 매핑 테이블을 업데이트 할 수 있으나, 본 발명은 이에 한정되지 않는다.For example, in step S250, the cache mapping
이제, 도 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
예를 들어, S253 단계는, 캐시 매핑 테이블 저장부(130)가, 대응 물리 주소를 캐시 매핑 테이블에 저장하는 단계를 의미할 수 있다.For example, in step S253, the cache mapping
예를 들어, S253 단계에서, 캐시 매핑 테이블 저장부(130)는 수정 페이지 캐시의 논리 블록 주소 및 수정 페이지 캐시의 논리 블록 주소에 대응되는 대응 물리 주소를 서로 매핑하여 매핑 정보를 생성하고, 생성된 매핑 정보를 캐시 매핑 테이블에 저장할 수도 있다.For example, in step S253, the cache mapping
예컨대, S250 단계에서, 캐시 매핑 테이블 저장부(130)에 저장 공간이 부족한 경우, S250 단계는, 캐시 매핑 테이블에 미리 저장된 복수의 매핑 정보 중 적어도 하나의 매핑 정보를 삭제한 후에 수행될 수 있다.For example, in step S250, if there is insufficient storage space in the cache mapping
예컨대, 캐시 매핑 테이블에 미리 저장된 복수의 매핑 정보 중 적어도 하나의 매핑 정보를 삭제하기 위하여, 캐시 매핑 테이블 저장부(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
예컨대, 도 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
그 결과, 실제로 저장 소자(2)에 쓰기 명령이 입력되어 수정 페이지 캐시에서 수정된 정보를 저장 소자(2)에 저장하는 경우, 캐시 매핑 테이블에는 수정 페이지 캐시의 논리 블록 주소와 대응 물리 주소의 매핑 정보가 미리 저장되어 있게 되며, 그 결과 적중률(Hit Rate)이 높아져, 전역 매핑 테이블에 대한 검색이 없이도 빠른 속도로 저장 소자(2)의 쓰기 동작이 수행될 수 있다.As a result, when a write command is actually input to the
이제, 도 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)
페이지 캐시 감시부가, 운영 체제(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 detect a modified page cache that is a page cache in which modification occurs in the at least one page cache Estimating 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.
상기 저장 소자에 대한 쓰기 패턴을 추정하는 단계는,
상기 페이지 캐시 감시부가, 상기 적어도 하나의 페이지 캐시 각각의 상태를 나타내는 필드인 적어도 하나의 플래그 필드(Flags Field)를 각각 모니터링하는 단계; 및
상기 페이지 캐시 감시부가, 상기 적어도 하나의 플래그 필드 중 더티 플래그(Dirty Flag)를 포함하는 플래그 필드에 대응되는 페이지 캐시를 상기 수정 페이지 캐시로 검출하는 단계를 포함하는, 캐시 매핑 테이블 관리 방법.The method according to claim 1,
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.
상기 캐시 매핑 테이블 업데이트 요청 메시지를 캐시 매핑 테이블 저장부에 전달하는 단계는,
상기 수정 페이지 캐시의 상기 논리 블록 주소에 기초하여 수행되는, 캐시 매핑 테이블 관리 방법.The method according to claim 1,
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.
상기 캐시 매핑 테이블을 업데이트하는 단계는,
상기 캐시 매핑 테이블 저장부가, 상기 저장 소자에 직접 저장된 전역 매핑 테이블(Global Mapping Table, GMT) 상에서 상기 수정 페이지 캐시의 상기 논리 블록 주소에 대응되는 상기 저장 소자의 물리 주소인 대응 물리 주소를 추출하는 단계; 및
상기 캐시 매핑 테이블 저장부가, 상기 대응 물리 주소를 상기 캐시 매핑 테이블에 저장하는 단계를 포함하는, 캐시 매핑 테이블 관리 방법.The method according to claim 1,
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.
상기 캐시 매핑 테이블 저장부에 저장 공간이 부족한 경우,
상기 캐시 매핑 테이블을 업데이트하는 단계는.
상기 캐시 매핑 테이블에 미리 저장된 복수의 매핑 정보 중 적어도 하나의 매핑 정보를 삭제한 후에 수행되는, 캐시 매핑 테이블 관리 방법.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.
상기 저장 소자에 대한 쓰기 패턴을 추정하는 단계, 상기 캐시 매핑 테이블 업데이트 요청 메시지를 캐시 매핑 테이블 저장부에 전달하는 단계 및 상기 캐시 매핑 테이블을 업데이트하는 단계는,
상기 저장 소자에 쓰기(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.
운영 체제(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,
By monitoring at least one page cache included in a kernel region of an operating system (OS) to detect a modified page cache that is a page cache in which modification occurs in the at least one page cache, A page cache monitoring unit for estimating a write pattern for the cache memory;
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.
상기 페이지 캐시 감시부는,
상기 적어도 하나의 페이지 캐시 각각의 상태를 나타내는 필드인 적어도 하나의 플래그 필드(Flags Field)를 각각 모니터링하고, 상기 적어도 하나의 플래그 필드 중 더티 플래그(Dirty Flag)를 포함하는 플래그 필드에 대응되는 페이지 캐시를 상기 수정 페이지 캐시로 검출하여 상기 저장 소자에 대한 쓰기 패턴을 추정하는, 캐시 매핑 테이블 관리 장치.9. The method of claim 8,
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. The method of claim 8,
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.
상기 캐시 매핑 테이블 저장부는,
상기 저장 소자에 직접 저장된 전역 매핑 테이블(Global Mapping Table, GMT) 상에서 상기 수정 페이지 캐시의 상기 논리 블록 주소에 대응되는 상기 저장 소자의 물리 주소인 대응 물리 주소를 추출하고, 상기 대응 물리 주소를 상기 캐시 매핑 테이블에 저장하여 상기 캐시 매핑 테이블을 업데이트하는, 캐시 매핑 테이블 관리 장치.9. The method of claim 8,
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.
상기 캐시 매핑 테이블 저장부에 저장 공간이 부족한 경우,
상기 캐시 매핑 테이블 저장부는,
상기 캐시 매핑 테이블에 미리 저장된 복수의 매핑 정보 중 적어도 하나의 매핑 정보를 삭제한 후에 상기 캐시 매핑 테이블을 업데이트하는, 캐시 매핑 테이블 관리 장치.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.
상기 페이지 캐시 감시부가 상기 저장 소자에 대한 쓰기 패턴을 추정하고, 상기 업데이트 요청부가 상기 캐시 매핑 테이블 업데이트 요청 메시지를 상기 캐시 매핑 테이블 저장부에 전달하고, 상기 캐시 매핑 테이블 저장부가 상기 캐시 매핑 테이블을 업데이트하는 동작은,
상기 저장 소자에 쓰기(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.
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 KR20180079900A (en) | 2018-07-11 |
KR101883637B1 true 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 (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109918316A (en) * | 2019-02-26 | 2019-06-21 | 深圳忆联信息***有限公司 | A kind of method and its system reducing FTL address of cache space |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102183648B1 (en) * | 2018-11-30 | 2020-11-26 | 서울대학교산학협력단 | Method and apparatus for protecting kernel without nested paging |
KR20210130340A (en) | 2020-04-22 | 2021-11-01 | 에스케이하이닉스 주식회사 | Memory system, memory controller, and operating method of memory system |
CN113094004B (en) * | 2021-05-13 | 2023-11-03 | 得一微电子股份有限公司 | Data mirror image mapping optimization processing method aiming at specific rule in storage equipment |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
Family Cites Families (1)
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 |
-
2017
- 2017-01-03 KR KR1020170000628A patent/KR101883637B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109918316A (en) * | 2019-02-26 | 2019-06-21 | 深圳忆联信息***有限公司 | A kind of method and its system reducing FTL address of cache space |
Also Published As
Publication number | Publication date |
---|---|
KR20180079900A (en) | 2018-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3204859B1 (en) | Methods and systems for cache lines de-duplication | |
US9652386B2 (en) | Management of memory array with magnetic random access memory (MRAM) | |
US20150331624A1 (en) | Host-controlled flash translation layer snapshot | |
US9053007B2 (en) | Memory system, controller, and method for controlling memory system | |
US9122584B2 (en) | File system for maintaining data version in solid state memory | |
KR101883637B1 (en) | Method and appartus for managing cache mapping table | |
US9489239B2 (en) | Systems and methods to manage tiered cache data storage | |
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 | |
US10936203B2 (en) | Memory storage device and system employing nonvolatile read/write buffers | |
CN111338561B (en) | Memory controller and memory page management method | |
US20180150390A1 (en) | Data Storage Device and Operating Method Therefor | |
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 | |
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 | |
WO2015173889A1 (en) | Storage device | |
KR101353967B1 (en) | Data process method for reading/writing data in non-volatile memory cache having ring structure | |
KR20100099888A (en) | A method for log management in flash memory-based database systems | |
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 |
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 |