DE3687344T2 - Verfahren zur datenumsiedlung in einem speichersystem und zur lebensdauererweiterung eines solchen systems. - Google Patents

Verfahren zur datenumsiedlung in einem speichersystem und zur lebensdauererweiterung eines solchen systems.

Info

Publication number
DE3687344T2
DE3687344T2 DE8686117469T DE3687344T DE3687344T2 DE 3687344 T2 DE3687344 T2 DE 3687344T2 DE 8686117469 T DE8686117469 T DE 8686117469T DE 3687344 T DE3687344 T DE 3687344T DE 3687344 T2 DE3687344 T2 DE 3687344T2
Authority
DE
Germany
Prior art keywords
data
memory
storage
storage unit
stored
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Revoked
Application number
DE8686117469T
Other languages
English (en)
Other versions
DE3687344D1 (de
Inventor
Wojciech M Chrosny
Joel Maybruch
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.)
Pitney Bowes Inc
Original Assignee
Pitney Bowes Inc
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=25201378&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE3687344(T2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Pitney Bowes Inc filed Critical Pitney Bowes Inc
Application granted granted Critical
Publication of DE3687344D1 publication Critical patent/DE3687344D1/de
Publication of DE3687344T2 publication Critical patent/DE3687344T2/de
Anticipated expiration legal-status Critical
Revoked legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/74Masking faults in memories by using spares or by reconfiguring using duplex memories, i.e. using dual copies
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07BTICKET-ISSUING APPARATUS; FARE-REGISTERING APPARATUS; FRANKING APPARATUS
    • G07B17/00Franking apparatus
    • G07B17/00185Details internally of apparatus in a franking system, e.g. franking machine at customer or apparatus at post office
    • G07B17/00362Calculation or computing within apparatus, e.g. calculation of postage value
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • G06F11/167Error detection by comparing the memory output
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07BTICKET-ISSUING APPARATUS; FARE-REGISTERING APPARATUS; FRANKING APPARATUS
    • G07B17/00Franking apparatus
    • G07B17/00185Details internally of apparatus in a franking system, e.g. franking machine at customer or apparatus at post office
    • G07B17/00362Calculation or computing within apparatus, e.g. calculation of postage value
    • G07B2017/00395Memory organization
    • G07B2017/00411Redundant storage, e.g. back-up of registers

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Devices For Checking Fares Or Tickets At Control Points (AREA)
  • Read Only Memory (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

  • Die vorliegende Erfindung betrifft verbesserte elektronische Speicherbausteine und insbesondere einen in elektronische Frankiermaschine eingebauten verbesserten elektronischen Speicherbaustein zum Zwecke des Beibehaltens eines laufenden Nachweises der von der Frankiermaschine ausgeführten Funktionen, insbesondere des akkumulierten Portobetrags, der von der Frankiermaschine abgegeben wird.
  • Zum größten Teil sind Frankiermaschinen auf dem heutigen Markt Leihgeräte. Die Maschinen werden von dem Kunden gemietet und gewöhnlicherweise behalten und in den Räumen des Kunden verwendet.
  • Routinemäßige Wartung der Maschine, beispielsweise ein Aufnehmen von Registerzuständen und/oder ein einstellen von Portotabellen wird gewöhnlicherweise im Außendienst von Postmitarbeitern oder anderem autorisierten Wartungspersonal durchgeführt. Wenn jedoch eine Frankiermaschine ausfällt, wird die ausgefallene Maschine an den Eigentümer oder Hersteller zurückgegeben und dem Kunden wird eine Ersatz-Frankiermaschine zur Verfügung gestellt. Der die Frankiermaschine mietende Kunde führt keine Reparaturen oder Einstellungen an der
  • Frankiermaschine durch. Der Kunde stellt jedoch den auszudruckenden Portogebührenwert ein. Werkstattreparaturen und/oder Einstellungen, andere Wartungsarbeiten außer der routinemäßigen Wartung werden normalerweise vom autorisierten Wartungspersonal oder Angestellten des Herstellers, die zur Durchführung derartiger Reparaturen und/oder Einstellungen berechtigt sind, durchgeführt.
  • Ein System dieser Art erfordert eine beträchtliche Serviceorganisation um den Austausch der ausgefallenen Maschine zu bewirken und die Werkstattwartung der ausgefallenen Maschine durchzuführen. Außerdem ist es notwendig einen beträchtlichen Lagerbestand zu halten, damit Frankiermaschinen für Austauschzwecke verfügbar sind. Dies erfordert eine beträchtliche Investition auf Seiten der Organisation in dem Frankiermaschinenleihgeschäft und spiegelt sich für den Kunden in den Kosten zur Mietung einer Frankiermaschine wieder.
  • Die Philosophie hinter der Organisation im Mietgeschäft für Frankiermaschinen war es eine unempfindliche bzw. stabile Frankiermaschine zu schaffen, die eine Mißbehandlung von dem Kunden ohne Ausfall aushält, aber dennoch leicht und schnell von dem Wartungspersonal reparierbar ist. Diese Philosophie spiegelt sich in dem Charakter und Aufbau der für Leihzwecke vorgesehenen Frankiermaschine wieder.
  • Frühere Frankiermaschinen waren im Wesentlichen mechanisch und in ihrem Umfang relativ beschränkt.
  • Auszudruckende Postgebührenwerte wurden in die Vorrichtung von dem Kunden eingegeben und von der Maschine auf einem Etikett oder Umschlag gedruckt. Die so ausgedruckten Postgebührenwerte wurden unter Verwendung eines steigenden Registers abgerechnet. Die Register schufen eine Aufzeichnung des über die Lebensdauer der Maschine ausgedruckten Postgebührenbetrags. Als Frankiermaschinen fortschrittlicher wurden, wurde zu der Maschine ein Stückzahl-Register hinzugefügt, um Informationen über die Anzahl von Poststücken bereitzustellen, die durch die Maschine durchgeführt wurden und mit einer Portogebühr bedruckt wurden. Ein zusätzliches Merkmal, das eine Vorauszahlung eines gewünschten Dollarbetrages von Portogebührenwerten, die die Maschine drucken kann, durch den Kunden erlaubte, hatte die Verwendung eines fallenden Registers zur Folge, um den Dollarbetrag von übrigem von der Maschine abzugebendem Porto, vor Ablauf des vorausgezahlten Betrags, anzuzeigen. Die in den verschiedenen Registern aufgenommenen Daten versorgen den Kunden mit einer verhältnismäßig vollständigen Abrechnung des Portogebührenwertes, der von der Maschine für den Kunden aktiv behandelt wird. Die steigenden und fallenden Register stellen für die Frankiermaschine einen laufenden Bestand des bereits abgegebenen Dollarportobetrages gegenüber der zuletzt geleisteten Vorauszahlung und dem verfügbaren abzugebenden Dollarportobetrag der letzten Vorauszahlung oder der vorausgeleisteten Portozahlung, die von dem Kunden gemacht wird, dar.
  • Das elektronische Zeitalter verursachte eine Veränderung bei Frankiermaschinen, bei denen eine Zentralverarbeitungseinheit (CPU) beispielsweise ein Mikrocomputer oder Mikroprozessor eine Berechnung und eine Datenflußsteuerung von abgegebenem und verfügbarem Porto entsprechend von bereitgestellten Eingangsdaten bereitstellt. Vorrichtungen dieser Art werden im U.S. Patent Nr. 3,978,457 gelehrt und beschrieben. An die CPU kann ein als Permanentspeicher dienendes PROM zum Speichern von Programminformationen und anderen Informationen und ein RAM gekoppelt sein, das als vorübergehender Speicher zum routinemäßigen Speichern und zum Bearbeiten von in Echtzeit in Koordination mit Berechnungen und Operationen, die von der CPU durchgeführt und/oder gesteuert werden, dient. Bei Frankiermaschinen, bei denen es sehr wichtig ist, permanente und/oder nicht zerstörende Speicherstellen zum Abrechnen von Daten, beispielsweise postalische Geldbetragsdaten bereitzustellen, wird außerdem beispielsweise ein nicht flüchtiger Speicher (NVM) an die CPU gekoppelt. Eine NVM-Speicherung ist anstelle anderer bekannter Massendatenspeichereinrichtungen, beispielsweise einem Magnetband oder Disketten, die nicht so sicher wie eine NVM-Speicherung und teuerer wie NVM-Speichereinrichtungen sind, erfolgreich verwendet werden. Die Verwendung der NVM-Speicherungseinrichtungen in Zusammenhang mit einem Mikrocomputer ist im U.S. Patent 4,336,434 offenbart, das beschreibt wie ein Verlust von in einer Speichereinrichtung abgelegten Daten vermieden wird, wenn das System zwangsweise Energie verliert, und zwar unter Verwendung von in Kondensatoren gespeicherter Energie, um an den Mikrocomputer Energie zuzuführen und eine NVM um fortwährenden Betrieb für eine kurze Periode ohne Energieverlust zu ermöglichen.
  • Das U.S. Patent 4,481,604 beschreibt eine weitere Anordnung, bei der duale identische CMOS-Speicher, die mit Reservebatterien ausgerüstet sind, und im Wesentlichen NVM-Einrichtungen sind, sowohl für die Echtzeit-Abrechnungsregister und für permanente Datenspeicherung verwendet werden. In dem 604 Patent werden duale identische CMOS-Speicher mit Reservebatterie zum Speichern der gleichen Daten in entsprechenden Registern verwendet, wodurch sie somit eine Kopie von Daten in Kopierspeicher Speicherungssystemen besitzen. Die Daten in den jeweiligen Registern werden periodisch verglichen und jede Differenz von Daten wird als ein nicht zurücksetzbarer schwerwiegender Systemfehler verwendet, welches somit eine ausgefallende Frankiermaschine zur Folge hat.
  • Ein fortgeschritteneres Speichersystem für Systemdaten zur Verwendung bei Frankiermaschinen wird in der anhängigen U.S. Patentanmeldung Nr. 718,618 eingereicht am 1. April 1985 im Namen des gleichen Anmelders wie die vorliegende Patentanmeldung beschrieben und gelehrt, in der eine CPU einen Datenfluß zur Speicherung in zwei getrennten Speichereinheiten schafft, welche einen Hauptsatz von Registern und einen alternativen Satz von entsprechenden Daten speichernden Registern schafft.
  • Die besagte anhängige Anmeldung lehrt, daß die zwei getrennten Datenspeichereinheiten getrennte Speichereinrichtungen sein können oder die gleiche Speichereinrichtung, unterteilt in zwei getrennte Abschnitte.
  • Es wurde gefunden, daß die Datenübertragung von einer CPU an einen NVM verschiedenen Fehlern ausgesetzt ist. Verschiedene möglicherweise ebenso auftretende zeitliche Übergangsvorgänge können ein falsches Lesen und/oder falsches Schreiben von Daten zur Folge haben. Von zeitliche Übergangsvorgängen weiß man, daß sie das Schreiben von richtigen Daten an der falschen Adresse zur Folge haben. Während die Kopierspeicherung von Datensystemen eine Zuverlässigkeit der Datenspeicherung hinzufügt und die besagte anhängige Patentanmeldung eine ökonomische Lösung der Probleme in Kopierdatenspeichersystemen durch Aufteilung einer NVM-Einrichtung in zwei getrennte Abschnitte oder durch Verwendung von zwei nicht identischen NVM-Einrichtungen schafft, um einen Primärsatz von Registern und einen Sekundärsatz von Registern zum Speichern von Duplikat-Portoabrechnungsdaten zu besitzen, wird festgestellt, daß diese Technik bei der Lösung der Probleme, die der Datenzurückgewinnung innewohnen, weit fortgeschritten ist, aber diese Fortschritte verlängern im Wesentlichen die Lebensdauer der Frankiermaschine nicht.
  • Die modernere Philosophie im Frankiermaschinengeschäft ist es, die Frankiermaschine an dem Ort des Gebrauchs mit dem Ziel einer Herabsetzung von Wartungsbelastung, die sich in den Leihgebühren niederschlägt, zu halten, welches eine bessere Kundenzufriedenstellung und die Erzeugung von besseren Kundenbeziehungen zur Folge hat.
  • Ein Verfahren zum Verlängern der Lebensdauer eines Speichersystems, das zum Speichern von Daten eine nicht flüchtige Speichereinheit NVM verwendet, ist aus der US-A-3 544 777 bekannt.
  • Die NVM ist in zwei oder mehrere Speicherblöcke aufgeteilt. Die Daten werden dupliziert mit einer Kopie der Daten in einem Speicherblock (A) und einer zweiten Kopie der Daten in einem zweiten Speicherblock (B) gespeichert. Die Zuverlässigkeit der Daten wird erhalten, indem eine Datenkopie mit der anderen Datenkopie verglichen wird. Wenn eine Differenz zwischen den zwei Datenkopien erfaßt wird, wird eine Bestimmung durchgeführt bezüglich der Tatsache, welche Datenkopie die richtige Datenkopie ist. Für den Fall einer Nichtübereinstimmung wird der fehlerhafte Speicherblock abgekoppelt.
  • Die vorliegende Erfindung betrifft das Problem von Lebensdauer der Frankiermaschine und schafft eine neues verbessertes Speichersystem, das im Grunde genommen selbstkorrigierend ist, falls ein nicht korrigierbarer Fehler oder Fehlbehandlung in dem NVM-System auftreten sollte, die ansonsten eine Zurückrufung der Frankiermaschine vom Ort des Gebrauchs zur Wartung verursacht.
  • Während die vorliegende Erfindung bezüglich der Verwendung in einer Frankiermaschine beschrieben und ihre Verwendung erklärt wird, soll darauf hingewiesen werden, daß die Verwendung des vorliegenden neuen Speichersystems auf irgendein System zur Bestandsaufzeichnung und -abrechnung ausgeweitet werden kann, welches einen nichtflüchtigen Speicher zur Datenspeicherung zur späteren Zurückgewinnung zur Bestandsaufnahme und/oder Abrechnen oder anderen Zwecken verwendet.
  • Die vorliegende Erfindung sieht vor, die gesamtverfügbare Kapazität eines nichtflüchtigen Speichers in eine Vielzahl von Segmenten oder Abschnitten zu unterteilen und zunächst zwei derartige Segmente zu verwenden, einen als eine Primärquelle zur Datenablegung und die zweite als eine Sekundär-Quelle zur Datenablegung, und die anderen Segmente als Not- oder Reservesegmente zu erhalten, die verwendet werden sollen für den Fall, daß ein schwerwiegender oder harter Fehler in dem Abschnitt oder Segment des NVM auftritt, der dann für entweder das Primär- oder Hauptdaten-Ablegungssegment oder das sekundäre oder alternative Datenablegungselement verwendet wird.
  • Für den Fall, daß ein schwerwiegender oder schwerer Fehler in dem Primärdatenregister auftreten sollte, werden die Daten in dem sekundären Datenregister in eines der Not- oder Reservesegmente (beispielsweise in das dritte Segment) dupliziert bzw. kopiert und eine neue Primärdatenablegung oder -aufzeichnung wird gebildet werden.
  • Die Duplizierung bzw. das Kopieren von Daten aus einem gesunden oder nicht defektem Abschnitt der Speichereinheit in einen Reserveabschnitt der Speichereinheit wird im folgenden als Datenumsiedlung oder Datenabbildung bezeichnet.
  • Die vorliegende Erfindung sieht vor, eine nicht-flüchtige Speichereinheit in einzelne Abschnitte zu unterteilen oder aufzuteilen, wobei jeder Abschnitt ausreichend groß genug ist, um die Information zu enthalten, von der angenommen wird, daß sie in die erforderlichen Register für das Abrechnungsprogramm plaziert und/oder gespeichert wird. Wenn die verwendete Speichereinrichtung beispielsweise 64.000 (64K) verwendbare Adressen verwendet und die Abrechnungsregister in dem Programm 1.000 (1K) Adressen benötigen, um all die voraussichtliche Information, die darin geschrieben werden soll, zu empfangen und/oder zu speichern, könnte eine derartige Speichereinrichtung in 64 Abschnitte von jeweils 1K-Adressen getrennt werden. Wenn andererseits der gleiche Speicher mit 64K-Adressen verwendet würde und die mit Daten zu füllenden Register 8.000 (8K)-Adressen erfordern um all die voraussichtliche dort hinein zu schreibenden Daten zu empfangen und/oder zu speichern, könnte eine derartige Speichereinrichtung in acht Abschnitte von jeweils 8K-Adressen getrennt oder aufgeteilt werden.
  • Es wurde festgestellt, daß ein Abrechnungsprogramm für eine Frankiermaschine so wenig wie 254 Bytes oder Adressen in einer Speichereinheit benötigen kann. Ein derartiges Abrechnungsprogramm kann ein Ablegen, beispielsweise von Darstellungen eines Dollarwerts und/oder eines numerischen Wertes, die die jeweiligen Werte für ein steigendes Register, ein fallendes Register, ein Stückzahlregister, ein Gruppenzahlregister und andere geeignete Information darstellen, an vorgegebenen Stellen in der Speichereinrichtung, beispielsweise an vorgegebenen Versetzungen von einer Dezimalpunktadresse, die den bestimmten Speicherabschnitt oder -block identifiziert, enthalten.
  • Beim Ausführen der Erfindung wurden erfolgreiche Ergebnisse unter Verwendung einer CMOS-Speichereinrichtung, hergestellt von Mostek, mit einer Hersteller-Seriennummer MK48C021 und einer SEEQ-Speichereinrichtung, hergestellt von SEEQ, mit einer Hersteller-Seriennummer 5516AH erzielt, wobei beide Speichereinrichtungen als nicht flüchtige Speichereinrichtungen mit wenigstens 2032 verwendbaren Bytes oder Adressen identifiziert sind. Wenn derartige Speichereinrichtungen für ein derartiges Abrechnungsprogramm verwendet werden, kann die gesamte Speichereinheit in acht (8) Segmente oder Blöcke von jeweils 254 Bytes unterteilt werden. Somit werden aus einer einzigen Speichereinrichtung des verwendeten Typs, acht (8) Speicherblöcke von identischer Größe erzeugt, wobei jede einen ausreichenden Platz zum Ablegen und Speichern eines gewünschten Abrechnungsprogramms besitzt.
  • Falls das gewünschte Programm größer oder kleiner ist als oben definiert oder die verwendete Speichereinheit weniger oder mehr Speicherbytes besitzt, kann die Speichereinheit in eine geeignetere Anzahl von Segmenten aufgeteilt werden. Vorausgesetzt, daß jedes Segment eine ausreichende Kapazität besitzt, um das gewünschte Programm zu speichern, ist es nicht notwendig, daß die Segmente der aufgeteilten Speichereinheit größenmäßig identisch sind oder die gleiche Menge von Bytes besitzen.
  • Beim Ausführen der oben beschriebenen Erfindung können der erste und der achte Speicherbereich oder -block für den Primär- oder Hauptspeicher und der derartige zweite Bereich für den sekundären oder alternativen Speicher verwendet werden. Die anderen sechs Speicherbereiche, jeder definiert von einer Anzahl von Adressen, kann in Reserve oder als Reservespeicherbereich gehalten werden, zur Verwendung für den Fall, daß der Primärspeicher oder der Sekundärspeicher eine Fehlfunktion erleiden sollte oder daß ein unkorrigierbarer Fehler bei der Datenübertragung im entweder den Primär-Speicherabschnitt oder dem Sekundär-Speicherabschnitt auftritt. Falls eine Fehlfunktion oder ein unkorrigierbarer Fehler in entweder dem Primärspeicher oder dem Sekundärspeicher auftreten sollte, werden die Daten in dem Speicherabschnitt ohne Fehler in eine der Reservespeicherbereiche (der als nächstes verfügbare Speicherbereich) gespeichert und ein entweder primärer oder sekundärer neuer Speicher in Anhängigkeit davon, welcher Speicher die Fehlfunktion oder den Fehler erleidet, wird erzeugt, um als eine arbeitende Alternative für den Speicher, der Fehlfunktionen ausgeführt hat, verwendet zu werden. Es wird später ersichtlich, daß diese Datenumsiedelung eines Speicherbereichs in Abhängigkeit von der Gesamtspeicherkapazität oder Anzahl von Bytes in der Speichereinrichtung, der Größe des für das Programm erforderlichen Speicherbereichs und von der Tatsache, wieviele verwendbare Speicherbereiche aus der Gesamtspeichereinrichtung herausgetrennt werden können, wiederholt ausgeführt werden kann.
  • Obwohl andere Datenlokalisierungssysteme verwendet werden können, gewährleistet die Praxis eines Lokalisierens eines bestimmten Registers auf Grundlage einer vorgegebenen Versetzung für ein derartiges Register von der ersten Adresse des bestimmten Speicherblockes, daß jedes so lokalisierte Register eine identische Stelle innerhalb des Blockes besitzt, unabhängig davon, in welchen Speicherblock diese Daten gerichtet und/oder gespeichert werden.
  • Es wurde auch als zweckdienlich gefunden, jedes jeweilige Byte in der gesamten Speichereinheit mit seiner eigenen individuellen Identifizierungsnummer zu versehen. Unter Verwendung einer Tabelle aus aufeinanderfolgenden hexadezimalen Zahlen kann jedes Byte oder Adresse individuell identifiziert werden und in ihrer Lokalisierungsabfolge in der Speichereinheit lokalisiert werden, von dem ersten Byte bis zum letzten Byte, wobei seine Plazierungs-Reihenfolge dem numerischen Wert oder der Größe der dem Byte zugeordneten hexadezimalen Zahl entspricht. Jeder Speicherblock oder Speicherabschnitt kann von der dezimalen Zahl des ersten Bytes in der Speichereinheit identifiziert werden.
  • Die Adresse oder die Stelle jedes bestimmten Registers innerhalb der bestimmten Speichereinheit kann durch Hinzuzählen der Versetzung für das Register und der den Speicherblock identifizierenden Zahl oder Stelle erhalten werden. Natürlich würde die Versetzungszahl auf einen Bereich von Zahlen kleiner als die Differenz zwischen aufeinanderfolgenden Blockadressen begrenzt werden.
  • Als die vorliegende Erfindung ausgeführt wurde, indem ein Abrechnungssystem unter Verwendung von ersten und zweiten Sätzen von identischen Abrechnungsregistern verwendet wurde, wurde es als zweckdienlich erachtet den ersten verwendbaren Speicherblock der Speichereinheit zum Speichern der Adresse der Speicherblöcke zu verwenden, die den ersten oder Primärsatz von Registern, beispielsweise den Primärblock, und den zweiten oder sekundären Satz von Registern, beispielsweise den sekundären Block, enthalten. Somit konnte die Adresse in dem Blockadreßspeicher, der die Stelle des Primärblocks identifiziert, aufgrund irgendeiner Tatsache geändert werden. Dies kann auch durchgeführt werden soweit es die sekundäre Blockadresse betrifft.
  • Die Erfindung sieht vor, eine Speichereinheit in Mehrfachabschnitte oder Segmente oder Blöcken aufzuteilen, die größenmäßig gleichmäßig sein können oder nicht. Zwei der Speicherabschnitte oder -blöcke können zum Speichern von Informationen, zum aufeinanderfolgenden Aktualisieren und/oder Zurückgewinnung verwendet werden. Die übrigen nicht verwendeten Speicherblöcke können als Reserveblöcke gehalten werden, zur Verwendung für den Fall, daß die so verwendeten Blöcke eine Fehlfunktion oder Fehler erfahren. Durch Ablegen von duplizierten Sätzen von Informationen oder Daten in zwei verschiedenen Speicherblöcken, werden, wenn eine Fehlfunktion in einem derartigen Speicherblock auftritt, Daten in den gesunden Block, d. h. in den Block, der keine Fehlfunktion erfahren hat, Byte für Byte in einen Reserveblock dupliziert und ein neuer Speicherblock wird gebildet. Der Block, der die Fehlfunktion erfahren hat, wird aufgegeben. Dieser Prozeß kann wiederholt werden in Abhängigkeit vom Auftreten von anderen Fehlfunktionen in aufeinanderfolgenden oder neu hergestellten Speicherblöcken bis der letzte Reserveblock verwendet worden ist.
  • Nachdem einige Fehlfunktionen und/oder Fehler bei der Datenspeicherung von zeitweiligen oder zeitabhängigen Bedingungen herrühren, ist für den Fall, daß der zeitweilige oder zeitabhängige Zustand oder Zustände, die die Fehlfunktion oder Fehler verursachten, nicht mehr vorliegen, eine Wiederverwendung von vorher verwendeten und darauf aufgegebenen Speicherblöcken vorgesehen.
  • Ein vorher zum Speichern und/oder Zurückgewinnen von Daten verwendeter Speicherblock kann, nachdem er eine Fehlfunktion erfahren hat und danach aufgegeben worden ist, beispielsweise durch Löschen des vorher verwendeten und aufgegebenen Speicherblocks zur Wiederverwendung vorbereitet werden. Ein Löschen kann durchgeführt werden, indem alle Bytes in dem Blockspeicher auf einen gleichen gleichmäßigen Zustand, beispielsweise 0, gebracht werden.
  • Die oben beschriebene Prozedur sieht vor, die gesamte verfügbare Kapazität einer Speichereinheit in Segmente oder Blöcke zu unterteilen, zwei der Speicherblöcke zum anfänglichen duplizierten Speichern von Daten zu verwenden, den anderen der aufgeteilten Speicherblöcke in Reservestatus zu halten, verfügbar zur nachfolgenden Verwendung für den Fall, daß eine Fehlfunktion in einem der gegenwärtig verwendeten Blöcke auftreten sollte, und die Erzeugung von duplizierenden Daten, die in einem gesunden Block gespeichert sind, durch Schreiben derartiger Daten in einen Reserveblock um einen Ersatzspeicherblock für den eine Fehlfunktion unterlaufenden Block zu bilden. Die Wiederverwendung von vorher verwendeten Blöcken, die eine Fehlfunktion unterlaufen haben und nachfolgend aufgegeben wurden, ist auch vorgesehen. Dies erlaubt die Herstellung von zusätzlichen Reserveblöcken durch Löschen von vorher verwendeten, nachfolgend aufgegebenen Speicherblöcken, um derartige vorher verwendete und nachher aufgegebene Speicherblöcke zu schaffen, die zur Wiederverwendung verfügbar sind, falls es möglich ist, derartige Blöcke zur weiteren Verwendung zu löschen.
  • Es ist eine Aufgabe der vorliegenden Erfindung ein verbessertes elektronisches Speichersystem zu schaffen, das sich selbst nach Unterlaufen einer Fehlfunktion wiederherstellen kann.
  • Eine weitere Aufgabe ist es, eine neuartige Verwendung einer Speichereinheit zu schaffen.
  • Eine weitere Aufgabe ist es eine elektronische Speichereinheit zu schaffen, die im Prinzip selbst heilend ist, falls eine Fehlfunktion auftreten sollte.
  • Die Aufgaben der Erfindung werden durch ein Verfahren zur Datenumsiedelung von in einer Speichereinheit gespeicherten Daten gelöst, das die folgenden Schritte umfaßt:
  • (a) Unterteilen der Speichereinheit in wenigstens einen ersten Speicherteil, einen zweiten Speicherteil und einen dritten Speicherteil;
  • (b) Speichern von ersten Daten in dem ersten Speicherteil;
  • (c) Speichern von zweiten Daten in dem zweiten Speicherteil, wobei die zweiten Daten die ersten Daten duplizieren;
  • gekennzeichnet durch den folgenden Schritt:
  • (d) Schreiben und Speichern entweder der ersten Daten oder der zweiten Daten, die in dem ersten oder zweiten Speicherteil gespeichert sind, bei der Bestimmung eines Fehlers in dem anderen in den dritten Speicherteil, wobei die Daten in einem Speicherteil in den dritten Speicherteil als Ersatz für die entsprechenden in dem anderen Teil der Speicherteile gespeicherten Daten dupliziert werden.
  • Andere Aufgaben und Einzelheiten der Erfindung werden aus der nun folgenden Beschreibung in Zusammenhang mit den bei liegenden Zeichnungen ersichtlich.
  • In den Zeichnungen zeigen:
  • Fig. 1 ein Blockschaltbild einer elektronischen Frankiermaschine, die die vorliegende Erfindung verkörpert;
  • Fig. 2 eine Darstellung eines vorderen Bedienungsfeldes der Frankiermaschine;
  • Fig. 3 ein detailliertes Blockschaltbild eines Teils des Blockschaltbilds aus Fig. 1;
  • Fig. 4, 4a, 4b und 4c zusammengenommen ein allgemeines Flußdiagramm um eine Verwendung der Erfindung darzustellen;
  • Fig. 5 ein detailliertes Flußdiagramm einer Funktion, die in Fig. 4 benötigt wird;
  • Fig. 6 ein ausführlicheres Diagramm einer weiteren Funktion, die in Fig. 4 benötigt wird.
  • Fig. 1 zeigt eine elektronische Frankiermaschine, dargestellt in einer Blockschaltbildform. Eine Energieversorgung 50 ist normalerweise angeschlossen um 110 V Wechselspannung bereitzustellen und kann die Wechselspannung in andere Spannungen umwandeln, die zum Betrieb der Maschine erforderlich sind. Ein Typ eines elektronischen Frankiermaschinensystems, bei dem die vorliegende Erfindung verwendet werden kann, ist im U.S. Patent mit der Nummer 4,251,874 beschrieben. Die Energieversorgung ist so dargestellt, daß sie an die Betriebseinrichtung über Eingangsanschluß 51 angeschlossen ist. Anschluß 52 enthält einen Eingang 53 und einen Ausgang oder Anzeige 54, deren Frontverkleidung in Fig. 2 dargestellt ist. Der Ausgang 54 ist durch das Auslesen dargestellt, das als eine Reihe von Quadraten innerhalb eines Rechtecks gezeigt ist, wobei jedes Quadrat eine Anzeigeziffer darstellt. Die Tasten 60, die mit Nummern 1 bis 0, einem C zur KORREKTUR und einem Punkt für einen Dezimalpunkt bezeichnet sind, bilden einen Teil des Eingangsabschnitts, beispielsweise zur Auswahl von auszudruckenden Portobeträgen. Die sechs Tasten 70 auf dem rechtsseitigen Abschnitt des Bedienfeldes können verwendet werden um die Maschine abzufragen und um beispielsweise den Betrag von verbrauchten Portogebühren (einem Dollarwert in dem steigenden Register) bekommt den Betrag von nicht verbrauchten Portogebühren (einem Dollarwert in dem fallenden Register); die Anzahl von Einzelposten (auf die ein Postgebührenwert aufgebracht worden ist); (eine Zahl in dem Stückzahlzähler); die Anzahl von Einzelposten, die in einer bestimmten Gruppe (eine Zahl in dem Gruppenzählregister) gesendet wurden; den Wert des in der bestimmten Gruppe ausgedruckten Postgebührenwertes (ein Dollarwert in dem Gruppenwertregister) und die Gesamtsumme von Portogebühren, die von der Maschine gedruckt werden (ein Dollarwert von ausgedrucktem Portogebührenwert) zu ermitteln. Die anderen zwei Tasten 77 und 78 können für andere Befehle verwendet werden, beispielsweise um im voraus bezahlte Portogebührenbeträge zu identifizieren und den Portogebührenbetrag, der von der Maschine ausgedruckt werden soll, auszuwählen.
  • Der Betrag von bis zu zehn (10) Ziffern, die auf die Tastatur 60 eingegeben werden, einschließlich einem Dezimalpunkt werden auf der Ausleseinheit 54 erscheinen. Wenn die Zahl oder der Betrag richtig ist und die Funktionstaste bereits gedrückt worden ist, beispielsweise um den Wert oder den auszudruckenden Portogebührenbetrag zu ändern, kann die Eingabebetragstaste 55 gedrückt werden um den Betrag in die Maschine einzugeben. Eine Taste 61 ist vorgesehen, um die Frankiermaschine zu verriegeln und zu entriegeln und Tasten 56 und 57 sind vorgesehen, um die von der Maschine gedruckten Daten zu überprüfen und zurückzusetzen.
  • In Fig. 1 kann die Zentralverarbeitungseinheit oder CPU ein Mikroprozessor hergestellt von National Semi-conductor Corporation mit einer Herstellerserien-Nummer NSC800V verwendet werden. Der Block Multiplex 81 stellt die Eingangs- und Ausgangsverbindung zwischen dem EIN/AUS-Gabegerät und der CPU dar. Ein ROM 82, beispielsweise ein in der Massenherstellung hergestelltes Komponentenmodell EDH7823C-30 kann als Permanentspeicher dienen und mit einem geeigneten Programm zum Führen der CPU programmiert werden, welches effektiv die betriebsmäßigen Schritte steuert. Wie unter Bezugnahme auf Fig. 3 diskutiert, werden auch die Versetzungen für die verschiedenen Register in dem ROM gespeichert. Ein RAM 83 beispielsweise ein in der Massenherstellung hergestelltes Komponentmodell TC 551 7BP-20 oder MK48COL2-25 kann als ein vorübergehender Speicher dienen. Das RAM ist an die CPU angeschlossen und dient als eine Auslösesteuerung oder Zwischensperrung, um der CPU mitzuteilen, wenn von der Portogebührendruckeinrichtung, dargestellt durch Block 85, ein Portogebührenwert ausgedruckt worden ist. Der auszudruckende Portogebührenwert wird von der Portoeinstellung, dargestellt durch Block 86, eingestellt, während ein Postgebührenwert von der CPU gesteuert wird. Die permanente laufende Aufzeichnung oder Abrechnung der Frankiermaschinenfunktionen werden in dem durch Block 100 dargestellten nicht flüchtigen Speicher NVM gespeichert. Wie ausführlicher unter Bezugnahme auf Fig. 3 beschrieben, dient der NVM dazu, die der Frankiermaschine beiwohnenden Abrechnungsfunktionen zu speichern. Block 58, Verbindungsstellen, bezeichnet entfernte Anschlußgeräte, an die die Frankiermaschine angeschlossen sein kann.
  • Ein ausführlicheres Blockdiagramm von Teilen des NVM, des ROM, des RAM und CPU ist in Fig. 3 angegeben. Der NVM ist segmentiert in eine Vielzahl von Blöcken dargestellt, in dieser Darstellung in fünf vollständige Blöcke, wobei der sechste Block nur teilweise dargestellt ist. Der verwendete NVM kann ein CMOS, beispielsweise ein Modell MK48C021, hergestellt von Mostek, sein, der bei einem sehr schnellen Zyklus arbeitet oder ein SEEQ-Modell 5516AH, hergestellt von Seeq, sein, der bei einem geringfügig kleinerem Zyklus arbeitet. Jede Speichereinheit enthält 2032 verwendbare Speicherbytes. Die Bytes sind durch kurze Markierungen dargestellt, die von dem rechten Ende des den NVM darstellenden Blockes hervorstellen. Durch Identifizierung jedes aufeinanderfolgenden Bytes in einer numerischen Reihenfolge, kann die verwendbare Speicherkapazität in Abschnitte oder Blöcke aufgeteilt oder geteilt werden, wobei jeder eine vorgegebene Anzahl von Bytes enthält. Bei der vorliegenden Darstellung enthält jeder Speicherblock eine identische Anzahl von Bytes, beispielsweise 254 Bytes, wobei die Speichereinheit in acht Blöcke unterteilt ist. Dies nutzt die Gesamtkapazität von verwendbaren Bytes aus.
  • Bei der tatsachlichen Verwendung verwendet eine Frankiermaschine wenigstens zwei identische Abrechnungsaufzeichnungen von den Aktivitäten der Maschine. Die Aufzeichnungen sind in der Form von Registern, beispielsweise einem steigenden Register, das den Dollarwert des abgegebenen Postgebührenbetrages hält; einem fallenden Register, das den Dollarwert des Postgebührenwertes hält, der gegenüber einem vorausbezahltem Betrag abgegeben werden kann; einem Stückzahlregister, das eine Anzahl hält, die die Anzahl von Poststücken darstellt, auf die ein Portogebührenwert aufgestempelt worden ist; und ein Gruppenzählregister, das eine Anzahl hält, die die Anzahl von Poststücken in einer bestimmten Gruppe darstellt. Natürlich können, falls gewünscht, andere Register verwendet werden; somit wird für diesen Raum der Darstellung vorgesehen ist.
  • Da duplizierte Sätze von Aufzeichnungen oder Daten in zwei getrennten Speicherblöcken gehalten werden, wird der anfänglich gespeicherte Datensatz in dem ersten Datenspeicherblock als der primäre Datensatz bezeichnet. Der Datenspeicherblock, in dem der primäre Datensatz gespeichert ist, wird als der Primär-Block bezeichnet. Der anfänglich gespeicherte Datensatz, der eine Kopie des primären Datensatzes ist, der in dem zweiten Datenspeicherblock gespeichert ist, wird als der sekundäre Datensatz bezeichnet. Der Datenspeicherblock, in dem der sekundäre Datensatz gespeichert ist, wird als der Sekundärblock bezeichnet. Bei der praktischen Ausführung der Erfindung ist der erste Speicherblock in der Speichereinheit, der falls gewünscht, ein verkürzter Block sein kann, hier als ein vollständiger Block dargestellt und wird verwendet um die Adresse des Datenspeicherblocks, in dem der primäre Datensatz gespeichert ist, und die Adresse des Datenspeicherblocks, in dem der sekundäre Datensatz gespeichert ist, zu speichern.
  • Bei der Verarbeitung oder Verifizierung der Zulässigkeit der Aufzeichnungen kann festgestellt werden, daß ein Satz von Aufzeichnungen einen Fehler oder eine Fehlfunktion erfahren hat. In einigen Fällen kann der Fehler oder die Fehlfunktion zugleich einen unkorrigierbaren Fehler oder Fehlfunktion sein. Eine Verifizierung des anderen Satzes von Aufzeichnungen kann zeigen, daß dieser zweite Satz von Aufzeichnungen richtig ist.
  • Nachdem jedes Byte der verfügbaren Speichereinheit eine Zahl in aufeinanderfolgender Reihenfolge gegeben worden ist, kann jeder aufeinanderfolgende Block durch die Zahl des ersten Bytes in dem Block identifiziert werden, die im Wesentlichen die Adresse des bestimmten Blocks ist. Der erste Speicherblock, A, kann zur Blockadressenspeicherung verwendet werden, wodurch somit vorgegebene Adressen oder Stellen zum Speichern der Adresse des Blocks vorgesehen sind, der den primären Satz von Aufzeichnungen enthält und der Adresse des Blocks, der den sekundären Satz von Aufzeichnungen enthält. Der sekundäre Speicherblock B kann als der anfängliche Block verwendet werden, um den primären Satz von Aufzeichnungen zu speichern, während Block C, der dritte Block, als der anfängliche Block zum Speichern des sekundären Satzes von Aufzeichnungen verwendet werden kann.
  • In dem bevorzugten Ausführungsbeispiel werden der erste Speicherblock A und der letzte Speicherblock H für andere Zwecke verwendet als die des Speicherns von Datensätzen oder Aufzeichnungen, obwohl derartige Blöcke eine derartige Speicherung vollziehen könnten. Vorzugsweise wird Block A zum Speichern der Adresse des Blockes verwendet, in dem der primäre oder Hauptsatz von Aufzeichnungen gespeichert wird, d. h. der Primärblock und die Adresse des Blockes, in dem der sekundäre oder alternative Satz von Aufzeichnungen, d. h. der Sekundärblock gespeichert ist. Falls der primäre Satz von Aufzeichnungen einen Fehler unter läuft oder eine Fehlfunktion in den Block erscheint, in dem derartige Aufzeichnungen gespeichert sind, wird ein weiterer Satz von primären Aufzeichnungen in einem anderen Block erzeugt und die in Block A gespeicherte Adresse des primären Satzes von Aufzeichnungen wird zurückgeschrieben oder an ihrer Stelle in der Blockadressenspeicherung, Block A, geändert.
  • Um eine Adresse eines Reserveblocks zu finden, kann die Differenz zwischen aufeinanderfolgenden Blockadressen zu der höchsten Adresse der Blöcke hinzuaddiert werden, in denen die Sätze von Aufzeichnungen aktiv gespeichert sind.
  • Es soll zum Beispiel angenommen werden, daß ein in der Speichereinheit zu speicherndes Abrechnungsprogramm 254 Speicherbytes erfordert und daß eine 2032 Byte-Speichereinheit verwendet wurde. Außerdem soll angenommen werden, daß jedes Byte in der Speichereinheit von einer Zahl in einer numerischen Abfolge entsprechend ihrer Stelle von der ersten bis zur letzten in der Speichereinheit identifiziert wurde. Durch Segmentieren der 2032-Byte-Speichereinheit in Speicherblöcke von jeweils 254, wird die Speichereinheit in acht (8) Speicherblöcke segmentiert. Der erste Speicherblock (Block A) kann durch die Zahl oder Adresse 1, die Zahl oder Adresse, die verwendet wird, um das erste Byte in Block A-zu identifizieren, identifiziert werden. Der nächste Speicherblock (Block B) kann durch die Zahl oder Adresse 255, die Zahl oder Adresse, die verwendet wird, um das erste Byte im Block B zu identifizieren, identifiziert werden. Wenn dies fortgesetzt wird kann Block C durch die Zahl oder Adresse 509 identifiziert werden, während der vierte Block (Block C) durch die Zahl oder Adresse 763 identifiziert werden kann. Falls, wie in der bevorzugten Anordnung, Block A (oder Adresse 1) zur Blockadressenspeicherung verwendet würde und Block B (oder Adresse 255) als der Block zum anfänglichen Speichern des primären Satzes von Aufzeichnungen verwendet würde und Block C (oder Adresse 509) als der Block zum anfänglichen Speichern des sekundären Satzes von Aufzeichnungen verwendet würde, könnten die übrigen Blöcke D, E, F, G und H als Reserveblock verwendet werden. Die Adressen der Reserveblöcke würden 763, 1017, 1271, 1525 bzw. 1779 werden, wobei die Blockadressendifferenz 254 ist. Wenn es wünschenswert wird, die Adresse des nächsten verfügbaren Reserveblocks festzustellen, beispielsweise Block D, wenn der primäre Satz von Aufzeichnungen in Block B gespeichert ist und der sekundäre Satz von Aufzeichnungen in Block C gespeichert ist, kann die Adressendifferenz 254 zu der Adresse der höchstnumerierten Adresse der dann aktiven Blöcke hinzuaddiert werden, d. h. 509 + 254 = 763, wobei 763 eine Adresse von Block D, dem ersten Reserveblock in der Reihenfolge des Auftretens, ist.
  • Die verschiedenen Register, beispielsweise ein steigendes Register, fallendes Register, Stückzahlregister, Gruppenzählregister und irgendwelche anderen Register, die den Satz von Aufzeichnungen oder Daten bilden, können an irgendeiner gewünschten Stelle innerhalb eines Speicherblocks, beispielsweise an vorgegebenen Versetzungen von der Adresse des Speicherblocks, positioniert werden. Jede Versetzung muß jedoch kleiner als die Adressendifferenz sein. Es soll nun angenommen werden, daß die Versetzung des steigenden Registers 30 ist. Die Adresse des primären steigenden Registers wurde 255 + 30 oder 285 sein. Die Adresse des sekundären steigenden Registers würde 509 + 30 oder 539 sein. Die Versetzung des fallenden Registers kann 60 sein. Somit würde die Adresse des primären fallenden Registers 255 + 60 oder 315 sein, während die Adresse des sekundären fallenden Registers 509 + 60 oder 569 sein würde. Die Blockadresse plus die Versetzung für das bestimmte Register wird als die Effektivadresse bezeichnet. Die verschiedenen vorgegebenen Versetzungen für die verschiedenen Register werden in dem Permanentspeicher ROM 82 gespeichert.
  • Berechnungen können in der CPU 80 durchgeführt werden und die Effektivadresse kann vorübergehend in dem RAM 83 gespeichert werden.
  • Die Kombination der Fig. 4, 4a, 4b und 4c bilden ein allgemeines Flußdiagramm des Betriebs der Vorrichtung. Ein Programm zum Ausführen des Betriebs, wie in den Flußdiagrammen ausgeführt, kann in das ROM geschrieben und gespeichert werden. Das Programm zur Bildung oder Erzeugung eines neuen Satzes von Registern, im folgenden als Daten-Abbildung bzw. -Umsiedlung bezeichnet, kann auftreten, wenn ein Fehler in den gespeicherten Daten in einem Satz von Registern erfaßt wird oder falls irgendeine Fehlfunktion in einen der gegenwärtigen Speicherblöcke erfaßt wird.
  • Einem Fachmann wird naheliegend sein, daß verschiedene Arten einer Erfassung der Zulässigkeit bzw. Rechtschaffenheit der in den Speicherblöcken gespeicherten Daten und/oder zum Bestimmen, ob ein Speicherblock eine Fehlfunktion unterlaufen hat oder nicht, existieren. Eine Möglichkeit der Überprüfung der Integrität bzw. Rechtschaffenheit von in verschiedenen Registern gespeicherten Daten ist in der anhängigen Patentanmeldung Nr. 718,618 beschrieben.
  • Die besagte anhängige Patentanmeldung lehrt die Verwendung eines Incremental-Funktionscodes individuell für jedes Register, der sowohl mit dem Primärregister als auch dem Sekundärregister gespeichert ist, der den Verlauf des Betriebs oder das bestimmte Register beeinflussende Aktualisieren identifiziert. Ein Zweck dieses Funktionscodes ist zu bestimmen, ob beide Register ähnlich aktualisiert worden sind. Es ist selbstverständlich, daß beim Aktualisieren von in den Registern gespeicherten Daten, die Daten in dem Primärblock oder den primären Registern zunächst vollständig aktualisiert werden, und danach die Daten in dem sekundären Block oder sekundären Registern aktualisiert werden. Da die Daten in den sekundären Registern ein Duplikat oder Kopie der Daten in den primären Registern sein sollten, sollten die Funktionscodes der jeweiligen Register bei der Vollendung der Aktualisierungsroutine identisch sein.
  • Durch Vergleich des Funktionscodes in dem Primärblock mit dem Funktionscode in dem Sekundärblock kann leicht festgestellt werden, ob beide Speicherblöcke derselben Aktualisierung ausgesetzt wurden oder nicht. Ein Unterschied der Funktionscodes der Speicherblöcke kann einen Fehler in den in einem der Speicherblöcke gespeicherten Daten anzeigen.
  • Andere Datenüberprüfungen, die einem Fachmann wohl bekannt sein werden, können verwendet werden, um, falls wünschenswert, die Rechtschaffenheit der duplizierten Daten zu bestimmen.
  • Die in dem Flußdiagramm wie in Fig. 4, 4a, 4b und 4c dargestellt gezeigte Routine wird beim Auftreten eines unkorrigierbaren Fehlers oder beim Auftreten einer Fehlfunktion gefolgt. Dies wird durch den Schritt 4.1 dargestellt. Falls keine unkorrigierbare und/oder Fehlfunktion erfaßt wird, fährt der normale Betrieb fort. Falls andererseits ein Fehler festgestellt wird, muß bestimmt werden, ob ein Reservespeicherblock zur Verwendung beim Erzeugen eines neuen Satzes von Registern verfügbar ist oder nicht.
  • Die Routine zum Bestimmen, ob ein Reserveblock zur Verwendung verfügbar ist oder nicht, ist durch das Flußdiagramm wie in Fig. 5 dargestellt abgedeckt. Es wird angenommen, daß das Flußdiagramm in Fig. 5 selbsterklärend ist. Diese Routine wird bestimmen, ob ein Reserveblock verfügbar ist. Falls ein Reserveblock verfügbar ist, wird der verfügbare Reserveblock abgebildet bis ein neuer primärer oder sekundärer Speicherblock erzeugt ist.
  • Für den Fall, daß kein Reserveblock verfügbar ist, ist eine Routine vorgesehen, um zu entscheiden, ob ein vorher verwendeter und nun aufgegebener Speicherblock zur Wiederverwendung verfügbar ist. Diese Routine wird durch das in Fig. 6 gezeigte Flußdiagramm abgedeckt.
  • Durch Unterteilung der Speichereinheit in Mehrfachabschnitte können zwei Abschnitte verwendet werden um entsprechende Daten zu speichern, während andere Abschnitte als Reservespeicherblöcke oder -bereiche verwendet werden können. Wenn ein Fehler in den in einem Speicherblock gespeicherten Daten festgestellt wird, kann ein neuer Datensatz aus dem Satz von richtigen Daten in dem anderen Speicherblock durch Byte-zu-Byte-Duplizieren der Daten in den nächsten verfügbaren Reservespeicherblock oder -bereich erzeugt werden. Diese Routine kann immer wieder ausgeführt werden, vorausgesetzt, daß ein Reserveblock oder Reservebereich übrigbleibt, in den Daten übertragen und gespeichert werden, um einen neuen Satz von Registern zu erzeugen. Die Ausführung dieser Routine kann die Lebenserwartung der Einrichtung, in der ein derartiges neues Speichersystem verwendet wird, beträchtlich verlängern.
  • Wie jedem Fachmann wohl bekannt, erscheinen einige Fehlfunktionen und/oder Fehler zum Zeitpunkt des Auftretens unkorrigierbar, aber der Speicherblock, der die offensichtliche Fehlfunktion oder Fehler erfährt, kann tatsächlich in einen Zustand einer Nützlichkeit gebracht werden. Für den Fall, daß alle Reserveblöcke oder Bereiche zur Abbildung verwendet worden sind und kein Reserveblock oder -bereich zur Verwendung zur Abildung verfügbar ist, kann somit eine Routine programmiert werden, um zu bestimmen, ob ein vorher verwendeter und nachher aufgegebener Speicherblock zur Wiederverwendung zur Abbildung verfügbar ist.
  • Die letztere Prozedur kann außerdem die Lebensdauer der Einrichtung, in der das vorliegende Speichersystem verwendet wird, verlängern.
  • Bei einer alternativen Anordnung kann das Prinzip der vorliegenden Erfindung verwendet werden, um ein Register, das einen Fehler in den Daten beibehält an eine andere Stelle innerhalb des gleichen Speicherblocks ohne Neuschreiben des gesamten Satzes von in dem Block gespeicherten Registern neu zu positionieren oder umzusiedeln. Eine derartige alternative Anordnung kann Reservespeicherbereiche innerhalb des Speicherblocks vorsehen, im Gegensatz zu getrennten Bereichen eines Reservespeicherblocks.
  • Die Adresse des Primärblocks und die Adresse des Sekundärblocks würden in dem ROM gespeichert werden und würden permanent sein. Die Versetzungen der verschiedenen Register würden in dem NVM Blockadressenspeicher gespeichert werden und die Versetzung des bestimmten Registers würde beim Umsiedeln des Registers innerhalb des Speicherblocks eine Änderung erfahren. Für den Fall, daß ein individuelles Register innerhalb eines bestimmten Speicherblocks umgesiedelt würde, würde das entsprechende Register in dem anderen Speicherplatz auch an eine entsprechende Stelle umgesiedelt werden. Die Versetzung des bestimmten Registers würde in dem NVM-Blockspeicher geändert werden.
  • Das bevorzugte Ausführungsbeispiel der Erfindung ist bezüglich seiner Verwendung in einer Frankiermaschine beschrieben worden. Es ist jedoch offensichtlich, daß das neue Speichersystem in jeder Abrechnungs- und/oder Bestandsaufnahmesystem verwendet werden kann, in denen Daten elektronisch abgelegt, gespeichert und zurückgewonnen werden. Es ist außerdem offensichtlich, daß andere Speichereinheiten als die oben erwähnten zur Ausübung dieser Erfindung verwendet werden können. Obwohl die bevorzugte Anordnung der Erfindung die Unterteilung einer Speichereinheit in Vielfachabschnitte zum Umsiedeln enthält, ist es offensichtlich, daß eine Vielzahl von Speichereinheiten verwendet werden kann, wobei eine Speichereinheit als die Primäreinheit dient, um einen primären Satz von Registern zu speichern, eine zweite Speichereinheit als eine sekundäre Einheit dient, um einen sekundären Satz von Registern zu speichern und zusätzliche Speichereinheiten vorgesehen sind, um als Reservespeichereinheiten zum Zwecke einer Umsiedelung bzw. Abbildung zu dienen.
  • Es soll darauf hingewiesen werden, daß obwohl die Erfindung in einem bevorzugten Ausführungsbeispiel beschrieben worden ist und verschiedene alternative Ausführungsbeispiele erklärt und vorgeschlagen worden sind, andere Änderungen und Modifikationen einem Fachmann offensichtlich sein werden, sobald sie in Anbetracht der Prinzipien und Konzepte der Erfindung gemacht worden sind. Es ist deswegen beabsichtigt, daß die beigefügten Ansprüche so ausgeführt sind, um das offenbarte Ausführungsbeispiel, die alternativen Ausführungsbeispiele und alle Variationen und Modifikationen, die innerhalb des Umfangs und Grundgedankens der Erfindung fallen, abzudecken.

Claims (12)

1. Verfahren zur Datenumsiedlung in einer Speichereinheit (100), umfassend die folgenden Schritte:
a) Unterteilen der Speichereinheit (100) in wenigstens einen ersten Speicherteil (B), einen zweiten Speicherteil (C) und einen dritten Speicherteil (D, E . . . H);
b) Speichern von ersten Daten in dem ersten Speicherteil (B);
c) Speichern von zweiten Daten in dem zweiten Speicherteil (C), wobei die zweiten Daten die ersten Daten duplizieren;
gekennzeichnet durch den folgenden Schritt:
d) Schreiben und Speichern entweder der ersten Daten oder der zweiten Daten, die in dem ersten (B) oder zweiten Speicherteil (c) gespeichert sind, bei der Bestimmung eines Fehlers in den anderen Teil (B; C) in dem dritten Speicherteil (D, E . . . H), wobei die Daten in einem Speicherteil (B; C) in den dritten Speicherteil (D, E . . . H) als Ersatz für die entsprechenden in dem anderen Teil der Speicherteile (B; C) gespeicherten Daten dupliziert werden.
2. Verfahren zur Datenumsiedelung in einer Speichereinheit nach Anspruch 1, dadurch gekennzeichnet, daß die Speichereinheit (100) eine nicht flüchtige Speichereinheit ist.
3. Verfahren zur Datenumsiedelung in einer Speichereinheit nach Anspruch 1, dadurch gekennzeichnet, daß die Speichereinheit (100) eine Vielzahl von Speichereinheiten enthält, wobei jeder Speicherteil (A . . . H) eine Speichereinheit ist.
4. Verfahren zur Datenumsiedelung in einer Speichereinheit nach Anspruch 1, dadurch gekennzeichnet, daß der Schreib- und Speicherschritt enthält:
Vergleichen der in dem ersten Speicherteil (B) gespeicherten ersten Daten mit den in dem zweiten Speicherteil (C) gespeicherten zweiten Daten, um zu bestimmen, ob ein Fehler in den in einem der Speicherteile (B; C) gespeicherten Daten existiert;
Bestimmen, welcher Speicherteil (B; C) einen Fehler unterlaufen hat;
Duplizieren der Daten von dem Speicherteil (B; C), der die richtigen Daten enthält durch Schreiben und Speichern der richtigen Daten in den dritten Speicherteil (D . . . H) zum Erzeugen eines neuen Speicherteils (D . . . H) mit richtigen Daten.
5. Verfahren zur Datenumsiedelung in einer Speichereinheit nach Anspruch 4, dadurch gekennzeichnet, daß jeder Speicherteil (A . . . H) dieselbe Menge von Speicherbytes enthält.
6. Verfahren zur Datenumsiedelung in einer Speichereinheit nach Anspruch 4, dadurch gekennzeichnet, daß es folgende Schritte enthält:
a) Identifizieren jedes Bytes in der Speichereinheit (100) sequentiell in der Reihenfolge seiner Stellung in der Einheit (100);
b) Identifizieren jedes jeweiligen Speicherteils (A . . . H) durch ein jeweiliges Byte an einer entsprechenden Stelle in dem jeweiligen Speicherteil (A . . . H), wobei die in die jeweiligen Speicherteile (A . . . H) geschriebenen Daten wenigstens entsprechend der Identifikation eines derartigen Speicherteils (A . . . H) geschrieben sind.
7. Verfahren zur Datenumsiedelung in einer Speichereinheit nach Anspruch 4, gekennzeichnet durch folgende Schritte:
a) Identifizieren jedes Bytes in dem nicht flüchtigen Speicher (100) sequentiell in der Reihenfolge seiner Stellung in der Speichereinheit (100);
b) Identifizieren jedes jeweiligen Speicherteils (A . . . H) durch ein jeweiliges Byte an einer entsprechenden Stellung in dem jeweiligen Speicherteil (A . . . H);
c) Zuordnen der ersten Daten an eine Stelle in einem Speicherteil (A . . . H) die von einer Versetzung abhängt, die kleiner als die Anzahl von Bytes ist, die in dem Speicherteil (A . . . H) mit der kleinsten Menge von Bytes darin enthalten ist;
d) Zuordnen der zweiten Daten an eine Stelle in einem Speicherteil (A . . . H) entsprechend der Stelle, die den ersten Daten zugeordnet ist, wobei die ersten Daten entsprechend der Identifizierungszahl des ersten Speicherteils (B) und der den ersten Daten zugeordneten Versetzung gespeichert werden und die zweiten Daten in dem zweiten Teil (C) entsprechend der Identifikationszahl des zweiten Speicherteils (C) und der den zweiten Daten zugeordneten Versetzung gespeichert werden.
8. Verfahren zur Datenumsiedelung in einer Speichereinheit nach einem der Ansprüche 1 bis 7, gekennzeichnet durch die folgenden Schritte:
a) Vergleichen der vorgegebenen in den dritten Speicherteil (D . . . H) gespeicherten Daten mit den in dem Teil gespeicherten Daten, der die richtigen Daten speichert zum Bestimmen der Richtigkeit der vorgegebenen Daten in jedem Teil;
b) Bestimmen der Stelle der richtigen vorgegebenen Daten in Ansprechen auf eine Bestimmung, daß eine Differenz zwischen zwei vorgegebenen zuletzt verglichenen Daten existiert;
c) Bestimmen, ob ein Reservespeicherteil (D . . . H) verfügbar ist;
d) Feststellen des ersten aufgegebenen vorher verwendeten Speicherteils (D . . . H) in Ansprechen auf eine Bestimmung, daß ein Reservespeicherteil (D . . . H) nicht verfügbar ist;
e) Bringen aller Speicherbytes an allen Stellen in dem ersten aufgegebenen, vorher verwendeten Speicherteil (D . . . H) in einen vermeidbaren Zustand;
f) Duplizieren der Daten in dem Teil, der die richtigen vorgegebenen Daten speichert, in den ersten aufgegebenen, vorher verwendeten Speicherteil (D . . . H) zum Erzeugen eines duplizierten Satzes von vorgegebenen Daten in dem ersten aufgegebenen, vorher verwendeten Teil (D . . . H), wobei die Daten entsprechend der Identifikation des vorher verwendeten Teil und der Versetzung der Daten lokalisiert sind;
g) Speichern der Identifikation des vorher verwendeten Teils (D . . . H) anstelle der Identifikation des Speicherteils (D . . . H), der die falschen vorgegebenen Daten zuletzt speichert.
9. Verfahren zur Datenumsiedelung in einer Speichereinheit nach Anspruch 5, gekennzeichnet durch die folgenden Schritte:
Speichern der ersten Daten an einer Stelle in einem anfänglichem Speichergebiet des ersten Speicherteils (B) entsprechend der Identifikation des ersten Speicherteils (B) und einer ersten Versetzung;
Speichern der zweiten Daten an einer Stelle in einem anfänglichen Speichergebiet des zweiten Speicherteils (C) entsprechend der Identifikation des zweiten Speicherteils (C) und der ersten Versetzung;
Vergleichen der in dem anfänglichen Speichergebiet des ersten Speicherteils (B) gespeicherten ersten Daten mit den in dem zweiten Anfangsspeichergebiet des zweiten Speicherteils (C) gespeicherten zweiten Daten, um die Gleichheit der in den jeweiligen Teilen gespeicherten Daten zu verifizieren;
Bestimmen, welche gespeicherten Daten die richtigen Daten sind, entsprechend der Verifizierung, daß eine Differenz von Daten zwischen den in dem ersten Teil (B) gespeicherten Daten und den in dem zweiten Teil (C) gespeicherten Daten existiert;
Feststellen einer zweiten Versetzung innerhalb eines Reservespeicherbereichs des Teils (B; C), der die richtigen Daten speichert;
Übertragen der richtigen Daten an die zweite Versetzung in dem Speicherteil (B; C) der die richtigen Daten speichert;
Duplizieren der richtigen Daten in das Reservespeichergebiet des Teils (B; C), der die richtigen Daten enthält und an der zweiten Versetzung.
10. Verfahren zur Datenumsiedelung in einer Speichereinheit nach einem der Ansprüche 1 bis 9, gekennzeichnet durch die folgenden Schritte:
Speichern der ersten Daten in dem ersten Speicherteil (B) entsprechend einer ersten vorgegebenen Adresse, wobei die erste vorgegebene Adresse einen permanenten Teil und einen veränderbaren Teil enthält;
Speichern der zweiten Daten in dem zweiten Speicherteil (C) entsprechend einer zweiten vorgegebenen Adresse, wobei die zweite vorgegebene Adresse einen permanenten Teil und eine veränderbaren Teil enthält, wobei die ersten Daten den zweiten Daten entsprechen;
Schreiben wenigstens der ersten Daten in den dritten Speicherteil (D . . . H) entsprechend einer dritten vorgegebenen Adresse, wobei die dritte vorgegebene Adresse einen permanenten Teil und einen veränderbaren Teil enthält, wobei der permanente Teil der dritten vorgegebenen Adresse dem permanenten Teil der ersten vorgegebenen Adresse entspricht, wodurch wenigstens ein Teil der ersten Daten in den dritten Speicherteil (D . . . H) dupliziert wird, um den wenigstens einen Teil der ersten Daten an einer neuen Stelle zu speichern.
11. Verfahren zur Datenumsiedelung in einer Speichereinheit nach einem der Ansprüche 1 bis 10, dadurch gekennzeichnet, daß die zu speichernden Daten vorgegebene Programmdaten sind.
12. Verfahren zur Datenumsiedelung in einer Speichereinheit nach einem der Ansprüche 1 bis 11, dadurch gekennzeichnet, daß die vorgegebenen Daten postalische Abrechnungsdaten sind und die ersten Daten und die zweiten Daten jeweils wenigstens steigende Registerdaten und fallende Registerdaten enthalten.
DE8686117469T 1985-12-16 1986-12-16 Verfahren zur datenumsiedlung in einem speichersystem und zur lebensdauererweiterung eines solchen systems. Revoked DE3687344T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/809,454 US4802117A (en) 1985-12-16 1985-12-16 Method of preserving data storage in a postal meter

Publications (2)

Publication Number Publication Date
DE3687344D1 DE3687344D1 (de) 1993-02-04
DE3687344T2 true DE3687344T2 (de) 1993-05-13

Family

ID=25201378

Family Applications (1)

Application Number Title Priority Date Filing Date
DE8686117469T Revoked DE3687344T2 (de) 1985-12-16 1986-12-16 Verfahren zur datenumsiedlung in einem speichersystem und zur lebensdauererweiterung eines solchen systems.

Country Status (5)

Country Link
US (1) US4802117A (de)
EP (1) EP0226205B1 (de)
JP (1) JPS62175845A (de)
CA (1) CA1267225A (de)
DE (1) DE3687344T2 (de)

Families Citing this family (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4931997A (en) * 1987-03-16 1990-06-05 Hitachi Ltd. Semiconductor memory having storage buffer to save control data during bulk erase
WO1989011134A1 (en) * 1988-05-09 1989-11-16 Ascom Hasler Ag Electronic computing and storage system for franking machines
US5268319A (en) * 1988-06-08 1993-12-07 Eliyahou Harari Highly compact EPROM and flash EEPROM devices
US5021963A (en) * 1988-12-30 1991-06-04 Pitney Bowes Inc. EPM having an improvement in accounting update security
CA2003375A1 (en) * 1988-12-30 1990-06-30 Nanette Brown Epm having an improvement in non-volatile memory organization
US7190617B1 (en) * 1989-04-13 2007-03-13 Sandisk Corporation Flash EEprom system
US5083264A (en) * 1989-04-24 1992-01-21 Xerox Corporation Process and apparatus for saving and restoring critical files on the disk memory of an electrostatographic reproduction machine
US5166936A (en) * 1990-07-20 1992-11-24 Compaq Computer Corporation Automatic hard disk bad sector remapping
US5177744A (en) * 1990-09-04 1993-01-05 International Business Machines Corporation Method and apparatus for error recovery in arrays
JPH04162300A (ja) * 1990-10-26 1992-06-05 Nec Corp 半導体メモリ
GB2251324B (en) * 1990-12-31 1995-05-10 Intel Corp File structure for a non-volatile semiconductor memory
GB2251323B (en) * 1990-12-31 1994-10-12 Intel Corp Disk emulation for a non-volatile semiconductor memory
US5426652A (en) * 1991-01-08 1995-06-20 The Dsp Group Inc. Data reception technique
CA2067466C (en) * 1991-05-03 1997-07-15 Arno Muller Method and apparatus for testing an nvm
US5276844A (en) * 1991-08-05 1994-01-04 Ascom Autelca Ltd. Protection system for critical memory information
US5659744A (en) * 1991-10-15 1997-08-19 International Computers Limited Data file store system with means for efficiently managing freeing of data blocks
US5878256A (en) * 1991-10-16 1999-03-02 International Business Machine Corp. Method and apparatus for providing updated firmware in a data processing system
US5826075A (en) * 1991-10-16 1998-10-20 International Business Machines Corporation Automated programmable fireware store for a personal computer system
US5341330A (en) * 1992-10-30 1994-08-23 Intel Corporation Method for writing to a flash memory array during erase suspend intervals
US5740395A (en) * 1992-10-30 1998-04-14 Intel Corporation Method and apparatus for cleaning up a solid state memory disk storing floating sector data
US5452311A (en) * 1992-10-30 1995-09-19 Intel Corporation Method and apparatus to improve read reliability in semiconductor memories
US5448577A (en) * 1992-10-30 1995-09-05 Intel Corporation Method for reliably storing non-data fields in a flash EEPROM memory array
US5357475A (en) * 1992-10-30 1994-10-18 Intel Corporation Method for detaching sectors in a flash EEPROM memory array
US5416782A (en) * 1992-10-30 1995-05-16 Intel Corporation Method and apparatus for improving data failure rate testing for memory arrays
US5369616A (en) * 1992-10-30 1994-11-29 Intel Corporation Method for assuring that an erase process for a memory array has been properly completed
US5337275A (en) * 1992-10-30 1994-08-09 Intel Corporation Method for releasing space in flash EEPROM memory array to allow the storage of compressed data
US5473753A (en) * 1992-10-30 1995-12-05 Intel Corporation Method of managing defects in flash disk memories
US5471604A (en) * 1992-10-30 1995-11-28 Intel Corporation Method for locating sector data in a memory disk by examining a plurality of headers near an initial pointer
US5822781A (en) * 1992-10-30 1998-10-13 Intel Corporation Sector-based storage device emulator having variable-sized sector
JP3641280B2 (ja) * 1992-10-30 2005-04-20 インテル・コーポレーション フラッシュeepromアレイのクリーン・アップすべきブロックを決定する方法
US5479633A (en) * 1992-10-30 1995-12-26 Intel Corporation Method of controlling clean-up of a solid state memory disk storing floating sector data
US5535369A (en) * 1992-10-30 1996-07-09 Intel Corporation Method for allocating memory in a solid state memory disk
EP0600729A1 (de) * 1992-12-04 1994-06-08 Plessey Semiconductors Limited Datenspeicheranordnung
US5627568A (en) * 1992-12-15 1997-05-06 Texas Instruments Incorporated Display buffer using minimum number of VRAMs
US5559992A (en) * 1993-01-11 1996-09-24 Ascom Autelca Ag Apparatus and method for protecting data in a memory address range
US5740349A (en) * 1993-02-19 1998-04-14 Intel Corporation Method and apparatus for reliably storing defect information in flash disk memories
US5581723A (en) * 1993-02-19 1996-12-03 Intel Corporation Method and apparatus for retaining flash block structure data during erase operations in a flash EEPROM memory array
US5835933A (en) * 1993-02-19 1998-11-10 Intel Corporation Method and apparatus for updating flash memory resident firmware through a standard disk drive interface
US5586285A (en) * 1993-02-19 1996-12-17 Intel Corporation Method and circuitry for increasing reserve memory in a solid state memory disk
EP0615211B1 (de) * 1993-03-11 1998-02-04 Francotyp-Postalia Aktiengesellschaft & Co. Verfahren zum Speichern sicherheitsrelevanter Daten
US5640529A (en) * 1993-07-29 1997-06-17 Intel Corporation Method and system for performing clean-up of a solid state disk during host command execution
GB2283342B (en) * 1993-10-26 1998-08-12 Intel Corp Programmable code store circuitry for a nonvolatile semiconductor memory device
US5682517A (en) * 1994-06-21 1997-10-28 Pitney Bowes Inc. Method of transferring data to a memory medium in a mailing machine
US5765175A (en) * 1994-08-26 1998-06-09 Intel Corporation System and method for removing deleted entries in file systems based on write-once or erase-slowly media
US5809558A (en) * 1994-09-29 1998-09-15 Intel Corporation Method and data storage system for storing data in blocks without file reallocation before erasure
US5563828A (en) * 1994-12-27 1996-10-08 Intel Corporation Method and apparatus for searching for data in multi-bit flash EEPROM memory arrays
US5668973A (en) * 1995-04-14 1997-09-16 Ascom Hasler Mailing Systems Ag Protection system for critical memory information
US6157919A (en) * 1995-12-19 2000-12-05 Pitney Bowes Inc. PC-based open metering system and method
US6151590A (en) * 1995-12-19 2000-11-21 Pitney Bowes Inc. Network open metering system
US5749078A (en) * 1996-08-23 1998-05-05 Pitney Bowes Inc. Method and apparatus for storage of accounting information in a value dispensing system
DE19650993A1 (de) * 1996-11-26 1998-05-28 Francotyp Postalia Gmbh Anordnung und Verfahren zur Verbesserung der Datensicherheit mittels Ringpuffer
JP3648892B2 (ja) * 1996-12-16 2005-05-18 富士通株式会社 計算機システム
DE19916065A1 (de) * 1999-04-09 2000-10-19 Siemens Ag Programmierbarer Festwertspeicher und Verfahren zum Betreiben des Festwertspeichers
US6595412B2 (en) * 2001-05-03 2003-07-22 Pitney Bowes Inc. Method for calculating indicia for mailpieces
US7487316B1 (en) * 2001-09-17 2009-02-03 Rockwell Automation Technologies, Inc. Archive and restore system and methodology for on-line edits utilizing non-volatile buffering
JP2003196163A (ja) * 2001-12-27 2003-07-11 Denso Corp 電子制御装置
US20050015344A1 (en) * 2003-06-26 2005-01-20 Pitney Bowes Incorporated Method and system for detection of tampering and verifying authenticity of a 'data capture' data from a value dispensing system
WO2005121972A1 (en) 2004-06-14 2005-12-22 Research In Motion Limited Method and system for securing data utilizing redundant secure key storage
US9104315B2 (en) 2005-02-04 2015-08-11 Sandisk Technologies Inc. Systems and methods for a mass data storage system having a file-based interface to a host and a non-file-based interface to secondary storage
US20060184718A1 (en) * 2005-02-16 2006-08-17 Sinclair Alan W Direct file data programming and deletion in flash memories
US7877539B2 (en) * 2005-02-16 2011-01-25 Sandisk Corporation Direct data file storage in flash memories
US20060184719A1 (en) * 2005-02-16 2006-08-17 Sinclair Alan W Direct data file storage implementation techniques in flash memories
US7627733B2 (en) * 2005-08-03 2009-12-01 Sandisk Corporation Method and system for dual mode access for storage devices
US7552271B2 (en) 2005-08-03 2009-06-23 Sandisk Corporation Nonvolatile memory with block management
US7949845B2 (en) * 2005-08-03 2011-05-24 Sandisk Corporation Indexing of file data in reprogrammable non-volatile memories that directly store data files
US7669003B2 (en) * 2005-08-03 2010-02-23 Sandisk Corporation Reprogrammable non-volatile memory systems with indexing of directly stored data files
US7558906B2 (en) 2005-08-03 2009-07-07 Sandisk Corporation Methods of managing blocks in nonvolatile memory
US7409489B2 (en) * 2005-08-03 2008-08-05 Sandisk Corporation Scheduling of reclaim operations in non-volatile memory
US7480766B2 (en) * 2005-08-03 2009-01-20 Sandisk Corporation Interfacing systems operating through a logical address space and on a direct data file basis
US7814262B2 (en) * 2005-10-13 2010-10-12 Sandisk Corporation Memory system storing transformed units of data in fixed sized storage blocks
US7529905B2 (en) * 2005-10-13 2009-05-05 Sandisk Corporation Method of storing transformed units of data in a memory system having fixed sized storage blocks
US7877540B2 (en) * 2005-12-13 2011-01-25 Sandisk Corporation Logically-addressed file storage methods
US7769978B2 (en) * 2005-12-21 2010-08-03 Sandisk Corporation Method and system for accessing non-volatile storage devices
US7793068B2 (en) 2005-12-21 2010-09-07 Sandisk Corporation Dual mode access for non-volatile storage devices
US7747837B2 (en) 2005-12-21 2010-06-29 Sandisk Corporation Method and system for accessing non-volatile storage devices
US20070233868A1 (en) * 2006-03-31 2007-10-04 Tyrrell John C System and method for intelligent provisioning of storage across a plurality of storage systems

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL157684B (nl) * 1949-12-02 Shell Int Research Werkwijze voor het behandelen van een ondergrondse formatie waarin zich een put uitstrekt.
GB1193287A (en) * 1967-08-08 1970-05-28 Ferranti Ltd Improvements relating to Apparatus for Reading Magnetic Tape
US3544777A (en) * 1967-11-06 1970-12-01 Trw Inc Two memory self-correcting system
US3866182A (en) * 1968-10-17 1975-02-11 Fujitsu Ltd System for transferring information between memory banks
US3569934A (en) * 1968-12-17 1971-03-09 Petty Geophysical Eng Co Method of detecting and correcting errors in multiplexed seismic data
US3668644A (en) * 1970-02-09 1972-06-06 Burroughs Corp Failsafe memory system
US3835312A (en) * 1973-03-15 1974-09-10 Gte Automatic Electric Lab Inc Recovery control circuit for central processor of digital communication system
US3978457A (en) * 1974-12-23 1976-08-31 Pitney-Bowes, Inc. Microcomputerized electronic postage meter system
US4044337A (en) * 1975-12-23 1977-08-23 International Business Machines Corporation Instruction retry mechanism for a data processing system
US4251874A (en) * 1978-10-16 1981-02-17 Pitney Bowes Inc. Electronic postal meter system
DE2916840A1 (de) * 1979-04-26 1980-11-06 Postalia Gmbh Elektronisch gesteuerte frankiermaschine
US4281398A (en) * 1980-02-12 1981-07-28 Mostek Corporation Block redundancy for memory array
FR2486687B1 (fr) * 1980-07-09 1986-08-22 Roneo Alcatel Ltd Compteur d'affranchissement postal
US4371754A (en) * 1980-11-19 1983-02-01 Rockwell International Corporation Automatic fault recovery system for a multiple processor telecommunications switching control
JPS59157811A (ja) * 1983-02-25 1984-09-07 Nec Corp デ−タ補間回路
US4531215A (en) * 1983-06-22 1985-07-23 Gte Automatic Electric Incorporated Validity checking arrangement for extended memory mapping of external devices
JPS6170637A (ja) * 1984-09-11 1986-04-11 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション 多数決によるエラ−検出訂正方法

Also Published As

Publication number Publication date
EP0226205A2 (de) 1987-06-24
EP0226205B1 (de) 1992-12-23
CA1267225A (en) 1990-03-27
US4802117A (en) 1989-01-31
EP0226205A3 (en) 1988-01-13
DE3687344D1 (de) 1993-02-04
JPS62175845A (ja) 1987-08-01

Similar Documents

Publication Publication Date Title
DE3687344T2 (de) Verfahren zur datenumsiedlung in einem speichersystem und zur lebensdauererweiterung eines solchen systems.
DE68917578T2 (de) Elektronische Frankiermaschine mit einer Verbesserung im nichtlöschbaren Speichern von Buchhaltungsdaten.
DE3688014T2 (de) Verfahren zur Steuerung von Frankiermaschinen.
DE3049607C3 (de) Verfahren zur Herstellung von Ausweiskarten und Vorrichtung zu dessen Durchführung
DE3706295C2 (de)
DE19740525C1 (de) Verfahren zur Abspeicherung und Wiedergewinnung von Daten in einem Steuersystem, insbesondere in einem Kraftfahrzeug
DE69323225T2 (de) Datenbehandlung in einem System mit Prozessor zur Steuerung des Zugangs zu einer Mehrzahl von Datenspeicherplatten
DE4447404A1 (de) Verfahren zur Dateneingabe in eine Waage
DE3146718A1 (de) "anlage fuer das verwalten mehrerer kopiergeraete"
DE3644232A1 (de) Postaufgabesystem mit portowertuebertragung und verrechnungsfaehigkeit
DE69609256T2 (de) Sicheres aktualisierungsverfahren für eeprom
DE68916927T2 (de) Elektronische Frankiermaschine mit Verbesserungen in der Sicherheit beim Aktualisieren der Buchhaltung.
CH675496A5 (de)
DE69320755T2 (de) Postverarbeitungssystem mit Aufzeichnung der Betriebsdaten von Frankiermaschinen
DE3650330T2 (de) Frankiermaschinensystem zur nichtflüchtigen Speicherung von Daten.
WO1989011134A1 (en) Electronic computing and storage system for franking machines
DE3586756T2 (de) Elektronische registrierkasse.
DE4217830C2 (de) Verfahren zum Betreiben einer Datenverarbeitungsanlage
DE3002048C2 (de)
DE3426524C2 (de) Verfahren zur Steuerung der Abrechnungsvorgänge in einer elektronischen Frankiermaschine
DE69905659T2 (de) Chipkarte, System zum Verarbeiten von Chipkarten, und Verfahren zum Verarbeiten von Chipkarten
DE2625365B2 (de) Vergleichseinrichtung für eingegebene Daten
DE69015845T2 (de) Elektronische Frankiermaschine.
DE2916811A1 (de) Elektronisch gesteuerte anzeigeund pruefeinrichtung fuer frankiermaschinen
DE69413364T2 (de) Verfahren und Einrichtung zum Speichern von Transaktionsdaten

Legal Events

Date Code Title Description
8363 Opposition against the patent
8331 Complete revocation