首页> 中国专利> 存储系统和用于校正存储系统中的错误的方法

存储系统和用于校正存储系统中的错误的方法

摘要

本申请公开了存储系统和用于校正存储系统中的错误的方法。一种存储系统包括:存储介质;循环缓冲器,其被配置为在第一操作模式下储存从存储介质输出的读取数据;伪命令发生器,其被配置为在第二操作模式下产生伪命令;以及错误校正码(ECC)解码器,其被配置为响应伪命令来对储存在循环缓冲器中的读取数据执行ECC解码操作。

著录项

  • 公开/公告号CN112242175A

    专利类型发明专利

  • 公开/公告日2021-01-19

    原文格式PDF

  • 申请/专利权人 爱思开海力士有限公司;

    申请/专利号CN202010585519.6

  • 发明设计人 申原圭;权正贤;徐镇雄;洪道善;

    申请日2020-06-24

  • 分类号G11C29/42(20060101);G06F3/06(20060101);G06F11/10(20060101);

  • 代理机构11363 北京弘权知识产权代理事务所(普通合伙);

  • 代理人许伟群;阮爱青

  • 地址 韩国京畿道

  • 入库时间 2023-06-19 09:36:59

说明书

相关申请的交叉引用

本申请要求于2019年7月17日提交的申请号为10-2019-0086680的韩国专利申请的优先权,其全部内容通过引用合并于此。

技术领域

所公开技术的各种实施例涉及存储系统,并且具体而言,涉及存储系统以及校正存储系统中的错误的方法。

背景技术

通常,用于在其上传送信息的路径被称为信道。当使用线缆通信来传送信息时,通过其而传送信息的传输线可以充当信道。当使用无线通信来传送信息时,信道可以是在其中传播包括信息的电磁波的空气。可以通过信道来执行用于将数据储存到存储介质(例如,存储器件)中以及用于从存储介质中读出数据的过程。

当通过信道来传送数据时,错误可能会被包括在数据中。因此,许多努力一直关注于开发用于从错误数据中检测出错误并且去除检测到的错误以将错误数据恢复为其原始数据的设备和方法。错误校正码(ECC)编码操作和ECC解码操作已经广泛用在包括存储介质的存储系统中。ECC编码操作可以对应于通过在原始数据被传送以执行写入操作之前将错误控制码(或错误校正码)添加到原始数据(即,写入数据)而产生传输数据的过程。ECC解码操作可以对应于执行读取操作以读出储存在存储介质中的数据以及将读取的数据分为原始数据和添加的码以将读取的数据恢复为原始数据的过程。

发明内容

根据一个实施例,一种存储系统可以包括:存储介质;循环缓冲器,其被配置为在第一操作模式下储存从存储介质输出的读取数据;伪命令发生器,其被配置为在第二操作模式下产生伪命令;以及错误校正码(ECC)解码器,其被配置为响应于伪命令来对储存在循环缓冲器中的读取数据执行ECC解码操作。

根据另一实施例,一种存储系统可以包括存储介质、命令控制单元、循环缓冲器、循环计数器和错误校正码(ECC)解码器。命令控制单元可以被配置为在第一操作模式和第二操作模式下分别产生初步伪命令控制信号和伪命令。循环缓冲器可以被配置为在第一操作模式下响应于初步伪命令控制信号而储存从存储介质输出的读取数据,并且被配置为在第二操作模式下响应于伪命令而输出储存在循环缓冲器中的读取数据。循环计数器可以被配置为在第一操作模式下响应于初步伪命令控制信号而执行复位操作,并且被配置为在第二操作模式下响应于伪命令而输出循环计数器的计数值。ECC解码器可以被配置为在第一操作模式下对从存储介质输出的读取数据执行第一ECC解码操作,并且被配置为在第二操作模下对从循环缓冲器输出的读取数据执行第二ECC解码操作。

根据又一实施例,可以提供一种存储系统的错误校正方法。该错误校正方法可以包括:在第一操作模式下,对从存储介质输出的读取数据执行第一错误校正码(ECC)解码操作并且将从存储介质输出的读取数据储存到循环缓冲器中。可以在第二操作模式下对储存在循环缓冲器中的读取数据执行第二ECC解码操作。

附图说明

参考附图通过各种实施例来说明所公开技术的某些特征,在其中:

图1是示出根据本公开的一个实施例的存储系统的示例的框图;

图2是示出根据本公开的一个实施例的存储系统的正常读取操作或重试操作的框图;

图3是示出根据本公开的一个实施例的在存储系统的第一操作模式下执行的操作的框图;

图4是示出根据本公开的一个实施例的在存储系统的第二操作模式下执行的操作的框图;

图5是示出根据本公开的另一实施例的存储系统的示例的框图;

图6是示出图5的存储系统中所包括的存储介质的示例的框图;

图7是示出图5的存储系统中所包括的循环缓冲器的示例的框图;

图8是示出图5的存储系统中所包括的循环计数器的示例的框图;

图9是示出根据本公开的一个实施例的存储系统的正常读取操作的流程图;

图10是示出根据本公开的一个实施例的存储系统的正常读取操作的框图;

图11是示出根据本公开的一个实施例的存储系统的重试操作的流程图;

图12是示出根据本公开的一个实施例的存储系统的重试操作的框图;

图13是示出根据本公开的一个实施例的在存储系统的第一操作模式下执行的操作的流程图;

图14示出根据本公开的一个实施例的在存储系统的第一操作模式下执行的操作的框图;

图15是示出根据本公开的一个实施例的在存储系统的第二操作模式下执行的操作的流程图;

图16、图17和图18是示出根据本公开的一个实施例的在存储系统的第二操作模式下执行的操作的框图;

图19、图20和图21是示出根据本公开的一个实施例的在存储系统的第二操作模式下利用擦除循环方法执行的错误校正码(ECC)解码操作的示意图;

图22是示出根据本公开的一个实施例的在存储系统的第一操作模式/重试操作模式下的操作的示例的流程图;

图23和图24是示出根据本公开的一个实施例的在存储系统的第一操作模式/重试操作模式下的操作的示例的框图;

图25是示出根据本公开的一个实施例的在存储系统的第一操作模式/重试操作模式下的操作的另一示例的流程图;

图26是示出根据本公开的一个实施例的在存储系统的第一操作模式和重试操作模式下的操作的另一示例的框图;

图27是示出根据本公开的一个实施例的在存储系统的第一操作模式和重试操作模式下将读取数据储存到循环缓冲器中的程序的示意图;

图28是示出根据本公开的一个实施例的在存储系统的正常读取操作模式和第一操作模式下的操作的流程图;以及

图29是示出根据本公开的一个实施例的在存储系统的正常读取操作模式和第一操作模式下的操作的框图。

具体实施方式

在实施例的以下描述中,将理解的是,术语“第一”和“第二”旨在标识元件,而不是用于仅限定元件本身或意指特定序列。另外,当元件被称为位于另一元件“在...上”、“在...上方”、“在...之上”、“在...下方”或“在...之下”时,其意图是指相对位置关系,但不用于限制该元件直接接触另一元件或者在它们之间存在至少一个居间元件的某些情况。因此,本文中所使用的诸如“在...上”、“在...上方”、“在...之上”、“在...下”、“在...下方”或“在...之下”等术语仅出于描述特定实施例的目的,而不意图限制本公开的范围。此外,当一个元件被称为“连接”或“耦接”到另一个元件时,该元件可以直接电或机械地连接或耦接到另一个元件,或者可以通过在它们之间置入另一个元件而形成连接关系或耦接关系。

图1是示出根据本公开的一个实施例的存储系统100的框图。参考图1,存储系统100可以被配置为包括存储介质110、不可校正错误(UE)处理器(handler)121、伪命令发生器122、循环缓冲器140和ECC解码器160。存储介质110可以是存储芯片或存储模块。当存储介质110是存储芯片时,存储介质110可以包括多个存储区。在这种情况下,可以在对存储介质110的读取访问期间同时执行针对所有存储区的读取访问操作。当存储介质110是存储模块时,存储介质110可以包括多个存储芯片。在这种情况下,可以在对存储介质110的读取访问期间同时执行针对所有存储芯片的读取访问操作。在一个实施例中,存储介质110可以包括诸如闪存器件、相变存储(PCRAM)器件、电阻式存储(ReRAM)器件、铁电存储(FeRAM)器件或磁性存储(MRAM)器件之类的非易失性存储器件。替代地,存储介质110还可以包括易失性存储器件,诸如动态随机存取存储(DRAM)器件。

UE处理器121可以从ECC解码器160接收ECC解码数据,并且可以确定操作模式(对应于第一操作模式和第二操作模式中的任意一个)以在所确定的操作模式下产生针对操作的控制信号。在一个实施例中,当通过正常读取操作和/或重试操作未校正从存储介质110输出的读取数据的错误时,可以确定第一操作模式,并且当在第一操作模式下未校正从存储介质110输出的读取数据的错误时,可以确定第二操作模式。UE处理器121可以在第一操作模式下产生初步伪命令控制信号pre_CMD_F。如果产生了初步伪命令控制信号pre_CMD_F,则从存储介质110输出的读取数据DATA_R可以被输入到循环缓冲器140和ECC解码器160。UE处理器121可以在第二操作模式下产生伪命令控制信号CS_CMD_F。伪命令控制信号CS_CMD_F可以被输入到伪命令发生器122。

伪命令发生器122可以响应于从UE处理器121输出的伪命令控制信号CS_CMD_F而产生伪命令CMD_F。伪命令CMD_F可以被输入到循环缓冲器140和ECC解码器160。在一个实施例中,在伪命令控制信号CS_CMD_F没有被输入到伪命令发生器122的情况下,伪命令发生器122不会产生命令。如果伪命令CMD_F是由伪命令发生器122产生的,则可以在存储系统100中终止对存储介质110的访问。即,当产生伪命令CMD_F时,可能不会执行存储介质110的读取操作和写入操作。

循环缓冲器140可以在第一操作模式下执行用于将数据储存到循环缓冲器140中的操作,而可以在第二操作模式下执行用于输出储存在循环缓冲器140中的数据的操作。具体地,循环缓冲器140可以在第一操作模式下从UE处理器121接收初步伪命令控制信号pre_CMD_F,并且可以响应于初步伪命令控制信号pre_CMD_F来储存从存储介质110输出的读取数据DATA_R。此外,循环缓冲器140可以在第二操作模式下从伪命令发生器122接收伪命令CMD_F,并且可以响应于伪命令CMD_F而将储存在循环缓冲器140中的读取数据DATA_R输出到ECC解码器160。

ECC解码器160可以对读取数据DATA_R执行ECC解码操作以检测读取数据DATA_R的错误,并且可以在读取数据DATA_R为错误数据时校正读取数据DATA_R的错误。在一个实施例中,可以使用以符号为单位来校正错误的里德-所罗门(RS)编码方法执行由ECC解码器160执行的ECC解码操作。可以在第一操作模式和第二操作模式下使用不同的方法来执行由ECC解码器160执行的ECC解码操作。在第一操作模式下,ECC解码器160可以从存储介质110接收读取数据DATA_R,而不从循环缓冲器140接收读取数据DATA_R。例如,在第一操作模式下,ECC解码器160可以直接从存储介质110接收读取数据DATA_R,而不是通过循环缓冲器140从存储介质110接收读取数据DATA_R。在这种情况下,可以使用通用里德-所罗门(RS)算法系统来执行由ECC解码器160执行的ECC解码操作。在本实施例中,“使用通用RS算法系统的ECC解码操作”可以被限定为在仅使用读取数据DATA_R中包括的奇偶校验符号而非擦除符号的情况下为了检测错误位置并校正错误而执行的ECC解码操作。在这种情况下,可以通过奇偶校验符号的数量来确定可校正符号的数量(即,错误校正能力)。在第二操作模式下,ECC解码器160可以从循环缓冲器140接收读取数据DATA_R。在这种情况下,ECC解码器160可以使用里德-所罗门(RS)擦除循环方法来执行读取数据DATA_R的ECC解码操作。在本实施例中,“使用RS擦除循环方法的ECC解码操作”可以被限定为在顺序地擦除符号的情况下为了检测错误位置并校正错误而执行的ECC解码操作。

图2是示出根据本公开的一个实施例的存储系统100的正常读取操作或重试操作的框图。在图2中,与图1中使用的相同的附图标记或字符表示相同的元件。参考图2,存储系统100可以在正常读取操作或重试操作期间读出储存在存储介质110中的数据。在一个实施例中,当读取命令CMD_R由主机产生并且被传送到存储介质110时,可以执行正常读取操作。在一个实施例中,当即使在正常读取操作期间执行了从存储介质110输出的读取数据DATA_R的ECC解码操作之后还没有校正读取数据DATA_R的错误时,可以执行重试操作。在这种情况下,可以由UE处理器121产生引起重试操作的重试控制信号。在一个实施例中,可以将在改变读取电压的情况下反复地执行读取操作的电压划分(VDM)方法应用于重试操作,以校正读取数据DATA_R的错误。读取电压可以是用于驱动存储介质110的电压。

通过正常读取操作或重试操作从存储介质110输出的读取数据DATA_R可以被输入到ECC解码器160。循环缓冲器140在正常读取操作或重试操作期间可能不会接收或输出任何数据。ECC解码器160可以执行读取数据DATA_R的ECC解码操作,并且可以将ECC解码操作的结果输出到UE处理器121。在正常读取操作或重试操作期间,可以使用通用RS算法系统来执行ECC解码操作。

可以将由ECC解码器160产生的ECC解码的读取数据DATA_R_D输入到UE处理器121。UE处理器121可以辨别ECC解码的读取数据DATA_R_D中的所有错误是否被校正。当ECC解码的读取数据DATA_R_D中的所有错误被校正时,UE处理器121可以将ECC解码的读取数据DATA_R_D传送到主机,并且可以终止存储介质110的读取操作。相反,当ECC解码的读取数据DATA_R_D中的所有错误未被校正时,UE处理器121可以将第一操作模式激活为操作模式,并且可以执行与第一操作模式有关的控制操作。

图3是示出根据本公开的一个实施例的在存储系统100的第一操作模式下执行的操作的框图。在图3中,与图1中使用的相同的附图标记或字符表示相同的元件。参考图3,如果第一操作模式被激活,则UE处理器121可以输出初步伪命令控制信号pre_CMD_F。初步伪命令控制信号pre_CMD_F可以被传送到存储介质110和循环缓冲器140。存储介质110可以响应于初步伪命令控制信号pre_CMD_F而将读取数据DATA_R输出到循环缓冲器140和ECC解码器160。将读取数据DATA_R从存储介质110传送到循环缓冲器140以及将读取数据DATA_R从存储介质110传送到ECC解码器160可以同时或顺序地执行。在一个实施例中,如本文关于传送而使用的词语“同时”和“同时地”意指传输在重叠的时间间隔上发生。例如,如果第一传输发生在第一时间间隔上且第二传输在第二时间间隔上同时发生,则第一间隔和第二间隔至少部分地彼此重叠,以使得存在第一传输和第二传输二者都发生的时间。

接收初步伪命令控制信号pre_CMD_F和读取数据DATA_R的循环缓冲器140可以仅储存读取数据DATA_R而不输出读取数据DATA_R。因此,在第一操作模式下,ECC解码器160可以从存储介质110接收读取数据DATA_R。ECC解码器160可以对从存储介质110输出的读取数据DATA_R执行ECC解码操作,并且可以将读取数据DATA_R的ECC解码操作的结果输出到UE处理器121。还可以在第一操作模式下使用通用RS算法系统来执行ECC解码操作,就像在正常读取操作或重试操作期间执行的ECC解码操作一样。

在第一操作模式下,可以通过ECC解码器160将ECC解码的读取数据DATA_R_D输入到UE处理器121。UE处理器121可以辨别ECC解码的读取数据DATA_R_D中的所有错误是否被校正。当ECC解码的读取数据DATA_R_D中的所有错误被校正时,UE处理器121可以将ECC解码的读取数据DATA_R_D传送到主机,并且可以终止存储介质110的读取操作。相反,当ECC解码的读取数据DATA_R_D中的所有错误未被校正时,UE处理器121可以激活第二操作模式。

图4是示出根据本公开的一个实施例的在存储系统100的第二操作模式下执行的操作的框图。在图4中,与图1中使用的相同的附图标记或字符表示相同的元件。参考图4,如果第二操作模式被激活,则UE处理器121可以产生伪命令控制信号CS_CMD_F。伪命令控制信号CS_CMD_F可以被输入到伪命令发生器122。伪命令发生器122可以响应于伪命令控制信号CS_CMD_F而输出伪命令CMD_F。伪命令CMD_F可以被输入到循环缓冲器140和ECC解码器160。循环缓冲器140可以接收伪命令CMD_F以将储存在循环缓冲器140中的读取数据DATA_R传送到ECC解码器160。在产生伪命令CMD_F的第二操作模式下,对存储介质110的访问可以终止。因此,在第二操作模式下,可以不执行存储介质110的读取操作和写入操作。

ECC解码器160可以对从循环缓冲器140输出的读取数据DATA_R执行ECC解码操作,并且可以将ECC解码操作的结果输出到UE处理器121。在第二操作模式下,ECC解码操作可以使用擦除循环方法来执行。在顺序地擦除构成读取数据DATA_R的一些符号之后,可以使用RS码系统来执行使用擦除循环方法的ECC解码操作。可以迭代地执行使用擦除循环方法的ECC解码操作,直到所有错误被校正或所有符号被擦除为止。

可以将通过擦除循环方法从ECC解码器160输出的ECC解码的读取数据DATA_R_ERD输入到UE处理器121。UE处理器121可以辨别由擦除循环方法产生的ECC解码的读取数据DATA_R_ERD中的所有错误是否被校正。当ECC解码的读取数据DATA_R_ERD中的所有错误被校正时,UE处理器121可以将ECC解码的读取数据DATA_R_ERD传送到主机。相反,当ECC解码的读取数据DATA_R_ERD中的所有错误未被校正时,UE处理器121可以将错误校正程序视为最终失败状态。最终失败状态被限定为存储介质110中的读取数据DATA_R_ERD不能被校正的状态。

图5是示出根据本公开的另一实施例的存储系统200的框图。图6是示出图5的存储系统200中包括的存储介质210的框图。图7是示出图5的存储系统200中所包括的循环缓冲器240的框图,并且图8是示出图5的存储系统200中所包括的循环计数器250的框图。首先,参考图5,存储系统200可以包括存储介质210、命令控制单元(CCU)220、存储接口逻辑电路230、循环缓冲器240、循环计数器250、ECC解码器260、多路复用器270和介质调度逻辑电路280。存储介质210可以包括多个存储芯片,例如,第一存储芯片至第十一存储芯片210_0、210_1、210_2、…和210_10,如图6中所示。第一存储芯片至第十一存储芯片210_0、210_1、210_2、…和210_10中的每个可以以128比特位为单位来接收或输出数据。即,可以将具有128比特位的第一数据DATA_0输入到第一存储芯片210_0或从第一存储芯片210_0输出具有128比特位的第一数据DATA_0,并且可以将具有128比特位的第二数据DATA_1输入到第二存储芯片210_1或从第二存储芯片210_1输出具有128比特位的第二数据DATA_1。另外,也可以将具有128比特位的第三数据DATA_2输入到第三存储芯片210_2或从第三存储芯片210_2输出具有128比特位的第三数据DATA_2。类似地,可以将具有128比特位的第十一数据DATA_10输入到第十一存储芯片210_10或从第十一存储芯片210_10输出具有128比特位的第十一数据DATA_10。从第一存储芯片210_0至第十一存储芯片210_10中的相应存储芯片输出的第一数据DATA_0至第十一数据DATA_10可以构成读取数据DATA_R。即,通过存储介质210的读取操作从存储介质210输出的读取数据DATA_R可以被配置为包括第一128比特位数据DATA_0至第十一128比特位数据DATA_10,其被分散并储存在第一存储芯片至第十一存储芯片210_0、210_1、210_2、…和210_10中的相应一个中。因此,通过单次读取操作从存储介质210输出的读取数据DATA_R可以被配置为具有176个字节。

命令控制单元(CCU)220可以将从主机290输出的读取命令CMD_R传送到介质调度逻辑电路280,或者可以产生用于控制读取数据DATA_R的ECC解码操作的控制信号和伪命令。在一个实施例中,命令控制单元(CCU)220可以被配置为包括UE处理器221和伪命令发生器222。UE处理器221可以产生ECC解码的读取数据DATA_R_D并且当在正常读取操作期间在ECC解码的读取数据DATA_R_D中的所有错误被校正时将ECC解码的读取数据DATA_R_D传送给主机290。相反,当ECC解码的读取数据DATA_R_D中的所有错误未被校正时,UE处理器221可产生重试控制信号CS_RETRY或初步伪命令控制信号pre_CMD_F。

如果产生了重试控制信号CS_RETRY,则可以执行重试操作,并且如果产生了初步伪命令控制信号pre_CMD_F,则第一操作模式可以被激活。在一个实施例中,初步伪命令控制信号pre_CMD_F可以与重试控制信号CS_RETRY的第一信号一起产生。在另一实施例中,初步伪命令控制信号pre_CMD_F可以与针对根据重试控制信号CS_RETRY执行的多个重试操作之中的最终重试操作的重试控制信号一起产生。在又一个实施例中,每当产生重试控制信号CS_RETRY时,初步伪命令控制信号pre_CMD_F就可以与重试控制信号CS_RETRY一起产生。在又一个实施例中,当在正常读取操作期间传送读取命令CMD_R时,可以产生初步伪命令控制信号pre_CMD_F。可以通过介质调度逻辑电路280将重试控制信号CS_RETRY或初步伪命令控制信号pre_CMD_F传送到存储接口逻辑电路230。

当从存储介质210输出的ECC解码的读取数据DATA_R_D中的所有错误在第一操作模式下被校正时,UE处理器221可以将ECC解码的读取数据DATA_R_D传送到主机290。相反,如果从存储介质210输出的ECC解码的读取数据DATA_R_D中的所有错误在第一操作模式下未被校正,则UE处理器221可以产生伪命令控制信号CS_CMD_F。伪命令控制信号CS_CMD_F可以被输入到伪命令发生器222。伪命令发生器222可以响应于伪命令控制信号CS_CMD_F而输出伪命令CMD_F。伪命令CMD_F可以通过介质调度逻辑电路280而传送到存储接口逻辑电路230。

存储接口逻辑电路230可以控制信号的时序,并且可以在访问存储介质210的期间产生各种控制信号。在正常读取操作期间,存储接口逻辑电路230可以响应于从主机290通过命令控制单元(CCU)220和介质调度逻辑电路280传送到存储接口逻辑电路230的读取命令CMD_R来输出储存在存储介质210中的读取数据DATA_R。在重试操作期间,存储接口逻辑电路230可以响应于从命令控制单元(CCU)220通过介质调度逻辑电路280传送到存储接口逻辑电路230的重试控制信号CS_RETRY来输出储存在存储介质210中的读取数据DATA_R。在重试操作期间,存储接口逻辑电路230可以使用VDM方法来操作,该VDM方法在改变读取电压的情况下反复执行读取操作。在第一操作模式期间,存储接口逻辑电路230可以响应于从UE处理器221通过介质调度逻辑电路280向存储接口逻辑电路230传送的初步伪命令控制信号pre_CMD_F而输出储存在存储介质210中的读取数据DATA_R。在第二操作模式期间,存储接口逻辑电路230可以响应于从伪命令发生器222通过介质调度逻辑电路280传送到存储接口逻辑电路230的伪命令CMD_F来终止对存储介质210的访问。

在正常读取操作、重试操作或在第一操作模式下执行的操作期间,存储接口逻辑电路230可以将储存在存储介质210中的读取数据DATA_R传送到多路复用器270的第一输入端子。在第一操作模式下,除了多路复用器270的第一输入端子之外,存储接口逻辑电路230还可以将从存储介质210输出的读取数据DATA_R传送到循环缓冲器240。在一个实施例中,在第一操作模式下,存储接口逻辑电路230可以将存储介质210中的读取数据DATA_R同时传送到循环缓冲器240和多路复用器270的第一输入端子两者。在另一实施例中,在第一操作模式下,存储接口逻辑电路230可以在将读取数据DATA_R传送到多路复用器270之后将读取数据DATA_R传送到循环缓冲器240。

在第一操作模式下,存储接口逻辑电路230可以将第一控制信号至第三控制信号CS1、CS2和CS3输出到循环缓冲器240、循环计数器250和ECC解码器260中的每一个。在第二操作模式下,存储接口逻辑电路230可以将伪命令CMD_F以及第一控制信号至第三控制信号CS1、CS2和CS3输出到循环缓冲器240、循环计数器250和ECC解码器260中的每一个。在第二操作模式下,存储接口逻辑电路230还可以将伪命令CMD_F输出到多路复用器270的控制端子。在第二操作模式下,存储接口逻辑电路230可能不访问存储介质210。因此,在第二操作模式下,不会从存储接口逻辑电路230输出读取数据DATA_R。

在一个实施例中,第一控制信号CS1可以是具有用于指示第二操作模式的激活或非激活的二进制值的一比特位信号。在一个实施例中,当第一控制信号CS1具有逻辑“高(1)”电平时,这可能意味着第二操作模式被激活以产生伪命令CMD_F。相反,当第一控制信号CS1具有逻辑“低(0)”电平时,这可能意味着第二操作模式不被激活。第三控制信号CS3可以是具有用于指示第一操作模式的激活或非激活的二进制值的一比特位信号。在一个实施例中,当第三控制信号CS3具有逻辑“高(1)”电平时,这可能意味着第一操作模式被激活。相反,当第三控制信号CS3具有逻辑“低(0)”电平时,这可能意味着第一操作模式不被激活。

第二控制信号CS2可以是指示索引的多比特位信号。在第一操作模式下,索引可以指定循环缓冲器240的用于储存读取数据DATA_R的区域,并且可以指定在循环计数器250中复位的目标。另外,在第二操作模式下,索引可以指定其中要储存从循环缓冲器240输出的读取数据DATA_R的区域,并且可以指定具有要从循环计数器250输出的计数值COUNT_VALUE的目标。可以根据能够将读取数据DATA_R储存在循环缓冲器240中的储存区的数目来确定构成第二控制信号CS2的比特位的数目。例如,当循环缓冲器240具有能够储存读取数据DATA_R的四个储存区时,第二控制信号CS2可以是2比特位信号。

循环缓冲器240可以被配置为包括多个缓冲区(例如,第一缓冲区241至第四缓冲区244(BR_0、BR_1、BR_2和BR_3))和循环缓冲器控制器245,如图7中所示。第一缓冲区241至第四缓冲区244可以通过它们自己的索引彼此区分开。在一个实施例中,第一缓冲区241至第四缓冲区244可以分别具有索引“00”、“01”、“10”和“11”。第一缓冲区241至第四缓冲区244可以用作能够储存从存储介质210输出的读取数据DATA_R的储存空间。如参考图6所描述的,当从存储介质210输出的读取数据DATA_R由分散并储存在第一存储芯片210_0至第十一存储芯片210_10中的相应一个中的第一128比特位数据DATA_0至第十一128比特位数据DATA_10构成时,第一缓冲区241至第四缓冲区244中的每一个可以储存具有176字节的读取数据DATA_R,其由第一数据DATA_0至第十一数据DATA_10组成。因此,第一缓冲区241至第四缓冲区244中的每一个可以具有等于或大于读取数据DATA_R的量的储存容量,例如176字节。

包括在循环缓冲器240中的循环缓冲器控制器245可以控制用于将读取数据DATA_R储存到具有指定索引的缓冲区中的操作或者用于响应于输入到循环缓冲器240的伪命令CMD_F和第一控制信号CS1至第三控制信号CS3而输出储存在具有指定索引的缓冲区中的读取数据DATA_R的操作。因此,由于上述循环缓冲器控制器245的控制操作,循环缓冲器240可以仅在第一操作模式和第二操作模式下工作,而在正常读取操作和重试操作期间可能不工作。

循环缓冲器控制器245可以接收第三控制信号CS3,以辨别第一操作模式是否被激活。例如,如果将具有指示第一操作模式的逻辑电平(例如,逻辑“高(1)”电平)的第三控制信号CS3从存储接口逻辑电路230传送到循环缓冲器控制器245,则循环缓冲器控制器245可以执行用于储存读取数据DATA_R的操作。在这种情况下,可以由第二控制信号CS2来确定其中储存有读取数据DATA_R的缓冲区。例如,如果第三控制信号CS3具有逻辑“高(1)”电平并且第二控制信号CS2具有逻辑电平组合“10”,则循环缓冲器控制器245可以将操作模式视为第一操作模式,并且可以将从存储介质210通过存储接口逻辑电路230输出的读取数据DATA_R储存到循环缓冲器240的第一缓冲区241至第四缓冲区244之中的索引为“10”的第三缓冲区243中。

循环缓冲器控制器245可以接收伪命令CMD_F和第一控制信号CS1,以辨别第二操作模式是否被激活。例如,如果具有指示第二操作模式的逻辑电平(例如,逻辑“高(1)”电平)的第一控制信号CS1从存储接口逻辑电路230传送到循环缓冲器控制器245并且伪命令CMD_F从存储接口逻辑电路230传送到循环缓冲器控制器245,则循环缓冲器控制器245可以执行用于输出读取数据DATA_R的操作。在这种情况下,可以通过第二控制信号CS2来确定其中储存要输出的读取数据DATA_R的缓冲区。例如,如果利用伪命令CMD_F将具有逻辑“高(1)”电平的第一控制信号CS1和具有逻辑电平组合“10”的第二控制信号CS2输入到循环缓冲器控制器245,则循环缓冲器控制器245可以将操作模式视为第二操作模式,并且可以输出储存在循环缓冲器240的第一缓冲区241至第四缓冲区244之中的索引为“10”的第三缓冲区243中的读取数据DATA_R。

循环计数器250可以被配置为包括多个计数器(例如,第一计数器251至第四计数器254(COUNT_0、COUNT_1、COUNT_2和COUNT_3))和循环计数器控制器255,如图8中所示。第一计数器251至第四计数器254可以通过它们自己的索引彼此区分开。在一个实施例中,第一计数器251至第四计数器254可以分别具有索引“00”、“01”、“10”和“11”。第一计数器251至第四计数器254的索引可以分别对应于第一缓冲区241至第四缓冲区244的索引。因此,循环计数器250的计数器的数目可以等于循环缓冲器240的缓冲区的数目。具体地,第一计数器251可以对循环缓冲器240的第一缓冲区241执行计数操作,并且第二计数器252可以对循环缓冲器240的第二缓冲区242执行计数操作。类似地,第三计数器253可以对循环缓冲器240的第三缓冲区243执行计数操作,并且第四计数器254可以对循环缓冲器240的第四缓冲区244执行计数操作。

包括在循环计数器250中的循环计数器控制器255可以响应于输入到循环计数器250的第一控制信号至第三控制信号CS1~CS3和伪命令CMD_F来控制第一计数器251至第四计数器254之中的由第二控制信号CS2指定的计数器的计数值输出/计数操作或复位操作。由于上述循环计数器控制器255的控制操作,循环计数器250可以仅在第一操作模式和第二操作模式下工作,而在正常读取操作和重试模式下可能不工作。

循环计数器控制器255可以接收第三控制信号CS3以辨别第一操作模式是否被激活。例如,如果具有指示第一操作模式的逻辑电平(例如,逻辑“高(1)”电平)的第三控制信号CS3从存储接口逻辑电路230传送到循环计数器控制器255,则循环计数器控制器255可以执行第一计数器251至第四计数器254之中的由第二控制信号CS2的索引所指定的计数器的复位操作。通过复位操作复位的计数器的计数值COUNT_VALUE可以被初始化。例如,如果第三控制信号CS3具有逻辑“高(1)”电平并且第二控制信号CS2具有逻辑电平组合“10”,则循环计数器控制器255可以将操作模式视为第一操作,并且可以使循环计数器250的第一计数器251至第四计数器254中的具有“10”的索引的第三计数器253复位。

循环计数器控制器255可以接收伪命令CMD_F和第一控制信号CS1,以辨别第二操作模式是否被激活。例如,如果具有指示第二操作模式的逻辑电平(例如,逻辑“高(1)”电平)的第一控制信号CS1从存储接口逻辑电路230传送到循环计数器控制器255并且伪命令CMD_F从存储接口逻辑电路230传送到循环计数器控制器255,则循环计数器控制器255可以执行第一计数器251至第四计数器254之中的由第二控制信号CS2指定的计数器的计数值输出/计数操作。例如,如果利用伪命令CMD_F将具有逻辑“高(1)”电平的第一控制信号CS1和具有逻辑电平组合“10”的第二控制信号CS2输入到循环计数器控制器255,则循环计数器控制器255可以将操作模式视为第二操作模式,并且可以执行用于输出索引为“10”的第三计数器253的计数值COUNT_VALUE并用于使第三计数器253的计数值COUNT_VALUE增大1的计数操作。尽管结合通过循环计数器控制器255输出计数器的计数值COUNT_VALUE的情况描述了本实施例,但是本公开不限于此。在一些其他实施例中,计数器的计数值COUNT_VALUE可以直接从循环计数器250输出,而无需通过循环计数器控制器255传送,并且仅计数器的计数操作可以由循环计数器控制器255执行。

第一计数器251至第四计数器254中的每个的计数值COUNT_VALUE可以指示在第二操作模式下在使用擦除循环方法的ECC解码操作期间要擦除的符号。如图6中所示,从存储介质210输出的读取数据DATA_R可以由从第一存储芯片至第十一存储芯片210_0、210_1、210_2、…和210_10中的相应一个输出的第一数据至第十一数据DATA_0、DATA_1、DATA_2、…和DATA_10组成。使用针对读取数据DATA_R的擦除循环方法的ECC解码操作可以被执行与构成读取数据DATA_R的第一数据至第十一数据DATA_0、DATA_1、DATA_2、…和DATA_10的数目至少相同的次数,直到错误被校正。因此,利用改变被擦除的符号,可以顺序地执行从第一循环的ECC解码操作到第十一循环的ECC解码操作的十一个ECC解码操作。

具体地,在擦除由从第一存储芯片210_0输出的第一数据DATA_0组成的第一符号之后,可以执行第一循环的ECC解码操作。在这种情况下,从循环计数器250输出的计数值COUNT_VALUE可以具有指定要擦除的第一符号的二进制数。接下来,在擦除由从第二存储芯片210_1输出的第二数据DATA_1组成的第二符号之后,可以执行第二循环的ECC解码操作。在这种情况下,从循环计数器250输出的计数值COUNT_VALUE可以具有指定要擦除的第二符号的二进制数。类似地,在擦除由从第三存储芯片210_2输出的第三数据DATA_2组成的第三符号之后,可以执行第三循环的ECC解码操作。在这种情况下,从循环计数器250输出的计数值COUNT_VALUE可以具有指定要擦除的第三符号的二进制数。以这种方式,每当执行第四循环至第十一循环的ECC解码操作时,可以从循环计数器250输出具有指定要擦除的符号的二进制数的计数值COUNT_VALUE。

可以根据使用擦除循环方法的ECC解码操作被执行的次数来确定第一计数器251至第四计数器254的每一个的计数值COUNT_VALUE的二进制数中所包括的比特位的数目。像本实施例一样,当从第一循环的ECC解码操作到第十一个循环的ECC解码操作执行了十一次ECC解码操作时,计数值COUNT_VALUE可以由4比特位的二进制数组成,以指定要删除的所有符号。在这种情况下,计数值COUNT_VALUE“0000”可以指定由从第一存储芯片210_0输出的第一数据DATA_0组成的第一符号,并且计数值COUNT_VALUE“0001”可以指定由从第二存储芯片210_1输出的第二数据DATA_1组成的第二符号。以这种方式,计数值COUNT_VALUE“1010”可以指定由从第十一存储芯片210_10输出的第十一数据DATA_10组成的第十一符号。

尽管在附图中未示出,但是如本领域所公知的,ECC解码器260可以被配置为包括校验子算术元件、错误位置多项式算术元件、错误位置算术元件和错误校正算术元件。ECC解码器260可以执行读取数据DATA_R的ECC解码操作以校正包括在读取数据DATA_R中的错误。ECC解码器260可以从多路复用器270接收读取数据DATA_R。ECC解码器260可以将ECC解码的读取数据DATA_R_D输出到命令控制单元(CCU)220的UE处理器221。ECC解码器260可以从存储接口逻辑电路230接收伪命令CMD_F和第一控制信号CS1至第三控制信号CS3。ECC解码器260可以从循环计数器250接收计数值COUNT_VALUE。

在执行正常读取操作或重试操作或着第一操作模式被激活的情况下,ECC解码器260可以对从多路复用器270输出的读取数据DATA_R执行ECC解码操作。在这种情况下,可以使用通用RS算法系统来执行ECC解码操作。如参考图8所描述的,在正常读取操作、重试操作和第一操作模式下的某些操作期间,循环计数器250不会产生计数值COUNT_VALUE。因此,在正常读取操作,重试操作和第一操作模式下的某些操作期间,ECC解码器260可以使用通用RS算法系统仅执行ECC解码操作,而可能不使用擦除循环方法来执行ECC解码操作。在第二操作模式下,ECC解码器260可以使用擦除循环方法对从多路复用器270输出的读取数据DATA_R执行ECC解码操作。在第二操作模式下,ECC解码器260可以在擦除由从循环计数器250输出的计数值COUNT_VALUE所指定的符号之后执行ECC解码操作。可以保持在其中执行了使用擦除循环方法的ECC解码操作的第二操作模式,直到在使用擦除循环方法的ECC解码操作期间校正了读取数据DATA_R的错误或者在执行了所有循环的ECC解码操作之后读取数据DATA_R最终被视为不可校正的数据为止。

多路复用器270可以具有第一输入端子(在图5中由“0”表示)和第二输入端子(在图5中由“1”表示)。多路复用器270可以通过第一输入端子“0”从存储介质210接收读取数据DATA_R。多路复用器270可以通过第二输入端子“1”接收储存在循环缓冲器240中的读取数据DATA_R。多路复用器270可以根据输入到多路复用器270的控制端子的伪命令CMD_F的存在或不存在而将输入到第一输入端子“0”的读取数据DATA_R和输入到第二输入端子“1”的读取数据DATA_R中的一个选择性地输出到ECC解码器260。具体地,如果没有将伪命令CMD_F输入到多路复用器270的控制端子,则多路复用器270可以将输入到第一输入端子“0”的读取数据DATA_R选择性地输出到ECC解码器260。因为在第二操作模式下产生了伪命令CMD_F,所以在正常读取操作、重试操作以及在第一操作模式中执行的一些操作期间从存储介质210读出的读取数据DATA_R可以通过多路复用器270输出。相反,如果伪命令CMD_F被输入到多路复用器270的控制端子,则多路复用器270可以将输入到第二输入端子“1”的读取数据DATA_R选择性地输出到ECC解码器260。因为在第二操作模式下产生了伪命令CMD_F,所以在第二操作模式下,储存在循环缓冲器240中的读取数据DATA_R可以通过多路复用器270输出。

介质调度逻辑电路280可以从命令控制单元(CCU)220接收命令和控制信号,并且可以根据存储介质210的状态而在适当的定时将命令和控制信号传送到存储接口逻辑电路230。具体地,介质调度逻辑电路280可以将通过命令控制单元(CCU)220从主机290输出的写入命令或读取命令CMD_R传送到存储接口逻辑电路230。介质调度逻辑电路280可以将伪命令CMD_F从命令控制单元(CCU)220的伪命令发生器222传送到存储接口逻辑电路230。介质调度逻辑电路280可以将重试控制信号CS_RETRY或初步伪命令控制信号pre_CMD_F从命令控制单元(CCU)220的UE处理器221传送到存储接口逻辑电路230。

图9是示出存储系统200的正常读取操作的流程图,并且图10是示出存储系统200的正常读取操作的框图。在图10中,与图5中使用的相同的附图标记或字符表示相同的元件。参考图9和图10,如果在步骤311从主机290产生了读取命令CMD_R,则存储系统200可以执行正常读取操作。具体地,命令控制单元(CCU)220可以从主机290接收读取命令CMD_R,以通过介质调度逻辑电路280将读取命令CMD_R传送到存储接口逻辑电路230。在该过程期间,介质调度逻辑电路280可以将从主机290产生的读取命令CMD_R的形式改变为能够在存储接口逻辑电路230中处理的另一种形式。尽管在附图中未示出,但是主机290还可以利用读取命令CMD_R输出地址。

在步骤312,存储接口逻辑电路230可以响应于读取命令CMD_R来访问存储介质210。该过程可以通过访问构成存储介质210的多个存储芯片(例如,第一存储芯片210_0至第十一存储芯片210_10)来执行,如参考图6所述。具体地说,存储接口逻辑电路230可以通过多路复用器270将读取数据DATA_R从存储介质210传送到ECC解码器260。存储接口逻辑电路230可以将读取数据DATA_R输出到多路复用器270的第一输入端子“0”,并且还可以将具有逻辑“低(0)”电平的第一控制信号CS1和具有逻辑“低(0)”电平的第三控制信号CS3输出到循环缓冲器240、循环计数器250和ECC解码器260中的每一个。因为第一控制信号CS1和第三控制信号CS3二者均具有逻辑“低(0)”电平,所以循环缓冲器240和循环计数器250不工作。因为伪命令CMD_F没有被输入到多路复用器270的控制端子,所以多路复用器270可以将输入到第一输入端子“0”的读取数据DATA_R输出到ECC解码器260。

在步骤313,ECC解码器260可以对从存储介质210输出的读取数据DATA_R执行ECC解码操作。在此过程期间,可以使用通用RS算法系统来执行ECC解码操作。ECC解码器260可以执行ECC解码操作以输出ECC解码的读取数据DATA_R_D。可以将ECC解码的读取数据DATA_R_D输入到命令控制单元(CCU)220的UE处理器221。除了ECC解码的读取数据DATA_R_D之外,ECC解码器260还可以将第一控制信号CS1和第三控制信号CS3传送到UE处理器221。

在步骤314,UE处理器221可以接收ECC解码的读取数据DATA_R_D,以辨别读取数据DATA_R的错误是否被校正。如果在步骤314将ECC解码的读取数据DATA_R_D视为读取数据DATA_R的校正数据,则UE处理器221可以将ECC解码的读取数据DATA_R_D传送到主机290,并且可以终止用于从存储介质210输出读取数据DATA_R的读取操作(参见步骤315)。相反,如果在步骤314将ECC解码的读取数据DATA_R_D视为读取数据DATA_R的错误数据,则可以执行重试操作。

图11是示出存储系统200的重试操作的流程图,并且图12是示出存储系统200的重试操作的框图。在图12中,与图5中使用的相同的附图标记或字符表示相同的元件。在本实施例中,重试操作可以被限定为当读取数据DATA_R的错误未被正常读取操作校正时,以预定次数迭代地执行ECC解码操作以校正读取数据DATA_R的错误的过程。参考图11和图12,在步骤321,UE处理器221可以输出重试控制信号CS_RETRY。可以通过介质调度逻辑电路280将重试控制信号CS_RETRY传送到存储接口逻辑电路230。在步骤322,存储接口逻辑电路230可以响应于重试控制信号CS_RETRY而访问存储介质210。该过程可以与存储接口逻辑电路230响应于读取命令CMD_R而访问存储器介质210的过程相同。

存储接口逻辑电路230可以通过多路复用器270将读取数据DATA_R从存储介质210传送到ECC解码器260。具体地,存储接口逻辑电路230可以将读取数据DATA_R输出到多路复用器270的第一输入端子“0”,并且还可以将具有逻辑“低(0)”电平的第一控制信号CS1和具有逻辑“低(0)”电平的第三控制信号CS3输出到循环缓冲器240、循环计数器250和ECC解码器260中的每一个。因为像正常读取操作那样第一控制信号CS1和第三控制信号CS3二者都具有逻辑“低(0)”电平,所以循环缓冲器240和循环计数器250都不工作。因为没有将伪命令CMD_F输入到多路复用器270的控制端子,所以多路复用器270可以将输入到第一输入端子“0”的读取数据DATA_R输出到ECC解码器260。

在步骤323,ECC解码器260可以对从存储介质210输出的读取数据DATA_R执行ECC解码操作。如在正常读取操作期间执行的那样,可以使用通用RS算法系统来执行ECC解码操作。ECC解码器260可以执行ECC解码操作以输出ECC解码的读取数据DATA_R_D。可以将ECC解码的读取数据DATA_R_D输入到命令控制单元(CCU)220的UE处理器221。除了ECC解码的读取数据DATA_R_D之外,ECC解码器260还可以将第一控制信号CS1和第三控制信号CS3传送到UE处理器221。

在步骤324,UE处理器221可以接收ECC解码的读取数据DATA_R_D,以辨别读取数据DATA_R的错误是否被校正。如果在步骤324处将ECC解码的读取数据DATA_R_D视为读取数据DATA_R的校正数据,则UE处理器221可以将ECC解码的读取数据DATA_R_D传送到主机290,并且可以终止用于从存储介质210输出读取数据DATA_R的读取操作(参见步骤325)。相反,如果在步骤324将ECC解码的读取数据DATA_R_D视为读取数据DATA_R的错误数据,则在步骤326可以辨别重试操作的次数是否等于预定次数。在一个实施例中,重试操作的次数可以是预定的,并且可以根据错误校正能力而被设置为不同。例如,如果错误校正能力变大(即,在设计阶段可校正符号的数目增加),则可以将迭代执行的重试操作的次数设置为减少。相反,如果错误校正能力变小(即,在设计阶段减少了可校正符号的数目),则可以将迭代执行的重试操作的次数设置为增加。

如果在步骤326处迭代执行的重试操作的次数等于预定次数,则第一操作模式可以被激活。如果在步骤326处迭代执行的重试操作的次数小于预定次数,则在步骤327处可以调整读取电压。在一个实施例中,随着重试操作的次数增加,可以将读取电压调整为更高,以便增大错误校正的可能性。在步骤327处调整了读取电压之后,该过程可以被反馈到步骤321,以使得UE处理器221在步骤321处输出重试控制信号CS_RETRY。后续过程可以与上述那些相同。可以迭代地执行重试操作,直到在重试操作期间校正了读取数据DATA_R的错误或者迭代执行的重试操作的次数等于预定次数为止。本文中关于参数所使用的词语“预定”(诸如预定次数)意指在过程或算法中使用该参数之前已确定该参数的值。对于一些实施例,在过程或算法开始之前确定该参数的值。在其他实施例中,在过程或算法期间但在过程或算法中使用该参数之前确定该参数的值。

图13是示出在存储系统200的第一操作模式下执行的操作的流程图,并且图14是示出在存储系统200的第一操作模式下执行的操作的框图。在图14中,与图5中使用的附图标记或字符相同的附图标记或字符表示相同的元件。在本实施例中,第一操作模式可以被限定为当即使通过迭代执行的重试操作也没有校正读取数据DATA_R的错误时用于激活第二操作模式的初步过程。参考图13和图14,在步骤331处,UE处理器221可以输出初步伪命令控制信号pre_CMD_F。可以通过介质调度逻辑电路280将初步伪命令控制信号pre_CMD_F传送到存储接口逻辑电路230。在步骤332,存储接口逻辑电路230可以响应于初步伪命令控制信号pre_CMD_F而访问存储介质210。该过程可以与存储接口逻辑电路230响应于读取命令CMD_R或重试控制信号CS_RETRY来访问存储介质210的过程相同。

存储接口逻辑电路230可以通过多路复用器270将读取数据DATA_R从存储介质210传送到ECC解码器260。此外,存储接口逻辑电路230可以将读取数据DATA_R从存储介质210传送到循环缓冲器240。具体地,存储接口逻辑电路230可以将读取数据DATA_R输出到多路复用器270的第一输入端子“0”。在这种情况下,因为没有将伪命令CMD_F输入到多路复用器270的控制端子中,所以多路复用器270可以将输入到第一输入端子“0”的读取数据DATA_R输出到ECC解码器260。

存储接口逻辑电路230可以将具有逻辑“低(0)”电平的第一控制信号CS1和具有逻辑“低(0)”电平的第三控制信号CS3输出到循环缓冲器240、循环计数器250和ECC解码器260中的每一个。因为第一控制信号CS1具有逻辑“低(0)”电平,所以在步骤333处ECC解码器260可以使用通用RS算法系统执行读取数据DATA_R的ECC解码操作,如关于正常读取操作和重试操作所描述的那样。同时,因为第三控制信号CS3具有逻辑“高(1)”电平,所以在步骤334可以将读取数据DATA_R储存到循环缓冲器240中,并且可以将循环计数器250复位。尽管在图13中用两个分开的框示出了步骤333和334,但是在一些实施例中可以同时执行步骤333和334。

在下文中将更详细地描述步骤333。ECC解码器260可以对从存储介质210输出的读取数据DATA_R执行ECC解码操作。如关于正常读取操作或重试操作所描述的那样,可以使用通用RS算法系统来执行ECC解码操作。ECC解码器260可以执行ECC解码操作以输出ECC解码的读取数据DATA_R_D。可以将ECC解码的读取数据DATA_R_D输入到命令控制单元(CCU)220的UE处理器221。除了ECC解码的读取数据DATA_R_D之外,ECC解码器260还可以将第一控制信号CS1和第三控制信号CS3传送到UE处理器221。

在下文中将更详细地描述步骤334。循环缓冲器240可以接收具有逻辑电平组合“00”的第二控制信号CS2和具有逻辑“高(1)”电平的第三控制信号CS3,以储存从存储介质210输出的读取数据DATA_R。如参考图7所描述的那样,通过循环计数器250中所包括的循环计数器控制器255的控制操作,读取数据DATA_R可以被储存到具有由第二控制信号CS2指定的索引“00”的第一缓冲区241中。此外,如参考图8所描述的那样,循环计数器250可以接收具有逻辑电平组合“00”的第二控制信号CS2和具有逻辑“高(1)”电平的第三控制信号CS3,以通过循环计数器控制器255的控制操作将具有由第二控制信号CS2指定的索引“00”的第一计数器251复位。

在步骤335,UE处理器221可以接收ECC解码的读取数据DATA_R_D,以辨别读取数据DATA_R的错误是否被校正。如果在步骤335处将ECC解码的读取数据DATA_R_D视为读取数据DATA_R的校正数据,则UE处理器221可以将ECC解码的读取数据DATA_R_D传送到主机290,并且可以终止用于从存储介质210输出读取数据DATA_R的读取操作(参见步骤336)。相反,如果在步骤335处将ECC解码的读取数据DATA_R_D视为读取数据DATA_R的错误数据,则第二操作模式可以被激活。

图15是示出在存储系统200的第二操作模式下执行的操作的流程图。图16、图17和图18是示出在存储系统200的第二操作模式下执行的操作的框图,并且图19、图20和图21是示出在存储系统200的第二操作模式下利用擦除循环方法执行的ECC解码操作的示意图。在图16至图18中,与图5中使用的附图标记或字符相同的附图标记或字符表示相同的元件。在本实施例中,第二操作模式可以被限定为当通过重试操作没有校正读取数据DATA_R的错误时使用擦除循环方法来执行ECC解码操作的过程。参考图15和图16,在步骤341处,UE处理器221可以产生伪命令控制信号CS_CMD_F并将其输出到伪命令发生器222。在步骤342,伪命令发生器222可以响应伪命令控制信号CS_CMD_F而产生并输出伪命令CMD_F。可以将伪命令CMD_F通过介质调度逻辑电路280输入到存储接口逻辑电路230。

在步骤343,ECC解码器260可以使用擦除循环方法对从循环缓冲器240输出的读取数据DATA_R执行ECC解码操作。在这种情况下,可以通过从循环计数器250输出的计数值COUNT_VALUE来选择要擦除的符号。更具体地,存储接口逻辑电路230可以接收伪命令CMD_F以中断存储接口逻辑电路230对存储介质210的访问。因此,存储介质210中的读取数据DATA_R可能没有被输入到多路复用器270的第一输入端子“0”。对存储介质210的访问的中断可以保持直到第二操作模式终止为止。

存储接口逻辑电路230可以接收伪命令CMD_F以产生具有逻辑“高(1)”电平的第一控制信号CS1、具有逻辑电平组合“00”的第二控制信号CS2、以及具有逻辑“低(0)”电平的第三控制信号CS3。存储接口逻辑电路230可以将伪命令CMD_F传送到循环缓冲器240、循环计数器250、ECC解码器260和多路复用器270的控制端子中的每一个。另外,存储接口逻辑电路230可以将具有逻辑“高(1)”电平的第一控制信号CS1、具有逻辑电平组合“00”的第二控制信号CS2和具有逻辑“低(0)”电平的第三控制信号CS3输出到循环缓冲器240、循环计数器250和ECC解码器260中的每一个。

循环缓冲器240可以响应于具有逻辑“高(1)”电平的第一控制信号CS1和伪命令CMD_F而输出储存在由具有逻辑电平组合“00”的第二控制信号CS2所指定的第一缓冲区241中的读取数据DATA_R,如参考图7所描述的。循环计数器250可以输出由具有逻辑电平组合“00”的第二控制信号CS2所指定的第一计数器251的计数值(即,“0000”),如参考图8所描述的。

因为第一控制信号CS1具有逻辑“高(1)”电平,所以在步骤343处,ECC解码器260可以使用擦除循环方法对读取数据DATA_R执行ECC解码操作。在本实施例中,因为第三控制信号CS3具有逻辑“低(0)”电平,所以可能不执行循环缓冲器240的储存操作和循环计数器250的复位操作。根据步骤343的详细描述,ECC解码器260可以使用擦除循环方法对储存在循环缓冲器240中的读取数据DATA_R执行ECC解码操作。使用擦除循环方法的ECC解码操作可以被迭代地执行几个循环(例如,十一个循环)。在一个实施例中,循环的数目可以等于构成存储介质210的存储芯片的数目。

如图19中所示的,储存在循环缓冲器240的第一缓冲区241中的读取数据DATA_R可以被配置为包括第一数据DATA_0至第十一数据DATA_10。第一数据DATA_0至第十一数据DATA_10可以是从构成存储介质210的第一存储芯片至第十一存储芯片中的相应存储芯片输出的数据。第一数据DATA_0可以构成第一符号SB_0。第二数据DATA_1可以构成第二符号SB_1。第三数据DATA_2可以构成第三符号SB_2。以这种方式,第十一数据DATA_10可以构成第十一符号SB_10。第一符号SB_0至第十一符号SB_10中的每一个可以包括多个单位符号。例如,如果每个单位符号由8比特位数据组成,则第一符号SB_0至第十一符号SB_10中的每一个可以包括16个单位符号。在使用擦除循环方法的ECC解码操作期间,可以在由第一数据DATA_0组成的第一符号SB_0被擦除之后执行第一循环,所述第一数据DATA_0是从第一存储芯片输出的并被储存在循环缓冲器240中。

再次参考图16,ECC解码器260可以使用擦除循环方法来执行ECC解码操作的第一循环,以输出ECC解码的读取数据DATA_R_D。可以将ECC解码的读取数据DATA_R_D输入到命令控制单元(CCU)220的UE处理器221。除了ECC解码的读取数据DATA_R_D之外,ECC解码器260还可以将伪命令CMD_F、第一控制信号CS1至第三控制信号CS3以及计数值COUNT_VALUE传送到UE处理器221,以使得UE处理器221识别ECC解码条件。

在步骤344,UE处理器221可以接收ECC解码的读取数据DATA_R_D,以辨别读取数据DATA_R的错误是否被校正。如果在步骤344将ECC解码的读取数据DATA_R_D视为读取数据DATA_R的校正数据,则UE处理器221可以将ECC解码的读取数据DATA_R_D传送到主机290,并且可以终止用于从存储介质210输出读取数据DATA_R的读取操作(参见步骤345)。相反,如果在步骤344将ECC解码的读取数据DATA_R_D视为读取数据DATA_R的错误数据,则在步骤346可以辨别计数值COUNT_VALUE是否等于预定值。

如果在步骤346计数值COUNT_VALUE不等于预定值(即,未执行使用擦除循环方法的ECC解码操作的所有循环),则在步骤347循环计数器250可以将计数值COUNT_VALUE增加1。在本实施例中,计数值COUNT_VALUE可以是具有四个比特位的二进制流。在这种情况下,如参考图8所描述的,具有由具有逻辑电平组合“00”的第二控制信号CS2指定的索引“00”的第一计数器251的计数值COUNT_VALUE可以从二进制数“0000”增加为二进制数“0001”。如果在步骤347计数值COUNT_VALUE增加,则该过程可以被反馈到步骤341,以使得步骤341~343被再次顺序地执行。再次执行的步骤341和342可以与在第一循环中执行的步骤341和342相同。再次执行的步骤343可以与先前执行的步骤343的不同之处仅在于循环的顺序。

如图17中所示的,可以将计数值COUNT_VALUE“0001”从循环计数器250传送到ECC解码器260。因此,ECC解码器260可以使用擦除循环方法执行第二循环的ECC解码操作。如图20中所示的,可以在由第二数据DATA_1组成的第二符号SB_1被擦除之后执行第二循环,所述第二数据DATA_1是从第二存储芯片输出的并被储存在循环缓冲器240中。

随后,在步骤344处,可以将使用上述擦除循环方法的ECC解码操作从第三循环顺序地且迭代地执行到第十一循环,直到读取数据DATA_R的错误被视为被校正为止。在第十循环中,循环计数器250的计数值COUNT_VALUE可以增加以具有二进制数“1010”。如图18中所示的,在第十一循环中,可以将计数值COUNT_VALUE“1011”从循环计数器250传送到ECC解码器260。因此,ECC解码器260可以执行第十一循环的ECC解码操作。如图21中所示的,可以在由第十一数据DATA_10组成的第十一符号SB_10被擦除之后执行第十一循环,所述第十一数据DATA_10是从第十一存储芯片输出的并被储存在循环缓冲器240中。如果循环计数器250的计数值COUNT_VALUE与预定值(例如“1011”)一致,则命令控制单元(CCU)220的UE处理器221可以将错误校正程序(即,失败模式)视为最终故障状态,并且可能会终止读取数据DATA_R的读取操作。

图22是示出在存储系统200的第一操作模式/重试操作模式下执行的操作的示例的流程图。图23和图24是示出在存储系统200的第一操作模式/重试操作模式下执行的操作的示例的框图。在图23和图24中,与图5中使用附图标记或字符相同的附图标记或字符表示相同的元件。根据本实施例,当在正常读取操作之后未校正读取数据DATA_R的错误时,可以与第一操作模式下的过程一起执行第一重试操作。

首先,可以执行从图9的步骤311到步骤314所示的正常读取操作,如参考图9和图10所描述的。接下来,参考图22和图23,当在图9的步骤314处错误没有被校正时,则在步骤421处,UE处理器221可以输出重试控制信号CS_RETRY和初步伪命令控制信号pre_CMD_F。可以通过介质调度逻辑电路280将重试控制信号CS_RETRY和初步伪命令控制信号pre_CMD_F传送到存储接口逻辑电路230。在步骤422,存储接口逻辑电路230可以响应于重试控制信号CS_RETRY和初步伪命令控制信号pre_CMD_F来访问存储介质210。该过程可以与存储接口逻辑电路230响应于读取命令CMD_R来访问存储器介质210的过程相同。

存储接口逻辑电路230可以通过多路复用器270将读取数据DATA_R从存储介质210传送到ECC解码器260。具体地,存储接口逻辑电路230可以将读取数据DATA_R输出到多路复用器270的第一输入端子“0”,并且还可以将具有逻辑“低(0)”电平的第一控制信号CS1、具有逻辑电平组合“00”的第二控制信号CS2和具有逻辑“高(1)”电平的第三控制信号CS3输出到循环缓冲器240、循环计数器250和ECC解码器260中的每一个。因为伪命令CMD_F没有被输入到多路复用器270的控制端子,所以多路复用器270可以将输入到第一输入端子“0”的读取数据DATA_R传送到ECC解码器260。因为第一控制信号CS1具有逻辑“低(0)”电平,所以在步骤423处ECC解码器260可以使用通用RS算法系统来执行读取数据DATA_R的ECC解码操作,如关于正常读取操作所描述的那样。

在步骤424,可以辨别当前重试操作是否为第一重试操作。如果在步骤424处当前重试操作对应于第一重试操作,则从存储介质210输出的读取数据DATA_R可以被储存到循环缓冲器240中,并且在步骤425处,循环计数器250可以被复位。尽管在图22中用两个分开的框示出了步骤424和425,但是在一些实施例中,步骤423、424和425可以同时执行。即,由ECC解码器260执行的对从存储介质210输出的读取数据DATA_R进行解码的ECC解码操作可以与用于将从存储介质210输出的读取数据DATA_R储存到循环缓冲器240中的储存操作和用于使循环计数器250复位的复位操作同时执行。

在下文中将更详细地描述步骤423。ECC解码器260可以对从存储介质210输出的读取数据DATA_R执行ECC解码操作。如关于正常读取操作所描述的,可以使用通用RS算法系统来执行ECC解码操作。ECC解码器260可以执行ECC解码操作以输出ECC解码的读取数据DATA_R_D。可以将ECC解码的读取数据DATA_R_D输入到命令控制单元(CCU)220的UE处理器221。除了ECC解码的读取数据DATA_R_D之外,ECC解码器260还可以将第一控制信号CS1、第二控制信号CS2和第三控制信号CS3传送到UE处理器221。

在下文中将更详细地描述步骤425。循环缓冲器240可以接收具有逻辑电平组合“00”的第二控制信号CS2和具有逻辑“高(1)”电平的第三控制信号CS3,以储存从存储介质210输出的读取数据DATA_R。如参考图7所描述的,通过循环计数器250中所包括的循环计数器控制器255的控制操作,读取数据DATA_R可以被储存到具有由第二控制信号CS2所指定的索引“00”的第一缓冲区241中。此外,如参考图8所描述的,循环计数器250可以接收具有逻辑电平组合“00”的第二控制信号CS2和具有逻辑“高(1)”电平的第三控制信号CS3,以通过循环计数器控制器255的控制操作使具有由第二控制信号CS2指定的索引“00”的第一计数器251复位。

在步骤426,UE处理器221可以接收ECC解码的读取数据DATA_R_D,以辨别读取数据DATA_R的错误是否被校正。如果在步骤426将ECC解码的读取数据DATA_R_D视为读取数据DATA_R的校正数据,则UE处理器221可以将ECC解码的读取数据DATA_R_D传送到主机290,并且可以终止用于从存储介质210输出读取数据DATA_R的读取操作(参见步骤427)。相反,如果在步骤426将ECC解码的读取数据DATA_R_D视为读取数据DATA_R的错误数据,则在步骤428处可以辨别重试操作的执行次数是否等于预定次数。如果执行重试操作的次数小于预定次数(即,当前重试操作为第一重试操作),则在步骤429处可以调整读取电压。在一个实施例中,可以通过增大读取电压来执行读取电压的调整,以便增大错误校正的可能性。在步骤429处调整了读取电压之后,在步骤430处可以产生重试控制信号CS_RETRY,并且然后可以将该过程反馈到步骤422以从存储介质210输出读取数据DATA_R。

随后,可以顺序且迭代地执行步骤422至430,直到从存储介质210输出的读取数据DATA_R的错误被校正或迭代执行重试操作的次数等于预定次数为止。在这种情况下,在第一重试操作之后可以省略步骤425。具体地,如图24中所示的,在步骤422,存储接口逻辑电路230可以响应于重试控制信号CS_RETRY而访问存储介质210。存储接口逻辑电路230可以通过多路复用器270将读取数据DATA_R从存储介质210传送到ECC解码器260。具体地,存储接口逻辑电路230可以将读取数据DATA_R输出到多路复用器270的第一输入端子“0”,并且还可以将具有逻辑“低(0)”电平的第一控制信号CS1和具有逻辑“低(0)”电平的第三控制信号CS3传送到循环缓冲器240、循环计数器250和ECC解码器260中的每一个。因为伪命令CMD_F没有被输入到多路复用器270的控制端子,所以多路复用器270可以将输入到第一输入端子“0”的读取数据DATA_R传送到ECC解码器260。因为第一控制信号CS1具有逻辑“低(0)”电平,所以在步骤423处,ECC解码器260可以使用通用RS算法系统来执行读取数据DATA_R的ECC解码操作,如关于正常读取操作所述的那样。

由于在步骤424处当前重试操作为第二重试操作,所以UE处理器221可以辨别读取数据DATA_R的错误是否被校正(参见步骤426)。如果在步骤426处将ECC解码的读取数据DATA_R_D视为读取数据DATA_R的校正数据,则UE处理器221可以将ECC解码的读取数据DATA_R_D传送到主机290,并且可以终止用于从存储介质210输出读取数据DATA_R的读取操作(参见步骤427)。相反,如果在步骤426处将ECC解码的读取数据DATA_R_D视为读取数据DATA_R的错误数据,则在步骤428处可以辨别重试操作的执行次数是否等于预定次数。如果执行重试操作的次数等于预定次数,则第二操作模式可以被激活。第二操作模式的过程可以与参考图15至图21描述的相同。相反,如果迭代执行的重试操作的次数小于预定次数,则在步骤429处可以调整读取电压,并且在步骤430处可以产生重试控制信号CS_RETRY。

随着迭代地执行重试操作,读取电压可能会越来越高。这可能导致储存在存储介质210中的读取数据DATA_R的附加的错误发生。然而,根据本实施例,在执行第一次重试操作的期间,在步骤425处,从存储介质210输出的读取数据DATA_R被储存到循环缓冲器240中。因此,即使在迭代执行了预定次数的重试操作之后,由于升高的读取电压也会产生读取数据DATA_R的附加错误,所以可以在第一次重试操作期间使用储存在循环缓冲器240中的读取数据DATA_R来执行第二操作模式下的ECC解码操作。

图25是示出在存储系统200的第一操作模式/重试操作模式下执行的过程的另一示例的流程图。图26是示出在存储系统200的第一操作模式/重试操作模式下执行的过程的另一示例的框图,并且图27是示出用于在存储系统200的第一操作模式/重试操作模式下将读取数据DATA_R储存到循环缓冲器240中的程序的示意图。在图26中,与图5中使用的相同的附图标记或字符表示相同的元件。在图27中,与图7中使用的相同的附图标记或字符表示相同的元件。由于每当重复执行重试操作时读取电压都会升高,因此读取数据DATA_R的错误状态可能会改变成不同。在本实施例中,每当重复执行重试操作时,还可以激活第一操作模式以在第一操作模式下执行重试操作。因此,可以将具有不同错误状态的多组读取数据DATA_R储存到循环缓冲器240中。因此,在第二操作模式下,可以通过对具有不同错误状态的多组读取数据DATA_R执行ECC解码操作来进一步提高错误校正概率,所述不同的错误状态被储存在循环缓冲器240中。

首先,可以执行从图9的步骤311到步骤314所示的正常读取操作,如参考图9和图10所描述的。接下来,参考图25和图26,当在图9的步骤314处错误没有被校正时,在步骤521处可以设置第二控制信号CS2的初始值。在一个实施例中,如果第二控制信号CS2为2比特位的二进制流,则可以将第二控制信号CS2的初始值设置为具有二进制数“00”。在步骤522,UE处理器221可以输出重试控制信号CS_RETRY和初步伪命令控制信号pre_CMD_F。可以通过介质调度逻辑电路280将重试控制信号CS_RETRY和初步伪命令控制信号pre_CMD_F传送到存储接口逻辑电路230。在步骤523,存储接口逻辑电路230可以响应于重试控制信号CS_RETRY和初步伪命令控制信号pre_CMD_F来访问存储介质210。该过程可以与存储接口逻辑电路230响应于读取命令CMD_R来访问存储介质210的过程相同。

存储接口逻辑电路230可以通过多路复用器270将读取数据DATA_R从存储介质210传送到ECC解码器260。具体地,存储接口逻辑电路230可以将读取数据DATA_R输出到多路复用器270的第一输入端子“0”,并且还可以将具有逻辑“低(0)”电平的第一控制信号CS1、具有逻辑电平组合“00”的第二控制信号CS2和具有逻辑“高(1)”电平的第三控制信号CS3输出到循环缓冲器240、循环计数器250和ECC解码器260中的每一个。因为伪命令CMD_F没有被输入到多路复用器270的控制端子,所以多路复用器270可以将输入到第一输入端子“0”的读取数据DATA_R传送到ECC解码器260。因为第一控制信号CS1具有逻辑“低(0)”电平,所以在步骤524处ECC解码器260可以使用通用RS算法系统来执行读取数据DATA_R的ECC解码操作,如关于正常读取操作所描述的。

在步骤525,可以将从存储介质210输出的读取数据DATA_R储存到循环缓冲器240中,并且可以将循环计数器250复位。尽管在图25中用两个分开的框示出步骤524和525,但是可以同时执行步骤524和525。下文将更详细地描述步骤524。ECC解码器260可以对从存储介质210输出的读取数据DATA_R执行ECC解码操作。如关于正常读取操作所描述的,可以使用通用RS算法系统来执行ECC解码操作。ECC解码器260可以执行ECC解码操作以输出ECC解码的读取数据DATA_R_D。可以将ECC解码的读取数据DATA_R_D输入到命令控制单元(CCU)220的UE处理器221。除了ECC解码的读取数据DATA_R_D之外,ECC解码器260还可以将第一控制信号CS1、第二控制信号CS2和第三控制信号CS3传送到UE处理器221。

下文将更详细地描述步骤525。循环缓冲器240可以接收具有逻辑电平组合“00”的第二控制信号CS2和具有逻辑“高(1)”电平的第三控制信号CS3,以储存从存储介质210输出的读取数据DATA_R。如图27所示的,通过包括在循环计数器250中的循环计数器控制器255的控制操作,可以将通过第一重试操作输出的读取数据DATA_R_1R储存到具有由第二控制信号CS2指定的索引“00”的第一缓冲区241中。另外,如参考图8所述的,循环计数器250可以接收具有逻辑电平组合“00”的第二控制信号CS2和具有逻辑“高(1)”电平的第三控制信号CS3,以通过循环计数器控制器255的控制操作使具有由第二控制信号CS2指定的索引“00”的第一计数器251复位。

在步骤526,UE处理器221可以接收ECC解码的读取数据DATA_R_D,以辨别读取数据DATA_R的错误是否被校正。如果在步骤526处将ECC解码的读取数据DATA_R_D视为读取数据DATA_R的校正数据,则UE处理器221可以将ECC解码的读取数据DATA_R_D传送到主机290,并且可以终止用于从存储介质210输出读取数据DATA_R的读取操作(参见步骤527)。相反,如果在步骤526处将ECC解码的读取数据DATA_R_D视为读取数据DATA_R的错误数据,则在步骤528处可以辨别执行重试操作的次数是否等于预定次数。如果在步骤528处迭代执行的重试操作的次数等于预定次数,则第二操作模式可以被激活。第二操作模式的过程可以与参考图15至图21描述的相同。相反,如果在步骤528处执行重试操作的次数小于预定次数,则在步骤529处可以调整读取电压,并且在步骤530处可以使第二控制信号CS2增加二进制数“1”。因此,第二控制信号CS2可以从“00”改变为“01”。在第二控制信号CS2增加之后,该过程可以被反馈到步骤522以产生重试控制信号CS_RETRY和初步伪命令控制信号pre_CMD_F。

随后,可以顺序地并且迭代地执行步骤523至526。如果在步骤526处将读取数据DATA_R视为错误数据,则可以通过包括在循环计数器250中的循环计数器控制器255的控制操作将由第一操作模式的第二过程和第二重试操作输出的读取数据DATA_R_2R储存到具有由第二控制信号CS2指定的索引“01”的第二缓冲区242中,如图27中所示。另外,如参考图8所述的,循环计数器250可以接收具有逻辑电平组合“01”的第二控制信号CS2和具有逻辑“高(1)”电平的第三控制信号CS3以通过循环计数器控制器255的控制操作使具有由第二控制信号CS2指定的索引“01”的第二计数器252复位。

如果在步骤528处执行重试操作的次数小于预定次数,则可以执行包括第一操作模式的第三过程和第三重试操作的第三循环。在这种情况下,第二控制信号CS2可以从二进制数“01”改变为二进制数“10”。通过循环计数器250中包括的循环计数器控制器255的控制操作,可以将通过第一操作模式的第三过程和第三重试操作输出的读取数据DATA_R_3R储存到具有由第二控制信号CS2指定的索引“10”的第三缓冲区243中,如图27所示的。另外,如参考图8所描述的,循环计数器250可以接收具有逻辑电平组合(即,二进制数)“10”的第二控制信号CS2和具有逻辑“高(1)”逻辑电平的第三控制信号CS3,以通过循环计数器控制器255的控制操作将具有由第二控制信号CS2指定的索引“10”的第三计数器253复位。

如果在步骤528处执行重试操作的次数小于预定次数,则可以执行包括第一操作模式的第四过程和第四重试操作的第四循环。在这种情况下,第二控制信号CS2可以从二进制数“10”改变为二进制数“11”。通过循环计数器250中包括的循环计数器控制器255的控制操作,可以将通过第一操作模式的第四过程和第四重试操作输出的读取数据DATA_R_4R储存到具有由第二控制信号CS2指定的索引“11”的第四缓冲区244中,如图27所示的。另外,如参考图8所描述的,循环计数器250可以接收具有逻辑电平组合(即,二进制数)“11”的第二控制信号CS2和具有逻辑“高(1)”逻辑电平的第三控制信号CS3,以通过循环计数器控制器255的控制操作将具有由第二控制信号CS2指定的索引“11”的第四计数器254复位。

图28是示出存储系统200的正常读取操作/第一操作模式下的操作的流程图。图29是示出存储系统200的正常读取操作/第一操作模式下的操作的框图。在图29中,与图5中使用的附图标记或字符相同的附图标记或字符表示相同的元件。在本实施例中,可以省略重试操作,并且可以在正常读取操作期间执行第一操作模式的过程。因此,如果即使在执行了第一操作模式的过程和正常读取操作之后仍未校正错误,则第二操作模式可以被激活。参考图28和图29,如果在步骤611处从主机产生读取命令CMD_R,则命令控制单元(CCU)220可以通过介质调度逻辑电路280将读取命令CMD_R输出到存储接口逻辑电路230。在步骤612处,命令控制单元(CCU)220的UE处理器221可以输出初步伪命令控制信号pre_CMD_F。可以通过介质调度逻辑电路280将初步伪命令控制信号pre_CMD_F传送到存储接口逻辑电路230。在步骤613处,存储接口逻辑电路230可以响应于读取命令CMD_R和初步伪命令控制信号pre_CMD_F来访问存储介质210。

存储接口逻辑电路230可以通过多路复用器270将读取数据DATA_R从存储介质210传送到ECC解码器260。具体地,存储接口逻辑电路230可以将读取数据DATA_R输出到复用器270的第一输入端子“0”,并且还可以将具有逻辑“低(0)”电平的第一控制信号CS1、具有逻辑电平组合(即,二进制数)“00”的第二控制信号CS2、以及具有逻辑“高(1)”电平的第三控制信号CS3传送到循环缓冲器240、循环计数器250和ECC解码器260中的每一个。在这种情况下,因为没有将伪命令CMD_F输入到多路复用器270的控制端子,所以多路复用器270可以将输入到第一输入端子“0”的读取数据DATA_R输出到ECC解码器260。由于第一控制信号CS1具有逻辑“低(0)”电平,所以在步骤614处ECC解码器260可以使用通用RS算法系统执行读取数据DATA_R的ECC解码操作。

在步骤615处,可以将从存储介质210输出的读取数据DATA_R储存到循环缓冲器240中,并且可以将循环计数器250复位。尽管在图28中用两个分开的框示出步骤614和615,但是可以同时执行步骤614和615。根据步骤614的详细描述,ECC解码器260可以对从存储介质210输出的读取数据DATA_R执行ECC解码操作。如关于正常读取操作所描述的,可以使用通用RS算法系统来执行ECC解码操作。ECC解码器260可以执行ECC解码操作以输出ECC解码的读取数据DATA_R_D。可以将ECC解码的读取数据DATA_R_D输入到命令控制单元(CCU)220的UE处理器221。除了ECC解码的读取数据DATA_R_D之外,ECC解码器260还可以将第一控制信号CS1、第二控制信号CS2和第三控制信号CS3传送到UE处理器221。

在下文中将更详细地描述步骤615。循环缓冲器240可以接收具有逻辑电平组合“00”的第二控制信号CS2和具有逻辑“高(1)”电平的第三控制信号CS3,以储存从存储介质210输出的读取数据DATA_R。可以通过循环计数器250中所包括的循环计数器控制器255的控制操作,将通过正常读取操作从存储介质210输出的读取数据DATA_R储存到具有由第二控制信号CS2指定的索引“00”的第一缓冲区241中。另外,如参考图8所描述的,循环计数器250可以接收具有逻辑电平组合“00”的第二控制信号CS2和具有逻辑“高(1)”电平的第三控制信号CS3,以通过循环计数器控制器255的控制操作将具有由第二控制信号CS2指定的索引“00”的第一计数器251复位。

在步骤616处,UE处理器221可以接收ECC解码的读取数据DATA_R_D以辨别读取数据DATA_R的错误是否被校正。如果在步骤616处将ECC解码的读取数据DATA_R_D视为读取数据DATA_R的校正数据,则UE处理器221可以将ECC解码的读取数据DATA_R_D传送到主机290,并且可以终止用于从存储介质210输出读取数据DATA_R的读取操作(参见步骤617)。相反,如果在步骤616处将ECC解码的读取数据DATA_R_D视为读取数据DATA_R的错误数据,则第二操作模式可以被激活。第二操作模式的过程可以与参考图15至图21描述的相同。

出于说明性目的,以上已经公开了所公开技术的实施例。本领域普通技术人员将会认识到,各种修改、添加和替换是可能的。尽管该专利文件包含许多细节,但是这些细节不应被解释为对范围或要求保护的范围的限制,而应被解释为针对特定实施例的特征的描述。在分开的实施例的上下文中,在该专利文件中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以分别在多个实施例中或以任何合适的子组合来实现。此外,尽管以上可以将特征描述为以某些组合起作用并且甚至最初是这样要求保护的,但是在某些情况下,可以从该组合中除去所要求保护的组合中的一个或多个特征,并且可以将所要求保护的组合用于子组合或子组合的变体。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号