JP6722354B2 - ストレージシステム - Google Patents
ストレージシステム Download PDFInfo
- Publication number
- JP6722354B2 JP6722354B2 JP2019519863A JP2019519863A JP6722354B2 JP 6722354 B2 JP6722354 B2 JP 6722354B2 JP 2019519863 A JP2019519863 A JP 2019519863A JP 2019519863 A JP2019519863 A JP 2019519863A JP 6722354 B2 JP6722354 B2 JP 6722354B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- address
- storage
- storage drive
- parity
- 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
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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more 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/0688—Non-volatile semiconductor memory arrays
-
- 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
-
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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/064—Management of blocks
-
- 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/065—Replication 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/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- 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)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Detection And Correction Of Errors (AREA)
Description
図1は、一実施形態に係るストレージシステム42の構成を示す。ストレージシステム42は、コントローラ100と、コントローラに接続された記憶部200を含む。
図11は、実施形態2におけるホストライト処理の概略図を示す。実施形態2は、新データを格納すべきデータFMPKと、新データに対応するパリティを格納すべきパリティFMPKとに、並行に新データを送信する。さらに、両FMPKから正常応答が報告された時点で、実施形態2は、ホスト計算機10に対し、ライト処理が正常に終了したことを通知する。
図13は、実施形態3におけるホストライト処理の概略図を示す。実施形態3では、XOR演算をFMPKドライブではなく、ストレージコントローラで行う。これにより、FMPK144からXOR回路を省略できる。
Claims (10)
- 複数の記憶ドライブと、
コントローラと、を含み、
前記コントローラは
ホストから、第1アドレスを指定する第1ライト要求と、前記第1ライト要求に関連付けられた第1新データを受信し、
第2アドレスを指定する第1データ更新コマンドと、前記第1新データとを、前記複数の記憶ドライブに含まれる第1記憶ドライブに送信し、
前記第1記憶ドライブは、
前記第1データ更新コマンドに応答して、前記第2アドレスの、管理しているシーケンス番号を、更新し、
前記更新されたシーケンス番号を、前記コントローラに送信し、
前記コントローラは、前記複数の記憶ドライブに含まれる、前記第2アドレスに関連付けられた旧冗長データを格納する第2記憶ドライブに、前記旧冗長データの第3アドレスを指定する第1冗長データ更新コマンドと、前記旧冗長データを更新するためのデータと、前記更新されたシーケンス番号と、を送信し、
前記第2記憶ドライブは、
前記旧冗長データを更新するためのデータに基づき、前記旧冗長データを更新し、
前記更新されたシーケンス番号によって、前記第3アドレスの、管理しているシーケンス番号を、更新し、
前記コントローラは、
前記第1記憶ドライブから、前記第1アドレスに対する前回ライト要求の処理が完了しているかを示す情報を受信し、
前記前回ライト要求に対応する処理が完了していない場合、前記前回ライト要求の処理を完了した後に、前記第1記憶ドライブに前記第1データ更新コマンドの処理を実行させ、
前記前回ライト要求の処理を完了するため、
前記第1記憶ドライブから前記第2アドレスのシーケンス番号を受信し、
前記第2記憶ドライブから前記第3アドレスのシーケンス番号を受信し、
前記第2アドレスの前記シーケンス番号と、前記第3アドレスの前記シーケンス番号との比較を実行し、
前記比較の結果が不一致を示す場合、前記第2記憶ドライブに、前記第3アドレスにおける前回冗長データ更新コマンドに対応する更新を実行させ、前記第1記憶ドライブに、前記第2アドレスにおける前回データ更新コマンドの新データを確定させ、
前記比較の結果が一致を示す場合、前記第2記憶ドライブに前記第3アドレスにおける前記更新を実行させることなく、前記第1記憶ドライブに、前記第2アドレスにおける前記前回データ更新コマンドの前記新データを確定させる、ストレージシステム。 - 請求項1に記載のストレージシステムであって、
前記第1記憶ドライブは、前記第1新データと前記第2アドレスの旧データとに基づき生成した中間冗長データを、前記コントローラに送信し、
前記旧冗長データを更新するためのデータは、前記中間冗長データであり、
前記第2記憶ドライブは、前記旧冗長データ及び前記中間冗長データに基づき新冗長データを生成する、ストレージシステム。 - 請求項1に記載のストレージシステムであって、
前記コントローラは、前記第2アドレスの前記シーケンス番号と、前記第3アドレスの前記シーケンス番号との比較結果に基づき、前記第2アドレスにおけるデータと前記第3アドレスにおける冗長データが整合しているか判定し、
前記第2アドレスにおけるデータと前記第3アドレスにおける冗長データが不整合の場合に、前記第2アドレスにおけるデータと整合するように前記冗長データを更新する、ストレージシステム。 - 請求項1に記載のストレージシステムであって、
前記コントローラは、前記旧冗長データを更新するための前記データを前記第2記憶ドライブに送信した後に、前記ホストに、前記第1ライト要求に対する完了応答を返す、ストレージシステム。 - 請求項4に記載のストレージシステムであって、
前記コントローラは、前記ホストに前記第1ライト要求に対する完了応答を返し、前記第3アドレスの冗長データ更新完了通知を前記第2記憶ドライブから受信した後、前記第1記憶ドライブに新データ確定コマンドを送信し、
前記第1記憶ドライブは、前記新データ確定コマンドに応答して、前記第1新データを前記第2アドレスに格納されているデータと確定する、ストレージシステム。 - 請求項2に記載のストレージシステムであって、
前記第1記憶ドライブは、前記第1データ更新コマンドに応答して、前記中間冗長データ及び前記更新されたシーケンス番号を前記コントローラに返す、ストレージシステム。 - 請求項1に記載のストレージシステムであって、
前記コントローラは、前記第1冗長データ更新コマンドを送信する前に、前記第1新データを前記第2記憶ドライブに送信し、
前記第1新データを前記第1記憶ドライブ及び前記第2記憶ドライブに送信した後、前記第1冗長データ更新コマンドを送信する前に、前記ホストに前記第1ライト要求に対する完了応答を返す、ストレージシステム。 - 請求項1に記載のストレージシステムであって、
前記コントローラは、
前記第2記憶ドライブの前記第3アドレスから前記旧冗長データを読み出し、
前記旧冗長データと前記第1新データとに基づき新冗長データを生成し、
前記旧冗長データを更新するための前記データは、前記新冗長データである、ストレージシステム。 - 第1記憶ドライブと第2記憶ドライブとを含む、ストレージシステムであって、
前記第1記憶ドライブは、
外部に提供する第1論理アドレス空間における論理アドレスとシーケンス番号との間の関係を管理し、
前記第1論理アドレス空間における第1論理アドレスを指定したデータ更新コマンドと、前記データ更新コマンドに関連付けられた新データとを、受信すると、前記第1論理アドレスのシーケンス番号を更新し、
前記第2記憶ドライブは、
外部に提供する第2論理アドレス空間における論理アドレスとシーケンス番号との間の関係を管理し、
前記第1論理アドレスに対応する冗長データを前記第2論理アドレス空間における第2論理アドレスにおいて格納し、
前記第2論理アドレスを指定する冗長データ更新コマンドと、前記第2論理アドレスにおける旧冗長データを更新するためのデータと、前記更新された前記第1論理アドレスのシーケンス番号と、を受信し、
前記旧冗長データを更新するための前記データに基づき、前記旧冗長データを更新し、
前記受信したシーケンス番号によって、前記第2論理アドレスの、管理しているシーケンス番号を、更新し、
前記第1論理アドレスのシーケンス番号と前記第2論理アドレスのシーケンス番号とが不一致の場合、
前記第2記憶ドライブは、前記第2論理アドレスにおける旧冗長データの更新を実行し、
前記第1記憶ドライブは、前記旧冗長データの前記更新の後、前記データ更新コマンドの処理を実行する、ストレージシステム。 - 複数の記憶ドライブの格納データを管理する方法であって、
コントローラが、第1アドレスを指定する第1データ更新コマンドと、第1新データとを、前記複数の記憶ドライブに含まれる第1記憶ドライブに送信し、
前記第1記憶ドライブが、前記第1データ更新コマンドに応答して、前記第1記憶ドライブで管理されている前記第1アドレスのシーケンス番号を、更新し、
前記コントローラが、前記複数の記憶ドライブに含まれる、前記第1アドレスに関連付けられた旧冗長データを格納する第2記憶ドライブに、前記旧冗長データの第2アドレスを指定する第1冗長データ更新コマンドと、前記旧冗長データを更新するためのデータと、前記更新されたシーケンス番号と、を送信し、
前記第2記憶ドライブが、前記旧冗長データを更新するためのデータに基づき、前記旧冗長データを更新し、
前記第2記憶ドライブが、前記更新されたシーケンス番号によって、前記第2記憶ドライブにおいて管理されている前記第2アドレスのシーケンス番号を、更新し、
前記第1記憶ドライブにおいて前記第1アドレスに対する前回データ更新コマンドに関連付けられた未確定データが保持されている場合、前記コントローラが、前記第1アドレスの前記シーケンス番号と、前記第2アドレスの前記シーケンス番号との比較を実行し、
前記比較の結果が不一致を示す場合、前記第2記憶ドライブが前記第2アドレスにおける冗長データの前記前回データ更新コマンドに対応する更新を実行し、前記第1記憶ドライブが前記前回データ更新コマンドの新データを確定し、
前記比較の結果が一致を示す場合、前記第2記憶ドライブが前記第2アドレスにおける前記更新をすることなく、前記第1記憶ドライブが前記前回データ更新コマンドの前記新データを確定し、
前記前回データ更新コマンドの前記新データが確定した後に、前記第1記憶ドライブが前記第1記憶ドライブで管理されている前記第1アドレスのシーケンス番号を更新する、方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2017/019304 WO2018216124A1 (ja) | 2017-05-24 | 2017-05-24 | ストレージシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2018216124A1 JPWO2018216124A1 (ja) | 2019-07-04 |
JP6722354B2 true JP6722354B2 (ja) | 2020-07-15 |
Family
ID=64396345
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019519863A Active JP6722354B2 (ja) | 2017-05-24 | 2017-05-24 | ストレージシステム |
Country Status (3)
Country | Link |
---|---|
US (1) | US11221790B2 (ja) |
JP (1) | JP6722354B2 (ja) |
WO (1) | WO2018216124A1 (ja) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4689137B2 (ja) * | 2001-08-08 | 2011-05-25 | 株式会社日立製作所 | リモートコピー制御方法、及びストレージシステム |
US6434683B1 (en) * | 2000-11-07 | 2002-08-13 | Storage Technology Corporation | Method and system for transferring delta difference data to a storage device |
US7162600B2 (en) * | 2005-03-29 | 2007-01-09 | Hitachi, Ltd. | Data copying method and apparatus in a thin provisioned system |
JP2009104420A (ja) * | 2007-10-23 | 2009-05-14 | Hitachi Ltd | 記憶制御装置及び記憶装置の障害検出方法 |
CN104205059B (zh) | 2012-04-27 | 2017-07-14 | 株式会社日立制作所 | 存储系统和存储控制装置 |
US9317423B2 (en) * | 2013-01-07 | 2016-04-19 | Hitachi, Ltd. | Storage system which realizes asynchronous remote copy using cache memory composed of flash memory, and control method thereof |
US8832395B1 (en) * | 2013-04-12 | 2014-09-09 | Hitachi, Ltd. | Storage system, and method of storage control for storage system |
-
2017
- 2017-05-24 US US16/334,658 patent/US11221790B2/en active Active
- 2017-05-24 WO PCT/JP2017/019304 patent/WO2018216124A1/ja active Application Filing
- 2017-05-24 JP JP2019519863A patent/JP6722354B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JPWO2018216124A1 (ja) | 2019-07-04 |
WO2018216124A1 (ja) | 2018-11-29 |
US20210286547A1 (en) | 2021-09-16 |
US11221790B2 (en) | 2022-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5525605B2 (ja) | フラッシュメモリモジュール | |
US10977124B2 (en) | Distributed storage system, data storage method, and software program | |
EP3617867B1 (en) | Fragment management method and fragment management apparatus | |
US9778986B2 (en) | Storage system | |
US9495110B2 (en) | LUN management with distributed RAID controllers | |
US9304685B2 (en) | Storage array system and non-transitory recording medium storing control program | |
US10768838B2 (en) | Storage apparatus and distributed storage system | |
US10649891B2 (en) | Storage device that maintains mapping data therein | |
US10878111B2 (en) | Peer storage devices supporting protection information | |
US10067833B2 (en) | Storage system | |
US7346733B2 (en) | Storage apparatus, system and method using a plurality of object-based storage devices | |
WO2024119770A1 (zh) | 一种磁盘阵列扩容方法、系统、存储介质及设备 | |
US9009440B2 (en) | Adjustment of data storage capacity provided by a storage system | |
US8949528B2 (en) | Writing of data of a first block size in a raid array that stores and mirrors data in a second block size | |
US11625193B2 (en) | RAID storage device, host, and RAID system | |
US11334253B2 (en) | Storage system that provides protection levels at stored data item granularity | |
JP6722354B2 (ja) | ストレージシステム | |
JP2006178926A (ja) | 複数のオブジェクトベースのストレージ装置を使用したストレージ装置、システム、および方法 | |
JP6817340B2 (ja) | 計算機 | |
CN107562639B (zh) | 擦除块读请求处理方法与装置 | |
JP6453457B2 (ja) | ストレージ装置 | |
JP2020027433A (ja) | 情報システム | |
EP4246330A1 (en) | Storage device and operating method thereof | |
WO2020087265A1 (en) | System and method for reporting and handling flash programming failure in host-managed flash translation layer | |
JPWO2018131067A1 (ja) | 記憶ドライブの故障により消失したデータを復元する装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190218 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200512 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200605 |
|
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: 20200616 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200619 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6722354 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |