JP7356887B2 - 誤り訂正符号加速装置及びシステム - Google Patents
誤り訂正符号加速装置及びシステム Download PDFInfo
- Publication number
- JP7356887B2 JP7356887B2 JP2019222969A JP2019222969A JP7356887B2 JP 7356887 B2 JP7356887 B2 JP 7356887B2 JP 2019222969 A JP2019222969 A JP 2019222969A JP 2019222969 A JP2019222969 A JP 2019222969A JP 7356887 B2 JP7356887 B2 JP 7356887B2
- Authority
- JP
- Japan
- Prior art keywords
- processing device
- error correction
- data elements
- data
- correction code
- 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/079—Root cause analysis, i.e. error or fault diagnosis
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0793—Remedial or corrective actions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1012—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
- G06F11/1032—Simple parity
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/30079—Pipeline control instructions, e.g. multicycle NOP
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/3009—Thread control instructions
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6575—Implementations based on combinatorial logic, e.g. Boolean circuits
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Detection And Correction Of Errors (AREA)
- Error Detection And Correction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201862780185P | 2018-12-14 | 2018-12-14 | |
| US62/780,185 | 2018-12-14 | ||
| US16/271,777 | 2019-02-08 | ||
| US16/271,777 US11061772B2 (en) | 2018-12-14 | 2019-02-08 | FPGA acceleration system for MSR codes |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| JP2020095722A JP2020095722A (ja) | 2020-06-18 |
| JP2020095722A5 JP2020095722A5 (enExample) | 2022-12-13 |
| JP7356887B2 true JP7356887B2 (ja) | 2023-10-05 |
Family
ID=71072501
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2019222969A Active JP7356887B2 (ja) | 2018-12-14 | 2019-12-10 | 誤り訂正符号加速装置及びシステム |
Country Status (5)
| Country | Link |
|---|---|
| US (3) | US11061772B2 (enExample) |
| JP (1) | JP7356887B2 (enExample) |
| KR (1) | KR102491112B1 (enExample) |
| CN (1) | CN111324479B (enExample) |
| TW (1) | TWI791891B (enExample) |
Families Citing this family (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10949301B2 (en) * | 2011-06-06 | 2021-03-16 | Pure Storage, Inc. | Pre-positioning pre-stored content in a content distribution system |
| WO2018176238A1 (en) * | 2017-03-28 | 2018-10-04 | Intel Corporation | Technologies for hybrid field-programmable gate array-application-specific integrated circuit code acceleration |
| US11061772B2 (en) * | 2018-12-14 | 2021-07-13 | Samsung Electronics Co., Ltd. | FPGA acceleration system for MSR codes |
| US11934330B2 (en) | 2020-05-08 | 2024-03-19 | Intel Corporation | Memory allocation for distributed processing devices |
| US11568089B2 (en) * | 2020-08-31 | 2023-01-31 | Frontiir Pte Ltd. | Offloading operations from a primary processing device to a secondary processing device |
| US11868777B2 (en) | 2020-12-16 | 2024-01-09 | Advanced Micro Devices, Inc. | Processor-guided execution of offloaded instructions using fixed function operations |
| US12073251B2 (en) * | 2020-12-29 | 2024-08-27 | Advanced Micro Devices, Inc. | Offloading computations from a processor to remote execution logic |
| US11625249B2 (en) | 2020-12-29 | 2023-04-11 | Advanced Micro Devices, Inc. | Preserving memory ordering between offloaded instructions and non-offloaded instructions |
| US12468474B2 (en) * | 2021-11-15 | 2025-11-11 | Samsung Electronics Co., Ltd. | Storage device and method performing processing operation requested by host |
| US12197378B2 (en) | 2022-06-01 | 2025-01-14 | Advanced Micro Devices, Inc. | Method and apparatus to expedite system services using processing-in-memory (PIM) |
| US12050531B2 (en) | 2022-09-26 | 2024-07-30 | Advanced Micro Devices, Inc. | Data compression and decompression for processing in memory |
| US12147338B2 (en) | 2022-12-27 | 2024-11-19 | Advanced Micro Devices, Inc. | Leveraging processing in memory registers as victim buffers |
| US12265470B1 (en) | 2023-09-29 | 2025-04-01 | Advanced Micro Devices, Inc. | Bypassing cache directory lookups for processing-in-memory instructions |
| US12455826B2 (en) | 2024-03-29 | 2025-10-28 | Advanced Micro Devices, Inc. | Dynamic caching policies for processing-in-memory |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20110239064A1 (en) | 2010-03-24 | 2011-09-29 | Apple Inc. | Management of a non-volatile memory based on test quality |
| US20140317222A1 (en) | 2012-01-13 | 2014-10-23 | Hui Li | Data Storage Method, Device and Distributed Network Storage System |
| US20170102899A1 (en) | 2010-02-26 | 2017-04-13 | Apple Inc. | Data partitioning scheme for non-volatile memories |
| US20180300201A1 (en) | 2017-04-17 | 2018-10-18 | Intel Corporation | Bypassing error correction code (ecc) processing based on software hint |
Family Cites Families (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2695195B2 (ja) | 1988-09-02 | 1997-12-24 | 三菱電機株式会社 | 誤り訂正回路 |
| US7673222B2 (en) | 2005-07-15 | 2010-03-02 | Mediatek Incorporation | Error-correcting apparatus including multiple error-correcting modules functioning in parallel and related method |
| CN102272730B (zh) * | 2008-10-09 | 2017-05-24 | 美光科技公司 | 经虚拟化错误校正码nand |
| JP5422974B2 (ja) | 2008-11-18 | 2014-02-19 | 富士通株式会社 | 誤り判定回路及び共有メモリシステム |
| US9647698B2 (en) | 2013-02-26 | 2017-05-09 | Peking University Shenzhen Graduate School | Method for encoding MSR (minimum-storage regenerating) codes and repairing storage nodes |
| US9021188B1 (en) | 2013-03-15 | 2015-04-28 | Virident Systems Inc. | Small block write operations in non-volatile memory systems |
| US9710330B2 (en) | 2014-10-15 | 2017-07-18 | Empire Technology Development Llc | Partial cloud data storage |
| US9547458B2 (en) | 2014-12-24 | 2017-01-17 | International Business Machines Corporation | Intra-rack and inter-rack erasure code distribution |
| US10007587B2 (en) | 2015-09-18 | 2018-06-26 | Qualcomm Incorporated | Systems and methods for pre-generation and pre-storage of repair fragments in storage systems |
| US20170179979A1 (en) | 2015-12-18 | 2017-06-22 | Netapp, Inc. | Systems and Methods for Minimum Storage Regeneration Erasure Code Construction Using r-Ary Trees |
| US10452477B2 (en) | 2016-08-26 | 2019-10-22 | Netapp, Inc. | Multiple node repair using high rate minimum storage regeneration erasure code |
| US11061772B2 (en) * | 2018-12-14 | 2021-07-13 | Samsung Electronics Co., Ltd. | FPGA acceleration system for MSR codes |
-
2019
- 2019-02-08 US US16/271,777 patent/US11061772B2/en active Active
- 2019-09-18 TW TW108133489A patent/TWI791891B/zh active
- 2019-10-11 KR KR1020190126494A patent/KR102491112B1/ko active Active
- 2019-11-20 CN CN201911143197.3A patent/CN111324479B/zh active Active
- 2019-12-10 JP JP2019222969A patent/JP7356887B2/ja active Active
-
2021
- 2021-07-02 US US17/367,315 patent/US11726876B2/en active Active
-
2023
- 2023-07-17 US US18/223,019 patent/US12117903B2/en active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20170102899A1 (en) | 2010-02-26 | 2017-04-13 | Apple Inc. | Data partitioning scheme for non-volatile memories |
| US20110239064A1 (en) | 2010-03-24 | 2011-09-29 | Apple Inc. | Management of a non-volatile memory based on test quality |
| US20140317222A1 (en) | 2012-01-13 | 2014-10-23 | Hui Li | Data Storage Method, Device and Distributed Network Storage System |
| US20180300201A1 (en) | 2017-04-17 | 2018-10-18 | Intel Corporation | Bypassing error correction code (ecc) processing based on software hint |
Also Published As
| Publication number | Publication date |
|---|---|
| US12117903B2 (en) | 2024-10-15 |
| CN111324479B (zh) | 2022-08-09 |
| US11061772B2 (en) | 2021-07-13 |
| KR102491112B1 (ko) | 2023-01-20 |
| TWI791891B (zh) | 2023-02-11 |
| US20200192757A1 (en) | 2020-06-18 |
| CN111324479A (zh) | 2020-06-23 |
| TW202026871A (zh) | 2020-07-16 |
| KR20200073978A (ko) | 2020-06-24 |
| US20230367675A1 (en) | 2023-11-16 |
| US11726876B2 (en) | 2023-08-15 |
| JP2020095722A (ja) | 2020-06-18 |
| US20210334162A1 (en) | 2021-10-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7356887B2 (ja) | 誤り訂正符号加速装置及びシステム | |
| US12346202B2 (en) | System, device and method for storage device assisted low-bandwidth data repair | |
| US20200250032A1 (en) | Flexible reliability coding for storage on a network | |
| US20200133771A1 (en) | Inline reliability coding for storage on a network | |
| CN111435292A (zh) | 利用自适应写缓冲区释放的存储介质编程 | |
| US11086525B2 (en) | Resilient external memory | |
| US11467902B2 (en) | Apparatus to insert error-correcting coding (ECC) information as data within dynamic random access memory (DRAM) | |
| KR101747794B1 (ko) | 에러 정정 디코더 및 그것의 에러 정정 방법 | |
| CN111610932B (zh) | 减少键值存储服务器的漏洞窗口而不牺牲可用容量的系统 | |
| WO2023208231A1 (zh) | 一种内存数据读写方法、系统以及内存控制器 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20221205 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20221205 |
|
| A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20221205 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230307 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230605 |
|
| 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: 20230829 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230925 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7356887 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |