存储器系统和由存储器系统执行的控制方法
【专利摘要】提供一种存储器装置、存储器系统和由存储器系统执行的控制方法。所述控制方法包括如下操作:由存储器系统的第一功能块产生主请求,所述主请求包括对由外部源请求的第一操作的第一子请求以及对依赖于第一操作的处理结果的第二操作的第二子请求;由存储器系统的第二功能块处理第一子请求或第二子请求;当由第二功能块执行的第一子请求的处理结果为失败时,由存储器系统的第三功能块,将作为对主请求的响应的中止信息发送给第一功能块,而不管第二子请求的处理。
【专利说明】存储器系统和由存储器系统执行的控制方法
[0001]本申请要求于2013年I月28日提交到韩国知识产权局的第10-2013-0009508号韩国专利申请的权益,该申请的内容通过引用全部包含于此。
【技术领域】
[0002]本发明构思的实施例涉及一种存储器装置、存储器系统和/或由该存储器系统执行的控制方法,更具体地讲,涉及一种能够改善装置或系统的功能的存储器装置、存储器系统和/或由该存储器系统执行的控制方法。
【背景技术】
[0003]由于存储器装置或存储器系统所请求的数据量的增加,有效控制存储器装置或存储器系统的数据处理变得很重要。
【发明内容】
[0004]本发明构思的实施例提供一种可提高存储器装置或存储器系统的性能的存储器装置、存储器系统和/或由该存储器系统执行的控制方法。
[0005]根据至少一个示例实施例,一种由存储器系统执行的控制方法,所述控制方法包括:由所述存储器系统的第一功能块产生主请求,所述主请求包括第一子请求和第二子请求,所述第一子请求用于由外部源请求的第一操作,所述第二子请求用于依赖于第一操作的处理结果的第二操作;由存储器系统的第二功能块处理第一子请求和第二子请求中的至少一个;由所述存储器系统的第三功能块在由第二功能块执行的第一子请求的处理结果为失败时,即使第二子请求的处理未完成也将对主请求的响应的中止信息发送给第一功能块。
[0006]根据至少一个示例实施例,一种由包括存储器控制器和NAND闪存装置的NAND闪速存储器系统执行的输入和输出处理方法,所述输入和输出处理方法包括:由固件单元产生包括第一子请求和至少一个第二子请求的主请求,所述第一子请求用于由外部源请求的第一操作,所述至少一个第二子请求用于依赖于第一操作的第二操作,所述存储器控制器包括所述固件单元,所述固件单元包括与处理来自外部源的请求关联的命令和数据;将第一子请求或第二子请求中的至少一个排入包括在存储器控制器中的命令队列中,所述排入由包括在存储器控制器中并控制NAND闪存装置的管理单元执行;处理第一子请求;当第一子请求的处理结果为失败时,即使第二子请求的处理未完成,也由管理单元将作为对主请求的响应的中止信息输出给第一功能块。
[0007]根据至少一个示例实施例,一种存储器系统,包括:存储器装置,被构造为处理第一子请求和第二子请求,所述第二子请求要求依赖于第一子请求的处理结果的操作;存储器控制器,被构造为控制存储器装置处理第一子请求和第二子请求,其中,所述存储器控制器包括第一控制器以及被构造为控制存储器装置的管理单元,所述第一控制器包括用于处理来自外部源的请求的命令和数据,所述固件单元被构造为输出包括第一子请求和第二子请求的主请求,并产生主请求的处理结果,所述管理单元被构造为接收主请求,将第一子请求和第二子请求设置为依赖关系组,在所述设置之后将第一子请求和第二子请求排入命令队列中,当第一子请求的处理结果为失败时,将作为对主请求的响应的中止信息发送给第一功能块,而不控制第二子请求的处理。
[0008]根据至少一个示例实施例,一种存储系统,包括:第一功能块,被构造为发送包括第一子请求和第二子请求的主请求,所述第一子请求和所述第二子请求对应于由外部源请求的操作,所述第二子请求要求依赖于第一子请求的处理结果的操作;第二功能块,被构造为处理第一子请求和第二子请求;第三功能块,被构造为控制由第二功能块处理第一子请求和第二子请求,当第一子请求的处理结果为失败时,将作为对主请求的响应的中止信息发送给第一功能块,而不控制第二功能块的处理。
[0009]一种控制存储器系统的方法,所述存储器系统包括存储器装置以及被构造为控制所述存储器装置的存储器控制器,所述方法包括:在存储器系统处从外部装置接收外部请求,所述外部请求至少对应于第一操作和第二操作,所述第二操作依赖于所述第一操作;在存储器控制器中的第一功能块处产生包括对于第一操作的第一子请求和对于第二操作的第二子请求的主请求;在存储器装置中的第二功能块处处理第一子请求;确定第一子请求的处理结果;当第一子请求的处理结果指示第一子请求的处理失败时,在第二功能块完成第二子请求的处理之前从存储器控制器中的第三功能块将作为对主请求的响应的中止信息发送给第一功能块。
【专利附图】
【附图说明】
[0010]通过参照附图详细描述示例实施例,示例实施例的上述和其他特征和优点将变得更明显。附图意在描绘示例实施例,不应解释为限制权利要求的预期范围。除非明确指出,否则附图不应被认为是按比例绘制。
[0011]图1是根据本发明构思的实施例的存储器系统所执行的控制方法的流程图;
[0012]图2是示出根据本发明构思的实施例的存储器系统的框图;
[0013]图3至图5示出图2的存储器系统的示例;
[0014]图6示出图5的存储器控制器的示例;
[0015]图7是根据本发明构思的实施例的图5的存储器系统应用于固态驱动器(SSD)的示例的框图;
[0016]图8从概念上示出根据本发明构思的实施例的图5的固件单元;
[0017]图9示出包括在图5的NAND闪速存储器中的存储器单元阵列的结构;
[0018]图10示出图9的块的示例;
[0019]图11是示出图10的存储单元的示例的剖视图;
[0020]图12示出根据设置到图9的存储单元阵列的编程状态的阈值电压的分布;
[0021]图13和图14示出根据本发明构思的另一实施例的图1的控制方法的示例;
[0022]图15示出根据针对图14的控制方法的比较例的控制方法;
[0023]图16示出根据本发明构思的另一实施例的图1的控制方法的示例;
[0024]图17示出根据针对图16的控制方法的比较例的控制方法;
[0025]图18和图19示出根据本发明构思的另一实施例的图1的控制方法的示例;[0026]图20示出根据针对图19的控制方法的比较例的控制方法;
[0027]图21和图22示出根据本发明构思的另一实施例的图1的控制方法的示例;
[0028]图23示出根据针对图22的控制方法的比较例的控制方法;
[0029]图24是根据本发明构思的另一实施例的存储器系统所执行的控制方法的流程图;
[0030]图25是根据本发明构思的实施例的第三功能块所执行的排队操作的流程图;
[0031]图26和图27示出包括在第三功能块中的命令队列的示例;
[0032]图28是根据本发明构思的实施例的针对第三功能块的主响应的操作的流程图;
[0033]图29是根据本发明构思的实施例的由第一功能块FCUl执行并对应于主响应的处理的流程图;
[0034]图30是作为针对根据本发明构思的实施例的存储器系统所执行的控制方法的比较例的控制方法的流程图;
[0035]图31至图34示出根据本发明构思的其他实施例的存储器系统;
[0036]图35示出根据本发明构思的实施例的计算机系统;
[0037]图36示出根据本发明构思的实施例的服务器系统和网络系统。
【具体实施方式】
[0038]本文公开了本发明构思的详细示例实施例。然而,本文所公开的特定结构和功能细节仅是代表性的,是为了描述本发明构思的示例实施例。然而,本发明构思的示例实施例可以许多替代形式来实施,不应解释为仅限于本文所阐述的实施例。
[0039]因此,尽管本发明构思的示例实施例能够有各种修改和替代形式,其实施例仅在图中作为示例示出,并将在本文中详细描述。然而,应该理解,并非意在将本发明构思的示例实施例限于所公开的特定形式,而是相反,本发明构思的示例实施例将覆盖落入本发明构思的示例实施例的范围内的所有修改形式、等同形式和替代形式。贯穿附图的描述,类似的标号指代类似的元件。
[0040]将理解,尽管本文中可使用术语第一、第二等来描述各种元件,这些元件不应受这些术语限制。这些术语仅用于将一个元件与另一元件区分。例如,在不脱离本发明构思的示例实施例的范围的情况下,第一元件可称为第二元件,类似地,第二元件可称为第一元件。如本文所用,术语“和/或”包括一个或多个相关所列项的任何和所有组合。
[0041]将理解,当元件被称作“连接”或“耦合”到另一元件时,其可直接连接到或耦合到该另一元件,或者可存在中间元件。相反,当元件被称作“直接连接”或“直接耦合”到另一元件时,不存在中间元件。用于描述元件之间的关系的其他词应该以类似方式解释(如,“之间”对“直接之间”、“相邻”对“直接相邻”等)。
[0042]本文所用术语仅是为了描述特定实施例,而非意在限制本发明构思的示例实施例。如本文所用,单数形式意在也包括多数形式,除非上下文清楚地另外指示。还将理解,当在本文中使用时,术语“包括”和/或“包含”指定存在所述特征、整数、步骤、操作、元件和/或部件,但不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、部件和/或其组。
[0043]还应该注意的是,在一些替代实现方式中,提及的功能/行为可不按图中所提及的顺序而发生。例如,根据所涉及的功能/行为,连续示出的两个图实际上可基本上同时执行,或者有时可按照相反的顺序执行。
[0044]除非明确地另外描述,本文所用的包括描述性术语或技术术语的所有术语应该被解释为具有对本领域普通技术人员而言显而易见的含义。另外,在常用字典中定义并在下面的描述中使用的术语应该被解释为具有与相关描述中所使用的含义相等的含义,并且除非本文中明确地另外描述,这些术语不应以理想或过度形式解释。
[0045]位于元件名单之后的诸如“……的至少一个”的表达修饰整个元件名单,而不修饰名单中的各个元件。
[0046]图1是根据本发明构思的实施例的存储器系统MSYS所执行的控制方法的流程图。图2是示出根据本发明构思的实施例的存储器系统MSYS的框图。
[0047]参照图1和图2,存储器系统MSYS所执行的控制方法包括:由第一功能块TOUl产生包括第一子请求SREQl和第二子请求SREQ2的主请求MREQ (操作S120);针对第二功能块F⑶2处理第一子请求SREQl或第二子请求SREQ2 (操作S140);当第一子请求SREQl的第一处理结果RSTI为失败时,不处理第二子请求SREQ2,并将中止信息ABORT作为响应于主请求MREQ的主响应MRSP而发送给第一功能块TOUl (操作S160)。
[0048]第一功能块F⑶I产生与从外部源(如,将在稍后描述的主机设备)输入的操作请求对应的主请求MREQ。主请求MREQ包括与第一操作对应的第一子请求SREQl和与第二操作对应的第二子请求SREQ2,其中第一操作和第二操作形成来自外部源的操作请求。
[0049]第一功能块F⑶I所产生的主请求MREQ可输入至第三功能块F⑶3。主请求MREQ可对应于主机设备对存储器系统MSYS的请求。如上所述,主请求MREQ包括第一子请求SREQl和第二子请求SREQ2 二者。因此,第三功能块F⑶3可从第一功能块F⑶I同时接收针对第一子请求SREQl和第二子请求SREQ2的处理请求。
[0050]响应于来自第一功能块F⑶I的主请求MREQ,第三功能块F⑶3控制主请求MREQ由第二功能块FCU2处理。例如,第三功能块FCU3可将第一控制信号XCONl和第二控制信号XC0N2发送给第二功能块FCU2,其中第一控制信号XCONl和第二控制信号XC0N2分别对应于包括在主请求MREQ中的第一子请求SREQl和第二子请求SREQ2。
[0051]第一控制信号XCONl和第二控制信号XC0N2可包括第二功能块TOU2执行第一子请求SREQl和第二子请求SREQ2所需的各种类型的信息。第三功能块FCU3可同时或顺序发送第一控制信号XCONl和第二控制信号XC0N2。第一控制信号XCONl和第二控制信号XC0N2的示例在下面描述。
[0052]第二功能块rcU2响应于第一控制信号XCONl和第二控制信号XC0N2而分别处理第一子请求SREQl和第二子请求SREQ2。然后,第二功能块F⑶2将作为针对第一子请求SREQl和第二子请求SREQ2的第一处理结果RSTl和第二处理结果RST2的处理结果发送给第三功能块F⑶3。第二功能块F⑶2可将第一处理结果RSTl和第二处理结果RST2同时或顺序发送给第三功能块F⑶3。
[0053] 可选择地,第二功能块F⑶2可仅发送第一处理结果RSTl和第二处理结果RST2中的一个。例如,当第一处理结果RSTl和第二处理结果RST2中先前处理的一个处理结果为失败时,第二功能块F⑶2可不发送另一处理结果。可选择地,当第一处理结果RSTl和第二处理结果RST2中先前处理的一个处理结果为失败时,第二功能块FCU2可不执行针对除了与失败的处理结果对应的子请求之外的子请求的处理。
[0054]参照图1和图2,在本实施例中,包括在主请求MREQ中的第一子请求SREQl和第二子请求SREQ2是依赖的。例如,第二子请求SREQ2可依赖于第一子请求SREQl的第一处理结果RSTl。可选择地,第一子请求SREQl可依赖于第二子请求SREQ2的第二处理结果RST2。在这种情况下,当第一处理结果RSTl为失败时,第二子请求SREQ2或第二处理结果RST2可能没有意义。包括第一子请求SREQl和第二子请求SREQ2 二者的主请求MREQ的示例将在下面描述。
[0055]存储器系统MSYS的第三功能块K:U3从第二功能块TOU2接收第一处理结果RSTl或第二处理结果RST2,然后将第一处理结果RSTl或第二处理结果RST2作为响应于主请求MREQ的主响应MRSP而发送给第一功能块F⑶I。例如,当第二子请求SREQ2依赖于第一子请求SREQl的第一处理结果RSTl时,第三功能块F⑶3可接收被处理为失败的第一处理结果RSTl,并且可以与第二处理结果RST2的接收或第二处理结果RST2的细节无关地,将主响应MRSP作为中止信息ABORT发送给第一功能块TOUl。
[0056]在这种情况下,第一功能块F⑶I可仅处理响应于第一子请求SREQl和第二子请求SREQ2的一个主响应MRSP。因此,相关的第一子请求SREQl和第二子请求SREQ2作为一个主请求MREQ从第一功能块FCUl被同时请求,其结果作为一个主响应MRSP由第一功能块FCUl同时处理,从而对于对应主请求的重试,可减小当第一功能块FCUl分别接收对第一子请求SREQl和第二子请求SREQ2的响应并对所述响应执行处理时所引起的开销。
[0057]例如,可不执行错误处理,在所述错误处理中,即使第一子请求SREQl和第二子请求SREQ2中的第一子请求SREQl的处理结果为失败第二子请求SREQ2的响应仍被单独搜索并被取消。另外,可减小必须等待对第一子请求SREQl的响应,然后发送与第一子请求SREQl相关的第二子请求SREQ2的第一功能块F⑶I的开销。
[0058]参照图2,第一功能块F⑶I和第三功能块F⑶3直接交换主请求MREQ与主响应MRSP。另外,参照图2,第二功能块F⑶2和第三功能块F⑶3直接交换第一处理结果RSTl和第二处理结果RST2与第一控制信号XCONl和第二控制信号XC0N2。然而,图2的示例是为了方便描述。根据本实施例的存储器系统MSYS还可包括另一功能块,其执行在第一功能块F⑶I和第三功能块F⑶3中或者在第二功能块F⑶2和第三功能块F⑶3中产生的信号的交换。这一另外的布置方式还可应用于将在下面描述的其他实施例。
[0059]参照图1和图2,第一功能块F⑶1、第二功能块F⑶2和第三功能块F⑶3中的每一个可执行特定功能。图3至图5示出第一功能块FCU1、第二功能块FCU2和第三功能块FCU3的各种示例。
[0060]例如,如图3所示,第一功能块rcui可为固件单元。实现为第一功能块rcui的固件单元是包括驱动存储器系统MSYS的命令和数据并存储在特定存储装置(例如,硬件)中的软件。固件单元执行与来自主机设备的请求相关的机器代码处理,以执行主机设备针对存储器系统MSYS的请求、数据传输、列表处理、浮点计算、信道控制等。所述特定存储装置可以是只读存储器(ROM)或闪速存储器。
[0061]可选择地,所述第一功能块可被实现为作为硬件的第一控制器。第一控制器可存储有用于处理来自外部源的请求的命令和数据,并且可基于来自外部请求产生和输出包括第一子请求和第二子请求的主请求。此外,第一控制器还可产生所述来自外部的请求的处理结果。
[0062]如图3所示,第二功能块F⑶2可包括存储器,第三功能块F⑶3可以是管理单元。当第二功能块rcU2包括存储器时,第一控制信号XCONl和第二控制信号XC0N2可包括关于数据、地址、命令和操作电压的信息以处理第一子请求SREQl和第二子请求SREQ2。另外,第一处理结果RSTl和第二处理结果RST2可指示数据编程是否成功,或者可以是读取的数据。
[0063]如图4所示,作为固件单元的第一功能块rcui和作为管理单元的第三功能块TOU3可包括在存储器控制器MCtrl中,该存储器控制器MCtrl控制包括包含存储器的第二功能块K:U2的存储器装置MDEV。可选择地,第三功能块K:U3可包括在存储器装置MDEV中,或者可包括在存储器控制器MCtrl和存储器装置MDEV 二者中。
[0064]包括在第二功能块F⑶2中的存储器可以是易失性存储器(例如,DRAM、SRAM等),或者可以是非易失性存储器(例如,EEPROM、FRAM、PRAM、MRAM等)。可选择地,包括在第二功能块FCU2中的存储器可以是闪速存储器。图5示出包括在第二功能块FCU2中的存储器是NAND闪速存储器的示例。
[0065]在图5的示例中,第三功能块F⑶3可以是NAND管理器,其控制作为第二功能块F⑶2的NAND闪速存储器的操作。NAND管理器可以是状态机以控制NAND闪速存储器,并且可包括将在下面更详细地描述的命令队列。当第一子请求SREQl和第二子请求SREQ2排入包括在NAND管理器中的命令队列中时,NAND管理器可分析第一子请求SREQl和第二子请求SREQ2,并可将用于控制NAND操作的第一控制信号XCONl和第二控制信号XC0N2发送给作为第二功能块FCU2的NAND闪速存储器。
[0066]在第二功能块F⑶2包括NAND闪速存储器的图5的示例中,第一功能块F⑶I和第三功能块FCU3可如先前的实施例中一样包括在存储器控制器MCtrl中。
[0067]图6示出图5的存储器控制器MCtrl的示例。参照图6,在存储器控制器MCtrl中,主机接口单元HIF、存储器接口单元MIF、本地存储器LMEM、缓冲器BUF和处理器PRO可连接到总线BUS。
[0068]主机接口单元HIF提供与外部主机设备HOST的接口。例如,主机接口单元HIF可提供(但不限于)串行高级技术附件(SATA)接口或串行连接SCSI (SAS)接口。可选择地,主机接口单元HIF可利用诸如通用串行总线(USB )、人机通信(MMC)、外围组件快速互连(PC1-E)、并行高级技术附件(PATA)、小计算机系统接口(SCSI)、增强型小设备接口(ESD)、智能驱动电子设备(IDE)等各种接口协议来提供与外部主机设备HOST的接口。此外,主机接口单元HIF可包括命令队列。
[0069]响应于来自主机设备HOST的请求,存储器接口单元MIF可提供与存储器装置MDEV的接口,以将数据编程到存储器装置MDEV或从存储器装置MDEV读取数据。例如,存储器接口单元MIF可向存储器装置MDEV提供结果,其中所述结果通过将从主机设备HOST发送的逻辑块地址变换为存储器装置MDEV中的页的物理地址而获得。
[0070]缓冲器BUF可用于主机设备HOST与存储器装置MDEV之间的平滑数据传输。例如,缓冲器BUF可暂时存储根据主机设备HOST的请求而将被编程到存储器装置MDEV中的数据。除此之外或作为替代,缓冲器BUF可暂时存储根据主机设备HOST的请求而从存储器装置MDEV读取的数据。缓冲器BUF可被实现为易失性存储器(例如,DRAM或SRAM)或者可被实现为非易失性存储器(例如,MRAM、PRAM、FRAM或闪速存储器)。[0071]本地存储器LMEM可加载或存储数据和控制模块或控制程序,其由存储器控制器MCtrl使用以控制主机设备HOST的请求在存储器装置MDEV中被处理。例如,作为第一功能块F⑶I的固件单元可被实现于本地存储器LMEM中。另外,本地存储器LMEM可加载或存储操作系统以及执行地址映射所参考的映射表。类似于缓冲器BUF,本地存储器LMEM可被实现为易失性存储器(例如,DRAM或SRAM)或者可被实现为非易失性存储器(例如,MRAM、PRAM,FRAM或闪速存储器)。然而,当本地存储器LMEM形成为固件单元时,本地存储器LMEM可被实现为非易失性存储器。本地存储器LMEM可由一个或多个相同的存储器或不同的存储器形成。
[0072]处理器PRO控制存储器控制器MCtrl中的每个元件的操作,并解释和执行存储在或加载到本地存储器LMEM中的控制模块或控制程序,从而处理主机设备HOST的请求。
[0073]当存储器系统MSYS包括固态驱动器(SSD)或者包括在SSD中时,图6的存储器控制器MCtrl可包括在图7的SSD控制器MCtrl中。
[0074]图7是根据本发明构思的实施例的存储器系统MSYS应用于SSD的示例的框图。
[0075]参照图7,SSD (即,存储器系统MSYS)包括SSD控制器MCtrl和存储器装置MDEV。SSD MSYS控制器MCtrl响应于经由SSD的第一端口 PTl从主机设备HOST接收的信号SGL来控制存储器装置MDEV。SSD控制器MCtrl可经由多个信道Chl至Chn连接到存储器装置MDEV。存储器装置MDEV可包括多个NAND闪速存储器。然而,除此之外或作为替代,存储器装置MDEV可包括除了 NAND闪速存储器之外的闪速存储器或除了闪速存储器之外的非易失性存储器。
[0076]SSD还可包括辅助电源DSP,因此可经由第二端口 PT2从主机设备HOST接收功率PWR。可选择地,SSD可从除了主机设备HOST之外的外部电源接收功率。
[0077]SSD可经由第一端口 PTl输出通过处理主机设备HOST的请求而获得的结果,S卩,信号SGL。从SSD输出的信号SGL可以是主响应MRSP。
[0078]上述由存储器控制器MCtrl或SSD控制器MCtrl针对主机设备HOST的请求执行的控制可利用通过固件单元FCUl设置的数据和命令来执行。当存储器系统MSYS如图7所示包括SSD时,固件单元rcui可如图8所示。
[0079]图8从概念上示出根据本发明构思的实施例的固件单元。参照图5、图7和图8,包括在固件单元中的固件可包括主机接口层HIL和闪速转换层FTL。主机接口层HIL处理来自主机设备HOST的命令。例如,主机接口层HIL可包括诸如与主机设备HOST的请求SGL相关的机器代码处理、数据传输等功能。
[0080]闪速转换层FTL可根据在主机接口层HIL中处理的命令执行控制或资源分配以将从主机设备HOST接收的地址与存储器装置MDEV的物理地址映射。图6的缓冲器BUF可执行映射所需的数据的缓冲,图6的本地存储器LMEM可存储所述映射所需的映射表。
[0081]图8示出固件还包括请求处理层RDL的示例。图8的请求处理层RDL可执行图1的存储器系统MSYS的控制方法。例如,固件的请求处理层RDL可将与来自主机设备HOST的请求SGL对应的包括第一子请求SREQl和第二子请求SREQ2的主请求MREQ发送给第三功能块F⑶3,可接收响应于该发送的主响应MRSP,然后可执行与主响应MRSP对应的处理。
[0082]尽管图8示出请求处理层RDL和主机接口层HIL形成为单独的层的示例,这仅是为了方便描述。即,请求处理层RDL可包括在主机接口层HIL中。[0083]图9示出包括在图5的NAND闪速存储器中的存储器单元阵列MA的结构。
[0084]参照图5和图9,存储器系统MSYS的存储器装置MDEV可包括存储器单元阵列MA。存储器单元阵列MA可具有a个(这里,a是等于或大于2的整数)块BLKO至BLKa-1,块BLKO至BLKa-1中的每一个可具有b个(这里,b是等于或大于2的整数)页PAGO至PAGb-1,页PAGO至PAGb-1中的每一个可具有c个(这里,c是等于或大于2的整数)扇区SECO至SECc-1。为了方便描述,图9仅示出块BLKO的页PAGO至PAGb-1和扇区SECO至SECc-1。然而,其他块BLKl至BLKa-1可具有与块BLKO相同的结构。
[0085]图10示出图9的块BLKO的示例。
[0086]参照图9和图10,块BLKO至BLKa-1中的每一个可由在位线BLO至BLchl的方向上的d个(这里,d是等于或大于2的整数)串STR形成,其中,e个存储器单元MCEL串联在串STR中。另外,每一串STR可包括分别连接到串联的存储器单元MCEL的末端的漏选择晶体管STrl和源选择晶体管STr2。
[0087]在本实施例中,NAND闪速存储器以块为单位执行擦除操作,以分别与字线WLO至WLe-1对应的页PAG为单位执行编程操作。存储器装置MDEV可包括多个存储器单元阵列,所述多个存储器单元阵列具有与存储器单元阵列MA相同的结构并执行与存储器单元阵列MA相同的操作。
[0088]图10的每一存储器单元MCEL可如图11所示形成。参照图11,源极S和漏极D可形成在基底SUB中,沟道区可形成在源极S和漏极D之间。浮动栅极FG形成在沟道区之上,绝缘层(例如,隧道绝缘层)可布置在沟道区和浮动栅极FG之间。控制栅极CG可形成在浮动栅极FG上方,绝缘层(例如,阻挡绝缘层)可布置在浮动栅极FG和控制栅极CG之间。针对每个存储器单元MCEL的编程、擦除和读操作所需的电压可施加到基底SUB、源极S、漏极D和控制栅极CG。
[0089]图10的NAND闪速存储器可通过区分存储器单元MCEL的阈值电压Vth,来读取存储在每个存储器单元MCEL中的数据。可根据存储在浮动栅极FG中的电子量来确定每个存储器单元MCEL的阈值电压Vth。例如,存储在浮动栅极FG中的电子量越大,每个存储器单元MCEL的阈值电压Vth可越高。
[0090]对于每个存储器单元MCEL的阈值电压Vth的预定范围,可设置一位、两位或至少三位的数据。对应于此设置,一个或多个页可被设置到图10的字线WLO至WLe-1中的每一个。换言之,一个或多个页可被编程到字线WLO至WLe-1的每一个。
[0091]图12示出根据设置到图9的存储器单元阵列MA的编程状态的阈值电压的分布。
[0092]参照图12,存储器装置MDEV可包括如图12(a)所示的针对每个单元分布(即,每个阈值电压Vth的范围)设置一位数据的NAND闪速存储器。具有上述结构的NAND闪速存储器称为单层单元(SLC)NAND闪速存储器。SLC NAND闪速存储器的每个存储器单元MCEL可编程有一位数据。在SLC NAND闪速存储器中,一页可设置到图10的字线WLO至WLe-1的每一个。
[0093]可选择地,存储器装置MDEV可包括如图12 (b)或图12 (C)所示的针对每个单元分布(B卩,每个阈值电压Vth的范围)设置至少两位数据的NAND闪速存储器,其中。具有上述结构的NAND闪速存储器称为多层单元(MLC)NAND闪速存储器。MLC NAND闪速存储器的每个存储器单元MCEL可编程有至少两位数据。在MLC NAND闪速存储器中,至少两页可设置到图10的字线WLO至WLe-1的每一个。
[0094]在这方面,三位数据编程到每个存储器单元的NAND闪速存储器可称为三层单元(TLC)NAND闪速存储器。然而,为了方便描述,以下,至少两位数据编程到每个存储器单元的NAND闪速存储器统称为MLC NAND闪速存储器。
[0095]如上所述,存储器装置MDEV可包括SLC NAND闪速存储器或MLC NAND闪速存储器。然而,在另一实施例中,存储器装置MDEV可包括SLC NAND闪速存储器和MLC NAND闪速存储器二者。可选择地,存储器装置MDEV可允许块BLKO至BLKa-1中的一些块以SLC方式编程数据,而块BLKO至BLKa-1中的剩余块以MLC方式编程数据。
[0096]由于将由存储器装置或存储器系统处理的数据大小增加,并且需要存储器装置或存储器系统高度集成或小型化,所以将被编程到存储器单元的数据位的总数增加。为了利用有限资源存储大量数据并且同时增大处理速度或维持可靠性,各种控制方案应用于存储器装置或存储器系统。因此,当包括在针对存储器装置的用户数据或元数据的编程请求或读请求中的一些子请求被处理为失败,然后重试编程请求或读请求时所引起的开销也增加。
[0097]在这方面,当根据本发明构思的实施例的存储器装置、存储器系统以及由所述存储器系统执行的控制方法处理编程请求或读请求时,存储器装置、存储器系统和控制方法可同时执行彼此相关或依赖于彼此的多个请求(如,第一子请求SREQl和第二子请求SREQ2),并可经由相同的响应处理它们,从而可减小当彼此相关或依赖于彼此的多个请求中的一些请求被处理为失败,因此重试时所引起的开销。以下,详细描述根据本发明构思的实施例的存储器装置、存储器系统以及由所述存储器系统执行的控制方法的结构和操作。
[0098]图13和图14示出根据本发明构思的另一实施例的图1的控制方法的示例。
[0099]参照图1、图2和图13 (a),存储器系统MSYS可将2位数据存储在第二功能块TOU2所包括的存储器的存储器单元中。2位数据由最低有效位(LSB)和最高有效位(MSB)构成。LSB和MSB针对存储器单元阵列中的相同字线编程,但配置两个不同的页,因此LSB和MSB被编程到不同的页地址。
[0100]这里,用于LSB的页称为LSB页,用于MSB的页称为MSB页。编程到不同的页的LSB页和MSB页可利用图13(b)所示的配对页结构连接。例如,形成一对的LSB页和MSB页可针对彼此隔开预定页数的页地址而设置。可选择地,可单独地布置包括关于形成一对的LSB页和MSB页的信息的成对页或表。
[0101]如图13(a)所示,可基于LSB页的编程结果对MSB页进行编程。因此,当针对LSB页的编程被处理为失败时,针对与LSB页形成一对的MSB页的编程可能无法正常执行。在另一情况下,当在MSB页正在被编程的同时电源突然切断时,可能无法确保与MSB页形成一对的LSB页的编程状态。因此,对于LSB页的编程请求和对于MSB页的编程请求可能彼此相关或依赖于彼此。
[0102]在图13的示例中,图1和图2的主请求MREQ可包括针对第二功能块F⑶2的编程命令,第一子请求SREQl可包括用于备份第二功能块F⑶2的LSB页的编程命令,第二子请求SREQ2可包括针对与第一子请求SREQl的LSB页形成一对的第二功能块F⑶2的MSB页的编程请求。用于备份LSB页的编程命令包括读取存储在将用MSB页编程的字线中的LSB页,然后将该LSB页编程到预留的块的操作。这是因为如上所述,当在MSB页正在被编程的同时电源突然切断时,可能无法确保与MSB页形成一对的LSB页的编程状态。
[0103]针对图13的示例的存储器系统的控制方法可根据图14的流程图来执行。例如,在MLC NAND闪速存储器作为第二功能块FCU2布置的存储器系统MSYS中,针对第二功能块F⑶2的主请求MREQ包括用于编程以备份LSB页的第一子请求SREQl以及用于对MSB页编程的第二子请求SREQ2。因此,对LSB页编程(操作S1420) JfMSB页编程(操作S1440)。
[0104]在预定时钟逝去之后,确定是否完成主请求MREQ的操作的执行(操作S1460)。当未完成主请求MREQ的操作的执行时(操作S1460为“否”),可周期性地检查操作的完成。尽管图14中未示出,如果在预定检查次数之后仍未完成主请求MREQ的操作的执行,则对于主请求MREQ的主响应MRSP可被处理为失败。这可同样应用于针对将在下面描述的操作的完成的检查操作。
[0105]否则,当主请求MREQ的操作完成执行时(操作S1460为“是”),执行下一请求(操作S1480 )。主请求MREQ之后的下一请求可以是在命令队列中接收到主请求MREQ之后在命令队列中接收到的请求。
[0106]可执行图14的流程图的操作S1440中所示的对MSB页的编程,而不管对LSB页执行的编程(操作S1420)的结果(第一处理结果RST1)。在这方面,在作为针对根据图14的实施例的存储器系统的控制方法的比较例的图15的流程图中,在对LSB页的编程完成执行之后(SRD为“是”),可执行对MSB页的编程。
[0107]如上所述,根据图14的流程图中的存储器系统的控制方法,彼此相关的对LSB页的编程请求和对MSB页的编程请求可单独地执行,而不管相应的处理结果,第一功能块F⑶I (如,固件单元)的开销可最小化。
[0108]图14的流程图中的存储器系统的控制方法还可应用于至少两位数据的MLC NAND闪速存储器。例如,在3位数据的MLC NAND闪速存储器中,对于中心有效位(CSB)页的编程请求可与对于LSB页和MSB页的编程请求相关,这三个编程请求可形成为一个主请求MREQ,然后可一起处理。这里省略其详细描述。
[0109]图16示出根据本发明构思的另一实施例的图1的控制方法的示例。
[0110]参照图1、图2和图6,根据本实施例的存储器系统的控制方法可包括:响应于第一子请求SREQl擦除第一块(操作S1620),响应于第二子请求SREQ2对第一页编程,而不管第一块的擦除的完成(操作S1640)。
[0111]在图16的实施例中,主请求MREQ可包括对于第二功能块F⑶2的第一存储块的编程命令,第一子请求SREQl可包括对于第一存储块的擦除命令,第二子请求SREQ2可包括对于第一存储块的第一页的编程命令。第二功能块FCU2可包括图5的NAND闪速存储器,第一存储块可以是图9的块BLKO至BLKa-1中的一个块,第一页可以是图9的页PAGO至PAGb-1中的一个页。
[0112]可在对于NAND闪速存储器进行编程请求的同时,新的存储块被分配时,执行根据图16的实施例的控制方法。在擦除单位和编程单位彼此不同并且不允许覆写的NAND闪速存储器中,当新分配的存储块中包括编程目标页时,对于该存储块的擦除请求(第一子请求SREQl)和对于编程目标页的编程请求(第二子请求SREQ2)可作为主请求MREQ而被一起请求,以便增加处理速度。然而,当对于存储块的擦除请求被处理为失败时,对编程目标页的编程请求的结果可能不可靠。因此,对于存储块的擦除请求和对于包括在存储块中的编程目标页的编程请求可彼此相关。
[0113]如上所述,根据图16的实施例的控制方法可单独地执行对于存储块的擦除请求以及与擦除请求相关的对于包括在存储块中的编程目标页的编程请求,而不管相应处理结果,从而作为第一功能块FCUl的固件单元的开销可减小。在这方面,根据图16的实施例的存储器系统的控制方法不同于作为比较例的图17的流程图的方法,在该比较例中,在对于存储块的擦除请求完成执行之后(SRD为“是”),处理对于包括在存储块中的页的编程请求。
[0114]在图16的实施例中,检查对于存储块的擦除请求和对于包括在存储块中的编程目标页的编程请求是否完成(操作S1660)以及对于下一请求的处理(操作S1680)可与图14的实施例中的那些处理相同,因此这里省略其详细描述。
[0115]图18和图19示出根据本发明构思另一实施例的图1的控制方法的示例。
[0116]参照图1、图2和图18,存储器系统MSYS的第二功能块TOU2可将元数据MDTA存储在存储区域中。第二功能块FCU2的存储区域可以是上述存储器。
[0117]元数据MDTA可用于有效地将用户数据编程到第二功能块TOU2的存储区域或读取用户数据。例如,元数据MDTA可包括关于用户数据在第二功能块FCU2的存储区域处的存储位置、用户数据的属性或存储区域的无效区域的信息。
[0118]如图18所示,元数据MDTA可包括头数据HDTA和内容数据⑶TA。内容数据⑶TA可对应于关于用户数据在第二功能块FCU2的存储区域处的存储位置、用户数据的属性或存储区域的无效区域的信息。头数据HDTA可对应于关于是否可访问内容数据CDTA的信息、关于内容数据CDTA的索引信息等。
[0119]因此,在对于元数据MDTA的头数据HDTA的编程请求的处理未通过时,对于内容数据⑶TA的编程请求可能无法正常执行。因此,对于元数据MDTA的头数据HDTA的编程请求和对于元数据MDTA的内容数据CDTA的编程请求可彼此相关。
[0120]在图18的示例中,图1和图2所示的主请求MREQ可包括对于元数据MDTA的编程命令,第一子请求SREQl可包括对于元数据MDTA的头数据HDTA的编程命令,第二子请求SREQ2可包括对于元数据MDTA的内容数据⑶TA的编程命令。
[0121]针对图18的示例,存储器系统的控制方法可根据图19的流程图来执行。例如,根据图19的流程图的存储器系统的控制方法可包括:响应于第一子请求SREQl对元数据MDTA的头数据HDTA编程(操作S1920),响应于第二子请求SREQ2对元数据MDTA的内容数据⑶TA编程,而不管头数据HDTA的编程是否完成(操作S1940)。
[0122]如上所述,根据图19的实施例的控制方法可单独地执行对于元数据MDTA的头数据HDTA的编程请求以及与对于头数据HDTA的编程请求相关的对于元数据MDTA的内容数据CDTA的编程请求,而不管相应处理结果,从而作为第一功能块FCUl的固件单元的开销可减小。在这方面,根据图19的实施例的存储器系统的控制方法不同于作为比较例的图20的流程图的方法,在该比较例中,在完全执行对于元数据的头数据的编程请求执行之后(SRD为“是”),处理对于元数据的内容数据的编程请求。
[0123]在图19的实施例中,检查对于元数据MDTA的头数据HDTA的编程请求和对于元数据MDTA的内容数据CDTA的编程请求是否完成(操作S1960)以及对下一请求的处理(操作S1980)可与图14的实施例中的那些处理相同,因此这里省略其详细描述。[0124]图21和图22示出根据本发明构思另一实施例的图1的控制方法的示例。
[0125]参照图1、图2和图21,存储器系统MSYS的第二功能块TOU2可将元数据MDTA存储在存储区域中。第二功能块FCU2的存储区域可以是上述存储器。由于存储器中需要处理的诸如高品质多媒体数据的用户数据的大小增加,并且对于该存储器的控制方案复杂,与用户数据对应的元数据MDTA的大小也可增加。
[0126]因此,如图21所示,可能发生这样的情况:元数据MDTA的大小为M,而经由一个编程请求可处理的数据的大小为N。在这种情况下,对于元数据MDTA的编程请求可包括对于元数据MDTA的第一部分PARl的编程请求和对于元数据MDTA的第二部分PAR2的编程请求。当对于元数据MDTA的第一部分PARl和第二部分PAR2的编程请求之一被处理为失败,则元数据MDTA的另一部分的编程处理结果可能没有意义。
[0127]在图21的示例中,图1和图2的主请求MREQ可包括对于元数据MDTA的编程命令,第一子请求SREQl可包括对于元数据MDTA的第一部分PARl的编程命令,第二子请求SREQ2可包括对于元数据MDTA的第二部分PAR2的编程命令。
[0128]针对图21的示例的存储器系统的控制方法可根据图22的流程图来执行。例如,根据图22的流程图的存储器系统的控制方法可包括:响应于第一子请求SREQl对元数据MDTA的第一部分PARl编程(操作S2220),响应于第二子请求SREQ2对元数据MDTA的第二部分PAR2编程,而不管元数据MDTA的第一部分PARl的编程是否完成(操作S2240)。
[0129]如上所述,根据图22的流程图的控制方法可单独地执行对于元数据MDTA的第一部分PARl的编程请求以及与对于第一部分PARl的编程请求相关的对于元数据MDTA的第二部分PAR2的编程请求,从而作为第一功能块FCUl的固件单元的开销可减小。在这方面,根据图22的实施例的存储器系统的控制方法不同于作为比较例的图23的流程图的方法,在该比较例中,在完成对于元数据的第一部分的编程请求的处理之后(SRD为“是”),处理对于元数据的第二部分的编程请求。
[0130]在图22的实施例中,检查对于元数据MDTA的第一部分PARl的编程请求和对于元数据MDTA的第二部分PAR2的编程请求是否完成(操作S2260)以及对下一请求的处理(操作S2280)可与图14的实施例中的那些处理相同,因此这里省略其详细描述。
[0131]参照图21,为了方便描述,元数据MDTA被分成具有相同大小并且与编程量N对应的第一部分PARl和第二部分PAR2,但本发明构思的一个或多个实施例不限于此。元数据MDTA可分成至少三部分以用于优化编程操作,这三部分可具有不同的大小。在这种情况下,元数据MDTA的这三部分中的每一部分的编程可利用根据图22的实施例的上述控制方法来控制。
[0132]根据本发明构思的一个或多个实施例中的存储器系统的控制方法,第一子请求SREQl和第二子请求SREQ2在不同的处理中执行。例如,在图14的实施例中,对于LSB页的编程请求和对于MSB页的编程请求分别在操作S1420和操作S1440中执行。另外,在图22的实施例中,对于元数据MDTA的第一部分PARl的编程请求和对于元数据MDTA的第二部分PAR2的编程请求分别在操作S2220和操作S2240中执行。在这方面,单独的操作表示所述操作是分开的操作,而非表示它们在不同的时间点执行。
[0133]在根据本发明构思的一个或多个实施例的存储器系统的控制方法中,如图24的流程图所示,第一子请求SREQl和第二子请求SREQ2可被同时处理。[0134]图25是根据本发明构思的实施例的第三功能块FCU3所执行的排队操作的流程图。图26示出包括在第三功能块F⑶3中的命令队列CMDQ的示例。
[0135]参照图2、图25和图26,包括在从第一功能块F⑶I接收的主请求MREQ中的第一子请求SREQl和第二子请求SREQ2可排入包括在第三功能块F⑶3中的命令队列CMDQ中(操作S2520)。如上面参照图5所述,第三功能块F⑶3可以是NAND管理器。
[0136]根据输入至命令队列CMDQ的顺序来输出请求(即,请求出队)。例如,在图26的示例中,与对应于索引QID#2至QID#6的其他请求REQ2至REQ6相比,与命令队列CMDQ的列表中的第一索引QID#1对应的请求REQl首先入队,并首先出队(在箭头方向上)。
[0137]第三功能块F⑶3可针对排入命令队列CMDQ中的请求设置依赖关系组(操作S2540)。例如,在图26的命令队列CMDQ的列表中,分别与第一索引QID#1和第二索引QID#2对应的请求REQl和REQ2可被设置为第一依赖关系组DGRPl,分别与第四至第六索引QID#4至QID#6对应的请求REQ4至REQ6可被设置为第二依赖关系组DGRP2。
[0138]图26示出按照分别向排入命令队列CMDQ中的请求REQl至REQ6添加标志FLG的方式来设置依赖关系组的示例。例如,由于第一请求REQl不依赖于在第一请求REQl入队之前入队的请求,所以向第一请求REQl应用O作为标志FLG ;由于第二请求REQ2依赖于在第二请求REQ2之前入队的第一请求REQ1,所以向第二请求REQ2应用I作为标志FLG。可通过检测第一请求REQl和第二请求REQ2是否包括在相同的主请求MREQ中来识别是否存在依赖关系。由于第三请求REQ3不依赖于在第三请求REQ3入队之前入队的请求,所以向第三请求REQ3应用O作为标志FLG ;由于第四请求REQ4不依赖于在第四请求REQ4入队之前入队的请求,所以向第四请求REQ4应用O作为标志FLG。另一方面,由于第五请求REQ5和第六请求REQ6依赖于在第五请求REQ5和第六请求REQ6入队之前入队的第四请求REQ4,所以向第五请求REQ5和第六请求REQ6应用I作为标志FLG。
[0139]然而,本发明构思的一个或多个实施例不限于此。如图27所示,可通过形成表来设置依赖关系组,所述表包括关于排入命令队列CMDQ中的请求REQl至REQ6之间的关系的多条信息。图27示出包括多条信息的表的示例,所述多条信息指示包括在表的第一索引Indl的第一依赖关系组DGRPl中的请求位于命令队列CMDQ的第一索引QID#1和第二索引QID#2中,包括在表的第二索引Ind2的第二依赖关系组DGRP2中的请求位于命令队列CMDQ的第四至第六索引QID#4至QID#6中。
[0140]返回参照图2、图25和图26,当请求分别从命令队列CMDQ顺序出队时,发出请求(操作S2560)。例如,将关于第一子请求SREQl和第二子请求SREQ2的第一控制信号XCONl和第二控制信号XC0N2发送给第二功能块K:U2。由于命令队列CMDQ处的出队处理,命令队列CMDQ的列表的索引值可改变,参照图27,表的索引值可响应于命令队列CMDQ的改变而改变。
[0141]图28是根据本发明构思的实施例的针对第三功能块K:U3的主响应MRSP的操作的流程图。
[0142]参照图2和图28,存储器系统MSYS的控制方法可包括:当第三功能块TOU3所执行的第一子请求SREQl的处理结果为失败时(操作S2810),参照依赖关系组,然后检查第二子请求SREQ2是否包括在依赖关系组中(操作S2820),并且当依赖关系组包括第二子请求SREQ2时,控制方法可包括输出中止信息ABORT作为响应于主请求MREQ的主响应MRSP (操作S2830)。随后,处理下一请求(操作S2840)。为了方便描述,图28示出第一子请求SREQl的处理结果为失败的实施例。然而,图28的流程图同样可应用于第二子请求SREQ2的处理结果为失败的实施例。
[0143]图29是根据本发明构思的实施例的由第一功能块FCUl执行并对应于主响应MRSP的处理的流程图。
[0144]参照图2和图29,存储器系统MSYS的控制方法还可包括:当第一功能块TOUl接收到中止信息ABORT作为主响应MRSP时(操作S2920),跳过针对主请求MREQ的错误处理(操作S2940)。如上所述,当包括在主请求MREQ中的第一子请求SREQl和第二子请求SREQ2的处理结果中的至少一个为失败时,可发送中止信息ABORT。
[0145]图30是作为针对根据本发明构思的一个或多个实施例的存储器系统所执行的控制方法的比较例的控制方法的流程图。参照图30,流程图示出对于元数据MDTA的头数据HDTA的编程请求为第一子请求SREQl以及对于元数据MDTA的内容数据CDTA的编程请求为第二子请求SREQ2的图18中的情况下的请求处理和错误处理。
[0146]当发出第一子请求SREQl和第二子请求SREQ2 (操作S3010),并且第一子请求SREQl的处理(操作S3020)和第二子请求SREQ2的处理(操作S3030)完成(操作S3040为“是”)时,确定第一子请求SREQl的处理是通过还是失败(操作S3050)。如果第一子请求SREQl的处理为通过(操作S3050为“是”),则处理下一请求(操作S3060)。
[0147]另一方面,如果第一子请求SREQl的处理为失败(操作S3050为“否”),则执行错误处理(操作S3070)。错误处理(操作S3070)包括搜索第二子请求SREQ2的处理结果(操作S3072),并取消第二子请求SREQ2的处理结果(操作S3074)。可按照可搜索并删除关于第二子请求SREQ2的处理信息(其被更新到图6的本地存储器LMEM)的方式来执行错误处理(操作 S3070)。
[0148]返回参照图2和图29,根据本实施例的存储器系统MSYS的控制方法还可包括:由第一功能块rcui响应于中止信息ABORT而重新发主请求MREQ。如上所述,在根据本发明构思的一个或多个实施例的存储器装置MDEV、存储器系统MSYS以及由存储器系统MSYS执行的控制方法中,多个相关请求可被一起处理,或者可跳过错误处理,并可重试包括失败的子请求的主请求MREQ,从而设计的开销或复杂度可减小。
[0149]在上述实施例中,主请求MREQ包括第一子请求SREQl和第二子请求SREQ2。然而,本发明构思的一个或多个实施例不限于此。如图31所示,存储器系统MSYS可包括主请求MREQ,该主请求MREQ包括至少三个子请求SREQl至SREQi(这里,i是等于或大于3的整数),分别对这至少三个子请求SREQl至SREQi执行处理(B卩,XCONl至XCONi,RSTl至RSTiXW而可产生共用主请求MREQ。
[0150]在上述实施例中,不对主请求MREQ执行正常处理,发送中止信息ABORT。然而,如图32所示,在根据另一实施例的存储器系统MSYS中,不仅中止信息ABORT,而且可将失败信息FAIL发送给第一功能块F⑶I。
[0151]当包括在主请求MREQ中的第一子请求SREQl和第二子请求SREQ2均为失败时,或者当第二功能块F⑶2或第三功能块F⑶3无法处理主请求MREQ时可发送失败信息FAIL,而不管第一子请求SREQl和第二子请求SREQ2的处理。如上所述,当主请求MREQ被正常处理时,可发送主响应MRSP作为通过信息PASS。[0152]如图33(a)和图33(b)所示,根据本发明构思的一个或多个实施例的存储器系统MSYS可响应于模式信号XMOD利用除了上述控制方法之外的方法来控制。例如,如图33(a)所示,存储器系统MSYS可响应于模式信号XMOD的第一逻辑电平而根据图1的控制方法来操作,并且可响应于主请求MREQ和模式信号XMOD的第二逻辑电平,将对第一子请求SREQl的处理结果的第一子响应SRSPl和对第二子请求SREQ2的处理结果的第二子响应SRSP2单独地发送给第一功能块F⑶I。
[0153]可选择地,如图33(b)所示,存储器系统MSYS可响应于模式信号XMOD的第一逻辑电平而根据图1的控制方法来操作,可响应于模式信号XMOD的第二逻辑电平将第一子请求SREQl和第二子请求SREQ2 (而非主请求MREQ)单独地发送给第三功能块F⑶3,并可将对第一子请求SREQl的处理结果的第一子响应SRSPl和对第二子请求SREQ2的处理结果的第二子响应SRSP2单独地发送给第一功能块F⑶I。
[0154]模式信号XMOD可具有逻辑电平,所述逻辑电平根据具体情况下存储器系统MSYS或存储器装置MDEV所需的功能和资源分配来自适应地设置。例如,当要求减小固件的开销时,模式信号XMOD可被设置为上述第一逻辑电平。可选择地,当尽管第一子请求SREQl和第二子请求SREQ2被单独处理,资源也足够或者固件的开销也不会引起问题时,模式信号XMOD可被设置为上述第二逻辑电平。
[0155]在上述实施例中,描述了由存储器系统MSYS执行的控制方法。然而,本发明构思的一个或多个实施例不限于此。因此,如图34所示,根据本发明构思的一个或多个实施例的控制方法也可应用于具有存储装置Storage作为第二功能块F⑶2的存储系统STSYSjjf述存储装置包括除了存储器之外的存储手段。
[0156]图35不出根据本发明构思实施例的计算机系统CSYS。
[0157]参照图35,计算机系统CSYS包括电连接到总线BUS的处理器CPU、用户接口 Π和存储器系统MSYS。存储器系统MSYS可对应于图2的存储器系统MSYS等。包括在存储器系统MSYS中的存储器装置MDEV可对应于图3的存储器装置MDEV等。因此,当根据本实施例的计算机系统CSYS处理对于存储器装置MDEV或存储器系统MSYS的请求时,计算机系统CSYS可通过减小开销有效地操作,从而计算机系统CSYS可提高存储器装置MDEV或存储器系统MSYS的性能。
[0158]计算机系统CSYS还可包括电源PS。另外,计算机系统CSYS还可包括用于处理器CPU和存储器系统MSYS之间的数据发送和接收的易失性存储器装置(例如RAM)。
[0159]当计算机系统CSYS包括在移动装置中时,可另外提供电池和调制解调器(例如基频芯片组)以将工作电压提供给计算机系统CSYS。另外,对于本领域技术人员而言明显的是,还可为计算机系统CSYS提供应用芯片组、相机图像处理器(CIS)、移动DRAM等,因此这里省略进一步的描述。
[0160]图36示出根据本发明构思的实施例的服务器系统SSYS和网络系统NSYS。
[0161]参照图36,网络系统NSYS可包括服务器系统SSYS和经由网络连接的多个终端TEMl至TEMn。服务器系统SSYS可包括:服务器SERVER,处理来自连接到网络的多个终端TEMl至TEMn的请求;SSD,存储与来自多个终端TEMl至TEMn的请求对应的数据。这里,图36的SSD可对应于图7的SSD。因此,当根据本实施例的网络系统NSYS和服务器系统SSYS处理对于存储器装置MDEV或存储器系统MSYS的请求时,网络系统NSYS和服务器系统SSYS可通过减小开销有效地操作,从而网络系统NSYS和服务器系统SSYS可提高存储器装置MDEV或存储器系统MSYS的性能。
[0162]尽管已参照其示例性实施例具体地示出和描述了本发明构思,将理解,在不脱离权利要求的精神和范围的情况下,可对其进行各种形式和细节上的改变。
【权利要求】
1.一种由存储器系统执行的控制方法,所述控制方法包括如下步骤: 由所述存储器系统的第一功能块产生主请求,所述主请求包括第一子请求和第二子请求,所述第一子请求用于由外部源请求的第一操作,所述第二子请求用于依赖于第一操作的处理结果的第二操作; 由存储器系统的第二功能块处理第一子请求和第二子请求中的至少一个; 由所述存储器系统的第三功能块在由第二功能块执行的第一子请求的处理结果为失败时,即使第二子请求的处理未完成,也将中止信息作为对主请求的响应发送给第一功能块。
2.根据权利要求1所述的控制方法,其中,所述第一功能块是固件单元,该固件单元包括所述存储器系统处理来自外部源的请求所使用的命令和数据。
3.根据权利要求1所述的控制方法,其中,所述第二功能块包括在存储器系统的存储器装置中。
4.根据权利要求3所述的控制方法,其中, 所述主请求包括对第二功能块的最高有效位(MSB)页的编程命令,所述编程命令接收自外部源, 所述第一子请求包括对第二功能块的最低有效位(LSB)页的备份编程命令, 所述LSB页和所述MSB页形成一对, 所述第二子请求包括将MSB页编程到LSB页所编程至的字线的命令。
5.根据权利要求4所述的控制方法,其中,处理第一子请求和第二子请求中的至少一个的步骤包括: 响应于第一子请求而开始LSB页的编程; 即使LSB页的编程未完成,也响应于第二子请求对MSB页编程。
6.根据权利要求3所述的控制方法,其中, 所述主请求包括对第二功能块的第一存储器块的编程命令,所述编程命令接收自外部源, 所述第一子请求包括对第一存储器块的擦除命令, 所述第二子请求包括对第一存储器块的第一页的编程命令。
7.根据权利要求6所述的控制方法,其中,处理第一子请求和第二子请求中的至少一个的步骤包括: 响应于第一子请求而开始第一存储器块的擦除; 即使第一存储块的擦除未完成,也响应于第二子请求而对第一页编程。
8.根据权利要求1所述的控制方法,其中, 所述主请求包括用于将元数据编程到第二功能块中的编程命令,所述编程命令接收自外部源, 所述第一子请求包括对于元数据的头数据的编程命令, 所述第二子请求包括对于元数据的内容数据的编程命令。
9.根据权利要求8所述的控制方法,其中,处理第一子请求和第二子请求中的至少一个的步骤包括: 响应于第一子请求而开始头数据的编程;即使头数据的编程未完成,也响应于第二子请求而对内容数据编程。
10.根据权利要求1所述的控制方法,其中, 所述主请求包括用于将元数据编程到第二功能块的编程命令, 所述第一子请求包括对于元数据的第一部分的编程命令, 所述第二子请求包括对于元数据的第二部分的编程命令。
11.根据权利要求10所述的控制方法,其中,处理第一子请求和第二子请求中的至少一个的步骤包括: 响应于第一子请求而开始元数据的第一部分的编程; 即使元数据的第一部分的编程未完成,也响应于第二子请求而对元数据的第二部分编程。
12.根据权利要求1所述的控制方法,其中,处理第一子请求和第二子请求中的至少一个的步骤包括:顺序处理第一子请求和第二子请求。
13.根据权利要求1所述的控制方法,其中,所述第三功能块是存储器系统的管理单元并控制第二功能块。
14.根据权利要求13所述的控制方法,其中,所述第三功能块包括命令队列, 所述方法还包括如下步骤: 将第一子请求和第二子请求排入命令队列中; 将排入命令队列的第一子请求和第二子请求设置为依赖关系组。
15.根据权利要求14所述的控制方法,其中,将中止信息发送给第一功能块的步骤包括: 确定第一子请求的处理结果是不是失败; 当第一子请求的处理结果是失败时, 参照所述依赖关系组, 检查第二子请求是否包括在所述依赖关系组中; 当所述检查指示第二子请求包括在所述依赖关系组中时,针对主请求输出所述中止信肩、O
16.根据权利要求1所述的控制方法,其中,响应于所述中止信息,第一功能块不针对第一子请求或第二子请求执行错误处理。
17.根据权利要求1所述的控制方法,还包括如下步骤: 由第一功能块响应于所述中止信息而重发主请求。
18.根据权利要求1所述的控制方法,其中, 所述主请求还包括第三子请求,所述第三子请求要求依赖于第一子请求和第二子请求中的至少一个的处理结果的操作, 将中止信息发送给第一功能块的步骤包括:当第一子请求的处理结果为失败时,将中止信息作为对主请求的响应而发送给第一功能块,而不处理第二子请求和第三子请求中的任一个。
19.一种由包括存储器控制器和NAND闪存装置的NAND闪速存储器系统执行的输入和输出处理方法,所述输入和输出处理方法包括如下步骤: 由固件单元产生包括第一子请求和至少一个第二子请求的主请求,所述第一子请求用于由外部源请求的第一操作,所述至少一个第二子请求用于依赖于第一操作的第二操作,所述存储器控制器包括所述固件单元,所述固件单元包括与处理来自外部源的请求关联的命令和数据; 将第一子请求和第二子请求中的至少一个排入包括在存储器控制器中的命令队列中,所述排入由包括在存储器控制器中并控制NAND闪速装置的管理单元执行; 处理第一子请求; 当第一子请求的处理结果为失败时,即使第二子请求的处理未完成,也由管理单元将中止信息作为对主请求的响应而输出给固件单元。
20.根据权利要求19所述的输入和输出处理方法,其中,将中止信息输出给固件单元的步骤包括: 确定第一子请求的处理结果是不是失败; 当第一子请求的处理结果是失败时,检查关于包括第一子请求的依赖关系组的信息;当通过参照关于所述依赖关系组的信息,确定第二子请求包括在所述依赖关系组中时,将中止信息发送给固件单元。
21.根据权利要求20所述的输入和输出处理方法,其中,响应于所述中止信息,固件单元不针对第一子请求和第二子请求中的至少一个执行错误处理, 所述方法还包括: 由固件单元响应于所述中止信息将主请求重发给管理单元。
22.—种存储器系统,包括: 存储器装置,被构造为处理第一子请求和第二子请求,所述第二子请求要求依赖于第一子请求的处理结果的操作; 存储器控制器,被构造为控制存储器装置处理第一子请求和第二子请求, 其中,所述存储器控制器包括: 第一控制器,包括用于处理来自外部源的请求的命令和数据,所述固件单元被构造为 输出包括第一子请求和第二子请求的主请求, 产生主请求的处理结果; 管理单元,被构造为控制存储器装置,所述管理单元被构造为 接收主请求, 将第一子请求和第二子请求设置为依赖关系组, 在所述设置之后将第一子请求和第二子请求排入命令队列中, 当第一子请求的处理结果为失败时,将作为对主请求的响应的中止信息发送给第一控制器,而不控制第二子请求的处理。
23.根据权利要求22所述的存储器系统,其中,所述存储器系统被构造为使得响应于所述中止信息,第一控制器不针对第一子请求和第二子请求中的至少一个执行错误处理,并且第一控制器将主请求重发给管理单元。
24.根据权利要求22所述的存储器系统,其中,所述存储器系统包括至少一个NAND闪速存储器装置作为存储器装置,并且命令队列布置在存储器控制器与至少一个NAND闪速存储器装置之间的各信道处。
25.一种存储系统,包括:第一功能块,被构造为发送包括第一子请求和第二子请求的主请求,所述第一子请求和所述第二子请求对应于由外部源请求的操作,所述第二子请求要求依赖于第一子请求的处理结果的操作; 第二功能块,被构造为处理第一子请求和第二子请求; 第三功能块,被构造为 控制由第二功能块处理第一子请求和第二子请求, 当第一子请求的处理结果为失败时,将作为对主请求的响应的中止信息发送给第一功能块,而不控制第二功能块的处理。
26.—种控制存储器系统的方法,所述存储器系统包括存储器装置以及被构造为控制所述存储器装置的存储器控制器,所述方法包括: 在存储器系统处从外部装置接收外部请求,所述外部请求至少对应于第一操作和第二操作,所述第二操作依赖于所述第一操作; 在存储器控制器中的第一功能块处产生包括对于第一操作的第一子请求和对于第二操作的第二子请求的主请求; 在存储器装置中的第二功能块处处理第一子请求; 确定第一子请求的处理结果; 当第一子请求的处理结果指示第一子请求的处理失败时,在第二功能块完成第二子请求的处理之前从存储器控制器中的第三功能块将作为对主请求的响应的中止信息发送给第一功能块。
27.根据权利要求26所述的控制方法,其中,所述第三功能块控制第二功能块,并且所述第三功能块包括命令队列,所述方法还包括: 将第一子请求和第二子请求排入命令队列中; 将排入的第一子请求和第二子请求指定为依赖关系组的成员。
【文档编号】G11C7/00GK103971717SQ201410030476
【公开日】2014年8月6日 申请日期:2014年1月22日 优先权日:2013年1月28日
【发明者】朴润远, 李殊练, 李昞奇, 李尚哲 申请人:三星电子株式会社