JP6375886B2 - パリティレイアウト決定プログラム、パリティレイアウト決定方法、ストレージ装置およびストレージシステム - Google Patents
パリティレイアウト決定プログラム、パリティレイアウト決定方法、ストレージ装置およびストレージシステム Download PDFInfo
- Publication number
- JP6375886B2 JP6375886B2 JP2014232052A JP2014232052A JP6375886B2 JP 6375886 B2 JP6375886 B2 JP 6375886B2 JP 2014232052 A JP2014232052 A JP 2014232052A JP 2014232052 A JP2014232052 A JP 2014232052A JP 6375886 B2 JP6375886 B2 JP 6375886B2
- Authority
- JP
- Japan
- Prior art keywords
- parity
- data
- local
- layout
- layouts
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 44
- 238000011084 recovery Methods 0.000 claims description 63
- 238000004364 calculation method Methods 0.000 claims description 51
- 238000010586 diagram Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
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
- G06F11/108—Parity data distribution in semiconductor storages, e.g. in SSD
-
- 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
- G06F11/1096—Parity calculation or recalculation after configuration or reconfiguration of the system
-
- 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
- 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
- G06F11/1088—Reconstruction on already foreseen single or plurality of spare disks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Detection And Correction Of Errors (AREA)
Description
図1は、実施の形態にかかるパリティレイアウト決定方法の一実施例を示す説明図である。図1において、パリティレイアウト決定装置101は、パリティレイアウトを決定するコンピュータである。
(参考文献:Erasure Code with Shingled Local Parity Groups for Efficient Recovery from Multiple Disk Failures,https://www.usenix.org/conference/hotdep14/workshop−program/presentation/miyamae)
次に、図2を用いて、図1に示したパリティレイアウト決定方法を適用したストレージシステム200の一例について説明する。
図3は、実施の形態にかかるパリティレイアウト決定装置101のハードウェア構成例を示すブロック図である。パリティレイアウト決定装置101は、CPU(Central Processing Unit)301と、メモリ302と、IOC(Input Output Controller)303と、I/F304と、を有する。CPU301と、メモリ302と、IOC303と、I/F304とは、バス300によってそれぞれ接続される。
図4は、実施の形態にかかるパリティレイアウト400の一例を示す説明図である。図4において、パリティレイアウト400は、例えば、パリティレイアウト決定装置101によって作成、更新され、パリティレイアウト決定装置101のメモリ302に記憶される。
次に、図2に示したパリティレイアウト決定装置101の機能的構成例について説明する。図5は、実施の形態にかかるパリティレイアウト決定装置101の機能的構成例を示すブロック図である。図5においてパリティレイアウト決定装置101は、取得部501と、作成部502と、算出部503と、選択部504と、を含む構成である。取得部501と、作成部502と、算出部503と、選択部504と、を含む制御部は、具体的には、例えば、図3に示したメモリ302などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、その機能を実現する。各機能部の処理結果は、例えば、図3に示したメモリ302などの記憶装置に記憶される。
(1)(1、1)、(4、3)
(2)(1、2)、(4、2)
(3)(1、3)、(4、1)
(4)(2、1)、(3、3)
(5)(2、2)、(3、2)
(6)(2、3)、(3、1)
(7)(3、1)、(2、3)
(8)(3、2)、(2、2)
(9)(3、3)、(2、1)
(10)(4、1)、(1、3)
(11)(4、2)、(1、2)
(12)(4、3)、(1、1)
の12個を抽出する。
(1) SHEC(9、1、1)+SHEC(9、4、3)
(2) SHEC(9、1、2)+SHEC(9、4、2)
(3) SHEC(9、1、3)+SHEC(9、4、1)
(4) SHEC(9、2、1)+SHEC(9、3、3)
(5) SHEC(9、2、2)+SHEC(9、3、2)
(6) SHEC(9、2、3)+SHEC(9、3、1)
(7) SHEC(9、3、1)+SHEC(9、2、3)
(8) SHEC(9、3、2)+SHEC(9、2、2)
(9) SHEC(9、3、3)+SHEC(9、2、1)
(10)SHEC(9、4、1)+SHEC(9、1、3)
(11)SHEC(9、4、2)+SHEC(9、1、2)
(12)SHEC(9、4、3)+SHEC(9、1、1)
ここで、「+」は、ローカルパリティレイアウトを組み合わせることを意味する。
(1)ディスク401に記憶される情報は、例えば、ディスク402〜406およびディスク410の情報から復旧できる。このため、復旧するためのデータ量は6になる。ディスク402〜412も同様でデータ量は6になる。このように、データ量6で復旧できるディスクは12である。
(2)ディスク413に記憶される情報は、例えば、ディスク401〜409の情報から復旧できる。このため、復旧するためのデータ量は9になる。ディスク414も同様でデータ量は9になる。このように、データ量9で復旧できるディスクは2である。
(3)データチャンクおよびパリティチャンクの容量は14であるため、平均データ量は、(6/14)×12+(9/14)×2となる。
(4)データチャンクおよびパリティチャンクの容量は14であるため、リカバリ効率は、(6×12/14+9×2/14)/14の逆数となる。
図6は、実施の形態にかかるパリティレイアウト決定装置101のパリティレイアウト決定処理動作の一例を示すフローチャートである。図6において、パリティレイアウト決定装置101は、データチャンク数k、パリティチャンク数の合計値m、信頼性指数の合計値cおよびレイアウトの段数nを取得する(ステップS601)。
図7は、実施の形態にかかるパリティレイアウト決定装置101の効果を示すプロパティマップの一例を示す説明図である。ここで、プロパティマップとは、容量効率c_eを横軸で、リカバリ数r_e1を縦軸で、信頼性を図形で表したもので、原点から遠ざかるところにプロットされたレイアウトほど全体的なバランスから見て性能が優れていることを示す。また、プロパティマップは、データチャンク数k、パリティチャンク数の合計値m、信頼性指数の合計値c、記憶領域を構成するディスクの信頼性等を入力して、容量効率c_e、リカバリ数r_e1および信頼性を計算したものである。
(1)複数のローカルパリティレイアウトのそれぞれのデータ領域の数が、取得したデータ領域の数である。
(2)複数のローカルパリティレイアウトのそれぞれのパリティ領域の数の総和が、取得したパリティ領域の数である。
(3)複数のローカルパリティレイアウトのそれぞれの信頼性指数の総和が、取得した信頼性指数の数である。
処理をコンピュータに実行させることを特徴とするパリティレイアウト決定プログラム。
データ領域の数、パリティ領域の数およびデータの冗長度を示す信頼性指数を取得する処理を実行させ、
前記作成する処理は、
前記ローカルパリティレイアウトを、
前記複数のローカルパリティレイアウトのそれぞれのデータ領域の数が、取得した前記データ領域の数であり、かつ、
前記複数のローカルパリティレイアウトのそれぞれのパリティ領域の数の総和が、取得した前記パリティ領域の数であり、かつ、
前記複数のローカルパリティレイアウトのそれぞれの信頼性指数の総和が、取得した前記信頼性指数の数であることを満たす前記複数のローカルパリティレイアウトから作成することを特徴とする付記1に記載のパリティレイアウト決定プログラム。
前記ローカルパリティレイアウトが複数作成された場合、
前記ローカルパリティレイアウト毎に、前記データ領域および前記パリティ領域の容量に対して、前記データ領域または前記パリティ領域に記憶される情報を復旧するための平均データ量の比率を示すリカバリ効率を算出し、
前記算出したリカバリ効率が最もよいローカルパリティレイアウトを選択する、
処理を実行させることを特徴とする付記2に記載のパリティレイアウト決定プログラム。
処理をコンピュータに実行させるパリティレイアウト決定プログラムを記録したことを特徴とする前記コンピュータに読み取り可能な記録媒体。
処理をコンピュータが実行することを特徴とするパリティレイアウト決定方法。
前記ローカルパリティレイアウトに基づく記憶領域を有する、ストレージ装置と、
を含むことを特徴とするストレージシステム。
201 ストレージ装置
202 ホストコンピュータ
501 取得部
502 作成部
503 算出部
504 選択部
Claims (5)
- データ領域の数、パリティ領域の数およびデータの冗長度を示す信頼性指数を取得し、
データおよびパリティの記憶領域への配置パターンであり、複数のデータのうちの全てのデータからではなく一部のデータから前記パリティが計算されることを含む、前記複数のデータを冗長化して記憶するためのローカルパリティレイアウトを、前記複数のデータのうちローカルパリティを計算するデータ領域の数である計算範囲の長さが異なる複数のローカルパリティレイアウトを組み合わせることにより作成するにあたり、
前記複数のローカルパリティレイアウトのそれぞれのデータ領域の数が、取得した前記データ領域の数であり、かつ、
前記複数のローカルパリティレイアウトのそれぞれのパリティ領域の数の総和が、取得した前記パリティ領域の数であり、かつ、
前記複数のローカルパリティレイアウトのそれぞれの信頼性指数の総和が、取得した前記信頼性指数の数であることを満たす前記複数のローカルパリティレイアウトから、前記ローカルパリティレイアウトを作成する、
処理をコンピュータに実行させることを特徴とするパリティレイアウト決定プログラム。 - 前記コンピュータに、
前記ローカルパリティレイアウトが複数作成された場合、
前記ローカルパリティレイアウト毎に、当該ローカルパリティレイアウトのデータ領域およびパリティ領域の容量に対して、前記データ領域または前記パリティ領域に記憶される情報を復旧するための平均データ量の比率を示すリカバリ効率を算出し、
前記算出したリカバリ効率が最もよいローカルパリティレイアウトを選択する、
処理を実行させることを特徴とする請求項1に記載のパリティレイアウト決定プログラム。 - データ領域の数、パリティ領域の数およびデータの冗長度を示す信頼性指数を取得し、
データおよびパリティの記憶領域への配置パターンであり、複数のデータのうちの全てのデータからではなく一部のデータから前記パリティが計算されることを含む、前記複数のデータを冗長化して記憶するためのローカルパリティレイアウトを、前記複数のデータのうちローカルパリティを計算するデータ領域の数である計算範囲の長さが異なる複数のローカルパリティレイアウトを組み合わせることにより作成するにあたり、
前記複数のローカルパリティレイアウトのそれぞれのデータ領域の数が、取得した前記データ領域の数であり、かつ、
前記複数のローカルパリティレイアウトのそれぞれのパリティ領域の数の総和が、取得した前記パリティ領域の数であり、かつ、
前記複数のローカルパリティレイアウトのそれぞれの信頼性指数の総和が、取得した前記信頼性指数の数であることを満たす前記複数のローカルパリティレイアウトから、前記ローカルパリティレイアウトを作成する、
処理をコンピュータが実行することを特徴とするパリティレイアウト決定方法。 - データおよびパリティの記憶領域への配置パターンであり、複数のデータのうちの全てのデータからではなく一部のデータから前記パリティが計算されることを含む、前記複数のデータを冗長化して記憶するためのローカルパリティレイアウトであって、
データ領域の数、パリティ領域の数およびデータの冗長度を示す信頼性指数を取得し、
複数のデータのうちローカルパリティを計算するデータ領域の数である計算範囲の長さが異なる複数のローカルパリティレイアウトを組み合わせることにより作成され、
前記複数のローカルパリティレイアウトのそれぞれのデータ領域の数が、取得した前記データ領域の数であり、かつ、
前記複数のローカルパリティレイアウトのそれぞれのパリティ領域の数の総和が、取得した前記パリティ領域の数であり、かつ、
前記複数のローカルパリティレイアウトのそれぞれの信頼性指数の総和が、取得した前記信頼性指数の数であることを満たす前記複数のローカルパリティレイアウトから、作成された前記ローカルパリティレイアウトに基づく記憶領域を有することを特徴とするストレージ装置。 - データ領域の数、パリティ領域の数およびデータの冗長度を示す信頼性指数を取得し、
データおよびパリティの記憶領域への配置パターンであり、複数のデータのうちの全てのデータからではなく一部のデータから前記パリティが計算されることを含む、前記複数のデータを冗長化して記憶するためのローカルパリティレイアウトを、前記複数のデータのうちローカルパリティを計算するデータ領域の数である計算範囲の長さが異なる複数のローカルパリティレイアウトを組み合わせることにより作成するにあたり、
前記複数のローカルパリティレイアウトのそれぞれのデータ領域の数が、取得した前記データ領域の数であり、かつ、
前記複数のローカルパリティレイアウトのそれぞれのパリティ領域の数の総和が、取得した前記パリティ領域の数であり、かつ、
前記複数のローカルパリティレイアウトのそれぞれの信頼性指数の総和が、取得した前記信頼性指数の数であることを満たす前記複数のローカルパリティレイアウトから、前記ローカルパリティレイアウトを作成する、制御装置と、
前記ローカルパリティレイアウトに基づく記憶領域を有する、ストレージ装置と、
を含むことを特徴とするストレージシステム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014232052A JP6375886B2 (ja) | 2014-11-14 | 2014-11-14 | パリティレイアウト決定プログラム、パリティレイアウト決定方法、ストレージ装置およびストレージシステム |
US14/814,564 US9690659B2 (en) | 2014-11-14 | 2015-07-31 | Parity-layout generating method, parity-layout generating apparatus, and storage system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014232052A JP6375886B2 (ja) | 2014-11-14 | 2014-11-14 | パリティレイアウト決定プログラム、パリティレイアウト決定方法、ストレージ装置およびストレージシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016095719A JP2016095719A (ja) | 2016-05-26 |
JP6375886B2 true JP6375886B2 (ja) | 2018-08-22 |
Family
ID=55961781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014232052A Expired - Fee Related JP6375886B2 (ja) | 2014-11-14 | 2014-11-14 | パリティレイアウト決定プログラム、パリティレイアウト決定方法、ストレージ装置およびストレージシステム |
Country Status (2)
Country | Link |
---|---|
US (1) | US9690659B2 (ja) |
JP (1) | JP6375886B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10365836B1 (en) * | 2015-01-27 | 2019-07-30 | Western Digital Technologies, Inc. | Electronic system with declustered data protection by parity based on reliability and method of operation thereof |
CN106662983B (zh) * | 2015-12-31 | 2019-04-12 | 华为技术有限公司 | 分布式存储系统中的数据重建的方法、装置和系统 |
JP6470200B2 (ja) * | 2016-02-16 | 2019-02-13 | 日本電信電話株式会社 | FlatXOR符号の設計方法、FlatXOR符号の設計装置及びプログラム |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5579475A (en) * | 1991-02-11 | 1996-11-26 | International Business Machines Corporation | Method and means for encoding and rebuilding the data contents of up to two unavailable DASDS in a DASD array using simple non-recursive diagonal and row parity |
JP3371044B2 (ja) | 1994-12-28 | 2003-01-27 | 株式会社日立製作所 | ディスクアレイのための領域割り当て方法およびディスクアレイアクセス方法 |
JP3358687B2 (ja) * | 1995-03-13 | 2002-12-24 | 株式会社日立製作所 | ディスクアレイ装置 |
US6247157B1 (en) * | 1998-05-13 | 2001-06-12 | Intel Corporation | Method of encoding data signals for storage |
US7346733B2 (en) * | 2004-09-09 | 2008-03-18 | Hitachi, Ltd. | Storage apparatus, system and method using a plurality of object-based storage devices |
JP2006178926A (ja) * | 2004-10-18 | 2006-07-06 | Hitachi Ltd | 複数のオブジェクトベースのストレージ装置を使用したストレージ装置、システム、および方法 |
TWI350526B (en) * | 2005-11-21 | 2011-10-11 | Infortrend Technology Inc | Data access methods and storage subsystems thereof |
US8156405B1 (en) * | 2007-12-07 | 2012-04-10 | Emc Corporation | Efficient redundant memory unit array |
US8479080B1 (en) * | 2009-07-12 | 2013-07-02 | Apple Inc. | Adaptive over-provisioning in memory systems |
US8959390B2 (en) * | 2012-11-12 | 2015-02-17 | Facebook, Inc. | Directory-level RAID |
US9495246B2 (en) * | 2013-01-21 | 2016-11-15 | Kaminario Technologies Ltd. | Raid erasure code applied to partitioned stripe |
-
2014
- 2014-11-14 JP JP2014232052A patent/JP6375886B2/ja not_active Expired - Fee Related
-
2015
- 2015-07-31 US US14/814,564 patent/US9690659B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2016095719A (ja) | 2016-05-26 |
US20160139991A1 (en) | 2016-05-19 |
US9690659B2 (en) | 2017-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107526531B (zh) | 为映射独立盘冗余阵列(raid)选择raid级别的方法和设备 | |
US10387248B2 (en) | Allocating data for storage by utilizing a location-based hierarchy in a dispersed storage network | |
US10210045B1 (en) | Reducing concurrency bottlenecks while rebuilding a failed drive in a data storage system | |
JP5923964B2 (ja) | ディスクアレイ装置、制御装置、およびプログラム | |
US9251154B2 (en) | Priority based reliability mechanism for archived data | |
US9996283B2 (en) | Handling storage unit latency in a dispersed storage network | |
US8433685B2 (en) | Method and system for parity-page distribution among nodes of a multi-node data-storage system | |
US9690657B2 (en) | Writing data across storage devices in an erasure-coded system | |
CN109213619B (zh) | 用于管理存储系统的方法、设备和计算机程序产品 | |
US20170034271A1 (en) | Reallocating storage in a dispersed storage network | |
CN109725830B (zh) | 管理独立磁盘冗余阵列的方法、设备和存储介质 | |
US10048999B2 (en) | Method and apparatus for optimizing recovery of single-disk failure | |
US11218174B2 (en) | Method and system for storing data locally repairable and efficient multiple encoding | |
US8484506B2 (en) | Redundant array of independent disks level 5 (RAID 5) with a mirroring functionality | |
CN107203442B (zh) | 独立磁盘冗余阵列的重建性能的评估方法和设备 | |
WO2016082156A1 (zh) | 元数据的恢复方法及装置 | |
JP2021503115A (ja) | Raidのリビルドを強化するための機械学習を利用した方法、コンピュータ・プログラムおよびコンピュータ・システム | |
US9569307B2 (en) | Mitigating the impact of a single point of failure in an object store | |
JP6375886B2 (ja) | パリティレイアウト決定プログラム、パリティレイアウト決定方法、ストレージ装置およびストレージシステム | |
US9400620B2 (en) | Storage system | |
US11561859B2 (en) | Method, device and computer program product for managing data | |
JP2013050836A (ja) | ストレージシステムとデータ・インテグリティのチェック方法並びにプログラム | |
CN104102558A (zh) | 一种基于纠删码的文件追加方法 | |
US11157362B2 (en) | Elastic storage in a dispersed storage network | |
WO2023082629A1 (zh) | 数据存储方法及装置、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170804 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180411 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180417 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180614 |
|
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: 20180626 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180709 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6375886 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |