JP2007520812A - 複数ファクタに基づく適応ファイル先読み - Google Patents
複数ファクタに基づく適応ファイル先読み Download PDFInfo
- Publication number
- JP2007520812A JP2007520812A JP2006549366A JP2006549366A JP2007520812A JP 2007520812 A JP2007520812 A JP 2007520812A JP 2006549366 A JP2006549366 A JP 2006549366A JP 2006549366 A JP2006549366 A JP 2006549366A JP 2007520812 A JP2007520812 A JP 2007520812A
- Authority
- JP
- Japan
- Prior art keywords
- read
- data
- client
- stream
- amount
- 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
Links
- 230000003044 adaptive effect Effects 0.000 title description 2
- 239000000872 buffer Substances 0.000 claims description 70
- 238000000034 method Methods 0.000 claims description 51
- 230000004044 response Effects 0.000 claims description 12
- 238000012545 processing Methods 0.000 abstract description 28
- 230000000717 retained effect Effects 0.000 abstract 1
- 230000008569 process Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 20
- 230000006870 function Effects 0.000 description 7
- 238000012546 transfer Methods 0.000 description 5
- 239000003999 initiator Substances 0.000 description 4
- 239000000835 fiber Substances 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 230000032683 aging Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 206010063493 Premature ageing Diseases 0.000 description 1
- 208000032038 Premature aging Diseases 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
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)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
本発明はストレージシステムに関し、特に、ストレージシステムにおいて複数の読み出しストリームに対してそのファイル先読み処理を適宜調節する技術に関する。
「ストレージシステム」とは、ディスクのようなストレージデバイス上での情報の編成に関するストレージサービスを提供するコンピュータである。ストレージシステムは、情報をディスク上に記憶されるデータブロックのセットとして論理編成するためのストレージシステムを有する。従来のストレージ・エリア・ネットワーク(SAN)のようなブロックベースのデプロイメントでは、ストレージシステムにおいてデータブロックが直接アドレス指定される場合がある。しかしながら、ネットワーク・アタッチド・ストレージ(NAS)環境のようなファイルベースのデプロイメントでは、オペレーティングシステムは「ファイルシステム」を実施し、データブロックをアドレス指定可能なファイルやディレクトリの階層構造としてディスク上に論理編成する。この文脈において、ディレクトリは、他のファイルやディレクトリに関する情報を記憶する特殊な形式のファイルとして実施される場合がある。
本発明は、ファイルシステムによって管理される各読み出しストリームに対し、読み出される先読みデータの量を最適化するように構成されたファイルシステムを実施するストレージシステムを提供する。このファイルシステムは、種々のファクタに応じて、各読み出しストリームに対して最適な読み出しサイズを選択する。こうしたファクタには、読み出しストリームにおける処理される読み出し要求の数、読み出しストリームにおいて要求されるクライアント要求データの量、読み出しストリームに関連する読み出しアクセススタイルなどがある。また、ファイルシステムは、各読み出しストリームに対して先読み処理が実施される場合を減らすとともに、各読み出しストリームによって読み出されたデータがメモリに保持されている時間を判定することにより、キャッシュポルーションを最小限に抑えるように構成される。
図1は、ディスク160のようなストレージデバイス上での情報の編成に関するストレージサービスを提供するように構成されたマルチプロトコル・ストレージ・アプライアンス100を示す略ブロック図である。ストレージディスクは、RAID(Redundant Array of Independent Disks)のような種々の構成で構成される場合がある。図示のストレージ・アプライアンス100は、システムバス115によって相互接続されたプロセッサ110、メモリ150、複数のネットワークアダプタ120、140、及び、ストレージアダプタ130を含むストレージシステムとして実施される。
図2は、本発明で使用するのに都合がよいストレージオペレーティングシステムの例を示す略ブロック図である。ストレージオペレーティングシステムは、一体型ネットワークプロトコルスタック、すなわち、より一般的には、ブロックアクセスプロトコルやファイルアクセスプロトコルを使用してクライアントがマルチプロトコル・ストレージアプライアンス100上に記憶された情報にアクセスするためのデータパスを提供するマルチプロトコルエンジンを形成するように構成された一連のソフトウェア層を含む。プロトコルスタックは、IP層212やそれを支える搬送メカニズムのようなネットワークプロトコル層に対するインタフェースであるメディアアクセス層210、TCP IP層214、及び、ユーザ・データグラム・プロトコル(UDP)層216を含む。ファイルシステムプロトコル層は、マルチプロトコルファイルアクセスを可能にし、その目的のために、DAFSプロトコル218、NFSプロトコル220、CIFSプロトコル222、及び、ハイパーテキストトランスファープロトコル(HTTP)224を含む。VI層226は、DAFSプロトコル218によって必要とされるような、RDMAのようなダイレクト・アクセス・トランスポート(DAT)機能を提供するためのVIアーキテクチャを実施する。
本明細書で使用されるように、「読み出しストリーム」という用語は、要求されたファイル内の論理的に連続した範囲のファイルオフセット(例えば、fbn)からのデータの読み出しをストレージオペレーティングシステム200に命じる1以上のクライアント要求のセットとして定義される。オペレーティングシステムは、将来のクライアント読み出し要求によって読み出しストリーム中で要求される可能性がある1以上のデータブロックをプリフェッチするための推測的先読み処理を使用する場合がある。一実施形態によれば、ストレージオペレーティングシステム200は、同時に処理される複数の読み出しストリームのそれぞれについて個別に、先読みメタデータのセットを管理する。また、ストレージオペレーティングシステムは、各読み出しストリームが有するメタデータを個別の「リードセット」データ構造に記憶する(すなわち、1つのリードセットあたり1つの読み出しストリーム)。したがって、複数の同時読み出しストリームをサポートするファイル又はディレクトリは、複数の異なるリードセットに関連する場合があり、例えば、ファイル又はディレクトリに関連するinodeによってアクセス可能である場合がある。
一実施形態によれば、ファイルシステム260は、ファイルシステムによって処理される各読み出しストリームに対し、読み出される先読みデータの量を最適化するように構成される。その目的のために、ファイルシステムは、種々のファクタに応じて、各読み出しストリームに対して最適な先読みサイズ614を選択する。そのようなファクタには例えば、読み出しストリーム中で要求されたクライアントの要求するデータの量、読み出しストリームにおいて処理された読み出し要求の数、読み出しストリームのファイル又はディレクトリに関連する読み出しアクセススタイル406などがある。
上記が、本発明の例示的実施形態に関する詳細な説明である。本発明の思想及び範囲から外れることなく、種々の変更及び追加を施すことも可能である。上記のように、例示的実施形態におけるファイルやディレクトリは、ゼロ以上の読み出しストリームを確立することが可能な任意のデータセットとして広く定義される。従って、この文脈におけるファイルは、ブロックベースのクライアント190bに対して単一の論理ユニット番号(LUN)としてエキスポートすることが可能なデータブロックの所定のセットに対応する「仮想ディスク」(vdisk)として実施される場合がある。ただし、仮想ディスクにおけるデータブロックは、マルチプロトコル・ストレージ・アプライアンス内でファイルベースのセマンティックを使用してアクセスされる。このように、ブロックベースのクライアントは、FCPプロトコルやiSCSIプロトコルのような従来のブロックベースのプロトコルに従ってその要求をフォーマットし、それらの要求は、ストレージオペレーティングシステム200によって実施される仮想化システムにより、ファイルベースのセマンティックを使用して処理される。一般に、例示的実施形態におけるファイルやディレクトリは、ゼロ以上の読み出しストリームを確立することが可能な任意のデータコンテナであってよく、例えば、ファイル、ディレクトリ、vdiskまたはLUNなどである場合がある。
Claims (29)
- ストレージシステムにおいて実施されるストレージオペレーティングシステムが、該ストレージシステムに記憶されるデータコンテナにおいて確立される読み出しストリームに対し、読み出される先読みデータの量を最適化するための方法であって、
前記ストレージオペレーティングシステムに対して前記読み出しストリームを含むデータコンテナから読み出すことをクライアントが要求するデータを示すクライアント読み出し要求を前記ストレージシステムにおいて受信し、
受信した前記クライアント読み出し要求に応じて、前記ストレージオペレーティングシステムが、前記データコンテナからの先読みデータの読み出しを許可されているか否かを判定し、
前記ストレージオペレーティングシステムが、前記データコンテナからの先読みデータの読み出しを許可されている場合、
(i)前記データコンテナから読み出す先読みデータの量を1以上のファクタに基づいて選択するステップと、
(ii)選択される前記量の先読みデータを前記データコンテナから読み出すステップとを実施することからなる方法。 - 前記データコンテナは、ファイル、ディレクトリ、vdisk、又は、LUNである、請求項1に記載の方法。
- 前記クライアントが要求するデータによって前記読み出しストリームが所定の次の先読み値を超えて拡張される場合、前記ストレージオペレーティングシステムは、前記データコンテナから先読みデータを読み出すことが許可されているものと判断される、請求項1に記載の方法。
- 前記所定の次の先読み値は、前記読み出しストリームに関連するリードセットデータ構造に記憶される、請求項3に記載の方法。
- 前記所定の次の先読み値は、前記選択された量の先読みデータの或る割合に基づいて更新される、請求項3に記載の方法。
- 前記データコンテナに関連する読み出しアクセススタイルは、前記先読みデータの量の選択に使用される1以上のファクタのうちの1つである、請求項1に記載の方法。
- 前記読み出しアクセススタイルがランダム読み出しアクセススタイルに対応する場合、前記選択される先読みデータの量はゼロに等しい、請求項6に記載の方法。
- 前記読み出しストリームにおけるクライアント読み出し要求の数は、前記先読みデータの量の選択に使用される前記1以上のファクタのうちの1つである、請求項1に記載の方法。
- 前記読み出しストリームにおいて処理されるクライアント読み出し要求の数は、前記読み出しストリームに関連するリードセットデータ構造にカウント値として記憶される、請求項8に記載の方法。
- 前記クライアントが要求するデータの量は、前記先読みデータの量の選択すに使用される1以上のファクタのうちの1つである、請求項1に記載の方法。
- 前記クライアントが要求するデータが大きい場合、前記選択される先読みデータの量は、所定の上限に等しくなるように設定される、請求項10に記載の方法。
- 前記読み出しストリームにおいて処理されるクライアント読み出し要求の数が第1の閾値よりも大きい場合、前記選択される先読みデータの量は2倍にされる、請求項1に記載の方法。
- (i)前記読み出しストリームにおいて処理されるクライアント読み出し要求の数が第2の閾値よりも大きい場合、又は、(ii)前記読み出しストリームに関連するメタデータのセットが、前記クライアントが要求するデータがリードワンスデータであることを示している場合、前記クライアントが要求するデータは、リードワンスデータとして識別される、請求項1に記載の方法。
- 前記選択される先読みデータの量は、フラッシュキューにキューイングされた1以上のバッファに記憶され、前記フラッシュキューは、所定時間の後にバッファを拒否するように構成される、請求項1に記載の方法。
- 前記所定時間は2秒である、請求項14に記載の方法。
- 装置に記憶されるデータコンテナにおいて確立される読み出しストリームに対し、読み出される先読みデータの量を最適化するストレージオペレーティングシステムを実施するように構成された装置であって、
前記ストレージオペレーティングシステムに対して前記読み出しストリームを含むデータコンテナから読み出すことをクライアントが要求するデータを示すクライアント読み出し要求を受信する手段と、
受信した前記クライアント読み出し要求に応じて、前記ストレージオペレーティングシステムが、前記データコンテナからの先読みデータの読み出しを許可されているか否かを判定する手段と、
前記データコンテナから読み出す先読みデータの量を1以上のファクタに基づいて選択する手段と、
選択された前記量の先読みデータを前記データコンテナから読み出す手段と
からなる装置。 - 前記データコンテナは、ファイル、ディレクトリ、vdisk、又は、LUNである、請求項16に記載の装置。
- 前記クライアントが要求するデータによって前記読み出しストリームが所定の次の先読み値を超えて拡張される場合、前記ストレージオペレーティングシステムは、前記データコンテナから先読みデータを読み出すことが許可されるものと判断される、請求項16に記載の装置。
- 前記所定の次の先読み値を、前記選択される量の先読みデータの或る割合に基づいて更新する手段を更に含む、請求項18に記載の装置。
- 前記先読みデータの量の選択に使用される1以上のファクタは、
(i)クライアントが要求するデータの量、
(ii)前記読み出しストリームにおいて処理されるクライアント読み出し要求の数、
(iii)前記データコンテナに関連する読み出しアクセススタイル
のうちの少なくとも1つを含む、請求項16に記載の装置。 - 前記読み出しストリームにおいて処理されるクライアント読み出し要求の数が第1の閾値よりも大きい場合、前記選択される先読みデータの量は2倍にされる、請求項16に記載の装置。
- ストレージシステムに記憶されるデータコンテナにおいて確立される読み出しストリームに対し、読み出される先読みデータの量を最適化するように構成されたストレージシステムであって、
前記読み出しストリームを含むデータコンテナから読み出すことをクライアントが要求するデータを示すクライアント読み出し要求を受信するネットワークアダプタと、
受信した前記クライアント読み出し要求に応じて、前記ストレージオペレーティングシステムが、前記データコンテナからの先読みデータの読み出しを許可されているか否かを判定するステップと、前記ストレージオペレーティングシステムが、前記データコンテナからの先読みデータの読み出しを許可されている場合、(i)前記データコンテナから読み出す先読みデータの量を1以上のファクタに基づいて選択し、(ii)選択された前記量の先読みデータを前記データコンテナから読み出すステップとを実施するストレージオペレーティングを実施するための命令を記憶するように構成されたメモリと
からなるストレージシステム。 - 前記データコンテナは、ファイル、ディレクトリ、vdisk、又は、LUNである、請求項22に記載のストレージシステム。
- 前記クライアントが要求するデータによって前記読み出しストリームが所定の次の先読み値を超えて拡張される場合、前記ストレージオペレーティングシステムは、前記データコンテナから先読みデータを読み出すことが許可されているものと判断される、請求項22に記載のストレージシステム。
- 前記所定の次の先読み値は、前記選択された量の先読みデータの或る割合に基づいて更新される、請求項24に記載のストレージシステム。
- 前記先読みデータの量の選択に使用される1以上のファクタは、
(i)クライアントが要求するデータの量、
(ii)前記読み出しストリームにおいて処理されるクライアント読み出し要求の数、
(iii)前記データコンテナに関連する読み出しアクセススタイル
のうちの少なくとも1つを含む、請求項22に記載のストレージシステム。 - 前記クライアント読み出し要求において処理されるクライアント読み出し要求の数が第1の閾値よりも大きい場合、前記選択される先読みデータの量は2倍にされる、請求項22に記載のストレージシステム。
- ストレージシステムに記憶されるデータコンテナにおいて確立される読み出しストリームに対し、読み出される先読みデータの量を最適化するための方法をストレージシステムにおいて実施されるストレージオペレーティングシステムにおいて実施するためにプロセッサにおいて実行される命令を含むコンピュータ読取可能媒体であって、前記方法が、
前記ストレージオペレーティングシステムに対して前記読み出しストリームを含むデータコンテナから読み出すことをクライアントが要求するデータを示すクライアント読み出し要求を受信し、
受信した前記クライアント読み出し要求に応じて、前記ストレージオペレーティングシステムが、前記データコンテナからの先読みデータの読み出しを許可されているか否かを判定し、
前記ストレージオペレーティングシステムが、前記データコンテナからの先読みデータの読み出しを許可されている場合、
(i)前記データコンテナから読み出す先読みデータの量を1以上のファクタに基づいて選択するステップと、
(ii)選択される前記量の先読みデータを前記データコンテナから読み出すステップとを実施することからなる、コンピュータ読取可能媒体。 - 前記データコンテナは、ファイル、ディレクトリ、vdisk、又は、LUNである、請求項28に記載のコンピュータ読取可能媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/753,608 US7631148B2 (en) | 2004-01-08 | 2004-01-08 | Adaptive file readahead based on multiple factors |
PCT/US2005/000203 WO2005071551A2 (en) | 2004-01-08 | 2005-01-06 | Adaptive file readahead based on multiple factors |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007520812A true JP2007520812A (ja) | 2007-07-26 |
JP4494420B2 JP4494420B2 (ja) | 2010-06-30 |
Family
ID=34739225
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006549366A Active JP4494420B2 (ja) | 2004-01-08 | 2005-01-06 | 複数ファクタに基づく適応ファイル先読み |
Country Status (4)
Country | Link |
---|---|
US (1) | US7631148B2 (ja) |
EP (1) | EP1702271B9 (ja) |
JP (1) | JP4494420B2 (ja) |
WO (1) | WO2005071551A2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013153694A1 (ja) * | 2012-04-09 | 2013-10-17 | 株式会社日立製作所 | クライアントとサーバ間の通信を中継する通信装置、システム、及び方法 |
WO2014147840A1 (ja) * | 2013-03-22 | 2014-09-25 | 富士通株式会社 | アクセス制御プログラム、ディスク装置及びアクセス制御方法 |
Families Citing this family (76)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7809693B2 (en) * | 2003-02-10 | 2010-10-05 | Netapp, Inc. | System and method for restoring data on demand for instant volume restoration |
US7333993B2 (en) * | 2003-11-25 | 2008-02-19 | Network Appliance, Inc. | Adaptive file readahead technique for multiple read streams |
US7502333B2 (en) * | 2004-03-23 | 2009-03-10 | Hewlett-Packard Development Company, L.P. | Pre-configured topology with connection management |
US20060045098A1 (en) * | 2004-08-31 | 2006-03-02 | Krause Michael R | System for port mapping in a network |
WO2006116183A1 (en) * | 2005-04-25 | 2006-11-02 | Network Appliance, Inc. | Architecture for supporting sparse volumes |
US7386674B1 (en) * | 2005-04-25 | 2008-06-10 | Netapp, Inc. | Method and apparatus to provide a unified readahead scheme for multiple sources |
AU2006239882B2 (en) | 2005-04-25 | 2009-10-29 | Network Appliance, Inc. | System and method for caching network file systems |
US7756943B1 (en) * | 2006-01-26 | 2010-07-13 | Symantec Operating Corporation | Efficient data transfer between computers in a virtual NUMA system using RDMA |
US7702743B1 (en) | 2006-01-26 | 2010-04-20 | Symantec Operating Corporation | Supporting a weak ordering memory model for a virtual physical address space that spans multiple nodes |
JP4915774B2 (ja) * | 2006-03-15 | 2012-04-11 | 株式会社日立製作所 | ストレージシステム及びストレージシステムの制御方法 |
US7996623B2 (en) * | 2006-06-30 | 2011-08-09 | Seagate Technology Llc | Read ahead storage control |
US7809883B1 (en) * | 2007-10-16 | 2010-10-05 | Netapp, Inc. | Cached reads for a storage system |
US8245101B2 (en) | 2007-12-27 | 2012-08-14 | Sandisk Enterprise Ip Llc | Patrol function used in flash storage controller to detect data errors |
US8161265B2 (en) * | 2008-02-01 | 2012-04-17 | International Business Machines Corporation | Techniques for multi-level indirect data prefetching |
US8161264B2 (en) * | 2008-02-01 | 2012-04-17 | International Business Machines Corporation | Techniques for data prefetching using indirect addressing with offset |
US8161263B2 (en) * | 2008-02-01 | 2012-04-17 | International Business Machines Corporation | Techniques for indirect data prefetching |
US8209488B2 (en) * | 2008-02-01 | 2012-06-26 | International Business Machines Corporation | Techniques for prediction-based indirect data prefetching |
US8166277B2 (en) * | 2008-02-01 | 2012-04-24 | International Business Machines Corporation | Data prefetching using indirect addressing |
US7895217B1 (en) * | 2008-04-17 | 2011-02-22 | Netapp, Inc. | Method and system for processing requests for accessing stored information |
US9348842B2 (en) * | 2009-03-23 | 2016-05-24 | Riverbed Technology, Inc. | Virtualized data storage system optimizations |
US9087066B2 (en) * | 2009-04-24 | 2015-07-21 | Swish Data Corporation | Virtual disk from network shares and file servers |
US9239840B1 (en) | 2009-04-24 | 2016-01-19 | Swish Data Corporation | Backup media conversion via intelligent virtual appliance adapter |
US8190655B2 (en) | 2009-07-02 | 2012-05-29 | Quantum Corporation | Method for reliable and efficient filesystem metadata conversion |
US8806143B1 (en) * | 2009-10-09 | 2014-08-12 | Netapp, Inc. | Queuing received write blocks for reducing file fragmentation |
US8612374B1 (en) | 2009-11-23 | 2013-12-17 | F5 Networks, Inc. | Methods and systems for read ahead of remote data |
KR101636878B1 (ko) * | 2010-02-18 | 2016-07-06 | 삼성전자주식회사 | 가상화 환경에서의 데이터 처리 방법 및 드라이버 |
CN102130935A (zh) * | 2010-08-05 | 2011-07-20 | 华为技术有限公司 | 数据获取方法和装置以及网络存储方法和设备 |
US8732406B1 (en) | 2011-03-15 | 2014-05-20 | Netapp, Inc. | Mechanism for determining read-ahead length in a storage system |
US8849880B2 (en) * | 2011-05-18 | 2014-09-30 | Hewlett-Packard Development Company, L.P. | Providing a shadow directory and virtual files to store metadata |
US8825724B2 (en) * | 2012-03-29 | 2014-09-02 | Lsi Corporation | File system hinting |
US9699263B1 (en) | 2012-08-17 | 2017-07-04 | Sandisk Technologies Llc. | Automatic read and write acceleration of data accessed by virtual machines |
KR101978256B1 (ko) | 2012-09-27 | 2019-05-14 | 삼성전자주식회사 | 모바일 기기의 데이터 독출 방법 및 이를 이용하는 모바일 기기 |
TW201416873A (zh) * | 2012-10-19 | 2014-05-01 | Apacer Technology Inc | 網路儲存系統的檔案分享方法 |
US9501398B2 (en) | 2012-12-26 | 2016-11-22 | Sandisk Technologies Llc | Persistent storage device with NVRAM for staging writes |
US9612948B2 (en) | 2012-12-27 | 2017-04-04 | Sandisk Technologies Llc | Reads and writes between a contiguous data block and noncontiguous sets of logical address blocks in a persistent storage device |
US9454420B1 (en) | 2012-12-31 | 2016-09-27 | Sandisk Technologies Llc | Method and system of reading threshold voltage equalization |
US9870830B1 (en) | 2013-03-14 | 2018-01-16 | Sandisk Technologies Llc | Optimal multilevel sensing for reading data from a storage medium |
US9367246B2 (en) | 2013-03-15 | 2016-06-14 | Sandisk Technologies Inc. | Performance optimization of data transfer for soft information generation |
US9223791B2 (en) | 2013-07-02 | 2015-12-29 | Red Hat, Inc. | System and method for reading file blocks |
US9524235B1 (en) | 2013-07-25 | 2016-12-20 | Sandisk Technologies Llc | Local hash value generation in non-volatile data storage systems |
US9235509B1 (en) | 2013-08-26 | 2016-01-12 | Sandisk Enterprise Ip Llc | Write amplification reduction by delaying read access to data written during garbage collection |
US9639463B1 (en) | 2013-08-26 | 2017-05-02 | Sandisk Technologies Llc | Heuristic aware garbage collection scheme in storage systems |
US9442662B2 (en) | 2013-10-18 | 2016-09-13 | Sandisk Technologies Llc | Device and method for managing die groups |
US9436831B2 (en) | 2013-10-30 | 2016-09-06 | Sandisk Technologies Llc | Secure erase in a memory device |
CN105683934B (zh) | 2013-10-31 | 2019-04-05 | 慧与发展有限责任合伙企业 | 数据传输的目标端口处理方法和装置 |
US9703816B2 (en) | 2013-11-19 | 2017-07-11 | Sandisk Technologies Llc | Method and system for forward reference logging in a persistent datastore |
US9520197B2 (en) | 2013-11-22 | 2016-12-13 | Sandisk Technologies Llc | Adaptive erase of a storage device |
US9520162B2 (en) | 2013-11-27 | 2016-12-13 | Sandisk Technologies Llc | DIMM device controller supervisor |
US9582058B2 (en) | 2013-11-29 | 2017-02-28 | Sandisk Technologies Llc | Power inrush management of storage devices |
US10776033B2 (en) | 2014-02-24 | 2020-09-15 | Hewlett Packard Enterprise Development Lp | Repurposable buffers for target port processing of a data transfer |
US9703636B2 (en) | 2014-03-01 | 2017-07-11 | Sandisk Technologies Llc | Firmware reversion trigger and control |
US9390814B2 (en) | 2014-03-19 | 2016-07-12 | Sandisk Technologies Llc | Fault detection and prediction for data storage elements |
US9448876B2 (en) | 2014-03-19 | 2016-09-20 | Sandisk Technologies Llc | Fault detection and prediction in storage devices |
US9454448B2 (en) | 2014-03-19 | 2016-09-27 | Sandisk Technologies Llc | Fault testing in storage devices |
US9626400B2 (en) | 2014-03-31 | 2017-04-18 | Sandisk Technologies Llc | Compaction of information in tiered data structure |
US9626399B2 (en) | 2014-03-31 | 2017-04-18 | Sandisk Technologies Llc | Conditional updates for reducing frequency of data modification operations |
US9390021B2 (en) | 2014-03-31 | 2016-07-12 | Sandisk Technologies Llc | Efficient cache utilization in a tiered data structure |
US9697267B2 (en) | 2014-04-03 | 2017-07-04 | Sandisk Technologies Llc | Methods and systems for performing efficient snapshots in tiered data structures |
US10372613B2 (en) | 2014-05-30 | 2019-08-06 | Sandisk Technologies Llc | Using sub-region I/O history to cache repeatedly accessed sub-regions in a non-volatile storage device |
US9703491B2 (en) | 2014-05-30 | 2017-07-11 | Sandisk Technologies Llc | Using history of unaligned writes to cache data and avoid read-modify-writes in a non-volatile storage device |
US10656842B2 (en) | 2014-05-30 | 2020-05-19 | Sandisk Technologies Llc | Using history of I/O sizes and I/O sequences to trigger coalesced writes in a non-volatile storage device |
US10114557B2 (en) | 2014-05-30 | 2018-10-30 | Sandisk Technologies Llc | Identification of hot regions to enhance performance and endurance of a non-volatile storage device |
US10146448B2 (en) * | 2014-05-30 | 2018-12-04 | Sandisk Technologies Llc | Using history of I/O sequences to trigger cached read ahead in a non-volatile storage device |
US10656840B2 (en) | 2014-05-30 | 2020-05-19 | Sandisk Technologies Llc | Real-time I/O pattern recognition to enhance performance and endurance of a storage device |
US9652381B2 (en) | 2014-06-19 | 2017-05-16 | Sandisk Technologies Llc | Sub-block garbage collection |
US9443601B2 (en) | 2014-09-08 | 2016-09-13 | Sandisk Technologies Llc | Holdup capacitor energy harvesting |
US10713171B2 (en) * | 2014-10-03 | 2020-07-14 | Hitachi, Ltd. | Computer system |
US9684459B2 (en) * | 2014-11-17 | 2017-06-20 | Kabushiki Kaisha Toshiba | Memory system |
US20170116127A1 (en) * | 2015-10-22 | 2017-04-27 | Vormetric, Inc. | File system adaptive read ahead |
US10437511B2 (en) * | 2016-11-22 | 2019-10-08 | International Business Machines Corporation | Data access on tape |
US10303401B2 (en) * | 2017-01-26 | 2019-05-28 | International Business Machines Corporation | Data caching for block storage systems |
US11855898B1 (en) | 2018-03-14 | 2023-12-26 | F5, Inc. | Methods for traffic dependent direct memory access optimization and devices thereof |
US10795610B2 (en) | 2018-05-30 | 2020-10-06 | Micron Technology, Inc. | Read look ahead data size determination |
US11544007B2 (en) * | 2021-03-30 | 2023-01-03 | Netapp, Inc. | Forwarding operations to bypass persistent memory |
CN114168272B (zh) * | 2022-02-14 | 2022-04-19 | 麒麟软件有限公司 | 一种缓存读文件时随机读的内核io优化方法 |
US20230342244A1 (en) * | 2022-04-20 | 2023-10-26 | Western Digital Technologies, Inc. | Read Look Ahead Optimization According To NVMe Dataset Management Hints |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4489378A (en) * | 1981-06-05 | 1984-12-18 | International Business Machines Corporation | Automatic adjustment of the quantity of prefetch data in a disk cache operation |
US5146578A (en) * | 1989-05-01 | 1992-09-08 | Zenith Data Systems Corporation | Method of varying the amount of data prefetched to a cache memory in dependence on the history of data requests |
US5381539A (en) * | 1992-06-04 | 1995-01-10 | Emc Corporation | System and method for dynamically controlling cache management |
US6260115B1 (en) * | 1999-05-13 | 2001-07-10 | Storage Technology Corporation | Sequential detection and prestaging methods for a disk storage subsystem |
US6567894B1 (en) * | 1999-12-08 | 2003-05-20 | International Business Machines Corporation | Method and apparatus to prefetch sequential pages in a multi-stream environment |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5371870A (en) * | 1992-04-24 | 1994-12-06 | Digital Equipment Corporation | Stream buffer memory having a multiple-entry address history buffer for detecting sequential reads to initiate prefetching |
US6026452A (en) * | 1997-02-26 | 2000-02-15 | Pitts; William Michael | Network distributed site cache RAM claimed as up/down stream request/reply channel for storing anticipated data and meta data |
US5729556A (en) * | 1993-02-22 | 1998-03-17 | Texas Instruments | System decoder circuit with temporary bit storage and method of operation |
EP1197836A3 (en) | 1993-06-03 | 2009-06-17 | Network Appliance, Inc. | A method for allocating files in a file system integrated with a raid disk sub-system |
US5963962A (en) | 1995-05-31 | 1999-10-05 | Network Appliance, Inc. | Write anywhere file-system layout |
DE69425658T2 (de) | 1993-06-03 | 2001-04-19 | Network Appliance Inc | Anordnung eines dateisystems zum beschreiben beliebiger bereiche |
US5913028A (en) * | 1995-10-06 | 1999-06-15 | Xpoint Technologies, Inc. | Client/server data traffic delivery system and method |
US6216208B1 (en) * | 1997-12-29 | 2001-04-10 | Intel Corporation | Prefetch queue responsive to read request sequences |
US6484239B1 (en) * | 1997-12-29 | 2002-11-19 | Intel Corporation | Prefetch queue |
US6523093B1 (en) * | 2000-09-29 | 2003-02-18 | Intel Corporation | Prefetch buffer allocation and filtering system |
-
2004
- 2004-01-08 US US10/753,608 patent/US7631148B2/en active Active
-
2005
- 2005-01-06 EP EP05705019.7A patent/EP1702271B9/en active Active
- 2005-01-06 WO PCT/US2005/000203 patent/WO2005071551A2/en active Application Filing
- 2005-01-06 JP JP2006549366A patent/JP4494420B2/ja active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4489378A (en) * | 1981-06-05 | 1984-12-18 | International Business Machines Corporation | Automatic adjustment of the quantity of prefetch data in a disk cache operation |
US5146578A (en) * | 1989-05-01 | 1992-09-08 | Zenith Data Systems Corporation | Method of varying the amount of data prefetched to a cache memory in dependence on the history of data requests |
US5381539A (en) * | 1992-06-04 | 1995-01-10 | Emc Corporation | System and method for dynamically controlling cache management |
US6260115B1 (en) * | 1999-05-13 | 2001-07-10 | Storage Technology Corporation | Sequential detection and prestaging methods for a disk storage subsystem |
US6567894B1 (en) * | 1999-12-08 | 2003-05-20 | International Business Machines Corporation | Method and apparatus to prefetch sequential pages in a multi-stream environment |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013153694A1 (ja) * | 2012-04-09 | 2013-10-17 | 株式会社日立製作所 | クライアントとサーバ間の通信を中継する通信装置、システム、及び方法 |
JP2013218505A (ja) * | 2012-04-09 | 2013-10-24 | Hitachi Ltd | クライアントとサーバ間の通信を中継する通信装置及び通信システム |
WO2014147840A1 (ja) * | 2013-03-22 | 2014-09-25 | 富士通株式会社 | アクセス制御プログラム、ディスク装置及びアクセス制御方法 |
JPWO2014147840A1 (ja) * | 2013-03-22 | 2017-02-16 | 富士通株式会社 | アクセス制御プログラム、ディスク装置及びアクセス制御方法 |
Also Published As
Publication number | Publication date |
---|---|
US20050154825A1 (en) | 2005-07-14 |
WO2005071551A3 (en) | 2005-10-06 |
EP1702271A2 (en) | 2006-09-20 |
WO2005071551A2 (en) | 2005-08-04 |
JP4494420B2 (ja) | 2010-06-30 |
EP1702271B9 (en) | 2013-05-15 |
EP1702271B1 (en) | 2012-08-15 |
US7631148B2 (en) | 2009-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4494420B2 (ja) | 複数ファクタに基づく適応ファイル先読み | |
JP4510028B2 (ja) | 複数読み出しストリームのための適応先読み技術 | |
JP4824085B2 (ja) | ネットワークファイルシステムをキャッシュするシステム、及び方法 | |
US8219639B2 (en) | Storage area network file system | |
US7933936B2 (en) | Method and system for automatic management of storage space | |
US7600083B2 (en) | Method and system for automatic write request suspension | |
US7069393B2 (en) | Storage system providing file aware caching and file aware remote copy | |
US7809883B1 (en) | Cached reads for a storage system | |
JP6270827B2 (ja) | データ・マイグレーションのための方法、システム、およびコンピュータ・プログラム | |
US20090193207A1 (en) | Computer system, remote copy method and first computer | |
JP2008040645A (ja) | Nasマイグレーションによる負荷分散方法、並びに、その方法を用いた計算機システム及びnasサーバ | |
JP2009087320A (ja) | Nas/cas統一ストレージシステムのための方法および装置 | |
JP2004110218A (ja) | Dbms向け仮想ボリューム作成・管理方法 | |
US11409454B1 (en) | Container ownership protocol for independent node flushing | |
JP2008539521A (ja) | 瞬時ボリューム復元のためのオン・デマンドでデータを復元するシステム、および方法 | |
US11500591B1 (en) | Methods and systems for enabling and disabling remote storage location cache usage in a networked storage system | |
US7783611B1 (en) | System and method for managing file metadata during consistency points |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090825 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091125 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20091125 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20091207 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100225 |
|
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: 20100330 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100407 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4494420 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130416 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130416 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140416 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |