DE102008033518B4 - Datenverarbeitungsverfahren für eine Solid-State-Disk-Steuereinheit, Solid-State-Disk-Steuereinheit und Datenspeicherelement - Google Patents
Datenverarbeitungsverfahren für eine Solid-State-Disk-Steuereinheit, Solid-State-Disk-Steuereinheit und Datenspeicherelement Download PDFInfo
- Publication number
- DE102008033518B4 DE102008033518B4 DE102008033518.5A DE102008033518A DE102008033518B4 DE 102008033518 B4 DE102008033518 B4 DE 102008033518B4 DE 102008033518 A DE102008033518 A DE 102008033518A DE 102008033518 B4 DE102008033518 B4 DE 102008033518B4
- Authority
- DE
- Germany
- Prior art keywords
- bit map
- sector
- sector bit
- map values
- read
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR 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]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Read Only Memory (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Datenverarbeitungsverfahren für eine Solid-State-Disk-Steuereinheit (30) mit den Schritten:- Lesen eines Sektorbitabbildungszeigers, der in einem ersten Register (41) gespeichert ist, mit einer Zustandsmaschine (45),- Lesen von Sektorbitabbildungswerten, die in einem ersten Speicherbereich (33) eines flüchtigen Speichers (31) gespeichert sind, mit der Zustandsmaschine (45),- wobei die Sektorbitabbildungswerte durch den Sektorbitabbildungszeiger angezeigt sind und die Sektorbitabbildungswerte angeben, welche Sektoren eines externen nichtflüchtigen Speichers (50), die eine Seite bilden, zu lesen oder nicht zu lesen sind,- Speichern der aus dem ersten Speicherbereich gelesenen Sektorbitabbildungswerte in ein zweites Register,- Bereitstellen der Sektorbitabbildungswerte von dem zweiten Register an die Zustandsmaschine (45), und- Lesen von Daten aus mindestens einem der Sektoren, aber nicht aus allen Sektoren, der Seite basierend auf den Sektorbitabbildungswerten mit der Zustandsmaschine (45).
Description
- Die vorliegende Erfindung betrifft ein Datenverarbeitungsverfahren für eine Solid-State-Disk-Steuereinheit, eine Solid-State-Disk-Steuereinheit und ein Datenspeicherelement.
- Herkömmlicherweise werden Magnetplatten als Datenspeicherelemente in elektronischen Systemen, wie Computersystemen, verwendet. Mit der Entwicklung der Halbleitertechnologie wurden anstelle von Magnetplatten Solid-State-Disks (SSDs) unter Verwendung von elektrisch löschbaren und programmierbaren Nurlesespeichern (EEPROM) (z. B. EEPROM vom NAND-Typ oder EEPROM vom NOR-Typ) basierend auf einem nichtflüchtigen Speicher als Datenspeicherelement in Computersystemen und tragbaren Geräten zunehmend verwendet.
- Da die SSDs keine mechanischen Antriebselemente, wie einen Motor, enthalten, der im Wesentlichen in Festplattenlaufwerken (HDDs) enthalten ist, erzeugen die SSDs während des Betriebs kaum Wärme und Geräusche. Außerdem weisen die SSDs eine hohe Zugriffsgeschwindigkeit, eine hohe Integration und Stabilität gegen äußere Einflüsse auf und werden daher als Datenspeicherelemente bevorzugt.
- Darüber hinaus ist die Datenübertragungsgeschwindigkeit der SSDs viel höher als die von HDDs.
- Wenn eine SSD als Datenspeicherelement verwendet wird, steuert eine Steuereinheit die Datenübertragung zwischen einem Host und einem EEPROM-basierten nichtflüchtigen Speicher. Die Steuereinheit überträgt Daten zu und empfängt Daten vom nichtflüchtigen Speicher unter der Steuerung einer Firmware, wenn Daten jeder Seite verarbeitet werden, was die Leistung der SSD beeinträchtigt.
- Kim, Jesung, et al. A space-efficient flash translation layer for Compact-Flash systems. IEEE Transactions on Consumer Electronics, 2002, 48. Jg., Nr. 2, S. 366-375 offenbart ein Datenverarbeitungsverfahren für eine Solid-State-Disk-Steuerein heit.
-
US 2006/0002096 A1 -
US 2005/0114587 A1 - Der Erfindung liegt die technische Aufgabe zugrunde, ein Datenverarbeitungsverfahren für eine Solid-State-Disk-Steuereinheit, eine Solid-State-Disk-Steuereinheit und ein Datenspeicherelement zur Verfügung zu stellen, die eine optimale Leistungsfähigkeit aufweisen und/oder eine verschachtelte Leseoperation mittels Hardware ohne Einsatz von Firmware durchführen.
- Die Erfindung löst diese Aufgabe durch ein Datenverarbeitungsverfahren für eine Solid-State-Disk-Steuereinheit mit den Merkmalen des Anspruch 1, 6 oder 10, eine Solid-State-Disk-Steuereinheit mit den Merkmalen des Anspruch 11, 12 oder 13 und ein Datenspeicherelement mit den Merkmalen des Anspruch 15.
- Vorteilhafte Ausführungsformen der Erfindung sind in den Unteransprüchen angegeben, deren Wortlaut hiermit durch Bezugnahme zum Inhalt dieser Beschreibung gemacht wird, um unnötige Textwiederholungen zu vermeiden.
- Vorteilhafte Ausführungsformen der Erfindung, die unten ausführlich beschrieben werden, sind in den Zeichnungen dargestellt. Hierbei zeigt/zeigen:
-
1 ein Blockdiagramm eines Systems einer Solid-State-Disk(SSD)-Steuereinheit gemäß einigen Ausführungsformen der vorliegenden Erfindung, -
2 ein Flussdiagramm eines Datenverarbeitungsverfahrens der in1 dargestellten SSD-Steuereinheit, -
3A und3B Schaubilder zur Erläuterung der zufälligen Datenausgabeoperation der in1 dargestellten SSD-Steuereinheit, -
4 ein Flussdiagramm einer verschachtelten Hardware-Leseoperation, die von der in1 dargestellten SSD-Steuereinheit durchgeführt wird, und -
5A und5B Diagramme zur Erläuterung einer zufälligen Datenausgabeoperation für die verschachtelte Hardware-Leseoperation der in1 dargestellten SSD-Steuereinheit. - In den Zeichnungen können die Abmessungen und relativen Abmessungen von Schichten und Bereichen zum Zwecke der Deutlichkeit vergrößert sein. Gleiche Bezugszeichen bezeichnen gleiche Elemente.
-
1 ist ein Blockdiagramm eines Systems10 , das eine Solid-State-Disk(SSD)-Steuereinheit 30 gemäß einigen Ausführungsformen der vorliegenden Erfindung beinhaltet. Mit Bezug zu1 beinhaltet das System10 , das ein Computersystem oder ein mobiles Gerät sein kann, einen Host20 , die SSD-Steuereinheit30 und ein nichtflüchtiges Speicherelement50 . Eine SSD beinhaltet das nichtflüchtige Speicherelement50 oder sie beinhaltet die SSD-Steuereinheit30 und das nichtflüchtige Speicherelement50 . - Der Host
20 überträgt einen Operationsbefehl (z. B. einen Lesebefehl, einen Programmierbefehl oder einen Löschbefehl) und Adressen über eine Hostschnittstelle (Host-I/F)49 und einen Systembus BUS zur SSD-Steuereinheit30 . Alternativ kann der Host20 den Operationsbefehl und die Adressen direkt über die Host-I/F49 zur SSD-Steuereinheit30 übertragen. Die SSD-Steuereinheit30 beinhaltet einen flüchtigen Speicher31 , eine Speichersteuereinheit (oder eine Flashspeichersteuereinheit)39 , einen Pufferspeicher47 und die Host-I/F49 . - Der flüchtige Speicher
31 ist durch einen dynamischen Direktzugriffspeicher (DRAM) oder einen statischen Direktzugriffspeicher (SRAM) implementiert und beinhaltet eine Mehrzahl von Speicherbereichen33 ,35 und37 , die jeweils Sektorbitabbildungswerte (sector bit map values) speichern. Die in den Speicherbereichen33 ,35 und37 gespeicherten Sektorbitabbildungswerte können unter Verwendung spezieller Hardware oder Firmware programmiert oder festgesetzt werden. - Die Speichersteuereinheit
39 beinhaltet ein erstes Register (oder ein Sektorbitabbildungszeigerregister) 41, das einen Sektorbitabbildungszeiger speichert, ein zweites Register (oder ein Sektorbitabbildungsregister) 43, das Sektorbitabbildungswerte speichert, die vom flüchtigen Speicher31 basierend auf dem Sektorbitabbildungszeiger ausgegeben sind, und eine Zustandsmaschine45 . Die Zustandsmaschine45 schreibt über mindestens einen zugehörigen Kanal aus einer Mehrzahl von Kanälen51 ,57 ,63 und69 Daten DATA in das nichtflüchtige Speicherelement50 ein oder liest Daten DATA daraus aus, wobei eine Mehrzahl von Steuersignalen, wie ein Befehlzwischenspeicherfreigabe(CLE)-Signal, ein Chipfreigabe(CE)-Signal, ein Schreibfreigabe(WE)-Signal, ein Adressenzwischenspeicherfreigabe(ALE)-Signal, ein Lese/Belegt(R/B)-Ausgabesignal und ein Schreibfreigabe(RE)-Signal, verwendet wird. - Die von der Zustandsmaschine
45 aus dem nichtflüchtigen Speicherelement50 gelesenen Daten DATA können über den Systembus BUS temporär im Pufferspeicher47 gespeichert werden. Der Pufferspeicher47 kann Daten DATA, die zwischen dem Host20 und dem nichtflüchtigen Speicherelement50 übertragen werden, temporär speichern. Die Host-I/F49 überträgt die Daten DATA zum Host20 und empfängt sie von ihm. Die Host-I/F49 kann ein serielles Advanced-Technology-Attachment(ATA)-Protokoll, ein paralleles ATA-Protokoll oder andere Kommunikationsprotokolle verwenden. - Die SSD-Steuereinheit
30 und das nichtflüchtige Speicherelement50 übertragen die Daten DATA über mindestens einen Kanal aus der Mehrzahl von Kanälen51 ,57 ,63 und69 . Die beiden Chips53 und55 ,59 und61 ,65 und67 oder71 und73 können mit jedem der Kanäle51 ,57 ,63 und69 verbunden sein. Die Anzahl der mit jedem der Kanäle51 ,57 ,63 und69 verbundenen Chips kann jedoch Eins oder mehr als Zwei betragen. - Jeder der Chips
53 ,55 ,59 ,61 ,65 ,67 ,71 und73 beinhaltet einen Seitenpuffer (nicht gezeigt) und ein Speicherzellenfeld (nicht gezeigt), das eine Mehrzahl von Speicherzellen beinhaltet. Jede der Speicherzellen kann durch elektrisch löschbare und programmierbare Flash-Nurlesespeicher (EEPROM) implementiert sein. Der Flash-EEPROM kann durch eine Single-Level-Cell(SLC)-Zelle oder eine Multi-Level-Cell(MLC)-Zelle implementiert sein. -
2 ist ein Flussdiagramm eines Datenverarbeitungsverfahrens der in1 dargestellten SSD-Steuereinheit30 . Die3A und3B sind Diagramme zur Erläuterung der zufälligen Datenausgabeoperation von der in1 dargestellten SSD-Steuereinheit30 . Hier bezeichnet „tR“ die Datenübertragungsdauer von einer Speicherzelle im Speicherzellenfeld zum Seitenpuffer. - Mit Bezug zu den
1 bis3B wird eine zufällige Datenausgabeoperation durch Lesen mindestens eines Sektors mit einem Sektorbitabbildungswert von „1“ aus „n“ Sektoren (wobei „n“ eine natürliche Zahl ist, zum Beispiel 8), die eine erste Seite des mit dem ersten Kanal51 verbundenen ersten Chips53 bilden, durchgeführt. Hier kann ein einzelner Sektor „m“ Bytes umfassen (wobei „m“ eine natürliche Zahl ist, zum Beispiel 512 oder 1024). - Bei der zufälligen Datenausgabeoperation erzeugt die Zustandsmaschine
45 die Mehrzahl von Steuersignalen, d. h. das CLE-Signal, das CE-Signal, das WE-Signal, das ALE-Signal, das R/B-Ausgabesignal und das RE-Signal, um in Abhängigkeit von einem Lesebefehl READ, der vom Host20 ausgegeben worden ist, die Daten DATA zu lesen, die in der ersten Seite des ersten Chips53 gespeichert sind, der mit dem ersten Kanal51 verbunden ist. Der erste Chip53 analysiert die Steuersignale und führt den Lesebefehl READ aus. - Die Zustandsmaschine
45 liest einen Sektorbitabbildungszeiger, der im ersten Register41 gespeichert ist, liest Sektorbitabbildungswerte (z. B. 01100010), die im ersten Speicherbereich33 des flüchtigen Speichers31 gespeichert sind, der durch den Sektorbitabbildungszeiger angezeigt ist, und speichert die Sektorbitabbildungswerte im zweiten Register43 in OperationS10 (2 ). Beispielsweise gibt unter den Sektorbitabbildungswerten, z. B. 01100010, eine „1“ einen gültigen Sektor an und eine „0“ gibt einen ungültigen Sektor an oder umgekehrt. - Die Zustandsmaschine
45 liest und analysiert die Sektorbitabbildungswerte (z. B. 01100010), die im zweiten Register43 gespeichert sind, und gibt eine Sektoradresse und einen zufälligen Datenausgabebefehl sequentiell aus, um Sektor2 , Sektor6 und Sektor7 aus der ersten Seite (oder dem Seitenpuffer des ersten Chips53 ) basierend auf dem Ergebnis der Analyse in OperationS20 (2 ) sequentiell zu lesen, wie es in3A dargestellt ist. Mit anderen Worten, die Zustandsmaschine45 liest gemäß der zufälligen Datenausgabeoperation aus den Sektorbitabbildungswerten (z. B. 01100010), die im zweiten Register43 gespeichert sind, von der ersten Seite oder dem Seitenpuffer des ersten Chips53 nur Sektoren (z. B. Sektor2 , Sektor6 und Sektor7 ), die einen Sektorbitabbildungswert von „1“ aufweisen. - Die Zustandsmaschine
45 kann den gelesenen Sektor2 , Sektor6 und Sektor7 über den Systembus BUS zum Pufferspeicher47 übertragen, um sie im Pufferspeicher47 zu speichern. Alternativ kann die Zustandsmaschine45 den gelesenen Sektor2 , Sektor6 und Sektor7 direkt zum Pufferspeicher47 übertragen. Dementsprechend liest die SSD-Steuereinheit30 nicht alle Sektoren von einer Seite, sondern liest stattdessen nur selektiv mindestens einen gültigen Sektor von der Seite, basierend auf Sektorbitabbildungswerten, wodurch sie eine erhöhte Leistungsfähigkeit aufweist. -
4 ist ein Flussdiagramm einer verschachtelten Hardware-Leseoperation, die von der in1 abgebildeten SSD-Steuereinheit30 durchgeführt wird. Die5A und5B sind Diagramme zur Erläuterung einer zufälligen Datenausgabeoperation für die verschachtelte Hardware-Leseoperation der in1 abgebildeten SSD-Steuereinheit30 . Mit Bezug zu den1 und4 und den5A und5B wird die zufällige Datenausgabeoperation durch eine verschachtelte Operation ausgeführt, bei der nur Sektoren mit einem Sektorbitabbildungswert von „1“ aus den „n“ Sektoren, die die erste Seite des ersten Chips53 bilden, der mit dem ersten Kanal51 verbunden ist, und nur Sektoren mit einem Sektorbitabbildungswert von „1“ aus den „n“ Sektoren, die eine zweite Seite des fünften Chips55 bilden, der mit dem ersten Kanal51 verbunden ist, gelesen werden. - Hierbei gibt in Operation
S11 (4 ) die Zustandsmaschine45 die Mehrzahl von Steuersignalen (d. h. das CLE-Signal, das CE-Signal, das WE-Signal, das ALE-Signal, das R/B-Ausgabesignal und das RE-Signal) an den ersten Kanal aus, um in Abhängigkeit von einem Lesebefehl READ (5A) , der vom Host20 ausgegeben ist, in der ersten Seite des ersten Chips53 gespeicherte Daten und in der zweiten Seite des fünften Chips55 gespeicherte Daten zu lesen. - Danach liest in Operation
S21 (4 ) die Zustandsmaschine45 einen Sektorbitabbildungszeiger, der im ersten Register41 gespeichert ist, liest erste Sektorbitabbildungswerte (z. B. 01100010), die im ersten Speicherbereich33 des flüchtigen Speichers31 gespeichert sind, der durch den Sektorbitabbildungszeiger angezeigt ist, speichert die ersten Sektorbitabbildungswerte im zweiten Register43 und liest den Sektor2 , Sektor6 und Sektor7 aus den „n“ Sektoren, die die erste Seite des ersten Chips53 bilden, basierend auf den ersten Sektorbitabbildungswerten (z. B. 01100010), die im zweiten Register43 gespeichert sind, wie es in5A dargestellt ist. Mit anderen Worten, die Zustandsmaschine45 liest durch die zufällige Datenausgabeoperation nur Sektoren (d. h. den Sektor2 , Sektor6 und Sektor7 ) mit einem Sektorbitabbildungswert von „1“ aus den Sektorbitabbildungswerten, 01100010, die im zweiten Register43 gespeichert sind, aus der ersten Seite (5B) oder dem Seitenpuffer des ersten Chips53 . Die Zustandsmaschine45 kann den gelesenen Sektor2 , Sektor6 und Sektor7 zum Pufferspeicher47 direkt oder über den Systembus BUS übertragen, um sie im Pufferspeicher47 zu speichern. - Nachdem die zufällige Datenausgabeoperation der ersten Seite abgeschlossen ist, liest die Zustandsmaschine
45 zweite Sektorbitabbildungswerte (z. B. 10101000), die im zweiten Speicherbereich35 des flüchtigen Speichers31 gespeichert sind, speichert die zweiten Sektorbitabbildungswerte im zweiten Register43 und liest Sektor12 , Sektor14 und Sektor16 aus den „n“ Sektoren, die die zweite Seite des fünften Chips55 bilden, der zweiten Seite (5B) oder dem Seitenpuffer des fünften Chips55 basierend auf den zweiten Sektorbitabbildungswerten (d. h. 10101000), die im zweiten Register43 gespeichert sind, in OperationS31 (4 ), wie es in5A dargestellt ist. Der zweite Speicherbereich35 kann ein Speicherbereich sein, der den Sektorbitabbildungszeiger, der im ersten Speicherbereich33 angezeigt ist, erweitert. Mit anderen Worten, die Zustandsmaschine45 liest nur Sektoren (d. h. den Sektor12 , Sektor14 und Sektor16 ) mit einem Sektorbitabbildungswert von „1“ aus den Sektorbitabbildungswerten, 10101000, die im zweiten Register43 gespeichert sind, aus der zweiten Seite oder dem Seitenpuffer des fünften Chip55 durch die zufällige Datenausgabeoperation. Die Zustandsmaschine45 kann den gelesenen Sektor12 , Sektor14 und Sektor16 direkt oder über den Systembus BUS zum Pufferspeicher47 übertragen, um sie im Pufferspeicher47 zu speichern. - Dementsprechend liest in der verschachtelten Leseoperation die SSD-Steuereinheit
30 gemäß einigen Ausführungsformen der vorliegenden Erfindung automatisch Sektorbitabbildungswerte, die in jedem der Mehrzahl von Speicherbereichen des flüchtigen Speichers31 gespeichert sind, ohne dass Firmware beteiligt ist, und liest selektiv nur mindestens einen Sektor einer bestimmten Seite, wodurch sie eine verbesserte Leistungsfähigkeit aufweist. Zur Verdeutlichung wurde die Leseoperation beschrieben, aber das Datenverarbeitungsverfahren unter Verwendung eines Zeigers gemäß einiger Ausführungsformen der vorliegenden Erfindung kann ebenso in einer Schreib- oder Programmieroperation angewendet werden. - Zum Beispiel liest bei der Schreiboperation (oder Programmieroperation) die Zustandsmaschine
45 einen im ersten Register41 gespeicherten Sektorbitabbildungszeiger, liest Sektorbitabbildungswerte (z. B. 01100010), die im ersten Speicherbereich33 des flüchtigen Speichers31 gespeichert sind, der durch den Sektorbitabbildungszeiger angezeigt wird, und speichert die Sektorbitabbildungswerte (d. h. 01100010) im zweiten Register43 . Danach liest und analysiert die Zustandsmaschine45 die Sektorbitabbildungswerte, 01100010, die im zweiten Register43 gespeichert sind, und schreibt (oder programmiert) selektiv nur Sektor2 , Sektor6 und Sektor7 aus den Daten, die vom Host20 zum ersten Chip53 über den Kanal51 ausgegeben sind, basierend auf dem Ergebnis der Analyse (z. B. dem Ergebnis der Analyse, ob jeder Sektorbitabbildungswert „1“ oder „0“ beträgt). - Außerdem kann die Zustandsmaschine
45 in der verschachtelten Operation nur mindestens einen Sektor mit einem Sektorbitabbildungswert von „1“ in die erste Seite des ersten Chips53 , der mit dem ersten Kanal51 verbunden ist, und nur mindestens ein Sektor mit einem Sektorbitabbildungswert von „1“ in die zweite Seite des fünften Chips55 , der mit dem ersten Kanal51 verbunden ist, schreiben oder programmieren. - Zum Beispiel liest die Zustandsmaschine
45 einen Sektorbitabbildungszeiger, der im ersten Register41 gespeichert ist, in Abhängigkeit von einem Schreib- oder Programmierbefehl, der vom Host20 ausgegeben worden ist. Danach liest die Zustandsmaschine45 die ersten Sektorbitabbildungswerte (z. B. 01100010), die im ersten Speicherbereich33 des flüchtigen Speichers31 gespeichert sind, der durch den Sektorbitabbildungszeiger angezeigt ist, speichert die ersten Sektorbitabbildungswerte im zweiten Register43 und schreibt selektiv den Sektor2 , Sektor6 und Sektor7 von Daten, die vom Host20 ausgegeben sind, in die erste Seite des ersten Chips53 basierend auf den ersten Sektorbitabbildungswerten (d. h. 01100010), die im zweiten Register43 gespeichert sind. Nach Beenden der Schreib- oder Programmieroperation der ersten Seite liest die Zustandsmaschine45 die zweiten Sektorbitabbildungswerte (z. B. 10101000), die im zweiten Speicherbereich35 des flüchtigen Speichers31 gespeichert sind, speichert die zweiten Sektorbitabbildungswerte im zweiten Register43 und schreibt selektiv Sektor12 , Sektor14 und Sektor16 von Daten, die vom Host20 ausgegeben sind, in die zweite Seite des fünften Chips55 basierend auf den zweiten Sektorbitabbildungswerten (d. h. 10101000), die im zweiten Register43 gespeichert sind. - Dementsprechend liest bei der verschachtelten Schreib- oder Programmieroperation die SSD-Steuereinheit
30 gemäß einigen Ausführungsformen der vorliegenden Erfindung automatisch Sektorbitabbildungswerte, die in jedem der Mehrzahl von Speicherbereichen des flüchtigen Speichers31 gespeichert sind, ohne dass Firmware beteiligt ist, und schreibt oder programmiert basierend auf den Sektorbitabbildungswerten selektiv nur mindestens einen Sektor in Daten, die von einem Host ausgegeben sind, in eine bestimmte Seite. Da die SSD-Steuereinheit30 nicht unnötig alle Daten auf eine bestimmte Seite schreibt oder programmiert, ist die Leistungsfähigkeit der SSD-Steuereinheit30 erhöht. - Gemäß der vorliegenden Erfindung liest in einer verschachtelten Leseoperation eine SSD-Steuereinheit automatisch Sektorbitabbildungswerte, die in jedem einer Mehrzahl von Speicherbereichen eines flüchtigen Speichers gespeichert sind, ohne Beteiligung von Firmware und liest selektiv nur mindestens einen Sektor aus einer bestimmten Seite, wodurch sie eine erhöhte Leistung aufweist. Außerdem liest die SSD-Steuereinheit automatisch Sektorbitabbildungswerte, die in jedem der Mehrzahl von Speicherbereichen des flüchtigen Speichers gespeichert sind, ohne Beteiligung von Firmware und schreibt oder programmiert nur mindestens einen Sektor in von einem Host ausgegebenen Daten in eine bestimmte Seite basierend auf den Sektorbitabbildungswerten, wodurch sie eine erhöhte Leistung aufweist.
Claims (15)
- Datenverarbeitungsverfahren für eine Solid-State-Disk-Steuereinheit (30) mit den Schritten: - Lesen eines Sektorbitabbildungszeigers, der in einem ersten Register (41) gespeichert ist, mit einer Zustandsmaschine (45), - Lesen von Sektorbitabbildungswerten, die in einem ersten Speicherbereich (33) eines flüchtigen Speichers (31) gespeichert sind, mit der Zustandsmaschine (45), - wobei die Sektorbitabbildungswerte durch den Sektorbitabbildungszeiger angezeigt sind und die Sektorbitabbildungswerte angeben, welche Sektoren eines externen nichtflüchtigen Speichers (50), die eine Seite bilden, zu lesen oder nicht zu lesen sind, - Speichern der aus dem ersten Speicherbereich gelesenen Sektorbitabbildungswerte in ein zweites Register, - Bereitstellen der Sektorbitabbildungswerte von dem zweiten Register an die Zustandsmaschine (45), und - Lesen von Daten aus mindestens einem der Sektoren, aber nicht aus allen Sektoren, der Seite basierend auf den Sektorbitabbildungswerten mit der Zustandsmaschine (45).
- Datenverarbeitungsverfahren nach
Anspruch 1 , wobei das Lesen in Abhängigkeit von mindestens einem zufälligen Datenausgabebefehl durchgeführt wird. - Datenverarbeitungsverfahren nach
Anspruch 1 oder2 , weiter umfassend, dass - Daten, die aus mindestens einem der Sektoren gelesen wurden, in einem Pufferspeicher gespeichert werden. - Datenverarbeitungsverfahren nach einem der
Ansprüche 1 bis3 , - wobei jeder Sektorbitabbildungswert ein binärer Wert ist, wobei ein erster binärer Wert einen zu lesenden Sektor der Seite bezeichnet und ein zweiter binärer Wert einen nicht zu lesenden Sektor der Seite bezeichnet. - Datenverarbeitungsverfahren nach einem der
Ansprüche 1 bis4 , weiter umfassend, - bei einer Schreiboperation, Lesen von Sektorbitabbildungswerten, die in einem zweiten Speicherbereich des flüchtigen Speichers gespeichert sind, und - Schreiben von Daten in die Sektoren einer Seite des nichtflüchtigen Speichers in Abhängigkeit von den aus dem zweiten Speicherbereich gelesenen Sektorbitabbildungswerten. - Datenverarbeitungsverfahren für eine Solid-State-Disk-Steuereinheit (30) mit den Schritten: - Lesen eines Sektorbitabbildungszeigers, der in einem ersten Register (41) gespeichert ist, mit einer Zustandsmaschine (45), - Lesen von ersten Sektorbitabbildungswerten, die in einem ersten Speicherbereich (33) eines flüchtigen Speichers (31) gespeichert sind, mit der Zustandsmaschine (45), - wobei die ersten Sektorbitabbildungswerte durch den Sektorbitabbildungszeiger angezeigt sind und die ersten Sektorbitabbildungswerte angeben, welche Sektoren eines ersten nichtflüchtigen Speichers (50), die eine erste Seite bilden, zu lesen oder nicht zu lesen sind, - Speichern der aus dem ersten Speicherbereich gelesenen ersten Sektorbitabbildungswerte in ein zweites Register, - Bereitstellen der ersten Sektorbitabbildungswerte von dem zweiten Register an die Zustandsmaschine (45), - selektives Lesen von Daten mit der Zustandsmaschine (45) aus mindestens einem Sektor (53), aber nicht aus allen Sektoren, aus einer Mehrzahl von Sektoren des ersten nichtflüchtigen Speichers, die die erste Seite bilden, basierend auf den ersten Sektorbitabbildungswerten, und - selektives Lesen von Daten mit der Zustandsmaschine (45) aus mindestens einem Sektor aus einer Mehrzahl von Sektoren eines zweiten nichtflüchtigen Speichers (55), die eine zweite Seite bilden, basierend auf zweiten Sektorbitabbildungswerten, die in einem zweiten Speicherbereich (35) des flüchtigen Speichers (50) gespeichert sind, - wobei die ersten und die zweiten Sektorbitabbildungswerte von der Zustandsmaschine (45) ohne Beteiligung einer Firmware gelesen werden.
- Datenverarbeitungsverfahren nach
Anspruch 6 , weiter umfassend, dass für eine verschachtelte Leseoperation ein Lesebefehl zu einem Kanal übertragen wird, der mit dem ersten nichtflüchtigen Speicher und dem zweiten nichtflüchtigen Speicher verbunden ist. - Datenverarbeitungsverfahren nach
Anspruch 6 oder7 , wobei das selektive Lesen basierend auf den ersten Sektorbitabbildungswerten umfasst: - Lesen der ersten Sektorbitabbildungswerte, die in dem ersten Speicherbereich gespeichert sind, und - Analysieren der ersten Sektorbitabbildungswerte und selektives Lesen des mindestens einen Sektors, aber nicht aller Sektoren, aus der Mehrzahl von Sektoren, die die erste Seite bilden, basierend auf einem Ergebnis der Analyse in Abhängigkeit von mindestens einem ersten zufälligen Datenausgabebefehl. - Datenverarbeitungsverfahren nach
Anspruch 8 , wobei das selektive Lesen basierend auf zweiten Sektorbitabbildungswerten umfasst: - Lesen der zweiten Sektorbitabbildungswerte, die in dem zweiten Speicherbereich gespeichert sind, und - Analysieren der zweiten Sektorbitabbildungswerte und selektives Lesen des mindestens einen Sektors aus der Mehrzahl von Sektoren, die die zweite Seite bilden, basierend auf einem Ergebnis der Analyse in Abhängigkeit von mindestens einem zweiten zufälligen Datenausgabebefehl. - Datenverarbeitungsverfahren für eine Solid-State-Disk-Steuereinheit (30), wobei das Datenverarbeitungsverfahren die Schritte umfasst: - Lesen eines Sektorbitabbildungszeigers, der in einem ersten Register (41) gespeichert ist, mit einer Zustandsmaschine (45), - Lesen von Sektorbitabbildungswerten, die in einem Speicherbereich eines flüchtigen Speichers gespeichert sind, mit der Zustandsmaschine (45), - wobei die Sektorbitabbildungswerte durch den Sektorbitabbildungszeiger angezeigt sind, - Speichern der aus dem Speicherbereich gelesenen Sektorbitabbildungswerte in ein zweites Register, - Bereitstellen der Sektorbitabbildungswerte von dem zweiten Register an die Zustandsmaschine (45), und - selektives Programmieren mindestens eines Sektors, aber nicht aller Sektoren, aus einer Mehrzahl von Sektoren eines externen nichtflüchtigen Speichers, die eine Seite bilden, mit Daten, die von einem Host ausgegeben werden, basierend auf den Sektorbitabbildungswerten mit der Zustandsmaschine (45).
- Solid-State-Disk-Steuereinheit (30), umfassend: - einen flüchtigen Speicher (31) mit einem Speicherbereich (33, 35, 37), der Sektorbitabbildungswerte speichert, und - eine Speichersteuereinheit, umfassend: - ein erstes Register (41), - ein zweites Register (43) und - eine Zustandsmaschine (45), - wobei das erste Register zum Speichern eines Zeigers ausgebildet ist und die Zustandsmaschine dazu ausgebildet ist, den Zeiger auszulesen, der im ersten Register (41) gespeichert ist, und die Sektorbitabbildungswerte auszulesen, die in dem flüchtigen Speicher (31) gespeichert sind, - wobei die Sektorbitabbildungswerte durch den Zeiger angezeigt sind, - wobei das zweite Register (43) dazu ausgebildet ist, die gelesenen Sektorbitabbildungswerte zu empfangen und zu speichern, und - wobei die Zustandsmaschine (45) dazu ausgebildet ist, die Sektorbitabbildungswerte zu lesen und zu analysieren, die in dem zweiten Register gespeichert sind, um eine SektorAdresse und einen zufälligen Datenausgabebefehl auszugeben, um mindestens einen Sektor, aber nicht alle Sektoren, aus einer Mehrzahl von Sektoren eines externen nichtflüchtigen Speichers, die eine Seite bilden, basierend auf der Analyse der im zweiten Register (43) gespeicherten Sektorbitabbildungswerte zu lesen.
- Solid-State-Disk-Steuereinheit, umfassend: - einen flüchtigen Speicher (31) mit einem Speicherbereich (33, 35, 37), der Sektorbitabbildungswerte speichert, und - eine Speichersteuereinheit, die dazu ausgebildet ist: - mit einer Zustandsmaschine (45) einen Sektorbitabbildungszeiger zu lesen, der in einem ersten Register gespeichert ist, - mit der Zustandsmaschine (45) die Sektorbitabbildungswerte zu lesen, die in dem Speicherbereich gespeichert sind, wobei die Sektorbitabbildungswerte durch den Sektorbitabbildungszeiger angezeigt sind, - die aus dem Speicherbereich gelesenen Sektorbitabbildungswerte in ein zweites Register zu speichern, - der Zustandsmaschine (45) die Sektorbitabbildungswerte von dem zweiten Register bereitzustellen, und - mindestens einen Sektor, aber nicht alle Sektoren, aus einer Mehrzahl von Sektoren eines externen nichtflüchtigen Speichers, die eine Seite bilden, selektiv mit der Zustandsmaschine (45) mit Daten, die von einem Host ausgegeben sind, basierend auf den Sektorbitabbildungswerten, zu programmieren.
- Solid-State-Disk-Steuereinheit (30), umfassend: - einen flüchtigen Speicher (31) mit einem ersten Speicherbereich (33), der erste Sektorbitabbildungswerte speichert, und einem zweiten Speicherbereich (35), der zweite Sektorbitabbildungswerte speichert, und - eine Speichersteuereinheit (39), die dazu ausgebildet ist: - mit einer Zustandsmaschine (45) einen Sektorbitabbildungszeiger zu lesen, der in einem ersten Register gespeichert ist, - mit der Zustandsmaschine (45) die ersten Sektorbitabbildungswerte zu lesen, die in dem ersten Speicherbereich gespeichert sind, wobei die ersten Sektorbitabbildungswerte durch den Sektorbitabbildungszeiger angezeigt sind und die ersten Sektorbitabbildungswerte angeben, welche Sektoren eines ersten externen nichtflüchtigen Speichers, die eine erste Seite bilden, zu lesen oder nicht zu lesen sind, - die ersten Sektorbitabbildungswerte in ein zweites Register zu speichern, - der Zustandsmaschine die ersten Sektorbitabbildungswerte aus dem zweiten Register bereitzustellen, - selektiv mindestens einen Sektor, aber nicht alle Sektoren, aus einer Mehrzahl von Sektoren der ersten Seite des ersten externen nichtflüchtigen Speichers basierend auf den ersten Sektorbitabbildungswerten mit der Zustandsmaschine (45) zu lesen, und - selektiv mindestens einen Sektor aus einer Mehrzahl von Sektoren eines zweiten externen nichtflüchtigen Speichers, die eine zweite Seite bilden, basierend auf den zweiten Sektorbitabbildungswerten, die in dem zweiten Speicherbereich gespeichert sind, mit der Zustandsmaschine (45) zu lesen, - wobei die Speichersteuereinheit (39) nicht von einer Firmware gesteuert ist, um erste und zweite Sektorbitabbildungswerte zu lesen.
- Solid-State-Disk-Steuereinheit nach
Anspruch 13 , wobei die Speichersteuereinheit einen Lesebefehl an einen Kanal ausgibt, der mit dem ersten externen nichtflüchtigen Speicher und dem zweiten externen nichtflüchtigen Speicher verbunden ist, wenn die Leseoperation eine überlappende Leseoperation ist. - Datenspeicherelement, umfassend: - einen nichtflüchtigen Speicher (50), - eine Solid-State-Disk-Steuereinheit (30) und - einen Kanal (51, 57, 63, 69), der zwischen dem nichtflüchtigen Speicher (50) und der Solid-State-Disk-Steuereinheit (30) eingeschleift ist, - wobei die Solid-State-Disk-Steuereinheit (30) aufweist: - einen flüchtigen Speicher mit einem Speicherbereich, der Sektorbitabbildungswerte speichert, und - eine Speichersteuereinheit, die dazu ausgebildet ist: - mit einer Zustandsmaschine (45) einen Sektorbitabbildungszeiger zu lesen, der in einem ersten Register gespeichert ist, - mit der Zustandsmaschine (45) die Sektorbitabbildungswerte zu lesen, die in dem Speicherbereich des flüchtigen Speicher gespeichert sind, wobei die Sektorbitabbildungswerte durch den Sektorbitabbildungszeiger angezeigt sind und die Sektorbitabbildungswerte angeben, welche Sektoren des nichtflüchtigen Speichers, die eine Seite bilden, zu lesen oder nicht zu lesen sind, - die von dem Speicherbereich gelesenen Sektorbitabbildungswerte in ein zweites Register zu speichern, - der Zustandsmaschine (45) die Sektorbitabbildungswerte von dem zweiten Register bereitzustellen, und - mindestens einen Sektor, aber nicht alle Sektoren, aus einer Mehrzahl von Sektoren der Seite basierend auf den Sektorbitabbildungswerten selektiv mit der Zustandsmaschine (45) zu lesen.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2007-0071998 | 2007-07-19 | ||
KR1020070071998A KR101424782B1 (ko) | 2007-07-19 | 2007-07-19 | 솔리드 스테이트 디스크 컨트롤러 및 솔리드 스테이트디스크 컨트롤러의 데이터 처리 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE102008033518A1 DE102008033518A1 (de) | 2009-02-05 |
DE102008033518B4 true DE102008033518B4 (de) | 2021-10-14 |
Family
ID=40176125
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102008033518.5A Active DE102008033518B4 (de) | 2007-07-19 | 2008-07-14 | Datenverarbeitungsverfahren für eine Solid-State-Disk-Steuereinheit, Solid-State-Disk-Steuereinheit und Datenspeicherelement |
Country Status (6)
Country | Link |
---|---|
US (1) | US8738842B2 (de) |
JP (1) | JP5368735B2 (de) |
KR (1) | KR101424782B1 (de) |
CN (1) | CN101349963B (de) |
DE (1) | DE102008033518B4 (de) |
TW (1) | TWI479502B (de) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101070511B1 (ko) * | 2009-03-20 | 2011-10-05 | (주)인디링스 | Ssd 컨트롤러 및 ssd 컨트롤러의 동작 방법 |
US20110252435A1 (en) * | 2009-07-13 | 2011-10-13 | Juhnho Park | Disk drive |
US8164936B2 (en) * | 2009-10-14 | 2012-04-24 | Seagate Technology Llc | Switched memory devices |
US9229809B2 (en) | 2011-09-11 | 2016-01-05 | Microsoft Technology Licensing Llc | Nonvolatile media journaling of verified data sets |
US8456972B2 (en) * | 2011-09-12 | 2013-06-04 | Microsoft Corporation | Efficient access to storage devices with usage bitmaps |
CN103377130A (zh) * | 2012-04-13 | 2013-10-30 | 日立(中国)研究开发有限公司 | 数据存储设备以及相应的数据存储方法 |
CN106155578A (zh) * | 2015-04-27 | 2016-11-23 | 四川效率源信息安全技术有限责任公司 | 手机闪存芯片数据重组的方法 |
KR102465321B1 (ko) | 2016-03-02 | 2022-11-11 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 |
KR102535104B1 (ko) * | 2018-03-19 | 2023-05-23 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
KR20190128392A (ko) * | 2018-05-08 | 2019-11-18 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
CN110262753A (zh) * | 2019-05-30 | 2019-09-20 | 合肥致存微电子有限责任公司 | 一种加快命令响应的方法、***以及ssd |
CN114063933B (zh) * | 2021-12-02 | 2022-06-28 | 深圳市宝佳乐电子科技有限公司 | 区块管理方法、存储器控制器和存储器存储装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050114587A1 (en) | 2003-11-22 | 2005-05-26 | Super Talent Electronics Inc. | ExpressCard with On-Card Flash Memory with Shared Flash-Control Bus but Separate Ready Lines |
US20060002096A1 (en) | 2004-06-30 | 2006-01-05 | Kuang-Yu Wang | System and method for providing a flash memory assembly |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6481028A (en) * | 1987-09-22 | 1989-03-27 | Fanuc Ltd | Data memory system |
JPH0628261A (ja) | 1992-04-17 | 1994-02-04 | Hitachi Ltd | データ転送方法及び装置 |
JPH07262059A (ja) | 1994-03-25 | 1995-10-13 | Sony Corp | ファイル管理方法 |
JPH07319636A (ja) | 1994-05-27 | 1995-12-08 | Fuji Xerox Co Ltd | 磁気ディスクのデータ格納制御装置 |
JPH0877099A (ja) * | 1994-09-02 | 1996-03-22 | Fuji Xerox Co Ltd | Dmaコントローラ |
GB2291990A (en) * | 1995-09-27 | 1996-02-07 | Memory Corp Plc | Flash-memory management system |
JP3063669B2 (ja) | 1997-04-04 | 2000-07-12 | 三菱電機株式会社 | 情報処理システム |
JP3849241B2 (ja) * | 1997-08-11 | 2006-11-22 | ソニー株式会社 | 記憶装置 |
US5956743A (en) * | 1997-08-25 | 1999-09-21 | Bit Microsystems, Inc. | Transparent management at host interface of flash-memory overhead-bytes using flash-specific DMA having programmable processor-interrupt of high-level operations |
JP2000285017A (ja) * | 1999-03-31 | 2000-10-13 | Seiko Epson Corp | 記憶装置 |
US7702831B2 (en) * | 2000-01-06 | 2010-04-20 | Super Talent Electronics, Inc. | Flash memory controller for electronic data flash card |
US7318117B2 (en) * | 2004-02-26 | 2008-01-08 | Super Talent Electronics, Inc. | Managing flash memory including recycling obsolete sectors |
US20060075395A1 (en) * | 2004-10-01 | 2006-04-06 | Lee Charles C | Flash card system |
JP3923715B2 (ja) * | 2000-09-29 | 2007-06-06 | 株式会社東芝 | メモリカード |
US7089379B1 (en) * | 2002-06-28 | 2006-08-08 | Emc Corporation | Large high bandwidth memory system |
US7675828B2 (en) | 2003-02-25 | 2010-03-09 | Lg Electronics Inc. | Recording medium having data structure for managing at least a data area of the recording medium and recording and reproducing methods and apparatuses |
KR100528482B1 (ko) * | 2003-12-31 | 2005-11-15 | 삼성전자주식회사 | 데이타를 섹터 단위로 랜덤하게 입출력할 수 있는 플래시메모리 시스템 |
EP1607879A1 (de) * | 2004-06-14 | 2005-12-21 | Dialog Semiconductor GmbH | Speicherverschachtelung in einem Rechnersystem |
JP4665510B2 (ja) * | 2004-12-20 | 2011-04-06 | ソニー株式会社 | 暗号化データ記録装置 |
KR100621631B1 (ko) * | 2005-01-11 | 2006-09-13 | 삼성전자주식회사 | 반도체 디스크 제어 장치 |
-
2007
- 2007-07-19 KR KR1020070071998A patent/KR101424782B1/ko active IP Right Grant
-
2008
- 2008-06-16 JP JP2008156807A patent/JP5368735B2/ja active Active
- 2008-06-26 US US12/147,067 patent/US8738842B2/en active Active
- 2008-07-10 TW TW097126165A patent/TWI479502B/zh active
- 2008-07-14 DE DE102008033518.5A patent/DE102008033518B4/de active Active
- 2008-07-15 CN CN2008101361001A patent/CN101349963B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050114587A1 (en) | 2003-11-22 | 2005-05-26 | Super Talent Electronics Inc. | ExpressCard with On-Card Flash Memory with Shared Flash-Control Bus but Separate Ready Lines |
US20060002096A1 (en) | 2004-06-30 | 2006-01-05 | Kuang-Yu Wang | System and method for providing a flash memory assembly |
Non-Patent Citations (1)
Title |
---|
Kim: A SPACEEFFICIENT FLASH TRANSLATION LAYER FOR COMPACTFLASH SYSTEMS. In: IEEE Transactions on Consumer Electronics, 2002, 366-375. |
Also Published As
Publication number | Publication date |
---|---|
TW200905696A (en) | 2009-02-01 |
DE102008033518A1 (de) | 2009-02-05 |
TWI479502B (zh) | 2015-04-01 |
KR101424782B1 (ko) | 2014-08-04 |
KR20090008766A (ko) | 2009-01-22 |
CN101349963B (zh) | 2013-03-06 |
JP5368735B2 (ja) | 2013-12-18 |
US8738842B2 (en) | 2014-05-27 |
US20090024791A1 (en) | 2009-01-22 |
JP2009026301A (ja) | 2009-02-05 |
CN101349963A (zh) | 2009-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102008033518B4 (de) | Datenverarbeitungsverfahren für eine Solid-State-Disk-Steuereinheit, Solid-State-Disk-Steuereinheit und Datenspeicherelement | |
DE102014204716B4 (de) | Nichtflüchtiges Speicherbauelement und Programmierverfahren für ein Betriebssystem(OS)-Image | |
DE102014101267B4 (de) | Speichersystem mit nichtflüchtiger Speichervorrichtung und Programmierverfahren davon | |
DE112018000180T5 (de) | System und verfahren zum adaptiven senden frühzeitiger beendigung unter verwendung eines steuerungsspeicherpuffers | |
DE102017128939A1 (de) | System und Verfahren zum dynamischen und adaptiven Zusammenführen von Interrupts | |
DE102018105943A1 (de) | Kontextbewusste dynamische Befehlsplanung für ein Datenspeichersystem | |
DE112018000834T5 (de) | System und verfahren zur adaptiven befehlsabruf-aggregation | |
DE102018123891A1 (de) | Handhabung nichtabgestimmter Schreibvorgänge | |
DE112018000181T5 (de) | System und verfahren für die schnelle ausführung von kapselinternen befehlen | |
DE102013108491A1 (de) | Nichtflüchtige Speichervorrichtung und Betriebsverfahren mit variablen Speicherzellenzustandsdefinitionen | |
DE112008002553T5 (de) | Einsatz eines MLC-Flash als SLC durch Schreiben von Dummy-Daten | |
DE112018000230T5 (de) | System und Verfahren zur spekulativen Befehlsausführung unter Verwendung des Steuerungsspeicherpuffers | |
DE102008009235A1 (de) | Speichersystem | |
DE112015005102T5 (de) | Systeme und verfahren zum erzeugen von einem hostbefehl zugeordneten hinweisinformationen | |
DE102019135863B4 (de) | Speichercontroller, Speichervorrichtung und Speichersystem mit verbesserten Schwellenspannungs-Verteilungseigenschaften und ähnliche Betriebsverfahren | |
DE112019000161T5 (de) | Speicher-cache-verwaltung | |
DE102015011991A1 (de) | Codierungsschema für vertikale 3D-Flash-Speicher | |
DE102020119190A1 (de) | Speichervorrichtung und Betriebsverfahren derselben | |
DE102021118940A1 (de) | Speichersteuerung und speichereinrichtung mit derselben | |
DE102020202379A1 (de) | Speichersystem, speicher-controller und deren betriebsverfahren | |
DE102013108456A1 (de) | Nichtflüchtige Speichervorrichtung und Programmierverfahren | |
DE112020000159T5 (de) | Systeme und verfahren zum definieren von speicher-unterblöcken | |
DE102020211544A1 (de) | Steuerung, betriebsverfahren der steuerung und speichergerät mit derselben | |
DE112015004531T5 (de) | Latch-Initialisierung für eine Datenspeichervorrichtung | |
DE112020005395T5 (de) | Kapazitätserweiterung für speicher-untersysteme |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R079 | Amendment of ipc main class |
Free format text: PREVIOUS MAIN CLASS: G06F0012000000 Ipc: G11C0008000000 |
|
R016 | Response to examination communication | ||
R018 | Grant decision by examination section/examining division | ||
R020 | Patent grant now final |