KR101159400B1 - 하이브리드 메모리 장치를 위한 방법 및 시스템 - Google Patents

하이브리드 메모리 장치를 위한 방법 및 시스템 Download PDF

Info

Publication number
KR101159400B1
KR101159400B1 KR1020087029847A KR20087029847A KR101159400B1 KR 101159400 B1 KR101159400 B1 KR 101159400B1 KR 1020087029847 A KR1020087029847 A KR 1020087029847A KR 20087029847 A KR20087029847 A KR 20087029847A KR 101159400 B1 KR101159400 B1 KR 101159400B1
Authority
KR
South Korea
Prior art keywords
memory
type
data
memory device
controller
Prior art date
Application number
KR1020087029847A
Other languages
English (en)
Other versions
KR20090026276A (ko
Inventor
루스톤 파나바커
잭 크리시
Original Assignee
마이크로소프트 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크로소프트 코포레이션 filed Critical 마이크로소프트 코포레이션
Publication of KR20090026276A publication Critical patent/KR20090026276A/ko
Application granted granted Critical
Publication of KR101159400B1 publication Critical patent/KR101159400B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0638Combination of memories, e.g. ROM and RAM such as to permit replacement or supplementing of words in one module by words in another module
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/12Group selection circuits, e.g. for memory block selection, chip selection, array selection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/205Hybrid memory, e.g. using both volatile and non-volatile memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/005Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor comprising combined but independently operative RAM-ROM, RAM-PROM, RAM-EPROM cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/10Aspects relating to interfaces of memory device to external buses
    • G11C2207/104Embedded 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

하이브리드 메모리 장치를 위한 방법 및 시스템{HYBRID MEMORY DEVICE WITH SINGLE INTERFACE}
다양한 기존의 컴퓨팅 장치와 새로운 컴퓨팅 장치는 고속의 휘발성 메모리(예를 들어, 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
Figure 112008084087571-pct00001
Windows
Figure 112008084087571-pct00002
기반 운영 체제, 또는 다른 운영 체제와 같이 프로세서(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
Figure 112008084087571-pct00003
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
Figure 112008084087571-pct00004
MT29F2G16AABWP 장치)는 멀 티플렉싱된 버스를 갖고, 이에 따라 데이터 I/O, 어드레스, 커맨드가 동일한 핀들을 공유한다. I/O 핀[15:8]들은 I/O[7:0]상에서 공급되는 어드레스와 커맨드를 갖는 x16 구성에서의 데이터를 위해서만 사용된다는 점에 주목하기 바란다. 커맨드 시퀀스는 일반적으로 커맨드 래치 사이클, 어드레스 래치 사이클, 데이터 사이클, 판독 또는 기입을 포함한다. 제어 신호(CE#, WE#, RE#, CLE, ALE, WP# )들은 플래시 장치의 판독 및 기입 동작들을 제어한다. 예를 들어 Micron
Figure 112008084087571-pct00005
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. 메모리 장치에서, 물리적 메모리 장치에 대한 임의의 변경 없이 단일 인터페이스에서 적어도 두 개의 유형의 메모리에 대해 데이터 동작을 처리하는 방법으로서,
    컨트롤러에서, 상기 메모리 장치와 연관된 인터페이스를 통해 상기 메모리 장치에서의 커맨드, 어드레스 및 데이터를 수신하는 단계 - 상기 메모리 장치는 제1 유형의 메모리 및 제2 유형의 메모리를 포함하고, 상기 인터페이스는 상기 제1 유형의 메모리에 대해 정의되고, 상기 메모리 장치는 상기 제1 유형의 메모리만을 가진 메모리 장치에 관한 소프트웨어 변경(software changes)만을 포함하며 이에 따라 상기 제1 유형의 메모리 및 상기 제2 유형의 메모리를 사용하기(handle) 위해 상기 메모리 장치에 물리적 변경을 가하는 것은 필요하지 않음 - ;
    상기 컨트롤러에서, 상기 메모리 장치에서 수신된 정보가 상기 메모리 장치와 연관된 제1 유형의 메모리에 대응하는지 여부를 판정하고, 상기 제1 유형의 메모리에 대응한다면, 상기 제1 유형의 메모리에 신호를 출력하여 적어도 하나의 커맨드를 상기 제1 유형의 메모리에 전달하는 단계; 및
    상기 컨트롤러에서, 상기 메모리 장치에서 수신된 정보가 상기 메모리 장치와 연관된 제2 유형의 메모리에 대응하는지 여부를 판정하고, 상기 제2 유형의 메모리에 대응한다면, 상기 제2 유형의 메모리에 신호를 출력하여 적어도 하나의 커맨드를 상기 제2 유형의 메모리에 전달하는 단계를 포함하는
    메모리 장치에서의 데이터 동작 처리 방법.
  2. 제1항에 있어서,
    상기 수신된 정보가 상기 제2 유형의 메모리에 대응하는 경우, 상기 제1 유형의 메모리를 디스에이블(disable)하는 단계를 더 포함하는
    메모리 장치에서의 데이터 동작 처리 방법.
  3. 제1항에 있어서,
    상기 수신된 정보가 상기 제2 유형의 메모리에 대응하는 경우, 비지 표시(busy indication)를 출력하는 단계와, 상기 제2 유형의 메모리에 대하여 데이터 입출력(I/O) 동작을 수행하는 단계와, 상기 데이터 입출력 동작이 완료되면 준비 표시(ready indication)를 출력하는 단계를 더 포함하는
    메모리 장치에서의 데이터 동작 처리 방법.
  4. 제1항에 있어서,
    상기 수신된 정보가 상기 제2 유형의 메모리에 대응하는 경우, 상기 메모리 장치에서 또 다른 세트를 이루는 하나 이상의 위치들(another set of one or more locations)에 있는 커맨드 정보 및 데이터 어드레싱 정보 중 하나 이상에 액세스하는 단계를 더 포함하는
    메모리 장치에서의 데이터 동작 처리 방법.
  5. 제4항에 있어서,
    상기 수신된 정보는 상기 데이터 어드레싱 정보에 대응하고,
    상기 데이터 어드레싱 정보를 판독하여, 수신된 어드레스를 상기 제2 유형의 메모리의 복수의 섹션 중 하나의 섹션에 매핑하는 단계를 더 포함하는
    메모리 장치에서의 데이터 동작 처리 방법.
  6. 메모리 장치를 위한 시스템으로서,
    제1 유형의 메모리;
    제2 유형의 메모리 - 상기 제1 및 제2 유형의 메모리는 하드웨어형 메모리임 - ;
    상기 제1 유형의 메모리에 대응하는 인터페이스로서, 상기 메모리 장치가 상기 제1 유형의 메모리의 액세스 프로토콜로 동작하고, 상기 제1 유형의 메모리만을 가진 메모리 장치에 관하여 상기 메모리 장치에 대한 임의의 변경이 없이, 상기 제1 유형의 메모리 및 제2 유형의 메모리 모두를 사용하여 상기 인터페이스를 동작시키는데 소프트웨어 변경만이 필요하도록 하는 상기 인터페이스; 및
    상기 인터페이스, 상기 제1 유형의 메모리 및 상기 제2 유형의 메모리에 연결된 컨트롤러 - 상기 컨트롤러는, 상기 인터페이스에서 수신된 정보에 기초하여, 상기 인터페이스를 통해 수신된 다른 정보를 상기 제1 유형의 메모리에 적용할 것인지 또는 상기 제2 유형의 메모리에 적용할 것인지를 결정함 - 를 포함하는
    메모리 장치를 위한 시스템.
  7. 제6항에 있어서,
    상기 제1 유형의 메모리는 휘발성 메모리를 포함하고, 상기 제2 유형의 메모리는 비휘발성 메모리를 포함하며,
    상기 인터페이스에서 수신된 정보의 적어도 일부 - 상기 정보에 의해 상기 컨트롤러는 상기 인터페이스를 통해 수신된 관련 정보를 상기 제1 유형의 메모리에 적용할 것인지 또는 상기 제2 유형의 메모리에 적용할 것인지를 결정함 - 는 상기 제1 유형의 메모리에 대응하는 메모리 어드레스에서 수신되는
    메모리 장치를 위한 시스템.
  8. 제7항에 있어서,
    상기 휘발성 메모리는 SDRAM형 메모리 또는 DRAM형 메모리를 포함하고,
    상기 인터페이스를 통해 수신된 관련 정보 및 상기 메모리 어드레스는, 로우 액세스 스트로브(row access strobe), 컬럼 액세스 스트로브 및 제어 정보를 포함하는
    메모리 장치를 위한 시스템.
  9. 제7항에 있어서,
    상기 비휘발성 메모리는 플래시 메모리를 포함하고,
    상기 플래시 메모리로 수행되는 데이터 입출력 동작을 버퍼링하기 위해 상기 컨트롤러에 연관된 버퍼를 더 포함하는
    메모리 장치를 위한 시스템.
  10. 제9항에 있어서,
    상태 표시자(status indicator)를 더 포함하고,
    상기 컨트롤러는 상기 상태 표시자를 통해 데이터 입출력 동작이 비지(busy) 상태인지 완료(complete) 상태인지를 시그널링하는
    메모리 장치를 위한 시스템.
  11. 제6항에 있어서,
    상기 메모리 장치는 듀얼 인라인 메모리 모듈(dual inline memory module) 내에 통합되는
    메모리 장치를 위한 시스템.
  12. 제6항에 있어서,
    상기 컨트롤러는, 상기 제1 유형의 메모리에 대응하는 하나 이상의 위치들의 세트에 있는 커맨드 정보 및 데이터 어드레싱 정보 중 하나 이상을 액세스하는
    메모리 장치를 위한 시스템.
  13. 제6항에 있어서,
    상기 컨트롤러는, (a) 상기 제1 유형의 메모리와 직접 통신하고, (b) 상기 제2 유형의 메모리와 통신하는데 사용되는 버퍼 세트를 가지는
    메모리 장치를 위한 시스템.
  14. 컴퓨팅 장치를 위한 시스템으로서,
    중앙 처리 장치(CPU);
    하이브리드 메모리 장치 - 상기 하이브리드 메모리 장치는,
    DRAM 기반 메모리와,
    상기 DRAM 기반 메모리의 속도보다 느린 속도를 가진 플래시형 메모리와,
    펌웨어와,
    상기 DRAM 기반 메모리만을 가진 메모리 장치에 관하여 펌웨어 변경만을 포함하여, 상기 하이브리드 메모리 장치에 상기 플래시형 메모리를 수용하기 위해 물리적 변경이 이루어지지 않는 물리적 아키텍처와,
    상기 DRAM 기반 메모리에 대응하는 인터페이스와,
    적어도 상기 DRAM 기반 메모리의 속도에 대해 속도-매칭 버퍼 세트(speed-matching buffer set)를 가지는 컨트롤러를 포함함 - ; 및
    컴포넌트 - 상기 컴포넌트는
    상기 DRAM 기반 메모리의 하나 이상의 어드레스에 입출력 관련 데이터(I/O related data)를 기입함으로써, 상기 인터페이스를 통해 상기 컨트롤러에 입출력 동작을 개시하고,
    상기 컨트롤러로 하여금 상기 DRAM-기반 메모리의 하나 이상의 어드레스를 상기 플래시형 메모리에 맵핑하도록 하여 상기 입출력 관련 데이터가 상기 플래시형 메모리에서 사용될 것임을 나타내며,
    상기 컨트롤러로 하여금 상태를 비지 상태로 설정하도록 하고 - 상기 상태는 상기 펌웨어에 상기 컨트롤러의 비지 상태를 표시함 - ,
    상기 속도-매칭 버퍼 세트를 데이터로 채우고,
    상기 속도-매칭 버퍼 세트가 상기 DRAM-기반 메모리에서의 속도의 차를 보상하기에 충분한 데이터를 가지는 경우, 상기 상태를 준비(ready) 상태로 설정하며,
    상기 펌웨어가 상태를 조사하고(poll for) 상기 상태가 준비 상태로 설정된 것을 판정한 경우, 상기 속도-매칭 버퍼 세트로부터 데이터를 출력함 - 를 포함하되,
    상기 CPU는 상기 펌웨어가 상기 상태를 조사하는 것을 인식하지 못하는
    컴퓨팅 장치를 위한 시스템.
  15. 제14항에 있어서,
    상기 입출력 관련 데이터는 판독 커맨드(read command)와 연관되고,
    상기 속도-매칭 버퍼 세트를 데이터로 채우는 것은 상기 플래시형 메모리로부터 데이터를 획득하는 것을 포함하며,
    상기 데이터를 출력하는 것은 상기 플래시형 메모리로부터 획득된 데이터를 출력하는 것을 포함하는
    컴퓨팅 장치를 위한 시스템.
  16. 제14항에 있어서,
    상기 입출력 관련 데이터는 기입 커맨드(write command)와 연관되고,
    상기 속도-매칭 버퍼 세트를 데이터로 채우는 것은 상기 펌웨어로부터의 데이터를 획득하는 것을 포함하며,
    상기 데이터를 출력하는 것은 상기 플래시형 메모리에 상기 데이터를 기입하는 것을 포함하는
    컴퓨팅 장치를 위한 시스템.
  17. 제14항에 있어서,
    상기 CPU는 상기 플래시형 메모리를 인식하지 못하는
    컴퓨팅 장치를 위한 시스템.
  18. 삭제
KR1020087029847A 2006-06-07 2007-06-01 하이브리드 메모리 장치를 위한 방법 및 시스템 KR101159400B1 (ko)

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 KR20090026276A (ko) 2009-03-12
KR101159400B1 true 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 (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8812744B1 (en) 2013-03-14 2014-08-19 Microsoft Corporation Assigning priorities to data for hybrid drives
KR20160086059A (ko) * 2015-01-09 2016-07-19 에스케이하이닉스 주식회사 데이터 저장 장치
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
US11837317B2 (en) 2020-12-02 2023-12-05 Samsung Electronics Co., Ltd. Memory device, memory system, and operating method of memory system

Families Citing this family (188)

* Cited by examiner, † Cited by third party
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 チップセレクト信号を切り替えるセレクタ、ストレージ装置、及び電子機器
KR20120028484A (ko) 2010-09-15 2012-03-23 삼성전자주식회사 모바일 기기에 채용하기 적합한 복합형 반도체 장치
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 삼성전자주식회사 메모리 확장 장치
US20140101370A1 (en) * 2012-10-08 2014-04-10 HGST Netherlands B.V. Apparatus and method for low power low latency high capacity storage class memory
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 惠普发展公司,有限责任合伙企业 对包括非兼容性存储器技术或与其接合的存储器模块的写入流控制
US9921980B2 (en) 2013-08-12 2018-03-20 Micron Technology, Inc. Apparatuses and methods for configuring I/Os of memory for hybrid memory modules
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
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
US20170060434A1 (en) * 2015-08-27 2017-03-02 Samsung Electronics Co., Ltd. Transaction-based hybrid memory module
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
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
US10186309B2 (en) 2016-06-29 2019-01-22 Samsung Electronics Co., Ltd. Methods of operating semiconductor memory devices and semiconductor memory devices
KR102554496B1 (ko) 2016-07-14 2023-07-13 에스케이하이닉스 주식회사 복수개의 메모리 모듈을 포함하는 데이터 처리 시스템
US10282108B2 (en) * 2016-08-31 2019-05-07 Micron Technology, Inc. Hybrid memory device using different types of capacitors
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 长江存储科技有限责任公司 非易失性存储器、存储装置及非易失性存储器的操作方法
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
KR102483906B1 (ko) * 2021-07-14 2022-12-30 서울시립대학교 산학협력단 Nand 플래시 메모리와 sram이 융합된 nas 메모리 셀 및 이를 이용한 nas 메모리 어레이
CN116955241B (zh) * 2023-09-21 2024-01-05 杭州智灵瞳人工智能有限公司 兼容多类型存储介质的存储芯片

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5581505A (en) 1989-05-15 1996-12-03 Dallas Semiconductor Corp. Ram/ROM hybrid memory architecture
US6366530B1 (en) * 2001-04-09 2002-04-02 Lsi Logic Corporation Synchronizing data operations across a synchronization boundary between different clock domains using two-hot encoding
US6496854B1 (en) 1996-07-01 2002-12-17 Sun Microsystems, Inc. Hybrid memory access protocol in a distributed shared memory computer system
US20070156969A1 (en) 2005-12-29 2007-07-05 Kun Tian Synchronizing an instruction cache and a data cache on demand

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
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 文書管理システム、文書検索方法および文書検索プログラム
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
WO2008131058A2 (en) * 2007-04-17 2008-10-30 Rambus Inc. Hybrid volatile and non-volatile memory device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5581505A (en) 1989-05-15 1996-12-03 Dallas Semiconductor Corp. Ram/ROM hybrid memory architecture
US6496854B1 (en) 1996-07-01 2002-12-17 Sun Microsystems, Inc. Hybrid memory access protocol in a distributed shared memory computer system
US6366530B1 (en) * 2001-04-09 2002-04-02 Lsi Logic Corporation Synchronizing data operations across a synchronization boundary between different clock domains using two-hot encoding
US20070156969A1 (en) 2005-12-29 2007-07-05 Kun Tian Synchronizing an instruction cache and a data cache on demand

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
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
KR20160086059A (ko) * 2015-01-09 2016-07-19 에스케이하이닉스 주식회사 데이터 저장 장치
KR102355436B1 (ko) 2015-01-09 2022-01-26 에스케이하이닉스 주식회사 데이터 저장 장치
US11837317B2 (en) 2020-12-02 2023-12-05 Samsung Electronics Co., Ltd. Memory device, memory system, and operating method of memory system

Also Published As

Publication number Publication date
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
KR20090026276A (ko) 2009-03-12
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) 하이브리드 메모리 장치를 위한 방법 및 시스템
US9645746B2 (en) Systems and methods for support of non-volatile memory on a DDR memory channel
KR100281432B1 (ko) 플래쉬 메모리에 기초한 주메모리
US8151036B2 (en) Memory controller, memory system, and access control method of flash memory
US7234052B2 (en) System boot using NAND flash memory and method thereof
US20080256352A1 (en) Methods and systems of booting of an intelligent non-volatile memory microcontroller from various sources
US10943183B2 (en) Electronics device performing software training on memory channel and memory channel training method thereof
KR20080084082A (ko) 메모리 카드 및 그것을 포함하는 메모리 시스템 그리고그것의 동작 방법
US20080010419A1 (en) System and Method for Issuing Commands
KR102406340B1 (ko) 전자 장치 및 그것의 동작 방법
US11210226B2 (en) Data storage device and method for first processing core to determine that second processing core has completed loading portion of logical-to-physical mapping table thereof
KR20200114212A (ko) 데이터 저장 장치 및 그것의 동작 방법
US8745363B2 (en) Bootable volatile memory device, memory module and processing system comprising bootable volatile memory device, and method of booting processing system using bootable volatile memory device
US20090307389A1 (en) Switchable access states for non-volatile storage devices
CN114385070A (zh) 主机、数据存储装置、数据处理系统以及数据处理方法
KR20210042192A (ko) 반도체 메모리 장치, 전자 장치, 및 그것의 설정 방법
US20230096111A1 (en) Memory controller, storage device, and host device
US20230103797A1 (en) Memory controller and method of operating the same
Kuppan Thirumalai Basic Understanding of NAND Flash Interface
KR20240003648A (ko) 메모리 시스템 및 그에 포함된 메모리 컨트롤러의 동작 방법
KR20230011214A (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