JP6890675B2 - 複合集合体アーキテクチャー - Google Patents
複合集合体アーキテクチャー Download PDFInfo
- Publication number
- JP6890675B2 JP6890675B2 JP2019552178A JP2019552178A JP6890675B2 JP 6890675 B2 JP6890675 B2 JP 6890675B2 JP 2019552178 A JP2019552178 A JP 2019552178A JP 2019552178 A JP2019552178 A JP 2019552178A JP 6890675 B2 JP6890675 B2 JP 6890675B2
- Authority
- JP
- Japan
- Prior art keywords
- storage
- data
- provider
- file system
- abstraction layer
- 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
- 238000003860 storage Methods 0.000 claims description 959
- 238000000034 method Methods 0.000 claims description 61
- 238000013500 data storage Methods 0.000 description 66
- 239000007787 solid Substances 0.000 description 30
- 230000006835 compression Effects 0.000 description 13
- 238000007906 compression Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 230000009471 action Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 239000004744 fabric Substances 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000003491 array Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 239000002131 composite material Substances 0.000 description 3
- 238000013523 data management Methods 0.000 description 3
- 239000000835 fiber Substances 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000010076 replication Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000012384 transportation and delivery Methods 0.000 description 2
- 238000004883 computer application Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000002123 temporal effect 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/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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1408—Protection against unauthorised use of memory or access to memory by using cryptography
-
- 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/14—Details of searching files based on file metadata
- G06F16/148—File search processing
-
- 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
-
- 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/0653—Monitoring storage devices or systems
-
- 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/0683—Plurality of storage devices
-
- 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/0683—Plurality of storage devices
- G06F3/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/40—Specific encoding of data in memory or cache
- G06F2212/402—Encrypted data
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)
- Computer Security & Cryptography (AREA)
- Library & Information Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本願は2017年3月23日に出願された「複合集合体アーキテクチャー」と題する米国非仮特許出願第15/467,293号の優先権を主張するものである。同出願の内容はここに参照によって組み込まれる。
いくつかの態様を記載しておく。
〔態様1〕
ストレージを提供する方法であって:
ファイル・システムとストレージ環境との間の間接参照層としてストレージ抽象化層を利用して:
前記ストレージ環境の不均質な型のストレージへのアクセスを提供する複数のストレージ・プロバイダーの特性を取得し;
第一のストレージ・プロバイダーの第一のストレージを管理するための第一のストレージ・ビンを、前記第一のストレージ・プロバイダーの第一の特性に基づいて生成し;
第二のストレージ・プロバイダーの第二のストレージを管理するための第二のストレージ・ビンを、前記第二のストレージ・プロバイダーの第二の特性に基づいて生成し;
第一のストレージ型を有する前記第一のストレージおよび前記第一のストレージ型とは異なる第二のストレージ型を有する前記第二のストレージからストレージ集合体を生成し;
前記ストレージ集合体を単一のストレージ・コンテナとして前記ファイル・システムに呈することを含む、
方法。
〔態様2〕
前記ストレージ抽象化層を利用して:
前記第一のストレージ内の第一のデータへのアクセスの第一の頻度が前記第一のストレージについて前記第一のストレージ・ビンによって設定された閾値より低いことを判別し;
前記第一のデータをログに累積し;
前記第一のストレージ内の第二のデータへのアクセスの第二の頻度が前記第一のストレージについて前記第一のストレージ・ビンによって設定された前記閾値より低いことを判別し;
前記第二のデータを前記ログに累積することを含む、
態様1記載の方法。
〔態様3〕
前記ストレージ抽象化層を利用して:
閾値量のデータが前記ログ内に累積されたことを判別し;
前記ログからの累積されたデータを含み、前記第二のストレージのデータ・フォーマットに対応するストレージ・オブジェクトを生成し;
前記ストレージ・オブジェクトを、前記第二のストレージ・ビンを通じて前記第二のストレージ・プロバイダーに、前記第二のストレージ内での記憶のために送ることを含む、
態様2記載の方法。
〔態様4〕
前記ストレージ抽象化層を利用して:
前記ファイル・システムから、前記第一のデータについての物理ボリューム・ブロック番号を含む、前記第一のデータを求めるアクセス要求を受領し;
前記物理ボリューム・ブロック番号を使ってオブジェクト・メタファイルに問い合わせして、前記ストレージ・オブジェクトのオブジェクト識別子および前記ストレージ・オブジェクト内での前記第一のデータのオフセットを識別し;
前記オブジェクト識別子および前記オフセットを使って、前記第二のストレージ・プロバイダーによって前記第二のストレージ内に記憶されている前記ストレージ・オブジェクト内の前記第一のデータへのアクセスを提供することを含む、
態様3記載の方法。
〔態様5〕
前記ストレージ抽象化層を利用して:
前記第一のストレージ・ビンを使って、前記第一のストレージ内のデータへの参照の参照回数を追跡し、参照回数が0のデータを前記第一のストレージから解放し;
前記第二のストレージ・ビンを使って、前記第二のストレージ内のデータへの参照の参照回数を追跡し、参照回数が0のデータを前記第二のストレージから解放することを含む、
態様1記載の方法。
〔態様6〕
前記ストレージ抽象化層を利用して:
前記ストレージ集合体内に第一のデータを記憶するための、前記ファイル・システムからの要求を受領し;
前記第一のデータのデータ特性が前記第一のストレージ・プロバイダーの特性に対応することに基づいて、前記第一のデータを、前記第一のストレージ・ビンを通じて、前記第二のストレージにではなく、前記第一のストレージの第一の記憶位置に選択的に記憶し;
前記第一のデータを、前記第一のストレージから前記第二のストレージ・プロバイダーの前記第二のストレージの第二の記憶位置に移すことを含む、
態様1記載の方法。
〔態様7〕
前記ストレージ抽象化層を利用して:
前記ファイル・システムから、前記第一のデータについての上書き要求を受領し;
前記上書き要求のデータを新しいデータとして第三の記憶位置に記憶し;
前記第二のストレージ・ビンを使って前記第二の記憶位置にある前記第一のデータを、ガーベージ収集のためにマークすることを含む、
態様6記載の方法。
〔態様8〕
前記第三の記憶位置は前記第一のストレージ内である、態様7記載の方法。
〔態様9〕
前記第三の記憶位置は前記第二のストレージ内である、態様7記載の方法。
〔態様10〕
前記ストレージ抽象化層を利用して、複数のデータを、該データおよびストレージ・プロバイダーの特性に基づいて、諸ストレージ・ビンを通じて、前記複数のストレージ・プロバイダーの対応するストレージに選択的に記憶することを含み、特性は、逐次アクセス特性、ランダム・アクセス特性、ユーザー・データ特性、メタデータ特性、頻繁にアクセスされる特性および頻繁にアクセスされない特性のうちの一つを含む、態様1ないし9のうちいずれか一項記載の方法。
〔態様11〕
機械によって実行されたときに該機械に態様1ないし10のうちいずれか一項記載の方法を実行させる方法を実行するための命令を有している非一時的な機械可読媒体。
〔態様12〕
方法を実行するための命令を有している非一時的な機械可読媒体であって、前記命令は、機械によって実行されたときに該機械に:
ファイル・システムとストレージ環境との間の間接参照層としてストレージ抽象化層を利用して:
前記ストレージ環境の不均質な型のストレージへのアクセスを提供する複数のストレージ・プロバイダーの特性を取得し;
第一のストレージ・プロバイダーの第一のストレージを管理するための第一のストレージ・ビンを、前記第一のストレージ・プロバイダーの第一の特性に基づいて生成し;
第二のストレージ・プロバイダーの第二のストレージを管理するための第二のストレージ・ビンを、前記第二のストレージ・プロバイダーの第二の特性に基づいて生成し;
第一のストレージ型を有する前記第一のストレージおよび前記第一のストレージ型とは異なる第二のストレージ型を有する前記第二のストレージからストレージ集合体を生成し;
前記ストレージ集合体を単一のストレージ・コンテナとして前記ファイル・システムに呈し;
前記ストレージ集合体内にデータを記憶するための、前記ファイル・システムからの要求を受領し;
前記データの特性が前記第一のストレージ・プロバイダーの特性に対応することに基づいて、前記データが、前記第二のストレージではなく、前記第一のストレージ内に記憶されるべきであると決定することを実行させる、
非一時的な機械可読媒体。
〔態様13〕
前記命令が前記機械に:
前記ストレージ抽象化層を利用して、前記第一の特性の第一の部分集合および前記第二の特性の第二の部分集合を前記ファイル・システムに呈することを実行させる、
態様11記載の非一時的な機械可読媒体。
〔態様14〕
前記第一のストレージ・プロバイダーが第一のノードであり、前記第二のストレージ・プロバイダーが第二のノードであり、前記ストレージ集合体が前記第一のノードおよび前記第二のノードにまたがってホストされる、態様11記載の非一時的な機械可読媒体。
〔態様15〕
前記ファイル・システムが複数のノードにまたがってホストされる、態様11ないし14のうちいずれか一項記載の非一時的な機械可読媒体。
〔態様16〕
方法を実行するための命令が記憶されている、機械実行可能コードを有する機械可読媒体を含むメモリと;
前記メモリに結合されたプロセッサであって、前記プロセッサは、前記プロセッサに態様1ないし10のうちいずれか一項記載の方法を実行させる前記機械実行可能コードを実行するよう構成されている、プロセッサとを有する、
ストレージを提供するためのコンピューティング装置。
〔態様17〕
方法を実行するための命令が記憶されている、機械実行可能コードを有する機械可読媒体を含むメモリと;
前記メモリに結合されたプロセッサとを有する、
ストレージを提供するためのコンピューティング装置であって、
前記プロセッサは:
ファイル・システムとストレージ環境との間の間接参照層としてストレージ抽象化層を利用して:
前記ストレージ環境の不均質な型のストレージへのアクセスを提供する複数のストレージ・プロバイダーの特性を取得し;
第一のストレージ・プロバイダーの第一のストレージを管理するための第一のストレージ・ビンを、前記第一のストレージ・プロバイダーの第一の特性に基づいて生成し;
第二のストレージ・プロバイダーの第二のストレージを管理するための第二のストレージ・ビンを、前記第二のストレージ・プロバイダーの第二の特性に基づいて生成し;
第一のストレージ型を有する前記第一のストレージおよび前記第一のストレージ型とは異なる第二のストレージ型を有する前記第二のストレージからストレージ集合体を生成し;
前記ストレージ集合体を単一のストレージ・コンテナとして前記ファイル・システムに呈し;
前記特性に基づいてストレージ・プロバイダーをまたいでデータを選択的に記憶することを前記プロセッサに実行させる前記機械実行可能コードを実行するよう構成されている、
コンピューティング装置。
〔態様18〕
前記第一のストレージ・プロバイダーは第一のI/Oサイズをサポートし、前記第二のストレージ・プロバイダーは前記第一のI/Oサイズとは異なる第二のI/Oサイズをサポートする、態様17記載のコンピューティング装置。
〔態様19〕
前記ファイル・システムは前記第一のI/Oサイズをサポートし、前記第二のI/Oサイズをサポートしない、態様18記載のコンピューティング装置。
〔態様20〕
前記機械実行可能コードが前記プロセッサに:
前記ストレージ抽象化層を利用して:
前記ファイル・システムから圧縮されたデータを受領し;
前記圧縮されたデータを、圧縮された状態で、前記第一のストレージ内に記憶することを実行させる、
態様16記載のコンピューティング装置。
〔態様21〕
前記機械実行可能コードが前記プロセッサに:
前記ストレージ抽象化層を利用して:
前記ファイル・システムから暗号化されたデータを受領し;
前記暗号化されたデータを、暗号化された状態で、前記第一のストレージ内に記憶することを実行させる、
態様16記載のコンピューティング装置。
〔態様22〕
前記機械実行可能コードが前記プロセッサに:
前記複数のストレージ・プロバイダーに関し、前記ファイル・システムによって提供される重複除去を保持させる、
態様16ないし21のうちいずれか一項記載のコンピューティング装置。
Claims (20)
- ストレージを提供する方法であって:
ファイル・システムとストレージ環境との間の間接参照層としてストレージ抽象化層を利用して:
前記ストレージ環境の不均質な型のストレージへのアクセスを提供する複数のストレージ・プロバイダーの特性を取得し;
第一のストレージ・プロバイダーの第一のストレージを管理するための第一のストレージ・ビンを、前記第一のストレージ・プロバイダーの第一の特性に基づいて生成し;
第二のストレージ・プロバイダーの第二のストレージを管理するための第二のストレージ・ビンを、前記第二のストレージ・プロバイダーの第二の特性に基づいて生成し;
第一のストレージ型を有する前記第一のストレージおよび前記第一のストレージ型とは異なる第二のストレージ型を有する前記第二のストレージからストレージ集合体を生成し;
前記ストレージ集合体を単一のストレージ・コンテナとして前記ファイル・システムに呈することを含み、
当該方法がさらに、前記ストレージ抽象化層を利用して:
前記第一のストレージ内の第一のデータへのアクセスの第一の頻度が前記第一のストレージについて前記第一のストレージ・ビンによって設定された閾値より低いことを判別し;
前記第一のデータをログに累積し;
前記第一のストレージ内の第二のデータへのアクセスの第二の頻度が前記第一のストレージについて前記第一のストレージ・ビンによって設定された前記閾値より低いことを判別し;
前記第二のデータを前記ログに累積し;
閾値量のデータが前記ログ内に累積されたことを判別し;
前記ログからの累積されたデータを含み、前記第二のストレージのデータ・フォーマットに対応するストレージ・オブジェクトを生成し;
前記ストレージ・オブジェクトを、前記第二のストレージ・ビンを通じて前記第二のストレージ・プロバイダーに、前記第二のストレージ内での記憶のために送ることを含む、
方法。 - 前記ストレージ抽象化層を利用して:
前記ファイル・システムから、前記第一のデータについての物理ボリューム・ブロック番号を含む、前記第一のデータを求めるアクセス要求を受領し;
前記物理ボリューム・ブロック番号を使ってオブジェクト・メタファイルに問い合わせして、前記ストレージ・オブジェクトのオブジェクト識別子および前記ストレージ・オブジェクト内での前記第一のデータのオフセットを識別し;
前記オブジェクト識別子および前記オフセットを使って、前記第二のストレージ・プロバイダーによって前記第二のストレージ内に記憶されている前記ストレージ・オブジェクト内の前記第一のデータへのアクセスを提供することを含む、
請求項1記載の方法。 - 前記ストレージ抽象化層を利用して:
前記第一のストレージ・ビンを使って、前記第一のストレージ内のデータへの参照の参照回数を追跡し、参照回数が0のデータを前記第一のストレージから解放し;
前記第二のストレージ・ビンを使って、前記第二のストレージ内のデータへの参照の参照回数を追跡し、参照回数が0のデータを前記第二のストレージから解放することを含む、
請求項1記載の方法。 - 前記ストレージ抽象化層を利用して:
前記ストレージ集合体内に第一のデータを記憶するための、前記ファイル・システムからの要求を受領し;
前記第一のデータのデータ特性が前記第一のストレージ・プロバイダーの特性に対応することに基づいて、前記第一のデータを、前記第一のストレージ・ビンを通じて、前記第二のストレージにではなく、前記第一のストレージの第一の記憶位置に選択的に記憶し;
前記第一のデータを、前記第一のストレージから前記第二のストレージ・プロバイダーの前記第二のストレージの第二の記憶位置に移すことを含む、
請求項1記載の方法。 - 前記ストレージ抽象化層を利用して:
前記ファイル・システムから、前記第一のデータについての上書き要求を受領し;
前記上書き要求のデータを新しいデータとして第三の記憶位置に記憶し;
前記第二のストレージ・ビンを使って前記第二の記憶位置にある前記第一のデータを、ガーベージ収集のためにマークすることを含む、
請求項4記載の方法。 - 前記第三の記憶位置は前記第一のストレージ内である、請求項5記載の方法。
- 前記第三の記憶位置は前記第二のストレージ内である、請求項5記載の方法。
- 前記ストレージ抽象化層を利用して、複数のデータを、該データおよびストレージ・プロバイダーの特性に基づいて、諸ストレージ・ビンを通じて、前記複数のストレージ・プロバイダーの対応するストレージに選択的に記憶することを含み、特性は、逐次アクセス特性、ランダム・アクセス特性、ユーザー・データ特性、メタデータ特性、頻繁にアクセスされる特性および頻繁にアクセスされない特性のうちの一つを含む、請求項1ないし7のうちいずれか一項記載の方法。
- 機械によって実行されたときに該機械に請求項1ないし8のうちいずれか一項記載の方法を実行させる方法を実行するための命令を有している非一時的な機械可読媒体。
- 方法を実行するための命令を有している非一時的な機械可読媒体であって、前記命令は、機械によって実行されたときに該機械に:
ファイル・システムとストレージ環境との間の間接参照層としてストレージ抽象化層を利用して:
前記ストレージ環境の不均質な型のストレージへのアクセスを提供する複数のストレージ・プロバイダーの特性を取得し;
第一のストレージ・プロバイダーの第一のストレージを管理するための第一のストレージ・ビンを、前記第一のストレージ・プロバイダーの第一の特性に基づいて生成し;
第二のストレージ・プロバイダーの第二のストレージを管理するための第二のストレージ・ビンを、前記第二のストレージ・プロバイダーの第二の特性に基づいて生成し;
第一のストレージ型を有する前記第一のストレージおよび前記第一のストレージ型とは異なる第二のストレージ型を有する前記第二のストレージからストレージ集合体を生成し;
前記ストレージ集合体を単一のストレージ・コンテナとして前記ファイル・システムに呈し;
前記ストレージ集合体内にデータを記憶するための、前記ファイル・システムからの要求を受領し;
前記データの特性が前記第一のストレージ・プロバイダーの特性に対応することに基づいて、前記データが、前記第二のストレージではなく、前記第一のストレージ内に記憶されるべきであると決定することを実行させるものであり、
前記命令は、機械によって実行されたときに該機械にさらに、前記ストレージ抽象化層を利用して:
前記第一のストレージ内の第一のデータへのアクセスの第一の頻度が前記第一のストレージについて前記第一のストレージ・ビンによって設定された閾値より低いことを判別し;
前記第一のデータをログに累積し;
前記第一のストレージ内の第二のデータへのアクセスの第二の頻度が前記第一のストレージについて前記第一のストレージ・ビンによって設定された前記閾値より低いことを判別し;
前記第二のデータを前記ログに累積し;
閾値量のデータが前記ログ内に累積されたことを判別し;
前記ログからの累積されたデータを含み、前記第二のストレージのデータ・フォーマットに対応するストレージ・オブジェクトを生成し;
前記ストレージ・オブジェクトを、前記第二のストレージ・ビンを通じて前記第二のストレージ・プロバイダーに、前記第二のストレージ内での記憶のために送ることを実行させるものである、
非一時的な機械可読媒体。 - 前記命令が前記機械に:
前記ストレージ抽象化層を利用して、前記第一の特性の第一の部分集合および前記第二の特性の第二の部分集合を前記ファイル・システムに呈することを実行させる、
請求項10記載の非一時的な機械可読媒体。 - 前記第一のストレージ・プロバイダーが第一のノードであり、前記第二のストレージ・プロバイダーが第二のノードであり、前記ストレージ集合体が前記第一のノードおよび前記第二のノードにまたがってホストされる、請求項9記載の非一時的な機械可読媒体。
- 前記ファイル・システムが複数のノードにまたがってホストされる、請求項9ないし12のうちいずれか一項記載の非一時的な機械可読媒体。
- 方法を実行するための命令が記憶されている、機械実行可能コードを有する機械可読媒体を含むメモリと;
前記メモリに結合されたプロセッサであって、前記プロセッサは、前記プロセッサに請求項1ないし8のうちいずれか一項記載の方法を実行させる前記機械実行可能コードを実行するよう構成されている、プロセッサとを有する、
ストレージを提供するためのコンピューティング装置。 - 方法を実行するための命令が記憶されている、機械実行可能コードを有する機械可読媒体を含むメモリと;
前記メモリに結合されたプロセッサとを有する、
ストレージを提供するためのコンピューティング装置であって、
前記プロセッサは:
ファイル・システムとストレージ環境との間の間接参照層としてストレージ抽象化層を利用して:
前記ストレージ環境の不均質な型のストレージへのアクセスを提供する複数のストレージ・プロバイダーの特性を取得し;
第一のストレージ・プロバイダーの第一のストレージを管理するための第一のストレージ・ビンを、前記第一のストレージ・プロバイダーの第一の特性に基づいて生成し;
第二のストレージ・プロバイダーの第二のストレージを管理するための第二のストレージ・ビンを、前記第二のストレージ・プロバイダーの第二の特性に基づいて生成し;
第一のストレージ型を有する前記第一のストレージおよび前記第一のストレージ型とは異なる第二のストレージ型を有する前記第二のストレージからストレージ集合体を生成し;
前記ストレージ集合体を単一のストレージ・コンテナとして前記ファイル・システムに呈し;
前記特性に基づいてストレージ・プロバイダーをまたいでデータを選択的に記憶することを前記プロセッサに実行させる前記機械実行可能コードを実行するよう構成されており、
前記プロセッサはさらに、前記ストレージ抽象化層を利用して:
前記第一のストレージ内の第一のデータへのアクセスの第一の頻度が前記第一のストレージについて前記第一のストレージ・ビンによって設定された閾値より低いことを判別し;
前記第一のデータをログに累積し;
前記第一のストレージ内の第二のデータへのアクセスの第二の頻度が前記第一のストレージについて前記第一のストレージ・ビンによって設定された前記閾値より低いことを判別し;
前記第二のデータを前記ログに累積し;
閾値量のデータが前記ログ内に累積されたことを判別し;
前記ログからの累積されたデータを含み、前記第二のストレージのデータ・フォーマットに対応するストレージ・オブジェクトを生成し;
前記ストレージ・オブジェクトを、前記第二のストレージ・ビンを通じて前記第二のストレージ・プロバイダーに、前記第二のストレージ内での記憶のために送るよう構成されている、
コンピューティング装置。 - 前記第一のストレージ・プロバイダーは第一のI/Oサイズをサポートし、前記第二のストレージ・プロバイダーは前記第一のI/Oサイズとは異なる第二のI/Oサイズをサポートする、請求項15記載のコンピューティング装置。
- 前記ファイル・システムは前記第一のI/Oサイズをサポートし、前記第二のI/Oサイズをサポートしない、請求項16記載のコンピューティング装置。
- 前記機械実行可能コードが前記プロセッサに:
前記ストレージ抽象化層を利用して:
前記ファイル・システムから圧縮されたデータを受領し;
前記圧縮されたデータを、圧縮された状態で、前記第一のストレージ内に記憶することを実行させる、
請求項14記載のコンピューティング装置。 - 前記機械実行可能コードが前記プロセッサに:
前記ストレージ抽象化層を利用して:
前記ファイル・システムから暗号化されたデータを受領し;
前記暗号化されたデータを、暗号化された状態で、前記第一のストレージ内に記憶することを実行させる、
請求項14記載のコンピューティング装置。 - 前記機械実行可能コードが前記プロセッサに:
前記複数のストレージ・プロバイダーに関し、前記ファイル・システムによって提供される重複除去を保持させる、
請求項14ないし19のうちいずれか一項記載のコンピューティング装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021087269A JP2021168138A (ja) | 2017-03-23 | 2021-05-24 | 複合集合体アーキテクチャー |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/467,293 | 2017-03-23 | ||
US15/467,293 US10521143B2 (en) | 2017-03-23 | 2017-03-23 | Composite aggregate architecture |
PCT/US2018/022140 WO2018175144A1 (en) | 2017-03-23 | 2018-03-13 | Composite aggregate architecture |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021087269A Division JP2021168138A (ja) | 2017-03-23 | 2021-05-24 | 複合集合体アーキテクチャー |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020510265A JP2020510265A (ja) | 2020-04-02 |
JP6890675B2 true JP6890675B2 (ja) | 2021-06-18 |
Family
ID=61868868
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019552178A Active JP6890675B2 (ja) | 2017-03-23 | 2018-03-13 | 複合集合体アーキテクチャー |
JP2021087269A Pending JP2021168138A (ja) | 2017-03-23 | 2021-05-24 | 複合集合体アーキテクチャー |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021087269A Pending JP2021168138A (ja) | 2017-03-23 | 2021-05-24 | 複合集合体アーキテクチャー |
Country Status (5)
Country | Link |
---|---|
US (4) | US10521143B2 (ja) |
EP (1) | EP3602267A1 (ja) |
JP (2) | JP6890675B2 (ja) |
CN (1) | CN110603518B (ja) |
WO (1) | WO2018175144A1 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10521143B2 (en) | 2017-03-23 | 2019-12-31 | Netapp Inc. | Composite aggregate architecture |
US10552389B2 (en) * | 2017-04-28 | 2020-02-04 | Oath Inc. | Object and sequence number management |
CN108829344A (zh) * | 2018-05-24 | 2018-11-16 | 北京百度网讯科技有限公司 | 数据存储方法、装置及存储介质 |
US10884627B2 (en) * | 2018-09-26 | 2021-01-05 | International Business Machines Corporation | Compacting data in a dispersed storage network |
JP7323801B2 (ja) * | 2019-11-06 | 2023-08-09 | 富士通株式会社 | 情報処理装置および情報処理プログラム |
US20220398282A1 (en) * | 2021-06-10 | 2022-12-15 | Fidelity Information Services, Llc | Systems and methods for multi-vendor storage infrastructure in a dashboard |
US11567900B1 (en) * | 2021-07-23 | 2023-01-31 | Databricks, Inc. | Scaling delta table optimize command |
US20230130019A1 (en) * | 2021-10-27 | 2023-04-27 | Bank Of America Corporation | Abstraction Layer for Efficient Transliteration of Machine Interpretable Languages |
Family Cites Families (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003216460A (ja) * | 2002-01-21 | 2003-07-31 | Hitachi Ltd | 階層ストレージ装置及びその制御装置 |
JP3748847B2 (ja) * | 2002-10-30 | 2006-02-22 | コナミ株式会社 | 格納装置、プログラム、ならびに、格納方法 |
JP4322031B2 (ja) * | 2003-03-27 | 2009-08-26 | 株式会社日立製作所 | 記憶装置 |
US8412685B2 (en) * | 2004-07-26 | 2013-04-02 | Riverbed Technology, Inc. | Method and system for managing data |
WO2008018446A1 (fr) * | 2006-08-08 | 2008-02-14 | Panasonic Corporation | Contrôleur de mémoire, dispositif de mémoire non-volatile, dispositif d'accès, et système de mémoire non-volatile |
US7660959B2 (en) * | 2006-09-28 | 2010-02-09 | International Business Machines Corporation | Managing encryption for volumes in storage pools |
EP2074544A2 (en) * | 2006-10-09 | 2009-07-01 | SanDisk IL Ltd. | Application dependent storage control |
EP2115593B1 (en) * | 2007-01-26 | 2018-10-24 | Intel Corporation | Hierarchical immutable content-addressable memory processor |
US7657572B2 (en) * | 2007-03-06 | 2010-02-02 | Microsoft Corporation | Selectively utilizing a plurality of disparate solid state storage locations |
KR101517761B1 (ko) * | 2008-07-30 | 2015-05-06 | 시게이트 테크놀로지 엘엘씨 | 데이터 저장 위치 관리 방법 및 이를 데이터 저장 시스템 |
US7653797B1 (en) * | 2008-12-31 | 2010-01-26 | International Business Machines Corporation | Optimizing a marking phase in mark-sweep garbage collectors by reducing paging activity |
US8452932B2 (en) * | 2010-01-06 | 2013-05-28 | Storsimple, Inc. | System and method for efficiently creating off-site data volume back-ups |
US8443153B1 (en) * | 2010-01-06 | 2013-05-14 | Netapp, Inc. | Dynamic balancing of performance with block sharing in a storage system |
US8463825B1 (en) * | 2010-04-27 | 2013-06-11 | Tintri Inc. | Hybrid file system for virtual machine storage |
US8732426B2 (en) * | 2010-09-15 | 2014-05-20 | Pure Storage, Inc. | Scheduling of reactive I/O operations in a storage environment |
US8621161B1 (en) * | 2010-09-23 | 2013-12-31 | Amazon Technologies, Inc. | Moving data between data stores |
US8732518B2 (en) | 2011-04-13 | 2014-05-20 | Netapp, Inc. | Reliability based data allocation and recovery in a storage system |
US8539008B2 (en) * | 2011-04-29 | 2013-09-17 | Netapp, Inc. | Extent-based storage architecture |
US8600949B2 (en) * | 2011-06-21 | 2013-12-03 | Netapp, Inc. | Deduplication in an extent-based architecture |
US9294564B2 (en) * | 2011-06-30 | 2016-03-22 | Amazon Technologies, Inc. | Shadowing storage gateway |
US8832035B2 (en) * | 2011-08-30 | 2014-09-09 | Netapp, Inc. | System and method for retaining deduplication in a storage object after a clone split operation |
US8918378B1 (en) * | 2011-08-31 | 2014-12-23 | Netapp, Inc. | Cloning using an extent-based architecture |
US8886910B2 (en) * | 2011-09-12 | 2014-11-11 | Microsoft Corporation | Storage device drivers and cluster participation |
US9495173B2 (en) * | 2011-12-19 | 2016-11-15 | Sandisk Technologies Llc | Systems and methods for managing data in a device for hibernation states |
US8782344B2 (en) * | 2012-01-12 | 2014-07-15 | Fusion-Io, Inc. | Systems and methods for managing cache admission |
US8751725B1 (en) * | 2012-01-27 | 2014-06-10 | Netapp, Inc. | Hybrid storage aggregate |
US20130238851A1 (en) | 2012-03-07 | 2013-09-12 | Netapp, Inc. | Hybrid storage aggregate block tracking |
US9043530B1 (en) * | 2012-04-09 | 2015-05-26 | Netapp, Inc. | Data storage within hybrid storage aggregate |
JP6035991B2 (ja) | 2012-08-15 | 2016-11-30 | 富士通株式会社 | ストレージ制御方法、およびストレージ制御装置 |
US9430376B2 (en) | 2012-12-26 | 2016-08-30 | Western Digital Technologies, Inc. | Priority-based garbage collection for data storage systems |
WO2014101117A1 (zh) | 2012-12-28 | 2014-07-03 | 华为技术有限公司 | 数据存储方法和存储设备 |
US8959263B2 (en) * | 2013-01-08 | 2015-02-17 | Apple Inc. | Maintaining I/O priority and I/O sorting |
US9329789B1 (en) * | 2013-10-14 | 2016-05-03 | Marvell International Ltd. | Methods and apparatus for efficiently operating on a storage device |
US20150269032A1 (en) * | 2014-03-18 | 2015-09-24 | Netapp, Inc. | Backing up data to cloud data storage while maintaining storage efficiency |
CN106030499B (zh) * | 2014-05-28 | 2019-03-05 | 株式会社日立制作所 | 计算机系统以及计算机系统控制方法 |
JP6406920B2 (ja) | 2014-08-21 | 2018-10-17 | 三菱電機株式会社 | 表示装置およびその駆動方法 |
US10521124B1 (en) * | 2014-09-26 | 2019-12-31 | EMC IP Holding Company LLC | Application-specific workload-based I/O performance management |
JP6005116B2 (ja) | 2014-09-30 | 2016-10-12 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 特定のアプリケーションによってリコールされたファイルの自動化されたマイグレーション |
US9588977B1 (en) * | 2014-09-30 | 2017-03-07 | EMC IP Holding Company LLC | Data and metadata structures for use in tiering data to cloud storage |
US9471228B2 (en) * | 2014-11-20 | 2016-10-18 | Red Hat, Inc. | Caching policies for solid state disks |
US10191914B2 (en) * | 2015-03-31 | 2019-01-29 | EMC IP Holding Company LLC | De-duplicating distributed file system using cloud-based object store |
US9645885B2 (en) * | 2015-05-14 | 2017-05-09 | Amplidata Nv | Hybrid distributed storage system |
KR102509540B1 (ko) * | 2015-06-30 | 2023-03-14 | 삼성전자주식회사 | 저장 장치 및 그것의 가비지 컬렉션 방법 |
US10771550B2 (en) * | 2016-12-28 | 2020-09-08 | Amazon Technologies, Inc. | Data storage system with redundant internal networks |
US10521143B2 (en) | 2017-03-23 | 2019-12-31 | Netapp Inc. | Composite aggregate architecture |
-
2017
- 2017-03-23 US US15/467,293 patent/US10521143B2/en active Active
-
2018
- 2018-03-13 CN CN201880030184.2A patent/CN110603518B/zh active Active
- 2018-03-13 JP JP2019552178A patent/JP6890675B2/ja active Active
- 2018-03-13 WO PCT/US2018/022140 patent/WO2018175144A1/en unknown
- 2018-03-13 EP EP18715172.5A patent/EP3602267A1/en active Pending
-
2019
- 2019-11-21 US US16/690,887 patent/US11188246B2/en active Active
-
2021
- 2021-05-24 JP JP2021087269A patent/JP2021168138A/ja active Pending
- 2021-11-29 US US17/536,249 patent/US11880578B2/en active Active
-
2024
- 2024-01-22 US US18/419,276 patent/US20240184470A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US11880578B2 (en) | 2024-01-23 |
US10521143B2 (en) | 2019-12-31 |
CN110603518B (zh) | 2023-08-18 |
US11188246B2 (en) | 2021-11-30 |
JP2020510265A (ja) | 2020-04-02 |
US20200089422A1 (en) | 2020-03-19 |
EP3602267A1 (en) | 2020-02-05 |
US20240184470A1 (en) | 2024-06-06 |
WO2018175144A1 (en) | 2018-09-27 |
US20180275907A1 (en) | 2018-09-27 |
US20220083247A1 (en) | 2022-03-17 |
JP2021168138A (ja) | 2021-10-21 |
CN110603518A (zh) | 2019-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6890675B2 (ja) | 複合集合体アーキテクチャー | |
US11620064B2 (en) | Asynchronous semi-inline deduplication | |
US10769024B2 (en) | Incremental transfer with unused data block reclamation | |
US11080237B2 (en) | Stale data detection | |
US10761750B2 (en) | Selectively storing data into allocation areas using streams | |
US11347605B2 (en) | Cross-platform replication | |
EP4139802B1 (en) | Methods for managing input-ouput operations in zone translation layer architecture and devices thereof | |
US11709603B2 (en) | Multi-tier write allocation | |
US11487723B2 (en) | Object and sequence number management | |
US11221928B2 (en) | Methods for cache rewarming in a failover domain and devices thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20191128 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20201225 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210126 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210409 |
|
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: 20210427 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210525 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6890675 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |