KR20110080479A - Flash memory storage device according to the multi-level buffer cache management policy and management method using the same - Google Patents

Flash memory storage device according to the multi-level buffer cache management policy and management method using the same Download PDF

Info

Publication number
KR20110080479A
KR20110080479A KR1020100000731A KR20100000731A KR20110080479A KR 20110080479 A KR20110080479 A KR 20110080479A KR 1020100000731 A KR1020100000731 A KR 1020100000731A KR 20100000731 A KR20100000731 A KR 20100000731A KR 20110080479 A KR20110080479 A KR 20110080479A
Authority
KR
South Korea
Prior art keywords
page
page list
list
flash memory
module
Prior art date
Application number
KR1020100000731A
Other languages
Korean (ko)
Other versions
KR101711945B1 (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 KR1020100000731A priority Critical patent/KR101711945B1/en
Publication of KR20110080479A publication Critical patent/KR20110080479A/en
Application granted granted Critical
Publication of KR101711945B1 publication Critical patent/KR101711945B1/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/04Addressing variable-length words or parts of words

Abstract

PURPOSE: A memory management method according to a multi level buffer cache management policy is provided to offer a high hit ratio and a low flush number. CONSTITUTION: A monitor module(110) collects the state information of a page list comprising a page number, a reference frequency, a flag. An analysis module(120) analyzes the status information of the page list collected in the monitor module. According to the analyzed result of the analysis module, a cache policy module(130) updates the page list between step page lists. A buffer cache module(140) analyzes the page list update result of the cache policy module and selects and operates a replacement target page.

Description

멀티 레벨 버퍼 캐시 관리 정책에 따른 플래시 메모리 저장 장치 및 이를 이용한 플래시 메모리 관리 방법{FLASH MEMORY STORAGE DEVICE ACCORDING TO THE MULTI-LEVEL BUFFER CACHE MANAGEMENT POLICY AND MANAGEMENT METHOD USING THE SAME}FLASH MEMORY STORAGE DEVICE ACCORDING TO THE MULTI-LEVEL BUFFER CACHE MANAGEMENT POLICY AND MANAGEMENT METHOD USING THE SAME}

본 발명은 멀티 레벨 버퍼 캐시 관리 정책(Multu-Level Buffer Cache Management Policy)에 따라 데이터를 업데이트하는 플래시 메모리 저장 장치 및 이를 이용한 데이터 관리 방법에 관한 것이다.
The present invention relates to a flash memory storage device for updating data according to a multi-level buffer cache management policy, and a data management method using the same.

플래시 메모리는 최근 양적, 질적으로 많은 발전을 해왔다. 플래시 메모리는 임베디드 기기와 휴대용 기기뿐만 아니라 개인용 컴퓨터와 서버용 컴퓨터에도 사용되고 있다. 플래시 메모리는 무게가 가볍고, 읽기 속도가 빠르며 충격에도 강하다는 장점 때문에 하드 디스크를 대체할 것이라고 전망된다. 현재 플래시 메모리가 들어가지 않는 전자기기가 없을 정도로 수요가 많다.Flash memory has made great progress in recent years, both quantitatively and qualitatively. Flash memory is used in personal and server computers as well as embedded and portable devices. Flash memory is expected to replace hard disks because of its light weight, fast read speed and impact resistance. There is so much demand now that there are no electronic devices that do not contain flash memory.

플래시 메모리는 위와 같은 여러 가지 장점을 가지고 있지만, 심각하게 고려해야 할 단점들도 있다. 첫째, 업데이트 시 제자리 덮어쓰기가 불가능하다. 하드디스크의 경우 데이터가 변경되면 해당 부분을 다시 있지만, 플래시 메모리는 지우기 전에 해당 페이지를 다시 쓰는 것이 불가능하다. 이를 해결하기 위하여 일반적인 플래시 메모리에서 업데이트는 플래시 메모리의 빈 영역에 업데이트할 데이터를 기록하고 이전에 기록되었던 데이터의 페이지들은 유효하지 않음(invalid) 표시를 하게 된다. 둘째, 유효하지 않음(invalid)이 표시된 영역을 다시 쓸 수 있도록 하기 위해서 가비지 컬렉션이라는 추가적인 연산이 필요하다. 플래시 메모리는 블록 단위로 지움 연산을 하므로, 유효하지 않은(invalid) 페이지를 복사하는 비용이 추가되므로 이 추가 비용을 줄이기 위해서 좋은 가비지 컬렉션 정책이 필요하다. 셋째, 플래시 메모리의 지움 횟수는 10,000~1,000,000번으로 제한된다. 플래시 메모리의 지움 횟수가 이를 넘게 되면 플래시 메모리에 기록된 데이터가 제대로 유지되지 않아 데이터를 신뢰할 수 없다. 플래시 메모리의 각 블록의 지움 횟수가 균일하지 않으면 플래시 메모리의 수명을 단축할 수 있으므로, 블록별 지움 횟수를 균일하게 유지하는 웨어 레벨링(wear-leveling)정책도 필요하다.
Flash memory has many of the above advantages, but there are also serious disadvantages to consider. First, it is not possible to overwrite the place when updating. In the case of a hard disk, the data is changed again, but the page cannot be rewritten before the flash memory is erased. In order to solve this problem, in a general flash memory, an update writes data to be updated in an empty area of the flash memory, and pages of previously written data are marked as invalid. Second, an additional operation called garbage collection is needed to allow the area marked invalid to be rewritten. Flash memory performs block-by-block operations, which adds the cost of copying invalid pages, so a good garbage collection policy is needed to reduce this additional cost. Third, the number of erase of flash memory is limited to 10,000 ~ 1,000,000 times. If the erase count of the flash memory is exceeded, the data written to the flash memory is not maintained properly and the data is not reliable. If the erase count of each block of the flash memory is not uniform, the life of the flash memory can be shortened. Therefore, a wear-leveling policy for maintaining the erase count of each block evenly is required.

상기와 같은 과제를 해결하기 위하여 본 발명은, 멀티 레벨 버퍼 캐시 관리 정책(Multu-Level Buffer Cache Management Policy)에 따라 데이터를 업데이트하는 플래시 메모리 저장 장치 및 이를 이용한 데이터 관리 방법을 제공하고자 한다.
In order to solve the above problems, the present invention is to provide a flash memory storage device for updating data according to a multi-level buffer cache management policy (Multu-Level Buffer Cache Management Policy) and a data management method using the same.

상기한 과제를 실현하기 위한 본 발명의 일 실시 예에 따른 플래시 메모리 저장 장치는, 페이지 번호, 참조 빈도수 및 플래그를 포함하는 페이지 리스트의 상태 정보를 수집하는 모니터 모듈, 상기 모니터에서 수집된 페이지 리스트의 상태 정보를 분석하는 분석 모듈, 상기 분석 모듈의 분석 결과에 따라, 단계별 페이지 리스트 사이에서 페이지 리스트를 업데이트 시키는 캐시 정책 모듈 및 상기 캐시 정책 모듈의 페이지 리스트 업데이트 결과를 분석하여, 교체할 페이지를 선택하여 연산하는 버퍼 캐시 모듈을 포함한다.According to an aspect of the present invention, there is provided a flash memory storage device including: a monitor module for collecting status information of a page list including a page number, a reference frequency, and a flag; An analysis module for analyzing status information, a cache policy module for updating a page list among step-by-step page lists, and a page list update result of the cache policy module according to an analysis result of the analysis module, and selecting a page to be replaced; Contains a buffer cache module to operate on.

또한, 상기 버퍼 캐시 모듈은, 제 1 단계에 존재하는 페이지 리스트의 플래그 또는 참조 빈도수를 분석하여, 교체할 페이지를 선택한다.In addition, the buffer cache module selects a page to replace by analyzing a flag or reference frequency of the page list existing in the first step.

또한, 상기 캐시 정책 모듈은, 제 1 단계의 페이지 리스트 분석 결과에 따라, 참조 빈도수가 한계값을 초과한 페이지를 제 2 단계의 페이지 리스트로 이동시키고, 상기 제 2 단계의 페이지 리스트로 이동된 페이지의 참조 빈도수를 1로 초기화한다.In addition, the cache policy module, according to the page list analysis result of the first stage, moves the page whose reference frequency exceeds the threshold to the page list of the second stage, and moves the page list to the page list of the second stage. Initialize the reference frequency of to 1.

또한, 상기 캐시 정책 모듈은, 페이지의 이동 결과에 따라 상기 제 1 단계의 페이지 리스트에 잔존하는 페이지 수가 0이 되면, 상기 제 2 단계의 페이지 리스트를 제 1 단계의 페이지 리스트로 단계를 하향시킨다.In addition, when the number of pages remaining in the page list of the first step becomes 0 according to a result of page movement, the cache policy module moves the page list of the second step down to the page list of the first step.

또한, 상기 캐시 정책 모듈은, 페이지 이동 결과에 따라 제 1 단계의 페이지 리스트 및 제 2 단계의 페이지 리스트에 잔존하는 페이지 수가 모두 1이 되면, 상기 제 1 단계 및 제 2 단계에 잔존하는 페이지를 합병하여 새로운 제 1 단계의 페이지 리스트를 생성한다.
The cache policy module merges the pages remaining in the first and second stages when the number of pages remaining in the page list of the first stage and the page list of the second stage becomes 1 according to the page movement result. To generate a new first page list.

상기한 과제를 실현하기 위한 본 발명의 일 실시 예에 따른 플래시 메모리 관리 방법은, 플래시 메모리 장치에 저장된 페이지 번호, 참조 빈도수 및 플래그를 포함하는 페이지 리스트의 상태 정보를 수집하는 수집 단계, 상기 수집된 페이지 리스트의 상태 정보를 분석하는 분석 단계, 상기 분석 결과에 따라, 단계별 페이지 리스트 사이에서 페이지 리스트를 업데이트하는 업데이트 단계 및 상기 업데이트 결과에 따라, 제 1 단계에 존재하는 페이지 리스트의 플래그 또는 참조 빈도수를 분석하여 교체할 페이지를 선택하는 선택 단계를 포함한다.In accordance with another aspect of the present invention, there is provided a method of managing a flash memory, including: a collecting step of collecting state information of a page list including a page number, a reference frequency, and a flag stored in a flash memory device; An analysis step of analyzing the status information of the page list, an update step of updating the page list between step-by-step page lists according to the analysis result, and a flag or reference frequency of the page list existing in the first step according to the update result An optional step of selecting a page to be analyzed and replaced is included.

또한, 상기 업데이트 단계는, 제 1 단계에 존재하는 페이지 중 참조 빈도수가 한계값을 초과한 페이지를 제 2 단계의 페이지 리스트로 이동 시키고, 상기 제 2 단계의 페이지 리스트로 이동한 페이지의 참조 빈도수를 1로 초기화한다.
In the updating step, the page frequency of the pages existing in the first step exceeding the threshold value is moved to the page list of the second step, and the reference frequency of the page moved to the page list of the second step is changed. Initialize to 1.

상기와 같이 구성되는 본 발명의 적어도 하나의 일 실시 예에 관련된 플래시 메모리 저장 장치 및 이를 이용한 플래시 메모리 관리 방법은, 높은 힛 비율(hit ratio)와 낮은 플러시(flush) 횟수를 제공할 수 있는 이점이 있다.
The flash memory storage device and the flash memory management method using the same according to at least one embodiment of the present invention configured as described above have the advantage of providing a high hit ratio and a low number of flushes. have.

도 1은 본 발명의 일 실시 예에 따른 플래시 메모리 저장 장치의 구성도.
도 2는 본 발명의 일 실시 예에 따른 플래시 메모리 저장 장치의 페이지 리스트를 도시하는 도면.
도 3은 본 발명의 일 실시 예에 따라 교체 대상을 선택하는 알고리즘을 도시하는 도면.
도 4는 본 발명의 일 실시 예에 따라, 단계별 페이지 리스트를 업데이트하는 페이지 리스트를 도시하는 도면.
도 5는 본 발명의 일 실시 예에 따라, 단계별 페이지 리스트를 합병하여 생성된 페이지 리스트를 도시하는 도면.
도 6은 본 발명의 실시 예에 따른 플래시 메모리 저장 장치를 이용하여 힛 비율(hit ratio)를 평가한 도면.
도 7은 본 발명의 실시 예에 따른 플래시 메모리의 저장 장치를 이용하여 플러시 연산 횟수(number of flush operation)을 평가한 도면.
1 is a block diagram of a flash memory storage device according to an embodiment of the present invention.
2 is a diagram illustrating a page list of a flash memory storage device according to an exemplary embodiment.
3 is a diagram illustrating an algorithm for selecting a replacement target according to an embodiment of the present invention.
4 illustrates a page list for updating a step-by-step page list according to an embodiment of the present invention.
5 is a diagram illustrating a page list generated by merging step-by-step page lists according to an embodiment of the present invention.
FIG. 6 is a view illustrating a hit ratio using a flash memory storage device according to an exemplary embodiment of the present invention. FIG.
FIG. 7 is a view illustrating a number of flush operations using a storage device of a flash memory according to an embodiment of the present invention. FIG.

이하, 본 발명과 관련된 플래시 메모리 저장 장치 및 이를 이용한 플래시 메모리 관리 방법에 대해서 도면을 참조하여 보다 상세하게 설명한다. 본 발명이 속한 기술 분양에서 통상의 지식을 가진 자라면, 도면을 참조 또는 변형하여 상기 실감 방송 시스템의 구성에 대한 다양한 실시 예를 유추할 수 있을 것이나, 본 발명은 상기 유추되는 다양한 실시 예를 포함하며 이루어지며, 아래 도면에 도시된 실시 예로 그 기술적 특징이 한정되지 아니한다.
Hereinafter, a flash memory storage device and a flash memory management method using the same will be described in more detail with reference to the accompanying drawings. Those skilled in the art to which the present invention pertains may refer to various embodiments of the configuration of the realistic broadcast system by referring to or modifying the drawings, but the present invention includes the various embodiments inferred by the present invention. And the technical features are not limited to the embodiment shown in the drawings below.

도 1은 본 발명의 일 실시 예에 따른 플래시 메모리 저장 장치의 구성도이다.1 is a block diagram of a flash memory storage device according to an exemplary embodiment.

도 1을 참조하면, 상기 플래시 메모리 저장 장치(100)는 모니터 모듈(110), 분석 모듈(120), 캐시 정책 모듈(130), 버퍼 캐시 모듈(140) 및 인터페이스 모듈(150)을 포함한다. Referring to FIG. 1, the flash memory storage device 100 includes a monitor module 110, an analysis module 120, a cache policy module 130, a buffer cache module 140, and an interface module 150.

상기 모니터 모듈(110)은, 응용 프로그램의 캐시 상태 정보 및 이용 정보를 수집하기 위하여, 페이지 번호(page #), 참조 빈도수(RC: Reference Counter) 및 플래그(flag)를 포함하는 페이지 리스트의 상태 정보를 수집한다. 상기 페이지 번호란, 캐시 메모리에서 로드되는 블록(block)에 대한 정보를 의미하는 것으로, 각 블록을 구분할 수 있도록 설정되는 번호를 의미한다. 상기 참조 빈도수란, 해당 페이지가 참조된 횟수를 의미하는 숫자로, LFU(Least Frequently Used) 정책에 따라, 많이 참조된 페이지는 앞으로 참조될 가능성이 크고 적게 참조된 페이지는 앞으로 참조되지 않을 것으로 가정하여, 참조 가능성 여부를 제시한다. 상기 플래그란, 상기 페이지에 저장된 데이터가 상기 캐시 메모리에 업데이트 되었는지 여부를 나타내며, 캐시 메모리에도 업데이트 되어 있는 페이지의 경우에는 클린 플래그(clean flag), 캐시 메모리에 업데이트되지 않은 페이지의 경우에는 더티 플래그(dirty flag)를 표시하게 된다.The monitor module 110, in order to collect cache state information and usage information of an application, state information of a page list including a page number (page #), a reference frequency (RC), and a flag. Collect it. The page number refers to information about a block loaded in the cache memory, and means a number set to distinguish each block. The reference frequency is a number representing the number of times the page is referred to. It is assumed that a highly referred page is likely to be referred to in the future according to a Least Frequently Used (LFU) policy, and that the referred page is not referred to in the future. It suggests whether or not it is possible to refer. The flag indicates whether data stored in the page has been updated in the cache memory, a clean flag for a page that is also updated for cache memory, and a dirty flag for a page that is not updated for cache memory. dirty flags).

상기 분석모듈(120)은, 상기 모니터 모듈(110)에서 수집한 페이지 리스트의 상태 정보를 분석하여, 응용 프로그램의 특성을 추출한다. 구체적으로, 상기 분석 모듈(120)은, 상기 각 페이지마다 함께 기재된 참조 빈도 수를 분석하여, 해당하는 페이지의 참조 횟수를 판단한다. 또한, 상기 분석 모듈(120)은, 상기 각 페이지마다 함께 기재된 플래그를 분석하여, 해당하는 페이지의 데이터가 캐시 메모리에 저장되었는지 여부를 판단한다. 상기 분석 모듈(120)에서 분석된 정보는 이 후, 캐시 저장 모듈(130)에서 리스트 업데이트에 사용된다. The analysis module 120 analyzes state information of the page list collected by the monitor module 110 and extracts characteristics of an application program. In detail, the analysis module 120 analyzes the reference frequency numbers described for each page, and determines the reference number of the corresponding page. In addition, the analysis module 120 analyzes the flags described for each page to determine whether the data of the corresponding page is stored in the cache memory. The information analyzed by the analysis module 120 is then used to update the list in the cache storage module 130.

상기 캐시 정책 모듈(130)은, 상기 분석 모듈(120)의 분석 결과에 따라, 응용 프로그램에 최적화된 정책을 운영하기 위하여 단계별 페이지 리스트 사이에서, 페이지 리스트를 업데이트 시켜, 참조가 많이 된 페이지들을 상위 단계의 페이지 리스트로 이동시킨다. 구체적으로, 상기 캐시 정책 모듈(130)은, 제 1 단계의 페이지 리스트 분석 결과에 따라, 참조 빈도수가 한계값(threshold)을 초과한 페이지를 제 2 단계의 페이지 리스트로 이동시키고, 상기 제 2 단계의 페이지 리스트로 이도된 페이지의 참조 빈도수를 1로 초기화한다. 상기 이동 결과에 따라, 상기 제 1 단계의 페이지 리스트에 잔존하는 페이지 수가 0이 되면, 상기 제 2 단계의 페이지 리스트를 제 1 단계의 페이지 리스트로 단계를 하향시킨다. 또한, 상기 페이지 이동 결과에 따라, 제 1 단계의 페이지 리스트 및 제 2 단계의 페이지 리스트에 잔존하는 페이지 수가 모두 1이 되면, 상기 제 1 단계 및 제 2 단계에 잔존하는 페이지를 합병하여 새로운 제 1 단계의 페이지 리스트를 생성하여, 다단계로 리스트를 관리하면서도, 단계가 과도하게 증가하는 것을 방지한다. 상기와 같이 합병 연산이 수행되는 경우에는, 참조 빈도수에 문제가 발생할 수 있으므로, 합병 후에는 참조 빈도수를 수정한다. 예를 들어, 다중 단계의 페이지들을 합병하는 경우에는, 가장 상위 단계의 페이지의 참조 횟수는 그대로 유지하고, 그보다 하위 단계의 페이지의 참조 빈도수를 작게할 수 있다. 이 경우에는, 최상위 단계의 페이지의 참조 횟수는 3보다 크거나 같아야 하므로, 3보다 작은 경우에는 최상위 단계의 페이지 참조 횟수를 3으로 조정하면서, 하위 단계의 참조 횟수를 그보다 작게 함으로써 이를 해결하게 된다. 제 1 단계 및 제 2 단계의 페이지 리스트는 최하위 리스트부터 단계별로 붙여진 페이지 리스트이며, 2 이상의 복수를 포함할 수 있다. The cache policy module 130 updates the page list among the step-by-step page list to operate the policy optimized for the application according to the analysis result of the analysis module 120, so as to rank the highly referenced pages. Go to the page list of the step. In detail, the cache policy module 130 moves a page whose reference frequency exceeds a threshold to the page list of the second step according to the page list analysis result of the first step. Initializes the reference frequency of the page passed to the page list of to 1. When the number of pages remaining in the page list of the first step becomes 0 according to the moving result, the step is moved down from the page list of the second step to the page list of the first step. In addition, when the number of pages remaining in the page list of the first step and the page list of the second step becomes 1 according to the page movement result, the pages remaining in the first and second steps are merged to form a new first. Creates a page list of steps, while managing the list in multiple steps, while avoiding excessive growth of steps. In the case where the merge operation is performed as described above, a problem may occur in the reference frequency, so that the reference frequency is corrected after the merge. For example, when merging pages of multiple stages, the reference count of the uppermost page is maintained as it is, and the reference frequency of the pages of the lower stage can be made smaller. In this case, since the reference count of the uppermost page should be greater than or equal to 3, if it is smaller than 3, this is solved by adjusting the reference count of the lowermost step to 3 while reducing the reference count of the lower step. The page list of the first step and the second step is a page list attached step by step from the lowest list, and may include two or more plurality.

상기 버퍼 캐시 모듈(140)은, 버퍼 캐시를 최적화하기 위하여, 상기 캐시 정책 모듈(130)의 페이지 리스트 업데이트 결과에 따라, 교체할 페이지(victim)을 선택하여, 페이지 연산을 수행한다. 구체적으로, 상기 버퍼 캐시 모듈(140)은 상기 캐시 정책 모듈(130)의 페이지 업데이트 결과에 따른 제 1 단계의 페이지 리스트에서 참조 빈도수 또는 플래그를 참조하여, 더티 플래그를 가진 페이지를 우선으로 교체할 페이지를 선택하여, 캐시 메모리로 저장되지 않은 더티 페이지가 플래시 메모리로 플러시(flush)되는 것을 최대한 지연시킨다. 만약, 제 1 단계의 페이지 리스트에 포함된 모든 페이지가 클린 플래그에 해당하는 경우에는, 참조 빈도수를 분석하여, 참조 빈도수가 낮은 페이지를 선택하게 된다. In order to optimize the buffer cache, the buffer cache module 140 selects a page to be replaced according to the page list update result of the cache policy module 130 and performs a page operation. In detail, the buffer cache module 140 may refer to the reference frequency or the flag in the page list of the first step according to the page update result of the cache policy module 130 to replace the page having the dirty flag with priority. Select to delay the dirty pages that are not stored in cache memory as much as possible. If all pages included in the page list of the first step correspond to the clean flag, the reference frequency is analyzed to select a page having a low reference frequency.

상기 인터페이스 모듈(150)은, 상기 플래시 메모리 저장 장치와 파일 시스템에 입출력 인터페이스를 제공하는 기능을 수행한다.
The interface module 150 performs a function of providing an input / output interface to the flash memory storage device and the file system.

도 2는 본 발명의 일 실시 예에 따른 플래시 메모리 저장 장치의 페이지 리스트를 도시하는 도면이다.2 is a diagram illustrating a page list of a flash memory storage device according to an exemplary embodiment.

도 2를 참조하면, 상기 페이지 리스트는 제 1 단계 페이지 리스트(210), 제 2 단계 페이지 리스트(220) 및 제 3 단계 페이지 리스트(230)를 포함하고, 상기 각 단계별 페이지 리스트는 복수의 페이지를 포함한다. 예를 들어, 제 1 단계 페이지 리스트(210)는 제 1 페이지(211), 제 2 페이지(212) 및 제 3 페이지(213)을 포함한다. 상기 각각의 페이지(211)는 페이지 번호(211A), 참조 빈도수(211B) 및 플래그(211C)를 포함한다. 상기와 같은 페이지 리스트가 도시되는 경우, 상기 플래시 메모리 저장 장치는, 교체할 페이지로 클린 플래그 중 참조 빈도수가 가장 적은 제 1 단계의 페이지 리스트(210) 중 제 3 페이지(213)를 선택하게 된다. 만약, 상기 제 1 단계의 페이지 리스트(210)에 포함된 모든 페이지의 플래그가 더티 플래그인 경우에는, 참조 빈도수가 가장 작은 가장 오른쪽 페이지가 교체할 페이지로 선택될 것이다. Referring to FIG. 2, the page list includes a first step page list 210, a second step page list 220, and a third step page list 230, and each step page list includes a plurality of pages. Include. For example, the first step page list 210 includes a first page 211, a second page 212, and a third page 213. Each page 211 includes a page number 211A, a reference frequency 211B, and a flag 211C. When such a page list is shown, the flash memory storage device selects the third page 213 of the page list 210 of the first step having the lowest reference frequency among the clean flags as the page to be replaced. If the flags of all pages included in the page list 210 of the first step are dirty flags, the rightmost page having the lowest reference frequency will be selected as the page to be replaced.

도 3은 본 발명의 일 실시 예에 따라 교체 대상을 선택하는 알고리즘을 도시하는 도면이다. 상기 도 3을 참조하면, 상기 교체 페이지를 선택하는 알고리즘은 pseudo code로 표시되며, 이 알고리즘에서는 클린 플래그에 해당하는 페이지를 역순으로 탐색하게 되어, 알고리즘의 계산 복잡도는 O(n)이 된다.
3 is a diagram illustrating an algorithm for selecting a replacement target according to an embodiment of the present invention. Referring to FIG. 3, the algorithm for selecting the replacement page is represented by pseudo code. In this algorithm, the page corresponding to the clean flag is searched in reverse order, and the computational complexity of the algorithm becomes O (n).

도 4는 본 발명의 일 실시 예에 따라, 단계별 페이지 리스트를 업데이트하는 페이지 리스트를 도시하는 도면이다.도 4를 참조하면, 리스트의 참조 빈도수의 한계값을 10으로 설정한 경우에, 제 2 단계의 리스트에 존재하는 한 페이지(410)의 참조 빈도수가 2회 더 참조되면, 한계값과 동일하게 된다(S410). 이 경우, 한계값과 동일한 참조 빈도수를 가진 상기 페이지(410)는 상위 단계의 페이지인 제 3 단계의 페이지로 업데이트 되면서, 참조 빈도수는 다시 0으로 초기화된다(S420). 4 is a diagram illustrating a page list for updating a step-by-step page list according to an embodiment of the present invention. Referring to FIG. 4, when the threshold value of the reference frequency of the list is set to 10, the second step is shown. If the reference frequency of one page 410 existing in the list of T is referred to two more times, it becomes equal to the limit value (S410). In this case, the page 410 having the same reference frequency as the threshold value is updated to the page of the third step, which is the page of the higher level, and the reference frequency is initialized to 0 again (S420).

도 5는 본 발명의 일 실시 예에 따라, 단계별 페이지 리스트를 합병하여 생성된 페이지 리스트를 도시하는 도면이다. 도 5를 참조하면, 페이지 리스트의 업데이트 시, 새로운 상위 단계의 페이지 이동이 발생하면서 잔존하는 페이지 수가 감소할 수 있다. 이 경우, 각 단계별 페이지가 과도하게 증가하면, 플래시 메모리 저장 장치에 부담이 될 수 있으므로, 단계별 페이지 수를 감소시키는 작업을 수행하게 된다. 구체적으로, 페이지 리스트 업데이트가 발생하면, 최상위 페이지 리스트부터 아래 단계의 페이지 리스트들을 순회하면서, 리스트가 관리하는 페이지 수를 검사하게 된다. 만약, 관리하는 페이지가 1인 리스트가 연속으로 검출되는 경우에는, 이 페이지들을 하나의 리스트로 합병하여 연산을 수행하게 된다. 상기 합병된 페이지 리스트는 최하위 단계의 리스트 단계로 조정되게 된다. 도 5에서는, 제 1 단계의 페이지(510), 제 2 단계의 페이지(520) 및 제 3 단계의 페이지(530)가 모두 1개의 페이지만 잔존하게되어, 상기 3개의 페이지를 합쳐 새로운 리스트(540)를 생성하고, 이 경우 새롭게 생성되는 리스트의 단계는 최하위 단계로 조정되어 다시 제 1 단계의 페이지 리스트가된다. 상기와 같이 합병되는 경우에는, 참조 횟수의 조정이 필요하며, 최상위 단계인 제 3 단계의 페이지(530)의 참조 횟수를 기준으로, 제 2 단계의 페이지(520) 및 제 1 단계의 페이지(510)의 참조 횟수를 감소시키면서 조정한다. 5 is a diagram illustrating a page list generated by merging step-by-step page lists according to an embodiment of the present invention. Referring to FIG. 5, when updating a page list, a new higher level page movement may occur and the number of remaining pages may be reduced. In this case, an excessive increase in each step page may burden the flash memory storage device, thereby reducing the number of step pages. Specifically, when a page list update occurs, the number of pages managed by the list is checked while traversing the page lists of the next step from the top page list. If a list of managing pages is 1 is continuously detected, the pages are merged into one list to perform an operation. The merged page list is adjusted to the list step of the lowest level. In FIG. 5, the page 510 of the first step, the page 520 of the second step, and the page 530 of the third step have only one page remaining, so that the three pages are combined to form a new list 540. ), And in this case, the level of the newly created list is adjusted to the lowest level and becomes the page list of the first level. In the merger as described above, the reference number needs to be adjusted, and the page 520 of the second step and the page 510 of the first step are based on the reference number of the page 530 of the third step, which is the highest level. Adjust by decreasing the reference count of

도 6은 본 발명의 실시 예에 따른 플래시 메모리 저장 장치를 이용하여 힛 비율(hit ratio)를 평가한 도면이다. 도 6을 참조하면, 순차접근 워크로드에서의 성능 평가를 분석하면, 본 발명의 일 실시 예에 따른 플래시 메모리의 힛 비율(610)이 다른 기법의 플래시 메모리의 힛 비율에 비하여 높은 것을 볼 수 있다. 상기와 같은 차이는 버퍼 캐시의 크기가 작을수록 높게 나타남을 알 수 있다. FIG. 6 is a diagram illustrating a hit ratio using a flash memory storage device according to an exemplary embodiment of the present invention. Referring to FIG. 6, when analyzing the performance evaluation in the sequential access workload, it can be seen that the power ratio 610 of the flash memory according to an embodiment of the present invention is higher than that of the flash memory of another technique. . This difference can be seen that the smaller the size of the buffer cache appears higher.

도 7은 본 발명의 실시 예에 따른 플래시 메모리의 저장 장치를 이용하여 플러시 연산 횟수(number of flush operation)을 평가한 도면이다. 순차접근 워크로드에서의 성능 평가를 분석하면, 본 발명의 일 실시 예에 따른 플래시 메모리의 플러시 연산 횟수(710)가 다른 기법의 플래시 메모리의 플러시 연산 횟수에 비하여 20%~120% 낮게 나타남을 알 수 있다.
7 is a diagram illustrating a number of flush operations using a storage device of a flash memory according to an embodiment of the present invention. Analyzing performance evaluation in sequential access workload, it can be seen that the number of flush operations 710 of the flash memory according to an embodiment of the present invention is 20% to 120% lower than the number of flush operations of the flash memory of another technique. Can be.

상기와 같이 설명된 플래시 메모리 저장 장치 및 이를 이용한 플래시 메모리 관리 방법은 상기 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시 예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수 있다.
The above-described flash memory storage device and the flash memory management method using the same are not limited to the configuration and method of the above-described embodiments, but the embodiments may be modified in various ways so that various modifications may be made. Or some may be optionally combined.

100: 플래시 메모리 저장 장치
110: 모니터 모듈
120: 분석 모듈
130: 캐시 정책 모듈
140: 버퍼 캐시 모듈
150: 인터페이스 모듈
100: flash memory storage device
110: monitor module
120: analysis module
130: cache policy module
140: buffer cache module
150: interface module

Claims (8)

페이지 번호, 참조 빈도수 및 플래그를 포함하는 페이지 리스트의 상태 정보를 수집하는 모니터 모듈;
상기 모니터에서 수집된 페이지 리스트의 상태 정보를 분석하는 분석 모듈;
상기 분석 모듈의 분석 결과에 따라, 단계별 페이지 리스트 사이에서 페이지 리스트를 업데이트 시키는 캐시 정책 모듈; 및
상기 캐시 정책 모듈의 페이지 리스트 업데이트 결과를 분석하여, 교체할 페이지를 선택하여 연산하는 버퍼 캐시 모듈;을 포함하는 것을 특징으로 하는 플래시 메모리 저장 장치.
A monitor module for collecting status information of a page list including a page number, a reference frequency and a flag;
An analysis module for analyzing state information of the page list collected by the monitor;
A cache policy module for updating a page list between step-by-step page lists according to an analysis result of the analysis module; And
And a buffer cache module for analyzing the page list update result of the cache policy module and selecting and calculating a page to be replaced.
제 1 항에 있어서,
상기 버퍼 캐시 모듈은, 제 1 단계에 존재하는 페이지 리스트의 플래그 또는 참조 빈도수를 분석하여, 교체할 페이지를 선택하는 것을 특징으로 하는 플래시 메모리 저장 장치.
The method of claim 1,
And the buffer cache module selects a page to be replaced by analyzing a flag or a reference frequency of the page list existing in the first step.
제 1 항에 있어서,
상기 캐시 정책 모듈은, 제 1 단계의 페이지 리스트 분석 결과에 따라, 참조 빈도수가 한계값을 초과한 페이지를 제 2 단계의 페이지 리스트로 이동시키고, 상기 제 2 단계의 페이지 리스트로 이동된 페이지의 참조 빈도수를 1로 초기화하는 것을 특징으로 하는 플래시 메모리 저장 장치.
The method of claim 1,
The cache policy module moves a page whose reference frequency exceeds a threshold to the page list of the second step according to the page list analysis result of the first step, and references the page moved to the page list of the second step. Flash memory device, characterized in that to initialize the frequency to 1.
제 3 항에 있어서,
상기 캐시 정책 모듈은, 페이지의 이동 결과에 따라 상기 제 1 단계의 페이지 리스트에 잔존하는 페이지 수가 0이 되면, 상기 제 2 단계의 페이지 리스트를 제 1 단계의 페이지 리스트로 단계를 하향시키는 것을 특징으로 하는 플래시 메모리 저장 장치.
The method of claim 3, wherein
The cache policy module, when the number of pages remaining in the page list of the first step becomes 0 according to the result of page movement, moves the page list of the second step down to the page list of the first step. Flash memory storage device.
제 3 항에 있어서,
상기 캐시 정책 모듈은, 페이지 이동 결과에 따라 제 1 단계의 페이지 리스트 및 제 2 단계의 페이지 리스트에 잔존하는 페이지 수가 모두 1이 되면, 상기 제 1 단계 및 제 2 단계에 잔존하는 페이지를 합병하여 새로운 제 1 단계의 페이지 리스트를 생성하는 것을 특징으로 하는 플래시 메모리 저장 장치.
The method of claim 3, wherein
When the number of pages remaining in the page list of the first step and the page list of the second step becomes 1 according to the page movement result, the cache policy module merges the remaining pages in the first and second steps. Flash memory storage device, characterized in that for generating a page list of the first step.
플래시 메모리 장치에 저장된 페이지 번호, 참조 빈도수 및 플래그를 포함하는 페이지 리스트의 상태 정보를 수집하는 수집 단계;
상기 수집된 페이지 리스트의 상태 정보를 분석하는 분석 단계;
상기 분석 결과에 따라, 단계별 페이지 리스트 사이에서 페이지 리스트를 업데이트하는 업데이트 단계; 및
상기 업데이트 결과에 따라, 제 1 단계에 존재하는 페이지 리스트의 플래그 또는 참조 빈도수를 분석하여 교체할 페이지를 선택하는 선택 단계;를 포함하는 것을 특징으로 하는 플래시 메모리 관리 방법.
A collecting step of collecting status information of a page list including a page number, a reference frequency, and a flag stored in the flash memory device;
An analyzing step of analyzing state information of the collected page list;
An update step of updating the page list between the step-by-step page list according to the analysis result; And
And selecting a page to be replaced by analyzing a flag or reference frequency of the page list existing in the first step according to the update result.
제 6 항에 있어서,
상기 업데이트 단계는, 제 1 단계에 존재하는 페이지 중 참조 빈도수가 한계값을 초과한 페이지를 제 2 단계의 페이지 리스트로 이동 시키고, 상기 제 2 단계의 페이지 리스트로 이동한 페이지의 참조 빈도수를 1로 초기화하는 것을 특징으로 하는 플래시 메모리 관리 방법.
The method according to claim 6,
In the updating step, a page having a reference frequency exceeding a threshold value among pages existing in the first step is moved to the page list of the second step, and the reference frequency of the page moved to the page list of the second step is 1; Flash memory management method characterized in that the initialization.
제 7 항에 있어서,
상기 업데이트 단계는, 제 1 단계에 잔존하는 페이지가 없는 경우, 상기 제 2 단계의 페이지 리스트를 제 1 단계의 페이지 리스트로 하향 설정하는 것을 특징으로 하는 플래시 메모리 관리 방법.
The method of claim 7, wherein
In the updating step, if there are no pages remaining in the first step, the page list of the second step is set downward to the page list of the first step.
KR1020100000731A 2010-01-06 2010-01-06 Memory management method using the multi-level buffer cache management policy KR101711945B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100000731A KR101711945B1 (en) 2010-01-06 2010-01-06 Memory management method using the multi-level buffer cache management policy

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100000731A KR101711945B1 (en) 2010-01-06 2010-01-06 Memory management method using the multi-level buffer cache management policy

Publications (2)

Publication Number Publication Date
KR20110080479A true KR20110080479A (en) 2011-07-13
KR101711945B1 KR101711945B1 (en) 2017-03-03

Family

ID=44919382

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100000731A KR101711945B1 (en) 2010-01-06 2010-01-06 Memory management method using the multi-level buffer cache management policy

Country Status (1)

Country Link
KR (1) KR101711945B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150108148A (en) * 2014-03-17 2015-09-25 한국전자통신연구원 Cache management apparatus and method of using partial reconfiguration
US10849801B2 (en) 2010-10-01 2020-12-01 The Procter & Gamble Company Bonding pattern for disposable absorbent articles

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102456173B1 (en) 2017-10-27 2022-10-18 에스케이하이닉스 주식회사 Memory system and operating method thereof
KR20200104601A (en) 2019-02-27 2020-09-04 에스케이하이닉스 주식회사 Controller, memory sysytem and operating method thereof
KR102421149B1 (en) 2018-01-02 2022-07-14 에스케이하이닉스 주식회사 Memory system and operating method thereof
KR102334237B1 (en) 2019-10-17 2021-12-03 성균관대학교산학협력단 Methods and apparatuses for managing page cache for multiple foreground application
KR102456176B1 (en) 2020-05-21 2022-10-19 에스케이하이닉스 주식회사 Memory controller and operating method thereof
US11573891B2 (en) 2019-11-25 2023-02-07 SK Hynix Inc. Memory controller for scheduling commands based on response for receiving write command, storage device including the memory controller, and operating method of the memory controller and the storage device
KR102406449B1 (en) 2020-06-25 2022-06-08 에스케이하이닉스 주식회사 Storage device and operating method thereof
KR102495910B1 (en) 2020-04-13 2023-02-06 에스케이하이닉스 주식회사 Storage device and operating method thereof
KR102435253B1 (en) 2020-06-30 2022-08-24 에스케이하이닉스 주식회사 Memory controller and operating method thereof
US11755476B2 (en) 2020-04-13 2023-09-12 SK Hynix Inc. Memory controller, storage device including the memory controller, and method of operating the memory controller and the storage device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030055482A (en) * 2001-12-26 2003-07-04 한국전자통신연구원 Method of managing a cache selectively and apparatus
KR20040076313A (en) * 2003-02-25 2004-09-01 이승룡 Method of Seperated Buffer cache Management

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030055482A (en) * 2001-12-26 2003-07-04 한국전자통신연구원 Method of managing a cache selectively and apparatus
KR20040076313A (en) * 2003-02-25 2004-09-01 이승룡 Method of Seperated Buffer cache Management

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
논문:정보학회지* *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10849801B2 (en) 2010-10-01 2020-12-01 The Procter & Gamble Company Bonding pattern for disposable absorbent articles
KR20150108148A (en) * 2014-03-17 2015-09-25 한국전자통신연구원 Cache management apparatus and method of using partial reconfiguration

Also Published As

Publication number Publication date
KR101711945B1 (en) 2017-03-03

Similar Documents

Publication Publication Date Title
KR20110080479A (en) Flash memory storage device according to the multi-level buffer cache management policy and management method using the same
CN107102819B (en) Method and equipment for writing data into solid state disk
Kim et al. An effective flash memory manager for reliable flash memory space management
KR101392174B1 (en) Apparatus and method for controlling flash memory storing mapping table of block to erase
KR101075923B1 (en) Memory system
KR100954039B1 (en) Device and method of controlling flash memory
KR20170130011A (en) Server device including cache memory and operating method thereof
US20140115241A1 (en) Buffer management apparatus and method
KR20140033099A (en) Managing data placement on flash-based storage by use
JP2008112445A (en) Apparatus and method for managing nonvolatile memory
CN106339324B (en) A kind of method and device selecting garbage reclamation block
KR20100114535A (en) Memory mapping techniques
KR20080056580A (en) Method for detecting of static data area and for wear-leveling and for merging data unit of non-volatile data storage and apparatus thereof
US9262339B2 (en) Managing write operations in a computerized memory
Park et al. A pattern adaptive NAND flash memory storage structure
Wan et al. Optimizing checkpoint data placement with guaranteed burst buffer endurance in large-scale hierarchical storage systems
KR20150004949A (en) Buffer Management Apparatus And Method having three states based on Flash Memory
Ross Modeling the performance of algorithms on flash memory devices
KR100847021B1 (en) Data storage apparatus, method for data storage and computer readable record medium on which the method is recorded
Chen et al. Refinery swap: An efficient swap mechanism for hybrid DRAM–NVM systems
Yang et al. Algebraic modeling of write amplification in hotness-aware SSD
KR101032671B1 (en) Memory system
KR100874013B1 (en) Method and device for data management of flash memory
Debnath et al. Sampling-based garbage collection metadata management scheme for flash-based storage
Kwon et al. EF-greedy: A novel garbage collection policy for flash memory based embedded systems

Legal Events

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