DE112005002390T5 - Burst-Betrieb für die Speichertransaktion und Speicherkomponenten, welche die zeitweilig multiplexierte Fehlerkorrekturcodierung unterstützen - Google Patents
Burst-Betrieb für die Speichertransaktion und Speicherkomponenten, welche die zeitweilig multiplexierte Fehlerkorrekturcodierung unterstützen Download PDFInfo
- Publication number
- DE112005002390T5 DE112005002390T5 DE112005002390T DE112005002390T DE112005002390T5 DE 112005002390 T5 DE112005002390 T5 DE 112005002390T5 DE 112005002390 T DE112005002390 T DE 112005002390T DE 112005002390 T DE112005002390 T DE 112005002390T DE 112005002390 T5 DE112005002390 T5 DE 112005002390T5
- Authority
- DE
- Germany
- Prior art keywords
- data
- burst
- memory
- error correction
- addressable
- 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.)
- Ceased
Links
- 230000015654 memory Effects 0.000 title claims abstract description 131
- 238000012937 correction Methods 0.000 title claims description 41
- 238000012163 sequencing technique Methods 0.000 claims abstract 2
- 238000000034 method Methods 0.000 claims description 24
- 230000005540 biological transmission Effects 0.000 claims description 18
- 238000012546 transfer Methods 0.000 claims description 18
- 230000000873 masking effect Effects 0.000 claims description 9
- 230000001419 dependent effect Effects 0.000 claims description 2
- 230000002123 temporal effect Effects 0.000 claims description 2
- 102100020800 DNA damage-regulated autophagy modulator protein 1 Human genes 0.000 description 20
- 101000931929 Homo sapiens DNA damage-regulated autophagy modulator protein 1 Proteins 0.000 description 20
- 210000004027 cell Anatomy 0.000 description 11
- 101000596298 Homo sapiens Modulator of macroautophagy TMEM150B Proteins 0.000 description 8
- 102100035252 Modulator of macroautophagy TMEM150B Human genes 0.000 description 8
- 102100040489 DNA damage-regulated autophagy modulator protein 2 Human genes 0.000 description 6
- 101000968012 Homo sapiens DNA damage-regulated autophagy modulator protein 2 Proteins 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000002902 bimodal effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 101100232929 Caenorhabditis elegans pat-4 gene Proteins 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 210000000352 storage cell Anatomy 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/02—Disposition of storage elements, e.g. in the form of a matrix array
- G11C5/04—Supports for storage elements, e.g. memory modules; Mounting or fixing of storage elements on such supports
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
- G06F12/0879—Burst mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
- G06F13/287—Multiplexed DMA
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1015—Read-write modes for single port memories, i.e. having either a random port or a serial port
- G11C7/1018—Serial bit line access mode, e.g. using bit line address shift registers, bit line address counters, bit line burst counters
- G11C7/1027—Static column decode serial bit line access mode, i.e. using an enabled row address stroke pulse with its associated word line address and a sequence of enabled bit line addresses
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Dram (AREA)
- Detection And Correction Of Errors (AREA)
- Memory System (AREA)
Abstract
Speichervorrichtung,
mit:
einer Speicherzellenanordnung, die so angeordnet ist, daß sie Daten in mehreren adressierbaren Segmenten von Speicherzellen speichert, wobei jedem adressierbaren Segment wenigstens eine zusätzliche Speicherzelle zugewiesen ist, die, in wenigstens einem Burst-Lesemodus, von der Speicherzellenanordnung gelesen wird, wenn das zugeordnete adressierbare Segment gelesen wird; und
einem Burst-Controller, um die Burst-Sequenzierung von Ausgangsdaten zu steuern, die aus einem ersten der adressierbaren Segmente für Speicherzellen in einem ersten Burst-Lesemodus gelesen werden, wobei der Burst-Lesemodus das Ausgeben von Daten aus dem ersten Segment über eine Vielzahl von Datenzyklen umfaßt, wobei während wenigstens einem aus der Vielzahl der Datenzyklen Daten von der wenigstens einen zusätzlichen Speicherzelle, die dem ersten Segment zugewiesen ist, ausgegeben werden.
einer Speicherzellenanordnung, die so angeordnet ist, daß sie Daten in mehreren adressierbaren Segmenten von Speicherzellen speichert, wobei jedem adressierbaren Segment wenigstens eine zusätzliche Speicherzelle zugewiesen ist, die, in wenigstens einem Burst-Lesemodus, von der Speicherzellenanordnung gelesen wird, wenn das zugeordnete adressierbare Segment gelesen wird; und
einem Burst-Controller, um die Burst-Sequenzierung von Ausgangsdaten zu steuern, die aus einem ersten der adressierbaren Segmente für Speicherzellen in einem ersten Burst-Lesemodus gelesen werden, wobei der Burst-Lesemodus das Ausgeben von Daten aus dem ersten Segment über eine Vielzahl von Datenzyklen umfaßt, wobei während wenigstens einem aus der Vielzahl der Datenzyklen Daten von der wenigstens einen zusätzlichen Speicherzelle, die dem ersten Segment zugewiesen ist, ausgegeben werden.
Description
- GEBIET DER ERFINDUNG
- Diese vorliegende Erfindung betrifft im allgemeinen digitale Speichersysteme, -komponenten und -verfahren und genauer Speichersystemkomponenten, die in der Lage zur multiplexierenden Fehlerkorrektur beim Codieren von Daten in einer impulsartigen Speichertransaktion sind.
- HINTERGRUND
- Digitale Prozessoren, sowie Mikroprozessoren, benutzen einen Computerspeicher-Untersystem, um Daten und Prozessorbefehle zu speichern. Einige Prozessoren kommunizieren direkt mit dem Speicher und andere benutzen einen bestimmten Controllerchip, der oftmals Teil eines "chipset" ist, um auf den Speicher zuzugreifen.
- Herkömmliche Computerspeicher-Untersysteme werden oftmals impletiert, indem Speichermodule verwendet werden. Mit Bezug auf das Rechensystem
100 , das in1 gezeigt ist, kommuniziert ein Prozessor120 über einen vorderen Bus125 mit einem Speicher-Controller/Hub (MCH)130 , der den Prozessor120 mit verschiedenen Peripherievorrichtungen koppelt. Eine dieser Peripherievorrichtungen ist der Systemspeicher, als ein Speichermodul MM0 gezeigt. Obwohl der Speicher nicht in jedem System auf einem solchen Modul angeordnet zu sein braucht, werden Module in vielen Systemen verwendet, um die Speichererweiterung durch Austauschen eines Moduls gegen ein Modul größerer Kapazität und/oder Hinzufügen zusätzlicher Module (nicht gezeigt) in zusätzlichen Speicherschächten zu erlauben. Wenn es angeschlossen ist, wird das Speichermodul MM0 vom MCH130 adressiert, wann immer der MCH130 geeignete Signale auf einem Adreß/Befehl (ADD/CMD)-Bus150 bestätigt. Datenübertragungen zwischen dem MCH130 und einem der Speichermodule geschehen auf einem Datenbus140 . - Typischerweise werden Speichermodule aufgebaut, indem eine Vielzahl von Halbleiter-Speichervorrichtungen verwendet wird, wobei jede einzelne Vorrichtung einen Teil jedes Datenwortes speichert, das auf dem Modul gespeichert wird. Zum Beispiel zeigt das Speichermodul MM0 fünf dynamische Speichervorrichtungen mit wahlfreiem Zugriff (DRAM – Dynamic Random-Access Memory), DRAM0 bis DRAM4. Jede DRAM-Vorrichtung empfängt dieselben Adreß- und Befehlsignale vom ADD/CMD-Bus
150 . Jede DRAM-Vorrichtung ist mit einer Untermenge der Signalleitungen (DQn) verbunden, welche den Datenbus140 bilden, wobei der DRAM0 mit sechzehn Busleitungen DQ0-DQ15 verbunden ist, DRAM1 mit DQ16-DQ31 verbunden ist, DRAM2 mit DQ32-DQ47 verbunden ist, DRAM3 mit DQ48-DQ63 verbunden ist und DRAM4 mit DQ64-DQ71 verbunden ist. Wenn somit während eines Datenzyklus 72 Bit Daten über den Datenbus140 übertragen werden, ist jeder DRAM für sechzehn dieser Bits verantwortlich, mit der Ausnahme des DRAM4, der für acht Bits verantwortlich ist (typischerweise sind die anderen acht DQn-Eingänge des DRAM4 einfach unverbunden, und auf die Hälfte des DRAM4 kann nicht zugegriffen werden). Jeder DRAM speichert seinen zugewiesenen Teil des 72-Bitwortes an demselben Chip-Ort wie jeder andere DRAM seinen Teil des 72-Bitworts speichert. - Im Beispiel der
1 ist die Größe jedes adressierbaren Datenwortes 72 Bit. 64 dieser Bits werden verwendet, um Daten zu speichern. Die zusätzlichen acht Bits werden verwendet, um Fehlerkorrektur-Codier (ECC – Error Correction Coding)-Information entsprechend den 64 Bitsdaten bei derselben Adresse zu speichern. Zum Beispiel kann der DRAM4 der ECC-Speicherung zugewiesen werden, und DQ64-DQ71 werden dann verwendet, um ECC-Information zu speichern und wiederzugewinnen. Andere Systeme können andere Busbreiten verwenden, wobei 36 Bit auch üblich sind, wobei der Bus in 32 Datenbitspuren und vier ECC-Bitspuren aufgeteilt ist. - Viele gegenwärtige Speichervorrichtungen und Controller bieten einen Burst-Modus an, der es erlaubt, daß auf mehrere aufeinanderfolgende Datenwörter zusammen mit einem einzigen Befehl zugegriffen werden kann.
2 zeigt ein Zeitgebungsschaubild für einen Datenübertrag von sechzehn Wörtern im Burst-Modus, wobei das ECC-Speichermodul MM0 der Figur verwendet wird. Der MCH130 versorgt das Modul MM0 mit einer Startadresse und einem Lies- oder Schreibe- 16 im Burst-Modus-Befehl. Wenn der Befehl ein Lesebefehl ist, liest jeder DRAM auf dem Modul MM0 die Datenspeicherzellen, welche mit einer Wortleitung verbunden sind, die die Startadresse enthält, und treibt dann die Daten von der Startadresse und den fünfzehn aufeinanderfolgenden Adressen über sechzehn aufeinanderfolgende Datenzyklen auf den Datenbus140 . Wenn der Befehl ein Schreibbefehl ist, liefert der MCH130 Schreibdaten über sechzehn aufeinanderfolgenden Datenzyklen, welche die DRAMs auf dem Modul MM0 empfangen, puffern und dann in aufeinanderfolgende Speicherorte in einer Wortzeile schreiben, wobei an der Startadresse begonnen wird. - Der DRAM4 arbeitet während dieser Burst-Befehle genau wie alle anderen DRAMs und braucht nicht zu wissen, daß seine Daten verwendet werden können, um eine ECC-Funktion auf den Daten, die in DRAM0 bis DRAM3 gespeichert sind, durchzuführen, Zum Beispiel werden während des Zeitschlitzes T0 Daten "A" und ECC-Daten "A" übertragen, wobei "A" Daten an einer Startadresse darstellen, die durch den MCH
130 festgelegt ist. Während des Zeitschlitzes T1 werden Daten "B" und ECC-Daten "B" übertragen, wobei "B" Daten an der Adresse darstellen, die auf die "A"-Adresse folgt. - Nicht alle Systeme nutzen den ECC-Schutz wie oben beschrieben, da der ECC-Schutz einen breiteren Datenbus und üblicherweise einen zusätzlichen Speicherchip pro Speicherrank erfordert (z.B. würden DRAM4 und DQ64-DQ71 bei einem Nicht-ECC-System mit 64 Bit nicht benötigt werden). Weiter erhöht ECC im allgemeinen die Wartezeit (aufgrund der Fehlerprüffunktion) und den Energieverbrauch (aufgrund des zusätzlich erforderlichen Chips). Nicht-ECC-Systeme arbeiten ansonsten wie oben beschrieben, mit der Ausnahme, daß z. B. der Speichercontroller auf die Datenintegrität der Daten, die von DRAM0-DRAM3 in einer Leseoperation erhalten worden sind, vertrauen würde. Somit sind ECC- und Nicht-EEC-Speichermodule nicht untereinander austauschbar. Gegenwärtig werden mehr Nicht-EEC-Systeme als ECC-Systeme hergestellt, hauptsächlich wegen der oben aufgeführten Nachteile.
- KURZBESCHREIBUNG DER ZEICHNUNG
- Die Ausführungsformen können am besten verstanden werden, wenn man die Offenbarung mit Bezug auf die Zeichnung liest, wobei:
-
1 einen Prozessor und einige Speichersystemkomponenten eines Computersystems des Standes der Technik veranschaulicht; -
2 ein Zeitgebungsschaubild für eine Datenübertragung im Burst-Modus auf dem Datenbus der1 zeigt; -
3 ein Blockschaubild für einen Prozessor und einige Speichersystemkomponenten eines Computersystems gemäß einer Ausführungsform der Erfindung enthält; -
4A ,4B ,5 ,6A ,6B und6C : Zeitgebungsschaubilder für den fehlerkorrigierten Datenübertrag im Burst-Modus gemäß mehrerer Ausführungsformen der vorliegenden Erfindung veranschaulichen; und -
7 ein Blockschaubild für eine DRAM-Vorrichtung gemäß einer Ausführungsform der Erfindung enthält. - GENAUE BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
- Diese Beschreibung betrifft einen neuen Ansatz zum Bereitstellen von ECC-fähigen Speichersystemkomponenten. Dieser Ansatz kann eine Anforderung nach besonderen ECC-Speichervorrichtungen und besonderen ECC-Bitspuren vermeiden, wobei in wenigstens einigen Ausführungsformen die Austauschbarkeit zwischen ECC und Nicht-ECC-Modulen untereinander erlaubt wird. Anstelle besonderer ECC-Vorrichtungen und Bitspuren multiplexen die hierin beschriebenen Ausführungsformen während Übertragungen im Burst-Modus über die Datenbitspuren zeitweilig ECC-Daten mit Systemdaten, wobei der Speichercontroller und Speichervorrichtungen für das Handhaben der gemischten Daten/ECC-Burstübertragung in einer vordefinierten Weise verantwortlich sind. Bei einigen Ausführungsformen sind die Speichervorrichtungen mit ECC- und Nicht-ECC-Burstübertragungsbetrieb gestaltet, was erlaubt, daß die Module untereinander austauschbar sowohl in EEC- als auch in Nicht-ECC-Systemen verwendet werden – oder sogar in einem System, das für einige kritische Daten auf den ECC-Schutz vertraut und für andere Daten nicht. Die bevorzugten Ausführungsformen nutzen eine Speicherstruktur, bei der ECC-Daten keinen direkt adressierbaren Speicherraum besetzen, sondern in intern adressierbaren Speicherbereichen gespeichert werden, die adressierbarem Speicherraum zugewiesen sind.
- Als eine Einführung in die Ausführungsformen zeigt
3 ein Rechensystem300 , welches einen Prozessor320 umfaßt, der an einem Speichercontroller330 gekoppelt ist. Der Prozessor320 und der Speichercontroller330 können auf einer einzelnen Schaltung integriert sein oder können auf getrennten Chips vorliegen, die durch einen Front-Side-Bus in einer Weise ähnlich der, die für1 beschrieben ist, verbunden sind. Der Speichercontroller330 ist wiederum über einen Adreß/Befehlsbus350 und einen Datenbus340 mit einem bimodalen Speichermodul BMM0 verbunden. Der Datenbus340 ist mit 64 Bitspuren DQ0-DQ63 veranschaulicht, obwohl dieses lediglich beispielhaft ist, wobei andere Ausführungsformen z. B. 16, 32 oder 128 Bitspuren auf dem Datenbus benutzen. Das bimodale Speichermodul BMM0 enthält vier fehlerkorrigierte Burst-Modus (ECB – error corrected burst mode)-DRAMs ECB-DRAM0, ECB-DRAM1, ECB-DRAM2 und ECB-DRAM3, die weiter unten in einer Ausführungsform einer Speichervorrichtung der Erfindung näher beschrieben werden. Bei Ausführungsformen des Systems, bei denen ein fehlerkorrigierter Burst-Modus verwendet wird, ist der Speichercontroller330 so gestaltet, daß er Daten für den fehlerkorrigierten Burst-Modus empfängt und sendet. Bei einigen Ausführungsformen des Systems, wenn nur ein Nicht-ECC-Burst-Modus des Standes der Technik verwendet wird, ist es jedoch möglich, das Modul BMM0 an einen Nicht-ECC-Speichercontroller des Standes der Technik zu koppeln. - Die Funktion des Speichercontrollers
330 und der ECB DRAMs auf Systemebene kann besser verstanden werden, indem die Zeitgebungsschaubilder für die fehlerkorrigierte Datenübertragung im Burst-Modus über den Datenbus340 untersucht werden. Mit Bezug zunächst auf die4A und4B sind achtzehn Datenzyklen T0-T17 eines "fehlerkorrigierten Burst-Modus 18A" dargestellt. Bei diesem Beispiel übertragen diese achtzehn Datenzyklen dieselben sechzehn Datenwörter A bis P mit 72 Bit, die von dem Computersystem100 des Standes der Technik in2 übertragen wurden. Wesentlich ist jedoch, daß bei der4 64 Bitspuren und achtzehn Datenzyklen für die Übertragung anstatt 72 Bitspuren und sechzehn Datenzyklen wie beim Stand der Technik genutzt werden. Auch anstelle des Übertragens der ECC-Codierung für ein Datenwort gleichzeitig mit dem Datenwort ist die zeitliche Anordnung der Daten gegenüber2 modifiziert. - Wiederum wird das Lesen und Schreiben von Daten vom BMM0 betrachtet. Wenn man zunächst den Lesedatenzyklus T0 der
4A betrachtet, ist zu sehen, daß während T0 nur ECC-Daten übertragen werden. Während des Datenzyklus T0 werden ECC-Daten A und C vom ECB-DRAM0 übertragen – diese ECC-Daten entsprechen jeweils Daten A, die von allen ECB-DRAMs während des Datenzyklus T2 übertragen werden, und Daten C, die von allen ECB-DRAMs während des Datenzyklus T4 übertragen werden. Auch während des Datenzyklus T0 werden ECC-Daten E und G durch den ECB-DRAM1 übertragen – diese ECC-Daten entsprechen jeweils Daten E, die von allen ECB-DRAMs während des Datenzyklus T6 übertragen werden, und Daten G, die von allen ECB-DRAMs während des Datenzyklus T8 übertragen werden. Gleichermaßen übertragen während T0 der ECB-DRAM2 und der ECB-DRAM3 ECC-Daten I, K, M und O, die jeweils Daten entsprechen, welche von allen ECB-DRAMs während der Datenzyklen T10, T12, T14 und T16 übertragen werden. - Wenn man als nächstes den Datenzyklus T1 überprüft, kann man sehen, daß während T1 ebenso nur ECC-Daten übertragen werden. Die übertragenen ECC-Daten entsprechen den Daten, die während der verbleibenden ungeraden Datenzyklen übertragen werden, z. B. T3, T5, T7, T9, T11, T13, T15 und T17.
- Wenn der Speichercontroller
330 die ECC-Daten während T0 und T1 empfängt, überträgt er die Daten an eine ECC-Registerbank335 , welche sechzehn EEC-Register mit acht Bit enthält. Dann, wenn Daten von dem Speichercontroller330 bei T2 empfangen werden, werden die ECC-Daten "A" aus ihrem Register in der Bank335 wiedergewonnen und verwendet, um eine Fehlerkorrektur bei den Daten A durchzuführen. Wenn Daten von dem Speichercontroller330 im T3 empfangen werden, werden die ECC-Daten "B" aus ihrem Register in der Bank335 wiedergewonnen und verwendet, um Fehlerkorrektur bei den Daten B durchzuführen. Dieser Prozeß läuft weiter bis zum Datenzyklus T17, wenn ECC-Daten "P" aus dem letzten ECC-Register gelesen und verwendet werden, um Fehlerkorrektur bei den Daten P durchzuführen. Die fehlerkorrigierten Datenwörter A bis P werden von dem Speichercontroller330 zu dem Prozessor320 oder zu einem Peripheriebauteil übertragen, welches die Daten mit einem direkten Speicherzugangs (DMA – Direct Memory Access)-Befehl angefordert hat. - Man kann nun sehen, daß, wenn für die Datenwörter A bis P keine Fehlerkorrektur gewünscht wäre, derselbe Datenübertrag, der in
4 veranschaulicht ist, verwendet werden könnte, jedoch ohne die ersten beiden Datenzyklen. - Für das Schreiben von Daten in das BMM0 wird bei einer Ausführungsform die Datenzyklustruktur, die in
4B gezeigt ist, verwendet. Die Datenwörter A bis P werden zu allen ECB-DRAMs jeweils während der Datenzyklen T0 bis T15 übertragen. Wenn der Speichercontroller330 jedes Datenwort für das Senden vorbereitet, berechnet er entsprechende EEC-Daten und speichert die ECC-Daten in einem der sechzehn EEC-Register in der Bank335 , die zuvor beschrieben worden ist. Dann werden während des Datenzyklus T16 die ECC-Daten A, C, E, G, I, K, M und O wie gezeigt zu den ECB-DRAMs übertragen. Während des Datenzyklus T17 werden die verbleibenden ECC-Daten B, D, F, H, J, L, N und P zu den ECB-DRAMs wie gezeigt übertragen. - Es wird erkannt werden, daß die besondere Anordnung der ECC-Daten beispielhaft ist. Zum Beispiel könnten während des ersten ECC-Datenzyklus die ECC-Datenwerte A-H übertragen werden, und während des zweiten ECC-Datenzyklus könnten die ECC-Datenwerte I-P übertragen werden. Solange der Speichercontroller
330 beim Lesen und Schreiben konsistent ist, könnte irgendeine zweckmäßige Anordnung verwendet werden. Wie es in Kürze erläutert wird, brauchen bei den beschriebenen Ausführungsformen die ECB-DRAMs das Datenzyklusformat nicht zu verstehen und brauchen nicht zu verstehen, wie die ECC-Daten von dem Speichercontroller unter den Speichervorrichtungen aufgeteilt werden. -
5 zeigt einen alternativen Burst-Modus 18B. In diesem Burst-Modus wird ein ECC-Datenzyklus entsprechend acht Zyklen aus Daten eingestreut. Während des ECC-Datenzyklus werden ECC-Daten für jeden der entsprechenden acht Zyklen übertragen. Bei einer Ausführungsform werden während des Datenzyklus T0 ECC-Daten entsprechend Datenwörtern A-H übertragen, die während der folgenden acht Zyklen T1-T8 übertragen werden sollen. Dann werden während des Datenzyklus T9 ECC-Daten übertragen, die den Datenwörtern I-P entsprechen, gefolgt von den Datenwörtern I-P während der Datenzyklen T10-T17. Man bemerke, daß5 aus zwei verbundenen Neun-Datenzyklen-Bursts besteht, was nahelegt, daß dieser Modus auch für eine Burst-Modus-9-Übertragung durch Durchführen der halben Übertragung verwendet werden könnte. Auch kann der Burst-Modus 18B für Schreiboperationen modifiziert werden, so daß zuerst acht Datenzyklen-Benutzerdaten zuerst übertragen werden, gefolgt von einem Datenzyklus ECC-Daten, welche den acht Datenzyklen der Nutzerdaten entsprechen. - Die voranstehenden Zeitgebungsausführungsformen veranschaulichen Situationen, bei denen eine ganzzahlige Beziehung zwischen der Anzahl der ECC-Werte, die in einem Datenzyklus übertragen werden können, und der Burstlänge der entsprechenden Daten besteht. Die
6A -6C veranschaulichen eine Ausführungsform, bei der dieses Erfordernis nicht gilt. - In
6A fordert der Speichercontroller330 einen fehlerkorrigierten Burst-Modus-5-Übertrag an, welcher einen Datenzyklus ECC-Daten und vier Datenzyklen Nutzerdaten von den ECB-DRAMs überträgt. Diese Übertragung ist identisch mit den ersten fünf Datenzyklen der5 , schneidet jedoch nach dem Datenzyklus T4 ab. Man bemerke, daß die ECC-Daten E-H, die vom ECB-DRAM2 und ECB-DRAM3 empfangen worden sind, "don't care"-Daten sind – obwohl sie von dem Speichercontroller330 übertragen und in die ECC-Registerbank335 geladen werden, werden sie niemals benutzt. - Bei diesem Beispiel sei angenommen, daß die Spaltenadresse, die an die ECB-DRAMs gegeben wird, 0xC80 ist, wobei 0x die hexadezimale Notation darstellt, und Nutzerdaten "A" werden an der Spaltenadresse 0xC80 und an einer bestimmten Zeilenadresse RA gespeichert. Den ECC-Daten "A" und "B" werden im ECB-DRAM0-Speicher die Zeilenadresse RA und die Spaltenadressen 0xC80-87 zugewiesen. Die Wiedergewinnung irgendwelcher Nutzerdaten in dem Adreßbereich aus ECB-DRAM0-Speicheranordnung bewirkt auch das Wiedergewinnen der ECB-Daten "A" und "B" aus den ECC-Speicheranordnungselementen, denen die Zeilenadresse RA und der Spaltenadresse 0xC8[0b0XXX) zugewiesen ist, wobei der Wert in Klammern in binärer (0b) Notation ist und "X" ein "don't care"-bit darstellt. Gleichermaßen werden die ECC-Daten "I" und "J" in ECC-Speicheranordnungselementen gespeichert, die der Zeilenadresse RA und der Spaltenadresse 0xC8[0b1XXX] zugeordnet sind. Beim normalen Benutzer-ECC-Burst-Modus kann der Speichercontroller diese ECC-Speicheranordnungselemente nicht explizit adressieren; er versteht jedoch, daß auf diese ECC-Speicheranordnungselemente im ECC-Modus zugegriffen wird, wenn Nutzerdaten an die entsprechende Adressierung des Nutzerraums geliefert werden.
- Es wird auch angemerkt, daß, wenn ein Burst zwei ECC-Zuweisungen überspannt (z. B. wenn ein Vier-Wort-Burst G-J aus
4A angefordert wird), das Speichersystem so gestaltet werden kann, daß der Burst um einen Datenzyklus verlängert wird und beide ECC-Verknüpfungen liefert. - Bei jeder der
6A ,6B und6C gibt das Speichermodul BMM0 dieselben ECC-Daten, jedoch unterschiedliche Nutzerdaten zurück. Abhängig von den Bits niedriger Ordnung in der Spaltenadresse wird der Speichercontroller auswählen, welche ECC-Daten zu nutzen sind und welche ECC-Daten außer Betracht bleiben. Zum Beispiel ist in6B die Start-Spaltenadresse 0xC82, so daß die ECC-Daten, die vom ECB-DRAM1 und ECB-DRAM2 zurückgegeben werden, benutzt werden, und die ECB-Daten, die vom ECB-DRAM0 und vom ECB-DRAM3 zurückgegeben werden, außer Betracht bleiben werden. In6C ist die Start-Spaltenadresse 0xC84, so daß die ECC-Daten, die vom ECB-DRAM2 und vom ECB-DRAM3 zurückgeben werden, verwendet werden. - Obwohl keine anderen Burstlängen veranschaulicht sind, können Durchschnittsfachleute die obigen Grundsätze auf z. B. einen Burstlänge 3 (welche einen ECC-Datenzyklus umfaßt)-Burst-Modus, einen Burstlänge 2 (welche einen ECC-Datenzyklus umfaßt)-Burst-Modus zum Übertragen von Nutzerdaten von einer einzelnen Adresse und auf irgendeine andere Burstlänge, die nicht besonders angesprochen worden ist, anwenden.
- Bei einigen Ausführungsformen ist es möglich, auch Nutzerdaten und ECC-Daten in eine Burstlänge zu schreiben, die einige ungültige ECC-Daten umfaßt. Bei einer Ausführungsform umfassen die Speichervorrichtungen datenmaskierende (DM) Signaleingänge, und der Speichercontroller bestätigt geeignete Maskierungszeilen während der ECC-Datenzyklen, um zu verhindern, daß ECC-Daten an ECC-Orte geschrieben werden, die nicht den Nutzerdaten, die gerade geschrieben werden, entsprechen. Zum Beispiel könnte in
6B der Speichercontroller die DM-Eingänge für den ECB-DRAM0 und den ECB-DRAM3 während T0 bestätigen, so daß nur der ECB-DRAM1 und ECB-DRAM2 während T0 tatsächlich ECC-Daten aufnehmen und die ECC-Daten im ECC-Speicher sichern. - Bei einer weiteren Ausführungsform liegen DM-Signaleingänge entweder nicht vor oder werden nicht benutzt, um ECC-Daten aus Datenbusleitungen zu steuern. Statt dessen wird ein Modulpositionsregister in dem Modusregistersatz (MRS – Mode Register Set) jeder Speichervorrichtung mit der Position der Vorrichtung auf dem BMM0 programmiert, oder die Option wird hartcodiert, wenn das Modul gebaut wird. Die Logik in jeder Speichervorrichtung vergleicht den Spaltenadreßbereich, der für ein Schreiben angefordert wird, mit dem Modulposi tionsregister, um zu entscheiden, ob die ECC-Daten, die an die Vorrichtung geliefert werden, geschrieben oder ignoriert werden sollten. Zum Beispiel ist auf dem ECB-DRAM0 das Modulpositionsregister des MRS mit den Werten 000 und 001 programmiert. Wenn der Spaltenadreßbereich eines Schreibbursts die niederwertige Adresse 000 umfaßt, wird der ECB-DRAM0 in seinem ECC-Speicherraum die ECC-Daten sichern, die bei T0 auf DQ0-DQ7 empfangen worden sind, und ansonsten wird er die Daten nicht sichern. Eine ähnliche Logik für die niederwertige Adresse 001 bestimmt, ob die ECC-Daten, die bei T0 auf DQ8-DQ15 empfangen worden sind, in dem ECC-Speicherraum gesichert werden.
- Eine Ausführungsform eines ECB-DRAM
700 ist in dem Blockschaubild der7 veranschaulicht. Der ECB-DRAM700 weist eine Adreß- und Steuerlogik710 , ein Adreßregister720 , einen Zeilendecodierer730 , einen Spaltendecodierer740 , einen Burst/ECC-Controller/Zähler750 , I/O-Register, Treiber und Empfänger760 , I/O-Ausblende- und Maskenlogik770 , Abfühlverstärker780 und eine Speicherzellenanordnung790 auf. Mehrere dieser Blöcke werden den Durchschnittsfachleuten vertraut sein, jedoch sind andere modifiziert, um mit dem Fehlerkorrektur-Burstbetrieb wie oben beschrieben in Einklang zu sein. durchzuführen. Die folgende Beschreibung konzentriert sich auf das Zusammenwirken zwischen den Blöcken und die neue Funktionalität, die den Fehlerkorrektur-Burstbetrieb unterstützt. - Der Adreß- und Steuerlogikblock
710 erhält Befehle auf den Signaleingängen CMD von z. B. einem Speichercontroller. Typische Befehle umfassen AKTIV-Befehle, um eine Wortzeile in der Speicherzellenanordnung790 auszuwählen, LESE-Befehle, die Spalten in der Speicherzellenanordnung790 festlegen, aus denen gelesen werden soll, SCHREIB-Befehle, die Spalten in der Speicherzellenanordnung790 festlegen, in die geschrieben werden soll, Auffrischbefehle und verschiedene Befehle zum Einrichten des Modus. - Während eines AKTIV-Befehls wird eine Zeilenadresse auf den Signaleingängen ADD empfangen und durch das Adreßregister
720 gesperrt – die Zeilenadresse wird an den Zeilendecodierer730 durch Signale von der Adreß- und Steuerlogik710 übertragen und wird dann ver wendet, um eine entsprechende Zeile der Speicherzellenanordnung790 zu aktivieren. Abfühlverstärker780 lesen die Inhalte der Zeile der Speicherzellenanordnung als Antwort auf den AKTIV-Befehl und frischen sie auf. - Während eines LESE-Befehls wird eine Spaltenadresse auf den Signaleingängen ADD empfangen und durch das Adreßregister
720 gesperrt – Die Spaltenadresse wird durch Signale von der Adreß- und Speicherlogik710 zu dem Burst/ECC-Controller/Zähler750 übertragen. Der Burst/ECC-Controller/Zähler750 wird die Spaltenadresse benutzen, um die Auswahl und die Übertragung von Daten von den Abfüllverstärkern780 durch die I/O-Gatter- und Maskenlogik770 zu den I/O-Registern und Treibern760 während der Datenphase der LESE-Operation steuern. - Während eines SCHREIB-Befehls wird eine Spaltenadresse auf den Signaleingängen ADD empfangen und durch das Adreßregister
720 gesperrt. Die Spaltenadresse wird an den Burst/ECC-Controller/Zähler750 durch Signale von der Adreß- und Steuerlogik710 übertragen. Der Burst/ECC-Controller/Zähler750 wird die Spaltenadresse benutzen, um die Übertragung von Daten zur I/O-Ausblender- und Maskenlogik770 von den I/O-Registern und Empfängern760 während der Datenphase der SCHREIB-Operation steuern. - Während wenigstens einiger Befehle zum Einstellen des Modus werden Modusregisterwerte auf den Signaleingängen ADD empfangen und durch das Adreßregister
720 gesperrt. Die Modusregisterwerte werden an das Modusregister715 übertragen, die in7 als ein Teil der Adreß- und Steuerlogik710 gezeigt sind. Bei einigen Ausführungsformen ist einer der Modusregisterwerte ECC MODUS, welcher angibt, ob LESE- und SCHREIB-Burstbefehle zusätzliche Datenzyklen für die Übertragung von ECC-Daten umfassen werden. Der Modusregisterwert ECC MODUS wird an den Burst/ECC-Controller/Zähler750 geliefert und wird bestimmen, wie der Burst/ECC-Controller/Zähler750 Datenspalten während der Datenübertragung bei Lese- und Schreibbefehlen auswählt. - Der Spaltendecodierer
740 wählt n Spalten in der Speicherzellenanordnung790 für die Übertragung von Daten zwischen der I/O-Ausblende- und Maskenlogik770 und den I/O-Registern760 für jeden Lese- oder Schreibdatenzyklus aus- Die n ausgewählten Spalten hängen von der Adresse ab, die von dem Burst/ECC-Controller/Zähler750 für den Datenzyklus geliefert wird. Für Schreibdaten hängt die Auswahl von Spalten auch von einen oder mehreren datenmaskierenden (DM) Eingaben ab, die mit den Schreibdaten empfangen werden – wenn Schreibdaten als maskiert angegeben werden, blockiert I/O-Ausblende- und Maskenlogik770 die Übertragung der Zahlen an die Speicherzellenanordnung790 . - Die I/O-Register, Treiber und Empfänger
760 arbeiten in herkömmlicher Weise, mit der Ausnahme, daß die Burstlänge von dem Burst/ECC-Controller/Zähler750 angepaßt werden kann, um ECC-Burstlängen und Nicht-ECC-Burstlängen zu unterstützen. Während Schreibbursts empfangen die Empfänger760 Daten auf I/O-Pins DQ1-DQn und datenmaskierende Eingaben auf den Pins DM während jedes Datenzyklus, wobei der Datenzyklus durch Strobe-Signale auf den Strobe-I/O-Pin(s) DQS angegeben werden, und sperren die empfangenen Daten und die datenmaskierende Eingaben in die I/O-Register für die Übertragung zu der I/O-Ausblende- und Maskenlogik770 . Während Lesebursts empfangen die I/O-Register760 Daten von der I/O-Ausblende- und Maskenlogik770 , und die Treiber treiben die Daten auf DQ1-DQn und ein Abtastsignal auf DQS. - Die Ausgestaltung der Speicherzellenanordnung
790 trägt zu der Fähigkeit des ECB-DRAM700 bei, sowohl im ECC- als auch im Nicht-ECC-Modus zu arbeiten. Für jeweils acht Datenspalten liegt ebenso eine ECC-Spalte vor. Diese Ausgestaltung dient dazu, eine Weise zu veranschaulichen, in der eine Ausführungsform der vorliegenden Erfindung implementiert werden kann, wobei adressierbare Spaltensegmente zusätzlichen ECC-Spalten zugewiesen sind; andere Ausgestaltungen und Verhältnisse von Daten- zu ECC-Spalten sind möglich, solange der Burst/ECC-Controller/Zähler und der Spaltendecodierer diesen anderen Ausgestaltungen angepaßt sind. - Der weitere Betrieb des ECB-DRAM
700 wird nun im Zusammenhang mit6A beschrieben werden, wobei angenommen wird, daß der ECB-DRAM700 in der Figur als ECB-DRAM0 bezeichnet wird. Zunächst, als Antwort auf einen AKTIV-Befehl lesen die Abfühlverstärker780 Daten aus einer Zeile der Speicherzellenanordnung790 , wobei die Zeile von dem Zeilendecodierer730 ausgewählt worden ist. Die Daten, die von den Abfühlverstärkern780 gelesen werden, umfassen ECC-Daten aus ECC-Spalten und Nutzerdaten aus Datenspalten. - Als nächstes, wobei angenommen wird, daß der fehlerkorrigierte Burst-Modus 5 ausgewählt ist, wird die Spaltenadresse 0xC80, mit einem LESE-Befehl versorgt, an den Burst/ECC-Controller/Zähler
750 übertragen (es wird angemerkt, daß, obwohl die7 eine Bank des Speichers zeigt, der ECB-DRAM700 mehrere Bänke haben könnte und einige Bits der Spaltenadresse als Bankauswahl verwenden könnte). Der Burst/ECC-Controller/Zähler750 signalisiert zunächst dem Spaltendecodierer740 , ECC-Spalten auszuwählen, die mit der Spaltenadresse 0xC80 verbunden sind. Diese Signalgebung kann zum Beispiel das Bereitstellen der Start-Spaltenadresse 0xC80 auf CA aufweisen, während ein ECC-Adressenüberschreibsignal ECC-AO angegeben wird. Wenn das ECC-AO-Signal angegeben ist, ignoriert der Spaltendecodierer740 die drei niedrigstwertigen Bits der Adresse, die auf CA erscheinen und wählt statt dessen eine neunte Adresse aus, die dem externen adressierbaren Segment 0xC80-87 zugewiesen ist. Diese neunte Adresse ist nicht direkt durch eine extern gelieferte Spaltenadresse adressierbar, ist jedoch von dem Spaltendecodierer in einem ECC-Modus intern adressierbar. Der Speichercontroller kann somit indirekt die ECC-Daten adressieren, indem das entsprechende Datensegment in seinem ECC-Modus adressiert wird. - Bei ausgewählter neunter Adresse überträgt die I/O-Ausblende- und Maskenlogik
770 Daten von ECC-Spalten, die mit den externen Spaltenadressen 0xC80-87 verbunden sind, an I/O-Register und Treiber760 zum Treiben auf DQ1-DQn während des Datenzyklus T0. - Der Burst/ECC-Controller/Zähler geht als nächstes von einem ECC-Adressenzustand in einen Datenadressenzustand über. Er liefert weiter die Startspaltenadresse 0xC80 an den Spaltendecodierer, nimmt aber die Bestätigung für ECC-AO zurück. Dies bewirkt, daß der Spaltendecodierer
740 Datenspalten, die der externen Adresse zugewiesen sind, für die Übertragung durch die I/O-Ausblende- und Maskenlogik770 an I/O-Register und Treiber760 zum Treiben auf DQ1-DQn während des Datenzyklus T1 auswählt. - Der Burst/ECC-Controller/Zähler inkrementiert seine interne Spaltenadresse auf 0xC81 und wiederholt die oben beschriebene Operation, um Daten für den Datenzyklus T2 zu liefern. Dieser Prozeß läuft zwei weitere Male fort, um die Fünf-Datenzyklus-Burst-Leseoperation der
6A zu beendigen. - Wenn die Modusregister
715 angeben, daß der ECC-Modus nicht freigegeben ist, tritt der Burst/ECC-Controller/Zähler750 niemals in den ECC-Adressenzustand ein und bestätigt niemals ECC-AO. Der Datenadreßzustand bleibt derselbe, was bewirkt, daß Datenspalten, jedoch keine ECC-Spalten, in einer Vier-Datenzyklus-Burst-Leseoperation gelesen werden. - In einem fehlerkorrigierten Schreib-Burst-Modus ist die Operation analog. Bei dem geeigneten Datenzyklus oder Zyklen bestätigt der Burst/ECC-Controller/Zähler
750 ECC-AO, um zu bewirken, daß ECC-Spalten, die einem Segment Datenspalten zugeordnet sind, welches mit CA bezeichnet sind, für das Schreiben ausgewählt werden. Die Länge des Schreibbursts ist verlängert, um den zusätzlichen Datenzyklus oder die Zyklen in dem fehlerkorrigierten Schreib-Burst-Modus unterzubringen. Wie zuvor angesprochen, können die ECC-Daten auf die datenmaskierenden Signale DM vertrauen, was die Logik vereinfacht und es dem Speichercontroller erlaubt, auf einer feinkörnigen Basis zu bestimmen, welche ECC-Daten geschrieben werden. - Ein Modusregisterverfahren zum Angeben von ECC- und Nicht-ECC-Modi ist beschrieben worden. In einem solchen System kann ein Modus (z.B. Nicht-ECC) als ein Standard ausgewählt werden, wenn dies nicht von dem Speichercontroller geändert wird. Ein weiteres Verfahren zum Angeben von ECC- und Nicht-ECC-Modi könnte darin bestehen, zwei unterschiedliche Befehle zur Verfügung zu stellen. Dieses Verfahren erlaubt es, daß der Speichercontroller effizient ECC- und Nicht-ECC-Datenbursts mischt, abhängig zum Beispiel davon, wie kritisch die Daten durch den Prozessor bezeichnet werden.
- Obwohl ein Modul mit vier Chips und ein Datenbus mit 64 Bit gezeigt sind, ist dies lediglich beispielhaft, und andere Anzahlen von Chips oder Datenbusbreiten können verwendet werden. Zum Beispiel könnte auch ein Modul mit einem Chip, zwei Chips oder acht Chips gemäß den oben beschriebenen Grundsätzen implementiert werden. Das Modul braucht nicht einen einzigen Rank Speichervorrichtungen zu haben – zum Beispiel können zwei Ranks mit acht Chips auf einem Modul enthalten sein. Die vorliegende Erfindung ist auch bei Systemen einsetzbar, die Speichervorrichtungen haben, die auf derselben Schaltkarte mit einem Prozessor angeordnet sind, der die Speichervorrichtungen benutzt.
- Ein Durchschnittsfachmann wird erkennen, daß die hierin gelehrten Konzepte auf eine besondere Anwendung in vieler Hinsicht vorteilhaft maßgeschneidert werden können. Insbesondere werden die Fachleute erkennen, daß die veranschaulichten Ausführungsformen aus vielen alternativen Implementierungen ausgewählt sind, die beim Lesen dieser Offenbarung deutlich werden. Zum Beispiel sind viele unterschiedliche zeitliche Anordnungen von Nutzerdaten und ECC-Daten in einem Burst möglich, wobei sogar manche ECC-Daten und Nutzerdaten in einigen oder allen Datenzyklen mischen können. Obwohl Ausführungsformen mit DRAMs beschrieben worden sind, gelten die hierin beschriebenen Grundsätze auch für andere Typen von Halbleiterspeichern, sowie statischen, flash usw., da die Grundsätze auf die Speicherzellenanordnung und die Datenübertragung angewendet werden und nicht auf den Speichertyp. Die besondere funktionelle Anordnung der Ausführungsformen der hierin beschriebenen Vorrichtungen stellen eine mögliche funktionelle Gruppierung dar, jedoch können Funktionen unterteilt und/oder in vielen anderen Kombinationen kombiniert werden, die in den Umfang der angefügten Ansprüche fallen.
- Die beschriebene Verwendung für die vorliegende Erfassung ist die Fehlerkorrekturcodierung. Die Fachleute werden jedoch erkennen, daß der Hilfsspeicherraum und die Datenzyklen bei der Übertragung in Bursts, die für die ECC verwendet werden, alternativ verwendet werden könnten, um jegliche Hilfsdaten zu speichern und wiederzugewinnen, für die ein Prozessor und/oder Speichercontroller konfiguriert war, daß er diese mit einem adressierbaren Speicheradreßbereich zusammenbringt.
- Viele der bestimmten hierin gezeigten Merkmale sind Gestaltungsauswahlen, und eine Erläuterung vieler anderer Gestaltungsauswahlen ist weggelassen worden, da sie innerhalb des Fachwissens liegen und/oder implementationsabhängig sind. Solche geringfügigen Modifikationen sind in den Ausführungsformen der Erfindung eingeschlossen und sind so beabsichtigt, daß sie in den Umfang der Ansprüche fallen.
- Die voranstehenden Ausführungsformen sind beispielhaft. Obwohl sich die Beschreibung an mehreren Stellen auf "eine", "eine andere" oder "einige" Ausführungsform(en) beziehen mag, bedeutet dies nicht notwendigerweise, daß jede solche Bezugnahme auf dieselbe(n) Ausführungsform(en) ist oder daß das Merkmal nur bei einer einzelnen Ausführungsform gilt.
- ZUSAMMENFASSUNG
- Verfahren und Vorrichtungen zur Verwendung mit Speichersystemen und Speichermodulen sind in den Ausführungsformen enthalten. Bei beispielhaften Systemen werden fehlerkorrekturcodierende (ECC) Daten zeitlich mit Nutzerdaten auf denselben Datenbusleitungen in einer Übertragung im Burstbetrieb multiplexiert, so daß keine getrennten Chips und Datenleitungen erforderlich sind, um ECC zu unterstützen. Die Speichervorrichtungen auf den Modulen enthalten jede zusätzliche indirekt adressierbare ECC-Segmente, die adressierbaren Segmenten der Vorrichtung zugeordnet sind. Die zeitlich multiplexierten ECC-Daten werden aus dem indirekt adressierbaren Segment gelesen oder in dieses hineingeschrieben, das mit den adressierbaren Daten verbunden ist, welche in der Übertragung im Burstbetrieb übertragen werden. Bei einigen Ausführungsformen werden zwei Arten des Burstbetriebes unterstützt, von denen eine ECC-Daten umfaßt und eine nicht. Dies ermöglicht es, daß ein Typ eines Speichermoduls sowohl ECC- als auch Nicht-ECC-Systeme unterstützt und in einigen Fällen ECC für einige Daten und nicht für andere Daten in demselben System verwendet. Weitere Ausführungsformen sind beschrieben und beansprucht.
Claims (30)
- Speichervorrichtung, mit: einer Speicherzellenanordnung, die so angeordnet ist, daß sie Daten in mehreren adressierbaren Segmenten von Speicherzellen speichert, wobei jedem adressierbaren Segment wenigstens eine zusätzliche Speicherzelle zugewiesen ist, die, in wenigstens einem Burst-Lesemodus, von der Speicherzellenanordnung gelesen wird, wenn das zugeordnete adressierbare Segment gelesen wird; und einem Burst-Controller, um die Burst-Sequenzierung von Ausgangsdaten zu steuern, die aus einem ersten der adressierbaren Segmente für Speicherzellen in einem ersten Burst-Lesemodus gelesen werden, wobei der Burst-Lesemodus das Ausgeben von Daten aus dem ersten Segment über eine Vielzahl von Datenzyklen umfaßt, wobei während wenigstens einem aus der Vielzahl der Datenzyklen Daten von der wenigstens einen zusätzlichen Speicherzelle, die dem ersten Segment zugewiesen ist, ausgegeben werden.
- Speicherzelle nach Anspruch 1, bei der der Burst-Controller wenigstens zwischen dem ersten Burst-Lesemodus und einem zweiten Burst-Lesemodus konfigurierbar ist, wobei der zweite Burst-Lesemodus das Ausgeben von Daten aus dem ersten Segment über eine zweite Vielzahl von Datenzyklen, die kürzer ist als die erste Vielzahl von Datenzyklen, umfaßt, wobei aus der wenigstens einen zusätzlichen Speicherzelle während der zweiten Vielzahl der Datenzyklen keine Daten ausgegeben werden.
- Speichervorrichtung nach Anspruch 1, weiter mit einer Schreibschaltung, die mit der Speicherzellenanordnung gekoppelt ist, wobei der Burst-Controller weiter die Verteilung von Eingangsdaten, die von der Speichervorrichtung in einem ersten Burst-Schreibmodus empfangen worden sind, steuert, wobei der erste Burst-Schreibmodus umfaßt, daß die Speichervorrichtung Daten über eine dritte Vielzahl von Datenzyklen empfängt und der Burst-Controller der Schreibschaltung signalisiert, einen Teil der empfangenen Daten an adressierbare Orte innerhalb eines zweiten der adressierbaren Segmente von Speicherzellen und einen Teil der empfangenen Daten in die wenigstens eine zusätzliche Speicherzelle, die dem zweiten Segment zugeordnet ist, zu schreiben.
- Speichervorrichtung nach Anspruch 3, wobei der Burst-Controller weiter die Verteilung von Eingangsdaten steuert, die von der Speichervorrichtung in einem zweiten Burst-Schreibmodus empfangen worden sind, wobei der zweite Burst-Schreibmodus umfaßt, daß die Speichervorrichtung Daten für eine vierte Vielzahl von Datenzyklen, die kürzer als die dritte Vielzahl von Datenzyklen ist, empfängt, und der Burst-Controller der Schreibschaltung signalisiert, die empfangenen Daten an adressierbare Orte innerhalb des zweiten Segmentes von Speicherzellen zu schreiben, ohne irgendwelche der empfangenen Daten in die wenigstens eine zusätzliche Speicherzelle zu schreiben, die dem zweiten Segment zugewiesen ist.
- Speichervorrichtung nach Anspruch 3, weiter mit einer Schreib-Maskierschaltung, die basierend auf einem externen Maskiersignal betreibbar ist, wobei in dem ersten Burst-Schreibmodus das externe Maskiersignal, wenn es zusammen mit dem Teil der empfangenen Daten, die in die wenigstens eine zusätzliche Speicherzelle geschrieben werden sollen, festgestellt ist, bewirkt, daß die Schreib-Maskierschaltung verhindert, daß die Schreibschaltung Daten in die wenigstens eine zusätzliche Speicherzelle schreibt.
- Speichervorrichtung nach Anspruch 3, bei der in dem ersten Burst-Schreibmodus der letzte Datenzyklus der dritten Vielzahl von Datenzyklen Daten enthält, die in die wenigstens eine zusätzliche Speicherzelle geschrieben werden sollen, die dem zweiten Segment zugewiesen ist.
- Speichervorrichtung nach Anspruch 1, bei der in dem ersten Burst-Lesemodus der Burst-Controller Daten von der wenigstens einer zusätzlichen Datenzelle in dem ersten Datenzyklus der ersten Vielzahl von Datenzyklen sequenziert.
- Speichervorrichtung nach Anspruch 7, bei dem der erste Burst-Lesemodus mehrere konfigurierbare Burstlängen aufweist.
- Speichermodul, mit: einer Schaltkarte, welche eine Vielzahl von Datenbusspuren aufweist, die einen N-Bit breiten Datenbus bilden; und wenigstens einer Speichervorrichtung, die an die Vielzahl der Datenbusspuren gekoppelt ist, wobei die wenigstens eine Speichervorrichtung eine Vielzahl indirekt adressierbarer Speicherorte hat, die in der Lage sind, Fehlerkorrekturcodedaten zu speichern, die Segmenten von adressierbaren Speicherorten zugewiesen sind; wobei das Speichermodul in einem ersten Burst-Lesemodus betreibbar ist, welcher das Ausgeben von Daten, die aus einem ersten der Segmente der adressierbaren Speicherorte gelesen worden sind, auf den N-Bit breiten Datenbus über eine Vielzahl von Datenzyklen umfaßt, wobei während wenigstens einem aus der ersten Vielzahl von Datenzyklen Daten von wenigstens einem der indirekt adressierbaren Speicherorte auf wenigstens eine der Datenbusspuren ausgegeben werden.
- Speichermodul nach Anspruch 9, wobei das Speichermodul auch in einem zweiten Burst-Lesemodus betreibbar ist, welcher das Ausgeben von Daten, die von dem ersten Segment der adressierbaren Speicherorte gelesen worden sind, auf den N-Bit breiten Datenbus über eine zweite Vielzahl von Datenzyklen, die kürzer ist als die erste Vielzahl von Datenzyklen ist, umfaßt, ohne daß Daten aus den indirekt adressierbaren Speicherorten ausgegeben werden.
- Speichermodul nach Anspruch 9, bei dem die wenigstens eine Speichervorrichtung eine Vielzahl von Speichervorrichtungen umfaßt, von denen jede mit einer entsprechenden Untermenge der Datenbusspuren, welche einen N-Bit breiten Datenbus bilden, verbunden ist, wobei jede Speichervorrichtung eine Vielzahl indirekt adressierba rer Speicherorte hat, die in der Lage sind, Fehlerkorrekturcodedaten zu speichern, welche Segmenten adressierbarer Speicherorte zugewiesen sind.
- Speichermodul nach Anspruch 9, das in zwei Burst-Schreibmodi betreibbar ist, wobei der erste Burst-Schreibmodus Burstdaten über den N-Bit breiten Datenbus über eine dritte Vielzahl von Datenzyklen empfängt, wobei der zweite Burst-Schreibmodus Burstdaten und Fehlerkorrekturcodedaten über den N-Bit breiten Datenbus über eine Vielzahl von Datenzyklen, die länger ist als die dritte Vielzahl von Datenzyklen, empfängt.
- Rechenvorrichtung, mit: einem Speichersystem, das eine Vielzahl von Speicherdatenbusleitungen aufweist, wobei das Speichersystem Fehlerkorrekturcodierung auf den Speicherdatenbusleitungen überträgt, um die Datenintegrität für wenigstens einige Vorrichtungsdaten sicherzustellen, die in dem Speichersystem gespeichert sind, wobei Fehlerkorrekturcodierdaten und Vorrichtungsdaten wenigstens einige der Speicherdatenbusleitungen zeitlich gemeinsam nutzen.
- Rechenvorrichtung nach Anspruch 13, weiter mit einem Prozessor, der an das Speichersystem gekoppelt ist.
- Rechenvorrichtung nach Anspruch 13, bei der das Speichersystem einen Speichercontroller, der mit den Speicherdatenbusleitungen gekoppelt ist, und wenigstens eine Speichervorrichtung, die mit den Speicherdatenbuslinien gekoppelt ist, umfaßt, wobei in wenigstens einem Burstmodus der Datenübertragung zwischen dem Speichercontroller und der wenigstens einen Speichervorrichtung die Burstlänge erhöht ist, um das zeitliche gemeinsame Nutzen der Speicherdatenbusleitungen von Fehlerkorrekturcodierdaten und Prozessordaten in einem gemeinsamen Burst zu ermöglichen.
- Rechenvorrichtung nach Anspruch 15, bei der in dem wenigstens einen Burstmodus die Fehlerkorrekturcodierdaten während eines ersten Datenzyklus des gemeinsamen Bursts übertragen werden.
- Rechenvorrichtung nach Anspruch 15, bei der die wenigstens eine Speichervorrichtung ein entfernbares Speichermodul aufweist, das auch in einem unterschiedlichen Speichersystem arbeiten kann, welches keine Fehlerkorrekturcodierung verwendet.
- Verfahren zum Betreiben eines Speichersystems, wobei das Verfahren aufweist: Übertragen eines Datenzyklus-Bursts derart, daß fehlergeschützte Daten und fehlerkorrekturcodierende Daten, die die fehlergeschützten Daten betreffen, zeitweilig auf denselben Datenbusleitungen multiplexiert werden; Empfangen des Datenzyklus-Bursts; und Demultiplexieren des Datenzyklus-Bursts, um die Fehlerkorrekturcodierdaten von den fehlergeschützten Daten zu trennen.
- Verfahren nach Anspruch 18, bei dem ein Datenzyklus der Fehlerkorrekturcodierung für jeweils acht Datenzyklen fehlergeschützter Daten übertragen wird.
- Verfahren nach Anspruch 18, bei dem der übertragende Datenzyklus-Burst von einem Rank der Speichervorrichtung empfangen wird, der wenigstens eine Speichervorrichtung aufweist, wobei der Rank der Speichervorrichtung die fehlergeschützten Daten in einem Adressensegment des Speichervorrichtungsranges sichert und die Fehlerkorrekturcodierdaten in einem indirekt adressierbaren Segment des Speichervorrichtungsranges sichert, wobei das indirekt adressierbare Segment des Ranks der Speichervorrichtung dem Rank der Speichervorrichtung mit dem adressierten Segment des Ranks der Speichervorrichtung zugewiesen wird.
- Verfahren nach Anspruch 20, bei dem ein Datenzyklus der Fehlerkorrekturcodierung für eine Anzahl von Datenzyklen kleiner als acht übertragen wird, wobei das Verfahren weiter das Maskieren eines Teiles der Daten, die während eines Datenzyklus für die Fehlerkorrekturcodierung übertragen werden, aufweist.
- Verfahren nach Anspruch 21, weiter aufweisend, daß das Rank der Speichervorrichtung aus der Adresse des adressierten Segments bestimmt, welcher Teil der Fehlerkorrekturcodierdaten zu maskieren ist.
- Verfahren nach Anspruch 21, das weiter aufweist, daß an der Vorrichtung, welche die Fehlerkorrekturcodierdaten an die im Speichervorrichtungsrang schickt, festgestellt wird, aus der Adresse des adressierten Segmentes, welcher Teil der Fehlerkorrekturcodierdaten zu maskieren ist, und entsprechende Maskensignale dem Rank der Speichervorrichtung bestätigt werden, während die Fehlerkorrekturcodierdaten übertragen werden.
- Verfahren nach Anspruch 18, bei dem der übertragende Datenzyklus-Burst von einem Rank mit Speichervorrichtungen übertragen wird, der wenigstens eine Speichervorrichtung aufweist, das weiter aufweist, daß die Vorrichtung, welche den Datenzyklus-Burst empfängt, die Fehlerkorrekturcodierdaten verwendet, um Fehler in den empfangenen fehlergeschützten Daten zu erfassen und/oder zu korrigieren.
- Verfahren nach Anspruch 18, das weiter das Auswählen eines Datenburst-Modus mit zeitweilig multiplexierten Fehlerkorrekturcodierdaten und fehlergeschützten Daten aus unter wenigstens zwei Datenburst-Modi aufweist, wobei wenigstens ein weiterer der Datenburst-Modi dieselbe Adressierung verwendet, jedoch Daten ohne das zeitliche Multiplexieren von Fehlerkorrekturcodierdaten überträgt.
- Verfahren zum Betreiben einer Speichervorrichtung, wobei das Verfahren aufweist: Empfangen eines Befehls, um Daten in einem adressierbaren Segment der Speichervorrichtung zu lesen und zu senden; Lesen der Daten aus dem adressierbaren Segment und Lesen von Fehlerkorrekturcodierdaten aus wenigstens einem indirekt adressierbaren Speicherort, der dem adressierbaren Segment zugewiesen ist; und Senden von Daten in dem adressierbaren Segment in einem Vielzyklus-Datenburst, zeitweilig multiplexiert auf denselben Busleitungen mit den Fehlerkorrekturcodierdaten.
- Verfahren nach Anspruch 26, bei dem, ob Fehlerkorrekturcodierdaten zeitweilig multiplexiert werden, bedingungsmäßig abhängig von dem Typ des Burstmodus ist, der aus wenigstens zwei Burstmodi ausgewählt ist, wobei wenigstens einer von diesen die Fehlerkorrekturcodierdaten nicht zeitlich multiplexiert.
- Verfahren nach Anspruch 25, das weiter aufweist: Empfangen eines zweiten Befehls, um Daten in dem adressierbaren Segment der Speichervorrichtung zu empfangen und zu speichern; Empfangen von Daten für das adressierbare Segment in einem Vielzyklus-Datenburst, zeitlich auf demselben Datenbus mit Fehlerkorrekturcodierdaten multiplexiert; und Schreiben der empfangenen Daten in das adressierbare Segment und Schreiben der empfangenen Fehlerkorrekturcodierdaten in wenigstens einen indirekt adressierbaren Speicherort, der dem adressierbaren Segment zugewiesen ist.
- Verfahren zum Betreiben eines Speichercontrollers, wobei das Verfahren aufweist: Senden eines Befehles an eine Speichervorrichtung, wobei der Befehl die Speichervorrichtung instruiert, Daten in einem adressierbaren Segment der Speichervorrichtung zu lesen: Empfangen, von der Speichervorrichtung in einem Mehrzyklus-Datenburst, Daten von dem adressierbaren Segment, zeitlich auf demselben Bus mit Fehlerkorrekturcodierdaten multiplexiert, die dem adressierbaren Segment zugewiesen sind; und Demultiplexieren der Daten von dem adressierbaren Segment und zugewiesenen Fehlerkorrekturcodierdaten.
- Verfahren nach Anspruch 28, bei dem für wenigstens einige Größen von Vielzyklus-Datenstößen ein Teil der empfangenen Fehlerkorrekturcodierdaten von dem Speichercontroller ignoriert wird.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/995,850 | 2004-11-22 | ||
US10/995,850 US7464241B2 (en) | 2004-11-22 | 2004-11-22 | Memory transaction burst operation and memory components supporting temporally multiplexed error correction coding |
PCT/US2005/042153 WO2006057963A2 (en) | 2004-11-22 | 2005-11-17 | Memory transaction burst operation and memory components supporting temporally multiplexed error correction coding |
Publications (1)
Publication Number | Publication Date |
---|---|
DE112005002390T5 true DE112005002390T5 (de) | 2007-10-11 |
Family
ID=36203765
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE112005002390T Ceased DE112005002390T5 (de) | 2004-11-22 | 2005-11-17 | Burst-Betrieb für die Speichertransaktion und Speicherkomponenten, welche die zeitweilig multiplexierte Fehlerkorrekturcodierung unterstützen |
Country Status (8)
Country | Link |
---|---|
US (1) | US7464241B2 (de) |
JP (2) | JP4777358B2 (de) |
KR (1) | KR100884096B1 (de) |
CN (1) | CN101036131B (de) |
DE (1) | DE112005002390T5 (de) |
GB (1) | GB2433624B (de) |
TW (1) | TWI304591B (de) |
WO (1) | WO2006057963A2 (de) |
Families Citing this family (57)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI254848B (en) * | 2004-11-16 | 2006-05-11 | Via Tech Inc | Method and related apparatus for performing error checking-correcting |
JP4740766B2 (ja) * | 2006-02-27 | 2011-08-03 | 富士通株式会社 | データ受信装置、データ送受信システム、データ送受信システムの制御方法及びデータ受信装置の制御プログラム |
US7620875B1 (en) * | 2006-03-07 | 2009-11-17 | Xilinx, Inc. | Error correction code memory system with a small footprint and byte write operation |
US7533191B2 (en) * | 2006-06-30 | 2009-05-12 | Intel Corporation | Methods and arrangements for devices to share a common address on a bus |
US7844888B2 (en) * | 2006-09-29 | 2010-11-30 | Qimonda Ag | Electronic device, method for operating an electronic device, memory circuit and method of operating a memory circuit |
KR100845529B1 (ko) * | 2007-01-03 | 2008-07-10 | 삼성전자주식회사 | 플래시 메모리 장치의 이씨씨 제어기 및 그것을 포함한메모리 시스템 |
US7568137B1 (en) * | 2007-03-27 | 2009-07-28 | Xilinx, Inc. | Method and apparatus for a clock and data recovery circuit |
US20110016278A1 (en) * | 2008-03-31 | 2011-01-20 | Frederick Ware | Independent Threading of Memory Devices Disposed on Memory Modules |
US7814300B2 (en) | 2008-04-30 | 2010-10-12 | Freescale Semiconductor, Inc. | Configurable pipeline to process an operation at alternate pipeline stages depending on ECC/parity protection mode of memory access |
US20090276587A1 (en) * | 2008-04-30 | 2009-11-05 | Moyer William C | Selectively performing a single cycle write operation with ecc in a data processing system |
US8521979B2 (en) | 2008-05-29 | 2013-08-27 | Micron Technology, Inc. | Memory systems and methods for controlling the timing of receiving read data |
US7979757B2 (en) | 2008-06-03 | 2011-07-12 | Micron Technology, Inc. | Method and apparatus for testing high capacity/high bandwidth memory devices |
US8289760B2 (en) | 2008-07-02 | 2012-10-16 | Micron Technology, Inc. | Multi-mode memory device and method having stacked memory dice, a logic die and a command processing circuit and operating in direct and indirect modes |
US7855931B2 (en) | 2008-07-21 | 2010-12-21 | Micron Technology, Inc. | Memory system and method using stacked memory device dice, and system using the memory system |
US8756486B2 (en) | 2008-07-02 | 2014-06-17 | Micron Technology, Inc. | Method and apparatus for repairing high capacity/high bandwidth memory devices |
US8127204B2 (en) | 2008-08-15 | 2012-02-28 | Micron Technology, Inc. | Memory system and method using a memory device die stacked with a logic die using data encoding, and system using the memory system |
WO2011031260A1 (en) * | 2009-09-10 | 2011-03-17 | Hewlett-Packard Development Company, L.P. | Memory subsystem having a first portion to store data with error correction code information and a second portion to store data without error correction code information |
US8438429B2 (en) | 2010-12-01 | 2013-05-07 | Hitachi, Ltd. | Storage control apparatus and storage control method |
US8738993B2 (en) * | 2010-12-06 | 2014-05-27 | Intel Corporation | Memory device on the fly CRC mode |
US8400808B2 (en) | 2010-12-16 | 2013-03-19 | Micron Technology, Inc. | Phase interpolators and push-pull buffers |
CN102521180B (zh) * | 2011-12-02 | 2014-10-22 | 百利通科技(扬州)有限公司 | 一种多通道实时直读存储器结构 |
US9612901B2 (en) * | 2012-03-30 | 2017-04-04 | Intel Corporation | Memories utilizing hybrid error correcting code techniques |
US9009570B2 (en) * | 2012-06-07 | 2015-04-14 | Micron Technology, Inc. | Integrity of an address bus |
US9323608B2 (en) | 2012-06-07 | 2016-04-26 | Micron Technology, Inc. | Integrity of a data bus |
US8996960B1 (en) * | 2012-06-26 | 2015-03-31 | Inphi Corporation | Vertical error correction code for DRAM memory |
KR102002925B1 (ko) * | 2012-11-01 | 2019-07-23 | 삼성전자주식회사 | 메모리 모듈, 그것을 포함하는 메모리 시스템, 그것의 구동 방법 |
US9064606B2 (en) * | 2012-12-20 | 2015-06-23 | Advanced Micro Devices, Inc. | Memory interface supporting both ECC and per-byte data masking |
US9569352B2 (en) | 2013-03-14 | 2017-02-14 | Sandisk Technologies Llc | Storage module and method for regulating garbage collection operations based on write activity of a host |
WO2015016883A1 (en) * | 2013-07-31 | 2015-02-05 | Hewlett-Packard Development Company, L.P. | Off-memory-module ecc-supplemental memory system |
US9171597B2 (en) | 2013-08-30 | 2015-10-27 | Micron Technology, Inc. | Apparatuses and methods for providing strobe signals to memories |
WO2015047402A1 (en) * | 2013-09-30 | 2015-04-02 | Hewlett-Packard Development Company, L.P. | Programming memory controllers to allow performance of active memory operations |
KR20150090414A (ko) * | 2014-01-29 | 2015-08-06 | 에스케이하이닉스 주식회사 | 에러 정정 동작을 수행하는 반도체 장치 |
JP6385077B2 (ja) * | 2014-03-05 | 2018-09-05 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
US9471254B2 (en) * | 2014-04-16 | 2016-10-18 | Sandisk Technologies Llc | Storage module and method for adaptive burst mode |
US9928169B2 (en) | 2014-05-07 | 2018-03-27 | Sandisk Technologies Llc | Method and system for improving swap performance |
US9633233B2 (en) | 2014-05-07 | 2017-04-25 | Sandisk Technologies Llc | Method and computing device for encrypting data stored in swap memory |
US9710198B2 (en) | 2014-05-07 | 2017-07-18 | Sandisk Technologies Llc | Method and computing device for controlling bandwidth of swap operations |
US9665296B2 (en) | 2014-05-07 | 2017-05-30 | Sandisk Technologies Llc | Method and computing device for using both volatile memory and non-volatile swap memory to pre-load a plurality of applications |
WO2016098249A1 (ja) * | 2014-12-19 | 2016-06-23 | 三菱電機株式会社 | 情報処理装置およびfpgaコンフィギュレーション方法 |
US9450609B1 (en) | 2015-03-31 | 2016-09-20 | Altera Corporation | Methods and apparatus for embedding an error correction code in memory cells |
US10061645B2 (en) * | 2015-06-30 | 2018-08-28 | Qualcomm Incorporated | Memory array and link error correction in a low power memory sub-system |
US9965352B2 (en) * | 2015-11-20 | 2018-05-08 | Qualcomm Incorporated | Separate link and array error correction in a memory system |
DE102016123247B4 (de) * | 2015-12-01 | 2024-03-21 | Nvidia Corporation | Systeme und verfahren zur speicherverwaltung |
US9891986B2 (en) * | 2016-01-26 | 2018-02-13 | Nxp Usa, Inc. | System and method for performing bus transactions |
US9990158B2 (en) | 2016-06-22 | 2018-06-05 | Sandisk Technologies Llc | Storage system and method for burst mode management using transfer RAM |
US9818457B1 (en) | 2016-09-30 | 2017-11-14 | Intel Corporation | Extended platform with additional memory module slots per CPU socket |
US10216657B2 (en) | 2016-09-30 | 2019-02-26 | Intel Corporation | Extended platform with additional memory module slots per CPU socket and configured for increased performance |
CN108255633B (zh) * | 2016-12-28 | 2021-07-30 | 旺宏电子股份有限公司 | 存储控制方法、存储装置 |
CN108511030B (zh) * | 2017-02-24 | 2020-12-18 | 瑞昱半导体股份有限公司 | 记忆体测试方法 |
KR102362229B1 (ko) | 2017-08-10 | 2022-02-11 | 삼성전자주식회사 | 메모리 컨트롤러, 메모리 시스템 및 메모리 컨트롤러를 포함하는 어플리케이션 프로세서 |
KR102433098B1 (ko) * | 2018-02-26 | 2022-08-18 | 에스케이하이닉스 주식회사 | 어드레스 생성회로, 어드레스 및 커맨드 생성회로 및 반도체 시스템 |
US10636476B2 (en) * | 2018-11-01 | 2020-04-28 | Intel Corporation | Row hammer mitigation with randomization of target row selection |
US11403172B2 (en) * | 2019-08-05 | 2022-08-02 | Cypress Semiconductor Corporation | Methods for error detection and correction and corresponding systems and devices for the same |
US11416333B2 (en) * | 2019-08-22 | 2022-08-16 | Micron Technology, Inc. | Semiconductor device with power-saving mode and associated methods and systems |
WO2021035811A1 (zh) * | 2019-08-27 | 2021-03-04 | 江苏华存电子科技有限公司 | 一种可变动码率与更正能力内存控制方法 |
CN111128262B (zh) * | 2019-12-17 | 2021-02-23 | 海光信息技术股份有限公司 | 存储器电路、电路控制方法、集成电路器件及处理器 |
CN115016981B (zh) * | 2022-06-16 | 2023-05-09 | 海光信息技术股份有限公司 | 存储区域的设置方法、数据读取、写入方法及相关装置 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5987627A (en) | 1992-05-13 | 1999-11-16 | Rawlings, Iii; Joseph H. | Methods and apparatus for high-speed mass storage access in a computer system |
JPH1173737A (ja) * | 1997-08-29 | 1999-03-16 | Sony Corp | 記録装置及び方法、再生装置及び方法並びに記録媒体 |
JP3307579B2 (ja) | 1998-01-28 | 2002-07-24 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データ記憶システム |
JP3230485B2 (ja) * | 1998-04-09 | 2001-11-19 | 日本電気株式会社 | 1チップマイクロコンピュータ |
US20020029365A1 (en) | 1998-12-17 | 2002-03-07 | Yoshimichi Sato | Information processing apparatus |
US6212631B1 (en) * | 1999-01-15 | 2001-04-03 | Dell Usa, L.P. | Method and apparatus for automatic L2 cache ECC configuration in a computer system |
US6941505B2 (en) | 2000-09-12 | 2005-09-06 | Hitachi, Ltd. | Data processing system and data processing method |
US6687767B2 (en) | 2001-10-25 | 2004-02-03 | Sun Microsystems, Inc. | Efficient direct memory access transfer of data and check information to and from a data storage device |
US7117421B1 (en) * | 2002-05-31 | 2006-10-03 | Nvidia Corporation | Transparent error correction code memory system and method |
US7447950B2 (en) * | 2003-05-20 | 2008-11-04 | Nec Electronics Corporation | Memory device and memory error correction method |
US7272774B2 (en) * | 2004-04-16 | 2007-09-18 | Kingston Technology Corp. | Extender card for testing error-correction-code (ECC) storage area on memory modules |
US7322002B2 (en) * | 2004-05-26 | 2008-01-22 | Micron Technology, Inc. | Erasure pointer error correction |
-
2004
- 2004-11-22 US US10/995,850 patent/US7464241B2/en not_active Expired - Fee Related
-
2005
- 2005-11-17 WO PCT/US2005/042153 patent/WO2006057963A2/en active Application Filing
- 2005-11-17 DE DE112005002390T patent/DE112005002390T5/de not_active Ceased
- 2005-11-17 KR KR1020077007360A patent/KR100884096B1/ko not_active IP Right Cessation
- 2005-11-17 JP JP2007543351A patent/JP4777358B2/ja not_active Expired - Fee Related
- 2005-11-17 CN CN2005800336312A patent/CN101036131B/zh not_active Expired - Fee Related
- 2005-11-21 TW TW094140809A patent/TWI304591B/zh not_active IP Right Cessation
-
2007
- 2007-03-29 GB GB0706172A patent/GB2433624B/en not_active Expired - Fee Related
-
2011
- 2011-05-24 JP JP2011115561A patent/JP5399442B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP5399442B2 (ja) | 2014-01-29 |
WO2006057963A3 (en) | 2006-07-20 |
CN101036131A (zh) | 2007-09-12 |
JP2008521160A (ja) | 2008-06-19 |
JP2011243206A (ja) | 2011-12-01 |
KR100884096B1 (ko) | 2009-02-19 |
JP4777358B2 (ja) | 2011-09-21 |
WO2006057963A2 (en) | 2006-06-01 |
GB2433624A (en) | 2007-06-27 |
US20060123320A1 (en) | 2006-06-08 |
TW200627469A (en) | 2006-08-01 |
KR20070051930A (ko) | 2007-05-18 |
CN101036131B (zh) | 2011-01-26 |
TWI304591B (en) | 2008-12-21 |
US7464241B2 (en) | 2008-12-09 |
GB2433624B (en) | 2008-10-15 |
GB0706172D0 (en) | 2007-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112005002390T5 (de) | Burst-Betrieb für die Speichertransaktion und Speicherkomponenten, welche die zeitweilig multiplexierte Fehlerkorrekturcodierung unterstützen | |
DE102006002526B4 (de) | Steuervorrichtung für eine Solid-State-Disk und Verfahren zum Betreiben derselben | |
DE69322310T2 (de) | Busarchitektur für integrierten Daten/- und Videospeicher | |
DE69535672T2 (de) | Synchrone NAND DRAM Architektur | |
DE69232458T2 (de) | Programmierbare Zeitsteuerung für Speicher | |
DE102007050864B4 (de) | Verfahren und Vorrichtung zum Kommunizieren von Befehls- und Adresssignalen | |
DE3334556C2 (de) | Dynamischer RAM-Speicher mit Adressen-Multiplexbetrieb | |
DE69027030T2 (de) | Eine fehlertolerante datenspeicherungsanordnung | |
DE102006062383B4 (de) | Halbleiterspeicherelement und System für ein Halbleiterspeicherelement | |
DE102004027121B4 (de) | Ein Mehrfachbankchip, der mit einer Steuerung kompatibel ist, die für eine geringere Anzahl von Banken entworfen ist, und ein Verfahren zum Betreiben | |
DE102006043311A1 (de) | Speichersystem | |
DE60012081T2 (de) | Nichtflüchtige Halbleiterspeicheranordnung, die eine Datenleseoperation während einer Datenschreib/lösch-Operation erlaubt | |
DE2948159A1 (de) | Integrierter speicherbaustein mit waehlbaren betriebsfunktionen | |
DE112005002336T5 (de) | Befehl, der unterschiedliche Operationen in unterschiedlichen Chips steuert | |
DE69329282T2 (de) | Festkoerperspeichervorrichtung | |
DE10309919A1 (de) | Pufferbaustein und Verfahren zum Ansteuern von einer oder mehreren Speicheranordnungen | |
EP0974977A2 (de) | Integrierter Speicher | |
DE102006062024A1 (de) | Halbleiterspeichervorrichtung | |
DE112019002100T5 (de) | Zugriff auf dram durch wiederverwendung von pins | |
DE102004060348A1 (de) | Halbleiterspeichervorrichtung und Gehäuse dazu, und Speicherkarte mit Verwendung derselben | |
DE69029815T2 (de) | Zentralisierte referenz- und änderungstabelle für eine virtuelle speicheranordnung | |
DE19738893A1 (de) | Schaltsignalgenerator und diesen verwendendes, synchrones SRAM | |
US5343427A (en) | Data transfer device | |
DE102004050037B4 (de) | Speicherbauelement, Speichersystem und Betriebsmodussetzverfahren | |
DE10002130A1 (de) | Verfahren und Vorrichtung zum wechselweisen Betreiben eines Schreib-Lese-Speichers im Ein-Speicher-Betriebsmodus und im verschränkten Mehr-Speicher-Betriebsmodus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8125 | Change of the main classification |
Ipc: G06F 12/00 AFI20051117BHDE |
|
R016 | Response to examination communication | ||
R016 | Response to examination communication | ||
R016 | Response to examination communication | ||
R002 | Refusal decision in examination/registration proceedings | ||
R006 | Appeal filed | ||
R008 | Case pending at federal patent court | ||
R003 | Refusal decision now final | ||
R011 | All appeals rejected, refused or otherwise settled |