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
Application number
JP3308162A
Other languages
English (en)
Other versions
JPH05143473A (ja
Inventor
史幸 岩瀬
隆 竹内
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.)
NTT Data Corp
Original Assignee
NTT Data Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NTT Data Corp filed Critical NTT Data Corp
Priority to JP3308162A priority Critical patent/JP3055986B2/ja
Publication of JPH05143473A publication Critical patent/JPH05143473A/ja
Application granted granted Critical
Publication of JP3055986B2 publication Critical patent/JP3055986B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Detection And Correction Of Errors (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、記憶情報に関し、特
に、記憶情報の書き込みが中断された場合の信頼性を高
めたデータ書き込み方法に関するものである。
【0002】
【従来の技術】メモリ上に記憶されたデータの正当性
は、ある決められた格納単位ごとにチェックコードを付
加し、対象データを読みだした際に内蔵する制御素子に
より、格納単位ごとに記憶されているチェックコードと
格納単位のチェックコード計算結果とを比較し、データ
の真偽性を確認するようにされている。
【0003】具体例として、図3の場合を考える。書き
込むべきエリアの初期状態は、図3のとおりであると
し、チェックコードとして偶数パリティを用いることと
する。ここでは、制御コード(対象セクタの有効/無効
あるいは複数の格納単位にまたがっている際の制御に使
用する)には、01,02,03(h)と格納単位の順
番が入っていると仮定する。この箇所に再度データを書
き込むことを考える。
【0004】最初に受信したブロックを書き込んだとこ
ろ、図3に示す中間状態の状態になったとする(図の網
かけ部が新しい)。ここで、伝送が中断されたと仮定す
る。データの書き込みが完了していないため、2番目の
格納単位のチェックコードは以前の02(h)のままで
ある。
【0005】このデータを読みだす場合、一つ一つの格
納単位のチェックコードを計算し、格納されているチェ
ックコードと比較していく。2番目の格納単位ではデー
タの内容は変わっているが、チェックコードの計算結果
は前と同じ02(h)となり、格納されているチェック
コードも02(h)である。しかし、2番目の格納単位
の途中以降のデータは信頼性がないものであり、この格
納単位のチェックをした時点で、NGの通知をしなけれ
ばならない。しかし、従来からの方法では、計算結果と
格納されているチェックコードとの比較をした場合、一
致しているために、正しいと判断されてしまう。
【0006】すなわち、データを書き込む時の動作は、
データとともにデータ格納単位の制御コードから書き込
みが終了した格納単位のチェックコードを算出し、格納
する。書き込みが途中の格納単位のチェックコードにつ
いては、そのままである。
【0007】そのため、データを読みだす際には、デー
タ自体とともに、対象となる格納単位のチェックコード
を計算し、格納されているコードとの比較をすることに
より、データの正当性を確認し、記憶されているデータ
の信頼性を上位装置に通知する仕組みとなっている。つ
まり、データの信頼性はチェックコードでのみ判断して
おり、たとえ、データが誤っている場合でも、チェック
コードが一致していれば、正しいデータとして認識され
る。
【0008】図4に一般的な従来法の制御を図示してあ
る。この図4における〈中間状態〉でレコードの読みだ
しを行った場合、のチェックコードとチェックコード
を含む格納単位のチェックコードの計算結果とが一致し
た場合には、対象レコードが正当なものと判断され、異
常通知ができないことになる。
【0009】このチェックコードの計算方法としては、
各データの偶数パリティーもしくは奇数パリティー等を
計算する方法あるいは生成多項式を利用する方法があ
る。このチェック方法を複雑にすればデータの信頼性は
向上する。しかし、例えばICカード内にチェック方法
を格納する際のように、限られた資源(ROM及びRA
Mサイズ)をより効率的に使用しなければならない際に
は、複雑なチェック方法を格納するわけにはいかなくな
る。
【0010】その反面、例えばICカードのように金額
を扱ったり、セキュリティを要求される場合には、より
データの信頼性を高めなくてはならない。
【0011】すなわち、あまり複雑なチェック方法では
なく、しかもデータの信頼性を高める手法を考えなくて
はならない。
【0012】
【発明が解決しようとする課題】上述したようなチェッ
ク方法では、データに異常があった場合でも、格納単位
のチェックコードが偶然一致してしまう場合がある。特
に、データの書き込みが正常に終了していないにもかか
わらず、格納されているチェックコードと算出されたチ
ェックコードとが一致してしまい、そのデータが正しい
と判断されてしまった場合には、データの信頼性が満足
されていない。
【0013】また、受信バッファサイズに制限がある場
合には、データを分断して受け取り、その書き込みが終
了し、レスポンスを返した後で次ブロックを受け取るチ
ェイニング方式を取らざるを得ない。このため、特に、
長いデータを書き込む際には、書き込みを完了させるた
めにコマンド・レスポンスのやりとりが増えるため、な
んらかの要因で書き込み動作が完了しない場合も考えら
れる。
【0014】本発明は、データ書き込み方法において、
記憶手段への書き込み時に、チェックコードが一致して
しまう場合にも、該当データを読みだした際に、書き込
みエラーがあったことを通知することを可能とし、デー
タの信頼性を高めることを目的とする。
【0015】
【課題を解決するための手段】上記目的を達成するため
に、本発明のデータ書き込み方法は、提示された書き込
みデータの全体長と受信した書き込みデータのデータ長
とからデータの書き込みが完了するか否かを判別する第
1のステップと、前記第1のステップにおいて、データ
の書き込みが完了しないと判別された場合に、前記受信
した書き込みデータのデータ長と格納単位ブロックのデ
ータ長とから最終書き込み単位ブロックを求める第2の
ステップと、前記記憶手段に前記受信した書き込みデー
タを書き込む第3のステップと、データ格納単位ごとの
チェックコードを計算する第4のステップと、前記第2
のステップで求められた最終書き込み単位ブロックまで
のチェックコードであって、前記第4のステップにおい
て計算された最終書き込み単位ブロックまでのチェック
コードを格納する第5のステップと、前記第4のステッ
プにおいて計算された最終書き込み単位ブロックのチェ
ックコードと、以前に格納されていた最終書き込み単位
ブロックのチェックコードとが一致しているか否かを判
別する第6のステップと、前記第6のステップにおい
て、前記第4のステップにおいて計算された最終書き込
み単位ブロックのチェックコードと、以前に格納されて
いた最終書き込み単位ブロックのチェックコードとが一
致していると判別された場合に、前記第4のステップに
おいて計算されたチェックコードを補数に置き換えて、
前記記憶手段に格納する第7のステップとを有すること
を特徴とする。
【0016】
【作用】上述の手段によれば、提示された書き込みデー
タの全体長と受信した書き込みデータのデータ長とから
データの書き込みが完了するか否かを判別し、当該判別
の結果、データの書き込みが完了しない場合に、前記受
信した書き込みデータのデータ長と格納単位ブロックの
データ長とから最終書き込み単位ブロックを求めて、前
記記憶手段に受信した書き込みデータを書き込む。 そし
て、データ格納単位ごとのチェックコードを計算し、当
該計算されたチェックコードの中で前記求められた最終
書き込み単位ブロックまでのチェックコードを格納す
る。 また、前記計算されたチェックコードの中で前記求
められた最終書き込み単位ブロックのチェックコード
と、以前に格納されていた最終書き込み単位ブロックの
チェックコードとが一致しているか否かを判別し、当該
判別の結果、前記計算された最終書き込み単位ブロック
のチェックコードと以前に格納されていた最終書き込み
単位ブロックのチェックコードとが一致している場合
に、前記計算されたチェックコードを補数に置き換え
て、記憶手段に格納するようにしたので、データの書き
込みが中断された場合で、かつ格納されているチェック
コードが一致している場合でも、読みだした際にデータ
の信頼性がないことを上位装置に通知することが可能と
なる。
【0017】
【実施例】以下に、本発明の実施例を図面を用いて詳細
に説明する。
【0018】図1は、本発明の一実施例のデータ書き込
方法を説明するための図であり、図2は、本実施例の
データ書き込みのフローチャートである。図1及び図2
を用いて、本実施例のデータの信頼性を高めたデータ書
き込み動作を詳細に説明する。
【0019】既に格納単位にデータが格納されており、
その箇所にデータを書き換える場合を考える。まず、制
御部から提示された書き込みデータの全体長と、受信し
た書き込みデータのデータ長とから、書き込みが完了す
るか否かを判別する(ステップ101)。 前記ステップ
101で、書き込みが完了すると判別された場合には、
新たに書き換えようとするデータを書き込み(ステップ
108)、該当格納単位のチェックコードを計算し(ス
テップ109)、チェックコードを格納する(ステップ
110)。
【0020】また、前記ステップ101で、書き込みが
完了しないと判別された場合には、受信した書き込みデ
ータのデータ長を、格納単位の長さで除算し、その商を
格納数として認識する(ステップ102)。 なお、書き
込みデータのデータ長を、格納単位の長さで除算した結
果、余りがある場合には、格納数に1を加える。 次に、
新たに書き換えようとするデータを書き込み(ステップ
103)、該当格納単位のチェックコードを計算し(ス
テップ104)、今回の書き込み対象となる最終格納単
位の前までのチェックコードを格納する(ステップ10
5)。 次に、ステップ104で計算された最終格納単位
のチェックコードと、以前に格納されていたチェックコ
ード(現在のチェックコード)とを比較をする(ステッ
プ106)。 前記ステップ106の比較の結果、ステッ
プ104で計算された最終格納単位のチェックコード
と、以前に格納されていたチェックコードとが不一致の
場合は、チェックコードは書き換えず現在のままにして
おく。 前記ステップ106の比較で、ステップ104で
計算された最終格納単位のチェックコードと、以前に格
納されていたチェックコードとが一致している場合は、
現在記憶されているチェックコードと書き換えたデータ
により計算したチェックコードとが一致している場合で
あるから、チェックコードを反転(0、1のビットを入
れ替える)させて格納する(ステップ107)。
【0021】すなわち、本実施例では、図3の〈中間状
態〉において、2番目の格納単位のチェックコード02
(h)をFD(h)に変えて格納しておく。これによ
り、このデータを読みだした際には、2番目の格納単位
について、計算結果と格納されているチェックコードの
比較において、不一致と判断されるため、NGの通知が
可能となる。
【0022】なお、該当データで書き込みが完了する場
合には、比較処理は行わず、正常なチェックコードを格
納することとする。
【0023】この図1を図4と比較した場合、チェック
コードが一致することはないために、同じ時点で書き込
みが中断されても、そのレコードの読みだしを行った場
合、従来から備わっているチェックコードの比較により
異常が検出されることになる。
【0024】すなわち、データの書き込み動作がその時
点で終了(異常終了)してしまっても、該記憶単位を読
みだした時には、必ず1カ所にチェックコード不一致の
箇所が発見されるため、該記憶データの信頼性がない
旨、上位装置に通知することが可能となる。
【0025】以上、本発明を実施例に基づき具体的に説
明したが、本発明は、上記実施例に限定されるものでは
なく、その要旨を逸脱しない範囲において種々変更し得
ることはいうまでもない。
【0026】
【発明の効果】以上、説明したように、本発明によれ
ば、データの書き込みが正常に終了しなかった場合で
も、データの信頼性を高めることが可能となる。また、
従来のチェック方法に一部のデータの比較を加えるだけ
であり、それほどプログラムサイズを増すことなくデー
タの信頼性を高めることが可能となる。
【図面の簡単な説明】
【図1】 本発明の一実施例のデータ書き込み方法を説
明するための図、
【図2】 本実施例のデータ書き込みのフローチャー
ト、
【図3】 従来のデータ書き込み制御方式を説明するた
めの図、
【図4】 従来のデータ書き込み制御方式を説明するた
めの図。
【符号の説明】
1…制御コード、2…データ、3…チェックコード、4
…チェックコードの計算範囲、5…以前のデータ。
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 12/16 G06F 11/08 - 11/10

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 記憶手段にデータを書き込むデータ書き
    込み方法であって、 提示された書き込みデータの全体長と受信した書き込み
    データのデータ長とからデータの書き込みが完了するか
    否かを判別する第1のステップと、 前記第1のステップにおいて、データの書き込みが完了
    しないと判別された場合に、前記受信した書き込みデー
    タのデータ長と格納単位ブロックのデータ長とから最終
    書き込み単位ブロックを求める第2のステップと、 前記記憶手段に前記受信した書き込みデータを書き込む
    第3のステップと、 データ格納単位ごとのチェックコードを計算する第4の
    ステップと、 前記第2のステップで求められた最終書き込み単位ブロ
    ックまでのチェックコードであって、前記第4のステッ
    プにおいて計算された最終書き込み単位ブロックまでの
    チェックコードを格納する第5のステップと、 前記第4のステップにおいて計算された最終書き込み単
    位ブロックのチェックコードと、以前に格納されていた
    最終書き込み単位ブロックのチェックコードとが一致し
    ているか否かを判別する第6のステップと、 前記第6のステップにおいて、前記第4のステップにお
    いて計算された最終書き込み単位ブロックのチェックコ
    ードと、以前に格納されていた最終書き込み単位ブロッ
    クのチェックコードとが一致していると判別された場合
    に、前記第4のステップにおいて計算されたチェックコ
    ードを補数に置き換えて、前記記憶手段に格納する第7
    のステップとを有することを特徴とするデータ書き込み
    方法。
JP3308162A 1991-11-25 1991-11-25 データ書き込み方法 Expired - Lifetime JP3055986B2 (ja)

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)

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