JP2008217855A - 記憶装置用制御装置、記憶装置およびそのデータ記憶制御方法 - Google Patents

記憶装置用制御装置、記憶装置およびそのデータ記憶制御方法 Download PDF

Info

Publication number
JP2008217855A
JP2008217855A JP2007050366A JP2007050366A JP2008217855A JP 2008217855 A JP2008217855 A JP 2008217855A JP 2007050366 A JP2007050366 A JP 2007050366A JP 2007050366 A JP2007050366 A JP 2007050366A JP 2008217855 A JP2008217855 A JP 2008217855A
Authority
JP
Japan
Prior art keywords
data
vibration
write
command
host computer
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
JP2007050366A
Other languages
English (en)
Inventor
Tatsuya Haga
達也 芳賀
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2007050366A priority Critical patent/JP2008217855A/ja
Priority to EP07123826A priority patent/EP1965385A1/en
Priority to US12/004,836 priority patent/US20080209103A1/en
Priority to KR1020080003491A priority patent/KR20080079992A/ko
Priority to CNA2008100015764A priority patent/CN101256470A/zh
Publication of JP2008217855A publication Critical patent/JP2008217855A/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/10527Audio or video recording; Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B19/00Driving, starting, stopping record carriers not specifically of filamentary or web form, or of supports therefor; Control thereof; Control of operating function ; Driving both disc and head
    • G11B19/02Control of operating function, e.g. switching from recording to reproducing
    • G11B19/04Arrangements for preventing, inhibiting, or warning against double recording on the same blank or against other recording or reproducing malfunctions
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B5/00Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
    • G11B5/40Protective measures on heads, e.g. against excessive temperature 
    • 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/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • G11B2020/10824Data buffering arrangements, e.g. recording or playback buffers the buffer being used to prevent vibrations or shocks from causing delays
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B5/00Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
    • G11B5/48Disposition or mounting of heads or head supports relative to record carriers ; arrangements of heads, e.g. for scanning the record carrier to increase the relative speed
    • G11B5/54Disposition or mounting of heads or head supports relative to record carriers ; arrangements of heads, e.g. for scanning the record carrier to increase the relative speed with provision for moving the head into or out of its operative position or across tracks
    • G11B5/55Track change, selection or acquisition by displacement of the head
    • G11B5/5521Track change, selection or acquisition by displacement of the head across disk tracks
    • G11B5/5582Track change, selection or acquisition by displacement of the head across disk tracks system adaptation for working during or after external perturbation, e.g. in the presence of a mechanical oscillation caused by a shock

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

【課題】記憶装置において検出された振動によって読み書きの遅延が発生した場合に、この振動に適切に対処し、バッファメモリの残容量の圧迫を抑止してホストコンピュータへのコマンド終了応答の送信遅延を回避する。
【解決手段】本発明の記憶装置用制御装置、記憶装置およびそのデータ記憶制御方法は、既にバッファメモリに一時記憶されているライトコマンド(1)データ、ライトコマンド(2)データを、振動を検出してから受領したライトコマンドであるライトコマンド(4)受領から一定時間が経過するまで、順次磁気ディスクへ書き込む。前述の所定時間が経過するまでに、順次磁気ディスクへ書き込む。そして、ライトコマンド(4)受領から一定時間が経過すると、ライトコマンド(4)コマンド終了応答をホストコンピュータへ送信する。その後、ライトコマンド(3)データおよびライトコマンド(4)データを磁気ディスクへ書き込む。
【選択図】 図2

Description

本発明は、ホストコンピュータから受信したコマンドに応じたデータを一時記憶するデータバッファを介して該ホストコンピュータと該記憶媒体との間でデータを送受し、該データを該データバッファに一時記憶するとコマンドに対応するコマンド終了応答を前記ホストコンピュータへ送信する記憶装置用制御装置、記憶装置およびそのデータ記憶制御方法に関し、特に、記憶装置において検出された振動によって読み書きの遅延が発生した場合に、この振動に適切に対処し、バッファメモリの残容量の圧迫を抑止してホストコンピュータへのコマンド終了応答の送信遅延を回避する記憶装置用制御装置、記憶装置およびそのデータ記憶制御方法に関する。
記憶媒体を内蔵する記憶装置は、ホストコンピュータとの間で送受するデータを一時的に蓄積するバッファメモリを有している。このような記憶装置では、ホストコンピュータからのライトコマンドに応じた書き込みデータをバッファメモリに蓄積し、このバッファメモリから該書き込みデータを順次読み出して記憶媒体に書き込む制御が行われている。また、ホストコンピュータからのリードコマンドに応じた読み出しデータを記憶媒体から読み出してバッファメモリに蓄積し、このバッファメモリから該読み出しデータを順次読み出してホストコンピュータへ送信する制御が行われている。
このような制御では、ホストコンピュータのOS(Operating System)からライトコマンドとともに書き込みデータが送信されてきた場合に、このライトコマンドに応じた書き込みデータを記憶媒体へ書き込むことなく、該書き込みデータの受信終了のみでライトコマンド終了応答をホストコンピュータへ送信することができる。記憶媒体への書き込みデータの書き込みがおこなわれていないライトコマンドは一旦待ち行列に登録され、該ライトコマンドに応じた書き込みデータはバッファメモリに一時記憶された後にホストコンピュータのバックグラウンド処理にて記憶媒体へ書き込まれる。
また、ホストコンピュータからのリードコマンドに応じて、このリードコマンドに応じた読み出しデータを記憶媒体からバッファメモリへ読み出し、該バッファメモリからホストコンピュータへ送信すると、リードコマンド終了応答をホストコンピュータへ送信することとなる。
しかし、待ち行列に登録可能なコマンド数および読み書きデータを一時記憶するバッファメモリの容量は有限であるため、バッファメモリの残容量が少なくなった場合に、コマンドの待ち行列への登録および該コマンドに応じたデータのバッファメモリへの一時記憶が不可能となるため、コマンド終了応答をホストコンピュータへ送信できなくなる。このとき、当該コマンドが待ち行列に一定数登録され、かつ待ち行列およびバッファメモリの空きが確保されて当該コマンドに応じたデータの一定セクタ分がバッファメモリに一時記憶されてはじめて、コマンド終了応答がホストコンピュータへ送信されることとなる。
さて、近年のコンピュータ装置は、例えばノート型パーソナルコンピュータに代表されるように小型化が進み、記憶装置がスピーカにごく近接して配置されるような場合が多くなってきている。ホストコンピュータがこのような小型コンピュータ装置である場合、スピーカからの音によって発生する振動が記憶装置へと伝わりやすい。この振動のため、記憶装置において、記憶媒体へのデータの書き込み遅延が発生する場合がある。すなわち、振動のために、記憶媒体への書き込みデータの書き込みに通常よりも余計に時間がかかってしまう場合がある。
振動による書き込み遅延が発生してもなお、ホストコンピュータから書き込みデータを受信し続けると、バッファメモリの残容量が不足するため、ライトコマンドに応じた書き込みデータのバッファメモリへの一時記憶が不可能となり、ライトコマンド終了応答をホストコンピュータへ送信できない状況となる場合がある。
また、振動による書き込み遅延が発生してもなお、ホストコンピュータから読み出しコマンドを受信し続けると、バッファメモリの残容量が不足するため、リードコマンドに応じた読み出しデータのバッファメモリへの一時記憶が不可能となり、リードコマンド終了応答をホストコンピュータへ送信できない状況となる場合がある。
例えばWindows(登録商標)などのOSなどでは、コマンド終了応答が所定時間経過しても記憶装置から送信されてこないことを検知すると、これを致命的なエラーとして認識して警告するものがある。この警告が発せられると、ホストコンピュータにおいて当該OSはシステムを停止して、ユーザにしかるべき対処(例えば再起動など)を促すこととなる。
このような非常事態を回避するために、種々の従来技術が考案されている。例えば特許文献1には、記憶装置において、バッファメモリがデータ受信を完了した後に、所定時間をおいて次のデータの送信を要求する従来技術が開示されている。この従来技術によれば、次のデータ送信を遅らせることによって、バッファメモリの容量をある程度確保し続け、コマンドに応じたデータがバッファメモリへ一時記憶できなくなることを回避し、コマンド終了応答がホストコンピュータへ送信できない状況に陥ることを抑止する。
また、例えば特許文献2には、記憶装置において、書き込みデータをホストコンピュータのバックグラウンド処理にて記憶媒体へ書き込んでいる途中で、リアルタイム性が要求されるコマンド、例えばリードコマンドを受信した場合に、該バックグラウンド処理を中止してリードコマンドに応じる処理を優先的に実行する従来技術が開示されている。この従来技術によれば、リードコマンド終了応答のホストコンピュータへの送信が遅延することを回避できる。
また、例えば特許文献3には、記憶装置において、待ち行列に登録されているコマンドの実行順序をデータの読み書きの効率性を優先して決定することによって、迅速にデータを読み書きすることができる従来技術が開示されている。この従来技術によれば、記憶装置からのデータの読み出し時間、および記憶装置へのデータの書き込み時間を短縮し、バッファメモリの容量の圧迫を抑制し、延いてはコマンド終了応答のホストコンピュータへの送信が遅延することを回避できる。
特開2001−5724号公報 特開2005−309980号公報 特開平10−275059号公報
しかしながら、上記特許文献1〜3に代表される従来技術では、記憶装置が通常の状態で作動している状況でバッファメモリの残容量の圧迫を抑止してコマンド終了応答のホストコンピュータへの送信遅延を回避するものであって、記憶装置において検出された振動によって読み書きの遅延が発生した場合に、この振動に適切に対処し、バッファメモリの残容量の圧迫を抑止してコマンド終了応答のホストコンピュータへの送信遅延を回避することはできなかった。
本発明は、上記問題点(課題)を解消するためになされたものであって、記憶装置において検出された振動によって読み書きの遅延が発生した場合に、この振動に適切に対処し、バッファメモリの残容量の圧迫を抑止してホストコンピュータへのコマンド終了応答の送信遅延を回避する記憶装置用制御装置、記憶装置およびそのデータ記憶制御方法を提供することを目的とする。
上述した問題を解決し、目的を達成するため、本発明は、ホストコンピュータから受信したコマンドに応じたデータを一時記憶するデータバッファを介して該ホストコンピュータと記憶媒体との間でデータを送受し、該データを該データバッファに一時記憶すると前記コマンドに対応するコマンド終了応答を前記ホストコンピュータへ送信する記憶装置の制御をおこなう記憶装置用制御装置であって、前記データバッファに格納されている書き込みデータを所定のタイミングで前記記憶媒体に書き込むデータ書き込み制御部を備え、前記データ書き込み制御部は、前記記憶装置に加わる振動を検知する振動検知部によって振動が検知されると、前記データバッファに格納されている書き込みデータを所定時間にわたって前記記憶媒体へ優先的に書き込むデータ書き込むことを特徴とする。
また、本発明は、ホストコンピュータから受信したコマンドに応じたデータを一時記憶するデータバッファを介して該ホストコンピュータと記憶媒体との間でデータを送受し、該データを該データバッファに一時記憶すると前記コマンドに対応するコマンド終了応答を前記ホストコンピュータへ送信する記憶装置であって、前記記憶装置に加わる振動を検知する振動検知部と、前記振動検知部によって振動が検知されると、前記データバッファに格納されている書き込みデータを所定時間にわたって前記記憶媒体へ優先的に書き込むデータ書き込み制御部とを少なくとも備えてなることを特徴とする。
また、本発明は、ホストコンピュータから受信したコマンドに応じたデータを一時記憶するデータバッファを介して該ホストコンピュータと記憶媒体との間でデータを送受し、該データを該データバッファに一時記憶すると前記コマンドに対応するコマンド終了応答を前記ホストコンピュータへ送信する記憶装置のデータ記憶制御方法であって、前記記憶装置に加わる振動を検知する振動検知ステップと、前記振動検知ステップによって振動が検知されると、前記データバッファに格納されている書き込みデータを所定時間にわたって前記記憶媒体へ優先的に書き込むデータ書き込み制御ステップとを少なくとも含んだことを特徴とする。
これらの本発明によれば、振動が検知されると、データバッファに格納されている書き込みデータを所定時間にわたって記憶媒体へ優先的に書き込むので、データバッファの残容量を確保し、ホストコンピュータから新たにコマンドを受信してコマンド終了応答を速やかに該ホストコンピュータへ送信することができる。
また、本発明は、上記発明において、前記振動検知部によって振動が検出されてから前記ホストコンピュータから受信したコマンドに対応するコマンド終了応答を、前記データ書き込み制御部が前記データバッファに格納されている書き込みデータを前記所定時間にわたって前記記憶媒体へ優先的に書き込んだ後に前記ホストコンピュータへ送信することを特徴とする。
また、この本発明によれば、振動が検知されると、ホストコンピュータへコマンド終了応答を速やかに送信するので、ホストコンピュータがコマンド終了応答の受信遅延をエラーと検知することを回避できる。
また、本発明は、上記発明において、前記振動検知部によって検知された振動の強さおよび回数が所定閾値以上となったか否かを判定する振動判定部をさらに備え、前記データ書き込み制御部は、前記振動検知部によって振動が検知され、かつ前記振動判定部によって前記振動の振幅および回数が所定閾値以上となったと判定された場合に、前記データバッファに格納されている書き込みデータを前記所定時間にわたって前記記憶媒体へ優先的に書き込むことを特徴とする。
また、この本発明によれば、強さおよび回数が所定閾値以上の振動が検知されると、データバッファに格納されている書き込みデータを所定時間にわたって記憶媒体へ優先的に書き込むので、ある種の振動に対して選択的に、データバッファの残容量を確保し、ホストコンピュータから新たにコマンドを受信してコマンド終了応答を速やかに該ホストコンピュータへ送信可能とする適切な対処をおこなうことができる。
また、本発明は、上記発明において、前記データ書き込み制御部は、前記振動検知部によって振動が検知され、かつ前記振動判定部によって前記振動の振幅および回数が所定閾値を超えなかったと判定された場合に、前記コマンドごとの前記書き込みデータ単位で前記記憶媒体へ該書き込みデータを書き込むことを特徴とする。
また、この本発明によれば、強さおよび回数が所定閾値未満の振動が検知されると、コマンドごとの書き込みデータ単位で前記記憶媒体へ書き込むので、ある種の振動に対して選択的に、データバッファの残容量を確保し、ホストコンピュータから新たにコマンドを受信してコマンド終了応答を速やかに該ホストコンピュータへ送信可能とする適切な対処をおこなうことができる。
また、本発明は、上記発明において、前記データバッファは、前記ホストコンピュータからの書き込みデータを一時記憶する書き込みデータ領域と、前記記憶媒体から読み出した読み出しデータを一時記憶する読み出しデータ領域とを含み、前記振動検知部によって振動が検知され、かつ前記振動判定部によって前記振動の振幅および回数が所定閾値以上となったと判定された場合に、前記読み出しデータ領域を制限する領域制限処理部をさらに有することを特徴とする。
また、この本発明によれば、強さおよび回数が所定閾値以上の振動が検知されると、読み出しデータ領域を制限するので、ある種の振動に対して選択的に、読み出しデータよりも書き込みデータを優先的にデータバッファに一時記憶可能とし、書き込みデータの処理を優先させて該書き込みデータのコマンド終了応答を速やかにホストコンピュータへ送信可能とすることができる。
本発明によれば、記憶装置が接続されるホストコンピュータにおいて、振動が発生して記憶装置で書き込み遅延が発生した場合に、該ホストコンピュータから送信したコマンドに対するコマンド終了応答が所定時間経過しても記憶装置から送信されてこないことが検知され、これが致命的なエラーとして認識されてシステムが停止することを回避できるという効果を奏する。
以下に添付図面を参照し、本発明の記憶装置用制御装置、記憶装置およびそのデータ記憶制御方法に係る実施例を詳細に説明する。本発明は、特に、ノート型パーソナルコンピュータなどの内部において、スピーカ(音響装置)が記憶装置に近接して配置される小型コンピュータ装置に使用される記憶装置に適用することが好適である。
なお、以下の実施例で、「コマンド」と呼ぶ場合には、ライトコマンドとともにリードコマンドを含む。ライトコマンドとは、ホストコンピュータから磁気ディスク装置へ送信される、磁気ディスクへデータを書き込む要求である。このライトコマンドに応じて磁気ディスクへ書き込まれるデータを、書き込みデータまたはライトコマンドデータと呼ぶ。ライトコマンドデータがバッファメモリに一時記憶された後に該ホストコンピュータへ、ライトコマンド終了応答が送信される。
また、リードコマンドとは、ホストコンピュータから磁気ディスク装置へ送信される、磁気ディスクからデータを読み出す要求である。このリードコマンドに応じて磁気ディスクから読み出されるデータを、読み出しデータまたはリードコマンドデータと呼ぶ。リードコマンドデータがバッファメモリに一時記憶され、その後ホストコンピュータへ送信された後に該ホストコンピュータへ、リードコマンド終了応答が送信される。以下の実施例で、「コマンドデータ」と呼ぶ場合には、ライトコマンドデータおよびリードコマンドデータを含む。また、「コマンド終了応答」と呼ぶ場合には、ライトコマンド終了応答およびリードコマンド終了応答を含む。
なお、以下に示す実施例では、記憶媒体として磁気ディスク、記憶装置として磁気ディスク装置に本発明を適用した場合を示すこととする。しかし、本発明はこれに限らず、他の記憶媒体およびディスク装置、例えば、光ディスクおよび光ディスク装置、もしくは光磁気ディスクまたは光磁気ディスク装置などにも適用可能である。
先ず、従来の磁気ディスク装置におけるライトコマンド制御について説明する。図1は、従来の磁気ディスク装置におけるライトコマンド制御を説明するための図である。なお、ライトコマンドとは、磁気ディスク装置が接続されるホストコンピュータのOSからの該磁気ディスク装置の磁気ディスクへの書き込み要求である。同図では、ホストコンピュータからライトコマンド(1)、ライトコマンド(2)、ライトコマンド(3)が、この順序で連続して送信されてくる場合を前提とする。
ライトコマンド制御とは、ホストコンピュータからのライトコマンド受領(受信)、ホストコンピュータから磁気ディスク装置のバッファメモリへの該ライトコマンドに対応する磁気ディスクへのライトコマンドデータ(書き込みデータ)の転送(送信)、ホストコンピュータへの該ライトコマンド受領に対するライトコマンド終了応答の送信、該ライトコマンドに応じたライトコマンドデータの磁気ディスクへの書き込みの一連の処理(この処理をドライブ処理と呼び、この処理時間をドライブ処理時間と呼ぶ)の実行順序の制御である。
ここで、実行順序の制御とは、ライトコマンドおよびライトコマンドデータがホストコンピュータから複数連続して送信されてきた場合に、前述の一連の処理の実行順序を複数のライトコマンドにわたって制御することをいう。
図1に示すように、先ず、磁気ディスク装置は、ライトコマンド(1)を受領する。続いて、ライトコマンド(1)に応じたライトコマンド(1)データを受信してバッファメモリに一時記憶する。そして、ライトコマンド(1)に応じたライトコマンド(1)データを受信したことを示すライトコマンド(1)のコマンド終了応答をホストコンピュータへ送信する。
続いて、ライトコマンド(1)と同様に、磁気ディスク装置は、ライトコマンド(2)を受領する。続いて、ライトコマンド(2)に応じたライトコマンド(2)データを受信してバッファメモリに一時記憶する。そして、ライトコマンド(2)に応じたライトコマンド(2)データを受信したことを示すライトコマンド(2)のコマンド終了応答をホストコンピュータへ送信する。続いておこなわれるライトコマンド(3)に関連する一連の処理も同様におこなわれる。
そして、ライトコマンド(3)のコマンド終了応答がホストコンピュータへ送信されたならば、磁気ディスク装置は、磁気ディスクへ、ライトコマンド(1)に対応するライトコマンド(1)データ書き込み処理、ライトコマンド(2)に対応するライトコマンド(2)データ書き込み処理、ライトコマンド(3)に対応するライトコマンド(3)データ書き込み処理を順次おこなう。
なお、磁気ディスクに書き込まれたライトコマンドデータの記憶領域は、バッファメモリから解放される。このようにして解放された領域は、新たに受領するライトコマンドに応じたライトコマンドデータの一時記憶に使用されることとなる。
このように、従来は、ライトコマンドを受領すると、ライトコマンドが転送終了したことを以ってライトコマンド終了応答をホストコンピュータへ送信しており、新たにライトコマンドを受領しなくなったとき、あるいはバッファメモリの使用率が所定割合まで至ったときに、磁気ディスクへのライトコマンドデータの書き込みをまとめておこなう点に特徴があった。
これは、ライトコマンド受領およびライトコマンドデータ転送にかかる処理時間に比べて磁気ディスクへのライトコマンドデータの書き込みにかかる処理時間が長いため、磁気ディスクへのライトコマンドデータの書き込み以前にホストコンピュータへライトコマンド終了応答を送信し、早期にホストコンピュータの入出力割込み制御を解放させるという、バッファメモリの本来の趣旨による。
しかし、このような従来方法では、次の問題点があった、すなわち、何らかの理由、例えば磁気ディスク装置へ加わる振動が検出された場合に磁気ディスクへのライトコマンドデータの書き込みに遅延が発生したとき、当該ライトコマンドデータが占有するバッファメモリの記憶領域の解放も遅延することとなる。この場合に、バッファメモリの残容量に未だ余裕があって、新たなコマンドを受領することが可能である場合は問題ないが、バッファメモリの残容量に余裕がなく、新たなコマンドを受領することが不可能である場合は、この新たなコマンドに対応するコマンド終了応答をホストコンピュータへ送信することができず、該ホストコンピュータ側でエラーとして認識されてしまうおそれがあった。
このような問題を解決するため、本発明の一実施例では、次のようなライトコマンド制御を行う。図2は、実施例にかかる磁気ディスク装置におけるライトコマンド制御の特徴を説明するための図である。なお、同図でも、ホストコンピュータからライトコマンド(1)、ライトコマンド(2)、ライトコマンド(3)、ライトコマンド(4)が、この順序で連続して送信されてくる場合を前提とする。
図2に示すように、磁気ディスク装置は、先ず、ライトコマンドを受領し、ライトコマンドデータを受信してバッファメモリに一時記憶し、コマンド終了応答をホストコンピュータへ送信する一連の処理を、ライトコマンド(1)〜(3)についておこなう。
そして、磁気ディスク装置は、磁気ディスク装置へ加わる振動が検出されたのちにライトコマンド(4)を受領すると、ライトコマンド(4)データ転送をおこなうものの、続いてライトコマンド(4)コマンド終了応答を直ちにホストコンピュータへ送信せず、すでにバッファメモリに一時記憶されているライトコマンドデータを磁気ディスクへ書き込む処理をおこなう。
図2に示す例では、既にバッファメモリに一時記憶されているライトコマンドデータは、ライトコマンド(1)データ、ライトコマンド(2)データ、ライトコマンド(3)データであるので、これらのライトコマンドデータを、振動を検出してから受領したライトコマンドであるライトコマンド(4)受領から一定時間が経過するまで、順次磁気ディスクへ書き込む。図2では、前述の所定時間が経過するまでに、ライトコマンド(1)データおよびライトコマンド(2)データを磁気ディスクへ書き込むことができた場合である。
そして、ライトコマンド(4)受領から一定時間が経過すると、ライトコマンド(4)コマンド終了応答をホストコンピュータへ送信する。その後、ライトコマンド(3)データおよびライトコマンド(4)データを磁気ディスクへ書き込むこととなる。
すなわち、1回のドライブ処理において、ライトコマンド終了応答をホストコンピュータへ送信する以前に、バッファメモリに一時記憶されているライトコマンドデータを、前述の一定時間が経過するまで、可能な限り磁気ディスクへ書き込む。なお、この一定時間は、ホストコンピュータのOSがコマンド終了応答を受信しないエラーを検知するコマンド終了応答受信待ち時間未満に予め設定されていることが必要である。かつ、この一定時間は、コマンド終了応答受信待ち時間に限りなく近い値であることが望ましい。
このようにすると、振動によって発生する磁気ディスクへの書き込み遅延を予見して、振動発生以後に受信したライトコマンドに対応するライトコマンド終了応答送信を一時的に保留し、その間にバッファメモリに一時記憶されているライトコマンドデータを出来る限り磁気ディスクへ書き込み、バッファメモリの記憶領域を開放することによって、新たなライトコマンドを受領し、該ライトコマンドに応じたライトコマンドデータをバッファメモリに一時記憶し、対応するライトコマンド終了応答をホストコンピュータへ送信可能とし、ホストコンピュータがライトコマンド終了応答を受信しないエラーを検知することをできるだけ回避することが可能となる。
次に、実施例にかかる磁気ディスク装置の構成について説明する。図3は、実施例にかかる磁気ディスク装置の構成を示す機能ブロック図である。同図に示すように、磁気ディスク装置100は、制御部101と、RAM103と、リード・ライトチャネル104と、磁気ディスク105と、磁気ヘッド106と、アクチュエータ107と、磁気ディスク装置100とホストコンピュータとの間で送受されるデータを受け渡すインターフェース108とを有する。なお、その他の構成は一般的な磁気ディスク装置と同様であるので、説明を省略する。
制御部101は、図示しないROMに記憶される各種の処理手順を規定した制御プログラムや制御データを使用して、種々の処理を実行する装置である。特に、実施例に密接に関連するものとして、データ処理部101aと、リード・ライト制御部101bと、振動検出部102とを有する。この他の構成については、一般的な磁気ディスク装置と同様であるので、説明を省略する。
データ処理部101aは、ホストコンピュータから取得したデータをリード・ライト制御部101bを介して記録・再生データ記憶領域103aに一時記録するとともに、該データをリード・ライト制御部101bを介して記録・再生データ記憶領域103aから読み出して、リード・ライトチャネル104を介して磁気ディスク105に書き込む処理をおこなう。
また、データ処理部101aは、ホストコンピュータからの要求に応じて磁気ディスク105から再生したデータをリード・ライト制御部101bを介して記録・再生データ記憶領域103aに一時記憶するとともに、該データをリード・ライト制御部101bを介して記録・再生データ記憶領域103aから読み出して、インターフェース108を介してホストコンピュータへ送信する処理をおこなう。
リード・ライト制御部101bは、データ処理部101aと記録・再生データ記憶領域103aとの間に位置し、ホストコンピュータからのコマンドを待ち行列に登録するとともに、該コマンドに応じたコマンドデータをデータ処理部101aおよび記録・再生データ記憶領域103aとの間で中継する。
また、リード・ライト制御部101bは、振動検出部102によって磁気ディスク装置100に振動が加わっていると判定される場合には、コマンドデータの読み書き順序およびコマンド終了応答の送信順序を適宜制御する。
具体的には、リード・ライト制御部101bは、振動検出部102によって磁気ディスク装置100に振動が加わっていると判定されかつ該振動の強さおよび検出回数が所定閾値以上となったと判定されなかった場合(これを軽度な振動の検出と呼ぶ)に、ライトコマンドデータの磁気ディスクへの書き込み単位を最小単位(例えばセクタ単位)にする。ここで、ライトコマンドデータの書き込み単位を最小単位にするとは、次のことを言う。
例えばライトコマンドに応じたライトコマンドデータが一連のデータである場合に、振動が発生していない通常では、後のデータの読み出しの際に待ち時間が発生しないように、ライトデータの磁気ディスクへの書き込みの際に一連のデータが連続するように書き込みをおこなうこととなる。これに対し、ライトコマンドに応じたライトコマンドデータが一連のデータであっても、磁気ディスク装置100に軽度な振動が検出された場合は、後のデータの読み出しの際に待ち時間が発生するもやむなしとして、一連のデータが連続するように書き込みをおこなうことを中止し、前述の通り最小単位で書き込みをおこなう。
このようにすると、軽度な振動が検出された際に、ライトコマンドデータが連続する大きなデータを単位として書き込みをおこなわず、最小単位でライトコマンドデータの書き込みをおこなってバッファメモリの一時記憶領域の開放を優先し、ライトコマンドデータによるバッファ領域の解放が遅延することを抑止することが可能となる。
また、リード・ライト制御部101bは、振動検出部102からの振動検知信号によって磁気ディスク装置100に振動が加わっていると判定されかつ該振動の強さおよび検出回数が所定閾値以上となったと判定された場合(これを振動の検出と呼ぶ)に、該ライトコマンドに応じたライトコマンドデータをバッファメモリに転送する。
しかし、該ライトコマンドに対応するライトコマンド終了応答をホストコンピュータへ送信する以前に、振動検出後に新たにライトコマンド受領してから一定時間経過するまで、バッファメモリに既に一時記憶されているライトコマンドデータを、先入れ先出しにより出来る限り磁気ディスク105へ書き込む処理を優先する。このようにして、振動によって書き込み遅延が発生する可能性がある場合に、新たに受領したライトコマンドに対応するライトコマンド終了応答をホストコンピュータへ送信する以前に、バッファメモリの解放を優先することができる。
また、リード・ライト制御部101bは、振動を検出した場合に、記録・再生データ記憶領域103aに確保されるリードコマンドデータの一時記憶領域を一定量、好ましくは最低限度の領域(例えば最小単位の1セクタ分)までに制限する。これにより、振動検出後にバッファメモリへのリードコマンドデータの一時記憶を制限してライトコマンドデータの一時記憶を優先し、ライトコマンド終了応答のホストコンピュータへの送信遅延を回避することができる。
振動検出部102は、ポジション信号取得部、ポジション信号記憶部および振動検出記憶部(いずれも図示せず)の機能を有し、ここではファームウェアプログラムにより構成される。振動検出部102は、磁気ディスク装置100に生じている振動を検出する。具体的には、振動検出部102は、磁気ディスクから読み出されデータ処理部101aによって再生されたポジション信号をポジション信号取得部に入力する。ポジション信号を取得する度に、取得されたポジション信号がポジション信号記憶部に記憶され、記憶されたたポジション信号を絶対値に置き換える。そして、ポジション信号が絶対値に置き換えられる度に、ポジション信号の絶対値に対してローパスフィルタをかけて振動検出データを作成して振動検出記憶部に記憶する。
具体的には、振動検出データは、ヘッドの位置が本来のリード/ライトする位置から外れている距離とともに、ヘッドの位置が本来のリード/ライトする位置から外れている継続時間に基づいて作成されたデータである。そして、振動検出部102は、このようにして記憶された振動検出データから振動を監視し、振動を検出した場合(例えば、振動検出データの値が予め定められた振動閾値より大きい場合)は、制御部101のリード・ライト制御部101bに振動を検出したことを通知する。また、AE(Acoustic Emission)センサを磁気ヘッド106近傍もしくはアクチェータ107近傍に設けて、振動を常時検出し、振動検知信号を制御部101の入出力端子部に入力して、振動検出や監視を行ってもよい。
なお、前述の振動閾値には2段階の値を含む。すなわち、第1の振動閾値と、該第1の振動閾値より大きい第2の振動閾値とである。振動検出部102は、振動検出データが第1の振動閾値以上かつ第2の振動閾値未満である場合には、軽度な振動を検出したことを制御部101のリード・ライト制御部101bに通知する。また、振動検出部102は、振動検出データが第2の振動閾値以上である場合には、(重度の)振動を検出したことを制御部101のリード・ライト制御部101bに通知する。
RAM103は、制御部101による各種処理に必要なデータを記憶手段であり、特に実施例に密接に関係するものとして、バッファメモリである記録・再生データ記憶領域103aを含む。記録・再生データ記憶領域103aは、ホストコンピュータからのライトコマンドデータと、磁気ディスク105から読み出した(再生した)ライトコマンドデータとを一時記憶するが、通常時においては(例えば、磁気ディスク装置に振動が加わっていないときなど)、記録・再生データ記憶領域103aの各データへの容量配分は、状況に応じて可変である。
リード・ライトチャネル104は、磁気ヘッド106から再生データおよびサーボ情報を取得し、取得した再生データおよびサーボ情報を制御部101へ出力する。また、リード・ライトチャネル104は、ホストコンピュータから送信されたライトコマンドデータをRAM103から読み出し、磁気ディスクへ105のために書き込み磁気ヘッド106に受け渡す。
磁気ディスク105は、金属またはガラス製の円盤(ディスク)状の基板に磁性膜を形成した記録媒体である。磁気ディスク105へデータの記録を行う場合には、磁気ディスク105のデータを記録する記録領域に磁気ヘッドから磁界をかけ、表面上の磁性体の磁化状態を変化させることによってデータを記録する。また、磁気ディスク105からデータを読み出して再生する場合には、再生対象となる磁気ディスク105上の記録領域に磁気ヘッド106を移動させ、磁気ディスク105の磁性体の磁化状態を読み取ってデータを再生する。
磁気ヘッド106は、磁気ディスク105に対するデータの記録および再生をおこなう。また、磁気ヘッド106は、磁気ディスク105からトラック位置などを管理するためのサーボ情報を読み出し、磁気ディスク105から再生された再生データとともにリード・ライトチャネル104へ出力する。
アクチュエータ107は、図示しないボイスコイルモータ(VCM)を有し、図示しないサーボコンボチップから出力される制御電流によって磁気ヘッド106を移動させる装置である。
次に、図3に示した磁気ディスク装置で実行されるライトコマンド受信時の処理について説明する。図4は、図3に示した磁気ディスク装置で実行されるライトコマンド受信時の処理手順を示すフローチャートである。同図に示すように、先ず、データ処理部101aは、ホストコンピュータからライトコマンドを受信し、リード・ライト制御部101bの待ち行列にライトコマンドを登録する(ステップS101)。
続いて、リード・ライト制御部101bは、振動検出部102から軽度な振動を検出したことを通知されたか否かを判定する(ステップS102)。軽度な振動を検出したことを通知された場合は(ステップS102肯定)、リード・ライト制御部101bは、書き込み単位を受領コマンドの転送数とする、すなわち、受領コマンドに応じたコマンドデータの転送数を、書き込みの最小単位とする制御をおこなう(ステップS103)。軽度な振動すら検出したことを通知されなかった場合は(ステップS102否定)、ステップS104へ移る。
ステップS104では、リード・ライト制御部101bは、ホストコンピュータから受信したライトコマンドデータを記録・再生データ記憶領域103aへ転送する。続いて、リード・ライト制御部101bは、振動検出部102から(重度の)振動を検出したことを通知されたか否かを判定する(ステップS105)。(重度の)振動を検出したことを通知された場合は(ステップS105肯定)、リード・ライト制御部101bは、ステップS101のライトコマンド受領から指定時間(一定時間、所定時間)経過したか否かを判定する(ステップS106)。(重度の)振動を検出したことを通知されなかった場合は(ステップS105否定)、ステップS108へ移る。
ステップS101のライトコマンド受領から所定時間経過したと判定される場合に(ステップS106肯定)、ステップS108へ移る。一方、ステップS101のライトコマンド受領から所定時間経過したと判定されなかった場合に(ステップS106否定)、記録・再生データ記憶領域103aに一時記憶されているライトコマンドデータを、磁気ディスク105へ書き込む処理をおこない(ステップS107)、ステップS106へ移る。
ステップS108では、リード・ライト制御部101bは、データ処理部101aを介してホストコンピュータへライトコマンド終了応答を送信する。
このように、軽度な振動が検出された場合には、記録・再生データ記憶領域103aから読み出して磁気ディスク105に書き込む書き込みデータの単位を最小単位へ変更する。一方、(重度の)振動が検出された場合には、ホストコンピュータへライトコマンド終了応答を送信する以前に、最後のライトコマンド受領から所定時間経過するまで、記録・再生データ記憶領域103aから書き込みデータを読み出して磁気ディスク105に書き込み続ける。このように、振動のレベルに応じて制御を異ならせることによって、状況に応じてきめ細かく記録・再生データ記憶領域103aに一時記憶されるライトコマンドデータを、磁気ディスク105へ書き込む制御を行うことができる。また、ライトコマンドデータの磁気ディスク105への書き込み時間の短縮を図ることができる。また、状況に応じて最適な方法で、記録・再生データ記憶領域103aの残容量の枯渇を未然に防止することができる。
次に、図3に示した磁気ディスク装置で実行されるリードコマンド受信時の処理について説明する。図5は、図3に示した磁気ディスク装置で実行されるリードコマンド受信時の処理手順を示すフローチャートである。同図に示すように、先ず、データ処理部101aは、ホストコンピュータからリードコマンドを受信し、リード・ライト制御部101bの待ち行列にリードコマンドを登録する(ステップS201)。
続いて、リード・ライト制御部101bは、振動検出部102からの振動検知信号により(重度の)振動を検出したことを通知されたか否かを判定する(ステップS202)。(重度の)振動を検出したことを通知された場合は(ステップS202肯定)、リード・ライト制御部101bは、記録・再生データ記憶領域103aの読み込みバッファ領域を最小限の範囲に設定して制限する(ステップS203)。
続いて、リード・ライト制御部101bは、磁気ディスク105からリードコマンドに対応するデータを読み込み、記録・再生データ記憶領域103aの読み込みバッファ領域に一時記憶する処理をおこなう(ステップS204)。続いて、リード・ライト制御部101bは、記録・再生データ記憶領域103aの読み込みバッファ領域に一時記憶されるリードコマンドデータを、データ処理部101aを介してホストコンピュータへ送信する(ステップS205)。
他方、振動検出部102からの振動検知信号により(重度の)振動を検出したことを通知されなかった場合は(ステップS202否定)、リード・ライト制御部101bは、ライトコマンドが待ち行列に登録(キューイング)されているか否かを判定する(ステップS206)。ライトコマンドが待ち行列に登録(キューイング)されている場合は(ステップS206肯定)、該ライトコマンドに応じたライトコマンドデータを記録・再生データ記憶領域103aから読み出して、磁気ディスク105へ書き込む処理をおこなう(ステップS207)。ステップS207が終了すると、ステップS206へ移る。
一方、ライトコマンドが待ち行列に登録(キューイング)されていいない場合は(ステップS206否定)、ステップS204へ移る。
このように、リードコマンド受領時に、(重度の)振動を検出したとき、記録・再生データ記憶領域103aの読み込みバッファ領域を制限するので、ライトコマンドデータの一時記憶を優先し、ライトコマンド終了応答がホストコンピュータへ送信されることが遅延することを回避することができる。また、そもそもリードコマンドデータを記録・再生データ記憶領域103aに一時記憶することさえできなくなるので、リードコマンド終了応答がホストコンピュータへ送信されることが遅延することを回避することができる。
以上の実施例によれば、振動発生時においてもコマンド終了応答の応答時間を遅延させることがないため、ホストコンピュータのOSが該遅延のタイムアウトを検出せず、例えばWindows(登録商標)におけるBlue Screenの発生のようなシステム停止を防止することができる。また、ノート型パーソナルコンピュータなどの小型コンピュータ装置において、スピーカが記憶装置に近接して配置される場合に、該スピーカから発せられる大音量の再生音による振動によっても異常の発生を抑止することにより、ホストコンピュータのユーザ環境の信頼性を確保することができる。
以上、本発明の実施例を説明したが、本発明は、これに限られるものではなく、特許請求の範囲に記載した技術的思想の範囲内で、更に種々の異なる実施例で実施されてもよいものである。また、実施例に記載した効果は、これに限定されるものではない。
また、上記実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記実施例で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPU(Central Processing Unit)(またはMPU(Micro Processing Unit)、MCU(Micro Controller Unit)などのマイクロ・コンピュータ)および当該CPU(またはMPU、MCUなどのマイクロ・コンピュータ)にて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現されてもよい。
(付記1)ホストコンピュータから受信したコマンドに応じたデータを一時記憶するデータバッファを介して該ホストコンピュータと記憶媒体との間でデータを送受し、該データを該データバッファに一時記憶すると前記コマンドに対応するコマンド終了応答を前記ホストコンピュータへ送信する記憶装置の制御をおこなう記憶装置用制御装置であって、
前記データバッファに格納されている書き込みデータを所定のタイミングで前記記憶媒体に書き込むデータ書き込み制御部を備え、
前記データ書き込み制御部は、
前記記憶装置に加わる振動を検知する振動検知部によって振動が検知されると、前記データバッファに格納されている書き込みデータを所定時間にわたって前記記憶媒体へ優先的に書き込むデータ書き込むことを特徴とする記憶装置用制御装置。
(付記2)前記振動検知部によって振動が検出されてから前記ホストコンピュータから受信したコマンドに対応するコマンド終了応答を、前記データ書き込み制御部が前記データバッファに格納されている書き込みデータを前記所定時間にわたって前記記憶媒体へ優先的に書き込んだ後に前記ホストコンピュータへ送信することを特徴とする付記1記載の記憶装置用制御装置。
(付記3)前記振動検知部によって検知された振動の強さおよび回数が所定閾値以上となったか否かを判定する振動判定部をさらに備え、
前記データ書き込み制御部は、前記振動検知部によって振動が検知され、かつ前記振動判定部によって前記振動の振幅および回数が所定閾値以上となったと判定された場合に、前記データバッファに格納されている書き込みデータを前記所定時間にわたって前記記憶媒体へ優先的に書き込むことを特徴とする付記1または2に記載の記憶装置用制御装置。
(付記4)前記データ書き込み制御部は、前記振動検知部によって振動が検知され、かつ前記振動判定部によって前記振動の振幅および回数が所定閾値を超えなかったと判定された場合に、前記コマンドごとの前記書き込みデータ単位で前記記憶媒体へ該書き込みデータを書き込むことを特徴とする付記3に記載の記憶装置用制御装置。
(付記5)前記データバッファは、前記ホストコンピュータからの書き込みデータを一時記憶する書き込みデータ領域と、前記記憶媒体から読み出した読み出しデータを一時記憶する読み出しデータ領域とを含み、
前記振動検知部によって振動が検知され、かつ前記振動判定部によって前記振動の振幅および回数が所定閾値以上となったと判定された場合に、前記読み出しデータ領域を制限する領域制限処理部をさらに有することを特徴とする付記1〜4のいずれか一つに記載の記憶装置用制御装置。
(付記6)ホストコンピュータから受信したコマンドに応じたデータを一時記憶するデータバッファを介して該ホストコンピュータと記憶媒体との間でデータを送受し、該データを該データバッファに一時記憶すると前記コマンドに対応するコマンド終了応答を前記ホストコンピュータへ送信する記憶装置であって、
前記記憶装置に加わる振動を検知する振動検知部と、
前記振動検知部によって振動が検知されると、前記データバッファに格納されている書き込みデータを所定時間にわたって前記記憶媒体へ優先的に書き込むデータ書き込み制御部と
を少なくとも備えてなることを特徴とする記憶装置。
(付記7)前記振動検知部からの振動検知信号によって振動が検出されてから前記ホストコンピュータから受信したコマンドに対応するコマンド終了応答を、前記データ書き込み制御部が前記データバッファに格納されている書き込みデータを前記所定時間にわたって前記記憶媒体へ優先的に書き込んだ後に前記ホストコンピュータへ送信することを特徴とする付記6記載の記憶装置。
(付記8)前記振動検知部によって検知された振動の強さおよび回数が所定閾値以上となったか否かを判定する振動判定部をさらに備え、
前記データ書き込み制御部は、前記振動検知部によって振動が検知され、かつ前記振動判定部によって前記振動の振幅および回数が所定閾値以上となったと判定された場合に、前記データバッファに格納されている書き込みデータを前記所定時間にわたって前記記憶媒体へ優先的に書き込むことを特徴とする付記6または7に記載の記憶装置。
(付記9)前記データ書き込み制御部は、前記振動検知部によって振動が検知され、かつ前記振動判定部によって前記振動の振幅および回数が所定閾値を超えなかったと判定された場合に、前記コマンドごとの前記書き込みデータ単位で前記記憶媒体へ該書き込みデータを書き込むことを特徴とする付記8に記載の記憶装置。
(付記10)前記データバッファは、前記ホストコンピュータからの書き込みデータを一時記憶する書き込みデータ領域と、前記記憶媒体から読み出した読み出しデータを一時記憶する読み出しデータ領域とを含み、
前記振動検知部によって振動が検知され、かつ前記振動判定部によって前記振動の振幅および回数が所定閾値以上となったと判定された場合に、前記読み出しデータ領域を制限する領域制限処理部をさらに有することを特徴とする付記6〜9のいずれか一つに記載の記憶装置。
(付記11)ホストコンピュータから受信したコマンドに応じたデータを一時記憶するデータバッファを介して該ホストコンピュータと該記憶媒体との間でデータを送受し、該データを該データバッファに一時記憶すると前記コマンドに対応するコマンド終了応答を前記ホストコンピュータへ送信する記憶装置のデータ記憶制御方法であって、
前記記憶装置に加わる振動を検知する振動検知ステップと、
前記振動検知ステップによって振動が検知されると、前記データバッファに格納されている書き込みデータを所定時間にわたって前記記憶媒体へ優先的に書き込むデータ書き込み制御ステップと
を少なくとも含んだことを特徴とする記憶装置のデータ記憶制御方法。
(付記12)前記振動検知ステップによって振動が検出されてから前記ホストコンピュータから受信したコマンドに対応するコマンド終了応答を、前記データ書き込み制御ステップによって前記データバッファに格納されている書き込みデータが前記所定時間にわたって前記記憶媒体へ優先的に書き込まれた後に前記ホストコンピュータへ送信することを特徴とする付記11記載の記憶装置のデータ記憶制御方法。
本発明は、記憶装置において検出された振動によって読み書きの遅延が発生した場合に、ホストコンピュータがライトコマンド終了応答を受信しないエラーを検知することをできるだけ回避したい場合に有用である。
従来の磁気ディスク装置におけるライトコマンド制御を説明するための図である。 実施例にかかる磁気ディスク装置におけるライトコマンド制御の特徴を説明するための図である。 実施例にかかる磁気ディスク装置の構成を示す機能ブロック図である。 ライトコマンド受信時の処理手順を示すフローチャートである。 リードコマンド受信時の処理手順を示すフローチャートである。
符号の説明
100 磁気ディスク装置
101 制御部
101a データ処理部
101b リード・ライト制御部
102 振動検出部
103 RAM
103a 記録・再生データ記憶領域
104 リード・ライトチャネル
105 磁気ディスク
106 磁気ヘッド
107 アクチュエータ
108 インターフェース

Claims (8)

  1. ホストコンピュータから受信したコマンドに応じたデータを一時記憶するデータバッファを介して該ホストコンピュータと記憶媒体との間でデータを送受し、該データを該データバッファに一時記憶すると前記コマンドに対応するコマンド終了応答を前記ホストコンピュータへ送信する記憶装置の制御をおこなう記憶装置用制御装置であって、
    前記データバッファに格納されている書き込みデータを所定のタイミングで前記記憶媒体に書き込むデータ書き込み制御部を備え、
    前記データ書き込み制御部は、
    前記記憶装置に加わる振動を検知する振動検知部によって振動が検知されると、前記データバッファに格納されている書き込みデータを所定時間にわたって前記記憶媒体へ優先的に書き込むデータ書き込むことを特徴とする記憶装置用制御装置。
  2. 前記振動検知部によって振動が検出されてから前記ホストコンピュータから受信したコマンドに対応するコマンド終了応答を、前記データ書き込み制御部が前記データバッファに格納されている書き込みデータを前記所定時間にわたって前記記憶媒体へ優先的に書き込んだ後に前記ホストコンピュータへ送信することを特徴とする請求項1記載の記憶装置用制御装置。
  3. 前記振動検知部によって検知された振動の強さおよび回数が所定閾値以上となったか否かを判定する振動判定部をさらに備え、
    前記データ書き込み制御部は、前記振動検知部によって振動が検知され、かつ前記振動判定部によって前記振動の振幅および回数が所定閾値以上となったと判定された場合に、前記データバッファに格納されている書き込みデータを前記所定時間にわたって前記記憶媒体へ優先的に書き込むことを特徴とする請求項1または2に記載の記憶装置用制御装置。
  4. 前記データ書き込み制御部は、前記振動検知部によって振動が検知され、かつ前記振動判定部によって前記振動の振幅および回数が所定閾値を超えなかったと判定された場合に、前記コマンドごとの前記書き込みデータ単位で前記記憶媒体へ該書き込みデータを書き込むことを特徴とする請求項3に記載の記憶装置用制御装置。
  5. 前記データバッファは、前記ホストコンピュータからの書き込みデータを一時記憶する書き込みデータ領域と、前記記憶媒体から読み出した読み出しデータを一時記憶する読み出しデータ領域とを含み、
    前記振動検知部によって振動が検知され、かつ前記振動判定部によって前記振動の振幅および回数が所定閾値以上となったと判定された場合に、前記読み出しデータ領域を制限する領域制限処理部をさらに有することを特徴とする請求項1〜4のいずれか一つに記載の記憶装置用制御装置。
  6. ホストコンピュータから受信したコマンドに応じたデータを一時記憶するデータバッファを介して該ホストコンピュータと記憶媒体との間でデータを送受し、該データを該データバッファに一時記憶すると前記コマンドに対応するコマンド終了応答を前記ホストコンピュータへ送信する記憶装置であって、
    前記記憶装置に加わる振動を検知する振動検知部と、
    前記振動検知部によって振動が検知されると、前記データバッファに格納されている書き込みデータを所定時間にわたって前記記憶媒体へ優先的に書き込むデータ書き込み制御部と
    を少なくとも備えてなることを特徴とする記憶装置。
  7. 前記振動検知部によって振動が検出されてから前記ホストコンピュータから受信したコマンドに対応するコマンド終了応答を、前記データ書き込み制御部が前記データバッファに格納されている書き込みデータを前記所定時間にわたって前記記憶媒体へ優先的に書き込んだ後に前記ホストコンピュータへ送信することを特徴とする請求項6記載の記憶装置。
  8. ホストコンピュータから受信したコマンドに応じたデータを一時記憶するデータバッファを介して該ホストコンピュータと記憶媒体との間でデータを送受し、該データを該データバッファに一時記憶すると前記コマンドに対応するコマンド終了応答を前記ホストコンピュータへ送信する記憶装置のデータ記憶制御方法であって、
    前記記憶装置に加わる振動を検知する振動検知ステップと、
    前記振動検知ステップによって振動が検知されると、前記データバッファに格納されている書き込みデータを所定時間にわたって前記記憶媒体へ優先的に書き込むデータ書き込み制御ステップと
    を少なくとも含んだことを特徴とする記憶装置のデータ記憶制御方法。
JP2007050366A 2007-02-28 2007-02-28 記憶装置用制御装置、記憶装置およびそのデータ記憶制御方法 Pending JP2008217855A (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2007050366A JP2008217855A (ja) 2007-02-28 2007-02-28 記憶装置用制御装置、記憶装置およびそのデータ記憶制御方法
EP07123826A EP1965385A1 (en) 2007-02-28 2007-12-20 Storage device control apparatus, storage device, and data storage control method
US12/004,836 US20080209103A1 (en) 2007-02-28 2007-12-21 Storage device control apparatus, storage device, and data storage control method
KR1020080003491A KR20080079992A (ko) 2007-02-28 2008-01-11 기억 장치용 제어 장치, 기억 장치 및 그 데이터 기억 제어방법
CNA2008100015764A CN101256470A (zh) 2007-02-28 2008-01-14 存储设备控制装置、存储设备和数据存储控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007050366A JP2008217855A (ja) 2007-02-28 2007-02-28 記憶装置用制御装置、記憶装置およびそのデータ記憶制御方法

Publications (1)

Publication Number Publication Date
JP2008217855A true JP2008217855A (ja) 2008-09-18

Family

ID=39278351

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007050366A Pending JP2008217855A (ja) 2007-02-28 2007-02-28 記憶装置用制御装置、記憶装置およびそのデータ記憶制御方法

Country Status (5)

Country Link
US (1) US20080209103A1 (ja)
EP (1) EP1965385A1 (ja)
JP (1) JP2008217855A (ja)
KR (1) KR20080079992A (ja)
CN (1) CN101256470A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013041403A (ja) * 2011-08-15 2013-02-28 Toshiba Corp 情報処理装置および情報処理方法
JP2013061896A (ja) * 2011-09-15 2013-04-04 Toshiba Corp 情報処理装置および情報処理方法
JP2015130150A (ja) * 2013-10-29 2015-07-16 シーゲイト テクノロジー エルエルシー メモリデバイスのための装置、メモリデバイスおよびメモリデバイスの制御のための方法

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102117184B (zh) * 2010-01-05 2017-06-27 联想(北京)有限公司 用于多存储器的控制器、终端设备及其启动和访问方法
US8495256B2 (en) * 2011-01-14 2013-07-23 International Business Machines Corporation Hard disk drive availability following transient vibration
JP5899893B2 (ja) * 2011-12-19 2016-04-06 富士通株式会社 ストレージ装置、コマンド実行制御方法、およびプログラム
ITTO20120406A1 (it) * 2012-05-07 2013-11-08 St Microelectronics Srl Procedimento e dispositivo per interrompere transazioni, sistema e prodotto informatico relativi
US9128820B1 (en) 2012-06-18 2015-09-08 Western Digital Technologies, Inc. File management among different zones of storage media
CN103019615B (zh) * 2012-07-19 2015-08-26 中国人民解放军国防科学技术大学 一种基于负载控制的提高闪存固态硬盘持久性方法
US9274966B1 (en) * 2013-02-20 2016-03-01 Western Digital Technologies, Inc. Dynamically throttling host commands to disk drives
US9075538B2 (en) 2013-06-24 2015-07-07 Seagate Technology Llc Performance and power management for rotating data storage device
US9087545B2 (en) * 2013-07-16 2015-07-21 Saegate Technology Llc Request management for rotating data storage media
US9600205B1 (en) * 2014-09-22 2017-03-21 Western Digital Technologies, Inc. Power aware power safe write buffer
KR102238652B1 (ko) 2014-11-12 2021-04-09 삼성전자주식회사 데이터 저장 장치, 이의 작동 방법, 및 이를 포함하는 데이터 처리 시스템의 작동 방법
KR20200025518A (ko) * 2018-08-30 2020-03-10 에스케이하이닉스 주식회사 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템
US20240126449A1 (en) * 2022-10-17 2024-04-18 Micron Technology, Inc. Buffer threshold monitoring to reduce data loss

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001307413A (ja) * 2000-04-24 2001-11-02 Hitachi Ltd 回転型記憶装置の制御方法および回転型記憶装置
JP2006228421A (ja) * 2006-03-27 2006-08-31 Sony Corp 編集装置、編集方法、記録装置、記録方法及びプログラム格納記録媒体
JP2006269006A (ja) * 2005-03-25 2006-10-05 Fujitsu Ltd 記憶装置、制御方法及びプログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2831087B2 (ja) * 1990-03-19 1998-12-02 株式会社日立製作所 データ記憶システム
JPH11306748A (ja) * 1998-04-16 1999-11-05 Nec Corp ディスクアレイ装置
JP2000207824A (ja) * 1999-01-07 2000-07-28 Funai Electric Co Ltd ディスクドライブ装置
JP2001005724A (ja) 1999-06-11 2001-01-12 Internatl Business Mach Corp <Ibm> ライト・キャッシュ転送の制御方法およびディスク装置
JP2001135018A (ja) * 1999-11-09 2001-05-18 Hitachi Ltd データ書込み保障制御方式及びこの制御方式を用いた磁気ディスク装置
JP2001312373A (ja) * 2000-04-21 2001-11-09 Internatl Business Mach Corp <Ibm> データの書き込み方法およびディスクドライブ装置
JP2003108314A (ja) * 2001-09-20 2003-04-11 Internatl Business Mach Corp <Ibm> データ記憶装置、コンピュータ装置、書き込みデータの処理装置および書き込みデータの処理方法
JP2005005810A (ja) * 2003-06-09 2005-01-06 Canon Inc メディアデータ管理方法、ディスク録画装置、ディスク再生装置、メディアデータ管理システム、コンピュータプログラム及びコンピュータ読み取り可能な記録媒体
JP2005309980A (ja) 2004-04-23 2005-11-04 Hitachi Global Storage Technologies Netherlands Bv ディスク装置及びリアルタイム処理と非リアルタイム処理の同時実行方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001307413A (ja) * 2000-04-24 2001-11-02 Hitachi Ltd 回転型記憶装置の制御方法および回転型記憶装置
JP2006269006A (ja) * 2005-03-25 2006-10-05 Fujitsu Ltd 記憶装置、制御方法及びプログラム
JP2006228421A (ja) * 2006-03-27 2006-08-31 Sony Corp 編集装置、編集方法、記録装置、記録方法及びプログラム格納記録媒体

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013041403A (ja) * 2011-08-15 2013-02-28 Toshiba Corp 情報処理装置および情報処理方法
JP2013061896A (ja) * 2011-09-15 2013-04-04 Toshiba Corp 情報処理装置および情報処理方法
JP2015130150A (ja) * 2013-10-29 2015-07-16 シーゲイト テクノロジー エルエルシー メモリデバイスのための装置、メモリデバイスおよびメモリデバイスの制御のための方法

Also Published As

Publication number Publication date
KR20080079992A (ko) 2008-09-02
US20080209103A1 (en) 2008-08-28
CN101256470A (zh) 2008-09-03
EP1965385A1 (en) 2008-09-03

Similar Documents

Publication Publication Date Title
JP2008217855A (ja) 記憶装置用制御装置、記憶装置およびそのデータ記憶制御方法
US7849259B1 (en) Disk controller response handler for write commands
US20090113087A1 (en) Stream data transfer control device
JP2007087558A (ja) ディスク制御装置、ディスク制御方法およびディスク制御プログラム
JP2006164012A (ja) データ記憶装置及びそのパワー・セーブ・モードの制御方法
US9146680B2 (en) Utilization of disk buffer for background replication processes
JPWO2009050765A1 (ja) 媒体記憶装置のリード/ライト処理方法及び媒体記憶装置
JP2006127300A (ja) ホストと記憶デバイスとの間における通信方法、記憶デバイス、ホスト、記憶デバイスとホストを備えるシステム
US8117491B2 (en) Disk-drive device and method for error recovery thereof
JP2004334459A (ja) 記録再生装置、記録再生方法、および記録再生プログラム
US7630781B2 (en) Media data reproduction methods and embedded systems utilizing the same
EP1758114A2 (en) Data storage device and a method of controlling write of user data thereof
US20060001995A1 (en) Recording and playback apparatus, recording controlling method, and recording medium
JP2008135110A (ja) データ記憶装置
JP4534940B2 (ja) 情報記録装置、撮像装置、および情報記録制御方法、並びにコンピュータ・プログラム
KR100837012B1 (ko) 기록재생장치, 기록재생방법, 매체 및 프로그램
KR100462602B1 (ko) 디스크 드라이브에서의 오디오/비디오 데이터 기록/재생방법
JP4507672B2 (ja) オーディオ再生装置およびクロック周波数制御方法
JP2001135042A (ja) ディスク制御装置、ディスク装置、ディスク制御システム、リトライ回数制御方法、および記録媒体
JP4137429B2 (ja) 記録再生装置、記録再生方法、プログラム及び記録媒体
KR20050079611A (ko) 기록 재생 장치
KR100585094B1 (ko) 멀티미디어 시스템에서의 효율적인 데이터 저장/재생 방법및 장치
JP2000076793A (ja) 記録媒体駆動装置および方法、情報記録再生システムおよび方法、並びに提供媒体
JP2007115357A (ja) データ記録装置及びデータ記録方法
JP2004355792A (ja) データ処理装置、データ処理方法、プログラム及びプログラム記録媒体

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20091022

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100107

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101214

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110419