JP2012128560A - インタフェースコントローラ、ストレージ装置、及びタイムアウト調整方法 - Google Patents
インタフェースコントローラ、ストレージ装置、及びタイムアウト調整方法 Download PDFInfo
- Publication number
- JP2012128560A JP2012128560A JP2010278066A JP2010278066A JP2012128560A JP 2012128560 A JP2012128560 A JP 2012128560A JP 2010278066 A JP2010278066 A JP 2010278066A JP 2010278066 A JP2010278066 A JP 2010278066A JP 2012128560 A JP2012128560 A JP 2012128560A
- Authority
- JP
- Japan
- Prior art keywords
- timeout
- host
- value
- time
- timeout value
- 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
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/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- 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/0653—Monitoring storage devices or systems
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
【解決手段】実施形態によれば、インタフェースコントローラは、第1のタイマと、モニタ結果取得手段と、モニタ結果保持手段と、調整手段とを具備する。第1のタイマは、インタフェースコントローラが複数のホスト装置のうちの第1のホスト装置と接続された第1の時点からの経過時間を計測し、計測された経過時間と第1のタイムアウト値とに基づいて第1のタイムアウトを検出する。モニタ結果取得手段は、第1の時点の後で且つ第1のタイムアウトの検出前に第1のホスト装置からの最初のフレームが受信された第2の時点における計測された経過時間を示す値をモニタ結果として取得する。モニタ結果保持手段は、取得されたモニタ結果を保持する。調整手段は、モニタ結果保持手段に保持されている少なくとも1つのモニタ結果に基づいて、第1のタイムアウト値を調整する。
【選択図】図2
Description
図1は、第1の実施形態に係るストレージ装置を備えたストレージシステムの典型的な構成を示すブロック図である。
図2は、SASコントローラ13の構成を示すブロック図である。
図2の説明を行う前に、例えば、ホスト20−1がストレージ装置10と接続してから、ストレージ装置10との接続が切断されるまでの一般的なハンドシェイクの例(第1の動作例)について、図3を参照して説明する。
図3において、ホスト20−1(Initiator 1)及びストレージ装置10(Target)は、エクスパンダ30(Expander)を介して相互にフレームやプリミティブなどを送受信する。
SASコントローラ13は、SASバスインタフェース140、タイマ130、タイマ131、モニタ結果取得部132、モニタ結果保持部134、調整部136、イニシエータテーブル138及びストレージインタフェース142から構成される。
図5は、第1の実施形態の第3の動作例における、ホスト20−1がストレージ装置10と接続されてから、ストレージ装置10との接続が切断されるまでのハンドシェイクを示すシーケンスチャートである。
図6は、イニシエータテーブル138に格納されている、ホスト20−1に対応したタイムアウト値T11[n-1](n=2,3,4,…)をタイムアウト値T11[n]に調整する第1のタイムアウト値調整方法(以下、平均法と称する)の例を示す。タイムアウト値T11[n-1] 及びT11[n]は、前述のタイムアウト値T11[x]に相当する。ここで、タイムアウト値T11[n-1]及びT11[n]における、[]内のn−1及びnは、ホスト20−1とストレージ装置10とが接続された回数を表す。
T11[n] = (T11[n-1] + t[n-1]) / 2(n ≧ 2)
に従って算出する。
次に第2の実施形態について説明する。
第1の実施形態と同様の構成や機能については説明を省略する。
第2の実施形態では、第1の実施形態で適用された第1のタイムアウト値調整法(平均法)とは異なる、第2のタイムアウト値調整法(加減算法)を用いる。具体的に、その加減算法について図7を参照しながら説明する。図7は、図6と同様の形式で、加減算法を説明するための図である。
図7において、ホスト20−1の接続回数は5回に限らない。また、1回目の接続時に使用されるT11[1]=T2は、1msに限らない。
次に第3の実施形態について説明する。
第2の実施形態と同様に、第1の実施形態と同様の構成または機能については説明を省略する。
第3の実施形態の特徴は、タイムアウト値の調整に第3のタイムアウト調整法(最大値法)を使用する点にある。以下、ホスト20−1とストレージ装置10との接続を例に、図8及び図9を参照して最大値法について説明する。
以上のように、100回の接続のサンプリング期間を設けて、101回目の接続時に使用されるタイムアウト値が算出される。
図9は、ホスト20−1とストレージ装置10との間の101回目乃至105回目の接続における、タイムアウト値調整を、図6及び図7と同様の形式で説明するための図である。
101回目の接続において、タイムアウトは発生していない。したがって、101回目に設定されたタイムアウト値T11[101]=T5が、そのまま、102回目のタイムアウト値T11[102]になる。
また、最大値法において、複数回の接続にまたがるサンプリング期間を設けることで効果的にタイムアウト値を調整することができる。例えば、100回の接続で得られたサンプリングの結果の最大値を101回目の接続のタイムアウト値に設定することで、101回目以降の接続においてタイムアウトする可能性を低くすることができる。また、100回の接続で得られたサンプリングの結果の平均値を101回目の接続時のタイムアウト値に設定することで、101回目以降の接続においてタイムアウトが発生した場合に、ホスト20−1が接続を占有する時間を短くすることができる。
まず、ホスト20−1〜20−4のそれぞれに関して、上述のt1からt2までの経過時間及びt1からt3までの時間は、異なる可能性が高い。したがって、上述したようなタイムアウト値の最適値は、ホスト毎に異なる。そこで、ホスト毎にタイムアウト値を格納する必要がある。
Claims (10)
- 複数のホスト装置から所定のインタフェースバスを介してアクセス可能なストレージ装置におけるインタフェースコントローラであって、
前記インタフェースコントローラが前記複数のホスト装置のうちの第1のホスト装置と接続された第1の時点からの経過時間を計測し、前記計測された経過時間と第1のタイムアウト値とに基づいて第1のタイムアウトを検出する第1のタイマと、
前記第1の時点の後で且つ前記第1のタイムアウトの検出前に前記第1のホスト装置からの最初のフレームが受信された第2の時点における前記計測された経過時間を示す値をモニタ結果として取得するモニタ結果取得手段と、
前記取得されたモニタ結果を保持するモニタ結果保持手段と、
前記モニタ結果保持手段に保持されている少なくとも1つのモニタ結果に基づいて、前記第1のタイムアウト値を調整する調整手段と
を具備するインタフェースコントローラ。 - 前記少なくとも1つのモニタ結果は、前記インタフェースコントローラが前記第1のホスト装置と複数回接続された後に前記モニタ結果保持手段に保持されている複数のモニタ結果であり、
前記調整手段は、前記複数のモニタ結果に基づいて前記複数のモニタ結果の傾向を検出し、前記検出された傾向に基づいて、前記第1のタイムアウト値を調整する
請求項1記載のインタフェースコントローラ。 - 前記調整手段は、前記複数のモニタ結果の最大の値を前記検出された傾向を表す値として取得し、前記第1のタイムアウト値を前記取得された最大の値に変更する請求項2記載のインタフェースコントローラ。
- 前記調整手段は、前記複数のモニタ結果の平均値を前記検出された傾向を表す値として取得し、前記第1のタイムアウト値を前記取得された平均値に変更する請求項2記載のインタフェースコントローラ。
- 前記少なくとも1つのモニタ結果は最新のモニタ結果であり、
前記調整手段は、前記第1のタイムアウト値と前記最新のモニタ結果との平均値を計算し、且つ前記第1タイムアウト値を前記計算された平均値に変更する請求項1記載のインタフェースコントローラ。 - 前記少なくとも1つのモニタ結果は最新のモニタ結果であり、
前記調整手段は、前記最新のモニタ結果が取得された場合、前記第1のタイムアウト値を所定の値だけ減じる請求項1記載のインタフェースコントローラ。 - 前記複数のホスト装置の各々に対応付けてタイムアウト値を保持するタイムアウト値保持手段をさらに具備し、
前記第1のタイマは、前記インタフェースコントローラが前記第1のホスト装置と接続された場合、前記第1のホスト装置に対応付けて前記タイムアウト値保持手段に保持されているタイムアウト値を前記第1のタイムアウト値として使用し、
前記調整手段は、前記第1タイムアウト値として使用された前記タイムアウト値保持手段に保持されているタイムアウト値を調整する
請求項1記載のインタフェースコントローラ。 - 前記第1の時点からの経過時間を計測し、前記計測された経過時間と前記第1のタイムアウト値よりも大きい第2のタイムアウトとに基づいて第2のタイムアウトを検出する第2のタイマと、
前記第1のタイムアウトまたは前記第2のタイムアウトの検出に応じて前記第1のホスト装置と前記インタフェースコントローラとの接続を切断する接続切断手段と
をさらに具備する請求項1記載のインタフェースコントローラ。 - 記憶手段と、
複数のホスト装置のうちの第1のホスト装置が所定のインタフェースバスを介して前記記憶手段にアクセスするために、前記第1のホスト装置によって送られる接続要求に応じて、前記第1のホスト装置との接続を制御するインタフェースコントローラとを具備し、
前記インタフェースコントローラは、
前記インタフェースコントローラが前記第1のホストと接続された第1の時点からの経過時間を計測し、前記計測された経過時間と第1のタイムアウト値とに基づいて第1のタイムアウトを検出する第1のタイマと、
前記第1の時点の後で且つ前記第1のタイムアウトの検出前に前記第1のホストからの最初のフレームが受信された第2の時点における前記計測された経過時間を示す値をモニタ結果として取得するモニタ結果取得手段と、
前記取得されたモニタ結果を保持するモニタ結果保持手段と、
前記モニタ結果保持手段に保持されている少なくとも1つのモニタ結果に基づいて、前記第1のタイムアウト値を調整する調整手段とを具備する
ストレージ装置。 - 複数のホスト装置から所定のインタフェースバスを介してアクセス可能なストレージ装置におけるタイムアウト値調整方法であって、
前記ストレージ装置と前記複数のホスト装置のうちの第1のホスト装置とが接続された第1の時点からの経過時間を計測し、
前記第1の時点から第1のタイムアウト値の示す時間が経過するまでに前記第1のホスト装置からの最初のフレームが受信されなかった場合、第1のタイムアウトを検出し、
前記第1の時点から前記第1のタイムアウト値の示す時間が経過する前の第2の時点に前記第1のホスト装置からの最初のフレームが受信された場合、前記第2の時点における前記計測された経過時間を示す値をモニタ結果として取得し、
前記取得されたモニタ結果をモニタ結果保持手段に保持し、
前記モニタ結果保持手段に保持されている少なくとも1つのモニタ結果に基づいて、前記第1のタイムアウト値を調整する
タイムアウト値調整方法。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2010278066A JP2012128560A (ja) | 2010-12-14 | 2010-12-14 | インタフェースコントローラ、ストレージ装置、及びタイムアウト調整方法 |
| US13/294,897 US20120151101A1 (en) | 2010-12-14 | 2011-11-11 | Interface controller, storage device, and timeout adjustment method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2010278066A JP2012128560A (ja) | 2010-12-14 | 2010-12-14 | インタフェースコントローラ、ストレージ装置、及びタイムアウト調整方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2012128560A true JP2012128560A (ja) | 2012-07-05 |
| JP2012128560A5 JP2012128560A5 (ja) | 2012-08-16 |
Family
ID=46200562
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2010278066A Pending JP2012128560A (ja) | 2010-12-14 | 2010-12-14 | インタフェースコントローラ、ストレージ装置、及びタイムアウト調整方法 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US20120151101A1 (ja) |
| JP (1) | JP2012128560A (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9280298B2 (en) | 2013-03-15 | 2016-03-08 | Kabushiki Kaisha Toshiba | Storage device and storage system |
| US9442657B2 (en) | 2014-06-05 | 2016-09-13 | Kabushiki Kaisha Toshiba | Memory system utilizing a connection condition of an interface to transmit data |
| US9619177B2 (en) | 2014-06-05 | 2017-04-11 | Kabushiki Kaisha Toshiba | Memory system including non-volatile memory, buffer memory, and controller controlling reading data from non-volatile memory |
| US9952945B2 (en) | 2013-03-22 | 2018-04-24 | Toshiba Memory Corporation | Electronic equipment including storage device |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9223658B2 (en) * | 2013-05-13 | 2015-12-29 | Lenovo (Singapore) Pte. Ltd. | Managing errors in a raid |
| US10671549B2 (en) | 2015-03-25 | 2020-06-02 | Toshiba Memory Corporation | Memory system |
| KR102728195B1 (ko) * | 2018-11-09 | 2024-11-08 | 삼성전자주식회사 | 호스트와 통신을 수행하는 전자 장치 및 그 동작 방법 |
| JP2021043801A (ja) * | 2019-09-12 | 2021-03-18 | 株式会社東芝 | 電子機器、電子機器システム、及び磁気ディスク装置 |
| US20220004337A1 (en) * | 2020-07-06 | 2022-01-06 | Micron Technology, Inc. | Command prioritization in a command queue |
| US20250328263A1 (en) * | 2024-04-19 | 2025-10-23 | Sandisk Technologies Llc | Session based storage device locking mechanism |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005050006A (ja) * | 2003-07-31 | 2005-02-24 | Hitachi Ltd | 記憶システム及びその動作最適化方法 |
| JP2009104410A (ja) * | 2007-10-23 | 2009-05-14 | Sony Corp | データ記録装置,データ記録装置の内部制御方法及びデータ記録システム |
-
2010
- 2010-12-14 JP JP2010278066A patent/JP2012128560A/ja active Pending
-
2011
- 2011-11-11 US US13/294,897 patent/US20120151101A1/en not_active Abandoned
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005050006A (ja) * | 2003-07-31 | 2005-02-24 | Hitachi Ltd | 記憶システム及びその動作最適化方法 |
| JP2009104410A (ja) * | 2007-10-23 | 2009-05-14 | Sony Corp | データ記録装置,データ記録装置の内部制御方法及びデータ記録システム |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9280298B2 (en) | 2013-03-15 | 2016-03-08 | Kabushiki Kaisha Toshiba | Storage device and storage system |
| US9952945B2 (en) | 2013-03-22 | 2018-04-24 | Toshiba Memory Corporation | Electronic equipment including storage device |
| US10387277B2 (en) | 2013-03-22 | 2019-08-20 | Toshiba Memory Corporation | Electronic equipment including storage device |
| US10761950B2 (en) | 2013-03-22 | 2020-09-01 | Toshiba Memory Corporation | Electronic equipment including storage device |
| US9442657B2 (en) | 2014-06-05 | 2016-09-13 | Kabushiki Kaisha Toshiba | Memory system utilizing a connection condition of an interface to transmit data |
| US9619177B2 (en) | 2014-06-05 | 2017-04-11 | Kabushiki Kaisha Toshiba | Memory system including non-volatile memory, buffer memory, and controller controlling reading data from non-volatile memory |
Also Published As
| Publication number | Publication date |
|---|---|
| US20120151101A1 (en) | 2012-06-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2012128560A (ja) | インタフェースコントローラ、ストレージ装置、及びタイムアウト調整方法 | |
| CN105573839B (zh) | 用于端口选择的基于成本的负载平衡的方法和装置 | |
| JP6995052B2 (ja) | モジュールバスとaxiバスの間のリクエストを変換するためのバスブリッジ | |
| JP5932146B2 (ja) | ピーシーアイエクスプレスのエンドポイントデバイスにアクセスするための方法、コンピューターシステム、および、装置 | |
| KR102498223B1 (ko) | Ufs 장치의 작동 방법, ufs 호스트의 작동 방법, 및 이들을 포함하는 시스템의 작동 방법 | |
| CN103677659B (zh) | 信息处理设备和复制控制方法 | |
| KR20120052158A (ko) | 결정론적 sas 검색 및 구성을 위한 방법 | |
| JP2014026529A (ja) | ストレージシステムおよびその制御方法 | |
| US9276879B2 (en) | Memory transfer optimization of network adapter data placement when performing header-data split operations | |
| CN103841169A (zh) | 远程复制方法和设备 | |
| US9081910B2 (en) | Methods and structure for fast context switching among a plurality of expanders in a serial attached SCSI domain | |
| CN110008152A (zh) | 存储控制器节点间数据传输方法、装置、设备及存储介质 | |
| CN112835519A (zh) | 一种数据读取方法、装置、电子设备及存储介质 | |
| CN105007307A (zh) | 一种存储控制方法和系统 | |
| JP5744650B2 (ja) | バスモニタ装置、バスモニタ方法、およびプログラム | |
| CN102111436B (zh) | 一种通过iSCSI访问存储设备的方法和一种存储设备 | |
| US8838839B2 (en) | Storage apparatus and command execution control method | |
| US9191335B2 (en) | Link rate availability based arbitration | |
| US11797233B2 (en) | Data relay device, relay control method, and storage system | |
| JP2010211322A (ja) | ネットワークプロセッサ、受信コントローラ、及びデータ受信処理方法 | |
| EP2220820B1 (en) | Usage of persistent information unit pacing protocol in fibre channel communications | |
| US20140244887A1 (en) | Data processing apparatus and control method | |
| KR101260313B1 (ko) | 전자장치 및 그 데이터 송수신방법과, 슬레이브 장치 및복수의 장치 간의 통신방법 | |
| US11294832B2 (en) | Systems and methods for queuing device management configuration requests | |
| JP2003323397A (ja) | インターフェース用ブリッジ装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120628 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120628 |
|
| A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20120628 |
|
| A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20120820 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120828 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20121218 |