存储器控制器和存储器控制器的操作方法

文档序号:6369265阅读:301来源:国知局
专利名称:存储器控制器和存储器控制器的操作方法
技术领域
本发明总构思的示范性实施例涉及存储器控制器及其操作方法。半导体存储设备可以是使用诸如硅(Si)、锗(Ge)、砷化镓(GaAs)、磷化铟(InP)等等之类的半导体制造的存储设备。半导体存储设备可以分为易失性存储设备和非易失性存储设备。
背景技术
易失性存储设备在断电时可能丢失存储的内容。易失性存储设备包括静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)等等。非易失性存储设备甚至在断电时也可以保持存储的内容。非易失性存储设备可以包括只读存储器(ROM)、可编程ROM (PR0M)、电可编程ROM (EPR0M)、电可擦可编程ROM (EEPROM),闪速存储设备、相变随机存取存储器(PRAM)、磁随机存取存储器(MRAM)、阻性随机存取存储器(RRAM)、铁电随机存取存储器(FRAM)等等。闪速存储设备可以分为NOR型和NAND型。半导体存储设备的存储容量的增大可以通过提高半导体存储设备的集成度以及通过在一个存储单元中编程多位数据来实现。半导体存储设备的集成度的提高可以通过细化半导体存储设备的工艺来实现。在一个存储单元中编程多位数据可以通过减小存储在存储单元中的逻辑值的分布来实现。存储多位数据的存储单元可以被称为多电平单元(MLC)。提闻的集成度和MCL的引入可能引起错误率的增大。随着集成度的提闻,存储在存储单元中的数据可能容易受噪声的影响。随着错误率的增大,可能扩大包括在存储器控制器中的纠错功能。这可能引起功耗的增大。

发明内容
本发明总构思的示范性实施例可以提供一种存储系统、计算系统、和控制存储器和计算系统的方法,以便调整在从存储设备输出的读矢量中搜索错误位置的钱氏(chien)搜索单元的每循环功耗。功耗可以通过调整要被钱氏搜索单元同时搜索的读矢量的位的数目来调整。随着读矢量中的错误的数目增大,可以降低钱氏搜索单元的每循环功耗。本发明总构思的示范性实施例还可以提供一种存储系统、计算系统、和控制存储器和计算系统的方法,以便调整在从存储设备输出的读矢量中搜索错误位置的钱氏搜索单元的最大纠正时间。最大时间可以根据钱氏搜索是否对读矢量的数据部分和/或奇偶校验部分执行以及钱氏搜索单元的操作模式而增大。本发明总构思的附加特征和用途在随后的描述中将被部分地阐明、并且由该描述将部分地明显、或可以通过实践本发明总构思来学习到。
本发明总构思的示范性实施例还可以提供一种用于控制存储设备的存储系统的控制器,包括关键方程求解单元,计算由控制器接收到的从存储设备读取数据的读矢量中的错误位置多项式;控制单元,根据计算的错误位置多项式和关于该错误位置多项式的信息中的至少一个来估计在接收的读矢量中的错误的数目;和钱氏搜索单元,根据计算的错误位置多项式搜索接收的读矢量的错误位置。控制器可以包括纠错单元,用于使用由关键方程求解单元计算的错误位置多项式来纠正接收的读矢量的在由钱氏搜索单元确定的错误位置处的错误。控制单元可以调整钱氏搜索单元的每循环功耗。控制单元可以通过根据由关键方程求解单元计算的错误位置多项式调整要在接收的读矢量中同时搜索的位的数目来调整钱氏搜索单元的每循环功耗。
当错误的数目小于或等于预定的第一错误的数目时,控制单元可以控制钱氏搜索单元以完全搜索模式操作,以同时搜索接收的读矢量的至少数据部分的位。当错误的数目大于预定的第一错误的数目并且小于预定的第二错误的数目时,控制单元可以控制钱氏搜索单元以一半搜索模式操作,以同时搜索在完全搜索模式下同时搜索的接收的读矢量的位的数目的一半。以一半搜索模式操作的钱氏搜索单元的每循环功耗可以小于完全搜索模式的每循环功耗。当错误的数目大于预定的第二错误的数目时,控制单元可以控制钱氏搜索单元以四分之一搜索模式操作,以同时搜索在完全搜索模式下同时搜索的接收的读矢量的位的数目的四分之一。以四分之一搜索模式操作的钱氏搜索单元的每循环功耗可以小于一半搜索模式的每循环功耗。当错误的数目小于或等于预定的阈值时,控制单元可以控制钱氏搜索单元仅仅对接收的读矢量的数据部分执行钱氏搜索。当检测到的错误的数目大于预定的阈值时,控制单元可以控制钱氏搜索单元对接收的读矢量的数据部分和奇偶校验部分执行钱氏搜索。控制单元可以根据读矢量的错误的数目调整钱氏搜索单元的最大纠正时间。当错误的数目小于第一预定的错误的数目时,控制单元可以将钱氏搜索单元的最大纠正时间调整到第一预定的求解时间。当错误的数目小于第一预定的错误的数目时,控制单元可以控制钱氏搜索单元以完全搜索模式操作,以同时搜索读矢量的至少数据部分的位。当错误的数目大于第一预定的错误的数目并且小于第二预定的错误的数目时,控制单元可以控制钱氏搜索单元以一半搜索模式操作,以同时搜索在以完全搜索模式操作时的读矢量的至少数据部分的位的数目的一半。当错误的数目大于第二预定的错误的数目时,控制单元可以控制钱氏搜索单元以四分之一搜索模式操作,以同时搜索在以完全搜索模式操作时的读矢量的至少数据部分的位的数目的四分之一。当检测到的错误的数目大于预定的阈值时,控制单元可以调整钱氏搜索单元的最大纠正时间以对接收的读矢量的数据部分和奇偶校验部分执行钱氏搜索。
本发明总构思的示范性实施例还可以提供一种用于控制包含存储设备的存储系统的方法,该方法包括利用存储系统的关键方程求解单元计算用于从存储设备读取数据的接收的读矢量中的错误位置多项式;利用存储系统的控制单元根据计算的错误位置多项式和关于错误位置多项式的信息中的至少一个来估计在接收的读矢量中的错误的数目;以及利用存储系统的钱氏搜索单元 根据利用控制单元计算的错误位置多项式来搜索接收的读矢量的错误位置。该方法可以包括利用纠错单元使用由关键方程求解单元计算的错误位置多项式来纠正接收的读矢量的在由钱氏搜索单元确定的错误位置处的错误。该方法可以包括利用控制单元调整钱氏搜索单元的每循环功耗。在该方法中的调整钱氏搜索单元的每循环功耗可以包括利用该控制单元根据由关键方程求解单元计算的错误位置多项式来调整要在接收的读矢量中同时搜索的位的数目。该方法可以包括当错误的数目小于或等于预定的第一错误的数目时,以完全搜索模式操作钱氏搜索单元,以同时搜索接收的读矢量的至少数据部分的位。该方法可以包括当错误的数目大于预定的第一错误的数目并且小于预定的第二错误的数目时,以一半搜索模式操作钱氏搜索单元,以同时搜索在完全搜索模式下同时搜索的接收的读矢量的位的数目的一半。该方法可以包括以一半搜索模式操作的钱氏搜索单元的每循环功耗小于完全搜索模式的每循环功耗。该方法可以包括当错误的数目大于预定的第二错误的数目时,以四分之一搜索模式操作钱氏搜索单元,以同时搜索在完全搜索模式下同时搜索的接收的读矢量的位的数目的四分之一。该方法可以包括以四分之一搜索模式操作的钱氏搜索单元的每循环功耗小于一半搜索模式的每循环功耗。该方法还可以包括当错误的数目小于或等于预定的阈值时,利用控制单元控制钱氏搜索单元,以仅仅对接收的读矢量的数据部分执行钱氏搜索。该方法可以包括当检测到的错误的数目大于预定的阈值时,利用控制单元控制钱氏搜索单元,以对接收的读矢量的数据部分和奇偶校验部分执行钱氏搜索。该方法可以包括利用控制单元根据读矢量的错误的数目调整钱氏搜索单元的最大纠正时间。该方法可以包括当错误的数目小于第一预定的错误的数目时,利用控制单元将钱氏搜索单元的最大纠正时间调整到第一预定的求解时间。该方法可以包括当错误的数目小于第一预定的错误的数目时,以完全搜索模式操作钱氏搜索单元,以同时搜索读矢量的至少数据部分的位。该方法可以包括当错误的数目大于第一预定的错误的数目并且小于第二预定的错误的数目时,以一半搜索模式操作钱氏搜索单元,以同时搜索在以完全搜索模式操作时的读矢量的至少数据部分的位的数目的一半。该方法可以包括当错误的数目大于第二预定的错误的数目时,以四分之一搜索模式操作钱氏搜索单元,以同时搜索在以完全搜索模式操作时的读矢量的至少数据部分的位的数目的四分之一。该方法可以包括当检测到的错误的数目大于预定的阈值时,利用控制单元调整钱氏搜索单元的最大纠正时间,以对接收的读矢量的数据部分和奇偶校验部分执行钱氏搜索。本发明总构思的示范性实施例还可以提供一种控制存储系统的方法,该存储系统具有经由至少一个信道耦接到至少一个存储设备的控制器,该方法包括确定由控制器经由至少一个信道接收的用于从至少一个存储设备读取数据的读矢量的估计的错误的数目和错误位置信息;以及根据估计的错误的数目和确定的错误位置信息来调整搜索读矢量的错误位置的存储系统的钱氏搜索单元的每循环功耗和最大纠正时间中的至少一个。本发明总构思的示范性实施例还可以提供一种存储系统的控制器,该存储系统具有经由至少一个信道耦接到该控制器的至少一个存储设备,该控制器包括该控制器的纠 错码解码器,确定由控制器经由至少一个信道接收的用于从至少一个存储设备读取数据的读矢量的估计的错误的数目和错误位置信息;和该纠错码解码器的控制单元,根据估计的错误的数目和确定的错误位置信息来调整搜索读矢量的错误位置的存储系统的钱氏搜索单元的每循环功耗和最大纠正时间中的至少一个。


通过以下结合附图对实施例的描述,本发明总构思的这些和/或其它方面和优点将变得清楚以及更容易理解,其中图I是示出了根据本发明总构思的示范性实施例的存储系统的框图;图2是示出了根据本发明总构思的示范性实施例的图I中的控制器的操作方法的流程图;图3是示出了根据本发明总构思的示范性实施例的图2中的编码写数据矢量的操作的流程图;图4是示出了根据本发明总构思的示范性实施例的码矢量和读矢量的图;图5是根据本发明总构思的示范性实施例的利用被控制的每循环功耗解码读矢量的操作的流程图;图6是示出了根据本发明总构思的示范性实施例的图I中的纠错码(ECC)解码器的框图;图7是示出了根据本发明总构思的示范性实施例的校验子(syndrome)计算方法的流程图;图8是示出了根据本发明总构思的示范性实施例的错误位置多项式计算方法的流程图;图9是示出了根据本发明总构思的示范性实施例的钱氏搜索方法的流程图;图10是示出了根据本发明总构思的示范性实施例的图6中的钱氏搜索单元的图;图11是示出了根据本发明总构思的示范性实施例的根据四分之一、一半和完全操作模式的钱氏搜索单元的操作的图;图12是示出了根据本发明总构思的示范性实施例的钱氏搜索操作模式确定方法的流程图;图13是示出了根据本发明总构思的示范性实施例的在钱氏搜索中确定奇偶校验搜索的方法的流程图;图14是示出了根据本发明总构思的示范性实施例的在省略对读矢量RV的奇偶校验部分的钱氏搜索时根据四分之一、一半和完全操作模式的钱氏搜索单元的操作的图;图15和15A是示出了根据本发明总构思的示范性实施例中的错误的数目的纠错解码循环的图;图16是示出了根据本发明总构思的示范性实施例的纠错解码操作的时序图;图17是示出了根据本发明总构思的示范性实施例的纠错解码操作的时序图;
图18是示出了根据本发明总构思的示范性实施例的图I中的控制器的操作方法的流程图;图19是示出了根据本发明总构思的示范性实施例的调整最大错误搜索时间和解码读矢量的操作的流程图;图20是示出了根据本发明总构思的示范性实施例的图I中的存储系统的应用的框图;和图21是示出了根据本发明总构思的示范性实施例的包括图20中的存储系统的计算系统的框图。
具体实施例方式在下文中将参考显示本发明构思的实施例的附图更充分地描述本发明总构思。然而,本发明构思可以被实现为许多不同的形式并且不应当被理解为限于这里阐明的实施例。相反,提供这些实施例以使得本公开将是彻底的并且完整的,并且将向本领域技术人员完全传达本发明构思的范围。在附图中,为了清楚,层和区域的大小和相对大小可以被放大。类似的数字始终指代类似的元素。应当理解,尽管术语第一、第二、第三等在这里可以用来描述各种元件、组件、区域、层和/或部分,但是这些元件、组件、区域、层和/或部分不应该被这些术语限制。这些术语仅仅用于将一个元件、组件、区域、层或部分与另一个区域、层或部分区分。因而,下面讨论的第一元件、组件、区域、层或部分可以被称为第二元件、组件、区域、层或部分,而不脱离本发明构思的教导。这里可以使用空间相对术语,诸如“在...之下”、“下面”、“下方”、“之下”、“上方”、
“向上”等等,以便于用于描述图中所示的一个元件或特征与另一个元件或特征的关系的描述。应当理解,空间相对术语是用来涵盖除了图中描述的方向之外的使用中或操作中的设备的不同的方向。例如,如果图中的设备被翻转,则被描述为在其它元件或特征“下面”或“在...之下”或“之下”的元件将在其它元件或特征“上方”。因而,示范性术语“下面”和“之下”可以涵盖上方和下方的方向二者。设备可以具有不同的方向(旋转90度或在其它方向),相应地解释这里使用的空间相对描述。此外,还将理解,当层被称为在两层“之间”时,在两层之间可以仅存在一层,或也可以存在一个或多个插入层。这里使用的术语仅仅用于描述特定实施例的目的,而不意欲限制本发明构思。这里使用的单数形式“一”、“一个”和“该”意欲也包括复数形式,除非上下文明显指示。还应该理解,在本说明书中使用的术语“包括”和/或“包含”指定所述特征、整数、步骤、操作、元件和/或组件的存在,但是不排除一个或多个其它特征、整数、步骤、操作、元件、组件和/或它们的组合的存在或添加。这里使用的术语“和/或”包括相关列出的项中的一个或多个的任意和所有组合。应当理解,当元件或层被称为“在上”、“连接到”、“耦接到”或“相邻于”另一个元件或层时,它可以直接在其它元件或层上、连接到、耦接到或相邻于其它元件或层,或可以存在插入元件或层。相反,当元件被称为直接在另一个元件或层上或“直接连接到”、“直接耦接到”或“仅仅相邻于”另一个元件或层时,不存在插入的元件或层。除非特别定义,否则这里使用的所有术语(包括技术和科学术语)具有本发明构思所属的领域的普通技术人员所通常理解的含义。还应当理解,诸如在通常使用的词典中定义的那些术语应当被解释为具有与相关领域的背景下的含义一致的含义,并且不会被在理想化或过度正式的意义上解释,除非这里明确说明。
图I是示出了根据本发明总构思的示范性实施例的存储系统的框图。参考图1,存储系统1000可以包括存储设备100和控制器200。存储设备100可以根据控制器200的控制操作。存储设备100可以存储从控制器200输入的码矢量CV。存储设备100可以读取存储的矢量以将它作为读矢量RV输出到控制器200。存储设备100可以被配置为删除存储的矢量。存储设备100可以包括诸如SRAM、DRAM、SDRAM等之类的易失性存储设备或诸如R0M、PR0M、EPR0M、EEPR0M、闪速存储器、PRAM、MRAM、RRAM、FRAM等等之类的非易失性存储设备。控制器200可以与存储设备100耦接。也就是说,控制器200可以经由无线和/或有线通信链路耦接到存储设备100。控制器200可以响应于来自于主机10的请求接入存储设备100。主机10可以可通信地耦接到控制器200,并且可以包括处理器、计算器、可编程逻辑设备、现场可编程门阵列和集成电路、便携式媒体播放器、机顶盒、服务器、蜂窝电话、个人数字设备、和/或任何其它合适的执行本发明总构思的示范性实施例的主机。控制器200可以包括ECC编码器300和ECC解码器400。ECC编码器300可以从主机10接收写数据矢量WDV以及可以将输入的写数据矢量WDV编码为码矢量CV。码矢量CV可以被发送给存储设备100。ECC解码器400可以从存储设备100接收读矢量RV。ECC解码器400可以纠正读矢量RV的错误。ECC解码器400可以从纠错后的读矢量中提取纠错后的数据矢量CDV,以将提取的纠错后的数据矢量CDV发送到主机10。控制器200可以根据各种通信协议与主机10通信。例如,可以根据诸如USB (通用串行总线)协议、MMC (多媒体卡)协议、PCI (外围元件互连)协议、PCI-E (特快PCI)协议、ATA (高级技术连接)协议、串行ATA协议、并行ATA协议、SCSI (小型计算机小接口)协议、ESDI (增强小型磁盘接口)协议、IDE (集成驱动器电子电路)协议和火线之类的各种通信协议中的至少一个与主机10通信。控制器200和存储设备100可以被集成在单个半导体设备中。控制器200和存储设备100可以被集成在单个半导体设备中以形成固态驱动器(SSD)。控制器200和存储设备100可以被集成在单个半导体设备中以形成存储卡。例如,控制器200和存储设备100可以被集成在单个半导体设备中以形成存储卡,诸如PC (PCMCIA)卡、CF卡、SM (或SMC)卡、存储棒、多媒体卡(丽(^、1 -丽(、丽011丨(^0)、安全卡(50、111丨11丨50、111丨(^050、50!10、通用闪速存储器(UFS)设备等等。在本发明总构思的示范性实施例中,存储系统1000可以被用作和/或可通信地耦接到计算机、便携式计算机、超移动PC(UMPC)、工作站、上网本、PDA、网络平板、无线电话、移动电话、智能电话、电子书、PMP (便携式多媒体播放器)、数字照相机、数字音频记录器/播放器、数字图片/视频记录器/播放器、便携式游戏机、导航系统、黑匣子、3维电视机、能够在无线环境中发送和接收信息的设备、组成家庭网络的各种电子设备中的一个、组成计算机网络的各种电子设备中的一个、组成远程信息(telematics)网络的各种电子设备中的一个、RFID (射频识别)、或可以是计算系统的各种电子设备中的一个。在本发明总构思的示范性实施例中,存储设备100或存储系统1000可以被各种类型的包装来封装,诸如封装上封装(PoP)、球栅阵列(BGA)、芯片级封装(CSP)、塑性引线芯片载体(PLCC)、塑料双列直插式封装(PDI2P)、晶片封装中的管芯、晶片模板中的管芯、板上芯片(C0B)、陶瓷双列直插式封装(CERDIP)、塑料度量方形扁平封装(MQFP)、薄方形扁 平封装(TQFP)、小外形(S0IC)、收缩的小外形封装(SS0P)、薄的小外形(TS0P)、封装中系统(SIP),多芯片封装(MCP)、晶片级制造封装(WFP)、晶片级处理的堆封装(WSP)等等。图2是示出了根据本发明总构思的示范性实施例的图I中的控制器的操作方法的流程图。参考图I和2,在操作SllO中,ECC编码器300可以将写数据矢量WDV编码为码矢量CV。在操作S120中,码矢量CV可以被写入存储设备100中。在操作S130中,可以从存储设备100读取读矢量RV。在操作S140中,ECC解码器400可以根据读矢量RV的错误的数目调整每循环功耗并且可以纠正读矢量RV的错误。以下将顺序地更完全地描述操作SllO和S140。图3是示出了图2中的编码写数据矢量WDV的操作SllO的流程图。参考图I和3,在操作S210中,ECC编码器300可以接收写数据矢量WDV。例如,可以从外部主机(例如,图I示出的主机10)接收写数据矢量WDV。可以由控制器200从存储设备100读取读矢量RV,可以(例如由ECC解码器400)纠正读矢量RV的错误,可以由控制器200从读矢量RV提取纠错后的数据矢量CDV,以及提取的纠错后的数据矢量CDV可以被用作写数据矢量WDV。在操作S220中,ECC编码器300可以将生成矩阵G和写数据矢量WDV相乘。例如,生成矩阵G可以是BCH (Bose-Chaudhuri-Hocquenghem)码的生成矩阵G。相乘结果可以是码矢量CV。图4是示出了根据本发明总构思的示范性实施例的码矢量和读矢量的图。参考图4,码矢量CV可以包括写数据矢量WDV和奇偶校验矢量PV。奇偶校验矢量PV可以是循环冗余检验码(CRCC)。读矢量RV可以包括读数据矢量RDV和读奇偶校验矢量RPV。当写数据矢量WDV被写入存储设备100中然后从存储设备100读取时,读数据矢量RDV可以是读取结果。当读奇偶校验矢量RPV被写入存储设备100中然后从存储设备100读取时,读奇偶校验矢量RPV可以是读取结果。图5是示出了利用被控制的每循环功耗解码读矢量的操作S140的流程图。参考图I和5,在操作S310中,读矢量RV可以由控制器200接收到。在操作S320中,可以根据读矢量RV计算校验子S(X)。ECC解码器400可以根据输入的读矢量RV计算校验子S(X)。如图7所述以及如下详细描述,可以通过将读矢量RV与奇偶校验矩阵相乘来计算校验子S(x)。在操作S330中,可以(例如由ECC解码器400和/或控制器200)确定校验子S(X)是否为O。如果校验子S(X)是0,则在读矢量RV中不存在错误。在这种情况下,ECC解码器400可以结束纠错操作。如果确定校验子S(X)不为0,则可以执行操作S340。在操作S340中,可以计算读矢量RV的错误位置多项式Λ (χ)。ECC解码器400可以基于计算的校验子S(X)计算错误位置多项式Λ (X),如图8所示以及如下面详细描述。在操作S350中,可以由错误位置多项式Λ (χ)估计错误的数目。例如,ECC解码器400可以根据错误位置多项式Λ(χ)的最高次(degree)的系数(index)估计读矢量RV的错误的数目。也就是说,如果错误位置多项式是Λ (x) = A0+A ^+A2X2+...+A 64X64,则根
据错误位置多项式Λ(χ)的最高次的系数估计的错误的数目可能是64。在操作S360中,可以根据估计的错误的数目调整每循环功耗。例如,当读矢量RV中的错误的数目减小时,ECC解码器400可以降低每循环功耗。例如ECC解码器400可以通过调整要同时检测的错误位的数目来降低每循环功耗。如至少图11所示以及如下详细所述,可以通过选择半操作模式和/或四分之一操作模式而不是完全操作模式来调整要同时检测的错误位的数目。也就是说,与完全操作模式相比,在以一半搜索模式操作时每循环同时搜索位的数目的一半。类似地,与在完全操作模式中相比,在四分之一搜索模式中可以同时搜索位的数目的四分之一。如下详细描述,当读矢量中的错误的数目增加分别超过至少一个预定的阈值错误的数目时,可以选择半操作模式和/或四分之一操作模式。因而,当读矢量中的错误的数目大于至少一个预定阈值时,在一半和/或四分之一操作模式中同时搜索的位的数目小于在完全搜索模式中,并且一半和/或四分之一搜索模式的功耗小于完全搜索模式的功耗。在操作S370中,可以根据调整的每循环功耗搜索读矢量RV中的错误,以及可以纠正搜索的错误。错误可以由钱氏搜索单元(例如,图6所示以及下面描述的钱氏搜索单元440)搜索,以及搜索的错误可以由纠错单元450纠正,如下详细所述。图6是示出了根据本发明总构思的示范性实施例的图I中的ECC解码器400的框图。参考图6,ECC解码器400可以包括缓冲器410、校验子计算单元420、关键方程求解(KES)单元430、钱氏搜索单元440、纠错单元450、多路复用器460和控制单元470。缓冲器410可以存储从存储设备100读取的读矢量RV。存储在缓冲器410中的读矢量RV可以被输出到纠错单元450和多路复用器460。校验子计算单元420可以根据从存储设备100读取的读矢量RV计算校验子S(X)。校验子计算单元420可以例如通过将接收的读矢量与奇偶校验矩阵相乘来计算校验子S(X),如下面参考图7详细描述的。计算的校验子S(X)可以被输出到KES单元430。当计算的校验子S(X)为O时,校验子计算单元420可以激活要被提供给控制单元470的控制信号 NES。KES单元430可以根据从校验子计算单元420接收的计算的校验子S (χ)计算错误位置多项式Λ (χ)。KES单元430可以通过如下详细所述的图8所示的方法计算错误位置多项式Λ (χ)0计算的错误位置多项式Λ (χ)还可以被输出到钱氏搜索单元440。KES单元430可以将错误位置多项式Λ (χ)或关于错误位置多项式Λ (χ)的系数的信息输出到控制单元470。例如,错误位置多项式Λ(χ)的最高次(阶)的系数可以被输出到控制单元470。钱氏搜索单元440可以基于从控制单元470接收的信息和计算的错误位置多项式A (x)搜索读矢量RV的错误位置。例如,钱氏搜索单元440可以基于KES单元430提供的信息搜索计算的错误位置多项式Λ (χ)。搜索结果可以与读矢量RV的错误位置对应。也就是说,搜索读矢量RV的错误位置的操作可以包括搜索错误位置多项式Λ (χ)以及根据搜索结果确定读矢量RV的错误位置。也就是说,可以确定读矢量RV中的错误的位置。关于读矢量RV的错误位置的信息可以作为错误位置信息ELI被输出到纠错单元450。纠错单元450可以使用错误位置信息ELI纠正存储在缓冲器410中的读矢量RV的错误。例如,纠错单元450可以反转读矢量RV的位当中的与错误位置信息ELI对应的位(例如,将‘0’位改变到‘I’位,或将‘I’位改变到‘0’位)。纠错单元450的输出可以被提供给多路复用器460。多路复用器460可以根据控制单元470的控制将从缓冲器410输出的矢量或从纠 错单元450输出的矢量选择为纠错后的数据矢量CDV。也就是说,控制单元470可以将选择信号SEL提供给多路复用器460,以控制从缓冲器410输出的数据矢量或从纠错单元450输出的数据矢量的选择。控制单元470可以控制如图I和6所示的ECC解码器400的操作。控制单元470可以从校验子计算单元420接收控制信号NES。当控制信号NES被激活时,即,当计算的校验子S(X)为O时,控制单元470可以控制选择信号SEL以使得多路复用器460选择纠错单元450的输出(例如,选择来自于缓冲器410的读矢量或来自于纠错单元450的纠错后的数据矢量CDV)。控制单元470可以使用从KES单元430传送的错误位置多项式Λ (χ)或从KES单元430接收的关于错误位置多项式Λ (χ)的信息测量和/或估计读矢量RV的错误的数目。例如,控制单元470可以将错误位置多项式Λ (χ)的最高次的系数估计为读矢量RV的错误的数目(例如,如果错误位置多项式Λ (x) = A0+A ^+A2X2+. . .+A 64X64,则根据错误位置多项式Λ(χ)的最高次的系数的估计的错误的数目可以是64)。根据估计的错误的数目,控制单元470可以调整钱氏搜索单元440的每循环功耗。当估计的错误的数目增大时,控制单元470例如可以降低钱氏搜索单元440的每循环功耗。在本发明总构思的示范性实施例中,控制单元470可以通过调整要由钱氏搜索单元440同时搜索的读数据矢量的位的数目来调整钱氏搜索单元440的每循环功耗。图7是示出了根据本发明总构思的示范性实施例的校验子计算方法的流程图。图6所示的校验子计算单元420可以进行操作以便执行图7所示的校验子计算方法。参考图6和7,在操作S410中,可以接收读矢量RV (例如,读矢量可以由图I所示的控制器200接收到)。例如,可以将读矢量RV从存储设备100提供给校验子计算单元420。在操作S420中,读矢量RV可以与奇偶校验矩阵Ht相乘。校验子计算单元420可以存储要与读矢量RV相乘的奇偶校验矩阵Ητ。校验子计算单元420可以将先前存储的奇偶校验矩阵Ht与从存储设备100接收的读矢量RV相乘。奇偶校验矩阵Ht和读矢量RV的相乘结果可以是校验子S(X)。操作S430可以确定相乘结果,即校验子S(X)是否为O。如果确定相乘结果,即校验子S(X)不为O (S卩,S(X)是非零值),则可以在操作S440输出校验子S(x)。如果确定相乘结果,即校验子S(X)为0,则可以在操作S450中激活控制信号NES。图6所示的校验子计算单元420可以确定计算的校验子S(X)是否为O。如果计算的校验子S(x)非零,则校验子计算单元420可以将计算的校验子S(X)输出到KES单元430。如果计算的校验子S(X)为0,则校验子计算单元420可以激活要由控制单元470接收的控制信号NES。下面将使用以下等式描述校验子计算方法。码矢量CV可以由以下等式I表示,其中WDV是写数据矢量,G是生成矩阵(例如,BCH码的生成矩阵,如上所述)。CV = WDVXG (I)从存储设备100读取的读矢量RV可以包括错误。包括错误的读矢量RV可以由以下等式2表示,其中WDV是写数据矢量,G是生成矩阵,E是错误矢量。RV = WDVXG+E(2)读矢量RV可以与奇偶校验矩阵Ht相乘。相乘结果可以由以下等式表示,其中WDV 是写数据矢量,G是生成矩阵,E是错误矢量。RVXHt = WDVXGXHT+EXHT (3)可以确定生成矩阵G和奇偶校验矩阵Ht满足以下等式的关系。GXHt = O (4)因此,以下等式5可以通过将等式4带入到等式3中获得。RVXHt = EXHt (5)相乘结果可以是校验子S(X)。如果校验子S (χ)是0,则可以确定不存在错误。如果校验子S(X)非零,贝U可以确定存在错误。图8是示出了根据本发明总构思的示范性实施例的错误位置多项式(Λ (χ))计算方法的流程图。图6所示的KES单元430可以进行操作以便根据图8所示的方法计算错误位置多项式Λ (χ)。如下面详细描述的,可以迭代地计算错误位置多项式的系数以确定具有‘0’值的系数的数目,同时零值的系数的数目的计数小于阈值。图6所示的控制单元470可以根据具有‘0’值的系数的数目选择钱氏搜索单元440的操作模式(例如,完全搜索模式、一半搜索模式、四分之一搜索模式)。应当注意,搜索模式不局限于完全、一半或四分之一,但是可以被确定为根据期望的功耗期望的任何分数搜索模式。参考图6和8,在操作S510中,零计数ZC和变量η可以被重置。例如,KES单元430可以重置零计数ZC和变量η。如下详细地讨论的,当错误位置多项式Λ(χ)的计算的系数AnS O时,可以将零计数ZC增加1,并且如果零计数ZC小于第一阈值TVl或计算的系数An非零,则可以增加变量η和/或将变量η增长。在操作S520中,可以使用校验子S(X)和前一操作的系数Alri计算差。如果前一操作的系数Alri不存在,g卩如果计算第一个系数Λ^,则可以根据校验子S(X)计算差。可以由KES单元430计算差。在操作S530中,可以根据计算的差计算系数Λη。可以由KES单元430计算系数K。在操作S540中,KES单元430可以确定计算的系数An是否为O。在操作S550中,当计算的系数AnSO时,可以增加零计数ZC。在操作S560中,KES单元430可以确定零计数ZC是否等于或大于第一阈值TVl。也就是说,KES单元430可以确定具有零值的计算的系数An的数目是否大于或等于第一阈值TV1。如果零计数ZC等于或大于第一阈值TV1,则可以结束对错误位置多项式Λ(χ)的计算。如果零计数ZC小于第一阈值TVl或计算的系数An非零,则在操作S570中,变量η可以增加。当增加η值和/或将η值增长时,该方法可以返回到操作S520。也就是说,直到指示计算的系数AnSO的计数大于或等于第一阈值TV1,KES单元430可以增加变量η并且可以迭代地计算错误位置多项式Λ(χ)的系数Λη。计算的系数An可以是错误位置多项式Λ (χ)的次η的系数。在本发明总构思的示范性实施例中,错误位置多项式可以由以下等式6表示。Λ(χ) = Λ 0+Λ J+Λ 2χ2+…+ Ληχη (6)在本发明总构思的示范性实施例中,第一阈值TVl可以是3。也就是说,当错误位置多项式Λ(χ)的系数被计算为O三次或更多次时,KES单元430可以结束错误位置多项式Λ (χ)的计算并且可以估计阶的数目。错误位置多项式Λ (χ)的根可以指示读矢量RV的错误位置。也就是说,读矢量RV可以包括与错误位置多项式Λ (χ)的根的数目对应的错误。下面将参考图9和10详 细描述与根对应的错误的确定。错误位置多项式Λ(χ)的最高次的系数(具体地,具有非零的系数的最高次的系数)可以指示错误的数目。也就是说,如果错误位置多项式是A (x) = A0+A ^+A2X2+...+A 64X64,错误位置多项式A (χ)的最高次的系数可以是64,其可以指示64个错误。在本发明总构思的示范性实施例中,可以根据BM (Berlekamp-Massey)算法或ME(修改的欧几里得)算法进行关键方程求解(KES)计算。图9是示出了根据本发明总构思的示范性实施例的钱氏搜索方法的流程图。图6所示的ECC解码器的钱氏搜索单元440可以操作以便执行图9所示的方法。参考图6和9,在操作S610中,可以根据确定的错误的数目选择要在由ECC解码器400接收到的读矢量中同时搜索的位的数目。控制单元470可以根据从KES单元430输入的信息确定读矢量RV中的错误的数目。也就是说,KES单元430可以计算要被提供给钱氏搜索单元440的错误位置多项式Λ (X),并且还确定具有O值的错误位置多项式Λ (χ)的系数的数目。控制单元470可以基于确定的和/或估计的读矢量中的错误的数目选择要被同时搜索的读矢量的位的数目。在操作S620中,可以根据选择的结果调整搜索方案。例如,控制单元470可以控制钱氏搜索单元440以便根据与要被同时搜索的选择的位的数目对应的搜索方案进行搜索操作。如下详细讨论的,控制单元470可以控制钱氏搜索单元440例如以完全搜索模式、一半搜索模式或四分之一搜索模式操作。然而,搜索模式的分数值不局限于这些值,并且可以依照要求调整。钱氏搜索单元440在以一半搜索模式操作时可以同时搜索在以完全搜索模式操作时接收的读矢量的位的数目的一半。钱氏搜索单元440在以四分之一搜索模式操作时可以同时搜索在以完全搜索模式操作时接收的读矢量的位的数目的四分之一。钱氏搜索单元440的功耗可以根据要被同时搜索的读矢量的位的数目而调整。在本发明总构思的示范性实施例中,操作S610和S620可以是调整每循环功耗的图5中的操作S360的部分或全部。在图9所示的操作S630中,可以由钱氏搜索单元440执行正向钱氏搜索操作。可以从读矢量RV的数据部分(例如,图4所示的读矢量RV的读数据矢量RDV)的一端的第一个位到读矢量的奇偶校验部分(例如,图4所示的读矢量RV的读奇偶校验矢量RPV)的开头执行正向钱氏搜索操作。在钱氏搜索操作中,可以搜索读矢量RV的错误位置。可以根据同时搜索的在操作S610中选择的位的数目来执行钱氏搜索操作。由钱氏搜索单元440执行的钱氏搜索操作可以由控制单元470控制以便搜索读矢量的数据部分或读矢量的数据和奇偶校验部分。钱氏搜索单元440可以对由KES单元430提供的错误位置多项式Λ (χ)执行搜索。钱氏搜索单元440可以搜索错误位置多项式Λ(χ)的根。钱氏搜索单元440的搜索操作可以与从读矢量RV的数据部分(例如,图4所示的红色矢量RV的读数据矢量RV)的一端的第一个位开始的以根据读矢量的选择的位的数目确定的单位搜索错误位置的操作对应。如下详细描述,钱氏搜索单元440可以按照不同的模式操作,诸如例如完全操作模式(SP,完全搜索模式)、一半操作模式(即,一半搜索模式)和四分之一操作模式(即,四分之一搜索模式)。要在读矢量的数据部分中搜索的单位位数可以根据选择的操作模式而不同。如例如图11所示,在四分之一操作模式中搜索的单位位数比在一半操作模式或完全操作模式中的单位位数少。
在操作S640中,可以根据搜索结果确定错误位置。钱氏搜索单元440可以至少根据错误位置多项式Λ (χ)的搜索的根来确定读矢量RV的错误位置。下面至少参考图10详细地讨论读矢量的错误位置的确定。钱氏搜索单元440可以根据确定的错误位置输出错误位置信息(ELI)。错误位置多项式Λ (χ)的根可以通过由图6所示的钱氏搜索单元440运行钱氏搜索来获得。在本发明总构思的示范性实施例中,当错误位置多项式Λ (χ)满足以下等式7时,基本元素α的平方(square)数。可以是错误位置多项式Λ (x)的根。A ( α O = A 0+ A j a A 2 a 2i+. . . + Λ η α ni=0 或(7)A1Q^A2Q 2i+. . . + Λ η α ni=- Λ 0错误位置多项式Λ(χ)的根可以由基本元素α的索引(index)形式表示。读矢量RV的错误位置可以是错误位置多项式Λ (χ)的根的索引的反转值。例如,当错误位置多项式Λ (χ)的根是(α-k)时,读矢量RV的第(k+Ι)位可以是错误位。具体地,从读矢量RV的奇偶校验部分(例如,读矢量RV的读奇偶校验矢量RPV)的一端开始的第(k+Ι)位可以是错误位。当读矢量RV具有c位的长度时,错误位置多项式Λ (χ)的根可以是^和aqni2间的值。这里,c位长度的‘c’可以指示读矢量RV的长度(S卩,读矢量RV的位的数目)。下面至少参考图10详细地说明读矢量RV的错误位置的确定。错误位置多项式Λ (χ)的根可以通过钱氏搜索单元440运行钱氏搜索来搜索。也就是说,读矢量RV的错误位置可以根据钱氏搜索结果来确定。钱氏搜索单元440可以根据搜索结果将错误位置信息ELI输出到纠错单元450。纠错单元450可以通过反转读矢量的至少数据部分的在由错误位置信息ELI指定的位置处的位来纠正读矢量RV的错误。操作S630和S640可以是在图5中的纠正错误的操作S370的部分或全部。图10是示出了根据本发明总构思的示范性实施例的图6的钱氏搜索单元440的详图。参考图10,错误位置多项式Λ (χ)的系数Aci到An可以分别存储在系数寄存器CRl到CRn中。例如,错误位置多项式Λ (χ)的系数Atl到人 可以从图6中的KES单元430传送。种子可以被分别存储在种子寄存器SRl到SRn中。在本发明总构思的示范性实施例中,存储在种子寄存器SRl到SRn中的种子可以是基本元素α的平方数(例如,种子可以是被平方的基本元素α )。存储在种子寄存器SRl到SRn中的种子可以是a _c到a _nc。正如以上的讨论,‘c’可以指示读矢量RV的长度,即读矢量RV的位的数目。可以利用乘法器(例如,乘子X1、X2、. . . Xn)将系数寄存器CRl到CRn的输出和种子寄存器SRl到SRn的输出分别相乘。相乘结果可以分别从乘法器Xl到Xn传送到系数多路复用器MCl到MCn的第一输入端。延迟器Dl到Dn的输出可以分别被提供给系数多路复用器MCl到MCn的第二输入端。系数多路复用器MCl到MCn的每一个可以输出相应的乘法器的输出和相应的延迟器的输出中的一个。系数多路复用器MCl到MCn可以根据图6中的控制单元470的控制而操作。系数多路复用器MCl到MCn的输出可以被传送到并行搜索逻辑441、441j、441k和/或 441m。并行搜索逻辑441可以包括并行搜索寄存器Rl到Rn。基本元素α的平方数 α , α 2, . . . , α η可以分别被存储在并行搜索寄存器Rl到Rn中。在本发明总构思的示范性实施例中,各个项可以分别被存储在并行搜索寄存器Rl到Rn中。这里,每一项可以通过从错误位置多项式Λ (χ)中去掉常数Λ0、用I替换系数Al An、以及代入基本元素α来获得。并行搜索乘法器(例如,乘法器Xpsl、Xps2、. . .Xpsn ;乘法器Xl j、X2j、. . . Xnj ;乘法器Xlk、X2k、. . . XnK ;和乘法器Xlm、X2m、. . . Xnm)的每一个可以将相应的系数多路复用器MCi (i=l η)的输出与相应的并行搜索寄存器Ri (例如,并行搜索寄存器Rl、R2、...Rn ;并行搜索寄存器Rlj到Rnj ;并行搜索寄存器Rlk到Rln ;和并行搜索寄存器Rlm到Rlnm)的输出相乘。并行搜索乘法器(例如,乘法器Xpsl、Xps2、. . .Xpsn)的输出可以由并行搜索逻辑441中的并行搜索加法器(例如,由并行搜索加法器Al)相加。并行搜索乘法器Xlj到Xnj、乘法器Xlk到XnK、和乘法器Xlm到Xnm的输出可以分别由并行搜索加法器Aj、Ak和Am相加。并行搜索加法器Al的输出可以是并行搜索逻辑441的输出Al。并行搜索加法器Aj、Ak和Am的输出可以分别是并行搜索逻辑441 j、441k和441m的输出Λ j、Ak和Am。并行搜索逻辑441 j (BP,以四分之一搜索模式操作的四分之一并行搜索逻辑)可以包括并行搜索寄存器Rlj到Rnj。基本元素α的平方数a j,a 2j, . . . , anj可以分别被存储在并行搜索寄存器Rlj到Rnj中。在本发明总构思的示范性实施例中,各个项可以分别被存储在并行搜索寄存器Rlj到Rnj中。这里,每一项可以通过从错误位置多项式Λ (χ)去掉常数Aci、用I替换系数A1 An、以及代入基本元素来获得。(例如,四分之一并行搜索逻辑441j的)四分之一多路复用器MQl到MQn的每一个可以输出相应的系数多路复用器MCi的输出和零值中的一个。四分之一多路复用器MQl到MQn可以根据控制单元470的控制而操作。四分之一多路复用器MQl到MQn的输出可以分别被传送到并行搜索乘法器(例如,并行搜索乘法器Xl j、X2j、. . . Xnj)。并行搜索乘法器(例如,并行搜索乘法器Xl j、X2j、. ..Xnj)的每一个可以将相应的四分之一多路复用器MQi (例如,MQ1、MQ2、. ..MQn)的输出与相应的并行搜索寄存器Ri j
(例如,并行搜索寄存器Rl j、R2j.....Rnj)的输出相乘。并行搜索乘法器(例如,并行搜索
乘法器Xlj、X2j、. . .Xnj)的输出可以由并行搜索逻辑441j中的并行搜索加法器Aj相加。并行搜索加法器Aj的输出可以是并行搜索逻辑441 j的输出Λ j。
并行搜索逻辑441k (BP,以一半搜索模式操作的一半并行搜索逻辑)可以包括并行搜索寄存器Rlk到Rnk。基本元素α的平方数a k,a 2k,. . .,α 14可以分别被存储在并行搜索寄存器Rlk到Rnk中。在本发明总构思的示范性实施例中,各个项可以分别被存储在并行搜索寄存器Rlk到Rnk中。这里,每一项可以通过从错误位置多项式Λ(χ)去掉常数Λ。、用I替换系数A1 An、以及代入基本元素ak来获得。一半并行搜索逻辑441k的一半多路复用器MHl到MHn的每一个可以输出相应的系数多路复用器MCi (例如,MCI、MC2、. ..MCn)的输出和零值中的一个。一半多路复用器MHl到MHn可以根据控制单元470的控制而操作。一半多路复用器MHl到MHn的输出可以分别被传送到并行搜索乘法器(例如,乘法器Xlk、X2k和Xnk)。并行搜索乘法器(例如,乘法器Xlk、X2k和Xnk)的每一个可以将相应的一半多路复用器MHi的输出与相应的并行搜索寄存器Rij (例如,并行搜索寄存器Rlk、R2k和Rnk)的输出相乘。并行搜索乘法器(例如,并行搜索乘法器Xlk、X2k和Xnk)的输出可以由并行搜索逻辑441k中的并行搜索加法器Ak相加。并行搜索加法器的输出可以是并行搜索逻辑441k的输出Ak0 并行搜索逻辑441m (例如,完全并行搜索逻辑)可以包括并行搜索寄存器Rlm到Rnm0基本元素α的平方数α -,α 2ηι,. . .,α 可以分别被存储在并行搜索寄存器Rlm到Rnm中。在示范性实施例中,各个项可以分别被存储在并行搜索寄存器Rlm到Rnm中。这里,每一项可以通过从错误位置多项式Λ (χ)去掉常数Aci、用I替换系数A1 An、以及代入基本元素来获得。完全多路复用器MFl到MFn的每一个可以输出相应的系数多路复用器MCi (例如,MC1、MC2、. . .MCn)的输出和零值中的一个。完全多路复用器MFl到MFn可以根据控制单元470的控制而操作。完全多路复用器MFl到MFn的输出可以分别被传送到并行搜索乘法器(例如,并行搜索乘法器Xlm、X2m和Xnm)。并行搜索乘法器(例如,并行搜索乘法器Xlm、X2m和Xnm)的每一个可以将相应的
完全多路复用器MFi (例如,MF1、MF2.....MFn)的输出与相应的并行搜索寄存器Rim的输
出相乘。并行搜索乘法器(例如,并行搜索乘法器Xlm、X2m和Xnm)的输出可以由并行搜索逻辑441m中的并行搜索加法器相加。并行搜索加法器Am的输出可以是并行搜索逻辑441m的输出Am。并行搜索逻辑441j到441m中的并行搜索乘法器(例如,乘法器Xpsl、Xps2、· · · Xpsn ;乘法器 Xlj, X2j、... Xnj ;乘法器 Xlk、X2k、... XnK ;和乘法器 Xlm、X2m、. . .Xnm)的输出可以被传送到多路复用器Ml到Mn。例如,每个与并行搜索寄存器Rl j、Rlk和Rlm连接的并行搜索乘法器的输出可以被传送到多路复用器Ml。每个与并行搜索寄存器Rnj、Rnk和Rnm连接的并行搜索乘法器的输出可以被传送到多路复用器Mn。多路复用器Ml到Mn的每一个可以根据控制单元470的控制选择输入信号的一个。例如,多路复用器Ml可以选择每个与并行搜索寄存器Rl j、Rlk和Rlm连接的并行搜索乘法器(例如,乘法器Xpsl、Xl j、Xlk、Xlm)的输出的一个。多路复用器Mn可以选择每个与并行搜索寄存器Rnj、Rnk和Rnm连接的并行搜索乘法器(例如,乘法器Xpsn、Xnj、Xnk、Xnm)的输出的一个。多路复用器Ml到Mn的输出可以分别被提供给延迟器Dl到Dn。并行搜索逻辑441到441m可以搜索读矢量RV的不同的错误位置。并行搜索逻辑441到441m可以并行(或同时)搜索多个错误位置。钱氏搜索单元440的并行搜索逻辑441到441m可以根据控制单元470的控制被激活或停用。钱氏搜索单元440可以根据控制单元470的控制调整要同时搜索的读矢量的位的数目。也就是说,钱氏搜索单元440可以通过以完全搜索模式、一半搜索模式或四分之一搜索模式操作要搜索的读矢量的位的数目,如下详细描述。钱氏搜索单元440可以根据控制单元470的控制调整每循环功耗或最大纠正时间。以下将更完全描述钱氏搜索单元440的操作。完全搜索模式当钱氏搜索单元440以完全搜索模式操作时,可以控制并行搜索逻辑441j中的四 分之一多路复用器MQl到MQn选择系数多路复用器MCl到MCn的输出。可以控制并行搜索逻辑441k中的一半多路复用器MHl到MHn选择系数多路复用器MCl到MCn的输出。可以控制并行搜索逻辑441m中的完全多路复用器MFl到MFn选择系数多路复用器MCl到MCn的输出。多路复用器Ml到Mn可以选择并行搜索逻辑441m中的并行搜索多路复用器的输出。在第一循环中,可以控制系数多路复用器MCl到MCn选择乘法器(例如,乘法器Xl、
X2.....Xn)的输出。系数多路复用器MCl到MCn的输出可以被传送到平行搜索逻辑441
到441m。此时,并行搜索逻辑441到441m的输出Al、Aj\ Ak和Am可以如以下表I所
/Jn ο表I
IΧ ( )£\ I = ΛιΟ· c a + /V2 α, o. Z+***+/k α.-*** a n
=ΛI a+/V2O.
~~~~~_c J e j.2jIi1J
i\ 1(4-41 j;A i = Aia da a + …+ /k a cl
I. —Ce—J >—2Cc—j)—一 j >
=Aid+—-+Λ a
囲Ic—2c2k Λ·一tienk
Λ j = A i a a +Ag a a +*-*4· a a
—Cc-%5—SC c—Ιε )—n ( c—lcj
I= ΛI α +Λ2 G+ …+Λ** a
I AI—c m—2c 2m—nc mb
八niI糾 111UAk = Λι a a +A2 a a +--+A11 a a
=Λχ a + i\g aH-----I-Alfl (X并行搜索逻辑441的输出Λ I可以通过将α +―1)代入到错误位置多项式Λ (χ)中来获得。并行搜索逻辑441可以搜索读矢量RV的第(c-Ι)位是否是错误的。具体地,并行搜索逻辑441可以检测在从读矢量RV的数据部分(例如,图4所示的读矢量RV的读数据矢量RDV)的一端开始的第一位处存在的错误。当并行搜索逻辑441的输出Al为-Al时,它可以指示存在错误。并行搜索逻辑441 j的输出Λ j可以通过将a 代入到错误位置多项式Λ (χ)中来获得。并行搜索逻辑441 j可以搜索读矢量RV的第(c_j)位是否是错误的。具体地,并行搜索逻辑441 j可以检测在从读矢量RV的数据部分(例如,图4所示的读矢量RV的读数据矢量RDV部分)的一端开始的第j位处存在的错误。当并行搜索逻辑441的输出Λ j为-Λ I时,它可以指示存在错误。并行搜索逻辑441k的输出Ak可以通过将a_(c;_k)代入到错误位置多项式Λ (χ)中来获得。并行搜索逻辑441k可以搜索读矢量RV的第(c_k)位是否是错误的。具体地,并行搜索逻辑441k可以检测在从读矢量RV的数据部分(例如,图4所示的读矢量RV的读数据矢量RDV部分)的一端开始的第k位处存在的错误。当并行搜索逻辑441m的输出Ak是-Al时,它可以指不存在错误。并行搜索逻辑441m的输出Am可以通过将a _(e_m)代入到错误位置多项式Λ (χ)中来获得。并行搜索逻辑441m可以搜索读矢量RV的第(c-m)位是否是错误的。具体地,并行搜索逻辑441m可以检测在从读矢量RV的数据部分(例如,图4所示的读矢量RV的读数据矢量RDV部分)的一端开始的第m位处存在的错误。当并行搜索逻辑441m的输出Am是-Λ i时,它可以指不存在错误。在完全搜索模式的第一循环期间,并行搜索逻辑441到441m可以同时搜索从读矢量RV的数据部分的一端开始的第I、第j、第k和第m位是错误的。在第二循环中,系数多路复用器MCl到MCn可以选择延迟器Dl到Dn的输出。也就是说,并行搜索逻辑441m中的并行搜索寄存器Rlm到Rnm的输出可以与在第一循环中并行搜索逻辑441m中的并行搜索乘法器Xlm到Xnm的输出相乘。此时,钱氏搜索单元440的输出Al、A j\ Ak和Am可以如以下表2所示。表权利要求
1.一种用于控制存储设备的存储系统的控制器,包括 关键方程求解单元,计算在由该控制器从存储设备接收到的用于读取数据的读矢量中的错误位置多项式; 控制单元,根据计算的错误位置多项式和关于错误位置多项式的信息中的至少一个估计接收的读矢量中的错误的数目;和 钱氏搜索单元,根据计算的错误位置多项式搜索接收的读矢量的错误位置。
2.如权利要求I所述的控制器,还包括 纠错单元,使用由该关键方程求解单元计算的错误位置多项式来纠正接收的读矢量的在由钱氏搜索单元确定的错误位置处的错误。
3.如权利要求I所述的控制器,其中该控制单元调整钱氏搜索单元的每循环功耗。
4.如权利要求3所述的控制器,其中该控制单元通过根据由关键方程求解单元计算的错误位置多项式调整要在接收的读矢量中同时搜索的位的数目来调整钱氏搜索单元的每循环功耗。
5.如权利要求4所述的控制器,其中,当错误的数目小于或等于预定的第一错误的数目时,该控制单元控制钱氏搜索单元以完全搜索模式操作,以同时搜索接收的读矢量的至少数据部分的位。
6.如权利要求5所述的控制器,其中,当错误的数目大于预定的第一错误的数目并且小于预定的第二错误的数目时,该控制单元控制该钱氏搜索单元以一半搜索模式操作,以同时搜索在完全搜索模式下同时搜索的接收的读矢量的位的数目的一半。
7.如权利要求6所述的控制器,其中以一半搜索模式操作的钱氏搜索单元的每循环功耗小于完全搜索模式的每循环功耗。
8.如权利要求6所述的控制器,其中,当错误的数目大于预定的第二错误的数目时,该控制单元控制该钱氏搜索单元以四分之一搜索模式操作,以同时搜索在完全搜索模式下同时搜索的接收的读矢量的位的数目的四分之一。
9.如权利要求8所述的控制器,其中以四分之一搜索模式操作的钱氏搜索单元的每循环功耗小于一半搜索模式的每循环功耗。
10.如权利要求I所述的控制器,其中,当错误的数目小于或等于预定的阈值时,该控制单元控制钱氏搜索单元仅仅对接收的读矢量的数据部分执行钱氏搜索。
11.如权利要求I所述的控制器,其中,当检测到的错误的数目大于预定的阈值时,该控制单元控制钱氏搜索单元对接收的读矢量的数据部分和奇偶校验部分执行钱氏搜索。
12.如权利要求I所述的控制器,其中该控制单元根据读矢量的错误的数目调整钱氏搜索单元的最大纠正时间。
13.如权利要求12所述的控制器,其中,当错误的数目小于第一预定的错误的数目时,该控制单元将钱氏搜索单元的最大纠正时间调整到第一预定的求解时间。
14.如权利要求13所述的控制器,其中,当错误的数目小于第一预定的错误的数目时,该控制单元控制钱氏搜索单元以完全搜索模式操作,以同时搜索该读矢量的至少数据部分的位。
15.如权利要求13所述的控制器,其中,当错误的数目大于第一预定的错误的数目并且小于第二预定的错误的数目时,该控制单元控制钱氏搜索单元以一半搜索模式操作,以同时搜索在以完全搜索模式操作时的读矢量的至少数据部分的位的数目的一半。
16.如权利要求15所述的控制器,其中,当错误的数目大于第二预定的错误的数目时,该控制单元控制钱氏搜索单元以四分之一搜索模式操作,以同时搜索当以完全搜索模式操作时的读矢量的至少数据部分的位的数目的四分之一。
17.如权利要求12所述的控制器,其中,当检测到的错误的数目大于预定的阈值时,该控制单元调整钱氏搜索单元的最大纠正时间以对接收的读矢量的数据部分和奇偶校验部分执行钱氏搜索。
18.—种控制包括存储设备的存储系统的方法,该方法包括 利用该存储系统的关键方程求解单元计算在用于从存储设备读取数据的接收的读矢量中的错误位置多项式; 利用该存储系统的控制单元根据计算的错误位置多项式和关于错误位置多项式的信息中的至少一个估计接收的读矢量的错误的数目;以及 利用具有控制单元的存储系统的钱氏搜索单元根据计算的错误位置多项式搜索接收的读矢量的错误位置。
19.如权利要求18所述的方法,还包括 利用纠错单元使用由该关键方程求解单元计算的错误位置多项式来纠正接收的读矢量的在由钱氏搜索单元确定的错误位置处的错误。
20.如权利要求18所述的方法,还包括 利用该控制单元调整钱氏搜索单元的每循环功耗。
21.如权利要求20所述的方法,其中所述调整钱氏搜索单元的每循环功耗包括 利用该控制单元根据由关键方程求解单元计算的错误位置多项式调整要在接收的读矢量中同时搜索的位的数目。
22.如权利要求21所述的方法,还包括 当错误的数目小于或等于预定的第一错误的数目时,以完全搜索模式操作钱氏搜索单元,以同时搜索接收的读矢量的至少数据部分的位。
23.如权利要求22所述的方法,还包括 当错误的数目大于预定的第一错误的数目并且小于预定的第二错误的数目时,以一半搜索模式操作钱氏搜索单元,以同时搜索在完全搜索模式下同时搜索的接收的读矢量的位的数目的一半。
24.如权利要求23所述的方法,其中以一半搜索模式操作的钱氏搜索单元的每循环功耗小于完全搜索模式的每循环功耗。
25.如权利要求23所述的方法,还包括 当错误的数目大于预定的第二错误的数目时,以四分之一搜索模式操作钱氏搜索单元,以同时搜索在完全搜索模式下同时搜索的接收的读矢量的位的数目的四分之一。
26.如权利要求25所述的方法,其中以四分之一搜索模式操作的钱氏搜索单元的每循环功耗小于一半搜索模式的每循环功耗。
27.如权利要求18所述的方法,还包括 当错误的数目小于或等于预定的阈值时,利用该控制单元控制钱氏搜索单元仅仅对接收的读矢量的数据部分执行钱氏搜索。
28.如权利要求18所述的方法,还包括 当检测到的错误的数目大于预定的阈值时,利用该控制单元控制钱氏搜索单元对接收的读矢量的数据部分和奇偶校验部分执行钱氏搜索。
29.如权利要求18所述的方法,还包括 利用该控制单元根据读矢量的错误的数目调整钱氏搜索单元的最大纠正时间。
30.如权利要求29所述的方法,还包括 当错误的数目小于第一预定的错误的数目时,利用该控制单元将钱氏搜索单元的最大纠正时间调整到第一预定的求解时间。
31.如权利要求30所述的方法,还包括 当错误的数目小于第一预定的错误的数目时,以完全搜索模式操作钱氏搜索单元,以同时搜索读矢量的至少数据部分的位。
32.如权利要求30所述的方法,还包括 当错误的数目大于第一预定的错误的数目并且小于第二预定的错误的数目时,以一半搜索模式操作钱氏搜索单元,以同时搜索当以完全搜索模式操作时的读矢量的至少数据部分的位的数目的一半。
33.如权利要求32所述的方法,还包括 当错误的数目大于第二预定的错误的数目时,以四分之一搜索模式操作钱氏搜索单元,以同时搜索在以完全搜索模式操作时的读矢量的至少数据部分的位的数目的四分之O
34.如权利要求29所述的方法,还包括 当检测到的错误的数目大于预定的阈值时,利用该控制单元调整钱氏搜索单元的最大纠正时间以对接收的读矢量的数据部分和奇偶校验部分执行钱氏搜索。
35.一种控制具有经由至少一个信道耦接到至少一个存储设备的控制器的存储系统的方法,该方法包括 确定由控制器经由至少一个信道从至少一个存储设备接收到的用于读取数据的读矢量的估计的错误的数目和错误位置信息;以及 根据估计的错误的数目和确定的错误位置信息,调整搜索读矢量的错误位置的存储系统的钱氏搜索单元的每循环功耗和最大纠正时间中的至少一个。
36.一种具有经由至少一个信道耦接到控制器的至少一个存储设备的存储系统的控制器,包括 该控制器的纠错码解码器,确定由控制器经由至少一个信道从至少一个存储设备接收到的用于读取数据的读矢量的估计的错误的数目和错误位置信息;以及 该纠错码解码器的控制单元,根据估计的错误的数目和确定的错误位置信息,调整搜索读矢量的错误位置的存储系统的钱氏搜索单元的每循环功耗和最大纠正时间中的至少一个。
全文摘要
一种用于控制包括存储设备的存储系统的控制器。控制存储系统可以包括利用存储系统的关键方程求解单元计算用于从存储设备读取数据的接收的读矢量中的错误位置多项式;利用存储系统的控制单元根据计算的错误位置多项式和关于错误位置多项式的信息中的至少一个来估计在接收的读矢量中的错误的数目;以及利用具有控制单元的存储系统的钱氏搜索单元根据计算的错误位置多项式来搜索接收的读矢量的错误位置。可以利用该控制单元调整钱氏搜索单元的每循环功耗。可以根据读矢量的错误的数目调整最大纠正时间。
文档编号G06F17/30GK102779099SQ20121014158
公开日2012年11月14日 申请日期2012年5月9日 优先权日2011年5月9日
发明者孔载弼, 赵容元 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1