JP2013015912A - データ転送装置及びデータ転送方法 - Google Patents
データ転送装置及びデータ転送方法 Download PDFInfo
- Publication number
- JP2013015912A JP2013015912A JP2011146616A JP2011146616A JP2013015912A JP 2013015912 A JP2013015912 A JP 2013015912A JP 2011146616 A JP2011146616 A JP 2011146616A JP 2011146616 A JP2011146616 A JP 2011146616A JP 2013015912 A JP2013015912 A JP 2013015912A
- Authority
- JP
- Japan
- Prior art keywords
- transfer
- command
- data
- size
- initiator
- 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; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/349—Performance evaluation by tracing or monitoring for interfaces, buses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3433—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/81—Threshold
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
- Bus Control (AREA)
Abstract
【課題】データ転送をより柔軟に行えるデータ転送装置及びデータ転送方法を提供する。
【解決手段】転送データサイズの上限値を設定可能なレジスタと、この上限値と外部から送られた転送サイズとを比較し、この転送サイズがレジスタ設定値より大きい場合、この転送サイズを減少させる機構とを備えるデータ転送装置。また、レジスタに設定値を設定し、転送データサイズの上限値を設定し、この上限値と外部から送られた転送サイズとを比較し、この転送サイズが前記設定値より大きい場合、この転送サイズを減少させるデータ転送方法。
【選択図】 図5
【解決手段】転送データサイズの上限値を設定可能なレジスタと、この上限値と外部から送られた転送サイズとを比較し、この転送サイズがレジスタ設定値より大きい場合、この転送サイズを減少させる機構とを備えるデータ転送装置。また、レジスタに設定値を設定し、転送データサイズの上限値を設定し、この上限値と外部から送られた転送サイズとを比較し、この転送サイズが前記設定値より大きい場合、この転送サイズを減少させるデータ転送方法。
【選択図】 図5
Description
本発明の実施形態は、例えばMaximum Burst Size読み替え判定機能を有するデータ転送装置及びデータ転送方法に関する。
データ転送に関しては、様々な工夫がされてきている。
例えば特許文献1には、共通バスに接続されるデータ転送装置のデータ転送数を計測することにより各装置のバスアクセス数を監視し、ある周期内では同一のデータ転送装置によるバス占有を禁止する方式が記載されている。
例えば特許文献1には、共通バスに接続されるデータ転送装置のデータ転送数を計測することにより各装置のバスアクセス数を監視し、ある周期内では同一のデータ転送装置によるバス占有を禁止する方式が記載されている。
また特許文献2は、PCI関連の特許であり、ホストが共通バスを介して接続されるターゲットに対しデータ転送を行うことによりディスコネクトを発生させ、ターゲットのデータバッファサイズを計測するものである。データバッファ計測後、データ転送長をバッファサイズより小さい範囲で行うことによりディスコネクト発生を抑制し、システムのスループット低下を防ぐ方式である。
また特許文献3も、PCI関連の特許であり、イニシエータにおいてディスコネクト発生数を管理し、ディスコネクト発生回数が規定値に達した場合、当該デバイス間でのバーストサイズを減算し、ディスコネクト発生を抑制し、システムのスループット低下を防ぐ方式である。
ところで特にSASイニシエータ/ターゲット間でフレーム送受信を行うためには、OPENシーケンスによりConnectionを確立する必要がある。両デバイス間では、一度のConnectionで送信できる最大データ長(= Maximum Burst Size)が規定されており、転送データ長がMaximum Burst Sizeに達したら、データ転送を中断しCLOSEシーケンスによりConnectionを解消する。
例として、ターゲットデバイスからサイズの大きいリード転送を行うケースにおいて、Maximum Burst Sizeが大きい場合は、ターゲットデバイスのバス占有率が大きくなり、イニシエータデバイスのコマンド発行を阻害してしまう可能性がある。またMaximum Burst Sizeが小さい場合は、OPEN/CLOSEシーケンスが頻発し、データ送信完了までの時間が大きくなってしまう。
この 上記のように、Maximum Burst Size分の転送は状況によっては性能劣化の要因となるため、各状況に応じて最適値が設定されることが望ましい。
しかし、実際にはMaximum Burst Sizeはイニシエータデバイスよりコマンドとして発行されるため、頻繁に書き換えることは難しく、前述のような問題による性能劣化が発生してしまう。
ここに、データ転送をより柔軟に行える技術への要望があるが、かかる要望を実現するための手段は知られていない。
本発明の実施の形態は、データ転送をより柔軟に行うことができるデータ転送装置及びデータ転送方法を提供することを目的とする。
上記課題を解決するために、実施形態によればデータ転送装置は、転送データサイズの上限値を設定可能なレジスタと、この上限値と外部から送られた転送サイズとを比較し、この転送サイズがレジスタ設定値より大きい場合、この転送サイズを減少させる機構とを備える。
以下、一実施形態を図1乃至図5を参照して説明する。
図1は第1の実施形態に係る磁気ディスク装置を備えた電子機器の典型的な構成を示すブロック図である。図1において、電子機器は、磁気ディスク装置(HDD)10及びホスト(ホストシステム)20を備えている。電子機器は、例えば、パーソナルコンピュータ、ビデオカメラ、音楽プレーヤー、携帯端末、或いは携帯電話機である。ホスト20はHDD10を当該ホスト20の記憶装置として利用する。
図1は第1の実施形態に係る磁気ディスク装置を備えた電子機器の典型的な構成を示すブロック図である。図1において、電子機器は、磁気ディスク装置(HDD)10及びホスト(ホストシステム)20を備えている。電子機器は、例えば、パーソナルコンピュータ、ビデオカメラ、音楽プレーヤー、携帯端末、或いは携帯電話機である。ホスト20はHDD10を当該ホスト20の記憶装置として利用する。
HDD10は、ヘッドディスクアセンブリ部(HDA部)100と、制御ボード部200とを備えている。
HDA部100は、例えば2枚のディスク(磁気ディスク)110-1及び110-2と、スピンドルモータ(SPM)130と、アクチュエータ140と、ヘッドIC150とを備えている。
HDA部100は、例えば2枚のディスク(磁気ディスク)110-1及び110-2と、スピンドルモータ(SPM)130と、アクチュエータ140と、ヘッドIC150とを備えている。
ディスク110-1及び110-2の各々は上側と下側の2つの記録面を備えている。ディスク110-1及び110-2はSPM130により高速に回転させられる。ディスク110-i(i=1,2)はCDR(constant density recording)と呼ばれる周知の記録フォーマットを適用している。このためディスク110-iの各記録面は、当該ディスク11-iの半径方向に複数のゾーンに区分して管理される。つまり、ディスク110-iの各記録面は、複数のゾーンを備えている。
アクチュエータ140はディスク110-1のそれぞれの記録面に対応して配置されるヘッド・アームの先端にヘッド(磁気ヘッド)120-0及び120-1を備えている。アクチュエータ140は更に、ディスク110-2のそれぞれの記録面に対応して配置されるヘッド・アームの先端にヘッド120-2及び120-3を有する。ヘッド120-0及び120-1は、ディスク110-1へ/からのデータの書き込み/読み出しに用いられ、ヘッド120-2及び120-3は、ディスク110-2へ/からのデータの書き込み/読み出しに用いられる。
アクチュエータ140はボイスコイルモータ(VCM)141を備えている。アクチュエータ140はVCM141によって駆動され、ヘッド120-0乃至120-3をディスク110-1及び110-2の半径方向に移動させる。
SPM130及びVCM141は、後述するモータドライバIC210からそれぞれ供給される駆動電流(SPM電流及びVCM電流)により駆動される。
ヘッドIC150は、ヘッド120-j(j=0,1,2,3)により読み出された信号(リード信号)を増幅する。ヘッドIC150はまた、後述するリード/ライトチャネル230から転送されるライトデータをライト電流に変換してヘッド120-jに出力する。
ヘッドIC150は、ヘッド120-j(j=0,1,2,3)により読み出された信号(リード信号)を増幅する。ヘッドIC150はまた、後述するリード/ライトチャネル230から転送されるライトデータをライト電流に変換してヘッド120-jに出力する。
制御ボード部200は、モータドライバIC210及びシステムLSI220の2つのLSIを備えている。モータドライバIC210は、SPM130を一定の回転速度で駆動する。モータドライバIC210はまた、CPU270から指定されたVCM操作量に相当する値の電流(VCM電流)をVCM141に供給することで、アクチュエータ140を駆動する。
システムLSI220は、リード/ライトチャネル(R/Wチャネル)230、ディスクコントローラ(HDC)240、バッファRAM250、フラッシュメモリ260、プログラムROM270、CPU280及びRAM290が単一チップに集積されたSOC(System on Chip)と呼ばれるLSIである。
R/Wチャネル230は、リード/ライトに関連する信号処理を行う信号処理デバイスである。R/Wチャネル230は、リード信号をデジタルデータに変換し、このデジタルデータからリードデータを復号する。R/Wチャネル230はまた、上記デジタルデータからヘッド120-jの位置決めに必要なサーボデータを抽出する。R/Wチャネル230はまた、ライトデータを符号化する。
HDC240は、ホスト20とホストインタフェース21を介して接続されている。HDC240は、ホスト20から転送されるコマンド(ライトコマンド、リードコマンド等)を受信する。HDC240は、ホスト20と当該HDC240との間のデータ転送を制御する。HDC240は、R/Wチャネル230を介して行われるディスク110-i(i=1,2)と当該HDC240との間のデータ転送を制御する。
バッファRAM250は、ディスク110-iに書き込まれるべきデータ及びディスク110-iからヘッドIC150及びR/Wチャネル230を介して読み出されたデータを一時格納するのに用いられる。
フラッシュメモリ260は、書き換え可能な不揮発性メモリである。フラッシュメモリ260は、例えばホストから受信するライトコマンドの端数セクタのデータを一時的に格納するのに用いられる。
プログラムROM270は、制御プログラム(ファームウェアプログラム)を予め格納する。なお、制御プログラムがフラッシュメモリ260の一部の領域に格納されていても構わない。
CPU280は、HDD10の主コントローラとして機能する。CPU280はプログラムROM270に格納されている制御プログラムに従ってHDD10内の他の少なくとも一部の要素を制御する。RAM290の一部の領域は、CPU280の作業領域として用いられる。この作業領域には、HDD10のパワーオン時に、フラッシュメモリ260に格納されている一部のデータがロードされる。
なお図2は、実施形態の要部を示す機能ブロック構成図である。図1のハードウェア構成を基にしているが、SSD(Solid State Drive)等のハードウェア構成を基にしても同様な構成となる。
図2に示すように、ディスク装置(記録装置)10Bは、MPU380、HDDコントローラ340AとI/F340B、バッファ350、不揮発性メモリ360、磁気ディスク媒体110、メモリ390、ロム370から構成されている。図2の構成と図1の構成とを比較すると、MPU380はCPU280に、HDDコントローラ340AとI/F340Bはディスクコントローラ240に、バッファ350はバッファRAM250に、不揮発性メモリ360はフラッシュメモリ260に、磁気ディスク媒体110はディスク110-1及び110-2に、メモリ390はRAM290に、ロム370はプログラムROM270に、それぞれ対応している。
(実施例)
本実施形態は例えばSAS ( Serial Attached SCSI )でConnection 毎に転送すべきData 長をTarget のコマンド保有状態、Initiator 状態に基づき調整する事によりInitiator からのコマンド発行を効率化しシステム全体のスループット向上を図る事を目的としている。
本実施形態は例えばSAS ( Serial Attached SCSI )でConnection 毎に転送すべきData 長をTarget のコマンド保有状態、Initiator 状態に基づき調整する事によりInitiator からのコマンド発行を効率化しシステム全体のスループット向上を図る事を目的としている。
SAS ではData 転送前にInitiator/Target 間でConnection を確立する必要がある(具体的にはOPEN 、CLOSE にてバス接続、切断を行う)。またConnection 毎に送受信できる最大Data 長(Maximum Burst Size )が規定されている。最大Data 長はInitiator から指定される物で、例えばTarget からのData 転送にて指定サイズが大きい場合Initiator からのコマンド発行が阻害される。逆に小さい場合OPEN 、CLOSE が頻発、転送効率が低下する。本実施形態はこの最大Data 長を変更せずInitiator/Target の状態を把握し内部的に読み替える事でバス効率を最大限に活用でき、結果、システム全体のスループットが向上するという効果がある。
具体的には、図3 のコマンドテーブルで保有するコマンド数を接続されるInitiator の構成、転送レート(1.5G/3G/6Gbps )、接続状態を元に調整することにより実現する。例えばTarget からInitiator へのData 転送時、上記の状態を元に閾値を予め把握しておき、保有するコマンド数が閾値に到達したらMaximum Burst Size を適宜読み替え、CLOSE処理を実施する。バス権限を対象のInitiator に与え、コマンド発行できる状態とし、システムとして効率的に滞りなくコマンド処理を継続して行える様にするものである。従来はMaximum Burst Size が大きい場合Initiator からのコマンド発行が阻害される事が特定のシステムにて発生した。
さて図3は、実施形態のInitiator/Target間でのデータ通信を示すブロック構成図である。
Initiatorは、コマンド発行部1、セレクタ2、送信部3、Maximum Burst Size設定部4と受信部5を備えている。またTargetは、受信部6、セレクタ7、DDR8、コマンドテーブル9、コマンド実行部10、送信部11とMaximum Burst Size設定部12を備えている。Maximum Burst Size設定部12は、Connection単位の最大転送数を規定する。データ転送数がこの値に達したら、 ConnectionをCLOSEする。
Initiatorは、コマンド発行部1、セレクタ2、送信部3、Maximum Burst Size設定部4と受信部5を備えている。またTargetは、受信部6、セレクタ7、DDR8、コマンドテーブル9、コマンド実行部10、送信部11とMaximum Burst Size設定部12を備えている。Maximum Burst Size設定部12は、Connection単位の最大転送数を規定する。データ転送数がこの値に達したら、 ConnectionをCLOSEする。
OPENシーケンスとしては、InitiatorからOPEN address frameを送信するケースでは、コマンド発行時は、InitiatorからOPENシーケンスによりConnectedとなる必要がある。また、TargetからOPEN address frameを送信するケースでは、TargetはOPEN ACCEPTを受け取る。
なお、TargetからConnectionを確立した場合、Initiatorからのコマンド発行ができないケースがある。
SAS プ口トコル通信では、両デバイス間でconnected 状態であり、かつ受信バッファに空きがあれば双方向の通信が可能である。ただし、例外的にコマンド発行時は、Initiator からのOPEN シーケンスによりConnection を確立する必要がある。よって、Target 起因のConnection によりバスが長時間占有される場合、Initiator はOPEN シーケンスを行うことができずコマンド発行が阻害されてしまう。Target の保持するコマンド数が少なくなると、システム全体のスループット低下を招く恐れがある。本実施形態は、Target の保持コマンド数が閾値より少なくなった場合、Maximum Burst Size を小さく読み替え、Target が占有するバスを一旦解放し、Initiator に対しコマンド発行を促す方式である。
SAS プ口トコル通信では、両デバイス間でconnected 状態であり、かつ受信バッファに空きがあれば双方向の通信が可能である。ただし、例外的にコマンド発行時は、Initiator からのOPEN シーケンスによりConnection を確立する必要がある。よって、Target 起因のConnection によりバスが長時間占有される場合、Initiator はOPEN シーケンスを行うことができずコマンド発行が阻害されてしまう。Target の保持するコマンド数が少なくなると、システム全体のスループット低下を招く恐れがある。本実施形態は、Target の保持コマンド数が閾値より少なくなった場合、Maximum Burst Size を小さく読み替え、Target が占有するバスを一旦解放し、Initiator に対しコマンド発行を促す方式である。
図4の機能ブロック構成図の各設定を用いて本発明の実施例を示す。各設定は以下のとおりとする。
Minimum Command Count Register47=20個、Config Register51=50kBが設定されている状態で、イニシエータ#0へリードコマンド(40kB)実行を行うケースを説明する。
Minimum Command Count Register47=20個、Config Register51=50kBが設定されている状態で、イニシエータ#0へリードコマンド(40kB)実行を行うケースを説明する。
0.準備:ファームウェアは、イニシエータよりMaximum Burst Size受領時、以下の設定を実施する。このファームウェアは、HDC240で実行されるものであるが、CPU280などで実行されてもよい。
0.1:コマンド管理部のCommand Count Register47に、ターゲットデバイスの保持コマンド数の下限値を設定する。
0.2:MBS判定部のConfig Register51に、読み替えを行うMaximum Burst Sizeの下限値を設定する。
1.:コマンド起動までファームウェアは、コマンドテーブル41の情報を解析し、コマンド実行部のExchange Table57に実行情報を登録し、転送起動をかける。以降、ターゲットデバイスはコマンド実行状態となる。
0.2:MBS判定部のConfig Register51に、読み替えを行うMaximum Burst Sizeの下限値を設定する。
1.:コマンド起動までファームウェアは、コマンドテーブル41の情報を解析し、コマンド実行部のExchange Table57に実行情報を登録し、転送起動をかける。以降、ターゲットデバイスはコマンド実行状態となる。
2.転送レート判定(後述の図5, 判定2):コマンド管理部において、イニシエータテーブル43に登録される各イニシエータの転送レートを判定する。本実施例においては、イニシエータ#0の転送レートが6.0Gで最も高い。
3.コマンド保持数判定(図5, 判定3):コマンド管理部において、リード先イニシエータから受領しているコマンド数と、Minimum Command Count Register値の比較を行う。本実施例においては、20(下限値) > 10(イニシエータ#0からの受領コマンド数) となり、コマンド保持数が下限値より少ない。
コマンド管理部は、判定2および判定3より、リード先イニシエータの転送レートが最も高く、かつ、このイニシエータからのコマンド保持数が下限値より少ないと判断される場合、Almost Empty FlagをMBS判定部に通知する。
4. Maximum Burst Size読み替え判定(図5, 判定4):MBS判定は、Almost Empty Flagを元に、Config Register値とMaximum Burst Sizeの比較を行う。この比較により、Maximum Burst SizeがConfig Register値より大きい場合、本来のMaximum Burst Sizeの1/2をコマンド実行部に対して通知する。
本実施例においては、50kB(ConfigReg) < 64kB(MaxBurstSize) であるので、コマンド実行部に対しては、32kB(64kB/2)がMaximum Burst Sizeとして通知される。
コマンド実行部では、この値を直近の転送におけるMaximum Burst Sizeとして採用し、転送データ長がこの値に達した時点で比較器58がCLOSE要求を行う。
次に図5は、実施形態に用いられるファームウェアを主体とするMaximum Burst Size読み替え判定フロー図である。
ステップS1: コマンド実行起動を行う。
ステップS2: 実行コマンドタイプを判定する(判定1)。この判定の結果が、リードコマンドである場合は次のステップS3へ進みそうでない場合はステップS7へ飛ぶ。
ステップS1: コマンド実行起動を行う。
ステップS2: 実行コマンドタイプを判定する(判定1)。この判定の結果が、リードコマンドである場合は次のステップS3へ進みそうでない場合はステップS7へ飛ぶ。
ステップS3: リード転送先イニシエータの転送レートがイニシエータテーブル中で最も大きいかどうかを判定する(判定2)。この判定の結果が、Yesある場合は次のステップS4へ進みそうでない場合はステップS7へ飛ぶ。
ステップS4: リード先のイニシエータから受領しているコマンド数と保持コマンドの下限値を比較する(判定3)。この比較の結果が、コマンド数が下限値より小さい場合は次のステップS5へ進みそうでない場合はステップS7へ飛ぶ。
ステップS5: Maximum Burst SizeとConfig値を比較する(判定4)。この比較の結果が、Maximum Burst SizeがConfig値より大きい場合は次のステップS6へ進みそうでない場合はステップS7へ飛ぶ。
ステップS6: (Maximum Burst Size /2)を読み替え後のMaximum Burst Sizeとして適用し、処理を終了する。
ステップS7: Maximum Burst Sizeの読み替えを行わず、処理を終了する。
以上で、データ転送装置のコマンド保持状況を判定する技術に関し、次の仕組みの要点を説明した。
A.装置のコマンド実行状況を監視し、保持する全コマンド数を管理する仕組み。より具体的には例えば、HDC240が、フラッシュメモリ260内のフラグテーブル264として、全コマンドと各実行状況(実行ならフラグON、そでないならOFFなど)の組みを管理するようにすればよい。
ステップS7: Maximum Burst Sizeの読み替えを行わず、処理を終了する。
以上で、データ転送装置のコマンド保持状況を判定する技術に関し、次の仕組みの要点を説明した。
A.装置のコマンド実行状況を監視し、保持する全コマンド数を管理する仕組み。より具体的には例えば、HDC240が、フラッシュメモリ260内のフラグテーブル264として、全コマンドと各実行状況(実行ならフラグON、そでないならOFFなど)の組みを管理するようにすればよい。
B . A による管理をさらにイニシエータ毎の管理に振り分ける仕組み。
C . コマンド実行起動時、データ送信先イニシエータから受領、保持しているコマンド数と装置で予め設定されるコマンド保持数の下限値を比較する仕組み。
D. 装置で指定されるMaximum Burst Size を小さく読み替える仕組み。
本実施形態の方式は、ターゲットからのリード転送起動時、H/Wがデバイスのイニシエータ毎のコマンド保持状況と転送レートの判定を実施、リード先イニシエータデバイス間との転送レートが高く、かつこのイニシエータからのコマンド保持数が少ないと判断される場合、設定されるMaximum Burst Sizeを小さく読み替え、このイニシエータデバイスに対し、優先的にバス権限を与えるものである。例えば以下の機構により、転送レートが高いイニシエータからの受領コマンド数を相対的に大きくすることができ、装置全体のスループット向上を図ることが可能となる。
C . コマンド実行起動時、データ送信先イニシエータから受領、保持しているコマンド数と装置で予め設定されるコマンド保持数の下限値を比較する仕組み。
D. 装置で指定されるMaximum Burst Size を小さく読み替える仕組み。
本実施形態の方式は、ターゲットからのリード転送起動時、H/Wがデバイスのイニシエータ毎のコマンド保持状況と転送レートの判定を実施、リード先イニシエータデバイス間との転送レートが高く、かつこのイニシエータからのコマンド保持数が少ないと判断される場合、設定されるMaximum Burst Sizeを小さく読み替え、このイニシエータデバイスに対し、優先的にバス権限を与えるものである。例えば以下の機構により、転送レートが高いイニシエータからの受領コマンド数を相対的に大きくすることができ、装置全体のスループット向上を図ることが可能となる。
(1)ファームウェアよりMaximum Burst Sizeの上限値を設定可能なレジスタ(Config Register)を有し、このレジスタ設定値とデバイスが持つMaximum Burst Sizeを比較し、Maximum Burst Sizeがレジスタ設定値より大きい場合、Maximum Burst Sizeを1/2に減算する機構(図4, Maximum Burst Size判定部)。
(2)ファームウェアよりデバイスが保持するコマンド数の下限値を設定可能なレジスタ(Minimum Command Count Register)を有し、コマンド実行起動時、フレーム転送先のイニシエータから受領、保持しているコマンドのうち、未実行であるコマンド数とレジスタ設定値を比較し、未実行コマンド数がレジスタ設定値より小さい場合、(1)により減算を行ったMaximum Burst Sizeを直近のコマンド実行のMaximum Burst Sizeとして採用する機構(図4, MBS判定部)。
(3)デバイスによるコマンド実行状況を監視し、デバイスの全保持コマンドに対し、実行済みであるか、未実行であるかのフラグを設定する機構。
(4)(3)で未実行と分類されたコマンドに対し、コマンド発行先イニシエータのアドレスを参照し、イニシエータごとに未実行コマンド数の管理を行う機構。
なお、この発明は上記実施形態に限定されるものではなく、この外その要旨を逸脱しない範囲で種々変形して実施することができる。例えば、リードコマンドだけでなくライトコマンドなどを使用する場合にも有効である。
(4)(3)で未実行と分類されたコマンドに対し、コマンド発行先イニシエータのアドレスを参照し、イニシエータごとに未実行コマンド数の管理を行う機構。
なお、この発明は上記実施形態に限定されるものではなく、この外その要旨を逸脱しない範囲で種々変形して実施することができる。例えば、リードコマンドだけでなくライトコマンドなどを使用する場合にも有効である。
また、上記した実施の形態に開示されている複数の構成要素を適宜に組み合わせることにより、種々の発明を形成することができる。例えば、実施の形態に示される全構成要素から幾つかの構成要素を削除しても良いものである。さらに、異なる実施の形態に係わる構成要素を適宜組み合わせても良いものである。
10…HDD(磁気ディスク装置)、20…ホスト、110-1,110-2,110-i…ディスク、111…パラメータ調整領域、120-0〜120-3…ヘッド、230…R/Wチャネル(リード/ライトチャネル)、240…HDC、260…フラッシュメモリ、264…フラグテーブル、270…プログラムROM、280…CPU、290…RAM。
Claims (5)
- 転送データサイズの上限値を設定可能なレジスタと、
この上限値と外部から送られた転送サイズとを比較し、この転送サイズがレジスタ設定値より大きい場合、この転送サイズを減少させる機構とを
備えたデータ転送装置。 - コマンド数の下限値を設定可能な下限値レジスタを更に備え、外部から送られたコマンドのうち未実行なコマンドの数がこの下限値より小さい場合に前記転送サイズを減少する請求項1に記載のデータ転送装置。
- コマンド実行状況を監視し、保持コマンドに対し、実行済みであるか、未実行であるかのフラグを設定する請求項1に記載のデータ転送装置。
- 未実行と分類された前記コマンドに対し、コマンド発行先イニシエータのアドレスを参照し、このイニシエータごとに未実行コマンド数の管理を行う請求項3に記載のデータ転送装置。
- レジスタに設定値を設定し、
転送データサイズの上限値を設定し、
この上限値と外部から送られた転送サイズとを比較し、この転送サイズが前記設定値より大きい場合、この転送サイズを減少させるデータ転送方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011146616A JP2013015912A (ja) | 2011-06-30 | 2011-06-30 | データ転送装置及びデータ転送方法 |
US13/408,554 US8799528B2 (en) | 2011-06-30 | 2012-02-29 | Data transfer device and data transfer method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011146616A JP2013015912A (ja) | 2011-06-30 | 2011-06-30 | データ転送装置及びデータ転送方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013015912A true JP2013015912A (ja) | 2013-01-24 |
Family
ID=47391828
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011146616A Withdrawn JP2013015912A (ja) | 2011-06-30 | 2011-06-30 | データ転送装置及びデータ転送方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8799528B2 (ja) |
JP (1) | JP2013015912A (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101882119B (zh) * | 2009-05-08 | 2014-05-14 | 上海炬力集成电路设计有限公司 | 与非型闪存控制器及其数据传输方法 |
CN104166611A (zh) * | 2013-05-17 | 2014-11-26 | 鸿富锦精密工业(深圳)有限公司 | 硬盘温度信息获取装置及方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH044452A (ja) | 1990-04-23 | 1992-01-08 | Hitachi Ltd | データ転送制御方式 |
DE69308548T2 (de) * | 1992-05-01 | 1997-06-12 | Seiko Epson Corp | Vorrichtung und verfahren zum befehlsabschluss in einem superskalaren prozessor. |
JPH10334039A (ja) | 1997-05-27 | 1998-12-18 | Shikoku Nippon Denki Software Kk | バースト転送装置 |
KR100327368B1 (ko) * | 1998-07-10 | 2002-03-06 | 구자홍 | 영상 부호화 및 복호화 방법 |
JP2000330929A (ja) | 1999-05-25 | 2000-11-30 | Hitachi Ltd | バースト転送制御方法およびデータ転送システム |
WO2004006587A1 (en) * | 2000-12-06 | 2004-01-15 | Realnetworks, Inc. | Intra coding video data methods and apparatuses |
FR2839407B1 (fr) * | 2002-05-02 | 2004-12-17 | Canon Kk | Procede et dispositif d'ajustement de la taille maximale des sequences d'information transmises dans un reseau de telecommunications |
US7355969B2 (en) * | 2003-10-07 | 2008-04-08 | Alcatel | Line card port protection rate limiter circuitry |
-
2011
- 2011-06-30 JP JP2011146616A patent/JP2013015912A/ja not_active Withdrawn
-
2012
- 2012-02-29 US US13/408,554 patent/US8799528B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20130007308A1 (en) | 2013-01-03 |
US8799528B2 (en) | 2014-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7475265B2 (en) | Data storage device and control method for power-saving modes of serial interface thereof | |
US7664884B2 (en) | Media drive that creates a transfer unnecessary period, and power saving method thereof | |
US20060129703A1 (en) | Data storage device and control method for power-save modes thereof | |
TWI566101B (zh) | 降低對記憶體的至少一部分之資料傳輸速率之方法、裝置、系統、電腦可讀媒體及電腦程式產品及儲存子系統 | |
US7631117B2 (en) | Method for communicating between host and storage device, storage device, host, and system comprising storage device and host | |
JP2006139548A (ja) | メディア・ドライブ及びそのコマンド実行方法 | |
US8826066B2 (en) | Information processing apparatus, control method of the information processing apparatus, and recording medium | |
JP2008004089A (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 | |
JP2006268272A (ja) | データ記憶装置及びその不揮発性メモリ内データ書き換え処理方法 | |
US10635154B2 (en) | Intelligent SAS phy power management | |
JP2010044814A (ja) | 記憶装置の制御方法及び記憶装置 | |
JP2013015912A (ja) | データ転送装置及びデータ転送方法 | |
US20080016429A1 (en) | Data storage device and error correction method | |
JP2010282422A (ja) | データ記憶装置及びデータ転送制御方法 | |
JP5030387B2 (ja) | データ記憶装置 | |
JP2010027105A (ja) | ディスク・ドライブ装置及びそのエラー回復処理の方法 | |
CN112885381B (zh) | 电子通信装置、磁盘装置以及串行通信方法 | |
JP2006185162A (ja) | データ記憶装置及びその制御方法 | |
WO2002035338A1 (fr) | Enregistreur de donnees | |
JP2010140380A (ja) | コマンドの実行順序を変更する制御装置および記憶装置 | |
JP2009230789A (ja) | 記憶装置、記憶装置制御方法 | |
JP4763376B2 (ja) | ディスク装置 | |
JP2010218485A (ja) | ストレージ装置、データ書き込み方法、及びデータ書き込みプログラム | |
JP2008135110A (ja) | データ記憶装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20140902 |