KR101495928B1 - 휘발성 및 비휘발성 메모리를 갖는 하이브리드 고체 메모리 시스템 - Google Patents
휘발성 및 비휘발성 메모리를 갖는 하이브리드 고체 메모리 시스템 Download PDFInfo
- Publication number
- KR101495928B1 KR101495928B1 KR1020097013263A KR20097013263A KR101495928B1 KR 101495928 B1 KR101495928 B1 KR 101495928B1 KR 1020097013263 A KR1020097013263 A KR 1020097013263A KR 20097013263 A KR20097013263 A KR 20097013263A KR 101495928 B1 KR101495928 B1 KR 101495928B1
- Authority
- KR
- South Korea
- Prior art keywords
- memory
- data
- volatile
- volatile memory
- solid state
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C14/00—Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down
- G11C14/0009—Digital 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/0018—Digital 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/005—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor comprising combined but independently operative RAM-ROM, RAM-PROM, RAM-EPROM cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital 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/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
- Memory System (AREA)
Abstract
하이브리드 고체 메모리 시스템이 데이터를 저장하기 위해 제공된다. 그러한 고체 메모리 시스템은 휘발성 고체 메모리, 비휘발성 고체 메모리 및 메모리 제어기를 포함한다. 또한, 고체 메모리 시스템에 데이터를 저장하는 방법이 제공된다. 그 방법은 아래의 단계들을 포함한다. 기록 명령이 메모리 제어기에 의해 수신된다. 기록 데이터는 기록 명령에 응답하여 휘발성 메모리에 저장된다. 데이터는 데이터 전송 요구에 응답하여 휘발성 메모리로부터 비휘발성 메모리로 전송된다.
Description
본 발명은 일반적으로 고체 메모리 시스템에 관한 것으로, 구체적으로는 휘발성 및 비휘발성 메모리의 양자를 포함하는 하이브리드 고체 메모리 시스템에 관한 것이다.
현재, 컴퓨터 시스템에서 가장 일반적인 대용량 저장 시스템은 하나 이상의 회전하는 디스크를 사용하여 데이터를 자기적으로 기록하는 하드 디스크 드라이브(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 (23)
- 휘발성 고체 메모리;비휘발성 고체 메모리;상기 휘발성 메모리 내에 기록 데이터를 저장하도록 구성되고, 또한 데이터 전송 요구에 응답하여 상기 휘발성 메모리로부터 상기 비휘발성 메모리로 적어도 일부의 데이터를 전송하도록 구성된 메모리 제어기를 포함하고,전송된 상기 일부의 데이터는 가장 스테일한(stale) 것이고,상기 휘발성 메모리로 기록되는 데이터는 상기 데이터가 판독 명령 또는 기록 명령에 응답하여 기록되는지를 식별하는 태그(tag)를 더 포함하고,상기 태그에 의해 식별된 기록 요구에 응답하여 기록되는 데이터만이 데이터 전송 요구에 응답하여 전송되는, 고체 메모리 시스템.
- 청구항 1에 있어서, 저장된 데이터의 논리 어드레스를 저장된 데이터의 물리 어드레스와 상관시키도록 구성된 매핑 시스템을 더 포함하고, 상기 매핑 시스템은 또한 상기 기록 데이터가 상기 비휘발성 메모리로 전송될 때 상기 기록 데이터의 물리 어드레스를 갱신하도록 구성된, 고체 메모리 시스템.
- 청구항 2에 있어서, 상기 메모리 제어기는 또한 판독 명령에 응답하여 상기 비휘발성 메모리로부터 상기 휘발성 메모리로 판독 데이터를 전송하도록 구성된, 고체 메모리 시스템.
- 청구항 3에 있어서, 상기 매핑 시스템은 또한 상기 판독 데이터가 상기 비휘발성 메모리로 전송될 때 상기 판독 데이터의 물리 어드레스를 갱신하도록 구성된, 고체 메모리 시스템.
- 청구항 1에 있어서, 상기 비휘발성 고체 메모리는 복수의 비휘발성 고체 장치들을 포함하는, 고체 메모리 시스템.
- 청구항 5에 있어서, 상기 휘발성 고체 메모리는 복수의 휘발성 고체 장치들을 포함하는, 고체 메모리 시스템.
- 청구항 6에 있어서, 상기 복수의 휘발성 및 비휘발성 고체 장치들은 공통 버스를 통해 상기 메모리 제어기에 결합되는, 고체 메모리 시스템.
- 청구항 6에 있어서, 상기 복수의 휘발성 및 비휘발성 고체 장치들은 복수의 버스들을 통해 상기 메모리 제어기에 결합되고, 상기 버스들은 동시에 액세스될 수 있는, 고체 메모리 시스템.
- 청구항 8에 있어서, 상기 복수의 버스들의 각각은 복수의 휘발성 메모리 장치들 또는 복수의 비휘발성 메모리 장치들과 결합되는, 고체 메모리 시스템.
- 청구항 6에 있어서, 상기 복수의 휘발성 및 비휘발성 고체 장치들은 데이지 체인(daisy chain)으로 상기 메모리 제어기와 결합되는, 고체 메모리 시스템.
- 청구항 6에 있어서, 상기 복수의 휘발성 및 비휘발성 고체 장치들은 복수의 데이지 체인들로 상기 메모리 제어기와 결합되고, 상기 데이지 체인들은 동시에 액세스될 수 있는, 고체 메모리 시스템.
- 청구항 11에 있어서, 상기 복수의 데이지 체인들의 각각은 복수의 휘발성 메모리 장치들 또는 복수의 비휘발성 메모리 장치들을 포함하는, 고체 메모리 시스템.
- 삭제
- 휘발성 고체 메모리, 비휘발성 고체 메모리 및 메모리 제어기를 포함하는 고체 메모리 시스템에 데이터를 저장하는 방법으로서,기록 명령을 수신하는 단계;상기 기록 명령에 응답하여 상기 휘발성 메모리에 기록 데이터를 저장하는 단계; 및데이터 전송 요구에 응답하여 상기 휘발성 메모리로부터 상기 비휘발성 메모리로 적어도 일부의 데이터를 전송하는 단계를 포함하고,전송된 상기 일부의 데이터는 가장 스테일한(stale) 것이고,상기 휘발성 메모리로 기록되는 데이터는 상기 데이터가 판독 명령 또는 기록 명령에 응답하여 기록되는지를 식별하는 태그(tag)를 더 포함하고,상기 태그에 의해 식별된 기록 요구에 응답하여 기록되는 데이터만이 데이터 전송 요구에 응답하여 전송되는, 고체 메모리 시스템에 데이터를 저장하는 방법.
- 청구항 14에 있어서, 상기 휘발성 메모리로부터 상기 비휘발성 메모리로 데이터를 전송할 때 매핑 시스템을 갱신하는 단계를 더 포함하는, 고체 메모리 시스템에 데이터를 저장하는 방법.
- 청구항 14에 있어서, 상기 데이터 전송 요구는 상기 휘발성 메모리로부터 상기 비휘발성 메모리로 모든 데이터의 전송을 요구하는 명령에 응답하는, 고체 메모리 시스템에 데이터를 저장하는 방법.
- 청구항 16에 있어서, 상기 모든 데이터의 전송을 요구하는 명령은 파워 다운 명령인, 고체 메모리 시스템에 데이터를 저장하는 방법.
- 청구항 14에 있어서, 상기 데이터 전송 요구는 상기 휘발성 메모리 내의 사용 가능한 스페이스의 부족에 응답하는, 고체 메모리 시스템에 데이터를 저장하는 방법.
- 청구항 18에 있어서, 상기 데이터 전송 요구는 상기 휘발성 메모리 내의 사용 가능한 스페이스가 미리 정해진 임계값 미만으로 감소할 때 발생하는, 고체 메모리 시스템에 데이터를 저장하는 방법.
- 청구항 18에 있어서, 상기 데이터 전송 요구는 요구된 명령을 실행하기에 상기 휘발성 메모리 내에 사용 가능한 스페이스가 불충분할 때 발생하는, 고체 메모리 시스템에 데이터를 저장하는 방법.
- 청구항 14에 있어서, 판독 명령에 응답하여 상기 비휘발성 메모리로부터 상기 휘발성 메모리로 데이터를 전송하는 단계를 더 포함하는, 고체 메모리 시스템에 데이터를 저장하는 방법.
- 청구항 21에 있어서, 상기 비휘발성 메모리로부터 상기 휘발성 메모리로 데이터를 전송할 때 매핑 시스템을 갱신하는 단계를 더 포함하는, 고체 메모리 시스템에 데이터를 저장하는 방법.
- 청구항 21에 있어서, 상기 데이터 전송 요구는 요구된 명령을 실행하기에 상기 휘발성 메모리 내에 사용 가능한 스페이스가 불충분할 때 발생하는, 고체 메모리 시스템에 데이터를 저장하는 방법.
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 Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020127030502A Division KR101495975B1 (ko) | 2006-12-20 | 2007-12-18 | 휘발성 및 비휘발성 메모리를 갖는 하이브리드 고체 메모리 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090102767A KR20090102767A (ko) | 2009-09-30 |
KR101495928B1 true KR101495928B1 (ko) | 2015-02-25 |
Family
ID=39535937
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020097013263A KR101495928B1 (ko) | 2006-12-20 | 2007-12-18 | 휘발성 및 비휘발성 메모리를 갖는 하이브리드 고체 메모리 시스템 |
KR1020127030502A KR101495975B1 (ko) | 2006-12-20 | 2007-12-18 | 휘발성 및 비휘발성 메모리를 갖는 하이브리드 고체 메모리 시스템 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020127030502A KR101495975B1 (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) | KR101495928B1 (ko) |
CN (2) | CN103558993A (ko) |
CA (1) | CA2669690A1 (ko) |
TW (2) | TWI476780B (ko) |
WO (1) | WO2008074140A1 (ko) |
Families Citing this family (59)
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 |
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 |
US10198350B2 (en) | 2011-07-28 | 2019-02-05 | Netlist, Inc. | Memory module having volatile and non-volatile memory subsystems and method of operation |
US8570799B2 (en) * | 2011-08-16 | 2013-10-29 | Intel Mobile Communications GmbH | Magnetic random access memory with conversion circuitry |
EP2761466B1 (en) | 2011-09-30 | 2020-08-05 | Intel Corporation | Apparatus and method for implementing a multi-level memory hierarchy |
WO2013048493A1 (en) | 2011-09-30 | 2013-04-04 | Intel Corporation | Memory channel that supports near memory and far memory access |
CN107608910B (zh) | 2011-09-30 | 2021-07-02 | 英特尔公司 | 用于实现具有不同操作模式的多级存储器分级结构的设备和方法 |
CN103946826B (zh) * | 2011-09-30 | 2019-05-31 | 英特尔公司 | 用于在公共存储器通道上实现多级存储器层级的设备和方法 |
KR101842321B1 (ko) | 2011-10-26 | 2018-03-26 | 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. | 세그먼트화된 캐시 |
US9697872B2 (en) * | 2011-12-07 | 2017-07-04 | Cypress Semiconductor Corporation | High speed serial peripheral interface memory subsystem |
WO2013101201A1 (en) * | 2011-12-30 | 2013-07-04 | Intel Corporation | Home agent multi-level nvm memory architecture |
KR101380602B1 (ko) * | 2012-03-07 | 2014-04-04 | 한국과학기술원 | 하이브리드 메모리 시스템에서 비휘발성 메모리의 웨어레벨링 방법 및 하이브리드 메모리 시스템 |
US20140337589A1 (en) * | 2012-04-30 | 2014-11-13 | David G. Carpenter | Preventing a hybrid memory module from being mapped |
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 |
CA2891355C (en) * | 2012-11-20 | 2022-04-05 | Charles I. Peddle | Solid state drive architectures |
US20160232103A1 (en) * | 2013-09-26 | 2016-08-11 | Mark A. Schmisseur | Block storage apertures to persistent memory |
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 | 仁寶電腦工業股份有限公司 | 複合儲存單元的管理方法及其電子裝置 |
NO2988221T3 (ko) * | 2014-06-27 | 2018-01-06 | ||
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 |
WO2016145328A2 (en) * | 2015-03-11 | 2016-09-15 | 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 |
WO2017168905A1 (ja) * | 2016-03-29 | 2017-10-05 | ソニー株式会社 | メモリ制御装置、記憶装置および情報処理システム |
CN107515729A (zh) * | 2016-06-24 | 2017-12-26 | 中电海康集团有限公司 | 一种sram位元与非易失性存储位元组成的复合阵列模块及工作方法 |
CN106201902A (zh) * | 2016-06-24 | 2016-12-07 | 中电海康集团有限公司 | 一种sram位元与非易失性存储位元组成的复合阵列模块及其读写控制方法 |
US10354716B2 (en) * | 2016-09-16 | 2019-07-16 | Aspiring Sky Co. Limited | SRAM based memory structures and methods thereof |
US10839904B2 (en) | 2016-12-09 | 2020-11-17 | 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)
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)
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 | データアクセス方法 |
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 |
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 |
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 | 松下電器産業株式会社 | 記録装置及びプログラム |
WO2002058069A2 (en) * | 2001-01-17 | 2002-07-25 | 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 |
KR101051506B1 (ko) * | 2002-09-30 | 2011-07-22 | 텔레폰악티에볼라겟엘엠에릭슨(펍) | 스케일러블 멀티채널 메모리 액세스를 위한 방법 및 메모리제어기 |
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 |
WO2004049168A1 (ja) * | 2002-11-28 | 2004-06-10 | Renesas Technology Corp. | メモリモジュール、メモリシステム、及び情報機器 |
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 |
EP1640872B1 (en) * | 2003-06-27 | 2008-10-15 | Fujitsu Limited | Data transfer method and system |
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 | 삼성전자주식회사 | 버스를 공유하는 휘발성 메모리 및 불휘발성 메모리를구비하는 반도체 메모리 시스템 및 불휘발성 메모리의 동작제어 방법 |
-
2006
- 2006-12-20 US US11/613,325 patent/US7554855B2/en active Active
-
2007
- 2007-12-18 CN CN201310394806.9A patent/CN103558993A/zh active Pending
- 2007-12-18 JP JP2009541711A patent/JP5619423B2/ja not_active Expired - Fee Related
- 2007-12-18 EP EP07855586A patent/EP2100306A4/en not_active Withdrawn
- 2007-12-18 KR KR1020097013263A patent/KR101495928B1/ko active IP Right Grant
- 2007-12-18 CN CN2007800469440A patent/CN101563729B/zh active Active
- 2007-12-18 WO PCT/CA2007/002304 patent/WO2008074140A1/en active Application Filing
- 2007-12-18 KR KR1020127030502A patent/KR101495975B1/ko active IP Right Grant
- 2007-12-18 CA CA002669690A patent/CA2669690A1/en not_active Abandoned
- 2007-12-19 TW TW096148758A patent/TWI476780B/zh active
- 2007-12-19 TW TW103145935A patent/TW201517051A/zh unknown
-
2009
- 2009-05-26 US US12/472,012 patent/US7924635B2/en active Active
-
2011
- 2011-03-03 US US13/040,254 patent/US8670262B2/en active Active
-
2013
- 2013-01-09 JP JP2013001766A patent/JP2013061997A/ja not_active Withdrawn
- 2013-06-05 JP JP2013119104A patent/JP2013200889A/ja active Pending
-
2014
- 2014-03-05 US US14/197,505 patent/US20140185379A1/en not_active Abandoned
-
2015
- 2015-09-03 JP JP2015173586A patent/JP2016026346A/ja active Pending
Patent Citations (3)
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 |
---|---|
US20080155185A1 (en) | 2008-06-26 |
JP2010514017A (ja) | 2010-04-30 |
EP2100306A4 (en) | 2010-03-10 |
US20140185379A1 (en) | 2014-07-03 |
KR101495975B1 (ko) | 2015-02-26 |
CN101563729B (zh) | 2013-09-25 |
KR20090102767A (ko) | 2009-09-30 |
CN101563729A (zh) | 2009-10-21 |
US20110153973A1 (en) | 2011-06-23 |
WO2008074140A1 (en) | 2008-06-26 |
TW200841352A (en) | 2008-10-16 |
TW201517051A (zh) | 2015-05-01 |
JP5619423B2 (ja) | 2014-11-05 |
JP2016026346A (ja) | 2016-02-12 |
CN103558993A (zh) | 2014-02-05 |
US7554855B2 (en) | 2009-06-30 |
CA2669690A1 (en) | 2008-06-26 |
US8670262B2 (en) | 2014-03-11 |
EP2100306A1 (en) | 2009-09-16 |
JP2013061997A (ja) | 2013-04-04 |
JP2013200889A (ja) | 2013-10-03 |
US7924635B2 (en) | 2011-04-12 |
US20090279366A1 (en) | 2009-11-12 |
TWI476780B (zh) | 2015-03-11 |
KR20130005305A (ko) | 2013-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101495928B1 (ko) | 휘발성 및 비휘발성 메모리를 갖는 하이브리드 고체 메모리 시스템 | |
US10991422B2 (en) | Data storage device using a host memory buffer for single-level cell storage and control method for non-volatile memory | |
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 | |
US5627783A (en) | Semiconductor disk device | |
US6366977B1 (en) | Semiconductor storage device employing cluster unit data transfer scheme and data management method thereof | |
US20050015557A1 (en) | Nonvolatile memory unit with specific cache | |
US20050055493A1 (en) | [method for accessing large block flash memory] | |
US20190012114A1 (en) | Buffer Management in a Data Storage Device | |
KR100963009B1 (ko) | 파일 관리 시스템 및 방법 | |
US20090210612A1 (en) | Memory controller, nonvolatile memory device, and nonvolatile memory system | |
KR20020092261A (ko) | 멀티-플레인 구조의 플래시 메모리 관리 방법 | |
US11182286B2 (en) | Data storage device and control method for non-volatile memory | |
KR20100055374A (ko) | 파일 관리 시스템 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
A107 | Divisional application of patent | ||
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 |