JP2019212310A5 - - Google Patents

Download PDF

Info

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
Application number
JP2019103825A
Other languages
English (en)
Other versions
JP2019212310A (ja
JP7187387B2 (ja
Filing date
Publication date
Priority claimed from US16/103,907 external-priority patent/US10719397B2/en
Application filed filed Critical
Publication of JP2019212310A publication Critical patent/JP2019212310A/ja
Publication of JP2019212310A5 publication Critical patent/JP2019212310A5/ja
Application granted granted Critical
Publication of JP7187387B2 publication Critical patent/JP7187387B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Claims (19)

  1. 装置であって、
    データエラー訂正のための少なくとも一つのタイプのデータ再生成コードを演算するように構成された再生成コード認識(RCA)ストレージ装置、
    を含み、
    前記RCAストレージ装置は、
    データブロックを含む複数のチャンクにてデータを格納するように構成されたメモリと、
    外部のホスト装置と関連付けられた要請に基づき、選択された数のデータブロックに基づいてデータ再生成コードを演算するように構成されたプロセッサと、
    インターフェースであり、
    前記データ再生成コードを前記外部のホスト装置に伝送し、
    前記データ再生成コードを演算するように前記プロセッサを構成するコマンドを、前記外部のホスト装置から受信する
    ように構成されたインターフェースと、
    を含む、
    装置。
  2. 前記RCAストレージ装置は、
    異なるデータ再生成コードを生成するように構成された一つ以上の命令セットを格納するように構成されたコードメモリ
    をさらに含み
    前記プロセッサは、前記外部のホスト装置によって、前記データ再生成コードを演算するために前記一つ以上の命令セットのうちの一つを選択するように構成される、
    請求項1に記載の装置。
  3. 前記コードメモリは、前記一つ以上の命令が前記外部のホスト装置によって前記コードメモリに書き込まれるように構成される、請求項2に記載の装置。
  4. 記インターフェースは、選択された数のデータブロックに基づ前記データ再生成コードの生成を可能にするコマンドを、前記外部のホスト装置から受信するように構成される、請求項1に記載の装置。
  5. 記インターフェースは、
    リペアデータが要求されることを示すとともに前記データ再生成コードが演算されるべきであることを示すリペアコマンドを前記外部のホスト装置から受信し
    記データ再生成コードを前記外部のホスト装置に返す、
    ように構成され、
    前記データ再生成コードのサイズは、前記データのセットのサイズよりも小さい、
    請求項1に記載の装置。
  6. 前記プロセッサは、前記外部のホスト装置によって要請されたときにデータ再生成技法を通して前記データ再生成コードの異なるバージョンを演算するように構成され
    前記プロセッサによって演算されるバージョンは、前記外部のホスト装置によって決定される、
    請求項1に記載の装置。
  7. システムであって、
    ホスト装置であり、
    散ストレージシステム間で複数のデータチャンクとしてデータを格納し、
    あるデータチャンクがエラーと関連付けられたことを検出し、
    前記エラーの前記検出に応答し、データ再生成技法を通して、前記複数のデータチャンクに基づいて、前記エラーと関連付けられた前記データチャンクを再構成する
    ように構成されたホスト装置と
    前記分散ストレージシステムであり
    それぞれのデータチャンクを格納するように構成された複数のストレージ装置を含み
    前記複数のストレージ装置は、少なくとも一つのタイプのデータ再生成コードを内部で演算するように構成された少なくとも一つの再生成コード認識(RCA)ストレージ装置を含
    前記分散ストレージシステムと、
    を含むシステム。
  8. 記RCAストレージ装置は
    データブロックを含むチャンクにてデータを格納するように構成されたメモリと、
    択された数のデータブロックに基づいてデータ再生成コードを演算するように構成されたプロセッサと、
    前記データ再生成コードを前記ホスト装置に伝送するように構成された外部インターフェースと、
    を含む、請求項に記載のシステム。
  9. 記ホスト装置は、
    ータ再生成コードを内部で演算できるストレージ装置を決定
    ストレージ装置からデータのチャンク又はその一部を要請し、
    前記データのチャンク又はその一部に少なくとも部分的に基づいて、データ再生成コードを前記ホスト装置により演算する、
    ように構成される、請求項に記載のシステム。
  10. 前記ホスト装置は、前記データ再生成コードの前記演算を前記ストレージ装置にオフロードすることを、以下のファクタうちの一つ以上、すなわち、
    記ストレージ装置に利用可能なデータ再生成技法、
    前記分散ストレージシステムに関連付けられた利用可能な帯域幅の
    前記データのチャンク又はその一部のサイズと比較した前記データ再生成コードのサイズ、及び
    前記ホスト装置内の利用可能な計算能力の大きさ、
    うちの一つ以上に少なくとも部分的に基づいて決定するように構成される、請求項に記載のシステム。
  11. 前記ホスト装置は、前記ホスト装置によって演算されたデータ再生成コードとそれぞれのストレージ装置によって演算された前記データ再生成コードとに基づいて、前記エラーと関連付けられた前記チャンクを再構成するように構成される、請求項に記載のシステム。
  12. 前記ホスト装置は、
    ータ再生成コードを内部で演算できる第1のストレージ装置と第1プロトコルを介して通信し、
    ータ再生成コードを内部で演算できない第2のストレージ装置と第2プロトコルを介して通信する
    ように構成される、請求項に記載のシステム。
  13. 記ホスト装置は、
    れぞれのデータ再生成コードを内部で演算できるストレージ装置を検出
    ータ再生成技法と関連付けられた命令を、ストレージ装置に格納することで、該ストレージ装置が、該データ再生成技法を通して前記データ再生成コードを演算するように構成されるようにする、
    ように構成される、請求項に記載のシステム。
  14. 記ホスト装置は、
    れぞれのデータ再生成コードを内部で演算できるストレージ装置を、少なくとも部分的に、ホスト装置選択されたデータ再生成技法を通して前記データ再生成コードを演算できるストレージ装置を検出することによって検出する
    ように構成される、請求項13に記載のシステム。
  15. システムであって、
    ホスト装置であり、
    トレージシステムの間で複数のチャンクにてデータを格納し、
    あるチャンクがエラーと関連付けられたことを検出し、
    前記エラーの前記検出に応答し、データ再生成技法を通して、前記複数のチャンクに少なくとも部分的に基づいて、前記エラーを訂正する
    ように構成されたホスト装置と、
    前記ストレージシステムであり、
    記データのそれぞれのチャンクを格納するように構成された複数のストレージ装置、
    を含む前記ストレージシステムと、
    を含み
    前記複数のストレージ装置は、少なくとも一つのタイプのデータ再生成コードを内部で演算するように構成された少なくとも一つの再生成コード認識(RCA)ストレージ装置を含み
    前記RCAストレージ装置は、
    ータブロックを含む複数のチャンクにてデータを格納するように構成されたメモリと、
    前記ホスト装置と関連付けられた要請に基づき、選択された数のデータブロックに基づいてデータ再生成コードを演算するように構成されたプロセッサと、
    異なるデータ再生成コードを生成するように構成された一つ以上の命令セットを格納するように構成されたコードメモリと
    前記データ再生成コードを前記ホスト装置に伝送するように構成された外部インターフェースと、
    を含む、
    システム。
  16. 前記ホスト装置は、命令セットを前記RCAストレージ装置の前記コードメモリに書き込むように構成され、該命令セットは、前記データ再生成技法を通しての前記RCAストレージ装置による前記演算を可能にするように構成される、請求項15に記載のシステム。
  17. 前記ホスト装置は、それぞれのRCAストレージ装置に一つ以上のデータ再生成コードの前記演算を少なくとも部分的に動的にオフロードすることにより、前記エラーを訂正するように構成される、請求項15に記載のシステム。
  18. 前記ホスト装置は、前記ストレージシステム内のRCAストレージ装置ではないストレージ装置によって格納されたデータの一つ以上のチャンクついてのデータ再生成コードを、前記ホスト装置によって演算することによって、前記エラーを訂正するように構成され、
    前記ホスト装置によって演算することは、前記ストレージ装置から前記データのチャンクの少なくとも一部を伝送することを含み、
    前記RCAストレージ装置によって演算され、前記ホスト装置に伝送され前記データ再生成コードのサイズは、前記ホスト装置に伝送され記ストレージ装置からの前記データのチャンクの前記少なくとも一部のサイズよりも小さい、請求項17に記載のシステム。
  19. 前記複数のストレージ装置は、非RCA(non-RCA)ストレージ装置を含み、
    前記ホスト装置は、
    第1プロトコルを介して前記RCAストレージ装置と通信し、
    第2プロトコルを介して前記非RCAストレージ装置と通信する
    ように構成される、
    請求項15に記載のシステム。
JP2019103825A 2018-06-08 2019-06-03 低帯域データリペアを補助するシステム、装置及び方法 Active JP7187387B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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) 誤り訂正前に不揮発性固体装置からデータを送信するシステムおよび方法