DE102006059626A1 - Verfahren zum Auslesen von Daten aus einem Speichermedium - Google Patents

Verfahren zum Auslesen von Daten aus einem Speichermedium Download PDF

Info

Publication number
DE102006059626A1
DE102006059626A1 DE102006059626A DE102006059626A DE102006059626A1 DE 102006059626 A1 DE102006059626 A1 DE 102006059626A1 DE 102006059626 A DE102006059626 A DE 102006059626A DE 102006059626 A DE102006059626 A DE 102006059626A DE 102006059626 A1 DE102006059626 A1 DE 102006059626A1
Authority
DE
Germany
Prior art keywords
date
area
data
group
read
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.)
Withdrawn
Application number
DE102006059626A
Other languages
English (en)
Inventor
Jens Liebehenschel
Dirk Herrmann
Joern Boettcher
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch 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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102006059626A priority Critical patent/DE102006059626A1/de
Priority to EP07857444A priority patent/EP2102766A1/de
Priority to PCT/EP2007/063780 priority patent/WO2008071733A1/de
Priority to US12/305,597 priority patent/US8214605B2/en
Publication of DE102006059626A1 publication Critical patent/DE102006059626A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90339Query processing by using parallel associative memories or content-addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1847File system types specifically adapted to static storage, e.g. adapted to flash memory or SSD

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

Verfahren zum Auslesen von Daten (A, B, C, D) aus einem Speichermedium, welches die Daten (A, B, C, D) in Bereichen (Be1, Be2, ...Bem) verteilt speichert, wobei jedem Bereich (Be1, Be2, ...Bem) eine Bereichskennung (A1, A2...An, B1, B2...Bn, C1, C2...Cn, D1, D2...Dn) in Abhängigkeit des jeweils im Bereich (Be1, Be2, ...Bem) gespeicherten Datums (A, B, C, D) zugeordnet wird, wobei das Verfahren die Schritte enthält: a) Zuordnen von jeweils einer Datumskennung (A<SUB>Dk</SUB>, B<SUB>Dk</SUB>, C<SUB>Dk</SUB>, D<SUB>Dk</SUB>) entsprechend einem auszulesenden Datum (A, B, C, D); b) Gruppieren der Datumskennung (A<SUB>Dk</SUB>, B<SUB>Dk</SUB>, C<SUB>Dk</SUB>, D<SUB>Dk</SUB>) in zumindest eine Gruppe (G1, G2, ...Gi); c) Durchführen eines Suchalgorithmus, bei welchem bereichsweise und gruppenweise die Bereichskennung (A1, A2...An, B1, B2...Bn, C1, C2...Cn, D1, D2...Dn) im jeweiligen Bereich (Be1, Be2, ...Bem) mit in der Gruppe (G1, G2, ...Gi) enthaltenen Datumskennungen (A<SUB>Dk</SUB>, B<SUB>en wird und, wenn eine der Datumskennungen (A<SUB></SUB>) einer Bereichskennung (G1, G2, ...Gi) entspricht, das jeweilige Datum (A, B, C, D) aus dem Bereich (Be1, Be2, ...Bem) ausgelesen wird.

Description

  • Stand der Technik
  • Die Erfindung betrifft ein Verfahren zum Auslesen von Daten aus einem Speichermedium nach Anspruch 1 und ein Speichermedium nach Anspruch 11.
  • Auf Hardware-Speicherbausteinen, wie beispielsweise EEPROM- oder Flash-Speichern, werden z. B. nicht-flüchtige Steuergerätedaten abgelegt. Hierzu werden unterschiedliche Dateisysteme, d. h. Speicherlayout-Strategien verwendet.
  • Eine typische Layout-Strategie besteht darin, den Speicher in Blöcke gleicher Größe zu unterteilen und in diesen Blöcken die eigentlichen Daten abzulegen. Zusätzlich zu diesen Daten wird für jeden Block eine Verwaltungsinformation benötigt. Die Verwaltungsinformation für einen Block kann unter anderem darüber Aufschluss geben, ob ein Block frei oder belegt ist, welche Länge die im Block gespeicherten Daten haben, welche Checksumme/CRC (Cyclic Redundancy Check) die Daten haben, und so weiter.
  • Bei einigen Steuergeräten wird ein derartiges blockorientiertes EEPROM-Dateisystem eingesetzt. Diese Art der Layout-Strategie findet sich beispielsweise auch beim FAT(File Allocation Table)-Dateisystem für Festplatten wieder. Die Anwendung von blockorientierten Dateisystemen ist demnach nicht auf EEPROM-Speicher begrenzt.
  • Eine weitere Layout-Strategie besteht darin, den Speicher in zwei Segmente zu unterteilen, wobei ein Segment das jeweils aktive Segment ist. Neue Daten werden im aktiven Segment jeweils an die bereits geschriebenen Daten angefügt. Sobald das aktive Segment gefüllt ist, werden die aktuellen Daten in das passive Segment gerettet. Nun tauschen das aktive und das passive Segment ihre Rollen aus, und das – nun passive – gefüllte Segment kann gelöscht werden. Es steht damit wieder zur Speicherung zur Verfügung, sobald das nun aktive Segment gefüllt ist. Ein derartiges System mit eventuell auch mehr als zwei Segmenten wird in zukünftigen Steuergeräten mit Flash-Speichern zum Einsatz kommen.
  • Eine besondere Eigenschaft derartiger Dateisysteme besteht darin, dass es keine fixe Zuordnung von einem Bereich des Speichermediums zu den dort abgelegten Daten gibt. In demselben Bereich auf dem Speichermedium können zu unterschiedlichen Zeiten jeweils unterschiedliche Daten abgelegt werden. Dies bedeutet, dass für das Lesen eines konkreten Datums von dem Speichermedium ein Mechanismus erforderlich ist, um das Datum auf dem Speichermedium auffinden zu können, d. h. die Bereiche zu identifizieren, in denen sich das Datum zu dem gegebenen Zeitpunkt befindet.
  • Als Mechanismus zum Auffinden von Daten werden bei Festplatten typischerweise sogenannte Verzeichnisse (directories) verwendet. Diese Verzeichnisse enthalten eine Zuordnung von einer Kennung des Datums, typischerweise einen Dateinamen, zu der Liste der Blöcke, in denen sich das Datum befindet.
  • In einigen Steuergeräten mit EEPROM-Speichern wird dagegen ein anderer Mechanismus verwendet, bei welchem jeder Block eine Information darüber enthält ob er frei ist, oder gegebenenfalls die Kennung des im Block abgelegten Datums (eine Nummer). Es gibt auch Daten, die so umfangreich sind, dass sie nicht in einem einzelnen Block unterzubringen sind. Solche Daten werden auf mehrere Blöcke verteilt, wobei die betroffenen Blöcke zu einer Sequenz, d. h. einer verketteten Liste, verbunden werden. Daher enthält ein Block zudem noch die Information darüber, ob er der erste Block der Sequenz ist, und ggf welcher Block der Nachfolger ist.
  • Das Suchen nach einem konkreten Datum stellt sich bei dem blockorientierten Dateisystem nach dem Stand der Technik wie folgt dar. Es werden alle Blöcke des Speichermediums in einer bestimmten Reihenfolge, z. B. vom ersten bis zum letzten Block untersucht, bis ein Block gefunden wird, der die folgenden Kriterien erfüllt: Der Block ist belegt, es ist der erste Block in der Sequenz, und die Kennung des im Block befindlichen Datums entspricht der Kennung des gesuchten Datums.
  • Dabei ergeben sich zwei Möglichkeiten: a) Sofern ein solcher Block gefunden wird, kann das gesuchte Datum gelesen werden. Über die Verkettung der Blöcke vom Vorgänger zum Nachfolger werden alle zu dem Datum gehörenden weiteren Blöcke gefunden. b) Sofern kein solcher Block gefunden wird, ist das gesuchte Datum auf dem Speichermedium nicht vorhanden.
  • Ein Problem dieses Verfahrens nach dem Stand der Technik ist die potentiell lange Dauer, die zum Einlesen mehrerer Daten benötigt wird. Wird jedes Datum individuell angefordert, dann ist jedes Mal die Suche über alle Blöcke des Speichermediums durchzuführen. Wird beispielsweise die Verteilung der Daten über das Speichermedium als zufällig angenommen, dann sind bei der Suche nach einem Datum auf einem blockorientierten Dateisystem mit b Blöcken erwartungsgemäß (b + 1)/2 Blöcke zu untersuchen bis das gewünschte Datum gefunden wird. Bei d zu suchenden Daten ergibt sich eine Zahl von d·(b + 1)/2 zu untersuchenden Blöcken. Im schlechtesten Fall kann die Zahl jedoch noch höher liegen.
  • Problematisch an dieser Zahl zu untersuchender Blöcke – und der damit verbundenen Rechenzeit – ist die Tatsache, dass bei Steuergeräten typischerweise die meisten Daten des Systems in der Startphase eingelesen werden müssen. Die für diese Startphase verfügbare Rechenzeit ist dagegen zumeist sehr kurz.
  • Offenbarung der Erfindung
  • Es ist Aufgabe der vorliegenden Erfindung, Daten aus einem Speichermedium schneller auszulesen.
  • Diese Aufgabe wird durch ein Verfahren zum Auslesen von Daten aus einem Speichermedium, welches die Daten in Bereichen verteilt speichert, gelöst, wobei jedem Bereich eine Bereichskennung in Abhängigkeit des jeweils im Bereich gespeicherten Datums zugeordnet wird, wobei das Verfahren die Schritte enthält: a) Zuordnen von jeweils einer Datumskennung entsprechend einem auszulesenden Datum; b) Gruppieren der Datumskennungen in zumindest eine Gruppe; c) Durchführen eines Suchalgorithmus, bei welchem bereichsweise und gruppenweise die Bereichskennung im jeweiligen Bereich mit den in der Gruppe enthaltenen Datumskennungen verglichen wird, und, wenn eine der Datumskennungen einer Bereichskennung entspricht, das jeweilige Datum aus dem Bereich ausgelesen wird.
  • Ein wesentlicher Punkt der vorliegenden Erfindung besteht dabei darin, dass ein Lesen mehrerer Daten dadurch beschleunigt wird, indem nicht jedes Datum einzeln angefordert wird, sondern indem beim Durchsuchen des Speichermediums zugleich nach Gruppen von zu lesenden Daten Ausschau gehalten wird. Genauer gesagt, anstatt beispielsweise das Speichermedium nacheinander nach den Daten A, B, C und D zu durchsuchen, wird das Speichermedium nur einmal durchsucht. Dabei wird jeder Bereich des Speichermediums darauf überprüft, ob er eines der Daten A, B, C oder D enthält. Wird ein Datum der gesuchten Daten gefunden, wird es eingelesen, die Suche nach weiteren Daten danach aber fortgesetzt. So können sämtliche Daten in einem einzigen Durchgang durch das Speichermedium ausgelesen werden.
  • Es kann Situationen geben, bei denen Daten in mehreren Schritten gelesen werden müssen. Zum Beispiel kann es nötig sein, dass ein Teil eines Systems sehr schnell nach dem Start des Systems verfügbar sein muss, z. B. ein Gateway im Fahrzeug. In so einem Fall würden auch die Daten dieses Systemteils sehr schnell benötigt. Das Verfahren erlaubt in so einem Fall, die Daten entsprechend zu gruppieren. Die Daten A, B, C und D werden beispielsweise in zwei Gruppen, z. B. Gruppen (A, B) und (C, D), unterteilt. Dann wird das oben beschriebene Verfahren einmal für die Gruppe A, B und ein weiteres Mal für die Gruppe C, D durchgeführt. Die Daten (A, B) sind somit schneller verfügbar. Das Verfahren ist auch bei diesem Beispiel noch vorteilhaft, da das Speichermedium statt viermal nur zweimal durchsucht werden muss. Somit kann sowohl die Dauer des Einlesens als auch die Vorhersagbarkeit des Zeitbedarfs durch das erfinderische Verfahren wesentlich verbessert werden.
  • Das erfindungsgemäße Verfahren ist insbesondere bei einem Speichermedium vorteilhaft, bei welchem die Daten im Lauf der Zeit ihren Speicherort (Bereich) ändern. Daher kann das Verfahren insbesondere bei einem Speichermedium angewendet werden, welches keinerlei Verzeichnisse mit Verweisen über den Speicherort der einzelnen Daten enthält. Das Verfahren kann bei einem blockorientierten Speichermedium als auch einem nicht-blockorientierten Speichermedium angewendet werden. Die Bereiche können Speicherbereiche innerhalb des Speichermediums mit einer einheitlich festgelegten Datengröße (Blöcke) als auch Speicherbereiche innerhalb des Speichermediums mit variabler Datengröße sein. Optional kann eine Lookup-Tabelle in einem RAM bereitgestellt sein, welche Verweise über den Speicherort von Daten enthält. Dadurch wird ein Durchsuchen des Speichermediums vermieden, allerdings wird dieser Vorteil durch eine Bereitstellung eines zusätzlichen Speicherbereichs erkauft.
  • Vorzugsweise enthält der Suchalgorithmus-Schritt c) die Schritte: c1) Setzen eines Bereichszählers m und eines Gruppenzählers i; c2) Vergleichen der Bereichskennung im Bereich Bem mit den in der Gruppe Gi enthaltenen Datumskennungen; c3) Auslesen des Datums aus dem Bereich Bem, wenn eine der Datumskennungen einer Bereichskennung entspricht; c4) Ändern des Bereichszählers m auf einen neuen Wert, und Wiederholen der Schritte c2) bis c3), wenn der letzte Bereich nicht erreicht ist, oder Fortfahren mit Schritt c5), wenn der letzte Bereich erreicht ist; c5) Ändern des Gruppenzählers i auf einen neuen Wert, und Wiederholen der Schritte c2) bis c4), bis die letzte Gruppe erreicht ist.
  • Das Verfahren bietet zahlreiche Vorteile an. Für ein blockorientiertes Dateisystem gilt beispielhaft: d sei die Zahl der zu lesenden Daten, g die Zahl der Gruppen und b die Zahl der Blöcke auf dem Speichermedium.
  • Ein erster Vorteil ist, dass die mittlere Zahl zu untersuchender Blöcke kleiner ist. Anstatt wie beim Stand der Technik im Mittel d·(b + 1)/2 Blöcke zu untersuchen, werden bei dem vorgestellten Verfahren nur g·b Blöcke untersucht, wobei g typischerweise gleich 1 oder zumindest deutlich kleiner als d ist. Somit ergibt sich eine kürzere Dauer für das Einlesen der Daten.
  • Ein weiterer Vorteil ist, dass es keine Schwankungen bei der Zahl der zu untersuchenden Blöcke gibt. Im Falle des Standes der Technik ist die maximale Zahl zu untersuchender Blöcke gleich d·b, wenn nämlich kein Datum auf dem Speichermedium gefunden wird.
  • Die minimale Zahl zu untersuchender Blöcke berechnet sich aus 1 + 2 + 3 + ... + d und kann somit aus der Gleichung (1 + d)·d/2 berechnet werden, wenn nämlich die ersten d Blöcke bereits die gesuchten Blöcke sind.
  • Bei dem erfindungsgemäßen Verfahren dagegen werden genau g·b Blöcke untersucht. Folglich ist die Dauer für das Einlesen der Daten konstant und zur Entwicklungszeit bekannt. Daher ergibt sich eine bessere Vorhersagbarkeit des Systemverhaltens bezüglich der Laufzeit.
  • Bei einem Steuergerät werden folgende beispielhafte Kennzahlen herangezogen:
    – Anzahl zu lesender Daten: d = 15,
    – Anzahl der Gruppen: g = 1, und
    – Anzahl der Blöcke auf dem Speichermedium: b = 50.
  • Danach sind nach dem Stand der Technik bestenfalls (1 + d)·d/2 = 120 Blöcke zu untersuchen. Im Mittel sind d·(b/2) = 375 Blöcke zu untersuchen. Im schlechtesten Fall sind d·b = 750 Blöcke zu untersuchen.
  • Hingegen sind bei Anwendung des erfinderischen Verfahrens in jedem Fall lediglich genau g·b = 50 Blöcke zu untersuchen.
  • In einer vorteilhaften Ausgestaltung wird der Suchalgorithmus nacheinanderfolgend vom ersten Bereich zum letzten Bereich durchgeführt.
  • Es kann sich auch für andere Dateisysteme ein Vorteil ergeben. Ein Vorteil ergibt sich, sofern es keine feste Zuordnung von Bereichen des Speichermediums zu den zu suchenden Daten gibt, und für das Einlesen eines bestimmten einzelnen Datums eine Suche erforderlich ist. Somit würde bei mehreren einzeln eingelesenen Daten das Speichermedium auch mehrfach durchsucht. In solchen Fällen kann sowohl die Dauer des Einlesens als auch die Vorhersagbarkeit des Zeitbedarfs durch das hier beschriebene Verfahren verbessert werden.
  • Im Folgenden werden beispielhafte Konstellationen für ein nicht-blockorientiertes Dateisystem dargestellt, bei welchem Daten in Bereichen abgelegt sind. Allerdings können auch hier die Daten in Blöcken abgelegt sein. Der Inhalt eines Speichermediums wird dabei in folgender Notation dargestellt:
    [--, A1, B1, --, B2].
  • In diesem Beispiel ist ein Speichermedium mit fünf Bereichen dargestellt, von denen der erste und der vierte Bereich leer sind ('--'). Es gibt zwei Daten A und B. Das Datum A ist in einem einzelnen Bereich unterzubringen, der mit A1 gekennzeichnet ist. Dagegen ist das Datum B so umfangreich, dass der Inhalt in zwei Bereichen untergebracht werden muss. B1 kennzeichnet den Bereich mit dem ersten Teil von Datum B, während B2 den Bereich mit dem zweiten Teil von Datum B darstellt.
  • Weiterhin wird in den folgenden Beispielen davon ausgegangen, dass, wie oben erwähnt, die Untersuchung der Bereiche immer vom ersten zum letzten Bereich erfolgt. Dies ist allerdings keine zwingende Eigenschaft des Verfahrens, jede andere Reihenfolge ist gleichwertig, sofern sie zur vollständigen Durchsuchung der Bereiche führt.
  • In einem ersten Beispiel sei der Inhalt des Speichermediums wie folgt:
    [--, B1, A1, --, B2].
  • Angenommen sei weiterhin, dass die Daten A, B und C gemeinsam gelesen werden sollen.
  • Bei Anwendung des Verfahrens würde zuerst Bereich 1 untersucht und als leer erkannt. Als nächstes würde Bereich 2 untersucht. Hier würde erkannt werden, dass Bereich 2 den ersten Teil von Datum B enthält. Da das Datum B gelesen werden soll, werden die Daten aus Bereich 2 (B1) und Bereich 5 (B2) gelesen, indem einer Verkettung von Bereich 2 nach Bereich 5 gefolgt wird. Anschließend wird die Suche hinter Bereich 2 fortgesetzt. Bei Bereich 3 wird erkannt, dass er das Datum A enthält, und demnach wird Datum A gelesen.
  • Fortgesetzt wird bei Bereich 4. Da dieser leer ist, wird zuletzt Bereich 5 untersucht. Dieser enthält zwar einen Teil von Datum B, da es jedoch nicht der erste Bereich mit Daten von B ist, kommt es zu keinem weiteren Lesevorgang. Da alle Bereiche betrachtet wurden, ist diese Suche hier beendet.
  • Anhand dieses Beispiels lässt sich zusammenfassen:
    Datum B wird zuerst vom Speichermedium gelesen,
    Datum A wird als zweites gelesen, und
    Datum C wird nicht gefunden.
  • In einer weiteren vorteilhaften Ausgestaltung wird, wenn ein Datum sich über mehr als einen Bereich erstreckt, der Suchalgorithmus ferner nach einem Auffinden eines ersten Teils des Datums eine Nachverfolgung zumindest eines weiteren Teils des Datums in einem weiteren Bereich durchführen, auf den durch ein Verkettungskennzeichens verwiesen wird.
  • Durch diese Ausgestaltung wird ein beschleunigtes Auslese-Verfahren bereitgestellt, indem einer Verkettung von einem Bereich zu einem verketteten weiteren Bereich gefolgt wird.
  • In einem zweiten Beispiel sei der Inhalt des Speichermediums wie folgt:
    [--, A1, B1, --, B2].
  • Auch in diesem Beispiel sollen die Daten A, B und C gemeinsam gelesen werden. Im Unterschied zum ersten Beispiel, wird hier Datum A als erstes gelesen.
  • Anhand dieses Beispiels lässt sich zusammenfassen:
    Datum A wird zuerst vom Speichermedium gelesen,
    Datum B wird als zweites gelesen, und
    Datum C wird nicht gefunden.
  • Der Vergleich zwischen dem ersten Beispiel und dem zweiten Beispiel zeigt eine Besonderheit des Verfahrens an. Es ergibt sich nämlich, unabhängig vom Inhalt der Daten A und B, allein durch die Anordnung der Daten auf dem Speichermedium eine unterschiedliche Lesereihenfolge. Wenn sich, wie bei nicht-blockorientierten Dateisystemen üblich, die Anordnung der Daten auf dem Speichermedium ändern kann, ändert sich damit auch die Lesereihenfolge. Bei einem System, bei welchem das erfinderische Verfahren eingesetzt wird, ist dieser Sachverhalt entsprechend zu berücksichtigen.
  • In einer bevorzugten Ausführungsform der Erfindung wird das Gruppieren der Datumskennungen in zumindest eine Gruppe derart durchgeführt, dass eine vorbestimmte Auslese-Reihenfolge erzwungen wird.
  • Durch diese Ausgestaltung werden für Daten mit hoher Priorität, d. h. für Daten in Gruppen, welche zuerst eingelesen werden, ein besonders schneller Zugriff und ein bevorzugtes Auslesen ermöglicht. Dies wird durch eine relative Verlangsamung des Zugriffs auf die übrigen Daten erkauft.
  • In einem dritten Beispiel wird angezeigt, wie bestimmte Reihenfolgen durch eine bestimmte Gruppierung erzwungen werden können.
  • Der Inhalt des Speichermediums sei folgender:
    [C1, A1, B1, --, B2 ].
  • In diesem Fall sollen wieder Daten A, B und C gelesen werden, es sei aber aus Systemsicht notwendig, dass Datum B vor Datum A ausgelesen wird, während es bezüglich des Datums C keine Einschränkungen gibt.
  • Dieses Ziel wird dadurch erreicht, indem Daten A und B in unterschiedliche Gruppen eingeteilt werden, und die Gruppe mit Datum B zuerst gelesen wird. Ob Datum C der Gruppe von Datum A oder der Gruppe von Datum B zugeteilt wird, ist unwesentlich. Es sei angenommen, dass das Datum C der Gruppe von Datum B zugeordnet ist.
  • Zuerst werden die Daten der Gruppe (B, C) gelesen. Dabei wird zuerst Datum C entdeckt und gelesen, da Datum C zur Gruppe (B, C) gehört. Sobald die Suche den Bereich 2 erreicht, wird dort Datum A entdeckt. Da Datum A nicht in die Gruppe (B, C) der zu suchenden Daten gehört, wird Datum A übersprungen, und es wird mit Bereich 3 fortgefahren. Nun wird Datum B gelesen, weil es zur Gruppe (B, C) gehört. Bereich 4 ist leer und wird übersprungen, Bereich 5 enthält keinen Anfangsbereich. Damit ist der Lesevorgang für die Gruppe (B, C) abgeschlossen.
  • Im zweiten Schritt werden die Daten der Gruppe (A) gelesen. Dabei wird Datum C übersprungen, weil es nicht zur Gruppe (A) gehört, Datum A gehört zur Gruppe (A) und wird gelesen und schließlich wird Datum B übersprungen, weil es nicht zur Gruppe (A) gehört.
  • Anhand dieses Beispiels lässt sich zusammenfassen:
    Datum B wird zuerst vom Speichermedium gelesen,
    Datum C wird als zweites gelesen, und
    Datum A wird als drittes gelesen, also nach Datum B, wie gefordert.
  • In einer bevorzugten Ausführungsform wird das Gruppieren derart durchgeführt, dass Datumskennungen zu Daten einer aufeinanderfolgenden Auslese-Reihenfolgen-Priorität in einer jeweils unterschiedlichen aufeinanderfolgenden Gruppe gruppiert werden.
  • Durch die Einteilung in Gruppen kann eine notwendige Lesereihenfolge zwischen Daten erzwungen werden, wie es im dritten Beispiel demonstriert wurde. Ferner kann verhindert werden, dass einzelne Daten überhaupt gelesen werden. Das entsprechende Datum wird in diesem Fall keiner der Gruppen zugeordnet. Ein typisches Szenario in Steuergeräten sind Fertigungsinformationen, wie beispielsweise Seriennummer und Fertigungsdatum. Diese Daten werden für den Betrieb des Gerätes nicht benötigt und müssen daher nicht vom Speichermedium gelesen werden.
  • Darüber hinaus kann die Zahl der Datensätze, die in einem Durchlauf gelesen werden, begrenzt werden. Dies ist erforderlich, wenn das Einlesen sämtlicher Daten in einem Schritt zu zeitlichen Problemen führt, beispielsweise weil zwischendurch ein Watchdog bedient werden muss. Die Lösung kann darin bestehen, die Daten so in Gruppen zu unterteilen, dass das Lesen der Daten jeder einzelnen Gruppe kein zeitliches Problem mehr darstellt.
  • In einer bevorzugten Ausführungsform der Erfindung wird protokolliert, welche Daten bereits ausgelesen worden sind, und eine Protokollkennung in Ansprechen auf diese Daten in einem Protokollfeld gespeichert.
  • In einer weiteren Ausführungsform wird in Ansprechen auf die Protokollkennung ein Auslesen eines zumindest zweifach vorhandenen Datums verhindert.
  • Durch diese Ausgestaltung wird eine verkürzte Auslesezeit der Daten ermöglicht.
  • In einem weiteren Beispiel sei der Inhalt des Speichermediums folgender:
    [A1, B1, --, B2, A1'].
  • Diese Ausführungsform trägt der Besonderheit Rechnung, dass das Datum A zweifach vorhanden ist (A1 und A1'). Diese Konstellation ist denkbar, sofern bestimmte Daten mehrfach abgelegt werden, um den Verlust des Datums (beispielsweise durch Verfälschung bei elektromagnetischer Einstrahlung oder Alterung, bzw Defekten des Speichermediums) unwahrscheinlicher zu machen.
  • Ein anderes Szenario, welches zu einer solchen Konstellation führen kann, ist, dass bei einem Speichervorgang eine Aktualisierung von Datum A vorgenommen wurde, aber die ältere Version nicht ordnungsgemäß entfernt wurde, beispielsweise weil in dem entsprechenden Moment ein Stromausfall erfolgt ist. In diesem Beispiel sollen Datum A und Datum B als eine Gruppe ausgelesen werden.
  • Zunächst wird bei Bereich 1 eine Instanz des Datums A entdeckt und gelesen. Danach wird bei Bereich 2 der Start von Datum B entdeckt, und folglich Datum B gelesen. Bereich 3 ist leer und wird übergangen, ebenso wie Bereich 4, da er kein Startbereich ist. Zuletzt wird bei Bereich 5 wiederum Datum A entdeckt, diesmal die zweite Instanz. Hier bietet das Verfahren zwei Möglichkeiten an, um zu reagieren. Entweder wird Datum A ein zweites Mal gelesen, oder aber die zweite Instanz wird ignoriert.
  • Eine Variante, bei welcher Daten mehr als einmal gelesen werden, muss im Systemkontext bekannt sein. Die Empfänger der Daten müssen auf die Situation vorbereitet sein, dass sie das gleiche Datum mehrmals erhalten. Ein Nachteil dieser Variante besteht darin, dass sich die Dauer des Lesevorgangs abhängig vom Inhalt des Speichermediums verändern kann. Dagegen besteht ein Vorteil dieser Variante darin, dass die Einrichtung eines Gedächtnisses überflüssig ist. Da das mehrmalige Lesen des gleichen Datums nicht verhindert werden muss, ist es nicht notwendig zu protokollieren, welche Daten bereits gelesen worden sind.
  • Denkbar sind auch komplexere Regeln, bei denen nur für bestimmte Daten ein mehrfaches Lesen verhindert werden soll.
  • In einer weiteren Ausführungsform wird der Suchalgorithmus beendet, wenn alle auszulesenden Daten ausgelesen sind.
  • Durch diese Ausgestaltung wird durch die Möglichkeit, in einem Gedächtnis zu protokollieren, welche Daten bereits gelesen worden sind, eine weitere Variante des Verfahrens genutzt, welche darin besteht, die Suche zu beenden, sobald bekannt ist, dass sämtliche zu suchenden Daten bereits gefunden worden sind. Die noch verbleibenden Bereiche müssten dann nicht mehr untersucht werden, wodurch wiederum die zum Auslesen der Daten notwendige Zeit verkürzt wird.
  • In einer bevorzugten Ausführungsform wird das Verfahren in einem nicht-flüchtigen Speichermedium, insbesondere einem EEPROM oder einem Flash, durchgeführt.
  • Das Verfahren kann auch bei Bodycomputern mit einem EEPROM oder Flash zur Abspeicherung nicht-flüchtiger Daten eingesetzt werden. Weiterhin kann das Verfahren bei einem Flash-Dateisystem zum Einsatz kommen.
  • Die eingangs genannte Aufgabe wird auch durch ein Speichermedium gelöst, welches auszulesende Daten in Bereichen verteilt gespeichert hält, wobei jedem Bereich eine Bereichskennung in Abhängigkeit von dem jeweils im Bereich gespeicherten Datum zugeordnet ist, wobei das Speichermedium enthält: ein Zuordnungsmittel, welches dazu angepasst ist, jeweils eine Datumskennung entsprechend einem auszulesenden Datum zuzuordnen; ein Gruppierungsmittel, welches dazu angepasst ist, die Datumskennungen in zumindest eine Gruppe zu gruppieren; ein Suchalgorithmusmittel, welches dazu angepasst ist, bereichsweise und gruppenweise die Bereichskennung im jeweiligen Bereich mit den in der Gruppe enthaltenen Datumskennungen zu vergleichen, und das jeweilige Datum aus dem Bereich auszulesen, wenn eine der Datumskennungen einer Bereichskennung entspricht.
  • Ein wesentlicher Punkt des erfindungsgemäßen Speichermediums besteht darin, dass es die schon in Zusammenhang mit dem Verfahren beschriebenen Vorteile bewirkt. Dabei ist das erfindungsgemäße Speichermedium insbesondere bei einem Speichermedium vorteilhaft, bei welchem die Daten im Lauf der Zeit ihren Speicherort, das heißt Bereich, ändern. Dabei braucht das Speichermedium keinerlei Verzeichnisse mit Verweisen über den Speicherort der einzelnen Daten enthalten.
  • Kurze Beschreibung der Zeichnungen
  • Das erfindungsgemäße Verfahren zum Auslesen von Daten aus einem Speichermedium wird im folgenden anhand eines Ausführungsbeispiels näher erläutert. Es zeigen:
  • 1 ein Ablaufdiagramm zur Erläuterung des erfindungsgemäßen Verfahrens zum Auslesen von Daten aus einem Speichermedium;
  • 2 ein beispielhaftes Speichermedium, welches acht Bereiche enthält; und
  • 3 eine Gruppenmatrix, welche zwei Gruppen enthält.
  • Ausführungsformen der Erfindung
  • 1 zeigt ein Ablaufdiagramm zur Erläuterung des erfindungsgemäßen Verfahrens zum Auslesen von Daten A bis D aus einem Speichermedium. Hierbei können einzelne Daten, welche einen Speicherbereich benötigen, welcher den Speicherbereich eines einzelnen Bereichs übersteigt, auf mehrere Bereiche verteilt gespeichert werden.
  • In einem Schritt S2 wird jeweils eine Datumskennung ADk, BDk, CDk, DDk entsprechend einem auszulesenden Datum A, B, C, D zugeordnet. In einem Schritt S4 werden die Datumskennungen ADk, BDk, CDk, DDk in zumindest eine Gruppe G1, G2, ... Gi gruppiert. Beginnend ab Schritt S6 wird ein Suchalgorithmus durchgeführt. Hierzu werden in Schritt S6 ein Bereichszähler m und ein Gruppenzähler i gesetzt. In diesem Anwendungsbeispiel werden der Bereichszähler und der Gruppenzähler jeweils auf +1 gesetzt. Es sind jedoch auch andere Werte möglich.
  • In einem Schritt S8 wird die Bereichskennung im Bereich Bem mit den in der Gruppe Gi enthaltenen Datumskennungen ADk, BDk, CDk, DDk verglichen. In einem Schritt S10 wird das Datum A, B, C oder D aus dem Bereich Bem ausgelesen, wenn eine der Datumskennungen ADk, BDk, CDk oder DDk einer Bereichskennung entspricht.
  • In einem Schritt S12 wird überprüft, ob der letzte Bereich erreicht ist. Wenn bei Schritt S12 bestimmt wird, dass der letzte Bereich nicht erreicht ist, wird in einem Schritt S14 der Bereichszähler m auf einen neuen Wert geändert. In diesem Ausführungsbeispiel wird der Bereichszähler um +1 erhöht, d. h. m = m + 1. Anschließend wird auf Schritt S8 zurück verzweigt. Wenn andererseits bei Schritt S12 bestimmt wird, dass der letzte Bereich erreicht ist, wird mit Schritt S16 fortgefahren.
  • In Schritt S16 wird überprüft, ob die letzte Gruppe erreicht ist. Wenn bei Schritt S16 bestimmt wird, dass die letzte Gruppe nicht erreicht ist, wird in einem Schritt S18 der Gruppenzähler i auf einen neuen Wert geändert. In diesem Ausführungsbeispiel wird der Gruppenzähler um +1 erhöht, d. h. i = i + 1. Anschließend wird auf Schritt S8 zurück verzweigt.
  • Wenn andererseits bei Schritt S16 bestimmt wird, dass die letzte Gruppe erreicht ist, wird das Verfahren beendet.
  • Durch das beispielhafte Verfahren werden Daten einer hohen Priorität sehr viel schneller aus dem Speichermedium ausgelesen.
  • 2 zeigt ein Speichermedium, beispielsweise einen EEPROM-Speicher oder einen Flash-Speicher. Das Speichermedium hält die Daten A, B und C in acht Bereichen Be1–Be8 verteilt gespeichert.
  • In diesem Beispiel ist das Datum B so umfangreich, dass es nicht in einem einzelnen Bereich Be1–Be8 unterzubringen ist. Deshalb ist dieses Datum auf mehrere Bereiche verteilt gespeichert, wobei die betroffenen Bereiche zu einer Sequenz, d. h. einer verketteten Liste, verbunden sind. Jeder Bereich Be1–Be8 enthält zudem jeweils noch eine Bereichskennung A1, B1, B2 und C1 in Ansprechen auf das jeweils im Bereich Be1–Be8 gespeicherte Datum oder eine Kennzeichnung '--', welche darauf hinweist, dass der Bereich leer ist. Bei dem in 2 gezeigten Speichermedium ist das Datum A in Bereich Be2 gespeichert, welches durch Bereichskennung A1 in diesem Bereich Be2 angezeigt ist. Das Datum B ist in Bereichen Bei und Be8 gespeichert, welches durch Bereichskennungen B1 und B2 in diesen Bereichen angezeigt ist. Das Datum C ist vollständig in Bereich Be1 gespeichert. Die Bereiche Be4 bis Be7 halten keine Daten gespeichert, welches durch '--' angezeigt ist.
  • 3 zeigt eine Gruppenmatrix GM, welche Gruppen G1 und G2 enthält. Es sind hierbei Datumskennungen ADk, BDk, CDk in Gruppenfeldern G1 und G2 gruppiert, wobei jede Datumskennung ADk, BDk, CDk entsprechend einem auszulesenden Datum A bis C des in 2 angezeigten Speichermediums zugeordnet ist.
  • Es wird beispielsweise gefordert, dass Daten A, B und C gelesen werden sollen, wobei Datum B vor Datum A gelesen werden soll, während es bezüglich des Datums C keine Einschränkungen gibt.
  • Diese Anforderung wird dadurch erreicht, indem ADk und BDk in unterschiedliche Gruppen eingeteilt werden, und die Gruppe mit BDk zuerst gelesen wird. Ob CDk der Gruppe von ADk oder der Gruppe von BDk zugeordnet wird, ist unwesentlich. Es sei angenommen, dass CDk der Gruppe von BDk zugeordnet ist. Somit enthält die erste Gruppe G1 die Datumskennungen (BDk, CDk), und die zweite Gruppe G2 enthält die Datumskennung (ADk).
  • Mit Hilfe der gruppierten Gruppen G1 und G2 wird ein Suchalgorithmus auf die Bereiche Be1–Be8 des in 2 gezeigten Speichermediums durchgeführt. Der Suchalgorithmus vergleicht bereichsweise und gruppenweise die Bereichskennungen im jeweiligen Bereich mit den in der Gruppe enthaltenen Datumskennungen. Wenn eine der Datumskennungen einer Bereichskennung entspricht, wird das jeweilige Datum aus dem Bereich ausgelesen.
  • Hierzu werden zuerst die Daten bezüglich der Gruppe G1 (BDk, CDk) gelesen. Dabei wird zuerst Datum C entdeckt und gelesen, da die Datumskennung C1 (siehe 2) der Gruppe (BDk, CDk) (siehe 3) entspricht (d. h. C1 ≡ BDk, CDk). Sobald die Suche den Bereich Be2 erreicht, wird dort Datum A entdeckt. Da Datum A nicht der Gruppe (BDk, CDk) der zu suchenden Daten entspricht (d. h. A1 ≠ BDk, CDk), wird Datum A übersprungen und mit Bereich Be3 fortgefahren. Nun wird Datum B gelesen, weil es der Gruppe (BDk, CDk) entspricht (d. h. B1 ≡ BDk, CDk) Bereiche Be4–Be7 sind leer und werden übersprungen. Bereich Be8 enthält keinen Anfangsbereich. Damit ist der Lesevorgang für die Gruppe (BDk, CDk) abgeschlossen.
  • Im zweiten Schritt werden die Daten entsprechend der Gruppe (ADk) gelesen. Dabei wird Datum C übersprungen, weil es nicht der Gruppe (ADk) entspricht, Datum A entspricht der Gruppe (ADk) und wird gelesen und schließlich wird Datum B übersprungen, weil es nicht der Gruppe (ADk) entspricht.
  • Dieses Verfahren ermöglicht es, dass das Datum B zuerst vom Speichermedium gelesen wird, das Datum C als zweites gelesen wird und das Datum A als drittes, also nach Datum B, gelesen wird, wie gefordert. Indem das Speichermedium zugleich nach Gruppen G1, G2 von auszulesenden Daten durchsucht wird, können die Daten sehr viel schneller ausgelesen werden.

Claims (11)

  1. Verfahren zum Auslesen von Daten (A, B, C, D) aus einem Speichermedium, welches die Daten (A, B, C, D) in Bereichen (Be1, Be2, ... Bem) verteilt speichert, wobei jedem Bereich (Be1, Be2, ... Bem) eine Bereichskennung (A1, A2 ... An, B1, B2 ... Bn, C1, C2 ... Cn, D1, D2 ... Dn) in Abhängigkeit des jeweils im Bereich (Be1, Be2, ... Bem) gespeicherten Datums (A, B, C, D) zugeordnet wird, gekennzeichnet durch die Schritte: a) Zuordnen (S2) von jeweils einer Datumskennung (ADk, BDk, CDk, DDk) entsprechend einem auszulesenden Datum (A, B, C, D); b) Gruppieren (S4) der Datumskennungen (ADk, BDk, CDk, DDk) in zumindest eine Gruppe (G1, G2, ... Gi); c) Durchführen eines Suchalgorithmus (S6–S16), bei welchem bereichsweise und gruppenweise die Bereichskennung (A1, A2 ... An, B1, B2 ... Bn, C1, C2 ... Cn, D1, D2 ... Dn) im jeweiligen Bereich (Be1, Be2, ... Bem) mit den in der Gruppe (G1, G2, ... Gi) enthaltenen Datumskennungen (ADk, BDk, CDk, DDk) verglichen wird, und, wenn eine der Datumskennungen (ADk, BDk, CDk, DDk) einer Bereichskennung (G1, G2, ... Gi) entspricht, das jeweilige Datum (A, B, C, D) aus dem Bereich (Be1, Be2, ... Bem) ausgelesen wird.
  2. Verfahren nach Anspruch 1, bei welchem der Suchalgorithmus-Schritt c) die Schritte enthält: c1) Setzen (S6) eines Bereichszählers m und eines Gruppenzählers i; c2) Vergleichen (S8) der Bereichskennung (A1, A2 ... An, B1, B2 ... Bn, C1, C2 ... Cn, D1, D2 ... Dn) im Bereich (Bem) mit den in der Gruppe (Gi) enthaltenen Datumskennungen (ADk, BDk, CDk, DDk); c3) Auslesen (S10) des Datums (A, B, C, D) aus dem Bereich (Bem), wenn eine der Datumskennungen (ADk, BDk, CDk, DDk) einer Bereichskennung (A1, A2 ... An, B1, B2 ... Bn, C1, C2 ... Cn, D1, D2 ... Dn) entspricht; c4) Ändern (S14) des Bereichszählers m auf einen neuen Wert, und Wiederholen der Schritte c2) bis c3), wenn der letzte Bereich nicht erreicht ist, oder Fortfahren mit Schritt c5), wenn der letzte Bereich erreicht ist; c5) Ändern (S18) des Gruppenzählers i auf einen neuen Wert, und Wiederholen der Schritte c2) bis c4), bis die letzte Gruppe erreicht ist.
  3. Verfahren nach einem der Ansprüche 1 oder 2, bei welchem der Suchalgorithmus nacheinanderfolgend vom ersten Bereich (Be1) zum letzten Bereich (Beb) durchgeführt wird.
  4. Verfahren nach einem der Ansprüche 1 bis 3, bei welchem, wenn ein Datum (A, B, C, D) sich über mehr als einen Bereich (Be1, Be2, ... Bem) erstreckt, der Suchalgorithmus ferner nach einem Auffinden eines ersten Teils des Datums (A1, B1, C1, D1) eine Nachverfolgung zumindest eines weiteren Teils des Datums (A2, B2, C2, D2) in einem weiteren Bereich (Be1, Be2, ... Bem) durchführt, auf den durch ein Verkettungskennzeichen verwiesen wird.
  5. Verfahren nach einem der Ansprüche 1 bis 4, bei welchem das Gruppieren (S4) der Datumskennungen (ADk, BDk, CDk, DDk) in zumindest eine Gruppe (G1, G2, ... Gi) derart durchgeführt wird, dass eine vorbestimmte Auslese-Reihenfolge erzwungen wird.
  6. Verfahren nach Anspruch 5, bei welchem das Gruppieren (S4) derart durchgeführt wird, dass Datumskennungen (ADk, BDk, CDk, DDk) zu Daten (A, B, C, D) einer aufeinanderfolgenden Auslese-Reihenfolgen-Priorität in einer jeweils unterschiedlichen aufeinanderfolgenden Gruppe (G1, G2, ... Gi) gruppiert werden.
  7. Verfahren nach einem der Ansprüche 1 bis 6, bei welchem protokolliert wird, welche Daten (A, B, C, D) bereits ausgelesen worden sind, und eine Protokollkennung in Ansprechen auf diese Daten (A, B, C, D) in einem Protokollfeld gespeichert wird.
  8. Verfahren nach Anspruch 7, bei welchem in Ansprechen auf die Protokollkennung ein Auslesen eines zumindest zweifach vorhandenen Datums (A, B, C, D) verhindert wird.
  9. Verfahren nach einem der Ansprüche 1 bis 8, bei welchem der Suchalgorithmus beendet wird, wenn alle auszulesenden Daten (A, B, C, D) ausgelesen sind.
  10. Verfahren nach einem der Ansprüche 1 bis 9, wobei das Verfahren in einem nicht-flüchtigen Speichermedium, insbesondere einem EEPROM oder einem Flash, durchgeführt wird.
  11. Speichermedium, welches auszulesende Daten (A, B, C, D) in Bereichen (Be1, Be2, ... Bem) verteilt gespeichert hält, wobei jedem Bereich (Be1, Be2, ... Bem) eine Bereichskennung (A1, A2 ... An, B1, B2 ... Bn, C1, C2 ... Cn, D1, D2 ... Dn) in Abhängigkeit von dem jeweils im Bereich (Be1, Be2, ... Bem) gespeicherten Datum (A, B, C, D) zugeordnet ist, gekennzeichnet durch: ein Zuordnungsmittel, welches dazu angepasst ist, jeweils eine Datumskennung (ADk, BDk, CDk, DDk) entsprechend einem auszulesenden Datum (A, B, C, D) zuzuordnen; ein Gruppierungsmittel, welches dazu angepasst ist, die Datumskennungen (ADk, BDk, CDk, DDk) in zumindest eine Gruppe (G1, G2, ... Gi) zu gruppieren; ein Suchalgorithmusmittel, welches dazu angepasst ist, bereichsweise und gruppenweise die Bereichskennung (A1, A2 ... An, B1, B2 ... Bn, C1, C2 ... Cn, D1, D2 ... Dn) im jeweiligen Bereich (Be1, Be2, ... Bem) mit den in der Gruppe (G1, G2, ... Gi) enthaltenen Datumskennungen (ADk, BDk, CDk, DDk) zu vergleichen, und das jeweilige Datum (A, B, C, D) aus dem Bereich (Be1, Be2, ... Bem) auszulesen, wenn eine der Datumskennungen (ADk, BDk, CDk, DDk) einer Bereichskennung (G1, G2, ... Gi) entspricht.
DE102006059626A 2006-12-14 2006-12-14 Verfahren zum Auslesen von Daten aus einem Speichermedium Withdrawn DE102006059626A1 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE102006059626A DE102006059626A1 (de) 2006-12-14 2006-12-14 Verfahren zum Auslesen von Daten aus einem Speichermedium
EP07857444A EP2102766A1 (de) 2006-12-14 2007-12-12 Verfahren zum auslesen von daten aus einem speichermedium
PCT/EP2007/063780 WO2008071733A1 (de) 2006-12-14 2007-12-12 Verfahren zum auslesen von daten aus einem speichermedium
US12/305,597 US8214605B2 (en) 2006-12-14 2007-12-12 Method for reading out data from a storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102006059626A DE102006059626A1 (de) 2006-12-14 2006-12-14 Verfahren zum Auslesen von Daten aus einem Speichermedium

Publications (1)

Publication Number Publication Date
DE102006059626A1 true DE102006059626A1 (de) 2008-06-19

Family

ID=39284252

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102006059626A Withdrawn DE102006059626A1 (de) 2006-12-14 2006-12-14 Verfahren zum Auslesen von Daten aus einem Speichermedium

Country Status (4)

Country Link
US (1) US8214605B2 (de)
EP (1) EP2102766A1 (de)
DE (1) DE102006059626A1 (de)
WO (1) WO2008071733A1 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5520098B2 (ja) * 2010-03-24 2014-06-11 スパンション エルエルシー データ処理方法、プログラムおよびシステム
US9521198B1 (en) 2012-12-19 2016-12-13 Springpath, Inc. Systems and methods for implementing an enterprise-class converged compute-network-storage appliance
CN105843775B (zh) 2016-04-06 2018-12-04 中国科学院计算技术研究所 片上数据划分读写方法、系统及其装置
CN108694129B (zh) * 2018-03-22 2021-06-22 霍尼韦尔环境自控产品(天津)有限公司 确定Flash存储器的存储区中最后写入位置的方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2200228B (en) 1987-01-14 1991-08-07 Texas Instruments Ltd Content addressable memory
US5563828A (en) * 1994-12-27 1996-10-08 Intel Corporation Method and apparatus for searching for data in multi-bit flash EEPROM memory arrays
KR100453053B1 (ko) 2002-06-10 2004-10-15 삼성전자주식회사 플래쉬 메모리용 파일 시스템
US7752381B2 (en) * 2005-05-24 2010-07-06 Micron Technology, Inc. Version based non-volatile memory translation layer

Also Published As

Publication number Publication date
US20100064110A1 (en) 2010-03-11
US8214605B2 (en) 2012-07-03
WO2008071733A1 (de) 2008-06-19
EP2102766A1 (de) 2009-09-23

Similar Documents

Publication Publication Date Title
DE2131066C3 (de) Anordnung zum Adressieren eines Tabellenspeichers
DE2723523A1 (de) Kompression und dekompression von gespeicherten digitaldaten
EP1183690B1 (de) Speicheranordnung mit adressverwürfelung
DE1499182A1 (de) Elektrische Datenverarbeitungsanlage
DE2310631B2 (de) Speicherhierarchie fur ein Datenverarbeitungssystem
DE102006059626A1 (de) Verfahren zum Auslesen von Daten aus einem Speichermedium
DE2221442A1 (de) Assoziativspeicher
DE1191145B (de) Elektronische Zifferrechenmaschine
EP1352318B1 (de) Mikroprozessorschaltung für tragbare datenträger
DE2062164A1 (de) Verfahren zur Erzeugung eines mehr stufigen Index für gespeicherte Daten einheiten
EP1332501B1 (de) Speicherverwaltungslogik zur erweiterten nutzung von festwertspeichern
EP3871394A1 (de) Erstellen einer blockchain mit blöcken umfassend eine anpassbare anzahl an transaktionsblöcken und mehrere zwischenblöcke
DE10393188T5 (de) Verarbeitung von Wiederholungs-String-Operationen
DE102008001739A1 (de) Verfahren zum Steuern eines Zugriffs auf Bereiche eines Speichers aus mehreren Prozessen heraus und Kommunikations-Modul mit einem Nachrichten-Speicher zur Realisierung des Verfahrens
DE1774212B2 (de) En 20417 12.08.67 &#34; 37132 bez: datenverarbeitungsanlage
DE112015002881B4 (de) Speichervorrichtung, Flash-Speicher-Steuervorrichtung und Programm
DE2853165A1 (de) Anordnung zur auswahl einer speicherelementgruppe aus einer vielzahl von speicherelementgruppen in einer cachespeichereinheit
WO2002099650A2 (de) Verfahren zur verwaltung eines speichers einer chipkarte
EP0556430B1 (de) Verfahren zur Steuerung eines Peripheriesystems
DE3013618C2 (de) Schaltungsanordnung zur Bildung zweier miteinander in Beziehung stehender reeller Adressen aus einer zweiteiligen virtuellen Adresse
EP1357477A2 (de) An einen Bus angeschlossene Einrichtung
DE19723676A1 (de) Verfahren zum Nachladen von Programmen auf eine Chip-Karte
DE102015225553A1 (de) Verfahren und Vorrichtung zur Verwaltung eines nichtflüchtigen Speichers für ein Steuergerät
EP0563077B1 (de) Verfahren zum maschinellen ermitteln von in zwei datenfolgen enthaltenen gleichen datenelementen
DE102007061939B4 (de) Verfahren zur Bereitstellung eines hierarchisch strukturierten Datensatzes für den Zugriff einer Applikation

Legal Events

Date Code Title Description
R012 Request for examination validly filed

Effective date: 20130829

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee