• Keine Ergebnisse gefunden

TEPZZ A_T EP A1 (19) (11) EP A1 (12) EUROPÄISCHE PATENTANMELDUNG. (51) Int Cl.: G06F 12/02 ( )

N/A
N/A
Protected

Academic year: 2022

Aktie "TEPZZ A_T EP A1 (19) (11) EP A1 (12) EUROPÄISCHE PATENTANMELDUNG. (51) Int Cl.: G06F 12/02 ( )"

Copied!
18
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

2 653 973 A1

TEPZZ 65¥97¥A_T

(11)

EP 2 653 973 A1

(12)

EUROPÄISCHE PATENTANMELDUNG

(43) Veröffentlichungstag:

23.10.2013 Patentblatt 2013/43 (21) Anmeldenummer: 12164867.9 (22) Anmeldetag: 20.04.2012

(51) Int Cl.:

G06F 12/02(2006.01)

(84) Benannte Vertragsstaaten:

AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

Benannte Erstreckungsstaaten:

BA ME

(71) Anmelder: Siemens Aktiengesellschaft 80333 München (DE)

(72) Erfinder:

• Gürtler, Tobias 92224 Amberg (DE)

• Lang, Georg

92237 Sulzbach-Rosenberg (DE) Bemerkungen:

Geänderte Patentansprüche gemäss Regel 137(2) EPÜ.

(54) Verfahren zur Verlängerung der Lebensdauer eines physikalischen Flash-Speichers (57) Die Erfindung betrifft ein Verfahren zur Verlän-

gerung der Lebensdauer eines physikalischen Flash- Speichers (100) mit physikalischen Speicherblöcken (102), wobei jeder der physikalischen Speicherblöcke (102) physikalische Sektoren (103) aufweist, wobei jeder der physikalischen Sektoren (103) dazu ausgebildet ist,

einen Wert, welcher einem logischen Sektor (114) eines logischen Speicherblocks (112) eines logischen Spei- chers (110) zugeordnet ist, zu empfangen und zu spei- chern, wobei die Anzahl der physikalischen Sektoren (103) pro physikalischen Speicherblock (102) größer als die Anzahl der logischen Sektoren (114) pro logischem Speicherblock (112) ist.

(2)

5

10

15

20

25

30

35

40

45

50

55

Beschreibung

[0001] Die Erfindung betrifft ein Verfahren zur Verlän- gerung der Lebensdauer eines physikalischen Flash- Speichers mit physikalischen Speicherblöcken, eine Vor- richtung zur Steuerung eines Verfahrens zur Verlänge- rung der Lebensdauer eines physikalischen Flash-Spei- chers sowie ein Computerprogrammprodukt.

[0002] Im Umfeld von speicherprogrammierbaren Steuerungen (SPS) werden zur Speicherung von persi- stenten Daten Flash-Speicher verwendet. Flash-Spei- cher zeichnen sich dadurch aus, dass auch wenn eine Energieversorgung zum Flash-Speicher getrennt wird, die zuvor auf dem Flash-Speicher gespeicherten Daten weiterhin gespeichert bleiben.

[0003] Von einem im Umfeld einer speicherprogram- mierbaren Steuerung eingesetzten Flash-Speicher wird unter anderem eine hohe Lebensdauer, eine lange Data Retention Time sowie eine hohe Übertragungsgeschwin- digkeit auch bei geringen Datenmengen verlangt. Die technologische Weiterentwicklung der Flash-Speicher, welche mit einer Förderung von Shrink-Prozessen zur Vergrößerung der Speichermenge auf gleicher Fläche zur Reduktion der Kosten pro Datenmenge und zur Er- höhung der Performance für große Datenmengen ver- bunden sind, wirkt nun den oben genannten Anforderun- gen bei Einsatz des Flash-Speichers im industriellen Um- feld entgegen. Die Shrink-Prozesse bewirken eine Be- schleunigung der Alterung des physikalischen Spei- chers, eine Zunahme der Bitfehlerrate, eine Abnahme der allgemeinen Lebensdauer des Flash-Speichers so- wie eine Abnahme der "Single Sector Random Rate"- Performance.

[0004] Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren zur Verlängerung der Lebensdauer eines phy- sikalischen Flash-Speichers, eine Vorrichtung zur Steue- rung eines Verfahrens zur Verlängerung der Lebens- dauer eines physikalischen Flash-Speichers sowie ein Computerprogrammprodukt zu schaffen.

[0005] Die der Erfindung zugrunde liegenden Aufga- ben werden jeweils mit den Merkmalen der unabhängi- gen Patentansprüche gelöst. Bevorzugte Ausführungs- formen der Erfindung sind in den abhängigen Patentan- sprüchen angegeben.

[0006] Es wird ein Verfahren zur Verlängerung der Le- bensdauer eines physikalischen Flash-Speichers mit physikalischen Speicherblöcken geschaffen, wobei je- der der physikalischen Speicherblöcke physikalische Sektoren aufweist, wobei jeder der physikalischen Sek- toren dazu ausgebildet ist, einen Wert, welcher einem logischen Sektor eines logischen Speicherblocks eines logischen Speichers zugeordnet ist, zu empfangenen und zu speichern, wobei die Anzahl der physikalischen Sektoren pro physikalischem Speicherblock größer als die Anzahl der logischen Sektoren pro logischem Spei- cherblock ist, wobei das Verfahren folgende Schritte um- fasst:

a) Zuordnung eines aktuellen Werts dem logischen Sektor,

b) Speicherung des aktuellen Werts in einem dem logischen Sektor zugeordneten aktuellen physikali- schen Sektor eines physikalischen Speicherblocks, c) Zuordnung eines nachfolgenden aktuellen Werts dem logischen Sektor, wodurch zum Erhalt eines neuen aktuellen Werts der aktuelle Wert im logi- schen Sektor mit dem nachfolgenden Wert über- schrieben wird,

d) Speicherung des aktuellen Werts in einem dem aktuellen physikalischen Sektor logisch nachgeord- neten physikalischen Sektor des physikalischen Speicherblocks und damit in einem neuen aktuellen physikalischen Sektor,

e) Wiederholung der Schritte c - d, solange bis alle physikalischen Sektoren des physikalischen Spei- cherblocks einen Wert aufweisen,

f) im Falle, dass alle physikalischen Sektoren des physikalischen Speicherblocks einen Wert aufwei- sen und erneut ein nachfolgender Wert dem logi- schen Sektor zugeordnet werden soll, Löschen des physikalischen Speicherblocks und erneute Durch- führung der Schritte c bis e mit diesem nachfolgen- den Wert.

[0007] Durch eine Erweiterung des physikalischen Speichers und dessen komplette Nutzung durch eine vorgegebene bestimmte logische Speichermenge wird in vorteilhafter Weise die Lebensdauer des physikali- schen Speichers erhöht. Bei Wahl eines bestimmten Größenverhältnisses zwischen dem logischen und dem physikalischen Speicher, welches z.B. in einem den Flash-Speicher steuernden Controller konFIGiert wer- den kann, kann die Lebensdauer eines Flash-Speichers um einen bestimmten Faktor erhöht werden, wobei der Faktor dem konFIGierten Größenverhältnis zwischen dem logischen und physikalischen Speicher entspricht.

[0008] Ein physikalischer Sektor eines Flash-Spei- chers stellt die kleinste Einheit zum Lesen bzw. Schrei- ben von Daten dar. Einzelne physikalische Sektoren kön- nen nicht gelöscht werden. Ein physikalischer Speicher- block eines Flash-Speichers umfasst eine vielfache Men- ge von physikalischen Sektoren und stellt gleichzeitig die kleinste Einheit von löschbaren Daten dar. Logische Sek- toren stellen analog die kleinste lesbare/beschreibbare Einheit zum Lesen bzw. Schreiben in einem logischen Speicher dar. Während logische Sektoren mit neuen Werten überschrieben werden können, müssen physi- kalische Sektoren hingegen zuerst gelöscht werden, um ein erneutes Programmieren zu ermöglichen. Da physi- kalische Sektoren einzeln nicht gelöscht werden können, muss zunächst der zugehörige physikalische Speicher- block insgesamt gelöscht werden. Erst nach einer Lö- schung des kompletten physikalischen Speicherblocks können die physikalischen Sektoren dieses physikali- schen Speicherblocks mit neuen Daten überschrieben werden. Durch mehrmaliges Löschen von physikali-

(3)

5

10

15

20

25

30

35

40

45

50

55

schen Speicherblöcken altern die zugehörigen physika- lischen Sektoren. Dies hat zur Folge, dass die Bitfehler- rate mit zunehmender Anzahl von Löschprozessen an- steigt und die Data Retention Time abnimmt. Ein physi- kalischer Speicherblock wird dabei als "unbrauchbar"

markiert, sobald ein vom Controller verwendeter soge- nannter"Error Correction Code" nicht mehr in der Lage ist, die innerhalb eines physikalischen Speicherblocks vorhandenen Bitfehler zu korrigieren.

[0009] Aktuelle industriell eingesetzte Flash-Speicher- karten sind beispielsweise mit 100000 Program- mier-/Löschzyklen pro physikalischem Speicherblock spezifiziert. Das heißt, dass nach 100000maligen Pro- grammieren und/oder Löschen eines physikalischen Speicherblocks dieser physikalische Speicherblock als

"unbrauchbar" zu qualifizieren ist.

[0010] Dadurch, dass für einen gegebenen logischen Speicherblock ein vergrößerter physikalischer Speicher- block zum Empfang und Speicherung von jeweils einen logischen Sektor überschreibenden neuen Werten zur Verfügung steht, wird einer Alterung jedes einzelnen phy- sikalischen Sektors des physikalischen Speicherblocks in vorteilhafter Weise entgegengewirkt. Gleichzeitig wird die Löschung eines physikalischen Speicherblocks ver- zögert, dadurch, dass eine erhöhte Anzahl von physika- lischen Sektoren zur Speicherung von Werten, mit wel- chen die logischen Sektoren überschrieben werden, zur Verfügung steht und eine Löschung des physikalischen Speicherblocks erst dann initiiert wird, wenn jeder ein- zelne physikalische Sektor des physikalischen Speicher- blocks einen solchen Wert aufweist. Gleichzeitig erhöht sich in vorteilhafter Weise bei identischer logischer Spei- cherung das Schreibdatenvolumen pro Lebensdauer ei- nes physikalischen Flash- Speichers, welches in der In- dustrie eine wichtige Rolle spielt. Ein weiterer Vorteil ist, dass die durchschnittliche Schreibgeschwindigkeit er- höht wird, da ein Umgruppieren der in den physikalischen Sektoren gespeicherten Daten und ein anschließendes Löschen des gesamten physikalischen Speicherblocks erst zu einem späteren Zeitpunkt erfolgt. Die Erfindung könnte daher für Speicherprodukte sowohl im industriel- len Anwendungsbereich als auch im Consumerbereich Vorteile bewirken.

[0011] Nach einer Ausführungsform der Erfindung er- folgt die erneute Durchführung der Schritte c bis e in ei- nem freien physikalischen Speicherblock, wobei der freie physikalische Speicherblock ausschließlich physi- kalische Sektoren aufweist, welche frei von einem Wert sind und welche bereit für die Speicherung des aktuellen Werts gemäß dem Schritt d sind.

[0012] Dies kann den Vorteil haben, dass die Verwal- tung durch einen Controller, welcher zusätzlich einen so- genannten Wear Leveling Mechanismus zur Vermei- dung von frühzeitigen Ausfällen von bestimmten physi- kalischen Sektoren verwendet, wesentlich erleichtert werden kann. Indirekt kann damit gleichzeitig in vorteil- hafter Weise die sogenannte "Single Sector Random Write" Performance verbessert werden. Es kann somit

in effektiver Weise dafür gesorgt werden, dass alle phy- sikalischen Sektoren verschiedener physikalischer Spei- cherblöcke relativ gleichmäßig programmiert und ge- löscht werden. Dadurch wird eine gleichmäßige Alterung des Flash-Speichers gewährleistet.

[0013] Nach einer Ausführungsform der Erfindung weist der physikalische Flash-Speicher während seiner Lebensdauer stets den freien physikalischen Speicher- block auf.

[0014] Dem Controller steht somit in vorteilhafter Wei- se stets ein physikalischer Speicherblock zur Verfügung, dessen physikalische Sektoren stets empfangsbereit für eine Speicherung eines neuen Überschreibungswerts ei- nes logischen Sektors des logischen Speicherblocks sind. Dies ist besonders dann vorteilhaft, wenn alle phy- sikalischen Sektoren eines anderen physikalischen Speicherblocks mit Werten belegt sind und ein neuer Überschreibungswert eines logischen Sektors nicht mehr in einen physikalischen Sektor des zuvor logisch zugeordneten Speicherblocks abgespeichert werden kann. Der freie physikalische Speicherblock steht somit stets als "Ersatzblock" zur Verfügung, welcher für eine Abspeicherung von nachfolgenden neuen Überschrei- bungswerten eines logischen Sektors sofort zur Verfü- gung steht. Während des Speicherns der weiteren neuen Überschreibungswerte der logischen Sektoren kann der bisherige zugeordnete physikalische Speicherblock um- programmiert bzw. gelöscht werden und dann selbst die Funktion eines neuen Ersatzblocks, welcher stets zur Verfügung steht, übernehmen. Nach einer Ausführungs- form der Erfindung sind die physikalischen Sektoren ei- nes physikalischen Speicherblocks in mehrere Gruppen zusammengefasst, wobei bei Durchführung des Schrit- tes d, der dem aktuellen physikalischen Sektor logisch nachgeordnete physikalische Sektor des physikalischen Speicherblocks ein Sektor ist, welcher sich in einer nach- folgenden Gruppe befindet, welche der aktuellen Gruppe logisch nachfolgt, in welcher sich der aktuelle physikali- sche Sektor befindet.

[0015] Dies kann den Vorteil haben, dass ein Einsatz spezieller controllerspezifischer Steuerungsprogramme zur Speicherblockverwaltung eines Flash-Speichers, welche erst eine Adressierung einzelner physikalischer Sektoren erlauben, nicht notwendig ist. So wäre zum Bei- spiel eine fragmentbasierte Blockverwaltung, bei der nur eine vordefinierte Gruppe von physikalischen Sektoren adressiert werden kann, hinreichend.

[0016] Nach einer Ausführungsform der Erfindung sind die Gruppen der physikalischen Sektoren überschnei- dungsfrei.

[0017] Die Überschneidungsfreiheit der Gruppen der physikalischen Sektoren vereinfacht wesentlich jede Art von Programmierung zur Adressierung von Gruppen von physikalischen Sektoren. Zudem kann ein physikalischer Speicherblock durch die Überschneidungsfreiheit der Gruppen der physikalischen Sektoren in eine ganzzah- lige Anzahl von homogenen Gruppen von physikalischen Sektoren, zum Beispiel in sogenannte Fragmente, auf-

(4)

5

10

15

20

25

30

35

40

45

50

55

geteilt werden. Ordnet man jedem dieser Fragmente ei- nes physikalischen Speicherblocks einen Fragmentzäh- ler zu, so kann zum Beispiel ein controllerspezifisches Steuerungsprogramm zur Speicherblockverwaltung ei- nes Flash-Speichers so programmiert werden, dass erst bei einem Zählerübergang des Zählers eines Endfrag- ments eines ersten physikalischen Speicherblocks auf den Zähler eines Anfangfragments eines zweiten physi- kalischen Speicherblocks eine Löschung des zuvor ak- tuellen Speicherblocks stattfinden soll. Die Löschung eines physikalischen Speicherblocks könnte dadurch elegant hinausverzögert werden, da mittels dieser Vari- ante der sonst üblicherweise verwendete Löschzähler, welcher mit dem physikalischen Speicherblock selbst as- soziiert ist, umgangen werden könnte. Nach einer Aus- führungsform der Erfindung umfasst das Verfahren fer- ner den Schritt des Kopierens des Inhalts aller weiteren physikalischen Sektoren, welche sich in der aktuellen Gruppe befinden, in die physikalischen Sektoren der nachfolgenden Gruppe.

[0018] Dies hat den Vorteil, dass die Information über den Wert, welcher in den physikalischen Sektoren der aktuellen Gruppe, welche keinen aktuellen Wert von ih- ren jeweils zugeordneten logischen Sektoren für eine Speicherung empfangenen haben, nicht verloren geht.

Zur Redundanzminderung können somit alle physikali- schen Sektoren der vorherigen aktuellen Gruppe als un- gültig markiert werden und gleichzeitig ein eventuell as- soziierter Fragmentzähler wegen Nutzung eines neuen Fragments um 1 erhöht werden. Bei einer Verwendung von controllerspezifischen Steuerungsprogrammen zur Speicherblockverwaltung eines Flash-Speichers, die ei- ne Löschung eines physikalischen Speicherblocks erst bei einem Übergang des Fragmentzählers von einem Endfragment eines ersten physikalischen Speicher- blocks zu einem Anfangsfragment eines zweiten physi- kalischen Speicherblocks anstelle eines Blockzählers benutzen, bleibt eine Datenintegrität und Datenkonsi- stenz bestehen.

[0019] Nach einer Ausführungsform der Erfindung um- fasst das Verfahren ferner ein Wear Leveling, wobei das Wear Leveling ausschließlich im logischen Speicher stattfindet.

[0020] Dies hat den Vorteil, dass zum Beispiel ein von einem Controller verwendeter Wear Leveling-Mechanis- mus dafür sorgen kann, dass alle physikalischen Sekto- ren des Flash-Speichers mit der Zeit gleichmäßig pro- grammiert und gelöscht werden können. Frühzeitigen Ausfällen von bestimmten physikalischen Sektoren könnte somit effektiv entgegengewirkt werden. Die phy- sikalischen Sektoren des physikalischen Flash-Spei- chers könnten somit gleichmäßig altern. Durch eine mög- lichst gleichmäßige Nutzung aller physikalischen Sekto- ren eines Flash-Speichers könnte somit dessen effektive Lebensdauer signifikant erhöht werden. In einem weite- ren Aspekt betrifft die Erfindung ein Computerprogramm- produkt mit von einem Prozessor ausführbaren Instruk- tionen zur Durchführung des obig beschriebenen Ver-

fahrens.

[0021] In einem weiteren Aspekt betrifft die Erfindung einen Controller zur Steuerung eines Verfahrens zur Ver- längerung der Lebensdauer eines physikalischen Flash- Speichers mit physikalischen Speicherblöcken, wobei je- der der physikalischen Speicherblöcke physikalische Sektoren aufweist, wobei jeder der physikalischen Sek- toren dazu ausgebildet ist, einen Wert, welcher einem logischen Sektor eines logischen Speicherblocks eines logischen Speichers zugeordnet ist, zu empfangenen und zu speichern, wobei die Anzahl der physikalischen Sektoren pro physikalischen Speicherblock größer als die Anzahl der logischen Sektoren pro logischem Spei- cherblock ist, wobei der Controller dazu ausgebildet ist, folgende Schritte des Verfahrens zu steuern:

a) Zuordnung eines aktuellen Werts dem logischen Sektor,

b) Speicherung des aktuellen Werts in einem dem logischen Sektor zugeordneten aktuellen physikali- schen Sektor eines physikalischen Speicherblocks, c) Zuordnung eines nachfolgenden aktuellen Werts dem logischen Sektor, wodurch zum Erhalt eines neuen aktuellen Werts der aktuelle Wert im logi- schen Sektor mit dem nachfolgenden Wert über- schrieben wird,

d) Speicherung des aktuellen Werts in einem dem aktuellen physikalischen Sektor logisch nachgeord- neten physikalischen Sektor des physikalischen Speicherblocks und damit in einem neuen aktuellen physikalischen Sektor,

e) Wiederholung der Schritte c bis d solange, bis alle physikalischen Sektoren des physikalischen Spei- cherblocks einen Wert aufweisen,

f) im Falle, dass alle physikalischen Sektoren des physikalischen Speicherblocks einen Wert aufwei- sen und erneut ein nachfolgender Wert dem logi- schen Sektor zugeordnet werden soll, Löschen des physikalischen Speicherblocks und erneute Durch- führung der Schritte c bis e mit diesem nachfolgen- den Wert,

g) erneute Durchführung der Schritte c bis e in einem physikalischen Speicherblock, wobei der freie phy- sikalische Speicherblock ausschließlich physikali- sche Sektoren aufweist, welche frei von einem Wert sind und welche bereit für die Speicherung des ak- tuellen Werts gemäß dem Schritt d sind.

[0022] Im Folgenden werden bevorzugte Ausfüh- rungsformen der Erfindung anhand der folgenden Zeich- nungen näher erläutert. Es zeigen:

FIG 1 ein Blockdiagramm mit Darstellung der Schnittstellen zwischen einem physikali- schen Flash-Speicher und einem Con- troller, wobei der physikalische Flash- Speicher Werte von einem logischen Speicher zugeordnet bekommt und die-

(5)

5

10

15

20

25

30

35

40

45

50

55

se anschließend speichert,

FIG 2 und 3 eine Darstellung zur Veranschaulichung der Funktionsweise einer sektorbasier- ten Blockverwaltung von logischen Sek- toren eines physikalischen Flash-Spei- chers,

FIG 4 und 5 eine Darstellung zur Veranschaulichung einer fragmentbasierten Speicherblock- verwaltung eines physikalischen Flash- Speichers,

FIG 6 ein Flussdiagramm zur Veranschauli- chung der Verfahrensschritte zur Verlän- gerung der Lebensdauer eines Flash- Speichers.

[0023] Die FIG 1 zeigt ein Blockdiagramm zur Veran- schaulichung der Beziehung zwischen einem physikali- schen Flash-Speicher 100, welcher von einem Controller 116 gesteuert und hinsichtlich seiner Speicherung ver- waltet wird, wobei die physikalischen Sektoren 103 des physikalischen Speichers 100 zu speichernde Werte aus logischen Sektoren 114 eines logischen Speichers 110 einer Anwendung 108, welches auf einem Computersy- stem 104 abläuft, zugewiesen bekommen.

[0024] Der physikalische Flash-Speicher 100 weist physikalische Speicherblöcke 102 auf, welche jeweils physikalische Sektoren 103 aufweisen. Der Controller 116 ist über eine Adress-Schnittstelle 126 und eine Da- ten-Schnittstelle 128 mit dem physikalischen Flash-Spei- cher 100 verbunden. Eine Chip-Select-Schnittstelle 130 zum Aktivieren eines bestimmten Speicherbausteins des physikalischen Flash-Speichers 100, eine Steuerleitung 132 zum Auslesen von Daten aus den physikalischen Sektoren 103 des physikalischen Flash-Speichers 100 und eine weitere Steuerleitung 134 zum Schreiben von Daten in die physikalischen Sektoren 103 des physika- lischen Flash-Speichers 100 bilden zusammen eine Auf- trag-Schnittstelle zwischen dem Controller 116 und dem physikalischen Flash-Speicher 100.

[0025] Der Controller 116 weist eine File-Allocation- Table 118 auf, welche einer adressbasierten Verwaltung dient. Im Modul 124 des Controllers 116 befindet sich ein spezielles controllerspezifisches Steuerungsprogramm zur Verwaltung der Speicherblöcke 102 des physikali- schen Flash-Speichers 100. Ein Modul 120 des Control- lers 116 dient zur Durchführung eines "Error Correction Codes", welcher zur Erkennung von Bitfehlern in den physikalischen Sektoren 103 des physikalischen Flash- Speichers 100 und zu deren Korrektur dient. In Abhän- gigkeit vom eingesetzten "Error Correction Code" kön- nen Bitfehler bis zu einer gewissen Anzahl korrigiert wer- den.

[0026] Ein Modul 122 des Controllers 116 dient zur Durchführung eines Wear Leveling Mechanismus. Mit Hilfe des Wear Leveling Mechanismus soll erreicht wer-

den, dass alle physikalischen Sektoren 103 des physi- kalischen Flash-Speichers 100 mit der Zahl gleichmäßig programmiert und gelöscht werden sollen, um eine gleichmäßige Alterung des Flash-Speichers 100 zu er- zielen und um frühzeitigen Ausfällen von bestimmten physikalischen Sektoren 103 entgegenzuwirken.

[0027] Ein logischer Speicher 110 mit logischen Spei- cherblöcken 112, welcher die logischen Sektoren 114 aufweist, ist Bestandteil des Anwendungsprogramms 108, welches auf dem Computersystem 104 in Betrieb genommen werden kann. Das Computersystem 104 weist einen Prozessor 106 auf. Dabei findet das Wear Leveling ausschließlich bezüglich des logischen Spei- chers statt.

[0028] FIG 2 zeigt eine Darstellung zur Veranschauli- chung der Funktionsweise einer sektorbasierten Spei- cherblockverwaltung eines physikalischen Flash-Spei- chers 100. Dargestellt sind die physikalischen Speicher- blöcke 102, welche jeweils physikalische Sektoren 103 aufweisen. Projiziert auf einen Teil des physikalischen Speichers, welcher aus den physikalischen Speicher- blöcken 102 besteht, ist ein logischer Speicher 110, wel- cher aus den logischen Speicherblöcken 112 besteht.

Jeder logische Speicherblock 112 weist wiederum logi- sche Sektoren 114 auf. In der in FIG 2 dargestellten Aus- führungsform des physikalischen Flash-Speichers 100 ist der physikalische Speicher viermal so groß wie der logische Speicher. Einer der physikalischen Speicher- blöcke 102 weist ausschließlich physikalische Sektoren 103 auf, welche frei von einem gespeicherten Wert sind.

Dieser sogenannte Ersatzblock steht für ein Umkopieren von Daten zur Verfügung.

[0029] Ausgehend von FIG 2a bis FIG 3c wird im Fol- genden ein vollständiger Löschzyklus im Rahmen einer sektorbasierten Speicherblockverwaltung beschrieben.

[0030] FIG 2a zeigt den Ausgangsstatus: ein vierfach so großer physikalischer Flash-Speicher 100 steht zur Speicherung von neuen aktuellen Werten für logische Sektoren 114 eines logischen Speichers 110 zur Verfü- gung. Inhalte der logischen Sektoren S01 bis S24 sind in den entsprechenden physikalischen Sektoren des physikalischen Speichers gespeichert. In FIG 2b wird nun ein logischer Sektor 114 (S01) des logischen Spei- chers 112 mit einem neuen aktuellen Wert überschrieben (Schritt 606 in FIG 6). Dieser neue aktuelle Wert des logischen Sektors 112 wird in einem dem physikalischen Sektor 202 logisch nachgeordneten physikalischen Sek- tor 200 des physikalischen Speicherblocks 102 des phy- sikalischen Flash-Speichers 100 geschrieben und dort gespeichert (Schritt 608 in FIG 6). Der vorherige zuge- ordnete aktuelle physikalische Sektor 202 wird vom Con- troller 116 als ungültig markiert, wobei zusätzlich in ei- nem Verwaltungsspeicher auf den aktuell zugeordneten physikalischen Sektor 200, welcher den neuen aktuellen Wert des logischen Sektors 114 speichert, verwiesen wird (A0). Dabei erfolgt keine Löschung des aktuellen physikalischen Speicherblocks 102.

[0031] In FIG 2c erfolgt eine Überschreibung des

(6)

5

10

15

20

25

30

35

40

45

50

55

Werts des zweiten logischen Sektors 114 (S02) mit ei- nem neuen aktuellen Wert (Schritt 606 in FIG 6). Dieser neue aktuelle Wert wird in den dem physikalischen Sek- tor 204 logisch nachgeordneten physikalischen Sektor 206 des aktuellen physikalischen Speicherblocks 102 geschrieben und dort gespeichert (Schritt 608 in FIG 6).

Der physikalische Sektor 204, welcher zuvor den aktu- ellen Wert des logischen Sektors gespeichert hatte, wird als ungültig markiert, wobei wiederum im Verwaltungs- speicher auf den neuen aktuellen physikalischen Sektor 206, welcher den neuen aktuellen Wert des logischen Sektors speichert, verwiesen wird (A1). Auch jetzt erfolgt noch keine Löschung des aktuellen physikalischen Spei- cherblocks 102.

[0032] In FIG 3a erfolgt eine zehnmalige Überschrei- bung eines logischen Sektors S03 mit einem jeweils neu- en aktuellen Wert (Schritt 606 in FIG 6). Der jeweils neue aktuelle Wert wird bei jedem erneuten Überschreiben in einen logisch nachgeordneten physikalischen Sektor des physikalischen Speicherblocks des aktuellen physi- kalischen Speicherblocks geschrieben und dort gespei- chert (Schritt 608 in FIG 6). Die physikalischen Sektoren, in denen die vorherigen aktuellen Werte gespeichert sind, werden als ungültig markiert, wobei wiederum im Verwaltungsspeicher ein Verweis (A11) auf den neuen aktuellen physikalischen Sektor erfolgt, welcher den neu- en aktuellen Wert des logischen Sektors speichert. Der letzte, noch unbelegte physikalische Sektor weist nun den aktuellen Wert des logischen Sektors auf. Bis jetzt erfolgte noch keine Löschung des aktuellen physikali- schen Speicherblocks.

[0033] In FIG 3b erfolgt eine Überschreibung eines lo- gischen Sektors (S04) des logischen Speichers mit ei- nem weiteren aktuellen Wert (Schritt 606 in FIG 6). Dieser neue aktuelle Wert kann von keinem der logischen Sek- toren des aktuellen logischen Speicherblocks 102 emp- fangen und gespeichert werden, da jeder der physikali- schen Sektoren bereits einen Wert aufweist.

[0034] Daher wird - wie in FIG 3c dargestellt - dieser neue aktuelle Wert des logischen Sektors (S04) in einen physikalischen Sektor eines neuen logisch nachgeord- neten physikalischen Speicherblock 300 (Ersatzblock) gespeichert (Schritt 606 in FIG 6), der ausschließlich phy- sikalische Sektoren aufweist (Schritt 614 in FIG 6), wel- che frei von einem Wert sind. Dabei erfolgt gleichzeitig ein Umkopieren aller aktuellen Werte der jeweils aktuel- len physikalischen Sektoren (S01, S02, S03) des zuvor aktuellen physikalischen Speicherblocks 102 in den neu- en physikalischen Speicherblock 300. Alle Werte, die in dem zuvor aktuellen physikalischen Speicherblock 102 gespeichert wurden, werden als ungültig markiert (x), wie in FIG 3b dargestellt, und schließlich gelöscht, wie in FIG 3c dargestellt. Der physikalische Speicherblock 102, der jetzt ausschließlich physikalische Sektoren aufweist, welche nicht mit einem Wert belegt sind, wird als ein neu- er Ersatzblock verwendet.

[0035] In dem nun aktuellen physikalischen Speicher- block 300 wiederholen sich die Schritte 606 bis 610, wie

sie bereits in dem zuvor aktuellen physikalischen Spei- cherblock 102 analog abgelaufen sind und wie sie im Flussdiagramm in FIG 6 schematisch dargestellt sind.

[0036] FIG 4 und FIG 5 beinhalten eine Veranschau- lichung einer fragmentbasierten Speicherblockverwal- tung. Dabei ist ausgehend von FIG 4b bis FIG 5f ein kompletter Löschzyklus dargestellt.

[0037] Auch in dieser Ausführungsform der Speicher- blockverwaltung ist der physikalische Speicher viermal größer als der logische Speicher, wie in FIG 4a darge- stellt. Jeder physikalische Speicherblock 102 ist in Frag- mente 136, 137, 138, 139 aufgeteilt, wobei ein Fragment eine Gruppe von physikalischen Sektoren beinhaltet. Da- bei sind die Gruppen der physikalischen Sektoren jeweils überschneidungsfrei. Die Anzahl der Fragmente pro phy- sikalischen Speicherblock entspricht der Relation zwi- schen logischem und physikalischem Speicher. Ein phy- sikalischer Speicherblock, welcher ausschließlich physi- kalische Sektoren aufweist, welche frei von einem Wert sind, dient auch in dieser Ausführungsform für ein Um- gruppieren von Daten aus einem anderen physikalischen Speicherblock.

[0038] In FIG 4b wird ein Wert eines logischen Sektors 114 (S01) des logischen Speichers 110 innerhalb eines logischen Speicherblocks 112 überschrieben (Schritt 606 in FIG 6). Es erfolgt keine Löschung des aktuell zu- geordneten physikalischen Speicherblocks 102. Statt- dessen werden die Werte der physikalischen Sektoren des aktuellen Fragments in das logisch nachgeordnete Fragment 137 umgruppiert, wobei der aktuelle Wert, mit dem der logische Sektor überschrieben worden ist, in dem dem logischen Sektor zugeordneten physikalischen Sektor gespeichert wird (Schritt 608 in FIG 6). Das vorher aktuelle Fragment 136 in dem aktuellen physikalischen Speicherblock 112 wird dabei als ungültig markiert.

[0039] In FIG 4c wird ein anderer logischer Sektor (S02) mit einem neuen aktuellen Wert überschrieben (Schritt 606 in FIG 6). Wieder erfolgt keine Löschung des aktuellen physikalischen Speicherblocks 112. Stattdes- sen werden die Werte der physikalischen Sektoren des Fragments 137 in das nächste logisch nachgeordnete Fragment 138 umgruppiert, wobei wiederum der neue Wert, mit dem der logische Sektor (S02) überschrieben wurde, in einen dem logischen Sektor zugeordneten ak- tuellen physikalischen Sektor geschrieben wird (Schritt 608 in FIG 6). Die nicht aktualisierten Werte der logischen Sektoren (S01, S03, S04) werden dabei mit in das Frag- ment 138 kopiert. Das zuvor aktuelle Fragment 137 des aktuellen physikalischen Speicherblocks wird als ungül- tig markiert (x).

[0040] In FIG 5a wird ein weiterer logischer Sektor (S03) des logischen Speichers mit einem neuen aktuel- len Wert überschrieben (Schritt 606 in FIG 6). Wieder erfolgt noch keine Löschung des aktuellen physikali- schen Speicherblocks 102. Stattdessen werden die Wer- te der physikalischen Sektoren (S01, S02, S03, S04) des Fragments 138 in die physikalischen Sektoren des lo- gisch nachgeordneten Fragments 139 umgruppiert. Da-

(7)

5

10

15

20

25

30

35

40

45

50

55

bei wird gleichzeitig der neue aktuelle Wert des logischen Sektors (S03) in den dem logischen Sektor zugeordneten aktuellen physikalischen Sektor des logisch nachgeord- neten Fragments 139 geschrieben (Schritt 608 in FIG 6).

Die physikalischen Sektoren des Fragments 138 im ak- tuellen physikalischen Speicherblock werden als ungül- tig markiert (x).

[0041] In FIG 5b wird ein weiterer logischer Sektor (S04) mit einem neuen aktuellen Wert überschrieben (Schritt 606 in FIG 6). Der aktuelle physikalische Spei- cherblock 102 weist zu diesem Zeitpunkt ausschließlich physikalische Sektoren auf, die bereits einen Wert ge- speichert haben. Daher werden die jeweils aktuellen Werte der physikalischen Sektoren des Fragments 139 des zuvor aktuellen physikalischen Speicherblocks 102 in das logisch nachgeordnete Fragment 136 des Ersatz- blocks 300 umkopiert, wobei der neue aktuelle Wert des logischen Sektors (S04) in den dem logischen Sektor aktuell zugeordneten physikalischen Sektor geschrieben wird (Schritt 608 in FIG 6). Wie in FIG 5b ersichtlich, wurden dabei alle Werte, die in den physikalischen Sek- toren des zuvor aktuellen Speicherblocks 102 gespei- chert waren, als ungültig markiert (x). Danach erfolgt, wie in FIG 5c ersichtlich, eine Löschung der Werte der phy- sikalischen Sektoren des zuvor aktuellen physikalischen Speicherblocks 102 (Schritt 612 in FIG 6). Dieser Block gilt nun als Ersatzblock. In dem nun aktuellen physikali- schen Speicherblock 300, von dem bisher nur ein Frag- ment 136 mit Werten belegt ist, erfolgen wiederholt die Schritte 606 bis 610 aus FIG 6, wie sie bereits oben be- schrieben wurden.

[0042] FIG 6 stellt ein Flussdiagramm 600 zur Veran- schaulichung der Verfahrensschritte zur Verlängerung der Lebensdauer eines Flash-Speichers dar. In Schritt 602 wird einem logischen Sektor 114 eines logischen Speicherblocks 112 eines logischen Speichers 110 ein aktueller Wert zugeordnet. In Schritt 604 erfolgt eine Speicherung des aktuellen Werts in einem dem logi- schen Sektor zugeordneten aktuellen physikalischen Sektor 103 eines physikalischen Speicherblocks 102. In Schritt 606 wird dem logischen Sektor ein nachfolgender aktueller Wert zugeordnet, wodurch zum Erhalt eines neuen aktuellen Werts der aktuelle Wert im logischen Sektor 114 mit dem nachfolgenden Wert überschrieben wird. In Schritt 608 erfolgt eine Speicherung des aktuel- len Werts in einem dem aktuellen physikalischen Sektor logischen nachgeordneten physikalischen Sektor des physikalischen Speicherblocks, welcher den nun neuen aktuellen physikalischen Sektor darstellt. In Schritt 610 werden die Schritte 606 - 608 so lange wiederholt, bis alle physikalischen Sektoren 103 des physikalischen Speicherblocks 102 einen Wert aufweisen. Im Falle, dass alle physikalischen Sektoren 103 des physikalischen Speicherblocks 102 einen Wert aufweisen und erneut ein nachfolgender Wert dem logischen Sektor 114 zuge- ordnet werden soll, erfolgt im Schritt 612 ein Löschen des physikalischen Speicherblocks 112. In Schritt 614 erfolgt eine erneute Durchführung der Schritte 606 bis

610 mit diesem nachfolgenden Wert, wobei die erneute Durchführung der Schritte 606 - 610 in einem freien phy- sikalischen Speicherblock erfolgt, wobei der freie physi- kalische Speicherblock ausschließlich physikalische Sektoren aufweist, welche frei von einem Wert sind und welche bereit für die Speicherung des aktuellen Werts gemäß dem Schritt 608 sind. Dabei muss Schritt 612 nicht in zeitlicher Reihenfolge, wie oben beschrieben, stattfinden, sondern kann auch unmittelbar zwischen dem Schritt 608 und dem Schritt 606 stattfinden.

Patentansprüche

1. Verfahren zur Verlängerung der Lebensdauer eines physikalischen Flash-Speichers (100) mit physikali- schen Speicherblöcken (102), wobei jeder der phy- sikalischen Speicherblöcke (102) physikalische Sektoren (103) aufweist, wobei jeder der physikali- schen Sektoren (103) dazu ausgebildet ist, einen Wert, welcher einem logischen Sektor (114) eines logischen Speicherblocks (112) eines logischen Speichers (110) zugeordnet ist, zu empfangen und zu speichern, wobei die Anzahl der physikalischen Sektoren (103) pro physikalischen Speicherblock (102) größer als die Anzahl der logischen Sektoren (114) pro logischem Speicherblock (112) ist, wobei das Verfahren folgende Schritte umfasst:

a. Zuordnung (602) eines aktuellen Werts dem logischen Sektor (114),

b. Speicherung (604) des aktuellen Werts in ei- nem dem logischen Sektor (114) zugeordneten aktuellen physikalischen Sektor (103) eines physikalischen Speicherblocks (102),

c. Zuordnung (606) eines nachfolgenden aktu- ellen Werts dem logischen Sektor (114), wo- durch zum Erhalt eines neuen aktuellen Werts der aktuelle Wert im logischen Sektor (114) mit dem nachfolgenden Wert überschrieben wird, d. Speicherung (608) des aktuellen Werts in ei- nem dem aktuellen physikalischen Sektor (103) logisch nachgeordneten physikalischen Sektor (103) des physikalischen Speicherblocks (102) und damit in einem neuen aktuellen physikali- schen Sektor,

e. Wiederholung (610) der Schritte c (606) bis d (608) so lange bis alle physikalischen Sektoren (103) des physikalischen Speicherblocks (102) einen Wert aufweisen,

f. im Falle, dass alle physikalischen Sektoren (103) des physikalischen Speicherblocks (102) einen Wert aufweisen und erneut ein nachfol- gender Wert dem logischen Sektor (114) zuge- ordnet werden soll, Löschen (612) des physika- lischen Speicherblocks (102) und erneute Durchführung (614) der Schritte c (606) bis e (610) mit diesem nachfolgenden Wert.

(8)

5

10

15

20

25

30

35

40

45

50

55

2. Verfahren nach Anspruch 1, wobei die erneute Durchführung der Schritte c bis e in einem freien physikalischen Speicherblock (102) erfolgt, wobei der freie physikalische Speicherblock (102) aus- schließlich physikalische Sektoren (103) aufweist, welche frei von einem Wert sind und welche bereit für die Speicherung des aktuellen Werts gemäß dem Schritt d sind.

3. Verfahren nach Anspruch 2, wobei der physikalische Flash-Speicher (100) während seiner Lebensdauer stets den freien physikalischen Speicherblock (102) aufweist.

4. Verfahren nach einem der vorhergehenden Ansprü- che, wobei die physikalischen Sektoren (103) eines physikalischen Speicherblocks (102) in mehrere Gruppen zusammengefasst sind, wobei bei Durch- führung des Schrittes d) der dem aktuellen physika- lischen Sektor (103) logisch nachgeordnete physi- kalische Sektor (103) des physikalischen Speicher- blocks (102) ein Sektor ist, welcher sich in einer nachfolgenden Gruppe befindet, welche der aktuel- len Gruppe logisch nachfolgt, in welcher sich der ak- tuelle physikalische Sektor (103) befindet.

5. Verfahren nach einem der vorhergehenden Ansprü- che, wobei die Gruppen der physikalischen Sektoren (103) überschneidungsfrei sind.

6. Verfahren nach einem der vorhergehenden Ansprü- che 4 oder 5, ferner mit dem Schritt des Kopierens des Inhalts aller weiteren physikalischen Sektoren (103), welche sich in der aktuellen Gruppe befinden, in die physikalischen Sektoren (103) der nachfolgen- den Gruppe.

7. Verfahren nach einem der vorhergehenden Ansprü- che, wobei das Verfahren ferner ein Wear Leveling umfasst, wobei das Wear Leveling ausschließlich im logischen Speicher (110) stattfindet.

8. Computerprogrammprodukt mit von einem Prozes- sor ausführbaren Instruktionen zur Durchführung der Verfahrensschritte gemäß einem der vorigen An- sprüche.

9. Controller zur Steuerung eines Verfahrens zur Ver- längerung der Lebensdauer eines physikalischen Flash- Speichers (100) mit physikalischen Speicher- blöcken (102), wobei jeder der physikalischen Spei- cherblöcke (102) physikalische Sektoren (103) auf- weist, wobei jeder der physikalischen Sektoren (103) dazu ausgebildet ist, einen Wert, welcher einem lo- gischen Sektor (114) eines logischen Speicher- blocks (112) eines logischen Speichers (110) zuge- ordnet ist, zu empfangen und zu speichern, wobei die Anzahl der physikalischen Sektoren (103) pro

physikalischen Speicherblock größer als die Anzahl der logischen Sektoren (114) pro logischem Spei- cherblock (112) ist, wobei der Controller (116) dazu ausgebildet ist, folgende Schritte des Verfahrens zu steuern:

a. Zuordnung eines aktuellen Werts dem logi- schen Sektor (114),

b. Speicherung des aktuellen Werts in einem dem logischen Sektor (114) zugeordneten ak- tuellen physikalischen Sektor (103) eines phy- sikalischen Speicherblocks (102),

c. Zuordnung eines nachfolgenden aktuellen Werts dem logischen Sektor (114), wodurch zum Erhalt eines neuen aktuellen Werts der ak- tuelle Wert im logischen Sektor (114) mit dem nachfolgenden Wert überschrieben wird, d. Speicherung des aktuellen Werts in einem dem aktuellen physikalischen Sektor (103) lo- gisch nachgeordneten physikalischen Sektor (103) des physikalischen Speicherblocks (102) und damit in einem neuen aktuellen physikali- schen Sektor (103),

e. Wiederholung der Schritte c bis d so lange bis alle physikalischen Sektoren (103) des phy- sikalischen Speicherblocks (102) einen Wert aufweisen,

f. im Falle, dass alle physikalischen Sektoren (103) des physikalischen Speicherblocks (102) einen Wert aufweisen und erneut ein nachfol- gender Wert dem logischen Sektor (114) zuge- ordnet werden soll, Löschen des physikalischen Speicherblocks (102) und erneute Durchfüh- rung der Schritte c bis e mit diesem nachfolgen- den Wert,

g. erneute Durchführung der Schritte c bis e in einem freien physikalischen Speicherblock, wo- bei der freie physikalische Speicherblock aus- schließlich physikalische Sektoren (103) auf- weist, welche frei von einem Wert sind und wel- che bereit für die Speicherung des aktuellen Werts gemäß dem Schritt d sind.

Geänderte Patentansprüche gemäss Regel 137(2) EPÜ.

1. Verfahren zur Verlängerung der Lebensdauer ei- nes physikalischen Flash-Speichers (100) mit phy- sikalischen Speicherblöcken (102), wobei jeder der physikalischen Speicherblöcke (102) physikalische Sektoren (103) aufweist, wobei jeder der physikali- schen Sektoren (103) dazu ausgebildet ist, einen Wert, welcher einem logischen Sektor (114) eines logischen Speicherblocks (112) eines logischen Speichers (110) zugeordnet ist, zu empfangen und zu speichern, wobei die Anzahl der physikalischen Sektoren (103) pro physikalischen Speicherblock

(9)

5

10

15

20

25

30

35

40

45

50

55

(102) größer als die Anzahl der logischen Sektoren (114) pro logischem Speicherblock (112) ist, wobei das Verfahren folgende Schritte umfasst:

a. Zuordnung (602) eines aktuellen Werts dem logischen Sektor (114),

b. Speicherung (604) des aktuellen Werts in ei- nem dem logischen Sektor (114) zugeordneten aktuellen physikalischen Sektor (103) eines physikalischen Speicherblocks (102),

c. Zuordnung (606) eines nachfolgenden aktu- ellen Werts dem logischen Sektor (114), wo- durch zum Erhalt eines neuen aktuellen Werts der aktuelle Wert im logischen Sektor (114) mit dem nachfolgenden Wert überschrieben wird, d. Speicherung (608) des aktuellen Werts in ei- nem dem aktuellen physikalischen Sektor (103) logisch nachgeordneten physikalischen Sektor (103) des physikalischen Speicherblocks (102) und damit in einem neuen aktuellen physikali- schen Sektor,

e. Wiederholung (610) der Schritte c (606) bis d (608) so lange bis alle physikalischen Sektoren (103) des physikalischen Speicherblocks (102) einen Wert aufweisen,

f. im Falle, dass alle physikalischen Sektoren (103) des physikalischen Speicherblocks (102) einen Wert aufweisen und erneut ein nachfol- gender Wert dem logischen Sektor (114) zuge- ordnet werden soll, Löschen (612) des physika- lischen Speicherblocks (102) und erneute Durchführung (614) der Schritte c (606) bis e (610) mit diesem nachfolgenden Wert, wobei die physikalischen Sektoren (103) eines physikalischen Speicherblocks (102) in mehre- re Gruppen zusammengefasst sind, wobei bei Durchführung des Schrittes d) der dem aktuel- len physikalischen Sektor (103) logisch nachge- ordnete physikalische Sektor (103) des physi- kalischen Speicherblocks (102) ein Sektor ist, welcher sich in einer nachfolgenden Gruppe be- findet, welche einer aktuellen Gruppe logisch nachfolgt, in welcher sich der aktuelle physika- lische Sektor (103) befindet, wobei die mehre- ren Gruppen, in die die physikalischen Sektoren (103) des Speicherblocks (102) zusammenge- fasst sind, überschneidungsfrei sind.

2. Verfahren nach Anspruch 1, wobei die erneute Durchführung der Schritte c bis e in einem freien physikalischen Speicherblock (102) erfolgt, wobei der freie physikalische Speicherblock (102) aus- schließlich physikalische Sektoren (103) aufweist, welche frei von einem Wert sind und welche bereit für die Speicherung des aktuellen Werts gemäß dem Schritt d sind.

3. Verfahren nach Anspruch 2, wobei der physikali-

sche Flash-Speicher (100) während seiner Lebens- dauer stets den freien physikalischen Speicherblock (102) aufweist.

4. Verfahren nach einem der vorhergehenden An- sprüche, ferner mit dem Schritt des Kopierens des Inhalts aller weiteren physikalischen Sektoren (103), welche sich in der aktuellen Gruppe befinden, in die physikalischen Sektoren (103) der nachfolgenden Gruppe.

5. Verfahren nach einem der vorhergehenden An- sprüche, wobei das Verfahren ferner ein Wear Le- veling umfasst, wobei das Wear Leveling aus- schließlich im logischen Speicher (110) stattfindet.

6. Computerprogrammprodukt mit von einem Pro- zessor ausführbaren Instruktionen zur Durchfüh- rung der Verfahrensschritte gemäß einem der vori- gen Ansprüche.

7. Controller zur Steuerung eines Verfahrens zur Verlängerung der Lebensdauer eines physikali- schen Flash- Speichers (100) mit physikalischen Speicherblöcken (102), wobei jeder der physikali- schen Speicherblökke (102) physikalische Sektoren (103) aufweist, wobei jeder der physikalischen Sek- toren (103) dazu ausgebildet ist, einen Wert, welcher einem logischen Sektor (114) eines logischen Spei- cherblocks (112) eines logischen Speichers (110) zugeordnet ist, zu empfangen und zu speichern, wo- bei die Anzahl der physikalischen Sektoren (103) pro physikalischen Speicherblock größer als die Anzahl der logischen Sektoren (114) pro logischem Spei- cherblock (112) ist, wobei der Controller (116) dazu ausgebildet ist, folgende Schritte des Verfahrens zu steuern:

a. Zuordnung eines aktuellen Werts dem logi- schen Sektor (114),

b. Speicherung des aktuellen Werts in einem dem logischen Sektor (114) zugeordneten ak- tuellen physikalischen Sektor (103) eines phy- sikalischen Speicherblocks (102),

c. Zuordnung eines nachfolgenden aktuellen Werts dem logischen Sektor (114), wodurch zum Erhalt eines neuen aktuellen Werts der ak- tuelle Wert im logischen Sektor (114) mit dem nachfolgenden Wert überschrieben wird, d. Speicherung des aktuellen Werts in einem dem aktuellen physikalischen Sektor (103) lo- gisch nachgeordneten physikalischen Sektor (103) des physikalischen Speicherblocks (102) und damit in einem neuen aktuellen physikali- schen Sektor (103),

e. Wiederholung der Schritte c bis d so lange bis alle physikalischen Sektoren (103) des phy- sikalischen Speicherblocks (102) einen Wert

(10)

5

10

15

20

25

30

35

40

45

50

55

aufweisen,

f. im Falle, dass alle physikalischen Sektoren (103) des physikalischen Speicherblocks (102) einen Wert aufweisen und erneut ein nachfol- gender Wert dem logischen Sektor (114) zuge- ordnet werden soll, Löschen des physikalischen Speicherblocks (102) und erneute Durchfüh- rung der Schritte c bis e mit diesem nachfolgen- den Wert,

g. erneute Durchführung der Schritte c bis e in einem freien physikalischen Speicherblock, wo- bei der freie physikalische Speicherblock aus- schließlich physikalische Sektoren (103) auf- weist, welche frei von einem Wert sind und wel- che bereit für die Speicherung des aktuellen Werts gemäß dem Schritt d sind,

wobei die physikalischen Sektoren (103) eines physikalischen Speicherblocks (102) in mehre- re Gruppen zusammengefasst sind, wobei bei Durchführung des Schrittes d) der dem aktuel- len physikalischen Sektor (103) logisch nachge- ordnete physikalische Sektor (103) des physi- kalischen Speicherblocks (102) ein Sektor ist, welcher sich in einer nachfolgenden Gruppe be- findet, welche einer aktuellen Gruppe logisch nachfolgt, in welcher sich der aktuelle physika- lische Sektor (103) befindet, wobei die mehre- ren Gruppen, in die die physikalischen Sektoren (103) des Speicherblocks (102) zusammenge- fasst sind, überschneidungsfrei sind.

(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)

Referenzen

ÄHNLICHE DOKUMENTE

Einrichtung nach einem der Ansprüche 1 bis 3, wobei ein zweites Leitungssystem eine Vielzahl von Leitungsab- schnitten (34a-f) aufweist, die sich parallel zu dem Boden (16) des

Verfahren nach einem der Ansprüche 7 bis 9, wobei jede der zweiten Netzvorrichtungen Informationen über die jeweils detektierte spektrale Empfangsleistungsdichte zu der

[0008] Zur technischen Lösung dieser Aufgabe wird mit der vorliegenden Erfindung ein Verfahren zum Be- trieb eines Systems zum Verwalten von Anrufen bei ei- nem Call-Center

[0024] Gemäß einer weiteren vorteilhaften Ausführungsform der Erfindung ist vorgesehen, dass aufgrund des zeitli- chen Verlaufs der Gesamtkriechdehnung über den Gesamtzeitraum

Anordnung eines Nachttisches nach einem oder mehreren der vorhergehenden Ansprüche an einem Kranken- oder Pflegebett, das eine höhenverstell- bare Liegefläche (20) aufweist,

Wälzlager (1) mit wenigstens zwei ringförmigen, zu einer Hauptdrehachse (h) des Lagers (1) konzentrischen, durch einen Spalt (4) voneinander beabstandeten Anschlusselementen (2,3)

Der Dampferzeuger 30 ist über eine erste Leitung 17 mit der Hochdruckturbine 12 verbunden, wobei an der ersten Leitung 17 Frischdampfventile 14,15 angeordnet sind, über welche

Vorrichtung zur Klimatisierung und/oder Belüftung eines Innenraumes, umfassend ein Innenverklei- dungselement (1) an welchem Ausströmöffnungen (2) ausgebildet sind, wobei