KR101495975B1 - 휘발성 및 비휘발성 메모리를 갖는 하이브리드 고체 메모리 시스템 - Google Patents

휘발성 및 비휘발성 메모리를 갖는 하이브리드 고체 메모리 시스템 Download PDF

Info

Publication number
KR101495975B1
KR101495975B1 KR1020127030502A KR20127030502A KR101495975B1 KR 101495975 B1 KR101495975 B1 KR 101495975B1 KR 1020127030502 A KR1020127030502 A KR 1020127030502A KR 20127030502 A KR20127030502 A KR 20127030502A KR 101495975 B1 KR101495975 B1 KR 101495975B1
Authority
KR
South Korea
Prior art keywords
data
volatile memory
memory
response
volatile
Prior art date
Application number
KR1020127030502A
Other languages
English (en)
Other versions
KR20130005305A (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 컨버전트 인텔렉츄얼 프로퍼티 매니지먼트 인코포레이티드
Publication of KR20130005305A publication Critical patent/KR20130005305A/ko
Application granted granted Critical
Publication of KR101495975B1 publication Critical patent/KR101495975B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C14/00Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down
    • G11C14/0009Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down in which the volatile element is a DRAM cell
    • G11C14/0018Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down in which the volatile element is a DRAM cell whereby the nonvolatile element is an EEPROM element, e.g. a floating gate or metal-nitride-oxide-silicon [MNOS] transistor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/005Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor comprising combined but independently operative RAM-ROM, RAM-PROM, RAM-EPROM cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • 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
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • 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

Abstract

하이브리드 고체 메모리 시스템이 데이터를 저장하기 위해 제공된다. 그러한 고체 메모리 시스템은 휘발성 고체 메모리, 비휘발성 고체 메모리 및 메모리 제어기를 포함한다. 또한, 고체 메모리 시스템에 데이터를 저장하는 방법이 제공된다. 그 방법은 아래의 단계들을 포함한다. 기록 명령이 메모리 제어기에 의해 수신된다. 기록 데이터는 기록 명령에 응답하여 휘발성 메모리에 저장된다. 데이터는 데이터 전송 요구에 응답하여 휘발성 메모리로부터 비휘발성 메모리로 전송된다.

Description

휘발성 및 비휘발성 메모리를 갖는 하이브리드 고체 메모리 시스템{HYBRID SOLID-STATE MEMORY SYSTEM HAVING VOLATILE AND NON-VOLATILE MEMORY}
본 발명은 일반적으로 고체 메모리 시스템에 관한 것으로, 구체적으로는 휘발성 및 비휘발성 메모리의 양자를 포함하는 하이브리드 고체 메모리 시스템에 관한 것이다.
현재, 컴퓨터 시스템에서 가장 일반적인 대용량 저장 시스템은 하나 이상의 회전하는 디스크를 사용하여 데이터를 자기적으로 기록하는 하드 디스크 드라이브(HDD)이다. HDD가 다량의 정보를 저장할 수 있다고 하더라도, HDD는 고체 메모리와 비교하여 단점을 갖는다. 구체적으로는, HDD는 더 느린 판독/기록 속도, 더 높은 전력 소비, 더 큰 시스템 사이즈, 및 기계적인 쇼크에 대한 더 낮은 내구성을 갖는다.
고체 메모리는 메모리 칩을 사용하여 데이터를 저장하는 데이터 저장 장치이다. 예컨대, 플래시 메모리와 같은 비휘발성 고체 메모리가 그 메모리 밀도가 증가함에 따라 점진적으로 대중화되고 있다. 결국, 상기 논의된 바와 같이, 그 장점으로 인해, 고체 메모리가 노트북 컴퓨터와 같은 이동식 컴퓨터 내의 HDD를 대체할 것으로 생각된다.
그러나, 플래시 메모리의 사용과 관련된 알려진 문제점들이 있다. 하나의 알려진 문제점은 플래시 메모리 셀들이 제한된 횟수의 재기록 사이클을 갖는다는 것이다. 예를 들면, 일반적인 최대 횟수의 재기록 사이클은 100,000과 1,000,000 사이클 사이의 범위에 있다. 또한, 메모리 밀도 및 저비용 요건을 만족하기 위해, 멀티레벨 셀(MLC) 기술이 채용되기 쉽다. 그러나, MLC는 일반적으로 플래시 메모리 셀당 최대 횟수의 재기록 사이클을 2차수의 크기만큼 예컨대, 1,000,000 사이클에서 10,000 사이클로 감소한다.
플래시 메모리에 의한 다른 문제는 판독/프로그램 및 소거 동작 사이의 사이즈 불일치이다. 구체적으로는, 플래시 메모리에서, 판독 및 프로그램 동작은 페이지 기반으로 실행되는 반면, 소거 동작은 블록 기반으로 실행된다. 따라서, 최소 소거 가능 크기는 일반적으로 판독/프로그램 크기보다 16∼64배 더 크다. 플래시 메모리 장치 내의 메모리 셀들은 새로운 데이터가 프로그램되기 전에 소거되어야 하기 때문에, 전체 블록은 새로운 페이지를 기록하기 위해 소거되어야 한다. 이것이 제한된 횟수의 재기록 사이클을 갖는 문제점을 더욱 악화시킨다.
따라서, 이들 문제들을 다루기 위해 다수의 해결책들이 제안되어 왔다. 이들 시도된 해결책들의 다수가 Conley에게 특허 허여된 미국 특허 제6,763,424호에 기재되어 있다. 그러나, 이들 해결책은 일정한 개선점들만을 제공하므로, 그들 해결책은 여전히 재기록될 상당한 수의 페이지를 필요로 한다.
따라서, 플래시 메모리에 의해 실행되는 판독/기록 동작의 수를 더욱 감소시켜 메모리 시스템의 수명 기대를 연장시키는 메모리 시스템에 대한 요구가 있음을 알 수 있다.
본 발명의 목적은 상술한 단점의 적어도 일부를 제거하거나 완화시키는 것이다. 따라서, 다이나믹 랜덤 액세스 메모리(DRAM) 및 스태틱 랜덤 액세스 메모리(SRAM)과 같은 휘발성 메모리와, 플래시 메모리와 같은 비휘발성 메모리의 양자를 조합한 고체 메모리 저장 시스템이 제공된다. 메모리들은 전체 시스템 성능을 향상시키고 저장 장치의 수명 기대를 향상시키도록 각 타입의 메모리의 이익의 장점을 취하는 방법으로 조합된다.
본 발명의 일 양태에 따르면, 휘발성 고체 메모리; 비휘발성 고체 메모리; 상기 휘발성 메모리 내에 기록 데이터를 저장하도록 구성되고, 또한 데이터 전송 요구에 응답하여 상기 휘발성 메모리로부터 상기 비휘발성 메모리로 데이터를 전송하도록 구성된 메모리 제어기를 포함하는, 고체 메모리 시스템이 제공된다.
본 발명의 다른 양태에 따르면, 휘발성 고체 메모리, 비휘발성 고체 메모리 및 메모리 제어기를 포함하는 고체 메모리 시스템에 데이터를 저장하는 방법으로서, 기록 명령을 수신하는 단계; 상기 기록 명령에 응답하여 상기 휘발성 메모리에 기록 데이터를 저장하는 단계; 및 데이터 전송 요구에 응답하여 상기 휘발성 메모리로부터 상기 비휘발성 메모리로 데이터를 전송하는 단계를 포함하는, 고체 메모리 시스템에 데이터를 저장하는 방법이 제공된다.
이하 첨부하는 도면을 참조하여 본 발명의 실시예를 설명한다.
도 1은 고체 메모리 시스템을 도시하는 블록도이다.
도 2a는 복수의 블록을 갖는 메모리 셀 어레이 구조를 도시하는 블록도이다.
도 2b는 복수의 페이지를 갖는 블록 구조를 도시하는 블록도이다.
도 2c는 페이지 구조를 도시하는 블록도이다.
도 3a 및 3b는 각각 휘발성 및 비휘발성 메모리의 메모리 스페이스 맵이다.
도 4 및 5는 고체 메모리 시스템에 의해 실현되는 프로세스를 도시하는 흐름도이다.
도 6은 복수의 메모리 장치와 통신하기 위해 공통 버스를 사용하는 고체 메모리 시스템의 블록도이다.
도 7은 복수의 메모리 장치와 통신하기 위해 복수의 공통 버스를 사용하는 고체 메모리 시스템의 블록도이다.
도 8은 복수의 메모리 장치와 통신하기 위해 복수의 공통 버스를 사용하는 고체 메모리 시스템의 블록도이고, 각 버스는 하나의 타입의 메모리 장치와 통신한다.
도 9는 복수의 메모리 장치와 통신하기 위해 데이지 체인(daisy chain) 구조를 사용하는 고체 메모리 시스템의 블록도이다.
도 10은 복수의 메모리 장치와 통신하기 위해 복수의 체인을 사용하는 고체 메모리 시스템의 블록도이다.
도 11은 복수의 메모리 장치와 통신하기 위해 복수의 체인을 사용하는 고체 메모리 시스템의 블록도이고, 각 체인은 하나의 타입의 메모리 장치와 통신한다.
편의를 위해, 명세서에서 동일한 번호는 도면에서 동일한 구성을 지칭한다. 도 1을 참조하면, 고체 메모리 시스템의 블록도가 번호 100으로 전체적으로 도시되어 있다. 고체 메모리 시스템(100)은 메모리 제어기(102) 및 고체 메모리(104)를 포함한다. 외부 장치들(106)이 메모리 제어기(102)를 통해 고체 메모리(104)와 통신한다.
본 실시예에서는, 메모리 제어기(102)는 가상 매핑(mapping) 시스템(108)(또는 간단히 매핑 시스템(108))을 포함한다. 매핑 시스템(108)은 요구와 관련된 논리 어드레스를 고체 메모리(104)와 관련된 물리 어드레스에 매핑시키는 데 사용된다.
고체 메모리(104)는 휘발성 메모리(104a) 및 비휘발성 메모리(104b)를 포함한다. 이해되는 바와 같이, 휘발성 메모리(104a) 및 비휘발성 메모리(104b)의 양자는 하나 이상의 메모리 장치를 포함할 수 있다.
본 실시예에서는, 휘발성 메모리(104a)는 DRAM 메모리를 포함하고, 비휘발성 메모리(104b)는 NAND 플래시 메모리를 포함한다. 그러나, 다른 타입의 양 휘발성 및 비휘발성 메모리(104a 및 104b)가 사용될 수 있음을 이해할 것이다.
고체 메모리 시스템(100)이 휘발성 메모리를 포함하기 때문에, 고체 메모리 시스템(100)은 데이터를 유지하기 위해 내부 배터리(도시 생략)를 내장할 수도 있다. 고체 메모리 시스템(100)으로의 전력이 손실되면, 배터리는 휘발성 메모리(104a)로부터 비휘발성 메모리(104b)로 데이터를 카피하기에 충분한 전력을 유지할 것이다. 그러나, 더욱 일반적으로는, 배터리 전력은 외부 시스템의 부분으로서 제공될 것이다.
도 2a를 참조하면, 메모리 셀 어레이 구조를 도시하는 블록도가 번호 200으로 전체적으로 도시되어 있다. 셀 어레이(200)는 블록 0에서 블록 n-1까지 라벨이 붙여진 n개의 소거 가능한 블록(202)을 포함한다.
도 2b를 참조하면, 셀 어레이 블록(202)을 더욱 상세하게 도시하는 블록도가 도시되어 있다. 각 블록(202)은 페이지 0에서 페이지 m-1까지 라벨이 붙여진 m개의 프로그램 가능한 페이지(252)를 포함한다.
도 2c를 참조하면, 프로그램 가능한 페이지(252)를 더욱 상세하게 도시하는 블록도가 도시되어 있다. 각 페이지(252)는 데이터를 저장하는 데이터 필드(262) 및 에러 관리 기능과 같은 데이터와 관련된 부가 정보를 저장하는 스페어 필드(264)를 포함한다. 데이터 필드는 j 바이트(B)를 포함하고, 스페어 필드는 k 바이트(B)를 포함한다.
따라서, 각 페이지(252)는 (j+k) 바이트(B)를 포함하는 것을 알 수 있다. 각 블록(202)은 m개의 페이지(252)를 포함하므로, 하나의 블록(202)은 (j+k)*m 바이트(B)이다. 또한, n개의 블록(202)의 셀 어레이(200)에 대한 총 메모리 사이즈는 (j+k)*m*n 바이트(B)이다. 편의를 위해, 아래의 약어들이 사용된다: 즉, 1B=8비트; 1K=1024; 및 1G=1024M.
도 3a 및 3b를 참조하면, 본 발명에 따르는 휘발성(104a) 및 비휘발성(104b) 메모리를 각각 도시하는 블록도가 도시되어 있다. 아래의 설명은 페이지, 블록 및 셀에 대한 예시적인 사이즈를 제공한다. 그러나, 이들 사이즈는 상이한 실현을 위해 크게 변화할 수 있고 기술 진보에 따라 지속적으로 변화하는 것을 이해할 것이다. 또한, 예컨대, DRAM과 같은 휘발성 메모리(104a)는 블록 및 페이지 구조를 반드시 갖지 않는 것도 이해할 것이다. 따라서, 휘발성 메모리(104a)에 일시적으로 저장되는 어떤 데이터가 대응하는 블록 어드레스 및/또는 페이지 어드레스를 가질 수도 있다. 블록 어드레스 및/또는 페이지 어드레스는 데이터가 비휘발성 메모리(104b)에 전송될 때 참조된다. 따라서, 휘발성 메모리(104a) 내의 데이터가 블록 및 페이지 어드레스 가능한 한, 휘발성 메모리(104a) 자체는 비휘발성 메모리(104b)에 대해 물리적으로 매핑될 필요는 없다.
본 실시예에서는, 페이지(252)의 사이즈가 휘발성(104a) 및 비휘발성(104b) 메모리 양자에 대해 동일하다. 구체적으로는, 페이지(252)는 2112B; 즉, 데이터 필드(262)용의 2048B; 및 스페어 필드(264)용의 64B를 포함한다.
또한, 블록(202)의 사이즈가 휘발성(104a) 및 비휘발성(104b) 메모리 양자에 대해 동일하다. 구체적으로는, 각 블록(202)이 64개의 페이지(252)를 포함하기 때문에, 각 블록(202)은 132KB; 즉, 데이터 필드(262)용의 128KB; 및 스페어 필드(264)용의 4KB를 포함한다.
본 실시예에 따르면, 휘발성 메모리(104a) 내의 블록(202)의 수는 비휘발성 메모리(104b) 내의 블록(202)의 수보다 더 적다. 구체적으로는, 휘발성 메모리(104a)는 8K 블록을 포함하고, 비휘발성 메모리(104b)는 256K 블록을 포함한다. 따라서, 휘발성 메모리(104a)는 1056MB; 즉, 데이터 필드(262)용의 1GB; 및 스페어 필드(264)용의 32MB를 포함한다. 비휘발성 메모리(104b)는 33GB; 즉, 데이터 필드(262)용의 32GB; 및 스페어 필드(264)용의 1GB를 포함한다.
명확하게 하기 위해, NAND 플래시 장치의 일반적인 동작을 아래와 같이 설명한다. 판독 및 프로그램 동작은 페이지 기반으로 실행되는 한편, 소거 동작은 블록 기반으로 실행된다.
판독 동작을 위해, 논리 어드레스가 후속하는 READ 명령이 고체 메모리 시스템(100)에 전송된다. 매핑 시스템은 논리 어드레스에 대응하는 물리 어드레스를 판정한다. 물리 어드레스에 대응하는 데이터는 휘발성 메모리(104a)로부터, 또는 물리 어드레스가 휘발성 메모리(104) 내에 존재하지 않는 경우 비휘발성 메모리(104b)로부터 판독된다.
데이터가 비휘발성 메모리(104b)로부터 판독되는 경우에는, 판독 데이터는 휘발성 메모리(104a)에서 프로그램될 수 있다. 그에 대한 상세한 설명은 도 4 및 5를 참조하여 이루어진다.
프로그램 동작을 위해, 어드레스 및 입력 데이터가 후속하는 PROGRAM 명령이 고체 메모리 시스템(100)에 발행된다. 데이터는 초기에 휘발성 메모리(104a)에서 프로그램된다. PROGRAM 명령에 의해 언급되는 어드레스가 이미 휘발성 메모리(104a)에서 프로그램되었다면, 데이터는 그 어드레스에 오버라이트된다. PROGRAM 명령에 의해 언급되는 어드레스가 아직 휘발성 메모리(104a)에서 프로그램되지 않았다면, 어드레스용 스페이스가 휘발성 메모리(104a) 내에 확립된다.
블록 소거 동작을 위해, 블록 어드레스가 후속하는 BLOCK ERASE 명령이 고체 메모리 시스템(100)에 발행된다. 블록 내의 128K 바이트의 데이터가 미리 정해진 블록 소거 시간 tBERS 미만에서 소거된다. 도 4를 참조하면, 일 실시예에 따르는 고체 메모리 시스템(100)에 의해 실현되는 프로세스를 도시하는 흐름도가 번호 400으로 전체적으로 도시되어 있다. 단계 402에서, 메모리 제어기(102)는 동작 요구를 수신한다. 동작 요구는 일반적으로, 명령을 포함한다. 명령의 타입은 예를 들면, 판독, 프로그램 및 소거를 포함한다. 명령에 따라, 다른 정보가 동작 요구의 부분으로서 포함될 수도 있다. 예를 들면, 판독 및 기록 명령의 양자가 논리 어드레스를 포함한다. 또한, 기록 명령도 기록될 데이터를 포함한다.
단계 404에서, 메모리 제어기(102)는 요구를 처리하고 요구된 동작이 판정된다. 단계 406에서, 요구가 휘발성 메모리(104a)로부터 비휘발성 메모리(104b)로 데이터의 전송을 수반하는 동작을 포함하는지의 여부가 판정된다. 데이터가 전송되어야 할 다수의 상황이 존재한다. 예를 들면, 시스템 재시동, 시스템 파워 다운 또는 메모리 유지보수 동작은 데이터 전송 요구를 생성할 수 있다. 따라서, 데이터를 전송하라는 요구가 메모리 제어기(102)에서 수신되면, 프로세스는 단계 408에서 지속한다. 수신되지 않으면, 프로세스는 단계 414에서 지속한다.
단계 408에서, 휘발성 메모리(104a)에 저장된 데이터는 비휘발성 메모리(104b)에 전송되고 매핑 시스템(108)이 따라서 갱신된다. 전송은 비휘발성 메모리(104b) 내의 데이터를 갱신하기 위한 어떠한 최신식 방법에 따라 달성될 수 있다. 단계 409에서, 매핑 시스템(108)은 비휘발성 메모리(104b) 내에 있는 전송된 데이터의 물리 어드레스로 갱신된다. 단계 410에서, 데이터의 전송이 파워 다운 동작에 응답한 것이었는지의 여부가 판정된다. 데이터 전송이 파워 다운 동작에 응답하여 실행된 것이면, 단계 412에서 고체 메모리 시스템(100)은 파워 다운한다. 데이터 전송이 다른 동작에 응답하여 실행된 것이면, 프로세스는 단계 402로 리턴한다.
단계 414에서, 요구된 동작이 판독 동작인지 기록 동작인지가 판정된다. 동작이 판독 동작이라고 판정된 경우, 프로세스는 단계 416에서 지속한다. 동작이 기록 동작이라고 판정된 경우, 프로세스는 단계 420에서 지속한다.
단계 416에서, 메모리 제어기(102)는 매핑 시스템(108)을 사용하여 판독될 데이터의 수신된 논리 어드레스를 물리 어드레스로 바꾼다. 단계 418에서, 데이터는 당업계에서 표준인 것으로서 비휘발성 메모리(104b)로부터 판독되고 프로세스는 단계 402로 리턴한다.
단계 420에서, 메모리 제어기(102)는 매핑 시스템(108)을 사용하여 기록될 데이터의 수신된 논리 어드레스를 물리 어드레스로 바꾼다. 단계 422에서, 매핑 시스템(108)은 물리 어드레스가 비휘발성 메모리 어드레스 또는 휘발성 메모리 어드레스에 매치하는지를 판정한다.
물리 어드레스가 휘발성 메모리 어드레스에 대응하는 경우, 프로세스는 단계 424에서 지속한다. 단계 424에서, 기록 동작을 수반하는 데이터가 휘발성 메모리 내의 물리 어드레스에 기록되어 기존의 데이터를 오버라이트한다. 데이터를 DRAM과 같은 휘발성 메모리(104a)에 기록하는 것은 메모리가 기록 동작 이전에 소거되는 것을 필요로 하지 않는다. 또한, 휘발성 메모리(104a)는 플래시 메모리와 같은 비휘발성 메모리(104b)와 관련된 재기록 사이클 제한을 받지 않는다. 데이터가 휘발성 메모리(104a)에 기록되면, 프로세스는 단계 434로 지속한다. 단계 434에서, 매핑 시스템(108)은 기록 데이터의 물리 어드레스로 갱신되고, 프로세스는 하나의 동작이 대기중이면 다음 동작을 실행하기 위해 단계 402로 리턴한다.
물리 어드레스가 비휘발성 메모리 어드레스에 대응하는 경우, 프로세스는 단계 426에서 지속한다. 단계 426에서, 메모리 제어기는 휘발성 메모리(104a) 내에서 사용 가능한 스페이스의 크기를 판정한다. 단계 428에서, 사용 가능한 스페이스의 크기가 데이터가 기록되는 데 필요한 스페이스의 크기보다 더 큰지의 여부를 판정한다. 충분하지 않은 스페이스가 존재하면, 프로세스는 단계 430에서 지속한다. 충분한 스페이스가 존재하면, 프로세스는 단계 432에서 지속한다.
단계 430에서, 휘발성 메모리(104a)에 저장된 데이터의 적어도 일부분이 비휘발성 메모리(104b)에 전송된다. 본 실시예에서는, 미리 정해진 수의 블록이 휘발성 메모리(104a)에서 비휘발성 메모리(104b)로 전송된다. 또한, 본 실시예에서는, 전송을 위해 선택된 블록은 가장 "스테일한(stale)" 것이다. 즉, 전송되는 블록은 장시간 동안 액세스되지 않았던 것이다. 단계 408을 참조하여 설명된 바와 같이, 페이지는 다수의 최신식 방법 중 하나에 따라서 비휘발성 메모리(104b)에 기록될 수 있다. 단계 431에서, 매핑 시스템(108)은 전송된 데이터에 대한 물리 어드레스의 변화를 반영하도록 갱신되고, 프로세스는 단계 428로 리턴한다.
단계 432에서, 데이터가 휘발성 메모리(104a)에 기록된다. 휘발성 메모리(104a)에 데이터를 기록하는 데 사용된 방법은 당업자에 의해 이해되는 바와 같은 어떠한 최신식 방법일 수도 있다. 단계 434에서, 매핑 시스템(108)은 기록 데이터의 물리 어드레스로 갱신되고, 프로세스는 하나의 동작이 대기중이면 다음 동작을 실행하기 위해 단계 402로 리턴한다.
따라서, 본 실시예는 고체 메모리 시스템의 전체 성능을 향상시키기 위해 휘발성 및 비휘발성 메모리의 양자의 조합을 사용하는 것을 알 수 있다. 구체적으로는, 비교적 저렴한 비휘발성 메모리가 데이터의 지속적인 저장을 제공하도록 사용된다. 휘발성 메모리는 비휘발성 메모리의 사용과 관련된 제한을 개선하는 데 사용된다. 예를 들면, 상술한 바와 같은 휘발성 메모리의 사용은 고체 메모리 시스템의 전체 시간 성능을 향상시킨다. 또한, 몇 개의 기록 동작이 비휘발성 메모리에 실행되기 때문에, 비휘발성 메모리의 유효 수명 기대가 높아진다.
또한, 본 실시예에서는, 판독 동작이 비휘발성 메모리(104b)로부터 데이터를 간단히 판독하여 그 데이터를 요구하는 장치나 프로세서에 출력함으로써 실현된다. 그러나, 어떤 경우에는 휘발성 메모리(104a)로도 판독 데이터를 로드하는 것이 바람직할 수도 있음을 이해할 것이다.
따라서, 도 5를 참조하면, 대체 실시예에 따르는 고체 메모리 시스템(100)에 의해 실현되는 프로세스를 도시하는 흐름도가 번호 500에 의해 전체적으로 도시되어 있다. 본 실시예에서는, 데이터 전송 및 기록 동작이 도 4를 참조하여 설명한 것과 동일하게 다루어진다. 따라서, 도 5는 판독 동작에 대한 대체 프로세스를 도시하고 설명은 단계 414에서 시작한다.
단계 414에서, 동작 요구는 판독 동작에 대한 것이고 프로세스는 단계 502에서 지속한다. 단계 502에서, 메모리 제어기(102)는 판독될 데이터의 논리 어드레스를 매핑 시스템(108)을 사용하여 물리 어드레스로 바꾼다. 단계 504에서, 매핑 시스템(108)은 물리 어드레스가 비휘발성 메모리 어드레스 또는 휘발성 메모리 어드레스에 매치하는지를 판정한다.
물리 어드레스가 휘발성 메모리 어드레스에 대응하면, 프로세스는 단계 506에서 지속한다. 단계 506에서, 데이터는 판독 동작과 관련된 휘발성 메모리 내의 물리 어드레스에서 판독된다. 데이터는 최신식 방법을 사용하여 판독될 수 있음을 이해할 것이다. 데이터가 휘발성 메모리(104a)로부터 판독되면, 프로세스는 단계 402로 리턴한다.
물리 어드레스가 비휘발성 메모리 어드레스에 대응하면, 프로세스는 단계 508에서 지속한다. 단계 508에서, 요구된 데이터가 판독 동작과 관련된 비휘발성 메모리(104b) 내의 물리 어드레스로부터 판독된다. 단계 506에서 설명된 바와 같이, 데이터는 최신식 방법을 사용하여 판독될 수 있다. 단계 510에서, 비휘발성 메모리(104b)로부터 판독된 데이터는 요구하는 장치(106)에 사용 가능하게 만들어진다.
단계 552에서, 메모리 제어기(102)는 휘발성 메모리(104a)에서 사용 가능한 스페이스의 크기 및 사용 가능한 스페이스의 크기가 휘발성 메모리(104a)에 기록될 데이터에 필요한 스페이스의 크기보다 큰 지의 여부를 판정한다. 충분하지 않은 스페이스가 있으면, 프로세스는 단계 554에서 지속한다. 충분한 공간이 있으면, 프로세스는 단계 512에서 지속한다.
단계 554에서, 휘발성 메모리(104a)에 저장된 데이터의 적어도 일부가 비휘발성 메모리(104b)에 전송된다. 본 실시예에서는, 미리 정해진 수의 블록이 휘발성 메모리(104a)에서 비휘발성 메모리(104b)로 전송된다. 또한, 본 실시예에서는, 전송을 위해 선택된 블록은 가장 "스테일한" 것이다. 단계 408 및 430을 참조하여 설명한 바와 같이, 페이지는 다수의 최신식 방법 중 하나에 따라 비휘발성 메모리(104b)에 기록될 수 있다. 단계 555에서, 매핑 시스템(108)은 전송된 데이터에 대한 물리 어드레스의 변화를 반영하도록 갱신되고, 프로세스는 단계 552로 리턴한다. 단계 512에서, 비휘발성 메모리(104b)로부터 판독된 데이터가 휘발성 메모리(104a)에 기록된다. 단계 514에서, 매핑 시스템(108)은 판독 데이터에 대한 새로운 물리 어드레스로 갱신되고, 프로세스는 하나의 동작이 대기중이면 다음 동작을 실행하기 위해 단계 402로 리턴한다.
따라서, 도 4 및 5를 참조하여 설명한 실시예에서, 판독 동작뿐만 아니라 기록 동작을 위해서도 데이터가 휘발성 메모리(104a)로 로드되는 것을 알 수 있다. 이것은 향상된 휘발성 메모리의 액세스 속도로 인해 데이터가 비휘발성 메모리로 되돌려 전송되기 전에 동일한 데이터가 액세스되는 경우 고체 메모리 시스템 성능을 향상시킬 수 있다.
이전의 실시예에서, 데이터는 판독 또는 기록 동작에 응답하여 휘발성 메모리(104a)에 기록될 수 있다. 추가의 실시예에서, 데이터를 판독 동작이나 기록 동작 중 어느 것의 결과인 것으로 식별하기 위해 휘발성 메모리(104a)에 기록된 데이터의 각 페이지에 대해 태그가 제공된다. 태그는 매핑 시스템(108) 내 또는 페이지(252)의 스페어 필드(264) 내에 유지될 수 있다.
태그는 그 후에 프로세스에서의 다른 단계에 사용될 수 있다. 예를 들면, 데이터가 휘발성 메모리(104a)에서 비휘발성 메모리(104b)로 전송될 때, 기록 태그를 갖는 페이지들만 전송된다. 판독 태그를 갖는 페이지들은 데이터가 관련된 비휘발성 메모리 어드레스에 여전히 저장되어 있기 때문에 휘발성 메모리(104a)에서 삭제될 수도 있다. 따라서, 매핑 시스템(108)은 갱신될 필요가 있다.
또한, 이전의 실시예는 가장 스테일한 데이터에 따라 휘발성 메모리(104a)에서 자유로운 스페이스를 설명한다. 그러나, 어느 블록을 삭제할지를 판정하는 프로세스는 또한 페이지가 판독 또는 기록 태그를 포함하는지의 여부를 예상할 수도 있다. 예를 들면, 어떤 경우에는, 기록 태그를 포함하는 더 오래된 페이지보다 판독 태그를 포함하는 더 새로운 페이지를 삭제하는 것이 바람직할 수도 있다. 상이한 알고리즘이 하나 이상의 이들 또는 다른 고려사항을 사용하여 실현될 수 있다.
도 6을 참조하면, 대체 실시예에 따르는 고체 메모리 시스템의 블록도가 번호 600으로 도시되어 있다. 고체 메모리 시스템(600)은 메모리 제어기(102) 및 고체 메모리(104)를 포함한다. 본 실시예에서는, 고체 메모리(104)는 복수의 휘발성 메모리(104a) 및 복수의 비휘발성 메모리(104b)를 포함한다. 휘발성 메모리(104a) 및 복수의 비휘발성 메모리(104b)는 공통 버스(602)를 통해 메모리 제어기(102)와 결합된다.
단지 예시적인 목적으로, 휘발성 메모리 장치(104a)는 DRAM 장치이고 비휘발성 메모리 장치(104b)는 플래시 메모리 장치이다. 또한, 도면은 2개의 DRAM 장치와 4개의 플래시 메모리 장치를 도시하고 있지만, 장치의 수는 실시에 따라 변할 수 있다.
고체 메모리 장치(104a 또는 104b) 중 하나에 액세스하기 위해, 공통 버스(602)는 한번에 복수의 휘발성 메모리 장치(104a) 중 하나 또는 복수의 비휘발성 메모리 장치(104b) 중 하나를 인에이블시키는(enabling) 장치 인에이블 신호를 포함한다. 공통 버스 상에서 복수의 메모리 장치 중 하나를 기동시키기 위해 인에이블 신호를 사용하는 방법은 당업계에 잘 알려져 있어 상세하게 설명할 필요는 없다.
도 7을 참조하면, 또 다른 대체 실시예에 따르는 고체 메모리 시스템의 블록도가 번호 700으로 도시되어 있다. 고체 메모리 시스템(700)은 메모리 제어기(102) 및 고체 메모리(104)를 포함한다. 본 실시예에서는, 고체 메모리(104)는 복수의 휘발성 메모리 장치(104a) 및 복수의 비휘발성 메모리 장치(104b)를 포함한다. 휘발성 메모리 장치(104a) 및 복수의 비휘발성 메모리 장치(104b)는 공통 버스(602)를 통해 메모리 제어기(102)와 결합된다. 그러나, 이전의 실시예와 달리, 메모리 제어기(102)는 채널이라고 하는 복수의 버스를 제어한다.
고체 메모리 장치(104a 또는 104b) 중 하나에 액세스하기 위해, 각 채널(602)은 한번에 메모리 장치들 중 하나만을 인에이블시키는 장치 인에이블 신호를 포함한다. 요구된 동작이 판독 동작이면, 인에이블된 메모리 장치는 채널(602)로 데이터를 출력한다. 요구된 동작이 기록 동작이면, 인에이블된 메모리 장치는 채널(602)로부터 데이터를 기록한다.
각 채널(602)은 독립적으로 작동한다. 또한, 다수의 채널(602)이 동시에 액티브일 수 있다. 이 스킴(scheme)을 사용하여, 채널들(602)이 병렬로 동작하기 때문에, 시스템 성능이 실현되는 채널(602)의 수와 함께 증가한다.
도 8을 참조하면, 대체 실시예에 따르는 고체 메모리 시스템의 블록도가 번호 800으로 도시되어 있다. 본 실시예는 이전의 실시예와 유사하고 복수의 채널(602)을 포함한다. 그러나, 본 실시예에서는, 각 채널에 특정 타입의 고체 메모리 장치가 할당된다. 즉, n-채널 고체 메모리 시스템(800)에 대해, m개의 채널이 휘발성 메모리 장치(104a)와 배타적으로 결합되고, n-m개의 채널이 비휘발성 메모리 장치(104b)에 배타적으로 결합된다.
도 9를 참조하면, 또 다른 대체 실시예에 따르는 고체 메모리 시스템의 블록도가 번호 900으로 도시되어 있다. 고체 메모리 시스템(900)은 메모리 제어기(102) 및 고체 메모리(104)를 포함한다. 본 실시예에서는, 고체 메모리(104)는 복수의 휘발성 메모리 장치(104a) 및 복수의 비휘발성 메모리 장치(104b)를 포함한다. 휘발성 메모리 장치(104a) 및 복수의 비휘발성 메모리 장치(104b)는 데이지 체인 구조로 메모리 제어기(102)와 결합된다. 즉, 메모리 제어기(102)는 메모리 장치들(104a 또는 104b) 중 첫번째 장치(902)에 결합된다. 나머지 메모리 장치들(104a 및 104b)은 직렬로 결합되고 최후의 직렬로 결합된(904) 메모리 장치(104a 또는 104b)가 메모리 제어기(102)에 되돌려 결합된다.
고체 메모리 장치들(104a 또는 104b) 중 하나에 액세스하기 위해, 메모리 제어기(102)는 제1 메모리 장치(902)에 요구를 출력한다. 요구는 타깃(target) 장치에 도달할 때까지 메모리 장치들(104a 또는 104b)을 통과한다. 타깃 장치는 요구된 동작을 실행하고, 그 결과는 필요한 경우, 최후의 장치(904)에 도달할 때까지 메모리 장치들의 체인을 계속 통과하여 그 결과를 메모리 제어기(102)에 리턴시킨다. 복수의 메모리 장치 중 하나를 기동시키기 위해 인에이블 신호를 사용하는 방법은 당업계에 잘 알려져 있어 상세하게 설명할 필요는 없다.
도 10을 참조하면, 또 다른 대체 실시예에 따르는 고체 메모리 시스템의 블록도가 번호 1000으로 도시되어 있다. 고체 메모리 시스템(1000)은 메모리 제어기(102) 및 고체 메모리(104)를 포함한다. 본 실시예에서는, 고체 메모리(104)는 복수의 휘발성 메모리 장치(104a) 및 복수의 비휘발성 메모리 장치(104b)를 포함한다. 휘발성 메모리 장치(104a) 및 복수의 비휘발성 메모리 장치(104b)는 데이지 체인 구조로 메모리 제어기(102)와 결합된다. 그러나, 이전의 실시예와 달리, 메모리 제어기(104)는 복수의 체인을 제어한다.
각 체인은 독립적으로 작동한다. 또한, 다수의 체인이 동시에 액티브일 수 있다. 이 스킴을 사용하여, 체인들이 병렬로 동작하기 때문에, 시스템 성능이 실현되는 체인의 수와 함께 증가한다.
도 11을 참조하면, 또 다른 대체 실시예에 따르는 고체 메모리 시스템의 블록도가 번호 1100으로 도시되어 있다. 본 실시예는 이전의 실시예와 유사하고 복수의 체인을 포함한다. 그러나, 본 실시예에서는, 각 체인에 특정 타입의 고체 메모리 장치가 할당된다. 즉, n-체인 고체 메모리 시스템(1100)에 대해, m개의 체인이 휘발성 메모리 장치(104a)와 배타적으로 결합되고, n-m개의 체인이 비휘발성 메모리 장치(104b)에 배타적으로 결합된다.
이전의 모든 실시예들은 휘발성 및 비휘발성 메모리 장치 양자를 포함하는 고체 메모리 장치를 실현하는 여러 가지 방법을 설명하였다. 장치들은 고체 메모리 장치의 성능 및 유효 수명 기대를 높이는 방식으로 조합된다.
이전의 실시예들이 휘발성 메모리(104a)가 비휘발성 메모리(104b)보다 더 적은 블록(202)을 갖는 것으로서 설명하고 있지만, 이것이 사실일 필요는 없다. 이러한 구성은 비용, 사이즈 및 지속성에 관한 휘발성 메모리(104a) 제한으로 인해 가장 가능성 있는 실시예일 것이다. 그러나, 휘발성 메모리(104a) 및 비휘발성 메모리(104b)의 각각에 대한 블록의 수가 동일한 상황이 있을 수도 있다. 또한, 휘발성 메모리(104a) 내의 블록의 수가 비휘발성 메모리(104b) 내의 블록의 수를 초과하는 상황도 있을 수 있다.
마지막으로, 본 발명을 임의의 특정 실시예를 참조하여 설명하였지만, 첨부하는 청구의 범위에 의해 정의된 바와 같이 본 발명의 사상 및 범위로부터 벗어남 없이 당업자에게는 여러 가지 변형이 명백해질 것이다.

Claims (16)

  1. 데이터를 기록하고 판독하기 위한 휘발성 고체 메모리;
    데이터를 기록하고 판독하기 위한 비휘발성 고체 메모리;
    상기 휘발성 메모리 및 상기 비휘발성 메모리와 통신하여 이들 메모리에 데이터를 기록하고 판독하기 위한 메모리 제어기를 포함하며, 상기 메모리 제어기는:
    - 데이터 판독 요구에 응답하여 상기 휘발성 메모리로부터 판독된 데이터를 수신하고;
    - 데이터 기록 요구에 응답하여 상기 수신된 데이터를 상기 비휘발성 메모리에 기록되도록 상기 비휘발성 메모리에 제공하도록 구성되고,
    데이터를 수신하고 데이터를 제공하는 것은 상기 휘발성 메모리에 불충분한 스페이스가 사용 가능한 때 발생하는 데이터 전송 요구에 응답하여 상기 메모리 제어기에 의해 수행되고,
    상기 데이터 전송 요구에 응답하여 전송된 데이터는 상기 휘발성 메모리에 저장된 데이터 중 가장 스테일한(stale) 부분이고,
    상기 휘발성 메모리로 기록되는 데이터는 상기 데이터가 판독 명령 또는 기록 명령에 응답하여 기록되는지를 식별하는 태그(tag)를 더 포함하고,
    상기 태그에 의해 식별된 기록 요구에 응답하여 기록되는 데이터만이 상기 데이터 전송 요구에 응답하여 전송되는, 메모리 시스템.
  2. 청구항 1에 있어서, 상기 메모리 제어기는 또한,
    - 상기 데이터 판독 요구에 응답하여 데이터를 상기 휘발성 메모리에 기록하기 전에, 상기 휘발성 메모리에서 사용 가능한 총 스페이스가 데이터가 상기 휘발성 메모리에 기록되기에 충분한지를 판정하도록 구성되는, 메모리 시스템.
  3. 청구항 2에 있어서, 상기 메모리 제어기는 또한,
    - 스페이스가 불충분한 경우, 상기 휘발성 메모리에 저장된 데이터의 적어도 일부를 상기 비휘발성 메모리에 전송하도록 구성되는, 메모리 시스템.
  4. 청구항 1에 있어서, 상기 휘발성 메모리 및 상기 비휘발성 메모리는 공통 버스를 통해 상기 메모리 제어기에 결합되는, 메모리 시스템.
  5. 청구항 1에 있어서, 상기 휘발성 메모리 및 상기 비휘발성 메모리는 복수의 버스를 통해 상기 메모리 제어기에 결합되며, 상기 버스들은 동시에 액세스될 수 있는, 메모리 시스템.
  6. 청구항 5에 있어서, 상기 복수의 버스 각각은 상기 휘발성 메모리나 상기 비휘발성 메모리 중 어느 것과 결합되는, 메모리 시스템.
  7. 삭제
  8. 데이터를 저장하고 저장된 데이터를 판독하도록 각각 구성되는 휘발성 고체 메모리 및 비휘발성 고체 메모리를 포함하는 고체 메모리 시스템에서의 데이터 저장을 제어하는 방법으로서,
    - 데이터 판독 요구에 응답하여 상기 휘발성 메모리로부터 판독된 데이터를 수신하는 단계; 및
    - 데이터 기록 요구에 응답하여 상기 수신된 데이터를 상기 비휘발성 메모리에 기록되도록 상기 비휘발성 메모리에 제공하는 단계를 포함하고,
    데이터를 수신하고 데이터를 제공하는 것은 상기 휘발성 메모리에 불충분한 스페이스가 사용 가능한 때 발생하는 데이터 전송 요구에 응답하여 수행되고,
    상기 데이터 전송 요구에 응답하여 전송된 데이터는 상기 휘발성 메모리에 저장된 데이터 중 가장 스테일한(stale) 부분이고,
    상기 휘발성 메모리로 기록되는 데이터는 상기 데이터가 판독 명령 또는 기록 명령에 응답하여 기록되는지를 식별하는 태그(tag)를 더 포함하고,
    상기 태그에 의해 식별된 기록 요구에 응답하여 기록되는 데이터만이 상기 데이터 전송 요구에 응답하여 전송되는, 고체 메모리 시스템에서의 데이터 저장을 제어하는 방법.
  9. 청구항 8에 있어서,
    - 상기 데이터 판독 요구에 응답하여 데이터를 상기 휘발성 메모리에 기록하기 전에, 상기 휘발성 메모리에서 사용 가능한 총 스페이스가 데이터가 상기 휘발성 메모리에 기록되기에 충분한지를 판정하는 단계를 더 포함하는, 고체 메모리 시스템에서의 데이터 저장을 제어하는 방법.
  10. 청구항 9에 있어서,
    - 스페이스가 불충분한 경우, 상기 휘발성 메모리에 저장된 데이터의 적어도 일부를 상기 비휘발성 메모리에 전송하는 단계를 더 포함하는, 고체 메모리 시스템에서의 데이터 저장을 제어하는 방법.
  11. 청구항 10에 있어서, 상기 수신하는 단계와 상기 제공하는 단계는 데이터 전송 요구에 응답하여 실행되는, 고체 메모리 시스템에서의 데이터 저장을 제어하는 방법.
  12. 청구항 11에 있어서, 상기 데이터 전송 요구는, 상기 휘발성 메모리로부터 상기 비휘발성 메모리로의 모든 데이터의 전송을 요구하는 명령에 응답하는, 고체 메모리 시스템에서의 데이터 저장을 제어하는 방법.
  13. 청구항 12에 있어서, 상기 모든 데이터의 전송을 요구하는 명령은 파워 다운(power down) 명령을 포함하는, 고체 메모리 시스템에서의 데이터 저장을 제어하는 방법.
  14. 청구항 11에 있어서, 상기 데이터 전송 요구는, 상기 휘발성 메모리에서의 사용 가능한 스페이스의 부족에 응답하는, 고체 메모리 시스템에서의 데이터 저장을 제어하는 방법.
  15. 청구항 14에 있어서, 상기 데이터 전송 요구는, 상기 휘발성 메모리에서의 사용 가능한 스페이스가 미리 정해진 임계치 미만으로 감소할 때 발생하는, 고체 메모리 시스템에서의 데이터 저장을 제어하는 방법.
  16. 청구항 14에 있어서, 상기 데이터 전송 요구는, 상기 휘발성 메모리에서의 사용 가능한 스페이스가 요구받은 명령을 실행하기에는 불충분할 때 발생하는, 고체 메모리 시스템에서의 데이터 저장을 제어하는 방법.
KR1020127030502A 2006-12-20 2007-12-18 휘발성 및 비휘발성 메모리를 갖는 하이브리드 고체 메모리 시스템 KR101495975B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/613,325 2006-12-20
US11/613,325 US7554855B2 (en) 2006-12-20 2006-12-20 Hybrid solid-state memory system having volatile and non-volatile memory
PCT/CA2007/002304 WO2008074140A1 (en) 2006-12-20 2007-12-18 Hybrid solid-state memory system having volatile and non-volatile memory

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020097013263A Division KR101495928B1 (ko) 2006-12-20 2007-12-18 휘발성 및 비휘발성 메모리를 갖는 하이브리드 고체 메모리 시스템

Publications (2)

Publication Number Publication Date
KR20130005305A KR20130005305A (ko) 2013-01-15
KR101495975B1 true KR101495975B1 (ko) 2015-02-26

Family

ID=39535937

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020127030502A KR101495975B1 (ko) 2006-12-20 2007-12-18 휘발성 및 비휘발성 메모리를 갖는 하이브리드 고체 메모리 시스템
KR1020097013263A KR101495928B1 (ko) 2006-12-20 2007-12-18 휘발성 및 비휘발성 메모리를 갖는 하이브리드 고체 메모리 시스템

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020097013263A KR101495928B1 (ko) 2006-12-20 2007-12-18 휘발성 및 비휘발성 메모리를 갖는 하이브리드 고체 메모리 시스템

Country Status (8)

Country Link
US (4) US7554855B2 (ko)
EP (1) EP2100306A4 (ko)
JP (4) JP5619423B2 (ko)
KR (2) KR101495975B1 (ko)
CN (2) CN103558993A (ko)
CA (1) CA2669690A1 (ko)
TW (2) TW201517051A (ko)
WO (1) WO2008074140A1 (ko)

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7554855B2 (en) * 2006-12-20 2009-06-30 Mosaid Technologies Incorporated Hybrid solid-state memory system having volatile and non-volatile memory
JP5401444B2 (ja) * 2007-03-30 2014-01-29 ラムバス・インコーポレーテッド 異なる種類の集積回路メモリ素子を有する階層メモリモジュールを含むシステム
US8874831B2 (en) * 2007-06-01 2014-10-28 Netlist, Inc. Flash-DRAM hybrid memory module
US7855916B2 (en) * 2007-10-24 2010-12-21 Rao G R Mohan Nonvolatile memory systems with embedded fast read and write memories
US10236032B2 (en) * 2008-09-18 2019-03-19 Novachips Canada Inc. Mass data storage system with non-volatile memory modules
JP5198245B2 (ja) 2008-12-27 2013-05-15 株式会社東芝 メモリシステム
US8489843B2 (en) * 2010-04-20 2013-07-16 Chip Memory Technology, Inc. Configurable memory device
US9058675B2 (en) * 2010-05-29 2015-06-16 Intel Corporation Non-volatile storage for graphics hardware
US20120026802A1 (en) * 2010-07-30 2012-02-02 Emanuele Confalonieri Managed hybrid memory with adaptive power supply
US10198350B2 (en) 2011-07-28 2019-02-05 Netlist, Inc. Memory module having volatile and non-volatile memory subsystems and method of operation
US10838646B2 (en) 2011-07-28 2020-11-17 Netlist, Inc. Method and apparatus for presearching stored data
US10380022B2 (en) 2011-07-28 2019-08-13 Netlist, Inc. Hybrid memory module and system and method of operating the same
US8570799B2 (en) * 2011-08-16 2013-10-29 Intel Mobile Communications GmbH Magnetic random access memory with conversion circuitry
US9600416B2 (en) 2011-09-30 2017-03-21 Intel Corporation Apparatus and method for implementing a multi-level memory hierarchy
US9342453B2 (en) 2011-09-30 2016-05-17 Intel Corporation Memory channel that supports near memory and far memory access
EP3451176B1 (en) 2011-09-30 2023-05-24 Intel Corporation Apparatus and method for implementing a multi-level memory hierarchy having different operating modes
EP2761480A4 (en) * 2011-09-30 2015-06-24 Intel Corp APPARATUS AND METHOD FOR IMPLEMENTING MULTINIVE MEMORY HIERARCHY ON COMMON MEMORY CHANNELS
US9697115B2 (en) 2011-10-26 2017-07-04 Hewlett-Packard Development Company, L.P. Segmented caches
US9697872B2 (en) * 2011-12-07 2017-07-04 Cypress Semiconductor Corporation High speed serial peripheral interface memory subsystem
US9507534B2 (en) 2011-12-30 2016-11-29 Intel Corporation Home agent multi-level NVM memory architecture
KR101380602B1 (ko) * 2012-03-07 2014-04-04 한국과학기술원 하이브리드 메모리 시스템에서 비휘발성 메모리의 웨어레벨링 방법 및 하이브리드 메모리 시스템
CN104094240A (zh) * 2012-04-30 2014-10-08 惠普发展公司,有限责任合伙企业 防止混合存储器模块被映射
US9063864B2 (en) 2012-07-16 2015-06-23 Hewlett-Packard Development Company, L.P. Storing data in presistent hybrid memory
JP6000754B2 (ja) * 2012-08-28 2016-10-05 キヤノン株式会社 画像処理装置、画像処理装置の制御方法、及びプログラム
CN103631722A (zh) * 2012-08-29 2014-03-12 联想(北京)有限公司 一种数据处理方法及电子设备
US9471484B2 (en) 2012-09-19 2016-10-18 Novachips Canada Inc. Flash memory controller having dual mode pin-out
US9417819B2 (en) * 2012-11-13 2016-08-16 Toshiba, Corporation Cache device for hard disk drives and methods of operations
MX364783B (es) * 2012-11-20 2019-05-07 Thstyme Bermuda Ltd Estructuras de unidades de estado sólido.
CN105706071A (zh) * 2013-09-26 2016-06-22 英特尔公司 持久性存储器的块存储孔
US9436563B2 (en) 2013-10-01 2016-09-06 Globalfoundries Inc. Memory system for mirroring data
US9400745B2 (en) * 2013-11-06 2016-07-26 International Business Machines Corporation Physical address management in solid state memory
US10248328B2 (en) 2013-11-07 2019-04-02 Netlist, Inc. Direct data move between DRAM and storage on a memory module
CN111274063B (zh) * 2013-11-07 2024-04-16 奈特力斯股份有限公司 混合内存模块以及操作混合内存模块的系统和方法
JP2015141575A (ja) * 2014-01-29 2015-08-03 京セラドキュメントソリューションズ株式会社 画像形成装置および制御方法
CN103811051B (zh) * 2014-02-17 2017-01-11 上海新储集成电路有限公司 一种分层存储器阵列及其工作方法
US9684853B2 (en) * 2014-04-15 2017-06-20 Kyocera Document Solutions Inc. Image forming apparatus that writes data from volatile memory to non-volatile memory
TWI525428B (zh) * 2014-06-04 2016-03-11 仁寶電腦工業股份有限公司 複合儲存單元的管理方法及其電子裝置
WO2015196464A1 (zh) * 2014-06-27 2015-12-30 华为技术有限公司 一种控制器、闪存装置和将数据写入闪存装置的方法
CN104575595B (zh) * 2014-12-12 2017-07-07 杭州华澜微电子股份有限公司 非易失性随机存取的存储装置
US20160188414A1 (en) * 2014-12-24 2016-06-30 Intel Corporation Fault tolerant automatic dual in-line memory module refresh
EP3268864B1 (en) 2015-03-11 2021-01-27 Rambus Inc. High performance non-volatile memory module
WO2016171934A1 (en) * 2015-04-20 2016-10-27 Netlist, Inc. Memory module and system and method of operation
US9536619B2 (en) * 2015-05-27 2017-01-03 Kabushiki Kaisha Toshiba Hybrid-HDD with improved data retention
US9904490B2 (en) * 2015-06-26 2018-02-27 Toshiba Memory Corporation Solid-state mass storage device and method for persisting volatile data to non-volatile media
US20170060434A1 (en) * 2015-08-27 2017-03-02 Samsung Electronics Co., Ltd. Transaction-based hybrid memory module
US10838818B2 (en) 2015-09-18 2020-11-17 Hewlett Packard Enterprise Development Lp Memory persistence from a volatile memory to a non-volatile memory
US9761312B1 (en) * 2016-03-16 2017-09-12 Micron Technology, Inc. FeRAM-DRAM hybrid memory
US20190095136A1 (en) * 2016-03-29 2019-03-28 Sony Corporation Memory control device, storage device, and information processing system
CN106201902A (zh) * 2016-06-24 2016-12-07 中电海康集团有限公司 一种sram位元与非易失性存储位元组成的复合阵列模块及其读写控制方法
CN107515729A (zh) * 2016-06-24 2017-12-26 中电海康集团有限公司 一种sram位元与非易失性存储位元组成的复合阵列模块及工作方法
US10354716B2 (en) * 2016-09-16 2019-07-16 Aspiring Sky Co. Limited SRAM based memory structures and methods thereof
WO2018106441A1 (en) 2016-12-09 2018-06-14 Rambus Inc. Memory module for platform with non-volatile storage
KR20180078512A (ko) * 2016-12-30 2018-07-10 삼성전자주식회사 반도체 장치
US10785301B2 (en) * 2017-08-03 2020-09-22 Toshiba Memory Corporation NVM express over fabrics
US10437499B2 (en) * 2017-12-22 2019-10-08 Nanya Technology Corporation Hybrid memory system and method of operating the same
US10691805B2 (en) * 2018-02-14 2020-06-23 GM Global Technology Operations LLC Resident manufacturing test software based system for mitigating risks associated with vehicle control modules
CN109741777A (zh) * 2018-12-28 2019-05-10 上海新储集成电路有限公司 一种提高速度和保持数据时间的存储器
US11307779B2 (en) * 2019-09-11 2022-04-19 Ceremorphic, Inc. System and method for flash and RAM allocation for reduced power consumption in a processor
CN115145489B (zh) * 2022-07-22 2023-03-24 北京熵核科技有限公司 一种基于缓存结构的对象扫描方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08129509A (ja) * 1994-11-01 1996-05-21 Canon Inc メモリ制御装置及び方法
JP2004505332A (ja) 2000-01-19 2004-02-19 クゥアルコム・インコーポレイテッド 高速データアクセスを維持しながらram寸法を減少させる方法および装置
JP2004348342A (ja) 2003-05-21 2004-12-09 Toshiba Corp Icカードとicカードの処理方法

Family Cites Families (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5430859A (en) * 1991-07-26 1995-07-04 Sundisk Corporation Solid state memory system including plural memory chips and a serialized bus
US5359569A (en) * 1991-10-29 1994-10-25 Hitachi Ltd. Semiconductor memory
JPH05216775A (ja) * 1991-10-29 1993-08-27 Hitachi Ltd 半導体記憶装置
JPH05299616A (ja) 1992-04-16 1993-11-12 Hitachi Ltd 半導体記憶装置
JP2768618B2 (ja) * 1992-08-28 1998-06-25 シャープ株式会社 半導体ディスク装置
JPH07200390A (ja) * 1993-12-28 1995-08-04 Toshiba Corp データアクセス方法
US5475854A (en) * 1994-01-28 1995-12-12 Vlsi Technology, Inc. Serial bus I/O system and method for serializing interrupt requests and DMA requests in a computer system
US5404460A (en) * 1994-01-28 1995-04-04 Vlsi Technology, Inc. Method for configuring multiple identical serial I/O devices to unique addresses through a serial bus
JPH0877066A (ja) * 1994-08-31 1996-03-22 Tdk Corp フラッシュメモリコントローラ
US5636342A (en) * 1995-02-17 1997-06-03 Dell Usa, L.P. Systems and method for assigning unique addresses to agents on a system management bus
US6567904B1 (en) * 1995-12-29 2003-05-20 Intel Corporation Method and apparatus for automatically detecting whether a memory unit location is unpopulated or populated with synchronous or asynchronous memory devices
US6418506B1 (en) * 1996-12-31 2002-07-09 Intel Corporation Integrated circuit memory and method for transferring data using a volatile memory to buffer data for a nonvolatile memory array
US6453365B1 (en) * 1998-02-11 2002-09-17 Globespanvirata, Inc. Direct memory access controller having decode circuit for compact instruction format
US6144576A (en) * 1998-08-19 2000-11-07 Intel Corporation Method and apparatus for implementing a serial memory architecture
US6304921B1 (en) * 1998-12-07 2001-10-16 Motorola Inc. System for serial peripheral interface with embedded addressing circuit for providing portion of an address for peripheral devices
JP2000288238A (ja) * 1999-04-02 2000-10-17 Konami Co Ltd ゲームシステム
JP2001051896A (ja) 1999-08-04 2001-02-23 Hitachi Ltd 記憶装置
US7827348B2 (en) * 2000-01-06 2010-11-02 Super Talent Electronics, Inc. High performance flash memory devices (FMD)
US6513094B1 (en) * 1999-08-23 2003-01-28 Advanced Micro Devices, Inc. ROM/DRAM data bus sharing with write buffer and read prefetch activity
JP2001265708A (ja) * 2000-03-16 2001-09-28 Toshiba Corp 電子機器及び電子機器の基板
US6816933B1 (en) * 2000-05-17 2004-11-09 Silicon Laboratories, Inc. Serial device daisy chaining method and apparatus
US6658509B1 (en) * 2000-10-03 2003-12-02 Intel Corporation Multi-tier point-to-point ring memory interface
JP3992960B2 (ja) * 2000-10-26 2007-10-17 松下電器産業株式会社 記録装置及びプログラム
EP1466326A2 (en) * 2001-01-17 2004-10-13 Honeywell International Inc. Enhanced memory module architecture
US6763424B2 (en) * 2001-01-19 2004-07-13 Sandisk Corporation Partial block data programming and reading operations in a non-volatile memory
JP4017177B2 (ja) * 2001-02-28 2007-12-05 スパンション エルエルシー メモリ装置
US6996644B2 (en) * 2001-06-06 2006-02-07 Conexant Systems, Inc. Apparatus and methods for initializing integrated circuit addresses
JP2003015928A (ja) * 2001-07-04 2003-01-17 Nec System Technologies Ltd フラッシュメモリのデータ格納装置及びそれに用いるデータ格納方法
US6928501B2 (en) * 2001-10-15 2005-08-09 Silicon Laboratories, Inc. Serial device daisy chaining method and apparatus
JP2003186579A (ja) * 2001-12-19 2003-07-04 Toshiba Corp 電子機器および電子機器の動作制御方法
ITTO20020118A1 (it) * 2002-02-08 2003-08-08 St Microelectronics Srl Dispositivo integrante una matrice di memoria non volatile e una matrice di memoria volatile.
JP2003256269A (ja) 2002-02-27 2003-09-10 Matsushita Electric Ind Co Ltd 不揮発性記憶装置の制御方法及びメモリ装置
US7073022B2 (en) * 2002-05-23 2006-07-04 International Business Machines Corporation Serial interface for a data storage array
US7231484B2 (en) * 2002-09-30 2007-06-12 Telefonaktiebolaget Lm Ericsson (Publ) Method and memory controller for scalable multi-channel memory access
CN100339823C (zh) * 2002-10-08 2007-09-26 松下电器产业株式会社 程序更新方法和终端设备
US7032039B2 (en) * 2002-10-30 2006-04-18 Atmel Corporation Method for identification of SPI compatible serial memory devices
KR100786603B1 (ko) * 2002-11-28 2007-12-21 가부시끼가이샤 르네사스 테크놀로지 메모리 모듈, 메모리시스템 및 정보기기
US7308524B2 (en) * 2003-01-13 2007-12-11 Silicon Pipe, Inc Memory chain
US6775184B1 (en) * 2003-01-21 2004-08-10 Nexflash Technologies, Inc. Nonvolatile memory integrated circuit having volatile utility and buffer memories, and method of operation thereof
US20040193782A1 (en) * 2003-03-26 2004-09-30 David Bordui Nonvolatile intelligent flash cache memory
KR100685770B1 (ko) * 2003-06-27 2007-02-26 후지쯔 가부시끼가이샤 데이터 전송 방법 및 시스템
US20050132128A1 (en) * 2003-12-15 2005-06-16 Jin-Yub Lee Flash memory device and flash memory system including buffer memory
US7031221B2 (en) * 2003-12-30 2006-04-18 Intel Corporation Fixed phase clock and strobe signals in daisy chained chips
JP4628684B2 (ja) 2004-02-16 2011-02-09 三菱電機株式会社 データ送受信装置及び電子証明書発行方法
US7269708B2 (en) * 2004-04-20 2007-09-11 Rambus Inc. Memory controller for non-homogenous memory system
US6950325B1 (en) * 2004-10-07 2005-09-27 Winbond Electronics Corporation Cascade-connected ROM
KR100578143B1 (ko) * 2004-12-21 2006-05-10 삼성전자주식회사 버퍼 메모리에 저장된 데이터를 무효화시키는 스킴을 갖는저장 시스템 및 그것을 포함한 컴퓨팅 시스템
KR100626393B1 (ko) 2005-04-07 2006-09-20 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 멀티-페이지 카피백 방법
EP1712985A1 (en) * 2005-04-15 2006-10-18 Deutsche Thomson-Brandt Gmbh Method and system for storing logical data blocks into flash-blocks in multiple non-volatile memories which are connected to at least one common data I/O bus
KR101257848B1 (ko) * 2005-07-13 2013-04-24 삼성전자주식회사 복합 메모리를 구비하는 데이터 저장 시스템 및 그 동작방법
US20070076502A1 (en) * 2005-09-30 2007-04-05 Pyeon Hong B Daisy chain cascading devices
US7652922B2 (en) * 2005-09-30 2010-01-26 Mosaid Technologies Incorporated Multiple independent serial link memory
US7516267B2 (en) * 2005-11-03 2009-04-07 Intel Corporation Recovering from a non-volatile memory failure
CN100507886C (zh) * 2005-12-22 2009-07-01 北京中星微电子有限公司 一种对非易失性存储器进行直接存储访问的方法及其装置
JP2007206799A (ja) * 2006-01-31 2007-08-16 Toshiba Corp データ転送装置、情報記録再生装置およびデータ転送方法
KR100765786B1 (ko) * 2006-06-12 2007-10-12 삼성전자주식회사 플래시 메모리 시스템, 그 프로그램을 위한 호스트 시스템및 프로그램 방법
US7685393B2 (en) * 2006-06-30 2010-03-23 Mosaid Technologies Incorporated Synchronous memory read data capture
US7539811B2 (en) * 2006-10-05 2009-05-26 Unity Semiconductor Corporation Scaleable memory systems using third dimension memory
US7508724B2 (en) * 2006-11-30 2009-03-24 Mosaid Technologies Incorporated Circuit and method for testing multi-device systems
US7554855B2 (en) * 2006-12-20 2009-06-30 Mosaid Technologies Incorporated Hybrid solid-state memory system having volatile and non-volatile memory
KR100909965B1 (ko) * 2007-05-23 2009-07-29 삼성전자주식회사 버스를 공유하는 휘발성 메모리 및 불휘발성 메모리를구비하는 반도체 메모리 시스템 및 불휘발성 메모리의 동작제어 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08129509A (ja) * 1994-11-01 1996-05-21 Canon Inc メモリ制御装置及び方法
JP2004505332A (ja) 2000-01-19 2004-02-19 クゥアルコム・インコーポレイテッド 高速データアクセスを維持しながらram寸法を減少させる方法および装置
JP2004348342A (ja) 2003-05-21 2004-12-09 Toshiba Corp Icカードとicカードの処理方法

Also Published As

Publication number Publication date
US7924635B2 (en) 2011-04-12
EP2100306A4 (en) 2010-03-10
US7554855B2 (en) 2009-06-30
CA2669690A1 (en) 2008-06-26
US20090279366A1 (en) 2009-11-12
US20080155185A1 (en) 2008-06-26
TWI476780B (zh) 2015-03-11
KR20130005305A (ko) 2013-01-15
CN101563729B (zh) 2013-09-25
JP2013061997A (ja) 2013-04-04
US20110153973A1 (en) 2011-06-23
KR20090102767A (ko) 2009-09-30
WO2008074140A1 (en) 2008-06-26
US20140185379A1 (en) 2014-07-03
US8670262B2 (en) 2014-03-11
JP2013200889A (ja) 2013-10-03
EP2100306A1 (en) 2009-09-16
CN101563729A (zh) 2009-10-21
JP2016026346A (ja) 2016-02-12
JP2010514017A (ja) 2010-04-30
TW201517051A (zh) 2015-05-01
TW200841352A (en) 2008-10-16
CN103558993A (zh) 2014-02-05
KR101495928B1 (ko) 2015-02-25
JP5619423B2 (ja) 2014-11-05

Similar Documents

Publication Publication Date Title
KR101495975B1 (ko) 휘발성 및 비휘발성 메모리를 갖는 하이브리드 고체 메모리 시스템
US5627783A (en) Semiconductor disk device
US8041884B2 (en) Controller for non-volatile memories and methods of operating the memory controller
US20160231941A1 (en) Solid state memory (ssm), computer system including an ssm, and method of operating an ssm
US6366977B1 (en) Semiconductor storage device employing cluster unit data transfer scheme and data management method thereof
US10991422B2 (en) Data storage device using a host memory buffer for single-level cell storage and control method for non-volatile memory
US20050015557A1 (en) Nonvolatile memory unit with specific cache
US20050055493A1 (en) [method for accessing large block flash memory]
US20100217918A1 (en) Data storage device and method for accessing flash memory
KR100963009B1 (ko) 파일 관리 시스템 및 방법
US20090210612A1 (en) Memory controller, nonvolatile memory device, and nonvolatile memory system
JP5259257B2 (ja) 記憶装置
CN111610929A (zh) 数据储存装置以及非挥发式存储器控制方法
KR20100055374A (ko) 파일 관리 시스템 및 방법

Legal Events

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

Payment date: 20180118

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190116

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20200115

Year of fee payment: 6