KR20130032772A - 하이브리드 메모리 장치, 이를 포함하는 컴퓨터 시스템, 및 하이브리드 메모리장치의 데이터 기입 및 독출 방법 - Google Patents

하이브리드 메모리 장치, 이를 포함하는 컴퓨터 시스템, 및 하이브리드 메모리장치의 데이터 기입 및 독출 방법 Download PDF

Info

Publication number
KR20130032772A
KR20130032772A KR1020110096563A KR20110096563A KR20130032772A KR 20130032772 A KR20130032772 A KR 20130032772A KR 1020110096563 A KR1020110096563 A KR 1020110096563A KR 20110096563 A KR20110096563 A KR 20110096563A KR 20130032772 A KR20130032772 A KR 20130032772A
Authority
KR
South Korea
Prior art keywords
memory device
data
dram
memory
nonvolatile memory
Prior art date
Application number
KR1020110096563A
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 KR1020110096563A priority Critical patent/KR20130032772A/ko
Priority to US13/590,284 priority patent/US20130080693A1/en
Publication of KR20130032772A publication Critical patent/KR20130032772A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7208Multiple device management, e.g. distributing data over multiple flash devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Memory System (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

동작 속도가 빠른 하이브리드 메모리 장치가 개시된다. 하이브리드 메모리 장치는 디램(DRAM) 및 비휘발성 메모리를 포함한다. 중앙처리장치에 의해 프로그램이 처음 실행될 때, 외부 메모리 장치에서 상기 디램으로 데이터가 복사될 때 상기 비휘발성 메모리에도 상기 데이터가 복사된다. 비휘발성 메모리의 데이터는 디램을 통하지 않고 바로 외부로 출력될 수 있다. 따라서, 하이브리드 메모리 장치 및 이를 포함하는 컴퓨터 시스템은 동작속도가 빠르고 전력 소모가 적다.

Description

하이브리드 메모리 장치, 이를 포함하는 컴퓨터 시스템, 및 하이브리드 메모리장치의 데이터 기입 및 독출 방법{HYBRID MEMORY DEVICE, COMPUTER SYSTEM INCLUDING THE SAME, AND METHOD OF READING AND WRITING DATA IN THE HYBRID MEMORY DEVICE}
본 발명은 하이브리드 메모리 장치 및 이를 포함하는 컴퓨터 시스템에 관한 것이다.
최근, 메모리 장치는 휘발성 메모리 장치와 비휘발성 메모리 장치가 하나의 패키지에 포함된 멀티 칩 패키지 형태로 개발되고 있다.
본 발명의 목적은 데이터의 독출/기입 동작이 빠르고 소형의 패키지를 갖는 하이브리드 메모리 장치를 제공하는 것이다.
본 발명의 다른 목적은 상기 하이브리드 메모리 장치를 포함하는 컴퓨터 시스템을 제공하는 것이다.
본 발명의 또 다른 목적은 데이터의 독출/기입 동작이 빠른 하이브리드 메모리 장치의 데이터 독출 및 기입 방법을 제공하는 것이다.
상기 목적을 달성하기 위하여 본 발명의 하나의 실시형태에 따른 하이브리드메모리 장치는 디램(DRAM) 및 비휘발성 메모리를 포함한다. 중앙처리장치에 의해 프로그램이 처음 실행될 때, 외부 메모리 장치에서 상기 디램으로 데이터가 복사될 때 상기 비휘발성 메모리에도 상기 데이터가 복사되며, 상기 비휘발성 메모리의 데이터는 상기 디램을 통하지 않고 바로 외부로 출력된다.
본 발명의 하나의 실시예에 의하면, 상기 비휘발성 메모리는 PRAM 또는 RRAM일 수 있다.
본 발명의 하나의 실시예에 의하면, 상기 하이브리드 메모리 장치는 멀티 칩 패키지(MCP)로 구현된 메모리 모듈일 수 있다.
본 발명의 하나의 실시예에 의하면, 상기 하이브리드 메모리 장치는 상기 디램, 상기 비휘발성 메모리 및 상기 제어 회로가 3차원적으로 적층된 스택 메모리 장치일 수 있다.
본 발명의 하나의 실시예에 의하면, 상기 디램, 상기 비휘발성 메모리 및 상기 제어 회로는 관통전극(TSV)을 통해 서로 전기적으로 연결될 수 있다.
본 발명의 하나의 실시형태에 따른 컴퓨터 시스템은 중앙처리장치 및 하이브리드 메모리 장치를 포함한다.
하이브리드 메모리 장치는 디램(DRAM) 및 비휘발성 메모리를 포함하고, 상기 중앙처리장치가 프로그램을 처음 실행할 경우, 외부 메모리 장치에서 상기 디램으로 데이터가 복사될 때 상기 비휘발성 메모리에도 상기 데이터가 복사하며, 상기 비휘발성 메모리의 데이터는 상기 디램을 통하지 않고 바로 외부로 출력한다.
본 발명의 하나의 실시예에 의하면, 가상 메모리 매니저는 상기 외부 메모리 장치에서 상기 디램으로 데이터를 복사하고, 메인 페이지 테이블(main page table)을 갱신할 수 있다.
본 발명의 하나의 실시예에 의하면, 상기 비휘발성 메모리의 주소와 프로그램의 가상 메모리 주소가 상기 메인 페이지 테이블을 통해 직접 링크된 경우, 상기 메인 페이지 테이블은 리드-온리 표시(read-only mark)를 포함할 수 있다.
본 발명의 하나의 실시예에 의하면, 상기 리드-온리 표시는 상기 비휘발성 메모리의 주소에 대응하는 공간에 데이터가 직접 기입(write)되는 것을 방지할 수 있다.
본 발명의 하나의 실시예에 의하면, 상기 비휘발성 메모리에 상기 데이터가 저장되었음을 나타내는 서브 페이지 테이블(sub page table)이 상기 비휘발성 메모리 내에 구축될 수 있다.
본 발명의 하나의 실시예에 의하면, 상기 서브 페이지 테이블(sub page table)은 상기 외부 메모리 장치 내에 구축될 수 있다.
본 발명의 하나의 실시예에 의하면, 프로그램 수행이 처음이 아닐 경우, 상기 중앙처리장치는 상기 프로그램 수행에 필요한 데이터를 얻기 위하여 상기 외부 메모리 장치를 체크하기 전에 상기 비휘발성 메모리를 먼저 체크할 수 있다.
본 발명의 하나의 실시예에 의하면, 기입(write) 모드에서, 상기 비휘발성 메모리에 링크된 가상 메모리 주소에 쓰기 요청이 있을 경우, 페이지 폴트(page-fault)를 발생하고, 상기 가상 메모리 주소에 상기 디램의 물리적 주소를 할당할 수 있다.
본 발명의 하나의 실시예에 의하면, 상기 컴퓨터 시스템은 상기 메인 페이지 테이블의 리드-온리 표시(read-only mark)를 참조하여 상기 페이지 폴트(page-fault)를 발생할 수 있다.
본 발명의 하나의 실시예에 의하면, 상기 외부 메모리 장치의 데이터가 갱신될 때, 가상 메모리 주소에 링크된 상기 비휘발성 메모리의 데이터도 갱신될 수 있다.
본 발명의 하나의 실시형태에 따른 하이브리드 메모리 장치의 데이터 독출(read) 방법은 프로그램이 최초로 수행되는지를 판단하는 단계, 상기 프로그램이 처음 수행되는 경우, 가상 메모리 주소에 디램 및 비휘발성 메모리의 공간을 할당하는 단계, 및 외부 메모리 장치로부터 상기 디램 및 상기 비휘발성 메모리로 데이터를 복사하는 단계를 포함한다.
본 발명의 하나의 실시예에 의하면, 상기 하이브리드 메모리 장치의 데이터 독출(read) 방법은 메인 페이지 테이블(MPT)을 갱신하는 단계, 상기 비휘발성 메모리에 상기 데이터가 저장되었음을 의미하는 서브 페이지 테이블(SPT)을 구축하는 단계, 중앙처리장치로부터 수신한 어드레스에 대응하는 상기 디램의 영역으로부터 상기 데이터를 읽는 단계, 및 상기 데이터를 중앙처리장치에 전송하는 단계를 더 포함할 수 있다.
본 발명의 하나의 실시예에 의하면, 상기 하이브리드 메모리 장치의 데이터 독출 방법은 상기 프로그램이 처음 수행되는 것이 아닌 경우, 제어권을 가상 메모리 매니저로부터 파일 시스템으로 넘기는 단계, 상기 파일 시스템을 사용하여 서브 페이지 테이블(SPT)을 참조하는 단계, 상기 비휘발성 메모리에 데이터가 저장되어 있는 것을 확인하는 단계, 및 상기 제어권을 상기 파일 시스템으로부터 상기 가상 메모리 매니저로 넘기는 단계를 더 포함할 수 있다.
본 발명의 하나의 실시예에 의하면, 상기 비휘발성 메모리에 데이터가 저장되어 있는 것을 확인하는 단계는 상기 서브 페이지 테이블(SPT)의 엔트리에 기초하여 상기 파일 시스템에 의해 수행될 수 있다.
본 발명의 하나의 실시예에 의하면, 상기 하이브리드 메모리 장치의 데이터 독출 방법은 메인 페이지 테이블(MPT)을 갱신하여 가상 메모리 주소와 상기 비휘발성 메모리의 대응하는 주소를 링크시키는 단계, 중앙처리장치로부터 수신한 어드레스에 대응하는 상기 비휘발성 메모리의 영역으로부터 상기 데이터를 읽는 단계, 및 상기 데이터를 중앙처리장치에 전송하는 단계를 더 포함할 수 있다.
본 발명의 하나의 실시예에 의하면, 메인 페이지 테이블(MPT)을 갱신하여 가상 메모리 주소와 상기 비휘발성 메모리의 대응하는 주소를 링크시키는 단계는 상기 가상 메모리 매니저에 의해 수행될 수 있다.
본 발명의 하나의 실시형태에 따른 하이브리드 메모리 장치의 데이터 기입(write) 방법은 비휘발성 메모리에 링크된 가상 메모리 주소에 쓰기 동작을 수행하는 단계, 상기 쓰기 동작이 실패한 경우, 상기 가상 메모리 주소에 새로운 물리적 메모리 주소를 할당하는 단계, 상기 비휘발성 메모리에 저장된 데이터를 복사하여 디램에 저장하는 단계, 메인 페이지 테이블(MPT)을 갱신하는 단계, 및 상기 디램에 링크된 가상 메모리 주소에 쓰기 동작을 수행하는 단계를 포함할 수 있다.
본 발명의 하나의 실시예에 의하면, 상기 하이브리드 메모리 장치의 데이터 기입 방법은 상기 디램에 링크된 가상 메모리 주소에 쓰기 동작을 수행하는 단계에서 서브 페이지 테이블(SPT)이 갱신되지 않을 수 있다.
본 발명의 하나의 실시예에 의하면, 상기 하이브리드 메모리 장치의 데이터 기입 방법은 외부 메모리 장치에 쓰기 동작을 수행하는 단계, 및 상기 비휘발성 메모리의 데이터를 갱신하는 단계를 더 포함할 수 있다.
본 발명의 실시예에 따른 하이브리드 메모리 장치는 디램(DRAM) 및 비휘발성 메모리를 포함하고, 프로그램이 처음 실행될 때 외부 메모리 장치로부터 DRAM으로 데이터가 복사될 때 NVM에도 데이터를 복사한다. 두 번째 이후 프로그램을 실행할 경우, NVM으로부터 데이터를 읽어 프로그램을 실행한다.
따라서, 본 발명의 실시예에 따른 하이브리드 메모리 장치는 데이터의 읽기와 쓰기 동작이 빠르고, 전력 소모가 적다. 또한, 본 발명의 실시예에 따른 하이브리드 메모리 장치는 디램 만으로 구성된 메모리 장치에 비해 필요한 DRAM의 용량이 줄어든다.
도 1은 본 발명의 하나의 실시 예에 따른 하이브리드(hybrid) 메모리 장치를 포함하는 컴퓨터 시스템을 나타내는 블록도이다.
도 2는 도 1의 컴퓨터 시스템에 포함된 회로 블록들 사이의 데이터 전송 과정을 설명하기 위한 블록도이다.
도 3은 본 발명의 하나의 실시예에 따른 하이브리드 메모리 장치의 데이터 독출 방법을 나타내는 흐름도이다.
도 4 및 도 5는 본 발명의 실시예들에 따른 하이브리드 메모리 장치의 데이터 기입 방법들을 나타내는 흐름도들이다.
도 6은 도 1의 컴퓨터 시스템에 포함된 하이브리드 메모리 장치의 다른 하나의 예를 나타내는 블록도이다.
도 7은 본 발명의 다른 하나의 실시 예에 따른 하이브리드 메모리 장치를 포함하는 컴퓨터 시스템을 나타내는 블록도이다.
본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 안 된다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위로부터 이탈되지 않은 채 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 개시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
한편, 어떤 실시예가 달리 구현 가능한 경우에 특정 블록 내에 명기된 기능 또는 동작이 순서도에 명기된 순서와 다르게 일어날 수도 있다. 예를 들어, 연속하는 두 블록이 실제로는 실질적으로 동시에 수행될 수도 있고, 관련된 기능 또는 동작에 따라서는 상기 블록들이 거꾸로 수행될 수도 있다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 설명한다.
도 1은 본 발명의 하나의 실시 예에 따른 하이브리드(hybrid) 메모리 장치를 포함하는 컴퓨터 시스템(100)을 나타내는 블록도이다.
도 1을 참조하면, 컴퓨터 시스템(100)은 중앙처리장치(110) 및 하이브리드 메모리 장치(120)를 포함한다.
중앙처리장치(110)는 커맨드(CMD), 어드레스(ADDR), 데이터(DATA) 및 클럭신호(CLK)를 발생한다. 메모리 장치(120)는 호스트(110)로부터 커맨드 버스(BUS_C), 어드레스 버스(BUS_A), 데이터 버스(BUS_D) 및 클럭 버스(BUS_CLK)를 통해 커맨드(CMD), 어드레스(ADDR), 데이터(DATA) 및 클럭신호(CLK)를 각각 수신하고, 어드레스(ADDR)에 대응하는 메모리 공간에 데이터(DATA)를 기입(write)하거나 어드레스(ADDR)에 대응하는 메모리 공간으로부터 데이터를 읽어서 중앙처리장치(110)로 전송한다. 하이브리드 메모리 장치(120)는 DRAM(dynamic random access memory)(122) 및 비휘발성 메모리(NVM)(124)를 포함할 수 있다. 도 1에 도시되지 않았지만, 중앙처리장치(110)에는 HDD(Hard-disk drive), SSD(solid-state drive) 등의 외부 메모리 장치가 연결될 수 있다.
후술하는 바와 같이, 중앙처리장치(110)가 프로그램을 처음 실행할 경우, 외부 메모리 장치에서 DRAM(122)으로 데이터가 복사될 때 NVM(124)에도 데이터가 복사된다.
도 2는 도 1의 컴퓨터 시스템(100)에 포함된 회로 블록들 사이의 데이터 전송 과정을 설명하기 위한 블록도이다.
도 2를 참조하면, 컴퓨터 시스템(100a)는 운영 체제(operating system: OS)(210), 하이브리드 메모리 장치(220), 페이지 테이블(230), 외부 메모리 장치(240) 및 가상 메모리 공간(virtual memory space)(250)를 포함한다. 운영 체제 (210) 및 가상 메모리 공간(250)은 도 1의 중앙처리장치(110)에 포함될 수 있다.
운영 체제(210)는 가상 메모리 매니저(virtual memory manager)(211) 및 파일 시스템(file system)(213)을 포함하고, 페이지 테이블(230)은 메인 페이지 테이블(main page table: MPT)(231) 및 서브 페이지 테이블(sub page table: SPT)(233)을 포함할 수 있다. 메인 페이지 테이블(231)은 논리 주소(LA)와 물리 주소(PA)를 포함할 수 있고, 서브 페이지 테이블(233)은 파일 시스템 주소(FSA)와 NVM 주소(NVMA)를 포함할 수 있다. 가상 메모리 매니저(211)는 파일 시스템(213)에 데이터 요청신호(DATA REQUEST)를 제공하고, 파일 시스템(213)은 가상 메모리 매니저(211)에 정보(RI) 또는 데이터(DATA)를 제공한다. 외부 메모리 장치(240)는 하드 디스크 드라이브(hard disk drive) 또는 SSD(solid state drive)일 수 있다.
하이브리드 메모리 장치(220)는 DRAM(222) 및 NVM(224)를 포함할 수 있다. DRAM(222) 및 NVM(224)은 각각 독립된 반도체 칩(chip)일 수 있으며, 하이브리드 메모리 장치(220)는 멀티 칩 패키지(Multi-Chip Package; MCP)일 수 있다. DRAM(222)은 휘발성 반도체 메모리이며, NVM(224)은 비휘발성 반도체 메모리이다.
중앙처리장치(도 1의 110)에 의해 프로그램이 처음 실행될 때, 외부 메모리 장치(240)에서 DRAM(222)으로 데이터가 복사될 때 NVM(224)에도 상기 데이터가 복사될 수 있다. NVM(224)의 데이터는 DRAM(222)을 통하지 않고 바로 외부로 출력될 수 있다.
이하, 도 1 및 도 2를 참조하여 도 1에 도시된 하이브리드(hybrid) 메모리 장치(120)를 포함하는 컴퓨터 시스템(100)의 동작에 대해 설명한다.
도 2에 도시된 하이브리드 메모리 장치(220)는 도 1에 도시된 하이브리드 메모리 장치(120)에 대응한다. 하이브리드 메모리 장치(220)는 DRAM(222) 및 NVM(224)를 포함할 수 있다.
중앙처리장치(도 1의 110)에 의해 프로그램이 처음 실행될 때, 외부 메모리 장치(240)에서 DRAM(222)으로 데이터가 복사될 때 NVM(224)에도 상기 데이터가 복사될 수 있다. 외부 메모리 장치(240)에서 NVM(224)으로의 데이터의 복사는 사용자(user)가 알 수 없도록 background 작업으로 수행될 수 있다. NVM(224)의 데이터는 DRAM(222)을 통하지 않고 바로 외부로 출력될 수 있다.
도 2를 참조하면, 중앙처리장치(도 1의 110)에 의해 프로그램이 처음 실행될 때, 가상 메모리 매니저(211)는 가상 메모리 공간(250)의 가상 메모리 주소(1, 2, 3, 4)에 DRAM(222)의 공간을 할당하고, 외부 메모리 장치(240)로부터 DRAM(222)으로 데이터를 복사하고, 메인 페이지 테이블(231)을 갱신한다. 또한, 가상 메모리 매니저(211)는 가상 메모리 공간(250)의 가상 메모리 주소(1, 2, 3, 4)에 NVM(224)의 공간을 할당하고, 외부 메모리 장치(240)로부터 NVM(224)으로 데이터를 복사한다.
외부 메모리 장치(240)로부터 NVM(224)에 상기 데이터가 복사되었음을 의미하는 서브 페이지 테이블(SPT)(233)이 구축될 수 있다. 파일 시스템(213)은 서브 페이지 테이블(233)을 체크함으로써, NVM(224)에 데이터가 존재하는지를 알 수 있다.
프로그램이 처음 수행되는 것이 아닌 경우, 프로그램이 가상 메모리 매니저(211)에게 물리 메모리 공간을 요청하면, 가상 메모리 매니저(211)는 제어권(control right)을 파일 시스템(213)으로 넘긴다. 파일 시스템(213)은 서브 페이지 테이블(SPT)을 참조하여, NVM(224)에 데이터가 저장되어 있는 것을 확인한다. 파일 시스템(213)은 NVM(224)에 데이터가 저장되어 있는 것을 확인하고, 제어권을 가상 메모리 매니저(211)로 넘긴다.
가상 메모리 매니저(211)는 프로그램에 물리 메모리, 즉 DRAM의 공간을 할당하지 않고, 프로그램에 할당된 가상 메모리 주소와 NVM의 주소를 메인 페이지 테이블(231)의 갱신을 통해 링크시킨다. NVM(224)의 데이터는 DRAM(222)을 통하지 않고 중앙처리장치(110)로 출력되며, NVM(224)의 데이터를 사용하여 프로그램을 실행할 수 있다.
따라서, 프로그램이 처음 수행되는 것이 아닌 경우, 외부 메모리 장치(240)에서 DRAM(222)으로 데이터를 복사하는 시간을 절약할 수 있다. 이와 같이, NVM(224)과 프로그램의 가상 메모리 주소가 메인 페이지 테이블(231)을 통해 직접 연결된 경우, 메인 페이지 테이블(231)에 리드-온리 표시(read-only mark)를 포함시킬 수 있다. 그 이유는 이 후 NVM(224)에 데이터가 직접 기입(write)이 되는 것을 방지하고, NVM(224)의 내구성(endurance)을 개선하기 위함이다.
도 3은 본 발명의 하나의 실시예에 따른 하이브리드 메모리 장치의 데이터 독출 방법을 나타내는 흐름도이다.
도 3을 참조하면, 하이브리드 메모리 장치의 데이터 독출 방법은 다음의 동작들을 포함한다.
1) 프로그램이 최초로 실행되는지를 판단한다(S1).
2) 상기 프로그램이 처음 수행되는 경우, 가상 메모리 주소에 DRAM 및 비휘발성 메모리(NVM)의 공간을 할당한다(S2).
3) 외부 메모리 장치로부터 DRAM 및 NVM로 데이터를 복사한다(S3).
4) 메인 페이지 테이블(MPT)을 갱신한다(S4).
5) NVM에 상기 데이터가 저장되었음을 의미하는 서브 페이지 테이블(SPT)을 구축한다(S5).
6) 중앙처리장치로부터 수신한 어드레스에 대응하는 DRAM의 영역으로부터 상기 데이터를 읽는다(S6).
7) 상기 프로그램이 처음 수행되는 것이 아닌 경우, 제어권을 가상 메모리 매니저로부터 파일 시스템으로 넘기고, 상기 파일 시스템을 사용하여 서브 페이지 테이블(SPT)을 참조한다(S7).
8) NVM에 데이터가 저장되어 있는 것을 확인하고, 상기 제어권을 상기 파일 시스템으로부터 상기 가상 메모리 매니저로 넘긴다(S8).
9) 메인 페이지 테이블(MPT)을 갱신하여 가상 메모리 주소와 NVM의 대응하는 주소를 링크시킨다(S9).
10) 중앙처리장치로부터 수신한 어드레스에 대응하는 NVM의 영역으로부터 상기 데이터를 읽는다(S10).
11) 상기 데이터를 중앙처리장치에 전송한다(S11).
NVM의 영역으로부터 데이터를 읽는 단계는 NVM의 출력 데이터를 DRAM에 저장하지 않고 바로 외부로 출력하는 단계를 포함할 수 있다. NVM에 데이터가 저장되어 있는 것을 확인하는 단계는 상기 서브 페이지 테이블(SPT)의 엔트리에 기초하여 상기 파일 시스템에 의해 수행될 수 있다. 메인 페이지 테이블(MPT)을 갱신하여 가상 메모리 주소와 NVM의 대응하는 주소를 링크시키는 단계는 상기 가상 메모리 매니저에 의해 수행될 수 있다.
도 4 및 도 5는 본 발명의 실시예들에 따른 하이브리드 메모리 장치의 데이터 기입 방법들을 나타내는 흐름도들이다.
컴퓨터 시스템에 의해 사용되는 데이터에는 새로운 어드레스를 할당하고 임시로 생성되고 쓰여지는 데이터, 기존의 어드레스를 갱신하는 데 사용되며 프로그램 진행 중에는 보존이 필요하나 프로그램 종료 후에는 보존이 필요하지 않는 데이터, 기존 데이터를 갱신하는 데 사용되며 프로그램 진행 중 또는 프로그램 종료 후에도 보존이 필요한 데이터 등이 있다.
새로운 어드레스를 할당하고 임시로 생성되고 쓰여지는 데이터는 프로그램 종료 또는 프로그램 실행 도중에 삭제되며, 가상 메모리 매니저(VMM)가 이 데이터를 위해 DRAM의 영역을 할당하여 사용한다.
기존의 어드레스를 갱신하는 데 사용되며 프로그램 진행 중에는 보존이 필요하나 프로그램 종료 후에는 보존이 필요하지 않는 데이터의 경우, 데이터를 기입하는 방법은 도 4에 도시된 동작들을 포함할 수 있다.
도 4를 참조하면, 하이브리드 메모리 장치의 데이터 기입 방법은 다음의 동작들을 포함할 수 있다.
1) NVM에 링크된 가상 메모리 주소로의 쓰기 요청을 수신한다(S21).
2) page-fault를 발생하고, 상기 가상 메모리 주소에 DRAM의 물리 주소를 할당한다(S22).
3) NVM에 저장된 데이터를 복사하여 DRAM에 저장한다(S23).
4) 메인 페이지 테이블(MPT)을 갱신한다(S24).
5) DRAM에 링크된 가상 메모리 주소에 쓰기 동작을 수행한다(S25).
상기 하이브리드 메모리 장치의 데이터 기입 방법은 DRAM에 링크된 가상 메모리 주소에 쓰기 동작을 수행하는 단계에서 서브 페이지 테이블(SPT)이 갱신되지 않을 수 있다.
기존 데이터를 갱신하는 데 사용되며 프로그램 진행 중 또는 프로그램 종료 후에도 보존이 필요한 데이터의 경우, 데이터를 기입하는 방법은 도 5에 도시된 동작들을 포함할 수 있다.
도 5를 참조하면, 하이브리드 메모리 장치의 데이터 기입 방법은 다음의 동작들을 포함할 수 있다.
1) NVM에 링크된 가상 메모리 주소로의 쓰기 요청을 수신한다(S21).
2) page-fault를 발생하고, 상기 가상 메모리 주소에 DRAM의 물리 주소를 할당한다(S22).
3) NVM에 저장된 데이터를 복사하여 DRAM에 저장한다(S23).
4) 메인 페이지 테이블(MPT)을 갱신한다(S24).
5) DRAM에 링크된 가상 메모리 주소에 쓰기 동작을 수행한다(S25).
6) 외부 메모리 장치에 쓰기 동작을 수행한다(S26)
7) NVM의 데이터를 갱신한다(S27).
도 5에 도시된 바와 같이, 기존 데이터를 갱신하는 데 사용되며 프로그램 진행 중 또는 프로그램 종료 후에도 보존이 필요한 데이터의 경우, 외부 메모리 장치에 쓰기 동작을 수행하고(S26), 상기 비휘발성 메모리의 데이터를 갱신하는(S27) 동작이 더 포함될 수 있다.
본 발명의 실시예들에 따른 하이브리드 메모리 장치를 포함하는 컴퓨터 시스템은 프로그램의 실행 중에 파일 시스템(FS)을 사용하여 외부 메모리 장치에 공간을 할당하여 swap-out을 수행한다. 나중에 외부 메모리 장치에 있는 데이터에 대해 다시 swap-in을 수행할 때 파일 시스템(FS)이 서브 페이지 테이블(SPT)을 참조하여 NVM에 있는 이전 데이터(old data)를 불러오는 것을 방지하기 위하여, swap-out을 수행할 때 미리 서브 페이지 테이블(SPT)의 해당 주소 위치에 임시로 bypass bit을 추가할 수 있다. 따라서, DRAM과 외부 메모리 장치가 바로 연결될 수 있다. 그리고, bypass bit은 프로그램의 종료시 삭제될 수 있다.
도 6은 도 1의 컴퓨터 시스템(100)에 포함된 하이브리드 메모리 장치(120)의 다른 하나의 예를 나타내는 블록도이다.
도 6을 참조하면, 하이브리드 메모리 장치(130)는 DRAM(134), 비휘발성 메모리(NVM)(135) 및 기판(132)을 포함할 수 있다.
도 6의 하이브리드 메모리 장치(130)는 DRAM(134) 및 비휘발성 메모리(NVM)(135)가 기판(132) 위에 3차원으로 적층된 스택 메모리(stacked memory) 장치이다. 하이브리드 메모리 장치(130)를 구성하는 각 층들(반도체 칩들)은 층간 연결 유닛인 관통전극(Through Silicon Via; TSV)(131)을 통해 전기적으로 연결될 수 있다.
도 6에 도시된 바와 같이, 반도체 칩들을 3차원적으로 적층하면, 시스템에서 반도체 장치가 차지하는 면적을 줄일 수 있다.
도 7은 본 발명의 다른 하나의 실시 예에 따른 하이브리드 메모리 장치를 포함하는 컴퓨터 시스템(300)을 나타내는 블록도이다.
도 7을 참조하면, 컴퓨터 시스템(300)은 중앙처리장치(310) 및 하이브리드 메모리 장치(320)를 포함한다.
중앙처리장치(310)는 커맨드(CMD)와 어드레스(ADDR)가 결합된 커맨드/어드레스 패킷(C/A PACKET), 데이터(DATA) 및 클럭신호(CLK)를 발생한다. 하이브리드 메모리 장치(320)는 중앙처리장치(310)로부터 커맨드/어드레스 버스(BUS_CA) 및 데이터 버스(BUS_D)를 통해 커맨드/어드레스 패킷(C/A PACKET) 및 데이터(DATA)를 각각 수신하고, 어드레스(ADDR)에 대응하는 메모리 공간에 데이터(DATA)를 기입(write)하거나 어드레스(ADDR)에 대응하는 메모리 공간으로부터 데이터를 읽어서 중앙처리장치(310)에 전송한다. 하이브리드 메모리 장치(320) 도 2에 도시된 바와 같이 DRAM(222) 및 NVM(224)을 포함할 수 있다.
도 7에 도시되지 않았지만, 중앙처리장치(310)에는 HDD(Hard-disk drive), SSD(solid-state drive) 등의 외부 메모리 장치가 연결될 수 있다.
본 발명의 실시예들에 따른 하이브리드 메모리 장치들(120, 220, 320)에 포함된 비휘발성 메모리(NVM)은 PRAM, RRAM 또는 플래시(flash) 메모리일 수 있다. PRAM은 상변화 물질을 가변 저항 소자로 사용하는 저항성 메모리 장치이고, RRAM은 전이금속 산화물을 가변 저항 소자로 사용하는 저항성 메모리 장치이다. 플래시 메모리는 플로팅 게이트를 가지며 제어 게이트에 인가되는 전압을 조절하여 문턱 전압을 변경하는 일종의 비휘발성 메모리 장치이다.
상기에서는 하나의 DRAM과 하나의 NVM으로 이루어진 하이브리드 메모리 장치에 대해 기술하였지만, 하이브리드 메모리 장치는 복수의 DRAM과 복수의 NVM으로 이루어질 수 있다. 또한, 하이브리드 메모리 장치는 비휘발성 메모리로서 DRAM이 아닌 SRAM을 포함할 수도 있다.
본 발명은 멀티칩 패키지(MCP)를 사용하는 메모리 장치 및 이를 포함하는 컴퓨터 시스템에 적용이 가능하다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100: 컴퓨터 시스템 110: 중앙처리장치
120, 220: 하이브리드 메모리 장치 124, 224: NVM
210: 운영 체제 211: 가상 메모리 매니저
213: 파일 시스템 230: 페이지 테이블
231: 메인 페이지 테이블 233: 서브 페이지 테이블
240: 외부 메모리 장치 250: 가상 메모리 공간

Claims (10)

  1. 디램(DRAM); 및
    비휘발성 메모리를 포함하고,
    중앙처리장치에 의해 프로그램이 처음 실행될 때, 외부 메모리 장치에서 상기 디램으로 데이터가 복사될 때 상기 비휘발성 메모리에도 상기 데이터가 복사되며, 상기 비휘발성 메모리의 데이터는 상기 디램을 통하지 않고 바로 외부로 출력되는 것을 특징으로 하는 하이브리드 메모리 장치.
  2. 제 1 항에 있어서, 상기 하이브리드 메모리 장치는
    멀티 칩 패키지(MCP)로 구현된 메모리 모듈인 것을 특징으로 하는 하이브리드 메모리 장치.
  3. 제 1 항에 있어서, 상기 하이브리드 메모리 장치는
    상기 디램 및 상기 비휘발성 메모리가 3차원적으로 적층된 스택 메모리 장치인 것을 특징으로 하는 하이브리드 메모리 장치.
  4. 제 3 항에 있어서,
    상기 디램 및 비휘발성 메모리는 관통전극(TSV)을 통해 서로 전기적으로 연결되는 것을 특징으로 하는 하이브리드 메모리 장치.
  5. 중앙처리장치(CPU); 및
    디램(DRAM) 및 비휘발성 메모리를 포함하고, 상기 중앙처리장치가 프로그램을 처음 실행할 경우, 외부 메모리 장치에서 상기 디램으로 데이터가 복사될 때 상기 비휘발성 메모리에도 상기 데이터가 복사하며, 상기 비휘발성 메모리의 데이터는 상기 디램을 통하지 않고 바로 외부로 출력하는 하이브리드 메모리 장치를 포함하는 컴퓨터 시스템.
  6. 제 5 항에 있어서,
    가상 메모리 매니저는 상기 외부 메모리 장치에서 상기 디램으로 데이터를 복사하고, 메인 페이지 테이블(main page table)을 갱신하는 것을 특징으로 하는 컴퓨터 시스템.
  7. 제 6 항에 있어서,
    상기 비휘발성 메모리의 주소와 프로그램의 가상 메모리 주소가 상기 메인 페이지 테이블을 통해 직접 링크된 경우, 상기 메인 페이지 테이블은 리드-온리 표시(read-only mark)를 포함하는 것을 특징으로 하는 컴퓨터 시스템.
  8. 제 7 항에 있어서,
    상기 리드-온리 표시는 상기 비휘발성 메모리의 주소에 대응하는 공간에 데이터가 직접 기입(write)되는 것을 방지하는 것을 특징으로 하는 컴퓨터 시스템.
  9. 제 6 항에 있어서,
    상기 비휘발성 메모리에 상기 데이터가 저장되었음을 나타내는 서브 페이지 테이블(sub page table)이 상기 비휘발성 메모리 내에 구축되는 것을 특징으로 하는 컴퓨터 시스템.
  10. 제 9 항에 있어서,
    프로그램 수행이 처음이 아닐 경우, 상기 중앙처리장치는 상기 프로그램 수행에 필요한 데이터를 얻기 위하여 상기 외부 메모리 장치를 체크하기 전에 상기 비휘발성 메모리를 먼저 체크하는 것을 특징으로 하는 컴퓨터 시스템.
KR1020110096563A 2011-09-23 2011-09-23 하이브리드 메모리 장치, 이를 포함하는 컴퓨터 시스템, 및 하이브리드 메모리장치의 데이터 기입 및 독출 방법 KR20130032772A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020110096563A KR20130032772A (ko) 2011-09-23 2011-09-23 하이브리드 메모리 장치, 이를 포함하는 컴퓨터 시스템, 및 하이브리드 메모리장치의 데이터 기입 및 독출 방법
US13/590,284 US20130080693A1 (en) 2011-09-23 2012-08-21 Hybrid memory device, computer system including the same, and method of reading and writing data in the hybrid memory device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110096563A KR20130032772A (ko) 2011-09-23 2011-09-23 하이브리드 메모리 장치, 이를 포함하는 컴퓨터 시스템, 및 하이브리드 메모리장치의 데이터 기입 및 독출 방법

Publications (1)

Publication Number Publication Date
KR20130032772A true KR20130032772A (ko) 2013-04-02

Family

ID=47912533

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110096563A KR20130032772A (ko) 2011-09-23 2011-09-23 하이브리드 메모리 장치, 이를 포함하는 컴퓨터 시스템, 및 하이브리드 메모리장치의 데이터 기입 및 독출 방법

Country Status (2)

Country Link
US (1) US20130080693A1 (ko)
KR (1) KR20130032772A (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103811048B (zh) * 2014-02-26 2017-01-11 上海新储集成电路有限公司 一种混合存储器结构的低功耗刷新方法
KR20160022453A (ko) 2014-08-19 2016-03-02 삼성전자주식회사 임베디드 메모리를 포함하는 이동식 전자 장치
KR102169634B1 (ko) 2014-09-30 2020-10-23 삼성전자주식회사 비휘발성 메모리 소자
US20180293164A1 (en) * 2015-10-01 2018-10-11 Hewlett-Packard Development Company, L.P. Automatic persistent memory management
US9817753B2 (en) 2015-11-02 2017-11-14 International Business Machines Corporation Flash memory management
US10705747B2 (en) 2018-03-21 2020-07-07 Micron Technology, Inc. Latency-based storage in a hybrid memory system
US10809942B2 (en) * 2018-03-21 2020-10-20 Micron Technology, Inc. Latency-based storage in a hybrid memory system
US10705963B2 (en) 2018-03-21 2020-07-07 Micron Technology, Inc. Latency-based storage in a hybrid memory system
CN111627475B (zh) * 2019-04-04 2022-12-13 深圳市晶凯电子技术有限公司 存储器和其电子装置及其测试系统、测试方法和应用方法
US10949356B2 (en) * 2019-06-14 2021-03-16 Intel Corporation Fast page fault handling process implemented on persistent memory

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7402897B2 (en) * 2002-08-08 2008-07-22 Elm Technology Corporation Vertical system integration
US7716411B2 (en) * 2006-06-07 2010-05-11 Microsoft Corporation Hybrid memory device with single interface
WO2008131058A2 (en) * 2007-04-17 2008-10-30 Rambus Inc. Hybrid volatile and non-volatile memory device
US8138610B2 (en) * 2008-02-08 2012-03-20 Qimonda Ag Multi-chip package with interconnected stacked chips
US8183673B2 (en) * 2008-10-21 2012-05-22 Samsung Electronics Co., Ltd. Through-silicon via structures providing reduced solder spreading and methods of fabricating the same
US20100162038A1 (en) * 2008-12-24 2010-06-24 Jared E Hulbert Nonvolatile/Volatile Memory Write System and Method
JP5580126B2 (ja) * 2010-07-14 2014-08-27 株式会社東芝 不揮発性記憶装置及びその製造方法

Also Published As

Publication number Publication date
US20130080693A1 (en) 2013-03-28

Similar Documents

Publication Publication Date Title
KR20130032772A (ko) 하이브리드 메모리 장치, 이를 포함하는 컴퓨터 시스템, 및 하이브리드 메모리장치의 데이터 기입 및 독출 방법
KR102387968B1 (ko) 데이터 저장 장치와 그 동작 방법
US11775455B2 (en) Storage device for interfacing with host and method of operating the host and the storage device
KR102367982B1 (ko) 데이터 저장 장치와 이를 포함하는 데이터 처리 시스템
CN106294194B (zh) 数据存储装置和具有该数据存储装置的数据处理系统
US10248328B2 (en) Direct data move between DRAM and storage on a memory module
TWI735529B (zh) 多階層記憶體之管理的技術
US10901627B1 (en) Tracking persistent memory usage
TWI492061B (zh) 經由主機傳輸速率偵測之操作模式或特徵之選擇性啟用
KR101014040B1 (ko) 디램 버퍼 관리 장치 및 방법
US20190043604A1 (en) Multi-level memory repurposing
KR20100086776A (ko) 복합 메모리 장치 및 이를 이용한 i/o 처리 방법
KR102506135B1 (ko) 데이터 저장 장치와 이를 포함하는 데이터 처리 시스템
KR20130033230A (ko) 하이브리드 메모리 장치, 이를 포함하는 시스템, 및 하이브리드 메모리장치의 데이터 기입 및 독출 방법
JP2013050938A (ja) メモリ・デバイス
US9268681B2 (en) Heterogeneous data paths for systems having tiered memories
KR20140142793A (ko) 불휘발성 메모리 장치를 제어하는 메모리 컨트롤러의 동작 방법 및 불휘발성 메모리 시스템
US10474359B1 (en) Write minimization for de-allocated memory
US20190095107A1 (en) Data classification for placement within storage devices
TWI727160B (zh) 具反及型緩衝器之反及型快閃記憶體儲存裝置
US20160291869A1 (en) Data storage device and data processing system including the same
KR102219759B1 (ko) 저장 장치, 그것을 포함하는 데이터 저장 시스템 및 그것의 동작 방법
US10795838B2 (en) Using transfer buffer to handle host read collisions in SSD
US10467020B2 (en) Memory device, and information-processing device
US11182284B2 (en) Memory module having volatile and non-volatile memory subsystems and method of operation

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid