JP2006164012A - データ記憶装置及びそのパワー・セーブ・モードの制御方法 - Google Patents
データ記憶装置及びそのパワー・セーブ・モードの制御方法 Download PDFInfo
- Publication number
- JP2006164012A JP2006164012A JP2004356652A JP2004356652A JP2006164012A JP 2006164012 A JP2006164012 A JP 2006164012A JP 2004356652 A JP2004356652 A JP 2004356652A JP 2004356652 A JP2004356652 A JP 2004356652A JP 2006164012 A JP2006164012 A JP 2006164012A
- Authority
- JP
- Japan
- Prior art keywords
- host
- data
- power save
- save mode
- transition
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0625—Power saving in storage systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3215—Monitoring of peripheral devices
- G06F1/3221—Monitoring of peripheral devices of disk drive devices
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Power Sources (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
【課題】
データ記憶装置において、パフォーマンスの低下を防止するパワー・セーブ・モードを実現する。
【解決手段】
本発明の一例であるHDD1は、ホスト51からパワー・セーブ・モードへの遷移要求(PMREQ)を受信すると(S11)、シリアル・インターフェース部236をパワー・セーブ・モードに遷移させるかを、コマンドの実行状態に基づいて判断する(S12)。遷移しないと決定すると、HDD1はホスト51に否認の応答(PMNACK)を送信し(S13)、シリアル・インターフェース部236をアクティブモードに維持する。データ転送が近いタイミングなどにおけるパワー・セーブ・モードへの遷移を拒否することで、パフォーマンスの低下を防止する。
【選択図】 図3
データ記憶装置において、パフォーマンスの低下を防止するパワー・セーブ・モードを実現する。
【解決手段】
本発明の一例であるHDD1は、ホスト51からパワー・セーブ・モードへの遷移要求(PMREQ)を受信すると(S11)、シリアル・インターフェース部236をパワー・セーブ・モードに遷移させるかを、コマンドの実行状態に基づいて判断する(S12)。遷移しないと決定すると、HDD1はホスト51に否認の応答(PMNACK)を送信し(S13)、シリアル・インターフェース部236をアクティブモードに維持する。データ転送が近いタイミングなどにおけるパワー・セーブ・モードへの遷移を拒否することで、パフォーマンスの低下を防止する。
【選択図】 図3
Description
本発明はデータ記憶装置のパワー・セーブ・モード制御に関する。
データ記憶装置として、光ディスクや磁気テープあるいは半導体メモリなどの様々な態様のメディアを使用する装置が知られている。その中で、ハードディスク・ドライブ(以下、HDD)は、コンピュータの記憶装置として広く普及し、現在のコンピュータ・システムにおいて欠かすことができない記憶装置の一つとなっている。さらに、コンピュータにとどまらず、動画像記録再生装置、カーナビゲーション・システム、あるいはデジタル・カメラなどで使用されるリムーバブルメモリなど、HDDの用途はその優れた特性により益々拡大している。
HDDで使用される磁気ディスクは、同心円状に形成された複数のトラックを有しており、各トラックは複数のセクタに区分されている。各セクタにはセクタのアドレス情報と、ユーザ・データが記憶される。ヘッド素子部がセクタのアドレス情報に従って所望のセクタにアクセスすることによって、セクタへのデータ書き込みあるいはセクタからのデータ読み出しを行うことができる。データ読み出し処理において、ヘッド素子部が磁気ディスクから読み出した信号は信号処理回路によって波形整形や復号処理などの所定の信号処理が施され、ホストに送信される。ホストからの転送データは、信号処理回路によって同様に所定処理された後に、磁気ディスクに書き込まれる。
ホストとHDDとの間のデータ伝送のためのインターフェースは、SCSIインターフェースやATAインターフェースなどのプロトコルが一般に使用されている。特に、ATAインターフェースは、インターフェース機能の向上と低コストの点から、多くのコンピュータにおいて利用され、また、光ディスク記憶装置などの他のタイプに記憶装置のインターフェースとしても広く利用されている。記憶媒体の記録密度の向上及びパフォーマンス向上への要求から、ATAインターフェースのデータ転送速度に対する要求は、益々厳しいものになっている。
このため、従来のパラレル伝送による伝送方式に代えて、シリアル伝送によるATAインターフェースが提案されている。シリアルATA(SATA)の規格は、Serial ATA Working Groupによって策定が進められており、例えばSerial ATA Working Groupによる仕様文書(非特許文献1)に詳しく記載されている。
一方、HDDにおける消費電力を低減するため、様々なパワー・マネージメントの手法が提案されている(例えば、特許文献1参照)。典型的には、HDDは複数のパワー・セーブ・モードを備え、一定時間内におけるホストからのコマンド数に応じて、所定のパワー・セーブ・モードに遷移する。又、SATAにおいては、シリアル・インターフェース部のパワー・セーブ・モードが提案されている。パワー・セーブ・モードとして、復帰に必要とされる時間によって2つのモードが提案されており、復帰時間の短いPartialと、復帰時間の長いSlumberが提案されている。
SATAにおいては、上述のようにシリアル・インターフェース部のパワー・セーブ・モードが規定されているが、その規定内容はパワー・セーブ・モードからの復帰時間を指定するもので、具体的な停止回路あるいはパワー・セーブ・モードへの遷移タイミングなどについては規定していない。このため、シリアル・インターフェース部のパワー・セーブ・モードを効果的に制御し、パワー・セーブ・モード遷移よるパフォーマンスの低下を抑制することが重要である。
"Serial ATA: High Speed Serialized ATA Attachment Revision 1.0a" [平成16年9月23日検索] インターネット<URL: http://www.sata-io.org/specifications.asp>
特開2000−173152号公報
本発明は上記のような事情を背景としてなされたものであって、本発明の目的は、HDDや光ディスク・プレーヤなどのデータ記憶装置のパワー・セーブ・モード遷移によるパフォーマンスの低下を抑制することである。
本発明の第1の態様は、データ記憶装置のパワー・セーブ・モードの制御方法であって、ホストからパワー・セーブ・モードへの遷移要求を受信し、前記ホストからの前記遷移要求に応答して、コマンド実行シーケンスにおける実行状態を判定し、前記判定された前記コマンド実行状態に基づいて前記要求の認否について決定し、前記決定された応答を前記ホストに送信するものである。これによって、パワー・セーブ・モードへの遷移によるパフォーマンスの低下を効果的に抑制することができる。
前記データ記憶装置は前記ホストとシリアル・データ伝送によってデータ通信を行い、シリアル・インターフェース部を他の回路と別にパワー・セーブ・モードに遷移可能であり、前記遷移要求は前記インターフェース部のパワー・セーブ・モードへの遷移要求である場合に、本発明は効果的である。シリアル・インターフェース部はホストとのリンクのための付加的な電力消費があるため、シリアル・インターフェース部を別にパワー・セーブ・モードへ遷移させることで、消費電力を低下させることができる。又、シリアル・インターフェース部のモード遷移は短時間で行うことが可能であり、コマンド実行シーケンスにおいてもパフォーマンスへの影響を小さくすることができる。
ユーザ・データ通信を伴わないコマンドの実行シーケンスにおいて前記遷移要求を受信した場合、前記遷移要求に対して否認の応答を前記ホストに送信することが好ましい。
前記ホストへのユーザ・データの送信を伴うリード・コマンドの実行シーケンスにおいて、送信すべき前記ユーザ・データがバッファに格納されてから前記ホストに送信されるまでの間に前記遷移要求を受信した場合、前記遷移要求に対して否認の応答を前記ホストに送信することが好ましい。これによって、近いタイミングに実行されることが予期されるホストとの間のデータ通信の遅れを防ぎ、パフォーマンスの低下を効果的に抑制することができる。さらに、前記ユーザ・データの送信後、実行中の前記リード・コマンドに対応する次のユーザ・データを格納する領域が前記バッファに確保されるまでの間に、前記遷移要求を受信した場合、前記遷移要求に対して承認の応答を前記ホストに送信し、パワー・セーブ・モードに遷移することが好ましい。これによって、コマンド実行シーケンスにおいて、パフォーマンスの低下を抑制しつつ、消費電力の低減を行うことができる。
前記ホストとの間におけるユーザ・データの通信が準備されている場合に、前記遷移要求に対して否認の応答を前記ホストに送信することが好ましい。これによって、近いタイミングに実行されるホストとの間のデータ通信の遅れを防ぎ、パフォーマンスの低下を効果的に抑制することができる。
あるいは、前記ホストからのユーザ・データの受信を伴うライト・コマンドの実行シーケンスにおいて、受信すべき前記ユーザ・データを格納する領域がバッファに確保されてから前記ホストより前記ユーザ・データを受信するまでの間に前記遷移要求を受信した場合、前記制御部は前記遷移要求に対して否認の決定を行うことが好ましい。これによって、近いタイミングに実行されることが予期されるホストとの間のデータ通信の遅れを防ぎ、パフォーマンスの低下を効果的に抑制することができる。
あるいは、前記ホストからのユーザ・データの受信を伴うライト・コマンドの実行シーケンスにおいて、受信すべき前記ユーザ・データを格納する領域がバッファに確保されてから前記ホストより前記ユーザ・データを受信するまでの間に前記遷移要求を受信した場合、前記制御部は前記遷移要求に対して否認の決定を行うことが好ましい。これによって、近いタイミングに実行されることが予期されるホストとの間のデータ通信の遅れを防ぎ、パフォーマンスの低下を効果的に抑制することができる。
本発明の第2の態様に係るデータ記憶装置は、ホストからパワー・セーブ・モードへの遷移要求を受信する受信部と、前記ホストからの前記遷移要求に応答して、コマンド実行シーケンスにおける実行状態を判定し、前記判定された前記コマンド実行状態に基づいて前記遷移要求の認否について決定する制御部と、前記決定に対応する応答を前記ホストに送信する送信部とを有するものである。これによって、パワー・セーブ・モードへの遷移によるパフォーマンスの低下を効果的に抑制することができる。
前記ホストとシリアル・データ伝送によってデータ通信を行い、他の回路と別にパワー・セーブ・モードに遷移可能であるシリアル・インターフェース部を備え、前記パワー・セーブ・モードへの遷移要求は、前記シリアル・インターフェース部のパワー・セーブ・モードへの遷移要求である場合に、本発明は特に効果的である。
前記ホストからのユーザ・データの受信を伴うライト・コマンドの実行シーケンスにおいて、受信すべき前記ユーザ・データを格納する領域がバッファに確保されてから前記ホストより前記ユーザ・データを受信するまでの間に前記遷移要求を受信した場合、前記制御部は前記遷移要求に対して否認の決定を行うことが好ましい。これによって、近いタイミングに実行されることが予期されるホストとの間のデータ通信の遅れを防ぎ、パフォーマンスの低下を効果的に抑制することができる。さらに、前記ユーザ・データの前記バッファへの格納後、実行中の前記ライト・コマンドに対応する次のユーザ・データを格納する領域が前記バッファに確保されるまでの間に、前記遷移要求を受信した場合、前記制御部は前記遷移要求に対して承認の決定を行うことが好ましい。これによって、コマンド実行シーケンスにおいて、パフォーマンスの低下を抑制しつつ、消費電力の低減を行うことができる。
本発明の第3の態様は、通常動作を行うモードとパワー・セーブ・モードとを有するデータ記憶装置であって、コマンド実行開始後にコマンド実行シーケンスにおける実行状態を判定し、前記判定された前記コマンド実行状態に基づいて、パワー・セーブ・モードへの遷移の認否について決定する制御部と、前記制御部が遷移承認を決定した場合にパワー・セーブ・モードへ遷移する、ホストとの間の通信インターフェース部と、を有するものである。これによって、コマンド実行シーケンスにおいてパワー・セーブ・モードへ遷移することで消費電力の低下を図ると共に、パワー・セーブ・モードへの遷移によるパフォーマンスの低下を効果的に抑制することができる。
前記制御部は、ホストからのパワー・セーブ・モードへの遷移要求に応答して、コマンド実行シーケンスにおける実行状態を判定し、前記判定された前記コマンド実行状態に基づいて、前記承認要求の認否について決定し、前記通信インターフェース部は、前記決定に対応した応答を前記ホストに送信することが好ましい。
さらに、前記制御部は、ユーザ・データ通信を伴わないコマンドの実行シーケンスに前記遷移要求を受信した場合、前記遷移要求に対する否認の決定を行うことが好ましい。
あるいは、前記ホストへのユーザ・データの送信を伴うリード・コマンドの実行シーケンスにおいて、送信すべき前記ユーザ・データがバッファに格納されてから前記ホストに送信されるまでの間に前記遷移要求を受信した場合、前記制御部は前記遷移要求に対して否認の決定を行うことが好ましい。さらに、前記ユーザ・データの送信後、実行中の前記リード・コマンドに対応する次のユーザ・データを格納する領域が前記バッファに確保されるまでの間に、前記遷移要求を受信した場合、前記制御部は前記遷移要求に対して承認の決定を行い、前記通信インターフェース部はパワー・セーブ・モードに遷移することが好ましい。
前記通信インターフェース部は、ライト・コマンドの実行シーケンスにおいてホストにデータ転送の要求を送信し前記制御部は、前記要求の送信後から前記要求に対するデータを前記ホストから受信するまでの間、前記ホストに対するパワー・セーブ・モードへの遷移要求の送信を否認することが好ましい。これによって、近いタイミングに実行されることが予期されるホストとの間のデータ通信の遅れを防ぎ、パフォーマンスの低下を効果的に抑制することができる。
本発明によれば、データ記憶装置のパワー・セーブ・モード制御を改善することができる。
以下に、本発明を適用可能な実施の形態が説明される。説明の明確化のため、以下の記載及び図面は、適宜、省略及び簡略化がなされている。各図面において同一要素には同一の符号が付されており、説明の明確化のために必要に応じて重複説明は省略されている。
本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。本発明の理解の容易のため、最初に、データ記憶装置の一例であるハードディスク・ドライブ(HDD)の全体構成の概略を説明する。図1は、本実施の形態にかかるHDD1の概略構成を示すブロック図である。図1に示すように、HDD1は、密閉されたエンクロージャ10内に、記録メディア(記録媒体)の一例である磁気ディスク11、ヘッドの一例であるヘッド素子部12、アーム電子回路(アームエレクトロニクス:AE)13、スピンドル・モータ(SPM)14、ボイス・コイル・モータ(VCM)15を備えている。
HDD1は、エンクロージャ10の外側に固定された回路基板20を備えている。回路基板20上には、リード・ライト・チャネル(R/Wチャネル)21、モータ・ドライバ・ユニット22、ハードディスク・コントローラ(HDC)とMPUの集積回路(以下HDC/MPU)23、及びメモリの一例であるRAM24などの各ICを備えている。尚、各回路構成は一つのICに集積すること、あるいは、複数のICに分けて実装することができる。
外部ホスト51からの書き込みデータは、HDC/MPU23によって受信され、R/Wチャネル21、AE13を介して、ヘッド素子部12によって磁気ディスク11に書き込まれる。また、磁気ディスク11に記憶されているデータは、ヘッド素子部12によって読み出され、読み出しデータは、AE13、R/Wチャネル21を介して、HDC/MPU23から外部ホスト51に出力される。
次に、HDD1の各構成要素について説明する。磁気ディスク11は、SPM14のハブに固定されている。SPM14は所定の速度で磁気ディスク11を回転する。HDC/MPU23からの制御データに従って、モータ・ドライバ・ユニット22がSPM14を駆動する。本例の磁気ディスク11は、データを記録する記録面を両面に備え、各記録面に対応するヘッド素子部12が設けられている。
各ヘッド素子部12はスライダ(不図示)に固定されている。また、スライダはアクチュエータ(不図示)に固定されている。アクチュエータはVCM15を備え、VCM15が揺動することによって、ヘッド素子部12を磁気ディスク11上半径方向に移動する。モータ・ドライバ・ユニット22は、HDC/MPU23からの制御データに従って、VCM15を駆動する。
ヘッド素子部12には、典型的には、磁気ディスク11への記憶データに応じて電気信号を磁界に変換する記録ヘッド、及び磁気ディスク11からの磁界を電気信号に変換する再生ヘッドが一体的に形成されている。なお、磁気ディスク11は、1枚以上あればよく、記録面は磁気ディスク11の片面あるいは両面に形成することができる。
続いて各回路部の説明を行う。AE13は、複数のヘッド素子部12の中からデータ・アクセスが行われる1つのヘッド素子部12を選択し、選択されたヘッド素子部12により再生される再生信号を一定のゲインで増幅(プリアンプ)し、R/Wチャネル21に送る。また、R/Wチャネル21からの記録信号を選択されたヘッド素子部12に送る。
R/Wチャネル21は、ホスト51から転送されたデータについて、ライト処理を実行する。ライト処理において、R/Wチャネル21はHDC/MPU23から供給されたライト・データをコード変調し、更にコード変調されたライト・データをライト信号(電流)に変換してAE13に供給する。また、ホスト51にデータを供給する際にはリード処理を行う。リード処理において、R/Wチャネル21はAE13から供給されたリード信号を一定の振幅となるように増幅し、取得したリード信号からデータを抽出し、デコード処理を行う。読み出されるデータは、ユーザ・データとサーボ・データを含む。デコード処理されたリード・データは、HDC/MPU23に供給される。
HDC/MPU23は、MPUとHDCが一つのチップに集積された回路である。MPUは、RAM24にロードされたマイクロ・コードに従って動作する。HDD1の起動に伴い、RAM24には、MPU上で動作するマイクロ・コードの他、制御及びデータ処理に必要とされるデータが磁気ディスク11あるいはROM(不図示)からロードされる。HDC/MPU23は、ヘッド素子部12のポジショニング制御、インターフェース制御、ディフェクト管理などのデータ処理に関する必要な処理の他、HDD1の全体制御を実行する。特に、本形態において、HDC/MPU23は所定のシーケンスに従って、消費電力を低減するパワー・セーブ・モード及と通常動作状態であるのアクティブモードとの間の遷移を制御する。この点については後に詳述する。
HDC/MPU23は、R/Wチャネル21から取得した磁気ディスクからの読み出しデータを、ホスト51に伝送する。本形態のHDD1は、ホスト51との間において、シリアル通信によってデータ(コマンド、ユーザ・データ及び制御データを含む)の送受信を行う。この点については後に詳述する。
次に、本形態のHDD1におけるパワー・セーブ・モード制御及びそれに伴うホスト51との間のデータ通信について説明する。本形態のHDD1は、コマンド実行シーケンス(実行処理中)において、パワー・セーブ・モードへの遷移について認否判断を行う。実行シーケンスにおける実行状態に基づいてパワー・セーブ・モード遷移の認否を判定することによって、消費電力の低減を図ると共にパフォーマンスの低下を抑制する。
本発明のパワー・セーブ・モード制御は、本形態のHDD1のように、シリアル・インターフェースを備えるHDD1における、インターフェース部のパワー・セーブ・モード制御に好適である。本形態のHDD1は、ホスト51との間において、シリアル・データ通信によって、コマンド、ユーザ・データあるいは通信プロトコルにおける制御データなどのデータ送受信を行う。又、本形態のHDD1は、シリアル・インターフェース部のパワー・セーブ・モードを他の回路から独立的に制御することができ、シリアル・インターフェース部を他の回路とは別に選択してパワー・セーブ・モードに遷移させることができる。
シリアル・インターフェース部はホスト51とHDD1との間のリンクを確立しておくために常に通信を行うことが必要とされ、そのための省電力が増加する。ホスト51とHDD1との間においてデータ通信が行われない場合、シリアル・インターフェース部がパワー・セーブ・モードに遷移することで消費電力を低減することができる。又、HDD1のシステム全体がパワー・セーブ・モードに遷移するのではなく、シリアル・インターフェース部のみが遷移する場合、アクティブモードへの復帰に多くの時間が必要とされないため、コマンド実行シーケンスにおいて遷移しても、パフォーマンスへの影響は小さい。
本形態のパワー・セーブ・モード制御は、特に、データ記憶装置とホストとの間のデータ転送方法を規定するSerial ATA(SATA)仕様に好適である。SATA仕様において、シリアル・インターフェース部の2つのパワー・セーブ・モードが規定されている。一つはPartial modeであり、もう一つはSlumber modeある。SATA仕様は、これらのパワー・サーブ・モードについて復帰までの時間を規定し、その停止される回路構成については規定してない。具体的には、Partial及びSlumberの復帰時間は、それぞれ10μs、10msと規定されている。このように、本形態のパワー・セーブ・モード制御は特にSATAに好適であるため、以下において、SATAの例を使用してその説明を行う。尚、本発明がSATAにおけるシリアル・インターフェース部のパワー・セーブ・モード制御に限定されるものではない。
図2は、本形態のHDC/MPU23内部の一部回路構成を模式的に示すブロック図である。図2には、この他、磁気ディスク11及びRAM24が示されている。HDC/MPU23は、MPU230、RAM24との間のデータ転送を制御するメモリ・コントローラ231、オシレータ232、オシレータ232の信号からシステム・クロックを生成するシステム・クロック・ジェネレータ233、ホスト51との間の通信及びシリアル・インターフェース部236のパワー・セーブ・モードの制御を行うI/Oコントローラ234、ホスト51からのクロックに拠らない制御信号(Out Of Band signal)を検出する制御信号検出部235、ホスト51との間のシリアル・データ通信をインターフェースするシリアル・インターフェース部236、を備えている。
シリアル・インターフェース部236は、アナログ・フロント・エンド361、シリアライザ/ディシリアライザ362、PLL363を備えている。アナログ・フロント・エンド361は、トランスミッタ364とレシーバ365を含んでいる。シリアライザ/ディシリアライザ362は、パラレル・データをシリアル・データに変換してアナログ・フロント・エンド361に出力するシリアライザ366、アナログ・フロント・エンド361からのシリアル・データをパラレル・データに変換するディシリアライザ367を備えている。
PLL363は、オシレータ232からの信号からシリアル・データ通信のためのクロック信号を生成し、シリアライザ366とディシリアライザ367にそれぞれ供給する。ディシリアライザ367は、受信したシリアル・データに埋め込まれているクロック信号に同期した内部クロック信号に従って、シリアル−パラレル変換を実行する。
ライト処理において、ホスト51からのデータ(コマンド及びユーザ・データを含む)は、レシーバ365を介して入力され、ディシリアライザ367がシリアル−パラレル変換する。パラレル・データはI/Oコントローラ234に入力され、メモリ・コントローラ231を介して、RAM24に保存される。磁気ディスク11に記録するユーザ・データは、メモリ・コントローラ231を介して、磁気ディスク11に転送される。
リード処理において、磁気ディスク11から読み出されたデータは、メモリ・コントローラ231を介して、RAM24に格納される。メモリ・コントローラ231は、RAM24に記録されているデータを読み出し、I/Oコントローラ234に転送する。I/Oコントローラ234は、取得したデータをシリアライザ366に転送し、シリアライザ366は、取得したパラレル・データをシリアル・データに変換して、アナログ・フロント・エンド361に出力する。トランスミッタ364は、シリアライザ366からのシリアル・データをホスト51に出力する。ライト処理及びリード処理は、MPU230のコマンド実行制御の下で実行される。
上述のように、シリアル・インターフェース部236は、2つのパワー・セーブ・モードを備えている。Partial modeにおいて、シリアライザ/ディシリアライザ362が停止し、PLL363、アナログ・フロント・エンド361は動作状態にある。Slumber modeにおいては、シリアライザ/ディシリアライザ362に加えてPLL363が停止する。アナログ・フロント・エンド361は動作状態にある。Partial modeに比較して、Slumber modeは消費電力が少ない一方、アクティブモードへの復帰により多くの時間が必要とされる。尚、各モードでどの回路を停止させるかは、設計により決定される。
シリアル・インターフェース部236のパワー・セーブ・モードへの遷移は、I/Oコントローラ234が制御する。I/Oコントローラ234からの指示に従って、シリアル・インターフェース部236はアクティブモードからパワー・セーブ・モードに遷移し、一方のパワー・セーブ・モードから他方のパワー・セーブ・モードに遷移し、あるいはパワー・セーブ・モードからアクティブモードへ遷移する。I/Oコントローラ234によるパワー・セーブ・モード制御については、後に詳述する。
シリアル・インターフェース部236がパワー・セーブ・モードに遷移すると、クロックに従ったシリアル・データ通信によって、データを送受信することができない。このため、シリアル・インターフェース部236がパワー・セーブ・モードにある場合、ホスト51は、クロックによらないCOMWAKEと呼ばれる制御信号(Out Of Band signal)を送信することによって、HDD1にパワー・セーブ・モードからの復帰を要求する。COMWAKEは、所定インターバルを備える複数のバースト信号で構成される。
制御信号検出部235は、ホスト51からのCOMWAKEを検出し、それに応答してシリアル・インターフェース部236をアクティブモードに復帰させる。シリアル・インターフェース部のパワー・セーブ・モードへ遷移は、ホスト51とHDD1の双方において実行される。つまり、HDD1のシリアル・インターフェース部236がパワー・セーブ・モードにある場合、ホスト51のシリアル・インターフェース部もパワー・セーブ・モードに遷移している。このため、HDD1からホスト51にアクティブモードへの遷移要求を行う場合も、COMWAKEを利用する。
パワー・セーブ・モードへの遷移は、ホスト51とHDD1との間において、互いの承認を必要とする。具体的には、一方の装置から、パワー・セーブ・モードへの遷移の要求(SATAではPMREQと呼ばれる)が送信され、他方がそれに対して承認の応答(SATAではPMACKと呼ばれる)を返すことによって、双方の装置がパワー・セーブ・モードへ遷移することができる。要求を受信した装置がそれに対して承認の応答をしない場合、つまり、否認の応答(SATAではPMNACKと呼ばれる)を送信するもしくは応答がない場合は、要求を送信した装置はパワー・セーブ・モードへ遷移しない。
本形態のHDD1は、コマンドの実行シーケンスにおける実行処理状態に基づいて、パワー・セーブ・モードへ遷移の認否を判断する。ホスト51とHDD1との間におけるデータ通信が近いタイミングで予定されている場合、パワー・セーブ・モードへの遷移を禁止することによって、パフォーマンスの低下を防止することができる。一方、パワー・セーブ・モードへの遷移後すぐに復帰する場合、消費電力低減を図れないことから、無駄な遷移を避けることで処理の効率化を図ることができる。
本形態のHDD1は、ホスト51からパワー・セーブ・モードへの遷移の要求があった場合、コマンドの実行シーケンスにおける実行処理状態に基づいて、それに対する応答を決定する。パワー・セーブ・モードへの遷移及びそれからの復帰には一定以上の時間が必要とされる。特に、ホスト51へのユーザ・データ転送あるいはホスト51からのユーザ・データ転送の準備ができている状態においては、パワー・セーブ・モードへの遷移を禁止することによって、データ転送の遅れを防止し、パフォーマンスの低下を防止することができる。又、ユーザ・データ転送を伴わないコマンドにおいては、その実行シーケンスを完了するまでパワー・セーブ・モードへの遷移を禁止することによって、処理の遅延を防止することができる。
図3のフローに示すように、HDD1は、ホスト51からパワー・セーブ・モードへの遷移要求(PMREQ)を受信すると(S11)、シリアル・インターフェース部236をパワー・セーブ・モードに遷移させるかを、コマンドの実行状態に基づいて判断する(S12)。遷移しないと決定すると、HDD1はホスト51に否認の応答(PMNACK)を送信し(S13)、シリアル・インターフェース部236をアクティブモードに維持する。
一方、パワー・セーブ・モードへの遷移を決定すると、承認の応答(PMACK)をホスト51に送信し(S14)、シリアル・インターフェース部236がパワー・セーブ・モードへ遷移する(S15)。HDD1からアクティブモードへの復帰を要求する場合、HDD1は、シリアル・インターフェース部236をアクティブモードへ遷移させ(S16)、さらに、COMWAKE信号をホスト51に送信することによってホスト51にアクティブモードへの遷移を要求する(S17)。
同様に、本形態のHDD1は、コマンドの実行シーケンスにおける実行処理状態に基づいて、ホスト51に対するパワー・セーブ・モードへの遷移要求送信の認否を決定する。ホスト51とHDD1との間におけるデータ通信が近いタイミングで所定工程内に予定されている場合、パワー・セーブ・モードへの遷移要求を禁止することによって、パフォーマンスの低下を防止することができる。特に、HDD1がホストに対してデータ転送の要求を行った後にはホスト51から近いタイミングでのデータ転送が予期されているため、データ転送要求後データ転送までの間においてパワー・セーブ・モードへの遷移を禁止することで、パフォーマンス低下を抑制することができる。
本形態においては、I/Oコントローラ234がパワー・セーブ・モードへの遷移について判断を行い、パワー・セーブ・モードの制御部として機能する。I/Oコントローラ234は、MPU230及びメモリ・コントローラ231から必要な情報を取得して実行シーケンスの実行状態を判定し、予め定められた基準に従ってパワー・セーブ・モードへの遷移の認否判断を行う。
パワー・セーブ・モードへ遷移が禁止されている場合、I/Oコントローラ234は、シリアル・インターフェース部236を介して遷移要求に対する否認の応答であるPMACKをホスト51に送信する。同様に、パワー・セーブ・モードへ遷移が禁止されている場合、I/Oコントローラ234はホスト51へのパワー・セーブ・モード要求(PMREQ)を送信しないことを決定する。
一方、パワー・セーブ・モードへ遷移することを決定した場合、I/Oコントローラ234は、シリアル・インターフェース部236を介してPMACKをホスト51に送信し、さらにシリアル・インターフェース部236をパワー・セーブ・モードへ遷移させる。このとき、Partial modeとSlumber modeのいずれに遷移するかは、コマンド実行状態に応じて決定することができる。例えば、コマンド実行処理中においては、パフォーマンスの低下を抑制するため、復帰時間の短いPartial modeが選択される。尚、パワー・セーブ・モードへの遷移についての判断及び制御は、例えば、マイクロ・コードに従って動作するMPU230が行うことも可能であり、I/Oコントローラ234などのハードウェア構成に限定されるものではなく、ハードウェアもしくはソフトウェアのいずれにより実装することもできる。
以下において、SATA仕様において規定されている7つのデータ転送モードのそれぞれを例として、本形態のパワー・セーブ・モード制御について説明する。具体的には、PIO (Programmed Input Output) data-in command(リード)、PIO data-out command(ライト)、Read DMA (Direct Memory Access) command、Write DMA command、Read FPDMA (First Party DMA) Queued command、Write FPDMA Queued command、Non-data commandのそれぞれについて説明する。
図4は、PIO data-in commandの基本シーケンスを示している。PIO data-in commandプロトコルは、PIOモードにおけるデータ・リードを規定する。ホスト51は、HDD1に対してPIO data-in commandをその中に含むRegister FISを送信する。SATAにおいて、ホスト51とHDD1との間のデータ通信は、FIS(Frame Information Structure)と呼ばれるデータ・フレームを利用する。また、Register FISは、コマンド発行やコマンド完了通知などに使用されるFISである。Register FISに対する応答として、HDD1はホスト51に対してリード・データの伝送開始を示すPIO Setup FISを送信する。その後、HDD1は、リード・データを含むPIO data FISをホスト51に送信する。
図5は、PIO data-in commandの実行シーケンスにおける、HDD1の処理を示すフローチャートである。図5において、点線はパワー・セーブ・モードへの遷移が禁止された実行状態を示し、実線はパワー・セーブ・モードへの遷移が許可されている実行状態を示している。つまり、点線で示された実行状態において、ホスト51からパワー・セーブ・モード遷移要求(PMREQ)を受信した場合、HDD1はそれに対して否認の応答(PMNACK)を送信する。又、この実行状態において、パワー・セーブ・モード遷移はHDD1において禁止されており、ホスト51に対してパワー・セーブ・モード遷移要求を送信しない。
図5を参照して、PIO data-in commandを含むRegister FISを受信すると(S21)、HDD1はバッファにホストに転送するデータが格納されているかを判定する(S22)。バッファはRAM24内に確保される。転送するデータがバッファ内に用意されるまで判定を繰り返す(S22におけるNO)。転送するデータがバッファ内に用意されると(S22におけるYES)、HDD1はホスト51にPIO Setup FISを送信し(S23)、その後、PIO dataを含むData FISをホスト51に送信する(S24)。一つのコマンドに対して、複数のFISに分割してデータ転送することがあるため、さらに転送すべきリード・データが存在するかを判定する(S25)。存在する場合(S25におけるYES)、S21に戻って、それ以下の処理を繰り返す。全てのリード・データを転送し、転送すべきデータがなくなると(S25におけるNO)、処理が完了する。
PIO data-in commandの実行シーケンスにおいて、バッファに格納されたユーザ・データが転送された後、次の転送データがバッファに格納されるまでの実行状態においては、パワー・セーブ・モードへの遷移が許可されている。従って、この状態においてPMREQをホストから受信すると、ホスト51に対してPMACKが送信される。しかし、その他の実行状態において、つまり、バッファに転送データが用意されてからホストへのそのデータの転送が終了するまでは、パワー・セーブ・モードへの遷移が禁止される。従って、この状態においてPMREQをホストから受信すると、ホスト51に対してPMNACKが送信される。バッファに転送データが格納されデータ転送の準備が完了すると、それからデータ転送までの時間は短く、その間にパワー・セーブ・モードへ遷移するとデータ転送が遅れパフォーマンスを低下させることになる。パワー・セーブ・モードへ遷移を禁止することで、パフォーマンスの低下を防止することができる。
本例において、バッファへのデータ格納の判断は、メモリ・コントローラ231からのバッファ状態を示す信号に基づいて、I/Oコントローラ234が実行する。メモリ・コントローラ231は、MPU230からの指示に従って、リード・データがバッファ内に格納されているかの確認及び磁気ディスク11からのリード・データのバッファへの格納を行う。バッファに転送するリード・データが確認されると、メモリ・コントローラ231はI/Oコントローラ234に格納を知らせる。I/Oコントローラ234は、メモリ・コントローラ231からの信号に応答して、PIO Setup FIS及びData FISをホスト51に送信する。又、I/Oコントローラ234はMPU230から転送データについて指示を受けており、未転送データの有無について判断を行うことができる。従って、PIO data-in command実行シーケンスにおいて、ホスト51からPMREQを受信すると、シリアルインターフェース部236を介してI/Oコントローラ234に転送され、I/Oコントローラ234が実行シーケンスの実行状態を判断して、パワー・セーブ・モードへの遷移の認否を決定する。
続いて、PIO data-out commandの実行シーケンスについて説明する。図6は、PIO data-out commandの基本シーケンスを示している。PIO data- out commandプロトコルは、PIOモードにおけるデータ・ライトを規定する。ホスト51は、HDD1に対してPIO data- out commandをその中に含むRegister FISを送信する。PIO data- out commandを含むRegister FISに対する応答として、HDD1はホスト51に対して、ライト・データの受信準備ができたことを示すPIO Setup FISを送信する。ホスト51は、PIO Setup FISを受信すると、ライト・データ(PIO data)を含むData FISをHDD1に送信する。全てのデータを受信しコマンド処理が完了すると、HDD1はホスト51に完了通知としてのRegister FISを送信する。
図7は、PIO data-out commandの実行シーケンスにおける、HDD1の処理を示すフローチャートである。図7において、図5と同様に、点線で示されている実行状態においてパワー・セーブ・モードへの遷移が禁止されている。実線で示されている実行状態においてパワー・セーブ・モードへの遷移が許可されている。尚、本例においては、ライト・キャッシュがイネーブルとする。
図7を参照して、PIO data-out commandを含むRegister FISを受信すると(S31)、HDD1はバッファにホストから転送されるデータを格納する領域が空いているかを判定する(S32)。バッファ内に格納領域が確保されていない場合、それを待つ(S32におけるNO)。バッファ内に格納領域が確保されている場合(S32におけるYES)、HDD1はホスト51にPIO Setup FISを送信する(S33)。HDD1は、PIO data FISをホスト51から受信してバッファに格納する(S34)。さらに受信すべきライト・データが存在する場合(S35におけるYES)、S32に戻ってそれ以下の処理を繰り返す。全てのライト・データを受信し、受信すべきデータがなくなると(S35におけるNO)、Register FISを送信して(S36)、処理が完了する。
PIO data-out commandの実行シーケンスにおいて、ユーザ・データを受信しバッファに格納した後、次の転送データを格納する領域がバッファに確保されるまでの実行状態においては、パワー・セーブ・モードへの遷移が許可されている。しかし、その他の実行状態において、つまり、バッファに転送されるデータを格納するための空き領域が確保されてデータ転送の準備ができてから、ホスト51からそのデータの転送が終了するまでは、パワー・セーブ・モードへの遷移が禁止される。これによって、パワー・セーブ・モードへ遷移によるパフォーマンスの低下を防止することができる。I/Oコントローラ234は、メモリ・コントローラ231からバッファ状態についての信号を受信しており、PIO data-out commandの実行シーケンスにおいて、バッファの空き領域の有無について判定し、パワー・セーブ・モードへ遷移の認否を決定することができる。
次に、Read DMA commandの実行シーケンスについて説明する。図8は、Read DMA commandの基本シーケンスを示している。Read DMA commandプロトコルは、DMAモードにおけるデータ・リードを規定する。ホスト51は、HDD1に対してRead DMA commandをその中に含むRegister FISを送信する。Read DMA commandを含むRegister FISに応答して、HDD1はホスト51に対してリード・データ(DMA data)を含むData FISを送信する。全てのデータを送信しコマンド処理が完了すると、HDD1はホスト51に完了通知としてのRegister FISを送信する。
図9は、Read DMA commandの実行シーケンスにおける、HDD1の処理を示すフローチャートである。点線と実線の意味は、図5と同様である。図9を参照して、Read DMA commandを含むRegister FISを受信すると(S41)、HDD1はバッファにホストに転送するデータが格納されているかを判定する(S42)。転送するデータがバッファ内に用意されると(S42におけるYES)、HDD1はホスト51にリード・データ(DMA data)を含むData FISをホスト51に送信する(S43)。さらに転送すべきリード・データが存在する場合(S44におけるYES)、S42に戻って、それ以下の処理を繰り返す。全てのリード・データを転送し、転送すべきデータがなくなると(S44におけるNO)、ホスト51にRegister FISを送信し(S45)、処理が完了する。
Read DMA commandの実行シーケンスにおいて、バッファに格納されたリード・データを転送した後、コマンドに対する次のリード・データがバッファに格納されるまでの実行状態においては、パワー・セーブ・モードへの遷移が許可されている。しかし、その他の実行状態において、つまり、バッファに転送データが用意されてからホストへのそのデータの転送が終了するまでは、パワー・セーブ・モードへの遷移が禁止される。このようにパワー・セーブ・モードへ遷移を禁止することで、パフォーマンスの低下を防止することができる。尚、I/Oコントローラ234によるパワー・セーブ・モードへの遷移認否の具体的処理は、上述とほぼ同様であるので説明を省略する。以下の説明においても、I/Oコントローラ234の具体的動作は、必要な範囲で説明される。
続いて、Write DMA commandの実行シーケンスについて説明する。図10は、Write DMA commandの基本シーケンスを示している。Write DMA commandプロトコルは、DMAモードにおけるデータ・ライトを規定する。ホスト51は、HDD1に対してWrite DMA commandをその中に含むRegister FISを送信する。Write DMA commandを含むRegister FISに対する応答として、HDD1はホスト51に対してDMA Activate FISを送信する。ホスト51は、DMA Activate FISを受信すると、ライト・データ(DMA data)を含むData FISをHDD1に送信する。全てのデータを受信しコマンド処理が完了すると、HDD1はホスト51に完了通知としてのRegister FISを送信する。
図11は、Write DMA commandの実行シーケンスにおける、HDD1の処理を示すフローチャートである。点線と実線の意味は図5と同様である。図11を参照して、Write DMA commandを含むRegister FISを受信すると(S51)、HDD1はバッファにホストから転送されるデータを格納する領域が空いているかを判定する(S52)。バッファ内に格納領域が確保されている場合、HDD1はホスト51にDMA Activate FISを送信する(S53)。HDD1は、ライト・データを含むData FISをホスト51から受信し(S54)、バッファに格納する。さらに受信すべきライト・データが存在する場合(S55におけるYES)、S52に戻って、それ以下の処理を繰り返す。全てのライト・データを受信し、受信すべきデータがなくなると(S55におけるNO)、ホスト51にRegister FISを送信し(S56)、処理が完了する。
Write DMA commandの実行シーケンスにおいて、ホスト51からの転送データを受信しバッファに格納した後、バッファに次の転送データを格納する領域が確保されるまでの状態においては、パワー・セーブ・モードへの遷移が許可されている。しかし、その他の実行状態において、つまり、バッファに転送されるデータを格納するための空き領域が確保されてから、ホストからのそのデータの転送が終了するまでは、パワー・セーブ・モードへの遷移が禁止される。これによって、パワー・セーブ・モードへ遷移によるパフォーマンスの低下を防止することができる。
次に、Read FPDMA Queued commandの実行シーケンスについて説明する。図12は、Read FPDMA Queued commandの基本シーケンスを示している。Read FPDMA Queued commandプロトコルはコマンド・キューイングを利用するため、コマンド発行とその実行とは分離しており、コマンドの発行順序と実行順序は必ずしも一致しない。ホスト51は、HDD1に対してRead FPDMA Queued commandをその中に含むRegister FISを送信する。HDD1は、受信したRead FPDMA Queued commandをキューイングする。
キューされていたRead FPDMA Queued commandが実行される段階となると、HDD1はホスト51に対して、上記のコマンドに対するデータ転送処理の開始を示すDMA Setup FISを送信する。その後、HDD1はホスト51にリード・データ(FPDMA data)を含むData FISを送信する。全てのデータを送信しコマンド処理が完了すると、HDD1はホスト51に完了通知としてのSet Device Bits FISを送信する。Set Device Bits FISによって、ホスト51におけるRead FPDMA Queued command対応フラグがクリアされ、ホスト51は新たなコマンドを発行することが可能となる。尚、データは複数のData FISに分割して転送される場合、最初のData FIS 転送前にDMA Setup FISを送信し、その後はDMA Setup FISを送信することなくData FISを送信する。
図13を参照して、Read FPDMA Queued command 実行シーケンスにおけるHDD1の処理を説明する。図13は、コマンドをキューした後のデータ・サービス時の処理を示している。点線と実線の意味は、図5と同様である。キューさていたRead FPDMA Queued commandのデータ・サービス実行が開始されると、HDD1はバッファにホストに転送するデータが格納されているかを判定する(S61)。転送するデータがバッファ内に用意され(S61におけるYES)、転送するデータが最初のブロック(Data FIS)である場合(S62におけるYES)、HDD1はDMA Setup FISをホスト51に送信する(S63)。
さらに、HDD1は、ホスト51にリード・データ(FPDMA data)を含むData FISを送信する(S64)。さらに転送すべきリード・データが存在する場合(S65におけるYES)、S61に戻って、それ以下の処理を繰り返す。ただし、2つ目以降のData FIS転送前においては、DMA Setup FISは送信しない(S62におけるNO)。全てのリード・データを転送し、転送すべきデータがなくなると(S65におけるNO)、ホスト51にSet Device Bits FISを送信し(S66)、処理が完了する。尚、DMA Setup FISとSet Device Bits FISとは、I/Oコントローラ234が生成し、ホスト51に送信する。
Read FPDMA Queued commandの実行シーケンスにおいて、キューさていたRead FPDMA Queued commandのデータ・サービス実行を開始し、バッファに格納されたリード・データを転送した後、コマンドに対する次のリード・データがバッファに格納されるまでの実行状態においてはパワー・セーブ・モードへの遷移が許可されている。しかし、その他の実行状態において、つまり、バッファに転送データが用意されてからホストへのそのデータの転送が終了するまでは、パワー・セーブ・モードへの遷移が禁止される。このようにパワー・セーブ・モードへ遷移を禁止することで、パフォーマンスの低下を防止することができる。
続いて、Write FPDMA Queued commandの実行シーケンスについて説明する。図14は、Write FPDMA Queued commandの基本シーケンスを示している。Write FPDMA Queued commandプロトコルはコマンド・キューイングを利用するため、コマンド発行とその実行とは分離しており、コマンドの発行順序と実行順序は必ずしも一致しない。ホスト51は、HDD1に対してWrite FPDMA Queued commandをその中に含むRegister FISを送信する。HDD1は、受信したWrite FPDMA Queued commandをキューイングする。
キューされていたWrite FPDMA Queued commandが実行される段階となると、HDD1はホスト51に対して、上記のコマンドに対するデータ転送処理の開始を示すDMA Setup FISを送信する。その後、HDD1はホスト51に対して、データ転送を要求するDMA Activate FISを送信する。ホスト51は、DMA Activate FISを受信すると、ライト・データ(FPDMA data)を含むData FISをHDD1に送信する。全てのデータを受信しコマンド処理が完了すると、HDD1はホスト51に完了通知としてのSet Device Bits FISを送信する。尚、データが複数のData FISに分割して転送される場合、HDD1は最初のDMA Activate FIS転送前にDMA Setup FISを送信し、その後はDMA Setup FISを送信することなく、DMA Activate FISを送信する。
図15は、Write FPDMA commandの実行シーケンスにおける、HDD1の処理を示すフローチャートである。点線と実線の意味は図5と同様である。図15は、コマンドをキューした後のデータ・サービス時の処理を示している。キューされていたWrite FPDMA Queued commandのデータ・サービス実行が開始されると、HDD1はバッファにホストから転送されるデータを格納する領域が空いているかを判定する(S71)。バッファ内に格納領域が確保されている場合(S71におけるYES)、転送されるデータが最初のブロック(Data FIS)でれば(S72におけるYES)、HDD1はDMA Setup FISをホスト51に送信する(S73)。さらに、HDD1はホスト51にDMA Activate FISを送信する(S74)。HDD1は、ライト・データを含むData FISをホスト51から受信し(S75)、バッファに格納する。さらに受信すべきライト・データが存在する場合(S76におけるYES)、S71に戻って、それ以下の処理を繰り返す。ただし、2つ目以降のData FIS転送前においては、DMA Setup FISは送信せず、DMA Activate FISのみを送信する(S72におけるNO)。全てのライト・データを受信し、受信すべきデータがなくなると(S76におけるNO)、ホスト51にSet Device Bits FISを送信し(S77)、処理が完了する。
Write FPDMA Queued commandの実行シーケンスにおいて、キューさていたWrite FPDMA Queued commandのデータ・サービス実行開始し、ホスト51からの転送データを受信しバッファに格納した後、バッファに次の転送データを格納する領域が確保されるまでの状態においては、パワー・セーブ・モードへの遷移が許可されている。しかし、その他の実行状態において、つまり、バッファに次の転送データを格納する領域が確保されてからホストからのそのデータの転送が終了するまでは、パワー・セーブ・モードへの遷移が禁止される。このようにパワー・セーブ・モードへ遷移を禁止することで、パフォーマンスの低下を防止することができる。
最後に、Seek、Recal、Verifyなど、ホスト51とHDD1との間においてユーザ・データの送受信が行われないNon-data commandの実行シーケンスについて説明する。図16は、Non-data commandの基本シーケンスを示している。ホスト51は、HDD1に対してNon-data commandをその中に含むRegister FISを送信する。HDD1は、Non-data commandに対応する処理を完了すると、完了通知としてのRegister FISをホスト51に送信する。図17は、Non-data commandの実行シーケンスにおける、HDD1の処理を示すフローチャートである。点線と実線の意味は図5と同様である。Non-data commandを受信すると(S81)、HDD1は対応する処理を実行し、実行完了に伴ってRegister FISをホスト51に送信する(S82)。Non-data commandを受信してから、処理を実行しRegister FISをホスト51に送信するまでの状態においては、パワー・セーブ・モードへの遷移が禁止されている。このようにパワー・セーブ・モードへ遷移を禁止することで、パフォーマンスの低下を防止することができる。
尚、上記の説明は、本発明の実施形態を説明するものであり、本発明が上記の実施形態に限定されるものではない。当業者であれば、上記の実施形態の各要素を、本発明の範囲において容易に変更、追加、変換することが可能である。例えば、本発明はSATA仕様に限定されるものではない。本発明はインターフェース部のパワー・セーブ・モード制御に限定されない。また、各処理と論理構成との関係は上記例に限定されるものではない。設計者は、効率的な機能及び回路構成によって、データ記憶装置を設計することができる。本実施形態において、ヘッド素子部12は、書き込み及び読み出し処理を行うことができる記録再生ヘッドであるが、例えば、記録媒体を取り外し可能であり、再生のみを行う再生専用装置に本発明を適用することも可能である。尚、本発明は磁気ディスク記憶装置に特に有用であるが、CDなどの光ディスクを取り外し可能な光ディスク記憶装置や半導体記録媒体使用したデータ記憶装置など、記録媒体を駆動する他の態様のデータ記憶装置に適用することが可能である。
1 HDD、10 エンクロージャ、11 磁気ディスク、12 ヘッド素子部、
20 回路基板、21 R/Wチャネル、22 モータ・ドライバ・ユニット、
51 ホスト51、231 メモリ・コントローラ、232 オシレータ、
233 システム・クロック・ジェネレータ、234 I/Oコントローラ、
235 制御信号検出部、236 シリアル・インターフェース部、
361 アナログ・フロント・エンド361、
362 シリアライザ/ディシリアライザ、363 PLL、364 トランスミッタ、
365 レシーバ、366 シリアライザ、367 ディシリアライザ
20 回路基板、21 R/Wチャネル、22 モータ・ドライバ・ユニット、
51 ホスト51、231 メモリ・コントローラ、232 オシレータ、
233 システム・クロック・ジェネレータ、234 I/Oコントローラ、
235 制御信号検出部、236 シリアル・インターフェース部、
361 アナログ・フロント・エンド361、
362 シリアライザ/ディシリアライザ、363 PLL、364 トランスミッタ、
365 レシーバ、366 シリアライザ、367 ディシリアライザ
Claims (17)
- データ記憶装置のパワー・セーブ・モードの制御方法であって、
ホストからパワー・セーブ・モードへの遷移要求を受信し、
前記ホストからの前記遷移要求に応答して、コマンド実行シーケンスにおける実行状態を判定し、
前記判定された前記コマンド実行状態に基づいて前記要求の認否について決定し、
前記決定された応答を前記ホストに送信する、
パワー・セーブ・モード制御方法。 - 前記データ記憶装置は前記ホストとシリアル・データ伝送によってデータ通信を行い、シリアル・インターフェース部を他の回路と別にパワー・セーブ・モードに遷移可能であり、
前記遷移要求は前記インターフェース部のパワー・セーブ・モードへの遷移要求である、
請求項1に記載のパワー・セーブ・モード制御方法。 - ユーザ・データ通信を伴わないコマンドの実行シーケンスにおいて前記遷移要求を受信した場合、前記遷移要求に対して否認の応答を前記ホストに送信する、請求項1に記載のパワー・セーブ・モード制御方法。
- 前記ホストへのユーザ・データの送信を伴うリード・コマンドの実行シーケンスにおいて、送信すべき前記ユーザ・データがバッファに格納されてから前記ホストに送信されるまでの間に前記遷移要求を受信した場合、前記遷移要求に対して否認の応答を前記ホストに送信する、請求項1に記載のパワー・セーブ・モード制御方法。
- 前記ユーザ・データの送信後、実行中の前記リード・コマンドに対応する次のユーザ・データを格納する領域が前記バッファに確保されるまでの間に、前記遷移要求を受信した場合、前記遷移要求に対して承認の応答を前記ホストに送信し、パワー・セーブ・モードに遷移する、請求項4に記載のパワー・セーブ・モード制御方法。
- 前記ホストとの間におけるユーザ・データの通信が準備されている場合、前記遷移要求に対して否認の応答を前記ホストに送信する、請求項1に記載のパワー・セーブ・モード制御方法。
- 前記ホストからのユーザ・データの受信を伴うライト・コマンドの実行シーケンスにおいて、受信すべき前記ユーザ・データを格納する領域がバッファに確保されてから前記ホストより前記ユーザ・データを受信するまでの間に前記遷移要求を受信した場合、前記制御部は前記遷移要求に対して否認の決定を行う、請求項1に記載のパワー・セーブ・モード制御方法。
- ホストからパワー・セーブ・モードへの遷移要求を受信する受信部と、
前記ホストからの前記遷移要求に応答して、コマンド実行シーケンスにおける実行状態を判定し、前記判定された前記コマンド実行状態に基づいて前記遷移要求の認否について決定する制御部と、
前記決定に対応する応答を前記ホストに送信する送信部と、
を有するデータ記憶装置。 - 前記ホストとシリアル・データ伝送によってデータ通信を行い、他の回路と別にパワー・セーブ・モードに遷移可能であるシリアル・インターフェース部を備え、
前記パワー・セーブ・モードへの遷移要求は、前記シリアル・インターフェース部のパワー・セーブ・モードへの遷移要求である、
請求項8に記載のデータ記憶装置。 - 前記ホストからのユーザ・データの受信を伴うライト・コマンドの実行シーケンスにおいて、受信すべき前記ユーザ・データを格納する領域がバッファに確保されてから前記ホストより前記ユーザ・データを受信するまでの間に前記遷移要求を受信した場合、前記制御部は前記遷移要求に対して否認の決定を行う、請求項8に記載のデータ記憶装置。
- 前記ユーザ・データの前記バッファへの格納後、実行中の前記ライト・コマンドに対応する次のユーザ・データを格納する領域が前記バッファに確保されるまでの間に、前記遷移要求を受信した場合、前記制御部は前記遷移要求に対して承認の決定を行う、請求項10に記載のデータ記憶装置。
- 通常動作を行うモードとパワー・セーブ・モードとを有するデータ記憶装置であって、
コマンド実行開始後にコマンド実行シーケンスにおける実行状態を判定し、前記判定された前記コマンド実行状態に基づいて、パワー・セーブ・モードへの遷移の認否について決定する制御部と、
前記制御部が遷移承認を決定した場合にパワー・セーブ・モードへ遷移する、ホストとの間の通信インターフェース部と、
を有するデータ記憶装置。 - 前記制御部は、ホストからのパワー・セーブ・モードへの遷移要求に応答して、コマンド実行シーケンスにおける実行状態を判定し、前記判定された前記コマンド実行状態に基づいて、前記承認要求の認否について決定し、
前記通信インターフェース部は、前記決定に対応した応答を前記ホストに送信する、
請求項12に記載のデータ記憶装置。 - 前記制御部は、ユーザ・データ通信を伴わないコマンドの実行シーケンスに前記遷移要求を受信した場合、前記遷移要求に対する否認の決定を行う、請求項13に記載のデータ記憶装置。
- 前記ホストへのユーザ・データの送信を伴うリード・コマンドの実行シーケンスにおいて、送信すべき前記ユーザ・データがバッファに格納されてから前記ホストに送信されるまでの間に前記遷移要求を受信した場合、前記制御部は前記遷移要求に対して否認の決定を行う、請求項13に記載のデータ記憶装置。
- 前記ユーザ・データの送信後、実行中の前記リード・コマンドに対応する次のユーザ・データを格納する領域が前記バッファに確保されるまでの間に、前記遷移要求を受信した場合、前記制御部は前記遷移要求に対して承認の決定を行い、前記通信インターフェース部はパワー・セーブ・モードに遷移する、請求項15に記載のデータ記憶装置。
- 前記通信インターフェース部は、ライト・コマンドの実行シーケンスにおいて前記ホストにデータ転送の要求を送信し、
前記制御部は、前記要求の送信後から前記要求に対するデータを前記ホストから受信するまでの間、前記ホストに対するパワー・セーブ・モードへの遷移要求の送信を否認する、
請求項12に記載のデータ記憶装置。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2004356652A JP2006164012A (ja) | 2004-12-09 | 2004-12-09 | データ記憶装置及びそのパワー・セーブ・モードの制御方法 |
| US11/285,929 US20060129703A1 (en) | 2004-12-09 | 2005-11-23 | Data storage device and control method for power-save modes thereof |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2004356652A JP2006164012A (ja) | 2004-12-09 | 2004-12-09 | データ記憶装置及びそのパワー・セーブ・モードの制御方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2006164012A true JP2006164012A (ja) | 2006-06-22 |
Family
ID=36585371
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2004356652A Withdrawn JP2006164012A (ja) | 2004-12-09 | 2004-12-09 | データ記憶装置及びそのパワー・セーブ・モードの制御方法 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US20060129703A1 (ja) |
| JP (1) | JP2006164012A (ja) |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008186462A (ja) * | 2007-01-30 | 2008-08-14 | Samsung Electronics Co Ltd | Sataインターフェースでのパワーセービング・モード制御方法 |
| JP2008293476A (ja) * | 2007-04-27 | 2008-12-04 | Ricoh Co Ltd | インターフェース制御回路、画像処理装置および電力管理方法 |
| JP2009230772A (ja) * | 2008-03-19 | 2009-10-08 | Fujitsu Ltd | データ記憶装置 |
| JP2014106977A (ja) * | 2012-11-26 | 2014-06-09 | Samsung Electronics Co Ltd | 記憶装置及びそれを含むコンピューティングシステムと、それのデータ転送方法 |
| JP2015095810A (ja) * | 2013-11-13 | 2015-05-18 | ルネサスエレクトロニクス株式会社 | 設計支援装置、半導体装置及びコンパイルプログラム |
| JP2017033501A (ja) * | 2015-08-06 | 2017-02-09 | 株式会社東芝 | 記憶装置および制御方法 |
Families Citing this family (18)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2008153652A2 (en) * | 2007-05-25 | 2008-12-18 | Rambus Inc. | Reference clock and command word alignment |
| US8032690B2 (en) * | 2008-02-01 | 2011-10-04 | Skymedi Corporation | Non-volatile memory device, and method of accessing a non-volatile memory device |
| US8495400B2 (en) * | 2008-09-30 | 2013-07-23 | Seagate Technology Llc | Energy-efficient transitioning among device operating modes |
| JP5207988B2 (ja) * | 2009-01-07 | 2013-06-12 | キヤノン株式会社 | 情報処理装置、情報処理装置の制御方法、プログラム、及び記憶媒体 |
| KR101474315B1 (ko) * | 2009-04-14 | 2014-12-18 | 시게이트 테크놀로지 엘엘씨 | 스핀 업 오류를 방지하기 위한 하드디스크 드라이브 |
| US8140712B2 (en) * | 2009-07-17 | 2012-03-20 | Sandforce, Inc. | System, method, and computer program product for inserting a gap in information sent from a drive to a host device |
| US9032016B2 (en) | 2010-01-20 | 2015-05-12 | Xyratex Technology Limited—A Seagate Company | Communication method and apparatus |
| US8707071B2 (en) * | 2010-10-12 | 2014-04-22 | Mediatek Inc. | Power management method for controlling communication interface to enter/leave power-saving mode and related device thereof |
| US10126803B1 (en) | 2011-04-04 | 2018-11-13 | Google Llc | Conditional power management activities |
| US8671299B2 (en) * | 2011-05-26 | 2014-03-11 | Google Inc. | Delaying the initiation of transitioning to a lower power mode by placing a computer system into an intermediate power mode between a normal power mode and the lower power mode |
| KR101796532B1 (ko) * | 2011-06-22 | 2017-11-10 | 삼성전자주식회사 | 수면 모드 제어를 통한 에너지 절감 시스템 및 시스템의 동작 방법 |
| US8788728B2 (en) * | 2011-12-16 | 2014-07-22 | Maxlinear, Inc. | Method and system for buffer state based low power operation in a MoCA network |
| TWI497304B (zh) | 2012-03-13 | 2015-08-21 | Novatek Microelectronics Corp | 序列介面傳送方法及其裝置 |
| CN103324588B (zh) * | 2012-03-22 | 2016-05-04 | 联咏科技股份有限公司 | 序列接口传送方法及其装置 |
| US9152206B2 (en) | 2013-01-24 | 2015-10-06 | Qualcomm Incorporated | System and method for reducing power consumption |
| US9372529B1 (en) * | 2013-05-30 | 2016-06-21 | Western Digital Technologies, Inc. | Storage device selectively utilizing power from a host and power from an AC adapter |
| US9209842B2 (en) * | 2013-09-09 | 2015-12-08 | Texas Instruments Incorporated | Method and circuitry for transmitting data |
| US10310757B2 (en) * | 2017-08-23 | 2019-06-04 | Qualcomm Incorporated | Systems and methods for memory power saving via kernel steering to memory balloons |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5345347A (en) * | 1992-02-18 | 1994-09-06 | Western Digital Corporation | Disk drive with reduced power modes |
| US5560022A (en) * | 1994-07-19 | 1996-09-24 | Intel Corporation | Power management coordinator system and interface |
| US5787292A (en) * | 1996-04-01 | 1998-07-28 | International Business Machines Corporation | Power saving method and apparatus for use in multiple frequency zone drives |
| JP3563256B2 (ja) * | 1998-02-13 | 2004-09-08 | 富士通株式会社 | 省電力機能の遠隔制御方法、情報処理装置及び記憶媒体 |
| JP3819166B2 (ja) * | 1998-11-27 | 2006-09-06 | ヒタチグローバルストレージテクノロジーズネザーランドビーブイ | 消費エネルギー低減方法 |
| JP4553429B2 (ja) * | 1999-11-25 | 2010-09-29 | パナソニック株式会社 | ディスク装置 |
| JP2005538444A (ja) * | 2002-09-09 | 2005-12-15 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | ディスクドライブの電力消費量を管理する方法及び装置 |
| JP4371739B2 (ja) * | 2003-09-02 | 2009-11-25 | 株式会社東芝 | シリアルataインタフェースを持つ電子機器及びシリアルataバスのパワーセーブ方法 |
-
2004
- 2004-12-09 JP JP2004356652A patent/JP2006164012A/ja not_active Withdrawn
-
2005
- 2005-11-23 US US11/285,929 patent/US20060129703A1/en not_active Abandoned
Cited By (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008186462A (ja) * | 2007-01-30 | 2008-08-14 | Samsung Electronics Co Ltd | Sataインターフェースでのパワーセービング・モード制御方法 |
| US8200998B2 (en) | 2007-01-30 | 2012-06-12 | Samsung Electronics Co., Ltd. | Method of controlling power saving mode used in SATA interface |
| JP2008293476A (ja) * | 2007-04-27 | 2008-12-04 | Ricoh Co Ltd | インターフェース制御回路、画像処理装置および電力管理方法 |
| JP2009230772A (ja) * | 2008-03-19 | 2009-10-08 | Fujitsu Ltd | データ記憶装置 |
| US7949795B2 (en) | 2008-03-19 | 2011-05-24 | Toshiba Storage Device Corporation | Power conservation in data storage device by only starting the active state when the measured time indicates data is present on the interface |
| JP2014106977A (ja) * | 2012-11-26 | 2014-06-09 | Samsung Electronics Co Ltd | 記憶装置及びそれを含むコンピューティングシステムと、それのデータ転送方法 |
| JP2015095810A (ja) * | 2013-11-13 | 2015-05-18 | ルネサスエレクトロニクス株式会社 | 設計支援装置、半導体装置及びコンパイルプログラム |
| JP2017033501A (ja) * | 2015-08-06 | 2017-02-09 | 株式会社東芝 | 記憶装置および制御方法 |
| US10152280B2 (en) | 2015-08-06 | 2018-12-11 | Toshiba Memory Corporation | Storage device and control method |
Also Published As
| Publication number | Publication date |
|---|---|
| US20060129703A1 (en) | 2006-06-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7475265B2 (en) | Data storage device and control method for power-saving modes of serial interface thereof | |
| JP2006164012A (ja) | データ記憶装置及びそのパワー・セーブ・モードの制御方法 | |
| JP2006139459A (ja) | メディア・ドライブ及びそのパワー・セーブ方法 | |
| US7958292B2 (en) | Disk drive system on chip with integrated buffer memory and support for host memory access | |
| JP5888717B2 (ja) | ハイブリッドハードディスクドライブ制御方法、メモリ装置及びハイブリッドハードディスクドライブ | |
| JP2005215729A (ja) | データ伝送制御方法及び記憶装置 | |
| US20050144490A1 (en) | Electronic device with serial ATA interface and power saving method for serial ATA buses | |
| JP4681671B2 (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 | |
| JP2006127300A (ja) | ホストと記憶デバイスとの間における通信方法、記憶デバイス、ホスト、記憶デバイスとホストを備えるシステム | |
| JPWO2009050765A1 (ja) | 媒体記憶装置のリード/ライト処理方法及び媒体記憶装置 | |
| JP2007184023A (ja) | ディスク・ドライブ及びその制御方法 | |
| JP2006099666A (ja) | 記録メディア・ドライブ及び記録メディア・ドライブにおけるパワー・セーブ・モードの制御方法 | |
| JP2010027105A (ja) | ディスク・ドライブ装置及びそのエラー回復処理の方法 | |
| US7451261B2 (en) | Data storage device and control method with buffer control thereof | |
| US7486461B2 (en) | Magnetic disk device and read/write method | |
| JP5030387B2 (ja) | データ記憶装置 | |
| JP2006099913A (ja) | ディスク装置及びその制御方法 | |
| CN100550164C (zh) | 数据存储装置以及控制其用户数据写入的方法 | |
| JP2006172032A (ja) | データ記憶装置及びそのバッファ制御方法 | |
| JP3604984B2 (ja) | 記録機器の記録制御方法 | |
| JP4763376B2 (ja) | ディスク装置 | |
| JP2007317263A (ja) | シリアル・データ転送方法、そのシステム及びデータ記憶装置 | |
| JP4914280B2 (ja) | ディスク・ドライブ装置 | |
| JP2012038330A (ja) | ハードディスクドライブ |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071126 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20071126 |
|
| A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20090515 |