DE102009037984B4 - Speichereinheit für eine hierarchische Speicherarchitektur - Google Patents

Speichereinheit für eine hierarchische Speicherarchitektur Download PDF

Info

Publication number
DE102009037984B4
DE102009037984B4 DE102009037984.3A DE102009037984A DE102009037984B4 DE 102009037984 B4 DE102009037984 B4 DE 102009037984B4 DE 102009037984 A DE102009037984 A DE 102009037984A DE 102009037984 B4 DE102009037984 B4 DE 102009037984B4
Authority
DE
Germany
Prior art keywords
memory
nand
hierarchical
interface
storage unit
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
DE102009037984.3A
Other languages
English (en)
Other versions
DE102009037984A1 (de
Inventor
Sean Eilert
Mark Leinwander
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Micron Technology Inc
Original Assignee
Micron Technology Inc
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 Micron Technology Inc filed Critical Micron Technology Inc
Publication of DE102009037984A1 publication Critical patent/DE102009037984A1/de
Application granted granted Critical
Publication of DE102009037984B4 publication Critical patent/DE102009037984B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4247Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0004Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements comprising amorphous/crystalline phase transition cells
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10NELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10N70/00Solid-state devices having no potential barriers, and specially adapted for rectifying, amplifying, oscillating or switching
    • H10N70/20Multistable switching devices, e.g. memristors
    • H10N70/231Multistable switching devices, e.g. memristors based on solid-state phase change, e.g. between amorphous and crystalline phases, Ovshinsky effect
    • 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)
  • Human Computer Interaction (AREA)
  • Chemical & Material Sciences (AREA)
  • Crystallography & Structural Chemistry (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)

Abstract

Hierarchische Speichereinheit (100), umfassend: ein Phase-Change-Speicher(PCM)-Array (140); mehrere Schnittstellen mit unterschiedlichen Speicherformaten, wobei die mehreren Schnittstellen eine NAND-Schnittstelle (132) und eine Speicher-Schnittstelle (136) zu einer Massenspeichereinheit umfassen; wenigstens einen Prozessorkern (148) zum Ausführen von Multi-Core-NAND-Management und autonomen Computing Funktionen, wobei die NAND-Management Funktionen ausgestaltet sind zum Abgleichen von Daten-Input und/oder Daten-Output zwischen der NAND-Schnittstelle (132) und einem Pufferspeicher, der mit der NAND-Schnittstelle gekoppelt ist, wobei der Abgleich basiert auf extrahierten Steuer- und Betriebsinformationen, die empfangene Befehlssätze und Adressen von mit der hierarchischen Speichereinheit verbundenen Speichereinheiten beinhalten, wobei der wenigstens eine Prozessorkern (148) ferner ausgestaltet ist, die empfangenen Befehlssätze zu interpretieren und Speicher-Befehle auszusenden; und wenigstens einen Eingangs-Port und eine Mehrzahl von Ausgangs-Ports, so dass die hierarchische Speichereinheit gleichzeitig sowohl in einer Daisy-Chain-Hierarchie als auch in einer hierarchischen Baumstruktur mit anderen hierarchischen Speichereinheiten verbindbar ist und so dass Verkehr zwischen dem wenigstens einen Eingangs-Port und einem der Mehrzahl von Ausgangs-Ports geschaltet werden kann, um eine Roundtrip-Latenz zu einer untersten Schicht der hierarchischen Baumstruktur zu minimieren, wobei die Mehrzahl von Ausgangs-Ports ausgebildet ist, wenigstens mit einem NAND-Speicher extern zur hierarchischen Speichereinheit (100) kommunikativ verbunden zu sein, wobei die NAND-Schnittstelle (132) ausgebildet ist, Kommunikationen zwischen dem PCM-Array (140) und dem wenigsten einen NAND-Speicher so zu steuern, dass das PCM-Array (140) Daten zwischenspeichern kann, die es von dem wenigstens einen NAND-Speicher empfangen hat, wobei der wenigstens eine Eingangs-Port und die Mehrheit von Ausgangs-Ports durch den wenigstens einen Prozessorkern (148) konfigurierbar sind.

Description

  • Hintergrund der Erfindung
  • Bei gegenwärtigen Microprozessoren ist der Datenaustausch zwischen der CPU und/oder der Kern-Logik und dem Systemspeicher die Schwachstelle der Systemleistung. Bei Übertragung von Binärdaten wird wegen der intrinsischen Kapazitäten der System-Busse ein signifikanter Teil der Leistung an der Input/Output(I/O)-Schnittstelle eines Prozessors abgeführt. Zur Verbesserung der Systemleistung werden kritische Designanforderungen wie Leistungs- und Timing-Optimierung zur Berücksichtigung von Bus-Latenz gleichzeitig in Betracht gezogen. Weitere Verbesserungen an der Schnittstelle zu Massenspeicher-Einheiten sind notwendig.
  • WO 2008/121 559 A1 offenbart Speichermodulhierarchien mit integrierten Schaltungen. Ein Speichermodul umfasst mehrere flüchtige oder nicht-flüchtige Speichereinheiten, eine Pufferschaltung und mehrere Schnittstellen, die Daten für Speichereinheiten behandeln. Die nicht-flüchtigen Speichereinheiten sind beispielsweise FLASH- oder PCM-Speicher.
  • Aus der Druckschrift US 5 924 115 A ist außerdem ein hierarchischer Speicheraufbau mit Baumstruktur bekannt.
  • US 2008/0229026 A1 offenbart verschiedene Formen von gekapselten Speichereinheiten.
  • Aufgabe der vorliegenden Erfindung ist, eine Speichereinheit in einer hierarchischen Struktur mit verbessertem Speicherzugriff bereitzustellen und Probleme der bekannten Vorrichtungen und Verfahren zu überwinden.
  • Nach einem ersten Aspekt stellt die vorliegende Erfindung eine hierarchische Speichereinheit gemäß dem unabhängigen Anspruch 1, eine hierarchische Speichereinheit gemäß dem unabhängigen Anspruch 6, eine hierarchische Speichereinheit gemäß dem unabhängigen Anspruch 11 und eine gekapselte Speichereinheit gemäß dem unabhängigen Anspruch 23 bereit. Bevorzugte Ausführungsbeispiele der Erfindung ergeben sich aus den abhängigen Ansprüchen, der nachfolgenden Beschreibung und den Figuren.
  • Kurzbeschreibung der Figuren
  • Der Gegenstand der Erfindung ist angegeben und klar beansprucht im anschließenden Teil der Beschreibung. Die erfinderische Vorrichtung und das erfinderische Verfahren zusammen mit deren Merkmalen, Kennzeichen und Vorteilen lässt sich am besten aufgrund der folgenden detaillierten Beschreibung zusammen mit den zugehörigen Figuren verstehen, wobei:
  • 1 ist ein hierarchisches Speicherelement, das als Speicherblock in einer hierarchischen Architektur gemäß der vorliegenden Erfindung verwendet werden kann;
  • 2 ist eine schematische Darstellung von verschiedenen hierarchischen Speicher-Konfigurationen gemäß der vorliegenden Erfindung;
  • 3 illustriert den hierarchischen Speicher, der mit NAND- und RAM-Speicher in unterschiedlichen Kombinationen gemäß der vorliegenden Erfindung konfiguriert ist; und
  • 4 zeigt gekapselte Einheiten, bei denen die Halbleiter-Chips auf einem Substrat montiert werden können, die dann mit Bumps versehen werden können, um entweder ein sog. Chip-Scale-Package (CSP) oder ein Ball-Grid-Array (BGA) als endgültiges Halbleitergehäuse zu bilden.
  • Zur Vereinfachung und Klarheit ist die Darstellung in den Figuren nicht notwendigerweise maßstabsgetreu. Beispielsweise können aus Gründen der klaren Darstellung die Abmessungen einiger Elemente übertrieben im Vergleich zu anderen Elementen dargestellt sein. Weiterhin werden, wo es angemessen erscheint, in unterschiedlichen Figuren dieselben Bezugszeichen verwendet, um anzuzeigen, dass es sich um korrespondierende oder analoge Elemente handelt.
  • Detaillierte Beschreibung
  • Um ein gründliches Verständnis der Erfindung zu erlangen, wird im Folgenden eine detaillierte Beschreibung mit vielen Details der Erfindung dargelegt. Jedoch kann die Erfindung durch den Fachmann auch ohne diese spezifischen Details ausgeführt werden. Um nicht den Blick auf das Wesentliche der Erfindung zu verstellen, wurden andererseits bekannte Verfahren, Prozeduren, Komponenten und Schaltungen nicht im Detail dargelegt.
  • Die Bezeichnungen „gekoppelt” und „verbunden” nebst deren Derivativen sollen nicht als Synonym verstanden werden. In den Ausführungsbeispielen soll „verbunden” dann verwendet werden, um anzuzeigen, dass zwei oder mehrere Elemente in direktem physikalischen oder elektrischen Kontakt miteinander stehen. „Gekoppelt” soll verwendet werden, um anzuzeigen, dass zwei oder mehrere Elemente entweder in direktem oder indirektem (mit weiter eingreifenden Zwischenelementen) in physikalischem oder elektrischem Kontakt miteinander stehen, und/oder dass die zwei oder mehreren Elemente miteinander kooperieren oder interagieren (beispielsweise in einem Ursache-Wirkungs-Zusammenhang).
  • Die in 1 dargestellte Architektur zeigt eine hierarchische Speichereinheit 100, die mehrere Schnittstellen und einen Prozessor-Kern (uC core) 148 umfasst, um Kommunikation mit anderen Speichereinheiten in einer hierarchischen Anordnung gemäß der vorliegenden Erfindung zu ermöglichen. Bus 104 kann eine Verbindung zu einer Multi-Processing-Schnittstelle herstellen, die eine Kommunikation zwischen dem Prozessor und jedweder angebundenen I/O-Einheit und unterschiedlichen Speichertypen erlaubt. Bus 104 bietet Hochgeschwindigkeits-Kommunikation mit Unterstützung von direkten Schreiboperationen und weiterhin Bus-Transaktionen mit Hochgeschwindigkeit. Die Signale auf Bus 104 können unterschiedliche Signalisierungsmethoden verwenden. Beispielsweise kann Bus 104 Signale nach der sog. Single-Ended Signalisierungsmethode oder nach der Gunning-Transceiver-Logic (GTL+) verwenden. Bei letzterer werden von den Empfängern differenzielle Eingangspuffer mit Referenzpegeln benutzt, um festzustellen, ob ein Signal eine logische „0” oder eine logische „1” aufweist. Der Anwendungsbereich der vorliegenden Erfindung soll nicht auf diese Beispiele beschränkt sein und andere Signalisierungsmethoden können ebenso verwendet werden.
  • Speichereinheit 100 beinhaltet eine RAM-Schnittstelle 130, eine NAND-Schnittstelle 132, eine Netzwerk-Schnittstelle 134, eine Speicher-Schnittstelle 136 und eine Peripherie-Schnittstelle 138. Über die RAM-Schnittstelle 130 können der Host-Kontroller und die Speichereinheit 100 unter Benutzung einer Schnittstellenschaltung, die bei selektiv ansteigend höheren Vielfachen der grundlegenden Lese-Rate arbeitet, miteinander kommunizieren. Beispielsweise kann die RAM-Schnittstelle 130 als serieller Dateneingang realisiert werden, oder alternativ dazu, eine höhere Bandbreite über eine synchrone Schnittstelle realisieren, die auf ein Taktsignal wartet, bevor sie auf Kontrolleingangs-Signale antwortet (Synchronous Dynamic Random Access Memory (SDRAM)).
  • RAM-Schnittstelle 130 kann auch Daten als ein sog. Double-Data-Rate-Random-Access Memory (DDR-RAM) empfangen, oder von deren nächster Generation, DDR2. Bei letzterer ist der Datenbus mit der doppelten Rate als jene der Speicherzellen getaktet, so dass DDR2-RAM effektiv bei der doppelten Busrate als herkömmliches DDR-RAM arbeiten kann. RAM-Schnittstelle 130 kann ebenfalls als sog. Double-Data-Rate drei Synchronous Dynamic Random-Access-Memory(DDR3-SDRAM)-Schnittstelle ausgebildet sein, wobei Daten bei der doppelten Datenrate als DDR2 übertragen werden können, und damit sogar noch höhere Busraten und höhere Spitzenraten als frühere Speichertechnologie ermöglichen. Speichereinheit 100 könnte ebenfalls DDR4 unterstützen, das mit I/O-Schnittstellen bei 1,2 V arbeitet. Die hierarchische Speichereinheit 100 unterstützt ebenfalls Schnittstellen mit reduzierter Leistung wie Low-Power Double-Data-Rate (LPDDR) und LPDDR2 mit geringeren Versorgungsspannungen.
  • NAND-Schnittstelle 132 kontrolliert die Operationen zur Unterstützung einer Anbindung von NAND-Speicher an einen Host-Prozessor. Im Verhältnis zu einer RAM-Schnittstelle 130 weist diese eine geringere Bandbreite und eine längere Latenzzeit auf, jedoch lässt sich eine derartige Schnittstelle mit Einfachheit im Design und einem reduzierten Pin-Count realisieren. Speicher-Block 140 empfängt zur Unterstützung von NAND-Flash-Speicher Daten, die für Massenspeicher-Anwendungen benutzt werden können. Um NAND-Flash zu unterstützen, führt Speichereinheit 100 drei grundlegende Operationen durch, nämlich die sog. „read-page”, „program-page” und die „erase-block”-Operation. Hierbei besteht Speicherblock 140 aus einer Menge von Blöcken und Speicherseiten, wobei jede Speicherseite einen Datenteil, in dem die Benutzerdaten, und einen zusätzlichen Teil, in dem die mit den Benutzerdaten zugeordneten Metadaten, beispielsweise die ECC-Information gespeichert sind, aufweist.
  • Befehls- und Operation-Information wird zur Kontrolle der NAND-Schnittstelle 132 extrahiert und basierend auf dem Befehl und der Adresse wird der Daten-Input und/oder Daten-Output zwischen der NAND-Schnittstelle und dem Pufferspeicher 132 abgeglichen. Zur Durchführung der Fehlerkorrektur können Daten von der NAND-Schittstelle 132 zur Fehlerkorrektur-Einheit (Error-Detection & Configuration) 114 ausgegeben werden. Mit seinen integrierten Leistungsmerkmalen hat die Speichereinheit 100 die Möglichkeit, als Multi-Core-NAND-Managment-Subsystem oder als autonomes Computing-Subsystem zu agieren.
  • Netzwerk-Schnittstelle 134 unterstützt Ethernet, Infiniband und 802.11. Ethernet ist eine sog. Local Area Network(LAN)-Schnittstelle, welche das Carrier-Sense-Multiple-Access mit Collision-Detection(CSMA/CD)-Verfahren benutzt, um gleichzeitige Zugriffe zu handhaben. Das CSMA/CD Protokoll bietet einen fairen Zugang zu dem gemeinsam genutzten Kanal, so dass verbundene Stationen eine Möglichkeit bekommen, das Netzwerk zu benutzen. Nach jeder Paket-Übertragung bestimmt das CSMA/CD-Protokoll, welcher Station es Zugriff gewährt, um den Ethernet-Kanal als nächstes benutzen zu können. Das Ethernet-Protokoll spezifiziert die Regeln zur Konstruktion von Rahmen, wobei sowohl eine Zieladresse als auch eine Quelladresse spezifiziert sind.
  • Netzwerk-Schnittstelle 134 unterstützt das Point-to-Point-Bidirectional-Serial-Link-Protokoll, das sog. InfiniBand, welches den Host-Prozessor mit Hochgeschwindigkeits-Peripherie-Geräten, beispielsweise einer Speicherplatte, verbindet. Die Schnittstelle kann mehrere Verbindungen mit unterschiedlichen Signalisierungs-Raten unterstützen. Die Netzwerk-Schnittstelle 134 kann auch Kommunikationsverbindungen nach 802.11 unterstützen.
  • Speicher-Schnittstelle 136 unterstützt industrielle und eingebettete Anwendungen. Speicher-Schnittstelle 136 unterstützt eine Serial-ATA(SATA)-Speicher-Schnittstelle, welche die Kommunikation zwischen einem Host-Bus und Massenspeichereinheiten erlaubt. Zur Bildung einer Point-to-Point-Verbindung treibt die SATA-Schnittstelle ein Kabel mit einem Minimum von vier Drähten. Eine weitere Schnittstelle, die von Speicher-Schnittstelle 136 unterstützt wird, ist die Serial-Attached-SCSI(SAS)-Schnittstelle, die zur Verbindung der Speichereinheit 100 mit einem Speicherplatten-Laufwerk eine Point-to-Point serielle Schnittstelle bildet. SAS kann verwendet werden, um über Kabel mehrere Geräte von unterschiedlicher Größe und Typ gleichzeitig mit Speichereinheit 100 zu verbinden. Die parallele SCSI-Schnittstelle (PSI, aka SCSI) ist eine der Schnittstellen-Implementierungen der SCSI-Familie, die von Speichereinheit 100 unterstützt werden kann. Sog. SCSI an the Fibre Channel (PC) benutzt das Fibre-Channel-Protocol (FCP) als Schnittstellen-Protokoll. Fibre-Channel-Laufwerke sind Dual-Port-Einheiten mit Native-Command-Queuing (NCQ)-Technologie, bei der bei einer einzelnen Festplatte die Reihenfolge, mit der empfangene Schreib- und Lese-Befehle ausgeführt werden, intern optimiert werden können.
  • Während der Datenaustausch durch einen Speicher-Kontroller ausgeführt wird, werden durch eine zusätzliche Logik und zusätzliche Register verschiedene Benutzerprofil-Parameter, wie beispielsweise Örtlichkeits- und Sequenzierungs-Information identifiziert und protokolliert. Der Speicher-Kontroller umfasst die Logik, um Speicherzugriffe zu identifizieren und anzupassen. Der Host-Kontroller kann diese Register-Information lesen und sein Verfahren, mit dem Transaktions-Anforderungen an die Speichereinheit gesendet werden, anpassen. Alternativ kann der Host-Kontroller auch die Register-Information lesen und Mikrocode an die Speichereinheit senden.
  • Peripherie-Schnittstelle 138 kann für Konsumer-, Server- und industrielle Anwendungen benutzt werden; sowohl, um auf Motherboard-Ebene auf dem Motherboard montierte Peripherie-Geräte zu verbinden als auch als Zusatzkarten-Schnittstelle für Steckkarten. Beispielsweise erlaubt das Peripheral-Component-Interconnect-Express (PCI Express bzw. PCIe) das „Channel-Grouping”, wobei mehrere Spuren an ein einzelnes Gerätepaar gebunden sind, um eine höhere Bandbreite zur Verfügung zu stellen. Die Anzahl der Spuren kann während des Einschaltens „verhandelt” werden oder explizit während des Betriebs definiert werden.
  • Zur Kontrolle der Speicheroperationen umfasst die hierarchische Speichereinheit 100 einen Mikrocontroller(uC)-Kern 148, welcher Zähler/Timer und eine Interrupt-Struktur integriert, konfigurierbare I/O-Ports definiert, und unter vielen weiteren Prozessfunktionen Modi der Leistungs-Absenkung auswählt. Beispielsweise kann Mikrocontroller 148 einen Betriebsmodus umfassen, der Sicherheitsmerkmale aktiviert, welche den Zugang zu Inhalten von Bereichen des Programmspeichers reglementieren. Mit aktivierten Sicherheitsmerkmalen kann gleichzeitige Programmierung, d. h. Programmierung eines Speicherbereichs unter Benutzung von Ausführungsanweisungen von einem anderen Speicherbereich, unter vorbestimmten, sicheren Bedingungen initiiert werden.
  • Ein Daten-Speicher-Array 150 dient zum Speichern von für die hierarchische Speichereinheit 100 spezifischer Konfigurations-Information und kann entweder von dem Hersteller oder von dem Benutzer mit Daten geladen werden. Die Software, die vom Mikrocontroller-Kern 148 ausgeführt wird, wendet die Konfiguration-Daten auf die Schnittstellen-Blöcke an, um unterschiedliche Protokolle auszuwählen, und um die Schnittstellen-Konfiguration der hierarchischen Speichereinheit 100, die dem Host, den zugehörigen Peripheriegeräten, und anderen Speichergeräten zur Verfügung stehen, zu kontrollieren.
  • Mikrocontroller-Kern 148 interpretiert zusammen mit der Befehls-Warteschlange 144 den Befehlssatz und sendet Speicher-Befehle aus. Ein interner Kontroller handhabt die im Betrieb auftretenden Timings und verifiziert die korrekte Ausführung der Speicher-Befehle, wie z. B. Schreib-Befehle, Lese-Befehle und Flush-Befehle. Zusätzlich können in dieser Architektur weitere Befehle wie „status read”, „copy”, „move”, oder „error-correct” unterstützt werden. Der Kontroller liefert in einem Status-Block 146, dessen Register Informationen über den Status enthalten, und über Fehler, die während des Speicherbetriebs auftreten können, berichten. Das Status-Register kann gelesen werden, um den Fortschritt während der Befehls-Ausführung zu überwachen oder um über das Ergebnis von Speicheroperationen zu berichten.
  • Ein Pufferspeicher 142 hält mehrere Speicherworte, die als Gruppe in einen Speicher-Block 140 hinein übertragen werden können, wenn der entsprechende Programmierbefehl abgesetzt wird, und puffert auch eine große Datenmenge, die aus dem Speicherblock gelesen wurde. Auf diese Weise wird eine Speicherseite programmiert, und, nachdem die Programmier- und Verifikations-Prozesse komplettiert sind, können die Programmier- und Verifikations-Prozesse für eine nächste Speicherseite ausgeführt werden. Ein Lesebefehl bewirkt das Lesen von Daten aus einer Speicherzelle zum Pufferspeicher, welche dann nach außen transferiert werden. Es ist wichtig zu verstehen, dass die Programmierung bereits beginnen kann, bevor alle Daten über die Host-Schnittstelle transferiert werden. Wie aus der in 2 gezeigten hierarchischen Struktur deutlich wird, können Daten bereits mit einem gewissen Grad an Zwischenpufferung durch die Hierarchie propagieren, bis eine ausreichende Informationsmenge zum Ziel transferiert ist, so dass die Programmierung beginnen kann.
  • Speicher-Block 140 kann aus Gründen der Flexibilität, und damit Code- und Datenbereiche in den Speicher-Arrays getrennt sind, eine Architektur mit mehreren Bänken aufweisen. Der duale Betrieb erlaubt die Ausführung von Programmcode aus der einen Bank, während die andere Bank gerade programmiert oder gelöscht wird. Während der Programmierung oder der Lösch-Operation in einer Bank sind Lese-Operationen in der anderen Bank möglich. In einer Ausführungsform sind die Speicher-Arrays Phase-Change-Memory(PCM)-Arrays, die man auch als Phase-Change-Random-Access-Memory (PRAM oder PCRAM), Ovonic Unified Memory (OUM) oder Chalcogenide Random-Access-Memory (C-RAM) bezeichnet. In einer anderen Ausführungsform können die Speicher-Arrays als Magnetic Random-Access-Memory(MRAM)-Zellen ausgeführt sein, wobei magnetische Speicherelemente aus zwei ferromagnetischen Ebenen (nicht gezeigt) geformt werden, die an einer Kreuzung einer Zeilen- und Spaltenleitung angebracht sind und von einer Magnetic Tunnel Junction(MTJ)-Einheit (nicht gezeigt) ausgewählt werden. In einer weiteren Ausführung können die Speicher-Arrays als Ferroelectric Random-Access-Memory(FRAM)-Zellen ausgeführt sein.
  • Die hierarchische Speichereinheit 100 kann die Host-Schnittstellen-Logik umfassen, die in die hierarchische Speichereinheit integriert ist. Die Host-Schnittstellen-Logik kann einige oder alle von den folgenden Funktionen ausführen: Kommunikation mit dem Host-Prozessor; Aggregation von mehreren Bäumen von hierarchischen Speichern; Wear-Leveling, Ausscheiden von schlechten Speicher-Sektoren, statistisches Erfassen der Speicherbenutzung für Performance- und Zuverlässigkeits-Management, und Benutzung von inhalts-adressierbaren Speicher im hierarchischen Speicherbaum.
  • Ein als „Address & Sector Translation” 110 bezeichneter Block stellt die Adressierung innerhalb der hierarchischen Speichereinheit 100 zur Verfügung, indem die Adressinformation durch Bus 104, der benutzt werden kann, um auf die an verschiedenen Stellen in der Hierarchie angebrachten Speichereinheiten zugreifen zu können, empfangen wird. Wenn durch die hierarchische Speichereinheit 100 eine NAND-Adressinformation empfangen wird, dann kann beim Durchlauf durch den Hierarchiebaum ein Address-Remapping erfolgen oder auch nicht. Die hierarchische Speichereinheit 100 kennt über einen Discovery-Prozess die angebundenen Typen von Speichereinheiten, und eine interne Zuordnungstabelle assoziiert „lange Adressen” zu „kurzen Adressen”. Die langen Adressen beinhalten einen kompletten Laufplan zum Ziel-Port derart, dass z. B. eine „0” den Port auf der linken Seite repräsentiert, und eine „1” den Port auf der rechten Seite. Die kurzen Adressen können für die Kommunikation zwischen den Einheiten benutzt werden und umfassen eine sequentielle Liste von gültigen Ports für den unteren Baumabschnitt.
  • Wear-Leveling 112 verteilt Lösch-Befehle über die verwalteten Speicherblöcke und erzwingt ein gelegentliches Verlagern von Blöcken mit geringen Zugriffs-Zyklenzahlen, und erlaubt Daten mit hohen Zugriffs-Zyklenzahlen eine Platzierung in Blöcken mit geringen Zugriffs-Zyklenzahlen. Die Mehrheit der Blöcke wird nicht zykliert, aber Blöcke mit hohen Zugriffs-Zyklenzahlen haben eine große Wahrscheinlichkeit des Ausfalls und die Wear-Leveling-Hardware und der Mikrocode tauscht während des Lösch-Algorithmus die Adressen von Blöcken mit hohen Zugriffs-Zyklenzahlen mit solchen von Blöcken mit geringen Zugriffs-Zyklenzahlen. Bemerkenswert ist, dass alle Adresstausch-Operationen dem Endbenutzer transparent sind.
  • Die Möglichkeit zur Fehler-Detektion und -Korrektur wird durch eine Fehler-Korrektureinheit (Error Correcting Code (ECC) Engine) 114 zur Verfügung gestellt. Fehler-Detektions- und Korrekturverfahren kompensieren die mit der Schreibgenauigkeit und Wiederholbarkeit zusammenhängenden Probleme. Ein fehlerkorrigierender Code stellt sicher, dass jedes Datensignal spezifischen Konstruktionsregeln gehorcht, und dass Abweichungen von dieser Konstruktion im Empfangssignal automatisch detektiert und korrigiert werden können. Somit überwacht, verbessert und verhindert die konfigurierbare Fehlerkorrektureinheit 114 Speicherbitfehler.
  • Eine Kompressions- und Dekompressions-Einheit (Compression & Decompression) 116 bietet Kompression eines Eingangs-Datensatzes auf einen gespeicherten Datensatz, welcher weniger Datenbits im Speicher benötigt. Wenn auf die gespeicherten Daten zugegriffen wird, werden sie dekomprimiert und an den Host zurückgegeben. Dabei kann die Datenkompression verlustlos sein derart, dass garantiert ist, dass gelesene Daten die gleichen sind als die vorher geschriebenen Daten. Andererseits kann durch eine verlustbehaftete Kompression ein höherer Kompressionsgrad erreicht werden, jedoch können Änderungen in den Daten auftreten. Verlustbehaftete Kompression kann angemessen sein für die Speicherung von Videodaten, wo geringe Änderungen in den Datenfolgen keine signifikante Degradation in der Wahrnehmung durch den Benutzer hervorrufen würde.
  • Eine Zwischenspeicher-Verwaltungs-Einheit (Caching Management) 118 arbeitet in dem hierarchischen Speicherbaum oder in den hierarchischen Speicherbäumen und optimiert die Speicherorte der Information basierend auf Zugriffsprofilen. Beispielsweise wird „Hot Data” in einem Speicher mit höchster Leistungsfähigkeit und größter Robustheit gespeichert; und „Cold Data” wird in weniger teuren, weniger leistungsfähigen und weniger robusten Speicher gespeichert.
  • Eine Datenmanipulations-Einheit (Data Manipulation) 152 verwendet vorteilhaft Hintergrund-Zeit zur Vorbehandlung von Speichersektionen, die einen langsameren Zustand haben derart, dass schnelle Zustandswechsel während Vordergrundoperationen möglich sind. Es ist häufig der Fall, dass Schreiboperationen in einen Speicherzustand länger benötigen, wenn der Zustand einer „1” gespeichert werden soll, als wenn der Zustand einer „0” gespeichert werden soll. In derartigen Fällen ist der Vorteil der Manipulation der Daten dadurch gegeben, dass weniger Bits in den langsameren Zustand übergehen. In diesen Fällen, wo die Daten derart manipuliert sind, dass sie invertiert werden, wird ein zusätzliches Bit gespeichert, um anzuzeigen, dass die Daten zur Optimierung der Leistungsfähigkeit invertiert wurden. Ähnliche Szenarien gibt es bei der Verwaltung der Zuverlässigkeit (z. B. höhere Bitfehlerraten für den Wert „0” als für den Wert „1”), wobei hierfür ähnliche Techniken benutzt werden können.
  • Eine Speicher-Partitionierungs-Verwaltungs-Einheit (Memory Partitioning Management) 120 kann Speicher-Partitionierungs-Optionen bereitstellen, um den Speicher über unterschiedliche Prozessor-Kerne und Partionen zu schützen, wobei Software-Wiederverwendbarkeit, Systemzuverlässigkeit, und Design-Flexibilität erhalten bleiben. Die Partitionierung ermöglicht es den höheren Softwareschichten, die von den nicht-flüchtigen Medien Gebrauch machen, den zur Verfügung stehenden Speicherlatz zu segmentieren und dort unterschiedliche Typen von Daten oder Code zu speichern. Die hierarchische Speichereinheit 100 bietet die Möglichkeit, den durch logische Adressen zugänglichen Bereich zu partitionieren, um die Einheit an unterschiedliche Gebrauchs-Modelle und während der Systemlebensdauer an Änderungen der Gebrauchs-Modelle selbst anzupassen.
  • 2 zeigt mehrere hierarchische Speichereinheiten 100, die mit zusätzlichem Speicher in einer Vielzahl von Konfigurationen verbunden sind. Die Figur zeigt, dass sachgerecht eingerichtete Einheit(en) 100 eine Abfolge von Speichereinheiten erlaubt und das Anbinden von Speichertiefe an einen Prozessor-Kontroller mit begrenztem Pin-Count ermöglicht. Hierarchische Speichereinheit(en) 100 öffnen den System-Massenspeicher und ermöglichen eine hierarchische Speicherarchitektur mit einer Speicherkapazität, die hauptsächlich durch praktische physikalische Randbedingungen begrenzt sind.
  • Um eine höhere I/O-Gesamtbandbreite für Kurzstrecken-Kommunikation zur Verfügung zu stellen, können die Inter-Chip-Busse bidirektional ausgeführt werden, d. h. die Busse können als unabhängige Busse ausgestaltet werden, wobei ein Bus für die Signalisierung in Aufwärtsrichtung dient und ein anderer Bus für die Signalisierung in Abwärtsrichtung dient. Zusätzlich zur simultanen bidirektionalen Signalisierung kann sog. Low-Voltage Differential Signaling (LVDS) als Signalisierungsprotokoll für die Inter-Chip-Kommunikation und zur Verbindung zu LVDS-Speicher für Universal Flash Storage (UFS) eingesetzt werden.
  • Die hierarchische Speichereinheit 100 ist zwischen einem Prozessor und den Speichereinheiten, die unterschiedliche Speichermechanismen und unterschiedliche Schnittstellen-Formate aufweisen können, platziert. Die hierarchische Speichereinheit 100 bietet eine Schnittstelle, um die unterschiedlichen Speicherformate so wie z. B. NOR mit Random-Access Lesezugriff, NAND mit seitenweisem Zugriff, und RAM, das DDR ermöglicht, aufzunehmen. Die hierarchische Speichereinheit 100 kann an einen Host-Kontroller 202 angebunden sein oder in einer anderen Ausführungsform, sollten Speicher-Kontrollerfunktionen in die Speichereinheit 100 mit integriert sein, direkt an den Host angebunden sein.
  • Die Figur zeigt hierarchische Speichereinheiten, die in einer Baumhierarchie 204 miteinander verbunden sind, wobei jede hierarchische Speichereinheit 100 den Verkehr zwischen ihrem aufwärtigen Port und einem von N abwärtigen Ports schaltet. Diese Konfiguration minimiert die Roundtrip-Latenz zur untersten Schicht des Baums auf Kosten von einigen zusätzlichen Interconnects. Die Figur zeigt außerdem in einer Daisy-Chain 206 verbundene hierarchische Speichereinheiten 100. In der Daisy-Chain-Hierarchie interpretiert jeder Knoten den Verkehr, um zu bestimmen, ob dieser Verkehr für den lokalen Knoten bestimmt ist oder für einen aufwärtigen/abwärtigen Knoten. Mit für den lokalen Knoten bestimmten Verkehr wird derart verfahren, dass die entsprechenden Aktionen getätigt werden, wohingegen aufwärtiger/abwärtiger Verkehr durch die hierarchische Speichereinheit mit einem Minimum an Latenz-Zeit durchgereicht wird. Zusätzlich können hybride Konfigurationen unterschiedliche Variationen der Hierarchien kombinieren. Beispielsweise kann es vorteilhaft sein, einen Baum mit drei Ebenen und vier Terminal-Knoten zu bilden, wobei an jeden Terminal-Knoten eine Daisy-Chain mit einer Tiefe von 16 Einheiten angebunden ist.
  • In dem hierarchischen Speicher-Subsystem können auch nicht-hierarchische Standard-Speichereinheiten 208 an die hierarchischen Speichereinheiten 100 angebunden sein. Beispielsweise kann Multi-Level-Cell (MLC) NAND-Speicher an einen Baum von hierarchischem PCM-Speicher angebunden sein. In diesem Beispiel kann PCM dazu verwendet werden, um die Verbindung von NAND-Speicher mit sehr hohen Dichten zu bewerkstelligen, wobei dies auch der Reduktion der Beanspruchung des NAND-Speichers durch zwischengespeicherte Leseoperationen und sich vereinenden bzw. zwischengespeicherten Schreibzugriffsoperationen dient. Obwohl der NAND-Speicher unregelmäßig gelesen wird und unregelmäßig beschrieben wird, können Schreibzugriffe auf den NAND-Speicher derart zusammengeführt werden, dass nur noch Schreib-Operationen auftreten, die das Beschreiben von kompletten Datenblocks beinhalten. Wird in der hierarchischen Speichereinheit 100 PCM-Speicher anstelle von flüchtigem RAM-Speicher zur Zwischenspeicherung (caching) verwendet, werden die Probleme im Falle eines Spannungsverlusts reduziert und der Verlust von Daten verhindert. Der PCM-Speicher kann außerdem eine Fehlerkorrektur (ECC) durchführen, derart, dass Schreibfehler auf den NAND-Speicher während mehrerer Schreiboperationen nicht akkumuliert werden.
  • Unabhängig von der Host-Schnittstelle gibt es mehrere Möglichkeiten, wie das hierarchische Speicher-Subsystems dem System aus logischer Sicht erscheint. Hierunter fallen I/O-mapped, memory-mapped Verfahren und memory-mapped-I/O. Als I/O-mapped Einheit erscheint das Subsystem gegenüber dem Host und der Host-Software als eine sektorbasierte Einheit. Bei diesem Typ von Einheiten werden alle Zuordnungen und Umwandlungen, wie die Umwandlung von Sektoren auf Seiten durch den Host vorgenommen. Generell ist die Information in atomischen Sektoren, die beispielsweise, zwischen 512 Byte bis 8 Kilobyte oder länger sein können, enthalten. Generell werden die I/O-mapped Einheiten von I/O-Device-Treibern gehandhabt, die zu einer zusätzlichen Software-Latenz zu der bereits in dem Subsystem und dem zugehörigen Schnittstellen vorhandenen Hardware-Latenz führt.
  • Als eine memory-mapped Einheit erscheint das Subsystem dem Host und der Host-software als ein flaches Speicherabbild. Generell werden auf Speicher abgebildete Einheiten direkt als Speicher angesprochen, wobei die Latenz durch das Betriebssystem eliminiert wird. Ähnlich wie die I/O-mapped Schnittstelle erscheint das Subsystem gegenüber dem Host und der Host-Software als eine sektorbasierte Einheit. Zusätzlich kann die hierarchische Speichereinheit als memora-mapped Einheit wirken. Der memory-mapped Zugriff kann helfen, die durch die I/O-Device-Treiber und die Kontroller-Logik hervorgerufenen Verzögerungen zu unterbinden.
  • 3 zeigt die hierarchische Speichereinheit 100 in Kombination mit nichtflüchtigem Speicher in unterschiedlichen Konfigurationen gemäß der vorliegenden Erfindung. Im Halbleitergehäuse 302 sind die Ausgangs-Ports des hierarchischen Speichers 100 mit zwei NAND-Speicherchips verbunden, um eine Speicher-Kombination zu bilden, die insbesondere im Solid-State-Drive(SSD)-Design angewendet wird. Ein SSD-Datenspeicher benutzt Solid-State-Speicher, um persistente Daten zu speichern, wobei die Dichte der SSD weiter erhöht werden kann, indem weiterer NAND-Speicher unter Benutzung von mehreren Halbleitergehäusen 302 hinzugefügt wird. Weiterhin ist in der Figur ein Halbleitergehäuse 304 gezeigt, das den hierarchischen Speicher 100 mit einem RAM-Chip am selben Bus umfasst, wobei zwei NAND-Speicherchips mit den Ausgangs-Ports an der Rückseite des hierarchischen Speichers 100 verbunden sind.
  • Ein Halbleitergehäuse 306 zeigt wenigstens zwei hierarchische Speicherchips und einen damit gekoppelten RAM-Speicher an der Vorderseite, wobei mehrere NAND-Ports an der Rückseite vorhanden sind, an die, wie gezeigt, dichte NAND-Stacks angebunden werden können. Alternativ zeigt Halbleitergehäuse 308, dass zwei oder mehr hierarchische Speicherchips, ein oder mehrere RAM-Chips, und dichte NAND-Stacks, die an die NAND-Ports des hierarchischen Speichers angebunden sind, kombiniert werden können.
  • 4 zeigt, dass die Halbleitergehäuse 302, 304, 306 und 308, bei denen die Halbleiterchips auf ein Substrat montiert sind, das dann mit Bumps versehen werden kann, um entweder ein Chip-Scale-Package (CSP) oder ein Ball-Grid-Array (BGA) als endgültiges Halbleitergehäuse zu bilden. Die Halbleiterchips können side-by-side auf einem Substrat angeordnet werden oder sog. Die-Stacking-Techniken werden benutzt, um kleinere Halbleiterchips auf größeren Halbleiterchips zu montieren und das Wire-Bonding von beiden zu ermöglichen. Zur Unterstützung der Interconnects können die Halbleiterchips mit Thru-Silicon-Vias versehen werden und Die-to-die-Bonding kann angewendet werden. In der in der Figur gezeigten Ausführung sind zwei hierarchische Speichereinheiten 100 mit einem Stack aus NAND-Einheiten 402 umfasst. Ein RAM-Speicherchip kann auch in den Stack eingebunden werden. Zur weiteren Erhöhung der Speicherdichte und der Speicherbandbreite, die in einem gegebenen Size-Footprint zur Verfügung steht, kann die Package-on-Package (PoP)-Technik benutzt werden, um vertikal mehrere Halbleitergehäuse, wie beispielsweise NAND-Stack-Gehäuse mit dem hierarchischen Speicher zu verbinden.
  • Es sollte klar sein, dass die Ausführungen der vorliegenden Erfindung eine erhöhte Effizienz der Speicherung durch hierarchischen Datenspeicher gemäß den Merkmalen der vorliegenden Erfindung ermöglichen. Durch die hierarchischen Speichereinheiten mit einer Host-Schnittstelle können diese Einheiten mit einem Host-System verbunden werden. Innerhalb der hierarchischen Struktur und dem Speicher-Kontroller können eine Anzahl von Algorithmen zur Verwaltung der Performance und Zuverlässigkeit angewendet werden wie beispielsweise Wear-Leveling; Zwischenspeicherung (caching); Fehler-Detektion und Fehler-Korrektur; Bad Page Management, Bad Block Management; und Daten-Manipulation, um so eine optimale Speicherkapazität für die Speicherhierarchie zur Verfügung zu stellen. Somit ergibt sich eine hierarchische Speicherarchitektur durch Einfüngen von einer oder mehreren hierarchischen Speichereinheiten in ein Speichersystem.

Claims (25)

  1. Hierarchische Speichereinheit (100), umfassend: ein Phase-Change-Speicher(PCM)-Array (140); mehrere Schnittstellen mit unterschiedlichen Speicherformaten, wobei die mehreren Schnittstellen eine NAND-Schnittstelle (132) und eine Speicher-Schnittstelle (136) zu einer Massenspeichereinheit umfassen; wenigstens einen Prozessorkern (148) zum Ausführen von Multi-Core-NAND-Management und autonomen Computing Funktionen, wobei die NAND-Management Funktionen ausgestaltet sind zum Abgleichen von Daten-Input und/oder Daten-Output zwischen der NAND-Schnittstelle (132) und einem Pufferspeicher, der mit der NAND-Schnittstelle gekoppelt ist, wobei der Abgleich basiert auf extrahierten Steuer- und Betriebsinformationen, die empfangene Befehlssätze und Adressen von mit der hierarchischen Speichereinheit verbundenen Speichereinheiten beinhalten, wobei der wenigstens eine Prozessorkern (148) ferner ausgestaltet ist, die empfangenen Befehlssätze zu interpretieren und Speicher-Befehle auszusenden; und wenigstens einen Eingangs-Port und eine Mehrzahl von Ausgangs-Ports, so dass die hierarchische Speichereinheit gleichzeitig sowohl in einer Daisy-Chain-Hierarchie als auch in einer hierarchischen Baumstruktur mit anderen hierarchischen Speichereinheiten verbindbar ist und so dass Verkehr zwischen dem wenigstens einen Eingangs-Port und einem der Mehrzahl von Ausgangs-Ports geschaltet werden kann, um eine Roundtrip-Latenz zu einer untersten Schicht der hierarchischen Baumstruktur zu minimieren, wobei die Mehrzahl von Ausgangs-Ports ausgebildet ist, wenigstens mit einem NAND-Speicher extern zur hierarchischen Speichereinheit (100) kommunikativ verbunden zu sein, wobei die NAND-Schnittstelle (132) ausgebildet ist, Kommunikationen zwischen dem PCM-Array (140) und dem wenigsten einen NAND-Speicher so zu steuern, dass das PCM-Array (140) Daten zwischenspeichern kann, die es von dem wenigstens einen NAND-Speicher empfangen hat, wobei der wenigstens eine Eingangs-Port und die Mehrheit von Ausgangs-Ports durch den wenigstens einen Prozessorkern (148) konfigurierbar sind.
  2. Hierarchische Speichereinheit (100) gemäß Anspruch 1, wobei die mehreren Schnittstellen eine RAM-Schnittstelle (130), eine Netzwerkschnittstelle (134), eine Speicherschnittstelle (136) und eine Peripherie-Schnittstelle (138) umfassen.
  3. Hierarchische Speichereinheit (100) gemäß Anspruch 1, die konfigurierbar ist, um als eine I/O-mapped, memory-mapped, oder memory-mapped I/O Einheit betrieben zu werden.
  4. Hierarchische Speichereinheit (100) gemäß Anspruch 1, eingerichtet um den Verkehr in der Daisy-Chain-Hierarchie zu interpretieren, um festzustellen, ob der Verkehr für die hierarchische Speichereinheit oder für einen aufwärtigen/abwärtigen Knoten bestimmt ist.
  5. Hierarchische Speichereinheit (100) gemäß Anspruch 1, wobei der wenigstens eine Eingangs-Port ausgebildet ist, wenigstens mit einem RAM-Speicher extern zur hierarchischen Speichereinheit (100) kommunikativ verbunden zu sein.
  6. Hierarchische Speichereinheit (100) zur Benutzung in einem Speicher-Subsystem, umfassend: ein Phase-Change-Speicher(PCM)-Array (140); einen Prozessor-Kern (148), um Algorithmen für Wear-Leveling, Zwischenspeicherung, Fehlererkennung und -Korrektur, und Datenmanipulation zur Vorbehandlung von Speichersektionen, die einen langsameren Zustand haben, zur Verwaltung von Leistungsfähigkeit und Zuverlässigkeit auszuführen; wenigstens einen Eingangs-Port und wenigstens einen Ausgangs-Port, um die hierarchische Speichereinheit (100) in einer Daisy-Chain-Hierarchie oder in einer hierarchischen Baumstruktur zu verbinden, wobei der wenigstens eine Ausgangs-Port ausgebildet ist, mit wenigstens einem NAND-Speicher extern zur hierarchischen Speichereinheit (100) kommunikativ verbunden zu sein; und eine NAND-Schnittstelle (132), die ausgebildet ist, Kommunikationen zwischen dem PCM-Array (140) und dem wenigsten einen NAND-Speicher so zu steuern, dass das PCM-Array (140) Daten zwischenspeichern kann, die es von dem wenigstens einen NAND-Speicher empfangen hat, wobei der Prozessor-Kern (148) ferner ausgebildet ist zum Ausführen von Multi-Core-NAND-Management und autonomen Computing Funktionen, wobei die NAND-Management Funktionen ausgestaltet sind zum Abgleichen von Daten-Input und/oder Daten-Output zwischen der NAND-Schnittstelle (132) und einem Pufferspeicher, der mit der NAND-Schnittstelle gekoppelt ist, wobei der Abgleich basiert auf extrahierten Steuer- und Betriebsinformationen, die empfangene Befehlssätze und Adressen von mit der hierarchischen Speichereinheit verbundenen Speichereinheiten beinhalten, wobei der wenigstens eine Prozessorkern (148) ferner ausgestaltet ist, die empfangenen Befehlssätze zu interpretieren und Speicher-Befehle auszusenden, wobei die Befehlssätze „copy” und „move” Befehle umfassen.
  7. Hierarchische Speichereinheit (100) gemäß Anspruch 6, wobei die hierarchische Speichereinheit als sektorbasierte Einheit betrieben wird.
  8. Hierarchische Speichereinheit (100) gemäß Anspruch 6, wobei die hierarchische Speichereinheit mit anderen hierarchischen Speichereinheiten in einer Daisy-Chain-Konfiguration verbunden ist.
  9. Hierarchische Speichereinheit (100) gemäß Anspruch 6, wobei die hierarchische Speichereinheit mit anderen hierarchischen Speichereinheiten in einer Baumstruktur verbunden ist.
  10. Hierarchische Speichereinheit (100) gemäß Anspruch 6, wobei die hierarchische Speichereinheit konfigurierbar ist, um als eine I/O-mapped, memory-mapped, oder memorymapped I/O Einheit betrieben zu werden.
  11. Hierarchische Speichereinheit (100) mit einem Pufferspeicher, umfassend: ein Phase-Change-Speicher(PCM)-Array (140); eine RAM-Schnittstelle (130); eine NAND-Schnittstelle (132) zur Extraktion von Befehlsinformation, um basierend auf dem Befehl eine Datenrate zwischen der NAND-Schnittstelle (132) und dem Pufferspeicher anzupassen, wobei die NAND-Schnittstelle (132) ausgebildet ist, Kommunikationen zwischen dem PCM-Array (140) und wenigsten einen NAND-Speicher extern zu der hierarchischen Speichereinheit (100) so zu steuern, dass das PCM-Array (140) Daten zwischenspeichern kann, die es von dem wenigstens einen NAND-Speicher empfangen hat, und wobei die NAND-Schnittstelle (132) ferner ausgebildet ist, mit einem Ausgangs-Port der hierarchischen Speichereinheit (100) zu koppeln; eine Netzwerkschnittstelle (134) zur Unterstützung von Signalisierungsraten und Datenpaket-Übertragungen über Kommunikationsverbindungen; wenigstens einen Prozessorkern (148) zum Ausführen von Multi-Core-NAND-Management und autonomen Computing Funktionen, wobei die NAND-Management Funktionen ausgestaltet sind zum Abgleichen von Daten-Input und/oder Daten-Output zwischen der NAND-Schnittstelle (132) und einem Pufferspeicher, der mit der NAND-Schnittstelle gekoppelt ist, wobei der Abgleich basiert auf extrahierten Steuer- und Betriebsinformationen, die empfangene Befehlssätze und Adressen von mit der hierarchischen Speichereinheit verbundenen Speichereinheiten beinhalten, wobei der wenigstens eine Prozessorkern (148) ferner ausgestaltet ist, die empfangenen Befehlssätze zu interpretieren und Speicher-Befehle auszusenden; und eine Speicherschnittstelle (136).
  12. Hierarchische Speichereinheit (100) gemäß Anspruch 11, wobei die RAM-Schnittstelle (130) eine Kommunikation zwischen einem Host und der Speichereinheit als ein Double-Data-Rate Random Access Memory(DDR RAM)-Speicher zur Verfügung stellt.
  13. Hierarchische Speichereinheit (100) gemäß Anspruch 11, wobei die RAM-Schnittstelle (130) eine Kommunikation zwischen einem Host und der Speichereinheit als ein Double-Data-Rate drei Synchronous Dynamic Random Access Memory (DDR3 SDRAM)-Speicher zur Verfügung stellt.
  14. Hierarchische Speichereinheit (100) gemäß Anspruch 11, wobei die RAM-Schnittstelle (130) eine Low Power Double-Data-Rate(LPDDR)-Schnittstelle mit reduzierter Leistung darstellt.
  15. Hierarchische Speichereinheit (100) gemäß Anspruch 11, wobei die NAND-Schnittstelle (132) sektorbasiert arbeitet.
  16. Hierarchische Speichereinheit (100) gemäß Anspruch 11, wobei die Netzwerkschnittstelle (134) ein Ethernet-Protokoll unterstützt.
  17. Hierarchische Speichereinheit (100) gemäß Anspruch 11, wobei die Netzwerkschnittstelle (134) eine InfiniBand point-to-point bidierctional serielle Verbindung unterstützt.
  18. Hierarchische Speichereinheit (100) gemäß Anspruch 11, wobei die Netzwerkschnittstelle (134) Kommunikationsverbindungen nach dem 802.11-Standard unterstützt.
  19. Hierarchische Speichereinheit (100) gemäß Anspruch 11, wobei die Speicherschnittstelle (136) eine Serial ATA(SATA)-Speicherschnittstelle ist, die Kommunikation zwischen einem Hostbus und Massenspeichereinheiten erlaubt.
  20. Hierarchische Speichereinheit (100) gemäß Anspruch 11, wobei die Speicherschnittstelle (136) eine point-to-point serielle Serial-Attached SCSI(SAS)-Schnittstelle zur Verbindung von einer Speichereinheit und einem Plattenlaufwerk ist.
  21. Hierarchische Speichereinheit (100) gemäß Anspruch 11, wobei die Speicherschnittstelle (136) ein Fibre-Channel Protokoll (FCP) unterstützt.
  22. Hierarchische Speichereinheit (100) gemäß Anspruch 11, ferner umfassend eine Peripherie-Schnittstelle (138).
  23. Gekapselte Speichereinheit, umfassend: wenigstens einen hierarchischen Speicher (100), aufweisend Phase-Change-Speicher(PCM)-Arrays (140), mehrere Ausgangs-Ports und mehrere Schnittstellen zur Handhabung von unterschiedlichen Speicherformaten umfassend eine NAND-Schnittstelle (132); wenigstens einen NAND-Speicher extern zu der wenigstens einen hierarchischen Speichereinheit (100) und verbunden mit einem entsprechenden Ausgangs-Port der mehreren Ausgangs-Ports des hierarchischen Speichers (100), wobei die NAND-Schnittstelle (132) ausgebildet ist, Kommunikationen zwischen den PCM-Arrays (140) und dem wenigstens einen NAND-Speicher so zu steuern, dass die PCM-Arrays (140) Daten zwischenspeichern können, die sie von dem wenigstens einen NAND-Speicher empfangen haben; und wenigstens einen Prozessorkern (148) zum Ausführen von Multi-Core-NAND-Management und autonomen Computing Funktionen, wobei die NAND-Management Funktionen ausgestaltet sind zum Abgleichen von Daten-Input und/oder Daten-Output zwischen der NAND-Schnittstelle (132) und einem Pufferspeicher, der mit der NAND-Schnittstelle gekoppelt ist, wobei der Abgleich basiert auf extrahierten Steuer- und Betriebsinformationen, die empfangene Befehlssätze und Adressen von mit der hierarchischen Speichereinheit verbundenen Speichereinheiten beinhalten, wobei der wenigstens eine Prozessorkern (148) ferner ausgestaltet ist, die empfangenen Befehlssätze zu interpretieren und Speicher-Befehle auszusenden.
  24. Gekapselte Speichereinheit gemäß Anspruch 23, weiter umfassend einen Random Access Memory(RAM)-Speicher, der mit der hierarchischen Speichereinheit (100) gemeinsame Adress- und Daten-Ports aufweist.
  25. Gekapselte Speichereinheit gemäß Anspruch 23 oder Anspruch 24, umfassend: einen ersten und einen zweiten hierarchischen Speicher (100), jeder aufweisend Phase-Change-Speicher(PCM)-Arrays (140), mehrere Schnittstellen zur Handhabung von unterschiedlichen Speicherformaten und Ausgangs-Ports; einen ersten und einen zweiten NAND-Speicher, die mit den Ausgangs-Ports des ersten hierarchischen Speichers verbunden sind; und einen dritten und einen vierten NAND-Speicher, die mit den Ausgangs-Ports des zweiten hierarchischen Speichers verbunden sind.
DE102009037984.3A 2009-06-11 2009-08-19 Speichereinheit für eine hierarchische Speicherarchitektur Active DE102009037984B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/483,198 2009-06-11
US12/483,198 US9123409B2 (en) 2009-06-11 2009-06-11 Memory device for a hierarchical memory architecture

Publications (2)

Publication Number Publication Date
DE102009037984A1 DE102009037984A1 (de) 2010-12-16
DE102009037984B4 true DE102009037984B4 (de) 2017-10-19

Family

ID=43069944

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102009037984.3A Active DE102009037984B4 (de) 2009-06-11 2009-08-19 Speichereinheit für eine hierarchische Speicherarchitektur

Country Status (5)

Country Link
US (4) US9123409B2 (de)
JP (1) JP5566650B2 (de)
KR (1) KR101557624B1 (de)
CN (1) CN101923447B (de)
DE (1) DE102009037984B4 (de)

Families Citing this family (91)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9741398B1 (en) 2009-05-08 2017-08-22 Micron Technology, Inc. Using out-of-band signaling to communicate with daisy chained nonvolatile memories
US8331857B2 (en) * 2009-05-13 2012-12-11 Micron Technology, Inc. Wireless interface to program phase-change memories
US9123409B2 (en) 2009-06-11 2015-09-01 Micron Technology, Inc. Memory device for a hierarchical memory architecture
US8516166B2 (en) * 2009-07-20 2013-08-20 Lsi Corporation System, method, and computer program product for reducing a rate of data transfer to at least a portion of memory
US20110242427A1 (en) * 2010-04-01 2011-10-06 Timothy Ramsdale Method and System for Providing 1080P Video With 32-Bit Mobile DDR Memory
US20120117303A1 (en) 2010-11-04 2012-05-10 Numonyx B.V. Metadata storage associated with flash translation layer
US8880817B2 (en) * 2010-12-16 2014-11-04 Dell Products L.P. Storage subsystem backplane management system
US8595415B2 (en) * 2011-02-02 2013-11-26 Micron Technology, Inc. At least semi-autonomous modules in a memory system and methods
US8576570B2 (en) * 2011-03-21 2013-11-05 NCS Technologies, Inc. Adaptive computing system with modular control, switching, and power supply architecture
US8607089B2 (en) 2011-05-19 2013-12-10 Intel Corporation Interface for storage device access over memory bus
KR20120137051A (ko) * 2011-06-10 2012-12-20 삼성전자주식회사 솔리드 스테이트 드라이브 패키지 및 그의 제조 방법
JP5694101B2 (ja) * 2011-09-20 2015-04-01 株式会社東芝 メモリ・デバイス、ホスト・デバイス
US9294224B2 (en) 2011-09-28 2016-03-22 Intel Corporation Maximum-likelihood decoder in a memory controller for synchronization
CN103946826B (zh) 2011-09-30 2019-05-31 英特尔公司 用于在公共存储器通道上实现多级存储器层级的设备和方法
EP2761466B1 (de) 2011-09-30 2020-08-05 Intel Corporation Vorrichtung und verfahren zur implementierung einer mehrstufigen speicherhierarchie
EP2761469B1 (de) 2011-09-30 2019-11-13 Intel Corporation Nichtflüchtiger direktzugriffsspeicher (nvram) als ersatz für herkömmlichen massenspeicher
EP2761476B1 (de) 2011-09-30 2017-10-25 Intel Corporation Vorrichtung, verfahren und system zur bios-speicherung in einer nichtflüchtige ram-speicherzelle
EP2761472B1 (de) 2011-09-30 2020-04-01 Intel Corporation Speicherkanal zur unterstützung von nah- und fern-speicherzugriffen
WO2013048467A1 (en) 2011-09-30 2013-04-04 Intel Corporation Generation of far memory access signals based on usage statistic tracking
CN103946814B (zh) 2011-09-30 2017-06-06 英特尔公司 计算机系统中的非易失性随机存取存储器的自主初始化
CN103946811B (zh) 2011-09-30 2017-08-11 英特尔公司 用于实现具有不同操作模式的多级存储器分级结构的设备和方法
CN103946824B (zh) 2011-11-22 2016-08-24 英特尔公司 一种用于非易失性随机访问存储器的访问控制方法、装置及系统
WO2013089686A1 (en) 2011-12-13 2013-06-20 Intel Corporation A method and system for providing instant responses to sleep state transitions with non-volatile random access memory
WO2013089685A1 (en) 2011-12-13 2013-06-20 Intel Corporation Enhanced system sleep state support in servers using non-volatile random access memory
US9286205B2 (en) 2011-12-20 2016-03-15 Intel Corporation Apparatus and method for phase change memory drift management
KR101915073B1 (ko) 2011-12-20 2018-11-06 인텔 코포레이션 2-레벨 메모리 계층구조에서 메모리측 캐쉬의 동적인 부분적 전원 차단
US9448922B2 (en) 2011-12-21 2016-09-20 Intel Corporation High-performance storage structures and systems featuring multiple non-volatile memories
WO2013095530A1 (en) 2011-12-22 2013-06-27 Intel Corporation Efficient pcms refresh mechanism background
DE112011106032B4 (de) 2011-12-22 2022-06-15 Intel Corporation Energieeinsparung durch Speicherkanal-Abschaltung
WO2013097105A1 (en) 2011-12-28 2013-07-04 Intel Corporation Efficient dynamic randomizing address remapping for pcm caching to improve endurance and anti-attack
US9841920B2 (en) 2011-12-29 2017-12-12 Intel Corporation Heterogeneous memory die stacking for energy efficient computing
CN104011691B (zh) 2011-12-29 2016-12-14 英特尔公司 非易失性ram盘
CN104126181A (zh) * 2011-12-30 2014-10-29 英特尔公司 作为随机存取存储器的非易失性半导体存储装置的系统存取的薄变换
CN106469029B (zh) * 2011-12-31 2019-07-23 华为数字技术(成都)有限公司 数据分层存储处理方法、装置和存储设备
US8832506B2 (en) * 2012-01-20 2014-09-09 International Business Machines Corporation Bit error rate based wear leveling for solid state drive memory
US20130262942A1 (en) * 2012-03-27 2013-10-03 Yung-Chiang Chu Flash memory lifetime evaluation method
KR20130114354A (ko) 2012-04-09 2013-10-18 삼성전자주식회사 메모리 시스템 및 컨트롤러의 동작 방법
US9323608B2 (en) 2012-06-07 2016-04-26 Micron Technology, Inc. Integrity of a data bus
US9009570B2 (en) 2012-06-07 2015-04-14 Micron Technology, Inc. Integrity of an address bus
US9152428B2 (en) 2012-09-28 2015-10-06 Intel Corporation Alternative boot path support for utilizing non-volatile memory devices
US9032177B2 (en) 2012-12-04 2015-05-12 HGST Netherlands B.V. Host read command return reordering based on time estimation of flash read command completion
US9093170B2 (en) * 2013-03-01 2015-07-28 Intel Corporation Multi-level cell (MLC) non-volatile memory data reading method and apparatus
US9324450B2 (en) * 2013-03-13 2016-04-26 Winbond Electronics Corporation NAND flash memory
US9042198B2 (en) 2013-03-21 2015-05-26 Yutaka Shirai Nonvolatile random access memory
JP6070357B2 (ja) 2013-03-28 2017-02-01 富士通株式会社 ストレージ装置
US10599433B2 (en) * 2013-07-15 2020-03-24 Texas Instruments Incorported Cache management operations using streaming engine
CN103500147A (zh) * 2013-09-27 2014-01-08 浪潮电子信息产业股份有限公司 一种嵌入分层存储的pb级集群存储系统的方法
CN103810118B (zh) * 2014-02-28 2016-08-17 北京航空航天大学 一种stt-mram缓存设计方法
US10204047B2 (en) 2015-03-27 2019-02-12 Intel Corporation Memory controller for multi-level system memory with coherency unit
US10387259B2 (en) 2015-06-26 2019-08-20 Intel Corporation Instant restart in non volatile system memory computing systems with embedded programmable data checking
US10073659B2 (en) 2015-06-26 2018-09-11 Intel Corporation Power management circuit with per activity weighting and multiple throttle down thresholds
US10108549B2 (en) 2015-09-23 2018-10-23 Intel Corporation Method and apparatus for pre-fetching data in a system having a multi-level system memory
US10261901B2 (en) 2015-09-25 2019-04-16 Intel Corporation Method and apparatus for unneeded block prediction in a computing system having a last level cache and a multi-level system memory
US10185501B2 (en) 2015-09-25 2019-01-22 Intel Corporation Method and apparatus for pinning memory pages in a multi-level system memory
US9792224B2 (en) 2015-10-23 2017-10-17 Intel Corporation Reducing latency by persisting data relationships in relation to corresponding data in persistent memory
US10033411B2 (en) 2015-11-20 2018-07-24 Intel Corporation Adjustable error protection for stored data
US10095618B2 (en) 2015-11-25 2018-10-09 Intel Corporation Memory card with volatile and non volatile memory space having multiple usage model configurations
US9747041B2 (en) 2015-12-23 2017-08-29 Intel Corporation Apparatus and method for a non-power-of-2 size cache in a first level memory device to cache data present in a second level memory device
US10007606B2 (en) 2016-03-30 2018-06-26 Intel Corporation Implementation of reserved cache slots in computing system having inclusive/non inclusive tracking and two level system memory
US10185619B2 (en) 2016-03-31 2019-01-22 Intel Corporation Handling of error prone cache line slots of memory side cache of multi-level system memory
US10120806B2 (en) 2016-06-27 2018-11-06 Intel Corporation Multi-level system memory with near memory scrubbing based on predicted far memory idle time
KR102612003B1 (ko) * 2016-07-11 2023-12-08 삼성전자주식회사 솔리드 스테이트 드라이브 장치 및 이를 포함하는 저장 시스템
US10698732B2 (en) * 2016-07-19 2020-06-30 Sap Se Page ranking in operating system virtual pages in hybrid memory systems
US10783146B2 (en) 2016-07-19 2020-09-22 Sap Se Join operations in hybrid main memory systems
US10474557B2 (en) 2016-07-19 2019-11-12 Sap Se Source code profiling for line-level latency and energy consumption estimation
US10387127B2 (en) 2016-07-19 2019-08-20 Sap Se Detecting sequential access data and random access data for placement on hybrid main memory for in-memory databases
US11977484B2 (en) 2016-07-19 2024-05-07 Sap Se Adapting in-memory database in hybrid memory systems and operating system interface
US10540098B2 (en) 2016-07-19 2020-01-21 Sap Se Workload-aware page management for in-memory databases in hybrid main memory systems
KR102656189B1 (ko) 2016-07-19 2024-04-11 삼성전자주식회사 직렬로 연결되는 스토리지 장치들 중 직접 연결되지 않은 스토리지 장치를 제어하도록 구성되는 전자 장치, 그것에 포함되는 스토리지 장치, 그것을 포함하는 컴퓨팅 시스템, 및 스토리지 장치의 컨트롤러의 동작 방법
US10437798B2 (en) 2016-07-19 2019-10-08 Sap Se Full system simulator and memory-aware splay tree for in-memory databases in hybrid memory systems
US10452539B2 (en) 2016-07-19 2019-10-22 Sap Se Simulator for enterprise-scale simulations on hybrid main memory systems
US20180175772A1 (en) * 2016-12-21 2018-06-21 Rockwell Automation Technologies, Inc. Motor drive with multi-function high speed communications interface
US10915453B2 (en) 2016-12-29 2021-02-09 Intel Corporation Multi level system memory having different caching structures and memory controller that supports concurrent look-up into the different caching structures
US10445261B2 (en) 2016-12-30 2019-10-15 Intel Corporation System memory having point-to-point link that transports compressed traffic
US10304814B2 (en) 2017-06-30 2019-05-28 Intel Corporation I/O layout footprint for multiple 1LM/2LM configurations
US11010379B2 (en) 2017-08-15 2021-05-18 Sap Se Increasing performance of in-memory databases using re-ordered query execution plans
US11188467B2 (en) 2017-09-28 2021-11-30 Intel Corporation Multi-level system memory with near memory capable of storing compressed cache lines
US10585598B2 (en) 2017-09-29 2020-03-10 Hewlett Packard Enterprise Development Lp Modifying accessibility based on memory access patterns
US10866899B2 (en) * 2017-10-02 2020-12-15 Arm Ltd Method and apparatus for control of a tiered memory system
US10860244B2 (en) 2017-12-26 2020-12-08 Intel Corporation Method and apparatus for multi-level memory early page demotion
US11099995B2 (en) 2018-03-28 2021-08-24 Intel Corporation Techniques for prefetching data to a first level of memory of a hierarchical arrangement of memory
US10977198B2 (en) * 2018-09-12 2021-04-13 Micron Technology, Inc. Hybrid memory system interface
US10607712B1 (en) * 2018-09-28 2020-03-31 Toshiba Memory Corporation Media error reporting improvements for storage drives
US11449268B2 (en) * 2018-11-20 2022-09-20 Samsung Electronics Co., Ltd. Deep solid state device (deep-SSD): a neural network based persistent data storage
US11055228B2 (en) 2019-01-31 2021-07-06 Intel Corporation Caching bypass mechanism for a multi-level memory
WO2020220556A1 (en) 2019-04-30 2020-11-05 Yangtze Memory Technologies Co., Ltd. Three-dimensional memory device with three-dimensional phase-change memory
US11416422B2 (en) * 2019-09-17 2022-08-16 Micron Technology, Inc. Memory chip having an integrated data mover
CN110914994B (zh) * 2019-10-14 2021-05-25 长江存储科技有限责任公司 用于形成三维相变存储器件的方法
KR20220066741A (ko) 2020-11-16 2022-05-24 삼성전자주식회사 스토리지 장치 및 그 동작 방법
KR20220077400A (ko) 2020-12-02 2022-06-09 삼성전자주식회사 메모리 장치, 메모리 시스템 및 이의 동작 방법
US20230396272A1 (en) * 2022-06-02 2023-12-07 Micron Technology, Inc. Error correction

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5924115A (en) * 1996-03-29 1999-07-13 Interval Research Corporation Hierarchical memory architecture for a programmable integrated circuit having an interconnect structure connected in a tree configuration
US20080229026A1 (en) * 2007-03-15 2008-09-18 Taiwan Semiconductor Manufacturing Co., Ltd. System and method for concurrently checking availability of data in extending memories
WO2008121559A1 (en) * 2007-03-30 2008-10-09 Rambus Incorporated System including hierarchical memory modules having different types of integrated circuit memory devices

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1031992B1 (de) * 1989-04-13 2006-06-21 SanDisk Corporation EEprom-System mit Blocklöschung
US5696917A (en) * 1994-06-03 1997-12-09 Intel Corporation Method and apparatus for performing burst read operations in an asynchronous nonvolatile memory
US5504882A (en) * 1994-06-20 1996-04-02 International Business Machines Corporation Fault tolerant data storage subsystem employing hierarchically arranged controllers
US6073209A (en) * 1997-03-31 2000-06-06 Ark Research Corporation Data storage controller providing multiple hosts with access to multiple storage subsystems
KR100578143B1 (ko) 2004-12-21 2006-05-10 삼성전자주식회사 버퍼 메모리에 저장된 데이터를 무효화시키는 스킴을 갖는저장 시스템 및 그것을 포함한 컴퓨팅 시스템
JP2006338370A (ja) 2005-06-02 2006-12-14 Toshiba Corp メモリシステム
US7685392B2 (en) 2005-11-28 2010-03-23 International Business Machines Corporation Providing indeterminate read data latency in a memory system
JP4942446B2 (ja) 2006-10-11 2012-05-30 株式会社日立製作所 ストレージ装置及びその制御方法
CN101681282A (zh) 2006-12-06 2010-03-24 弗森多系统公司(dba弗森-艾奥) 用于共享的、前端、分布式raid的装置、系统和方法
JP4897524B2 (ja) 2007-03-15 2012-03-14 株式会社日立製作所 ストレージシステム及びストレージシステムのライト性能低下防止方法
US20080270811A1 (en) * 2007-04-26 2008-10-30 Super Talent Electronics Inc. Fast Suspend-Resume of Computer Motherboard Using Phase-Change Memory
US7822936B2 (en) 2007-06-27 2010-10-26 International Business Machines Corporation Memory chip for high capacity memory subsystem supporting replication of command data
US8037258B2 (en) * 2007-06-27 2011-10-11 International Business Machines Corporation Structure for dual-mode memory chip for high capacity memory subsystem
US8140739B2 (en) * 2008-08-08 2012-03-20 Imation Corp. Flash memory based storage devices utilizing magnetoresistive random access memory (MRAM) to store files having logical block addresses stored in a write frequency file buffer table
US9123409B2 (en) 2009-06-11 2015-09-01 Micron Technology, Inc. Memory device for a hierarchical memory architecture

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5924115A (en) * 1996-03-29 1999-07-13 Interval Research Corporation Hierarchical memory architecture for a programmable integrated circuit having an interconnect structure connected in a tree configuration
US20080229026A1 (en) * 2007-03-15 2008-09-18 Taiwan Semiconductor Manufacturing Co., Ltd. System and method for concurrently checking availability of data in extending memories
WO2008121559A1 (en) * 2007-03-30 2008-10-09 Rambus Incorporated System including hierarchical memory modules having different types of integrated circuit memory devices

Also Published As

Publication number Publication date
JP2010287203A (ja) 2010-12-24
US10031879B2 (en) 2018-07-24
DE102009037984A1 (de) 2010-12-16
US10725956B2 (en) 2020-07-28
US20100318718A1 (en) 2010-12-16
KR20100133288A (ko) 2010-12-21
US20180322085A1 (en) 2018-11-08
US20150370750A1 (en) 2015-12-24
US9123409B2 (en) 2015-09-01
US9626327B2 (en) 2017-04-18
US20170220516A1 (en) 2017-08-03
CN101923447A (zh) 2010-12-22
CN101923447B (zh) 2013-04-24
JP5566650B2 (ja) 2014-08-06
KR101557624B1 (ko) 2015-10-06

Similar Documents

Publication Publication Date Title
DE102009037984B4 (de) Speichereinheit für eine hierarchische Speicherarchitektur
DE102020125046A1 (de) Konfigurationsschnittstelle zum auslagern von fähigkeiten an eine netzwerkschnittstelle
DE112020005060T5 (de) Ratengrenze für den übergang von zonen zum öffnen
DE112017003334T5 (de) Lastreduzierte nichtflüchtige speicherschnittstelle
DE102009026178A1 (de) Mehrstufiger Controller mit intelligentem Speicher-Transfer-Manager zum Verschachteln mehrfacher Ein-Chip-Flash-Speichereinheiten
DE102010013388A1 (de) Hierarchische Speichervorrichtung zur Verbindung von Massenspeichern
DE102011086227A1 (de) Adress mapping method, data storage device and user device
DE102020116362B3 (de) Dynamische zuweisung von unterblöcken
DE112011103208T5 (de) Hochgeschwindigkeits-Speichersystem
DE112011106013T5 (de) System und Verfahren für den intelligenten Datentransfer von einem Prozessor in ein Speicheruntersystem
DE102016204283A1 (de) Datenspeichervorrichtungen, Datenverarbeitungssysteme, die diese aufweisen, Verfahren zum Betreiben und Verfahren zum Herstellen derselben.
DE112020005044T5 (de) Zonenanhang-befehlsplanung basierend auf zonenzustand
DE102020211544A1 (de) Steuerung, betriebsverfahren der steuerung und speichergerät mit derselben
DE102021122233A1 (de) Beschleuniger-controller-hub
DE112020005395T5 (de) Kapazitätserweiterung für speicher-untersysteme
DE102020119400A1 (de) Techniken zum setzen eines 2-ebenen-auto-schliess-timers zum zugriff auf eine speichervorrichtung
DE112020000159T5 (de) Systeme und verfahren zum definieren von speicher-unterblöcken
CN104409099A (zh) 基于FPGA的高速eMMC阵列控制器
DE112021001848T5 (de) Mehrere pinkonfigurationen von speichervorrichtungen
WO2021179164A1 (en) Maintaining queues for memory sub-systems
DE112019005506T5 (de) Systeme und verfahren zum finden einer letzten guten seite in einem offenen nand-block
US11809710B2 (en) Outstanding transaction monitoring for memory sub-systems
DE112022000518T5 (de) Implizierte streams
DE112020004975T5 (de) SPEICHERUNGSVORRICHTUNGEN MIT MINIMALEN SCHREIBGRÖßEN VON DATEN
US10725857B2 (en) Data storage system for improving data throughput and decode capabilities

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8127 New person/name/address of the applicant

Owner name: NUMONYX B.V., ROLLE, CH

8181 Inventor (new situation)

Inventor name: LEINWANDER, MARK, FOLSOM, CALIF., US

Inventor name: EILERT, SEAN, PENRYN., CALIF., US

R081 Change of applicant/patentee

Owner name: MICRON TECHNOLOGY, INC., BOISE, US

Free format text: FORMER OWNER: SEAN EILERT,MARK LEINWANDER, , US

Effective date: 20110311

Owner name: MICRON TECHNOLOGY, INC., BOISE, US

Free format text: FORMER OWNERS: EILERT, SEAN, PENRYN, CALIF., US; LEINWANDER, MARK, FOLSOM, CALIF., US

Effective date: 20110311

R082 Change of representative

Representative=s name: SAMSON & PARTNER, PATENTANWAELTE, 80538 MUENCHEN,

Representative=s name: SAMSON & PARTNER, PATENTANWAELTE, DE

R081 Change of applicant/patentee

Owner name: MICRON TECHNOLOGY, INC., BOISE, US

Free format text: FORMER OWNER: NUMONYX B.V., ROLLE, CH

Effective date: 20120521

Owner name: MICRON TECHNOLOGY, INC., US

Free format text: FORMER OWNER: NUMONYX B.V., ROLLE, CH

Effective date: 20120521

R082 Change of representative

Representative=s name: SAMSON & PARTNER PATENTANWAELTE MBB, DE

Effective date: 20120521

Representative=s name: SAMSON & PARTNER, PATENTANWAELTE, DE

Effective date: 20120521

R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final