JP3055986B2 - データ書き込み方法 - Google Patents
データ書き込み方法Info
- Publication number
- JP3055986B2 JP3055986B2 JP3308162A JP30816291A JP3055986B2 JP 3055986 B2 JP3055986 B2 JP 3055986B2 JP 3308162 A JP3308162 A JP 3308162A JP 30816291 A JP30816291 A JP 30816291A JP 3055986 B2 JP3055986 B2 JP 3055986B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- check code
- writing
- write
- storage unit
- 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.)
- Expired - Lifetime
Links
Landscapes
- Detection And Correction Of Errors (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
に、記憶情報の書き込みが中断された場合の信頼性を高
めたデータ書き込み方法に関するものである。
は、ある決められた格納単位ごとにチェックコードを付
加し、対象データを読みだした際に内蔵する制御素子に
より、格納単位ごとに記憶されているチェックコードと
格納単位のチェックコード計算結果とを比較し、データ
の真偽性を確認するようにされている。
込むべきエリアの初期状態は、図3のとおりであると
し、チェックコードとして偶数パリティを用いることと
する。ここでは、制御コード(対象セクタの有効/無効
あるいは複数の格納単位にまたがっている際の制御に使
用する)には、01,02,03(h)と格納単位の順
番が入っていると仮定する。この箇所に再度データを書
き込むことを考える。
ろ、図3に示す中間状態の状態になったとする(図の網
かけ部が新しい)。ここで、伝送が中断されたと仮定す
る。データの書き込みが完了していないため、2番目の
格納単位のチェックコードは以前の02(h)のままで
ある。
納単位のチェックコードを計算し、格納されているチェ
ックコードと比較していく。2番目の格納単位ではデー
タの内容は変わっているが、チェックコードの計算結果
は前と同じ02(h)となり、格納されているチェック
コードも02(h)である。しかし、2番目の格納単位
の途中以降のデータは信頼性がないものであり、この格
納単位のチェックをした時点で、NGの通知をしなけれ
ばならない。しかし、従来からの方法では、計算結果と
格納されているチェックコードとの比較をした場合、一
致しているために、正しいと判断されてしまう。
データとともにデータ格納単位の制御コードから書き込
みが終了した格納単位のチェックコードを算出し、格納
する。書き込みが途中の格納単位のチェックコードにつ
いては、そのままである。
タ自体とともに、対象となる格納単位のチェックコード
を計算し、格納されているコードとの比較をすることに
より、データの正当性を確認し、記憶されているデータ
の信頼性を上位装置に通知する仕組みとなっている。つ
まり、データの信頼性はチェックコードでのみ判断して
おり、たとえ、データが誤っている場合でも、チェック
コードが一致していれば、正しいデータとして認識され
る。
る。この図4における〈中間状態〉でレコードの読みだ
しを行った場合、のチェックコードとチェックコード
を含む格納単位のチェックコードの計算結果とが一致し
た場合には、対象レコードが正当なものと判断され、異
常通知ができないことになる。
各データの偶数パリティーもしくは奇数パリティー等を
計算する方法あるいは生成多項式を利用する方法があ
る。このチェック方法を複雑にすればデータの信頼性は
向上する。しかし、例えばICカード内にチェック方法
を格納する際のように、限られた資源(ROM及びRA
Mサイズ)をより効率的に使用しなければならない際に
は、複雑なチェック方法を格納するわけにはいかなくな
る。
を扱ったり、セキュリティを要求される場合には、より
データの信頼性を高めなくてはならない。
なく、しかもデータの信頼性を高める手法を考えなくて
はならない。
ク方法では、データに異常があった場合でも、格納単位
のチェックコードが偶然一致してしまう場合がある。特
に、データの書き込みが正常に終了していないにもかか
わらず、格納されているチェックコードと算出されたチ
ェックコードとが一致してしまい、そのデータが正しい
と判断されてしまった場合には、データの信頼性が満足
されていない。
合には、データを分断して受け取り、その書き込みが終
了し、レスポンスを返した後で次ブロックを受け取るチ
ェイニング方式を取らざるを得ない。このため、特に、
長いデータを書き込む際には、書き込みを完了させるた
めにコマンド・レスポンスのやりとりが増えるため、な
んらかの要因で書き込み動作が完了しない場合も考えら
れる。
記憶手段への書き込み時に、チェックコードが一致して
しまう場合にも、該当データを読みだした際に、書き込
みエラーがあったことを通知することを可能とし、デー
タの信頼性を高めることを目的とする。
に、本発明のデータ書き込み方法は、提示された書き込
みデータの全体長と受信した書き込みデータのデータ長
とからデータの書き込みが完了するか否かを判別する第
1のステップと、前記第1のステップにおいて、データ
の書き込みが完了しないと判別された場合に、前記受信
した書き込みデータのデータ長と格納単位ブロックのデ
ータ長とから最終書き込み単位ブロックを求める第2の
ステップと、前記記憶手段に前記受信した書き込みデー
タを書き込む第3のステップと、データ格納単位ごとの
チェックコードを計算する第4のステップと、前記第2
のステップで求められた最終書き込み単位ブロックまで
のチェックコードであって、前記第4のステップにおい
て計算された最終書き込み単位ブロックまでのチェック
コードを格納する第5のステップと、前記第4のステッ
プにおいて計算された最終書き込み単位ブロックのチェ
ックコードと、以前に格納されていた最終書き込み単位
ブロックのチェックコードとが一致しているか否かを判
別する第6のステップと、前記第6のステップにおい
て、前記第4のステップにおいて計算された最終書き込
み単位ブロックのチェックコードと、以前に格納されて
いた最終書き込み単位ブロックのチェックコードとが一
致していると判別された場合に、前記第4のステップに
おいて計算されたチェックコードを補数に置き換えて、
前記記憶手段に格納する第7のステップとを有すること
を特徴とする。
タの全体長と受信した書き込みデータのデータ長とから
データの書き込みが完了するか否かを判別し、当該判別
の結果、データの書き込みが完了しない場合に、前記受
信した書き込みデータのデータ長と格納単位ブロックの
データ長とから最終書き込み単位ブロックを求めて、前
記記憶手段に受信した書き込みデータを書き込む。 そし
て、データ格納単位ごとのチェックコードを計算し、当
該計算されたチェックコードの中で前記求められた最終
書き込み単位ブロックまでのチェックコードを格納す
る。 また、前記計算されたチェックコードの中で前記求
められた最終書き込み単位ブロックのチェックコード
と、以前に格納されていた最終書き込み単位ブロックの
チェックコードとが一致しているか否かを判別し、当該
判別の結果、前記計算された最終書き込み単位ブロック
のチェックコードと以前に格納されていた最終書き込み
単位ブロックのチェックコードとが一致している場合
に、前記計算されたチェックコードを補数に置き換え
て、記憶手段に格納するようにしたので、データの書き
込みが中断された場合で、かつ格納されているチェック
コードが一致している場合でも、読みだした際にデータ
の信頼性がないことを上位装置に通知することが可能と
なる。
に説明する。
み方法を説明するための図であり、図2は、本実施例の
データ書き込みのフローチャートである。図1及び図2
を用いて、本実施例のデータの信頼性を高めたデータ書
き込み動作を詳細に説明する。
その箇所にデータを書き換える場合を考える。まず、制
御部から提示された書き込みデータの全体長と、受信し
た書き込みデータのデータ長とから、書き込みが完了す
るか否かを判別する(ステップ101)。 前記ステップ
101で、書き込みが完了すると判別された場合には、
新たに書き換えようとするデータを書き込み(ステップ
108)、該当格納単位のチェックコードを計算し(ス
テップ109)、チェックコードを格納する(ステップ
110)。
完了しないと判別された場合には、受信した書き込みデ
ータのデータ長を、格納単位の長さで除算し、その商を
格納数として認識する(ステップ102)。 なお、書き
込みデータのデータ長を、格納単位の長さで除算した結
果、余りがある場合には、格納数に1を加える。 次に、
新たに書き換えようとするデータを書き込み(ステップ
103)、該当格納単位のチェックコードを計算し(ス
テップ104)、今回の書き込み対象となる最終格納単
位の前までのチェックコードを格納する(ステップ10
5)。 次に、ステップ104で計算された最終格納単位
のチェックコードと、以前に格納されていたチェックコ
ード(現在のチェックコード)とを比較をする(ステッ
プ106)。 前記ステップ106の比較の結果、ステッ
プ104で計算された最終格納単位のチェックコード
と、以前に格納されていたチェックコードとが不一致の
場合は、チェックコードは書き換えず現在のままにして
おく。 前記ステップ106の比較で、ステップ104で
計算された最終格納単位のチェックコードと、以前に格
納されていたチェックコードとが一致している場合は、
現在記憶されているチェックコードと書き換えたデータ
により計算したチェックコードとが一致している場合で
あるから、チェックコードを反転(0、1のビットを入
れ替える)させて格納する(ステップ107)。
態〉において、2番目の格納単位のチェックコード02
(h)をFD(h)に変えて格納しておく。これによ
り、このデータを読みだした際には、2番目の格納単位
について、計算結果と格納されているチェックコードの
比較において、不一致と判断されるため、NGの通知が
可能となる。
合には、比較処理は行わず、正常なチェックコードを格
納することとする。
コードが一致することはないために、同じ時点で書き込
みが中断されても、そのレコードの読みだしを行った場
合、従来から備わっているチェックコードの比較により
異常が検出されることになる。
点で終了(異常終了)してしまっても、該記憶単位を読
みだした時には、必ず1カ所にチェックコード不一致の
箇所が発見されるため、該記憶データの信頼性がない
旨、上位装置に通知することが可能となる。
明したが、本発明は、上記実施例に限定されるものでは
なく、その要旨を逸脱しない範囲において種々変更し得
ることはいうまでもない。
ば、データの書き込みが正常に終了しなかった場合で
も、データの信頼性を高めることが可能となる。また、
従来のチェック方法に一部のデータの比較を加えるだけ
であり、それほどプログラムサイズを増すことなくデー
タの信頼性を高めることが可能となる。
明するための図、
ト、
めの図、
めの図。
…チェックコードの計算範囲、5…以前のデータ。
Claims (1)
- 【請求項1】 記憶手段にデータを書き込むデータ書き
込み方法であって、 提示された書き込みデータの全体長と受信した書き込み
データのデータ長とからデータの書き込みが完了するか
否かを判別する第1のステップと、 前記第1のステップにおいて、データの書き込みが完了
しないと判別された場合に、前記受信した書き込みデー
タのデータ長と格納単位ブロックのデータ長とから最終
書き込み単位ブロックを求める第2のステップと、 前記記憶手段に前記受信した書き込みデータを書き込む
第3のステップと、 データ格納単位ごとのチェックコードを計算する第4の
ステップと、 前記第2のステップで求められた最終書き込み単位ブロ
ックまでのチェックコードであって、前記第4のステッ
プにおいて計算された最終書き込み単位ブロックまでの
チェックコードを格納する第5のステップと、 前記第4のステップにおいて計算された最終書き込み単
位ブロックのチェックコードと、以前に格納されていた
最終書き込み単位ブロックのチェックコードとが一致し
ているか否かを判別する第6のステップと、 前記第6のステップにおいて、前記第4のステップにお
いて計算された最終書き込み単位ブロックのチェックコ
ードと、以前に格納されていた最終書き込み単位ブロッ
クのチェックコードとが一致していると判別された場合
に、前記第4のステップにおいて計算されたチェックコ
ードを補数に置き換えて、前記記憶手段に格納する第7
のステップとを有することを特徴とするデータ書き込み
方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3308162A JP3055986B2 (ja) | 1991-11-25 | 1991-11-25 | データ書き込み方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3308162A JP3055986B2 (ja) | 1991-11-25 | 1991-11-25 | データ書き込み方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH05143473A JPH05143473A (ja) | 1993-06-11 |
JP3055986B2 true JP3055986B2 (ja) | 2000-06-26 |
Family
ID=17977645
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3308162A Expired - Lifetime JP3055986B2 (ja) | 1991-11-25 | 1991-11-25 | データ書き込み方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3055986B2 (ja) |
-
1991
- 1991-11-25 JP JP3308162A patent/JP3055986B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH05143473A (ja) | 1993-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4654847A (en) | Apparatus for automatically correcting erroneous data and for storing the corrected data in a common pool alternate memory array | |
US8140940B2 (en) | Method and apparatus for controlling memory | |
JP2002133892A (ja) | フラッシュメモリの欠陥管理方法 | |
RU2269814C2 (ru) | Способ надежной записи указателя для кольцевой памяти | |
KR940007351B1 (ko) | 휴대가능 전자장치 | |
CN109521960A (zh) | 数据读写方法、装置和系统 | |
US6904547B2 (en) | Method and apparatus for facilitating validation of data retrieved from disk | |
US20060075287A1 (en) | Detecting data integrity | |
JP3055986B2 (ja) | データ書き込み方法 | |
US20020139860A1 (en) | Recording medium control method, data management apparatus, and recording medium | |
CN110348245B (zh) | 基于nvm的数据完整性保护方法、系统、装置及存储介质 | |
US6678107B1 (en) | System and method for reading and writing N-way mirrored storage devices | |
CN115904230A (zh) | 一种数据校验方法、系统及装置 | |
US20020157047A1 (en) | Logical verification apparatus and method for memory control circuit | |
JP2000322535A (ja) | Icカードの情報処理方法及び方式 | |
US6697991B1 (en) | Data check circuit of magnetic disk device and data checking method of magnetic disk device | |
CN114116530B (zh) | 存储控制方法及装置、数据处理方法及装置以及存储介质 | |
US20240319926A1 (en) | Data protection method for memory and storage device thereof | |
JP3154853B2 (ja) | イリーガルメモリアクセス検出方式 | |
JP2864288B2 (ja) | Icカードにおけるエラーチェック方法 | |
JP2794043B2 (ja) | 携帯可能電子装置 | |
JP3358701B2 (ja) | ベリファイ方法およびベリファイ装置 | |
JPS60207989A (ja) | 電子装置の記録方式 | |
JPH1153487A (ja) | Icカードにおける書き込みデータの有効性判定方法 | |
US20040181627A1 (en) | Device and method for recording block status information |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090414 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090414 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100414 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110414 Year of fee payment: 11 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120414 Year of fee payment: 12 |