JP4327883B1 - 情報処理装置、情報処理方法 - Google Patents

情報処理装置、情報処理方法 Download PDF

Info

Publication number
JP4327883B1
JP4327883B1 JP2008117650A JP2008117650A JP4327883B1 JP 4327883 B1 JP4327883 B1 JP 4327883B1 JP 2008117650 A JP2008117650 A JP 2008117650A JP 2008117650 A JP2008117650 A JP 2008117650A JP 4327883 B1 JP4327883 B1 JP 4327883B1
Authority
JP
Japan
Prior art keywords
data
register
encoding
input
write data
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 - Fee Related
Application number
JP2008117650A
Other languages
English (en)
Other versions
JP2009266345A (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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2008117650A priority Critical patent/JP4327883B1/ja
Priority to CNA2008101707917A priority patent/CN101572108A/zh
Priority to US12/267,469 priority patent/US20090271689A1/en
Application granted granted Critical
Publication of JP4327883B1 publication Critical patent/JP4327883B1/ja
Publication of JP2009266345A publication Critical patent/JP2009266345A/ja
Priority to US12/823,971 priority patent/US20100262898A1/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00007Time or data compression or expansion
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • G11B2020/1836Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information using a Reed Solomon [RS] code
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • G11B2020/1843Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information using a cyclic redundancy check [CRC]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2508Magnetic discs
    • G11B2220/2516Hard disks

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

【課題】誤ったデータの出力を防止する情報処理装置および情報処理方法を得る。
【解決手段】第1の符号化方式で、データを符号化して、第1のデータを生成する第1の符号器と、第1の符号化方式の逆符号化に対応する第2の符号化方式で、第1のデータを符号化して、第2のデータを生成する第2の符号器と、第1、第2のデータが一致するか否かを比較する比較器とを具備する。
【選択図】図1

Description

本発明は、情報処理装置および情報処理方法に関し、より詳細には、データを符号化又は逆符号化する情報処理装置および情報処理方法に関する。
従来の情報処理装置には、データの記録時には、前記データを暗号化して磁気記録ディスクに記録し、前記磁気記録ディスクからデータを読み出すときには、前記暗号化されたデータを復号(逆符号化)して出力するものがあった(特許文献1参照)。
特開2001−236718号公報
従来の情報処理装置は、データを磁気ディスクに書き込む際にデータの暗号化が成功したか否かを確認していなかった。また、データを磁気ディスクから読み出す際にデータの復号が成功したか否かを確認していなかった。このため暗号化回路の故障や宇宙線などに起因した誤動作により誤ったデータが記録または出力されることを防止できなかった。
上記に鑑み、本発明は、誤ったデータの出力を防止した情報処理装置および情報処理方法を得ることを目的とする。
本発明の一態様に係る情報処理装置は、第1の符号化方式で、誤り検出符号が付加されたデータを符号化して、第1のデータを生成する第1の符号器と、第1の符号器が生成した第1のデータを保持するレジスタと、第1の符号化方式の逆符号化に対応する第2の符号化方式で、レジスタが保持した第1のデータを符号化して、第2のデータを生成する第2の符号器と、データに付加された誤り検出符号に基づいて、第2のデータの誤り検出を行う誤り検出器とを備え、レジスタは、第2のデータの誤り検出の結果が誤りなしを示す場合に、保持した前記第1のデータを出力することを特徴とする。
本実施の一態様に係る情報処理方法は、第1の符号化方式で、誤り検出符号が付加されたデータを符号化して、第1のデータを生成するステップと、第1のデータをレジスタに保持させるステップと、第1の符号化方式の逆符号化に対応する第2の符号化方式で、レジスタが保持した第1のデータを符号化して、第2のデータを生成するステップと、データに付加された誤り検出符号に基づいて第2のデータの誤り検出を行うステップと、第2のデータの誤り検出の結果が誤りなしを示す場合に、レジスタが保持した第1のデータを出力するステップとを具備する。
本発明によれば、誤ったデータの出力を防止する情報処理装置および情報処理方法を得ることができる。
以下、図面を参照して、本発明の実施形態を詳細に説明する。
(第1の実施形態)
図1はこの実施形態に係る磁気ディスク装置1の構成を示した図である。図2はこの実施形態に係るハードディスクコントローラ4の構成を示した図である。この磁気ディスク装置1およびハードディスクコントローラ4はそれぞれ情報処理装置を構成する。
RAM(Random Access Memory)2は、CPU(Central Processing Unit)10の作業領域として使用される。ROM(Read Only Memory)3は、CPU10の動作コードを格納する。ヘッダ部5は、磁気ヘッドを備え、磁気記録ディスク(記録媒体)6に対してデータの書き込みおよび読み出しを行う。
磁気記録ディスク6は、データを記録する。磁気記録ディスク6に記録されているデータは、符号部12により符号化されている。ディスク回転用モータ7は、磁気記録ディスク6を回転させる。ハードディスクコントローラ4は、磁気ディスク装置1全体の動作を制御する。ホストアクセス制御部11は、ホストインタフェースを備え、図示しないホストとの間でPATA(Parallel Advanced Technology Attachment)/SATA(Serial Advanced Technology Attachment)等のプロトコルに従ったデータの送受信を行う。
符号部12は、ホストアクセス制御部11がホストから受信したデータを符号化し、ホストへ送信するデータを復号(逆符号化)する。符号部12では、データの暗号化もしくはデータの圧縮を目的とした符号化が行われる。このデータの暗号化には、AES(Advanced Encryption Standard)、DES(Data Encryption Standard)、トリプルDES、C2、RSAなどの方式を用いることができる。また、データ圧縮の符号化には、ハフマン、LZ77、ランレングスなど可逆性を有する圧縮方式を用いることができる。また、圧縮の前処理に使用されるブロックソートなどもこの実施形態に係る符号部12の符号化の対象となる。
外部メモリアクセス制御部13は、外部メモリインタフェースを備え、RAM2およびROM3との間でデータの送受信を行う。ディスクアクセス制御部14は、ディスクアクセスインタフェースを備え、ヘッダ部5、ディスク回転用モータ7を制御して、磁気記録ディスク6に対するデータの書き込み、読み出しを行う。このディスクアクセス制御部14は記録部を構成する。
なお、以上のプロセスはハードウェア回路、CPU10、ROM3及び磁気記録ディスク6上のコードに従って動作するファームウェアにより実現され、必要に応じてRAM2が作業領域として利用される。
次に、この実施形態の磁気ディスク装置1およびハードディスクコントローラ4の動作を説明する。図3は、この実施形態に係る磁気ディスク装置1の書き込み動作を示したフローチャートである。図4は、この実施形態に係る磁気ディスク装置1の読み出し動作を示したフローチャートである。
(データ書き込み時の動作)
ハードディスクコントローラ4のホストアクセス制御部11は、ホストインタフェースを介して、ホストからデータの書き込み要求信号を受信する。次に、ホストアクセス制御部11は、磁気記録ディスク6へ書き込むデータ(以下、ライトデータと称す)をホストから受信して符号部12へ入力する。符号部12は入力されたライトデータを符号化し(ステップS1)、符号化が成功したか確認する(ステップS2)。なお、確認方法については、後の図5、6の説明において詳述する。
ライトデータの符号化が失敗した場合、符号部12は、符号化に失敗したライトデータを破棄する。また、既に次のライトデータの符号化を開始している場合、符号部12は、該ライトデータも破棄する。CPU10は、符号部12がライトデータの符号化に失敗した回数をカウントしており、ライトデータの符号化に失敗した回数が予め定められた所定の回数を超えているか否かを確認する(ステップS3)。ライトデータの符号化に失敗した回数が予め定められた所定の回数を超えていない場合、符号部12はステップS1の処理に戻り、符号化に失敗したライトデータから符号化を再実施する。
また、符号化に失敗した回数が予め定められた所定の回数を超えている場合、ホストアクセス制御部11は、ホストからの書き込み要求に対してアボート信号を送信する。また、ステップS2の処理でライトデータを正しく符号化できた場合、外部メモリアクセス制御部13は、符号部12で符号化されたライトデータをRAM2へ書き込む。外部メモリアクセス制御部13は、磁気記録ディスク6へのアクセスが可能なタイミングでRAM2から前記符号化されたライトデータを読み出す。ディスクアクセス制御部14は、RAM2から読み出されたライトデータをホストにより指定された磁気記録ディスク6の番地(アドレス)へ書き込む。
(データ読み出し時の動作)
ハードディスクコントローラ4のホストアクセス制御部11は、ホストインタフェースを介して、ホストからデータの読み出し要求信号を受信する。ディスクアクセス制御部14は、ホストから読み出し要求信号により指定された番地のデータ(以下、リードデータと称す)を磁気記録ディスク6から読み出す。外部メモリアクセス制御部13は、ディスクアクセス制御部14により読み出されたリードデータをRAM2へ書き込む。
外部メモリアクセス制御部13は、RAM2に書き込まれたリードデータを符号部12へ入力する。符号部12は、前記受け取ったリードデータを復号し(ステップS4)、復号が成功したか確認する(ステップS5)。なお、確認方法については、後の図5、7の説明において詳述する。リードデータの復号に失敗した場合は、符号部12は、前記リードデータを破棄する。また、既に次のリードデータの復号を開始している場合、符号部12は、該リードデータも破棄する。
符号部12は、復号に失敗した回数が、予め定められた所定の回数を超えているか否かを確認する(ステップS6)。復号に失敗した回数が予め定められた所定の回数を超えていない場合、符号部12はステップS4の処理に戻り、復号に失敗したリードデータから復号を再実施する。また、復号に失敗した回数が予め定められた所定の回数を超えている場合、符号部12はホストからの読み出し要求に対してアボート信号を送信する。また、ステップS5の処理でリードデータを正しく復号できた場合、ホストアクセス制御部11は、該リードデータをホストインタフェースを介してホストに送信する。
なお、ホストからデータの読み出し要求を受信した時に磁気記録ディスク6から読み出してRAM2に書き込むリードデータについては、磁気記録ディスク6上の番地が一致していれば、ホストからデータの読み出し要求を受信するより以前にRAM2に書き込まれたリードデータを用いてもよい。例えば、ホストからのデータの読み出し要求のあった番地からリードデータを読み出した際、ホストから要求されていない後続の番地のデータも読み出してRAM2へ書き込むようにしても良い。また、ホストから書き込み要求があり、RAM2に書き込んだライトデータでも良い。
図5は、この実施形態に係る符号部12の構成およびデータの流れを示した図である。実線はライトデータの流れを示している。点線はリードデータの流れを示している。一点鎖線は、制御信号の流れを示している。
符号器104は、データを符号化して出力する。復号器105は、データを復号して出力する。マルチプレクサ102、103、106、107は、2つの入力ポート0、1と一つの出力ポートを備える。ライトデータが入力される時はポート0が選択される。リードデータが入力される場合はポート1が選択される。
レジスタ108、109、110は、データを記録する。比較器111は、マルチプレクサ107およびレジスタ110から入力される2つのデータを比較して、入力された2つのデータが同一であるか否かを判定する。制御部101は、符号器104、復号器105、マルチプレクサ102、103、106、107、レジスタ108、109、110、および比較器111とバス114を介して接続されている。
制御部101は、このバス114を介して、符号器104、復号器105、マルチプレクサ102、103、106、107、レジスタ108、109、110、および比較器111との間で制御信号を送受信し、マルチプレクサ102、103、106、107の入力ポートの切り替え、比較器111における判定結果の出力、ライトデータおよびリードデータの入出力、レジスタ108、109、110へのデータ取り込み、符号器104におけるデータの符号化および復号器105におけるデータ復号の開始、終了など、符号部12全体の制御を行う。従って、符号器104、復号器105、マルチプレクサ102、103、106、107、レジスタ108、109、110、および比較器111は、制御部101の指示により動作する。また、制御部101は、ホストアクセス制御部11からデータの符号化および復号必要な情報を取得する。
図6は、この実施形態に係る符号部12の書き込み時の動作を示したフローチャートである。図7は、この実施形態に係る符号部12の読み出し時の動作を示したフローチャートである。図8は、この実施形態に係る符号部の動作を工程毎に示した工程図である。なお、今後の説明において、入力されるライトデータもしくはリードデータをライトデータNxもしくはリードデータNx(x=0、1、2、3、、、n:nは正の整数)とする。また、Nxを符号化したものをE(Nx)、それをさらに復号したものをD(E(Nx))とする。また、Nxを復号したものをD(Nx)、それをさらに符号化したものをE(D(Nx))とする。
(データ書き込み時の動作)
ホストアクセス制御部11から符号部12へライトデータN0が入力される(ステップS101)。レジスタ109は入力されたライトデータN0を記録する。マルチプレクサ102は、ポート0へ入力されたライトデータN0を符号器104へ入力する。符号器104は、入力されたライトデータN0を符号化する(ステップS102)。
符号器104は、符号化したライトデータE(N0)をマルチプレクサ106へのポート0へ入力する。マルチプレクサ106は、入力されたライトデータE(N0)をレジスタ108へ入力する。レジスタ108は、入力されたライトデータE(N0)を記録する(ステップS103)。ここで次のライトデータN1が入力可能であれば、ホストアクセス制御部11から符号部12へライトデータN1が入力される。
レジスタ108は、記録しているライトデータE(N0)をマルチプレクサ103のポート0へ入力する。マルチプレクサ103は、入力されたライトデータE(N0)を復号器105へ入力する。復号器105は、入力されたライトデータE(N0)を復号する(ステップS104)。レジスタ109は、記録しているライトデータN0をレジスタ110へ入力する。ここで次のライトデータN1が入力されていれば、レジスタ109は、ライトデータN1を記録する。
また、マルチプレクサ102は、ポート0へ入力されたライトデータN1を符号器104へ入力する。符号器104は、入力されたライトデータN1を符号化する。復号器105は、ライトデータE(N0)の復号が完了すると、復号後のライトデータD(E(N0))をマルチプレクサ107のポート0へ入力する。マルチプレクサ107は、入力されたライトデータD(E(N0))を比較器111へ入力する。レジスタ110は、記録しているライトデータN0を比較器111へ入力する。
比較器111は、入力された二つのライトデータD(E(N0))とN0とを比較する(ステップS105)。符号化前のライトデータに誤りがなく、全てのライトデータの符号化と復号に成功していれば、符号化する前と同じライトデータが得られているから、二つのライトデータD(E(N0))とN0とが同一となり、比較器111は、符号化成功の判定結果を出力する。また、符号化前のライトデータに誤りがある場合、または、全てのライトデータの符号化と復号が1ビットでも失敗していれば、二つのライトデータD(E(N0))とN0とは同一とはならず、比較器111は、符号化失敗の判定結果を出力する。また、レジスタ108は、記録されているライトデータE(N0)を出力するが、比較器111から符号化失敗の判定結果が出力されている場合は、該ライトデータE(N0)は破棄される。
また、符号器104は、ライトデータN1の符号化が完了していれば、符号化したライトデータE(N1)をマルチプレクサ106へのポート0へ入力する。マルチプレクサ106は、入力されたライトデータE(N1)をレジスタ108へ入力する。レジスタ108は、入力されたライトデータE(N1)を記録する
以下、同様にしてライトデータN2以降のデータ処理が行われる。
(データ読み出し時の動作)
磁気記録ディスク6から読み取られたリードデータN0が、ディスクアクセス制御部14から符号部12へ入力される(ステップS201)。レジスタ109は、入力されたリードデータN0を記録する。マルチプレクサ103は、ポート1へ入力されたリードデータN0を復号器105へ入力する。復号器105は、入力されたリードデータN0を復号する(ステップS202)。
復号器105は、復号したリードデータD(N0)をマルチプレクサ106のポート1へ入力する。マルチプレクサ106は、入力されたリードデータD(N0)をレジスタ108へ入力する。レジスタ108は、入力されたリードデータD(N0)を記録する(ステップS203)。ここで次のリードデータN1が入力可能であれば、ホストアクセス制御部11から符号部12へリードデータN1が入力される。
レジスタ108は、記録しているリードデータD(N0)をマルチプレクサ102のポート1へ入力する。マルチプレクサ102は、入力されたリードデータを符号器104へ入力する。符号器104は、入力されたリードデータD(N0)を符号化する(ステップS204)。レジスタ109は、記録しているリードデータN0をレジスタ110へ入力する。ここで次のリードデータN1が入力されていれば、レジスタ109は、リードデータN1を記録する。
また、マルチプレクサ103は、ポート1へ入力されたリードデータN1を復号器105へ入力する。復号器105は、入力されたリードデータN1を復号する。符号器104は、リードデータD(N0)の符号化が完了すると、符号化後のリードデータE(D(N0))をマルチプレクサ107のポート1へ入力する。マルチプレクサ107は、入力されたリードデータE(D(N0))を比較器111へ入力する。レジスタ110は、記録しているリードデータN0を比較器111へ入力する。
比較器111は、入力された二つのリードデータE(D(N0))とN0とを比較する(ステップS205)。復号前のリードデータに誤りがなく、全てのリードデータの復号と符号化に成功していれば、復号する前と同じリードデータが得られているから、二つのリードデータE(D(N0))とN0とは同一となり、比較器111は、復号成功の判定結果を出力する。また、復号前のリードデータに誤りがある場合、または、全てのリードデータの復号と符号化が1ビットでも失敗していれば、二つのリードデータE(D(N0))とN0とは同一とならず、比較器111は、復号失敗の判定結果を出力する。また、レジスタ108は、記録されているリードデータD(N0)を出力するが、比較器111から復号失敗の判定結果が出力されている場合は、該リードデータD(N0)は破棄される。
また、復号器105は、リードデータN1の復号が完了していれば、復号したリードデータD(N1)をマルチプレクサ106へのポート1へ入力する。マルチプレクサ106は、入力されたリードデータD(N1)をレジスタ108へ入力する。レジスタ108は、入力されたリードデータD(N1)を記録する
以下、同様にしてリードデータN2以降のデータ処理が行われる。
次に図8を用いて、この実施形態に係る符号部12の動作を工程毎に詳細に説明する。
(工程1)
ホストアクセス制御部11は、ライトデータN0を符号部12へ入力する。
(工程2)
レジスタ109は、入力されたライトデータN0を記録する。また、符号器104は、マルチプレクサ102を介して入力されたライトデータN0の符号化処理を開始する。
(工程3)
符号器104は、ライトデータN0の符号化処理を完了して、符号化されたライトデータE(N0)をマルチプレクサ106へ入力する。
(工程4)
レジスタ108は、符号器104からマルチプレクサ106を介して入力されたライトデータE(N0)を記録する。
(工程5)
ホストアクセス制御部11は、ライトデータN1を符号部12へ入力する。
(工程6)
レジスタ110は、レジスタ109が記録しているライトデータN0を記録する。復号器105は、マルチプレクサ103を介してレジスタ108から入力されたライトデータE(N0)の復号処理を開始する。レジスタ109は、入力されたライトデータN1を記録する。符号器104は、マルチプレクサ102を介して入力されたライトデータN1の符号化処理を開始する。
(工程7)
復号器105は、ライトデータE(N0)の復号処理を完了して復号後のライトデータD(E(N0))をマルチプレクサ107を介して比較器111へ入力する。符号器104は、ライトデータN1の符号化処理を完了して、符号化されたライトデータE(N1)をマルチプレクサ106へ入力する。レジスタ110は、記録したライトデータN0を比較器111へ入力する。比較器111は、レジスタ110から入力されたライトデータN0と、復号器105から入力されたライトデータD(E(N0))とが同一であるか判定する。レジスタ110から入力されたライトデータN0と、復号器105から入力されたライトデータD(E(N0))とが同一である場合、比較器111は、符号化成功の判定結果を出力する。レジスタ108は、記録したライトデータE(N0)を出力する。
(工程8)
レジスタ108は、符号器104からマルチプレクサ106を介して入力されたライトデータE(N1)を記録する。
(工程9)
ホストアクセス制御部11は、ライトデータN2を符号部12へ入力する。
(工程10)
レジスタ110は、レジスタ109が記録しているライトデータN1を記録する。復号器105は、マルチプレクサ103を介してレジスタ108から入力されたライトデータE(N1)の復号処理を開始する。レジスタ109は、入力されたライトデータN2を記録する。符号器104は、マルチプレクサ102を介して入力されたライトデータN2の符号化処理を開始する。
(工程11)
復号器105は、ライトデータE(N1)の復号処理を完了して復号後のライトデータD(E(N1))をマルチプレクサ107を介して比較器111へ入力する。符号器104は、ライトデータN2の符号化処理を完了して、符号化されたライトデータE(N2)をマルチプレクサ106へ入力する。レジスタ110は、記録したライトデータN1を比較器111へ入力する。比較器111は、レジスタ110から入力されたライトデータN1と、復号器105から入力されたライトデータD(E(N1))とが同一であるか判定する。レジスタ110から入力されたライトデータN1と、復号器105から入力されたライトデータD(E(N1))とが同一である場合、比較器111は、符号化成功の判定結果を出力する。レジスタ108は、記録したライトデータE(N1)を出力する。
(工程12)
レジスタ108は、符号器104からマルチプレクサ106を介して入力されたライトデータE(N2)を記録する。
(工程13)
ホストアクセス制御部11は、ライトデータN3を符号部12へ入力する。
以下、同様にしてライトデータN3以降のデータ処理が行われる。なお、リードデータの読み出し動作の処理についても同様である。
以上のように、データを磁気記録ディスク6に書き込む際にデータの符号化が成功したか否かを確認するため誤ったデータを出力して磁気記録ディスク6へ記録することを防止できる。また、データを磁気記録ディスク6から読み出す際にデータの復号が成功したか否かを確認するので誤ったデータを出力して送信することを防止できる。
(第2の実施形態)
符号部12の外部(ハードディスクコントローラ内、もしくは、データ書き込み時についてはホスト側で)データに誤り検出用コード(誤り検出符号)を付加されている場合、この付加された誤り検出用コードを用いて符号化もしくは復号が成功したか否かを判定できる。この実施形態では、この誤り検出用コードを用いて、符号化もしくは復号が成功したか否かを判定する。
誤り検出には、パリティ、チェックサム、CRC(Cyclic Redundancy Check)などの方式があり、これらの方式を誤り検出用コードとして用いることができる。また、誤り訂正符号によっても誤り検出ができる。誤り訂正符号には、リード・ソロモン、ハミング符号などにより誤り訂正を実現できる。ただし、それぞれの方式により検出が可能な誤りビット数には限界があり、誤りビット数が検出能力を超過しない場合について、回路故障やソフトエラーを検出することができる。
図9は、この実施形態に係る磁気ディスク装置1およびハードディスクコントローラ4の符号部12の構成およびデータの流れを示した図である。誤り検出器112は、入力される誤り検出用コードを用いて、データの符号化もしくは復号が成功したか否かを判定する。その他の構成については、図5において既に説明しているので、共通する構成要素については同一の符号を付して重複する説明を省略する。
図10は、この実施形態に係る符号部12の書き込み時の動作を示したフローチャートである。図11は、この実施形態に係る符号部12の読み出し時の動作を示したフローチャートである。以下、図10、図11を用いて、この実施形態に係る符号部12の動作について説明する。
(データ書き込み時の動作)
ホストアクセス制御部11から符号部12へライトデータN0が入力される(ステップS301)。マルチプレクサ102は、ポート0へ入力されたライトデータN0を符号器104へ入力する。符号器104は、入力されたライトデータN0を符号化する(ステップS302)。
符号器104は、符号化したライトデータE(N0)をマルチプレクサ106へのポート0へ入力する。マルチプレクサ106は、入力されたライトデータE(N0)をレジスタ108へ入力する。レジスタ108は、入力されたライトデータE(N0)を記録する(ステップS303)。ここで次のライトデータN1が入力可能であれば、ホストアクセス制御部11から符号部12へライトデータN1が入力される。
レジスタ108は、記録しているライトデータE(N0)をマルチプレクサ103のポート0へ入力する。マルチプレクサ103は、入力されたライトデータを復号器105へ入力する。復号器105は、入力されたライトデータE(N0)を復号する(ステップS304)。
また、マルチプレクサ102は、ポート0へ入力されたライトデータN1を符号器104へ入力する。符号器104は、入力されたライトデータN1を符号化する。復号器105は、ライトデータE(N0)の復号が完了すると、復号後のライトデータD(E(N0))をマルチプレクサ107のポート0へ入力する。マルチプレクサ107は、入力されたライトデータD(E(N0))を誤り検出器112へ入力する。
また、誤り検出器112は、ライトデータN0とは別途入力されたライトデータN0に付加されていた誤り検出コードを用いて、マルチプレクサ107から入力されたライトデータD(E(N0))の誤り検出処理を実施する(ステップS305)。符号化前のライトデータに誤りがなく、全てのライトデータの符号化と復号に成功していれば、符号化する前と同じライトデータが得られているから、誤り検出器112は、誤りなし、すなわち符号化成功と判定する。また、符号化前のライトデータに誤りがある場合、または、全てのライトデータの符号化と復号が1ビットでも失敗していれば、誤り検出器112は誤りあり、すなわち符号化失敗と判定する。
誤りが検出されない場合、誤り検出器112は、符号化成功の判定結果を出力する。また、誤りが検出された場合、誤り検出器112は、符号化失敗の判定結果を出力する。レジスタ108は、記録されているライトデータE(N0)を出力するが、符号化失敗の判定結果が出力されている場合、該ライトデータE(N0)は破棄される。
また、符号器104は、ライトデータN1の符号化が完了していれば、符号化したライトデータE(N1)をマルチプレクサ106へのポート0へ入力する。マルチプレクサ106は、入力されたライトデータE(N1)をレジスタ108へ入力する。レジスタ108は、入力されたライトデータE(N1)を記録する
以下、同様にしてライトデータN1以降のデータ処理が行われる。
なお、符号器104の符号化処理および復号器105の復号処理のデータ単位と異なるデータ単位で誤り検出コードが付加されている場合、例えば、誤り検出コードが256ビット単位で付加されており、符号器104および復号器105が128ビット単位でしか処理を行うことができない場合、誤り検出器112は、符号化もしくは復号の単位である128ビット毎に誤り検出を行い、誤り検出コードが付加されている単位である256ビット分までライトデータの処理が完了すると誤り検出コードによる誤り検出処理を実施する。
この場合には、符号化されたライトデータは一旦RAM2に記録される。そして、誤り検出器112から、符号化成功の判定結果が出力された場合は、RAM2に一旦記録したライトデータを磁気記録ディスク6へ書き込み、誤り検出器112から、符号化失敗の判定結果が出力された場合は、一旦RAM2に記録しているライトデータを破棄する。
(データ読み出し時の動作)
ディスクアクセス制御部14から符号部12へリードデータN0が入力される(ステップS401)。マルチプレクサ103は、ポート1へ入力されたリードデータN0を復号器105へ入力する。復号器105は、入力されたリードデータN0を復号する(ステップ402)。
復号器105は、復号したリードデータD(N0)をマルチプレクサ106へのポート1へ入力する。マルチプレクサ106は、入力されたリードデータD(N0)をレジスタ108へ入力する。レジスタ108は、入力されたリードデータD(N0)を記録する(ステップS403)。ここで次のリードデータN1が入力可能であれば、ホストアクセス制御部11から符号部12へリードデータN1が入力される。
レジスタ108は、記録しているリードデータD(N0)をマルチプレクサ102のポート1へ入力する。マルチプレクサ102は、入力されたリードデータD(N0)を符号器104へ入力する。符号器104は、入力されたリードデータD(N0)を符号化する(ステップS404)。
また、マルチプレクサ103は、ポート1へ入力されたリードデータN1を復号器105へ入力する。復号器105は、入力されたリードデータN1を復号する。符号器104は、リードデータD(N0)の符号化が完了すると、符号化後のリードデータE(D(N0))をマルチプレクサ107のポート1へ入力する。マルチプレクサ107は、入力されたリードデータE(D(N0))を誤り検出器112へ入力する。
また、誤り検出器112は、リードデータN0とは別途入力されたリードデータN0に付加されていた誤り検出コードを用いて、マルチプレクサ107から入力されたリードデータE(D(N0))の誤り検出処理を実施する(ステップS405)。復号前のリードデータに誤りがなく、全てのリードデータの復号と符号化に成功していれば、復号する前と同じリードデータが得られているから、誤り検出器112は、誤りなし、すなわち復号成功と判定する。また、復号前のリードデータに誤りがある場合、または、全てのリードデータの復号と符号化が1ビットでも失敗していれば、誤り検出器は誤りあり、すなわち復号失敗と判定する。
誤りが検出されない場合、誤り検出器112は、復号が成功した旨の判定結果を出力する。また、誤りが検出された場合、誤り検出器112は、正しく復号できなかった旨の判定結果を出力する。また、レジスタ108は、記録されているリードデータD(N0)を出力するが、復号失敗の判定結果が出力されている場合、該リードデータD(N0)は破棄される。
また、復号器105は、リードデータN1の復号が完了していれば、復号したリードデータD(N1)をマルチプレクサ106へのポート1へ入力する。マルチプレクサ106は、入力されたリードデータD(N1)をレジスタ108へ入力する。レジスタ108は、入力されたリードデータD(N1)を記録する
以下、同様にしてリードデータN1以降のデータ処理が行われる。
なお、符号データ単位と異なるデータ単位で誤り検出コードが付加されているときは、データ書き込み時で説明した処理と同様の処理が行われる。
以上のように、データを磁気記録ディスク6に書き込む際にデータの符号化が成功したか否かを確認するため誤ったデータを出力して磁気記録ディスク6へ記録することを防止できる。また、データを磁気記録ディスク6から読み出す際にデータの復号が成功したか否かを確認するので誤ったデータを出力して送信することを防止できる。
(第3の実施形態)
図12は、この実施形態に係る磁気ディスク装置1およびハードディスクコントローラ4の符号部12の構成およびデータの流れを示した図である。この実施形態では、データの符号化および復号を一つの回路で処理できる符号/復号器113を用いる。データを符号化するか復号するかは制御部101の制御による。その他の構成については、図5で既に説明しているので、共通する構成要素については同一の符号を付して重複する説明を省略する。なお、この実施形態では、ライトデータとリードデータの流れは同じになる。このため、ライトデータとリードデータのどちらの流れも実線で示している。
図13は、この実施形態に係る符号部12の書き込み時の動作を示したフローチャートである。図14は、この実施形態に係る符号部12の読み出し時の動作を示したフローチャートである。以下、図13、図14を用いて、この実施形態の符号部12の動作について説明する。
(データ書き込み時の動作)
ホストアクセス制御部11から符号部12へライトデータN0が入力される(ステップS501)。レジスタ109は入力されたライトデータN0を記録する。符号/復号器113Aは、入力されたライトデータN0を符号化する(ステップS502)。
符号/復号器113Aは、符号化したライトデータE(N0)をレジスタ108へ入力する。レジスタ108は、入力されたライトデータE(N0)を記録する(ステップS503)。ここで次のライトデータN1が入力可能であれば、ホストアクセス制御部11から符号部12へライトデータN1が入力される。レジスタ108は、記録しているライトデータE(N0)を符号/復号器113Bへ入力する。
符号/復号器113Bは、入力されたライトデータE(N0)を復号する(ステップS504)。レジスタ109は、記録しているライトデータN0をレジスタ110へ入力する。ここで次のライトデータN1が入力されていれば、レジスタ109は、ライトデータN1を記録する。また、符号/復号器113Aは、入力されたライトデータN1を符号化する。符号/復号器113Bは、ライトデータE(N0)の復号が完了すると、復号後のライトデータD(E(N0))を比較器111へ入力する。レジスタ110は、記録しているライトデータN0を比較器111へ入力する。
比較器111は、入力された二つのライトデータD(E(N0))とN0とを比較する(ステップS505)。二つのライトデータD(E(N0))とN0とが同一である場合、比較器111は、符号化成功の判定結果を出力する。また、二つのライトデータD(E(N0))とN0とが同一でない場合、比較器111は、符号化失敗の判定結果を出力する。また、レジスタ108は、記録されているライトデータE(N0)を出力するが、比較器111が符号化失敗の判定結果を出力している場合、該ライトデータE(N0)は破棄される。
また、符号/復号器113Aは、ライトデータN1の符号化が完了していれば、符号化したライトデータE(N1)をレジスタ108へ入力する。レジスタ108は、入力されたライトデータE(N1)を記録する。
以下、同様にしてライトデータN1以降のデータ処理が行われる。
(データ読み出し時の動作)
ディスクアクセス制御部14から符号部12へリードデータN0が入力される(ステップS601)。レジスタ109は入力されたリードデータN0を記録する。符号/復号器113Aは、入力されたリードデータN0を復号する(ステップS602)。
符号/復号器113Aは、復号したリードデータD(N0)をレジスタ108へ入力する。レジスタ108は、入力されたリードデータD(N0)を記録する(ステップS603)。ここで次のリードデータN1が入力可能であれば、ホストアクセス制御部11から符号部12へリードデータN1が入力される。レジスタ108は、記録しているリードデータD(N0)を符号/復号器113Bへ入力する。
符号/復号器113Bは、入力されたリードデータD(N0)を符号化する(ステップS604)。レジスタ109は、記録しているリードデータN0をレジスタ110へ入力する。ここで次のリードデータN1が入力されていれば、レジスタ109は、リードデータN1を記録する。また、符号/復号器113Aは、入力されたリードデータN1を復号する。符号/復号器113Bは、リードデータD(N0)の符号化が完了すると、符号化後のリードデータE(D(N0))を比較器111へ入力する。レジスタ110は、記録しているリードデータN0を比較器111へ入力する。
比較器111は、入力された二つのリードデータE(D(N0))とN0とを比較する(ステップS605)。二つのリードデータE(D(N0))とN0とが同一である場合、比較器111は、復号成功の判定結果を出力する。また、二つのリードデータE(D(N0))とN0とが同一でない場合、比較器111は、復号失敗の判定結果を出力する。また、レジスタ108は、記録されているリードデータD(N0)を出力するが、比較器111が復号失敗の判定結果を出力している場合、該リードデータD(N0)は破棄される。
また、符号/復号器113Aは、リードデータN1の復号が完了していれば、復号したリードデータD(N1)をレジスタ108へ入力する。レジスタ108は、入力されたリードデータD(N1)を記録する
以下、同様にしてリードデータN1以降のデータ処理が行われる。
(第4の実施形態)
図15は、この実施形態に係る磁気ディスク装置1およびハードディスクコントローラ4の符号部12の構成およびデータの流れを示した図である。この実施形態では、符号/復号器113を用いる。データを符号化するか復号するかは制御部101の制御による。この実施形態に係る符号部12の構成については図5、図9、図12で既に説明した。このため、共通する構成要素については同一の符号を付して重複する説明を省略する。また、第3の実施形態と同様に、ライトデータとリードデータの流れをどちらも実線で示した。
図16は、この実施形態の符号部12の書き込み時の動作を示したフローチャートである。図17は、この実施形態の符号部12の読み出し時の動作を示したフローチャートである。以下、図16、図17を用いて、この実施形態の符号部12の動作について説明する。
(データ書き込み時の動作)
ホストアクセス制御部11から符号部12へライトデータN0が入力される(ステップS701)。符号/復号器113Aは、入力されたライトデータN0を符号化する(ステップS702)。
符号/復号器113Aは、符号化したライトデータE(N0)をレジスタ108へ入力する。レジスタ108は、入力されたライトデータE(N0)を記録する(ステップS703)。ここで次のライトデータN1が入力可能であれば、ホストアクセス制御部11から符号部12へライトデータN1が入力される。レジスタ108は、記録しているライトデータE(N0)を符号/復号器113Bへ入力する。
符号/復号器113Bは、入力されたライトデータE(N0)を復号する(ステップS704)。符号/復号器113Aは、入力されたライトデータN1を符号化する。符号/復号器113Bは、ライトデータE(N0)の復号が完了すると、復号後のライトデータD(E(N0))を誤り検出器112へ入力する。
また、誤り検出器112は、ライトデータN0とは別途入力された誤り検出コードを用いて、符号/復号器113Bから入力されたライトデータD(E(N0))の誤り検出処理を実施する(ステップS705)。誤りが検出されない場合、比較器111は、符号化成功の判定結果を出力する。また、誤りが検出された場合、誤り検出器112は、符号化失敗の判定結果を出力する。また、レジスタ108は、記録されているライトデータE(N0)を出力するが、誤り検出器112が符号化失敗の判定結果を出力している場合、該ライトデータE(N0)を破棄する。
また、符号/復号器113Aは、ライトデータN1の符号化が完了していれば、符号化したライトデータE(N1)をレジスタ108へ入力する。レジスタ108は、入力されたライトデータE(N1)を記録する。
以下、同様にしてライトデータN1以降のデータ処理が行われる。
(データ読み出し時の動作)
ディスクアクセス制御部14から符号部12へリードデータN0が入力される(ステップS801)。符号/復号器113Aは、入力されたリードデータN0を復号する(ステップ802)。
符号/復号器113Aは、復号したリードデータD(N0)をレジスタ108へ入力する。レジスタ108は、入力されたリードデータD(N0)を記録する(ステップS803)。ここで次のリードデータN1が入力可能であれば、ホストアクセス制御部11から符号部12へリードデータN1が入力される。レジスタ108は、記録しているリードデータD(N0)を符号/復号器113Bへ入力する。
符号/復号器113Bは、入力されたリードデータD(N0)を符号化する(ステップS804)。また、符号/復号器113Aは、入力されたリードデータN1を復号する。符号/復号器113Bは、リードデータD(N0)の符号化が完了すると、符号化後のリードデータE(D(N0))を誤り検出器112へ入力する。
また、誤り検出器112は、誤り検出コードを用いて、符号/復号器113Bから入力されたリードデータE(D(N0))の誤り検出処理を実施する(ステップS805)。誤りが検出されない場合、誤り検出器112は、復号が成功した旨の判定結果を出力する。また、誤りが検出された場合、誤り検出器112は、正しく復号できなかった旨の判定結果を出力する。また、レジスタ108は、記録されているリードデータD(N0)を出力するが、誤り検出器112が復号失敗の判定結果を出力している場合、該リードデータD(N0)を破棄する。
また、符号/復号器113Aは、リードデータN1の復号が完了していれば、復号したリードデータD(N1)をレジスタ108へ入力する。レジスタ108は、入力されたリードデータD(N1)を記録する。
以下、同様にしてデータの処理が行われる。
(第5の実施形態)
図18は、この実施形態に係る磁気ディスク装置1およびハードディスクコントローラ4の符号部12の構成およびデータの流れを示した図である。この実施形態では、符号/復号器113を用いており構成を簡略化できる。符号/復号器113を用いる。データを符号化するか復号するかは制御部101の制御による。この実施形態に係る符号部12の構成要素については、図5および図12で既に説明した。このため、共通する構成要素に同一の符号を付して重複する説明を省略する。また、ライトデータとリードデータの流れをどちらも実線で示した。
図19は、この実施形態の符号部12の書き込み時の動作を示したフローチャートである。図20は、この実施形態の符号部12の読み出し時の動作を示したフローチャートである。以下、図19、図20を用いて、この実施形態の符号部12の動作について説明する。
(データ書き込み時の動作)
ホストアクセス制御部11から符号部12へライトデータN0が入力される(ステップS901)。レジスタ109は入力されたライトデータN0を記録する。マルチプレクサ102は、ポート0へ入力されたライトデータN0を符号/復号器113へ入力する。符号/復号器113は、入力されたライトデータN0を符号化する(ステップS902)。
符号/復号器113は、符号化したライトデータE(N0)をレジスタ108へ入力する。レジスタ108は、入力されたライトデータE(N0)を記録する(ステップS903)。レジスタ108は、記録しているライトデータE(N0)をマルチプレクサ102のポート1へ入力する。マルチプレクサ102は、ポート1へ入力されたライトデータE(N0)を符号/復号器113へ入力する。
符号/復号器113は、入力されたライトデータE(N0)を復号する(ステップS904)。符号/復号器113は、ライトデータE(N0)の復号が完了すると、復号後のライトデータD(E(N0))を比較器111へ入力する。レジスタ109は、記録しているライトデータN0を比較器111へ入力する。
比較器111は、入力された二つのライトデータD(E(N0))とN0とを比較する(ステップS905)。二つのライトデータD(E(N0))とN0とが同一である場合、比較器111は、符号化成功の判定結果を出力する。また、二つのライトデータD(E(N0))とN0とが同一でない場合、比較器111は、符号化失敗の判定結果を出力する。また、レジスタ108は、記録されているライトデータE(N0)を出力するが、比較器111から符号化失敗の判定結果が出力されている場合、該ライトデータE(N0)は破棄される。
以下、同様にしてライトデータN0以降のデータ処理が行われる。
(データ読み出し時の動作)
ディスクアクセス制御部14から符号部12へリードデータN0が入力される(ステップS1001)。レジスタ109は入力されたリードデータN0を記録する。マルチプレクサ102は、ポート0へ入力されたリードデータN0を符号/復号器113へ入力する。符号/復号器113は、入力されたリードデータN0を復号する(ステップS1002)。
符号/復号器113は、復号したリードデータD(N0)をレジスタ108へ入力する。レジスタ108は、入力されたリードデータD(N0)を記録する(ステップS1003)。レジスタ108は、記録しているリードデータD(N0)をマルチプレクサ102のポート1へ入力する。マルチプレクサ102は、ポート1へ入力されたリードデータD(N0)を符号/復号器113へ入力する。
符号/復号器113は、入力されたリードデータD(N0)を符号化する(ステップS1004)。符号/復号器113は、リードデータD(N0)の符号化が完了すると、符号化後のリードデータE(D(N0))を比較器111へ入力する。レジスタ109は、記録しているリードデータN0を比較器111へ入力する。
比較器111は、入力された二つのリードデータE(D(N0))とN0とを比較する(ステップS1005)。二つのリードデータE(D(N0))とN0とが同一である場合、比較器111は、復号成功の判定結果を出力する。また、二つのリードデータE(D(N0))とN0とが同一でない場合、比較器111は、復号失敗の判定結果を出力する。また、レジスタ108は、記録されているリードデータD(N0)を出力するが、比較器111から復号失敗の判定結果が出力されている場合、該リードデータD(N0)は破棄される。
以下、同様にしてリードデータN0以降のデータ処理が行われる。
(第6の実施形態)
図21は、この実施形態に係る磁気ディスク装置1およびハードディスクコントローラ4の符号部12の構成およびデータの流れを示した図である。この実施形態では、符号/復号器113を用いており構成を簡略化できる。符号/復号器113を用いる。データを符号化するか復号するかは制御部101の制御による。この実施形態に係る符号部12の構成要素については、図5、9、12で既に説明した。このため、共通する構成要素に同一の符号を付して重複する説明を省略する。また、ライトデータとリードデータの流れをどちらも実線で示した。
図22は、この実施形態の符号部12の書き込み時の動作を示したフローチャートである。図23は、この実施形態の符号部12の読み出し時の動作を示したフローチャートである。以下、図22、図23を用いて、この実施形態の符号部12の動作について説明する。
(データ書き込み時の動作)
ホストアクセス制御部11から符号部12へライトデータN0が入力される(ステップS1011)。マルチプレクサ102は、ポート0へ入力されたライトデータN0を符号/復号器113へ入力する。符号/復号器113は、入力されたライトデータN0を符号化する(ステップS1012)。
符号/復号器113は、符号化したライトデータE(N0)をレジスタ108へ入力する。レジスタ108は、入力されたライトデータE(N0)を記録する(ステップS1013)。レジスタ108は、記録しているライトデータE(N0)をマルチプレクサ102のポート1へ入力する。マルチプレクサ102は、ポート1へ入力されたライトデータE(N0)を符号/復号器113へ入力する。
符号/復号器113は、入力されたライトデータE(N0)を復号する(ステップS1014)。符号/復号器113は、ライトデータE(N0)の復号が完了すると、復号後のライトデータD(E(N0))を誤り検出器112へ入力する。
また、誤り検出器112は、ライトデータN0とは別途入力された誤り検出コードを用いて、符号/復号器113から入力されたライトデータD(E(N0))の誤り検出処理を実施する(ステップS1015)。誤りが検出されない場合、誤り検出器112は、符号化成功の判定結果を出力する。また、誤りが検出された場合、誤り検出器112は、符号化失敗の判定結果を出力する。また、レジスタ108は、記録されているライトデータE(N0)を出力するが誤り検出器112から符号化失敗の判定結果が出力されている場合は、該ライトデータE(N0)は破棄される。
以下、同様にしてライトデータN0以降のデータ処理が行われる。
(データ読み出し時の動作)
ディスクアクセス制御部14から符号部12へリードデータN0が入力される(ステップS1021)。マルチプレクサ102は、ポート0へ入力されたリードデータN0を符号/復号器113へ入力する。符号/復号器113は、入力されたリードデータN0を復号する(ステップS1022)。
符号/復号器113は、復号したリードデータD(N0)をレジスタ108へ入力する。レジスタ108は、入力されたリードデータD(N0)を記録する(ステップS1023)。レジスタ108は、記録しているリードデータD(N0)をマルチプレクサ102のポート1へ入力する。マルチプレクサ102は、ポート1へ入力されたリードデータD(N0)を符号/復号器113へ入力する。
符号/復号器113は、入力されたリードデータD(N0)を符号化する(ステップS1024)。符号/復号器113は、リードデータD(N0)の符号化が完了すると、符号化後のリードデータE(D(N0))を誤り検出器112へ入力する。
また、誤り検出器112は、リードデータN0とは別途入力された誤り検出コードを用いて、符号/復号器113から入力されたリードデータE(D(N0))の誤り検出処理を実施する(ステップS1025)。誤りが検出されない場合、比較器111は、復号成功の判定結果を出力する。また、誤りが検出された場合、誤り検出器112は、復号失敗の判定結果を出力する。また、レジスタ108は、記録されているリードデータD(N0)を出力するが、誤り検出器112から復号失敗の判定結果が出力されている場合、該リードデータD(N0)は破棄される。
以下、同様にしてリードデータN0以降のデータ処理が行われる。
(第7の実施形態)
図24は、この実施形態に係るメモリ装置16の構成を示した図である。図25はこの応用例1に係るNANDフラッシュメモリアクセスコントローラ8の構成を示した図である。このメモリ装置16およびNANDフラッシュメモリアクセスコントローラ8はそれぞれ情報処理装置を構成する。また、この実施形態では、メモリとしてNANDフラッシュメモリを用いたメモリ装置について説明するが、他の書き換え可能なメモリを使用することもできる。
NANDフラッシュメモリ(記録媒体)9は、データを記録する。NANDフラッシュメモリアクセスコントローラ8は、NANDフラッシュメモリ全体の動作を制御する。NANDフラッシュメモリアクセス制御部15は、NANDフラッシュメモリアクセスインタフェースを備え、NANDフラッシュメモリ9に対するデータの書き込み、読み出しを行う。符号部12は、第1乃至第6の実施形態で説明した符号部12である。その他の構成要素については、図1および図2で既に説明した。このため、共通する構成要素に同一の符号を付して重複する説明を省略する。
(第8の実施形態)
図26は、この実施形態に係るイーサコントローラ17の構成を示した図である。このイーサコントローラ17は情報処理装置を構成する。受信制御部202は、イーサ通信規格に従って、イーサ受信インタフェースよりフレームを受信し、受信バッファ204に入力する。受信バッファ204は、受信制御部202で受信したフレームをバッファリングする。ヘッダ解析部206は、受信バッファ204に入力されたフレームのヘッダを解析する。符号部12は、第1乃至第6の実施形態で説明した符号部12であり、受信バッファ204のフレームで符号化されている部分を復号する。
外部アクセス制御部207は、PCI(Peripheral Component Interconnect)、PIO(Parallel Input / Output)、SIO(Serial Input / Output)などの外部アクセスインタフェースを介して復号したデータを外部装置へ送信する。また、外部アクセス制御部207は、外部アクセスインタフェースを介して外部装置から送信先情報と送信データを受信する。送信バッファ203は、外部アクセス制御部207が受信した送信先情報と送信データをバッファリングする。
ヘッダ生成部205は、送信バッファ203の送信先情報からデータのヘッダを生成してデータに付与する。符号部12は、送信バッファ203に入力されたデータの必要な部分を符号化する。送信制御部201は、イーサ通信規格に従って、イーサ送信インタフェースから、その生成したヘッダと送信データにより作成したイーサフレームを、イーサ通信規格に従って送信する。
なお、イーサコントローラ17を用いる装置としては、ネットワークルータ、ネットワークハブやPC(Personal Computor)、デジタル家電等がある。通信規格はイーサに限らず、USB(Universal Serial Bus)等でも良い。
以上のように、データの符号化もしくは復号が成功したか否かを確認するため誤ったデータを送信することを防止できる。
なお、第1乃至第8に係る符号部12の符号器104、復号器105、符号/復号器113および誤り検出器112には、必要に応じてバッファリングのための回路が設けられる。符号器104、復号器105もしくは符号/復号器113のデータ単位と誤り検出符号のデータ単位とが一致しない場合の調整、その他、前後の回路での制御上の目的でバッファリングする場合がある。磁気記録ディスク6へのデータの書き込みまたは読み出しとは独立して、符号器104、復号器105もしくは符号/復号器113を用いてデータの符号化、復号を行う場合にも、上記バッファリング用回路が使用される。
また、符号部12へのデータ入力単位は、符号または復号のデータ単位毎であってもいいし、そうでなくてもいい。符号または復号のデータ単位毎ではない場合は、入力されたデータはバッファリングしてから符号または復号のデータ単位毎に処理する。符号部12からのデータ出力単位は、符号または復号のデータ単位毎であってもいいし、そうでなくてもいい。符号データ単位毎ではない場合は、符号化もしくは復号した情報はバッファリングしてからデータを出力単位毎に出力する。
(その他の実施形態)
本発明の実施形態は上記の実施形態に限られず拡張、変更可能であり、拡張、変更した実施形態も本発明の技術的範囲に含まれる。
第1の実施形態に係る磁気ディスク装置の構成を示した図である。 第1の実施形態に係るハードディスクコントローラの構成を示した図である。 第1の実施形態に係る磁気ディスク装置の書き込み動作を示したフローチャートである。 第1の実施形態に係る磁気ディスク装置の読み出し動作を示したフローチャートである。 第1の実施形態に係る符号部の構成およびデータの流れを示した図である。 第1の実施形態に係る符号部の書き込み時の動作を示したフローチャートである。 第1の実施形態に係る符号部の読み出し時の動作を示したフローチャートである。 第1の実施形態に係る符号部の動作を工程毎に示した工程図である。 第2の実施形態に係る符号部の構成を示した図である。 第2の実施形態に係る符号部の書き込み時の動作を示したフローチャートである。 第2の実施形態に係る符号部の読み出し時の動作を示したフローチャートである。 第3の実施形態に係る符号部の構成およびデータの流れを示した図である。 第3の実施形態に係る符号部の書き込み時の動作を示したフローチャートである。 第3の実施形態に係る符号部の読み出し時の動作を示したフローチャートである。 第4の実施形態に係る符号部の構成およびデータの流れを示した図である。 第4の実施形態に係る符号部の書き込み時の動作を示したフローチャートである。 第4の実施形態に係る符号部の読み出し時の動作を示したフローチャートである。 第5の実施形態に係る符号部の構成およびデータの流れを示した図である。 第5の実施形態に係る符号部の書き込み時の動作を示したフローチャートである。 第5の実施形態に係る符号部の読み出し時の動作を示したフローチャートである。 第6の実施形態に係る符号部の構成およびデータの流れを示した図である。 第6の実施形態に係る符号部の書き込み時の動作を示したフローチャートである。 第6の実施形態に係る符号部の読み出し時の動作を示したフローチャートである。 第7の実施形態に係るメモリ装置の構成を示した図である。 第7の実施形態に係るNANDフラッシュメモリアクセスコントローラの構成を示した図である。 第8の実施形態に係るイーサコントローラの構成を示した図である。
符号の説明
1…磁気ディスク装置、2…RAM、3…ROM、4…ハードディスクコントローラ、5…ヘッダ部、6…磁気記録ディスク(記録媒体)、7…ディスク回転用モータ、8…NANDフラッシュメモリアクセスコントローラ、9…NANDフラッシュメモリ(記録媒体)、10…CPU、11…ホストアクセス制御部、12…符号部、13…外部メモリアクセス制御部、14…ディスクアクセス制御部、15…NANDフラッシュメモリアクセス制御部、16…メモリ装置、17…イーサコントローラ、101…制御部、102,103,106,107…マルチプレクサ、104…符号器、105…復号器、108,109,110…レジスタ、111…比較器、112…誤り検出器、113,113A,113B…符号/復号器 、114…バス、201…送信制御部、202…受信制御部、203…送信バッファ、204…受信バッファ、205…ヘッダ生成部、206…ヘッダ解析部、207…外部アクセス制御部。

Claims (5)

  1. 第1の符号化方式で、誤り検出符号が付加されたデータを符号化して、第1のデータを生成する第1の符号器と、
    前記第1の符号器が生成した第1のデータを保持するレジスタと、
    前記第1の符号化方式の逆符号化に対応する第2の符号化方式で、前記レジスタが保持した第1のデータを符号化して、第2のデータを生成する第2の符号器と、
    前記データに付加された誤り検出符号に基づいて、前記第2のデータの誤り検出を行う誤り検出器とを備え、
    前記レジスタは、前記第2のデータの誤り検出の結果が誤りなしを示す場合に、保持した前記第1のデータを出力すること
    を特徴とする情報処理装置。
  2. 前記レジスタが出力した第1のデータを記録媒体へ記録する記録部をさらに具備したことを特徴とする請求項1に記載の情報処理装置。
  3. 前記第1の符号器は、前記第1の符号化方式で、前記データに続くデータを符号化して第3のデータを生成し、
    前記レジスタは、保持した前記第1のデータを出力した後、前記第3のデータを保持すること
    を特徴とする請求項1に記載の情報処理装置。
  4. 所定の復号化方式で、誤り検出符号が付加されたデータを復号化して、第1のデータを生成する復号器と、
    前記復号器が生成した第1のデータを保持するレジスタと、
    前記所定の復号化方式に対応する所定の符号化方式で、前記レジスタが保持した第1のデータを符号化して、第2のデータを生成する符号器と、
    前記データに付加された誤り検出符号に基づいて、前記第2のデータの誤り検出を行う誤り検出器とを備え、
    前記レジスタは、前記第2のデータの誤り検出の結果が誤りなしを示す場合に、保持した前記第1のデータを出力すること
    を特徴とする情報処理装置。
  5. 第1の符号化方式で、誤り検出符号が付加されたデータを符号化して、第1のデータを生成するステップと、
    前記第1のデータをレジスタに保持させるステップと、
    前記第1の符号化方式の逆符号化に対応する第2の符号化方式で、前記レジスタが保持した第1のデータを符号化して、第2のデータを生成するステップと、
    前記データに付加された誤り検出符号に基づいて前記第2のデータの誤り検出を行うステップと、
    前記第2のデータの誤り検出の結果が誤りなしを示す場合に、前記レジスタが保持した第1のデータを出力するステップと
    を具備する情報処理方法。
JP2008117650A 2008-04-28 2008-04-28 情報処理装置、情報処理方法 Expired - Fee Related JP4327883B1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2008117650A JP4327883B1 (ja) 2008-04-28 2008-04-28 情報処理装置、情報処理方法
CNA2008101707917A CN101572108A (zh) 2008-04-28 2008-10-29 信息处理设备和信息处理方法
US12/267,469 US20090271689A1 (en) 2008-04-28 2008-11-07 Information processing device and information processing method
US12/823,971 US20100262898A1 (en) 2008-04-28 2010-06-25 Information processing device and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008117650A JP4327883B1 (ja) 2008-04-28 2008-04-28 情報処理装置、情報処理方法

Publications (2)

Publication Number Publication Date
JP4327883B1 true JP4327883B1 (ja) 2009-09-09
JP2009266345A JP2009266345A (ja) 2009-11-12

Family

ID=41149093

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008117650A Expired - Fee Related JP4327883B1 (ja) 2008-04-28 2008-04-28 情報処理装置、情報処理方法

Country Status (3)

Country Link
US (2) US20090271689A1 (ja)
JP (1) JP4327883B1 (ja)
CN (1) CN101572108A (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101027682B1 (ko) * 2009-07-01 2011-04-12 주식회사 하이닉스반도체 반도체 메모리 장치 및 그 데이터 기입 방법
WO2013044005A1 (en) 2011-09-22 2013-03-28 Violin Memory, Inc. System and method for correcting errors in data using a compound code
JP6818666B2 (ja) * 2017-09-20 2021-01-20 キオクシア株式会社 メモリシステム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0156440B1 (en) * 1984-03-24 1990-01-24 Koninklijke Philips Electronics N.V. An information transmission method with error correction for user words, an error correcting decoding method for such user words, an apparatus for information transmission for use with the method, a device for information decoding for use with the method and an apparatus for use with such device
CA1264091A (en) * 1986-01-10 1989-12-27 Yoichiro Sako Generator for error correcting code and decoder for the code
US4998252A (en) * 1987-08-06 1991-03-05 Sony Corporation Method and apparatus for transmitting digital data
US5535355A (en) * 1989-04-06 1996-07-09 Kabushiki Kaisha Toshiba Controller for a storage device which allows either prestored or user defined firmware to be executed
US5422895A (en) * 1992-01-09 1995-06-06 Quantum Corporation Cross-checking for on-the-fly Reed Solomon error correction code
US5715105A (en) * 1992-09-28 1998-02-03 Hitachi, Ltd. Method of and apparatus for recording on and reproducing from disk-type recording medium having recording tracks with sectors each having an ID area and a data area
US5517250A (en) * 1995-02-28 1996-05-14 General Instrument Corporation Of Delaware Acquisition of desired data from a packetized data stream and synchronization thereto
US6012839A (en) * 1995-06-30 2000-01-11 Quantum Corporation Method and apparatus to protect data within a disk drive buffer
JP2002261751A (ja) * 2001-03-02 2002-09-13 Hitachi Ltd 暗号処理方法
GB2399722A (en) * 2003-03-21 2004-09-22 Sony Uk Ltd Data communication synchronisation
KR100539261B1 (ko) * 2004-05-04 2005-12-27 삼성전자주식회사 디지털 데이터의 부호화 장치와 dvd로의 기록 장치 및그 방법

Also Published As

Publication number Publication date
US20090271689A1 (en) 2009-10-29
CN101572108A (zh) 2009-11-04
US20100262898A1 (en) 2010-10-14
JP2009266345A (ja) 2009-11-12

Similar Documents

Publication Publication Date Title
US10783032B2 (en) Non-volatile memory apparatus and reading method thereof
US20110161774A1 (en) Semiconductor memory system having ecc circuit and method of controlling thereof
KR101861247B1 (ko) 메모리 컨트롤러, 이의 데이터 처리 방법, 및 이를 포함하는 메모리 시스템
JP4261575B2 (ja) 誤り訂正処理装置及び誤り訂正処理方法
KR20110118168A (ko) 메모리 제어기들에 있어서의 데이터 무결성 및 방법들
KR101437517B1 (ko) 인터리빙 기법을 이용한 메모리 시스템, 및 그 방법
US9191030B2 (en) Memory controller, data storage device, and memory controlling method
WO2009124304A1 (en) Apparatus, system, and method for ensuring data validity in a data storage process
JPH11508712A (ja) ディスクドライブバッファ内のデータを保護するための方法および装置
US11397641B2 (en) Systems and methods for ultra fast ECC with parity
KR102638790B1 (ko) 반도체장치 및 반도체시스템
US11119847B2 (en) System and method for improving efficiency and reducing system resource consumption in a data integrity check
KR20110056676A (ko) 인터리버 장치
KR20170112630A (ko) 반도체장치 및 반도체시스템
CN112068984A (zh) 数据完整性检查的方法与集成电路
KR102426047B1 (ko) 폴라 부호 복호화 장치 및 방법
JP4327883B1 (ja) 情報処理装置、情報処理方法
WO2016017321A1 (ja) メモリコントローラ、記憶装置、情報処理システム、および、メモリコントローラ制御方法
KR102004928B1 (ko) 데이터 저장 장치 및 그것의 에러 정정 코드 처리 방법
US8429508B2 (en) Data storage apparatus with encoder and decoder
KR102420641B1 (ko) 에러정정방법 및 이를 이용한 반도체장치
US8370699B2 (en) Semiconductor memory apparatus for reducing bus traffic between NAND flash memory device and controller
US10819374B2 (en) Accelerated processing for maximum distance separable codes using composite field extensions
KR20170140931A (ko) 반도체장치 및 반도체시스템
US11336296B2 (en) Controller and memory system having the controller

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090519

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090611

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120619

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120619

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120619

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130619

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees