KR101883637B1 - 캐시 매핑 테이블 관리 방법 및 장치 - Google Patents

캐시 매핑 테이블 관리 방법 및 장치 Download PDF

Info

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
Application number
KR1020170000628A
Other languages
English (en)
Other versions
KR20180079900A (ko
Inventor
차재혁
고석인
백승수
Original Assignee
한양대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한양대학교 산학협력단 filed Critical 한양대학교 산학협력단
Priority to KR1020170000628A priority Critical patent/KR101883637B1/ko
Publication of KR20180079900A publication Critical patent/KR20180079900A/ko
Application granted granted Critical
Publication of KR101883637B1 publication Critical patent/KR101883637B1/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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/20Cooling means
    • G06F1/203Cooling means for portable computers, e.g. for laptops
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2200/00Indexing scheme relating to G06F1/04 - G06F1/32
    • G06F2200/20Indexing scheme relating to G06F1/20
    • G06F2200/201Cooling arrangements using cooling fluid
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

메모리의 논리 주소와 저장 소자의 물리 주소를 매핑하는 테이블인 캐시 매핑 테이블(Cache Mapping Table, CMT)을 활용한 FTL(Flash Translation Layer) 매핑 기법의 상기 캐시 매핑 테이블을 관리하는 방법에 있어서, 페이지 캐시 감시부가, 운영 체제(OS)의 커널(Kernel) 영역에 포함된 적어도 하나의 페이지 캐시(Page Cache)를 모니터링하여 저장 소자에 대한 쓰기 패턴을 추정하는 단계, 업데이트 요청부가, 추정된 쓰기 패턴에 대응되는 논리 블록 주소(Logical Block Address)에 대응되는 물리 주소를 캐시 매핑 테이블 상에서 업데이트할 것을 요청하는 캐시 매핑 테이블 업데이트 요청 메시지를 캐시 매핑 테이블 저장부에 전달하는 단계 및 캐시 매핑 테이블 저장부가, 캐시 매핑 테이블 업데이트 요청 메시지에 기초하여 캐시 매핑 테이블을 업데이트하는 단계를 포함하는, 캐시 매핑 테이블 관리 방법 및 그 장치에 관한 것이다.

Description

캐시 매핑 테이블 관리 방법 및 장치{METHOD AND APPARTUS FOR MANAGING CACHE MAPPING TABLE}
본 발명의 실시예들은 캐시 매핑 테이블(Cache Mapping Table)을 활용하는 FTL(Flash Translation Layer) 매핑 기법에서 캐시 매핑 테이블을 관리하는 방법 및 그 장치에 관한 것이다.
플래시 메모리는 전기적으로 데이터를 지우고 다시 기록할 수 있고 전원이 꺼져도 저장된 정보가 지워지지 않는 비휘발성 저장 소자를 의미하며, 플래시 메모리는 읽기 속도가 빠르며 하드 디스크보다 충격에 강한 장점이 있다.
이러한 장점들로 인해 플래시 메모리는 스마트폰, USB 등 휴대용 기기에 널리 사용되고 있으나, 플래시 메모리는 물리적인 특성에 따라 읽기/쓰기는 페이지 단위로 수행되나 삭제는 블록 단위로 수행되며, 셀 당 삭제 횟수가 한정되어 있기 때문에 지나치게 많은 삭제 연산이 발생하는 경우 셀의 신뢰성이 떨어지는 문제점이 있다.
이러한 문제점을 해결하기 위하여 플래시 메모리 중 특히나 낸드(NAND) 플래시 메모리에서는 FTL(Flash Translation Layer) 매핑 기법이 적용되며, 이러한 FTL 매핑 기법은 호스트로부터 요청된 메모리의 논리 주소와 저장되는 플래시 메모리의 물리 주소가 서로 다르기 때문에 메모리에 임시로 기억된 데이터를 플래시 메모리에 저장하는 매핑을 위해 필요하다.
이러한 FTL 매핑 기법의 대표적인 예시인 페이지 레벨 매핑은 페이지의 모든 매핑 정보를 매핑 테이블에 저장하여 관리하는 특징이 있으나, 페이지 레벨 매핑 방식은 페이지의 모든 매핑 정보를 매핑 테이블에 저장하기 때문에 매핑 테이블이 큰 용량을 차지하게 되며, 이러한 매핑 테이블로 인해 많은 메모리의 공간을 확보해야 하는 문제가 있다.
페이지 레벨 매핑 기법의 상술한 문제점을 해결하기 위하여, DFTL, ZFTL, Cach-FTL, Z-MAP을 비롯한 각종 캐시 기반 FTL 매핑 기법이 제안되었으며, 상술한 캐시 기반 FTL 매핑 기법들의 공통점은 페이지 레벨 매핑과 달리 매핑 테이블 중 자주 쓰이는 매핑 정보만을 캐시 매핑 테이블(Cache Mapping Table)의 형태로 메모리에 적재하며, 자주 쓰이지 않는 매핑 정보는 전역 매핑 테이블(Global Mapping Table)의 형태로 플래쉬 메모리에 직접 적재한다는 것이다.
상술한 캐시 기반 FTL 매핑 기법들은 캐시 매핑 테이블의 적중률에 따라 성능이 좌우되며, 요청한 논리 주소에 대응되는 물리 주소가 캐시 매핑 테이블에 없는 경우 플래쉬 메모리에 직접 접근하여 전역 매핑 테이블에 저장된 매핑 정보를 읽어내야 하는 문제가 있으며, 이 경우 오버헤드(Overhead)가 심하게 발생하는 문제가 있다.
한국 등록특허공보 제10-1105127호(2012.01.04)
본 발명의 목적은, 상기 문제점을 해결하기 위한 것으로, 운영 체제(OS)의 커널(Kernel) 영역에 포함된 페이지 캐시를 모니터링하여 저장 소자에 대한 쓰기 패턴을 미리 추정하여, 저장 소자에 쓰기 명령이 입력되기 이전에 캐시 매핑 테이블을 미리 업데이트하기 위함이다.
본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제(들)로 제한되지 않으며, 언급되지 않은 또 다른 과제(들)은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기한 목적을 달성하기 위하여, 본 발명의 실시예에 따른 캐시 매핑 테이블 관리 방법은, 메모리의 논리 주소와 저장 소자의 물리 주소를 매핑하는 테이블인 캐시 매핑 테이블(Cache Mapping Table, CMT)을 활용한 FTL(Flash Translation Layer) 매핑 기법의 상기 캐시 매핑 테이블을 관리하는 방법에 대한 것으로, 페이지 캐시 감시부가, 운영 체제(OS)의 커널(Kernel) 영역에 포함된 적어도 하나의 페이지 캐시(Page Cache)를 모니터링하여 저장 소자에 대한 쓰기 패턴을 추정하는 단계, 업데이트 요청부가, 추정된 쓰기 패턴에 대응되는 논리 블록 주소(Logical Block Address)에 대응되는 물리 주소를 캐시 매핑 테이블 상에서 업데이트할 것을 요청하는 캐시 매핑 테이블 업데이트 요청 메시지를 캐시 매핑 테이블 저장부에 전달하는 단계 및 캐시 매핑 테이블 저장부가, 캐시 매핑 테이블 업데이트 요청 메시지에 기초하여 캐시 매핑 테이블을 업데이트하는 단계를 포함한다.
예컨대, 저장 소자에 대한 쓰기 패턴을 추정하는 단계는, 페이지 캐시 감시부가, 적어도 하나의 페이지 캐시 중 수정이 발생하는 페이지 캐시인 수정 페이지 캐시를 검출함으로써 수행된다.
일 실시예에 따라, 저장 소자에 대한 쓰기 패턴을 추정하는 단계는, 페이지 캐시 감시부가, 적어도 하나의 페이지 캐시 각각의 상태를 나타내는 필드인 적어도 하나의 플래그 필드(Flags Field)를 각각 모니터링하는 단계 및 페이지 캐시 감시부가, 적어도 하나의 플래그 필드 중 더티 플래그(Dirty Flag)를 포함하는 플래그 필드에 대응되는 페이지 캐시를 수정 페이지 캐시로 검출하는 단계를 포함한다.
예를 들어, 캐시 매핑 테이블 업데이트 요청 메시지를 캐시 매핑 테이블 저장부에 전달하는 단계는, 수정 페이지 캐시의 논리 블록 주소에 기초하여 수행된다.
예컨대, 캐시 매핑 테이블을 업데이트하는 단계는, 캐시 매핑 테이블 저장부가, 저장 소자에 직접 저장된 전역 매핑 테이블(Global Mapping Table, GMT) 상에서 수정 페이지 캐시의 논리 블록 주소에 대응되는 저장 소자의 물리 주소인 대응 물리 주소를 추출하는 단계 및 캐시 매핑 테이블 저장부가, 대응 물리 주소를 캐시 매핑 테이블에 저장하는 단계를 포함한다.
예컨대, 캐시 매핑 테이블 저장부에 저장 공간이 부족한 경우, 캐시 매핑 테이블을 업데이트하는 단계는. 캐시 매핑 테이블에 미리 저장된 복수의 매핑 정보 중 적어도 하나의 매핑 정보를 삭제한 후에 수행된다.
일 실시예에 따라, 저장 소자에 대한 쓰기 패턴을 추정하는 단계, 캐시 매핑 테이블 업데이트 요청 메시지를 캐시 매핑 테이블 저장부에 전달하는 단계 및 캐시 매핑 테이블을 업데이트하는 단계는, 저장 소자에 쓰기(Write) 명령이 입력되기 이전에 미리 수행된다.
상기한 목적을 달성하기 위하여 본 발명의 실시예에 따른, 캐시 매핑 테이블 관리 장치는 메모리의 논리 주소와 저장 소자의 물리 주소를 매핑하는 테이블인 캐시 매핑 테이블(Cache Mapping Table, CMT)을 활용한 FTL(Flash Translation Layer) 매핑 기법의 캐시 매핑 테이블을 관리하는 장치에 대한 것으로, 운영 체제(OS)의 커널(Kernel) 영역에 포함된 적어도 하나의 페이지 캐시(Page Cache)를 모니터링하여 저장 소자에 대한 쓰기 패턴을 추정하는 페이지 캐시 감시부, 추정된 쓰기 패턴에 대응되는 논리 블록 주소(Logical Block Address)에 대응되는 물리 주소를 캐시 매핑 테이블 상에서 업데이트할 것을 요청하는 캐시 매핑 테이블 업데이트 요청 메시지를 캐시 매핑 테이블 저장부에 전달하는 업데이트 요청부 및 캐시 매핑 테이블 업데이트 요청 메시지에 기초하여 캐시 매핑 테이블을 업데이트하는 캐시 매핑 테이블 저장부를 포함한다.
예컨대, 페이지 캐시 감시부는, 적어도 하나의 페이지 캐시 중 수정이 발생하는 페이지 캐시인 수정 페이지 캐시를 검출함으로써 저장 소자에 대한 쓰기 패턴을 추정한다.
예를 들어, 페이지 캐시 감시부는, 적어도 하나의 페이지 캐시 각각의 상태를 나타내는 필드인 적어도 하나의 플래그 필드(Flags Field)를 각각 모니터링하고, 적어도 하나의 플래그 필드 중 더티 플래그(Dirty Flag)를 포함하는 플래그 필드에 대응되는 페이지 캐시를 수정 페이지 캐시로 검출하여 저장 소자에 대한 쓰기 패턴을 추정한다.
일 실시예에 따라, 업데이트 요청부는, 수정 페이지 캐시의 논리 블록 주소에 기초하여 캐시 매핑 테이블 업데이트 요청 메시지를 캐시 매핑 테이블 저장부에 전달한다.
예를 들어, 캐시 매핑 테이블 저장부는, 저장 소자에 직접 저장된 전역 매핑 테이블(Global Mapping Table, GMT) 상에서 수정 페이지 캐시의 논리 블록 주소에 대응되는 저장 소자의 물리 주소인 대응 물리 주소를 추출하고, 대응 물리 주소를 캐시 매핑 테이블에 저장하여 캐시 매핑 테이블을 업데이트한다.
일 실시예에 따라, 캐시 매핑 테이블 저장부에 저장 공간이 부족한 경우, 캐시 매핑 테이블 저장부는, 캐시 매핑 테이블에 미리 저장된 복수의 매핑 정보 중 적어도 하나의 매핑 정보를 삭제한 후에 캐시 매핑 테이블을 업데이트한다.
예컨대, 페이지 캐시 감시부가 저장 소자에 대한 쓰기 패턴을 추정하고, 업데이트 요청부가 캐시 매핑 테이블 업데이트 요청 메시지를 캐시 매핑 테이블 저장부에 전달하고, 캐시 매핑 테이블 저장부가 캐시 매핑 테이블을 업데이트하는 동작은, 저장 소자에 쓰기(Write) 명령이 입력되기 이전에 미리 수행된다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 첨부 도면들에 포함되어 있다.
본 발명의 실시예에 따르면, 운영 체제(OS)의 커널(Kernel) 영역에 포함된 페이지 캐시를 모니터링하여 저장 소자에 대한 쓰기 패턴을 미리 추정하여, 저장 소자에 쓰기 명령이 입력되기 이전에 캐시 매핑 테이블을 미리 업데이트하여, 앞으로 사용될 매핑 정보가 캐시 매핑 테이블에 포함되도록 함으로써 적중률(Hit Rate)을 향상시킬 수 있다.
도 1은 본 발명의 실시예에 따른, 캐시 매핑 테이블 관리 장치를 설명하기 위한 구성도이다.
도 2는 본 발명의 실시예에 따른, 캐시 매핑 테이블 관리 방법을 설명하기 위한 순서도이다.
도 3은 본 발명의 실시예에 따른, 캐시 매핑 테이블 관리 방법에서 저장 소자에 대한 쓰기 패턴을 추정하는 단계를 설명하기 위한 순서도이다.
도 4는 본 발명의 실시예에 따른, 캐시 매핑 테이블 관리 방법에서 캐시 매핑 테이블을 업데이트하는 단계를 설명하기 위한 순서도이다.
도 5는 본 발명의 실시예에 따른, 캐시 매핑 테이블 관리 방법 및 장치를 설명하기 위한 도면이다.
도 6a, 도 6b 및 도 6c는 본 발명의 실시예에 따른, 캐시 매핑 테이블 관리 방법 및 장치의 효과를 설명하기 위한 도면이다.
도 7은 캐시 매핑 테이블을 활용한 FTL 매핑 기법의 일 실시예인 DFTL 매핑 기법을 설명하기 위한 도면이다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 가장 바람직한 실시예를 첨부 도면을 참조하여 설명하기로 한다. 우선 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
이하, 본 발명의 실시예에 따른 캐시 매핑 테이블 관리 방법 및 장치를 첨부된 도면을 참조하여 상세하게 설명하면 아래와 같다.
도 1은 본 발명의 실시예에 따른, 캐시 매핑 테이블 관리 장치를 설명하기 위한 구성도이다.
도 1에 도시된 바와 같이, 본 발명의 실시예에 따른, 캐시 매핑 테이블 관리 장치(100)는 페이지 캐시 감시부(110), 업데이트 요청부(120) 및 캐시 매핑 테이블 저장부(130)를 포함한다.
예컨대, 본 발명의 실시예에 따른, 캐시 매핑 테이블 관리 장치(100)는 메모리의 논리 주소와 저장 소자의 물리 주소를 매핑하는 테이블인 캐시 매핑 테이블(Cache Mapping Table, CMT)을 활용한 FTL(Flash Translation Layer) 매핑 기법의 캐시 매핑 테이블을 관리하는 장치를 의미할 수 있다.
예컨대, 캐시 매핑 테이블을 활용한 FTL 매핑 기법은 DFTL, ZFTL, Cach-FTL, Z-MAP을 비롯한 각종 캐시 기반 FTL 매핑 기법 중 어느 하나를 의미할 수 있으며, 본 발명은 특정 FTL 매핑 기법에 한정되지 않는다.
예컨대, 캐시 매핑 테이블을 활용한 FTL 매핑 기법은, 메모리에 캐시 매핑 테이블(Cache Mapping Table, CMT) 및 전역 변환 디렉토리(Global Translation Directory, GTD)를 저장하고, 저장 소자(2)에 전역 매핑 테이블(Global Mapping Table, GMT)을 저장하는 FTL 매핑 기법을 의미할 수 있다.
예컨대, 캐시 매핑 테이블은 메모리의 논리 주소와 저장 소자(2)의 물리 주소를 매핑하는 전체 매핑 정보 중 자주 쓰이는 매핑 정보만을 포함하는 매핑 테이블을 의미할 수 있다.
예컨대, 전역 매핑 테이블은 메모리의 논리 주소와 저장 소자(2)의 물리 주소를 매핑하는 전체 매핑 정보를 모두 포함하는 매핑 테이블을 의미할 수 있다.
예컨대, 전역 변환 디렉토리는 캐시 매핑 테이블에 포함되지 않는 매핑 정보를 전역 매핑 테이블 상에서 검출할 수 있도록 하는 정보를 포함하는 디렉토리를 의미할 수 있다.
다시 말해, 캐시 매핑 테이블을 활용한 FTL 매핑 기법에서 메모리에 일시적으로 저장된 쓰기 대상 데이터를 저장 소자(2)에 쓰기 위해서는 메모리의 논리 주소와 저장 소자(2)의 물리 주소간의 매핑이 필요하며, 캐시 매핑 테이블 상에 매핑 정보가 존재하는 경우 캐시 매핑 테이블에 기초하여 논리 주소와 물리 주소를 매핑하고, 캐시 매핑 테이블 상에 매핑 정보가 존재하지 않는 경우 전역 변환 디렉토리를 활용하여 전역 매핑 테이블에 포함된 매핑 정보를 검출함으로써 캐시 매핑 테이블을 갱신하여 논리 주소와 물리 주소를 매핑하는 기법을 의미할 수 있다.
즉, 캐시가 존재하는 FTL 매핑 기법은 기존의 페이지 레벨 맵핑 방식의 장점을 살리고, 메모리에 맵핑 테이블의 일부만을 올려 메모리의 부담을 줄인 맵핑 방식이며, FTL 내 캐시 교체 알고리즘으로 일반적으로 LRU 방식을 사용하는 FTL 매핑 기법을 의미할 수 있다.
이제, 도 7을 참조하여, 캐시 매핑 테이블을 활용한 FTL 매핑 기법의 일 실시예인 DFTL을 설명한다.
도 7은 캐시 매핑 테이블을 활용한 FTL 매핑 기법의 일 실시예인 DFTL 매핑 기법을 설명하기 위한 도면이다.
도 7에 도시된 바와 같이, DFTL 매핑 기법은 자주 쓰이는 맵핑 정보만을 가지고 있는 시간적 지역성의 캐시 매핑 테이블과 적중이 실패한 경우, 저장 소자(2) 내의 매핑 정보를 찾아갈 수 있도록 도와주는 전역 변환 디렉토리만 메모리에 저장되는 방식을 의미할 수 있다.
예컨대, 도 7에 도시된 바와 같이, DFTL 매핑 기법은 2단계로 매핑 테이블을 관리하고 이에 따르는 오버헤드를 줄이기 위해 캐시 매핑 테이블을 유지하는 것을 특징으로 하나, DFTL 매핑 기법의 단점은 캐시 매핑 테이블에서 적중 실패가 발생했을 때 매핑 주소를 읽기 위한 저장 소자(2)의 접근이 추가로 발생한다는 것이다.
또한 DFTL 매핑 기법의 단점은 캐시 매핑 테이블에는 호스트에서 과거에 요청한 데이터에 대한 매핑 정보만이 포함되기 때문에 임의 영역에 접근하는 경우 높은 적중률을 기대할 수 없다는 것이다.
이제, 도 1을 계속 참조하여, 본 발명의 실시예에 따른, 캐시 매핑 테이블 관리 장치(100)를 설명한다.
페이지 캐시 감시부(110)는 운영 체제(OS, 2)의 커널(Kernel) 영역에 포함된 적어도 하나의 페이지 캐시(Page Cache)를 모니터링하여 저장 소자(2)에 대한 쓰기 패턴을 추정한다.
업데이트 요청부(120)는 추정된 쓰기 패턴에 대응되는 논리 블록 주소(Logical Block Address)에 대응되는 물리 주소를 캐시 매핑 테이블 상에서 업데이트할 것을 요청하는 캐시 매핑 테이블 업데이트 요청 메시지를 캐시 매핑 테이블 저장부(130)에 전달한다.
캐시 매핑 테이블 저장부(130)는 캐시 매핑 테이블 업데이트 요청 메시지에 기초하여 캐시 매핑 테이블을 업데이트 한다.
예컨대, 페이지 캐시는 운영 체제(1)의 파일 입력/출력의 성능 향상을 위한 메모리 영역을 의미할 수 있으며, 페이지 캐시는 복수의 필드를 포함할 수 있고, 페이지 캐시에 포함된 복수의 필드 중 적어도 하나의 필드는 해당 페이지 캐시의 상태를 나타내는 필드인 플래그 필드(Flags Field)를 의미할 수 있다.
이때, 운영 체제(1)의 커널 영역에 포함된 적어도 하나의 페이지 캐시, 플래그 필드에 대한 구체적인 설명은 종래에 공지된 바와 같으므로 상세한 설명은 생략한다.
예컨대, 저장 소자(2)는 낸드 플래시 메모리(NAND Flash Memory)를 비롯한 각종 플래시 메모리를 의미할 수 있으나, 본 발명은 이에 한정되지 않는다.
예컨대, 논리 블록 주소는 메모리의 논리 주소의 일 실시예를 의미할 수 있나, 본 발명은 이에 한정되지 않는다.
예컨대, 캐시 매핑 테이블 저장부(130)는 캐시 매핑 테이블을 저장하기 위한 캐시, 메모리, 메인 메모리를 비롯하여 저장 소자(2)보다 고속으로 엑세스할 수 있는 각종 기억 장치를 의미할 수 있다.
예컨대, 페이지 캐시 감시부(110)는, 적어도 하나의 페이지 캐시 중 수정이 발생하는 페이지 캐시인 수정 페이지 캐시를 검출함으로써 저장 소자(2)에 대한 쓰기 패턴을 추정할 수 있다.
예를 들어, 페이지 캐시 감시부(110)는, 적어도 하나의 페이지 캐시 각각의 상태를 나타내는 필드인 적어도 하나의 플래그 필드(Flags Field)를 각각 모니터링하고, 적어도 하나의 플래그 필드 중 더티 플래그(Dirty Flag)를 포함하는 플래그 필드에 대응되는 페이지 캐시를 수정 페이지 캐시로 검출하여 저장 소자(2)에 대한 쓰기 패턴을 추정할 수 있다.
예를 들어, 더티 플래그를 포함하는 페이지 캐시는 메모리 상에서는 수정이 일어났지만 아직 저장 소자(2)에는 수정 사항이 반영되지 않은 페이지를 의미할 수 있다.
예컨대, 업데이트 요청부(120)는, 수정 페이지 캐시의 논리 블록 주소에 기초하여 캐시 매핑 테이블 업데이트 요청 메시지를 캐시 매핑 테이블 저장부(130)에 전달할 수 있다.
예컨대, 캐시 매핑 테이블 업데이트 요청 메시지는 더티 플래그를 포함하는 수정 페이지 캐시의 논리 블록 주소를 ATA Command를 활용하여, 캐시 매핑 테이블 저장부(130)에 전달하는 메시지를 의미할 수 있으나, 본 발명은 이에 한정되지 않는다.
예컨대, 캐시 매핑 테이블 저장부(130)는, 저장 소자(2)에 직접 저장된 전역 매핑 테이블(Global Mapping Table, GMT) 상에서 수정 페이지 캐시의 논리 블록 주소에 대응되는 저장 소자(2)의 물리 주소인 대응 물리 주소를 추출하고, 대응 물리 주소를 캐시 매핑 테이블에 저장하여 캐시 매핑 테이블을 업데이트할 수 있다.
예컨대, 캐시 매핑 테이블 저장부(130)에 저장 공간이 부족한 경우, 캐시 매핑 테이블 저장부(130)는, 캐시 매핑 테이블에 미리 저장된 복수의 매핑 정보 중 적어도 하나의 매핑 정보를 삭제한 후에 캐시 매핑 테이블을 업데이트할 수 있다.
예를 들어, 페이지 캐시 감시부(110)가 저장 소자(2)에 대한 쓰기 패턴을 추정하고, 업데이트 요청부(120)가 캐시 매핑 테이블 업데이트 요청 메시지를 캐시 매핑 테이블 저장부(130)에 전달하고, 캐시 매핑 테이블 저장부(130)가 캐시 매핑 테이블을 업데이트하는 동작은, 저장 소자(2)에 쓰기(Write) 명령이 입력되기 이전에 미리 수행될 수 있다.
다시 말해, 종래의 DFTL 매핑 기법은 캐시 매핑 테이블의 적중이 실패했을 때 추가적인 오버헤드가 발생하는 문제점이 있으며, 이러한 오버헤드를 줄이기 위해 본 발명의 실시예에 따른, 캐시 매핑 테이블 관리 장치 및 방법은 운영 체제(1) 내의 페이지 캐시를 이용하여 저장 소자(2)의 쓰기 패턴을 추정하고 캐시 매핑 테이블에 매핑 정보를 미리 적재시킴으로써 적중률을 높일 수 있다.
즉, 본 발명의 실시예에 따른 캐시 매핑 테이블 관리 장치 및 방법은 과거의 매핑 정보뿐만 아니라 향후에 발생할 입력/출력을 추정하여 추정된 매핑 정보를 캐시 매핑 테이블에 적재시킴으로써, 기존의 DFTL보다 높은 적중률을 얻을 수 있는 효과가 있다.
다시 말해, 본 발명의 실시예에 따른 캐시 매핑 테이블 관리 장치 및 방법은 운영 체제(1)의 커널 영역 내부의 페이지 캐시를 활용하여 저장 소자(2)의 쓰기 패턴을 추정할 수 있다.
예를 들어, 본 발명의 실시예에 따른 캐시 매핑 테이블 관리 장치 및 방법은 더티 플래그(Dirty Flag)를 가진 페이지 캐시의 정보를 활용할 수 있다.
즉, 메모리에서는 수정이 일어났지만 아직 디스크에 반영되지 않은 더티 플래그를 가지는 페이지는 향후 그 페이지가 교체 알고리즘의 대상으로 선정됐을 때 실질적으로 디스크에 쓰기가 발생하게 되며, 적절한 시점에 쓰기가 일어나는 것을 대비해 더티 페이지 캐시의 논리 블록 주소를 활용하여, 캐시 매핑 테이블을 쓰기가 발생하기 이전에 미리 업데이트하면, 향후 저장 소자(2)에 쓰기가 발생했을 때 적중이 일어나게 되며 기존의 DFTL 매핑 기법보다 높은 적중률을 가질 수 있게 되는 것이다.
본 발명의 실시예에 따른, 캐시 매핑 테이블 관리 장치(100)의 각각의 구성에 대한 보다 구체적인 설명은 이하 도 2 내지 도 5를 참조하여 후술하도록 하며, 중복되는 설명은 생략한다.
이제 도 2 내지 도 5를 참조하여, 본 발명의 실시예에 따른 캐시 매핑 테이블 관리 방법을 설명한다.
도 2는 본 발명의 실시예에 따른, 캐시 매핑 테이블 관리 방법을 설명하기 위한 순서도이다.
도 2에 도시된 바와 같이, 본 발명의 실시예에 따른, 캐시 매핑 테이블 관리 방법은 저장 소자에 대한 쓰기 패턴을 추정하는 단계(S210), 캐시 매핑 테이블 업데이트 요청 메시지를 캐시 매핑 테이블 저장부에 전달하는 단계(S230) 및 캐시 매핑 테이블을 업데이트 하는 단계(S250)를 포함한다.
예컨대, 본 발명의 실시예에 따른, 캐시 매핑 테이블 관리 방법은 메모리의 논리 주소와 저장 소자의 물리 주소를 매핑하는 테이블인 캐시 매핑 테이블(Cache Mapping Table, CMT)을 활용한 FTL(Flash Translation Layer) 매핑 기법의 상기 캐시 매핑 테이블을 관리하는 방법을 의미할 수 있다.
S210 단계는, 페이지 캐시 감시부(110)가, 운영 체제(1)의 커널 영역에 포함된 적어도 하나의 페이지 캐시(Page Cache)를 모니터링하여 저장 소자(2)에 대한 쓰기 패턴을 추정하는 단계를 의미할 수 있다.
예컨대, S210 단계는 페이지 캐시 감시부(110)가, 적어도 하나의 페이지 캐시 중 수정이 발생하는 페이지 캐시인 수정 페이지 캐시를 검출함으로써 수행될 수 있다.
이제 도 3 및 도 5를 동시에 참조하여, S210 단계에 대해 계속 설명한다.
도 3은 본 발명의 실시예에 따른, 캐시 매핑 테이블 관리 방법에서 저장 소자에 대한 쓰기 패턴을 추정하는 단계를 설명하기 위한 순서도이다.
도 5는 본 발명의 실시예에 따른, 캐시 매핑 테이블 관리 방법 및 장치를 설명하기 위한 도면이다.
도 3에 도시된 바와 같이, S210 단계는 플래그 필드를 각각 모니터링 하는 단계(S211) 및 더티 플래그를 포함하는 플래그 필드에 대응되는 페이지 캐시를 수정 페이지 캐시로 검출하는 단계(S213)를 포함한다.
도 5에 도시된 바와 같이, 운영 체제(1)의 커널 영역은 페이지 캐시(Page Cache)를 포함할 수 있으며, 페이지 캐시 감시부(110)는 운영 체제(1)의 커널 영역 중 페이지 캐시를 감시하여, 적어도 하나의 페이지 캐시에 포함된 플래그 필드가 더티 플래그를 포함하는지 여부를 판단한다.
여기서, 더티 플래그를 포함하는 페이지 캐시는 메모리 상에서는 수정이 발생하였으나, 아직 저장 소자(2)에는 해당 수정이 반영되지 않은 페이지를 의미할 수 있다.
즉, S210 단계에서 페이지 캐시 감시부(110)는 더티 플래그의 존재 여부를 통하여 추후에 발생한 저장 소자(2)의 쓰기 패턴을 추정할 수 있다.
S211 단계는, 페이지 캐시 감시부(110)가, 적어도 하나의 페이지 캐시 각각의 상태를 나타내는 필드인 적어도 하나의 플래그 필드(Flag Field)를 각각 모니터링하는 단계를 의미할 수 있다.
S213 단계는, 페이지 캐시 감시부(110)가, 적어도 하나의 플래그 필드 중 더티 플래그(Dirty Flag)를 포함하는 플래그 필드에 대응되는 페이지 캐시를 수정 페이지 캐시로 검출하는 단계를 의미할 수 있다.
즉, S211 단계 및 S213 단계를 통하여, 페이지 캐시 감시부(110)는 수정 페이지 캐시를 검출함으로써, 저장 소자(2)에 쓰기 명령이 입력되기 전에 추후 저장 소자(2)에 입력될 쓰기 명령을 예측할 수 있다.
이제, 도 2를 참조하여 S230 단계 및 S250 단계를 계속 설명한다.
S230 단계는, 업데이트 요청부(120)가, 추정된 쓰기 패턴에 대응되는 논리 블록 주소(Logical Block Address)에 대응되는 물리 주소를 캐시 매핑 테이블 상에서 업데이트할 것을 요청하는 캐시 매핑 테이블 업데이트 요청 메시지를 캐시 매핑 테이블 저장부(130)에 전달하는 단계를 의미할 수 있다.
예컨대, S230 단계는, 수정 페이지 캐시의 논리 블록 주소에 기초하여 수행될 수 있다.
예를 들어, 캐시 매핑 테이블 업데이트 요청 메시지는 수정 페이지 캐시의 논리 블록 주소를 캐시 매핑 테이블 저장부(130)에 전달하여, 캐시 매핑 테이블 저장부(130)에게 수정 페이지 캐시의 논리 블록 주소와 대응되는 저장 소자(2)의 물리 주소를 수정 페이지 캐시의 논리 블록 주소와 매핑하여 캐시 매핑 테이블에 저장하도록 요청하는 메시지를 의미할 수 있다.
S250 단계는, 캐시 매핑 테이블 저장부(130)가, 캐시 매핑 테이블 업데이트 요청 메시지에 기초하여 캐시 매핑 테이블을 업데이트하는 단계를 의미할 수 있다.
예컨대, S250 단계에서 캐시 매핑 테이블 저장부(130)는 수정 페이지 캐시의 논리 블록 주소를 논리 페이지 번호(Logical Page Number, LPN)로 변환한 뒤, 논리 페이지 번호와 매핑되는 물리 주소를 전역 매핑 테이블 상에서 추출하여 수행될 수 있으나, 본 발명은 이에 한정되지 않는다.
예컨대, S250 단계에서 캐시 매핑 테이블 저장부(130)는 전역 변환 디렉토리에서 변환 페이지(Translation Page) 주소를 추출하고, 저장 소자(2)에서 변환 페이지 정보를 추출함으로써 캐시 매핑 테이블을 업데이트 할 수 있으나, 본 발명은 이에 한정되지 않는다.
이제, 도 4를 참조하여 S250 단계를 설명한다.
도 4는 본 발명의 실시예에 따른, 캐시 매핑 테이블 관리 방법에서 캐시 매핑 테이블을 업데이트하는 단계를 설명하기 위한 순서도이다.
도 4에 도시된 바와 같이, S250 단계는 수정 페이지 캐시의 논리 블록 주소에 대응되는 저장 소자의 대응 물리 주소를 추출하는 단계(S251) 및 대응 물리 주소를 캐시 매핑 테이블에 저장하는 단계(S253)를 포함한다.
예컨대, S251 단계는, 캐시 매핑 테이블 저장부(130)가, 저장 소자(2)에 직접 저장된 전역 매핑 테이블(Global Mapping Table, GMT) 상에서 수정 페이지 캐시의 논리 블록 주소에 대응되는 저장 소자(2)의 물리 주소인 대응 물리 주소를 추출하는 단계를 의미할 수 있다.
예를 들어, S253 단계는, 캐시 매핑 테이블 저장부(130)가, 대응 물리 주소를 캐시 매핑 테이블에 저장하는 단계를 의미할 수 있다.
예를 들어, S253 단계에서, 캐시 매핑 테이블 저장부(130)는 수정 페이지 캐시의 논리 블록 주소 및 수정 페이지 캐시의 논리 블록 주소에 대응되는 대응 물리 주소를 서로 매핑하여 매핑 정보를 생성하고, 생성된 매핑 정보를 캐시 매핑 테이블에 저장할 수도 있다.
예컨대, S250 단계에서, 캐시 매핑 테이블 저장부(130)에 저장 공간이 부족한 경우, S250 단계는, 캐시 매핑 테이블에 미리 저장된 복수의 매핑 정보 중 적어도 하나의 매핑 정보를 삭제한 후에 수행될 수 있다.
예컨대, 캐시 매핑 테이블에 미리 저장된 복수의 매핑 정보 중 적어도 하나의 매핑 정보를 삭제하기 위하여, 캐시 매핑 테이블 저장부(130)는 캐시 매핑 테이블에 저장된 매핑 정보 중 가장 빠른 시점에 저장된 매핑 정보를 삭제하거나, 가장 적은 횟수로 이용된 매핑 정보를 삭제할 수 있으나, 본 발명은 이에 한정되지 않는다.
예컨대, 도 1에 도시된, S210 단계, S230 단계 및 S250 단계는 저장 소자(2)에 쓰기(Write) 명령이 입력되기 이전에 미리 수행될 수 있다.
그 결과, 실제로 저장 소자(2)에 쓰기 명령이 입력되어 수정 페이지 캐시에서 수정된 정보를 저장 소자(2)에 저장하는 경우, 캐시 매핑 테이블에는 수정 페이지 캐시의 논리 블록 주소와 대응 물리 주소의 매핑 정보가 미리 저장되어 있게 되며, 그 결과 적중률(Hit Rate)이 높아져, 전역 매핑 테이블에 대한 검색이 없이도 빠른 속도로 저장 소자(2)의 쓰기 동작이 수행될 수 있다.
이제, 도 6a, 도 6b 및 도 6c를 참조하여, 본 발명의 실시예에 따른 캐시 매핑 테이블 관리 방법 및 장치의 효과를 설명한다.
도 6a, 도 6b 및 도 6c는 본 발명의 실시예에 따른, 캐시 매핑 테이블 관리 방법 및 장치의 효과를 설명하기 위한 도면이다.
본 발명의 실시예에 따른, 캐시 매핑 테이블 관리 방법 및 장치의 효과를 설명하기 위하여, 종래의 DFTL 매핑 기법과 DFTL 매핑 기법에 본 발명의 실시예에 따른 캐시 매핑 테이블 관리 방법을 적용한 실시예를 비교한다.
이때, 캐시 사이즈는 24KB로 설정하여 실험을 진행하였으며, 캐시의 엔트리는 LPN, PPN, Dirty로 이루어져 있고, 총 2048개의 엔트리로 구성되도록 실험을 진행하였다.
그 결과, 도 6a에 도시된 바와 같이, 본 발명의 실시예에 따른 캐시 매핑 테이블 관리 방법이 적용된 DFTL 매핑 기법의 경우 종래의 DFTL 매핑 기법에 비해 적중률이 127% 향상되는 것을 확인할 수 있다.
또한, 도 6b에 도시된 바와 같이, 본 발명의 실시예에 따른 캐시 매핑 테이블 관리 방법이 적용된 DFTL 매핑 기법의 경우 종래의 DFTL 매핑 기법에 비해 읽기 성능이 1.89% 증가하였고, 쓰기 성능이 1.7% 증가함을 확인할 수 있다.
나아가, 도 6c에 도시된 바와 같이, 본 발명의 실시예에 따른 캐시 매핑 테이블 관리 방법이 적용된 DFTL 매핑 기법의 경우 종래의 DFTL 매핑 기법에 비해 IOPS 읽기의 경우 성능이 3.31% 증가하였고, IOPS 쓰기의 경우 성능이 2.73% 증가함을 확인할 수 있다.
이상에서 본 발명에 따른 바람직한 실시예에 대해 설명하였으나, 다양한 형태로 변형이 가능하며, 본 기술분야에서 통상의 지식을 가진 자라면 본 발명의 특허청구범위를 벗어남이 없이 다양한 변형예 및 수정예를 실시할 수 있을 것으로 이해된다.
1: 운영 체제 2: 저장 소자
100: 캐시 매핑 테이블 관리 장치
110: 페이지 캐시 감시부
120: 업데이트 요청부
130: 캐시 매핑 테이블 저장부

Claims (14)

  1. 메모리의 논리 주소와 저장 소자의 물리 주소를 매핑하는 테이블인 캐시 매핑 테이블(Cache Mapping Table, CMT)을 활용한 FTL(Flash Translation Layer) 매핑 기법의 상기 캐시 매핑 테이블을 관리하는 방법에 있어서,
    페이지 캐시 감시부가, 운영 체제(OS)의 커널(Kernel) 영역에 포함된 적어도 하나의 페이지 캐시(Page Cache)를 모니터링하여 상기 적어도 하나의 페이지 캐시 중 수정이 발생하는 페이지 캐시인 수정 페이지 캐시를 검출함으로써, 상기 저장 소자에 대한 쓰기 패턴을 추정하는 단계;
    업데이트 요청부가, 상기 추정된 쓰기 패턴에 대응되는 논리 블록 주소(Logical Block Address)에 대응되는 물리 주소를 상기 캐시 매핑 테이블 상에서 업데이트할 것을 요청하는 캐시 매핑 테이블 업데이트 요청 메시지를 캐시 매핑 테이블 저장부에 전달하는 단계; 및
    상기 캐시 매핑 테이블 저장부가, 상기 캐시 매핑 테이블 업데이트 요청 메시지에 기초하여 상기 캐시 매핑 테이블을 업데이트하는 단계를 포함하는, 캐시 매핑 테이블 관리 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 저장 소자에 대한 쓰기 패턴을 추정하는 단계는,
    상기 페이지 캐시 감시부가, 상기 적어도 하나의 페이지 캐시 각각의 상태를 나타내는 필드인 적어도 하나의 플래그 필드(Flags Field)를 각각 모니터링하는 단계; 및
    상기 페이지 캐시 감시부가, 상기 적어도 하나의 플래그 필드 중 더티 플래그(Dirty Flag)를 포함하는 플래그 필드에 대응되는 페이지 캐시를 상기 수정 페이지 캐시로 검출하는 단계를 포함하는, 캐시 매핑 테이블 관리 방법.
  4. 제1항에 있어서,
    상기 캐시 매핑 테이블 업데이트 요청 메시지를 캐시 매핑 테이블 저장부에 전달하는 단계는,
    상기 수정 페이지 캐시의 상기 논리 블록 주소에 기초하여 수행되는, 캐시 매핑 테이블 관리 방법.
  5. 제1항에 있어서,
    상기 캐시 매핑 테이블을 업데이트하는 단계는,
    상기 캐시 매핑 테이블 저장부가, 상기 저장 소자에 직접 저장된 전역 매핑 테이블(Global Mapping Table, GMT) 상에서 상기 수정 페이지 캐시의 상기 논리 블록 주소에 대응되는 상기 저장 소자의 물리 주소인 대응 물리 주소를 추출하는 단계; 및
    상기 캐시 매핑 테이블 저장부가, 상기 대응 물리 주소를 상기 캐시 매핑 테이블에 저장하는 단계를 포함하는, 캐시 매핑 테이블 관리 방법.
  6. 제1항에 있어서,
    상기 캐시 매핑 테이블 저장부에 저장 공간이 부족한 경우,
    상기 캐시 매핑 테이블을 업데이트하는 단계는.
    상기 캐시 매핑 테이블에 미리 저장된 복수의 매핑 정보 중 적어도 하나의 매핑 정보를 삭제한 후에 수행되는, 캐시 매핑 테이블 관리 방법.
  7. 제1항에 있어서,
    상기 저장 소자에 대한 쓰기 패턴을 추정하는 단계, 상기 캐시 매핑 테이블 업데이트 요청 메시지를 캐시 매핑 테이블 저장부에 전달하는 단계 및 상기 캐시 매핑 테이블을 업데이트하는 단계는,
    상기 저장 소자에 쓰기(Write) 명령이 입력되기 이전에 미리 수행되는, 캐시 매핑 테이블 관리 방법.
  8. 메모리의 논리 주소와 저장 소자의 물리 주소를 매핑하는 테이블인 캐시 매핑 테이블(Cache Mapping Table, CMT)을 활용한 FTL(Flash Translation Layer) 매핑 기법의 상기 캐시 매핑 테이블을 관리하는 장치에 있어서,
    운영 체제(OS)의 커널(Kernel) 영역에 포함된 적어도 하나의 페이지 캐시(Page Cache)를 모니터링하여 상기 적어도 하나의 페이지 캐시 중 수정이 발생하는 페이지 캐시인 수정 페이지 캐시를 검출함으로써, 상기 저장 소자에 대한 쓰기 패턴을 추정하는 페이지 캐시 감시부;
    상기 추정된 쓰기 패턴에 대응되는 논리 블록 주소(Logical Block Address)에 대응되는 물리 주소를 상기 캐시 매핑 테이블 상에서 업데이트할 것을 요청하는 캐시 매핑 테이블 업데이트 요청 메시지를 캐시 매핑 테이블 저장부에 전달하는 업데이트 요청부; 및
    상기 캐시 매핑 테이블 업데이트 요청 메시지에 기초하여 상기 캐시 매핑 테이블을 업데이트하는 캐시 매핑 테이블 저장부를 포함하는, 캐시 매핑 테이블 관리 장치.
  9. 삭제
  10. 제8항에 있어서,
    상기 페이지 캐시 감시부는,
    상기 적어도 하나의 페이지 캐시 각각의 상태를 나타내는 필드인 적어도 하나의 플래그 필드(Flags Field)를 각각 모니터링하고, 상기 적어도 하나의 플래그 필드 중 더티 플래그(Dirty Flag)를 포함하는 플래그 필드에 대응되는 페이지 캐시를 상기 수정 페이지 캐시로 검출하여 상기 저장 소자에 대한 쓰기 패턴을 추정하는, 캐시 매핑 테이블 관리 장치.
  11. 제8항에 있어서,
    상기 업데이트 요청부는,
    상기 수정 페이지 캐시의 상기 논리 블록 주소에 기초하여 상기 캐시 매핑 테이블 업데이트 요청 메시지를 상기 캐시 매핑 테이블 저장부에 전달하는, 캐시 매핑 테이블 관리 장치.
  12. 제8항에 있어서,
    상기 캐시 매핑 테이블 저장부는,
    상기 저장 소자에 직접 저장된 전역 매핑 테이블(Global Mapping Table, GMT) 상에서 상기 수정 페이지 캐시의 상기 논리 블록 주소에 대응되는 상기 저장 소자의 물리 주소인 대응 물리 주소를 추출하고, 상기 대응 물리 주소를 상기 캐시 매핑 테이블에 저장하여 상기 캐시 매핑 테이블을 업데이트하는, 캐시 매핑 테이블 관리 장치.
  13. 제8항에 있어서,
    상기 캐시 매핑 테이블 저장부에 저장 공간이 부족한 경우,
    상기 캐시 매핑 테이블 저장부는,
    상기 캐시 매핑 테이블에 미리 저장된 복수의 매핑 정보 중 적어도 하나의 매핑 정보를 삭제한 후에 상기 캐시 매핑 테이블을 업데이트하는, 캐시 매핑 테이블 관리 장치.
  14. 제8항에 있어서,
    상기 페이지 캐시 감시부가 상기 저장 소자에 대한 쓰기 패턴을 추정하고, 상기 업데이트 요청부가 상기 캐시 매핑 테이블 업데이트 요청 메시지를 상기 캐시 매핑 테이블 저장부에 전달하고, 상기 캐시 매핑 테이블 저장부가 상기 캐시 매핑 테이블을 업데이트하는 동작은,
    상기 저장 소자에 쓰기(Write) 명령이 입력되기 이전에 미리 수행되는, 캐시 매핑 테이블 관리 장치.
KR1020170000628A 2017-01-03 2017-01-03 캐시 매핑 테이블 관리 방법 및 장치 KR101883637B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170000628A KR101883637B1 (ko) 2017-01-03 2017-01-03 캐시 매핑 테이블 관리 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170000628A KR101883637B1 (ko) 2017-01-03 2017-01-03 캐시 매핑 테이블 관리 방법 및 장치

Publications (2)

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

Family

ID=62917853

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170000628A KR101883637B1 (ko) 2017-01-03 2017-01-03 캐시 매핑 테이블 관리 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101883637B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109918316A (zh) * 2019-02-26 2019-06-21 深圳忆联信息***有限公司 一种减少ftl地址映射空间的方法及其***

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102183648B1 (ko) * 2018-11-30 2020-11-26 서울대학교산학협력단 중첩 페이징 없이 커널을 보호하는 방법 및 그 장치
KR20210130340A (ko) 2020-04-22 2021-11-01 에스케이하이닉스 주식회사 메모리 시스템, 메모리 컨트롤러 및 메모리 시스템의 동작 방법
CN113094004B (zh) * 2021-05-13 2023-11-03 得一微电子股份有限公司 一种存储设备中针对特定规律数据镜像映射优化处理方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101284465B1 (ko) 2013-03-26 2013-07-09 서울과학기술대학교 산학협력단 낸드 기반 블록 장치에서 안전 파일 삭제를 지원하는 페이지 사상 방법 및 이를 기록하는 기록매체
KR101489870B1 (ko) * 2013-08-19 2015-02-06 성균관대학교산학협력단 가상화 장치 및 그 메모리 관리 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101105127B1 (ko) 2010-04-16 2012-01-16 성균관대학교산학협력단 에스에스디 확장버퍼를 사용한 버퍼 캐쉬 관리 방법 및 에스에스디를 확장버퍼로서 사용하는 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101284465B1 (ko) 2013-03-26 2013-07-09 서울과학기술대학교 산학협력단 낸드 기반 블록 장치에서 안전 파일 삭제를 지원하는 페이지 사상 방법 및 이를 기록하는 기록매체
KR101489870B1 (ko) * 2013-08-19 2015-02-06 성균관대학교산학협력단 가상화 장치 및 그 메모리 관리 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109918316A (zh) * 2019-02-26 2019-06-21 深圳忆联信息***有限公司 一种减少ftl地址映射空间的方法及其***

Also Published As

Publication number Publication date
KR20180079900A (ko) 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 (ko) 캐시 매핑 테이블 관리 방법 및 장치
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 (zh) 在一記憶體裝置中減少次要位址表檢查之快速轉譯指示器
US10936203B2 (en) Memory storage device and system employing nonvolatile read/write buffers
CN111338561B (zh) 存储器控制器与存储器页面管理方法
US20180150390A1 (en) Data Storage Device and Operating Method Therefor
KR20170109133A (ko) 하이브리드 메모리 장치 및 그의 데이터 관리 방법
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 (ko) 전원 손실 이후 데이터 손실을 방지하기 위한 메모리 저장 장치 및 방법
WO2015173889A1 (ja) ストレージ装置
KR101353967B1 (ko) 환형 구조의 비휘발성 메모리 캐쉬에 데이터를 읽고 쓰기 위한 데이터 처리 방법
KR20100099888A (ko) 플래시 메모리를 기반으로 한 데이터베이스 시스템에 대한 로그 관리 방법
US11321243B2 (en) Data storage device including a semiconductor device managing address mapping of a semiconductor memory device
KR101373613B1 (ko) 환형 구조의 비휘발성 메모리 캐쉬를 포함하는 하이브리드 스토리지 장치
KR102210536B1 (ko) 비휘발성 메모리 장치의 데이터 관리 시스템 및 그 방법

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