EP1817658A2 - Speichersystem mit sektorbuffern - Google Patents

Speichersystem mit sektorbuffern

Info

Publication number
EP1817658A2
EP1817658A2 EP05819353A EP05819353A EP1817658A2 EP 1817658 A2 EP1817658 A2 EP 1817658A2 EP 05819353 A EP05819353 A EP 05819353A EP 05819353 A EP05819353 A EP 05819353A EP 1817658 A2 EP1817658 A2 EP 1817658A2
Authority
EP
European Patent Office
Prior art keywords
memory
sector
buffer
dfan
access unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP05819353A
Other languages
English (en)
French (fr)
Inventor
Reinhard KÜHNE
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.)
Hyperstone GmbH
Original Assignee
Hyperstone AG
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 Hyperstone AG filed Critical Hyperstone AG
Publication of EP1817658A2 publication Critical patent/EP1817658A2/de
Withdrawn legal-status Critical Current

Links

Classifications

    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00—Accessing, addressing or allocating within memory systems or architectures
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601—Interfaces specially adapted for storage systems
    • G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061—Improving I/O performance
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; 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/16—Handling requests for interconnection or transfer for access to memory bus
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; 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/38—Information transfer, e.g. on bus
    • G06F13/40—Bus structure
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601—Interfaces specially adapted for storage systems
    • G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656—Data buffering arrangements
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601—Interfaces specially adapted for storage systems
    • G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601—Interfaces specially adapted for storage systems
    • G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671—In-line storage system
    • G06F3/0673—Single storage device
    • G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Definitions

  • the invention describes a memory system for reading and writing logical sectors which is connected to a host system via a host bus and which contains a memory controller with internal memory and flash memory chips organized in individually erasable memory blocks which in turn store a plurality of write and read memory blocks readable memory sectors for storing logical sectors.
  • flash memories are organized in blocks and these in turn are organized in sectors, one block being e.g. consists of 256 sectors with 512 bytes each.
  • the memories have the property that new information can only be written sector by sector into previously deleted sectors. The deletion is done for one block for all sectors together. The writing of a sector into the memory takes longer than the reading and an erasing operation of a block requires a long time, e.g. several milliseconds.
  • the previous memory systems are organized so that the data from the host bus via the memory controller and the memory bus to the flash memory chips. For devices with a slow host bus, such as Compact Flash and SD / MMC, this arrangement is sufficient.
  • the memory controller has enough time to prepare the data for storage without having to cache the entire sector in internal RAM. With a faster host bus, such as USB2.0 or Serial ATA, time is not available and the storage system becomes too slow.
  • This object is achieved by temporarily storing the logical sectors for communication with the host system in at least one pair of mutual sector buffers and transmitting them directly between the sector buffers and the flash memory chips by means of at least one direct flash access unit. without being buffered in the internal memory (IR) of the memory controller (FC).
  • IR internal memory
  • FC memory controller
  • Sector buffers are provided in the memory system, each buffering a logical sector.
  • a sector buffer is switched in the direction of the host bus in order to exchange data with the host and a sector buffer is connected to the internal memory bus to which the flash memory chip for the respective sector is connected.
  • another sector may be transmitted from the host.
  • the transmission via the host bus is thus decoupled from the transmission to the flash memory chips. Both transmissions can take place at the respective maximum bus speed and buffering of the respective logical sector in the internal memory of the memory controller is not necessary.
  • multiple memory busses are provided, to each of which one or more flash memory chips are connected. These memory buses can be operated in parallel.
  • Each memory bus is assigned a pair of sector buffers. The connection of the respective memory bus to a pair of sector buffers takes place via a matrix switch, so that this assignment can also be made anew during operation.
  • the assignment of the sector buffers to the host bus takes place via an input multiplexer.
  • each memory bus Associated with each memory bus is a direct flash access unit which controls the transmission of the payload data from the respective sector buffer to the flash memory chips by generating the required control signals and commands.
  • the direct flash access unit generates the switching signals for the multiplexers of the
  • Sector buffer and the associated memory chip manufacture are used.
  • the now empty sector buffer is connected to the host bus and the sector buffer temporarily filled by the host bus is switched to the memory chip in order to write the next sector into the flash memory.
  • the mutual assignment of the sector buffer to host bus and memory bus accordingly.
  • a transmission from and to the memory controller can also take place. This is mainly the case if the sectors contain administrative data.
  • the setting of the multiplexers and the matrix switch is initialized by the memory controller and thereafter the switches are made by the direct flash access unit associated with the memory bus.
  • the memory controller has access to the memory busses and thus can also access the memory chips directly. Likewise, the memory controller can also directly access the contents of the sector buffers.
  • Modern flash memory chips have an internal page buffer in which several sectors are cached together for writing or reading. For this purpose, the memory functions are then carried out on-chip. If errors occur during a save operation, the contents of this internal page buffer are destroyed.
  • each direct flash access unit is now assigned at least one separate page buffer on the memory bus, which is filled by the associated sector buffer and whose content is transferred to the internal page buffer of the flash memory chips. If errors occur during a memory operation, the internal page buffer is again filled by the page buffer on the memory bus, which still contains the sector content.
  • Several page buffers per memory bus are used to perform parallel memory operations in different memory chips (interleaving).
  • page buffers Another advantage of page buffers is that only at the end of the transmission of an entire page, ie a large number of sectors, an interrupt is triggered by the direct flash access unit on the memory controller. This speeds up the transmission, since an interrupt is not triggered for each sector, which requires processing time in the memory controller.
  • the multiplexers and the Direct Flash Access units are switchable so that six different directions of transmission can be set:
  • Each direct flash access unit is advantageously associated with an ECC unit in which test words are formed parallel to the transfer of the sectors for writing to the memory chips and attached thereto. When reading the sectors, the test words in the ECC unit are checked in parallel to the transmission and, if necessary, an error is reported.
  • a further backup advantageously takes place via a CRC unit which is also assigned to each direct flash access unit.
  • a CRC word is formed or checked over the sector. This avoids that for grossly defective sectors, e.g. in the event of a power failure during a memory operation, a correction is attempted via the ECC word.
  • the memory controller controls the direct flash access units via a respective pair of register sets, which, like the sector buffers, are switched alternately between the memory controller and the respective direct flash access unit via multiplexers. They contain the parameters such as addresses, lengths and check marks with which the data transmission is handled.
  • an order for a memory operation is stored by the memory controller. Thereafter, the register sets are switched and the respective Direct Flash Access unit processes this order, while the
  • Memory controller writes the next job in the other register set. As soon as the first job has been processed and the next job is in the other register file, the register records are changed again.
  • the jobs can be used to control and poll the flash memory chips, such as erase or erase, or to transfer sectors.
  • the next instruction from the register file is sent to the associated flash memory chip and the transmission of the respective sector is performed.
  • page buffers are integrated, in which a certain number of sectors are buffered for reading and writing. The transfer takes place until the respective page buffer is filled or emptied with sectors.
  • the sectors are each backed by an ECC word.
  • the transfer of sectors between sector buffers and The page buffers are carried out with parallel calculation or verification of the respective ECC word in the ECC unit. This avoids a pause on the memory bus during the calculation of the ECC word.
  • the ECC unit After transmitting a sector, the ECC unit inserts an ECC word or corrects the sector in case of an error.
  • Fig. 1 shows a block diagram of the memory system.
  • Fig. 2 shows a detail of memory controller and job memory.
  • Fig. 3 shows the mutual switching of the sector buffers
  • Fig. 4 shows the transmission of the logical sectors on the host bus and memory bus.
  • Fig. 5 shows a flow chart for writing a page.
  • Fig. 6 shows a flow chart for reading a page
  • FIG. 1 shows the block diagram of a memory system with the memory controller FC and the flash memory chips FI 1... F 4x.
  • the memory system is equipped with four groups of memory chips on four memory busses MB1..MB4.
  • Each memory bus MBl .. MB4 is assigned a direct flash access unit DFAl .. DF A4.
  • Each direct flash access unit in this case includes two page buffers PBnI, 2, an ECC unit ECCn and a CRC unit CRCn.
  • the storage system is connected to a host via the host bus HB and a host interface HIF.
  • a host Corresponding to the number of memory busses MB1.
  • MB4 sector buffers SBn1, SBn2 are provided, which are switched to one of the busses via the two multiplexers MUXn1 and MUXn2. They thus decouple the host bus HB from the memory bus MB.
  • the input multiplexer MUX1 is used.
  • the assignment of a pair of sector buffers to a memory bus MBn is via the matrix switch CB.
  • the initialization of the multiplexers MUX1, MXnI, MUXn2 and the matrix switch CB is performed by the memory controller FC.
  • the further control is then done by the direct flash access units DFAn.
  • the memory controller FC has access to the sector buffers SBnI, SBn2, via the matrix switch CB to the memories Fnx and to the direct flash access units DFAn.
  • the data for managing the memory system is held in the internal memory IR in the memory controller FC.
  • the direct flash access units DFAn trigger an interrupt on the memory controller FC via the interrupt line INT in each case after the transmission of a sector or a page. Using the pagebuffers minimizes the number of interrupts to be processed.
  • Fig. 2 the memory controller FC and a direct flash access unit DFAl is shown in somewhat more detail.
  • the memory controller FC and the direct flash access unit DFAl there are two sets of registers DRl 1, DRl 2, which are mutually assigned to the memory controller FC or the direct flash access unit DFA via the multiplexers MDl 1 and MD 12.
  • the latter processes the job in a register file, while the other register file is loaded by the memory controller with another job.
  • Such jobs may also mean filling the page buffers PBl 1 or PB 12 with data and then writing to the memory chips in the interleave process.
  • results of a memory operation are also transferred to the memory controller FC.
  • an interrupt is triggered on the memory controller FC via the interrupt line INT.
  • Fig. 3 and Fig. 4 the operation of the mutual sector buffer SBnI, SBn2 is shown.
  • the sector buffer SBnI is connected to the host bus HB via the host interface HIF and the first multiplexer MUXnI, while the sector buffer SBn2 is connected via the second multiplexer MUXn2 and the matrix switch CB to the allocated memory bus MBn and the corresponding memory chips Fnx.
  • the multiplexer MUXnI, MUXn2 the allocation of the sector buffers SBnI, SBn2 changed.
  • a sector m + 1 is transmitted from the host via the host bus HB to the sector buffer SBnI, while in parallel one of the sectors m is transferred from the sector buffer SBn2 to the memory chips Fnx. Subsequently, the sector m + 1 is transmitted from the sector buffer SBnI on the memory bus MBn, while the sector m + 2 on the host bus is transferred to the sector buffer SBn2. Furthermore, it is shown here that the CRC character and the ECC word are attached to the respective sector.
  • FIG. 5 shows the flowchart for writing a page into the memory chips Fnx.
  • the sector buffer 1 is switched to the host bus and a sector is transferred from the host bus to the sector buffer 1.
  • the ECC word is calculated and entered in the Sektorbufferl after the transfer.
  • the sector buffer is switched to the memory via the multiplexers and the transfer of the sector into the memory is started.
  • the sector buffer 2 is switched to the host bus and the transfer of the next sector into the sector buffer 2 is started. Now, the transfers of the first sector to the memory and the second sector to sector buffer 2 are parallel.
  • a sector is transferred to memory, it is checked if all sectors of a page are transferred. If this is not the case, as described, the other sectors are transferred from the host bus to the memory, with mutual use of the sector buffers 1 and 2.
  • Fig. 6 the flow chart for reading a page from the memory is shown.
  • the sector buffer is switched to the memory and a sector is transferred from the memory into the sector buffer.
  • the ECC word is calculated and checked for errors after transmission. If the errors can be corrected, the sector is corrected in the sector buffer, otherwise an error message is generated and entered in the sector buffer. If there is now an error-free sector in the sector buffer, the sector buffer is switched to the host bus via the multiplexers and the transfer of the sector to the host is started. In parallel with this, the sector buffer 2 is switched to the memory and the transfer of the next sector from the memory into the sector buffer 2 is started. Even now, the ECC word is checked in parallel.
  • the sector buffer 2 is switched to the host bus via the multiplexers and the transfer of the sector to the host is started.
  • the transmissions of the first sector from the memory and the second sector from the sector buffer are parallel.
  • a sector is transmitted to the host, it is checked if all sectors of a page are transmitted. If this is not the case, as described, the other sectors are transferred from the memory to the host bus, with the mutual use of the sector buffers 1 and 2.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

Die Erfindung beschreibt ein Speichersystem, das über einen Hostbus (HB) an ein Hostsystem angeschlossen ist, und das einen Speichercontroller (FC) mit internem Speicher (IR) und Flashspeicherchips (F1..Fn) enthält, die in einzeln löschbaren Speicherblöcken organisiert sind, die wiederum eine Vielzahl von schreib- und lesbaren Speichersektoren enthalten, wobei die Sektoren in Sektorabschnitte gegliedert sind, die jeweils durch ein ECC-Wort gesichert sind, wobei die Sektoren zur Kommunikation mit dem Hostsystem in wechselseitigen Sektorbuffern (SB1, SB2) zwischengespeichert sind und mittels einer Direct-Flash-Access-Einheit (DFA) zwischen den Sektorbuffern (SB1, SB2) und den Flashspeicherchips (F1..Fn) übertragen werden ohne im internen Speicher (IR) des Speichercontrollers (FC) zwischengespeichert zu werden.

Description

Unser Zeichen: H159 / 15 MB
Spcichcrsystcm mit Sektorbuffern
Die Erfindung beschreibt ein Speichersystem zum Lesen und Schreiben von logischen Sektoren, das über einen Hostbus an ein Hostsystem angeschlossen ist, und das einen Speichercontroller mit internem Speicher und Flashspeicherchips enthält, die in einzeln löschbaren Speicherblöcken organisiert sind, die wiederum eine Vielzahl von schreib- und lesbaren Speichersektoren zur Speicherung von logischen Sektoren enthalten.
Die weit verbreiteten nichtflüchtigen Halbleiterspeicher (Flashspeicher) sind in Blöcken und diese wiederum in Sektoren organisiert, wobei ein Block z.B. aus 256 Sektoren mit je 512 Bytes besteht. Die Speicher besitzen die Eigenschaft, dass neue Informationen nur sektorweise in vorher gelöschte Sektoren geschrieben werden können. Das Löschen erfolgt jeweils für einen Block für alle Sektoren gemeinsam. Das Schreiben eines Sektors in den Speicher dauert länger als das Lesen und eine Löschoperation eines Blockes erfordert eine lange Zeit, z.B. mehrere Millisekunden.
Die bisherigen Speichersysteme sind so organisiert, dass die Daten vom Hostbus über den Speichercontroller und den Speicherbus zu den Flashspeicherchips gelangen. Für Geräte mit langsamen Hostbus, wie Compact-Flash und SD/MMC, ist diese Anordnung hinreichend. Der Speichercontroller hat genügend Zeit, die Daten für die Speicherung aufzubereiten, ohne den gesamten Sektor im internen RAM Zwischenspeichern zu müssen. Bei einem schnelleren Hostbus, wie USB2.0 oder Serial-ATA, steht die Zeit nicht zur Verfügung und das Speichersystem wird zu langsam.
Es ist Aufgabe der Erfindung ein Speichersystem anzugeben, dass auch bei einem schnellen Hostbus hinreichend schnell arbeitet.
Gelöst wird diese Aufgabe dadurch, dass die logischen Sektoren zur Kommunikation mit dem Hostsystem in mindestens einem Paar von wechselseitigen Sektorbuffern zwischengespeichert sind und mittels mindestens einer Direct-Flash- Access-Einheit zwischen den Sektorbuffern und den Flashspeicherchips unmittelbar übertragen werden. ohne im internen Speicher (IR) des Speichercontrollers (FC) zwischengespeichert zu werden.
Vorteilhafte Ausfuhrungsformen sind in den Unteransprüchen angegeben.
In dem Speichersystem sind Sektorbuffer vorgesehen, die jeweils einen logischen Sektor Zwischenspeichern können. Dabei ist ein Sektorbuffer in Richtung Hostbus geschaltet, um mit dem Host Daten auszutauschen und ein Sektorbuffer mit dem internen Speicherbus verbunden, an dem der Flashspeicherchip für den jeweiligen Sektor angeschlossen ist. Somit kann, während ein Sektor zu den Flashspeicherchips übertragen wird, vom Host ein weiterer Sektor übertragen werden. Die Übertragung über den Hostbus ist damit von der Übertragung zu den Flashspeicherchips entkoppelt. Beide Übertragungen können mit der jeweils maximalen Busgeschwindigkeit erfolgen und eine Zwischenspeicherung des jeweiligen logischen Sektors in dem internen Speicher des Speichercontrollers ist nicht notwendig.
Bei größeren Speichersystemen sind mehrere Speicherbusse vorgesehen, an denen jeweils ein oder mehrere Flashspeicherchips angeschlossen sind. Diese Speicherbusse können parallel betrieben werden. Jedem Speicherbus ist ein Paar von Sektorbuffern zugeordnet. Die Anschaltung des jeweiligen Speicherbusses an ein Paar von Sektorbuffern erfolgt über einen Matrixschalter, so dass diese Zuordnung auch im Betrieb neu vorgenommen werden kann. Die Zuordnung der Sektorbuffer zu dem Hostbus erfolgt über einen Eingangsmultiplexer.
Jedem Speicherbus ist eine Direct-Flash- Access-Einheit zugeordnet, welche die Übertragung der Nutzdaten von dem jeweiligen Sektorbuffer zu den Flashspeicherchips steuert, indem sie die erforderlichen Steuersignale und -befehle generiert.
Die Direct-Flash-Access-Einheit generiert die Umschaltsignale für die Multiplexer der
Sektorbuffer und für den Matrixschalter, um die Verbindung zwischen einem
Sektorbuffer und dem zugeordneten Speicherchip herzustellen. Beim Schreibvorgang wird nach der Übertragung eines Sektors aus dem Sektorbuffer in den Speicherchip der jetzt leere Sektorbuffer mit dem Hostbus verbunden und der zwischenzeitlich vom Hostbus gefüllte Sektorbuffer zu dem Speicherchip geschaltet, um den nächsten Sektor in den Flashspeicher zu schreiben. Beim Lesen erfolgt dieser Vorgang der wechselseitigen Zuordnung der Sektorbuffer zu Hostbus und Speicherbus entsprechend.
Anstelle der Übertragung eines Sektors von und zum Speicherchip kann auch eine Übertragung von und zum Speichercontroller erfolgen. Dies ist hauptsächlich der Fall, wenn die Sektoren Verwaltungsdaten enthalten.
Die Einstellung der Multiplexer und des Matrixschalters wird durch den Speichercontroller initialisiert und danach erfolgen die Umschaltungen durch die dem Speicherbus zugeordnete Direct-Flash-Access-Einheit.
Der Speichercontroller besitzt Zugang zu den Speicherbussen und kann somit auch auf die Speicherchips direkt zugreifen. Ebenso kann der Speichercontroller auch direkt auf die Inhalte der Sektorbuffer zugreifen.
Moderne Flash- Speicherchips weisen einen internen Pagebuffer auf, in dem mehrere Sektoren zum Schreiben oder Lesen zusammen zwischengespeichert werden. Aus diesem heraus erfolgen dann chipintern die Speicherfunktionen. Falls bei einer Speicheroperation Fehler auftreten, ist der Inhalt dieses internen Pagebuffers zerstört. In einer Ausführung der Erfindung ist nun jeder Direct-Flash-Access-Einheit mindestens ein eigener Pagebuffer am Speicherbus zugeordnet, der von dem zugehörigen Sektor- buffer gefüllt wird, und dessen Inhalt in den internen Pagebuffer der Flash- Speicherchips übertragen wird. Falls nun bei einer Speicheroperation Fehler auftreten, wird der interne Pagebuffer erneut von dem Pagebuffer am Speicherbus gefüllt, in dem noch der Sektorinhalt steht. Mehrere Pagebuffer pro Speicherbus werden eingesetzt, um parallel Speicheroperationen in verschiedenen Speicherchips durchzuführen (Interleaving). Ein weiterer Vorteil der Pagebuffer besteht darin, dass nur am Ende der Übertragung einer gesamten Page, also einer Vielzahl von Sektoren, ein Interrupt durch die Direct-Flash- Access-Einheit am Speichercontroller ausgelöst wird. Dies beschleunigt die Übertragung, da nicht für jeden Sektor ein Interrupt ausgelöst wird, welcher Verarbeitungszeit im Speichercontroller benötigt. Die Multiplexer und die Direct-Flash- Access-Einheiten sind so schaltbar, dass sechs verschiedene Übertragungsrichtungen einstellbar sind:
1: Host <-> Speicher, 2: Host <-> Pagebuffer + Speicher, 3: Pagebuffer <-> Speicher, 4: Speicher <-> Host, 5: Speicher <-> Host + Pagebuffer, 6: Speicher <-> Pagebuffer. Jeder Direct-Flash- Access-Einheit ist vorteilhafterweise eine ECC-Einheit zugeordnet, in der Prüfworte parallel zu der Übertragung der Sektoren zum Schreiben in die Speicherchips gebildet und an diese angehängt werden. Beim Lesen der Sektoren werden die Prüfworte in der ECC-Einheit parallel zur Übertragung überprüft und gegebenenfalls ein Fehler gemeldet.
Eine weitere Sicherung erfolgt vorteilhafterweise über eine CRC-Einheit, die auch jeder Direct-Flash- Access-Einheit zugeordnet ist. Es wird jeweils ein CRC- Wort über den Sektor gebildet bzw. überprüft. Damit wird vermieden, dass bei grob fehlerhaften Sektoren, z.B. bei einem Spannungsausfall während einer Speicheroperation, eine Korrektur über das ECC-Wort versucht wird.
Der Speichercontroller steuert die Direct-Flash- Access-Einheiten über jeweils ein Paar von Registersätzen, die ähnlich wie die Sektorbuffer wechselseitig zwischen dem Speichercontroller und der jeweiligen Direct-Flash- Access-Einheit über Multiplexer geschaltet werden. Sie enthalten die Parameter wie Adressen, Längen und Prüfzeichen, mit denen die Datenübertragung abgewickelt wird.
In einem Satz der Steuerregister wird ein Auftrag für eine Speicheroperation vom Speichercontroller abgelegt. Danach werden die Registersätze umgeschaltet und die jeweilige Direct-Flash-Access-Einheit arbeitet diesen Auftrag ab, während der
Speichercontroller den nächsten Auftrag in den anderen Registersatz schreibt. Sobald der erste Auftrag abgearbeitet ist und der nächste Auftrag im anderen Registersatz steht, werden die Registersätze wieder gewechselt. Die Aufträge können zum Steuern und Abfragen der Flashspeicherchips, wie etwa Löschen beziehungsweise Löschzustand, oder für die Übertragung von Sektoren genutzt werden.
Für die Übertragung von Sektoren wird der jeweils nächste Befehl aus dem Registersatz zu dem zugehörigen Flashspeicherchips gesendet und die Übertragung des jeweiligen Sektors durchgeführt. In zeitgemäßen Flashspeicherchips sind Pagebuffer integriert, in denen eine bestimmte Anzahl von Sektoren zum Lesen und Schreiben zwischengespeichert wird. Die Übertragung erfolgt solange, bis der jeweilige Pagebuffer mit Sektoren gefüllt oder geleert ist. Die Sektoren sind jeweils durch ein ECC-Wort gesichert. Die Übertragung der Sektoren zwischen den Sektorbuffern und den Pagebuffern erfolgt mit paralleler Berechnung bzw. Überprüfung des jeweiligen ECC-Wortes in der ECC-Einheit dazu. Damit wird eine Pause auf dem Speicherbus während der Berechnung des ECC-Wortes vermieden. Nach der Übertragung eines Sektors fügt die ECC-Einheit ein ECC-Wort ein oder korrigiert den Sektor bei einem Fehler.
Neben der Übertragung von Nutzdaten aus den Sektorbuffern in die Flashspeicherchips ist natürlich auch vorgesehen, Verwaltungsdaten zwischen dem Speichercontroller und den Flashspeicherchips direkt zu übertragen, ohne die Direct-Flash- Access-Einheit in Anspruch zu nehmen.
Die Ausgestaltung der Erfindung ist in den Figuren beispielhaft beschrieben. Fig. 1 zeigt ein Blockschaltbild des Speichersystems Fig. 2 zeigt ein Detail von Speichercontroller und Auftragsspeicher Fig. 3 zeigt die wechselseitige Schaltung der Sektorbuffer
Fig. 4 zeigt die Übertragung der logischen Sektoren auf dem Hostbus und Speicherbus Fig. 5 zeigt ein Flussdiagramm zum Schreiben einer Page Fig. 6 zeigt ein Flussdiagramm zum Lesen einer Page
In der Fig. 1 ist das Blockschaltbild eines Speichersystems mit dem Speichercontroller FC und den Flashspeicherchips FI l .. F4x gezeigt. In der hier dargestellten Version ist das Speichersystem mit vier Gruppen von Speicherchips an vier Speicherbussen MB1..MB4 ausgestattet. Jedem Speicherbus MBl .. MB4 ist eine Direct-Flash- Access- Einheit DFAl .. DF A4 zugeordnet. Zu jeder Direct-Flash- Access-Einheit gehören in diesem Fall jeweils zwei Pagebuffer PBnI ,2, eine ECC-Einheit ECCn und eine CRC- Einheit CRCn.
Das Speichersystem ist über den Hostbus HB und ein Hostinterface HIF an einen Host angeschlossen. Entsprechend der Anzahl der Speicherbusse MBl .. MB4 sind Sektorbuffer SBnI, SBn2 vorgesehen, die über die beiden Multiplexer MUXnI und MUXn2 wechselseitig zu jeweils einem der Busse geschaltet werden. Sie entkoppeln damit den Hostbus HB vom Speicherbus MB. Zur Zuordnung eines Paares von Sektorbuffern zum Hostbus HB dient der Eingangsmultiplexer MUXl. Die Zuordnung eines Paares von Sektorbuffern zu einem Speicherbus MBn erfolgt über den Matrixschalter CB.
Die Initialisierung der Multiplexer MUXl, MXnI, MUXn2 und des Matrixschalters CB erfolgt durch den Speichercontroller FC. Die weitere Steuerung der geschieht dann durch die Direct-Flash- Access-Einheiten DFAn.
Der Speichercontroller FC besitzt Zugriff auf die Sektorbuffer SBnI, SBn2, über den Matrixschalter CB auf die Speicher Fnx und auf die Direct-Flash- Access-Einheiten DFAn. Die Daten zur Verwaltung des Speichersystems werden in dem internen Speicher IR im Speichercontroller FC gehalten. Die Direct-Flash- Access-Einheiten DFAn lösen über die Interrupt-Leitung INT jeweils nach der Übertragung eines Sektors oder einer Page einen Interrupt an dem Speichercontroller FC aus. Durch die Verwendung der Pagebuffer wird die Anzahl der zu verarbeitenden Interrupts minimiert.
In Fig. 2 ist der Speichercontroller FC und eine Direct-Flash- Access-Einheit DFAl etwas detaillierter dargestellt. Zwischen dem Speichercontroller FC und der Direct- Flash- Access-Einheit DFAl befinden sich zwei Registersätze DRl 1, DRl 2, die über die Multiplexer MDl 1 und MD 12 wechselseitig dem Speichercontroller FC oder der Direct-Flash- Access-Einheit DFA zugeordnet sind. Die letztere arbeitet den Auftrag in einem Registersatz ab, während der andere Registersatz vom Speichercontroller mit einem weiteren Auftrag geladen wird. Solche Aufträge können auch bedeuten, die Pagebuffer PBl 1 oder PB 12 mit Daten zu füllen und dann im Interleave- Verfahren in die Speicherchips zu schreiben. In den Registersätzen DRl 1, DRl 2 werden auch Ergebnisse einer Speicheroperation zu dem Speichercontroller FC übertragen. Nach Abarbeitung eines Auftrags wird über die Interrupt-Leitung INT ein Interrupt am Speichercontroller FC ausgelöst.
In Fig. 3 und Fig. 4 ist die Arbeitsweise der wechselseitigen Sektorbuffer SBnI, SBn2 dargestellt. Hier ist der Sektorbuffer SBnI über das Hostinterface HIF und den ersten Multiplexer MUXnI an den Hostbus HB geschaltet, während der Sektorbuffer SBn2 über den zweiten Multiplexer MUXn2 und den Matrixschalter CB an den zugeordneten Speicherbus MBn und die entsprechenden Speicherchips Fnx geschaltet ist. Nach der Übertragung von jeweils einem Sektor wird durch Umschalten der Multiplexer MUXnI, MUXn2 die Zuordnung der Sektorbuffer SBnI, SBn2 gewechselt. So wird ein Sektor m+1 vom Host über den Hostbus HB in den Sektorbuffer SBnI übertragen, während parallel ein der Sektor m vom Sektorbuffer SBn2 in die Speicherchips Fnx übertragen wird. Anschließend wird der Sektor m+1 vom Sektorbuffer SBnI auf dem Speicherbus MBn übertragen, während der Sektor m+2 auf dem Hostbus in den Sektorbuffer SBn2 übertragen wird. Weiterhin ist hier gezeigt, dass an den jeweiligen Sektor das CRC- Zeichen und das ECC-Wort angehängt sind.
In Fig. 5 ist das Flussdiagramm zum Schreiben einer Page in die Speicherchips Fnx dargestellt. Nach dem ersten Einstellen der DFA-Register wird der Sektorbuffer 1 zum Hostbus geschaltet und ein Sektor vom Hostbus in den Sektorbuffer 1 übertragen. Parallel dazu wird das ECC-Wort berechnet und nach der Übertragung mit in den Sektorbufferl eingetragen. Nach der Übertragung wird der Sektorbufferl über die Multiplexer zum Speicher geschaltet und der Transfer des Sektors in den Speicher begonnen. Parallel dazu wird der Sektorbuffer2 zum Hostbus geschaltet und mit dem Transfer des nächsten Sektors in den Sektorbuffer2 begonnen. Jetzt laufen die Übertragungen des ersten Sektors in den Speicher und des zweiten Sektors in den Sektorbuffer2 parallel ab. Wenn ein Sektor in den Speicher übertragen ist, wird geprüft, ob alle Sektoren einer Page übertragen sind. Ist dies nicht der Fall, werden, wie beschrieben, die weiteren Sektoren vom Hostbus in den Speicher übertragen, unter wechselseitiger Nutzung der Sektorbuffer 1 und 2.
In Fig. 6 ist das Ablaufdiagramm zum Lesen einer Page aus dem Speicher dargestellt. Nach dem ersten Einstellen der DFA-Register wird der Sektorbufferl zum Speicher geschaltet und ein Sektor vom Speicher in den Sektorbufferl übertragen. Parallel dazu wird das ECC-Wort berechnet und nach der Übertragung auf Fehler überprüft. Falls die Fehler korrigierbar sind, wird der Sektor im Sektorbuffer korrigiert, ansonsten eine Fehlermeldung erzeugt und in den Sektorbuffer eingetragen. Wenn nun ein fehlerfreier Sektor im Sektorbuffer vorliegt, wird der Sektorbufferl über die Multiplexer zum Hostbus geschaltet und der Transfer des Sektors zum Host begonnen. Parallel dazu wird der Sektorbuffer2 zum Speicher geschaltet und mit dem Transfer des nächsten Sektors aus dem Speicher in den Sektorbuffer2 begonnen. Auch jetzt wird parallel das ECC Wort überprüft. Falls die Fehler korrigierbar sind, wird der Sektor im Sektorbuffer korrigiert, ansonsten eine Fehlermeldung erzeugt und in den Sektorbuffer eingetragen. Wenn nun ein fehlerfreier Sektor im Sektorbuffer vorliegt, wird der Sektorbuffer2 über die Multiplexer zum Hostbus geschaltet und der Transfer des Sektors zum Host begonnen.
Jetzt laufen die Übertragungen des ersten Sektors aus dem Speicher und des zweiten Sektors aus dem Sektorbufferl parallel ab. Wenn ein Sektor zum Host übertragen ist, wird geprüft, ob alle Sektoren einer Page übertragen sind. Ist dies nicht der Fall, werden, wie beschrieben, die weiteren Sektoren vom Speicher an den Hostbus übertragen, unter wechselseitiger Nutzung der Sektorbuffer 1 und 2.
Bezugszeichen
CB Matrixschalter
CRCn CRC-Einheit
DFAn DFA-Einheit
DRnI, 2 DFA-Registersatz
EA Erster Auftrag
ECCn ECC-Einheit
Fnx Flashspeicherchips
FC Speichercontroller
HB Hostbus
HIF Hostinterface
INT Interruptleitung
IR Interner Speicher
MBn Speicherbus
MDnI, 2 Registersatzmultiplexer n Anzahl der Speicherbusse MB
MUXl Eingangsmultiplexer
MUXnI Hostseitiger Multiplexer
MUXn2 Speicherseitiger Multiplexer
PBnI ,2 Pagebuffer am Speicherbus
SBl, SB2 Sektorbuffer

Claims

Patentansprüche:
1. Speichersystem zum Lesen und Schreiben von logischen Sektoren, das über einen Hostbus (HB) an ein Hostsystem angeschlossen ist, und das einen Speichercontroller (FC) mit internem Speicher (IR) und Flashspeicherchips (F 1..Fn) enthält, die in einzeln löschbaren Speicherblöcken organisiert sind, die wiederum eine Vielzahl von schreib- und lesbaren Speichersektoren zur Speicherung von logischen Sektoren enthalten, dadurch gekennzeichnet, dass die logischen Sektoren zur Kommunikation mit dem Hostsystem in mindestens einem Paar von wechselseitigen Sektorbuffern (SBnI, SBn2) zwischengespeichert sind und mittels mindestens einer Direct-Flash- Access-Einheit (DFAn) zwischen den Sektorbuffern (SBIn, SBn2) und den Flashspeicherchips (Fl L.Fnx) unmittelbar übertragen werden.
2. Speichersystem nach Anspruch 1, dadurch gekennzeichnet, dass die Flashspeicherchips (Fxy) über mindestens einen Speicherbus (MBn) mit mehreren Paaren von Sektorbuffern (SBIn, SBn2) über einen Matrix- Schalter (CB) verbunden sind, wobei die Sektorbuffer über einen Eingangsmultiplexer (MUXl) mit dem Hostbus (HB) verbunden sind.
3. Speichersystem nach Anspruch 2, dadurch gekennzeichnet, dass jedem Paar von Sektorbuffern ein Speicherbus (MBn) und eine Direct-Flash- Access-Einheit (DFAn) zugeordnet ist
4. Speichersystem nach Anspruch 1, dadurch gekennzeichnet, dass bei einem Sektorbufferpaar (SBnI, SBn2) jeweils ein Sektorbuffer dem Hostbus (HB) und ein Sektorbuffer dem Speichercontroller (FC) oder einem Speicherbus (MBn) mit einer Direct-Flash- Access-Einheit (DFAn) zugeordnet ist und dass nach der jeweiligen Übertragung eines Sektors die Zuordnung der Sektorbuffer gewechselt wird.
5. Speichersystem nach Anspruch 2, dadurch gekennzeichnet, dass die Zuordnung der Sektorbuffer (SBnI, SBn2) über Multiplexer (MUXnI, MUXn2) durch den Speichercontroller (FC) initialisiert wird und danach von den entsprechenden Direct- Flash- Access-Einheiten umgeschaltet wird.
6. Speichersystem nach Anspruch 1, dadurch gekennzeichnet, dass der Speichercontroller (FC) alternativ zur jeweiligen Direct-Flash- Access-Einheit (DFAn) auf die Flashspeicherchips (FnL. Fnx) zugreift.
7. Speichersystem nach Anspruch 1, dadurch gekennzeichnet, dass der Speichercontroller (FC) jedwede Speicherstelle der Sektorbuffer (SBl, SB2) bedarfsweise direkt ausliest oder beschreibt.
8. Speichersystem nach Anspruch 1, dadurch gekennzeichnet, dass mehrere logische Sektoren zu einer Page zusammengefasst sind und die Übertragung der Sektoren von und zu den Flashspeicherchips (FnL. Fnx) über mindestens einen, der jeweiligen Direct-Flash- Access-Einheit (DFAn) zugeordneten Pagebuffer (PBny) erfolgt und das Ende der jeweiligen Übertragung einen Interrupt durch die entsprechende Direct- Flash- Access-Einheit (DFAn) am Speichercontroller (FC) ausgelöst.
9. Speichersystem nach Anspruch 8, dadurch gekennzeichnet, dass über die jeweiligen Multiplexer (MUXn 1,2) und die zugehörige Direct-Flash- Access-Einheit (DFAn) sechs verschiedene Übertragungsrichtungen einstellbar sind:
1 : Host <-> Speicher,
2: Host <-> Pagebuffer + Speicher,
3: Pagebuffer <-> Speicher,
4: Speicher <-> Host,
5: Speicher <-> Host + Pagebuffer,
6: Speicher <-> Pagebuffer.
10. Speichersystem nach Anspruch 1, dadurch gekennzeichnet, dass die die Sektoren in den Flashspeicherchips jeweils durch ein ECC- Wort gesichert sind und Berechnung oder Überprüfung des ECC-Wortes in einer der jeweiligen Direct-Flash- Access- Einheit (DFAn) zugeordneten ECC-Einheit (ECCn) parallel zur Übertragung der Sektoren erfolgt.
11. Speichersystem nach Anspruch 1, dadurch gekennzeichnet, dass jeweils parallel zur ECC-Berechnung ein CRC-Zeichen in einer zugeordneten CRC-Einheit (CRCn) über den Sektor gebildet wird
12. Speichersystem nach Anspruch 1, dadurch gekennzeichnet, dass die Direct-Flash- Access-Einheiten (DFAn) vom Speichercontroller (FC) mittels zweier Registersätze (DRn 1,2) gesteuert sind.
13. Speichersystem nach Anspruch 12, dadurch gekennzeichnet, dass die Registersätze (DRnI ,2) über Multiplexer (MFnI, 2) wechselseitig dem Speichercontroller (FC) oder der jeweiligen Direct-Flash- Access-Einheit zugeordnet sind.
14. Speichersystem nach Anspruch 10, dadurch gekennzeichnet, dass die Direct-Flash- Access-Einheit (DFA) den nächsten Befehl aus dem zugeschalteten Registersatz (DRnI, 2) zu den Flashspeicherchips (FnL. Fnx) schickt und die zugehörige Übertragung der logischen Sektoren durchfuhrt.
15. Verfahren zum Schreiben von logischen Sektoren von einem Hostbus (HB) in ein Speichersystem gemäß Anspruch 1, dadurch gekennzeichnet, dass
- ein Sektorbuffer (SBnI) zum Lesen vom Hostbus geschaltet wird,
- durch die Direct-Flash- Access-Einheit (DFAn) der Sektor vom Hostbus in den jeweiligen Sektorbuffer (SBnI) übertragen wird
- die Berechnung des ECC- Wortes in der ECC-Einheit (ECCn) parallel zur Übertragung eines Sektors vom Hostbus (HB) in den jeweiligen Sektorbuffer (SBnI) erfolgt,
- das berechnete ECC-Wort in den Sektorbuffer (SBnI) hinter den übertragenen Sektor eingefügt wird,
- optional zusätzlich in der CRC-Einheit (CRCn) ein CRC-Zeichen gebildet und an den Sektor angefügt wird,
- das nach Ende der Übertragung des Sektors der Sektorbuffer (SBnI) zum Übertragen in den Flashspeicher (Fnx) umgeschaltet wird, und
- das der Sektor durch die Direct-Flash- Access-Einheit (DFAn) entsprechend der Einstellungen im Auftragsspeicher zum Flashspeicher (Fnx) übertragen wird.
16. Verfahren zum Lesen von logischen Sektoren von einem Speichersystem gemäß Anspruch 1 zu einem Hostbus, dadurch gekennzeichnet, dass
- ein Sektorbuffer (SBn2) zum Lesen vom Flashspeicher (Fnx) geschaltet wird,
- durch die Direct-Flash- Access-Einheit (DFAn) entsprechend der Einstellungen im Auftragsspeicher der Sektor aus dem Flashspeicher (Fnx) in den jeweiligen Sektorbuffer (SBn2) übertragen wird,
- die Überprüfung des ECC- Wortes in der ECC-Einheit (ECCn) parallel zum Übertragen des Sektors in den Sektorbuffer (SBn2) erfolgt,
- das berechnete ECC-Wort mit dem gelesenen ECC-Wort im Sektorbuffer verglichen wird,
- optional zusätzlich ein CRC-Zeichen durch die CRC-Einheit (CRCn) überprüft wird
- bei einem korrigierbaren Fehler der Wert im Sektorbuffer (SBn2) korrigiert wird,
- bei einem nicht korrigierbaren Fehler eine Fehlermeldung in den Sektorbuffer (SBn2) eingetragen wird,
- nach Ende der Übertragung des gesamten Sektors aus dem Flashspeicher (Fnx) der Sektorbuffer (SBn2) zum Übertragen an den Hostbus (HB) umgeschaltet wird, und
- der Sektor zum Hostbus (HB) übertragen wird.
17. Verfahren nach Anspruch 15 oder 16, dadurch gekennzeichnet, dass die Aufträge im Auftragsspeicher der jeweiligen Direct-Flash- Access-Einheit (DFAn) so eingestellt werden, dass die Übertragungen zwischen einem Sektorpuffer (SBnI) und dem Hostbus (HB) sowie zwischen dem anderen Sektorbuffer (SBn2) und dem Flashspeicher (Fnx) zeitparallel erfolgen.
18. Verfahren nach einem der Ansprüche 15,16 oder 17, dadurch gekennzeichnet, dass die Aufträge im Auftragsspeicher der jeweiligen Direct-Flash- Access-Einheit (DFAn) so eingestellt werden, dass die Übertragung zwischen einem Sektorbuffer (SBl 1) und dem ihm zugeordneten Speicherbus (MBl) zeitparallel zu der Übertragung zwischen anderen Sektorbuffern und den ihnen zugeordneten Speicherbussen erfolgen.
EP05819353A 2004-12-04 2005-11-30 Speichersystem mit sektorbuffern Withdrawn EP1817658A2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102004058528A DE102004058528B3 (de) 2004-12-04 2004-12-04 Speichersystem mit Sektorbuffern
PCT/EP2005/056354 WO2006058892A2 (de) 2004-12-04 2005-11-30 Speichersystem mit sektorbuffern

Publications (1)

Publication Number Publication Date
EP1817658A2 true EP1817658A2 (de) 2007-08-15

Family

ID=35872336

Family Applications (1)

Application Number Title Priority Date Filing Date
EP05819353A Withdrawn EP1817658A2 (de) 2004-12-04 2005-11-30 Speichersystem mit sektorbuffern

Country Status (9)

Country Link
US (1) US8006031B2 (de)
EP (1) EP1817658A2 (de)
JP (1) JP2008523528A (de)
KR (1) KR20070085561A (de)
CN (1) CN101069149A (de)
CA (1) CA2589360A1 (de)
DE (1) DE102004058528B3 (de)
TW (1) TW200632676A (de)
WO (1) WO2006058892A2 (de)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080082763A1 (en) 2006-10-02 2008-04-03 Metaram, Inc. Apparatus and method for power management of memory circuits by a system or component thereof
US20080028136A1 (en) * 2006-07-31 2008-01-31 Schakel Keith R Method and apparatus for refresh management of memory modules
US8438328B2 (en) 2008-02-21 2013-05-07 Google Inc. Emulation of abstracted DIMMs using abstracted DRAMs
US8327104B2 (en) 2006-07-31 2012-12-04 Google Inc. Adjusting the timing of signals associated with a memory system
US8060774B2 (en) * 2005-06-24 2011-11-15 Google Inc. Memory systems and memory modules
US8397013B1 (en) 2006-10-05 2013-03-12 Google Inc. Hybrid memory module
US8089795B2 (en) 2006-02-09 2012-01-03 Google Inc. Memory module with memory stack and interface with enhanced capabilities
US8130560B1 (en) 2006-11-13 2012-03-06 Google Inc. Multi-rank partial width memory modules
US8055833B2 (en) 2006-10-05 2011-11-08 Google Inc. System and method for increasing capacity, performance, and flexibility of flash storage
US10013371B2 (en) 2005-06-24 2018-07-03 Google Llc Configurable memory circuit system and method
US8619452B2 (en) 2005-09-02 2013-12-31 Google Inc. Methods and apparatus of stacking DRAMs
US7609567B2 (en) * 2005-06-24 2009-10-27 Metaram, Inc. System and method for simulating an aspect of a memory circuit
US9171585B2 (en) 2005-06-24 2015-10-27 Google Inc. Configurable memory circuit system and method
US8077535B2 (en) 2006-07-31 2011-12-13 Google Inc. Memory refresh apparatus and method
US8081474B1 (en) 2007-12-18 2011-12-20 Google Inc. Embossed heat spreader
US8796830B1 (en) 2006-09-01 2014-08-05 Google Inc. Stackable low-profile lead frame package
US8169233B2 (en) 2009-06-09 2012-05-01 Google Inc. Programming of DIMM termination resistance values
US8359187B2 (en) 2005-06-24 2013-01-22 Google Inc. Simulating a different number of memory circuit devices
US7386656B2 (en) 2006-07-31 2008-06-10 Metaram, Inc. Interface circuit system and method for performing power management operations in conjunction with only a portion of a memory circuit
US8335894B1 (en) 2008-07-25 2012-12-18 Google Inc. Configurable memory system with interface circuit
US8386722B1 (en) 2008-06-23 2013-02-26 Google Inc. Stacked DIMM memory interface
US8244971B2 (en) 2006-07-31 2012-08-14 Google Inc. Memory circuit system and method
US8041881B2 (en) 2006-07-31 2011-10-18 Google Inc. Memory device with emulated characteristics
US8111566B1 (en) 2007-11-16 2012-02-07 Google, Inc. Optimal channel design for memory devices for providing a high-speed memory interface
US9507739B2 (en) 2005-06-24 2016-11-29 Google Inc. Configurable memory circuit system and method
US9632929B2 (en) 2006-02-09 2017-04-25 Google Inc. Translating an address associated with a command communicated between a system and memory circuits
KR100758301B1 (ko) * 2006-08-04 2007-09-12 삼성전자주식회사 메모리 카드 및 그것의 데이터 저장 방법
CN101661412B (zh) * 2008-08-29 2012-08-29 智微科技股份有限公司 快闪存储器的配置方法
US8244987B2 (en) 2008-12-04 2012-08-14 Electronics And Telecommunications Research Institute Memory access device including multiple processors
KR20100100394A (ko) 2009-03-06 2010-09-15 삼성전자주식회사 반도체 디스크 장치 그리고 그것의 데이터 기록 및 읽기 방법
JP2012022422A (ja) * 2010-07-13 2012-02-02 Panasonic Corp 半導体記録再生装置
WO2011127866A2 (zh) * 2011-05-27 2011-10-20 华为技术有限公司 数据处理方法、装置及系统
JP2013077278A (ja) * 2011-09-16 2013-04-25 Toshiba Corp メモリ・デバイス
US8949511B2 (en) 2011-09-30 2015-02-03 Hitachi, Ltd. Nonvolatile semiconductor storage system
JP5782556B2 (ja) * 2014-10-15 2015-09-24 株式会社日立製作所 不揮発半導体記憶システム
JP5968508B2 (ja) * 2015-07-17 2016-08-10 株式会社日立製作所 不揮発半導体記憶システム
CN108874312B (zh) * 2018-05-30 2021-09-17 郑州云海信息技术有限公司 数据存储方法以及存储设备
CN109801666B (zh) * 2019-01-23 2020-12-29 西安微电子技术研究所 一种混合电路中存储器芯片的测试装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2251323B (en) * 1990-12-31 1994-10-12 Intel Corp Disk emulation for a non-volatile semiconductor memory
CA2080210C (en) 1992-01-02 1998-10-27 Nader Amini Bidirectional data storage facility for bus interface unit
US5822251A (en) * 1997-08-25 1998-10-13 Bit Microsystems, Inc. Expandable flash-memory mass-storage using shared buddy lines and intermediate flash-bus between device-specific buffers and flash-intelligent DMA controllers
JP3519954B2 (ja) * 1998-07-30 2004-04-19 富士通株式会社 チップイネーブル信号生成回路及びメモリ装置
JP3768088B2 (ja) * 2000-11-09 2006-04-19 松下電器産業株式会社 メモリカード装置
US6529416B2 (en) * 2000-11-30 2003-03-04 Bitmicro Networks, Inc. Parallel erase operations in memory systems
US6691205B2 (en) 2001-03-05 2004-02-10 M-Systems Flash Disk Pioneers Ltd. Method for using RAM buffers with simultaneous accesses in flash based storage systems
JP4711531B2 (ja) 2001-03-23 2011-06-29 ルネサスエレクトロニクス株式会社 半導体記憶装置
US6778436B2 (en) * 2001-10-10 2004-08-17 Fong Piau Apparatus and architecture for a compact flash memory controller
US20040049627A1 (en) * 2001-11-09 2004-03-11 Flex-P Industries Method and system for controlling compact flash memory
JP4082913B2 (ja) * 2002-02-07 2008-04-30 株式会社ルネサステクノロジ メモリシステム
US6871257B2 (en) * 2002-02-22 2005-03-22 Sandisk Corporation Pipelined parallel programming operation in a non-volatile memory system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO2006058892A2 *

Also Published As

Publication number Publication date
TW200632676A (en) 2006-09-16
DE102004058528B3 (de) 2006-05-04
WO2006058892A2 (de) 2006-06-08
CA2589360A1 (en) 2006-06-08
WO2006058892B1 (de) 2007-01-04
WO2006058892A3 (de) 2006-10-19
CN101069149A (zh) 2007-11-07
US8006031B2 (en) 2011-08-23
US20090049266A1 (en) 2009-02-19
JP2008523528A (ja) 2008-07-03
KR20070085561A (ko) 2007-08-27

Similar Documents

Publication Publication Date Title
WO2006058892A2 (de) Speichersystem mit sektorbuffern
DE102006002526B4 (de) Steuervorrichtung für eine Solid-State-Disk und Verfahren zum Betreiben derselben
DE69630624T2 (de) EEPROM-Matrix mit einem, dem &#34;Flash&#34;-Speicher ähnlichen Kern
DE69632219T2 (de) Speicherplattenanordnungssystem
DE69915243T2 (de) Speicherplattenanordnung-Steuerungsvorrichtung
DE69215538T2 (de) Verfahren zur verbesserung von partiellen streifenschreib-operationen einer speicherplattenanordnung
DE69034227T2 (de) EEprom-System mit Blocklöschung
DE69033476T2 (de) Schutz von Datenredundanz und -rückgewinnung
DE69226606T2 (de) Speicherschaltung mit zwei Betriebsarten
DE69425222T2 (de) Dynamisch ausbaubares Speichereinheitsmatrixsystem
DE3803759C2 (de)
DE60035774T2 (de) Arbitrierungsverfahren und systeme zur zugriffsarbitrierung auf einen speicher einer plattensteuerung
DE102004004796B4 (de) Vorrichtung zur Datenübertragung zwischen Speichern
DE102008033518B4 (de) Datenverarbeitungsverfahren für eine Solid-State-Disk-Steuereinheit, Solid-State-Disk-Steuereinheit und Datenspeicherelement
DE102018123891A1 (de) Handhabung nichtabgestimmter Schreibvorgänge
DE69534994T2 (de) Steuerungsvorrichtung für speicherplattenanordnung und speicherplattenanordnungsgerät
DE102011085989B4 (de) Verfahren und Vorrichtung zum Ausführen von parallelen Speicherlese- und Speicherschreiboperationen
DE112017005890T5 (de) Abrufen von Datenpufferzeigern für direkten Speicherzugriff
DE69527634T2 (de) Rechner-Cachespeichersystem
DE69230211T2 (de) Integrierter Speicher, Verwaltungsverfahren und resultierendes Informationssystem
DE4423949A1 (de) E/A-Hilfssystem und Exklusiv-Steuerverfahren, Datenspeicherverfahren und Speicherinitialisierungsverfahren in einem E/A-Hilfssystem
DE10048402B4 (de) Datenspeichersystem
DE102018123670A1 (de) Speicherungssystem, Rechensystem und Verfahren dafür
DE102006046417A1 (de) Datenverarbeitungssystem und Verfahren zum Extrahieren von Daten aus einem OneNAND-Flash-Speicher in ein RAM-Speicherbauelement
DE102021114913A1 (de) Effiziente tlp-fragmentierungen in erweiterter lba-umgebung

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20070629

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: HYPERSTONE GMBH

DAX Request for extension of the european patent (deleted)
17Q First examination report despatched

Effective date: 20090219

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

INTG Intention to grant announced

Effective date: 20140606

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20141017