JP2001147864A - Data management device for flash memory - Google Patents

Data management device for flash memory

Info

Publication number
JP2001147864A
JP2001147864A JP32998699A JP32998699A JP2001147864A JP 2001147864 A JP2001147864 A JP 2001147864A JP 32998699 A JP32998699 A JP 32998699A JP 32998699 A JP32998699 A JP 32998699A JP 2001147864 A JP2001147864 A JP 2001147864A
Authority
JP
Grant status
Application
Patent type
Prior art keywords
data
packet
state
area
block
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
Application number
JP32998699A
Other languages
Japanese (ja)
Other versions
JP3858538B2 (en )
JP2001147864A5 (en )
Inventor
Tsunemori Asahi
常盛 旭
Original Assignee
Seiko Epson Corp
セイコーエプソン株式会社
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

Links

Abstract

PROBLEM TO BE SOLVED: To provide the data managing device of a flash memory suitable for preventing the deterioration of the life of a flash memory, and for quickly realizing the rewriting of data, and for realizing the update of the data with high reliability. SOLUTION: At the time of updating packet data, a new packet for storing data to be updated is generated in a packet part 72, and at the time of starting data writing, the state information of the packet is set in a third state, and the state information of a new packet is set in a first state, and the data to be updated are written in a new packet data part 82, and at the time of completing the data writing, the state information of the new packet is set in a second state, and the state information of the packet is set in a fourth state. Then, the packet whose state information is the second state or the third state is decided as a valid packet, and the packet whose state information is the first state or the fourth state is decided as an invalid packet.

Description

【発明の詳細な説明】 DETAILED DESCRIPTION OF THE INVENTION

【0001】 [0001]

【発明の属する技術分野】本発明は、フラッシュメモリの記憶領域にパケット単位でデータを記憶する装置に係り、特に、フラッシュメモリのデータ初期化単位からなる記憶領域に可変長のパケット単位でデータを記憶する装置に関する。 BACKGROUND OF THE INVENTION The present invention relates to a device for storing data in units of packets in the storage area of ​​the flash memory, in particular, the data in variable-length packet unit in a storage area consisting of data initialization unit of the flash memory relating to the storage devices. さらに詳しくは、フラッシュメモリの初期化回数を少なくして、フラッシュメモリの寿命の低下を防止するとともにデータの書換を高速に行い、しかもデータの更新を高い信頼性をもって行うのに好適なフラッシュメモリのデータ管理装置に関する。 More specifically, by reducing the initialization count of the flash memory, the flash memory performs data rewriting at a high speed while preventing the reduction in service life, yet suitable flash memory to perform with high reliability data updates It relates to a data management device.

【0002】 [0002]

【従来の技術】従来、フラッシュメモリの記憶領域にパケット単位でデータを記憶する装置としては、例えば、 Conventionally, as an apparatus for storing data in units of packets in the storage area of ​​the flash memory, for example,
特開平5-233426号公報に開示されたフラッシュメモリの使用方法がある。 A method using a flash memory disclosed in JP-A-5-233426. これは、フラッシュメモリを複数のセクタで区切り、各セクタに論理アドレス部分と、消去管理表示部分と、データ部分とを設け、論理アドレスによりセクタを検索する。 This is a logical address portion delimited in each sector of the flash memory in a plurality of sectors, provided the erase management display portion and a data portion, searches the sector by logical address. そして更新するとき、セクタの消去管理表示部分の消去可能フラグをオンにし、空きセクタにその論理アドレスを付加し、更新データを書き込む。 And when updating, and turns on the erase flag in the erase management display portion of the sector, it adds the logical address to the free sectors, writes the updated data.

【0003】これにより、フラッシュメモリ上でのデータの消去は、消去対象となるデータが格納されているセクタの消去管理部にデータが無効であることを示す無効フラグを設定することにより行われるので、フラッシュメモリの初期化回数が少なくなり、フラッシュメモリの寿命の低下を防止するとともにデータの書換が高速に行える。 [0003] Thus, erasing of data on the flash memory, since carried out by setting the invalid flag indicating that the data is invalid erase managing unit of the sector in which the data to be erased is stored initialization count of the flash memory is reduced, rewriting of data is prevented a reduction in the service life of the flash memory can be performed at high speed.

【0004】 [0004]

【発明が解決しようとする課題】しかしながら、上記従来のフラッシュメモリの使用方法にあっては、セクタのデータを更新する場合は、更新すべきデータを新たなセクタに書き込み、更新前のセクタの消去管理部に無効フラグを設定するため、例えば、停電やシステムのハングアップまたはリセットスイッチの誤投入といった事態がデータの更新中に生じた場合は、更新前のセクタと新たなセクタの消去管理部にデータが有効であることを示す有効フラグがともに設定されたまま、データの更新が中断されてしまい、どちらが正しいデータであるかを識別することが困難であるという問題があった。 [SUMMARY OF THE INVENTION However, in the method using the conventional flash memory, when updating the data of the sector, the data to be updated write to a new sector, updating erase the previous sector to set an invalid flag in the management unit, for example, if the situation erroneous insertion of hang or reset switch a power failure or a system occurs during updating of the data, the deletion management section updating the previous sector and the new sector remains valid flag indicating that the data is valid is set together, updating of data will be interrupted, which has a problem that it is difficult to identify whether the correct data.

【0005】こうした問題に対処するためには、更新前のセクタが属するブロックを一旦初期化し、その上で、 [0005] In order to address these issues, a block before update of the sector belongs Once initialized, on it,
更新すべきデータを新たなセクタに書き込むということをしなければならず、結局、フラッシュメモリの初期化回数を少なくすることができない。 Must be that writes the data to be updated in a new sector, after all, it is not possible to reduce the initialization number of times of flash memory. なお、この場合は、 It should be noted that, in this case,
初期化したブロックのうち更新前のセクタ以外のものを、元の状態に書き換え直す必要がある。 Something other than the sector before the update of the initialization block, it is necessary to re rewritten to the original state.

【0006】そこで、本発明は、このような従来の技術の有する未解決の課題に着目してなされたものであって、フラッシュメモリの初期化回数を少なくして、フラッシュメモリの寿命の低下を防止するとともにデータの書換を高速に行い、しかもデータの更新を高い信頼性をもって行うのに好適なフラッシュメモリのデータ管理装置を提供することを目的としている。 [0006] The present invention, which was made in view of the unsolved problems of the conventional art, by reducing the initialization count of the flash memory, a reduction in the service life of the flash memory aims at is prevented perform rewriting of data at high speed, yet provides a data management apparatus according to a preferred flash memory to perform with high reliability data updates.

【0007】 [0007]

【課題を解決するための手段】上記目的を達成するために、本発明に係る請求項1記載のフラッシュメモリのデータ管理装置は、フラッシュメモリの記憶領域にパケット単位でデータを記憶する装置であって、前記パケットは、当該パケットの管理に関する管理データを格納するための管理部と、記憶すべきデータを格納するためのデータ部とからなり、前記管理部には、前記管理データとして、前記パケットの異なる2つの状態を示す状態情報が格納可能となっており、データを記憶するときは、記憶すべきデータを格納するためのパケットを前記記憶領域に生成し、データ書込開始時に前記パケットの状態情報をデータの新規書込中であることを示す第1の状態に設定し、前記パケットのデータ部に前記記憶すべきデータを書き込み、デ To achieve the above object, according to the Invention The data management system of the flash memory according to claim 1 according to the present invention, there in device for storing data in units of packets in the storage area of ​​the flash memory Te, wherein the packet includes a management unit for storing management data related to the management of the packet consists of a data portion for storing the data to be stored, in the management unit, as said management data, said packet the status information indicating two different states has become a retractable, when storing the data, a packet for storing the data to be stored to generate in the storage area, of the packet to the data write start It sets the state information to a first state indicating that it is new data writing, write data to be the storage in the data portion of the packet, de タ書込完了時に前記パケットの状態情報をデータの新規書込が完了したことを示す第2の状態に設定し、前記状態情報が前記第2の状態であるパケットを有効なパケットであると判定し、前記状態情報が前記第1の状態であるパケットを無効なパケットであると判定するようになっている。 Sets the state information of the packet when data writing completion to a second state indicating that the new writing is complete data, determines that the state information is a valid packet a packet is said second state and, wherein the state information is adapted to determine the packet is the first state and an invalid packet.

【0008】このような構成であれば、データを記憶するときは、まず、記憶すべきデータを格納するためのパケットが記憶領域に生成され、データ書込開始時には、 [0008] With such a configuration, when storing data, first, a packet for storing the data to be stored is generated in the storage area, the data writing start,
パケットの状態情報が第1の状態に設定される。 Status information of the packet is set to the first state. そして、パケットのデータ部に記憶すべきデータが書き込まれ、データ書込完了時には、パケットの状態情報が第2 Then, data to be stored in the data portion of the packet is written, the data writing completion, status information of the packet is the second
の状態に設定される。 It is set in the state.

【0009】例えば、何らかの原因によりデータの書込が中断された場合は、状態情報が第2の状態であるパケットが有効なパケットであると判定され、状態情報が第1の状態であるパケットが無効なパケットであると判定される。 [0009] For example, when the writing of data is interrupted for some reason, the state information is determined that the packet is the second state is a valid packet, the packet status information is the first state it is determined to be invalid packets.

【0010】したがって、データの書込が完了するまでは、有効なパケットとして識別されない。 Accordingly, until the writing of data is completed is not identified as a valid packet. 例えば、データを更新する場合は、更新すべきデータが新たなパケットに書き込まれるが、新たなパケットはデータの書込が完了するまでは、有効なパケットして識別されないので、データの書込が完了するまでの間に何らかの原因によりデータの書込が中断されても、更新前のパケットの方が正しいデータであると識別される。 For example, when updating the data, the data to be updated is written to the new packet, the new packet until the writing of data is completed, because it is not identified by a valid packet, the writing of data be interrupted write data for some reason until completion, identified as earlier packet update is the correct data.

【0011】ここで、パケットは、どのようなデータ長であってもよく、固定長であってもよいし、可変長であってもよい。 [0011] Here, the packet may be any data length may be a fixed length or may be of variable length.

【0012】さらに、本発明に係る請求項2記載のフラッシュメモリのデータ管理装置は、請求項1記載のフラッシュメモリのデータ管理装置において、前記状態情報は、前記パケットのさらに異なる2つの状態を示すようになっており、前記パケットのデータを更新するときは、更新すべきデータを格納するための新たなパケットを前記記憶領域に生成し、データ書込開始時に前記パケットの状態情報をデータの更新中であることを示す第3 Furthermore, the data management device of a flash memory according to claim 2, wherein according to the present invention is the data management device for a flash memory according to claim 1, wherein the status information indicates a still two different states of the packet has become so, when updating the data of the packet is a new packet for storing the data to be updated and generates in the storage area, the status information of the packet to the data writing start of data update third indicating that it is
の状態にかつ前記新たなパケットの状態情報を前記第1 The state and status information of the new packet of the first
の状態に設定し、前記新たなパケットのデータ部に前記更新すべきデータを書き込み、データ書込完了時に前記新たなパケットの状態情報を前記第2の状態にかつ前記パケットの状態情報をデータの更新が完了したことを示す第4の状態に設定し、前記状態情報が前記第2の状態または前記第3の状態であるパケットを有効なパケットであると判定し、前記状態情報が前記第1の状態または前記第4の状態であるパケットを無効なパケットであると判定するようになっている。 The set state, the write data the to be updated in the data portion of the new packet, the new packet to the data write completion status information the second state and the packet status information of data set to the fourth state indicating that the update is completed, the state information determines packet is the second state or the third state as a valid packet, the status information is the first the status or packet said a fourth state is adapted to determine that the invalid packet.

【0013】このような構成であれば、パケットのデータを更新するときは、まず、更新すべきデータを格納するための新たなパケットが記憶領域に生成され、データ書込開始時には、更新前のパケットの状態情報が第3の状態にかつ新たなパケットの状態情報が第1の状態に設定される。 [0013] With such a configuration, when updating the data of the packet is first new packet for storing the data to be updated is generated in the storage area, the data writing start, before updating state information of the packet status information of the third state and a new packet is set to the first state. そして、新たなパケットのデータ部に更新すべきデータが書き込まれ、データ書込完了時には、新たなパケットの状態情報が第2の状態にかつ更新前のパケットの状態情報が第4の状態に設定される。 Then, data to be updated in the data portion of the new packet has been written, the data writing completion, status information of the state information of the new packet and before update packet to a second state set in the fourth state It is.

【0014】例えば、何らかの原因によりデータの更新が中断された場合は、状態情報が第2の状態または第3 [0014] For example, when the update of the data is interrupted for some reason, the state information is a second state or the third
の状態であるパケットが有効なパケットであると判定され、状態情報が第1の状態または第4の状態であるパケットが無効なパケットであると判定される。 Packet is a state is determined to be a valid packet, the packet status information is the first state or the fourth state is determined to be an invalid packet.

【0015】したがって、データの更新が完了するまでは、新たなパケットは、有効なパケットとして識別されない。 [0015] Therefore, until the update of the data is completed, a new packet is not identified as a valid packet.

【0016】ここで、新たなパケットの状態情報を第2 [0016] Here, the state information of a new packet the second
の状態にかつ更新前のパケットの状態情報を第4の状態に設定する順番は、どちらが先であってもよいが、新たなパケットの状態情報を第2の状態に設定してから、更新前のパケットの状態情報を第4の状態に設定する順番の方が好ましい。 The order to set the state information of the state and the pre-update packets in the fourth state, which is may be a first, after setting the status information of the new packet in the second state, the pre-update it is preferable in order to set the state information of the packet to the fourth state. これは、新たなパケットの状態情報を変更した後、更新前のパケットの状態情報を変更する前に、何らかの原因によりデータの更新が中断された場合でも、更新前のパケットが有効なパケットであると判定されるからである。 This is to change the status information of the new packet, before changing the status information of the pre-update packets, even if the updating of the data is interrupted for some reason, the packet before the update is a valid packet This is because it is determined that.

【0017】また、パケットの状態情報をデータの更新中であることを示す第3の状態にかつ新たなパケットの状態情報を第1の状態に設定する順番は、どちらが先であってもよい。 Further, the order to set the state information of the third state and a new packet indicating that it is updating the data state information of the packet to the first state, may be arranged in a different order.

【0018】さらに、本発明に係る請求項3記載のフラッシュメモリのデータ管理装置は、請求項1および2のいずれかに記載のフラッシュメモリのデータ管理装置において、前記パケットは、可変長であり、前記管理部には、前記管理データとして、当該パケットのデータ長を示すデータ長情報が格納可能となっており、前記データ長情報に基づいて、前記パケットの格納位置を特定するようになっている。 Furthermore, the data management device of a flash memory according to claim 3, wherein according to the present invention is the data management device for a flash memory according to any one of claims 1 and 2, the packet is variable length, the management unit, as said management data, data length information indicating the data length of the packet has a retractable, based on said data length information, so as to identify the storage location of the packet .

【0019】このような構成であれば、記憶領域には、 [0019] According to such a configuration, in the storage area,
可変長のパケットが記憶され、パケットの格納位置は、 Variable-length packet is stored, the storage position of the packet,
データ長情報に基づいて特定される。 It is specified based on the data length information.

【0020】さらに、本発明に係る請求項4記載のフラッシュメモリのデータ管理装置は、請求項1ないし3のいずれかに記載のフラッシュメモリのデータ管理装置により前記記憶領域にパケット単位でデータを記憶し、前記記憶領域とは異なる別の記憶領域を用いて当該記憶領域を更新する装置であって、前記記憶領域は、当該記憶領域の管理に関する領域管理データを格納するための領域管理部と、パケットを格納するためのパケット部とからなり、前記領域管理部には、前記領域管理データとして、前記記憶領域の異なる4つの状態を示す領域状態情報が格納可能となっており、前記記憶領域を更新するときは、データ書込開始時に前記記憶領域の領域状態情報をデータの更新中であることを示す第3の状態にかつ前記別の記憶領域の Furthermore, the data management device of a flash memory according to claim 4, wherein according to the present invention, stores data on a packet basis in the storage area by the data management device of a flash memory according to any one of claims 1 to 3 and an apparatus for updating the storage area using different separate storage area from said storage area, said storage area, and the area management unit for storing the area management data on the management of the storage area, consists of a packet unit for storing the packets, the area management unit, as said area management data, area status information indicating four different states of said storage area has become capable of storing, the storage area when updating the data writing start to the storage area area state information a third indicating that an updating of the data state and of the further storage area 域状態情報をデータの新規書込中であることを示す第1の状態に設定し、前記記憶領域の有効なパケットのデータを前記別の記憶領域のパケット部に書き込み、データ書込完了時に前記別の記憶領域の領域状態情報をデータの新規書込が完了したことを示す第2の状態にかつ前記記憶領域の領域状態情報をデータの更新が完了したことを示す第4の状態に設定し、前記領域状態情報が前記第2の状態または前記第3の状態である記憶領域を有効な記憶領域であると判定し、前記領域状態情報が前記第1の状態または前記第4の状態である記憶領域を無効な記憶領域であると判定するようになっている。 Set to a first state indicating that the frequency status information is being new data writing, the write data valid packets of the storage area to the packet portion of the another storage area, the at the time of data writing completion set to the fourth state indicating that another second state and updates the area state information of the data of the storage area of ​​the area state information indicating that the new writing of data is completed in the storage area has been completed the area state information and the second state or the third storage area is a state determined to be a valid memory area, the area state information is in said first state or said fourth state the storage area is adapted to determine that the invalid memory area.

【0021】このような構成であれば、記憶領域にデータを書き込む領域がなくなった等の理由により、記憶領域を更新するときは、データ書込開始時には、更新前の記憶領域の領域状態情報が第3の状態にかつ更新先となる別の記憶領域の領域状態情報が第1の状態に設定される。 [0021] With such a structure, because, for example the area for writing data in the storage area runs out, when updating the storage area, the data writing start, area state information of the storage area before update area state information of another storage area to be and update destination in the third state is set to the first state. そして、更新前の記憶領域の有効なパケットのデータが別の記憶領域のパケット部に書き込まれ、データ書込完了時には、別の記憶領域の領域状態情報が第2の状態にかつ更新前の記憶領域の領域状態情報が第4の状態に設定される。 Then, data of valid packets before updating the storage area is written in the packet portion of the another storage area, the data writing completion, area state information for a different storage area a second state and updates before storage area state information area is set to the fourth state.

【0022】例えば、何らかの原因により記憶領域の更新が中断された場合は、状態情報が第2の状態または第3の状態である記憶領域が有効な記憶領域であると判定され、状態情報が第1の状態または第4の状態である記憶領域が無効なパケットであると判定される。 [0022] For example, when the update of the storage area is interrupted for some reason, the state information is determined to the second state or the storage area is a third state is a valid storage area, status information is first 1 condition or the storage area is a fourth state is determined to be an invalid packet.

【0023】したがって、記憶領域の更新が完了するまでは、更新先となる別の記憶領域は、有効な記憶領域として識別されない。 [0023] Therefore, until the update of the storage area is completed, another storage area to be updated destination is not identified as a valid storage area.

【0024】ここで、フラッシュメモリが複数の記憶領域からなる場合は、更新先となる別の記憶領域は、それら記憶領域のうち記憶領域の更新を同時に行う数だけあればよい。 [0024] Here, when the flash memory comprises a plurality of storage areas, another storage area to be updated destination, it is sufficient for the number of updating the storage areas at the same time out of their storage area. 記憶領域の更新を同時に行う数は、システムの設計内容によるが、一般的には、記憶領域の更新を同時に複数行わないので、更新先となる別の記憶領域は、 The number of updating the storage areas at the same time, depending on the design contents of the system, in general, is not performed more update storage area at the same time, another storage area to be updated destination,
フラッシュメモリの記憶領域のうち一つあれば足りる。 Sufficient if one of the storage area of ​​the flash memory.

【0025】また、記憶領域を更新するときは、記憶領域の有効なパケットのデータを別の記憶領域のパケット部に書き込むようになっているが、別の記憶領域を有効に利用する観点からは、記憶領域の有効なパケットのデータを、その配置位置が整順されるように、別の記憶領域のパケット部に書き込むようになっているのが好ましい。 Further, when updating the storage area is adapted to write the data of the valid packet storage area in the packet unit of another storage area, from the viewpoint of effective use of separate storage areas , the data of the valid packet storage area, the position is as Seijun, has become to write to the packet portion of the another storage area is preferred.

【0026】ここで、別の記憶領域の領域状態情報を第2の状態にかつ記憶領域の領域状態情報を第4の状態に設定する順番は、どちらが先であってもよい。 [0026] Here, the area state information of another storage area sequence for setting area state information and storage area to the second state to a fourth state, may be arranged in a different order. また、記憶領域の領域状態情報を第3の状態にかつ別の記憶領域の領域状態情報を第1の状態に設定する順番は、どちらが先であってもよい。 The order of setting the area state information of the storage area of ​​the area state information and another storage area in the first state to the third state, may be arranged in a different order.

【0027】さらに、本発明に係る請求項5記載のフラッシュメモリのデータ管理装置は、請求項4記載のフラッシュメモリのデータ管理装置において、前記領域状態情報が前記第1の状態または前記第4の状態である記憶領域を前記別の記憶領域として用いるようになっている。 Furthermore, the data management device of a flash memory according to claim 5, wherein according to the present invention is the data management device for a flash memory according to claim 4, wherein the area state information is the first state or the fourth the storage area is in a state which is used as the said further memory area.

【0028】このような構成であれば、記憶領域の更新が少なくとも1回行われた後は、領域状態情報が第1の状態または第4の状態である記憶領域が別の記憶領域として用いられる。 [0028] With such a configuration, after the updating of the memory area has been performed at least once, the storage area area state information is in the first state or the fourth state is used as a separate storage area .

【0029】さらに、本発明に係る請求項6記載のフラッシュメモリのデータ管理装置は、請求項4および5のいずれかに記載のフラッシュメモリのデータ管理装置において、前記記憶領域の領域状態情報および前記別の記憶領域の領域状態情報の状態に応じて前記記憶領域または前記別の記憶領域に対する処理を割り当てた処理定義テーブルを参照して、前記記憶領域または前記別の記憶領域に対する処理を実行するようになっている。 Furthermore, the data management device of a flash memory according to claim 6, wherein according to the present invention is the data management device for a flash memory according to any one of claims 4 and 5, area state information of the storage area and the Referring to process definition table assigning the processing to the storage area or the separate storage area in response to another state of the area state information of the storage area, to execute the processing for the storage area or the another storage area It has become.

【0030】このような構成であれば、処理定義テーブルを参照して、更新前の記憶領域または更新先となる別の記憶領域に対する処理が実行される。 [0030] With such a configuration, by referring to the process definition table, processing for another storage area to be updated before the storage area or update destination is executed.

【0031】ここで、処理定義テーブルの内容は、具体的に次のようになる。 [0031] Here, contents of the process definition table will concretely as follows. 更新前の記憶領域の領域状態情報が第4の状態でありかつ更新先となる別の記憶領域の領域状態情報が第1の状態であるときは、更新前の記憶領域の有効なパケットのデータを別の記憶領域のパケット部に書き込む。 When area state information of another storage region area state information of the storage area before update is the fourth is a state and update destination is in the first state, the data in the valid packet storage area before update the write to the packet portion of the another storage area. 更新前の記憶領域の領域状態情報が第4 Area state information of the storage area before update is the fourth
の状態でありかつ別の記憶領域の領域状態情報が第2の状態であるときは、更新前の記憶領域を初期化する。 Condition a is and area state information of another storage area of ​​the case in a second state, it initializes the storage area before update. なお、更新前の記憶領域の領域状態情報と別の記憶領域の領域状態情報とが逆の場合は、記憶領域または別の記憶領域に対する処理も逆になる。 In the case area state information of the storage area before update and the area state information for a different storage area is reversed, the process also reversed with respect to the storage area or in another storage area.

【0032】また、領域状態情報は、記憶領域の異なる4つの状態を示すようになっているが、記憶領域のさらに異なる2つの状態、すなわち、記憶領域が初期化されていないことを示す第5の状態、および記憶領域が初期化されていることを示す第6の状態を示すようにしておけば、処理定義テーブルの内容は、具体的に次のようになる。 Further, area state information is adapted to indicate four different states of the storage area, further two different states of the storage area, i.e., fifth storage area indicating that the uninitialized state, and if the storage area it is devised a sixth state of which indicates that it is initialized, the contents of the process definition table will concretely follows as.

【0033】更新前の記憶領域の領域状態情報が第3の状態でありかつ更新先となる別の記憶領域の領域状態情報が第1の状態であるときは、別の記憶領域を初期化する。 The area state information of the storage area before update when area state information of another storage area as a third is a state and update destination is the first state, initialize another storage area . 更新前の記憶領域の領域状態情報が第4の状態でありかつ別の記憶領域の領域状態情報が第2の状態であるときは、更新前の記憶領域を初期化する。 Area state information of the storage area before update when area state information of the fourth is a state and another storage area is in the second state initializes the storage area before update. 更新前の記憶領域の領域状態情報が第3の状態でありかつ別の記憶領域の領域状態情報が第5の状態であるときは、別の記憶領域を初期化する。 Area state information of the storage area before update when area state information of the third is a state and another storage region is a fifth state, initialize another storage area. 更新前の記憶領域の領域状態情報が第3の状態でありかつ別の記憶領域の領域状態情報が第6の状態であるときは、更新前の記憶領域の有効なパケットのデータを別の記憶領域のパケット部に書き込む。 When area state information of the storage area before update area state information of the third is a state and another storage area is in the state of the sixth update before another stores data valid packet storage area It is written in the packet unit area.
なお、更新前の記憶領域の領域状態情報と別の記憶領域の領域状態情報とが逆の場合は、記憶領域または別の記憶領域に対する処理も逆になる。 In the case area state information of the storage area before update and the area state information for a different storage area is reversed, the process also reversed with respect to the storage area or in another storage area.

【0034】このような構成であれば、更新前の記憶領域の初期化中、別の記憶領域の更新中、および別の記憶領域へのデータ書込中のいずれかに処理が中断されても、システムを再起動すると、中断時から行われるべき処理が実行されるので、記憶領域の更新が適切に行われる。 [0034] With such a constitution, during the initialization of the pre-update storage area, updating the another storage area, and be treated either during data writing to another storage area is interrupted and restart the system, since the processing to be performed from the time of interruption is executed, updating of the storage area properly. したがって、データの更新をさらに高い信頼性をもって行うことができる。 Therefore, it is possible to perform with a higher reliability update data.

【0035】さらに、本発明に係る請求項7記載のフラッシュメモリのデータ管理装置は、請求項1ないし6のいずれかに記載のフラッシュメモリのデータ管理装置において、前記記憶領域は、フラッシュメモリのデータ初期化単位からなる。 Furthermore, the data management device of a flash memory according to claim 7, wherein according to the present invention is the data management device for a flash memory according to any one of claims 1 to 6, wherein the storage area of ​​the flash memory data consisting of initialization unit.

【0036】このような構成であれば、フラッシュメモリの記憶領域にパケット単位でデータを記憶・更新するときは、データ初期化単位からなる記憶領域内でそれらが行われる。 [0036] With such a configuration, when storing and updating data in units of packets in the storage area of ​​the flash memory, they are carried out in and a data initialization unit storage area. また、記憶領域を更新するときは、データ初期化単位からなる記憶領域ごとにそれが行われる。 Also, when updating the storage area, it is performed for each memory area comprising a data initialization unit.

【0037】 [0037]

【発明の実施の形態】以下、本発明の実施の形態を図面を参照しながら説明する。 BEST MODE FOR CARRYING OUT THE INVENTION Hereinafter, will be described with reference to the accompanying drawings of embodiments of the present invention. 図1ないし図13は、本発明に係るフラッシュメモリのデータ管理装置の実施の形態を示す図である。 1 through FIG. 13 is a diagram showing an embodiment of a data management device of a flash memory according to the present invention.

【0038】この実施の形態は、本発明に係るフラッシュメモリのデータ管理装置を、図1に示すように、フラッシュメモリであるフラッシュROM52のデータ初期化単位からなるブロックに、コンピュータ100の設定に必要なデータ(例えば、IPアドレス、アクセスすべきWWW(World Wide Web)サーバのURL(Universa [0038] In this embodiment, a data management device of a flash memory according to the present invention, as shown in FIG. 1, a block consisting of data initialization unit of the flash ROM52 is a flash memory, required to configure the computer 100 such data (for example, IP address, WWW to be accessed (World Wide Web) server of the URL (Universa
l Resource Locater))を、可変長のパケット単位で記憶する場合について適用したものである。 The l Resource Locater)), is obtained by applying the case of storing variable-length packets.

【0039】まず、本発明に係るフラッシュメモリのデータ管理装置を適用するコンピュータの構成を図1を参照しながら説明する。 Firstly, a configuration of a computer applying the data management device of a flash memory according to the present invention will be described with reference to FIG. 図1は、コンピュータ100の構成を示すブロック図である。 Figure 1 is a block diagram showing a configuration of a computer 100.

【0040】コンピュータ100は、図2に示すように、制御プログラムに基づいて演算およびシステム全体を制御するCPU50と、所定領域にあらかじめCPU The computer 100, as shown in FIG. 2, the CPU50 for controlling the calculation and the entire system based on control programs, in advance CPU in a predetermined area
50の制御プログラム等を格納しているフラッシュRO Flash RO containing the 50 control program of
M52と、フラッシュROM52等から読み出したデータやCPU50の演算過程で必要な演算結果を格納するためのRAM54と、VRAM55に格納されているデータを画像信号に変換して出力するグラフィックチップ56と、外部装置に対してデータの入出力を媒介するI And M52, and RAM54 for storing an operation result required in an operation process data or CPU50 read from the flash ROM52 etc., a graphic chip 56 for converting the data stored in the VRAM55 the image signal, the external I for mediating the input and output of data to the device
/F58とで構成されており、これらは、データを転送するための信号線であるバス59で相互にかつデータ授受可能に接続されている。 / F 58 is composed of a, these are and exchanging data connected to each other by a bus 59 which is a signal line for transferring data.

【0041】I/F58には、外部装置として、ヒューマンインターフェースとしてデータの入力が可能でかつ画像信号に基づいて画面を表示するLCD(Liquid Cry [0041] I / The F 58, as external devices, LCD for displaying a screen on the basis of the possible and the image signal input of the data as a human interface (Liquid Cry
stalDisplay)からなるタッチパネル60が接続されており、その他、図示しないが、音を出力するスピーカと、インターネットに接続するための信号線等が接続されている。 StalDisplay) and the touch panel 60 is connected consisting of, other, although not shown, a speaker for outputting a sound, signal lines for connecting to the Internet is connected.

【0042】グラフィックチップ56は、VRAM55 The graphics chip 56, VRAM55
に格納されている表示用データを先頭アドレスから所定周期で順次読み出し、読み出した表示用データを画像信号に変換してタッチパネル64に出力するようになっている。 The display data stored from the first address sequentially read at a predetermined cycle, converts the read display data into image signals and outputs the touch panel 64.

【0043】次に、フラッシュROM52の構成を図2 [0043] Then, as shown in FIG. 2 the configuration of the flash ROM52
ないし図8を参照しながら説明する。 To be described with reference to FIG. 図2は、ブロックA,Bのデータ構造を示す図である。 Figure 2 is a diagram showing the data structure of the block A, B.

【0044】フラッシュROM52は、データ書換可能な不揮発性の記憶素子からなり、図2に示すように、その記憶領域をデータ初期化単位からなる複数のブロックに論理的に区分し、それらブロックのうち2つのブロックA,Bが、データの書込を行うためのデータ書込用領域、およびブロックの更新時に用いるデータ更新用領域として利用される。 The flash ROM52 is made rewritable nonvolatile memory element, as shown in FIG. 2, logically divided into a plurality of blocks comprising the storage area from the data initialization units, among them the block two blocks a, B are used as data update area using the data write area, and when updating the block for writing data. なお、フラッシュROM52は、例えば、初期化状態(初期化されてデータが書き込まれていない状態)では記憶領域のデータビットが「1」となるものである。 Note that flash ROM52, for example, those initialization state data bits (initialized is not written data state), the storage area is "1".

【0045】ブロックA,Bは、いずれも、ブロックの管理に関する領域管理データを格納するための領域管理部70と、パケットを格納するためのパケット部72とからなっており、一方がデータ書込用領域となっているときは、他方がデータ更新用領域となり、逆に、他方がデータ書込用領域となっているときは、一方がデータ更新用領域となる。 The blocks A, B are both a space management unit 70 for storing the area management data on the management of blocks, it has become from the packet unit 72 for storing the packet, one data write when in the use region, the other becomes the data update area, conversely, when the other is in the data write area, one of the data update area. データの書込は、データ書込用領域となるブロックに対して行う。 Data writing is performed for the block as a data writing area. これに対し、ブロックの更新は、データ書込用領域となるブロックのパケット部7 In contrast, the update block, the packet of the block serving as a data write area 7
2にデータを書き込むための領域が不足したときに行うものであって、データ書込用領域となるブロックのパケット部72の有効なパケットのデータを、その配置位置が整順されるように、データ更新用領域となるブロックのパケット部72に書き込むことにより行う。 A performs when space for writing data into two is insufficient, the data of the valid packet of the block of the packet 72 as a data write area, so that its position is Seijun, performed by writing to a block of the packet 72 as a data update area. そして、 And,
パケット部72へのデータの書込が完了した時点で、データ更新用領域となっているブロックをデータ書込用領域とし、データ書込用領域となっているブロックをデータ更新用領域とする。 When the writing of data to the packet portion 72 is completed, the block that is to be the data update area and the data write area, to the block that is to be data write area with the data update area.

【0046】領域管理部70は、図3に示すように、ブロックの初期化回数を示す初期化回数情報を格納する領域70aと、ブロックの異なる5つの状態を示す領域状態情報1〜5を格納する領域70b〜70fとからなっており、各領域70a〜70fは、フラッシュROM5 The area management unit 70, as shown in FIG. 3, stores a region 70a for storing initialization count information indicating the initialization count of a block, the area state information 1-5 showing the five states of different block It has become from the area 70b~70f that, each of the regions 70a~70f is, flash ROM5
2のデータ読出単位(例えば、4バイト(32ビット))の記憶容量を有している。 2 data reading unit (e.g., 4 bytes (32 bits)) has a storage capacity of. 図3は、領域管理部7 3, area management section 7
0のデータ構造を示す図である。 It is a diagram illustrating a data structure of the 0.

【0047】各領域状態情報1〜5は、図4に示すように構成されている。 [0047] Each area state information 1-5 is configured as shown in FIG. 図4は、領域状態情報の内容を示す図である。 Figure 4 is a diagram showing the contents of the area state information.

【0048】領域状態情報1は、図4の上1段目の項目に示すように、ブロックが初期化されていること(初期化完了状態)を示す情報であって、「INIT」という4バイトの書込情報として領域70bに書き込まれる。 The region status information 1, as shown in the first stage of the item on the Figure 4, the block is an information indicating that it is initialized (initialization completion state), 4 as "INIT" Byte It is written in the area 70b as the write information.
また、領域状態情報2は、図4の上2段目の項目に示すように、ブロックへのデータ書込中であること(データ書込中状態)を示す情報であって、「STUP」という4バイトの書込情報として領域70cに書き込まれる。 The area status information 2, as shown in the second stage of the item on the Figure 4 is information indicating that the (data write in state) data is being written to the block, referred to as "STUP" It is written in the area 70c as write four bytes of information.
また、領域状態情報3は、図4の上3段目の項目に示すように、ブロックへのデータ書込が完了し、さらにブロックのパケット部72にデータの追記が可能であること(データ書込完了状態)を示す情報であって、「NOR The region status information 3, as shown in the third row of items on the Figure 4, it completes the data writing into the block, it is possible to further additional recording of data packet 72 of the block (data write is information indicating the write completion state), "NOR
M」という4バイトの書込情報として領域70dに書き込まれる。 It is written in the area 70d as a write four bytes of information that M ".

【0049】領域状態情報4は、図4の上4段目の項目に示すように、ブロックのデータを更新するため、ブロックからのデータ移動中であること(データ移動中)を示す情報であって、「MOVE」という4バイトの書込情報として領域70eに書き込まれる。 The area state information 4, as shown in the fourth stage of the item on the Figure 4, to update the data of the block, there the information indicating that (in data transfer) is in data transfer from the block Te is written in the area 70e as a write four bytes of information called "MOVE". また、領域状態情報5は、図4の上5段目の項目に示すように、ブロックからのデータ移動が完了したこと(データ移動完了状態)を示す情報であって、「MFIN」という4バイトの書込情報として領域70fに書き込まれる。 The area status information 5, as shown in the fifth stage of the item on the Figure 4, be information indicating that the data movement is completed (data movement completion state) from the block, 4 as "MFIN" Byte It is written in the area 70f as write information.

【0050】領域状態情報1〜5は、その順序で各領域70b〜70fに書き込まれるものである。 The area state information 1-5 is intended to be written in that order in each area 70B~70f. したがって、例えば、領域状態情報3は、領域状態情報1,2が書き込まれていない状態では、書き込まれないし、領域状態情報4,5が書き込まれている状態でも、書き込まれない。 Thus, for example, area status information 3, in the state in which area state information 1 and 2 is not written, do not written, even when the area state information 4 and 5 are written, not written. なお、領域状態情報1〜5がいずれも書き込まれていない状態、または領域状態情報1〜5がその順序で書き込まれていない状態は、ブロックが一度も初期化されたことがないもの(未初期化状態)として定義し、 The state area state information 1-5 is not written either or area state state information 1-5 is not written in that order, those never block even once initialized, (uninitialized defined as a state),
取り扱う。 handle.

【0051】パケット部72は、フラッシュROM52 The packet unit 72, flash ROM52
のデータ読出単位(例えば、4バイト)の倍数からなる所定容量の記憶領域を有し、図5に示すように、可変長の複数のパケットP 1 〜P nを格納可能となっており、各パケットP 1 〜P nは、パケットの管理に関する管理データを格納するための管理部80と、記憶すべきデータを格納するためのデータ部82とからなり、パケット部7 Data reading unit (e.g., 4 bytes) has a storage area of predetermined capacity consisting of a multiple of, as shown in FIG. 5, has a capable of storing a plurality of packets P 1 to P n of the variable length, each packet P 1 to P n includes a management unit 80 for storing management data related to the management of the packet consists of the data unit 82 for storing the data to be stored, the packet section 7
2の先頭アドレスから末尾アドレスに向けて順次生成されていく。 They are sequentially generated towards the end address from 2 of the first address. 図5は、パケット部72のデータ構造を示す図である。 Figure 5 is a diagram showing the data structure of the packet 72.

【0052】管理部80は、図6に示すように、パケットの異なる5つの状態を示す状態情報を格納する領域8 [0052] management unit 80, as shown in FIG. 6, the region 8 for storing state information indicating five states with different packet
0aと、パケットを識別するためのIDを示すID情報を格納する領域80bと、パケットが生成された順に付す連続番号を示す連続番号情報を格納する領域80c 0a and an area 80c for storing a region 80b for storing the ID information indicating the ID for identifying the packet, the sequence number information indicating a sequence number to be subjected to the order in which packets are generated
と、データ部82のデータ長を示すデータ長情報を格納する領域80dとからなり、各領域80a〜80dは、 If consists of a region 80d for storing data length information indicating the data length of the data unit 82, each region 80a~80d is
1バイト(8ビット)の記憶容量を有し、管理部80全体として、フラッシュROM52のデータ読出単位(例えば、4バイト(32ビット))の記憶容量を有している。 Has a storage capacity of 1 byte (8 bits), the system management unit 80, the data read unit of the flash ROM 52 (e.g., 4 bytes (32 bits)) has a storage capacity of. 図6は、管理部80のデータ構造を示す図である。 Figure 6 is a diagram showing the data structure of the management unit 80.

【0053】状態情報は、上記領域状態情報と異なり、 [0053] state information is different from the above-mentioned area state information,
領域80aに格納される1つのデータによりパケットの異なる5つの状態を示すものであって、図7に示すように構成されている。 There is shown a five states with different packet by one of the data stored in the area 80a, it is configured as shown in FIG. 図7は、状態情報の内容を示す図である。 Figure 7 is a diagram showing the contents of the state information.

【0054】状態情報は、第1の状態として、パケットへのデータ書込中であること(データ書込中状態)を示し、この場合、「7FH」という1バイトの書込情報として領域80aに書き込まれる。 [0054] status information, as a first state of, that data is being written to the packet indicates (data writing in the state), in this case, the region 80a as a write information of 1 byte of "7FH" It is written. また、第2の状態として、パケットへのデータ書込が完了したこと(データ書込完了状態)を示し、この場合、第1の状態を示す書込情報の「1」の最上位ビットを「0」に設定した「3F Further, as the second state of the data writing into the packet has been completed shows the (data write completion state), in this case, the most significant bit of "1" in the write information that indicates the first state " is set to 0 "," 3F
H」という1バイトの書込情報として領域80aに書き込まれる。 Is written in the area 80a as a 1-byte write information that H ". また、第3の状態として、パケットのデータ更新中であること(データ更新中状態)を示し、この場合、第2の状態を示す書込情報の「1」の最上位ビットを「0」に設定した「1FH」という1バイトの書込情報として領域80aに書き込まれる。 Further, as the third state of, is being updating data packet indicates (data updating state), in this case, the most significant bit of "1" in the write information that indicates the second state to "0" It is written in the area 80a as a 1-byte write information that has been set "1FH".

【0055】状態情報は、第4の状態として、パケットのデータ更新が完了したこと(データ更新完了状態)を示し、この場合、第3の状態を示す書込情報の「1」の最上位ビットを「0」に設定した「0FH」という1バイトの書込情報として領域80aに書き込まれる。 [0055] status information, as the fourth state of indicates that the data update of the packet is completed (data updating completion state), the most significant bit of "1" in this case, the write information that indicates the third state It is written in the area 80a as one byte write information of "0" is set to "0FH". また、第5の状態として、パケットが未使用であること(未使用状態)を示し、この場合、「FFH」という1 Further, as the state of the fifth, the packet is unused indicates (unused state), as in this case, "FFH" 1
バイトの書込情報(すなわち、初期化状態のまま)として領域80aに書き込まれる。 Byte write information (i.e., remains in the initial state) is written in the area 80a as.

【0056】状態情報は、第5の状態、第1の状態、第2の状態、第3の状態および第4の状態の順序で領域8 [0056] status information, the fifth state, the first state, the second state, the region 8 in order of a third state and a fourth state
0aに書き込まれるものである。 It is intended to be written to 0a. したがって、例えば、 Thus, for example,
状態情報が第3の状態であるときは、そのパケットが属するブロックが初期化されない限り、第1の状態または第2の状態になることはない。 State information when a third state, that as long as the packet belongs block is not initialized, does not become the first state or the second state.

【0057】また、フラッシュROM52には、図8に示すように、ブロックA,Bの領域状態情報の状態に応じてブロックA,Bに対する処理を割り当てた処理定義テーブルが格納されている。 [0057] Further, the flash ROM 52, as shown in FIG. 8, Block A, Block A in accordance with the state of the area state information B, the process definition table assigning the processing for B is stored. 図8は、処理定義テーブルのデータ構造を示す図である。 Figure 8 is a diagram showing the data structure of the process definition table.

【0058】処理定義テーブルは、図8に示すように構成されている。 [0058] process definition table is configured as shown in FIG.

【0059】ブロックAの状態がデータ移動中でありかつブロックBの状態が未初期化またはデータ書込中であるときは、ブロックBを初期化する。 [0059] state of the block A is a in the data movement and when the state of the block B is uninitialized or in the data write initializes block B. ブロックAの状態がデータ移動中でありかつブロックBの状態が初期化完了であるときは、ブロックAの有効なパケットのデータをブロックBのパケット部72に書き込むことにより、 When the state of the block A in the state is in the data movement and block B is completed initialization, by writing the data of the valid packet block A to the packet portion 72 of the block B,
ブロックAをブロックBに更新する。 Update block A to block B. ブロックAの状態がデータ書込中でありかつブロックBの状態が未初期化若しくは初期化完了であるとき、ブロックAの状態がデータ移動中でありかつブロックBの状態がデータ書込完了であるとき、またはブロックAの状態がデータ移動完了でありかつブロックBの状態が未初期化、初期化完了、データ書込中若しくはデータ書込完了であるときは、ブロックAを初期化する。 When the state of the block A is the state of the are and block B being data writing is uninitialized or initialization is complete, the state of the block A is the state of the are and block B being data movement is data write completion when, or condition is not initialized in block a state involves a complete data migration and block B, the initialization completion, when a data write in or data writing completion initializes block a. ブロックAの状態がデータ書込完了でありかつブロックBの状態が未初期化、初期化完了若しくはデータ書込中であるときは、ブロックAをデータ書込用領域とする。 State uninitialized block state of A is a data writing completion and block B, when an initialization completion or during the data writing, the block A and the data write area.

【0060】また、ブロックBの状態がデータ移動中でありかつブロックAの状態が未初期化またはデータ書込中であるときは、ブロックAを初期化する。 [0060] Further, when the state of it and block A being the state of the block B is data movement is uninitialized or in the data write initializes block A. ブロックB Block B
の状態がデータ移動中でありかつブロックAの状態が初期化完了であるときは、ブロックBの有効なパケットのデータをブロックAのパケット部72に書き込むことにより、ブロックBをブロックAに更新する。 When the state of the are and block A being data movement state is completed initialization, by writing the data of the valid packet of the block B to the packet portion 72 of the block A, and updates the block B to block A . ブロックB Block B
の状態がデータ書込中でありかつブロックAの状態が未初期化若しくは初期化完了であるとき、ブロックBの状態がデータ移動中でありかつブロックAの状態がデータ書込完了であるとき、またはブロックBの状態がデータ移動完了でありかつブロックAの状態が未初期化、初期化完了、データ書込中若しくはデータ書込完了であるときは、ブロックBを初期化する。 When the state of the are and block A being data write state is uninitialized or initialization completion, when the state of the block B is the state of the are and block A being data move is a data writing completion, or state uninitialized state is to complete the data move and block a of the block B, the initialization completion, when the data is being written or data writing completion initializes block B. ブロックBの状態がデータ書込完了でありかつブロックAの状態が未初期化、 State uninitialized of block B state involves a data writing completion and block A,
初期化完了若しくはデータ書込中であるときは、ブロックBをデータ書込用領域とする。 When an initialization completion or during the data writing, the block B and data write area.

【0061】また、ブロックAの状態が未初期化若しくは初期化完了でありかつブロックBの状態が未初期化または初期化完了であるときは、ブロックA,Bに対する初期化処理を行う。 [0061] Further, when the state of the block A is the state of the are and block B is uninitialized or initialization completion is completed uninitialized or initialized performs initialization processing for the blocks A, B.

【0062】一方、図1に戻り、CPU50は、マイクロプロセッシングユニットMPU等からなり、フラッシュROM52の所定領域に格納されている所定のプログラムを起動させ、そのプログラムに従って、図9ないし図13のデータ書込処理、データ読込処理およびブロック更新処理を並列に実行するようになっている。 [0062] On the other hand, returning to FIG. 1, CPU 50 includes a micro processing unit MPU or the like, activates a predetermined program stored in a predetermined area of ​​the flash ROM 52, according to the program, data is written in FIGS. 9 to 13 write processing, and executes the data reading process and the block update processing in parallel.

【0063】まず、データ書込処理を図9を参照しながら説明する。 [0063] First, with reference to FIG. 9 data writing process. 図9は、データ書込処理を示すフローチャートである。 Figure 9 is a flowchart showing a data writing process.

【0064】データ書込処理は、ブロックA,Bに対してデータの新規書込または更新をパケット単位で行うときに実行され、初期状態ではブロックAをデータ書込用領域とし、ブロックAに対してデータの書込を行い、それ以降は処理に応じてデータ書込用領域となるブロックに対してデータの書込を行う処理であって、CPU50 [0064] Data write processing is performed when performing block A, a new writing or updating data to B in packets, in the initial state to the block A and the data write area, to block A Te performs writing of data, thereafter a process of writing data to a block serving as a data write area in accordance with the processing, CPU 50
において実行されると、図9に示すように、まず、ステップS100に移行する。 When executed in, as shown in FIG. 9, first, the process progresses to the step S100.

【0065】ステップS100では、フラッシュROM [0065] In step S100, the flash ROM
52に対してデータの書込を行おうとする他の処理(図9ないし図13のフローチャートに示す処理以外のもの)からのデータ書込要求が、データの新規書込要求であるかパケットのデータの更新要求であるかを判定し、 52 other processing to be performed to write the data to the data write request from (other than the process shown in the flowchart of FIG. 9 through FIG. 13), the data of the packet is a data novel writing request to determine whether the update request,
データの新規書込要求であると判定したとき(Yes)は、 When it is determined that the new write request for data (Yes),
ステップS101に移行して、ブロックの更新が完了したか否かを判定し、ブロックの更新が完了したと判定されたとき(Yes)は、ステップS102に移行するが、そうでないと判定されたとき(No)は、ブロックの更新が完了するまでステップS101で待機する。 The process proceeds to step S101, determines whether the update block has been completed, when when it is determined that update of the block has been completed (Yes), it proceeds to step S102, it is determined that it is not (No), it waits in step S101 until the update of the block is completed.

【0066】ステップS102では、記憶すべきデータを格納するためのパケットを生成するための領域がパケット部72に不足しているか否かを判定し、パケットを生成するための十分な領域がパケット部72にあると判定されたとき(No)は、ステップS104に移行する。 [0066] In step S102, a region for generating a packet for storing the data to be stored, it is determined whether or not missing packets section 72, sufficient space packet unit for generating a packet when it is determined that the 72 (No), the process proceeds to step S104.

【0067】ステップS104では、記憶すべきデータを格納するためのパケットをパケット部72に生成し、 [0067] generated in step S104, a packet for storing the data to be stored in the packet unit 72,
ステップS108に移行する。 The process proceeds to step S108. このステップS104では、具体的に、パケット部72にパケットが1つも生成されていないときは、パケット部72の先頭アドレスからパケットを生成し、パケット部72に既にパケットが生成されているときは、パケット部72の先頭アドレスから数えて末尾にあるパケットの末尾アドレスの次のアドレスからパケットを生成する。 In step S104, specifically, when the packet to the packet portion 72 is not generated even one, generates a packet from the head address of the packet 72, when the already packets are generated in the packet 72, counted from the starting address of the packet unit 72 generates packets from the address next to the end address of the packet at the tail. また、パケットを生成するときは、他のパケットに与えられたIDとは異なるIDを示すID情報、このパケットが生成される順番を示す連続番号、記憶すべきデータのデータ長を示すデータ長情報をそれぞれ管理部80に書き込み、状態情報を第1の状態に設定する。 Moreover, when generating the packet, ID information indicating a different ID from the ID given to other packets, sequence numbers indicating the order in which the packets are generated, the data length information indicating the length of data to be stored each write to the management unit 80 sets the state information to the first state.

【0068】ステップS108では、記憶すべきデータを、生成したパケットのデータ部82に書き込み、ステップS110に移行して、生成したパケットの状態情報を第2の状態に設定し、一連の処理を終了する。 [0068] In step S108, the data to be stored is written into the data portion 82 of the generated packet, the process proceeds to step S110, sets the state information of the generated packet to the second state, the series of processes ends to.

【0069】一方、ステップS100で、上記他の処理からのデータ書込要求が、パケットのデータの更新要求であると判定したとき(No)は、ステップS113に移行して、ブロックの更新が完了したか否かを判定し、ブロックの更新が完了したと判定されたとき(Yes)は、ステップS114に移行するが、そうでないと判定されたとき(No)は、ブロックの更新が完了するまでステップS1 [0069] On the other hand, in step S100, the data write request from the other processing, when it is determined that the update request data packet (No), the process proceeds to step S113, updating of the block is completed and it is judged whether or not was, when it is determined that the update of the block has been completed (Yes), until the process proceeds to step S114, when it is determined not so (no), the update of the block is completed step S1
13で待機する。 It waits at 13.

【0070】ステップS114では、更新すべきデータを格納するためのパケットを生成するための領域がパケット部72に不足しているか否かを判定し、パケットを生成するための十分な領域がパケット部72にあると判定されたとき(No)は、ステップS116に移行する。 [0070] In step S114, a region for generating a packet for storing the data to be updated is determined whether the missing packet unit 72, sufficient space packet unit for generating a packet when it is determined that the 72 (No), the process proceeds to step S116.

【0071】ステップS116では、更新すべきデータを格納するための新たなパケットをパケット部72に生成し、ステップS118に移行する。 [0071] At step S116, generates a new packet for storing the data to be updated to the packet unit 72, the process proceeds to step S118. このステップS1 This step S1
16では、具体的に、パケットを生成するときは、更新前のパケットに与えられたIDと同一のIDを示すID In 16, specifically, when generating the packet, ID indicating the ID same ID as that given to the pre-update packets
情報、このパケットが生成される順番を示す連続番号、 Information, serial number indicating the order in which the packet is generated,
および更新すべきデータのデータ長を示すデータ長情報をそれぞれ管理部80に書き込み、状態情報を第1の状態に設定する。 And writing the data length information indicating the length of data to be updated in each management unit 80 sets the state information to the first state. なお、パケットの生成場所については、 It should be noted that, for the generation location of the packet,
上記ステップS104と同様である。 Is the same as that in step S104.

【0072】ステップS118では、更新前のパケットの状態情報を第3の状態に設定し、ステップS122に移行して、更新すべきデータを新たなパケットのデータ部82に書き込み、ステップS124に移行して、新たなパケットの状態情報を第2の状態に設定し、ステップS126に移行して、更新前のパケットの状態情報を第4の状態に設定し、一連の処理を終了する。 [0072] At step S118, the set status information updating previous packet in the third state, the operation proceeds to step S122, writes the data to be updated in the data section 82 of the new packet, the process proceeds to step S124 Te, sets the state information of the new packet in the second state, the process proceeds to step S126, sets the state information of the update before the packet in the fourth state, the series of processing is terminated.

【0073】一方、ステップS114で、更新すべきデータを格納するためのパケットを生成するための領域がパケット部72に不足していると判定されたとき(Yes) [0073] On the other hand, in step S114, when the area for generating a packet for storing the data to be updated is determined to be missing packet unit 72 (Yes)
は、ステップS132に移行して、ブロックの更新をすべきブロック更新要求を出力し、ステップS134に移行して、ブロックの更新が完了したか否かを判定し、ブロックの更新が完了したと判定されたとき(Yes)は、ステップS116に移行するが、そうでないと判定されたとき(No)は、ブロックの更新が完了するまでステップS Determination, the process proceeds to step S132, and outputs the block update request should be to update the block, the process proceeds to step S134, determines whether the update block has been completed, and updates the block has been completed when in (Yes), that is, step S until the process moves to step S116, when it is determined not so (no), the update of the block is completed
134で待機する。 It waits at 134.

【0074】一方、ステップS102で、記憶すべきデータを格納するためのパケットを生成するための領域がパケット部72に不足していると判定されたとき(Yes) [0074] On the other hand, in step S102, when the area for generating a packet for storing the data to be stored is determined to be missing packet unit 72 (Yes)
は、ステップS128に移行して、ブロックの更新をすべきブロック更新要求を出力し、ステップS130に移行して、ブロックの更新が完了したか否かを判定し、ブロックの更新が完了したと判定されたとき(Yes)は、ステップS104に移行するが、そうでないと判定されたとき(No)は、ブロックの更新が完了するまでステップS Determination, the process proceeds to step S128, and outputs the block update request should be to update the block, the process proceeds to step S130, determines whether the update block has been completed, and updates the block has been completed when in (Yes), that is, step S until the process moves to step S104, when it is determined not so (no), the update of the block is completed
130で待機する。 It waits at 130.

【0075】次に、データ読込処理を図10を参照しながら説明する。 Next, it will be described with reference to FIG. 10 the data reading process. 図10は、データ読込処理を示すフローチャートである。 Figure 10 is a flow chart showing a data reading process.

【0076】データ読込処理は、ブロックA,Bに対してデータの読込をパケット単位で行うときに実行される処理であって、CPU50において実行されると、図1 [0076] Data reading process is a process that is executed when performing reading of data in units of packets for the block A, B, is executed in CPU 50, FIG. 1
0に示すように、まず、ステップS200に移行する。 As shown in 0, first it proceeds to step S200.

【0077】ステップS200では、パケットの管理部80からデータ長情報を取得し、ステップS202に移行して、取得したデータ長情報に基づいて、フラッシュROM52に対してデータの読込を行おうとする他の処理(図9ないし図13のフローチャートに示す処理以外のもの)から与えられたID情報と一致するID情報を有するパケットの格納位置を特定し、ステップS204 [0077] At step S200, acquires the data length information from the management unit 80 of the packet, the process proceeds to step S202, based on the acquired data length information, other that attempts to read data to the flash ROM52 process identifies the storage location of the packet having the ID information which matches the ID information provided by the (other than the process shown in the flowchart of FIG. 9 through FIG. 13), step S204
に移行する。 To migrate to.

【0078】ステップS204では、格納位置を特定したパケットが有効であるか否かを判定し、パケットが有効であると判定されたとき(Yes)は、ステップS206 [0078] In step S204, when the packet identifying the location is equal to or valid, it is determined that the packet is valid (Yes), step S206
に移行する。 To migrate to. このステップS204では、パケットの有効・無効を次のように判定する。 In step S204, it determines to enable or disable packet as follows. パケットの状態情報が第2の状態または第3の状態であるときは、そのパケットが有効であると判定し、パケットの状態情報が第1の状態または第4の状態であるときは、そのパケットが無効であると判定する。 When the state information of the packet is in the second state or the third state, it determines the packet as valid, when the status information of the packet is the first state or the fourth state, the packet It determined that it is invalid.

【0079】ステップS206では、格納位置を特定したパケットのデータ部82からデータを読み出し、ステップS208に移行して、格納位置を特定したパケットがパケット部72の先頭アドレスから数えて末尾のものであるか否かを判定し、パケットが末尾のものではないと判定されたとき(No)は、ステップS200に移行するが、そうでないと判定されたとき(Yes)は、一連の処理を終了する。 [0079] In step S206, reads data from the data unit 82 of the identified storage locations packet, the process proceeds to step S208, those of the last packet that identifies the storage location is counted from the starting address of the packet 72 whether to determine, when a packet is determined to be other than the end (no), it proceeds to step S200, when it is determined otherwise (Yes), the processing ends.

【0080】一方、ステップS204で、格納位置を特定したパケットが無効であると判定されたとき(No)は、 [0080] On the other hand, in step S204, when the packet identifying the location is determined to be invalid (No),
ステップS208に移行する。 The process proceeds to step S208.

【0081】次に、ブロック更新処理を図11を参照しながら説明する。 Next, it will be described with reference to FIG. 11 the block update process. 図11は、ブロック更新処理を示すフローチャートである。 Figure 11 is a flowchart showing the block update process.

【0082】ブロック更新処理は、上記ステップS12 [0082] block update process, step S12
8で出力されるブロック更新要求を受けてブロックA, Block A receives the block update request output by 8,
Bを更新する処理であって、CPU50において実行されると、図11に示すように、まず、ステップS300 A process of updating the B, and is executed in the CPU 50, as shown in FIG. 11, first, Step S300
に移行する。 To migrate to.

【0083】ステップS300では、図8に示す処理定義テーブルを参照して、ブロックA,Bに対する処理を実行し、ステップS302に移行して、上記ステップS [0083] At step S300, the by referring to the processing definition table shown in FIG. 8, and executes the processing for block A, B, the process proceeds to step S302, the step S
128によりブロック更新要求があるか否かを判定し、 It determines whether there is a block update request by 128,
ブロック更新要求があると判定されたとき(Yes)は、ステップS304に移行する。 When it is determined that there is a block update request (Yes), the process proceeds to step S304.

【0084】ステップS304では、ブロックAが有効であるか否かを判定し、ブロックAが有効であると判定されたとき(Yes)は、ステップS306に移行する。 [0084] At step S304, it determines whether or not the block A is valid, if it is determined that the block A is valid (Yes), the process moves to step S306. このステップS304では、ブロックの有効・無効を次のように判定する。 In step S304, it determines to enable or disable the block as follows. ブロックの領域管理部70に領域状態情報3,4が格納されているときは、そのブロックが有効であると判定し、ブロックの領域管理部70に領域状態情報1,2,5が格納されているとき、またはブロックの状態が未初期化であるときは、そのブロックが無効であると判定する。 When area state information 3,4 to area management unit 70 of the block is stored, it determines the block to be valid, is stored area state information 1,2,5 into area management unit 70 of the block when there, or when the state of the block is not yet initialized, it determines the block is invalid.

【0085】ステップS306では、ブロックAの領域管理部70に領域状態情報4を書き込み、ステップS3 [0085] In step S306, writes the area state information 4 in the area management unit 70 of the block A, step S3
00に移行する。 00 to migrate.

【0086】一方、ステップS304で、ブロックAが無効であると判定されたとき(No)(この場合、ブロックBが有効であるはずなので、すなわちブロックBが有効であると判定されたとき)は、ステップS308に移行して、ブロックBの領域管理部70に領域状態情報4を書き込み、ステップS300に移行する。 [0086] On the other hand, in step S304, when the block A is determined to be invalid (No) (in this case, since the supposed block B is valid, that is, when it is determined that the block B is valid) is , the process proceeds to step S308, writes the area state information 4 in the area management unit 70 of the block B, and makes transition to step S300.

【0087】一方、ステップS302で、上記ステップS128によりブロック更新要求がないと判定されたとき(No)は、ステップS300に移行する。 [0087] On the other hand, in step S302, when it is determined that there is no block update request by the step S128 (No), the process proceeds to step S300.

【0088】次に、上記ステップS300の処理定義テーブルに基づく処理を図12および図13を参照しながら説明する。 [0088] will be described below with reference to FIGS. 12 and 13 the processing based on the processing definition table in step S300. 図12および図13は、ステップS300 12 and 13, step S300
の処理定義テーブルに基づく処理を示すフローチャートである。 It is a flowchart illustrating a process based on the process definition table.

【0089】ステップS300の処理定義テーブルに基づく処理は、上記ステップS300において実行されると、図12に示すように、まず、ステップS400に移行する。 [0089] processing based on the processing definition table in step S300 is executed in step S300, as shown in FIG. 12, first, the process proceeds to step S400.

【0090】ステップS400では、ブロックA,Bの領域状態情報を取得し、ステップS402に移行して、 [0090] At step S400, it acquires the block A, area status information of B, and proceeds to step S402,
図8に示す処理定義テーブルを参照して、取得した領域状態情報からブロックA,Bに対する処理を選択する。 Referring to process definition table shown in FIG. 8, selecting a processing for the blocks A, B from the obtained area state information.

【0091】ステップS402の選択の結果、ブロックAを初期化する処理が選択されたとき()は、ステップS404に移行して、ブロックAを初期化し、ステップS406に移行して、ブロックAの初期化回数を「1」 [0091] Results of the selection of step S402, when the process of initializing the block A is selected (), the process proceeds to step S404, the block A is initialized and proceeds to step S406, the block A Initial "1" of the number of times
加算してブロックAの領域管理部70にその初期化回数情報を書き込み、ステップS408に移行して、ブロックAの領域管理部70に領域状態情報1を書き込み、一連の処理を終了する。 Adding to write the initialization count information to the area management unit 70 of the block A, the process proceeds to step S408, writes the area state information 1 in the area management unit 70 of the block A, the series of processing is terminated.

【0092】一方、ステップS402の選択の結果、ブロックBを初期化する処理が選択されたとき()は、ステップS410に移行して、ブロックBを初期化し、ステップS412に移行して、ブロックBの初期化回数を「1」加算してブロックBの領域管理部70にその初期化回数情報を書き込み、ステップS414に移行して、 [0092] On the other hand, the result of the selection of step S402, when the process of initializing the block B is selected (), it proceeds to step S410, the block B is initialized and it proceeds to step S412, the block B the initialization count "1" is added to write the initialization count information to the area management unit 70 of the block B, and proceeds to step S414,
ブロックBの領域管理部70に領域状態情報1を書き込み、一連の処理を終了する。 Write area state information 1 in the area management unit 70 of the block B, and the series of processes ends.

【0093】一方、ステップS402の選択の結果、ブロックBをブロックAに更新する処理が選択されたとき [0093] On the other hand, the result of the selection of step S402, when the process for updating the block B to block A is selected
()は、ステップS416に移行して、ブロックAの領域管理部70に領域状態情報2を書き込み、ステップS (), The process proceeds to step S416, writes the area state information 2 in the area management unit 70 of the block A, step S
418に移行して、ブロックBの有効なパケットのデータを、その格納位置が整順されるように、ブロックAのパケット部72に書き込み、ステップS420に移行して、ブロックAの領域管理部70に領域状態情報3を書き込み、ステップS422に移行して、ブロックBの領域管理部70に領域状態情報5を書き込み、一連の処理を終了する。 418 goes to the data valid packet block B, so that the storage position is Seijun, writing to the packet portion 72 of the block A, the process proceeds to step S420, the area management unit 70 of the block A write area state information 3, the process proceeds to step S422, writes the area state information 5 in the area management unit 70 of the block B, and the series of processes ends.

【0094】一方、ステップS402の選択の結果、ブロックAをブロックBに更新する処理が選択されたとき [0094] On the other hand, the result of the selection of step S402, when the process for updating the block A to the block B is selected
()は、ステップS424に移行して、ブロックBの領域管理部70に領域状態情報2を書き込み、ステップS (), The process proceeds to step S424, writes the area state information 2 in the area management unit 70 of the block B, step S
426に移行して、ブロックAの有効なパケットのデータを、その格納位置が整順されるように、ブロックBのパケット部72に書き込み、ステップS428に移行して、ブロックBの領域管理部70に領域状態情報3を書き込み、ステップS430に移行して、ブロックAの領域管理部70に領域状態情報5を書き込み、一連の処理を終了する。 426 goes to the data valid packets of the block A, such that the storage position is Seijun, writing to the packet portion 72 of the block B, the process proceeds to step S428, the area management unit 70 of the block B write area state information 3, the process proceeds to step S430, writes the area state information 5 in the area management unit 70 of the block a, the series of processing is terminated.

【0095】一方、ステップS402の選択の結果、ブロックAをデータ書込用領域とする処理が選択されたとき()は、ステップS432に移行して、ブロックAをデータ書込領域とし、ステップS433に移行して、ブロック更新要求を解除し、一連の処理を終了する。 [0095] On the other hand, the result of the selection of step S402, when the process of the block A and the data write area is selected (), the process proceeds to step S432, the block A and the data write area, the step S433 the process moves to, unblock update request, the series of processing is terminated.

【0096】一方、ステップS402の選択の結果、ブロックBをデータ書込用領域とする処理が選択されたとき()は、ステップS434に移行して、ブロックBをデータ書込領域とし、ステップS435に移行して、ブロック更新要求を解除し、一連の処理を終了する。 [0096] On the other hand, the result of the selection of step S402, when the process of the block B and data write area is selected (), the process proceeds to step S434, the block B and data write area, the step S435 the process moves to, unblock update request, the series of processing is terminated.

【0097】一方、ステップS402の選択の結果、ブロックA,Bに対する初期化処理を行う処理が選択されたとき()は、ステップS436に移行して、ブロックA,Bを初期化し、ステップS438に移行して、ブロックAの領域管理部70に領域状態情報1を書き込み、 [0097] On the other hand, the result of the selection of step S402, when the process for performing an initialization process for the block A, B is selected (), it proceeds to step S436, the block A, B is initialized and the step S438 and migrated, write area state information 1 in the area management unit 70 of the block a,
一連の処理を終了する。 And the series of processing is terminated.

【0098】一方、ステップS402の選択の結果、上記いずれの処理も選択されないとき(×)は、一連の処理を終了する。 [0098] On the other hand, the result of the selection in step S402, any of the above processes also when not selected (×), the processing ends.

【0099】次に、上記実施の形態の動作を図面を参照しながら説明する。 [0099] Next, with reference to the drawings the operation of the above embodiment.

【0100】まず、ブロックA,Bに対してデータの新規書込をパケット単位で行う場合を説明する。 [0100] First, the case where a new writing of data in units of packets for the block A, B.

【0101】初期状態では、ブロックAをデータ書込用領域とし、ブロックAに対してデータの書込が行われる。 [0102] In the initial state, the block A and the data write area, writing of data to the block A is performed. フラッシュROM52に対してデータの書込を行おうとする他の処理からデータ新規書込要求を受けると、 When receiving data the new write request from another process that attempts to write data to the flash ROM 52,
データ書込用領域となるブロックAに対してデータの新規書込が開始される。 New data writing starts for the block A comprising a data write area. このとき、データ新規書込要求と併せて、記憶すべきデータおよびID情報が与えられる。 At this time, in conjunction with the data new write request, the data and the ID information to be stored is given.

【0102】データの新規書込は、次のように行われる。 [0102] The novel writing of data is performed in the following manner. CPU50により、ステップS100〜ステップS By CPU50, step S100~ step S
110を経て、記憶すべきデータを格納するためのパケットがブロックAのパケット部72に生成される。 Through 110, packet for storing the data to be stored is generated packet portions 72 of the block A. このとき、取得されたID情報、このパケットが生成される順番を示す連続番号、および記憶すべきデータのデータ長を示すデータ長情報がそれぞれ管理部80に書き込まれ、状態情報が第1の状態(データ書込中)に設定される。 At this time, the ID obtained information, the data length information indicating the data length of the data serial number, and to be stored indicating the order in which the packets are generated is written to each management unit 80, the state information is a first state It is set (data being written). そして、記憶すべきデータが、生成されたパケットのデータ部82に書き込まれ、生成されたパケットの状態情報が第2の状態(データ書込完了)に設定される。 Then, data to be stored is written to the data portion 82 of the generated packet, status information of the generated packet is set to the second state (data writing completion).

【0103】データの書込が中断されない通常の状態では、このようにブロックAのパケット部72にデータがパケットとして書き込まれるのであるが、例えば、何らかの原因によりデータの書込が中断された場合は、次のように動作する。 [0103] In a normal state where write is not interrupted data is thus data packet 72 of the block A is to be written as a packet, for example, if the data writing is interrupted by some reason , it operates in the following manner.

【0104】データの書込が中断された場合は、システムを再起動した後、フラッシュROM52に対してデータの読込を行おうとする他の処理からデータ読込要求を受けると、ここではまだブロックAがデータ書込用領域となっているので、ブロックAに対してデータの読込が開始される。 [0104] If the writing of data is interrupted, after restarting the system, when receiving the data read request from another process that attempts to read data to the flash ROM 52, where the still block A since a data write area, reading of data is started for the block a. このとき、データ読込要求と併せて、上記他の処理からは上記同一のID情報が与えられたとする。 At this time, in conjunction with the data read request, and the same ID information is given from the other processes.

【0105】データの読込は、次のように行われる。 [0105] The data of the reading is performed in the following manner. C
PU50により、ステップS200,S202を経て、 The PU50, through steps S200, S202,
パケットの管理部80からデータ長情報が取得され、取得されたデータ長情報に基づいて、上記他の処理から与えられたID情報と一致するID情報を有するパケットの格納位置が特定される。 Managed unit 80 obtains the data length information from the packet, based on the obtained data length information, storage location of the packet having the ID information which matches the ID information given from the other processes are identified. このとき、格納位置が特定されたパケットは、先程データの書込が中断され、その状態情報が第1の状態となっているので、ステップS20 At this time, the storage location is identified packets are writing earlier data interruption, since the status information is in the first state, step S20
4,S208を経て、無効なパケットであると判定され、データの読込が行われない。 4, S208 through, is determined to be invalid packets, data reading is not performed.

【0106】なお、データの書込が中断されず、正常にデータの書込が完了した場合は、データ読込要求を受けると、ステップS200,S202を経て、パケットの管理部80からデータ長情報が取得され、取得されたデータ長情報に基づいて、上記他の処理から与えられたI [0106] Incidentally, the write data is not interrupted, if the writing of data is normally completed, when receiving the data read request, through steps S200, S202, the data length information from the management unit 80 of the packet It is obtained, based on the obtained data length information, given from the other processing I
D情報と一致するID情報を有するパケットの格納位置が特定される。 Storage location of the packet having the ID information which matches the D information is identified. このとき、格納位置が特定されたパケットは、その状態情報が第2の状態となっているので、ステップS204,S206を経て、有効なパケットであると判定され、格納位置が特定されたパケットのデータ部82からデータが読み出される。 In this case, the storage position is specified packets, since the state information is in the second state, through step S204, S206, it is determined that a valid packet, the storage location is identified packet data is read from the data unit 82.

【0107】また、以上では、ブロックAに対してデータの新規書込を行う場合を説明したが、ブロックBに対してデータの新規書込を行う場合も、上記同様の要領で動作する。 [0107] In the above has been described a case in which the new write data to the block A, even when performing a new writing of data to the block B, and operates in the same manner.

【0108】次に、ブロックA,Bに対してデータの更新をパケット単位で行う場合を説明する。 [0108] Next, the case of updating the data in packets for the block A, B. なお、ブロックAには、すでにいくつかのパケットが生成されており、ここでは、それらのパケットのうちいずれかのデータを更新する。 Incidentally, the block A has already been generated several packets, where updates one of data of those packets.

【0109】初期状態では、ブロックAをデータ書込用領域とし、ブロックAに対してデータの書込が行われる。 [0109] In the initial state, the block A and the data write area, writing of data to the block A is performed. フラッシュROM52に対してデータの更新を行おうとする他の処理からデータ更新要求を受けると、データ書込用領域となるブロックAに対してデータの更新が開始される。 Upon receiving the data update request from the other processing to be performed to update the data to the flash ROM 52, updating of the data is started for the block A comprising a data write area. このとき、データ更新要求と併せて、更新すべきデータおよび更新対象となるパケットのID情報が与えられる。 At this time, in conjunction with the data update request, ID information of a packet to be data to be updated and updated is given.

【0110】データの更新は、次のように行われる。 [0110] The data of the update is performed in the following manner. C
PU50により、ステップS112〜ステップS126 By PU50, step S112~ step S126
を経て、更新すべきデータを格納するための新たなパケットがブロックAのパケット部72に生成される。 Through a new packet for storing the data to be updated is generated packet portions 72 of the block A. このとき、取得されたID情報、このパケットが生成される順番を示す連続番号、および更新すべきデータのデータ長を示すデータ長情報がそれぞれ管理部80に書き込まれ、状態情報が第1の状態(データ書込中)に設定される。 At this time, the ID obtained information, the data length information indicating the data length of the data serial number, and to update indicating the order in which the packets are generated is written to each management unit 80, the state information is a first state It is set (data being written). そして、更新前のパケットの状態情報が第3の状態(データ更新中)に設定され、更新すべきデータが新たなパケットのデータ部82に書き込まれ、新たなパケットの状態情報が第2の状態(データ書込完了)に設定されるとともに更新前のパケットの状態情報が第4の状態(データ更新完了)に設定される。 Then, the state information of the update before the packet is set to the third state (in data updating), data to be updated is written in the data section 82 of the new packet, status information of a new packet second state state information of the packet before updating with is set to (data writing completion) is set to the fourth state (data update completion).

【0111】データの更新が中断されない通常の状態では、このようにブロックAのパケット部72にデータがパケットとして書き込み更新されるのであるが、例えば、何らかの原因によりデータの更新が中断された場合は、次のように動作する。 [0111] In the normal state where the update is not interrupted data is thus data packet 72 of the block A is being write updated as packets, for example, if the update of the data is interrupted by some reason , it operates in the following manner.

【0112】データの更新が中断された場合は、システムを再起動した後、フラッシュROM52に対してデータの読込を行おうとする他の処理からデータ読込要求を受けると、ここではまだブロックAがデータ書込用領域となっているので、ブロックAに対してデータの読込が開始される。 [0112] If the updating of data is interrupted, after rebooting the system, when receiving the data read request from another process that attempts to read data to the flash ROM 52, where the still block A data since a write area, reading of data is started for the block a. このとき、データ読込要求と併せて、上記他の処理からは上記同一のID情報が与えられたとする。 At this time, in conjunction with the data read request, and the same ID information is given from the other processes.

【0113】データの読込は、次のように行われる。 [0113] The data of the reading is performed in the following manner. C
PU50により、ステップS200,S202を経て、 The PU50, through steps S200, S202,
パケットの管理部80からデータ長情報が取得され、取得されたデータ長情報に基づいて、上記他の処理から与えられたID情報と一致するID情報を有するパケットの格納位置が特定される。 Managed unit 80 obtains the data length information from the packet, based on the obtained data length information, storage location of the packet having the ID information which matches the ID information given from the other processes are identified. このとき、新たなパケットよりも更新前のパケットの方がパケット部72の先頭アドレス側に格納されているので、更新前のパケットの格納位置が先に特定されるが、この更新前のパケットは、先程データの更新が中断され、その状態情報が第3の状態となっているので、ステップS204,S206を経て、有効なパケットであると判定され、そのパケットのデータ部82からデータが読み出される。 In this case, since the direction of the pre-update than new packets packet is stored in the start address side of the packet 72, but the storage position of the previous packet update is specified above, packet before this update , it is interrupted updating of earlier data, since the state information is in the third state, through step S204, S206, it is determined that a valid packet, the data is read from the data unit 82 of the packet . 一方、新たなパケットには、更新すべきデータが途中までしか書き込まれていないので、新たなパケットのデータ部82からは、データの読込が行われない。 On the other hand, a new packet, the data to be updated is not only written halfway, the data portion 82 of the new packet, the data of the read is not performed.

【0114】なお、データの更新が中断されず、正常にデータの更新が完了した場合は、データ読込要求を受けると、ステップS200,S202を経て、パケットの管理部80からデータ長情報が取得され、取得されたデータ長情報に基づいて、上記他の処理から与えられたI [0114] Incidentally, not updated data interruption, when the update data is normally completed, when receiving the data read request, through steps S200, S202, the data length information is acquired from the management unit 80 of the packet , based on the obtained data length information, given from the other processing I
D情報と一致するID情報を有するパケットの格納位置が特定される。 Storage location of the packet having the ID information which matches the D information is identified. このとき、新たなパケットよりも更新前のパケットの方がパケット部72の先頭アドレス側に格納されているので、更新前のパケットの格納位置が先に特定されるが、この更新前のパケットは、その状態情報が第4の状態となっているので、ステップS204,S In this case, since the direction of the pre-update than new packets packet is stored in the start address side of the packet 72, but the storage position of the previous packet update is specified above, packet before this update since the state information is in the fourth state, step S204, S
208を経て、無効なパケットであると判定され、データの読込が行われない。 208 through, is determined to be invalid packets, data reading is not performed.

【0115】次いで、他の処理から与えられたID情報と一致するID情報を有する次のパケットの格納位置が特定される。 [0115] Then, the storage position of the next packet having the ID information which matches the ID information provided by the other processing is specified. このとき、新たなパケットの格納位置が特定されるが、この新たなパケットは、その状態情報が第2の状態となっているので、ステップS204,S20 At this time, although the storage position of a new packet is identified, the new packet, because the state information is in the second state, step S204, S20
6を経て、有効なパケットであると判定され、そのパケットのデータ部82からデータが読み出される。 6 through, is determined to be a valid packet, the data from the data unit 82 of the packet is read.

【0116】また、以上では、ブロックAに対してデータの更新を行う場合を説明したが、ブロックBに対してデータの更新を行う場合も、上記同様の要領で動作する。 [0116] In the above, a case has been described for updating of data to the block A, even when update of data to the block B, and operates in the same manner.

【0117】次に、ブロックA,Bを更新する場合を図14を参照しながら説明する。 [0117] Next, will be described with reference to FIG. 14 the case of updating the block A, B. 図14は、ブロックAをブロックBに更新する場合を説明するための図である。 Figure 14 is a diagram for explaining a case of updating the block A to block B.

【0118】ブロックAをデータ書込用領域として、ブロックAに対してデータの書込・更新を続けていくと、 [0118] The block A as a data write for the region, and continue to write and update of data for the block A,
ブロックAのパケット部72は、図14に示すように、 Packet portion 72 of the block A, as shown in FIG. 14,
有効なパケットと無効なパケットが混在する状態となる。 Valid packets and invalid packet is a state in which they mixed. 図14の例では、IDが「01」である有効なパケットとIDが「03」である有効なパケットとの間には、データの更新により無効となった2つのパケットが存在する。 In the example of FIG. 14, between ID is valid packet and ID is "01" in an effective packet is "03", two packets disabled is present by the updating of the data. このようにブロックAのパケット部72に無効なパケットが多数存在すると、データの新規書込・更新を行うことができなくなる。 With such invalid packets to the packet portion 72 of the block A there are a large number, it becomes impossible to perform a new writing and updating of data.

【0119】そこで、フラッシュROM52に対してデータの更新を行おうとする他の処理からデータ新規書込要求またはデータ更新要求を受けたときに、記憶・更新すべきデータを格納するためのパケットを生成するための領域がブロックAのパケット部72に不足していると、ステップS128において、ブロック更新要求が出力される。 [0119] Therefore, when receiving data new write request or data update request from the other processing to be performed to update the data to the flash ROM 52, generates a packet for storing the data to be stored and updated When the space for the missing the packet portion 72 of the block a, at step S128, the block update request is output. ブロック更新要求を受けると、ブロックAからブロックBへの更新が開始される。 When receiving the block update request, updates the block B is started from block A. なお、ブロックB It is to be noted that the block B
は、すでに初期化されているものとし、すなわち、ブロックBの領域管理部70には、領域状態情報1(初期化完了)が書き込まれている。 It is assumed to be already initialized, i.e., the area management unit 70 of the block B, area status information 1 (initialization completion) is written.

【0120】ブロックAからブロックBへのブロックの更新は、次のように行われる。 [0120] update of the block from the block A to block B is carried out in the following manner. CPU50により、ステップS300〜S304を経て、処理定義テーブルが参照されてブロックA,Bに対する処理が実行され、ブロックAが有効であるか否かが判定される。 CPU50, the through steps S300 - S304, the process definition table is referred to the block A, the processing for B is executed, whether the block A is valid is determined. このとき、ブロックAが有効であるので、ステップS306において、ブロックAの領域管理部70に領域状態情報4(データ移動中)が書き込まれる。 At this time, since the block A is valid, in step S306, area state information to the area management unit 70 of the block A 4 (in data transfer) it is written.

【0121】次いで、ブロックAの領域管理部70に領域状態情報4が、ブロックBの領域管理部70に領域状態情報1が書き込まれると、ステップS300,S40 [0121] Then, the area state information 4 in the area management unit 70 of the block A is the area status information 1 in the area management unit 70 of the block B is written, step S300, S40
0,S402,S424〜S430を経て、処理定義テーブルが参照されて、ブロックBの領域管理部70に領域状態情報2(データ書込中)が書き込まれ、図14に示すように、ブロックAの有効なパケットのデータが、 0, S402, through S424~S430, referenced processing definition table, area state information 2 in the area management unit 70 of the block B (the data writing) is written, as shown in FIG. 14, the block A data of a valid packet,
その格納位置が整順されるように、ブロックBのパケット部72に書き込まれ、ブロックBの領域管理部70に領域状態情報3(データ書込完了)が書き込まれるとともにブロックAの領域管理部70に領域状態情報5(データ移動完了)が書き込まれる。 As its storage position is Seijun, written in the packet unit 72 of the block B, area management unit 70 of the block A with area state information 3 in the area management unit 70 of the block B (data writing completion) is written area state information 5 (data movement completion) is written to. このようにブロックの更新が完了すると、ブロックAは、データ更新用領域となり、ブロックAに代わって今度はブロックBがデータ書込用領域となる。 With this update block is completed, the block A becomes a data update area, in turn instead of the block A block B is a data writing area.

【0122】そして、ブロックAの領域管理部70に領域状態情報5が、ブロックBの領域管理部70に領域状態情報3が書き込まれると、ステップS300,S40 [0122] Then, when the area state information 5 in the area management unit 70 of the block A, area state information 3 in the area management unit 70 of the block B is written, step S300, S40
0,S402〜S408を経て、処理定義テーブルが参照されて、ブロックAが初期化され、ブロックAの初期化回数が「1」加算されてブロックAの領域管理部70 0, via S402~S408, referenced processing definition table, the block A is initialized, area management unit 70 of the initialization times of the block A is "1" is added has been block A
にその初期化回数情報が書き込まれ、ブロックAの領域管理部70に領域状態情報1が書き込まれる。 Its initialization count information is written, the area management unit 70 of the block area A status information 1 is written to.

【0123】ブロックの更新が中断されない通常の状態では、このようにブロックAの有効なパケットのデータがブロックBのパケット部72に書き込まれるのであるが、例えば、何らかの原因によりブロックの更新が中断された場合は、次のように動作する。 [0123] In a normal state where the update is not interrupted block, the data of the valid packet of such block A is to be written to the packet portion 72 of the block B, for example, update the block is interrupted for some reason If was, it operates in the following manner.

【0124】まず、データの更新のうちブロックBにデータを書き込んでいる最中に中断された場合は、システムを再起動すると、ブロックAの領域管理部70に領域状態情報4が、ブロックBの領域管理部70に領域状態情報2が書き込まれているので、ステップS300,S [0124] First, when it is interrupted in the middle of writing data into blocks B of data update, restart the system, the area state information 4 in the area management unit 70 of the block A, the block B since area state information 2 in the area management unit 70 is written, step S300, S
400,S402,S410〜S414を経て、処理定義テーブルが参照されて、ブロックBが初期化され、ブロックBの初期化回数が「1」加算されてブロックBの領域管理部70にその初期化回数情報が書き込まれ、ブロックBの領域管理部70に領域状態情報1が書き込まれる。 400, S402, through S410~S414, referenced processing definition table, block B is initialized, the initialization count initialized count of the block B is "1" is added to the area management unit 70 of the block B information is written, the area management unit 70 of the block B area state information 1 is written.

【0125】そして、ブロックAの領域管理部70に領域状態情報4が、ブロックBの領域管理部70に領域状態情報1が書き込まれると、ステップS300,S40 [0125] When the area state information 4 in the area management unit 70 of the block A is the area status information 1 in the area management unit 70 of the block B is written, step S300, S40
0,S402,S424〜S430を経て、処理定義テーブルが参照されて、ブロックBの領域管理部70に領域状態情報2が書き込まれ、図14に示すように、ブロックAの有効なパケットのデータが、その格納位置が整順されるように、ブロックBのパケット部72に書き込み直され、ブロックBの領域管理部70に領域状態情報3が書き込まれるとともにブロックAの領域管理部70 0, S402, through S424~S430, referenced processing definition table, region status information 2 is written in the area management unit 70 of the block B, as shown in FIG. 14, data of valid packets in the block A is as its storage position is Seijun, it is re written to the packet portion 72 of the block B, area management unit 70 of the block a with area state information 3 in the area management unit 70 of the block B is written
に領域状態情報5が書き込まれる。 Area state information 5 is written to. その後は、ブロックAが初期化され、ブロックAの領域管理部70に領域状態情報1が書き込まれる。 Thereafter, block A is initialized, the area management unit 70 of the block area A status information 1 is written.

【0126】次に、データの更新のうちブロックAを初期化している最中に中断された場合は、システムを再起動すると、ブロックAの領域管理部70に領域状態情報5が、ブロックBの領域管理部70に領域状態情報3が書き込まれているので、ステップS300,S400, [0126] Then, if it is interrupted block A of the update data in the middle of initializing and restarting the system, the area state information 5 in the area management unit 70 of the block A, the block B since area state information 3 is written in the area management unit 70, step S300, S400,
S402〜S408を経て、処理定義テーブルが参照されて、ブロックAが初期化し直され、ブロックAの初期化回数が「1」加算されてブロックAの領域管理部70 Through S402~S408, referenced processing definition table, the block A is reinitialized, area management unit 70 of the initialization times of the block A is "1" is added has been block A
にその初期化回数情報が書き込まれ、ブロックAの領域管理部70に領域状態情報1が書き込まれる。 Its initialization count information is written, the area management unit 70 of the block area A status information 1 is written to.

【0127】なお、以上では、ブロックAからブロックBへの更新を行う場合を説明したが、ブロックBからブロックAへの更新を行う場合も、上記同様の要領で動作する。 [0127] In the above, a case has been described updating from block A to block B, even when performing updates to the block A from the block B, and operates in the same manner.

【0128】このようにして、本実施の形態では、データを記憶するときは、記憶すべきデータを格納するためのパケットをブロックのパケット部72に生成し、データ書込開始時にパケットの状態情報を第1の状態に設定し、パケットのデータ部82に記憶すべきデータを書き込み、データ書込完了時にパケットの状態情報を第2の状態に設定し、状態情報が第2の状態であるパケットを有効なパケットであると判定し、状態情報が第1の状態であるパケットを無効なパケットであると判定するようにした。 [0128] Thus, in this embodiment, when storing the data, a packet for storing the data to be stored to generate the packet portion 72 of the block, the state information of the packet to the data write start was set to a first state, writing data to be stored in the data section 82 of the packet, sets the state information of the packet to the second state in the data write completion, packet status information is in a second state determines that a valid packet, the state information is possible to determine the packet in a first state and an invalid packet.

【0129】これにより、データの書込が完了するまでは、有効なパケットとして識別されないので、データの書込が完了するまでの間に何らかの原因によりデータの書込が中断されても、データ書込途中のパケットのデータが正しいデータとして取り扱われることはない。 [0129] Thus, since the write data is to complete, not identified as a valid packet, even if the data writing is interrupted by some reason until the writing of data is completed, data write It is not that the data in the write the middle of a packet is handled as correct data. また、フラッシュROM52上でのデータの消去は、消去対象となるデータが格納されているパケットの状態情報を第1の状態に設定することにより行えばよいので、フラッシュROM52の初期化回数が少なくなる。 Also, erasing data in the flash ROM52, since it is sufficient by setting the status information of the packet data to be erased is stored in the first state, the initialization count of the flash ROM52 is reduced . したがって、従来に比して、フラッシュROM52の寿命の低下を防止するとともにデータの書換を高速に行うことができ、しかもデータの書込を高い信頼性をもって行うことができる。 Therefore, as compared with the conventional, the rewriting of data is prevented a reduction in the service life of the flash ROM52 can be performed at high speed, yet the writing of data can be performed with high reliability.

【0130】さらに、本実施の形態では、パケットのデータを更新するときは、更新すべきデータを格納するための新たなパケットをブロックのパケット部72に生成し、データ書込開始時にパケットの状態情報を第3の状態に設定するとともに新たなパケットの状態情報を第1 [0130] Further, in this embodiment, when updating the data of the packet, a new packet for storing the data to be updated and generates a packet 72 of the block, the packet data writing start state the status information of the new packet and sets the information in the third state the first
の状態に設定し、新たなパケットのデータ部82に更新すべきデータを書き込み、データ書込完了時に新たなパケットの状態情報を第2の状態に設定するとともにパケットの状態情報を第4の状態に設定し、状態情報が第2 State of set to a state, writing data to be updated to the data section 82 of the new packet, and sets the state information of the new packet to the second state in the data write completion packet of the state information of a fourth set the state information is a second
の状態または第3の状態であるパケットを有効なパケットであると判定し、状態情報が第1の状態または第4の状態であるパケットを無効なパケットであると判定するようにした。 Determine the condition or packet is a third state as a valid packet, the state information is possible to determine the packet is a first state or the fourth state as a valid packet.

【0131】これにより、データの更新が完了するまでは、新たなパケットは、有効なパケットとして識別されないので、データの更新が完了するまでの間に何らかの原因によりデータの更新が中断されても、データ書込途中の新たなパケットのデータが正しいデータとして取り扱われることはない。 [0131] Thus, until the update of the data is completed, the new packets, because they are not identified as a valid packet, even if a data update is interrupted by some reason until the update of the data is completed, no data of a new packet of data writing course is handled as correct data. この場合は、更新前のパケットのデータが正しいデータとして取り扱われる。 In this case, the data of the pre-update packets are treated as correct data. したがって、従来に比して、データの更新を高い信頼性をもって行うことができる。 Therefore, it is possible as compared with the conventional, performed with high reliability data updates.

【0132】さらに、本実施の形態では、データ長情報に基づいて、パケットの格納位置を特定するようにした。 [0132] Further, in the present embodiment, based on the data length information, and to identify the storage location of the packet.

【0133】これにより、パケット部72の記憶容量を超えない任意のデータ長のデータを区分することなく一つのパケットとしてブロックのパケット部72に記憶することができるので、可変長のデータの管理が容易になる。 [0133] Thus, it is possible to store as a single packet to the packet portion 72 of the block without dividing the arbitrary data length of the data does not exceed the storage capacity of the packet unit 72, the management of variable length data It becomes easier.

【0134】さらに、本実施の形態では、ブロックを更新するときは、データ書込開始時にブロックA,Bのうち一方のブロックの領域管理部70に領域状態情報4を書き込むとともに他方のブロックの領域管理部70に領域状態情報2を書き込み、一方のブロックのパケット部72の有効なパケットのデータを他方のブロックのパケット部72に書き込み、データ書込完了時に一方のブロックの領域管理部70に領域状態情報5を書き込むとともに他方のブロックの領域管理部70に領域状態情報3 [0134] Further, in this embodiment, when updating the block region of the other block writes the data write start block A, the area management unit 70 of one block of the B area state information 4 write area state information 2 to the management unit 70, the write data valid packet of the packet portion 72 of one block to the packet portion 72 of the other block, region area management unit 70 of one block to the data write completion other block area state information to the area management unit 70 of writes the status information 5 3
を書き込み、領域管理部70に領域状態情報3,4が書き込まれているブロックを有効なブロックであると判定し、領域管理部70に領域状態情報1,2,5が書き込まれているブロックを無効なブロックであると判定するようにした。 Writing, determines block area state information 3,4 to area management unit 70 is written as a valid block, the block area state information 1,2,5 into area management unit 70 is written It was so determined to be invalid blocks.

【0135】これにより、ブロックの更新が完了するまでは、更新先となる他方のブロックは、有効なブロックとして識別されないので、ブロックの更新が完了するまでの間に何らかの原因によりブロックの更新が中断されても、データ書込途中の他方のブロックのデータが正しいデータとして取り扱われることはない。 [0135] Thus, until the update of the block is completed, the other blocks to be updated destination, because it is not identified as a valid block, updating the block by some reason until the update block is completed Abort be, no data for data writing middle of the other block is handled as correct data. この場合は、 in this case,
更新前の一方のブロックのデータが正しいデータとして取り扱われる。 Data of one block before updating is handled as correct data. したがって、データの更新をさらに高い信頼性をもって行うことができる。 Therefore, it is possible to perform with a higher reliability update data.

【0136】さらに、本実施の形態では、領域管理部7 [0136] Further, in this embodiment, area management section 7
0に領域状態情報1,2,5が書き込まれているブロックをデータ更新用領域として用いるようにした。 0 and to use a block area state information 1,2,5 is written as data update area.

【0137】これにより、ブロックを更新するたびに新たなブロックがデータ更新用領域となることがないので、フラッシュROM52の記憶領域を有効に利用することができる。 [0137] Thus, the new block will not be the data update area every update block, it is possible to effectively use the storage area of ​​the flash ROM 52.

【0138】さらに、本実施の形態では、ブロックA, [0138] Further, in this embodiment, the block A,
Bの領域状態情報の状態に応じてブロックA,Bに対する処理を割り当てた処理定義テーブルを参照して、ブロックA,Bに対する処理を実行するようにした。 Block A according to the state of the area state information B, and refers to the process definition table assigning the processing for B, and so as to execute the processing for the block A, B.

【0139】これにより、ブロックA,Bの領域状態情報の状態に応じて、ブロックA,Bに対する処理を逐次判定する必要がなくなるので、データの書換に関する処理を簡素化することができる。 [0139] Thus, depending on the state of the block A, area state information B, block A, since the processing sequentially determines it is unnecessary to for B, it is possible to simplify the process related to rewriting of data.

【0140】さらに、本実施の形態では、ブロックは、 [0140] Further, in the present embodiment, blocks,
フラッシュROM52のデータ初期化単位からなる。 Consisting of data initialization unit of the flash ROM52.

【0141】これにより、フラッシュROM52の初期化回数を最小限に抑えることができる。 [0141] Thus, it is possible to suppress the initialization number of times of flash ROM52 to a minimum.

【0142】さらに、本実施の形態では、一方のブロックの領域管理部70に領域管理情報4が書き込まれ、かつ、他方のブロックの領域管理部70に領域管理情報2 [0142] Further, in this embodiment, area management information 4 is written in the area management unit 70 of one block, and the area management information 2 in the area management unit 70 of the other block
が書き込まれているときは、他方のブロックを初期化するようにした。 When is written, and so as to initialize the other block.

【0143】これにより、何らかの原因により他方のブロックのパケット部72にデータを書き込んでいる最中に中断された場合は、システムを再起動すると、他方のブロックが初期化され、他方のブロックのパケット部7 [0143] If this result, which is interrupted in the middle of writing the data to the packet 72 of the other block for some reason, and restarting the system is initialized the other block, the packet of the other block part 7
2にデータが書き込み直されるので、データの更新をさらに高い信頼性をもって行うことができる。 Since 2 data is re write, it can be performed with a higher reliability update data.

【0144】さらに、本実施の形態では、一方のブロックの領域管理部70に領域管理情報5が書き込まれ、かつ、他方のブロックの領域管理部70に領域管理情報1,2,3が書き込まれているときは、一方のブロックを初期化するようにした。 [0144] Further, in this embodiment, area management information 5 is written in the area management unit 70 of one block, and the area management information 1, 2, and 3 are written in the area management unit 70 of the other block when and were adapted to initialize the one block.

【0145】これにより、何らかの原因によりデータの更新のうち一方のブロックを初期化している最中に中断された場合は、システムを再起動すると、一方のブロックが初期化し直されるので、データの更新をさらに高い信頼性をもって行うことができる。 [0145] Thus, if it is interrupted one block of the update data for some reason while the initializing and restarting the system, since one block is reinitialized, the data update it can be carried out with a much higher reliability.

【0146】上記実施の形態において、ブロックA,B [0146] In the above embodiment, the block A, B
は、請求項1、2、4ないし7記載の記憶領域に対応し、領域状態情報2は、請求項4または5記載の第1の状態に対応し、領域状態情報3は、請求項4記載の第2 Is the preceding claims 1, 2, 4 corresponds to the storage area of ​​the seventh aspect, the region status information 2 corresponds to the first state according to claim 4, area status information 3, claim 4, wherein the second of
の状態に対応し、領域状態情報4は、請求項4記載の第3の状態に対応し、領域状態情報5は、請求項4または5記載の第4の状態に対応している。 Corresponds to the state, area state information 4 corresponds to the third state according to claim 4, area status information 5 corresponds to the fourth state according to claim 4 or 5, wherein.

【0147】なお、上記実施の形態においては、ブロックを、フラッシュROM52のデータ初期化単位から構成したが、これに限らず、データ初期化単位を2以上組み合わせて構成してもよい。 [0147] In the above embodiment, the block has been constructed from data initialization unit of the flash ROM 52, not limited to this, the data initialization unit may be combined two or more. このような構成であっても、フラッシュROM52の初期化回数を最小限に抑えることができる。 Even with such a configuration, it is possible to suppress the initialization frequency of the flash ROM52 minimized.

【0148】また、上記実施の形態においては、ステップS116からステップS118に移行する間にデータの更新が中断された場合について特に説明しなかったが、こうした場合に対応するため、状態情報が第2,3 [0148] Further, in the embodiments described above, update of the data during the transition from step S116 to step S118 is not particularly described when it is interrupted, in order to respond to such a case, the state information is a second , 3
の状態であるパケットおよび状態情報が第1の状態であるパケットが併存するときは、状態情報が第2,3の状態であるパケットを有効なパケットであると判定するように構成してもよい。 When a packet packet and state information is the state is the first state coexist, the state information may be configured to determine a packet which is second and third states as a valid packet .

【0149】また、上記実施の形態においては、ステップS124からステップS126に移行する間にデータの更新が中断された場合について特に説明しなかったが、こうした場合に対応するため、状態情報が第3の状態であるパケットおよび状態情報が第2の状態であるパケットが併存するときは、状態情報が第2の状態であるパケットを有効なパケットであると判定するように構成してもよい。 [0149] Further, in the embodiments described above, update of the data is not particularly described when it is interrupted during the transition from step S124 to step S126, in order to respond to such a case, the state information is 3 when a packet packet and state information is the state is the second state coexist, the state information may be configured to determine a packet in the second state as a valid packet.

【0150】また、上記実施の形態においては、ステップS306からステップS424に移行する間、またはステップS308からステップS416に移行する間にブロックの更新が中断された場合について特に説明しなかったが、こうした場合に対応するため、領域管理部7 [0150] Further, in the foregoing embodiment, during the transition from step S306 to step S424, or although not specifically described a case where updating of the block is interrupted during the transition from step S308 to step S416, such to cope with a case, area management section 7
0に領域状態情報4が書き込まれているブロックおよび領域管理部70に領域状態情報1が書き込まれているブロックが併存するときは、領域管理部70に領域状態情報4が書き込まれているブロックを有効なブロックであると判定するように構成してもよい。 0 when the block coexist which area state information 1 in the block and the area management unit 70 area state information 4 is written is written, the block area state information 4 in the area management unit 70 is written it may be configured to determine that a valid block.

【0151】また、上記実施の形態においては、ステップS428からステップS430に移行する間、またはステップS420からステップS422に移行する間にブロックの更新が中断された場合について特に説明しなかったが、こうした場合に対応するため、領域管理部7 [0151] Further, in the foregoing embodiment, during the transition from step S428 to step S430, or although not specifically described a case where updating of the block is interrupted during the transition from step S420 to step S422, such to cope with a case, area management section 7
0に領域状態情報3が書き込まれているブロックおよび領域管理部70に領域状態情報4が書き込まれているブロックが併存するときは、領域管理部70に領域状態情報3が書き込まれているブロックを有効なブロックであると判定するように構成してもよい。 0 when the block coexist which area state information 4 to the block and area management unit 70 area state information 3 is written is written, the block area state information 3 in the area management unit 70 is written it may be configured to determine that a valid block.

【0152】また、上記実施の形態においては、データ書込用領域としてのブロックおよびデータ更新用領域としてのブロックをそれぞれ1つずつ用いて構成したが、 [0152] Further, in the embodiments described above, the block as a block and the data update area as a data write area configured by using one each,
これに限らず、データ更新用領域としてのブロックを1 Not limited thereto, a block of the data update area 1
つ、データ書込用領域としてのブロックを複数用いて構成してもよい。 One may be constituted by using a plurality of blocks as data write area. この場合は、ブロックの更新を同時に複数行わないことが条件となる。 In this case, it is not performed multiple update blocks simultaneously the condition. ブロックの更新を同時に複数行う場合は、データ更新用領域としてのブロックを、記憶領域の更新を同時に行う数だけ用意すればよい。 When performing multiple update blocks simultaneously, the block as a data update area may be provided in the number of updating the storage areas at the same time.

【0153】また、上記実施の形態において、図9ないし図13のフローチャートに示す動作処理を実行するにあたっては、フラッシュROM52にあらかじめ格納されているプログラムを実行する場合について説明したが、これに限らず、これらの手順を示したプログラムが記録された記録媒体から、そのプログラムをRAM54 [0153] Further, in the above embodiment, in executing the operation process shown in the flowchart of FIG. 9 through FIG. 13, there has been described a case where executing the program previously stored in the flash ROM 52, not limited to this , from a recording medium in which the program is recorded, which illustrates these steps, the program RAM54
に読み込んで実行するようにしてもよい。 It may be executed read to.

【0154】ここで、記憶媒体とは、RAM、ROM等の半導体記憶媒体、FD、HD等の磁気記憶型記憶媒体、CD、CDV、LD、DVD等の光学的読取方式記憶媒体、MO等の磁気記憶型/光学的読取方式記憶媒体であって、電子的、磁気的、光学的等の読み取り方法のいかんにかかわらず、コンピュータで読み取り可能な記憶媒体であれば、あらゆる記憶媒体を含むものである。 [0154] Here, the storage medium, RAM, a semiconductor storage medium such as a ROM, FD, a magnetic storage type storage medium such as HD, CD, CDV, LD, optical reading type storage medium such as a DVD, an MO, etc. a magnetic storage type / optical reading type storage medium, electronic, magnetic, regardless of reading methods equality, as long as a computer-readable storage medium is intended to include any storage medium.

【0155】また、上記実施の形態においては、本発明に係るフラッシュメモリのデータ管理装置を、フラッシュROM52のデータ初期化単位からなるブロックに、 [0155] Further, in the above embodiment, the data management device of a flash memory according to the present invention, the blocks of data initialization unit of the flash ROM 52,
コンピュータ100の設定に必要なデータを可変長のパケット単位で記憶する場合について適用したが、これに限らず、本発明の主旨を逸脱しない範囲で他の場合についても適用可能である。 It was applied to a case of storing data needed to set up the computer 100 in a variable-length packet units, but not restricted to this but is also applicable to other cases without departing from the scope of the present invention.

【0156】 [0156]

【発明の効果】以上説明したように、本発明に係る請求項1ないし7記載のフラッシュメモリのデータ管理装置によれば、データの書込が完了するまでは、有効なパケットとして識別されないので、データの書込が完了するまでの間に何らかの原因によりデータの書込が中断されても、データ書込途中のパケットのデータが正しいデータとして取り扱われることはない。 As described in the foregoing, according to the data management device for a flash memory according to claim 1 to 7, wherein according to the present invention, since until the writing of data is completed is not identified as a valid packet, even if the data writing by some reason until the writing of data is completed is interrupted, no data for data writing middle of the packet is treated as valid data. また、フラッシュメモリ上でのデータの消去は、消去対象となるデータが格納されているパケットの状態情報を第1の状態に設定することにより行えばよいので、フラッシュメモリの初期化回数が少なくなる。 Further, erasure of data on the flash memory, since it is sufficient by setting the status information of the packet data to be erased is stored in the first state, the initialization count of the flash memory is reduced . したがって、従来に比して、フラッシュメモリの寿命の低下を防止するとともにデータの書換を高速に行うことができ、しかもデータの書込を高い信頼性をもって行うことができるという効果が得られる。 Therefore, as compared with the conventional, the rewriting of data is prevented a reduction in the service life of the flash memory can be performed at high speed, yet effect that the data writing can be performed with high reliability.

【0157】さらに、本発明に係る請求項2記載のフラッシュメモリのデータ管理装置によれば、データの更新が完了するまでは、新たなパケットは、有効なパケットとして識別されないので、データの更新が完了するまでの間に何らかの原因によりデータの更新が中断されても、データ書込途中の新たなパケットのデータが正しいデータとして取り扱われることはない。 [0157] Further, according to the data management device of a flash memory according to claim 2, wherein according to the present invention, until the update of the data is completed, the new packets, because they are not identified as a valid packet, the updating of the data be interrupted update data for some reason until completion, there is no possibility that data of a new packet of data writing course is handled as correct data. したがって、従来に比して、データの更新を高い信頼性をもって行うことができるという効果も得られる。 Therefore, as compared with the conventional, there is also an effect that the data update can be performed with high reliability.

【0158】さらに、本発明に係る請求項3記載のフラッシュメモリのデータ管理装置によれば、記憶領域の記憶容量を超えない任意のデータ長のデータを区分することなく一つのパケットとして記憶領域に記憶することができるので、可変長のデータの管理が容易になるという効果も得られる。 [0158] Further, according to the data management device of a flash memory according to claim 3, wherein according to the present invention, the storage area as one packet without partitioning the data of arbitrary data length not exceeding the storage capacity of the storage area it is possible to store, there is also an effect that the management of the variable-length data is facilitated.

【0159】さらに、本発明に係る請求項4記載のフラッシュメモリのデータ管理装置によれば、記憶領域の更新が完了するまでは、更新先となる別の記憶領域は、有効な記憶領域として識別されないので、記憶領域の更新が完了するまでの間に何らかの原因により記憶領域の更新が中断されても、データ書込途中の更新先となる別の記憶領域のデータが正しいデータとして取り扱われることはない。 [0159] Further, according to the data management device of a flash memory according to claim 4, wherein according to the present invention, until the update of the storage area is completed, another storage area to be updated destination identified as a valid storage area since it is not, also updates the storage area for some reason until the update of the storage area is completed is interrupted, the data of another storage region to be a data writing during the update destination is handled as correct data Absent. したがって、データの更新をさらに高い信頼性をもって行うことができるという効果も得られる。 Therefore, there is also an effect that it is possible to perform with a higher reliability update data.

【0160】さらに、本発明に係る請求項5記載のフラッシュメモリのデータ管理装置によれば、記憶領域を更新するたびに新たな記憶領域が別の記憶領域となることがないので、フラッシュメモリの記憶領域を有効に利用することができるという効果も得られる。 [0160] Further, according to the data management device of a flash memory according to claim 5, wherein according to the present invention, since a new storage area in each time of updating the storage area is not to be another storage area, a flash memory effect that the storage area can be effectively used also obtained.

【0161】さらに、本発明に係る請求項6記載のフラッシュメモリのデータ管理装置によれば、更新前の記憶領域および更新先となる別の記憶領域の領域状態情報の状態に応じて、更新前の記憶領域および更新先となる別の記憶領域に対する処理を逐次判定する必要がなくなるので、データの書換に関する処理を簡素化することができるという効果も得られる。 [0161] Further, according to the data management device of a flash memory according to claim 6, wherein according to the present invention, depending on the state of the area state information of another storage area to be updated before the storage area and the update destination, the pre-update since the storage area and the updated destination sequentially determines it unnecessary processing for another storage area composed, so that it is possible to simplify the process related to rewriting of data.

【0162】さらに、本発明に係る請求項7記載のフラッシュメモリのデータ管理装置によれば、フラッシュメモリの初期化回数を最小限に抑えることができるという効果も得られる。 [0162] Further, according to the data management device of a flash memory according to claim 7, wherein according to the present invention, so that it is possible to suppress the initialization count of the flash memory to a minimum.

【図面の簡単な説明】 BRIEF DESCRIPTION OF THE DRAWINGS

【図1】コンピュータ100の構成を示すブロック図である。 1 is a block diagram showing a configuration of a computer 100.

【図2】ブロックA,Bのデータ構造を示す図である。 2 is a block A, a diagram showing the data structure of the B.

【図3】領域管理部70のデータ構造を示す図である。 3 is a diagram showing the data structure of the area management unit 70.

【図4】領域状態情報の内容を示す図である。 4 is a diagram showing the contents of the area status information.

【図5】パケット部72のデータ構造を示す図である。 5 is a diagram showing the data structure of the packet 72.

【図6】管理部80のデータ構造を示す図である。 6 is a diagram showing the data structure of the management unit 80.

【図7】状態情報の内容を示す図である。 FIG. 7 is a diagram showing the contents of the state information.

【図8】処理定義テーブルのデータ構造を示す図である。 8 is a diagram showing the data structure of the process definition table.

【図9】データ書込処理を示すフローチャートである。 9 is a flowchart showing a data writing process.

【図10】データ読込処理を示すフローチャートである。 10 is a flowchart showing a data reading process.

【図11】ブロック更新処理を示すフローチャートである。 11 is a flowchart showing the block update process.

【図12】ステップS300の処理定義テーブルに基づく処理を示すフローチャートである。 12 is a flowchart showing processing based on the processing definition table in step S300.

【図13】ステップS300の処理定義テーブルに基づく処理を示すフローチャートである。 13 is a flowchart showing processing based on the processing definition table in step S300.

【図14】ブロックBに対してデータを更新する場合を説明するための図である。 14 is a diagram for explaining a case of updating data to the block B.

【符号の説明】 DESCRIPTION OF SYMBOLS

100 コンピュータ 50 CPU 52 ROM 54 RAM 55 VRAM 56 グラフィックチップ 57 RTC 58 I/F 59 バス 60 タッチパネル 70 領域管理部 72 パケット部 80 管理部 82 データ部 P 1 〜P nパケット 100 Computer 50 CPU 52 ROM 54 RAM 55 VRAM 56 graphic chip 57 RTC 58 I / F 59 bus 60 touch panel 70 area management unit 72 the packet 80 management unit 82 data portion P 1 to P n packets

Claims (7)

    【特許請求の範囲】 [The claims]
  1. 【請求項1】 フラッシュメモリの記憶領域にパケット単位でデータを記憶する装置であって、 前記パケットは、当該パケットの管理に関する管理データを格納するための管理部と、記憶すべきデータを格納するためのデータ部とからなり、 前記管理部には、前記管理データとして、前記パケットの異なる2つの状態を示す状態情報が格納可能となっており、 データを記憶するときは、記憶すべきデータを格納するためのパケットを前記記憶領域に生成し、データ書込開始時に前記パケットの状態情報をデータの新規書込中であることを示す第1の状態に設定し、前記パケットのデータ部に前記記憶すべきデータを書き込み、データ書込完了時に前記パケットの状態情報をデータの新規書込が完了したことを示す第2の状態に設定し、 前記 1. A device for storing data in units of packets in the storage area of ​​the flash memory, the packet stores a management unit for storing management data related to the management of the packet, the data to be stored It consists of a data unit for, in the management unit, as said management data, status information indicating two different states of said packet has a retractable, when storing the data, the data to be stored a packet for storing generated in the storage area, sets the state information of the packet to the data write start in a first state indicating that it is new data writing, the data portion of the packet write data to be stored, and sets the state information of the packet to the data write completion to a second state indicating that the new writing is complete data, the 態情報が前記第2の状態であるパケットを有効なパケットであると判定し、前記状態情報が前記第1の状態であるパケットを無効なパケットであると判定するようになっていることを特徴とするフラッシュメモリのデータ管理装置。 Wherein the state information is adapted to determine that the packet is a second state is determined to be a valid packet, the status information is invalid packet a packet is the first state the data management system of flash memory to be.
  2. 【請求項2】 請求項1において、 前記状態情報は、前記パケットのさらに異なる2つの状態を示すようになっており、 前記パケットのデータを更新するときは、更新すべきデータを格納するための新たなパケットを前記記憶領域に生成し、データ書込開始時に前記パケットの状態情報をデータの更新中であることを示す第3の状態に且つ前記新たなパケットの状態情報を前記第1の状態に設定し、 2. A method according to claim 1, wherein the status information is as shown a further two different states of the packet, when updating the data of the packet, for storing the data to be updated generates a new packet in the storage area, of the packet to the data write start state information a third indicating that an updating of the data state and the new packet status information the first state set in,
    前記新たなパケットのデータ部に前記更新すべきデータを書き込み、データ書込完了時に前記新たなパケットの状態情報を前記第2の状態に且つ前記パケットの状態情報をデータの更新が完了したことを示す第4の状態に設定し、 前記状態情報が前記第2の状態又は前記第3の状態であるパケットを有効なパケットであると判定し、前記状態情報が前記第1の状態又は前記第4の状態であるパケットを無効なパケットであると判定するようになっていることを特徴とするフラッシュメモリのデータ管理装置。 Writing data said to be updated in the data portion of the new packet, said and updating of the data state information of the packet status information of the new packet to the second state in the data write completion is completed the fourth set state, the state information determines packet is the second state or the third state as a valid packet, wherein the state information is a first state or the fourth showing data management device of a flash memory, characterized in that it is a it is a status packet to be determined to be invalid packets.
  3. 【請求項3】 請求項1及び2のいずれかにおいて、 前記パケットは、可変長であり、 前記管理部には、前記管理データとして、当該パケットのデータ長を示すデータ長情報が格納可能となっており、 前記データ長情報に基づいて、前記パケットの格納位置を特定するようになっていることを特徴とするフラッシュメモリのデータ管理装置。 3. In any of claims 1 and 2, the packet is variable length, the management unit, as said management data, data length information indicating the data length of the packet and can store and which, based on said data length information, the data management device of a flash memory is characterized in that is adapted to identify the storage location of the packet.
  4. 【請求項4】 請求項1乃至3のいずれかに記載のフラッシュメモリのデータ管理装置により前記記憶領域にパケット単位でデータを記憶し、前記記憶領域とは異なる別の記憶領域を用いて当該記憶領域を更新する装置であって、 前記記憶領域は、当該記憶領域の管理に関する領域管理データを格納するための領域管理部と、パケットを格納するためのパケット部とからなり、 前記領域管理部には、前記領域管理データとして、前記記憶領域の異なる4つの状態を示す領域状態情報が格納可能となっており、 前記記憶領域を更新するときは、データ書込開始時に前記記憶領域の領域状態情報をデータの更新中であることを示す第3の状態に且つ前記別の記憶領域の領域状態情報をデータの新規書込中であることを示す第1の状態に設定し、前 4. A stores data in a packet unit in the storage area by the data management device of a flash memory according to any one of claims 1 to 3, the storage using different separate storage area from said storage area an apparatus for updating area, said storage area consists of a region managing unit for storing region management data related to the management of the storage area, and the packet unit for storing the packets, the area management unit , said a region management data area state information indicating the four different states of said storage area has a retractable, when updating the storage area, area state information of the storage area in the data writing start set to a first state indicating that a and area state information of said another storage area in the third state indicating that the updating of data is being new data writing, before 記記憶領域の有効なパケットのデータを前記別の記憶領域のパケット部に書き込み、データ書込完了時に前記別の記憶領域の領域状態情報をデータの新規書込が完了したことを示す第2の状態に且つ前記記憶領域の領域状態情報をデータの更新が完了したことを示す第4の状態に設定し、 前記領域状態情報が前記第2の状態又は前記第3の状態である記憶領域を有効な記憶領域であると判定し、前記領域状態情報が前記第1の状態又は前記第4の状態である記憶領域を無効な記憶領域であると判定するようになっていることを特徴とするフラッシュメモリのデータ管理装置。 Write data valid packet of the serial storage area to the packet portion of the another storage area, data writing completion time said another storage region the second indicating that the new data writing has been completed the area state information to set state and the area state information of the storage area to the fourth state indicating that the updating of the data is completed, the area state information is valid the second state or the storage area is a third state determines that Do is a storage area, a flash, wherein the area state information is adapted to determine said first state or said storage area is a fourth state is invalid storage area the data management system of memory.
  5. 【請求項5】 請求項4において、 前記領域状態情報が前記第1の状態又は前記第4の状態である記憶領域を前記別の記憶領域として用いるようになっていることを特徴とするフラッシュメモリのデータ管理装置。 5. The method of claim 4, the flash memory, wherein the area state information is adapted to use said first state or said storage area is a fourth state as said another storage area data management device.
  6. 【請求項6】 請求項4及び5のいずれかにおいて、 前記記憶領域の領域状態情報及び前記別の記憶領域の領域状態情報の状態に応じて前記記憶領域又は前記別の記憶領域に対する処理を割り当てた処理定義テーブルを参照して、前記記憶領域又は前記別の記憶領域に対する処理を実行するようになっていることを特徴とするフラッシュメモリのデータ管理装置。 6. In any of the claims 4 and 5, assigns the processing to the storage area or said other storage areas according to the state of the area state information and the area state information of said another storage area of ​​the storage area processing with reference to the definition table, the data management device of a flash memory is characterized in that so as to perform the processing for the storage area or the another storage area.
  7. 【請求項7】 請求項1乃至6のいずれかにおいて、 前記記憶領域は、フラッシュメモリのデータ初期化単位からなることを特徴とするフラッシュメモリのデータ管理装置。 7. The one of claims 1 to 6, wherein the storage area, the data management device of a flash memory characterized by comprising the data initialization unit of the flash memory.
JP32998699A 1999-11-19 1999-11-19 The data management system of flash memory Expired - Fee Related JP3858538B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP32998699A JP3858538B2 (en) 1999-11-19 1999-11-19 The data management system of flash memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32998699A JP3858538B2 (en) 1999-11-19 1999-11-19 The data management system of flash memory

Publications (3)

Publication Number Publication Date
JP2001147864A true true JP2001147864A (en) 2001-05-29
JP2001147864A5 true JP2001147864A5 (en) 2004-12-16
JP3858538B2 JP3858538B2 (en) 2006-12-13

Family

ID=18227502

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32998699A Expired - Fee Related JP3858538B2 (en) 1999-11-19 1999-11-19 The data management system of flash memory

Country Status (1)

Country Link
JP (1) JP3858538B2 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003010671A1 (en) * 2001-07-25 2003-02-06 Sony Corporation Non-volatile memory and non-volatile memory data rewriting method
WO2003075163A1 (en) * 2002-03-05 2003-09-12 Sanyo Electric Co., Ltd. Data storing device
JP2006268817A (en) * 2005-02-28 2006-10-05 Sony Corp Storage method, its device, and program
JP2008077669A (en) * 2007-10-09 2008-04-03 Mitsubishi Electric Corp Recording method
US7650328B2 (en) 2002-07-25 2010-01-19 Sanyo Electric Co., Ltd. Data storage device capable of storing multiple sets of history information on input/output processing of security data without duplication
US7752461B2 (en) 2002-01-15 2010-07-06 Sanyo Electric Co., Ltd. Storage apparatus that can properly recommence input and output of classified data
US7907441B2 (en) 2007-10-31 2011-03-15 Samsung Electronics Co., Ltd. Data management method and mapping table update method in non-volatile memory device

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003010671A1 (en) * 2001-07-25 2003-02-06 Sony Corporation Non-volatile memory and non-volatile memory data rewriting method
US7240178B2 (en) 2001-07-25 2007-07-03 Sony Corporation Non-volatile memory and non-volatile memory data rewriting method
US7752461B2 (en) 2002-01-15 2010-07-06 Sanyo Electric Co., Ltd. Storage apparatus that can properly recommence input and output of classified data
US7716746B2 (en) 2002-03-05 2010-05-11 Sanyo Electric Co., Ltd. Data storing device for classified data
WO2003075163A1 (en) * 2002-03-05 2003-09-12 Sanyo Electric Co., Ltd. Data storing device
US7650328B2 (en) 2002-07-25 2010-01-19 Sanyo Electric Co., Ltd. Data storage device capable of storing multiple sets of history information on input/output processing of security data without duplication
JP2006268817A (en) * 2005-02-28 2006-10-05 Sony Corp Storage method, its device, and program
JP2008077669A (en) * 2007-10-09 2008-04-03 Mitsubishi Electric Corp Recording method
US7907441B2 (en) 2007-10-31 2011-03-15 Samsung Electronics Co., Ltd. Data management method and mapping table update method in non-volatile memory device

Also Published As

Publication number Publication date Type
JP3858538B2 (en) 2006-12-13 grant

Similar Documents

Publication Publication Date Title
US6282647B1 (en) Method for flashing a read only memory (ROM) chip of a host adapter with updated option ROM bios code
US7299463B2 (en) Method for atomically updating a plurality of files
US20020073297A1 (en) Computer system
US6233641B1 (en) Apparatus and method of PCI routing in a bridge configuration
US7069393B2 (en) Storage system providing file aware caching and file aware remote copy
US6671768B1 (en) System and method for providing dynamic configuration ROM using double image buffers for use with serial bus devices
US6532538B1 (en) Method and system for supporting multiple operating systems on the same disk running on different computers at the same time
US20040225873A1 (en) Method and system for recovering program code in a computer system
US6470380B1 (en) Signal processing device accessible as memory
US20080141016A1 (en) Computer System and Related Method for Preventing Failure of Updating BIOS Programs
US6944742B1 (en) Compressed file system for non-volatile RAM
JP2001100983A (en) Control method of computer, computer, and recording medium
US6631468B1 (en) Bootable packet written re-writable optical disc and methods for making same
JPH09282169A (en) Input/output data managing system
JP2001154909A (en) Flash memory management device and recording medium
US20040064635A1 (en) Method of storing data in a non-volatile memory and apparatus therefor
US20050193240A1 (en) Dynamic reconfiguration of memory in a multi-cluster storage control unit
US20060031810A1 (en) Method and apparatus for referencing thread local variables with stack address mapping
JP2003036204A (en) Flash memory update method
JP2005157528A (en) Memory device
US20040250007A1 (en) Storage management method
US7225351B2 (en) Method of switching connection of a gateway card from a processor, which has entered a low power mode, to a memory for constant communication
US20070113041A1 (en) Data processing system, storage apparatus and management console
JP2002236560A (en) Computer system
JP2001051883A (en) Method for self-restoration by nonvolatile memory and novolatile memory device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040115

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060613

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060620

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060801

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060829

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060911

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090929

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100929

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100929

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110929

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120929

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130929

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees