JP2019212310A5 - - Google Patents
Download PDFInfo
- Publication number
- JP2019212310A5 JP2019212310A5 JP2019103825A JP2019103825A JP2019212310A5 JP 2019212310 A5 JP2019212310 A5 JP 2019212310A5 JP 2019103825 A JP2019103825 A JP 2019103825A JP 2019103825 A JP2019103825 A JP 2019103825A JP 2019212310 A5 JP2019212310 A5 JP 2019212310A5
- Authority
- JP
- Japan
- Prior art keywords
- data
- code
- host device
- storage device
- data regeneration
- 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
- 230000008929 regeneration Effects 0.000 claims 39
- 238000011069 regeneration method Methods 0.000 claims 39
- 238000000034 method Methods 0.000 claims 8
- 238000001514 detection method Methods 0.000 claims 2
- 230000004044 response Effects 0.000 claims 2
Claims (19)
- 装置であって、
データエラー訂正のための少なくとも一つのタイプのデータ再生成コードを演算するように構成された再生成コード認識(RCA)ストレージ装置、
を含み、
前記RCAストレージ装置は、
データブロックを含む複数のチャンクにてデータを格納するように構成されたメモリと、
外部のホスト装置と関連付けられた要請に基づき、選択された数のデータブロックに基づいてデータ再生成コードを演算するように構成されたプロセッサと、
インターフェースであり、
前記データ再生成コードを前記外部のホスト装置に伝送し、
前記データ再生成コードを演算するように前記プロセッサを構成するコマンドを、前記外部のホスト装置から受信する、
ように構成されたインターフェースと、
を含む、
装置。 - 前記RCAストレージ装置は、
異なるデータ再生成コードを生成するように構成された一つ以上の命令セットを格納するように構成されたコードメモリ、
をさらに含み、
前記プロセッサは、前記外部のホスト装置によって、前記データ再生成コードを演算するために前記一つ以上の命令セットのうちの一つを選択するように構成される、
請求項1に記載の装置。 - 前記コードメモリは、前記一つ以上の命令が前記外部のホスト装置によって前記コードメモリに書き込まれるように構成される、請求項2に記載の装置。
- 前記インターフェースは、選択された数のデータブロックに基づく前記データ再生成コードの生成を可能にするコマンドを、前記外部のホスト装置から受信するように構成される、請求項1に記載の装置。
- 前記インターフェースは、
リペアデータが要求されることを示すとともに前記データ再生成コードが演算されるべきであることを示すリペアコマンドを前記外部のホスト装置から受信し、
前記データ再生成コードを前記外部のホスト装置に返す、
ように構成され、
前記データ再生成コードのサイズは、前記データのセットのサイズよりも小さい、
請求項1に記載の装置。 - 前記プロセッサは、前記外部のホスト装置によって要請されたときに、データ再生成技法を通して前記データ再生成コードの異なるバージョンを演算するように構成され、
前記プロセッサによって演算されるバージョンは、前記外部のホスト装置によって決定される、
請求項1に記載の装置。 - システムであって、
ホスト装置であり、
分散ストレージシステム間で複数のデータチャンクとしてデータを格納し、
あるデータチャンクがエラーと関連付けられたことを検出し、
前記エラーの前記検出に応答して、データ再生成技法を通して、前記複数のデータチャンクに基づいて、前記エラーと関連付けられた前記データチャンクを再構成する、
ように構成されたホスト装置と、
前記分散ストレージシステムであり、
それぞれのデータチャンクを格納するように構成された複数のストレージ装置を含み、
前記複数のストレージ装置は、少なくとも一つのタイプのデータ再生成コードを内部で演算するように構成された少なくとも一つの再生成コード認識(RCA)ストレージ装置を含む、
前記分散ストレージシステムと、
を含むシステム。 - 前記RCAストレージ装置は、
データブロックを含むチャンクにてデータを格納するように構成されたメモリと、
選択された数のデータブロックに基づいてデータ再生成コードを演算するように構成されたプロセッサと、
前記データ再生成コードを前記ホスト装置に伝送するように構成された外部インターフェースと、
を含む、請求項7に記載のシステム。 - 前記ホスト装置は、
データ再生成コードを内部で演算できるストレージ装置を決定し、
該ストレージ装置からデータのチャンク又はその一部を要請し、
前記データのチャンク又はその一部に少なくとも部分的に基づいて、データ再生成コードを前記ホスト装置により演算する、
ように構成される、請求項7に記載のシステム。 - 前記ホスト装置は、前記データ再生成コードの前記演算を前記ストレージ装置にオフロードすることを、以下のファクタうちの一つ以上、すなわち、
前記ストレージ装置に利用可能なデータ再生成技法、
前記分散ストレージシステムに関連付けられた利用可能な帯域幅の量、
前記データのチャンク又はその一部のサイズと比較した前記データ再生成コードのサイズ、及び
前記ホスト装置内の利用可能な計算能力の大きさ、
のうちの一つ以上に少なくとも部分的に基づいて決定するように構成される、請求項9に記載のシステム。 - 前記ホスト装置は、前記ホスト装置によって演算されたデータ再生成コードとそれぞれのストレージ装置によって演算された前記データ再生成コードとに基づいて、前記エラーと関連付けられた前記チャンクを再構成するように構成される、請求項9に記載のシステム。
- 前記ホスト装置は、
データ再生成コードを内部で演算できる第1のストレージ装置と第1プロトコルを介して通信し、
データ再生成コードを内部で演算できない第2のストレージ装置と第2プロトコルを介して通信する、
ように構成される、請求項9に記載のシステム。 - 前記ホスト装置は、
それぞれのデータ再生成コードを内部で演算できるストレージ装置を検出し、
データ再生成技法と関連付けられた命令を、該ストレージ装置に格納することで、該ストレージ装置が、該データ再生成技法を通して前記データ再生成コードを演算するように構成されるようにする、
ように構成される、請求項7に記載のシステム。 - 前記ホスト装置は、
それぞれのデータ再生成コードを内部で演算できるストレージ装置を、少なくとも部分的に、ホスト装置選択されたデータ再生成技法を通して前記データ再生成コードを演算できるストレージ装置を検出することによって検出する、
ように構成される、請求項13に記載のシステム。 - システムであって、
ホスト装置であり、
ストレージシステムの間で複数のチャンクにてデータを格納し、
あるチャンクがエラーと関連付けられたことを検出し、
前記エラーの前記検出に応答して、データ再生成技法を通して、前記複数のチャンクに少なくとも部分的に基づいて、前記エラーを訂正する、
ように構成されたホスト装置と、
前記ストレージシステムであり、
前記データのそれぞれのチャンクを格納するように構成された複数のストレージ装置、
を含む前記ストレージシステムと、
を含み、
前記複数のストレージ装置は、少なくとも一つのタイプのデータ再生成コードを内部で演算するように構成された少なくとも一つの再生成コード認識(RCA)ストレージ装置を含み、
前記RCAストレージ装置は、
データブロックを含む複数のチャンクにてデータを格納するように構成されたメモリと、
前記ホスト装置と関連付けられた要請に基づき、選択された数のデータブロックに基づいてデータ再生成コードを演算するように構成されたプロセッサと、
異なるデータ再生成コードを生成するように構成された一つ以上の命令セットを格納するように構成されたコードメモリと、
前記データ再生成コードを前記ホスト装置に伝送するように構成された外部インターフェースと、
を含む、
システム。 - 前記ホスト装置は、命令セットを前記RCAストレージ装置の前記コードメモリに書き込むように構成され、該命令セットは、前記データ再生成技法を通しての前記RCAストレージ装置による前記演算を可能にするように構成される、請求項15に記載のシステム。
- 前記ホスト装置は、それぞれのRCAストレージ装置に一つ以上のデータ再生成コードの前記演算を少なくとも部分的に動的にオフロードすることにより、前記エラーを訂正するように構成される、請求項15に記載のシステム。
- 前記ホスト装置は、前記ストレージシステム内のRCAストレージ装置ではないストレージ装置によって格納されたデータの一つ以上のチャンクついてのデータ再生成コードを、前記ホスト装置によって演算することによって、前記エラーを訂正するように構成され、
前記ホスト装置によって演算することは、前記ストレージ装置から前記データのチャンクの少なくとも一部を伝送することを含み、
前記RCAストレージ装置によって演算され、前記ホスト装置に伝送される前記データ再生成コードのサイズは、前記ホスト装置に伝送される前記ストレージ装置からの前記データのチャンクの前記少なくとも一部のサイズよりも小さい、請求項17に記載のシステム。 - 前記複数のストレージ装置は、非RCA(non-RCA)ストレージ装置を含み、
前記ホスト装置は、
第1プロトコルを介して前記RCAストレージ装置と通信し、
第2プロトコルを介して前記非RCAストレージ装置と通信する、
ように構成される、
請求項15に記載のシステム。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862682763P | 2018-06-08 | 2018-06-08 | |
US62/682,763 | 2018-06-08 | ||
US16/103,907 US10719397B2 (en) | 2018-06-08 | 2018-08-14 | System, device and method for storage device assisted low-bandwidth data repair |
US16/103,907 | 2018-08-14 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2019212310A JP2019212310A (ja) | 2019-12-12 |
JP2019212310A5 true JP2019212310A5 (ja) | 2022-05-30 |
JP7187387B2 JP7187387B2 (ja) | 2022-12-12 |
Family
ID=68763832
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019103825A Active JP7187387B2 (ja) | 2018-06-08 | 2019-06-03 | 低帯域データリペアを補助するシステム、装置及び方法 |
Country Status (5)
Country | Link |
---|---|
US (3) | US10719397B2 (ja) |
JP (1) | JP7187387B2 (ja) |
KR (1) | KR102434917B1 (ja) |
CN (1) | CN110580204B (ja) |
TW (1) | TWI788554B (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10719397B2 (en) * | 2018-06-08 | 2020-07-21 | Samsung Electronics Co., Ltd. | System, device and method for storage device assisted low-bandwidth data repair |
WO2020160142A1 (en) * | 2019-01-29 | 2020-08-06 | ClineHair Commercial Endeavors | Encoding and storage node repairing method for minimum storage regenerating codes for distributed storage systems |
US12026055B2 (en) | 2020-07-13 | 2024-07-02 | Samsung Electronics Co., Ltd. | Storage device with fault resilient read-only mode |
US11340986B1 (en) | 2020-12-08 | 2022-05-24 | Western Digital Technologies, Inc. | Host-assisted storage device error correction |
JP7140424B1 (ja) * | 2021-06-18 | 2022-09-21 | Necプラットフォームズ株式会社 | コンピュータ装置、情報処理方法、プログラム |
CN113656346B (zh) * | 2021-09-03 | 2024-07-16 | 西安紫光国芯半导体有限公司 | 一种三维芯片及计算系统 |
Family Cites Families (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8751859B2 (en) | 2007-05-10 | 2014-06-10 | International Business Machines Corporation | Monitoring lost data in a storage system |
JP2009289170A (ja) * | 2008-05-30 | 2009-12-10 | Nec Electronics Corp | データ処理装置、メモリコントローラ及びそのアクセス制御方法 |
US8281227B2 (en) | 2009-05-18 | 2012-10-02 | Fusion-10, Inc. | Apparatus, system, and method to increase data integrity in a redundant storage system |
JP2011175615A (ja) | 2010-01-27 | 2011-09-08 | Toshiba Corp | ホスト装置およびメモリデバイス |
EP2702502A4 (en) | 2011-04-29 | 2015-06-03 | Tata Consultancy Services Ltd | ARCHIVING AND RECOVERY SYSTEM |
US8713404B2 (en) * | 2011-07-01 | 2014-04-29 | Apple Inc. | Controller interface providing improved data reliability |
US8519737B2 (en) * | 2011-07-01 | 2013-08-27 | Apple Inc. | Controller interface providing improved signal integrity |
US9031922B2 (en) * | 2012-05-02 | 2015-05-12 | Microsoft Technology Licensing, Llc | Code regeneration determination from selected metadata fingerprints |
US9058122B1 (en) * | 2012-08-30 | 2015-06-16 | Google Inc. | Controlling access in a single-sided distributed storage system |
US20150006846A1 (en) * | 2013-06-28 | 2015-01-01 | Saratoga Speed, Inc. | Network system to distribute chunks across multiple physical nodes with disk support for object storage |
US9697226B1 (en) * | 2013-06-28 | 2017-07-04 | Sanmina Corporation | Network system to distribute chunks across multiple physical nodes |
US9152495B2 (en) * | 2013-07-03 | 2015-10-06 | SanDisk Technologies, Inc. | Managing non-volatile media using multiple error correcting codes |
US10073731B2 (en) * | 2013-11-27 | 2018-09-11 | Intel Corporation | Error correction in memory |
US9367562B2 (en) * | 2013-12-05 | 2016-06-14 | Google Inc. | Distributing data on distributed storage systems |
US20150205664A1 (en) * | 2014-01-17 | 2015-07-23 | Fusion-Io, Inc. | Determining a configuration parameter using a soft read command |
US9292389B2 (en) * | 2014-01-31 | 2016-03-22 | Google Inc. | Prioritizing data reconstruction in distributed storage systems |
US9323615B2 (en) * | 2014-01-31 | 2016-04-26 | Google Inc. | Efficient data reads from distributed storage systems |
US9804925B1 (en) * | 2014-02-25 | 2017-10-31 | Google Inc. | Data reconstruction in distributed storage systems |
US9223644B1 (en) * | 2014-02-25 | 2015-12-29 | Google Inc. | Preventing unnecessary data recovery |
US9311194B1 (en) * | 2014-03-28 | 2016-04-12 | Google Inc. | Efficient resource utilization in data centers |
US9239757B2 (en) * | 2014-05-30 | 2016-01-19 | Sandisk Technologies Inc. | Method and apparatus for relocating data in non-volatile memory |
CN104035903B (zh) * | 2014-07-02 | 2017-06-16 | 东南大学 | 一种基于可重构技术的二维数据访问动态自适应方法 |
US9984768B2 (en) * | 2014-10-20 | 2018-05-29 | Sandisk Technologies Llc | Distributing storage of ECC code words |
US9740610B2 (en) * | 2014-12-24 | 2017-08-22 | Intel Corporation | Polarity based data transfer function for volatile memory |
US9811420B2 (en) * | 2015-03-27 | 2017-11-07 | Intel Corporation | Extracting selective information from on-die dynamic random access memory (DRAM) error correction code (ECC) |
KR101609510B1 (ko) * | 2015-04-10 | 2016-04-06 | 홍익대학교 산학협력단 | 에러를 검출하고 수정하는 컴퓨팅 방법 및 장치 |
WO2017041233A1 (zh) * | 2015-09-08 | 2017-03-16 | 广东超算数据安全技术有限公司 | 一种功能修复再生码的编码和存储节点修复方法 |
US10360119B2 (en) * | 2015-10-06 | 2019-07-23 | Netapp, Inc. | Data recovery in a distributed storage system |
CN108140016B (zh) * | 2015-10-12 | 2021-02-23 | 华为技术有限公司 | 确定矩阵-向量相乘的运算最优序列的优化器 |
US20170161148A1 (en) * | 2015-12-02 | 2017-06-08 | Netapp, Inc. | Detection of and recovery from silent data loss in an erasure-coded storage system |
US20170179979A1 (en) * | 2015-12-18 | 2017-06-22 | Netapp, Inc. | Systems and Methods for Minimum Storage Regeneration Erasure Code Construction Using r-Ary Trees |
US10019317B2 (en) | 2016-04-25 | 2018-07-10 | Nexenta Systems, Inc. | Parity protection for data chunks in an object storage system |
US20170329684A1 (en) | 2016-05-13 | 2017-11-16 | Synology Incorporated | Method and apparatus for performing data recovery in redundant storage system |
US10452477B2 (en) * | 2016-08-26 | 2019-10-22 | Netapp, Inc. | Multiple node repair using high rate minimum storage regeneration erasure code |
US10372534B2 (en) * | 2016-09-20 | 2019-08-06 | Samsung Electronics Co., Ltd. | Method of operating memory device using a compressed party difference, memory device using the same and memory system including the device |
US10740198B2 (en) * | 2016-12-22 | 2020-08-11 | Purdue Research Foundation | Parallel partial repair of storage |
US20190095296A1 (en) * | 2017-09-27 | 2019-03-28 | Hewlett Packard Enterprise Development Lp | Reading or Reconstructing Requested Data from RAID Volume |
US11329817B2 (en) * | 2017-10-19 | 2022-05-10 | Devi Selva Kumar Vijayanarayanan | Protecting data using controlled corruption in computer networks |
US10719397B2 (en) * | 2018-06-08 | 2020-07-21 | Samsung Electronics Co., Ltd. | System, device and method for storage device assisted low-bandwidth data repair |
-
2018
- 2018-08-14 US US16/103,907 patent/US10719397B2/en active Active
-
2019
- 2019-04-02 KR KR1020190038752A patent/KR102434917B1/ko active IP Right Grant
- 2019-04-09 TW TW108112265A patent/TWI788554B/zh active
- 2019-05-30 CN CN201910460383.3A patent/CN110580204B/zh active Active
- 2019-06-03 JP JP2019103825A patent/JP7187387B2/ja active Active
-
2020
- 2020-07-17 US US16/932,679 patent/US11449387B2/en active Active
-
2022
- 2022-09-19 US US17/948,216 patent/US11940875B2/en active Active
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2019212310A5 (ja) | ||
US10432233B1 (en) | Error correction processing in a storage device | |
US10613930B2 (en) | Global error recovery system | |
JP5254725B2 (ja) | 協働するストレージデバイスを用いて、データを冗長的に格納し、検索するシステム及び方法 | |
JP6162547B2 (ja) | スケーラブル・ストレージ・プロテクション | |
US8095763B2 (en) | Method for reducing latency in a raid memory system while maintaining data integrity | |
TWI465897B (zh) | 記憶體模組之錯誤檢查與校正系統以及方法 | |
TWI546814B (zh) | 具有錯誤校正邏輯之記憶體裝置 | |
EP2297641B1 (en) | Efficient in-band reliability with separate cyclic redundancy code frames | |
US20070028145A1 (en) | Raid-6 multiple-input, multiple-output finite-field sum-of-products accelerator | |
US20070283214A1 (en) | Corruption-resistant data porting with multiple error correction schemes | |
US9543988B2 (en) | Adaptively strengthening ECC for solid state cache | |
US20190158126A1 (en) | Use of multiple cyclic redundancy codes for optimized fail isolation | |
JP2020095722A5 (ja) | ||
KR20180086816A (ko) | 사전-검사된 에러율에 따른 적응형 에러정정을 수행하는 메모리장치 및 전자장치와, 메모리장치의 동작방법 | |
KR20170035795A (ko) | 오류 정정 코드를 디코딩하기 위한 방법 및 이와 관련된 디코딩 회로 | |
KR102004928B1 (ko) | 데이터 저장 장치 및 그것의 에러 정정 코드 처리 방법 | |
US20040250028A1 (en) | Method and apparatus for data version checking | |
US20140229794A1 (en) | Read commands specifying error performance | |
CA2993935A1 (en) | Data integrity detection and correction | |
US9229811B2 (en) | Folded codes for correction of latent media errors | |
US20190286523A1 (en) | Managing data storage | |
TW200901638A (en) | Efficient chien search method for reed-solomon decoding and machine readable recording medium comprising instructions for performing the method | |
KR101646149B1 (ko) | 분산 저장환경의 데이터공유 및 관리를 위한 소프트웨어 정의 저장방법 | |
JP6389499B2 (ja) | 誤り訂正前に不揮発性固体装置からデータを送信するシステムおよび方法 |