DE102006005876A1 - Flashspeicher-Steuervorrichtung, Vorrichtung zum Steuern eines Flashspeichers, Flashspeicher-System und Verfahren zum Verwalten von Abbildungsdaten eines Flashspeichers - Google Patents

Flashspeicher-Steuervorrichtung, Vorrichtung zum Steuern eines Flashspeichers, Flashspeicher-System und Verfahren zum Verwalten von Abbildungsdaten eines Flashspeichers Download PDF

Info

Publication number
DE102006005876A1
DE102006005876A1 DE102006005876A DE102006005876A DE102006005876A1 DE 102006005876 A1 DE102006005876 A1 DE 102006005876A1 DE 102006005876 A DE102006005876 A DE 102006005876A DE 102006005876 A DE102006005876 A DE 102006005876A DE 102006005876 A1 DE102006005876 A1 DE 102006005876A1
Authority
DE
Germany
Prior art keywords
flash memory
flash
access
memory
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
DE102006005876A
Other languages
English (en)
Inventor
Jin-Hyuk Kim
Young-Yoon Seongnam Choi
Chan-Ik Park
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 DE102006005876A1 publication Critical patent/DE102006005876A1/de
Ceased legal-status Critical Current

Links

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63CSKATES; SKIS; ROLLER SKATES; DESIGN OR LAYOUT OF COURTS, RINKS OR THE LIKE
    • A63C17/00Roller skates; Skate-boards
    • A63C17/01Skateboards
    • A63C17/014Wheel arrangements
    • A63C17/016Wheel arrangements with wheels arranged in one track
    • 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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63CSKATES; SKIS; ROLLER SKATES; DESIGN OR LAYOUT OF COURTS, RINKS OR THE LIKE
    • A63C17/00Roller skates; Skate-boards
    • A63C17/004Roller skates; Skate-boards with auxiliary wheels not contacting the riding surface during steady riding
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63CSKATES; SKIS; ROLLER SKATES; DESIGN OR LAYOUT OF COURTS, RINKS OR THE LIKE
    • A63C17/00Roller skates; Skate-boards
    • A63C17/0046Roller skates; Skate-boards with shock absorption or suspension system
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63CSKATES; SKIS; ROLLER SKATES; DESIGN OR LAYOUT OF COURTS, RINKS OR THE LIKE
    • A63C17/00Roller skates; Skate-boards
    • A63C17/10Roller skates; Skate-boards with endless tracks
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63CSKATES; SKIS; ROLLER SKATES; DESIGN OR LAYOUT OF COURTS, RINKS OR THE LIKE
    • A63C2203/00Special features of skates, skis, roller-skates, snowboards and courts
    • A63C2203/20Shock or vibration absorbing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Die vorliegende Erfindung betrifft eine Flashspeicher-Steuervorrichtung, eine Vorrichtung zum Steuern eines Flashspeichers, ein Flashspeicher-System und ein Verfahren zum Verwalten von Abbildungsdaten eines Flashspeichers. DOLLAR A Eine erfindungsgemäße Flashspeicher-Steuervorrichtung umfasst eine Speicherheinheit (440), die zum Speichern einer Mehrzahl von Flash-Translationsschichten (FTL1-FTLn) ausgebildet ist, und eine Steuereinheit (420), die elektrisch mit der Speicherheinheit (440) gekoppelt ist, wobei die Steuereinheit (420) dazu ausgebildet ist, eine der Mehrzahl von Flash-Translationsschichten (FTL1-FTLn) in Abhängigkeit von einem Bestimmen eines Flashspeicher-Zugriffsmusters, das wenigstens einer angelegten Speicherzugriffsanforderung zugeordnet ist, auszuwählen und wobei die Steuereinheit (420) weiterhin zum Verwalten eines Abbildens von Daten auf ein Flashspeicherelement auf der Grundlage der aus der Vielzahl von Flash-Translationsschichten (FTL1-FTLn) ausgewählten Flash-Translationsschicht ausgebildet ist.

Description

  • Die vorliegende Erfindung betrifft eine Flashspeicher-Steuervorrichtung, eine Vorrichtung zum Steuern eines Flashspeichers, ein Flashspeicher-System und ein Verfahren zum Verwalten von Abbildungsdaten eines Flashspeichers.
  • Vielfältige Arten von Personal-Computern, beispielsweise Desktop-Computer für Büros und Laptop-Computer für mobile Anwendungen, sind für den geschäftlichen und persönlichen Gebrauch entwickelt worden. Ein Computersystem kann einen Hauptspeicher und eine externe Speichervorrichtung beinhalten. Die externe Speichervorrichtung kann sich durch eine große Speicherkapazität und einen niedrigen Stückpreis auszeichnen. Externe Speichervorrichtungen umfassen ein herkömmliches Festplattenlaufwerk (HDD) und ein Floppy-Disk-Laufwerk (FDD), das mit einem Platten-Speichermedium verwendet wird. Allgemein bietet Plattenspeicherung eine große Speicherkapazität zu einem niedrigen Preis, erfordert jedoch unter Umständen aufwändige mechanische Techniken zum Durchführen unterschiedlicher Operationen, z. B. Suchen auf der Platte, mit einem Magnetkopf. Auf diese Weise kann die Speicherplatte durch physikalische Einwirkungen zerstört werden, was sie weniger zuverlässig als andere Arten von Speichervorrichtungen macht. Externe Halbleiter-Speichervorrichtungen, die einen Flashspeicher verwenden, beispielsweise Flash-Electrically-Erasable-Programmable-Read-Only-Memory (EEPROM), schaffen eine ausführbare Alternative zur Plattenspeicherung in beliebigen Umgebungen. Flashspeicher-Vorrichtungen sind nicht-flüchtige Speichervorrichtungen, die mehr als einmal programmierbar sind. Darüber hinaus besitzen Flashspeicher-Vorrichtungen relativ einfache Strukturen, die bei niedrigen Kosten herstellbar sind. Da eine Flashspeicher-Vorrichtung nur wenig Energie verbraucht und kompakt, leicht und weniger anfällig gegenüber physikalischen Einwirkungen ist, sind Flashspeicher-Vorrichtungen oftmals für mobile Anwendungen geeignet. Ein Nachteil bei der Verwendung einer Flashspeicher-Vorrichtung betrifft das Erfordernis, dass eine Löschoperation vor einer Programmieroperation durchgeführt werden sollte. Ein weiterer Nachteil betrifft das Erfordernis der Verwendung hoher Spannungen (z. B. 12 V oder 20 V) zum Durchführen von Löschoperationen.
  • Ein Hostprozessor kann auf eine externe Speichervorrichtung zugreifen, indem er eine logische Adresse erzeugt. Die logische Adresse verweist auf einen beliebigen Ort in einem logischen Speicherbereich, der durch Host-Software, d. h. ein Betriebssystem oder eine Anwendung, erkannt wird. Eine logische Adresse wird in eine physikalische Adresse umgewandelt, die einem physikalischen Speicherplatz einer externen Speichervorrichtung entspricht. Im Allgemeinen benötigt eine externe Speichervorrichtung, die Flashspeicher verwendet, zusätzliche Software, die als Disk-Emulations-Software bezeichnet wird, um während eines Zugriffsvorgangs die Kompatibilität mit dem Host zu gewährleisten. Die Kompatibilität zwischen Host und der externen Flash-Speichervorrichtung kann erreicht werden, indem ein herkömmliches Dateisystem, wie eine Flash-Translationsschicht (FTL), ausgeführt wird. In diesem Fall erkennt der Hostprozessor die externe Flash-Speichervorrichtung als eine HDD bzw. einen SDRAM und greift in derselben Weise auf die externe Flash-Speichervorrichtung zu, wie auf eine/einen HDD/SDRAM. Die FTL verbindet eine Flash-Speicherkarte mit einem Dateisystem, das in einem bestimmten Betriebssystem verwendet wird, und verhindert mehr als ein einmaliges Schreiben an dieselbe Adresse ohne vorheriges Löschen.
  • Die FTL-Funktionen umfassen die Verwaltung der Abbildung von logischen Adressen auf physikalische Adressen, die Verwaltung fehlerhafter Blöcke, die Verwaltung der Datenerhaltung bei unvorhergesehener Unterbrechung der Energieversorgung sowie die Verwaltung von Verschleiß. Die Kernfunktion unter den FTL-Funktionen betrifft die Adressabbildung. Beispielhafte Adress-Abbildungsschemata sind in dem US-Patent Nr. 5,404,485 mit dem Titel „Flash File System", dem US-Patent Nr. 5,937,425 mit dem Titel „Flash File System Optimized for Page-Mode Flash Technologies", und dem US-Patent Nr. 6,381,176 mit dem Titel „Method of Driving Remapping in Flash Memory and Flash Memory Architecture Suitable Therefore" dargelegt, deren Offenbarungen hiermit durch Bezugnahme zum Gegenstand der vorliegenden Anmeldung gemacht werden.
  • In dem Fall, dass auf einen Flashspeicher auf der Grundlage von Blöcken zugegriffen wird, ist der Flashspeicher in eine Mehrzahl von Blöcken unterteilt. Eine Zahl, die als eine physikalische Blocknummer bezeichnet wird, wird jedem der Blöcke sequentiell zugewiesen, und eine virtuelle Nummer für einen Block, von dem ein Benutzer annimmt, dass er gerade verwendet wird, wird logische Blocknummer genannt. Ein Verfahren zum Abbilden der logischen Blocknummer auf eine physikalische Blocknummer beinhaltet (i) ein Block-Abbildungsschema, (ii) ein Sektor- (oder Seiten-)Abbildungsschema und (iii) ein Log-Abbildungsschema. In einer FTL, die ein Abbildungsschema verwendet, können Daten mit logisch aufeinander folgenden Adressen an physikalisch unterschiedlichen Orten eingetragen sein. Da ein Flashspeicher eine Löscheinheit besitzt, die größer als eine Schreibeinheit oder eine Programmiereinheit ist, ist es dann, wenn das Schreiben an unterschiedlichen physikalischen Orten ein vorbestimmtes Maß erreicht, erforderlich, aufeinander folgende Daten, die an physikalisch unterschiedlichen Orten verteilt sind, in einem gemeinsamen Adressraum zu sammeln, indem ein freier Block verwendet wird. Dieser Vorgang wird Vereinigen oder Zusammenführen (herging) genannt.
  • Merging-Operationen, die das vorstehend genannte Block-Abbildungsschema, Sektor-Abbildungsschema und Log-Abbildungsschema verwen den, werden nun detailliert beschrieben. Vor der Beschreibung der Merging-Operationen sei vorliegend angenommen, dass ein Flashspeicher in eine Mehrzahl von Speicherblöcken unterteilt ist und dass jeder Speicherblock aus einer Mehrzahl von Seiten oder Sektoren gebildet ist. Ein Bezeichner „PBN" steht für eine physikalische Blocknummer und ein Bezeichner „PPN" bezeichnet eine physikalische Seitennummer, während ein Bezeichner „LPN" für eine logische Seitennummer steht.
  • BLOCK-ABBILDUNGSSCHEMA
  • Merging-Operationen unter Verwendung eines Block-Abbildungsschemas werden vorliegend unter Bezugnahme auf 1 beschreiben. Gemäß dem Block-Abbildungsschema werden Daten, wenn sie in einem beliebigen Speicherblock abgespeichert werden, der Reihe nach in den Seiten des Speicherblocks abgelegt. Wenn beispielsweise Daten auf der i-ten Seite (d.h. PPNi) eines Speicherblocks mit einer physikalischen Blocknummer „2" (d.h. PBN2) aktualisiert oder erneut eingetragen werden, werden auf den anderen Seiten, mit Ausnahme der i-ten Seite PPNi, gespeicherte Daten, für die die Aktualisierung angefordert wurde, in entsprechende Seiten eines leeren Blocks kopiert, welcher als freier Speicherblock bezeichnet ist (z. B. PBN3). Anschließend werden die in der Seite PPNi des Speicherblocks PBN2 zu speichernden Daten in die entsprechende i-te Seite des Speicherblocks PBN3 aktualisiert/erneut eingetragen. Anschließend wird der gesamte Speicherblock PBN2 gelöscht und wird zu einem freien Speicherblock. In dem Block-Abbildungsschema sollte eine Merging-Operation immer dann durchgeführt werden, wenn neue Daten in eine Seite aktualisiert werden, die alte Daten enthält. Eine Blockabbildung von Daten zwischen einer physikalischen Blocknummer und einer logischen Blocknummer wird typischerweise unter Verwendung einer Block-Abbildungstablle gesteuert.
  • SEKTOR-(SEITEN)ABBILDUNGSSCHEMA
  • Eine Merging-Operation unter Verwendung eines Sektor-Abbildungsschemas wird vorliegend unter Bezugnahme auf 2A und 2B beschrieben. Gemäß dem Seiten- (oder Sektor-)Abbildungsschema werden Daten sequentiell in Seiten eines Speicherblocks geschrieben. Vorliegend hat eine Seite dieselbe Größe wie ein Sektor, jedoch ist es für den Fachmann selbstverständlich, dass eine Seite aus einer Mehrzahl von Sektoren gebildet sein kann. Beispielsweise sind Daten einer logischen Seite LPN0 in einer physikalischen Seite PPN0 gespeichert, und Daten einer logischen Seite LPN1 sind in einer physikalischen Seite PPN1 gespeichert. Daten in einer logischen Seite LPN2 sind in einer physikalischen Seite PPN2 gespeichert. Wenn erste Daten in einer logischen Seite LPN1 aktualisiert werden sollen, werden diese ersten Daten in einer physikalischen Seite PPN3 gespeichert, und die physikalische Seite PPN1 wird aktualisiert, sodass sie keine Daten speichert, was in 2A als „X" markiert ist. Des Weiteren werden dann, wenn Daten in einer logischen Seite LPN0 aktualisiert werden sollen, die zweiten Daten in einer physikalischen Seite PPN4 gespeichert, und die physikalische Seite PPN0 wird aktualisiert, sodass sie keine Daten speichert, was in 2A mit „X" markiert ist. Wenn ein alle Seiten betreffender Schreibvorgang durchgeführt wird, d. h. wenn keine freie Seite in dem Speicherblock PBN0 existiert, wird die Merging-Operation durchgeführt, wenn das Schreiben in den Speicherblock PBN0 angefordert wird. Wie in 2A gezeigt, werden nur gültige Daten des Speicherblocks PBN0 (d. h. physikalische Seiten PPN2–PPN5) in entsprechende Seiten PPN10–PPN13 eines freien Speicherblocks PBN1 kopiert. Anschließend werden die Daten einer logischen Seite LPN0 in dem Speicherblock PBN1, für die der Schreibvorgang angefordert wurde, in einer physikalischen Seite PPN14 des freien Speicherblocks PBN1 gespeichert. Die physikalische Seite PPN0 des Speicherblocks PBN1 wird dann so bearbeitet, dass sie keine Daten speichert, was in 2A mit „X" markiert ist. Anschließend wird der physikalische Speicherblock PBN10 gelöscht. Eine Abbildungstabelle wird modifiziert, wie in 2B gezeigt, und die modifizierte Abbildungstabelle wird durch eine Flash-Translationsschicht (FTL) gesteuert.
  • LOG-ABBILDUNGSSCHEMA
  • Eine Merging-Operation unter Verwendung eines Log-Abbildungsschemas wird vorliegend detailliert unter Bezugnahme auf 3A3C beschrieben. Gemäß dem Log-Abbildungsschema, wie in 3A gezeigt, sind Speicherblöcke in einen Daten-Bereich, einen Log-Bereich und einen Meta-Bereich unterteilt, und eine Tabelle mit Abbildungsdaten wird durch eine FTL verwaltet. In dem Log-Abbildungsschema sind einige Speicherblöcke des Daten-Bereichs als die Speicherblöcke eines Log-Bereichs ausgewählt. Beispielsweise sei angenommen, dass ein Flashspeicher neun Speicherblöcke PBN0–PBN8 aufweist. Wenn die Speicherblöcke noch nicht verwendet werden, sind Speicherblöcke PBN0–PBN4 als der Daten-Bereich definiert, Speicherblöcke PBN5–PBN7 sind als der Log-Bereich definiert, und ein Speicherblock PBN8 ist als der Meta-Bereich definiert. Vorliegend sind die Speicherblöcke PBN0 und PBN2 des Daten-Bereichs als die Speicherblöcke PBN5 und PBN6 des Log-Bereichs ausgewählt, und ein Speicherblock PBN7 des Log-Bereichs ist als ein freier Speicherblock ausgewählt. Abbildungsdaten bzw. die Datenabbildung zwischen Speicherblöcken, Abbildungsdaten bzw. die Datenabbildung zwischen dem Speicher-Bereich und dem Log-Bereich und Abbildungsdaten bzw. die Datenabbildung des Log-Bereichs werden in einer Block-Abbildungstabelle, einer Log-Block-Abbildungstabelle bzw. einer Log-Abbildungstabelle verwaltet. Jeder Speicherblock ist aus einer Mehrzahl von Seiten oder einer Mehrzahl von Sektoren gebildet.
  • Wenn Daten in einen Speicherblock PBN0 geschrieben werden sollen, werden die Daten nicht direkt in den Speicherblock PBN0 geschrieben, sondern in einem Speicherblock PBN5 des Log-Bereichs gespeichert, der dem Speicherblock PBN0 entspricht. Wenn beispielsweise Daten, die einer logischen Seite LPN2 entsprechen, in einen Speicherblock PBN0 geschrieben werden sollen, werden die Daten in eine physikalische Seite PBN0 des Speicherblocks PBN5 des Log-Bereichs geschrieben. In gleicher Weise werden dann, wenn einer logischen Seite LPN0 entsprechende Daten in den Speicherblock PBN0 geschrieben werden sollen, die Daten in eine physikalische Seite PBN1 des Speicherblocks PBN5 des Log-Bereichs geschrieben. Wenn Daten in den Speicherblock PBN1 geschrieben werden sollen, wird das nachfolgend beschriebene Merging-Verfahren durchgeführt, da ein dem Speicherblock PBN1 entsprechender Speicherblock des Log-Bereichs ausgewählt ist. Zunächst wird bestimmt, ob ein freier Speicherblock in dem Log-Bereich oder in dem Daten-Bereich existiert. Wenn es einen freien Speicherblock in dem Log-Bereich gibt, wie in 3B dargestellt, werden gültige Daten, die in einem beliebigen Speicherblock gespeichert sind, beispielsweise einem Speicherblock PBN5 als Teilmenge der Speicherblöcke PBN5 und PBN6 des Log-Bereichs, in einen freien Speicherblock PBN7 kopiert. Anschließend werden gültige Daten, die in dem Speicherblock PBN0 des Daten-Bereichs gespeichert sind, welcher dem Speicherblock PBN5 entspricht, in den Speicherblock PBN7 kopiert/transferiert. Der Kopiervorgang ist in 3B dargestellt. Nachdem die Speicherblöcke PBN0 und PBN5 gelöscht wurden, wie in 3C dargestellt, wird der Speicherblock PBN5 des Log-Bereichs als der freie Speicherblock ausgewählt, und der Speicherblock PBN0 des Daten-Bereichs wird als ein Speicherblock des Log-Bereichs ausgewählt, während der Speicherblock PBN7 als ein Speicherblock des Daten-Bereichs ausgewählt wird. Schließlich werden die in den Speicherblock PBN1 zu schreibenden Daten in den Speicherblock PBN0 des Log-Bereichs geschrieben. Die Abbildungsdaten der Block-Abbildungstabelle, der Log-Block-Abbildungstabelle und der Log-Abbildungstabelle werden durch eine FTL gesteuert und sind in dem Meta-Bereich PBN8 gespeichert.
  • Da das Seiten-Abbildungsschema die Datenabbildung bzw. die Abbildungsdaten auf Seitenbasis steuert, ergibt sich ein Nachteil, weil typischerweise eine große Abbildungstabelle erforderlich ist, wohingegen kleine Datenmengen vorteilhafter Weise leicht geschrieben werden können. Das Log-Abbildungsschema hat den Nachteil, dass das Merging immer dann durchgeführt werden sollte, wenn eine kleine Datenmenge in unterschiedliche Datenblöcke zu schreiben ist, während große Datenmengen vorteilhafter Weise leicht geschrieben werden können. Des Weiteren besitzt das Log-Abbildungsschema den Vorteil, dass es eine relative kleine Abbildungstabelle verglichen mit dem Seiten-Abbildungsschema besitzt.
  • Allgemein verwaltet ein Flashspeicher-System, das einen Flashspeicher als Speichermedium besitzt, den Flashspeicher unter Verwendung einer einzigen FTL. Flashspeicher haben verschiedene Zugriffsmuster: Ein Muster, bei dem ein Teil des in einem Speicherblock gespeicherten Inhalts aktualisiert wird, und ein Muster, bei dem alle freien Speicherblöcke für neue Inhalte verwendet werden. Da jedoch unterschiedliche Zugriffsmuster durch nur eine einzige FTL verarbeitet werden, kann die Leistung des gesamten Systems herabgesetzt sein.
  • Der Erfindung liegt das technische Problem zu Grunde, eine Flashspeicher-Steuervorrichtung, eine Vorrichtung zum Steuern eines Flashspeichers, ein Flashspeicher-System und ein Verfahren zum Verwalten von Abbildungsdaten eines Flashspeicher anzugeben, welche eine Beeinträchtigung der Leistung des gesamten Systems vermeiden.
  • Die Erfindung löst das Problem durch Schaffen einer Flashspeicher-Steuervorrichtung mit den Merkmalen des Patentanspruchs 1 oder 8, einer Vorrichtung zum Steuern eines Flashspeichers mit den Merkmalen des Patentanspruchs 10, eines Flashspeicher-Systems mit den Merkmalen des Pa tentanspruchs 19 und eines Verfahrens zum Verwalten von Abbildungsdaten eines Flashspeichers mit den Merkmalen des Patentanspruchs 28.
  • Vorteilhafte Ausgestaltungen der Erfindung sind Gegenstand der Unteransprüche, deren Wortlaut hiermit durch Bezugnahme zum Gegenstand der Beschreibung gemacht wird, um unnötige Textwiederholungen zu vermeiden.
  • Vorteilhafte Ausgestaltungen der Erfindung, wie nachfolgend im Detail beschrieben, und die oben zur Erleichterung des Verständnisses der Erfindung erörterten Ausgestaltungen des Standes der Technik sind in den Zeichnungen dargestellt. Es zeigt/zeigen:
  • 1 bis 3C Diagramme zur Darstellung allgemeiner Abbildungsschemata,
  • 4 ein Blockdiagramm zum Beschreiben eines Flashspeicher-Systems gemäß Ausgestaltungen der vorliegenden Erfindung,
  • 5A und 5B Diagramme zum Beschreiben von Flash-Translationsschichten von Speicherbereichen gemäß einer Abbildungsvorschrift der vorliegenden Erfindung,
  • 6 ein Diagramm zur Darstellung eines Bestimmungsvorgangs einer in 4 gezeigten Steuervorrichtung bei einer Zugriffsanforderung von einem Host,
  • 7 ein Diagramm zur Darstellung von Flash-Translationsschichten von Speicherbereichen, wenn die Abbildungsvorschrift mit zwei Flash-Translationsschichten auf eine xD-Karte gemäß einer Ausgestaltung der vorliegenden Erfindung angewendet wird,
  • 8 ein Flussdiagramm zur Darstellung eines Verfahrens zum Bestimmen einer Flash-Translationsschicht gemäß der Abbildungsvorschrift in 7,
  • 9 ein Diagramm zur Darstellung von Flash-Translationsschichten von Speicherbereichen, wenn die Abbildungsvorschrift mit zwei Flash-Translationsschichten auf eine xD-Karte gemäß einer Ausgestaltung der vorliegenden Erfindung angewendet wird, und
  • 10 ein Flussdiagramm zur Darstellung eines Verfahrens zum Bestimmen einer Flash-Translationsschicht gemäß der Abbildungsvorschrift in 9.
  • Gleiche Bezugszeichen beziehen sich durchgehend auf gleiche Elemente, und Signalleitungen sowie darauf übertragene Signale können mit denselben Bezugszeichen versehen sein. Signale können auch synchronisiert und/oder einfachen Booleschen Operationen (z. B. Invertierung) unterzogen werden, ohne als unterschiedliche Signale angesehen zu werden.
  • 4 ist ein Blockdiagramm zur Darstellung eines Flashspeicher-Systems 1000 gemäß einer Ausgestaltung der vorliegenden Erfindung. Bezug nehmend auf 4 weist das Flashspeicher-System 1000 gemäß der vorliegenden Erfindung einen Host-Prozessor 200, eine Steuervorrichtung 400 und einen Flashspeicher 600 auf. Die Steuervorrichtung 400 ist dazu ausgebildet, den Flashspeicher 600 bei einer Zugriffsanforderung durch den Host-Prozessor 200 zu steuern. Die Steuervorrichtung 400 ist dazu ausgebildet, eine Mehrzahl von Flash-Translationsschichten FTL1-FTLn zu spei chern, und sie bestimmt, ob die Zugriffsanforderung durch den Host-Prozessor 200 auf einen Bereich des Flashspeichers 600 gerichtet ist. Die Steuervorrichtung 400 wählt eine der Flash-Translationsschichten gemäß dem Bestimmungsergebnis aus und verwaltet das Abbilden von Daten auf den Flashspeicher 600 auf der Grundlage der ausgewählten Flash-Translationsschicht.
  • Mit anderen Worten, das Flashspeicher-System 1000 der vorliegenden Erfindung verwaltet den Flashspeicher 600 nicht unter Verwendung nur einer einzigen Flash-Translationsschicht. Stattdessen verwaltet das Flashspeicher-System 1000 den Flashspeicher 600 unter Verwendung von wenigstens zwei Flash-Translationsschichten. Daher wählt das Flashspeicher-System 1000 der vorliegenden Erfindung immer dann, wenn eine Zugriffsanforderung von dem Host-Prozessor 200 vorliegt, eine für die Zugriffsanforderung geeignete Flash-Translationsschicht aus und verwaltet anschließend den Flashspeicher 600 in effizienter Weise auf der Grundlage des Zugriffsmusters.
  • Wie in 4 dargestellt, weist die Steuervorrichtung 400 eine Steuereinheit 420 und eine Speichereinheit 440 auf. Die Speichereinheit 440 speichert unterschiedliche Flash-Translationsschichten, und die Steuereinheit 420 bestimmt, welches Zugriffsmuster durch den Host 200 angefordert wurde, und wählt eine beliebige der in dem Speicher 440 gespeicherten Flash-Translationsschichten FTL1-FTLn auf der Grundlage des Bestimmungsergebnisses aus. Dieses Verfahren wird immer dann durchgeführt, wenn ein Zugriff auf den Flashspeicher 600 durch den Host-Prozessor 200 angefordert wurde. Um ein Beispiel zu geben sei angenommen, dass Flash-Translationsschichten unter Verwendung eines Block-Abbildungsschemas, eines Seiten-Abbildungsschemas und eines Log-Abbildungsschemas in der Speichereinheit 440 gespeichert sind. Wie zuvor beschrieben, ist das Seiten-Abbildungsschema nützlich, wenn eine kleine Datenmenge geschrieben werden soll, hat jedoch den Nachteil, dass es eine relativ große Abbildungstabelle erfordert, wenn eine große Datenmenge geschrieben werden soll. Im Gegensatz hierzu ist das Log-Abbildungsschema nützlich, wenn eine große Datenmenge geschrieben werden soll, es hat jedoch einen Nachteil, der dadurch bedingt ist, dass wiederholt ein Merging durchgeführt wird, wenn eine kleine Datenmenge geschrieben werden soll. Jedoch ist es mit der Steuervorrichtung 400 möglich, eine Beeinträchtigung der Leistung des gesamten Systems zu vermeiden, indem für jede Anforderung eine geeignete Flash-Translationsschicht verwendet wird, z. B. eine zufällige Einzelschreibanforderung (für kleine Datenmengen) und eine sequentielle Schreibanforderung (für große Datenmengen).
  • Die Steuervorrichtung 400 der vorliegenden Erfindung kann das Zugriffsmuster in vielfältiger Weise bestimmen. Zunächst kann das Zugriffsmuster aus Zugriffsinformationen bestimmt werden, die von dem Host-Prozessor 200 empfangen wurden. Wenn ein Dateisystem mit Datei-Zuordnungstabelle (File-Allocation-Table, FAT) verwendet wird, wird allgemein eine große Menge von Dateidaten in Form einer sequentiellen Schreibanforderung an die Steuervorrichtung 400 übertragen, wohingegen Aktualisierungsdaten für die FAT als eine zufällige Einzelschreibanforderung an die Steuervorrichtung 400 übertragen wird. Da die FAT-Daten in einem speziellen Bereich des Flashspeichers 600 gespeichert sind, lässt sich das Zugriffsmuster erkennen, indem bestimmt wird, ob die gegenwärtige Adressanforderung einem Schreibvorgang der FAT-Daten entspricht.
  • Im Falle einer xD-Karte enthalten die zu schreibenden Daten logische Adressinformationen. Auf diese Weise kann das Zugriffsmuster ermittelt werden, indem die logischen Adressinformationen aus den eintreffenden Daten extrahiert werden, die von dem Host-Prozessor empfangen werden. Wenn die extrahierten logischen Adressinformationen eine Adresse zum Speichern der FAT-Daten darstellen, wurde die gegenwärtige Zugriffsanforde rung als eine zufällige Einzelschreibanforderung bestimmt. Anderenfalls wird dann, wenn die extrahierten logischen Adressinformationen keine Adresse zum Speichern der FAT-Daten darstellen, die gegenwärtige Zugriffsanforderung als eine sequentielle Schreibanforderung bestimmt.
  • Abweichend von der vorstehend beschriebenen Bestimmungsmethode ist es auch möglich, die am Besten geeignete Flash-Translationsschicht auszuwählen, indem immer dann Zugriffsmuster gesammelt werden, wenn eine Zugriffsanforderung vorliegt. Es ist beispielsweise möglich, Informationen dahingehend zu sammeln, ob häufig zufällige Einzelschreibanforderungen vorliegen oder ob häufig sequentielle Schreibanforderungen in einem beliebigen Bereich vorliegen, und eine Flash-Translationsschicht auf der Grundlage der gesammelten Informationen auszuwählen. Des Weiteren ist es möglich, eine Flash-Translationsschicht auf der Grundlage von von außen zur Verfügung gestellter Informationen auszuwählen (z. B. Informationen betreffend das Muster des gegenwärtigen Zugriffs).
  • Es sei angenommen, dass der Flashspeicher 600 eine Mehrzahl von Speicherblöcken enthält und dass die Speicherblöcke in wenigstens einen ersten Speicherbereich und einen zweiten Speicherbereich unterteilt sind. Es sei auch angenommen, dass Daten in dem ersten Speicherbereich auf eine zufällige Einzelschreibanforderung hin gespeichert werden. Gemäß diesen Annahmen, wie in 5A gezeigt, können Abbildungsdaten des ersten Speicherbereichs durch eine erste Flash-Translationsschicht FTL1 verwaltet werden, während die Abbildungsdaten des zweiten Speicherbereichs durch eine zweite Flash-Translationsschicht FTL2 verwaltet werden können. Die ersten und zweiten Flash-Translationsschichten FTL1 und FTL2 folgen unterschiedlichen Abbildungsschemata. Um ein Beispiel zu geben, folgt die erste Flash-Translationsschicht FTL1 dem Seiten-Abbildungsschema, und die zweite Flash-Translationsschicht FTL2 folgt dem Log-Abbildungsschema, oder umgekehrt. Des Weiteren kann der Flashspeicher 600 in drei oder mehr Speicherbereiche unterteilt sein, und jeder Speicherbereich kann, wie in 5B gezeigt, durch eine Flash-Translationsschicht mit einer anderen Abbildungsvorschrift verwaltet werden.
  • Folglich, wie in 6 dargestellt, bestimmt die Steuervorrichtung 400 dann, wenn eine Zugriffsanforderung durch den Host-Prozessor 200 vorliegt, das Zugriffsmuster und selektiert eine geeignete Flash-Translationsschicht gemäß dem Bestimmungsergebnis. Die Abbildungsdaten des Flashspeichers werden dann durch die selektierte Flash-Translationsschicht verwaltet.
  • 7 ist ein beispielhaftes Diagramm zur Darstellung einer Feldarchitektur eines erfindungsgemäßen Flashspeichers, der gemäß einer Ausgestaltung der vorliegenden Erfindung in einer xD-Karte enthalten ist. Im Falle einer xD-Speicherkarte enthält ein Feld des Flashspeichers eine Mehrzahl von Zonen Zone0, Zone1, Zone2, ..., ZoneN. Jede Zone ist durch eine Mehrzahl von Speicherblöcken gebildet. Die xD-Karte verwendet ein Smart-Media-Dateisystem (Smart-Media-File-System, SMFS), welches einen Block-Schreibvorgang unterstützt. Kurz gesagt, der Host-Prozessor führt Schreibvorgänge auf der Grundlage von Blöcken durch. In der xD-Karte ist ein FAT-Dateisystem auf der Grundlage von Kapazität definiert, und die FAT sollte in der ersten Zone Zone0 angeordnet sein, die aus einer Gesamtanzahl von 1024 Speicherblöcken gebildet ist. Auf diese Weise werden die FAT-Daten immer nur innerhalb der ersten Zone Zone0 transferiert. Wenn neue Daten in die Karte geschrieben werden, werden nicht alle Daten der FAT-Tabelle aktualisiert, sondern nur ein Teil der Daten in der FAT werden aktualisiert. Beispielsweise werden, obwohl FAT-Daten in wenigstens einem Speicherblock gespeichert sind, veränderte Daten nur in einem Teil des Speicherblocks aktualisiert. Im Gegensatz hierzu werden Bilddaten in der xD-Karte auf einer Blockbasis gespeichert. Mit anderen Worten, wenn Bilddaten eingegeben werden, werden die eingegebenen Bilddaten in den gesamten Speicherblock geschrieben.
  • In der xD-Karte, auf welche die Abbildungsvorschrift der vorliegenden Erfindung angewendet wird, wie in 7 dargestellt, wird eine erste Flash-Translationsschicht FTL1 auf die erste Zone Zone0 angewendet, während eine zweite Flash-Translationsschicht FTL2 (z. B. eine Flash-Translationsschicht mit dem Log-Abbildungsschema), die sich von der ersten Flash-Translationsschicht FTL1 unterscheidet (z. B. eine Flash-Translationsschicht mit dem Seiten-Abbildungsschema), auf die anderen Zonen angewendet wird. Da, wie oben beschrieben, nicht alle FAT-Daten sondern nur ein Teil der Daten aktualisiert wird, ist es nützlich, eine Datenabbildung bzw. Abbildungsdaten der ersten Zone Zone0 zu verwalten, indem die Flash-Translationsschicht unter Verwendung des Seiten-Abbildungsschemas auf die erste Zone Zone0 angewendet wird. Dies ist dadurch begründet, dass die veränderten Inhalte der FAT in einer freien Seite bzw. freien Seiten desselben Speicherblocks innerhalb des Seiten-Abbildungsschemas ohne Merging aktualisiert werden. Wenn alle Seiten eines beliebigen Block benutzt wurden, werden ausschließlich gültige Daten in einen neuen Speicherblock kopiert, und die veränderten Inhalte der FAT werden in der freien Seite bzw. den freien Seiten desselben Speicherblocks (d. h. des neu ausgewählten Speicherblocks) aktualisiert. Hierbei sind die kopierten Daten die zuletzt aktualisierten Daten.
  • Im Gegensatz hierzu wird eine Flash-Translationsschicht mit einem Log-/Block-Abbildungsschema auf die anderen Zonen angewendet. Dies geschieht deshalb, da bei Eingabe von Bilddaten nur die Abbildungstabelle aktualisiert wird, um einen Log-Block ohne Merging als einen Datenblock zu bestimmen, d.h. einen Speicherblock des Log-Bereichs, in den Daten geschrieben werden, nachdem die eingegebenen Daten in den Log-Block geschrieben wurden. Es ist für den Fachmann offensichtlich, dass die Flash-Translationsschicht, die das Block-Abbildungsschema anstelle des Log-Abbildungsschemas verwendet, auf die anderen Zonen Zone1, Zone2, ..., ZoneN mit Ausnahme der ersten Zone Zone0 angewendet werden kann. In diesem Fall werden aufgrund der Tatsache, dass der Schreibvorgang auf Blockbasis durchgeführt wird, die eingegebenen Bilddaten sequentiell in einen oder mehrere Speicherblöcke einer entsprechenden Zone geschrieben. In gleicher Weise wird dann, wenn neue Bilddaten geschrieben werden, nur die Block-Abbildungstabelle ohne Merging aktualisiert.
  • Bezug nehmend auf 8, welche ein Flussdiagramm zum Verdeutlichen eines Vorgangs zum Verwalten des Flashspeichers des Flashspeicher-Systems mit der Abbildungsvorschrift gemäß 7 darstellt, wird zunächst in einem Schritt S100 ein Zugriff auf den Flashspeicher 600 durch den Host-Prozessor 200 angefordert. In einem Schritt S120 bestimmt die Steuervorrichtung 400 das Muster des gegenwärtig angeforderten Zugriffs. Aus Gründen der Beschreibungserleichterung sei angenommen, dass die erste Flash-Translationsschicht FTL1 das Seiten-Abbildungsschema verwendet, während die zweite Flash-Translationsschicht FTL2 das Log-Abbildungsschema verwendet. Des Weiteren sei angenommen, dass die Steuervorrichtung 400 ein beliebiges der vorstehend beschriebenen Bestimmungsverfahren verwendet, beispielsweise ein Verfahren zum Bestimmen des Zugriffsmusters auf der Grundlage von logischen Adressinformationen, die in den zu schreibenden Daten enthalten sind. Folglich extrahiert die Steuervorrichtung 400 die logischen Adressinformationen aus den eingegebenen Daten, wenn ein Zugriff angefordert wird, und ermittelt, ob die extrahierten logischen Adressinformationen zum Bestimmen der FAT-Daten dienen. Kurz gesagt, es wird ermittelt, ob der gegenwärtig angeforderte Zugriff ein Zugriff auf die erste Zone Zone0 ist. Wenn der gegenwärtig angeforderte Zugriff ein Zugriff auf die erste Zone Zone0 ist, verwaltet die Steuervorrichtung 400 in einem Schritt S140 die Abbildungsdaten des Flashspeichers 600 auf der Grundlage der ersten, in der Speichereinheit 440 gespeicherten Flash-Translationsschicht FTL1. Wenn der gegenwärtig angeforderte Zugriff kein Zugriff auf die erste Zone Zone0 ist, verwaltet die Steu ervorrichtung 400 in einem Schritt S160 die Abbildungsdaten des Flashspeichers 600 auf der Grundlage der zweiten, in der Speichereinheit 440 gespeicherten Flash-Translationsschicht FTL2. Die oben genannten Schritte S120 bis S160 werden immer dann wiederholt, wenn ein Zugriff durch den Host-Prozessor 200 angefordert wird.
  • Wie oben beschrieben, verringert sich die Anzahl der während des Merging zu kopierenden gültigen Seiten aufgrund der Tatsache, dass nur die neuesten Daten in der FAT gültig sind, auf eine Zahl, die so klein ist wie der FAT-Bereich. Dies bedeutet, dass nicht nur die Frequenz eines Ausführens von Merging-Operationen, verringert, sondern auch die Merging-Zeit eingespart werden kann. Auf diese Weise lässt sich vermeiden, dass die Leistung des gesamten Systems abnimmt, indem die FAT der ersten Zone Zone0 unter Verwendung des Seiten-Abbildungsschemas verwaltet wird.
  • Abweichend von der Abbildungsvorschrift in 7 kann nicht nur ein Abbildungsschema auf die erste Zone Zone0 angewendet werden, sondern es können auch zwei Abbildungsschemata auf die erste Zone Zone0 angewendet werden, welche die FAT-Daten speichert. Beispielsweise wird gemäß 9 eine Flash-Translationsschicht FTL1 unter Verwendung des Seiten-Abbildungsschemas auf einen ersten Bereich der ersten Zone Zone0 angewendet, während eine Flash-Translationsschicht FTL2 unter Verwendung des Block- oder Log-Abbildungsschemas auf einen zweiten Bereich der ersten Zone Zone0 angewendet wird. Auf die anderen Zonen Zone1, Zone2, ..., ZoneN wird eine Flash-Translationsschicht FTL3 angewendet, die ein Abbildungsschema verwendet, das dem zweiten Bereich der ersten Zone Zone0 entspricht oder sich von diesem unterscheidet (d. h. ein Block-Abbildungsschema, ein Log-Abbildungsschema oder ein Seiten-Abbildungsschema). In dem ersten Bereich der ersten Zone werden die FAT-Daten gespeichert, und in dem zweiten Bereich und den anderen Zonen werden Bilddaten gespeichert.
  • Bezug nehmend auf 10, die ein Flussdiagramm zum Beschreiben eines Vorgangs zum Verwalten von Abbildungsdaten des Flashspeichers in dem Flashspeicher-System mit der Abbildungsvorschrift gemäß 9 darstellt, wird in einem Schritt S200 ein Zugriff auf den Flashspeicher 600 durch den Host-Prozessor 200 angefordert. In einem Schritt S220 bestimmt die Steuervorrichtung 400 das Muster des gegenwärtig angeforderten Zugriffs. Zur Erleichterung der Beschreibung sei angenommen, dass die erste Flash-Translationsschicht FTL1 das Seiten-Abbildungsschema verwendet, dass die zweite Flash-Translationsschicht FTL2 das Log-/Block-Abbildungsschema verwendet und dass die dritte Flash-Translationsschicht FTL3 das Block-/Log-Abbildungsschema verwendet. Des Weiteren sei angenommen, dass die Steuervorrichtung 400 eine beliebige der vorstehend genannten Bestimmungsmethoden verwendet, beispielsweise ein Verfahren zum Bestimmen des Zugriffsmusters auf der Grundlage von logischen Adressinformationen, die in den zu schreibenden Daten enthalten sind. Somit extrahiert die Steuervorrichtung 400 die logischen Adressinformationen aus den eingegebenen Daten, wenn ein Zugriff angefordert wird, und ermittelt, ob die extrahierten logischen Adressinformationen zum Bestimmen der FAT-Daten bestimmt sind. Kurz gesagt, es wird ermittelt, ob der gegenwärtig angeforderte Zugriff ein Zugriff auf die erste Zone Zone0 ist. Wenn der gegenwärtig angeforderte Zugriff kein Zugriff auf die erste Zone Zone0 ist, verwaltet die Steuervorrichtung 400 in einem Schritt S240 die Abbildung von Daten des Flashspeichers 600 auf der Grundlage der dritten Flash-Translationsschicht FTL3, die in der Speichereinheit 440 gespeichert ist. Wenn der gegenwärtig angeforderte Zugriff ein Zugriff auf die erste Zone Zone0 ist, bestimmt die Steuervorrichtung 400 in einem Schritt S260, ob der gegenwärtig angeforderte Zugriff ein Zugriff auf den FAT-Bereich ist. Wenn der gegenwärtig angeforderte Zugriff ein Zugriff auf den FAT-Bereich ist, verwaltet die Steuervorrichtung 400 in Schritt einem S280 die Abbildung von Daten eines ersten Bereichs der ersten Zone Zone0 auf der Grundlage der ersten, in dem Speicher 440 gespeicherten Flash-Translationsschicht FTL1. Wenn der gegenwärtig angeforderte Zugriff kein Zugriff auf den FAT-Bereich ist, verwaltet die Steuervorrichtung 400 in einem Schritt S300 die Datenabbildung bzw. die Abbildungsdaten eines zweiten Bereichs der ersten Zone Zone0 auf der Grundlage der zweiten Flash-Translationsschicht FTL2, die in dem Speicher 440 gespeichert ist. Die vorstehend beschriebenen Schritte S220 bis S300 werden immer dann wiederholt, wenn ein Zugriff durch den Host-Prozessor 200 angefordert wird.
  • Gemäß der Abbildungsvorschrift wird nach aufeinander folgenden Bilddaten der FAT-Bereich nicht gebracht, und die FAT-Daten werden an unabhängiger Stelle aktualisiert. Auf diese Weise verschwindet die durch den FAT-Bereich hervorgerufene Diskontinuität, und die Frequenz von Merging-Operationen, die ebenfalls durch den FAT-Bereich bedingt sind, wird spürbar reduziert. Insbesondere kann die Anzahl von während einer Merging-Operation zu kopierenden gültigen Seiten auf eine Zahl reduziert werden, die so klein wie der FAT-Bereich ist, da nur die neuesten Daten in der FAT gültig sind. Dies bedeutet, dass nicht nur die Merging-Frequenz, sondern auch die für die Merging-Operation verbrauchte Zeit reduziert werden kann. Auf diese Weise kann eine Verschlechterung der Leistung des gesamten Systems vermieden werden, indem die FAT-Tabelle auf der Grundlage des Seiten-Abbildungsschemas verwaltet wird.
  • Obwohl die Abbildungsvorschrift der vorliegenden Erfindung beispielhaft anhand einer Speicherkarte beschrieben wurde, ist es für den Fachmann offensichtlich, dass die vorliegende Erfindung nicht auf eine solche Ausgestaltung beschränkt ist. Wie hinreichend bekannt ist, sollte ein System, das einen Flashspeicher verwendet, notwendigerweise eine Flash-Translationsschicht verwenden. Auf diese Weise kann die Abbildungsvorschrift der vorliegenden Erfindung auf das System angewendet werden. Beispielsweise kann die Abbildungsvorschrift der vorliegenden Erfindung auf einen Halblei ter-Solid-State-Disk-Controller zum Steuern eines Flashspeichers zu Speicherzwecken angewendet werden. Obwohl Speicherbereiche, auf die unterschiedliche Flash-Translationsschichten angewendet werden, auf der Grundlage der Datenmenge unterteilt sind, ist es für den Fachmann offensichtlich, dass die Speicherbereiche auf der Grundlage anderer Bedingungen unterteilt sein können. Wie vorstehend beschrieben, kann die Technologie der vorliegenden Erfindung verhindern, dass die Leistung des gesamten Systems sich verschlechtert, indem eine geeignete Flash-Translationsschicht aus einer Mehrzahl von Flash-Translationsschichten auf der Grundlage eines Zugriffsmusters ausgewählt wird und indem Abbildungsdaten verwaltet werden.

Claims (31)

  1. Flashspeicher-Steuervorrichtung aufweisend: eine Speichereinheit (440), die zum Speichern einer Mehrzahl von Flash-Translationsschichten (FTL1-FTLn) ausgebildet ist, und eine Steuereinheit (420), die elektrisch mit der Speichereinheit (440) gekoppelt ist, wobei die Steuereinheit (420) dazu ausgebildet ist, eine der Mehrzahl von Flash-Translationsschichten (FTL1-FTLn) in Abhängigkeit von einem Bestimmen eines Flashspeicher-Zugriffsmusters, das wenigstens einer angelegten Speicherzugriffsanforderung zugeordnet ist, auszuwählen und wobei die Steuereinheit (420) weiterhin zum Verwalten eines Abbildens von Daten auf ein Flashspeicherelement auf der Grundlage der aus der Vielzahl von Flash-Translationsschichten (FTL1-FTLn) ausgewählten Flash-Translationsschicht ausgebildet ist.
  2. Flashspeicher-Steuervorrichtung nach Anspruch 1, dadurch gekennzeichnet, dass die Steuereinheit weiterhin dazu ausgebildet ist, logische Adressinformationen aus Daten zu extrahieren, die mit der wenigstens einen angelegten Speicherzugriffsanforderung an die Flashspeicher-Steuervorrichtung angelegt sind, und dass das Bestimmen eines Flashspeicher-Zugriffsmusters ein Bestimmen eines Flashspeicher-Zugriffsmusters aus den extrahierten logischen Adressinformationen beinhaltet.
  3. Flashspeicher-Steuervorrichtung nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die Steuereinheit weiter zum Sammeln von Zugriffsinformationen aus der wenigstens einen angelegten Speicherzugriffsanforderung ausgebildet ist, und dass das Bestimmen eines Flashspeicher-Zugriffsmusters ein Bestimmen eines Flashspeicher-Zugriffsmusters unter Verwendung der gesammelten Zugriffsinformationen beinhaltet.
  4. Flashspeicher-Steuervorrichtung nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass jede der Mehrzahl von Flash-Translationsschichten auf einen jeweiligen Speicherbereich innerhalb des Flashspeicherelements abbildet.
  5. Flashspeicher-Steuervorrichtung nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass eine erste der Mehrzahl von Flash-Translationsschichten einem Seiten-Abbildungsschema entspricht und eine zweite der Mehrzahl von Flash-Translationsschichten einem Abbildungsschema entspricht, das aus einer Gruppe ausgewählt ist, die aus einem Log-Abbildungsschema und einem Block-Abbildungsschema besteht.
  6. Flashspeicher-Steuervorrichtung nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass die Speichereinheit und die Steuereinheit innerhalb einer Flashspeicherkarte angeordnet sind.
  7. Flashspeicher-Steuervorrichtung nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass die Speichereinheit und die Steuereinheit innerhalb eines Solid-State-Disk-Controllers angeordnet sind.
  8. Flashspeicher-Steuervorrichtung, aufweisend: eine Speichereinheit (440), die zum Speichern einer Mehrzahl von Flash-Translationsschichten (FTL1-FTLn) ausgebildet ist, und eine Steuereinheit (420), die elektrisch mit der Speichereinheit (440) gekoppelt ist, wobei die Steuereinheit (420) dazu ausgebildet ist, eine der Mehrzahl von Flash-Translationsschichten (FTL1-FTLn) in Abhängigkeit von einem Extrahieren logischer Adressinformationen aus durch die Flashspeicher-Steuervorrichtung empfangenen Daten und einem Bestimmen eines Flashspeicher-Zugriffsmusters aus den extrahierten logischen Adressinformationen auszuwählen.
  9. Flashspeicher-Steuervorrichtung nach Anspruch 8, dadurch gekennzeichnet, dass die Steuereinheit weiterhin dazu ausgebildet ist, das Abbilden von Daten auf ein Flashspeicherelement auf der Grundlage der aus der Mehrzahl von Flash-Translationsschichten ausgewählten Flash-Translationsschicht zu verwalten.
  10. Vorrichtung zum Steuern eines Flashspeichers, aufweisend: einen Speicher (600) zum Speichern einer Mehrzahl von Flash-Translationsschichten (FTL1-FTLn), und einen Steuerblock, der bei einer externen Zugriffsanforderung zum Bestimmen eines Musters des Zugriffs, zum Auswählen einer der in dem Speicher gespeicherten Flash-Translationsschichten auf der Grundlage des Bestimmungsergebnisses und zum Verwalten von Abbildungsdaten des Flashspeichers auf der Grundlage der ausgewählten Flash-Translationsschicht (FTL1-FTLn) ausgebildet ist.
  11. Vorrichtung nach Anspruch 10, dadurch gekennzeichnet, dass der Steuerblock logische Adressinformationen aus eingegebenen Daten extrahiert, wenn der Zugriff angefordert ist, und das Zugriffsmuster auf der Grundlage der extrahierten logischen Adressinformationen bestimmt.
  12. Vorrichtung nach Anspruch 10 oder 11, dadurch gekennzeichnet, dass der Steuerblock die Zugriffsmuster-Informationen immer dann sammelt, wenn ein Zugriff angefordert ist, und das Zugriffsmuster des Flashspeichers auf der Grundlage der gesammelten Zugriffsmuster-Informationen bestimmt.
  13. Vorrichtung nach einem der Ansprüche 10 bis 12, dadurch gekennzeichnet, dass der Steuerblock das Zugriffsmuster auf der Grundlage von Zugriffsinformationen bestimmt, die von außen eingegeben werden, wenn der Zugriff angefordert wird.
  14. Vorrichtung nach einem der Ansprüche 10 bis 13, dadurch gekennzeichnet, dass der Flashspeicher eine Mehrzahl von Speicherbereichen beinhaltet, die einzelnen Flash-Translationsschichten entsprechen, und dass Abbildungsdaten jedes Speicherbereichs durch eine zugehörige Flash-Translationsschicht verwaltet werden.
  15. Vorrichtung nach einem der Ansprüche 10 bis 14, dadurch gekennzeichnet, dass der Flashspeicher in wenigstens einen ersten Speicherbereich und einen zweiten Speicherbereich unterteilt ist und dass der Speicher eine erste Flash-Translationsschicht zum Verwalten von Abbildungsdaten des ersten Speicherbereichs und eine zweite Flash-Translationsschicht zum Verwalten von Abbildungsdaten des zweiten Speicherbereichs beinhaltet.
  16. Vorrichtung nach einem der Ansprüche 10 bis 15, dadurch gekennzeichnet, dass die erste Flash-Translationsschicht ein Seiten-Abbildungsschema verwendet und dass die zweite Flash-Translationsschicht entweder ein Log- oder ein Block-Abbildungsschema verwendet.
  17. Vorrichtung nach einem der Ansprüche 10 bis 16, dadurch gekennzeichnet, dass der Flashspeicher und die Vorrichtung zum Steuern des Flashspeichers in einer Speicherkarte enthalten sind.
  18. Vorrichtung nach einem der Ansprüche 10 bis 17, dadurch gekennzeichnet, dass die Vorrichtung zum Steuern des Flashspeichers in einem Halbleiter-Solid-State-Disk-Controller enthalten ist.
  19. Flashspeicher-System, aufweisend: einen Host (200), einen Flashspeicher (600) mit einer Mehrzahl von Speicherbereichen, und eine Steuervorrichtung (400), die wenigstens zwei Flash-Translationsschichten (FTL1-FTLn) speichert, wobei die Steuervorrichtung (400) bei jedem durch den Host (200) angeforderten Zugriff ein Muster des Zugriffs auf der Grundlage von durch den Host (200) bereit gestellten Zugriffsinformationen bestimmt, eine der Flash-Translationsschichten (FTL1-FTLn) auf der Grundlage des bestimmten Zugriffsmusters auswählt und Abbildungsdaten für die Speicherbereiche in dem Flashspeicher auf der Grundlage der ausgewählten Flash-Translationsschicht (FTL1-FTLn) verwaltet.
  20. Flashspeicher-System nach Anspruch 19, dadurch gekennzeichnet, dass die Steuervorrichtung aufweist: einen Speicher zum Speichern der Flash-Translationsschichten, und einen Steuerblock zum Bestimmen des Zugriffsmusters auf der Grundlage der Zugriffsinformationen, zum Auswählen einer der Flash-Translationsschichten auf der Grundlage des bestimmten Zugriffsmusters und zum Verwalten von Abbildungsdaten für die Speicherbereiche des Flashspeichers auf der Grundlage der ausgewählten Flash-Translationsschicht.
  21. Flashspeicher-System nach Anspruch 19 oder 20, dadurch gekennzeichnet, dass der Steuerblock logische Adressinformationen aus eingegebenen Daten extrahiert, wenn der Zugriff angefordert wird, und das Zugriffsmuster auf der Grundlage der extrahierten logischen Adressinformationen bestimmt.
  22. Flashspeicher-System nach einem der Ansprüche 19 bis 21, dadurch gekennzeichnet, dass der Steuerblock die Zugriffsmuster-Informationen sammelt, immer wenn ein Zugriff angefordert ist, und das Zugriffsmuster des Flashspeichers auf der Grundlage der gesammelten Zugriffsmuster-Informationen bestimmt.
  23. Flashspeicher-System nach einem der Ansprüche 19 bis 22, dadurch gekennzeichnet, dass der Steuerblock das Zugriffsmuster auf der Grundlage von Zugriffsinformationen bestimmt, die von außen eingegeben werden, wenn der Zugriff angefordert wird.
  24. Flashspeicher-System nach einem der Ansprüche 19 bis 23, dadurch gekennzeichnet, dass die erste Flash-Translationsschicht der Flash-Translationsschichten ein Seiten-Abbildungsschema verwendet und dass die zweite Flash-Translationsschicht der Flash-Translationsschichten entweder ein Log- oder ein Block-Abbildungsschema verwendet.
  25. Flashspeicher-System nach einem der Ansprüche 19 bis 24, dadurch gekennzeichnet, dass Abbildungsdaten einiger der Speicherbereiche durch die erste Flash-Translationsschicht verwaltet werden und dass Abbildungsdaten der anderen Bereiche durch die zweite Flash-Translationsschicht verwaltet werden.
  26. Flashspeicher-System nach einem der Ansprüche 19 bis 25, dadurch gekennzeichnet, dass der Flashspeicher und die Steuervorrichtung eine Speicherkarte bilden.
  27. Flashspeicher-System nach einem der Ansprüche 19 bis 26, dadurch gekennzeichnet, dass das Flashspeicher-System ein Halbleiter-Solid-State-Disk-Controller ist.
  28. Verfahren zum Verwalten von Abbildungsdaten eines Flashspeichers (600), mit den Schritten: a) Bestimmen eines Zugriffsmusters, immer wenn ein Zugriff auf den Flashspeicher (600) angefordert wird, b) Auswählen einer von mehreren Flash-Translationsschichten (FTL1-FTLn) auf der Grundlage des bestimmten Zugriffsmusters, und c) Verwalten der Abbildungsdaten des Flashspeichers (600) auf der Grundlage der ausgewählten Flash-Translationsschicht (FTL1-FTLn).
  29. Verfahren nach Anspruch 28, dadurch gekennzeichnet, dass Schritt a) die Schritte beinhaltet: a1) Extrahieren logischer Adressinformationen aus bei der Zugriffsanforderung eingegebenen Daten, und a2) Bestimmen des Musters des angeforderten Zugriffs auf der Grundlage der extrahierten logischen Adressinformationen.
  30. Verfahren nach Anspruch 28 oder 29, dadurch gekennzeichnet, dass der Schritt a) die Schritte beinhaltet: a3) Sammeln von Zugriffsmuster-Informationen, immer wenn ein Zugriff angefordert wird, und a4) Bestimmen des Musters des Zugriffs auf den Flashspeicher auf der Grundlage der gesammelten Zugriffsmuster-Informationen.
  31. Verfahren nach einem der Ansprüche 28 bis 30, dadurch gekennzeichnet, dass das Zugriffsmuster auf der Grundlage von Zugriffsinformationen bestimmt wird, die von außen eingegeben werden, wenn der Zugriff angefordert wird.
DE102006005876A 2005-02-07 2006-02-06 Flashspeicher-Steuervorrichtung, Vorrichtung zum Steuern eines Flashspeichers, Flashspeicher-System und Verfahren zum Verwalten von Abbildungsdaten eines Flashspeichers Ceased DE102006005876A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2005-0011300 2005-02-07
KR1020050011300A KR100684942B1 (ko) 2005-02-07 2005-02-07 복수의 사상 기법들을 채용한 적응형 플래시 메모리 제어장치 및 그것을 포함한 플래시 메모리 시스템

Publications (1)

Publication Number Publication Date
DE102006005876A1 true DE102006005876A1 (de) 2006-09-14

Family

ID=36781209

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102006005876A Ceased DE102006005876A1 (de) 2005-02-07 2006-02-06 Flashspeicher-Steuervorrichtung, Vorrichtung zum Steuern eines Flashspeichers, Flashspeicher-System und Verfahren zum Verwalten von Abbildungsdaten eines Flashspeichers

Country Status (5)

Country Link
US (1) US8117374B2 (de)
JP (1) JP4988215B2 (de)
KR (1) KR100684942B1 (de)
CN (1) CN1828555B (de)
DE (1) DE102006005876A1 (de)

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007013372A1 (ja) * 2005-07-29 2007-02-01 Matsushita Electric Industrial Co., Ltd. メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム及び不揮発性メモリのアドレス管理方法
KR100845552B1 (ko) * 2006-12-18 2008-07-10 (재)대구경북과학기술연구원 Ftl의 어드레스 매핑 방법
WO2008084489A1 (en) * 2007-01-08 2008-07-17 Ashok Vishwanath Sathe System of actuation of drive coupling to engage and disengage the drive to rotary tool holders
JP2008181243A (ja) * 2007-01-23 2008-08-07 Hitachi Ltd ストレージシステムのキャッシュパーティション領域の設定を制御するデータベース管理システム
US8560760B2 (en) * 2007-01-31 2013-10-15 Microsoft Corporation Extending flash drive lifespan
KR100823171B1 (ko) * 2007-02-01 2008-04-18 삼성전자주식회사 파티션된 플래시 변환 계층을 갖는 컴퓨터 시스템 및플래시 변환 계층의 파티션 방법
JP4241839B2 (ja) * 2007-02-02 2009-03-18 ソニー株式会社 データ及びファイルシステム情報の記録装置及び記録方法
KR100881052B1 (ko) * 2007-02-13 2009-01-30 삼성전자주식회사 플래시 메모리의 매핑 테이블 검색 시스템 및 그에 따른검색방법
US7657572B2 (en) 2007-03-06 2010-02-02 Microsoft Corporation Selectively utilizing a plurality of disparate solid state storage locations
TWI338856B (en) * 2007-03-09 2011-03-11 Ite Tech Inc A flash memory storing device and a data storing method thereof
KR101447188B1 (ko) * 2007-07-31 2014-10-08 삼성전자주식회사 플래시 메모리에 최적화된 입출력 제어 방법 및 장치
EP2225643B1 (de) * 2007-12-28 2020-05-06 Toshiba Memory Corporation Halbleiterspeicherelement
KR101465789B1 (ko) * 2008-01-24 2014-11-26 삼성전자주식회사 페이지 복사 횟수를 줄일 수 있는 메모리 카드 시스템의쓰기 및 병합 방법
US8307180B2 (en) 2008-02-28 2012-11-06 Nokia Corporation Extended utilization area for a memory device
KR101067457B1 (ko) 2008-03-01 2011-09-27 가부시끼가이샤 도시바 메모리 시스템
JP4592774B2 (ja) * 2008-03-01 2010-12-08 株式会社東芝 メモリシステム
JP4653817B2 (ja) * 2008-03-01 2011-03-16 株式会社東芝 メモリシステム
KR101017067B1 (ko) * 2008-04-08 2011-02-25 재단법인서울대학교산학협력재단 낸드 플래시 메모리를 위한 지역성 기반의 가비지 컬렉션기법
JP2009301491A (ja) * 2008-06-17 2009-12-24 Tdk Corp メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
KR101086857B1 (ko) * 2008-07-25 2011-11-25 주식회사 팍스디스크 데이터 머지를 수행하는 반도체 스토리지 시스템의 제어 방법
KR100965051B1 (ko) 2008-10-01 2010-06-21 서울시립대학교 산학협력단 플래시 메모리 장치를 위한 가변 공간 페이지 사상 방법 및그 장치
EP2189895A1 (de) 2008-11-24 2010-05-26 Deutsche Thomson OHG Flash-basierter Speicher, der eine Flash-Übersetzungsschicht umfasst, und Verfahren zum Speichern einer Datei darin
US8874824B2 (en) 2009-06-04 2014-10-28 Memory Technologies, LLC Apparatus and method to share host system RAM with mass storage memory RAM
US8364931B2 (en) * 2009-06-29 2013-01-29 Mediatek Inc. Memory system and mapping methods using a random write page mapping table
KR20110018157A (ko) * 2009-08-17 2011-02-23 삼성전자주식회사 플래시 메모리 장치의 액세스 방법
US8285920B2 (en) 2010-07-09 2012-10-09 Nokia Corporation Memory device with dynamic controllable physical logical mapping table loading
CN102339255B (zh) * 2010-07-16 2014-04-23 安凯(广州)微电子技术有限公司 一种Nand写平衡处理方法
US20120317377A1 (en) * 2011-06-09 2012-12-13 Alexander Palay Dual flash translation layer
DE102012111829B4 (de) 2011-12-06 2024-10-10 Samsung Electronics Co., Ltd. Speichersysteme und Blockkopierverfahren davon
KR101893145B1 (ko) 2011-12-06 2018-10-05 삼성전자주식회사 메모리 시스템들 및 그것들의 블록 복사 방법들
US9311226B2 (en) 2012-04-20 2016-04-12 Memory Technologies Llc Managing operational state data of a memory module using host memory in association with state change
US9183136B2 (en) 2012-05-16 2015-11-10 Hitachi, Ltd. Storage control apparatus and storage control method
US20130311700A1 (en) * 2012-05-20 2013-11-21 Chung-Jwu Chen Extending Lifetime For Non-volatile Memory Apparatus
WO2014123372A1 (ko) * 2013-02-07 2014-08-14 서울대학교 산학협력단 증명 가능하고 정확한 오류 복구를 위한 플래시 변환 계층 설계 프레임워크
US9448928B2 (en) * 2013-04-26 2016-09-20 Oracle International Corporation System and method for two-tier adaptive heap management in a virtual machine environment
US20150160873A1 (en) * 2013-12-10 2015-06-11 Memory Technologies Llc Filesystem tuned firmware for storage modules
US9846567B2 (en) 2014-06-16 2017-12-19 International Business Machines Corporation Flash optimized columnar data layout and data access algorithms for big data query engines
US10049042B2 (en) 2014-09-22 2018-08-14 Hitachi, Ltd. Storage device, semiconductor memory device, and method for controlling same
US9952808B2 (en) 2015-03-26 2018-04-24 International Business Machines Corporation File system block-level tiering and co-allocation
US9898200B2 (en) 2016-02-18 2018-02-20 Samsung Electronics Co., Ltd Memory device having a translation layer with multiple associative sectors
US10235198B2 (en) * 2016-02-24 2019-03-19 Samsung Electronics Co., Ltd. VM-aware FTL design for SR-IOV NVME SSD
US10089243B2 (en) * 2016-02-25 2018-10-02 SK Hynix Inc. Memory controller and system including variable address mapping tables and a fixed address mapping table
US10642497B2 (en) 2016-08-31 2020-05-05 International Business Machines Corporation System, method and computer program product for instantiating blocks of a solid-state disk to include different flash characteristics
KR102340094B1 (ko) * 2017-03-31 2021-12-17 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작 방법
US10810133B1 (en) 2017-11-15 2020-10-20 Amazon Technologies, Inc. Address translation and address translation memory for storage class memory
US10754789B1 (en) 2017-11-15 2020-08-25 Amazon Technologies, Inc. Address translation for storage class memory in a system that includes virtual machines
US10762137B1 (en) * 2017-11-15 2020-09-01 Amazon Technologies, Inc. Page table search engine
US11030106B2 (en) 2019-06-18 2021-06-08 Western Digital Technologies, Inc. Storage system and method for enabling host-driven regional performance in memory
CN110471861B (zh) * 2019-07-10 2022-02-11 华为技术有限公司 一种闪存设备中的数据存储方法及闪存设备
US11086786B2 (en) 2019-12-09 2021-08-10 Westem Digital Technologies, Inc. Storage system and method for caching a single mapping entry for a random read command
US11860791B2 (en) * 2020-04-24 2024-01-02 Netapp, Inc. Methods for managing input-output operations in zone translation layer architecture and devices thereof
US11537325B2 (en) 2020-11-17 2022-12-27 Western Digital Technologies, Inc. Storage system and method for token provisioning for faster data access
US11755495B2 (en) * 2021-03-16 2023-09-12 Micron Technology, Inc. Storing a logical-to-physical mapping in NAND memory
US11734189B2 (en) * 2021-03-16 2023-08-22 Micron Technology, Inc. Caching of logical-to-physical mapping information in a memory sub-system
CN114327272B (zh) * 2021-12-28 2024-08-09 苏州大普微电子科技有限公司 一种数据处理方法、固态硬盘控制器及固态硬盘
US12105621B2 (en) * 2022-08-31 2024-10-01 Micron Technology, Inc. Logical to physical (L2P) address mapping with fast L2P table load times
CN116303120A (zh) * 2022-12-14 2023-06-23 超聚变数字技术有限公司 确定闪存转换层ftl算法的方法及设备
CN117931728B (zh) * 2024-01-24 2024-09-27 无锡众星微系统技术有限公司 一种片上存储器及其访问方法

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2251323B (en) * 1990-12-31 1994-10-12 Intel Corp Disk emulation for a non-volatile semiconductor memory
DE69320900T3 (de) * 1992-08-13 2007-04-26 Matsushita Electric Industrial Co., Ltd., Kadoma IC-Karte mit hierarchischer Dateienstruktur
EP0613151A3 (de) * 1993-02-26 1995-03-22 Tokyo Shibaura Electric Co Halbleiterspeichersystem mit Flash-EEPROM.
US5537585A (en) 1994-02-25 1996-07-16 Avail Systems Corporation Data storage management for network interconnected processors
US6014724A (en) * 1995-10-27 2000-01-11 Scm Microsystems (U.S.) Inc. Flash translation layer block indication map revision system and method
JP3197815B2 (ja) * 1996-04-15 2001-08-13 インターナショナル・ビジネス・マシーンズ・コーポレ−ション 半導体メモリ装置及びその制御方法
JP3524428B2 (ja) 1999-04-20 2004-05-10 東京エレクトロンデバイス株式会社 記憶装置、記憶システム、メモリ管理方法及び記録媒体
JP4439096B2 (ja) 2000-08-28 2010-03-24 株式会社東芝 メモリカード及び同カードに適用されるアドレス変換方法
JP2001142774A (ja) * 1999-11-11 2001-05-25 Toshiba Corp メモリカード及び同カードに適用されるアドレス変換方法
JP2001243110A (ja) * 1999-12-20 2001-09-07 Tdk Corp メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリへのアクセス方法
JP3719897B2 (ja) 2000-02-29 2005-11-24 富士通株式会社 データ転送装置、データ転送方法及び記録媒体
US7155559B1 (en) 2000-08-25 2006-12-26 Lexar Media, Inc. Flash memory architecture with separate storage of overhead and user data
KR100389867B1 (ko) 2001-06-04 2003-07-04 삼성전자주식회사 플래시 메모리 관리방법
US6704852B2 (en) 2001-11-16 2004-03-09 Key Technology Corporation Control device applicable to flash memory card and method for building partial lookup table
US7085879B2 (en) * 2002-02-27 2006-08-01 Microsoft Corporation Dynamic data structures for tracking data stored in a flash memory device
US7533214B2 (en) * 2002-02-27 2009-05-12 Microsoft Corporation Open architecture flash driver
KR100484147B1 (ko) 2002-07-26 2005-04-18 삼성전자주식회사 플래시 메모리 관리 방법
KR100914646B1 (ko) * 2002-08-31 2009-08-28 지인정보기술 주식회사 멀티-플레인 구조의 플래시 메모리 관리 방법
JP2004208246A (ja) 2002-12-20 2004-07-22 Hagiwara Sys-Com:Kk フラッシュメモリー制御方法、デジタルカメラ
US8041878B2 (en) * 2003-03-19 2011-10-18 Samsung Electronics Co., Ltd. Flash file system
CN1266614C (zh) * 2003-04-29 2006-07-26 大唐移动通信设备有限公司 一种在Flash文件系统中加快逻辑块映射速度的方法
JP2005084479A (ja) 2003-09-10 2005-03-31 Matsushita Electric Ind Co Ltd 撮像レンズおよび撮像ユニットおよび光学機器
EP1517504B1 (de) * 2003-09-19 2007-01-24 Sun Microsystems, Inc. Verfahren und Vorrichtung zur Protokollverarbeitung in Computersystemen unter Verwendung der Übersetzung von Speicheradressen
KR100608602B1 (ko) * 2003-12-10 2006-08-03 삼성전자주식회사 플래시 메모리, 이를 위한 사상 제어 장치 및 방법
KR20060007667A (ko) * 2004-07-20 2006-01-26 엘지전자 주식회사 플래시 메모리 관리 방법과 장치 및 그 구조
KR100706242B1 (ko) * 2005-02-07 2007-04-11 삼성전자주식회사 메모리 시스템 및 그것의 런 단위 어드레스 매핑 테이블 구성 방법

Also Published As

Publication number Publication date
US8117374B2 (en) 2012-02-14
CN1828555B (zh) 2013-03-20
KR20060090087A (ko) 2006-08-10
CN1828555A (zh) 2006-09-06
KR100684942B1 (ko) 2007-02-20
JP4988215B2 (ja) 2012-08-01
US20060179212A1 (en) 2006-08-10
JP2006221627A (ja) 2006-08-24

Similar Documents

Publication Publication Date Title
DE102006005876A1 (de) Flashspeicher-Steuervorrichtung, Vorrichtung zum Steuern eines Flashspeichers, Flashspeicher-System und Verfahren zum Verwalten von Abbildungsdaten eines Flashspeichers
DE102005019842B4 (de) System und Verfahren zum sequentiellen Schreiben von Daten in einen Flash-Speicher
DE602005001041T2 (de) Speicherauszugssystem
DE60038364T2 (de) Computersystem und Speicherauszugsdatenverwaltungsverfahren
DE60217883T2 (de) Verfahren zum schreiben von daten in einen nicht-flüchtigen speicher
DE69534363T2 (de) Verfahren um Festplatten zu einer Festplattenanordnung hinzuzufügen und gleichzeitig die Datenerreichbarkeit zu gewährleisten
DE102006003261A1 (de) Speichersystem und Verfahren zur Datenzusammenführung
DE69715203T2 (de) Ein Datenverarbeitungssystem mit cc-NUMA (cache coherent, non-uniform memory access) Architektur und im lokalen Speicher enthaltenem Cache-Speicher für Fernzugriff
DE60025749T2 (de) Dateisystemabbildübertragung zwischen ungleichen dateisystemen
DE2226382C3 (de) Datenverarbeitungsanlage mit mehreren Prozessoren und diesen zugeordneten Pufferspeichern
DE69533077T2 (de) Speichersystem mit hierarchischer Speicherplattenanordnung und Abbildungsspeicher zur Dauerspeicherung der virtuellen Abbildungsinformation
DE69623407T2 (de) Verfahren zur Überprüfung der Blockzuordnung eines Flash-Speichers mit Übersetzungsschicht
DE69726088T2 (de) Methode und Apparat zur Speicherverwaltung
DE60319407T2 (de) Verfolgen der am häufigsten gelöschten blöcke eines nichtflüchtigen speichersystems
DE102004013114B4 (de) Plattenarrayvorrichtung
DE69127752T2 (de) System zur freigabe des raumes gelöschter dateien für ein dynamisch abbildendes virtuelles datenspeichersubsystem
DE102005063250A1 (de) Datenspeicherungssteuersystem, Speicher- und Rechnersystem und Betriebsverfahren
DE69033540T2 (de) Verfahren zur Verwaltung von in Familien aufgeteilten mehrfachen virtuellen Speichern und entsprechende Struktur
DE102009019271A1 (de) Übertragen von Sequenzzahlen für das Wiederherstellen nach Stromausfall bei einem nichtflüchtigen Speicher
DE602004002674T2 (de) Speichersystem und Verfahren zur Erfassung und Verwendung von Schnappschüssen
DE112010003577T5 (de) Datenverwaltung in Halbleiterspeicher-Einheiten und mehrstufigen Speichersystemen
DE102005031525A1 (de) Verfahren und System zur Steuerung eines Flashspeichers und Speichersystem
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
DE102007006307A1 (de) Verfahren zum Betreiben eines nichtflüchtigen Speicherelements, Aufzeichnungsmedium und nichtflüchtigen Speicherelement
DE202010017613U1 (de) Datenspeichervorrichtung mit host-gesteuerter Speicherbereinigung

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
R016 Response to examination communication
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final

Effective date: 20120525