JPH11328039A - メモリ制御装置およびメモリ制御方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体 - Google Patents

メモリ制御装置およびメモリ制御方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体

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
category
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
English (en)
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/ja
Publication of JPH11328039A publication Critical patent/JPH11328039A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】 書き込みが必要なカテゴリのデータのみを、
きめ細かくデバイスヘ書き込むことができ、書き込み回
数と、バッファ上のデータが書き込まれていないことに
よるデータ損失の危険性を同時に最小化することであ
る。 【解決手段】 バッファメモリ領域にカテゴリを設定
し、かつ、各カテゴリ毎に書込まれる各データの重要度
をCPU1が設定し、該設定された重要度に応じて各デ
ータから変換される冗長データのEEPROM4に対し
て書込む内容を変更する構成を特徴とする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、種別の異なるメモ
リ媒体を介してデータ処理を行うためのメモリアクセス
を制御するメモリ制御装置およびメモリ制御方法および
コンピュータが読み出し可能なプログラムを格納した記
憶媒体に関するものである。
【0002】
【従来の技術】従来、記憶媒体、特に、電源が遮断され
ても記憶内容が保持でき、内容の書き換えも可能なメモ
リとしてEEPROM(電気的に消去書込み可能な読み
出し専用メモリ)が種種のデータ処理装置や電子機器に
利用されている。
【0003】一般に、EEPROMは安価である反面、
書込み時間が比較的長く(lms程度)、1記憶セルあ
たりの書込み回数は、100000回程度の制限があ
る。
【0004】また、EEPROMはデータ書き込み中に
電源が切られると、記憶内容が破壊されてしまうので、
このような事態を完全に防止するためには、電源断状態
を検知して未書き込みのデータをデバイスに書き込む必
要がある。
【0005】しかし、そのためには電源断状態を検知し
てその状態を通知する手段と、全データを書き込むのに
十分な時間だけ電圧を維持できる電源が必要となるの
で、コストがかさみEEPROMを使用したことによる
メリットが薄れてしまう。
【0006】そこで、ある程度のデータ破壊は不可避で
あるとの前提に立ち、冗長コードを付加したり、複数書
き込みを行うなどエラー検出および訂正が可能な構成が
従来より知られている。
【0007】ところが、冗長コードを付加すると、たっ
た1ワードのデータを更新しただけでも冗長コードは必
ず更新しなくてはならないので、冗長コードを記憶する
セルに書き込みが集中してしまう。
【0008】その結果、データを記録するセルの書き込
み回数が上限に達していないにもかかわらず、冗長コー
ドを記憶するセルに書き込みのために、書き込み回数の
上限に達してしまうという問題が生じる。
【0009】これを回避するために、書込み回数そのも
のをEEPROMに記録して、上限に達した記憶セルに
対して代替記憶領域を割り付ける構成、あるいはEEP
ROMの特定の記憶セルにのみ書き込みが集中しないよ
うに定期的に書き込み位置を変更する構成などが知られ
ている。
【0010】
【発明が解決しようとする課題】しかしながら、エラー
検出およびエラー訂正が可能で、かつ書き込み回数の制
限にかからないEEPROM書き込み装置を実現するこ
とは可能であるが、代替となる記憶領域が必要であるた
め、EEPROMの使用効率が低くなってしまうという
問題がある。
【0011】また、安価な電子機器で多く使用されてい
るシリアル接続タイプのEEPROMデバイスの記憶容
量は最大でも数kbit程度にすぎず、記憶項目の多い
電子機器においては特にEEPROMの使用効率の低下
がコストアップの要因となってしまう等の問題点があっ
た。
【0012】本発明は上記の問題点を解消するためにな
されたもので、本発明の目的は、バッファメモリにカテ
ゴリを設定し、かつ、各カテゴリ毎に書込まれる各デー
タの重要度を設定し、該設定された重要度に応じて各デ
ータから変換される冗長データを不揮発性メモリに対し
て書込むことにより、書込みが必要なカテゴリのデータ
のみを、きめ細かくデバイスヘ書き込むことができ、書
き込み回数と、バッファ上のデータが書き込まれていな
いことによるデータ損失の危険性を同時に最小化できる
メモリ制御を自在に行えるメモリ制御装置およびメモリ
制御方法およびコンピュータが読み出し可能なプログラ
ムを格納した記憶媒体を提供することである。
【0013】
【課題を解決するための手段】本発明に係る第1の発明
は、書き換え可能な不揮発性メモリと、前記不揮発性メ
モリに書き込むためのデータを記憶するバッファメモリ
と、前記バッファメモリのアドレス毎にデータを書き込
むバッファ書き込み手段と、前記バッファメモリのアド
レス毎にカテゴリを設定する第1の設定手段と、前記第
1の設定手段により設定された各カテゴリ毎に前記バッ
ファメモリに書き込まれる各データの重要度を設定する
第2の設定手段と、前記バッファメモリに書き込まれる
各データを前記第2の設定手段により設定された各重要
度に応じた冗長度を持つ冗長データにそれぞれ変換する
変換手段と、前記変換手段により変換された各冗長デー
タを格納する前記不揮発性メモリ上の格納アドレスを設
定する第3の設定手段と、前記第3の設定手段により設
定された格納アドレスに基づいて各冗長データを前記不
揮発性メモリ上に書き込むバッファフラッシュ手段とを
有するものである。
【0014】本発明に係る第2の発明は、前記第2の設
定手段は、エラー検出およびエラー訂正が不要な第1の
重要度,エラー検出のみ必要な第2の重要度,エラー検
出およびエラー訂正がともに必要な第3の重要度とする
ものである。
【0015】本発明に係る第3の発明は、前記変換手段
は、エラー検出およびエラー訂正が不要な第1の重要度
のカテゴリに対してはデータブロックを冗長度とする冗
長データに変換するものである。
【0016】本発明に係る第4の発明は、前記変換手段
は、エラー検出のみ必要な第2の重要度のカテゴリに対
してはチェックサムコードないしCRCコードを付加し
たデータブロックを冗長度とする冗長データに変換する
ものである。
【0017】本発明に係る第5の発明は、前記変換手段
は、エラー検出およびエラー訂正がともに必要な第3の
重要度のカテゴリに対してはチェックサムコードないし
CRCコードを付加したデータブロックを二重化したも
のを冗長度とする冗長データに変換するものである。
【0018】本発明に係る第6の発明は、書き換え可能
な不揮発性メモリと不揮発性メモリに書き込むためのデ
ータを記憶するバッファメモリとに対するアクセスを制
御するメモリ制御方法であって、前記バッファメモリの
アドレス毎にデータを書き込むバッファ書き込み工程
と、前記バッファメモリのアドレス毎にカテゴリを設定
する第1の設定工程と、前記第1の設定工程により設定
された各カテゴリ毎に前記バッファメモリに書き込まれ
る各データの重要度を設定する第2の設定工程と、前記
バッファメモリに書き込まれる各データを前記第2の設
定工程により設定された各重要度に応じた冗長度を持つ
冗長データにそれぞれ変換する変換工程と、前記変換工
程により変換された各冗長データを格納する前記不揮発
性メモリ上の格納アドレスを設定する第3の設定工程
と、前記第3の設定工程により設定された格納アドレス
に基づいて各冗長データを前記不揮発性メモリ上に書き
込むバッファフラッシュ工程とを有するものである。
【0019】本発明に係る第7の発明は、前記第2の設
定工程は、エラー検出およびエラー訂正が不要な第1の
重要度,エラー検出のみ必要な第2の重要度,エラー検
出およびエラー訂正がともに必要な第3の重要度とする
ものである。
【0020】本発明に係る第8の発明は、前記変換工程
は、エラー検出およびエラー訂正が不要な第1の重要度
のカテゴリに対してはデータブロックを冗長度とする冗
長データに変換するものである。
【0021】本発明に係る第9の発明は、前記変換工程
は、エラー検出のみ必要な第2の重要度のカテゴリに対
してはチェックサムコードないしCRCコードを付加し
たデータブロックを冗長度とする冗長データに変換する
ものである。
【0022】本発明に係る第10の発明は、前記変換工
程は、エラー検出およびエラー訂正がともに必要な第3
の重要度のカテゴリに対してはチェックサムコードない
しCRCコードを付加したデータブロックを二重化した
ものを冗長度とする冗長データに変換するものである。
【0023】本発明に係る第11の発明は、書き換え可
能な不揮発性メモリと不揮発性メモリに書き込むための
データを記憶するバッファメモリとを介してデータ処理
を行うデータ処理装置を制御するコンピュータが読み出
し可能なプログラムを格納した記憶媒体であって、前記
バッファメモリのアドレス毎にデータを書き込むバッフ
ァ書き込み工程と、前記バッファメモリのアドレス毎に
カテゴリを設定する第1の設定工程と、前記第1の設定
工程により設定された各カテゴリ毎に前記バッファメモ
リに書き込まれる各データの重要度を設定する第2の設
定工程と、前記バッファメモリに書き込まれる各データ
を前記第2の設定工程により設定された各重要度に応じ
た冗長度を持つ冗長データにそれぞれ変換する変換工程
と、前記変換工程により変換された各冗長データを格納
する前記不揮発性メモリ上の格納アドレスを設定する第
3の設定工程と、前記第3の設定工程により設定された
格納アドレスに基づいて各冗長データを前記不揮発性メ
モリ上に書き込むバッファフラッシュ工程とを有するコ
ンピュータが読み出し可能なプログラムを記憶媒体に格
納したものである。
【0024】本発明に係る第12の発明は、前記第2の
設定工程は、エラー検出およびエラー訂正が不要な第1
の重要度,エラー検出のみ必要な第2の重要度,エラー
検出およびエラー訂正がともに必要な第3の重要度とす
るコンピュータが読み出し可能なプログラムを記憶媒体
に格納したものである。
【0025】本発明に係る第13の発明は、前記変換工
程は、エラー検出およびエラー訂正が不要な第1の重要
度のカテゴリに対してはデータブロックを冗長度とする
冗長データに変換するコンピュータが読み出し可能なプ
ログラムを記憶媒体に格納したものである。
【0026】本発明に係る第14の発明は、前記変換工
程は、エラー検出のみ必要な第2の重要度のカテゴリに
対してはチェックサムコードないしCRCコードを付加
したデータブロックを冗長度とする冗長データに変換す
るコンピュータが読み出し可能なプログラムを記憶媒体
に格納したものである。
【0027】本発明に係る第15の発明は、前記変換工
程は、エラー検出およびエラー訂正がともに必要な第3
の重要度のカテゴリに対してはチェックサムコードない
しCRCコードを付加したデータブロックを二重化した
ものを冗長度とする冗長データに変換するコンピュータ
が読み出し可能なプログラムを記憶媒体に格納したもの
である。
【0028】
【発明の実施の形態】以下、図面を参照して本発明の実
施形態を詳細に説明する。
【0029】図1は、本発明の一実施形態を説明するメ
モリ制御装置を適用可能なデータ処理装置の構成を説明
するブロック図である。
【0030】図において、1はCPUで、EEPROM
4,ROM2に記憶される制御プログラム,データに基
づいて所定のデータ処理を行う。3はRAMで、CPU
1のワークメモリとして機能する。なお、EEPROM
4とCPU1とはシリアルポートを介して接続されてい
る。また、CPU1とROM2,RAM3とはバス接続
されている。また、ROM2には本発明のアルゴリズム
がプログラムの一部として格納されており、RAM3は
プログラムのワークエリアおよびバッファメモリとして
用いられる。
【0031】図2は、図1に示したEEPROM4とR
AM3とのデータアクセス状態を説明する模式図であ
り、図1と同一のものには同一の符号を付してある。
【0032】図において、3a〜3cはバッファメモリ
で、カテゴリa,b,cに分割されて確保されている。
5a〜5cは書込みデータで、各カテゴリa,b,c毎
のバッファメモリ3a〜3cに書き込まれる。
【0033】6a〜6cは重要度設定値で、各カテゴリ
毎に設定される。7a〜7cは冗長データ生成装置で、
重要度設定値6a〜6cに応じた冗長データを生成す
る。8a〜8cは各カテゴリ毎の冗長データで、EEP
ROM4上に書き込まれる。
【0034】なお、カテゴリa,b,cヘの分割は、デ
ータを更新すべきタイミングの相関が高いデータが同一
のカテゴリa,b,cを構成するように決定する。本実
施形態では、カテゴリ数は3であるが、もちろんカテゴ
リ数はいくつであってもよい。
【0035】一方、データの重要度は、データ損失によ
るユーザの金銭的・時間的損害の大きさに比例するよう
に決定する。ただし、データを更新すべきタイミングの
相関が高いデータであっても、重要度が異なれば、異な
るカテゴリに分割しなければならない。
【0036】データ重要度の定量的な定義は困難である
ので、概略実用的な範囲で、例えば3段階に分類し、重
要度と実際のデータの特徴を以下のように関連付ける。
【0037】まず、重要度「0」はエラー検出および訂
正ともに不要なレベルで、単に機器のサービス時に参照
される稼動履歴などの情報に設定される重要度に対応す
る。重要度「1」はエラー検出が必要で、エラー訂正が
不要なレベルであり、ユーザが自分で設定することの出
来る情報で、破壊されても容易に再設定できる情報や、
機器が自動で計測を行うなどして設定する情報で、破壊
されても再計測することが容易な情報に設定される重要
度に対応する。
【0038】さらに、重要度「2」はエラー検出および
エラー訂正ともに必要なレベルの重要度であり、ともに
工場出荷時に設定され、破壊されるとユーザが再設定す
ることのできない情報や、ユーザが自分で設定すること
の出来る情報で、破壊されると再設定に煩雑な手順を要
する情報に設定される重要度に対応する。
【0039】一方、冗長データ生成装置7a〜7cは、
重要度「0」〜「2」に応じて冗長データ8a〜8cを
以下の手順で生成する。
【0040】まず、重要度「0」の場合は、冗長データ
生成装置7a〜7cによりデータブロックそのものが生
成され、必要な不揮発性メモリ容量はデータブロックサ
イズに一致する。
【0041】一方、重要度「1」の場合は、冗長データ
生成装置7a〜7cによりデータブロックにチェックサ
ムコードを付加したものが生成される。なお、チェック
サムはワード単位での加算結果の下位1ワードとし、必
要な不揮発性メモリ容量はデータブロックサイズ+2バ
イトとした値となる。
【0042】一方、重要度「2」の場合は、冗長データ
生成装置7a〜7cにより、データブロックにチェック
サムコードを付加し、それを二重化ものが生成される。
なお、必要な不揮発性メモリ容量は、データブロックサ
イズ+2バイトしたものを2倍した値となる。
【0043】次に、本実施形態におけるバッファ書き込
み手段およびバッファフラッシュ手段を、例えばC言語
プログラムインタフェースで以下のように定義する。
【0044】バッファ書き込み手段を「int buf
_grp_write(int grp,int of
fset,unsigned short word_
data)」と定義する。
【0045】ここで、grpはカテゴリ指定子、off
setは該カテゴリ内でのアドレス指定子、word_
dataは書き込みデータである。
【0046】実際のRAM3上でのバッファの構成は各
カテゴリa,b,c内でデータが連続するように配置す
る。この関数をプログラム中で呼び出すと、バッファメ
モリ上で指定のカテゴリとアドレスで示されるデータ内
容が更新される。
【0047】バッファフラッシュ手段を「int de
v_grp_flush(intgrp)」と定義す
る。ここで、grpはカテゴリ指定子である。この関数
をプログラム中で呼び出すと、バッファメモリ上の指定
のカテゴリの内容が冗長データに変換されて、不揮発性
メモリ上に実際に書き込まれる。より好ましくは実際に
更新があったデータのみを実際にデバイスに書き込むよ
うに構成する。
【0048】図2において、RAM3は、データDa,
データDb,データDcの格納領域(バッファメモリ領
域3a,3b,3c)に分割されており、それぞれカテ
ゴリa,b,cに分割されている。また、重要度設定値
6a,6b,6cには、それぞれ重要度「0」,重要度
「1」,重要度「2」が設定されている。不揮発性メモ
リの内容も、データa,データb,データcの重要度に
応じた冗長データを格納するように分割されている。こ
れにより、いわゆるライトキャッシュが構成されること
となる。
【0049】なお、ライトキャッシュにおいては、フラ
ッシュタイミングを決定するアルゴリズムが重要である
が、本発明の内容は特定のアルゴリズムを規定するもの
ではなく、柔軟に適用可能である。目的に応じて様々な
構成が知られているので以下に例示しておく。
【0050】例えば、ディスク型記憶装置などに用いら
れるアルゴリズムは、LRU方式や、周期書き込み方式
など、経過時間を判断基準にした方式である。これは、
要書き込みデータ発生頻度,発生時間間隔などの書き込
みデータ発生源となるアプリケーションの特性を特に想
定せずとも包括的に有効なアルゴリズムである。
【0051】しかし、ディスク型記憶装置という書き込
み回数に制限がなくアクセス時間が非常に遅いデバイス
の、見かけ上のアクセス時間を短縮することが目的であ
り、本発明の目的とするところとは自ずから異なってい
る。
【0052】本発明においては、書き込みデータの発生
源の特性が明らかである場合に、それを最大限に活用し
て、書き込み回数を増やさずにデータの信頼性を向上さ
せることが主限である。
【0053】これは、組み込み用途のプログラムにおい
ては不揮発記憶を利用するアプリケーションを自ら作成
することが多いため、リーズナブルな要請である。
【0054】一般に、アプリケーションの特性は千差万
別であるため、バッファフラッシュタイミングを明示的
に定式化することは難しいが、概略以下の原則に従うこ
とが望ましい。
【0055】各カテゴリのデータ更新の必要が発生した
ら、できるだけ連続してバッファ書き込みを行い、該カ
テゴリのデータ更新が引き続き数秒以上発生しないこと
が明らかな場合はバッファフラッシュを行う。
【0056】また、重要度の高いデータほどこまめにバ
ッファフラッシュを行い、終了処理が存在するならば、
その際に全てのカテゴリのバッファフラッシュを行う。
【0057】以上の要請は、プログラム作成時にあらか
じめ判明している事項なので、プログラム中に静的に埋
め込むことが出来る。
【0058】以下、本実施形態の特徴的構成について図
1,図2等を参照して説明する。
【0059】上記のように構成された前記不揮発性メモ
リに書き込むためのデータを記憶するバッファメモリ
(RAM3)と、前記バッファメモリのアドレス毎にデ
ータを書き込むバッファ書き込み手段(CPU1がRO
M2等に記憶された制御プログラムを実行して書込み処
理する)と、前記バッファメモリのアドレス毎にカテゴ
リを設定する第1の設定手段(CPU1がROM2等に
記憶された制御プログラムを実行してカテゴリを設定処
理する)と、前記第1の設定手段により設定された各カ
テゴリ毎に前記バッファメモリに書き込まれる各データ
の重要度を設定する第2の設定手段(CPU1がROM
2等に記憶された制御プログラムを実行して重要度を設
定処理する)と、前記バッファメモリに書き込まれる各
データを前記第2の設定手段により設定された各重要度
に応じた冗長度を持つ冗長データにそれぞれ変換する変
換手段(冗長データ生成装置7a〜7c)と、前記変換
手段により変換された各冗長データを格納する前記不揮
発性メモリ上の格納アドレスを設定する第3の設定手段
(CPU1がROM2等に記憶された制御プログラムを
実行してEEPROM4に対するアドレスを設定処理す
る)と、前記第3の設定手段により設定された格納アド
レスに基づいて各冗長データを前記不揮発性メモリ上に
書き込むバッファフラッシュ手段(CPU1がROM2
等に記憶された制御プログラムを実行してデータ,冗長
データを図2に示すように書込み処理する)とを有する
ものである。
【0060】また、前記第2の設定手段は、エラー検出
およびエラー訂正が不要な第1の重要度,エラー検出の
み必要な第2の重要度,エラー検出およびエラー訂正が
ともに必要な第3の重要度とするものである。
【0061】さらに、前記変換手段は、エラー検出およ
びエラー訂正が不要な第1の重要度のカテゴリに対して
はデータブロックを冗長度とする冗長データに変換する
ものである。
【0062】また、前記変換手段は、エラー検出のみ必
要な第2の重要度のカテゴリに対してはチェックサムコ
ードないしCRCコードを付加したデータブロックを冗
長度とする冗長データに変換するものである。
【0063】さらに、前記変換手段は、エラー検出およ
びエラー訂正がともに必要な第3の重要度のカテゴリに
対してはチェックサムコードないしCRCコードを付加
したデータブロックを二重化したものを冗長度とする冗
長データに変換するものである。
【0064】図3は、本発明に係るメモリ制御装置のデ
ータ処理手順の一例を示すフローチャートである。な
お、(1)〜(7)は各ステップを示す。また、該手順
はROM2に記憶されるものであっても、他の記憶媒
体,例えばフラッシュROM等に外部よりダウンロード
されて実行されるものであってもよい。また、該メモリ
制御装置は、種種のデータ処理装置および種種の電子機
器であって、EEPROM等の不揮発性記憶媒体を利用
するシステムに適用可能である。
【0065】まず、CPU1は、ROM2よりプログラ
ムを読み出して(1)、RAM3の所定エリアにロード
する。次に、プログラムカウンタ等の指示するコマンド
を読み出して、重要度,カテゴリを設定する(2)。
【0066】そして、次コマンドがバッファメモリ3に
対するデータ書込み指示かどうかを判定して(3)、N
Oならばステップ(6)へ進み、YESならばバッファ
メモリにデータを書込む(4)。
【0067】次に、次コマンドを実行し(5)、該コマ
ンドがEEPROM4に対するデータ書込み指示かどう
かを判定して(6)、NOならばリターンし、YESな
らば重要度に応じた冗長データに変換してEEPROM
4上に確保される特定領域に書込み(7)、処理をリタ
ーンする。
【0068】以下、本実施形態の特徴的構成について更
に説明する。
【0069】上記のように構成された書き換え可能な不
揮発性メモリと不揮発性メモリ(EEPROM4)に書
き込むためのデータを記憶するバッファメモリ(RAM
3)とに対するアクセスを制御するメモリ制御方法であ
って、あるいは書き換え可能な不揮発性メモリ3と不揮
発性メモリ(EEPROM4)に書き込むためのデータ
を記憶するバッファメモリとを介してデータ処理を行う
データ処理装置を制御するコンピュータが読み出し可能
なプログラムを格納した記憶媒体であって、前記バッフ
ァメモリのアドレス毎にデータを書き込むバッファ書き
込み工程(図3のステップ(3),(4))と、前記バ
ッファメモリのアドレス毎にカテゴリを設定する第1の
設定工程(図3のステップ(2))と、前記第1の設定
工程により設定された各カテゴリ毎に前記バッファメモ
リに書き込まれる各データの重要度を設定する第2の設
定工程(図3のステップ(2))と、前記バッファメモ
リに書き込まれる各データを前記第2の設定工程により
設定された各重要度に応じた冗長度を持つ冗長データに
それぞれ変換する変換工程(図3のステップ(7))
と、前記変換工程により変換された各冗長データを格納
する前記不揮発性メモリ上の格納アドレスを設定する第
3の設定工程(図示しない)と、前記第3の設定工程に
より設定された格納アドレスに基づいて各冗長データを
前記不揮発性メモリ上に書き込むバッファフラッシュ工
程(図3のステップ(7))とを有するものである。
【0070】また、前記第2の設定工程は、エラー検出
およびエラー訂正が不要な第1の重要度,エラー検出の
み必要な第2の重要度,エラー検出およびエラー訂正が
ともに必要な第3の重要度とするものである。
【0071】さらに、前記変換工程は、エラー検出およ
びエラー訂正が不要な第1の重要度のカテゴリに対して
はデータブロックを冗長度とする冗長データに変換する
ものである。
【0072】また、前記変換工程は、エラー検出のみ必
要な第2の重要度のカテゴリに対してはチェックサムコ
ードないしCRCコードを付加したデータブロックを冗
長度とする冗長データに変換するものである。
【0073】さらに、前記変換工程は、エラー検出およ
びエラー訂正がともに必要な第3の重要度のカテゴリに
対してはチェックサムコードないしCRCコードを付加
したデータブロックを二重化したものを冗長度とする冗
長データに変換するものである。
【0074】以下、図4に示すメモリマップを参照して
本発明を適用可能なデータ処理装置で読み出し可能なデ
ータ処理プログラムの構成について説明する。
【0075】図4は、本発明を適用可能なデータ処理装
置で読み出し可能な各種データ処理プログラムを格納す
る記憶媒体のメモリマップを説明する図である。
【0076】なお、特に図示しないが、記憶媒体に記憶
されるプログラム群を管理する情報、例えばバージョン
情報,作成者等も記憶され、かつ、プログラム読み出し
側のOS等に依存する情報、例えばプログラムを識別表
示するアイコン等も記憶される場合もある。
【0077】さらに、各種プログラムに従属するデータ
も上記ディレクトリに管理されている。また、各種プロ
グラムをコンピュータにインストールするためのプログ
ラムや、インストールするプログラムが圧縮されている
場合に、解凍するプログラム等も記憶される場合もあ
る。
【0078】本実施形態における図3に示す機能が外部
からインストールされるプログラムによって、ホストコ
ンピュータにより遂行されていてもよい。そして、その
場合、CD−ROMやフラッシュメモリやFD等の記憶
媒体により、あるいはネットワークを介して外部の記憶
媒体から、プログラムを含む情報群を出力装置に供給さ
れる場合でも本発明は適用されるものである。
【0079】以上のように、前述した実施形態の機能を
実現するソフトウエアのプログラムコードを記録した記
憶媒体を、システムあるいは装置に供給し、そのシステ
ムあるいは装置のコンピュータ(またはCPUやMP
U)が記憶媒体に格納されたプログラムコードを読出し
実行することによっても、本発明の目的が達成されるこ
とは言うまでもない。
【0080】この場合、記憶媒体から読み出されたプロ
グラムコード自体が本発明の新規な機能を実現すること
になり、そのプログラムコードを記憶した記憶媒体は本
発明を構成することになる。
【0081】プログラムコードを供給するための記憶媒
体としては、例えば、フロッピーディスク,ハードディ
スク,光ディスク,光磁気ディスク,CD−ROM,C
D−R,磁気テープ,不揮発性のメモリカード,RO
M,EEPROM等を用いることができる。
【0082】また、コンピュータが読み出したプログラ
ムコードを実行することにより、前述した実施形態の機
能が実現されるだけでなく、そのプログラムコードの指
示に基づき、コンピュータ上で稼働しているOS(オペ
レーティングシステム)等が実際の処理の一部または全
部を行い、その処理によって前述した実施形態の機能が
実現される場合も含まれることは言うまでもない。
【0083】さらに、記憶媒体から読み出されたプログ
ラムコードが、コンピュータに挿入された機能拡張ボー
ドやコンピュータに接続された機能拡張ユニットに備わ
るメモリに書き込まれた後、そのプログラムコードの指
示に基づき、その機能拡張ボードや機能拡張ユニットに
備わるCPU等が実際の処理の一部または全部を行い、
その処理によって前述した実施形態の機能が実現される
場合も含まれることは言うまでもない。
【0084】上記実施形態によれば、不揮発性メモリに
記憶すべき内容を、その更新すべきタイミングに着目し
てカテゴリ分けし、各カテゴリ毎にデータ損失による損
害の大きさに比例して重要度を設定する。各カテゴリ毎
にバッファメモリの内容の重要度に応じた冗長コードを
付加して不揮発性メモリデバイスに必要に応じてフラッ
シュするので、書き込みが必要なカテゴリのデータのみ
を、きめ細かくデバイスヘ書き込むことができ、書き込
み回数と、バッファ上のデータが書き込まれていないこ
とによるデータ損失の危険性を同時に最小化できる。
【0085】
【発明の効果】以上説明したように、本発明に係る第1
〜第15の発明によれば、バッファメモリに対するデー
タ書込みが頻繁に実行される際に、各データの重要度に
応じて各データに対する冗長データが不揮発性メモリに
書込まれるため、さほど重要でないが、頻繁に書込まれ
るデータに対して冗長データの更新が制限され、かつ、
重要度は高いがデータ書込みが少ないデータに対する冗
長データは確実に不揮発性メモリに書込むメモリアクセ
ス環境を保証でき、安価ではあるが、不揮発性メモリに
対するアクセス回数が制限されるメモリ媒体を有効に利
用するメモリシステムを自在に構築することができる。
【0086】従って、書き込みが必要なカテゴリのデー
タのみを、きめ細かくデバイスヘ書き込むことができ、
書き込み回数と、バッファ上のデータが書き込まれてい
ないことによるデータ損失の危険性を同時に最小化でき
るメモリ制御を自在に行える等の効果を奏する。
【図面の簡単な説明】
【図1】本発明の一実施形態を説明するメモリ制御装置
を適用可能なデータ処理装置の構成を説明するブロック
図である。
【図2】図1に示したEEPROMとRAMとのデータ
アクセス状態を説明する模式図である。
【図3】本発明に係るメモリ制御装置のデータ処理手順
の一例を示すフローチャートである。
【図4】本発明を適用可能なデータ処理装置で読み出し
可能な各種データ処理プログラムを格納する記憶媒体の
メモリマップを説明する図である。
【符号の説明】
l CPU 2 ROM 3 RAM 3a〜3c バッファメモリ領域 4 EEPR0M 5a,5b,5c バッファメモリヘの書き込みデータ 6a,6b,6c 重要度設定値 7a,7b,7c 冗長データ生成装置 8a,8b,8c 冗長データ
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 FI G06F 11/16 310 G06F 11/16 310H

Claims (15)

    【特許請求の範囲】
  1. 【請求項1】 書き換え可能な不揮発性メモリと、 前記不揮発性メモリに書き込むためのデータを記憶する
    バッファメモリと、 前記バッファメモリのアドレス毎にデータを書き込むバ
    ッファ書き込み手段と、 前記バッファメモリのアドレス毎にカテゴリを設定する
    第1の設定手段と、 前記第1の設定手段により設定された各カテゴリ毎に前
    記バッファメモリに書き込まれる各データの重要度を設
    定する第2の設定手段と、 前記バッファメモリに書き込まれる各データを前記第2
    の設定手段により設定された各重要度に応じた冗長度を
    持つ冗長データにそれぞれ変換する変換手段と、 前記変換手段により変換された各冗長データを格納する
    前記不揮発性メモリ上の格納アドレスを設定する第3の
    設定手段と、 前記第3の設定手段により設定された格納アドレスに基
    づいて各冗長データを前記不揮発性メモリ上に書き込む
    バッファフラッシュ手段と、を有することを特徴とする
    メモリ制御装置。
  2. 【請求項2】 前記第2の設定手段は、エラー検出およ
    びエラー訂正が不要な第1の重要度,エラー検出のみ必
    要な第2の重要度,エラー検出およびエラー訂正がとも
    に必要な第3の重要度とすることを特徴とする請求項1
    記載のメモリ制御装置。
  3. 【請求項3】 前記変換手段は、エラー検出およびエラ
    ー訂正が不要な第1の重要度のカテゴリに対してはデー
    タブロックを冗長度とする冗長データに変換することを
    特徴とする請求項1記載のメモリ制御装置。
  4. 【請求項4】 前記変換手段は、エラー検出のみ必要な
    第2の重要度のカテゴリに対してはチェックサムコード
    ないしCRCコードを付加したデータブロックを冗長度
    とする冗長データに変換することを特徴とする請求項1
    記載のメモリ制御装置。
  5. 【請求項5】 前記変換手段は、エラー検出およびエラ
    ー訂正がともに必要な第3の重要度のカテゴリに対して
    はチェックサムコードないしCRCコードを付加したデ
    ータブロックを二重化したものを冗長度とする冗長デー
    タに変換することを特徴とする請求項1記載のメモリ制
    御装置。
  6. 【請求項6】 書き換え可能な不揮発性メモリと不揮発
    性メモリに書き込むためのデータを記憶するバッファメ
    モリとに対するアクセスを制御するメモリ制御方法であ
    って、 前記バッファメモリのアドレス毎にデータを書き込むバ
    ッファ書き込み工程と、 前記バッファメモリのアドレス毎にカテゴリを設定する
    第1の設定工程と、 前記第1の設定工程により設定された各カテゴリ毎に前
    記バッファメモリに書き込まれる各データの重要度を設
    定する第2の設定工程と、 前記バッファメモリに書き込まれる各データを前記第2
    の設定工程により設定された各重要度に応じた冗長度を
    持つ冗長データにそれぞれ変換する変換工程と、 前記変換工程により変換された各冗長データを格納する
    前記不揮発性メモリ上の格納アドレスを設定する第3の
    設定工程と、 前記第3の設定工程により設定された格納アドレスに基
    づいて各冗長データを前記不揮発性メモリ上に書き込む
    バッファフラッシュ工程と、を有することを特徴とする
    メモリ制御方法。
  7. 【請求項7】 前記第2の設定工程は、エラー検出およ
    びエラー訂正が不要な第1の重要度,エラー検出のみ必
    要な第2の重要度,エラー検出およびエラー訂正がとも
    に必要な第3の重要度とすることを特徴とする請求項6
    記載のメモリ制御方法。
  8. 【請求項8】 前記変換工程は、エラー検出およびエラ
    ー訂正が不要な第1の重要度のカテゴリに対してはデー
    タブロックを冗長度とする冗長データに変換することを
    特徴とする請求項6記載のメモリ制御方法。
  9. 【請求項9】 前記変換工程は、エラー検出のみ必要な
    第2の重要度のカテゴリに対してはチェックサムコード
    ないしCRCコードを付加したデータブロックを冗長度
    とする冗長データに変換することを特徴とする請求項6
    記載のメモリ制御方法。
  10. 【請求項10】 前記変換工程は、エラー検出およびエ
    ラー訂正がともに必要な第3の重要度のカテゴリに対し
    てはチェックサムコードないしCRCコードを付加した
    データブロックを二重化したものを冗長度とする冗長デ
    ータに変換することを特徴とする請求項6記載のメモリ
    制御方法。
  11. 【請求項11】 書き換え可能な不揮発性メモリと不揮
    発性メモリに書き込むためのデータを記憶するバッファ
    メモリとを介してデータ処理を行うデータ処理装置を制
    御するコンピュータが読み出し可能なプログラムを格納
    した記憶媒体であって、 前記バッファメモリのアドレス毎にデータを書き込むバ
    ッファ書き込み工程と、 前記バッファメモリのアドレス毎にカテゴリを設定する
    第1の設定工程と、 前記第1の設定工程により設定された各カテゴリ毎に前
    記バッファメモリに書き込まれる各データの重要度を設
    定する第2の設定工程と、 前記バッファメモリに書き込まれる各データを前記第2
    の設定工程により設定された各重要度に応じた冗長度を
    持つ冗長データにそれぞれ変換する変換工程と、 前記変換工程により変換された各冗長データを格納する
    前記不揮発性メモリ上の格納アドレスを設定する第3の
    設定工程と、 前記第3の設定工程により設定された格納アドレスに基
    づいて各冗長データを前記不揮発性メモリ上に書き込む
    バッファフラッシュ工程と、を有することを特徴とする
    コンピュータが読み出し可能なプログラムを格納した記
    憶媒体。
  12. 【請求項12】 前記第2の設定工程は、エラー検出お
    よびエラー訂正が不要な第1の重要度,エラー検出のみ
    必要な第2の重要度,エラー検出およびエラー訂正がと
    もに必要な第3の重要度とすることを特徴とする請求項
    11記載のコンピュータが読み出し可能なプログラムを
    格納した記憶媒体。
  13. 【請求項13】 前記変換工程は、エラー検出およびエ
    ラー訂正が不要な第1の重要度のカテゴリに対してはデ
    ータブロックを冗長度とする冗長データに変換すること
    を特徴とする請求項11記載のコンピュータが読み出し
    可能なプログラムを格納した記憶媒体。
  14. 【請求項14】 前記変換工程は、エラー検出のみ必要
    な第2の重要度のカテゴリに対してはチェックサムコー
    ドないしCRCコードを付加したデータブロックを冗長
    度とする冗長データに変換することを特徴とする請求項
    11記載のコンピュータが読み出し可能なプログラムを
    格納した記憶媒体。
  15. 【請求項15】 前記変換工程は、エラー検出およびエ
    ラー訂正がともに必要な第3の重要度のカテゴリに対し
    てはチェックサムコードないしCRCコードを付加した
    データブロックを二重化したものを冗長度とする冗長デ
    ータに変換することを特徴とする請求項11記載のコン
    ピュータが読み出し可能なプログラムを格納した記憶媒
    体。
JP10137844A 1998-05-20 1998-05-20 メモリ制御装置およびメモリ制御方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体 Pending JPH11328039A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10137844A JPH11328039A (ja) 1998-05-20 1998-05-20 メモリ制御装置およびメモリ制御方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10137844A JPH11328039A (ja) 1998-05-20 1998-05-20 メモリ制御装置およびメモリ制御方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体

Publications (1)

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

Family

ID=15208144

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10137844A Pending JPH11328039A (ja) 1998-05-20 1998-05-20 メモリ制御装置およびメモリ制御方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体

Country Status (1)

Country Link
JP (1) JPH11328039A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009214596A (ja) * 2008-03-07 2009-09-24 Nissan Diesel Motor Co Ltd 車両用電子制御ユニット
JP2011210277A (ja) * 2011-06-20 2011-10-20 Toshiba Corp 情報処理装置および情報処理方法
JP2011210023A (ja) * 2010-03-30 2011-10-20 Toshiba Corp 情報処理装置および情報処理方法
JP2024050199A (ja) * 2022-09-29 2024-04-10 アズビル株式会社 制御装置、制御方法及び制御プログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009214596A (ja) * 2008-03-07 2009-09-24 Nissan Diesel Motor Co Ltd 車両用電子制御ユニット
JP2011210023A (ja) * 2010-03-30 2011-10-20 Toshiba Corp 情報処理装置および情報処理方法
JP2011210277A (ja) * 2011-06-20 2011-10-20 Toshiba Corp 情報処理装置および情報処理方法
JP2024050199A (ja) * 2022-09-29 2024-04-10 アズビル株式会社 制御装置、制御方法及び制御プログラム

Similar Documents

Publication Publication Date Title
US5522076A (en) Computer system having BIOS (basic input/output system)-ROM (Read Only Memory) writing function
EP1548602B1 (en) Non-volatile storage device control method
JP4668416B2 (ja) ブート・ブロックへの書き込みアクセスを可能にする時のブート・ブロック・コードの保護
KR100572328B1 (ko) 배드 블록 관리부를 포함하는 플래시 메모리 시스템
EP0442651B1 (en) Apparatus and method for background memory test during system start up
JP3268130B2 (ja) フラッシュeepromを用いたデータ処理装置
JP3472008B2 (ja) フラッシュメモリ管理方法
KR100370893B1 (ko) 일괄 소거형 비휘발성 메모리 장치
JPH10124381A (ja) 半導体記憶装置
JP3576625B2 (ja) フラッシュメモリカードのデータ管理方法およびそのデータ管理方法を使用したデータ処理装置
RU2248627C2 (ru) Способ и устройство для изменения содержимого запоминающих устройств блоков управления
US10579300B2 (en) Information handling system firmware persistent memory runtime reclaim
JP3519954B2 (ja) チップイネーブル信号生成回路及びメモリ装置
US6216225B1 (en) PC system having flash-ROM controlling device and method for protecting BIOS stored in flash-ROM
JPH11328039A (ja) メモリ制御装置およびメモリ制御方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JP4794530B2 (ja) 半導体装置および携帯電話
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 (ja) Eepromエラーチェック方式
JP3166659B2 (ja) 記憶装置
JP3314719B2 (ja) フラッシュeepromとその試験方法
JPH08286948A (ja) ソフトウエア開発支援装置および方法
JP4575112B2 (ja) ファームウェアの書換方法、ディスクドライブ装置、及び情報処理システム
JP2000163321A (ja) データ処理方法および装置および記憶媒体
JPH06139064A (ja) 電子機器のバグ対策装置