KR20100065786A - 빠른 파워-오프를 위한 캐시 동기화 방법 및 시스템 - Google Patents
빠른 파워-오프를 위한 캐시 동기화 방법 및 시스템 Download PDFInfo
- Publication number
- KR20100065786A KR20100065786A KR1020080124302A KR20080124302A KR20100065786A KR 20100065786 A KR20100065786 A KR 20100065786A KR 1020080124302 A KR1020080124302 A KR 1020080124302A KR 20080124302 A KR20080124302 A KR 20080124302A KR 20100065786 A KR20100065786 A KR 20100065786A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- storage medium
- area
- stored
- buffer cache
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0804—Addressing 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing 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/0868—Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/21—Employing a record carrier using a specific recording technology
- G06F2212/214—Solid state disk
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/005—Digital 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명은 빠른 파워-오프를 위한 캐시 동기화 방법 및 시스템에 대하여 개시된다. 캐시 동기화 방법은, 호스트로부터 이벤트 신호를 수신하는 단계, 이벤트 신호에 응답하여 버퍼 캐시의 데이터들을 저장 매체에 저장시키되, 버퍼 캐시의 데이터들을 랜덤 데이터들과 시퀀셜 데이터들로 구분하고, 버퍼 캐시에 저장된 랜덤 데이터들의 물리적인 어드레스와 저장 매체에 저장되는 물리적 어드레스 사이의 관계를 나타내는 주소 정보 맵을 제공하는 단계, 그리고 랜덤 데이터들은 주소 정보 맵과 함께 저장 매체 내 제1 영역에 저장하고, 시퀀셜 데이터는 저장 매체 내 제2 영역에 저장하는 단계를 포함한다.
캐시 동기화 방법, 버퍼 캐시, 파워-오프, 랜덤 데이터, 저장 매체
Description
본 발명은 플래쉬 메모리 시스템에 관한 것으로, 특히, 빠른 파워-오프를 위한 플래쉬 메모리 장치 기반의 저장 매체로의 캐시 동기화 방법 및 이를 구현하는 시스템에 관한 것이다.
플래쉬 메모리 장치는 고집적의 불휘발성 메모리 장치이다. 플래쉬 메모리 장치는 데이터 보존성이 우수하기 때문에, 메모리 시스템에서 메인 메모리로 사용된다. 플래쉬 메모리 장치는 기존의 하드 디스크 또는 플라피 디스크를 대체할 만한 고집적 대용량 소자로서 주목받고 있다. 현재 플래쉬 메모리 장치는 휴대폰, 디지털 카메라, 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 영역과 제2 영역을 구분되고, 상기 랜덤 데이터들은 주소 정보 맵과 함께 상기 제1 영역에 저장하고, 상기 시퀀셜 데이터는 상기 제2 영역에 저장하는 저장 매체를 구비하는 것을 특징으로 하는 시스템.
- 제1항에 있어서, 상기 주소 정보 맵은상기 버퍼 캐시에 저장된 상기 랜덤 데이터들의 물리적인 어드레스와 상기 저장 매체의 상기 제1 영역에 저장되는 물리적 어드레스 사이의 관계를 나타내는 정보인 것을 특징으로 하는 시스템.
- 제1항에 있어서, 상기 이벤트 신호는상기 시스템의 전원 오프를 지시하는 파워-오프 신호인 것을 특징으로 하는 시스템.
- 제1항에 있어서, 상기 시스템은상기 이벤트 신호가 상기 시스템의 전원 온을 지시하는 파워-온 신호인 경 우, 상기 저장 매체의 상기 제1 영역에 저장된 상기 랜덤 데이터를 상기 주소 정보 맵을 기반으로 상기 버퍼 캐시에 재저장하는 것을 특징으로 하는 시스템.
- 제1항에 있어서, 상기 저장 매체는상기 제1 영역과 상기 제2 영역이 독립된 플래쉬 메모리 장치들인 것을 특징으로 하는 시스템.
- 로그 정보를 저장시키는 저너링 기능을 제공하고, 호스트로부터 수신되는 이벤트 신호에 응답하여 버퍼 캐시의 데이터들을 저장 매체에 저장시키되, 상기 버퍼 캐시 데이터들을 랜덤 데이터들과 시퀀셜 데이터들로 구분하여 저장시키고, 상기 버퍼 캐시에 저장된 상기 랜덤 데이터들의 물리적인 어드레스와 상기 저장 매체에 저장되는 물리적 어드레스 사이의 관계를 나타내는 주소 정보 맵을 제공하는 데이터 관리부; 및상기 로그 정보를 저장하는 저너링 영역을 포함하고, 상기 랜덤 데이터들은 상기 주소 정보 맵과 함께 상기 저너링 영역에 저장하고, 상기 시퀀셜 데이터는 상기 저너링 영역 이외에 저장하는 저장 매체를 구비하는 것을 특징으로 하는 시스템.
- 저장 매체 내 미사용 영역을 관리하는 기능을 제공하고, 호스트로부터 수신되는 이벤트에 응답하여 버퍼 캐시의 데이터들을 저장 매체에 저장시키되, 상기 버 퍼 캐시 데이터들을 랜덤 데이터들과 시퀀셜 데이터들로 구분하여 저장시키고, 상기 버퍼 캐시에 저장된 상기 랜덤 데이터들의 물리적인 어드레스와 상기 저장 매체에 저장되는 물리적 어드레스 사이의 관계를 나타내는 주소 정보 맵을 제공하는 데이터 관리부; 및상기 미사용 영역과 사용된 영역으로 구분되고, 상기 랜덤 데이터들은 상기 미사용 영역에 상기 주소 정보 맵과 함께 저장하고, 시퀀셜 데이터는 상기 사용된 영역에 저장하는 저장 매체를 구비하는 것을 특징으로 하는 시스템.
- 호스트로부터 이벤트 신호를 수신하는 단계;상기 이벤트 신호에 응답하여 버퍼 캐시의 데이터들을 저장 매체에 저장시키되, 상기 버퍼 캐시의 데이터들을 랜덤 데이터들과 시퀀셜 데이터들로 구분하고, 상기 버퍼 캐시에 저장된 상기 랜덤 데이터들의 물리적인 어드레스와 상기 저장 매체에 저장되는 물리적 어드레스 사이의 관계를 나타내는 주소 정보 맵을 제공하는 단계; 및상기 랜덤 데이터들은 주소 정보 맵과 함께 상기 저장 매체 내 제1 영역에 저장하고, 상기 시퀀셜 데이터는 상기 저장 매체 내 제2 영역에 저장하는 단계를 구비하는 것을 특징으로 하는 캐시 동기화 방법.
- 제8항에 있어서, 상기 제1 영역은상기 저장 매체 내 로그 정보를 저장하는 저너링 영역인 것을 특징으로 하는 캐시 동기화 방법.
- 제8항에 있어서, 상기 제1 영역은상기 저장 매체 내 미사용 영역인 것을 특징으로 하는 캐시 동기화 방법.
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 true KR20100065786A (ko) | 2010-06-17 |
KR101570179B1 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 (15)
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 |
CN104956313B (zh) * | 2013-01-29 | 2018-02-09 | 马维尔国际贸易有限公司 | 用于基于数据分类将数据存储至固态存储设备的方法和装置 |
KR20140104617A (ko) * | 2013-02-20 | 2014-08-29 | 삼성전자주식회사 | 서든 파워 오프 가능성 정보를 사용하는 모바일 장치 및 그것의 동작 방법 |
CN104156321B (zh) * | 2014-07-23 | 2017-06-09 | 华为技术有限公司 | 一种数据预取的方法以及装置 |
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 |
US11989447B1 (en) | 2022-11-22 | 2024-05-21 | Dell Products L.P. | Data storage system with non-disruptive upgrade using co-existing ring-based and pool-based write logs |
Family Cites Families (6)
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 |
KR100806343B1 (ko) | 2006-10-19 | 2008-02-27 | 삼성전자주식회사 | 플래시 메모리를 포함한 메모리 시스템 및 그것의 맵핑테이블 관리 방법 |
-
2008
- 2008-12-08 KR KR1020080124302A patent/KR101570179B1/ko active IP Right Grant
-
2009
- 2009-12-03 US US12/629,989 patent/US8214581B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US8214581B2 (en) | 2012-07-03 |
KR101570179B1 (ko) | 2015-11-18 |
US20100146193A1 (en) | 2010-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8214581B2 (en) | System and method for cache synchronization | |
KR101702201B1 (ko) | 솔리드 스테이트 드라이브(ssd)에 대한 최적화된 컨텍스트 드롭 | |
US8595451B2 (en) | Managing a storage cache utilizing externally assigned cache priority tags | |
US9842059B2 (en) | Wear leveling in storage devices | |
CN105718530B (zh) | 文件存储系统及其文件存储控制方法 | |
US10061704B2 (en) | Systems and methods for managing cache of a data storage device | |
JP2013242908A (ja) | ソリッドステートメモリ、それを含むコンピュータシステム及びその動作方法 | |
EP0978040B1 (en) | Memory device | |
CN108628542B (zh) | 一种文件合并方法及控制器 | |
CN110674056B (zh) | 一种垃圾回收方法及装置 | |
US20050144396A1 (en) | Coalescing disk write back requests | |
CN112799595B (zh) | 数据处理方法、设备及存储介质 | |
JP4347707B2 (ja) | 情報記録媒体のフォーマット方法および情報記録媒体 | |
US11061598B2 (en) | Optimized handling of multiple copies in storage management | |
KR101070511B1 (ko) | Ssd 컨트롤러 및 ssd 컨트롤러의 동작 방법 | |
KR102589609B1 (ko) | 분할된 저장장치에서의 스냅샷 관리 | |
CN102160038A (zh) | 管理非易失性磁盘高速缓存的方法和设备 | |
CN113254265B (zh) | 基于固态硬盘的快照实现方法、存储系统 | |
CN105608014B (zh) | 一种使用mram的存储设备 | |
CN108089820A (zh) | 一种混合使用mram和dram的存储装置 | |
CN112328181A (zh) | 一种分布式存储系统的元数据读写方法和装置 | |
CN112083883A (zh) | 存储系统以及用于存储系统中的方法 | |
CN107643987B (zh) | 减少固态硬盘中dram使用的方法及使用其的固态硬盘 | |
CN111324287A (zh) | 一种存储器 | |
US11989431B2 (en) | Write updates sorting during BKOPS idle |
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 |