DE102006003261A1 - Speichersystem und Verfahren zur Datenzusammenführung - Google Patents
Speichersystem und Verfahren zur Datenzusammenführung Download PDFInfo
- Publication number
- DE102006003261A1 DE102006003261A1 DE102006003261A DE102006003261A DE102006003261A1 DE 102006003261 A1 DE102006003261 A1 DE 102006003261A1 DE 102006003261 A DE102006003261 A DE 102006003261A DE 102006003261 A DE102006003261 A DE 102006003261A DE 102006003261 A1 DE102006003261 A1 DE 102006003261A1
- Authority
- DE
- Germany
- Prior art keywords
- block
- page
- flash memory
- allocation table
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B8/00—Diagnosis using ultrasonic, sonic or infrasonic waves
- A61B8/44—Constructional features of the ultrasonic, sonic or infrasonic diagnostic device
- A61B8/4411—Device being modular
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B8/00—Diagnosis using ultrasonic, sonic or infrasonic waves
- A61B8/46—Ultrasonic, sonic or infrasonic diagnostic devices with special arrangements for interfacing with the operator or the patient
- A61B8/467—Ultrasonic, sonic or infrasonic diagnostic devices with special arrangements for interfacing with the operator or the patient characterised by special input means
-
- 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]
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B2560/00—Constructional details of operational features of apparatus; Accessories for medical measuring apparatus
- A61B2560/04—Constructional details of apparatus
- A61B2560/0443—Modular apparatus
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Pathology (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Radiology & Medical Imaging (AREA)
- Biomedical Technology (AREA)
- Heart & Thoracic Surgery (AREA)
- Medical Informatics (AREA)
- Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
- Surgery (AREA)
- Animal Behavior & Ethology (AREA)
- General Health & Medical Sciences (AREA)
- Public Health (AREA)
- Veterinary Medicine (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Die Erfindung bezieht sich auf ein Speichersystem und auf ein zugehöriges Verfahren zur Durchführung eienr Datenzusammenführungsoperation. DOLLAR A Erfindungsgemäß beinhaltet das Speichersystem einen Flashspeicher (210), der zum Speichern einer Dateizuweisungstabelle (FAT) eingerichtet ist, die FAT-Informationen enthält, und eine Steuereinheit (220), die zum Lesen der FAT-Informationen und Ausführung einer Datenzusammenführungsoperation eingerichtet ist. DOLLAR A Verwendung z. B. für Speicherkartensysteme mit Flashspeicher.
Description
- Die Erfindung bezieht sich auf ein Speichersystem mit einem Flashspeicher und auf ein zugehöriges Verfahren zur Durchführung einer Datenzusammenführungsoperation.
- Nichtflüchtige Speicher werden in einer Vielzahl von elektronischen Geräten im Konsumbereich und industriellen Bereich eingesetzt, wie Personalcomputer, persönliche digitale Assistenten, Laptops, Mobiltelefone, Kameras und dergleichen. Sie werden besonders aufgrund ihrer Fähigkeit verwendet, Daten auch dann zu halten, wenn die Energieversorgung unterbrochen wird. Flashspeicher sind gegenwärtig zunehmend benutzte nichtflüchtige Speicher. Sie sind beispielsweise aufgrund ihrer Betriebsgeschwindigkeit, ihrer Robustheit und ihres niedrigen Energieverbrauchs von Vorteil.
- Andere herkömmliche Speichersysteme, wie Festplatten und Diskettenlaufwerke, sind nicht so robust und energieeffizient wie Flashspeicher, da sie bewegliche Teile beinhalten, die leicht geschädigt werden können. Daher wird für Computersysteme zunehmend die Ersetzung von Festplattenlaufwerken und Diskettenlaufwerken durch Flashspeicher erwogen.
- Die Ersetzung eines herkömmlichen Festplattenlaufwerks durch einen Flashspeicher ist allerdings nicht ganz einfach. Ein Grund liegt darin, dass in einem herkömmlichen Festplattenlaufwerk gespeicherte Daten an ihrer momentanen Stelle überschrieben werden können, während in einem Flashspeicher gespeicherte Daten nicht überschrieben werden können, bevor nicht ein gesamter Block von Daten gelöscht wurde. Mit anderen Worten haben herkömmliche Festplattenlaufwerke die Fähigkeit eines „Write-in-place", was Flashspeicher nicht haben. Wenn folglich ein Flashspeicher zur Koordinierung mit einem Host-System benötigt wird, das Speicherzugriffsvereinbarungen eines herkömmlichen Festplattenlaufwerks benutzt, verwendet der Flashspeicher typischerweise eine Flashtranslationsschicht (FTL), worunter ein Treiber verstanden wird, der einen vom Betriebssystem benutzten logischen Adressplatz mit einem vom Flashspeicher benutzten physikalischen Adressplatz in Einklang bringt.
- Die FTL erfüllt im Allgemeinen mindestens drei Funktionen. Erstens unterteilt sie den Flashspeicher in Seiten, auf die vom Host-System zugegriffen werden kann. Zweitens verwaltet sie im Flashspeicher abgelegte Daten derart, dass der Flashspeicher so erscheint, als ob er eine Write-in-place-Fähigkeit besitzt, wenn neue Daten an gelöschte Stellen des Flashspeichers geschrieben werden. Drittens verwaltet die FTL den Flashspeicher derart, dass gelöschte Speicherplätze zum Speichern neuer Daten verfügbar sind.
- Die Verwaltung des Flashspeichers umfasst mehrere Vorgänge. Beispielsweise wird immer dann, wenn eine logische Adresse überschrieben wird, eine an einer korrespondierenden physikalischen Adresse gespeicherte Seite von Daten ungültig gemacht, und eine neue Seite von Daten wird an einer neuen physikalischen Adresse des Flashspeichers abgelegt. Immer wenn eine genügende Anzahl an Seiten im Flashspeicher ungültig gemacht worden ist, führt die FTL eine Zusammenführungsoperation („merge operation") aus, wodurch „gültige" Seiten von Quellenblöcken, die ungültige Seiten enthalten, zu Zielblöcken mit verfügbarem Speicherplatz übertragen werden. Der Zweck der Zusammenführungsoperation besteht darin, Speicherplatz freizumachen, der von ungültig gemachten Blöcken eingenommen wird, indem die Quellenblöcke gelöscht werden.
- Die obigen Vorgänge beschreiben die typische Arbeitsweise einer FTL. Verschiedene Adressentranslationsschemata sind beispielsweise in den Patentschriften
US 5.404.485 ,US 5.937.425 undUS 6.381.176 offenbart. - Eine detailliertere Erläuterung von FTL-Operationen wird unten im Zusammenhang mit einer elektronischen Einrichtung gegeben, die ein mit einem Flashspeicher verbundenes Host-System umfasst. Der Flashspeicher beinhaltet mehrere in einem Speicherzellenfeld angeordnete Speicherzellen. Das Speicherzellenfeld ist in mehrere Blöcke aufgeteilt, und jeder Block ist in eine Mehrzahl von Seiten unterteilt. Der Flashspeicher kann blockweise gelöscht und seitenweise programmiert oder gelesen werden. Sobald eine Seite programmiert ist, muss sie erst wieder gelöscht werden, bevor sie neu programmiert werden kann.
- Innerhalb eines Flashspeichers ist jeder Block durch eine physikalische Blockadresse oder Blocknummer (PBN) bezeichnet, und jede Seite ist durch eine physikalische Seitenadresse oder Seitennummer (PPN) bezeichnet. Das Host-System greift auf einen jeweiligen Block durch eine logische Blockadresse oder Blocknummer (LBN) und auf jede Seite durch eine logische Seitenadresse oder Seitennummer (LPN) zu. Dementsprechend behält die FTL eine Abbildung (Mapping) zwischen den logischen Block- und Seitenadressen und zugehörigen physikalischen Block- und Seitenadressen bei, um das Host-System mit dem Flashspeicher zu koordinieren. Wenn dann das Host-System eine logische Block- und Seitenadresse zum Flashspeicher sendet, übersetzt die FTL die logische Block- und Seitenadresse in eine physikalische Block- und Seitenadresse.
- Wie oben erläutert, wird eine Zusammenführungsoperation ausgeführt, um gültige Seiten innerhalb des Flashspeichers zusammenzulegen und dadurch Platz freizumachen, an dem ungültige Seiten lokalisiert sind. Wenn die Zusammenführungsoperation ausgeführt wird, muss die FTL korrekte Abbildungen zwischen den physikalischen und logischen Block- und Seitenadressen beibehalten. Eine Zusammenführungsoperation umfasst typischerweise eine oder mehrere Operationen von einer Blockabbildungsoperation, einer Seitenabbildungsoperation und einer logischen bzw. Log-Abbildungsoperation.
- Eine exemplarische Blockabbildungsoperation wird nachstehend unter Bezugnahme auf
1 erläutert. Intuitiv stellt eine Blockabbildungsoperation einfach eine Abbildung von in einem Block enthaltenen, gültigen Daten auf einen anderen Block dar. Ein Grund zur Ausführung einer Blockabbildungsoperation besteht darin, eine Seite innerhalb des Blocks zu aktualisieren, während die gleichen relativen Positionen für die Seiten beibehalten werden. In1 wird eine Seite eines Blocks aktualisiert, und dann werden alle Seiten innerhalb des Blocks zu einem anderen Block übertragen. Wenn eine Blockabbildungsoperation erfolgt, wird durch die FTL eine Blockabbildungstabelle aktualisiert, mit der Abbildungen zwischen logischen Blocknummern und physikalischen Blocknummern auf dem Laufenden gehalten werden. - Gemäß
1 umfassen ein erster Block mit physikalischer Blocknummer PBN2 und ein zweiter Block mit physikalischer Blocknummer PBN3 jeweils mehrere Seiten. In einer i-ten Seite des ersten Blocks gespeicherte Daten werden durch Programmieren einer zugehörigen i-ten Seite im zweiten Block mit neuen Daten aktualisiert, während die i-te Seite des ersten Blocks ungültig gemacht wird. Dann werden alle gültigen Seiten im ersten Block zum zweiten Block übertragen. Der Transfer der gültigen Seiten ist in1 durch das Symbol ➀ bezeichnet. Sobald alle Seiten im ersten Block zum zweiten Block übertragen worden sind, wird der erste Block gelöscht. - Die
2A und2B veranschaulichen eine exemplarische Seitenabbildungsoperation. In einer Seitenabbildungsoperation werden Seiten zu verschiedenen physikalischen Seitennummern übertragen, und die FTL aktualisiert eine Seitenabbildungstabelle, um Zusammenhänge zwischen logischen und physikalischen Seitennummern auf dem Laufenden zu halten. Genauer gesagt zeigt2A zwei Speicherblöcke eines Flashspeichers, und2B zeigt eine Seitenabbildungstabelle für den Flashspeicher. - Gemäß den
2A und2B wurden je ein erster und zweiter Programmiervorgang sowohl mit einer logischen Seitennummer 0 als auch mit einer logischen Seitennummer 1 ausgeführt. In den ersten Programmiervorgängen wurde eine logische Seitennummer 0 auf eine physikalische Seitennummer 0 abgebildet, und eine logische Seitennummer 1 wurde auf eine physikalische Seitennummer 1 abgebildet. In den zweiten Programmiervorgängen wurde eine logische Seitennummer 0 auf eine physikalische Seitennummer 4 abgebildet, und eine logische Seitennummer 1 wurde auf eine physikalische Seitennummer 3 abgebildet. Als Resultat werden Seiten von Daten, die an physikalischen Seitennummern 0 und 1 gespeichert sind, ungültig gemacht, wie in2A durch kreuzweise durchgestrichene Boxen illustriert. - Um den Speicherplatz an den physikalischen Seitennummern 0 und 1 freizumachen, überträgt die Seitenabbildungsoperation Seiten von Daten aus einem ersten Block mit physikalischer Seitennummer PBN0 zu einem zweiten Block mit physikalischer Seitennummer PBN1. Als Ergebnis werden Seiten von im ersten Block gespeicherten Daten an neuen physikalischen Seitennummern im zweiten Block gespeichert, während die gleichen logischen Seitennummern beibehalten werden. Sobald alle gültigen Daten vom ersten Block zum zweiten Block übertragen worden sind, wird der erste Block gelöscht.
- Die
3A und3B veranschaulichen eine Log-Abbildungsoperation, bei der Seiten von Daten aus zwei verschiedenen Blöcken zu einem einzelnen Block übertragen werden. Wie aus den3A und3B ersichtlich, ist ein Flashspeicher in einen Datenbereich, einen Log-Bereich und einen Meta-Bereich aufgeteilt. - Der in
3A gezeigte Speicherblock umfasst einen ersten bis neunten physikalischen Speicherblock PBN0 bis PBN8. Die Speicherblöcke PBN0 bis PBN4 liegen im Datenbereich, die Speicherblöcke PBN5 bis PBN7 liegen im Log-Bereich, und der Speicherblock PBN8 liegt im Meta-Bereich. Es sei angenommen, dass die Speicherblöcke PBN5 und PBN6 im Log-Bereich dem Speicherblock PBN0 bzw. dem Speicherblock PBN1 entsprechen, während der Speicherblock PBN8 im Meta-Bereich als ein leerer Speicherblock bezeichnet sei. - Wenn das Host-System einen Programmiervorgang für eine Seite im Speicherblock PBN0 initiiert, werden Daten in einer korrespondierenden Seite im Log-Block PBN5 programmiert. Wenn hingegen das Host-System einen Programmiervorgang für eine Seite im Speicherblock PBN1 initiiert, existiert kein zugehöriger Block im Log-Bereich. Dementsprechend werden die Speicherblöcke PBN5 und PBN0 durch eine Log- Abbildungsoperation zusammengelegt, um Platz für einen dem Speicherblock PBN1 entsprechenden Block zu schaffen.
- Bei der in
3B veranschaulichten Log-Abbildungsoperation werden gültige Seiten in den Speicherblöcken PBN5 und PBN0 zu korrespondierenden Stellen im Speicherblock PBN7 übertragen. In der Log-Abbildungsoperation behält die FTL eine Abbildungstabelle, um die Zusammenhänge zwischen logischen und physikalischen Adressen der Blöcke und Seiten im Flashspeicher auf dem Laufenden zu halten. - Eine Schwierigkeit bei diesen herkömmlichen Datenzusammenführungsoperationen besteht darin, dass das Host-System nicht festlegen kann, wann eine Zusammenführungsoperation erfolgt, da Zusammenführungsoperationen durch Vorgänge der FTL bestimmt werden, die für das Host-System transparent ist. Da die FTL keine Information über ein Dateisystem speichert, wie eine Dateizuweisungstabelle (file allocation table; FAT), kann sie nicht feststellen, ob das Host-System eine Seite als ungültig ansieht. Dementsprechend kann es in einigen Fällen vorkommen, dass ein Dateisystem für das Host-System bestimmte Seiten zum Löschen ohne Berücksichtigung der FTL markiert. Dadurch kann es sein, dass eine von der FTL ausgeführte Zusammenlegungsoperation Seiten kopiert, die aus Sicht des Host-Systems ungültig sind. Daher benötigt die Datenzusammenführungsoperation eventuell mehr Zeit als notwendig, was die Leistungsfähigkeit des Speichersystems herabsetzt.
- Der Erfindung liegt als technisches Problem die Bereitstellung eines Speichersystems und eines zugehörigen Verfahrens zur Datenzusammenführung zugrunde, mit denen sich die oben erwähnten Schwierigkeiten des Standes der Technik reduzieren oder eliminieren lassen.
- Die Erfindung löst dieses Problem durch die Bereitstellung eines Speichersystems mit dem Merkmalen des Anspruchs 1 und eines Verfahrens zur Ausführung einer Datenzusammenführungsoperation mit den Merkmalen des Anspruchs 9.
- Vorteilhafte Weiterbildungen der Erfindung sind in den Unteransprüchen angegeben.
- Vorteilhafte, nachfolgend beschriebene Ausführungsformen der Erfindung sowie die zu deren besserem Verständnis oben erläuterten herkömmlichen Ausführungsbeispiele sind in den Zeichnungen dargestellt, in denen zeigen:
-
1 ein Blockdiagramm zur Veranschaulichung einer Blockabbildungsoperation in einem herkömmlichen Flashspeichersystem, -
2A und2B Blockdiagramme zweier Speicherblöcke bzw. von Seitenabbildungstabellen zur Veranschaulichung einer Seitenabbildungsoperation in einem herkömmlichen Flashspeichersystem, -
3A und3B Blockdiagramme einer Flashspeicheraufteilung bzw. einer Log-Abbildungsoperation in einem herkömmlichen Flashspeichersystem, -
4 ein Blockdiagramm einer elektronischen Einrichtung mit einem Host-System und einem Flashspeichersystem gemäß der Erfindung, -
5 ein Blockdiagramm verschiedener Blöcke eines Flashspeichersystems zur Veranschaulichung eines erfindungsgemäßen Verfahrens zur Durchführung einer zugehörigen Datenzusammenführungsoperation und -
6 ein Flussdiagramm eines selektiven Datenzusammenführungsverfahrens für ein Flashspeichersystem gemäß der Erfindung. - Eine in
4 gezeigte elektronische Einrichtung400 umfasst ein Host-System100 und ein Speichersystem200 . Das Speichersystem200 beinhaltet einen Flashspeicher210 und eine Steuereinheit220 , die als Schnittstelle zwischen dem Flashspeicher210 und dem Host-System100 fungiert. - Der Flashspeicher
210 weist eine Mehrzahl von in einem Speicherzellenfeld angeordneten Speicherzellen auf. Das Speicherzellenfeld ist in eine Mehrzahl von Blöcken aufgeteilt, und jeder Block ist in eine Mehrzahl von Seiten unterteilt. Jede Seite beinhaltet mehrere Speicherzellen, die sich eine gemeinsame Wortleitung teilen. Der Flashspeicher210 wird blockweise gelöscht und seitenweise gelesen oder programmiert. Seiten des Flashspeichers210 können jedoch nur dann programmiert werden, wenn sie sich im gelöschten Zustand befinden. Mit anderen Worten besitzt der Flashspeicher210 keine Write-in-place-Fähigkeit. Beim Flashspeicher210 kann es sich beispielsweise um einen solchen vom NAND-Typ handeln. - Das Host-System
100 greift auf das Speichersystem200 in einer Weise zu, als ob es sich um eine herkömmliche Festplatte mit Write-in-place-Fähigkeit handeln würde. Da der Flashspeicher210 diese Eigenschaft, wie gesagt, nicht besitzt, beinhaltet die Steuereinheit210 eine Flashtranslationsschicht (FTL), durch die das Speichersystem200 dem Host-System100 so erscheint, als ob es die Write-in-place-Fähigkeit hätte, während Daten in verschiedene Seiten des Flashspeichers210 programmiert werden. - Der Flashspeicher
210 besitzt einen Dateizuweisungstabellen-Bereich211 zum Speichern einer Dateizuweisungstabelle (FAT), einen Datenbe reich211 , einen Log-Bereich213 und einen Meta-Bereich214 . Der Log-Bereich213 umfasst mehrere Log-Blöcke entsprechend einer Mehrzahl von Datenblöcken im Datenbereich212 . Dementsprechend werden Daten, wenn das Host-System100 einen Programmiervorgang für einen Datenblock im Datenbereich212 initiiert, bei dem Programmiervorgang in einen korrespondierenden Log-Block des Log-Bereichs213 programmiert. - Wenn ein Datenblock im Datenbereich
212 keinen korrespondierenden Log-Block im Log-Bereich213 hat oder es keinen freien Platz in einem Log-Block im Log-Bereich213 gibt oder eine Host-Einheit eine Zusammenführungsoperation verlangt, wird eine Zusammenführungs- bzw. Zusammenlegungsoperation ausgeführt. Bei dieser Zusammenführungsoperation werden gültige Seiten von Datenblöcken und korrespondierenden Log-Blöcken in neue Datenblöcke und Log-Blöcke kopiert. Sobald die Zusammenführungsoperation ausgeführt ist, werden Abbildungsinformationen für logische Adressen und physikalische Adressen des Flashspeichers210 im Meta-Bereich214 gespeichert. - Die Steuereinheit
220 ist so konfiguriert, dass sie das Speichersystem200 steuert, wenn das Host-System100 einen Speicherzugriffsvorgang ausführt. Wie in4 dargestellt, umfasst die Steuereinheit220 hierfür eine Steuerlogikschaltung221 und einen Arbeitsspeicher222 , in welchem die FTL abgelegt ist. Wenn das Host-System100 einen Speicherzugriffsvorgang initiiert, steuert die Steuerlogikschaltung221 die FTL. -
5 veranschaulicht im Blockdiagramm ein Verfahren zur Durchführung einer Zusammenlegungsoperation im Speichersystem200 gemäß der Erfindung, bei dem gültige Seiten511 und513 eines Log-Blocks510 mit Blocknummer PBN5 und eine gültige Seite522 eines Datenblocks520 mit Blocknummer PBN0 in einen neuen Datenblock530 mit Blocknummer PBN7 kopiert werden. Speziell werden die Seiten511 und513 in Seiten531 bzw.533 des Datenblocks530 kopiert, und die Seite522 wird in eine Seite532 des Datenblocks530 kopiert. Basierend auf den im FAT-Bereich gespeicherten FAT-Informationen540 wird eine gültige Seite524 im Datenblock520 nicht in den Datenblock530 kopiert. - Die FAT-Informationen
540 zeigen an, ob Datenseiten im Datenblock520 vom Host-System100 belegt worden sind oder ob die Seiten zum Löschen markiert wurden. Im gezeigten Beispiel sind in Seiten521 ,523 und525 des Datenblocks520 keine Daten gespeichert, so dass sie in den FAT-Informationen540 als nicht belegt bzw. nicht zugewiesen (NA) markiert sind. Andererseits sind in der Seite522 gültige Daten gespeichert, so dass sie als belegt bzw. zugewiesen (A) markiert ist. In der Seite524 sind zwar gültige Daten gespeichert, sie wird aber vom Host-System als gelöschte Seite betrachtet und ist daher als gelöscht (D) markiert. Da das Host-System die Seite524 als gelöscht ansieht, wird die Seite524 bei einer Zusammenlegungsoperation nicht vom Block520 in den neuen Datenblock530 bzw. PBN7 kopiert. -
6 veranschaulicht im Flussdiagramm ein erfindungsgemäßes Verfahren zur Durchführung einer Zusammenführungsoperation, wie es nachfolgend unter Bezugnahme auf das System gemäß den4 und5 erläutert wird. - Gemäß
6 umfasst das Verfahren die Konvertierung einer physikalischen Seite eines Datenblocks, z.B. des Datenblocks530 , in eine logische Seite (Schritt S610), d.h. es wird eine geeignete logische Adresse zur Verwendung durch das Host-System100 mit dem Datenblock520 zugeordnet. Im Schritt S620 werden die im FAT-Bereich211 gespeicherten FAT-Informationen540 gelesen. Anschließend wird im Abfrageschritt S630 festgestellt, ob eine mit der logischen Seite im Datenblock530 korrespondierende Seite im Datenblock520 gültig ist und ob die Seite im Datenblock520 gemäß den FAT-Informationen540 belegt ist. - Wenn die Seite im Datenblock
520 gemäß den FAT-Informationen540 nicht belegt oder zum Löschen markiert ist, wird sie nicht in den Datenblock530 kopiert. Wenn sie hingegen gemäß den FAT-Informationen540 gültig und zugewiesen ist, wird sie in den Datenblock530 kopiert (Schritt S640). Dann wird abgefragt (Schritt S650), ob alle Seiten im Datenblock520 auf diese Weise überprüft worden sind, wonach der Verfahrenszyklus beendet ist. Solange dies nicht der Fall ist, wird das Verfahren ab dem Abfrageschritt S630 wiederholt. - Das in
6 veranschaulichte Verfahren verhindert, dass zur Löschung markierte Daten vom Host-System während einer Zusammenlegungsoperation in einen anderen Speicherblock kopiert werden. Dadurch kann die zur Ausführung der Zusammenlegungsoperation benötigte Zeitdauer gering gehalten werden, was die Gesamteffizienz des Speichersystems verbessert. Wenn beispielsweise in5 die Anzahl an gültigen/belegten Seiten im Log-Block510 gleich x ist, die Anzahl an gültigen/gelöschten Seiten gleich y ist und die zum Kopieren einer Seite benötigte Zeitdauer gleich z ist, ist die Gesamtzeit zur Ausführung einer Zusammenführungsoperation, bei der auch die gültigen/gelöschten Seiten kopiert werden, gleich (x + y)·z, während sie um den Anteil y·z verringert ist, wenn die gültigen/gelöschten Seiten nicht kopiert werden.
Claims (16)
- Speichersystem, gekennzeichnet durch – einen Flashspeicher (
210 ), der zur Speicherung einer Dateizuweisungstabelle (FAT) eingerichtet ist, die Dateizuweisungstabelleninformationen enthält, und – eine Steuereinheit (220 ), die zum Lesen der Dateizuweisungstabelleninformationen und zur Ausführung einer Datenzusammenführungsoperation eingerichtet ist. - Speichersystem nach Anspruch 1, weiter dadurch gekennzeichnet, dass die Steuereinheit dafür eingerichtet ist, die Dateizuweisungstabelleninformationen zum selektiven Kopieren von in einem ersten Block des Flashspeichers gespeicherten Daten in einen zweiten Block des Flashspeichers während einer Dateizusammenführungsoperation zu benutzen.
- Speichersystem nach Anspruch 2, weiter dadurch gekennzeichnet, dass die Steuereinheit dafür eingerichtet ist, Daten seitenweise selektiv vom ersten Block zum zweiten Block zu kopieren.
- Speichersystem nach Anspruch 2 oder 3, weiter dadurch gekennzeichnet, dass die Steuereinheit, wenn die Dateizuweisungstabelleninformationen anzeigen, dass eine Seite von Daten im ersten Block zugewiesen ist, die Seite in den zweiten Block kopiert.
- Speichersystem nach einem der Ansprüche 2 bis 4, weiter dadurch gekennzeichnet, dass die Steuereinheit, wenn die Dateizuweisungstabelleninformationen anzeigen, dass eine Seite von Da ten im ersten Block gelöscht ist, die Seite nicht in den zweiten Block kopiert.
- Speichersystem nach einem der Ansprüche 1 bis 5, weiter dadurch gekennzeichnet, dass die Steuereinheit einen Arbeitsspeicher (
222 ) beinhaltet, der zum Speichern einer Flashtranslationsschicht (FTL) für das Lesen der FAT-Informationen und die Durchführung einer Zusammenführungsoperation eingerichtet ist. - Speichersystem nach einem der Ansprüche 1 bis 6, weiter dadurch gekennzeichnet, dass der Flashspeicher vom NAND-Typ ist.
- Speichersystem nach einem der Ansprüche 1 bis 7, weiter dadurch gekennzeichnet, dass der Flashspeicher und die Steuereinheit in einer Speicherkarte angeordnet sind.
- Verfahren zur Durchführung einer Datenzusammenführungsoperation in einem Speichersystem (
200 ) mit einem Flashspeicher (210 ) und einer Steuereinheit (220 ), gekennzeichnet durch folgende Schritte – Lesen von Dateizuweisungstabelleninformationen aus einem Dateizuweisungstabellen-Bereich des Flashspeichers und – selektives Kopieren einer Seite eines ersten Blocks im Flashspeicher in einen zweiten Block im Flashspeicher basierend auf den Dateizuweisungstabelleninformationen. - Verfahren nach Anspruch 9, weiter dadurch gekennzeichnet, dass vor dem Lesen der Dateizuweisungstabelleninformationen eine Seite des zweiten Blocks in eine logische Seite konvertiert wird.
- Verfahren nach Anspruch 9 oder 10, weiter dadurch gekennzeichnet, dass zum selektiven Kopieren der Seite vom ersten in den zweiten Block festgestellt wird, ob die Seite gültig ist und ob die Seite gemäß den Dateizuweisungstabelleninformationen zugewiesen ist.
- Verfahren nach Anspruch 11, weiter dadurch gekennzeichnet, dass die Seite vom ersten in den zweiten Block kopiert wird, wenn festgestellt wird, dass die Seite gültig und gemäß den Dateizuweisungstabelleninformationen zugewiesen ist.
- Verfahren nach Anspruch 11 oder 12, weiter dadurch gekennzeichnet, dass die Datenzusammenführungsoperation ohne Kopieren der Seite vom ersten in den zweiten Block abgeschlossen wird, wenn festgestellt wird, dass die Seite gültig, aber gemäß den Dateizuweisungstabelleninformationen nicht zugewiesen ist.
- Verfahren nach einem der Ansprüche 9 bis 13, weiter dadurch gekennzeichnet, dass eine Seite eines dritten Blocks selektiv in den zweiten Block kopiert wird.
- Verfahren nach Anspruch 14, weiter dadurch gekennzeichnet, dass der erste Block einen in einem Datenbereich des Flashspeichers befindlichen Datenblock umfasst, der zweite Block einen im Datenbereich des Flashspeichers befindlichen Datenblock umfasst und der dritte Block einen in einem Log-Bereich des Flashspeichers befindlichen Log-Block umfasst.
- Verfahren nach einem der Ansprüche 9 bis 15, weiter dadurch gekennzeichnet, dass eine Flashtranslationsschicht in einem Arbeitsspeicher der Steuereinheit ausgeführt wird, um das Le sen der Dateizuweisungstabelleninformationen und das selektive Kopieren der Seite vom ersten Block des Flashspeichers in den zweiten Block des Flashspeichers basierend auf den Dateizuweisungstabelleninformationen zu steuern.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2005-0010750 | 2005-02-04 | ||
KR1020050010750A KR100684887B1 (ko) | 2005-02-04 | 2005-02-04 | 플래시 메모리를 포함한 데이터 저장 장치 및 그것의 머지방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102006003261A1 true DE102006003261A1 (de) | 2006-08-24 |
Family
ID=36776360
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102006003261A Ceased DE102006003261A1 (de) | 2005-02-04 | 2006-01-19 | Speichersystem und Verfahren zur Datenzusammenführung |
Country Status (4)
Country | Link |
---|---|
US (1) | US7487303B2 (de) |
JP (1) | JP2006216036A (de) |
KR (1) | KR100684887B1 (de) |
DE (1) | DE102006003261A1 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102008059352A1 (de) * | 2008-11-27 | 2010-06-02 | Giesecke & Devrient Gmbh | Speicherzugriff auf einen portablen Datenträger |
Families Citing this family (81)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101404083B1 (ko) | 2007-11-06 | 2014-06-09 | 삼성전자주식회사 | 반도체 디스크 및 그것의 동작 방법 |
US7558804B1 (en) * | 2005-08-26 | 2009-07-07 | American Megatrends, Inc. | Method, apparatus, and computer-readable medium for space-efficient storage of variables in a non-volatile computer memory |
US7594067B2 (en) * | 2005-10-20 | 2009-09-22 | Stec, Inc. | Enhanced data access in a storage device |
JP4676378B2 (ja) * | 2006-05-18 | 2011-04-27 | 株式会社バッファロー | データ記憶装置およびデータ記憶方法 |
KR100771519B1 (ko) * | 2006-10-23 | 2007-10-30 | 삼성전자주식회사 | 플래시 메모리를 포함한 메모리 시스템 및 그것의 머지방법 |
US8489817B2 (en) | 2007-12-06 | 2013-07-16 | Fusion-Io, Inc. | Apparatus, system, and method for caching data |
US8935302B2 (en) | 2006-12-06 | 2015-01-13 | Intelligent Intellectual Property Holdings 2 Llc | Apparatus, system, and method for data block usage information synchronization for a non-volatile storage volume |
JP2010512584A (ja) | 2006-12-06 | 2010-04-22 | フュージョン マルチシステムズ,インク.(ディービイエイ フュージョン−アイオー) | 空データトークン指令を有する要求デバイスからのデータを管理する装置、システムおよび方法 |
JP2008152464A (ja) * | 2006-12-15 | 2008-07-03 | Toshiba Corp | 記憶装置 |
KR101354152B1 (ko) * | 2006-12-18 | 2014-01-27 | 삼성전자주식회사 | 비휘발성 데이터 저장장치에 구비된 가상 파일 시스템의작업 스케줄링 방법 및 장치 |
KR101150654B1 (ko) * | 2006-12-27 | 2012-07-10 | 인텔 코포레이션 | 비휘발성 메모리 상의 데이터 관리 방법 및 기계 판독 가능한 매체 |
US8095723B2 (en) * | 2007-02-16 | 2012-01-10 | Electronics And Telecommunications Research Institute | Log-based flash translation layer and operating method thereof |
US9207876B2 (en) | 2007-04-19 | 2015-12-08 | Microsoft Technology Licensing, Llc | Remove-on-delete technologies for solid state drive optimization |
JP2009003783A (ja) * | 2007-06-22 | 2009-01-08 | Toshiba Corp | 不揮発性メモリの制御装置及び制御方法及び記憶装置 |
JP2009003784A (ja) * | 2007-06-22 | 2009-01-08 | Toshiba Corp | 不揮発性メモリの制御装置及び制御方法及び記憶装置 |
WO2009017289A1 (en) * | 2007-07-27 | 2009-02-05 | Lg Electronics Inc. | Method for emulating optical disk, optical disk drive using the same, and optical disk including security zone |
KR20090012010A (ko) | 2007-07-27 | 2009-02-02 | 엘지전자 주식회사 | 광디스크 에뮬레이션 방법 및 이를 이용한 광디스크드라이브 |
JP5034754B2 (ja) * | 2007-08-06 | 2012-09-26 | パナソニック株式会社 | 記録媒体複製装置及び記録媒体複製方法 |
JP5010444B2 (ja) * | 2007-11-29 | 2012-08-29 | 株式会社東芝 | 半導体記憶装置およびその駆動方法 |
US7836226B2 (en) | 2007-12-06 | 2010-11-16 | Fusion-Io, Inc. | Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment |
US9519540B2 (en) | 2007-12-06 | 2016-12-13 | Sandisk Technologies Llc | Apparatus, system, and method for destaging cached data |
KR101465789B1 (ko) * | 2008-01-24 | 2014-11-26 | 삼성전자주식회사 | 페이지 복사 횟수를 줄일 수 있는 메모리 카드 시스템의쓰기 및 병합 방법 |
KR101017067B1 (ko) * | 2008-04-08 | 2011-02-25 | 재단법인서울대학교산학협력재단 | 낸드 플래시 메모리를 위한 지역성 기반의 가비지 컬렉션기법 |
KR100954039B1 (ko) * | 2008-08-11 | 2010-04-20 | (주)인디링스 | 플래시 메모리 제어 방법 및 제어 장치 |
US9098396B2 (en) * | 2009-02-13 | 2015-08-04 | Sandisk Il Ltd. | Enhancement of efficiency in power failure handling in flash memory |
TWI402747B (zh) * | 2009-02-17 | 2013-07-21 | E Ten Information Sys Co Ltd | 合併資料的方法及其電子裝置與電腦程式產品 |
JP5341584B2 (ja) | 2009-03-17 | 2013-11-13 | 株式会社東芝 | コントローラ、及びメモリシステム |
KR101574540B1 (ko) | 2009-04-15 | 2015-12-07 | 삼성전자주식회사 | 데이터 저장 장치 및 이를 포함하는 데이터 저장 시스템 |
CN101930387A (zh) * | 2009-06-19 | 2010-12-29 | 上海惠普有限公司 | 用于更新压缩只读文件系统的改进的容错方法及装置 |
CN102696010B (zh) | 2009-09-08 | 2016-03-23 | 才智知识产权控股公司(2) | 用于将数据高速缓存在固态存储设备上的装置、系统和方法 |
US9223514B2 (en) | 2009-09-09 | 2015-12-29 | SanDisk Technologies, Inc. | Erase suspend/resume for memory |
WO2011031903A2 (en) | 2009-09-09 | 2011-03-17 | Fusion-Io, Inc. | Apparatus, system, and method for allocating storage |
WO2011031899A2 (en) | 2009-09-09 | 2011-03-17 | Fusion-Io, Inc. | Apparatus, system, and method for power reduction in a storage device |
US9122579B2 (en) | 2010-01-06 | 2015-09-01 | Intelligent Intellectual Property Holdings 2 Llc | Apparatus, system, and method for a storage layer |
TWI446349B (zh) * | 2010-03-04 | 2014-07-21 | Phison Electronics Corp | 非揮發性記憶體存取方法、系統,與非揮發性記憶體控制器 |
WO2011143628A2 (en) | 2010-05-13 | 2011-11-17 | Fusion-Io, Inc. | Apparatus, system, and method for conditional and atomic storage operations |
US8725934B2 (en) | 2011-12-22 | 2014-05-13 | Fusion-Io, Inc. | Methods and appratuses for atomic storage operations |
WO2012016089A2 (en) | 2010-07-28 | 2012-02-02 | Fusion-Io, Inc. | Apparatus, system, and method for conditional and atomic storage operations |
US8984216B2 (en) | 2010-09-09 | 2015-03-17 | Fusion-Io, Llc | Apparatus, system, and method for managing lifetime of a storage device |
US11232022B2 (en) | 2010-10-29 | 2022-01-25 | Samsung Electronics Co., Ltd. | Memory system, data storage device, user device and data management method thereof having a data management information matching determination |
US9047178B2 (en) | 2010-12-13 | 2015-06-02 | SanDisk Technologies, Inc. | Auto-commit memory synchronization |
EP2652623B1 (de) | 2010-12-13 | 2018-08-01 | SanDisk Technologies LLC | Vorrichtung, system, und verfahren für einen auto-commit-speicher |
US10817502B2 (en) | 2010-12-13 | 2020-10-27 | Sandisk Technologies Llc | Persistent memory management |
US10817421B2 (en) | 2010-12-13 | 2020-10-27 | Sandisk Technologies Llc | Persistent data structures |
US9208071B2 (en) | 2010-12-13 | 2015-12-08 | SanDisk Technologies, Inc. | Apparatus, system, and method for accessing memory |
US9218278B2 (en) | 2010-12-13 | 2015-12-22 | SanDisk Technologies, Inc. | Auto-commit memory |
KR20120067136A (ko) * | 2010-12-15 | 2012-06-25 | 삼성전자주식회사 | 전자 장치 및 이에 적용되는 파일 삭제 방지 방법 |
TWI553654B (zh) * | 2010-12-16 | 2016-10-11 | 群聯電子股份有限公司 | 資料管理方法、記憶體控制器與記憶體儲存裝置 |
US20120239860A1 (en) | 2010-12-17 | 2012-09-20 | Fusion-Io, Inc. | Apparatus, system, and method for persistent data management on a non-volatile storage media |
US9213594B2 (en) | 2011-01-19 | 2015-12-15 | Intelligent Intellectual Property Holdings 2 Llc | Apparatus, system, and method for managing out-of-service conditions |
US9003104B2 (en) | 2011-02-15 | 2015-04-07 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for a file-level cache |
US9201677B2 (en) | 2011-05-23 | 2015-12-01 | Intelligent Intellectual Property Holdings 2 Llc | Managing data input/output operations |
US8874823B2 (en) | 2011-02-15 | 2014-10-28 | Intellectual Property Holdings 2 Llc | Systems and methods for managing data input/output operations |
WO2012116369A2 (en) | 2011-02-25 | 2012-08-30 | Fusion-Io, Inc. | Apparatus, system, and method for managing contents of a cache |
US9563555B2 (en) | 2011-03-18 | 2017-02-07 | Sandisk Technologies Llc | Systems and methods for storage allocation |
WO2012129191A2 (en) | 2011-03-18 | 2012-09-27 | Fusion-Io, Inc. | Logical interfaces for contextual storage |
TW201310235A (zh) * | 2011-08-24 | 2013-03-01 | Novatek Microelectronics Corp | 記憶體裝置及其寫入方法 |
US9274937B2 (en) | 2011-12-22 | 2016-03-01 | Longitude Enterprise Flash S.A.R.L. | Systems, methods, and interfaces for vector input/output operations |
US9251086B2 (en) | 2012-01-24 | 2016-02-02 | SanDisk Technologies, Inc. | Apparatus, system, and method for managing a cache |
US9116812B2 (en) | 2012-01-27 | 2015-08-25 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for a de-duplication cache |
US10359972B2 (en) | 2012-08-31 | 2019-07-23 | Sandisk Technologies Llc | Systems, methods, and interfaces for adaptive persistence |
US9612966B2 (en) | 2012-07-03 | 2017-04-04 | Sandisk Technologies Llc | Systems, methods and apparatus for a virtual machine cache |
US10339056B2 (en) | 2012-07-03 | 2019-07-02 | Sandisk Technologies Llc | Systems, methods and apparatus for cache transfers |
US10509776B2 (en) | 2012-09-24 | 2019-12-17 | Sandisk Technologies Llc | Time sequence data management |
US10318495B2 (en) | 2012-09-24 | 2019-06-11 | Sandisk Technologies Llc | Snapshots for a non-volatile device |
US9842053B2 (en) | 2013-03-15 | 2017-12-12 | Sandisk Technologies Llc | Systems and methods for persistent cache logging |
US10102144B2 (en) | 2013-04-16 | 2018-10-16 | Sandisk Technologies Llc | Systems, methods and interfaces for data virtualization |
US10558561B2 (en) | 2013-04-16 | 2020-02-11 | Sandisk Technologies Llc | Systems and methods for storage metadata management |
US9842128B2 (en) | 2013-08-01 | 2017-12-12 | Sandisk Technologies Llc | Systems and methods for atomic storage operations |
US10019320B2 (en) | 2013-10-18 | 2018-07-10 | Sandisk Technologies Llc | Systems and methods for distributed atomic storage operations |
US10073630B2 (en) | 2013-11-08 | 2018-09-11 | Sandisk Technologies Llc | Systems and methods for log coordination |
US9268635B2 (en) * | 2014-05-21 | 2016-02-23 | Sandisk Technologies Inc. | Error correction using multiple data sources |
TWI539282B (zh) | 2014-10-13 | 2016-06-21 | 慧榮科技股份有限公司 | 非揮發性儲存裝置與控制器 |
US9946607B2 (en) | 2015-03-04 | 2018-04-17 | Sandisk Technologies Llc | Systems and methods for storage error management |
US10009438B2 (en) | 2015-05-20 | 2018-06-26 | Sandisk Technologies Llc | Transaction log acceleration |
US10318185B2 (en) * | 2016-07-01 | 2019-06-11 | Intel Corporation | Method and apparatus to provide both storage mode and memory mode access to non-volatile memory within a solid state drive |
US10261876B2 (en) | 2016-11-08 | 2019-04-16 | Micron Technology, Inc. | Memory management |
US10430085B2 (en) | 2016-11-08 | 2019-10-01 | Micron Technology, Inc. | Memory operations on data |
CN110069455B (zh) * | 2017-09-21 | 2021-12-14 | 北京华为数字技术有限公司 | 一种文件合并方法及装置 |
US10997066B2 (en) | 2018-02-20 | 2021-05-04 | Samsung Electronics Co., Ltd. | Storage devices that support cached physical address verification and methods of operating same |
US11755237B2 (en) * | 2021-08-31 | 2023-09-12 | Micron Technology, Inc. | Overwriting at a memory system |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3727982B2 (ja) * | 1995-09-28 | 2005-12-21 | キヤノン株式会社 | フラッシュrom管理方法及び装置 |
US5890192A (en) * | 1996-11-05 | 1999-03-30 | Sandisk Corporation | Concurrent write of multiple chunks of data into multiple subarrays of flash EEPROM |
KR100330164B1 (ko) | 1999-04-27 | 2002-03-28 | 윤종용 | 무효 블록들을 가지는 복수의 플래시 메모리들을 동시에 프로그램하는 방법 |
JP3942807B2 (ja) * | 2000-06-06 | 2007-07-11 | 株式会社ルネサステクノロジ | ブロックアラインメント機能付き半導体記憶装置 |
JP2002175211A (ja) * | 2000-12-07 | 2002-06-21 | Sharp Corp | データ管理システムおよびデータ管理方法 |
US6763424B2 (en) * | 2001-01-19 | 2004-07-13 | Sandisk Corporation | Partial block data programming and reading operations in a non-volatile memory |
KR100389867B1 (ko) | 2001-06-04 | 2003-07-04 | 삼성전자주식회사 | 플래시 메모리 관리방법 |
JP2003015928A (ja) | 2001-07-04 | 2003-01-17 | Nec System Technologies Ltd | フラッシュメモリのデータ格納装置及びそれに用いるデータ格納方法 |
JP4812192B2 (ja) * | 2001-07-27 | 2011-11-09 | パナソニック株式会社 | フラッシュメモリ装置、及び、それに記憶されたデータのマージ方法 |
KR20030061948A (ko) * | 2002-01-14 | 2003-07-23 | 엘지전자 주식회사 | 정보 저장 장치 및 그를 이용한 파일 관리 방법 |
JP2003308234A (ja) | 2002-02-18 | 2003-10-31 | Matsushita Electric Ind Co Ltd | ファイル再生装置及びファイル再生方法 |
JP4078538B2 (ja) * | 2002-09-30 | 2008-04-23 | ソニー株式会社 | 再生装置および方法、記録媒体、並びにプログラム |
US7039788B1 (en) * | 2002-10-28 | 2006-05-02 | Sandisk Corporation | Method and apparatus for splitting a logical block |
US6985992B1 (en) * | 2002-10-28 | 2006-01-10 | Sandisk Corporation | Wear-leveling in non-volatile storage systems |
US7234036B1 (en) * | 2002-10-28 | 2007-06-19 | Sandisk Corporation | Method and apparatus for resolving physical blocks associated with a common logical block |
US7181611B2 (en) * | 2002-10-28 | 2007-02-20 | Sandisk Corporation | Power management block for use in a non-volatile memory system |
-
2005
- 2005-02-04 KR KR1020050010750A patent/KR100684887B1/ko not_active IP Right Cessation
- 2005-12-29 US US11/319,281 patent/US7487303B2/en not_active Expired - Fee Related
-
2006
- 2006-01-19 DE DE102006003261A patent/DE102006003261A1/de not_active Ceased
- 2006-01-25 JP JP2006016686A patent/JP2006216036A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102008059352A1 (de) * | 2008-11-27 | 2010-06-02 | Giesecke & Devrient Gmbh | Speicherzugriff auf einen portablen Datenträger |
Also Published As
Publication number | Publication date |
---|---|
KR20060089491A (ko) | 2006-08-09 |
KR100684887B1 (ko) | 2007-02-20 |
US7487303B2 (en) | 2009-02-03 |
US20060179263A1 (en) | 2006-08-10 |
JP2006216036A (ja) | 2006-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102006003261A1 (de) | Speichersystem und Verfahren zur Datenzusammenführung | |
DE69635962T2 (de) | Flash-Speicher-Massenspeichersystem und Verfahren dafür | |
DE60217883T2 (de) | Verfahren zum schreiben von daten in einen nicht-flüchtigen speicher | |
DE60211653T2 (de) | Teildatenprogrammier- und leseoperationen in einem nichtflüchtigen speicher | |
DE19782041B4 (de) | Verfahren zum Durchführen eines kontinuierlichen Überschreibens einer Datei in einem nicht-flüchtigen Speicher | |
DE60319407T2 (de) | Verfolgen der am häufigsten gelöschten blöcke eines nichtflüchtigen speichersystems | |
DE102006005876A1 (de) | Flashspeicher-Steuervorrichtung, Vorrichtung zum Steuern eines Flashspeichers, Flashspeicher-System und Verfahren zum Verwalten von Abbildungsdaten eines Flashspeichers | |
DE60319563T2 (de) | Verwaltung der anzahl von löschungen in einem nicht-fluchtigem speicher | |
DE60030876T2 (de) | Bereichsverwaltung eines nichtflüchtigen Speichers mit hoher Kapazität | |
EP2923261B1 (de) | VERFAHREN ZUR STEUERUNG EINES FLASH-SPEICHERS ZUR MASSENSPEICHERUNG, DER VON EINEM AN EINEN HOST ANSCHLIEßBAREN KOMMUNIKATIONSGERÄT UMFASST IST, UND COMPUTERPROGRAMMPRODUKT ZUR AUSFÜHRUNG DES VERFAHRENS | |
DE69034227T2 (de) | EEprom-System mit Blocklöschung | |
DE102005063250A1 (de) | Datenspeicherungssteuersystem, Speicher- und Rechnersystem und Betriebsverfahren | |
DE102019132371A1 (de) | Zuordnungsverwaltung logisch zu physisch unter Verwendung von nichtflüchtigem Speicher | |
DE2226382C3 (de) | Datenverarbeitungsanlage mit mehreren Prozessoren und diesen zugeordneten Pufferspeichern | |
DE102005031525A1 (de) | Verfahren und System zur Steuerung eines Flashspeichers und Speichersystem | |
DE102009034651A1 (de) | Prozess und Verfahren zur Abbildung von logischen Adressen auf physische Adressen in Festkörperplatten | |
DE102009019271A1 (de) | Übertragen von Sequenzzahlen für das Wiederherstellen nach Stromausfall bei einem nichtflüchtigen Speicher | |
DE102005019842B4 (de) | System und Verfahren zum sequentiellen Schreiben von Daten in einen Flash-Speicher | |
DE112008000180T5 (de) | Verfahren und System für die Umsetzung eines Fast-Wakeup eines Flashspeichersystems | |
DE112015004536T5 (de) | Hardware-Automatisierung für Speicherverwaltung | |
DE112020000139T5 (de) | Nicht sequentiell in zonen aufgeteilte namensräume | |
DE112010004667T5 (de) | Speichervorrichtung und Speichersteuerung | |
DE102006005877A1 (de) | Adresszuordnungstabelle und Verfahren zum Erzeugen einer Adresszuordnungstabelle | |
DE112020002792B4 (de) | Verschleissorientierte blockmodusumwandlung in nichtflüchtigen speichern | |
DE102009046444A1 (de) | An die Software angepasste Abnutzungsausgleichung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
R016 | Response to examination communication | ||
R002 | Refusal decision in examination/registration proceedings | ||
R003 | Refusal decision now final |
Effective date: 20120307 |