用于半导体存储装置的控制器及其操作方法与流程

文档序号:12719435阅读:245来源:国知局
用于半导体存储装置的控制器及其操作方法与流程

各种示例性实施例总体涉及一种电子装置,且更具体地,涉及一种用于半导体存储装置的控制器及其操作方法。



背景技术:

半导体存储装置是由诸如硅(Si)、锗(Ge)、砷化镓(GaAs)和磷化铟(Inp)的半导体材料制成的储存装置。半导体存储装置可被分类为易失性存储装置和非易失性存储装置。

当断电时,易失性存储装置通常丢失储存的数据。易失性存储装置的示例包括静态RAM(SRAM)、动态RAM(DRAM)和同步DRAM(SDRAM)。非易失性存储装置无论通电/断电状态都保留储存的数据。非易失性存储装置的示例包括只读存储器(ROM)、掩膜ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除和可编程ROM(EEPROM)、闪速存储器、相变随机访问存储器(PRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)和铁电RAM(FRAM)。闪速存储装置可根据使用的逻辑门的类型被分类为NOR型和NAND型。



技术实现要素:

各种实施例涉及用于控制半导体存储装置的操作的控制器、包括该控制器和至少一个半导体存储装置的存储系统以及该控制器的操作方法。存储系统和控制器尤其展示了改善的操作速度。在已经阅读本公开后,本发明的实施例的其它优势将对本领域技术人员变得明显。

根据一个实施例,控制器被提供用于控制包括多个页的半导体存储装置。控制器可包括:命令生成单元,其适用于生成用于选自多个页的至少一个页的第一读取命令;误差校正块,其适用于响应于第一 读取命令对储存在至少一个选择的页中的一个或多个编码字执行第一误差校正操作;以及命令镜像单元,其适用于通过对第一读取命令进行镜像来生成镜像命令。

当对一个或多个编码字中的至少一个的误差校正失败时,命令镜像单元可适用于生成第二读取命令。

控制器可适用于将第二读取命令通信至半导体存储装置,且误差校正块适用于响应于第二读取命令对一个或多个编码字中的至少一个执行误差校正操作。

第二读取命令可被输出至半导体存储装置,且当对应于第二读取命令的编码字被从半导体存储装置接收时,误差校正块可被配置为对对应于第二读取命令的编码字执行误差校正。

当对一个或多个编码字的每个的误差校正操作通过时,命令生成单元可将误差校正编码字提供至主机。

控制器可包括:主命令队列,其适用于在先进先出(FIFO)的基础上对第一读取命令进行入列和出列;镜像储存单元,其适用于储存镜像命令;以及子命令队列,其适用于在FIFO的基础上对第二读取命令进行入列和出列。

控制器可包括命令选择单元,其适用于将主命令队列的第一读取命令和子命令队列的第二读取命令中的一个提供至半导体存储装置。

当对一个或多个编码字中的每个的误差校正操作通过时,镜像储存单元中的镜像命令被取消。

第二读取命令可以是用于编码字的读取命令,其中,响应于第一读取命令的对该编码字的误差校正操作失败。

第二读取命令可以是用于选择的页的读取命令。

第二读取命令可包括用于对编码字中的至少一个或多个的一个或多个进行读取重试操作的一系列子命令,其中,响应于第一读取命令的对该编码字的误差校正操作失败。

第二读取命令可包括用于对编码字的一个或多个进行软判决(soft decision)操作的一系列子命令,其中,响应于第一读取命令的对该编码字的误差校正操作失败。

控制器可包括存储控制器单元,其适用于将第一读取命令和第二读取命令提供至半导体存储装置并从半导体存储装置接收分别对应于第一读取命令和第二读取命令的编码字。

根据另一个实施例,用于控制包括多个页的半导体存储装置的控制器的操作方法可包括生成用于选自多个页的至少一个页的第一读取命令、响应于第一读取命令对储存在选择的页中的至少一个或多个编码字执行误差校正操作以及通过对第一读取命令进行镜像来生成镜像命令。

当对编码字中的至少一个的误差校正操作失败时,第二读取命令可基于生成的镜像命令而生成。

操作方法可包括当对编码字中的每个的误差校正操作通过时将误差校正编码字提供至主机。

操作方法可进一步包括当对编码字中的每个的误差校正操作通过时取消镜像命令。

操作方法可进一步包括响应于第二读取命令对一个或多个编码字中的至少一个执行误差校正操作。

第二读取命令可以是用于编码字的读取命令,其中,响应于第一读取命令的对该编码字的第一误差校正操作失败。

第二读取命令可以是用于选择的页的读取命令。

第二读取命令可包括用于对编码字的一个或多个进行读取重试操作的一系列子命令,其中,响应于第一读取命令的对该编码字的误差校正操作失败。

第二读取命令可包括用于对至少一个或多个编码字的一个或多个进行软判决操作的一系列子命令,其中,响应于第一读取命令的对该 至少一个或多个编码字的误差校正操作失败。

根据另一个实施例,存储系统可包括具有多个页的半导体存储装置和控制半导体存储装置的控制器,其中,控制器包括:误差校正块,其适用于响应于第一读取命令对储存在选择的页中的编码字中的每个执行误差校正操作;以及命令镜像单元,其适用于通过对第一读取命令进行镜像来生成镜像命令,其中,当对编码字中的至少一个的误差校正操作失败时,命令镜像单元基于镜像命令生成第二读取命令。

附图说明

图1是说明根据一个实施例的存储系统的框图;

图2是进一步说明用于图1中所示的存储系统的半导体存储装置的框图;

图3是说明图2中所示的半导体装置的存储块中的一个的框图;

图4是说明根据一个实施例的用于半导体存储装置的控制器的操作方法的流程图;

图5是示出根据一个实施例的储存在主命令队列和镜像储存单元中的命令的简化示图;

图6是说明从选择的页中读取的页数据的误差校正的简化示图;

图7是示出储存在字命令队列中的命令的简化示图;

图8是说明根据另一个实施例的存储系统的框图;

图9是说明根据一个实施例的控制器的操作方法的流程图;

图10是说明储存在子命令队列中的子命令的简化示图;

图11是说明根据一个实施例的控制器的框图;

图12是说明根据一个实施例的存储系统的应用示例的框图;以及

图13是说明根据一个实施例的包括存储系统的计算系统的框图。

具体实施方式

在下文中,将参照附图详细地描述实施例的各种示例。附图是被提供以允许本领域普通技术人员理解本发明的本发明的示例。然而, 应该理解的是,本发明可以不同的形式被实施且不应被解释为限于在附图中提出的具体实施例。

此外,应该注意的是,如在本公开中使用的术语“被连接”或“被联接”旨在指组件被“直接电”联接至另一个组件或通过另一个组件被间接电联接。单数形式可包括复数形式,只要其未在语句中被特定提到。此外,在说明书中使用的“包括/包含”或“包括有/包含有”表示一个或多个组件、步骤、操作和元件存在或已经被添加。图1是说明根据一个实施例的存储系统的框图。图2是进一步说明用于图1中所示的存储系统的半导体存储装置的框图。图3是说明图2中所示的半导体装置的存储块中的一个的框图。

如图1中所示,提供存储系统10,存储系统包括半导体存储装置100和用于控制半导体装置的操作的控制器200。半导体存储装置100可在控制器200的控制下操作。半导体存储装置100可在控制器200的控制下编程数据、读取内部储存的数据和/或擦除内部储存的数据。在不脱离本发明的范围的情况下,其它功能还可由半导体装置在控制器200的控制下执行。

如图2中所示,半导体存储装置100可包括存储单元阵列110和用于驱动存储单元阵列110的外围电路120。存储单元阵列110可包括多个存储块BLK1-BLKz。如图3中所示,存储块中的至少一个例如存储块BLK1可包括多个页PG1-PGn。单个页可包括一个或多个存储单元(未示出)。半导体存储装置100的程序操作和读取操作可以页为单位执行。半导体存储装置100的擦除操作可以存储块为单位执行。

每个页均可包括多个数据块。根据图3中所示的示例,每个页可包括四个数据块CK1-CK4。然而,每页的数据块的数量可改变。

再次参照图2,外围电路120可在控制器200的控制下操作。

例如,在程序操作期间,外围电路120可从控制器200接收程序命令、物理块地址和数据。单个存储块和包括在其中的单个页可通过物 理块地址来选择。外围电路120可利用数据对选择的页进行编程。

在读取操作期间,外围电路120可从控制器200接收读取命令和物理块地址。单个存储块和包括在其中的单个页可通过物理块地址来选择。外围电路120可从选择的页读取数据并将读取的数据输出至控制器200。

在擦除操作期间,外围电路120可从控制器200接收擦除命令和物理块地址。单个存储块可通过物理块地址来选择。外围电路120可从对应于物理块地址的存储块擦除数据。

在读取操作期间,数据可从如图3中所示的选择的页的第一至第四数据块CK1-CK4被读取。从数据块CK1-CK4读取的数据可以是编码字。编码字可被输出至控制器200。编码字中的每个可以是由控制器200执行的误差校正码(ECC)操作的单位。

半导体存储装置100可以是非易失性存储装置。例如,半导体存储装置100可以是闪速存储装置。

控制器200可控制半导体存储装置100。控制器200可响应于来自主机(未示出)的请求访问半导体存储装置100。例如,控制器200可控制半导体存储装置100的读取操作、程序操作、擦除操作和/或后台操作。控制器200可提供半导体存储装置100和主机之间的接口。控制器200可驱动用于控制半导体存储装置100的固件。

控制器200可包括命令生成单元210、主命令队列220、命令选择单元230、存储控制单元240、误差校正块250、命令镜像单元260和镜像储存单元270。

命令生成单元210可控制控制器200的一般操作。命令生成单元210可生成命令并将生成的命令输入至主命令队列220。

根据一个实施例,当从主机接收请求时,命令生成单元210可生成对应于请求的命令并将生成的命令输入至主命令队列220。

根据一个实施例,命令生成单元210可在没有来自主机的任何请求 的情况下生成命令,并将生成的命令输入至主命令队列220。例如,命令生成单元210可生成用于诸如半导体存储装置100的耗损均衡操作和碎片收集的后台操作的命令。

根据一个实施例,命令生成单元210可作为闪速转换层。命令生成单元210可将包括在请求中的逻辑块地址转换成物理块地址。命令生成单元210可将与对应的命令相关的物理块地址储存在控制器200的RAM(未示出)中。

主命令队列220可被联接在命令生成单元210和命令选择单元230之间。主命令队列220可基于先进先出(FIFO)来操作。主命令队列220可将命令从命令生成单元210转移至命令选择单元230。

命令选择单元230可被联接至主命令队列220、命令镜像单元260和存储控制单元240。命令选择单元230可在命令镜像单元260的控制下选择主命令队列220或子命令队列265。例如,当从命令镜像单元260提供的控制信号失效时,命令选择单元230可将储存在主命令队列220中的命令输出至存储控制单元240。当从命令镜像单元260提供的控制信号被启动时,命令选择单元230可将储存在子命令队列265中的命令输出至存储控制单元240。

存储控制单元240可被联接至命令选择单元230和误差校正块250。存储控制单元240可与半导体存储装置100通信,并在命令生成单元210的控制下操作。存储控制单元240可通过将命令从命令选择单元230转移至半导体存储装置100来命令半导体存储装置100。存储控制单元240可将命令和储存在RAM中并与命令相关的物理块地址转移至半导体存储装置100。

在本公开中,用于选择的页的读取命令可表示读取命令和指示选择的页的物理块地址;用于选择的页的程序命令可表示程序命令、指示选择的页的物理块地址和待被编程的数据;以及用于选择的存储块的擦除命令可表示擦除命令和指示选择的存储块的物理块地址。

响应于用于半导体存储装置100的选择的页的读取命令,储存在选择的页的数据块的一部分或全部中的数据或编码字可被从半导体存储装置100提供。根据读取命令的对应的物理块地址,选择的页的数据块被部分地或全部地读取。数据块可通过包括在物理块地址中的列地址来选择。为便于说明,假定分别储存在选择的页的第一至第四数据块CK1-CK4中的第一至第四编码字可被提供。

存储控制单元240可将第一至第四编码字转移至误差校正块250。误差校正块250可对第一至第四编码字中的每个执行误差校正操作。误差校正块250可根据误差校正码(ECC)执行误差校正操作。根据一个实施例,误差校正块250可根据硬判决(hard-decision)误差校正码执行误差校正操作。

当对第一至第四编码字中的每个的误差校正操作成功时,误差校正块250可提供第一至第四误差校正编码字。根据一个实施例,误差校正块250可将第一至第四误差校正编码字储存在控制器200的RAM(未示出)中,且命令生成单元210可将第一至第四误差校正编码字从RAM输出至主机。

命令镜像单元260可被联接至主命令队列220和镜像储存单元270。根据一个实施例,命令镜像单元260可通过对被输入至主命令队列220的读取命令进行镜像从而生成镜像命令,并将生成的镜像命令储存在镜像储存单元270中。因此,即使当第一读取命令被出列且不保留在主命令队列220中时,如果需要,镜像命令可被提供。

根据一个实施例,当对对应编码字中的每个的误差校正操作成功时,命令镜像单元260可取消储存在镜像储存单元270中的镜像命令。

命令镜像单元260可以参照当对第一至第四编码字中的至少一个的误差校正操作失败时被储存在镜像储存单元270中的镜像命令。命令镜像单元260可基于镜像命令生成第二读取命令并将第二读取命令输入在子命令队列265中。根据一个实施例,命令镜像单元260可从误差 校正块250接收指示误差校正操作失败的警报信号。命令镜像单元260可响应于警报信号传输用于储存在镜像储存单元270中的镜像命令的请求。

根据一个实施例,命令镜像单元260可生成与镜像命令相同的第二读取命令。命令镜像单元260可将第二读取命令输入至子命令队列265并将指示与第二读取命令相关的选择的页的物理块地址储存在RAM。换言之,命令镜像单元260可基于镜像命令生成用于选择的页的第二读取命令。包括在物理块地址中的列地址可指示第一至第四数据块CK1-CK4。

根据一个实施例,命令镜像单元260可从误差校正块250接收关于编码字的编码字信息,其中,对该编码字的误差校正操作失败。误差校正块250可将编码字储存在RAM中,其中,对该编码字的误差校正操作成功。命令镜像单元260可基于镜像命令和编码字信息生成用于编码字的数据块的第二读取命令,其中,对该编码字的误差校正操作失败。命令镜像单元260可将第二读取命令输入至子命令队列265并将指示编码字的数据块的物理块地址储存在与第二读取命令相关的RAM中,其中,对该编码字的误差校正操作失败。包括在物理块地址中的行地址可指示选择的页,且包括在物理块地址中的列地址可指示编码字的数据块,其中,对该编码字的误差校正操作失败。

此外,命令镜像单元260可通过启动被转移至命令选择单元230的控制信号来控制命令选择单元230选择子命令队列265。

命令选择单元230可使被储存在子命令队列265中的第二读取命令出列并将出列的读取命令提供至存储控制单元240。存储控制单元240可将被储存在与第二读取命令相关的RAM中的第二读取命令和物理块地址转移至半导体存储装置100。

根据一个实施例,响应于用于选择的页的第二读取命令,第一至第四数据块CK1-CK4的编码字可被从半导体存储装置100提供。存储控 制单元240可将接收的编码字转移至误差校正块250,且误差校正块250可对编码字中的每个执行误差校正操作。当对编码字中的每个的误差校正操作通过时,误差校正块250可提供误差校正编码字。命令生成单元210可将误差校正编码字输出至主机。当对编码字中的至少一个的误差校正操作失败时,命令生成单元210可将读取失败信号输出至主机。

根据一个实施例,响应于用于编码字的数据块的第二读取命令,对应于数据块的编码字可被从半导体存储装置100提供,其中,对该编码字的误差校正操作失败。存储控制单元240可将接收的编码字转移至误差校正块250,且误差校正块250可对编码字执行误差校正操作。当对对应的编码字的误差校正操作通过时,误差校正块250可提供对应的误差校正编码字。

根据第二读取命令的误差校正编码字和根据第一读取命令储存在RAM中的误差校正编码字可对应于储存在选择的页中的数据。命令生成单元210可根据第一读取命令和第二读取命令将误差校正编码字输出至主机。当不管第二读取命令而对编码字的误差校正操作失败时,误差校正块250可将读取失败信号输出至主机。根据该实施例,由于较少数量的编码字从半导体存储装置100被转移至控制器200,将编码字从半导体存储装置100转移至控制器200所花费的时间可被减少。此外,由于较少数量的编码字的误差校正操作被执行,用于误差校正块250执行误差校正所花费的时间可被减少。

根据一个实施例,镜像命令可被提供。当响应于由命令生成单元210生成的第一读取命令对编码字中的每个的误差校正操作失败时,主命令队列220可不被请求以取消随后由命令生成单元210生成的命令。命令镜像单元260可基于镜像命令生成第二读取命令。此外,对应于第二读取命令的编码字可被获得。只有保留在主命令队列220中的命令被出列中断,对选择的页的读取操作可基于镜像命令来执行。

假定镜像命令未被提供,命令生成单元210可生成第一读取命令且 随后继续将各种类型的命令入列至主命令队列220。当对应于第一读取命令的编码字中的每个的误差校正失败时,主命令队列220中的其余命令可被取消中止。当被入列至主命令队列220的命令未被中止且在未将对应于第一读取命令的响应提供至主机的情况下基于先进先出来处理时,主机的操作速度可被减小。当对应于第一读取命令的编码字的误差校正失败时,命令生成单元210可取消或中止被入列至主命令队列220的命令且将识别选择的页的数据(例如,第二读取命令)的命令入列至主命令队列220。然而,这些操作可降低控制器200的操作速度。

根据一个实施例,第一读取命令可在半导体存储装置100响应于第一读取命令操作之前被镜像。当响应于第一读取命令的误差校正操作失败时,第二读取命令可基于镜像命令生成。因此,储存在选择的页中的数据可响应于第二读取命令被再次读取同时在不取消的情况下将入列的命令保持在主命令队列220中。因此,具有改善的操作速度的控制器200和存储系统10可被提供。

图4是说明根据一个实施例的控制器200的操作方法的流程图。

参照图1至图4,在步骤S110中,用于选择的页的第一读取命令可被生成。第一读取命令可被入列至主命令队列220。

在步骤S120中,镜像命令可通过对第一读取命令进行镜像来生成。镜像命令可被储存在镜像储存单元270中。

在步骤S130中,读取操作可响应于第一读取命令来执行且选择的页的编码字可从半导体存储装置100被提供。储存在主命令队列220中的第一读取命令可被命令选择单元230出列并通过存储控制单元240被提供至半导体存储装置100。半导体存储装置100可响应于第一读取命令提供储存在选择的页的数据块中的编码字。

在步骤S140中,误差校正操作可对接收的编码字中的每个执行。

根据一个实施例,各种误差校正编码可被使用。误差校正编码的示例可包括博斯-乔德里-霍昆格姆(BCH)编码、里德-所罗门编码、 汉明编码和低密度奇偶校验检查(LDPC)编码。

在步骤S150中,可确定对至少一个编码字的误差校正操作是否失败。当对编码字中的每个的误差校正操作通过时,选择的页的编码字(即,误差校正编码字)可在S190中被输出至主机。

在步骤S160中,当对至少一个编码字的误差校正操作失败时,第二读取命令可基于镜像命令来生成。储存在主命令队列220中的命令可被出列中断。储存在主命令队列220中的命令可在基于镜像命令的误差校正被完成后被出列。

根据一个实施例,第二读取命令可以是用于选择的页的读取命令。

根据另一个实施例,第二读取命令可以是用于编码字的数据块的读取命令,其中,对该编码字的误差校正操作失败。响应于第一读取命令的对该编码字或多个编码字的误差校正通过,编码字或多个编码字可被内部地储存在控制器200中。根据该实施例,将编码字从半导体存储装置100转移至控制器200所花费的时间可被减少。此外,因为读取操作的重试响应于仅针对响应于第一读取命令误差校正操作失败的编码字的第二读取命令来执行,对选择的页的读取操作的重试所花费的时间可被减少。

第二读取命令可被入列至子命令队列265。

在步骤S170中,读取操作可响应于用于选择的页的对应的编码字的第二读取命令来执行,其中,响应于第一读取命令的对该选择的页的对应的编码字的误差校正操作失败,且选择的页的对应的编码字可从半导体存储装置100被提供。命令选择单元230可从子命令队列265出列第二读取命令。第二读取命令可被命令选择单元230出列并通过存储控制单元240被提供至半导体存储装置100。半导体存储装置100可响应于第二读取命令提供选择的页的对应的编码字。

根据一个实施例,当第二读取命令为用于选择的页的读取命令时,编码字可从选择的页的图3中所示的第一至第四数据块CK1-CK4中读 取。根据另一个实施例,当第二读取命令为用于响应于第一读取命令误差校正操作失败的编码字的读取命令时,对应的编码字可被从选择的页的选择的数据块中读取。

在步骤S180中,误差校正操作可对对应的编码字中的每个执行。此外,在步骤S190中,选择的页的对应的编码字可被输出至主机。尽管未示出,但当不管第二读取命令而对对应的编码字中的至少一个的误差校正操作失败时,命令生成单元210可将读取失败信号输出至主机。

根据一个实施例,第一读取命令可在半导体存储装置100响应于第一读取命令操作之前被镜像。当响应于第一读取命令的误差校正操作失败时,第二读取命令可基于镜像命令而生成。因此,储存在选择的页中的数据可响应于第二读取命令被再次读取同时将入列的命令保持在主命令队列220中而不取消。因此,具有改善的操作速度的控制器200和存储系统10可被提供。

图5是说明储存在图1中所示的主命令队列220和镜像储存单元270中的命令的视图。

参照图5,主命令队列220可将多个命令RCMD1和CMD1-CMDp储存在首地址HA和尾地址TA之间。例如,命令生成单元210可生成第一读取命令RCMD1,第一读取命令RCMD1之后是第一至第p命令CMD1-CMDp。第一至第p命令CMD1-CMDp可以是各种类型的命令。第一至第p命令CMD1-CMDp中的每个可以是程序命令、读取命令和擦除命令中的任何一个。

首地址HA可指示主命令队列220的第一命令CMD1。尾地址TA可指示主命令队列220的最后命令CMDp。主命令队列220可基于FIFO操作。多个命令RCMD1和CMD1-CMDp可由命令生成单元210来生成,且命令RCMD1和CMD1-CMDp可根据命令被输入的顺序被储存在主命令队列220中。当新命令被输入至主命令队列220时,尾地址TA可指 新命令。主命令队列220的首地址HA指示的命令可以首先被输出。

储存在主命令队列220中的读取命令可被镜像至镜像储存单元270。在图5中,第一读取命令RCMD1可被储存在主命令队列220的首地址HA中。第一读取命令RCMD1可被镜像并储存为镜像储存单元270中的镜像命令MCMD。

当读取命令存在于第一至第p命令CMD1-CMDp中时,对应的读取命令可以与第一读取命令RCMD1相同的方式被镜像。

图6是说明对读取的页数据PD的误差校正操作的视图。

参照图1和图6,当对应于图5中所示的第一读取命令RCMD1的页数据PD从半导体存储装置100中被读取时,页数据PD可包括第一至第四编码字CW1-CW4。选择的页可包括图3中所示的第一至第四数据块CK1-CK4。第一至第四编码字CW1-CW4可分别从第一至第四数据块CK1-CK4中读取。

误差校正块250可以编码字为单位执行误差校正操作。换言之,误差校正块250可对第一至第四编码字CW1-CW4中的每个执行误差校正操作。当误差校正操作成功时,误差校正编码字可被生成。图6说明作为对第一编码字CW1、第二编码字CW2和第四编码字CW4的误差校正操作的结果的第一误差校正编码字CCW1、第二误差校正编码字CCW2和第四误差校正编码字CCW4。相反地,图6示例性说明具有剖面线的第三编码字CW3,其中,对该第三编码字CW3的误差校正操作失败。

误差校正块250可将第一误差校正编码字CCW1、第二误差校正编码字CCW2和第四误差校正编码字CCW4储存在控制器200的RAM(未示出)中。此外,误差校正块250可将指示第三编码字CW3的信息提供至命令镜像单元260。因此,命令镜像单元260可基于镜像命令和关于第三编码字CW3的编码字信息生成用于第三数据块CK3的第二读取命令。命令镜像单元260可将生成的第二读取命令入列至子命令队列265。

图7是储存在子命令队列265中的命令(RCMD2)的视图。

参照图7,子命令队列265可将第二读取命令RCMD2储存在首地址HA和尾地址TA之间。当子命令队列265储存单个读取命令时,首地址HA和尾地址TA可指示相同的命令。

命令选择单元230可在命令镜像单元260的控制下执行来自子命令队列265的出列操作。命令选择单元230可将第二读取命令RCMD2转移至存储控制单元240。存储控制单元240可通过将第二读取命令RCMD2提供至半导体存储装置100来获取对应的编码字,其中,响应于原始读取命令RCMD1的对该对应的编码字的误差校正操作失败。

图8是说明根据另一个实施例的存储系统1000的框图。除了模板储存单元580,存储系统1000可与参照图1至图7所述的存储系统10相似。

参照图8,存储系统1000可包括半导体存储装置400和控制器500。

控制器500可包括命令生成单元510、主命令队列520、命令选择单元530、存储控制单元540、误差校正块550、命令镜像单元560、镜像储存单元570和模板储存单元580。

误差校正块550可响应于用于选择的页的第一读取命令执行对第一至第四编码字中的每个的误差校正操作。

根据一个实施例,当对第一至第四编码字中的至少一个的误差校正操作失败时,命令镜像单元560可基于镜像命令生成多个子命令并将多个子命令储存至子命令队列365。多个子命令可对应于参照图1至图7所述的第二读取命令。

根据一个实施例,命令镜像单元560可基于镜像命令和读取重试模板(RRT)生成用于对选择的页的读取重试操作的多个子命令。选择的页可由镜像命令指定。读取重试模板RRT可包括关于用于读取重试操作的一系列命令的信息。

根据一个实施例,命令镜像单元560可从误差校正块550接收指示编码字的编码字信息,其中,响应于第一读取命令的对该编码字的误差校正操作失败。命令镜像单元560可通过额外参照编码字信息生成用 于对编码字的数据块的读取重试操作的多个子命令,其中,响应于第一读取命令的对该编码字的误差校正操作失败。

根据一个实施例,命令镜像单元560可基于镜像命令和软判决模板(SDT)生成用于对选择的页的进行软判决操作的多个子命令。软判决模板SDT可包括关于用于软判决操作的一系列命令的信息。在该实施例中,误差校正块550可执行基于软判决的误差校正操作。

根据一个实施例,命令镜像单元560可从误差校正块550接收指示编码字的编码字信息,其中,响应于第一读取命令的对该编码字的误差校正操作失败。命令镜像单元560可通过额外参照编码字信息生成用于对编码字的数据块的进行软判决操作的多个子命令,其中,响应于第一读取命令的对该编码字的误差校正操作失败。

图9是说明根据另一个实施例的控制器500的操作方法的流程图。

参照图8和图9,步骤S210-S250和S300可以与参照图4所述的步骤S110-S150和S190相似的方法执行。

在步骤S260中,当对至少一个编码字的误差校正操作失败时,多个子命令可基于镜像命令生成。生成的子命令可被入列至子命令队列565。被储存在主命令队列520中的命令可被出列中断。被储存在主命令队列520中的命令可在基于镜像命令的误差校正被完成后被出列。

根据一个实施例,命令镜像单元560可基于镜像命令和读取重试模板RRT生成包括用于选择的页的参数设定命令和读取命令的子命令。参数设定命令可包括关于在读取操作期间被应用至选择的页的字线的读取电压的信息。当参数设定命令被提供至半导体存储装置400时,半导体存储装置400中的外围电路120可根据参数设定命令重置读取电压。当用于选择的页的参数设定命令和读取命令被顺序地提供至半导体存储装置400时,读取电压可被重置,且选择的页的数据可根据重置读取电压被读取。在步骤S280中,误差校正块550可通过例如对读取数据的硬判决操作执行误差校正操作。

在另一个示例中,命令镜像单元560可基于镜像命令和读取重试模板RRT生成包括用于选择的页的多个参数设定命令和读取命令的子命令。当用于选择的页的参数设定命令和读取命令被提供至半导体存储装置400时,重置读取电压和根据重置的读取电压从选择的页读取数据可被重复。每当数据被读取时,误差校正块550可通过例如对读取数据的硬判决操作执行误差校正操作。当误差校正通过时,保留在子命令队列565中的子命令可被取消。

根据一个实施例,命令镜像单元560可额外参照从误差校正块550提供的编码字信息。命令镜像单元560可生成包括用于编码字的数据块的参数设定命令和读取命令的子命令,其中,响应于第一读取命令的对该编码字的误差校正操作失败。与读取命令相关的物理块地址可指示编码字的数据块,其中,响应于第一读取命令的对该编码字的误差校正操作失败。由于用于编码字的数据块的读取命令而不是用于选择的页的读取命令被提供,其中,响应于第一读取命令的对该编码字的误差校正操作失败,将编码字从半导体存储装置400转移至控制器500所花费的时间可被减少。此外,因为读取操作的重试响应于仅针对响应于第一读取命令误差校正操作失败的编码字的子命令来执行,对选择的页的读取操作的重试所花费的时间可被减少。

在另一个示例中,命令镜像单元560可基于镜像命令和软判决模板SDT生成包括用于编码字的数据块的多个参数设定命令和多个读取命令的子命令,其中,响应于第一读取命令的对该编码字的误差校正操作失败。重置读取电压和根据重置的读取电压读取选择的页的数据的多个操作可响应于被提供至半导体存储装置400的用于选择的页的参数设定命令和读取命令来执行。在步骤S280中,误差校正块550可执行对选择的页的数据的基于软判决的误差校正操作。

根据一个实施例,除镜像命令和软判决模板SDT,命令镜像单元560可额外参照从误差校正块550提供的编码字信息。命令镜像单元560 可生成包括用于编码字的数据块的多个参数设定命令和多个读取命令的子命令,其中,响应于第一读取命令的对该编码字的误差校正操作失败。对应于每个读取命令中的物理块地址可指编码字的数据块,其中,响应于第一读取命令的对该编码字的误差校正操作失败。由于用于编码字的数据块的读取命令而不是用于选择的页的读取命令被提供,其中,响应于第一读取命令的对该编码字的误差校正操作失败,半导体存储装置400和控制器500之间的通信时间可被减少。此外,因为读取操作的重试响应于仅针对响应于第一读取命令误差校正操作失败的编码字的子命令来执行,对选择的页的读取操作的重试所花费的时间可被减少。

除上述外,命令镜像单元560可基于镜像命令通过各种方法生成子命令。

步骤S270-S320可响应于包括用于具有一个或多个读取电压的读取重试操作或基于软判决的误差校正操作的一个或多个参数设定命令和读取命令的子命令队列565的一个或多个子命令被重复。

在步骤S270中,读取操作可响应于用于对应的编码字的子命令队列565的至少一个子命令来执行,其中,响应于第一读取命令的对该对应的编码字的误差校正操作失败,且选择的页的对应的编码字可从半导体存储装置400被提供。命令选择单元530可从子命令队列565出列子命令。子命令可被命令选择单元530出列并通过存储控制单元540被提供至半导体存储装置400。当提供的子命令是读取命令时,半导体存储装置400可响应于提供的子命令提供选择的页的对应的编码字。

在步骤S280中,误差校正可响应于包括用于具有一个或多个读取电压的读取重试操作或基于软判决的误差校正操作的一个或多个参数设定命令和读取命令的子命令队列565的子命令对对应的编码字执行。

在步骤S290中,可确定对至少一个编码字的步骤S280的误差校正操作是否失败。

当对编码字中的每个的步骤S280的误差校正操作通过时,选择的页的对应的编码字(即,误差校正编码字)可在步骤S300中被输出至主机。

在步骤S310中,可确定子命令是否保留在子命令队列565中。如果是,步骤S270可被再次执行。如果否,步骤S320可被执行。

在步骤S320中,读取失败信号可被输出至主机。

根据另一个实施例,步骤S270-S320可响应于包括用于具有一个或多个读取电压的读取重试操作和然后在读取重试操作之后的具有一个或多个读取电压的基于软判决的误差校正操作的参数设定命令和读取命令的子命令队列565的子命令被重复。

图10是被储存在子命令队列565中的子命令SCMD1-SCMDq的视图。

参照图10,基于镜像命令生成的多个子命令SCMD1-SCMDq可被储存在子命令队列565的首地址HA和尾地址TA之间。根据一个实施例,多个子命令SCMD1-SCMDq可以是用于读取重试操作的命令。根据另一个实施例,多个子命令SCMD1-SCMDq可以是用于软判决操作的命令。

首地址HA可指示子命令队列565的第一子命令SCMD1。尾地址TA可指示子命令队列565的最后子命令SCMDq。子命令队列565可基于FIFO操作。在出列操作期间,由首地址HA指示的子命令SCMD1可被出列。在入列操作期间,子命令SCMDq可被入列至尾地址TA。

命令选择单元530可在命令镜像单元560的控制下对子命令队列565执行出列操作。命令选择单元530可使由首地址HA指示的子命令SCMD1出列并将由首地址HA指示的子命令SCMD1转移至存储控制单元540。存储控制单元540可将出列的子命令SCMD1提供至半导体存储装置400。

根据一个实施例,第一读取命令可在半导体存储装置100响应于第 一读取命令操作之前被镜像。当响应于第一读取命令的误差校正操作失败时,多个子命令可基于镜像命令生成。因此,储存在选择的页中的数据可响应于多个子命令被再次读取同时将入列的命令保持在主命令队列220中而不取消。因此,具有改善的操作速度的控制器5200和存储系统1000可被提供。

图11是说明图1中所示的控制器200或图8中所示的控制器500的一个实施例(1200)的框图。

参照图11,控制器1200可包括随机访问存储器(RAM)1210、处理单元1220、主机接口1230、存储接口1240和误差校正块1250。

处理单元1220可控制控制器1200的一般操作。RAM1210可被用作处理单元1220的操作存储器、如图1中所示的半导体存储装置100或如图8中所示的半导体存储装置400和主机之间的缓存存储器以及半导体存储装置100或半导体存储装置400和主机之间的缓冲存储器中的至少一个。处理单元1220和RAM1210可用作如图1中所示的命令生成单元210和命令镜像单元260以及如图8中所示的命令生成单元510和命令镜像单元560。例如,处理单元1220可将程序命令、数据文件和数据结构加载至RAM1210并执行加载的数据以用作命令生成单元210和510以及命令镜像单元260和560。在另一个示例中,处理单元1220和RAM1210可用作图1中所示的命令生成单元210和图8中所示的命令生成单元510。此外,命令镜像单元260和560可被提供作为单独的硬件模块。

根据一个实施例,主命令队列220和520、子命令队列265和565、镜像储存单元270和570以及模板储存单元580可被提供作为包括在RAM1210中的组件。

主机接口1230可包括用于主机和控制器1200之间的数据交换的协议。根据一个实施例,控制器1200可适用于执行与主机的接口连接。例如,控制器1200可通过诸如下列的各种协议中的至少一个与主机通 信:USB(通用串行总线)协议、MMC(多媒体卡)协议、PCI(外围组件互连)协议、PCI-E(PCI-高速)协议、ATA(高级技术附件)协议、串行-ATA协议、并行-ATA协议、SCSI(小型计算机小型接口)协议、ESDI(增强型小型磁盘接口)协议、IDE(集成驱动电子)协议和私有协议。

存储接口1240可执行与半导体存储装置100和400的接口连接。存储接口1240可用作命令选择单元530和存储控制单元540。

误差校正块1250可通过使用误差校正编码对从半导体存储装置100或400接收的数据进行解码。误差校正块1250可用作图1中所示的误差校正块250和图8中所示的误差校正块550。

图12是说明图1中所示的存储系统10的应用示例(2000)的框图。

参照图12,存储系统2000可包括半导体存储装置2100和控制器2200。半导体存储装置2100可包括多个半导体存储芯片。多个半导体存储芯片可被分为多个组。

图12说明多个组分别通过第一至第k通道CH1-CHk与控制器2200通信。每个半导体存储芯片可以与上面参照图1和图2所述的半导体存储装置100大体相同的方式被配置和操作。

每组可被配置为通过单个共同通道与控制器2200通信。控制器2200可以与上面参照图1所述的控制器200大体相同的方式被配置,且可通过多个通道CH1-CHk控制半导体存储装置2100的多个存储芯片。在另一个示例中,主命令队列220、命令选择单元230、存储控制单元240、误差校正块250、命令镜像单元260和镜像储存单元270可形成单个控制组。控制器2200可包括分别对应于多个通道CH1-CHk的多个控制组。命令生成单元210可交错生成的命令并将交错的命令入列至每个控制组的主命令队列220。

图12说明被联接至单个通道的多个半导体存储芯片。然而,存储系统2000可被修改使得单个存储芯片可被联接至单个通道。

控制器2200和半导体存储装置2100可被集成在单个半导体装置中。根据一个实施例,控制器2200和半导体存储装置2100可被集成在单个半导体装置中以形成存储卡。例如,控制器2200和半导体存储装置2100可被集成在单个半导体装置中以形成PC卡(个人计算机存储卡国际协会(PCMCIA))、标准闪存(CF)卡、智能媒体卡(SM或SMC)、记忆棒、多媒体卡(MMC、RS-MMC或微型MMC)、SD卡(SD、小型SD、微型SD或SDHC)或通用闪速储存装置(UFS)。

控制器2200和半导体存储装置2100可被集成在单个半导体装置中以形成固态驱动器(SSD)。当存储系统2000被用作半导体驱动器(SSD)时,被联接至存储系统2000的主机的操作速率可被显著增加。

在另一个示例中,存储系统2000可以是计算机、UMPC(超便携移动PC)、工作站、上网本、PDA(个人数字助理)、便携式计算机、网络平板、无线手机、移动手机、智能手机、电子书、PMP(便携式多媒体播放器)、便携式游戏机、导航装置、黑匣子、数码相机、三维电视、数字音频记录器、数字音频播放器、数字图像记录器、数字图像播放器、数字视频记录器、数字视频播放器、用于无线地发送和接收信息的装置、配置家庭网络的各种电子装置中的至少一个、配置于计算机网络的各种电子装置中的至少一个、配置远程信息处理网络的各种电子装置中的至少一个和RFID装置。

根据一个实施例,半导体存储装置2100或存储系统2000可使用各种类型的封装来安装。例如,半导体存储装置2100或存储系统2000可使用诸如以下的封装来安装:堆叠式封装(PoP)、球栅阵列(BGA)、芯片尺寸封装(CSP)、塑料引线芯片载体(PLCC)、塑料双列直插式封装(PDIP)、叠片包装式管芯、晶片形式的管芯、板上芯片(COB)、陶瓷双列直插式封装(CERDIP)、塑料公制四方扁平封装(MQFP)、薄型四方扁平封装(TQFP)、小外形集成电路(SOIC)、收缩型小外形封装(SSOP)、薄型小外形封装(TSOP)、系统级封装(SIP)、多 芯片封装(MCP)、晶片级焊接封装(WFP)、晶片级处理堆栈封装(WSP)等。

图13是说明包括上面参照图12所述的存储系统2000的计算系统3000的框图。

参照图13,计算系统3000可包括中央处理单元3100、随机访问存储器(RAM)3200、用户接口3300、电源供应部3400、系统总线3500和存储系统2000。

存储系统2000可通过系统总线3500被电连接至中央处理单元3100、RAM3200、用户接口3300和电源供应部3400。通过用户接口3300提供的数据或由中央处理单元3100处理的数据可被储存在存储系统2000中。

图13说明半导体存储装置2100通过控制器2200被联接至系统总线3500。然而,半导体存储装置2100可被直接联接至系统总线3500。控制器2200的功能可由中央处理单元3100和RAM3200执行。

图13说明上面参照图12所述的存储系统2000被提供。然而,存储系统2000可用上面参照图1所述的存储系统10来替换。根据一个实施例,计算系统3000可包括上面参照图1所述的存储系统10和图12所述的存储系统2000。

根据一个实施例,读取命令可在读取命令被转移至半导体存储装置之前被镜像。因此,当误差校正失败时,镜像命令可被提供。因此,具有改善的操作速度的存储系统可被提供。

根据一个实施例,具有改善的操作速度的控制器和其操作方法可被提供。

将对本领域技术人员显而易见的是,在不脱离本发明的精神或范围的情况下,可对本发明的上述示例性实施例做出各种变型。因此,本发明旨在覆盖提供的进入权利要求和它们的等价方案的范围内的所有这种变型。

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