KR101386013B1 - 하이브리드 스토리지 장치 - Google Patents

하이브리드 스토리지 장치 Download PDF

Info

Publication number
KR101386013B1
KR101386013B1 KR1020120077746A KR20120077746A KR101386013B1 KR 101386013 B1 KR101386013 B1 KR 101386013B1 KR 1020120077746 A KR1020120077746 A KR 1020120077746A KR 20120077746 A KR20120077746 A KR 20120077746A KR 101386013 B1 KR101386013 B1 KR 101386013B1
Authority
KR
South Korea
Prior art keywords
random access
memory device
access memory
nand flash
host
Prior art date
Application number
KR1020120077746A
Other languages
English (en)
Other versions
KR20140010794A (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 KR1020120077746A priority Critical patent/KR101386013B1/ko
Publication of KR20140010794A publication Critical patent/KR20140010794A/ko
Application granted granted Critical
Publication of KR101386013B1 publication Critical patent/KR101386013B1/ko

Links

Images

Classifications

    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1657Access to multiple memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor

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)
  • Read Only Memory (AREA)
  • Memory System (AREA)

Abstract

하이브리드 스토리지 장치는 호스트가 블록 어드레싱에 기초하여 액세스하는 적어도 하나 이상의 낸드 플래시 메모리 장치, 호스트가 바이트 어드레싱에 기초하여 액세스하는 제 1 메모리 영역과 낸드 플래시 메모리 장치의 내부 용도로 사용되는 제 2 메모리 영역을 구비하는 적어도 하나 이상의 비휘발성 랜덤 액세스 메모리 장치, 및 호스트와 디램 인터페이스에 기초하여 통신을 수행하고 낸드 플래시 메모리 장치와 비휘발성 랜덤 액세스 메모리 장치를 제어하는 컨트롤러를 포함한다. 이에, 하이브리드 스토리지 장치는 호스트로 하여금 내부의 낸드 플래시 메모리 장치와 비휘발성 랜덤 액세스 메모리 장치에 효율적으로 액세스하도록 할 수 있다.

Description

하이브리드 스토리지 장치 {HYBRID STORAGE DEVICE}
본 발명은 스토리지 장치에 관한 것으로, 보다 상세하게는 이종의 비휘발성 메모리 장치들을 구비하는 하이브리드 스토리지 장치에 관한 것이다.
반도체 메모리 장치는 전원이 공급되지 않는 상태에서 데이터를 보존할 수 있는지에 따라 휘발성 메모리 장치와 비휘발성 메모리 장치로 구분될 수 있다. 최근에는, 반도체 메모리 장치의 소형화 및 대용량 추세에 따라, 비휘발성 메모리 장치 중에서 낸드 플래시 메모리 장치(NAND flash memory device)가 소형화 및 대용량에 적합하여 널리 사용되고 있다. 그러나, 낸드 플래시 메모리 장치는 덮어쓰기(overwrite) 및 랜덤 액세스(random access)를 지원하지 않기 때문에, 쓰기 전 이레이즈 동작(erase before write operation)을 블록 단위로 수행해야 하고, 기 설정된 조건 하에서 유효 데이터와 무효 데이터를 분류하여 병합하기 위한 병합 동작(merge operation)을 수행해야 하는 등의 여러 제약들을 가지고 있다.
이러한 제약들을 때문에, 최근에는 낸드 플래시 메모리 장치와 덮어쓰기 및 랜덤 액세스가 가능한 비휘발성 랜덤 액세스 메모리(non-volatile random access memory; NVRAM) 장치를 동시에 구비하는 하이브리드 스토리지 장치가 제시되고 있다. 이 때, 하이브리드 스토리지 장치는 동작 속도가 상대적으로 빠른 휘발성 메모리 장치(예를 들어, 디램(dynamic random access memory; DRAM) 장치)에 연결되어 사용되고 있다. 그러나, 호스트(host)는 여러 인터페이스들에 기초하여 하이브리드 스토리지 장치 내의 이종의 비휘발성 메모리 장치들과 하이브라이드 스토리지 장치에 연결된 휘발성 메모리 장치에 각각 액세스해야 하므로, 효율적인 액세스를 수행할 수 없다는 문제점이 있다.
본 발명의 일 목적은 호스트로 하여금 내부의 낸드 플래시 메모리 장치와 비휘발성 랜덤 액세스 메모리 장치에 효율적으로 액세스하도록 할 수 있는 하이브리드 스토리지 장치를 제공하는 것이다. 다만, 본 발명의 해결하고자 하는 과제는 이에 한정되는 것이 아니며, 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위에서 다양하게 확장될 수 있을 것이다.
본 발명의 일 목적을 달성하기 위하여, 본 발명의 실시예들에 따른 하이브리드 스토리지 장치는 호스트가 블록 어드레싱(block addressing)에 기초하여 액세스(access)하는 적어도 하나 이상의 낸드 플래시 메모리(NAND flash memory) 장치, 상기 호스트가 바이트 어드레싱(byte addressing)에 기초하여 액세스하는 제 1 메모리 영역 및 상기 낸드 플래시 메모리 장치의 내부 용도로 사용되는 제 2 메모리 영역을 구비하는 적어도 하나 이상의 비휘발성 랜덤 액세스 메모리 장치, 및 상기 호스트와 디램 인터페이스(DRAM interface)에 기초하여 통신을 수행하고, 상기 낸드 플래시 메모리 장치 및 상기 비휘발성 랜덤 액세스 메모리 장치를 제어하는 컨트롤러를 포함할 수 있다.
일 실시예에 의하면, 상기 비휘발성 랜덤 액세스 메모리 장치는 덮어쓰기(overwrite) 및 랜덤 액세스(random access)를 수행할 수 있다.
일 실시예에 의하면, 상기 비휘발성 랜덤 액세스 메모리 장치는 피램(phase-change random access memory; PRAM) 장치, 엠램(magnetic random access memory; MRAM) 장치, 에프램(ferroelectric random access memory; FRAM) 장치, 알램(resistance random access memory; RRAM) 장치, 에스티티램(spin transfer torque random access memory; STTRAM) 장치, 또는 폴리머램(polymer random access memory; PoRAM) 장치일 수 있다.
일 실시예에 의하면, 상기 낸드 플래시 메모리 장치의 상기 내부 용도는 상기 낸드 플래시 메모리 장치의 메타 데이터(meta data)를 저장하는 용도 또는 상기 낸드 플래시 메모리 장치의 데이터를 캐싱(caching)하기 위한 용도일 수 있다.
일 실시예에 의하면, 상기 비휘발성 랜덤 액세스 메모리 장치에서 상기 제 1 메모리 영역과 상기 제 2 메모리 영역은 정적으로(statically) 할당될 수 있다.
일 실시예에 의하면, 상기 비휘발성 랜덤 액세스 메모리 장치에서 상기 제 1 메모리 영역과 상기 제 2 메모리 영역은 동적으로(dynamically) 할당될 수 있다.
일 실시예에 의하면, 상기 호스트와 상기 디램 인터페이스에 기초하여 통신을 수행하는 적어도 하나 이상의 디램(dynamic random access memory; DRAM) 장치에 연결될 수 있다.
본 발명의 실시예들에 따른 하이브리드 스토리지 장치는 적어도 하나 이상의 낸드 플래시 메모리 장치와 적어도 하나 이상의 비휘발성 랜덤 액세스 메모리 장치를 구비하여 호스트와 통신을 수행함에 있어서, 물리적(physical) 인터페이스로서 디램 인터페이스를 사용하고, 논리적(logical) 인터페이스로서 바이트 어드레싱과 블록 어드레싱을 사용하며, 비휘발성 랜덤 액세스 메모리 장치의 제 1 메모리 영역은 호스트가 바이트 어드레싱에 기초하여 액세스하게 하고, 비휘발성 랜덤 액세스 메모리 장치의 제 2 메모리 영역은 낸드 플래시 메모리 장치의 내부 용도로 사용함으로써, 호스트로 하여금 낸드 플래시 메모리 장치와 비휘발성 랜덤 액세스 메모리 장치에 효율적으로 액세스하게 할 수 있다. 다만, 본 발명의 효과는 이에 한정되는 것이 아니며, 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위에서 다양하게 확장될 수 있을 것이다.
도 1은 본 발명의 실시예들에 따른 하이브리드 스토리지(hybrid storage) 장치를 나타내는 블록도이다.
도 2는 도 1의 하이브리드 스토리지 장치가 디램 장치와 함께 호스트와 통신을 수행하는 것을 나타내는 블록도이다.
도 3은 도 1의 하이브리드 스토리지 장치가 사용하는 논리적(logical) 인터페이스를 나타내는 도면이다.
도 4는 도 1의 하이브리드 스토리지 장치에서 비휘발성 랜덤 액세스 메모리 장치가 제 1 메모리 영역과 제 2 메모리 영역으로 분리되어 할당되는 것을 나타내는 도면이다.
본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 아니 된다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로 사용될 수 있다. 예를 들어, 본 발명의 권리 범위로부터 이탈되지 않은 채 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미이다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미인 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 실시예들에 따른 하이브리드 스토리지(hybrid storage) 장치를 나타내는 블록도이다.
도 1을 참조하면, 하이브리드 스토리지 장치(100)는 적어도 하나 이상의 낸드 플래시 메모리 장치(120), 적어도 하나 이상의 비휘발성 랜덤 액세스 메모리 장치(140) 및 컨트롤러(160)를 포함할 수 있다. 다만, 도 1에서는 설명의 편의를 위하여, 1개의 낸드 플래시 메모리 장치(120)와 1개의 비휘발성 랜덤 액세스 메모리 장치(140)를 도시하였다. 이 때, 하이브리드 스토리지 장치(100)는 물리적(physical) 인터페이스로서 디램(DRAM) 인터페이스(300)에 기초하여 호스트(200)와 통신을 수행할 수 있다.
낸드 플래시 메모리 장치(120)는 호스트(200)가 블록 어드레싱(block addressing)에 기초하여 액세스(access)할 수 있다. 즉, 하이브리드 스토리지 장치(100)가 물리적 인터페이스로서 디램 인터페이스(300)에 기초하여 호스트(200)와 통신을 수행할 때, 낸드 플래시 메모리 장치(120)는 논리적(logical) 인터페이스로서 블록 어드레싱에 기초하여 호스트(200)와 통신을 수행할 수 있다. 구체적으로, 호스트(200)와 낸드 플래시 메모리 장치(120) 사이에는 블록 단위로(일반적으로, 512바이트(byte)) 데이터가 전송되고, 전송할 데이터의 시작 주소, 크기 등과 같은 전송에 필요한 인자 값은 실제 데이터 전송을 시작하기에 앞서서 호스트(200)가 낸드 플래시 메모리 장치(120)에 전달할 수 있다. 이러한 인자 값의 전달을 위해서는 메모리 맵 입출력(memory-mapped I/O) 방식이 사용될 수 있다. 일반적으로, 메모리 맵 입출력 방식은 상기 인자 값의 전달을 위해서 필요한 하이브리드 스토리지 장치(100) 내의 레지스터들을 물리 메모리 주소 공간 상에 맵핑하고, 호스트(200)가 이를 직접 액세스하게 함으로써 입출력을 수행할 수 있다. 이 때, 하이브리드 스토리지 장치(100)는 디램 인터페이스(300)를 사용하기 때문에, 메모리 맵 입출력 방식이 별도의 컨트롤러 없이 용이하게 구현될 수 있다.
한편, 낸드 플래시 메모리 장치(120)는 덮어쓰기 및 랜덤 액세스를 지원하지 않기 때문에, 쓰기 전 이레이즈 동작(erase before write operation)을 블록 단위로 수행해야 한다. 또한, 낸드 플래시 메모리 장치(120)는 유효 페이지들을 병합하고 무효 페이지들을 소거함으로써 자유 블록을 확보하기 위한 병합 동작(merge operation), 유효 페이지들을 이동시켜 메모리를 최적화하기 위한 컴팩션 동작(compaction operation), 메모리 셀들의 마모도를 평준화하기 위한 웨어 레벨링 동작(wear-leveling operation) 등을 포함하는 백그라운드 동작을 수행해야 한다. 이를 위하여, 낸드 플래시 메모리 장치(120)는 플래시 변환 계층(flash translation layer; FTL)을 이용하여 상기 동작들을 수행함으로써 파일 시스템(file system)을 지원할 수 있다. 한편, 낸드 플래시 메모리 장치(120)는 비휘발성 랜덤 액세스 메모리 장치(140)에 비하여 상대적으로 소형화 및 대용량에 적합하므로, 비휘발성 랜덤 액세스 메모리 장치(140)보다 큰 용량을 가질 수 있다.
비휘발성 랜덤 액세스 메모리 장치(140)는 호스트(200)가 바이트 어드레싱(byte addressing)에 기초하여 액세스하는 제 1 메모리 영역 및 낸드 플래시 메모리 장치(120)의 내부 용도로 사용되는 제 2 메모리 영역을 구비할 수 있다. 이 때, 비휘발성 랜덤 액세스 메모리 장치(140)는 덮어쓰기 및 랜덤 액세스를 수행할 수 있다. 일 실시예에서, 비휘발성 랜덤 액세스 메모리 장치(140)는 피램(phase-change random access memory; PRAM) 장치, 엠램(magnetic random access memory; MRAM) 장치, 에프램(ferroelectric random access memory; FRAM) 장치, 알램(resistance random access memory; RRAM) 장치, 에스티티램(spin transfer torque random access memory; STTRAM) 장치, 또는 폴리머램(polymer random access memory; PoRAM) 장치일 수 있다. 다만, 이것은 하나의 예시로서, 비휘발성 랜덤 액세스 메모리 장치(140)가 상기 장치들로만 한정되는 것은 아니다. 상술한 바와 같이, 비휘발성 랜덤 액세스 메모리 장치(140)는 제 1 메모리 영역과 제 2 메모리 영역으로 분리된다. 이 때, 하이브리드 스토리지 장치(100)가 물리적 인터페이스로서 디램 인터페이스(300)에 기초하여 호스트(200)와 통신을 수행할 때, 제 1 메모리 영역은 논리적 인터페이스로서 바이트 어드레싱에 기초하여 호스트(200)와 통신을 수행할 수 있고, 제 2 메모리 영역은 논리적 인터페이스로서 블록 어드레싱에 기초하여 호스트(200)와 통신을 수행하는 낸드 플래시 메모리 장치(120)의 내부 용도로 사용되기 때문에, 블록 어드레싱을 지원(support)할 수 있다.
비휘발성 랜덤 액세스 메모리 장치(140)에서, 제 1 메모리 영역은 호스트(200)가 바이트 어드레싱에 기초하여 액세스하기 때문에, 호스트(200)는 디램 장치처럼 제 1 메모리 영역에 액세스할 수 있다. 구체적으로, 비휘발성 랜덤 액세스 메모리 장치(140)의 제 1 메모리 영역은 논리 주소(또는, 가상 주소(virtual address))에 직접 맵핑(mapping)되고, 호스트(200)는 바이트 어드레싱에 기초하여 비휘발성 랜덤 액세스 메모리 장치(140)의 제 1 메모리 영역에 직접 액세스할 수 있다. 반면에, 비휘발성 랜덤 액세스 메모리 장치(140)의 제 2 메모리 영역은 낸드 플래시 메모리 장치(120)를 보완하기 위해 사용(즉, 낸드 플래시 메모리 장치(120)의 내부 용도로 사용)될 수 있다. 구체적으로, 비휘발성 랜덤 액세스 메모리 장치(140)에서, 제 2 메모리 영역은 낸드 플래시 메모리 장치(120)의 메타 데이터(meta data)를 저장하거나 또는 낸드 플래시 메모리 장치(120)의 데이터를 캐싱(caching)하기 위하여 사용될 수 있다. 즉, 낸드 플래시 메모리 장치(120)에서 갱신(update)이 자주 이루어지는 메타 데이터 또는 캐싱이 필요한 데이터를 위해, 덮어쓰기 동작 및 랜덤 액세스를 수행할 수 있는 비휘발성 랜덤 액세스 메모리 장치(140)의 제 2 메모리 영역이 사용될 수 있다.
상술한 바와 같이, 비휘발성 랜덤 액세스 메모리 장치(140)의 제 1 메모리 영역은 호스트(200)가 액세스할 수 있는 영역이고, 비휘발성 랜덤 액세스 메모리 장치(140)의 제 2 메모리 영역은 낸드 플래시 메모리 장치(120)의 내부 용도로 사용되기 때문에 호스트(200)가 액세스하지 않는다. 다시 말하면, 비휘발성 랜덤 액세스 메모리 장치(140)의 제 1 메모리 영역은 물리적 영역이 호스트(200)에게 보여주는 주소 공간 영역과 일치하는 반면, 비휘발성 랜덤 액세스 메모리 장치(140)의 제 2 메모리 영역은 물리적 영역이 호스트(200)에게 보여주는 주소 공간 영역과 일치하지 않는다. 일 실시예에서, 비휘발성 랜덤 액세스 메모리 장치(140)에서 제 1 메모리 영역과 제 2 메모리 영역은 정적으로(statically) 할당될 수 있다. 다른 실시예에서, 비휘발성 랜덤 액세스 메모리 장치(140)에서 제 1 메모리 영역과 제 2 메모리 영역은 동적으로(dynamically) 할당될 수 있다. 다만, 이에 대해서는 도 4를 참조하여 후술하기로 한다. 한편, 비휘발성 랜덤 액세스 메모리 장치(140)는 낸드 플래시 메모리 장치(120)에 비하여 상대적으로 제조 단가 등이 높으므로, 낸드 플래시 메모리 장치(120)보다 작은 용량을 가질 수 있다.
이와 같이, 비휘발성 랜덤 액세스 메모리 장치(140)는 낸드 플래시 메모리 장치(120)에 비하여 고성능임에도 불구하고, 상대적으로 제조 단가 등이 높아서 큰 용량을 가지기 어렵다. 반면에, 낸드 플래시 메모리 장치(120)는 상대적으로 소형화 및 대용량에 적합하므로 큰 용량을 가질 수 있다. 따라서, 비휘발성 랜덤 액세스 메모리 장치(140)는 하이브리드 스토리지 장치(100)에서 상대적으로 높은 성능이 요구되는 용도로 사용하고, 낸드 플래시 메모리 장치(120)는 하이브리드 스토리지 장치(100)에서 상대적으로 낮은 성능이 요구되는 용도로 사용함으로써, 하이브리드 스토리지 장치(100)로 하여금 높은 성능을 구현하면서도 대용량의 저장 공간을 제공하도록 할 수 있다. 한편, 컨트롤러(160)는 디램 인터페이스에 기초하여 호스트(200)와 통신을 수행하고, 비휘발성 랜덤 액세스 메모리 장치(140) 및 낸드 플래시 메모리 장치(120)를 제어할 수 있다. 구체적으로, 컨트롤러(160)는 호스트(200)와 물리적 인터페이스로서 디램 인터페이스에 기초하여 호스트(200)와 통신을 수행하면서, 호스트(200)로 하여금 낸드 플래시 메모리 장치(120)에 논리적 인터페이스로서 블록 어드레싱에 기초하여 액세스하도록 하고, 호스트(200)로 하여금 비휘발성 랜덤 액세스 메모리 장치(140)의 제 1 메모리 영역에 논리적 인터페이스로서 바이트 어드레싱에 기초하여 액세스하도록 할 수 있다. 나아가, 컨트롤러(160)는 비휘발성 랜덤 액세스 메모리 장치(140)의 제 2 메모리 영역을 낸드 플래시 메모리 장치(120)의 내부 용도로 사용할 수 있다.
이와 같이, 하이브리드 스토리지 장치(100)는 적어도 하나 이상의 낸드 플래시 메모리 장치(120)와 적어도 하나 이상의 비휘발성 랜덤 액세스 메모리 장치(140)를 구비하여 호스트(200)와 통신을 수행함에 있어서, 물리적 인터페이스로서 디램 인터페이스를 사용하고, 논리적 인터페이스로서 바이트 어드레싱과 블록 어드레싱을 사용함으로써, 호스트(200)로 하여금 낸드 플래시 메모리 장치(120)와 비휘발성 랜덤 액세스 메모리 장치(140)에 효율적으로 액세스하도록 할 수 있다. 또한, 하이브리드 스토리지 장치(100)는 갱신이 자주 이루어지는 메타 데이터 또는 캐싱이 필요한 데이터를 비휘발성 랜덤 액세스 메모리 장치(140)의 제 2 메모리 영역에 저장함으로써 낸드 플래시 메모리 장치(120)의 수명을 늘릴 수 있고, 하이브리드 스토리지 장치(100)의 전반적인 동작 속도를 향상시킬 수 있다. 나아가, 하이브리드 스토리지 장치(100)는 컴퓨팅 시스템에서 부팅(booting)시 필요한 부팅 코드를 비휘발성 랜덤 액세스 메모리 장치(140)의 제 1 메모리 영역에 저장함으로써, 기존에 부팅 코드를 저장하기 위해 사용하던 롬(read only memory; ROM) 장치, 노어(NOR) 플래시 메모리 장치, 에스램(static random access memory) 장치 등을 대체할 수도 있다. 한편, 하이브리드 스토리지 장치(100)는 SIMM(single in-line memory module) 또는 DIMM(dual in-line memory module) 등의 모듈 형태로 제조될 수도 있고, DDR(double data rate)2 SDRAM(synchronous dynamic RAM), DDR3 SDRAM, LPDDR(low power DDR)2 SDRAM, LPDDR3 SDRAM, eMMC(embedded multi-media card) 등과 같이 칩 형태로 제조될 수도 있으며, MMC(multi-media card), SD card(secure digital card), CF card(compact flash card), memory stick, XD picture card 등과 같이 카드 형태로 제조될 수도 있으나, 하이브리드 스토리지 장치(100)의 제조 형태는 이에 한정되는 것은 아니다.
도 2는 도 1의 하이브리드 스토리지 장치가 디램 장치와 함께 호스트와 통신을 수행하는 것을 나타내는 블록도이다.
도 2를 참조하면, 호스트(200)는 도 1의 하이브리드 스토리지 장치(100) 및 적어도 하나 이상의 디램 장치(400)와 물리적 인터페이스로서 디램 인터페이스에 기초하여 통신을 수행할 수 있다. 이 때, 도 2에 도시된 바와 같이, 디램 장치(400)는 논리적 인터페이스로서 바이트 어드레싱(BYA)에 기초하여 호스트(200)와 통신을 수행할 수 있고, 도 1의 하이브리드 스토리지 장치(100)는 논리적 인터페이스로서 바이트 어드레싱(BYA) 및 블록 어드레싱(BLA)에 기초하여 호스트(200)와 통신을 수행할 수 있다.
구체적으로, 도 1의 하이브리드 스토리지 장치(100)는 낸드 플래시 메모리 장치(120) 및 비휘발성 랜덤 액세스 메모리 장치(140)를 포함할 수 있다. 이 때, 호스트(200)는 디램 장치와 같이 논리적 인터페이스로서 바이트 어드레싱(BYA)에 기초하여 비휘발성 랜덤 액세스 메모리 장치(140)의 제 1 메모리 영역에 액세스할 수 있다. 반면에, 호스트(200)는 논리적 인터페이스로서 블록 어드레싱(BLA)에 기초하여 낸드 플래시 메모리 장치(120)에 액세스 할 수 있다. 이 때, 비휘발성 랜덤 액세스 메모리 장치(140)의 제 1 메모리 영역은 낸드 플래시 메모리 장치(120)의 내부 용도로 사용되므로 블록 어드레싱(BLA)을 지원할 수 있다. 그 결과, 비휘발성 랜덤 액세스 메모리 장치(140)의 제 1 메모리 영역은 논리 주소(또는, 가상 주소)에 직접 맵핑됨으로써 호스트(200)로부터 바이트 어드레싱에 기초하여 직접 액세스되는 반면에, 비휘발성 랜덤 액세스 메모리 장치(140)의 제 2 메모리 영역은 낸드 플래시 메모리 장치(120)의 내부 용도로 사용되기 때문에 호스트(200)로부터 직접 액세스되지 않는다. 한편, 도 1의 하이브리드 스토리지 장치(100)는 요구되는 조건에 따라 비휘발성 랜덤 액세스 메모리 장치(140)의 제 1 메모리 영역에 저장되는 데이터(예를 들어, 부팅 코드 등), 비휘발성 랜덤 액세스 메모리 장치(140)의 제 2 메모리 영역에 저장되는 데이터(예를 들어, 메타 데이터 등) 및 낸드 플래시 메모리 장치(120)에 저장되는 데이터(예를 들어, 일반 데이터 등)를 구분하여 저장함으로써, 호스트(200)로 하여금 낸드 플래시 메모리 장치(120)와 비휘발성 랜덤 액세스 메모리 장치(140)에 효율적으로 액세스하도록 할 수 있다.
도 3은 도 1의 하이브리드 스토리지 장치가 사용하는 논리적(logical) 인터페이스를 나타내는 도면이다.
도 3을 참조하면, 도 1의 하이브리드 스토리지 장치(100)가 사용하는 논리적 인터페이스가 도시되어 있다. 도 3에 도시된 바와 같이, 호스트(200)는 어플리케이션(520) 및 운영 체제(operating system; OS)(540)를 포함하고, 논리 주소 공간(또는, 가상 주소 공간)(560)을 통해 도 1의 하이브리드 스토리지 장치(100) 및 디램 장치(400)에 액세스할 수 있다.
구체적으로, 도 1의 하이브리드 스토리지 장치(100)는 적어도 하나 이상의 낸드 플래시 메모리 장치(120)와 적어도 하나 이상의 비휘발성 랜덤 액세스 메모리 장치(140)를 구비하여 호스트(200)와 통신을 수행함에 있어서, 물리적 인터페이스로서 디램 인터페이스를 사용하고, 논리적 인터페이스로서 바이트 어드레싱과 블록 어드레싱을 모두 사용할 수 있다. 도 3에 도시된 바와 같이, 디램 장치(400)의 메모리 영역은 논리 주소 공간(또는, 가상 주소 공간)(560)에서 논리 주소(또는, 가상 주소)에 직접 맵핑됨으로써 호스트(200)로부터 바이트 어드레싱에 기초하여 직접 액세스(DA)될 수 있다. 반면에, 도 1의 하이브리드 스토리지 장치(100)에 구비된 낸드 플래시 메모리 장치(120)의 메모리 영역은 파일 시스템을 통해 논리 주소 공간(560)에서 논리 주소에 맵핑됨으로써 호스트(200)로부터 블록 어드레싱에 기초하여 액세스(NA)될 수 있다. 한편, 도 1의 하이브리드 스토리지 장치(100)에 구비된 비휘발성 랜덤 액세스 메모리 장치(140)는 제 1 메모리 영역과 제 2 메모리 영역으로 분리되어 할당될 수 있다. 이 때, 비휘발성 랜덤 액세스 메모리 장치(140)의 제 1 메모리 영역은 논리 주소 공간(560)에서 논리 주소에 직접 맵핑됨으로써 호스트(200)로부터 바이트 어드레싱에 기초하여 직접 액세스(PA)될 수 있으며, 비휘발성 랜덤 액세스 메모리 장치(140)의 제 2 메모리 영역은 낸드 플래시 메모리 장치(120)의 내부 용도로 사용(IA)될 수 있다. 이와 같이, 어플리케이션(520)이나 운영 체제(540)는 디램 장치(400)의 메모리 영역과 비휘발성 랜덤 액세스 메모리 장치(140)의 제 1 메모리 영역을 논리 주소에 직접 맵핑하여 사용하고, 낸드 플래시 메모리 장치(120)의 메모리 영역은 파일 시스템을 통해 논리 주소에 맵핑하여 사용할 수 있다. 그러므로, 도 1의 하이브리드 스토리지 장치(100)는 호스트(200)로 하여금 데이터의 종류 등에 따라 낸드 플래시 메모리 장치(120)와 비휘발성 랜덤 액세스 메모리 장치(140)에 효율적으로 액세스하도록 할 수 있다.
도 4는 도 1의 하이브리드 스토리지 장치에서 비휘발성 랜덤 액세스 메모리 장치가 제 1 메모리 영역과 제 2 메모리 영역으로 분리되어 할당되는 것을 나타내는 도면이다.
도 4를 참조하면, 도 1의 하이브리드 스토리지 장치(100)에서 비휘발성 랜덤 액세스 메모리 장치(140)는 제 1 메모리 영역(142)과 제 2 메모리 영역(144)으로 분리되어 할당될 수 있다.
일 실시예에서, 호스트(200)로부터 바이트 어드레싱에 기초하여 액세스되는 제 1 메모리 영역(142)과 낸드 플래시 메모리 장치(120)의 내부 용도로 사용되는 제 2 메모리 영역(144)은 정적으로(statically) 할당될 수 있다. 즉, 비휘발성 랜덤 액세스 메모리 장치(140)의 제 1 메모리 영역(142)과 제 2 메모리 영역(144)은 낸드 플래시 메모리 장치(120)와의 관계에서 고정될 수 있다. 예를 들어, 비휘발성 랜덤 액세스 메모리 장치(140)가 256MB의 용량을 갖는다고 가정할 때, 비휘발성 랜덤 액세스 메모리 장치(140)에서 호스트(200)로부터 바이트 어드레싱에 기초하여 액세스되는 제 1 메모리 영역(142)에 (m)MB가 할당될 수 있고, 낸드 플래시 메모리 장치(120)의 내부 용도로 사용되는 제 2 메모리 영역(144)에 (256-m)MB가 할당될 수 있으며, m은 낸드 플래시 메모리 장치(120)와의 관계에서 변하지 않을 수 있다. 이 경우, (m)MB의 용량을 갖는 제 1 메모리 영역(142)에는 갱신이 빈번하게 이루어지는 데이터(예를 들어, 부팅 코드 등)가 저장될 수 있고, (256-m)MB의 용량을 갖는 제 2 메모리 영역(144)에는 낸드 플래시 메모리 장치(120)에서 갱신이 자주 이루어지는 메타 데이터 또는 캐싱이 필요한 데이터가 저장될 수 있다.
다른 실시예에서, 호스트(200)로부터 바이트 어드레싱에 기초하여 액세스되는 제 1 메모리 영역(142)과 낸드 플래시 메모리 장치(120)의 내부 용도로 사용되는 제 2 메모리 영역(144)은 동적으로(dynamically) 할당될 수 있다. 즉, 비휘발성 랜덤 액세스 메모리 장치(140)의 제 1 메모리 영역(142)과 제 2 메모리 영역(144)은 낸드 플래시 메모리 장치(120)와의 관계에서 변동될 수 있다. 예를 들어, 비휘발성 랜덤 액세스 메모리 장치(140)가 256MB의 용량을 갖는다고 가정할 때, 비휘발성 랜덤 액세스 메모리 장치(140)에서 호스트(200)로부터 바이트 어드레싱에 기초하여 액세스되는 제 1 메모리 영역(142)에 (n)MB가 할당될 수 있고, 낸드 플래시 메모리 장치(120)의 내부 용도로 사용되는 제 2 메모리 영역(142)에는 (256-n)MB가 할당될 수 있으며, n은 낸드 플래시 메모리 장치(120)와의 관계에서 변할 수 있다. 이 경우에도, (n)MB의 용량을 갖는 제 1 메모리 영역(142)에는 갱신이 빈번하게 이루어지는 데이터(예를 들어, 부팅 코드 등)가 저장될 수 있고, (256-n)MB의 용량을 갖는 제 2 메모리 영역(144)에는 낸드 플래시 메모리 장치(120)에서 갱신이 자주 이루어지는 메타 데이터 또는 캐싱이 필요한 데이터가 저장될 수 있다.
이와 같이, 비휘발성 랜덤 액세스 메모리 장치(140)에서, 제 1 메모리 영역(142)은 호스트(200)가 직접 액세스하는 것이 요구되는 데이터를 저장하기 위해 사용될 수 있고, 제 2 메모리 영역(144)은 낸드 플래시 메모리 장치(120)를 보완하기 위해 사용(즉, 낸드 플래시 메모리 장치(120)의 내부 용도로 사용)될 수 있다. 그러므로, 도 1의 하이브리드 스토리지 장치(100)는 요구되는 조건에 따라 비휘발성 랜덤 액세스 메모리 장치(140)의 제 1 메모리 영역(142)에 저장되는 데이터(예를 들어, 부팅 코드 등), 비휘발성 랜덤 액세스 메모리 장치(140)의 제 2 메모리 영역(144)에 저장되는 데이터(예를 들어, 메타 데이터 등) 및 낸드 플래시 메모리 장치(120)에 저장되는 데이터(예를 들어, 일반 데이터 등)를 구분하여 저장함으로써, 호스트(200)로 하여금 데이터의 종류 등에 따라 낸드 플래시 메모리 장치(120)와 비휘발성 랜덤 액세스 메모리 장치(140)에 효율적으로 액세스하게 할 수 있다. 이상, 본 발명의 실시예들에 따른 하이브리드 스토리지 장치에 대하여 도면을 참조하여 설명하였지만, 상기 설명은 예시적인 것으로서 본 발명의 기술적 사상을 벗어나지 않는 범위에서 해당 기술 분야에서 통상의 지식을 가진 자에 의하여 수정 및 변경될 수 있을 것이다.
본 발명은 이종의 비휘발성 메모리 장치들(예를 들어, 낸드 플래시 메모리 장치 및 비휘발성 랜덤 액세스 메모리 장치)을 포함하는 하이브리드 스토리지 장치에 적용될 수 있다. 나아가, 상기 하이브리드 스토리지 장치는 다양한 모듈 형태, 다양한 칩 형태, 다양한 카드 형태 등으로 제조될 수 있다.
이상에서는 본 발명의 실시예들을 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100: 하이브리드 스토리지 장치 120: 낸드 플래시 메모리 장치
140: 비휘발성 랜덤 액세스 메모리 장치
160: 컨트롤러 200: 호스트
300: 디램 인터페이스

Claims (7)

  1. 호스트가 블록 어드레싱(block addressing)에 기초하여 액세스(access)하는 적어도 하나 이상의 낸드 플래시 메모리(NAND flash memory) 장치;
    상기 호스트가 바이트 어드레싱(byte addressing)에 기초하여 액세스하는 제 1 메모리 영역 및 상기 낸드 플래시 메모리 장치의 내부 용도로 사용되는 제 2 메모리 영역을 구비하는 적어도 하나 이상의 비휘발성 랜덤 액세스 메모리 장치; 및
    상기 호스트와 디램 인터페이스(DRAM interface)에 기초하여 통신을 수행하고, 상기 낸드 플래시 메모리 장치 및 상기 비휘발성 랜덤 액세스 메모리 장치를 제어하는 컨트롤러를 포함하고,
    상기 호스트로부터 입력되는 데이터는 상기 데이터의 종류에 따라 상기 낸드 플래시 메모리 장치, 상기 제 1 메모리 영역 및 상기 제 2 메모리 영역에 구분되어 저장되는 것을 특징으로 하는 하이브리드 스토리지 장치.
  2. 제 1 항에 있어서, 상기 비휘발성 랜덤 액세스 메모리 장치는 덮어쓰기(overwrite) 및 랜덤 액세스(random access)를 수행하는 것을 특징으로 하는 하이브리드 스토리지 장치.
  3. 제 2 항에 있어서, 상기 비휘발성 랜덤 액세스 메모리 장치는 피램(phase-change random access memory; PRAM) 장치, 엠램(magnetic random access memory; MRAM) 장치, 에프램(ferroelectric random access memory; FRAM) 장치, 알램(resistance random access memory; RRAM) 장치, 에스티티램(spin transfer torque random access memory; STTRAM) 장치, 또는 폴리머램(polymer random access memory; PoRAM) 장치인 것을 특징으로 하는 하이브리드 스토리지 장치.
  4. 제 1 항에 있어서, 상기 낸드 플래시 메모리 장치의 상기 내부 용도는 상기 낸드 플래시 메모리 장치의 메타 데이터(meta data)를 저장하는 용도 또는 상기 낸드 플래시 메모리 장치의 데이터를 캐싱(caching)하기 위한 용도인 것을 특징으로 하는 하이브리드 스토리지 장치.
  5. 제 4 항에 있어서, 상기 비휘발성 랜덤 액세스 메모리 장치에서 상기 제 1 메모리 영역과 상기 제 2 메모리 영역은 정적으로(statically) 할당되는 것을 특징으로 하는 하이브리드 스토리지 장치.
  6. 제 4 항에 있어서, 상기 비휘발성 랜덤 액세스 메모리 장치에서 상기 제 1 메모리 영역과 상기 제 2 메모리 영역은 동적으로(dynamically) 할당되는 것을 특징으로 하는 하이브리드 스토리지 장치.
  7. 제 1 항에 있어서, 상기 호스트와 상기 디램 인터페이스에 기초하여 통신을 수행하는 적어도 하나 이상의 디램(dynamic random access memory; DRAM) 장치에 연결되는 것을 특징으로 하는 하이브리드 스토리지 장치.
KR1020120077746A 2012-07-17 2012-07-17 하이브리드 스토리지 장치 KR101386013B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120077746A KR101386013B1 (ko) 2012-07-17 2012-07-17 하이브리드 스토리지 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120077746A KR101386013B1 (ko) 2012-07-17 2012-07-17 하이브리드 스토리지 장치

Publications (2)

Publication Number Publication Date
KR20140010794A KR20140010794A (ko) 2014-01-27
KR101386013B1 true KR101386013B1 (ko) 2014-04-16

Family

ID=50143320

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120077746A KR101386013B1 (ko) 2012-07-17 2012-07-17 하이브리드 스토리지 장치

Country Status (1)

Country Link
KR (1) KR101386013B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10303617B2 (en) 2016-11-30 2019-05-28 Samsung Electronics Co., Ltd. Storage device supporting byte accessible interface and block accessible interface and electronic system including the same

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102249416B1 (ko) 2014-06-11 2021-05-07 삼성전자주식회사 메모리 시스템 및 메모리 시스템의 구동 방법
US10126950B2 (en) * 2014-12-22 2018-11-13 Intel Corporation Allocating and configuring persistent memory
KR101990201B1 (ko) * 2017-09-04 2019-06-17 울산과학기술원 뉴메모리 기반 메모리 관리 방법 및 이를 수행하는 장치들
KR102417977B1 (ko) * 2017-10-19 2022-07-07 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
KR102483964B1 (ko) 2021-03-09 2023-01-04 정진도 천연가스 연소 가스터빈 복합발전소의 탈질설비 제어방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050050261A1 (en) * 2003-08-27 2005-03-03 Thomas Roehr High density flash memory with high speed cache data interface
KR20100086776A (ko) * 2009-01-23 2010-08-02 삼성전자주식회사 복합 메모리 장치 및 이를 이용한 i/o 처리 방법
US20120144102A1 (en) * 2008-08-08 2012-06-07 Imation Corp. Flash memory based storage devices utilizing magnetoresistive random access memory (mram)

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050050261A1 (en) * 2003-08-27 2005-03-03 Thomas Roehr High density flash memory with high speed cache data interface
US20120144102A1 (en) * 2008-08-08 2012-06-07 Imation Corp. Flash memory based storage devices utilizing magnetoresistive random access memory (mram)
KR20100086776A (ko) * 2009-01-23 2010-08-02 삼성전자주식회사 복합 메모리 장치 및 이를 이용한 i/o 처리 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10303617B2 (en) 2016-11-30 2019-05-28 Samsung Electronics Co., Ltd. Storage device supporting byte accessible interface and block accessible interface and electronic system including the same

Also Published As

Publication number Publication date
KR20140010794A (ko) 2014-01-27

Similar Documents

Publication Publication Date Title
US10915475B2 (en) Methods and apparatus for variable size logical page management based on hot and cold data
US9213495B2 (en) Controller management of memory array of storage device using magnetic random access memory (MRAM) in a mobile device
US8724392B1 (en) Controller management of memory array of storage device using magnetic random access memory (MRAM)
KR101573047B1 (ko) 복합 메모리 장치 및 이를 이용한 i/o 처리 방법
US8711631B1 (en) Management of memory array with magnetic random access memory (MRAM)
US20170206172A1 (en) Tehcniques with os- and application- transparent memory compression
KR101386013B1 (ko) 하이브리드 스토리지 장치
US20150378948A1 (en) Auxiliary Interface for Non-Volatile Memory System
US20170206033A1 (en) Mechanism enabling the use of slow memory to achieve byte addressability and near-dram performance with page remapping scheme
US9971514B2 (en) Dynamic logical groups for mapping flash memory
US10338826B2 (en) Managed-NAND with embedded random-access non-volatile memory
CN112905502A (zh) 存储装置及其操作方法
US11561785B2 (en) Storage device and method of operating the same
US11422945B2 (en) Generating, maintaining, or utilizing a compressed logical-to-physical table based on sequential writes
US9727453B2 (en) Multi-level table deltas
CN115390746A (zh) 主机设备、存储设备以及电子设备
US11934309B2 (en) Memory controller, storage device including the memory controller, and method of operating the memory controller and the storage device
US11768625B2 (en) Storage device managing a multi-tier cache memory and operating method thereof
US11922011B2 (en) Virtual management unit scheme for two-pass programming in a memory sub-system
TW202405660A (zh) 儲存裝置、包括儲存裝置的電子裝置及其操作方法
KR20230011214A (ko) 스토리지 장치 및 이의 동작 방법
TW202316273A (zh) 記憶體控制器及其操作方法
TW202309891A (zh) 儲存裝置及其操作方法
KR20220159268A (ko) 호스트 장치, 스토리지 장치 및 전자 장치
KR20230050012A (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: 20170407

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180410

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190409

Year of fee payment: 6