JP2008159152A - 記憶装置 - Google Patents

記憶装置 Download PDF

Info

Publication number
JP2008159152A
JP2008159152A JP2006346284A JP2006346284A JP2008159152A JP 2008159152 A JP2008159152 A JP 2008159152A JP 2006346284 A JP2006346284 A JP 2006346284A JP 2006346284 A JP2006346284 A JP 2006346284A JP 2008159152 A JP2008159152 A JP 2008159152A
Authority
JP
Japan
Prior art keywords
data
crc
error
host device
error information
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.)
Abandoned
Application number
JP2006346284A
Other languages
English (en)
Inventor
Tadaaki Kinoshita
忠明 木下
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 JP2006346284A priority Critical patent/JP2008159152A/ja
Priority to US11/962,496 priority patent/US20080184090A1/en
Publication of JP2008159152A publication Critical patent/JP2008159152A/ja
Abandoned legal-status Critical Current

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/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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

【課題】割り込み信号線の設置や新たなバスプロトコルの規定が不要で、内部におけるデータ読み出しの不具合の発生をホスト装置に通知可能とする記憶装置を提供する。
【解決手段】磁気ディスク装置103は、コンテンツにCRCを付随させたデータパケットでホスト装置101データを送信する。この磁気ディスク装置103は、コンテンツが格納されたHDAユニット106と、HDAユニット106からの読み出しエラーを検知しエラー情報部107に格納させる手段と、コンテンツに関するCRCを作成する際に、正常なCRCを作成するか、又はホスト装置101にCRCエラーを検知させるための不整合なCRCを意図的に作成するかを、上記エラー情報に基づいて選択可能な手段と、を備えている。
【選択図】図1

Description

本発明は、ホスト装置にデータ送信する記憶装置に関するものである。
従来、このような分野の技術として、下記特許文献1に記載の記憶装置が知られている。この文献に記載された記憶装置のホストインタフェース部は、ホスト装置との間でコマンドの受信、デコード及びレスポンスの送信、及びデータの送受信を行う。また、記憶装置のリードライト制御部は、コマンドのデコード結果に従って、メモリとの間でデータの書き込み又は読み出しを行う。この記憶装置においては、リードライト制御部によるデータの書き込み/読み出しで発生したエラーは、エラー検出部によって検出される。そして、検出された上記のエラーをホスト装置に通知するために、ホスト装置への割り込み信号を出力している。
特開2006−139556号公報
しかしながら、割り込み信号でこのようなエラー通知を行うこととすれば、割り込み信号線を設ける必要がある。また、エラー通知に既存のバスを用いようとする場合であっても、新たなバスプロトコルを規定する必要がある。また、ホスト装置側においても、このような割り込み信号線や新たなバスプロトコルに対応する必要が出てくるので、装置の複雑化を招いてしまう。
そこで、本発明は、割り込み信号線の設置や新たなバスプロトコルの規定が不要で、内部におけるデータ読み出しの不具合の発生をホスト装置に通知可能とする記憶装置を提供することを目的とする。
本発明の記憶装置は、ホスト装置に送信すべきコンテンツにCRCを付随させたデータ形式で、ホスト装置に対してデータを送信可能なデータ送信手段と、コンテンツが格納された記憶媒体と、記憶媒体からコンテンツが読み出される処理において発生する読み出しエラーを検知可能なエラー検知手段と、エラー検知手段で検知されたエラー情報を、エラー情報格納部に格納させるエラー情報記録手段と、コンテンツに関するCRCを作成する際に、正常なCRCを作成するか、又はホスト装置にCRCエラーを検知させるための不整合なCRCを意図的に作成するかを、エラー情報に基づいて選択可能なCRC選択手段と、を備えたことを特徴とする。
この記憶装置では、記憶媒体からのコンテンツの読み出しの際に読み出しエラーが発生した場合には、エラー情報格納部にエラー情報が格納される。CRC選択手段は、このエラー情報に基づいて、正常なCRC、又は意図的に不整合なCRCの何れのCRCを作成するかを選択する。ここで、不整合なCRCが選択され作成された場合には、ホスト装置ではCRCエラーが検知されることで不具合の発生が認識される。
この場合、具体的には、CRC選択手段は、エラー情報格納部に読み出しエラーの発生を示すエラー情報が格納されている場合には、不整合なCRCの作成を選択し、それ以外の場合には、正常なCRCの作成を選択するという構成にしてもよい。この構成によれば、記憶媒体からのコンテンツの読み出しエラー発生に対応させて、不整合なCRCが作成され、ホスト装置においてCRCエラーを検知させることができる。
また、本発明の記憶装置は、エラー情報格納部に格納されたエラー情報を、ホスト装置に通知可能であることが好ましい。また、この場合、ホスト装置へのエラー情報の通知は、ホスト装置がCRCエラーを検知したときに発行するエラー情報リードコマンドに対応して行われてもよい。この場合、ホスト装置は、通知されたエラー情報を基にして、CRCエラーの原因が記憶装置における読み出しエラーであるか否かを判断することができる。
また、本発明の記憶装置は、ホスト装置からのデータリードコマンドに対応して複数のデータ群をホスト装置に順次転送する場合に、複数のデータ群のうちの1つのデータ群について、エラー検知手段による読み出しエラー検知がされた場合、当該データ群の後に続く残りのデータ群をホスト装置に転送するか否かを、選択可能であることとしてもよい。この構成によれば、複数のデータ群をホスト装置に順次転送する場合に、読み出しエラー検知後の残りのデータ群をホスト装置に転送することも可能になる。
この場合、残りのデータ群をホスト装置に転送するか否かを、データリードコマンドの種類に基づいて選択可能であることしてもよい。また、残りのデータ群をホスト装置に転送するか否かを、ホスト装置から予め事前に受信した設定用コマンドに基づいて選択可能であることとしてもよい。
また、本発明の記憶装置は、ホスト装置との間でのデータ転送を、パケット方式で行うこととしてもよい。
本発明によれば、割り込み信号線の設置や新たなバスプロトコルの規定が不要で、記憶装置の内部におけるデータ読み出しの不具合の発生をホスト装置に通知可能することが可能になる。
以下、図面を参照しつつ、本発明の記憶装置の好適な一実施形態としての磁気ディスク装置について詳細に説明する。
図1に示すように、磁気ディスク装置(記憶装置)103は、ホストバス102を介してホスト装置101と接続され、ホスト装置101との間でデータ転送を行う。例えば、このホスト装置101には、パーソナルコンピュータ、携帯端末、又は携帯電話機などに代表される電子機器が適用される。また、磁気ディスク装置103は、このような電子機器の記憶装置として利用されるものであり、ハードディスク装置とも呼ばれるものである。ホスト装置101と、磁気ディスク装置103との間のデータ転送方式は、特に限定されないが、以下では一例として、パケット方式を用いるものとして説明する。
ホスト装置101は、磁気ディスク装置103に対してデータ転送を要求すべく任意のデータアドレスとデータ長とを含むデータリードコマンドを発行する。磁気ディスク装置103は、このデータリードコマンドに対応し、要求に係るコンテンツデータをデータパケット200(図2参照)として、ホスト装置101に転送する。データパケット200のレイアウトの一例を図2に示すと、このデータパケット200は、先頭から、スタートビット201、コンテンツデータ202、コンテンツデータに関するCRC(Cyclic Redundancy Check;巡回冗長符号)データ203、及びエンドビット204で構成されている。なお、図2におけるZは、データパケット200前後のハイインピーダンス部を示している。また、詳細は後述するが、ホスト装置101から、エラー情報リードコマンドが発行されると、磁気ディスク装置103は、エラー情報部107に格納されたエラー情報をホスト装置101に転送する。
磁気ディスク装置103は、ホストインタフェース制御部104と、エラー情報部107を含むデータ転送制御部105と、ハードディスクアセンブルユニット(以下「HDAユニット」という)106と、データパケット制御部108と、を備えている。ホストインタフェース制御部104は、例えば、シリアルインタフェースによりホスト装置101側のインタフェース部に接続されるインタフェース回路で構成される。HDAユニット106は、主として磁気ディスク装置103の機構部分を備える。即ち、詳細な図示は省略するが、HDAユニット106は、コンテンツデータをECC(Error Correcting Code)情報と一緒に磁気記録するための磁気ディスクと、磁気ディスクからデータの読み出し/書き込みを行う磁気ヘッドと、磁気ヘッドを磁気ディスクの半径方向に移動可能に支持するアクチュエータとを備えている。更に、HDAユニット106は、上記磁気ディスクを回転させるスピンドルモータと、上記アクチュエータの駆動源のボイスコイルモータと、を備えている。
図3に示すように、データ転送制御部105は、リードチャネル105aと、ホスト装置101からの命令を格納する各レジスタ105b,105c,105d,105jと、ホストからの命令に応じたデータ転送処理を行うMPU105eと、RAM105fとを備えている。リードチャネル105aは信号処理デバイスであり、HDAユニット106から読み出されたリード信号のアナログ/ディジタル変換、リードデータの復号化を含む各種の信号処理を実行する。セクタアドレスレジスタ105bは、読み出しの目標となる先頭のセクタを保持し、セクタカウントレジスタ105cは、読み出すデータのセクタ数を保持し、コマンドレジスタ105dは、ホスト装置101からのコマンドを保持する。また、設定レジスタ105jは、ホスト装置101からの命令に基づき動作を設定する情報を保持する。例えば、設定レジスタ105jには、データ転送中にエラーが発生した場合に、データ転送を継続するか終了するかの設定等が保持される。RAM105fは、HDAユニット106から読み出しECC処理後のコンテンツデータを一時保存したり、データ転送制御プログラムを格納したりする。
更に、データ転送制御部105は、HDAユニット106からのコンテンツデータについてECCをチェックし読み出しの成功又はエラーを検出するECC部105hと、エラーステータスレジスタ105kとを備えている。このエラーステータスレジスタ105kは、ECC部105hでデータの誤り訂正ができない場合やデータが読み出せなかった場合にエラー情報が格納される。即ち、このエラーステータスレジスタ105kは、上記エラー情報部107として機能する。
図4に示すように、データパケット制御部108は、CRC計算部301、データビット反転部302、データバッファ303、CRCデータバッファ304、及びStart-Endビット付加部305を備えている。データパケット制御部108は、上記データ転送制御部105からのコンテンツデータをデータバッファ303に受け取りつつ、CRC計算部301でCRC値を計算する。計算されたCRC値は、データビット反転部302を介して、CRCデータバッファ304に格納される。このとき、データビット反転部302においては、前述のエラー情報部107のエラー情報に基づいて、上記CRC値のビット反転を行う処理、又はビット反転を行わない処理の何れかの処理が選択され、実行される。
具体的には、エラー情報部107に「読み出しエラー」の発生を示すエラー情報がある場合には、データビット反転部302は、CRC値のビット反転処理を行ってCRCデータバッファ304に格納させる。この場合は、最終的にホスト装置101に転送されるデータパケット200はCRCが不整合となるので、ホスト装置101においてCRCエラーを発生させる。すなわち、データビット反転部302の、このような処理により、CRCが不整合なデータパケット202が意図的に作成され、ホスト装置101に転送されることになる。一方、エラー情報部107に「読み出しエラー」の発生を示すエラー情報がない場合には、データビット反転部302は、CRC値のビット反転処理を行わずにCRCデータバッファ304に格納させる。この場合、最終的にホスト装置101に転送されるデータパケット200はCRCが整合であり、ホスト装置101において正常に処理される。
Start-Endビット付加部305は、上記のようにデータバッファ303及びCRCデータバッファ304に格納されたデータ202,203の前後に、所定のスタートビット201とエンドビット204とを付加することで、データパケット200(図2参照)を形成させる。このように形成されたデータパケット200は、データパケット制御部108から、ホストインタフェース制御部104を介して、ホスト装置101に転送される。
続いて、上記磁気ディスク装置103とホスト装置101との間のデータ転送について説明する。
まず、磁気ディスク装置103が、データリードコマンドに対応してデータパケット200を作成し送信する処理を、図5及び図1を参照しながら説明する。
磁気ディスク装置103のホストインタフェース制御部104は、コマンド受信待ち状態(S501)において、ホスト装置101からのデータリードコマンドを受信する。データ転送制御部105は、ホストインタフェース制御部104からのデータリードコマンドの内容に応じて、HDAユニット106に対する適当なアドレスから適当なサイズのコンテンツデータ(データパケット200を構成するのに適当なデータ)を読み出す(S504)。この読み出し処理において読み出しが成功し、エラーと判定されなかった(S505)場合には、読み出したコンテンツデータ202が、データパケット制御部108に送られる。データパケット制御部108では、データ転送制御部105からのコンテンツデータ202がデータバッファ303に格納され(S506)、コンテンツデータ202とエラー情報部107のエラー情報に基づいて、CRCデータ203が作成される。
この場合、エラー情報部107には、「読み出しエラー」の発生を示すエラー情報が格納されていないので、前述したデータビット反転部302によってコンテンツデータ202に関するCRC計算値がビット反転処理されずに、CRCデータバッファ304に格納される(S506)。このように、データパケット制御部108からは、コンテンツデータ202及びこのコンテンツデータ202に関する正常なCRCデータ203が、Start-Endビット付加部305に送られる。その後、Start-Endビット付加部305によるスタートビット201、エンドビット204の付加処理を経て正常なCRC値をもつデータパケット200が作成され、ホストインタフェース制御部104を介してホスト装置101に送信される(S507)。その後、データ転送制御部105は、前記データリードコマンド時に含まれるデータ分のデータパケット200をすべて送信したか否かを判定する(S508)。この判定で、Yesであれば処理は終了し(S509)、Noであれば後に続くデータパケット200についての処理が、S504から繰り返される。
一方、S504の読み出し処理における何らかの異常で読み出しエラーと判定(S505)された場合は、エラー情報部107に「読み出しエラー」の発生を示すエラー情報が格納される(S510)。そして、データ転送制御部105は、任意の代替データを用意して(S511)、データパケット制御部108に送る。上記代替データとしては、例えば、読み出しエラーが生じないようなHDAユニット106上の任意アドレスのデータ等を用いることができる。
次に、データパケット制御部108では、データ転送制御部105からの上記代替データがコンテンツデータ202としてデータバッファ303に格納され(S512)、このコンテンツデータ202とエラー情報部107のエラー情報に基づいて、CRCデータ203が作成される。この場合、エラー情報部107には、上記S510で既に「読み出しエラー」の発生を示すエラー情報が格納されているので、前述したデータビット反転部302によってコンテンツデータ202に関するCRC計算値がビット反転処理され、CRCデータバッファ304に格納される(S512)。このように、データパケット制御部108からは、意図的にCRC不整合とされたコンテンツデータ202及びCRCデータ203が、Start-Endビット付加部305に送られる。その後、Start-Endビット付加部305によるスタートビット201、エンドビット204の付加処理を経てデータパケット200が作成され、ホストインタフェース制御部104を介してホスト装置101に送信される(S513)。なお、このデータパケット200は、CRC不整合であるので、後述するとおり、受信されたホスト装置101にCRCエラーを検知させる。
次に、データ転送制御部105は、上記ような「読み出しエラー」が発生した場合に、後に続くデータパケット200の送信処理を継続するか否かを判断する(S514)。送信処理を継続する場合には、処理がS508に戻り、後に続くデータパケット200についての処理が、S504から上記同様に繰り返される。一方、送信処理を終了する場合には、後に続くデータパケット200の処理は行われず、磁気ディスク装置103は処理を終了する(S509)。
上記S514における送信処理の継続/終了の判定を磁気ディスク装置103に行わせるため、ホスト装置101からの上記データリードコマンドとしては、第1及び第2のデータリードコマンドの2種類が準備されている。そして、ホスト装置101は、磁気ディスク装置103へのデータ転送要求の際には、データ格納部に格納する終了判定情報101aに基づいて、上記第1又は第2のデータリードコマンドの何れかを発行する。ホスト装置101から発行されたデータリードコマンドが第1のデータリードコマンドであった場合には、磁気ディスク装置103の設定レジスタ105j(図3参照)に「継続」を示す終了判定情報が保持され、第2のデータリードコマンドであった場合には、設定レジスタ105jに「終了」を示す終了判定情報が保持される。そして、磁気ディスク装置103では、S514の判定が設定レジスタ105jに保持された終了判定情報に基づいて行われ、設定レジスタ105jの終了判定情報が「継続」を示す場合には処理がS508に戻り、終了判定情報が「終了」を示す場合には処理がS509で終了する。なお、上記終了判定情報を磁気ディスク装置103に通知する他の方法としては、ホスト装置101が、データリードコマンドの発行直前に、終了判定情報を含む設定用コマンドを別途発行してもよい。
また、上記終了判定情報を磁気ディスク装置103に通知する更に他の方法としては、上記データリードコマンドに先立って、予め事前にモード設定用コマンドをホスト装置101から送信するようにしてもよい。このモード設定用コマンドに対応して磁気ディスク装置103では、終了判定情報が設定レジスタ105jに予め格納される。このことで、磁気ディスク装置103の動作モードが、エラー発生後にもデータ転送を継続するモード、又はエラー発生後はデータ転送を終了するモードの何れかのモードに事前に設定される。従って、データリードコマンドを発行するごとに終了判定情報を設定しなくてもよい。
例えば、1パケット程度の欠落が許容されるようなデータ(例えば、音楽データ等)の転送にあたっては、上記終了判定情報が「継続」に設定されることで、無効なデータの後に続く有効なデータをホスト装置101に転送することができる。逆に、パケット欠落が許容されないようなデータの転送にあたっては、上記終了判定情報が「終了」に設定されることで、エラー発生後の無駄なデータ転送を省略することができる。なお、上記終了判定情報は、設定レジスタ105jに保持される代わりに、RAM105fに保持されてもよい。
続いて、図6及び図1を参照し、ホスト装置101からのエラー情報リードコマンドを受けた場合の、磁気ディスク装置103の処理について説明する。
磁気ディスク装置103が、エラー情報リードコマンド待ち(S601)の状態において、当該コマンドを受けると、データ転送制御部105は、エラー情報部107に格納されたエラー情報を、ホストインタフェース制御部104を介してホスト装置101に送信する(S602)。その後、エラー情報部107に格納されたエラー情報はクリアされる(S603)。詳細は後述するが、データ転送時における不具合が発生した場合、ホスト装置101は、この不具合の原因がホストバス102にあるのか、或いは磁気ディスク装置103にあるのかを判別するにあたり、上記エラー情報の参照によって判別が可能である。
続いて、図7及び図1を参照し、データ転送におけるホスト装置101のコマンド送信制御フローを説明する。
まず、ホスト装置101は、リードすべきデータアドレスとデータ長とを含むデータリードコマンドを、磁気ディスク装置103に送信する(S701)。その後、磁気ディスク装置103から受信すべきデータパケット200の受信待ち状態となる(S702)。上記データリードコマンドに対応して、磁気ディスク装置103からは、複数のデータパケット(データ群)200が順次送信される。そして、ホスト装置101では、上記複数のデータパケット200を受信すると、データパケット200ごとに順次以下の処理を行う。ホスト装置101は、まず、データパケット200のコンテンツデータ202に関するCRC値を、所定のCRC計算に基づき計算する(S703)。
次に、ホスト装置101は、このCRC計算値と、データパケット200内に実際に格納されているCRCデータ203の値と、を比較し(S704)、上記CRC計算値が上記CRCデータ203に一致する場合(等しい場合)には、当該データパケット200のコンテンツデータが正しいものとして受け入れる。その後、ホスト装置101は、データリードコマンドに含まれるデータ長に相当するデータパケットをすべて受信したか否かを判定する(S705)。この判定で、Yesであれば処理は終了し(S709)、Noであれば、後に続くデータパケット200についての処理がS702から繰り返される。
一方、S704において、CRC計算値がCRCデータ203に等しくない場合には、CRC不整合としてCRCエラーが検知される。この場合、ホスト装置101は、ホストバス102上でデータ転送に何らかの具合が生じたか、或いは、磁気ディスク装置103内の読み出しエラーの発生により意図的にCRC不整合のデータパケット200が作成されたか、の何れかの事象であることを認識することができる。
この場合、ホスト装置101は、上記2つの事象の何れであるかを判別するため、磁気ディスク装置103のエラー情報を参照する。具体的には、エラー情報を磁気ディスク装置103から読み出すためのエラー情報リードコマンドを送信する(S706)。このコマンドに対応して、磁気ディスク装置103からは、前述の通り、エラー情報部107に格納されたエラー情報が送信され、ホスト装置101は、このエラー情報を受信する(S707)。そして、ホスト装置101は、受信した上記エラー情報に「読み出しエラー」の発生を示す情報が含まれていれば、上記のCRC不整合の原因は、磁気ディスク装置103による意図的なCRC不整合パケットの作成であると判別することができる。この場合は、磁気ディスク装置103において、例えば、HDAユニット106上に格納済みのデータがなんらかの要因により破壊されているといったことに起因する読み出しエラーの発生が認識され、ホスト装置101は、当該データパケット200のデータを無効データとする。
なお、所定のプロトコル(例えば、既存のメモリカードプロトコル)を利用することにより、上記エラー情報リードコマンドの受付けは、磁気ディスク装置103においてデータリードコマンドの処理中に行わせることが可能である。従って、ホスト装置101は、CRCエラーを検知したときに、CRCエラーの原因の上記判別を瞬時に素早く行うことができる。
一方、S707で受信した上記エラー情報に「読み出しエラー」の発生を示す情報が含まれていなければ、上記のCRC不整合の原因は、ホストバス102上の不具合であると判別することができる。この場合、ホスト装置101は、例えば、データ転送中止のコマンドやリセットコマンドを発行することでデータ転送を中止したり、又は、リトライを行ったりすることができる。
次に、ホスト装置101は、上記ようなCRCエラーを検知した場合に、後に続くデータパケット200の受信処理を継続するか否かを判断する(S708)。この受信処理の継続/終了の判定は、データ格納部に格納する終了判定情報101aに基づいて行われ、終了判定情報101aが「継続」を示す場合には、処理がS705に戻り、後に続くデータパケット200についての処理が、S702から上記同様に繰り返される。一方、終了判定情報101aが「終了」を示す場合には、後に続くデータパケット200の処理は行われず、ホスト装置101は処理を終了する(S709)。なお、この終了判定情報101aは、前述した通り、磁気ディスク装置103にも送信され格納されているので、ホスト装置101と磁気ディスク装置103との間では、上記の継続/終了について同じ判定がなされる。
以上のようなホスト装置101と磁気ディスク装置103との処理により、磁気ディスク装置103内でコンテンツ読み出しエラーが発生した場合、磁気ディスク装置103では、CRC不整合のデータパケット200が意図的に作成されてホスト装置101に送信される。CRC不整合のデータパケット200を受けたホスト装置101では、CRCエラーが検知され、磁気ディスク装置103のエラー情報部107にあるエラー情報が参照される。そして、ホスト装置101は、上記エラー情報の参照によって、CRC不整合のデータパケット200が意図的に作成されたものであることが判別できれば、磁気ディスク装置103で発生した読み出しエラーを検知することができる。また、上記CRC不整合のデータパケット200が意図的に作成されたものではないことが判別できれば、通常どおり、ホストバス102上の不具合を検知することができる。
このように、一般にはホストバス102上の不具合検出に用いられるCRC検査を利用して、磁気ディスク装置103内における読み出しエラーをホスト装置101に検知させることができる。従って、この磁気ディスク装置103によれば、HDAユニット106からの読み取りエラーが発生したことをホスト装置101へ通知することができる。この場合、上記読み出しエラーを通知するための信号線を別途追加する必要がなく、新たなバスプロトコルを規定する必要もない。また、このようなCRC検査は、ホストバス102上の不具合検出のために、一般的にホスト装置101で用いられるものであるので、磁気ディスク装置103は、既存のホスト装置にも適用することが可能である。
また、磁気ディスク装置103が複数のデータパケット200としてデータを送信する場合は、ホスト装置101においては、順次各データパケットごとに上記CRC検査が行われるので、全データの転送が完了しなくても、転送途中で読み出しエラーが検知される。従って、全ての読み出しデータの転送終了後にエラーの発生を通知する方式に比べて、磁気ディスク装置103の読み出しエラーの発生をホスト装置101に早く通知することができ、その結果、制御効率の向上を図ることができる。
本発明は、前述した実施形態に限定されるものではない。上記実施形態では、本発明を磁気ディスク装置に適用しているが、記憶媒体の態様は、磁気ディスクには限られない。例えば、図10に示すように、不揮発性メモリ806を記憶媒体として備えた記憶装置803に本発明を適用することも可能である。このような記憶装置の例としては、MMC(マルチメディアカード)、SDカード、SDIOカード、フラッシュメモリ、その他のメモリカードが挙げられる。この記憶装置803のデータ転送制御部805では、データ転送制御部105のリードチャネル105aに代えて、不揮発性メモリに対応する不揮発性メモリI/F805aを有している。この記憶装置803において、磁気ディスク装置103と同一又は同等な構成については、図面に同一符号を付し、その説明は省略する。また、上記実施形態では、コンテンツは1ビットで送信されるパケットとして説明されているが、複数ビットに並列または直列に分割した送信としてもよい。
本発明に係る記憶装置の一実施形態としての磁気ディスク装置を示すブロック図である。 図1の磁気ディスク装置で送信されるデータパケットの一例を示す図である。 図1の磁気ディスク装置のデータ転送制御部の詳細を示すブロック図である。 図1の磁気ディスク装置のデータパケット制御部の詳細を示すブロック図である。 磁気ディスク装置がデータリードコマンドの受信によりデータ転送を行う場合のコマンド受信制御フロー例を示す図である。 磁気ディスク装置がエラー情報リードコマンドの受信によりエラー情報の転送を行う場合のコマンド受信制御フロー例を示す図である。 データ転送を行うときのホスト装置のコマンド送信制御フロー例を示す図である。 本発明に係る記憶装置の他の実施形態としての不揮発性メモリを用いた記憶装置を示すブロック図である。
符号の説明
101…ホスト装置、103…磁気ディスク装置(記憶装置)、104…ホストインタフェース制御部、106…HDAユニット(記憶媒体)、105h…ECC部(エラー検知手段、エラー情報記録手段)、105k…エラーステータスレジスタ(エラー情報格納部)、107…エラー情報部(エラー情報格納部)、200…データパケット、202…コンテンツデータ、203…CRC、302…データビット反転部(CRC選択手段)、803…記憶装置。

Claims (8)

  1. ホスト装置に送信すべきコンテンツにCRCを付随させたデータ形式で、前記ホスト装置に対してデータを送信可能なデータ送信手段と、
    前記コンテンツが格納された記憶媒体と、
    前記記憶媒体から前記コンテンツが読み出される処理において発生する読み出しエラーを検知可能なエラー検知手段と、
    前記エラー検知手段で検知されたエラー情報を、エラー情報格納部に格納させるエラー情報記録手段と、
    前記コンテンツに関する前記CRCを作成する際に、正常なCRCを作成するか、又は前記ホスト装置にCRCエラーを検知させるための不整合なCRCを意図的に作成するかを、前記エラー情報に基づいて選択可能なCRC選択手段と、を備えたことを特徴とする記憶装置。
  2. 前記CRC選択手段は、
    前記エラー情報格納部に前記読み出しエラーの発生を示すエラー情報が格納されている場合には、前記不整合なCRCの作成を選択し、それ以外の場合には、前記正常なCRCの作成を選択することを特徴とする請求項1に記載の記憶装置。
  3. 前記エラー情報格納部に格納された前記エラー情報を、前記ホスト装置に通知可能であることを特徴とする請求項1又は2に記載の記憶装置。
  4. 前記ホスト装置への前記エラー情報の通知は、前記ホスト装置が前記CRCエラーを検知したときに発行するエラー情報リードコマンドに対応して行われることを特徴とする請求項3に記載の記憶装置。
  5. 前記ホスト装置からのデータリードコマンドに対応して複数のデータ群を前記前記ホスト装置に順次転送する場合に、
    前記複数のデータ群のうちの1つのデータ群について、前記エラー検知手段による前記読み出しエラー検知がされた場合、当該データ群の後に続く残りのデータ群を前記ホスト装置に転送するか否かを、選択可能であることを特徴とする請求項1〜4の何れか1項に記載の記憶装置。
  6. 前記残りのデータ群を前記ホスト装置に転送するか否かを、
    前記データリードコマンドの種類に基づいて選択可能であることを特徴とする請求項5に記載の記憶装置。
  7. 前記残りのデータ群を前記ホスト装置に転送するか否かを、
    前記ホスト装置から予め事前に受信した設定用コマンドに基づいて選択可能であることを特徴とする請求項5に記載の記憶装置。
  8. 前記ホスト装置との間でのデータ転送を、パケット方式で行うことを特徴とする請求項1〜7の何れか1項に記載の記憶装置。
JP2006346284A 2006-12-22 2006-12-22 記憶装置 Abandoned JP2008159152A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006346284A JP2008159152A (ja) 2006-12-22 2006-12-22 記憶装置
US11/962,496 US20080184090A1 (en) 2006-12-22 2007-12-21 Storage apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006346284A JP2008159152A (ja) 2006-12-22 2006-12-22 記憶装置

Publications (1)

Publication Number Publication Date
JP2008159152A true JP2008159152A (ja) 2008-07-10

Family

ID=39659899

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006346284A Abandoned JP2008159152A (ja) 2006-12-22 2006-12-22 記憶装置

Country Status (2)

Country Link
US (1) US20080184090A1 (ja)
JP (1) JP2008159152A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010286977A (ja) * 2009-06-10 2010-12-24 Toshiba Corp コントローラ、データ制御方法及び電子機器
US9191030B2 (en) 2011-12-28 2015-11-17 Kabushiki Kaisha Toshiba Memory controller, data storage device, and memory controlling method

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100106874A1 (en) * 2008-10-28 2010-04-29 Charles Dominguez Packet Filter Optimization For Network Interfaces
KR20110003726A (ko) * 2009-07-06 2011-01-13 삼성전자주식회사 Sata 인터페이스에서의 crc 관리 방법 및 이를 구현한 데이터 저장 장치
US9325631B2 (en) * 2013-09-06 2016-04-26 Stmicroelectronics, Inc. System and method for improved upstream transmission
US9313131B2 (en) 2013-09-06 2016-04-12 Stmicroelectronics, Inc. Hardware implemented ethernet multiple tuple filter system and method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005039674A (ja) * 2003-07-17 2005-02-10 Mitsubishi Electric Corp データ送信装置、データ受信装置及びデータ送受信装置
JP2006139556A (ja) * 2004-11-12 2006-06-01 Toshiba Corp メモリカード及びそのカードコントローラ

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7047475B2 (en) * 2003-02-04 2006-05-16 Hewlett-Packard Development Company, L.P. CRC encoding scheme for conveying status information
US7712004B1 (en) * 2003-09-30 2010-05-04 Emc Corporation Method of and system for error checking in a data storage system
US8667363B2 (en) * 2004-11-24 2014-03-04 Qualcomm Incorporated Systems and methods for implementing cyclic redundancy checks
US7627806B1 (en) * 2006-03-01 2009-12-01 Altera Corporation Integrated hard-wired or partly hard-wired CRC generation and/or checking architecture for a physical coding sublayer in a programmable logic device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005039674A (ja) * 2003-07-17 2005-02-10 Mitsubishi Electric Corp データ送信装置、データ受信装置及びデータ送受信装置
JP2006139556A (ja) * 2004-11-12 2006-06-01 Toshiba Corp メモリカード及びそのカードコントローラ

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010286977A (ja) * 2009-06-10 2010-12-24 Toshiba Corp コントローラ、データ制御方法及び電子機器
US9191030B2 (en) 2011-12-28 2015-11-17 Kabushiki Kaisha Toshiba Memory controller, data storage device, and memory controlling method

Also Published As

Publication number Publication date
US20080184090A1 (en) 2008-07-31

Similar Documents

Publication Publication Date Title
US8285923B2 (en) Disk drive and method using native command queuing tags to identify logical block size and implement protection information
US7865784B1 (en) Write validation
JP4925659B2 (ja) アクセス時間が減少したフラッシュメモリ装置
JP2008159152A (ja) 記憶装置
US20110239081A1 (en) Semiconductor storage device and method for controlling a semiconductor storage device
JP2002108572A (ja) バックアップシステム、及び複製装置
JP2006127300A (ja) ホストと記憶デバイスとの間における通信方法、記憶デバイス、ホスト、記憶デバイスとホストを備えるシステム
US7836243B2 (en) Nonvolatile semiconductor memory apparatus and memory system
US20100058145A1 (en) Storage device and method of controlling storage device
US7945812B1 (en) System and method for error correction
US20080005362A1 (en) SATA odd block handling
US7613887B1 (en) System and method for managing a memory storage device
JPS5832417B2 (ja) デ−タ転送制御方式
US7702820B2 (en) Hardware accelerator and data transmission system and method using the same
JP2008310896A (ja) 不揮発性記憶装置、不揮発性記憶システムおよび不揮発性記憶装置の制御方法
JP5600963B2 (ja) 不揮発性記憶装置、及びデータ初期化方法
JP2000155737A (ja) デ―タパケット受信装置
JP2007011659A (ja) インターフェース装置、ディスクドライブ及びインターフェース制御方法
JP2007179085A (ja) ディスク装置、ディスク書込データ選択方法およびディスク書込データ選択プログラム
JP2007179084A (ja) ディスク装置およびディスク書込データ転送方法
JP3281980B2 (ja) 磁気ディスク装置
JP4164473B2 (ja) 機能メモリアクセス制御システム、機能メモリ装置及びその制御方法、プログラム
JPH07287968A (ja) ディスク装置
US20040205317A1 (en) Method, apparatus and program storage device for providing data integrity using check data and other metadata on a formatted storage medium
JP2002328850A (ja) ディスクアレイ装置のパトロールによるデータパス異常検出方法及びディスクアレイ装置を備えたコンピュータシステム

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080806

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20080718

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090406

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100730

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101221

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110218

A762 Written abandonment of application

Free format text: JAPANESE INTERMEDIATE CODE: A762

Effective date: 20110627