WO2005026963A1 - Verwaltung gelöschter blöcke in flash-speichern - Google Patents

Verwaltung gelöschter blöcke in flash-speichern Download PDF

Info

Publication number
WO2005026963A1
WO2005026963A1 PCT/EP2004/051782 EP2004051782W WO2005026963A1 WO 2005026963 A1 WO2005026963 A1 WO 2005026963A1 EP 2004051782 W EP2004051782 W EP 2004051782W WO 2005026963 A1 WO2005026963 A1 WO 2005026963A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
memory
flag
memory block
erased
Prior art date
Application number
PCT/EP2004/051782
Other languages
English (en)
French (fr)
Inventor
Reinhard KÜHNE
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
Priority to US10/571,590 priority Critical patent/US20090125668A1/en
Priority to CA002536992A priority patent/CA2536992A1/en
Priority to JP2006530229A priority patent/JP2007505415A/ja
Priority to EP04766485A priority patent/EP1665053A1/de
Publication of WO2005026963A1 publication Critical patent/WO2005026963A1/de

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
    • 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
    • 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/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
    • 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
    • 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/7209Validity control, e.g. using flags, time stamps or sequence numbers

Definitions

  • the invention relates to a method for managing deletion in a memory system with individually erasable memory blocks that can be addressed with real memory block addresses, which are divided into a plurality of writable memory sectors, and which are converted by addressing by means of an assignment table of logical block addresses into one of the real ones Memory block addresses are addressable.
  • Flash memory is used in many computer systems, especially in removable memory cards for digital cameras and portable computers. Flash memories are organized in memory blocks with many sectors each. The main characteristics of these memories are that only a limited number of write and erase operations are possible, that only sectors that were previously erased can be written to, and that erasure is only possible in the large memory blocks.
  • the writing and deleting processes take a lot more time (up to a factor of 50) than reading. In order to achieve a long service life and fast response times of the storage system, it is therefore important to manage with just a few deletion processes and to carry out the deletion at times when no other read or write operations are pending.
  • Patent application DE 198 40 389 describes how the use of certain buffer block sectors can be written without having to delete the entire memory block beforehand. If there are no more buffer blocks, one must be deleted immediately, which delays the write operation.
  • US Pat. No. 5,485,595 describes the management of memory blocks in a management table which contains a plurality of flags on the status of the memory blocks. Below these are the flags "USED FLAG” and "OLD FLAG”, which indicate whether there are several versions of the memory block in the memory. The memory blocks with the "OLD FLAG" are waiting to be deleted. However, each time the memory operation is performed, the management table must be searched for the valid entry for the logical block address, which extends the memory operations.
  • This object is achieved in that a first flag “erased” about the physical erased state and a second flag “content erased” about the logical erased state is carried for each memory block in the allocation table.
  • the memory system considered here with non-volatile memory cells is organized in memory blocks which can be erased individually via an erase operation.
  • the memory blocks in turn are divided into sectors that can be written to individually. Writing is only possible in previously deleted memory cells.
  • All memory blocks are listed in an allocation table.
  • the assignor table is divided into a first area for user data blocks, a second area for management blocks, a third area for buffer blocks and a fourth area for reserve blocks.
  • the table contains pointers with memory block addresses and flags to the respective memory blocks which the pointers point.
  • the allocator table is accessed by a memory controller with logical block addresses and a real memory block address is assigned to each logical block address. The respective memory operation is carried out in the real memory block assigned to the logical block address via the pointer.
  • Memory block is completely physically deleted.
  • the second flag "content erased” indicates that the content of the block has not yet been physically deleted, but the content is no longer valid and the block is intended for deletion.
  • the first flag "erased” is set in the allocation table after each physical deletion of the associated memory block.
  • the second flag "content erased” is set each time the entire content of the memory block becomes invalid. Thus, the two flags each indicate the status of the content of the associated memory block.
  • the management of the memory blocks and the execution of the memory operations are carried out by programs in a memory controller.
  • the background program searches the allocator table for memory block addresses with the second flag "content erased" set. It deletes memory blocks found in this way, the first flag being set "erased”.
  • the buffer block area If no deleted memory block is found in the buffer block area, it is expedient to search for a deleted memory block in the useful data area and to use one as an alternative block. For this purpose, the pointers to the deleted memory block in the user data area and the pointer to an undeleted block in the buffer block area are interchanged, and the undeleted memory block now located in the user data area is given the "content erased" feature.
  • the user data area can be very large and heavily occupied, it can take a long time to find a deleted memory block. Therefore, it makes sense to search for a number of deleted memory blocks in the user data area of less than a predetermined threshold value instead of searching the user data area for a deleted memory block, but to delete a memory block in the buffer block area and then use it as an alternative block.
  • the programs in the memory controller allow access to any memory blocks and sectors.
  • the content should correspond to deleted data, even if the memory cells still have other content. If such a memory block is now accessed by reading, a program in the memory controller recognizes this and returns data, the deleted data corresponds.
  • Fig. 1 shows the relationship of the allocator table with the memory blocks
  • Fig. 1 the assignment table ZT is shown, which is divided into three areas. These are the user data area NB, the buffer block area BB and the reserve area RB.
  • the allocation table ZT is accessed via the logical block address LBA and the associated memory block address SBA is found which points to a memory block SB.
  • the flags "erased” ER and "content erased” CER are carried to the memory block addresses SBA.
  • the first entry in the allocation table ZT denotes a memory block SB used with data D.
  • the flags "erased” ER and “content erased” CER are not set in this case.
  • the second entry designates a deleted memory block (111..1), in which the flags are set. In the buffer block area BB there is no deleted entry with the flag "erased” ER set.
  • the second entry now points to a memory block, the content of which has been logically deleted, but which still contains the old data D. This is indicated by the combination of flags 01.
  • the entry of the buffer block now points to the deleted memory block (111..1). This is now used as an alternative block for writing the new user data.
  • the background program will later delete the memory block SB which now belongs to the second entry.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

Die Erfindung beschreibt ein Verfahren zur Verwaltung des Löschens in einem Speichersystem mit einzeln löschbaren, mit realen Speicherblockadressen (SBA) adressierbaren Speicherblöcken (SB), die in eine Vielzahl von beschreibbaren Sektoren gegliedert sind, und die durch eine Adressumsetzung mittels einer Zuordnertabelle (ZT) von logischen Blockadressen (LBA) in jeweils eine der realen Speicherblockadressen (SBA) adressierbar sind, wobei die Zuordnertabelle (ZT) mindestens in einen Nutzdatenbereich (NB) und in einen Bufferblockbereich (BB) gegliedert ist, und wobei zu jedem Speicherblock (SB) in der Zuordnertabelle (ZT) ein erster Merker „erased“ (ER) über den physikalischen Löschzustand und ein zweiter Merker „content erased“ (CER) über den logischen Löschzustand mitgeführt wird.

Description

Verwaltung gelöschter Blöcke in Flash-Speichern
Die Erfindung bezieht sich auf ein Verfahren zur Verwaltung des Löschens in einem Speichersystem mit einzeln löschbaren, mit realen Speicherblockadressen adressierbaren Speicherblöcken, die in eine Vielzahl von beschreibbaren Speichersektoren gegliedert sind, und die durch eine Adressumsetzung mittels einer Zuordnertabelle von logischen Blockadressen in jeweils eine der realen Speicherblockadressen adressierbar sind.
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, dass nur in Sektoren geschrieben werden kann, die vorher gelöscht wurden, und dass das Löschen nur in den großen Speicherblöcken möglich ist. Dabei beanspruchen die Schxeib- und Löschvorgänge sehr viel mehr Zeit (bis zum Faktor 50) als das Lesen. Um eine hohe Lebensdauer und schnelle Reaktionszeiten des Speichersystems zu erreichen, ist es daher wichtig, mit nur wenigen Löschvorgängen auszukommen und das Löschen in Zeiten vorzunehmen, in denen keine anderen Lese- oder Schreiboperationen anstehen.
In der Patentanmeldung DE 198 40 389 ist beschrieben, wie durcli die Nutzung von bestimmten Bufferblöcken Sektoren geschrieben werden können, ohne jeweils den gesamten Speicherblock vorher löschen zu müssen. Wenn keine Bufferblöcke mehr vorhanden sind, muss dann einer sofort gelöscht werden, was die Schreiboperation verzögert. In dem Patent US 5,485,595 ist die Verwaltung von Speicherblöcken in einer Verwaltungstabelle beschrieben, die mehrere Merker zum Status der Speicherblöcke enthält. Darunter sind die Merker „USED FLAG" und „OLD FLAG", die angeben, ob mehrere Versionen des Speicher- blocks im Speicher vorhanden sind. Die Speicherblöcke mit dem „OLD FLAG" stehen zum Löschen an. Bei jeder Speicheroperation ist aber die Verwaltungstabelle nach dem gültigen Eintrag zur logischen Blockadresse zu durchsuchen, was die Speicheroperationen verlängert.
Es ist Aufgabe der Erfindung, das in der genannten deutschen
Patentanmeldung beschriebene Verfahren zur Löschung von Speicherblöcken weiter zu optimieren, mit noch weniger Löschoperationen auszukommen und die Reaktionszeiten beim Schreiben von Sektoren weiter zu verkürzen.
Gelöst wird diese Aufgabe dadurch, dass zu jedem Speicherblock in der Zuordnertabelle ein erster Merker „erased" über den physikalischen Löschzustand und ein zweiter Merker „content erased" über den logischen Löschzustand mitgeführt wird.
Vorteilhafte Ausgestaltungen der Erfindung sind in den Unteransprüchen angegeben.
Das hier betrachtete Speichersystem mit nichtflüchtigen Speicherzellen ist in Speicherblöcken organisiert, die über eine Löschoperation einzeln löschbar sind. Die Speicherblöcke wiederum sind in Sektoren unterteilt, die einzeln beschreibbar sind. Dabei ist das Schreiben nur in vorher gelöschte Speicherzellen möglich. In einer Zuordnertabelle sind alle Speicherblöcke aufgelistet. Die Zuordnertabelle ist in einen ersten Bereich für Nutzdatenblöcke, einen zweiten Bereich für Verwaltungsblöcke, einen dritten Bereich für Bufferblöcke und einen vierten Bereich für Reserveblöcke gegliedert. In der Tabelle befinden sich Zeiger mit Speicherblockadressen und Flags zu den jeweiligen Speicherblöcken, auf welche die Zeiger weisen. Auf die Zuordnertabelle wird von einem Speichercontroller mit logischen Blockadressen zugegriffen und jeder logischen Blockadresse ist eine reale Speicherblockadresse zugeordnet. In dem der logischen Blockadresse über den Zeiger zugeordneten realen Speicherblock wird die jeweilige Speicheroperation durchgeführt. Ein Suchen nach dem Speicherblock ist nicht erforderlich. In der Zuordnertabelle, die in Verwaltungsblöcken gespeichert ist, werden auch die Merker zu dem Status des Inhalts der jeweiligen realen Speicherblöcke geführt. Darunter sind die Merker „erased" und content erased". Der erste Merker „erased" gibt an, dass der zugehörige
Speicherblock komplett physikalisch gelöscht ist. Der zweite Merker „content erased" gibt an, dass der Inhalt des Blocks noch nicht physikalisch gelöscht ist, der Inhalt aber nicht mehr gültig ist und der Block zum Löschen vorgesehen ist.
Der erste Merker „erased" wird nach jedem physikalischen Löschen des zugehörigen Speicherblocks in der Zuordnertabelle gesetzt. Der zweite Merker „content erased" wird nach jedem ungültig werden des gesamten Inhaltes des Speicherblocks gesetzt. Somit geben die beiden Merker jeweils den Status des Inhalts des zugehörigen Speicherblocks an.
Die Verwaltung der Speicherblöcke und die Durchführung der Speicheroperationen erfolgt durch Programme in einem Speichercontroller. Unter den Programmen befindet sich ein Hintergrundprogramm, welches dann ausgeführt wird, wenn keine Speicheroperationen, wie Lesen, Schreiben oder Löschen, auszuführen sind. Das Hintergrundprogramm durchsucht die Zuordnertabelle nach Speicherblockadressen mit gesetztem zweitem Merker „content erased". Es löscht so gefundene Speicherblöcke, wobei der erste Merker „erased" gesetzt wird.
Wenn in einen Sektor eines Speicherblocks geschrieben werden soll, der nicht mehr gelöscht ist, ist es vorteilhaft, zunächst einen gelöschten Speicherblock im Bufferblockbereich zu suchen, in den der neue Inhalt der Sektoren geschrieben wird. Ein solcher Speicherblock wird somit als Ausweichblock genutzt.
Falls kein gelöschter Speicherblock im Bufferblockbereich gefunden wird, ist es günstig, einen gelöschten Speicherblock im Nutzdatenbereich zu suchen und einen solchen als Ausweichblock zu nutzen. Dazu werden die Zeiger auf den gelöschten Speicherblock im Nutzdatenbereich und der Zeiger auf einen nicht gelöschten Block im Bufferblockbereich vertauscht und der sich nun im Nutzdatenbereich befindliche nicht gelöschte Speicherblock erhält das Merkmal „content erased".
Da der Nutzdatenbereich sehr groß und stark belegt sein kann, kann es lange dauern, bis ein gelöschter Speicherblock gefunden wird. Daher ist es sinnvoll, bei einer Anzahl gelöschter Speicherblöcke im Nutzdatenbereich von weniger als einem vorbestimmten Schwellwert, den Nutzdaten- bereich nicht nach einem gelöschten Speicherblock zu durchsuchen, sondern einen Speicherblock im Bufferblockbereich zu löschen und diesen dann als Ausweichblock zu nutzen.
Ein auf die vorbeschriebene Art gefundener Ausweichblock wird vollständig mit neuen Sektoren beschrieben. Danach wird der Eintrag der zur logischen Blockadresse gehörenden realen Speicheradresse mit der Adresse des Ausweichblocks vertauscht und der bisherige Speicherblock mit dem zweiten Merker „content erased" gekennzeichnet.
Durch die Programme im Speichercontroller ist ein Zugriff auf beliebige Speicherblöcke und Sektoren möglich.
Durch das Setzen des Merkers „ content erased" in einem Speicherblock soll der Inhalt gelöschten Daten entsprechen, auch wenn die Speicherzellen noch einen anderen Inhalt besitzen. Wenn nun auf einen solchen Speicherblock lesend zugegriffen wird, erkennt ein Programm im Speichercontroller dies und gibt Daten zurück, die gelöschten Daten entsprechen. Eine vorteilhafte Ausführung der Erfindung ist beispielhaft in den Figuren beschrieben.
Fig. 1 zeigt den Zusammenhang der Zuordnertabelle mit den Speicherblöcken
Fig. 2 zeigt den Zusammenhang nach Nutzung eines neuen Nutzdatenblocks
In Fig. 1 ist die Zuordnertabelle ZT dargestellt, die in drei Bereiche gegliedert ist. Dies sind der Nutzdatenbereich NB, der Bufferblockbereich BB und der Reservebereich RB. Auf die Zuordnertabelle ZT wird über die logische Blockadresse LBA zugegriffen und die zugehörige Speicherblockadresse SBA gefunden, die auf einen Speicherblock SB zeigt. Zu den Speicherblockadressen SBA werden die Merker „erased" ER und „content erased" CER mitgeführt.
Der erste Eintrag der Zuordnertabelle ZT bezeichnet einen mit Daten D genutzten Speicherblock SB. Bei diesem sind die Merker „erased" ER und „content erased" CER nicht gesetzt. Der zweite Eintrag bezeichnet eine gelöschten Speicherblock (111..1), bei dem die Merker gesetzt sind. Im Bufferblockbereich BB ist kein gelöschter Eintrag mit dem Merker „erased" ER gesetzt vorhanden.
Wenn nun ein Ausweichblock zum Schreiben eines Nutzdatenblocks benötigt wird und kein freier Bufferblock vorhanden ist, wird im Nutzdatenbereich NB ein Block gesucht, dessen Merker „erased" ER gesetzt ist. Hier wird der zweite Eintrag in der Zuordnertabelle ZT gefunden. Nun werden die beiden Einträge in der Zuordnertabelle vertauscht.
In der Fig. 2 ist der Zustand der Zuordnertabelle ZT nach dem Vertauschen der Einträge dargestellt. Der zweite Eintrag zeigt nun auf einen Speicherblock, dessen Inhalt logisch gelöscht ist, der aber noch die alten Daten D enthält. Dies ist durch die Merkerkombination 01 gekennzeichnet. Der Eintrag des Bufferblocks zeigt nun auf den gelöschten Speicherblock (111..1). Dieser wird jetzt als Ausweichblock für das Schreiben der neuen Nutzdaten genutzt. Das Hintergrundprogramm wird den nun zum zweiten Eintrag gehörenden Speicherblock SB später löschen.

Claims

Patentansprüche
1. Verfahren zur Verwaltung des Löschens in einem Speichersystem mit einzeln löschbaren, mit realen Speicherblockadressen (SBA) adressierbaren Speicherblöcken (SB), die in eine Vielzahl von beschreibbaren Sektoren gegliedert sind, und die durch eine Adressumsetzung mittels einer Zuordnertabelle (ZT) von logischen Blockadressen (LBA) in jeweils eine der realen Speicherblockadressen (SBA) adressierbar sind, wobei die Zuordnertabelle (ZT) mindestens in einen Nutzdatenbereich (NB) und in einen Bufferblockbereich (BB) gegliedert ist, dadurch gekennzeichnet, dass zu jedem Speicherblock (SB) in der Zuordnertabelle (ZT) ein erster Merker „erased" (ER) über den physikalischen Löschzustand und ein zweiter Merker „content erased" (CER) über den logischen Löschzustand mitgeführt wird.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der erste Merker (ER) nach jedem physikalischen Löschen des zugehörigen Speicherblocks (SB) gesetzt wird.
3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der zweite Merker (CER) nach jedem ungültig werden des gesamten Inhaltes des Speicherblocks (SB) gesetzt wird.
4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass das Speichersystem durch Programme in einem Speichercontroller verwaltet wird.
5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass ein Hintergrundprogramm im Speichercontroller die Zuordnertabelle (ZT) nach Speicherblockadressen (SBA) mit gesetztem zweitem Merker (CER) durchsucht und so gefundene Speicherblöcke (SB) löscht, wobei der erste Merker (ER) gesetzt wird.
6. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass beim erneuten Beschreiben von nicht gelöschten Sektoren eines Speicherblocks (SB) zunächst ein gelöschter Speicherblock in dem Bufferblockbereich (BB) gesucht und dieser als Ausweichblock genutzt wird, in den der neue Inhalt der Sektoren geschrieben wird.
7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass falls kein gelöschter Speicherblock im Bufferblockbereich (BB) gefunden wird, ein gelöschter Block aus dem Nutzdatenbereich (NB) als Ausweichblock genutzt wird.
8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, dass falls nur weniger als eine vorbestimmte Zahl gelöschte Speicherblöcke im Nutzdatenbereich vorhanden sind, ein Speicherblock im Bufferblock- bereich (BB) zunächst gelöscht und dieser dann als Ausweichblock genutzt wird.
9. Verfahren nach einem der Ansprüche 6 bis 8, dadurch gekennzeichnet, dass nach vollständigem Beschreiben des Ausweichblocks (AB) in der Zuordnertabelle (ZT) der Eintrag der zur logischen Blockadresse gehörenden realen Speicheradresse (SBA) mit der Adresse des Ausweichblocks vertauscht und der bisherige Speicherblock (SB) mit dem zweiten Merker (CER) gekennzeichnet wird.
10. Verfahren nach Anspruch 9, dadurch gekennzeichnet, dass beim Lesen eines Speicherblocks mit gesetztem zweiten Merker (CER) der Speichercontroller gelöschte Daten (111..1) zurückgibt.
PCT/EP2004/051782 2003-09-10 2004-08-12 Verwaltung gelöschter blöcke in flash-speichern WO2005026963A1 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US10/571,590 US20090125668A1 (en) 2003-09-10 2004-08-12 Management of erased blocks in flash memories
CA002536992A CA2536992A1 (en) 2003-09-10 2004-08-12 Management of erased blocks in flash memories
JP2006530229A JP2007505415A (ja) 2003-09-10 2004-08-12 フラッシュメモリにおける削除されたブロックの管理
EP04766485A EP1665053A1 (de) 2003-09-10 2004-08-12 Verwaltung gel schter bl cke in flash-speichern

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE10341618A DE10341618A1 (de) 2003-09-10 2003-09-10 Verwaltung gelöschter Blöcke in Flash-Speichern
DE10341618.8 2003-09-10

Publications (1)

Publication Number Publication Date
WO2005026963A1 true WO2005026963A1 (de) 2005-03-24

Family

ID=34305636

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2004/051782 WO2005026963A1 (de) 2003-09-10 2004-08-12 Verwaltung gelöschter blöcke in flash-speichern

Country Status (9)

Country Link
US (1) US20090125668A1 (de)
EP (1) EP1665053A1 (de)
JP (1) JP2007505415A (de)
KR (1) KR20060130013A (de)
CN (1) CN1849590A (de)
CA (1) CA2536992A1 (de)
DE (1) DE10341618A1 (de)
TW (1) TW200519596A (de)
WO (1) WO2005026963A1 (de)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008022567A1 (fr) * 2006-08-18 2008-02-28 Fortune Spring Technology (Shenzhen) Corporation Mécanisme de stockage à corps à mémoire flash présentant une fonction de restauration de données
WO2008102610A1 (ja) * 2007-02-23 2008-08-28 Panasonic Corporation メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム
WO2010061333A1 (en) * 2008-11-26 2010-06-03 Nokia Corporation Methods, apparatuses, and computer program products for enhancing memory erase functionality
US8407401B2 (en) 2008-11-26 2013-03-26 Core Wireless Licensing S.A.R.L. Methods, apparatuses, and computer program products for enhancing memory erase functionality

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101105774B (zh) * 2006-10-26 2010-08-11 福昭科技(深圳)有限公司 闪存记忆体在进行数据存取时的逻辑与物理地址转换方法
US7515500B2 (en) * 2006-12-20 2009-04-07 Nokia Corporation Memory device performance enhancement through pre-erase mechanism
JP4164118B1 (ja) * 2008-03-26 2008-10-08 眞澄 鈴木 フラッシュメモリを用いた記憶装置
KR100970537B1 (ko) * 2008-11-20 2010-07-16 서울시립대학교 산학협력단 Ssd 관리 장치 및 방법
KR101601790B1 (ko) 2009-09-22 2016-03-21 삼성전자주식회사 암호키 선택장치를 구비하는 스토리지 시스템 및 암호 키 선택방법
TWI414940B (zh) * 2009-12-30 2013-11-11 Phison Electronics Corp 區塊管理與資料寫入方法、快閃記憶體儲存系統與控制器
TWI475385B (zh) * 2012-03-14 2015-03-01 Phison Electronics Corp 程式化記憶胞與資料讀取方法、記憶體控制器與儲存裝置
KR20140056657A (ko) 2012-10-30 2014-05-12 삼성전자주식회사 메인 메모리를 구비한 컴퓨터 시스템 및 그것의 제어 방법
TWI557561B (zh) * 2016-02-05 2016-11-11 群聯電子股份有限公司 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置
US11288007B2 (en) * 2019-05-16 2022-03-29 Western Digital Technologies, Inc. Virtual physical erase of a memory of a data storage device
US11581048B2 (en) 2020-11-30 2023-02-14 Cigent Technology, Inc. Method and system for validating erasure status of data blocks

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5485595A (en) * 1993-03-26 1996-01-16 Cirrus Logic, Inc. Flash memory mass storage architecture incorporating wear leveling technique without using cam cells
EP0887735A2 (de) * 1997-06-25 1998-12-30 Sony Corporation Speicherverwaltungsverfahren für Flashspeicher
US6442662B1 (en) * 1995-01-19 2002-08-27 Fujitsu Limited Memory management device including a free block table and a conversion table with a free block address data identification component

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5838614A (en) * 1995-07-31 1998-11-17 Lexar Microsystems, Inc. Identification and verification of a sector within a block of mass storage flash memory
JPH0997205A (ja) * 1995-09-28 1997-04-08 Canon Inc フラッシュrom管理方法及び装置及びコンピュータ制御装置
US5953737A (en) * 1997-03-31 1999-09-14 Lexar Media, Inc. Method and apparatus for performing erase operations transparent to a solid state storage system
JP2000227871A (ja) * 1999-02-05 2000-08-15 Seiko Epson Corp 不揮発性記憶装置、その制御方法、および、情報記録媒体

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5485595A (en) * 1993-03-26 1996-01-16 Cirrus Logic, Inc. Flash memory mass storage architecture incorporating wear leveling technique without using cam cells
US6442662B1 (en) * 1995-01-19 2002-08-27 Fujitsu Limited Memory management device including a free block table and a conversion table with a free block address data identification component
EP0887735A2 (de) * 1997-06-25 1998-12-30 Sony Corporation Speicherverwaltungsverfahren für Flashspeicher

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008022567A1 (fr) * 2006-08-18 2008-02-28 Fortune Spring Technology (Shenzhen) Corporation Mécanisme de stockage à corps à mémoire flash présentant une fonction de restauration de données
WO2008102610A1 (ja) * 2007-02-23 2008-08-28 Panasonic Corporation メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム
JPWO2008102610A1 (ja) * 2007-02-23 2010-05-27 パナソニック株式会社 メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム
WO2010061333A1 (en) * 2008-11-26 2010-06-03 Nokia Corporation Methods, apparatuses, and computer program products for enhancing memory erase functionality
US8407401B2 (en) 2008-11-26 2013-03-26 Core Wireless Licensing S.A.R.L. Methods, apparatuses, and computer program products for enhancing memory erase functionality
US8615624B2 (en) 2008-11-26 2013-12-24 Core Wireless Licensing S.A.R.L. Methods, apparatuses, and computer program products for enhancing memory erase functionality

Also Published As

Publication number Publication date
TW200519596A (en) 2005-06-16
JP2007505415A (ja) 2007-03-08
CA2536992A1 (en) 2005-03-24
KR20060130013A (ko) 2006-12-18
US20090125668A1 (en) 2009-05-14
EP1665053A1 (de) 2006-06-07
CN1849590A (zh) 2006-10-18
DE10341618A1 (de) 2005-05-04

Similar Documents

Publication Publication Date Title
DE60317551T2 (de) Aufrechterhaltung gleichförmiger löschhäufigkeit in einem nichtflüchtigen speichersystem
DE60319563T2 (de) Verwaltung der anzahl von löschungen in einem nicht-fluchtigem speicher
DE19782041B4 (de) Verfahren zum Durchführen eines kontinuierlichen Überschreibens einer Datei in einem nicht-flüchtigen Speicher
DE60319407T2 (de) Verfolgen der am häufigsten gelöschten blöcke eines nichtflüchtigen speichersystems
DE69635962T2 (de) Flash-Speicher-Massenspeichersystem und Verfahren dafür
DE60217883T2 (de) Verfahren zum schreiben von daten in einen nicht-flüchtigen speicher
DE60316171T2 (de) Automatischer abnutzungsausgleich in einem nicht-flüchtigen speichersystem
DE60030876T2 (de) Bereichsverwaltung eines nichtflüchtigen Speichers mit hoher Kapazität
WO2005026963A1 (de) Verwaltung gelöschter blöcke in flash-speichern
DE69034227T2 (de) EEprom-System mit Blocklöschung
EP2401680B1 (de) Verfahren zur verwaltung von flashspeichern mit gemischten speichertypen
DE69726088T2 (de) Methode und Apparat zur Speicherverwaltung
DE102006003261A1 (de) Speichersystem und Verfahren zur Datenzusammenführung
DE112006004187T5 (de) Initativer Abnutzungsausgleich für einen nicht-flüchtigen Speicher
DE102009048179A1 (de) Prozess und Verfahren für eine Löschstrategie in Festkörperplatten
DE112010003577T5 (de) Datenverwaltung in Halbleiterspeicher-Einheiten und mehrstufigen Speichersystemen
DE102012022728A1 (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
DE19615948A1 (de) Flash-Festkörper-Plattenspeicher-Karte
DE102006005876A1 (de) Flashspeicher-Steuervorrichtung, Vorrichtung zum Steuern eines Flashspeichers, Flashspeicher-System und Verfahren zum Verwalten von Abbildungsdaten eines Flashspeichers
DE102010018765A1 (de) Speichervorrichtung und Speicherverfahren
CN108280032B (zh) 数据储存装置以及快闪存储器控制方法
DE112010004667T5 (de) Speichervorrichtung und Speichersteuerung
DE112020005787T5 (de) Verbesserte dateisystem-unterstützung für zonen-namespace-speicher

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200480026013.0

Country of ref document: CN

AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BW BY BZ CA CH CN CO CR CU CZ DK DM DZ EC EE EG ES FI GB GD GE GM HR HU ID IL IN IS JP KE KG KP KZ LC LK LR LS LT LU LV MA MD MK MN MW MX MZ NA NI NO NZ PG PH PL PT RO RU SC SD SE SG SK SY TJ TM TN TR TT TZ UA UG US UZ VN YU ZA ZM

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ NA SD SZ TZ UG ZM ZW AM AZ BY KG MD RU TJ TM AT BE BG CH CY DE DK EE ES FI FR GB GR HU IE IT MC NL PL PT RO SE SI SK TR BF CF CG CI CM GA GN GQ GW ML MR SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2004766485

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2536992

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 1020067004108

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 2006530229

Country of ref document: JP

WWP Wipo information: published in national office

Ref document number: 2004766485

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1020067004108

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 10571590

Country of ref document: US