KR20090026276A - 하이브리드 메모리 장치를 위한 방법 및 시스템 - Google Patents
하이브리드 메모리 장치를 위한 방법 및 시스템 Download PDFInfo
- Publication number
- KR20090026276A KR20090026276A KR1020087029847A KR20087029847A KR20090026276A KR 20090026276 A KR20090026276 A KR 20090026276A KR 1020087029847 A KR1020087029847 A KR 1020087029847A KR 20087029847 A KR20087029847 A KR 20087029847A KR 20090026276 A KR20090026276 A KR 20090026276A
- Authority
- KR
- South Korea
- Prior art keywords
- memory
- type
- controller
- data
- flash
- Prior art date
Links
- 230000015654 memory Effects 0.000 claims abstract description 169
- 238000000034 method Methods 0.000 claims description 19
- 239000000872 buffer Substances 0.000 claims description 15
- 238000013507 mapping Methods 0.000 claims description 9
- 230000009977 dual effect Effects 0.000 claims description 3
- 230000003139 buffering effect Effects 0.000 claims description 2
- 238000013461 design Methods 0.000 description 6
- 238000012546 transfer Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000000630 rising effect Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006266 hibernation Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 238000010397 one-hybrid screening Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0638—Combination of memories, e.g. ROM and RAM such as to permit replacement or supplementing of words in one module by words in another module
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/12—Group selection circuits, e.g. for memory block selection, chip selection, array selection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
- G06F2212/2022—Flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/205—Hybrid memory, e.g. using both volatile and non-volatile memory
-
- 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
- G11C2207/00—Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
- G11C2207/10—Aspects relating to interfaces of memory device to external buses
- G11C2207/104—Embedded memory devices, e.g. memories with a processing device on the same die or ASIC memory designs
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)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
- Read Only Memory (AREA)
- Dram (AREA)
Abstract
메모리 컨트롤러가 내부에 서로 다른 유형의 메모리들(예를 들어, SDRAM, 플래시 메모리)을 구비하는 하이브리드 메모리 장치의 컴포넌트인 기술을 설명하며, 여기서 컨트롤러는, 메모리 장치가 한 가지 유형의 메모리용으로 정의된 액세스 프로토콜 및 전압에 대하여 단일 메모리 인터페이스만을 갖도록 동작한다. 예를 들어, 컨트롤러는, 표준 SDRAM 인터페이스를 갖는 메모리 장치가, 휘발성 메모리 어드레스 공간의 하나 이상의 지정 블록 내에 오버레이된 비휘발성 메모리를 갖는 비휘발성 메모리 및 SDRAM 둘 다에 대한 액세스를 제공할 수 있게 (또는 그 반대로 가능하게) 한다. 커맨드 프로토콜은 메모리 페이지를 휘발성 메모리 인터페이스 어드레스 공간에 매핑하고, 예를 들어, 플래시에 액세스하려면 장치에서 소프트웨어 변경만을 필요로 하면서 단일 핀 호환성 멀티칩 패키지가 비휘발성 저장 장치를 제공하길 원하는 임의의 컴퓨팅 장치 내의 기존의 휘발성 메모리 장치를 대체할 수 있게 한다.
메모리 컨트롤러, 메모리 장치, 커맨드 프로토콜, 단일 메모리 인터페이스
Description
다양한 기존의 컴퓨팅 장치와 새로운 컴퓨팅 장치는 고속의 휘발성 메모리(예를 들어, DRAM(dynamic random access memory))를 활용하여 동작 명령어와 데이터를 홀딩한다. 이러한 장치들은 이동 전화, 텔레비전 셋톱 박스, 퍼스널 컴퓨터 메모리 등을 포함한다. 또한, 컴퓨팅 장치들은 애플리케이션과 데이터를 저장하기 위해 비교적 싼 가격의 비휘발성 NAND 플래시 메모리를 점점 더 많이 포함하고 있다.
그러나, 기존의 많은 DRAM 기반 컴퓨터 장치들은 NAND 플래시 메모리를 지원하는 적합한 버스 인터페이스 없이 설계되어 있으며, NAND 플래시 메모리를 지원하려면 비용이 많이 들며 지루한 장치 칩셋의 재설계가 필요하다. 마찬가지로, 대부분의 NAND 플래시 기반 장치들은 DRAM을 간단히 추가할 수 없다. 예를 들어, 플래시 메모리를 과거의 DRAM 기반 장치의 갱신 모델로 만들거나 그 반대로 하려면 장치의 물리적 아키텍처를 상당히 변경해야 한다.
휘발성 메모리 및 비휘발성 메모리를 조합함으로써 많은 경우에 이점이 발생하지만, 장치 칩셋을 재설계하는 비용은 흔히 판매자에겐 비싸며 위험성이 있으며, 이에 따라 판매자는, 다른 경우에는 장치 내에 휘발성 메모리와 비휘발성 메모리를 구비함으로써 활성화되는 새로운 특성 및 비지니스 모델에 신경을 쓰지 않는다. 게다가, 기존의 DRAM 기반 장치를 NAND 플래시 메모리로 업데이트하는 것처럼 기존의 아키텍처 모델을 이용하는 간단한 방법은 존재하지 않으며, 예를 들어, 단순히 기존의 장치에 메모리를 추가하거나 기존의 장치 내의 메모리를 변경(하고 적절하다면 소프트웨어를 업데이트)하는 대신에, 전체 회로 보드를 재설계 및 대체할 필요가 있다. 게다가, 비휘발성 메모리와 DRAM 기반 메모리 사이의 버스 속도들에는 큰 차이가 있다.
이 개요는 상세한 설명에서 더 상세히 후술하는 개념들의 선택을 간략한 형태로 도입하고자 제공된다. 이 개요는 청구 대상의 핵심적이거나 필수적인 특징들을 식별하려는 것이 아니며, 어떠한 방식으로든 청구 대상의 범위를 한정하는 데 사용되려는 것도 아니다.
간략하게 말하면, 본 명세서에서 설명하는 주제의 다양한 양태들은, 제1 유형의 메모리(예를 들어, 휘발성 DRAM형 메모리)와, 제1 유형의 메모리에 대응하는 인터페이스, 제2 유형의 메모리(예를 들어, 비휘발성 플래시형 메모리)를 포함하는 하이브리드 메모리 장치에 관한 것이다. 메모리 장치는, 인터페이스, 제1 유형의 메모리, 제2 유형의 메모리에 결합된, 컨트롤러를 포함한다. 인터페이스에서 수신되는 커맨드 및/또는 메모리 어드레스와 같은 정보에 기초하여, 컨트롤러는 I/O 요구(예를 들어, 판독 또는 기입)와 같은 커맨드가 제1 유형의 메모리로 향하는 것인지 제2 유형의 메모리로 향한 것인지를 결정한다.
따라서, 하이브리드 메모리 장치의 컨트롤러에서 커맨드, 어드레스, 데이터를 수신함으로써, 서로 다른 유형의 메모리들이 한 가지 유형의 메모리용으로 정의된 단일 인터페이스를 통해 소프트웨어(예를 들어, 장치 펌웨어 또는 프로그램)에 의해 액세스될 수 있다. 컨트롤러는, 제1 유형의 메모리의 인터페이스 상에서 수신된 커맨드/어드레스가 그 하이브리드 메모리 장치에 결합된 제2 유형의 메모리로 향하는 것인지 여부를 결정하고, 제2 유형의 메모리로 향하는 것이라면, 제2 유형의 메모리에 신호들을 출력하여 적어도 하나의 커맨드를 제2 유형의 메모리에 통신하고 그리고/또는 제2 유형의 데이터에 대하여 적어도 하나의 데이터 입력/출력(I/O) 동작을 수행하는 로직을 포함한다.
다른 이점들은 첨부 도면과 함께 다음에 따르는 설명으로부터 명백해질 수 있다.
본 발명은 예를 들어 예시되며 유사 참조 번호들이 유사 요소들을 표시하는 첨부 도면으로 한정되지 않는다.
도 1은 본 발명의 다양한 양태들이 통합될 수 있는 컴퓨팅 장치의 일 예를 도시한다.
도 2는, 2가지 유형 중 하나용으로 정의된 단일 인터페이스에 의해 각각 액세스가능한 2가지 유형의 메모리 및 컨트롤러를 포함하는 하이브리드 메모리 장치의 일 예를 도시한다.
도 3A는 SDRAM 어드레싱가능 공간 내의 메모리의 지정 블록을 통해 액세스되 는 플래시 메모리와 SDRAM을 갖춘 SDRAM 인터페이스를 구비하는 하이브리드 메모리 장치의 일 예를 도시한다.
도 3B는 SDRAM 어드레싱가능 공간 내의 메모리의 복수의 지정 블록을 통해 액세스되는 플래시 메모리와 SDRAM을 갖춘 SDRAM 인터페이스를 구비하는 하이브리드 메모리 장치의 일 예를 도시한다.
도 4는 제2 유형의 메모리와 데이터 및 커맨드의 통신을 위해 사용되는 섹션을 갖는 제1 유형의 메모리에 대응하는 어드레싱가능 메모리 공간을 도시한다.
도 5는 하이브리드 메모리 장치 내에 통합될 수 있는 SDRAM 장치의 적절한 한 가지 유형의 일 예를 도시한다.
도 6은 도 5의 장치와 같은 SDRAM 장치 및 플래시 장치를 갖는 SDRAM 인터페이스를 구비하는 하이브리드 메모리 장치의 일 예를 도시한다.
도 7은 SDRAM 장치와 플래시 장치를 제어하기 위한 타이밍의 일 예를 도시한다.
도 8은 컨트롤러가 버스트 데이터 출력용으로 구성된 SDRAM 장치에 플래시 데이터를 어떻게 출력할 수 있는지에 대응하는 단계들을 도시한다.
도 9는 플래시를 (SDRAM을 포함한) DRAM 기반 퍼스널 컴퓨터 메모리에 추가하기 위한 듀얼 인라인 메모리 모듈(DIMM)에 플래시가 어떻게 추가될 수 있는지의 일 예를 도시한다.
도 1은, 프로세서(189), 메모리(190), 디스플레이(192), (물리적 키보드 또 는 가상 키보드일 수 있는) 키보드(193)를 포함하여, 핸드헬드/포켓형/태블렛형 PDA, 어플라이언스, 이동 전화 등에서 찾을 수 있는 바와 같이, 컴퓨팅 장치(188)의 일부 적절한 기능 컴포넌트들의 일 예를 도시한다. 메모리(190)는 일반적으로 휘발성 메모리(예를 들어, RAM)와 비휘발성 메모리((예를 들어, ROM, PCMCIA 카드 등)) 둘 다를 포함한다. 게다가, 후술하는 바와 같이, 예시적인 메모리(190)는, 플래시 및 DRAM 또는 플래시 및 SDRAM(동기형 DRAM)처럼 하나보다 많은 유형의 메모리를 포함하는 (하나 이상의 칩에 대응하는) 하이브리드 메모리 장치와, SDRAM을 포함하고, 이러한 메모리 유형들 중 하나는 나머지 메모리 유형의 인터페이스를 공유한다. 운영 체제(193)는 메모리(190) 내에 상주할 수 있으며, Microsoft Windows 기반 운영 체제, 또는 다른 운영 체제와 같이 프로세서(189) 상에서 실행된다.
하나 이상의 애플리케이션 프로그램(194) 및 데이터(195)는, 예를 들어, 운영 체제(193) 상에서 실행되는 프로그램(194)과 함께 메모리(190) 내에 있을 수 있다. 애플리케이션의 예로는, 이메일 프로그램, 스케쥴링 프로그램, PIM(개인 정보 관리) 프로그램, 워드 프로세싱 프로그램, 스프레드 시트 프로그램, 인터넷 브라우저 프로그램 등이 포함된다. 컴퓨팅 장치(188)는, 프로세서(189) 상에서 실행되는, 메모리(190) 내에 로딩된 통지 관리자와 같은 기타 컴포넌트(196)를 포함할 수도 있다. 통지 관리자는, 예를 들어, 애플리케이션 프로그램(195)으로부터의 통지 요구를 다룰 수 있다.
컴퓨팅 장치(188)는 예를 들어 하나 이상의 배터리나 광 구동 시스템(light- powered system)으로서 구현된 전원(197)을 갖는다. 전원(197)은 AC 아답터나 전원 도킹 크레이들(powered docking cradle)과 같은 내장 배터리를 오버라이드(override)하거나 재충전하는 외부 전원을 더 포함할 수 있다.
도 1에 도시한 예시적인 컴퓨팅 장치(188)에서는, 예를 들어, 디스플레이(192), 기타 출력 메카니즘(198)(예를 들어, 하나 이상의 발광 다이오드, 즉 LED), 통합 스피커 및/또는 오디오 잭에 결합된 오디오 생성기(199)를 포함하는 3가지 유형의 외부 출력 장치가 도시되어 있다. 이러한 출력 장치들 중 하나 이상은, 전원(197)에 직접 연결될 수 있어서, 활성화될 때, 프로세서(189) 및 기타 컴포넌트가 배터리 전력을 절약하기 위해 셧다운되더라도 통지 메카니즘에 의해 지시된 지속 기간 동안 온(on) 상태를 유지한다. 예를 들어, LED는 사용자가 액션을 취할 때까지 (소정의 전력을 이용할 수 있는 한 길게) 온 상태를 유지할 수 있다. 다른 것들은 시스템의 나머지가 온 상태로 있거나 활성화 이후 소정의 유한 지속 기간 동안 온 상태로 있을 때 턴오프되도록 구성될 수 있다.
단일 인터페이스를 갖춘
하이브리드
메모리 장치
본 명세서에서 설명하는 기술의 다양한 양태들은 일반적으로 컴퓨팅 장치의 기존의 물리적 아키텍처를 변경할 필요 없이 컴퓨팅 장치 내에 비교적 많은 양의 휘발성 메모리와 비휘발성 메모리를 갖는 것에 대하여 (장치(188)와 같은) 컴퓨팅 장치의 메모리 확장에 관한 것이다. 일반적으로, 본 명세서의 설명은, 하이브리드 메모리 장치가 종래의 SDRAM 컴퓨넌트와 동일한 (핀아웃, 전압 프로토콜, 액세스 프로토콜을 포함하는) 인터페이스를 갖는 SDRAM과 NAND 플래시를 포함하는 (예를 들어 하나 이상의 칩을 포함하는) 하이브리드 메모리 장치를 추가하거나 대체함으로써 NAND 플래시 메모리를 SDRAM 기반 장치 내에 통합하는 예들을 제공한다. 그러나, 이러한 양태 및 사상은 휘발성 메모리 및/또는 비휘발성 메모리 중 어떠한 유형 또는 어떠한 유형들에 적용된다는 것을 이해할 것이며, 예를 들어, 다양한 유형의 DRAM(예를 들어, EDO)을 SDRAM 대신에 사용할 수 있고, 역으로 DRAM 또는 SDRAM은 플래시 기반 장치 내에 통합될 수 있고, NOR 기반 플래시 메모리는 SDRAM 및/또는 NAND 기반 플래시와 혼합될 수 있으며, SRAM 또는 다른 유형의 RAM은 여러 유형의 메모리 중 하나일 수 있고, 기존의 휘발성 메모리 장치 대신에 더 많은 휘발성 메모리를 추가할 수 있다. 더 많은 비휘발성 메모리는 기존의 비휘발성 메모리 장치 등 대신에 추가될 수 있다. 서로 다른 메모리 유형들을 (통상 소정의 설계용 메모리의 초기 유형에 대응하는 인터페이스를 갖는) 하이브리드 메모리 장치 내에 통합하는 것은 통상적으로 전체 메모리를 장치에 추가하는 것이지만 초기 유형의 메모리 및/또는 메모리의 전체 양을 반드시 증가시킬 (그리고 필요하다면 설계자에 의해 감소시킬) 필요는 없다는 점에 주목하기 바란다.
게다가, 본 명세서에서 설명하는 사상은, 종래의 컴퓨팅 장치(예를 들어, 데스크탑, 노트북, 랩탑, 또는 태블렛 기반 컴퓨터 시스템, PDA, 포켓형 퍼스널 컴퓨터 등)로 고려되는 것에 한정되지 않으며, 오히려 이동 전화, 셋탑 박스, 하이브리드 하드 디스크, 텔레비전 세트, 원격 제어 장치, 오디오비주얼 장치, 전기 제품, 가전 제품 등을 포함하는 휘발성 메모리 또는 비휘발성 메모리에 데이터를 저장할 필요가 있는 어떠한 장치에서도 이용될 수 있음을 이해할 것이다. 이러한 장치들 의 각각은 비휘발성 메모리를 휘발성 메모리 설계에 부가할 수 있고, 그 반대로도 가능하며, 또는 고 비용으로 위험하게 하드웨어를 재설계할 필요 없이 메모리를 증가시킬 수 있다. 이러한 방식으로, 예를 들어, 이동 전화와 같이 휘발성 메모리를 갖는 장치는, 후술하는 바와 같이 메모리 칩(또는 다수의 메모리 칩)을 간단히 대체하고 비휘발성 저장 장치와 함께 동작하도록 소정의 펌웨어를 갱신함으로써, 프로그램, 음악, 이미지 등을 저장하도록 많은 양의 비휘발성 저장 장치를 내부에 가질 수 있다.
이처럼, 본 발명은 본 명세서에서 설명하는 예, 구조, 또는 기능성에 한정되지 않는다. 오히려, 본 명세서에서 설명하는 이러한 예, 구조, 또는 기능성 중 어떠한 것도 한정적이지 않으며, 본 발명은 일반적으로 컴퓨팅 및 데이터 저장에 있어서 이점과 이익을 제공하는 다양한 방식으로 이용될 수 있다.
도 2를 참조해 보면, 휘발성 메모리(204)(예를 들어, SDRAM)와 비휘발성 메모리(206)(예를 들어, NAND 플래시)를 포함하는 하이브리드 메모리 장치(202)의 일반적인 예가 도시되어 있다. 컨트롤러(208)는, 예를 들어, 펌웨어/소프트웨어에서 발생하고 CPU를 통해 어드레싱된 어드레스 및 커맨드에 기초하여 메모리(204 또는 206)들 중 어느 것에 액세스할 것인지를 결정하는 로직을 포함한다.
도 2에 도시한 바와 같이, 컨트롤러(208)는, 일 구현예에서 속도 일치를 목적으로 사용되는, 하나 이상의 버퍼를 포함하는 버퍼 세트(21)를 포함할 수 있으며 또는 이러한 버퍼 세트에 결합될 수 있다. 예를 들어, 현재, SDRAM은 플래시보다 상당히 빠르며, 이에 따라 외부 컴포넌트에게는 SDRAM 장치로 보이는 인터페이스를 갖는 하이브리드 메모리 칩은, 버스트 모드 요구 사항을 포함한 속도 및 출력 요구 사항에 대하여 SDRAM 프로토콜을 따르기 위해, 버퍼 세트(210)(예를 들어, SDRAM, DRAM 또는 SRAM) 내에 데이터를 버퍼링할 필요가 있다. 따라서, 버퍼 세트(210)는 통상적으로 적어도 소정의 SDRAM 칩만큼 빠르며 SDRAM의 프로토콜이 요구하는 만큼 빠른 SDRAM이나 SRAM과 같은 메모리를 포함하며, 이렇게 빠르지 않다면 하이브리드 장치는 때때로 외부 컴포넌트에게는 불량 메모리로 보일 수 있다. 빠른 메모리(예를 들어, SDRAM)를 보다 느린 (예를 들어, 플래시) 인터페이스에 추가한 하이브리드 메모리 장치는 이러한 버퍼를 반드시 필요로 하는 것은 아니라는 점에 주목하기 바란다.
도 3A는 하나의 하이브리드 메모리 장치(302A)가 일반적으로 어떻게 동작하는지의 일 예를 도시하며, 여기서 플래시 메모리(306)는 소정 개수의 블록(예를 들어, 블록 F-1 내지 F-n)으로서 배치되고 SDRAM 인터페이스를 통해 액세스된다. 하이브리드 메모리 장치(302A)는 SDRAM 장치(304)도 포함한다. 후술하는 바와 같이, (예를 들어, 도 2의 컨트롤러(208)에 대응하는) 온칩 컨트롤러(308A)는, CPU(389)에서 발생한 현재 어드레스에 대하여 SDRAM(304) 또는 플래시의 어느 섹션에 액세스할 것인지를 결정한다. 일반적으로, 컨트롤러(308A)는, 종래의 SDRAM 프로토콜에 따라 출력되는, CPU(389)로부터의 커맨드, 데이터, 어드레스를 수신한다. CPU는 하이브리드 칩 상의 서로 다른 유형의 메모리들에 대하여 어떠한 것도 알 필요가 없으며 자신의 기존의 SDRAM 기반 버스를 이용하여 정상적으로 동작한다는 점에 주목하기 바란다.
도 3A에서, 컨트롤러(308A)는 인터페이스의 일부인 하이브리드 장치의 SDRAM 어드레스 라인에 전송되는 어드레스를 검출할 수 있는 로직을 포함한다. 어드레싱 가능 어드레스 범위 내의 어드레스들 중 일부는 SDRAM에 대응하고, 이러한 어드레스들을 위해, 컨트롤러(308A)는 그 어드레스들, 커맨드, 데이터가 SDRAM 장치(304)에 의해 다루어질 수 있게 한다(예를 들어, 등가 "1" 및 "0"을 포워딩하거나 장치가 "1" 및 "0"을 볼 수 있도록 그 장치를 디스에이블하지 않는다). 그러한 어드레스에 대한 결과로, 하이브리드 장치는 종래의 SDRAM 장치로서 기능한다.
그러나, (통상적으로, 지정 블록(320)이라 칭하는 연속 범위를 포함하는) 어드레싱 가능 범위 내의 일부 어드레스들은, 플래시에 결합되는 것으로 컨트롤러(308)에게 알려져 있으며, 본래 플래시 메모리(306) 내부로의 윈도우로서 기능한다. 예를 들어, 지정 블록은 한 가지 유형의 플래시 장치에서 플래시 블록 크기, 예를 들어, 128KB에 대응할 수 있다. 지정 블록(320) 내의 어드레스들이 전달될 때, SDRAM 장치(304)는 컨트롤러(308)에 의해 (실제로 또는 효과적으로) 디스에이블된다. 대신에, 컨트롤러(308)는 플래시 메모리 장치(306)에 커맨드를 전송하고, 또는 플래시 메모리 장치(306)에 대한 판독 및 기입 데이터의 흐름을 제어한다. 설계에 따라, 컨트롤러(308)는, 장치(304)의 적절한 장치 입력 라인(예를 들어, 칩 인에이블)을 디스에이블로 변경하고, 수신된 어드레스를 장치(304)에 포워딩하지 않고, 그리고/또는 (예를 들어, 리프레시를 위해 필요하다면) 그 어드레스를 포워딩하지만 데이터 기입이나 기입을 위한 어떠한 데이터의 리턴도 허용하지 않음으로써 SDRAM 컴포넌트(304)를 디스에이블 할 수 있다.
플래시(306)의 양은 지정 블록(320)의 크기로 한정되지 않으며, 오히려, 다수의 플래시 블록(또는 플래시 메모리의 기타 구성)이 존재할 수 있으며, 여기서 컨트롤러(308)는 전체 플래시(306) 중 어느 부분(예를 들어, 블록)을 액세스하지 않는지를 식별하는 추가 매핑 정보에 따라 각 블록 등에 액세스한다는 점에 주목하기 바란다. 이러한 추가 매핑 정보는, 예를 들어, 어드레싱 가능 메모리의 하이 엔드(high end)에서, 컨트롤러(308A)에게 알려져 있는 다른 메모리 위치에 (또는 아마도 지정 블록에 대한 보충으로서) 기입될 수 있다. 펌웨어(330)는, 이미 본래 모든 컴퓨팅 장치 상에 존재하고 있으므로, (도 3에서 CPU(389)를 통해 펌웨어(330)로부터 컨트롤러(308A)로 점선으로 도시한 바와 같이) CPU(389)를 통해 적절한 프로토콜에 따라 이 정보를 판독 및 기입하도록 업데이트될 수 있고, 이러한 방식으로, 커맨드, 데이터, 상태 정보(332)는, 장치 펌웨어(330) (및/또는 기타 요구 코드, 이하 간단히 펌웨어(330)라 칭함) 와 하이브리드 메모리 장치(302A) 사이에 통신될 수 있다.
도 3B는, 다른 컨트롤러(308B)가 다수의 플래시 블록(예를 들어, 도 3B에서 현재의 플래시 블록 A1 및 플래시 블록 B0)에 별도로 매핑된 다수의 윈도우(320A, 320B)에 대응하는 다수의 버퍼(301-1, 301-2)를 가질 수 있다는 점을 제외하고는, 도3A의 개념과 유사한 개념을 도시한다. 쉽게 인식할 수 있듯이, 도 3B에서는 플래시 메모리 장치에 대한 이러한 병렬 (이에 따른 통상적으로 보다 빠른) 액세스를 2개만 도시하고 있지만, 실제로는 임의의 개수를 이용할 수 있다.
컨트롤러가 윈도우(도 3A) 또는 윈도우(도 3B)들을 플래시의 정확한 섹션 또 는 섹션들에 어떻게 매핑하는지의 예로서, 도 4는 종래의 SDRAM 장치의 범위에 대응하는 선형 표시된 어드레스 범위(440)를 도시하며, 이 예에서는, 16비트에 의한 4 Mwords이다. 편의상, 도 3A의 하나의 지정 블록(320)에 대하여 매핑을 설명하지만, 본질적으로 동일한 방식으로 별도의 매핑을 수행할 수 있다는 점을 쉽게 이해할 수 있다.
도 4의 예에서, SDRAM 어드레스 공간에 대응하는 마지막 2개 블록은, 컨트롤러(308A)와 펌웨어(330)에 의해, 플래시 메모리 장치(306)에 대한 커맨드 채널(444) 및 데이터 채널(442)로서 사용된다. 이러한 블록(442, 444)들 내의 매핑 및 기타 정보(332)(도 3)는, 컨트롤러(308)와 그 정보의 소스(예를 들어, 펌웨어 코드(330))가 이해하는 임의의 적절한 프로토콜을 통해 컨트롤러(308A)에 의해 판독 및 기입될 수 있다. 따라서, 컨트롤러(308A)에서 추가 정보(332)(또는 도 3B에서의 333)에 액세스함으로써, 예를 들어, 플래시 장치(306)와 통신하기 위한 마지막 2개의 1 킬로바이트 워드 블록들, 커맨드, 데이터 경로가 확립된다. 다른 정보도 이러한 공간 내에 있을 수 있다. 예를 들어, 장치 펌웨어(330)는 메모리의 이 섹션을 이용하여, 일반적으로 도 3의 하이브리드 메모리 장치(302A)는 다른 상황에서는 종래의 SDRAM 장치와 구별될 수 없기 때문에 펌웨어(330)가 메모리 장치가 진정한 하이브리드 장치인지 여부를 결정할 수 있게 하는 부트스트래핑(bootstrapping) 프로토콜을 채용할 수 있다. 이러한 블록들을 통해 통신되는 다른 가능한 데이터는, 예를 들어, 지정 블록(320)(또는 도 3B에서의 블록들)이 어드레싱 가능 메모리 내에 위치하는 곳을 컨트롤러(308A)에게 통지할 수 있으며, 예 를 들어, 이러한 방식으로, 지정 블록들이 필요시 동적으로 이동되는 것을 비롯하여 이동될 수 있다.
하이브리드 메모리 장치의 일 예의 동작을 설명하자면, 하나의 적절한 커맨드 프로토콜은, 플래시 장치를 위해 어드레스 블록 및 커맨드 정보(예를 들어, 도 3A에서의 332)를 전달하는 데 사용되는 직렬 프로토콜을 포함한다. 컨트롤러(308A)가 커맨드 및 어드레스 정보의 번역을 담당하기 때문에, 그 프로토콜은 서로 다른 유형의 플래시 장치들에 액세스하도록 구성가능하며, 예를 들어, 서로 다른 유형 중 한 가지 유형의 NAND 장치는 NOR SRAM 인터페이스를 이용하고 이에 따라 컨트롤 로직이 데이터 블록들에 액세스하며, 이어서 이러한 데이터 블록들이 SDRAM 데이터 전달 프로톨콜에 맞도록 직렬화된다는 점에 주목하기 바란다. 마찬가지로, 플래시(306)에 데이터를 기입하는 것은, 플래시 프로토콜에 의한 필요시 컨트롤러(308A)에 의해 변환되며, 예를 들어, 한번에 2KB가 이러한 하나의 플래시 장치에 기입된다.
쉽게 인식할 수 있듯이, SDRAM은 현재 플래시보다 빠른 하나 이상의 자릿수를 갖기 때문에, 프로토콜은, 플래시 판독 또는 기입 요구가 비지(busy) 상태이고 그 요구가 준비(ready) 상태이면 컨트롤러(308A)가 펌웨어(330)에 시그널링하는 방식을 포함한다. 위치(332) 내의 상태 레지스터를 이용할 수 있다. 예를 들어, 펌웨어(330)는 커맨드 블록(332)을 통해 판독 또는 기입 커맨드를 전송하고, 커맨드의 일부인 비트일 수 있는 상태는, 비지 상태를 표시하는 "0"에 대한 플래시 요구의 수신시 컨트롤러에 의해 전송된다. 컨트롤러(308A)는, 판독 요구시 지정 블록 이 현재 매핑에 대한 정확한 데이터를 미리 포함하고 있음을 알고 있다면, 상태를 비지 상태로 플립(flip)할 필요가 없다는 점에 주목하기 바란다.
통상적인 상황에서, 컨트롤러(308A)는 상태를 비지 상태로 설정하고, 판독에 대해서는, 버퍼(310)를 요구 데이터로 채우기 시작한다. 버퍼가 (후속 판독 요구가 예상될 때 요구되는 것 보다 많을 수 있는) 정확한 데이터를 포함하는 경우, 컨트롤러(308A)는 그 상태를 준비 상태로 토글한다. 이어서, 요구를 전송하므로 그 상태를 폴링하고 있는 펌웨어(330)는, 이어서 컨트롤러(308A)가 버퍼(310)로부터 출력하는 그 요구 데이터가 판독될 수 있음을 알고 있다. 예를 들어, SDRAM 프로토콜에 따르면, 컨트롤러는 단일 출력이 요구되면 요구 어드레스에 대하여 데이터의 단일 세트(예를 들어, 바이트)를 출력하고, 또는, 그 요구 어드레스로 시작되는 복수 세트의 타이밍 버스트 데이터를 출력하며, 이때 출력되는 세트의 개수는 현재 버스트 모드에 대응한다. 버스트 모드가 소프트 제어된다는 표시하는 설정을 포함한 유선형 설정을 통해 현재 버스트 모드가 확립될 수 있다는 점에 주목하기 바라며, 어떠한 경우에서든, 그 모드는 (소프트 제어 버스트를 위한) SDRAM 등가 셋업 라인 및/또는 커맨드를 통해 컨트롤러(308A)에게 알려져 있다.
기입도 마찬가지로 다루어지며, 이때 지정 블록에서의 데이터는 컨트롤러(308A)에 의해 버퍼(310) 내로 복사되는 한편, 컨트롤러는 기입 요구가 실제로 보다 느린 플래시에 기입됨으로써 완료될 때까지 펌웨어에 의해 폴링되는 비지 신호를 제공한다. 판독 요구에서처럼, 기입 요구를 위해, 하이브리드 메모리 장치(302A)는 CPU(389)에게 정확한 SDRAM 속도로 동작하는 것으로 보이며, CPU는 펌 웨어(330)와 컨트롤러(308A) 사이에서 진행중인 어떠한 상태 폴링도 모른다. 프로토콜을 통함으로써, 동기 메모리가 CPU 관점에서 볼 때 적절히 동작하지만, 실제로는 요구 엔티티의 관점에서 볼 때는 비동기적으로 동작한다.
따라서, 표준 SDRAM 인터페이스를 구비한 플래시 및 SDRAM을 포함하는 하이브리드 메모리 장치에 메모리 컨트롤러를 추가함으로써, 플래시 메모리는 SDRAM 어드레스 공간 내에 오버레이된다. 커맨드 프로토콜(예를 들어, 직렬)은 SDRAM 어드레스 공간에 대한 플래시 블록/페이지의 매핑을 관리하는 데 사용된다. 이것은, 단일 핀 호환성 멀티칩 패키지가, 플래시 저장 장치를 제공하길 원하는 임의의 컴퓨팅 장치 내의 기존의 SDRAM 장치를 대체할 수 있게하며, 그 정치에 대해서는 펌웨어만을 변경하면 된다. 예를 들어, 종래의 디스크 드라이브의 버퍼는 플래시 저장 장치를 제공하는 단일 칩 업그레이드로 대체될 수 있고, 이에 따라 플래시 저장 장치는 하이브리드 드라이브에 대한 기존의 드라이브를 업그레이드하는 새로운 펌웨어로 사용될 수 있다. 다른 예로는, 예를 들어, 한 때는 어떠한 내장형 대용량 저장 장치 없이 설계되었지만 이제는 일부 새로운 애플리케이션이나 비지니스 모델로 인해 바람직한 이동 전화 설계 또는 셋탑 박스 설계에 비휘발성 저장 장치를 추가하는 것이 있다.
특정한 아키텍처의 예로, 도 5 및 도 6은 실제 SDRAM 및 NAND 플래시 장치들의 사용을 도시하며, 이러한 장치들은 일 예로 SDRAM 전압 프로토콜과 SDRAM 액세스 프로토콜을 위해 구성된 인터페이스와 내부 컴포넌트들을 구비하고 있으며, 이에 따라 이제는 패키지에서 비휘발성 메모리를 활용하는 데 (예를 들어, 장치 펌웨 어 내의) 소프트웨어 변경만이 필요하다. 그러나, 본질적으로 정의된 어드레싱 특징을 갖는 어떠한 장치도 사용될 수 있다는 점을 이해하기 바란다. 도 5 및 도 6의 아키텍처는 16비트 데이터 경로의 사용을 도시하며, 이것은 일반적인 애플리케이션이며, 쉽게 인식할 수 있지만, 다른 데이터 경로 폭이 동일한 방식으로 효과를 발휘한다. 이 예에서, 멀티칩 패키지는 컴퓨팅 장치에서 물리적으로 SDRAM 칩을 대체할 수 있는 것으로서 설명되지만, 비휘발성 NAND 플래시 메모리 뿐만 아니라 휘발성 메모리와 SDRAM 메모리 둘 다도 포함한다.
도 5에 도시한 SDRAM 장치(504)는, 1바이트, 2바이트, 8바이트, 또는 페이지 전달을 지원하는 버스트 모드 장치(예를 들어, Micron MT48LC4M16A2 장치)를 포함하며, 예를 들어, 2 기가바이트의 NAND 플래시(606)를 포함하는 하이브리드 메모리 장치(602)(도 6)에 사용될 수 있다. 도 5의 SDRAM 장치에 대한 아키텍처의 예에서 도시한 바와 같이, 종래의 SDRAM 장치에서처럼, 하이브리드 메모리 장치는 어드레스 라인(예를 들어, AO 내지 A11, BA0 내지 BA1) 상의 RAS/CAS(잘 알려져 있는로우 액세스 스트로브 및 컬럼 액세스 스트로브임) 신호를 수용하고, 단일 바이트 판독 또는 기입이 아닌 경우에는, RAS/CAS 시작 어드레스로부터 데이터를 순차적으로 판독하거나 기입한다. 이러한 유형의 메모리를 이용하는 컴퓨팅 장치는, 많은 컴퓨팅 장치에서 온보드 캐시에 의해 통상적으로 행해지는, 직렬 액세스된 데이터를 버퍼링한다는 점에 주목하기 바란다.
데이터는 시작 어드레스에 기초하여 직렬로 제공되기 때문에, 호스트(예를 들어, CPU)와 SDRAM(504) 사이의 (상대적으로 느린 레이턴시) 메모리 컨트롤 러(308)는 칩으로 전송되고 있는 어드레스들을 검출할 수 있다. 특별한 어드레스 범위를 검출함으로써, SDRAM 인터페이스를 위한 CE#(인에이블)를 이용하여 장치(504)를 리프레시 사이클 내에 둘 수 있고, 여기서 데이터는 다른 소스에 의해 제공된다.
도 5에서, 컨트롤러(308)의 제어 로직은 SDRAM으로 전송된 어드레스들을 검출한다. 전술한 바와 같이, 지정 블록 내의 어드레스들이 전달되면, 컨트롤러는 요구가 플래시에 대한 것임을 알고 있고, 이 아키텍처의 예에서, SDRAM 장치는 CE#가 장치에 전달되지 않도록 방지함으로써 디스에이블된다는 점에 주목하기 바란다. 이어서, 컨트롤러의 제어 로직은 플래시 장치(606)에 커맨드를 전송하거나, 데이터 전달을 통해, 로직은 플래시 장치에 대한 판독 및 기입 데이터의 흐름을 제어한다. SDRAM 장치로의 커맨드 스트림은 인터럽트되지 않으며, 멀티칩 패키지 장치가 초기화되려면 플래시 데이터를 메모리 데이터 버스에 전달할 때 사용될 데이터 버스트를 이해하도록 제어 로직이 SDRAM에 대한 동작 버스트 모드를 검출하기만 하면 된다는 점에 주목하기 바란다.
따라서, 어드레스가 별도의 어드레스 버스 상에서의 RAS/CAS 전달을 통해 SDRAM에 전송되는 이러한 아키텍처에서, 제어 로직에서 RAS/CAS 사이클을 검출함으로써, 커맨드 및 데이터는 플래시(606)에 대하여 적절하게 전달될 수 있다. 플래시(606)를 위한 커맨드 블록에 대한 기입의 직렬 프로토콜에 의해, 플래시 장치를 위한 프로토콜이 지원될 수 있다.
도 6에 도시한 플래시 장치(예를 들어, Micron MT29F2G16AABWP 장치)는 멀 티플렉싱된 버스를 갖고, 이에 따라 데이터 I/O, 어드레스, 커맨드가 동일한 핀들을 공유한다. I/O 핀[15:8]들은 I/O[7:0]상에서 공급되는 어드레스와 커맨드를 갖는 x16 구성에서의 데이터를 위해서만 사용된다는 점에 주목하기 바란다. 커맨드 시퀀스는 일반적으로 커맨드 래치 사이클, 어드레스 래치 사이클, 데이터 사이클, 판독 또는 기입을 포함한다. 제어 신호(CE#, WE#, RE#, CLE, ALE, WP# )들은 플래시 장치의 판독 및 기입 동작들을 제어한다. 예를 들어 Micron Gb MT29F8G08FAB 장치와 같은 다른 플래시에서는, CE# 및 CE2#의 각각이 독립적인 4Gb 어레이를 제어한다는 점에 주목하기 바란다. CE2#는 고유 어레이에 대하여 CE#와 동일하게 기능하고, CE#에 대하여 설명한 동작들은 CE2#에도 적용된다.
CE#는 장치를 인에이블하는 데 사용된다. CE#가 로우이고 장치가 비지 상태에 있으면, 플래시 메모리는 커맨드, 데이터, 어드레스 정보를 허용한다. 장치가 동작을 수행하고 있지 않으면, CE# 핀은 통상적으로 하이로 구동되고 장치는 대기 모드로 들어간다. 메모리는, CE#가 하이로 되는 한편 데이터가 전달되고 있으고 장치가 비지 상태가 아니면 대기 모드로 들어간다. 이것은 전력 소모를 줄이는 데 도움을 준다.
CE# "Dont' Care" 동작은 NAND 플래시가 다른 플래시나 SRAM 장치와 동일한 비동기 메모리 버스 상에 상주할 수 있게 한다. 이어서, 메모리 버스 상의 기타 장치들은 NAND 플래시가 내부 동작으로 비지 상태에 있는 동안 액세스될 수 있다. 이러한 능력은 동일한 버스 상에서 복수의 NAND 장치를 요구하는 설계를 위한 것이며, 예를 들어, 하나의 장치가 프로그래밍되는 동안 다른 장치가 판독될 수 있다. HIGH CLE 신호는 커맨드 사이클이 발생하고 있음을 표시한다. HIGH ALE 신호는 어드레스 입력 사이클이 발생하고 있음을 의미한다. 커맨드는, CE# 및 ALE가 LOW인 경우 그리고 CLE가 HIGH이고 장치가 비지 상태가 아닌 경우, WE#의 상승 에지에서 커맨드 레지스터에 기입된다. 이것의 예외로는 판독 상태와 리셋 커맨드가 있다.
이러한 특별한 컴포넌트를 이용함으로써, 커맨드는 WE#의 상승 에지에서 커맨드 레지스터에 전달되고, 커맨드는 라인 I/O[7:0]에서만 입력된다. x16 인터페이스를 갖는 장치에서는, 커맨드를 발행할 때 라인 I/O[15:8]이 "0"으로 기입될 필요가 있다. 어드레스는, CE# 및 CLE가 로우이고 ALE가 하이이며 장치가 비지 상태가 아닌 경우, WE#의 상승 에지에서 어드레스 레지스터에 기입된다. 어드레스는 I/O[7:0]에서만 입력되고, x16 인터페이스를 갖는 장치에서는, 어드레스를 발생할 때 I/O[15:8]이 "0"으로 기입될 필요가 있다. 일반적으로, 5개 어드레스 사이클 모두가 장치에 기입된다. 이것에 대한 예외로는, 3개의 어드레스 사이클만을 요구하는 블록 소거 커맨드(block erase command)가 있다.
본 명세서에서 예시한 플래시 장치는 멀티플렉싱된 장치이며, 이에 따라 어드레스, 커맨드, 데이터는 간단한 16비트 인터페이스를 통해 직렬 방식으로 흐른다. 도 7은 예시한 플래시 장치로 향하는 어드레스, 커맨드, 데이터 전달 프로토콜 타이밍의 직렬 특성을 도시한다. 어드레스, 커맨드, 데이터는 순차 기입에 의해 (멀티플렉싱되지 않은) SDRAM 인터페이스로부터 커맨드 및 데이터 블록들로 전송된다는 점에 주목하기 바란다.
전술한 바와 같이, SDRAM의 어드레스 공간에서 커맨드 블록에 대한 기입을 검출함으로써, 필요한 데이터가 컨트롤러(508)에 의해 플래시 장치에 전달될 수 있다. 도시한 어드레스 전달은 플래시 장치로의 어드레스 정보의 전달을 도시하도록 확장될 수 있다. 또한, 전술한 바와 같이, 플레시 메모리를 위한 어드레스 정보는, SDRAM 상의 커맨드 블록 어드레스에 다수의 기입을 수행함으로써 전달된다. 이 영역에서의 SDRAM 데이터는 이용 불가이며, 그 이유는 장치가 이러한 기입을 위해 선택 해제(deselect)되기 때문이다. 이러한 직렬 방식으로, 어드레스 데이터 및 커맨드 정보는 플래시 장치로부터 기입 및 판독될 수 있다. 제어 로직은 전술한 바와 같이 추가 커맨드 프로토콜을 구현하며, 예를 들어, 플래시 장치가 SDRAM 장치 속도 고려 사항으로부터 분리될 수 있게 한다. 예를 들어, 제어 로직에서 플래시 장치의 상태를 버퍼링함으로써, 비지 및 실행 상태를 표시하는 추가 커맨드 응답이 직렬 프로토콜에 부가될 수 있다. 플래시 장치로부터 리턴되는 데이터 및 상태는 데이터 전달 로직에서 SDRAM의 작은 블록 내로 버퍼링되고, 이에 따라 플래시에 대한 판독 및 기입 속도가 SDRAM의 판독 및 기입 속도와 일치하게 된다.
플래시 장치로의 직렬 전달의 통상적인 예가 도 8에 도시되어 있으며, 이것은 플래시(306)를 제어하도록 예약된 SDRAM 어드레스 공간(332; 도 3)에 대한 펌웨어(330)에 의한 판독 및 기입의 예를 나타낸다. 일반적으로, 펌웨어는 단계(802)에서 컨트롤러가 검출하는 어드레스 공간(332)에 IDLE 커맨드를 기입함으로써 플래시 커맨드를 전송한다.
단계(804)에서, 펌웨어는, 커맨드 어드레스 공간에 대한 하나의 기입 커맨드와 함께 어느 블록과 어느 어드레스를 사용해야 하는지를 표시하는 5개의 어드레스 기입을 포함하는 플래시 블록 어드레스 요구를 전송한다. 이어서, 컨트롤러는 자신이 필요로 하는 정보를 갖추어 기입을 수행한다.
단계(806, 808)들의 각각에서, 펌웨어(330)는, 기입 커맨드 및 버스트 판독을 발행하고 단계(810)를 통해 준비 상태(ready status)가 검출될 때까지 루핑(loop)을 행함으로써 상태를 폴링(poll)하고, 플래시 판독 버스트(단계 812)가 전송된다.
다른 구현예로서, 레지스터 기반 프로토콜은, 커맨드의 실행을 시작하도록 비지 워드 세트(busy word)로 레지스터를 기입하는 것을 포함하여, 일련의 레지스터를 로딩함으로써, 플래시에 액세스를 제공한다. 이것은 단일 페이지 기입이 플래시 블록 또는 플래시 블록들의 기입이나 페치(fetch) 개시를 할 수 있게 한다. 이 대체예에서, 비지 워드(busy word)는 커맨드가 완료되었을 때 컨트롤러에 의해 토글된다. 지원되는 커맨드는 페치 어드레스/블록 (또는 페치 어드레스 범위), 기입 어드레스/블록 (또는 기입 어드레스 범위), 및 삭제 어드레스/블록 (또는 삭제 어드레스 범위)를 포함한다.
게다가, 컨트롤러가 로직을 포함하기 때문에, 컨트롤러는 플래시 관리를 수행할 수 있다. 예를 들어, 플래시는 소정 개수의 판독 및 기입 후에 소진(wear out)되며, 이에 따라 컨트롤러는 소진(wear), 레벨링(leveling)이라 칭하는, 플래시의 다양한 이용가능 블록들의 사용량(usage)의 균형을 맞추기 위해 액세스를 리매핑할 수 있다. 또한, 컨트롤러 로직은 에러 검출 및 정정을 수행할 수 있고, 알려져 있는 불량 블록들을 이용하지 않도록 논리적으로 제거함으로써 불량 블록 관 리를 수행할 수 있다.
도 9는, 플래시가 종래의 퍼스널 컴퓨터 시스템 메모리에 어떻게 부가될 수 있는지를 예시하는, 듀얼 인라인 메모리 모듈(DIMM; 902)의 일 예를 도시한다. 물리적 플래시 칩은 SDRAM 칩과 동일한 측, 반대측 상에, 또는 양측 상에 있을 수 있다. 컨트롤러는, DIMM 자체 상에 있을 수 있고, 또는 다른 방안으로, DIMM 외부에 있을 수 있으며, SDRAM을 디스에이블하고 플래시 데이터를 필요시 대체하는 기능을 갖추고 있다.
퍼스널 컴퓨터가 턴온되면, BIOS(펌웨어)는 하이브리드 DIMM 메모리의 존재 유무를 테스트하고, 존재한다면, 플래시로부터 SDRAM 메모리의 적어도 일부(그 메모리의 코드)를 로딩한다. 비휘발성 플래시 메모리가 존재함으로써, 플래시에 저장된 데이터로부터 동작을 재개하거나 부팅이 가능해진다. 예를 들어, 데이터는, 메모리의 블록에 매핑되고 SDRAM이나 플래시로부터 분해된(resolved) CPU 메모리 캐시로부터 액세스된다. 충분한 플래시가 존재한다면, 하드 디스크 드라이브와 같은 주변 장치에 액세스할 필요 없이, 전체 SDRAM이 하이버네이션을 위해 보존될 수 있고, 또는 전체 운영 체제가 로딩된다.
본 발명은 다양하게 수정되고 대체 구성될 수 있으며, 본 발명의 소정의 예시한 실시예들이 도면에 도시되었으며 상세히 전술되었다. 그러나, 본 발명을 개시된 특정한 형태로 한정하려는 의도는 전혀 없으며 오히려 본 발명은 본 발명의 사상 및 범위 내에 속하는 모든 수정, 대체 구성, 등가 형태를 모두 커버하는 것임을 이해하기 바란다.
Claims (18)
- 메모리 장치를 위한 방법으로서,컨트롤러에서, 상기 메모리 장치와 연관된 제1 유형의 메모리용으로 정의된 인터페이스를 통해 상기 메모리 장치에서의 커맨드, 어드레스, 및 데이터를 수신하는 단계와,상기 컨트롤러에서, 상기 메모리 장치에서 수신된 정보가 상기 메모리 장치와 연관된 제2 유형의 메모리에 대응하는지 여부를 결정하고, 상기 제2 유형의 메모리에 대응한다면, 상기 제2 유형의 메모리에 신호를 출력하여 적어도 하나의 커맨드를 상기 제2 유형의 메모리에 통신하고 그리고/또는 상기 제2 유형의 메모리에 대하여 적어도 하나의 데이터 입력/출력(I/O) 동작을 수행하는 단계를 포함하는 메모리 장치를 위한 방법.
- 제1항에 있어서,상기 수신된 정보가 상기 제2 유형의 메모리에 대응하는 경우, 상기 제1 유형의 메모리를 디스에이블(disable)하는 단계를 더 포함하는 메모리 장치를 위한 방법.
- 제1항에 있어서,상기 수신된 정보가 상기 제2 유형의 메모리에 대응하는 경우, 비지 표 시(busy indication)를 출력하는 단계와, 상기 제2 유형의 메모리에 대하여 데이터 I/O 동작을 수행하는 단계와, 상기 데이터 I/O 동작이 완료되면 준비 표시(ready indication)를 출력하는 단계를 더 포함하는 메모리 장치를 위한 방법.
- 제1항에 있어서,상기 수신된 정보가 상기 제2 유형의 메모리에 대응하는 경우, 상기 메모리 장치의 하나 이상의 위치들의 다른 세트(another set of one or more locations)에 있는 커맨드 정보 및/또는 데이터 어드레싱 정보에 액세스하는 단계를 더 포함하는 메모리 장치를 위한 방법.
- 제4항에 있어서,상기 수신된 정보는 상기 데이터 어드레싱 정보에 대응하고,상기 데이터 어드레싱 정보를 판독하여, 수신된 어드레스를 상기 제2 유형의 메모리의 발생가능한 복수의 섹션 중 하나의 섹션에 매핑하는 단계를 더 포함하는 메모리 장치를 위한 방법.
- 메모리 장치를 위한 시스템으로서,제1 유형의 메모리와,상기 메모리 장치가 상기 제1 유형의 메모리의 액세스 프로토콜로 동작하도록 상기 제1 유형의 메모리에 대응하는 인터페이스와,제2 유형의 메모리와,상기 인터페이스, 상기 제1 유형의 메모리, 및 상기 제2 유형의 메모리에 결합되어, 상기 인터페이스에서 수신된 정보에 기초하여, 상기 인터페이스를 통해 수신된 다른 정보를 상기 제1 유형의 메모리에 적용할 것인지 또는 상기 제2 유형의 메모리에 적용할 것인지를 결정하는 컨트롤러를 포함하는 메모리 장치를 위한 시스템.
- 제6항에 있어서,상기 제1 유형의 메모리는 휘발성 메모리를 포함하고, 상기 제2 유형의 메모리는 비휘발성 메모리를 포함하고,상기 컨트롤러가 상기 인터페이스를 통해 수신된 관련 정보를 상기 제1 유형의 메모리에 적용할 것인지 또는 상기 제2 유형의 메모리에 적용할 것인지를 결정하게 하는, 상기 인터페이스에서 수신된 정보의 적어도 일부는, 상기 제1 유형의 메모리에 대응하는 메모리 어드레스 내에서 수신되는 메모리 장치를 위한 시스템.
- 제7항에 있어서,상기 휘발성 메모리는 SDRAM형 메모리 또는 DRAM형 메모리를 포함하고,상기 인터페이스를 통해 수신된 상기 관련 정보 및 상기 메모리 어드레스는, 로우 액세스 스트로브(row access strobe), 컬럼 액세스 스트로브, 및 제어 정보를 포함하는 메모리 장치를 위한 시스템.
- 제7항에 있어서,상기 비휘발성 메모리는 플래시 메모리를 포함하고,상기 플래시 메모리로 수행되는 데이터 I/O 동작을 버퍼링하도록 상기 컨트롤러에 결합된 버퍼를 더 포함하는 메모리 장치를 위한 시스템.
- 제9항에 있어서,상태 표시자(status indicator)를 더 포함하고,상기 컨트롤러는 상기 상태 표시자를 통해 데이터 I/O 동작이 비지 상태인지 완료(complete) 상태인지를 시그널링하는 메모리 장치를 위한 시스템.
- 제6항에 있어서,상기 메모리 장치는 듀얼 인라인 메모리 모듈(dual inline memory module) 내에 통합되어 있는 메모리 장치를 위한 시스템.
- 제6항에 있어서,상기 컨트롤러는 메모리 관리를 위한 수단을 더 포함하는 메모리 장치를 위한 시스템.
- 제6항에 있어서,상기 컨트롤러는, 상기 제1 유형의 메모리에 대응하는 하나 이상의 위치들의 세트에 있는 커맨드 정보 및/또는 데이터 어드레싱 정보에 액세스하는 메모리 장치를 위한 시스템.
- 컴퓨팅 장치를 위한 시스템으로서,제1 유형의 메모리에 대응하는 인터페이스, 제2 유형의 메모리, 및 컨트롤러를 포함하는 하이브리드 메모리 장치와,커맨드 관련 데이터를 상기 제1 유형의 메모리의 하나 이상의 어드레스에 기입하는 것을 포함함으로써, 상기 제2 유형의 메모리 상에서의 데이터 입력/출력 동작을 지시하는 적어도 하나의 커맨드를 포함하는(including at least one command directed towards a data input/output operation on the second type of memory) 커맨드를, 상기 인터페이스를 통해 상기 컨트롤러에게 개시하는(initiates) 컴포넌트를 포함하는 컴퓨팅 장치를 위한 시스템.
- 제14항에 있어서,상기 컨트롤러는, 상태 관련 데이터(status-related data)를 상기 제1 유형의 메모리의 하나 이상의 어드레스에 기입함으로써, 상기 제2 유형의 메모리의 데이터 입력/출력 동작의 상태 정보로 상기 컴포넌트에 시그널링하는 컴퓨팅 장치를 위한 시스템.
- 제14항에 있어서,상기 컴포넌트는 상기 컴퓨팅 장치의 펌웨어 상에서 실행되는 코드를 포함하는 컴퓨팅 장치를 위한 시스템.
- 제14항에 있어서,상기 제1 유형의 메모리는 휘발성 메모리에 대응하고, 상기 제2 유형의 메모리는 비휘발성 메모리를 포함하고, 상기 제1 유형의 메모리 내의 소정의 위치로 어드레싱된 데이터는 상기 컨트롤러에 의해 상기 제2 유형의 메모리에 액세스하도록 제어되는 컴퓨팅 장치를 위한 시스템.
- 제14항에 있어서,상기 컨트롤러에 결합되어 상기 제2 유형의 메모리를 이용하여 수행되는 데이터 I/O 동작을 버퍼링하는 버퍼를 더 포함하는 컴퓨팅 장치를 위한 시스템.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/449,435 US7716411B2 (en) | 2006-06-07 | 2006-06-07 | Hybrid memory device with single interface |
US11/449,435 | 2006-06-07 | ||
PCT/US2007/013127 WO2007145883A1 (en) | 2006-06-07 | 2007-06-01 | Hybrid memory device with single interface |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090026276A true KR20090026276A (ko) | 2009-03-12 |
KR101159400B1 KR101159400B1 (ko) | 2012-06-28 |
Family
ID=38823267
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020087029847A KR101159400B1 (ko) | 2006-06-07 | 2007-06-01 | 하이브리드 메모리 장치를 위한 방법 및 시스템 |
Country Status (11)
Country | Link |
---|---|
US (2) | US7716411B2 (ko) |
EP (1) | EP2025001B1 (ko) |
JP (2) | JP2009540431A (ko) |
KR (1) | KR101159400B1 (ko) |
CN (1) | CN101473438B (ko) |
BR (1) | BRPI0711731A2 (ko) |
ES (1) | ES2718463T3 (ko) |
MX (1) | MX2008014859A (ko) |
RU (1) | RU2442211C2 (ko) |
TW (1) | TWI420302B (ko) |
WO (1) | WO2007145883A1 (ko) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8611123B2 (en) | 2010-09-15 | 2013-12-17 | Samsung Electronics Co., Ltd. | Complex semiconductor device for use in mobile equipment |
US8812744B1 (en) | 2013-03-14 | 2014-08-19 | Microsoft Corporation | Assigning priorities to data for hybrid drives |
KR20150120919A (ko) * | 2012-10-08 | 2015-10-28 | 에이취지에스티 네덜란드 비.브이. | 저전력 저지연 고용량 스토리지 클래스 메모리용 장치 및 방법 |
KR20160042083A (ko) * | 2013-08-12 | 2016-04-18 | 마이크론 테크놀로지, 인크. | 하이브리드 메모리 모듈들을 위한 메모리의 i/o들을 구성하기 위한 장치들 및 방법들 |
JP2017045457A (ja) * | 2015-08-27 | 2017-03-02 | 三星電子株式会社Samsung Electronics Co.,Ltd. | トランザクション基盤のハイブリッドメモリモジュール、及びそれを動作させる方法 |
US9626126B2 (en) | 2013-04-24 | 2017-04-18 | Microsoft Technology Licensing, Llc | Power saving mode hybrid drive access management |
US9946495B2 (en) | 2013-04-25 | 2018-04-17 | Microsoft Technology Licensing, Llc | Dirty data management for hybrid drives |
US10186309B2 (en) | 2016-06-29 | 2019-01-22 | Samsung Electronics Co., Ltd. | Methods of operating semiconductor memory devices and semiconductor memory devices |
CN109643714A (zh) * | 2016-08-31 | 2019-04-16 | 美光科技公司 | 混合式存储器装置 |
US10692555B2 (en) | 2016-06-29 | 2020-06-23 | Samsung Electronics Co., Ltd. | Semiconductor memory devices enabling read strobe mode and related methods of operating semiconductor memory devices |
WO2023287061A1 (ko) * | 2021-07-14 | 2023-01-19 | 서울시립대학교 산학협력단 | Nand 플래시 메모리와 sram이 융합된 nas 메모리 셀 및 이를 이용한 nas 메모리 어레이 |
Families Citing this family (182)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8250295B2 (en) | 2004-01-05 | 2012-08-21 | Smart Modular Technologies, Inc. | Multi-rank memory module that emulates a memory module having a different number of ranks |
US8111566B1 (en) | 2007-11-16 | 2012-02-07 | Google, Inc. | Optimal channel design for memory devices for providing a high-speed memory interface |
US8335894B1 (en) | 2008-07-25 | 2012-12-18 | Google Inc. | Configurable memory system with interface circuit |
US10013371B2 (en) | 2005-06-24 | 2018-07-03 | Google Llc | Configurable memory circuit system and method |
US8327104B2 (en) | 2006-07-31 | 2012-12-04 | Google Inc. | Adjusting the timing of signals associated with a memory system |
US8055833B2 (en) | 2006-10-05 | 2011-11-08 | Google Inc. | System and method for increasing capacity, performance, and flexibility of flash storage |
US8169233B2 (en) | 2009-06-09 | 2012-05-01 | Google Inc. | Programming of DIMM termination resistance values |
US8081474B1 (en) | 2007-12-18 | 2011-12-20 | Google Inc. | Embossed heat spreader |
US9171585B2 (en) | 2005-06-24 | 2015-10-27 | Google Inc. | Configurable memory circuit system and method |
US7386656B2 (en) | 2006-07-31 | 2008-06-10 | Metaram, Inc. | Interface circuit system and method for performing power management operations in conjunction with only a portion of a memory circuit |
US8060774B2 (en) | 2005-06-24 | 2011-11-15 | Google Inc. | Memory systems and memory modules |
US8090897B2 (en) | 2006-07-31 | 2012-01-03 | Google Inc. | System and method for simulating an aspect of a memory circuit |
US9542352B2 (en) | 2006-02-09 | 2017-01-10 | Google Inc. | System and method for reducing command scheduling constraints of memory circuits |
US8130560B1 (en) | 2006-11-13 | 2012-03-06 | Google Inc. | Multi-rank partial width memory modules |
US8397013B1 (en) | 2006-10-05 | 2013-03-12 | Google Inc. | Hybrid memory module |
US20080082763A1 (en) | 2006-10-02 | 2008-04-03 | Metaram, Inc. | Apparatus and method for power management of memory circuits by a system or component thereof |
US8089795B2 (en) | 2006-02-09 | 2012-01-03 | Google Inc. | Memory module with memory stack and interface with enhanced capabilities |
US9507739B2 (en) | 2005-06-24 | 2016-11-29 | Google Inc. | Configurable memory circuit system and method |
US8041881B2 (en) | 2006-07-31 | 2011-10-18 | Google Inc. | Memory device with emulated characteristics |
US8244971B2 (en) | 2006-07-31 | 2012-08-14 | Google Inc. | Memory circuit system and method |
US8619452B2 (en) | 2005-09-02 | 2013-12-31 | Google Inc. | Methods and apparatus of stacking DRAMs |
US7392338B2 (en) | 2006-07-31 | 2008-06-24 | Metaram, Inc. | Interface circuit system and method for autonomously performing power management operations in conjunction with a plurality of memory circuits |
US8796830B1 (en) | 2006-09-01 | 2014-08-05 | Google Inc. | Stackable low-profile lead frame package |
US20080028136A1 (en) | 2006-07-31 | 2008-01-31 | Schakel Keith R | Method and apparatus for refresh management of memory modules |
US8077535B2 (en) | 2006-07-31 | 2011-12-13 | Google Inc. | Memory refresh apparatus and method |
US8359187B2 (en) | 2005-06-24 | 2013-01-22 | Google Inc. | Simulating a different number of memory circuit devices |
US8438328B2 (en) | 2008-02-21 | 2013-05-07 | Google Inc. | Emulation of abstracted DIMMs using abstracted DRAMs |
US8386722B1 (en) | 2008-06-23 | 2013-02-26 | Google Inc. | Stacked DIMM memory interface |
US9632929B2 (en) | 2006-02-09 | 2017-04-25 | Google Inc. | Translating an address associated with a command communicated between a system and memory circuits |
US7724589B2 (en) | 2006-07-31 | 2010-05-25 | Google Inc. | System and method for delaying a signal communicated from a system to at least one of a plurality of memory circuits |
US7516293B2 (en) * | 2006-09-08 | 2009-04-07 | International Business Machines Corporation | Increased performance using mixed memory types |
WO2008057557A2 (en) | 2006-11-06 | 2008-05-15 | Rambus Inc. | Memory system supporting nonvolatile physical memory |
US8135900B2 (en) | 2007-03-28 | 2012-03-13 | Kabushiki Kaisha Toshiba | Integrated memory management and memory management method |
JP5032172B2 (ja) * | 2007-03-28 | 2012-09-26 | 株式会社東芝 | 統合メモリ管理装置及び方法並びにデータ処理システム |
WO2008131058A2 (en) * | 2007-04-17 | 2008-10-30 | Rambus Inc. | Hybrid volatile and non-volatile memory device |
US8874831B2 (en) | 2007-06-01 | 2014-10-28 | Netlist, Inc. | Flash-DRAM hybrid memory module |
US8904098B2 (en) | 2007-06-01 | 2014-12-02 | Netlist, Inc. | Redundant backup using non-volatile memory |
US8301833B1 (en) | 2007-06-01 | 2012-10-30 | Netlist, Inc. | Non-volatile memory module |
US8209479B2 (en) | 2007-07-18 | 2012-06-26 | Google Inc. | Memory circuit system and method |
DE102007038543B4 (de) * | 2007-08-16 | 2022-09-01 | Robert Bosch Gmbh | Begleit-Chip zur Anwendung in einer Motorsteuerung |
US8080874B1 (en) | 2007-09-14 | 2011-12-20 | Google Inc. | Providing additional space between an integrated circuit and a circuit board for positioning a component therebetween |
US9201790B2 (en) * | 2007-10-09 | 2015-12-01 | Seagate Technology Llc | System and method of matching data rates |
US8352671B2 (en) * | 2008-02-05 | 2013-01-08 | Spansion Llc | Partial allocate paging mechanism using a controller and a buffer |
US8209463B2 (en) * | 2008-02-05 | 2012-06-26 | Spansion Llc | Expansion slots for flash memory based random access memory subsystem |
US8332572B2 (en) * | 2008-02-05 | 2012-12-11 | Spansion Llc | Wear leveling mechanism using a DRAM buffer |
US8275945B2 (en) | 2008-02-05 | 2012-09-25 | Spansion Llc | Mitigation of flash memory latency and bandwidth limitations via a write activity log and buffer |
JP2009211192A (ja) * | 2008-02-29 | 2009-09-17 | Toshiba Corp | メモリシステム |
US8082384B2 (en) * | 2008-03-26 | 2011-12-20 | Microsoft Corporation | Booting an electronic device using flash memory and a limited function memory controller |
US20090313416A1 (en) * | 2008-06-16 | 2009-12-17 | George Wayne Nation | Computer main memory incorporating volatile and non-volatile memory |
US10236032B2 (en) * | 2008-09-18 | 2019-03-19 | Novachips Canada Inc. | Mass data storage system with non-volatile memory modules |
US8599625B2 (en) * | 2008-10-23 | 2013-12-03 | Marvell World Trade Ltd. | Switch pin multiplexing |
KR100987332B1 (ko) | 2008-11-07 | 2010-10-18 | 서울대학교산학협력단 | 메모리 구조에 따른 메모리 관리 장치 |
CN101510174B (zh) * | 2008-11-07 | 2012-05-02 | 慧帝科技(深圳)有限公司 | 一种快闪记忆体更新资料的管理方法及相关的记忆卡 |
US8370603B2 (en) * | 2008-12-23 | 2013-02-05 | Apple Inc. | Architecture for address mapping of managed non-volatile memory |
US20140325129A1 (en) * | 2008-12-31 | 2014-10-30 | Micron Technology, Inc. | Method and apparatus for active range mapping for a nonvolatile memory device |
US8327087B1 (en) * | 2008-12-31 | 2012-12-04 | Micron Technology, Inc. | Method and apparatus for an always open write-only register based memory mapped overlay interface for a nonvolatile memory |
KR101583002B1 (ko) * | 2009-02-23 | 2016-01-21 | 삼성전자주식회사 | 컴퓨팅 시스템, 그것의 부팅 방법, 및 코드 데이터 피닝 방법 |
CN102063939B (zh) * | 2009-11-18 | 2015-01-28 | 中兴通讯股份有限公司 | 一种电可擦除可编程只读存储器的实现方法和装置 |
CN102110057B (zh) * | 2009-12-25 | 2013-05-08 | 澜起科技(上海)有限公司 | 存储器模组及存储器模组内的数据交换方法 |
US8612809B2 (en) | 2009-12-31 | 2013-12-17 | Intel Corporation | Systems, methods, and apparatuses for stacked memory |
JP5570619B2 (ja) | 2010-02-23 | 2014-08-13 | ラムバス・インコーポレーテッド | 異なるメモリ種類にアクセスする異なる速度での時分割多重化 |
KR101840238B1 (ko) * | 2010-03-08 | 2018-03-20 | 휴렛 팩커드 엔터프라이즈 디벨롭먼트 엘피 | 데이터 저장 장치 및 방법 |
US20110255335A1 (en) * | 2010-04-20 | 2011-10-20 | Alessandro Grossi | Charge trap memory having limited charge diffusion |
US20120026802A1 (en) * | 2010-07-30 | 2012-02-02 | Emanuele Confalonieri | Managed hybrid memory with adaptive power supply |
KR101670055B1 (ko) * | 2010-08-30 | 2016-11-09 | 삼성전자 주식회사 | 디지털 영상 처리 장치의 제어 방법, 상기 방법을 적용한 디지털 영상 처리 장치, 상기 디지털 영상 처리 장치를 포함하는 통신 시스템 |
JP2012063874A (ja) * | 2010-09-14 | 2012-03-29 | Toshiba Corp | チップセレクト信号を切り替えるセレクタ、ストレージ装置、及び電子機器 |
EP2453377A1 (en) * | 2010-11-15 | 2012-05-16 | Gemalto SA | Method of loading data into a portable secure token |
US9208071B2 (en) * | 2010-12-13 | 2015-12-08 | SanDisk Technologies, Inc. | Apparatus, system, and method for accessing memory |
US10817502B2 (en) | 2010-12-13 | 2020-10-27 | Sandisk Technologies Llc | Persistent memory management |
US10817421B2 (en) | 2010-12-13 | 2020-10-27 | Sandisk Technologies Llc | Persistent data structures |
US9141527B2 (en) * | 2011-02-25 | 2015-09-22 | Intelligent Intellectual Property Holdings 2 Llc | Managing cache pools |
US9170744B1 (en) | 2011-04-06 | 2015-10-27 | P4tents1, LLC | Computer program product for controlling a flash/DRAM/embedded DRAM-equipped system |
US9158546B1 (en) | 2011-04-06 | 2015-10-13 | P4tents1, LLC | Computer program product for fetching from a first physical memory between an execution of a plurality of threads associated with a second physical memory |
US9164679B2 (en) | 2011-04-06 | 2015-10-20 | Patents1, Llc | System, method and computer program product for multi-thread operation involving first memory of a first memory class and second memory of a second memory class |
US9176671B1 (en) | 2011-04-06 | 2015-11-03 | P4tents1, LLC | Fetching data between thread execution in a flash/DRAM/embedded DRAM-equipped system |
US8930647B1 (en) | 2011-04-06 | 2015-01-06 | P4tents1, LLC | Multiple class memory systems |
US10380022B2 (en) | 2011-07-28 | 2019-08-13 | Netlist, Inc. | Hybrid memory module and system and method of operating the same |
US10838646B2 (en) | 2011-07-28 | 2020-11-17 | Netlist, Inc. | Method and apparatus for presearching stored data |
US10198350B2 (en) | 2011-07-28 | 2019-02-05 | Netlist, Inc. | Memory module having volatile and non-volatile memory subsystems and method of operation |
US9417754B2 (en) | 2011-08-05 | 2016-08-16 | P4tents1, LLC | User interface system, method, and computer program product |
US11048410B2 (en) | 2011-08-24 | 2021-06-29 | Rambus Inc. | Distributed procedure execution and file systems on a memory interface |
WO2013028854A1 (en) | 2011-08-24 | 2013-02-28 | Rambus Inc. | Methods and systems for mapping a peripheral function onto a legacy memory interface |
US9098209B2 (en) | 2011-08-24 | 2015-08-04 | Rambus Inc. | Communication via a memory interface |
US8700834B2 (en) | 2011-09-06 | 2014-04-15 | Western Digital Technologies, Inc. | Systems and methods for an enhanced controller architecture in data storage systems |
US8707104B1 (en) | 2011-09-06 | 2014-04-22 | Western Digital Technologies, Inc. | Systems and methods for error injection in data storage systems |
US8713357B1 (en) | 2011-09-06 | 2014-04-29 | Western Digital Technologies, Inc. | Systems and methods for detailed error reporting in data storage systems |
US9195530B1 (en) | 2011-09-06 | 2015-11-24 | Western Digital Technologies, Inc. | Systems and methods for improved data management in data storage systems |
US9361986B2 (en) | 2011-09-19 | 2016-06-07 | Sandisk Technologies Inc. | High endurance non-volatile storage |
KR20130032772A (ko) * | 2011-09-23 | 2013-04-02 | 삼성전자주식회사 | 하이브리드 메모리 장치, 이를 포함하는 컴퓨터 시스템, 및 하이브리드 메모리장치의 데이터 기입 및 독출 방법 |
US9053008B1 (en) | 2012-03-26 | 2015-06-09 | Western Digital Technologies, Inc. | Systems and methods for providing inline parameter service in data storage devices |
WO2013177313A2 (en) | 2012-05-22 | 2013-11-28 | Xockets IP, LLC | Processing structured and unstructured data using offload processors |
US20130318268A1 (en) | 2012-05-22 | 2013-11-28 | Xockets IP, LLC | Offloading of computation for rack level servers and corresponding methods and systems |
US9183910B2 (en) | 2012-05-31 | 2015-11-10 | Samsung Electronics Co., Ltd. | Semiconductor memory devices for alternately selecting bit lines |
US9252996B2 (en) | 2012-06-21 | 2016-02-02 | Micron Technology, Inc. | Apparatuses and methods to change information values |
KR20130143210A (ko) * | 2012-06-21 | 2013-12-31 | 삼성전자주식회사 | 메모리 확장 장치 |
US20140108705A1 (en) | 2012-10-12 | 2014-04-17 | Sandisk Technologies Inc. | Use of High Endurance Non-Volatile Memory for Read Acceleration |
EP2915049B1 (en) | 2012-10-30 | 2020-03-04 | Hewlett-Packard Enterprise Development LP | Smart memory buffers |
CA2891355C (en) * | 2012-11-20 | 2022-04-05 | Charles I. Peddle | Solid state drive architectures |
US9147461B1 (en) | 2012-11-28 | 2015-09-29 | Samsung Electronics Co., Ltd. | Semiconductor memory device performing a refresh operation, and memory system including the same |
US9280497B2 (en) * | 2012-12-21 | 2016-03-08 | Dell Products Lp | Systems and methods for support of non-volatile memory on a DDR memory channel |
US9378161B1 (en) | 2013-01-17 | 2016-06-28 | Xockets, Inc. | Full bandwidth packet handling with server systems including offload processors |
EP2946296A4 (en) | 2013-01-17 | 2016-11-16 | Xockets Ip Llc | DELIBRATION PROCESSOR MODULES FOR CONNECTING TO A SYSTEM MEMORY |
CN103970219B (zh) * | 2013-01-30 | 2018-03-20 | 鸿富锦精密电子(天津)有限公司 | 存储设备及支持所述存储设备的主板 |
KR101752583B1 (ko) | 2013-03-14 | 2017-07-11 | 마이크론 테크놀로지, 인크. | 트레이닝, 데이터 조직, 및/또는 섀도잉을 포함하는 메모리 시스템들 및 방법들 |
US10372551B2 (en) | 2013-03-15 | 2019-08-06 | Netlist, Inc. | Hybrid memory system with configurable error thresholds and failure analysis capability |
WO2014155592A1 (ja) * | 2013-03-27 | 2014-10-02 | 株式会社日立製作所 | Sdramインターフェイスを有するdram、フラッシュメモリ混載メモリモジュール |
CN105027092B (zh) | 2013-03-27 | 2018-01-30 | 株式会社日立制作所 | 具有sdram接口的dram、混合闪存存储器模块 |
US9552176B2 (en) | 2013-04-12 | 2017-01-24 | Microsoft Technology Licensing, Llc | Block storage using a hybrid memory device |
US9436600B2 (en) | 2013-06-11 | 2016-09-06 | Svic No. 28 New Technology Business Investment L.L.P. | Non-volatile memory storage for multi-channel memory system |
US9858181B2 (en) * | 2013-06-20 | 2018-01-02 | Hitachi, Ltd. | Memory module having different types of memory mounted together thereon, and information processing device having memory module mounted therein |
US9129674B2 (en) * | 2013-06-27 | 2015-09-08 | Intel Corporation | Hybrid memory device |
CN105340017A (zh) * | 2013-07-09 | 2016-02-17 | 惠普发展公司,有限责任合伙企业 | 对包括非兼容性存储器技术或与其接合的存储器模块的写入流控制 |
JP6090057B2 (ja) * | 2013-08-15 | 2017-03-08 | 富士ゼロックス株式会社 | 状態情報記録装置及びプログラム |
US10185515B2 (en) * | 2013-09-03 | 2019-01-22 | Qualcomm Incorporated | Unified memory controller for heterogeneous memory on a multi-chip package |
JP6072661B2 (ja) * | 2013-09-30 | 2017-02-01 | ルネサスエレクトロニクス株式会社 | データ処理装置、マイクロコントローラ、及び半導体装置 |
KR20160083926A (ko) | 2013-11-07 | 2016-07-12 | 넷리스트 인코포레이티드 | 하이브리드 메모리 모듈, 및 그를 동작시키는 시스템 및 방법 |
US11182284B2 (en) | 2013-11-07 | 2021-11-23 | Netlist, Inc. | Memory module having volatile and non-volatile memory subsystems and method of operation |
US10248328B2 (en) | 2013-11-07 | 2019-04-02 | Netlist, Inc. | Direct data move between DRAM and storage on a memory module |
KR102195896B1 (ko) * | 2014-01-10 | 2020-12-28 | 삼성전자주식회사 | 디스크 캐시 제어 장치 및 방법 |
US9342402B1 (en) | 2014-01-28 | 2016-05-17 | Altera Corporation | Memory interface with hybrid error detection circuitry for modular designs |
US9237670B2 (en) | 2014-02-26 | 2016-01-12 | Samsung Electronics Co., Ltd. | Socket interposer and computer system using the socket |
CN103942159A (zh) * | 2014-03-19 | 2014-07-23 | 华中科技大学 | 一种基于混合存储设备的数据读写方法与装置 |
US9911477B1 (en) | 2014-04-18 | 2018-03-06 | Altera Corporation | Memory controller architecture with improved memory scheduling efficiency |
US20150347151A1 (en) * | 2014-05-28 | 2015-12-03 | Diablo Technologies Inc. | System and method for booting from a non-volatile memory |
US9811263B1 (en) | 2014-06-30 | 2017-11-07 | Altera Corporation | Memory controller architecture with improved memory scheduling efficiency |
US10430092B1 (en) * | 2014-07-28 | 2019-10-01 | Rambus Inc. | Memory controller systems with nonvolatile memory for storing operating parameters |
US9715453B2 (en) * | 2014-12-11 | 2017-07-25 | Intel Corporation | Computing method and apparatus with persistent memory |
US10318340B2 (en) * | 2014-12-31 | 2019-06-11 | Ati Technologies Ulc | NVRAM-aware data processing system |
KR102355436B1 (ko) * | 2015-01-09 | 2022-01-26 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 |
KR102076196B1 (ko) * | 2015-04-14 | 2020-02-12 | 에스케이하이닉스 주식회사 | 메모리 시스템, 메모리 모듈 및 메모리 모듈의 동작 방법 |
CN107710175B (zh) * | 2015-04-20 | 2021-12-14 | 奈特力斯股份有限公司 | 存储器模块以及操作系统和方法 |
WO2016182743A1 (en) | 2015-05-09 | 2016-11-17 | Medtronic, Inc. | Methods and devices that utilize hardware to move blocks of operating parameter data from memory to a register set |
US10261697B2 (en) | 2015-06-08 | 2019-04-16 | Samsung Electronics Co., Ltd. | Storage device and operating method of storage device |
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 |
US10078448B2 (en) | 2015-07-08 | 2018-09-18 | Samsung Electronics Co., Ltd. | Electronic devices and memory management methods thereof |
KR102367512B1 (ko) | 2015-09-08 | 2022-02-24 | 삼성전자주식회사 | 시스템 온 패키지 |
US10031674B2 (en) * | 2015-10-07 | 2018-07-24 | Samsung Electronics Co., Ltd. | DIMM SSD addressing performance techniques |
US10331586B2 (en) | 2015-10-30 | 2019-06-25 | Samsung Electronics Co., Ltd. | Nonvolatile memory device for providing fast booting and system including the same |
WO2017078681A1 (en) * | 2015-11-03 | 2017-05-11 | Hewlett-Packard Development Company, L.P. | Operating mode memory migration |
US9971511B2 (en) | 2016-01-06 | 2018-05-15 | Samsung Electronics Co., Ltd. | Hybrid memory module and transaction-based memory interface |
US20170220252A1 (en) * | 2016-01-29 | 2017-08-03 | Faraday&Future Inc. | Flash emulated eeprom wrapper |
US10146704B2 (en) * | 2016-02-16 | 2018-12-04 | Dell Products L.P. | Volatile/non-volatile memory device access provisioning system |
US10163508B2 (en) * | 2016-02-26 | 2018-12-25 | Intel Corporation | Supporting multiple memory types in a memory slot |
US10534619B2 (en) | 2016-02-26 | 2020-01-14 | Smart Modular Technologies, Inc. | Memory management system with multiple boot devices and method of operation thereof |
US10621119B2 (en) | 2016-03-03 | 2020-04-14 | Samsung Electronics Co., Ltd. | Asynchronous communication protocol compatible with synchronous DDR protocol |
US10592114B2 (en) | 2016-03-03 | 2020-03-17 | Samsung Electronics Co., Ltd. | Coordinated in-module RAS features for synchronous DDR compatible memory |
US10310547B2 (en) * | 2016-03-05 | 2019-06-04 | Intel Corporation | Techniques to mirror a command/address or interpret command/address logic at a memory device |
US10810144B2 (en) * | 2016-06-08 | 2020-10-20 | Samsung Electronics Co., Ltd. | System and method for operating a DRR-compatible asynchronous memory module |
KR102554496B1 (ko) | 2016-07-14 | 2023-07-13 | 에스케이하이닉스 주식회사 | 복수개의 메모리 모듈을 포함하는 데이터 처리 시스템 |
US9916256B1 (en) | 2016-09-12 | 2018-03-13 | Toshiba Memory Corporation | DDR storage adapter |
KR20180030329A (ko) * | 2016-09-13 | 2018-03-22 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
US10552053B2 (en) | 2016-09-28 | 2020-02-04 | Seagate Technology Llc | Hybrid data storage device with performance mode data path |
DE102017105155B4 (de) | 2016-11-11 | 2023-09-07 | Sandisk Technologies Llc | Schnittstelle für einen nichtflüchtigen speicher |
CN108121664A (zh) * | 2016-11-28 | 2018-06-05 | 慧荣科技股份有限公司 | 数据储存装置以及其操作方法 |
KR20180078512A (ko) | 2016-12-30 | 2018-07-10 | 삼성전자주식회사 | 반도체 장치 |
JP6391719B2 (ja) * | 2017-01-10 | 2018-09-19 | マイクロン テクノロジー, インク. | トレーニング、データ再構築および/またはシャドウィングを含むメモリシステムおよび方法 |
US10977057B2 (en) * | 2017-01-23 | 2021-04-13 | Via Labs, Inc. | Electronic apparatus capable of collectively managing different firmware codes and operation method thereof |
US11175853B2 (en) * | 2017-05-09 | 2021-11-16 | Samsung Electronics Co., Ltd. | Systems and methods for write and flush support in hybrid memory |
US10496584B2 (en) * | 2017-05-11 | 2019-12-03 | Samsung Electronics Co., Ltd. | Memory system for supporting internal DQ termination of data buffer |
US10403342B2 (en) * | 2017-06-20 | 2019-09-03 | Aspiring Sky Co. Limited | Hybrid flash memory structure |
US10845866B2 (en) * | 2017-06-22 | 2020-11-24 | Micron Technology, Inc. | Non-volatile memory system or sub-system |
ES2827790T3 (es) * | 2017-08-21 | 2021-05-24 | Carrier Corp | Sistema antiincendios y de seguridad que incluye bucle accesible por dirección y mejora automática de firmware |
KR102412609B1 (ko) | 2017-11-03 | 2022-06-23 | 삼성전자주식회사 | 내부 커맨드에 따른 어드레스에 대한 저장 및 출력 제어를 수행하는 메모리 장치 및 그 동작방법 |
KR102101622B1 (ko) * | 2017-12-06 | 2020-04-17 | 주식회사 멤레이 | 메모리 제어 장치 및 이를 포함하는 컴퓨팅 디바이스 |
US11216370B2 (en) * | 2018-02-20 | 2022-01-04 | Medtronic, Inc. | Methods and devices that utilize hardware to move blocks of operating parameter data from memory to a register set |
KR20190105337A (ko) | 2018-03-05 | 2019-09-17 | 삼성전자주식회사 | 반도체 메모리 장치 |
US10534731B2 (en) | 2018-03-19 | 2020-01-14 | Micron Technology, Inc. | Interface for memory having a cache and multiple independent arrays |
US10705963B2 (en) | 2018-03-21 | 2020-07-07 | Micron Technology, Inc. | Latency-based storage in a hybrid memory system |
TWI668575B (zh) * | 2018-07-26 | 2019-08-11 | 慧榮科技股份有限公司 | 資料儲存裝置以及非揮發式記憶體控制方法 |
US10977198B2 (en) * | 2018-09-12 | 2021-04-13 | Micron Technology, Inc. | Hybrid memory system interface |
CN111512374B (zh) * | 2018-10-16 | 2022-11-11 | 华为技术有限公司 | 一种混合存储设备及访问方法 |
US11048654B2 (en) * | 2018-10-24 | 2021-06-29 | Innogrit Technologies Co., Ltd. | Systems and methods for providing multiple memory channels with one set of shared address pins on the physical interface |
TWI739075B (zh) * | 2019-01-03 | 2021-09-11 | 慧榮科技股份有限公司 | 閃存的資料寫入方法及電腦程式產品 |
US11199991B2 (en) | 2019-01-03 | 2021-12-14 | Silicon Motion, Inc. | Method and apparatus for controlling different types of storage units |
KR20210017109A (ko) | 2019-08-07 | 2021-02-17 | 삼성전자주식회사 | 스토리지 장치 |
RU2757659C1 (ru) * | 2020-06-16 | 2021-10-19 | Александр Георгиевич Носков | Накопитель магнитный с разделёнными областями |
KR20220029914A (ko) | 2020-09-02 | 2022-03-10 | 삼성전자주식회사 | 펄스 진폭 변조 기반 데이터 스트로브 신호를 생성하는 메모리 장치, 메모리 컨트롤러 및 이들을 포함하는 메모리 시스템 |
US20220083252A1 (en) * | 2020-09-14 | 2022-03-17 | Micron Technology, Inc. | Indication-based avoidance of defective memory cells |
CN114895847A (zh) * | 2020-10-12 | 2022-08-12 | 长江存储科技有限责任公司 | 非易失性存储器、存储装置及非易失性存储器的操作方法 |
KR20220077400A (ko) | 2020-12-02 | 2022-06-09 | 삼성전자주식회사 | 메모리 장치, 메모리 시스템 및 이의 동작 방법 |
US11803326B2 (en) * | 2021-04-23 | 2023-10-31 | Macronix International Co., Ltd. | Implementing a read setup burst command in 3D NAND flash memory to reduce voltage threshold deviation over time |
CN116955241B (zh) * | 2023-09-21 | 2024-01-05 | 杭州智灵瞳人工智能有限公司 | 兼容多类型存储介质的存储芯片 |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4995004A (en) | 1989-05-15 | 1991-02-19 | Dallas Semiconductor Corporation | RAM/ROM hybrid memory architecture |
JPH05299616A (ja) * | 1992-04-16 | 1993-11-12 | Hitachi Ltd | 半導体記憶装置 |
JPH06195258A (ja) * | 1992-07-08 | 1994-07-15 | Nec Corp | 半導体記憶装置 |
US5696917A (en) | 1994-06-03 | 1997-12-09 | Intel Corporation | Method and apparatus for performing burst read operations in an asynchronous nonvolatile memory |
US5634112A (en) * | 1994-10-14 | 1997-05-27 | Compaq Computer Corporation | Memory controller having precharge prediction based on processor and PCI bus cycles |
US5701433A (en) * | 1994-10-14 | 1997-12-23 | Compaq Computer Corporation | Computer system having a memory controller which performs readahead operations which can be aborted prior to completion |
US6741494B2 (en) | 1995-04-21 | 2004-05-25 | Mark B. Johnson | Magnetoelectronic memory element with inductively coupled write wires |
US5864671A (en) | 1996-07-01 | 1999-01-26 | Sun Microsystems, Inc. | Hybrid memory access protocol for servicing memory access request by ascertaining whether the memory block is currently cached in determining which protocols to be used |
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 |
US6850995B1 (en) * | 1999-01-25 | 2005-02-01 | Canon Kabushiki Kaisha | Control unit selectively connected with a first bus and a second bus for controlling a displaying process in parallel with a scanning process |
US6380581B1 (en) | 1999-02-26 | 2002-04-30 | Micron Technology, Inc. | DRAM technology compatible non volatile memory cells with capacitors connected to the gates of the transistors |
KR100313514B1 (ko) * | 1999-05-11 | 2001-11-17 | 김영환 | 하이브리드 메모리 장치 |
KR100383774B1 (ko) | 2000-01-26 | 2003-05-12 | 삼성전자주식회사 | 공통 인터페이스 방식의 메모리 장치들을 구비한 시스템 |
US7073014B1 (en) | 2000-07-28 | 2006-07-04 | Micron Technology, Inc. | Synchronous non-volatile memory system |
JP3871853B2 (ja) * | 2000-05-26 | 2007-01-24 | 株式会社ルネサステクノロジ | 半導体装置及びその動作方法 |
JP2002259443A (ja) * | 2001-02-28 | 2002-09-13 | Ricoh Co Ltd | 文書管理システム、文書検索方法および文書検索プログラム |
US6327207B1 (en) * | 2001-04-09 | 2001-12-04 | Lsi Logic Corporation | Synchronizing data operations across a synchronization boundary between different clock domains using two-hot encoding |
JP4059002B2 (ja) * | 2001-06-13 | 2008-03-12 | 株式会社日立製作所 | メモリ装置 |
TWI240864B (en) * | 2001-06-13 | 2005-10-01 | Hitachi Ltd | Memory device |
JP2003006041A (ja) | 2001-06-20 | 2003-01-10 | Hitachi Ltd | 半導体装置 |
US6670234B2 (en) | 2001-06-22 | 2003-12-30 | International Business Machines Corporation | Method of integrating volatile and non-volatile memory cells on the same substrate and a semiconductor memory device thereof |
US7533214B2 (en) * | 2002-02-27 | 2009-05-12 | Microsoft Corporation | Open architecture flash driver |
US6799231B2 (en) * | 2002-10-22 | 2004-09-28 | Asix Electronics Corp. | Virtual I/O device coupled to memory controller |
WO2004049168A1 (ja) * | 2002-11-28 | 2004-06-10 | Renesas Technology Corp. | メモリモジュール、メモリシステム、及び情報機器 |
US7752380B2 (en) | 2003-07-31 | 2010-07-06 | Sandisk Il Ltd | SDRAM memory device with an embedded NAND flash controller |
US6859068B1 (en) * | 2003-08-08 | 2005-02-22 | Sun Microsystems, Inc. | Self-correcting I/O interface driver scheme for memory interface |
US7171526B2 (en) | 2003-11-07 | 2007-01-30 | Freescale Semiconductor, Inc. | Memory controller useable in a data processing system |
US6862206B1 (en) * | 2003-12-19 | 2005-03-01 | Hewlett-Packard Development Company, L.P. | Memory module hybridizing an atomic resolution storage (ARS) memory and a magnetic memory |
KR101085406B1 (ko) | 2004-02-16 | 2011-11-21 | 삼성전자주식회사 | 불 휘발성 메모리를 제어하기 위한 컨트롤러 |
US20050204091A1 (en) | 2004-03-11 | 2005-09-15 | Kilbuck Kevin M. | Non-volatile memory with synchronous DRAM interface |
US20060184710A1 (en) * | 2005-02-17 | 2006-08-17 | Nokia Inc. | Bridge between a single channel high speed bus and a multiple channel low speed bus |
US20060294295A1 (en) * | 2005-06-24 | 2006-12-28 | Yukio Fukuzo | DRAM chip device well-communicated with flash memory chip and multi-chip package comprising such a device |
US7360022B2 (en) * | 2005-12-29 | 2008-04-15 | Intel Corporation | Synchronizing an instruction cache and a data cache on demand |
WO2008131058A2 (en) * | 2007-04-17 | 2008-10-30 | Rambus Inc. | Hybrid volatile and non-volatile memory device |
-
2006
- 2006-06-07 US US11/449,435 patent/US7716411B2/en active Active
-
2007
- 2007-04-13 TW TW096113112A patent/TWI420302B/zh not_active IP Right Cessation
- 2007-06-01 KR KR1020087029847A patent/KR101159400B1/ko active IP Right Grant
- 2007-06-01 CN CN2007800212183A patent/CN101473438B/zh active Active
- 2007-06-01 MX MX2008014859A patent/MX2008014859A/es active IP Right Grant
- 2007-06-01 ES ES07795704T patent/ES2718463T3/es active Active
- 2007-06-01 WO PCT/US2007/013127 patent/WO2007145883A1/en active Application Filing
- 2007-06-01 BR BRPI0711731-0A patent/BRPI0711731A2/pt not_active Application Discontinuation
- 2007-06-01 RU RU2008148129/08A patent/RU2442211C2/ru active
- 2007-06-01 JP JP2009514323A patent/JP2009540431A/ja active Pending
- 2007-06-01 EP EP07795704.1A patent/EP2025001B1/en active Active
-
2010
- 2010-04-30 US US12/771,670 patent/US8423700B2/en active Active
-
2011
- 2011-05-18 JP JP2011111408A patent/JP5613103B2/ja active Active
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8611123B2 (en) | 2010-09-15 | 2013-12-17 | Samsung Electronics Co., Ltd. | Complex semiconductor device for use in mobile equipment |
KR20150120919A (ko) * | 2012-10-08 | 2015-10-28 | 에이취지에스티 네덜란드 비.브이. | 저전력 저지연 고용량 스토리지 클래스 메모리용 장치 및 방법 |
US8812744B1 (en) | 2013-03-14 | 2014-08-19 | Microsoft Corporation | Assigning priorities to data for hybrid drives |
US8990441B2 (en) | 2013-03-14 | 2015-03-24 | Microsoft Technology Licensing, Llc | Assigning priorities to data for hybrid drives |
US9323460B2 (en) | 2013-03-14 | 2016-04-26 | Microsoft Technology Licensing, Llc | Assigning priorities to data for hybrid drives |
US9626126B2 (en) | 2013-04-24 | 2017-04-18 | Microsoft Technology Licensing, Llc | Power saving mode hybrid drive access management |
US9946495B2 (en) | 2013-04-25 | 2018-04-17 | Microsoft Technology Licensing, Llc | Dirty data management for hybrid drives |
KR20160042083A (ko) * | 2013-08-12 | 2016-04-18 | 마이크론 테크놀로지, 인크. | 하이브리드 메모리 모듈들을 위한 메모리의 i/o들을 구성하기 위한 장치들 및 방법들 |
KR20180064556A (ko) * | 2013-08-12 | 2018-06-14 | 마이크론 테크놀로지, 인크. | 하이브리드 메모리 모듈들을 위한 메모리의 i/o들을 구성하기 위한 장치들 및 방법들 |
KR20190091371A (ko) * | 2013-08-12 | 2019-08-05 | 마이크론 테크놀로지, 인크. | 하이브리드 메모리 모듈들을 위한 메모리의 i/o들을 구성하기 위한 장치들 및 방법들 |
US10423363B2 (en) | 2013-08-12 | 2019-09-24 | Micron Technology, Inc. | Apparatuses and methods for configuring I/OS of memory for hybrid memory modules |
US10698640B2 (en) | 2013-08-12 | 2020-06-30 | Micron Technology, Inc. | Apparatuses and methods for configuring I/Os of memory for hybrid memory modules |
US11379158B2 (en) | 2013-08-12 | 2022-07-05 | Micron Technology, Inc. | Apparatuses and methods for configuring I/Os of memory for hybrid memory modules |
US11886754B2 (en) | 2013-08-12 | 2024-01-30 | Lodestar Licensing Group Llc | Apparatuses and methods for configuring I/Os of memory for hybrid memory modules |
JP2017045457A (ja) * | 2015-08-27 | 2017-03-02 | 三星電子株式会社Samsung Electronics Co.,Ltd. | トランザクション基盤のハイブリッドメモリモジュール、及びそれを動作させる方法 |
US10186309B2 (en) | 2016-06-29 | 2019-01-22 | Samsung Electronics Co., Ltd. | Methods of operating semiconductor memory devices and semiconductor memory devices |
US10692555B2 (en) | 2016-06-29 | 2020-06-23 | Samsung Electronics Co., Ltd. | Semiconductor memory devices enabling read strobe mode and related methods of operating semiconductor memory devices |
CN109643714A (zh) * | 2016-08-31 | 2019-04-16 | 美光科技公司 | 混合式存储器装置 |
WO2023287061A1 (ko) * | 2021-07-14 | 2023-01-19 | 서울시립대학교 산학협력단 | Nand 플래시 메모리와 sram이 융합된 nas 메모리 셀 및 이를 이용한 nas 메모리 어레이 |
Also Published As
Publication number | Publication date |
---|---|
KR101159400B1 (ko) | 2012-06-28 |
MX2008014859A (es) | 2008-12-01 |
JP5613103B2 (ja) | 2014-10-22 |
TW200745848A (en) | 2007-12-16 |
JP2009540431A (ja) | 2009-11-19 |
TWI420302B (zh) | 2013-12-21 |
US20100217924A1 (en) | 2010-08-26 |
JP2011181098A (ja) | 2011-09-15 |
CN101473438B (zh) | 2012-06-13 |
EP2025001B1 (en) | 2019-01-23 |
US7716411B2 (en) | 2010-05-11 |
EP2025001A4 (en) | 2010-07-28 |
BRPI0711731A2 (pt) | 2011-11-29 |
RU2008148129A (ru) | 2010-06-10 |
RU2442211C2 (ru) | 2012-02-10 |
CN101473438A (zh) | 2009-07-01 |
US20070288683A1 (en) | 2007-12-13 |
ES2718463T3 (es) | 2019-07-02 |
EP2025001A1 (en) | 2009-02-18 |
US8423700B2 (en) | 2013-04-16 |
WO2007145883A1 (en) | 2007-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101159400B1 (ko) | 하이브리드 메모리 장치를 위한 방법 및 시스템 | |
KR100281432B1 (ko) | 플래쉬 메모리에 기초한 주메모리 | |
US7234052B2 (en) | System boot using NAND flash memory and method thereof | |
US7657696B2 (en) | Method to detect NAND-flash parameters by hardware automatically | |
US10943183B2 (en) | Electronics device performing software training on memory channel and memory channel training method thereof | |
US20080256352A1 (en) | Methods and systems of booting of an intelligent non-volatile memory microcontroller from various sources | |
TWI776553B (zh) | 具有晶片內執行能力的串列式反及閘快閃記憶體 | |
KR20080084082A (ko) | 메모리 카드 및 그것을 포함하는 메모리 시스템 그리고그것의 동작 방법 | |
US20080010419A1 (en) | System and Method for Issuing Commands | |
US20160062659A1 (en) | Virtual memory module | |
US20200356491A1 (en) | Data storage device and method for loading logical-to-physical mapping table thereof | |
KR20190102438A (ko) | 전자 장치 및 그것의 동작 방법 | |
KR20200114212A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US20090307389A1 (en) | Switchable access states for non-volatile storage devices | |
KR20220045342A (ko) | 호스트 장치, 데이터 저장 장치, 데이터 처리 시스템 및 데이터 처리 방법 | |
KR20210042192A (ko) | 반도체 메모리 장치, 전자 장치, 및 그것의 설정 방법 | |
US20230096111A1 (en) | Memory controller, storage device, and host device | |
US20230103797A1 (en) | Memory controller and method of operating the same | |
US20240037023A1 (en) | Storage device and method of operating the same | |
Kuppan Thirumalai | Basic Understanding of NAND Flash Interface | |
KR20230038971A (ko) | 스토리지 장치 및 그 동작 방법 | |
KR20230011214A (ko) | 스토리지 장치 및 이의 동작 방법 | |
KR20240003648A (ko) | 메모리 시스템 및 그에 포함된 메모리 컨트롤러의 동작 방법 | |
KR20190087757A (ko) | 반도체 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20150515 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20160517 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20170522 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20180516 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20190515 Year of fee payment: 8 |