KR20090102822A - 동일 계층 레벨에 휘발성 및 비휘발성 메모리 장치들을 구비하는 메모리 시스템 및 방법 - Google Patents

동일 계층 레벨에 휘발성 및 비휘발성 메모리 장치들을 구비하는 메모리 시스템 및 방법

Info

Publication number
KR20090102822A
KR20090102822A KR1020097015356A KR20097015356A KR20090102822A KR 20090102822 A KR20090102822 A KR 20090102822A KR 1020097015356 A KR1020097015356 A KR 1020097015356A KR 20097015356 A KR20097015356 A KR 20097015356A KR 20090102822 A KR20090102822 A KR 20090102822A
Authority
KR
South Korea
Prior art keywords
nonvolatile memory
memory
dram
coupled
buffer
Prior art date
Application number
KR1020097015356A
Other languages
English (en)
Other versions
KR101080498B1 (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 KR20090102822A publication Critical patent/KR20090102822A/ko
Application granted granted Critical
Publication of KR101080498B1 publication Critical patent/KR101080498B1/ko

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B7/00Recording or reproducing by optical means, e.g. recording using a thermal beam of optical radiation by modifying optical properties or the physical structure, reproducing using an optical beam at lower power by sensing optical properties; Record carriers therefor
    • G11B7/12Heads, e.g. forming of the optical beam spot or modulation of the optical beam
    • G11B7/14Heads, e.g. forming of the optical beam spot or modulation of the optical beam specially adapted to record on, or to reproduce from, more than one track simultaneously
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1684Details of memory controller using multiple buses
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Optics & Photonics (AREA)
  • Computer Hardware Design (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Read Only Memory (AREA)
  • Static Random-Access Memory (AREA)

Abstract

프로세서 기반 시스템은 프로세서 버스를 통해 코어 로직에 결합되는 프로세서를 포함한다. 이것은 동적 랜덤 액세스 메모리("DRAM") 메모리 버퍼 제어기를 포함한다. DRAM 메모리 버퍼 제어기는 메모리 버스를 통해 복수의 DRAM 모듈 및 플래시 메모리 모듈에 결합되며, 이 모듈들은 프로세서로부터 동일 계층 구조 레벨에 있다. DRAM 모듈들 각각은 메모리 버스 및 복수의 DRAM 장치에 대한 메모리 버퍼를 포함한다. 플래시 메모리 모듈은 메모리 버스 및 적어도 하나의 플래시 메모리 장치에 결합되는 플래시 메모리 버퍼를 포함한다. 플래시 메모리 버퍼는 DRAM 메모리 요청들을 플래시 메모리 요청들로 변환하도록 동작 가능한 DRAM/플래시 메모리 변환기를 포함하며, 이어서 플래시 메모리 요청들은 플래시 메모리 장치에 인가된다.

Description

동일 계층 레벨에 휘발성 및 비휘발성 메모리 장치들을 구비하는 메모리 시스템 및 방법{MEMORY SYSTEM AND METHOD HAVING VOLATILE AND NON-VOLATILE MEMORY DEVICES AT SAME HIERARCHICAL LEVEL}
본 발명은 메모리 시스템에 관한 것으로서, 구체적으로는 시스템 메모리와 본질적으로 동일한 위치 내의 비휘발성 메모리를 이용하는 메모리 시스템에 관한 것이다.
개인용 컴퓨터 시스템과 같은 종래의 컴퓨터 시스템들은 일반적으로 여러 레벨을 갖는 계층 구조를 이용한다. 일반적으로 프로세서 버스를 통해 프로세서에 접속되는 최고 레벨은 시스템 제어기 등이다. 시스템 제어기는 일반적으로 동적 랜덤 액세스 메모리("DRAM") 장치들을 이용하여 구현되는 시스템 메모리에 접속되는 메모리 제어기를 포함한다. 시스템 제어기는 주변 컴포넌트 인터페이스("PCI") 버스와 같은 주변 버스에 대한, 때때로 "노스 브리지"로 알려진, 브리지로서도 기능한다. 하드 디스크 드라이브, 이더넷 인터페이스 등과 같은 주변 컴포넌트들은 이 주변 버스에 접속될 수 있다. 제1 주변 버스를 LPC(Low Pin Count) 버스와 같은 제2 주변 버스에 접속하기 위해, 때때로 "사우스 브리지"로 알려진 제2 버스 브리지가 때때로 사용된다. 키보드, 마우스, 직렬 및 병렬 포트들과 같은 입출력 장치들이 일반적으로 이 버스에 접속된다.
하드 디스크 드라이브들은 일반적으로 컴퓨터 시스템들에서 대량의 데이터 및 명령어들을 저장하는 데 사용된다. 하드 디스크 드라이브들은 비휘발성인 이익을 가지며, 따라서 디스크 드라이브에 저장된 데이터는 시스템으로부터 전력이 제거될 때에도 손실되지 않는다. 그러나, 하드 디스크 드라이브는 소정의 단점들도 갖고 있다. 예를 들어, 하드 디스크 드라이브들을 급전 상태로 유지하여 이들이 보다 빠르게 데이터 액세스에 이용될 수 있도록 하기 위해 상당한 양의 전력을 필요로 할 수 있다. 또한, 하드 디스크 드라이브에 저장된 데이터의 액세스는 통상적으로 판독/기입 헤드의 물리적 이동을 필요로 하므로, 데이터 액세스를 위한 대기 시간이 길어질 수 있다. 하드 디스크 드라이브들의 이들 및 다른 한계들을 최소화하기 위해, 플래시 메모리 장치와 같은 소량의 반도체 비휘발성 메모리를 하드 디스크 드라이브들 내에 포함시키고자 하는 제안들이 이루어졌다. 플래시 메모리 장치의 이용은 보다 낮은 전력 소비, 보다 빠른 액세스 시간 및 향상된 신뢰성을 포함하는 여러 이익을 제공한다.
하드 디스크 드라이브 내에 플래시 메모리 장치를 배치하는 것은 여러 이익을 제공하지만, 이러한 이익들은 가격에 부속되며, 가능한 것보다 덜 이롭다. 특히, 일반적으로 컴퓨터 시스템 컴포넌트들, 특히 하드 디스크 드라이브들의 판매에 있어서 많은 가격 경쟁이 존재한다. 플래시 메모리 장치 또는 다른 비휘발성 장치들을 하드 디스크 드라이브에 포함시키는 것은 그러한 하드 디스크 드라이브의 가격을 수용 불가능한 레벨로 상승시킬 수 있다. 이러한 가격 경쟁은 하드 드라이브 상의 플래시 메모리의 양을 낮게 유지하게 하여, 제한된 이익을 제공할 가능성도 있다. 또한, 하드 디스크 드라이브 내의 플래시 메모리 장치의 사용은 저장된 데이터 및 명령어들의 액세스의 대기 시간을 상당히 줄일 수 있지만, 대기 시간 및 데이터 대역폭은 데이터 및 명령어들을 하나 이상의 버스 브리지를 통해 하드 디스크 드라이브의 계층 구조 레벨에 결합해야 하는 필요성에 의해 여전히 제한된다.
따라서, 하드 디스크 드라이브들에 의해 통상적으로 수행되는 기능들을 수행하기 위해 비휘발성 메모리 장치들을 사용하지만, 비휘발성 메모리 장치들을 포함하는 종래의 하드 디스크 드라이브들의 단점들 및 한계들의 일부를 회피하는 방식으로 그렇게 하는 컴퓨터 시스템 및 방법이 필요하다.
도 1은 본 발명의 일례에 따른 컴퓨터 시스템의 블록도.
도 2는 본 발명의 다른 예에 따른 컴퓨터 시스템의 블록도.
도 3은 도 1 또는 2의 컴퓨터 시스템으로서 또는 소정의 다른 프로세서 기반 시스템에서 사용될 수 있는 본 발명의 일례에 따른 비휘발성의 개량된 메모리 버퍼의 일례를 나타내는 도면.
프로세서 기반 시스템은 플래시 메모리 장치와 같은 적어도 하나의 비휘발성 메모리 장치에 결합되는 비휘발성 메모리 버퍼를 갖는 비휘발성 메모리 모듈을 포함한다. 비휘발성 메모리 모듈은 DRAM 메모리 버퍼 제어기를 통해 프로세서에 결합되며, DRAM 메모리 버퍼 제어기는 또한 복수의 DRAM 장치에 결합되는 메모리 버퍼를 각자 포함하는 적어도 하나의 DRAM 모듈에 결합된다. 따라서, 비휘발성 메모리 모듈은 DRAM 모듈들과 동일한 계층 구조 레벨에서 프로세서 기반 시스템 내에 위치한다. 비휘발성 메모리 모듈은 DRAM 메모리 버퍼 제어기에 접속되는 일련의 메모리 모듈들 내의 제1 메모리 모듈일 수 있으며, 비휘발성 메모리 모듈 내의 버퍼는 비휘발성 메모리 장치들 내에 저장된 데이터를 다른 모듈들 내의 DRAM 장치들로 독립적으로 전송할 수 있다. 비휘발성 메모리 버퍼는 DRAM 메모리 요청들을 비휘발성 메모리 요청들로 변환할 수 있는 DRAM/비휘발성 메모리 변환기를 포함할 수 있으며, 이어서 비휘발성 메모리 요청들은 비휘발성 메모리 장치들에 적용된다. 비휘발성 메모리 버퍼는 또한, 비휘발성 메모리 장치들이 그들의 최대 동작 속도로 동작하는 것을 허가할 만큼 충분한 레이트로 타이밍된 신호들을 생성하기 위해 마이크로컨트롤러에 의해 동작되는 상태 머신을 포함할 수 있다.
본 발명의 일례에 따른 컴퓨터 시스템(10)이 도 1에 도시되어 있다. 컴퓨터 시스템(10)은 통상의 시스템 제어기의 기능을 수행하는 코어 로직(20)에 프로세서 버스(18)를 통해 결합되는 중앙 처리 유닛("CPU")(14)을 포함한다. 또한, 코어 로직(20)은 메모리 버스(34)를 통해 복수의 시스템 메모리 모듈(30a-c)과 인터페이스하는 메모리 버퍼 제어기(24)를 포함한다.
처음 2개의 메모리 모듈(30a, 30b)은 복수의 DRAM 장치(40)에 결합되는 각각의 개량된 메모리 버퍼("AMB")(38)를 각각 포함한다. AMB(38)는 제어기(24)로부터 하이 레벨 메모리 요청들을 수신하고, 메모리 요청들이 실행될 수 있을 때까지 이들을 저장하고, 이어서 대응하는 어드레스, 제어 및 기입 데이터 신호들을 생성하여 DRAM 장치들(40)에 인가하는 통상의 장치이다. 메모리 요청이 판독 요청인 경우, AMB(38)는 또한, DRAM 장치들(40)로부터 판독된 데이터를 메모리 버퍼 제어기(24)가 수신할 수 있을 때까지, 판독 데이터를 수신하고 저장할 수 있다. 이어서, AMB(38)는 판독 데이터를 메모리 버퍼 제어기(24)로 전송한다. 또한, AMB(38)는 메모리 버퍼 제어기(24)로부터의 명령들, 어드레스들 및 기입 데이터를 "다운스트림" 메모리 모듈(30)에 결합하고, 다운스트림 메모리 모듈로부터의 메모리 버퍼 제어기(24)에 결합하기 위한 경로로서 기능한다. 예를 들어, 메모리 요청을 위한 명령 및 어드레스가 모듈(30a) 내의 AMB(38)에 의해 수신될 때, AMB(38)는 먼저 요청이 모듈(30a) 내의 DRAM들(40) 중 하나에 대한 것인지를 판정한다. 그렇지 않은 경우, AMB(38)는 명령 및 어드레스를 메모리 모듈(30b) 내의 AMB(38)로 전달한다.
본 발명의 일례에 따르면, 제3 메모리 모듈(30c)은 복수의 NAND 플래시 메모리 장치(48)와 같은 비휘발성 메모리에 결합되는 비휘발성의 개량된 메모리 버퍼(44)를 포함한다. 버퍼(44)는 통상의 플래시 메모리 제어기와 유사할 수 있으며, 메모리 버퍼 제어기(24)로부터의 하이 레벨 메모리 요청들로부터 플래시 메모리 제어 및 어드레스 신호들을 생성할 수 있다. 그러나, 버퍼(44)에 의해 수신되는 하이 레벨 메모리 요청들은 통상의 플래시 메모리 제어기에 의해 통상적으로 수신되는 타입이 아니다. 대신에, 비휘발성 개량 메모리 버퍼(44)가 일련의 DRAM 프로토콜 신호들을 수신하고, 이들을 플래시 메모리 프로토콜 신호들로 변환한다. 플래시 메모리 장치들(48)은 하드 디스크 드라이브들에서 사용되는 통상의 비휘발성 메모리 장치들에 의해 수행되는 기능들의 전부 또는 일부를 수행한다. 그러나, 플래시 메모리 장치들(48)은 시스템 메모리 DRAM 장치들(40)과 동일한 계층 레벨에 있으므로, 종래 접근법의 성능 및 비용 단점들이 회피된다. 도 1의 컴퓨터 시스템(10)은 NAND 플래시 메모리 장치들(48)을 사용하지만, 다른 타입의 비휘발성 메모리 장치들도 사용될 수 있다는 것을 이해할 것이다.
도 1을 더 참조하면, 코어 로직(20)은 또한 통상의 시스템 제어기의 버스 브리징 기능을 수행하여, 보조 코어 로직(50)을 제1 주변 버스(54) 및 프로세서 버스(18)를 통해 CPU(14)에 결합한다. 코어 로직(50)은 통상 설계의 하드 디스크 드라이브(60)에 접속되는 제2 주변 버스(58)에 CPU(14)를 결합한다. 디스크 드라이브(60)는 데이터의 비휘발성 저장을 제공하기 위해 통상의 방식으로 동작한다. 반도체 비휘발성 메모리를 이용하는 통상의 컴퓨터 시스템들에서, 비휘발성 메모리는 하드 디스크 드라이브(60)와 함께 위치하며, 따라서 플래시 메모리 장치들(48)보다 계층 구조에서 상당히 낮다.
도 1에 도시된 컴퓨터 시스템(10)에서, 플래시 메모리 장치들(48)은 메모리 모듈들(30a-c)의 체인 내의 최종 메모리 모듈(30c) 내에 위치한다. 이러한 구조는 비휘발성 메모리 모듈(30c)의 존재가 다른 메모리 모듈들(30a,b) 내의 DRAM(40)에 대한 액세스의 대기 시간에 악영향을 미치지 않는 이익을 제공한다. 그러나, 이 구조는, AMB들이 업스트림 메모리 명령들 및 어드레스들, 즉 제어기(24)를 향해 상향 전파되는 메모리 명령들을 수신하도록 개조되지 않는 한, 비휘발성 개량 메모리 버퍼(44)가 명령들을 AMB들(38)로 전달할 수 없다는 단점을 갖는다. 그러나, 업스트림 메모리 명령들 및 어드레스들을 수신하도록 AMB들(38)을 개조하는 것은 비휘발성 개량 메모리 버퍼(44)가 데이터의 블록들을 업스트림 모듈들(30a,b)로/로부터 직접 전달하는 것을 가능하게 하는 이익을 가질 것이다. 또한, AMB(38)가 업스트림 메모리 명령들 및 어드레스들을 수신할 수 있게 하는 것은, 제어기(24)가 메모리 모듈(30a)로 명령들 및 어드레스들을 전송하거나 그로부터 판독 데이터를 수신하는 것과 동시에, 비휘발성 개량 메모리 버퍼(44)가 데이터를 메모리 모듈들(30b)로 및/또는 그들로부터 전달하는 것을 가능하게 할 것이다.
본 발명의 다른 예에 따른 컴퓨터 시스템(70)이 도 2에 도시되어 있다. 컴퓨터 시스템(70)은 컴퓨터 시스템(10)에서 사용되는 컴포넌트들을 사용하며, 이들은 본질적으로 동일한 방식으로 동작한다. 따라서, 간략화를 위해, 이러한 컴포넌트들의 기능 및 동작에 대한 설명은 반복되지 않는다. 컴퓨터 시스템(70)이 도 1의 컴퓨터 시스템(10)과 다른 점은, 제1 메모리 모듈(30a)이 복수의 플래시 메모리 장치(48)에 결합되는 비휘발성 개량 메모리 버퍼(44)를 포함한다는 것이다. 나머지 메모리 모듈들(30b,c)의 각각은 복수의 DRAM 장치(40)에 결합되는 AMB들(38) 중 하나를 포함한다. 이러한 구조의 이점은 비휘발성 개량 메모리 버퍼(44)가 플래시 메모리 장치들(48)로부터 DRAM들(40)로 데이터를 전달하기 위해 자신들의 통상의 방식으로 동작하는 AMB들(38)에 대해 명령들을 발행할 수 있다는 것이다. 이러한 방식의 동작은 상당한 양의 시간을 절약할 수 있는데, 그 이유는 하드 디스크 드라이브(60)에 저장된 데이터를 DRAM들(40)로 전송하는 것이 CPU(14)가 하드 디스크 드라이브(60)로부터 데이터를 판독하고, 이어서 판독된 데이터가 코어 로직(20, 50)을 통해 결합된 후에, 판독된 데이터를 DRAM들(40) 내에 기입할 것을 요구하기 때문이다. 더욱이, 데이터 전송 동작을 직접 제어함으로써, 비휘발성 개량 메모리 버퍼(44)는 다른 기능들을 수행할 수 있도록 CPU(14)를 자유롭게 한다.
컴퓨터 시스템(10, 70)에서 비휘발성 개량 메모리 버퍼(44)로서 사용될 수 있는 비휘발성 개량 메모리 버퍼(100)의 일례가 도 3에 도시되어 있다. 버퍼(100)는 코어 로직(20) 내의 메모리 버퍼 제어기(24)와 같은 메모리 버퍼 제어기(도시되지 않음)로부터 메모리 요청들을 수신하는 다운스트림 링크 인터페이스(102)를 포함한다. 다운스트림 링크 인터페이스(102)는 2개의 섹션, 즉 메모리 버퍼 제어기로부터 메모리 요청들을 수신하는 입력 섹션(104) 및 수신된 메모리 요청들을 다운스트림 메모리 모듈들로 전달하는 출력 섹션(106)을 포함한다. 예를 들어, 메모리 모듈(30a)(도 2)에서 사용되는 버퍼(100)는 그의 입력 섹션(104)에서 메모리 버퍼 제어기(24)로부터 메모리 모듈(30b)에 대한 메모리 요청들을 수신하고, 그러한 요청들을 바이패스 경로(108)를 통해 출력 섹션(106)을 통해 메모리 모듈(30b)로 전달할 것이다.
다운스트림 링크 인터페이스(102)의 입력 섹션(104)에 의해 수신되는 메모리 요청이 플래시 메모리 장치들(48)에 대한 것인 경우, 입력 섹션(104)은 메모리 요청들 내의 명령 및 어드레스를 DRAM/플래시 프로토콜 변환기(110)로 전달한다. 메모리 요청이 기입 메모리 요청인 경우, 메모리 요청 내의 기입 데이터가 기입 버퍼(112) 내에 저장된다. 변환기(110)는 DRAM 프로토콜에 따르는 수신된 신호들에 응답하여 플래시 메모리 장치들(48)에 액세스하기 위한 플래시 메모리 프로토콜에 따르는 신호들을 생성한다. 예를 들어, 변환기(110)는 단일 행에 대한 액세스가 어드레스 행을 포함하는 블록에 대한 어드레스들의 범위로 변환되도록 어드레스 변환들을 수행할 수 있는데, 이는 플래시 메모리 장치들에 대한 액세스들이 통상적으로 블록 단위로 수행되기 때문이다. 이와 같이, 비휘발성 개량 메모리 버퍼(100)는 도 1 및 2에 도시된 바와 같은 DRAM 메모리 장치들(44)에 통상적으로 액세스하는 AMB(38)를 대체할 수 있다.
DRAM/플래시 프로토콜 변환기(110)가 플래시 메모리 장치들에 액세스하기 위한 명령 및 어드레스 신호들을 생성하고, 기입 버퍼(112)가 임의의 기입 데이터 신호들을 저장한 후에, 이러한 신호들은 플래시 메모리 장치 인터페이스(120)로 전달된다. 플래시 메모리 장치 인터페이스(120)는 도 1 및 2의 시스템들(10, 70)에서 사용되는 NAND 플래시 메모리 장치들(48)과 같은 플래시 메모리 장치들에 각각 결합될 것이다. 따라서, 인터페이스(120)는 명령 및 어드레스 신호들을 플래시 메모리 장치들로 전달하고, 아마도 데이터 신호들을 그들에 기입할 것이다. 메모리 요청이 판독 메모리 요청인 경우, 플래시 메모리 장치 인터페이스(120)는 판독 데이터 신호들을 수신하고, 이어서 판독 데이터 신호들을 판독 버퍼(124)로 전송한다. 이어서, 판독 버퍼(124)는 판독 데이터 신호들을 업스트림 링크 인터페이스(130), 구체적으로는 인터페이스(130)의 출력 섹션(134)에 인가한다. 출력 섹션(134)은 판독 데이터 신호들을 도 1 및 2에 도시된 메모리 버퍼 제어기(24)와 같은 메모리 버퍼 제어기에 결합시킨다.
또한, 업스트림 링크 인터페이스(130)는 다운스트림 메모리 모듈들(30)로부터 판독 데이터 신호들을 수신하고, 메모리 버퍼 제어기에 결합하기 위해 판독 데이터 신호들을 바이패스 경로(138)를 통해 출력 섹션(134)으로 전달하는 입력 섹션(136)을 포함한다.
비휘발성 개량 메모리 버퍼(100)의 동작은 마이크로컨트롤러(140) 및 메모리 전송 상태 머신(144)에 의해 제어된다. 마이크로컨트롤러(140)는 제어 신호들을 상태 머신(144)에 인가함으로써 적절한 시간에 플래시 메모리 장치들로의 메모리 요청들의 전송을 개시한다. 이어서, 상태 머신은 다운스트림 링크 인터페이스(104)에 의해 수신되는 메모리 액세스에 대응하는 메모리 액세스를 구현하는 타이밍된 신호들의 세트들을 생성한다. 상태 머신(144)의 높은 동작 속도는 이러한 타이밍된 신호들이 플래시 메모리 장치들의 최대 동작 속도에서 플래시 메모리 장치들에 액세스하는 속도로 생성되는 것을 가능하게 한다. 이와 달리, 마이크로컨트롤러(140)를 이용하여 이러한 타이밍된 신호들을 생성하는 것은 통상적으로 메모리 액세스들이 플래시 메모리 장치들의 최대 동작 속도에서 수행되는 것을 가능하게 하지 않는다.
마이크로컨트롤러(140)는 에러 보정 에러들의 처리, 성공적으로 완료되지 않은 메모리 동작들의 주기적 재시도 등을 포함하는 다른 기능들도 수행할 수 있다. 데이터를 보정하기 위한 에러 보정 코드들의 실제 처리는 리드-솔로몬 타입의 ECC 회로와 같은 통상의 에러 보정 코드 회로일 수 있는 ECC 회로(148)에 의해 수행된다. 또한, 마이크로프로세서(140)는 "웨어-레벨링(wear-leveling)" 기능들의 수행과 같은 다른 기능들을 수행할 수 있다. 이 분야에 공지되어 있듯이, 플래시 메모리 장치가 소거될 수 있는 횟수는 다소 제한된다. "웨어-레벨링"은 비교적 많은 횟수로 소거된 어드레스들을 지향하는 소거가 선행하는 기입들을 더 적은 횟수로 소거된 어드레스들로 맵핑하는 프로세스이다. 따라서, 마이크로컨트롤러(140)에 의해 수행되는 웨어-레벨링 기능은 버퍼(100)에 접속된 플래시 메모리 장치들의 유효 수명을 연장할 수 있다.
본 발명은 개시된 실시예들을 참조하여 설명되었지만, 이 분야의 기술자들은 본 발명의 사상 및 범위로부터 벗어나지 않고 형태 및 상세에 있어서 변경들이 이루어질 수 있음을 인식할 것이다. 그러한 변경들은 이 분야의 통상의 기술자들의 기술 내에서 충분하다. 따라서, 본 발명은 첨부된 청구범위에 의한 것을 제외하고는 한정되지 않는다.

Claims (41)

  1. 프로세서 기반 시스템으로서,
    프로세서 버스에 결합되는 프로세서;
    상기 프로세서 버스를 통해 상기 프로세서에 결합되고, 동적 랜덤 액세스 메모리("DRAM") 메모리 버퍼 제어기를 포함하는 코어 로직;
    복수의 DRAM 장치에 결합되는 메모리 버퍼를 포함하는 DRAM 모듈 - 상기 메모리 버퍼는 메모리 버스를 통해 상기 메모리 버퍼 제어기에 결합됨 -; 및
    상기 메모리 버스에 결합되는 비휘발성 메모리 버퍼 및 상기 비휘발성 메모리 버퍼에 결합되는 적어도 하나의 비휘발성 메모리 장치를 구비하는 비휘발성 메모리 모듈
    을 포함하는 프로세서 기반 시스템.
  2. 제1항에 있어서, 상기 적어도 하나의 비휘발성 메모리 장치는 적어도 하나의 플래시 메모리 장치를 포함하는 프로세서 기반 시스템.
  3. 제1항에 있어서, 주변 버스를 더 포함하고, 상기 코어 로직은 상기 프로세서 버스를 상기 주변 버스에 결합하는 버스 브리지를 포함하는 프로세서 기반 시스템.
  4. 제1항에 있어서, 상기 DRAM 모듈들 및 상기 비휘발성 메모리 모듈은 상기 프로세서 버스를 통해 상기 코어 로직에 순차적으로 결합되며, 따라서 상기 모듈들 중 하나는 상기 코어 로직에 직접 접속되고, 상기 모듈들 중 나머지 모듈들은 상기 나머지 모듈들 중 다른 하나를 통해 상기 코어 로직에 접속되는 프로세서 기반 시스템.
  5. 제4항에 있어서, 상기 비휘발성 메모리 모듈은 상기 코어 로직에 접속된 일련의 메모리 모듈들 중 첫 번째 모듈을 포함하는 프로세서 기반 시스템.
  6. 제4항에 있어서, 상기 비휘발성 메모리 모듈은 상기 코어 로직에 접속된 일련의 메모리 모듈들 중 마지막 모듈을 포함하는 프로세서 기반 시스템.
  7. 제1항에 있어서,
    상기 비휘발성 메모리 버퍼는,
    상기 메모리 버스의 다운스트림 부분을 통해 상기 DRAM 메모리 버퍼 제어기로부터 DRAM 메모리 요청들을 수신하도록 결합되는 다운스트림 링크 인터페이스;
    상기 메모리 버스의 업스트림 부분을 통해 판독 데이터를 상기 DRAM 메모리 버퍼 제어기로 전송하도록 결합되는 업스트림 링크 인터페이스;
    상기 적어도 하나의 비휘발성 메모리 장치에 결합되는 비휘발성 메모리 장치 인터페이스;
    상기 DRAM 메모리 요청들을 비휘발성 메모리 요청들로 변환하고, 상기 비휘발성 메모리 요청들을 상기 비휘발성 메모리 장치 인터페이스에 인가하도록 동작 가능한 DRAM/비휘발성 메모리 변환기; 및
    상기 DRAM/비휘발성 메모리 변환기 및 상기 비휘발성 메모리 장치 인터페이스 중 적어도 하나에 결합되는 메모리 전송 상태 머신
    을 포함하고,
    상기 메모리 전송 상태 머신은 상기 비휘발성 메모리 요청들에 대응하는 신호들이 상기 비휘발성 메모리 장치 인터페이스로부터 상기 적어도 하나의 비휘발성 메모리 장치에 인가되는 타이밍을 제어하도록 동작 가능한 프로세서 기반 시스템.
  8. 제7항에 있어서, 상기 메모리 전송 상태 머신은 상기 DRAM/비휘발성 메모리 변환기에 결합되고, 상기 비휘발성 메모리 요청들에 대응하는 신호들이 상기 DRAM/비휘발성 메모리 변환기로부터 상기 비휘발성 메모리 장치 인터페이스에 인가되는 타이밍을 제어하도록 동작 가능한 프로세서 기반 시스템.
  9. 제7항에 있어서, 상기 비휘발성 메모리 버퍼는 상기 메모리 전송 상태 머신에 결합되는 마이크로컨트롤러를 더 포함하고, 상기 마이크로컨트롤러는 상기 적어도 하나의 비휘발성 메모리 장치로의 비휘발성 메모리 요청들의 전송들을 개시하도록 동작 가능한 프로세서 기반 시스템.
  10. 제7항에 있어서, 상기 DRAM/비휘발성 메모리 변환기는 상기 DRAM 메모리 요청들을 플래시 메모리 요청들로 변환하도록 동작 가능한 프로세서 기반 시스템.
  11. 제8항에 있어서,
    상기 다운스트림 링크 인터페이스는,
    상기 메모리 버스의 다운스트림 부분의 제1 섹션을 통해 상기 DRAM 메모리 버퍼 제어기로부터 DRAM 메모리 요청들을 수신하도록 결합되는 입력 섹션; 및
    상기 메모리 버스의 다운스트림 부분의 제2 섹션을 통해 상기 DRAM 메모리 버퍼 제어기로부터 수신된 DRAM 메모리 요청들을 다른 메모리 모듈로 전송하도록 결합되는 출력 섹션
    을 포함하는 프로세서 기반 시스템.
  12. 제11항에 있어서, 상기 입력 섹션은 상기 출력 섹션에 결합되며, 따라서 상기 메모리 버스의 다운스트림 부분의 제1 섹션을 통해 수신되는 상기 DRAM 메모리 버퍼 제어기로부터의 DRAM 메모리 요청들이 상기 메모리 버스의 다운스트림 부분의 제2 섹션을 통해 상기 다른 메모리 모듈에 결합될 수 있는 프로세서 기반 시스템.
  13. 제8항에 있어서,
    상기 업스트림 링크 인터페이스는,
    상기 메모리 버스의 업스트림 부분의 제2 섹션을 통해 다른 메모리 모듈로부터 판독 데이터를 수신하도록 결합되는 입력 섹션; 및
    상기 메모리 버스의 업스트림 부분의 제1 섹션을 통해 판독 데이터를 상기 DRAM 메모리 버퍼 제어기로 전송하도록 결합되는 출력 섹션
    을 포함하는 프로세서 기반 시스템.
  14. 제13항에 있어서, 상기 입력 섹션은 상기 출력 섹션에 결합되며, 따라서 상기 메모리 버스의 업스트림 부분의 제2 섹션을 통해 수신되는 상기 다른 메모리 모듈로부터의 판독 데이터가 상기 메모리 버스의 업스트림 부분의 제1 섹션을 통해 상기 DRAM 메모리 버퍼 제어기로 전송될 수 있는 프로세서 기반 시스템.
  15. 제7항에 있어서, 상기 다운스트림 링크 인터페이스 및 상기 비휘발성 메모리 장치 인터페이스에 결합되는 기입 버퍼를 더 포함하고, 상기 기입 버퍼는 기입 메모리 요청들 내의 기입 데이터를 저장하고, 상기 기입 데이터를 상기 비휘발성 메모리 장치 인터페이스에 인가하도록 동작 가능한 프로세서 기반 시스템.
  16. 제7항에 있어서, 상기 비휘발성 메모리 장치 인터페이스 및 상기 업스트림 링크 인터페이스에 결합되는 판독 버퍼를 더 포함하고, 상기 판독 버퍼는 판독 메모리 요청들에 응답하여 상기 비휘발성 메모리 장치 인터페이스로부터 수신된 판독 데이터를 저장하고, 상기 판독 데이터를 상기 업스트림 링크 인터페이스에 인가하도록 동작 가능한 프로세서 기반 시스템.
  17. 제1항에 있어서, 상기 비휘발성 메모리 버퍼는 상기 적어도 하나의 비휘발성 메모리 장치로부터 판독된 데이터를 보정하도록 동작 가능한 회로를 더 포함하는 프로세서 기반 시스템.
  18. 비휘발성 메모리 모듈로서,
    적어도 하나의 비휘발성 메모리 장치; 및
    상기 적어도 하나의 비휘발성 메모리 장치에 결합되는 비휘발성 메모리 버퍼
    를 포함하고,
    상기 비휘발성 메모리 버퍼는,
    DRAM 메모리 요청들을 수신하도록 결합되는 다운스트림 링크 인터페이스;
    판독 데이터를 전송하도록 결합되는 업스트림 링크 인터페이스;
    상기 적어도 하나의 비휘발성 메모리 장치에 결합되는 비휘발성 메모리 장치 인터페이스;
    상기 DRAM 메모리 요청들을 비휘발성 메모리 요청들로 변환하고, 상기 비휘발성 메모리 요청들을 상기 비휘발성 메모리 장치 인터페이스에 인가하도록 동작 가능한 DRAM/비휘발성 메모리 변환기; 및
    상기 DRAM/비휘발성 메모리 변환기 및 상기 비휘발성 메모리 장치 인터페이스 중 적어도 하나에 결합되는 메모리 전송 상태 머신
    을 포함하고,
    상기 메모리 전송 상태 머신은 상기 비휘발성 메모리 요청들에 대응하는 신호들이 상기 비휘발성 메모리 장치 인터페이스로부터 상기 적어도 하나의 비휘발성 메모리 장치에 인가되는 타이밍을 제어하도록 동작 가능한 비휘발성 메모리 모듈.
  19. 제18항에 있어서, 상기 메모리 전송 상태 머신은 상기 DRAM/비휘발성 메모리 변환기에 결합되고, 상기 비휘발성 메모리 요청들에 대응하는 신호들이 상기 DRAM/비휘발성 메모리 변환기로부터 상기 비휘발성 메모리 장치 인터페이스에 인가되는 타이밍을 제어하도록 동작 가능한 비휘발성 메모리 모듈.
  20. 제18항에 있어서, 상기 비휘발성 메모리 버퍼는 상기 메모리 전송 상태 머신에 결합되는 마이크로컨트롤러를 더 포함하고, 상기 마이크로컨트롤러는 상기 적어도 하나의 비휘발성 메모리 장치로의 비휘발성 메모리 요청들의 전송들을 개시하도록 동작 가능한 비휘발성 메모리 모듈.
  21. 제18항에 있어서, 상기 DRAM/비휘발성 메모리 변환기는 상기 DRAM 메모리 요청들을 플래시 메모리 요청들로 변환하도록 동작 가능한 비휘발성 메모리 모듈.
  22. 제18항에 있어서,
    상기 다운스트림 링크 인터페이스는,
    상기 비휘발성 메모리 모듈에 결합되는 DRAM 메모리 요청들을 수신하도록 결합되는 입력 섹션; 및
    DRAM 메모리 버퍼 제어기로부터 수신되는 DRAM 메모리 요청들을 전송하도록 결합되는 출력 섹션
    을 포함하는 비휘발성 메모리 모듈.
  23. 제18항에 있어서,
    상기 업스트림 링크 인터페이스는,
    상기 비휘발성 메모리 모듈에 결합되는 판독 데이터를 수신하도록 결합되는 입력 섹션; 및
    상기 비휘발성 메모리 모듈로부터의 판독 데이터를 전송하도록 결합되는 출력 섹션
    을 포함하는 비휘발성 메모리 모듈.
  24. 제18항에 있어서, 상기 다운스트림 링크 인터페이스 및 상기 비휘발성 메모리 장치 인터페이스에 결합되는 기입 버퍼를 더 포함하고, 상기 기입 버퍼는 기입 메모리 요청들 내의 기입 데이터를 저장하고, 상기 기입 데이터를 상기 비휘발성 메모리 장치 인터페이스에 인가하도록 동작 가능한 비휘발성 메모리 모듈.
  25. 제18항에 있어서, 상기 비휘발성 메모리 장치 인터페이스 및 상기 업스트림 링크 인터페이스에 결합되는 판독 버퍼를 더 포함하고, 상기 판독 버퍼는 판독 메모리 요청들에 응답하여 상기 비휘발성 메모리 장치 인터페이스로부터 수신된 판독 데이터를 저장하고, 상기 판독 데이터를 상기 업스트림 링크 인터페이스에 인가하도록 동작 가능한 비휘발성 메모리 모듈.
  26. 제18항에 있어서, 상기 적어도 하나의 비휘발성 메모리 장치는 적어도 하나의 플래시 메모리 장치를 포함하는 비휘발성 메모리 모듈.
  27. 제18항에 있어서, 상기 비휘발성 메모리 버퍼는 상기 적어도 하나의 비휘발성 메모리 장치로부터 판독된 데이터를 보정하도록 동작 가능한 회로를 더 포함하는 비휘발성 메모리 모듈.
  28. 비휘발성 메모리 버퍼로서,
    DRAM 메모리 요청들을 수신하도록 결합되는 다운스트림 링크 인터페이스;
    판독 데이터를 전송하도록 결합되는 업스트림 링크 인터페이스;
    비휘발성 메모리 장치에 결합되도록 구성되는 비휘발성 메모리 장치 인터페이스;
    DRAM 메모리 요청들을 비휘발성 메모리 요청들로 변환하고, 상기 비휘발성 메모리 요청들을 상기 비휘발성 메모리 장치 인터페이스에 인가하도록 동작 가능한 DRAM/비휘발성 메모리 변환기; 및
    DRAM/비휘발성 메모리 변환기 및 상기 비휘발성 메모리 장치 인터페이스 중 적어도 하나에 결합되는 메모리 전송 상태 머신
    을 포함하고,
    상기 메모리 전송 상태 머신은 상기 비휘발성 메모리 요청들에 대응하는 신호들이 상기 비휘발성 메모리 장치 인터페이스로부터 출력되는 타이밍을 제어하도록 동작 가능한 비휘발성 메모리 버퍼.
  29. 제28항에 있어서, 상기 메모리 전송 상태 머신은 상기 DRAM/비휘발성 메모리 변환기에 결합되고, 상기 비휘발성 메모리 요청들에 대응하는 신호들이 상기 DRAM/비휘발성 메모리 변환기로부터 상기 비휘발성 메모리 장치 인터페이스에 인가되는 타이밍을 제어하도록 동작 가능한 비휘발성 메모리 버퍼.
  30. 제28항에 있어서, 상기 비휘발성 메모리 버퍼는 상기 메모리 전송 상태 머신에 결합되는 마이크로컨트롤러를 더 포함하고, 상기 마이크로컨트롤러는 상기 비휘발성 메모리 장치 인터페이스로부터의 비휘발성 메모리 요청들의 전송들을 개시하도록 동작 가능한 비휘발성 메모리 버퍼.
  31. 제28항에 있어서, 상기 DRAM/비휘발성 메모리 변환기는 상기 DRAM 메모리 요청들을 플래시 메모리 요청들로 변환하도록 동작 가능한 비휘발성 메모리 버퍼.
  32. 제28항에 있어서,
    상기 다운스트림 링크 인터페이스는,
    비휘발성 메모리 모듈에 결합되는 DRAM 메모리 요청들을 수신하도록 결합되는 입력 섹션; 및
    DRAM 메모리 버퍼 제어기로부터 수신되는 DRAM 메모리 요청들을 전송하도록 결합되는 출력 섹션
    을 포함하는 비휘발성 메모리 버퍼.
  33. 제28항에 있어서,
    상기 업스트림 링크 인터페이스는,
    비휘발성 메모리 모듈에 결합되는 판독 데이터를 수신하도록 결합되는 입력 섹션; 및
    상기 비휘발성 메모리 모듈로부터의 판독 데이터를 전송하도록 결합되는 출력 섹션
    을 포함하는 비휘발성 메모리 버퍼.
  34. 제28항에 있어서, 상기 다운스트림 링크 인터페이스 및 상기 비휘발성 메모리 장치 인터페이스에 결합되는 기입 버퍼를 더 포함하고, 상기 기입 버퍼는 기입 메모리 요청들 내의 기입 데이터를 저장하고, 상기 기입 데이터를 상기 비휘발성 메모리 장치 인터페이스에 인가하도록 동작 가능한 비휘발성 메모리 버퍼.
  35. 제28항에 있어서, 상기 비휘발성 메모리 장치 인터페이스 및 상기 업스트림 링크 인터페이스에 결합되는 판독 버퍼를 더 포함하고, 상기 판독 버퍼는 판독 메모리 요청들에 응답하여 상기 비휘발성 메모리 장치 인터페이스로부터 수신된 판독 데이터를 저장하고, 상기 판독 데이터를 상기 업스트림 링크 인터페이스에 인가하도록 동작 가능한 비휘발성 메모리 버퍼.
  36. 제28항에 있어서, 적어도 하나의 비휘발성 메모리 장치로부터 판독된 데이터를 보정하도록 동작 가능한 회로를 더 포함하는 비휘발성 메모리 버퍼.
  37. 프로세서 기반 시스템에서, 비휘발성 메모리 장치로부터 DRAM 장치로 데이터를 전송하는 방법으로서,
    상기 비휘발성 메모리 장치를, 프로세서로부터, 상기 DRAM 장치와 동일한 계층 구조 레벨에 배치하는 단계; 및
    상기 비휘발성 장치로부터 상기 DRAM 장치로 데이터를 전송하는 단계 - 상기 전송되는 데이터는 상기 비휘발성 메모리 장치 및 상기 DRAM 장치의 계층 구조 레벨 밖에서 결합되지 않음 -
    를 포함하는 데이터 전송 방법.
  38. 제37항에 있어서,
    상기 프로세서 기반 시스템은 상기 DRAM 장치가 결합되는 제어기에 결합되는 비휘발성 메모리 장치 버퍼를 더 포함하고,
    상기 비휘발성 메모리 장치로부터 상기 DRAM 장치로 데이터를 전송하는 단계는 상기 비휘발성 메모리 장치 버퍼를 이용하여, 상기 비휘발성 메모리 장치로부터 상기 DRAM 장치로의 데이터의 전송을 개시하는 단계를 포함하는 데이터 전송 방법.
  39. 제37항에 있어서, 상기 비휘발성 메모리 장치 버퍼에 의해 수신된 메모리 요청들을 상기 비휘발성 메모리 장치 버퍼를 통해 상기 DRAM 장치로 전송하는 단계를 더 포함하는 데이터 전송 방법.
  40. 제39항에 있어서, 상기 메모리 요청들은 판독 메모리 요청들을 포함하고, 상기 방법은 상기 비휘발성 메모리 장치 버퍼를 통해 상기 DRAM 장치로부터 상기 비휘발성 메모리 장치 버퍼에 의해 수신된 판독 데이터를 결합하는 단계를 더 포함하는 데이터 전송 방법.
  41. 제37항에 있어서,
    상기 비휘발성 메모리 장치로부터 상기 DRAM 장치로 데이터를 전송하는 단계는,
    상기 비휘발성 메모리 장치로부터 데이터를 판독하는 단계;
    상기 비휘발성 메모리 장치로부터 판독된 데이터 내의 임의의 에러들을 보정하여 보정된 데이터를 제공하는 단계; 및
    상기 보정된 데이터를 상기 DRAM 장치로 전송하는 단계
    를 포함하는 데이터 전송 방법.
KR1020097015356A 2007-01-22 2007-12-07 동일 계층 레벨에 휘발성 및 비휘발성 메모리 장치들을 구비하는 메모리 시스템 및 방법 KR101080498B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/656,578 2007-01-22
US11/656,578 US7564722B2 (en) 2007-01-22 2007-01-22 Memory system and method having volatile and non-volatile memory devices at same hierarchical level

Publications (2)

Publication Number Publication Date
KR20090102822A true KR20090102822A (ko) 2009-09-30
KR101080498B1 KR101080498B1 (ko) 2011-11-04

Family

ID=39642364

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097015356A KR101080498B1 (ko) 2007-01-22 2007-12-07 동일 계층 레벨에 휘발성 및 비휘발성 메모리 장치들을 구비하는 메모리 시스템 및 방법

Country Status (6)

Country Link
US (5) US7564722B2 (ko)
EP (1) EP2126919B1 (ko)
KR (1) KR101080498B1 (ko)
CN (1) CN101573760B (ko)
AT (1) ATE548697T1 (ko)
WO (1) WO2008091443A1 (ko)

Families Citing this family (102)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007132453A2 (en) 2006-05-12 2007-11-22 Anobit Technologies Ltd. Distortion estimation and cancellation in memory devices
US8239735B2 (en) 2006-05-12 2012-08-07 Apple Inc. Memory Device with adaptive capacity
US8156403B2 (en) 2006-05-12 2012-04-10 Anobit Technologies Ltd. Combined distortion estimation and error correction coding for memory devices
WO2008026203A2 (en) 2006-08-27 2008-03-06 Anobit Technologies Estimation of non-linear distortion in memory devices
US7975192B2 (en) 2006-10-30 2011-07-05 Anobit Technologies Ltd. Reading memory cells using multiple thresholds
US8151163B2 (en) 2006-12-03 2012-04-03 Anobit Technologies Ltd. Automatic defect management in memory devices
WO2008070803A1 (en) 2006-12-06 2008-06-12 Fusion Multisystems, Inc. (Dba Fusion-Io) Apparatus, system, and method for managing data from a requesting device with an empty data token directive
US7564722B2 (en) 2007-01-22 2009-07-21 Micron Technology, Inc. Memory system and method having volatile and non-volatile memory devices at same hierarchical level
US8151166B2 (en) 2007-01-24 2012-04-03 Anobit Technologies Ltd. Reduction of back pattern dependency effects in memory devices
WO2008111058A2 (en) 2007-03-12 2008-09-18 Anobit Technologies Ltd. Adaptive estimation of memory cell read thresholds
EP2132635B1 (en) * 2007-03-30 2017-08-16 Rambus Inc. System including hierarchical memory modules having different types of integrated circuit memory devices
US8001320B2 (en) 2007-04-22 2011-08-16 Anobit Technologies Ltd. Command interface for memory devices
WO2008139441A2 (en) 2007-05-12 2008-11-20 Anobit Technologies Ltd. Memory device with internal signal processing unit
US8234545B2 (en) 2007-05-12 2012-07-31 Apple Inc. Data storage with incremental redundancy
US8259497B2 (en) 2007-08-06 2012-09-04 Apple Inc. Programming schemes for multi-level analog memory cells
US8174905B2 (en) 2007-09-19 2012-05-08 Anobit Technologies Ltd. Programming orders for reducing distortion in arrays of multi-level analog memory cells
US8000141B1 (en) 2007-10-19 2011-08-16 Anobit Technologies Ltd. Compensation for voltage drifts in analog memory cells
US8068360B2 (en) 2007-10-19 2011-11-29 Anobit Technologies Ltd. Reading analog memory cells using built-in multi-threshold commands
WO2009050703A2 (en) 2007-10-19 2009-04-23 Anobit Technologies Data storage in analog memory cell arrays having erase failures
TWI378465B (en) * 2007-10-26 2012-12-01 Mstar Semiconductor Inc Storage device and access method of digital tv setting information
JP2009116702A (ja) * 2007-11-07 2009-05-28 Toshiba Corp 半導体集積回路
WO2009063450A2 (en) 2007-11-13 2009-05-22 Anobit Technologies Optimized selection of memory units in multi-unit memory devices
US8225181B2 (en) 2007-11-30 2012-07-17 Apple Inc. Efficient re-read operations from memory devices
US8209588B2 (en) 2007-12-12 2012-06-26 Anobit Technologies Ltd. Efficient interference cancellation in analog memory cell arrays
US8185685B2 (en) * 2007-12-14 2012-05-22 Hitachi Global Storage Technologies Netherlands B.V. NAND flash module replacement for DRAM module
US8085586B2 (en) 2007-12-27 2011-12-27 Anobit Technologies Ltd. Wear level estimation in analog memory cells
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
US8156398B2 (en) 2008-02-05 2012-04-10 Anobit Technologies Ltd. Parameter estimation based on error correction code parity check equations
US8209463B2 (en) * 2008-02-05 2012-06-26 Spansion Llc Expansion slots for flash memory based random access memory subsystem
US8352671B2 (en) 2008-02-05 2013-01-08 Spansion Llc Partial allocate paging mechanism using a controller and a buffer
US8332572B2 (en) * 2008-02-05 2012-12-11 Spansion Llc Wear leveling mechanism using a DRAM buffer
US8230300B2 (en) 2008-03-07 2012-07-24 Apple Inc. Efficient readout from analog memory cells using data compression
US8059457B2 (en) 2008-03-18 2011-11-15 Anobit Technologies Ltd. Memory device with multiple-accuracy read commands
US8400858B2 (en) 2008-03-18 2013-03-19 Apple Inc. Memory device with reduced sense time readout
US7995388B1 (en) 2008-08-05 2011-08-09 Anobit Technologies Ltd. Data storage using modified voltages
US8949684B1 (en) 2008-09-02 2015-02-03 Apple Inc. Segmented data storage
US8169825B1 (en) 2008-09-02 2012-05-01 Anobit Technologies Ltd. Reliable data storage in analog memory cells subjected to long retention periods
US8000135B1 (en) 2008-09-14 2011-08-16 Anobit Technologies Ltd. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8482978B1 (en) 2008-09-14 2013-07-09 Apple Inc. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8239734B1 (en) 2008-10-15 2012-08-07 Apple Inc. Efficient data storage in storage device arrays
US8261159B1 (en) 2008-10-30 2012-09-04 Apple, Inc. Data scrambling schemes for memory devices
US8208304B2 (en) 2008-11-16 2012-06-26 Anobit Technologies Ltd. Storage at M bits/cell density in N bits/cell analog memory cell devices, M>N
US8248831B2 (en) 2008-12-31 2012-08-21 Apple Inc. Rejuvenation of analog memory cells
US8174857B1 (en) 2008-12-31 2012-05-08 Anobit Technologies Ltd. Efficient readout schemes for analog memory cell devices using multiple read threshold sets
US8924661B1 (en) 2009-01-18 2014-12-30 Apple Inc. Memory system including a controller and processors associated with memory devices
US8228701B2 (en) 2009-03-01 2012-07-24 Apple Inc. Selective activation of programming schemes in analog memory cell arrays
US8832354B2 (en) 2009-03-25 2014-09-09 Apple Inc. Use of host system resources by memory controller
US8259506B1 (en) 2009-03-25 2012-09-04 Apple Inc. Database of memory read thresholds
US8238157B1 (en) 2009-04-12 2012-08-07 Apple Inc. Selective re-programming of analog memory cells
US20100305970A1 (en) * 2009-05-29 2010-12-02 Medaxion, LLC Mobile Electronic Case Board
US8479080B1 (en) 2009-07-12 2013-07-02 Apple Inc. Adaptive over-provisioning in memory systems
US8289801B2 (en) 2009-09-09 2012-10-16 Fusion-Io, Inc. Apparatus, system, and method for power reduction management in a storage device
US8495465B1 (en) 2009-10-15 2013-07-23 Apple Inc. Error correction coding over multiple memory pages
US20110167210A1 (en) * 2009-10-16 2011-07-07 Samsung Electronics Co., Ltd. Semiconductor device and system comprising memories accessible through dram interface and shared memory region
US8677054B1 (en) 2009-12-16 2014-03-18 Apple Inc. Memory management schemes for non-volatile memory devices
US8694814B1 (en) 2010-01-10 2014-04-08 Apple Inc. Reuse of host hibernation storage space by memory controller
US8572311B1 (en) 2010-01-11 2013-10-29 Apple Inc. Redundant data storage in multi-die memory systems
US8694853B1 (en) 2010-05-04 2014-04-08 Apple Inc. Read commands for reading interfering memory cells
US8572423B1 (en) 2010-06-22 2013-10-29 Apple Inc. Reducing peak current in memory systems
US8595591B1 (en) 2010-07-11 2013-11-26 Apple Inc. Interference-aware assignment of programming levels in analog memory cells
US9104580B1 (en) 2010-07-27 2015-08-11 Apple Inc. Cache memory for hybrid disk drives
US8645794B1 (en) 2010-07-31 2014-02-04 Apple Inc. Data storage in analog memory cells using a non-integer number of bits per cell
US8856475B1 (en) 2010-08-01 2014-10-07 Apple Inc. Efficient selection of memory blocks for compaction
US8694854B1 (en) 2010-08-17 2014-04-08 Apple Inc. Read threshold setting based on soft readout statistics
US9021181B1 (en) 2010-09-27 2015-04-28 Apple Inc. Memory management for unifying memory cell conditions by using maximum time intervals
US8688899B2 (en) 2010-09-28 2014-04-01 Fusion-Io, Inc. Apparatus, system, and method for an interface between a memory controller and a non-volatile memory controller using a command protocol
US10817502B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent memory management
CN103262054B (zh) 2010-12-13 2015-11-25 桑迪士克科技股份有限公司 用于自动提交存储器的装置、系统和方法
US9047178B2 (en) 2010-12-13 2015-06-02 SanDisk Technologies, Inc. Auto-commit memory synchronization
US10817421B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent data structures
US9218278B2 (en) 2010-12-13 2015-12-22 SanDisk Technologies, Inc. Auto-commit memory
US9208071B2 (en) 2010-12-13 2015-12-08 SanDisk Technologies, Inc. Apparatus, system, and method for accessing memory
WO2012083211A1 (en) * 2010-12-17 2012-06-21 Everspin Technologies, Inc. Memory controller and method for interleaving dram and mram accesses
US8635407B2 (en) 2011-09-30 2014-01-21 International Business Machines Corporation Direct memory address for solid-state drives
US20140325315A1 (en) * 2012-01-31 2014-10-30 Hewlett-Packard Development Company, L.P. Memory module buffer data storage
US20130329491A1 (en) * 2012-06-12 2013-12-12 Jichuan Chang Hybrid Memory Module
KR20140030383A (ko) * 2012-08-27 2014-03-12 삼성전자주식회사 컴퓨팅 장치 및 컴퓨팅 장치의 동작 방법
US9177638B2 (en) 2012-11-13 2015-11-03 Western Digital Technologies, Inc. Methods and devices for avoiding lower page corruption in data storage devices
US9129674B2 (en) 2013-06-27 2015-09-08 Intel Corporation Hybrid memory device
US9921980B2 (en) * 2013-08-12 2018-03-20 Micron Technology, Inc. Apparatuses and methods for configuring I/Os of memory for hybrid memory modules
EP3066570A4 (en) * 2013-11-07 2017-08-02 Netlist, Inc. Hybrid memory module and system and method of operating the same
US10445025B2 (en) * 2014-03-18 2019-10-15 Micron Technology, Inc. Apparatuses and methods having memory tier structure and recursively searching between tiers for address in a translation table where information is only directly transferred between controllers
US9348518B2 (en) 2014-07-02 2016-05-24 International Business Machines Corporation Buffered automated flash controller connected directly to processor memory bus
US9542284B2 (en) 2014-08-06 2017-01-10 International Business Machines Corporation Buffered automated flash controller connected directly to processor memory bus
US20160246715A1 (en) * 2015-02-23 2016-08-25 Advanced Micro Devices, Inc. Memory module with volatile and non-volatile storage arrays
WO2016145328A2 (en) * 2015-03-11 2016-09-15 Rambus Inc. High performance non-volatile memory module
US9922064B2 (en) 2015-03-20 2018-03-20 International Business Machines Corporation Parallel build of non-partitioned join hash tables and non-enforced N:1 join hash tables
US10650011B2 (en) * 2015-03-20 2020-05-12 International Business Machines Corporation Efficient performance of insert and point query operations in a column store
US10831736B2 (en) 2015-03-27 2020-11-10 International Business Machines Corporation Fast multi-tier indexing supporting dynamic update
US10108653B2 (en) 2015-03-27 2018-10-23 International Business Machines Corporation Concurrent reads and inserts into a data structure without latching or waiting by readers
US10346048B2 (en) * 2015-04-10 2019-07-09 Samsung Electronics Co., Ltd. Electronic system with storage management mechanism and method of operation thereof
US10102884B2 (en) * 2015-10-22 2018-10-16 International Business Machines Corporation Distributed serialized data buffer and a memory module for a cascadable and extended memory subsystem
KR102420152B1 (ko) 2015-11-18 2022-07-13 삼성전자주식회사 메모리 시스템에서의 다중 통신 장치
US10719236B2 (en) * 2015-11-20 2020-07-21 Arm Ltd. Memory controller with non-volatile buffer for persistent memory operations
KR102491651B1 (ko) * 2015-12-14 2023-01-26 삼성전자주식회사 비휘발성 메모리 모듈, 그것을 포함하는 컴퓨팅 시스템, 및 그것의 동작 방법
US10452598B2 (en) * 2016-10-18 2019-10-22 Micron Technology, Inc. Apparatuses and methods for an operating system cache in a solid state device
US10642660B2 (en) * 2017-05-19 2020-05-05 Sap Se Database variable size entry container page reorganization handling based on use patterns
US10216685B1 (en) * 2017-07-19 2019-02-26 Agiga Tech Inc. Memory modules with nonvolatile storage and rapid, sustained transfer rates
US11403035B2 (en) * 2018-12-19 2022-08-02 Micron Technology, Inc. Memory module including a controller and interfaces for communicating with a host and another memory module
US11301151B2 (en) * 2020-05-08 2022-04-12 Macronix International Co., Ltd. Multi-die memory apparatus and identification method thereof
US11556416B2 (en) 2021-05-05 2023-01-17 Apple Inc. Controlling memory readout reliability and throughput by adjusting distance between read thresholds
US11847342B2 (en) 2021-07-28 2023-12-19 Apple Inc. Efficient transfer of hard data and confidence levels in reading a nonvolatile memory

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09212565A (ja) * 1996-02-07 1997-08-15 Nec Corp 無線携帯端末システム
US6476854B1 (en) * 1996-10-18 2002-11-05 Compaq Information Technologies Group, L.P. Video eavesdropping and reverse assembly to transmit video action to a remote console
WO1999030240A1 (en) * 1997-12-05 1999-06-17 Intel Corporation Memory system including a memory module having a memory module controller
US6256723B1 (en) * 1998-04-15 2001-07-03 Diamond Multimedia Systems, Inc. Signal processing system with distributed uniform memory
JP4017177B2 (ja) 2001-02-28 2007-12-05 スパンション エルエルシー メモリ装置
US6564286B2 (en) 2001-03-07 2003-05-13 Sony Corporation Non-volatile memory system for instant-on
JP4049297B2 (ja) * 2001-06-11 2008-02-20 株式会社ルネサステクノロジ 半導体記憶装置
US7035966B2 (en) 2001-08-30 2006-04-25 Micron Technology, Inc. Processing system with direct memory transfer
US7165153B2 (en) * 2003-06-04 2007-01-16 Intel Corporation Memory channel with unidirectional links
US7152138B2 (en) * 2004-01-30 2006-12-19 Hewlett-Packard Development Company, L.P. System on a chip having a non-volatile imperfect memory
EP3422583B1 (en) 2004-08-30 2020-07-08 Google LLC Systems and methods for providing nonvolatile memory management in wireless phones
US7472222B2 (en) 2004-10-12 2008-12-30 Hitachi Global Storage Technologies Netherlands B.V. HDD having both DRAM and flash memory
US7681004B2 (en) * 2005-06-13 2010-03-16 Addmm, Llc Advanced dynamic disk memory module
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
US7577039B2 (en) * 2005-11-16 2009-08-18 Montage Technology Group, Ltd. Memory interface to bridge memory buses
US7587559B2 (en) * 2006-08-10 2009-09-08 International Business Machines Corporation Systems and methods for memory module power management
US7949931B2 (en) * 2007-01-02 2011-05-24 International Business Machines Corporation Systems and methods for error detection in a memory system
US7564722B2 (en) 2007-01-22 2009-07-21 Micron Technology, Inc. Memory system and method having volatile and non-volatile memory devices at same hierarchical level

Also Published As

Publication number Publication date
US20090265509A1 (en) 2009-10-22
US20080177923A1 (en) 2008-07-24
KR101080498B1 (ko) 2011-11-04
US20110167207A1 (en) 2011-07-07
US20100306461A1 (en) 2010-12-02
EP2126919A1 (en) 2009-12-02
US7564722B2 (en) 2009-07-21
CN101573760B (zh) 2012-10-03
WO2008091443A1 (en) 2008-07-31
EP2126919A4 (en) 2010-12-22
ATE548697T1 (de) 2012-03-15
EP2126919B1 (en) 2012-03-07
US8248861B2 (en) 2012-08-21
US20120297129A1 (en) 2012-11-22
CN101573760A (zh) 2009-11-04
US7916553B2 (en) 2011-03-29
US7778092B2 (en) 2010-08-17
US8493797B2 (en) 2013-07-23

Similar Documents

Publication Publication Date Title
KR101080498B1 (ko) 동일 계층 레벨에 휘발성 및 비휘발성 메모리 장치들을 구비하는 메모리 시스템 및 방법
JP6986369B2 (ja) メモリモジュール、これを含むシステム及びその動作方法
JP6029923B2 (ja) Nand型フラッシュメモリの読み込み方法及び装置
KR101507194B1 (ko) 직렬 인터페이스 nand
TWI727596B (zh) 記憶體裝置以及其讀取頁面串流的方法
US8321778B2 (en) Efficient in-band reliability with separate cyclic redundancy code frames
US20230307026A1 (en) High performance, non-volatile memory module
US11640308B2 (en) Serial NAND flash with XiP capability
US20200125443A1 (en) Fast page continuous read
TWI497495B (zh) 用於讀取nand快閃記憶體的方法和設備
KR20210040463A (ko) 오류 정정 및 메모리 테스트 동작을 수행하기 위한 인-패키지 시퀀서를 포함하는 메모리 서브 시스템
US11537521B2 (en) Non-volatile dual inline memory module (NVDIMM) for supporting dram cache mode and operation method of NVDIMM
US8402233B2 (en) Method and apparatus for high throughput mass storage device interface in a microprocessor for handheld systems
KR20200140169A (ko) 디램 캐시 모드를 지원하는 불휘발성 듀얼 인-라인 메모리 모듈 및 그것의 동작 방법
JPH04233052A (ja) 二重化メモリ装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee