EP1700220A1 - Verfahren zur umsetzung von logischen in reale blockadressen in flashspeichern - Google Patents

Verfahren zur umsetzung von logischen in reale blockadressen in flashspeichern

Info

Publication number
EP1700220A1
EP1700220A1 EP05850471A EP05850471A EP1700220A1 EP 1700220 A1 EP1700220 A1 EP 1700220A1 EP 05850471 A EP05850471 A EP 05850471A EP 05850471 A EP05850471 A EP 05850471A EP 1700220 A1 EP1700220 A1 EP 1700220A1
Authority
EP
European Patent Office
Prior art keywords
memory
real
block number
memory blocks
numbers
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP05850471A
Other languages
English (en)
French (fr)
Inventor
Reinhard KÜHNE
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hyperstone AG
Original Assignee
Hyperstone AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hyperstone AG filed Critical Hyperstone AG
Publication of EP1700220A1 publication Critical patent/EP1700220A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication

Definitions

  • the invention describes a method for managing memory blocks in a nonvolatile memory system with individually erasable memory blocks which can be addressed with real memory block numbers and which are addressable by an address conversion by means of allocator tables from a logical block number into respectively one of the real memory block numbers.
  • Flash memory is used in many computer systems, especially in removable memory cards for digital cameras and portable computers. Flash memories are organized in blocks of memory with many sectors each. Essential features of these memories are that only a limited number of write and delete operations are possible and that deletion is possible only in memory blocks containing multiple sectors. The write and erase operations take much more time (up to a factor of 50) than reading.
  • the conversion of logical memory addresses into real memory addresses is known in flash memory systems, for example from DE 102 27 256 for the uniform wear of real memory blocks or from DE 103 41 616, to manage defective real memory blocks. The memory systems are getting more and more memory capacity, so the memory block addresses are getting longer and the conversion tables from logical to real memory block addresses are getting bigger and bigger.
  • Small memory block sizes about 4 Kbytes, are favorable in order not to make the loss of unused space in the memory blocks too large for file systems with many small files.
  • larger memory blocks of 32 KB to 256 KB are now formed in order to keep the conversion tables correspondingly smaller. It is important to limit the address pointers in the tables to 16 bits in order to be able to carry out the address conversion quickly and efficiently. It is an object of the invention to efficiently manage storage systems of different sizes with uniform table structures with different real memory block sizes.
  • This object is achieved by assigning the logical block number via a first table to a physical memory block number and assigning the physical memory block number to a real memory block number via a second table, one or more physical memory blocks being addressed with a physical memory block number.
  • the second table allocates one or more physical memory blocks to a physical memory block number, the size of the real memory blocks being determined by the
  • Structuring the memory chips used is given. For example, chips with block sizes of 4 Kbytes or with block sizes of 32 Kbytes, 64 Kbytes, 128 Kbytes or even larger real blocks are used.
  • Size of the real memory blocks is performed.
  • the method can thus be used in many different sized storage systems.
  • the management of defective real memory blocks is performed only by means of the second address translation table, by replacing the numbers of defective memory blocks by the numbers of functional memory blocks in the second table.
  • the numbers of defective memory blocks are then carried in unused areas of the second table.
  • the formation of the physical memory blocks in the first address translation table has the advantage that large memory blocks are formed of multiple real memory blocks to which a memory operation is shared, no matter where the real memory blocks are located in the memory chips. This increases the speed of processing the memory operations. The speed of processing the memory operations is further increased when the real memory blocks reside in different memory chips. Then, the memory operations such as "write” or "erase” are performed in parallel in the memory chips (interleaving). In some types of memory chips, a large number of memory blocks are grouped in so-called banks, which are parallel
  • Memory operations can perform. If the physical memory blocks each only consist of real memory blocks which are located in different banks and in different memory chips, the parallel processing of memory operations on all real memory blocks is carried out and a maximum processing speed is achieved.
  • the address translation tables are kept in management-reserved non-volatile real memory blocks. They are thus available even after a power failure. For fast processing of the memory operations, copies of currently required parts of the address translation tables are additionally cached in an internal fast RAM memory.
  • the numbers of the memory blocks reserved for the management of the memory system are not included in the first address translation table. They can not be addressed from outside via logical sector numbers. A small percentage of memory blocks, about 3%, are reserved for the replacement of memory blocks that have become corrupted. Also, the numbers of these real memory blocks are not included in the first address translation table. They can not be addressed from outside via logical sector numbers.
  • Fig. 1 shows a block diagram of a memory system with 12 memory chips.
  • Fig. 2 shows the structure of the two address conversion tables.
  • Fig. 3 shows two examples of the translation of logical addresses into real addresses.
  • FIG. 1 shows a block diagram for a memory system comprising twelve memory chips CO to CI 1 each having a memory capacity of 128 megabytes.
  • the storage system thus has a size of 1.5 gigabytes.
  • Memory operations such as "read” and “write” can be done with logical sectors of 512 bytes each - A -
  • a physical memory block PB now comprises sixteen real memory blocks of the four chips of a superchip, each consisting of four independent banks with a total of 64 Kbytes.
  • the physical block PB is formed in the superchip SCO with the chips CO to C3 each having one real memory block in each of the four by four banks BA0 to BA3. All physical memory blocks of the physical block PB can thus execute a memory operation in parallel.
  • FIGS. 2A and 2B Two examples of address translations are given in FIGS. 2A and 2B.
  • a memory operation is to be performed on the logical sector LSN numbered 127.
  • the logical sector number is divided into the components sector number in a page PN, tuple index TI and logical block number LBN. Since sixteen blocks each having eight sectors are combined into one physical sector, a physical sector number between 0 and 127 results.
  • the real sector numbers in a page are not necessarily continuous, but may have gaps depending on the size of the page.
  • a page has four real sectors and two pages are combined into a real block. Since consecutive pages are arranged in consecutive banks, gaps in the numbering of the real sectors arise in a real block according to the number of banks and chips. In this
  • Bit6 B6 is considered to be the uppermost bit of the real sector number.
  • the physical sector number PSN becomes 127.
  • the bit B6 is used as the fifth bit of the real sector number RSN.
  • the real sector number RSN becomes 31.
  • the logical sector number 1011769 is split.
  • the physical sector number has the value 125.
  • the bit B6 is used as the fifth bit of the real sector number RSN.
  • the real sector number RSN becomes 25.
  • FIG. 3 shows the structure of the two tables LTP and PTR.
  • the logical block number LBN is translated into the address of a physical block consisting of the super chip number SCN and the physical block number PBN.
  • the superchip number is thus 2 bits wide.
  • a physical block number consists of thirteen bits and can therefore assume values from 0 to 8191. To accommodate 32 management blocks and 256 spare blocks each, the values are only up to 7903 and 7935, respectively.
  • the logical block number LBN in this example is 16 bits wide and can take values between 0 and 24319, corresponding to the sum of the physical blocks of the three super chips SCO to SC2.
  • the pointers from the first table LTP serve as an index in the second table PTR. They each point to a tuple of sixteen real blocks arranged in four by four banks BAO to BA3. A tuple is arranged in four chips of a superchip. This results in a table with 16 columns, in each of which the real block numbers of a bank are specified. Values between 0 and 7903 or 7935 can be specified as long as no substitute blocks have been entered. For example, e.g. in the second line at the last position a replacement block EB registered, which then has a larger block number.
  • the block numbers can only have values modulo the bank number. Through administrative operations, however, the block numbers can be swapped arbitrarily within the banks.
  • the rows of the table PTR that can not be addressed by a physical block number are unused, here each identified by a U.
  • the real memory blocks to be addressed by the two examples from FIG. 2 are indicated by hatching in the table.

Landscapes

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

Abstract

Die Erfindung beschreibt ein Verfahren zur Verwaltung von Speicherblöcken in einem nichtflüchtigen Speichersystem mit einzeln löschbaren, mit realen Speicherblocknummern (RBN) adressierbaren Speicherblöcken, die durch eine Adressumsetzung mittels Zuordnertabellen (LTP, PTR) von einer logischen Block nummer (LBN) in jeweils eine der realen Speicherblocknummern adressierbar sind, wobei - die logische Blocknummer (LBN) über eine erste Tabelle (LTP) einer physischen Speicherblocknummer (PBN) zugeordnet und - über eine zweite Tabelle (PTR) die physische Speicherblocknummer (PBN) einer realen Speicherblocknummer (RBN) zugeordnet wird, wobei mit einer physischen Speicherblocknummer (PBN) ein oder mehrere reale Speicherblöcke adressiert werden.

Description

Unser Zeichen: Hl 59 / 31 MB
Verfahren zur Umsetzung von logischen in reale Blockadressen in Flashspeichern
Die Erfindung beschreibt ein Verfahren zur Verwaltung von Speicherblöcken in einem nichtflüchtigen Speichersystem mit einzeln löschbaren, mit realen Speicherblocknummern adressierbaren Speicherblöcken, die durch eine Adressumsetzung mittels Zuordnertabellen von einer logischen Blocknummer in jeweils eine der realen Speicherblocknummern adressierbar sin.
Flash- Speicher werden in vielen Computersystemen eingesetzt, insbesondere auch in wechselbaren Speicherkarten für digitale Kameras und tragbare Computer. Flash- Speicher sind in Speicherblöcken mit jeweils vielen Sektoren organisiert. Wesentliche Eigenschaften dieser Speicher sind, dass nur eine beschränkte Anzahl von Schreib- und Löschoperationen möglich ist und dass das Löschen nur in Speicherblöcken möglich ist, die mehrere Sektoren enthalten. Dabei beanspruchen die Schreib- und Löschvorgänge sehr viel mehr Zeit (bis zum Faktor 50) als das Lesen. Die Umsetzung von logischen Speicheradressen in reale Speicheradressen ist in Flashspeichersystemen bekannt, etwa aus der DE 102 27 256 für die gleichmäßige Abnutzung von realen Speicherblöcken oder aus der DE 103 41 616, um defekte reale Speicherblöcke zu verwalten. Die Speichersysteme bekommen immer mehr Speicherkapazität, damit werden die Speicherblockadressen länger und die Umsetzungstabellen von logischen in reale Speicherblockadressen immer größer.
Kleine Speicherblockgrößen, etwa von 4 KByte, sind günstig, um bei Dateisystemen mit vielen kleinen Dateien den Verlust durch nicht genutzten Platz in den Speicherblöcken nicht zu groß werden zu lassen. Vielfach werden nun größere Speicherblöcke von 32 KByte bis 256 KByte gebildet, um die Umsetzungstabellen entsprechend kleiner zu halten. Dabei ist es wichtig, die Adresszeiger in den Tabellen auf 16 Bit zu begrenzen, um die Adressumsetzung schnell und effizient durchführen zu können. Es ist Aufgabe der Erfindung unterschiedlich große Speichersysteme mit einheitlichen Tabellenstrukturen bei unterschiedlichen realen Speicherblockgrößen effizient zu verwalten.
Gelöst wird diese Aufgabe dadurch, dass die logische Blocknummer über eine erste Tabelle einer physischen Speicherblocknummer zugeordnet und über eine zweite Tabelle die physische Speicherblocknummer einer realen Speicherblocknummer zugeordnet wird, wobei mit einer physischen Speicherblocknummer ein oder mehrere reale Speicherblöcke adressiert werden.
Vorteilhafte Ausgestaltungen der Erfindung sind in den Unteransprüchen angegeben.
Die zweite Tabelle ordnet einer physischen Speicherblocknummer ein oder mehrere reale Speicherblöcke zu, wobei die Größe der realen Speicherblöcke durch die
Strukturierung der eingesetzten Speicherchips vorgegeben ist. So werden Chips mit Blockgrößen von 4 KByte oder mit Blockgrößen von 32 KByte, 64 KByte, 128 KByte oder noch größeren realen Blöcken eingesetzt.
Es ist ein Vorteil des Verfahrens, dass die erste Adressumsetzung von logischen Speicherblocknummern in physische Speicherblocknummern unabhängig von der
Größe der realen Speicherblöcke durchgeführt wird. Das Verfahren ist somit bei vielen unterschiedlich großen Speichersystemen einsetzbar. Die Verwaltung von defekten realen Speicherblöcken wird nur mittels der zweiten Adressumsetztabelle durchgeführt, indem in der zweiten Tabelle die Nummern von defekten Speicherblöcken durch die Nummern von funktionsfähigen Speicherblöcken ersetzt werden. Die Nummern von defekten Speicherblöcken werden dann in ungenutzten Bereichen der zweiten Tabelle geiührt.
Die Bildung der physischen Speicherblöcke in der ersten Adressumsetzungstabelle hat den Vorteil, dass große Speicherblöcke aus mehreren realen Speicherblöcken gebildet werden, auf die eine Speicheroperation gemeinsam angewendet wird, unabhängig davon, wo die realen Speicherblöcke in den Speicherchips lokalisiert sind. Dies erhöht die Geschwindigkeit bei der Abarbeitung der Speicheroperationen. Die Geschwindigkeit der Abarbeitung der Speicheroperationen wird weiter erhöht, wenn die realen Speicherblöcke in verschiedenen Speicherchips liegen. Dann werden die Speicheroperationen, wie „schreiben" oder „löschen" parallel in den Speicherchips durchgeführt (interleaving). Bei einigen Typen von Speicherchips ist eine große Zahl von Speicherblöcken in so genannten Bänken zusammengefasst, die parallel
Speicheroperationen durchfuhren können. Wenn nun die physischen Speicherblocks jeweils nur aus realen Speicherblöcken bestehen, die in verschiedenen Bänken und in Verschiedenen Speicherchips liegen, wird die parallele Abarbeitung von Speicheroperationen auf allen realen Speicherblöcken durchgeführt und eine maximale Verarbeitungsgeschwindigkeit erreicht.
Die Tabellen zur Adressumsetzung werden in für die Verwaltung reservierten nichtflüchtigen realen Speicherblöcken gehalten. Sie stehen damit auch nach einem Stromausfall zur Verfügung. Zur schnellen Bearbeitung der Speicheroperationen werden Kopien von aktuell benötigen Teilen der Adressumsetzungstabellen zusätzlich in einem internen schnellen RAM-Speicher gehalten (caching). Die Nummern der für die Verwaltung des Speichersystems reservierten Speicherblöcke werden nicht mit in die erste Tabelle zur Adressumsetzung aufgenommen. Sie sind damit von außen nicht über logische Sektornummern adressierbar. Ein kleiner Prozentsatz von Speicherblöcken, etwa 3%, werden für den Ersatz defekt gewordener Speicherblöcke reserviert. Auch die Nummern dieser realen Speicherblöcke werden nicht mit in die erste Tabelle zur Adressumsetzung aufgenommen. Sie sind damit von außen nicht über logische Sektornummern adressierbar.
Eine vorteilhafte Ausführung der Erfindung ist beispielhaft in den Figuren beschrieben. Fig. 1 zeigt ein Blockdiagramm eines Speichersystems mit 12 Speicherchips. Fig. 2 zeigt den Aufbau der beiden Adressumsetzungstabellen. Fig. 3 zeigt zwei Beispiele der Übersetzung von logischen Adressen in reale Adressen.
In Fig. 1 ist ein Blockdiagramm für ein Speichersystem aus zwölf Speicherchips CO bis CI l mit jeweils einer Speicherkapazität von 128 Megabyte dargestellt. Das Speichersystem besitzt damit eine Größe von 1,5 Gigabyte. Speicheroperationen wie „lesen" und „schreiben" können mit logischen Sektoren von jeweils 512 Byte Größe - A -
durchgeführt werden. Acht reale Speichersektoren von 512 Byte Größe sind zu realen Blöcken von 4 KByte zusammengefasst, die gemeinsam löschbar sind. Die zwölf Speicherchips CO bis CIl besitzen jeweils 262144 reale Sektoren, von denen jeweils vier eine Page bilden. Zwei Pages bilden jeweils einen realen Speicherblock, die in jeweils vier Bänken BAO bis B A3 angeordnet sind. Jeweils vier Speicherchips sind logisch zu einem Superchip SCO bis SC3 zusammengefasst. Ein physischer Speicherblock PB umfasst nun sechzehn reale Speicherblöcke aus den vier Chips eines Superchips aus jeweils vier unabhängigen Bänken mit zusammen 64 KByte. In dem hier gezeigten Fall ist der physische Block PB in dem Superchip SCO mit den Chips CO bis C3 mit jeweils einem realen Speicherblock in jedem der vier mal vier Bänke BAO bis BA3 gebildet. Alle realen Speicherblöcke des physischen Blocks PB können damit eine Speicheroperation parallel abarbeiten.
In den Fig. 2A und 2B sind zwei Beispiele von Adressumsetzungen angegeben. In Fig. 2A soll eine Speicheroperation auf den logischen Sektor LSN mit der Nummer 127 durchgeführt werden. Dazu wird die logische Sektornummer in die Bestandteile Sektornummer in einer Page PN, Tupelindex TI und logische Blocknummer LBN aufgeteilt. Da sechzehn Blöcke mit jeweils acht Sektoren zu einem physischen Sektor zusammengefasst sind, ergibt sich eine physische Sektornummer zwischen 0 und 127. Die realen Sektornummern in einer Page sind nicht unbedingt fortlaufend, sondern können je nach Größe der Page Lücken aufweisen. Hier ist angenommen, dass eine Page vier reale Sektoren besitzt und jeweils zwei Pages zu einem Realblock zusammengefasst sind. Da aufeinander folgende Pages in aufeinander folgenden Bänken angeordnet sind, entstehen in einem Realblock entsprechend der Anzahl der Bänke und der Chips Lücken in der Nummerierung der realen Sektoren. In diesem
Beispiel wird daher zur Bildung der realen Sektornummer das Bit6 B6 als oberstes Bit der realen Sektornummer angesehen. In diesem Fall ist die logische Blocknummer LBN gleich 0, der Tupelindex TI = 15 und die Pagenummer PN = 3. Die physische Sektornummer PSN wird zu 127. Das Bit B6 wird als fünftes Bit der Realen Sektornummer RSN genutzt. Damit wird die Reale Sektornummer RSN gleich 31. Die logische Blocknummer LBN indiziert die erste Tabelle LTP aus Fig. 3 und liefert die Superchipnummer SC = 0 und die physische Blocknummer PBN = 0. Auf die gleiche Weise ist in Fig. 2B die logische Sektornummer 1011769 aufgespaltet. Hier wird die Pagenummer PN = 1, der Tupelindex TI = 10 und die logische Blocknummer LBN = 7904. Die physische Sektornummer hat den Wert 125. Das Bit B6 wird als fünftes Bit der Realen Sektornummer RSN genutzt. Damit wird die Reale Sektornummer RSN gleich 25.
Die logische Blocknummer LBN indiziert die erste Tabelle LTP aus Fig. 3 und liefert die Superchipnummer SC = 1 und die physische Blocknummer PBN = 0.
In Fig.3 ist die Struktur der beiden Tabellen LTP und PTR gezeigt. In der ersten Tabelle zur Adressumsetzung LTP wird die logische Blocknummer LBN in die Adresse eines physischen Blocks umgesetzt, die aus den Bestandteilen Superchipnummer SCN und physische Blocknummer PBN besteht. In dem hier dargestellten Beispiel sind drei Superchips mit den Nummern 0 bis 2 vorhanden. Die Superchipnummer ist somit 2 Bit breit. Eine physische Blocknummer besteht aus dreizehn Bit und kann damit Werte von 0 bis 8191 annehmen. Um Platz für 32 Verwaltungsblöcke und jeweils 256 Reserveblöcke zu lassen, reichen die Werte nur bis 7903 bzw. bis 7935. Wie in Fig. 2 dargestellt, ist die logische Blocknummer LBN in diesem Beispiel 16 Bit breit und kann Werte zwischen 0 und 24319 annehmen, entsprechend der Summe der physischen Blöcke der drei Superchips SCO bis SC2. Die Zeiger aus der ersten Tabelle LTP dienen als Index in die zweite Tabelle PTR. Sie zeigen jeweils auf ein Tupel von sechzehn realen Blöcken, die in vier mal vier Bänken BAO bis BA3 angeordnet sind. Ein Tupel ist in vier Chips eines Superchips angeordnet. Somit ergibt sich eine Tabelle mit 16 Spalten, in der jeweils die realen Blocknummern einer Bank angegeben sind. Es können Werte zwischen 0 und 7903 bzw. 7935 angegeben sein, solange keine Ersatzblöcke eingetragen wurden. So ist z.B. in der zweiten Zeile an letzter Position ein Ersatzblock EB eingetragen, der dann eine größere Blocknummer besitzt. Die Blocknummern können nur Werte modulo der Banknummer besitzen. Durch Verwaltungsoperationen können die Blocknummern aber beliebig innerhalb der Bänke vertauscht sein. Die Zeilen der Tabelle PTR, die nicht durch eine physische Blocknummer adressierbar sind, sind ungenutzt, hier durch jeweils ein U gekennzeichnet.
Die durch die beiden Beispiele aus Fig. 2 zu adressierenden realen Speicherblöcke sind in der Tabelle durch Schraffur kenntlich gemacht. Die logischen Sektornummer LSN = 127 adressiert über SCN = O und PBN = 0 hier den Block 3 in der ersten Zeile der Tabelle PTR mit dem Tupelindex TI = 15 und gehört zu Chip 0*4+3 = 3. Die logischen Sektornummer LSN = 1011769 adressiert über SCN = 1 und PBN = 0 hier den Block 2 mit dem Tupelindex TI = 10 und gehört zu Chip 1 *4+2 = 6.
Bezugszeichenliste
BAn Banknummer
Cn Chipnummer
EB Ersatzblock
LBN logische Blocknummer
LSN logische Sektornummer
LTP erste Tabelle (logtophys)
PBn physische Blocknummer
PTR zweite Tabelle (phystoreal)
RBN reale Blocknurnmer
RSN reale Sektornummer
PN Pagenummer
PSN physische Sektornummer
SCn Superchipnummer
SN Sektornummer
TI Tupelindex
U Ungenutzte physische Blöcke

Claims

Patentansprüche
1. Verfahren zur Verwaltung von Speicherblöcken in einem nichtflüchtigen Speichersystem mit einzeln löschbaren, mit realen Speicherblocknummern (RBN) adressierbaren Speicherblöcken, die durch eine Adressumsetzung mittels Zuordnertabellen (LTP, PTR) von einer logischen Blocknummer (LBN) in jeweils eine der realen Speicherblocknummern adressierbar sind, dadurch gekennzeichnet, dass
- die logische Blocknummer (LBN) über eine erste Tabelle (LTP) einer physischen Speicherblocknummer (PBN) zugeordnet und
- über eine zweite Tabelle (PTR) die physische Speicherblocknummer (PBN) einer realen Speicherblocknummer (RBN) zugeordnet wird, wobei mit einer physischen Speicherblocknummer (PBN) ein oder mehrere reale Speicherblöcke adressiert werden.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass Speicheroperationen auf alle realen Speicherblöcke einer physischen Speicherblocknummer (PBN) gemeinsam durchgeführt werden.
3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die mit einer physischen Speicherblocknummer (PBN) adressierten realen Speicherblöcke in verschiedenen Speicherchips (SCn) und/oder Speicherbänken (BAn) liegen und parallel bearbeitet werden.
4. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Nummern von defekten realen Speicherblöcken in der zweiten Tabelle (PTR) durch die Nummern von funktionsfähigen realen Speicherblöcken ersetzt werden.
5. Speicher System mit einzeln löschbaren, mit realen Speicherblocknummern (RBN) adressierbaren Speicherblöcken, die durch eine Adressumsetzung mittels Zuordnertabellen (LTP, PTR) von einer logischen Blocknummer (LBN) in jeweils eine der realen Speicherblocknummern (RBN) adressierbar sind, dadurch gekennzeichnet, dass die Adressumsetzungstabellen gemäß einem der vorstehenden Ansprüche in für die Verwaltung des Speichersystems reservierten Speicherblöcken gespeichert sind.
6. Speichersystem nach Anspruch 5, dadurch gekennzeichnet, dass aktuell benötigte Teile der beiden Adressumsetzungstabellen (LTP, PTR) zusätzlich in einem RAM- Speicher gehalten sind.
7. Speichersystem nach Anspruch 5, dadurch gekennzeichnet, dass die Nummern der für die Verwaltung reservierten Speicherblöcke nicht in die erste Tabelle (LTP) zur Adressumsetzung aufgenommen sind.
8. Speichersystem nach Anspruch 5, dadurch gekennzeichnet, dass die Nummern der zum Ersatz defekter Speicherblöcke vorgesehenen funktionsfähiger Speicherblöcke nicht in die erste Tabelle (LTP) zur Adressumsetzung aufgenommen sind.
EP05850471A 2005-01-07 2005-12-20 Verfahren zur umsetzung von logischen in reale blockadressen in flashspeichern Withdrawn EP1700220A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102005001038A DE102005001038B3 (de) 2005-01-07 2005-01-07 Verfahren zur Umsetzung von logischen in reale Blockadressen in Flashspeichern
PCT/EP2005/056985 WO2006072549A1 (de) 2005-01-07 2005-12-20 Verfahren zur umsetzung von logischen in reale blockadressen in flashspeichern

Publications (1)

Publication Number Publication Date
EP1700220A1 true EP1700220A1 (de) 2006-09-13

Family

ID=36202117

Family Applications (1)

Application Number Title Priority Date Filing Date
EP05850471A Withdrawn EP1700220A1 (de) 2005-01-07 2005-12-20 Verfahren zur umsetzung von logischen in reale blockadressen in flashspeichern

Country Status (9)

Country Link
US (1) US20080201517A1 (de)
EP (1) EP1700220A1 (de)
JP (1) JP2008527581A (de)
KR (1) KR20070092712A (de)
CN (1) CN101099136A (de)
CA (1) CA2591957A1 (de)
DE (1) DE102005001038B3 (de)
TW (1) TW200636465A (de)
WO (1) WO2006072549A1 (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009129819A1 (en) * 2008-04-21 2009-10-29 Nokia Corporation Method and device for n times writeable memory devices
US10445229B1 (en) 2013-01-28 2019-10-15 Radian Memory Systems, Inc. Memory controller with at least one address segment defined for which data is striped across flash memory dies, with a common address offset being used to obtain physical addresses for the data in each of the dies
US9652376B2 (en) 2013-01-28 2017-05-16 Radian Memory Systems, Inc. Cooperative flash memory control
US11249652B1 (en) 2013-01-28 2022-02-15 Radian Memory Systems, Inc. Maintenance of nonvolatile memory on host selected namespaces by a common memory controller
CN103336751B (zh) * 2013-07-10 2015-12-30 广西科技大学 寻址功能与存储单元一体化存储控制器
TWI502345B (zh) * 2014-05-12 2015-10-01 Via Tech Inc 快閃記憶體控制晶片以及資料儲存裝置以及快閃記憶體控制方法
US9542118B1 (en) 2014-09-09 2017-01-10 Radian Memory Systems, Inc. Expositive flash memory control
KR102591888B1 (ko) * 2018-03-16 2023-10-24 에스케이하이닉스 주식회사 메모리 컨트롤러, 이를 포함하는 메모리 시스템 및 이의 동작 방법
TWI821152B (zh) * 2021-02-23 2023-11-01 慧榮科技股份有限公司 儲存裝置、快閃記憶體控制器及其控制方法
TWI808384B (zh) * 2021-02-23 2023-07-11 慧榮科技股份有限公司 儲存裝置、快閃記憶體控制器及其控制方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004040454A2 (en) * 2002-10-28 2004-05-13 Sandisk Corporation Method and apparatus for performing multi-page write operations in a non-volatile memory system

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5404485A (en) * 1993-03-08 1995-04-04 M-Systems Flash Disk Pioneers Ltd. Flash file system
US6938144B2 (en) * 2001-03-22 2005-08-30 Matsushita Electric Industrial Co., Ltd. Address conversion unit for memory device
JP2002358795A (ja) * 2001-05-31 2002-12-13 Hitachi Ltd 不揮発性半導体記憶装置および製造方法
JP4248772B2 (ja) * 2001-07-05 2009-04-02 Tdk株式会社 メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法
US6798696B2 (en) * 2001-12-04 2004-09-28 Renesas Technology Corp. Method of controlling the operation of non-volatile semiconductor memory chips
DE10227256C1 (de) * 2002-06-19 2003-12-18 Hyperstone Ag Verfahren zum Adressieren von blockweise löschbaren Speichern
DE10341616A1 (de) * 2003-09-10 2005-05-04 Hyperstone Ag Verwaltung defekter Blöcke in Flash-Speichern
US7200733B2 (en) * 2003-09-11 2007-04-03 Honeywell International Inc. Virtual memory translator for real-time operating systems
US7167970B2 (en) * 2004-05-24 2007-01-23 Sun Microsystems, Inc. Translating loads for accelerating virtualized partition

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004040454A2 (en) * 2002-10-28 2004-05-13 Sandisk Corporation Method and apparatus for performing multi-page write operations in a non-volatile memory system

Non-Patent Citations (1)

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

Also Published As

Publication number Publication date
TW200636465A (en) 2006-10-16
KR20070092712A (ko) 2007-09-13
DE102005001038B3 (de) 2006-05-04
US20080201517A1 (en) 2008-08-21
WO2006072549A1 (de) 2006-07-13
JP2008527581A (ja) 2008-07-24
CA2591957A1 (en) 2006-07-13
CN101099136A (zh) 2008-01-02

Similar Documents

Publication Publication Date Title
DE102005001038B3 (de) Verfahren zur Umsetzung von logischen in reale Blockadressen in Flashspeichern
DE60316171T2 (de) Automatischer abnutzungsausgleich in einem nicht-flüchtigen speichersystem
DE69034191T2 (de) EEPROM-System mit aus mehreren Chips bestehender Blocklöschung
DE60019903T2 (de) Speichersystem
DE60319563T2 (de) Verwaltung der anzahl von löschungen in einem nicht-fluchtigem speicher
DE60319407T2 (de) Verfolgen der am häufigsten gelöschten blöcke eines nichtflüchtigen speichersystems
DE60030876T2 (de) Bereichsverwaltung eines nichtflüchtigen Speichers mit hoher Kapazität
DE19782041B4 (de) Verfahren zum Durchführen eines kontinuierlichen Überschreibens einer Datei in einem nicht-flüchtigen Speicher
DE69414556T2 (de) Schnell loeschbare datei
DE112010003887B4 (de) Datenverwaltung in Halbleiter-Speichereinheiten
DE102009034651A1 (de) Prozess und Verfahren zur Abbildung von logischen Adressen auf physische Adressen in Festkörperplatten
DE60122155T2 (de) Flashspeicherarchitektur zur implementierung von gleichzeitigen programmierbaren flashspeicherbanken mit host-kompatibilität
DE60217883T2 (de) Verfahren zum schreiben von daten in einen nicht-flüchtigen speicher
DE112020000139T5 (de) Nicht sequentiell in zonen aufgeteilte namensräume
EP2401680B1 (de) Verfahren zur verwaltung von flashspeichern mit gemischten speichertypen
DE102006005877A1 (de) Adresszuordnungstabelle und Verfahren zum Erzeugen einer Adresszuordnungstabelle
DE102009048179A1 (de) Prozess und Verfahren für eine Löschstrategie in Festkörperplatten
EP2215636B1 (de) VERFAHREN ZUR GLEICHMÄßIGEN NUTZUNG MEHRERER FLASHSPEICHERCHIPS
EP1665053A1 (de) Verwaltung gel schter bl cke in flash-speichern
DE112022000468T5 (de) Unterschiedliche schreibpriorisierung in zns-vorrichtungen
DE112010005870B4 (de) Verfahren zur Freigabe nicht länger benötigter Speicherbereiche auf nichtflüchtigen Speichermedien
DE10227255B4 (de) Verfahren zur Wiederherstellung von Verwaltungsdatensätzen eines blockweise löschbaren Speichers
DE10349595B3 (de) Verfahren zum Schreiben von Speichersektoren in einem blockweise löschbaren Speicher
WO2009143885A1 (de) Verfahren zum adressieren von seitenorientierten nichtflüchtigen speichern
EP1665287B1 (de) Verwaltung defekter bl cke in flash-speichern

Legal Events

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

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20060630

AK Designated contracting states

Kind code of ref document: A1

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

AX Request for extension of the european patent

Extension state: AL BA HR MK YU

17Q First examination report despatched

Effective date: 20061013

DAX Request for extension of the european patent (deleted)
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN WITHDRAWN

18W Application withdrawn

Effective date: 20090519