PL173398B1 - Sposób zapisu danych do pamięci nieulotnej w urządzeniu stanowiącym układ scalony oraz urządzenie stanowiące układ scalony - Google Patents
Sposób zapisu danych do pamięci nieulotnej w urządzeniu stanowiącym układ scalony oraz urządzenie stanowiące układ scalonyInfo
- Publication number
- PL173398B1 PL173398B1 PL94306763A PL30676394A PL173398B1 PL 173398 B1 PL173398 B1 PL 173398B1 PL 94306763 A PL94306763 A PL 94306763A PL 30676394 A PL30676394 A PL 30676394A PL 173398 B1 PL173398 B1 PL 173398B1
- Authority
- PL
- Poland
- Prior art keywords
- register
- data
- area
- volatile memory
- write
- Prior art date
Links
- 230000015654 memory Effects 0.000 title claims abstract description 125
- 238000000034 method Methods 0.000 title claims abstract description 111
- 238000011084 recovery Methods 0.000 claims description 25
- 230000004044 response Effects 0.000 claims description 4
- 238000013500 data storage Methods 0.000 claims description 3
- 230000000903 blocking effect Effects 0.000 claims 1
- 238000001514 detection method Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 4
- 238000012937 correction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005674 electromagnetic induction Effects 0.000 description 1
- 230000005381 magnetic domain Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000002604 ultrasonography Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F7/00—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
- G07F7/08—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
- G07F7/10—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
- G07F7/1008—Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1441—Resetting or repowering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
- G06F15/7821—Tightly coupled to memory, e.g. computational memory, smart memory, processor in memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/34—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
- G06Q20/341—Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F7/00—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
- G07F7/08—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
- G07F7/0806—Details of the card
- G07F7/0813—Specific details related to card security
- G07F7/082—Features insuring the integrity of the data on or in the card
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F7/00—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
- G07F7/08—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
- G07F7/0866—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means by active credit-cards adapted therefor
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/102—External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/102—External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
- G11C16/105—Circuits or methods for updating contents of nonvolatile memory, especially with 'security' features to ensure reliable replacement, i.e. preventing that old data is lost before new data is reliably written
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Networks & Wireless Communication (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Accounting & Taxation (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Stored Programmes (AREA)
- Medicines Containing Antibodies Or Antigens For Use As Internal Diagnostic Agents (AREA)
- Medicines Containing Material From Animals Or Micro-Organisms (AREA)
- Packaging Of Annular Or Rod-Shaped Articles, Wearing Apparel, Cassettes, Or The Like (AREA)
Abstract
1. Sposób zapisu danych do pamieci nieulot- nej w urzadzeniu stanowiacym uklad scalony, w którym wyznacza sie pierwszy obszar pamie- ci nieulotnej, dla zapamietywanych danych, wyznacza sie drugi obszar pamieci nieulotnej dla zapamietywania informacji o stanie zapisu, przeprowadza sie operacje zapisu danych do pierwszego obszaru oraz zapisu informacji o stanie zapisu do drugiego obszaru i okresla sie waznosc danych wtedy i tylko wtedy, kiedy operacja wpisu zostala zakonczona pomyslnie, znamienny tym, ze po ponownym zainicjowa- niu urzadzenia (1) stanowiacego uklad scalony, wstepnie odczytuje sie drugi obszar pamieci nieulotnej (7) i wyprowadza sie z niego infor- macje stanu zapisu, a gdy informacja stanu za- pisu wskazuje niekompletnosc operacji zapisu, zezwala sie na uniewaznienie urzadzenia (1) stanowiacego uklad scalony. Fig 1 PL PL
Description
Przedmiotem wynalazku jest sposób zapisu danych do pamięci nieulotnej w urządzeniu stanowiącym układ scalony oraz urządzenie stanowiące układ scalony.
Pamięć nieulotna to pamięć zachowująca dane po wyłączeniu zasilania elektrycznego. Rozwiązanie według wynalazku dotyczy zwłaszcza zapisu danych do pamięci w przenośnych
173 398 urządzeniach z układami scalonymi, które wykorzystywane są z urządzeniami terminalowymi, z którymi łączone są tymczasowo w celu zapisu lub odczytu danych. Przykładem takiego urządzenia przenośnego jest karta z układem scalonym (Integrated Circuit Card - ICC), zwana kartą inteligentną.
Karty inteligentne sprzęgane są za pośrednictwem interfejsu z urządzeniem terminalowym, z którego do karty zostaje doprowadzane zasilanie, sygnały zegarowe, sygnał resetu i szeregowe sygnały danych. Zwykle w skład interfejsu wchodzi zestaw styków elektrycznych do bezpośredniego tymczasowego połączenia elektrycznego. Znane są również interfejsy bezstykowe, wykorzystujące indukcję elektromagnetyczną. W tego rodzaju konstrukcji, sygnały zegara, resetu i danych są doprowadzane za pośrednictwem sprzężenia elektromagnetycznego, bądź sprzężenia w podczerwieni lub za pomocą ultradźwięków. Przenośne urządzenia z układami scalonymi mają kształt żetonów lub inny, różniący się od kształtu karty. Niezależnie od kształtu, tego rodzaju urządzenie nazywane jest kartą z układem scalonym ICC. Trudność w przypadku kart ICC stanowi fakt, że wpis danych do karty ICC może być zakłócany wskutek zaburzeń w działaniu interfejsu podczas zapisu, kiedy w wyniku skoków lub zaników zasilania, sygnałów resetu lub sygnałów zegarowych zapis może okazać się nieprawidłowy.
Zastosowaniem karty inteligentnej, do którego w szczególności odnosi się wynalazek, jest jej zastosowanie do przenoszenia walorów płatniczych, czyli jako gotówki elektronicznej. Przy tym dane zapisane na kartach inteligentnych reprezentują walory w połączeniu z on-line z bankiem, lub off-line, czyli między kartami. Taki system opisano w zgłoszeniach W091/16695 i W09308545. Ważne w przypadku takich zastosowań jest unikanie skutków nieprawidłowego zapisu danych, albo przypadkowych, albo być może powodowanych celowo, przez manipulacje linią, zasilania, lub liniami danych.
W opisie patentowym EP 0 026 980 przedstawiono sposób zapisu danych do magnetycznej domenowej pamięci nieulotnej, której pierwotna zawartość specyficznego obszaru pamięci została skasowana i zastąpiona zaktualizowanym zbiorem danych. Zgodnie z tym znanym sposobem wstępnie zachowuje się kopię zarówno pierwotnego, jak i zaktualizowanego zbioru danych w oddzielnym obszarze zachowania pamięci i następnie przeprowadza się usuwanie i wymianę pierwotnego zbioru danych na zaktualizowany. Dzięki temu, nawet w przypadku przerwy w zasilaniu w czasie operacji usuwania i wymiany, relewantny obszar pamięci może być albo zregenerowany do swego pierwotnego stanu, albo operacja zapisu może być uzupełniona przez kopiowanie zawartości obszaru zachowania, do relewantnego obszaru pamięci po przywróceniu zasilania.
W opisie patentowym EP 0 398 545 przedstawiono sposób zapisu danych do pamięci nieulotnej, zastosowanej do przechowywania informacji hodometru. Każda lokacja w pamięci ma o jeden bit więcej niż jest to wymagane dla utrzymywania przekazywanych danych, który to dodatkowy bit pełni rolę flagi. Jeśli nowa część danych została prawidłowo wpisana do pamięci, lokacja przyporządkowanej flagi zostaje odpowiednio ustawiona, aby wskazać, że dane zostały zapisane prawidłowo. Gdy dane mają być zmodyfikowane, to nowe dane zostają wpiąane do następnej dostępnej lokacji pamięci (kolejność lokacji pamięci jest określona) i jeśli operacja zapisu jest prawidłowa, to przyporządkowana flaga jest ustawiona z nową lokacją. Na końcu, flaga przyporządkowana starej lokacji zostaje przywrócona do stanu wyjściowego. W przypadku przerwy w zasilaniu, w którymkolwiek punkcie w tej sekwencji, wpis najbardziej ostatniej ważnej danej przyjmuje się jako przyporządkowany najmniej aktualnie fladze zbioru.
Ponadto, w publikacji WO 93/04716 przedstawiono sposób aktualizacji danych w kartach pamięciowych, który jest bardzo zbliżony do wspomnianego sposobu przedstawionego w opisie EP 0 398 545.
W publikacji WO 89/10618 przedstawiono sposób zapisu danych do pamięci nieulotnej, do stosowania w systemie telewizyjnym z opłata za obraz. Przed rozpoczęciem zapisu nowych danych do pamięci, zostają one wcześniej zapisane do bufora podwójnego, razem z adresem pod jakim mają one być zapisane. Jeśli nowe dane zostały prawidłowo zapisane w buforze podwójnym, to zostaje ustalona przyporządkowana flaga. Nowe dane zostają wówczas wpisa173 398 ne pod swój przydzielony adres, a gdy to zostało wykonane prawidłowo, flaga przyporządkowana buforowi podwójnemu zostaje przywrócona do stanu wyjściowego. W przypadku przerwy w zasilaniu podczas operacji zapisu, po tym jak ustalona została flaga bufora podwójnego, zakończona operacja zapisu może być przeprowadzona po odzyskaniu zasilania, przez odwołanie się do zawartości bufora podwójnego. Aby zredukować użycie obszaru pamięci przyporządkowanego buforowi podwójnemu, lokacja bufora podwójnego jest regularnie zmieniana.
Sposób według wynalazku stosowany jest do zapisu danych do pamięci nieulotnej, w urządzeniu stanowiącym układ scalony. W urządzeniu tym wyznacza się pierwszy obszar pamięci nieulotnej dla zapamiętywanych danych, wyznacza się drugi obszar pamięci nieulotnej dla zapamiętywania informacji stanu zapisu, przeprowadza się operację zapisu danych do pierwszego obszaru oraz zapisu informacji o stanie zapisu do drugiego obszaru i określa się ważność danych wtedy i tylko wtedy, kiedy operacja wpisu została zakończona pomyślnie. Sposób tego rodzaju charakteryzuje się tym, że po ponownym zainicjowaniu urządzenia stanowiącego układ scalony, wstępnie odczytuje się drugi obszar pamięci nieulotnej i wyprowadza się z niego informację stanu zapisu, a gdy informacja stanu zapisu wskazuje niekompletność operacji zapisu, zezwala się na unieważnienie urządzenia stanowiącego układ scalony.
Korzystnym jest, że zarządza się odzyskiwanie danych do pamięci nieulotnej, a unieważnienie urządzenia stanowiącego układ scalony ustala się jako ważne, tylko dla niepoprawnego odzyskiwania danych. Do pamięci nieulotnej wprowadza się program aplikacyjny i w normalnych warunkach steruje się mikroprocesorem w konkretnym zastosowaniu, a unieważnienie urządzenia stanowiącego układ scalony stanowi unieważnienie programowe, po czym program aplikacyjny pomija się.
Korzystnym jest, że unieważnienie urządzenia stanowiącego układ scalony ustala się jako ważne przez trwałe zablokowanie sprzętu komputerowego urządzenia. Stosuje się pamięć nieulotną podzieloną na strony, a odczyt i zapis w danym momencie przeprowadza się wyłącznie na jednej ze stron, przy czym wspomniane obszary, pierwszy i drugi, znajdują się na różnych stronach. Jako pamięć nieulotną stosuje się elektrycznie kasowalną programową pamięć przeznaczoną wyłącznie do odczytu EEPROM. Drugi obszar pamięci nieulotnej stosuje się jako rejestr stanu, informacja stanu zapisu wskazuje na ostatni poprawnie wykonany krok sekwencji złożonej z wielu kroków, a podczas procedury odzyskiwania danych odtwarza się sekwencję złożoną. z wielu kroków, od kroku, w którym wystąpił błąd, zgodnie ze wskazaniem rejestru stanu.
Korzystnym jest, że wyznacza się indywidualne i oddzielone obszary pamięci nieulotnej jako rejestr sekwencji stanowiący drugi obszar pamięci, bufor do kopiowania danych, rejestr rozmiaru, oraz rejestr adresowy i wyznacza się obszar pamięci o dostępie bezpośrednim RAM albo pamięci nieulotnej jako bufor inkrementacji danych, przy czym wspomniany pierwszy obszar pamięci nieulotnej identyfikuje się co do rozmiaru i adresu przez dane wpisane w obszary pamięci stanowiące rejestr rozmiaru i rejestr adresowy. Sposób zapisu obejmuje etapy, w których sprawdza się, że bufor inkrementacji danych zawiera ważną, wartość kroku inkrementacji danych, umieszcza się kopię danych uaktualnianych w buforze do kopiowania danych i przeprowadza się inkrementację rejestru sekwencji, następnie przeprowadza się inkrementację danych w pierwszym obszarze pamięci o wartość z bufora inkrementacji danych i zapisuje się wartości po inkrementacji w pierwszym obszarze pamięci; ora przeprowadza się inkrementację rejestru sekwencji. Podczas procedury odzyskiwania kopiuje się dane z bufora kopiowania danych do pierwszego obszaru pamięci.
Drugi obszar pamięci nieulotnej jest obszarem flag, a jako informację stanu stosuje się flagę ustawioną, jeżeli przy sprawdzaniu stwierdzono poprawność zapisu, a w przeciwnym przypadku kasuje się ją.
Korzystnym jest, że wyznacza się indywidualne i oddzielone obszary pamięci nieulotnej jako rejestr flagi trwania zapisu, który stanowi drugi obszar pamięci; rejestr wskaźnikowy obszaru roboczego, rejestr rozmiaru oraz rejestr wskaźnika danej i wyznacza się obszar pamięci o dostępie bezpośrednim RAM albo pamięci nieulotnej jako rejestr wskaźnikowy nowych da6
173 398 nych, przy czym pierwszy obszar pamięci nieulotnej identyfikuje się co do rozmiaru i położenia zawartością obszarów rejestru wskaźnikowego obszaru roboczego i rejestru rozmiaru. Sposób zapisu obejmuje etapy, w których ustawia się wskaźnik obszaru roboczego w rejestrze wskaźnikowym obszaru roboczego na adres obszaru pamięci nieulotnej o wielkości dostatecznej dla pomieszczenia ciągłego zespołu danych odpowiadającego rozmiarami wartości ustawionej w rejestrze rozmiaru, kopiuje się do obszaru roboczego nowe dane, zidentyfikowane adresem z rejestru wskaźnikowego nowej danej, a co do rozmiaru przez dane rozmiaru z rejestru rozmiaru, ustawia się flagę trwania zapisu w rejestrze flagi trwania zapisu, ustawia się adres w rejestrze wskaźnika danej na adres obszaru roboczego oraz kasuje się flagę trwania zapisu w rejestrze flagi trwania zapisu. Podczas procedury odzyskiwania ustawia się adres w rejestrze wskaźnikowym danej na adres obszaru roboczego oraz kasuje się flagę trwania zapisu w rejestrze flagi trwania zapisu.
Korzystnym jest, że wyznacza się indywidualne i oddzielone obszary pamięci nieulotnej jako rejestr flagi stanu, który stanowi drugi obszar pamięci, rejestr rozmiaru, rejestr adresowy oraz rejestr uaktualniania przy kopiowaniu, przy czym pierwszy obszar pamięci nieulotnej identyfikuje się co do rozmiaru i położenia, zawartością obszarów rejestru rozmiaru i rejestru adresowego. Sposób zapisu obejmuje etapy, w których kopiuje się nowe dane, przeznaczone do wpisania, do rejestru uaktualniania przy kopiowaniu, ustawia się flagę stanu w rejestrze flagi stanu, wpisuje się nowe dane, przeznaczone do wpisania, do pierwszego obszaru pamięci nieulotnej oraz kasuje się flagę trwania zapisu w rejestrze flagi stanu. Podczas procedury odzyskiwania kopiuje się zawartość rejestru uaktualniania przy kopiowaniu do pierwszego obszaru pamięci nieulotnej identyfikowanego zawartością obszarów rejestru rozmiaru i rejestru adresowego oraz kasuje się flagę w rejestrze flagi stanu.
Urządzenie według wynalazku stanowi układ scalony, zaopatrzony w interfejs do tymczasowego przyłączania go do bloku terminalu, przy czym do interfejsu dołączony jest mikroprocesor, z którym połączona jest pamięć o dostępie swobodnym oraz pamięć nieulotna, która to pamięć nieulotna zawiera pierwszy obszar zapamiętywania wpisywanych danych oraz drugi obszar zapamiętywania informacji stanu zapisu. Mikroprocesor zaopatrzony jest w program wykonywania operacji zapisu danych do pierwszego obszaru i wykonywania operacji zapisu danych do drugiego obszaru z określeniem ważności danych stanu zapisu wtedy i tylko wtedy, kiedy operacja wpisu do pierwszego obszaru została zakończona pomyślnie. Urządzenie tego rodzaju charakteryzuje się tym, że mikroprocesor zaopatrzony jest w program odczytu, w odpowiedzi na reset urządzenia, drugiego obszaru pamięci nieulotnej dla wyprowadzenia informacji stanu zapisu oraz zezwolenie, gdy informacja stanu zapisu wskazuje niekompletną operację zapisu, unieważnienia urządzenia stanowiącego układ scalony.
W oprogramowaniu mikroprocesorów stosuje się znane procedury kopiowania i zapisu, służące do przepisywania danych i informacji programowej między obszarami pamięci RAM, oraz na przykład z pamięci RAM do pamięci EEPROM i odwrotnie. Na poziomie systemu operacyjnego, lub wyższym, wykorzystuje się metody weryfikacji, umożliwiające sprawdzenie poprawności operacji kopiowania lub zapisu. Polegają one na automatycznym porównaniu treści zapisywanej z treścią pierwotną, lub na zastosowaniu obliczania sumy kontrolnej, przy którym następuje zsumowanie jednego lub więcej dodanych bitów sumy kontrolnej, które zgodnie z konkretnym algorytmem sprawdzane są dla upewnienia się, że nie wystąpił błąd zapisu ani kopiowania. Jeżeli taki błąd wystąpił, to operacja może być powtarzana, aż do otrzymania wyniku pozytywnego. W rozwiązaniu według wynalazku metodę tę wykorzystuje się jako podstawę do określania, czy operacja zapisu została wykonana pomyślnie, w celu umożliwienia zapisu odpowiedniej informacji we wspomniany, drugi obszar pamięci. Tak więc, jeżeli dane zostały poprawnie zapisane do karty ICC, przy wykorzystaniu wbudowanej procedury weryfikacji zapisu, to na podstawie wyników sprawdzenia poprawności tego zapisu można wnioskować o ważności danych wpisanych do drugiego obszaru pamięci.
Typem pamięci nieulotnej stosowanym w większości kart inteligentnych jest elektrycznie kasowalna programowana pamięć przeznaczona wyłącznie do odczytu EEPROM. Ponieważ procedury odczytu i zapisu uwzględniają zastosowanie pamięci EEPROM, która zwykle
173 398 podzielona jest na strony, to odczyt i zapis w danym momencie odbywają się wyłącznie na jednej ze stron. Tak więc chwilowy błąd zapisu może spowodować uszkodzenie zawartości tylko jednej strony, a pozostałych nie. Odpowiednio do tego, korzystne jest, jeżeli wspomniane obszary, pierwszy i drugi, znajdują się na różnych stronach. Według wynalazku otrzymuje się możliwość zapisu w pamięci nieulotnej, w której wystąpił błąd urządzenia i podjęcie odpowiedniego działania przy ponownym wykorzystaniu urządzenia, po podaniu sygnału resetującego. Zwykle stosuje się protokół ISO 7816, który określa rodzaj resetu, odpowiedzi na reset, zasilanie, sygnały zegarowe itp. Jeżeli błąd jest przejściowy, to sygnał resetu może być podawany bezpośrednio potem, tak aby została powtórzona przerwana operacja. Jeżeli nie, to sygnał resetu podawany jest przy następnej próbie wykorzystania tego urządzenia.
W działaniu wynikowym przy występowaniu błędu zapisu na karcie inteligentnej, może nastąpić uznanie karty za nieważną, jeżeli w sposób powtarzalny nie następuje przejście do programu aplikacyjnego. Jest to programowe unieważnienie karty. Możliwe jest również unieważnienie za pomocą środków układowych, przez przepuszczenie prądu przeciążającego przez bezpiecznik topikowy na karcie, powodującego przepalenie się bezpiecznika i unieważnienie karty. Jednak takie unieważnienie karty powoduje powstanie odpadu i korzystne jest, jeżeli sposób wykorzystania karty przewiduje, przy stwierdzeniu niezakończenia ooeracji zapisu, procedurę odzyskiwania danych, zapewniające przywrócenie urządzenia do stanu, w którym ostatnio wpisana dana jest poprawna, a informacja stanu, zapisana w drugim obszarze pamięci, odzwierciedla ten fakt. W przypadku niepowodzenia operacji odtwarzania danych, mogą zostać podjęte wspomniane powyżej kroki zmierzające do programowego lub układowego unieważnienia karty.
Sposób według wynalazku objaśniono w trzech konkretnych przykładach.
Według pierwszego przykładu przeprowadzania sposobu zapisu wyznacza się indywidualne i oddzielone obszary pamięci nieulotnej jako: rejestr sekwencji, stanowiący drugi obszar pamięci; bufor do kopiowania danych; rejestr rozmiaru; oraz rejestr adresowy i wyznacza się obszar pamięci RAM lub pamięci nieulotnej jako bufor inkrementacji danych, przy czym wspomniany obszar pierwszy pamięci nieulotnej identyfikuje się co do rozmiaru i adresu przez dane wpisane w obszary pamięci stanowiące rejestr rozmiaru i rejestr adresowy. Przy tym sposób zapisu obejmuje następujące etapy, w których upewnia się, że bufor inkrementacji danych zawiera ważną wartość kroku inkrementacji danych; umieszcza się kopię danej uaktualnianej w buforze kopiowania; i przeprowadza się inkrementację rejestru sekwencji, następnie inkrementację danej w pierwszym obszarze pamięci o wartość z bufora inkrementacji danych i zapisuje się wartości po inkrementacji w pierwszym obszarze pamięci oraz przeprowadza się inkrementację rejestru sekwencji.
Przy tym sposobie wykonywania procedury odzyskiwania, kiedy rejestr sekwencji wskazuje, że odzyskiwanie jest niezbędne, według tego sposobu odbywa się kopiowanie pierwotnej (nie poprawionej) danej z bufora do kopiowania danych, do pierwszego obszaru pamięci. Powoduje to odtworzenie sytuacji w momencie przed wystąpieniem niepoprawności operacji zapisu.
Według drugiego przykładu przeprowadzania sposobu wyznacza się indywidualne i oddzielone obszary pamięci nieulotnej jako: rejestr flagi trwania zapisu, który stanowi drugi obszar pamięci; rejestr wskaźnikowy obszaru roboczego; rejestr rozmiaru; rejestr wskaźnika danej i wyznacza się obszar pamięci RAM lub pamięci nieulotnej jako rejestr wskaźnikowy nowej danej, przy czym pierwszy obszar pamięci nieulotnej identyfikuje się co do rozmiaru i położenia zawartością obszarów rejestru wskaźnikowego i rejestru rozmiaru. Przy tym sposób zapisu obejmuje etapy, w których ustawia się wskaźnik obszaru roboczego w rejestrze na adres obszaru pamięci nieulotnej o wielkości dostatecznej dla pomieszczenia ciągłego zespołu danych odpowiadającego rozmiarami wartości ustawionej w rejestrze; kopiuje się do obszaru roboczego nowe dane, zidentyfikowane adresem z rejestru wskaźnikowego nowej danej, a co do rozmiaru przez dane rozmiaru z rejestru rozmiaru; ustawia się flagę trwania zapisu w rejestrze flagi trwania zapisu; ustawia się adres w rejestrze wskaźnika danych na adres obszaru roboczego; oraz kasuje się flagę trwania zapisu w rejestrze flagi.
173 398
W tym przykładzie proces odzyskiwania obejmuje powtarzanie ostatnich dwóch etapów, dopóki występuje sygnalizacja błędu wskazująca, że rejestr wskaźnika danych nie został, zapisany prawidłowo.
Według trzeciego przykładu przeprowadzania sposobu zapisu wyznacza się indywidualne i oddzielone obszary pamięci nieulotnej jako: rejestr flagi stanu, który stanowi drugi obszar pamięci; rejestr rozmiaru; rejestr adresowy; oraz rejestr uaktualniania przy kopiowaniu; przy czym pierwszy obszar pamięci nieulotnej identyfikuje się co do rozmiaru i położenia zawartością obszarów rejestru rozmiaru i rejestru adresowego. Przy tym sposób zapisu obejmuje etapy, w których kopiuje się nowe dane, przeznaczone do wpisania, do bufora rejestru uaktualniania przy kopiowaniu; ustawia się flagę stanu w rejestrze flagi stanu; wpisuje się nowe dane, przeznaczone do wpisania, do pierwszego obszaru pamięci nieulotnej; oraz kasuje się flagę trwania zapisu w rejestrze flagi stanu.
W tym przykładzie nowa dana wpisywana jest zwykle bezpośrednio z pamięci RAM, a w rejestrze kopiowania przy uaktualnianiu rejestru uaktualniania przy kopiowaniu sporządzana jest jej kopia. Jeżeli występuje potrzeba odzyskiwania danych, to ponieważ istnieje nowa dana, przetrzymywana w rejestrze uaktualniania jako rezerwowa, to procedura odzyskiwania polega na skopiowaniu jej pod żądany adres, na przykład w pamięci EEPROM.
Przedmiot wynalazku jest objaśniony w przykładzie wykonania na rysunku, na którym fig. 1 przedstawia kartę inteligentną z pamięcią EEPROM, o organizacji dostosowanej do stosowania pierwszego przykładu sposobu zapisu i odzyskiwania danych, w postaci schematu blokowego, fig. 2a i 2b przedstawiają sieci działań sposobu stosowanego w przypadku karty z fig. 1, fig. 3 przedstawia schemat blokowy podobny do schematu z fig. 1, lecz w odniesieniu do drugiego przykładu sposobu zapisu i odzyskiwania danych, fig. 4a i 4b przedstawiają, sieci działań drugiego sposobu, fig. 5 przedstawia schemat blokowy podobny do schematu z fig. 1 i 3, lecz w odniesieniu do trzeciego przykładu sposobu zapisu i odzyskiwania danych według wynalazku, a fig. 6 przedstawia sieć działań odnoszącą się do trzeciego przykładu sposobu.
Na figurze 1 przedstawiono kartę inteligentną 1 zaopatrzoną w interfejs 2 składający się z zespołu styków 3, do realizacji połączenia z blokiem 4 terminalu. Zgodnie z protokołem ISO 7816 blok terminalu 4 dostarcza do karty zasilanie, sygnały zegarowe, sygnał resetu i szeregowe sygnały danych. Karta jest urządzeniem ICC zawierającym mikroprocesor 5, pamięć o dostępie bezpośrednim RAM 6 oraz pamięć wielokrotnego użytku EEPROM 7.
Pamięć EEPROM 7 dzieli się na zespół stron 8 i wpisany w nią program OS systemu operacyjnego i program aplikacyjny AP oraz zawiera obszar danych DR, pozwalający na ich odczytywanie i ponowne zapisywanie.
Przedstawiony pierwszy przykład sposobu według wynalazku polega na inkrementacyjnym uaktualnianiu danych w pamięci wielokrotnego użytku EEPROM 7. Według tego sposobu, z całego obszaru danych DR pamięci EEPROM 7 wydziela się indywidualne i oddzielone obszary jako: rejestr sekwencji a; bufor do kopiowania danych b; rejestr rozmiaru c; oraz rejestr adresowy d.
W charakterze bufora e inkrementacyjnego danych, wyznaczony jest określony obszar pamięci RAM 6, jednak mógłby to być również obszar pamięci EEPROM 7.
Na figurze 2 przedstawiono sieć działań przy zapisywaniu danych zgodnie z pierwszym przykładem sposobu. Poszczególne etapy obejmują: upewnienie się, że bufor danych e zawiera ważną wartość kroku inkrementacji danych w kroku 9; zidentyfikowanie w pamięci EEPROM 7 danej przeznaczonej do uaktualnienia (danej pierwotnej) z wykorzystaniem rejestrów c i d, z jej rozmiarem i adresem, z otrzymaniem lokalizacji pierwotnej, w kroku 10. Następnie kopiuje się dane do bufora b w kroku 11, przeprowadza się inkrementację rejestru sekwencji a w kroku 12, oblicza się nowe dane w pamięci RAM 6 przez odniesienie do danej pierwotnej i danej w buforze e inkrementacji danej i zapisuje się nowe wartości w pierwotnej lokacji pamięci EEPROM 7 w kroku 13 oraz przeprowadza się inkrementację rejestru sekwencji a w kroku 14.
Pamięć EEPROM 7 ma taką właściwość, że przechowywane w niej dane mogą ulec zniszczeniu, jeżeli podczas zmiany zawartości pamięci zostanie przerwane zasilanie lub po173 398 dawanie sygnału zegarowego. W konstrukcji opisanej zapewnia się bezpieczeństwo danych przez zastosowanie bufora kopiowania danych b oraz rejestru sekwencji a. Dzięki wewnętrznym procedurom weryfikacji zapisu można zagwarantować, że jeżeli system operacyjny wskazuje zakończenie procedury 13 zapisu, to zapisana informacja jest prawidłowa i odpowiednio może być uaktualniony rejestr sekwencji a. Jeżeli operacja zapisu zostanie przerwana, na przykład wskutek zaniku zasilania lub sygnału zegarowego, to rejestr sekwencji a pozostaje w swoim dotychczasowym stanie, który nie umożliwia dostępu do zapisu.
W rozwiązaniu według wynalazku dostępna jest procedura sprawdzania i odzyskiwania, za każdym otrzymaniem przez kartę sygnału resetu. Zilustrowano to na fig. 2b. Po resecie w punkcie 15, następuje sprawdzenie, w kroku 16 sekwencji, czy sygnalizowana jest nieprawidłowość zapisu. Jeżeli taka nieprawidłowość jest sygnalizowana, to wtedy dana pierwotna sprzed ostatniej operacji zapisu, przechowywana w buforze b do kopiowania danych, zostaje przekopiowana pod adres rejestru rozmiaru c, rejestru adresowego d danej pierwotnej. Odbywa się to w etapie 18. W ten sposób zostaje odtworzona sytuacja sprzed próby dokonania zapisu.
Sposób ten dostosowany jest do procedury wieloetapowej i w praktyce dane będą przekazywane do i od terminalu, za pomocą interfejsu szeregowego, w wielu etapach. Rejestr sekwencji a przechowuje informację o tym, w którym z kroków sekwencji nastąpiła przerwa. Jeżeli pierwotne połączenie z terminalem zostaje utrzymane i może być zachowana sekwencja operacji, to odbywa się procedura resynchronizacji i w kroku 19 następuje określenie, czy kopiowanie/resynchronizacja odbyły się poprawnie. Jeżeli tak, to uruchamiany jest program aplikacyjny AP. Jeżeli nie, to program musi zdecydować, na podstawie stanu rejestru sekwencji a, jak dokonać resynchronizacji znajdującego się na karcie oprogramowania aplikacyjnego AP i komunikacji z kartą inteligentną 1 za pośrednictwem linii szeregowej. Jeżeli nie ma możliwości odzyskania danych z bufora b kopiowania danych, a rejestr sekwencji a wskazuje, że dana ta powinna być dostępna, to wtedy karta 1 zostaje unieważniona, w kroku 20.
Unieważnienie może się odbyć przez spowodowanie trwałej niemożliwości zaimplementowania programu aplikacyjnego, lub przez wykonanie kroków dodatkowych, na przykład przepalenia wbudowanego bezpiecznika.
Zarówno bufor b kopiowania danych, jak i bufor e inkrementacji danych muszą mieć wielkość dostateczną do pomieszczenia największego z możliwych bloków danych, jaki będzie wpisywany do pamięci z wykorzystaniem tego sposobu. Potrzebnych jest również pięć dodatkowych bajtów pamięci (rozmiar = 2 bajty, adres = 2 bajty, rejestr sekwencji = 1 bajt [przynajmniej]). Jeżeli rozmiar nigdy nie przekroczy wartości 255, to może być przechowywany w postaci pojedynczego bajtu.
Ponieważ za każdym razem podczas zapisu karta 1 działa tylko na jednej stronie, to zwiększa się niezawodność, przy wykorzystaniu oddzielnych (zwykle trzech) pamięci EEPROM 7 dla bufora b kopiowania danych, bufora e inkrementacji danych i dla pozostałych danych uzupełniających.
Przy wykorzystaniu tego sposobu zapisu do pamięci EEPROM 7, liczba bajtów rzeczywiście wpisanych do pamięci EEPROM 7 zostaje podwojona, nawet jeśli nie uruchamia się odzyskiwania (ponieważ kopia danych pierwotnych musi być zapisana w buforze danych przed rozpoczęciem wpisu do pamięci EEPROM). Ogólny nadmiar w rzeczywistości jest nieco większy, ponieważ w pamięci EEPROM musi być zapisana również informacja rejestrów: rozmiaru, adresowego i sekwencji.
Na figurze 3 przedstawiono konfigurację pamięci EEPROM dla karty inteligentnej 1 do zastosowania wspomnianego drugiego przykładu sposobu, podobnej do przedstawionej na fig. 1. W tym przypadku, indywidualne i oddzielone obszary pamięci EEPROM (na poszczególnych stronach 8) wyznaczone są jako: rejestr flagi trwania zapisu f; rejestr wskaźnikowy obszaru roboczego g; rejestr rozmiaru h; oraz rejestr wskaźnika danej i.
W pamięci RAM 6 w charakterze rejestru wskaźnikowego g nowej danej zostaje wyznaczony obszar j. Może on być wyznaczony również w pamięci EEPROM 7.
173 398
Na figurze 4 przedstawiono sieć działań procedury zapisu według wspomnianego drugiego przykładu sposobu. Obejmuje ona etapy, w których ustawia się wskaźnik obszaru roboczego w rejestrze sekwencji a na adres obszaru roboczego w pamięci EEPROM 7 o wielkości dostatecznej dla pomieszczenia ciągłego zespołu danych odpowiadającego rozmiarami wartości ustawionej w rejestrze rozmiaru h, w kroku 21, kopiuje się do obszaru roboczego nowe dane, w obszarze pamięci RAM lub EEPROM zidentyfikowanego co do rozmiaru przez dane rozmiaru z rejestru rozmiaru h, a co do położenia przez rejestr wskaźnika danej i, w kroku 22, ustawia się flagę f trwania zapisu, w kroku 23, następnie ustawia się adres w rejestrze wskaźnikowym i na adres obszaru roboczego, w kroku 24, oraz kasuje się flagę trwania zapisu w rejestrze flagi trwania zapisu f.
Procedurę sprawdzania i odzyskiwania dla drugiego przykładu sposobu przedstawiono na fig. 4b. Po resecie w etapie 25 następuje sprawdzenie, w kroku 26, flagi trwania zapisu. Jeżeli flaga jest skasowana, to uruchomiony zostaje, w kroku 27 program aplikacyjny AP. Jeżeli nie, to zostają powtórzone ostatnie dwa kroki 4 i 5 procedury zapisu. Tak więc wskaźnik i danych ustawiany jest na wartość równą wskaźnikowi g obszaru roboczego, w kroku 28, a w kroku 29 następuje skasowanie rejestru flagi trwania zapisu f. Jeżeli ta procedura zapisu trwa nadal (sprawdzenie w kroku 30) to wykonywany jest program aplikacyjny AP. Jeżeli nie, to karta 1 zostaje unieważniona, w kroku 31.
Jeżeli zostanie znaleziony pewien obszar pamięci EEPROM 7, w którym zapis nie jest możliwy, to ten sposób umożliwia programowi aplikacyjnemu karty łatwe oznaczenie tego obszaru, jako nie nadającego się do użytku (trwale) i wybranie innego obszaru dla przechowywania danych. Pozwala to znacznie zwiększyć czas eksploatacji karty 1, który pozostaje jednak ograniczony liczbą możliwych zapisów do pamięci EEPROM, realizowanych przez daną kartę, jednak pociąga to za sobą konieczność utrzymywania wskaźnika (dwóch nadmiarowych bajtów) dla każdej struktury danych przechowywanych w pamięci EEPROM 7.
W warunkach normalnych flagi trwania zapisu ustawiana jest wyłącznie na czas potrzebny do uaktualnienia wskaźnika w pamięci EEPROM. Jest to minimalny, możliwy teoretycznie, czas uaktualniania, co powinno pomóc w osiągnięciu stanu, w którym mechanizm odzyskiwania jest wywoływany bardzo rzadko. Minimalizuje to liczbę prób zapisu do pamięci EEPROM, a zatem przedłuża czas eksploatacji karty inteligentnej.
Każda struktura danych wpisanych do pamięci EEPROM z użyciem tego sposobu, zostanie rozszerzona o dwa bajty, ponieważ stale występuje konieczność utrzymywania wskaźnika do każdej danej. Występuje pewien niewielki nadmiar również w przypadku odczytu pamięci EEPROM, ponieważ wszystkie dane, do których ma zastosowanie sposób według wynalazku, muszą być pobierane za pośrednictwem wskaźnika.
Pamięć EEPROM, na którą wskazuje wskaźnik obszaru roboczego, musi być na tyle duża, aby była w stanie pomieścić największą z możliwych strukturę danych, możliwą do zapisania z użyciem tego sposobu. Obszar ten niezbędny jest jedynie do momentu pomyślnego zakończenia zapisu do pamięci EEPROM, kiedy następuje zwolnienie komórki o długości równoważnej zajętej pamięci EEPROM (uprzednio wykorzystanej) do przechowywania danych pierwotnych. Potrzebnych jest również dodatkowych siedem bajtów pamięci (flaga trwania zapisu = 1 bajt, wskaźnik nowej danej = 2 bajty, wskaźnik obszaru roboczego = 2 bajty, rozmiar = 2 bajty). Jeżeli rozmiar nigdy nie przekroczy wartości 255, to może być przechowywany w postaci pojedynczego bajtu.
Przy wykorzystaniu tego sposobu zapisu do zapisu pamięci EEPROM, struktura danych wpisana zostaje do pamięci danych tylko raz, lecz potrzebne jest uaktualnienie trzech wskaźników, a więc wskaźnika nowej, wskaźnika obszaru roboczego oraz wskaźnika danej - w tym porządku. Informacja rejestrów, adresowego i sekwencji również wymaga zapisania w pamięci EEPROM.
Na figurze 5 przedstawiono przydział pamięci przy stosowaniu wspomnianego trzeciego sposobu według wynalazku. Jest zrozumiałe, że pamięć EEPROM 7 z fig. 5 wchodzi w skład karty inteligentnej 1, podobnej do karty 1 z fig. 1. Na fig. 5, oddzielne obszary pamięci
173 398
EEPROM 7 (na oddzielnych stronach 8) wydzielone są jako: rejestr flagi stanu k, rejestr rozmiaru 1, rejestr adresowy m i bufor uaktualniania przy kopiowaniu n.
Procedura zapisu według trzeciego przykładu sposobu została przedstawiona na fig. 6a., Realizowane są etapy, w których kopiuje się nowe dane, przeznaczone do wpisania, do bufora n w kroku 32, ustawia się flagę stanu w rejestrze k w kroku 33, kopiuje się nowe dane do obszaru pamięci EEPROM 7 wyznaczonego rejestru rozmiaru l i rejestru adresowego m w kroku 34 oraz kasuje się flagę k stanu w kroku 35.
Procedura sprawdzania i odzyskiwania przedstawiona na fig. 6b obejmuje reset w kroku 36 oraz sprawdzenie ustawienie flagi k stanu, w kroku 37. Jeżeli flaga nie jest ustawiona, to w kroku 37 następuje uruchomienie programu aplikacyjnego AP. W przeciwnym przypadku nowa dana znajdująca się w buforze n zostaje skopiowana do obszaru rejestru rozmiaru l, rejestru adresowego m w kroku 37 i skasowana zostaje, w kroku 40, flaga k stanu. Po pomyślnym zakończeniu tych operacji następuje uruchomienie programu aplikacyjnego. W przeciwnym przypadku karta 1 zostaje unieważniona w kroku 41.
Dodatkowy obszar danych, to jest bufor n uaktualniania przy kopiowaniu, musi mieć wielkość wystarczającą do pomieszczenia największej ilości danych, które będą wpisywane do pamięci EEPROM 7 plus pięć bajtów dodatkowych (rozmiar = 2 bajty, adres = 2 bajty, flaga stanu = 1 bajt). Jeżeli rozmiar nigdy nie przekroczy wartości 255, to może być przechowywany w postaci pojedynczego bajtu.
Przy wykorzystaniu tego sposobu zapisu do pamięci EEPROM, liczba bajtów rzeczywiście wpisanych do pamięci EEPROM zostaje podwojona, nawet jeśli nie uruchamia się odzyskiwania, ponieważ kopia danych musi być zapisana w pamięci EEPROM. Ogólny nadmiar w rzeczywistości jest nieco większy, ponieważ w pamięci EEPROM musi być zapisana również informacja rejestru rozmiaru i adresowego.
W celu umożliwienia stwierdzenia, że dana nie uległa zmianie, niezbędne jest wykorzystanie detekcji błędu. Detekcja błędu polega zwykle na obliczeniu sumy kontrolnej, przy każdym uaktualnianiu danej, zapisaniu tej sumy kontrolnej oraz sprawdzeniu, że jest ona poprawna podczas każdego następnego odczytu danych. Procedura praktycznie wykorzystywana do obliczania sumy przy detekcji błędów, nie dotyczy przedstawionego rozwiązania, a ponadto, niektóre karty inteligentne wyposażone są w procedury detekcji błędów, sprzętowo wbudowane w pamięć EEPROM i ich konkretny sposób działania może w ogóle nie być znany.
Proces zapisu do pamięci EEPROM uważa się za zakończony dopiero po odpowiednim zaktualizowaniu danych procedury detekcji błędu i po zweryfikowaniu ich poprawności.
Każdy bajt pamięci EEPROM może być zmieniany tylko skończoną liczbę razy, do momentu wystąpienia niepoprawności w działaniu. Liczba ta wynosi zwykle 105 do 106 cykli zapisu. Zatem istnieją tylko skończone możliwości zmiany danych przechowywanych w pamięci EEPROM i pamięć EEPROM powinna być unieważniana, kiedy system detekcji błędów stwierdzi, że dana nie została wymieniona. Po wykryciu błędu, podczas odczytu pamięci EEPROM, oznacza to, ze jeden lub więcej bitów w pamięci karty inteligentnej osiągnął kres swojego aktywnego życia.
Przy użyciu jednego z przedstawionych przykładów stosowania sposobu zapisu do pamięci EEPROM, osiąga się to, że nie jest potrzebna korekcja błędów (w odróżnieniu od detekcji błędów). Działanie pamięci EEPROM albo kończy się pomyślnie, albo karta inteligentna zostaje unieważniona. Nie występują okoliczności, w których byłaby konieczna korekcja błędu. Upraszcza to oprogramowanie i zmniejsza wymagania na ilość przechowywanych danych, ponieważ korekcja błędów jest rozbudowana w odniesieniu do przetwarzania danych i wymaga większej liczby przeznaczonej dla niej bajtów pamięci, niż sama detekcja błędów.
Pierwszy z opisanych trzech przykładów sposobu zapisu do pamięci EEPrOm, z zasady wykorzystuje licznik (rejestr sekwencji), który przechowuje informację o ostatniej pomyślnie wykonanej operacji, w ciągu operacji wykonanych podczas zapisu do pamięci EepRoM. Drugi i trzeci przykład mogą lecz, nie formalnie, wymagać licznika tego rodzaju jeżeli przewiduje się w nich odpowiedź za pośrednictwem flag przechowujących informację wskazującą, czy zapis do pamięci EEPROM zakończył się pomyślnie, czy nie.
173 398
Choćby nawet sposób zapisu do pamięci EEPROM nie zawsze formalnie wymagał licznika numerycznego, to w wielu systemach utrzymywanie takiego licznika będzie niezbędne, aby zapewnić możliwość restartu w przypadku przerwań procesowych. Ważne jest oczywiście, aby taki licznik był wpisany do pamięci EEPROM w sposób niezawodny, ponieważ, jeśli nie będzie on poprawny, to nie będzie możliwości dokonania, za pomocą programu aplikacyjnego na karcie, restartu przerwanego procesu.
Fig. i
173 398
173 398
Β-—-
Far
Fig. 3
OS AP DR \______\______V
Fg5
173 398
cu
173 398
6b
Departament Wydawnictw UP RP. Nakład 90 egz.
Cena 4,00 zł
Claims (15)
- Zastrzeżenia patentowe1. Sposób zapisu danych do pamięci nieulotnej w urządzeniu stanowiącym układ scalony, w którym wyznacza się pierwszy obszar pamięci nieulotnej, dla zapamiętywanych danych, wyznacza się drugi obszar pamięci nieulotnej dla zapamiętywania informacji o stanie zapisu, przeprowadza się operację zapisu danych do pierwszego obszaru oraz zapisu informacji o stanie zapisu do drugiego obszaru i określa się ważność danych wtedy i tylko wtedy, kiedy operacja wpisu została zakończona pomyślnie, znamienny tym, ze po ponownym zainicjowaniu urządzenia (1) stanowiącego układ scalony, wstępnie odczytuje się drugi obszar pamięci nieulotnej (7) i wyprowadza się z niego informację stanu zapisu, a gdy informacja stanu zapisu wskazuje niekompletność operacji zapisu, zezwala się na unieważnienie urządzenia (1) stanowiącego układ scalony.
- 2. Sposób według zastrz. 1, znamienny tym, że zarządza się odzyskiwanie danych do pamięci nieulotnej (7), a unieważnienie urządzenia stanowiącego układ scalony ustala się jako ważne, tylko dla niepoprawnego odzyskiwania danych.
- 3. Sposób według zastrz. 2, znamienny tym, że do pamięci nieulotnej (7) wprowadza się program aplikacyjny (AP) i w normalnych warunkach steruje się mikroprocesorem (5) w konkretnym zastosowaniu, a unieważnienie urządzenia (1) stanowiącego układ scalony stanowi unieważnienie programowe, po czym program aplikacyjny (AP) pomija się.
- 4. Sposób według zastrz. 2, znamienny tym, że unieważnienie urządzenia (1) stanowiącego układ scalony ustala się jako ważne przez trwałe zablokowanie sprzętu komputerowego urządzenia (1).
- 5. Sposób według zastrz. 3, znamienny tym, że stosuje się pamięć nieulotną (7) podzieloną na strony (8), a odczyt i zapis w danym momencie przeprowadza się wyłącznie na jednej ze stron, przy czym wspomniane obszary, pierwszy i drugi, znajdują się na różnych stronach.
- 6. Sposób według zastrz. 5, znamienny tym, że pamięć nieulot.na(7) stosuje się elektrycznie kasowalną programowaną pamięć przeznaczoną wyłącznie do odczytu EEPROM.
- 7. Sposób według zastrz. 2 albo 6, znamienny tym, że drugi obszar pamięci nieulotnej (7) stosuje się jako rejestr stanu, informacja stanu zapisu wskazuje na ostatni poprawnie wykonany krok sekwencji złożonej z wielu kroków, a podczas procedury odzyskiwania danych odtwarza się sekwencję złożoną z wielu kroków, od kroku, w którym wystąpił błąd, zgodnie ze wskazaniem rejestru stanu.
- 8. Sposób według zastrz. 7, znamienny tym, że wyznacza się indywidualne i oddzielone obszary pamięci nieulotnej (7) jako: rejestr sekwencji (aj, stanowiący drugi obszar pamięci; bufor do kopiowania danych (b); rejestr rozmiaru (c); oraz rejestr adresowy (d) i wyznacza się obszar pamięci o dostępie bezpośrednim RAM albo pamięci nieulotnej jako bufor inkrementacji danych (e), przy czym wspomniany pierwszy obszar pamięci nieulotnej identyfikuje się co do rozmiaru i adresu przez dane wpisane w obszary pamięci stanowiące rejestr rozmiaru (c) i rejestr adresowy (d), przy czym sposób zapisu obejmuje etapy, w których sprawdza się, że bufor inkrementacji danych (e) zawiera ważną wartość kroku inkrementacji danych; umieszcza się kopię danych uaktualnianych w buforze do kopiowania danych (b); i przeprowadza się inkrementację rejestru sekwencji (a), następnie przeprowadza się inkrementację danych w pierwszym obszarze pamięci o wartość z bufora inkrementacji danych (e) i zapisuje się wartości po inkrementacji w pierwszym obszarze pamięci; oraz przeprowadza się inkrementację rejestru sekwencji (a).
- 9. Sposób według zastrz. 8, znamienny tym, że podczas procedury odzyskiwania kopiuje się dane z bufora kopiowania danych (b) do pierwszego obszaru pamięci.173 398
- 10. Sposób według zastrz. 5, znamienny tym, że drugi obszar pamięci nieulotnej (7) jest obszarem flag, a jako informację stanu stosuje się flagę ustawioną, jeżeli przy sprawdzaniu stwierdzono poprawność zapisu, a w przeciwnym przypadku kasuje się ją.
- 11. Sposób według zastrz. 10, znamienny tym, że wyznacza się indywidualne i oddzielone obszary pamięci nieulotnej (7) jako: rejestr flagi trwania zapisu (f), który stanowi drugi obszar pamięci; rejestr wskaźnikowy obszaru roboczego (g), rejestr rozmiaru (h); oraz rejestr wskaźnika danej (i) i wyznacza się obszar pamięci o dostępie bezpośrednim RAM (6) albo pamięci nieulotnej jako rejestr wskaźnikowy (j) nowych danych, przy czym pierwszy obszar pamięci nieulotnej identyfikuje się do rozmiaru i położenia zawartością obszarów rejestru wskaźnikowego obszaru roboczego (g) i rejestru rozmiaru (h), przy czym sposób zapisu obejmuje etapy, w których ustawia się wskaźnik obszaru roboczego w rejestrze wskaźnikowym obszaru roboczego (g) na adres obszaru pamięci nieulotnej o wielkości dostatecznej dla pomieszczenia ciągłego zespołu danych odpowiadającego rozmiarami wartości ustawionej w rejestrze rozmiaru (h); kopiuje się do obszaru roboczego nowe dane, zidentyfikowane adresem z rejestru wskaźnikowego (j) nowej danej, a co do rozmiaru przez dane rozmiaru z rejestru rozmiaru (h); ustawia się flagę trwania zapisu w rejestrze flagi trwania zapisu (f); ustawia się adres w rejestrze wskaźnika danej (i) na adres obszaru roboczego; oraz kasuje się flagę trwania zapisu w rejestrze flagi trwania zapisu (f).
- 12. Sposób według zastrz. 11, znamienny tym, że podczas procedury odzyskiwania ustawia się adres w rejestrze wskaźnika danej (i) na adres obszaru roboczego oraz kasuje się flagę trwania zapisu w rejestrze flagi trwania zapisu (f).
- 13. Sposób według zastrz. 10, znamienny tym, że wyznacza się indywidualne i oddzielone obszary pamięci nieulotnej (7) jako: rejestr flagi stanu (k), który stanowi drugi obszar pamięci; rejestr rozmiaru (l); rejestr adresowy (m); oraz rejestr uaktualniania przy kopiowaniu (n); przy czym pierwszy obszar pamięci nieulotnej identyfikuje się co do rozmiaru i położenia, zawartością obszarów rejestru rozmiaru (l) i rejestru adresowego (m), przy czym sposób zapisu obejmuje etapy, w których kopiuje się nowe dane, przeznaczone do wpisania, do rejestru uaktualniania przy kopiowaniu (n); ustawia się flagę stanu w rejestrze flagi stanu (k); wpisuje się nowe dane, przeznaczone do wpisania, do pierwszego obszaru pamięci nieulotnej; oraz kasuje się flagę trwania zapisu w rejestrze flagi stanu (k).
- 14. Sposób według zastrz. 13, znamienny tym, że podczas procedury odzyskiwania kopiuje się zawartość rejestru uaktualniania przy kopiowaniu (n) do pierwszego obszaru pamięci nieulotnej identyfikowanego zawartością obszarów rejestru rozmiaru (l) i rejestru adresowego (m), oraz kasuje się flagę w rejestrze flagi stanu (k).
- 15. Urządzenie stanowiące układ scalony, zaopatrzone w interfejs do tymczasowego przyłączania go do bloku terminalu, przy czym do interfejsu dołączony jest mikroprocesor, z którym połączona jest pamięć o dostępie swobodnym oraz pamięć nieulotna, która to pamięć nieulotna zawiera pierwszy obszar zapamiętywania wpisywanych danych, drugi obszar zapamiętywania informacji stanu zapisu, a mikroprocesor zaopatrzony jest w program wykonywania operacji zapisu danych do pierwszego obszaru i wykonywania operacji zapisu danych do drugiego obszaru z określeniem ważności danych stanu zapisu wtedy i tylko wtedy, kiedy operacja wpisu do pierwszego obszaru została zakończona pomyślnie, znamienne tym, że mikroprocesor zaopatrzony jest w program odczytu, w odpowiedzi na reset urządzenia, drugiego obszaru pamięci nieulotnej (7) dla wyprowadzenia informacji stanu zapisu oraz zezwolenie, gdy informacja stanu zapisu wskazuje niekompletną operację zapisu, unieważnienia urządzenia (1) stanowiącego układ scalony.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB939307623A GB9307623D0 (en) | 1993-04-13 | 1993-04-13 | Data writing to eeprom |
PCT/GB1994/000775 WO1994024673A1 (en) | 1993-04-13 | 1994-04-13 | Data writing to non-volatile memory |
Publications (2)
Publication Number | Publication Date |
---|---|
PL306763A1 PL306763A1 (en) | 1995-04-18 |
PL173398B1 true PL173398B1 (pl) | 1998-02-27 |
Family
ID=10733749
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PL94306763A PL173398B1 (pl) | 1993-04-13 | 1994-04-13 | Sposób zapisu danych do pamięci nieulotnej w urządzeniu stanowiącym układ scalony oraz urządzenie stanowiące układ scalony |
Country Status (17)
Country | Link |
---|---|
US (1) | US5715431A (pl) |
EP (1) | EP0645046B1 (pl) |
JP (1) | JP3918195B2 (pl) |
KR (1) | KR100343377B1 (pl) |
CN (1) | CN1049516C (pl) |
AT (1) | ATE219857T1 (pl) |
AU (1) | AU676731B2 (pl) |
BR (1) | BR9404989A (pl) |
CA (1) | CA2137683C (pl) |
CR (1) | CR5712A (pl) |
DE (1) | DE69430859D1 (pl) |
GB (1) | GB9307623D0 (pl) |
MD (1) | MD960344A (pl) |
PL (1) | PL173398B1 (pl) |
RU (1) | RU2146399C1 (pl) |
WO (1) | WO1994024673A1 (pl) |
ZA (1) | ZA942553B (pl) |
Families Citing this family (65)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3176209B2 (ja) * | 1994-02-25 | 2001-06-11 | 富士通株式会社 | カード型記憶媒体およびカード型記憶媒体発行装置 |
FR2730833B1 (fr) * | 1995-02-16 | 1997-03-28 | Gemplus Card Int | Procede de mise a jour securisee de memoire eeprom |
US5734894A (en) * | 1995-04-25 | 1998-03-31 | Honeywell Inc. | Methods and apparatus for protecting the integrity of process data stored on a removable storage medium |
GB2314663B (en) * | 1995-05-15 | 1998-10-07 | Mondex Int Ltd | Transaction recovery in a value transfer system |
KR100314122B1 (ko) * | 1995-05-15 | 2001-12-28 | 로버트 캐플혼 | 가치전송시스템에서의전송복구 |
US5559957A (en) * | 1995-05-31 | 1996-09-24 | Lucent Technologies Inc. | File system for a data storage device having a power fail recovery mechanism for write/replace operations |
FR2740237B1 (fr) * | 1995-10-18 | 1997-11-14 | Schlumberger Ind Sa | Composant electronique a memoire synchronisee |
EP0831433A1 (en) * | 1996-09-24 | 1998-03-25 | Koninklijke KPN N.V. | Method of making recoverable smart card transactions, a method of recovering such a transaction, as well as a smart card allowing recoverable transactions |
FR2757978B1 (fr) * | 1996-12-27 | 1999-01-29 | Schlumberger Ind Sa | Procede de securisation d'une donnee dans une memoire reinscriptible |
JP3667920B2 (ja) * | 1997-02-21 | 2005-07-06 | ローム株式会社 | Icカード |
WO1998043212A1 (en) * | 1997-03-24 | 1998-10-01 | Visa International Service Association | A system and method for a multi-application smart card which can facilitate a post-issuance download of an application onto the smart card |
JPH117505A (ja) * | 1997-06-17 | 1999-01-12 | Fujitsu Ltd | カード型記憶媒体 |
JP3056131B2 (ja) * | 1997-06-25 | 2000-06-26 | 日本電気アイシーマイコンシステム株式会社 | システムのリセット方式 |
FR2775375A1 (fr) * | 1998-02-23 | 1999-08-27 | Solaic Sa | Chargement de programmes informatiques en blocs |
EP1082710A1 (en) | 1998-06-05 | 2001-03-14 | Landis & Gyr Communications S.A. | Preloaded ic-card and method for authenticating the same |
JP4029234B2 (ja) * | 1998-07-16 | 2008-01-09 | ソニー株式会社 | 情報処理装置および情報処理方法 |
JP4146006B2 (ja) | 1998-09-28 | 2008-09-03 | 富士通株式会社 | フラッシュメモリを有する電子機器 |
FR2784483B1 (fr) * | 1998-10-13 | 2000-12-29 | Innovatron Electronique | Procede d'echange de donnees entre un automate et un objet portatif, notamment une carte a microcircuit, susceptible d'etre debite par l'automate en contrepartie de la delivrance d'un bien ou d'un service |
JP4314702B2 (ja) * | 1998-11-26 | 2009-08-19 | セイコーエプソン株式会社 | 印刷装置、書込方法およびプリンタ |
DE19858840A1 (de) * | 1998-12-19 | 2000-06-21 | Orga Kartensysteme Gmbh | Verfahren zum bidirektionalen Datentransfer zwischen einem Terminal und einer Chipkarte sowie Chipkarte |
FR2790324B1 (fr) * | 1999-02-25 | 2001-12-28 | St Microelectronics Sa | Dispositif d'acces securise a des applications d'une carte a puce |
US7810152B2 (en) * | 2002-05-08 | 2010-10-05 | Broadcom Corporation | System and method for securely controlling access to device functions |
US7549056B2 (en) | 1999-03-19 | 2009-06-16 | Broadcom Corporation | System and method for processing and protecting content |
US6789159B1 (en) * | 2002-05-08 | 2004-09-07 | Broadcom Corporation | System and method for programming non-volatile memory |
DE19928939A1 (de) * | 1999-06-24 | 2001-01-11 | Giesecke & Devrient Gmbh | Datenträger sowie Verfahren zur Datenübertragung und zur Speicherverwaltung |
FR2795835B1 (fr) * | 1999-07-01 | 2001-10-05 | Bull Cp8 | Procede de verification de transformateurs de codes pour un systeme embarque, notamment sur une carte a puce |
DE19931184A1 (de) * | 1999-07-07 | 2001-01-11 | Bosch Gmbh Robert | Verfahren und Vorrichtung zur Veränderung des Speicherinhalts von Steuergeräten |
JP3822768B2 (ja) * | 1999-12-03 | 2006-09-20 | 株式会社ルネサステクノロジ | Icカードの製造方法 |
JP2002123806A (ja) * | 2000-10-17 | 2002-04-26 | Fujitsu Ltd | Icカード、データ更新制御方法、データ/メッセージ復元制御方法、および制御プログラムを記録した記録媒体 |
DE10060912A1 (de) * | 2000-12-07 | 2002-06-27 | Infineon Technologies Ag | Datenträger und Verfahren zu dessen Entwertung |
DE10143142A1 (de) * | 2001-09-04 | 2003-01-30 | Bosch Gmbh Robert | Verfahren zum Betreiben einer Schaltungsanordnung, die einen Mikrocontroller und ein EEPROM enthält |
US7043493B2 (en) | 2001-09-17 | 2006-05-09 | Fujitsu Limited | Hierarchical file system and anti-tearing algorithm for a limited-resource computer such as a smart card |
FR2833093A1 (fr) * | 2001-12-03 | 2003-06-06 | Schlumberger Systems & Service | Procede d'echange de blocs de donnees, procede d'echange et de traitement de blocs de donnees, objet portatif, et automate pour la mise en oeuvre de procede |
DE60305752T2 (de) * | 2002-01-24 | 2007-01-25 | Matsushita Electric Industrial Co., Ltd., Kadoma | SpeicherKarte |
FR2835628A1 (fr) * | 2002-02-01 | 2003-08-08 | Schlumberger Systems & Service | Gestion de la mise a jour d'informations encodees en memoire |
US6996802B2 (en) | 2002-03-18 | 2006-02-07 | Sun Microsystems, Inc. | Method and apparatus for deployment of high integrity software using initialization order and calling order constraints |
US6912633B2 (en) * | 2002-03-18 | 2005-06-28 | Sun Microsystems, Inc. | Enhanced memory management for portable devices |
US7010783B2 (en) | 2002-03-18 | 2006-03-07 | Sun Microsystems, Inc. | Method and apparatus for deployment of high integrity software using reduced dynamic memory allocation |
US7181737B2 (en) | 2002-03-18 | 2007-02-20 | Sun Microsystems, Inc. | Method and apparatus for deployment of high integrity software using static procedure return addresses |
EP1378915A3 (en) * | 2002-05-08 | 2006-12-13 | Broadcom Corporation | System and method for programming nonvolatile memory |
EP1435576B1 (en) * | 2003-01-03 | 2013-03-20 | Austria Card Plastikkarten und Ausweissysteme GmbH | Method and apparatus for block-oriented memory management provided in smart card controllers |
DE10322723B3 (de) * | 2003-05-20 | 2004-10-14 | Infineon Technologies Ag | Vorrichtung und Verfahren zum Behandeln eines Zustands eines Speichers |
EP1770614A4 (en) * | 2004-04-27 | 2009-01-21 | Bitwallet Inc | PAYMENT TERMINAL MANAGEMENT SERVER, PAYMENT TERMINAL MANAGEMENT METHOD, PAYMENT TERMINAL, CALCULATION INSTRUCTION ENTRY DEVICE, AND PRICE CHANGE INFORMATION ENTRY DEVICE |
JP2006024012A (ja) | 2004-07-08 | 2006-01-26 | Fujitsu Ltd | 非接触ic記録媒体、記録媒体管理プログラムおよび記録媒体管理方法 |
US7366436B2 (en) * | 2004-07-12 | 2008-04-29 | Kyocera Mita Corporation | Processing unit having a panel supported movably with respect to a unit main body |
FR2875080B1 (fr) * | 2004-09-09 | 2006-10-27 | Gemplus Sa | Mise a jour optimisee d'une valeur deterministe dans un dispositif de communication |
EP1670000A1 (fr) * | 2004-12-13 | 2006-06-14 | Axalto S.A. | Procédé de sécurisation de l'écriture en mémoire contre des attaques par rayonnement ou autres. |
KR100649882B1 (ko) * | 2005-07-19 | 2006-11-27 | 삼성전자주식회사 | 비정상 조건 검출회로, 집적회로 카드, 및 cpu 작동방법 |
EP1941469A1 (fr) * | 2005-10-14 | 2008-07-09 | Gemplus SA. | Personnalisation de carte a puce |
FR2924262B1 (fr) * | 2007-11-26 | 2009-12-11 | Sagem Securite | Procede de masquage de passage en fin de vie d'un dispositif electronique et dispositif comportant un module de controle correspondant |
JP2009211870A (ja) * | 2008-03-03 | 2009-09-17 | Ushio Inc | 紫外線照射用光源 |
US8060453B2 (en) * | 2008-12-31 | 2011-11-15 | Pitney Bowes Inc. | System and method for funds recovery from an integrated postal security device |
US8055936B2 (en) * | 2008-12-31 | 2011-11-08 | Pitney Bowes Inc. | System and method for data recovery in a disabled integrated circuit |
US9230259B1 (en) | 2009-03-20 | 2016-01-05 | Jpmorgan Chase Bank, N.A. | Systems and methods for mobile ordering and payment |
FR2959586B1 (fr) | 2010-04-30 | 2012-06-22 | Proton World Int Nv | Procede d'ecriture et de lecture dans une memoire d'atomicite |
EP2386958A1 (en) | 2010-05-13 | 2011-11-16 | Assa Abloy AB | Method for incremental anti-tear garbage collection |
EP2495690B1 (en) * | 2011-03-01 | 2015-05-13 | Nxp B.V. | Transponder and method for monitoring access to application data in the transponder |
US9135970B2 (en) | 2013-02-08 | 2015-09-15 | Everspin Technologies, Inc. | Tamper detection and response in a memory device |
US9218509B2 (en) | 2013-02-08 | 2015-12-22 | Everspin Technologies, Inc. | Response to tamper detection in a memory device |
EP3079065B1 (en) | 2015-04-08 | 2019-06-12 | Huawei Technologies Co., Ltd. | Redo-logging for partitioned in-memory datasets |
US10146644B2 (en) | 2016-06-16 | 2018-12-04 | Oracle International Corporation | Integrity of transactional memory of card computing devices in case of card tear events |
US11099949B2 (en) * | 2018-08-03 | 2021-08-24 | Cirrus Logic, Inc. | Method apparatus for resuming and recovery checking from interrupted programming of one-time programmable memory device |
CA3057398C (en) | 2019-03-29 | 2021-07-06 | Alibaba Group Holding Limited | Securely performing cryptographic operations |
CN114115755B (zh) * | 2022-01-28 | 2022-04-01 | 北京紫光青藤微系统有限公司 | 用于数据写入的方法及装置、存储介质 |
CN118016143B (zh) * | 2024-03-21 | 2024-08-16 | 星汉智能科技股份有限公司 | 智能卡断电测试方法、终端以及存储介质 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5637883A (en) * | 1979-09-04 | 1981-04-11 | Fanuc Ltd | Information rewrite system |
JPS63226752A (ja) * | 1987-03-16 | 1988-09-21 | Omron Tateisi Electronics Co | Idシステムのデ−タ書込み方式 |
US4922456A (en) * | 1988-04-29 | 1990-05-01 | Scientific-Atlanta, Inc. | Method of reducing wearout in a non-volatile memory with double buffer |
US5200600A (en) * | 1988-08-29 | 1993-04-06 | Hitachi Maxell, Ltd. | IC card and method for writing information therein |
EP0398545A1 (en) * | 1989-05-19 | 1990-11-22 | Delco Electronics Corporation | Method and apparatus for storing data in a non-volatile memory |
US5195100A (en) * | 1990-03-02 | 1993-03-16 | Micro Technology, Inc. | Non-volatile memory storage of write operation identifier in data sotrage device |
JP2941361B2 (ja) * | 1990-06-07 | 1999-08-25 | 株式会社東芝 | 携帯可能電子装置 |
FR2666425A1 (fr) * | 1990-08-31 | 1992-03-06 | Gemplus Card Int | Procede et dispositif de mise a jour d'informations dans une memoire et leur utilisation dans les cartes a memoire. |
JPH04137081A (ja) * | 1990-09-28 | 1992-05-12 | Fuji Photo Film Co Ltd | Eepromを有するicメモリカード |
DE69021732T2 (de) * | 1990-12-04 | 1996-01-18 | Hewlett Packard Ltd | Wiederprogrammierbare Datenspeicherungsanlage. |
JPH05233464A (ja) * | 1992-02-25 | 1993-09-10 | Fuji Photo Film Co Ltd | Eepromのデータ書換方法およびeepromカード |
-
1993
- 1993-04-13 GB GB939307623A patent/GB9307623D0/en active Pending
-
1994
- 1994-04-13 ZA ZA942553A patent/ZA942553B/xx unknown
- 1994-04-13 CA CA002137683A patent/CA2137683C/en not_active Expired - Fee Related
- 1994-04-13 CN CN94190333A patent/CN1049516C/zh not_active Expired - Lifetime
- 1994-04-13 PL PL94306763A patent/PL173398B1/pl unknown
- 1994-04-13 EP EP94912602A patent/EP0645046B1/en not_active Expired - Lifetime
- 1994-04-13 BR BR9404989A patent/BR9404989A/pt not_active IP Right Cessation
- 1994-04-13 AU AU65077/94A patent/AU676731B2/en not_active Expired
- 1994-04-13 RU RU94046277A patent/RU2146399C1/ru active
- 1994-04-13 DE DE69430859T patent/DE69430859D1/de not_active Expired - Lifetime
- 1994-04-13 MD MD96-0344A patent/MD960344A/ro unknown
- 1994-04-13 WO PCT/GB1994/000775 patent/WO1994024673A1/en active IP Right Grant
- 1994-04-13 KR KR1019940704545A patent/KR100343377B1/ko not_active IP Right Cessation
- 1994-04-13 US US08/351,451 patent/US5715431A/en not_active Expired - Lifetime
- 1994-04-13 AT AT94912602T patent/ATE219857T1/de not_active IP Right Cessation
- 1994-04-13 JP JP52289394A patent/JP3918195B2/ja not_active Expired - Lifetime
-
1998
- 1998-02-03 CR CR5712A patent/CR5712A/es not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
KR950702061A (ko) | 1995-05-17 |
EP0645046B1 (en) | 2002-06-26 |
RU2146399C1 (ru) | 2000-03-10 |
CN1110488A (zh) | 1995-10-18 |
US5715431A (en) | 1998-02-03 |
WO1994024673A1 (en) | 1994-10-27 |
GB9307623D0 (en) | 1993-06-02 |
ZA942553B (en) | 1995-06-05 |
BR9404989A (pt) | 1999-06-15 |
CR5712A (es) | 1998-08-31 |
CA2137683A1 (en) | 1994-10-27 |
PL306763A1 (en) | 1995-04-18 |
DE69430859D1 (de) | 2002-08-01 |
EP0645046A1 (en) | 1995-03-29 |
KR100343377B1 (ko) | 2002-12-18 |
MD960344A (ro) | 1997-06-30 |
ATE219857T1 (de) | 2002-07-15 |
JPH07508120A (ja) | 1995-09-07 |
JP3918195B2 (ja) | 2007-05-23 |
CA2137683C (en) | 1999-02-23 |
CN1049516C (zh) | 2000-02-16 |
AU676731B2 (en) | 1997-03-20 |
AU6507794A (en) | 1994-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
PL173398B1 (pl) | Sposób zapisu danych do pamięci nieulotnej w urządzeniu stanowiącym układ scalony oraz urządzenie stanowiące układ scalony | |
JP2914360B2 (ja) | 外部記憶装置及びデータ処理方法 | |
JP3233079B2 (ja) | データ処理システム及びデータ処理方法 | |
US7849382B2 (en) | Memory control circuit, nonvolatile storage apparatus, and memory control method | |
TW514833B (en) | 1-chip microcomputer and IC card using same | |
JP2922211B2 (ja) | フォールト・トーレラント・スマート・カード | |
JP2846739B2 (ja) | Eepromメモリの安全更新方法 | |
WO2000019317A1 (en) | Protection of boot block code while allowing write accesses to the boot block | |
JP2002351685A (ja) | 不揮発性メモリのデータ更新方法及び制御装置 | |
JP3472008B2 (ja) | フラッシュメモリ管理方法 | |
JP3620478B2 (ja) | 記憶装置、この記憶装置を用いたデータ処理システム及びデータ読み出し方法 | |
US7849279B2 (en) | Method for the secure updating data areas in non volatile memory, device to perform such a method | |
JP2000357216A (ja) | Icカード | |
US20070274302A1 (en) | Data Storage Device, Memory Managing Method, and Program | |
US20050068842A1 (en) | Electronic device, nonvolatile memory and method of overwriting data in nonvolatile memory | |
JPH11110142A (ja) | 記憶装置及びデータ処理方法 | |
JPH0784894A (ja) | 不揮発性メモリの書き込み方法 | |
JP3168572B2 (ja) | Cpu暴走検知機能付きicカード | |
JP3314719B2 (ja) | フラッシュeepromとその試験方法 | |
JPH10161942A (ja) | 情報記憶方法及び情報記憶装置及び情報処理装置 | |
JP4848126B2 (ja) | マイクロコンピュータ、マイクロコンピュータにおける不揮発性メモリのデータ保護方法 | |
JP2004152056A (ja) | Icカード | |
JPH0552794B2 (pl) | ||
JPH11282992A (ja) | Icカード | |
JPH052536A (ja) | Icカード |