控制半导体存储器件的控制器及其操作方法与流程

文档序号:12368859阅读:197来源:国知局
控制半导体存储器件的控制器及其操作方法与流程

各种实施例总体而言涉及一种电子器件,更具体地,涉及一种控制半导体存储器件的控制器及其操作方法。



背景技术:

半导体存储器件由诸如硅(Si)、锗(Ge)、砷化镓(GaAs)及磷化铟(InP)的半导体材料制成。半导体存储器件分为易失性存储器件和非易失性存储器件。

易失性存储器件在断电时丢失储存的数据。易失性存储器件的示例包含静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)和同步动态随机存取存储器(SDRAM)。不管为上电状态还是断电状态,非易失性存储器件都保留储存的数据。非易失性存储器件的示例包含只读存储器(ROM)、掩膜只读存储器(MROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、快闪存储器、相变随机存取存储器(PRAM)、磁性随机存取存储器(MRAM)、电阻式随机存取存储器(RRAM)以及铁电式随机存取存储器(FRAM)。快闪存储器分为NOR型存储器和NAND型存储器。

半导体存储器件控制器可以在主机的请求下产生命令,并执行产生的命令。控制器可以包含用来储存命令的命令队列。命令队列可以被限定在诸如RAM的存储器单元中。储存于命令队列中的命令可以顺序地输出至该半导体存储器件。



技术实现要素:

实施例针对一种具有改善的操作时间的控制器及其操作方法。

根据一个实施例,一种用于控制半导体存储器件的操作方法可以包括:将多个读取命令储存在基于先进先出法来管理的命令队列中;将所述多个读取命令中的一个提供给半导体存储器件;基于响应于提供的读取命令而从半导体存储器件提供的读取数据来判断提供的读取命令通过还是失败;以及当提供的读取数据命令通过时,中止命令队列中的剩余的读取命令。

半导体存储器件可以包含多个页,且所述多个读取命令可以用于识别所述多个页之一中储存的数据的命令。

判断可以包括:对读取数据执行ECC解码,且当ECC解码通过时,提供的读取命令可以通过。

该操作方法还可以包括:当提供的读取命令失败时,用剩余的读取命令来重复提供和判断。

该操作方法还可以包括:产生用来改变半导体存储器件的设定值的多个参数设定命令,所述多个参数设定命令与所述多个读取命令一起储存在命令队列中;以及将所述多个参数设定命令中的一个提供给半导体存储器件。

该中止可以包括:当提供的读取命令通过时,中止命令队列中的剩余的参数设定命令。

该设定值可以对应于在半导体存储器件的读取操作期间施加至半导体存储器件的字线的电压。

命令队列可以包含从头地址至尾地址的存储空间,以及所述多个读取命令可以被储存在头地址与尾地址之间的从开始地址至结束地址的存储空间中。

该中止可以包括:当提供的读取命令通过时,产生阴影指针,该阴影指针指向与剩余的读取命令中的第一个相对应的地址;以及擦除由该阴影指针所指向的剩余读取命令,同时将该阴影指针从当前的地址移动至下一个地址,直到该阴影指针指向结束地址为止。

该中止可以包括:顺序地停止开始地址与结束地址之间的剩余读取命令。

该中止可以擦除命令队列中的储存在开始地址与结束地址之间的存储空间中的剩余读取命令。

当对读取数据中包含的一个或多个码字的ECC解码失败时,该判断可以判断提供的读取命令是否失败。

可以对响应于先前提供的读取命令而先前从半导体存储器件提供的读取数据中ECC解码失败的一个或多个码字执行ECC解码。

根据另一实施例,一种控制半导体存储器件的控制器可以包括:命令队列,基于先进先出法来管理;命令发生单元,适用于将多个读取命令储存在命令队列中;存储器控制单元,适用于:将所述多个读取命令中的一个提供给半导体存储器件;以及基于响应于提供的读取命令而从半导体存储器件提供来判断提供的读取命令通过还是失败;以及命令管理单元,适用于当提供的数据通过时中止剩余的读取命令。

该半导体存储器件可以包含多个页,以及所述多个读取命令可以用于识别储存在所述多个页之一中的数据。

该存储器控制单元可以包括:数据缓冲器,适用于储存响应于提供的读取命令而从半导体存储器件提供的读取数据;错误校正块,适用于以单个码字为单位来对读取数据执行ECC解码;解码状态表,适用于储存对包含于读取数据中的每个码字的ECC解码的通过或失败信息;多路复用块,适用于以单个码字为单位将读取数据从数据缓冲器提供至错误校正块;以及存储器控制器,适用于:通过查阅解码状态表来控制多路复用块以将响应于先前提供的读取命令先前从半导体存储器件提供的读取数据中ECC解码失败的一个或多个码字提供给错误校正块;以及根据ECC解码的结果,更新储存在解码状态表中的失败信息。

当对读取数据中包含的一个或多个码字的ECC解码失败时,该存储器控制单元确定提供的读取命令失败。

根据一个实施例,一种用于控制包含多个页的半导体存储器件的操作方法可以包括:将用于识别选中页中的数据的多个命令储存在基于先进先出法来管理的命令队列中;将所述多个命令中的一个提供给半导体器件;当提供的读取命令失败时,重复提供剩余的读取命令;以及当提供的读取命令通过时,中止剩余的读取命令

附图说明

图1为图示根据一个实施例的存储系统的框图。

图2为图示图1中所示的半导体存储器件的框图。

图3为图示图2中所示的存储单元阵列的框图。

图4为图示根据一个实施例的图1中所示的控制器的框图。

图5为图示根据一个实施例的控制器的操作方法的流程图。

图6为图示命令队列的概念图。

图7为图示图5中所示的步骤S150的一个实施例的流程图。

图8为图示图7中所示的实施例的概念图。

图9为图示图5中所示的步骤S150的另一实施例的流程图。

图10为图9中所示的实施例的概念图。

图11为图示根据另一实施例的图1中所示的控制器的框图。

图12为图示图11中所示的第一命令队列和第二命令队列的概念图。

图13为图示图4和图11中所示的存储器控制单元的示图。

图14为图示包含于读取数据中的码字的概念图。

图15为图示图13中所示的解码状态表的概念图。

图16为图示图4和图11中所示的控制器的实施例的框图。

图17为图示图1中所示的存储系统的应用示例的框图。

具体实施方式

在下文中,将参照附图来详细描述各种实施例。附图被提供以允许本领域技术人员理解本发明的实施例的范围。然而,本发明可以以不同形式体现,且不应被解释为局限于所阐述的实施例。相反地,这些实施例被提供使得本公开将是彻底且完整的。此外,实施例被提供以将本发明的范围充分地传达给本领域技术人员。

贯穿本公开,附图标记直接对应于本发明的各种附图和实施例中相同编号的部件。亦注意到,在本说明书中,“连接/耦接”表示一个组件不仅直接耦接到另一组件,而且也表示通过中间组件而间接耦接到另一组件。此外,只要未说明,则单数形态可以包含复数形态,反之亦然。

图1为图示根据一个实施例的存储系统50的框图。

参照图1,存储系统50可以包含半导体存储器件100和控制器200。

半导体存储器件100可以通过控制器200来控制。半导体存储器件100可以包含存储单元阵列110和驱动该存储单元阵列110的外围电路120。存储单元阵列110可以包含多个非易失性存储单元。

外围电路120可以通过控制器200来控制。在控制器200的控制下,外围电路120可以将数据编程至存储单元阵列110中、从存储单元阵列110读取数据以及从存储单元阵列110擦除数据。

根据一个实施例,半导体存储器件100的读取操作和编程操作可以以页为单位来执 行。半导体存储器件100的擦除操作可以以存储块为单位来执行。

在编程操作期间,外围电路120可以从控制器20接收指示编程操作的命令、物理地址和写入数据。单个存储块以及包含于其中的单个页可以通过物理地址来指定。外围电路120可以将写入数据编程至对应的页中。

在读取操作期间,外围电路120可以从控制器200接收指示该读取操作的命令(在下文中为读取命令)以及物理地址。单个存储块以及包含于其中的单个页可以通过该物理地址来指定。外围电路120可以从对应的页读取数据,并将读取的数据(在下文中为读取数据)输出至控制器200。

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

根据一个实施例,半导体存储器件100可以为快闪存储器件。

控制器200可以控制半导体存储器件100的常规操作。控制器200可以在主机的请求下访问半导体存储器件100。例如,控制器1200可以控制半导体存储器件100的读取操作、编程操作、擦除操作和/或后台操作(background operation)。控制器200可以提供半导体存储器件100与主机之间的接口。控制器200可以驱动用于控制半导体存储器件100的固件。

当主机传送读取请求时,为了识别对应于该读取请求的页中的数据,控制器200可以将读取命令提供给半导体存储器件100。控制器200可以将包含于该读取请求中的逻辑块地址转换为物理块地址。根据一个实施例,控制器200可以当作闪存转换层(FTL,flash translation layer)。控制器200可以将产生的物理地址与该读取命令一起提供给半导体存储器件100。

响应各个读取命令,半导体存储器件100可以将读取数据传送至控制器200。控制器200可以判断在该读取数据中是否包含有错误。例如,控制器200可以根据错误校正码来对该读取数据解码。可以使用各种错误校正码,诸如BCH码(Bose Chaudhuri Hocquenghem code)、汉明码(Hamming code)、里德-所罗门码(Reed Solomon code)、低密度奇偶校验码(LDPC code,low density parity check code)。例如,当读取数据包含多于预定数量的错误位时,解码可以失败。当读取数据包含等于或少于该预定数量的错误位时,解码可以成功。

解码成功可以意指对应的读取命令通过,而解码失败可以意指对应的读取命令失 败。当解码成功时,控制器200可以将错误校正过的读取数据输出给主机。当解码失败时,控制器200可以重新传送读取命令至半导体存储器件100。

图2为图示参照图1而描述的半导体存储器件100的框图。图3为图2中所示的存储单元阵列110的框图。

参照图2,半导体存储器件100可以包含存储单元阵列110和外围电路120。

存储单元阵列110可以包含多个存储单元。所述多个存储单元可以通过行线RL而耦接到地址解码器121,以及通过位线BL而耦接到读写电路123。

参照图3,存储单元阵列110可以包含多个存储块BLK1至BLKz。第一存储块BLK1至第z存储块BLKz可以共同耦接到第一位线BL1至第m位线BLm。第一位线BL1至第m位线BLm可以形成图2中所示的位线BL。存储块BLK1至BLKz中的每个可以形成擦除单元。

在图3中,图示了包含于存储块BLK1至BLKz的一个存储块(BLK1)中的元件,以及为了清楚而省略包含于剩余的存储块BLK2至BLKz中的元件。剩余的存储块BLK2至BLKz中的每个可以以与第一存储块BLK1基本上相同的方式来配置。

存储块BLK1可以包含多个单元串CS1至CSm。第一单元串CS1至第m单元串CSm可以分别耦接到第一位线BL1至第m位线BLm。

单元串CS1至CSm中的每个可以包含漏极选择晶体管DST、串联耦接的多个存储单元MC1至MCn以及源极选择晶体管SST。漏极选择晶体管DST可以耦接到漏极选择线DSL1。第一存储单元MC1至第n存储单元MCn可以分别耦接到第一字线WL1至第n字线WLn。源极选择晶体管SST可以耦接到源极选择线SSL1。漏极选择晶体管DST的漏极端可以耦接到对应的位线。源极选择晶体管SST的源极端可以耦接到参考电压节点。根据一个实施例,源极选择晶体管SST的源极端可以耦接到公共源极线(未示出)。该公共源极线可以被偏置至参考电压。

第一单元串CS1至第m单元串CSm中的耦接到单个字线的存储单元可以形成单个页pg。因此,存储块BLK1可以包含多个页。

漏极选择线DSL1、第一字线WL1至第n字线WLn以及源极选择线SSL1可以被包含于图2中所示的行线RL中。漏极选择线DSL1、第一字线WL1至第n字线WLn以及源极选择线SSL1可以通过地址解码器121来控制。第一位线BL1至第m位线BLm可以通过读写电路123来控制。

再次参照图2,外围电路120可以包含地址解码器121、电压发生器122、读写电路123、输入/输出缓冲器124以及控制逻辑125。

地址解码器121可以通过行线RL而耦接到存储单元阵列110。地址解码器121可以通过控制逻辑125来控制。地址解码器121可以通过控制逻辑125来接收物理地址PA。

半导体存储器件100的读取操作可以以页为单位(见图3中的引用符号pg)来执行。在读取操作期间所接收的物理地址PA可以包含块地址和行地址。

地址解码器121可以对接收的物理地址PA中的块地址解码。地址解码器121可以根据解码的块地址来选择存储块BLK1至BLKz中的一个。

地址解码器121可以对接收的物理地址PA中的行地址解码,并选择选中存储块中的一个字线。因此,单个页可以被选中。地址解码器121可以将来自电压发生器122的读取电压施加至选中字线,并将来自电压发生器122的通过电压施加至未选中字线。

电压发生器122可以通过控制逻辑125来控制。电压发生器122可以通过使用被提供给半导体存储器件100的外部电源电压来产生内部电源电压。例如,电压发生器122可以通过调节外部电源电压来产生内部电源电压。内部电源电压可以被提供至地址解码器121、读写电路123、输入/输出缓冲器124以及控制逻辑125,并被用作半导体存储器件100的操作电压。

电压发生器122可以通过使用外部电源电压和内部电源电压中的至少一种来产生多个电压。根据一个实施例,电压发生器122可以包含接收内部电源电压的多个泵电容,并通过在控制逻辑125的控制下选择性地激活多个泵电容来产生多个电压。例如,在读取操作期间,电压发生器122可以产生读取电压以及具有比该读取电压高的电压电平的通过电压。产生的电压可以被提供给地址解码器121。

读写电路123可以通过位线BL而耦接到存储单元阵列110。读写电路123可以通过控制逻辑125来控制。

在读取操作期间,读写电路123可以读取并储存来自存储单元阵列110的选中字线的页的读取数据DATA。读取数据DATA可以通过数据线DL而被传送至输入/输出缓冲器124。

输入/输出缓冲器124可以通过数据线DL而耦接到读写电路123。输入/输出缓冲器124可以通过控制逻辑125来控制。输入/输出缓冲器124可以将通过数据线DL而从读写电路123传送来的读取数据DATA向外部输出。

控制逻辑125可以控制半导体存储器件100的常规操作。控制逻辑125可以接收命令CMD和物理地址PA。在读取操作期间,命令CMD可以为读取命令。在编程操作期间,命令CMD可以指示该编程操作。在擦除操作期间,命令CMD可以指示该擦除操作。控制逻辑125可以响应于接收到的命令CMD来控制地址解码器121、电压发生器122、读写电路123以及输入/输出缓冲器124。

用来改变半导体存储器件100的设定值的参数设定命令可以被接收作为命令CMD。例如,参数设定命令可以包含用来改变读取电压的信息。控制逻辑125可以响应于参数设定命令来控制电压发生器122以改变读取电压。例如,参数设定命令可以包含用来改变通过电压的信息。

在每个页中包含的存储单元的阈值电压分布可以因为各种原因而改变。众所周知的是,选中字线的数据通过控制读取电压而被识别为不同的读取数据。换言之,通过施加不适当的读取电压,许多错误位可以被包含于读取数据中。通过控制读取电压,可以减少读取数据中包含的错误位。当读取命令由于通过执行读取命令而获得的读取数据中包含许多错误位而失败时,图1中所示的控制器200可以通过将参数设定命令提供给半导体存储器件100来控制读取电压,并通过再次传送读取命令来再次接收对应的页的读取数据。

图4为根据一个实施例的参照图1而描述的控制器200的框图。

参照图4,控制器200可以包含存储器单元210、命令发生单元220、存储器控制单元230和命令管理单元240。

存储器单元210可以耦接到命令发生单元220、存储器控制单元230和命令管理单元240。在控制器200中,存储器单元210可以提供储存空间。在存储器单元210中,可以定义命令队列CQ和状态信息队列SQ。命令队列CQ和状态信息队列SQ两者都可以使用先进先出法(first-in first-out basis)来管理。命令队列CQ和状态信息队列SQ中的每个可以包含头地址HA和尾地址TA。

命令发生单元220可以耦接到存储器单元210和命令管理单元240。命令发生单元220可以通过命令管理单元240来控制。响应来自主机的请求,命令发生单元220可以在命令管理单元240的控制下产生对应于该请求的命令。

根据一个实施例,命令发生单元220可以当作闪存转换层(FTL)。命令发生单元220可以将来自主机的请求中包含的逻辑块地址转换为物理块地址。当对应的命令被储存于命令队列CQ中时,命令发生单元220可以将产生的物理地址与对应的命令一起储存在 存储器单元210中。储存在存储器单元210中的物理地址可以通过存储器控制单元230而与对应的命令一起被传送至半导体存储器件100。

根据一个实施例,命令发生单元220可以产生用于识别与读取请求相对应的页(在下文中为选中页)的数据的多个命令,并将产生的命令储存在命令队列CQ中,命令队列CQ被限定在存储器单元210中。根据一个实施例,命令发生单元220可以重复产生读取命令和参数设定命令,并将产生的读取命令和参数设定命令输入至命令队列CQ中。

根据一个实施例,命令发生单元220可以响应于读取请求而产生用于识别选中页的数据的多个命令。产生的命令可以被顺序地提供给半导体存储器件100。

根据一个实施例,命令发生单元220可以响应于读取请求而首先产生单个读取命令。该读取命令和对应的物理地址可以被提供给半导体存储器件100。来自半导体存储器件100的读取数据可以被接收。当对读取数据的解码失败时,命令发生单元220可以在命令管理单元240的控制下产生用于识别选中页中的数据的多个命令。

存储器控制单元230可以耦接到存储单元210和命令管理单元240。存储器控制单元230可以包含ECC块235。存储器控制单元230可以通过命令管理单元240来控制。

存储器控制单元230可以在命令管理单元240的控制下从命令队列CQ输出命令,并将输出的命令提供给半导体存储器件100。

当读取命令RCMD从命令队列CQ输出时,半导体存储器件100可以接收读取命令RCMD。半导体存储器件100可以响应于读取命令RCMD而将读取的数据提供给控制器200。读取数据可以包含储存于单个页中的数据位。存储器控制单元230的ECC块235可以通过错误校正码而对读取数据解码以校正读取数据中的错误。当解码成功或读取命令RCMD通过时,存储器控制单元230可以将指示读取命令RCMD通过的状态信息储存在信息队列SQ中,状态信息队列SQ被限定在存储器单元210中。当解码失败或该读取命令RCMD失败时,存储器控制单元230可以将指示读取命令RCMD失败的状态信息储存在状态信息队列SQ中。

在读取命令RCMD被输出之后,当参数设定命令PST从命令队列CQ输出时,半导体存储器件100可以改变内部设定值。

下一个读取命令RCMD可以基于先进先出法而从命令队列CQ输出。存储器控制单元230可以将下一个读取命令RCMD提供给半导体存储器件100。半导体存储器件100可以响应于下一个读取命令RCMD而将第二读取命令提供给控制器200。根据一个实施例,第二读取命令可以被暂时地储存于存储器控制单元230中或存储器单元210中。存 储器控制单元230的ECC块235可以通过错误校正码而对读取数据解码。根据解码结果,存储器控制单元230可以将第二状态信息储存在状态信息队列SQ中。

通过上述方式,控制器200可以将命令队列CQ中储存的读取命令和参数设定命令顺序地提供给半导体存储器件100、接收对应的读取数据以及对接收到的读取数据解码。指示读取数据是否被成功解码或者对应的读取命令通过还是失败的信息可以作为状态信息而被储存在状态信息队列SQ中。

命令管理单元240可以控制存储器单元210、命令发生单元220和存储器控制单元230。命令管理单元240可以响应于来自主机的读取请求而控制命令发生单元220来产生多个命令。命令管理单元240可以控制存储器控制单元230来将储存在命令队列CQ中的命令传送至半导体存储器件100。

命令管理单元240可以参照状态信息队列SQ中储存的状态信息来管理命令队列CQ。命令队列CQ的开始地址和结束地址可以指示用于识别选中页中的数据的命令在命令队列CQ中的位置。开始地址和结束地址可以被限定在命令队列CQ的头地址HA与尾地址TA之间。

命令发生单元220可以将开始地址和结束地址提供给命令管理单元240。命令管理单元240可以识别开始地址和结束地址。

当从状态信息队列SQ输出的状态信息指示读取命令RCMD通过时,命令管理单元240可以将错误校正过的读取数据从存储器控制单元230输出给主机。根据一个实施例,当多个读取命令中的一个通过时,命令管理单元240可以中止剩余在命令队列CQ中的剩余的读取命令和剩余的参数设定命令,或者中止基于先进先出法而接着通过的读取命令的剩余读取命令和剩余参数设定命令。

当从状态信息队列SQ输出的状态信息指示读取命令RCMD失败时,命令管理单元240可以判断下一个读取命令RCMD是否通过。命令管理单元240可以基于从状态信息队列SQ输出的下一个状态信息来判断下一个读取命令RCMD是否通过。作为判断的结果,命令管理单元240可以中止剩余在命令队列CQ中的剩余的读取命令和剩余的参数设定命令。例如,当下一个读取命令RCMD通过时,可以中止基于先进先出法而接着该下一个读取命令RCMD的读取命令和参数设定命令。

不同于本发明,假设命令发生单元220产生单个读取命令来识别选中页的数据,并根据该读取命令是否失败来产生其它命令,例如参数设定命令和另一个读取命令。当对应的读取命令失败时,命令发生单元220产生参数设定命令和下一个读取命令以再次识 别选中页的数据。因此,命令发生单元220需要停止当前正被执行的操作。例如,命令管理单元240可以将中断信号传送给命令发生单元220,且命令发生单元220可以响应于该中断信号而终止当前执行的操作。因此,可以增大命令发生单元220和控制器200的操作时间。当另一个命令(例如编程命令)已经输入至命令队列CQ时,命令发生单元220可以在命令队列CQ中搜索另一个命令(例如该编程命令)。随后,命令发生单元220可以中止搜索的命令,或者将用于识别选中页的数据的另一个命令添加至在搜索的命令的地址之前的地址。因此,可以增大命令发生单元220和控制器200的操作时间。

根据本发明的一个实施例,命令发生单元220可以产生用于识别选中页的数据的多个命令,并将产生的命令储存在命令队列CQ中。当从命令队列CQ输出的读取命令中的一个通过时,可以中止命令队列CQ中剩余的命令,或者可以中止基于先进先出法而接着通过的读取命令的命令。与取消同时,命令发生单元220可以执行其他操作。因此,可以改善命令发生单元220和控制器200的操作时间。

图5为图示根据一个实施例的控制器200的操作方法的流程图。

参照图4和图5,在步骤S110处,可以产生多个读取命令及多个参数设定命令。读取命令和参数设定命令可以用于识别选中页的数据。当对第一读取数据的解码失败时,命令发生单元220可以在命令管理单元240的控制下产生用于识别选中页的数据的读取命令和参数设定命令。在步骤S120处,产生的命令可以被储存在命令队列CQ中。

在步骤S130处,当读取命令和参数设定命令被顺序提供给半导体存储器件100时,可以判断读取命令中的每个是否通过。

当读取命令RCMD被提供给半导体存储器件100时,存储器控制单元230可以从半导体存储器件100接收与读取命令RCMD相对应的读取数据。存储器控制单元230可以对读取数据解码,并将关于读取数据是否被成功解码的信息作为第一状态信息而储存在状态信息队列SQ中。当参数设定命令被提供给半导体存储器件100时,半导体存储器件100可以改变内部设定值。当下一个读取命令RCMD被提供给半导体存储器件100时,存储器控制单元230可以从半导体存储器件100接收与下一个读取命令RCMD相对应的读取数据。存储器控制单元230可以对对应的读取数据解码,并将关于对应的读取数据是否被成功解码的信息作为第二状态信息储存在状态信息队列SQ中。第一状态信息和第二状态信息基于先进先出法而储存在状态信息队列SQ中。

命令管理单元240可以监控状态信息队列SQ。命令管理单元240可以检查状态信息队列SQ,并判断每个读取命令是否通过。

存储器控制单元230(其将读取命令和参数设定命令传送至半导体存储器件100,并将状态信息储存在状态信息队列SQ中)和命令管理单元240(其检查状态信息队列SQ,并判断每个命令是否通过)可以并行地执行这些操作。

在步骤S140处,当读取命令中的一个通过时,可以执行步骤S150。当读取命令全部失败(在步骤S140中为“否”)时,其可以意指在步骤S110处产生的命令全部都被提供给半导体存储器件100,且不管所有的读取命令和参数设定命令,对选中页的数据的识别都失败。

在步骤S150处,可以中止命令队列CQ中剩余的读取命令和剩余的设定命令,或者可以中止基于先进先出法而接着通过的读取命令的读取命令和参数设定命令。

图6为图示命令队列CQ的概念图。

参考图6,命令队列CQ可以在头地址HA与尾地址TA之间储存命令。头地址HA可以指示命令队列CQ中的第一命令CMD1的位置。命令队列CQ的最后命令CMDq可以通过尾地址TA来指定。命令队列CQ可以基于先进先出法来管理。头地址HA的命令可以首先被输入至命令队列CQ,并输出至半导体存储器件100。尾地址TA的命令可以最后被输入至命令队列CQ,并输出至半导体存储器件100。

通过命令发生单元220产生的命令CMD1至CMDp、RCMD1至RCMDx、PST1至PSTy以及CMDp+1至CMDq可以按照输入至命令队列CQ的顺序来储存在命令队列CQ中。储存在命令队列CQ中的命令可以具有命令队列CQ中的它们自己的地址。

例如,当第一命令CMD1至第p命令CMDp顺序地储存在命令队列CQ中时,命令发生单元220可以产生用于识别选中页的数据的第一读取命令RCMD1至第x读取命令RCMDx以及第一参数设定命令PST1至第y参数设定命令PSTy。产生的读取命令RCMD1至RCMDx以及参数设定命令PST1至PSTy可以按照输入至命令队列CQ的顺序来储存在命令队列CQ中。读取命令RCMD1至RCMDx以及参数设定命令PST1至PSTy可以顺序地储存在命令队列CQ的开始地址SA与命令队列CQ的结束地址EA之间。命令发生单元220可以将命令队列CQ的开始地址SA和命令队列CQ的结束地址EA通知给命令管理单元240。因此,命令管理单元240可以知道用于识别选中页的数据的命令位于命令队列CQ的开始地址SA与命令队列CQ的结束地址之间。

图6图示了交替地布置在命令队列CQ中的读取命令和参数设定命令。在图6中,第一读取命令RCMD1、第一参数设定命令PST1、第二读取命令RCMD2、第二参数设定命令PST2……第y参数设定命令PSTy以及第x读取命令RCMDx可以被顺序地布置 在命令队列CQ中。然而,这仅为示例。又例如,命令发生单元220可以在命令队列CQ中布置不同数量和次序的读取命令和参数设定命令。换言之,在命令队列CQ中,读取命令和参数设定命令可以根据命令发生单元220的实施方法和ECC块235的实施方法来布置。

在读取命令RCMD1至RCMDx以及参数设定命令PST1至PSTy被储存在命令队列CQ中之后,命令发生单元220可以产生其他命令CMDp+1至CMDq。产生的第p+1命令CMDp+1至第q命令CMDq可以从结束地址EA开始以顺序的方式储存在命令队列CQ中。

第一命令CMD1至第p命令CMDp以及第p+1命令CMDp+1至第q命令CMDq可以不是用于识别选中页的数据的命令。在此条件下,命令CMD1至CMDq可以不被限制。例如,命令CMD1至CMDq中的每个可以为用于编程操作、擦除操作以及响应于另一读取请求的其他读取操作的命令中的一个。

储存在命令队列CQ中的所有命令可以基于先进先出法来输出。例如,存储器控制单元230可以从头地址HA顺序地增大操作指针(operation pointer)OP,并输出由操作指针OP所指向的命令。在第一命令CMD1至第p命令CMDp输出之后,可以输出用于识别选中页的数据的命令RCMD1至RCMDx以及PST1至PSTy。

图6图示了指向第一读取命令RCMD1的操作指针OP。第一读取命令RCMD1可以被输出。当第一读取命令RCMD1被提供给半导体存储器件100时,半导体存储器件100可以将与第一读取命令RCMD1相对应的第一读取数据传送至控制器200。

第一参数设定命令PST1可以被输出。半导体存储器件100可以响应于第一参数设定命令PST1而改变内部设定值。随后,第二读取命令RCMD2可以被输出。当第二读取命令RCMD2被提供给半导体存储器件100时,半导体存储器件100可以将与第二读取命令RCMD2相对应的第二读取数据传送至控制器200。

可以根据第一读取数据来判断第一读取命令RCMD1是否通过。可以对第一读取数据解码。状态信息可以被储存在状态信息队列SQ中,该状态信息指示第一读取数据是否被成功解码。基于该状态信息,可以判断第一读取命令RCMD1是否通过。当第一读取命令RCMD1通过时,命令管理单元240可以中止开始地址SA与结束地址EA之间的命令RCMD1至RCMDx以及PST1至PSTy之中剩余的命令。例如,当该第二读取命令RCMD2被输出,且检测到第一读取命令RCMD1通过时,可以中止开始地址SA与结束地址EA之间的接着第一读取命令RCMD1的剩余命令RCMD3至RCMDx以及PST2至PSTy。

图7为图示参照图5而描述的步骤S150的一个实施例的流程图。

参照图4、图6和图7,在步骤S310处,当检测到命令队列CQ中的读取命令中的一个通过时,命令管理单元240可以在开始地址SA与结束地址EA之间定义阴影指针SP。例如,命令管理单元240可以向存储器控制单元230询问操作指针OP的位置,并将该操作指针OP定义为阴影指针SP。此意指命令队列CQ将剩余的读取命令和剩余的参数设定命令储存在由阴影指针SP所指示的地址与结束地址EA之间。也即,在命令队列CQ中,基于先进先出法而接着通过的读取命令的读取命令和参数设定命令可以被储存在由阴影指针SP所指示的地址与结束地址EA之间。

在步骤S320处,命令管理单元240可以擦除由阴影指针SP所指示的地址的命令。在步骤S330处,命令管理单元240可以将阴影指针SP移动至命令队列CQ中的下一个地址。在步骤S340处,当阴影指针SP指示结束地址EA时,命令管理单元240可以中止结束地址EA的命令,并停止取消剩余的读取命令和剩余的参数设定命令。当阴影指针SP尚未指示结束地址EA时,可以重复步骤S320至S340。换言之,可以重复步骤S320至S340,直到阴影指针SP指示结束地址EA为止。根据另一实施例,可以在步骤S320之前执行步骤S330。

图8为图7中所示的一个实施例的概念图。

参照图8,第一命令CMD1至第p命令CMDp可以首先被输出。存储器控制单元230可以输出由操作指针OP所指向的命令,同时将操作指针OP从头地址HA顺序地移动至下一个地址。图8用阴影线图示了被输出的命令。

存储器控制单元230可以输出第一读取命令RCMD1、第一参数设定命令PST1和第二读取命令RCMD2,同时将操作指针OP移动至下一个地址。

当检测到命令队列CQ中的读取命令中的一个通过时,可以在开始地址SA与结束地址EA之间定义阴影指针SP。命令管理单元240可以向存储器控制单元230询问操作指针OP的位置,并定义阴影指针SP,使得阴影指针SP可以指向操作指针OP的地址。图8图示为操作指针OP指向第二读取命令RCMD2的地址。随后,命令管理单元240可以重复擦除由阴影指针SP所指示的地址的命令,并将阴影指针SP移动至下一个地址,直到阴影指针SP指示结束地址EA为止。命令管理单元240可以控制存储器单元210来擦除储存在由阴影指针SP所指示的地址处的命令。因此,可以中止命令队列CQ中剩余的读取命令RCMD3至RCMDx以及剩余的参数设定命令PST2至PSTy。

根据一个实施例,可以不从命令队列CQ输出剩余的命令,且可以中止剩余的读取 命令和剩余的参数设定命令。因此,可以更迅速地中止剩余的命令。

图9为图示参照图5而描述的步骤S150的另一实施例的流程图。

参照图4、图6和图7,在步骤S410处,当检测到命令队列CQ中的读取命令中的一个通过时,命令管理单元240可以从命令队列CQ顺序地输出开始地址SA与结束地址EA之间的基于先进先出法而接着通过的读取命令的剩余读取命令。由于命令队列CQ基于先进先出法来操作,因此可以从命令队列CQ擦除被输出的命令。

在步骤S420处,命令管理单元240可以终止被输出的命令。

图10为图9中所示的实施例的概念图。

参照图10,第一命令CMD1至第p命令CMDp可以被输出。图10将被输出的命令图示为阴影线。操作指针OP可以到达开始地址SA。

随后,存储器控制单元230可以输出第一读取命令RCMD1、第一参数设定命令PST1以及第二读取命令RCMD2,同时将操作指针OP从开始地址SA移动至下一个地址。

例如,当第一读取命令RCMD1或第二读取命令RCMD2通过时,命令管理单元240可以向存储器控制单元230询问来确定操作指针OP的位置,并将开始地址SA与结束地址EA之间的基于先进先出法而接着通过的第一读取命令RCMD1或第二读取命令RCMD2的剩余命令顺序地输出,同时将操作指针OP移动至命令队列CQ中的下一个地址。图10示例性地图示了操作指针OP指向第二读取命令RCMD2。由操作指针OP指示的地址的命令可以通过命令管理单元240来顺序地输出。随后,可以终止基于先进先出法而接着通过的读取命令且通过操作指针OP来指示的被输出的命令。命令管理单元240可以终止被顺序地输出的读取命令。换言之,可以忽略基于先进先出法而接着通过的读取命令的被顺序地输出的读取命令。因此,可以中止命令队列CQ中的剩余的读取命令和剩余的参数设定命令。

根据一个实施例,甚至当基于先进先出法而接着通过的读取命令的剩余读取命令和剩余参数设定命令被中止时,也可以从命令队列CQ输出剩余的命令,而不需要参照图7和图8而描述的命令队列CQ中的取消过程。因此,可以简化命令管理单元240的设计。

图11为图示根据另一实施例的图1中所示的控制器200的框图。图2为图11中所示的第一命令队列CQ1和第二命令队列CQ2的概念图。

参照图11和图12,控制器300可以包含存储器单元310、命令发生单元220、存储器控制单元230和命令管理单元240。

存储器单元310可以包含第一命令队列CQ1、第二命令队列CQ2和状态信息队列SQ。第一命令队列CQ1可以包含第一头地址HA1和第一尾地址TA1。第二命令队列CQ2可以包含第二头地址HA2和第二尾地址TA2。存储器单元310可以将用于识别选中页中的数据的多个命令RCMD1至RCMDx以及PST1至PSTy储存在第一命令队列CQ1中。命令发生单元220可以将其他命令CMD1至CMDq储存在第二命令队列CQ2中。

命令发生单元220可以将与来自主机的请求相对应的命令储存在第二命令队列CQ2中。储存在第二命令队列CQ2中的命令CMD1至CMDq可以从第二头地址HA2顺序地输出,且被提供给半导体存储器件100。

例如,当操作指针OP指示第p命令CMDp时,第p命令CMDp可以对应于与来自主机的读取请求相对应的命令。第p命令CMDp以及指示选中页的物理地址可以被提供给半导体存储器件100。半导体存储器件100可以将对应的读取数据传送至控制器300。存储器控制单元230可以对该读取数据解码,并将关于该读取数据是否被成功解码的信息储存在状态信息队列SQ中。当作为检查状态信息队列SQ的结果而第p命令CMDp被确定为失败时,命令管理单元240可以控制命令发生单元220来产生用于识别选中页的数据的命令RCMD1至RCMDx以及PST1至PSTy,并将产生的命令RCMD1至RCMDx以及PST1至PSTy输入至单独的命令队列CQ1。

然后,操作指针OP可以被锁定至第二命令队列CQ2中的当前地址,且可以基于先进先出法来输出第一命令队列CQ1中的命令RCMD1至RCMDx以及PST1至PSTy。

根据此实施例,用于识别选中页的数据的命令RCMD1至RCMDx以及PST1至PSTy可以被储存在第一命令队列CQ1中。当从第一命令队列CQ1输出的读取命令中的一个通过时,可以为了取消而从第一命令队列CQ1擦除基于先进先出法而接着通过的读取命令的剩余读取命令和剩余参数设定命令。可以为了取消而初始化第一命令队列CQ1。由于用于识别选中页中的数据的命令RCMD1至RCMDx以及PST1至PSTy储存在第一命令队列CQ1中,因此可以中止剩余的命令,而无需参照图6而描述的管理开始地址SA和结束地址EA。因此,可以简化命令管理单元240的设计。

图13为图示参照图4和图11所描述的存储器控制单元230的视图。图14为图示包含于读取数据中的码字CW1至CW4的概念图。图15为图示图13中所示的解码状态表DT的概念图。

参照图13,存储器控制单元230可以包含存储器控制器431、数据缓冲器432、ECC块235和多路复用块MUX。

存储器控制器431可以控制数据缓冲器432、ECC块235和多路复用块MUX。存储器控制器431可以响应于命令管理单元240而从命令队列CQ输出读取命令RCMD,并将输出的读取命令RCMD提供给半导体存储器件100。来自半导体存储器件100的读取数据可以被储存于数据缓冲器432中。存储器控制器431可以控制多路复用块MUX来将储存在数据缓冲器432中的读取数据中的码字的部分或全部传送至ECC块235。存储器控制器431可以查阅解码状态表DT。

从半导体存储器件100传送来的读取数据可以包含储存在单个页中的数据位。该数据位可以划分成多个码字。例如,如图14中所示,该读取数据可以包含第一码字CW1至第四码字CW4。

ECC块235可以以码字为单位来执行解码操作。ECC块235可以通过存储器控制器431来控制。ECC块235可以通过多路复用块MUX来接收一个或多个码字,并根据错误校正码来对码字中的每一个解码。每当存储器控制单元230接收与读取命令RCMD1至RCMDx相对应的读取数据时,ECC块235可以接收读取数据中的码字。此外,ECC块235可以将关于接收到的码字是否被成功解码的信息反馈至存储器控制器431。根据一个实施例,ECC块235可以将错误校正过的码字暂时地储存在存储器单元210中。

根据一个实施例,存储器控制器431可以储存解码状态表DT。解码状态表DT可以包含关于对码字中的每个的解码是通过还是失败的信息。如图15中所示,存储器控制器431的解码状态表DT可以包含关于第一码字CW1至第四码字CW4中的每个是否被成功解码的信息。存储器控制器431可以从ECC块235接收关于每个码字是否成功的信息,并基于接收到的信息来更新解码状态表DT。例如,随着半导体存储器件100响应于更多的读取命令和参数设定命令而执行读取操作,第一码字CW1至第四码字CW4中的更多个可以被成功地解码。

图15图示了解码状态表DT,解码状态表DT包含指示对第一码字CW1和第二码字CW2的译码是否通过以及对第三码字CW3和第四码字CW4的解码是否失败的信息。例如,当ECC块235成功对第三码字CW3成功解码时,存储器控制器431可以在解码状态表DT中将与第三码字CW3相对应的信息从失败更新成通过。当ECC块235在对第一码字CW1至第四码字CW4中的一个或多个解码失败时,存储器控制器431可以将指示对应的读取命令失败的状态信息储存在状态信息队列SQ中。每当ECC块235成功地对第一码字CW1至第四码字CW4中的每个解码时,存储器控制器431可以将指示对 应的读取命令通过的状态信息储存在状态信息队列SQ中。

根据一个实施例,存储器控制器431可以通过查阅解码状态表DT来控制多路复用块MUX以仅将码字CW1至CW4中解码失败的一个从数据缓冲器432传送至ECC块235。因此,ECC块235可以不重复对所有的读取数据的解码。因此,可以改善对读取数据解码所需的时间量。

图13图示了包含于存储器控制单元230中的解码状态表DT。然而,这仅为示例。在另一示例中,解码状态表DT可以被储存于存储器单元210中。

图16为图示参照图4和图11而描述的控制器200和控制器300的实施例1200的框图。

参照图16,控制器1200可以包含存储器单元1210、处理单元1220、主机接口1230、存储器接口1240和错误校正块1250。

处理单元1220可以控制控制器1200的常规操作。存储器单元1210可以被用作处理单元1220的操作存储器、在图4和图11中所示的半导体存储器件100与主机之间的高速缓冲存储器和/或在半导体存储器件100与主机之间的缓冲存储器。处理单元1220和存储器单元1210可以当作图4和图11中所示的命令发生单元220和命令管理单元240。例如,处理单元1220可以将程序命令、数据文件和数据结构加载在存储器单元1210中,并通过运行加载的数据来执行命令发生单元220和命令管理单元240的功能。

另外,存储器单元1210可以被用作图4和图11中所示的存储器单元210和存储器单元310。图16图示为提供一个存储器单元1210。然而,两个或更多个存储器单元可以被提供。

主机接口1230可以包含用于在主机与控制器1200之间交换数据的协议。例如,控制器1200可以通过一种或多种协议来与主机通信,诸如通用串行总线(USB)协议、多媒体卡(MMC)协议、外围组件互连(PCI)协议、快速外围组件互连(PCI-E,PCI-express)协议、高级技术附件(ATA)协议、串行高级技术附件(SATA)协议、并行高级技术附件(PATA)协议、小型计算机系统接口(SCSI)协议、增强型小盘接口(ESDI)协议、集成驱动电路(IDE)协议、私有协议等。

存储器接口1240可以与半导体存储器件100接口。错误校正块1250可以通过使用错误校正码来对从半导体存储器件100接收的读取数据解码。存储器接口1240和错误校正块1250可以执行图4和图11中所示的存储器控制单元230的功能。

图17为图示图1中所示的存储系统50的应用示例(2000)的框图。

参照图17,存储系统2000可以包含半导体存储器件2100和控制器2200。半导体存储器件2100可以包含多个半导体数据芯片。这多个半导体数据芯片可以被划分成多个组。

在图17中,多个组可以分别通过第一通道CH1至第k通道CHk来与控制器2200通信。每个半导体数据芯片可以以与以上参照图1至图3所描述的半导体存储器件100基本上相同的方式来配置和操作。

每个组可以通过单个公共通道来与控制器2200通信。控制器2200可以以与以上参照图16所描述的控制器1200基本上相同的方式来配置,且可以被配置成通过多个信道CH1至CHk来控制半导体存储器件2100的多个数据芯片。

图17图示了耦接到单个通道的多个半导体数据芯片。然而,存储系统200可以被修改,使得单个半导体数据芯片可以耦接到单个通道。

根据一个实施例,命令发生单元可以产生用于识别选中页的数据的命令,并将产生的命令储存在命令队列中。当从命令队列读取的读取命令通过时,可以中止对应的命令之中剩余在命令队列中的命令。命令发生单元可以执行其他操作。因此,可以改善命令发生单元和控制器的操作时间。

根据一个实施例,可以提供具有改善的操作时间的控制器及其操作方法。

对于本领域技术人员而言明显的是,在不脱离本发明的精神和范围的情况下,可以对本发明的上述示例性实施例作出各种修改。因此,本发明意在涵盖落入所附权利要求及其等价的范围之内的所有变型。

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