KR101570179B1 - 빠른 파워-오프를 위한 캐시 동기화 방법 및 시스템 - Google Patents

빠른 파워-오프를 위한 캐시 동기화 방법 및 시스템 Download PDF

Info

Publication number
KR101570179B1
KR101570179B1 KR1020080124302A KR20080124302A KR101570179B1 KR 101570179 B1 KR101570179 B1 KR 101570179B1 KR 1020080124302 A KR1020080124302 A KR 1020080124302A KR 20080124302 A KR20080124302 A KR 20080124302A KR 101570179 B1 KR101570179 B1 KR 101570179B1
Authority
KR
South Korea
Prior art keywords
data
area
storage medium
cache
storing
Prior art date
Application number
KR1020080124302A
Other languages
English (en)
Other versions
KR20100065786A (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 KR1020080124302A priority Critical patent/KR101570179B1/ko
Priority to US12/629,989 priority patent/US8214581B2/en
Publication of KR20100065786A publication Critical patent/KR20100065786A/ko
Application granted granted Critical
Publication of KR101570179B1 publication Critical patent/KR101570179B1/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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • 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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0868Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/21Employing a record carrier using a specific recording technology
    • G06F2212/214Solid state disk
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/005Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor comprising combined but independently operative RAM-ROM, RAM-PROM, RAM-EPROM cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • 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

Abstract

본 발명은 빠른 파워-오프를 위한 캐시 동기화 방법 및 시스템에 대하여 개시된다. 캐시 동기화 방법은, 호스트로부터 이벤트 신호를 수신하는 단계, 이벤트 신호에 응답하여 버퍼 캐시의 데이터들을 저장 매체에 저장시키되, 버퍼 캐시의 데이터들을 랜덤 데이터들과 시퀀셜 데이터들로 구분하고, 버퍼 캐시에 저장된 랜덤 데이터들의 물리적인 어드레스와 저장 매체에 저장되는 물리적 어드레스 사이의 관계를 나타내는 주소 정보 맵을 제공하는 단계, 그리고 랜덤 데이터들은 주소 정보 맵과 함께 저장 매체 내 제1 영역에 저장하고, 시퀀셜 데이터는 저장 매체 내 제2 영역에 저장하는 단계를 포함한다.
캐시 동기화 방법, 버퍼 캐시, 파워-오프, 랜덤 데이터, 저장 매체

Description

빠른 파워-오프를 위한 캐시 동기화 방법 및 시스템{Cache synchronization method and system for fast power-off}
본 발명은 플래쉬 메모리 시스템에 관한 것으로, 특히, 빠른 파워-오프를 위한 플래쉬 메모리 장치 기반의 저장 매체로의 캐시 동기화 방법 및 이를 구현하는 시스템에 관한 것이다.
플래쉬 메모리 장치는 고집적의 불휘발성 메모리 장치이다. 플래쉬 메모리 장치는 데이터 보존성이 우수하기 때문에, 메모리 시스템에서 메인 메모리로 사용된다. 플래쉬 메모리 장치는 기존의 하드 디스크 또는 플라피 디스크를 대체할 만한 고집적 대용량 소자로서 주목받고 있다. 현재 플래쉬 메모리 장치는 휴대폰, 디지털 카메라, MP3 플레이어, SSD(Solid State Drive) 등의 저장 매체로 사용되고 있다.
플래쉬 메모리 장치 기반의 저장 매체는 호스트 컴퓨터의 외부 기록 장치로서 사용된다. 그런데, 플래쉬 메모리 장치는, 읽기 및 쓰기 동작에 있어서, 메모리 셀 어레이에 저장된 데이터를 페이지 버퍼로 읽어오고, 페이지 버퍼에 임시로 저장된 데이터를 메모리 셀 어레이에 쓰는 데 상당한 시간이 소요되기 때문에, 데 이터 입출력 속도가 느리다는 단점이 있다.
플래쉬 메모리 장치는 복수개의 블락들, 예컨대 1024 블락, 2048 블락 등으로 이루어진다. 하나의 블락은 복수개의 섹터들, 예컨대 16 섹터, 32 섹터 또는 64 섹터 등으로 이루어진다. 플래쉬 메모리 장치에 있어서, 블락은 데이터 소거 동작의 기본 단위가 되고, 페이지는 데이터 쓰기 및 읽기 동작의 기본 단위가 된다. 플래쉬 메모리 장치는 쓰기 동작에 앞서 블락 단위의 소거 동작이 선행되어야 하는, 즉 블락 단위로 데이터를 관리해야 하는 특성 때문에, 쓰기 성능의 변동이 심하다.
한편, 저장 매체에 대한 데이터의 기록 처리 및 읽기 처리는, 호스트 컴퓨터와의 사이에서의 데이터 전송 처리 속도 보다도 늦기 때문에, 그 중간에 캐시 메모리를 설치하고 캐시 메모리를 이용하여 데이터 전송을 행하는 것으로, 데이터의 기록 처리나 재생 처리의 고속화를 도모하고 있다. 캐시 메모리는, 호스트 컴퓨터로부터 보내지고 오는 데이터의 어드레스가 연속적인 시퀀셜 억세스와 불연속적인 어드레스에 의한 랜덤 억세스로 동작된다. 캐시 메모리로는 DRAM, SRAM과 같은 휘발성 메모리 장치 또는 플래쉬 메모리 장치와 같은 불휘발성 메모리 장치를 사용할 수 있다.
저장 매체와 캐시 메모리를 구비하는 시스템에서, 상위 어플리케이션으로부터 파워-오프와 같은 이벤트가 있을 경우, 캐시 메모리에 저장된 데이터를 저장 매체에 재저장하는 캐시 동기화 작업이 요구된다. 불휘발성 메모리 장치를 캐시 메모리로 사용하는 경우에는 캐시 동기화 작업이 필요 없지만, 휘발성 메모리 장치를 캐시 메모리로 사용하는 경우에는 저장 매체인 플래쉬 메모리 장치로 캐시 동기화 작업을 반드시 수행해야 한다.
데이터를 처리하는 측면에서 본다면 파일은 관련된 레코드들의 집합이고, 파일 시스템은 파일들에 이름을 붙이고 저장이나 검색을 위해 논리적으로 파일들을 어디에 위치시켜야 하는지 등을 나타내는 방법이다. 플래쉬 메모리 장치를 사용하는 파일 시스템은, 파일을 관리하고, 파일을 플래쉬 메모리 장치에 저장하고 플래쉬 메모리 장치로부터 읽어들이는 기능을 포함한다.
그런데, 파일 시스템에 의한 캐시 동기화 작업은 플래쉬 메모리 장치로 랜덤 쓰기를 발생시키게 된다. 랜덤 쓰기는 플래쉬 메모리 장치 내 파일들이 점유하게 될 영역들이 랜덤하게 분포됨에 따라 캐시 동기화 작업을 위한 메모리 공간이 부족해질 수 있는 문제점이 있다. 그리고, 플래쉬 메모리 장치로의 랜덤 쓰기를 최소화하기 위하여, 캐시 메모리에 저장된 데이터를 물리적 주소 기준으로 그룹핑하여, 큰 그룹의 데이터를 우선으로 플래쉬 메모리 장치에 저장하게 되면, LRU 기반의 캐시 동기화 기법과 비교하여 동기화 시간을 단축시키지만, 그 효과성이 한계가 있다.
따라서, 빠른 파워-오프를 위한 플래쉬 메모리 장치로의 캐시 동기화 방법이 요구된다.
본 발명의 목적은 빠른 파워-오프를 위하여 플래쉬 메모리 장치 기반의 저장 매체로의 캐시 동기화 방법을 구현하는 시스템을 제공하는 데 있다.
본 발명의 다른 목적은 상기 캐시 동기화 방법을 제공하는 데 있다.
상기 목적을 달성하기 위하여, 본 발명의 일면에 따른 시스템은, 호스트로부터 수신되는 이벤트 신호에 응답하여 버퍼 캐시의 데이터들을 저장 매체에 저장시키되, 버퍼 캐시의 데이터들을 랜덤 데이터들과 시퀀셜 데이터들로 구분하여 저장시키는 데이터 관리부, 그리고 제1 영역과 제2 영역을 구분되고, 랜덤 데이터들은 주소 정보 맵과 함께 제1 영역에 저장하고, 시퀀셜 데이터는 제2 영역에 저장하는 저장 매체를 포함한다.
본 발명의 실시예들에 따라, 주소 정보 맵은, 버퍼 캐시에 저장된 랜덤 데이터들의 물리적인 어드레스와 저장 매체의 제1 영역에 저장되는 물리적 어드레스 사이의 관계를 나타내는 정보일 수 있고, 이벤트 신호는 시스템의 전원 오프를 지시하는 파워-오프 신호일 수 있다.
본 발명의 실시예들에 따라, 시스템은, 이벤트 신호가 시스템의 전원 온을 지시하는 파워-온 신호인 경우, 저장 매체의 제1 영역에 저장된 랜덤 데이터를 주소 정보 맵을 기반으로 버퍼 캐시에 재저장할 수 있다.
본 발명의 실시예들에 따라, 저장 매체는 제1 영역과 제2 영역이 독립된 플 래쉬 메모리 장치들일 수 있다.
상기 목적을 달성하기 위하여, 본 발명의 다른 면에 따른 시스템은, 로그 정보를 저장시키는 저너링 기능을 제공하고, 호스트로부터 수신되는 이벤트 신호에 응답하여 버퍼 캐시의 데이터들을 저장 매체에 저장시키되, 버퍼 캐시 데이터들을 랜덤 데이터들과 시퀀셜 데이터들로 구분하여 저장시키고, 버퍼 캐시에 저장된 랜덤 데이터들의 물리적인 어드레스와 저장 매체에 저장되는 물리적 어드레스 사이의 관계를 나타내는 주소 정보 맵을 제공하는 데이터 관리부, 그리고 로그 정보를 저장하는 저너링 영역을 포함하고, 랜덤 데이터들은 주소 정보 맵과 함께 저너링 영역에 저장하고, 시퀀셜 데이터는 저너링 영역 이외에 저장하는 저장 매체를 포함한다.
상기 목적을 달성하기 위하여, 본 발명의 또다른 면에 따른 시스템은, 저장 매체 내 미사용 영역을 관리하는 기능을 제공하고, 호스트로부터 수신되는 이벤트에 응답하여 버퍼 캐시의 데이터들을 저장 매체에 저장시키되, 버퍼 캐시 데이터들을 랜덤 데이터들과 시퀀셜 데이터들로 구분하여 저장시키고, 버퍼 캐시에 저장된 랜덤 데이터들의 물리적인 어드레스와 저장 매체에 저장되는 물리적 어드레스 사이의 관계를 나타내는 주소 정보 맵을 제공하는 데이터 관리부, 그리고 미사용 영역과 사용된 영역으로 구분되고, 랜덤 데이터들은 미사용 영역에 주소 정보 맵과 함께 저장하고, 시퀀셜 데이터는 사용된 영역에 저장하는 저장 매체를 포함한다.
상기 다른 목적을 달성하기 위하여, 본 발명의 더욱 다른 면에 따른 캐시 동기화 방법은, 호스트로부터 이벤트 신호를 수신하는 단계, 이벤트 신호에 응답하여 버퍼 캐시의 데이터들을 저장 매체에 저장시키되, 버퍼 캐시의 데이터들을 랜덤 데이터들과 시퀀셜 데이터들로 구분하고, 버퍼 캐시에 저장된 랜덤 데이터들의 물리적인 어드레스와 저장 매체에 저장되는 물리적 어드레스 사이의 관계를 나타내는 주소 정보 맵을 제공하는 단계, 그리고 랜덤 데이터들은 주소 정보 맵과 함께 저장 매체 내 제1 영역에 저장하고, 시퀀셜 데이터는 저장 매체 내 제2 영역에 저장하는 단계를 포함한다.
본 발명의 실시예들에 따라, 제1 영역은 저장 매체 내 로그 정보를 저장하는 저너링 영역 또는 저장 매체 내 미사용 영역일 수 있다.
본 발명에 따른 플래쉬 메모리 장치 기반의 저장 매체로의 캐시 동기화 방법은, 버퍼 캐시에 저장된 랜덤 데이터들을 플래쉬 메모리 장치 내 미리 확보된 영역에 주소 정보 맵과 함께 순차적으로 저장된다. 이에 따라, 종래의 캐시 동기화 작업에 의한 메모리 공간 부족 현상이 없어지고, 종래의 플래쉬 메모리 장치의 쓰기 동작에 앞서 선행되는 블락 단위의 소거 동작이 필요 없으므로, 캐시 동기화 방법 후 시스템의 파워 오프 시간을 단축시킬 수 있다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 예시적인 실시예를 설명하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 제1 실시예에 따른 시스템을 설명하는 도면이다. 도 1을 참조하면, 시스템(10)은 데이터 관리부(110)와 저장 매체(120)를 포함한다. 데이터 관리부(110)는 플래쉬 메모리 장치에 저장하고 플래쉬 메모리 장치로부터 읽어들인 파일을 관리하는 파일 시스템(File System)인 것으로 설명된다. 데이터 관리부(110)는, 본 실시예에서 설명되는 파일 시스템 이외에, 플래쉬 메모리 장치를 저장매체로 이용하는 호스트 드라이버(Host Driver) 또는 플래쉬 변환 계층(Flash Translation Layer: FTL)일 수 있다. 저장 매체(120)는 플래쉬 메모리를 기반으로 저장 장치로서, 대표적으로 SSD(Sold State Disk)가 있다. 이 하, 설명의 편의를 위하여 저장 매체(120)는 플래쉬 메모리 장치로 설명된다.
데이터 관리부(110)는 플러쉬 매니저(112)와 버퍼 캐시(114)를 포함한다. 플러쉬 매니저(112)는 호스트(미도시)로부터 파워-오프 신호(PWR_OFF)와 같은 이벤트 신호를 수신한다. 플러쉬 매니저(112)는 파워-오프 신호(PWR_OFF)에 응답하여 버퍼 캐시(114)에 저장된 데이터를 플래쉬 메모리 장치(120)에 저장시키는 캐시 동기화 작업을 수행한다. 플러쉬 매니저(112) 내 필터(113)는 버퍼 캐시(114)에 저장된 데이터가 순차적 쓰기 가능한 시퀀셜 데이터인지 아니면 랜덤 데이터인지를 판별한다. 버퍼 캐시(114)는 SRAM 또는 DRAM과 같은 휘발성 메모리 장치로 구성된다.
플래쉬 메모리 장치(120)는 제1 영역(121)과 제2 영역(122)으로 구분되는 메 모리 영역으로 구성된다. 제1 영역(121)은 버퍼 캐시(114)의 랜덤 데이터들을 저장하고, 제2 영역(122)은 버퍼 캐시(114)의 시퀀셜 데이터들을 저장하도록 설정된다. 제1 영역(121)과 제2 영역(122)은 하나의 플래쉬 메모리 장치 내에서 구분될 수 있고, 각각이 독립된 플래쉬 메모리 장치들로 구현될 수도 있다.
랜덤 데이터(DATA)들은 플래쉬 메모리 장치(120)의 제1 영역(121)에 순차적으로 저장되도록 변경된 물리적 주소 정보 맵(Map)와 함께 저장된다. 즉, 물리적 주소 정보 맵(Map)이란 버퍼 캐시(114)에 저장된 랜덤 데이터들의 물리적인 어드레스와 플래쉬 메모리 장치(120)의 제1 영역(121)에 저장되는 물리적 어드레스 사이의 관계를 나타내는 정보이다. 시퀀셜 데이터들은 버퍼 캐시(114)에서의 어드레스와 동일한 어드레스로 플래쉬 메모리 장치(120)의 제2 영역(122)에 순차적으로 저장된다.
도 2는 도 1의 시스템에서 파워-온 동작을 설명하는 도면이다. 도 2를 참조하면, 플러쉬 매니저(112)는 수신되는 파워-온 신호(PWR_ON)에 응답하여 플래쉬 메모리 장치(120)에 저장된 데이터들을 버퍼 캐시(114)로 복구시킨다. 플러쉬 매니저(112) 내 필터(113)는 플래쉬 메모리 장치(120)의 제1 영역(121)에 저장된 랜덤 데이터들을 물리적 주소 정보 맵(Map)을 기반으로 버퍼 캐시(114)에 재저장한다. 플래쉬 메모리 장치(120)의 제2 영역(122)에 저장된 시퀀셜 데이터들은 버퍼 캐시(114)에 재저장될 수도 있고 재저장되지 않을 수도 있다. 시퀀셜 데이터들이 버퍼 캐시(114)에 재저장되지 않으면, 플러쉬 매니저(112)는 버퍼 캐시(114)에서의 미스(miss) 정보에 의해 플래쉬 메모리 장치(120)의 제2 영역(122)에 저장된 시퀀 셜 데이터들을 가져온다.
도 3은 본 발명의 제2 실시예에 따른 시스템을 설명하는 도면이다. 도 3을 참조하면, 시스템(300)은 데이터 관리부(310)와 플래쉬 메모리 장치(320)를 포함한다. 데이터 관리부(310)인 파일 시스템은 갑작스런 파워-오프에 대비하여 파일 시스템 관련한 연산들(oprations)을 로깅하는 방법인 저너링(journaling)을 제공한다. 저너링(jouring)이란 로그 정보를 저장하기 위한 저너링 영역(jouring area, 322)을 플래쉬 메모리 장치(320)에 확보하는 것이다.
데이터 관리부(310)는 로그 매니저(312)와 버퍼 캐시(314)를 포함한다. 로그 매니저(312)는 저너링 작업을 수행한다. 그리고, 로그 매니저(312)는 수신되는 파워-오프 신호(PWR_OFF)에 응답하여 버퍼 캐시(314)에 저장된 데이터를 플래쉬 메모리 장치(320)에 저장시키는 캐시 동기화 작업을 수행한다. 로그 매니저(312)는, 버퍼 캐시(314)에 저장된 데이터가 시퀀셜 데이터인지 아니면 랜덤 데이터인지를 판별하여, 랜덤 데이터들은 플래쉬 메모리 장치(320)의 저너링 영역(322)에 순차적으로 저장되도록 변경된 물리적 주소 정보 맵(Map)와 함께 저장하고, 시퀀셜 데이터는 플래쉬 메모리 장치(320) 내 저너링 영역(322) 이외의 영역에 저장한다. 물리적 주소 정보 맵(Map)은 버퍼 캐시(314)에 저장된 랜덤 데이터들의 물리적인 어드레스와 플래쉬 메모리 장치(320)의 저너링 영역(322)에 저장되는 물리적 어드레스 사이의 관계를 나타낸다.
도 4는 본 발명의 제3 실시예에 따른 시스템을 설명하는 도면이다. 도 4을 참조하면, 시스템(400)은 데이터 관리부(410)와 플래쉬 메모리 장치(420)를 포함한 다. 데이터 관리부(410)인 파일 시스템은 플래쉬 메모리 장치(420) 내 데이터가 저장되어 사용된 영역(used area)과 미사용 영역(free area 또는 unused area)를 구분하여 관리한다. 플래쉬 메모리 장치(420)가 MP3 파일 또는 동영상 파일 저장을 위하여 사용되는 경우, 플래쉬 메모리 장치(420)는 미사용 공간이 연속적으로 존재할 확률이 높다.
데이터 관리부(410)는 미사용 영역 매니저(412)과 버퍼 캐시(414)를 포함한다. 미사용 영역 매니저(412)는 플래쉬 메모리 장치(420) 내 미사용 공간을 관리한다. 그리고, 미사용 영역 매니저(412)는 수신되는 파워-오프 신호(PWR_OFF)에 응답하여 버퍼 캐시(414)에 저장된 데이터를 플래쉬 메모리 장치(420)에 저장시키는 캐시 동기화 작업을 수행한다. 미사용 영역 매니저(412)는, 버퍼 캐시(414)에 저장된 데이터가 시퀀셜 데이터인지 아니면 랜덤 데이터인지를 판별하여, 랜덤 데이터들은 플래쉬 메모리 장치(420) 내 미사용 영역(422)에 순차적으로 저장되도록 변경된 물리적 주소 정보 맵(Map)와 함께 저장하고, 시퀀셜 데이터는 플래쉬 메모리 장치(420) 내 미사용 영역(422) 이외의 영역에 저장한다. 물리적 주소 정보 맵(Map)은 버퍼 캐시(414)에 저장된 랜덤 데이터들의 물리적인 어드레스와 플래쉬 메모리 장치(320)의 미사용 영역(422)에 저장되는 물리적 어드레스 사이의 관계를 나타낸다.
따라서, 본 발명의 실시예들에 따른 플래쉬 메모리 장치 기반의 저장 매체로의 캐시 동기화 방법은, 버퍼 캐시에 저장된 랜덤 데이터들을 플래쉬 메모리 장치 내 미리 확보된 영역에 주소 정보 맵과 함께 순차적으로 저장된다. 이에 따라, 종 래의 캐시 동기화 작업에 의한 메모리 공간 부족 현상이 없어지고, 종래의 플래쉬 메모리 장치의 쓰기 동작에 앞서 선행되는 블락 단위의 소거 동작이 필요 없으므로, 캐시 동기화 방법 후 시스템의 파워 오프 시간을 단축시킬 수 있다.
본 발명은 도면에 도시된 일 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
도 1은 본 발명의 제1 실시예에 따른 시스템을 설명하는 도면이다.
도 2는 도 1의 시스템에서 파워-온 동작을 설명하는 도면이다.
도 3은 본 발명의 제2 실시예에 따른 시스템을 설명하는 도면이다.
도 4는 본 발명의 제3 실시예에 따른 시스템을 설명하는 도면이다.

Claims (10)

  1. 호스트로부터 수신되는 이벤트 신호에 응답하여 버퍼 캐시의 데이터들을 저장 매체에 저장시키되, 상기 버퍼 캐시의 데이터들을 랜덤 데이터들과 시퀀셜 데이터들로 구분하여 저장시키는 데이터 관리부; 및
    상기 랜덤 데이터들은 주소 정보 맵과 함께 제1 영역에 저장하고, 상기 시퀀셜 데이터는 상기 제1 영역과는 다른 제2 영역에 저장하는 저장 매체를 구비하는 것을 특징으로 하는 캐시 동기화 시스템.
  2. 제1항에 있어서, 상기 주소 정보 맵은
    상기 버퍼 캐시에 저장된 상기 랜덤 데이터들의 물리적인 어드레스와 상기 저장 매체의 상기 제1 영역에 저장되는 물리적 어드레스 사이의 관계를 나타내는 정보인 것을 특징으로 하는 캐시 동기화 시스템.
  3. 제1항에 있어서, 상기 이벤트 신호는
    상기 시스템의 전원 오프를 지시하는 파워-오프 신호인 것을 특징으로 하는 캐시 동기화 시스템.
  4. 제1항에 있어서, 상기 캐시 동기화 시스템은
    상기 이벤트 신호가 상기 시스템의 전원 온을 지시하는 파워-온 신호인 경우, 상기 저장 매체의 상기 제1 영역에 저장된 상기 랜덤 데이터를 상기 주소 정보 맵을 기반으로 상기 버퍼 캐시에 재저장하는 것을 특징으로 하는 캐시 동기화 시스템.
  5. 제1항에 있어서, 상기 저장 매체는
    상기 제1 영역과 상기 제2 영역이 독립된 플래쉬 메모리 장치들인 것을 특징으로 하는 캐시 동기화 시스템.
  6. 로그 정보를 저장시키는 저너링 기능을 제공하고, 호스트로부터 수신되는 이벤트 신호에 응답하여 버퍼 캐시의 데이터들을 저장 매체에 저장시키되, 상기 버퍼 캐시 데이터들을 랜덤 데이터들과 시퀀셜 데이터들로 구분하여 저장시키고, 상기 버퍼 캐시에 저장된 상기 랜덤 데이터들의 물리적인 어드레스와 상기 저장 매체에 저장되는 물리적 어드레스 사이의 관계를 나타내는 주소 정보 맵을 제공하는 데이터 관리부; 및
    상기 로그 정보를 저장하는 저너링 영역을 포함하고, 상기 랜덤 데이터들은 상기 주소 정보 맵과 함께 상기 저너링 영역에 저장하고, 상기 시퀀셜 데이터는 상기 저너링 영역 이외에 저장하는 저장 매체를 구비하는 것을 특징으로 하는 캐시 동기화 시스템.
  7. 저장 매체 내 미사용 영역을 관리하는 기능을 제공하고, 호스트로부터 수신되는 이벤트에 응답하여 버퍼 캐시의 데이터들을 저장 매체에 저장시키되, 상기 버퍼 캐시 데이터들을 랜덤 데이터들과 시퀀셜 데이터들로 구분하여 저장시키고, 상기 버퍼 캐시에 저장된 상기 랜덤 데이터들의 물리적인 어드레스와 상기 저장 매체에 저장되는 물리적 어드레스 사이의 관계를 나타내는 주소 정보 맵을 제공하는 데이터 관리부; 및
    상기 미사용 영역과 사용된 영역으로 구분되고, 상기 랜덤 데이터들은 상기 미사용 영역에 상기 주소 정보 맵과 함께 저장하고, 시퀀셜 데이터는 상기 사용된 영역에 저장하는 저장 매체를 구비하는 것을 특징으로 하는 캐시 동기화 시스템.
  8. 호스트로부터 이벤트 신호를 수신하는 단계;
    상기 이벤트 신호에 응답하여 버퍼 캐시의 데이터들을 저장 매체에 저장시키되, 상기 버퍼 캐시의 데이터들을 랜덤 데이터들과 시퀀셜 데이터들로 구분하고, 상기 버퍼 캐시에 저장된 상기 랜덤 데이터들의 물리적인 어드레스와 상기 저장 매체에 저장되는 물리적 어드레스 사이의 관계를 나타내는 주소 정보 맵을 제공하는 단계; 및
    상기 랜덤 데이터들은 주소 정보 맵과 함께 상기 저장 매체 내 제1 영역에 저장하고, 상기 시퀀셜 데이터는 상기 저장 매체 내 제2 영역에 저장하는 단계를 구비하는 것을 특징으로 하는 캐시 동기화 방법.
  9. 제8항에 있어서, 상기 제1 영역은
    상기 저장 매체 내 로그 정보를 저장하는 저너링 영역인 것을 특징으로 하는 캐시 동기화 방법.
  10. 제8항에 있어서, 상기 제1 영역은
    상기 저장 매체 내 미사용 영역인 것을 특징으로 하는 캐시 동기화 방법.
KR1020080124302A 2008-12-08 2008-12-08 빠른 파워-오프를 위한 캐시 동기화 방법 및 시스템 KR101570179B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020080124302A KR101570179B1 (ko) 2008-12-08 2008-12-08 빠른 파워-오프를 위한 캐시 동기화 방법 및 시스템
US12/629,989 US8214581B2 (en) 2008-12-08 2009-12-03 System and method for cache synchronization

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080124302A KR101570179B1 (ko) 2008-12-08 2008-12-08 빠른 파워-오프를 위한 캐시 동기화 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20100065786A KR20100065786A (ko) 2010-06-17
KR101570179B1 true KR101570179B1 (ko) 2015-11-18

Family

ID=42232349

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080124302A KR101570179B1 (ko) 2008-12-08 2008-12-08 빠른 파워-오프를 위한 캐시 동기화 방법 및 시스템

Country Status (2)

Country Link
US (1) US8214581B2 (ko)
KR (1) KR101570179B1 (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011154547A (ja) * 2010-01-27 2011-08-11 Toshiba Corp メモリ管理装置及びメモリ管理方法
US9009101B2 (en) * 2010-07-01 2015-04-14 Sybase, Inc. Reducing contention of transaction logging in a database management system
US10096350B2 (en) * 2012-03-07 2018-10-09 Medtronic, Inc. Memory array with flash and random access memory and method therefor, reading data from the flash memory without storing the data in the random access memory
US9141296B2 (en) 2012-05-31 2015-09-22 Sandisk Technologies Inc. Method and host device for packing and dispatching read and write commands
WO2014120660A1 (en) 2013-01-29 2014-08-07 Marvell World Trade Ltd. Methods and apparatus for storing data to a solid state storage device based on data classification
KR20140104617A (ko) * 2013-02-20 2014-08-29 삼성전자주식회사 서든 파워 오프 가능성 정보를 사용하는 모바일 장치 및 그것의 동작 방법
CN107168891B (zh) * 2014-07-23 2020-08-14 华为技术有限公司 一种i/o特征识别方法以及装置
KR102517129B1 (ko) * 2015-11-19 2023-04-04 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작방법
US10521118B2 (en) * 2016-07-13 2019-12-31 Sandisk Technologies Llc Methods, systems, and computer readable media for write classification and aggregation using host memory buffer (HMB)
CN106569959A (zh) * 2016-10-28 2017-04-19 郑州云海信息技术有限公司 一种基于ssd的缓存替换方法及系统
KR102340094B1 (ko) * 2017-03-31 2021-12-17 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작 방법
KR20210076497A (ko) 2019-12-16 2021-06-24 에스케이하이닉스 주식회사 스토리지 장치 및 그 동작 방법
US11734175B2 (en) * 2019-08-22 2023-08-22 SK Hynix Inc. Storage device and method of operating the same
US11762769B2 (en) 2019-09-20 2023-09-19 SK Hynix Inc. Memory controller based on flush operation and method of operating the same

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100806343B1 (ko) 2006-10-19 2008-02-27 삼성전자주식회사 플래시 메모리를 포함한 메모리 시스템 및 그것의 맵핑테이블 관리 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3594265B2 (ja) 1995-10-16 2004-11-24 オリンパス株式会社 ディスクキャッシュ装置
JPH10254780A (ja) 1997-03-07 1998-09-25 Hokkaido Nippon Denki Software Kk ディスクキャッシュ制御方式
JP3585091B2 (ja) 1998-06-15 2004-11-04 富士通株式会社 記憶装置
JP2000268507A (ja) * 1999-03-19 2000-09-29 Hitachi Ltd データ記録装置
US7464246B2 (en) * 2004-09-30 2008-12-09 International Business Machines Corporation System and method for dynamic sizing of cache sequential list

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100806343B1 (ko) 2006-10-19 2008-02-27 삼성전자주식회사 플래시 메모리를 포함한 메모리 시스템 및 그것의 맵핑테이블 관리 방법

Also Published As

Publication number Publication date
US8214581B2 (en) 2012-07-03
KR20100065786A (ko) 2010-06-17
US20100146193A1 (en) 2010-06-10

Similar Documents

Publication Publication Date Title
KR101570179B1 (ko) 빠른 파워-오프를 위한 캐시 동기화 방법 및 시스템
KR101702201B1 (ko) 솔리드 스테이트 드라이브(ssd)에 대한 최적화된 컨텍스트 드롭
US8706989B2 (en) Data storage device with power-off recovery system and method thereof
US8694984B2 (en) Memory apparatus and method of updating firmware of the memory apparatus
US7610445B1 (en) System and method for improving data integrity and memory performance using non-volatile media
US8595451B2 (en) Managing a storage cache utilizing externally assigned cache priority tags
US10275310B2 (en) Updating exclusive-or parity data
US8650379B2 (en) Data processing method for nonvolatile memory system
CN103049349B (zh) 基于分层存储的快照方法及系统
US20100293337A1 (en) Systems and methods of tiered caching
US20170060768A1 (en) Supporting invalidation commands for non-volatile memory
US20090157756A1 (en) File System For Storing Files In Multiple Different Data Storage Media
JP2009048613A (ja) ソリッドステートメモリ、それを含むコンピュータシステム及びその動作方法
US20160170879A1 (en) Systems and methods for managing cache of a data storage device
US20120290781A1 (en) Nonvolatile memory device with increased endurance and method of operating the same
CN112799595B (zh) 数据处理方法、设备及存储介质
JP4347707B2 (ja) 情報記録媒体のフォーマット方法および情報記録媒体
CN111797058A (zh) 一种通用文件系统及文件管理的方法
JP4130808B2 (ja) フォーマット方法
CN102160038A (zh) 管理非易失性磁盘高速缓存的方法和设备
Suthar et al. An Approach to Data Recovery from Solid State Drive: Cyber Forensics
CN113254265B (zh) 基于固态硬盘的快照实现方法、存储系统
CN112083883B (zh) 存储系统以及用于存储系统中的方法
JP2008269520A (ja) 記録装置及び記録方法
KR20110041843A (ko) 하이브리드 저장장치 및 그 동작방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20181031

Year of fee payment: 4