WO2011082703A1 - Method for managing flash memories with multi-level cells - Google Patents
Method for managing flash memories with multi-level cells Download PDFInfo
- Publication number
- WO2011082703A1 WO2011082703A1 PCT/DE2010/075001 DE2010075001W WO2011082703A1 WO 2011082703 A1 WO2011082703 A1 WO 2011082703A1 DE 2010075001 W DE2010075001 W DE 2010075001W WO 2011082703 A1 WO2011082703 A1 WO 2011082703A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- pages
- page
- level
- flash memory
- stored
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5628—Programming or writing circuits; Data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/564—Miscellaneous aspects
- G11C2211/5641—Multilevel memory having cells with different number of storage levels
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/564—Miscellaneous aspects
- G11C2211/5643—Multilevel memory comprising cache storage devices
Definitions
- the invention relates to a method of managing a flash memory in which administrative and payload data are stored and the payload data is addressed by a host via logical sectors, and the flash memory has multi-level cells storing two or more bits per cell wherein the flash memory is divided into a plurality of separately erasable physical blocks, and the physical blocks are divided into individually writable pages for a plurality of sectors, and the pages are divided into at least two levels at different writing speeds, of which a first level is divided by one high write speed.
- flash memory has resulted in chips with ever larger storage capacities. These were achieved by so-called multi-level cells (MLC), in which two or more bits are stored in several levels per memory cell. These chips are organized in separately erasable blocks and individually writable pages. The pages are usually organized to be composed of bits of a particular level. In such chips are pages that have a high write speed and pages that are much slower to describe. Thus, in large multi-level chips, pages of 4kByte size can be written into fast pages within 300us, while the slower pages may require as much as 1500us for writing. The manufacturer of the chips indicates in so-called paired pages tables which pages share the same set of flash cells and thus also which pages are to be written quickly and which slower.
- MLC multi-level cells
- the fast pages are now assigned to a first level, the other pages to other levels.
- the cells of the first level are programmed out of the erased state, while the second level bits are written in cells already preprogrammed from the first level.
- Programming the first level is done at speeds similar to describing single-level cells (SLC).
- SLC single-level cells
- Another problem with such a two-level MLC memory is that incomplete programming of second-level pages may destroy previously written first-level data.
- MLC memory chips with the different programming speeds of the pages are offered inexpensively on the market. With the same memory sizes, they are more than half cheaper than the fast memory chips in SLC technology.
- Flash memories are made up of one or more flash memory chips and one
- Flash memory controller constructed. The method disclosed here looks great
- Flash memory chips in MLC technology in which administrative and user data are stored.
- the payload is accessed by a host through logical sectors that are translated to physical addresses in the pages by the flash memory controller via a translation table.
- the flash memory controller requires memory spaces in the management tasks
- Flash memory chips that store administrative data. These include conversion tables of logical to physical addresses and buffer areas in which payload data can be buffered.
- the writeable pages of flash memory with MLC memory chips are organized into layers, with the first level containing pages that can be written at high speed (fast access).
- the other levels contain pages that are only slowly writable (slow access). Via a pairing table, one or more pages of the other levels are assigned to each page of the first level.
- the method disclosed here now provides the administrative data only in one
- a fast access area is formed, in which the administrative data and also payload data are accommodated.
- Flash memory in SLC technology the methods for managing flash memories with mixed memory types can be used, as described in the patent application PCT / DE2009 / 075011 of the same applicant.
- the user data to be written is then examined as to whether a complete page can be programmed. This is often not the case. For example, the host may write several consecutive sectors on a per-sector basis. In this case, the sectors to be written are temporarily stored in a cache in the management area until the end of a page is reached and a complete page can be written. This page is then only transferred to the page in the first or another level valid according to the assignment in the conversion table.
- the cache is advantageously organized so that for several arbitrary pages so-called alternate pages are provided, in which the sectors to be rewritten are cached. For a write command for a sector, the upper bound of a
- Ausweichpage the non-changed sectors of the page from the previous page are mixed with the content of the current backup page and the entire content is transferred to a blank page.
- this blank page can be in the first level or another level.
- this blank page can be in the first level or another level.
- Lossless compression is a well-known method of reducing data to be stored.
- the lossless compression can be realized in hardware or in software.
- Fig. 1 shows the organization of a flash memory with two levels.
- Fig. 2 shows a pairing table
- Fig. 3 shows a buffer
- Fig. 4 shows the flow of storage with compression.
- a flash memory with the blocks Bl to Bn is shown, which is organized in the two levels El and E2.
- El is the level with the "fast access”
- E2 is slow to program with the "slow access”.
- Each block has m pages linked by a pairing table.
- An area of the flash memory, here for the blocks Bl and B2, is called
- Quick access area FA organized in which only the pages of the first level El are used.
- the associated area U of the second level E2 remains unused.
- This area, which is used only in the level El, is available for administration data and for payload data. With the "fast access” it can be used like an area in SLC technology.
- a page PI is shown, which will be further described and in which the sectors Sl, S2 and S3 remain unchanged.
- the changed sectors Sa to Sj are written into the alternate pages AP and AP "which are in the buffer, and when the sector Sj is written, the page boundary of AP is reached, and the unchanged sectors S1 to S3 with the alternate pages AP and AP 'are obtained. mixed and then into an empty Page P2 transfer.
- the sectors are first cached in a double escape page, such as in FIG.
- a double escape page such as in FIG.
- the payload is subjected to lossless compression.
- the compressed data will be stored in a page of the first level with the "fast access", which of course will have to be decompressed again later.
- the uncompressed original data is stored in second-level pages with the "slow access.” Decompression during reading is not required.
- the loss can be compensated by the unused pages of the second level.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Read Only Memory (AREA)
Abstract
Description
Verfahren zur Verwaltung von Flashspeichern mit Multi-Level-Zellen Method for managing Flash memories with multi-level cells
Die Erfindung bezieht sich auf ein Verfahren zur Verwaltung eines Flashspeichers, in dem Verwaltungs- und Nutzdaten gespeichert sind und die Nutzdaten von einem Host über logische Sektoren adressiert werden, und der Flashspeicher Multi-Level-Zellen besitzt, die zwei oder mehr Bits pro Zelle speichern, wobei der Flashspeicher in eine Vielzahl von separat löschbaren physikalischen Blöcken gegliedert ist und die physikalischen Blöcke in einzeln beschreibbare Pages für eine Mehrzahl von Sektoren gegliedert sind, und die Pages auf mindestens zwei Ebenen mit unterschiedlichen Schreibgeschwindigkeiten aufgeteilt sind, wovon eine erste Ebene sich durch eine hohe Schreibgeschwindigkeit auszeichnet. The invention relates to a method of managing a flash memory in which administrative and payload data are stored and the payload data is addressed by a host via logical sectors, and the flash memory has multi-level cells storing two or more bits per cell wherein the flash memory is divided into a plurality of separately erasable physical blocks, and the physical blocks are divided into individually writable pages for a plurality of sectors, and the pages are divided into at least two levels at different writing speeds, of which a first level is divided by one high write speed.
Die Entwicklung der Flashspeicher hat zu Chips mit immer größeren Speicherkapazitäten geführt. Diese wurden durch sogenannte Multi-Level-Zellen (MLC) erreicht, in denen pro Speicherzelle zwei oder mehr Bits in mehreren Ebenen abgespeichert werden. Diese Chips sind in separat löschbaren Blöcken und einzeln beschreibbaren Pages organisiert. Die Pages sind üblicherweise so organisiert, dass sie aus Bits einer bestimmten Ebene zusammengefasst sind. In solchen Chips befinden sich Pages, die eine hohe Schreibgeschwindigkeit besitzen und Pages, die deutlich langsamer zu beschreiben sind. So können in großen Multi-Level-Chips Pages von 4kByte Größe in schnelle Pages innerhalb von 300us geschrieben werden, während die langsamen Pages bis zu 1500us für das Beschreiben benötigen. Der Hersteller der Chips gibt in sogenannten Paired-Pages-Tabellen an, welche Pages sich denselben Satz von Flash- Zellen teilen und damit auch, welche Pages schnell und welche langsamer zu beschreiben sind. Die schnellen Pages werden nun einer ersten Ebene zugeordnet, die anderen Pages weiteren Ebenen. In einem Zwei-Ebenen-MLC-Speicher werden die Zellen der ersten Ebene aus dem gelöschten Zustand heraus programmiert, während die Bits der zweiten Ebene in Zellen geschrieben werden, die schon von der ersten Ebene vorprogrammiert sind. Das Programmieren der ersten Ebene erfolgt mit ähnlichen Geschwindigkeiten wie das Beschreiben von Single-Level-Cells (SLC). So kann in einem solchen MLC-Speicher die eine Hälfte der Pages sehr schnell und die andere Hälfte der Pages nur sehr langsam programmiert werden. The development of flash memory has resulted in chips with ever larger storage capacities. These were achieved by so-called multi-level cells (MLC), in which two or more bits are stored in several levels per memory cell. These chips are organized in separately erasable blocks and individually writable pages. The pages are usually organized to be composed of bits of a particular level. In such chips are pages that have a high write speed and pages that are much slower to describe. Thus, in large multi-level chips, pages of 4kByte size can be written into fast pages within 300us, while the slower pages may require as much as 1500us for writing. The manufacturer of the chips indicates in so-called paired pages tables which pages share the same set of flash cells and thus also which pages are to be written quickly and which slower. The fast pages are now assigned to a first level, the other pages to other levels. In a two-level MLC memory, the cells of the first level are programmed out of the erased state, while the second level bits are written in cells already preprogrammed from the first level. Programming the first level is done at speeds similar to describing single-level cells (SLC). Thus, in such an MLC memory, one half of the pages can be programmed very fast and the other half of the pages very slowly.
Ein weiteres Problem eines solchen Zwei-Ebenen-MLC-Speichers besteht darin, dass ein unvollständiges Programmieren von Pages der zweiten Ebene schon vorher korrekt geschriebene Daten der ersten Ebene zerstören kann. Another problem with such a two-level MLC memory is that incomplete programming of second-level pages may destroy previously written first-level data.
MLC-Speicherchips mit den unterschiedlichen Programmiergeschwindigkeiten der Pages werden preiswert auf dem Markt angeboten. Sie sind bei gleichen Speichergrößen um mehr als die Hälfte billiger als die schnellen Speicherchips in SLC-Technologie. MLC memory chips with the different programming speeds of the pages are offered inexpensively on the market. With the same memory sizes, they are more than half cheaper than the fast memory chips in SLC technology.
Es ist die Aufgabe der Erfindung ein Verfahren zu offenbaren, das ein schnelles Programmieren von Nutzdaten in Flashspeichern mit großen MLC-Speicherchips erlaubt und damit ermöglicht, große Flashspeicher mit guten Schreibgeschwindigkeiten preiswert anzubieten. It is the object of the invention to disclose a method which allows a fast programming of payload data in flash memories with large MLC memory chips and thus makes it possible to inexpensively offer large flash memories with good writing speeds.
Diese Aufgabe wird mit den Merkmalen des Anspruchs 1 gelöst. This object is achieved with the features of claim 1.
Vorteilhafte Ausgestaltungen der Erfindung sind in den Unteransprüchen angegeben. Advantageous embodiments of the invention are specified in the subclaims.
Flashspeicher werden aus ein oder mehreren Flashspeicherchips und einem Flash memories are made up of one or more flash memory chips and one
Flashspeichercontroller aufgebaut. Das hier offenbarte Verfahren sieht große Flash memory controller constructed. The method disclosed here looks great
Flashspeicherchips in MLC-Technologie vor, in denen Verwaltungs- und Nutzdaten gespeichert werden. Auf die Nutzdaten wird von einem Host über logische Sektoren zugegriffen, die mittels des Flashspeichercontrollers über eine Umsetztabelle auf physikalische Adressen in den Pages umgesetzt werden. Für die vielfältigen Flash memory chips in MLC technology, in which administrative and user data are stored. The payload is accessed by a host through logical sectors that are translated to physical addresses in the pages by the flash memory controller via a translation table. For the diverse
Verwaltungsaufgaben benötigt der Flashspeichercontroller Speicherbereiche in denThe flash memory controller requires memory spaces in the management tasks
Flashspeicherchips, in denen Verwaltungsdaten gespeichert werden. Zu diesen gehören Umsetztabellen von logischen zu physikalischen Adressen und Pufferbereiche, in denen Nutzdaten zwischengespeichert werden können. Die beschreibbaren Pages von Flashspeichern mit MLC-Speicherchips werden in Ebenen organisiert, wobei die erste Ebene Pages enthält, die mit hoher Geschwindigkeit beschrieben werden können (fast access). Die weiteren Ebenen enthalten Pages, die nur langsam beschreibbar sind (slow access). Über eine Paarungstabelle sind zu jeder Page der ersten Ebene eine oder mehrere Pages der weiteren Ebenen zugeordnet. Flash memory chips that store administrative data. These include conversion tables of logical to physical addresses and buffer areas in which payload data can be buffered. The writeable pages of flash memory with MLC memory chips are organized into layers, with the first level containing pages that can be written at high speed (fast access). The other levels contain pages that are only slowly writable (slow access). Via a pairing table, one or more pages of the other levels are assigned to each page of the first level.
Das hier offenbarte Verfahren sieht nun vor, die Verwaltungsdaten nur in einem The method disclosed here now provides the administrative data only in one
Verwaltungsbereich der ersten Ebene des Flashspeichers zu halten. Hold the first level management area of flash memory.
Weiterhin wird in einer bevorzugten Ausführungsform des Verfahrens in der ersten Ebene ein Schnellzugriffsbereich gebildet, in dem die Verwaltungsdaten und auch Nutzdaten untergebracht sind. Furthermore, in a preferred embodiment of the method in the first level, a fast access area is formed, in which the administrative data and also payload data are accommodated.
Die Sicherheit des Programmierens von Pages wird erhöht, wenn nur Pages der ersten Ebene beschrieben werden und die zweite oder weiteren Ebenen ungenutzt bleiben. Es erfolgt dann keine gegenseitige Beeinflussung der Bits in den Multi-Level-Zellen. Diese nur teilweise Nutzung des Flashspeichers kann wegen des Kostenvorteils toleriert werden, insbesondere dann, wenn nur ein Teil des Flashspeichers so genutzt wird. Wenn nun in diesem Schnellzugriffsbereich des Speichers nur eine Ebene genutzt wird, verhält sich dieser Bereich bzgl. der Programmiergeschwindigkeit fast wie ein The security of programming pages is increased when only first-level pages are described and the second or further layers are left unused. There is then no mutual influence of the bits in the multi-level cells. This partial use of the flash memory can be tolerated because of the cost advantage, especially if only a portion of the flash memory is so used. If only one level is used in this quick access area of the memory, this area behaves almost like a programming speed
Flashspeicher in SLC-Technologie. Hier können dann die Verfahren zur Verwaltung von Flashspeichern mit gemischten Speichertypen genutzt werden, wie Sie in der Patentanmeldung PCT/DE2009/075011 des gleichen Anmelders beschrieben sind. Flash memory in SLC technology. Here then, the methods for managing flash memories with mixed memory types can be used, as described in the patent application PCT / DE2009 / 075011 of the same applicant.
Die zu schreibenden Nutzdaten werden daraufhin untersucht, ob eine komplette Page programmiert werden kann. Dies ist häufig nicht der Fall. Der Host kann z.B. mehrere aufeinanderfolgende Sektoren einzelsektorweise schreiben. In diesem Fall werden die zu schreibenden Sektoren in einem Zwischenspeicher im Verwaltungsbereich temporär gespeichert, und zwar so oft, bis das Ende einer Page erreicht ist und eine komplette Page beschrieben werden kann. Diese Page wird dann erst in die, gemäß der Zuordnung in der Umsetztabelle gültige Page in der ersten oder einer weiteren Ebene übertragen. Der Zwischenspeicher ist vorteilhaft so organisiert, dass für mehrere beliebige Pages sogenannte Ausweichpages vorgesehen sind, in denen die neu zu schreibenden Sektoren zwischengespeichert werden. Bei einem Schreibbefehl für einen Sektor, durch den die obere Grenze einer The user data to be written is then examined as to whether a complete page can be programmed. This is often not the case. For example, the host may write several consecutive sectors on a per-sector basis. In this case, the sectors to be written are temporarily stored in a cache in the management area until the end of a page is reached and a complete page can be written. This page is then only transferred to the page in the first or another level valid according to the assignment in the conversion table. The cache is advantageously organized so that for several arbitrary pages so-called alternate pages are provided, in which the sectors to be rewritten are cached. For a write command for a sector, the upper bound of a
Ausweichpage erreicht wird, werden die nicht geänderten Sektoren der Page aus der bisherigen Page mit dem Inhalt der aktuellen Ausweichpage gemischt und der gesamte Inhalt wird in eine leere Page übertragen. Bei Nutzdaten kann diese leere Page in der ersten Ebene oder einer weiteren Ebene liegen. Ausweichpage is reached, the non-changed sectors of the page from the previous page are mixed with the content of the current backup page and the entire content is transferred to a blank page. For payload data, this blank page can be in the first level or another level.
Die Ausweichpage wird zum Löschen freigegeben. The alternative page is released for deletion.
Wenn ein Schreibbefehl für einen Sektor, der in einer anderen Page als der zuletzt adressierten Page liegt, werden die nicht geänderten Sektoren der zuletzt adressierten Page aus der zugehörigen bisherigen Page mit dem Inhalt der Ausweichpage gemischt und der gesamte Inhalt in eine leere Page übertragen. Bei Nutzdaten kann diese leere Page in der ersten Ebene oder einer weiteren Ebene liegen. If a write command for a sector located in a page other than the last page addressed, the non-changed sectors of the last page addressed from the associated previous page are mixed with the contents of the backup page and the entire content is transferred to a blank page. For payload data, this blank page can be in the first level or another level.
Die Ausweichpage wird zum Löschen freigegeben. The alternative page is released for deletion.
Bei der Bildung eines Schnellzugriffbereiches wird ein Teil der zweiten Ebene nicht genutzt. Dies verringert die Kapazität des gesamten Flashspeichers. Dies kann kompensiert werden, indem die Nutzdaten einer verlustlosen Kompression unterzogen werden. When forming a quick access area, a part of the second level is not used. This reduces the capacity of the entire flash memory. This can be compensated for by subjecting the payload to lossless compression.
Die verlustlose Kompression ist eine gut bekannte Methode zum Verringern von zu speichernden Daten. Die verlustlose Kompression kann in Hardware oder in Software realisiert sein. Lossless compression is a well-known method of reducing data to be stored. The lossless compression can be realized in hardware or in software.
Die Kompensation des genutzten Teils des Speichers erfolgt nun dadurch, dass bei einem Kompressionsfaktor >= 1/2, diese komprimierten Daten in Pages der ersten Ebene gespeichert werden und wenn der Kompressionsfaktor < 1/2 ist, die Original- Daten in Pages der ersten und zweiten Ebene gespeichert werden. Somit kann die vollständige nominale Kapazität des Speichers erreicht werden. Ausführungsformen des Verfahrens sind in den Figuren beispielhaft erläutert. The compensation of the used part of the memory is now done by storing at a compression factor> = 1/2, these compressed data in pages of the first level and if the compression factor <1/2, the original data in pages of the first and stored second level. Thus, the full nominal capacity of the memory can be achieved. Embodiments of the method are exemplified in the figures.
Fig. 1 zeigt die Organisation eines Flashspeichers mit zwei Ebenen. Fig. 1 shows the organization of a flash memory with two levels.
Fig. 2 zeigt eine Paarungstabelle. Fig. 2 shows a pairing table.
Fig. 3 zeigt einen Zwischenspeicher. Fig. 3 shows a buffer.
Fig. 4 zeigt den Ablauf der Speicherung mit Kompression. Fig. 4 shows the flow of storage with compression.
In Fig. 1 ist ein Flashspeicher mit den Blöcken Bl bis Bn dargestellt, der in den beiden Ebenen El und E2 organisiert ist. El ist die Ebene mit dem„fast access", während E2 nur langsam mit dem„slow access" zu programmieren ist. In Fig. 1, a flash memory with the blocks Bl to Bn is shown, which is organized in the two levels El and E2. El is the level with the "fast access", while E2 is slow to program with the "slow access".
Jeder Block besitzt m Pages, die über eine Paarungstabelle verknüpft sind. Each block has m pages linked by a pairing table.
Fig. 2 gibt eine beispielhafte Paarungstabelle für einen Block Bl mit m = 128 Pages (0x00 bis 0x7F) an, wobei zu jedem Block der ersten Ebene El ein Block der zweiten Ebene E2 zugeordnet ist. FIG. 2 indicates an exemplary pairing table for a block Bl with m = 128 pages (0x00 to 0x7F), wherein a block of the second level E2 is assigned to each block of the first level El.
PI ist die Page von Tabelleneintrag B1:E1(1) = 0x00, Pk ist die Page von PI is the page of table entry B1: E1 (1) = 0x00, Pk is the page of
Tabelleneintrag Bl:El(k) = 0x7B, allgemein Pi ist die Page von Tabelleneintrag Bl:El(i) für i = 1 ... k, k = Anzahl Pages pro Block / 2 Table entry Bl: El (k) = 0x7B, generally Pi is the page of table entry Bl: El (i) for i = 1 ... k, k = number of pages per block / 2
Pk+1 ist die Page von Tabelleneintrag B1:E2(1) = 0x04, Pm ist die Page von Pk + 1 is the page of table entry B1: E2 (1) = 0x04, Pm is the page of
Tabelleneintrag Bl:E2(m-k) = 0x7F, allgemein Pk+i ist die zur Page i gepaarte Page von Tabelleneintrag Bl:E2(i) (für i = 1 ... k, k = Anzahl Pages pro Block / 2, m = 2*k). Table entry Bl: E2 (mk) = 0x7F, generally Pk + i is the paired page of table entry Bl: E2 (i) (for i = 1 ... k, k = number of pages per block / 2, m = 2 * k).
Ein Bereich des Flashspeichers, hier für die Blöcke Bl und B2, wird als An area of the flash memory, here for the blocks Bl and B2, is called
Schnellzugriffsbereich FA organisiert, in dem nur die Pages der ersten Ebene El genutzt werden. Der zugehörige Bereich U der zweiten Ebene E2 bleibt ungenutzt. Dieser nur in der Ebene El genutzte Bereich steht für Verwaltungsdaten und für Nutzdaten zur Verfügung. Mit dem„fast access" kann er wie ein Bereich in SLC- Technologie genutzt werden. Quick access area FA organized in which only the pages of the first level El are used. The associated area U of the second level E2 remains unused. This area, which is used only in the level El, is available for administration data and for payload data. With the "fast access" it can be used like an area in SLC technology.
In Fig. 3 ist eine Page PI dargestellt, die weiter beschrieben wird und in der die Sektoren Sl, S2 und S3 unverändert bleiben. In Fig. 3, a page PI is shown, which will be further described and in which the sectors Sl, S2 and S3 remain unchanged.
Die veränderten Sektoren Sa bis Sj werden in die Ausweichpages AP und AP" geschrieben, die sich im Zwischenspeicher befinden. Mit dem Schreiben des Sektors Sj wird die Pagegrenze von AP erreicht. Nun werden die unveränderten Sektoren Sl bis S3 mit dem Ausweichpages AP und AP' gemischt und danach in eine leere Page P2 übertragen. The changed sectors Sa to Sj are written into the alternate pages AP and AP "which are in the buffer, and when the sector Sj is written, the page boundary of AP is reached, and the unchanged sectors S1 to S3 with the alternate pages AP and AP 'are obtained. mixed and then into an empty Page P2 transfer.
Die Pages PI, AP und AP' werden zum Löschen freigegeben. Pages PI, AP and AP 'are released for deletion.
In Fig. 4 ist der Ablauf der Speicherung von Sektoren mit Kompression gezeigt. In Fig. 4, the flow of storage of sectors with compression is shown.
Die Sektoren werden zunächst in einer Doppel- Ausweichpage, etwa wie in Fig. 4, zwischengespeichert. Wenn die Doppel- Ausweichpage gefüllt ist werden die Nutzdaten einer verlustlosen Kompression unterzogen. The sectors are first cached in a double escape page, such as in FIG. When the double escape page is filled, the payload is subjected to lossless compression.
Wenn nun der Kompressionsfaktor >= 50% ist werden die komprimierten Daten in einer Page der ersten Ebene mit dem„fast access" gespeichert. Beim späteren Auslesen der Daten müssen diese natürlich wieder dekomprimiert werden. If the compression factor> = 50%, the compressed data will be stored in a page of the first level with the "fast access", which of course will have to be decompressed again later.
Ist der Kompressions faktor < 50%, werden die nicht komprimierten Original-Daten in Pages der zweiten Ebene mit dem„slow access" gespeichert. Eine Dekompression beim Auslesen ist nicht erforderlich. If the compression factor is <50%, the uncompressed original data is stored in second-level pages with the "slow access." Decompression during reading is not required.
Mit der Kompression der Nutzdaten kann der Verlust durch die nicht genutzten Pages der zweiten Ebene kompensiert werden. With the compression of the payload, the loss can be compensated by the unused pages of the second level.
Bezugszeichen reference numeral
AP, AP1 AusweichpagesAP, AP 1 alternate pages
AP2 Doppel- AusweichpageAP2 double evasive page
Bl - Bn Blöcke Bl - Bn blocks
El Erste Ebene El First level
E2 Zweite Ebene E2 Second level
FA Schnellzugriffsbereich FA quick access area
Sl - S4 Unveränderte SektorenSl - S4 Unchanged sectors
Sa - Sd Veränderte SektorenSa - Sd Changed sectors
PI - Pm Pages PI - Pm Pages
U Ungenutzte Pages U Unused Pages
Claims
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/DE2010/075001 WO2011082703A1 (en) | 2010-01-08 | 2010-01-08 | Method for managing flash memories with multi-level cells |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/DE2010/075001 WO2011082703A1 (en) | 2010-01-08 | 2010-01-08 | Method for managing flash memories with multi-level cells |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2011082703A1 true WO2011082703A1 (en) | 2011-07-14 |
Family
ID=42115643
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/DE2010/075001 Ceased WO2011082703A1 (en) | 2010-01-08 | 2010-01-08 | Method for managing flash memories with multi-level cells |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2011082703A1 (en) |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20060136656A1 (en) * | 2004-12-21 | 2006-06-22 | Conley Kevin M | System and method for use of on-chip non-volatile memory write cache |
| US20070268745A1 (en) * | 2006-05-21 | 2007-11-22 | Sandisk Il Ltd. | Method of storing data in a multi-bit-cell flash memory |
-
2010
- 2010-01-08 WO PCT/DE2010/075001 patent/WO2011082703A1/en not_active Ceased
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20060136656A1 (en) * | 2004-12-21 | 2006-06-22 | Conley Kevin M | System and method for use of on-chip non-volatile memory write cache |
| US20070268745A1 (en) * | 2006-05-21 | 2007-11-22 | Sandisk Il Ltd. | Method of storing data in a multi-bit-cell flash memory |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE69612752T2 (en) | MEMORY ARRANGEMENT | |
| DE112020005787T5 (en) | IMPROVED FILE SYSTEM SUPPORT FOR ZONE NAMESPACE STORAGE | |
| EP2401680B1 (en) | Method for managing flash memories having mixed memory types | |
| DE102020106971A1 (en) | DATA WRITE MANAGEMENT IN NON-VOLATILE MEMORY | |
| DE112017005868T5 (en) | MANAGING I / O FLOWS FOR DATA OBJECTS IN A STORAGE SYSTEM | |
| DE102006003261A1 (en) | Storage system and method for data fusion | |
| DE102008057219A1 (en) | Method of operating a solid state storage system, solid state storage system and computer system | |
| DE102013016609A1 (en) | Apparatus and method for a low energy, low latency and high capacity storage class memory | |
| DE102009048179A1 (en) | Process and method for a deletion strategy in solid plates | |
| DE102014101185A1 (en) | Method of managing flash memories with mixed memory types using a fine granular allocation of logical to physical memory addresses | |
| EP2215636B1 (en) | Method for even utilization of a plurality of flash memory chips | |
| DE112010005870B4 (en) | Method for releasing storage areas that are no longer required on non-volatile storage media | |
| DE112022000468T5 (en) | DIFFERENT WRITE PRIORITIZATION IN CNS DEVICES | |
| DE102005022893B3 (en) | Memory card e.g. multi media card, for data storage, has memory management unit providing open and safe interface to access memory blocks and protocol adapter accessing contents of card from host system connected with adapter by interface | |
| DE3333894C2 (en) | ||
| DE102020108101A1 (en) | Device for storing data in a non-volatile memory | |
| WO2011082703A1 (en) | Method for managing flash memories with multi-level cells | |
| DE102014100800A1 (en) | Method for reliable addressing of a large flash memory | |
| EP2948894B1 (en) | Method for securely erasing a non-volatile semiconductor mass memory, computer system, and computer program product | |
| WO2009143885A1 (en) | Method for addressing page-oriented non-volatile memories | |
| DE112023001561T5 (en) | SEPARATING LARGE DATA BLOCKS FOR DATA STORAGE SYSTEMS | |
| DE10227256C1 (en) | Addressing blockwise erasable memories involves checking flag memory per address conversion in connection with sector write command leading to written sector to determine if block address present | |
| DE102020115949B3 (en) | DATA STORAGE WITH IMPROVED WRITING PERFORMANCE FOR PREFERRED USER DATA | |
| DE102021002079B3 (en) | Procedures for efficient data filing | |
| WO2002099650A2 (en) | Method for managing a chip card memory |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 10710175 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 1120100050996 Country of ref document: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 10710175 Country of ref document: EP Kind code of ref document: A1 |