JP2004005062A - メモリデータ保護方式 - Google Patents
メモリデータ保護方式 Download PDFInfo
- Publication number
- JP2004005062A JP2004005062A JP2002158180A JP2002158180A JP2004005062A JP 2004005062 A JP2004005062 A JP 2004005062A JP 2002158180 A JP2002158180 A JP 2002158180A JP 2002158180 A JP2002158180 A JP 2002158180A JP 2004005062 A JP2004005062 A JP 2004005062A
- Authority
- JP
- Japan
- Prior art keywords
- error
- information
- memory
- data
- data protection
- 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
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
【課題】誤り訂正できなくなる可能性を低くし、未使用部分に関してもエラーの検出ができるメモリデータ保護方法を提供する。
【解決手段】不揮発性メモリに、誤り訂正符号で符号化した情報を書き込み、不揮発性メモリの未使用部分も誤り訂正符号を付加したデータで埋め尽くし、定期的に全領域の復号を行い、エラーの発生がないことを確認することにより、現在は使用していない領域もエラーのないことを保証し、新たな領域を使用するときに書き込めなくなることを防止する。
【選択図】 図4
【解決手段】不揮発性メモリに、誤り訂正符号で符号化した情報を書き込み、不揮発性メモリの未使用部分も誤り訂正符号を付加したデータで埋め尽くし、定期的に全領域の復号を行い、エラーの発生がないことを確認することにより、現在は使用していない領域もエラーのないことを保証し、新たな領域を使用するときに書き込めなくなることを防止する。
【選択図】 図4
Description
【0001】
【発明の属する技術分野】
本発明のメモリデータ保護方式に関し、特に、不揮発性半導体メモリのデータ保護、磁気ディスク、揮発性半導体メモリのデータ保護に関する。
【0002】
【従来の技術】
従来のプリンタやコピーなどのコントローラでは、不揮発性メモリが課金情報やユーザ設定の保存に使用されているが、もしここに誤りが発生すると金銭的な問題や再設定の手間などの問題が発生する。そのため従来はチェックサムなどで誤りの検出を行っていた。
【0003】
【発明が解決しようとする課題】
プリンタやコピーなどのコントローラでは、不揮発性メモリが課金情報やユーザ設定の保存使われている。このため、もしここに誤りが発生すると金銭的な問題や再設定の手間などの問題が発生する。そのため従来はチェックサムで誤りを検出したり、誤り訂正符号で誤りの検出・訂正したりしていた。
しかし、誤りの検出・訂正は書き込んだ情報に関してのみ行っており、未使用の部分については何のチェックも行っていなかったため、これまで未使用だった部分にエラーがある場合もその部分に情報を書き込むようになるまでエラーがあることがわからなかった。
【0004】
またFLASH ROMの場合、電荷の抜けによりデータ化けがおこることがあるが、これは書き込んですぐには正常に読み出せることがある。このため書き込み直後に読み出して正常に書かれていることを確認しても、その後時間だ経ってからデータが化けていることがある。
【0005】
さらに、もしエラーが発生した場合にはデバイス、または組み付けの不良と見なし、コントローラ自体を不良としていたが、他の部分は正常に動作しているため、そのまま不良品として破棄するのは無駄がある。
【0006】
本発明は係る問題に鑑みてなされたものであり、エラーの発生状況を保存し、それまでのエラー発生状況に応じた処理を行うことを目的とする。
【0007】
また、誤り訂正できなくなる可能性を低くし、書き込む情報の並び替えを行うことにより内容を容易に読み出されることを防ぐことを目的とする。
【0008】
また、未使用部分に関してもエラーの検出ができることを目的とし、また書き込み後時間が経ってエラーが発生する場合にも誤りを検出できることを目的とする。
【0009】
また、複数の不揮発性メモリや他の記憶手段を有する場合に、誤り訂正符合の誤り訂正ができる程度の誤りが発生したときに誤りの発生したものとは違うデバイスに情報のバックアップを書き込むことで情報が完全に消えてしまうことを防ぐことを目的とする。
【0010】
さらに、不揮発性メモリの一部の領域で恒久的なエラーが発生した場合でも継続して使用できることを目的とする。
【0011】
なお、エラーが発生した場合には、エラーの発生した領域を記憶し、その後異常の起きた領域には情報を書き込まないようにすることでエラーの発生したコントローラを継続して使用できるようにする。
【0012】
【課題を解決するための手段】
上記目的を達成するために、請求項1記載のメモリデータ保護方式は、FLASH ROMのような書き込み可能な不揮発性のメモリに、各種情報を書き込む機器において、不揮発性メモリには誤り訂正符合で符号化した情報を書き込み、不揮発性メモリの未使用部分も誤り訂正符号を負荷したデータで埋め尽くし、定期的に全領域の書き込みと復号を行いエラーの発生がないことを確認する手段と、エラー発生時にはエラー発生情報を記録し、それまでのエラー発生状況に応じた処理を行う手段を有することを特徴とする。
【0013】
請求項2記載のメモリデータ保護方式は、FLASH ROMは、書き込み可能な不揮発性のメモリに、各種情報を書き込む機器において、不揮発性メモリには、誤りが連続しないように並び替えを行った後、誤り訂正符号で符号化した情報を書き込み、デバイス内部での断線や組み付け不良により連続したデータが読み込めなくなった場合でも情報が失われる可能性を低くすることを特徴とする。
【0014】
請求項3記載のメモリデータ保護方式は、FLASH ROMは、データの並べ替えを行っているため並べ替えの規則を知らないと容易には元のデータがわからないためユーザの入力した情報を保護することができることを特徴とする。
【0015】
請求項4記載のメモリデータ保護方式は、FLASH ROMは、書き込み可能な不揮発性のメモリを有し、そこに課金情報やユーザ設定などの情報を書き込む機器において、不揮発性メモリには誤り訂正符合で符号化した情報を書き込み、不揮発性メモリの未使用部分も誤り訂正符号を付加したデータで埋め尽くし、定期的に全領域の復号を行いエラーの発生がないことを確認することにより、現在は使用していない領域もエラーのないことを保証し、新たな領域を使用するときに書き込めなくなることを防止する防止手段を有することを特徴とする。
【0016】
請求項5記載のメモリデータ保護方式は、機器中に複数の不揮発性メモリや他の記憶手段を有する場合には、情報に誤り訂正可能なエラーを発見した場合、情報のバックアップを他の不揮発性メモリに書き込むことにより情報の消失を防ぐことを特徴とする。
【0017】
請求項6記載のメモリデータ保護方式は、記憶手段は、エラーの発生した部分を記憶しておき、その部分を使用しないことによりエラーの発生があっても問題なく使用を継続できることを特徴とする。
【0018】
【発明の実施の形態】
本発明の実施形態を、図を参照して説明する。
図1は、エラー発生状況によりエラー通知の変更をする処理を示すフローチャートである。
最初に、エラーがあるかの判断を行う(ステップS100)。エラーがない場合は(ステップS100/NO)、そのまま終了となる。エラーがある場合は(ステップS100/YES)、誤り訂正可能なエラーかの判断を行う(ステップS101)。誤り訂正が可能の場合は(ステップS101/YES)、エラー自動訂正を行い(ステップS102)、終了となる。誤り訂正可能でない場合は(ステップS101/NO)、さらにユーザ入力可能な情報かどうかの判断を行う(ステップS103)。ユーザ入力可能な情報でない場合は(ステップS103/NO)、サービスマンコールを行い(ステップS106)、終了となる。ユーザ入力可能な情報の場合は(ステップS103/YES)、次にエラー頻度が高いかどうかの判断を行う(ステップS104)。エラー頻度が高い場合は(ステップS106/YES)、サービスマンコールを行い(ステップS106)、終了となる。エラー頻度が高くない場合は(ステップS104/NO)、情報再入力を行い(ステップS105)、終了となる。
【0019】
誤りを検出し、ある程度の誤りならば訂正を行うことのできる誤り訂正符号で符号化した情報を不揮発性メモリに書き込み、不揮発性メモリの未使用部分も誤り訂正符号を付加したデータで埋め尽くし、定期的に全領域の復号を行いエラーの発生がないことを確認することにより、現在は使用していない領域もエラーのないことを保証し、新たな領域を使用するときに書き込めなくなることを防止する。
【0020】
具体的には、最初に書き込みを行う前に不揮発性メモリの全領域に誤り訂正符合で符号化した穴埋めデータを書き込み、情報を書き込む場合も情報を同じ誤り訂正符号で符号化し、書き込みを行う。ここで誤り訂正符合はリード・ソロモン符号やBCH符号など既知の誤り訂正符号を用いるものとする。
【0021】
その後、定期的に全領域を読み出して復号し、誤りのないことを確認する。定期的な確認はタイマーを用い、一定時間ごとにいっても良いし、起動ごとや、あらかじめ決められた回数、起動する毎に行うようにしても良い。
【0022】
ここで誤り訂正ができる誤りが見つかった場合は、誤りを修正し再書き込みを行う。誤り訂正のできないような誤りの発生した場合にはエラーとして扱い誤りの発生したアドレスを期待値とを読み出した値を出力するようにする。
【0023】
誤りを検出した場合は、異常の内容を記録する。
・異常の発生したアドレス
・書き込み時のエラーか読み出し時のエラーか
・どのようなエラーか(1→0か0→1か)
・そのアドレスで何回目か
・トータルで何回目のエラーか
・そのアドレスでのエラーの発生日時
・トータルでのエラーの発生日時
上記のように発生した日時を示す時計機能を設けていない機器の場合は、
・何回目の起動か
・起動中の累積時間
といった場合でもよい。
【0024】
エラーの発生状況により以下のようにユーザへ、エラー通知を変更する。
・エラー訂正できる誤りであり、エラー発生の頻度が低い場合には、単に誤り訂正を行いユーザへの通知は行わない。
・エラー訂正できない誤りや、ユーザが再入力できる情報(ユーザ設定条件など)に関するものである場合は、エラー発生表示をし、正しい情報の入力を求める。
・エラー訂正できない誤りであり、ユーザが入力できない情報の場合やエラー訂正できる場合でもエラー発生の頻度が高い場合にはサービスマンを呼ぶようなメッセージを表示する。
【0025】
FLASH ROMのような書き込み可能な不揮発性のメモリに、各種情報を書き込む機器において、不揮発性メモリには誤りが連続しないように並び替えを行った後、誤り訂正符合で符号化した情報を書き込み、デバイス内部での断線や組み付け不良により連続したデータが読み込めなくなった場合でも情報が失われる可能性を低くする。
【0026】
図2は、2ビットの誤り訂正能力を有する情報8ビット、誤り訂正ビット8ビットの計16ビットの誤り訂正符号を示した図である。
図3は、順番のまま2バイトの連続するデータとしてメモリに書き込んだ場合を示した図である。
アドレス0000または0001がデバイス内部での断線や組み付け不良により正しく読み出せなくなった場合、訂正能力を超えてしまうため、誤りを訂正することができなくなる。
【0027】
図4は、符号化データの書き込み位置を示した図である。
図2、3で示したようなことを防ぐために、符号化データの第1ビットは、アドレス0000の第1ビット、第2ビットはアドレス0001の第1ビットというように書き込み、灰色部分には他のデータが同様にして書き込まれる。こうすることで、デバイス内部での断線や組み付け不良により0000から000Fまでのある1つのアドレスが読み出せなくなるような事態が発生しても符号化データとしては、1ビットの誤りでしかないため誤り訂正が可能になる。
【0028】
データの並べ替えを行っているため、この並べ替えの規則を知らないと容易には、元のデータがわからないためユーザの入力した情報を保護することができる。
【0029】
図5は、メモリデータ保護方式における全領域の復号を行い、エラー発生がないことを確認する処理を示したフローチャートである。
まず、最初の書き込みかどうかの判断を行う(ステップS200)。最初の書き込みの場合は(ステップS200/YES)、全領域に穴埋めデータを書き込み(ステップS201)、ステップ2以降を行う。最初の書き込みでない場合(ステップS200/NO)、全領域チェックまたは情報読み出しの判断を行う(ステップS202)。全領域チェックまたは情報読み出しがない場合は(ステップS202/)、もう一度同じ判断を繰り返す。全領域チェックまたは情報読み出しがある場合は(ステップS202/YES)、復号を行い(ステップS203)、誤り検出を行う(ステップS204)。誤りがない場合は(ステップS204/NO)、もう一度、全領域チェックまたは情報読み出し(ステップS202)を行う。誤りがある場合は(ステップS204/YES)、訂正可能かどうかの判断を行う(ステップS205)。訂正可能の場合は(ステップS205/YES)、エラー訂正を行い(ステップS206)、さらに、全領域チェックまたは情報読み出し(ステップS202)を行う。訂正可能でない場合は(ステップS205/NO)、エラー通知を出し(ステップS207)終了となる。
【0030】
以上のことから、FLASH ROMの場合、電荷の抜けによりデータ化けが起こることがあるが、このような異常を書き込みことにより、すぐに読み出した場合は、正常に読み出せる。
定期的に読み出して確認を行うだけでなく、定期的に書き込み、読み出しを行うようにして書き込み時の誤りの有無を確認する。書き込みを行う場合は、デバイスによって、書き込み回数の制限があるため書き込みの頻度は読み出しより低くする。
【0031】
図6は、メモリデータ保護方式における誤りが発生したデバイスとは別のデバイスに情報を保存する処理を示したフローチャートである。
まず、最初の書き込みかどうかの判断を行う(ステップS300)。最初の書き込みの場合は(ステップS300/YES)、全領域に穴埋めデータを書き込み(ステップS301)、ステップS302以降の処理を行う。最初の書き込みでない場合は(ステップS300/NO)、全領域チェックまたは情報読み出しかどうかの判断をする(ステップS302)。全領域チェックまたは情報読み出しでない場合(ステップS302/NO)、もう一度、全領域チェックまたは情報読み出し(ステップS302)の処理を行う。全領域チェックまたは情報読み出しを行う場合は(ステップS302/YES)、復号を行う(ステップS303)。次に、誤りの検出を行う(ステップS304)。誤りがない場合は(ステップS304/NO)、全領域チェックまたは情報読み出し(ステップS302)を行う。誤りがある場合は(ステップS304/YES)、訂正可能かどうかの判断を行う(ステップS305)。訂正可能でない場合は(ステップS305/NO)、エラー通知を発行し(ステップS308)、終了となる。訂正可能の場合は(ステップS305/YES)、エラー訂正を行い(ステップS306)、別デバイスにバックアップ書き込みを行い(ステップS307)、全領域チェックまたは情報読み出し(ステップS302)の処理へ戻る。
【0032】
以上のことから、複数の不揮発性メモリまたは他の記憶手段(ハードディスク等)を有する場合に、情報に誤りが検出されたときは、そのデバイス自体の不良や組み付け不良の可能性もあり、誤りを訂正して再度書き込んだとしても、再度誤りが発生する可能性がある。そのため、誤り訂正できる誤りを検出した場合は、誤りが発生したデバイスとは別にデバイスに情報を保存することで、情報が失われることを防止し、誤り訂正不可能な誤りを検出した場合はエラーとして通知する。
【0033】
別デバイスは、例えばFLASH ROMが複数CHIP構成の時は、FLASH ROMに書き込むようにしても良い。またはFLASH ROMとNVRAM、HDDなど全く異なるデバイスでもよい。
【0034】
図7は、メモリデータ保護方式におけるエラーの発生した部分を記憶する処理を示したフローチャートである。
まず、エラーは未使用領域かどうかの判断をする(ステップS400)。エラーが未使用領域の場合は(ステップS400/YES)、エラーのあったアドレスを記憶し(ステップS404)、終了となる。エラーが未使用領域でない場合は(ステップS400/NO)、次に訂正可能かどうかの判断をする(ステップS401)。訂正可能でない場合は(ステップS401/NO)、エラー通知を発行し(ステップS402)、終了となる。訂正可能の場合(ステップS401/YES)、誤り訂正し、異常のないアドレスに書き込む(ステップS403)。さらに、エラーのあったアドレスを記憶する(ステップS404)。
【0035】
以上のことから、アドレス単位でなくブロック単位での管理にすることにより、従来は、デバイス自体の問題や組み付け不良によりデバイス中に1つでも不良部分があれば、不良品として扱っていたが誤りの発生した部分を回避して使用することにより継続して使用が可能になる。
【0036】
【発明の効果】
請求項1記載の発明は、誤りが検出された結果を保存しているため、それまでのエラー発生状況に応じて適切なメッセージをユーザに対して表示することができる。
【0037】
請求項2記載の発明は、符号化データ内で誤りが連続しないように並び替えを行っているので誤り訂正が出来なくなる可能性を低くすることができる。
【0038】
請求項3記載の発明は、ネットワークI/Fを有する機械ではIPアドレスなどネットワーク情報を不揮発性メモリに格納するが、このようなユーザ情報が、機器が破棄されたときなどに悪意ある第三者により不揮発性メモリを読むことで流出する恐れがある。
データの並べ替えを行っているため、この並べ替えの規則を知らないと容易には、元のデータが分からないためユーザの入力した情報を保護することができる。
【0039】
請求項4記載の発明は、未使用の部分に関しても誤り訂正符合で符号化した穴埋めのためのデータを書き込み、定期的に全領域を復号し、誤りが発生していないことを確認しているので、現在情報の書かれていない領域に関してもエラーがないことを保証できる。
また、定期的にエラーの発生を確認しているため書き込み後時間が経ってから発生するエラーも検出することができる。
【0040】
請求項5記載の発明は、誤り訂正ができる誤りが発生した場合は、誤りが発生したデバイスとは別のデバイスに情報のバックアップを作成するため情報の消失の可能性を低くすることができる。
【0041】
請求項6記載の発明は、異常の発見されたアドレスまたは領域を記憶し、そのアドレスまたは領域には、情報を書き込まないようにしているので、エラーの再発を防ぐことができる。また、1つのエラーだけで全体を不良とは見なさないため機器は継続して使用することができる。
【図面の簡単な説明】
【図1】本発明のメモリデータ保護方式におけるエラー発生状況により、エラー通知の変更をする処理を示すフローチャートである。
【図2】本発明のメモリデータ保護方式における16ビットの誤り訂正符号を示した図である。
【図3】本発明のメモリデータ保護方式における2ビットの連続するデータを示した図である。
【図4】本発明のメモリデータ保護方式における符号化データの書き込み位置を示した図である。
【図5】本発明のメモリデータ保護方式における全領域の復号を行い、エラー発生がないことを確認する処理を示したフローチャートである。
【図6】本発明のメモリデータ保護方式における誤りが発生したデバイスとは別のデバイスに情報を保存する処理を示したフローチャートである。
【図7】本発明のメモリデータ保護方式におけるエラーの発生した部分を記憶する処理を示したフローチャートである。
【発明の属する技術分野】
本発明のメモリデータ保護方式に関し、特に、不揮発性半導体メモリのデータ保護、磁気ディスク、揮発性半導体メモリのデータ保護に関する。
【0002】
【従来の技術】
従来のプリンタやコピーなどのコントローラでは、不揮発性メモリが課金情報やユーザ設定の保存に使用されているが、もしここに誤りが発生すると金銭的な問題や再設定の手間などの問題が発生する。そのため従来はチェックサムなどで誤りの検出を行っていた。
【0003】
【発明が解決しようとする課題】
プリンタやコピーなどのコントローラでは、不揮発性メモリが課金情報やユーザ設定の保存使われている。このため、もしここに誤りが発生すると金銭的な問題や再設定の手間などの問題が発生する。そのため従来はチェックサムで誤りを検出したり、誤り訂正符号で誤りの検出・訂正したりしていた。
しかし、誤りの検出・訂正は書き込んだ情報に関してのみ行っており、未使用の部分については何のチェックも行っていなかったため、これまで未使用だった部分にエラーがある場合もその部分に情報を書き込むようになるまでエラーがあることがわからなかった。
【0004】
またFLASH ROMの場合、電荷の抜けによりデータ化けがおこることがあるが、これは書き込んですぐには正常に読み出せることがある。このため書き込み直後に読み出して正常に書かれていることを確認しても、その後時間だ経ってからデータが化けていることがある。
【0005】
さらに、もしエラーが発生した場合にはデバイス、または組み付けの不良と見なし、コントローラ自体を不良としていたが、他の部分は正常に動作しているため、そのまま不良品として破棄するのは無駄がある。
【0006】
本発明は係る問題に鑑みてなされたものであり、エラーの発生状況を保存し、それまでのエラー発生状況に応じた処理を行うことを目的とする。
【0007】
また、誤り訂正できなくなる可能性を低くし、書き込む情報の並び替えを行うことにより内容を容易に読み出されることを防ぐことを目的とする。
【0008】
また、未使用部分に関してもエラーの検出ができることを目的とし、また書き込み後時間が経ってエラーが発生する場合にも誤りを検出できることを目的とする。
【0009】
また、複数の不揮発性メモリや他の記憶手段を有する場合に、誤り訂正符合の誤り訂正ができる程度の誤りが発生したときに誤りの発生したものとは違うデバイスに情報のバックアップを書き込むことで情報が完全に消えてしまうことを防ぐことを目的とする。
【0010】
さらに、不揮発性メモリの一部の領域で恒久的なエラーが発生した場合でも継続して使用できることを目的とする。
【0011】
なお、エラーが発生した場合には、エラーの発生した領域を記憶し、その後異常の起きた領域には情報を書き込まないようにすることでエラーの発生したコントローラを継続して使用できるようにする。
【0012】
【課題を解決するための手段】
上記目的を達成するために、請求項1記載のメモリデータ保護方式は、FLASH ROMのような書き込み可能な不揮発性のメモリに、各種情報を書き込む機器において、不揮発性メモリには誤り訂正符合で符号化した情報を書き込み、不揮発性メモリの未使用部分も誤り訂正符号を負荷したデータで埋め尽くし、定期的に全領域の書き込みと復号を行いエラーの発生がないことを確認する手段と、エラー発生時にはエラー発生情報を記録し、それまでのエラー発生状況に応じた処理を行う手段を有することを特徴とする。
【0013】
請求項2記載のメモリデータ保護方式は、FLASH ROMは、書き込み可能な不揮発性のメモリに、各種情報を書き込む機器において、不揮発性メモリには、誤りが連続しないように並び替えを行った後、誤り訂正符号で符号化した情報を書き込み、デバイス内部での断線や組み付け不良により連続したデータが読み込めなくなった場合でも情報が失われる可能性を低くすることを特徴とする。
【0014】
請求項3記載のメモリデータ保護方式は、FLASH ROMは、データの並べ替えを行っているため並べ替えの規則を知らないと容易には元のデータがわからないためユーザの入力した情報を保護することができることを特徴とする。
【0015】
請求項4記載のメモリデータ保護方式は、FLASH ROMは、書き込み可能な不揮発性のメモリを有し、そこに課金情報やユーザ設定などの情報を書き込む機器において、不揮発性メモリには誤り訂正符合で符号化した情報を書き込み、不揮発性メモリの未使用部分も誤り訂正符号を付加したデータで埋め尽くし、定期的に全領域の復号を行いエラーの発生がないことを確認することにより、現在は使用していない領域もエラーのないことを保証し、新たな領域を使用するときに書き込めなくなることを防止する防止手段を有することを特徴とする。
【0016】
請求項5記載のメモリデータ保護方式は、機器中に複数の不揮発性メモリや他の記憶手段を有する場合には、情報に誤り訂正可能なエラーを発見した場合、情報のバックアップを他の不揮発性メモリに書き込むことにより情報の消失を防ぐことを特徴とする。
【0017】
請求項6記載のメモリデータ保護方式は、記憶手段は、エラーの発生した部分を記憶しておき、その部分を使用しないことによりエラーの発生があっても問題なく使用を継続できることを特徴とする。
【0018】
【発明の実施の形態】
本発明の実施形態を、図を参照して説明する。
図1は、エラー発生状況によりエラー通知の変更をする処理を示すフローチャートである。
最初に、エラーがあるかの判断を行う(ステップS100)。エラーがない場合は(ステップS100/NO)、そのまま終了となる。エラーがある場合は(ステップS100/YES)、誤り訂正可能なエラーかの判断を行う(ステップS101)。誤り訂正が可能の場合は(ステップS101/YES)、エラー自動訂正を行い(ステップS102)、終了となる。誤り訂正可能でない場合は(ステップS101/NO)、さらにユーザ入力可能な情報かどうかの判断を行う(ステップS103)。ユーザ入力可能な情報でない場合は(ステップS103/NO)、サービスマンコールを行い(ステップS106)、終了となる。ユーザ入力可能な情報の場合は(ステップS103/YES)、次にエラー頻度が高いかどうかの判断を行う(ステップS104)。エラー頻度が高い場合は(ステップS106/YES)、サービスマンコールを行い(ステップS106)、終了となる。エラー頻度が高くない場合は(ステップS104/NO)、情報再入力を行い(ステップS105)、終了となる。
【0019】
誤りを検出し、ある程度の誤りならば訂正を行うことのできる誤り訂正符号で符号化した情報を不揮発性メモリに書き込み、不揮発性メモリの未使用部分も誤り訂正符号を付加したデータで埋め尽くし、定期的に全領域の復号を行いエラーの発生がないことを確認することにより、現在は使用していない領域もエラーのないことを保証し、新たな領域を使用するときに書き込めなくなることを防止する。
【0020】
具体的には、最初に書き込みを行う前に不揮発性メモリの全領域に誤り訂正符合で符号化した穴埋めデータを書き込み、情報を書き込む場合も情報を同じ誤り訂正符号で符号化し、書き込みを行う。ここで誤り訂正符合はリード・ソロモン符号やBCH符号など既知の誤り訂正符号を用いるものとする。
【0021】
その後、定期的に全領域を読み出して復号し、誤りのないことを確認する。定期的な確認はタイマーを用い、一定時間ごとにいっても良いし、起動ごとや、あらかじめ決められた回数、起動する毎に行うようにしても良い。
【0022】
ここで誤り訂正ができる誤りが見つかった場合は、誤りを修正し再書き込みを行う。誤り訂正のできないような誤りの発生した場合にはエラーとして扱い誤りの発生したアドレスを期待値とを読み出した値を出力するようにする。
【0023】
誤りを検出した場合は、異常の内容を記録する。
・異常の発生したアドレス
・書き込み時のエラーか読み出し時のエラーか
・どのようなエラーか(1→0か0→1か)
・そのアドレスで何回目か
・トータルで何回目のエラーか
・そのアドレスでのエラーの発生日時
・トータルでのエラーの発生日時
上記のように発生した日時を示す時計機能を設けていない機器の場合は、
・何回目の起動か
・起動中の累積時間
といった場合でもよい。
【0024】
エラーの発生状況により以下のようにユーザへ、エラー通知を変更する。
・エラー訂正できる誤りであり、エラー発生の頻度が低い場合には、単に誤り訂正を行いユーザへの通知は行わない。
・エラー訂正できない誤りや、ユーザが再入力できる情報(ユーザ設定条件など)に関するものである場合は、エラー発生表示をし、正しい情報の入力を求める。
・エラー訂正できない誤りであり、ユーザが入力できない情報の場合やエラー訂正できる場合でもエラー発生の頻度が高い場合にはサービスマンを呼ぶようなメッセージを表示する。
【0025】
FLASH ROMのような書き込み可能な不揮発性のメモリに、各種情報を書き込む機器において、不揮発性メモリには誤りが連続しないように並び替えを行った後、誤り訂正符合で符号化した情報を書き込み、デバイス内部での断線や組み付け不良により連続したデータが読み込めなくなった場合でも情報が失われる可能性を低くする。
【0026】
図2は、2ビットの誤り訂正能力を有する情報8ビット、誤り訂正ビット8ビットの計16ビットの誤り訂正符号を示した図である。
図3は、順番のまま2バイトの連続するデータとしてメモリに書き込んだ場合を示した図である。
アドレス0000または0001がデバイス内部での断線や組み付け不良により正しく読み出せなくなった場合、訂正能力を超えてしまうため、誤りを訂正することができなくなる。
【0027】
図4は、符号化データの書き込み位置を示した図である。
図2、3で示したようなことを防ぐために、符号化データの第1ビットは、アドレス0000の第1ビット、第2ビットはアドレス0001の第1ビットというように書き込み、灰色部分には他のデータが同様にして書き込まれる。こうすることで、デバイス内部での断線や組み付け不良により0000から000Fまでのある1つのアドレスが読み出せなくなるような事態が発生しても符号化データとしては、1ビットの誤りでしかないため誤り訂正が可能になる。
【0028】
データの並べ替えを行っているため、この並べ替えの規則を知らないと容易には、元のデータがわからないためユーザの入力した情報を保護することができる。
【0029】
図5は、メモリデータ保護方式における全領域の復号を行い、エラー発生がないことを確認する処理を示したフローチャートである。
まず、最初の書き込みかどうかの判断を行う(ステップS200)。最初の書き込みの場合は(ステップS200/YES)、全領域に穴埋めデータを書き込み(ステップS201)、ステップ2以降を行う。最初の書き込みでない場合(ステップS200/NO)、全領域チェックまたは情報読み出しの判断を行う(ステップS202)。全領域チェックまたは情報読み出しがない場合は(ステップS202/)、もう一度同じ判断を繰り返す。全領域チェックまたは情報読み出しがある場合は(ステップS202/YES)、復号を行い(ステップS203)、誤り検出を行う(ステップS204)。誤りがない場合は(ステップS204/NO)、もう一度、全領域チェックまたは情報読み出し(ステップS202)を行う。誤りがある場合は(ステップS204/YES)、訂正可能かどうかの判断を行う(ステップS205)。訂正可能の場合は(ステップS205/YES)、エラー訂正を行い(ステップS206)、さらに、全領域チェックまたは情報読み出し(ステップS202)を行う。訂正可能でない場合は(ステップS205/NO)、エラー通知を出し(ステップS207)終了となる。
【0030】
以上のことから、FLASH ROMの場合、電荷の抜けによりデータ化けが起こることがあるが、このような異常を書き込みことにより、すぐに読み出した場合は、正常に読み出せる。
定期的に読み出して確認を行うだけでなく、定期的に書き込み、読み出しを行うようにして書き込み時の誤りの有無を確認する。書き込みを行う場合は、デバイスによって、書き込み回数の制限があるため書き込みの頻度は読み出しより低くする。
【0031】
図6は、メモリデータ保護方式における誤りが発生したデバイスとは別のデバイスに情報を保存する処理を示したフローチャートである。
まず、最初の書き込みかどうかの判断を行う(ステップS300)。最初の書き込みの場合は(ステップS300/YES)、全領域に穴埋めデータを書き込み(ステップS301)、ステップS302以降の処理を行う。最初の書き込みでない場合は(ステップS300/NO)、全領域チェックまたは情報読み出しかどうかの判断をする(ステップS302)。全領域チェックまたは情報読み出しでない場合(ステップS302/NO)、もう一度、全領域チェックまたは情報読み出し(ステップS302)の処理を行う。全領域チェックまたは情報読み出しを行う場合は(ステップS302/YES)、復号を行う(ステップS303)。次に、誤りの検出を行う(ステップS304)。誤りがない場合は(ステップS304/NO)、全領域チェックまたは情報読み出し(ステップS302)を行う。誤りがある場合は(ステップS304/YES)、訂正可能かどうかの判断を行う(ステップS305)。訂正可能でない場合は(ステップS305/NO)、エラー通知を発行し(ステップS308)、終了となる。訂正可能の場合は(ステップS305/YES)、エラー訂正を行い(ステップS306)、別デバイスにバックアップ書き込みを行い(ステップS307)、全領域チェックまたは情報読み出し(ステップS302)の処理へ戻る。
【0032】
以上のことから、複数の不揮発性メモリまたは他の記憶手段(ハードディスク等)を有する場合に、情報に誤りが検出されたときは、そのデバイス自体の不良や組み付け不良の可能性もあり、誤りを訂正して再度書き込んだとしても、再度誤りが発生する可能性がある。そのため、誤り訂正できる誤りを検出した場合は、誤りが発生したデバイスとは別にデバイスに情報を保存することで、情報が失われることを防止し、誤り訂正不可能な誤りを検出した場合はエラーとして通知する。
【0033】
別デバイスは、例えばFLASH ROMが複数CHIP構成の時は、FLASH ROMに書き込むようにしても良い。またはFLASH ROMとNVRAM、HDDなど全く異なるデバイスでもよい。
【0034】
図7は、メモリデータ保護方式におけるエラーの発生した部分を記憶する処理を示したフローチャートである。
まず、エラーは未使用領域かどうかの判断をする(ステップS400)。エラーが未使用領域の場合は(ステップS400/YES)、エラーのあったアドレスを記憶し(ステップS404)、終了となる。エラーが未使用領域でない場合は(ステップS400/NO)、次に訂正可能かどうかの判断をする(ステップS401)。訂正可能でない場合は(ステップS401/NO)、エラー通知を発行し(ステップS402)、終了となる。訂正可能の場合(ステップS401/YES)、誤り訂正し、異常のないアドレスに書き込む(ステップS403)。さらに、エラーのあったアドレスを記憶する(ステップS404)。
【0035】
以上のことから、アドレス単位でなくブロック単位での管理にすることにより、従来は、デバイス自体の問題や組み付け不良によりデバイス中に1つでも不良部分があれば、不良品として扱っていたが誤りの発生した部分を回避して使用することにより継続して使用が可能になる。
【0036】
【発明の効果】
請求項1記載の発明は、誤りが検出された結果を保存しているため、それまでのエラー発生状況に応じて適切なメッセージをユーザに対して表示することができる。
【0037】
請求項2記載の発明は、符号化データ内で誤りが連続しないように並び替えを行っているので誤り訂正が出来なくなる可能性を低くすることができる。
【0038】
請求項3記載の発明は、ネットワークI/Fを有する機械ではIPアドレスなどネットワーク情報を不揮発性メモリに格納するが、このようなユーザ情報が、機器が破棄されたときなどに悪意ある第三者により不揮発性メモリを読むことで流出する恐れがある。
データの並べ替えを行っているため、この並べ替えの規則を知らないと容易には、元のデータが分からないためユーザの入力した情報を保護することができる。
【0039】
請求項4記載の発明は、未使用の部分に関しても誤り訂正符合で符号化した穴埋めのためのデータを書き込み、定期的に全領域を復号し、誤りが発生していないことを確認しているので、現在情報の書かれていない領域に関してもエラーがないことを保証できる。
また、定期的にエラーの発生を確認しているため書き込み後時間が経ってから発生するエラーも検出することができる。
【0040】
請求項5記載の発明は、誤り訂正ができる誤りが発生した場合は、誤りが発生したデバイスとは別のデバイスに情報のバックアップを作成するため情報の消失の可能性を低くすることができる。
【0041】
請求項6記載の発明は、異常の発見されたアドレスまたは領域を記憶し、そのアドレスまたは領域には、情報を書き込まないようにしているので、エラーの再発を防ぐことができる。また、1つのエラーだけで全体を不良とは見なさないため機器は継続して使用することができる。
【図面の簡単な説明】
【図1】本発明のメモリデータ保護方式におけるエラー発生状況により、エラー通知の変更をする処理を示すフローチャートである。
【図2】本発明のメモリデータ保護方式における16ビットの誤り訂正符号を示した図である。
【図3】本発明のメモリデータ保護方式における2ビットの連続するデータを示した図である。
【図4】本発明のメモリデータ保護方式における符号化データの書き込み位置を示した図である。
【図5】本発明のメモリデータ保護方式における全領域の復号を行い、エラー発生がないことを確認する処理を示したフローチャートである。
【図6】本発明のメモリデータ保護方式における誤りが発生したデバイスとは別のデバイスに情報を保存する処理を示したフローチャートである。
【図7】本発明のメモリデータ保護方式におけるエラーの発生した部分を記憶する処理を示したフローチャートである。
Claims (6)
- FLASH ROMのような書き込み可能な不揮発性のメモリに、各種情報を書き込む機器において、
不揮発性メモリには誤り訂正符合で符号化した情報を書き込み、不揮発性メモリの未使用部分も誤り訂正符号を負荷したデータで埋め尽くし、定期的に全領域の書き込みと復号を行いエラーの発生がないことを確認する手段と、
エラー発生時にはエラー発生情報を記録し、それまでのエラー発生状況に応じた処理を行う手段を有することを特徴とするメモリデータ保護方式。 - 前記FLASH ROMは、書き込み可能な不揮発性のメモリに、各種情報を書き込む機器において、
前記不揮発性メモリには、誤りが連続しないように並び替えを行った後、誤り訂正符号で符号化した情報を書き込み、デバイス内部での断線や組み付け不良により連続したデータが読み込めなくなった場合でも情報が失われる可能性を低くすることを特徴とするメモリデータ保護方式。 - 前記FLASH ROMは、データの並べ替えを行っているため並べ替えの規則を知らないと容易には元のデータがわからないことから、ユーザの入力した情報を保護することができることを特徴とする請求項2記載のメモリデータ保護方式。
- 前記FLASH ROMは、書き込み可能な前記不揮発性のメモリを有し、そこに課金情報やユーザ設定などの情報を書き込む機器において、不揮発性メモリには誤り訂正符合で符号化した情報を書き込み、不揮発性メモリの未使用部分も誤り訂正符号を付加したデータで埋め尽くし、定期的に全領域の復号を行いエラーの発生がないことを確認する確認手段と、
現在は使用していない領域もエラーのないことを保証し、新たな領域を使用するときに書き込めなくなることを防止する防止手段を有することを特徴とするメモリデータ保護方式。 - 前記FLASH ROMは、機器中に複数の前記不揮発性メモリや他の記憶手段を有する場合には、情報に誤り訂正可能なエラーを発見した場合、情報のバックアップを他の不揮発性メモリに書き込むことにより情報の消失を防ぐことを特徴とする請求項4記載のメモリデータ保護方式。
- 前記記憶手段は、エラーの発生した部分を記憶しておき、その部分を使用しないことによりエラーの発生があっても問題なく使用を継続できることを特徴とする請求項4または5記載のメモリデータ保護方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002158180A JP2004005062A (ja) | 2002-05-30 | 2002-05-30 | メモリデータ保護方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002158180A JP2004005062A (ja) | 2002-05-30 | 2002-05-30 | メモリデータ保護方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004005062A true JP2004005062A (ja) | 2004-01-08 |
Family
ID=30428627
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002158180A Pending JP2004005062A (ja) | 2002-05-30 | 2002-05-30 | メモリデータ保護方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004005062A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008234424A (ja) * | 2007-03-22 | 2008-10-02 | Nec Computertechno Ltd | メモリ制御回路、記憶システム、情報処理装置、および、メモリ制御方法 |
-
2002
- 2002-05-30 JP JP2002158180A patent/JP2004005062A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008234424A (ja) * | 2007-03-22 | 2008-10-02 | Nec Computertechno Ltd | メモリ制御回路、記憶システム、情報処理装置、および、メモリ制御方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4323707B2 (ja) | フラッシュメモリの欠陥管理方法 | |
US8145977B2 (en) | Methods and apparatus for providing error correction to unwritten pages and for identifying unwritten pages in flash memory | |
JP4950886B2 (ja) | 不揮発性記憶装置、メモリコントローラ及び不良領域検出方法 | |
KR100645058B1 (ko) | 데이터 신뢰성을 향상시킬 수 있는 메모리 관리 기법 | |
AU2007202363B2 (en) | Software and methods to detect and correct data structure | |
US8055983B2 (en) | Data writing method for flash memory and error correction encoding/decoding method thereof | |
US20140136926A1 (en) | Non-systematic coded error correction | |
WO2001022232A1 (fr) | Memoire dans laquelle le nombre de corrections d'erreurs est enregistre | |
KR100837274B1 (ko) | 오토 멀티-페이지 카피백 기능을 갖는 플래시 메모리 장치및 그것의 블록 대체 방법 | |
CA2588858A1 (en) | System and method for efficient uncorrectable error detection in flash memory | |
JP5768100B2 (ja) | メモリ装置、サーバ装置、及びメモリ制御方法 | |
KR101557572B1 (ko) | 메모리 회로들, 메모리에 액세스하는 방법 및 메모리를 복구하는 방법 | |
US7168026B2 (en) | Method and apparatus for preservation of failure state in a read destructive memory | |
JP2004152194A (ja) | メモリデータ保護方法 | |
JP2004005062A (ja) | メモリデータ保護方式 | |
CN109992445B (zh) | 一种修改写操作的处理方法、装置、电子设备及存储介质 | |
JP2008179144A (ja) | イベントをカウントするための方法、および本方法を実装してなる画像形成装置 | |
JP2005196658A (ja) | 外部記憶装置 | |
CN113157490B (zh) | 一种芯片内嵌的Flash存储器和存储控制方法 | |
KR20120077273A (ko) | 반도체 메모리 장치 및 그 동작 방법 | |
CN112242175B (zh) | 存储系统和用于校正存储系统中的错误的方法 | |
JP2002244932A (ja) | 制御装置 | |
JP2000132461A (ja) | 情報制御装置 | |
CN111052089B (zh) | 数据保护 | |
JP2012003569A (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |