KR20110041843A - 하이브리드 저장장치 및 그 동작방법 - Google Patents

하이브리드 저장장치 및 그 동작방법 Download PDF

Info

Publication number
KR20110041843A
KR20110041843A KR1020090098856A KR20090098856A KR20110041843A KR 20110041843 A KR20110041843 A KR 20110041843A KR 1020090098856 A KR1020090098856 A KR 1020090098856A KR 20090098856 A KR20090098856 A KR 20090098856A KR 20110041843 A KR20110041843 A KR 20110041843A
Authority
KR
South Korea
Prior art keywords
flash memory
data
reference value
optical disk
recorded
Prior art date
Application number
KR1020090098856A
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 KR1020090098856A priority Critical patent/KR20110041843A/ko
Priority to PCT/KR2010/005291 priority patent/WO2011019216A2/en
Publication of KR20110041843A publication Critical patent/KR20110041843A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures

Abstract

본 발명은 광 디스크 및 플래시 메모리에 데이터를 기록하고 기록된 데이터를 읽을 수 있는 하이브리드 저장장치 및 그 동작방법에 관한 것이다. 본 발명의 일실시예는 플래시 메모리에 기록된 데이터 중 접근빈도가 기준값 이하이거나 백업이 필요한 데이터를 광 디스크에 복사한다. 또한 호스트에서 데이터 읽기를 요청한 경우 읽기 요청한 데이터 접근빈도에 따라 광 디스크 또는 플래시 메모리에 기록된 데이터를 읽는다. 따라서, 플래시 메모리의 빈공간을 효율적으로 관리할 수 있으며 저장장치에 기록된 데이터 접근속도를 높일 수 있다.
플래시 메모리, 플래시 메모리 컨트롤러, 광 디스크, 광 디스크 컨트롤러

Description

하이브리드 저장장치 및 그 동작방법 {Hybrid Storage Device and Operating Method for the Same}
본 발명은 광 디스크 및 플래시 메모리를 구비하고 있는 하이브리드 저장장치 및 그 동작방법에 관한 것이다. 본 발명에서는 플래시 메모리에 기록된 데이터의 접근빈도가 기준값 이하이거나 백업이 필요한 데이터를 광 디스크에 복사한다. 따라서 플래시 메모리의 잔여공간을 효율적으로 관리할 수 있으며, 데이터를 안정적으로 관리할 수 있는 하이브리드 저장장치 및 그 동작방법을 제공한다.
광 디스크 장치는 널리 보급된 저장장치로서, 운영체제와 응용 프로그램 설치에 사용되거나 영상 매체 보급의 수단으로 사용될 수 있다. 또한 광 디스크 장치는 개인 컴퓨터의 보조 저장장치로 널리 보급되어 있다.
플래시 메모리를 활용한 저장장치의 보급도 널리 증가하고 있다. 플래시 메모리는 크기가 작고 사용이 편리하다. 또한 하드 디스크와 같이 비휘발성을 가지면서도 빠른 접근속도를 가지고, 전력을 적게 소비하기 때문에 내장형 시스템이나 이동장치 등에서 많이 사용되고 있다.
도 1에 도시된 바와 같이 호스트(10)는 광 디스크 장치(11)와 플래시 메모리 장치(12)에 각각 데이터를 기록하거나 각 장치(11, 12)에 기록된 데이터를 읽을 수 있다.
그러나, 플래시 메모리를 활용한 저장장치는 플래시 메모리 가격으로 인하여 고가이다. 따라서 고용량의 저장장치를 플래시 메모리만 사용하여 구성하기 어려운 문제점이 있다. 또한 플래시 메모리는 그 하드웨어 특성을 고려할 때, 이미 쓰여진 메모리 섹터에 기록연산을 수행하기 위하여 그 섹터가 포함된 블록 전체를 지우는 연산을 먼저 수행하여야 한다. 따라서 주기적으로 데이터를 관리해줘야 하는 문제점이 있다.
본 발명은 광 디스크와 플래시 메모리를 모두 구비하고 있는 하이브리드 저장장치에 관한 것이다. 본 발명은 데이터의 접근빈도 등을 고려하여 데이터를 플래시 메모리 또는 광 디스크 중 하나에 기록하여 저장한다. 또한 플래시 메모리로 공급되는 전력을 관리하여 저장 장치 구동에 소모되는 전력을 감소한다. 본 발명의 일실시예에 의하면, 사용자는 하이브리드 저장장치를 임의의 광 디스크 장치 또는 플래시 메모리 장치처럼 사용할 수 있다.
상기한 과제를 해결하기 위한 본 발명에 의한 하이브리드 저장장치는 광 디스크; 상기 광 디스크에 데이터를 기록하거나 상기 광 디스크에 기록된 데이터를 읽는 광 디스크 컨트롤러; 플래시 메모리; 및 상기 플래시 메모리에 데이터를 기록 하거나 상기 플래시 메모리에 기록된 데이터를 읽는 플래시 메모리 컨트롤러를 포함하여 구성되며; 상기 플래시 메모리 컨트롤러는 상기 플래시 메모리에 기록된 데이터 중 접근빈도가 기준값 이하이거나 백업이 필요한 데이터가 상기 광 디스크에 기록되도록 상기 광 디스크 컨트롤러를 제어하는 것을 특징으로 한다.
또한, 상기한 과제를 해결하기 위한 본 발명에 의한 하이브리드 저장장치 동작방법은 플래시 메모리에 데이터를 기록하는 단계; 상기 플래시 메모리에 기록된 데이터 중 접근빈도가 기준값 이하이거나 백업이 필요한 데이터를 선택하는 단계; 및 상기 선택한 데이터를 광 디스크에 기록하는 단계를 포함하는 것을 특징으로 한다.
본 발명에 의한 하이브리드 저장장치는 플래시 메모리에 기록된 데이터 중 접근빈도가 기준치 이하이거나 백업이 필요한 데이터를 광 디스크에 기록한다. 본 발명에 의하면 접근빈도가 높은 데이터는 플래시 메모리에 기록되므로 하이브리드 저장장치는 호스트의 데이터 요청에 빠른 속도로 응답할 수 있다. 또한 데이터를 광 디스크에 백업함으로서 플래시 메모리 구동에 필수적인 사상 맵 관련 데이터를 안전하게 저장할 수 있다. 이외에도 저장장치 구동에 소모되는 전력을 감소할 수 있으며 저장장치 제조에 소요되는 비용을 줄일 수 있다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 결쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
도 2는 실제 플래시 메모리의 구조를 도시한다. 도시된 바와 같이, 하나의 플래시 메모리는 8192개의 블록으로 구성될 수 있다. 블록은 32개의 페이지로 구성되며, 한 페이지는 512B의 주영역과, 16B의 보조영역으로 구분될 수 있다. 주영역에는 보통 유저 데이터가 기록되며 섹터들의 집합으로 볼 수 있다. 보조영역에는 주영역에 기록된 데이터의 유효여부나, ECC, LBA(Logical Block Address) 또는 LSN(Logical Sector Number), 소거횟수 등에 관한 정보가 기록된다.
도 2는 플래시 메모리의 기록/읽기 단위와 외부 호스트에서 요청한 기록/읽기 단위가 일치하는 소블록 플래시 메모리를 도시하고 있다. 그러나, 본 발명은 플래시 메모리의 기록/읽기 단위가 외부 호스트에서 요청한 기록/읽기 단위보다 큰 대블록 플래시 메모리의 경우에도 적용될 수 있다. 대블록 플래시 메모리의 경우 주영역은 4개의 섹터로 이루어진다. 대블록 플래시 메모리에 데이터는 섹터 단위 혹은 페이지 단위로 기록된다.
도 3은 본 발명에 의한 하이브리드 저장장치의 구조가 도시된 블록도이다. 도시된 바와 같이, 본 발명에 의한 하이브리드 저장장치(100)는 호스트(10)의 요청 에 대응하여 광 디스크(120)에 데이터를 기록하거나 광 디스크(120)에 기록된 데이터를 읽을 수 있는 광 디스크 컨트롤러(110)로 구성된다. 또한 플래시 메모리로 이루어진 플래시 메모리 어레이(160) 및 플래시 메모리에 데이터를 기록하거나 플래시 메모리에 기록된 데이터를 읽을 수 있는 플래시 메모리 컨트롤러(150)로 구성된다. 플래시 메모리 컨트롤러(150)는 플래시 메모리 인터페이스를 제어한다.
광 디스크 컨트롤러(110)는 호스트(10)와 데이터를 송수신할 수 있는 호스트 인터페이스(111), 광 디스크(120) 또는 플래시 메모리에 기록될 데이터가 임시 저장되거나 광 디스크(120) 또는 플래시 메모리에서 읽은 데이터가 임시 저장되는 버퍼(112), 광 디스크(120)로 데이터를 기록하거나 광 디스크(120)에 기록된 데이터를 읽을 수 있도록 광 디스크(120)가 삽입 또는 제거될 수 있는 광 디스크 말단부를 제어하는 광 디스크 DSP(Digital Signal Processor; 113)로 구성된다.
대용량의 저장장치에 저장되는 데이터는 호스트의 접근빈도에 따라 빈번히 접근되는 Hot 데이터, 가끔 접근되는 Cold 데이터, 및 거의 접근되지 않은 Seldom Access 데이터로 구별될 수 있다. 호스트의 요청에 대응하여 Hot 데이터는 고속으로 응답/전송해야 한다. 반면 Seldom Access 데이터는 거의 접근되지 않는 데이터이며 플래시 메모리의 용량만 차지하고 있는 경우가 많다. Seldom Access 데이터의 경우 응답/전송 속도를 늦추어도 사용자에게 불편함을 주지 않는다.
따라서, 본 발명의 플래시 메모리 컨트롤러(150)는 플래시 메모리에 기록된 데이터 중 접근빈도가 기준값 이하인 데이터는 Cold 또는 Seldom Access 데이터로 분류하고 광 디스크(120)에 기록되도록 광 디스크 컨트롤러(110)를 제어한다. 광 디스크 컨트롤러(110)는 플래시 메모리 컨트롤러(150)의 요청에 대응하여 플래시 메모리에 기록된 Cold 또는 Seldom Access 데이터를 광 디스크(120)에 기록한다. 호스트(10)가 Cold 또는 Seldom Access 데이터를 읽기 요청할 경우, 광 디스크 컨트롤러(110)는 광 디스크(120)에 기록된 Cold 또는 Seldom Access 데이터를 읽어 호스트(10)로 전송한다.
플래시 메모리는 페이지 단위로 읽기 및 쓰기 동작이 수행되고, 블록 단위로 지우기 동작이 수행된다. 또한 유효하지 않은 데이터(Obsolete Data)를 포함하는 페이지를 재사용(Reclamation)하기 위하여 쓰레기 수집동작(Garbage Collection)을 반드시 수행하여야 한다. 본 발명의 일실시예는 쓰레기 수집동작의 효용성을 높이기 위하여 Hot, Cold, Seldom 데이터를 분리하여 서로 다른 플래시 메모리 블록에 기록되도록 할 수 있다. 또한, 본 발명의 일실시예에 의한 하이브리드 저장장치는 쓰레기 수집동작을 수행할 때 플래시 메모리에 저장된 데이터 중 Seldom 데이터를 광 디스크에 저장하고 Hot 또는 Cold 데이터만 플래시 메모리에 저장한다. 따라서 호스트의 데이터 접근 성능을 고속으로 유지하면서도 플래시 메모리를 구비한 대용량의 저장장치를 저렴한 가격으로 구성할 수 있다.
본 실시예에서 플래시 컨트롤러(150)는 호스트(10)의 요청에 대응하여 데이터를 플래시 메모리에 기록한다. 광 디스크(120)는 사용자가 하이브리드 저장장치(100)에 삽입 또는 제거할 수 있다. 광 디스크 컨트롤러(100)는 서보 장치와 광 픽업을 사용하여 광 디스크(120)를 회전하며 플래시 컨트롤러(150)의 요청에 따라 플래시 메모리에 기록된 데이터를 기록한다. 광 디스크(120)에 기록된 Seldom Access 데이터를 호스트(10)가 읽기 요청할 경우 광 디스크 컨트롤러(110)는 광 디스크(120)에 기록된 데이터를 읽어 호스트(10)로 전송한다. 또한 광 디스크 컨트롤러(110)는 광 디스크(120)에 기록된 데이터를 호스트(10)로 전송한 후 플래시 컨트롤러(150)를 통해 호스트(10)로 전송된 데이터가 플래시 메모리에 기록되도록 할 수 있다.
도 4는 본 발명의 일실시예에 따라 플래시 메모리 쓰레기 수집동작을 수행하는 방법이 도시된 순서도이다.
플래시 메모리 컨트롤러(150)는 플래시 메모리의 기록 가능 잔여 공간이 기준값 이하인지 여부를 판별한다(S10). 이는 플래시 메모리의 기록 가능 잔여 공간이 기준값 이하인 경우, 유효 페이지 수가 적은 플래시 메모리 블록의 데이터를 새로운 플래시 메모리 블록 또는 광 디스크로 복사하고, 복사된 데이터가 기록된 플래시 메모리 블록을 지워서 새로운 기록 가능 공간을 확보하기 위함이다.
플래시 메모리 기능 가능 잔여 공간이 기준값 이하인 것으로 판별하면, 플래시 메모리 컨트롤러(150)는 플래시 메모리를 구성하는 블록 중 지울 플래시 메모리 블록(Victim Block)을 선택한다(S15). 지울 플래시 메모리 블록은 여러 방법을 통하여 선택할 수 있다. 플래시 메모리 블록은 유효한 페이지(유효한 데이터를 저장하고 있는 페이지, Valid Page)와 불필요 페이지(불필요한 데이터를 저장하고 있는 페이지, Obsolete Page)를 포함한다.
플래시 메모리 컨트롤러(150)는 플래시 메모리 블록의 유효한 페이지에 기록되어 저장된 데이터가 Hot 데이터인지, Cold 데이터인지, Seldom Access 데이터인 지 여부를 판별한다(S20). 본 실시예에서 Hot, Cold, Seldom Access 데이터는 호스트(10)의 데이터 접근빈도에 따라 구분된다. 플래시 메모리 컨트롤러(150)는 호스트(10)의 데이터 읽기 요청 시 논리 주소별로 요청된 총 횟수 또는 소정 시간 내 요청된 횟수 등에 관한 정보로부터 데이터 접근빈도를 알 수 있다.
플래시 메모리 컨트롤러(150)는 접근빈도가 기준값 이하인 Seldom Access 데이터가 광 디스크(120)로 복사되도록 광 디스크 컨트롤러(110)를 제어한다(S25). 또한, 플래시 메모리 컨트롤러(150)는 접근빈도가 기준값 이상인 Hot 또는 Cold 데이터는 플래시 메모리 중 기록이 가능한 플래시 메모리 블록으로 복사한다(S30).
플래시 메모리 컨트롤러(150)는 선택한 지우기 블록(Victim Block)에 저장된 데이터가 모두 복사된 후, 복사된 데이터가 기록된 지우기 블록(Viction Block)를 지운다(S35). 따라서 플래시 메모리 컨트롤러(150)는 추후 지우기 블록(Victim Block)에 새로운 데이터를 기록할 수 있다.
도 5는 본 발명의 일실시예에 따라 하이브리드 저장장치에 기록된 데이터를 읽는 동작방법의 흐름이 도시된 순서도이다. 본 실시예에서 하이브리드 저장장치의 플래시 메모리에는 Hot 또는 Cold 데이터가 기록되어 있으며 광 디스크(120)에는 Seldom Access 데이터가 기록되어 있다.
플래시 메모리 컨트롤러(150)는 호스트(10)가 읽기 요청한 데이터의 유형을 판별한다(S50). 플래시 메모리 컨트롤러(150)는 호스트(10)가 읽기 요청한 데이터의 논리 주소에 설정된 정보에 데이터의 유형을 Seldom Access, Cold, Hot 중 하나의 데이터 유형이라고 판별할 수 있다.
플래시 메모리 컨트롤러(150)는 호스트(10)가 읽기 요청한 데이터의 유형이 Cold 또는 Hot 데이터라고 판별한 경우 논리 주소에 대응하는 물리 주소를 가진 플래시 메모리 블록에서 해당 데이터를 읽고(S55), 읽은 데이터를 호스트(10)로 전송한다(S60).
플래시 메모리 컨트롤러(150)에서 호스트(10)가 읽기 요청한 데이터의 유형이 Seldom Access 데이터라고 판별한 경우, 플래시 메모리 컨트롤러(150)는 광 디스크 DSP(113)를 통하여 해당 데이터를 읽도록 한다. 광 디스크 DSP(113)는 호스트(10)가 읽기 요청한 Seldom Access 데이터를 광 디스크(120)에서 읽어(S65), 호스트(10)로 전송한다(S70).
또한, 호스트(10)가 광 디스크(120)에 기록된 Seldom Access 데이터를 소정 횟수 이상 읽기 요청하거나 소정 시간에 읽기 요청한 경우, 광 디스크 DSP(113)은 Seldom Access 데이터가 플래시 메모리로 복사되도록 플래시 메모리 컨트롤러(150)를 제어한다. 플래시 메모리 컨트롤러(150)는 광 디스크에 저장된 Seldom Access 데이터를 플래시 메모리에 복사하여 기록하고(S75), Seldom Access 데이터의 유형을 Cold 또는 Hot 데이터 유형으로 변경한다(S80).
도 6 및 도 7은 본 발명의 일실시예에 따라 플래시 메모리에 기록된 백업이 필요한 데이터를 광 디스크에 기록하는 시스템의 구조도 및 동작방법의 흐름이 도시된 순서도이다.
플래시 메모리 컨트롤러(150)는 논리 주소에 대응하는 물리 주소에 관한 정보인 사상 맵 데이터를 관리한다. 사상 맵 데이터는 플래시 메모리에 기록될 수 있다. 본 실시예는 사상 맵 데이터를 광 디스크에 기록한다. 따라서 플래시 메모리에 기록된 데이터가 손상된 경우, 플래시 메모리 컨트롤러(150)는 광 디스크에 기록된 데이터를 이용하여 손상된 사상 맵 데이터를 복구할 수 있다.
도 6에 도시된 바와 같이, 하이브리드 저장장치(100)는 플래시 메모리를 읽을 때 사용하는 사상 맵 데이터가 로딩되는 SDRAM(130)을 별도로 구비할 수 있다. SDRAM(130)는 사상 맵 데이터 외에 버퍼(112)의 역할을 수행할 수 있다. 또한, SDRAM(130)을 별도로 구비하지 않는 하이브리드 저장장치(100)의 경우 버퍼(112)가 SDRAM(130)의 역할을 수행할 수 있다.
플래시 메모리 컨트롤러(150)는 호스트(10)로부터 Flush Cache란 명령이 내려오면 SDRAM(130)의 데이터를 플래시 메모리에 기록한다. 이때 플래시 메모리 컨트롤러(150)는 SDRAM(130)의 데이터가 광 디스크(120)에도 기록될 수 있도록 광 디스크 컨트롤러(113)를 제어한다.
Power-fail 등의 이유로 플래시 메모리에 기록된 데이터가 손상된 경우, 특히 사상 맵 데이터인 경우, Power-on 시 하이브리드 저장장치(100)는 제대로 동작하지 못하게 된다. 이 경우, 하이브리드 저장장치(100)는 자동으로 또는 사용자의 명령에 대응하여 광 디스크(120)에 저장된 백업 데이터를 이용하여 플래시 메모리의 손상된 사상 맵 데이터를 복구한다.
하이브리드 저장장치(100)의 플래시 메모리 컨트롤러(150)는 호스트(10)의 데이터 읽기 요청에 대응하여 플래시 메모리에 저장된 데이터가 읽히지 않거나, 읽힌 데이터의 포맷에 요청한 데이터 포맷과 상이하거나, 에러 코드가 상이한 경우 등 플래시 메모리에 기록된 데이터가 손상된 것으로 판별할 수 있다. 따라서 이 경우, 플래시 메모리 컨트롤러(150)는 자동으로 광 디스크(120)에 저장된 데이터에 따라 손상된 데이터를 복구할 수 있다.
도 7은 사용자가 하이브리드 저장장치(100)의 플래시 메모리에 기록된 데이터의 손상을 감지하고 데이터를 복구하는 방법의 흐름이 도시된 순서도이다.
도시된 바와 같이, 사용자는 하이브리드 저장장치(100)의 동작을 모니터링한 후 정상적으로 동작하는지 여부를 판별할 수 있다(S100). 만일 사용자가 정상적으로 동작하는 중이라고 판별한 경우, 하이브리드 저장장치(100)는 정상적인 프로세스에 따른 동작을 수행한다(S105).
한편, 사용자가 정상적으로 동작하지 않는다고 판별한 경우, 사용자는 하이브리드 저장장치(100)로 광 디스크(120)를 삽입한다(S110). 광 디스크(120)에는 사상 맵 데이터를 포함하여 플래시 메모리에 기록된 데이터 중 백업이 필요한 데이터가 기록되어 있다.
광 디스크 컨트롤러(110)는 광 디스크(120)에 기록된 데이터 중 사상 맵 데이터를 탐색하고(S115), 탐색한 사상 맵 데이터를 SDRAM(130)에 로딩한다(S120). 플래시 메모리 컨트롤러(150)는 SDRAM(130)에 로딩된 사상 맵 데이터를 플래시 메모리에 기록하고 손상된 데이터를 복구한다(S125). 데이터가 복구된 하이브리드 저장장치(130)는 초기화 과정을 거친 후(S130), 정상 프로세스를 수행한다(S105).
도 8 및 도 9는 본 발명의 일실시예에 의한 쓰레기 수집동작의 설명에 참조되는 순서도이다. 본 실시예에서 하이브리드 저장장치(100)는 플래시 메모리 블록 에 데이터를 기록할 때 블록별로 순차번호를 부여할 수 있다. 순차번호는 새로운 블록에 데이터를 기록할 때 1씩 증가한다. 따라서 가장 최근에 데이터가 기록된 블록의 순차번호는 가장 크다. 본 실시예에서 하이브리드 저장장치(100)는 쓰레기 수집동작을 수행할 때 유효 페이지수가 기준값 이하이고 블록의 순차번호가 기준값 이하인 블록을 선택한다. 이는 유효 페이지수가 적을수록 복사해야할 데이터의 양이 적고, 블록의 순차번호가 적을수록 호스트(10)의 접근빈도가 낮아 데이터 복사 시 인터럽트가 발생할 확률이 낮기 때문이다.
도 8은 호스트(10) 쓰기 요청에 대응하여 플래시 메모리 컨트롤러(150)가 플래시 메모리에 데이터를 기록하는 방법의 흐름이 도시된 도이다.
플래시 메모리 컨트롤러(150)는 호스트(10)의 데이터 쓰기 요청에 대응하여 현재 플래시 메모리 블록에 빈 페이지가 있는지 여부를 판별한다(S150). 빈 페이지가 없는 경우 플래시 메모리 컨트롤러(150)는 새로운 빈 블록을 선택한다(S155). 또한 플래시 메모리 컨트롤러(150)는 현재 순차 번호의 값을 '1' 증가한다(S160).
만일 현재 플래시 메모리 블록에 빈 페이지가 있는 경우, 데이터를 기록할 장소로 현재 플래시 메모리 블록이 선택되며, 현재 순차 번호의 값도 종전과 동일하게 유지된다.
플래시 메모리 컨트롤러(150)는 선택 플래시 메모리 블록에 호스트(10)의 쓰기 요청에 대응하는 데이터를 기록한다(S165). 데이터를 기록한 플래시 메모리 컨트롤러(150)는 데이터가 기록된 플래시 메모리의 블록 관리 정보를 갱신한다(S170). 즉 플래시 메모리 컨트롤러(150)는 S165 단계에서 데이터가 기록된 블 록으로 현재 순차 번호를 부여하고, 유효 페이지 수를 증가한다(S170).
그 후, 플래시 메모리 컨트롤러(150)는 호스트(10)가 쓰기 요청한 논리 주소에 대응하는 기존 물리 주소를 검색한다(S175). 플래시 메모리 컨트롤러(150)는 검색한 기존 물리 주소를 가진 블록의 블록 관리 정보를 갱신한다(S180). 즉, 플래시 메모리 컨트롤러(150)는 S175 단계에서 검색한 물리 주소를 가진 블록으로 현재 순차 번호를 부여하고, 유효 페이지 수를 감소한다(S180). 이는 논리 주소에 대응하는 기존 물리 주소에 기록된 데이터가 최근에 엑세스 된 바, 순차번호를 증가하여 해당 블록의 데이터가 최근에 엑세스 된 바를 나타내기 위함이다.
도 9는 본 실시예에 의한 하이브리드 저장장치(100)의 쓰레기 수집동작의 흐름이 도시된 순서도이다. 도시된 바와 같이, 플래시 메모리 컨트롤러(150)는 플래시 메모리에 데이터를 기록할 잔여 공간이 기준값 이하인지 여부를 판별한다(S200). 만일 잔여 기록 가능 공간이 기준값 이하로 판별된 경우 플래시 메모리 컨트롤러(150)는 쓰레기 수집동작을 수행하기 위하여 지울 플래시 메모리 블록을 조사한다(S205). 본 실시예에서 플래시 메모리 컨트롤러(150)는 유효 페이지 수가 기준값 이하이고, 순차 번호가 기준값 이하인 플래시 메모리 블록을 지울 플래시 메모리 블록으로 선택한다(S210, S215). 플래시 메모리 컨트롤러(150)는 물리 블록으로 부여된 블록 관리 정보를 순차적으로 검색하면서 지울 플래시 메모리 블록을 선택한다(S220).
설정된 기준값 이하의 유효 페이지 수와 순차번호를 가지는 물리 블록이 선택되면(S225), 플래시 메모리 컨트롤러(150)는 선택된 물리 블록에 포함된 유효 페 이지에 기록된 정보를 빈 공간이 있는 새로운 물리 블록으로 복사한다(S230). 또한, 플래시 메모리 컨트롤러(150)는 선택한 물리 블록으로 부여된 순차 번호를 새로운 물리 블록의 순차 번호로 부여한다. 똑같은 순차번호를 부여하는 이유는 호스트의 쓰기 요청에 대응하여 새로 기록된 데이터가 아니라 하이브리드 저장장치(100) 내의 데이터 복사이기 때문이다.
플래시 메모리 컨트롤러(240)는 데이터 복사가 완료된 선택 블록의 데이터를 지운다(S240).
본 실시예는 도 4에 도시된 하이브리드 저장장치의 동작방법과 함께 사용될 수 있다. 즉, 플래시 메모리 컨트롤러(150)는 쓰레기 수집동작을 수행하는 과정에서 유효 페이지 수 및 순차 번호가 기준값 이하인 플래시 메모리 블록에 저장된 데이터 중 접근빈도가 기준값 이상인 데이터는 새로운 플래시 메모리 블록으로 복사하고 기준값 이하인 데이터는 광 디스크(120)로 복사할 수 있다.
본 실시예의 하이브리드 저장장치는 상기와 같은 방법을 통해 쓰레기 수집동작을 수행함으로써 데이터 복사 횟수를 줄이고 효율적으로 플래시 메모리와 광 디스크의 데이터를 관리할 수 있다.
도 10은 플래시 메모리에 기록된 데이터의 접근빈도에 따라 데이터의 저장 영역을 달리하고 접근빈도가 기준값 이하인 데이터가 기록된 플래시 메모리의 전력을 오프함으로써 전력 소모를 줄일 수 있는 하이브리드 저장장치에 관한 실시예의 설명에 참조되는 도이다.
도 10 및 11에 도시된 바와 같이, 플래시 메모리 어레이(160)는 복수개의 플 래시 메모리(161~163)와, 플래시 메모리(161~163)로 전원을 공급하는 플래시 전원(165) 및 플래시 메모리(161~163)와 플래시 전원(165)을 연결하는 온/오프 스위치(166~168)로 구성될 수 있다.
본 실시예에서 플래시 메모리 컨트롤러(150)는 플래시 메모리에 기록된 데이터 중 호스트(10)의 데이터 접근빈도가 기준값 이하인 데이터는 Cold 데이터 유형으로 선정하고, 기준값 이상인 데이터는 Hot 데이터 유형으로 선정한다. 플래시 메모리 컨트롤러(150)는 Cold 데이터와 Hot 데이터를 물리적으로 다른 플래시 메모리에 기록하여 관리한다. 본 실시예에서 플래시 메모리 컨트롤러(150)는 Cold 데이터를 제1,2 플래시 메모리(161, 162)에 기록하여 관리한다. 또한 Hot 데이터는 제3 플래시 메모리(163)에 기록하여 관리한다.
플래시 메모리 컨트롤러(150)는 Cold 데이터가 기록된 제1,2 플래시 메모리(161,162)로 공급되는 플래시 전원이 차단되도록 제1,2 스위치(166, 167)를 오프한다. 또한 플래시 메모리 컨트롤러(150)는 호스트 접근빈도가 높은 Hot 데이터가 기록된 제3 플래시 메모리(163)와 플래시 전원(165)을 연결하는 제3 스위치(168)는 온한다. 따라서 접근빈도가 가장 높은 데이터가 기록된 플래시 메모리로는 항상 전원이 공급된다.
플래시 메모리 컨트롤러(150)는 호스트가 전원이 공급된 플래시 메모리에 기록된 데이터를 읽기 요청하면 플래시 메모리 컨트롤러(150)는 해당 물리 주소의 데이터를 읽어 호스트(10)로 전송한다. 만일 호스트(10)가 전원이 오프된 플래시 메모리에 기록된 데이터를 읽기 요청하면 플래시 메모리 컨트롤러(150)는 해당 물리 주소의 데이터가 기록된 플래시 메모리로 전원을 공급하고 전원이 공급된 플래시 메모리를 리셋한 후 데이터를 읽어 호스트(10)로 전송한다.
본 실시예에 의한 플래시 메모리 컨트롤러(150)는 주기적으로 플래시 메모리에 기록된 데이터의 접근정보를 확인하고 그에 따라 플래시 메모리에 기록된 데이터의 유형을 Hot 데이터 또는 Cold 데이터로 재분류한다. 플래시 메모리 컨트롤러(150)는 재분류한 데이터를 각 유형에 따라 Hot 데이터 저장 플래시 메모리 또는 Cold 데이터 저장 플래시 메모리로 복사하여 관리한다.
또한 플래시 메모리 컨트롤러(150)는 Cold 데이터가 저장된 플래시 메모리에 기록된 데이터가 소정값 이상 접근되면 해당 플래시 메모리를 Hot 데이터 저장 플래시 메모리로 변경하여 플래시 전원이 항상 공급되도록 할 수 있다.
도 11에 도시된 바와 같이, 플래시 메모리 컨트롤러(150)는 호스트(10)로부터 쓰기 요청이 수신되면 쓰기 요청에 수신되는 데이터는 Hot 데이터가 저장된 플래시 메모리에 기록(S300, S305)한다. 소정 시간이 경과한 후 데이터 분류 작업 주기가 도달(S310)하면, 플래시 메모리 컨트롤러(150)는 Hot 데이터가 저장된 영역에 Cold 데이터가 존재하는지 여부를 검색한다(S315). 만일 Cold 데이터가 발견되면(S320), 플래시 메모리 컨트롤러(150)는 Cold 데이터들이 저장되어 있는 플래시 메모리를 선택(S325)하고 해당 메모리의 전원 온/오프 여부를 확인한다(S330). 해당 플래시 메모리가 전원 오프되어 있는 경우, 플래시 메모리 컨트롤러(150)는 해당 플래시 메모리와 플래시 전원(165)을 연결하는 스위치를 온하여 해당 플래시 메모리로 전원을 공급하고 리셋한다(S335). 그 후 플래시 메모리 컨트롤러(150)는 Hot 데이터들이 저장된 플래시 메모리에 존재하는 Cold 데이터를 리셋한 Cold 데이터들이 저장된 플래시 메모리로 이동한다(S340).
마찬가지로, Hot 데이터들이 저장된 플래시 메모리에서 Cold 데이터가 발견되지 않은 경우, 플래시 메모리 컨트롤러(150)는 Cold 데이터들이 저장된 플래시 메모리에서 Hot 데이터가 존재하는지 여부를 검색하고(S345), Hot 데이터가 발견되면(S350), 플래시 메모리 컨트롤러(150)는 Hot 데이터들이 저장되어 있는 플래시 메모리를 선택한다(S355). 한편 S345, S350 단계에서 Hot 데이터가 존재하는 Cold 데이터들이 저장된 플래시 메모리가 전원 오프되어 있는 경우(S360), 플래시 메모리 컨트롤러(150)는 전원이 오프되어 있는 플래시 메모리에 전원을 공급하여 리셋한 후(S365), S365 단계에서 리셋한 플래시 메모리에 기록된 데이터를 S355 단계에서 선택한 플래시 메모리로 이동한다(S370).
한편, 호스트(10)로부터 읽기가 요청(S375)되면, 플래시 메모리 컨트롤러(150)는 읽기 요청된 데이터가 Cold 데이터인 경우 해당 데이터가 저장된 플래시 메모리의 전원이 오프되어 있는지 여부를 확인하고(S380, S385), 전원이 오프되어 있으면 전원을 공급한 후 전원이 공급된 플래시 메모리를 리셋한다(S390). 호스트(10)는 S390 단계에서 리셋한 플래시 메모리에서 데이터를 읽은 후 호스트로 전송한다(S395, S400). 플래시 메모리 컨트롤러(150)는 Cold 데이터들이 저장된 플래시 메모리의 경우, 최근에 데이터를 읽은 적이 있는 플래시 메모리 외의 전원을 전부 오프한다(S405).
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
도 1은 일반적인 호스트와 저장장치의 연결구조가 도시된 블록도,
도 2는 플래시 메모리의 구조가 도시된 도,
도 3은 본 발명의 일실시예에 의한 하이브리드 저장장치의 구조가 도시된 블록도,
도 4 및 도 5는 도 3에 도시된 하이브리드 저장장치의 동작방법의 설명에 참조되는 도,
도 6은 본 발명의 또 다른 실시예에 의한 하이브리드 저장장치의 구조가 도시된 도,
도 7 내지 9는 본 발명의 일실시예에 의한 하이브리드 저장장치의 동작방법의 설명에 참조되는 도,
도 10은 본 발명의 또 다른 실시예에 의한 하이드리브 저장장치의 구조가 도시된 도,
도 11은 도 10에 도시된 하이브리드 저장장치의 동작방법의 설명에 참조되는 도이다.

Claims (22)

  1. 광 디스크;
    상기 광 디스크에 데이터를 기록하거나 상기 광 디스크에 기록된 데이터를 읽는 광 디스크 컨트롤러;
    플래시 메모리; 및
    상기 플래시 메모리에 데이터를 기록하거나 상기 플래시 메모리에 기록된 데이터를 읽는 플래시 메모리 컨트롤러를 포함하여 구성되며;
    상기 플래시 메모리 컨트롤러는 상기 플래시 메모리에 기록된 데이터 중 접근빈도가 기준값 이하이거나 백업이 필요한 데이터가 상기 광 디스크에 기록되도록 상기 광 디스크 컨트롤러를 제어하는 것을 특징으로 하는 하이브리드 저장장치.
  2. 제 1 항에 있어서,
    상기 플래시 메모리 컨트롤러는 상기 플래시 메모리의 잔여 기록 가능 공간이 기준값 이하인 경우, 상기 플래시 메모리에 기록된 데이터 중 접근빈도가 기준값 이하이거나 백업이 필요한 데이터가 상기 광 디스크에 기록되도록 상기 광 디스크 컨트롤러를 제어하는 것을 특징으로 하는 하이브리드 저장장치.
  3. 제 2 항에 있어서,
    상기 플래시 메모리 컨트롤러는 상기 접근빈도가 기준값 이하이거나 백업이 필요한 데이터가 기록된 플래시 메모리 블록을 지우는 것을 특징으로 하는 하이브리드 저장장치.
  4. 제 1 항에 있어서,
    상기 플래시 메모리 컨트롤러는 상기 플래시 메모리의 잔여 기록 가능 공간이 기준값 이하인 경우, 상기 플래시 메모리에 기록된 데이터 중 접근빈도가 기준값 이상인 데이터를 상기 플래시 메모리 중 데이터 기록이 가능한 플래시 메모리 블록으로 복사하고 복사된 데이터가 기록된 플래시 메모리 블록을 지우는 것을 특징으로 하는 하이브리드 저장장치.
  5. 제 1 항에 있어서,
    상기 플래시 메모리 컨트롤러는 상기 플래시 메모리에 저장된 백업이 필요한 데이터가 손상된 경우 상기 광 디스크에 기록된 백업 데이터를 이용하여 복구하는 것을 특징으로 하는 하이브리드 저장장치.
  6. 제 5 항에 있어서,
    상기 백업이 필요한 데이터는 상기 플래시 메모리의 물리주소를 논리주소에 사상하는 맵 데이터인 것을 특징으로 하는 하이브리드 저장장치.
  7. 제 1 항에 있어서,
    상기 접근빈도가 기준치 이하이거나 백업이 필요한 데이터는 상기 플래시 메모리를 구성하는 플래시 메모리 블록 중 유효 페이지 수가 기준치 이하이거나 부여된 순차번호가 기준치 이하인 플래시 메모리 블록에 기록된 데이터인 것을 특징으로 하는 하이브리드 저장장치.
  8. 제 1 항에 있어서,
    상기 플래시 메모리 컨트롤러는 상기 플래시 메모리를 구성하는 플래시 메모리 중 접근빈도가 기준값 이하이거나 소정시간 동안 소정횟수 이하 접근된 데이터가 기록된 플래시 메모리의 전력을 오프하는 것을 특징으로 하는 하이브리드 저장장치.
  9. 제 8 항에 있어서,
    상기 플래시 메모리 컨트롤러는 상기 전력이 오프된 플래시 메모리에 기록된 데이터의 접근빈도가 기준값 이상이거나 소정시간 동안 소정횟수 이상 접근될 경우 전력이 온 되어 있는 플래시 메모리로 복사하는 것을 특징으로 하는 하이브리드 저장장치.
  10. 제 1 항에 있어서,
    상기 광 디스크 컨트롤러는 호스트가 읽기 요청한 데이터의 접근빈도가 기준치 이하인 경우 상기 광 디스크에 기록된 데이터를 상기 호스트로 전송하며, 상기 호스트가 접근 요청한 데이터의 접근빈도가 기준치 이상인 경우 상기 플래시 메모리에 기록된 데이터가 상기 호스트로 전송되도록 상기 플래시 메모리 컨트롤러를 제어하는 것을 특징으로 하는 하이브리드 저장장치.
  11. 제 1 항에 있어서,
    상기 광 디스크는 상기 하이브리드 저장장치에 삽입 또는 제거할 수 있으며,
    상기 광 디스크 컨트롤러는 상기 광 디스크가 삽입된 경우 상기 접근빈도가 기준값 이하이거나 백업이 필요한 데이터를 상기 삽입된 광 디스크에 기록하는 것을 특징으로 하는 하이브리드 저장장치.
  12. 플래시 메모리에 데이터를 기록하는 단계;
    상기 플래시 메모리에 기록된 데이터 중 접근빈도가 기준값 이하이거나 백업이 필요한 데이터를 선택하는 단계; 및
    상기 선택한 데이터를 광 디스크에 기록하는 단계를 포함하는 것을 특징으로 하는 하이브리드 저장장치 동작방법.
  13. 제 12 항에 있어서,
    상기 플래시 메모리의 잔여 기록 가능 공간이 기준값 이하인지 여부를 판별하는 단계를 더 포함하며;
    상기 데이터 선택 및 광 디스크 기록단계를 상기 잔여 기록 가능 공간이 기 준값 이하인 경우 수행하는 것을 특징으로 하는 하이브리드 저장장치 동작방법.
  14. 제 13 항에 있어서,
    상기 광 디스크에 상기 선택한 데이터를 기록한 후 상기 접근빈도가 기준값 이하이거나 백업이 필요한 데이터가 기록된 플래시 메모리 블록을 지우는 단계를 더 포함하는 것을 특징으로 하는 하이브리드 저장장치 동작방법.
  15. 제 12 항에 있어서,
    상기 플래시 메모리의 잔여 기록 가능 공간이 기준값 이하인지 여부를 판별하는 단계;
    상기 플래시 메모리의 잔여 기록 가능 공간이 기준값 이하인 경우, 상기 플래시 메모리에 기록된 데이터 중 접근빈도가 기준값 이상인 데이터를 상기 플래시 메모리 중 데이터 기록이 가능한 플래시 메모리 블록으로 복사하는 단계; 및
    상기 복사된 데이터가 기록된 플래시 메모리 블록을 지우는 단계를 포함하는 것을 특징으로 하는 하이브리드 저장장치 동작방법.
  16. 제 12 항에 있어서,
    상기 플래시 메모리에 저장된 백업이 필요한 데이터가 손상된 경우 상기 광 디스크에 기록된 백업 데이터를 이용하여 복구하는 단계를 더 포함하는 것을 특징으로 하는 하이브리드 저장장치 동작방법.
  17. 제 16 항에 있어서,
    상기 백업이 필요한 데이터는 상기 플래시 메모리의 물리주소를 논리주소에 사상하는 맵 데이터인 것을 특징으로 하는 하이브리드 저장장치 동작방법.
  18. 제 12 항에 있어서,
    상기 접근빈도가 기준치 이하이거나 백업이 필요한 데이터는 상기 플래시 메모리를 구성하는 플래시 메모리 블록 중 유효 페이지 수가 기준치 이하이거나 부여된 순차번호가 기준치 이하인 플래시 메모리 블록에 기록된 데이터인 것을 특징으로 하는 하이브리드 저장장치 동작방법.
  19. 제 12 항에 있어서,
    상기 플래시 메모리를 구성하는 플래시 메모리 중 접근빈도가 기준값 이하이거나 소정시간 동안 소정횟수 이하 접근된 데이터가 기록된 플래시 메모리의 전력을 오프하는 단계를 더 포함하는 것을 특징으로 하는 하이브리드 저장장치 동작방법.
  20. 제 19 항에 있어서,
    상기 플래시 메모리 컨트롤러는 상기 전력이 오프된 플래시 메모리에 기록된 데이터의 접근빈도가 기준값 이상이거나 소정시간 동안 소정횟수 이상 접근될 경우 전력이 온 되어 있는 플래시 메모리로 복사하는 단계를 더 포함하는 것을 특징으로 하는 하이브리드 저장장치 동작방법.
  21. 제 12 항에 있어서,
    호스트가 접근 요청한 데이터의 접근빈도가 기준치 이하인 경우 상기 광 디스크에 기록된 데이터를 상기 호스트로 전송하며, 상기 호스트가 접근 요청한 데이터의 접근빈도가 기준치 이상인 경우 상기 플래시 메모리에 기록된 데이터를 상기 호스트로 전송하는 단계를 더 포함하는 것을 특징으로 하는 하이브리드 저장장치 동작방법.
  22. 제 12 항에 있어서,
    상기 광 디스크가 상기 하이브리드 저장장치에 삽입되어 있는지 여부를 판별하는 단계를 더 포함하며,
    상기 광 디스크가 삽입된 경우 상기 선택된 데이터를 상기 삽입된 광 디스크에 기록하는 것을 특징으로 하는 하이브리드 저장장치 동작방법.
KR1020090098856A 2009-08-13 2009-10-16 하이브리드 저장장치 및 그 동작방법 KR20110041843A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020090098856A KR20110041843A (ko) 2009-10-16 2009-10-16 하이브리드 저장장치 및 그 동작방법
PCT/KR2010/005291 WO2011019216A2 (en) 2009-08-13 2010-08-12 Hybrid storage device, and control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090098856A KR20110041843A (ko) 2009-10-16 2009-10-16 하이브리드 저장장치 및 그 동작방법

Publications (1)

Publication Number Publication Date
KR20110041843A true KR20110041843A (ko) 2011-04-22

Family

ID=44047627

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090098856A KR20110041843A (ko) 2009-08-13 2009-10-16 하이브리드 저장장치 및 그 동작방법

Country Status (1)

Country Link
KR (1) KR20110041843A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012145201A1 (en) 2011-04-21 2012-10-26 Tessera, Inc Flip-chip, face-up and face-down centerbond memory wirebond assemblies
US9652380B2 (en) 2014-12-19 2017-05-16 SK Hynix Inc. Data processing system and operating method thereof
KR20170056411A (ko) * 2015-11-13 2017-05-23 삼성전자주식회사 저장 매체를 다중 모드로 동작시키는 관리 시스템, 그것을 포함하는 저장 시스템, 및 그것을 이용하여 저장 매체를 관리하는 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012145201A1 (en) 2011-04-21 2012-10-26 Tessera, Inc Flip-chip, face-up and face-down centerbond memory wirebond assemblies
US9652380B2 (en) 2014-12-19 2017-05-16 SK Hynix Inc. Data processing system and operating method thereof
KR20170056411A (ko) * 2015-11-13 2017-05-23 삼성전자주식회사 저장 매체를 다중 모드로 동작시키는 관리 시스템, 그것을 포함하는 저장 시스템, 및 그것을 이용하여 저장 매체를 관리하는 방법

Similar Documents

Publication Publication Date Title
US8521949B2 (en) Data deleting method and apparatus
CN102576293B (zh) 固态存储设备和分层存储系统中的数据管理
US8219776B2 (en) Logical-to-physical address translation for solid state disks
US9208079B2 (en) Solid state memory (SSM), computer system including an SSM, and method of operating an SSM
US10776153B2 (en) Information processing device and system capable of preventing loss of user data
JP4472010B2 (ja) 記憶装置
KR101638061B1 (ko) 플래시 메모리 시스템 및 그것의 플래시 조각 모음 방법
US8291155B2 (en) Data access method, memory controller and memory storage system
US7694087B2 (en) Duplicate data storing system, duplicate data storing method, and duplicate data storing program for storage device
US20100235605A1 (en) Enhancement of storage life expectancy by bad block management
KR101678911B1 (ko) 데이터 저장 장치 및 그것을 포함하는 컴퓨팅 시스템
JP2009181314A (ja) 情報記録装置およびその制御方法
CN110362499B (zh) 电子机器及其控制方法、计算机系统及其控制方法以及主机的控制方法
CN110674056B (zh) 一种垃圾回收方法及装置
US9389998B2 (en) Memory formatting method, memory controller, and memory storage apparatus
US20090172269A1 (en) Nonvolatile memory device and associated data merge method
CN105339910A (zh) 在混合驱动器中的虚拟nand容量扩展
SG193114A1 (en) Data storage device and method of managing a cache in a data storage device
JP2015135603A (ja) ストレージ装置及びデータを書き込む記憶領域を選択する方法
KR20110041843A (ko) 하이브리드 저장장치 및 그 동작방법
KR100950937B1 (ko) 솔리드 스테이트 디스크의 캐쉬 메모리 및 이를 이용한 캐쉬 관리시스템

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application