使用阶层式解码器的误差校正的制作方法

文档序号:23068215发布日期:2020-11-25 17:55阅读:133来源:国知局
使用阶层式解码器的误差校正的制作方法

本发明大体上涉及存储器,且更特定来说涉及与误差校正相关联的设备及方法。



背景技术:

存储器装置通常提供为计算机或其它电子装置中的内部半导体集成电路。存在许多不同类型的存储器,包含易失性及非易失性存储器。易失性存储器可需要电力来维持其数据且包含随机存取存储器(ram)、动态随机存取存储器(dram)及同步动态随机存取存储器(sdram)等。非易失性存储器可在未被供电时通过留存所存储数据而提供持久数据且可包含nand快闪存储器、nor快闪存储器、只读存储器(rom)、电可擦除可编程rom(eeprom)、可擦除可编程rom(eprom)及电阻可变存储器(例如相变随机存取存储器(pcram)、电阻性随机存取存储器(rram)及磁阻性随机存取存储器(mram))等。

存储器还用作用于广泛范围的电子应用的易失性及非易失性数据存储装置。非易失性存储器可用于例如个人计算机、便携式存储棒、数码相机、蜂窝电话、便携式音乐播放器(例如mp3播放器)、电影播放器及其它电子装置。存储器单元可经布置成阵列,其中所述阵列用于存储器装置中。

各种计算系统包含耦合到存储器(例如,存储器系统)的处理资源,所述存储器是关联执行指令集(例如,程序、应用程序等)来存取。存储器系统可使用误差校正码(ecc)来检测及校正数据中的误差。

附图说明

图1是能够实施本发明的数个实施例的包含存储器装置及控制器的存储器系统的框图。

图2是根据本发明的数个实施例的能够校正误差的快速解码(fd)解码器的框图。

图3说明根据本发明的数个实施例的与利用fd解码器及精确解码(ad)解码器校正误差相关联的流程图。

图4说明根据本发明的数个实施例的码字的实例。

具体实施方式

本发明包含与误差校正相关的设备及方法。一种实例方法可包含从存储器阵列接收输入数据;对所述输入数据执行与误差检测相关联的多个操作;及基于处理所述输入数据而将输出数据、验证旗标及多个奇偶校验位提供到由耦合到存储器装置的控制器代管的第二解码器。

本发明的数个实施例可提供用于对使用存储器装置存储的数据执行误差校正的经改进误差校正码(ecc)。例如,一些现有ecc包含将冗余数据或奇偶校验数据添加到消息使得可恢复消息。在数据的传输、存储及/或检索期间,可在数个误差的指令之后恢复数据。

存储装置已成为计算机系统中的性能瓶颈。存储数据及从存储装置检索数据的能力已成为计算机系统执行计算及操作的能力的限制因素。

尽管基于nand的存储装置解决方案已经改进而优于硬盘驱动器延时达10倍以上,然存储装置仍是延时落后的。例如相变存储器(pcm)、磁阻性随机存取存储器(mram)、电阻性随机存取存储器(reram)及/或3dxpoint存储器的新兴存储器(em)技术可改进存储器相关延时而优于其它存储器技术。em可提供与系统(例如,计算系统)的其余部分同样快的数据存储装置。em可提供具有与计算系统的其它组件的延时相当的延时的数据存储装置。为应对存储装置应用的可靠性目标,em可利用能够校正误差且留存代管em的装置的低延时性能的ecc。

鉴于存储装置应用(不同于存储器应用)可忍受可变存取延时,利用具有低延时的ecc解码器可为有益的。在一些实例中,低延时可包括多个纳秒的范围内的延时。在其它实例中,较高延时可为多个微秒的范围内的延时。

可通过利用ecc级联方案及阶层式解码器而实现具有高校正能力及低延时的ecc解码器。如本文中使用,阶层式解码器可描述使用多个解码器来校正数据中的误差。阶层式解码器可包含使用快速解码(fd)解码器及精确解码(ad)解码器。在一些实例中,阶层式解码方案可利用fd解码器且可视需要借助于用于ad解码器中的更强大ecc。

鉴于fd解码器以高机率标记其故障的能力,可使用fd解码器中采用的ecc。如果fd解码器中使用的ecc在不引发旗标的情况下发生故障,那么将接受以错误解码事件结束的信息块。在一些实例中,在fd解码器中发生故障而不引发旗标的机率非常低。可在非常短时间内产生由fd解码器生成以识别故障的旗标,以免损害fd解码器的低延时。

在数个实施例中,阶层式码架构利用嵌入在存储器装置中的fd解码器及实施在存储控制器中的ad解码器。为具有有效且高效的解决方案,fd解码器架构可经调适以用于如图1中展示的阶层式方案中。

在本发明的以下详细描述中,参考附图,其形成本发明的一部分,且其中以说明方式展示可如何实践本发明的数个实施例。充分详细地描述这些实施例以使所属领域的一般技术人员能够实践本发明的实施例,且应理解,可利用其它实施例且在不脱离本发明的范围的情况下可做出过程、电及/或结构改变。如本文中使用,指定符“n”指示如此指定的数个特定特征可包含在本发明的数个实施例中。

如本文中使用,“数个”某物可指此类事物中的一或多者。例如,数个存储器装置可指存储器装置中的一或多者。“多个”某物意指两个或更多个。另外,如本文中使用,例如“n”的指定符(尤其关于附图中的参考数字)指示如此指定的数个特定特征可包含在本发明的数个实施例中。

本文中的图遵循编号惯例,其中首位数字或前几位数字对应于附图图号且其余数字识别附图中的元件或组件。可通过使用类似数字来识别不同图之间的类似元件或组件。如将明白,可添加、交换及/或消除本文中的各种实施例中展示的元件以便提供本发明的数个额外实施例。另外,图中提供的元件的比例及相对尺度意图说明本发明的各种实施例且不在限制意义上使用。

图1是能够实施本发明的数个实施例的包含存储器装置104及控制器102的存储器系统100的框图。存储器系统100还可包含多个快速编码(fe)编码器106-1及106-2(统称为fe编码器106)及精确编码(ae)编码器108。存储器系统100还可包含多个fd解码器110-1及110-2(统称为fd解码器110)及ad解码器112。存储器系统100可进一步包含存储器阵列114。

如本文中使用,“设备”可指但不限于各种结构或结构组合,例如电路或若干电路、裸片或若干裸片、模块或若干模块、装置或若干装置或系统或若干系统。例如,存储器系统100、控制器102、存储器装置104、fe编码器106、ae编码器108、fd解码器110、ad解码器112及存储器阵列114可单独或共同称为“设备”。

在这个实例中,计算系统包含耦合到控制器102的主机,所述控制器102经耦合到存储器系统100。计算系统可为膝上型计算机、个人计算机、数码相机、数字记录及回放装置、移动电话、pda、存储卡读取器、接口集线器、传感器、启用物联网(iot)的装置及其它系统,且主机可包含能够(例如,经由控制器102)存取存储器系统100的数个处理资源(例如,一或多个处理器)。主机可负责执行操作系统(os)及/或执行可(例如,经由控制器102从存储器系统100)加载到其的各种应用程序。

控制器102可从主机接收存储器事务请求(例如,呈读取及写入命令的形式,其可分别称为加载及存储命令)。控制器102可通过数个接口例如采用适合协议在主机与存储器系统100之间传送命令及/或数据,所述数个接口可包括物理接口,例如总线。此协议可为定制或专属的,或接口可采用标准化协议,例如外围组件快速互连(pcie)、gen-z、ccix等。控制器102可包括呈硬件、固件或软件或三者的任何组合的形式的控制电路。作为实例,控制器102可包括状态机、定序器及/或某种其它类型的控制电路,其可呈耦合到印刷电路板的专用集成电路(asic)的形式实施。在数个实施例中,控制器102可与主机共置(例如,呈芯片上系统(soc)配置)。而且,控制器102可与存储器系统100共置。

存储器系统100可包括数个物理存储器“芯片”或裸片,其可各自包含数个存储器单元阵列(例如,存储体)及与存取(若干)阵列(例如,从阵列读取数据及将数据写入到阵列)相关联的对应支持电路(例如,地址电路、i/o电路、控制电路、读取/写入电路等)。作为实例,存储器系统100可包含数个dram装置、sram装置、pcram装置、rram装置、feram装置、相变存储器、3dxpoint及/或快闪存储器装置。在数个实施例中,存储器系统100可充当计算系统的主要存储器。

fd解码器110可实施fd码。fd码可在持续时间内校正误差。持续时间可包含多个纳秒。fd码及引申来说fd解码器110可校正至多预定数量的误差。例如,fd解码器110可校正从存储器阵列114检索的给定数据页中的一个到五个误差。fd解码器110可实施代数解码方案。即,fd解码器110可利用代数解码而非迭代解码。fd解码器110可利用组合逻辑实施代数解码。在一些实例中,fd解码器110可在错误地解码数据的机率小于10-5的情况下解码数据,同时维持低延时。

ad解码器112可实施ad码。ad码可在持续时间内校正误差。持续时间可包含多个微秒。可在fd解码器110与ad解码器112之间区分预定持续时间。例如,fd解码器110可确定是否校正误差及/或可在预定持续时间内校正误差。ad解码器112可确定是否校正误差及/或可在大于预定持续时间的持续时间内校正误差。

ad码及引申来说ad解码器112可校正多于预定数量的误差。例如,ad解码器112可校正从存储器阵列114检索的给定数据页中的六个或更多个误差。例如,ad解码器112可校正数百个误差。ad解码器112可实施迭代过程。可利用时序逻辑实施迭代过程。

ad解码器112及fd解码器110中的至少一者可驻留在不同装置及/或设备中。例如,ad解码器112可驻留在控制器102中,而fd解码器110-2驻留在存储器装置104中。在一些实施例中,控制器102可为微控制器(uc)。

fd解码器110-2可利用有效性旗标触发ad解码器112。即,ad解码器112可响应于接收有效性旗标及/或响应于有效性旗标的值而确定是否实施ad码以校正数据中的误差。fd解码器110-2可基于fd解码器110-2是否校正从存储器阵列114检索的数据中的误差而触发有效性旗标。经触发有效性旗标可表示数个位,其包含预定值以识别fd解码器110-2校正误差或不存在误差。经触发有效性旗标可抑制ad解码器112的数据处理。

在一些实例中,还可编码存储在存储器阵列中的数据。可利用fe编码器106及ae编码器108中的一者编码数据。例如,可利用驻留在同一装置(例如,控制器102)中的fe编码器106-1及ae编码器108编码数据。还可利用驻留在不同装置中的fe解码器106-2及ae编码器108编码数据。ae编码器108可由控制器102代管,而fe编码器106-2由存储器装置104代管。

在一些实施例中,可从存储器阵列114以页检索数据及/或奇偶校验位。在一些实例中,页包含码字。如本文中使用,奇偶校验位描述可用于确定数据是否含有误差的位。奇偶校验位还可用于识别误差及/或校正误差。

可将数据及/或奇偶校验位提供到fd解码器110-2。例如,控制器102可协调数据及/或奇偶校验位从存储器阵列114到fd解码器110-2的传送。fd解码器110-2可确定数据中是否存在误差及/或所述fd解码器是否将利用奇偶校验位校正误差。fd解码器110-2可基于误差是否经校正而生成有效性旗标。

fd解码器110-2可将数据、奇偶校验位及/或有效性旗标提供到ad解码器112。ad解码器112可基于有效性旗标的值而确定是否对数据执行误差校正码(例如,ad码)。例如,ad解码器112可响应于接收包括第一值的有效性旗标而校正数据中的误差。ad解码器112可响应于接收包括第二值的有效性旗标而禁止校正误差。fd解码器110-2可响应于校正数据中的数个误差而生成经激活有效性旗标。经激活有效性旗标可为逻辑“1”位且经撤销激活有效性旗标可为逻辑“0”位。在一些实例中,经激活有效性旗标可为逻辑“0”位且经撤销激活有效性旗标可为逻辑“1”位。

ad解码器112可响应于接收经撤销激活有效性旗标而校正误差。即,ad解码器112可响应于接收经撤销激活有效性旗标而确定经接收数据中是否存在误差。ad解码器112可响应于确定存在误差而校正误差。

如果ad解码器112使用奇偶校验位校正数据中的误差,那么ad解码器112可将经校正数据提供到fd解码器110-1以进行进一步误差校正。在一些实例中,ad解码器112可将数据提供到请求设备而无需由fd解码器110-1进行进一步处理。

在其它实例中,ad解码器112可提供输入数据作为输出数据而无需响应于接收经激活有效性旗标对数据执行误差校正。即,ad解码器112可响应于接收已由fd解码器110-2校正的数据而将数据及/或奇偶校验位传递到fd解码器110-1及/或请求设备。

在一些实例中,ad解码器112可从fd解码器110-2接收数据及有效性旗标而不接收奇偶校验位。ad解码器112可确定数据中是否存在误差。响应于确定数据中存在误差,ad解码器112及/或控制器102可从存储器装置104请求奇偶校验位。例如,ad解码器112可使用读取再试命令请求奇偶校验位。ad解码器112及/或控制器102可使用读取再试命令从存储器装置104请求奇偶校验位。

ad解码器112使用经请求奇偶校验位校正误差。可从fd解码器110-2接收及/或可在不使用fd解码器110-2的情况下接收经请求奇偶校验位。在一些实例中,fd解码器110-2可使用一或多个专用奇偶校验位线提供奇偶校验位。

fd解码器110-1可从ad解码器112接收数据且可校正数据中的误差。例如,fd解码器110-1可确定由ad解码器112提供的数据是否含有误差。响应于确定数据含有误差,fd解码器110-1可校正误差。

图2是根据本发明的数个实施例的能够校正误差的fd解码器210的框图。fd解码器210可包含校正子计算单元227、误差校正单元228及错误校正检查器单元229。

在一些实施例中,校正子计算单元227可与误差校正单元228及/或错误校正检查器单元229进行通信。错误校正检查器单元229还可与误差校正单元228进行通信。

fd解码器210可从存储器阵列接收数据220及奇偶校验位226。fd解码器210可在校正子计算单元227处接收数据220。fd解码器210可经由专用奇偶校验位线将奇偶校验位226提供到控制器及/或控制器的设备。

在一些实例中,fd解码器210可提供奇偶校验位226,而无关于数据是否经校正(例如,原始数据)。在其它实例中,如果撤销激活有效性旗标224(例如,无效性),那么fd解码器210可提供数据。fd解码器210还可在请求后提供奇偶校验位226。例如,fd解码器210可在请求后提供奇偶校验位226,而无关于有效性旗标224的值。

校正子计算单元227可从数据220及奇偶校验位226生成校正子。校正子可为可用于确定数据220中是否存在误差的向量。例如,校正子计算单元227可从一或多个经接收码字生成校正子。可将校正子提供到误差校正单元228及/或错误校正检查器单元229。

误差校正单元228可利用校正子来确定数据220是否包含误差。误差校正单元228还可使用校正子来确定数据220中存在的误差数量。如果数据220中的误差数量小于预定阈值,那么误差校正单元228可校正误差。如果数据220中的误差数量大于预定阈值,那么误差校正单元228可放弃校正误差。因而,误差校正单元228可生成经校正数据或原始数据。由误差校正单元提供的数据可称为数据222、经校正数据222及/或原始数据222。fd解码器210可将数据222提供到控制器及/或由控制器代管的ad解码器。在一些实例中,误差校正单元228可将消息提供到错误校正检查器单元229以向错误校正检查器单元229告知是否在数据222中校正误差。

错误校正检查器单元229可使用校正子及/或从误差校正单元228接收的消息确定是否在数据222中校正误差。基于是否在数据222中校正误差,误差校正单元228可生成有效性旗标224。如果数据222包括对数据220中的误差的校正,那么错误校正检查器单元229可生成经激活有效性旗标224。如果数据222不包括校正,那么错误校正检查器单元229可生成经撤销激活有效性旗标224。错误校正检查器单元229可将有效性旗标224提供到控制器及/或由控制器代管的ad解码器。

在一些实例中,fd解码器210可将数据222、有效性旗标224及奇偶校验位226提供到控制器而无关于数据222是否包含校正。在其它实例中,fd解码器210可将数据222及有效性旗标224提供到控制器而无关于数据222是否含有校正。如果数据222不含有校正,那么fd解码器210可将奇偶校验位226提供到控制器。

图3说明根据本发明的数个实施例的与利用fd解码器及ad解码器校正误差相关联的流程图330。图3包含外编码器306、内编码器308、存储器装置304、内解码器312及外解码器310。图3展示使用外fd码的串行码级联。

外编码器306可为fe编码器,内编码器308可为ae编码器。内解码器312可为ad解码器且外解码器310可为fd解码器。尽管未展示,然存储器装置304可包含fd解码器。内解码器312及外解码器310可由控制器代管。在一些实例中,外编码器306及内编码器308由控制器代管。

由存储器装置304所代管的fd解码器生成的有效性旗标及数据可用于确定是否将数据提供到内解码器312及/或外解码器310。例如,由存储器装置304代管的fd解码器可响应于生成具有例如指示数据未经校正(例如,原始)的逻辑“0”的预定值的有效性旗标而将原始数据提供到内解码器312。由存储器装置304代管的fd解码器可响应于生成具有例如指示数据经校正的逻辑“1”的预定值的有效性旗标而将经校正数据提供到内解码器312。

外编码器306可编码小数据分块(例如,原始数据)以生成快速码字。可使用内编码器308编码快速码字以生成精确码字。精确码字可称为精确码。精确码可为系统码。即,精确码可分离数据与奇偶校验位。

在解码阶段中,内解码器312可对精确码进行解码以生成快速码字。外解码器310可对快速码字进行解码以生成所述小数据分块。在内解码器312之后利用外解码器310可增加实施流程图330的系统的误差校正能力。

即,外解码器310可消除可能的误差底限。外解码器310可用于提供优于内解码器312的性能。在一些实例中,内解码器312及外解码器310可操作不同大小的数据分块。例如,小数据分块可为第一大小且精确码字可为第二大小,其中第二大小大于第一大小。

fd解码器的复制由于精确码的系统性质而变得可行。fd解码器的复制是指使用存储器装置304中的fd解码器及使用外解码器310。由于精确码的系统性质,可为存储器装置304中的fd解码器提供在内解码器312之前校正误差的机会及/或为外解码器310提供校正误差的机会。

尽管图3中的实例展示为使用串行码级联,然本文中描述的实例可扩展到使用内fd码的串行或并行级联。

图4说明根据本发明的数个实施例的码字440的实例。码字440包含ad数据442及ad奇偶校验位444。ad数据442包括fd数据446及fd奇偶校验位448。

在将数据存储在存储器装置(例如,存储器装置304)中之前,作用于数据分块(例如,fd数据446的分块)的外编码器(例如,外编码器306)通过添加对应于fd数据446的分块中的每一者的fd奇偶校验位448而将所述分块中的每一者编码为fd码字。即,将fd数据446的分块按顺序编码成包括fd数据446及fd奇偶校验位448的n个fd码字。

通过内编码器(例如,内编码器308)将n个fd码字编码成n个ad码字。内编码器将n个fd码字处理为ad数据442,其中ad数据442的分块中的每一者是不同于n个fd码字的码字。内编码器针对ad数据442的分块中的每一者生成ad奇偶校验位444。ad奇偶校验位444取决于fd奇偶校验位448。

在解码阶段中,通过fd解码器试探性地解码fd码字。如果正确地解码fd码字(例如,如果fd码字不具有误差或数个误差经校正),那么针对全部fd码字设置有效性旗标且抑制ad解码器。如果fd码字中的至少一者未通过fd解码器校正且fd解码器检测到存在误差,那么激活ad解码器且ad解码器处理fd码字。

在一些实施例中,在存储器中实施fd解码器以减小fd解码器中与校正误差相关联的延时。fd解码器可与ad解码器进行通信以请求ad解码器参与完成解码过程。即,fd解码器可启动解码过程且fd解码器可经由有效性旗标请求ad解码器完成解码过程。有效性旗标可用于警告ad解码器可校正数据及/或用于激活ad解码器。

在一些实例中,可使用内ad解码器复制串行级联方案。可在存储器装置中实施fe编码器及fd解码器两者以减小延时。fd解码器可将奇偶校验位及有效性旗标提供到ad解码器以容许ad解码器基于fd解码器先前是否已解码数据(例如,校正数据中的误差)而解码数据。

尽管已在本文中说明及描述特定实施例,但所属领域的一般技术人员将明白,经计算以实现相同结果的布置可取代所展示的特定实施例。本发明意图涵盖本发明的各种实施例的调适或变动。应理解,已以说明性方式且非限制性方式进行以上描述。所属领域的技术人员在审查以上描述后将明白以上实施例的组合及本文中未具体描述的其它实施例。本发明的各种实施例的范围包含其中使用以上结构及方法的其它应用。因此,应参考所附权利要求书连同此权利要求书所授权的等效物的全部范围确定本发明的各种实施例的范围。

在前述具体实施方式中,出于简化本发明的目的而将各种特征集合在单个实施例中。本发明方法不应被解释为反映本发明的所揭示实施例必须使用比每一权利要求中明确叙述更多的特征的意图。实情是,如随附权利要求书所反映,发明主题在于少于单个所揭示实施例的所有特征。因此,随附权利要求书由此并入具体实施方式中,其中每一权利要求独立作为单独实施例。

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