DE60003676T2 - Rückforderung von speicher aus gelöschten applikationen - Google Patents
Rückforderung von speicher aus gelöschten applikationen Download PDFInfo
- Publication number
- DE60003676T2 DE60003676T2 DE60003676T DE60003676T DE60003676T2 DE 60003676 T2 DE60003676 T2 DE 60003676T2 DE 60003676 T DE60003676 T DE 60003676T DE 60003676 T DE60003676 T DE 60003676T DE 60003676 T2 DE60003676 T2 DE 60003676T2
- Authority
- DE
- Germany
- Prior art keywords
- memory
- memory segment
- code
- segment
- reserved
- 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.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7205—Cleaning, compaction, garbage collection, erase control
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99953—Recoverability
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99956—File allocation
- Y10S707/99957—Garbage collection
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
- Color Television Systems (AREA)
- Saccharide Compounds (AREA)
- Read Only Memory (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
- HINTERGRUND DER ERFINDUNG GEBIET DER ERFINDUNG
- Die Erfindung betrifft das Gebiet der Speicherverwaltung in Computersystemen mit segmentierten Speichern wie beispielsweise integrierten Einheiten und stellt insbesondere ein System zur sicheren Rückgewinnung von Speichervolumen und zur kompakten Neuordnung der verbleibenden Applikationen in löschbaren nichtflüchtigen „Flash"-Speichern bereit.
- HINTERGRUND DER ERFINDUNG
- Die vorliegende Patentanmeldung eignet sich insbesondere zum Einsatz in integrierten Systemen mit beschränkten Speicherressourcen, jedoch kann sie in jeder Umgebung eingesetzt werden, bei der Applikationen von einem Rechner entfernt werden können und die übrigen in dem Speicher gespeicherten Applikationen komprimiert werden sollen, um möglichst viel zusammenhängendes freies Speichervolumen für neue Applikationen zur Verfügung zu stellen.
- Bei integrierten Systemen kann das gesamte Speichervolumen in der Größenordnung von 1 bis 4 Megabyte betragen. Im Idealfall sollte die Hälfte des Systemspeichers auf Nur-Lese-Speicher (Read-Only Memory, ROM) zum Speichern von Applikationen und Daten entfallen, die zwischen den Sitzungen erhalten bleiben sollen. Applikationen können der Reihe nach so lange geladen werden, bis die Speicherkapazität des Systems an ihre Grenzen stößt.
- Die Ausführungen im Rahmen der vorliegenden Erfindung beziehen sich auf „Flash"-Speicher. Technisch stellt ein Flash-Speicher einen nichtflüchtigen ROM dar, der gemäß dem aktuellen Stand der Technik jedoch im Allgemeinen in Blöcken zu je 64 kB auch gelöscht werden kann.
- Insbesondere auf dem sich schnell entwickelnden Gebiet der drahtlosen Datenübertragung kann es erforderlich oder wünschenswert sein, vorhandene Applikationen in einer Einheit zu löschen, bevor eine neue Applikation heruntergeladen werden kann, und zwar entweder um für die neue(n) Applikation(en) entsprechenden Speicherplatz frei zu machen oder um der Inkompatibilität mit neueren Versionen einer Applikation vorzubeugen.
- In WO94/20906 wird ein virtuelles Zuordnungssystem für Flash-Speicher offengelegt, dessen Aufgabe darin besteht, ein Verfahren zur Steuerung und Verwaltung des Zugriffs auf einen Flash-Speicher in der Weise bereitzustellen, dass das Betriebssystem des Computers den Flash-Speicher wie eine Datenspeichervorrichtung wahrnimmt, in der Daten aus Flash-Speicher-Plätzen gelesen und in sie geschrieben werden können.
- In der Europäischen Patentanmeldung EP-0745939-A2 wird ein wiederholter Speicherreinigungsprozess für ein Dateisystem in einem Flash-Speicher offengelegt. Diese Offenlegung stellt ein Beispiel dar, bei dem keine virtuellen Speicherbereiche unterstützt werden.
- ÜBERBLICK ÜBER DIE ERFIuNDUNG
- Gemäß einem Aspekt der vorliegenden Erfindung wird ein Verfahren zum Entfernen einer definierten Codefolge aus einem nichtflüchtigen Flash-Speicher nach Anspruch 1 bereitgestellt.
- Bei einer Ausführungsart betrifft die vorliegende Erfindung eine Verbesserung in einem nichtflüchtigen Speicher einer Einheit. Dieser Flash-Speicher ist dadurch gekennzeichnet, dass er mehrere Speichersegmente aufweist, die zum Empfangen und Speichern von Codes und Daten einer Applikation eingerichtet sind. Vorzugsweise mindestens ein Speichersegment ist zur Benutzung während der Speicherkomprimierung reserviert und zum Empfangen von Codes und/oder Daten eingerichtet, die aus einem anderen Speichersegment des Nur-Lese-Speichers kopiert werden. Außerdem wird ein Mechanismus zum Korrigieren von Zeigern innerhalb des Codes bereitgestellt, damit diese den neuen Speicherplatz des Codes und/oder der Daten anzeigen, die aus einem anderen Speichersegment des Nur-Lese-Speichers kopiert wurden.
- Gemäß einem weiteren Aspekt der Erfindung wird eine Speichersteuereinheit für einen nichtflüchtigen Flash-Speicher mit mehreren Speichersegmenten nach Anspruch 5 bereitgestellt.
- Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird ein Computerprogrammprodukt nach Anspruch 9 bereitgestellt.
- KURZBESCHREIBUNG DER ZEICHNUNGEN
-
1 , welche die1A bis1D umfasst, veranschaulicht schematisch das Entfernen und Komprimieren von Codes im Nur-Lese-Speicher (ROM) einer beschränkten Speichervorrichtung gemäß der Erfindung; -
2 ist ein Flussdiagramm, das die Schritte zum Entfernen von Codes gemäß der Erfindung veranschaulicht; und -
3 ist ein Flussdiagramm, das die Schritte der Speicherkomprimierung nach dem Entfernen der Codes gemäß einer bevorzugten Ausführungsart der Erfindung veranschaulicht. - DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSARTEN
- Wie in
1 (mit den1A bis1D ) schematisch dargestellt, kann ein ROM2 in einer beschränkten Speichervorrichtung wie zum Beispiel in einem Mobiltelefon üblicherweise 32 64-kB-Speichersegmentblöcke 4 mit einem Gesamtvolumen des Flash-Speichers in der Vorrichtung von 2 MB umfassen. - Bei der Realisierung der Erfindung in der bevorzugten Ausführungsart werden die Applikationen dem ROM beginnend vom unteren Speicher bis zum oberen Speicher zugewiesen.
- In den
1A und1B belegt eine doppelt schraffiert dargestellte Applikation6 zweieinhalb Speichersegmentblöcke4 des ROM2 . Die durch einfache Schraffur dargestellten Codes oder Daten8 einer angrenzend gespeicherten Applikation nutzt ein Speichersegment gemeinsam mit dem ersten Teil der Applikation6 . - Wie oben beschrieben, können bei den in diesen Einheiten verwendeten Flash-Speichern nur ganze Speicherblöcke gelöscht werden. Deshalb muss der Speichermanager der Einheit den Code oder die Daten
8 der angrenzend gespeicherten Applikation abspeichern und an diesem Speicherplatz wiederherstellen, wenn der Benutzer die Applikation6 löschen will. - Das wird dadurch erreicht, dass ein oder mehrere Reserve-Speicherblöcke freigehalten werden, um Speicherblöcke mit Codes oder Daten auszulagern, die in der Einheit verbleiben sollen. Bei der bevorzugten Ausführungsart reserviert der Speichermanager des „Flash"-Speichers für den Komprimierungsprozess einfach den (die) obersten Block (Blöcke). Bei dem in
1 gezeigten Beispiel kopiert der Speichermanager die Codes oder die Daten8 in den Reserveblock10 (1B ). Es werden nur die Codes/Daten des zu löschenden Blocks kopiert; der obere Teil des Reserveblocks bleibt leer. Der den kopierten Code10 enthaltende Reserveblock wird dann in den ursprünglichen Speicherblock12 (1C ) ausgelagert, und die Speicherblöcke mit den übrigen Codes/Daten der Applikation6 können gefahrlos gelöscht werden (1D ). Dieses Auslagern kann auf eine oder zwei Arten erfolgen: wenn eine Speicherverwaltungseinheit (Memory Management Unit, MMU) zur Unterstützung „virtueller" Speicherbereiche benutzt werden kann, werden die Zuordnunugen der MMU so geändert, dass der „neue" Block dieselbe Adresse wie der zu löschende Block benutzt. Der zu entfernende Block wird gelöscht und seine Speicherzuordnung auf die zuvor durch den Reserveblock benutzte Adresse umgestellt. Wenn keine MMU zur Verfügung steht, wird der Inhalt des „Reserve"-Blocks in den oberen Teil des ursprünglichen Blocks kopiert, nachdem dieser gelöscht worden ist. - Die Schritte dieses Prozesses sind in dem Flussdiagramm von
2 gezeigt. Wenn der Benutzer eine Applikation aus den Speicher löschen möchte, ermittelt der Speichermanager der Einheit im ROM den Anfangs- und den Endpunkt der Applikation (Block20 ), um festzustellen, ob sich beide am Rand eines Speichersegments befinden (Blöcke22 ,24 ). Wenn dies der Fall ist, kann der Speichermanager gefahrlos alle Speichersegmentblöcke einfach löschen (Block28 ), in denen die Applikation enthalten ist, und dann wie in3 gezeigt den ROM komprimieren. - Wenn der Speichermanager gemäß
2 feststellt, dass sich ein Endpunkt einer Applikation innerhalb eines Speichersegmentblocks (Block22 oder24 ) befindet, ermittelt er anschließend, ob die Applikation an diesem Punkt einen Speichersegmentblock mit einem anderen Code gemeinsam nutzt (Block26 ). Der „Flash-Manager" erfasst die Anfangs- und Endadressen jeder Applikation und kennt auch die Adressen jedes Speichersegmentblocks, sodass durch eine einfache Berechnung die Stellen festgestellt werden können, an denen sich die Applikation/Daten am Anfang/Ende der Speicherblöcke und anderer Applikationen befinden. - Wenn keine Codes/Daten einer anderen Applikation gefunden werden, kann die ursprüngliche Applikation gefahrlos gelöscht (Block
28 ) und zum Komprimieren des ROM übergegangen werden. - Wenn der Speichermanager feststellt, dass Daten oder Codes einer anderen Applikation gemeinsam mit einem Teil der ursprünglichen zu löschenden Applikation in demselben Block gespeichert sind (Block
26 ), werden diese Codes oder Daten mit Ausnahme des Codes der ursprünglichen Applikation in einen Reserve-Speichersegmentblock (Block28 ) kopiert (d.h., der Reserve-Speichersegmentblock bleibt zum Teil leer). - Das Kopieren in den Reserve-Speichersegmentblock erfolgt so, dass die Einheit ihren Betrieb wieder aufnehmen kann, wenn sie im Verlauf einer Lösch-/Komprimierungsoperation des Speichers abgeschaltet wird. Bei der bevorzugten Ausführungsart dienen Marken und Markierungen zur Kennzeichnung des Status der Applikation während der Lade-, Lösch- und Komprimierungsfunktionen (Block
30 ). - Codes und Daten der anderen Applikation in dem Reserve-Speichersegmentblock werden dann wieder nach unten zurück zu der zu löschenden ursprünglichen Applikation ausgelagert (Block
34 ). Die zum Anzeigen einer laufenden Übertragung hinzugefügten Marken und Markierungen werden zurückgesetzt (Block36 ), und die. den Rest der ursprünglichen Applikation enthaltenden Speichersegmentblöcke werden gelöscht (Block38 ). - Nachdem die Applikation entfernt worden ist, muss ihr Speicher wieder verfügbar gemacht werden, indem er komprimiert wird bzw. indem die oberhalb befindlichen Applikationen nach unten in den leeren Speicherraum „rutschen". Dadurch wird im oberen Bereich des ROM so viel zusammenhängender freies Speichervolumen wie möglich geschaffen, in den neue Applikationen geladen werden können.
- Gemäß einer bevorzugten Ausführungsart der Erfindung erfolgt die Komprimierung gemäß denselben Prinzipien wie beim Löschen einer Applikation, d.h., zum Übertragen des Inhalts teilweise gefüllter Speichersegmentblöcke werden Reserve-Speichersegmentblöcke verwendet, wie in
3 veranschaulicht ist. - Nach dem Entfernen der Applikation muss der Speicher komprimiert werden, um „Löcher" zu beseitigen. Hierdurch kann das maximal mögliche zusammenhängende freie Speichervolumen zum Herunterladen neuer Applikationen bereitgestellt werden. Ein bevorzugtes Verfahren zum Durchführen der Komprimierung unter Anwendung der Prinzipien der vorliegenden Erfindung ist in
3 veranschaulicht. - Nach dem Entfernen der Applikation durchsucht der Speichermanager den Speicher, um zu ermitteln, ob sich oberhalb der durch Entfernen der Applikation geleerten Speicherblöcke weitere mit Daten oder Codes belegte Speicherblöcke befinden, d.h., ob durch das Entfernen der Applikation in dem belegten Speicher ein „Loch" verblieben ist (Block
40 ). Wenn dies nicht der Fall ist, hatte sich die entfernte Applikation ganz oben im belegten Speicherbereich befunden, sodass das Komprimieren nicht erforderlich ist. - Wenn sich oberhalb des freigegebenen Speichers aufgezeichnete Daten/Codes befinden, ermittelt der Speichermanager, ob sich unterhalb des freigegebenen Speichers ein teilweise oder ganz leerer Speicherblock befindet (Block
42 ). - Wenn der freigegebene Speicher aus ganzen Speicherblöcken besteht, erfolgt die Komprimierung einfach durch schrittweises Kopieren der Datenblöcke nach unten in den nächsten leeren Speicherblock (Block
44 ) und Anpassen der Marken und Markierungen der kopierten Daten oder Codes an den neuen Speicherplatz (Block46 ). - Wenn nur ein Teilspeicher zur Verfügung steht, kopiert der Speichermanager die Daten/Codes aus dem Datenblock, füllt den Teilspeicherblock auf (Block
48 ) und passt die Marken und Markierungen für den kopierten Code an (Block50 ). - In derselben Weise, wie oben unter Bezug auf
2 beschrieben wurde, werden die restlichen Daten/Codes aus dem Datenblock in einen Reserve-Speicherblock kopiert (Block52 ) und die Marken und Markierungen an den Speicherplatz dieser Codes/Daten angepasst (Block54 ). Dieser Reserve-Speicherblock wird in den freien zusammenhängenden Speicher ausgelagert, der dem bereits komprimierten Datenblock benachbart ist (Block56 ), und die Marken und Markierungen der Daten/Codes des ausgelagerten Blocks werden angepasst (Block58 ). - Dieser Prozess wird so lange wiederholt, bis alle Daten komprimiert worden sind (Block
40 ). - Obwohl die Erfindung in Verbindung mit bevorzugten Ausführungsarten beschrieben worden ist, ist es klar, dass sie durch Änderungen, die dem Fachmann geläufig sind, auch auf andere Plattformen und Speicheranordnungen angewendet werden kann.
- Zusammenfassend ist festzustellen, dass ein Verfahren zum Entfernen von Codes (Applikationen und Daten) aus einem Nur-Lese-Speicher sowie zum Komprimieren der verbliebenen Codes bereitgestellt wird, wenn eine Applikation gelöscht wird oder wenn zum Speichern einer neuen Applikation nicht genügend Speicherplatz zur Verfügung steht. Zur Verwendung beim Komprimieren werden ein oder mehrere „Reserve"-Speichersegmente reserviert. Wenn ein Speichersegment gemeinsam durch den zu entfernenden Code und einen anderen nicht zu entfernenden Code genutzt wird, wird der andere Code in ein Reserve-Speichersegment kopiert und dann wieder zurück zu seinem ursprünglichen Speicherplatz ausgelagert. Dann kann der Code komprimiert werden, um die durch den gelöschten Code hinterlassenen „Löcher" zu beseitigen..
Claims (9)
- Verfahren zum Entfernen einer definierten Codefolge aus einem nichtflüchtigen Flash-Speicher mit mehreren Speichersegmenten und zum Komprimieren des nichtflüchtigen Speichers, wobei mindestens ein Speichersegment zur Verwendung während des Entfernens und des Komprimierens reserviert ist und das Verfahren Folgendes umfasst: Absuchen (
26 ) der definierten Codefolge, ob diese in ein durch einen anderen Code gemeinsam genutztes Speichersegment hineinreicht (überlappt); Kopieren (30 ) des in dem überlappten Speichersegment befindlichen anderen Codes in das mindestens eine reservierte Speichersegment; Auslagern (34 ) des in dem reservierten Speichersegment befindlichen anderen Codes zurück in dessen ursprüngliches überlapptes Speichersegment; Löschen (38 ) aller Speichersegmente, die einen Teil der definierten Codefolge enthalten; gekennzeichnet durch Ermitteln (40 ), ob oberhalb der gelöschten Speichersegmente belegte Speichersegmente vorliegen; ferner, wenn dies festgestellt wurde, Ermitteln (42 ), ob unterhalb der gelöschten Speichersegmente ein teilweise leeres Speichersegment vorliegt; wenn dies festgestellt wurde, Kopieren (48 ) des Codes aus dem oberhalb der gelöschten Speichersegmente befindlichen Speichersegments in das teilweise leere Speichersegment, Kopieren (52 ) des restlichen Codes in das mindestens eine reservierte Speichersegment und Auslagern (56 ) des mindestens einen reservierten Speichersegments in den freien Speicher, der an die bereits komprimierten Daten angrenzt. - Verfahren nach Anspruch 1, wobei der Schritt des Auslagerns (
34 ) des reservierten Speichersegments zurück in das überlappte Speichersegment Folgendes umfasst: Löschen des durch einen anderen Code gemeinsam genutzten überlappten Speichersegments; und Kopieren des Inhalts des mindestens einen reservierten Speichersegments in das gelöschte Speichersegment. - Verfahren nach Anspruch 1 oder 2, wobei die mehreren Speichersegmente zum Empfangen von Daten zum Speichern von Daten von einem unteren Ende zu einem oberen Ende eingerichtet sind und wobei das mindestens eine Speichersegment am oberen Ende reserviert ist.
- Verfahren nach einem der Ansprüche 1 bis 3, welches ferner Korrekturzeiger/-markierungen umfasst, um einen neuen Speicherplatz des aus einem anderen Speichersegment des nichtflüchtigen Speichers kopierten Codes zu bezeichnen.
- Speicher-Controller für einen nichtflüchtigen Flashspeicher mit mehreren Speichersegmenten, wobei mindestens ein Speichersegment zur Verwendung während des Entfernens einer definierten Codefolge und während des Komprimierens des Speichers reserviert ist und der Speicher-Controller Folgendes umfasst: ein Mittel zum Absuchen (
26 ) der definierten Codefolge, ob diese in ein durch einen anderen Code gemeinsam genutztes Speichersegment hineinreicht; ein Mittel zum Kopieren (30 ) des in dem überlappten Speichersegment befindlichen anderen Codes in das mindestens eine reservierte Speichersegment; ein Mittel zum Auslagern (34 ) des in dem reservierten Speichersegments befindlichen anderen Codes zurück in dessen ursprüngliches überlapptes Speichersegment; ein Mittel zum Löschen (38 ) aller Speichersegmente, die einen Teil der definierten Codefolge enthalten; gekennzeichnet durch ein Mittel zum Ermitteln (40 ), ob oberhalb der gelöschten Speichersegmente belegte Speichersegmente vorliegen; ein Mittel, um ferner zu ermitteln (42), wenn dies festgestellt wurde, ob unterhalb der gelöschten Speichersegmente ein teilweise leeres Speichersegment vorliegt; ein Mittel, zum Kopieren (48 ) des Codes, wenn dies festgestellt wurde, aus dem oberhalb der gelöschten Speichersegmente befindlichen Speichersegments in das teilweise leere Speichersegment und zum Kopieren (52 ) des restlichen Codes in das mindestens eine reservierte Speichersegment und zum Auslagern (56 ) des mindestens einen reservierten Speichersegments in den freien Speicher, der an die bereits komprimierten Daten angrenzt. - Speicher-Controller nach Anspruch 5, wobei das Mittel zum Auslagern (
34 ) des reservierten Speichersegments zurück in das überlappte Speichersegment Folgendes umfasst: ein Mittel zum Löschen des durch einen anderen Code gemeinsam genutzten überlappten Speichersegments; und ein Mittel zum Kopieren des Inhalts des mindestens einen reservierten Speichersegments in das gelöschte Speichersegment. - Speicher-Controller nach den Ansprüchen 5 bis 6, wobei die mehreren Speichersegmente zum Empfangen von Daten für das Speichern von Daten von einem unteren Ende zu einem oberen Ende eingerichtet sind und wobei das mindestens eine Speichersegment am oberen Ende reserviert ist.
- Speicher-Controller nach einem der Ansprüche 5 bis 7, der ferner ein Mittel für Korrektuxzeiger/-markierungen umfasst, um einen neuen Speicherplatz des aus einem anderen Speichersegment des nichtflüchtigen Speichers kopierten Codes zu bezeichnen.
- Computerprogrammprodukt, das in einem für Computer geeigneten Medium gespeichert ist und ein computerlesbares Programmcodemittel umfasst, welches zum Ausführen aller Schritte eines der Verfahren der Ansprüche 1 bis 4 eingerichtet ist, wenn das Programm in einem Computer läuft.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA2267484 | 1999-03-30 | ||
CA002267484A CA2267484C (en) | 1999-03-30 | 1999-03-30 | Reclaiming memory from deleted applications |
PCT/GB2000/001063 WO2000058838A1 (en) | 1999-03-30 | 2000-03-21 | Reclaiming memory from deleted applications |
Publications (2)
Publication Number | Publication Date |
---|---|
DE60003676D1 DE60003676D1 (de) | 2003-08-07 |
DE60003676T2 true DE60003676T2 (de) | 2004-05-27 |
Family
ID=4163417
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE60003676T Expired - Lifetime DE60003676T2 (de) | 1999-03-30 | 2000-03-21 | Rückforderung von speicher aus gelöschten applikationen |
Country Status (15)
Country | Link |
---|---|
US (1) | US6581133B1 (de) |
EP (1) | EP1177502B1 (de) |
JP (1) | JP3683814B2 (de) |
CN (1) | CN1244054C (de) |
AT (1) | ATE244418T1 (de) |
AU (1) | AU3310800A (de) |
CA (1) | CA2267484C (de) |
CZ (1) | CZ20013477A3 (de) |
DE (1) | DE60003676T2 (de) |
ES (1) | ES2199791T3 (de) |
HU (1) | HUP0200563A2 (de) |
IL (2) | IL144733A0 (de) |
PL (1) | PL351506A1 (de) |
TW (1) | TW436790B (de) |
WO (1) | WO2000058838A1 (de) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2267484C (en) | 1999-03-30 | 2002-03-05 | Object Technology International Inc. | Reclaiming memory from deleted applications |
US6993328B1 (en) | 2000-05-08 | 2006-01-31 | Nokia Corporation | Method for over the air mobile station management |
FR2818770A1 (fr) * | 2000-12-21 | 2002-06-28 | Bull Cp8 | Procede de gestion optimisee de l'allocation de memoire d'un systeme embarque et systeme embarque correspondant |
EP1374040A1 (de) * | 2001-03-30 | 2004-01-02 | Nokia Corporation | Herunterladen von anwendungssoftware zu einem mobilen endgerät |
AU2003202785A1 (en) * | 2002-02-18 | 2003-09-04 | Axalto Sa | Data organization in a smart card |
US20050010811A1 (en) | 2003-06-16 | 2005-01-13 | Zimmer Vincent J. | Method and system to support network port authentication from out-of-band firmware |
GB2412194A (en) * | 2004-03-19 | 2005-09-21 | Matsushita Electric Ind Co Ltd | Reprogramming a non-volatile memory system |
US20060184717A1 (en) * | 2005-02-17 | 2006-08-17 | Intel Corporation | Integrated circuit capable of flash memory storage management |
JP2008077669A (ja) * | 2007-10-09 | 2008-04-03 | Mitsubishi Electric Corp | 記録方式 |
TWI438633B (zh) * | 2007-11-29 | 2014-05-21 | Ibm | 記憶體管理之垃圾收集方法、其電腦程式產品,及其裝置 |
US8135745B2 (en) | 2008-03-04 | 2012-03-13 | Core Wireless Licensing S.A.R.L. | Storage management |
CN101635020B (zh) * | 2008-07-25 | 2011-12-07 | 联想(北京)有限公司 | 数据擦除方法和数据存储装置 |
US20110119462A1 (en) * | 2009-11-19 | 2011-05-19 | Ocz Technology Group, Inc. | Method for restoring and maintaining solid-state drive performance |
US20160224464A1 (en) * | 2014-04-17 | 2016-08-04 | Bitmicro Networks, Inc. | Valid Data Compression On SSD |
US9633233B2 (en) | 2014-05-07 | 2017-04-25 | Sandisk Technologies Llc | Method and computing device for encrypting data stored in swap memory |
US9928169B2 (en) | 2014-05-07 | 2018-03-27 | Sandisk Technologies Llc | Method and system for improving swap performance |
US9710198B2 (en) | 2014-05-07 | 2017-07-18 | Sandisk Technologies Llc | Method and computing device for controlling bandwidth of swap operations |
US9665296B2 (en) * | 2014-05-07 | 2017-05-30 | Sandisk Technologies Llc | Method and computing device for using both volatile memory and non-volatile swap memory to pre-load a plurality of applications |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4511964A (en) | 1982-11-12 | 1985-04-16 | Hewlett-Packard Company | Dynamic physical memory mapping and management of independent programming environments |
GB2251324B (en) * | 1990-12-31 | 1995-05-10 | Intel Corp | File structure for a non-volatile semiconductor memory |
US5438573A (en) * | 1991-09-13 | 1995-08-01 | Sundisk Corporation | Flash EEPROM array data and header file structure |
US5404485A (en) | 1993-03-08 | 1995-04-04 | M-Systems Flash Disk Pioneers Ltd. | Flash file system |
US5603001A (en) * | 1994-05-09 | 1997-02-11 | Kabushiki Kaisha Toshiba | Semiconductor disk system having a plurality of flash memories |
JP3507132B2 (ja) * | 1994-06-29 | 2004-03-15 | 株式会社日立製作所 | フラッシュメモリを用いた記憶装置およびその記憶制御方法 |
JPH09152983A (ja) | 1995-05-31 | 1997-06-10 | Lucent Technol Inc | フラッシュメモリに内在するファイルシステムにおけるリエントラントガーベジコレクション処理 |
US5860082A (en) * | 1996-03-28 | 1999-01-12 | Datalight, Inc. | Method and apparatus for allocating storage in a flash memory |
US6038636A (en) * | 1998-04-27 | 2000-03-14 | Lexmark International, Inc. | Method and apparatus for reclaiming and defragmenting a flash memory device |
CA2267484C (en) | 1999-03-30 | 2002-03-05 | Object Technology International Inc. | Reclaiming memory from deleted applications |
-
1999
- 1999-03-30 CA CA002267484A patent/CA2267484C/en not_active Expired - Fee Related
- 1999-05-18 TW TW088108092A patent/TW436790B/zh not_active IP Right Cessation
- 1999-10-14 US US09/418,332 patent/US6581133B1/en not_active Expired - Fee Related
-
2000
- 2000-03-21 PL PL00351506A patent/PL351506A1/xx unknown
- 2000-03-21 WO PCT/GB2000/001063 patent/WO2000058838A1/en active IP Right Grant
- 2000-03-21 DE DE60003676T patent/DE60003676T2/de not_active Expired - Lifetime
- 2000-03-21 JP JP2000608264A patent/JP3683814B2/ja not_active Expired - Fee Related
- 2000-03-21 IL IL14473300A patent/IL144733A0/xx active IP Right Grant
- 2000-03-21 CZ CZ20013477A patent/CZ20013477A3/cs unknown
- 2000-03-21 HU HU0200563A patent/HUP0200563A2/hu unknown
- 2000-03-21 EP EP00911115A patent/EP1177502B1/de not_active Expired - Lifetime
- 2000-03-21 CN CNB00805701XA patent/CN1244054C/zh not_active Expired - Fee Related
- 2000-03-21 AT AT00911115T patent/ATE244418T1/de not_active IP Right Cessation
- 2000-03-21 ES ES00911115T patent/ES2199791T3/es not_active Expired - Lifetime
- 2000-03-21 AU AU33108/00A patent/AU3310800A/en not_active Abandoned
-
2001
- 2001-08-05 IL IL144733A patent/IL144733A/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
CN1345427A (zh) | 2002-04-17 |
DE60003676D1 (de) | 2003-08-07 |
AU3310800A (en) | 2000-10-16 |
HUP0200563A2 (en) | 2002-06-29 |
IL144733A0 (en) | 2002-06-30 |
TW436790B (en) | 2001-05-28 |
JP3683814B2 (ja) | 2005-08-17 |
ES2199791T3 (es) | 2004-03-01 |
CA2267484A1 (en) | 2000-09-30 |
JP2002540525A (ja) | 2002-11-26 |
EP1177502A1 (de) | 2002-02-06 |
WO2000058838A1 (en) | 2000-10-05 |
IL144733A (en) | 2006-07-05 |
CN1244054C (zh) | 2006-03-01 |
ATE244418T1 (de) | 2003-07-15 |
CZ20013477A3 (cs) | 2002-01-16 |
PL351506A1 (en) | 2003-04-22 |
CA2267484C (en) | 2002-03-05 |
EP1177502B1 (de) | 2003-07-02 |
US6581133B1 (en) | 2003-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE60003676T2 (de) | Rückforderung von speicher aus gelöschten applikationen | |
DE69710665T2 (de) | Methode und Apparat zur Speicherverwaltung | |
DE60121697T2 (de) | Verfahren zum ansteuern von remapping in einem flash-speicher und in einer dafür geeigneten flash-speicher-architektur | |
DE60129025T2 (de) | Speicherbereichszuordnung in einem dateisystem zum beschreiben beliebiger bereiche | |
DE69414556T2 (de) | Schnell loeschbare datei | |
DE69333906T2 (de) | Verfahren und System für die Dateienverwaltung mit einem schnell löschbaren, programmierbaren ROM | |
DE69130312T2 (de) | Dateisystem mit Schreib/Lesespeicher und einmaligen Schreib- und mehrmaligen Lese-speicher | |
DE3784190T2 (de) | Eintragung eines datenbasisindex in das journal zur verbesserten rueckstellung. | |
DE69226847T2 (de) | Datenverwaltungssystem für Halbleiterspeicher mit beschränkter Programmierung und I.C.-Speicherkarte mit solchem Datenverwaltungssystem | |
DE69516538T2 (de) | Speicherung von rechnerdaten | |
DE60001976T2 (de) | Verfahren und system zur datensicherung/wiederherstellung von an einer einzigen stelle gespeicherten dateien | |
DE69622238T2 (de) | Verfahren und Vorrichtung zur Sicherungsablaufplanung mit verstellbarem Niveau | |
DE60025749T2 (de) | Dateisystemabbildübertragung zwischen ungleichen dateisystemen | |
DE69623720T2 (de) | Verfahren zum Aufräumen eines Flash-Speichers mit Übersetzungsschicht | |
DE112007003693B4 (de) | Datenverarbeitungsvorrichtung und Verfahren zur Datenverarbeitung | |
DE19782041B4 (de) | Verfahren zum Durchführen eines kontinuierlichen Überschreibens einer Datei in einem nicht-flüchtigen Speicher | |
DE69031491T2 (de) | Hypertextdatenverarbeitungssystem und Verfahren | |
DE112007003678B4 (de) | Datenverarbeitungsvorrichtung und Verfahren zur Datenverarbeitung | |
DE60318477T2 (de) | Vorrichtung zur dateiaktualisierung | |
DE69332696T2 (de) | Rechnerverfahren und System zur Speicherverwaltung | |
DE112007003645B4 (de) | Datenverarbeitungsvorrichtung und Verfahren zur Datenverarbeitung | |
DE102005019842A1 (de) | System und Verfahren zum sequentiellen Schreiben von Daten in einen Flash-Speicher | |
WO2001031454A1 (de) | Verfahren zur dynamischen speicherverwaltung | |
DE69921426T2 (de) | Aufnahme- und Wiedergabeapparat | |
EP0704803A1 (de) | Verfahren zur Speicherverwaltung eines Flash-Speichers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8320 | Willingness to grant licences declared (paragraph 23) | ||
8328 | Change in the person/name/address of the agent |
Representative=s name: DUSCHER, R., DIPL.-PHYS. DR.RER.NAT., PAT.-ANW., 7 |