KR101477776B1 - 플래시 메모리에서의 페이지 교체 방법 - Google Patents

플래시 메모리에서의 페이지 교체 방법 Download PDF

Info

Publication number
KR101477776B1
KR101477776B1 KR20130163519A KR20130163519A KR101477776B1 KR 101477776 B1 KR101477776 B1 KR 101477776B1 KR 20130163519 A KR20130163519 A KR 20130163519A KR 20130163519 A KR20130163519 A KR 20130163519A KR 101477776 B1 KR101477776 B1 KR 101477776B1
Authority
KR
South Korea
Prior art keywords
page
dirty
block
reference count
replacement
Prior art date
Application number
KR20130163519A
Other languages
English (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 KR20130163519A priority Critical patent/KR101477776B1/ko
Application granted granted Critical
Publication of KR101477776B1 publication Critical patent/KR101477776B1/ko

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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/122Replacement control using replacement algorithms of the least frequently used [LFU] type, e.g. with individual count value

Landscapes

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

Abstract

본 발명에 따른 플래시 메모리에서의 페이지 교체 방법은 기 플래시 기반 저장소에 저장된 더티 페이지를 시계 방향 또는 반시계 향으로 검색하여 교체 대상 페이지를 선정하는 단계, 록 밀집도가 가장 높은 블록을 검색하는 단계, 상기 검색된 블록의 더티 페이지를 삭제하는 단계 및 상기 선정된 교체 대상 페이지와 시계 방향 또는 반시계 방향에 위치한 다음 검색될 더티 페이지의 사이에 클린 페이지를 삽입하는 단계를 포함하되, 상기 블록은 페이지 번호에 기초하여 더티 페이지가 순차적으로 정렬된 더티 페이지 리스트를 포함하고, 상기 블록 밀집도는 블록에 포함된 더티 페이지 중 참조 카운트가 0인 더티 페이지의 개수에 기초하여 결정된다.

Description

플래시 메모리에서의 페이지 교체 방법{METHOD FOR REPLACING PAGE IN FLASH MEMORY}
본 발명은 플래시 메모리에서의 페이지 교체 방법에 관한 것이다.
최근 들어 스마트폰, 태블릿 PC 등과 같은 모바일 디바이스가 빠르게 보급됨에 따라 eMMC(embedded Multi-media Card), 마이크로 SD 카드와 같은 낸드 플래시 기반의 모바일 스토리지가 모바일 디바이스 환경에서 널리 사용되고 있다. 그러나 안드로이드 마켓, 앱 스토어 등과 같은 오픈 마켓을 기반으로 메모리를 요청하는 모바일 어플리케이션이 점차 증가함으로써 모바일 스토리지의 성능이 모바일 디바이스의 새로운 문제로 인식되고 있다. 이에 따라 , 캐시 적중률(Cache Hit Ratio)을 향상시키고 스토리지 접근 횟수를 줄이기 위한 페이지 교체 기법이 중요해지고 있다.
페이지 교체 기법은 지금까지 광범위하게 연구된 분야이나 대부분의 연구가 하드디스크 드라이브의 특징을 고려하여 진행되어왔다. 최근 진행된 페이지 교체 기법은 LRU(Least Recently Used), Clock 알고리즘 등과 같이 전통적인 페이지 교체 기법을 기반으로 낸드 플래시의 고유한 특성을 반영하고 있다.
한편, 모바일 스토리지는 여러 개의 낸드 플래시 칩과 컨트롤러 등으로 구성되어 있으며, 컨트롤러는 FTL(lash Translation Layer)이라 불리는 소프트웨어를 포함하고 있다. FTL의 주요 기능은 빠른 주소변환을 위해 SRAM에 블록이나 페이지에 대한 매핑 테이블을 저장하고, 논리 주소(LBA, Logic Based Address)를 물리 주소(PBA, Physical Based Address)로 변환하는 것이며, 백그라운드로 가비지 컬렉션 기능과 웨어 레벨링 기능을 추가적으로 수행한다.
가비지 컬렉션은 유효하지 않은 페이지를 사용 가능한 페이지로 변경하기 위해 블록 내의 유효한 페이지를 다른 블록으로 복사하는 오버헤드를 포함하고 있다. 특히, 랜덤 패턴 쓰기의 경우, 이동해야만 하는 유효한 페이지가 많아지기 때문에 가비지 컬렉션의 오버헤드가 급격하게 증가하게 되며, 이에 따라 모바일 스토리지의 쓰기 성능이 감소하게 되는 문제점이 있다.
기존의 연구들은 이러한 문제를 해결하기 위해 페이지 교체 기법을 변경하여 블록 단위로 쓰기 요청을 수행하였거나 정렬을 통해 쓰기 요청을 순차적으로 수행하였다.
구체적으로, 2006년도에 발표된 “FAB: Flash-Aware Buffer Management Policy for Portable Media Players” 논문에 개시된 FAB는 낸드 플래시의 비대칭적인 쓰기 속도를 개선하기 위해 제안된 LRU 기반의 페이지 교체 기법으로서, 교체 단위를 페이지가 아니라 블록 단위로 수행함으로써 랜덤 쓰기에 대한 성능을 개선하였다. 그러나 FAB의 경우 빈번히 접근되는 페이지도 페이지의 개수가 많은 블록에 포함될 경우 조기 교체될 수 있으며, 이에 따라 불필요한 읽기 및 쓰기 요청을 수행하는 문제점이 있다.
또한, 2012년도에 발표된 “What is a Good Buffer Cache Replacement Scheme for Mobile Flash Storage” 논문에 개시된 Sp.Clock은 Clock 기반의 페이지 교체 기법이며, Clock 내의 페이지 순서를 페이지 번호 기준으로 관리한다. 그 결과, 랜덤 쓰기가 정렬된 패턴으로 스토리지에 요청되므로 정렬되지 않은 패턴에 비해 성능이 개선된다. 그러나 Sp.Clock은 페이지 번호를 기준으로 단순히 정렬만을 수행함으로써 낸드 플래시의 고유한 특성을 제한적으로 사용하게 되는 문제점이 있다.
이와 관련하여 한국등록특허 제10-0787856호(발명의 명칭: 서버 가상화 장치)에는 버퍼 캐시 내에서 페이지 교체 발생시, 페이지가 더티 페이지인지 여부 및 콜드 플래그 설정을 통해 교체할 페이지를 선택하는 기술이 개시되어 있다.
그러나 종래기술은 블록 단위로 쓰기 요청을 수행하는 경우, 블록 내의 유효한 페이지 개수에 따라서 최고 쓰기 성능을 보이기도 하나, 최저 쓰기 성능을 보이기도 한다. 따라서, 모바일 스토리지의 성능 문제를 해결하기 위해 높은 캐시 적중률과 쓰기 성능을 향상시키기 위한 기술 개발이 필요하다.
본 발명은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 본 발명의 일부 실시예는 높은 캐시 적중률과 쓰기 성능의 향상을 통해 모바일 스토리지의 성능 문제를 해결하기 위한 플래시 메모리에서의 페이지 교체 방법을 제공하는 것을 그 목적으로 한다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면에 따른 플래시 메모리에서의 페이지 교체 방법은 상기 플래시 기반 저장소에 저장된 더티 페이지를 시계 방향 또는 반시계 방향으로 검색하여 교체 대상 페이지를 선정하는 단계, 블록 밀집도가 가장 높은 블록을 검색하는 단계, 상기 검색된 블록의 더티 페이지를 삭제하는 단계 및 상기 선정된 교체 대상 페이지와 시계 방향 또는 반시계 방향에 위치한 다음 검색될 더티 페이지의 사이에 클린 페이지를 삽입하는 단계를 포함하되, 상기 블록은 페이지 번호에 기초하여 더티 페이지가 순차적으로 정렬된 더티 페이지 리스트를 포함하고, 상기 블록 밀집도는 블록에 포함된 더티 페이지 중 참조 카운트가 0인 더티 페이지의 개수에 기초하여 결정된다.
전술한 본 발명의 과제 해결 수단의 어느 실시예에 의하면, 블록 밀집도에 기초하여 최대한 밀집되어 있는 블록의 페이지를 교체 대상으로 선정함으로써 높은 캐시 적중률을 유지할 수 있고, 쓰기 성능을 향상시킬 수 있다.
또한, Clock 내의 페이지를 최선성 순서로 관리하고 블록 단위가 아닌 페이지 단위로 교체를 수행하기 때문에 빈번하게 재참조되는 페이지가 조기 교체되는 현상을 방지할 수 있다.
도 1은 본 발명의 일 실시예에 따른 페이지 교체 방법의 순서도이다.
도 2는 본 발명에 따른 페이지 교체 과정의 일 예시를 도시한 도면이다.
도 3은 본 발명에 따른 페이지 교체 방법과 Sp.Clock 방법의 쓰기 성능을 비교한 그래프이다.
도 4는 본 발명에 따른 페이지 교체 방법과 Sp.Clock 방법의 블록 밀집도를 비교한 그래프이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
도 1은 본 발명의 일 실시예에 따른 페이지 교체 방법의 순서도이다.
본 발명의 일 실시예에 따른 플래시 메모리에서의 페이지 교체 방법은 먼저, 플래시 메모리에 저장된 더티 페이지를 시계 방향 또는 반시계 방향으로 검색하여(S110) 교체 대상 페이지를 선정한다(S120).
이때, 교체 대상 페이지를 선정하는 단계는 검색된 페이지의 참조 카운트가 0인지 여부를 먼저 확인하고(S111), 참조 카운트가 0으로 확인된 페이지가 더티 페이지인지 여부를 판별한다(S117). 그 결과 더티 페이지로 판별된 경우 이를 교체 대상 페이지로 선정할 수 있다(S120).
이와 달리, 검색된 페이지의 참조 카운트가 0이 아닌 경우, 검색된 페이지의 참조 카운트를 한 단계 감소시키고(S113), 시계 방향 또는 반시계 방향에 위치한 다음 페이지를 검색할 수 있다(S115).
다음으로, 각 페이지의 블록 번호를 참조하여 블록 밀집도가 가장 높은 블록을 검색한다(S130). 이때, 블록은 페이지 번호에 기초하여 더티 페이지가 순차적으로 정렬된 더티 페이지 리스트를 포함하고 있다 .
한편, 블록 밀집도는 블록 내의 유효한 페이지의 비율을 말하며, 블록에 포함된 더티 페이지 중 참조 카운트가 0인 더티 페이지의 개수에 기초하여 결정된다. 이때, 더티 페이지의 참조 카운트는 블록 밀집도가 높을수록 낮게 설정될 수 있다. 예를 들어 더티 페이지가 포함된 블록이 밀집도에 따라서 25%, 50%, 75%, 100%인 경우 각각 4, 3, 2, 1로 더티 페이지의 블록 밀집도를 설정할 수 있다. 본 발명에 따른 페이지 교체 방법은 이와 같이 블록 밀집도를 설정함으로써, 블록 밀집도가 높을수록 모바일 스토리지의 쓰기 성능을 향상시킬 수 있다.
다음으로, 블록 밀집도가 가장 높은 블록으로 검색된 블록 내에 포함된 더티 페이지를 삭제한다(S140). 이때, 더티 페이지를 삭제하는 단계는 블록 밀집도가 가장 높은 블록으로 검색된 블록에 포함된 더티 페이지 리스트의 페이지 번호에 기초하여 순차적으로 더티 페이지를 삭제한다.
다음으로, 선정된 교체 대상 페이지와 시계 방향 또는 반시계 방향에 위치한 다음 검색될 더티 페이지의 사이에 삽입하고자 하는 클린 페이지를 삽입한다(S150). 이때, 삽입될 클린 페이지의 참조 카운트는 1로 설정될 수 있다.
한편, 본 발명에 따른 페이지 교체 방법에서 교체 대상 페이지를 선정하는 단계 및 클린 페이지를 삽입하는 단계는 Clock 알고리즘에 기초하여 수행될 수 있다. 이하에서는 도 2를 참조하여, 페이지를 교체하는 과정을 구체적으로 설명하도록 한다.
도 2는 본 발명에 따른 페이지 교체 과정의 일 예시를 도시한 도면이다.
본 발명에 따른 페이지 교체 방법은 블록 밀집도에 기초하여 모바일 스토리지의 쓰기 성능을 향상시킬 수 있고, 캐시 적중률을 높게 유지할 수 있으며, 페이지의 조기 교체를 방지할 수 있다.
먼저, 캐시 적중률을 높이기 위해 본 발명에 따른 페이지 교체 방법은 Clock 알고리즘을 사용하여 페이지의 캐시를 관리한다. 이때, Clock 알고리즘은 참조 비트(Reference Bit)를 사용하여 페이지의 시간 지역성(Temporal Locality)을 유지하기 때문에 높은 캐시 적중률을 유지할 수 있다.
다음으로, 본 발명에 따른 페이지 교체 방법은 모바일 스트리지의 쓰기 성능을 향상시키기 위하여 Clock 알고리즘의 Hand를 t-hand와 s-hand로 나누어 유지할 수 있으며, 참조 카운트를 참조 비트 대신 사용한다. 그리고 본 발명에 따른 페이지 교체 방법은 낸드 플레시 메모리의 비대칭적인 읽기와 쓰기 특성을 활용하기 위하여 더티 페이지의 교체를 지연시킬 수 있다.
또한, 더티 페이지를 블록 단위로 관리하고 블록 밀집도가 높은 블록에 포함된 페이지를 우선적으로 교체하며, 블록 밀집도가 낮은 블록에 포함된 페이지의 교체를 지연시킨다. 이와 더불어, 순차적으로 쓰기 요청을 수행하기 위해 더티 페이지가 교체 대상 페이지로 선정되고 나면, 블록 밀집도에 기초하여 교체 블록을 선정하게 되고, 교체 블록으로 선정된 블록 내에 포함된 페이지가 페이지 번호에 기초하여 정렬된 순서로 대신하여 교체된다.
한편, 페이지가 재참조될 때마다 참조 카운트는 적절한 값으로 재설정되며, 재설정되는 참조 카운트의 값은 페이지가 클린 페이지인지 더티 페이지인지에 따라서 다르게 설정된다. 특히, 더티 페이지인 경우 더티 페이지가 포함된 그룹의 블록 밀집도에 기초하여 다르게 설정될 수 있다. 이때, 블록 밀집도는 블록 내에 포함된 더티 페이지 중에서 찬스 카운트가 0인 페이지의 개수에 의해 결정된다.
본 발명에 따른 페이지 교체 방법은 클린 페이지에 대한 참조 카운트를 1로 설정함으로써 교체를 지연시키고, 더티 페이지에 대한 참조 카운트는 더티 페이지가 포함된 블록의 밀집도에 따라서 25%, 50%, 75%, 100%인 경우 각각 4, 3, 2, 1로 설정할 수 있다.
이하에서는 t-hand 및 s-hand에 의하여 페이지가 교체되는 방법을 설명하도록 한다.
먼저, t-hand는 Clock의 hand와 유사하게 동작하며, 교체 대상 페이지를 선정하기 위해 참조 카운트가 0인 페이지를 검색한다(S110). 만약, t-hand가 위치한 페이지의 참조 카운트가 0이 아닌 경우, 참조 카운트를 한 단계 감소시키고 다음 페이지로 이동한다. 이와 달리, t-hand가 위치한 페이지의 참조 카운트가 0인 경우 해당 페이지가 클린 페이지인지 더티 페이지인지 여부를 판별하고, 더티 페이지인 것으로 판별될 경우 판별된 더티 페이지를 교체 대상 페이지로 선정하게 된다(S120).
한편, 클린 페이지에 대한 교체는 전통적인 Clock 알고리즘과 동일하게 사용될 수 있으나, 본 발명에 따른 페이지 교체 방법에서는 더티 페이지에 대한 교체시 s-hand를 사용한다.
s-hand는 블록의 더티 페이지 리스트를 기반으로 동작하며, 블록 내의 더티 페이지 리스트는 페이지 번호에 기초하여 순차적으로 정렬되어 있다. s-hand가 위치한 블록은 첫 번째 더티 페이지부터 마지막 더티 페이지를 확인할 때까지 계속 사용된다. 한편, s-hand는 블록 밀집도가 가장 높은 블록에 위치하게 된다(S130).
s-hand가 블록의 더티 페이지 리스트의 첫 번째 더티 페이지를 삭제하면(S140), t-hand가 위치한 더티 페이지와 t-hand가 시계 방향 또는 반시계 방향으로 다음 이동할 더티 페이지의 사이에 클린 페이지가 삽입된다(S150). 클린 페이지가 삽입되면 t-hand는 다음 페이지로 이동하게 된다.
마지막으로, 본 발명에 따른 페이지 교체 방법은 Clock 알고리즘 내의 페이지를 최선성이 유지되는 순서로 관리하고, 블록 단위가 아닌 페이지 단위로 교체를 수행하기 때문에 빈번하게 재참조되는 페이지에 대하여 조기 교체되는 문제점을 해결할 수 있다.
도 3은 본 발명에 따른 페이지 교체 방법과 Sp.Clock 방법의 쓰기 성능을 비교한 그래프이고, 도 4는 본 발명에 따른 페이지 교체 방법과 Sp.Clock 방법의 블록 밀집도를 비교한 그래프이다.
본 발명에 따른 페이지 교체 방법의 성능 평가는 듀얼 코어 아톰(Atom) 프로세스와 2GB 메인 메모리로 구성된 시스템을 사용하였으며, 이와 더불어 Patriot 16GB와 Adata 16GB 마이크로 SD 카드를 사용하였다.
성능 평가는 캐시에 접근하는 트레이스를 시뮬레이션의 입력으로 받고 본 발명에 따른 페이지 교체 방법이 적용된 결과를 시뮬레이션의 출력으로 처리한 후, 출력된 결과를 O_DIRECT를 이용하여 실제 마이크로 SD 카드에 요청하는 방법으로 진행되었다. 시뮬레이션의 입력으로 사용된 트레이스는 Sp.Clock에서 공개한 트레이스를 사용하였으며, 이때 사용된 트레이스는 실제 안드로이드 스마트폰에서 추출한 리얼 트레이스이다.
한편, 도 3에서 W1은 웹 브라우징 트레이스이고, W2는 비디오 스트리밍 트레이스이며, W3는 여러 개의 어플리케이션을 수행할 때의 트레이스를 나타낸다.
본 발명에 따른 페이지 교체 방법의 성능 평가를 위해 블록의 크기는 4MB로 설정하였으며, 캐시 크기는 4MB부터 64MB까지 변경하여 평가하였다. 그 결과, 모든 트레이스, 모든 캐시 크기, 모든 마이크로 SD 카드의 조합에서 Sp.Clock보다 더 좋은 성능이 나타남을 확인할 수 있다.
도 3은 캐시 크기가 16MB인 경우의 수행 시간을 나타낸다. 16MB 크기의 캐시를 사용할 경우, Sp.Clock 대비 W1은 33%, W2는 12%, W3는 48% 성능이 향상됨을 확인할 수 있다.
도 4는 트레이스를 기반으로 블록 밀집도를 측정한 결과를 나타내며, 측정 결과 본 발명에 따른 페이지 교체 방법이 높은 블록 밀집도에 포함된 페이지를 교체시키는 것을 확인할 수 있다. 높은 밀집도 그룹의 페이지가 교체되는 경우, 낸드 플래시의 가비지 컬렉션 비용이 감소하고, 모바일 스토리지의 성능 향상을 유도할 수 있다.
본 발명의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다.
본 발명의 방법 및 시스템은 특정 실시예와 관련하여 설명되었지만, 그것들의 구성 요소 또는 동작의 일부 또는 전부는 범용 하드웨어 아키텍쳐를 갖는 컴퓨터 시스템을 사용하여 구현될 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (7)

  1. 플래시 메모리에서의 페이지 교체 방법에 있어서,
    상기 플래시 기반 저장소에 저장된 더티 페이지를 시계 방향 또는 반시계 방향으로 검색하여 교체 대상 페이지를 선정하는 단계,
    블록 밀집도가 가장 높은 블록을 검색하는 단계,
    상기 검색된 블록의 더티 페이지를 삭제하는 단계 및
    상기 선정된 교체 대상 페이지와 시계 방향 또는 반시계 방향에 위치한 다음 검색될 더티 페이지의 사이에 클린 페이지를 삽입하는 단계를 포함하되,
    상기 블록은 페이지 번호에 기초하여 더티 페이지가 순차적으로 정렬된 더티 페이지 리스트를 포함하고,
    상기 블록 밀집도는 블록에 포함된 더티 페이지 중 참조 카운트가 0인 더티 페이지의 개수에 기초하여 결정되는 것인 페이지 교체 방법.
  2. 제 1 항에 있어서,
    상기 검색된 블록의 더티 페이지를 삭제하는 단계는,
    상기 검색된 블록에 포함된 더티 페이지 리스트의 페이지 번호에 기초하여 순차적으로 더티 페이지를 삭제하는 것인 페이지 교체 방법.
  3. 제 1 항에 있어서,
    상기 교체 대상 페이지를 선정하는 단계는,
    상기 검색된 페이지의 참조 카운트가 0인지 여부를 확인하는 단계,
    상기 참조 카운트가 0으로 확인된 페이지가 더티 페이지인지 여부를 판별하는 단계 및
    상기 판별된 더티 페이지를 교체 대상 페이지로 선정하는 단계를 포함하는 페이지 교체 방법.
  4. 제 3 항에 있어서,
    상기 검색된 페이지의 참조 카운트가 0이 아닌 경우,
    상기 검색된 페이지의 참조 카운트를 한 단계 감소시키고, 시계 방향 또는 반시계 방향에 위치한 다음 페이지를 검색하는 것인 페이지 교체 방법.
  5. 제 1 항에 있어서,
    상기 더티 페이지의 참조 카운트는 상기 블록 밀집도가 높을수록 낮게 설정되는 것인 페이지 교체 방법.
  6. 제 1 항에 있어서,
    상기 삽입될 클린 페이지는 상기 참조 카운트가 1로 설정된 것인 페이지 교체 방법.
  7. 제 1 항에 있어서,
    교체 대상 페이지를 선정하는 단계 및 상기 클린 페이지를 삽입하는 단계는clock 알고리즘에 기초하여 수행되는 것인 페이지 교체 방법.
KR20130163519A 2013-12-26 2013-12-26 플래시 메모리에서의 페이지 교체 방법 KR101477776B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR20130163519A KR101477776B1 (ko) 2013-12-26 2013-12-26 플래시 메모리에서의 페이지 교체 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20130163519A KR101477776B1 (ko) 2013-12-26 2013-12-26 플래시 메모리에서의 페이지 교체 방법

Publications (1)

Publication Number Publication Date
KR101477776B1 true KR101477776B1 (ko) 2014-12-30

Family

ID=52680296

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20130163519A KR101477776B1 (ko) 2013-12-26 2013-12-26 플래시 메모리에서의 페이지 교체 방법

Country Status (1)

Country Link
KR (1) KR101477776B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190069204A (ko) * 2017-12-11 2019-06-19 한국산업기술대학교산학협력단 메모리 관리 장치 및 방법
KR20230009121A (ko) * 2021-07-08 2023-01-17 창원대학교 산학협력단 기계 학습 기반 페이지 교체 정책

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070075640A (ko) * 2006-01-13 2007-07-24 삼성전자주식회사 요구 페이징 기법을 적용한 시스템에서 페이지 교체 수행시간을 단축시키는 방법 및 장치
KR100787856B1 (ko) * 2006-11-29 2007-12-27 한양대학교 산학협력단 플래시 메모리 저장장치의 페이지 교체 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070075640A (ko) * 2006-01-13 2007-07-24 삼성전자주식회사 요구 페이징 기법을 적용한 시스템에서 페이지 교체 수행시간을 단축시키는 방법 및 장치
KR100787856B1 (ko) * 2006-11-29 2007-12-27 한양대학교 산학협력단 플래시 메모리 저장장치의 페이지 교체 방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190069204A (ko) * 2017-12-11 2019-06-19 한국산업기술대학교산학협력단 메모리 관리 장치 및 방법
KR102053504B1 (ko) 2017-12-11 2020-01-08 한국산업기술대학교산학협력단 메모리 관리 장치 및 방법
KR20230009121A (ko) * 2021-07-08 2023-01-17 창원대학교 산학협력단 기계 학습 기반 페이지 교체 정책
KR102670812B1 (ko) 2021-07-08 2024-05-31 국립창원대학교 산학협력단 기계 학습 기반 페이지 교체 정책

Similar Documents

Publication Publication Date Title
US11216185B2 (en) Memory system and method of controlling memory system
CN107111551B (zh) 用于高速缓存经压缩的数据背景的装置、系统和方法
US20180121351A1 (en) Storage system, storage management apparatus, storage device, hybrid storage apparatus, and storage management method
US9489239B2 (en) Systems and methods to manage tiered cache data storage
CN110618945B (zh) 存储系统
US11630767B2 (en) Garbage collection—automatic data placement
US9959054B1 (en) Log cleaning and tiering in a log-based data storage system
US20150098271A1 (en) System and method of storing data in a data storage device
US10402338B2 (en) Method and apparatus for erase block granularity eviction in host based caching
KR20200035311A (ko) 캐시 라인 데이터
US11645006B2 (en) Read performance of memory devices
US20170270045A1 (en) Hybrid memory device and operating method thereof
US20200293441A1 (en) Data storage devices and data processing methods
US20170160940A1 (en) Data processing method and apparatus of solid state disk
US20140223072A1 (en) Tiered Caching Using Single Level Cell and Multi-Level Cell Flash Technology
KR20150083728A (ko) 디스크 캐시 제어 장치 및 방법
US11494306B2 (en) Managing data dependencies in a transfer pipeline of a hybrid dimm
KR101477776B1 (ko) 플래시 메모리에서의 페이지 교체 방법
US20170052899A1 (en) Buffer cache device method for managing the same and applying system thereof
CN112805692A (zh) 混合式双列直插式存储器模块中的高速缓存操作
KR20220031107A (ko) 레인징 콘텐츠 어드레스 지정 가능 메모리
US10656846B2 (en) Operating method of memory system
US20160140034A1 (en) Devices and methods for linked list array hardware implementation
KR101609304B1 (ko) 멀티칩 플래시 저장장치 및 그 방법
EP4220414A1 (en) Storage controller managing different types of blocks, operating method thereof, and operating method of storage device including the same

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20171027

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180917

Year of fee payment: 5