JP6067230B2 - 観測可能クライアント側メモリアクセスを用いる高性能データストレージ - Google Patents
観測可能クライアント側メモリアクセスを用いる高性能データストレージ Download PDFInfo
- Publication number
- JP6067230B2 JP6067230B2 JP2012028289A JP2012028289A JP6067230B2 JP 6067230 B2 JP6067230 B2 JP 6067230B2 JP 2012028289 A JP2012028289 A JP 2012028289A JP 2012028289 A JP2012028289 A JP 2012028289A JP 6067230 B2 JP6067230 B2 JP 6067230B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- memory access
- access operation
- storage
- attribute
- 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.)
- Active
Links
- 230000015654 memory Effects 0.000 title claims description 488
- 238000013500 data storage Methods 0.000 title description 6
- 238000003860 storage Methods 0.000 claims description 428
- 238000004891 communication Methods 0.000 claims description 102
- 230000009471 action Effects 0.000 claims description 64
- 230000004044 response Effects 0.000 claims description 33
- 238000000034 method Methods 0.000 claims description 28
- 238000012545 processing Methods 0.000 claims description 17
- 238000012546 transfer Methods 0.000 claims description 14
- 230000002085 persistent effect Effects 0.000 description 12
- 239000007787 solid Substances 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 7
- 239000000872 buffer Substances 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 5
- 230000002688 persistence Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 239000004744 fabric Substances 0.000 description 4
- 239000003999 initiator Substances 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000004931 aggregating effect Effects 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 3
- 238000004220 aggregation Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 239000000835 fiber Substances 0.000 description 3
- 230000003362 replicative effect Effects 0.000 description 3
- 230000002730 additional effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000010076 replication Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 241000258963 Diplopoda Species 0.000 description 1
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 208000015778 Undifferentiated pleomorphic sarcoma Diseases 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 239000012212 insulator Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000012846 protein folding Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000009987 spinning Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000004402 ultra-violet photoelectron spectroscopy Methods 0.000 description 1
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/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; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3037—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
-
- 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
- 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/0662—Virtualisation aspects
- G06F3/0665—Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
-
- 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]
-
- 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/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
- G06F3/0676—Magnetic disk device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17306—Intercommunication techniques
- G06F15/17331—Distributed shared memory [DSM], e.g. remote direct memory access [RDMA]
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)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
(1.技術分野)
本出願は、データストレージに関し、特に高性能データストレージに関する。
一般的なストレージプロトコル、すなわちSCSI(Small Computer System Interface)は、要求/応答モデルを用いて動作する。読み取りトランザクションを実行するために、クライアントマシンなどのSCSIイニシエータは、物理的相互接続を用いて、どのストレージブロック(単数または複数)が読み取るかを示す符号化バッファを、ストレージデバイスなどのSCSIターゲットに送信する。SCSIターゲットは、次いで要求されたデータを検索し、読み取り動作の結果と共に応答する。書き込み要求を実行するために、SCSIイニシエータは、物理的相互接続を用いて、どのブロック(単数または複数)に書き込むかを示す符号化バッファをSCSIターゲットに送信する。一旦関連データがイニシエータからターゲットに送信され、ターゲットがデータを格納すると、ターゲットは、書き込み動作の結果と共に応答する。
ストレージボリュームストレージボリュームへのアクセスの速度を改善するために、ストレージボリュームを含むメモリにおけるメモリアクセス動作を識別し、その動作を行うシステムが提供され得る。システムは、通信インタフェースと、ストレージボリュームを含むメモリと、メモリアクセス動作を識別するオブザーバロジックとを含み得る。通信インタフェースは、メモリにおけるメモリアクセス動作を行う要求を受信し得、ここで、要求は、Remote Direct Memory Access(RDMA)などのメモリアクセスプロトコルに準拠する。通信インタフェースは、要求に応答してメモリの一部分に対してメモリアクセス動作を行い得る。メモリの部分は、メモリに格納されたストレージボリュームに含まれ得る。オブザーバロジックは、メモリアクセス動作の1つ以上の属性を識別し得、応答して、メモリの部分を補助記憶装置にコピーするなどメモリアクセス動作に関する動作を行い得る。
(項目1)
クライアントコンポーネントのためのデータを格納するストレージシステムであって、
該システムは、
通信インタフェースと、
該通信インタフェースを介して受信されるデータの格納のためのメモリと、
オブザーバロジックと
を備え、
該通信インタフェースは、
該メモリにおけるメモリアクセス動作を行う要求を受信することであって、該要求は、メモリアクセスプロトコルに準拠する、ことと、
該要求に応答して該メモリの一部分において該メモリアクセス動作を行うことであって、該メモリの該一部分は、該メモリに含まれるストレージボリュームに含まれる、こととを行うように構成され、
該オブザーバロジックは、該メモリアクセス動作の少なくとも1つの属性を識別することと、該メモリアクセス動作の該少なくとも1つの属性の識別に応答して、該メモリアクセス動作に関連するアクションを行うこととを行うように構成され、該通信インタフェースは、該オブザーバロジックを待つことなく、該メモリにおける該メモリアクセス動作を完了するようにさらに構成される、ストレージシステム。
(項目2)
上記メモリは、第1のメモリであり、上記ストレージシステムは、上記通信インタフェースと、該第1のメモリと、上記オブザーバロジックとを含むストレージデバイスを備え、上記メモリアクセスプロトコルは、上記クライアントコンポーネントに含まれる第2のメモリとストレージデバイスに含まれる該第1のメモリとの間でデータを転送する通信プロトコルであり、該データの転送は、該クライアントコンポーネントおよびストレージデバイスに含まれる中央処理装置(CPU)とは無関係である、上記項目のいずれかに記載のストレージシステム。
(項目3)
上記メモリは、上記ストレージボリュームのすべてのデータブロックに加えて、該データブロックについてのボリューム情報を含む、上記項目のいずれかに記載のストレージシステム。
(項目4)
上記メモリアクセス動作に関係するアクションは、メモリアクセス動作についての統計の決定を含む、上記項目のいずれかに記載のストレージシステム。
(項目5)
上記メモリアクセス動作に関係するアクションは、該メモリアクセス動作によって影響される上記メモリの領域の識別を含む、上記項目のいずれかに記載のストレージシステム。
(項目6)
上記メモリアクセス動作に関係するアクションは、補助記憶装置への上記メモリの領域の複製をさらに含む、上記項目のいずれかに記載のストレージシステム。
(項目7)
上記メモリと通信するプロセッサをさらに備え、該メモリは、上記オブザーバロジックを備え、該オブザーバロジックは、該プロセッサによって実行可能であり、上記通信インタフェースは、該プロセッサとは無関係に該メモリにおける上記メモリアクセス動作を行うようにさらに構成される、上記項目のいずれかに記載のストレージシステム。
(項目8)
コンピュータ実行可能命令によって符号化される有形のコンピュータ読み取り可能記憶媒体であって、該コンピュータ実行可能命令は、ストレージデバイス内のプロセッサによって実行可能であり、該コンピュータ読み取り可能媒体は、
メモリアクセス動作の少なくとも1つの属性を識別するように実行可能である命令であって、該メモリアクセス動作は、該ストレージデバイスの通信インタフェースによる該メモリアクセス動作を行う要求の受信に応答して、該プロセッサとは無関係にストレージボリュームにおいて行われ、該要求は、メモリアクセスプロトコルに準拠し、該ストレージボリュームは、該ストレージデバイスのメモリに含まれる、命令と、
該メモリアクセス動作の少なくとも1つの属性に基づいて該メモリアクセス動作に関係するアクションを行うように実行可能である命令と
を含む、有形のコンピュータ読み取り可能記憶媒体。
(項目9)
上記メモリアクセス動作は、Remote Direct Memory Access(RDMA)動作である、上記項目のいずれかに記載のコンピュータ読み取り可能記憶媒体。
(項目10)
上記メモリアクセス動作の少なくとも1つの属性を識別する命令は、該メモリアクセス動作が完了した後に実行するように構成される、上記項目のいずれかに記載のコンピュータ読み取り可能記憶媒体。
(項目11)
上記要求は、上記メモリアクセス動作の少なくとも1つの属性を示すデータを含み、該メモリアクセス動作の少なくとも1つの属性を識別するように実行可能である命令は、該要求に含まれる該データから、該少なくとも1つの属性を識別するように実行可能である、上記項目のいずれかに記載のコンピュータ読み取り可能記憶媒体。
(項目12)
上記メモリアクセス動作の少なくとも1つの属性を識別するように実行可能である命令は、該メモリアクセス動作を行う要求が受信される前に、上記通信インタフェースにおいて受信される通知メッセージから、該少なくとも1つの属性を識別するようにさらに実行可能である、上記項目のいずれかに記載のコンピュータ読み取り可能記憶媒体。
(項目13)
上記メモリアクセス動作の少なくとも1つの属性を識別するように実行可能である命令は、該メモリアクセス動作を行う要求が受信された後に、上記通信インタフェースにおいて受信される通知メッセージから、該少なくとも1つの属性を識別するようにさらに実行可能である、上記項目のいずれかに記載のコンピュータ読み取り可能記憶媒体。
(項目14)
上記メモリアクセス動作の少なくとも1つの属性を識別するように実行可能である命令は、該少なくとも1つの属性を示すデータのための上記メモリの領域を監視するようにさらに実行可能であり、該メモリアクセス動作は、第1のメモリアクセス動作であり、該第1のメモリアクセス動作の少なくとも1つの属性を示すデータは、第2のアクセス動作を行う要求に応答して、該メモリの領域に書き込まれる、上記項目のいずれかに記載のコンピュータ読み取り可能記憶媒体。
(項目15)
ストレージシステムの通信インタフェースにおいて受信されるデータからメモリアクセス動作を識別するコンピュータ実装される方法であって、
該方法は、
メモリにおけるメモリアクセス動作を行う要求を受信することであって、該要求は、該通信インタフェースにおいて受信され、該要求は、メモリアクセスプロトコルに準拠している、ことと、
該要求に応答して、該メモリの一部分において該メモリアクセス動作を行うことであって、該メモリの該一部分は、ストレージボリュームに含まれ、該ストレージボリュームは、該メモリに含まれる、ことと、
該ストレージシステム内のプロセッサによって該メモリアクセス動作の少なくとも1つの属性を識別することであって、該メモリアクセス動作は、該プロッセッサとは無関係に該メモリの該一部分において行われる、ことと、
該プロセッサによって該メモリアクセス動作に関係するアクションを行うことと
を包含する、方法。
(項目16)
上記メモリアクセス動作に関係するアクションが行われる前に、該メモリアクセス動作は完了する、上記項目のいずれかに記載の方法。
(項目17)
上記メモリアクセス動作の少なくとも1つの属性が識別される前に、該メモリアクセス動作は完了する、上記項目のいずれかに記載の方法。
(項目18)
上記メモリアクセス動作は、第1のメモリアクセス動作であり、該第1のメモリアクセス動作に関係するアクションを行うことは、第2のメモリアクセス動作に応答してメモリ領域に書き込むことを包含する、上記項目のいずれかに記載の方法。
(項目19)
上記メモリ領域は、フラグを含み、該フラグは、上記メモリの上記一部分が補助記憶装置に最後にコピーされて以来、該メモリの該一部分が上記メモリアクセス動作によって更新されたかどうかを示す、上記項目のいずれかに記載の方法。
(項目20)
上記メモリアクセス動作は、上記要求を送信したクライアントコンポーネントに含まれる第2のプロセッサとは無関係に上記メモリの上記一部分において行われる、上記項目のいずれかに記載の方法。
1つの実施例において、メモリに格納されたストレージボリュームに対してメモリアクセスを行い、行われたメモリアクセス動作を識別するシステムが提供される。メモリアクセス動作を行う要求は、通信インタフェースにおいて受信され得る。要求は、メモリアクセスプロトコルに従い得る。メモリアクセス動作は要求に応答してメモリの一部分において行われ得、ここで、メモリの一部分はストレージボリュームに含まれる。メモリアクセス動作の1つ以上の属性が、識別され得る。メモリアクセス動作に関係するアクションは、メモリアクセス動作の属性に基づいて行われ得る。
一例として、高性能データストレージのシステムは、ストレージボリュームのすべてのデータをストレージデバイスのメモリに格納し得る。ストレージデバイスにおけるボリュームアクセスロジックは、1つ以上の通信インタフェースを有するストレージボリューム−またはストレージボリュームに関連するメモリ領域−をストレージデバイスに登録し得る。あるいはまたはさらに、ボリュームアクセスロジックは、1つ以上のクライアントコンポーネントによってストレージボリュームへのアクセスを提供しかつ/または制御し得る。クライアントコンポーネントにおける通信インタフェースは、メモリへのクライアント側メモリアクセスを、メモリ内の領域にかつ/またはストレージデバイスにおけるストレージボリュームに提供し得る。相互接続またはネットワークは、クライアントコンポーネントの通信インタフェースとストレージデバイスの通信インタフェースとの間でデータを移送し得る。例えば、通信インタフェースは、ネットワークインタフェースコントローラであり得る。
105 ストレージデバイス
110 クライアントコンポーネント
115 相互接続
120 メモリ
125 プロセッサ
130 メモリコントローラ
135 通信インタフェース
140 ストレージコントローラ
145 補助記憶装置
Claims (20)
- クライアントコンポーネントのためのデータを格納するストレージシステムであって、
該システムは、
通信インタフェースと、
該通信インタフェースを介して受信されるデータの格納のためのメモリであって、該メモリは、ストレージボリュームを含む、メモリと、
オブザーバロジックと
を備え、
該通信インタフェースは、
該メモリに対してメモリアクセス動作を実行するための要求を受信することであって、該要求は、メモリアクセスプロトコルに準拠する、ことと、
該要求に応答して該メモリの一部分に対して該メモリアクセス動作を実行することであって、該メモリの該一部分は、該ストレージボリューム内である、ことと
を行うように構成されており、
該オブザーバロジックは、該メモリアクセス動作の少なくとも1つの属性を識別することと、該メモリアクセス動作の該少なくとも1つの属性の識別に応答して、該メモリアクセス動作に関連するアクションを実行することとを行うように構成されており、該通信インタフェースは、該オブザーバロジックが該メモリアクセス動作の該少なくとも1つの属性を識別することを待つことなく、該メモリに対する該メモリアクセス動作を完了するようにさらに構成されている、ストレージシステム。 - 前記メモリは、第1のメモリであり、前記ストレージシステムは、前記通信インタフェースと、該第1のメモリと、前記オブザーバロジックとを含むストレージデバイスを備え、前記メモリアクセスプロトコルは、前記クライアントコンポーネントに含まれる第2のメモリとストレージデバイスに含まれる該第1のメモリとの間でデータを転送するための通信プロトコルであり、該データの転送は、該クライアントコンポーネントおよび該ストレージデバイスに含まれる中央処理装置(CPU)とは無関係である、請求項1に記載のストレージシステム。
- 前記メモリは、前記ストレージボリュームのすべてのデータブロックに加えて、該データブロックについてのボリューム情報を含む、請求項1に記載のストレージシステム。
- 前記メモリアクセス動作に関係するアクションは、メモリアクセス動作についての統計の決定を含む、請求項1に記載のストレージシステム。
- 前記メモリアクセス動作に関係するアクションは、該メモリアクセス動作によって影響される前記メモリの領域の識別を含む、請求項1に記載のストレージシステム。
- 前記メモリアクセス動作に関係するアクションは、補助記憶装置への前記メモリの領域の複製をさらに含む、請求項5に記載のストレージシステム。
- 前記メモリと通信するプロセッサをさらに備え、該メモリは、前記オブザーバロジックを備え、該オブザーバロジックは、該プロセッサによって実行可能であり、前記通信インタフェースは、該プロセッサとは無関係に該メモリに対して前記メモリアクセス動作を実行するようにさらに構成されている、請求項1に記載のストレージシステム。
- コンピュータ実行可能な命令によって符号化される有形のコンピュータ読み取り可能な記憶媒体であって、該コンピュータ実行可能な命令は、ストレージデバイス内のプロセッサによって実行可能であり、該コンピュータ読み取り可能な媒体は、
メモリアクセス動作の少なくとも1つの属性を識別するように実行可能である命令であって、該メモリアクセス動作は、該ストレージデバイスの通信インタフェースによる該メモリアクセス動作を実行するための要求の受信に応答して、該プロセッサとは無関係にストレージボリュームにおいて行われ、該要求は、メモリアクセスプロトコルに準拠し、該ストレージボリュームは、該ストレージデバイスのメモリに含まれる、命令と、
該メモリアクセス動作の少なくとも1つの属性に基づいて該メモリアクセス動作に関係するアクションを実行するように実行可能である命令と
を含む、有形のコンピュータ読み取り可能な記憶媒体。 - 前記メモリアクセス動作は、Remote Direct Memory Access(RDMA)動作である、請求項8に記載のコンピュータ読み取り可能な記憶媒体。
- 前記メモリアクセス動作の少なくとも1つの属性を識別するための命令は、該メモリアクセス動作が完了した後に実行するように構成されている、請求項8に記載のコンピュータ読み取り可能な記憶媒体。
- 前記要求は、前記メモリアクセス動作の少なくとも1つの属性を示すデータを含み、該メモリアクセス動作の少なくとも1つの属性を識別するように実行可能である命令は、該要求に含まれる該データから、該少なくとも1つの属性を識別するように実行可能である、請求項8に記載のコンピュータ読み取り可能な記憶媒体。
- 前記メモリアクセス動作の少なくとも1つの属性を識別するように実行可能である命令は、該メモリアクセス動作を実行するための要求が受信される前に、前記通信インタフェースにおいて受信される通知メッセージから、該少なくとも1つの属性を識別するようにさらに実行可能である、請求項8に記載のコンピュータ読み取り可能な記憶媒体。
- 前記メモリアクセス動作の少なくとも1つの属性を識別するように実行可能である命令は、該メモリアクセス動作を実行するための要求が受信された後に、前記通信インタフェースにおいて受信される通知メッセージから、該少なくとも1つの属性を識別するようにさらに実行可能である、請求項8に記載のコンピュータ読み取り可能な記憶媒体。
- 前記メモリアクセス動作の少なくとも1つの属性を識別するように実行可能である命令は、該少なくとも1つの属性を示すデータのための前記メモリの領域を監視するようにさらに実行可能であり、該メモリアクセス動作は、第1のメモリアクセス動作であり、該第1のメモリアクセス動作の少なくとも1つの属性を示すデータは、第2のアクセス動作を実行するための要求に応答して、該メモリの領域に書き込まれる、請求項8に記載のコンピュータ読み取り可能な記憶媒体。
- ストレージシステムの通信インタフェースにおいて受信されるデータからメモリアクセス動作を識別するコンピュータ実装される方法であって、
該方法は、
メモリに対してメモリアクセス動作を実行するための要求を受信することであって、該要求は、該通信インタフェースにおいて受信され、該要求は、メモリアクセスプロトコルに準拠している、該メモリは、ストレージボリュームを含む、ことと、
該要求に応答して、該メモリの一部分に対して該メモリアクセス動作を実行することであって、該メモリの該一部分は、該ストレージボリューム内である、ことと、
該ストレージシステム内のプロセッサによって該メモリアクセス動作の少なくとも1つの属性を識別することであって、該メモリアクセス動作は、該プロッセッサとは無関係に該メモリの該一部分において行われる、ことと、
該メモリアクセス動作の該識別された少なくとも1つの属性に基づいて、該プロセッサによって該メモリアクセス動作に関係するアクションを実行することと
を含む、方法。 - 前記メモリアクセス動作に関係するアクションが行われる前に、該メモリアクセス動作は完了する、請求項15に記載の方法。
- 前記メモリアクセス動作の少なくとも1つの属性が識別される前に、該メモリアクセス動作は完了する、請求項15に記載の方法。
- 前記メモリアクセス動作は、第1のメモリアクセス動作であり、該第1のメモリアクセス動作に関係するアクションを実行することは、第2のメモリアクセス動作に応答してメモリ領域に書き込むことを含む、請求項15に記載の方法。
- 前記メモリ領域は、フラグを含み、該フラグは、前記メモリの前記一部分が補助記憶装置に最後にコピーされて以来、該メモリの該一部分が前記メモリアクセス動作によって更新されたかどうかを示す、請求項18に記載の方法。
- 前記メモリアクセス動作は、前記要求を送信したクライアントコンポーネントに含まれる第2のプロセッサとは無関係に前記メモリの前記一部分において行われる、請求項15に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/036,544 US9015426B2 (en) | 2011-02-28 | 2011-02-28 | High performance data storage using observable client-side memory access |
US13/036,544 | 2011-02-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012181834A JP2012181834A (ja) | 2012-09-20 |
JP6067230B2 true JP6067230B2 (ja) | 2017-01-25 |
Family
ID=45654848
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012028289A Active JP6067230B2 (ja) | 2011-02-28 | 2012-02-13 | 観測可能クライアント側メモリアクセスを用いる高性能データストレージ |
Country Status (3)
Country | Link |
---|---|
US (1) | US9015426B2 (ja) |
EP (1) | EP2492792A1 (ja) |
JP (1) | JP6067230B2 (ja) |
Families Citing this family (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8375227B2 (en) | 2009-02-02 | 2013-02-12 | Microsoft Corporation | Abstracting programmatic representation of data storage systems |
US8782434B1 (en) | 2010-07-15 | 2014-07-15 | The Research Foundation For The State University Of New York | System and method for validating program execution at run-time |
US20120311262A1 (en) * | 2011-06-01 | 2012-12-06 | International Business Machines Corporation | Memory cell presetting for improved memory performance |
US20130024602A1 (en) * | 2011-07-18 | 2013-01-24 | Dell Products L.P. | Universal Storage for Information Handling Systems |
US20130232293A1 (en) * | 2012-03-05 | 2013-09-05 | Nguyen P. Nguyen | High performance storage technology with off the shelf storage components |
CN103377269B (zh) * | 2012-04-27 | 2016-12-28 | 国际商业机器公司 | 传感器数据定位方法和装置 |
US9058122B1 (en) * | 2012-08-30 | 2015-06-16 | Google Inc. | Controlling access in a single-sided distributed storage system |
US9122873B2 (en) | 2012-09-14 | 2015-09-01 | The Research Foundation For The State University Of New York | Continuous run-time validation of program execution: a practical approach |
US9304828B2 (en) * | 2012-09-27 | 2016-04-05 | Hitachi, Ltd. | Hierarchy memory management |
US9069782B2 (en) | 2012-10-01 | 2015-06-30 | The Research Foundation For The State University Of New York | System and method for security and privacy aware virtual machine checkpointing |
US9313274B2 (en) * | 2013-09-05 | 2016-04-12 | Google Inc. | Isolating clients of distributed storage systems |
US10062137B2 (en) | 2014-02-27 | 2018-08-28 | Hewlett Packard Enterprise Development Lp | Communication between integrated graphics processing units |
US9218407B1 (en) * | 2014-06-25 | 2015-12-22 | Pure Storage, Inc. | Replication and intermediate read-write state for mediums |
US9473421B1 (en) * | 2014-08-06 | 2016-10-18 | Fourth Cloud, Inc. | Modular computer system and method |
US9916095B2 (en) | 2015-03-27 | 2018-03-13 | Kove Ip, Llc | Fork-safe memory allocation from memory-mapped files with anonymous memory behavior |
US9626108B2 (en) | 2014-09-16 | 2017-04-18 | Kove Ip, Llc | Dynamically provisionable and allocatable external memory |
US10372335B2 (en) | 2014-09-16 | 2019-08-06 | Kove Ip, Llc | External memory for virtualization |
US10275171B2 (en) | 2014-09-16 | 2019-04-30 | Kove Ip, Llc | Paging of external memory |
US9959245B2 (en) | 2015-06-30 | 2018-05-01 | International Business Machines Corporation | Access frequency approximation for remote direct memory access |
US9836397B2 (en) | 2015-11-20 | 2017-12-05 | International Business Machines Corporation | Direct memory access of dynamically allocated memory |
US9448901B1 (en) * | 2015-12-15 | 2016-09-20 | International Business Machines Corporation | Remote direct memory access for high availability nodes using a coherent accelerator processor interface |
US10735513B2 (en) | 2016-09-08 | 2020-08-04 | Toshiba Memory Corporation | Remote NVMe activation |
US10778767B2 (en) * | 2017-04-28 | 2020-09-15 | International Business Machines Corporation | Persistent memory replication in RDMA-capable networks |
US10397096B2 (en) | 2017-04-28 | 2019-08-27 | International Business Machines Corporation | Path resolution in InfiniBand and ROCE networks |
US11243899B2 (en) | 2017-04-28 | 2022-02-08 | International Business Machines Corporation | Forced detaching of applications from DMA-capable PCI mapped devices |
US11086525B2 (en) | 2017-08-02 | 2021-08-10 | Kove Ip, Llc | Resilient external memory |
US20190102287A1 (en) * | 2017-09-29 | 2019-04-04 | Intel Corporation | Remote persistent memory access device |
US10986011B2 (en) * | 2017-10-18 | 2021-04-20 | Google Llc | Unobtrusive support for third-party traffic monitoring |
US10970395B1 (en) | 2018-01-18 | 2021-04-06 | Pure Storage, Inc | Security threat monitoring for a storage system |
US11010233B1 (en) | 2018-01-18 | 2021-05-18 | Pure Storage, Inc | Hardware-based system monitoring |
US11755470B2 (en) * | 2019-07-29 | 2023-09-12 | EMC IP Holding Company, LLC | System and method for reduced lock contention and improved performance |
US11657155B2 (en) | 2019-11-22 | 2023-05-23 | Pure Storage, Inc | Snapshot delta metric based determination of a possible ransomware attack against data maintained by a storage system |
US11341236B2 (en) | 2019-11-22 | 2022-05-24 | Pure Storage, Inc. | Traffic-based detection of a security threat to a storage system |
US11675898B2 (en) | 2019-11-22 | 2023-06-13 | Pure Storage, Inc. | Recovery dataset management for security threat monitoring |
US12067118B2 (en) | 2019-11-22 | 2024-08-20 | Pure Storage, Inc. | Detection of writing to a non-header portion of a file as an indicator of a possible ransomware attack against a storage system |
US12050683B2 (en) | 2019-11-22 | 2024-07-30 | Pure Storage, Inc. | Selective control of a data synchronization setting of a storage system based on a possible ransomware attack against the storage system |
US11755751B2 (en) | 2019-11-22 | 2023-09-12 | Pure Storage, Inc. | Modify access restrictions in response to a possible attack against data stored by a storage system |
US11615185B2 (en) | 2019-11-22 | 2023-03-28 | Pure Storage, Inc. | Multi-layer security threat detection for a storage system |
US11720714B2 (en) | 2019-11-22 | 2023-08-08 | Pure Storage, Inc. | Inter-I/O relationship based detection of a security threat to a storage system |
US11520907B1 (en) | 2019-11-22 | 2022-12-06 | Pure Storage, Inc. | Storage system snapshot retention based on encrypted data |
US11687418B2 (en) | 2019-11-22 | 2023-06-27 | Pure Storage, Inc. | Automatic generation of recovery plans specific to individual storage elements |
US11645162B2 (en) | 2019-11-22 | 2023-05-09 | Pure Storage, Inc. | Recovery point determination for data restoration in a storage system |
US11625481B2 (en) | 2019-11-22 | 2023-04-11 | Pure Storage, Inc. | Selective throttling of operations potentially related to a security threat to a storage system |
US12079356B2 (en) | 2019-11-22 | 2024-09-03 | Pure Storage, Inc. | Measurement interval anomaly detection-based generation of snapshots |
US11651075B2 (en) | 2019-11-22 | 2023-05-16 | Pure Storage, Inc. | Extensible attack monitoring by a storage system |
US11500788B2 (en) | 2019-11-22 | 2022-11-15 | Pure Storage, Inc. | Logical address based authorization of operations with respect to a storage system |
US12079502B2 (en) | 2019-11-22 | 2024-09-03 | Pure Storage, Inc. | Storage element attribute-based determination of a data protection policy for use within a storage system |
US12050689B2 (en) | 2019-11-22 | 2024-07-30 | Pure Storage, Inc. | Host anomaly-based generation of snapshots |
US11720692B2 (en) | 2019-11-22 | 2023-08-08 | Pure Storage, Inc. | Hardware token based management of recovery datasets for a storage system |
US12079333B2 (en) | 2019-11-22 | 2024-09-03 | Pure Storage, Inc. | Independent security threat detection and remediation by storage systems in a synchronous replication arrangement |
US11941116B2 (en) | 2019-11-22 | 2024-03-26 | Pure Storage, Inc. | Ransomware-based data protection parameter modification |
US11656985B2 (en) | 2020-01-31 | 2023-05-23 | Kove Ip, Llc | External memory as an extension to local primary memory |
CN113778934B (zh) * | 2021-11-15 | 2022-02-08 | 伟恩测试技术(武汉)有限公司 | 基于PCIe的高速实时传输系统 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU5774200A (en) * | 1999-06-28 | 2001-01-31 | Sangate Systems Inc. | Intelligent splitter, system, and methods of use |
US6684270B1 (en) * | 2000-06-02 | 2004-01-27 | Nortel Networks Limited | Accelerated file system that recognizes and reroutes uncontested read operations to a second faster path for use in high-capacity data transfer systems |
US7233984B2 (en) * | 2002-11-12 | 2007-06-19 | Microsoft Corporation | Light weight file I/O over system area networks |
US7076622B2 (en) * | 2003-09-30 | 2006-07-11 | International Business Machines Corporation | System and method for detecting and sharing common blocks in an object storage system |
JP4275504B2 (ja) * | 2003-10-14 | 2009-06-10 | 株式会社日立製作所 | データ転送方法 |
US20050216552A1 (en) * | 2004-03-24 | 2005-09-29 | Samuel Fineberg | Communication-link-attached persistent memory system |
US7873782B2 (en) * | 2004-11-05 | 2011-01-18 | Data Robotics, Inc. | Filesystem-aware block storage system, apparatus, and method |
US7760741B2 (en) * | 2005-05-18 | 2010-07-20 | International Business Machines Corporation | Network acceleration architecture |
US7356573B2 (en) * | 2005-07-08 | 2008-04-08 | Cisco Technology, Inc. | Apparatus and methods for data tapping in a storage area network |
DE102006032503A1 (de) * | 2006-07-12 | 2008-01-17 | Fogtec Brandschutz Gmbh & Co. Kg | Verfahren und Vorrichtung zur Brandbekämpfung |
US8341237B2 (en) * | 2006-10-23 | 2012-12-25 | International Business Machines Corporation | Systems, methods and computer program products for automatically triggering operations on a queue pair |
US8706687B2 (en) * | 2007-01-24 | 2014-04-22 | Hewlett-Packard Development Company, L.P. | Log driven storage controller with network persistent memory |
US7809868B1 (en) * | 2007-04-23 | 2010-10-05 | Network Appliance, Inc. | System and method for filtering information in a data storage system |
US8055613B1 (en) * | 2008-04-29 | 2011-11-08 | Netapp, Inc. | Method and apparatus for efficiently detecting and logging file system changes |
US8775718B2 (en) * | 2008-05-23 | 2014-07-08 | Netapp, Inc. | Use of RDMA to access non-volatile solid-state memory in a network storage system |
US8307154B2 (en) | 2009-03-03 | 2012-11-06 | Kove Corporation | System and method for performing rapid data snapshots |
US8595397B2 (en) * | 2009-06-09 | 2013-11-26 | Netapp, Inc | Storage array assist architecture |
US9015268B2 (en) * | 2010-04-02 | 2015-04-21 | Intel Corporation | Remote direct storage access |
WO2011128928A1 (en) * | 2010-04-12 | 2011-10-20 | Hitachi, Ltd. | Storage device |
US20140089562A1 (en) * | 2012-09-27 | 2014-03-27 | Hitachi, Ltd. | Efficient i/o processing in storage system |
-
2011
- 2011-02-28 US US13/036,544 patent/US9015426B2/en active Active
-
2012
- 2012-02-03 EP EP12000725A patent/EP2492792A1/en not_active Ceased
- 2012-02-13 JP JP2012028289A patent/JP6067230B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
EP2492792A1 (en) | 2012-08-29 |
US9015426B2 (en) | 2015-04-21 |
US20120221803A1 (en) | 2012-08-30 |
JP2012181834A (ja) | 2012-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6067230B2 (ja) | 観測可能クライアント側メモリアクセスを用いる高性能データストレージ | |
US10523757B2 (en) | Interconnect delivery process | |
JP6310061B2 (ja) | システムメモリから不揮発性データストレージに移行されるアプリケーションプログラムデータの選択的保持 | |
US10229024B2 (en) | Assisted coherent shared memory | |
US11086525B2 (en) | Resilient external memory | |
US8412672B1 (en) | High availability network storage system incorporating non-shared storage suitable for use with virtual storage servers | |
US9336094B1 (en) | Scaleout replication of an application | |
US9986028B2 (en) | Techniques to replicate data between storage servers | |
US10146632B2 (en) | Efficient mechanism to replicate data for multiple controllers | |
US9940152B2 (en) | Methods and systems for integrating a volume shadow copy service (VSS) requester and/or a VSS provider with virtual volumes (VVOLS) | |
US20210064234A1 (en) | Systems, devices, and methods for implementing in-memory computing | |
US9367398B1 (en) | Backing up journal data to a memory of another node | |
US10175895B2 (en) | Techniques for importation of information to a storage system | |
US20220113867A1 (en) | Direct response to io request in storage system with remote replication | |
CN111587420A (zh) | 分布式存储系统快速故障恢复的方法和系统 | |
US8108580B1 (en) | Low latency synchronous replication using an N-way router | |
US11055220B2 (en) | Hybrid memory systems with cache management | |
US10437754B1 (en) | Diagnostic fault management controller for distributed computing | |
US11144232B2 (en) | Storage system with efficient snapshot pair creation during synchronous replication of logical storage volumes | |
WO2024051292A1 (zh) | 数据处理系统、内存镜像方法、装置和计算设备 | |
US20220171672A1 (en) | Storage of machine check exceptions | |
US20230104509A1 (en) | Direct memory access data path for raid storage | |
US11238010B2 (en) | Sand timer algorithm for tracking in-flight data storage requests for data replication | |
US20140316539A1 (en) | Drivers and controllers | |
US10437471B2 (en) | Method and system for allocating and managing storage in a raid storage system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150128 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20151118 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20151218 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160317 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160818 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20161108 |
|
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: 20161125 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20161221 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6067230 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
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 |