JP2007183844A - 補助記憶装置および記録再生方法 - Google Patents
補助記憶装置および記録再生方法 Download PDFInfo
- Publication number
- JP2007183844A JP2007183844A JP2006002013A JP2006002013A JP2007183844A JP 2007183844 A JP2007183844 A JP 2007183844A JP 2006002013 A JP2006002013 A JP 2006002013A JP 2006002013 A JP2006002013 A JP 2006002013A JP 2007183844 A JP2007183844 A JP 2007183844A
- Authority
- JP
- Japan
- Prior art keywords
- error
- data set
- buffer
- address
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/10527—Audio or video recording; Data buffering arrangements
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/10527—Audio or video recording; Data buffering arrangements
- G11B2020/1062—Data buffering arrangements, e.g. recording or playback buffers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/10527—Audio or video recording; Data buffering arrangements
- G11B2020/1062—Data buffering arrangements, e.g. recording or playback buffers
- G11B2020/10675—Data buffering arrangements, e.g. recording or playback buffers aspects of buffer control
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/20—Disc-shaped record carriers
- G11B2220/25—Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
- G11B2220/2508—Magnetic discs
- G11B2220/2516—Hard disks
Abstract
【課題】パフォーマンスの低下を防止し、バッファの故障解析に有益なデータを収集する補助記憶装置を提供する。
【解決手段】ユーザ・データとCRCとで構成されたデータ・セットを、バッファに一時的に記憶させる。データの記録時または再生時にバッファから読み出したデータ・セットからCRCエラーが検出されたときは、当該データ・セットの内容とバッファ上でのアドレスを不揮発性の記憶媒体に記録する。さらに、当該バッファのアドレスを使用禁止にする。よって、バッファに発生するソフト・エラーを再現するためのデータを保存し、かつ、バッファ・エラーにともなう補助記憶装置のパフォーマンスの低下を防止することができる。
【選択図】図1
【解決手段】ユーザ・データとCRCとで構成されたデータ・セットを、バッファに一時的に記憶させる。データの記録時または再生時にバッファから読み出したデータ・セットからCRCエラーが検出されたときは、当該データ・セットの内容とバッファ上でのアドレスを不揮発性の記憶媒体に記録する。さらに、当該バッファのアドレスを使用禁止にする。よって、バッファに発生するソフト・エラーを再現するためのデータを保存し、かつ、バッファ・エラーにともなう補助記憶装置のパフォーマンスの低下を防止することができる。
【選択図】図1
Description
本発明は補助記憶装置におけるバッファの利用技術に関し、さらにはバッファの利用方法を改善して故障解析に有用なデータを収集したりパフォーマンスの低下を防止したりする技術に関する。
コンピュータ・システムでは、CPUが実行するプログラムを記憶したり作業領域を提供したりする主記憶装置の他にデータをほぼ恒久的に記録する補助記憶装置を採用している。補助記憶装置は、一般的に、主記憶装置に比べて記憶容量が大きいため大容量記憶装置といわれたりする。また、CPUに付属する主記憶装置以外の外部の記憶装置という意味から外部記憶装置といわれたりすることもある。補助記憶装置の例として、磁気ディスク装置、フロッピィ・ディスク装置(フロッピィ・ディスクは商標)、光磁気ディスク装置、CD−RWドライブ、DVD−RWドライブなどがある。
これらの補助記憶装置は、SCSIやIDEといったインターフェース回路を通じてホスト装置としてのコンピュータ・システムに接続され、ホスト装置から送られたデータを記録したり、記録していたデータをホスト装置に送ったりしている。これらの補助記憶装置では、ホスト装置とのデータの通信時間と内部における読み取りまたは書き込み処理の時間との差を吸収するためにバッファを設けている。
代表的な補助記憶装置の1つである磁気ディスク装置では、データを一時的に記憶するセクタ・バッファを備え、セクタ・バッファを介してホスト装置との間でデータ通信を行うことによってパフォーマンスを向上させている。セクタ・バッファには、SRAMまたはDRAMといった半導体メモリが使用されている。半導体メモリは安定した記録媒体であるが、まれに読み出したデータからエラーが検出されることがある。磁気ディスク装置では、データに対して巡回冗長検査(CRC:Cyclic Redundancy Check )という検出技術を用いたエラー検査コードを付加してデータをセクタ・バッファに記憶し、読み出したときにエラーの有無を検査している。
ホスト装置から送られたリード・コマンドまたはライト・コマンドを処理するときは、エラー検査コードを用いてセクタ・バッファから読み取ったデータのエラー検出を行っている。リード・コマンドを処理するときにエラーを検出した場合は、リード・チャネルを通じて再度磁気ディスクからエラーにかかるデータを読み出し、ライト・コマンドを処理するときにエラーを検出した場合はホスト装置から再度書き込みにかかるデータを受け取る。
特許文献1は、パーソナル・コンピュータに使用されるメモリにエラーが発生したときに、恒久的なエラー(ハード・エラー)であるか、一時的なエラー(ソフト・エラー)であるかを調べるために、エラーが発生したアドレスとビット位置を不揮発性メモリに保存する技術を開示する。特許文献2は、データにCRCバイトを付加してバッファ・メモリに記憶し、ユーザ・データとCRCバイトに含まれるエラーをECCバイトを用いて検証する磁気ディスク装置を開示する。
特開2005−196680号公報
特開平10−78853号公報
セクタ・バッファに記憶されていたデータからエラーが検出されると、磁気ディスク装置はリード・コマンドまたはライト・コマンドを再度実行するために、データをセクタ・バッファに記憶するための再処理をする必要がある。記録動作では、ホスト装置から再度データの転送を受け、再生動作では磁気ディスクから再度データを読み取ることになるため磁気ディスク装置のパフォーマンスが低下する。
セクタ・バッファの特定のビット・アドレスにハードウエア的な故障が発生すると、記録したデータ・ビットの値にかかわらず、読み出したデータの値が必ず0または1のいずれかになるといったような恒久的なエラーが発生し、データの内容によって反転したビットの値が出力されたときにエラー(以後、このようなエラーをハード・エラーという。)が発生する。ハード・エラーは、当該ビット・アドレスに1または0のデータを記憶すると、いずれかの場合には必ずエラーが発生するので故障したビット・アドレスを調べて故障原因の解析をすることができる。
近年、半導体メモリは微細化技術が進み集積度が向上してきたことの反面、中性子やα線といった放射線や磁気ノイズなどの外乱からの耐力が低下してきており、小さい確率ではあるが記憶したデータのビットの値が反転するといういわゆるソフト・エラーが発生しやすい傾向にある。したがって、セクタ・バッファに記憶されている時間が長いデータほどソフト・エラーの発生確率は一般に高くなる。ソフト・エラーはまたデータ・パターン(ビット・パターン)の影響を受けることもある。セクタ・バッファからソフト・エラーの発生を完全に撲滅することはできないにしても、ソフト・エラーの頻度が高いセクタ・バッファは原因を追及して対策を施す必要がある。しかし、ソフト・エラーが発生したセクタ・バッファを解析の場に持ち込んでもエラーを再現することはほとんどできないため原因の追求は難しい。
従来、磁気ディスク装置はセクタ・バッファから読み取ったデータからエラーを検出してもホスト装置にエラーが発生したことを報告するだけで、ホスト装置が許容する間はエラーが発生したセクタ・バッファのセグメント(以後、エラー・セグメントという。)を使用し続けていた。エラー・セグメントが継続的に使用され、ホスト装置に所定の頻度でエラー報告がされると、ホスト装置は当該磁気ディスク装置を不良扱いにする。また、ホスト装置が当該磁気ディスク装置を不良扱いにするまでの間は、バッファに再度データを書き込むために磁気ディスク装置のパフォーマンスが低下した状態が続く。ソフト・エラーとハード・エラーを明確に区分することは困難であるが、ソフト・エラーのなかでも発生頻度の高いものは、ハード的な要因が関係していると考えられる。このようなアドレスまたはセグメントは、パフォーマンスの低下を防ぐ上では使用しない方が望ましい。
また、磁気ディスク装置ではこれまでセクタ・バッファから読み出したデータからエラーを検出してもエラー情報を保存しておくことはなかった。ソフト・エラーは再現させることが困難なので、特定のアドレスだけに発生するのか、アドレス全体に発生するのか、あるいはデータ・パターンとの関係があるのかなどの、ソフト・エラーの原因を追及するため有益な情報を得ることができなかった。
そこで本発明の目的は、バッファの管理方法を改善してパフォーマンスの低下を防止した補助記憶装置を提供することにある。さらに本発明の目的は、バッファの故障解析に有益なデータを収集することができる補助記憶装置を提供することにある。さらに本発明の目的は、パフォーマンスの低下を防止する補助記憶装置の記録再生方法を提供することにある。
本発明の一つの側面では、バッファの故障解析に有益なデータを収集する補助記憶装置を提供する。本発明にかかる補助記憶装置は、ユーザ・データ・ブロックと、同ユーザ・データ・ブロックに対応して生成されたエラー検査コードとが1つのデータ・セットを構成して不揮発性の記録媒体上に記憶される。記録動作および再生動作のいずれの場合であっても、バッファには一旦データ・セットが記憶され、読み出されるときにエラー訂正コードを使用してエラーの有無が検査される。
バッファから読み出された第1のデータ・セットからエラーが検出されるときには、プロセッサはエラーが検出されたデータ・セットと、当該データ・セットが記憶されていたバッファのアドレスを不揮発性の記録媒体に記録する。この結果、記録媒体にはエラーが発生したデータ・セットのビット・パターンとバッファのアドレスが恒久的に記録されるため、これらを使用してバッファ・エラーの再現試験をすることができる。記録媒体に記録するバッファのアドレスは、データ・セットに対応する論理ブロック・アドレスを含んで構成してもよい。
記録動作でエラーが検出されたときは、補助記憶装置がホスト装置にエラー報告をすると、同一のユーザ・データがホスト装置から転送される。あるいは、補助記憶装置からホスト装置にデータの再送要求をだしてもよい。再送されてきたユーザ・データにエラー検査コードを付加した第2のデータ・セットを、エラーが発生したデータ・セットが記憶されていたバッファのアドレス(以後、エラー・アドレスという。)とは別のアドレスに記憶させる。
バッファの特定のアドレスにハード・エラーや頻度の高いソフト・エラーが発生している場合は、当該アドレスにさらにデータ・セットを記憶すると再度エラーが発生することになりパフォーマンスの低下につながるが、別のアドレスに記憶させることでこれを防ぐことができる。ユーザ・データ・ブロックは複数のビットで構成されており、エラー検査コードは、データ・セットの単位でエラーを検査するためデータ・セットにエラーが発生したことを検出しただけでは、エラー・ビットを特定することができない。
本発明では、再送されたユーザ・データ・ブロックの第2のデータ・セットからエラーが検出されない場合は、エラーが検出された第1のデータ・セットと再送された第2のデータ・セットをビット単位で比較し、第1のデータ・セットが記憶されていたアドレスのエラー・ビット・アドレスを特定して不揮発性の記録媒体に記録する。よって、ビット単位でバッファのエラー位置を特定したバッファのエラー解析が可能になる。
再生時に、記録媒体からホスト装置へデータを転送するときは、記録媒体から読み出した、ユーザ・データ・ブロックとエラー検査コードで構成されたデータ・セットをバッファに一時的に記憶させ、バッファからデータ・セットを読み出してからホスト装置へユーザ・データを転送する。バッファからデータ・セットを読み出す際には記録動作時と同様にエラーの検査を行い、そこでエラーが検出されたとき、当該データ・セットが記憶されていたバッファのアドレスとデータ・セットを記録媒体に記録する。エラーが検出されたときは、同一のデータ・セットを記録媒体から再度読み出し、再度読み出されたデータ・セットを、エラーの発生したバッファのアドレスとは異なるアドレスに記憶させエラーの検査を行う。
この記録媒体は、ハードディスクやCD−RW、DVD−RW、DVD−RAM、MOなどの回転円板形の読み書き可能な記録媒体であってもよいし、またフラッシュメモリなどの読み書き可能な半導体メモリであってもよい。そして、エラー検査コードは巡回冗長検査(CRC)方式やチェックサム方式などで生成されたエラー検査コードを使用することができる。さらにエラー検査コードはエラー訂正能力まで備えるものであってもよい。エラーに関するデータやアドレスの情報は、補助記憶装置が記録媒体上にあらかじめ確保してあるシステム領域上に記録されるため、ユーザ・データで上書きされて消失することはない。
本発明のもう一つの側面では、バッファの管理方法を改善してパフォーマンスの低下の防止を図った補助記憶装置を提供する。本発明にかかる補助記憶装置では、バッファから読み出されたデータ・セットにエラーが検出されると、当該バッファのアドレスを使用禁止にする。これによって、同一アドレスを使用することでエラーが再発する確率を低減することができ、ホスト装置からユーザ・データ・ブロックを再送したり、不揮発性の記録媒体から再度読み取ったりする頻度が少なくなるため補助記憶装置のパフォーマンス低下を防止することができる。
バッファのアドレスを使用禁止にする際、同一アドレスに記憶されたデータ・セットから所定の回数だけエラーが検出された場合に限って使用禁止にすることも可能である。バッファで検出されるエラーはソフト・エラーが多い。ソフト・エラーの発生頻度が少ない段階で当該アドレスを使用禁止にすると、必要以上にバッファの容量が低下するので望ましくない。同一アドレスについて所定の回数だけエラーが検出された場合には、ソフト・エラーのなかでも頻度の高いエラーであると判断して当該アドレスを使用禁止にすることができる。ホスト装置は補助記憶装置からエラーが発生したバッファのアドレスの報告を受けて、当該アドレスの使用を禁止にすることもできる。
本発明により、バッファの管理方法を改善してパフォーマンスの低下を防止した補助記憶装置を提供することができた。さらに、バッファの故障解析に有益なデータを収集することが可能な補助記憶装置を提供することができた。さらに本発明により、パフォーマンスの低下を防止する補助記憶装置の記録再生方法を提供することができた。
[装置の構成]
図1は、本発明の実施の形態に係る磁気ディスク装置10の概略を示すブロック図である。磁気ディスク装置10は、コンピュータや音楽記録再生装置などのホスト装置11に接続され、ホスト装置11から受け取ったデータを記録したり、磁気ディスク25に記録したデータをホスト装置11に送ったりする。ホスト・インターフェース回路13は、ホスト装置11と磁気ディスク装置10とのデータ通信を制御するATA規格の回路である。ホスト装置11と磁気ディスク装置10との間では、ホスト・インターフェース回路13を通じてデータ、コマンド、および制御情報などの入出力が行われる。
図1は、本発明の実施の形態に係る磁気ディスク装置10の概略を示すブロック図である。磁気ディスク装置10は、コンピュータや音楽記録再生装置などのホスト装置11に接続され、ホスト装置11から受け取ったデータを記録したり、磁気ディスク25に記録したデータをホスト装置11に送ったりする。ホスト・インターフェース回路13は、ホスト装置11と磁気ディスク装置10とのデータ通信を制御するATA規格の回路である。ホスト装置11と磁気ディスク装置10との間では、ホスト・インターフェース回路13を通じてデータ、コマンド、および制御情報などの入出力が行われる。
ホスト装置11は、磁気ディスク装置10にデータを書き込んだり、磁気ディスク装置10からデータを読み取ったりするときに、ホスト・インターフェース回路13上に割り当てられたATAレジスタのアドレスにアクセスする。ATAレジスタにはコマンド・レジスタ、ステータス・レジスタ、データ・レジスタ、シリンダ・ロー/ハイ・レジスタ、セクタ・ナンバー・レジスタ、セクタ・カウント・レジスタなどがある。
ホスト装置11は磁気ディスク装置10との間でデータ転送をするときに、コマンド・レジスタに、リード・コマンドまたはライト・コマンドを書き込み、シリンダ・ロー/ハイ・レジスタとセクタ/ナンバー・レジスタに先頭のデータ・セクタの論理ブロック・アドレス(以後、LBAという。)を書き込む。さらにセクタ・カウント・レジスタに書き込みまたは読み出しにかかるデータ・セクタの数を指定してデータの送受信を行う。磁気ディスク装置は、リード・コマンドまたはライト・コマンドの実行過程においてエラーが発生したときに、ステータス・レジスタのエラー・ビットを設定してホスト装置11に報告する。
バッファ・コントローラ15は、セクタ・バッファ31およびCRC回路27へのデータの入出力を制御する。セクタ・バッファ31はSDRAMであり、本実施形態では8Mバイトである。セクタ・バッファ31は、磁気ディスク装置10の内部における処理速度とホスト装置11に対する転送速度との差を吸収してパフォーマンスを向上させるために、リード・キャッシュやライト・キャッシュ機能を実現するために使用される。セクタ・バッファ31は、キャッシュ機能のヒット率を向上させたり、リード・キャッシュ機能とライト・キャッシュ機能を同時に実現させたりするために、均等な大きさのセグメントに分割されている。なお、セグメントは本実施形態では16個に分割されており、最大128個〜256個程度まで分割することができる。セクタ・バッファ31の容量および分割数は、任意に設定することができる。
CRC回路27は、ホスト・インターフェース回路13からバッファ・コントローラ15に送られてきたユーザ・データに対して、巡回冗長検査(CRC)方式に基づく生成多項式を使用して冗長バイトとしてのエラー検査コード(以後、CRCCという。)を計算してバッファ・コントローラ15に送る。本実施の形態においては、CRCCはデータ・セクタの単位に相当する512バイトのユーザ・データごとに計算され4バイトで構成されている。バッファ・コントローラ15は、512バイトのユーザ・データと4バイトのCRCCからなる516バイトのデータ・セットをセクタ・バッファ31の所定のアドレスに記憶するために、セクタ・バッファ31を制御する。
CRC回路27は、ホスト装置11にデータを送る前および磁気ディスク25にデータを書き込む前に、セクタ・バッファ31からバッファ・コントローラ15に読み出されたデータ・セットに対して生成多項式を使用してビット反転エラーの有無を検査する。CRC回路27は、データ・セットから検出したエラー(以後、CRCエラーという。)をMPUユニット33に通知する。なお、本実施の形態におけるCRC回路27は、エラーの検査を行うだけであるが、エラーの訂正機能を備えるようにしてもよい。
チャネル・インターフェース回路17は、バッファ・コントローラ15、リード・チャネル19、ライト・チャネル21、およびECC回路29に対するデータの入出力動作を制御する。ECC回路29は、記録動作時においてバッファ・コントローラ15からチャネル・インターフェース回路17に送られた記録にかかるデータ・セットから、リードソロモン方式でエラー訂正コード(以後、ECCという。)を算出してチャネル・インターフェース回路17に送る。ECCは、516バイトのデータ・セットごとに20バイト〜40バイト程度生成される。
ECC回路29は、再生動作においてリード・チャネル19からチャネル・インターフェース回路17に送られたデータ・セットとECCから、エラー・シンドロームを計算してデータ・セットにビット反転エラーがあるか否かを検査する。ECC回路29は、ビット反転エラーが所定の数以内であれば、データ・セットを正しい値に訂正してバッファ・コントローラ15に送る。
リード・チャネル19は、磁気ディスク25から読み出したユーザ・データを処理して、チャネル・インターフェース回路17に送る。リード・チャネル19は、磁気ディスク25から読み出したサーボ・データを処理してサーボ・コントローラ35に送る。ライト・チャネル21はチャネル・インターフェース回路17から受け取った記録にかかるデータ・セクタ情報を処理してヘッド機構23に送る。データ・セクタ情報はデータ・セットとECCに加えて、周知の方法で生成および付加されたプリアンブル、ポストアンブル、アドレス情報などを含む。
ヘッド機構23は、磁気ヘッドと磁気ヘッドを磁気ディスク23の所定の位置に位置付けるキャリッジ機構で構成される。図2に、磁気ディスク25のフォーマット構造を示す。磁気ディスク25は、データ面サーボ方式を採用する磁気ディスク装置に適用されるフォーマット構造になっている。図2(A)に示すように磁気ディスク25には、放射状に半径方向に延びた複数のサーボ・セクタ41が書き込まれている。図2(B)に示すようにサーボ・セクタ41a、41bの間にはデータ領域43が配置されて中に複数のデータ・セクタが定義されている。他のサーボ・セクタとデータ領域もほぼ同様の配置関係になっている。
磁気ディスク装置10は、ゾーン・ビット・レコーディング方式を採用しており、半径方向にゾーン44、45、46、47が定義されている。ゾーン44の最外周トラック近辺には、磁気ディスク装置10が専用に使用しユーザには開放しない記憶領域であるシステム領域48が定義されている。各データ・セクタには、磁気ディスク25のすべてのデータ・セクタに対して最外周トラック側から順番にLBAが割り当てられている。
図1に戻って、MPUユニット33は、プロセッサ、RAM、EEPROM、およびファームウエアを格納するROMなどで構成され、磁気ディスク装置10の動作全体を制御する。MPUユニット33は、ホスト装置11からホスト・インターフェース回路13のATAレジスタに書き込まれたコマンドを解釈して磁気ディスク装置10の動作を制御する。MPU33は、ホスト装置11から送られたコマンドを実行する際に、エラーが発生した場合には、ホスト・インターフェース回路13のステータス・レジスタにエラー・ビットを設定してホスト装置11に報告する。さらにMPU33は、セクタ・バッファ31のアドレスを管理したり、キャッシュ機能を実現したりする。
サーボ・コントローラ35は、リード・チャネル19から受け取ったサーボ情報を処理してMPUユニット33に磁気ヘッドの位置情報を送る。MPU33はサーボ・コントローラ35から送られた位置情報に基づいて、ヘッド機構23の制御情報を生成し、ドライバ37に送る。ドライバ37は、MPUユニット33から指示された位置にヘッド機構23を位置付けるための制御電流を生成して、ヘッド機構23に送る。磁気ディスク装置10を構成するには、これら以外にも多くの周知の要素が必要であるが、本発明には特に関係がないので説明を省略する。また、図1に示した機能ブロックは例示として示したものであり、これらのいくつかの機能を1つの半導体装置に統合したり分割したりすることは当業者が自由になし得ることである。
[データ書き込み時の処理]
図3は、ホスト装置11が磁気ディスク25にデータを記録するときの、本実施の形態にかかるセクタ・バッファの管理方法の手順を説明するフローチャートである。記録動作および再生動作におけるセクタ・バッファ31の管理手順は、MPUユニット33のファームウエアに実装されている。ブロック201では、ホスト装置11から磁気ディスク装置10に書き込みにかかるユーザ・データが転送されセクタ・バッファ31に記憶される。ホスト装置11は、ホスト・インターフェース回路13のATAレジスタに、磁気ディスクの先頭データ・セクタのLBAと書き込むデータ・セクタの数を指定してライト・コマンドとユーザ・データを送る。転送されるユーザ・データは、磁気ディスク25に記憶されるデータ・セクタの単位と同じ512バイトのデータ・ブロックの単位で構成され、1つのライト・コマンドで複数のデータ・ブロックで構成されるデータ・ブロック群が転送されてくる。
図3は、ホスト装置11が磁気ディスク25にデータを記録するときの、本実施の形態にかかるセクタ・バッファの管理方法の手順を説明するフローチャートである。記録動作および再生動作におけるセクタ・バッファ31の管理手順は、MPUユニット33のファームウエアに実装されている。ブロック201では、ホスト装置11から磁気ディスク装置10に書き込みにかかるユーザ・データが転送されセクタ・バッファ31に記憶される。ホスト装置11は、ホスト・インターフェース回路13のATAレジスタに、磁気ディスクの先頭データ・セクタのLBAと書き込むデータ・セクタの数を指定してライト・コマンドとユーザ・データを送る。転送されるユーザ・データは、磁気ディスク25に記憶されるデータ・セクタの単位と同じ512バイトのデータ・ブロックの単位で構成され、1つのライト・コマンドで複数のデータ・ブロックで構成されるデータ・ブロック群が転送されてくる。
MPUユニット33はライト・コマンドを解釈し、LRU(Least Recently Used )アルゴリズムに基づいて、データ・ブロック群を記憶するセクタ・バッファ33のセグメントを決定してバッファ・コントローラ15を制御する。バッファ・コントローラ15は、ホスト・インターフェース回路13からデータ・ブロック群を受け取る。CRC回路27は、データ・ブロック群のそれぞれのデータ・ブロックに対してCRCCを計算してバッファ・コントローラ15に送る。バッファ・コントローラ15は、ホスト・インターフェース回路13から受け取った各データ・ブロックとこれに対応するCRCCからデータ・ブロック群のすべてのデータ・ブロックに対してデータ・セットを形成して、データ・セット群をMPUユニット33から指示されたセグメントに記憶する。
図4(A)は、セクタ・バッファ31のデータ構造を示す図である。セクタ・バッファ31は16個のセグメント#1〜#16に分割されている。各セグメントは同じ構造になっており、それぞれが800個のデータ・セット100をLBAの順番に記憶することができるようになっている。本実施例では、セグメント#1にデータ・セット群を記憶する。図4(B)は、1つのデータ・セット100のデータ構造を示す図である。データ・セット100は、512バイトのユーザ・データ(データ・ブロック)と4バイトのCRCCで構成された516バイトの固定ブロック長として構成される。MPUユニット33は、セグメントの番号#1と先頭データ・セットに対応するLBAをEEPROMに記憶しておく。MPUユニット33は、各セグメントに記憶された先頭のデータ・セットに対応するLBAとCRCエラーが検出されたデータ・セットの先頭データ・セットからの順番に基づいて、CRCエラーが検出されたデータ・セットのLBAと当該データ・セットが記憶されていたバッファのアドレスを計算することができる。
つぎにブロック203でバッファ・コントローラ15は、チャネル・インターフェース回路17にデータを送ることができるタイミングでセクタ・バッファ31のセグメント#1からデータ・セット群を順番に読み出す。このときCRC回路27は、各データ・セットについてCRCエラーの有無を検査する。1つのデータ・セグメントに記憶されたデータ・セット群のいずれのデータ・セットからもCRCエラーが検出されないときは、ブロック205に移行する。ブロック205では、図4(C)に示すように各データ・セットにECC回路29で生成されたECCが付加され、さらにプリアンブル107、アドレス・マーク、ヘッド番号、およびシリンダ番号からなるアドレス情報109、ポストアンブル111などの付加データが追加されて完成したデータ・セクタ情報113が、ライト・チャネル21に送られる。ブロック207ではホスト装置11から送られたデータ・ブロック群に対応する複数のデータ・セクタ情報113が、それぞれホスト装置11から指定されたLBAのデータ・セクタに記録される。
ブロック203でCRCエラーが検出されたときは、CRC回路27はMPUユニット33にエラー発生の通知をする。CRC回路27は、セグメントに記憶されたデータ・セットの単位でCRCエラーを検出して、各セグメントの何番目のデータ・セットにCRCエラーを検出したかをMPUユニット33に通知する。MPUユニット33は、ホスト装置11からセグメントの先頭のデータ・セットのLBAを受け取っているので、CRCエラーが発生したデータ・セクタのLBAおよび当該データ・セットが記憶されていたセクタ・バッファ31のアドレスを認識することができる。
ブロック209では、バッファ・コントローラがCRCエラーが検出されたデータ・セットをセグメント#1からバッファ・コントローラ15を経由して読み出す。さらにMPUユニット33は、エラーが検出されたデータ・セットの内容とLBA、セグメントの先頭LBA、およびデータ・セットの内容を一旦RAMに記憶したのちに、磁気ディスク25のシステム領域48に記録する。MPUユニット33は、エラーが検出されたデータ・セットのLBAとセグメントの先頭データ・セットのLBAに代えてCRCエラーが発生したデータ・セットが記憶されていたセクタ・バッファ31のアドレスを直接システム領域48に記録してもよい。
この結果、CRCエラーが発生したデータ・セットが記憶されていたセクタ・バッファ31のアドレス情報とデータ・セットがシステム領域48に記録されて、のちにソフト・エラーの原因を解析するための情報を蓄積することができるようになる。ブロック211では、MPUユニット33が、ホスト・インターフェース回路13のステータス・レジスタにエラー・ビットを設定してホスト装置11にエラー報告をする。ステータス・レジスタのエラー・ビットを参照したホスト装置11は、先に送ったデータ・ブロック群の書き込み処理中にエラーが発生したことを認識して再度同一のデータ・ブロック群を磁気ディスク装置10に転送する。
ブロック213で磁気ディスク装置10は再送されたデータ・ブロック群を先のデータ・ブロック群と同様に処理するが、MPU33はセクタ・バッファ31のセグメントとして最初のセグメント#1とは異なるセグメント#2を使用する。セグメント#1にハード・エラーが発生していたり、高頻度のソフト・エラーが発生していたりするような場合は、再送されたデータ・ブロック群に対応するデータ・セット群からさらにCRCエラーが検出されることになり、磁気ディスク装置10のパフォーマンスが低下するが、異なるセグメントを使用することでその可能性は低くすることができる。
ホスト装置11は、記録時または再生時に磁気ディスク装置10から所定の回数エラー報告がされると当該磁気ディスク装置を故障したものとして扱うことが一般的である。しかし、1つのセグメントに発生するエラーで磁気ディスク装置を故障として扱うことは経済面で適切ではないので、異なるセグメントに記憶することでそのような事態を防ぐことができる。ブロック215ではブロック203と同様にセクタ・バッファのセグメント#2に記憶されたデータ・セット群をバッファ・コントローラ15が順番に読み出して、CRC回路27が各データ・セットについてCRCエラーの有無を検査する。
セグメント#2に記憶されたデータ・セット群のいずれかのデータ・セットからCRCエラーが検出された場合は、ブロック211に戻って同様の手順を繰り返す。ブロック215でセグメント#2に記憶されたデータ・セット群のいずれのデータ・セットからもCRCエラーが検出されないときは、ブロック217に移行してセグメント#1とセグメント#2のデータ・セット群をビット単位で比較する。この様子を図5を参照して説明する。図5(A)において、セグメント#1およびセグメント#2には、LBA100からLBA899までの800個のデータ・セット群が記憶されている。各データ・セット群を構成するユーザ・データ(データ・ブロック)は同一内容でホスト装置11から送られている。
いま、セグメント#1のLBA151に対応するデータ・セット121にCRCエラーが発生したものとする。CRC回路27は反転ビットの位置まで特定することができないので、MPUユニット33は、データ・セット121が記憶されていたセクタ・バッファ上のアドレスは認識しているが、セクタ・バッファ31のエラー・ビット・アドレスまでは認識することができない。本実施の形態では、セグメント#1のデータ・セット群とセグメント#2のデータ・セット群に対して、それぞれのユーザ・データ101とCRCC103について排他的論理和回路を用いてビットごとに比較する。
そして図5(B)に示すようにデータ・セット121のビット125とデータ・セット123のビット127が相違していることを検出する。ブロック215でデータ・セット123にはCRCエラーが発生していないことが確認されているので、ビット127ではなくビット125が反転したことがわかる。MPUユニット33は、ビット125のセクタ・バッファ上のアドレスを計算して、ブロック219でエラー・ビット・アドレスと当該エラー・ビットを含むデータ・セットに対応するLBAをシステム領域48に記録する。エラー・ビット・アドレスをシステム領域48に記録することで、のちにセクタ・バッファ31のソフト・エラーの原因を解析するのに必要なより有益な情報を得ることができるようになる。ここでは、セグメント単位でデータ・セット群同士を比較したが、MPUユニット33は、CRCエラーが発生したデータ・セットに対応するLBAがわかっているので、当該LBAのデータ・セットだけ比較するようにしてもよい。
ブロック221では、CRCエラーが発生したセグメント#1を使用禁止にする。エラー・セグメントは、使用し続けるとCRCエラーが再発する可能性がありその度に磁気ディスク装置10のパフォーマンスが低下するため、パフォーマンスを重視する観点からは使用禁止にすることが望ましい。セグメント単位で使用禁止にするのは、セクタ・バッファの制御が容易なためであるが、セクタ・バッファの容量を重視する場合には、516バイトからなるデータ・セットの記憶領域の単位で使用禁止にしてもよい。セグメント単位で使用禁止にする場合は、セグメントの単位をさらに細分化して、良好な記憶領域が使用禁止になる割合をできるだけ小さくすることが望ましい。
ソフト・エラーは完璧に防ぐことができないという考えがある。このときはエラー・セグメントを使用禁止にするために、同一セグメントに所定の回数CRCエラーが発生した場合、同一セグメントの同一データ・セットのアドレスに所定の回数CRCエラーが発生した場合、あるいは、同一ビット・アドレスに所定の回数CRCエラーが発生した場合などの条件を設定して、特定のアドレスにソフト・エラーが複数回発生した場合に限って当該アドレスを使用禁止にすることもできる。
さらに、セグメント#2のデータ・セット群をセグメント#1に再度記憶し、セグメント#1に再度記憶されたデータ・セット群からCRCエラーが再度検出された場合に限ってセグメント#1を使用禁止にするようにしてもよい。このときセグメント#1でCRCエラーが再発する場合は、ハード・エラーが生じている可能性が高いので、即時に使用禁止にしてそれ以降のパフォーマンスの低下を防ぐことが望ましい。
セグメント#2のデータ・セット群をセグメント#1に記憶し、セグメント#1から読み出したデータ・セット群に対してCRCエラーの検査をした結果は、CRCエラーの発生の有無にかかわらずシステム領域48に記録しておくと、同一のデータ・パターンによる再現テストをしていることになるため、パターン依存性のあるソフト・エラーの原因解析に有益な情報を得ることができる。
[データ読み出し時の処理]
図6は、ホスト装置11が磁気ディスク25からデータを読み取るときの、本実施の形態にかかるセクタ・バッファの管理方法の手順を説明するフローチャートである。磁気ディスク25には、図2(B)に示した各データ・セクタに図4(C)に示したデータ構造のデータ・セクタ情報113が記録されており、ホスト装置11は、ファイルごとにデータ・セクタの先頭LBAとデータ・セクタ数の情報を保持している。
図6は、ホスト装置11が磁気ディスク25からデータを読み取るときの、本実施の形態にかかるセクタ・バッファの管理方法の手順を説明するフローチャートである。磁気ディスク25には、図2(B)に示した各データ・セクタに図4(C)に示したデータ構造のデータ・セクタ情報113が記録されており、ホスト装置11は、ファイルごとにデータ・セクタの先頭LBAとデータ・セクタ数の情報を保持している。
ブロック301では、ホスト装置11が磁気ディスク25から読み取りを行うファイルの先頭データ・セクタのLBAと読み取るデータ・セクタの数を指定して磁気ディスク装置10にリード・コマンドを送ると、磁気ディスク装置10は読み取りの処理を開始する。リード・チャネル19で処理され、それぞれがユーザ・データとCRCCとECCで構成される再生データ・セット115がチャネル・インターフェース回路17に送られる。ECC回路29は、ECC105を使用して各再生データ・セット115についてユーザ・データ101とCRCC103からなるデータ・セット100にECCエラーが発生したか否かを検査し、エラー・ビットの数が訂正能力以内であれば正しいデータ・セット100に訂正する。訂正されたデータ・セット群はチャネル・インターフェース回路17からバッファ・コントローラ15に送られる。
再生データ・セット115においてECCエラーが生じたビット数が、ECC回路29の訂正能力を超えた場合は、エラー回復プロシジャ(ERP)のステップを順番に実行してエラーの回復を試みる。最終的に回復できないと判断したときは、ホスト装置11に報告する。したがって、バッファ・コントローラ15に送られたユーザ・データ101とCRCC103からなるデータ・セット100はエラーが訂正されているので、記録時にセクタ・バッファ31から読み取られたデータ・セットと同一の値になっている。ただし、非常に小さい確率でECC回路2が誤って訂正する可能性は残っている。
ブロック303では、バッファ・コントローラ15がMPUユニット33から指定されたセクタ・バッファ31のセグメント#1に読み取ったデータ・セット群を記憶する。ブロック305では、バッファ・コントローラ15はホスト装置11にデータ転送するタイミングでセグメント#1からデータ・セット群を読み出し、CRC回路27は各データ・セットにCRCエラーが発生しているか否かを検査する。セグメント#1のデータ・セット群のいずれのデータ・セットにもCRCエラーが発生していないと判断したときは、ブロック307で各データ・セットからCRCを取り除いて512バイトのユーザ・データからなるデータ・ブロックをホスト装置11に送る。
ブロック305でいずれかのデータ・セットからCRCエラーが検出されたときは、ブロック309に移行し、図3のブロック209と同様の手順と理由でCRCエラーに関するデータ情報とアドレス情報をシステム領域48に記録する。つづいて、ブロック311では、MPUユニット311が再度データ・セグメント#1に記憶したデータ・セット群が記録されていた磁気ディスク25のLBAから、ユーザ・データとCRCCとECCで構成された再生データ・セット115を読み取る。そして、バッファ・コントローラ15は、再度読み取ったデータ・セット群を最初に記憶したセグメント#1とは異なるセグメント#2に記憶する。
セクタ・バッファ31の別セグメントを利用することで、セグメント#1にハード・エラーや高頻度のソフト・エラーが発生しているような場合に、CRCエラーが再発して読み取り処理のパフォーマンスが低下することを防止できる。ブロック315では、図3のブロック217と同様にセグメント#1とセグメント#2のデータ・セット群をビット単位で比較する。MPUユニット33は、セグメント#1のビット反転エラーが発生したセクタ・バッファ上のアドレスを計算して、ブロック317でエラー・ビット・アドレスと当該エラー・ビットを含むデータ・セットに対応するLBAをシステム領域48に記録する。
ブロック319では、図3のブロック221と同様にCRCエラーが発生したセグメント#1を使用禁止にする。使用禁止にする条件はブロック221と同様に設定することもできる。ブロック321では、MPUユニット33はステータス・レジスタにエラー・ビットを設定してリード・コマンドの処理過程でエラーが発生したことをホスト装置11に報告する。
[エラー情報の利用]
磁気ディスク装置10に使用されるセクタ・バッファの故障を解析して信頼性を向上させるためには、CRCエラーを再現することが重要である。本実施の形態では、記録動作のときも再生動作のときもセクタ・バッファに記憶されたデータ・セットにCRCエラーが発生したときには、発生時刻、データ・セットの内容、エラー・ビットのバッファ・アドレス、あるいはエラー・ビットを含むデータ・セットに対応するLBAなどが磁気ディスク25のシステム領域48に記憶される。CRCエラーが頻発してホスト装置11が故障と判断した磁気ディスク装置10は、回収されたのちに解析技術者によってシステム領域48のエラー情報が読み取られて再現試験に利用される。
磁気ディスク装置10に使用されるセクタ・バッファの故障を解析して信頼性を向上させるためには、CRCエラーを再現することが重要である。本実施の形態では、記録動作のときも再生動作のときもセクタ・バッファに記憶されたデータ・セットにCRCエラーが発生したときには、発生時刻、データ・セットの内容、エラー・ビットのバッファ・アドレス、あるいはエラー・ビットを含むデータ・セットに対応するLBAなどが磁気ディスク25のシステム領域48に記憶される。CRCエラーが頻発してホスト装置11が故障と判断した磁気ディスク装置10は、回収されたのちに解析技術者によってシステム領域48のエラー情報が読み取られて再現試験に利用される。
特に、ソフト・エラーがビット・パターンに依存するか否かを解析する場合には、CRCエラーを再現するにはセクタ・バッファのアドレスとともにデータ・セットの内容まで知る必要があるが、本実施の形態によればそれらの情報はシステム領域48に記録される。また、これまでは、セクタ・バッファ31にCRCエラーが発生してもホスト装置11が磁気ディスク装置10を故障であると判断するまでは、記録時はホスト装置からのデータの再転送が繰り返され、再生時は磁気ディスク25からの再読み取りが繰り返されていたが、本実施の形態によればこのようなパフォーマンスの低下した状態で磁気ディスク装置10が使用し続けられる状態を防ぐことができる。
これまで本発明について図面に示した特定の実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができることはいうまでもないことである。
48…システム領域
100…データ・セット
101…ユーザ・データ(データ・ブロック)
103…エラー検査コード(CRCC)
113…データ・セクタ情報
115…再生データ・セット
100…データ・セット
101…ユーザ・データ(データ・ブロック)
103…エラー検査コード(CRCC)
113…データ・セクタ情報
115…再生データ・セット
Claims (20)
- ホスト装置に接続可能な補助記憶装置であって、
前記ホスト装置から転送されたユーザ・データ・ブロックに対応するエラー検査コードを生成するエラー・コード生成部と、
前記ユーザ・データ・ブロックと前記エラー検査コードを含んで構成されるデータ・セットを記録する不揮発性の記録媒体と、
前記記録媒体と前記ホスト装置との間でデータ転送をする際に前記データ・セットを記憶するバッファと、
前記エラー検査コードを使用して前記バッファに記憶された前記データ・セットに対してエラーの検査をするエラー検出部と、
前記エラー検出部が前記バッファに記憶された第1のデータ・セットからエラーを検出したとき、前記第1のデータ・セットと前記第1のデータ・セットが記憶されていた前記バッファのアドレスを前記記録媒体に記録するプロセッサと
を有する補助記憶装置。 - 前記バッファのアドレスが、前記第1のデータ・セットに対応する論理ブロック・アドレス(LBA)を含んで構成されている請求項1記載の補助記憶装置。
- 前記エラー検出部が記録動作において前記第1のデータ・セットからエラーを検出したとき、前記第1のデータ・セットを構成するユーザ・データ・ブロックと同一のユーザ・データ・ブロックが再度前記ホスト装置から転送されて前記第1のデータ・セットが記憶されていたアドレスとは異なる前記バッファのアドレスに再度転送された前記ユーザ・データ・ブロックとこれに対応するエラー検査コードを含んで構成される第2のデータ・セットが記憶される請求項1記載の補助記憶装置。
- 前記エラー検出部が前記バッファに記憶された前記第2のデータ・セットからエラーを検出しないとき、前記プロセッサは前記第1のデータ・セットと前記第2のデータ・セットをビットごとに比較して前記第1のデータ・セットに関するエラー・ビット・アドレスを特定し、前記エラー・ビット・アドレスを前記記録媒体に記録する請求項3記載の補助記憶装置。
- 前記エラー検出部が再生動作において前記第1のデータ・セットからエラーを検出したとき、前記第1のデータ・セットが記録されていた前記記録媒体のアドレスからデータ・セットが読み出されて前記第1のデータ・セットが記憶されていたアドレスとは異なる前記バッファのアドレスに第2のデータ・セットとして記憶される請求項1記載の補助記憶装置。
- 前記エラー検出部が前記バッファに記憶された前記第2のデータ・セットからエラーを検出しないとき、前記プロセッサは前記第1のデータ・セットと前記第2のデータ・セットをビットごとに比較して前記第1のデータ・セットに関するエラー・ビット・アドレスを特定し、前記エラー・ビット・アドレスを前記記録媒体に記録する請求項5記載の補助記憶装置。
- 前記補助記憶装置は、前記第1のデータ・セットからエラーを検出したとき前記ホスト装置に報告する請求項1記載の補助記憶装置。
- 前記プロセッサは、前記エラーが検出されたデータ・セットと前記エラーが検出されたデータ・セットが記憶されていた前記バッファのアドレスを前記記録媒体のシステム領域に記録する請求項1記載の補助記憶装置。
- 前記エラー・コード生成部は、巡回冗長検査(CRC)方式で前記エラー検査コードを生成する請求項1記載の補助記憶装置。
- ホスト装置に接続可能な補助記憶装置であって、
前記ホスト装置から転送されたユーザ・データ・ブロックに対応するエラー検査コードを生成するエラー・コード生成部と、
前記ユーザ・データ・ブロックと前記エラー検査コードを含んで構成されるデータ・セットを記録する不揮発性の記録媒体と、
前記記録媒体と前記ホスト装置との間でデータ転送をする際に前記データ・セットを記憶するバッファと、
前記エラー検査コードを使用して前記バッファに記憶された前記データ・セットに対してエラーの検査をするエラー検出部と、
前記エラー検出部が前記バッファに記憶された第1のデータ・セットからエラーを検出したとき、前記第1のデータ・セットが記憶されていた前記バッファのアドレスを使用禁止にするプロセッサと
を有する補助記憶装置。 - 前記記録媒体が磁気ディスクであり、前記エラー検査コードが巡回冗長検査(CRC)方式で生成されている請求項10記載の補助記憶装置。
- 前記プロセッサは、前記バッファに記憶された前記第1のデータ・セットから所定の回数だけエラーが検出されたとき前記第1のデータ・セットが記憶されていた前記バッファのアドレスを使用禁止にする請求項10記載の補助記憶装置。
- 前記記録媒体から読み出したデータ・セットのエラーを訂正するエラー訂正コード生成部を有する請求項10記載の補助記憶装置。
- 前記エラー検出部が記録動作において前記第1のデータ・セットからエラーを検出したとき、前記第1のデータ・セットが記憶されていた前記バッファのアドレスに前記ホスト装置から再度転送された前記第1のデータ・セットを構成するユーザ・データ・ブロックとこれに対応するエラー検査コードを含んで構成される第2のデータ・セットが記憶され、前記エラー検出部が前記バッファに記憶された前記第2のデータ・セットからエラーを検出したとき前記プロセッサは前記第1のデータ・セットが記憶されていた前記バッファのアドレスを使用禁止にする請求項10記載の補助記憶装置。
- 前記エラー検出部が再生動作において前記第1のデータ・セットからエラーを検出したとき、前記第1のデータ・セットが記憶されていた前記バッファのアドレスに前記磁気ディスクの前記第1のデータ・セットと同一のアドレスから再度読み取られたデータ・セットが第2のデータ・セットとして記憶され、前記エラー検出部が前記バッファに記憶された前記第2のデータ・セットからエラーを検出したとき前記プロセッサは前記第1のデータ・セットが記憶されていた前記バッファのアドレスを使用禁止にする請求項10記載の補助記憶装置。
- 磁気ディスクとホスト装置との間で転送されるデータを記憶するバッファを備える磁気ディスク装置において、データを記録再生する方法であって、
前記ホスト装置から転送されたユーザ・データ・ブロックに対応する冗長バイトを巡回冗長検査(CRC)方式で計算しユーザ・データ・ブロックと冗長バイトを含んで構成されるデータ・セットを生成するステップと、
前記データ・セットを前記バッファに記憶するステップと、
前記バッファに記憶された前記データ・セットに対して前記冗長バイトを使用してCRCエラーを検査するステップと、
CRCエラーが検出されたデータ・セットが記憶されていた前記バッファのアドレスを使用禁止にするステップと
を有する
記録再生方法。 - 前記CRCエラーが検出された前記バッファのアドレスを前記ホスト装置に報告するステップと、前記ホスト装置が前記CRCエラーが報告された前記バッファのアドレスを使用禁止にするステップとを有する請求項16記載の記録再生方法。
- 前記CRCエラーが検出されたデータ・セットと前記CRCエラーが検出されたデータ・セットが記憶されていた前記バッファのアドレスを前記磁気ディスクのシステム領域に記憶するステップを有する請求項16記載の記録再生方法。
- 前記CRCエラーが検出されたデータ・セットと前記CRCエラーが検出されたデータ・セットが記憶されていた前記バッファのエラー・ビット・アドレスを前記磁気ディスクのシステム領域に記憶するステップを有する請求項16記載の記録再生方法。
- 前記バッファが複数のセグメントに分割されており、前記バッファのアドレスを使用禁止にするステップがセグメント単位で前記バッファのアドレスを使用禁止にするステップを含む請求項16記載の記録再生方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006002013A JP2007183844A (ja) | 2006-01-10 | 2006-01-10 | 補助記憶装置および記録再生方法 |
US11/652,388 US20070220402A1 (en) | 2006-01-10 | 2007-01-10 | Auxiliary storage device and read/write method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006002013A JP2007183844A (ja) | 2006-01-10 | 2006-01-10 | 補助記憶装置および記録再生方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007183844A true JP2007183844A (ja) | 2007-07-19 |
Family
ID=38339872
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006002013A Pending JP2007183844A (ja) | 2006-01-10 | 2006-01-10 | 補助記憶装置および記録再生方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20070220402A1 (ja) |
JP (1) | JP2007183844A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012146167A (ja) * | 2011-01-13 | 2012-08-02 | Nec Corp | メモリエラーパターン記録システム、メモリモジュール、及びメモリエラーパターン記録方法 |
US20210281423A1 (en) * | 2020-03-09 | 2021-09-09 | Kabushiki Kaisha Toshiba | Information processing device |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8291295B2 (en) | 2005-09-26 | 2012-10-16 | Sandisk Il Ltd. | NAND flash memory controller exporting a NAND interface |
JP5186112B2 (ja) | 2007-02-01 | 2013-04-17 | マーベル ワールド トレード リミテッド | 磁気ディスクコントローラおよび方法 |
JP5221044B2 (ja) * | 2007-02-01 | 2013-06-26 | マーベル ワールド トレード リミテッド | 磁気ディスクコントローラおよび方法 |
JP5064820B2 (ja) * | 2007-02-01 | 2012-10-31 | マーベル ワールド トレード リミテッド | 磁気ディスクコントローラおよび方法 |
JP5064821B2 (ja) * | 2007-02-01 | 2012-10-31 | マーベル ワールド トレード リミテッド | 磁気ディスクコントローラおよび方法 |
US8032699B2 (en) * | 2007-06-15 | 2011-10-04 | Seagate Technology Llc | System and method of monitoring data storage activity |
CN102203875B (zh) * | 2008-09-30 | 2016-08-03 | Lsi公司 | 使用参考单元的用于存储器器件的软数据生成的方法和装置 |
KR20100041313A (ko) * | 2008-10-14 | 2010-04-22 | 삼성전자주식회사 | 데이터 저장 방법, 데이터 저장 장치 및 그 시스템 |
US8413010B1 (en) * | 2009-03-12 | 2013-04-02 | Western Digital Technologies, Inc. | Data storage device employing high quality metrics when decoding logical block address appended to a data sector |
US8352835B2 (en) * | 2009-06-10 | 2013-01-08 | International Business Machines Corporation | Data verification using checksum sidefile |
US20110040924A1 (en) * | 2009-08-11 | 2011-02-17 | Selinger Robert D | Controller and Method for Detecting a Transmission Error Over a NAND Interface Using Error Detection Code |
US20110041005A1 (en) * | 2009-08-11 | 2011-02-17 | Selinger Robert D | Controller and Method for Providing Read Status and Spare Block Management Information in a Flash Memory System |
US8468423B2 (en) * | 2011-09-01 | 2013-06-18 | International Business Machines Corporation | Data verification using checksum sidefile |
US9443550B2 (en) * | 2015-01-30 | 2016-09-13 | Oracle International Corporation | Data storage system providing efficient and secure data migration with tape drive technology |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6446860A (en) * | 1987-08-17 | 1989-02-21 | Nec Corp | Disk cache device |
JPH04102273A (ja) * | 1990-08-20 | 1992-04-03 | Tokico Ltd | 磁気ディスク装置 |
JPH04120644A (ja) * | 1990-09-11 | 1992-04-21 | Nec Ibaraki Ltd | 記憶装置 |
JPH04205133A (ja) * | 1990-11-30 | 1992-07-27 | Hitachi Ltd | ディスク制御装置 |
JP2002023966A (ja) * | 2000-06-30 | 2002-01-25 | Toshiba Corp | 転送データを冗長化したディスクシステム |
JP2002278848A (ja) * | 2001-02-08 | 2002-09-27 | Internatl Business Mach Corp <Ibm> | アレイ・ビット線またはドライバの故障を予測報告するための、キャッシュしきい値処理の方法、装置、およびプログラム |
JP2003044366A (ja) * | 2001-07-27 | 2003-02-14 | Nec Corp | メモリ制御回路及びメモリ制御方法 |
JP2003316527A (ja) * | 2002-04-25 | 2003-11-07 | Hitachi Ltd | 外部記憶装置におけるデータの整合性保証チェック方式 |
JP2004280307A (ja) * | 2003-03-13 | 2004-10-07 | Omron Corp | 情報読み取り装置 |
JP2005182749A (ja) * | 2003-12-18 | 2005-07-07 | Arm Ltd | キャッシュ・メモリおよびそのエラー訂正方法 |
JP2005190003A (ja) * | 2003-12-24 | 2005-07-14 | Hitachi Ltd | ハードディスクドライブ、情報処理装置、ディスク制御装置、及びハードディスクドライブの診断方法 |
JP2005196422A (ja) * | 2004-01-06 | 2005-07-21 | Hitachi Ltd | ストレージ制御装置 |
JP2005196680A (ja) * | 2004-01-09 | 2005-07-21 | Ricoh Co Ltd | コンピュータシステム |
-
2006
- 2006-01-10 JP JP2006002013A patent/JP2007183844A/ja active Pending
-
2007
- 2007-01-10 US US11/652,388 patent/US20070220402A1/en not_active Abandoned
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6446860A (en) * | 1987-08-17 | 1989-02-21 | Nec Corp | Disk cache device |
JPH04102273A (ja) * | 1990-08-20 | 1992-04-03 | Tokico Ltd | 磁気ディスク装置 |
JPH04120644A (ja) * | 1990-09-11 | 1992-04-21 | Nec Ibaraki Ltd | 記憶装置 |
JPH04205133A (ja) * | 1990-11-30 | 1992-07-27 | Hitachi Ltd | ディスク制御装置 |
JP2002023966A (ja) * | 2000-06-30 | 2002-01-25 | Toshiba Corp | 転送データを冗長化したディスクシステム |
JP2002278848A (ja) * | 2001-02-08 | 2002-09-27 | Internatl Business Mach Corp <Ibm> | アレイ・ビット線またはドライバの故障を予測報告するための、キャッシュしきい値処理の方法、装置、およびプログラム |
JP2003044366A (ja) * | 2001-07-27 | 2003-02-14 | Nec Corp | メモリ制御回路及びメモリ制御方法 |
JP2003316527A (ja) * | 2002-04-25 | 2003-11-07 | Hitachi Ltd | 外部記憶装置におけるデータの整合性保証チェック方式 |
JP2004280307A (ja) * | 2003-03-13 | 2004-10-07 | Omron Corp | 情報読み取り装置 |
JP2005182749A (ja) * | 2003-12-18 | 2005-07-07 | Arm Ltd | キャッシュ・メモリおよびそのエラー訂正方法 |
JP2005190003A (ja) * | 2003-12-24 | 2005-07-14 | Hitachi Ltd | ハードディスクドライブ、情報処理装置、ディスク制御装置、及びハードディスクドライブの診断方法 |
JP2005196422A (ja) * | 2004-01-06 | 2005-07-21 | Hitachi Ltd | ストレージ制御装置 |
JP2005196680A (ja) * | 2004-01-09 | 2005-07-21 | Ricoh Co Ltd | コンピュータシステム |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012146167A (ja) * | 2011-01-13 | 2012-08-02 | Nec Corp | メモリエラーパターン記録システム、メモリモジュール、及びメモリエラーパターン記録方法 |
US20210281423A1 (en) * | 2020-03-09 | 2021-09-09 | Kabushiki Kaisha Toshiba | Information processing device |
US11888990B2 (en) * | 2020-03-09 | 2024-01-30 | Kabushiki Kaisha Toshiba | Information processing device controlling analysis of a program being executed based on a result of verification of an analysis program |
Also Published As
Publication number | Publication date |
---|---|
US20070220402A1 (en) | 2007-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007183844A (ja) | 補助記憶装置および記録再生方法 | |
US9424141B2 (en) | Hard disk data recovery method, apparatus, and system | |
US6687850B1 (en) | Disk drive for storing sector-reconstruction sectors and for storing a sector-reconstruction status in sectors distributed around a disk | |
US6854022B1 (en) | Disk drive using rotational position optimization algorithm to facilitate write verify operations | |
US7050252B1 (en) | Disk drive employing off-line sector verification and relocation of marginal sectors discovered during read error recovery procedure | |
US8683295B1 (en) | Hybrid drive writing extended error correction code symbols to disk for data sectors stored in non-volatile semiconductor memory | |
US6661591B1 (en) | Disk drive employing sector-reconstruction-interleave sectors each storing redundancy data generated in response to an interleave of data sectors | |
US8599510B1 (en) | Disk drive adjusting data track density based on write condition when writing to contiguous data tracks | |
JP4988214B2 (ja) | 記憶装置における喪失した書き込みの検出および回復 | |
US11593190B1 (en) | Detecting shingled overwrite errors | |
US10140180B1 (en) | Segment-based outer code recovery | |
US10437674B1 (en) | Variable parity sectors | |
JP4322870B2 (ja) | Raid装置、raid制御方法、及びraid制御プログラム | |
JP4922433B2 (ja) | 磁気ディスク装置及びデータブロックの書き換え方法 | |
JP3776884B2 (ja) | イレージャ訂正機能の検証に適した記録再生制御装置、同制御装置を備えた記録再生装置、及びイレージャ訂正機能を検証する方法 | |
JP4701210B2 (ja) | 記録媒体の欠陥を検出する記憶装置、欠陥検出方法、及びプログラム | |
JP4454204B2 (ja) | ディスクアレイ制御装置及び方法並びにディスクアレイ制御プログラム | |
US20100058145A1 (en) | Storage device and method of controlling storage device | |
US20070189137A1 (en) | Rotating disk storage device and recording method | |
JP4476021B2 (ja) | ディスクアレイシステム | |
US20070174739A1 (en) | Disk device, method of writing data in disk device, and computer product | |
JP2004185477A (ja) | 光記憶媒体アレイ装置およびデータ転送方法 | |
JPH09305497A (ja) | 記録再生装置およびそのコントローラ、データ保護方法 | |
US10379972B1 (en) | Minimizing reads for reallocated sectors | |
CN112885381A (zh) | 电子通信装置、磁盘装置以及串行通信方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20081215 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110411 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110419 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20111011 |