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
Links
- 238000000034 method Methods 0.000 title claims description 18
- 230000015654 memory Effects 0.000 claims description 142
- 238000013508 migration Methods 0.000 claims description 12
- 230000005012 migration Effects 0.000 claims description 12
- 230000003247 decreasing effect Effects 0.000 claims description 2
- 238000006073 displacement reaction Methods 0.000 claims 2
- 230000004044 response Effects 0.000 claims 2
- 230000007257 malfunction Effects 0.000 description 24
- 238000013500 data storage Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 12
- 238000012423 maintenance Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000000630 rising effect Effects 0.000 description 5
- 238000013507 mapping Methods 0.000 description 4
- 230000001174 ascending effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000008439 repair process Effects 0.000 description 3
- 230000003466 anti-cipated effect Effects 0.000 description 2
- 238000013506 data mapping Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 230000036962 time dependent Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 239000003990 capacitor Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000001066 destructive effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/74—Masking faults in memories by using spares or by reconfiguring using duplex memories, i.e. using dual copies
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07B—TICKET-ISSUING APPARATUS; FARE-REGISTERING APPARATUS; FRANKING APPARATUS
- G07B17/00—Franking apparatus
- G07B17/00185—Details internally of apparatus in a franking system, e.g. franking machine at customer or apparatus at post office
- G07B17/00362—Calculation or computing within apparatus, e.g. calculation of postage value
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1666—Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
- G06F11/167—Error detection by comparing the memory output
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07B—TICKET-ISSUING APPARATUS; FARE-REGISTERING APPARATUS; FRANKING APPARATUS
- G07B17/00—Franking apparatus
- G07B17/00185—Details internally of apparatus in a franking system, e.g. franking machine at customer or apparatus at post office
- G07B17/00362—Calculation or computing within apparatus, e.g. calculation of postage value
- G07B2017/00395—Memory organization
- G07B2017/00411—Redundant 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.
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)
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)
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 | インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション | 多数決によるエラ−検出訂正方法 |
-
1985
- 1985-12-16 US US06/809,454 patent/US4802117A/en not_active Expired - Lifetime
-
1986
- 1986-12-11 CA CA000525052A patent/CA1267225A/en not_active Expired - Lifetime
- 1986-12-16 EP EP86117469A patent/EP0226205B1/de not_active Expired
- 1986-12-16 JP JP61299819A patent/JPS62175845A/ja active Pending
- 1986-12-16 DE DE8686117469T patent/DE3687344T2/de not_active Revoked
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 |