GB2361783A - Non-volatile storage method - Google Patents
Non-volatile storage method Download PDFInfo
- Publication number
- GB2361783A GB2361783A GB0010285A GB0010285A GB2361783A GB 2361783 A GB2361783 A GB 2361783A GB 0010285 A GB0010285 A GB 0010285A GB 0010285 A GB0010285 A GB 0010285A GB 2361783 A GB2361783 A GB 2361783A
- Authority
- GB
- United Kingdom
- Prior art keywords
- data
- sector
- sectors
- ram
- reading
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 27
- 238000013500 data storage Methods 0.000 claims abstract description 7
- 238000010586 diagram Methods 0.000 description 6
- 241000394635 Acetomicrobium mobile Species 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Classifications
-
- 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
-
- 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/22—Safety or protection circuits preventing unauthorised or accidental access to memory cells
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
A non-volatile memory has first and second data storage sectors (A and B), one of which contains an updated version of the data stored in the other sector. The validity of the data in the first and second sectors is checked, and the sector having the more recent valid data is selected. The data is then read from the selected sector and that data is written into an associated RAM. The data stored in the RAM is updated, and data from the sector not selected is erased. Data is then read from the RAM, and that data is written into the non-selected sector.
Description
2361783 P500125GB Non-volatile Storage Method This invention relates to a
non-volatile storage method, and in particular to a method of updating data stored in a non-volatile memory such as a memory chip of a. mobile 5 telephone.
In many products, it is necessary to store data in a non-volatile memory. There are two main types of non-volatile memory devices, namely an electrically erasable programmable read only memory (EEPROM) and a flash ROM. The first of these consists of a series of small data units that can be written to independently, each unit being sized to store only one or two bytes. A flash ROM, on the other hand, consists of a set of sectors, each of which can be erased or written to independently, but each sector can contain several thousand bytes. The disadvantage of an EEPROM is that it is very limited in its storage capacity, and the disadvantage of a flash ROM is that it is generally not possible to re-programme data in a given sector without first erasing that sector. Because of its superior storage capability, a flash ROM is generally used in a mobile telephone and in a digital tx. set-top decoder.
A mobile telephone incorporates a product (a flash ROM) for storing calibration data such as transmit power requirements and other radio parameters, together with personal data, such as personal telephone numbers and ringing options. From time to time, it is necessary to update part of the data stored by such a memory chip, whilst preserving the rest of the data in its original form.
When a flash ROM is used in such a product, frequent updating is required. As mentioned above, however, it is necessary to erase an entire sector of a flash ROM before updated data can be saved to that sector. As it can take up to half a second to erase a sector of a flash ROM, problems can arise if there is a power interruption during the erase procedure. In particular, all the user data can be lost if such a power interruption occurs.
2 The present invention provides a method of updating data stored in a non- volatile memory having first and second data storage sectors, one of which contains an updated version of the data stored in the other sector, the method comprising the steps of.- a) checking the validity of the data in the first and second sectors; b) selecting the sector having the more recent valid data; c) reading the data from the selected sector and writing that data into an associated RAM; d) updating the data stored in the RAM e) erasing data from the sector not selected in step b); and f) reading data from the RAM and writing that data into said non-selected sector.
Preferably, steps a) to c) are carried out on power up of apparatus associated with the non-volatile memory, and steps d) to f) are carried out on power down of said apparatus.
In a preferred embodiment, the data stored in each of the sectors is constituted by user data, checksums and a sequence number; the step of checking the validity of the data in the sectors is carried out using the checksums, the sector selection step is carried out by reading the sequence numbers associated with the data in the first and second sectors, and by selecting the sector having the larger sequence number unless only one sector contains valid data, in which case that sector is selected; and the erasing step is carried out by reading the sequence numbers associated with the data in the first and second sectors, and selecting the sector having the smaller sequence number unless only one sector contains valid data, in which case the other sector is selected.
Preferably, the method further comprises an initial step of storing a valid version of the data in one of the sectors prior to the first power up of the apparatus associated with the non-volatile memory. Advantageously, the initial storage step is an initial programming step.
3 The invention further provides a computer readable storage medium having a computer programme recorded thereon, the programme carrying out a method of updating data stored in a non-volatile memory having first and second data storage sectors, one of which contains an updated version of the data stored in the other, the method comprising the steps of.
a) checking the validity of the data in the first and second sectors; b) selecting the sector having the more recent valid data; c) reading the data from the selected sector and writing that data into an associated RAM; d) updating the data stored in the RAM; e) erasing data from the sector not selected in step b); and f) reading data from the RAM and writing that data into said non-selected sector.
Preferably, a flash ROM constitutes said medium.
The invention will now be described in greater detail, by way of example, with reference to the drawings, in which:
Figure 1 is a schematic diagram showing the arrangement of sectors in a flash ROM; Figure 2 is a flow diagram showing two sectors of a flash ROM, and illustrating the sector validation and selection process on power up; Figure 3 is a flow diagram similar to that of Figure 2, but illustrating the updating process carried out on power down; and Figure 4 is a diagram showing the data organisation in the flash ROM and in an associated RAM device.
Referring to the drawings, Figure 1 is a schematic diagram showing a flash ROM having N + 1 sectors, labelled sector 0, sector 1 sector N. Each of the sectors can be configured to store up to 64 kilobytes of data. The flash ROM forms part of a mobile telephone handset (not shown), and the method of the invention utilises top two A and B of these sectors, both of which have a storage capacity of 64 kilobytes. The 4 remaining sectors of the flash ROM contain programme data including the programme for updating and controlling the data stored in the first and second sectors.
Prior to the mobile telephone being first used, default calibration data such as transmit power requirements, and default user options such as ringing options are programmed into the sector A of the flash ROM, at the same time as the programming data is input into the remaining sectors of the flash ROM. When the mobile telephone is turned off, all this data is written to the sector B of the flash ROM. Of course, this data may have been amended by the user while the telephone was powered up, in which case the data stored in the sector B would be an updated version of that stored in the sector A. For example, user data such as 'phone book information (that is to say telephone numbers input by the user of the mobile telephone) may have been added. Consequently, the flash ROM contains two versions of the calibration and user data, one of which is later than the other. Subsequently, therefore, in the event of data in a given sector being corrupted, or completely lost, there will be a previous version of this data available in the other sector.
The process of updating the calibration and user data in the two sectors A and B will now be described with reference to Figures 2 and 3. When the mobile telephone is turned on, the validity of the data in the two sectors A and B (see Figure 2) is checked using the associated checksums, in parallel steps I a and I b. The results of the validity checks are then output to a sector selection step 2 which selects that set of valid data from steps la and lb which has the higher sequence number, the sequence numbers having been ascertained directly from the sectors A and B in steps 3a and 3b.
Obviously, if there is only one valid set of data, that set is selected. Following the sector selection step, the output 5 is used to control a memory copy operation 4, to read data from the selected sector A or B (step 6a or 6b), and to write that data directly into the RAM of the mobile telephone (step 7).
During the use of the mobile telephone, the RAM copy of the data is updated as required. At the end of a session of use, when the mobile telephone is about to be powered down, the RAM data has to be written to the flash ROM. Referring to Figure 3, the first step in this process is to check the validity of the data in the first and second sectors A and B using the associated checksums, in parallel steps 11 a and 1 lb. The results of the validity checks are then output to a sector selection step 12 which selects that set of valid data from the steps 11 a and 11 b which has the lower sequence number, the sequence numbers having been ascertained directly from the sectors A and B in steps 13a and 13b. Obviously, if there is only one valid set of data, the other set is selected. The data in the chosen sector is then erased, and the output 15 is used to control a memory copy operation 14 to read data from the RAM (step 16) and to write that data to that sector (step 17a or 17b).
Figure 4 is a diagram illustrating the correspondence between data storage areas in the flash ROM and in the RAM of the mobile telephone. Thus, as shown at the left-hand side of Figure 4, the flash ROM has an array of file names and indexes stored in the sectors containing programme data. The indexes give the off-set of the start of each file within the sectors A and B used for non-volatile storage, and point to RAM copies of this data shown on the right-hand side of the figure. The programme data includes access functions provided to read a file from the flash ROM and to write it to the RAM copy, and to read data from the flash ROM sectors on power up and to write data to the flash ROM sectors on power down.
The method of the invention allows a flash ROM to be used for nonvolatile data storage in applications where it is important to preserve the integrity of the data stored. The use of a flash ROM in this way removes the need for a separate EEPROM for such applications. Moreover, as mentioned above, the technique protects against loss of all the non-volatile data if the power supply is interrupted during the sector erase phase or the re-programming phase.
It will be apparent that use of the invention is not limited to flash ROM for mobile telephones, and can be used in any application where it is necessary to store data in a non-volatile memory.
6
Claims (9)
1. A method of updating data stored in a non-volatile memory having first and second data storage sectors, one of which contains an updated version of the data stored in the other sector, the method comprising the steps of.-- a) checking the validity of the data in the first and second sectors; b) selecting the sector having the more recent valid data; c) reading the data from the selected sector and writing that data into an associated RAM; d) updating the data stored in the RAM e) erasing data from the sector not selected in step b); and f) reading data from the RAM and writing that data into said non-selected sector.
2. A method as claimed in claim 1, wherein steps a) to c) are carried out on power up of apparatus associated with the non-volatile memory, and steps d) to f) are carried out on power down of said apparatus.
3. A method as claimed in claim 1 or claim 2, wherein the data stored in each of the sectors is constituted by user data, checksums and a sequence number, and wherein the step of checking the validity of the data in the sectors is carried out using the checksums.
4. A method as claimed in claim 3, wherein the sector selection step is carried out by reading the sequence numbers associated with the data in the first and second sectors, and by selecting the sector having the larger sequence number unless only one sector contains valid data, in which case that sector is selected.
5. A method as claimed in claim 3 or claim 4, wherein the erasing step is carried out by reading the sequence numbers associated with the data in the first and second sectors, and selecting the sector having the smaller sequence number unless only one sector contains valid data, in which case the other sector is selected.
7
6. A method as claimed in any one of claims I to 5, further comprising an initial step of storing a valid version of the data in one of the sectors prior to the first power up of the apparatus associated with the non- volatile memory.
7. A method as claimed in claim 6, wherein the initial storage step is an initial programming step.
8. A computer readable storage medium having a computer programme recorded thereon, the programme carrying out a method of updating data stored in a non-volatile memory having first and second data storage sectors, one of which contains an updated version of the data stored in the other, the method comprising the steps of.a) checking the validity of the data in the first and second sectors; b) selecting the sector having the more recent valid data; I C) reading the data from the selected sector and writing that data into an 15 associated RAM; d) updating the data stored in the RAM; e) erasing data from the sector not selected in step b); and f) reading data from the RAM and writing that data into said non-selected sector.
9. A computer readable storage medium as claimed in claim 8, wherein a flash ROM constitutes said medium.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0010285A GB2361783B (en) | 2000-04-27 | 2000-04-27 | Non-volatile storage method |
AU52359/01A AU5235901A (en) | 2000-04-27 | 2001-04-25 | Non-volatile storage method |
PCT/GB2001/001846 WO2001082305A1 (en) | 2000-04-27 | 2001-04-25 | Non-volatile storage method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0010285A GB2361783B (en) | 2000-04-27 | 2000-04-27 | Non-volatile storage method |
Publications (3)
Publication Number | Publication Date |
---|---|
GB0010285D0 GB0010285D0 (en) | 2000-06-14 |
GB2361783A true GB2361783A (en) | 2001-10-31 |
GB2361783B GB2361783B (en) | 2004-11-10 |
Family
ID=9890625
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
GB0010285A Expired - Fee Related GB2361783B (en) | 2000-04-27 | 2000-04-27 | Non-volatile storage method |
Country Status (3)
Country | Link |
---|---|
AU (1) | AU5235901A (en) |
GB (1) | GB2361783B (en) |
WO (1) | WO2001082305A1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2374441A (en) * | 2000-11-22 | 2002-10-16 | Nec Corp | Flash memory backup method and system suitable for a portable telephone |
WO2005091302A1 (en) * | 2004-03-19 | 2005-09-29 | Matsushita Electric Industrial Co., Ltd. | Reprogramming a non-volatile solid state memory system |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100533683B1 (en) | 2004-02-03 | 2005-12-05 | 삼성전자주식회사 | Data managing device and method for flash memory |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4710888A (en) * | 1984-10-01 | 1987-12-01 | Ford Motor Company | Electronic odometer |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5745425A (en) * | 1996-08-29 | 1998-04-28 | Lucent Technologies Inc. | Reliable backup memory |
US5818755A (en) * | 1996-10-16 | 1998-10-06 | Fujitsu Limited | Storage apparatus having a nonvolatile storage device capable of retaining data after an incomplete write operation and method of accessing same |
JPH11184760A (en) * | 1997-12-24 | 1999-07-09 | Konica Corp | Picture forming device |
-
2000
- 2000-04-27 GB GB0010285A patent/GB2361783B/en not_active Expired - Fee Related
-
2001
- 2001-04-25 AU AU52359/01A patent/AU5235901A/en not_active Abandoned
- 2001-04-25 WO PCT/GB2001/001846 patent/WO2001082305A1/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4710888A (en) * | 1984-10-01 | 1987-12-01 | Ford Motor Company | Electronic odometer |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2374441A (en) * | 2000-11-22 | 2002-10-16 | Nec Corp | Flash memory backup method and system suitable for a portable telephone |
GB2374441B (en) * | 2000-11-22 | 2005-02-02 | Nec Corp | Information management method and system suitable for a portable telephone |
WO2005091302A1 (en) * | 2004-03-19 | 2005-09-29 | Matsushita Electric Industrial Co., Ltd. | Reprogramming a non-volatile solid state memory system |
Also Published As
Publication number | Publication date |
---|---|
AU5235901A (en) | 2001-11-07 |
GB2361783B (en) | 2004-11-10 |
GB0010285D0 (en) | 2000-06-14 |
WO2001082305A1 (en) | 2001-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW455911B (en) | Flash memory partitioning for read-while-write operation | |
US8364887B2 (en) | Managing memory data recovery upon power loss | |
US7774382B2 (en) | Method and apparatus for configuring a control device, and corresponding control device | |
EP1739683B1 (en) | Space management for managing high capacity nonvolatile memory | |
KR101002978B1 (en) | Method for flashmemory management | |
US7594087B2 (en) | System and method for writing data to and erasing data from non-volatile memory | |
KR100393619B1 (en) | Memory apparatus and therefor controling method for mobile station | |
JP5005171B2 (en) | Method and apparatus for splitting logical blocks | |
EP0712067B1 (en) | Flash disk card | |
KR100870392B1 (en) | Improved error correction scheme for use in flash memory allowing bit alterability | |
EP1729304A1 (en) | Space management for managing high capacity nonvolatile memory | |
US8060684B2 (en) | Memory control apparatus, memory control method and program | |
WO2003067605A1 (en) | Non-volatile storage device and control method thereof | |
US20090083475A1 (en) | Apparatus and method for updating firmware stored in a memory | |
US20050278480A1 (en) | Method of writing data into flash memory | |
US20070136510A1 (en) | Storage device, memory managing device, memory managing method, and program | |
KR20030036133A (en) | A method and apparatus for reducing ram size while maintaining fast data access | |
US6684288B1 (en) | Method and apparatus for predictive flash memory erase and write times | |
GB2361783A (en) | Non-volatile storage method | |
US20050010913A1 (en) | Computer code upgrading method and system | |
US20100088462A1 (en) | Methods for handling data updating of flash memory and related memory cards | |
US20060282626A1 (en) | Memory device and method of controlling operation of the memory device | |
JP3978720B2 (en) | Data storage method | |
KR100521155B1 (en) | Apparatus and method for writing data in flash memory | |
JP2000330850A (en) | Control of flash memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
732E | Amendments to the register in respect of changes of name or changes affecting rights (sect. 32/1977) | ||
PCNP | Patent ceased through non-payment of renewal fee |
Effective date: 20190427 |