JP2016511879A - データ記憶システムにおけるストレージをよりきめ細かく、拡張可能に割り当てること可能とする方法及び装置 - Google Patents
データ記憶システムにおけるストレージをよりきめ細かく、拡張可能に割り当てること可能とする方法及び装置 Download PDFInfo
- Publication number
- JP2016511879A JP2016511879A JP2015555982A JP2015555982A JP2016511879A JP 2016511879 A JP2016511879 A JP 2016511879A JP 2015555982 A JP2015555982 A JP 2015555982A JP 2015555982 A JP2015555982 A JP 2015555982A JP 2016511879 A JP2016511879 A JP 2016511879A
- Authority
- JP
- Japan
- Prior art keywords
- chunk
- file system
- chunks
- stripe set
- last
- 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
- 238000000034 method Methods 0.000 title claims abstract description 118
- 238000013500 data storage Methods 0.000 title claims description 59
- 230000015654 memory Effects 0.000 claims abstract description 18
- 238000004590 computer program Methods 0.000 claims description 19
- 238000013508 migration Methods 0.000 abstract description 6
- 230000005012 migration Effects 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 16
- 238000005516 engineering process Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 9
- 230000003287 optical effect Effects 0.000 description 5
- 239000000835 fiber Substances 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000011960 computer-aided design Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000004549 pulsed laser deposition Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- 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/18—File system types
- G06F16/182—Distributed file systems
-
- 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/1727—Details of free space management performed by the file system
-
- 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/11—File system administration, e.g. details of archiving or snapshots
-
- 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/13—File access structures, e.g. distributed indices
-
- 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/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1824—Distributed file systems implemented using Network-attached Storage [NAS] architecture
- G06F16/183—Provision of network file services by network file servers, e.g. by using NFS, CIFS
-
- 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/18—File system types
- G06F16/188—Virtual file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
-
- 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/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage 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/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
きめ細かな、拡張可能な方法でファイルシステムのためのストレージを拡大する方法であって、
スパンに対するランバイアスをファイルサーバによって判断するステップであって、前記ランバイアスは、ファイルシステムのためのアドレス移行テーブルにおけるエントリに関連付けられたメモリの隣接するチャンクの数を示す、ステップと、
前記ファイルシステムのためのメモリを拡大することに対する要求を、前記ファイルサーバによって受信するステップと、
1つのグループのストライプセット中の各ストライプセットをチャンク割り当て部によって採点するステップであって、この採点が、前記ストライプセットにおける未使用のチャンクの数、及び前記ファイルシステムによって使用されている前記ストライプセット上のチャンクの数に少なくとも部分的に基づく、ステップと、
最も高いスコアを有する前記ストライプセット上のチャンクを、前記チャンク割り当て部によって割り当てるステップであって、前記割り当てられたチャンクは、他のファイルシステムのために予約されたランの外側にある、ステップと、
を備える、方法。
請求項P16に記載の方法であって、
スパンに対する前記ランバイアスを判断するステップは、
初期設定ランバイアスを前記ファイルサーバによって判断すること、
を備える、方法。
請求項P16に記載の方法であって、
スパンに対する前記ランバイアスを判断するステップは、
ストライプセットの数及びファイルシステムの数に基づいて、前記ランバイアスを前記ファイルサーバによって判断すること、
を備える、方法。
請求項P16に記載の方法であって、
各ストライプセットを採点するステップは、
前記ファイルシステムの最後に割り当てられたチャンクの後のチャンクが利用可能であることを、前記チャンク割り当て部によって判断することと、
前記ファイルシステムの現在のストライプセットのために、バイアスファクタを前記チャンク割り当て部によって判断することであって、前記現在のストライプセットは、前記ファイルシステムの前記最後に割り当てられたチャンクを含む、ことと、
前記バイアスファクタを有する前記現在のストライプセットを、前記チャンク割り当て部によって採点することと、
を備える、方法。
請求項P16の方法であって、
各ストライプセットを採点するステップは、
前記ファイルシステムの最後に割り当てられたチャンクの後のチャンクが、別のファイルシステムによって使用されることを、前記チャンク割り当て部によって判断することと、
1つのグループのストライプセット中の各ストライプセットを前記チャンク割り当て部によって採点することであって、この採点は、前記ストライプセット上の未使用のチャンクの数と、他のファイルシステムのために予約されるチャンクの数との間の差に少なくとも部分的に基づく、ことと、
を更に備える、方法。
請求項P16に記載の方法であって、
各ストライプセットを採点するステップは、
1つのグループのストライプセット中の各ストライプセットを、前記チャンク割り当て部によって採点することであって、この採点は、前記ストライプセット上の未使用のチャンクの数、スパン加重、前記ファイルシステムによって使用されている前記ストライプセット上のチャンクの数、及びファイルシステム加重に少なくとも部分的に基づく、こと、
を更に備える、方法。
請求項P16に記載の方法であって、
最も高いスコアを有する前記ストライプセット上に前記チャンクを割り当てるステップは、
前記ファイルシステムの最後に割り当てられたチャンクの後のチャンクを、前記チャンク割り当て部によって選択すること、
を備える、方法。
請求項P16に記載の方法であって、
最も高いスコアを有する前記ストライプセット上に前記チャンクを割り当てるステップは、
自身の長さが少なくとも前記ランバイアスである、予約されていないチャンクのランを、前記チャンク割り当て部によって検索することと、
前記ランにおける第1チャンクを、前記チャンク割り当て部によって選択することと、
を備える、方法。
請求項P16に記載の方法であって、
最も高いスコアを有する前記ストライプセット上に前記チャンクを割り当てるステップは、
自身の長さが少なくとも前記ランバイアスである、予約されたチャンクのランを、前記チャンク割り当て部によって検索することと、
前記ランの後半における第1チャンクを、前記チャンク割り当て部によって選択することと、
を備える、方法。
データ記憶システムであって、
チャンク割り当て部を備えるファイルサーバであって、前記ファイルサーバは、スパンに対するランバイアスを判断するように構成され、前記ランバイアスは、ファイルシステムのためのアドレス移行テーブルにおけるエントリに関連付けられたメモリの隣接するチャンクの数を示し、且つ、
前記チャンク割り当て部は、1つのグループのストライプセット中の各ストライプセットを採点するように構成され、この採点は、前記ストライプセットにおける未使用のチャンクの数、及び前記ファイルシステムによって使用されている前記ストライプセット上のチャンクの数に少なくとも部分的に基づき、且つ、
前記チャンク割り当て部は、最も高いスコアを有する前記ストライプセット上にチャンクを割り当てるように構成され、前記割り当てられたチャンクは、他のファイルシステムのために予約されたランの外側にある、ファイルサーバ、
を備える、データ記憶システム。
請求項P25に記載のデータ記憶システムであって、
前記ファイルサーバは、初期設定ランバイアスを判断するように更に構成される、データ記憶システム。
請求項P25に記載のデータ記憶システムであって、
前記ファイルサーバは、ストライプセットの数及びファイルシステムの数に基づいて、前記ランバイアスを判断するように更に構成される、データ記憶システム。
請求項P25に記載のデータ記憶システムであって、
前記チャンク割り当て部は、前記ファイルシステムの最後に割り当てられたチャンクの後のチャンクが利用可能であることを判断し、
前記ファイルシステムの現在のストライプセットに対するバイアスファクタを判断し、前記現在のストライプセットは、前記ファイルシステムの前記最後に割り当てられたチャンクを含み、
且つ、前記バイアスファクタを有する前記現在のストライプセットを採点する、
ように更に構成される、データ記憶システム。
請求項P25に記載のデータ記憶システムであって、
前記チャンク割り当て部は、前記ファイルシステムの最後に割り当てられたチャンクの後のチャンクが別のファイルシステムによって使用されることを決定し、
且つ、前記ストライプセット上の未使用のチャンクの数と、他のファイルシステムのために予約されたチャンクの数との間の差に少なくとも部分的に基づいて、1つのグループのストライプセット中の各ストライプセットを採点する、
ように更に構成される、データ記憶システム。
請求項P25に記載のデータ記憶システムであって、
前記チャンク割り当て部は、1つのグループのストライプセット中の各ストライプセットのスコアを採点するように更に構成され、この採点は、前記ストライプセット上の未使用のチャンク、スパン加重、前記ファイルシステムによって使用されている前記ストライプセット上のチャンクの数、及びファイルシステム加重に少なくとも部分的に基づく、データ記憶システム。
請求項P25に記載のデータ記憶システムであって、
前記チャンク割り当て部は、前記ファイルシステムの最後に割り当てられたチャンクの後のチャンクを選択するように更に構成される、データ記憶システム。
請求項P25に記載のデータ記憶システムであって、
前記チャンク割り当て部は、自身の長さが少なくともランバイアスである、予約されていないチャンクのランを検索し、
且つ前記ランにおける第1チャンクを選択する、
ように更に構成される、データ記憶システム。
請求項P25に記載のデータ記憶システムであって、
前記チャンク割り当て部は、
自身の長さが少なくともランバイアスである、予約されたチャンクのランを検索し、
且つ前記ランの後半における第1チャンクを選択する、
ように更に構成される、データ記憶システム。
ファイルサーバによってファイルシステムのためのストレージを拡大する方法であって、
前記ファイルシステムは、複数のストライプセットから選択された複数のチャンクを含み、前記ファイルサーバは、ファイルシステムの仮想アドレススペースを、前記チャンクに関連付けられた物理記憶アドレスに対応付け、
前記方法は、ファイルサーバによって、
複数のファイルシステムに関連付けられた前記チャンクを追跡するためのチャンクデータベースを維持するステップであって、前記チャンクデータベースは固定数のエントリを含み、各エントリは、前記ファイルシステムの1つに割り当てられたストレージの一部の開始アドレス及び長さに関する情報を格納することが可能である、ステップと、
前記複数のファイルシステムにおいて、ファイルシステムを拡大する要求を受信するステップと、
自身からストレージを割り当てるべきストライプセットを選択するステップと、
前記ストライプセット上で開始アドレスを有する前記チャンクデータベースからエントリを引き出すステップであって、前記エントリは、前記複数のファイルシステムにおける異なるファイルシステムのライブランに対応する、ステップと、
前記ストライプセット上で少なくとも1つのチャンクを識別するステップであって、前記ストライプセットは、ライブランにおける最後のチャンクに続き、且つライブランにおける最後のチャンクに隣接するN個のチャンクの後に位置し、Nは前記ライブランのアクティブラン長を引いたランバイアスに等しい、ステップと、
もし少なくとも1つのチャンクが利用可能である場合、前記ファイルシステムに前記少なくとも1つのチャンクを割り当てるステップと、
を備える、方法。
請求項P34に記載の方法であって、
前記ストライプセット上に開始アドレスを有する前記チャンクデータベースからエントリを引き出し、且つ、少なくとも1つのチャンクが利用可能となるまで、前記少なくとも1つのチャンクを識別することを継続するステップであって、前記少なくとも1つのチャンクは、前記ライブランにおける最後のチャンクに続き、且つ前記ライブランにおける最後のチャンクに隣接するN個のチャンクの後に位置する、ステップ、
を更に備える、方法。
請求項P34に記載の方法であって、
前記ストライプセット上で少なくとも1つのチャンクを識別するステップは、
ランバイアスに等しい利用可能なチャンクのランを識別すること、
を備える、方法。
請求項P34に記載の方法であって、
前記ストライプセット上で少なくとも1つのチャンクを識別するステップは、
前記ストライプセット上で利用可能なチャンクの最も長いランを識別すること、
を備える、方法。
データ記憶システムであって、
メモリであって、該メモリに、複数のファイルシステムに関連付けられたチャンクを追跡するためのチャンクデータベースが格納され、前記チャンクデータベースは固定数のエントリを含み、各エントリは、前記ファイルシステムに割り当てられたストレージの一部の開始アドレス及び長さに関する情報を格納することが可能である、メモリと、
チャンク割り当て部であって、該チャンク割り当て部は、前記複数のファイルシステムにおいてファイルシステムを拡大する要求を受信し、自身からストレージを割り当てるべきストライプセットを選択し、前記ストライプセット上に開始アドレスを有するチャンクデータベースからエントリを引き出し(前記エントリは、前記複数のファイルシステムにおける異なるファイルシステムのライブランに対応する)、前記ストライプセット上で少なくとも1つのチャンクを識別し(前記ストライプセットは、前記ライブランにおける最後のチャンクに続き、且つ前記ライブランにおける最後のチャンクに隣接するN個のチャンクの後に位置し、ここでNは、前記ライブランのアクティブラン長を引いたランバイアスに等しい)、且つもし少なくとも1つのチャンクが利用可能である場合、前記ファイルシステムに少なくとも1つのチャンクを割り当てる、チャンク割り当て部と、
を備える、データ記憶システム。
請求項P38に記載のデータ記憶システムであって、
前記チャンク割り当て部は、前記ストライプセット上に開始アドレスを有するチャンクデータベースからエントリを引き出し、且つ少なくとも1つのチャンクが利用可能になるまで、前記少なくとも1つのチャンクを識別するように更に構成され、前記少なくとも1つのチャンクは、前記ライブランにおける最後のチャンクに続き、且つ前記ライブランにおける最後のチャンクに隣接するN個のチャンクの後に位置する、データ記憶システム。
請求項P38に記載のデータ記憶システムであって、
前記チャンク割り当て部は、ランバイアスに等しい利用可能なチャンクのランを識別するように更に構成される、データ記憶システム。
請求項P38に記載のデータ記憶システムであって、
前記チャンク割り当て部は、前記ストライプセット上の利用可能なチャンクの最も長いランを識別するように更に構成される、データ記憶システム。
ファイルサーバによってファイルシステムのためのストレージを拡大する方法であって、
前記ファイルシステムは、複数のストライプセットから選択された複数のチャンクを含み、前記ファイルサーバは、前記ファイルシステムの仮想アドレススペースを、前記チャンクに関連付けられた物理記憶アドレスに対応付け、
前記方法は、前記ファイルサーバによって、
複数のファイルシステムに関連付けられた前記チャンクを追跡するためのチャンクデータベースを維持するステップであって、前記チャンクデータベースは固定数のエントリを含み、各エントリは、前記ファイルシステムの1つに割り当てられたストレージの一部の開始アドレス及び長さに関する情報を格納することが可能である、ステップと、
前記複数のファイルシステムにおいてファイルシステムを拡大する要求を受信するステップと、
前記要求に対するチャンクの数が、ランバイアスにおけるチャンクの数及びスパン上のストライプセットの数を超えることを決定するステップと、
前記要求に対するチャンクの数をストライプセットの数で割ることによって、各ストライプセットから割り当てるべきチャンクの数を判断するステップと、
各ストライプセットから割り当てるべきチャンクの数に等しい利用可能なチャンクのランを、各ストライプセット上で検索するステップと
利用可能なチャンクの前記ランを、各ストライプセットから割り当てるステップと、
利用可能なチャンクの前記ランに関連付けられた前記チャンクデータベースにおけるエントリを、利用可能なチャンクの各ランに対して作成するステップであって、前記エントリは前記ランの長さを含む、ステップと、
を備える、方法。
データ記憶システムであって、
メモリであって、該メモリに、複数のファイルシステムに関連付けられたチャンクを追跡するためのチャンクデータベースが格納され、前記チャンクデータベースは固定数のエントリを含み、各エントリは、前記ファイルシステムの1つに割り当てられたストレージの一部の開始アドレス及び長さに関する情報を格納することが可能である、メモリと、
チャンク割り当て部であって、該チャンク割り当て部は、前記複数のファイルシステムにおいてファイルシステムを拡大する要求を受信し、前記要求に対するチャンクの数が、ランバイアスにおけるチャンクの数とスパン上のストライプセットの数との積を超えることを判断し、前記要求に対するチャンクの数をストライプセットの数で割ることによって、各ストライプセットから割り当てるべきチャンクの数を判断し、各ストライプセットから割り当てるべきチャンクの数に等しい利用可能なチャンクのランを各ストライプセット上で検索し、利用可能なチャンクのランを各ストライプセットから割り当て、利用可能なチャンクのランに関連付けられた前記チャンクデータベースにおいてエントリを、利用可能なチャンクの各ランに対して作成するように構成され、前記エントリは前記ランの長さを含む、チャンク割り当て部と、
を備える、データ記憶システム。
Claims (20)
- ファイルサーバによってファイルシステムのためのストレージを拡大する方法であって、
前記ファイルシステムは、複数のストライプセットから選択された複数のチャンクを含み、前記ファイルサーバは、前記ファイルシステムの仮想アドレススペースを、前記チャンクに関連付けられた物理記憶アドレスに対応付け、
前記方法は、前記ファイルサーバによって、
ファイルシステムに関連付けられたチャンクを追跡するためのチャンクデータベースを維持するステップであって、該チャンクデータベースは、固定数のエントリを含み、各エントリは、ファイルシステムに割り当てられたストレージの一部の開始アドレス及び長さに関する情報を格納することが可能である、ステップと、
ファイルシステムを拡大する要求を受信するステップと、
チャンクデータベースに基づいて、ファイルシステムに関連付けられた最後のチャンクを識別するステップと、
少なくとも1つのチャンクがファイルシステムへ割り当て可能である場合、最後のチャンクと同じストライプセットのうちのその最後のチャンクに隣接する前記少なくとも1つのチャンクを割り当てるステップと、
前記少なくとも1つの割り当てられたチャンクによって表される、連続したストレージの長さにおける増加を反映させるために、前記最後のチャンクに関連付けられたチャンクデータベースにおけるエントリを更新するステップと、
を備える、方法。 - 請求項1に記載の方法であって、
前記最後のチャンクと同じストライプセットのうちのその最後のチャンクに隣接する少なくとも1つのチャンクが、前記ファイルシステムへの割り当てに対して利用可能であるかどうかを判断する前に、前記最後のチャンクと同じストライプセットのうちのその最後のチャンクに隣接する少なくとも1つのチャンクを予約するステップであって、それによって、前記少なくとも1つのチャンクが利用可能な状態に留まる、ステップ、
を更に備える、方法。 - 請求項1に記載の方法であって、
前記最後のチャンクと同じストライプセットのうちのその最後のチャンクに隣接する少なくとも1つのチャンクが、前記ファイルシステムへ割り当て可能であるかどうかを判断するステップを更に備え、
そのような判断するステップは、
前記ファイルシステムに対するアクティブラン長を判断することと、
前記ファイルシステムへの割り当てに対して利用可能な少なくとも1つのチャンクが存在するのを判断することであって、この判断が行われるのは、前記アクティブラン長がランバイアス未満であり、且つ前記最後のチャンクと同じストライプセットのうちのその最後のチャンクに隣接する少なくとも1つのチャンクが存在する場合である、ことと、
を備える、方法。 - 請求項3に記載の方法であって、
少なくとも1つのチャンクを割り当てるステップは、
前記最後のチャンクと同じストライプセットのうちのその最後のチャンクに隣接するN個までのチャンクを割り当てることであって、ここでNは、前記アクティブラン長を引いた前記ランバイアスに等しい、こと、を備える、方法。 - 請求項3に記載の方法であって、
前記ランバイアスを判断するステップを更に備える、方法。 - 請求項5に記載の方法であって、
前記ランバイアスを判断するステップは、
ストライプセットの数及びファイルシステムの数に基づいて前記ランバイアスを判断することを備える、方法。 - 請求項1に記載の方法であって、
異なるストライプセットから少なくとも1つのチャンクを割り当てるステップであって、この割り当てが行われるのは、前記最後のチャンクと同じストライプセットのうちのその最後のチャンクに隣接する少なくとも1つのチャンクが、利用できないと判断される場合である、ステップ、を更に備える、方法。 - データ記憶システムであって、
メモリであって、該メモリに、ファイルシステムに関連付けられたチャンクを追跡するためのチャンクデータベースが格納され、前記チャンクデータベースは固定数のエントリを含み、各エントリは、前記ファイルシステムに割り当てられたストレージの一部の開始アドレス及び長さに関する情報を格納することが可能である、メモリと、
チャンク割り当て部であって、該チャンク割り当て部は、前記ファイルシステムを拡大する要求を受信し、前記チャンクデータベースに基づいて前記ファイルシステムに関連付けられた最後のチャンクを識別し、少なくとも1つのチャンクが前記ファイルシステムへの割り当てに対して利用可能である場合、前記最後のチャンクと同じストライプセットのうちのその最後のチャンクに隣接する前記少なくとも1つのチャンクを割り当て、且つ、前記少なくとも1つの割り当てられたチャンクによって表される隣接したチャンクの長さにおける増加を反映させるために、前記最後のチャンクに関連付けられた前記チャンクデータベースにおけるエントリを更新するように構成される、チャンク割り当て部と、
を備える、データ記憶システム。 - 請求項8に記載のデータ記憶システムであって、
前記チャンク割り当て部は、前記最後のチャンクと同じストライプセットのうちのその最後のチャンクに隣接する前記少なくとも1つのチャンクを予約するように構成され、この予約が行われた後に、前記最後のチャンクと同じストライプセットのうちのその最後のチャンクに隣接する少なくとも1つのチャンクが、前記ファイルシステムへの割り当てに対して利用可能であるかどうかが判断され、それによって、前記少なくとも1つのチャンクが利用可能な状態に留まる、データ記憶システム。 - 請求項8に記載のデータ記憶システムであって、
前記チャンク割り当て部は、前記最後のチャンクと同じストライプセットのうちのその最後のチャンクに隣接する少なくとも1つのチャンクが、前記ファイルシステムへの割り当てに対して利用可能であるかを判断するように構成され、この判断は、前記ファイルシステムに対するアクティブラン長を判断すると共に、前記ファイルシステムへの割り当てに対して利用可能な少なくとも1つのチャンクが存在することを判断することによって行われ、この判断が行われるのは、前記アクティブラン長がランバイアス未満であり、且つ前記最後のチャンクと同じストライプセットのうちのその最後のチャンクに隣接する少なくとも1つのチャンクが存在する場合である、データ記憶システム。 - 請求項10に記載のデータ記憶システムであって、
前記チャンク割り当て部は、前記最後のチャンクと同じストライプセットのうちのその最後のチャンクに隣接するN個までのチャンクを割り当てることによって、少なくとも1つのチャンクを割り当てるように構成され、ここでNは、前記アクティブラン長を引いた前記ランバイアスに等しい、データ記憶システム。 - 請求項10に記載のデータ記憶システムであって、
前記チャンク割り当て部は、前記ランバイアスを判断するように更に構成される、データ記憶システム。 - 請求項12に記載のデータ記憶システムであって、前記チャンク割り当て部は、ストライプセットの数及びファイルシステムの数に基づいて前記ランバイアスを判断することによって、前記ランバイアスを判断するように構成される、データ記憶システム。
- 請求項8に記載のデータ記憶システムであって、
前記最後のチャンクと同じストライプセットのうちのその最後のチャンクに隣接する少なくとも1つのチャンクが利用可能でないと判断される場合、前記チャンク割り当て部は、異なるストライプセットから、そのような少なくとも1つのチャンクを割り当てるように構成される、データ記憶システム。 - 請求項8に記載のデータ記憶システムであって、
前記チャンクデータベースは、ハードウェアにおいて維持され、且つ前記データ記憶システムは、前記チャンク割り当て部と前記ハードウェアとの間で結合されたインターフェースを含み、このインターフェースを通して、前記チャンク割り当て部は前記チャンクデータベースにアクセスする、データ記憶システム。 - ファイルサーバによってファイルシステム用のストレージを拡大するためのコンピュータプログラムであって、
前記ファイルシステムは、複数のストライプセットから選択された複数のチャンクを含み、前記ファイルサーバは、前記ファイルシステムの仮想アドレススペースを、前記チャンクに関連付けられた物理記憶アドレスに対応付け、
前記コンピュータプログラムは、前記ファイルサーバが、
前記ファイルシステムに関連付けられた前記チャンクを追跡するためのチャンクデータベースを維持し、前記チャンクデータベースは固定数のエントリを含み、各エントリは、前記ファイルシステムに割り当てられたストレージの一部の開始アドレス及び長さに関する情報を格納することが可能であり、
前記ファイルシステムを拡大する要求を受信し、
前記チャンクデータベースに基づいて、前記ファイルシステムに関連付けられた最後のチャンクを識別し、
少なくとも1つのチャンクが前記ファイルシステムへの割り当てに対して利用可能である場合、最後のチャンクと同じストライプセットのうちのその最後のチャンクに隣接する前記少なくとも1つのチャンクを割り当て、
且つ、前記少なくとも1つの割り当てられたチャンクによって表される、隣接するストレージの長さにおける増加を反映させるために、前記最後のチャンクに関連付けられたチャンクデータベースにおけるエントリを更新する、
ことを引き起こすように構成される、コンピュータプログラム。 - 請求項16に記載のコンピュータプログラムであって、
前記ファイルサーバが、
前記最後のチャンクと同じストライプセットのうちのその最後のチャンクに隣接する少なくとも1つのチャンクが、前記ファイルシステムへの割り当てに対して利用可能であるかを判断する前に、前記少なくとも1つのチャンクが利用可能な状態に留まるように、前記最後のチャンクと同じストライプセットのうちのその最後のチャンクに隣接する前記少なくとも1つのチャンクを予約する、
ことを引き起こすように更に構成される、コンピュータプログラム。 - 請求項16に記載のコンピュータプログラムであって、
前記ファイルサーバが、前記最後のチャンクと同じストライプセットのうちのその最後のチャンクに隣接する少なくとも1つのチャンクが、前記ファイルシステムへ割り当て可能であるかを判断することを引き起こすように更に構成され、
そのような判断するステップは、
前記ファイルシステムに対するアクティブラン長を判断することと、
前記アクティブラン長がランバイアス未満であり、且つ前記最後のチャンクと同じストライプセットのうちのその最後のチャンクに隣接する少なくとも1つのチャンクが存在する場合、前記ファイルシステムへ割り当て可能な少なくとも1つのチャンクが存在すると判断することと、
を備える、コンピュータプログラム。 - 請求項18に記載のコンピュータプログラムであって、
少なくとも1つのチャンクを割り当てるステップは、前記最後のチャンクと同じストライプセットのうちのその最後のチャンクに隣接するN個までのチャンクを割り当てることを備え、ここでNは、前記アクティブラン長を引いた前記ランバイアスに等しく、
又は、前記コンピュータプログラムは、前記ファイルサーバが、前記ランバイアスを判断することを引き起こすように構成される、コンピュータプログラム。 - 請求項16に記載のコンピュータプログラムであって、
前記ファイルサーバが、
前記最後のチャンクと同じストライプセットのうちのその最後のチャンクに隣接する少なくとも1つのチャンクが利用可能でないと判断される場合、異なるストライプセットからそのような少なくとも1つのチャンクを割り当てることを、
引き起こすように更に構成される、コンピュータプログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2013/024350 WO2014120240A1 (en) | 2013-02-01 | 2013-02-01 | Method and apparatus to enable finer-grained, scalable allocation of storage in a data storage system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016511879A true JP2016511879A (ja) | 2016-04-21 |
JP6067888B2 JP6067888B2 (ja) | 2017-01-25 |
Family
ID=51262801
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015555982A Active JP6067888B2 (ja) | 2013-02-01 | 2013-02-01 | データ記憶システムにおけるストレージをよりきめ細かく、拡張可能に割り当てること可能とする方法及び装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10789209B2 (ja) |
EP (1) | EP2951674B1 (ja) |
JP (1) | JP6067888B2 (ja) |
CN (1) | CN104956318B (ja) |
WO (1) | WO2014120240A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10146456B1 (en) * | 2016-12-30 | 2018-12-04 | EMC IP Holding Company LLC | Data storage system with multi-level, scalable metadata structure |
WO2019245445A1 (en) * | 2018-06-21 | 2019-12-26 | Telefonaktiebolaget Lm Ericsson (Publ) | Memory allocation in a hierarchical memory system |
CN110222019B (zh) * | 2019-05-08 | 2023-12-19 | 安克创新科技股份有限公司 | 文件系统所占空间的调整方法及装置 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000010738A (ja) * | 1998-06-17 | 2000-01-14 | Toshiba Corp | ディスクアレイシステム、同システムに適用される記憶容量拡張方法および記録媒体 |
US20020124137A1 (en) * | 2001-01-29 | 2002-09-05 | Ulrich Thomas R. | Enhancing disk array performance via variable parity based load balancing |
WO2003077111A1 (fr) * | 2002-03-13 | 2003-09-18 | Fujitsu Limited | Controleur pour dispositif raid |
US20040015672A1 (en) * | 2002-07-17 | 2004-01-22 | Masse Wayne P. | Method, system, and storage medium for optimizing disk space and information access |
JP2004094429A (ja) * | 2002-08-30 | 2004-03-25 | Toshiba Corp | ディスクアレイ装置及び同装置におけるレイドレベル変更方法 |
JP2004102823A (ja) * | 2002-09-11 | 2004-04-02 | Toshiba Corp | 冗長化論理ディスクに対するライトスルー処理方法、ライトスルー処理用プログラム及びディスクコントローラ |
JP2008204206A (ja) * | 2007-02-20 | 2008-09-04 | Nec Corp | データ分散格納システム及びデータ分散方法、それに用いる装置並びにそのプログラム |
US20090327368A1 (en) * | 2008-06-30 | 2009-12-31 | Bluearc Uk Limited | Dynamic Write Balancing in a Data Storage System |
JP2010282608A (ja) * | 2009-06-03 | 2010-12-16 | Hitachi Ltd | 動的チャンク割り当て機能を有するデータストレージシステムに於けるデータボリューム生成を制御するための方法及び装置 |
WO2011045838A1 (en) * | 2009-10-15 | 2011-04-21 | Hitachi,Ltd. | Storage system, storage apparatus, and optimization method of storage areas of storage system |
JP2013519062A (ja) * | 2010-02-26 | 2013-05-23 | ヘックレル・ウント・コッホ・ゲーエムベーハー | 回転ラグブリーチ及び兵器 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU575182B2 (en) * | 1984-06-28 | 1988-07-21 | Wang Laboratories, Inc. | Self extending memory file |
EP1407386A2 (en) * | 2001-06-21 | 2004-04-14 | ISC, Inc. | Database indexing method and apparatus |
US7213021B2 (en) * | 2004-03-11 | 2007-05-01 | Hitachi, Ltd. | Method and apparatus for storage network management |
JP2005346564A (ja) * | 2004-06-04 | 2005-12-15 | Hitachi Global Storage Technologies Netherlands Bv | ディスク装置及びディスク装置の制御方法並びに改竄検出方法 |
US7389382B2 (en) * | 2005-06-08 | 2008-06-17 | Cisco Technology, Inc. | ISCSI block cache and synchronization technique for WAN edge device |
US7502908B2 (en) * | 2006-05-04 | 2009-03-10 | International Business Machines Corporation | Method for providing an address format compatible with different addressing formats used for addressing different sized address spaces |
US7945726B2 (en) * | 2006-05-08 | 2011-05-17 | Emc Corporation | Pre-allocation and hierarchical mapping of data blocks distributed from a first processor to a second processor for use in a file system |
US7961959B2 (en) * | 2006-08-24 | 2011-06-14 | Dell Products L.P. | Methods and apparatus for reducing storage size |
US8331663B2 (en) * | 2007-06-28 | 2012-12-11 | Qualcomm Incorporated | Efficient image compression scheme to minimize storage and bus bandwidth requirements |
US7886124B2 (en) * | 2007-07-30 | 2011-02-08 | Oracle International Corporation | Method and mechanism for implementing dynamic space management for large objects |
US8006053B2 (en) * | 2007-10-12 | 2011-08-23 | Bluearc Uk Limited | System, device, and method for detecting and configuring mirror relationships in a storage system |
-
2013
- 2013-02-01 EP EP13873888.5A patent/EP2951674B1/en active Active
- 2013-02-01 JP JP2015555982A patent/JP6067888B2/ja active Active
- 2013-02-01 WO PCT/US2013/024350 patent/WO2014120240A1/en active Application Filing
- 2013-02-01 CN CN201380071937.1A patent/CN104956318B/zh active Active
- 2013-02-01 US US14/764,648 patent/US10789209B2/en active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000010738A (ja) * | 1998-06-17 | 2000-01-14 | Toshiba Corp | ディスクアレイシステム、同システムに適用される記憶容量拡張方法および記録媒体 |
US20020124137A1 (en) * | 2001-01-29 | 2002-09-05 | Ulrich Thomas R. | Enhancing disk array performance via variable parity based load balancing |
WO2003077111A1 (fr) * | 2002-03-13 | 2003-09-18 | Fujitsu Limited | Controleur pour dispositif raid |
US20040015672A1 (en) * | 2002-07-17 | 2004-01-22 | Masse Wayne P. | Method, system, and storage medium for optimizing disk space and information access |
JP2004094429A (ja) * | 2002-08-30 | 2004-03-25 | Toshiba Corp | ディスクアレイ装置及び同装置におけるレイドレベル変更方法 |
JP2004102823A (ja) * | 2002-09-11 | 2004-04-02 | Toshiba Corp | 冗長化論理ディスクに対するライトスルー処理方法、ライトスルー処理用プログラム及びディスクコントローラ |
JP2008204206A (ja) * | 2007-02-20 | 2008-09-04 | Nec Corp | データ分散格納システム及びデータ分散方法、それに用いる装置並びにそのプログラム |
US20090327368A1 (en) * | 2008-06-30 | 2009-12-31 | Bluearc Uk Limited | Dynamic Write Balancing in a Data Storage System |
JP2010282608A (ja) * | 2009-06-03 | 2010-12-16 | Hitachi Ltd | 動的チャンク割り当て機能を有するデータストレージシステムに於けるデータボリューム生成を制御するための方法及び装置 |
WO2011045838A1 (en) * | 2009-10-15 | 2011-04-21 | Hitachi,Ltd. | Storage system, storage apparatus, and optimization method of storage areas of storage system |
JP2013519062A (ja) * | 2010-02-26 | 2013-05-23 | ヘックレル・ウント・コッホ・ゲーエムベーハー | 回転ラグブリーチ及び兵器 |
Also Published As
Publication number | Publication date |
---|---|
WO2014120240A1 (en) | 2014-08-07 |
US10789209B2 (en) | 2020-09-29 |
EP2951674A1 (en) | 2015-12-09 |
CN104956318B (zh) | 2018-05-18 |
US20150370823A1 (en) | 2015-12-24 |
CN104956318A (zh) | 2015-09-30 |
EP2951674A4 (en) | 2016-08-03 |
EP2951674B1 (en) | 2019-08-14 |
JP6067888B2 (ja) | 2017-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9696932B1 (en) | Virtual provisioning space reservation | |
US10248623B1 (en) | Data deduplication techniques | |
US6912537B2 (en) | Dynamically changeable virtual mapping scheme | |
US9459806B2 (en) | Combining virtual mapping metadata and physical space mapping metadata | |
CN107209714B (zh) | 分布式存储系统及分布式存储系统的控制方法 | |
US8996783B2 (en) | Managing nodes in a storage system | |
US7624230B2 (en) | Information processing apparatus, information processing method and storage system using cache to reduce dynamic switching of mapping between logical units and logical devices | |
JP2004164370A (ja) | 仮想ボリュームの記憶領域割当方法、その装置及びプログラム | |
US20140019706A1 (en) | System and method of logical object management | |
US11086562B2 (en) | Computer system having data amount reduction function and storage control method | |
US11409454B1 (en) | Container ownership protocol for independent node flushing | |
JP5712127B2 (ja) | データ記憶システムにおける動的な書き込み平衡化 | |
JP6067888B2 (ja) | データ記憶システムにおけるストレージをよりきめ細かく、拡張可能に割り当てること可能とする方法及び装置 | |
WO2017145375A1 (ja) | ストレージシステム | |
JP5183363B2 (ja) | 論理ボリュームのデータ移動方法とストレージシステムおよび管理計算機 | |
US10089125B2 (en) | Virtual machines accessing file data, object data, and block data | |
US7493458B1 (en) | Two-phase snap copy | |
US20210034467A1 (en) | Techniques for duplicating inode state to prevent loss of inode metadata | |
JP6636159B2 (ja) | ストレージ装置 | |
US11449237B2 (en) | Targetless snapshot system replication data pointer table | |
WO2019026221A1 (ja) | ストレージシステム及びストレージ制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20161108 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20161114 |
|
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: 20161206 |
|
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: 6067888 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R370 | Written measure of declining of transfer procedure |
Free format text: JAPANESE INTERMEDIATE CODE: R370 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |