JP2007287208A - データ記憶装置及びそのエラー訂正方法 - Google Patents

データ記憶装置及びそのエラー訂正方法 Download PDF

Info

Publication number
JP2007287208A
JP2007287208A JP2006111185A JP2006111185A JP2007287208A JP 2007287208 A JP2007287208 A JP 2007287208A JP 2006111185 A JP2006111185 A JP 2006111185A JP 2006111185 A JP2006111185 A JP 2006111185A JP 2007287208 A JP2007287208 A JP 2007287208A
Authority
JP
Japan
Prior art keywords
data
error
error correction
memory
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.)
Pending
Application number
JP2006111185A
Other languages
English (en)
Inventor
Kenichi Saneshige
研一 實重
Yasuhiro Takase
康弘 高瀬
Haruo Ando
治男 安東
Tomoharu Maeno
智春 前野
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.)
HGST Netherlands BV
Original Assignee
Hitachi Global Storage Technologies Netherlands BV
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 Hitachi Global Storage Technologies Netherlands BV filed Critical Hitachi Global Storage Technologies Netherlands BV
Priority to JP2006111185A priority Critical patent/JP2007287208A/ja
Priority to US11/787,109 priority patent/US20080016429A1/en
Publication of JP2007287208A publication Critical patent/JP2007287208A/ja
Pending 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/108Parity data distribution in semiconductor storages, e.g. in SSD
    • 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)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

【課題】データ記憶装置の信頼性を向上し、回路規模の低減を図る。
【解決手段】本発明の一形態において、HDD1は、磁気ディスク11へ記録されるデータのエラー訂正処理に加えて、DRAM24に格納されるデータについてもエラー訂正処理を実行する。本形態のHDD1は、この二つのエラー訂正において一つのSRAM318を共有して使用する。DRAM24に格納されるデータについてエラー訂正処理を実行することでHDD1の信頼性を向上するとおもに、異なるエラー訂正処理において同一のSRAM318を使用することで、回路規模の増大を抑えることができる。
【選択図】図2

Description

本発明はデータ記憶装置及びそのエラー訂正方法に関し、特に、バッファ・メモリからメディアへ転送されるデータのエラー訂正に関する。
データ記憶装置として、光ディスク、光磁気ディスク、あるいはフレキシブル磁気ディスクなどの様々な態様のメディアを使用する装置が知られているが、その中で、ハードディスク・ドライブ(HDD)は、コンピュータの記憶装置として広く普及し、現在のコンピュータ・システムにおいて欠かすことができない記憶装置の一つとなっている。さらに、コンピュータにとどまらず、動画像記録再生装置、カーナビゲーション・システム、携帯電話、あるいはデジタル・カメラなどで使用されるリムーバブルメモリなど、HDDの用途は、その優れた特性により益々拡大している。
HDDは、データを記憶する不揮発性のメディアとしての磁気ディスクの他、ユーザ・データを一時的に保持するバッファ・メモリを有している。HDDは、バッファ・メモリを使用したキャッシュ機能を備える。典型的には、HDDは、リード・キャッシュとライト・キャッシュの双方の機能を備える。キャッシュ機能は、ホストとHDDとの間のデータ転送速度とHDD内におけるメディア・アクセスの速度との間の差異を吸収し、ホストとの間におけるデータ転送遅延を抑制する。
バッファ・メモリは、キャッシュ能力を上げるためより多くの容量が要求され、典型的にはDRAMが使用される。近時、HDDのパフォーマンスの向上に伴い、バッファ・メモリの容量が増加し、また、そのアクセス・スピードが上がっている。これに伴い、DRAMに欠陥が生じる確率も高くなってきている。
そこで、HDDとしての信頼性を向上するため、磁気ディスクに記録されたデータについてエラー訂正処理を行うことに加えて、HDDはバッファ・メモリに格納されるデータについてもエラー訂正処理を実行する。具体的には、HDDはホストから転送されたユーザ・データにECC(Error Correcting Code)を付加し、バッファ・メモリに格納する。HDDは、バッファ・メモリからデータを読み出して磁気ディスクに転送する際に、ECCを使用したエラー訂正処理を実行する。また、HDDは、バッファ・メモリからホストに対してデータを転送する際にも、ECCを使用したエラー訂正処理を実行する。
なお、本発明とはその目的及び構成が異なるが、ホスト及び複数のHDDを含むディスク・システムにおいて、同一のECCによってシステム全体として一貫したエラー訂正を行うことを、特許文献1が開示している。
特開2002−023966号公報
バッファ・メモリに格納するデータについてエラー訂正処理を行うため、磁気ディスクのデータをエラー訂正するための構成に加えて、バッファ・メモリに格納されるデータのエラー訂正を行う構成が必要である。しかし、このエラー訂正処理を、その専用のハードウェア回路のみで行うことは回路規模の増大を招き、コストの増加につながる。
ここで、バッファ・メモリに格納するデータのエラー訂正処理の一部を、ソフトウェアによって実行することが考えられる。MPUがコードに従ってエラー訂正処理の一部を実行することで、エラー訂正機能を容易にHDDに実装することができる。これによって、実装すべきハードウェア回路を縮小し、長期に渡る回路設計期間及び大きなコスト増加を避けることができる。
MPUがバッファ・メモリのデータをエラー訂正する方法として、バッファ・メモリから磁気ディスクに転送されるデータにおいてエラー検出された場合に、MPUがバッファ・メモリ上のデータを訂正し、再度、バッファ・メモリから磁気ディスクへ転送することが考えられる。しかし、この手法は、エラーの原因を特定することが困難である。具体的には、バッファ・メモリにキャッシュされたデータ自体にエラーが存在するのか、バッファ・メモリのセルに欠陥が存在するのは、あるいは、データが転送される途中でエラーが発生したのかを区別することが困難である。
データが壊れているのであれば、バッファ・メモリ上のエラー訂正によって対応することができるが、バッファ・メモリのセルがスタックしている場合や転送路に欠陥がある場合には、バッファ・メモリ上でのエラー訂正を行っても、繰り返しエラーが発生する。従って、MPUの処理によってエラー訂正を行う場合、この区別をつけるためのリトライや他の場所にコピーを行ってエラー訂正を行うことなどが必要とされる。これによって。コード・サイズが増大し、また、処理時間の増大によるパフォーマンスの低下を招く。
本発明の一つの態様に係るデータ記憶装置は、外部からのライト・データを格納するバッファ・メモリと、前記バッファ・メモリからメディアへ転送されるライト・データに対してエラー訂正処理を実行する第1エラー訂正部と、前記メディアから読み出されたリード・データに対してエラー訂正処理を実行する第2エラー訂正部と、前記第1エラー訂正部のエラー訂正処理のために前記バッファ・メモリからのライト・データを一時的に格納するとともに、前記第2エラー訂正部のエラー訂正処理のために前記メディアから読み出されたリード・データを一時的に格納するエラー訂正メモリを備える。第1及び第2エラー訂正部のエラー訂正処理がエラー訂正メモリを共有するので回路規模を低減できる。
前記第1エラー訂正部はコードに従って動作するプロセッサであり、前記第2エラー訂正部はオンザフライでエラー訂正処理を実行するハードウェア回路であることが好ましい。これによって、ホストへのデータ転送の遅延を避けつつ、プロセッサを使用することで回路規模の低減を図ることができる。
好ましくは、前記バッファ・メモリからメディアへ転送されるライト・データのエラー・チェックを実行するエラー・チェック回路をさらに備える。エラー・チェック回路の処理と並列に、前記バッファ・メモリからのライト・データが前記エラー訂正メモリへ格納される。また、エラー・チェック回路の処理と並列に、ライト・データが前記メディア向けて転送される。前記第1エラー訂正部は、前記エラー・チェック回路がエラーを検出した場合に、そのエラー検出されたライト・データに対してエラー訂正処理を実行する。このように、オンザフライによるエラー・チェックを行なうことがで、エラーが存在しない場合におけるデータ転送の遅延を防止できる。
好ましくは、前記バッファ・メモリからのデータを前記エラー・チェック回路に転送するパスと、前記エラー訂正メモリから前記エラー・チェック回路にデータ転送するパスと、を備え、前記第1エラー訂正部がエラー訂正を実行した場合、前記エラー訂正メモリから前記エラー・チェック回路にデータ転送するパスが選択される。これによって訂正後のデータを再度チェックすることができる。
好ましくは、前記エラー訂正メモリは複数ページのバッファを備え、前記メディアからのリード・データは、前記複数ページの各ページに順次入力され、入力順に前記エラー訂正メモリから出力され、前記バッファ・メモリからのライト・データは、前記複数ページの一部のページに格納され、前記第1エラー訂正部は、前記ライト・データが格納されているページを特定するデータを取得し、その格納されているライト・データのエラー訂正処理を実行し、前記エラー訂正メモリは、前記エラー訂正されたライト・データが格納されているページを選択してそのページからデータを出力する。第2エラー訂正部がエラー訂正処理のために複数ページを使用する場合において、第1エラー訂正部によって一部のバッファを的確に使用することができる。
前記外部からのライト・データにECCを付加するECC付加回路を備え、前記バッファ・メモリは、前記ECCが付加されたライト・データを一時的に格納し、前記エラー・チェック回路は、前記ECCを使用して前記バッファ・メモリから転送されたライト・データのエラー検出処理を実行することが好ましい。これによって、バッファ・メモリ及びその転送路全体のエラー訂正を行うことができる。
前記第1エラー訂正部は、前記エラー・チェック回路から誤り位置と誤りパターンを取得して前記ライト・データのエラー訂正を実行することが好ましい。これによって、効率的なエラー訂正処理を行うことができる。
本発明の他の態様は、データ記憶装置において、データのエラー訂正を行う方法であって、バッファ・メモリからメディアへ転送されるライト・データをメモリに格納し、前記メモリに格納されたライト・データのエラー訂正処理を実行し、前記エラー訂正されたライト・データをメディアに転送し、前記メディアから読み出されたリード・データを前記メモリに格納し、前記メモリに格納されたリード・データのエラー訂正処理を実行するものである。メモリを二つのエラー訂正処理で共有することで、回路規模を低減することができる。
好ましくは、ECCを付加したライト・データを前記バッファ・メモリに格納し、前記バッファ・メモリから前記メディアへ転送され、前記ECCを有するライト・データを前記メモリに格納し、前記バッファ・メモリから転送されたライト・データにおいてエラー検出された場合に、前記メモリに格納されたライト・データのエラー訂正処理を前記ECCによって実行する。これによって、バッファ・メモリ及びその転送路全体のエラー訂正を行うことができる。
好ましくは、前記メディアへ転送されるライト・データのエラー・チェック処理を実行し、前記エラー・チェック処理と並列に、前記メディアへ転送されるライト・データを前メモリへの格納し、前記エラー・チェック処理において前記ライト・データのエラー検出された場合に、前記メモリに格納されたライト・データのエラー訂正処理を実行する。これによって、エラー・チェックによる転送遅延を防止し、さらに、エラー訂正の処理効率を上げることができる。
前記メディアからのリード・データを、前記メモリの複数ページの各ページに順次入力し、その入力順に前記メモリから出力し、前記バッファ・メモリからのライト・データを、前記複数ページの一つのページに格納し、前記格納されているライト・データのエラー訂正処理を実行し、前記エラー訂正されたライト・データが格納されているページを選択してそのページからデータ出力することが好ましい。
本発明によれば、データ記憶装置の信頼性の向上及び回路規模の低減を図ることができる。
以下に、本発明を適用可能な実施の形態を説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略及び簡略化がなされている。又、各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略されている。以下においては、データ記憶装置の一例であるハードディスク・ドライブ(HDD)を例として、本発明の実施形態を説明する。
本実施形態は、ユーザ・データのエラー訂正処理の手法にその特徴の一つを有している。本形態のHDDは、磁気ディスクへ記録されるデータのエラー訂正処理に加えて、バッファ・メモリに格納されるデータについてもエラー訂正処理を実行する。本形態のHDDは、この二つのエラー訂正において一つのメモリを共有して使用する。バッファ・メモリに格納されるデータについてエラー訂正処理を実行することでHDDの信頼性を向上するとおもに、異なるエラー訂正処理において同一のメモリを使用することで、回路規模の増大を抑えることができる。
本実施形態の特徴点の理解を容易とするため、最初に、HDDの全体構成を説明する。図1は、本実施の形態に係るHDD1の全体構成を模式的に示すブロック図である。図1に示すように、HDD1は、エンクロージャ10内に、メディア(記録媒体)の一例である磁気ディスク11、ヘッド素子部12、アーム電子回路(アームエレクトロニクス:AE)13、スピンドル・モータ(SPM)14、ボイス・コイル・モータ(VCM)15、そしてアクチュエータ16を備えている。
HDD1は、エンクロージャ10の外側に固定された回路基板20を備えている。回路基板20上には、リード・ライト・チャネル(RWチャネル)21、モータ・ドライバ・ユニット22、ハードディスク・コントローラ(HDC)とMPUの集積回路(以下、HDC/MPU)23及びバッファ・メモリの一例であるDRAM24などの各ICを備えている。尚、各回路構成は一つのICに集積すること、あるいは、複数のICに分けて実装することができる。
SPM14は、そこに固定されている磁気ディスク11を所定の角速度で回転する。HDC/MPU23からの制御データに従って、モータ・ドライバ・ユニット22がSPM14を駆動する。本例の磁気ディスク11は、データを記録する記録面を両面に備え、各記録面に対応するヘッド素子部12が設けられている。
各ヘッド素子部12はスライダ(不図示)に固定されている。また、スライダはアクチュエータ16に固定されている。アクチュエータ16はVCM15に連結され、回動軸を中心に回動することによって、ヘッド素子部12(及びスライダ)を磁気ディスク11上において半径方向に移動する。モータ・ドライバ・ユニット22は、HDC/MPU23からの制御データに従ってVCM15を駆動する。ヘッド素子部12には、典型的には、ライト・データに応じて電気信号を磁界に変換するライト素子及び磁気ディスク11からの磁界を電気信号に変換するリード素子を備えている。なお、磁気ディスク11は、1枚以上あればよく、記録面は磁気ディスク11の片面あるいは両面に形成することができる。また、本発明をリード素子のみを備えるデータ記憶装置に適用することができる。
AE13は、複数のヘッド素子部12の中からデータ・アクセスが行われる1つのヘッド素子部12を選択し、選択されたヘッド素子部12により再生される再生信号を一定のゲインで増幅(プリアンプ)し、RWチャネル21に送る。また、RWチャネル21からの記録信号を選択されたヘッド素子部12に送る。
RWチャネル21は、ライト処理において、HDC/MPU23から供給されたライト・データをコード変調し、更にコード変調されたライト・データをライト信号に変換してAE13に供給する。リード処理において、RWチャネル21はAE13から供給されたリード信号を一定の振幅となるように増幅し、取得したリード信号からデータを抽出し、デコード処理を行う。読み出されるデータは、ユーザ・データとサーボ・データを含む。デコード処理されたリード・データは、HDC/MPU23に供給される。
HDC/MPU23において、MPUはDRAM24にロードされたマイクロ・コードに従って動作する。HDD1の起動に伴い、DRAM24には、MPU上で動作するマイクロ・コードの他、制御及びデータ処理に必要とされるデータが磁気ディスク11あるいはROM(不図示)からロードされる。HDCはハードウェア・ロジック回路として構成され、MPUと一体的に様々な処理を実行する。例えば、HDC/MPU23は、コマンド実行順序の管理、ヘッド素子部12のポジショニング制御、インターフェース制御、ディフェクト管理などのデータ処理に関する必要な処理の他、HDD1の全体制御を実行する。HDC/MPU123は、さらに、ホストから取得した、あるいは、磁気ディスク111から読み出したユーザ・データについてエラー訂正処理を実行する。本形態のHDC/MPU23は、ユーザ・データについてエラー訂正処理にその特徴を有する。その点については後に詳述する。
HDC/MPU23は、RWチャネル21から取得した磁気ディスク11からのリード・データをDRAM24内のリード・バッファに一旦格納した後、ホスト51に転送する。また、HDC/MPU23は、ホスト51からのライト・データをDRAM24内のライト・バッファに一旦格納し、その後、所定のタイミングで磁気ディスク11に転送する。
上述のように、本形態のHDC/MPU23は、磁気ディスク11から読み出したユーザ・データのエラー訂正処理を実行するほか、DRAM24から読み出したデータに対するエラー訂正処理を実行する。そこで、ユーザ・データのライト処理及びリード処理におけるエラー訂正処理の流れについて、図2を参照して説明する。なお、本明細書において、磁気ディスク11からのデータに対するエラー訂正処理をメディア・エラー訂正処理と呼び、DRAM24からのデータに対するエラー訂正処理をシステム・エラー訂正処理と呼ぶ。
図2は、HDC/MPU23の一部の詳細及びDRAM24を模式的に示すブロック図である。HDC/MPUは、ハードウェア回路で構成されたHDC231と、コードに従って動作するMPU232とを有している。HDC231は、ホスト・インターフェース・コントローラ(HIC)311、システムECC(Error Correcting Code)ホスト312、メモリ・マネージャ313、システムECCドライバ314、ドライブ・マネージャ315、エラー訂正処理部の一例であるECC訂正処理部316、SRAM317及びSRAM318を有する。
本形態のHDC231は、メディア・エラー訂正処理とシステム・エラー訂正処理の双方において、SRAM318を使用する。このように、二つのエラー訂正処理が一つのSRAM318を共有することで、HDC231の回路規模を低減することができる。メディア・エラー訂正処理は、リード処理において磁気ディスク11からのデータをエラー訂正する。一方、システム・エラー訂正処理はライト処理において磁気ディスク11へのデータをエラー訂正する。従って、これらの処理が互いに干渉することなく、同一メモリ318を共有することができる。図2を参照して、ライト処理及びリード処理における転送データの流れについて説明する。
図2において、実線の矢印はホスト51から転送されて磁気ディスク11に記録されるデータ(ライト・データ)の流れを示している。また、点線の矢印は磁気ディスク11から読みだされてホスト51に転送されるデータ(リード・データ)の流れを示している。なお、リード及びライトの各処理において、データはデータ・セクタ単位で転送及び処理される。ここで、データ・セクタは、磁気ディスク11におけるユーザ・データの記録単位であり、データ・セクタ毎にシステムECC及びメディアECCが生成される。
図2のブロック図及び図3のフローチャートを参照して、ライト処理から説明する。HIC311は、ホスト51とHDD1とのインターフェース回路である。ライト処理において、HIC311は、ホスト51から転送されたユーザ・データ(UDATA)を、データ・バスを介してシステムECCホスト312へ供給する。システムECCホスト12は、システムECC(SECC)を生成してユーザ・データに付加する(S11)。
システムECCは、HDC231内におけるエラーを訂正するためのコードであり、DRAM24への転送及び書き込み、読み出し及び転送における各フェーズにおいて起こりうるエラーを訂正するためのECCである。本実施の形態においては、システムECCとしてECC及びCRC(Cyclic Redundancy Check)コードが付加されているものとして説明するが、ECCのみを使用してもよい。ECC及びCRCコードとしては、例えば、リードソロモン符号を利用することができる。ホスト51からのデータ転送を中断しないように、システムECCホスト312の処理はオンザフライで実行され、データ転送の流れを実質的に妨げることなく、システムECCの生成を行う。ここで、オンザフライ処理は、データの転送を中断することなく処理を行うことをいう。
システムECCホスト312は、システムECC付きユーザ・データをメモリ・マネージャ313に、データ・バスを介して送る。メモリ・マネージャ13は、受け取ったシステムECC付きユーザ・データをDRAM24内のリード・バッファに一旦格納する(S12)。その後、ドライブ・マネージャ315から要求があったときに、そのデータをDRAM24から読み出して、システムECCドライバ314にデータ・バスを介して転送する(S13)。
エラー・チェック回路の一例であるシステムECCドライバ314は、システムECC付きユーザ・データを受け取ると、そのシステムECCを使用してエラー・チェック処理を実行する(S14)。システムECCドライバ314はユーザ・データのエラー・チェックを行うが、エラーが検出された場合であってもそのエラー訂正は行わない。システムECCドライバ314のエラー・チェック処理と並列に、システムECC付きユーザ・データは、SRAM318に格納される(S15)。
システムECCドライバ314によるエラー・チェック処理と平行して、システムECC付きユーザ・データは、ドライブ・マネージャ315に転送される。つまり、システムECCドライバ314はエラー・チェック処理をオンザフライで実行し、データ転送の流れを妨げることがない。システムECCドライバ314がエラーを検出しない場合(S14におけるNO)、ドライブ・マネージャ315による処理がそのまま進行する。
ドライブ・マネージャ315は、受け取ったデータをECC訂正処理部316に送る。ECC訂正処理部316は、ドライブ・マネージャ315から受け取ったデータからメディアECCを生成する。メディアECCは、磁気ディスク11へのデータ記録におけるエラーを訂正するためのコードである。
ドライブ・マネージャ315は、ECC訂正処理部316からメディアECCを取得し、メディアECC+システムECC付きユーザ・データを生成する(S16)。こうしてドライブ・マネージャ315は、システムECC+メディアECCが付加されたユーザ・データを、データ・バスを介してNRZ(Non-Return to Zero)データとしてRWチャネル21へ供給する。システムECCドライバ314がエラーを検出しない場合は、上述の流れによってユーザ・データが磁気ディスク11に転送される(S17)。
システムECCドライバ314がエラーを検出した場合(S14におけるYES)、エラー訂正処理部の一例であるMPU232が、SRAM318を使用してエラー訂正処理を実行する。この点について詳細な説明する前に、リード処理におけるデータ転送の流れについて、図2及び図4のフローチャートを参照して説明する。ホスト51からのリード・コマンドに対してキャッシュ・ヒットしない場合、磁気ディスク11から該当データが読み出される(S21)。磁気ディスク11からデータを読み出すリード動作においては、RWチャネル21からシステムECC+メディアECCが付加されたユーザ・データをドライブ・マネージャ315が受け取り、これをECC訂正処理部316へ供給する。
エラー訂正処理部の一例であるECC訂正処理部316は、必要に応じてメディアECCによりユーザ・データとシステムECCからなるデータの誤りを修正する。具体的には、ECC訂正処理部316は、ドライブ・マネージャ315から受け取ったデータをエラー訂正メモリの一例であるSRAM318に格納する(S22)と共に、エラー訂正のためのデータを生成する。
具体的には、ECC訂正処理部316はドライブ・マネージャ315から受け取ったデータをもとECCシンドロームとCRCシンドロームを生成する。これらがゼロである場合、エラーが存在せず、エラー訂正することなくデータ転送される。非ゼロの場合、ECC訂正処理部316はECCシンドロームから誤り位置及び誤りパターンからなる誤りデータを計算する。さらに、ECC訂正処理部316は、誤りデータの計算結果をもとに、CRCシンドロームを計算し、CRCシンドロームをもとに誤りデータが全て正しいか否かを判別する。誤りデータが全て正しければ、誤りデータに従ってユーザ・データとシステムECCからなるデータを訂正する。
ECC訂正処理部316は、SRAM318から先に格納したシステムECCデータ付きユーザ・データを読み出し、誤りデータと読み出したデータとの排他的論理輪を計算することで訂正処理を行う(S23)。以上の処理は、オンザフライで実行され、データ転送を中断することなく行うことができる。オンザフライ処理を行うため、SRAM318は複数ページのバッファを備えている。つまり、あるページのバッファに1セクタ前のデータを格納してそのエラー訂正処理を実行している間、次のセクタのデータを次のページに格納する。これによって、データ転送を中断することを防止する。メディア・エラー訂正におけるSRAM318の使用方法については、後に詳述する。
誤りデータが正しくない場合、ECC訂正処理部316は消失訂正処理によってエラー訂正を実行する。消失とは、誤りパターンが判れば訂正できる誤りのことである。消失訂正処理は、誤りである可能性の高い位置を消失位置として推定し、この消失位置をもとに誤りデータを計算する。消失訂正処理は、一般的にオフラインで実行され、データ転送が中断される。なお、これらエラー訂正の手法は公知の技術であり、詳細な演算方法の説明は省略する。
ECC訂正処理部316がメディア・エラー訂正を行ったデータは、メモリ・マネージャ313に転送される。この転送データは、ユーザ・データとシステムECCとを有している。メモリ・マネージャ313は受け取ったデータを一旦DRAM24に格納した後(S24)、そのデータをDRAM24から読み出してシステムECCホスト312に転送する。
システムECCホスト312は、受け取ったデータについて必要場合にエラー訂正を実行する(S25)。そのエラー訂正の方法は、ECC訂正処理部316によるエラー訂正方法を実質的に同様である。つまり、システムECCホスト312は受け取ったデータをSRAM317に一旦格納し、さらに、システムECCを使用してエラー訂正処理を実行する。この処理は、オンザフライで実行され、ユーザ・データの訂正をしながらシステムECCホスト12からHIC311へ転送することが可能である。HIC311は、そのユーザ・データをホスト51に転送する(S26)。以上で、リード処理が終了する。
上述のライト処理において、システムECCドライバ314がエラーを検出した場合の処理について、図5のブロック図及び図6のフローチャートを参照して詳細に説明する。上述のように、システムECCドライバ314は、メモリ・マネージャ313から転送されたデータに対して、エラー・チェック処理を実行する。システムECCドライバ314がシステムECCを使用したユーザ・データのエラー・チェック処理を行っていと同時に、システムECC付きユーザ・データは、SRAM318に一時的に格納される。
システムECCドライバ314がユーザ・データにおいてエラーを検出すると、システムECCドライバ314はエラーを検出したことをドライブ・マネージャ315に通知する(ERROR DETECTION REPORT)。ドライブ・マネージャ315は、エラー検出の通知に応答して、磁気ディスク11へのデータ転送を停止する(S31)。従って、以下の処理はオフライ実行される。ドライブ・マネージャ315は、さらに、MPU232に割り込み(INTERRUPT)を行う。なお、ドライブ・マネージャ315は、RWチャネル21へリード制御信号及びライト制御信号を出力して、磁気ディスク11及びRWチャネル21との間のデータ転送を制御する。
割り込みを受けたMPU232は、ドライブ・マネージャ315のステータス・レジスタを参照する。ステータス・レジスタのデータを確認することで、MPU232は、その割り込みの理由がシステムECCドライバ314によるエラー検出であることを知る。MPU232は、SRAM318に格納されているシステムECC付きユーザ・データに対して、SRAM318上でエラー訂正を行う。
具体的には、MPU23は、システムECCドライバ314から誤りデータを取得し(S32)、それによってSRAM上のデータのエラー訂正を実行する(S33)。誤りデータは、誤り位置(ERROR POSITION)及び誤りパターン(ERROR PATTERN)からなる。システムECCドライバ314は、エラー・チェック処理においてこの誤りデータを計算する。具体的には、システムECCドライバ314はシステムECCとユーザ・データとからECCシンドロームとCRCシンドロームを生成し、エラーの有無を確認する。エラーが存在する場合、ECCシンドロームを使用して誤り位置と誤りパターンとを算出する。
システムECCドライバ314はレジスタを有し、そのレジスタに誤りデータを格納する。割り込みを受けたMPU232は、システムECCドライバ314のレジスタにアクセスして誤りデータを取得し、そのデータを使用してSRAM318上のユーザ・データを修正する。なお、MPU232はSRAM318上のデータ及び誤りデータを使用してCRCシンドロームを計算し、CRCシンドロームをもとに誤りデータが全て正しいか否かを判別する。誤りデータが全て正しければ、誤りデータに従ってユーザ・データとシステムECCからなるデータを訂正する。誤りデータによってエラー訂正することができない場合、エラー対応処理を実行する。この処理は、本明細書では省略する。
MPU232がエラー訂正を完了すると、MPU232はドライブ・マネージャ315にライト処理のリトライを指示する(WRITE RETRY COMMAND WITH PAGE NUMBER)。このとき、MPU232、はSRAM318のいずれのページからデータを読み出すかを併せてドライブ・マネージャ315に指示する。この点については、後に説明する。MPU232から指示を受けたドライブ・マネージャ315は、システムECCドライバ314への入力パスを切り替えるセレクタ319を設定する。
HDC231は、システムECCドライバ314への2つの入力パスを備えている。一つは、メモリ・マネージャ313からのパスであって、DRAM24から読み出されたシステムECC付きユーザ・データを、システムECCドライバ314へ転送する。もう一つのパスは、SRAM318からのパスである。このパスは、SRAM318上でエラー訂正されたシステムECC付きユーザ・データを、システムECCドライバ314へ転送する。
セレクタ319は、上記2つのパスの一方を選択する。ライト処理の開始において、セレクタ319はメモリ・マネージャ313からのパスを選択する。その後、システムECCドライバ314がエラーを検出し、MPU232がそのエラー訂正を実行すると、ドライブ・マネージャ315からの指示に応答して、システムECCドライバ314への入力をSRAM318からのパスに切り替える。
ドライブ・マネージャ315からの指示に応答して、SRAM318は、エラー訂正されたデータを、システムECCドライバ314に対して出力する(S34)。システムECCドライバ314は、SRAM318から転送されたシステムECC付きユーザ・データに対して、再度、エラー・チェック処理を実行する(S35)。エラーが検出されない場合、ドライブ・マネージャ315はECC訂正回路316が生成しメディアECCを付加して、RWチャネル21へデータを転送する。
その後、ドライブ・マネージャ315はセレクタ319がメモリ・マネージャ313からのパスを選択するようにセットし、DRAM24からのデータが、順次、システムECCドライバ314に転送される。なお、システムECCドライバ314が再度エラー検出した場合、上記処理を規定数繰り返し、なおエラー訂正されない場合は、他のエラー対応処理を実行する。
以上のように、DRAM24のデータを格納する前にECCを付与し、DRAM24から磁気ディスク11へ転送されるデータに対してエラー・チェック及びエラー訂正処理を行うことで、データ自体、DRAM24の欠陥もしくはパスにおける欠陥のエラー・ケースの判別を行うことなく、データ・エラーに対応することができる。つまり、本形態のシステム・エラー処理は、DRAM24におけるエラーを主な対象とするが、HDC内のシステム・エラーに対応している。また、MPU232がエラー訂正したデータを再度エラー・チェックすることで、マイクロ・コードのバグや転送パスで起こるエラーに対応することができる。
図5に示すように、SRAM318は複数ページのバッファを備えており、本例においては3ページのバッファを備えている。SRAM318が複数ページのバッファを有することで、ECC訂正処理部316のオンザフライ処理を可能としている。SRAM318を使用したECC訂正処理部316の訂正処理について、具体的に、図7を参照して説明する。
リード処理において、ドライブ・マネージャ315は、磁気ディスク11からメディアECC+システムECC付きユーザ・データを取得する。データは、1データ・セクタ毎に転送される。ドライブ・マネージャ315は、データ・セクタ毎にECC訂正処理部316にデータを転送する。ECC訂正処理部316は、転送されたデータ・セクタ毎に、エラー訂正のための演算処理を行う。ECC訂正処理部316は、1データ・セクタに対する上記の演算処理と平行して、そのデータ・セクタをSRAM318の特定のページに格納する。
ECC訂正処理部316は、ページ0−ページ2の各バッファに順次データ・セクタを格納する。つまり、リード処理において、ECC訂正処理部316は最初のデータ・セクタをページ0のバッファに格納し、次のデータ・セクタをページ1のバッファに格納し、その次のデータ・セクタをページ2のバッファに格納する。ページ2のバッファに格納した後は、ECC訂正処理部316は再びページ0のバッファに次のデータ・セクタを格納する。このように、SRAM318は、各ページに順次入力されたデータ・セクタを格納していく。
SRAM318からのデータ・セクタの読み出しも、同様に各ページから順次実行される。上記の例に従えば、最初にページ0のデータ・セクタが読み出され、その後、順次、ページ1、ページ2そしてページ0のデータ・セクタが読み出される。各ページから読み出されたデータは、ECC訂正処理部316が生成した誤りパターンと演算されることでエラー訂正され、メモリ・マネージャ313に転送される。
ECC訂正処理部316がエラー訂正のための計算をするためには相応の計算時間を必要とする。従って、SRAM318に格納されたデータは、ECC訂正処理部316の計算の終了を待って出力される。その間に、磁気ディスク11からは次のデータ・セクタが転送されてくる。SRAM318は、次のデータ・セクタを、前のデータ・セクタと異なるページに格納する。また、ECC訂正処理部316は、2データ・セクタの転送時間内に1データ・セクタの演算を終了することができる。
例えば、ページ0のデータについての計算は、ページ2へのデータ・セクタの格納完了前に終了することができ、その次のデータ・セクタを遅滞なくページ0に格納することができる。以上のバッファ制御によって、磁気ディスク11からのデータ転送を中断することなく、ECC訂正処理部316がオンザフライでエラー訂正処理を実行することができる。
図5に戻って、システム・エラー訂正処理におけるSRAM318の使用方法について説明する。上述のように、メディア・エラー訂正処理をオンザフライで実行するため、SRAM318は、複数の各ページにデータを順次格納し、さらに、格納された順において、各ページからデータを順次出力する。しかし、システム・エラー訂正処理は1データ・セクタの訂正処理を行うものであるので、複数ページの内の1ページのみを使用する。
MPU232がエラー訂正を行うためには、いずれのページにデータが格納されているかを知ること必要である。本形態においては、データのSRAM318への格納はECC訂正回路316が制御しており、ECC訂正処理部316がMPU232にエラー訂正すべきデータが格納されているページを知らせる。
システムECCドライバ314からのシステムECC付きユーザ・データは、リード処理と同様に、ページ0から順次各ページに格納されていく。つまり、ライト・データの転送が開始されると、最初のデータ・セクタはページ0に格納され、その後、ページ1、ページ2の順に格納され、さらに、ページ0から再び格納される。システムECCドライバ314がエラー検出をしない場合は、磁気ディスク11へ転送されるデータが、各ページに、順次格納されていく。ECC訂正処理部316は、レジスタを備え、次にデータを格納すべきページを特定するデータをそこに保存している。
いずれかのデータ・セクタにおいてシステムECCドライバ314がエラーを検出すると、上述のようにHDC231が処理を停止し、MPU232に割り込みを行う。MPU232は、ECC訂正処理回路316のレジスタを参照して、エラー検出されたデータが格納されているページを特定する。MPU232は、特定されたページのデータに対してシステムECCドライバ314から取得した誤りデータを使用してエラー訂正を実行する。
エラー訂正が終了すると、MPU232は、ドライブ・マネージャ315にライト・リトライを指示するが、このとき、SRAM318のいずれのページからデータを書き出すべきかを指定する。ドライブ・マネージャ315は、MPU232からの指示に従って、指定されたページからデータを出力することをSRAM318に指示する。これによって、システム・エラー訂正に使用する
以上、本発明について好ましい態様を使用して説明したが、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。例えば、上述の実施の形態においては、HDDを例にとって説明したが、光ディスクや光磁気ディスクなど他のメディアを使用するデータ記憶装置、あるいはそのメディアを着脱可能なデータ記憶装置に適用してもよい。
バッファ・メモリとしてはDRAMを使用し、HDC内のメモリとしてはSRAMを使用することが好ましいが、これらに限定されることなく、他のタイプのメモリを使用してもよい。SRAM上のページ数は3に限らず設計によって最適な数が選択される、また、1ページは1データ単位以上の容量であることが好ましいが、それに限られない。上述のECC訂正処理部は、ドライブ・マネージャから取得したデータからECCを生成するが、ECC訂正処理部がシステムECCドライバからデータを取得し、ECC付きのデータをドライブ・マネージャに転送する構成としてもよい。
本実施の形態にかかるハードディスク・ドライブの全体構成を模式的に示すブロック図である。 本実施の形態にかかるリード処理及びライト処理の流れを説明するブロック図である。 本実施の形態にかかるライト処理において、システム・エラーが検出されない場合の処理を示すフローチャートである。 本実施の形態にかかるリード処理におけるエラー訂正処理を示すフローチャートである。 本実施の形態にかかるシステム・エラー訂正に関連する論理構成を模式的に示すブロック図である。 本実施の形態にかかるライト処理において、システム・エラーが検出された場合の処理を示すフローチャートである。 本実施の形態にかかるメディア・エラー訂正に関連する論理構成を模式的に示すブロック図である。
符号の説明
1 ハードディスク・ドライブ、10 筺体、11 磁気ディスク
12 ヘッド素子部、13 アーム・エレクトロニクス、14 スピンドル・モータ
15 ボイス・コイル・モータ、16 アクチュエータ、20 回路基板
21 RWチャネル、22 モータ・ドライバ・ユニット
23 ハードディスク・コントローラ/MPU、24 DRAM
311 ホスト・インターフェース・コントローラ
231 ハードディスク・コントローラ、232 MPU
312 システムECCホスト、313 メモリ・マネージャ
314 システムECCドライバ、315 ドライブ・マネージャ
316 ECC訂正処理部、317、318 SRAM、319 セレクタ

Claims (11)

  1. 外部からのライト・データを格納する、バッファ・メモリと、
    前記バッファ・メモリからメディアへ転送されるライト・データに対してエラー訂正処理を実行する、第1エラー訂正部と、
    前記メディアから読み出されたリード・データに対してエラー訂正処理を実行する、第2エラー訂正部と、
    前記第1エラー訂正部のエラー訂正処理のために前記バッファ・メモリからのライト・データを一時的に格納するとともに、前記第2エラー訂正部のエラー訂正処理のために前記メディアから読み出されたリード・データを一時的に格納する、エラー訂正メモリと、
    を備えるデータ記憶装置。
  2. 前記第1エラー訂正部はコードに従って動作するプロセッサであり、前記第2エラー訂正部はオンザフライでエラー訂正処理を実行するハードウェア回路である、
    請求項1に記載のデータ記憶装置。
  3. 前記バッファ・メモリからメディアへ転送されるライト・データのエラー・チェックを実行するエラー・チェック回路をさらに備え、
    前記エラー・チェック回路の処理と並列して、前記バッファ・メモリからのライト・データが前記エラー訂正メモリへ格納されると共に前記メディア向けて転送され、
    前記第1エラー訂正部は、前記エラー・チェック回路がエラーを検出した場合に、そのエラー検出されたライト・データに対してエラー訂正処理を実行する、
    請求項1に記載のデータ記憶装置。
  4. 前記バッファ・メモリからのデータを前記エラー・チェック回路に転送するパスと、前記エラー訂正メモリから前記エラー・チェック回路にデータ転送するパスと、を備え、
    前記第1エラー訂正部がエラー訂正を実行した場合、前記エラー訂正メモリから前記エラー・チェック回路にデータ転送するパスが選択される、
    請求項1に記載のデータ記憶装置。
  5. 前記エラー訂正メモリは複数ページのバッファを備え、
    前記メディアからのリード・データは、前記複数ページの各ページに順次入力され、入力順に前記エラー訂正メモリから出力され、
    前記バッファ・メモリからのライト・データは、前記複数ページの一部のページに格納され、
    前記第1エラー訂正部は、前記ライト・データが格納されているページを特定するデータを取得し、その格納されているライト・データのエラー訂正処理を実行し、
    前記エラー訂正メモリは、前記エラー訂正されたライト・データが格納されているページを選択してそのページからデータを出力する、
    請求項1に記載のデータ記憶装置。
  6. 前記外部からのライト・データにECCを付加するECC付加回路を備え、
    前記バッファ・メモリは、前記ECCが付加されたライト・データを一時的に格納し、
    前記エラー・チェック回路は、前記ECCを使用して前記バッファ・メモリから転送されたライト・データのエラー検出処理を実行する、
    請求項3に記載のデータ記憶装置。
  7. 前記第1エラー訂正部は、前記エラー・チェック回路から誤り位置と誤りパターンを取得して前記ライト・データのエラー訂正を実行する、
    請求項3に記載のデータ記憶装置。
  8. データ記憶装置において、データのエラー訂正を行う方法であって、
    バッファ・メモリからメディアへ転送されるライト・データをメモリに格納し、
    前記メモリに格納されたライト・データのエラー訂正処理を実行し、
    前記エラー訂正されたライト・データをメディアに転送し、
    前記メディアから読み出されたリード・データを前記メモリに格納し、
    前記メモリに格納されたリード・データのエラー訂正処理を実行する、方法。
  9. ECCを付加したライト・データを前記バッファ・メモリに格納し、
    前記バッファ・メモリから前記メディアへ転送され、前記ECCを有するライト・データを前記メモリに格納し、
    前記バッファ・メモリから転送されたライト・データにおいてエラー検出された場合に、前記メモリに格納されたライト・データのエラー訂正処理を前記ECCによって実行する、請求項8に記載の方法。
  10. 前記メディアへ転送されるライト・データのエラー・チェック処理を実行し、
    前記エラー・チェック処理と並列して、前記メディアへ転送されるライト・データを前メモリへの格納し、
    前記エラー・チェック処理において前記ライト・データのエラー検出された場合に、前記メモリに格納されたライト・データのエラー訂正処理を実行する、
    請求項8に記載の方法。
  11. 前記メディアからのリード・データを、前記メモリの複数ページの各ページに順次入力し、その入力順に前記メモリから出力し、
    前記バッファ・メモリからのライト・データを、前記複数ページの一つのページに格納し、
    前記格納されているライト・データのエラー訂正処理を実行し、
    前記エラー訂正されたライト・データが格納されているページを選択してそのページからデータ出力する、
    請求項8に記載の方法。
JP2006111185A 2006-04-13 2006-04-13 データ記憶装置及びそのエラー訂正方法 Pending JP2007287208A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006111185A JP2007287208A (ja) 2006-04-13 2006-04-13 データ記憶装置及びそのエラー訂正方法
US11/787,109 US20080016429A1 (en) 2006-04-13 2007-04-12 Data storage device and error correction method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006111185A JP2007287208A (ja) 2006-04-13 2006-04-13 データ記憶装置及びそのエラー訂正方法

Publications (1)

Publication Number Publication Date
JP2007287208A true JP2007287208A (ja) 2007-11-01

Family

ID=38758850

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006111185A Pending JP2007287208A (ja) 2006-04-13 2006-04-13 データ記憶装置及びそのエラー訂正方法

Country Status (2)

Country Link
US (1) US20080016429A1 (ja)
JP (1) JP2007287208A (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102098130A (zh) * 2009-12-15 2011-06-15 意法半导体研发(深圳)有限公司 具有高速度和高可靠性的高效动态传输
US10002043B2 (en) 2014-08-19 2018-06-19 Samsung Electronics Co., Ltd. Memory devices and modules
US10002044B2 (en) 2014-08-19 2018-06-19 Samsung Electronics Co., Ltd. Memory devices and modules
US10528410B2 (en) * 2014-12-16 2020-01-07 Intel Corporation Apparatus, method and system to exchange error information in a unified protocol communication
US9916091B2 (en) 2015-07-13 2018-03-13 Samsung Electronics Co., Ltd. Memory system architecture
CN115129509B (zh) * 2022-06-30 2024-06-25 苏州浪潮智能科技有限公司 一种数据传输方法、装置、介质
CN118486357A (zh) * 2024-07-16 2024-08-13 芯方舟(上海)集成电路有限公司 存储系统及其错误管理方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3307579B2 (ja) * 1998-01-28 2002-07-24 インターナショナル・ビジネス・マシーンズ・コーポレーション データ記憶システム
JP3922819B2 (ja) * 1998-09-21 2007-05-30 富士通株式会社 誤り訂正方法及び装置
JP3527873B2 (ja) * 1999-09-03 2004-05-17 松下電器産業株式会社 誤り訂正装置
US6718506B1 (en) * 2000-10-02 2004-04-06 Zoran Corporation High speed DVD error correction engine
TWI266181B (en) * 2004-04-09 2006-11-11 Mediatek Inc Apparatus for accessing and outputting optical data
JP2006107311A (ja) * 2004-10-08 2006-04-20 Hitachi Ltd ディスクアレイ装置およびその制御方法

Also Published As

Publication number Publication date
US20080016429A1 (en) 2008-01-17

Similar Documents

Publication Publication Date Title
US7697234B2 (en) Storage apparatus, control method, and control device which enable or disable compensation control
JP4679943B2 (ja) データ記憶装置及びその不揮発性メモリ内データ書き換え処理方法
US7984359B2 (en) Correction of data errors in a memory buffer
JP2007287208A (ja) データ記憶装置及びそのエラー訂正方法
US9304930B2 (en) HDD write buffer zone for vibration condition
US7322003B2 (en) Information storage device
JP4660612B2 (ja) 情報再生装置及び情報再生方法
US20100202078A1 (en) Read/write processing method for medium recording device and medium recording device
JP2009134782A (ja) ディスク・ドライブ装置及びそのサーボ制御方法
US8117491B2 (en) Disk-drive device and method for error recovery thereof
US7607039B2 (en) Data storage device with re-allocation processing which determines an order in which re-allocation processing is executed for defective sectors
US7941729B2 (en) Data storage device and error processing method in its read processing
CN108735235B (zh) 盘装置、控制器电路以及盘装置的控制方法
JP2001092600A (ja) 大容量記憶装置を持つコンピュータシステムおよびその動作方法
JP2018156716A (ja) 磁気ディスク装置、コントローラ及び方法
JP4261430B2 (ja) 磁気ディスク装置及び読み込み・書き込み方法
JP2014182848A (ja) 情報再生装置および情報再生方法
JP2008276818A (ja) ディスク・ドライブ装置及びそのディスクへのアクセス方法
US10846176B2 (en) Magnetic disk device and method of continued reading of sectors of magnetic disk device even after an error is detected in one of the sectors
JP2008299978A (ja) ディスク・ドライブ装置及びディスクからのデータ再生方法
JP2007317263A (ja) シリアル・データ転送方法、そのシステム及びデータ記憶装置
JP2011181169A (ja) デコーダと該デコーダを含む装置
JP2008021351A (ja) メディア上のセクタをリアサインする方法及びデータ記憶装置
US20120324165A1 (en) Memory control device and memory control method
JP2007188370A (ja) 磁気ディスク装置