CN101847447A - 存储控制器、存储控制方法及数据存取系统 - Google Patents
存储控制器、存储控制方法及数据存取系统 Download PDFInfo
- Publication number
- CN101847447A CN101847447A CN 201010121145 CN201010121145A CN101847447A CN 101847447 A CN101847447 A CN 101847447A CN 201010121145 CN201010121145 CN 201010121145 CN 201010121145 A CN201010121145 A CN 201010121145A CN 101847447 A CN101847447 A CN 101847447A
- Authority
- CN
- China
- Prior art keywords
- data
- soft
- memory controller
- storage
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Error Detection And Correction (AREA)
Abstract
本发明提供了一种存储控制器、存储控制方法及数据存取系统。其中,存储控制器控制存储装置的数据存取,包含:控制电路,配置为从存储装置中读取数据,来获得读出数据;以及软解码器,耦接于控制电路,用于对读出数据执行软解码操作,来产生第一已解码数据。本发明提供的存储控制器、存储控制方法及数据存取系统,通过使用软解码器,来对数据执行软解码操作,能够有效的改进存储装置的误差校正能力。
Description
技术领域
本发明是关于一种将数据写入存储装置或从存储装置中读取数据的存储控制器、存储控制方法以及数据存取系统,且特别是关于一种包含软解码器的存储控制器,对数据执行软解码操作的存储控制方法以及数据存取系统。
背景技术
误差检测以及校正技术是用来有效的校正由不同因素所造成的误差,以获得无误差数据。以闪存为例,闪存的价格/性能上的持续改进使闪存成为了许多应用中存储的长期选择。然而,在制造期间,闪存可能存在缺陷(defect)(例如,有缺陷的内存单元(memory cell)),并且在此装置的使用期间,还可能出现更多的缺陷,因此其应用受到了限制。为了处理这些缺陷以及实现有效、可靠的操作,内存系统一般使用误差检测以及校正技术,来保证可靠的数据复制(data reproduction)。
在传统的与非(以下称为NAND)闪存装置中,只使用了复杂的编码策略,例如,里德所罗门(Reed-Solomon,以下简称为RS)编码或博斯-查德胡里-霍昆格母(Bose-Chaudhuri-Hocquenghem,以下简称为BCH)编码,来检测及校正数据误差。然而,在误码率(bit error rate,以下简称为BER)很大的情形下,编码增益(coding gain)上没有显著的改进。换句话说,当原始BER很大时,硬解码器(例如,RS解码器或BCH解码器)不能有效的改进BER。
因此,相关技术领域的设计师需要解决的课题是,如何改进存储装置(例如,NAND快闪装置)的误差校正能力。
发明内容
为解决以上技术问题,特提供以下技术方案:
本发明的实施方式提供了一种存储控制器,控制存储装置的数据存取,包含:控制电路,配置为从存储装置中读取数据,来获得读出数据;以及软解码器,耦接于控制电路,用于对读出数据执行软解码操作,来产生第一已解码数据。
本发明的实施方式另提供了一种存储控制方法,控制存储装置的数据存取,存储控制方法包含:从存储装置中读取数据,来获得读出数据;以及对读出数据执行软解码操作,来产生第一已解码数据。
本发明的实施方式另提供了一种数据存取系统,包含:存储装置;以及存储控制器,存储控制器耦接于存储装置,用于控制存储装置的数据存取,其中,从存储装置传输到存储控制器的数据信号,承载了从存储装置中取得的软信息。
以上所述的存储控制器、存储控制方法以及数据存取系统,通过使用软解码器,来对数据执行软解码操作,能够有效的改进存储装置的误差校正能力。
附图说明
图1是根据本发明第一实施方式的存储控制器的方块图。
图2是当使用软编码策略时,编码增益与BER之间的关系示意图。
图3是根据本发明第二实施方式的存储控制器的方块图。
图4是包含存储控制器的系统方块图。
图5是根据图4所示系统的控制以及数据流的示意图。
具体实施方式
在本说明书以及权利要求书当中使用了某些词汇来指代特定的元件。本领域的技术人员应可理解,硬件制造商可能会用不同的名词来称呼同样的元件。本说明书及权利要求并不以名称的差异作为区分元件的方式,而是以元件在功能上的差异作为区分的准则。在通篇说明书及权利要求当中所提及的“包含”是一个开放式的用语,因此应解释成“包含但不限定于”。另外,“耦接”一词在此包含任何直接及间接的电气连接手段。因此,若文中描述第一装置耦接于第二装置,则代表第一装置可以直接电气连接于第二装置,或通过其它装置或连接手段间接地电气连接至第二装置。
总的说来,误差检测及校正需要适当的数据编码与数据解码。如果使用特定的误差校正码(error correction code,以下简称为ECC)策略将输入数据编码,分别通过硬解码将已编码输入数据解码以及通过软解码将同样的已编码输入数据解码,二者可能具有不同的计算复杂度(computational complexity)。以具有较长码字长度的BCH码为例,使用软解码方式将BCH码解码,其计算复杂度很高而无法接受。因此,与使用软解码方法将BCH码解码相比,使用硬解码方法将BCH码解码更加的简易,所以更为可取。对于其他编码策略,例如,低密度奇偶校验(low density parity check,以下简称为LDPC)码、分组涡轮码(blockturbo code,以下简称为BTC)、或卷积涡轮码(convolutional turbo code,以下简称为CTC),其软解码复杂度比较低,可以接受。因此,使用软解码方法将LDPC/BTC/CTC码解码是更为可取的。应注意,将被硬解码的数据是由单一二元判定(binary decision)(即,量化(quantization))所产生的单一电平信号,即1或0;然而,将被软解码的数据并不是由单一二元判定而得来的。也就是,将被软解码的数据可以是单一存储在存储器中的信息,这个信息可以被解读成多个能量电平(即,由多个二元来表示),而软解码则被应用到一个信息的多能量位阶,来增强解码能力。
为使下文以及权利要求书中的术语更加清楚,这里先定义一些术语,包含“软编码器”、“硬编码器”、“软编码操作”以及“硬编码操作”。通过软解码将产生自特定编码器(特定编码器使用了特定的编码策略)的已编码数据解码,如果其计算复杂度处于预定的可接受范围,则这个特定编码器被称作“软编码器”,且其所使用的特定编码策略被称作“软编码操作”。然而,通过软解码将产生自特定编码器(特定编码器使用了特定的编码策略)的已编码数据解码,如果其计算复杂度超出预定的可接受范围,则这个特定编码器被称作“硬编码器”,且其所使用的特定编码策略被称作“硬编码操作”。举例而言,本发明的实施方式所实现的软编码器产生了可以应用于软解码操作的已编码数据,其中,这个软解码操作要求可接受的计算复杂度,以及本发明的实施方式所实现的硬编码器产生了不可以应用于软解码操作的已编码数据,其中,这个软解码操作要求可接受的计算复杂度,此例并非作为本发明的限制。
本发明的发明原理是:在处理将存储到存储装置(例如,NAND闪存)中的数据时,利用软编码器,以及在处理从存储装置中所读取的数据时,利用软解码器。因此,在BER较大的情形下,编码增益上有显著的改进。换句话说,当原始(original)BER较大时,软解码器能够有效的改进BER。
图1是根据本发明第一实施方式的存储控制器100的方块图。此实施方式中的存储控制器100包含:软编码器110、控制电路120以及软解码器130,这并不是本发明的限制。应注意,为简明起见,图1只显示了与本发明相关的元件。在实际的实施中,存储控制器100可以包含其他元件,例如,数据缓冲器。存储控制器100用于控制存储装置102的数据存取,以及经由主机接口104与主机106通讯。举例而言,存储装置102是闪存装置,例如,NAND闪存应用,这并不是本发明的限制。当存储控制器100经由主机接口104,从主机106接收主机输出D1时,控制电路120根据主机输出D1产生用于软编码器110的输入数据D1”,软编码器110对输入数据D1”执行软编码操作,来产生已编码数据D1’。举例而言,输入数据D1”是在没有对主机输出D1做出任何变化的情形下产生自主机输出D1。换句话说,输入数据D1”与主机输出D1完全相同。此外,软编码器110可以是LDPC编码器、BTC编码器或CTC编码器。然而,这只是用来说明,而并不是作为本发明保护范围的限制。也就是说,此实施方式中存储控制器100中的软编码器110可以使用任何编码策略,其中,所述编码策略能够产生可以在软解码操作中应用的已编码数据,且具有可接受的计算复杂度。
控制电路120耦接于软编码器110以及存储装置102,且被配置为根据产生自软编码器110的已编码数据D1’,来将数据记录到存储装置102中。在一种实施中,控制电路120可以直接将已编码数据D1’存储到存储装置102中,来完成写入操作。在另一种实施中,控制电路120进一步处理已编码数据D1’,且随后将已编码数据D1’的处理结果存储到存储装置102中,来完成写入操作。举例而言,控制电路120对已编码数据D1’执行比特交织(bit interleaving)操作,且随后将已编码数据D1’的比特交织结果(bit-interleaved result)存储到存储装置102中。
对于读取操作,控制电路120从存储装置102中读取数据,来获得读出数据E1。举例而言,在控制电路120将产生自软编码器110的已编码数据D1’直接存储到存储装置102中,来完成写入操作的情形下,从存储装置102中所读取的数据代表了已编码数据D1’。因此,控制电路120从读取自存储装置102的数据,直接获得读出数据E1。然而,在控制电路120将已编码数据D1’存储到存储装置102之前,控制电路120对已编码数据D1’适用特定信号处理的另一种情形下(例如一种情形:控制电路120对已编码数据D1’执行比特交织操作,且随后将已编码数据D1’的比特交织结果存储到存储装置102中),从存储装置102中所读取的数据代表了已编码数据D1’的特定信号处理结果,而不是代表已编码数据D1’。因此,控制电路120对从存储装置102中所读取的数据适用相反(inverse)的信号处理操作(例如,比特去交织(bit deinterleaving)操作),来产生对应的信号处理结果(例如,比特去交织结果(bit-deinterleaved result)),且随后从对应的信号处理结果中获得读出数据E1。
软解码器130用于对读出数据E1执行软解码操作,来产生已解码数据E1’。举例而言,当软编码器110是LDPC编码器时,读出数据E1包含LDPC码字,且软解码器130是LDPC解码器,其将读出数据E1的LDPC码字解码,来产生已解码数据E1’;当软编码器110是BTC编码器时,读出数据E1包含BTC码字,且软解码器130是BTC解码器,其将读出数据E1的BTC码字解码,来产生已解码数据E1’;以及当软编码器110是CTC编码器时,读出数据E1包含CTC码字,且软解码器130是CTC解码器,其将读出数据E1的CTC码字解码,来产生已解码数据E1’。控制电路120根据已解码数据E1’来产生主机输入E1”。最后,控制电路120经由主机接口104将主机输入E1”传输到主机106,来完成读取操作。举例而言,主机输入E1”是在没有对已解码数据E1’做出任何变化的情形下产生自已解码数据E1’。换句话说,主机输入E1”与已解码数据E1’完全相同。
应注意,当读取存储装置102时,从存储装置102传输到控制电路120的数据信号承载了从存储装置102中所读取的软信息,其中,数据信号可以是模拟信号(例如,模拟电压信号)或多级(即,多位)信号。在所述数据信号是传输模拟电压的模拟电压信号的情形下,控制电路120具有模数转换(analog-to-digital conversion)能力,来将模拟域内的模拟电压信号转换成数字域内的数字软比特,且随后根据数字软信息来获得读出数据E1,其中,所述模拟电压是从读取存储在存储装置102中每个内存单元中的数据位而取得。由于软信息的产生以及传输并不是本发明的发明重点,为了简洁起见,这里省略对其进一步的描述。
如上所述,当原始BER较大时,通过单独使用硬编码器/解码器,编码增益上没有显著的改进。举例而言,当原始BER为10-2时,由于硬编码策略的固有特性(inherent characteristic),硬解码器不能有效的将BER从10-2改进到10-3。然而,请参照图2,图2是当使用软编码策略时,编码增益与BER之间的关系示意图。如图2所示,当原始BER较大时,软解码器(例如,LDPC解码器)能够有效的改进编码增益。图2所示的‘SNR’意指信噪比(signal-to-noise ratio),其单位为分贝(decibel,以下简称为dB)。
有鉴于此,图1中所示的存储控制器100所使用的存储控制方法,用于控制存储装置(例如,闪存装置)的数据写入,所述方法的实例包含以下步骤:对输入数据执行软编码操作,来产生已编码数据,以及根据已编码数据,来将数据记录到存储装置中,其中,由软解码来对已编码数据解码的计算复杂度是处于预定可接受范围之内的;此外,图1所示的存储控制器100所使用的存储控制方法,用于控制存储装置的数据读取,所述方法的实例包含以下步骤:从存储装置读取数据,来获得读出数据,以及对读出数据执行软解码操作,来产生已解码数据。熟知本领域的技术人员阅读了以上关于存储控制器100的内容之后,应该可以理解存储控制方法实例的细节,为简洁起见,这里省略对其进一步的描述。
在图1所示的实施方式中,使用了单一软编码器/解码器结构。然而,这只是用来说明,并不作为本发明的限制。在一个替代设计中,可以使用级联编码(concatenated coding)策略,来达到更好的误差校正能力。如图2所示,当BER不是很大时(例如,BER<10-6),通过在存储控制器100中单独使用软编码器/解码器,编码增益上没有显著的改进。然而,当BER不是很大时(例如,BER<10-6),使用硬编码器/解码器则能够为编码增益带来显著的改进。举例而言,读取操作中的硬解码器可以有效的将BER从10-6改进到10-14,甚至更小(图中未显示)。基于以上的观察,本发明提供了一种改良的存储控制器结构。
请参阅图3,图3是根据本发明第二实施方式的存储控制器300的方块图。此实施方式中的存储控制器300包含:软编码器310、硬编码器320、控制电路330、软解码器340以及硬解码器350,这并不作为本发明的限制。应注意,为简明起见,图3只显示了与本发明相关的元件。在实际的实现中,存储控制器300可以包含其他元件,例如,数据缓冲器。
存储控制器300用于控制存储装置302的数据存取,以及经由主机接口304与主机306通讯。举例而言,存储装置302是闪存装置,例如,NAND闪存应用,这并不作为本发明的限制。当存储控制器300经由主机接口304,从主机306接收主机输出A1时,控制电路330根据主机输出A1产生用于硬编码器320的输入数据A1”,硬编码器320对输入数据A1”执行硬编码操作,来产生已编码数据A1’。举例而言,输入数据A1”是在没有对主机输出A1做出任何变化的情形下产生自主机输出A1。换句话说,输入数据A1”与主机输出A1完全相同。此外,硬编码器320可以是RS编码器或者BCH编码器。然而,这只是用来说明,并不作为对本发明的限制。也就是说,此实施方式中存储控制器300中的硬编码器320可以使用任何编码策略,其中,所述编码策略产生可以应用于软解码操作的已编码数据,其中,且具有可接受的计算复杂度。控制电路330耦接于硬编码器320以及软编码器310,且被配置为根据已编码数据A1’,来产生用于软编码器310的输入数据A2。在一种实施中,输入数据A2是在没有对已编码数据A1’做出任何变化的情形下产生自已编码数据A1’。换句话说,输入数据A2与已编码数据A1’完全相同。然而,一个替代设计中,在控制电路330产生用于软编码器310的输入数据A2之前,控制电路330对已编码数据A1’适用特定信号处理。这也应该涵盖在本发明的保护范围之内。
软编码器310对输入数据A2执行软编码操作,来产生已编码数据A2’。举例而言,软编码器310可以是LDPC编码器、BTC编码器或CTC编码器。特别的,此实施方式中存储控制器300中的软编码器310可以使用以下编码策略:能够产生可应用于软解码操作的已编码数据,且具有可接受的计算复杂度的编码策略。控制电路330耦接于软编码器310以及存储装置302,且被配置为根据产生自软编码器310的已编码数据A2’,来将数据记录到存储装置302中。在一种实施中,控制电路330可以将已编码数据A2’直接存储到存储装置302,来完成写入操作。在另一种实施中,控制电路330进一步处理已编码数据A2’,且随后将已编码数据A2’的处理结果存储到存储装置302,来完成写入操作。举例而言,控制电路330对已编码数据A2’执行比特交织操作,且随后将已编码数据A2’的比特交织结果存储到存储装置302中。
对于读取操作,控制电路330从存储装置302中读取数据,来获得读出数据B 1。举例而言,在控制电路330将产生自软编码器310的已编码数据A2’直接存储到存储装置302,来完成写入操作的情形下,从存储装置302中所读取的数据代表了已编码数据A2’。因此,控制电路330从读取自存储装置302的数据直接获得读出数据B1。然而,在控制电路330将已编码数据A2’存储到存储装置302之前,控制电路330对已编码数据A2’适用特定信号处理的另一种情形下(例如一种情形:控制电路330对已编码数据A2’执行比特交织操作,且随后将已编码数据A2’的比特交织结果存储到存储装置302中),从存储装置302中所读取的数据代表了已编码数据A2’的特定信号处理结果,而不是代表已编码数据A2’。因此,控制电路330对从存储装置302中所读取的数据适用相反的信号处理操作(例如,比特去交织操作),来产生对应的信号处理结果(例如,比特去交织结果),且随后从对应的信号处理结果中获得读出数据B1。软解码器340用于对读出数据B1执行软解码操作,来产生已解码数据B1’。举例而言,当软编码器310是LDPC编码器时,读出数据B1包含LDPC码字,且软解码器340是LDPC解码器,其将读出资料B1的LDPC码字解码,来取得已解码数据B1’;当软编码器310是BTC编码器时,读出数据B 1包含BTC码字,且软解码器340是BTC解码器,其将读出资料B1的BTC码字解码,来取得已解码数据B1’;以及当软编码器310是CTC编码器时,读出数据B1包含CTC码字,且软解码器340是CTC解码器,其将读出资料B1的CTC码字解码,来取得已解码数据B1’。
其次,控制电路330根据已解码数据B1’,来产生用于硬解码器350的输入数据B2。在一种实施中,输入数据B2是在没有对已解码数据B1’做出任何变化的情形下产生自已解码数据B1’。换句话说,输入数据B2与已解码数据B1’完全相同。然而,一个替代设计中,在控制电路330产生输入数据B2到硬解码器350之前,控制电路330对已解码数据B1’适用特定信号处理。这也应该涵盖在本发明的保护范围之内。
硬解码器350用于对输入数据B2执行硬解码操作,来产生已解码数据B2’。举例而言,当硬编码器320是RS编码器时,输入数据B2包含RS码字,且硬解码器350是RS解码器,其将输入数据B2的RS码字解码,来产生已解码数据B2’;以及当硬编码器320是BCH编码器时,输入数据B2包含BCH码字,且硬解码器350是BCH解码器,其将输入数据B2的BCH码字解码,来产生已解码数据B2’。控制电路330根据已解码数据B2’来产生主机输入B2”。最后,控制电路330经由主机接口304将主机输入B2”传输到主机306,来完成读取操作。举例而言,主机输入B2”是在没有对已解码数据B2’做出任何变化的情形下产生自解码数据B2’。换句话说,主机输入B2”与已解码数据B2’完全相同。
应注意,当读取存储装置302时,从存储装置302传输到控制电路330的数据信号承载了从存储装置302中所读取的软信息,其中,数据信号可以是模拟信号(例如,模拟电压信号)或多级(即,多位)信号。在所述数据信号是传输模拟电压的模拟电压信号的情形下,控制电路330具有模数转换能力,来将模拟域内的模拟电压信号转换成数字域内的数字软比特,且随后根据数字软信息来获得读出数据B1,其中,所述模拟电压是从读取存储在存储装置302中每个内存单元中的数据位而取得。由于软信息的产生以及传输并不是本发明的发明重点,为了简洁起见,此处省略对其进一步的描述。
有鉴于此,图3所示的存储控制器300所使用的存储控制方法,用于控制存储装置的数据写入,所述方法的实例包含以下步骤:对输入数据执行硬编码操作,来产生已编码数据,其中,经由软解码将已编码数据解码的计算复杂度超出了预定可接受范围;对另一个输入数据执行软编码操作,来产生另一个已编码数据,其中,所述另一个输入数据是从产生自硬编码操作的已编码数据中取得,经由软解码将所述另一个已编码数据解码的计算复杂度处于预定可接受范围之内;以及根据所述另一个已编码数据,将数据记录到存储装置;此外,图3所示的存储控制器300所使用的存储控制方法,用于控制存储装置的数据读取,所述方法的实例包含以下步骤:从存储装置中读取数据,来获得读出数据,对读出数据执行软解码操作,来产生已解码数据,以及对另一个输入数据执行硬解码操作,来产生另一个已解码数据,其中,所述另一个输入数据是从产生自软解码操作的已解码数据中取得。在一个实施方式中,将通过软编码操作编码的输入数据与产生自硬编码操作的已编码数据是完全相同的,且将通过硬解码操作解码的输入数据与产生自软解码操作的已解码数据是完全相同的。熟知本领域的技术人员阅读了以上关于存储控制器300的内容之后,应该可以理解存储控制方法实例的细节,为简洁起见,这里省略对其进一步的描述。
图4是包含存储控制器401的系统400的方块图。此实施方式中的系统400包含存储控制器401、存储装置(例如,NAND闪存)402、主机接口404以及主机406。存储控制器401用于控制存储装置402的数据存取,以及经由主机接口404与主机406通讯。存储控制器401包含:软编码器(例如,用于产生LDPC码的LDPC编码器,或者用于产生BTC/CTC码的涡轮编码器)410、硬编码器(例如,用于产生BCH码的BCH编码器,或者用于产生RS码的RS编码器)420、控制电路430、软解码器(例如,用于将LDPC码解码的LDPC解码器,或者用于将BTC/CTC码解码的涡轮解码器)440、硬解码器(例如,用于将BCH码解码的BCH解码器,或者用于将RS码解码的RS解码器)450以及用于缓冲存储控制器401中所处理/产生的数据的数据缓冲器460,这并不是本发明的限制。如图3所示,图4所示的存储控制器401的控制器结构是基于存储控制器300的控制器结构。熟知本领域的技术人员阅读了上文关于存储控制器300的内容之后,应该可以理解存储控制器401的细节,为简洁起见,这里省略对其进一步的描述。
应注意,从存储装置402中所取得的软信息可以是模拟信号(例如,模拟电压信号)或多级信号。举例而言,如果存储装置402配备模数转换能力,产生自存储装置402的软信息由多级信号所承载,其中,多级信号产生自在存储装置402中所实现的模数转换器(analog-to-digital converter,以下简称为ADC)470。然而,如果ADC 470在控制电路430中实现,而不是在存储装置402中实现,产生自存储装置402的软信息由模拟信号所承载,其中,控制电路430中的ADC 470将模拟信号转换成对应的数字信号。
在存储装置402是NAND闪存、软编码器410是LDPC编码器、硬编码器420是BCH编码器、软解码器440是LDPC解码器、硬解码器450是BCH解码器以及控制电路430也被配置成执行比特交织、比特去交织以及模数转换(如图5所示的“A/D”)的情形下,图5是根据图4所示的系统400的控制以及数据流(data flow)的示意图。然而,这只是用来说明,并不作为本发明的范围的限制。
以上所述的存储装置102、302或402可以是基于NAND闪存的装置,例如,固态硬盘(solid state drive,以下简称为SSD)。以SSD为例,由于SSD是闭环(closed-loop)系统,因此,只要满足NAND闪存的最小ECC需求,SSD使用的编码以及解码格式则可以通过SSD的存储控制器来任意的定义。为了满足主机的高带宽需求,SSD的NAND闪存使用多信道结构,来使用多个用于数据传输的物理信道。此外,由于SSD的多场(multi-field)特性,只允许调节一个场,这里与基于半位(nibble-based)或基于字节(byte-based)的装置(例如,光学磁盘驱动器(optical disc drive,可简称为ODD))有所区别。
虽然本发明已以具体实施方式揭露如上,然其并非用以限定本发明,任何本领域中的技术人员,在不脱离本发明的范围内,可以做一些改动,因此本发明的保护范围应以权利要求所界定的范围为准。
Claims (20)
1.一种存储控制器,控制存储装置的数据存取,该存储控制器包含:
控制电路,配置为从该存储装置中读取数据,来获得读出数据;以及
软解码器,耦接于该控制电路,用于对该读出数据执行软解码操作,来产生第一已解码数据。
2.根据权利要求1所述的存储控制器,其特征在于,该存储控制器进一步包含:
硬解码器,耦接于该控制电路,用于对输入数据执行硬解码操作,来产生第二已解码数据;
其中,根据该第一已解码数据,该输入数据产生自该控制电路。
3.根据权利要求2所述的存储控制器,其特征在于,该输入数据是在没有对该第一已解码数据做出任何变化的情形下产生自该第一已解码数据。
4.根据权利要求2所述的存储控制器,其特征在于,该存储控制器进一步包含:
软编码器,耦接于该控制电路,用于对第一输入数据执行软编码操作,来产生第一已编码数据;以及
硬编码器,耦接于该控制电路,用于对第二输入数据执行硬编码操作,来产生第二已编码数据;
其中,该控制电路根据该第二已编码数据,进一步产生用于该软编码器的该第一输入数据,以及根据该第一已编码数据将数据记录到该存储装置。
5.根据权利要求4所述的存储控制器,其特征在于,该第一输入数据是在没有对该第二已编码数据做出任何变化的情形下产生自该第二已编码数据。
6.根据权利要求1所述的存储控制器,其特征在于,该存储控制器进一步包含:
软编码器,耦接于该控制电路,且配置为对输入数据执行软编码操作,来产生已编码数据;
其中,该控制电路进一步根据该已编码数据,将数据记录到该存储装置。
7.根据权利要求1所述的存储控制器,其特征在于,该存储装置是闪存装置。
8.根据权利要求1所述的存储控制器,其特征在于,该软解码器是低密度奇偶校验解码器、分组涡轮码解码器、或者是卷积涡轮码解码器。
9.一种存储控制方法,控制存储装置的数据存取,该存储控制方法包含:
从该存储装置中读取数据,来获得读出数据;以及
对该读出数据执行软解码操作,来产生第一已解码数据。
10.根据权利要求9所述的存储控制方法,其特征在于,该存储控制方法进一步包含:
对输入数据执行硬解码操作,来产生第二已解码数据;
其中,该输入数据产生自该第一已解码数据。
11.根据权利要求10所述的存储控制方法,其特征在于,该输入数据是在没有对该第一已解码数据做出任何变化的情形下产生自该第一已解码数据。
12.根据权利要求10所述的存储控制方法,其特征在于,该存储控制方法进一步包含:
对第一输入数据执行软编码操作,来产生第一已编码数据;
对第二输入数据执行硬编码操作,来产生第二已编码数据,其中,该第一输入数据产生自该第二已编码数据;以及
根据该第一已编码数据,将数据记录到该存储装置。
13.根据权利要求12所述的存储控制方法,其特征在于,该第一输入数据是在没有对该第二已编码数据做出任何变化的情形下产生自该第二已编码数据。
14.根据权利要求9所述的存储控制方法,其特征在于,该存储控制方法进一步包含:
对输入数据执行软编码操作,来产生已编码数据;以及
根据该已编码数据,将数据记录到该存储装置。
15.根据权利要求9所述的存储控制方法,其特征在于,该存储装置是闪存装置。
16.根据权利要求9所述的存储控制方法,其特征在于,该软解码操作是低密度奇偶校验解码操作、分组涡轮码解码操作、或者是卷积涡轮码解码操作。
17.一种数据存取系统,包含:
存储装置;以及
存储控制器,耦接于该存储装置,用于控制该存储装置的数据存取,其中,从该存储装置传输到该存储控制器的数据信号,承载了从该存储装置中取得的软信息。
18.根据权利要求17所述的数据存取系统,其特征在于,该存储装置包含模数转换器,用于产生用作数据信号的多级信号。
19.根据权利要求17所述的数据存取系统,其特征在于,该数据信号是模拟信号,以及该存储控制器包含模数转换器,用于将该模拟信号转换成对应的数字信号。
20.根据权利要求17所述的数据存取系统,其特征在于,该存储装置是闪存装置。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16395109P | 2009-03-27 | 2009-03-27 | |
US61/163,951 | 2009-03-27 | ||
US12/646,936 US20100251076A1 (en) | 2009-03-27 | 2009-12-23 | Storage controller having soft decoder included therein, related storage control method thereof and system using the same |
US12/646,936 | 2009-12-23 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101847447A true CN101847447A (zh) | 2010-09-29 |
Family
ID=42772029
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010121145 Pending CN101847447A (zh) | 2009-03-27 | 2010-03-10 | 存储控制器、存储控制方法及数据存取系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101847447A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102354527A (zh) * | 2011-06-02 | 2012-02-15 | 钟浩 | 一种降低固态存储系统响应时间的方法 |
CN103839594A (zh) * | 2012-11-27 | 2014-06-04 | 建兴电子科技股份有限公司 | 固态储存装置及其联合编解码方法 |
CN105531768A (zh) * | 2013-08-30 | 2016-04-27 | 英派尔科技开发有限公司 | 闪存中功率消耗的减小 |
CN107678695A (zh) * | 2013-03-14 | 2018-02-09 | 苹果公司 | 基于可用存储器空间选择冗余存储配置 |
CN110797074A (zh) * | 2018-08-02 | 2020-02-14 | 爱思开海力士有限公司 | 用于nand闪速存储装置的动态邻区和位线辅助校正 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1568577A (zh) * | 2002-08-06 | 2005-01-19 | 三星电子株式会社 | 特播解码装置和方法 |
US20070171714A1 (en) * | 2006-01-20 | 2007-07-26 | Marvell International Ltd. | Flash memory with coding and signal processing |
CN101087180A (zh) * | 2006-06-08 | 2007-12-12 | 华为技术有限公司 | 无线信道的译码方法、装置及其应用 |
CN101218644A (zh) * | 2005-08-31 | 2008-07-09 | 三星电子株式会社 | 软解码方法和设备、纠错方法和设备以及软输出方法和设备 |
CN101346768A (zh) * | 2006-01-23 | 2009-01-14 | 罗姆股份有限公司 | 编码装置、解码装置、振幅调整装置、记录信息读取装置、信号处理装置、以及存储系统 |
-
2010
- 2010-03-10 CN CN 201010121145 patent/CN101847447A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1568577A (zh) * | 2002-08-06 | 2005-01-19 | 三星电子株式会社 | 特播解码装置和方法 |
CN101218644A (zh) * | 2005-08-31 | 2008-07-09 | 三星电子株式会社 | 软解码方法和设备、纠错方法和设备以及软输出方法和设备 |
US20070171714A1 (en) * | 2006-01-20 | 2007-07-26 | Marvell International Ltd. | Flash memory with coding and signal processing |
CN101346768A (zh) * | 2006-01-23 | 2009-01-14 | 罗姆股份有限公司 | 编码装置、解码装置、振幅调整装置、记录信息读取装置、信号处理装置、以及存储系统 |
CN101087180A (zh) * | 2006-06-08 | 2007-12-12 | 华为技术有限公司 | 无线信道的译码方法、装置及其应用 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102354527A (zh) * | 2011-06-02 | 2012-02-15 | 钟浩 | 一种降低固态存储系统响应时间的方法 |
CN103839594A (zh) * | 2012-11-27 | 2014-06-04 | 建兴电子科技股份有限公司 | 固态储存装置及其联合编解码方法 |
CN107678695A (zh) * | 2013-03-14 | 2018-02-09 | 苹果公司 | 基于可用存储器空间选择冗余存储配置 |
CN107678695B (zh) * | 2013-03-14 | 2020-08-18 | 苹果公司 | 基于可用存储器空间选择冗余存储配置 |
CN105531768A (zh) * | 2013-08-30 | 2016-04-27 | 英派尔科技开发有限公司 | 闪存中功率消耗的减小 |
CN105531768B (zh) * | 2013-08-30 | 2019-12-31 | 英派尔科技开发有限公司 | 闪存中功率消耗的减小 |
CN110797074A (zh) * | 2018-08-02 | 2020-02-14 | 爱思开海力士有限公司 | 用于nand闪速存储装置的动态邻区和位线辅助校正 |
CN110797074B (zh) * | 2018-08-02 | 2023-04-28 | 爱思开海力士有限公司 | 用于nand闪速存储装置的动态邻区和位线辅助校正 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20100251076A1 (en) | Storage controller having soft decoder included therein, related storage control method thereof and system using the same | |
TWI604698B (zh) | 具有錯誤校正處置之低密度同位檢查解碼器 | |
US7519898B2 (en) | Iterative decoding of linear block codes by adapting the parity check matrix | |
US8151162B2 (en) | Encoding device, decoding device, encoding/decoding device, and recording/reproducing device | |
US9048879B1 (en) | Error correction system using an iterative product code | |
US7849388B2 (en) | Signal decoding method and device, and signal storage system | |
US7502982B2 (en) | Iterative detector with ECC in channel domain | |
US8677209B2 (en) | Subwords coding using different encoding/decoding matrices | |
JP2006115145A (ja) | 復号装置及び復号方法 | |
TWI557747B (zh) | 記憶體控制模組與方法以及錯誤更正碼編/解碼電路與方法 | |
US20060156171A1 (en) | Combining spectral shaping with turbo coding in a channel coding system | |
KR20070025145A (ko) | 소프트 복호화 방법 및 장치, 에러 정정 방법 및 장치,소프트 출력 방법 및 장치 | |
US8255768B2 (en) | Interlaced iterative system design for 1K-byte block with 512-byte LDPC codewords | |
US20120079340A1 (en) | Communications system employing local and global interleaving/de-interleaving | |
CN107423161A (zh) | 应用于快闪存储器中的自适应ldpc码纠错码系统和方法 | |
CN101847447A (zh) | 存储控制器、存储控制方法及数据存取系统 | |
KR101440189B1 (ko) | 패리티 공유 데이터 처리 시스템 및 방법 | |
US8913336B2 (en) | Constrained on-the-fly interleaver address generator circuits, systems, and methods | |
KR101181969B1 (ko) | 엘디피시 부호의 복호방법 | |
US9214959B2 (en) | Systems and methods for skip layer data decoding | |
JP4047279B2 (ja) | ターボデコーダシステムの信頼度値の非線形スケーリング | |
US8086930B2 (en) | Fixed-spacing parity insertion for FEC (Forward Error Correction) codewords | |
US8196002B2 (en) | Systems and methods for joint LDPC encoding and decoding | |
US8885276B2 (en) | Systems and methods for shared layer data decoding | |
US9219504B2 (en) | LEH memory module architecture design in the multi-level LDPC coded iterative system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20100929 |