DE102020115747A1 - Speichermodul, Fehlerkorrekturverfahren für Speicher-Controller, der dieses steuert, und Rechensystem, das dieses umfasst - Google Patents

Speichermodul, Fehlerkorrekturverfahren für Speicher-Controller, der dieses steuert, und Rechensystem, das dieses umfasst Download PDF

Info

Publication number
DE102020115747A1
DE102020115747A1 DE102020115747.9A DE102020115747A DE102020115747A1 DE 102020115747 A1 DE102020115747 A1 DE 102020115747A1 DE 102020115747 A DE102020115747 A DE 102020115747A DE 102020115747 A1 DE102020115747 A1 DE 102020115747A1
Authority
DE
Germany
Prior art keywords
memory
address
data
chip
bits
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.)
Pending
Application number
DE102020115747.9A
Other languages
English (en)
Inventor
Wonhyung Song
Taekwoon Kim
Hosung Yoon
YooJung LEE
Jangseok Choi
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of DE102020115747A1 publication Critical patent/DE102020115747A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • G06F11/1016Error in accessing a memory location, i.e. addressing error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1072Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in multilevel memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • G06F11/1679Temporal synchronisation or re-synchronisation of redundant processing components at clock signal level
    • 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/0284Multiple user address space allocation, e.g. using different base addresses
    • 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/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0615Address space extension
    • G06F12/0623Address space extension for memory modules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1004Compatibility, e.g. with legacy hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7204Capacity control, e.g. partitioning, end-of-life degradation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7208Multiple device management, e.g. distributing data over multiple flash devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

Ein Speichermodul umfasst erste Speicher-Chips (110), die jeweils eine erste Eingabe/Ausgabe-Breite aufweisen und eingerichtet sind, Daten zu speichern, einen zweiten Speicher-Chip (120), der eine zweite Eingabe/Ausgabe-Breite aufweist und eingerichtet ist, einen Fehlerkorrekturcode zum Korrigieren eines Fehlers in den Daten zu speichern, und eine Treiberschaltung, die eingerichtet ist, ein Taktsignal (CK), einen Befehl und eine Adresse von einem Speicher-Controller zu empfangen und das Taktsignal (CK), den Befehl und die Adresse an die ersten Speicher-Chips (110) und den zweiten Speicher-Chip (120) zu übertragen. Eine Adresstiefe von jedem der ersten Speicher-Chips (110) und eine Adresstiefe des zweiten Speicher-Chips (120) unterscheiden sich voneinander.

Description

  • HINTERGRUND
  • Technisches Gebiet
  • Die vorliegende Offenbarung betrifft ein Speichermodul, ein Fehlerkorrekturverfahren eines Speicher-Controllers, der das Speichermodul steuert, und ein Rechensystem, das das Speichermodul umfasst.
  • Beschreibung des Stands der Technik
  • Daten können gemeinsam mit einem Fehlerkorrekturcode (ECC) in einem Speicher eines Speichersystems gespeichert werden. Falls die Daten später einen oder mehrere Fehler entwickeln, kann der entsprechende ECC verwendet werden, um die Fehler potentiell zu korrigieren. Beispiele für den ECC umfassen Blockcodes und Faltungscodes.
  • Ein Speicher-Controller oder andere Logik des Speichersystems kann eine Fehlererfassung bei den Daten und eine Korrektur der Daten unter Verwendung eines oder mehrerer ECCs durchführen. Die Logik, die sich auf einem Chip befindet, kann als On-Die-ECC-Schaltung bezeichnet werden. Herkömmliche Speicherarchitekturen für die On-Die-ECC-Schaltung umfassen eine 4 Bit breite Schnittstelle (d. h. x4-Schnittstelle), eine 8 Bit breite Schnittstelle (d. h. x8-Schnittstelle) oder eine 16 Bit breite Schnittstelle (d. h. x16-Schnittstelle). Die Konstruktion und Anzahl an erforderlichen ECC-Bits zur Implementierung von ECC werden hauptsächlich durch die Speicherarchitektur bestimmt.
  • KURZFASSUNG
  • Beispielhafte Ausführungsformen des erfinderischen Konzepts schaffen ein Speichermodul, das zur Verbesserung einer Fehlerkorrekturfähigkeit eingerichtet ist, während Verschlechterungen der Leistung verhindert werden, ein Fehlerkorrekturverfahren eines Speicher-Controllers, der zum Steuern des Speichermoduls eingerichtet ist, und ein Rechensystem, welches das Speichermodul umfasst.
  • Gemäß einer beispielhaften Ausführungsform des erfinderischen Konzepts umfasst ein Speichermodul erste Speicher-Chips, die jeweils eine erste Eingabe/Ausgabe-Breite haben und die derart eingerichtet sind, dass sie Daten speichern, einen zweiten Speicher-Chip, der eine zweite Eingabe/Ausgabe-Breite hat und der derart eingerichtet ist, dass er einen Fehlerkorrekturcode, um einen Fehler in den Daten zu korrigieren, speichert, und eine Treiberschaltung, die derart eingerichtet ist, dass sie ein Taktsignal, einen Befehl und eine Adresse von einem Speicher-Controller empfängt und dass sie das Taktsignal, den Befehl und die Adresse an die ersten Speicher-Chips und den zweiten Speicher-Chip überträgt. Eine Adresstiefe jedes der ersten Speicher-Chips und eine Adresstiefe des zweiten Speicher-Chips unterscheiden sich voneinander.
  • Gemäß einer beispielhaften Ausführungsform des erfinderischen Konzepts umfasst ein Speichermodul einen ersten Sub-Kanal, einen zweiten Sub-Kanal, und eine Treiberschaltung, die derart eingerichtet ist, dass sie ein Taktsignal, erste und zweite Befehle und eine Adresse von einem Speicher-Controller empfängt und dass sie das Taktsignal, den ersten Befehl und die Adresse an den ersten Sub-Kanal überträgt und das Taktsignal, den zweiten Befehl und die Adresse an den zweiten Sub-Kanal überträgt. Sowohl der erste als auch der zweite Sub-Kanal umfassen erste Speicher-Chips, die jeweils eine erste Eingabe/Ausgabe-Breite aufweisen und derart eingerichtet sind, dass sie Daten speichern, und einen zweiten Speicher-Chip, der eine zweite Eingabe/Ausgabe-Breite hat, die kleiner ist als die erste Eingabe/Ausgabe-Breite, und der derart eingerichtet ist, dass er einen Fehlerkorrekturcode, um einen Fehler in den Daten zu korrigieren, speichert. Eine Adresstiefe jedes der ersten Speicher-Chips und eine Adresstiefe des zweiten Speicher-Chips unterscheiden sich voneinander.
  • Gemäß einer beispielhaften Ausführungsform des erfinderischen Konzepts wird ein Fehlerkorrekturverfahren eines Speicher-Controllers geschaffen. Der Speicher-Controller ist derart eingerichtet, dass er ein Speichermodul steuert, welches erste Speicher-Chips umfasst, die jeweils eine erste Eingabe/Ausgabe-Breite aufweisen und derart eingerichtet sind, dass sie Daten speichern, und welches mindestens einen zweiten Speicher-Chip umfasst, der eine zweite Eingabe/Ausgabe-Breite aufweist und der derart eingerichtet ist, dass er einen Fehlerkorrekturcode, um einen Fehler in den Daten zu korrigieren, speichert. Das Fehlerkorrekturverfahren umfasst: Bestimmen, ob die Daten, die von dem Speichermodul empfangen wurden, einen Fehler umfassen, der korrigierbar ist; Bestimmen, ob ein physisches Ersetzen einer Speicherzelle, in der die Daten gespeichert sind, erforderlich ist; Auswählen eines ersten Fehlerkorrekturmodus, wenn der Fehler korrigierbar ist und das physische Ersetzen erforderlich ist; Auswählen eines zweiten Fehlerkorrekturmodus, wenn der Fehler korrigierbar ist und das physische Ersetzen nicht erforderlich ist; und Durchführen eines Fehlerkorrekturvorgangs bei den Daten gemäß dem ausgewählten Modus.
  • Gemäß einer beispielhaften Ausführungsform des erfinderischen Konzepts wird ein Rechensystem geschaffen, das mindestens ein Speichermodul, mindestens ein nichtflüchtiges Speichermodul und mindestens einen Prozessor umfasst, der derart eingerichtet ist, dass er das mindestens eine Speichermodul und das mindestens eine nichtflüchtige Speichermodul steuert. Das mindestens eine Speichermodul umfasst mindestens einen ersten Speicher-Chip, der eine erste Eingabe/Ausgabe-Breite aufweist und derart eingerichtet ist, dass er Daten speichern, und mindestens einen zweiten Speicher-Chip, der eine zweite Eingabe/Ausgabe-Breite aufweist, die sich von der ersten Eingabe/Ausgabe-Breite unterscheidet, und der derart eingerichtet ist, dass er einen Fehlerkorrekturcode, um einen Fehler in den Daten zu korrigieren, speichert.
  • Figurenliste
  • Beispielhafte Ausführungsformen der vorliegenden Offenbarung gehen deutlicher aus der folgenden detaillierten Beschreibung in Verbindung mit den beigefügten Zeichnungen hervor, in welchen:
    • 1 ein Speichersystem 10 gemäß einer beispielhaften Ausführungsform des erfinderischen Konzepts darstellt;
    • 2A und 2B herkömmliche Speichermodule darstellen, die jeweils Speicher-Chips mit der gleichen Eingabe/Ausgabe-Breite umfassen;
    • 3 ein Speichermodul 100 gemäß einer beispielhaften Ausführungsform des erfinderischen Konzepts darstellt;
    • 4 einen Systemkanal CH gemäß einer beispielhaften Ausführungsform des erfinderischen Konzepts darstellt;
    • 5A eine Adresstiefe eines Speicher-Chips in einem Speichermodul 100 gemäß einer beispielhaften Ausführungsform darstellt, und 5B eine Adresstabelle eines Speicher-Chips darstellt, der das Speichermodul 100 beinhaltet, gemäß einer beispielhaften Ausführungsform des erfinderischen Konzepts;
    • 6 eine Datenausgabe des Speichermoduls 100 abhängig von einem Fehlerkorrekturmodus gemäß einer beispielhaften Ausführungsform des erfinderischen Konzepts darstellt;
    • 7 ein Speichermodul 100a gemäß einer beispielhaften Ausführungsform des erfinderischen Konzepts darstellt;
    • 8 ein Speichersystem 20 gemäß einer beispielhaften Ausführungsform des erfinderischen Konzepts darstellt;
    • 9 ein Speichersystem 30 gemäß einer beispielhaften Ausführungsform des erfinderischen Konzepts darstellt;
    • 10 ein Flussdiagramm ist, das einen Fehlerkorrekturvorgang eines Speichersystems gemäß einer beispielhaften Ausführungsform des erfinderischen Konzepts darstellt;
    • 11 ein Flussdiagramm ist, das einen ersten Fehlerkorrekturvorgang des Speichersystems 100 gemäß einer beispielhaften Ausführungsform des erfinderischen Konzepts darstellt;
    • 12 ein Flussdiagramm ist, das einen zweiten Fehlerkorrekturvorgang des Speichersystems 100 gemäß einer beispielhaften Ausführungsform des erfinderischen Konzepts darstellt;
    • 13 ein Flussdiagramm ist, das einen Fehlerkorrekturvorgang eines Speichersystems gemäß einer beispielhaften Ausführungsform des erfinderischen Konzepts darstellt;
    • 14 ein Blockdiagramm eines Speicher-Chips gemäß einer beispielhaften Ausführungsform des erfinderischen Konzepts ist;
    • 15 einen Speicher-Chip 2000 gemäß einer beispielhaften Ausführungsform des erfinderischen Konzepts darstellt;
    • 16 ein Rechensystem 3000 gemäß einer beispielhaften Ausführungsform des erfinderischen Konzepts darstellt; und
    • 17 eine Server-Vorrichtung 4000 gemäß einer beispielhaften Ausführungsform des erfinderischen Konzepts darstellt.
  • DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • Nachfolgend werden beispielhafte Ausführungsformen des erfinderischen Konzepts mit Bezug auf die beigefügten Zeichnungen beschrieben.
  • Ein Speichersystem gemäß einer beispielhaften Ausführungsform des erfinderischen Konzepts umfasst ein Speichermodul, das einen ersten Speicher-Chip und einen zweiten Speicher-Chip umfasst, welche voneinander unterschiedliche Eingabe- und Ausgabebreiten aufweisen. Der erste Speicher-Chip und der zweite Speicher-Chip können getrennte Adresssteuerungen aufweisen, um einen Bereich eines Fehlerkorrekturcodes (ECC) zu erweitern, ohne Leistungsverschlechterungen zu verursachen.
  • 1 stellt ein Speichersystem 10 gemäß einer beispielhaften Ausführungsform des erfinderischen Konzepts dar. In 1 kann das Speichersystem 10 ein Speichermodul 100 und einen Speicher-Controller 200 umfassen.
  • Das Speichermodul 100 kann von einem Prozessor verarbeitete oder zu verarbeitende Daten vorübergehend speichern. Das Speichermodul 100 kann als Betriebsspeicher, Arbeitsspeicher oder Pufferspeicher in einem Rechensystem verwendet werden. Das Speichermodul 100 umfasst erste Speicher-Chips 110, mindestens einen zweiten Speicher-Chip 120 und einen Registered Clock Driver (RCD) 130 (z. B. eine Treiberschaltung).
  • In einer beispielhaften Ausführungsform kann das Speichermodul 100 als Single In-Line Memory Module (SIMM), Dual In-Line Memory Module (DIMM), Small Outline DIMM (SODIMM), Unbuffered DIMM (UDDIMM), Fully-Buffered DIMM (FBDIMM), Rank-Buffered DIMM (RBDIMM), mini-DIMM, micro-DIMM, Registered DIMM (RDIMM) oder Load-Reduced DIMM (RDIMM) implementiert werden.
  • Jeder der ersten Speicher-Chips 110 kann zum Speichern von Daten implementiert werden, die von dem Speicher-Controller 200 übertragen werden. In beispielhaften Ausführungsformen kann jeder der ersten Speicher-Chips 110 ein flüchtiger Speicher wie beispielsweise ein dynamischer Direktzugriffsspeicher (DRAM), ein synchroner DRAM (SDRAM), ein Double Data Rate SDRAM (DDR SDRAM), ein Low Power Double Data Rate SDRAM (LPDDR SDRAM), Graphics Double Data Rate SDRAM (GDDR SDRAM), ein Rambus DRAM (RDRAM) oder ein statischer Direktzugriffsspeicher (SRAM) sein. In einer anderen Ausführungsform kann jeder der ersten Speicher-Chips 110 ein nichtflüchtiger Speicher sein, wie beispielsweise ein Phasenänderungs-Direktzugriffsspeicher (PRAM), ein magnetoresistiver Direktzugriffsspeicher (MRAM), ein resistiver Direktzugriffsspeicher (ReRAM), ein ferroelektrischer Direktzugriffsspeicher (FRAM) oder ein Flash-Speicher. In einer beispielhaften Ausführungsform kann jeder der ersten Speicher-Chips 110 als DRAM-Chip entsprechend verschiedenen Standards implementiert sein, wie beispielsweise Double Data Rate (DDR), DDR2, DDR3, DDR4 und DDR5. In einer beispielhaften Ausführungsform ist jeder der ersten Speicher-Chips 110 derart implementiert, dass er Daten durch n Datenkanäle DQ [1: n] eingibt und ausgibt, wobei n eine positive ganze Zahl größer gleich 2 ist.
  • Der zweite Speicher-Chip 120 kann derart implementiert werden, dass er eine Parität speichert (z. B. Paritätsdaten), um einen Fehler von in den ersten Speicher-Chips 110 gespeicherten Daten zu korrigieren. In einer beispielhaften Ausführungsform kann der zweite Speicher-Chip 120 ein flüchtiger Speicher wie beispielsweise DRAM, SDRAM, DDR SDRAM, LPDDR SDRAM, GDDR SDRAM, RDRAM oder SRAM sein. In einer anderen beispielhaften Ausführungsform kann der zweite Speicher-Chip 120 ein nichtflüchtiger Speicher sein, wie beispielsweise PRAM, MRAM, ReRAM, FRAM oder ein Flash-Speicher. In einer beispielhaften Ausführungsform kann der zweite Speicher-Chip 120 als DRAM-Chip entsprechend verschiedenen Standards implementiert werden, wie beispielsweise DDR, DDR2, DDR3, DDR4 und DDR5. In einer beispielhaften Ausführungsform wird der zweite Speicher-Chip 120 derart implementiert, dass er Daten durch m Datenkanäle DQ [1: m] ein- und ausgibt, wobei m eine positive ganze Zahl ist, die kleiner ist als n.
  • In einer beispielhaften Ausführungsform sind eine Speicherkapazität von jedem der ersten Speicher-Chips 110 und eine Speicherkapazität des zweiten Speicher-Chips 120 gleich.
  • Der Registered Clock Driver (RCD) 130 kann derart implementiert sein, dass er einen Befehl CMD, eine Adresse ADD und ein Taktsignal CK von dem Speicher-Controller 200 empfängt. Der RCD 130 kann den empfangenen Befehl CMD, die empfangene Adresse ADD und das empfangene Taktsignal CK an die ersten Speicher-Chips 110 und den zweiten Speicher-Chip 120 übertragen.
  • Obwohl in 1 nicht dargestellt, kann das Speichermodul 100 ferner einen Serial-Presence-Detect(SPD)-Chip umfassen. Der SPD-Chip kann derart implementiert sein, dass er Informationen über Merkmale des Speichermoduls 100 speichert. In einer beispielhaften Ausführungsform kann der SPD-Chip Speichermodulinformationen speichem, wie beispielsweise einen Modultyp, eine Betriebssystemumgebung, eine Linienanordnung, eine Modulkonfiguration und eine Speicherkapazität des Speichermoduls 100. In einer beispielhaften Ausführungsform kann der SPD-Chip einen programmierbaren Nur-Lese-Speicher, wie beispielsweise einen elektrisch löschbaren Nur-Lese-Speicher (EEPROM) umfassen.
  • Der Speicher-Controller 200 kann derart implementiert sein, dass er einen Befehl/eine Adresse CMD/ADD, ein Taktsignal CK, ein Steuersignal, Daten DQ und ein Data-Strobe-Signal DQS durch einen Kanal an das Speichermodul 100 überträgt und von diesem empfängt. In einer beispielhaften Ausführungsform steuert der Speicher-Controller 200 ein Lesen der Daten DQ von dem Speichermodul 100 und ein Schreiben der Daten DQ in das Speichermodul 100. In einer beispielhaften Ausführungsform stellt der Speicher-Controller 200 den Befehl/die Adresse CMD/ADD und das Steuersignal dem Speichermodul 100 bereit und kann ein Übertragen und Empfangen der Daten DQ an und von einem Speicherchip, auf den von den Speicher-Chips zugegriffen werden soll, basierend auf dem Steuersignal in einem Schreib- oder Lesevorgang entsprechend dem Befehl/der Adresse CMD/ADD steuern. Zum Beispiel kann der Schreibvorgang ansprechend auf einen CMD eines Schreibbefehls durchgeführt werden und der Lesevorgang kann ansprechend auf einen CMD eines Lesebefehls durchgeführt werden.
  • In einer beispielhaften Ausführungsform ist der Speicher-Controller 200 mit einem externen Host wie beispielsweise einem Prozessor verbunden. Zum Beispiel kann der Speicher-Controller 200 mit dem externen Host durch mindestens eines von verschiedenen Schnittstellenprotokolle kommunizieren, wie beispielsweise universeller serieller Bus (USB), MultiMediaCard (MMC), Parallel Connection Interface (PCI), Parallel Connection Interface Express (PCIe), Advanced Technology Attachment (ATA), Serial-ATA, Parallel-ATA, Small Computer System Interface (SCSI), Serial Attached SCSI (SAS), Enhanced Small Device Interface (ESDI) oder Integrated Drive Electronics (IDE).
  • In einer beispielhaften Ausführungsform kann der Speicher-Controller 200 als zusätzlicher Chip eingerichtet sein oder er kann mit dem Speichermodul 100 eingerichtet sein. Zum Beispiel kann der Speicher-Controller 200 auf einem Mainboard implementiert sein und er kann als integrierter Speicher-Controller (IMC), der in einem Mikroprozessor umfasst ist, implementiert sein. Zudem kann der Speicher-Controller 200 in einem Eingabe/Ausgabe-Hub angeordnet sein, und der den Speicher-Controller 200 umfassende Eingabe/Ausgabe-Hub kann als Speicher-Controller-Hub (MCH) bezeichnet werden.
  • Der Speicher-Controller 200 umfasst eine ECC-Engine 210 (z. B. eine Schaltung) zur Durchführung von Fehlererfassung und Korrekturvorgängen.
  • Die ECC-Engine 210 kann eine Paritätsprüfung, eine zyklische Redundanzprüfung (CRC Check), eine Prüfsummenprüfung und/oder einen Hamming-Code verwenden, um Fehler zu erfassen und die erfassten Fehler zu korrigieren. In einer beispielhaften Ausführungsform kann die ECC-Engine 210 eine Korrekturmaßnahme wie beispielsweise eine x4 Single Device Data Correction (SDDC), x8 Single-bit Error Correction and Double-bit Error Detection (SECDED), oder Lockstep x8 SDDC verwenden, um Fehler einer Mehrzahl von Speicher-Chips zu korrigieren.
  • In einer beispielhaften Ausführungsform arbeitet die ECC-Engine 210 in einem ersten Fehlerkorrekturmodus oder einem zweiten Fehlerkorrekturmodus. Der erste Fehlerkorrekturmodus ist ein Soft-Fehlerkorrekturmodus und der zweite Fehlerkorrekturmodus ist ein Hard-Fehlerkorrekturmodus. In dem Soft-Fehlerkorrekturmodus werden Daten der ersten Speicher-Chips 110 unter Verwendung von m Paritäten des zweiten Speicher-Chips 120 korrigiert. In dem Hard-Fehlerkorrekturmodus werden Daten der ersten Speicher-Chips 110 unter Verwendung von 2m Paritäten des zweiten Speicher-Chips 120 korrigiert.
  • In einer beispielhaften Ausführungsform bestimmt die ECC-Engine 210, ob eine Fehlerkorrektur bei Daten der ersten Speicher-Chips 110 in dem ersten Fehlerkorrekturmodus möglich ist und führt einen Soft-Fehlerkorrekturvorgang durch, wenn bestimmt wird, dass die Fehlerkorrektur möglich ist (z. B. wenn bestimmt wird, dass ein Fehler korrigierbar ist). In einer beispielhaften Ausführungsform führt die ECC-Engine 210 einen Hard-Fehlerkorrekturvorgang bei den Daten der ersten Speicher-Chips 110 in dem zweiten Fehlerkorrekturmodus durch, wenn ein Fehler korrigierbar ist aber ein physisches Ersetzen (Redundanzzellenersatz) erforderlich ist. Zum Beispiel falls bestimmt wird, dass die in einer Originalspeicherzelle gespeicherten Daten unzuverlässig sind, nachdem die Daten korrigiert wurden, können sie in der Redundanzzelle gespeichert werden. In einer beispielhaften Ausführungsform wird eine Mapping-Tabelle, welche eine logische Adresse einer physischen Adresse der Originalspeicherzelle zuordnet, aktualisiert, um die logische Adresse einer physischen Adresse der Redundanzspeicherzelle zuzuordnen.
  • In einer beispielhaften Ausführungsform liest die ECC-Engine 210 eine Parität von dem zweiten Speicher-Chip 120 abhängig von einem Fehlerkorrekturmodus, der unter Verwendung von mindestens einer Adresse eines zweiten Speicher-Chips 120 mit nur ECC ausgewählt wird. Die mindestens eine Adresse kann eine Zeilenadresse, eine Spaltenadresse, eine Bankadresse oder eine Bankgruppenadresse sein.
  • Ein herkömmliches Speichersystem umfasst Speicher-Chips mit der gleichen Eingabe- und Ausgabebreite, um in einem ECC-Fehlerkorrekturbereich zu arbeiten, der durch ein Speichermodul beschränkt wird. Das Speichersystem 10 gemäß einer beispielhaften Ausführungsform des erfinderischen Konzepts dagegen trennt Adresssteuerungen der ersten Speicher-Chips 110 und der zweiten Speicher-Chips 120 in einem Speichermodul, in dem die ersten Speicher-Chip 120, welche Daten speichern, und der zweite Speicher-Chip 120, welcher eine Parität der Daten speichert, derart eingerichtet sind, dass sie voneinander unterschiedliche Eingabe/Ausgabe-Breiten aufweisen, um eine ECC-Fehlerkorrekturbereichbreite abhängig von einer vorgegebenen Maßnahme zu erweitern.
  • 2A und 2B stellen herkömmliche Speichermodule dar, die jeweils Speicher-Chips mit der gleichen Eingabe/Ausgabe-Breite umfassen. In 2A und 2B kann sowohl Sub-Kanal A als auch Sub-Kanal B x8 ECC und x32 DATA (Codewort) eingeben und ausgeben. Eine Konfiguration eines Codeworts x8 ECC und x32 DATA, dargestellt in 2A, wird durch x4 Speicher-Chips mit der gleichen Eingabe/Ausgabe-Breite implementiert. Das Speichermodul umfasst zwei x4 Speicher-Chips für x8 ECC und acht x4 Speicher-Chips für x32 DATA. Konfigurationen der x8 ECC und x32 DATA, dargestellt in 2B, werden durch x8 Speicher-Chips mit der gleichen Eingabe/Ausgabe-Breite implementiert. Das Speichermodul umfasst einen x8 Speicher-Chip für x8 ECC und vier x8 Speicher-Chips für x32 DATA.
  • Das Speichermodul, dargestellt in 2A, kann ein Maximum von x4 Daten-Lane-Korrektur pro Sub-Kanal durchführen. Das Speichermodul, dargestellt in 2B, kann gleichzeitig zwei Ränge während einer Korrektur einer x8-Daten-Lane betreiben, um Leistungsverschlechterungen zu verursachen, die eine Folge von Burst-Chopping (Lockstep) sind. Zum Beispiel wenn eine Mainstream-DRAM-Dichte auf 16 Gb in einem DDR5-RAM erhöht wird, kann eine 8-Gb-Konfiguration zu einer Leistungsminderung führen, da die Anzahl an Bänken um die Hälfte reduziert wird. Die x4- und x8-basierten DIMMs, die jeweils eine Basiskapazität von 16G haben, können es erschweren, eine niedrige Kapazität wie 8 Gb oder 16 Gb zu konfigurieren. Die x4 DIMM hat eine Mindestkapazität von 32 Gb und die x8 DIMM hat eine Mindestkapazität von 16 Gb. Entsprechend kann ein einzelner Rang verwendet werden, um eine Mindestkapazität zu konfigurieren. Aus diesem Grund ist Rankverschränkung möglicherweise nicht möglich und so kann es zu einer Leistungsminderung kommen.
  • 3 stellt ein Speichermodul 100 gemäß einer beispielhaften Ausführungsform des erfinderischen Konzepts dar. Gemäß 3 ist das Speichermodul (DIMM) 100 derart implementiert, dass jeweils x8 ECC und x32 DATA an zwei Sub-Kanäle SCH-A und SCH-B unter Verwendung von Speicher-Chips, wie beispielsweise einem x8 DRAM und einem x16 DRAM mit unterschiedlichen Eingabe/Ausgabe-Breiten, eingegeben und ausgegeben werden.
  • Der erste Sub-Kanal SCH-A umfasst zwei erste Speicher-Chips 111A und 112A und einen zweiten Speicher-Chip 120A.
  • Jeder der ersten Speicher-Chips 111A und 112A kann zum Speichern von Daten implementiert werden. In einer beispielhaften Ausführungsform ist jeder der ersten Speicher-Chips 111A und 112A derart implementiert, dass er eine erste Eingabe/AusgabeBreite von x16 hat. In einer beispielhaften Ausführungsform ist der zweite Speicher-Chip 120A derart implementiert, dass er eine zweite Eingabe/Ausgabe-Breite von x8 hat. Die zweite Eingabe/Ausgabe-Breite von x8 ist die Hälfte der ersten Eingabe/AusgabeBreite x16. Allerdings versteht es sich, dass die zweite Eingabe/Ausgabe-Breite nicht darauf beschränkt ist. Zum Beispiel ansprechend auf jeden Taktimpuls des Taktsignals CK kann der erste Speicher-Chip 111A 16 Bits ausgeben, während der zweite Speicher-Chip 120A 8 Bits ausgibt.
  • In einer beispielhaften Ausführungsform haben sowohl jeweils die ersten Speicher-Chips 111A und 112A als auch der zweite Speicher-Chip 120A die gleiche Speicherkapazität.
  • Der zweite Sub-Kanal SCH-B umfasst zwei erste Speicher-Chips 111B und 112B und einen zweiten Speicher-Chip 120B. Der zweite Sub-Kanal SCH-B kann die gleiche Konfiguration aufweisen wie der erste Sub-Kanal SCH-A.
  • 4 stellt einen Systemkanal CH gemäß einer beispielhaften Ausführungsform des erfinderischen Konzepts dar. In 4 umfasst ein Systemkanal CH einen ersten Sub-Kanal SCH-A und einen zweiten Sub-Kanal SCH-B. Der erste Sub-Kanal SCH-A und der zweite Sub-Kanal SCH-B können Daten-Lanes DQ gemeinsam nutzen und können unabhängig Kanalvorgänge abhängig von Befehlen (Lese- und Schreibbefehlen) CMD_A und CMD B durchführen.
  • 5A stellt eine Adresstiefe eines Speicher-Chips in einem Speichermodul 100 gemäß einer beispielhaften Ausführungsform des erfinderischen Konzepts dar, und 5B stellt eine Adresstabelle eines Speicher-Chips dar, der das Speichermodul 100 beinhaltet, gemäß einer beispielhaften Ausführungsform des erfinderischen Konzepts.
  • Bezugnehmend auf 5A können sowohl ein Datenchip (ein erster Datenchip) als auch ein ECC-Chip (ein zweiter Speicher-Chip) k+1 Adress-Bits ADD1 bis ADDk+1 der Adresse ADD empfangen. Allgemein wird eine Chip-Größe (Speicherkapazität) durch eine Eingabe/Ausgabe-Breite (die Anzahl an DQ-Pins) und eine Adresstiefe bestimmt. Der Begriff „Adresstiefe“ bezeichnet die Anzahl an Adress-Bits (eine Zyklusanzahl), die gezählt (oder bedacht) wird, um eine Chip-Größe zu bestimmen. Zum Beispiel kann die Adresstiefe sich auf die Anzahl an Adress-Bits beziehen, die berücksichtigt werden, oder die Anzahl an Adress-Bits, die nicht ignoriert werden.
  • In einer beispielhaften Ausführungsform des erfinderischen Konzepts ist eine Adresstiefe eines Datenchips geringer als eine Adresstiefe eines ECC-Chips. Obwohl sowohl der Datenchip als auch der ECC-Chip die gleiche Anzahl an Adress-Bits in dem Speichermodul 100 empfangen, zählt der Datenchip nicht (oder berücksichtigt nicht) mindestens eines der empfangenen Adress-Bits.
  • Zum Beispiel zählt der Datenchip, wie in 5A dargestellt, nicht (oder berücksichtigt nicht) ein einzelnes Adress-Bit ADDj+1 von den empfangenen Adress-Bits. Zum Beispiel ignoriert der Datenchip eines der empfangenen Adress-Bits. Entsprechend ist eine Adresstiefe des Datenchips k und eine Adresstiefe des ECC-Chips ist k+1. Zum Beispiel wird auf den Datenchip über k gezählte Adress-Bits zugegriffen und auf den ECC-Chip wird durch k+1 gezählte Adress-Bits zugegriffen. In einer beispielhaften Ausführungsform umfasst eine Adresse k+1 Adress-Bits, auf den ECC-Chip wird unter Verwendung der ersten bis k+1-ten Adress-Bits ADD1 bis ADDk+1 zugegriffen und auf den Datenchip wird unter Verwendung der ersten bis j-ten Adress-Bits ADD1 bis ADDj und j+2-te bis k+1-te Adress-Bits ADDj+2 bis ADDk+1 zugegriffen.
  • In einer beispielhaften Ausführungsform ist die Anzahl an Bits einer Adresse, die von dem ECC-Chip gezählt werden, größer als die Anzahl an Bits einer Adresse, die von dem Datenchip berücksichtigt werden. Zum Beispiel berücksichtigt der ECC-Chip mehr Bits der Adresse als der Datenchip. In einer beispielhaften Ausführungsform ist die Anzahl an Bits einer Bankgruppenadresse, die von dem ECC-Chip gezählt wird, größer als die Anzahl an Bits einer Bankgruppenadresse, die von dem Datenchip gezählt wird. In einer beispielhaften Ausführungsform berücksichtigt der ECC-Chip mehr Bits einer Bankgruppenadresse als der Datenchip.
  • 5B stellt eine Adresskonfiguration von Speicher-Chips dar, die eine Speicherkapazität von 16 Gb bilden. Wie in 5B dargestellt, unterscheiden sich ein x8-Speicher-Chip (ein erster Speicher-Chip) und ein x16-Speicher-Chip (ein erster Speicher-Chip) voneinander hinsichtlich dem Vorhandensein oder dem Fehlen eines niedrigstwertigen Bits (Least Significant Bit) BG2 einer Bankgruppenadresse und der Anzahl an Bänken.
  • In einer beispielhaften Ausführungsform des erfinderischen Konzepts kann auf jeden der ersten Speicher-Chips 111A, 112A, 111B, 112B (siehe 3) durch eine Adresstabelle zugegriffen werden, die jeweils 2 Bits einer Bankgruppenadresse, 2 Bits einer Bankadresse, 16 Bits einer Zeilenadresse und 10 Bits einer Spaltenadresse umfasst.
  • In einer beispielhaften Ausführungsform kann auf jeden der zweiten Speicher-Chips 120A und 120B (siehe 3) durch eine Adresstabelle zugegriffen werden, die 3 Bits einer Bankgruppenadresse, 2 Bits einer Bankadresse, 16 Bits einer Zeilenadresse und 10 Bits einer Spaltenadresse umfasst.
  • In einer beispielhaften Ausführungsform wird das niedrigstwertige Bit BG2 der Bankgruppenadresse nur in einem x8-Speicher-Chip aktiviert. In einer beispielhaften Ausführungsform zählen die x16 Speicher-Chips nicht das niedrigwertigste Bit BG2 der Bankgruppenadresse. Zum Beispiel kann ein x16 Speicher-Chip das niedrigwertigste Bit BG2 der Bankgruppenadresse ignorieren. Das Speichersystem 10 gemäß einer beispielhaften Ausführungsform sichert eine x8 ECC-Lane, wenn das niedrigwertigste Bit BG2 der Bankgruppenadresse während eines Fehlerkorrekturvorgang in einem Low-Pegel liegt, und sichert eine x16 ECC-Lane, wenn das niedrigwertigste Bit BG2 der Bankgruppenadresse während des Fehlerkorrekturvorgangs von einem Low-Pegel L zu einem High-Pegel H übergeht.
  • 6 stellt eine Datenausgabe des Speichermoduls 100 abhängig von einem Fehlerkorrekturmodus gemäß einer beispielhaften Ausführungsform des erfinderischen Konzepts dar.
  • In einer beispielhaften Ausführungsform wird, wenn ein niedrigwertigstes Bit BG2 einer Bankgruppenadresse innerhalb eines Low-Pegel L ist, ein Lesevorgang abhängig von einem ersten Fehlerkorrekturmodus durchgeführt. In dem ersten Fehlerkorrekturmodus können x8 ECC-Bits und x16 DATA-Bits jeweils von einem x8 Speicher-Chip und einem x16 Speicher-Chip ansprechend auf einen Lesebefehl Read ausgegeben werden.
  • Wenn das Signal des niedrigwertigsten Bit BG2 der Bankgruppenadresse Low-Pegel L ist, können jeweils x8 ECC-Bits und x16 DATA-Bits aus dem x8 Speicher-Chip und den x16 Speicher-Chips ansprechend auf einen ersten Lesebefehl Read1 ausgegeben werden. In einer beispielhaften Ausführungsform wird, wenn das niedrigwertigste Bit BG2 der Bankgruppenadresse von dem Low-Pegel L zu dem High-Pegel H übergeht, ein Lesevorgang abhängig von einem zweiten Fehlerkorrekturmodus durchgeführt. Ansprechend auf einen zweiten Lesebefehl Read2, können x8 ECC-Bits und x16 DATA-Bits jeweils aus dem x8 Speicher-Chip und den x16 DATA-Speicher-Chips ausgegeben werden. Entsprechend können Paritäten der x16 ECC-Lane aus dem x8 Speicher-Chip basierend auf dem ersten und dem zweiten Lesebefehl Read1 und Read2 ausgegeben werden.
  • In einer beispielhaften Ausführungsform kann der x8 Speicher-Chip (der zweite Speicher-Chip) einen fehlerhaften Speicher-Chip (der einen halben Chip einsetzt) verwenden, der das niedrigwertigste Bit BG2 der Bankgruppenadresse auf den Low-Pegel L fest einstellt oder das niedrigwertigste Bit BG2 der Bankgruppenadresse auf den High-Pegel H fest einstellt.
  • Das Speichermodul 100 umfasst heterogene erste und zweite Speicher-Chips mit der gleichen Speicherkapazität (zum Beispiel 16 Gb), wie in 3 bis 6 dargestellt. Der erste Speicher-Chip hat eine x16 Eingabe/Ausgabe-Breite und der zweite Speicher-Chip hat eine x8 Eingabe/Ausgabe-Breite. Allerdings ist die Konfiguration des Speichermoduls gemäß Ausführungsformen der vorliegenden Offenbarung nicht darauf beschränkt. Heterogene Speicher-Chips mit der gleichen Speicherkapazität können mit verschiedenen Kombinationen konfiguriert sein.
  • 7 stellt ein Speichermodul 100a gemäß einer beispielhaften Ausführungsform des erfinderischen Konzepts dar. In 7 umfasst jeder Sub-Kanal des Speichermoduls 100a zwei x4 Speicher-Chips für eine x8 ECC-Eingabe/Ausgabe und vier x8 Speicher-Chips für eine x32 DATA-Eingabe/Ausgabe. Zum Beispiel kann der erste x8 ECC und die ersten x32 DATA einem ersten Sub-Kanal entsprechen und der zweite x8 ECC und die zweiten x32 DATA können einem zweiten Sub-Kanal entsprechen.
  • Ein Speichersystem gemäß einer beispielhaften Ausführungsform kann zwischen einem Speicher-Controller und einem Speichermodul durch eine Mehrzahl von Systemkanälen verbunden sein.
  • 8 stellt ein Speichersystem 20 gemäß einer beispielhaften Ausführungsform des erfinderischen Konzepts dar. In 8 umfasst das Speichersystem 20 ein Speichermodul 100b und einen Speicher-Controller 200b, der mit zwei Systemkanälen CH1 und CH2 verbunden ist, im Vergleich zu dem Speichersystem 10, das in 1 dargestellt ist. In einer beispielhafte Ausführungsform umfasst jeder der Systemkanäle CH1 und CH2 erste Speicher-Chips DRAMs, welche Daten speichern, und einen zweiten Speicherchip DRAM (ECC), der eine Parität zur Korrektur eines Fehlers von Daten speichert. In einer beispielhaften Ausführungsform überträgt und empfängt jeder der ersten Speicher-Chips DRAMs n Datensignale DQ[1:n] und der zweite Speicher-Chip DRAM (ECC) überträgt und empfängt m Datensignale DQ[1:m]. Zum Beispiel kann das n Datensignal regulären Daten entsprechen und die m Datensignale können einer Parität oder ECC-Daten entsprechen, die verwendet werden, um die regulären Daten zu korrigieren.
  • In einer beispielhaften Ausführungsform haben der erste Speicher-Chip und der zweite Speicher-Chip die gleiche Speicherkapazität und voneinander unterschiedliche Adresstiefen. Die Adresstiefen der Speicher-Chips können bei unterschiedlichen Zuverlässigkeitsanforderungen unterschiedlich sein.
  • Der Speicher-Controller 200b kann Steuerungen von Bankgruppenadressen des ersten Speicher-Chips und des zweiten Speicher-Chips trennen, um eine Fehlerkorrekturleistung zu erweitern.
  • In 1 bis 8 erweitern die Speichersysteme eine Fehlerkorrekturleistung unter Verwendung von unterschiedlichen Adresstiefen in heterogenen Speicher-Chips, welche die gleiche Speicherkapazität aufweisen. Allerdings ist die Erweiterung der Fehlerkorrekturleistung der Speichersysteme gemäß beispielhaften Ausführungsformen nicht darauf beschränkt. Zum Beispiel kann die Erweiterung der Fehlerkorrekturleistung durch Variieren von Breiten der ECC-Eingabe- und Ausgabe-Lanes erzielt werden.
  • 9 stellt ein Speichersystem 30 gemäß einer beispielhaften Ausführungsform des erfinderischen Konzepts dar. In 9 umfasst das Speichersystem 30 zwei zweite Speicher-Chips DRAM (ECC) zum Korrigieren eines Fehlers in jeweiligen Systemkanälen CH1 und CH2 im Vergleich zu dem in 8 dargestellten Speichersystem 20. Eine ECC-Engine (z. B. eine Steuerschaltung) bestimmt, ob sie eine Parität zur Fehlerkorrektur durch m ECC-Eingabe/Ausgabe-Lanes empfängt (erste ECC-Eingabe/Ausgabe-Lanes) oder eine Parität zur Fehlerkorrektur durch 2m ECC-Eingabe/Ausgabe-Lanes (erste und zweite ECC-Eingabe/Ausgabe-Lanes) abhängig von einem Fehlerkorrekturmodus empfängt.
  • Ein Speicher-Controller 200c des Speichersystems 30 gemäß einer beispielhaften Ausführungsform ist fähig, Breiten von ECC Eingabe/Ausgabe-Lanes für eine Fehlerkorrektur entsprechend unterschiedlicher Leistungs- und Zuverlässigkeitsanforderungen zu variieren.
  • 10 ist ein Flussdiagramm, das einen Fehlerkorrekturvorgang eines Speichersystems gemäß einer beispielhaften Ausführungsform des erfinderischen Konzepts darstellt. In 1 bis 10 kann ein Fehlerkorrekturverfahren als Betriebsverfahren des Speichersystems 10 wie folgt durchgeführt werden. Der Speicher-Controller 200 (siehe 1) bestimmt, ob ein Fehler korrigierbar ist und bestimmt, ob ein physisches Ersetzen der Speicher-Chips erforderlich ist, wenn der Fehler korrigierbar ist (S110). Wenn der Fehler korrigierbar ist und das physische Ersetzen erforderlich ist, ändert der Speicher-Controller 200 einen ECC-Modus (S120). Zum Beispiel kann der Speicher-Controller 200 in einem ersten Fehlerkorrekturmodus in einem normalen Modus arbeiten und kann in einem zweiten Fehlerkorrekturmodus arbeiten, wenn das physische Ersetzen erforderlich ist. Das physische Ersetzen bezeichnet ein Ersetzen einer Speicherzelle, die einer Adresse entspricht, durch eine Redundanzzelle. Zum Beispiel falls die Daten mit dem Fehler, der korrigierbar ist, in einer Speicherzelle gespeichert sind, die unzuverlässig geworden ist, kann ein physisches Ersetzen erforderlich sein. In dem zweiten Fehlerkorrekturmodus wird eine zusätzliche Parität von einem ECC-Chip mit einer Adresstiefe empfangen, die größer ist als eine Adresstiefe eines Speicher-Chips.
  • 11 ist ein Flussdiagramm, das einen ersten Fehlerkorrekturvorgang des Speichersystems 100 gemäß einer beispielhaften Ausführungsform des erfinderischen Konzepts darstellt. In 1 und 11 kann der erste Fehlerkorrekturvorgang wie folgt durchgeführt werden. Der Speicher-Controller 200 empfängt Daten von den ersten Speicher-Chips 110 durch die ersten Lanes (S210). Der Speicher-Controller 200 empfängt ECC-Daten (Parität) von dem zweiten Speicher-Chip 120 durch die zweiten Lanes (S220). Der Speicher-Controller 200 korrigiert einen Fehler der empfangenen Daten unter Verwendung der ECC-Daten (S230). Zum Beispiel führt der Speicher-Controller einen Fehlerkorrekturvorgang bei den empfangenen Daten unter Verwendung der ECC-Daten durch.
  • 12 ist ein Flussdiagramm, das einen zweiten Fehlerkorrekturvorgang des Speichersystems 100 gemäß einer beispielhaften Ausführungsform des erfinderischen Konzepts darstellt. In 1 und 12 kann der zweite Fehlerkorrekturvorgang wie folgt durchgeführt werden.
  • Der Speicher-Controller 200 empfängt erste ECC-Daten (Parität) von dem zweiten Speicher-Chip 120 durch die zweiten Lanes in einer ersten Lesezeit (S310). Der Speicher-Controller 200 empfängt zweite ECC-Daten (Parität) von dem zweiten Speicher-Chip 120 durch die zweiten Lanes in der zweiten Lesezeit (S320). In einer beispielhaften Ausführungsform tritt die zweite Lesezeit nach der ersten Lesezeit auf. Der Speicher-Controller 200 empfängt Daten durch die ersten Lanes in der ersten Lesezeit oder der zweiten Lesezeit (S330). Der Speicher-Controller 200 korrigiert einen Fehler der empfangenen Daten unter Verwendung der ersten ECC-Daten und der zweiten ECC-Daten (S340). Entsprechend kann die Zuverlässigkeit von Daten sichergestellt werden. Dann kann der Speicher-Controller 200 optional den ersten Speicher-Chip 110 steuern, um die Speicherzelle, die dem zweiten Fehlerkorrekturvorgang unterzogen wurde, durch eine Redundanzzelle zu ersetzen (S350).
  • 13 ist ein Flussdiagramm, das einen Fehlerkorrekturvorgang eines Speichersystems gemäß einer beispielhaften Ausführungsform des erfinderischen Konzepts darstellt. Es wird nun unter Bezugnahme auf 9 und 13 die Fehlerkorrektur des Speichersystems beschrieben.
  • Der Speicher-Controller 200c empfängt Daten von den ersten Speicher-Chips durch die Daten-Lanes und erste ECC-Daten von einem zweiten Speicher-Chip durch erste ECC-Lanes (S410). Zum Beispiel kann der Speicher-Controller 200c die Daten von den Speicher-Chips empfangen, die durch den ersten Kasten des Speichermoduls 100c, benannt mit „DRAMs“, dargestellt sind, und kann die ersten ECC-Daten von dem Speicher-Chip empfangen, der durch den zweiten Kasten des Speichermoduls 100c, benannt mit „DRAM (ECC)“, dargestellt ist. Der Speicher-Controller 220c bestimmt, ob ein Fehler in den empfangenen Daten vorliegt, ob der Fehler korrigierbar ist, wenn ein Fehler vorliegt, und bestimmt, ob ein physisches Ersetzen eines Speicher-Chips erforderlich ist, wenn der Fehler korrigierbar ist (S420).
  • Wenn der Fehler korrigierbar ist und das physische Ersetzen eines Speicher-Chips erforderlich ist, empfängt der Speicher-Controller 200c zweite ECC-Daten durch die zweiten ECC-Lanes von dem dritten Speicher-Chip (S430). Zum Beispiel kann der Speicher-Controller 200c die zweiten ECC-Daten von den Speicher-Chips empfangen, die durch den dritten Kasten des Speichermoduls 100c, benannt mit „DRAM (ECC)“, dargestellt sind. In einer beispielhaften Ausführungsform wird das physische Ersetzen abhängig davon bestimmt, ob die Anzahl an korrigierbaren Fehler-Bits und die Anzahl an Fehler-Bits größer sind als ein vorbestimmter Wert. In einer beispielhaften Ausführungsform ist ein physisches Ersetzen erforderlich, wenn die Anzahl an korrigierbaren Fehler-Bits größer ist als der vorbestimmte Wert.
  • Der Speicher-Controller 200c führt einen Fehlerkorrekturvorgang bei den empfangenen Daten unter Verwendung der ersten ECC-Daten und der zweiten ECC-Daten durch und führt ein physisches Ersetzen für den Speicher-Chip (starker ECC) durch (S440). Wenn der Fehlerkorrekturvorgang erfolgreich ist, werden ein oder mehrere Fehler der empfangenen Daten korrigiert. Zum Beispiel nachdem der Fehler korrigiert wurde, kann der Speicher-Controller 200c anfordern, dass der Speicher-Chip eine Speicherzelle entsprechend einer Adresse durch eine Redundanzzelle ersetzt. Der Speicher-Chip kann die Speicherzelle entsprechend der Adresse durch eine Redundanzzelle entsprechend der Anforderung des Speicher-Controllers 200c austauschen. Zum Beispiel falls die empfangenen Daten in einer ersten Speicherzelle gespeichert sind, können, nachdem ein Fehler in den empfangenen Daten korrigiert wurde, um korrigierte Daten zu erzeugen, die korrigierten Daten in einer zweiten anderen Speicherzelle gespeichert werden, wenn ein Ersetzen erforderlich ist.
  • Wenn dagegen der Fehler korrigierbar ist, aber das physische Ersetzen für einen Speicher-Chip nicht erforderlich ist, korrigiert der Speicher-Controller 200c den Fehler der empfangenen Daten unter Verwendung der ersten ECC-Daten (schwacher ECC) (S450). Zum Beispiel führt der Speicher-Controller 200c einen Fehlerkorrekturvorgang bei den empfangenen Daten unter Verwendung von lediglich den ersten ECC-Daten durch, wenn ein physisches Ersetzen nicht erforderlich ist.
  • Die oben beschriebenen Ausführungsformen können unter Verwendung von Hardware-Komponenten, Software-Komponenten und/oder einer Kombination daraus implementiert werden. Zum Beispiel können das Verfahren und die Komponenten, die in den Ausführungsformen beschrieben sind, unter Verwendung von einem oder mehreren Universal- oder Spezial-Computern implementiert werden, wie beispielsweise einem Prozessor, einem Controller, einer arithmetisch-logischen Einheit (ALU), einem digitalen Signalprozessor, einem Mikrocomputer, einem Field Programmable Gate Array (FPGA), einer programmierbaren Logikeinheit (PLU), einem Mikroprozessor, oder einer beliebigen anderen Vorrichtung, die fähig ist, auf Anweisungen auf eine definierte Art und Weise zu reagieren und diese auszuführen.
  • Ein Speicher-Chip der vorliegenden Offenbarung kann in einer Stapelkonfiguration implementiert werden.
  • 14 ist ein Blockdiagramm eines Speicher-Chips gemäß einer beispielhaften Ausführungsform des erfinderischen Konzepts.
  • Bezugnehmend auf 14 umfasst ein Speicher-Chip 1000 erste bis dritte Speicher-Dies 1100 bis 1300 und Silicium-Durchkontaktierungen (Through-Silicon Via, TSVs), die auf einem Substrat in einer vertikalen Richtung gestapelt sind. Die Anzahl der gestapelten Speicher-Dies ist nicht auf die in 14 dargestellte beschränkt. Zum Beispiel können das erste und das zweite Speicher-Die 1100 und 1200 Slave-Dies sein und das dritte Speicher-Die 1300 kann ein Master-Die oder ein Puffer-Die sein.
  • Das erste Speicher-Die 1100 umfasst eine erste Speicherzellenanordnung 1110 und eine erste Durchgangselektrodenregion 1120 für einen Zugriff auf die erste Speicherzellenanordnung 1110. Das zweite Speicher-Die 1200 umfasst eine zweite Speicherzellenanordnung 1210 und eine zweite Durchgangselektrodenregion 1220 für einen Zugriff auf die zweite Speicherzellenanordnung 1210. Die erste Durchgangselektrodenregion 1120 kann eine Region repräsentieren, in der Durchgangselektroden zur Kommunikation zwischen dem ersten Speicher-Die 1100 und dem dritten Speicher-Die 1300 in dem ersten Speicher-Die 1100 angeordnet sind. Auf ähnliche Art und Weise kann die zweite Durchgangselektrodenregion 1220 eine Region repräsentieren, in der Durchgangselektroden zur Kommunikation zwischen dem zweiten Speicher-Die 1200 und dem dritten Speicher-Die 1300 in dem zweiten Speicher-Die 1200 angeordnet sind. Die Durchgangselektroden können elektrische Pfade zwischen den ersten bis dritten Speicher-Dies 1100 bis 1300 ausbilden. Die ersten bis dritten Speicher-Dies 1100 bis 1300 können durch die Durchgangselektroden miteinander elektrisch verbunden sein. Zum Beispiel können hunderte bis tausende der Durchgangselektroden ausgebildet sein und die Durchgangselektroden können in Matrix-Form angeordnet sein. Das dritte Speicher-Die 1300 umfasst eine erste Peripherieschaltung 1310 und eine zweite Peripherieschaltung 1320. Die erste Peripherieschaltung 1310 kann Schaltungen zum Zugreifen auf den ersten Speicher-Die 1100 sein und die zweite Peripherieschaltung 1320 umfasst Schaltungen zum Zugreifen auf das zweite Speicher-Die 1200.
  • Ein Speicher-Chip gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung weist eine variable Eingabe/Ausgabe-Breite abhängig von einer Steuerung eines Speicher-Controllers auf.
  • 15 stellt einen Speicher-Chip 2000 gemäß einer beispielhaften Ausführungsform des erfinderischen Konzepts dar. In 15 umfasst der Speicher-Chip 2000 eine Speicherzellenanordnung 2100, einen Zeilen-Decoder 2200 (z.B. eine Decoder-Schaltung), eine Eingabe/Ausgabe-Erfassungsverstärkerschaltung 2300, einen Spalten-Decoder 2400 (z. B. eine Decoder-Schaltung), eine DQ-Rekonfigurationsschaltung 2500 und einen DQ-Konfigurations-Controller 2600 (z. B. eine Steuerschaltung) und einen Eingabe/Ausgabe-Puffer 2700.
  • Der DQ-Rekonfigurations-Controller 2600 kann ein Steuersignal basierend auf einem Nutzerbefehl erzeugen. Das Steuersignal kann der DQ-Rekonfigurationsschaltung 2500 bereitgestellt werden, um einen Modus einer DQ-Konfiguration zu ändern, zum Beispiel ein DQ-Pad in einen gewünschten Modus auf augenblickliche Art und Weise (z. B. dynamisch). Der Nutzerbefehl kann einen Befehl umfassen, das DQ-Pad in einem von dem Nutzer gewünschten Modus aus den DQ-Pad-Modi x4, x8 und x16 zu konfigurieren. Ein solcher Nutzerbefehl kann übertragen werden, während eine Speichervorrichtung umfassend den Speicher-Chip 2000 betrieben wird. Wenn das Steuersignal der DQ-Rekonfigurationsschaltung 2500 bereitgestellt wird, kann die DQ-Rekonfigurationsschaltung 2500 die DQ-Pad-Konfiguration auf augenblickliche Art und Weise neu konfigurieren, zum Beispiel in einen DQ-Pad-Modus, der durch das Steuersignal angegeben wird.
  • In einer beispielhaften Ausführungsform ist der Nutzerbefehl ein Befehl, der von einem Speicher-Controller des Prozessors bereitgestellt wird. Wenn ein Nutzungsplan oder ein Ablaufplan bezüglich des DQ-Pad-Modus der Speichervorrichtung als Abschnitt eines vorgegebenen Programms umfasst ist und das Programm durch den Prozessor ausgeführt wird, kann der Speicher-Controller, angewiesen durch den Prozessor, eine Anweisung an den DQ-Konfigurations-Controller 200 übertragen, um den DQ-Pad-Modus der Speichervorrichtung umzuschalten. Die DQ-Rekonfigurationsschaltung 2500 kann die Konfiguration des DQ-Pads in einen angewiesenen Modus basierend auf dem Steuersignal, das von dem DQ-Konfigurations-Controller 2600 bereitgestellt wird, neu konfigurieren. Zum Beispiel wenn das Steuersignal, das von dem DQ-Konfigurations-Controller 2600 bereitgestellt wird, ein Signal ist, um in einen x8-Modus umzuschalten, kann die Konfiguration des DQ-Pads sofort in den x8-Modus geändert werden.
  • Der Speicher-Chip 2000 umfasst eine Speicherzellenanordnung 2100 umfassend Speicherzellen und unterstützende Logik, die verwendet werden, um Daten in die Speicherzellenanordnung 2100 zu schreiben oder Daten aus der Speicherzellenanordnung 2100 auszulesen. In einer beispielhaften Ausführungsform ist die Speicherzellenanordnung 2100 in Zeilen (oder Wortleitungen) und Spalten (oder Bit-Leitungen) von Speicherzellen angeordnet. Jede Speicherzelle in der Speicherzellenanordnung 2100 hat einen eindeutigen Standort, zum Beispiel eine Adresse, die durch die Überschneidung von Zeilen und Spalten definiert wird. Die unterstützende Logik kann die Zeilen- und Spaltenadressen der Speicherzellenanordnung 2100 zwischenspeichern. Die unterstützende Logik umfasst einen Zeilen-Decoder 2200, eine Eingabe/Ausgabe-Erfassungs- und Verstärkereinrichtung 2300, einen Spalten-Decoder 2400 und einen Eingabe/Ausgabe-Puffer 2700. Der Zeilen-Decoder 2200 und der Spalten-Decoder 2400 können eingerichtet sein, Adressen zu lösen und den Start und das Ende eines Lesevorgangs und eines Schreibvorgangs zu steuern. Die Eingabe/Ausgabe-Erfassungs- und Verstärkereinrichtung 2300 kann eingerichtet sein, ein Eingabe/Ausgabesignal von Datenleitungen zu verstärken. Der Eingabe/Ausgabe-Puffer 2700 kann eingerichtet sein, Eingabe/Ausgabe-Daten zu puffern. Zum Beispiel können Daten vorübergehend in dem Eingabe/Ausgabe-Puffer 2700 gespeichert werden, bevor sie ausgegeben werden.
  • Der Speicher-Chip 2000 gemäß einer beispielhaften Ausführungsform kann eine Konfiguration der zwei ECC-Speicher-Chips implementieren, die in 9 als einzelner Speicher-Chip dargestellt sind.
  • 16 stellt ein Rechensystem 3000 gemäß einer beispielhaften Ausführungsform des erfinderischen Konzepts dar. In 16 umfasst das Rechensystem 3000 mindestens ein Speichermodul (DIMM) 3100, mindestens ein nichtflüchtiges Speichermodul (NVDIMM) 3200 und mindestens einen Prozessor 3300.
  • In einer beispielhaften Ausführungsform kann das Rechensystem 3000 als eines einer Mehrzahl von Vorrichtungen verwendet werden, wie beispielsweise als Computer, tragbarer Computer, Ultra-Mobiler Personal Computer (UMPC), Workstation, Datenserver, Netbook, Personal Data Assistant (PDA), Webtablet, drahtloses Telefon, Mobiltelefon, Smartphone, E-Book, tragbarer Multimedia-Player (PMP), Digitalkamera, digitaler Audio-Recorder/-Player, digitaler Bild/Video-Recorder/-Player, tragbare Spielekonsole, Navigationssystem, Blackbox, 3D-Fernseher, als Vorrichtung, die fähig ist, Informationen drahtlos zu übertragen und zu empfangen, als Wearable-Vorrichtung, eine von verschiedenen elektronischen Vorrichtungen, die ein Heimnetzwerk bilden, eine von verschiedenen elektronischen Vorrichtungen, die ein Computernetzwerk bilden, eine von verschiedenen elektronischen Vorrichtungen, die ein Telematiknetzwerk bilden, als Radio-Frequency-Identification(RFID)-Vorrichtung oder als eine von verschiedenen elektronischen Vorrichtungen, die ein Computersystem bilden.
  • Das mindestens eine Speichermodul 3100 kann mit dem Speichermodul oder dem Fehlerkorrekturvorgang, der unter 1 bis 15 beschrieben ist, implementiert werden. In einer beispielhaften Ausführungsform ist das Speichermodul 3100 mit dem Prozessor 3300 entsprechend einer DDRx-Schnittstelle verbunden.
  • In einer beispielhaften Ausführungsform umfasst das mindestens eine Speichermodul 3100 mindestens einen ersten Speicher-Chip (Datenchip), der eine erste Eingabe/Ausgabe-Breite aufweist und Daten speichert, und mindestens einen zweiten Speicher-Chip (ECC-Chip), der eine zweite Eingabe/Ausgabe-Breite aufweist, die sich von der ersten Eingabe/Ausgabe-Breite unterscheidet, und einen Fehlerkorrekturcode speichert, um einen Fehler in den Daten zu korrigieren.
  • Das mindestens eine nichtflüchtige Speichermodul 3200 kann mindestens einen nichtflüchtigen Speicher umfassen. In einer beispielhaften Ausführungsform kann der mindestens eine nichtflüchtige Speicher einen NAND-Flash-Speicher, einen vertikalen NAND-Flash-Speicher (VNAND), einen NOR-Flash-Speicher, einen resistiven Direktzugriffsspeicher (RRAM), einen Phasenänderungs-Direktzugriffsspeicher (PRAM), einen magnetoresistiven Direktzugriffsspeicher (MRAM), einen ferroelektrischen Direktzugriffsspeicher (FRAM), einen Spin-Transfer-Torque-Direktzugriffsspeicher (STT-RAM), einen Thryistor-Direktzugriffsspeicher (TRAM) oder dergleichen umfassen. In einer beispielhaften Ausführungsform ist das nichtflüchtige Speichermodul 3200 mit dem Prozessor 3300 gemäß einer DDR-Schnittstelle verbunden.
  • Der mindestens eine Prozessor 3300 kann derart implementiert sein, dass er das Speichermodul 3100 und das nichtflüchtige Speichermodul 3200 steuert. In einer beispielhaften Ausführungsform kann der Prozessor 3300 einen Universal-Mikroprozessor, einen Mehrkernprozessor, einen digitalen Signalprozessor (DSP), eine anwendungsspezifische integrierte Schaltung (ASIC) oder eine Kombination daraus umfassen.
  • In einer beispielhaften Ausführungsform kann der Prozessor 3300 eine Adresstiefe von mindestens einem ersten Speicher-Chip des Speichermoduls 3100 und eine Adresstiefe von mindestens einem zweiten Speicher-Chip des Speichermoduls 3100 voneinander unterscheiden.
  • In einer beispielhaften Ausführungsform variiert der Prozessor 3300 die zweite Eingabe/Ausgabe-Breite des mindestens einen zweiten Speicher-Chips des Speichermoduls 3100 abhängig von Leistungs- und Zuverlässigkeitsanforderungen.
  • In einer beispielhaften Ausführungsform ist das oben beschriebene Speichermodul in einem Datenserver ausgebildet.
  • 17 stellt eine Server-Vorrichtung 4000 (z. B. einen Datenserver) gemäß einer beispielhaften Ausführungsform des erfinderischen Konzepts dar. In 17 umfasst die Servervorrichtung 4000 eine Mehrzahl von Baugruppenträgern bzw. Racks 4100. Das Speichermodul 4200, das unter Bezugnahme auf 1 bis 16 beschrieben ist, kann in jedem der Mehrzahl von Racks 4100 montiert werden.
  • In einer beispielhaften Ausführungsform kann jedes der Racks 4100 Hauptspeichervorrichtungen, mindestens einen Prozessor, mindestens einen Chipsatz und mindestens eine Speichervorrichtung, die darauf montiert ist, umfassen. In einer beispielhaften Ausführungsform kann die Servervorrichtung 4000 zusätzlich mit einer Eingabe/Ausgabevorrichtung, einem Grafikprozessor und einer Anzeigevorrichtung ausgebildet sein.
  • Ein Servermodul kann basierend auf einem x4 DRAM oder einem x8 DRAM konfiguriert sein. In einem herkömmlichen Servermodul ist der gesamte DRAM in der gleichen Konfiguration (Eingabe- und Ausgabebreite) implementiert und eine Entlastung für x4 bis x8 Datenlanes wird durch einen System-ECC durchgeführt. Ein Servermodul für einen DDR5 der nächsten Generation gemäß einer beispielhaften Ausführungsform des erfinderischen Konzepts umfasst zwei Sub-Kanäle. In jedem der Sub-Kanäle können x32 Daten und x8 ECC ein- und ausgegeben werden. Das Speichermodul gemäß dieser Ausführungsform umfasst ein serverorientiertes DDR5-Speichermodul, in dem x16 DRAM und x8 DRAM miteinander gemischt sind, um einen serverorientierten DIMM zu konfigurieren und eine verbesserte ECC-Abdeckung im Vergleich zu einem existierenden Modul zu implementieren.
  • Wie oben beschrieben, werden gemäß einer beispielhaften Ausführungsform des erfinderischen Konzepts Adresstiefen eines Speicher-Chips und eines Fehlerkorrekturchips voneinander getrennt, um einen Fehlerkorrekturbereich ohne Leistungsminderung zu erweitern.
  • Während beispielhafte Ausführungsformen gezeigt und vorstehend beschrieben worden sind, wird dem Fachmann ersichtlich werden, dass verschiedene Modifikationen vorgenommen werden können, ohne sich von dem Schutzumfang zu entfernen, so wie dieser in den beigefügten Ansprüchen definiert ist.

Claims (20)

  1. Speichermodul aufweisend: eine Mehrzahl erster Speicher-Chips (110; 111A, 112A, 111B, 112B), die derart eingerichtet sind, dass sie Daten speichern, wobei jeder erste Speicher-Chip (110; 111A, 112A, 111B, 112B) eine erste Eingabe/Ausgabe-Breite hat; einen zweiten Speicher-Chip (120; 120A, 120B), der derart eingerichtet ist, dass er einen Fehlerkorrekturcode (ECC), um einen Fehler in den Daten zu korrigieren, speichert, wobei der zweite Speicher-Chip (120; 120A, 120B) eine zweite Eingabe/Ausgabe-Breite hat; und eine Treiberschaltung (130), die derart eingerichtet ist, dass sie ein Taktsignal (CK), einen Befehl (CMD) und eine Adresse (ADD) von einem Speicher-Controller empfängt (200; 200b; 200c) und dass sie das Taktsignal (CK), den Befehl (CMD) und die Adresse (ADD) an die ersten Speicher-Chips (110; 111A, 112A, 111B, 112B) und den zweiten Speicher-Chip (120; 120A, 120B) überträgt, wobei sich eine Adresstiefe jedes der ersten Speicher-Chips (110; 111A, 112A, 111B, 112B) und eine Adresstiefe des zweiten Speicher-Chips (120; 120A, 120B) voneinander unterscheiden.
  2. Speichermodul nach Anspruch 1, wobei die erste Eingabe/Ausgabe-Breite größer ist als die zweite Eingabe/Ausgabe-Breite.
  3. Speichermodul nach Anspruch 1 oder 2, wobei die erste Eingabe/Ausgabe-Breite eine x16-Bit-Schnittstelle ist und die zweite Eingabe/Ausgabe-Breite eine x8-Bit-Schnittstelle ist.
  4. Speichermodul eines der Ansprüche 1 bis 3, wobei eine Adresstiefe jedes der ersten Speicher-Chips (110; 111A, 112A, 111B, 112B) geringer ist als eine Adresstiefe des zweiten Speicher-Chips (120; 120A, 120B).
  5. Speichermodul nach Anspruch 4, wobei sowohl auf die ersten Speicher-Chips (110; 111A, 112A, 111B, 112B) als auch auf den zweiten Speicher-Chip (120; 120A, 120B) durch die Adresse, die 3 Bits einer Bankgruppenadresse, 2 Bits einer Bankadresse, 16 Bits einer Zeilenadresse und 10 Bits einer Spaltenadresse umfasst, zugegriffen wird, und jeder der ersten Speicher-Chips (110; 111A, 112A, 111B, 112B) mindestens ein Adress-Bit in der Adresse ignoriert.
  6. Speichermodul nach Anspruch 5, wobei das mindestens eine Adress-Bit ein niedrigstwertiges Bit (BG2) der Bankgruppenadresse ist.
  7. Speichermodul eines der Ansprüche 1 bis 6, wobei die ersten Speicher-Chips (110; 111A, 112A, 111B, 112B) Daten einer x32-Bit-Schnittstelle eingeben und ausgeben, und der zweite Speicher-Chip (120; 120A, 120B) einen Fehlerkorrekturcode einer x8-Bit-Schnittstelle eingibt und ausgibt.
  8. Speichermodul nach Anspruch 7, wobei die Adresse eine Bankgruppenadresse, eine Bankadresse, eine Zeilenadresse und eine Spaltenadresse umfasst, und wenn ein niedrigstwertiges Bit (BG2) der Bankgruppenadresse bei einem Low-Pegel ist, 32 Bits von Daten aus den ersten Speicher-Chips (110; 111A, 112A, 111B, 112B) ansprechend auf einen Lesebefehl ausgegeben werden und 8 Bits von Daten aus dem zweiten Speicher-Chip (120; 120A, 120B) ansprechend auf den Lesebefehl ausgegeben werden.
  9. Speichermodul nach Anspruch 7 oder 8, wobei die Adresse eine Bankgruppenadresse, eine Bankadresse, eine Zeilenadresse und eine Spaltenadresse umfasst, wenn ein niedrigstwertiges Bit (BG2) der Bankgruppenadresse bei einem Low-Pegel ist, 32 Bits von Daten aus den ersten Speicher-Chips (110; 111A, 112A, 111B, 112B) ansprechend auf einen ersten Lesebefehl ausgegeben werden und 8 Bits Fehlerkorrekturcode aus dem zweiten Speicher-Chip (120; 120A, 120B) ansprechend auf den ersten Lesebefehl ausgegeben werden, und wenn das niedrigstwertige Bit (BG2) der Bankgruppenadresse von dem Low-Pegel zu einem High-Pegel übergeht, die 32 Bits Daten aus den ersten Speicher-Chips (110; 111A, 112A, 111B, 112B) ansprechend auf einen zweiten Lesebefehl ausgegeben werden und 8 Bits eines ersten Fehlerkorrekturcodes aus dem zweiten Speicher-Chip (120; 120A, 120B) ansprechend auf einen zweiten Lesebefehl ausgegeben werden.
  10. Speichermodul eines der Ansprüche 1 bis 9, wobei eine Eingabe/Ausgabe-Breite jedes der ersten Speicher-Chips (110; 111A, 112A, 111B, 112B) und des zweiten Speicher-Chips (120; 120A, 120B) durch den Speicher-Controller variiert wird.
  11. Speichermodul eines der Ansprüche 1 bis 10, wobei jeder der ersten Speicher-Chips (110; 111A, 112A, 111B, 112B) ein Datenchip ist, und der zweite Speicher-Chip (120; 120A, 120B) ein ECC-Chip ist.
  12. Speichermodul nach Anspruch 11, wobei die Anzahl an Bits einer Adresse, die von dem ECC-Chip berücksichtigt wird, größer ist als die Anzahl an Bits einer Adresse, die von dem Datenchip berücksichtigt wird.
  13. Speichermodul nach Anspruch 11 oder 12, wobei die Anzahl an Bits einer Bankgruppenadresse, die von dem ECC-Chip berücksichtigt wird, größer ist als die Anzahl an Bits einer Bankgruppenadresse, die von dem Datenchip berücksichtigt wird.
  14. Speichermodul nach einem der Ansprüche 11 bis 13, wobei auf den Datenchip durch Bänke gemäß 2 Bits einer Bankgruppenadresse zugegriffen wird, und auf den ECC-Chip durch Bänke gemäß 3 Bits einer Bankgruppenadresse zugegriffen wird.
  15. Speichermodul eines der Ansprüche 11 bis 14, wobei die Adresse k+1 Adress-Bits umfasst, auf den ECC-Chip unter Verwendung erster bis k+1-ter Adress-Bits zugegriffen wird, und auf den Datenchip unter Verwendung erster bis j-ter Adress-Bits und (j+2)-ter bis (k+1)-ter Adress-Bits zugegriffen wird, wobei j und k natürliche Zahlen sind.
  16. Speichermodul aufweisend: einen ersten Sub-Kanal (SCH-A); einen zweiten Sub-Kanal (SCH-B); und eine Treiberschaltung (130), die derart eingerichtet ist, dass sie ein Taktsignal (CK), erste und zweite Befehle (CMD_A, CMD_B) und eine Adresse von einem Speicher-Controller empfängt und dass sie das Taktsignal (CK), den ersten Befehl (CMD_A) und die Adresse an den ersten Sub-Kanal (SCH-A) überträgt und das Taktsignal (CK), den zweiten Befehl (CMD B) und die Adresse an den zweiten Sub-Kanal (SCH-B) überträgt, wobei sowohl der erste als auch der zweite Sub-Kanal (CMD A, CMD B) aufweisen eine Mehrzahl erster Speicher-Chips (110; 111A, 112A, 111B, 112B), die derart eingerichtet sind, dass sie Daten speichern, wobei jeder erste Speicher-Chip (110; 111A, 112A, 111B, 112B) eine erste Eingabe/Ausgabe-Breite hat; und einen zweiten Speicher-Chip (120; 120A, 120B), derart eingerichtet ist, dass er einen Fehlerkorrekturcode, um einen Fehler in den Daten zu korrigieren, speichert, wobei der zweite Speicher-Chip (120; 120A, 120B) eine zweiten Eingabe/Ausgabe-Breite hat, die geringer ist als die erste Eingabe/Ausgabe-Breite, und sich eine Adresstiefe jedes der ersten Speicher-Chips (110; 111A, 112A, 111B, 112B) und eine Adresstiefe des zweiten Speicher-Chips (120; 120A, 120B) voneinander unterscheiden.
  17. Speichermodul nach Anspruch 16, wobei sowohl der erste als auch der zweite Sub-Kanal (CMD_A, CMD_B) Daten einer x32-Bit-Schnittstelle eingibt und ausgibt und einen Fehlerkorrekturcode einer x8-Bit-Schnittstelle eingibt und ausgibt.
  18. Speichermodul nach Anspruch 16 oder 17, wobei der zweite Speicher-Chip (120; 120A, 120B) einen fehlerhaften Speicher-Chip verwendet, der ein niedrigstwertiges Bit (BG2) einer Bankgruppenadresse auf einen Low-Pegel setzt, oder das niedrigstwertige Bit (BG2) der Bankgruppenadresse auf einen High-Pegel setzt.
  19. Speichermodul nach Anspruch 18, wobei jeder der ersten Speicher-Chips (110; 111A, 112A, 111B, 112B) Daten ohne Berücksichtigung von dem niedrigstwertigen Bit (BG2) der Bankgruppenadresse ausgibt, und der zweite Speicher-Chip (120; 120A, 120B) einen zusätzlichen Fehlerkorrekturcode ausgibt, um einen Fehler in den Daten ansprechend auf das niedrigstwertige Bit (BG2) der Bankgruppe zu korrigieren.
  20. Fehlerkorrekturverfahren eines Speicher-Controllers, der derart eingerichtet ist, dass er ein Speichermodul (100; 100a; 100b; 100c; 3100; 4200) steuert, welches erste Speicher-Chips (110; 111A, 112A, 111B, 112B) umfasst, die jeweils eine erste Eingabe/Ausgabe-Breite aufweisen und derart eingerichtet sind, dass sie Daten speichern, und welches mindestens einen zweiten Speicher-Chip (120; 120A, 120B) umfasst, der eine zweite Eingabe/Ausgabe-Breite aufweist und der derart eingerichtet ist, dass er einen Fehlerkorrekturcode, um einen Fehler in den Daten zu korrigieren, speichert, wobei das Fehlerkorrekturverfahren aufweist: Bestimmen, ob die Daten, die von dem Speichermodul (100; 100a; 100b; 100c; 3100; 4200) empfangen wurden, einen Fehler umfassen, der korrigierbar ist; Bestimmen, ob ein physisches Ersetzen einer Speicherzelle, in der die Daten gespeichert sind, erforderlich ist; Auswählen eines ersten Fehlerkorrekturmodus, wenn der Fehler korrigierbar ist und das physische Ersetzen erforderlich ist; Auswählen eines zweiten Fehlerkorrekturmodus, wenn der Fehler korrigierbar ist und das physische Ersetzen nicht erforderlich ist; und Durchführen eines Fehlerkorrekturvorgangs bei den Daten gemäß dem ausgewählten Fehlerkorrekturmodus.
DE102020115747.9A 2019-09-20 2020-06-15 Speichermodul, Fehlerkorrekturverfahren für Speicher-Controller, der dieses steuert, und Rechensystem, das dieses umfasst Pending DE102020115747A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2019-0116041 2019-09-20
KR1020190116041A KR20210034726A (ko) 2019-09-20 2019-09-20 메모리 모듈, 그것을 제어하는 메모리 제어기의 에러 정정 방법, 및 그것을포함하는 컴퓨팅 시스템

Publications (1)

Publication Number Publication Date
DE102020115747A1 true DE102020115747A1 (de) 2021-03-25

Family

ID=74846624

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020115747.9A Pending DE102020115747A1 (de) 2019-09-20 2020-06-15 Speichermodul, Fehlerkorrekturverfahren für Speicher-Controller, der dieses steuert, und Rechensystem, das dieses umfasst

Country Status (4)

Country Link
US (2) US11157358B2 (de)
KR (1) KR20210034726A (de)
DE (1) DE102020115747A1 (de)
SG (1) SG10202005170VA (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210034726A (ko) 2019-09-20 2021-03-31 삼성전자주식회사 메모리 모듈, 그것을 제어하는 메모리 제어기의 에러 정정 방법, 및 그것을포함하는 컴퓨팅 시스템
US11366772B2 (en) * 2020-03-16 2022-06-21 Micron Technology, Inc. Separate inter-die connectors for data and error correction information and related systems, methods, and apparatuses
CN114153402B (zh) * 2022-02-09 2022-05-03 阿里云计算有限公司 存储器及其数据读写方法
US20240143200A1 (en) * 2022-10-31 2024-05-02 ScaleFlux, Inc. Reducing energy comsumption of self-managed dram modules

Family Cites Families (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100481994B1 (ko) 1996-08-27 2005-12-01 세이코 엡슨 가부시키가이샤 박리방법,박막디바이스의전사방법,및그것을이용하여제조되는박막디바이스,박막집적회로장치및액정표시장치
USRE38466E1 (en) 1996-11-12 2004-03-16 Seiko Epson Corporation Manufacturing method of active matrix substrate, active matrix substrate and liquid crystal display device
US5996096A (en) * 1996-11-15 1999-11-30 International Business Machines Corporation Dynamic redundancy for random access memory assemblies
US7208725B2 (en) 1998-11-25 2007-04-24 Rohm And Haas Electronic Materials Llc Optoelectronic component with encapsulant
JP3906654B2 (ja) 2000-07-18 2007-04-18 ソニー株式会社 半導体発光素子及び半導体発光装置
WO2003019678A1 (fr) 2001-08-22 2003-03-06 Sony Corporation Element semiconducteur au nitrure et procede de production de cet element
JP2003218034A (ja) 2002-01-17 2003-07-31 Sony Corp 選択成長方法、半導体発光素子及びその製造方法
JP3815335B2 (ja) 2002-01-18 2006-08-30 ソニー株式会社 半導体発光素子及びその製造方法
JP4159415B2 (ja) 2002-08-23 2008-10-01 エルピーダメモリ株式会社 メモリモジュール及びメモリシステム
KR100499129B1 (ko) 2002-09-02 2005-07-04 삼성전기주식회사 발광 다이오드 및 그 제조방법
US7002182B2 (en) 2002-09-06 2006-02-21 Sony Corporation Semiconductor light emitting device integral type semiconductor light emitting unit image display unit and illuminating unit
US7457822B1 (en) 2002-11-01 2008-11-25 Bluearc Uk Limited Apparatus and method for hardware-based file system
KR100714639B1 (ko) 2003-10-21 2007-05-07 삼성전기주식회사 발광 소자
KR100506740B1 (ko) 2003-12-23 2005-08-08 삼성전기주식회사 질화물 반도체 발광소자 및 그 제조방법
US8868790B2 (en) 2004-02-13 2014-10-21 Oracle International Corporation Processor-memory module performance acceleration in fabric-backplane enterprise servers
KR100664985B1 (ko) 2004-10-26 2007-01-09 삼성전기주식회사 질화물계 반도체 소자
US7414312B2 (en) * 2005-05-24 2008-08-19 Kingston Technology Corp. Memory-module board layout for use with memory chips of different data widths
KR100665222B1 (ko) 2005-07-26 2007-01-09 삼성전기주식회사 확산재료를 이용한 엘이디 패키지 및 그 제조 방법
KR100661614B1 (ko) 2005-10-07 2006-12-26 삼성전기주식회사 질화물계 반도체 발광소자 및 그 제조방법
KR100723247B1 (ko) 2006-01-10 2007-05-29 삼성전기주식회사 칩코팅형 led 패키지 및 그 제조방법
KR100735325B1 (ko) 2006-04-17 2007-07-04 삼성전기주식회사 발광다이오드 패키지 및 그 제조방법
KR100930171B1 (ko) 2006-12-05 2009-12-07 삼성전기주식회사 백색 발광장치 및 이를 이용한 백색 광원 모듈
KR100855065B1 (ko) 2007-04-24 2008-08-29 삼성전기주식회사 발광 다이오드 패키지
KR100982980B1 (ko) 2007-05-15 2010-09-17 삼성엘이디 주식회사 면 광원 장치 및 이를 구비하는 lcd 백라이트 유닛
KR101164026B1 (ko) 2007-07-12 2012-07-18 삼성전자주식회사 질화물계 반도체 발광소자 및 그 제조방법
KR100891761B1 (ko) 2007-10-19 2009-04-07 삼성전기주식회사 반도체 발광소자, 그의 제조방법 및 이를 이용한 반도체발광소자 패키지
US20100005220A1 (en) * 2008-07-01 2010-01-07 International Business Machines Corporation 276-pin buffered memory module with enhanced memory system interconnect and features
US7717752B2 (en) * 2008-07-01 2010-05-18 International Business Machines Corporation 276-pin buffered memory module with enhanced memory system interconnect and features
US20100005219A1 (en) * 2008-07-01 2010-01-07 International Business Machines Corporation 276-pin buffered memory module with enhanced memory system interconnect and features
KR101332794B1 (ko) 2008-08-05 2013-11-25 삼성전자주식회사 발광 장치, 이를 포함하는 발광 시스템, 상기 발광 장치 및발광 시스템의 제조 방법
KR20100030470A (ko) 2008-09-10 2010-03-18 삼성전자주식회사 다양한 색 온도의 백색광을 제공할 수 있는 발광 장치 및 발광 시스템
KR101530876B1 (ko) 2008-09-16 2015-06-23 삼성전자 주식회사 발광량이 증가된 발광 소자, 이를 포함하는 발광 장치, 상기 발광 소자 및 발광 장치의 제조 방법
US8008683B2 (en) 2008-10-22 2011-08-30 Samsung Led Co., Ltd. Semiconductor light emitting device
US8234459B2 (en) 2009-03-13 2012-07-31 Hewlett-Packard Development Company, L.P. Switch module based non-volatile memory in a server
TW201222254A (en) * 2010-11-26 2012-06-01 Inventec Corp Method for protecting data in damaged memory cells by dynamically switching memory mode
US8634241B2 (en) * 2010-12-13 2014-01-21 Aplus Flash Technology, Inc. Universal timing waveforms sets to improve random access read and write speed of memories
US9357649B2 (en) * 2012-05-08 2016-05-31 Inernational Business Machines Corporation 276-pin buffered memory card with enhanced memory system interconnect
US8874979B2 (en) 2012-06-14 2014-10-28 International Business Machines Corporation Three dimensional(3D) memory device sparing
US20140019588A1 (en) 2012-07-16 2014-01-16 VMO Systems Inc. Distributed Local Text, Audio and Video And Application-Specific Messaging Service With Video Recording In A Battery-Operated Wireless Mobile Data Server With Removable Solid-State Memory Modules
US9690650B2 (en) * 2013-03-11 2017-06-27 Macronix International Co., Ltd. Storage scheme for built-in ECC operations
US9519315B2 (en) * 2013-03-12 2016-12-13 International Business Machines Corporation 276-pin buffered memory card with enhanced memory system interconnect
US10324841B2 (en) * 2013-07-27 2019-06-18 Netlist, Inc. Memory module with local synchronization
US9983990B1 (en) * 2013-11-21 2018-05-29 Altera Corporation Configurable storage circuits with embedded processing and control circuitry
EP3074878A4 (de) 2013-11-27 2017-07-19 Intel Corporation Verfahren und vorrichtung für serverplattformarchitekturen zur aktivierung funktionsfähiger nichtflüchtiger speichermodule
US9772900B2 (en) 2014-07-10 2017-09-26 Samsung Electronics Co., Ltd. Tiered ECC single-chip and double-chip Chipkill scheme
US9971733B1 (en) * 2014-12-04 2018-05-15 Altera Corporation Scalable 2.5D interface circuitry
US9870325B2 (en) 2015-05-19 2018-01-16 Intel Corporation Common die implementation for memory devices with independent interface paths
US9842021B2 (en) 2015-08-28 2017-12-12 Intel Corporation Memory device check bit read mode
KR102416004B1 (ko) 2015-09-02 2022-07-04 삼성전자주식회사 인터페이스 회로들, 메모리 모듈들 및 인터페이스 회로들과 메모리 모듈들을 연결하는 스위치 회로를 포함하는 서버 장치
WO2017192626A1 (en) 2016-05-02 2017-11-09 Intel Corporation Internal error checking and correction (ecc) with extra system bits
US10403333B2 (en) 2016-07-15 2019-09-03 Advanced Micro Devices, Inc. Memory controller with flexible address decoding
US10169126B2 (en) * 2016-10-12 2019-01-01 Samsung Electronics Co., Ltd. Memory module, memory controller and systems responsive to memory chip read fail information and related methods of operation
EP3370152B1 (de) 2017-03-02 2019-12-25 INTEL Corporation Integrierte fehlerprüfung und -korrektur in speichervorrichtungen mit festen bandbreitenschnittstellen
US10749528B2 (en) * 2019-08-20 2020-08-18 Intel Corporation Stacked programmable integrated circuitry with smart memory
KR20210034726A (ko) 2019-09-20 2021-03-31 삼성전자주식회사 메모리 모듈, 그것을 제어하는 메모리 제어기의 에러 정정 방법, 및 그것을포함하는 컴퓨팅 시스템

Also Published As

Publication number Publication date
US20210089395A1 (en) 2021-03-25
CN112540867A (zh) 2021-03-23
US11507456B2 (en) 2022-11-22
US20220012127A1 (en) 2022-01-13
SG10202005170VA (en) 2021-04-29
KR20210034726A (ko) 2021-03-31
US11157358B2 (en) 2021-10-26

Similar Documents

Publication Publication Date Title
DE102020115736A1 (de) Halbleiterspeichervorrichtung und Verfahren zum Betreiben der Halbleiterspeichervorrichtungen
DE102020115747A1 (de) Speichermodul, Fehlerkorrekturverfahren für Speicher-Controller, der dieses steuert, und Rechensystem, das dieses umfasst
DE102013111710A1 (de) Speichermodul, Speichersystem mit demselben und Verfahren zum Auslesen davon und Schreiben dort hinein
DE102018122491A1 (de) Halbleiterspeichervorrichtung und verfahren zum betreiben derselben
DE102020130044A1 (de) Techniken zum verhindern von lese-störung in nand-speicher
DE112016005869T5 (de) Vorausschauende Arbeitsspeicherinstandhaltung
US20190034270A1 (en) Memory system having an error correction function and operating method of memory module and memory controller
DE112016002631B4 (de) Speicherfunktionszustandsüberwachung
DE102020118505A1 (de) Speichervorrichtungen mit darin enthaltenen variablen reparatureinheiten und verfahren zu deren reparatur
DE102018214010A1 (de) Verfahren und Vorrichtung zur Reduzierung von unbemerkten Datenfehlern in nichtflüchtigen Speichersystemen
DE102020108262A1 (de) Halbleiterspeichervorrichtungen, Speichersysteme und Verfahren zum Steuern der Reparatur von Halbleiterspeichervorrichtungen
DE112016004148T5 (de) Systeme und Verfahren zur Befehlsautorisierung
DE112006002300T5 (de) Verfahren und Vorrichtung zum Stapeln von DRAMS
DE112016000696B4 (de) Ablaufplanungsschema(ta) für eine Mehrchip-Speichervorrichtung
DE102016009807A1 (de) Korrelieren von physikalischen seitenadressen für soft-decision-dekodierung
DE102020133664A1 (de) Initialisierung und Leistungsausfallisolation eines Speichermoduls in einem System
DE102017106713A1 (de) Rechensystem, nichtflüchtiges Speichermodul und Verfahren zum Betreiben einer Speichervorrichtung
DE102020211544A1 (de) Steuerung, betriebsverfahren der steuerung und speichergerät mit derselben
DE102019134290A1 (de) Verfahren und System zum Verbessern der Leistung einer Speichervorrichtung unter Verwendung einer asynchronen, unabhängigen Ebenenlesefunktionalität
DE102021120140A1 (de) Speichervorrichtung, die in der lage ist, fehlerhafte daten im parallel-bit-test auszugeben, und speichersystem mit dieser speichervorrichtung
DE112016003416T5 (de) Decodieren von Daten unter Verwendung von Bitleitungsdefektinformationen
DE60002872T2 (de) System und verfahren zur verbesserung des multibit fehlerschutzes in einer computerspeichereinheit
DE102021115360A1 (de) Parallele boot-ausführung von speichervorrichtungen
DE102017120971A1 (de) Pipelineverzögerungsdetektion während des Decodierens durch eine Datenspeichereinrichtung
DE102021115235A1 (de) Verschiebungsablauf unter verwendung der cba-technologie

Legal Events

Date Code Title Description
R012 Request for examination validly filed