JP2012118958A - Sasエクスパンダにおけるデータプリフェッチ - Google Patents

Sasエクスパンダにおけるデータプリフェッチ Download PDF

Info

Publication number
JP2012118958A
JP2012118958A JP2011046608A JP2011046608A JP2012118958A JP 2012118958 A JP2012118958 A JP 2012118958A JP 2011046608 A JP2011046608 A JP 2011046608A JP 2011046608 A JP2011046608 A JP 2011046608A JP 2012118958 A JP2012118958 A JP 2012118958A
Authority
JP
Japan
Prior art keywords
target
initiator
data
data block
prospective
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.)
Granted
Application number
JP2011046608A
Other languages
English (en)
Other versions
JP5480834B2 (ja
JP2012118958A5 (ja
Inventor
l romero Gabriel
ガブリエル・エル・ロメロ
g smith Frederick
フレデリック・ジー・スミス
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.)
LSI Corp
Original Assignee
LSI 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 LSI Corp filed Critical LSI Corp
Publication of JP2012118958A publication Critical patent/JP2012118958A/ja
Publication of JP2012118958A5 publication Critical patent/JP2012118958A5/ja
Application granted granted Critical
Publication of JP5480834B2 publication Critical patent/JP5480834B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/6022Using a prefetch buffer or dedicated prefetch cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0038System on Chip

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

【課題】ストレージシステムにおけるデータ読み出しを容易にする。
【解決手段】SASエクスパンダ110は、SASディスク等からなる宛先デバイス140と、ホストシステム等からなるイニシエータ120と接続され、イニシエータから宛先デバイスへのアクセスを処理する。SASエクスパンダ110のプロセッサ160は、ネクサスに関連付けられるデータアクセス情報を収集し、データプリフェッチが適しているか否かを判断する。プロセッサ160は、ネクサスの前回のデータ要求を利用して見込みデータブロックを特定する。プロセッサ160は、ターゲットに対し、見込みデータブロックのデータ要求を発行する。プロセッサ160は、データ読み出し内での今後の利用のために、見込みデータブロックをメモリ170内に格納する。
【選択図】図1

Description

本開示は、包括的にはシリアルアタッチド小型コンピュータシステムインターフェース(SAS)デバイスの分野に関し、より詳細には、SASエクスパンダを利用してデータプリフェッチを実行するためのデバイス、システム、及び方法に関する。
シリアルアタッチドSCSIにおいて、デバイスは、SASイニシエータ、SASターゲット、又はSASエクスパンダである。SASイニシエータは、デバイスサービス要求及びタスク管理要求を発信するデバイスである。SASターゲットは、SASターゲットからの要求を受信及び処理するデバイスである。SASエクスパンダは、単一のポートに対する複数のSASイニシエータ又はSASターゲット間の通信を容易にするのに利用されるデバイスである。SASトポロジにおいて、複数のSASエクスパンダがカスケード形式で互いに接続される場合がある。SASイニシエータ又はSASターゲットは、SASトポロジ内で該SASイニシエータ又はSASターゲットに対し複数の要求が発生する場合、他のタスクを実行するのにビジーである場合がある。
ストレージシステムにおけるデータ読み出しを容易にするための方法を提供する。該方法は、限定ではないが、イニシエータとターゲットとの間の接続に関連付けられるデータアクセス情報を収集するステップと、前記イニシエータと前記ターゲットとの間の前記接続が利用率閾値を超えているか否かを判断するステップであって、該判断は、前記イニシエータと前記ターゲットとの間の前記接続に関連付けられる前記データアクセス情報に基づいている、判断するステップと、前記イニシエータから前記ターゲットの少なくとも1つの第1のデータブロックの第1のデータ要求を受信するステップと、前記イニシエータと前記ターゲットとの間の前記接続が前記利用率閾値を超えていると判断すると、前記第1のデータ要求に基づいて、前記イニシエータからの今後のデータ要求内に含まれる、前記ターゲットの少なくとも1つの第2の見込みデータブロックを特定するステップと、前記ターゲットに対し、前記少なくとも1つの第2の見込みデータブロックの第2のデータ要求を発行するステップと、前記ターゲットから、前記少なくとも1つの第2の見込みデータブロックを受信するステップと、SASエクスパンダ内に前記ターゲットからの前記少なくとも1つの第2の見込みデータブロックを格納するステップとを含む。
本発明にかかるシステムは、限定ではないが、イニシエータとターゲットとの間の接続に関連付けられるデータアクセス情報を収集する手段と、前記イニシエータと前記ターゲットとの間の前記接続が利用率閾値を超えているか否かを判断する手段であって、該判断は、前記イニシエータと前記ターゲットとの間の前記接続に関連付けられる前記データアクセス情報に基づく、判断する手段と、前記イニシエータから前記ターゲットの少なくとも1つの第1のデータブロックの第1のデータ要求を受信する手段と、前記イニシエータと前記ターゲットとの間の前記接続が前記利用率閾値を超えていると判断すると、前記データ要求に基づいて、前記イニシエータからの今後のデータ要求内に含まれる、前記ターゲットの少なくとも1つの第2の見込みデータブロックを特定する手段と、前記ターゲットに対し、前記少なくとも1つの第2の見込みデータブロックの第2のデータ要求を発行する手段と、前記ターゲットから、前記少なくとも1つの第2の見込みデータブロックを受信する手段と、前記ターゲットからの前記少なくとも1つの第2の見込みデータブロックを格納する手段と、を備えている。
本発明にかかるSASエクスパンダデバイスは、限定ではないが、データ通信のイニシエータと通信可能に結合するための第1のポートと、データ通信のターゲットと通信可能に結合するための第2のポートと、データを格納するためのキャッシュメモリと、前記第1のポート、前記第2のポート、及び前記キャッシュメモリに通信可能に結合されたプロセッサであって、データ読み出しを容易にするための方法を実行するように構成される、プロセッサと、を備え、前記方法は、前記イニシエータと前記ターゲットとの間の接続に関連付けられるデータアクセス情報を収集するステップと、前記イニシエータと前記ターゲットとの間の前記接続が利用率閾値を超えているか否かを判断するステップであって、該判断は、前記イニシエータと前記ターゲットとの間の前記接続に関連付けられる前記データアクセス情報に基づく、判断するステップと、前記イニシエータから前記ターゲットの少なくとも1つの第1のデータブロックの第1のデータ要求を受信するステップと、前記イニシエータと前記ターゲットとの間の前記接続が前記利用率閾値を超えていると判断すると、前記第1のデータ要求に基づいて、前記イニシエータからの今後のデータ要求内に含まれる、前記ターゲットの少なくとも1つの第2の見込みデータブロックを特定するステップと、前記ターゲットに対し、前記少なくとも1つの第2の見込みデータブロックの第2のデータ要求を発行するステップと、前記ターゲットから、前記少なくとも1つの第2の見込みデータブロックを受信するステップと、前記キャッシュメモリ内に前記ターゲットからの前記少なくとも1つの第2の見込みデータブロックを格納するステップと、を含む。
上記の概説及び以下の詳細な説明は共に、例示的で説明的なものでしかなく、必ずしも本開示を限定するものではないことを理解されたい。本明細書に組み込まれ、その一部を成す添付の図面は、本開示の主題を説明する。詳細な説明及び図面は共に、本開示の原理を説明するのに役立つ。
添付の図面を参照することにより、当業者は本開示の多数の利点をより良く理解することができるであろう。
SASエクスパンダを利用するネットワークトポロジーを示すブロック図である。 データプリフェッチのためのコマンドシーケンスプロシージャを示すフロー図である。 ストレージシステムにおけるデータ読み出しを容易にするための方法を示すフロー図である。
これより、添付の図面を参照して、本発明主題を詳細に説明する。
本開示の例示的な実施形態による、シリアルアタッチド小型コンピュータシステムインターフェース(SAS)エクスパンダ(expander)を特徴とするSASネットワークが図1に示されている。ネットワーク100はSASエクスパンダ110を含むことができる。ネットワーク100は、データ通信のためにエクスパンダ110に接続された1又は複数のソースデバイス120を含むことができる。例えば、ソースデバイス120には、イニシエータ(例えばホストシステム、サーバーシステム)又は別のSASエクスパンダが含まれる場合がある。1又は複数のソースデバイス120は、エクスパンダ110のソースデバイスポート130を介してエクスパンダ110に接続することができる。ネットワーク100は、データ通信のためにエクスパンダ110に接続された1又は複数の宛先デバイス140を含むことができる。例えば、宛先デバイス140には、ターゲット(例えばSASディスク、SAS互換性ディスク、SASディスクアレイ、又はSATAディスクアレイ)又は別のSASエクスパンダが含まれる場合がある。1又は複数の宛先デバイス140は、エクスパンダ110の宛先デバイスポート150を介してエクスパンダ110に接続することができる。
エクスパンダ110は、エクスパンダ110の制御及び操作のためのプロセッサ160をさらに備えることができる。エクスパンダ110は、エクスパンダ110内のデータの格納のためにプロセッサ160に通信可能に結合されたメモリ170をさらに備えることができる。エクスパンダ110は、ソースデバイスポート130を介してエクスパンダ110に接続されたイニシエータと、宛先デバイスポート150を介してエクスパンダ110に接続されたターゲットとの間の接続を確立するように構成される。エクスパンダ110は、ソースデバイスポート130を介してエクスパンダ110に直接接続されたイニシエータ(例えばソースデバイス120)のための接続を確立することもできるし、ソースデバイスポート130を介してエクスパンダ110に接続された1又は複数のエクスパンダのネットワークを介してエクスパンダ110に接続されたイニシエータのための接続を確立することもできる。エクスパンダ110は、ソースデバイスポート130を介してエクスパンダ110に直接接続されたターゲット(例えば宛先デバイス140)との接続を確立することもできるし、宛先デバイスポート150を介してエクスパンダ110に接続された1又は複数のエクスパンダのネットワークを介してエクスパンダ110に接続されたターゲットとの接続を確立することもできる。ネットワーク100の特定のイニシエータ及びネットワーク100の特定のターゲットを含んで確立された接続は、ネクサス(nexus)と呼ばれる。図1に示すように、プロセッサ160及びメモリ170は、エクスパンダ110内で動作することができる。別の実施形態では、プロセッサ160及びメモリ170のうちの1又は複数が、ストレージシステムの一部としてエクスパンダ110の外部で動作することができる。
エクスパンダ110のプロセッサ160は、ネットワーク100の特定のネクサスに関連付けられるデータアクセス情報を収集することができる。リンク利用率情報は、単一のポート(例えば、ソースデバイスポート130又は宛先デバイスポート150のうちの一方)に関連付けられる情報を含むことができる。例えば、リンク利用率情報は、利用比率(例えば、リンクが確立されている時間に対する該リンクが利用されている時間の比率)、又は帯域幅要件(例えば、リンクを介するデータ転送率)の1又は複数を含むことができる。プロセッサ160は、特定のイニシエータ及び特定のターゲットについて確立された接続に関するリンク利用率情報の複数のセットを収集し、該リンク利用率情報を、ネクサス利用情報を提供するように適合することができる。ネクサス利用情報は、ネクサス利用比率(例えば、ネクサスが確立されている時間に対する該ネクサスが利用されている時間の比率)又はネクサス帯域幅要件(例えば、ネクサスを介するデータ転送率)のうちの1又は複数を含むことができる。プロセッサ160は、ネクサス利用情報を介して、ネットワーク100の特定のネクサスに関連付けられるデータアクセス情報を収集することができる。
ネットワーク100の特定のネクサスに関連付けられるデータアクセス情報は、エクスパンダ110によって実行される蓄積交換プロセスに関連付けられる情報をさらに含むことができる。蓄積交換(Store and Forward)プロセスにおいて、エクスパンダは、イニシエータからの接続を受容することができる。エクスパンダは、接続の所望のターゲットとの接続を確立する前に、イニシエータから送出されるフレームをバッファ記憶することができる。蓄積交換プロセスは、エクスパンダに、接続のペイロードサイズ(例えば、単一のフレーム内で転送されているデータ量)、接続のデータに関連付けられる1又は複数のタグ(例えば、単一の入力/出力の割り当てられた識別子)、接続に関連付けられる論理ブロックアドレス(LBA)、又は接続に関連付けられるコマンドの1又は複数を含むデータアクセス情報に対するアクセスを提供することができる。一実施例では、ホストがエクスパンダを介してドライブへの接続を開始することができる。別の実施例では、ドライブがエクスパンダを介してホストへの接続を開始することができる。蓄積交換データアクセス情報は、プロセッサ160によって収集され、ネットワーク100の特定のネクサスに関連付けられるデータアクセス情報を提供するように適合されることができる。プロセッサ160は、蓄積交換データアクセス情報を介して、ネットワーク100の特定のネクサスに関連付けられるデータアクセス情報を収集することができる。
プロセッサ160は、蓄積交換データアクセス情報又はリンク利用率情報のうちの1又は複数を、ネットワーク100の特定のネクサスの利用頻度に関連付けられる情報を提供するように適合することができる。さらに、プロセッサ160は、蓄積交換データアクセス情報又はリンク利用率情報のうちの1又は複数を、ネットワーク100の特定のネクサスを介して転送されるデータ量に関連付けられる情報を提供するように適合することができる。
プロセッサ160は、特定のネクサスに関連付けられる情報を利用して、データプリフェッチ動作がネットワーク100の特定のネクサスに適しているか否か(例えば、ネットワーク100の特定のネクサスが高い利用率を有するか否か)を判断することができる。利用率閾値は、特定のネクサスに関連付けられる1又は複数のタイプの情報を含むことができる。例えば、プロセッサ160は、ネットワーク100の特定のネクサスに関連付けられるデータアクセス情報が、利用率閾値を満たすか又は該利用閾値を超えるかを判断することができる。1つの実施例では、プロセッサ160は行列を利用して、特定のネクサスに関連付けられる情報が、利用率閾値を満たすか又は該利用閾値を超えるかを判断することができる。利用率閾値はプログラム可能とすることができる。さらに、利用閾値はユーザーにより設定可能とすることができる。
プロセッサ160は、データプリフェッチ動作のためのデータブロックを特定することができる。さらに、プロセッサ160は、データプリフェッチ動作がネットワーク100の特定のネクサスに適しているか否かを判断すると、データプリフェッチ動作のためのデータブロックを特定することができる。例えば、プロセッサ160は、ネクサスのデータ読み出し要求を受信することができる(例えば、データ読み出し要求はネクサスのイニシエータによって発行され、該データ読み出し要求はネクサスのターゲットに向けられる)。データ読み出し要求は、オリジナルデータセットのデータ読み出し要求である場合がある。プロセッサ160は、データ読み出し要求を受信する前に、データプリフェッチ動作が該データ読み出し要求に関連付けられるネクサスに適していることを判断することができる。別の実施形態では、プロセッサ160は、データ読み出し要求を受信した後に、データプリフェッチ動作が該データ読み出し要求に関連付けられるネクサスに適しているか否かを判断することができる。
プロセッサ160は、オリジナルデータセットに基づいてデータプリフェッチ動作のための見込みデータセットを特定することができる。例えば、プロセッサ160は、オリジナルデータセットに対する近接度に基づいて見込みデータセットを特定することができる(例えば、見込みデータセットはオリジナルデータセットのLBAに近接するLBA内に位置する)。別の実施例では、プロセッサ160は、オリジナルデータセットとのコンテンツ関連性に基づいて見込みデータセットを特定することができる(例えば、見込みデータセット及びオリジナルデータセットは共により大きなデータセットの一部である)。別の実施例では、プロセッサ160は、オリジナルデータセットとの時間的関連性に基づいて見込みデータセットを特定することができる(例えば、見込みデータセットの前回のデータ読み出し要求は、オリジナルデータセットの前回のデータセット要求の後に発行されている)。別の実施例では、プロセッサ160は上記の要因又は関連性(例えば、近接度関連性、コンテンツ関連性、及び時間的関連性)のうちの1又は複数に基づいて見込みデータセットを特定することができる。
見込みデータセットを特定すると、プロセッサ160は、ネクサスのイニシエータから見込みデータセットのデータ読み出し要求を受信する前に、ネクサスのターゲットに対し見込みデータセットのデータ読み出し要求を発行することができる。例えば、プロセッサ160は、見込みデータセットをオリジナルデータセットと組み合わせて1又は複数のデータ読み出し要求を発行することができる。別の実施例(図示せず)では、プロセッサ160は見込みデータセット及びオリジナルデータセットについて別個のデータ読み出し要求を発行することができる。プロセッサ160が見込みデータセット及びオリジナルデータセットについて別個のデータ読み出し要求を発行することができる実施例では、プロセッサ160は、オリジナルデータセットのデータ読み出し要求を発行した後に見込みデータセットのデータ読み出し要求を発行することができる。さらに、プロセッサ160は、データ読み出し要求のターゲット(例えばネクサスのターゲット)のアクティビティが低下した(例えばターゲットがアイドリング状態である)ときに、見込みデータセットのデータ読み出し要求を発行することができる。プロセッサ160は、ネクサスのターゲットから見込みデータセットを受信すると、エクスパンダ110のメモリ170内に見込みデータセットを格納することができる。本明細書において、見込みデータセットをプリフェッチするとは、ネクサスのイニシエータから見込みデータセットのデータ読み出し要求を受信する前に、ネクサスのターゲットに対し見込みデータセットのデータ読み出し要求を発行することを指している。本明細書において、見込みデータセットのプリフェッチキャッシングとは、ネクサスのイニシエータから見込みデータセットのデータ読み出し要求を受信する前に、メモリ170内に見込みデータセットを格納することを指している。
プロセッサ160は、ネクサスのイニシエータから見込みデータセットのデータ読み出し要求を受信すると、該ネクサスのイニシエータに対し見込みデータセットを発行することができる。別の実施例では、メモリ170内に格納されている見込みデータセットを利用して、ネクサスのイニシエータ以外のイニシエータに対し、データ読み出し要求に応じることができる。さらに、プロセッサ160は、メモリ170内に格納されている見込みデータセットが有効であると判断すると、エクスパンダ110のメモリ170から、イニシエータに対し見込みデータセットを発行することができる。例えば、エクスパンダ110はネクサスのターゲットに直接取り付けることができるため、プロセッサ160は、ネクサスのターゲットに対するデータ通信をモニタリングし、該ネクサスのターゲット内の見込みデータセットのLBA内に格納されているデータが、メモリ170内に格納されている見込みデータセットと同一であるか否かを判断することができる。プロセッサ160は、メモリ170内に格納されている見込みデータセットが無効であると判断すると、メモリ170内に格納されている見込みデータセットを更新することができる。例えば、プロセッサ160は、ネクサスのターゲットに対するデータ読み出し要求の発行を介して、メモリ170内に格納されている見込みデータセットを更新することができる。別の実施例では、プロセッサ160は、エクスパンダ110を介してネクサスのターゲットに書き込まれているデータを利用して、メモリ170内に格納されている見込みデータセットを更新することができる。別の実施形態では、プロセッサ160は、メモリ170から無効な見込みデータセットを取り除き、見込みデータセットのデータ読み出し要求が、データプリフェッチングの利益を伴わずに動作することを許可する。
プロセッサ160は、ネクサスのターゲットがビジーであると判断すると、メモリ170から、イニシエータに対し見込みデータセットを発行することができる。別の実施形態では、プロセッサ160は、ネクサスのターゲットがビジーであるか否かに関わらず、メモリ170から、イニシエータに対する見込みデータセットを発行することができる。エクスパンダ110は、メモリ170から、イニシエータに対する見込みデータセットを発行するために、ネクサスのターゲットの代わりにデータ読み出し要求を受け取ることができる。
図2を参照すると、データプリフェッチのためのコマンドシーケンスプロシージャ200を示すフロー図が示されている。プロシージャ200は、図1において説明されるようなシステム(例えばホスト202(例えばネクサスのイニシエータ)、エクスパンダ204、及びドライブ206(例えばネクサスのターゲット)を含むシステム)において実行することができる。プロシージャ200は、ドライブ206のLBAのセット(例えば、図2に示すLBA1、2、及び3)内のデータのデータ読み出し要求を示しているステップ210を含むことができる。エクスパンダ204のプロセッサ(例えばプロセッサ160)は、ホスト202とドライブ206の間のネクサスがデータプリフェッチの対象であることを確定することができる。さらに、プロセッサ(例えばプロセッサ160)は、ステップ210のデータ読み出し要求を受信する前に、ホスト202とドライブ206との間のネクサスがデータプリフェッチの対象であることを確定することができる。別の実施例では、プロセッサ(例えばプロセッサ160)は、ステップ210のデータ読み出し要求を受信した後に、ホスト202とドライブ206との間のネクサスがデータプリフェッチの対象であることを確定することができる。
図2に示すように、エクスパンダ204は、(例えばプロセッサ160を介して)オリジナルデータセットに基づいて見込みデータセットを特定する(例えばLBA4及び5内のデータは、LBA1、2、及び3内のデータに基づいて特定される)。その結果、ステップ220に示すように、エクスパンダ204は、ドライブ206(例えばネクサスのターゲット)に対し、オリジナルデータセット及び見込みデータセット双方の単一のデータ読み出し要求(例えばLBA1、2、3、4、及び5内のデータ)を発行する。ドライブは、データ読み出し要求に応答して、LBA1〜5内に格納されているデータを読み出すことができる。例えば、ステップ220に示すように、ドライブ206はLBA1のシーク命令及びLBA5までの順次読み出しを実行することができる。オリジナルデータセット及び見込みデータセットの双方を読み出すための他の方法が本開示によって検討される。
別の実施形態では、エクスパンダ204は、ドライブ206に対し、オリジナルデータセット及び見込みデータセットについての別個のデータ読み出し要求(図示せず)を発行することができる。特定の実施形態において、エクスパンダ204はドライブ206のアクティビティが低下したとき(例えばドライブ206がアイドルであるとき)に、ドライブ206に対しデータ読み出し要求を発行することができる。
プロシージャ200は、ドライブ206がLBA1〜5内のデータをエクスパンダ204に返すことを表すステップ230をさらに含むことができる。エクスパンダ204は、ドライブ206からデータを受信すると、プリフェッチキャッシュ内に見込みデータセットを格納することができる。例えば、プロセッサ160は、ドライブ206のLBA4及び5からのデータをメモリ170内に格納することができる。
プロシージャ200は、エクスパンダ204がオリジナルデータ読み出し要求のオリジナルデータセットをホスト(例えばネクサスのイニシエータ)に返すことを表すステップ240をさらに含むことができる。例えば、プロセッサ160は、要求データをLBA1〜3から発行元ホストに返すことができる。ホスト202は該要求データを利用することができる。
プロシージャ200は、ホスト202がドライブ206から見込みデータブロックのうちの1又は複数を要求することを表すステップ250をさらに含むことができる。例えば、図2に示すように、ホスト202は、エクスパンダ204に対し、ドライブ206のLBA4内のデータのデータ読み出し要求を発行することができる。エクスパンダ204は、メモリ170内に格納されているデータが有効である(例えばメモリ170内のデータがドライブ206内の対応するデータと同一である)と判断すると、ドライブ206の代わりにデータ読み出し要求を受け取ることができる。
プロシージャ200は、エクスパンダ204がホスト202に対し、メモリ170から1又は複数の見込みデータブロックを返すことを示しているステップ260を含むことができる。エクスパンダ204は、メモリ170内に格納されている1又は複数の見込みデータブロックが有効であることを検証すると、ホスト202に対し、メモリ170から1又は複数の見込みデータブロックを返すことができる。エクスパンダ204は、見込みデータブロックの1又は複数のデータ読み出し要求を受信した後に、メモリ170内に格納されているデータが有効であることを検証することができる。別の実施例では、エクスパンダ204は、見込みデータブロックをメモリ170内に格納した後に、ドライブ206に書き込まれたデータのモニタリングを介して、メモリ170内に格納されているデータが有効であることを検証することができる。ホスト202は、エクスパンダ204から1又は複数の見込みデータブロックを受信すると、該1又は複数の見込みデータブロックを利用することができる。
図3を参照すると、ストレージシステムにおけるデータ読み出しを容易にするための方法が示されている。該方法300は、イニシエータ(例えばホスト202)とターゲット(例えばドライブ206)との間の接続に関連付けられるデータアクセス情報を収集するステップ305を含む。例えば、エクスパンダ110のプロセッサ160は、ネットワーク100の特定のネクサスに関連付けられるデータアクセス情報を収集することができる。方法300は、イニシエータ(例えばホスト202)とターゲット(例えばドライブ206)との間の接続が利用率閾値を超えているか否かを判断するステップ310をさらに含む。例えば、プロセッサ160は、特定のネクサスに関連付けられる情報を利用して、データプリフェッチ動作がネットワーク100の特定のネクサスに適しているか否かを判断することができる。
方法300は、イニシエータから、ターゲットの少なくとも1つの第1のデータブロックの第1のデータ要求を受信するステップ315をさらに含む。例えば、プロセッサ160は、ネクサスのデータ読み出し要求を受信することができる(例えばデータ読み出し要求は、ネクサスのイニシエータ(例えばホスト202)によって発行され、該データ読み出し要求はネクサスのターゲット(例えばドライブ206)に向けられる)。データ読み出し要求はオリジナルデータセットのデータ読み出し要求とすることができる。方法300は、イニシエータとターゲットとの間の接続が利用率閾値を超えていると判断すると、第1のデータ要求に基づいて、イニシエータからの今後のデータ要求内に含まれる、ターゲットの少なくとも1つの第2の見込みデータブロックを特定するステップ320をさらに含む。例えば、プロセッサ160は、データプリフェッチ動作がネットワーク100の特定のネクサスに適していると判断すると、データプリフェッチ動作のためのデータブロックを特定することができる。
方法300は、ターゲットに対し、少なくとも1つの第2の見込みデータブロックの第2のデータ要求を発行するステップ325をさらに含む。例えば、プロセッサ160は、ネクサスのイニシエータから、見込みデータセットのデータ読み出し要求を受信する前に、ネクサスのターゲットに対し、該見込みデータセットのデータ読み出し要求を発行することができる。方法300は、ターゲットから、少なくとも1つの第2の見込みデータブロックを受信するステップ330をさらに含む。例えば、プロセッサ160はネクサスのターゲットから見込みデータセットを受信することができる。
方法300は、SASエクスパンダ内に、ターゲットからの、少なくとも1つの第2の見込みデータブロックを格納するステップ335をさらに含む。例えば、プロセッサ160は、ネクサスのターゲットから見込みデータセットを受信すると、エクスパンダ110のメモリ170内に該見込みデータセットを格納することができる。方法300は、イニシエータから、ターゲットからの少なくとも1つの第2の見込みデータブロックのうちの少なくとも1つの第3のデータ要求を受信するステップ340をさらに含む。例えば、プロセッサ160は、ネクサスのイニシエータから、見込みデータセットのデータ読み出し要求を受信することができる。
方法300は、SASエクスパンダ内に格納されている少なくとも1つの第2の見込みデータブロックの少なくとも1つが有効であるか否かを判断するステップ345をさらに含む。例えば、プロセッサ160は、ネクサスのターゲットに対するデータ通信をモニタリングし、ネクサスのターゲット内の見込みデータセットのLBAに格納されているデータが、メモリ170に格納されている見込みデータセットと同一であるか否かを判断することができる。方法300は、少なくとも1つの第2の見込みデータブロックのうちの少なくとも1つが有効であると判断すると、イニシエータに対し該少なくとも1つの第2の見込みデータブロックのうちの少なくとも1つを送信するステップ350をさらに含む。例えば、プロセッサ160は、メモリ170内に格納されている見込みデータセットが有効であると判断すると、イニシエータに対し、エクスパンダ110のメモリ170から該見込みデータセットを発行することができる。
方法300は、SASエクスパンダ内の少なくとも1つの第2の見込みデータブロックが無効であると判断すると、SASエクスパンダ内に格納されている該少なくとも1つの第2の見込みデータブロックを更新するステップ355をさらに含むことができる。例えば、プロセッサ160は、メモリ170内に格納されている見込みデータセットが無効であると判断すると、メモリ170内に格納されている該見込みデータセットを更新することができる。
本明細書では、開示されている方法を、デバイスによって読み出し可能は命令セット又はソフトウェア又はファームウェアとして実装することができる。そのようなソフトウェアは、本発明の開示されている機能及びプロセスを実行するプロセッサをプログラムするのに使用される格納されているコンピュータコードを含む、コンピュータ可読記憶媒体を用いるプログラム製品を含むことができる。コンピュータ可読媒体は、限定ではないが、フロッピーディスク、光ディスク、CD−ROM、磁気ディスク、ハードディスクドライブ、光磁気ディスク、ROM、RAM、EPROM、EEPROM、磁気カード若しくは光カード、又は電子命令を格納するための任意の他の適切な媒体を含むことができる。さらに、開示されている方法におけるステップの特定の順序又は階層は、例示的な手法の例であることが理解される。設計嗜好に基づいて、本方法におけるステップの特定の順序又は階層を、開示されている主題の範囲内にとどまりながら再構成することができることが理解される。添付の方法クレームは、サンプル順序で様々なステップの要素を提示するが、提示される特定の順序又は階層に限定することは必ずしも意図するものではない。
本開示及びその付随する利点は、上記の説明によって理解されると考えられ、開示されている主題から逸脱することも、その物質的な利点の全てを犠牲にすることもなく、構成要素の形式、構造、及び配置において様々な変更を行うことができることは明らかであろう。説明された形式は例示的なものに過ぎず、以下の特許請求の範囲は、そのような変更を包含し含むことが意図される。

Claims (20)

  1. シリアルアタッチド小型コンピュータシステムインターフェース(SAS)エクスパンダを含むストレージシステムにおけるデータ読み出しを実行するための方法であって、
    イニシエータとターゲットとの間の接続に関連付けられたデータアクセス情報を収集するステップと、
    前記イニシエータと前記ターゲットとの間の前記接続が利用率閾値を超えているか否かを判断するステップであって、該判断は、前記イニシエータと前記ターゲットとの間の前記接続に関連付けられた前記データアクセス情報に基づいて実行される、判断ステップと、
    前記イニシエータから前記ターゲットの少なくとも1つのデータブロックのデータ要求を受信するステップと、
    前記イニシエータと前記ターゲットとの間の前記接続が前記利用率閾値を超えていると判断すると、前記データ要求に基づいて、前記イニシエータからの今後のデータ要求内に含まれる、前記ターゲットの少なくとも1つの見込みデータブロックを特定するステップと、
    前記ターゲットに対し、前記少なくとも1つの見込みデータブロックのデータ要求を発行するステップと、
    前記ターゲットから、前記少なくとも1つの見込みデータブロックを受信するステップと、
    前記SASエクスパンダ内に前記ターゲットからの前記少なくとも1つの見込みデータブロックを格納するステップと
    を含むことを特徴とする方法。
  2. 請求項1記載の方法において、該方法はさらに、
    前記イニシエータから、前記ターゲットからの前記少なくとも1つの見込みデータブロックのデータ要求を受信するステップと、
    前記SASエクスパンダ内に格納されている前記少なくとも1つの見込みデータブロックが有効であるか否かを判断するステップと、
    前記少なくとも1つの第2の見込みデータブロックが有効であると判断すると、前記イニシエータに対し該少なくとも1つの見込みデータブロックを送信するステップと
    を含むことを特徴とする方法。
  3. 請求項1記載の方法において、前記イニシエータと前記ターゲットとの間の前記接続に関連付けられる前記情報を収集するステップは、
    前記イニシエータと前記ターゲットとの間の前記接続の利用頻度、又は前記イニシエータと前記ターゲットとの間の前記接続を介して転送されるデータ量のうちの少なくとも一方に関連付けられる情報を収集するステップ
    を含むことを特徴とする方法。
  4. 請求項1記載の方法において、前記イニシエータと前記ターゲットとの間の前記接続に関連付けられる前記情報は、
    前記エクスパンダの蓄積交換プロセスを介して収集される情報
    を含むことを特徴とする方法。
  5. 請求項4記載の方法において、前記エクスパンダの前記蓄積交換プロセスを介して収集される前記情報は、
    前記イニシエータと前記ターゲットとの間の前記接続を介して送信される、ペイロードサイズ情報、タグ情報、論理ブロックアドレス情報、又はコマンドの識別情報
    を含むことを特徴とする方法。
  6. 請求項1記載の方法において、前記利用率閾値は、
    ユーザーにより設定可能な利用率閾値及びプログラム可能な利用率閾値のうちの少なくとも一方
    を含むことを特徴とする方法。
  7. 請求項1記載の方法において、前記イニシエータと前記ターゲットとの間の前記接続が前記利用率閾値を超えていると判断すると、前記データ要求に基づいて、前記イニシエータからの今後のデータ要求内に含まれる、前記ターゲットの前記少なくとも1つの見込みデータブロックを特定するステップは、
    要求されたデータブロックの先行するシーケンスに基づいて前記ターゲットの前記少なくとも1つの見込みデータブロックを特定するステップ
    を含むことを特徴とする方法。
  8. 請求項1記載の方法において、前記イニシエータと前記ターゲットとの間の前記接続が前記利用率閾値を超えていると判断すると、前記データ要求に基づいて、前記イニシエータからの今後のデータ要求内に含まれる、前記ターゲットの前記少なくとも1つの見込みデータブロックを特定するステップは、
    前記少なくとも1つのデータブロックに対する論理ブロックアドレス近接度に基づいて前記少なくとも1つの見込みデータブロックを特定するステップ
    を含むことを特徴とする方法。
  9. 請求項1記載の方法において、前記イニシエータと前記ターゲットとの間の前記接続が前記利用率閾値を超えていると判断すると、前記データ要求に基づいて、前記イニシエータからの今後のデータ要求内に含まれる、前記ターゲットの前記少なくとも1つの見込みデータブロックを特定するステップは、
    前記少なくとも1つのデータブロックとのコンテンツ関連性に基づいて前記少なくとも1つの見込みデータブロックを特定するステップ
    を含むことを特徴とする方法。
  10. 請求項1記載の方法において、前記ターゲットに対し、前記少なくとも1つの見込みデータブロックのデータ要求を発行するステップは、
    前記少なくとも1つのデータブロック及び前記少なくとも1つの見込みデータブロックの双方を組み込んだ少なくとも1つのデータ要求を発行するステップ
    を含むことを特徴とする方法。
  11. 請求項1記載の方法において、前記ターゲットに対し、前記少なくとも1つの見込みデータブロックのデータ要求を発行するステップとは、
    前記少なくとも1つのデータブロックの少なくとも1つのデータ要求及び前記少なくとも1つの見込みデータブロックの少なくとも1つのデータ要求を発行するステップ
    を含むことを特徴とする方法。
  12. 請求項1記載の方法において、該方法はさらに、
    前記SASエクスパンダ内の前記少なくとも1つの見込みデータブロックが無効であると判断すると、前記SASエクスパンダ内に格納されている前記少なくとも1つの見込みデータブロックを更新するステップ
    を含むことを特徴とする方法。
  13. システムであって、
    イニシエータとターゲットとの間の接続に関連付けられるデータアクセス情報を収集する手段と、
    前記イニシエータと前記ターゲットとの間の前記接続が利用率閾値を超えているか否かを判断する手段であって、該判断は、前記イニシエータと前記ターゲットとの間の前記接続に関連付けられる前記データアクセス情報に基づいている、判断手段と、
    前記イニシエータから前記ターゲットの少なくとも1つのデータブロックのデータ要求を受信する手段と、
    前記イニシエータと前記ターゲットとの間の前記接続が前記利用率閾値を超えていると判断すると、前記データ要求に基づいて、前記イニシエータからの今後のデータ要求内に含まれる、前記ターゲットの少なくとも1つの見込みデータブロックを特定する手段と、
    前記ターゲットに対し、前記少なくとも1つの見込みデータブロックのデータ要求を発行する手段と、
    前記ターゲットから、前記少なくとも1つの見込みデータブロックを受信する手段と、
    前記ターゲットからの前記少なくとも1つの見込みデータブロックを格納する手段と
    を備えることを特徴とするシステム。
  14. 請求項13記載のシステムにおいて、該システムはさらに、
    前記イニシエータから、前記ターゲットからの前記少なくとも1つの見込みデータブロックのデータ要求を受信する手段と、
    前記少なくとも1つの格納されている見込みデータブロックが有効であるか否かを判断する手段と、
    前記少なくとも1つの格納されている見込みデータブロックが有効であると判断すると、前記イニシエータに対し該少なくとも1つの格納されている見込みデータブロックを送信する手段と、
    を備えることを特徴とするシステム。
  15. 請求項13記載のシステムにおいて、前記イニシエータと前記ターゲットとの間の前記接続に関連付けられる前記情報を収集する手段は、
    前記イニシエータと前記ターゲットとの間の前記接続の利用頻度、又は前記イニシエータと前記ターゲットとの間の前記接続を介して転送されるデータ量のうちの少なくとも一方に関連付けられる情報を収集する手段
    を含むことを特徴とするシステム。
  16. 請求項13記載のシステムにおいて、前記イニシエータと前記ターゲットとの間の前記接続に関連付けられる前記情報は、
    前記イニシエータと前記ターゲットとの間の前記接続を介して送信される、ペイロードサイズ情報、タグ情報、論理ブロックアドレス情報、又はコマンドの識別情報
    を含むことを特徴とするシステム。
  17. 請求項13記載のシステムにおいて、該システムはさらに、
    前記SASエクスパンダ内の少なくとも1つの別の見込みデータブロックが無効であると判断すると、該SASエクスパンダ内に格納されている該少なくとも1つの別の見込みデータブロックを更新する手段
    を備えることを特徴とするシステム。
  18. シリアルアタッチド小型コンピュータシステムインターフェース(SAS)エクスパンダデバイスであって、
    データ通信のイニシエータと通信可能に結合するための第1のポートと、
    データ通信のターゲットと通信可能に結合するための第2のポートと、
    データを格納するためのキャッシュメモリと、
    前記第1のポート、前記第2のポート、及び前記キャッシュメモリに通信可能に結合されたプロセッサであって、データ読み出しを容易にするための方法を実行するように構成される、プロセッサと、
    を備え、前記方法は、
    前記イニシエータと前記ターゲットとの間の接続に関連付けられるデータアクセス情報を収集するステップであって、該データアクセス情報は、前記イニシエータと前記ターゲットとの間の前記接続の利用頻度、前記イニシエータと前記ターゲットとの間の前記接続を介して転送されるデータ量、並びに前記イニシエータと前記ターゲットとの間の前記接続を介して送信される、ペイロードサイズ情報、タグ情報、論理ブロックアドレス情報、及びコマンドの識別情報のうちの少なくとも1つを含む、データアクセス情報を収集するステップと、
    前記イニシエータと前記ターゲットとの間の前記接続が利用率閾値を超えているか否かを判断するステップであって、該判断は、前記イニシエータと前記ターゲットとの間の前記接続に関連付けられる前記データアクセス情報に基づく、判断するステップと、
    前記イニシエータから前記ターゲットの少なくとも1つのデータブロックのデータ要求を受信するステップと、
    前記イニシエータと前記ターゲットとの間の前記接続が前記利用率閾値を超えていると判断すると、前記データ要求に基づいて、前記イニシエータからの今後のデータ要求内に含まれる、前記ターゲットの少なくとも1つの見込みデータブロックを特定するステップと、
    前記ターゲットに対し、前記少なくとも1つの見込みデータブロックのデータ要求を発行するステップと、
    前記ターゲットから、前記少なくとも1つの見込みデータブロックを受信するステップと、
    前記キャッシュメモリ内に前記ターゲットからの前記少なくとも1つの見込みデータブロックを格納するステップと、
    前記イニシエータから、前記少なくとも1つの格納されている見込みデータブロックのデータ要求を受信するステップと、
    該SASエクスパンダ内に格納されている前記少なくとも1つの格納されている見込みデータブロックが有効であるか否かを判断するステップと、
    前記少なくとも1つの格納されている見込みデータブロックが有効であると判断すると、前記イニシエータに対し、前記キャッシュメモリから前記少なくとも1つの見込みデータブロックのうちの該少なくとも1つを送信するステップと、
    該SASエクスパンダ内に格納されている前記少なくとも1つの格納されている見込みデータブロックが無効であると判断すると、該少なくとも1つの格納されている見込みデータブロックを更新するステップと
    を含むことを特徴とするSASエクスパンダデバイス。
  19. 請求項18記載のSASエクスパンダデバイスにおいて、前記イニシエータと前記ターゲットとの間の前記接続が前記利用率閾値を超えていると判断すると、前記データ要求に基づいて、前記イニシエータからの今後のデータ要求内に含まれる、前記ターゲットの少なくとも1つの見込みデータブロックを特定するステップは、
    要求されたデータブロックの先行するシーケンスに基づいて前記ターゲットの前記少なくとも1つの見込みデータブロックを特定するステップ
    を含むことを特徴とするSASエクスパンダデバイス。
  20. 請求項20記載のSASエクスパンダデバイスにおいて、前記イニシエータと前記ターゲットとの間の前記接続が前記利用率閾値を超えていると判断すると、前記データ要求に基づいて、前記イニシエータからの今後のデータ要求内に含まれる、前記ターゲットの少なくとも1つの見込みデータブロックを特定するステップは、
    前記少なくとも1つのデータブロックに対する論理ブロックアドレス近接度に基づいて前記少なくとも1つの見込みデータブロックを特定するステップ
    を含むことを特徴とするSASエクスパンダデバイス。
JP2011046608A 2010-12-03 2011-03-03 Sasエクスパンダにおけるデータプリフェッチ Expired - Fee Related JP5480834B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/960,118 2010-12-03
US12/960,118 US8566496B2 (en) 2010-12-03 2010-12-03 Data prefetch in SAS expanders

Publications (3)

Publication Number Publication Date
JP2012118958A true JP2012118958A (ja) 2012-06-21
JP2012118958A5 JP2012118958A5 (ja) 2013-09-19
JP5480834B2 JP5480834B2 (ja) 2014-04-23

Family

ID=45747082

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011046608A Expired - Fee Related JP5480834B2 (ja) 2010-12-03 2011-03-03 Sasエクスパンダにおけるデータプリフェッチ

Country Status (6)

Country Link
US (1) US8566496B2 (ja)
EP (1) EP2461245A3 (ja)
JP (1) JP5480834B2 (ja)
KR (1) KR101378270B1 (ja)
CN (1) CN102486752B (ja)
TW (1) TWI444833B (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8626981B1 (en) * 2011-03-24 2014-01-07 Maxim Integrated Products, Inc. SAS expander with non-blocking virtual PHY architecture
US8689044B2 (en) * 2011-11-16 2014-04-01 Hewlett-Packard Development Company, L.P. SAS host controller cache tracking
US8694826B2 (en) * 2012-02-29 2014-04-08 Hewlett-Packard Development Company, L.P. SAS host cache control
US8898506B2 (en) 2012-07-25 2014-11-25 Lsi Corporation Methods and structure for hardware serial advanced technology attachment (SATA) error recovery in a serial attached SCSI (SAS) expander
US8589607B1 (en) 2012-08-07 2013-11-19 Lsi Corporation Methods and structure for hardware management of serial advanced technology attachment (SATA) DMA non-zero offsets in a serial attached SCSI (SAS) expander
US8782292B2 (en) 2012-10-31 2014-07-15 Lsi Corporation Methods and structure for performing a rebuild of a logical volume with a serial attached SCSI expander
US8904108B2 (en) 2012-10-31 2014-12-02 Lsi Corporation Methods and structure establishing nested Redundant Array of Independent Disks volumes with an expander
US8904119B2 (en) 2012-10-31 2014-12-02 Lsi Corporation Method and structures for performing a migration of a logical volume with a serial attached SCSI expander
US9135198B2 (en) 2012-10-31 2015-09-15 Avago Technologies General Ip (Singapore) Pte Ltd Methods and structure for serial attached SCSI expanders that self-configure by setting routing attributes of their ports based on SMP requests
US8756345B2 (en) 2012-10-31 2014-06-17 Lsi Corporation Methods and structure for managing protection information with a serial attached SCSI expander
US9026706B2 (en) 2012-12-14 2015-05-05 Lsi Corporation Method and system for detecting multiple expanders in an SAS topology having the same address
US8990448B2 (en) 2013-03-08 2015-03-24 Lsi Corporation Smart discovery model in a serial attached small computer system topology
US20140297910A1 (en) * 2013-03-29 2014-10-02 Hewlett-Packard Development Company, L.P. Sas expander
US20150363346A1 (en) * 2013-04-02 2015-12-17 Hewlett-Packard Development Company, L.P. Sata initiator addressing and storage device slicing
WO2015126420A1 (en) * 2014-02-24 2015-08-27 Hewlett-Packard Development Company, L.P. Sas zone configuration management
CN104601711A (zh) * 2015-01-27 2015-05-06 曙光云计算技术有限公司 用于云服务器的基于fpga的数据存储方法和系统
US11289137B2 (en) * 2017-11-16 2022-03-29 Micron Technology, Inc. Multi-port storage-class memory interface
US10990307B2 (en) * 2018-07-27 2021-04-27 Broadcom International Pte. Ltd. System and method for providing a configurable storage media interface

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1016115A (ja) * 1996-07-08 1998-01-20 Mitsui Petrochem Ind Ltd 透湿性シート
JP2000076017A (ja) * 1998-08-31 2000-03-14 Nec Corp 磁気ディスク制御装置
US20030221039A1 (en) * 2002-05-22 2003-11-27 International Business Machines Corporation Data caching on bridge following disconnect
JP2006331252A (ja) * 2005-05-30 2006-12-07 Matsushita Electric Ind Co Ltd バスブリッジ装置
JP2010092285A (ja) * 2008-10-08 2010-04-22 Hitachi Ltd ストレージシステム

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55118168A (en) * 1979-03-02 1980-09-10 Hitachi Ltd Memory reading control system
JPS615358A (ja) * 1984-06-07 1986-01-11 Fujitsu Ltd デ−タ処理装置
JPS61221966A (ja) * 1985-03-28 1986-10-02 Nec Corp ベクトル命令処理装置
US4878219A (en) * 1988-04-28 1989-10-31 Digital Equipment Corporation Method and apparatus for nodes in network to avoid shrinkage of an interframe gap
JPH02127742A (ja) * 1988-11-07 1990-05-16 Nec Corp 空き領域検索方式
SE469402B (sv) * 1991-05-02 1993-06-28 Swedish Inst Of Computer Scien Foerfarande foer att haemta data till ett cache-minne
US5634025A (en) * 1993-12-09 1997-05-27 International Business Machines Corporation Method and system for efficiently fetching variable-width instructions in a data processing system having multiple prefetch units
US5881254A (en) * 1996-06-28 1999-03-09 Lsi Logic Corporation Inter-bus bridge circuit with integrated memory port
US6138192A (en) * 1996-12-31 2000-10-24 Compaq Computer Corporation Delivering a request to write or read data before delivering an earlier write request
US6298407B1 (en) * 1998-03-04 2001-10-02 Intel Corporation Trigger points for performance optimization in bus-to-bus bridges
FI105749B (fi) * 1998-06-12 2000-09-29 Ericsson Telefon Ab L M Dataverkkoliikennöinti
US6286074B1 (en) * 1999-03-24 2001-09-04 International Business Machines Corporation Method and system for reading prefetched data across a bridge system
US6636927B1 (en) * 1999-09-24 2003-10-21 Adaptec, Inc. Bridge device for transferring data using master-specific prefetch sizes
US6678782B1 (en) * 2000-06-27 2004-01-13 International Business Machines Corporation Flow architecture for remote high-speed interface application
US6820161B1 (en) * 2000-09-28 2004-11-16 International Business Machines Corporation Mechanism for allowing PCI-PCI bridges to cache data without any coherency side effects
KR100649300B1 (ko) * 2000-11-07 2006-11-24 주식회사 케이티 통신 시스템에서의 적응적인 데이터 전송 방법 및 그 장치
US7047327B1 (en) * 2000-12-20 2006-05-16 Adaptec, Inc. Method and structure for supporting flow control by a SCSI initiator during the data out phase of the packetized SCSI protocol
US6721870B1 (en) 2001-06-12 2004-04-13 Emc Corporation Prefetch algorithm for short sequences
US6792496B2 (en) * 2001-08-02 2004-09-14 Intel Corporation Prefetching data for peripheral component interconnect devices
US6578130B2 (en) * 2001-10-18 2003-06-10 International Business Machines Corporation Programmable data prefetch pacing
US7089369B2 (en) * 2003-03-31 2006-08-08 Sun Microsystems, Inc. Method for optimizing utilization of a double-data-rate-SDRAM memory system
US7139878B2 (en) * 2003-06-20 2006-11-21 Freescale Semiconductor, Inc. Method and apparatus for dynamic prefetch buffer configuration and replacement
US7424562B2 (en) * 2004-03-01 2008-09-09 Cisco Technology, Inc. Intelligent PCI bridging consisting of prefetching data based upon descriptor data
US7107384B1 (en) * 2004-03-01 2006-09-12 Pericom Semiconductor Corp. Dynamic PCI-bus pre-fetch with separate counters for commands of commands of different data-transfer lengths
US9495263B2 (en) 2004-12-21 2016-11-15 Infortrend Technology, Inc. Redundant SAS storage virtualization subsystem and system using the same, and method therefor
CN100356310C (zh) * 2004-12-21 2007-12-19 普安科技股份有限公司 储存虚拟化控制器、子系统及系统与方法
US7657690B1 (en) * 2005-06-14 2010-02-02 Globalfoundries Inc. Control of PCI memory read behavior using memory read alias and memory command reissue bits
US20070005833A1 (en) 2005-06-30 2007-01-04 Pak-Lung Seto Transmit buffers in connection-oriented interface
US8079031B2 (en) * 2005-10-21 2011-12-13 Intel Corporation Method, apparatus, and a system for dynamically configuring a prefetcher based on a thread specific latency metric
US8081827B2 (en) * 2006-02-28 2011-12-20 Ricoh Co., Ltd. Compressed data image object feature extraction, ordering, and delivery
JP5052193B2 (ja) * 2007-04-17 2012-10-17 株式会社日立製作所 記憶制御装置および記憶制御方法
JP4977583B2 (ja) 2007-11-22 2012-07-18 株式会社日立製作所 記憶制御装置及び記憶制御装置の制御方法
US8490088B2 (en) * 2010-09-10 2013-07-16 International Business Machines Corporation On demand virtual machine image streaming
US8949579B2 (en) * 2010-10-04 2015-02-03 International Business Machines Corporation Ineffective prefetch determination and latency optimization

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1016115A (ja) * 1996-07-08 1998-01-20 Mitsui Petrochem Ind Ltd 透湿性シート
JP2000076017A (ja) * 1998-08-31 2000-03-14 Nec Corp 磁気ディスク制御装置
US20030221039A1 (en) * 2002-05-22 2003-11-27 International Business Machines Corporation Data caching on bridge following disconnect
JP2006331252A (ja) * 2005-05-30 2006-12-07 Matsushita Electric Ind Co Ltd バスブリッジ装置
JP2010092285A (ja) * 2008-10-08 2010-04-22 Hitachi Ltd ストレージシステム

Also Published As

Publication number Publication date
US8566496B2 (en) 2013-10-22
CN102486752B (zh) 2016-05-04
US20120144082A1 (en) 2012-06-07
EP2461245A2 (en) 2012-06-06
KR101378270B1 (ko) 2014-03-25
TWI444833B (zh) 2014-07-11
JP5480834B2 (ja) 2014-04-23
EP2461245A3 (en) 2012-11-21
KR20120061710A (ko) 2012-06-13
TW201224777A (en) 2012-06-16
CN102486752A (zh) 2012-06-06

Similar Documents

Publication Publication Date Title
JP5480834B2 (ja) Sasエクスパンダにおけるデータプリフェッチ
US6954839B2 (en) Computer system
JP6231669B2 (ja) データ書込み要求処理方法及びストレージアレイ
US9507720B2 (en) Block storage-based data processing methods, apparatus, and systems
KR101196547B1 (ko) 결정론적 sas 검색 및 구성을 위한 방법
US8850116B2 (en) Data prefetch for SCSI referrals
US9213500B2 (en) Data processing method and device
KR20200078382A (ko) 개시자 모드를 갖는 솔리드-스테이트 드라이브
US9182912B2 (en) Method to allow storage cache acceleration when the slow tier is on independent controller
CN103329106A (zh) Alua首选项和状态转换的主机发现和处理
JP6254293B2 (ja) データ重複排除方法及びストレージアレイ
JP2012118958A5 (ja)
CN104951239B (zh) 高速缓存驱动器、主机总线适配器及其使用的方法
WO2015035887A1 (zh) 一种数据存储方法、装置及系统
US20220222016A1 (en) Method for accessing solid state disk and storage device
CN104965678A (zh) 一种固态存储的控制方法、装置及固态存储设备
US9367492B2 (en) Storage virtualization apparatus causing access request process to be delayed based on incomplete count and storage virtualization method
CN104536702A (zh) 一种存储阵列系统及数据写请求处理方法
WO2016121026A1 (ja) ストレージ装置、計算機システム、及び、方法
CN103927136B (zh) 输入输出io类型的识别方法和装置
CN108008917A (zh) 存储设备及控制其链接状态的方法
US9253276B2 (en) Multi-protocol bridge with integrated performance accelerating cache
JP2018010698A (ja) データ書込み要求処理方法及びストレージアレイ
JP2014048810A (ja) ホストシステム、ストレージデバイス、および通信方法
JP6200100B2 (ja) 計算機システム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130806

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130806

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20130806

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20130828

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130902

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131202

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: 20140116

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140214

R150 Certificate of patent or registration of utility model

Ref document number: 5480834

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees