JP2013196276A - 情報処理装置、プログラムおよびデータ配置方法 - Google Patents
情報処理装置、プログラムおよびデータ配置方法 Download PDFInfo
- Publication number
- JP2013196276A JP2013196276A JP2012061747A JP2012061747A JP2013196276A JP 2013196276 A JP2013196276 A JP 2013196276A JP 2012061747 A JP2012061747 A JP 2012061747A JP 2012061747 A JP2012061747 A JP 2012061747A JP 2013196276 A JP2013196276 A JP 2013196276A
- Authority
- JP
- Japan
- Prior art keywords
- data
- stripe
- stored
- block
- blocks
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID 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/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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- 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
Abstract
【解決手段】各々が、複数の記憶装置のそれぞれの1ブロックの記憶領域の集合である複数のストライプの中から、少なくとも1つのブロックにデータが格納され、他のブロックに該データの誤り訂正符号が格納されているストライプを、移動元として選択する。第2の選択手段は、該移動元のストライプ以外のストライプの中から、少なくとも1つのブロックにデータが格納されており、かつ該移動元のストライプ内のデータが格納されているブロック数と同数以上の空きブロック数を有するストライプを、移動先として選択する。移動手段は、該移動元のストライプに格納されているデータを、該移動先のストライプのブロックに移動する。
【選択図】図1
Description
また、一部のハードディスクに障害が発生しても、残りのデータとデータ修正用のパリティとにもとづいて、欠損したデータを算出できるので、元のデータを回復することが可能である。
図2、図3はデータの選択および移動の動作例を説明するための図である。図2はデータの移動前の状態を示し、図3はデータの移動後の状態を示している。記憶装置11−1〜11−5があるとし、記憶装置11−1の記憶領域は、ブロックb1−1〜b1−4に分けられている。
次にデータの選択動作について説明する。図2において、選択手段12は、ストライプs1〜s4のうち、少なくとも1つのブロックにデータが格納され、他のブロックに該データの誤り訂正符号が格納されているストライプを、移動元として選択する。ここでは、ストライプs4を選択したとする。
図4はライトペナルティの発生例を示す図である。データとパリティがすでに書き込まれているストライプの空き領域に、新たなデータを書き込む場合には、ライトペナルティが生じる。
このような処理がライトペナルティである。ライトペナルティでは、パリティ算出時に、すでに格納されているパリティを読み出すオーバーヘッドが存在するため、その分、データ書き込み処理の速度が遅延することになる。
図6はファイル管理システムの構成例を示す図である。ファイル管理システム1は、ファイルサーバ20およびサーバ30を備える。ファイルサーバ20とサーバ30は、LAN(Local Area Network)で接続されている。
空き容量が不足している状態でハードディスクを追加するような場合、これまで使用していたハードディスクの領域にはデータを追加して記憶できる領域が少なくなっている。このため、新規の書き込みデータのほとんどは、追加されたハードディスクに記憶されていくことになる。
ハードディスク制御部202は、例えば、SAS(Serial Attached SCSI(Small Computer System Interface))コントローラに該当し、図7に示したRAID制御部24を実現する。
メモリ205は、例えば、RAM(Random Access Memory)に該当し、図7に示した記憶部22を実現する。SSD206は、制御手順格納領域を有して、ファイルサーバ20の動作手順を記した各種のプログラムを格納する。
ハードディスク等の記憶媒体にデータを管理するための方法としては、ファイルシステムを利用する方法が知られている。ファイルシステムは、一般的に、データを管理・制御するための領域と、データそのものの領域とに大別される。
「ストライプ単位のデータ数」は、ストライプ内に格納されているデータの数である。データ数の最大値は、RAIDを構成するハードディスクの数となる。
したがって、現在、ストライプ中に3(=4−1)つのデータを格納しているストライプがあれば、そのストライプにデータを移動すれば、空きブロック数は0になる。よって、3つのデータを格納しているストライプは、この場合、データ移動後に生じる空きブロック数が最も少なくなるストライプであるといえる。
以下同様な制御が行われる。次のデータ再配置について説明すると、まず、データ配置制御部21は、データが格納されているストライプのうち、データが格納されているブロック数が少ないストライプを優先的に移動元ストライプとして選択する(格納されているデータ数が0個の場合は除く)。
〔S3〕データ配置制御部21は、S(i)=Cか否かを判断する。iはストライプ番号である。S(i)=Cの場合は、ステップS11へ行き、S(i)≠Cの場合は、ステップS4へ行く。なお、S(i)=Cの場合は、移動元ストライプが見つかったので、ステップS11に行って、移動先ストライプを探す処理を行うことになる。
〔S5〕データ配置制御部21は、i=0か否かを判断する。i=0の場合は、ステップS7へ行き、i≠0の場合は、ステップS6へ行く。
〔S7〕データ配置制御部21は、次にデータ数が少ないストライプを探す。例えば、最初にC=1のストライプを探したら、次にC=2のストライプを探す(データ数が2のストライプを探す)。このように、段階的に、データ数Cを増やしていく。
〔S9〕データ配置制御部21は、C≧Dn/2であるか否かを判断する。ここで、移動元ストライプに格納されるデータの数が大きくなりすぎたか否かを判断する条件式は、C≧Dn/2とする。Cはデータ数、Dnは現在稼働するハードディスク数(ストライプ当たりのブロック数)である。
〔S13〕データ配置制御部21は、移動先ストライプが見つかったので、移動元ストライプ内のデータを移動先ストライプへ移動する。ステップS4へ戻る。なお、データ配置制御部21は、データ移動後は、データ数管理テーブルT1およびデータ有無管理テーブルT2の登録変更も行う。
〔S15〕データ配置制御部21は、j=n−1か否かを判断する。j≠n−1の場合はステップS16へ行き、j=n−1の場合はステップS17へ行く。
〔S17〕データ配置制御部21は、最後のストライプS(n−1)まで探索したので、より空きブロック数が多い移動先ストライプを探す処理を行う。
ここで、空きブロック数が多い移動先ストライプを探すための条件式は、X≧Dn−Cとなる。X≧Dn−Cを満たす場合は、ステップS12で示した式が成立しないので、移動先ストライプは無い。また、X<Dn−Cを満たす場合は、ステップS12で示した式が成立し、データ格納可能な移動先ストライプが存在するので、移動先ストライプの探索処理を続ける。
〔S20〕データ配置制御部21は、移動元ストライプのデータを格納可能な移動先ストライプが存在しないと判断して、移動先ストライプの探索処理は終了する。
〔S32〕データ配置制御部21は、データ数管理テーブルT1の登録情報をリードする。
〔S35〕データ配置制御部21は、S(i)==Cであるか否かを判断する。S(i)==Cの場合は、ステップS39へ行く。S(i)==Cでない場合は、ステップS36へ行く。
〔S38〕データ配置制御部21は、C≧Dn/2であるか否かを判断する。C≧Dn/2の場合は、移動元のデータ数が大きくなりすぎたと認識して終了し、C<Dn/2の場合はステップS32へ戻る。
〔S40〕移動先ストライプ探索処理から復帰すると、データ配置制御部21は、移動元ストライプから移動先ストライプへのデータ移動処理へ、処理を移行する。データ移動処理から復帰すると、処理がステップS32に戻る。
〔S41〕データ配置制御部21は、データ数管理テーブルT1の登録情報をリードする。
〔S44〕データ配置制御部21は、S(j)==Dn−C−Xか否かを判断する。S(j)==Dn−C−Xの場合は、データ配置制御部21は、現在探索しているストライプS(j)が移動先ストライプであると決定し、処理を呼び出し元に復帰させる。またS(j)≠Dn−C−Xの場合は、データ配置制御部21は処理をステップS45へ進める。
〔S47〕データ配置制御部21は、X≧Dn−Cか否かを判断する。X<Dn−Cの場合はステップS44へ戻る。X≧Dn−Cの場合は移動先ストライプが存在しないと認識して、処理を呼び出し元に復帰させずに終了する。
〔S51〕データ配置制御部21は、DL(i)=1であるか否かを判断する。Lはハードディスク番号、iは移動元ストライプ番号である。
〔S53〕データ配置制御部21は、DM(j)=0であるか否かを判断する。Mはハードディスク番号、jは移動先ストライプ番号である。
〔S55〕データ配置制御部21は、DL(i)のブロックに格納されていたデータをDM(j)の空きブロックに移動する。
以上説明したように、本実施の形態によれば、一部のブロックにのみデータが格納されたストライプ内のデータを、一部のブロックにのみデータが格納されたストライプに移動し、ストライプライト可能領域を作り出すことができる。これにより、以後、新たなデータを格納する際には、ストライプライトによる書き込みを行うことができる。その結果、ライトペナルティの発生が抑止される。
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。
11−1〜11−N 記憶装置
12、13 選択手段
14 移動手段
s1〜sn ストライプ
Claims (9)
- 各々が、複数の記憶装置のそれぞれの1ブロックの記憶領域の集合である複数のストライプの中から、少なくとも1つのブロックにデータが格納され、他のブロックに該データの誤り訂正符号が格納されているストライプを、移動元として選択する第1の選択手段と、
該移動元のストライプ以外のストライプの中から、少なくとも1つのブロックにデータが格納されており、かつ該移動元のストライプ内のデータが格納されているブロック数と同数以上の空きブロック数を有するストライプを、移動先として選択する第2の選択手段と、
該移動元のストライプに格納されているデータを、該移動先のストライプのブロックに移動する移動手段と、
を有する情報処理装置。 - 前記第1の選択手段は、データ格納に利用するブロックのうちの半分未満のブロックにデータが格納されているストライプを、移動元として選択する、
ことを特徴とする請求項1記載の情報処理装置。 - 前記第1の選択手段は、データが格納されているストライプのうち、データが格納されているブロック数が少ないストライプを、移動元として優先的に選択する、
ことを特徴とする請求項1または2のいずれかに記載の情報処理装置。 - 前記第1の選択手段は、データ格納に利用するブロックのうちの半分未満のブロックにデータが格納されているストライプが見つからなくなるまで、移動元とするストライプの選択を繰り返し実行する、
ことを特徴とする請求項1乃至3のいずれかに記載の情報処理装置。 - 前記第2の選択手段は、データ移動後に生じる空きブロック数が少ないストライプを、移動先として優先的に選択する、
ことを特徴とする請求項1乃至4のいずれかに記載の情報処理装置。 - ファイルシステムにおける移動元のストライプに格納されていたデータの格納先のブロック位置の指定を、該移動元のストライプのブロックの位置から移動先のストライプのブロックの位置に更新する更新手段、
をさらに有することを特徴とする請求項1乃至5のいずれかに記載の情報処理装置。 - 未使用の記憶装置を追加時に、既存のストライプそれぞれに、該未使用の記憶装置内のブロックを追加する追加手段をさらに有し、
前記第1の選択手段は、既存のストライプそれぞれへのブロックの追加が行われたときに、移動元とするストライプの選択処理を開始する、
ことを特徴とする請求項1乃至6のいずれかに記載の情報処理装置。 - コンピュータに、
各々が、複数の記憶装置のそれぞれの1ブロックの記憶領域の集合である複数形成されたストライプであって、ストライプ内のブロックは、データと該データの誤り訂正符号との格納に使用される前記複数のストライプのうち、少なくとも1つのブロックにデータが格納されているストライプを、移動元として選択し、
該移動元のストライプ以外のストライプのうち、少なくとも1つのブロックにデータが格納されており、かつ該移動元のストライプ内のデータが格納されているブロック数と同数以上の空きブロック数を有するストライプを、移動先として選択し、
該移動元のストライプに格納されているデータを、該移動先のストライプのブロックに移動する、
処理を実行させるプログラム。 - コンピュータが、
各々が、複数の記憶装置のそれぞれの1ブロックの記憶領域の集合である複数のストライプの中から、少なくとも1つのブロックにデータが格納され、他のブロックに該データの誤り訂正符号が格納されているストライプを、移動元として選択し、
該移動元のストライプ以外のストライプの中から、少なくとも1つのブロックにデータが格納されており、かつ該移動元のストライプ内のデータが格納されているブロック数と同数以上の空きブロック数を有するストライプを、移動先として選択し、
該移動元のストライプに格納されているデータを、該移動先のストライプのブロックに移動してデータを配置する、
ことを特徴とするデータ配置方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012061747A JP2013196276A (ja) | 2012-03-19 | 2012-03-19 | 情報処理装置、プログラムおよびデータ配置方法 |
EP13155595.5A EP2642379A2 (en) | 2012-03-19 | 2013-02-18 | Information processing apparatus, program, and data allocation method |
US13/772,398 US20130246842A1 (en) | 2012-03-19 | 2013-02-21 | Information processing apparatus, program, and data allocation method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012061747A JP2013196276A (ja) | 2012-03-19 | 2012-03-19 | 情報処理装置、プログラムおよびデータ配置方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013196276A true JP2013196276A (ja) | 2013-09-30 |
Family
ID=47826882
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012061747A Pending JP2013196276A (ja) | 2012-03-19 | 2012-03-19 | 情報処理装置、プログラムおよびデータ配置方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20130246842A1 (ja) |
EP (1) | EP2642379A2 (ja) |
JP (1) | JP2013196276A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018229944A1 (ja) * | 2017-06-15 | 2018-12-20 | 株式会社日立製作所 | ストレージシステム及びストレージシステムの制御方法 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9448887B1 (en) * | 2015-08-22 | 2016-09-20 | Weka.IO Ltd. | Distributed erasure coded virtual file system |
CN113835637A (zh) * | 2020-03-19 | 2021-12-24 | 北京奥星贝斯科技有限公司 | 一种数据的写入方法、装置以及设备 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5502836A (en) * | 1991-11-21 | 1996-03-26 | Ast Research, Inc. | Method for disk restriping during system operation |
US5615352A (en) * | 1994-10-05 | 1997-03-25 | Hewlett-Packard Company | Methods for adding storage disks to a hierarchic disk array while maintaining data availability |
US5537534A (en) * | 1995-02-10 | 1996-07-16 | Hewlett-Packard Company | Disk array having redundant storage and methods for incrementally generating redundancy as data is written to the disk array |
US5604902A (en) * | 1995-02-16 | 1997-02-18 | Hewlett-Packard Company | Hole plugging garbage collection for a data storage system |
US5809224A (en) * | 1995-10-13 | 1998-09-15 | Compaq Computer Corporation | On-line disk array reconfiguration |
JP3170455B2 (ja) * | 1996-05-27 | 2001-05-28 | インターナショナル・ビジネス・マシーンズ・コーポレ−ション | データ記憶システムにおけるデータの再配置方法、そのシステムに記憶されたデータのアクセス方法及びデータ記憶システム |
JPH1153235A (ja) * | 1997-08-08 | 1999-02-26 | Toshiba Corp | ディスク記憶装置のデータ更新方法、ならびにディスク記憶制御システム |
US6742081B2 (en) * | 2001-04-30 | 2004-05-25 | Sun Microsystems, Inc. | Data storage array employing block checksums and dynamic striping |
WO2003077111A1 (fr) * | 2002-03-13 | 2003-09-18 | Fujitsu Limited | Controleur pour dispositif raid |
US9088494B2 (en) * | 2002-06-26 | 2015-07-21 | Avaya Communication Israel Ltd. | Packet fragmentation prevention |
US7386663B2 (en) * | 2004-05-13 | 2008-06-10 | Cousins Robert E | Transaction-based storage system and method that uses variable sized objects to store data |
US7418550B2 (en) * | 2005-07-30 | 2008-08-26 | Lsi Corporation | Methods and structure for improved import/export of raid level 6 volumes |
JP5075699B2 (ja) | 2008-03-21 | 2012-11-21 | 株式会社日立製作所 | ストレージ容量拡張方法及びその方法を使用するストレージシステム |
JP4792490B2 (ja) * | 2008-09-08 | 2011-10-12 | 株式会社日立製作所 | 記憶制御装置及びraidグループの拡張方法 |
US8429514B1 (en) * | 2008-09-24 | 2013-04-23 | Network Appliance, Inc. | Dynamic load balancing of distributed parity in a RAID array |
US8117613B2 (en) * | 2009-04-08 | 2012-02-14 | Microsoft Corporation | Optimized virtual machine migration mechanism |
US8266501B2 (en) * | 2009-09-29 | 2012-09-11 | Micron Technology, Inc. | Stripe based memory operation |
US9026716B2 (en) * | 2010-05-12 | 2015-05-05 | Western Digital Technologies, Inc. | System and method for managing garbage collection in solid-state memory |
US9021231B2 (en) * | 2011-09-02 | 2015-04-28 | SMART Storage Systems, Inc. | Storage control system with write amplification control mechanism and method of operation thereof |
-
2012
- 2012-03-19 JP JP2012061747A patent/JP2013196276A/ja active Pending
-
2013
- 2013-02-18 EP EP13155595.5A patent/EP2642379A2/en not_active Withdrawn
- 2013-02-21 US US13/772,398 patent/US20130246842A1/en not_active Abandoned
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018229944A1 (ja) * | 2017-06-15 | 2018-12-20 | 株式会社日立製作所 | ストレージシステム及びストレージシステムの制御方法 |
JPWO2018229944A1 (ja) * | 2017-06-15 | 2019-11-07 | 株式会社日立製作所 | ストレージシステム及びストレージシステムの制御方法 |
Also Published As
Publication number | Publication date |
---|---|
EP2642379A2 (en) | 2013-09-25 |
US20130246842A1 (en) | 2013-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10977124B2 (en) | Distributed storage system, data storage method, and software program | |
JP5942511B2 (ja) | バックアップ装置,バックアップ方法,およびバックアッププログラム | |
EP3617867B1 (en) | Fragment management method and fragment management apparatus | |
JP5407430B2 (ja) | ストレージシステム | |
JP6350162B2 (ja) | 制御装置 | |
JP6094267B2 (ja) | ストレージシステム | |
CN109407975B (zh) | 写数据方法与计算节点以及分布式存储系统 | |
US20220066786A1 (en) | Pre-scanned data for optimized boot | |
JP2017204037A (ja) | 情報処理装置、重複除去プログラム、及び重複除去方法 | |
JP2016510918A (ja) | ボリューム複製を目的としたワークロードの特定およびバッファのサイズ設定 | |
JP2006331076A (ja) | データ記憶システム及び記憶方法 | |
JP6233403B2 (ja) | ストレージシステム、ストレージ装置、ストレージ装置の制御方法及び制御プログラム、管理装置、管理装置の制御方法及び制御プログラム | |
JP2013196276A (ja) | 情報処理装置、プログラムおよびデータ配置方法 | |
US11516287B2 (en) | Method and apparatus for performing simple storage service seamless migration using index objects | |
JP5719083B2 (ja) | データベース装置、プログラムおよびデータ処理方法 | |
JP5141234B2 (ja) | 階層記憶制御装置、階層記憶制御システム及びそれらに用いる階層記憶制御方法及びそのプログラム | |
JP2016192170A (ja) | ストレージ制御装置、ストレージシステムおよびストレージ制御プログラム | |
US20130159656A1 (en) | Controller, computer-readable recording medium, and apparatus | |
JP2015143945A (ja) | ストレージ制御装置、ストレージ装置および制御プログラム | |
JP2007334752A (ja) | Raid装置、raid制御プログラムおよびキャッシュ管理方法 | |
US11188258B2 (en) | Distributed storage system | |
WO2015162717A1 (ja) | 計算機 | |
JP5303935B2 (ja) | データ多重化システムおよびデータ多重化方法 | |
US11163642B2 (en) | Methods, devices and computer readable medium for managing a redundant array of independent disks | |
WO2016001959A1 (ja) | ストレージシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20141204 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150930 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20151006 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20151203 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160412 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160613 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20160823 |