相关申请的交叉引用
本申请要求于2018年12月3日提交的申请号为10-2018-0153585的韩国专利申请的优先权,该韩国专利申请的全部公开内容通过引用整体并入本文。
本公开的各个实施例总体涉及一种电子装置,并且更特别地,涉及一种存储器控制器及操作该存储器控制器的方法。
背景技术:
通常,存储装置在诸如计算机、智能电话或智能平板的主机装置的控制下存储数据。这种存储装置的示例包括将数据存储在磁盘中的硬盘驱动器(hdd)、以及将数据存储在半导体存储器,尤其是非易失性存储器中的固态驱动器(ssd)或存储卡。
存储装置可以包括存储数据的存储器装置、以及被配置成将数据存储在存储器装置中的存储器控制器。存储器装置可以分为易失性存储器和非易失性存储器。非易失性存储器的代表性示例包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)、闪速存储器、相变随机存取存储器(pram)、磁性ram(mram)、电阻式ram(rram)、铁电ram(fram)等。
技术实现要素:
本公开的各个实施例涉及一种存储器控制器及操作该存储器控制器的方法,该存储器控制器被配置成在参考时间内输出响应。
本公开的实施例可以提供一种存储器控制器,该存储器控制器被配置成控制包括存储器单元阵列的存储器装置。该存储器控制器可以包括:消息信息生成器,被配置成从主机接收第一请求消息,并且生成和输出指示第一请求消息的类型的响应特性信息,第一请求消息的类型限定将对第一请求消息的消息响应提供给主机的响应时间;以及响应输出控制器,被配置成基于响应特性信息确定将对应于第一请求消息的消息响应输出到主机的时间。
本公开的实施例可以提供一种操作存储器控制器的方法,该存储器控制器被配置成控制包括存储器单元阵列的存储器装置。该方法可以包括:从主机接收第一请求消息;生成并输出指示第一请求消息的类型的响应特性信息,第一请求消息的类型限定将对第一请求消息的消息响应提供给主机的响应时间;以及基于响应特性信息输出对应于第一请求消息的消息响应。
本公开的实施例可以提供一种存储器控制器,该存储器控制器被配置成控制包括存储器单元阵列的存储器装置。该存储器控制器可以包括:消息信息生成器,被配置成从主机接收请求消息,并且生成和输出包括关于请求消息是优先响应请求消息还是普通响应请求消息的信息的响应特性信息;以及响应输出控制器,被配置成当响应特性信息包括关于优先响应请求消息的信息时,在存储器装置重新执行失败的操作之前将消息响应输出到主机,该消息响应指示操作已失败。
本公开的实施例可以提供一种操作主机的方法,该主机被配置成控制存储装置,该存储装置被配置成存储数据。该方法可以包括:将请求消息确定为普通响应请求消息和优先响应请求消息中的一种以对存储装置执行特定操作;生成并输出确定的请求消息;以及接收对应于确定的请求消息的消息响应,其中接收消息响应包括:当确定的请求消息是普通响应请求消息时,在特定操作完成之后接收消息响应;以及当确定的请求消息是优先响应请求消息时,在特定操作完成之前或之后接收消息响应。
本公开的实施例可以提供一种操作存储器系统的方法。该方法可以包括:响应于来自主机的优先响应请求消息控制存储器装置执行操作,该优先响应请求消息在设定响应时间内请求操作响应;当由于存储器装置未完成操作而在响应时间内不能将操作响应提供至主机时,将失败响应提供至主机;以及在存储器装置完成操作时,将操作响应提供给主机。
附图说明
图1是示出根据本公开的实施例的存储装置的框图。
图2是示出诸如图1的存储器控制器的配置和响应于主机的请求输出消息的操作的示图。
图3是示出诸如图2的操作控制器的结构的示图。
图4是示出诸如图2的响应输出控制器的结构的示图。
图5是示出诸如图1的存储器装置的结构的框图。
图6是示出诸如图5的存储器单元阵列的实施例的示图。
图7是示出根据本公开的实施例的图6的存储块blk1至blkz中的任意一个存储块blka的电路图。
图8是示出根据本公开的实施例的图6的存储块blk1至blkz中的任意一个存储块blkb的电路图。
图9是示出根据本公开的实施例的存储器控制器的操作的示图。
图10是示出根据本公开的实施例的存储器控制器的操作的示图。
图11是示出根据本公开的实施例的存储器控制器的操作的示图。
图12是示出根据本公开的实施例的主机的操作的示图。
图13是示出诸如图1的存储器控制器的实施例的示图。
图14是示出应用根据本公开的实施例的存储装置的存储卡系统的框图。
图15是示出应用根据本公开的实施例的存储装置的固态驱动器(ssd)系统的框图。
图16是示出应用根据本公开的实施例的存储装置的用户系统的框图。
具体实施方式
本文中的具体结构和功能描述是为了描述本公开的实施例。然而,本发明不限于本文中描述的实施例。而是,本发明可以以许多不同的形式实施,许多不同的形式中的任意一种形式可以是一个或多个公开的实施例的修改方案或变型方案。本发明旨在包括落入权利要求的范围内的所有这些不同的形式、修改方案和变型方案。
将理解的是,尽管本文中可以使用术语“第一”、“第二”等来标识各种元件,但是这些元件不受这些术语限制。这些术语仅用于将一个元件与另一元件区分开,否则一个元件与另一元件具有相同或相似的名称。例如,在不脱离本公开的教导的情况下,一个实例中的第一元件可以在另一实例中被称为第二元件,反之亦然。
将理解的是,当元件被称为“联接”或“连接”到另一元件时,该元件可以直接联接或连接到另一元件,或者可以存在一个或多个中间元件。相反,应理解的是,当元件被称为“直接联接”或“直接连接”到另一元件时,不存在中间元件。说明元件之间的关系的诸如“在……之间”、“直接在……之间”、“与……相邻”或“与……直接相邻”的其他表达应以相同的方式来解释。
本文中使用的术语仅用于描述特定实施例,并不旨在限制。在本公开中,除非上下文另有明确说明,否则单数形式也旨在包括复数形式。将进一步理解的是,当在本说明书中使用诸如“包含”、“包括”、“具有”等的开放式术语时,指定所述特征、整体、步骤、操作、元件、组件和/或其组合的存在,但不排除存在或添加一个或多个其他特征、整体、步骤、操作、元件、组件和/或其组合。
除非另有定义,否则本文中使用的包括技术术语和科学术语的所有术语具有与本公开所属领域的技术人员通常理解的含义相同的含义。将进一步理解的是,本文中使用的术语应被解释为具有与其在本说明书和相关领域的环境下的含义一致的含义,并且将不以理想化或过于正式的含义来解释,除非本文中明确地如此定义。
省略对本领域技术人员公知的功能和结构的详细描述,以避免模糊本公开的主题。这旨在省略不必要的描述,以使本公开的主题清楚。
现在将参照示出本公开的优选实施例的附图更全面地描述本公开的各个实施例,使得本领域技术人员可以容易地实现和实践本发明。在整个说明书中,对“实施例”、“另一实施例”等的参考不一定仅针对一个实施例,并且对任意这种短语的不同参考不一定针对相同的实施例。
图1是示出根据本公开的实施例的存储装置50的框图。
参照图1,存储装置50可以包括存储器装置100和存储器控制器200。
存储装置50可以被配置成在诸如蜂窝电话、智能电话、mp3播放器、膝上型计算机、台式计算机、游戏机、tv、平板pc或车载信息娱乐系统的主机300的控制下存储数据。
根据作为与主机300的通信系统的主机接口,存储装置50可以是各种存储装置中的任意一种。例如,存储装置50可以由诸如以下的各种存储装置中的任意一种来配置:ssd,mmc、emmc、rs-mmc或微型-mmc型多媒体卡,sd、迷你-sd、微型-sd型安全数字卡,通用串行总线(usb)存储装置,通用闪存(ufs)装置,个人计算机存储卡国际协会(pcmcia)卡型存储装置,外围组件互连(pci)卡型存储装置,pci高速(pci-e)卡型存储装置,紧凑型闪存(cf)卡,智能媒体卡和记忆棒。
存储装置50可以以各种封装类型中的任意一种的形式来制造。例如,存储装置50可以被制造为诸如以下的各种封装类型中的任意一种:层叠封装(pop)类型、系统级封装(sip)类型、片上系统(soc)类型、多芯片封装(mcp)类型、板上芯片(cob)类型、晶圆级制造封装(wfp)类型和晶圆级堆叠封装(wsp)类型。
存储器控制器200可以控制存储装置50的全部操作。
当向存储装置50供电时,存储器控制器200可以执行固件。在存储器装置100是闪速存储器装置的情况下,存储器控制器200可以执行诸如闪存转换层(ftl)的固件,以控制主机300和存储器装置100之间的通信。
存储器控制器200可以包括消息信息生成器210。消息信息生成器210可以从主机300接收请求消息req_msg。从主机300接收的请求消息req_msg可以是普通响应请求消息或优先响应请求消息。优先响应请求消息可以用于在设定或预定时间内请求消息响应msg_res。消息响应msg_res可以指示存储器装置100响应于请求消息req_msg而执行的操作的结果。普通响应请求消息可以用于当在存储器装置100响应于请求消息req_msg执行的操作完成之后,存储器控制器接收到完成操作的指示时请求待提供给主机300的消息响应msg_res。
在实施例中,消息信息生成器210可以生成响应特性信息rc_inf。响应特性信息rc_inf可以包括关于请求消息req_msg是优先响应请求消息还是普通响应请求消息的信息。换言之,响应特性信息rc_inf可以包括指示请求消息req_msg的类型的信息,请求消息req_msg的类型限定将对请求消息req_msg的响应提供给主机300的特定或条件时间点。消息信息生成器210可以将响应特性信息rc_inf输出到响应输出控制器230,响应输出控制器230可以基于响应特性信息rc_inf确定输出消息响应msg_res的时间。
存储器控制器200可以包括操作控制器220。操作控制器220可以从主机300接收请求消息req_msg。操作控制器220可以生成对应于请求消息req_msg的命令cmd,并将命令cmd输出到存储器装置100。操作控制器220可以从存储器装置100接收作为对命令cmd的响应的命令响应cmd_res。
操作控制器220可以基于包括在命令响应cmd_res中的操作通过或失败信息来生成操作完成信息oc_inf。换言之,操作完成信息oc_inf可以包括命令响应cmd_res的成功/通过或失败/未通过指示信息。操作控制器220可以将操作完成信息oc_inf输出到响应输出控制器230。
存储器控制器200可以包括响应输出控制器230,响应输出控制器230可以从消息信息生成器210接收响应特性信息rc_inf。响应输出控制器230可以基于接收的响应特性信息rc_inf来确定输出消息响应msg_res的时间点。换言之,根据请求消息req_msg是优先响应请求消息还是普通响应请求消息,可以确定输出消息响应msg_res的时间。在响应特性信息rc_inf包括指示优先响应请求消息的信息的情况下,响应输出控制器230将消息响应msg_res输出到主机之前经过的时间可以短于当响应特性信息rc_inf包括指示普通响应请求消息的信息时,响应输出控制器230将消息响应msg_res输出到主机之前经过的时间。消息响应msg_res可以基于从操作控制器220提供的操作完成信息oc_inf来指示存储器装置100执行的操作是已通过还是已失败。
在存储器装置100中可以存储数据。存储器装置100可以在存储器控制器200的控制下进行操作。存储器装置100可以包括存储器单元阵列,存储器单元阵列包括被配置成存储数据的多个存储器单元。存储器单元阵列可以包括多个存储块。每个存储块可以包括多个存储器单元。每个存储块可以包括多个页面。在实施例中,每个页面可以是将数据存储在存储器装置100中或从存储器装置100读取存储的数据的单元。每个存储块可以是擦除数据的单元。在实施例中,存储器装置100可以是双倍数据速率同步动态随机存取存储器(ddrsdram)、低功率双倍数据速率4(lpddr4)sdram、图形双倍数据速率(gddr)sram、低功耗ddr(lpddr)、rambus动态随机存取存储器(rdram)、nand闪速存储器、垂直nand闪速存储器、nor闪速存储器装置、电阻式随机存取存储器(rram)、相变随机存取存储器(pram)、磁阻随机存取存储器(mram)、铁电随机存取存储器(fram)或自旋转移力矩随机存取存储器(stt-ram)。在本说明书中,在存储器装置100是nand闪速存储器的背景下描述本发明的方面和特征。
在实施例中,存储器装置100可以以三维阵列结构来实施。本公开不仅可以应用于电荷存储层由导电浮栅(fg)形成的闪速存储器,而且还可以应用于电荷存储层由绝缘层形成的电荷撷取闪存(ctf)存储器。
在实施例中,包括在存储器装置100中的每个存储器单元可以由能够存储一个数据位的单层单元(slc)形成。可选地,包括在存储器装置100中的每个存储器单元可以由能够存储两个数据位的多层单元(mlc)、能够存储三个数据位的三层单元(tlc)或能够存储四个数据位的四层单元(qlc)形成。
存储器装置100可以从存储器控制器200接收命令和地址,并访问存储器单元阵列中的、通过该地址选择的区域。换言之,存储器装置100可以对通过地址选择的区域执行对应于命令的操作。例如,存储器装置100可以执行写入(编程)操作、读取操作和擦除操作。在编程操作期间,存储器装置100可以将数据编程到通过地址选择的区域。在读取操作期间,存储器装置100可以从通过地址选择的区域读取数据。在擦除操作期间,存储器装置100可以从通过地址选择的区域擦除数据。
存储器装置100可以在存储器控制器200的控制下,通过使用设置操作电压来执行编程操作或擦除操作。
在实施例中,存储器控制器200可以从主机300接收数据和逻辑地址(la),并且将la转换为指示待存储数据的存储器单元的地址的物理地址(pa),其中存储器单元包括在存储器装置100中。另外,存储器控制器200可以将指示la和pa之间的映射关系的映射信息存储在缓冲存储器中。
存储器控制器200可以响应于来自主机300的请求来控制存储器装置100执行编程操作、读取操作或擦除操作。在编程操作期间,存储器控制器200可以将编程命令、pa和数据提供给存储器装置100。在读取操作期间,存储器控制器200可以向存储器装置100提供读取命令和pa。在擦除操作期间,存储器控制器200可以向存储器装置100提供擦除命令和pa。
在实施例中,存储器控制器200可以在没有来自主机300的请求的情况下自主地生成编程命令、地址和数据,并且将编程命令、地址和数据传送到存储器装置100。例如,存储器控制器200可以将命令、地址和数据提供给存储器装置100以执行后台操作,诸如用于耗损均衡的编程操作和用于垃圾收集的编程操作。
在实施例中,存储器控制器200可以控制两个或更多个存储器装置100。在这种情况下,存储器控制器200可以以交错方式控制存储器装置100,以提高操作性能。
主机300可以使用诸如以下的各种通信方法中的至少一种与存储装置50通信:通用串行总线(usb)、串行at附件(sata)、串列scsi(sas)、高速芯片间(hsic)、小型计算机系统接口(scsi)、外围组件互连(pci)、pci高速(pcie)、非易失性存储器高速(nvme)、通用闪存(ufs)、安全数字(sd)、多媒体卡(mmc)、嵌入式mmc(emmc)、双列直插式存储器模块(dimm)、寄存式dimm(rdimm)和低负载dimm(lrdimm)通信方法。
在实施例中,主机300可以确定普通响应请求消息还是优先响应请求消息,以对存储装置50执行特定操作。主机300可以生成并输出确定的请求消息req_msg。主机300可以接收对应于确定的请求消息reg_msg的消息响应msg_res。当确定的请求消息req_msg是普通响应请求消息时,主机300可以在存储装置50响应于普通响应请求消息的操作完成之后接收消息响应msg_res。当确定的请求消息req_msg是优先响应请求消息时,主机300可以在存储装置50响应于优先响应请求消息的操作完成之前或之后接收消息响应msg_res。
在实施例中,当确定请求消息req_msg是优先响应请求消息时,如果主机300在存储装置50的操作完成之前接收到消息响应msg_res,则可以确定生成并输出与先前优先响应请求消息相同的优先响应请求消息。如果主机300生成并输出这样的优先响应请求消息,则存储器装置100可以执行对应于先前优先响应请求消息的操作。如果主机300生成并输出新请求消息,则存储器装置100可以执行对应于新请求消息的操作。
图2是用于描述根据本公开的实施例的图1的存储器控制器200的配置和响应于图1的主机300的请求消息而输出消息响应的操作的示图。
参照图2,存储器控制器200可以包括消息信息生成器210、操作控制器220和响应输出控制器230。
消息信息生成器210可以从主机300接收请求消息req_msg。请求消息req_msg可以是优先响应请求消息或普通响应请求消息。消息信息生成器210可以基于请求消息req_msg生成并输出响应特性信息rc_inf。响应特性信息rc_inf可以包括关于请求消息req_msg是优先响应请求消息还是普通响应请求消息的信息。换言之,基于响应特性信息rc_inf,可以确定对请求消息req_msg的响应时间。消息信息生成器210可以将响应特性信息rc_inf提供给响应输出控制器230。
在实施例中,优先响应请求消息可以用于在设定或预定时间内请求消息响应msg_res。换言之,优先响应请求消息可以用于在存储器装置100响应于请求消息req_msg的操作完成之前请求由存储器装置100执行的该操作的结果。普通响应请求消息可以用于当在存储器装置100执行的操作已完成之后,存储器控制器接收到存储器装置100执行的操作的结果时请求消息响应msg_res。因此,优先响应请求消息可能比普通响应请求消息需要更短的响应时间,其中在响应时间内将对请求消息req_msg的消息响应msg_res提供给主机300。
在实施例中,操作控制器220可以从主机300接收请求消息req_msg。操作控制器220可以生成对应于请求消息req_msg的命令cmd,并将命令cmd输出到存储器装置100。存储器装置100可以响应于从操作控制器220接收的命令cmd执行操作。操作控制器220可以从存储器装置100接收响应于命令cmd的命令响应cmd_res。命令响应cmd_res可以包括响应于命令cmd执行的操作的结果。
基于命令响应cmd_res,可以确定操作是通过还是失败。操作控制器220可以基于包括在命令响应cmd_res中的通过/失败信息来生成操作完成信息oc_inf。详细地,操作控制器220可以基于命令响应cmd_res生成包括命令响应cmd_res的操作通过/失败信息的操作完成信息oc_inf。操作控制器220可以将操作完成信息oc_inf输出到响应输出控制器230。
在实施例中,操作控制器220可以基于命令响应cmd_res确定操作是通过还是失败。命令响应cmd_res可以指示存储器装置100响应于命令cmd执行的操作的结果。换言之,命令响应cmd_res可以指示存储器装置100响应于命令cmd执行的编程操作、读取操作或擦除操作的结果。
在编程操作的情况下,如果接收到包括已将编程数据存储在存储器单元中的信息的命令响应cmd_res,则可以确定相应的操作已通过。如果没有,则可以确定相应的操作已失败。在验证操作的情况下,如果接收到包括相应存储器单元的阈值电压高于验证电压的信息的命令响应cmd_res,则可以确定相应的操作已通过。如果没有,则可以确定相应的操作已失败。在读取操作的情况下,如果接收到包括读取数据对应于编程数据的信息的命令响应cmd_res,则可以确定相应的操作已通过。如果没有,则可以确定相应的操作已失败。
因此,操作控制器220可以基于命令响应cmd_res中的操作通过/失败信息来确定编程操作、读取操作或擦除操作是通过还是失败。此外,操作控制器220可以基于命令响应cmd_res生成并输出指示操作的通过或失败的操作完成信息oc_inf。
在实施例中,操作控制器220可以从存储器装置100接收命令响应cmd_res。基于命令响应cmd_res,操作控制器220可以确定存储器装置100执行的操作已失败。
操作控制器220可以将操作完成信息oc_inf输出到响应输出控制器230,之后再次生成用于执行失败操作的命令cmd并且将命令cmd输出到存储器装置100。如果失败操作是写入操作,则操作控制器220可以生成用于对包括在存储器装置100中的存储器单元阵列中的另一物理地址重新执行写入操作的命令cmd,并且将命令cmd输出到存储器装置100。
详细地,在先前从主机300接收的请求消息req_msg是写入请求消息的情况下,操作控制器220可以改变物理块地址并且将改变的物理块地址输出到存储器装置100,从而响应于写入请求消息,对存储器单元阵列中的另一物理块地址再次执行写入操作。
在失败操作是读取操作的情况下,操作控制器220可以生成用于以与先前失败读取操作的读取电压电平不同的读取电压电平来重新执行读取操作的命令cmd,并将命令cmd输出到存储器装置100。存储器装置100可以响应于从操作控制器220提供的命令cmd来以不同的读取电压电平再次执行读取操作。
详细地,在先前从主机300接收的请求消息req_msg是读取请求消息的情况下,操作控制器220可以改变与对应于读取请求消息的命令有关的读取电压电平,并将改变的读取电压电平输出到存储器装置100,从而可以以与先前执行的读取操作的读取电压电平不同的读取电压电平来执行读取操作。
在实施例中,操作控制器220可以从主机300接收新请求消息。操作控制器220可以在响应输出控制器230已输出消息响应msg_res之后接收新请求消息。即使在响应输出控制器230已输出指示优先响应失败的消息响应msg_res之后,也可以接收新请求消息。当响应输出控制器230在由优先响应请求消息限定的参考时间内没有接收到操作完成信息oc_inf时,可以输出指示优先响应失败的消息响应msg_res作为对优先响应请求消息的响应。参考时间可以是预设的。
操作控制器220可以在从主机300接收到新请求消息之前,生成用于重新执行操作的命令cmd,并且将生成的命令cmd输出到存储器装置100。新请求消息可以是与先前请求消息相同的请求消息。
如果新请求消息与先前请求消息相同,则操作控制器220可以生成对应于先前请求消息的命令cmd,并将命令cmd输出到存储器装置100。换言之,对应于新请求消息的命令可以与对应于先前请求消息的命令相同。因此,操作控制器220可以接收对应于与先前请求消息有关的命令的命令响应cmd_res,并生成操作完成信息oc_inf。
如果新请求消息与先前请求消息不同,则操作控制器220可以生成对应于新请求消息的命令cmd,并将命令cmd输出到存储器装置100。
如果从主机300接收到新请求消息,则操作控制器220可以不生成用于重新执行失败操作的命令cmd。因此,操作控制器220可以生成对应于新请求消息的命令cmd,并将命令cmd输出到存储器装置100。操作控制器220可以从存储器装置100接收响应于命令cmd的命令响应cmd_res。
如果从消息信息生成器210接收到关于与先前请求消息相同的新请求消息的响应特性信息rc_inf,则响应输出控制器230可以基于先前接收的操作完成信息oc_inf输出消息响应msg_res。操作完成信息oc_inf可以包括命令响应cmd_res的成功或失败指示信息。
响应输出控制器230可以从消息信息生成器210接收响应特性信息rc_inf。响应特性信息rc_inf可以包括关于请求消息req_msg是优先响应请求消息还是普通响应请求消息的信息。响应输出控制器230可以基于响应特性信息rc_inf确定输出消息响应msg_res的时间。优先响应请求消息可以用于在设定或预定时间内请求消息响应msg_res。消息响应msg_res可以指示存储器装置100执行的操作的结果。普通响应请求消息可以用于当在存储器装置100执行的操作已完成之后,存储器控制器接收到完成操作的结果时请求消息响应msg_res。
在实施例中,响应输出控制器230可以从操作控制器220接收操作完成信息oc_inf。操作完成信息oc_inf可以包括关于存储器装置100响应于请求消息req_msg执行的操作是已通过还是已失败的信息。当接收到操作完成信息oc_inf时,响应输出控制器230可以基于操作完成信息oc_inf输出指示相应操作的通过或失败的消息响应msg_res。
详细地,如果请求消息是普通响应请求消息,则响应输出控制器230可以在接收到操作完成信息oc_inf时输出消息响应msg_res。如果请求消息是优先响应请求消息,则响应输出控制器230可以基于是否在参考时间内已接收到操作完成信息oc_inf来输出消息响应msg_res,该参考时间可以是预设的。响应输出控制器230可以包括:第一消息响应输出组件231,被配置成输出对应于操作完成信息oc_inf的第一消息响应;以及第二消息响应输出组件232,被配置成输出对应于操作完成信息oc_inf和参考时间的第二消息响应。
在实施例中,在请求消息是优先响应请求消息的情况下,如果在参考时间内已接收到操作完成信息oc_inf,则响应输出控制器230可以在接收到操作完成信息oc_inf时输出消息响应msg_res。参考时间可以是预设的。如果在参考时间内没有接收到操作完成信息oc_inf,则响应输出控制器230可以在经过了参考时间时,输出指示优先响应失败的消息响应msg_res。当在由优先响应请求消息限定的响应时间内,响应输出控制器230没有接收到操作完成信息oc_inf时,可以输出指示优先响应失败的消息响应msg_res作为对优先响应请求消息的响应。指示优先响应失败的消息响应msg_res可以指示存储器装置100正在执行对应于命令cmd的操作。在已输出指示优先响应失败的消息响应msg_res之后,操作控制器220可以从主机300接收新请求消息。
在实施例中,即使在参考时间内没有从操作控制器220接收到操作完成信息oc_inf,响应输出控制器230也可以将消息响应msg_res输出到主机。详细地,响应输出控制器230没有接收到操作完成信息oc_inf的情况可以是存储器装置100正在执行操作或重新执行失败操作的情况。响应输出控制器230没有接收到操作完成信息oc_inf的情况可以是操作未通过的情况。因此,即使没有从操作控制器220接收到操作完成信息oc_inf,响应输出控制器230也可以将指示操作已失败的消息响应msg_res输出到主机300。换言之,响应输出控制器230可以将指示优先响应失败的消息响应msg_res输出到主机300。
图3是示出图2的操作控制器220的结构的示图。
参照图3,操作控制器220可以包括命令响应接收器221和优先响应失败处理器222。操作控制器220可以生成对应于请求消息req_msg的命令cmd,并将命令cmd输出到存储器装置100。操作控制器220可以从存储器装置100接收响应于命令cmd的命令响应cmd_res。图3示出在对应于命令cmd的操作已失败之后的操作控制器220的操作。
命令响应接收器221可以从存储器装置100接收响应于命令cmd的命令响应cmd_res。命令响应接收器221可以基于命令响应cmd_res来确定存储器装置100执行的操作是已通过还是已失败。命令响应cmd_res可以包括响应于命令cmd执行的操作的结果(例如,通过或失败)。命令响应接收器221可以基于从存储器装置100接收的命令响应cmd_res而生成并输出操作完成信息oc_inf。命令响应接收器221可以将操作完成信息oc_inf输出到响应输出控制器230。
在存储器装置100响应于命令cmd执行的操作已失败的情况下,命令响应接收器221可以生成并输出失败信息fail_inf,该失败信息fail_inf包括关于操作失败的信息。失败信息fail_inf可以包括用于错误校正操作的信息。换言之,存储器装置100执行的操作失败可以指在执行错误校正操作之前的操作失败。
在实施例中,命令响应接收器221可以将失败信息fail_inf输出到优先响应失败处理器222。失败信息fail_inf可以包括用于重新执行失败操作的信息。换言之,失败信息fail_inf可以包括用于由存储器装置100执行错误校正操作的信息。优先响应失败处理器222可以在已从命令响应接收器221接收到失败信息fail_inf之后,生成用于重新执行失败操作的命令cmd。
详细地,在失败操作是写入操作的情况下,优先响应失败处理器222可以生成用于对包括在存储器装置100中的存储器单元阵列中的另一物理地址重新执行写入操作的命令cmd,并将命令cmd输出到存储器装置100。
在实施例中,在先前从主机300接收的请求消息req_msg是写入请求消息的情况下,操作控制器220可以改变物理块地址并将改变的物理块地址输出到存储器装置100,从而响应于写入请求消息对存储器单元阵列中的另一物理块地址再次执行写入操作。
在失败操作是读取操作的情况下,操作控制器220可以生成用于以与先前失败的读取操作的读取电压电平不同的读取电压电平重新执行读取操作的命令cmd,并将命令cmd输出到存储器装置100。存储器装置100可以响应于从优先响应失败处理器222提供的命令cmd,以不同的读取电压电平再次执行读取操作。
详细地,在先前从主机300接收的请求消息req_msg是读取请求消息的情况下,操作控制器220可以改变与对应于读取请求消息的命令有关的读取电压电平,并且将改变的读取电压电平输出到存储器装置100,从而可以以与先前命令的读取电压电平不同的读取电压电平来执行命令。
在实施例中,优先响应失败处理器222可以在从消息信息生成器210接收到新请求消息之前,生成用于重新执行失败操作的命令cmd,并且将生成的命令cmd输出到存储器装置100。新请求消息可以是请求失败操作的附加结果的附加结果请求消息,或者可以是针对待对存储器装置执行的新操作的请求消息。新请求消息可以是与先前请求消息相同或不同的请求消息。
图4是示出图2的响应输出控制器230的结构的示图。
参照图4,响应输出控制器230可以包括第一消息响应输出组件231和第二消息响应输出组件232。第一消息响应输出组件231和第二消息响应输出组件232可以从消息信息生成器210接收响应特性信息rc_inf。响应特性信息rc_inf可以包括关于请求消息req_msg是优先响应请求消息还是普通响应请求消息的信息。第一消息响应输出组件231和第二消息响应输出组件232可以从操作控制器220接收操作完成信息oc_inf。响应输出控制器230可以基于响应特性信息rc_inf和操作完成信息oc_inf来确定消息响应msg_res的输出。操作完成信息oc_inf可以包括关于存储器装置100响应于请求消息req_msg执行的操作是否已完成以及操作是已通过还是已失败的信息。
在实施例中,第一消息响应输出组件231可以基于操作完成信息oc_inf输出第一消息响应msg1_res。第一消息响应msg1_res可以指示操作的通过或失败。
详细地,如果请求消息req_msg是普通响应请求消息,则第一消息响应输出组件231可以在接收到操作完成信息oc_inf时输出第一消息响应msg1_res。如果请求消息req_msg是优先响应请求消息并且第一消息响应输出组件231在参考时间内接收到操作完成信息,则第一消息响应输出组件231可以在接收到操作完成信息oc_inf时输出第一消息响应msg1_res。如果请求消息req_msg是优先响应请求消息并且第一消息响应输出组件231在参考时间内没有接收到操作完成信息,则第一消息响应输出组件231可以保持待命。
在实施例中,第二消息响应输出组件232可以基于操作完成信息oc_inf输出第二消息响应msg2_res。第二消息响应msg2_res可以指示操作的通过或失败。
详细地,如果请求消息req_msg是优先响应请求消息并且在参考时间内没有接收到操作完成信息oc_inf,则第二消息响应输出组件232可以在经过了参考时间时输出指示优先响应失败的第二消息响应msg2_res。当在由优先响应请求消息限定的响应时间(即,参考时间)内,响应输出控制器230没有接收到操作完成信息oc_inf时,可以输出指示优先响应失败的消息响应msg_res作为对优先响应请求消息的响应。换言之,当请求消息req_msg是优先响应请求消息并且在参考时间内没有接收到操作完成信息oc_inf时,第二消息响应输出组件232可以输出消息响应msg_res。第二消息响应msg2_res可以指示正在执行对应于优先响应请求消息的操作。如果第二消息响应输出组件232输出指示优先响应失败的第二消息响应msg2_res,则操作控制器220可以从主机300接收新请求消息。新请求消息可以与先前请求消息相同或不同。
图5是示出图1的存储器装置100的结构的框图。
参照图5,存储器装置100可以包括存储器单元阵列110、外围电路120和控制逻辑125。
存储器单元阵列110可以包括多个存储块blk1至blkz。存储块blk1至blkz通过行线rl连接到地址解码器121,并通过位线bl1至blm连接到读取/写入电路123。存储块blk1至blkz中的每一个可以包括多个存储器单元。在实施例中,多个存储器单元可以是非易失性存储器单元。
根据使用目的,包括在存储器单元阵列110中的存储器单元可以分成多个块。作为控制存储器装置100所需的各种设置信息的系统信息可以存储在多个块中。
第一至第z存储块blk1至blkz中的每一个包括多个存储器单元串。第一至第m单元串分别联接到第一至第m位线bl1至blm。第一至第m单元串中的每一个包括漏极选择晶体管、彼此串联联接的多个存储器单元以及源极选择晶体管。漏极选择晶体管dst联接到漏极选择线dsl。第一至第n存储器单元分别联接到第一至第n字线。源极选择晶体管sst联接到源极选择线ssl。漏极选择晶体管dst的漏极联接到相应的位线。第一至第m单元串的漏极选择晶体管dst分别联接到第一至第m位线bl1至blm。源极选择晶体管sst的源极联接到共源线csl。在实施例中,共源线csl可以共同联接到第一至第z存储块blk1至blkz。漏极选择线dsl、第一至第n字线wl1至wln以及源极选择线ssl包括在行线rl中。漏极选择线dsl、第一至第n字线wl1至wln以及源极选择线ssl由地址解码器121控制。共源线csl由控制逻辑125控制。第一至第m位线bl1至blm由读取/写入电路123控制。
外围电路120可以包括地址解码器121、电压生成器122、读取/写入电路123、数据输入/输出电路124和控制逻辑125。
地址解码器121通过行线rl联接到存储器单元阵列110。地址解码器121可以在控制逻辑125的控制下进行操作。地址解码器121通过控制逻辑125接收地址addr。
在实施例中,可以基于页面执行存储器装置100的编程操作和读取操作。
在编程操作或读取操作期间,由控制逻辑125接收的地址addr可以包括块地址和行地址。地址解码器121可以对接收的地址addr之中的块地址进行解码。地址解码器121可以响应于解码的块地址来选择存储块blk1至blkz中的相应存储块。
地址解码器121可以对接收的地址addr之中的行地址进行解码。响应于解码的行地址,地址解码器121可以将从电压生成器122提供的电压施加到行线rl,并且选择所选择存储块的一个字线。
在擦除操作期间,地址addr可以包括块地址。地址解码器121可以对块地址进行解码并响应于解码的块地址选择一个存储块。可以对一个存储块的全部或部分执行擦除操作。
在部分擦除操作期间,地址addr可以包括块地址和行地址。地址解码器121可以响应于解码的块地址来选择存储块blk1至blkz中的相应存储块。
地址解码器121可以对接收的地址addr之中的行地址进行解码。响应于解码的行地址,地址解码器121将从电压生成器122提供的电压施加到行线rl,并且选择所选择存储块的一个字线。
在实施例中,地址解码器121可以包括块解码器、字线解码器、地址缓冲器等。
电压生成器122可以使用供应给存储器装置100的外部电源电压生成多个电压。电压生成器122可以在控制逻辑125的控制下进行操作。
在实施例中,电压生成器122可以通过调节外部电源电压来生成内部电源电压。从电压生成器122生成的内部电源电压可以用作存储器装置100的工作电压。
在实施例中,电压生成器122可以使用外部电源电压或内部电源电压生成多个电压。例如,电压生成器122可以包括用于接收内部电源电压的多个泵浦电容器,并且在控制逻辑125的控制下通过选择性地激活多个泵浦电容器来生成多个电压。通过地址解码器121来将生成的电压施加到所选择字线。
在编程操作期间,电压生成器122可以生成具有高电压的编程脉冲和电压电平低于编程脉冲的通过脉冲。在读取操作期间,电压生成器122可以生成读取电压和高于读取电压的通过电压。在擦除操作期间,电压生成器122可以生成擦除电压。
读取/写入电路123可以包括第一至第m页面缓冲器pb1至pbm。第一至第m页面缓冲器pb1至pbm分别通过第一至第m位线bl1至blm联接到存储器单元阵列110。第一至第m页面缓冲器pb1至pbm可以在控制逻辑125的控制下进行操作。
第一至第m页面缓冲器pb1至pbm可以与数据输入/输出电路124进行数据通信。在编程操作期间,第一至第m页面缓冲器pb1至pbm可以通过数据输入/输出电路124和数据线dl而接收待存储的数据data。
在编程操作期间,当编程脉冲被施加到所选择字线时,第一至第m页面缓冲器pb1至pbm可以通过位线bl1至blm来将通过数据输入/输出电路124接收的数据data传送到所选择存储器单元。基于传送的数据data对所选择页面中的存储器单元进行编程。联接到施加有编程启用电压(例如,接地电压)的位线的存储器单元可以具有增加的阈值电压。可以保持与施加有编程禁止电压(例如,电源电压)的位线联接的存储器单元的阈值电压。在编程验证操作期间,第一至第m页面缓冲器pb1至pbm可以通过位线bl1至blm而从所选择存储器单元读取页面数据。
在读取操作期间,读取/写入电路123可以通过位线bl从所选择页面中的存储器单元读取数据data,并且将读取的数据data输出到数据输入/输出电路124。在擦除操作期间,读取/写入电路123可以使位线bl浮置。
在实施例中,读取/写入电路123可以包括列选择电路。
数据输入/输出电路124通过数据线dl联接到第一至第m页面缓冲器pb1至pbm。数据输入/输出电路124可以在控制逻辑125的控制下进行操作。在编程操作期间,数据输入/输出电路124可以从外部控制器(未示出)接收待存储的数据data。
控制逻辑125连接到地址解码器121、电压生成器122、读取/写入电路123以及数据输入/输出电路124。控制逻辑125可以控制存储器装置100的全部操作。控制逻辑125可以从外部控制器接收命令cmd和地址addr。控制逻辑125可以响应于命令cmd控制地址解码器121、电压生成器122、读取/写入电路123以及数据输入/输出电路124。
图6是示出图5的存储器单元阵列110的实施例的示图。
参照图6,存储器单元阵列110可以包括多个存储块blk1至blkz。每个存储块可以具有三维结构。每个存储块可以包括堆叠在衬底上的多个存储器单元。存储器单元布置在 x方向、 y方向和 z方向上。将参照图7和图8更详细地描述每个存储块的结构。
图7是示出根据本公开的实施例的图6的存储块blk1至blkz中的任意一个存储块blka的电路图。
参照图7,存储块blka可以包括多个单元串cs11至cs1m和cs21至cs2m。在实施例中,单元串cs11至cs1m和cs21至cs2m中的每一个可以形成为“u”形。在存储块blka中,m个单元串可以布置在行方向(即, x方向)上。在图7中,示出两个单元串布置在列方向(即, y方向)上。但是,这是为了清楚说明;将理解的是,三个或更多个单元串可以布置在列方向上。
多个单元串cs11至cs1m和cs21至cs2m中的每一个可以包括至少一个源极选择晶体管sst、第一至第n存储器单元mc1至mcn、管道晶体管pt以及至少一个漏极选择晶体管dst。
选择晶体管sst和dst以及存储器单元mc1至mcn可以分别具有相似的结构。在实施例中,选择晶体管sst和dst以及存储器单元mc1至mcn中的每一个可以包括沟道层、隧道绝缘层、电荷存储层以及阻挡绝缘层。在实施例中,可以在每个单元串中设置用于提供沟道层的柱。在实施例中,可以在每个单元串中设置用于提供沟道层、隧道绝缘层、电荷存储层以及阻挡绝缘层中的至少一个的柱。
每个单元串的源极选择晶体管sst联接在共源线csl和存储器单元mc1至mcp之间。
在实施例中,布置在相同行中的单元串的源极选择晶体管联接到在行方向上延伸的源极选择线,并且布置在不同行中的单元串的源极选择晶体管联接到不同的源极选择线。在图7中,第一行中的单元串cs11至cs1m的源极选择晶体管联接到第一源极选择线ssl1。第二行中的单元串cs21至cs2m的源极选择晶体管联接到第二源极选择线ssl2。
在实施例中,单元串cs11至cs1m和cs21至cs2m的源极选择晶体管可以共同联接到单个源极选择线。
每个单元串中的第一至第n存储器单元mc1至mcn联接在源极选择晶体管sst和漏极选择晶体管dst之间。
第一至第n存储器单元mc1至mcn可以分为第一至第p存储器单元mc1至mcp以及第p 1至第n存储器单元mcp 1至mcn。第一至第p存储器单元mc1至mcp连续布置在-z方向上,并且串联联接在源极选择晶体管sst和管道晶体管pt之间。第p 1至第n存储器单元mcp 1至mcn连续布置在 z方向上并且串联联接在管道晶体管pt和漏极选择晶体管dst之间。第一至第p存储器单元mc1至mcp和第p 1至第n存储器单元mcp 1至mcn通过管道晶体管pt彼此联接。每个单元串的第一至第n存储器单元mc1至mcn的栅极分别联接到第一至第n字线wl1至wln。
单元串的管道晶体管pt的各栅极联接到管道线pl。
每个单元串的漏极选择晶体管dst联接在相应位线和存储器单元mcp 1至mcn之间。布置在行方向上的单元串联接到在行方向上延伸的漏极选择线。第一行中的单元串cs11至cs1m的漏极选择晶体管联接到第一漏极选择线dsl1。第二行中的单元串cs21至cs2m的漏极选择晶体管联接到第二漏极选择线dsl2。
布置在列方向上的单元串可以联接到在列方向上延伸的位线。在图7中,第一列中的单元串cs11和cs21联接到第一位线bl1。第m列中的单元串cs1m和cs2m联接到第m位线blm。
布置在行方向上的单元串中的、联接到相同字线的存储器单元形成单个页面。例如,第一行中的单元串cs11至cs1m之中的、联接到第一字线wl1的存储器单元形成单个页面。第二行中的单元串cs21至cs2m之中的、联接到第一字线wl1的存储器单元形成另一单个页面。当漏极选择线dsl1和dsl2中的任意一个被选择时,布置在单个行的方向上的相应单元串可以被选择。当字线wl1至wln中的任意一个被选择时,所选择单元串之中的相应单个页面可以被选择。
在实施例中,可以设置偶数位线和奇数位线来代替第一至第m位线bl1至blm。布置在行方向上的单元串cs11至cs1m或cs21至cs2m中的第偶数个单元串可以联接到各自的偶数位线。布置在行方向上的单元串cs11至cs1m或cs21至cs2m中的第奇数个单元串可以联接到各自的奇数位线。
在实施例中,第一至第n存储器单元mc1至mcn中的至少一个可以用作虚设存储器单元。例如,可以设置虚设存储器单元以减小源极选择晶体管sst和存储器单元mc1至mcp之间的电场。可选地,可以设置虚设存储器单元以减小漏极选择晶体管dst和存储器单元mcp 1至mcn之间的电场。随着虚设存储器单元的数量增加,存储块blka的操作可靠性可以增加,但存储块blka的尺寸增大。随着虚设存储器单元的数量减少,存储块blka的尺寸可以减小,但存储块blka的操作可靠性降低。
为了有效地控制虚设存储器单元,每个虚设存储器单元可以具有所需的阈值电压。在对存储块blka执行擦除操作之前或之后,可以对所有或一些虚设存储器单元执行编程操作。在已执行编程操作之后执行擦除操作的情况下,通过控制待施加到与各虚设存储器单元联接的虚设字线的电压,虚设存储器单元可以具有所需的阈值电压。
图8是示出根据本公开的实施例的图6的存储块blk1至blkz中的任意一个存储块blkb的电路图。
参照图8,存储块blkb可以包括多个单元串cs11'至cs1m'和cs21'至cs2m'。单元串cs11'至cs1m'和cs21'至cs2m'中的每一个在 z方向上延伸。单元串cs11'至cs1m'和cs21'至cs2m'中的每一个可以包括堆叠在衬底(未示出)上的至少一个源极选择晶体管sst、第一至第n存储器单元mc1至mcn以及至少一个漏极选择晶体管dst,其中衬底设置在存储块blkb的下部。
每个单元串的源极选择晶体管sst联接在共源线csl和存储器单元mc1至mcn之间。布置在相同行中的单元串的源极选择晶体管联接到相同的源极选择线。布置在第一行中的单元串cs11'至cs1m'的源极选择晶体管可以联接到第一源极选择线ssl1。布置在第二行中的单元串cs21'至cs2m'的源极选择晶体管可以联接到第二源极选择线ssl2。在实施例中,单元串cs11'至cs1m'和cs21'至cs2m'的源极选择晶体管可以共同联接到单个源极选择线。
每个单元串中的第一至第n存储器单元mc1至mcn串联联接在源极选择晶体管sst和漏极选择晶体管dst之间。第一至第n存储器单元mc1至mcn的栅极分别联接到第一至第n字线wl1至wln。
每个单元串的漏极选择晶体管dst联接在相应位线和存储器单元mc1至mcn之间。布置在行方向上的单元串的漏极选择晶体管可以联接到在行方向上延伸的漏极选择线。第一行中的单元串cs11'至cs1m'的漏极选择晶体管联接到第一漏极选择线dsl1。第二行中的单元串cs21'至cs2m'的漏极选择晶体管可以联接到第二漏极选择线dsl2。
因此,除了从每个单元串中排除管道晶体管pt之外,图8的存储块blkb可以具有与图7的存储块blka类似的等效电路。
在实施例中,可以设置偶数位线和奇数位线来代替第一至第m位线bl1至blm。布置在行方向上的单元串cs11'至cs1m'或cs21'至cs2m'之中的第偶数个单元串可以联接到各自的偶数位线,并且布置在行方向上的单元串cs11'至cs1m'或cs21'至cs2m'之中的第奇数个单元串可以联接到各自的奇数位线。
在实施例中,第一至第n存储器单元mc1至mcn中的至少一个可以用作虚设存储器单元。例如,可以设置虚设存储器单元以减小源极选择晶体管sst和存储器单元mc1至mcn之间的电场。可选地,可以设置虚设存储器单元以减小漏极选择晶体管dst和存储器单元mc1至mcn之间的电场。随着虚设存储器单元的数量增加,存储块blkb的操作可靠性可以增加,但存储块blkb的尺寸增大。随着虚设存储器单元的数量减少,存储块blkb的尺寸可以减小,但存储块blkb的操作可靠性降低。
为了有效地控制虚设存储器单元,每个虚设存储器单元可以具有所需的阈值电压。在对存储块blkb执行擦除操作之前或之后,可以对所有或一些虚设存储器单元执行编程操作。在已执行编程操作之后执行擦除操作的情况下,通过控制待施加到与各虚设存储器单元联接的虚设字线的电压,虚设存储器单元可以具有所需的阈值电压。
图9是示出根据本公开的实施例的存储器控制器200的操作的示图。
参照图9,在步骤s901中,消息信息生成器210可以从主机300接收请求消息req_msg。请求消息req_msg可以是优先响应请求消息或普通响应请求消息。优先响应请求消息可以用于在设定或预定时间内请求消息响应msg_res。普通响应请求消息可以是用于当在存储器装置100响应于请求消息req_msg执行的操作已完成之后,存储器控制器200接收到完成操作的结果时请求待提供给主机300的消息响应msg_res的消息。消息响应msg_res可以指示存储器装置100执行的操作的结果。
在步骤s903中,消息信息生成器210可以基于请求消息req_msg生成响应特性信息rc_inf。响应特性信息rc_inf可以包括指示请求消息req_msg的类型的信息,请求消息req_msg的类型限定了将对请求消息req_msg的响应提供给主机300的响应时间。消息信息生成器210可以将响应特性信息rc_inf输出到响应输出控制器230。
在步骤s905中,响应输出控制器230可以基于响应特性信息rc_inf,确定请求消息req_msg的类型是否是优先响应请求消息。如果请求消息req_msg的类型不是优先响应请求消息,即如果请求消息req_msg的类型是普通响应请求消息,则进程进行到步骤s907。如果请求消息req_msg的类型是优先响应请求消息,则进程进行到步骤s911。
在步骤s907中,当请求消息req_msg的类型是普通响应请求消息时,响应输出控制器230可以从操作控制器220接收操作完成信息oc_inf。可以基于从存储器装置100接收的命令响应cmd_res来生成操作完成信息oc_inf。操作控制器220可以基于命令响应cmd_res中的操作通过/失败信息来生成操作完成信息oc_inf。操作完成信息oc_inf可以包括命令响应cmd_res中的操作通过/失败信息的表示。也就是说,操作完成信息oc_inf可以指示存储器装置100基于命令cmd执行的操作是已通过还是已失败。
在步骤s909中,响应输出控制器230可以在接收到操作完成信息oc_inf时输出消息响应msg_res。详细地,当从操作控制器220接收到操作完成信息oc_inf时,第一消息响应输出组件231可以输出第一消息响应msg1_res。
在步骤s911中,可以确定操作控制器220是否已在参考时间内接收到操作完成信息oc_inf。换言之,当请求消息req_msg是优先响应请求消息时,可以确定操作控制器220是否已在参考时间内接收到操作完成信息oc_inf。如果操作控制器220已在参考时间内接收到操作完成信息oc_inf,则进程进行到步骤s909。如果操作控制器220在参考时间内没有接收到操作完成信息oc_inf,则进程进行到步骤s913。
在步骤s913中,响应输出控制器230可以在经过了参考时间之后,输出指示优先响应失败的消息响应msg_res。详细地,如果请求消息req_msg是优先响应请求消息并且在参考时间内没有接收到操作完成信息,则第一消息响应输出组件231保持待命,但第二消息响应输出组件232可以在经过了参考时间时输出指示优先响应失败的第二消息响应msg2_res。换言之,当请求消息req_msg是优先响应请求消息并且在参考时间内没有接收到操作完成信息oc_inf时,第二消息响应输出组件232可以输出消息响应msg_res。第二消息响应msg2_res可以指示正在执行对应于优先响应请求消息的操作。
图10是示出根据本公开的实施例的存储器控制器200的操作的示图。
参照图10,图10示出当图9中的输出操作完成信息oc_inf的命令响应cmd_res指示操作失败时存储器控制器200的操作。此外,图10示出存储器控制器200的操作,而不管来自主机的请求消息req_msg是普通响应请求消息还是优先响应请求消息。
参照图10,在步骤s1001中,操作控制器220可以基于命令响应cmd_res确定操作是已通过还是已失败。命令响应cmd_res可以指示存储器装置100执行对应于命令cmd的操作的结果。换言之,命令响应cmd_res可以指示存储器装置100执行的编程操作、读取操作或擦除操作的结果。因此,操作控制器220可以基于命令响应cmd_res来确定编程操作、读取操作或擦除操作是通过还是失败。
在步骤s1003中,命令响应接收器221可以生成失败信息fail_inf。详细地,在存储器装置100执行的操作已失败的情况下,命令响应接收器221可以生成并输出包括关于操作失败的信息的失败信息fail_inf。失败信息fail_inf可以包括用于错误校正操作的信息。换言之,在执行错误校正操作之前,由存储器装置100执行的操作失败。
在步骤s1005中,命令响应接收器221可以将失败信息fail_inf输出到优先响应失败处理器222。失败信息fail_inf可以包括用于重新执行失败操作的信息。换言之,失败信息fail_inf可以包括用于由存储器装置100执行错误校正操作的信息。
在步骤s1007中,优先响应失败处理器222可以在从命令响应接收器221接收到失败信息fail_inf之后生成用于重新执行失败操作的命令cmd。
详细地,在失败操作是写入操作的情况下,优先响应失败处理器222可以生成用于对包括在存储器装置100中的存储器单元阵列中的另一物理地址重新执行写入操作的命令cmd,并将命令cmd输出到存储器装置100。在失败操作是读取操作的情况下,优先响应失败处理器222可以生成用于以不同于先前失败读取操作的读取电压电平的读取电压电平重新执行读取操作的命令cmd,并将命令cmd输出到存储器装置100。存储器装置100可以响应于从优先响应失败处理器222提供的命令cmd来以不同的读取电压电平再次执行读取操作。
图11是示出根据本公开的实施例的存储器控制器200的操作的示图。
图11示出优先响应失败处理器222已将用于重新执行先前失败操作的命令cmd提供给存储器装置100之后的操作序列。
在步骤s1101中,消息信息生成器210可以从主机300接收请求消息req_msg。接收的请求消息req_msg可以是新请求消息。新请求消息可以与先前请求消息相同,或者可以是针对待由存储器装置100执行的新操作的请求消息。消息信息生成器210可以将新请求消息提供给操作控制器220。
在步骤s1103中,操作控制器220可以中断图10的失败处理操作s1001至s1007。详细地,如果操作控制器220从主机300接收到新请求消息,则操作控制器220可以不生成用于先前失败操作的错误校正等的命令cmd。因此,可以中断失败处理操作。也就是说,在接收到来自主机的新请求消息之前,存储器控制器220内部地重新执行失败处理操作,但是在接收到新请求消息之后不再重新执行失败处理操作。
在步骤s1105中,可以确定从主机300接收的新请求消息是否与先前请求消息相同。换言之,新请求消息可以是用于重新执行先前失败操作的请求消息,或者可以是用于执行与先前失败操作不同的操作的请求消息。也就是说,当主机请求重新执行先前失败操作或执行与先前失败操作不同的操作时,可以从主机接收新请求消息。如果新请求消息与先前请求消息相同,则进程进行到步骤s1109。如果新请求消息与先前请求消息不同,则进程进行到步骤s1107。
在步骤s1107中,操作控制器220可以输出对应于新请求消息req_msg的命令cmd。详细地,操作控制器220可以中断用于重新执行失败操作的操作,并输出用于执行新操作的命令cmd。存储器装置100可以执行与从操作控制器220接收的命令cmd对应的操作。
在步骤s1109中,可以确定响应输出控制器230是否已在参考时间内接收到操作完成信息oc_inf,参考时间可以是预设的。在从主机300接收的新请求消息与先前请求消息相同的情况下,新请求消息可以是用于请求先前失败操作的附加结果的附加结果请求消息。附加结果请求消息可以是优先响应请求消息。因此,响应输出控制器230可以基于是否已在参考时间内接收到操作完成信息oc_inf来确定消息响应msg_res的输出。在响应输出控制器230已在参考时间内接收到操作完成信息oc_inf的情况下,进程进行到步骤s1111。在响应输出控制器230在参考时间内没有接收到操作完成信息oc_inf的情况下,进程进行到步骤s1113。
在步骤s1111中,响应输出控制器230可以基于包括在操作完成信息oc_inf中的信息,将消息响应msg_res输出到主机300。如果从消息信息生成器210接收到响应特性信息rc_inf,则响应输出控制器230可以基于操作完成信息oc_inf输出消息响应msg_res。在操作完成信息oc_inf包括指示执行的操作已完成并通过的信息的情况下,响应输出控制器230可以输出指示操作已通过的消息响应msg_res。在操作完成信息oc_inf包括指示执行的操作已失败的信息的情况下,响应输出控制器230可以输出指示操作已失败的消息响应msg_res。
在步骤s1113中,响应输出控制器230可以输出指示操作已失败的消息响应msg_res。也就是说,步骤s1113的消息响应msg_res可以与图9的步骤s913的指示优先响应失败的消息响应msg_res相同。详细地,响应输出控制器230在参考时间内没有接收到操作完成信息oc_inf的情况可以是存储器装置100正在重新执行先前失败操作的情况。响应输出控制器230在参考时间内没有接收到操作完成信息oc_inf的情况可以是操作未通过的情况。因此,响应输出控制器230可以将指示操作已失败的消息响应msg_res输出到主机300。
图12是示出根据本公开的实施例的主机300的操作的示图。
参照图12,在步骤s1201中,主机300可以将请求消息确定为普通响应请求消息或优先响应请求消息。换言之,主机300可以基于将针对请求消息req_msg的消息响应msg_res提供给主机300的响应时间,将请求消息的类型确定为普通响应请求消息或优先响应请求消息。
在步骤s1203中,主机300可以生成并输出基于期望将针对请求消息req_msg的消息响应msg_res提供给主机300的响应时间而确定的请求消息req_msg。详细地,主机300可以将生成和输出的请求消息req_msg输出到消息信息生成器210和操作控制器220。消息信息生成器210和操作控制器220可以执行对应于请求消息req_msg的操作。
在步骤s1205中,主机300可以接收对应于请求消息reg_msg的消息响应msg_res。消息响应msg_res可以指示存储器装置100响应于提供的请求消息req_msg执行的操作的结果。基于从操作控制器220提供的操作完成信息oc_inf,消息响应msg_res可以指示存储器装置100执行的操作已通过或已失败。换言之,操作完成信息oc_inf可以包括命令响应cmd_res的成功或失败指示信息。
在步骤s1207中,在已接收到消息响应msg_res之后,主机300可以确定步骤s1203中输出到消息信息生成器210和操作控制器220的请求消息req_msg是否是优先响应请求消息。如果请求消息req_msg是优先响应请求消息,则进程进行到步骤s1209。
在步骤s1209中,在请求消息req_msg是优先响应请求消息的情况下,主机300可以确定是否在存储器装置100执行的特定操作完成之前已接收到消息响应msg_res。换言之,可以确定消息响应msg_res是否指示优先响应失败。指示优先响应失败的消息响应msg_res可以是当在参考时间内没有将操作完成信息oc_inf传送到响应输出控制器230时输出的响应。指示优先响应失败的消息响应msg_res可以指示存储器装置100正在执行响应于请求消息req_msg的操作。在主机300在特定操作完成之前已接收到消息响应msg_res的情况下,进程进行到步骤s1211。
在步骤s1211中,主机300可以确定生成并输出与先前请求消息相同的请求消息。在响应输出控制器230已输出指示优先响应失败的消息响应msg_res之后,主机300可以生成并输出新请求消息。新请求消息可以是请求先前失败操作的附加结果的附加结果请求消息,或者可以是针对待对存储器装置执行的新操作的请求消息。新请求消息可以是与先前请求消息相同或不同的请求消息。因此,如果主机300确定生成并输出与先前请求消息相同的请求消息,则存储器控制器200和存储器装置100可以执行与对应于先前请求消息的操作相同的操作。
图13是示出图1的存储器控制器的实施例的示图。
存储器控制器1000联接到主机和存储器装置。响应于来自主机的请求,存储器控制器1000可以访问存储器装置。例如,存储器控制器1000可以控制存储器装置的写入操作、读取操作、擦除操作和后台操作。存储器控制器1000可以提供存储器装置和主机之间的接口。存储器控制器1000可以驱动固件来控制存储器装置。
参照图13,存储器控制器1000可以包括处理器1010、存储器缓冲器1020、错误校正码(ecc)电路1030、主机接口1040、缓冲器控制电路1050、存储器接口1060和总线1070。
总线1070可以提供存储器控制器1000的组件之间的通道。
处理器1010可以控制存储器控制器1000的整体操作并且执行逻辑操作。处理器1010可以通过主机接口1040与外部主机通信,并且通过存储器接口1060与存储器装置通信。另外,处理器1010可以通过缓冲器控制电路1050与存储器缓冲器1020通信。处理器1010可以使用存储器缓冲器1020作为操作存储器、高速缓存存储器或缓冲存储器来控制存储装置的操作。
处理器1010可以执行闪存转换层(ftl)的功能。处理器1010可以通过ftl将由主机提供的逻辑块地址(lba)转换为物理块地址(pba)。ftl可以接收lba并使用映射表将lba转换为pba。可以根据映射单元以各种方式修改使用ftl的地址映射方法。代表性地址映射方法可以包括页面映射方法、块映射方法和混合映射方法。
处理器1010可以对从主机接收的数据进行随机化。例如,处理器1010可以使用随机化种子来对从主机接收的数据进行随机化。可以将随机化的数据作为待存储的数据提供给存储器装置,并且可以将随机化的数据编程到存储器单元阵列。
在读取操作期间,处理器1010可以对从存储器装置100接收的数据进行去随机化。例如,处理器1010可以使用去随机化种子来对从存储器装置接收的数据进行去随机化。可以将去随机化的数据输出到主机。
在实施例中,处理器1010可以驱动软件或固件来执行随机化操作或去随机化操作。
存储器缓冲器1020可以用作处理器1010的操作存储器、高速缓存存储器或缓冲存储器。存储器缓冲器1020可以存储待由处理器1010执行的代码和命令。存储器缓冲器1020可以存储待由处理器1010处理的数据。存储器缓冲器1020可以包括静态ram(sram)或动态ram(dram)。
ecc电路1030可以执行错误校正。ecc电路1030可以基于待通过存储器接口1060而写入存储器装置100的数据来执行ecc编码操作。ecc编码的数据可以通过存储器接口1060而传送到存储器装置。ecc电路1030可以对通过存储器接口1060而从存储器装置接收的数据执行ecc解码操作。例如,ecc电路1030可以作为存储器接口1060的组件而包括在存储器接口1060中。
主机接口1040可以在处理器1010的控制下与外部主机通信。主机接口1040可以使用诸如以下的各种通信方法中的至少一种来执行通信:通用串行总线(usb)、串行at附件(sata)、串列scsi(sas)、高速芯片间(hsic)、小型计算机系统接口(scsi)、外围组件互连(pci)、pci高速(pcie)、非易失性存储器高速(nvme)、通用闪存(ufs)、安全数字(sd)、多媒体卡(mmc)、嵌入式mmc(emmc)、双列直插式存储器模块(dimm)、寄存式dimm(rdimm)和低负载dimm(lrdimm)通信方法。
缓冲器控制电路1050可以在处理器1010的控制下控制存储器缓冲器1020。
存储器接口1060可以在处理器1010的控制下与存储器装置100通信。存储器接口1060可以通过通道与存储器装置通信命令、地址和数据。
在实施例中,存储器控制器1000可以既不包括存储器缓冲器1020也不包括缓冲器控制电路1050。可以单独提供这些组件中的任一个或两个,或者可以将这些组件的功能中的一个或两个分配给存储器控制器1000的其他组件。
例如,处理器1010可以使用代码来控制存储器控制器1000的操作。处理器1010可以从设置在存储器控制器1000中的非易失性存储器装置(例如,只读存储器)加载代码。可选地,处理器1010可以通过存储器接口1060从存储器装置加载代码。
例如,存储器控制器1000的总线1070可以分为控制总线和数据总线。数据总线可以在存储器控制器1000中传送数据。控制总线可以在存储器控制器1000中传送诸如命令和地址的控制信息。数据总线和控制总线可以彼此分离,并且可以彼此既不相互干扰也不相互影响。数据总线可以联接到主机接口1040、缓冲器控制电路1050、ecc电路1030和存储器接口1060。控制总线可以联接到主机接口1040、处理器1010、缓冲器控制电路1050、存储器缓冲器1020和存储器接口1060。
图14是示出应用根据本公开的实施例的存储装置的存储卡系统的框图。
参照图14,存储卡系统2000可以包括存储器控制器2100、存储器装置2200和连接器2300。
存储器控制器2100联接到存储器装置2200。存储器控制器2100可以访问存储器装置2200。例如,存储器控制器2100可以控制存储器装置2200的读取操作、写入操作、擦除操作和后台操作。存储器控制器2100可以提供存储器装置2200和主机之间的接口。存储器控制器2100可以驱动固件来控制存储器装置2200。存储器装置2200可以以与参照图5描述的存储器装置100的方式相同的方式实施。
在实施例中,存储器控制器2100可以包括诸如随机存取存储器(ram)、处理器、主机接口、存储器接口和ecc电路的组件。
存储器控制器2100可以通过连接器2300与外部装置通信。存储器控制器2100可以基于特定通信协议与外部装置(例如,主机)通信。在实施例中,存储器控制器2100可以通过诸如以下的各种通信协议中的至少一种与外部装置通信:通用串行总线(usb)、多媒体卡(mmc)、嵌入式mmc(emmc)、外围组件互连(pci)、pci高速(pci-e)、高级技术附件(ata)、串行ata(sata)、并行ata(pata)、小型计算机系统接口(scsi)、增强型小型磁盘接口(esdi)、电子集成驱动器(ide)、火线、通用闪存(ufs)、wi-fi、蓝牙和非易失性存储器高速(nvme)协议。在实施例中,连接器2300可以由上述各种通信协议中的至少一种来限定。
在实施例中,存储器装置2200可以被实施为诸如以下的各种非易失性存储器装置中的任意一种:电可擦除可编程rom(eeprom)、nand闪速存储器、nor闪速存储器、相变ram(pram)、电阻式ram(reram)、铁电ram(fram)和自旋转移力矩磁性ram(stt-mram)。
在实施例中,存储器控制器2100和存储器装置2200可以被集成到单个半导体装置中以形成诸如以下的存储卡:个人计算机存储卡国际协会(pcmcia)、紧凑型闪存(cf)卡、智能媒体卡(sm或smc)、记忆棒、多媒体卡(mmc、rs-mmc或微型-mmc)、sd卡(sd、迷你-sd、微型-sd或sdhc)或通用闪存(ufs)。
图15是示出应用根据本公开的实施例的存储装置的固态驱动器(ssd)系统3000的框图。
参照图15,ssd系统3000可以包括主机3100和ssd3200。ssd3200可以通过信号连接器3001与主机3100交换信号sig,并且可以通过电源连接器3002接收电力pwr。ssd3200可以包括ssd控制器3210、多个闪速存储器3221至322n、辅助电源3230和缓冲存储器3240。
在实施例中,ssd控制器3210可以执行上面参照图1描述的存储器控制器200的功能。
ssd控制器3210可以响应于从主机3100接收的信号sig来控制多个闪速存储器3221至322n。在实施例中,信号sig可以基于主机3100和ssd3200之间的接口。例如,信号sig可以由诸如以下的各种接口中的至少一种限定:通用串行总线(usb)、多媒体卡(mmc)、嵌入式mmc(emmc)、外围组件互连(pci)、pci高速(pci-e)、高级技术附件(ata)、串行ata(sata)、并行ata(pata)、小型计算机系统接口(scsi)、增强型小型磁盘接口(esdi)、电子集成驱动器(ide)、火线、通用闪存(ufs)、wi-fi、蓝牙和非易失性存储器高速(nvme)接口。
辅助电源3230可以通过电源连接器3002联接到主机3100。主机3100可以将电力pwr供应给辅助电源3230,并且辅助电源3230可以通过电力pwr充电。当主机3100不能平稳地供应电力时,辅助电源3230可以供应ssd3200的电力。在实施例中,辅助电源3230可以设置在ssd3200内或ssd3200外。例如,辅助电源3230可以设置在主板中,并且可以向ssd3200供应辅助电力。
缓冲存储器3240用作ssd3200的缓冲存储器。例如,缓冲存储器3240可以临时存储从主机3100接收的数据或从多个闪速存储器3221至322n接收的数据,或者可以临时存储闪速存储器3221至322n的元数据(例如,映射表)。缓冲存储器3240可以包括诸如dram、sdram、ddrsdram、lpddrsdram和gram的易失性存储器,或者诸如fram、reram、stt-mram和pram的非易失性存储器。
图16是示出应用根据本公开的实施例的存储装置的用户系统4000的框图。
参照图16,用户系统4000可以包括应用处理器4100、存储器模块4200、网络模块4300、存储模块4400和用户接口4500。
应用处理器4100可以运行包括在用户系统4000中的组件、操作系统(os)或用户程序。在实施例中,应用处理器4100可以包括用于控制包括在用户系统4000中的组件的控制器、接口、图形引擎等。应用处理器4100可以被提供为片上系统(soc)。
存储器模块4200可以用作用户系统4000的主存储器、工作存储器、缓冲存储器或高速缓存存储器。存储器模块4200可以包括诸如dram、sdram、ddrsdram、ddr2sdram、ddr3sdram、lpddrsdarm和lpddr3sdram的易失性ram,或者诸如pram、reram、mram和fram的非易失性ram。在实施例中,应用处理器4100和存储器模块4200可以基于层叠封装(pop)来封装,然后可以被提供为单个半导体封装。
网络模块4300可以与外部装置通信。例如,网络模块4300可以支持诸如以下的无线通信:码分多址(cdma)、全球移动通信系统(gsm)、宽带cdma(wcdma)、cdma-2000、时分多址(tdma)、长期演进(lte)、wimax、wlan、uwb、蓝牙或wi-fi通信。在实施例中,网络模块4300可以包括在应用处理器4100中。
存储模块4400中可以存储数据。例如,存储模块4400可以存储从应用处理器4100接收的数据。可选地,存储模块4400可以将存储在存储模块4400中的数据传送到应用处理器4100。在实施例中,存储模块4400可以被实施为诸如以下的非易失性半导体存储器装置:相变ram(pram)、磁性ram(mram)、电阻式ram(rram)、nand闪速存储器、nor闪速存储器或具有三维(3d)结构的nand闪速存储器。在实施例中,存储模块4400可以被提供为诸如存储卡或用户系统4000的外部驱动器的可移除存储介质(即,可移除驱动器)。
在实施例中,存储模块4400可以包括多个非易失性存储器装置,并且多个非易失性存储器装置中的每一个可以以与上面参照图5至图8描述的存储器装置100的方式相同的方式操作。存储模块4400可以以与上面参照图1描述的存储装置50的方式相同的方式操作。
用户接口4500可以包括用于将数据或指令输入到应用处理器4100或用于将数据输出到外部装置的接口。在实施例中,用户接口4500可以包括诸如键盘、小键盘、按钮、触摸板、触摸屏、触摸板、触摸球、相机、麦克风、陀螺仪传感器、振动传感器和压电装置的用户输入接口。用户接口4500可以进一步包括诸如液晶显示器(lcd)、有机发光二极管(oled)显示装置、有源矩阵oled(amoled)显示装置、led、扬声器和监视器的用户输出接口。
本公开的各个实施例提供了一种存储器控制器及操作该存储器控制器的方法,该存储器控制器被配置成在限定时间输出响应。
尽管已经公开了本公开的实施例,但是根据本公开,本领域技术人员将理解的是,在不脱离本公开的范围和精神的情况下,可以进行各种修改、添加和替换。
因此,本公开的范围由所附权利要求及其等同方案限定,而不是由前面的描述限定。
在上面讨论的实施例中,可以选择性地执行或跳过所有步骤。另外,每个实施例中的步骤可以不总是以常规顺序执行。而且,本说明书和附图中公开的实施例旨在帮助本领域技术人员更清楚地理解本公开,而不是旨在限制本发明的范围。换言之,本领域技术人员将能够容易地理解的是,基于本公开的技术范围,各种修改是可能的。
尽管在说明书中使用了特定术语或词语,但其并不旨在限制本发明的范围。应理解的是,本文中描述的基本发明构思的许多修改方案和变型方案仍将落入如所附权利要求及其等同方案中所限定的本公开的精神和范围内。
1.一种存储器控制器,控制包括存储器单元阵列的存储器装置,所述存储器控制器包括:
消息信息生成器,从主机接收第一请求消息,并且生成和输出指示所述第一请求消息的类型的响应特性信息,所述第一请求消息的类型限定将对所述第一请求消息的消息响应提供至所述主机的响应时间;以及
响应输出控制器,基于所述响应特性信息确定将对应于所述第一请求消息的消息响应输出到所述主机的时间。
2.根据权利要求1所述的存储器控制器,进一步包括:操作控制器,生成对应于所述第一请求消息的第一命令并且将所述第一命令输出到所述存储器装置,以及从所述存储器装置接收对应于所述第一命令的第一命令响应并且基于所述第一命令响应生成和输出第一操作完成信息。
3.根据权利要求2所述的存储器控制器,其中所述操作控制器生成包括所述第一命令响应的成功或失败指示信息的所述第一操作完成信息。
4.根据权利要求3所述的存储器控制器,
其中所述第一请求消息是普通响应请求消息和优先响应请求消息中的一种,
其中当所述第一请求消息是所述普通响应请求消息时,所述响应输出控制器当接收到所述第一操作完成信息时输出所述消息响应,并且
其中当所述第一请求消息是所述优先响应请求消息时,所述响应输出控制器基于在由所述优先响应请求消息限定的参考时间内是否已接收到所述第一操作完成信息来输出所述消息响应。
5.根据权利要求4所述的存储器控制器,其中所述响应输出控制器包括:
第一消息响应输出组件,输出与所述第一操作完成信息对应的第一消息响应;以及
第二消息响应输出组件,输出与所述第一操作完成信息和所述参考时间对应的第二消息响应。
6.根据权利要求5所述的存储器控制器,其中当所述第一请求消息是所述普通响应请求消息并且接收到所述第一操作完成信息时,或者当所述第一请求消息是所述优先响应请求消息并且在所述参考时间内接收到所述第一操作完成信息时,所述第一消息响应输出组件输出所述第一消息响应。
7.根据权利要求5所述的存储器控制器,其中当所述第一请求消息是所述优先响应请求消息并且在所述参考时间内没有接收到所述第一操作完成信息时,所述第二消息响应输出组件在已经过所述参考时间之后输出包括优先响应失败的所述第二消息响应,所述第二消息响应指示正在执行对应于所述第一请求消息的操作。
8.根据权利要求5所述的存储器控制器,其中在所述响应输出控制器输出所述第二消息响应之后,所述操作控制器从所述主机接收第二请求消息。
9.根据权利要求8所述的存储器控制器,其中所述操作控制器生成对应于所述第二请求消息的第二命令并且将所述第二命令输出到所述存储器装置,以及从所述存储器装置接收对应于所述第二命令的第二命令响应并且基于所述第二命令响应生成和输出第二操作完成信息。
10.根据权利要求9所述的存储器控制器,其中当所述第二请求消息与所述第一请求消息相同时,所述第二命令与所述第一命令相同并且所述操作控制器基于对应于所述第二命令的所述第二命令响应来生成所述第二操作完成信息。
11.根据权利要求9所述的存储器控制器,其中当所述第二请求消息与所述第一请求消息不同时,所述操作控制器生成与所述第一命令不同并且对应于所述第二请求消息的所述第二命令,并且将所述第二命令输出到所述存储器装置。
12.根据权利要求10所述的存储器控制器,其中当所述第一请求消息是写入请求消息时,所述操作控制器改变对应于所述第一命令的物理地址并且将具有所改变的物理地址的所述第一命令输出到所述存储器装置,从而对所述存储器单元阵列中的所改变的物理地址执行所述第一命令。
13.根据权利要求10所述的存储器控制器,其中当所述第一请求消息是读取请求消息时,所述操作控制器改变对应于所述第一命令的读取电压电平并且将具有所改变的读取电压电平的所述第一命令输出到所述存储器装置,从而以所改变的读取电压电平来执行所述第一命令。
14.一种操作存储器控制器的方法,所述存储器控制器控制包括存储器单元阵列的存储器装置,所述方法包括:
从主机接收第一请求消息;
生成并输出指示所述第一请求消息的类型的响应特性信息,所述第一请求消息的类型限定将对所述第一请求消息的消息响应提供至所述主机的响应时间;以及
基于所述响应特性信息输出对应于所述第一请求消息的所述消息响应。
15.根据权利要求14所述的方法,进一步包括:
生成对应于所述第一请求消息的第一命令并且将所述第一命令输出到所述存储器装置;
从所述存储器装置接收对应于所述第一命令的第一命令响应;以及
基于所述第一命令响应来生成并输出第一操作完成信息。
16.根据权利要求15所述的方法,其中生成并输出所述第一操作完成信息包括:生成包括所述第一命令响应的成功或失败指示信息的所述第一操作完成信息。
17.根据权利要求16所述的方法,
其中所述第一请求消息是普通响应请求消息和优先响应请求消息中的一种,并且
其中输出所述消息响应包括:
当所述第一请求消息是所述普通响应请求消息时,当接收到所述第一操作完成信息时输出第一消息响应;以及
当所述第一请求消息是所述优先响应请求消息时,基于在对应于所述优先响应请求消息的参考时间内是否已接收到所述第一操作完成信息,输出所述第一消息响应或第二消息响应。
18.根据权利要求17所述的方法,其中输出所述消息响应包括:当所述第一请求消息是所述优先响应请求消息并且在所述参考时间内接收到所述第一操作完成信息时,在接收到所述第一操作完成信息时输出所述第一消息响应。
19.根据权利要求17所述的方法,其中输出所述消息响应包括:当所述第一请求消息是所述优先响应请求消息并且在所述参考时间内没有接收到所述第一操作完成信息时,在已经过所述参考时间之后输出包括优先响应失败的所述第二消息响应,所述第二消息响应指示正在执行对应于所述第一请求消息的操作。
20.根据权利要求18所述的方法,进一步包括:
在输出所述第二消息响应之后从所述主机接收第二请求消息,
其中所述第二请求消息是与所述第一请求消息相同的请求消息或新请求消息。
21.根据权利要求20所述的方法,进一步包括:当所述第二请求消息与所述第一请求消息相同时,生成用于重新执行对应于所述第一请求消息的操作的命令。
22.根据权利要求21所述的方法,其中生成用于重新执行对应于所述第一请求消息的操作的命令包括:
当所述第一请求消息是写入请求消息时,改变对应于所述第一命令的物理地址并且将具有所改变的物理地址的所述第一命令输出到所述存储器装置,从而对所述存储器单元阵列中的所改变的物理地址执行所述第一命令;以及
当所述第一请求消息是读取请求消息时,改变对应于所述第一命令的读取电压电平并且将具有所改变的读取电压电平的所述第一命令输出到所述存储器装置,从而以所改变的读取电压电平执行所述第一命令。
23.一种存储器控制器,控制包括存储器单元阵列的存储器装置,所述存储器控制器包括:
消息信息生成器,从主机接收请求消息并且生成和输出响应特性信息,所述响应特性信息包括关于所述请求消息是优先响应请求消息还是普通响应请求消息的信息;以及
响应输出控制器,当所述响应特性信息包括关于所述优先响应请求消息的信息时,在所述存储器装置重新执行失败操作之前将消息响应输出到所述主机,所述消息响应指示操作已失败。
24.一种操作主机的方法,所述主机控制存储数据的存储装置,所述方法包括:
将请求消息确定为普通响应请求消息和优先响应请求消息中的一种以对所述存储装置执行特定操作;
生成并输出所确定的请求消息;以及
接收与所确定的请求消息对应的消息响应,
其中接收所述消息响应包括:
当所确定的请求消息是所述普通响应请求消息时,在所述特定操作完成之后接收所述消息响应;以及
当所确定的请求消息是所述优先响应请求消息时,在所述特定操作完成之前或之后接收所述消息响应。
25.根据权利要求24所述的方法,进一步包括:当所确定的请求消息是所述优先响应请求消息并且在所述特定操作完成之前接收到所述消息响应时,确定生成并输出与所确定的请求消息相同的请求消息。
26.一种操作存储器系统的方法,所述方法包括:
响应于来自主机的优先响应请求消息控制存储器装置执行操作,所述优先响应请求消息在设定响应时间内请求操作响应;
当由于所述存储器装置未完成所述操作而在所述响应时间内不能将所述操作响应提供至所述主机时,将失败响应提供至所述主机;以及
在所述存储器装置完成所述操作时,将所述操作响应提供至所述主机。
技术总结