用于存储器子系统的容许故障错误校正布局的制作方法

文档序号:26193593发布日期:2021-08-06 18:47阅读:86来源:国知局
用于存储器子系统的容许故障错误校正布局的制作方法

本公开大体上涉及存储器子系统,且更具体地涉及对存储器子系统中的裸片故障有更高容许度的改进的错误校正布局。



背景技术:

存储器子系统可以是存储系统,例如固态驱动器(ssd)或硬盘驱动器(hdd)。存储器子系统可以是存储器模块,例如双列直插式存储器模块(dimm)、小型dimm(so-dimm)或非易失性双列直插式存储器模块(nvdimm)。存储器子系统可以包含存储数据的一或多个存储器组件。存储器组件可以例如是非易失性存储器组件和易失性存储器组件。一般来说,主机系统可以利用存储器子系统以在存储器组件处存储数据并且从存储器组件检索数据。

附图说明

根据下文给出的详细描述和本公开的各种实施方案的附图,将更充分地理解本公开。

图1示出了根据本公开的一些实施例的包含存储器子系统的示例计算环境。

图2示出了ecc-xor系统的常规布局。

图3a示出了根据本公开的一些实施例的码字段在最终映射为部分拉丁方(ls)ecc-xor布局之前在多个裸片上的初始映射。

图3b示出了根据本公开的一些实施例的在对初始映射应用恰当的移位量以创建部分ls布局之后码字段的最终映射。

图4a示出了根据本公开的一些实施例的码字段在最终映射为完整lsecc-xor布局之前在多个裸片上的初始映射。

图4b示出了根据本公开的一些实施例的在对初始映射应用恰当的移位量以创建完整ls布局之后码字段的最终映射。

图5是根据本公开的实施例的创建ls布局的示例方法的流程图。

图6是根据本公开的实施例的示出完整ls布局与部分ls布局之间的差异的系统设计流程图。

图7是本公开的实施方案可以在其中操作的示例计算机系统的框图。

具体实施方式

本公开的方面涉及为存储器子系统的错误校正方案设计改进的布局。存储器子系统在下文中也称为“存储器装置”。存储器子系统的示例是经由外围互连件(例如,输入/输出总线、存储区域网络)耦合到中央处理单元(cpu)的存储装置。存储装置的示例包含固态驱动器(ssd)、快闪驱动器、通用串行总线(usb)快闪驱动器和硬盘驱动器(hdd)。存储器子系统的另一示例是经由存储器总线耦合到cpu的存储器模块。存储器模块的示例包含双列直插式存储器模块(dimm)、小型dimm(so-dimm)、非易失性双列直插式存储器模块(nvdimm)等。在一些实施例中,存储器子系统可以是混合式存储器/存储子系统。一般来说,主机系统可以利用包含一或多个存储器组件的存储器子系统。主机系统可以提供将要存储在存储器子系统处的数据并且可以请求将要从存储器子系统检索的数据。

错误校正码(ecc)是用于控制存储在存储器子系统中的数据中的错误的技术。ecc涉及在传输期间生成用于错误检测和校正的奇偶校验值,使得可以通过在不需要重新传输的情况下使用解码器来重构正确数据。异或(xor)是为一对位生成奇偶校验值的布尔逻辑运算。码字是ecc的元素,所述ecc的长度等于原始数据(有效载荷)的长度加上奇偶校验位的长度。如果c1、c2、……、cn-1是相同线性码(例如博斯-乔赫里-霍克文黑姆(bose-chaudhuri-hocquenghem,bch))的码字,则所得xor值(即,奇偶校验值)可以视作具有错误校正能力的另一有效码字。

在常规ecc-xor方案中,将单个码字分配给单个裸片。然后,将来自对应裸片的多个码字集合在一起以计算xor值,所述xor值同样存储在单个裸片中。由于将每个码字和xor值存储在对应的单个裸片中,因此常规ecc-xor方案的缺点是仅能使用长度较短的码字,这意味着错误校正能力较低。常规ecc设计受质量最差的裸片限制,而不是受裸片的平均质量限制。

本公开的方面通过将单个ecc码字分配给多个裸片来解决上述和其它不足。每个码字被分为在多个裸片上分布的多个段。将多个码字集合在一起以计算xor值。还对xor值进行了分段。码字段和xor段按拉丁方(ls)布局存储在不同的裸片中。一般来说,ls是字母或符号的布置,每个字母或符号各自在n2个分隔空间的正方形阵列中出现n次,使得没有字母或符号在同一行或同一列出现两次。在存储器子系统上下文中,ls布局是存储器单元的布置,其中每个存储器单元存储不沿着同一列或同一行重复的码字的一个段。即使一个裸片或所述裸片的一部分(包含一或多个存储器单元)出现故障,也可以通过对从完整的存储器单元检索到的相同码字的其余段进行解码来重构数据,即没有物理损坏或其它故障。

因而,本文中所描述的改进的ecc-xor布局总体上更有能力处理故障。本公开的优点包含但不限于使用较长码字的能力,这是因为整个ecc-xor方案失败的概率大大降低。较长码字意味着更强大的错误校正能力。由于ecc-xor布局设计适应裸片的平均质量而不是裸片的最差质量,因此可以利用增强的错误校正能力,这是因为可以由质量较高的裸片在很大程度上补偿质量最差的裸片造成的限制。因此,在改进的ecc-xor布局中,对数据恢复的可能需求要低得多。作为示意性示例,对于具有16个裸片的系统,常规ecc-xor方案使用64字节的ecc码字。此处所描述的改进的ecc-xor方案可以在16个可用裸片上通过64字节的段构造长得多的1024字节的码字。使用1024字节的ecc码字的ecc-xor方案比使用64字节的码字的常规方案的错误校正能力强得多。改进的方案的ecc码字需要处理来自16个裸片的平均错误行为,这是因为错误较高的较低质量的裸片可以被错误较低的较高质量的裸片平均掉。也就是说,改进的ecc-xor布局改进了ecc码观察到的错误统计数据。ls布局还增强了裸片层级的并行操作,这是因为码字在多个裸片之间分布。此外,利用更强的ecc-xor方案的存储器子系统可以改进用于存储在存储器子系统处的数据的错误校正操作。因此,由于可以利用更强的错误校正,提高了存储在存储器子系统处的数据的可靠性。

图1示出了根据本公开的一些实施例的包含存储器子系统110的示例计算环境100。存储器子系统110可以包含媒体,例如存储器组件112a到112n。存储器组件112a到112n可以是易失性存储器组件、非易失性存储器组件或此类组件的组合。在一些实施例中,存储器子系统是存储系统。存储系统的示例是ssd。在一些实施例中,存储器子系统110是混合式存储器/存储子系统。一般来说,计算环境100可以包含使用存储器子系统110的主机系统120。例如,主机系统120可以将数据写入到存储器子系统110并且从存储器子系统110读取数据。

主机系统120可以是计算装置,例如台式计算机、膝上型计算机、网络服务器、移动装置或包含存储器和处理装置的此类计算装置。主机系统120可以包含或耦合到存储器子系统110,使得主机系统120可以从存储器子系统110读取数据或将数据写入到所述存储器子系统。主机系统120可以经由物理主机接口耦合到存储器子系统110。如本文中所使用,“耦合到”通常指代组件之间的连接,其可以是间接通信连接或直接通信连接(例如,不具有中间组件),无论是有线的还是无线的,包含例如电连接、光学连接、磁性连接等连接。物理主机接口的示例包含但不限于串行高级技术附件(sata)接口、外围组件互连高速(pcie)接口、通用串行总线(usb)接口、光纤通道、串行连接的scsi(sas)等。物理主机接口可以用于在主机系统120与存储器子系统110之间传输数据。当存储器子系统110通过pcie接口与主机系统120耦合时,主机系统120可以进一步利用nvm高速(nvme)接口来存取存储器组件112a到112n。物理主机接口可提供用于在存储器子系统110与主机系统120之间传送控制、地址、数据和其它信号的接口。

存储器组件112a到112n可以包含不同类型的非易失性存储器组件和/或易失性存储器组件的任何组合。非易失性存储器组件的示例包含nand类型的快闪存储器。存储器组件112a到112n中的每一个可以包含存储器单元的一或多个阵列,所述存储器单元例如单层级单元(slc)或多层级单元(mlc)(例如,三层级单元(tlc)或四层级单元(qlc))。在一些实施例中,特定存储器组件可以包含存储器单元的slc部分和mlc部分两者。存储器单元中的每一个可以存储由主机系统120使用的数据的一或多个位(例如,数据块)。尽管描述了例如nand类型的快闪存储器等非易失性存储器组件,但存储器组件112a到112n可以基于任何其它类型的存储器,例如易失性存储器。在一些实施例中,存储器组件112a到112n可以是但不限于随机存取存储器(ram)、只读存储器(rom)、动态随机存取存储器(dram)、同步动态随机存取存储器(sdram)、相变存储器(pcm)、磁随机存取存储器(mram)、或非(nor)快闪存储器、电可擦除可编程只读存储器(eeprom),以及非易失性存储器单元的交叉点(xp)阵列(包含三维交叉点(3dxp)阵列)。非易失性存储器的交叉点阵列可以结合可堆叠交叉网格化数据存取阵列基于体电阻的变化来执行位存储。另外,与许多基于快闪的存储器相比,交叉点非易失性存储器可以执行就地写入操作,其中可以在不预先擦除非易失性存储器单元的情况下对非易失性存储器单元进行编程。此外,存储器组件112a到112n的存储器单元可以分组为存储器页或数据块,所述存储器页或数据块可以指用于存储数据的存储器组件的单元。本领域的技术人员将容易理解,本公开中描述的ecc-xor方案的范围不受所使用的存储器技术类型限制。

存储器系统控制器115(下文称为“控制器”)可以与存储器组件112a到112n进行通信以执行操作,例如在存储器组件112a到112n处读取数据、写入数据或擦除数据,以及其它此类操作。控制器115可以包含硬件,例如一或多个集成电路和/或离散组件、缓冲存储器,或其组合。控制器115可以是微控制器、专用逻辑电路(例如,现场可编程门阵列(fpga)、专用集成电路(asic)等)或其它合适的处理器。控制器115可以包含经配置以执行存储在本地存储器119中的指令的处理器(处理装置)117。在所示示例中,控制器115的本地存储器119包含经配置以存储指令的嵌入式存储器,所述指令用于执行控制存储器子系统110的操作(包含处理存储器子系统110与主机系统120之间的通信)的各种过程、操作、逻辑流和例程。在一些实施例中,本地存储器119可以包含存储存储器指针、所提取数据等的存储器寄存器。本地存储器119还可以包含用于存储微码的只读存储器(rom)。尽管图1中的示例存储器子系统110已示出为包含控制器115,但在本公开的另一实施例中,存储器子系统110不包含控制器115,而是替代地依赖于(例如,由外部主机或由与存储器子系统分离的处理器或控制器提供的)外部控制。

一般来说,控制器115可以从主机系统120接收命令或操作,并且可以将命令或操作转换成指令或恰当的命令,以实现对存储器组件112a到112n的所需存取。控制器115可以负责其它操作,例如耗损均衡操作、垃圾收集操作、错误检测和错误校正码(ecc)操作、加密操作、高速缓存操作以及在与存储器组件112a到112n相关联的逻辑块地址与物理块地址之间的地址转换。控制器115可以进一步包含主机接口电路系统,以经由物理主机接口与主机系统120进行通信。主机接口电路可以将从主机系统接收到的命令转换成命令指令以存取存储器组件112a到112n,以及将与存储器组件112a到112n相关联的响应转换成用于主机系统120的信息。

存储器子系统110还可以包含未示出的额外电路系统或组件。在一些实施例中,存储器子系统110可以包含高速缓冲存储器或缓冲器(例如dram)和地址电路系统(例如,行解码器和列解码器),其可以从控制器115接收地址并且对地址进行解码以存取存储器组件112a到112n。

存储器子系统110包含实施ecc-xor码的错误校正组件113。在一些实施例中,控制器115包含错误校正组件113的至少一部分。例如,控制器115可以包含处理器117(处理装置),其经配置以执行存储在本地存储器119中的指令以用于执行本文中所描述的操作。在一些实施例中,错误校正组件113是主机系统110、应用程序或操作系统的一部分。错误校正组件113包含电路系统、专用逻辑、可编程逻辑、固件等中的一种或多种,以执行本文中所描述的操作。错误校正组件113可以生成ecc-xor布局。例如,可以如下文进一步详细描述地实施拉丁方(ls)ecc-xor布局。

图2示出了常规ecc-xor布局。如上文所描述,码字c1、c2、c3、……、cm-1是相同线性码(例如,bch码)的所有元素。每个裸片存储一个完整码字。例如,裸片1存储码字c1的所有位,裸片2存储码字c2的所有位等。码字中的每一个码字可以被设计为ci=[n,ki],其中k是数据的长度(有效负载),并且n是包含ecc的数据的长度,并且i=1、2、……、(m-1)。然后对所有(m-1)个码字进行分组以执行xor运算,并且将xor的结果存储在另一裸片(裸片m)中。此方案通过创建xor值(即,长度n的奇偶校验位)并将所述xor值存储在额外裸片中来创建对故障的一些容许度。然而,由于所述设计受最差裸片的质量限制,因此常规错误校正方案产生次优结果。因此,需要额外的数据恢复方案来改善错误校正结果。

图3a-3b和4a-4b示出了可以支持针对平均质量的裸片(而不是最差质量的裸片)设计的更强ecc方案从而产生最优错误校正结果的所提出的拉丁方(ls)ecc-xor布局。此处公开的布局通过对每个码字进行分段并将码字分别存储在分布在多个裸片上的不同存储单元中来容许单个裸片故障。具体地说,图3a-3b涉及ecc-xor的部分ls布局,并且图4a-4b涉及ecc-xor的完整ls布局。在部分ls布局和完整ls布局中,xor是通过对所有码字进行分组来执行的,并且所得xor值也进行了分段。取决于所有xor段是存储在单个裸片中还是分布在所有裸片上,布局被称作部分ls或完整ls。下文进一步阐释这点。

返回参考图3a,每个码字被分为相等数量的段且初始映射到多个裸片上不同存储单元。例如,码字c1被分为在(m-1)个裸片上分布的(m-1)个段。类似地,码字c2也被分为在同样(m-1)个裸片上分布的(m-1)个段。一般来说,进行分段的且在(m-1)个裸片上分布的(m-1)个码字创建维度为(m-1)乘以(m-1)的表305,如图3a所示。表305中的每个单元指示可以存储码字段的多个位的物理存储器单元310。表305的单元内所示的数值指示码字的段索引(即,码字的第i段),而不是码字自身的索引。初始地,每个码字的第i段与第i裸片相关联。例如,c1的第一段、c2的第一段,一直到cm-1的第一段都与沿着表的第一列的裸片1相关联。因此,第一列中的每个单元示出索引1。类似地,c1的第二段、c2的第二段,一直到cm-1的第二段都与裸片2相关联。按照相同的模式,c1的第(m-1)段、c2的第(m-1)段,一直到cm-1的第(m-1)段都与裸片(m-1)相关联。

但在应用恰当的移位量之前,表305所示的在多个裸片上的码字段的初始映射不是拉丁方格式。图3a列出了沿着每一行的可应用移位量(在表305的右侧示出),以创建ecc-xor布局的ls格式。恰当的移位量可以等于零。例如,表305的第一行没有移位。第二行向右移位了一个段,第三行向右移位了两个段,第四行向右移位了三个段等,直到第(m-1)行移位了(m-2)个段。应注意,向左移位段或其它移位方案也在本公开的范围内。例如,第i行可以向右或向左或向上或向下移位(i-j)个段,其中j可以是任意数字。移位段的结果可能并不总是ls布局,但相对于常规布局仍会改进提高故障容许度。在移位段的结果是(完整或部分的)ls布局的实施例中,具有相同段索引的每个码字段恰好在每一列中出现一次,但不同段沿着单个裸片内的列的次序不一定是连续的。实际上,沿着单个裸片内的列的排序可以是部分ls布局中的‘(m-1)’元素的任何排列,也可以是完整ls布局中的‘m’元素的排列。

图3b示出了根据图3a所示的移位方案应用可变移位量之后的码字段的经修改映射。整个布局320有两个部分:呈维度为(m-1)乘以(m-1)的ls格式的部分350,以及超出ls的部分360。由于ls部分350不会跨越整个布局320,因此这一布局被称为部分ls。布局320的部分350包含存储器单元,其中通过对应的ecc码字段存储数据信息。通过对所有码字进行分组来计算xor值,即xor值cm也分段为(m-1)段。尽管xor值的所有段沿着布局320的部分360中的单个列存储在不同存储单元中,但所述所有段存储在单个裸片(裸片m)中。

在布局的ls部分350内,第一行具有c1的所有段,但所述段不向右移位。因此,c1的第一段存储在裸片1中,c2的第二段存储在裸片2中等。第二行具有c2的所有段,但所述段向右移位一个裸片位置。因此,c2的第一段存储在裸片2中,c2的第二段存储在裸片3中等。第三行具有c3的所有段,但所述段向右移位两个裸片位置。因此,c3的第一段存储在裸片3中,c3的第二段存储在裸片4中等。以类似方式,布局的ls部分350内的第(m-1)行具有cm-1的所有段,但所述段向右移位(m-2)个裸片位置。因此,cm-1的第一段存储在裸片m-1中,cm-1的第二段存储在裸片1中等。

图4a示出了码字段的用于创建‘m×m’ls布局的初始映射表405。此处,通过对第一(m-1)码字进行分组而生成的xor值被视为第m码字。包含xor值码字的码字中的每一个被分为m个段,其存储在m个裸片上。根据图4a所示的方案,对此初始映射应用表405的右侧的恰当移位量。

图4b示出了根据图4a所示的移位方案应用可变移位量之后的码字段的经修改映射。整个布局420呈(维度为m×m的)ls格式。布局420有两个部分:部分450,和部分460,它们一起构成ls。由于ls部分跨越整个布局420,因此这一布局被称为完整ls。布局420的部分450包含存储器单元,其中通过对应的ecc码字段存储数据信息。如先前所提及,通过对(m-1)个码字进行分组来计算xor值,即cm本身是码字且被分为m个段。xor值的每个段存储在于m个裸片上分布的部分460中的对应裸片中。

在完整ls布局420内,第一行具有c1的所有段,但所述段不向右移位。因此,c1的第一段存储在裸片1中,c2的第二段存储在裸片2中等。第二行具有c2的所有段,但所述段向右移位一个裸片位置。因此,c2的第一段存储在裸片2中,c2的第二段存储在裸片3中等。第三行具有c3的所有段,但所述段向右移位两个裸片位置。因此,c3的第一段存储在裸片3中,c3的第二段存储在裸片4中等。以类似方式,ls布局420内的第(m-1)行具有cm-1的所有段,但所述段向右移位(m-2)个裸片位置。因此,cm-1的第一段存储在裸片m-1中,cm-1的第二段存储在裸片1中等。并且,最后,ls布局420内的第m行具有xor(即,码字cm)的所有段,但所述段向右移位(m-1)个裸片位置。因此,cm的第一段存储在裸片m中,cm的第二段存储在裸片1中等。

图3b和4b所示的布置仅是其中单个码字的所有段存储在同一行中的一个实施例。此实施例可能易于实施,但不限制本公开的范围。只要保留沿着每列和每行的非重复单元的特征ls属性,单个码字的不同段就可以存储在不同的行中。

图5是根据本公开的一些实施例的创建ecc-xor布局的示例方法500的流程图。可以通过处理逻辑执行方法500,所述处理逻辑可以包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令),或其组合。在一些实施例中,由图1的错误校正组件113执行方法500。尽管以特定顺序或次序示出,但除非另外规定,否则可以修改过程的次序。因此,所示实施例应仅作为示例理解,并且所示过程可以不同次序执行,并且一些过程可以并行执行。另外,可以在各种实施例中省略一或多个过程。因此,并非每一实施例中都需要所有过程。其它过程流程是可能的。

在操作510,处理逻辑获得码字集合。如先前所描述,这些码字是bch等线性码的元素。可以使用任何数量的码字。当主机系统提供待存储在存储器子系统处的用户数据时,可以获得码字集合。存储器子系统利用的错误控制操作可以通过对用户数据进行编码而生成码字集合。在操作520,处理逻辑对每个码字分配裸片集合。码字的总数量等于裸片的数量。

在操作530,处理逻辑将每个码字分为多个段。码字段将要分布在裸片集合上。如果有(m-1)个裸片分配给每个码字,则将码字中的每一个分为(m-1)个段。

在操作540,处理逻辑基于码字集合计算xor值。将所有(m-1)个码字集合在一起以计算xor值。xor值具有错误校正能力,且因此相当于另一码字(即,第m码字)。xor值也被分为多个段。xor值可以被视为用于码字集合的奇偶校验值。

在步骤550,对码字段中的每一个应用恰当的移位量以按ecc-xorls布局布置码字段,如关于图3a-3b和4a-4b所描述。例如,可以通过对码字段中的每一个应用任何移位来使码字段存储在裸片上。

图6是根据本公开的实施例的示出完整ls布局与部分ls布局之间的差异的系统设计流程图。部分ls布局和完整ls布局均可以处理多种裸片质量。如框650所示,存储器子系统基于系统设计参数(例如,信道数量、码字段大小、主机存取能力等)选择部分ls或完整ls。

就部分ls布局而言,计算出的xor值(例如,在图5中的方法500的操作540中计算出的值)的所有位存储在单个裸片中,如操作655中所描述。例如,如框655所示,存储器子系统将所有xor位存储在单个裸片的多个存储器单元中。应注意,尽管所有xor位存储在单个裸片中,但所述裸片可以具有多个存储器单元。存储xor位的裸片通常是具有最差质量的裸片,即具有最高故障概率的裸片。然而,就潜在的数据恢复而言,将xor位存储到质量最差的裸片比将码字段存储在质量最差的裸片中更明智。关于ecc码字的数据位存储在以部分ls布局布置的其它裸片中的其它可用存储单元中,所述其它裸片的质量比存储xor位的裸片的质量更好。

就完整ls布局而言,计算出的xor值(例如,在图5中的方法500的操作540中计算出的值)的位在所有裸片上均匀地分布,使得每个裸片存储一个xor段的位。例如,如框660所示,存储器子系统使xor位在所有裸片上均匀地分布,使得每个裸片存储一个xor段。由于xor位在裸片上均匀地分布,因此由于单个裸片故障导致的总体故障概率降低。关于ecc码字的数据位存储在其它裸片中的其它可用存储单元中。

图7示出了计算机系统700的示例机器,所述示例机器内可以执行用于使得所述机器执行本文中所论述的方法中的任何一种或多种方法的指令集。在一些实施例中,计算机系统700可以对应于主机系统(例如,图1的主机系统120),所述主机系统包含、耦合到或利用存储器子系统(例如,图1的存储器子系统110)或可以用于执行控制器的操作(例如,执行操作系统以执行对应于图1的错误校正组件113的操作)。在替代实施例中,所述机器可以连接(例如,联网)到lan、内联网、外联网和/或因特网中的其它机器。机器可以作为点对点(或分散式)网络环境中的对等机器或作为云计算基础设施或环境中的服务器或客户端机器而以客户端-服务器网络环境中的服务器或客户端机器操作。

机器可以是个人计算机(pc)、平板pc、机顶盒(stb)、个人数字助理(pda)、蜂窝式电话、网络器具、服务器、网络路由器、交换机或桥接器,或能够(依序或以其它方式)执行指定将由所述机器采取的动作的指令集的任何机器。另外,尽管示出了单个机器,但还应认为术语“机器”包含机器的任何集合,所述集合单独地或共同地执行指令集(或多个指令集)以执行本文中所论述的方法中的任何一种或多种方法。

示例计算机系统700包含处理装置702、主存储器704(例如,只读存储器(rom)、快闪存储器、动态随机存取存储器(dram),例如同步dram(sdram)或rambusdram(rdram)等)、静态存储器706(例如,快闪存储器、静态随机存取存储器(sram)等),以及数据存储系统718,其经由总线730彼此通信。

处理装置702表示一或多个通用处理装置,例如微处理器、中央处理单元等。更具体地,处理装置可以是复杂指令集计算(cisc)微处理器、精简指令集计算(risc)微处理器、超长指令字(vliw)微处理器、或实施其它指令集的处理器或实施指令集的组合的处理器。处理装置702也可以是一或多个专用处理装置,例如专用集成电路(asic)、现场可编程门阵列(fpga)、数字信号处理器(dsp)、网络处理器等。处理装置702经配置以执行指令726,以用于执行本文中所论述的操作和步骤。计算机系统700可以进一步包含网络接口装置708以通过网络720进行通信。

数据存储系统718可以包含机器可读存储媒体724(也称为计算机可读媒体),在所述机器可读存储媒体上存储有指令726的一或多个集或者体现本文中所描述的方法或功能中的任何一种或多种方法或功能的软件。指令726还可在其由计算机系统700执行期间完全或至少部分地驻存在主存储器704内和/或处理装置702内,主存储器704和处理装置702也构成机器可读存储媒体。机器可读存储媒体724、数据存储系统718和/或主存储器704可以对应于图1的存储器子系统110。

在一个实施例中,指令726包含用以实施对应于预读取调整组件(例如,图1的错误校正组件113)的功能性的指令。尽管机器可读存储媒体724在示例实施例中示出为单个媒体,但术语“机器可读存储媒体”应被认为包含存储指令的一或多个集的单个媒体或多个媒体。术语“机器可读存储媒体”还应被认为包含能够存储供机器执行的指令的集或对所述指令的集进行编码以及使机器执行本公开的方法中的任何一种或多种方法的任何媒体。因此,应认为术语“机器可读存储介质”包含但不限于固态存储器、光学媒体和磁性媒体。

已依据计算机存储器内的数据位的操作的算法和符号表示呈现了先前详细描述的一些部分。这些算法描述和表示是数据处理领域的技术人员用以将其工作的主旨最有效地传达给所属领域的其他技术人员的方式。算法在这里并且通常被认为是引起期望结果的操作的自洽序列。操作是要求对物理量进行物理操控的操作。这些量通常但不一定呈能够被存储、组合、比较和以其它方式操控的电信号或磁信号的形式。有时,主要出于通用的原因,已经证明将这些信号称为位、值、元素、符号、字符、术语、数量等是方便的。

然而,应牢记,所有这些和类似术语应与恰当的物理量相关联,并且仅是应用于这些量的方便标记。本公开可以指计算机系统或类似电子计算装置的操控计算机系统的寄存器和存储器内的表示为物理(电子)量的数据并将所述数据变换为计算机系统的存储器或寄存器或其它此类信息存储系统内的类似地表示为物理量的其它数据的动作和过程。

本公开还涉及用于执行本文中的操作的设备。可以出于预期目的而专门构造此设备,或所述设备可以包含通过存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。此类计算机程序可以存储在计算机可读存储媒体中,例如但不限于任何类型的盘(包含软盘、光盘、cd-rom和磁性光盘)、只读存储器(rom)、随机存取存储器(ram)、eprom、eeprom、磁卡或光卡或适合于存储电子指令的任何类型的媒体,它们各自耦合到计算机系统总线。

本文中呈现的算法和显示本质上并不与任何特定计算机或其它设备相关。各种通用系统可以与根据本文中的教示的程序一起使用,或其可以证明构造用以执行所述方法的更加专用的设备是方便的。将如下文描述中所阐述的那样来呈现多种这些系统的结构。另外,不参考任何特定编程语言来描述本公开。应了解,可以使用各种编程语言来实施如本文中所描述的本公开的教示。

本公开可以提供为计算机程序产品或软件,其可以包含在其上存储有可以用于对计算机系统(或其它电子装置)进行编程以执行根据本公开的过程的指令的机器可读媒体。机器可读媒体包含用于以机器(例如,计算机)可读的形式存储信息的任何机制。在一些实施例中,机器可读(例如,计算机可读)媒体包含机器(例如,计算机)可读存储媒体,例如只读存储器(“rom”)、随机存取存储器(“ram”)、磁盘存储媒体、光学存储媒体、快闪存储器组件等。

在前述说明书中,已参考其具体示例实施例描述了本公开的实施例。将显而易见的是,可以在不脱离如所附权利要求书中阐述的本公开的实施例的更广精神和范围的情况下对本公开进行各种修改。因此,应在说明性意义上而非限制性意义上看待说明书和图式。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1