JP5823755B2 - 記憶装置、およびプログラム - Google Patents

記憶装置、およびプログラム Download PDF

Info

Publication number
JP5823755B2
JP5823755B2 JP2011157676A JP2011157676A JP5823755B2 JP 5823755 B2 JP5823755 B2 JP 5823755B2 JP 2011157676 A JP2011157676 A JP 2011157676A JP 2011157676 A JP2011157676 A JP 2011157676A JP 5823755 B2 JP5823755 B2 JP 5823755B2
Authority
JP
Japan
Prior art keywords
host device
time
timeout time
storage device
timeout
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.)
Expired - Fee Related
Application number
JP2011157676A
Other languages
English (en)
Other versions
JP2013025439A (ja
Inventor
豊田 満
満 豊田
典明 平
典明 平
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.)
Media Logic Corp
Original Assignee
Media Logic Corp
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 Media Logic Corp filed Critical Media Logic Corp
Priority to JP2011157676A priority Critical patent/JP5823755B2/ja
Publication of JP2013025439A publication Critical patent/JP2013025439A/ja
Application granted granted Critical
Publication of JP5823755B2 publication Critical patent/JP5823755B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

この発明は、ホスト装置に接続され、ホスト装置とデータ送受信を行う記憶装置、およびプログラムに関する。
近年、パーソナルコンピュータ(以下、PCと言う。)等のホスト装置に接続され、当該ホスト装置とデータ送受信を行う記憶装置が普及している。ホスト装置と記憶装置との間で行われるデータ転送において、通信路の異常等が発生した場合、データ転送は停止する。
そこで、一般的にホスト装置や記憶装置には、タイマーカウンタが設定されている。ホスト装置は、記憶装置にコマンドを送信した後、応答がない状態が継続し、所定のタイムアウト時間が経過すると、再度コマンドを送信する。また、記憶装置は、ホスト装置からコマンドを受信した後、応答できない状態が継続し、所定のタイムアウト時間が経過すると、ホスト装置にエラー報告を行い、ホスト装置は、再度コマンドを送信することができる。
ただし、記憶装置は、例えばハードディスクドライブ(以下、HDDと言う。)のスピンアップに数十秒程度の時間を必要とする場合がある。そのため、タイムアウト時間は、HDDのスピンアップに要する時間以上の長さに設定されている。
特開2004−48742号公報
しかし、例えばホスト装置がテレビ等のコンテンツ録画再生装置である場合、数十秒程度もデータを送受信できない状態が続くと、コンテンツの録画や再生に必要なデータ転送速度を維持することができず、映像や音が途切れる可能性がある。タイムアウト時間を一律に短くすると、スピンアップ等に時間を要して応答が遅れているだけの場合もあるため、適切なデータ転送ができないという課題がある。
そこで、この発明は、タイムアウト時間を短くすることができ、適切なデータ転送を実現できる記憶装置を提供することを目的とする。
本発明の記憶装置は、ホスト装置に接続され、前記ホスト装置とデータ送受信を行う記憶装置であって、前記ホスト装置とのデータ送受信状態を監視する監視手段と、前記監視手段の監視内容に応じて、前記ホスト装置がエラー発生と判断するまでの時間を変更させるタイムアウト時間変更手段と、を備えたことを特徴とする。
前記ホスト装置とのデータ送受信状態を監視する監視手段を用いることで、記憶装置は、データ送受信の異常状態を検出した場合に、ホスト装置にエラー報告を行うことにより、ホスト装置がエラー発生と判断するまでの時間を短くさせる。データ送受信の異常状態とは、データ転送が所定時間(例えば数秒)以上行われていない場合や、あるいは、全てのデータが転送されていない状態にも関わらず、ホスト装置からステータスを要求された場合等、正常な状態では起こりえない処理が発生した場合等である。
また、タイムアウト時間変更手段は、前記監督手段の監視内容に応じて、前記ホスト装置がエラー発生と判断するまでの時間を変更させる。つまり、本発明の記憶装置は、データ送受信の状態に応じて、タイムアウト時間を短く設定することが可能であると判断した場合にはタイムアウト時間を短くし、HDDのスピンアップ等、タイムアウト時間を短くすることができないと判断した場合にはタイムアウト時間を長くする。
具体的には、記憶装置は、特定のコマンドを検出した場合に、自装置のタイムアウト時間を変更する態様が考えられる。特定のコマンドとは、例えば、READ、WRITE、VERIFYコマンドである。HDDがスピンダウンしていなければ、これらのコマンドに対する動作は、即座に行われるため、これらのコマンドを検出した場合には、HDDがスピンダウンしていなければタイムアウト時間を短くする(例えば数秒程度とする)。これにより、異常時には短い時間でホスト装置にエラー報告を行うことができ、ホスト装置は再度コマンドを送信することができる。
以上のようにして、コンテンツデータを送受信するホスト装置、例えばテレビ、チューナ、レコーダ等の種別であれば、映像や音が途切れることを防止することができる。
また、記憶装置は、ホスト装置の種別を検出する種別検出手段を備え、前記タイムアウト時間変更手段は、前記種別検出手段が、特定の種別を検出した場合に、自装置のタイムアウト時間を変更する態様も可能である。
つまり、記憶装置は、テレビ、チューナ、レコーダ等、タイムアウト時間が長くなると弊害がある特定の種別のホスト装置を検出した場合に、タイムアウト時間を短くする。
なお、上記タイムアウト時間変更手段は、記憶装置の制御部(SATAコントローラ等)に搭載されていてもよいが、インタフェース変換ブリッジ(USB−SATAブリッジ等)に搭載されている態様も可能である。
この発明によれば、タイムアウト時間を短くすることができ、適切なデータ転送を実現できる。
ホスト装置と記憶装置の接続関係を示すブロック図である。 USB−SATAブリッジの構成を示すブロック図である。 データ転送のイメージ図である。 READ/WRITEコマンド処理時の具体的動作を示すフローチャートである。 ホスト装置、USB−SATAブリッジ、およびSATAデバイス間で送受信されるデータの例を示す図である。 タイムアウト時間変更を行う場合のUSB−SATAブリッジ51の動作を示すフローチャートである。
図1は、本発明の記憶装置と、当該記憶装置に接続されるホスト装置と、からなる情報処理システムの構成を示すブロック図である。本実施形態の情報処理システムは、USB通信路2を介して接続されるホスト装置1と、記憶装置3と、からなる。
ホスト装置1は、記憶装置3にデータを書き込む、または記憶装置3からデータを読み出す情報処理装置であり、PC、テレビ、チューナ、レコーダ、プレーヤ等、種々の種別がある。
記憶装置3は、ホスト装置から送信されたデータを内蔵する記憶デバイスに記憶する、または記憶デバイスに記憶しているデータをホスト装置に送信する。
本実施形態の記憶装置3は、内蔵記憶デバイスとして、SATAデバイス53を有する。SATAデバイス53は、SATAインタフェースを有するHDDやSSD等の補助記憶デバイスである。SATAデバイス53は、SATA通信路52を介してUSB−SATAブリッジ51に接続されている。
USB−SATAブリッジ51は、USB通信路2に接続されるUSBインタフェース、および内部のSATA通信路52に接続されるSATAインタフェースを有するインタフェース変換ブリッジである。
図2は、USB−SATAブリッジ51の構成を示すブロック図である。USB−SATAブリッジ51は、USB通信路2に接続されるUSBインタフェース(I/F)71、コントローラ72、SATA通信路52に接続されるSATAI/F73、およびデータ転送残数カウンタレジスタ74を備えている。
コントローラ72は、ブリッジ機能を実現するための構成要素であり、CPUやメモリを内蔵し、USBI/F71から受信したコマンドに応じて種々の動作を行う。例えば、コントローラ72は、ホスト装置1からUSBマスストレージ規格のREADコマンドを受信した場合、SATAデバイス53にSATA規格のREADコマンドを送信し、SATAデバイス53から読み出したデータをホスト装置1に転送する。また、コントローラ72は、ホスト装置1からUSBマスストレージ規格のWRITEコマンド受信した場合、SATAデバイス53にSATA規格のWRITEコマンドを送信し、ホスト装置1からの書き込みデータをSATAデバイス53に転送する。このコントローラ72が、本発明における監視手段およびタイムアウト時間変更手段に対応する。
データ転送残数カウンタレジスタ74は、ホスト装置1からのコマンドにおけるデータ転送残数を示すものである。コントローラ72を介してホスト装置1とSATAデバイス53間でデータ転送が行われる毎にデータ転送残数カウンタレジスタ74の値は変化する。データ転送残数カウンタレジスタ74の値がゼロになると、データ転送が正常に行われたと判断することができる。
なお、図2において、データ転送残数カウンタレジスタ74は、ハードウェアとして示しているが、コントローラ72におけるソフトウェア(USB−SATAブリッジ51のファームウェアの機能)で実現する態様も可能である。
USBマスストレージ規格の転送方式には、BOT(Bulk-Only Transport)やUAS(USB-Attached SCSI)等がある。
図3は、USBマスストレージ規格の転送方式にBOTを用いたデータ転送のイメージ図である。図3(A)は、正常にデータ転送が行われる場合、図3(B)は通信路に異常等が発生し正常にデータ転送が行われない場合、図3(C)は本発明の記憶装置を使用した情報処理システムで通信路に異常等が発生した場合のデータ転送のイメージ図である。
図3(A)でホスト装置1は、記憶装置3にREADコマンドやWRITEコマンドを発行し、データ転送を行うイメージを示している。データ転送は、ある程度の容量のデータ毎にコマンドを発行し、データ本体の転送が行われる。図3(A)では、コマンドCmd1が発行され、データ本体Data1の転送が行われ、データ本体Data1の転送が終了すると次のコマンドCmd2が発行され、データ本体Data2の転送が行われる。この様に、コマンド発行とデータ本体の転送を繰り返し、一連のデータ転送が行われることを示している。
一方、図3(B)は、ホスト装置1からコマンドを発行した後、通信路の異常等によるデータ本体の転送が行われない場合のイメージを示している。
この様な異常に備えて、ホスト装置1やUSB-SATAブリッジ51は、不図示のタイムアウト異常検出機能を持っている。
ホスト装置1は、記憶装置3にコマンドを発行した後、所定のタイムアウト時間内にデータ本体の転送が完了しない場合は、再度コマンドの発行を行い、データの再送受信を試みる。あるいは、USB−SATAブリッジ51は、SATAデバイス53にコマンドを発行した後、所定のタイムアウト時間内にデータ本体の転送が完了しない場合は、ホスト装置1にエラー報告を行い、ホスト装置1は再度コマンドの発行を行い、データ転送の再送受信を試みる。図3(B)では、ホスト装置1からCmd2された後、データ本体Data2の転送が行われないまま数十秒が経過し、タイムアウト異常検出により、再度コマンドCmd2を発行し、データ本体Data2の転送が行われた場合を示している。
SATAデバイス53の様な記憶デバイスは、HDDのスピンアップに時間が必要であったり、不良セクタがあった場合に代替セクタを読み出すための時間が必要であったりする。そのため、タイムアウト時間は、図3(B)に示すように、一般的に数十秒程度(HDDのスピンアップに要する時間以上)とされている。
しかし、例えばホスト装置1がテレビ、チューナ、レコーダ、プレーヤ等、コンテンツデータの送受信を行うものである場合、数十秒程度もデータを送受信できない状態が続くと、映像や音が途切れたり、録画に失敗したりする可能性がある。タイムアウト時間を一律に短くすると、スピンアップ等に時間を要して応答が遅れているだけの場合もあるため、適切なデータ転送ができない。
そこで、本実施形態に係る記憶装置3は、データ送受信の状態を監視し、監視内容に応じて、ホスト装置1がエラー発生と判断するまでの時間を短くさせる(例えば2秒程度に短縮させる)。すると、図3(C)に示すように、ホスト装置1がCmd2を発行してから応答がない状態が発生したとしても、2秒経過後には、再度ホスト装置1がCmd2を発行してデータ転送が行われるため、映像や音が途切れたり、録画に失敗したりする可能性が著しく低減される。なお、USBマスストレージ規格の転送方式にBOTを用いて場合だけではなく、UASを用いた場合でも、同等の効果が見込まれる。
ホスト装置1がエラー発生と判断するまでの時間を短縮させるためには、以下の2つの例が考えられる。
(A)記憶装置3が、データ送受信の異常状態を検出した場合に、ホスト装置1にエラー報告を行う例
(B)記憶装置3が、データ送受信の状態に応じて自装置のタイムアウト時間を変更する例
まず、上記(A)の例について説明する。上記(A)の例は、記憶装置3がデータ送受信の異常状態を検出し、ホスト装置1にエラー報告を行うことで、ホスト装置1がタイムアウト時間の経過を待たずに再度コマンドを送信することができる態様である。
データ送受信の異常状態とは、例えばデータ転送が所定時間(例えば数秒)以上行われていない場合である。データ転送が所定時間以上行われていない状態を検出するには、コントローラ72がデータ転送残数カウンタレジスタ74の監視を行う態様が考えられる。
図4は、USB−SATAブリッジ51のコントローラ72の動作を示すフローチャートであり、特に、USBマスストレージ規格のREAD/WRITEコマンド処理時の具体的動作を示すフローチャートである。コントローラ72は、ホスト装置1からREADコマンド、または、WRITEコマンドを受信した場合に図4の動作を行う。
まず、コントローラ72は、最初に自装置のタイマーカウンタを設定する(s21)。このタイマーカウンタのタイムアウト時間は、上述のデータ転送が所定時間以上行われていないと判断するためのタイムアウト時間であり、ホスト装置のタイムアウト時間(数十秒)よりも短く設定することができる。例えば、本実施形態では、このタイムアウト時間を2秒に設定する。
その後、コントローラ72は、ホスト装置1から受信したコマンドに応じて、SATA規格のコマンドを送信する(s22)。例えば、図5に示すように、コントローラ72は、ホスト装置1からWRITEコマンド(OUT(CBW))を受信した場合、SATAデバイス53にWRITE DMAコマンド(Register FIS - Host to Device)を送信する。一方、コントローラ72は、WRITEコマンドを解析することでデータ転送長を取得できるため、このときにデータ転送残数カウンタレジスタ74をセットする。なお、図5の様にUSBマスストレージ規格の転送方式にBOTを用いている場合は、WRITEコマンドを解析する代わりに、CBWと呼ばれるパケットに含まれるデータ転送長を用いて、データ転送残数カウンタレジスタ74をセットしてもよい。
その後、コントローラ72は、ホスト装置1からのデータ転送問い合わせ(PING)に対し、ライト用データを受け取りできない(FIFOに空きがない)状態の場合は、NAK応答(否定応答)し、受け取りできる(FIFOに空きがある)状態の場合は、ACK応答(正常応答)する。また、コントローラ72は、ホスト装置1からのOUTに対し、ライト用データを受け取った(FIFOに入った)場合は、ACK応答し、受け取れなかった(FIFOに入らなかった)場合は、NAK応答する。ライト用データを受け取ったが次回は受け取れない(FIFOに入ったことでFIFOが一杯になった)場合は、NYET応答(正常応答、次回否定応答)する。そして、受信した(FIFOに入っている)ライト用データは、コントローラ72が、SATAデバイス53からDMA Activate FISを受信した後、Data FISとして送信する。この様に、ライト用データの送受信が繰り返し行われることでホスト装置1とSATAデバイス53との間でデータ転送が行われる。なお、コントローラ72は、Data FISの送信が行われる毎に、データ転送残数カウンタレジスタ74を減算する。
一方、コントローラ72は、上記s22の処理でWRITE DMAコマンドを送信した後、内蔵するタイマーカウンタを初期値に設定し、タイマー動作を開始させる(s23)。このタイマーカウンタは、一定時間毎に歩進され、上記タイムアウト時間(2秒)を経過するとタイムアウトとなる。
コントローラ72は、SATAデバイス53がコマンド完了したか否かを判断する(s24)。図5に示すように、ホスト装置1がリクエストした全てのデータ書き込みが完了すると、SATAデバイス53は、コマンド完了を示すRegister FIS - Device to Hostを送信する。コントローラ72は、SATAデバイス53がコマンド完了したと判断した場合、ホスト装置1にステータスを送信し、WRITEコマンド処理を終了する。
一方、コントローラ72は、s24の処理でコマンド完了していないと判断した場合、データ転送残数カウンタレジスタ74に変化があるか否かを判断する(s25)。データ転送残数カウンタレジスタ74に変化があった場合、コントローラ72は、s23の処理に戻り、内蔵するタイマーカウンタを初期値に設定し、タイマー動作を開始させる(s23)。つまり、データ転送が正常に動作している場合にはタイマーカウンタは、リセットされる。
一方、データ転送残数カウンタレジスタ74に変化がなかった場合、コントローラ72は、タイムアウト時間(2秒)が経過してタイムアウトとなったか否かを判断する(s26)。タイムアウトでなければ、コントローラ72は、s24の処理に戻り、コマンド完了したか否かの判断を行う。タイムアウトとなった場合、コントローラ72は、ホスト装置1にエラー報告を行い、ホスト装置1は再度コマンドを送信することができる(s27)。
このようにして、コントローラ72は、データ転送が所定時間以上行われていない状態を検出し、ホスト装置1のタイムアウトを待つことなくエラー報告を行うことで、ホスト装置1がエラー発生と判断するまでの時間を短縮させる。
図4では、データ送受信の異常状態を検出する例として、コントローラ72がデータ転送残数カウンタレジスタ74の監視を行う態様を示したが、この態様以外にも、例えば、SATA通信路52やUSB通信路2を監視し、通信プロトコルにおいて、特定のパケットが所定時間以上確認できない場合にデータ送受信の異常状態であると判断する態様がある。
この場合、図4のs25の処理に代えて、あるいはs25の処理に追加する。例えば、コントローラ72は、SATA通信路52を監視し、DMA Activate FIS、Data FIS、DMA SETUP FIS、PIO SETUP FIS等、SATA規格におけるFISと呼ばれるパケットの送受信が行われたか否かを確認する。FISの送受信が行われていないと判断した場合、s26の判断に移行し、タイムアウトであればホスト装置1にエラー報告を行い、ホスト装置1は再度コマンドを送信することができる。
また、SATA規格におけるFISのより単純な構成要素であるプリミティブの確認を行う態様も考えられる。コントローラ72は、R_IPやR_OK等のプリミティブの送受信が行われたか否かを確認し、プリミティブの受信が行われていないと判断した場合、s26の判断に移行し、タイムアウトであればホスト装置1にエラー報告を行い、ホスト装置1は再度コマンドを送信することができる。
また、USBプロトコルの監視を行う態様も考えられる。コントローラ72は、USB通信路2を監視し、PINGやACK、NAK等、USB規格のパケットの送受信が行われたか否かを確認し、データの送受信が行われていないと判断した場合、s26の判断に移行し、タイムアウトであればホスト装置1にエラー報告を行い、ホスト装置1は再度コマンドを送信することができる。
さらに、コントローラ72は、データ転送残数カウンタレジスタ74の残数がゼロでなく、全てのデータが転送されていない状態で、ホスト装置1からステータスを要求された場合等、正常な状態では起こりえない処理が発生した場合に、データ送受信の異常状態であると判断し、s26の判断に移行し、タイムアウトであればホスト装置1にエラー報告を行い、ホスト装置1は再度コマンドを送信することも可能である。
次に、上記(B)の例について説明する。上記(B)の例は、記憶装置3が、データ送受信の状態に応じて自装置のタイムアウト時間を変更することで、ホスト装置1がエラー発生と判断するまでの時間を短縮させる態様である。
図6は、USB−SATAブリッジ51のコントローラ72の動作を示すフローチャートであり、ホスト装置1からUSBマスストレージ規格に準じたコマンドを受信した場合に図6の動作を行う。
コントローラ72は、ホスト装置1から受信したコマンドが、READ、WRITE、またはVERIFYコマンドであるか否かを確認する(s31)。これらコマンド以外のコマンドであれば、ホスト装置1において映像や音が途切れたり、録画に失敗したりする可能性が低いため、コントローラ72は、例えば、本実施形態では、タイマーカウンタのタイムアウト時間を30秒に設定する(s35)。
また、READ、WRITE、VERIFYコマンドであった場合は、前回受信したコマンドがREAD、WRITE、またはVERIFYコマンドであるか否かを確認する(s32)。
これらのコマンドではない場合、HDDがスピンダウンしているかもしれないため、タイマーカウンタのタイムアウト時間を30秒に設定する(s35)。ただし、SATAデバイス53がSSD等のスピンダウンがないデバイスである場合は、このs35の処理は不要である。
コントローラ72は、READ、WRITE、またはVERIFYコマンドを連続で受信したと判断した場合、前回のREAD、WRITE、VERIFYコマンドの受信から一定時間以上経過しているか否かを確認する(s33)。
記憶デバイスのHDDには、オートスピンダウン機能を有するものが存在する。オートスピンダウン機能とは、一定時間HDDにアクセスがない場合にスピンダウンする機能である。
そのため、READ、WRITE、またはVERIFYコマンドを連続で受信した場合であっても、前回のREAD、WRITE、VERIFYコマンドの受信から一定時間以上経過している場合では、HDDがスピンダウンしているかもしれないため、タイマーカウンタのタイムアウト時間を30秒に設定し(s35)、前回のREAD、WRITE、VERIFYコマンドの受信から一定時間以上経過していない場合にはタイマーカウンタのタイムアウト時間を短く(この例では2秒に)設定する(s34)。ただし、SATAデバイス53がSSD等のスピンダウンがないデバイスである場合は、このs32およびs35の処理は不要である。
なお、コントローラ72は、s32およびs33の処理に代えて、またはs32およびs33の処理に追加して、SATAデバイス53にCHECK POWER MODEコマンドを発行し、SATAデバイス53の電力状態を取得してもよい。SATAデバイス53が低電力、省電力状態である場合には、例えばHDDがスピンダウンしている可能性があり、コマンド応答に時間がかかる場合があるため、コントローラ72は、タイマーカウンタのタイムアウト時間を短くしない(30秒に設定する)。
コントローラ72は、以上のような処理を行った後、コマンド処理を行う(s51)。コマンド処理は、図4のフローチャートで説明した動作と同様の動作を行う。ただし、図4に示した動作のうち、s25の処理(記憶装置3が、データ送受信の異常状態を検出する処理)は必須ではない。すなわち、記憶装置3が、データ送受信の異常状態を検出する処理と、記憶装置3が、データ送受信の状態に応じて自装置のタイムアウト時間を変更する処理とは、いずれか一方のみ行ってもよいし、両方の処理を行ってもよい。
なお、記憶装置3は、ホスト装置1の種別を検出する種別検出機能を備えていてもよい。この場合、記憶装置3は、テレビ、チューナ、レコーダ、プレーヤ等、タイムアウト時間が長くなると弊害がある特定の種別のホスト装置に接続されていることを検出した場合に、自装置のタイムアウト時間を変更する。
ホスト装置の種別を検出するための手法は、例えばフォーマットの解析を行う手法が考えられる。ホスト装置1がテレビやチューナ等の種別である場合、最初に記憶装置3を接続した場合に記憶装置3(SATAデバイス53)のフォーマットを行う。テレビ等では、接続された記憶装置3に行うフォーマットは、PCで一般的に用いられているNTFSやFATではない場合が多い。したがって、フォーマットがNTFS、FAT16、およびFAT32のいずれにも該当しない場合、ホスト装置がテレビやチューナ等の種別であると判断し、タイムアウト時間を短く設定する。
また、ホスト装置では、データ保護のために、ホスト装置1に接続していた記憶装置3を他のホスト装置(例えばPC)に接続したとしても、データを参照することができないようになっている場合がある。例えば、ホスト装置1は、最初に記憶装置3を接続した場合に記憶装置3(SATAデバイス53)のフォーマットを行うが、意図的にパーティション・タイプ(MBR)と実パーティション(BPB)を不一致にし、他のホスト装置(例えばPC)でデータを参照することができないようにする場合がある。例えば、パーティション・タイプをNTFSとし、実パーティションの構造をFAT32とする場合がある。したがって、記憶装置3は、パーティション・タイプと実パーティションが異なる場合、接続されているホスト装置1がテレビ等の特定の種別のホスト装置であると判断し、タイムアウト時間を短く設定する。
なお、記憶装置3の内蔵記憶デバイスが物理的に複数存在する場合、あるいは論理的に複数のパーティションに分けられている場合、実際にホスト装置1からアクセスがあるデバイスあるいはパーティションについて、上述の様なフォーマット解析を行う。
ホスト装置の種別を検出するための手法は、特定のファイルやフォルダの存在を確認する手法も考えられる。例えば、ホスト装置1がテレビやチューナであれば、記憶装置3に録画ファイルや録画ファイルに関連した番組情報を示すファイル、暗号化するためのファイル等が生成される場合がある。また、テレビやチューナが録画一覧表示等を行うために使用する録画ファイルを管理するためのファイルが生成される場合がある。したがって、記憶装置3はファイル構成を解析し、特定のファイル構成を検出した場合に、接続されているホスト装置1をテレビ等の特定の種別のホスト装置であると判断し、タイムアウト時間を短く設定する。
また、ホスト装置固有のファイルの場合は、ファイル名称にホスト装置固有の拡張子が用いられている場合や、ホスト装置1からのアクセスがある場合がある。したがって、記憶装置3はファイル名称を解析し、特定の拡張子を検出した場合やホスト装置1からのアクセスを検出した場合に、接続されているホスト装置1をテレビ等の特定の種別のホスト装置であると判断し、タイムアウト時間を短く設定する。
また、ファイル名称、フォルダ名称がホスト装置固有の場合がある。例えば、フォーマット時にホスト装置の名称がフォルダ名称となるフォルダが生成される場合や、録画毎に、録画時点の日時がフォルダ名称、ファイル名称となり、ホスト装置1からアクセスされる場合もある。したがって、記憶装置3は、これらの特定の名称のフォルダ、ファイルを検出した場合やホスト装置1からのアクセスを検出した場合に、接続されているホスト装置1をテレビ等の特定の種別のホスト装置であると判断し、タイムアウト時間を短く設定する。
なお、本実施形態では、ホスト装置と記憶装置の接続にUSBインタフェースを用いる例を示したが、USB以外のインタフェースでホスト装置に接続される場合であってもよい。また、記憶装置の内蔵記憶デバイスとしても、SATA以外のインタフェースであってもよい。
また、記憶装置の内蔵記憶デバイスがSATAであり、ホスト装置と接続されるインタフェースもSATAデバイスである場合、上述の様なUSB−SATAブリッジ51は不要であるため、本実施形態で示したUSB−SATAブリッジ51の機能は、記憶装置の内蔵記憶デバイスのコントローラに搭載させる。
また、本実施形態で示したUSB−SATAブリッジ51に搭載されている機能(本発明における、ホスト装置とのデータ送受信状態を監視する監視手段と、前記監視手段の監視内容に応じて、前記ホスト装置がエラー発生と判断するまでの時間を変更させるタイムアウト時間変更手段)を、ホスト装置に搭載させることも可能である。この場合、ホスト装置が記憶装置を制御するためのソフトウェア(プログラム)であるデバイスドライバの一機能として実現することも可能である。
1…ホスト装置
2…USB通信路
3…記憶装置
51…USB−SATAブリッジ
52…SATA通信路
53…SATAデバイス
71…USBI/F
72…コントローラ
73…SATAI/F
74…データ転送残数カウンタレジスタ

Claims (5)

  1. ホスト装置に接続され、前記ホスト装置とデータ送受信を行う記憶装置であって、
    前記ホスト装置とのデータ送受信状態を監視する監視手段と、
    前記監視手段の監視内容に応じて、前記ホスト装置がエラー発生と判断するまでの時間を変更させるタイムアウト時間変更手段と、
    を備え
    前記タイムアウト時間変更手段は、自装置のタイムアウト時間を短く設定することが可能であるか否かを判断し、自装置の状態がタイムアウト時間を短く設定することが可能であると判断した場合には、前記自装置のタイムアウト時間を相対的に短くし、
    自装置の状態がタイムアウト時間を短く設定することができないと判断した場合には、前記自装置のタイムアウト時間を相対的に長く設定し、
    前記監視手段がデータ送受信の異常状態を検出し、かつ前記自装置のタイムアウト時間が経過した場合には、前記ホスト装置にエラー報告を行うことにより、前記ホスト装置がエラー発生と判断するまでの時間を変更させることを特徴とする記憶装置。
  2. 前記タイムアウト時間変更手段は、
    前記監視手段が特定のコマンドを検出した場合に、自装置のタイムアウト時間を短くすることを特徴とする請求項1に記載の記憶装置。
  3. 前記ホスト装置の種別を検出する種別検出手段を備え、
    前記タイムアウト時間変更手段は、前記種別検出手段が、特定の種別を検出した場合に、自装置のタイムアウト時間を短くすることを特徴とする請求項1または請求項2に記載の記憶装置。
  4. 前記タイムアウト時間変更手段は、インタフェース変換ブリッジに搭載されていることを特徴とする請求項1〜のいずれかに記載の記憶装置。
  5. ホスト装置に実行される、または前記ホスト装置に接続され、前記ホスト装置とデータ送受信を行う記憶装置に実行されるプログラムであって、
    前記ホスト装置とのデータ送受信状態を監視する監視手段と、
    前記監視手段の監視内容に応じて、前記ホスト装置がエラー発生と判断するまでの時間を変更させるタイムアウト時間変更手段と、
    を実現させ
    前記タイムアウト時間変更手段は、自装置のタイムアウト時間を短く設定することが可能であるか否かを判断し、自装置の状態がタイムアウト時間を短く設定することが可能であると判断した場合には、前記自装置のタイムアウト時間を相対的に短くし、
    自装置の状態がタイムアウト時間を短く設定することができないと判断した場合には、前記自装置のタイムアウト時間を相対的に長く設定し、
    前記監視手段がデータ送受信の異常状態を検出し、かつ前記自装置のタイムアウト時間が経過した場合には、前記ホスト装置にエラー報告を行うことにより、前記ホスト装置がエラー発生と判断するまでの時間を変更させることを特徴とするプログラム。
JP2011157676A 2011-07-19 2011-07-19 記憶装置、およびプログラム Expired - Fee Related JP5823755B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011157676A JP5823755B2 (ja) 2011-07-19 2011-07-19 記憶装置、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011157676A JP5823755B2 (ja) 2011-07-19 2011-07-19 記憶装置、およびプログラム

Publications (2)

Publication Number Publication Date
JP2013025439A JP2013025439A (ja) 2013-02-04
JP5823755B2 true JP5823755B2 (ja) 2015-11-25

Family

ID=47783745

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011157676A Expired - Fee Related JP5823755B2 (ja) 2011-07-19 2011-07-19 記憶装置、およびプログラム

Country Status (1)

Country Link
JP (1) JP5823755B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6191487B2 (ja) * 2014-02-05 2017-09-06 株式会社デンソー ネットワークシステム及び電子制御装置
JP6089229B2 (ja) * 2014-03-14 2017-03-08 パナソニックIpマネジメント株式会社 植物栽培装置
JP6455327B2 (ja) * 2015-06-12 2019-01-23 ブラザー工業株式会社 印刷装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01140360A (ja) * 1987-11-27 1989-06-01 Fujitsu Ltd タイムアウト検出方式
JP2005050006A (ja) * 2003-07-31 2005-02-24 Hitachi Ltd 記憶システム及びその動作最適化方法
JP2006119886A (ja) * 2004-10-21 2006-05-11 Nec Corp ディスクアレイ装置、ディスクアレイ装置システム及びディスクアレイ装置の制御方法
JP2009104410A (ja) * 2007-10-23 2009-05-14 Sony Corp データ記録装置,データ記録装置の内部制御方法及びデータ記録システム

Also Published As

Publication number Publication date
JP2013025439A (ja) 2013-02-04

Similar Documents

Publication Publication Date Title
US8381029B2 (en) Processing method, storage system, information processing apparatus, and computer-readable storage medium storing program
US11500707B2 (en) Controller, memory controller, storage device, and method of operating the controller
JP5742542B2 (ja) ストレージ装置及びその負荷状態低減方法
US20140122753A1 (en) Electronic Device, Management Method Thereof, and Rack Serving System
US7587552B2 (en) Computer system and performance tuning method
JP5700514B2 (ja) 通信速度制御装置および通信速度制御方法
JP4317436B2 (ja) ディスクアレイシステム及びインターフェイス変換装置
US10042585B2 (en) Pervasive drive operating statistics on SAS drives
JP2006004408A (ja) ディスクアレイシステムにおけるデータ保護の方法
US20240231651A1 (en) Maintaining Control Information for Storage Devices
US9223645B2 (en) Storage apparatus and method for controlling storage apparatus
JP5524156B2 (ja) 情報処理装置および情報処理方法
JP4807172B2 (ja) ディスクアレイ装置及びパトロール診断方法及びパトロール診断制御プログラム
JP5823755B2 (ja) 記憶装置、およびプログラム
JP2009217475A (ja) ストレージシステム,ストレージ装置,ストレージシステムの制御方法および制御プログラム
US7325117B2 (en) Storage system and storage control method
WO2012049760A1 (ja) ストレージ制御装置における基準時間設定方法
US7774560B2 (en) Storage emulator and method thereof
US8732531B2 (en) Information processing apparatus, method of controlling information processing apparatus, and control program
JP5217452B2 (ja) 情報処理装置及びシステム、並びに、記憶領域管理方法及びプログラム
JP6051617B2 (ja) 制御装置、ストレージ装置、制御方法及び制御プログラム
JP4968078B2 (ja) 故障診断装置及び故障診断方法
JP2012018481A (ja) ディスクアレイ装置およびディスクアレイ制御方法
JP4652315B2 (ja) ディスク装置、データ転送システム及びそれに用いるデータ転送方法
JP2021196764A (ja) 情報処理システム、記憶装置、ホスト装置、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140528

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150310

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150511

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150929

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151008

R150 Certificate of patent or registration of utility model

Ref document number: 5823755

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees