DE102006003261A1 - Speichersystem und Verfahren zur Datenzusammenführung - Google Patents

Speichersystem und Verfahren zur Datenzusammenführung Download PDF

Info

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
Application number
DE102006003261A
Other languages
English (en)
Inventor
Dong-Hyun Yongin Song
Chan-Ik Park
Sang-Lyul Min
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of DE102006003261A1 publication Critical patent/DE102006003261A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B8/00Diagnosis using ultrasonic, sonic or infrasonic waves
    • A61B8/44Constructional features of the ultrasonic, sonic or infrasonic diagnostic device
    • A61B8/4411Device being modular
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B8/00Diagnosis using ultrasonic, sonic or infrasonic waves
    • A61B8/46Ultrasonic, sonic or infrasonic diagnostic devices with special arrangements for interfacing with the operator or the patient
    • A61B8/467Ultrasonic, sonic or infrasonic diagnostic devices with special arrangements for interfacing with the operator or the patient characterised by special input means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B2560/00Constructional details of operational features of apparatus; Accessories for medical measuring apparatus
    • A61B2560/04Constructional details of apparatus
    • A61B2560/0443Modular apparatus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory 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 und US 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. In 1 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 in 1 durch das Symbol ➀ bezeichnet. Sobald alle Seiten im ersten Block zum zweiten Block übertragen worden sind, wird der erste Block gelöscht.
  • Die 2A und 2B 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 zeigt 2A zwei Speicherblöcke eines Flashspeichers, und 2B zeigt eine Seitenabbildungstabelle für den Flashspeicher.
  • Gemäß den 2A und 2B 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 in 2A 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 und 3B veranschaulichen eine Log-Abbildungsoperation, bei der Seiten von Daten aus zwei verschiedenen Blöcken zu einem einzelnen Block übertragen werden. Wie aus den 3A und 3B 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 und 2B Blockdiagramme zweier Speicherblöcke bzw. von Seitenabbildungstabellen zur Veranschaulichung einer Seitenabbildungsoperation in einem herkömmlichen Flashspeichersystem,
  • 3A und 3B 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 Einrichtung 400 umfasst ein Host-System 100 und ein Speichersystem 200. Das Speichersystem 200 beinhaltet einen Flashspeicher 210 und eine Steuereinheit 220, die als Schnittstelle zwischen dem Flashspeicher 210 und dem Host-System 100 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 Flashspeicher 210 wird blockweise gelöscht und seitenweise gelesen oder programmiert. Seiten des Flashspeichers 210 können jedoch nur dann programmiert werden, wenn sie sich im gelöschten Zustand befinden. Mit anderen Worten besitzt der Flashspeicher 210 keine Write-in-place-Fähigkeit. Beim Flashspeicher 210 kann es sich beispielsweise um einen solchen vom NAND-Typ handeln.
  • Das Host-System 100 greift auf das Speichersystem 200 in einer Weise zu, als ob es sich um eine herkömmliche Festplatte mit Write-in-place-Fähigkeit handeln würde. Da der Flashspeicher 210 diese Eigenschaft, wie gesagt, nicht besitzt, beinhaltet die Steuereinheit 210 eine Flashtranslationsschicht (FTL), durch die das Speichersystem 200 dem Host-System 100 so erscheint, als ob es die Write-in-place-Fähigkeit hätte, während Daten in verschiedene Seiten des Flashspeichers 210 programmiert werden.
  • Der Flashspeicher 210 besitzt einen Dateizuweisungstabellen-Bereich 211 zum Speichern einer Dateizuweisungstabelle (FAT), einen Datenbe reich 211, einen Log-Bereich 213 und einen Meta-Bereich 214. Der Log-Bereich 213 umfasst mehrere Log-Blöcke entsprechend einer Mehrzahl von Datenblöcken im Datenbereich 212. Dementsprechend werden Daten, wenn das Host-System 100 einen Programmiervorgang für einen Datenblock im Datenbereich 212 initiiert, bei dem Programmiervorgang in einen korrespondierenden Log-Block des Log-Bereichs 213 programmiert.
  • Wenn ein Datenblock im Datenbereich 212 keinen korrespondierenden Log-Block im Log-Bereich 213 hat oder es keinen freien Platz in einem Log-Block im Log-Bereich 213 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 Flashspeichers 210 im Meta-Bereich 214 gespeichert.
  • Die Steuereinheit 220 ist so konfiguriert, dass sie das Speichersystem 200 steuert, wenn das Host-System 100 einen Speicherzugriffsvorgang ausführt. Wie in 4 dargestellt, umfasst die Steuereinheit 220 hierfür eine Steuerlogikschaltung 221 und einen Arbeitsspeicher 222, in welchem die FTL abgelegt ist. Wenn das Host-System 100 einen Speicherzugriffsvorgang initiiert, steuert die Steuerlogikschaltung 221 die FTL.
  • 5 veranschaulicht im Blockdiagramm ein Verfahren zur Durchführung einer Zusammenlegungsoperation im Speichersystem 200 gemäß der Erfindung, bei dem gültige Seiten 511 und 513 eines Log-Blocks 510 mit Blocknummer PBN5 und eine gültige Seite 522 eines Datenblocks 520 mit Blocknummer PBN0 in einen neuen Datenblock 530 mit Blocknummer PBN7 kopiert werden. Speziell werden die Seiten 511 und 513 in Seiten 531 bzw. 533 des Datenblocks 530 kopiert, und die Seite 522 wird in eine Seite 532 des Datenblocks 530 kopiert. Basierend auf den im FAT-Bereich gespeicherten FAT-Informationen 540 wird eine gültige Seite 524 im Datenblock 520 nicht in den Datenblock 530 kopiert.
  • Die FAT-Informationen 540 zeigen an, ob Datenseiten im Datenblock 520 vom Host-System 100 belegt worden sind oder ob die Seiten zum Löschen markiert wurden. Im gezeigten Beispiel sind in Seiten 521, 523 und 525 des Datenblocks 520 keine Daten gespeichert, so dass sie in den FAT-Informationen 540 als nicht belegt bzw. nicht zugewiesen (NA) markiert sind. Andererseits sind in der Seite 522 gültige Daten gespeichert, so dass sie als belegt bzw. zugewiesen (A) markiert ist. In der Seite 524 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 Seite 524 als gelöscht ansieht, wird die Seite 524 bei einer Zusammenlegungsoperation nicht vom Block 520 in den neuen Datenblock 530 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äß den 4 und 5 erläutert wird.
  • Gemäß 6 umfasst das Verfahren die Konvertierung einer physikalischen Seite eines Datenblocks, z.B. des Datenblocks 530, in eine logische Seite (Schritt S610), d.h. es wird eine geeignete logische Adresse zur Verwendung durch das Host-System 100 mit dem Datenblock 520 zugeordnet. Im Schritt S620 werden die im FAT-Bereich 211 gespeicherten FAT-Informationen 540 gelesen. Anschließend wird im Abfrageschritt S630 festgestellt, ob eine mit der logischen Seite im Datenblock 530 korrespondierende Seite im Datenblock 520 gültig ist und ob die Seite im Datenblock 520 gemäß den FAT-Informationen 540 belegt ist.
  • Wenn die Seite im Datenblock 520 gemäß den FAT-Informationen 540 nicht belegt oder zum Löschen markiert ist, wird sie nicht in den Datenblock 530 kopiert. Wenn sie hingegen gemäß den FAT-Informationen 540 gültig und zugewiesen ist, wird sie in den Datenblock 530 kopiert (Schritt S640). Dann wird abgefragt (Schritt S650), ob alle Seiten im Datenblock 520 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 in 5 die Anzahl an gültigen/belegten Seiten im Log-Block 510 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)

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. Speichersystem nach einem der Ansprüche 1 bis 6, weiter dadurch gekennzeichnet, dass der Flashspeicher vom NAND-Typ ist.
  8. Speichersystem nach einem der Ansprüche 1 bis 7, weiter dadurch gekennzeichnet, dass der Flashspeicher und die Steuereinheit in einer Speicherkarte angeordnet sind.
  9. 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.
  10. Verfahren nach Anspruch 9, weiter dadurch gekennzeichnet, dass vor dem Lesen der Dateizuweisungstabelleninformationen eine Seite des zweiten Blocks in eine logische Seite konvertiert wird.
  11. 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.
  12. 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.
  13. 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.
  14. 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.
  15. 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.
  16. 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.
DE102006003261A 2005-02-04 2006-01-19 Speichersystem und Verfahren zur Datenzusammenführung Ceased DE102006003261A1 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
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