[go: up one dir, main page]

WO2011082703A1 - Method for managing flash memories with multi-level cells - Google Patents

Method for managing flash memories with multi-level cells Download PDF

Info

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
Application number
PCT/DE2010/075001
Other languages
German (de)
French (fr)
Inventor
Franz Schmidberger
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 GmbH
Original Assignee
Hyperstone GmbH
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 GmbH filed Critical Hyperstone GmbH
Priority to PCT/DE2010/075001 priority Critical patent/WO2011082703A1/en
Publication of WO2011082703A1 publication Critical patent/WO2011082703A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital 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/5621Digital 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/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5641Multilevel memory having cells with different number of storage levels
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5643Multilevel 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

The invention relates to a method for managing a flash memory, wherein management and user data are stored, the user data is addressed by a host using logical sectors (S1 - Sd), and the flash memory has multi-level cells which store two or more bits per cell. The flash memory is segmented into a plurality of physical blocks (B1 - Bn) that can be deleted separately, and the physical blocks are segmented into pages (P1 - Pm) for a plurality of sectors, said pages being individually writable. The pages are separated into at least two levels (E1, E2) with different writing speeds, a first level (E1) of said levels being characterized by a high writing speed. Data for managing the flash memory is only stored in the first level (E1) of the flash memory, and sectors that are to be written for parts of a page are temporarily stored in a temporary memory (AP, AP2) in the first level (E1) until a complete page can be written. If user data must be written quickly, said user data can also be written exclusively utilizing the level E1.

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

Patentansprüche claims 1. Verfahren zur Verwaltung eines Flashspeichers, in dem Verwaltungs- und Nutzdaten gespeichert sind und die Nutzdaten von einem Host über logische Sektoren (Sl - Sd) 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 (Bl - Bn) gegliedert ist und die physikalischen Blöcke in einzeln beschreibbare Pages (PI - Pm) für eine Mehrzahl von Sektoren gegliedert sind, und die Pages auf mindestens zwei Ebenen (El, E2) mit A method of managing a flash memory in which administrative and payload data is stored and the payload data is addressed by a host via logical sectors (Sl-Sd), and the flash memory has multi-level cells containing two or more bits per cell wherein the flash memory is divided into a plurality of separately erasable physical blocks (Bl - Bn) and the physical blocks are divided into individually writable pages (PI - Pm) for a plurality of sectors, and the pages are at least two levels (El , E2) with unterschiedlichen Schreibgeschwindigkeiten aufgeteilt sind, wovon eine erste Ebene (El) sich durch eine hohe Schreibgeschwindigkeit auszeichnet, dadurch are split at different writing speeds, of which a first level (El) is characterized by a high write speed, characterized gekennzeichnet, dass marked that Daten zur Verwaltung des Flashspeichers nur in der ersten Ebene (El) des  Data for managing the flash memory only in the first level (El) of the Flashspeichers gespeichert werden und Flash memory can be stored and dass zu schreibende Sektoren für Teile einer Page in einem Zwischenspeicher (AP, AP2) in der ersten Ebene (El) zwischengespeichert werden, bis eine komplette Page beschrieben werden kann. that sectors to be written are buffered for parts of a page in a cache (AP, AP2) in the first level (El) until a complete page can be written. 2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass 2. The method according to claim 1, characterized in that über eine Paarungstabelle zu jeder Page der ersten Ebene (El) eines jeden Blockes (Bl) eine oder mehrere Pages der weiteren Ebenen zugeordnet sind. are associated via a pairing table to each page of the first level (El) of each block (Bl) one or more pages of the other levels. 3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass 3. The method according to claim 1, characterized in that in einem Schnellzugriffsbereich (FA) des Flashspeichers nur Pages der ersten Ebene (El) genutzt werden und die weiteren Ebenen ungenutzt bleiben. in a fast access area (FA) of the flash memory only pages of the first level (El) are used and the other levels remain unused. 4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass 4. The method according to claim 3, characterized in that in dem Schnellzugriffsbereich (FA) Verwaltungsdaten und Nutzdaten gespeichert werden. in the quick access area (FA) administrative data and user data are stored. 5. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass 5. The method according to claim 1, characterized in that in dem Zwischenspeicher mehrere Pages in Ausweichpages (AP) gespeichert werden. in the cache several pages in alternate pages (AP) are stored. 6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass 6. The method according to claim 5, characterized in that bei einem Schreibbefehl für einen Sektor (Sj), durch den die obere Grenze einer Ausweichpage (AP) erreicht wird, die nicht geänderten Sektoren (S 1 - S4) der Page aus der bisherigen Page zusammen mit den in der aktuellen Ausweichpage (AP) gespeicherten Sektoren (Sa bis Sj) gemischt und der gesamte Inhalt in eine leere Page übertragen werden. in a write command for a sector (Sj), by which the upper limit of an alternate page (AP) is reached, the unaltered sectors (S 1 - S4) of the page from the previous page together with those stored in the current backup page (AP) Sectors (Sa to Sj) are mixed and all content is transferred to a blank page. 7. Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass 7. The method according to claim 5, characterized in that bei einem Schreibbefehl für einen Sektor (Sj), der in einer anderen Page als der zuletzt adressierten Page liegt, die nicht geänderten Sektoren der zuletzt adressierten Page aus der zugehörigen bisherigen Page in die Ausweichpage (AP) kopiert werden und der Inhalt der gesamten Ausweichpage in eine andere Page übertragen wird. in the case of a write command for a sector (Sj) which is located in a page other than the last page addressed, the non-changed sectors of the last addressed page are copied from the associated previous page to the escape page (AP) and the content of the entire alternative page is stored in another page is transferred. 8. Verfahren nach Anspruch 6 oder 7, dadurch gekennzeichnet, dass 8. The method according to claim 6 or 7, characterized in that bei einem Flashspeicher mit zwei Ebenen Doppel- Ausweichpages (AP2) gebildet werden, die die Größe von normalen zwei Pages besitzen und diese Pages gemeinsam übertragen werden. in a two-level flash memory, double-evasive pages (AP2) are formed which are the size of normal two pages and these pages are transmitted together. 9. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass 9. The method according to claim 1, characterized in that die Nutzdaten einer verlustlosen Kompression unterzogen werden und wenn der Kompressionsfaktor >= 1/2 ist, diese komprimierten Daten in Pages der ersten Ebene (El) gespeichert werden und wenn der Kompressionsfaktor < 50% ist, diese the payload is subjected to lossless compression, and if the compression factor is> = 1/2, this compressed data is stored in first level pages (El) and if the compression factor is <50%, this komprimierten Daten in Pages der zweiten Ebene (E2) gespeichert werden. compressed data stored in second-level pages (E2). 10. Verfahren nach Anspruch 9, dadurch gekennzeichnet, dass 10. The method according to claim 9, characterized in that die Kompression über Nutzdaten in der Größe von zwei Pages vorgenommen wird. the compression over user data is made in the size of two pages.
PCT/DE2010/075001 2010-01-08 2010-01-08 Method for managing flash memories with multi-level cells Ceased WO2011082703A1 (en)

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)

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

Patent Citations (2)

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