JP2004335020A - ストリーム系コマンドの書込み処理方法及び媒体記憶装置 - Google Patents
ストリーム系コマンドの書込み処理方法及び媒体記憶装置 Download PDFInfo
- Publication number
- JP2004335020A JP2004335020A JP2003131859A JP2003131859A JP2004335020A JP 2004335020 A JP2004335020 A JP 2004335020A JP 2003131859 A JP2003131859 A JP 2003131859A JP 2003131859 A JP2003131859 A JP 2003131859A JP 2004335020 A JP2004335020 A JP 2004335020A
- Authority
- JP
- Japan
- Prior art keywords
- writing
- write
- command
- sector
- buffer
- 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/18—Error detection or correction; Testing, e.g. of drop-outs
- G11B20/1883—Methods for assignment of alternate areas for defective areas
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/764—Media network packet handling at the destination
-
- 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
- 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
- G11B2020/10731—Data buffering arrangements, e.g. recording or playback buffers aspects of buffer control wherein the buffer I/O can be temporarily suspended, e.g. by refusing to accept further data to be buffered
-
- 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/18—Error detection or correction; Testing, e.g. of drop-outs
- G11B20/1816—Testing
- G11B2020/1823—Testing wherein a flag is set when errors are detected or qualified
-
- 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/18—Error detection or correction; Testing, e.g. of drop-outs
- G11B20/1883—Methods for assignment of alternate areas for defective areas
- G11B2020/1896—Methods for assignment of alternate areas for defective areas using skip or slip replacement to relocate data from a defective block to the next usable block, e.g. with a primary defect list [PDL]
-
- 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
Abstract
【解決手段】ライトストリーム系コマンドのライトデータを格納するバッファ(14)と、バッファ(14)のデータをヘッド(25)により媒体(19)に順次書込むコントローラ(26)と、通常は、エラーすると終了してしまう処理を、エラーセクターを書き飛ばし、継続させ、かつコマンド実行後、書き飛ばしたセクタを書込むための処理ユニット(11)とを設ける。これにより、コマンドで指定された書込み時間を守りつつ、次回からのリード処理で正しく媒体をリードできるように修正できる。
【選択図】図10
Description
【発明の属する技術分野】
本発明は、ストリーム系コマンドにより媒体にデータを書き込むストリーム系コマンドの書込み処理方法及び媒体記憶装置に関し、特に、指定時間内に、データを連続的に書き込むためのストリーム系コマンドの書込み処理方法及び媒体記憶装置に関する。
【0002】
【従来の技術】
近年のデータ処理技術の進展により、動画像や音楽、音声等の処理も可能となっている。このため、データ記憶装置は、これらのデータの記憶に利用されつつある。このような用途のため、Read Stream/Write Streamといったストリーム系のコマンドが用意されている。
【0003】
このストリーム系コマンドは、主にAV(Audio Visual)で使用される。そのため、本来持っているデータ記憶装置(磁気デイスク装置等)の信頼性よりも、パフォーマンス(速度)を優先する。
【0004】
従来のデータ記憶装置では、媒体への書込みの際に、書込みエラーが発生すると、通常はリトライを行い、読み書きを極限まで試みる。しかし、Stream系コマンドは、依頼ユニットが連続的にデータを送信するため、エラーが発生すると、指定時間内でリトライを含めて処理を終了しなければならない。そのため、従来は、書込みエラーが発生したら、そのコマンドをエラー終了していた。
【0005】
【発明が解決しようとする課題】
近年、データ記憶装置の用途拡大に伴い、このようなエラー終了が好ましくない場合もある。例えば、実時間録画、録音の分野では、エラー終了しても、再送を期待できない。
【0006】
又、データが正しく媒体にライトされないセクタが生じ、読み出しても、利用できない場合がある。
【0007】
従って、本発明の目的は、ストリーム系コマンドによるデータライト中に、ライトエラーが発生しても、エラー終了せず、実行時間を守りつつ、且つ正しいデータをライトするためのストリーム系コマンドの書込み処理方法及び媒体記憶装置を提供することにある。
【0008】
又、本発明の他の目的は、ストリーム系コマンドによるデータライト中に、ライトエラーが発生しても、エラー終了せず、実行時間を守りつつ、且つリード時に正しいデータをリードするためのストリーム系コマンドの書込み処理方法及び媒体記憶装置を提供することにある。
【0009】
【課題を解決するための手段】
この目的の達成のため、本発明による、ヘッドにより、記憶媒体に、ストリーム系コマンドに応じて、ライトデータを書込むストリーム系コマンドの書込み処理方法は、前記ストリーム系コマンドの受信したライトデータをバッファに書込むステップと、前記バッファのライトデータを前記ヘッドにより前記記憶媒体に書込みが成功したかを確認しながら、順次前記記憶媒体に書込むステップと、前記書込みステップにおいて、前記書込みが成功しなかった場合に、前記書込みが成功しなかったセクタを書き飛ばし、前記成功しなかったセクタのライトデータを前記バッファでプロテクトするステップと、前記ストリーム系コマンドの実行後、前記プロテクトしたセクタのライトデータを前記ヘッドにより前記記憶媒体に書込むステップとを有する。
【0010】
又、本発明による、記憶媒体に、ヘッドによりデータを書込む媒体記憶装置は、ストリーム系コマンドとともに受信したライトデータを格納するバッファと、前記バッファのライトデータを前記ヘッドにより、順次前記記憶媒体に書込むためのコントローラと、前記書込みが成功したかを確認し、前記書込みが成功しなかった場合に、前記書込みが成功しなかったセクタを書き飛ばし、前記成功しなかったセクタのライトデータを前記バッファでプロテクトする処理ユニットとを有し、前記処理ユニットは、前記ストリーム系コマンドの実行後、前記プロテクトしたセクタのライトデータを前記ヘッドにより前記記憶媒体に書込む。
【0011】
本発明では、ライトストリーム系コマンドにおいて、通常は、エラーすると終了してしまう処理を、エラーセクターを書き飛ばし、継続させ、かつコマンド実行後、書き飛ばしたセクタを書込むため、コマンドで指定された書込み時間を守りつつ、次回からのリード処理で正しく媒体をリードできるように修正できる。
【0012】
又、本発明では、好ましくは、前記書込みが成功しなかった場合に、前記記憶媒体への書込み処理を停止した後、前記ヘッドの書込み処理を再起動するステップを更に有する。これにより、ヘッドのエラー状態を回復して、書込みを継続できる。
【0013】
又、本発明では、好ましくは、前記プロテクトステップは、前記書込みが成功しなかったセクタと、再起動まで書き飛ばしたセクタとのライトデータをプロテクトするステップからなる。これにより、書込み処理を停止して、再起動しても、書き飛ばしたライトデータをプロテクトできる。
【0014】
又、本発明では、好ましくは、前記プロテクトしたセクタのライトデータを書込むステップは、前記ライトデータの書込みが成功しなかった場合に、所定回数のリトライを許可するステップからなる。これにより、リトライが許可されるため、一層書込みが確実となる。
【0015】
又、本発明では、好ましくは、前記プロテクトステップは、前記書込みが成功しなかったセクタと、前記セクタのライトデータの前記バッファのアドレスをプロテクトテーブルに格納するステップを有する。プロテクトテーブルに記録するため、書込み処理を継続しても、後に書き飛ばしたセクタを認識できる。
【0016】
更に、本発明では、好ましくは、前記プロテクトしたセクタのライトデータを書込むステップは、前記プロテクトテーブルを参照して、前記バッファのライトデータを書込むステップからなる。これにより、容易に、書き飛ばしたセクタを書込みできる。
【0017】
更に、本発明では、好ましくは、前記プロテクトステップは、前記ライト処理を停止した後、前記再起動までの時間を考慮した最短の開始セクタを計算するステップと、前記書込みが成功しなかったセクタと、前記計算結果から得た前記再起動まで書き飛ばしたセクタとのライトデータをプロテクトするステップからなる。これにより、書き飛ばしたセクタを容易に検出できる。
【0018】
更に、本発明では、好ましくは、前記記憶媒体が、回転するデイスク媒体からなる。これにより、大容量の媒体に適用できる。
【0019】
更に、本発明では、好ましくは、前記プロテクトステップは、前記書込みが成功しなかった場合に、前記コマンドが前記ストリーム系コマンドであることを認識して、前記プロテクトを実行するステップからなる。これにより、通常の書込み処理ルーチンを利用して、ストリーム系コマンドの書込み処理を実行できる。
【0020】
【発明の実施の形態】
以下、本発明の実施の形態を、媒体記憶装置、ストリーム系コマンドのデータライト処理、他の実施の形態の順で説明する。
【0021】
[媒体記憶装置]
図1は、本発明の一実施の形態の媒体記憶装置の構成図、図2は、図1のタスクファイルの説明図、図3は、図2のフューチャレジスタの説明図、図4は、図1のメモリのテーブルの説明図、図5は、図4のテーブルの構成図、図6は、図1のデータバッファの説明図である。
【0022】
図1は、媒体記憶装置として、磁気デイスクにデータをリード/ライトする磁気デイスク装置(HDD)を例に示す。磁気デイスク装置10は、パーソナルコンピュータ等のホストとATA(AT Attachment)規格のインタフェイスのケーブル9で接続される。
【0023】
磁気デイスク装置10は、磁気デイスク19と、磁気デイスク19を回転するスピンドルモータ20と、磁気デイスク19にデータをリード/ライトする磁気ヘッド25と、磁気ヘッド25を磁気デイスク19の半径方向(トラック横断方向)に移動するアクチュエータ(VCM)22とを備える。
【0024】
又、制御部として、HDC(Hard Disk Controller)26と、データバッファ14と、MPU11と、メモリ13と、ヘッドIC18と、スピンドルモータドライバ21と、VCMドライバ23と、位置検出部24と、これらを接続するバス17とを備える。
【0025】
HDC26は、ホストからタスクをセットするタスクファイル12Aを有するATAインタフェース制御回路12と、データバッファ14を制御するデータバッファ制御回路15と、記録データのフォーマットの制御を行うフォーマッタ制御回路16とを有する。
【0026】
ヘッドIC18は、ライト時は、記録データに従い磁気ヘッド25に記録電流を流し、リード時は、磁気ヘッド25からの読取信号を増幅して、リードデータ(サーボ情報を含む)を出力する。位置検出部24は、ヘッドIC18からのサーボ情報から磁気ヘッド25の位置を検出する。
【0027】
スピンドルドライバ21は、スピンドルモータ20を回転駆動する。VCMドライバ23は、磁気ヘッド25を移動するVCM22を駆動する。MPU(Micro Processor)11は、磁気ヘッド25の位置制御、リード/ライト制御、リトライ制御を行う。メモリ13は、MPU11の処理に必要なテーブル、データを格納する。
【0028】
図2は、ホストからのコマンド列(タスク)が設定される図1のATA規格のタスクファイル(レジスタ)12Aの説明図である。コマンドレジスタ1F7には、リード、ライト等のコマンドを設定する。デバイス/ヘッドレジスタ1F6、シリンダハイ、ロー、セクタ番号レジスタ1F5〜1F3に、開始アドレスが設定される。セクターカウントレジスタ1F2に、リード/ライトのセクタ数が設定される。
【0029】
フューチャレジスタ1F1には、リード/ライトの形態が指定される。図3に示すように、8ビットのフューチャレジスタ1F1のビット7が、URGENT(URG)ビット、ビット6が、WRITE CONTINUE(WC)ビットである。URGビットは、緊急処理を指定し、例えば、ライトコマンドでは、リトライを禁止し、ライト動作を実行することを指定する。WCビットは、ライト継続を指定し、数回のリトライのみが許可されるライトモードを指定する。
【0030】
本実施の形態では、URGビット、又はWCビットの指定で、ストリーム系コマンドであることを指定する。
【0031】
図4は、図1のメモリ13に設定されるテーブルの説明図、図5は、図4のテーブルの構成図、図6は、図1のデータバッファ14の説明図である。図4に示すように、メモリ13には、コマンドテーブル13Aと、プロテクトテーブル13Bが設けられる。
【0032】
図6に示すように、データバッファ14には、ホストからのライトデータ又はホストへのリードデータが、各バッファアドレス位置に、LBA単位で格納される。
【0033】
図5に示すように、コマンドテーブル13Aは、ホストから受けたコマンドと、開始LBA(論理ブロックアドレス)、セクターカウント数、後述するプロテクトビットを格納する。プロテクトテーブル13Bは、プロテクトするコマンド番号と、図6のデータバッファ14の領域のプロテクトする開始LBAと、プロテクトするセクターカウント数と、そのデータバッファ14のアドレスと、プロテクトビットとを格納する。
【0034】
[ストリーム系コマンドのデータライト処理]
次に、前述の構成において、ストリーム系コマンドを受信した場合のデータライト処理を、図7乃至図9の処理フロー図で説明する。
【0035】
(S10)MPU11は、HDC26経由でのホストからのコマンドが一定時間ないかを判定する。一定時間ホストからのコマンドがないと判定すると、図9のステップS32に進む。
【0036】
(S12)MPU11は、ホストからHDC26がコマンドを受け取ったかを判定する。受け取ってないと、ステップS10に戻る。
【0037】
(S14)MPU11は、ホストからHDC26経由で、コマンドを受け取ると、MPU11は、そのコマンドコードを解析し、HDC26にそのコマンドに対応した命令を発する。即ち、MPU11は、コマンドコード解析により、Write Stream PIO(Port Input/Output)コマンドでないと判定すると、通常処理をHDC26に発する。尚、通常処理は、データの信頼性を重視し、時間にかかわらず、リード/ライトエラーに対し、所定回数のリトライを行い、データの信頼性を保つ。
【0038】
(S16)一方、MPU11は、Write Stream PIOコマンドと判定すると、メモリ13上にあるコマンドテーブル13Aを、HDC26のタスクファイル12Aにセットされたコマンド(図2参照)に従い、更新する。又、ホストから送られたライトデータは、HDC26(ATAインタフェース制御回路12、バッファ制御回路15)を経由して、データバッファ14に格納される(図6参照)。
【0039】
(S18)次に、MPU11は、HDC26に、Write Stream PIOの動作を指示する。これにより、HDC26のバッファ制御回路15は、受け取ったバッファ14上のライトデータを、フォーマット回路16、ヘッドIC18を介し磁気ヘッド25を駆動して、磁気デイスク19へライト動作を行う。
【0040】
(S20)MPU11は、位置検出部24からの復調位置を検出し、VCMドライバ23を介してVCM22を駆動し、磁気ヘッド25を指定トラックに位置制御する。又、復調位置から磁気ヘッドがトラック中心から所定範囲外れた(オフトラックエラー)かを判定している。
【0041】
(S22)MPU11は、オフトラックエラー等のライトエラーと判定すると、その時点(ライト系エラーが発生した時)で、HDC26の媒体ライト処理を停止する。次に、今回のコマンドが、フューチャレジスタ1F1(図3参照)が、URG bit(Urgent bit)付きなので、リトライを行わずに、MPU11は、再起動までの時間を考慮した最短の開始LBAを計算する。即ち、ライトエラーでライト動作を停止しても、磁気デイスク19は、回転しているため、再起動(VCM22による磁気ヘッド25のトラック中心への復帰及びその確認)まで、所定数のセクタ(LBA)の書込みができない。
【0042】
(S24)MPU11は、メモリ13上のプロテクトテーブル13B(図4参照)の更新を行う。即ち、プロテクトテーブル13Bに、書けなかった開始LBAと、前述の最短の開始LBAから計算した書けなかったセクターカウント数、バッファ14のそのバッファアドレスと、プロテクトビット(保護フラグ)を追加する。即ち、エラーセクターと、再起動までの書き飛ばしセクタのデータを保護する。
【0043】
(S26)MPU11は、後述する図10に示すように、LBA11から再起動可能だと計算したとすると、LBA5から10までは何も行わず、LBA11からHDC26に再度媒体ライト処理を起動させる。そして、ステップS18に戻る。図10では、LBA4でライトエラーが検出されているから、実際ライトできなかった、またはライトしていないLBAは、LBA4からLBA10までということになる。
【0044】
(S28)一方、ステップS20でライト系エラーを検出しないと、MPU11は、HDC26からコマンドの終了通知があるかを判定する。終了通知がないと、ステップS18に戻る。
【0045】
(S30)MPU11は、HDC26からコマンドの終了を受けると、メモリ13上のコマンドテーブル13A(図5参照)の更新を行う。即ち、コマンドテーブル13Aのプロテクトビットを「1」から「0」に変更する。そして、図7のステップS10に戻る。尚、その後MPU11は、新たにコマンドがホストにより発行された場合でも、データを格納しているバッファ14上のバッファアドレス 0x0600〜0x13FF(図6参照)までは、プロテクトテーブル13B(図5参照)で保護されている為、使用しない。
【0046】
(S32)一方、ステップS10で、この後、ホストが暫くコマンドを発行しなかったかを判定する。例として、1分間コマンド発行がないかを判定する。所定時間コマンドを受領しなければ、MPU11は、メモリ13上のプロテクトテーブル13B(図5参照)を基に、HDC26に、再度媒体ライト処理を指示する。この時は、ホストから発行されたコマンドではないので、HDC26は、フルリトライを行い、極力媒体ライトを完了するように試みる。即ち、MPU11は、オフトラックエラー等のライトエラーと判定すると、その時点(ライト系エラーが発生した時)で、HDC26の媒体ライト処理を停止し、リトライを行う。
【0047】
(S34)次に、MPU11は、リトライアウト(所定回のリトライを行っても、エラーが継続する)かを判定する。
【0048】
(S36)リトライアウトでない場合、即ち、媒体ライトが完了した場合には、MPU11は、HDC26からのライト完了を受ける。MPU11は、ライト完了を受けると、HDC経由の媒体ライト処理を終了し、図5のプロテクトテーブル13Bを更新する。即ち、実行したプロテクトテーブル13Bをクリアし、ステップS10の通常シーケンスである、コマンド受領待機状態に戻る。
【0049】
(S38)ステップS34で、フルリトライでも、媒体ライトに失敗してしまった場合には、そのLBAにライトする事を諦め、次のLBAのライトへと移行する。例として、LBA4へのフルリトライ媒体ライトが失敗したとしたら、LBA4は諦め、次のLBA5へのフルリトライ媒体ライトへと移行する。又、ステップS36で、ライト完了でないと判定すると、次のLBAのライトに移行する。そして、ステップS32に戻る。
【0050】
即ち、図9のフローでは、ステップS32からS38までの工程を、プロテクトテーブル13Bに記されているセクターカウント数分繰り返す。その工程を全て完了したら、図5のプロテクトテーブル13Bを更新し、バッファデータ14の保護を解除する。MPU11は、次からのコマンド受領時に、バッファアドレス 0x0600〜0x13FF(図6参照)まで使用する動作を行う。
【0051】
図10乃至図13の具体例で、詳細に説明する。図11に示すようなコマンドシーケンスでホストからコマンド(No.0,No.1…)が発行されたものとする。その時、MPU11は、メモリ13上にあるコマンドテーブル13Aを更新する(図12参照)。
【0052】
ホストから送られたライトデータは、図6に示したように、HDC26を経由してバッファ14に格納される。MPU11は、Write Stream PIOと判断し、HDC26に指示し、HDC26は、受け取ったバッファ14上のライトデータを、媒体19へライト動作する。
【0053】
そして、図11のコマンドNo.0,No.1は問題なく媒体にライトされ、ホストへ正常終了のステータスを返す。その後、No.2のコマンドでライト系エラー(オフトラック等)が発生したとすると、その時点(ライト系エラーが発生した時)で、HDC26は媒体ライト処理を停止する。今回のコマンドは、フューチャレジスタがURG bit(Urgent bit)付きなので、リトライを行わずに、MPU11にて再起動までの時間を考慮した最短の開始LBAを計算する。
【0054】
そこで、MPU11は、メモリ13上のプロテクトテーブル13Bの更新を,図13のように、行う。即ち、図13の下段のプロテクトテーブル13Bに示すように、書けなかった開始LBAと,セクターカウント数と、バッファアドレスと、プロテクトビットを追加する。
【0055】
図10に示すように、LBA4でライトエラーが検出され、MPU11がLBA11から再起動可能であると計算したとすると、LBA5からLBA10までは何も行わず(書き飛ばし)、LBA11からHDC経由で再度媒体ライトを起動する。この時、実際にライトできなかった、またはライトしていないLBAは,図10のLBA4からLBA10までということになる。
【0056】
コマンドが終了すると,MPU11は、メモリ13上のコマンドテーブル13Aの更新を行い、そのプロテクトビットを「1」から「0」に変更する(図12参照)。その後、MPU11は、新たにコマンドがホストにより発行された場合でも、データを格納しているバッファ14上(図6)のバッファアドレス 0x0600〜0x13FFまでは使用しないように、プロテクトテーブル13B(図13参照)で保護される。
【0057】
この後、ホストが暫くコマンドを発行しなかった、例えば、1分間コマンド発行がなければ、MPU11は、先程まで保護していた図6のバッファデータを,メモリ13上のプロテクトテーブル13B(図13参照)を基に、再度媒体ライト処理を行う。この時は、ホストから発行されたコマンドではないので、フルリトライを行い、極力媒体ライトを完了するように試みる。
【0058】
ここで、媒体ライトができた場合には、MPU11は,そのままHDC経由の媒体ライト処理を終了し、図13のプロテクトテーブル13Bを更新し、通常シーケンスである、コマンド受領待機状態に戻る。
【0059】
フルリトライでも媒体ライトに失敗してしまった場合には、そのLBAにライトする事を諦め、次のLBAのライトへ移行する。例として、LBA4へのフルリトライ媒体ライトが失敗したとしたら、LBA4は諦め、次のLBA5へのフルリトライ媒体ライトへと移行する。
【0060】
その工程をプロテクトテーブル13B(図13参照)に記されているセクターカウント数分繰り返す。その工程を全て完了したら、図13のプロテクトテーブル13Bを更新し、バッファデータの保護(図6)を解除する。プロテクトテーブル13Bが、この状態になると、MPU11は,次からのコマンド受領時に、バッファアドレス 0x0600〜0x13FF(図6)まで使用する動作を行う。
【0061】
このように、本発明によれば、Write Stream関連コマンドにおいて、通常は、エラーすると終了してしまう処理を継続させることが出来、かつ次回からのリード処理で正しく媒体をリードできるように修正できる。
【0062】
又、一定時間、ホストからコマンド発行がない時に、書き飛ばしたセクタを書き込むので、ホストを使用せずに実行できる。更に、プロテクトテーブルを設け、書き飛ばしたセクタを記憶し、且つバッファ上でこれを保護するため、バッファからデータが消失することを防止し、確実に、コマンド終了後、ライト処理できる。
【0063】
しかも、コマンド終了後の再書込みでは、フルリトライを行うことができるため、一層、書き飛ばしたセクタの書込みが確実となる。
【0064】
[他の実施の形態]
前述の実施の形態では、媒体を磁気デイスクで説明したが、光デイスク、光磁気デイスク、他の記憶媒体にも適用できる。又、ライトエラーをオフトラックで説明したが、他のライトエラーにも適用できる。更に、インタフェースは、ATAに限らず、他のインタフェースにも適用できる。
【0065】
しかも、アージェントビットの例で説明したが、数回のリトライの余裕があるライトコンテニュービットでも、同様に実現できる。更に、バッファにプロテクト領域を別途設け、プロテクトしたデータをコピーしても良い。
【0066】
以上、本発明を実施の形態により説明したが、本発明の趣旨の範囲内において、本発明は、種々の変形が可能であり、本発明の範囲からこれらを排除するものではない。
【0067】
(付記1)ヘッドにより、記憶媒体に、ストリーム系コマンドに応じて、ライトデータを書込むストリーム系コマンドの書込み処理方法において、前記ストリーム系コマンドの受信したライトデータをバッファに書込むステップと、前記バッファのライトデータを前記ヘッドにより前記記憶媒体に書込みが成功したかを確認しながら、順次前記記憶媒体に書込むステップと、前記書込みステップにおいて、前記書込みが成功しなかった場合に、前記書込みが成功しなかったセクタを書き飛ばし、前記成功しなかったセクタのライトデータを前記バッファでプロテクトするステップと、前記ストリーム系コマンドの実行後、前記プロテクトしたセクタのライトデータを前記ヘッドにより前記記憶媒体に書込むステップとを有することを特徴とするストリーム系コマンドの書込み処理方法。
【0068】
(付記2)前記書込みが成功しなかった場合に、前記記憶媒体への書込み処理を停止した後、前記ヘッドの書込み処理を再起動するステップを更に有することを特徴とする付記1のストリーム系コマンドの書込み処理方法。
【0069】
(付記3)前記プロテクトステップは、前記書込みが成功しなかったセクタと、再起動まで書き飛ばしたセクタとのライトデータをプロテクトするステップからなることを特徴とする付記2のストリーム系コマンドの書込み処理方法。
【0070】
(付記4)前記プロテクトしたセクタのライトデータを書込むステップは、前記ライトデータの書込みが成功しなかった場合に、所定回数のリトライを許可するステップからなることを特徴とする付記1のストリーム系コマンドの書込み処理方法。
【0071】
(付記5)前記プロテクトステップは、前記書込みが成功しなかったセクタと、前記セクタのライトデータの前記バッファのアドレスをプロテクトテーブルに格納するステップを有することを特徴とする付記1のストリーム系コマンドの書込み処理方法。
【0072】
(付記6)前記プロテクトしたセクタのライトデータを書込むステップは、前記プロテクトテーブルを参照して、前記バッファのライトデータを書込むステップからなることを特徴とする付記5のストリーム系コマンドの書込み処理方法。
【0073】
(付記7)前記プロテクトステップは、前記ライト処理を停止した後、前記再起動までの時間を考慮した最短の開始セクタを計算するステップと、前記書込みが成功しなかったセクタと、前記計算結果から得た前記再起動まで書き飛ばしたセクタとのライトデータをプロテクトするステップからなることを特徴とする付記3のストリーム系コマンドの書込み処理方法。
【0074】
(付記8)前記記憶媒体が、回転するデイスク媒体からなることを特徴とする付記1のストリーム系コマンドの書込み処理方法。
【0075】
(付記9)前記プロテクトステップは、前記書込みが成功しなかった場合に、前記コマンドが前記ストリーム系コマンドであることを認識して、前記プロテクトを実行するステップからなることを特徴とする付記1のストリーム系コマンドの書込み処理方法。
【0076】
(付記10)記憶媒体に、ヘッドによりデータを書込む媒体記憶装置において、ストリーム系コマンドとともに受信したライトデータを格納するバッファと、前記バッファのライトデータを前記ヘッドにより、順次前記記憶媒体に書込むためのコントローラと、前記書込みが成功したかを確認し、前記書込みが成功しなかった場合に、前記書込みが成功しなかったセクタを書き飛ばし、前記成功しなかったセクタのライトデータを前記バッファでプロテクトする処理ユニットとを有し、前記処理ユニットは、前記ストリーム系コマンドの実行後、前記プロテクトしたセクタのライトデータを前記ヘッドにより前記記憶媒体に書込むことを特徴とする媒体記憶装置。
【0077】
(付記11)前記処理ユニットは、前記書込みが成功しなかった場合に、前記記憶媒体への書込み処理を停止した後、前記ヘッドの書込み処理を再起動することを特徴とする付記10の媒体記憶装置。
【0078】
(付記12)前記処理ユニットは、前記書込みが成功しなかったセクタと、再起動まで書き飛ばしたセクタとのライトデータをプロテクトすることを特徴とする付記11の媒体記憶装置。
【0079】
(付記13)前記処理ユニットは、前記プロテクトしたセクタのライトデータを書込む際に、前記ライトデータの書込みが成功しなかった場合に、所定回数のリトライを許可することを特徴とする付記10の媒体記憶装置。
【0080】
(付記14)前記処理ユニットは、前記書込みが成功しなかったセクタと、前記セクタのライトデータの前記バッファのアドレスをプロテクトテーブルに格納することを特徴とする付記10の媒体記憶装置。
【0081】
(付記15)前記処理ユニットは、前記プロテクトテーブルを参照して、前記バッファのライトデータを書込むことを特徴とする付記14の媒体記憶装置。
【0082】
(付記16)前記処理ユニットは、前記ライト処理を停止した後、前記再起動までの時間を考慮した最短の開始セクタを計算し、前記書込みが成功しなかったセクタと、前記計算結果から得た前記再起動まで書き飛ばしたセクタとのライトデータをプロテクトすることを特徴とする付記12の媒体記憶装置。
【0083】
(付記17)前記記憶媒体が、回転するデイスク媒体からなることを特徴とする付記10の媒体記憶装置。
【0084】
(付記18)前記処理ユニットは、前記書込みが成功しなかった場合に、前記コマンドが前記ストリーム系コマンドであることを認識して、前記プロテクトを実行することを特徴とする付記10の媒体記憶装置。
【0085】
【発明の効果】
このように、本発明では、ライトストリーム系コマンドにおいて、通常は、エラーすると終了してしまう処理を、エラーセクターを書き飛ばし、継続させ、かつエラーセクターのデータをプロテクトし、コマンド実行後、書き飛ばしたセクタを書込むため、コマンドで指定された書込み時間を守りつつ、次回からのリード処理で正しく媒体をリードできるように修正できる。
【図面の簡単な説明】
【図1】本発明の一実施の形態の媒体記憶装置の構成図である。
【図2】図1のタスクファイルの説明図である。
【図3】図2のフューチャレジスタの説明図である。
【図4】図1のメモリのテーブルの説明図である。
【図5】図4のテーブルの詳細構成図である。
【図6】図1のデータバッファの説明図である。
【図7】本発明の一実施の形態の書込み処理フロー図(その1)である。
【図8】本発明の一実施の形態の書込み処理フロー図(その2)である。
【図9】本発明の一実施の形態の書込み処理フロー図(その3)である。
【図10】図7乃至図9の処理の動作説明図である。
【図11】図7乃至図9の処理のストリーム系ライトコマンドの一例の説明図である。
【図12】図11のストリーム系ライトコマンド例のコマンドテーブルの説明図である。
【図13】図11のストリーム系ライトコマンド例のプロテクトテーブルの説明図である。
【符号の説明】
10 媒体記憶装置(磁気デイスク装置)
11 MPU(処理ユニット)
12 ATAインタフェース制御回路
12A タスクファイル
13 メモリ
13A コマンドテーブル
13B プロテクトテーブル
14 データバッファ
15 データバッファ制御回路
19 媒体(磁気デイスク)
20 スピンドルモータ
22 アクチュエータ(VCM)
25 ヘッド(磁気ヘッド)
26 コントローラ(HDC)
Claims (5)
- ヘッドにより、記憶媒体に、ストリーム系コマンドに応じて、ライトデータを書込むストリーム系コマンドの書込み処理方法において、
前記ストリーム系コマンドの受信したライトデータをバッファに書込むステップと、
前記バッファのライトデータを前記ヘッドにより前記記憶媒体に書込みが成功したかを確認しながら、順次前記記憶媒体に書込むステップと、
前記書込みステップにおいて、前記書込みが成功しなかった場合に、前記書込みが成功しなかったセクタを書き飛ばし、前記成功しなかったセクタのライトデータを前記バッファでプロテクトするステップと、
前記ストリーム系コマンドの実行後、前記プロテクトしたセクタのライトデータを前記ヘッドにより前記記憶媒体に書込むステップとを有する
ことを特徴とするストリーム系コマンドの書込み処理方法。 - 前記書込みが成功しなかった場合に、前記記憶媒体への書込み処理を停止した後、前記ヘッドの書込み処理を再起動するステップを更に有する
ことを特徴とする請求項1のストリーム系コマンドの書込み処理方法。 - 前記プロテクトステップは、前記書込みが成功しなかったセクタと、再起動まで書き飛ばしたセクタとのライトデータをプロテクトするステップからなる
ことを特徴とする請求項2のストリーム系コマンドの書込み処理方法。 - 前記プロテクトしたセクタのライトデータを書込むステップは、前記ライトデータの書込みが成功しなかった場合に、所定回数のリトライを許可するステップからなる
ことを特徴とする請求項1のストリーム系コマンドの書込み処理方法。 - 記憶媒体に、ヘッドによりデータを書込む媒体記憶装置において、
ストリーム系コマンドとともに受信したライトデータを格納するバッファと、前記バッファのライトデータを前記ヘッドにより、順次前記記憶媒体に書込むためのコントローラと、
前記書込みが成功したかを確認し、前記書込みが成功しなかった場合に、前記書込みが成功しなかったセクタを書き飛ばし、前記成功しなかったセクタのライトデータを前記バッファでプロテクトする処理ユニットとを有し、
前記処理ユニットは、前記ストリーム系コマンドの実行後、前記プロテクトしたセクタのライトデータを前記ヘッドにより前記記憶媒体に書込む
ことを特徴とする媒体記憶装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003131859A JP2004335020A (ja) | 2003-05-09 | 2003-05-09 | ストリーム系コマンドの書込み処理方法及び媒体記憶装置 |
US10/789,304 US7389378B2 (en) | 2003-05-09 | 2004-02-27 | Write processing method for stream type commands and medium storage apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003131859A JP2004335020A (ja) | 2003-05-09 | 2003-05-09 | ストリーム系コマンドの書込み処理方法及び媒体記憶装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004335020A true JP2004335020A (ja) | 2004-11-25 |
Family
ID=33410592
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003131859A Pending JP2004335020A (ja) | 2003-05-09 | 2003-05-09 | ストリーム系コマンドの書込み処理方法及び媒体記憶装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7389378B2 (ja) |
JP (1) | JP2004335020A (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI253642B (en) * | 2004-04-20 | 2006-04-21 | Mediatek Inc | Re-connection method of writing optical disk for automatic optical drive carrier |
US20080024450A1 (en) * | 2006-07-28 | 2008-01-31 | International Business Machines Corporation | A system for command-line keyboard buffer viewing and editing |
EP1965384A1 (en) * | 2007-03-01 | 2008-09-03 | Deutsche Thomson OHG | Non-chronological AV-stream recording |
CN108287854B (zh) * | 2017-01-10 | 2021-06-22 | 网宿科技股份有限公司 | 一种流计算中数据持久化的方法和系统 |
JP2023100303A (ja) * | 2022-01-06 | 2023-07-19 | ローム株式会社 | メイン装置、サブ装置、及び通信システム |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3642810B2 (ja) | 1994-10-31 | 2005-04-27 | シャープ株式会社 | 情報記録再生装置 |
JP2836539B2 (ja) * | 1995-09-06 | 1998-12-14 | 日本電気株式会社 | 記録中ベリファイ装置 |
JPH09161416A (ja) | 1995-12-06 | 1997-06-20 | Sony Corp | 記録装置 |
US6038619A (en) * | 1997-05-29 | 2000-03-14 | International Business Machines Corporation | Disk drive initiated data transfers responsive to sequential or near sequential read or write requests |
JP3273502B2 (ja) * | 1998-11-26 | 2002-04-08 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ディスクドライブ装置、ディスクドライブ装置のエラー回復処理方法及びディスクドライブ制御装置 |
JP3206657B2 (ja) * | 1999-02-05 | 2001-09-10 | 日本電気株式会社 | 交替処理方法および情報記録再生装置 |
JP2001135017A (ja) * | 1999-11-02 | 2001-05-18 | Nec Corp | データ記憶装置及びデータ記憶装置用インタフェース装置 |
JP2001155303A (ja) | 1999-11-30 | 2001-06-08 | Nec Corp | 磁気ディスク装置 |
JP3869365B2 (ja) * | 2000-07-21 | 2007-01-17 | 富士通株式会社 | ディスク記録装置、および記録ディスクのセクタ交替方法 |
EP1393318A2 (en) * | 2001-05-09 | 2004-03-03 | Koninklijke Philips Electronics N.V. | A method of and a system to play a media file comprising a corrupt sector |
JP2003316523A (ja) * | 2002-04-12 | 2003-11-07 | Internatl Business Mach Corp <Ibm> | データ記憶装置、実行コマンドの選択方法およびデータ処理方法 |
US20040100712A1 (en) * | 2002-11-27 | 2004-05-27 | Riospring, Inc. | Handling data fault and retry in writing/reading data to/from a disk |
US7082494B1 (en) * | 2002-12-24 | 2006-07-25 | Western Digital Technologies, Inc. | Disk drive executing a preemptive multitasking operating system comprising tasks of varying priority |
KR100555502B1 (ko) * | 2003-06-26 | 2006-03-03 | 삼성전자주식회사 | 하드디스크 드라이브의 최적화 방법, 이에 적합한 장치 및기록 매체 |
US7027241B2 (en) * | 2003-10-14 | 2006-04-11 | Hitachi Global Storage Technologies Netherlands B.V. | Defect management for HDD with variable index architecture |
-
2003
- 2003-05-09 JP JP2003131859A patent/JP2004335020A/ja active Pending
-
2004
- 2004-02-27 US US10/789,304 patent/US7389378B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US7389378B2 (en) | 2008-06-17 |
US20040225710A1 (en) | 2004-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4679943B2 (ja) | データ記憶装置及びその不揮発性メモリ内データ書き換え処理方法 | |
JP5339817B2 (ja) | 異なるサイズのデータ・セクタによるインターフェースをサポートするディスク・ドライブ装置及びそのデータ・ライト方法 | |
US6061805A (en) | Method for executing an error recovery procedure | |
JP2009266333A (ja) | データ記憶装置及び隣接トラック書き直し処理方法。 | |
US7490259B2 (en) | Error recovery method for data storage device, data storage device, and magnetic disk storage device | |
JP2009238304A (ja) | データ記憶装置及びデータ記憶装置のライト処理方法。 | |
US8151167B2 (en) | Program processing device and program processing method | |
JPWO2009050765A1 (ja) | 媒体記憶装置のリード/ライト処理方法及び媒体記憶装置 | |
US8117491B2 (en) | Disk-drive device and method for error recovery thereof | |
US8320066B2 (en) | Storage device and read/write processing method therefor | |
JP2006252733A (ja) | 媒体記憶装置及び媒体記憶装置のライト系経路診断方法。 | |
US20070226534A1 (en) | Disk device, control circuit, data-writing control method, command control method, and computer product | |
CN108735235B (zh) | 盘装置、控制器电路以及盘装置的控制方法 | |
JP2006269027A (ja) | データ記憶装置 | |
US7978428B2 (en) | Method of reading data stored in a data storage device and data storage device that performs a data read retry operation | |
JP3268547B2 (ja) | 直接アクセス記憶装置に記録する定義済み情報を、エラー訂正コードを利用しエラー検出するための方法及び装置 | |
JP2004335020A (ja) | ストリーム系コマンドの書込み処理方法及び媒体記憶装置 | |
JP2001216746A (ja) | ディスク記憶装置及びリトライ制御方法 | |
JP5598984B2 (ja) | ライト欠陥復旧方法、データ保存装置及び記録媒体 | |
JP2009223996A (ja) | 記録装置 | |
JP2002100126A (ja) | 記録再生装置、記憶装置、コンピュータ装置、データ処理方法、プログラム伝送装置 | |
JP2009059444A (ja) | 情報処理装置および情報処理方法 | |
US20060218342A1 (en) | Processing method for preventing anomalies when reading device-specific information for media storage device, and media storage device | |
JP2008299978A (ja) | ディスク・ドライブ装置及びディスクからのデータ再生方法 | |
JP2005056519A (ja) | ストリーム系コマンドを使用する場合の読取処理方法及び媒体記憶装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050927 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070312 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070320 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070518 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070619 |