(57)【要約】【課題】非転送系コマンドの処理時間を短縮することにより、データ転送レートの低下を改善する。【解決手段】データ処理装置（１）は、ホスト装置（１０）と、上記ホスト装置が発行したコマンドに従って制御されるデバイス（１２，１３）と、上記ホスト装置と上記デバイスとの間に介在された中継装置（１１）とを含む。上記中継装置は、非転送系コマンドに応答するための情報がテーブル化されたコマンド応答テーブル（１１２）と、上記コマンド応答テーブルを参照可能なＣＰＵ（１１１）とを含む。そして、上記ＣＰＵは、上記ホスト装置から発行されたコマンドのうち、非転送系コマンドについては、上記デバイスに確認することなく、上記コマンド応答テーブルを参照して応答することにより、転送処理におけるオーバーヘッドを減らす。【選択図】図１
2013016007.tif 000002
【特許請求の範囲】
【請求項１】
ホスト装置と、
上記ホスト装置が発行したコマンドに従って制御されるデバイスと、
上記ホスト装置と上記デバイスとの間に介在された中継装置と、を含むデータ処理装置であって、
上記中継装置は、非転送系コマンドに応答するための情報がテーブル化されたコマンド応答テーブルと、
上記コマンド応答テーブルを参照可能なＣＰＵと、を含み、
上記ＣＰＵは、上記ホスト装置から発行されたコマンドのうち、非転送系コマンドについては、上記デバイスに確認することなく、上記コマンド応答テーブルを参照して応答することを特徴とするデータ処理装置。
【請求項２】
上記デバイスから上記中継装置のＣＰＵへ非転送系コマンドに関わる情報が随時転送されることにより、上記中継装置が上記デバイスへ非転送系コマンドを発行すること無しに、上記コマンド応答テーブルが更新される請求項１記載のデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置、さらにはそれにおけるデータ転送レートの低下を改善するための技術に関する。
【背景技術】
【０００２】
特許文献１には、ホストコンピュータからのコマンドを実際に実行するまでの処理時間を短縮し、全体の処理速度を向上するための技術が記載されている。
【０００３】
特許文献２には、インターフェースコントローラを備えたデバイスと複数の制御装置から構成されるシステムの効率を向上させるための技術が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−１６６８８６号公報
【特許文献２】特開２００２−２０７６８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ホスト装置とドライブとの間は、転送データ、転送系コマンド、非転送系コマンドがやりとりされる。ここで、転送系コマンドとは、ディスクへの記録／再生を指示するコマンドのようにデータ転送に関係するコマンドであり、非転送系コマンドとは、ドライブのバッファ使用量やドライブの状態を確認するコマンドなどである。
【０００６】
非転送系コマンドは、データ転送処理を中断させるため、実効的なデータ転送レートを下げる。また、Read Buffer CapacityやGet Event Status等の非転送系コマンドによるデータ転送の中断時間は、２〜３ｍｓとなる。ＢＤ(Blue Ray Disk)の８倍速で、１クラスタ（６４Ｋバイト）のデータ転送時間は１．８２２msだから、無視できない時間である。
【０００７】
ところで昨今は、ＯＤＤ（Optical Disk Drive；光ディスクドライブ）に、ＮＡＮＤ型フラッシュメモリを記憶媒体とするＳＳＤ（Solid State Drive；ソリッドステートドライブ）を搭載したハイブリッドドライブが注目を浴びている。そこでは、ＯＤＤとＳＳＤのホスト装置とのインタフェースを一つに纏めるために、ＰＭＰ（Port Multiplier；ポートマルチプライヤ）が、ホスト装置とドライブとの中継装置として使われている。そのようなシステムについて本願発明者が検討したところ、ＰＭＰのような中継装置やＵＳＢ−ＳＡＴＡ変換装置では、転送処理のオーバーヘッドによって実効データ転送レートが低下し、直接ホスト装置に接続した時の倍速が達成できない場合が発生することが見いだされた。
【０００８】
本発明は、データ転送レートの低下を改善することを目的とする。
【０００９】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１０】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【００１１】
すなわち、データ処理装置は、ホスト装置と、上記ホスト装置が発行したコマンドに従って制御されるデバイスと、上記ホスト装置と上記デバイスとの間に介在された中継装置とを含む。上記中継装置は、非転送系コマンドに応答するための情報がテーブル化されたコマンド応答テーブルと、上記コマンド応答テーブルを参照可能なＣＰＵとを含む。そして、上記ＣＰＵは、上記ホスト装置から発行されたコマンドのうち、非転送系コマンドについては、上記デバイスに確認することなく、上記コマンド応答テーブルを参照して応答する。
【発明の効果】
【００１２】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。
【００１３】
すなわち、データ転送レートの低下を改善することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明に係るデータ処理装置の構成例ブロック図である。
【図２】図１に示されるデータ処理装置１における主要部の処理のフローチャートである。
【図３】図１に示されるデータ処理装置における主要部の動作タイミング図である。
【発明を実施するための形態】
【００１５】
１．実施の形態の概要
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
【００１６】
〔１〕本発明の代表的な実施の形態に係るデータ処理装置（１）は、ホスト装置（１０）と、上記ホスト装置が発行したコマンドに従って制御されるデバイス（１２，１３）と、上記ホスト装置と上記デバイスとの間に介在された中継装置（１１）とを含む。上記中継装置は、非転送系コマンドに応答するための情報がテーブル化されたコマンド応答テーブル（１１２）と、上記コマンド応答テーブルを参照可能なＣＰＵ（１１１）とを含む。そして、上記ＣＰＵは、上記ホスト装置から発行されたコマンドのうち、非転送系コマンドについては、上記デバイスに確認することなく、上記コマンド応答テーブルを参照して応答する。上記中継装置として、ＰＭＰ（Port Multiplier）を適用することができる。
【００１７】
上記の構成によれば、上記ホスト装置から発行されたコマンドのうち、非転送系コマンドについては、上記デバイスに確認することなく、上記コマンド応答テーブルを参照して応答するため、ＯＤＤ１２へコマンドを転送したり、ＯＤＤ１２からの応答を受信する必要が無くなるので、転送処理におけるオーバーヘッドを減らすことができる。これにより、非転送系コマンドによるデータ転送レートの低下を改善することができる。
【００１８】
〔２〕上記〔１〕において、上記デバイスから上記中継装置のＣＰＵへ非転送系コマンドに関わる情報が随時転送されることにより、上記中継装置が上記デバイスへ非転送系コマンドを発行すること無しに、上記コマンド応答テーブルが更新されるように構成することができる。
【００１９】
２．実施の形態の詳細
実施の形態について更に詳述する。
【００２０】
《実施の形態１》
図１には、本発明に係るデータ処理装置の構成例が示される。
【００２１】
図１に示されるデータ処理装置１は、特に制限されないが、ホスト装置１０、ＰＭＰ（Port Multiplier）１１、ＯＤＤ（Optical Disk Drive）１２、ＳＳＤ（Solid State Drive）１３を含み、それらはＳＡＴＡ（Serial Advanced Technology Attachment）インタフェース（SATA IF）によって結合されている。ホスト装置１０は、例えばパーソナルコンピュータとされる。ＰＭＰ１１は、ＳＡＴＡの規格によって、ひとつのポートに複数台のハードディスクを繋ぐための機能を有する。このＰＭＰ１１は、ＣＰＵ（Central Processing Unit）１１１、コマンド応答テーブル１１２、ＳＡＴＡ部１１３，１１４，１１５を含む。ＣＰＵ１１１は、所定のプログラムを実行する。コマンド応答テーブル１１２は、非転送系コマンドに応答するための情報（コマンド応答の内容一覧を構成する表）がテーブル化されている。このコマンド応答テーブル１１２は、ＣＰＵ周辺メモリを流用して構成しても良い。ＳＡＴＡ部１１３は、ホスト装置１０とのやり取りを可能にするためのインタフェース部、ＳＡＴＡ部１１４は、ＯＤＤ１２とのやり取りを可能にするインタフェース部、ＳＡＴＡ部１１５は、ＳＳＤ１３とのやり取りを可能にするインタフェース部である。ＯＤＤ１２は、光ディスク１４のリードライトを制御する機能を有し、ＣＰＵ１２１、光ディスクコントローラ１２２、ＳＡＴＡ（Serial Advanced Technology Attachment）部１２３、バッファメモリ１２４を含む。
【００２２】
上記の構成において、ホスト装置１０から出力されたコマンドのうち、非転送系コマンドは、ＯＤＤ１２に渡さずに、ＰＭＰ１１内のＣＰＵ１１１が処理する。非転送系コマンドに応答するための情報は、ＣＰＵシリアルインタフェース１５を介して、定期的にＯＤＤ１２からＰＭＰ１１に転送される。ＰＭＰ１１内のＣＰＵ１１１は、ＣＰＵシリアルインタフェース１５を介して転送されたＯＤＤ情報をもとに、非転送系コマンドに対するコマンド応答テーブル１１２を、定期的に更新する。ホスト装置１０からのコマンド受信割込みが、非転送系コマンドの場合には、このコマンド応答テーブル１１２が参照されることによって、ＯＤＤ１２に確認することなく、即座に応答することができるようになっている。
【００２３】
図２には、図１に示されるデータ処理装置１における主要部の処理の流れが示される。
【００２４】
データ処理装置１における主要な処理として、コマンド応答テーブル更新処理と、非転送コマンド受信応答処理とを挙げることができる。
【００２５】
コマンド応答テーブル更新処理は次のように行われる。
【００２６】
Ｒ．Ｂ．Ｃ（Read Buffer Capacity）コマンドに応答するためのバッファステータス情報は、ＣＰＵシリアルインタフェース１５を介して、随時、ＯＤＤ１２からＰＭＰ１１に転送される。ＰＭＰ１１のＣＰＵ１１１は、取得したステータス情報をもとにコマンド応答テーブル１１２を更新する。バッファステータス情報を取得して、転送するタイミングは、例えば、バッファ容量が変化する時に発生するデータ転送割込みや、ブロック先頭割込みを利用することができる。このようにＣＰＵシリアルインタフェース１５を介して情報が転送されるので、ＳＡＴＡインタフェース（SATA IF）がデータ転送中であっても、バッファステータス情報の転送が可能であり、コマンド応答テーブル１１２が随時更新される。このため、ホスト装置１０からＰＭＰ１１にコマンドが発行された時点で、最新の情報がＰＭＰ１１に用意されている。
【００２７】
非転送コマンド受信応答処理は次のように行われる。
【００２８】
ホスト装置１０から発行されたＲ．Ｂ．Ｃ（Read Buffer Capacity）コマンドは、ＰＭＰ１１におけるＳＡＴＡ部１１４に伝達される。すると、ＰＭＰ１１におけるＳＡＴＡ部１１４からＣＰＵ１１１に対してコマンド受信割込み要求が発生される。ＣＰＵ１１１は、上記コマンド受信割込み要求に応じて、コマンド受信処理を実行する。このコマンド受信処理では、コマンド応答テーブル１１２が参照され、受信されたコマンドが非転送系コマンドであるか否かの判別が行われる。この判別で、受信されたコマンドが非転送系コマンドではないと判断された場合には、ＳＡＴＡ部１１４又はＳＡＴＡ部１１５を介して、ＯＤＤ１２又はＳＳＤ１３に転送される。これに対して、受信されたコマンドが非転送系コマンドであると判断された場合、ＣＰＵ１１１は、当該非転送系コマンドに対する応答発行処理を実行し、ＳＡＴＡ部１１４を介してホスト装置１０にコマンド応答を送信する。ホスト装置１０では、上記コマンド応答に対する受信処理が行われる。
【００２９】
図３には、図１に示されるデータ処理装置における主要部の動作タイミングが示される。
【００３０】
ＯＤＤ１２側で、バッファステータス情報を取得し、転送するタイミングをデータ転送開始割込みとした場合、ＳＡＴＡインタフェース（SATA IF）がデータ転送中でも、ＣＰＵシリアルインタフェース１５を介してバッファステータス情報の転送が可能であり、コマンド応答テーブルが随時更新される。これにより、Ｒ．Ｂ．Ｃ（Read Buffer Capacity）コマンドに応答するためのコマンド応答テーブル１１２が最新の状態になっているので、ホスト装置１０からのコマンドを、ＯＤＤ１２に渡すこと無く、ＰＭＰ１１においてすぐに応答することができる。これにより、例えばＯＤＤ１２へコマンドを転送したり、上記ＯＤＤ１２からの応答を受信する必要が無くなるので、転送処理におけるオーバーヘッドを減らすことができる。このような効果により、非転送系コマンドによるデータ転送レートの低下を改善することができる。
【００３１】
この実施の形態によれば、以下の作用効果を得ることができる。
【００３２】
（１）ＣＰＵ１１１でのコマンド受信処理において、コマンド応答テーブル１１２が参照され、受信されたコマンドが非転送系コマンドであるか否かの判別が行われる。この判別で、受信されたコマンドが非転送系コマンドであると判断された場合、ＣＰＵ１１１は、当該コマンドをＯＤＤ１２やＳＳＤ１３に転送することなく、当該非転送系コマンドに対する応答発行処理を実行し、ＳＡＴＡ部１１４を介してホスト装置１０にコマンド応答を送信する。このように、受信されたコマンドが非転送系コマンドである場合には、例えばＯＤＤ１２へコマンドを転送したり、上記ＯＤＤ１２からの応答を受信する必要が無くなるので、転送処理におけるオーバーヘッドを減らすことができ、それにより、非転送系コマンドによるデータ転送レートの低下を改善することができる。
【００３３】
（２）ＯＤＤ１２側で、バッファステータス情報を取得し、転送するタイミングをデータ転送開始割込みとした場合、ＳＡＴＡインタフェース（SATA IF）がデータ転送中でも、ＣＰＵシリアルインタフェース１５を介してバッファステータス情報の転送が可能であり、コマンド応答テーブルが随時更新される。これにより、Ｒ．Ｂ．Ｃ（Read Buffer Capacity）コマンドに応答するためのコマンド応答テーブル１１２が最新の状態になっている。このため、受信されたコマンドが非転送系コマンドであるか否かの判別を適切に行うことができる。
【００３４】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【符号の説明】
【００３５】
１  データ処理装置
１０  ホスト装置
１１  ＰＭＰ
１２  ＯＤＤ
１３  ＳＳＤ
１４  光ディスク
１５  ＣＰＵシリアルインタフェース
１１１，１２１  ＣＰＵ
１１２  コマンド応答テーブル
１１３，１１４，１１５，１２３  ＳＡＴＡ部
１２２  光ディスクコントローラ
１２４  バッファメモリ
【図１】
2013016007.tif 000003
【図２】
2013016007.tif 000004
【図３】
2013016007.tif 000005