JP2007122816A - 記憶装置、制御方法及びプログラム - Google Patents

記憶装置、制御方法及びプログラム Download PDF

Info

Publication number
JP2007122816A
JP2007122816A JP2005314552A JP2005314552A JP2007122816A JP 2007122816 A JP2007122816 A JP 2007122816A JP 2005314552 A JP2005314552 A JP 2005314552A JP 2005314552 A JP2005314552 A JP 2005314552A JP 2007122816 A JP2007122816 A JP 2007122816A
Authority
JP
Japan
Prior art keywords
command
queuing
head
medium
execution
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
JP2005314552A
Other languages
English (en)
Inventor
Masami Aihara
正実 相原
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 JP2005314552A priority Critical patent/JP2007122816A/ja
Priority to US11/325,669 priority patent/US7567402B2/en
Publication of JP2007122816A publication Critical patent/JP2007122816A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B21/00Head arrangements not specific to the method of recording or reproducing
    • G11B21/02Driving or moving of heads
    • G11B21/12Raising and lowering; Back-spacing or forward-spacing along track; Returning to starting position otherwise than during transducing operation

Abstract

【課題】コマンドキューイングの動作状態であってもホストが発行した緊急退避コマンドを記憶装置で適切に実行可能とする。
【解決手段】記憶装置をは、ヘッドをディスク媒体上に振り出すと共にヘッドを媒体上から退避させて保持するランプ機構を備える。コマンドキューイング処理部46は、ホスト11の発行順に入出力コマンドをコマンドキュー50に格納した後に媒体アクセス時間の短い順に整列して実行し、実行終了順にホスト11にコマンド終了を応答する。緊急退避処理部48は、コマンドキューイング処理部46の動作中に、ホスト11から緊急退避コマンドを受領した際に、コンドキューイング処理部46の動作を中断し、ヘッドを媒体上からランプ機構に退避させて保護する。
【選択図】 図1

Description

本発明は、ホストからの衝撃予測等に基づく緊急退避コマンドを受領して媒体上からヘッドを退避させる記憶装置、制御方法及びプログラムに関し、特に、キューイングした入出力コマンドの実行中に緊急退避コマンドによりヘッドを退避するための記憶装置、制御方法及びプログラムに関する。
従来、磁気ディスク装置などの記憶装置にあっては、装置停止状態でヘッドを媒体上から退避して保持するランプ機構を設けていおり、装置の起動により媒体回転が一定回転数に達した際にヘッドをランプ機構から媒体上に振り出すロード処理を行い、装置の停止時にヘッドを媒体上からランプ機構に退避するアンロード処理を行っている。
また近年の記憶装置にあっては、ホストとのインタフェースにシリアルATA(ANSI T13/Serial ATA International Organization(SATA−IO))のような高速シリアル転送インタフェースを使用しており、このようなインタフェースにあっては、上位装置と磁気ディスク装置の処理時間(オーバーヘッド)を削減するため、ホストから発行された入出力コマンド(ライトコマンド又はリードコマンド)をキューイングして実行するコマンドキューイング機能(シリアルATAでは「Native Command Queuing」という)が設けられている。
高速シリアル転送インタフェースが提供するコマンドキューイング機能は、ホストからの入出力コマンドを磁気ディスク装置のキューにコマンド発行順に格納し(アウトオーダ)、装置側で媒体アクセス時間が短い順にコマンドを整列させるリオーダを行い、整列順にコマンドを取り出して順次実行し、コマンド実行が終了したらコマンド終了順に終了ステータスをホストに通知している。
即ち、コマンドキューイング機能は、ホストからの入出力コマンドをインオーダ(発行順)でキューイングした後に、媒体アクセス時間の短い順の整列するリオーダを行ってアウトオーダでコマンドを実行し、コマンドの実行が終了したらアウトオーダのままコマンド終了をホストに応答している。
このような記憶装置における入出力コマンドのコマンドキューイング機能は、高速シリアル転送インタフェースを使用する以前のパラレル転送インタフェースを使用した磁気ディスク装置においても、インタフェースとしてではなく、装置側の機能として実用化されている。
しかし、従来の装置側機能として提供されているコマンドキューイング機能は、ホストからの入出力コマンドを発行順にキューイングしてアクセス実行時間の短い順に整列して実行する点は同じであるが、コマンド実行終了に伴うホストへの終了応答については、ホスト側が装置側のコマンドキューイング機能を意識していないため、コマンド発行順にコマンド終了を応答している。
即ち、従来の装置側でのみ行っているコマンドキューイング機能は、ホストからの入出力コマンドをインオーダ(コマンド発行順)でキューイングした後に、媒体アクセス時間の短い順の整列するリオーダを行ってアウトオーダでコマンドを実行し、コマンドの実行が終了したらインオーダ(コマンド発行順)でコマンド終了をホストに応答している。
このため装置側にコマンドキューイング機能が設けられていても、ホストに対するコマンド終了応答は、リオーダリング前のコマンド発行順にしたがっており、装置側でコマンドの実行が終了しても、それ以前に発行されたコマンドの実行終了をホストに応答するまでコマンド終了応答が待たされることとなり、装置側にコマンドキューイング機能を設けていても、ホストから見た処理時間はコマンドキューイング機能がない場合と同じであり、ホストと装置との間の処理時間の短縮には寄与していない問題があった。
このような問題が高速シリアル転送インタフェースで提供されるコマンドキューイング機能により解消され、装置側のリオーダリングによるアウトオーダでのコマンド実行が終了すると、アウトオーダのまま直ちにコマンド終了応答をホストに返すことができ、装置側のリオーダリングによる処理時間の短縮を、そのままホストと装置との間の処理時間の短縮に反映することができる。
更に従来の高速シリアル転送インタフェースにおけるコマンドキューイングの制御手順、即ちコマンドキューイングプロトコルにあっては、キューイング対象となる入出力コマンドをホストが発行すると、そのコマンドが正常もしくはエラー終了してアウトオーダでコマンド終了をホストに応答するまで、記憶装置はキューイング状態を保持するようにしており、このプロトコルを維持するためコマンドキューイング状態のときはキューイング対象となる入出力コマンド以外のコマンドをホストが発行することをプロトコル上で許可していない。
一方、近年の可搬可能な情報処理装置、例えばラップトップタイプのパーソナルコンピュータ等にあっては、装置が落下した際の衝撃による記憶装置の破壊を未然に防止するため、ホスト側に傾斜や振動を検出するセンサを設け、センサの検出信号から落下を予測して記憶装置に緊急退避コマンドを発行し、衝撃が加わる前にヘッドを媒体上からランプ機構に緊急退避させる保護制御が提案されている(特許文献1,2)。
特開2004−171608号公報 特開2004−146036号公報
しかしながら、ホストと記憶装置をコマンドキューイング機能を提供する高速シリアル転送インタフェースで接続していた場合、装置側のキューに入出力コマンドが格納されていないコマンドキューイングの非動作状態であればホストからの緊急退避コマンドを実行してヘッドを媒体上からランプ機構に退避できるが、コマンドキューイングの動作状態で緊急退避コマンドをホストが発行した場合、記憶装置は一般的にホストと装置間におけるコマンドキューイングプロトコルの規約に従って製品化を行っているために、記憶装置はプロトコルエラーと解釈し、エラーを報告するだけで緊急退避コマンドを実行せず、ヘッドを媒体上からランプ機構に緊急退避することもできないという問題がある。
本発明は、コマンドキューイングの動作状態であってもホストが発行した緊急退避コマンドを記憶装置で適切に実行可能とする記憶装置、制御方法及びプログラムを提供することを目的とする。
本発明は記憶装置を提供する。即ち、本発明は、ヘッドを媒体上に振り出すと共にヘッドを媒体上から退避させて保持するランプ機構を備えた記憶装置に於いて、
上位装置のコマンド発行順に入出力コマンドをキューに格納した後に媒体アクセス時間の短い順に整列して実行し、実行終了順に上位装置にコマンド終了を応答するコマンドキューイング処理部と、
コマンドキューイング処理部の動作中に、上位装置から緊急退避コマンドを受領した際に、コンドキューイング処理部の動作を中断し、ヘッドを媒体上からランプ機構に退避させる緊急退避処理部と、
を設けたことを特徴とする。
ここで、緊急退避処理部は、コマンドキューイング処理部のコマンド実行を中断した際に中断状態を保持し、急退避コマンドの実行終了時に、コマンドキューイング処理部のコマンド実行の中断状態を解除してコマンド実行を再開する。また緊急退避処理部は、緊急退避コマンドの実行終了時に、コマンド正常終了を上位装置に通知する。
緊急退避処理部は、緊急退避コマンドの実行終了時に、コマンドキューイング処理部にキューイングしているコマンド情報を全て破棄するするようにしても良い。この場合、緊急退避処理部は、緊急退避コマンドの実行終了時に、コマンドキューイング処理部にキューイングのプロトコルエラーがあったことを上位装置に通知する。
本発明は記憶装置の制御方法を提供する。即ち本発明は、ヘッドを媒体上に振り出すと共にヘッドを媒体上から退避させて保持するランプ機構を備えた記憶装置の制御方法に於いて、
上位装置のコマンド発行順に入出力コマンドをキューに格納した後に媒体アクセス時間の短い順に整列して実行し、実行終了順に上位装置にコマンド終了を応答するコマンドキューイング処理ステップと、
コマンドキューイング処理ステップの動作中に、上位装置から緊急退避コマンドを受領した際に、コンドキューイング処理ステップの動作を中断し、ヘッドを媒体上からランプ機構に退避させる緊急退避ステップと、
を設けたことを特徴とする。
本発明は記憶装置のコンピュータで実行されるプログラムを提供する。即ち本発明のプログラムは、ヘッドを媒体上に振り出すと共にヘッドを媒体上から退避させて保持するランプ機構を備えた記憶装置のコンピュータに、
上位装置のコマンド発行順に入出力コマンドをキューに格納した後に媒体アクセス時間の短い順に整列して実行し、実行終了順に上位装置にコマンド終了を応答するコマンドキューイング処理ステップと、
コマンドキューイング処理ステップの動作中に、上位装置から緊急退避コマンドを受領した際に、コンドキューイング処理ステップの動作を中断し、ヘッドを媒体上からランプ機構に退避させる緊急退避ステップと、
を実行させることを特徴とする。
本発明によれば、記憶装置でコマンドをキューイングしている状態であっても、ホストからヘッドを緊急退避するコマンドを受領した場合には、コマンドキューイングプロトコルの規約に従わずに、コマンドキューイングのプロトコルエラーとせずにコマンドを受け付け可能にして実行し、ヘッドを媒体上からランプ機構に退避して衝撃に対しヘッドを保護することができる。
また緊急退避コマンドの受領でコマンドキューイングを一時的に中断し、緊急退避コマンドの終了で再開させることで、コマンドキューイングプロトコルに影響をおよぼすことなく、コマンドキューイング中であっても緊急退避コマンドを実行してヘッドを保護することができる。
また緊急退避コマンドの受領でコマンドキューイングを一時的に中断して緊急退避コマンドを実行し、実行終了でコマンドキューイングの情報を全て破棄し、プロトコルエラーを通知してリトライさせることによっても、同様に、コマンドキューイング中であっても緊急退避コマンドを実行してヘッドを保護することができる。
更に、緊急退避コマンドはキューイングコマンドとしてではなく、通常のコマンドとして処理できるので、キューイング対象とするコマンド種類に関わりなく処理することができ、コマンドキューイングのコマンド体系を変更することなく、緊急退避コマンドをコマンドキューイング中に実行してヘッドを保護することができる。
図1は本発明による記憶装置の一実施形態としての磁気ディスク装置のブロック図である。
図1において、ハードディスクドライブ(HDD)として知られた磁気ディスク装置10は、ディスクエンクロージャ14と制御ボード12で構成される。ディスクエンクロージャ14にはスピンドルモータ16が設けられ、スピンドルモータ16の回転軸にディスク媒体(記憶媒体)20−1,20−2を装着し、一定速度で回転させる。
ディスクエンクロージャ14にはボイスコイルモータ18が設けられ、ボイスコイルモータ18はヘッドアクチュエータのアーム先端にヘッド22−1〜22−4を搭載しており、ディスク媒体20の記録面に対するヘッドの位置決めを行う。なお、ヘッド22−1〜22−4にはライトヘッドとリードヘッドが一体化されて搭載されている。
ヘッド22−1〜22−4はヘッドIC24に対し信号線接続されており、ヘッドIC24は上位装置となるホストからのライトコマンドまたはリードコマンドに基づくヘッドセレクト信号で1つのヘッドを選択して書込みまたは読出しを行う。またヘッドIC24には、ライト系についてはライトアンプが設けられ、リード系についてはプリアンプが設けられている。
制御ボード12にはMPU26が設けられ、MPU26のバス28に対し、RAMを用いた制御プログラム及び制御データを格納するメモリ30、FROM等を用いた制御プログラムを格納する不揮発メモリ32が設けられている。
またMPU26のバス28には、ホストインタフェース制御部34、バッファメモリ38を制御するバッファメモリ制御部36、ハードディスクコントローラとして機能するフォーマット制御部40、ライト変調部及びリード復調部として機能するリードチャネル42、ボイスコイルモータ18及びスピンドルモータ16を制御するサーボ制御部44が設けられている。
磁気ディスク装置10は、ホスト11から入出力コマンドとしてライトコマンド又はリードコマンドを受領し、ホスト11とホストインタフェース制御部34との接続に例えばシリアルATAなどの高速シリアル転送インタフェースを採用することで、例えばシリアルATAのネイティブ・コマンド・キューイングとして提供されるコマンドキューイング機能に基づく入出力処理を実行する。
高速シリアル転送インタフェースで提供されるコマンドキューイング機能を実現するため、MPU26にはコマンドキューイング処理部46が設けられ、これに対応してメモリ30にはコマンドキュー50が配置されている。コマンドキューイング処理部46は、ホスト11が発行した入出力コマンドであるライトコマンドやリードコマンドをコマンド発行順にコマンドキュー50に格納して媒体アクセス時間の短い順に整列するリオーダリングを行った後に、最も媒体アクセス時間の短いコマンドを取り出して実行し、実行終了で直ちにホスト11に対しコマンド終了を応答する。
即ち、ホスト11からの入出力コマンドを、発行順となるインオーダでコマンドキュー50に格納した後に媒体アクセス時間の短い順に整列するリオーダを行い、整列後にアクセス時間の短い順にコマンドを取り出して実行するアウトオーダ実行とし、更に媒体アクセスによるコマンド終了で直ちにホスト11に対し終了ステータスを応答することができる。
ここでコマンドキュー50に格納した入出力コマンドを整列する際のアクセス時間は
(アクセス時間)=(シーク時間)+(回転待ち時間)
が用いられている。シーク時間は、コマンドキュー50から入出力コマンドを取り出してからディスク媒体上の希望のトラックにヘッドを位置付けるまでの時間である。また回転待ち時間は、希望するトラックにヘッドを位置付けてからディスク媒体の回転によって希望するセクタがヘッドの位置に到着するまでの時間である。
このように本発明のコマンドキューイング処理部46にあっては、ホスト11が発行した入出力コマンドをコマンドキュー50に格納してアクセス時間の短い順に整列した後にアクセス時間の最も短いコマンド順に取り出して実行するアウトオーダ実行とし、更に、実行したコマンドが終了した際には直ちにホスト11にコマンド終了を報告できることで、従来のコマンド終了応答をコマンド発行順に行っていた場合に比べ、ホスト11と磁気ディスク装置10との間のオーバーヘッドを大幅に短縮することができる。
MPU26には更に緊急退避処理部48が設けられる。緊急退避処理部48は、ホスト11から緊急退避コマンドを受領した際にヘッドをディスク媒体上からランプ機構に退避させる緊急退避処理を実行する。
緊急退避処理は、コマンドキューイング処理部46によるコマンドキューイング状態以外の場合にはホスト11からの緊急退避コマンドをそのまま実行して終了応答をすればよい。これに対しコマンドキューイング状態においてホスト11から緊急退避コマンドを受信した場合、コマンドキューイング処理部46はコマンドキューイング状態における入出力コマンド以外のコマンドについてはプロトコルエラーと判定し、そのままではコマンドキューイング状態でホスト11が発行した緊急退避コマンドを実行することができない。
そこで本発明の緊急退避処理部48にあっては、コマンドキューイング処理部46が動作しているコマンドキューイング状態において、ホスト11から緊急退避コマンドを受領した場合には、コマンドキューイング処理部46の動作を一時的に中断し、この中断中に受領した緊急退避コマンドを実行してヘッドを媒体上からランプ機構に退避させる緊急退避処理を実行する。
緊急退避コマンドを実行するために一時中断したコマンドキューイング処理部46に対する緊急退避コマンド実行後の処理として次の2つがある。
(1)コマンドキューイング処理部46の動作を中断した際に、中断状態を保持し、緊急退避コマンドの実行終了後にコマンドキューイング処理部46のコマンド実行の中断状態を解除してコマンドキューイングを再開する。
(2)緊急退避コマンドの実行終了後にコマンドキューイング処理部46にキューイングしているコマンド情報を全て破棄する。
このような緊急退避コマンド実行終了後のコマンドキューイング処理部46の制御につき、(1)の中断後のコマンドキューイングの再開については、ホスト11に対する緊急退避コマンドの実行終了に伴う応答として緊急退避コマンドのコマンド正常終了を通知することになる。
一方、(2)の緊急退避コマンドの実行終了でキューイングしている情報を全て破棄する場合には、緊急退避コマンドの実行終了の報告と同時に、コマンドキューイングにプロトコルエラーが発生したことを示すエラーステータスを作成して報告することになる。
このような緊急退避コマンド実行終了時のコマンドキューイング処理部46の処理として、(1)の再開継続とするか、(2)のコマンドキューイングの破棄とするかは、ホスト11及び記憶装置10の使い方に応じていずれか一方を選択することになるが、緊急退避コマンドの終了でコマンドキューイングの情報を全て破棄した場合には、破棄したキューイング対象となっている入出力コマンドについてはホスト11からのリトライになり、その分、時間がかかることになる。
したがってアクセス性能を高めるためには、(1)の緊急退避コマンドの実行時にコマンドキューイング動作を中断して中断状態を保持し、緊急退避コマンドの実行終了で中断しているコマンドキューイング動作を再開する処理が望ましい。一方、記憶装置10によるデータの信頼性を高めるためには、(2)のように緊急退避コマンドの実行に伴いプロトコルエラーと判定してキューイング情報を全て破棄し、プロトコルエラーのホスト11による通知でリトライを行わせることが望ましい。
また中断したキューイング情報としては、キューイングしているタグ番号と、それに対するコマンドの情報などが挙げられる。
更に、コマンドキュー50には、コマンドそのものに加え、ホスト11から送られた/送るデータを一時的にキャッシュ領域のどの部分に格納するか、ホスト11から送られた/送るデータをメディア(媒体)上のどの部分に格納するか、データは書くのか、読むのか、などの情報が格納されている。
図2は図1の磁気ディスク装置10におけるディスクエンクロージャ14の内部構造を示している。図2において、磁気ディスク装置10には、スピンドルモータ16により回転されるディスク媒体20−1,20−2が組み込まれており、ディスク媒体20−1,20−2に対しボイスコイルモータ18により駆動されるヘッドアクチュエータ52が設けられ、ヘッドアクチュエータ52の先端にはヘッドが装着されている。
ヘッドアクチュエータ52は図示の状態で退避位置にあり、このときヘッドアクチュエータ52の先端のヘッド部分はディスク媒体20−1,20−2に対しヘッド振り出し方向に向けて配置したランプ機構54上に退避されている。
磁気ディスク装置の電源を投入すると、スピンドルモータ16によりディスク媒体20−1,20−2が回転し、回転数が一定回転数に達すると、ボイスコイルモータ18によりヘッドアクチュエータ52がディスク媒体20−1,20−2側に回動し、ランプ機構54からディスク媒体20−1,20−1上にヘッドを振り出す。
ディスク媒体20−1,20−1上にヘッドを位置してホスト11からのコマンドにより目的トラックにヘッドをシークしている状態で、後の説明で明らかにする緊急退避コマンドを受信すると、ボイスコイルモータ18の駆動でヘッドをランプ機構54に退避させて保持する緊急退避動作が行われることになる。
図3は図1の実施形態における制御処理のフローチャートである。図3において、ホスト11及び記憶装置10の電源を連動して投入すると、ステップS1で初期化処理が行われ、ステップS2でホスト11からのコマンド発行に伴うコマンド割込み発生の待機状態となる。
ステップS2でホスト11からの発行コマンドを受信してコマンド割込みが発生すると、ステップS3に進み、ホスト11が発行したコマンドがキューイング対象コマンドか否か、例えばライトコマンドまたはリードコマンドか否かを判定する。キューイング対象コマンドであった場合には、ステップS4でコマンドキュー50にライトコマンドまたはリードコマンドを格納し、ホスト11にコマンド受領を報告する。
続いてステップS5でコマンドキューイング状態か否かを判定する。即ち、既にキューイング対象コマンドを受領してコマンドキュー50に格納中であれば、コマンドキューイング状態にあることからステップS6をスキップするが、コマンドキュー50が空き状態にある場合には、コマンドキュー50に対するコマンドの格納でステップS6に進み、コマンドキューイング状態を設定する。
続いてステップS7でコマンドキューイング処理をバックグラウンドで実行する。このバックグラウンドで実行するコマンドキューイング処理は、コマンドキューイング処理のためのプログラムモジュールを別途準備してバックグラウンドで実行することになる。
次にステップS8でコマンド終了割込みの発生の有無を判別しており、コマンド終了割込みが発生すると、ステップS9でホスト11にコマンド終了ステータスを作成して報告した後、ステップS10でコマンドキュー50にキューイングしている別コマンドが存在するか否か判別し、存在しなければステップS11でコマンドキューイング状態を解除し、存在すればステップS11をスキップし、コマンドキューイング状態を維持する。
続いてステップS12で停止指示の有無をチェックし、停止指示がなければステップS2に戻り、次のコマンド割込みを待つ。またコマンド割込みがステップS2で判別されなければ、ステップS8でコマンド終了割込みの発生を待つ処理を繰り返すことになる。
一方、ステップS3でホスト11からのコマンドがキューイング対象コマンドでなかった場合には、ステップS13に進み、コマンドキューイング状態にあるか否かチェックする。コマンドキューイング状態になければ、ステップS14で受領したコマンドのコマンド処理をバックグラウンドで実行し、ステップS15でコマンド実行完了を判別すると、ステップS16でコマンド処理完了をホストに報告する。
一方、ステップS13でコマンドキューイング状態であった場合には、ステップS17に進み、緊急退避コマンドか否かチェックする。緊急退避コマンドであった場合には、ステップS18に進み、緊急退避処理を実行する。この緊急退避処理の詳細は後の説明で明らかにする。
ステップS17で緊急退避コマンドでなかった場合には、コマンドキューイング状態でキューイング対象コマンド以外のコマンドを受信した場合であることからステップS19に進んでプロトコルエラーを作成してホストに報告し、ステップS20でコマンドキューイング状態を解除する。このコマンドキューイング状態の解除に伴い、そのときコマンドキュー50に格納されているキューイング情報は全て破棄され、ホスト11によるリトライの対象となる。
図4は図3のステップS7のバックグラウンドで実行されるコマンドキューイング処理、即ち図1のMPU26に設けたコマンドキューイング処理部46の処理を示したフローチャートである。
図4において、コマンドキューイング処理は、コマンドキュー50に新たに受信した入出力コマンドを格納した後に、コマンドキュー50に先行するコマンド登録があるか否かチェックし、コマンド登録があれば、ステップS2で目的セクタへのアクセス時間が短くなる順にコマンドを整列するリオーダリングを行う。
続いてステップS3でアクセス実行中か否かチェックし、アクセス実行中でなければ、ステップS4でアクセス時間が最短のコマンドをコマンドキュー50から取り出して実行する。
続いてステップS5でコマンド終了の有無をチェックし、もしコマンド終了を判別すると、ステップS6でコマンド終了割込みを発生する。続いてステップS7でキューにコマンドがあるか否かチェックし、コマンドがあればステップS1に戻ってコマンドキューイング処理を継続し、即ちコマンドキューイング状態を継続し、コマンドキュー50にコマンドがなくなればコマンドキューイング処理を終了する。即ちコマンドキューイング状態を解除することになる。
図5は図3のステップS18の緊急退避処理のフローチャートであり、その制御機能として、前述した(1)のキューイング状態を一時停止して緊急退避コマンドを実行後に再開する場合の処理である。
図5において、緊急退避処理は、ステップS1でバックグラウンドで実行しているコマンドキューイング処理を中断してキューイング情報を保持した後、ステップS2でヘッドをランプ機構に退避させるアンロード処理を実行する。
続いてステップS3でアンロード完了の有無をチェックしており、アンロードの完了を判別すると、ステップS4でコマンド正常終了をホストに報告した後、ステップS5で中断していたコマンドキューイング処理を再開する。
図6は図3のステップS18の緊急退避処理の他の実施形態のフローチャートであり、前述した(2)の制御機能による緊急退避コマンドの実行でキューイング状態を解除してプロトコルエラーとする場合の実施形態である。
図6において、緊急退避処理は、ステップS1でバックグラウンドで実行しているコマンドキューイング処理を停止した後、ステップS2でヘッドをランプ機構に退避するアンロード処理を実行する。続いてステップS3でアンロード完了を判別すると、ステップS4で緊急退避コマンドのコマンド正常終了をホストに報告した後、ステップS5でキューイング情報を破棄し、ステップS6でプロトコルエラー情報を作成してホスト11に報告する。
なお上記の実施形態はコマンドキューイング機能を提供するホスト11と記憶装置との間のインタフェースとしてシリアルATAを例に取るものであったが、これ以外に同じシリアル転送インタフェースとして知られたSCSIのコマンドキューイング機能を使用した場合についても同様に、本発明をそのまま適用することができる。
また上記の実施形態は記憶装置として磁気ディスク装置を例に取るものであったが、媒体に対しヘッドをアクチュエータで移動する構造の記憶装置であれば適宜の記憶装置につき本発明をそのまま適用することができる。
また本発明は、その目的と利点を損なうことのない適宜の変形を含み、更に上記の実施形態に示した数値による限定は受けない。
ここで本発明の特徴をまとめて列挙すると次の付記のようになる。
(付記)

(付記1)
ヘッドを媒体上に振り出すと共に前記ヘッドを媒体上から退避させて保持するランプ機構を備えた記憶装置に於いて、
上位装置のコマンド発行順に入出力コマンドをキューに格納した後に媒体アクセス時間の短い順に整列して実行し、実行終了順に上位装置にコマンド終了を応答するコマンドキューイング処理部と、
前記コマンドキューイング処理部の動作中に、前記上位装置から緊急退避コマンドを受領した際に、前記コンドキューイング処理部の動作を中断し、前記ヘッドを媒体上から前記ランプ機構に退避させる緊急退避処理部と、
を設けたことを特徴とする記憶装置。(1)
(付記2)
付記1記載の記憶装置に於いて、前記緊急退避処理部は、前記コマンドキューイング処理部のコマンド実行を中断した際に中断状態を保持し、前記緊急退避コマンドの実行終了時に、前記コマンドキューイング処理部のコマンド実行の中断状態を解除してコマンド実行を再開することを特徴とする記憶装置。(2)
(付記3)
付記2記載の記憶装置に於いて、前記緊急退避処理部は、前記緊急退避コマンドの実行終了時に、コマンド正常終了を前記上位装置に通知することを特徴とする記憶装置。(3)
(付記4)
付記1記載の記憶装置に於いて、前記緊急退避処理部は、前記緊急退避コマンドの実行終了時に、前記コマンドキューイング処理部にキューイングしているコマンド情報を全て破棄することを特徴とする記憶装置。
(付記5)
付記4記載の記憶装置に於いて、前記緊急退避処理部は、前記緊急退避コマンドの実行終了時に、前記コマンドキューイング処理部にキューイングのプロトコルエラーがあったことを前記上位装置に通知することを特徴とする記憶装置。
(付記6)
ヘッドを媒体上に振り出すと共に前記ヘッドを媒体上から退避させて保持するランプ機構を備えた記憶装置の制御方法に於いて
上位装置のコマンド発行順に入出力コマンドをキューに格納した後に媒体アクセス時間の短い順に整列して実行し、実行終了順に上位装置にコマンド終了を応答するコマンドキューイング処理ステップと、
前記コマンドキューイング処理ステップの動作中に、前記上位装置から緊急退避コマンドを受領した際に、前記コンドキューイング処理ステップの動作を中断し、前記ヘッドを媒体上から前記ランプ機構に退避させる緊急退避ステップと、
を設けたことを特徴とする記憶装置の制御方法。(4)
(付記7)
付記6記載の記憶装置の制御方法に於いて、前記緊急退避ステップは、前記コマンドキューイング処理ステップによりコマンド実行を中断した際に中断状態を保持し、前記緊急退避コマンドの実行終了時に、前記コマンドキューイング処理ステップによるコマンド実行の中断状態を解除してコマンド実行を再開することを特徴とする記憶装置の制御方法。
(付記8)
付記7記載の記憶装置の制御方法に於いて、前記緊急退避ステップは、前記緊急退避コマンドの実行終了時に、コマンド正常終了を前記上位装置に通知することを特徴とする記憶装置の制御方法。
(付記9)
付記6記載の記憶装置の制御方法に於いて、前記緊急退避ステップは、前記緊急退避コマンドの実行終了時に、前記コマンドキューイング処理ステップでキューイングしているコマンド情報を全て破棄することを特徴とする記憶装置の制御方法。
(付記10)
付記9記載の記憶装置の制御方法に於いて、前記緊急退避ステップは、前記緊急退避コマンドの実行終了時に、前記コマンドキューイング処理ステップでキューイングのプロトコルエラーがあったことを前記上位装置に通知することを特徴とする記憶装置の制御方法。
(付記11)
ヘッドを媒体上に振り出すと共に前記ヘッドを媒体上から退避させて保持するランプ機構を備えた記憶装置のコンピュータに、
上位装置の発行順に入出力コマンドをキューに格納した後に媒体アクセス時間の短い順に整列して実行し、実行終了順に上位装置にコマンド終了を応答するコマンドキューイング処理ステップと、
前記コマンドキューイング処理ステップの動作中に、前記上位装置から緊急退避コマンドを受領した際に、前記コンドキューイング処理ステップの動作を中断し、前記ヘッドを媒体上から前記ランプ機構に退避させる緊急退避ステップと、
を実行させることを特徴とするプログラム。(5)
(付記12)
付記11記載のプログラムに於いて、前記緊急退避ステップは、前記コマンドキューイング処理ステップによりコマンド実行を中断した際に中断状態を保持し、前記緊急退避コマンドの実行終了時に、前記コマンドキューイング処理ステップによるコマンド実行の中断状態を解除してコマンド実行を再開することを特徴とするプログラム。
(付記13)
付記12記載のプログラムに於いて、前記緊急退避ステップは、前記緊急退避コマンドの実行終了時に、コマンド正常終了を前記上位装置に通知することを特徴とするプログラム。
(付記14)
付記11記載のプログラムに於いて、前記緊急退避ステップは、前記緊急退避コマンドの実行終了時に、前記コマンドキューイング処理ステップでキューイングしているコマンド情報を全て破棄することを特徴とするプログラム。
(付記15)
付記14記載のプログラムに於いて、前記緊急退避ステップは、前記緊急退避コマンドの実行終了時に、前記コマンドキューイングステップでキューイングのプロトコルエラーがあったことを前記上位装置に通知することを特徴とするプログラム。
本発明による記憶装置の一実施形態を示した磁気ディスク装置のブロック図 図1の磁気ディスク装置のランプ機構の説明図 図1の実施形態における制御処理のフローチャート 図3のステップS7におけるバックグラウンドで実行されるコマンドキューイング処理のフローチャート 図3のステップS18における緊急退避処理の一実施形態を示したフローチャート 図3のステップS18における緊急退避処理の他の実施形態を示したフローチャート
符号の説明
10:記憶装置
11:ホスト
12:制御ボード
14:ディスクエンクロージャ
16:スピンドルモータ
18:ボイスコイルモータ
20−1,20−2:ディスク媒体
22−1〜22−4:ヘッド
24:ヘッドIC
26:MPU
28:バス
30:メモリ
32:不揮発メモリ
34:ホストインタフェース制御部
36:バッファメモリ制御部
38:バッファメモリ
40:フォーマット制御部
42:リードチャネル
44:サーボ制御部
46:コマンドキューイング処理部
48:緊急退避処理部
50:コマンドキュー
52:ヘッドアクチュエータ
54:ランプ機構

Claims (5)

  1. ヘッドを媒体上に振り出すと共に前記ヘッドを媒体上から退避させて保持するランプ機構を備えた記憶装置に於いて、
    上位装置のコマンド発行順に入出力コマンドをキューに格納した後に媒体アクセス時間の短い順に整列して実行し、実行終了順に上位装置にコマンド終了を応答するコマンドキューイング処理部と、
    前記コマンドキューイング処理部の動作中に、前記上位装置から緊急退避コマンドを受領した際に、前記コンドキューイング処理部の動作を中断し、前記ヘッドを媒体上から前記ランプ機構に退避させる緊急退避処理部と、
    を設けたことを特徴とする記憶装置。
  2. 請求項1記載の記憶装置に於いて、前記緊急退避処理部は、前記コマンドキューイング処理部のコマンド実行を中断した際に中断状態を保持し、前記緊急退避コマンドの実行終了時に、前記コマンドキューイング処理部のコマンド実行の中断状態を解除してコマンド実行を再開することを特徴とする記憶装置。
  3. 請求項2記載の記憶装置に於いて、前記緊急退避処理部は、前記緊急退避コマンドの実行終了時に、コマンド正常終了を前記上位装置に通知することを特徴とする記憶装置。
  4. ヘッドを媒体上に振り出すと共に前記ヘッドを媒体上から退避させて保持するランプ機構を備えた記憶装置の制御方法に於いて
    上位装置のコマンド発行順に入出力コマンドをキューに格納した後に媒体アクセス時間の短い順に整列して実行し、実行終了順に上位装置にコマンド終了を応答するコマンドキューイング処理ステップと、
    前記コマンドキューイング処理ステップの動作中に、前記上位装置から緊急退避コマンドを受領した際に、前記コンドキューイング処理ステップの動作を中断し、前記ヘッドを媒体上から前記ランプ機構に退避させる緊急退避ステップと、
    を設けたことを特徴とする記憶装置の制御方法。
  5. ヘッドを媒体上に振り出すと共に前記ヘッドを媒体上から退避させて保持するランプ機構を備えた記憶装置のコンピュータに、
    上位装置の発行順に入出力コマンドをキューに格納した後に媒体アクセス時間の短い順に整列して実行し、実行終了順に上位装置にコマンド終了を応答するコマンドキューイング処理ステップと、
    前記コマンドキューイング処理ステップの動作中に、前記上位装置から緊急退避コマンドを受領した際に、前記コンドキューイング処理ステップの動作を中断し、前記ヘッドを媒体上から前記ランプ機構に退避させる緊急退避ステップと、
    を実行させることを特徴とするプログラム。
JP2005314552A 2005-10-28 2005-10-28 記憶装置、制御方法及びプログラム Pending JP2007122816A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005314552A JP2007122816A (ja) 2005-10-28 2005-10-28 記憶装置、制御方法及びプログラム
US11/325,669 US7567402B2 (en) 2005-10-28 2006-01-04 Storage device, control method thereof and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005314552A JP2007122816A (ja) 2005-10-28 2005-10-28 記憶装置、制御方法及びプログラム

Publications (1)

Publication Number Publication Date
JP2007122816A true JP2007122816A (ja) 2007-05-17

Family

ID=38120126

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005314552A Pending JP2007122816A (ja) 2005-10-28 2005-10-28 記憶装置、制御方法及びプログラム

Country Status (2)

Country Link
US (1) US7567402B2 (ja)
JP (1) JP2007122816A (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7644206B2 (en) * 2006-06-30 2010-01-05 Seagate Technology Llc Command queue ordering by positionally pushing access commands
US20100085848A1 (en) * 2008-10-07 2010-04-08 Mediatek Inc. Method for performing track-seeking in an optical disk drive
US8495256B2 (en) * 2011-01-14 2013-07-23 International Business Machines Corporation Hard disk drive availability following transient vibration
US9135192B2 (en) * 2012-03-30 2015-09-15 Sandisk Technologies Inc. Memory system with command queue reordering
US10418053B1 (en) 2018-03-07 2019-09-17 Kabushiki Kaisha Toshiba Disk-drive with efficient command-reordering

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001022529A (ja) * 1999-06-30 2001-01-26 Internatl Business Mach Corp <Ibm> ディスクドライブ装置及びその制御方法
JP2005190641A (ja) * 2003-12-26 2005-07-14 Internatl Business Mach Corp <Ibm> 磁気ディスク装置の保護機構、これを備えたコンピュータシステム、磁気ディスク装置制御方法及びプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4491114B2 (ja) * 2000-06-23 2010-06-30 株式会社日立グローバルストレージテクノロジーズ 落下感知センサ及びこれを用いた情報処理装置
US20030163639A1 (en) * 2002-02-25 2003-08-28 Seagate Technology Llc Sequential command processing mode in a disc drive using command queuing
JP2004146036A (ja) 2002-10-03 2004-05-20 Internatl Business Mach Corp <Ibm> 磁気ディスクの保護機構、これを備えたコンピュータシステム、磁気ディスクの保護方法及びプログラム
JP2004171608A (ja) 2002-11-15 2004-06-17 Toshiba Corp 電子機器及び緊急処理方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001022529A (ja) * 1999-06-30 2001-01-26 Internatl Business Mach Corp <Ibm> ディスクドライブ装置及びその制御方法
JP2005190641A (ja) * 2003-12-26 2005-07-14 Internatl Business Mach Corp <Ibm> 磁気ディスク装置の保護機構、これを備えたコンピュータシステム、磁気ディスク装置制御方法及びプログラム

Also Published As

Publication number Publication date
US20070130391A1 (en) 2007-06-07
US7567402B2 (en) 2009-07-28

Similar Documents

Publication Publication Date Title
JP4679943B2 (ja) データ記憶装置及びその不揮発性メモリ内データ書き換え処理方法
JP2008034085A (ja) 複数の動作モードを有する不揮発性メモリを備えたディスクドライブ
US7574565B2 (en) Transforming flush queue command to memory barrier command in disk drive
JP4460867B2 (ja) インターフェース装置及びパケット転送方法
JP2006139548A (ja) メディア・ドライブ及びそのコマンド実行方法
US7949795B2 (en) Power conservation in data storage device by only starting the active state when the measured time indicates data is present on the interface
US7747818B1 (en) Media protection notification for serial interface mass storage devices
JP4630933B2 (ja) ディスクコントローラ、ディスクドライブ装置、及びディスク制御方法
JP2007122816A (ja) 記憶装置、制御方法及びプログラム
US8117491B2 (en) Disk-drive device and method for error recovery thereof
JP2006127300A (ja) ホストと記憶デバイスとの間における通信方法、記憶デバイス、ホスト、記憶デバイスとホストを備えるシステム
US7404034B2 (en) Disk drive device, electronic apparatus and disk control method
US8320066B2 (en) Storage device and read/write processing method therefor
JP5030387B2 (ja) データ記憶装置
US7526604B1 (en) Command queueing speculative write prefetch
US20130194696A1 (en) Disk drive and write control method
US7308530B1 (en) Architecture for a data storage device
JP2010092493A (ja) インターフェース装置及びパケット転送方法
US7389378B2 (en) Write processing method for stream type commands and medium storage apparatus
JP3150242B2 (ja) ディスク装置
CN112447198B (zh) 磁盘装置以及磁盘装置中的数据保护方法
JP2009054209A (ja) 不揮発性半導体メモリ装置を有するディスク・ドライブ装置及びそのディスク・ドライブ装置において不揮発性半導体メモリ装置にデータを格納する方法
JP2012038330A (ja) ハードディスクドライブ
JPH07334311A (ja) 磁気ディスク装置及び磁気ディスク装置におけるバッファメモリへのデータ転送方法
JP2007134000A (ja) 情報処理装置およびその制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080723

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20091023

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101013

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101019

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101217

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110510