对存储在固态存储器中的数据进行解码的制作方法

文档序号:8947439阅读:496来源:国知局
对存储在固态存储器中的数据进行解码的制作方法
【技术领域】
[0001] 本公开涉及用于计算机系统的数据存储系统。更特别地,本公开涉及对存储在固 态存储器中的数据进行解码。
【背景技术】
[0002] 存储在数据存储系统中的数据通常被编码以确保可靠性。当编码的数据从存储介 质中取回时,解码器用来从编码的数据中获得原始数据。软决策解码器能够提高数据存储 系统的可靠性,并且减少数据出错的数目。诸如对数似然比(LLR)信息的软决策信息的生 成具有挑战性并且是耗时的。因此,期望的是提供用于生成软决策信息的更高效的机制。
【附图说明】
[0003] 现在将参考附图来描述实施本发明的各特征的系统和方法,在附图中:
[0004] 图IA示出了根据本发明的一个实施例的主机系统和数据存储系统的组合。
[0005] 图IB示出了根据本发明的另一实施例的主机系统和数据存储系统的组合。
[0006] 图2示出了根据本发明的一个实施例的用户数据的编码器和解码器。
[0007] 图3示出了根据本发明的一个实施例的数据检测器和解码器。
[0008] 图4示出了根据本发明的一个实施例的用于生成软决策信息的表格。
[0009] 图5示出了根据本发明的一个实施例的用于生成软决策信息的框架图。
[0010] 图6A-6D是示出了根据本发明的一些实施例的读取所存储的数据的过程的流程 图。
[0011] 图7是示出了根据本发明的另一实施例的读取所存储的数据的过程的流程图。
【具体实施方式】
[0012] 虽然描述了一些实施例,但是这些实施例仅通过示例的方式提出,而不是要限制 保护范围。事实上,本文所描述的新颖的方法和系统可以以各种其他方式来实施。此外,本 文所描述的方法和系统的形式上的各种省略、替代和改变可以不偏离保护范围而做出。
[0013]
[0014] 数据存储系统能够使用固态闪速存储器以用于存储数据。随着数据存储系统容量 的增加,闪速存储器的密度也在增大。随着闪速存储器的尺寸减小以及密度增大,单元间 干涉可能不利地影响所存储的数据的可靠性,并且增加数据出错的数目。误差校正码能够 用来在将数据存储在数据存储系统中之前对数据进行编码。然而,由于固态存储器在使用 过程中经过编程/擦除循环以及降级,所以变得更加难以正确地提取存储在存储器中的数 据。数据出错的一个原因在于,固态存储器单元的不同存储器状态之间的裕度的减小,以及 伴随的困难在于难以设置用于读取的适当的电压阈值以便正确地取回所存储的数据。将关 于所存储的数据的软决策信息或软信息提供给解码器能够提高数据存储系统的可靠性并 且减少数据出错的数目。由于例如变化的P/E循环数目、变化的读取数目以及变化的工作 温度,为针对固态存储器生成诸如对数似然比(LLR)的软决策信息带来了挑战。
[0015] 本发明的一些实施例涉及通过执行多次读取操作并且考虑到单元间干涉(ICI) 来对存储在固态存储器阵列中的数据进行解码。在一些实施例中,针对具有单元间干涉的 固态存储器生成诸如LLR的软决策信息。软决策信息能够指示存储器的可靠性。将软决策 信息提供给检测器,检测器进一步增强软决策信息。在一个实施例中,软决策信息是利用已 知数据及其对应的多次读取输出而确定的。在一些实施例中,这是通过将已知的测试数据 写入存储器的一部分,并且此后对已知数据进行检测和解码来实现的。在其他实施例中,这 是通过对存储在存储器的部分中的先前未知的数据进行成功地检测以及解码来实现的。因 此,改进了可靠性,并且提高了性能。
[0016] 系统概沐
[0017] 图IA示出了根据本发明的一个实施例的主机系统和数据存储系统的组合100A。 如图所示,数据存储系统120A (例如,固态驱动器)包括控制器130和非易失性固态存储器 阵列150。固态存储器阵列150可以包括闪速集成电路、硫属化物RAM(C-RAM)、相变存储器 (PC-RAM或PRAM)、可编程金属单元RAM(PMC-RAM或PMCm)、双向联合存储器(OUM)、阻变式 RAM(RRAM)、NAND存储器(例如,单级单元(SLC)存储器、多级单元(MLC)存储器、或其任意 组合)、NOR存储器、EEPR0M、铁电存储器(FeRAM)、磁阻RAM(MRAM)、其他离散NVM (非易失性 存储器)芯片、或其任意组合。在一个实施例中,存储器阵列150包括两位MLC NAND存储 器。数据存储系统120A可以进一步包括其他类型的存储设备。
[0018] 控制器130可以被配置为从主机系统110的存储接口模块112 (例如,设备驱动 器)接收数据和/或存储存取命令。由存储接口 112传送的存储存取命令可以包括由主机 系统110发布的写数据命令和读取数据命令。读取命令和写命令能够指定用来访问数据存 储系统120A的逻辑地址(例如,逻辑块地址或LBA)。控制器130能够执行固态存储器阵列 150中的所接收到的命令。
[0019] 数据存储系统120A能够存储由主机系统110传送的数据。换言之,数据存储系统 120A能够充当用于主机系统110的存储器存储设备。为便于该功能,控制器130能够实现 逻辑接口。逻辑接口能够将数据存储系统的存储器作为能够存储用户数据的一组逻辑地址 (例如,连续地址)而呈现给主机系统110。在内部,控制器130能够将逻辑地址映射到固 态存储器阵列150和/或其他存储模块中的各物理位置或地址。控制器130包括数据存储 与误差校正模块132,其被配置为将数据存储在固态存储器阵列150中并且从固态存储器 阵列150中取回数据,对数据进行编码,对数据进行检测以及解码,确定从固态存储器阵列 取回的数据的完整性,如果需要,执行对所取回的数据进行误差校正,并且执行数据存储系 统120A与主机系统110之间的数据传输。
[0020] 图IB示出了根据本发明的另一实施例的主机系统和数据存储系统的组合100B。 如图所示,数据存储系统120B (例如,混合磁盘驱动器)包括控制器130、固态存储器阵列 150、以及包括磁介质164的磁存储设备160。组合100B的这些组件以及其他组件在上文进 行了描述。
[0021] 对所存储的数据讲行解码
[0022] 图2示出了根据本发明的一个实施例的编码器和解码器200。在一个实施例中,编 码和解码是通过控制器130来执行的,诸如例如通过数据存储与误差校正模块132。从主 机系统110接收到的用户数据由编码器210进行编码。在一个实施例中,编码器210使用 低密度奇偶校验(LDPC)码以用于编码。在块212中,被编码的数据存储在存储器阵列150 中。被编码的数据可以被称为码字。此外,使用在信道上传送数据的类比,存储器阵列可以 被视为通信信道,并且存储数据可以被视为在信道上传输数据。存储器阵列信道特征在于 各种参数,例如单元间干涉、页面间干涉、P/E循环的数目、磨损、工作温度等。这些参数中 的一个或多个将噪声(或数据错误)引入到所存储的数据中。
[0023] 在块220中对所存储的数据进行检测以及解码。在一个实施例中,块220是LDPC 解码器。在检测器222中检测从存储器阵列150(或码字)取回的数据。由于存储器阵列 150信道能够将存储在存储器中的码字变换成信道所使用的格式,所以检测器222用来检 测从存储器阵列信道取回的数据(即,检测信道输出),并且将取回的数据转换回与当提供 码字用于存储在存储器阵列中时所使用的相同的格式。检测器222使用由信道估计器226 所取得的信息。信道估计器226能够生成统计信息。检测器222能够使用来自信道估计器 226的信息来生成软决策信息,例如LLR。软决策信息由解码器224使用来对码字进行解码 并且获得用户数据。
[0024] 图3示出了根据本发明的一个实施例的数据检测器和解码器300。在一个实施例 中,通过控制器130来执行数据检测和解码,例如通过数据存储与误差校正模块132来执 行。数据检测器和解码器300接收从存储器阵列150取回的编码数据。检测器310使用由 统计模块316和概率模块314生成的诸如LLR的软决策信息。软决策信息被提供给解码器 312,解码器可以是LDPC解码器。解码器312将检测到的编码数据(或码字)进行解码。统 计模块316基于对解码的数据和/或其他数据的分析来生成概率信息。如下面进一步描述 的,在一个实施例中,统计模块316通过分析在多次读取方案中获得的值中出现的位模式 来生成概率信息,并且概率模块314继而基于统计模块316的输出来生成软决策信息。
[0025] 软决策信息牛成-由统计信息来牛成概率信息
[0026] 图4示出了根据本发明的一个实施例的用于生成软决策信息的表格400。在一个 实施例中,表格400是由控制器130生成的,诸如例如通过数据存储与误差校正模块132生 成。在一个实施例中,通过利用变化的读取电压来在参考存储器单元执行多次读取,由统 计模块316来生成表格400,取决于实施例,参考存储器位置可以是指存储器阵列的不同部 分。例如,存储器阵列可以被划分成块,块进一步被划分成页面。在一个实施例中,参考存 储器位置是存储有已知数据的存储器页面。在其他实施例中,参考存储器位置可以指单元、 部分页面、部分页面的集合、页面集合、块、
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1