JP2011008879A - ディスクドライブ装置 - Google Patents

ディスクドライブ装置 Download PDF

Info

Publication number
JP2011008879A
JP2011008879A JP2009152962A JP2009152962A JP2011008879A JP 2011008879 A JP2011008879 A JP 2011008879A JP 2009152962 A JP2009152962 A JP 2009152962A JP 2009152962 A JP2009152962 A JP 2009152962A JP 2011008879 A JP2011008879 A JP 2011008879A
Authority
JP
Japan
Prior art keywords
read
information
data
control unit
error
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
JP2009152962A
Other languages
English (en)
Inventor
Keiichi Yorimitsu
圭一 依光
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 Storage Device Corp
Original Assignee
Toshiba Storage Device 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 Storage Device Corp filed Critical Toshiba Storage Device Corp
Priority to JP2009152962A priority Critical patent/JP2011008879A/ja
Priority to US12/819,121 priority patent/US20100328801A1/en
Publication of JP2011008879A publication Critical patent/JP2011008879A/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
    • 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/1879Direct read-after-write methods
    • 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/1816Testing
    • G11B2020/183Testing wherein at least one additional attempt is made to read or write the data when a first attempt is unsuccessful
    • 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)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】画像情報の読出の遅延と、制御情報のデータの欠落の抑止との両立を図る。
【解決手段】ハードディスクドライブ装置100は、ディスク媒体115と、ディスク媒体115から情報の読出制御を行う読出制御部402と、読み出し対象となる情報に対して、当該情報の種類に基づいて、当該情報のリードエラーを無視するか否かを決定する決定部405と、リードエラーを無視すると決定された場合に、読出制御部402により読み出された情報に対してリードエラーの検出を行わずに、当該情報をホスト装置150に対して送信する送信制御部407と、を備えた。
【選択図】図4

Description

本発明は、ディスク媒体から情報を読み出し制御するディスクドライブ装置に関する。
従来から、ディスクにアクセスしてデータの読み出し、又は書込を行う装置では、アクセスする際に、エラーが生じる場合がある。エラーが生じた場合には、状況に応じて様々な制御が行われる。
例えば、ハードディスクドライブ装置でリードエラーが生じた場合に、当該データを完全に読み込むために、リトライ制御が一般的に行われる。しかしながら、このリトライ制御が行われると、当然ながらデータの転送に遅延が生じる。そこで、読み込むデータの種類によっては、1セクタのデータをビット単位で完全に読み込むことよりも、リトライ制御に基づくデータ転送の遅延の与える影響が大きい場合もある。
これは特に読み出すデータが動画データの場合に影響が大きい。なぜならば、動画データにおいては、1セクタ(標準:512バイト)程度のデータが読み出せなくても、前後のデータが読み出せるのであれば、人間の視覚的には問題ないレベル(画像のちらつきレベル)でしか、画像データの劣化は生じない。これに対し、1セクタのデータを厳密に読み込むために磁気ディスクのリトライが繰り返し行われた場合、データ転送の遅延が生じ、最終的には画像表示が停止、スローダウンすることになる。
ところで、データのアクセスの遅延を抑止する技術としては、例えば、引用文献1に記載された技術がある。この引用文献1では、画像ファイルと画像ファイルを制御するための、再生順を管理する管理番号とが格納され、情報記録媒体上に多量の欠陥領域が存在しても、その影響を受けることなく、安定に連続記録を行う技術が記載されている。つまり、領域を適切に管理することで、欠陥領域が生じた場合でも、安定に連続記録、画像データの再生を行うことができる。しかしながら、当該技術を用いたとしても、当該管理番号で管理された領域から、データの読み出しでエラーが生じた場合には、従来通りリトライが繰り返し行われることになる。
このリトライの繰り返しによるデータ転送の遅延を生じるための機能は、従来からハードディスクドライブ装置に実装されている。このモードは一般的にRC(Read Continuous)機能と呼ばれANSI仕様(SCSI Block Commands-3(SBC-3))において定義されている。
このRC機能を使用すると、ホストから当該RC機能が有効になるよう指示された場合、セクタの読み出しでリードエラーが生じた場合でもリードエラーを無視し、データをそのままホストに転送することができる。
特開2000−112674号公報
しかしながら、上述した技術においては、RC機能が有効にセットされた場合、磁気ディスク上の全てのユーザデータのリードでリトライを実施せず、ホストに対してデータ転送されることになる。これは、動画データ等では問題は生じないが、磁気ディスクには動画データ以外の様々なデータが格納されており、例えば、画像データの管理、識別を行う制御情報(ファイルシステム情報など)も同時に格納される場合が多い。この制御情報はビットレベルで誤りが許されない情報である。このため、制御情報の読み出しでリードエラーが生じた場合には、装置側で適切に内部リトライを行い、リトライで修復できた場合のみデータの転送と共に、交替セクタの割り当てを行い、修復できないのであればエラーを報告する必要がある。
このようにデータの種類によりリトライするか否かを切り替える必要がある。そして、ホスト側から、データの種類によりRC機能の有効、無効を変更すれば対応可能ではあるが、管理方法が煩雑である。
開示の技術は、上記に鑑みてなされたものであって、リードエラーが生じた場合に、データの種別に応じて、適切な制御を行うディスクドライブ装置を提供することを目的とする。
本願の開示するディスクドライブ装置は、一つの態様において、ディスク媒体と、前記ディスク媒体から情報の読出制御を行う読出制御部と、読み出し対象となる情報に対して、当該情報の種類に基づいて、当該情報のリードエラーを無視するか否かを決定する決定部と、前記決定部によりリードエラーを無視すると決定された場合に、前記読出制御部により読み出された前記情報に対してリードエラーの検出を行わずに、当該情報をホスト装置に対して送信する送信部と、を備える。
本願の開示するディスクドライブ装置の一つの態様によれば、データの種類に応じて、リードエラーを無視するか否かを切り替えることで、データの種類に適した読み出し制御を行うことができるという効果を奏する。
図1は、ディスクドライブ装置の実施例1の構成を示す図である。 図2は、ディスク媒体の構造を示した概念図である。 図3は、セクタの構成の例を示した図である。 図4は、MPUがファームウェアプログラムを読み込むことで実現される、実施例1のソフトウェア構成を示した図である。 図5は、実施例1にかかるディスク媒体のゾーン毎に割り当てられた領域を示した概念図である。 図6は、決定部が、リードエラーを無視するか否かの決定する条件を示したテーブルである。 図7は、実施例1のハードディスクドライブ装置における、RC機能=1の時の、データの読み出し時の処理を示すフローチャートである。 図8は、MPUがファームウェアプログラムを読み込むことで実現される、実施例2のソフトウェア構成を示した図である。 図9は、ハードディスクドライブ装置が備える複数のディスク媒体と、これらディスク媒体におけるシリンダを示した図である。 図10は、ディスク媒体のシリンダ毎に割り当てられた領域を示した概念図である。 図11は、MPUがファームウェアプログラムを読み込むことで実現される、実施例3のソフトウェア構成を示した図である。 図12は、実施例3のハードディスクドライブ装置における、データの読み出し時の処理を示すフローチャートである。
以下に、本願の開示するディスクドライブ装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
図1は、ディスクドライブ装置の実施例1の構成を示す図である。図1は、実施例1に係るハードディスクドライブ装置100の内部の構成を示すブロック図である。図1に示すように、ハードディスクドライブ装置100は、ホストインタフェース制御部101と、メモリ制御部102と、バッファメモリ103と、不揮発メモリ104と、フォーマット制御回路105と、リードチャネル106と、ヘッドIC107と、MPU108と、RAM109と、プログラム用不揮発性メモリ110と、サーボ制御部111と、SPM112と、VCM113と、ヘッド114と、ディスク媒体115と、コモンバス116と、から構成される。また、ハードディスクドライブ装置100は、ホスト装置150と接続されている。
ホストインタフェース制御部(以下、ホストIF制御部とも称す)101は、ホストIF120を介してホスト装置150に接続され、ホスト装置150との間の通信を制御する。コモンバス116は、ハードディスクドライブ装置100内部各処理部を接続し、処理部間における種々の情報の受け渡しを行うバスとする。
バッファメモリ103は、ホスト装置150とハードディスクドライブ装置100との間で送受信される情報などを一時的に記憶する。そして、バッファメモリ103に記憶されたデータは、ホスト装置150に出力される。
不揮発メモリ104は、ハードディスクドライブ装置の電源が落とされた場合でも保持したい設定情報等のデータを記憶する。
メモリ制御部102は、MPU108から入力される指示に従って、バッファメモリ103及び不揮発メモリ104の制御を行う。
VCM(ヴォイスコイルモータ)113は、サーボ制御部111によって駆動されるヘッド駆動機構であり、アームをディスク媒体115上で回動させる。SPM114(スピンドルモータ)は、サーボ制御部111によって駆動される機構であり、ディスク媒体115を回転させる。
サーボ制御部111は、MPU108から入力される指示に従って、VCM113およびSPM114を駆動する。
ヘッド114は、ディスク媒体115の回転によって生じる揚力によって、ディスク媒体115の表面からわずかに浮いた状態を維持してデータの読み書きを実行する。なお、ヘッド114は、データを読み出すためのリードヘッドと、データを書き込むためのライトヘッドとを示すものとする。
ディスク媒体115は、読み書き可能なデータ領域を備えている。図2は、ディスク媒体115の構造を示した概念図である。図2に示すようにディスク媒体115は、異なる径毎にトラックを備えている。図2に示すように、各トラックには、ホストシステムから転送されるデータを記録するための領域(データ領域)が配置されている。そして、データ領域は、複数のセクタで構成されている。セクタは、ディスク媒体115に書き込まれるデータの最少単位である。
また、ディスク媒体115は、複数のゾーンで構成されており、各ゾーンには複数のトラックが含まれている。本実施例では、ディスク媒体を構成する複数のゾーンのうち、内側の少なくとも一つ以上のゾーンをインナゾーンとする。そして、本実施例におけるディスク媒体115では、格納する情報の種類に応じて格納先のゾーンが異ならせるが、具体的な説明については後述する。
そして、ヘッド114が、ディスク媒体115の半径方向に移動することで、任意のトラックの任意のセクタに対して、ヘッド114が走査を行うことができる。そして、ヘッド114がディスク媒体115のセクタを走査することで、データの読み出し及び書き込みを行うことができる。
また、各トラックに含まれているセクタは、格納するデータの種類の異なるゾーンであっても、常に一定のフォーマットとする。図3は、セクタの構成の例を示した図である。図3に示すようにセクタは、図3に示すように、ディスク媒体115の通常セクタは、SB(sync byte)と、ユーザデータと、CRC(Cyclic Redundancy Check)と、ECC(Error Correcting Code)との領域に分けられる。
SB(SB1及びSB2)は、ユーザデータ(Data1及びData2)の開始を示す信号が読み出される領域である。ユーザデータ(Data1及びData2)は、ユーザデータが記憶される領域である。CRCは、データの整合性を検証するためのデータが記憶される領域である。ECCは、通常セクタデータに含まれるエラーを訂正するためのECC情報が記憶される領域である。
図1に戻り、フォーマット制御回路105は、ホスト装置150とハードディスクドライブ装置100との間で転送されるデータのエラーチェックなどを行う。例えば、フォーマット制御回路105は、データ読み出し時に、リードチャネル106からデータを受け付け、必要に応じてかかるデータのエラー訂正を行い、メモリ制御部102へ出力する。
リードチャネル106は、ホスト装置150とハードディスクドライブ装置100との間で転送されるデータをAD変換したり、変調および復調したりする。例えば、リードチャネル106は、データの読み出し時に、ヘッドIC107から出力されるデータ信号を増幅し、AD変換および復調などの所定の処理を施す。また、例えば、リードチャネル106は、データの書き込み時に、フォーマット制御回路105から入力されたデータをコード変調したりする。
RAM109は、MPU108が作業領域として用いられるメモリであり、例えば、制御用のデータやMPU108が読み出したファームウェアプログラム等を格納する。
プログラム用不揮発性メモリ110は、MPU108が読み出すファームウェアプログラムを格納するメモリ(FROM)とする。
MPU108は、ファームウェアプログラムによりハードディスクドライブ装置100の主制御を行う。すなわち、MPU108は、ホスト装置150からのコマンドを解読して各処理部を制御し、ディスク媒体115のデータの読み書きを統括制御する。なお、MPU108は、MCU(Micro Controller Unit)やCPU(Central Processing Unit)であってもよい。
ここで、実施例1におけるMPU160における処理について具体的に説明する。図4は、MPU160がファームウェアプログラムを読み込むことで実現される、実施例1のソフトウェア構成を示した図である。
図4に示すように、ハードディスクドライブ装置100においては、MPU160がファームウェアプログラムを読み込むことで、書込制御部401と、読出制御部402と、検出部403と、リトライ制御部404と、決定部405と、受信制御部406と、送信制御部407と、を含む構成を実現する。
本実施例にかかるハードディスクドライブ装置100のファームウェアプログラムにおいては、ディスク媒体115からデータを読み出す物理的な位置に基づいて、RC機能に従ってデータを読み出すか否か決定する。つまり、画像データなどのある程度の欠損が生じても問題のないデータが格納された領域であれば、RC機能に従って読出制御を行い、ビットレベルで誤りが許されないデータ(例えば制御情報)が格納された領域であれば、RC機能を無視し、必ずリードエラーの検出を行う。
なお、本実施例においては、RC機能が有効にセットされたということは、リードエラーを無視し、リトライを行わない設定がなされたことを意味する。
具体的には、本実施例においては、RC機能が有効にセットされた場合、画像データ等が格納された領域であれば、RC機能に従ってリードエラーは無視される。これに対し、RC機能が有効にセットされた場合であっても、ビットレベルで誤りが許されないデータ(例えば制御情報)が格納された領域であれば、RC機能が無視され、リードエラーの検出が行われる。
なお、RC機能が有効にセットとは、本実施例ではRC機能に‘1’が設定されている場合を示し、RC機能がセットされていない場合とは、RC機能に‘0’が設定されている場合を示す。
そして、本実施例にかかるハードディスクドライブ装置100の、ディスク媒体115では、ゾーン毎にRC機能を無視する領域か否か予め設定されているものとする。
図5は、実施例1にかかるディスク媒体115のゾーン毎に割り当てられた領域を示した概念図である。図5に示す例では、ディスク媒体115は、ゾーン‘0’〜ゾーン‘n’で構成されているものとする。これらゾーンのうち、インナゾーンであるゾーン‘0’〜ゾーン‘m’に制御情報領域が割り当てられ、これら以外のゾーンである‘m+1’〜ゾーン‘n’は、画像情報領域が割り当てられるものとする。なお、mはnより小さい整数とする。
そして、制御情報領域には、制御情報等のビットレベルで誤りが許されないデータが格納される。そして、画像情報領域には、画像データなどのさまざまなユーザデータが格納されるものとする。このように本実施の形態では、データの種類に応じて、ディスク媒体115の格納領域を異ならせている。次に、各処理部が実行する処理について説明する。
受信制御部406は、ホストIF制御部101に命令を行うことで、ホスト装置150との間のデータや命令の受信制御を行う。受信したデータは、必要に応じて、メモリ制御部102の制御により、一時的にバッファメモリ103に格納されることもある。
送信制御部407は、ホストIF制御部101に命令を行い、ホスト装置150に対してデータの送信制御を行う。
書込制御部401は、サーボ制御部111に命令を行い、ディスク媒体115へ書き込む制御を行う。書き込み制御の対象となるデータは、ホスト装置150から書込命令とともに受信したデータであって、一時的にバッファメモリ103に格納されたデータも含まれる。
そして、本実施例にかかる書込制御部401は、ホスト装置150から、制御情報領域内に該当するLBA(Logical Block Address)にデータを書き込む旨の命令を受け付けた場合、ディスク媒体115のインナゾーンである制御情報領域にデータを書き込む制御を行う。また、それ以外のデータについては、書込制御部401は、書き込み命令と共に受け付けたLBAが指し示すその他の領域(画像情報領域)に、データを書き込む制御を行う。
読出制御部402は、サーボ制御部111に命令を行うことで、ディスク媒体115から、リードチャネル106を介してデータの読み出し制御を行う。
決定部405は、ディスク媒体115からデータを読み出す際に、当該データのリードエラーを無視するか否かを決定する。本実施例においては、読み出されたデータが格納されているゾーンがインナゾーンであるか否か、及びRC機能が有効か無効かに基づいて、リードエラーを無視するか否かを決定する。
決定部405がリードエラーを無視すると決定した場合、読出制御部402により読み出されたデータは、後述する検出部403によるリードエラーの検出が行われないものとする。つまり、リードエラーを無視すると決定した場合、読み出されたデータは、リードエラーの検出が行われることなく、送信制御部407からの命令によりホストIF制御部101から送信制御がなされる。
図6は、決定部405が、リードエラーを無視するか否かの決定する条件を示したテーブルである。図6に示したように、RC機能が有効にセット(RC機能=1)され、且つ画像情報領域からデータが読み出された場合に、決定部405はリードエラーを無視すると決定する。そして、RC機能が無効にセット(RC機能=0)され、又は制御情報領域からデータが読み出された場合には、決定部405はリードエラーの検出を行うものと決定する。つまり、本実施例にかかるハードディスクドライブ装置100においては、制御情報領域からデータを読み出す場合、既に設定されているRC機能の影響を受けず、常にRC機能=0が設定されているものとして、読み出し制御が行われる。
例えば、画像情報領域からデータの読み出し等を行っている際に、リードエラーが多発しパフォーマンスが低下した時点で、ホスト装置150が、RC機能を有効にセットした場合、画像情報領域からのデータの読み出しに限り、リトライ無効で動作可能となる。
なお、RC機能の有効、無効は、ANSIの規定によればMode Selectコマンドのように装置側の制御を規定するコマンドにより一律に設定されるものとして、説明を省略する。
図4に戻り、検出部403は、決定部405がリードエラーを無視しないと決定した場合に、読出制御部402が読出制御を行ったデータに対して、リードエラーの検出を行う。
リトライ制御部404は、検出部403によりリードエラーが検出された場合に、リードエラーが検出されたデータの読み出しのリトライの制御を、読出制御部402に対して行う。
次に、読み出しの際の処理手順について説明する。図7は、本実施例のハードディスクドライブ装置100における、RC機能=1の時の、データの読み出し時の処理を示すフローチャートである。このように、図7で示す処理手順においては、既にRC機能=1が設定されているものとする。
まず、受信制御部406が、ホスト装置150から、ホストIF制御部101を制御して、読出命令の受信制御を行う(ステップS701)。
そして、受信制御部406は、受信した読出命令の付与されているCDB(Command Descriptor Block)に格納されている各パラメータの妥当性をチェックする(ステップS702)。
その後、読出制御部402が、受信した読出命令で、読み込み先として示されていたLBA(Logical Block Address)を、CHS(Cylinder/Head/Sector)に変換した後、変換先のCHSについてディフェクトチェック(欠陥領域であるか否かの確認)を行う(ステップS703)。そして、欠陥領域の場合には正常の領域に書き込まれるように制御を行う。
その後、書込制御部401は、ヘッド114が目標のCHSをシークするよう、サーボ制御部111を制御する(ステップS704)。
そして、サーボ制御部111は、ヘッド114のオントラックが完了したか否か判定する(ステップS705)。オントラックが完了しない場合(ステップS705:No)、ステップS704の制御を繰り返し行う。
一方、サーボ制御部111は、ヘッド114のオントラックが完了したと判定した場合(ステップS705:Yes)、ヘッド114の位置まで、目標のセクタが来るのを待機しつつ、フォーマット制御部105がフォーマッタを起動する(ステップS706)。
そして、読出制御部402が読み出し開始を指示することで、ヘッドIC107が、目標のセクタに対する読み出しを開始する(ステップS707)。
次に、決定部405は、データを読み出したセクタが、制御情報領域であるか否かを判定する(ステップS708)。
そして、決定部405が、制御情報領域ではないと判定した場合(ステップS708:No)、RC機能=1なので、リードエラー検出及びリトライ制御は行わないと決定する。そして、ヘッドIC107が、目標のセクタからのデータの読み出しが完了する(ステップS709)。その際、ステップS708の決定に基づいて、ECCチェック等は行わない。
そして、送信制御部407が、ホストIF制御部101を介して、読み出したデータを、ホスト装置150に送信する制御を行う(ステップS716)。
一方、決定部405が、制御情報領域であると判定した場合(ステップS708:Yes)、RC機能=1であっても、リードエラー検出及びリトライ制御を必ず行うと決定する。そして、ヘッドIC107が、目標のセクタからデータの読み出しが完了した後、読出制御部402が、読み出したデータのECCチェックを行う(ステップS710)。
そして、読出制御部402は、当該ECCチェックでエラーが発生したか否かを判定する(ステップS711)。エラーが発生していないと判定した場合(ステップS711:No)、次に、読出制御部402はCRCデータが正当であるか否かを判定する(ステップS712)。そして、CRCデータが正当であると判定した場合(ステップS712:Yes)、送信制御部407が、ホストIF制御部101を介して、読み出したデータを、ホスト装置150に送信する制御を行う(ステップS716)。
一方、ステップS711でエラーが発生したと判定された場合(ステップS711:Yes)、又はCRCデータが正当でないと判定された場合(ステップS712:No)、リトライ制御部404が、リトライアウトか否か判定する(ステップS713)。
リトライアウトでないと判定した場合(ステップS713:No)、リトライ制御部404による制御に基づいて、再び目標のセクタの読み出しを行うためにリトライ制御を行う(ステップS714)。その後、再びステップS706から処理を開始する。
一方、リトライ制御部404が、リトライアウトと判定した場合(ステップS713:Yes)、ホスト装置150に対してエラー報告するよう送信制御部407を制御し、コマンドエラーとして処理を終了する(ステップS715)。これにより、送信制御部407が、ホスト装置150に対して、読み出しでエラーが生じたことを送信することになる。
また、ハードディスクドライブ装置100において、ステップS716でホスト装置150にデータを送信した後、セクタリードが継続して行われる、また、全てのセクタリードが終了した場合に処理が終了する。
本実施例においては、上述した処理手順を行うことで、制御情報領域に格納されたデータについては、RC機能=1と設定した場合でも、リードエラーの検出が行われるため、精度の良い読取処理が行われると共に、画像情報領域についてはデータ転送の遅延を抑止することが可能となった。
すなわち、従来の処理手順においては、RC機能=0の場合には、読み出した全てのデータについて、ECCチェックとCRCによるデータの正当性のチェックとを行うと共に、RC機能=1の場合には、読み出した全てのデータについて、ECCチェックとCRCによるデータの正当性のチェックを全く行っていなかった。このために、RC=1の時に制御情報に誤りが含まれる可能性が向上すると共に、RC=0の時には画像データの読み出しに遅延が生じる可能性があった。つまり、情報を区別することなく読み出しを行っていたために、ある種類の情報に対しては適切な処理であったとしても、別の種類の情報については不適切な処理を行っていたという問題があった。
これに対し、本実施例にかかるハードディスクドライブ装置100では、制御情報と、画像情報等を格納する物理的な位置を変更し、読み出しを行う位置に基づいて、読み出し処理を切り替えるため、各種類の情報について適切な読出制御を行うことができる。
なお、本実施例ではゾーン毎に制御情報領域、又は画像情報領域を割り当てたが、ゾーン毎に制限するものではなく、トラックやシリンダ毎であっても良い。
上述してきたように、本実施例1では、多少の読み取り誤りが許容される動画ファイル、イメージファイルと読み取り誤りの許されない制御情報が、ディスク媒体に混在している場合、ディスクの品質が悪くとも動画再生のパフォーマンス低下を最小限に抑えながら、適切に制御情報の管理を実施できる。これにより従来のRCによる一律制御の不具合を解消できるので、RC機能をより広範で容易に使用可能にする共に、ビット単位で欠落できない制御情報による制御品質を維持することが可能になる。
上述した第1の実施例においては、予めゾーン毎に格納する情報が定められている例について説明した。しかしながら、制御情報を格納する領域を予め定められている場合に制限するものではなく、ホスト装置150からの指定により変更するようにしても良い。そこで、実施例2では、ホスト装置150からの指示により制御情報領域を変更する例について説明する。
図8は、実施例2のハードディスクドライブ装置800における、MPU160がファームウェアプログラムを読み込むことで実現される、実施例2のソフトウェア構成を示した図である。
図8に示すように、ハードディスクドライブ装置800においては、MPU160がファームウェアプログラムを読み込むことで、書込制御部401と、読出制御部402と、検出部403と、リトライ制御部404と、決定部802と、受信制御部406と、送信制御部407と、設定部801を含む構成を実現する。なお、実施例2は、設定部801が追加され、決定部405と処理が異なる決定部802に変更された点で実施例1と異なる。以下の説明では、上述した実施例1と同一の構成要素には同一の符号を付してその説明を省略している。
そして、実施例1ではゾーン毎に領域が設定されていたのに対し、実施例2では、シリンダ毎に制御情報領域又は画像情報領域を設定するものとする。
図9は、ハードディスクドライブ装置800が備える複数のディスク媒体115と、これらディスク媒体115におけるシリンダを示した図である。図に示すように、ディスク媒体115の各面を、シリンダとする。本実施の形態では、シリンダ‘0’〜シリンダ‘n’を備えているものとする。
設定部801は、受信制御部406が、ホスト装置150から制御情報領域を示すシリンダの変更命令を受信した場合に、当該変更命令に基づいて、制御情報領域となるシリンダの設定を行う。
図10は、ディスク媒体115のシリンダ毎に割り当てられた領域を示した概念図である。図10に示す例では、複数のディスク媒体115に基づいて、シリンダ‘0’〜シリンダ‘n’で構成されているものとする。これらシリンダのうち、シリンダ‘0’〜シリンダ ‘m’に制御情報領域が割り当てられ、これら以外のシリンダであるシリンダ‘m+1’〜シリンダ‘n’は、画像情報領域が割り当てられるものとする。なお、mはnより小さい整数とする。
そして、設定部801は、シリンダと領域との対応関係を示す情報を、メモリ制御部102を介して、不揮発メモリ104に対して書込制御を行う。これにより、不揮発メモリ104を参照することで、各シリンダに割り当てられた領域が、制御情報領域又は画像情報領域であるのかを特定できる。なお、設定部801で設定したことのない場合、初期状態として、予め定められたシリンダが、制御情報領域として設定されているものとする。
そして、データの種類と、各シリンダと領域の対応関係と、を把握しているホスト装置150が、書込命令と共に、各データの書き込み先となるアドレス(LBA)を指示する。これにより、書込制御部401は、制御情報領域又は画像情報領域が割り当てられたシリンダ毎に、適切な種類のデータを書き込むことができる。
決定部802は、ディスク媒体115からデータを読み出す際に、メモリ制御部102を介して不揮発メモリ104に格納された各シリンダと領域との対応関係を参照し、読み出すデータについてリードエラーを無視するか否かを決定する。つまり、読み出されたデータが格納されているシリンダが、制御情報領域であるか否かに基づいて、リードエラーを無視するか否かを決定する。
なお、本実施例では、シリンダ毎に制御情報領域又は画像情報領域を割り当てることしたが、シリンダに制限するものではなく、例えばゾーン毎などであっても良い。
上述してきたように、本実施例2では、上述した構成を備えることで、ホスト装置150の指示に従って、シリンダ毎に制御情報領域を変更できると共に、各領域に従った読出制御を行うことができる。つまり、実施例2では、実施例1で示した効果の他に、格納するデータに応じて制御情報領域のサイズを変更できるので、データを効率よく格納することができる。
上述した実施例1〜2においては、データが格納されている位置に基づいてエラー検出等を行うか否か決定する例について説明した。しかしながら、エラー検出等を切り替えるのを、データが格納されている位置に制限するものではなく、読み出すデータの種類に応じて切り替えられればよい。そこで、実施例3では、ホスト装置150からの命令に付与されているCRCに格納されたデータで、エラー検出等を切り替える例について説明する。
ところで、従来、RCの有効、無効は、ANSIの規定によれば、Mode Selectコマンドのようにホスト装置150側の制御を規定するコマンドにより一律に設定されていた。
しかしながら、ホスト装置150は、読出命令を送信している以上、読み出されるデータがどのようなデータ(制御情報又は画像情報)であるか把握している。であるならば、コマンドで設定するのではなく、読み出し命令単位でRC機能を設定する方が、より柔軟にRCの有効、無効を切り替えられることができる。
そこで、本実施例では、ホスト装置150がRC機能付きの読出命令の発行を可能とした上で、ハードディスクドライブ装置1100側では、読出命令に付与されたRC機能により、リトライを行うか否かの決定を行う。
なお、本実施の形態では、読出命令毎に含まれている(8、12、16又は32Byteの)CRC(Command Desriptor Block)内にRCビットを設けることで、RC機能が有効であるか否かを設定可能とする。
図11は、MPU160がファームウェアプログラムを読み込むことで実現される、実施例3のソフトウェア構成を示した図である。
図11に示すように、実施例3のハードディスクドライブ装置1100においては、決定部405と処理が異なる決定部1101に変更された点で実施例1と異なる。以下の説明では、上述した実施例1と同一の構成要素には同一の符号を付してその説明を省略している。
決定部1101は、ディスク媒体115からデータを読み出す際に、受信制御部406が受信した読出命令のCRCに基づいて、読み出すデータのリードエラーを無視するか否かを決定する。
次に、本実施例における、読み出しの際の処理手順について説明する。図12は、本実施例のハードディスクドライブ装置1100における、データの読み出し時の処理を示すフローチャートである。
まず、受信制御部406が、ホスト装置150から、ホストIF制御部101を制御して、読出命令の受信制御を行う(ステップS1201)。
そして、受信制御部406は、受信した読出命令の付与されているCDB(Command Descriptor Block)に格納されている各パラメータの妥当性をチェックする(ステップS1202)。
その後、決定部1101が、CDBに格納されているRCパラメータに‘1’がセットされているか否か判定する(ステップS1203)。決定部1101は、RCパラメータに‘1’がセットされていると判定した場合(ステップS1203:Yes)、RC機能に‘1’を設定する(ステップS1204)。
一方、決定部1101は、RCパラメータに‘0’がセットされていると判定した場合(ステップS1203:No)、RC機能に‘0’を設定する(ステップS1205)。
その後、読出制御部402が、受信した読出命令で、読み込み先として示されていたLBA(Logical Block Address)を、CHS(Cylinder/Head/Sector)に変換した後、変換先のCHSについてディフェクトチェック(欠陥領域であるか否かの確認)を行う(ステップS1206)。そして、欠陥領域の場合には正常の領域に書き込まれるように制御を行う。
その後、書込制御部401は、ヘッド114が目標のCHSをシークするよう、サーボ制御部111を制御する(ステップS1207)。
そして、サーボ制御部111は、ヘッド114のオントラックが完了したか否か判定する(ステップS1208)。オントラックが完了しない場合(ステップS1208:No)、ステップS1207の制御を繰り返し行う。
一方、サーボ制御部111は、ヘッド114のオントラックが完了したと判定した場合(ステップS1208:Yes)、ヘッド114の位置まで、目標のセクタが来るのを待機しつつ、フォーマット制御部105がフォーマッタを起動する(ステップS1209)。
そして、読出制御部402が読み出し開始を指示することで、ヘッドIC107が、目標のセクタに対する読み出しを開始する(ステップS1210)。
次に、決定部1101は、RC機能が‘1’が設定されているか否かを判定する(ステップS1211)。
そして、決定部1101が、RC機能が‘1’と判定した場合(ステップS1211:No)、リードエラー検出及びリトライ制御は行わないと決定する。ヘッドIC107が、目標のセクタからのデータの読み出しが完了する(ステップS1212)。その際、ステップS1211の決定に基づいて、ECCチェック等は行わない。
そして、送信制御部407が、ホストIF制御部101を介して、読み出したデータを、ホスト装置150に送信する制御を行う(ステップS1216)。
一方、決定部405が、RC機能が‘1’ではない(RC機能=0)と判定した場合(ステップS1211:Yes)、リードエラー検出及びリトライ制御を必ず行うと決定する。そして、ヘッドIC107が、目標のセクタからデータの読み出しが完了するまで制御を行った後、読出制御部402が、読み出したデータのECCチェックを行う(ステップS1213)。そして、以降の処理は、実施例1のステップS711〜S716と同様の処理が行われた後に、終了する(ステップS1214〜S1219)。
上述してきたように、本実施例3では、読出命令毎に、RC機能が切り替えられる、換言すれば読み出すデータ毎にRC機能を切り替えられるため、データ毎に適切な読出処理を行うことができる。
さらに、実施例3では、御情報についてはビット単位で欠落が生じることなくデータを読み出すことができるとともに、画像データなどの早く読み出すことが求められるデータについては、リトライを行わないことで、高速にデータの読出を行うことができる。
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)ディスク媒体と、前記ディスク媒体から情報の読出制御を行う読出制御部と、読み出し対象となる情報に対して、当該情報の種類に基づいて、当該情報のリードエラーを無視するか否かを決定する決定部と、前記決定部によりリードエラーを無視すると決定された場合に、前記読出制御部により読み出された前記情報に対してリードエラーの検出を行わずに、当該情報をホスト装置に対して送信する送信部と、を備えたことを特徴とするディスクドライブ装置。
(付記2)前記ディスク媒体は、前記情報の種類に応じて、格納先の物理的な位置が異なり、前記決定部は、前記ディスク媒体における、読み出す対象となる前記情報の物理的な位置に基づいて、当該情報のリードエラーを無視するか否かを決定すること、を特徴とする付記1に記載のディスクドライブ装置。
(付記3)前記決定部は、RC(Read Continuous)機能で読出のリトライを行わない設定がなされていた際、読み出す情報の格納されている物理的な位置が、リトライを行う領域に割り当てられている場合、前記読出制御部が読出制御を行った前記情報に対して、リードエラーの検出を行う検出部と、前記検出部によりリードエラーが検出された場合に、当該情報の読み出しのリトライを行うリトライ制御部と、をさらに備えたことを特徴とする付記2に記載のディスクドライブ装置。
(付記4)前記送信部は、前記リトライ制御部によるリトライで前記情報の読み出しを行っても、適切に当該情報を読み出せなかった場合に、前記ホスト装置に対して、読み出しでエラーが生じたことを送信すること、を特徴とする付記3に記載のディスクドライブ装置。
(付記5)前記ディスク媒体上の物理的な位置に対して、当該位置に格納された情報のリードエラーを無視するか否かを設定する設定部を、さらに備えたことを特徴とする付記2に記載のディスクドライブ装置。
(付記6)前記決定部は、さらに、前記設定部により、リードエラーを無視する前記物理的な位置が設定されていない場合に、予め定められた物理的な位置から読み出した情報について、リードエラーを無視すると決定すること、を特徴とする付記5に記載のディスクドライブ装置。
(付記7)情報の読み出す命令を受信する受信部をさらに備え、前記決定部は、受信した前記命令に付与されていた、リードエラーを無視するか否かを示すフラグに基づいて、当該情報のリードエラーを無視するか否かを決定すること、を特徴とする付記1に記載のディスクドライブ装置。
(付記8)前記決定部が、当該情報のリードエラーを無視しないと決定した場合に、前記読出制御部が読出制御を行った前記情報に対して、リードエラーの検出を行う検出部と、前記検出部によりリードエラーが検出された場合に、当該情報の読み出しのリトライを行うリトライ制御部と、をさらに備えたことを特徴とする付記7に記載のディスクドライブ装置。
(付記9)前記送信部は、前記リトライ制御部によるリトライで前記情報の読み出しを行っても、適切に当該情報を読み出せなかった場合に、前記ホスト装置に対して、読み出しでエラーが生じたことを送信すること、を特徴とする付記8に記載のディスクドライブ装置。
100、800、1100 ハードディスクドライブ装置
101 ホストインタフェース制御部
102 メモリ制御部
103 バッファメモリ
104 不揮発メモリ
105 フォーマット制御回路
106 リードチャネル
107 ヘッドIC
108 MPU
109 RAM
110 プログラム用不揮発性メモリ
111 サーボ制御部
112 SPM
113 VCM
114 ヘッド
115 ディスク媒体
116 コモンバス
120 ホストIF
150 ホスト装置
401 書込制御部
402 読出制御部
403 検出部
404 リトライ制御部
405、802、1101 決定部
406 受信制御部
407 送信制御部
801 設定部

Claims (6)

  1. ディスク媒体と、
    前記ディスク媒体から情報の読出制御を行う読出制御部と、
    読み出し対象となる情報に対して、当該情報の種類に基づいて、当該情報のリードエラーを無視するか否かを決定する決定部と、
    前記決定部によりリードエラーを無視すると決定された場合に、前記読出制御部により読み出された前記情報に対してリードエラーの検出を行わずに、当該情報をホスト装置に対して送信する送信部と、
    を備えたことを特徴とするディスクドライブ装置。
  2. 前記ディスク媒体は、前記情報の種類に応じて、格納先の物理的な位置が異なり、
    前記決定部は、前記ディスク媒体における、読み出す対象となる前記情報の物理的な位置に基づいて、当該情報のリードエラーを無視するか否かを決定すること、
    を特徴とする請求項1に記載のディスクドライブ装置。
  3. 前記決定部は、RC(Read Continuous)機能で読出のリトライを行わない設定がなされていた際、読み出す情報の格納されている物理的な位置が、リトライを行う領域に割り当てられている場合、前記読出制御部が読出制御を行った前記情報に対して、リードエラーの検出を行う検出部と、
    前記検出部によりリードエラーが検出された場合に、当該情報の読み出しのリトライを行うリトライ制御部と、
    をさらに備えたことを特徴とする請求項2に記載のディスクドライブ装置。
  4. 前記ディスク媒体上の物理的な位置に対して、当該位置に格納された情報のリードエラーを無視するか否かを設定する設定部を、さらに備えたことを特徴とする請求項2に記載のディスクドライブ装置。
  5. 情報の読み出す命令を受信する受信部をさらに備え、
    前記決定部は、受信した前記命令に付与されていた、リードエラーを無視するか否かを示すフラグに基づいて、当該情報のリードエラーを無視するか否かを決定すること、
    を特徴とする請求項1に記載のディスクドライブ装置。
  6. 前記決定部が、当該情報のリードエラーを無視しないと決定した場合に、前記読出制御部が読出制御を行った前記情報に対して、リードエラーの検出を行う検出部と、
    前記検出部によりリードエラーが検出された場合に、当該情報の読み出しのリトライを行うリトライ制御部と、
    をさらに備えたことを特徴とする請求項5に記載のディスクドライブ装置。
JP2009152962A 2009-06-26 2009-06-26 ディスクドライブ装置 Pending JP2011008879A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009152962A JP2011008879A (ja) 2009-06-26 2009-06-26 ディスクドライブ装置
US12/819,121 US20100328801A1 (en) 2009-06-26 2010-06-18 Disk drive

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009152962A JP2011008879A (ja) 2009-06-26 2009-06-26 ディスクドライブ装置

Publications (1)

Publication Number Publication Date
JP2011008879A true JP2011008879A (ja) 2011-01-13

Family

ID=43380436

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009152962A Pending JP2011008879A (ja) 2009-06-26 2009-06-26 ディスクドライブ装置

Country Status (2)

Country Link
US (1) US20100328801A1 (ja)
JP (1) JP2011008879A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015172816A (ja) * 2014-03-11 2015-10-01 ファナック株式会社 数値制御装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110050287A (ko) * 2009-11-06 2011-05-13 삼성전자주식회사 리드 리트라이 방법과 상기 방법을 수행할 수 있는 장치들
JP6071296B2 (ja) * 2012-07-20 2017-02-01 キヤノン株式会社 通信制御装置及び通信制御方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02216670A (ja) * 1989-02-16 1990-08-29 Sony Corp データ再生方法及び装置
JPH07111035A (ja) * 1993-10-13 1995-04-25 Matsushita Electric Ind Co Ltd 情報記録再生装置
JP2001331377A (ja) * 2000-05-22 2001-11-30 Hitachi Ltd 再生エラーの処理方法及びこれを用いたディスク装置
JP2003151214A (ja) * 2001-11-08 2003-05-23 Matsushita Electric Ind Co Ltd データ記録再生装置
JP2008276818A (ja) * 2007-04-25 2008-11-13 Hitachi Global Storage Technologies Netherlands Bv ディスク・ドライブ装置及びそのディスクへのアクセス方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09251728A (ja) * 1996-03-15 1997-09-22 Toshiba Corp ディスク記録再生装置及びそのリードエラー処理方法
US6052815A (en) * 1997-11-14 2000-04-18 Cirrus Logic, Inc. ECC system for generating a CRC syndrome over randomized data in a computer storage device
WO2000067255A1 (fr) * 1999-04-30 2000-11-09 Fujitsu Limited Unite de disques
JP2001067603A (ja) * 1999-08-26 2001-03-16 Fujitsu Ltd 情報記憶装置とその制御方法
US6999386B2 (en) * 2000-03-17 2006-02-14 Matsushita Electric Industrial Co., Ltd. Drive, method for reading data, information recording medium reproduction apparatus, and method for reproducing data having reading errors

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02216670A (ja) * 1989-02-16 1990-08-29 Sony Corp データ再生方法及び装置
JPH07111035A (ja) * 1993-10-13 1995-04-25 Matsushita Electric Ind Co Ltd 情報記録再生装置
JP2001331377A (ja) * 2000-05-22 2001-11-30 Hitachi Ltd 再生エラーの処理方法及びこれを用いたディスク装置
JP2003151214A (ja) * 2001-11-08 2003-05-23 Matsushita Electric Ind Co Ltd データ記録再生装置
JP2008276818A (ja) * 2007-04-25 2008-11-13 Hitachi Global Storage Technologies Netherlands Bv ディスク・ドライブ装置及びそのディスクへのアクセス方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015172816A (ja) * 2014-03-11 2015-10-01 ファナック株式会社 数値制御装置

Also Published As

Publication number Publication date
US20100328801A1 (en) 2010-12-30

Similar Documents

Publication Publication Date Title
EP1253590B1 (en) A data storage apparatus that either certifies a recording medium in the background or verifies data written in the recording medium
WO1997035309A1 (fr) Procede pour remplacer un enregistrement defectueux sur un support d'enregistrement en forme de disque, et dispositif d'enregistrement et de reproduction comportant un support d'enregistrement en forme de disque
JP4158717B2 (ja) データ記録再生装置、データ記録再生方法、プログラム、記録媒体
JP2011008879A (ja) ディスクドライブ装置
US7978428B2 (en) Method of reading data stored in a data storage device and data storage device that performs a data read retry operation
US7898757B2 (en) Hard disk drive with divided data sectors and hard disk drive controller for controlling the same
KR20110088240A (ko) 스토리지 시스템과 상기 시스템의 데이터 처리 방법
US20110102932A1 (en) Method of managing defect and apparatuses using the same
JP4696508B2 (ja) 転送制御装置
US20100180149A1 (en) Method and device for storing/reading data on/from a record medium and for transferring information to/from it
JP3818316B2 (ja) 光ディスクの欠陥管理方法、および光ディスク装置
US6834032B2 (en) Method, apparatus, and medium including computer readable code for processing data in a drive
US7571373B1 (en) Post-transmission disk error correction
JP2008299978A (ja) ディスク・ドライブ装置及びディスクからのデータ再生方法
JP3321143B2 (ja) 円盤状記録媒体記録装置及び円盤状記録媒体記録方法
JP3061800B2 (ja) 円盤状記録媒体記録装置及び円盤状記録媒体記録方法
JP3061799B2 (ja) 円盤状記録媒体記録装置及び円盤状記録媒体記録方法
JP3321144B2 (ja) 円盤状記録媒体記録装置及び円盤状記録媒体記録方法
JP4082308B2 (ja) データ記録再生装置、データ記録再生方法、プログラム、記録媒体
JP4598417B2 (ja) データ記録再生装置、データ記録再生方法、プログラム、記録媒体
JP3290431B2 (ja) 円盤状記録媒体再生装置及び円盤状記録媒体再生方法
JP2004303345A (ja) 情報記録再生装置
JP2006286083A (ja) 磁気ディスク装置
JP2604489B2 (ja) 光ディスク処理装置
JPH05274815A (ja) 光ディスク装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110407

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110412

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110802