存储控制器中的可配置多级纠错制造技术

技术编号:17102724 阅读:24 留言:0更新日期:2018-01-21 12:45
一种操作存储控制器的方法,包括:(a)从主机接收主机数据,用于存储在存储系统中的分区内,和(b)基于至少一个分区参数确定纠错代码级别的量。该方法还包括(c)将主机数据划分到多个有效负载中,(d)为有效负载提供元数据,(e)为有效负载和与每个有效负载相关联的元数据计算纠错代码,和(f)创建多个代码字,每个代码字包括有效负载和与有效负载对应的元数据和纠错代码。该方法包括:(g)基于纠错代码级别的量,将代码字存储在存储系统中,或将代码字划分到多个进一步的有效负载中,根据步骤(d)至(g)反复地处理所述进一步的有效负载以提供纠错代码级别的量。

Configurable multilevel error correction in storage controller

A method of operating memory controller includes: (a) receiving host data from host, storing it in partitions in storage system, and (b) determining the amount of error correction code level based on at least one partition parameter. The method also includes (c) will host data is divided into a plurality of payloads, (d) provides metadata for the payload (E) calculation error correction code for the payload and a payload associated with each metadata, and (f) to create multiple code words, each code word including payload and with the payload metadata and the corresponding error correcting code. The method includes: (g) error correcting code level based on the amount of code words, will be stored in the storage system, or the code word is divided into multiple payloads further, according to the steps (d) to (g) repeatedly processing the further effective load to provide the level of the amount of error correcting code.

【技术实现步骤摘要】
【国外来华专利技术】存储控制器中的可配置多级纠错本申请在此要求于2015年3月20日提交的、标题为“SEQUENTIALWRITE/RANDOMREADSTORAGECONTROLLER(顺序写入/随机读取存储控制器)”的申请号为62/136,336的美国临时专利申请的权益和优先权,其全部内容通过引用方式整体纳入本文。
本公开文本的方面涉及数据存储,并且具体涉及顺序写入/随机读取存储控制器。
技术介绍
闪存非易失性存储设备在计算机中通常用作高速固态存储设备。这些设备需要通常像随机写入/随机读取的小型数据块设备一样工作的闪存控制器。它们的数据块大小通常是8至16KB。由于这些设备提供的是随机写入/随机读取数据业务,因此性能要求限制了在不降低性能的情况下所能够使用的纠错量和数据保护。此外,这些闪存控制器需要小型块闪存转换层(FTL),所述小型块闪存转换层是基于主机的小型块到闪存设备内的页面中的映射。闪存转换层通常是复杂的,并且还为闪存控制器创建附加进程来管理比如垃圾的收集、超大型转换表的管理、损耗的均衡、电源故障恢复等。由于这些要求,就闪存控制器内的面积和功率方面而言闪存转换层是昂贵的,并且闪存转换层还使性能降低且使损耗增加。
技术实现思路
在一个实施方案中,提供一种用于存储系统的存储控制器。存储控制器包括:主机接口,其被配置为接收用于存储在存储系统内的主机数据;存储接口,其被配置为向存储系统传送存储数据;和处理电路,其与主机接口和存储接口耦接。所述处理电路被配置为:(a)通过主机接口从主机接收主机数据,用于存储在存储系统中的分区内,以及(b)基于与所述分区对应的至少一个分区参数确定纠错代码级别的量。所述处理电路被进一步配置为:(c)将主机数据划分到多个有效负载中,(d)为每个有效负载提供元数据,(e)为每个有效负载和与每个有效负载相关联的元数据计算纠错代码,和(f)创建多个代码字,每个代码字包括有效负载以及与该有效负载相对应的元数据和纠错代码。所述处理电路还被配置为:(g)基于纠错代码级别的量,通过存储接口将代码字存储在存储系统中,或将代码字划分到多个进一步的有效负载中,根据步骤(d)至(g)反复地处理所述进一步的有效负载以提供纠错代码级别的量。在另一个实施方案中,提供一种操作存储控制器的方法。该方法包括:(a)通过主机接口从主机接收主机数据,用于存储在存储系统中的分区内;和(b)基于与分区对应的至少一个分区参数确定纠错代码级别的量。该方法还包括:(c)将主机数据划分到多个有效负载中,(d)为每个有效负载提供元数据,(e)为每个有效负载和与每个有效负载相关联的元数据计算纠错代码,和(f)创建多个代码字,每个代码字包括有效负载和与该有效负载相对应的元数据和纠错代码。该方法还包括:(g)基于纠错代码级别的量,通过存储接口将代码字存储在存储系统中,或将代码字划分到多个进一步的有效负载中,根据步骤(d)至(g)反复地处理所述进一步的有效负载以提供纠错代码级别的量。在另一个实施方案中,提供了一种或更多种非暂时性计算机可读介质,其具有存储在其上的程序指令以操作用于存储系统的存储控制器。所述程序指令在由处理电路执行时指示所述处理电路至少:(a)通过主机接口从主机接收主机数据,用于存储在存储系统中的分区内,和(b)基于与分区对应的至少一个分区参数来确定纠错代码级别的量。所述程序指令还指示所述处理电路以至少:(c)将主机数据划分到多个有效负载中,(d)为每个有效负载提供元数据,(e)为每个有效负载和与每个有效负载相关联的元数据计算纠错代码,和(f)创建多个代码字,每个代码字包括有效负载和与该有效负载相对应的元数据和纠错代码。所述程序指令还指示所述处理电路以至少:(g)基于纠错代码级别的量,通过存储接口将代码字存储在存储系统中,或将代码字划分到多个进一步的有效负载中,根据步骤(d)至(g)反复地处理所述进一步的有效负载以提供纠错代码级别的量。附图说明参照以下附图能够更好地理解本公开文本的许多方面。虽然结合这些附图描述了一些实施方案,但是本公开文本并不限于本文所公开的实施方式。相反地,本公开文本的意图在于涵盖所有的替代方案、修改和等同物。图1示出一种计算机主机和数据存储系统。图2示出一种数据存储系统。图3示出一种用于操作存储控制器的方法。图4示出一种存储器存储单元组织的示例。图5示出一种存储器芯片阵列。图6示出一种数据存储系统。图7示出一种包括介质仿真层的数据存储系统。图8示出一种存储阵列组织的示例。图9示出一种存储阵列分区示例。图10示出一种示例性数据组织。图11示出一种示例性顺序写入过程。图12示出一种存储控制器。具体实施方式图1示出计算机主机和数据存储系统100。在该示例性实施方案中,主机系统110向存储控制器120发送数据并从该存储控制器120接收数据,用于存储在存储系统130中。在一个示例性实施方案中,存储系统130包括闪存非易失性存储器,比如NAND存储器。NAND存储器仅仅是一个示例,存储系统130的其他实施方案能够包括其他类型的存储器。存储控制器120通过链路150与存储系统通信,并且执行以下功能:将从主机系统110接收的数据配置成对存储系统130的存储器资源进行有效使用的格式。在该示例中,存储控制器120使用顺序写入/随机读取业务流向存储系统130提供数据。该业务流提供比通常用于闪存非易失性存储器的小型数据块随机写入/随机读取业务流更优良的许多有利之处。特别地,顺序写入/随机读取业务流提供对存储阵列内的存储器的有效使用,并提供性能改进,包括映射到存储系统130内的不同分区的多个双向数据流的可用性。这些分区能够各自配置为具有所需的分区大小、数据块大小、存储密度、物理存储器属性、保护属性、安全级别、服务质量要求、数据类型、数据源、数据流属性等。能够由计算机主机和数据存储系统100内的不同系统来创建或请求分区。在一些示例中,主机系统110将分区请求连同用于配置该分区的参数一起发送到存储控制器120。在其他情况下,存储控制器120内的介质仿真层能够创建分区以用于管理主机数据,比如在分区之间进行缓存、对表进行存储、跨分区执行垃圾收集等。此外,存储控制器120自身能够创建用于系统区域数据存储的分区。在所有情况下,分区创建者拥有分区并定义分区属性(使用分区参数)。存储控制器120提供在主机系统110使用的标准存储接口和命令协议到存储系统130内的存储设备使用的命令协议和物理接口之间的转换。另外地,存储控制器120能够模拟不同的介质类型,比如硬盘驱动器、磁带驱动器等,允许主机系统110像是硬盘驱动器、磁带驱动器等一样来与存储系统130连接。在这样的仿真模式中,存储控制器120在主机系统110和存储系统130之间进行转换,配置数据业务并在主机系统110所期望的介质类型的格式和存储系统130所使用的协议之间进行命令转换。在单个的存储系统130内,能够使用不同的分区来模拟不同的介质类型,其中存储控制器120管理不同的数据业务流并配置数据,以及根据需要转换每个流中的命令。另外地,存储控制器120实施纠错代码(ECC)编码/解码功能,以及数据编码、数据恢复、重试恢复方法及其他过程和方法来优化数据完整性。存储控制器120包括在各种各样的数据块大本文档来自技高网...
存储控制器中的可配置多级纠错

【技术保护点】
一种用于存储系统的存储控制器,包括:主机接口,被配置为接收用于存储在所述存储系统内的主机数据;存储接口,被配置为向所述存储系统传送存储数据;和与所述主机接口和所述存储接口耦接的处理电路,所述处理电路被配置为:(a)通过所述主机接口从主机接收所述主机数据,用于存储在所述存储系统中的分区内;(b)基于与所述分区对应的至少一个分区参数确定纠错代码级别的量;(c)将所述主机数据划分到多个有效负载中;(d)为每个所述有效负载提供元数据;(e)为每个所述有效负载和与每个所述有效负载相关联的元数据计算纠错代码;(f)创建多个代码字,每个代码字包括有效负载和与该有效负载相对应的元数据和纠错代码;(g)基于所述纠错代码级别的量,通过所述存储接口将所述代码字存储在所述存储系统中,或将所述代码字划分到多个进一步的有效负载中,根据步骤(d)至(g)反复地处理所述进一步的有效负载以提供所述纠错代码级别的量。

【技术特征摘要】
【国外来华专利技术】2015.03.20 US 62/136,3361.一种用于存储系统的存储控制器,包括:主机接口,被配置为接收用于存储在所述存储系统内的主机数据;存储接口,被配置为向所述存储系统传送存储数据;和与所述主机接口和所述存储接口耦接的处理电路,所述处理电路被配置为:(a)通过所述主机接口从主机接收所述主机数据,用于存储在所述存储系统中的分区内;(b)基于与所述分区对应的至少一个分区参数确定纠错代码级别的量;(c)将所述主机数据划分到多个有效负载中;(d)为每个所述有效负载提供元数据;(e)为每个所述有效负载和与每个所述有效负载相关联的元数据计算纠错代码;(f)创建多个代码字,每个代码字包括有效负载和与该有效负载相对应的元数据和纠错代码;(g)基于所述纠错代码级别的量,通过所述存储接口将所述代码字存储在所述存储系统中,或将所述代码字划分到多个进一步的有效负载中,根据步骤(d)至(g)反复地处理所述进一步的有效负载以提供所述纠错代码级别的量。2.根据权利要求1所述的存储控制器,其中,每个有效负载包括来自先前纠错代码级别的代码字的一部分。3.根据权利要求1所述的存储控制器,其中,第一纠错代码级别使用第一纠错代码方法,并且第二纠错代码级别使用与所述第一纠错代码方法不同的第二纠错代码方法。4.根据权利要求1所述的存储控制器,其中,第一纠错代码级别中的代码字的大小是基于所述存储系统内的第一类型的潜在物理缺陷来确定的,并且第二纠错代码级别中的代码字的大小是基于所述存储系统内的与所述第一类型的潜在物理缺陷不同的第二类型的潜在物理缺陷来确定的。5.根据权利要求1所述的存储控制器,其中,元数据描述了代码字数据的布局,所述代码字数据包括以下组中的至少之一:数据地址、数据边界、数据映射和数据特征。6.根据权利要求1所述的存储控制器,其中,至少一个纠错代码级别中的所述元数据包括代码字配置数据,所述代码字配置数据使得所述处理电路能够跨有效负载边界对代码字进行打包和解包。7.根据权利要求1所述的存储控制器,其中,所述至少一个分区参数是在所述存储器系统中创建分区之前从所述主机接收的。8.一种操作存储控制器的方法,包括:(a)通过主机接口从主机接收主机数据,用于存储在所述存储系统中的分区内;(b)基于与所述分区对应的至少一个分区参数确定纠错代码级别的量;(c)将所述主机数据划分到多个有效负载中;(d)为每个所述有效负载提供元数据;(e)为每个所述有效负载和与每个所述有效负载相关联的所述元数据计算纠错代码;(f)创建多个代码字,每个代码字包括有效负载和与所述有效负载相对应的元数据和纠错代码;(g)基于所述纠错代码级别的量,通过所述存储接口将所述代码字存储在所述存储系统中,或将所述代码字划分到多个进一步的有效负载中,根据步骤(d)至(g)反复地处理所述进一步的有效负载以提供所述纠错代码级别的量。9.根据权利要求8所述的方法,其中,每个有效负载包括来自先前纠错代码级别的代码字...

【专利技术属性】
技术研发人员:T·R·埃尔哈特
申请(专利权)人:波利伍德有限责任公司
类型:发明
国别省市:美国,US

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

1