用于错误修正代码的加速的装置及系统制造方法及图纸

技术编号:24613236 阅读:51 留言:0更新日期:2020-06-24 01:00
本发明专利技术公开一种用于错误修正代码的加速的装置及系统。所述装置可包括主机接口电路,所述主机接口电路被配置以从主机处理器件接收分担指令,其中分担指令指示所述装置计算与多个数据元相关联的错误修正代码。所述装置可包括存储接口电路,所述存储接口电路被配置以接收所述多个数据元。所述装置可包括多个存储缓冲器电路,所述多个存储缓冲器电路被配置以临时存储所述多个数据元。所述装置可包括多个错误代码计算电路,所述多个错误代码计算电路被配置以至少部分地计算错误修正代码而不由主机处理器件进行额外处理。

Acceleration device and system for error correction code

【技术实现步骤摘要】
用于错误修正代码的加速的装置及系统[相关申请的交叉参考]本申请主张2018年12月14日提出申请、标题为“用于最小存储再生代码的现场可编程门阵列加速系统(FPGAACCELERATIONSYSTEMFORMSRCODES)”且序列号为62/780,185的临时专利申请的优先权。此先前提交的申请的主题并入本文供参考。
本说明涉及数据存储,且更具体来说,涉及一种用于错误修正代码的加速的系统、器件和/或方法。
技术介绍
在编码理论中,擦除代码(erasurecode)是在假设为比特擦除(而不是比特错误)的情况下的前向错误修正(forwarderrorcorrection,FEC)代码,它将由k个符号形成的消息转换成具有n个符号的较长消息(码字(codeword))以使得可从这n个符号的子集恢复原始消息。分数r=k/n被称为码率(coderate)。分数k’/k被称为接收效率,其中k’表示进行恢复所需的符号的数目。再生代码会解决从现有编码片段重建(也被称为修复)丢失的编码片段的问题。更详细来说,再生代码是一类旨在减少修复期间的下载量、同时保持传统最大距离可分(maximumdistanceseparable,MDS)代码的存储效率的代码。这个问题发生在其中为保持编码冗余而进行的通信成为问题的分布式存储系统(distributedstoragesystem)中。分布式存储系统一般是将信息存储(常常以复制方式存储)在多于一个节点或器件上的计算机网络。它常常用来指其中用户将信息存储在多个节点上的分布式数据库、或者其中用户将信息存储在多个对等网络节点(peernetworknode)上的计算机网络。分布式存储系统通常使用错误检测及修正技术。一些分布式存储系统使用前向错误修正技术以在文件的一些部分受到损坏或不可用时恢复原始文件、块(chunk)或二进制大对象(binarylargeobject,blob)。其他分布式存储系统则再次试图从不同的镜像(mirror)下载所述文件。
技术实现思路
根据一个一般方面,一种用于错误修正代码的加速的装置可包括主机接口电路,所述主机接口电路被配置以从主机处理器件接收分担指令,其中所述分担指令指示所述装置计算与多个数据元相关联的错误修正代码。所述装置可包括存储接口电路,所述存储接口电路被配置以接收所述多个数据元。所述装置可包括多个存储缓冲器电路,所述多个存储缓冲器电路被配置以临时存储所述多个数据元。所述装置可包括多个错误代码计算电路,所述多个错误代码计算电路被配置以至少部分地计算所述错误修正代码而不由所述主机处理器件进行额外处理。根据另一一般方面,一种用于错误修正代码的加速的系统可包括存储器,所述存储器被配置以存储多个数据元。所述系统可包括主机处理器件,所述主机处理器件被配置以将所述错误修正代码的计算分担到能够重新编程的处理器件。所述系统可包括所述能够重新编程的处理器件,所述能够重新编程的处理器件可被配置以至少部分地基于所述多个数据元来计算错误修正代码。所述能够重新编程的处理器件可包括能够重新配置的管线,所述能够重新配置的管线至少部分地计算所述错误修正代码且基于所述多个数据元的数目进行重新配置。根据另一一般方面,一种用于错误修正代码的加速的装置可包括主机处理器件,所述主机处理器件被配置以将错误修正代码的计算分担到分担处理器件。所述装置可包括输入/输出(I/O)系统,所述输入/输出(I/O)系统被配置以读取数据元并将所述数据元写入到多个存储器件。所述装置可包括所述分担处理器件,所述分担处理器件可被配置以至少部分地基于多个数据元来计算所述错误修正代码。所述分担处理器件可包括存储接口电路,所述存储接口电路被配置以接收所述多个数据元。所述分担处理器件可包括多个存储缓冲器电路,所述多个存储缓冲器电路被配置以临时存储所述多个数据元。所述分担处理器件可包括多个错误代码计算电路,所述多个错误代码计算电路被配置以至少部分地计算所述错误修正代码而不由所述主机处理器件进行额外处理。在附图及以下说明中阐述一种或多种实施方式的细节。通过本说明及图式以及通过权利要求书,其他特征将显而易见。实质上在各图中的至少一个图中示出和/或结合各图中的至少一个图阐述的一种用于数据存储的系统和/或方法、且更具体来说一种用于错误修正代码的加速的系统、器件和/或方法在权利要求书中予以更完整地阐述。附图说明图1是根据所公开主题的系统的示例性实施例的方块图。图2是根据所公开主题的系统的示例性实施例的方块图。图3A及图3B是根据所公开主题的系统的示例性实施例的方块图。图4A及图4B是根据所公开主题的系统的示例性实施例的时序图。图5是可包括根据所公开主题的原理形成的器件的信息处理系统的示意性方块图。各个图式中相同的参考符号表示相同的元件。具体实施方式在下文中,将参照附图更充分地阐述各种示例性实施例,在所述附图中示出一些示例性实施例。然而,本专利技术所公开主题可被实施为许多不同形式,而不应被视为仅限于本文所述示例性实施例。确切来说,提供这些示例性实施例是为了使本公开将透彻及完整,并将向所属领域中的技术人员充分传达本专利技术所公开主题的范围。在图式中,为清晰起见,可夸大各个层及各个区的大小及相对大小。应理解,当称一元件或层位于另一元件或层“上(on)”、“连接到(connectedto)”或“耦合到(coupledto)”另一元件或层时,所述元件或层可直接位于所述另一元件或层上、直接连接到或直接耦合到所述另一元件或层,抑或可存在中间元件或层。相比之下,当称一元件“直接位于(directlyon)”另一元件或层上、“直接连接到(directlyconnectedto)”或“直接耦合到(directlycoupledto)”另一元件或层时,则不存在中间元件或层。相同的编号自始至终指代相同的元件。本文所用用语“和/或(and/or)”包括相关列出项中的一个或多个项的任意及所有组合。应理解,尽管在本文中可使用“第一(first)”、“第二(second)”、“第三(third)”等用语来阐述各个元件、组件、区、层和/或区段,然而这些元件、组件、区、层和/或区段不应受限于这些用语。这些用语仅用于区分各个元件、组件、区、层或区段。因此,以下论述的第一元件、组件、区、层或区段也可被称为第二元件、组件、区、层或区段,而此并不背离本专利技术所公开主题的教示内容。为易于说明,在本文中可使用例如“在…之下(beneath)”、“在…下面(below)”、“下部的(lower)”、“在…上方(above)”、“上部的(upper)”等空间相对性用语来阐述图中所示一个元件或特征与另一(其他)元件或特征的关系。应理解,空间相对性用语旨在除图中所绘示的取向外还囊括器件在使用或操作中的不同取向。举例来说,如果图中所示器件被翻转,则被阐述为位于其他元件或特征“下面”或“之下”的元件此时将被取向为位于所述其他元件或特征“上方”。因此,示例性用语“本文档来自技高网
...

【技术保护点】
1.一种用于错误修正代码的加速的装置,包括:/n主机接口电路,被配置以从主机处理器件接收分担指令,其中所述分担指令指示所述装置计算与多个数据元相关联的所述错误修正代码;/n存储接口电路,被配置以接收所述多个数据元;/n多个存储缓冲器电路,被配置以临时存储所述多个数据元;以及/n多个错误代码计算电路,被配置以至少部分地计算所述错误修正代码而不由所述主机处理器件进行额外处理。/n

【技术特征摘要】
20181214 US 62/780,185;20190208 US 16/271,7771.一种用于错误修正代码的加速的装置,包括:
主机接口电路,被配置以从主机处理器件接收分担指令,其中所述分担指令指示所述装置计算与多个数据元相关联的所述错误修正代码;
存储接口电路,被配置以接收所述多个数据元;
多个存储缓冲器电路,被配置以临时存储所述多个数据元;以及
多个错误代码计算电路,被配置以至少部分地计算所述错误修正代码而不由所述主机处理器件进行额外处理。


2.根据权利要求1所述的装置,其中所述装置被配置以通过以下方式计算所述错误修正代码:
将所述多个数据元分割成多个子部分;
按每一子部分执行所述多个数据元的多个遍次;以及
对每一遍次的输出进行聚合,以形成所述错误修正代码。


3.根据权利要求1所述的装置,其中所述存储接口电路被配置以将所述多个错误代码计算电路的输出自动地写入到外部存储器。


4.根据权利要求1所述的装置,其中所述多个数据元与数据节点的数目相关联;以及
其中所述多个错误代码计算电路内的数目能够重新配置以与所述数据节点的所述数目相匹配,使得在所述数据节点与所述多个错误代码计算电路之间存在关联。


5.根据权利要求1所述的装置,其中所述多个错误代码计算电路包括:
由交替的乘法电路与加法电路形成的树。


6.根据权利要求5所述的装置,其中所述乘法电路包括查找表;以及
其中所述加法电路包括异或门。


7.根据权利要求1所述的装置,其中所述多个错误代码计算电路能够由所述主机处理器件进行重新编程。


8.根据权利要求1所述的装置,其中所述错误修正代码包括最小存储再生代码。


9.一种用于错误修正代码的加速的系统,包括:
存储器,被配置以存储多个数据元;
能够重新编程的处理器件,被配置以至少部分地基于所述多个数据元来计算所述错误修正代码;以及
主机处理器件,被配置以将所述错误修正代码的计算分担到所述能够重新编程的处理器件,
其中所述能够重新编程的处理器件包括:
能够重新配置的管线,至少部分地计算所述错误修正代码且基于所述多个数据元的数目进行重新配置。


10.根据权利要求9所述的系统,其中所述主机处理器件被配置以在运行期间:
执行指令的计算线程,所述指令的所述计算线程产生要将所述错误修正代码的所述计算分担到所述能够重新编程的处理器件的请求,以及
创建所述指令的回调线程,以控制所述能够重新编程的处理器件,以及
创建所述指令的至少一个输入/输出线程,以从所述存储器读取所述多个数据元或者将所述错误修正代码读取到所述存储器。


11.根据权利要求10所述的系统,其中所述主机处理器件被配置以当产生奇偶性数据元时:
响应于将分担请求列入队列而暂停所述计算线程;
响应于所述回调线...

【专利技术属性】
技术研发人员:秦冕李周桓瑞克哈·皮茲马尼奇亮奭
申请(专利权)人:三星电子株式会社
类型:发明
国别省市:韩国;KR

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1