Method of writing information in a non-volatile memory
AssigneeGemplus Card International
InventorEdouard Gordons
Life of this patent
Estimating the term…
Abstract
Non-volatile memory cards in which the writing mechanisms are controlled by a microprocessor. To improve the coherence of the data elements recorded in the non-volatile memory files, the invention proposes to provide for a possibility of grouped control of several write operations (addition, updating or elimination of recordings). The successive operations are performed by the recording, in a non-volatile transaction space (TS), of the data elements corresponding to the state of the memory before each operation (especially former chainings (A7/16) of chained recordings). Then, a command for the comprehensive validation of the N operations, or on the contrary a command for comprehensive invalidation, is carried out, a validation or invalidation of individual operations being not permitted.
Claims17
A method of performing memory operations in a non-volatile memory of a non-volatile memory card, the method comprising:
- (A) executing a grouping instruction, the grouping instruction grouping together a number N of successive memory operations for comprehensive validation, the number N being a finite number greater than one, the number N being a parameter of the grouping instruction such that the number of successive memory operations which are grouped together is variable and is determined when the grouping instruction is executed, the grouping instruction allocating a transaction space in the non-volatile memory, the transaction space being allocated for the storage of temporary back-up data elements corresponding to the N successive memory operations;
- then
- (B) (1) performing the N successive memory operations in the non-volatile memory, and
- (2) storing the temporary back-up data elements corresponding to each memory operation in the transaction space of the non-volatile memory, the steps (B)(1) and (B)(2) occurring substantially simultaneously;
- then
- (C) determining whether the N successive memory operations are to be validated, and
- if the N successive memory operations are to be validated, then executing a validation instruction, the validation instruction comprehensively validating the N successive memory operations, and
- if the N successive memory operations are not to be validated, then executing an invalidation instruction, the invalidation instruction comprehensively invalidating the N successive memory operations, the invalidation instruction using the temporary back-up data elements stored in the transaction space to reconstitute the state of the non-volatile memory prior to the N successive memory operations.
A microprocessor-based non-volatile memory card comprising:
- (A) a non-volatile memory;
- (B) means for receiving and executing a grouping instruction, the grouping instruction grouping together a number N of successive memory operations for comprehensive validation, the number N being a finite number greater than one, the number N being a parameter of the grouping instruction such that the number of successive memory operations which are grouped together is variable and is determined when the grouping instruction is executed, the grouping instruction allocating a transaction space in the non-volatile memory, the transaction space being allocated for the storage of temporary back-up data elements corresponding to the N successive memory operations;
- (C) (1) means for performing the N successive operations in the non-volatile memory after the grouping instruction is executed, and
- (2) means for storing the temporary back-up data elements corresponding to each operation in the transaction space of the non-volatile memory, the temporary back-up data elements being stored as the N successive memory operations are performed;
- (D) (1) means for comprehensively validating the N successive memory operations, the validation means releasing memory spaces previously occupied by recordings erased or updated during the N successive memory operations, and
- (2) means for comprehensively invalidating the N successive memory operations, the invalidation means using the temporary back-up data elements to reconstitute the state of the memory prior to the N successive operations, and
- the validation and invalidation means being activated when the grouping instruction is received, prior to the performance of the N successive memory operations.
A method of performing memory operations in a non-volatile memory of a non-volatile memory card, recordings of the non-volatile memory being recorded in a sequence of chained files, each chained file comprising a data element and a chaining element, the chaining element being an address of a next chained file, the sequence of chained files thereby being linked by a sequence of chaining elements, the method comprising:
- (A) executing a grouping instruction, the grouping instruction grouping together a number N of successive memory operations for comprehensive validation, the number N being a finite number greater than one, the grouping instruction allocating a transaction space in the non-volatile memory, the transaction space being allocated for the storage of temporary back-up data elements corresponding to the N successive memory operations, the number N being a parameter of the grouping instruction such that the number of successive memory operations which are grouped together is variable and is determined when the grouping instruction is executed;
- then
- (B) (1) performing the N successive memory operations in the non-volatile memory, including the steps of modifying the sequence of chained files from a former sequence of chained files to a new sequence of chained files, and modifying the sequence of chaining elements to replace a plurality of former chaining elements with a plurality of new chaining elements, and
- (2) storing the temporary back-up data elements corresponding to each memory operation in the transaction space of the non-volatile memory, the temporary back-up data elements including the plurality of former chaining elements, the steps (B)(1) and (B)(2) occurring substantially simultaneously;
- then
- (C) determining whether the N successive memory operations are to be validated, and
- if the N successive memory operations are to be validated, then executing a validation instruction, the validation instruction comprehensively validating the N successive memory operations, the validation instruction releasing memory spaces used by the former sequence of chained files but not used by the new sequence of chained files, and
- if the N successive memory operations are not to be validated, then executing an invalidation instruction, the invalidation instruction comprehensively invalidating the N successive memory operations, the invalidation instruction using the temporary back-up data elements stored in the transaction space to reconstitute the state of the non-volatile memory prior to the N successive memory operations.
Dependencies are inferred from the claim text.