WO2001082305A1 - Non-volatile storage method - Google Patents

Non-volatile storage method Download PDF

Info

Publication number
WO2001082305A1
WO2001082305A1 PCT/GB2001/001846 GB0101846W WO0182305A1 WO 2001082305 A1 WO2001082305 A1 WO 2001082305A1 GB 0101846 W GB0101846 W GB 0101846W WO 0182305 A1 WO0182305 A1 WO 0182305A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
sector
sectors
ram
reading
Prior art date
Application number
PCT/GB2001/001846
Other languages
French (fr)
Inventor
Ian Kenneth Appleton
Original Assignee
Ubinetics Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ubinetics Limited filed Critical Ubinetics Limited
Priority to AU52359/01A priority Critical patent/AU5235901A/en
Publication of WO2001082305A1 publication Critical patent/WO2001082305A1/en

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/22Safety or protection circuits preventing unauthorised or accidental access to memory cells

Definitions

  • 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 telephone.
  • non-volatile memory device There are two main types of non-volatile memory device, namely an electrically erasable programmable read only memory (EEPROM) and a flash ROM.
  • EEPROM electrically erasable programmable read only memory
  • flash ROM 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 t.v. set-top decoder.
  • a mobile telephone incorporates a memory chip (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.
  • a memory chip a flash ROM
  • 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.
  • 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.
  • 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.
  • 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.
  • the initial storage step is an initial programming step.
  • 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.
  • a flash ROM constitutes said medium.
  • 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;
  • Figure 4 is a diagram showing the data organisation in the flash ROM and in an associated RAM device.
  • Figure 1 is a schematic diagram showing a flash ROM having N -1- 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 the top two A and B of these sectors, both of which have a storage capacity of 64 kilobytes.
  • the 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.
  • 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.
  • all this data is written to the sector B of the flash ROM.
  • 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.
  • 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 RAM copy of the data is updated as required.
  • 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 11a and l ib.
  • 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 11a and 1 lb which has the lower sequence number, the sequence numbers having been ascertained directly from the sectors A and B in steps 13a and 13b.
  • 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.
  • 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 non-volatile 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.
  • 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.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

The invention relates to a method of updating data stored in a non-volatile memory having first and second data storage sectors (A and B), one of which contains an updated version of the data stored in the other sector. In the method, 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 stored data in the RAM is then 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

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 telephone.
In many products, it is necessary to store data in a non- volatile memory. There are two main types of non-volatile memory device, 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 t.v. set-top decoder.
A mobile telephone incorporates a memory chip (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. 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.
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- 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 the top two A and B of these sectors, both of which have a storage capacity of 64 kilobytes. The 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 la and lb. 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 11a and l ib. 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 11a and 1 lb 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 non-volatile 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.

Claims

Claims
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.
6. A method as claimed in any one of claims 1 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; 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.
9. A computer readable storage medium as claimed in claim 8, wherein a flash
ROM constitutes said medium.
PCT/GB2001/001846 2000-04-27 2001-04-25 Non-volatile storage method WO2001082305A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU52359/01A AU5235901A (en) 2000-04-27 2001-04-25 Non-volatile storage method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0010285A GB2361783B (en) 2000-04-27 2000-04-27 Non-volatile storage method
GB0010285.5 2000-04-27

Publications (1)

Publication Number Publication Date
WO2001082305A1 true WO2001082305A1 (en) 2001-11-01

Family

ID=9890625

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/GB2001/001846 WO2001082305A1 (en) 2000-04-27 2001-04-25 Non-volatile storage method

Country Status (3)

Country Link
AU (1) AU5235901A (en)
GB (1) GB2361783B (en)
WO (1) WO2001082305A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1562121A2 (en) 2004-02-03 2005-08-10 Samsung Electronics Co., Ltd. Data management apparatus and method used for flash memory

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3709338B2 (en) * 2000-11-22 2005-10-26 日本電気株式会社 Mobile phone user setting information management method and user setting information management system
GB2412194A (en) * 2004-03-19 2005-09-21 Matsushita Electric Ind Co Ltd Reprogramming a non-volatile memory system

Citations (3)

* Cited by examiner, † Cited by third party
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

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4710888A (en) * 1984-10-01 1987-12-01 Ford Motor Company Electronic odometer

Patent Citations (3)

* Cited by examiner, † Cited by third party
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

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
PATENT ABSTRACTS OF JAPAN vol. 1999, no. 12 29 October 1999 (1999-10-29) *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1562121A2 (en) 2004-02-03 2005-08-10 Samsung Electronics Co., Ltd. Data management apparatus and method used for flash memory
EP1562121A3 (en) * 2004-02-03 2007-12-05 Samsung Electronics Co., Ltd. Data management apparatus and method used for flash memory

Also Published As

Publication number Publication date
GB0010285D0 (en) 2000-06-14
GB2361783B (en) 2004-11-10
AU5235901A (en) 2001-11-07
GB2361783A (en) 2001-10-31

Similar Documents

Publication Publication Date Title
US7774382B2 (en) Method and apparatus for configuring a control device, and corresponding control device
TW455911B (en) Flash memory partitioning for read-while-write operation
US7676627B2 (en) Single segment data object management
JP4122972B2 (en) Data recording apparatus and data writing method for flash memory
JP4832521B2 (en) Data management method in flash memory media
US7594087B2 (en) System and method for writing data to and erasing data from non-volatile memory
CN101124639B (en) System and method of accessing non-volatile computer memory
US8060684B2 (en) Memory control apparatus, memory control method and program
KR100970064B1 (en) Differential update method, recording medium and apparatus
WO2005059966A2 (en) Rotational use of memory to minimize write cycles
US7633799B2 (en) Method combining lower-endurance/performance and higher-endurance/performance information storage to support data processing
WO2003067605A1 (en) Non-volatile storage device and control method thereof
US20050278480A1 (en) Method of writing data into flash memory
US20070136510A1 (en) Storage device, memory managing device, memory managing method, and program
US20080244203A1 (en) Apparatus combining lower-endurance/performance and higher-endurance/performance information storage to support data processing
US7046574B2 (en) Memory system
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
US20050010913A1 (en) Computer code upgrading method and system
WO2001082305A1 (en) Non-volatile storage method
US6904492B2 (en) Write-once memory device including non-volatile memory for temporary storage
US20060282626A1 (en) Memory device and method of controlling operation of the memory device
JP3978720B2 (en) Data storage method
KR100695241B1 (en) Method for Saving Storage Space of Random Access Memory Used in Mobile Phone and Mobile Phone Therewith
KR100521155B1 (en) Apparatus and method for writing data in flash memory

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP