JPH11328039A - Device and method for memory control and computer-readable storage medium having stored program - Google Patents

Device and method for memory control and computer-readable storage medium having stored program

Info

Publication number
JPH11328039A
JPH11328039A JP10137844A JP13784498A JPH11328039A JP H11328039 A JPH11328039 A JP H11328039A JP 10137844 A JP10137844 A JP 10137844A JP 13784498 A JP13784498 A JP 13784498A JP H11328039 A JPH11328039 A JP H11328039A
Authority
JP
Japan
Prior art keywords
data
importance
setting
memory
error detection
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.)
Pending
Application number
JP10137844A
Other languages
Japanese (ja)
Inventor
Reiji Hashimoto
礼児 橋本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP10137844A priority Critical patent/JPH11328039A/en
Publication of JPH11328039A publication Critical patent/JPH11328039A/en
Pending legal-status Critical Current

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Hardware Redundancy (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

PROBLEM TO BE SOLVED: To simultaneously minimize the write frequency and the danger of data loss due to a fact that data in a buffer are not written, by setting the importance for respective data which are written for every category and writing redundant data obtained by converting the data into a nonvolatile memory according to the set importance. SOLUTION: When data are written to a buffer memory 3 frequently, redundant data corresponding to the data are written to the nonvolatile memory 4 according to the importance of the data. Consequently, memory access environment wherein the update of the redundant data is limited for data which is not important, but written frequently and the redundant data is securely written to the nonvolatile memory 4 for data which is important, but not written frequently can be secured. Only data of a category which needs to be written can be written to a device in detail and the danger of data loss can be evaded.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、種別の異なるメモ
リ媒体を介してデータ処理を行うためのメモリアクセス
を制御するメモリ制御装置およびメモリ制御方法および
コンピュータが読み出し可能なプログラムを格納した記
憶媒体に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a memory control device and a memory control method for controlling memory access for performing data processing via different types of memory media, and a storage medium storing a computer readable program. Things.

【0002】[0002]

【従来の技術】従来、記憶媒体、特に、電源が遮断され
ても記憶内容が保持でき、内容の書き換えも可能なメモ
リとしてEEPROM(電気的に消去書込み可能な読み
出し専用メモリ)が種種のデータ処理装置や電子機器に
利用されている。
2. Description of the Related Art Conventionally, a storage medium, in particular, an EEPROM (electrically erasable and writable read-only memory) has been used as a memory capable of retaining stored contents even when the power is turned off and rewriting the contents. Used in equipment and electronic equipment.

【0003】一般に、EEPROMは安価である反面、
書込み時間が比較的長く(lms程度)、1記憶セルあ
たりの書込み回数は、100000回程度の制限があ
る。
[0003] In general, EEPROM is inexpensive,
The writing time is relatively long (about 1 ms), and the number of writing times per storage cell is limited to about 100,000.

【0004】また、EEPROMはデータ書き込み中に
電源が切られると、記憶内容が破壊されてしまうので、
このような事態を完全に防止するためには、電源断状態
を検知して未書き込みのデータをデバイスに書き込む必
要がある。
[0004] In addition, if the power of the EEPROM is turned off during data writing, the stored contents are destroyed.
In order to completely prevent such a situation, it is necessary to detect a power-off state and write unwritten data to the device.

【0005】しかし、そのためには電源断状態を検知し
てその状態を通知する手段と、全データを書き込むのに
十分な時間だけ電圧を維持できる電源が必要となるの
で、コストがかさみEEPROMを使用したことによる
メリットが薄れてしまう。
However, this requires a means for detecting a power-off state and notifying the state, and a power supply capable of maintaining a voltage for a sufficient time to write all data. The benefits of doing so diminish.

【0006】そこで、ある程度のデータ破壊は不可避で
あるとの前提に立ち、冗長コードを付加したり、複数書
き込みを行うなどエラー検出および訂正が可能な構成が
従来より知られている。
Therefore, on the premise that a certain degree of data destruction is inevitable, a configuration capable of detecting and correcting an error, such as adding a redundant code or performing a plurality of writings, is conventionally known.

【0007】ところが、冗長コードを付加すると、たっ
た1ワードのデータを更新しただけでも冗長コードは必
ず更新しなくてはならないので、冗長コードを記憶する
セルに書き込みが集中してしまう。
However, when a redundant code is added, even if only one word of data is updated, the redundant code must be updated. Therefore, writing concentrates on cells storing the redundant code.

【0008】その結果、データを記録するセルの書き込
み回数が上限に達していないにもかかわらず、冗長コー
ドを記憶するセルに書き込みのために、書き込み回数の
上限に達してしまうという問題が生じる。
As a result, there arises a problem that the upper limit of the number of times of writing is reached because the number of times of writing to the cell storing the redundant code is reached even though the number of times of writing of the cell for recording data has not reached the upper limit.

【0009】これを回避するために、書込み回数そのも
のをEEPROMに記録して、上限に達した記憶セルに
対して代替記憶領域を割り付ける構成、あるいはEEP
ROMの特定の記憶セルにのみ書き込みが集中しないよ
うに定期的に書き込み位置を変更する構成などが知られ
ている。
In order to avoid this, the number of times of writing itself is recorded in an EEPROM, and an alternative storage area is allocated to a storage cell which has reached the upper limit.
There is known a configuration in which a writing position is periodically changed so that writing is not concentrated only on a specific storage cell of a ROM.

【0010】[0010]

【発明が解決しようとする課題】しかしながら、エラー
検出およびエラー訂正が可能で、かつ書き込み回数の制
限にかからないEEPROM書き込み装置を実現するこ
とは可能であるが、代替となる記憶領域が必要であるた
め、EEPROMの使用効率が低くなってしまうという
問題がある。
However, although it is possible to realize an EEPROM writing device that can detect and correct errors and does not limit the number of times of writing, an alternative storage area is required. However, there is a problem that the use efficiency of the EEPROM is lowered.

【0011】また、安価な電子機器で多く使用されてい
るシリアル接続タイプのEEPROMデバイスの記憶容
量は最大でも数kbit程度にすぎず、記憶項目の多い
電子機器においては特にEEPROMの使用効率の低下
がコストアップの要因となってしまう等の問題点があっ
た。
Further, the storage capacity of a serial connection type EEPROM device which is often used in inexpensive electronic equipment is only a few kbits at the maximum, and in an electronic equipment having many storage items, the use efficiency of the EEPROM is particularly reduced. There were problems such as an increase in cost.

【0012】本発明は上記の問題点を解消するためにな
されたもので、本発明の目的は、バッファメモリにカテ
ゴリを設定し、かつ、各カテゴリ毎に書込まれる各デー
タの重要度を設定し、該設定された重要度に応じて各デ
ータから変換される冗長データを不揮発性メモリに対し
て書込むことにより、書込みが必要なカテゴリのデータ
のみを、きめ細かくデバイスヘ書き込むことができ、書
き込み回数と、バッファ上のデータが書き込まれていな
いことによるデータ損失の危険性を同時に最小化できる
メモリ制御を自在に行えるメモリ制御装置およびメモリ
制御方法およびコンピュータが読み出し可能なプログラ
ムを格納した記憶媒体を提供することである。
An object of the present invention is to set a category in a buffer memory and to set the importance of each data to be written for each category. Then, by writing the redundant data converted from each data in accordance with the set importance to the nonvolatile memory, only the data of the category which needs to be written can be finely written to the device. And a memory control device, a memory control method, and a storage medium storing a computer-readable program capable of freely performing a memory control capable of simultaneously minimizing a risk of data loss due to no data being written in a buffer. It is to be.

【0013】[0013]

【課題を解決するための手段】本発明に係る第1の発明
は、書き換え可能な不揮発性メモリと、前記不揮発性メ
モリに書き込むためのデータを記憶するバッファメモリ
と、前記バッファメモリのアドレス毎にデータを書き込
むバッファ書き込み手段と、前記バッファメモリのアド
レス毎にカテゴリを設定する第1の設定手段と、前記第
1の設定手段により設定された各カテゴリ毎に前記バッ
ファメモリに書き込まれる各データの重要度を設定する
第2の設定手段と、前記バッファメモリに書き込まれる
各データを前記第2の設定手段により設定された各重要
度に応じた冗長度を持つ冗長データにそれぞれ変換する
変換手段と、前記変換手段により変換された各冗長デー
タを格納する前記不揮発性メモリ上の格納アドレスを設
定する第3の設定手段と、前記第3の設定手段により設
定された格納アドレスに基づいて各冗長データを前記不
揮発性メモリ上に書き込むバッファフラッシュ手段とを
有するものである。
According to a first aspect of the present invention, there is provided a rewritable nonvolatile memory, a buffer memory for storing data to be written in the nonvolatile memory, and an address for each address of the buffer memory. Buffer writing means for writing data, first setting means for setting a category for each address of the buffer memory, and importance of each data written to the buffer memory for each category set by the first setting means. Second setting means for setting a degree, and conversion means for converting each data written in the buffer memory into redundant data having a redundancy corresponding to each degree of importance set by the second setting means, A third setting for setting a storage address on the nonvolatile memory for storing each redundant data converted by the conversion means; And the step is each redundant data based on the third set storage address set by means having a buffer flush means for writing on said non-volatile memory.

【0014】本発明に係る第2の発明は、前記第2の設
定手段は、エラー検出およびエラー訂正が不要な第1の
重要度,エラー検出のみ必要な第2の重要度,エラー検
出およびエラー訂正がともに必要な第3の重要度とする
ものである。
According to a second aspect of the present invention, the second setting means includes: a first importance level that does not require error detection and error correction; a second importance level that requires only error detection; This is the third importance that needs to be corrected together.

【0015】本発明に係る第3の発明は、前記変換手段
は、エラー検出およびエラー訂正が不要な第1の重要度
のカテゴリに対してはデータブロックを冗長度とする冗
長データに変換するものである。
According to a third aspect of the present invention, the conversion means converts data blocks into redundant data having a redundancy for a first importance category which does not require error detection and error correction. It is.

【0016】本発明に係る第4の発明は、前記変換手段
は、エラー検出のみ必要な第2の重要度のカテゴリに対
してはチェックサムコードないしCRCコードを付加し
たデータブロックを冗長度とする冗長データに変換する
ものである。
According to a fourth aspect of the present invention, the conversion means sets a data block to which a checksum code or a CRC code is added to a second importance category requiring only error detection as redundancy. It is converted into redundant data.

【0017】本発明に係る第5の発明は、前記変換手段
は、エラー検出およびエラー訂正がともに必要な第3の
重要度のカテゴリに対してはチェックサムコードないし
CRCコードを付加したデータブロックを二重化したも
のを冗長度とする冗長データに変換するものである。
According to a fifth aspect of the present invention, the conversion means converts a data block to which a checksum code or a CRC code is added for a third importance category requiring both error detection and error correction. The duplication is converted into redundant data having redundancy.

【0018】本発明に係る第6の発明は、書き換え可能
な不揮発性メモリと不揮発性メモリに書き込むためのデ
ータを記憶するバッファメモリとに対するアクセスを制
御するメモリ制御方法であって、前記バッファメモリの
アドレス毎にデータを書き込むバッファ書き込み工程
と、前記バッファメモリのアドレス毎にカテゴリを設定
する第1の設定工程と、前記第1の設定工程により設定
された各カテゴリ毎に前記バッファメモリに書き込まれ
る各データの重要度を設定する第2の設定工程と、前記
バッファメモリに書き込まれる各データを前記第2の設
定工程により設定された各重要度に応じた冗長度を持つ
冗長データにそれぞれ変換する変換工程と、前記変換工
程により変換された各冗長データを格納する前記不揮発
性メモリ上の格納アドレスを設定する第3の設定工程
と、前記第3の設定工程により設定された格納アドレス
に基づいて各冗長データを前記不揮発性メモリ上に書き
込むバッファフラッシュ工程とを有するものである。
According to a sixth aspect of the present invention, there is provided a memory control method for controlling access to a rewritable nonvolatile memory and a buffer memory for storing data to be written to the nonvolatile memory. A buffer writing step of writing data for each address, a first setting step of setting a category for each address of the buffer memory, and each of the categories written to the buffer memory for each category set in the first setting step. A second setting step of setting the importance of the data, and a conversion of converting each data written in the buffer memory into redundant data having a redundancy corresponding to each importance set in the second setting step. And storing the redundant data converted in the conversion step in the nonvolatile memory. A third setting step for setting a less is the third of each redundant data based on the set storage address by setting step having a buffer flush step of writing on the non-volatile memory.

【0019】本発明に係る第7の発明は、前記第2の設
定工程は、エラー検出およびエラー訂正が不要な第1の
重要度,エラー検出のみ必要な第2の重要度,エラー検
出およびエラー訂正がともに必要な第3の重要度とする
ものである。
According to a seventh aspect of the present invention, in the second setting step, the error detection and error correction are not required, the second importance is required only error detection, the error detection and error detection are not required. This is the third importance that needs to be corrected together.

【0020】本発明に係る第8の発明は、前記変換工程
は、エラー検出およびエラー訂正が不要な第1の重要度
のカテゴリに対してはデータブロックを冗長度とする冗
長データに変換するものである。
According to an eighth aspect of the present invention, in the conversion step, the data blocks are converted into redundant data having a redundancy for the first category of importance that does not require error detection and error correction. It is.

【0021】本発明に係る第9の発明は、前記変換工程
は、エラー検出のみ必要な第2の重要度のカテゴリに対
してはチェックサムコードないしCRCコードを付加し
たデータブロックを冗長度とする冗長データに変換する
ものである。
According to a ninth aspect of the present invention, in the conversion step, a data block to which a checksum code or a CRC code is added is used as a redundancy for the second importance category requiring only error detection. It is converted into redundant data.

【0022】本発明に係る第10の発明は、前記変換工
程は、エラー検出およびエラー訂正がともに必要な第3
の重要度のカテゴリに対してはチェックサムコードない
しCRCコードを付加したデータブロックを二重化した
ものを冗長度とする冗長データに変換するものである。
According to a tenth aspect of the present invention, in the conversion step, the third step requires both error detection and error correction.
For the category of importance, the data block to which a checksum code or a CRC code is added is converted into redundant data having redundancy as a duplicated data block.

【0023】本発明に係る第11の発明は、書き換え可
能な不揮発性メモリと不揮発性メモリに書き込むための
データを記憶するバッファメモリとを介してデータ処理
を行うデータ処理装置を制御するコンピュータが読み出
し可能なプログラムを格納した記憶媒体であって、前記
バッファメモリのアドレス毎にデータを書き込むバッフ
ァ書き込み工程と、前記バッファメモリのアドレス毎に
カテゴリを設定する第1の設定工程と、前記第1の設定
工程により設定された各カテゴリ毎に前記バッファメモ
リに書き込まれる各データの重要度を設定する第2の設
定工程と、前記バッファメモリに書き込まれる各データ
を前記第2の設定工程により設定された各重要度に応じ
た冗長度を持つ冗長データにそれぞれ変換する変換工程
と、前記変換工程により変換された各冗長データを格納
する前記不揮発性メモリ上の格納アドレスを設定する第
3の設定工程と、前記第3の設定工程により設定された
格納アドレスに基づいて各冗長データを前記不揮発性メ
モリ上に書き込むバッファフラッシュ工程とを有するコ
ンピュータが読み出し可能なプログラムを記憶媒体に格
納したものである。
An eleventh invention according to the present invention is directed to a computer which controls a data processing device which performs data processing via a rewritable nonvolatile memory and a buffer memory for storing data to be written to the nonvolatile memory. A storage medium storing a possible program, wherein: a buffer writing step of writing data for each address of the buffer memory; a first setting step of setting a category for each address of the buffer memory; A second setting step of setting the importance of each data to be written to the buffer memory for each category set by the step; and setting each data to be written to the buffer memory to each of the categories set by the second setting step. A conversion step of converting into redundant data having redundancy according to importance, and the conversion step A third setting step of setting a storage address on the non-volatile memory for storing the converted redundant data, and converting the redundant data to the non-volatile data based on the storage address set in the third setting step. A computer readable program having a buffer flush step of writing on a memory is stored in a storage medium.

【0024】本発明に係る第12の発明は、前記第2の
設定工程は、エラー検出およびエラー訂正が不要な第1
の重要度,エラー検出のみ必要な第2の重要度,エラー
検出およびエラー訂正がともに必要な第3の重要度とす
るコンピュータが読み出し可能なプログラムを記憶媒体
に格納したものである。
According to a twelfth aspect of the present invention, in the second setting step, the first setting step which does not require error detection and error correction is performed.
And a computer-readable program having a third importance that requires only error detection and a third importance that requires both error detection and error correction are stored in a storage medium.

【0025】本発明に係る第13の発明は、前記変換工
程は、エラー検出およびエラー訂正が不要な第1の重要
度のカテゴリに対してはデータブロックを冗長度とする
冗長データに変換するコンピュータが読み出し可能なプ
ログラムを記憶媒体に格納したものである。
According to a thirteenth aspect of the present invention, in the conversion step, the computer converts the data block into redundant data having a redundancy for the first category of importance that does not require error detection and error correction. Are readable programs stored in a storage medium.

【0026】本発明に係る第14の発明は、前記変換工
程は、エラー検出のみ必要な第2の重要度のカテゴリに
対してはチェックサムコードないしCRCコードを付加
したデータブロックを冗長度とする冗長データに変換す
るコンピュータが読み出し可能なプログラムを記憶媒体
に格納したものである。
According to a fourteenth aspect of the present invention, in the conversion step, a data block to which a checksum code or a CRC code is added is used as a redundancy for the second importance category requiring only error detection. A computer-readable program for converting into redundant data is stored in a storage medium.

【0027】本発明に係る第15の発明は、前記変換工
程は、エラー検出およびエラー訂正がともに必要な第3
の重要度のカテゴリに対してはチェックサムコードない
しCRCコードを付加したデータブロックを二重化した
ものを冗長度とする冗長データに変換するコンピュータ
が読み出し可能なプログラムを記憶媒体に格納したもの
である。
According to a fifteenth aspect of the present invention, in the conversion step, the third step which requires both error detection and error correction is performed.
For the category of importance, a computer-readable program for converting a duplicated data block to which a checksum code or a CRC code is added into redundant data having redundancy is stored in a storage medium.

【0028】[0028]

【発明の実施の形態】以下、図面を参照して本発明の実
施形態を詳細に説明する。
Embodiments of the present invention will be described below in detail with reference to the drawings.

【0029】図1は、本発明の一実施形態を説明するメ
モリ制御装置を適用可能なデータ処理装置の構成を説明
するブロック図である。
FIG. 1 is a block diagram illustrating a configuration of a data processing device to which a memory control device according to an embodiment of the present invention can be applied.

【0030】図において、1はCPUで、EEPROM
4,ROM2に記憶される制御プログラム,データに基
づいて所定のデータ処理を行う。3はRAMで、CPU
1のワークメモリとして機能する。なお、EEPROM
4とCPU1とはシリアルポートを介して接続されてい
る。また、CPU1とROM2,RAM3とはバス接続
されている。また、ROM2には本発明のアルゴリズム
がプログラムの一部として格納されており、RAM3は
プログラムのワークエリアおよびバッファメモリとして
用いられる。
In the figure, 1 is a CPU, an EEPROM
4. Perform predetermined data processing based on control programs and data stored in the ROM 2. 3 is a RAM, a CPU
It functions as one work memory. In addition, EEPROM
4 and the CPU 1 are connected via a serial port. The CPU 1, the ROM 2, and the RAM 3 are connected by a bus. The algorithm of the present invention is stored in the ROM 2 as a part of the program, and the RAM 3 is used as a work area of the program and a buffer memory.

【0031】図2は、図1に示したEEPROM4とR
AM3とのデータアクセス状態を説明する模式図であ
り、図1と同一のものには同一の符号を付してある。
FIG. 2 shows the relationship between the EEPROM 4 shown in FIG.
FIG. 2 is a schematic diagram illustrating a data access state with AM3, and the same components as those in FIG. 1 are denoted by the same reference numerals.

【0032】図において、3a〜3cはバッファメモリ
で、カテゴリa,b,cに分割されて確保されている。
5a〜5cは書込みデータで、各カテゴリa,b,c毎
のバッファメモリ3a〜3cに書き込まれる。
In the figure, reference numerals 3a to 3c denote buffer memories which are divided into categories a, b, and c and secured.
Write data 5a to 5c are written in the buffer memories 3a to 3c for each of the categories a, b, and c.

【0033】6a〜6cは重要度設定値で、各カテゴリ
毎に設定される。7a〜7cは冗長データ生成装置で、
重要度設定値6a〜6cに応じた冗長データを生成す
る。8a〜8cは各カテゴリ毎の冗長データで、EEP
ROM4上に書き込まれる。
6a to 6c are importance setting values which are set for each category. 7a to 7c are redundant data generation devices,
The redundant data according to the importance setting values 6a to 6c is generated. 8a to 8c are redundant data for each category,
Written on ROM4.

【0034】なお、カテゴリa,b,cヘの分割は、デ
ータを更新すべきタイミングの相関が高いデータが同一
のカテゴリa,b,cを構成するように決定する。本実
施形態では、カテゴリ数は3であるが、もちろんカテゴ
リ数はいくつであってもよい。
The division into the categories a, b, and c is determined so that data having a high correlation of timing to update the data constitute the same category a, b, or c. In the present embodiment, the number of categories is three, but of course, any number of categories may be used.

【0035】一方、データの重要度は、データ損失によ
るユーザの金銭的・時間的損害の大きさに比例するよう
に決定する。ただし、データを更新すべきタイミングの
相関が高いデータであっても、重要度が異なれば、異な
るカテゴリに分割しなければならない。
On the other hand, the importance of data is determined so as to be proportional to the amount of financial and temporal damage to the user due to data loss. However, even if data is highly correlated with the timing at which the data should be updated, the data must be divided into different categories if the importance is different.

【0036】データ重要度の定量的な定義は困難である
ので、概略実用的な範囲で、例えば3段階に分類し、重
要度と実際のデータの特徴を以下のように関連付ける。
Since it is difficult to quantitatively define the data importance, it is roughly classified into, for example, three stages within a practical range, and the importance and the characteristics of actual data are associated as follows.

【0037】まず、重要度「0」はエラー検出および訂
正ともに不要なレベルで、単に機器のサービス時に参照
される稼動履歴などの情報に設定される重要度に対応す
る。重要度「1」はエラー検出が必要で、エラー訂正が
不要なレベルであり、ユーザが自分で設定することの出
来る情報で、破壊されても容易に再設定できる情報や、
機器が自動で計測を行うなどして設定する情報で、破壊
されても再計測することが容易な情報に設定される重要
度に対応する。
First, the importance level “0” is a level that is unnecessary for both error detection and correction, and simply corresponds to the importance level set in information such as an operation history referred to when a device is serviced. The importance level “1” is a level that requires error detection and does not require error correction, and is information that can be set by the user himself.
This is information that is set by the device performing automatic measurement, etc., and corresponds to the importance set in information that can be easily re-measured even if it is destroyed.

【0038】さらに、重要度「2」はエラー検出および
エラー訂正ともに必要なレベルの重要度であり、ともに
工場出荷時に設定され、破壊されるとユーザが再設定す
ることのできない情報や、ユーザが自分で設定すること
の出来る情報で、破壊されると再設定に煩雑な手順を要
する情報に設定される重要度に対応する。
Further, the importance "2" is a level of importance necessary for both error detection and error correction. Both are set at the time of factory shipment, and information which cannot be reset by the user if destroyed, This is information that can be set by the user, and corresponds to the importance set for information that requires complicated procedures for resetting if destroyed.

【0039】一方、冗長データ生成装置7a〜7cは、
重要度「0」〜「2」に応じて冗長データ8a〜8cを
以下の手順で生成する。
On the other hand, the redundant data generators 7a to 7c
The redundant data 8a to 8c are generated according to the following procedures according to the importance levels "0" to "2".

【0040】まず、重要度「0」の場合は、冗長データ
生成装置7a〜7cによりデータブロックそのものが生
成され、必要な不揮発性メモリ容量はデータブロックサ
イズに一致する。
First, when the importance is "0", the data blocks themselves are generated by the redundant data generation devices 7a to 7c, and the required nonvolatile memory capacity matches the data block size.

【0041】一方、重要度「1」の場合は、冗長データ
生成装置7a〜7cによりデータブロックにチェックサ
ムコードを付加したものが生成される。なお、チェック
サムはワード単位での加算結果の下位1ワードとし、必
要な不揮発性メモリ容量はデータブロックサイズ+2バ
イトとした値となる。
On the other hand, when the importance is "1", the redundant data generators 7a to 7c generate data blocks to which checksum codes are added. The checksum is the lower one word of the addition result in word units, and the required nonvolatile memory capacity is a value obtained by adding the data block size to 2 bytes.

【0042】一方、重要度「2」の場合は、冗長データ
生成装置7a〜7cにより、データブロックにチェック
サムコードを付加し、それを二重化ものが生成される。
なお、必要な不揮発性メモリ容量は、データブロックサ
イズ+2バイトしたものを2倍した値となる。
On the other hand, in the case of importance "2", the redundant data generators 7a to 7c add a checksum code to the data block and generate a duplicated checksum code.
Note that the required non-volatile memory capacity is a value that is twice the data block size plus 2 bytes.

【0043】次に、本実施形態におけるバッファ書き込
み手段およびバッファフラッシュ手段を、例えばC言語
プログラムインタフェースで以下のように定義する。
Next, the buffer writing means and the buffer flushing means in the present embodiment are defined as follows by, for example, a C language program interface.

【0044】バッファ書き込み手段を「int buf
_grp_write(int grp,int of
fset,unsigned short word_
data)」と定義する。
The buffer writing means is changed to "int buf
_Grp_write (int grp, int of
fset, unsigned short word_
data) ".

【0045】ここで、grpはカテゴリ指定子、off
setは該カテゴリ内でのアドレス指定子、word_
dataは書き込みデータである。
Where grp is a category specifier, off
set is an address specifier in the category, word_
data is write data.

【0046】実際のRAM3上でのバッファの構成は各
カテゴリa,b,c内でデータが連続するように配置す
る。この関数をプログラム中で呼び出すと、バッファメ
モリ上で指定のカテゴリとアドレスで示されるデータ内
容が更新される。
The actual configuration of the buffer on the RAM 3 is such that data is continuous in each of the categories a, b, and c. When this function is called in the program, the data content indicated by the specified category and address is updated in the buffer memory.

【0047】バッファフラッシュ手段を「int de
v_grp_flush(intgrp)」と定義す
る。ここで、grpはカテゴリ指定子である。この関数
をプログラム中で呼び出すと、バッファメモリ上の指定
のカテゴリの内容が冗長データに変換されて、不揮発性
メモリ上に実際に書き込まれる。より好ましくは実際に
更新があったデータのみを実際にデバイスに書き込むよ
うに構成する。
The buffer flush means is set to "int de
v_grp_flush (intgrp) ". Here, grp is a category designator. When this function is called in the program, the contents of the specified category on the buffer memory are converted into redundant data, and are actually written on the nonvolatile memory. More preferably, only data actually updated is actually written to the device.

【0048】図2において、RAM3は、データDa,
データDb,データDcの格納領域(バッファメモリ領
域3a,3b,3c)に分割されており、それぞれカテ
ゴリa,b,cに分割されている。また、重要度設定値
6a,6b,6cには、それぞれ重要度「0」,重要度
「1」,重要度「2」が設定されている。不揮発性メモ
リの内容も、データa,データb,データcの重要度に
応じた冗長データを格納するように分割されている。こ
れにより、いわゆるライトキャッシュが構成されること
となる。
In FIG. 2, the RAM 3 stores data Da,
It is divided into storage areas (buffer memory areas 3a, 3b, 3c) for data Db and data Dc, and each is divided into categories a, b, and c. In the importance setting values 6a, 6b, and 6c, importance “0”, importance “1”, and importance “2” are set, respectively. The contents of the nonvolatile memory are also divided so as to store redundant data according to the importance of data a, data b, and data c. As a result, a so-called write cache is configured.

【0049】なお、ライトキャッシュにおいては、フラ
ッシュタイミングを決定するアルゴリズムが重要である
が、本発明の内容は特定のアルゴリズムを規定するもの
ではなく、柔軟に適用可能である。目的に応じて様々な
構成が知られているので以下に例示しておく。
In the write cache, the algorithm for determining the flash timing is important, but the contents of the present invention do not specify a specific algorithm, and can be applied flexibly. Various configurations are known according to the purpose, and are exemplified below.

【0050】例えば、ディスク型記憶装置などに用いら
れるアルゴリズムは、LRU方式や、周期書き込み方式
など、経過時間を判断基準にした方式である。これは、
要書き込みデータ発生頻度,発生時間間隔などの書き込
みデータ発生源となるアプリケーションの特性を特に想
定せずとも包括的に有効なアルゴリズムである。
For example, the algorithm used for the disk type storage device or the like is a system based on the elapsed time, such as the LRU system or the periodic writing system. this is,
The algorithm is comprehensively effective without particularly assuming the characteristics of the application that is the source of the write data, such as the frequency of occurrence of the required write data and the generation time interval.

【0051】しかし、ディスク型記憶装置という書き込
み回数に制限がなくアクセス時間が非常に遅いデバイス
の、見かけ上のアクセス時間を短縮することが目的であ
り、本発明の目的とするところとは自ずから異なってい
る。
However, the purpose is to shorten the apparent access time of a disk-type storage device, which is not limited in the number of write operations and has a very slow access time, and is naturally different from the object of the present invention. ing.

【0052】本発明においては、書き込みデータの発生
源の特性が明らかである場合に、それを最大限に活用し
て、書き込み回数を増やさずにデータの信頼性を向上さ
せることが主限である。
In the present invention, the main limitation is to improve the reliability of data without increasing the number of times of writing by making the most of the characteristics of the source of the writing data when the characteristics are clear. .

【0053】これは、組み込み用途のプログラムにおい
ては不揮発記憶を利用するアプリケーションを自ら作成
することが多いため、リーズナブルな要請である。
This is a reasonable requirement because programs that use nonvolatile storage often create their own applications in embedded programs.

【0054】一般に、アプリケーションの特性は千差万
別であるため、バッファフラッシュタイミングを明示的
に定式化することは難しいが、概略以下の原則に従うこ
とが望ましい。
In general, since the characteristics of the application vary widely, it is difficult to explicitly formulate the buffer flush timing, but it is preferable to follow the following principle.

【0055】各カテゴリのデータ更新の必要が発生した
ら、できるだけ連続してバッファ書き込みを行い、該カ
テゴリのデータ更新が引き続き数秒以上発生しないこと
が明らかな場合はバッファフラッシュを行う。
When it is necessary to update the data of each category, the buffer writing is performed as continuously as possible. When it is clear that the data update of the category does not continue for several seconds or more, the buffer is flushed.

【0056】また、重要度の高いデータほどこまめにバ
ッファフラッシュを行い、終了処理が存在するならば、
その際に全てのカテゴリのバッファフラッシュを行う。
If the data with higher importance is flushed more frequently, and if there is an end process,
At that time, buffer flushing of all categories is performed.

【0057】以上の要請は、プログラム作成時にあらか
じめ判明している事項なので、プログラム中に静的に埋
め込むことが出来る。
The above request is a matter known in advance when the program is created, and can be statically embedded in the program.

【0058】以下、本実施形態の特徴的構成について図
1,図2等を参照して説明する。
Hereinafter, the characteristic configuration of this embodiment will be described with reference to FIGS.

【0059】上記のように構成された前記不揮発性メモ
リに書き込むためのデータを記憶するバッファメモリ
(RAM3)と、前記バッファメモリのアドレス毎にデ
ータを書き込むバッファ書き込み手段(CPU1がRO
M2等に記憶された制御プログラムを実行して書込み処
理する)と、前記バッファメモリのアドレス毎にカテゴ
リを設定する第1の設定手段(CPU1がROM2等に
記憶された制御プログラムを実行してカテゴリを設定処
理する)と、前記第1の設定手段により設定された各カ
テゴリ毎に前記バッファメモリに書き込まれる各データ
の重要度を設定する第2の設定手段(CPU1がROM
2等に記憶された制御プログラムを実行して重要度を設
定処理する)と、前記バッファメモリに書き込まれる各
データを前記第2の設定手段により設定された各重要度
に応じた冗長度を持つ冗長データにそれぞれ変換する変
換手段(冗長データ生成装置7a〜7c)と、前記変換
手段により変換された各冗長データを格納する前記不揮
発性メモリ上の格納アドレスを設定する第3の設定手段
(CPU1がROM2等に記憶された制御プログラムを
実行してEEPROM4に対するアドレスを設定処理す
る)と、前記第3の設定手段により設定された格納アド
レスに基づいて各冗長データを前記不揮発性メモリ上に
書き込むバッファフラッシュ手段(CPU1がROM2
等に記憶された制御プログラムを実行してデータ,冗長
データを図2に示すように書込み処理する)とを有する
ものである。
A buffer memory (RAM3) for storing data to be written in the non-volatile memory configured as described above, and a buffer writing means (CPU1 is an RO) for writing data for each address of the buffer memory.
A first setting means for setting a category for each address of the buffer memory (the CPU 1 executes the control program stored in the ROM 2 or the like to execute the write processing by executing the control program stored in the M2 or the like). Setting processing), and second setting means (CPU 1 is configured to set the importance of each data written in the buffer memory for each category set by the first setting means).
2 to execute the control program stored in the buffer memory, etc.), and each data written in the buffer memory has a redundancy corresponding to each importance set by the second setting means. Conversion means (redundancy data generating devices 7a to 7c) for converting the redundant data into redundant data, and third setting means (CPU 1) for setting a storage address on the nonvolatile memory for storing each redundant data converted by the conversion means Executes a control program stored in the ROM 2 or the like to set an address for the EEPROM 4) and a buffer for writing each redundant data on the nonvolatile memory based on the storage address set by the third setting means. Flash means (CPU1 is ROM2
Executing the control program stored in the memory device and the like to write data and redundant data as shown in FIG. 2).

【0060】また、前記第2の設定手段は、エラー検出
およびエラー訂正が不要な第1の重要度,エラー検出の
み必要な第2の重要度,エラー検出およびエラー訂正が
ともに必要な第3の重要度とするものである。
Further, the second setting means includes a first importance that does not require error detection and error correction, a second importance that requires only error detection, and a third importance that requires both error detection and error correction. It is important.

【0061】さらに、前記変換手段は、エラー検出およ
びエラー訂正が不要な第1の重要度のカテゴリに対して
はデータブロックを冗長度とする冗長データに変換する
ものである。
Further, the conversion means converts data blocks into redundant data having a redundancy for the first importance category for which error detection and error correction are unnecessary.

【0062】また、前記変換手段は、エラー検出のみ必
要な第2の重要度のカテゴリに対してはチェックサムコ
ードないしCRCコードを付加したデータブロックを冗
長度とする冗長データに変換するものである。
The conversion means converts a data block to which a checksum code or a CRC code is added into redundant data having redundancy for a second importance category requiring only error detection. .

【0063】さらに、前記変換手段は、エラー検出およ
びエラー訂正がともに必要な第3の重要度のカテゴリに
対してはチェックサムコードないしCRCコードを付加
したデータブロックを二重化したものを冗長度とする冗
長データに変換するものである。
Further, for the third category of importance that requires both error detection and error correction, the conversion means sets redundancy obtained by duplicating a data block to which a checksum code or a CRC code is added. It is converted into redundant data.

【0064】図3は、本発明に係るメモリ制御装置のデ
ータ処理手順の一例を示すフローチャートである。な
お、(1)〜(7)は各ステップを示す。また、該手順
はROM2に記憶されるものであっても、他の記憶媒
体,例えばフラッシュROM等に外部よりダウンロード
されて実行されるものであってもよい。また、該メモリ
制御装置は、種種のデータ処理装置および種種の電子機
器であって、EEPROM等の不揮発性記憶媒体を利用
するシステムに適用可能である。
FIG. 3 is a flowchart showing an example of a data processing procedure of the memory control device according to the present invention. Note that (1) to (7) indicate each step. Further, the procedure may be stored in the ROM 2 or may be executed by being externally downloaded to another storage medium, for example, a flash ROM. Further, the memory control device is various data processing devices and various electronic devices, and is applicable to a system using a nonvolatile storage medium such as an EEPROM.

【0065】まず、CPU1は、ROM2よりプログラ
ムを読み出して(1)、RAM3の所定エリアにロード
する。次に、プログラムカウンタ等の指示するコマンド
を読み出して、重要度,カテゴリを設定する(2)。
First, the CPU 1 reads out a program from the ROM 2 (1) and loads it into a predetermined area of the RAM 3. Next, a command instructed by a program counter or the like is read to set the importance and the category (2).

【0066】そして、次コマンドがバッファメモリ3に
対するデータ書込み指示かどうかを判定して(3)、N
Oならばステップ(6)へ進み、YESならばバッファ
メモリにデータを書込む(4)。
Then, it is determined whether or not the next command is an instruction to write data to the buffer memory 3 (3).
If O, proceed to step (6), if YES, write data to buffer memory (4).

【0067】次に、次コマンドを実行し(5)、該コマ
ンドがEEPROM4に対するデータ書込み指示かどう
かを判定して(6)、NOならばリターンし、YESな
らば重要度に応じた冗長データに変換してEEPROM
4上に確保される特定領域に書込み(7)、処理をリタ
ーンする。
Next, the next command is executed (5), and it is determined whether or not the command is a data write instruction to the EEPROM 4 (6). If NO, return is made, and if YES, redundant data according to the degree of importance is obtained. Convert to EEPROM
4 is written to a specific area secured on the server 4 (7), and the process returns.

【0068】以下、本実施形態の特徴的構成について更
に説明する。
Hereinafter, the characteristic configuration of this embodiment will be further described.

【0069】上記のように構成された書き換え可能な不
揮発性メモリと不揮発性メモリ(EEPROM4)に書
き込むためのデータを記憶するバッファメモリ(RAM
3)とに対するアクセスを制御するメモリ制御方法であ
って、あるいは書き換え可能な不揮発性メモリ3と不揮
発性メモリ(EEPROM4)に書き込むためのデータ
を記憶するバッファメモリとを介してデータ処理を行う
データ処理装置を制御するコンピュータが読み出し可能
なプログラムを格納した記憶媒体であって、前記バッフ
ァメモリのアドレス毎にデータを書き込むバッファ書き
込み工程(図3のステップ(3),(4))と、前記バ
ッファメモリのアドレス毎にカテゴリを設定する第1の
設定工程(図3のステップ(2))と、前記第1の設定
工程により設定された各カテゴリ毎に前記バッファメモ
リに書き込まれる各データの重要度を設定する第2の設
定工程(図3のステップ(2))と、前記バッファメモ
リに書き込まれる各データを前記第2の設定工程により
設定された各重要度に応じた冗長度を持つ冗長データに
それぞれ変換する変換工程(図3のステップ(7))
と、前記変換工程により変換された各冗長データを格納
する前記不揮発性メモリ上の格納アドレスを設定する第
3の設定工程(図示しない)と、前記第3の設定工程に
より設定された格納アドレスに基づいて各冗長データを
前記不揮発性メモリ上に書き込むバッファフラッシュ工
程(図3のステップ(7))とを有するものである。
A rewritable nonvolatile memory configured as described above and a buffer memory (RAM) for storing data to be written in the nonvolatile memory (EEPROM 4)
3) a memory control method for controlling access to the data memory, or data processing for performing data processing via a rewritable nonvolatile memory 3 and a buffer memory for storing data to be written to the nonvolatile memory (EEPROM 4) A storage medium storing a computer-readable program for controlling a device, the buffer writing step of writing data for each address of the buffer memory (steps (3) and (4) in FIG. 3); A first setting step (step (2) in FIG. 3) for setting a category for each address of the address, and a degree of importance of each data written in the buffer memory for each category set in the first setting step. A second setting step (step (2) in FIG. 3) for setting, and writing to the buffer memory Conversion step of each converted data in the redundant data having a redundancy corresponding to the importance level set by said second setting step (step of FIG. 3 (7))
A third setting step (not shown) for setting a storage address on the non-volatile memory for storing each redundant data converted by the conversion step, and a storage address set in the third setting step. A buffer flushing step (step (7) in FIG. 3) for writing each redundant data to the nonvolatile memory based on the data.

【0070】また、前記第2の設定工程は、エラー検出
およびエラー訂正が不要な第1の重要度,エラー検出の
み必要な第2の重要度,エラー検出およびエラー訂正が
ともに必要な第3の重要度とするものである。
Further, the second setting step includes a first importance level which does not require error detection and error correction, a second importance level which requires only error detection, and a third importance level which requires both error detection and error correction. It is important.

【0071】さらに、前記変換工程は、エラー検出およ
びエラー訂正が不要な第1の重要度のカテゴリに対して
はデータブロックを冗長度とする冗長データに変換する
ものである。
Further, the conversion step is to convert data blocks into redundancy data having redundancy in the first importance category for which error detection and error correction are unnecessary.

【0072】また、前記変換工程は、エラー検出のみ必
要な第2の重要度のカテゴリに対してはチェックサムコ
ードないしCRCコードを付加したデータブロックを冗
長度とする冗長データに変換するものである。
In the conversion step, a data block to which a checksum code or a CRC code is added is converted into redundant data having redundancy for a second importance category requiring only error detection. .

【0073】さらに、前記変換工程は、エラー検出およ
びエラー訂正がともに必要な第3の重要度のカテゴリに
対してはチェックサムコードないしCRCコードを付加
したデータブロックを二重化したものを冗長度とする冗
長データに変換するものである。
Further, in the conversion step, for a third importance category requiring both error detection and error correction, a data block to which a checksum code or a CRC code has been added is used as redundancy. It is converted into redundant data.

【0074】以下、図4に示すメモリマップを参照して
本発明を適用可能なデータ処理装置で読み出し可能なデ
ータ処理プログラムの構成について説明する。
Hereinafter, the configuration of a data processing program that can be read by a data processing apparatus to which the present invention can be applied will be described with reference to a memory map shown in FIG.

【0075】図4は、本発明を適用可能なデータ処理装
置で読み出し可能な各種データ処理プログラムを格納す
る記憶媒体のメモリマップを説明する図である。
FIG. 4 is a diagram for explaining a memory map of a storage medium for storing various data processing programs readable by a data processing apparatus to which the present invention can be applied.

【0076】なお、特に図示しないが、記憶媒体に記憶
されるプログラム群を管理する情報、例えばバージョン
情報,作成者等も記憶され、かつ、プログラム読み出し
側のOS等に依存する情報、例えばプログラムを識別表
示するアイコン等も記憶される場合もある。
Although not shown, information for managing a group of programs stored in the storage medium, for example, version information, a creator and the like are also stored, and information dependent on the OS or the like on the program reading side, for example, a program is stored in the storage medium. An icon or the like for identification display may also be stored.

【0077】さらに、各種プログラムに従属するデータ
も上記ディレクトリに管理されている。また、各種プロ
グラムをコンピュータにインストールするためのプログ
ラムや、インストールするプログラムが圧縮されている
場合に、解凍するプログラム等も記憶される場合もあ
る。
Further, data dependent on various programs is also managed in the directory. In addition, a program for installing various programs on a computer or a program for decompressing a program to be installed when the program to be installed is compressed may be stored.

【0078】本実施形態における図3に示す機能が外部
からインストールされるプログラムによって、ホストコ
ンピュータにより遂行されていてもよい。そして、その
場合、CD−ROMやフラッシュメモリやFD等の記憶
媒体により、あるいはネットワークを介して外部の記憶
媒体から、プログラムを含む情報群を出力装置に供給さ
れる場合でも本発明は適用されるものである。
The functions shown in FIG. 3 in this embodiment may be executed by a host computer by a program installed from the outside. In this case, the present invention is applied even when a group of information including a program is supplied to the output device from a storage medium such as a CD-ROM, a flash memory, or an FD, or from an external storage medium via a network. Things.

【0079】以上のように、前述した実施形態の機能を
実現するソフトウエアのプログラムコードを記録した記
憶媒体を、システムあるいは装置に供給し、そのシステ
ムあるいは装置のコンピュータ(またはCPUやMP
U)が記憶媒体に格納されたプログラムコードを読出し
実行することによっても、本発明の目的が達成されるこ
とは言うまでもない。
As described above, the storage medium storing the program codes of the software for realizing the functions of the above-described embodiments is supplied to the system or the apparatus, and the computer (or CPU or MP) of the system or the apparatus is provided.
It goes without saying that the object of the present invention is also achieved when U) reads and executes the program code stored in the storage medium.

【0080】この場合、記憶媒体から読み出されたプロ
グラムコード自体が本発明の新規な機能を実現すること
になり、そのプログラムコードを記憶した記憶媒体は本
発明を構成することになる。
In this case, the program code itself read from the storage medium realizes the novel function of the present invention, and the storage medium storing the program code constitutes the present invention.

【0081】プログラムコードを供給するための記憶媒
体としては、例えば、フロッピーディスク,ハードディ
スク,光ディスク,光磁気ディスク,CD−ROM,C
D−R,磁気テープ,不揮発性のメモリカード,RO
M,EEPROM等を用いることができる。
As a storage medium for supplying the program code, for example, a floppy disk, hard disk, optical disk, magneto-optical disk, CD-ROM, C
DR, magnetic tape, nonvolatile memory card, RO
M, EEPROM and the like can be used.

【0082】また、コンピュータが読み出したプログラ
ムコードを実行することにより、前述した実施形態の機
能が実現されるだけでなく、そのプログラムコードの指
示に基づき、コンピュータ上で稼働しているOS(オペ
レーティングシステム)等が実際の処理の一部または全
部を行い、その処理によって前述した実施形態の機能が
実現される場合も含まれることは言うまでもない。
When the computer executes the readout program code, not only the functions of the above-described embodiment are realized, but also the OS (Operating System) running on the computer based on the instruction of the program code. ) May perform some or all of the actual processing, and the functions of the above-described embodiments may be realized by the processing.

【0083】さらに、記憶媒体から読み出されたプログ
ラムコードが、コンピュータに挿入された機能拡張ボー
ドやコンピュータに接続された機能拡張ユニットに備わ
るメモリに書き込まれた後、そのプログラムコードの指
示に基づき、その機能拡張ボードや機能拡張ユニットに
備わるCPU等が実際の処理の一部または全部を行い、
その処理によって前述した実施形態の機能が実現される
場合も含まれることは言うまでもない。
Further, after the program code read from the storage medium is written into a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer, based on the instruction of the program code, The CPU provided in the function expansion board or function expansion unit performs part or all of the actual processing,
It goes without saying that a case where the function of the above-described embodiment is realized by the processing is also included.

【0084】上記実施形態によれば、不揮発性メモリに
記憶すべき内容を、その更新すべきタイミングに着目し
てカテゴリ分けし、各カテゴリ毎にデータ損失による損
害の大きさに比例して重要度を設定する。各カテゴリ毎
にバッファメモリの内容の重要度に応じた冗長コードを
付加して不揮発性メモリデバイスに必要に応じてフラッ
シュするので、書き込みが必要なカテゴリのデータのみ
を、きめ細かくデバイスヘ書き込むことができ、書き込
み回数と、バッファ上のデータが書き込まれていないこ
とによるデータ損失の危険性を同時に最小化できる。
According to the above embodiment, the contents to be stored in the non-volatile memory are classified into categories by paying attention to the timing at which the contents are to be updated. Set. Redundancy codes according to the importance of the contents of the buffer memory are added for each category and flashing is performed on the non-volatile memory device as necessary, so that only the data of the category that requires writing can be finely written to the device, The number of times of writing and the risk of data loss due to the fact that data on the buffer has not been written can be simultaneously minimized.

【0085】[0085]

【発明の効果】以上説明したように、本発明に係る第1
〜第15の発明によれば、バッファメモリに対するデー
タ書込みが頻繁に実行される際に、各データの重要度に
応じて各データに対する冗長データが不揮発性メモリに
書込まれるため、さほど重要でないが、頻繁に書込まれ
るデータに対して冗長データの更新が制限され、かつ、
重要度は高いがデータ書込みが少ないデータに対する冗
長データは確実に不揮発性メモリに書込むメモリアクセ
ス環境を保証でき、安価ではあるが、不揮発性メモリに
対するアクセス回数が制限されるメモリ媒体を有効に利
用するメモリシステムを自在に構築することができる。
As described above, the first embodiment according to the present invention is described.
According to the fifteenth aspect, when data writing to the buffer memory is frequently performed, redundant data for each data is written to the nonvolatile memory according to the importance of each data. , Updates to redundant data for frequently written data are limited, and
Redundant data for data with high importance but less data write can be reliably written to non-volatile memory. A memory access environment can be guaranteed. Inexpensive but effective use of memory media with limited number of accesses to non-volatile memory It is possible to freely construct a memory system that performs the above.

【0086】従って、書き込みが必要なカテゴリのデー
タのみを、きめ細かくデバイスヘ書き込むことができ、
書き込み回数と、バッファ上のデータが書き込まれてい
ないことによるデータ損失の危険性を同時に最小化でき
るメモリ制御を自在に行える等の効果を奏する。
Therefore, only the data of the category that requires writing can be finely written to the device.
It is possible to freely perform memory control for simultaneously minimizing the number of times of writing and the risk of data loss due to the fact that data on the buffer is not written, and the like.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の一実施形態を説明するメモリ制御装置
を適用可能なデータ処理装置の構成を説明するブロック
図である。
FIG. 1 is a block diagram illustrating a configuration of a data processing device to which a memory control device according to an embodiment of the present invention can be applied.

【図2】図1に示したEEPROMとRAMとのデータ
アクセス状態を説明する模式図である。
FIG. 2 is a schematic diagram illustrating a data access state between the EEPROM and the RAM illustrated in FIG. 1;

【図3】本発明に係るメモリ制御装置のデータ処理手順
の一例を示すフローチャートである。
FIG. 3 is a flowchart illustrating an example of a data processing procedure of the memory control device according to the present invention.

【図4】本発明を適用可能なデータ処理装置で読み出し
可能な各種データ処理プログラムを格納する記憶媒体の
メモリマップを説明する図である。
FIG. 4 is a diagram illustrating a memory map of a storage medium that stores various data processing programs that can be read by a data processing device to which the present invention can be applied.

【符号の説明】[Explanation of symbols]

l CPU 2 ROM 3 RAM 3a〜3c バッファメモリ領域 4 EEPR0M 5a,5b,5c バッファメモリヘの書き込みデータ 6a,6b,6c 重要度設定値 7a,7b,7c 冗長データ生成装置 8a,8b,8c 冗長データ 1 CPU 2 ROM 3 RAM 3a to 3c Buffer memory area 4 EEPR0M 5a, 5b, 5c Write data to buffer memory 6a, 6b, 6c Importance setting value 7a, 7b, 7c Redundant data generator 8a, 8b, 8c Redundant data

───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 FI G06F 11/16 310 G06F 11/16 310H ──────────────────────────────────────────────────の Continued on the front page (51) Int.Cl. 6 Identification code FI G06F 11/16 310 G06F 11/16 310H

Claims (15)

【特許請求の範囲】[Claims] 【請求項1】 書き換え可能な不揮発性メモリと、 前記不揮発性メモリに書き込むためのデータを記憶する
バッファメモリと、 前記バッファメモリのアドレス毎にデータを書き込むバ
ッファ書き込み手段と、 前記バッファメモリのアドレス毎にカテゴリを設定する
第1の設定手段と、 前記第1の設定手段により設定された各カテゴリ毎に前
記バッファメモリに書き込まれる各データの重要度を設
定する第2の設定手段と、 前記バッファメモリに書き込まれる各データを前記第2
の設定手段により設定された各重要度に応じた冗長度を
持つ冗長データにそれぞれ変換する変換手段と、 前記変換手段により変換された各冗長データを格納する
前記不揮発性メモリ上の格納アドレスを設定する第3の
設定手段と、 前記第3の設定手段により設定された格納アドレスに基
づいて各冗長データを前記不揮発性メモリ上に書き込む
バッファフラッシュ手段と、を有することを特徴とする
メモリ制御装置。
1. A rewritable nonvolatile memory; a buffer memory for storing data to be written to the nonvolatile memory; a buffer writing unit for writing data for each address of the buffer memory; First setting means for setting a category in the buffer memory; second setting means for setting the importance of each data written in the buffer memory for each category set by the first setting means; Each data to be written to the second
Conversion means for respectively converting into redundant data having a redundancy according to each importance set by the setting means; and setting a storage address on the nonvolatile memory for storing each redundant data converted by the conversion means. A memory control device, comprising: a third setting unit that performs the setting operation; and a buffer flush unit that writes each redundant data to the nonvolatile memory based on the storage address set by the third setting unit.
【請求項2】 前記第2の設定手段は、エラー検出およ
びエラー訂正が不要な第1の重要度,エラー検出のみ必
要な第2の重要度,エラー検出およびエラー訂正がとも
に必要な第3の重要度とすることを特徴とする請求項1
記載のメモリ制御装置。
2. The method according to claim 1, wherein the second setting means includes a first importance that does not require error detection and error correction, a second importance that requires only error detection, and a third importance that requires both error detection and error correction. 2. The method according to claim 1, wherein the importance is set.
A memory control device as described.
【請求項3】 前記変換手段は、エラー検出およびエラ
ー訂正が不要な第1の重要度のカテゴリに対してはデー
タブロックを冗長度とする冗長データに変換することを
特徴とする請求項1記載のメモリ制御装置。
3. The method according to claim 1, wherein said converting means converts the data blocks into redundant data having a redundancy of a first importance category which does not require error detection and error correction. Memory controller.
【請求項4】 前記変換手段は、エラー検出のみ必要な
第2の重要度のカテゴリに対してはチェックサムコード
ないしCRCコードを付加したデータブロックを冗長度
とする冗長データに変換することを特徴とする請求項1
記載のメモリ制御装置。
4. The conversion means converts a data block to which a checksum code or a CRC code is added into redundant data having redundancy for a second importance category requiring only error detection. Claim 1
A memory control device as described.
【請求項5】 前記変換手段は、エラー検出およびエラ
ー訂正がともに必要な第3の重要度のカテゴリに対して
はチェックサムコードないしCRCコードを付加したデ
ータブロックを二重化したものを冗長度とする冗長デー
タに変換することを特徴とする請求項1記載のメモリ制
御装置。
5. The conversion means according to claim 3, wherein a redundancy is obtained by duplicating a data block to which a checksum code or a CRC code is added for a third importance category requiring both error detection and error correction. 2. The memory control device according to claim 1, wherein the data is converted into redundant data.
【請求項6】 書き換え可能な不揮発性メモリと不揮発
性メモリに書き込むためのデータを記憶するバッファメ
モリとに対するアクセスを制御するメモリ制御方法であ
って、 前記バッファメモリのアドレス毎にデータを書き込むバ
ッファ書き込み工程と、 前記バッファメモリのアドレス毎にカテゴリを設定する
第1の設定工程と、 前記第1の設定工程により設定された各カテゴリ毎に前
記バッファメモリに書き込まれる各データの重要度を設
定する第2の設定工程と、 前記バッファメモリに書き込まれる各データを前記第2
の設定工程により設定された各重要度に応じた冗長度を
持つ冗長データにそれぞれ変換する変換工程と、 前記変換工程により変換された各冗長データを格納する
前記不揮発性メモリ上の格納アドレスを設定する第3の
設定工程と、 前記第3の設定工程により設定された格納アドレスに基
づいて各冗長データを前記不揮発性メモリ上に書き込む
バッファフラッシュ工程と、を有することを特徴とする
メモリ制御方法。
6. A memory control method for controlling access to a rewritable nonvolatile memory and a buffer memory for storing data to be written to the nonvolatile memory, comprising: a buffer writing unit for writing data for each address of the buffer memory. A first setting step of setting a category for each address of the buffer memory; and a second setting step of setting the importance of each data written to the buffer memory for each category set in the first setting step. 2) setting each data written in the buffer memory to the second
A conversion step of respectively converting into redundant data having a redundancy corresponding to each importance set in the setting step; and setting a storage address on the nonvolatile memory for storing each of the redundant data converted in the conversion step. And a buffer flushing step of writing each redundant data into the non-volatile memory based on the storage address set in the third setting step.
【請求項7】 前記第2の設定工程は、エラー検出およ
びエラー訂正が不要な第1の重要度,エラー検出のみ必
要な第2の重要度,エラー検出およびエラー訂正がとも
に必要な第3の重要度とすることを特徴とする請求項6
記載のメモリ制御方法。
7. The second setting step comprises: a first importance level that does not require error detection and error correction; a second importance level that requires only error detection; and a third importance level that requires both error detection and error correction. 7. The method according to claim 6, wherein the importance is set.
The memory control method described in the above.
【請求項8】 前記変換工程は、エラー検出およびエラ
ー訂正が不要な第1の重要度のカテゴリに対してはデー
タブロックを冗長度とする冗長データに変換することを
特徴とする請求項6記載のメモリ制御方法。
8. The method according to claim 6, wherein the conversion step converts the data blocks into redundant data having a data block with a redundancy for the first importance category that does not require error detection and error correction. Memory control method.
【請求項9】 前記変換工程は、エラー検出のみ必要な
第2の重要度のカテゴリに対してはチェックサムコード
ないしCRCコードを付加したデータブロックを冗長度
とする冗長データに変換することを特徴とする請求項6
記載のメモリ制御方法。
9. The conversion step converts a data block to which a checksum code or a CRC code is added into redundant data having a redundancy for a second importance category requiring only error detection. Claim 6
The memory control method described in the above.
【請求項10】 前記変換工程は、エラー検出およびエ
ラー訂正がともに必要な第3の重要度のカテゴリに対し
てはチェックサムコードないしCRCコードを付加した
データブロックを二重化したものを冗長度とする冗長デ
ータに変換することを特徴とする請求項6記載のメモリ
制御方法。
10. In the conversion step, for a third importance category that requires both error detection and error correction, a data block to which a checksum code or a CRC code is added is used as redundancy. 7. The memory control method according to claim 6, wherein the data is converted into redundant data.
【請求項11】 書き換え可能な不揮発性メモリと不揮
発性メモリに書き込むためのデータを記憶するバッファ
メモリとを介してデータ処理を行うデータ処理装置を制
御するコンピュータが読み出し可能なプログラムを格納
した記憶媒体であって、 前記バッファメモリのアドレス毎にデータを書き込むバ
ッファ書き込み工程と、 前記バッファメモリのアドレス毎にカテゴリを設定する
第1の設定工程と、 前記第1の設定工程により設定された各カテゴリ毎に前
記バッファメモリに書き込まれる各データの重要度を設
定する第2の設定工程と、 前記バッファメモリに書き込まれる各データを前記第2
の設定工程により設定された各重要度に応じた冗長度を
持つ冗長データにそれぞれ変換する変換工程と、 前記変換工程により変換された各冗長データを格納する
前記不揮発性メモリ上の格納アドレスを設定する第3の
設定工程と、 前記第3の設定工程により設定された格納アドレスに基
づいて各冗長データを前記不揮発性メモリ上に書き込む
バッファフラッシュ工程と、を有することを特徴とする
コンピュータが読み出し可能なプログラムを格納した記
憶媒体。
11. A storage medium storing a computer-readable program that controls a data processing device that performs data processing via a rewritable nonvolatile memory and a buffer memory that stores data to be written to the nonvolatile memory. A buffer writing step of writing data for each address of the buffer memory, a first setting step of setting a category for each address of the buffer memory, and for each category set by the first setting step. A second setting step of setting the importance of each data to be written to the buffer memory;
A conversion step of respectively converting into redundant data having a redundancy corresponding to each importance set in the setting step; and setting a storage address on the nonvolatile memory for storing each of the redundant data converted in the conversion step. A third setting step of: writing a redundant data to the nonvolatile memory based on the storage address set in the third setting step; Storage medium storing various programs.
【請求項12】 前記第2の設定工程は、エラー検出お
よびエラー訂正が不要な第1の重要度,エラー検出のみ
必要な第2の重要度,エラー検出およびエラー訂正がと
もに必要な第3の重要度とすることを特徴とする請求項
11記載のコンピュータが読み出し可能なプログラムを
格納した記憶媒体。
12. The second setting step comprises: a first importance that does not require error detection and error correction; a second importance that requires only error detection; and a third importance that requires both error detection and error correction. The storage medium storing a computer-readable program according to claim 11, wherein the importance is assigned to importance.
【請求項13】 前記変換工程は、エラー検出およびエ
ラー訂正が不要な第1の重要度のカテゴリに対してはデ
ータブロックを冗長度とする冗長データに変換すること
を特徴とする請求項11記載のコンピュータが読み出し
可能なプログラムを格納した記憶媒体。
13. The method according to claim 11, wherein the converting step converts the data blocks into redundant data having a data block with a redundancy for the first importance category which does not require error detection and error correction. A storage medium storing a computer-readable program for the computer.
【請求項14】 前記変換工程は、エラー検出のみ必要
な第2の重要度のカテゴリに対してはチェックサムコー
ドないしCRCコードを付加したデータブロックを冗長
度とする冗長データに変換することを特徴とする請求項
11記載のコンピュータが読み出し可能なプログラムを
格納した記憶媒体。
14. The conversion step according to claim 2, wherein a data block to which a checksum code or a CRC code is added is converted into redundant data having redundancy for a second importance category requiring only error detection. A storage medium storing a computer-readable program according to claim 11.
【請求項15】 前記変換工程は、エラー検出およびエ
ラー訂正がともに必要な第3の重要度のカテゴリに対し
てはチェックサムコードないしCRCコードを付加した
データブロックを二重化したものを冗長度とする冗長デ
ータに変換することを特徴とする請求項11記載のコン
ピュータが読み出し可能なプログラムを格納した記憶媒
体。
15. In the conversion step, for a third importance category requiring both error detection and error correction, a redundancy is obtained by duplicating a data block to which a checksum code or a CRC code is added. The storage medium according to claim 11, wherein the storage medium stores the computer-readable program.
JP10137844A 1998-05-20 1998-05-20 Device and method for memory control and computer-readable storage medium having stored program Pending JPH11328039A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10137844A JPH11328039A (en) 1998-05-20 1998-05-20 Device and method for memory control and computer-readable storage medium having stored program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10137844A JPH11328039A (en) 1998-05-20 1998-05-20 Device and method for memory control and computer-readable storage medium having stored program

Publications (1)

Publication Number Publication Date
JPH11328039A true JPH11328039A (en) 1999-11-30

Family

ID=15208144

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10137844A Pending JPH11328039A (en) 1998-05-20 1998-05-20 Device and method for memory control and computer-readable storage medium having stored program

Country Status (1)

Country Link
JP (1) JPH11328039A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009214596A (en) * 2008-03-07 2009-09-24 Nissan Diesel Motor Co Ltd Vehicular electronic control unit
JP2011210277A (en) * 2011-06-20 2011-10-20 Toshiba Corp Information processing apparatus and information processing method
JP2011210023A (en) * 2010-03-30 2011-10-20 Toshiba Corp Information processing apparatus and information processing method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009214596A (en) * 2008-03-07 2009-09-24 Nissan Diesel Motor Co Ltd Vehicular electronic control unit
JP2011210023A (en) * 2010-03-30 2011-10-20 Toshiba Corp Information processing apparatus and information processing method
JP2011210277A (en) * 2011-06-20 2011-10-20 Toshiba Corp Information processing apparatus and information processing method

Similar Documents

Publication Publication Date Title
US5522076A (en) Computer system having BIOS (basic input/output system)-ROM (Read Only Memory) writing function
US6901298B1 (en) Saving and restoring controller state and context in an open operating system
KR100572328B1 (en) Flash memory system including bad block management unit
EP0442651B1 (en) Apparatus and method for background memory test during system start up
US20040168013A1 (en) Method of writing, erasing, and controlling memory for memory device
US20020078338A1 (en) Method and apparatus for fast computer initialization
JP3268130B2 (en) Data processing device using flash EEPROM
JP3472008B2 (en) Flash memory management method
US6282644B1 (en) Apparatus and method for storing BIOS data of computer system
KR100370893B1 (en) Flash memory unit and control method of flash memory
US6516400B1 (en) Data storage, data processing system and method
US10579300B2 (en) Information handling system firmware persistent memory runtime reclaim
JP3519954B2 (en) Chip enable signal generation circuit and memory device
JPH08235028A (en) Data management method for flash memory and data processor using the data management method
EP0173967A2 (en) Microprogram load unit
US6216225B1 (en) PC system having flash-ROM controlling device and method for protecting BIOS stored in flash-ROM
JPH11328039A (en) Device and method for memory control and computer-readable storage medium having stored program
US20050068842A1 (en) Electronic device, nonvolatile memory and method of overwriting data in nonvolatile memory
US7849279B2 (en) Method for the secure updating data areas in non volatile memory, device to perform such a method
JPH07122087A (en) Eeprom error check system
US11989435B2 (en) Re-partitioning of a flash memory device
JP3314719B2 (en) Flash EEPROM and its test method
JPH08286948A (en) Device and method for supporting software development
JP3019346B2 (en) Data processing device
JP3480957B2 (en) Memory programming equipment