存储器系统及其操作方法与流程

文档序号:18214075发布日期:2019-07-19 22:30阅读:219来源:国知局
存储器系统及其操作方法与流程

本申请要求于2017年12月14日向韩国知识产权局提交的申请号为10-2017-0172063的韩国申请以及于2018年10月2日提交的申请号为10-2018-0117381的韩国申请的优先权,其全部内容通过引用并入本文。

本发明的各个实施例总体涉及一种存储器系统。特别地,实施例涉及一种包括非易失性存储器装置的存储器系统及其操作方法。



背景技术:

存储器系统可被配置成响应于来自外部装置的写入请求,存储从外部装置提供的数据。而且,存储器系统可被配置成响应于来自外部装置的读取请求,将存储的数据提供给外部装置。作为能够处理数据的电子装置的外部装置可包括计算机、数码相机或移动电话。存储器系统可通过内置在外部装置中来进行操作,或者可通过以可分离的形式制造并联接到外部装置来进行操作。

因为不存在机械驱动部件,所以包括存储器装置的存储器系统提供了诸如优异的稳定性和耐用性、高信息访问速度和低功耗的优点。具有这种优点的存储器系统包括通用串行总线(usb)存储器装置、具有各种接口的存储卡、通用闪速存储(ufs)装置和固态驱动器(ssd)。



技术实现要素:

各个实施例涉及一种存储器系统及其操作方法,其中控制器能够准确地确定执行高速缓冲操作的结果。

在实施例中,存储器系统可包括:非易失性存储器装置,包括存储器单元阵列和联接到存储器单元阵列的页面缓冲器;以及控制器,被配置成与非易失性存储器装置接口连接,其中控制器将关于高速缓冲命令的描述符从命令队列移动到高速缓冲队列,并选择性地将被移动到高速缓冲队列的描述符移动到响应队列,其中该高速缓冲命令被传输到非易失性存储器装置。

在实施例中,操作存储器系统的方法可包括:通过控制器将对非易失性存储器装置的高速缓冲操作的描述符存储在命令队列中;通过控制器基于描述符生成高速缓冲命令,并将高速缓冲命令传输到非易失性存储器装置;通过非易失性存储器装置基于高速缓冲命令执行高速缓冲操作;通过非易失性存储器装置将包括高速缓冲操作的结果的状态信息传输到控制器;当从非易失性存储器装置接收到状态信息时,控制器将描述符从命令队列移动到高速缓冲队列。

在实施例中,存储器系统可包括:存储器装置,被配置成执行高速缓冲操作,至少包括根据后继高速缓冲描述符将数据缓冲到页面缓冲器中的后继子操作;以及控制器,被配置成生成后继高速缓冲描述符,并且即使在先前高速缓冲操作成功时,也至少在处理缓冲数据的在前子操作成功之前,确保先前高速缓冲操作的后继高速缓冲描述符,在前子操作被包括在后续高速缓冲操作中。

附图说明

图1是示出根据本公开的实施例的存储器系统的框图。

图2是图1的控制器的配置的框图。

图3是示出当执行第一高速缓冲编程操作时将第一高速缓冲编程描述符移动到高速缓冲队列的进程的示图。

图4是示出当执行第二高速缓冲编程操作时将第一高速缓冲编程描述符移动到响应队列的进程的示图。

图5是示出当执行第一高速缓冲读取操作时将第一高速缓冲读取描述符移动到高速缓冲队列的进程的示图。

图6是示出当执行第二高速缓冲读取操作时将第一高速缓冲读取描述符移动到响应队列的进程的示图。

图7至图11b是示出根据本公开的实施例的操作存储器系统的方法的流程图。

图12是示出根据本公开的实施例的包括固态驱动器(ssd)的数据处理系统的示图。

图13和图14是示出根据本公开的实施例的每一个都包括存储器系统的数据处理系统的示图。

图15是示出根据本公开的实施例的包括存储器系统的网络系统的示图。

图16是示出根据本公开的实施例的包括在存储器系统中的非易失性存储器装置的框图。

具体实施方式

在本发明中,在结合附图阅读以下示例性实施例之后,优点、特征及实现其的方法将变得显而易见。然而,本发明可以不同的形式体现,并不应被解释为限制于本文所阐述的实施例。相反,提供这些实施例以详细地描述本发明,达到本发明所属领域的技术人员能够容易地实施本发明的技术构思的程度。注意的是,对“实施例”的参考不一定意味着仅针对一个实施例,并且对“实施例”的不同参考不一定针对相同的实施例。

将理解的是,本发明的实施例不限于附图中所示的细节,附图不一定按比例绘制,在一些情况下,可能夸大了比例以更清楚地描绘本发明的某些特征。虽然使用了特定术语,但是应当理解,本文所使用的术语仅用于描述特定实施例,而不旨在限制本发明的范围。

如本文使用的,术语“和/或”包括一个或多个相关的所列项目的任何一个和所有组合。将理解的是,当元件被称为“在......上”、“连接至”或“联接至”另一元件时,它可直接在其它元件上、连接至或联接至其它元件,或可存在中间元件。如本文使用的,除非上下文另有明确说明,否则单数形式也旨在包括复数形式。将进一步理解的是,当在本说明书中使用术语“包括”和/或“包含”时,表示存在至少一个陈述的特征、步骤、操作和/或元件,但不排除存在或添加一个或多个其它特征、步骤、操作和/或其元件。

在下文中,将参照附图详细描述示例性实施例。

图1是示出根据本公开的实施例的存储器系统100的框图,图2是详细示出图1的控制器200的配置的框图。

存储器系统100可存储待由诸如以下的主机装置(未示出)访问的数据:手机、mp3播放器、膝上型计算机、台式计算机、游戏机、tv、车载信息娱乐系统等。

根据表示针对主机装置的传输协议的主机接口,存储器系统100可被制造成各种类型的存储装置中的任何一种。例如,存储器系统100可被配置成诸如以下的各种存储装置中的任何一种:固态驱动器(ssd),mmc、emmc、rs-mmc和微型-mmc形式的多媒体卡,sd、迷你-sd和微型-sd形式的安全数字卡,通用串行总线(usb)存储装置,通用闪速存储(ufs)装置,个人计算机存储卡国际协会(pcmcia)卡型存储装置,外围组件互连(pci)卡型存储装置,高速pci(pci-e)卡型存储装置,标准闪存(cf)卡,智能媒体卡,记忆棒等。

存储器系统100可被制造成各种封装类型中的任何一种。例如,存储器系统100可被制造成诸如以下的各种封装类型中的任何一种:堆叠封装(pop)、系统级封装(sip)、片上系统(soc)、多芯片封装(mcp)、板上芯片封装(cob)、晶圆级制造封装(wfp)以及晶圆级堆叠封装(wsp)。

参照图1,存储器系统100可包括控制器200和非易失性存储器装置300。参照图2,控制器200可包括存储器控制器210、随机存取存储器(ram)220、主机接口230和处理器240。

存储器控制器210可根据处理器240的控制来控制非易失性存储器装置300。存储器控制器210也可被称为存储器接口。存储器控制器210可将控制信号提供给非易失性存储器装置300。控制信号可包括控制非易失性存储器装置300的命令、地址和操作控制信号。存储器控制器210可将数据提供给非易失性存储器装置300或从非易失性存储器装置300接收数据。

存储器控制器210可包括命令队列211、高速缓冲队列212和响应队列213。

非易失性存储器装置300可执行诸如高速缓冲编程操作或高速缓冲读取操作的高速缓冲操作。

高速缓冲编程操作可包括:将通过先前高速缓冲编程操作而存储在页面缓冲器320中的先前数据编程到存储器单元阵列310的操作以及将后续数据存储在页面缓冲器320中的操作,其中将后续数据在先前数据之后编程到存储器单元阵列310中。可同时执行将先前数据编程到存储器单元阵列310的操作和将后续数据存储在页面缓冲器320中的操作。非易失性存储器装置300可将通过高速缓冲编程操作将数据编程到存储器单元阵列310的操作所需的时间最小化。

高速缓冲读取操作可包括:将先前数据传输到存储器控制器210的操作,其中先前数据通过先前高速缓冲读取操作从存储器单元阵列310中读取并被存储在页面缓冲器320中;以及从存储器单元阵列310中读取后续数据并将后续数据存储在页面缓冲器320中的操作,其中将后续数据在先前数据之后传输到存储器控制器210中。可同时执行将先前数据传输到存储器控制器210的操作和读取后续数据并将其存储在页面缓冲器320中的操作。非易失性存储器装置300可将通过高速缓冲读取操作读取存储在存储器单元阵列310中的数据的操作所需的时间最小化。

在本实施例中,第一至第n信息(在下文中,称为“描述符”)可以是描述存储器控制器210需要进行处理的工作的一种工作次序,以便控制非易失性存储器装置300。描述符可包括关于待存储在非易失性存储器装置300中的数据的信息、表示数据将在非易失性存储器装置300内进行存储的存储位置的地址信息以及表示待读取的数据在非易失性存储器装置300内进行存储的存储位置的地址信息。然而,本实施例不限于此,描述符可包括非易失性存储器装置300的操作所需的各种信息。

为了完成单个高速缓冲编程操作,可能需要后继高速缓冲编程命令和在前高速缓冲编程命令,其中后继高速缓冲编程命令用于将缓冲的先前编程数据编程到存储器单元阵列310中并且将后续编程数据缓冲到页面缓冲器320中,在前高速缓冲编程命令用于将先前编程数据缓冲到页面缓冲器320中。为了完成单个高速缓冲读取操作,可能需要后续高速缓冲读取命令和在前高速缓冲读取命令,其中后续高速缓冲读取命令用于将缓冲的先前读取数据传输到存储器控制器210并且将后续读取数据从存储器单元阵列310中读出到页面缓冲器320中,在前高速缓冲读取命令用于将先前读取数据从存储器单元阵列310读出到页面缓冲器320中。

在前高速缓冲编程命令和后继高速缓冲编程命令可分别对应于在前高速缓冲编程描述符和后继高速缓冲编程描述符。在前高速缓冲读取命令和后继高速缓冲读取命令可分别对应于在前高速缓冲读取描述符和后继高速缓冲读取描述符。

描述符可由控制存储器系统100的全部操作的闪存转换层(ftl)生成,并被传输到存储器控制器210。存储器控制器210可将从ftl提供的描述符存储在命令队列211中,并且基于存储的描述符生成将提供给非易失性存储器装置300的命令。

非易失性存储器装置300可根据从存储器控制器210提供的命令执行操作,并且将包括操作结果的状态信息传输到存储器控制器210。操作结果可包括表示完成操作的信息和表示操作通过或失败的信息。基于从非易失性存储器装置300提供的状态信息,存储器控制器210可将对应的描述符从命令队列211移动到响应队列213并从命令队列211中删除对应的描述符,或者仅从命令队列211中删除描述符,而不将对应的描述符移动到响应队列213。

例如,当状态信息包括表示操作通过的信息时,存储器控制器210可从命令队列211中删除描述符,而不将对应的描述符从命令队列211移动到响应队列213。当状态信息包括表示操作失败的信息时,存储器控制器210可将对应的描述符从命令队列211移动到响应队列213,然后从命令队列211中删除对应的描述符。因为存储在响应队列213中的描述符表示失败的操作,所以处理器240可基于存储在响应队列213中的描述符将用于失败的操作的描述符重新传输到存储器控制器210,并且存储器控制器210可将与重新传输的描述符相对应的命令重新提供给非易失性存储器装置300。

例如,当单个高速缓冲编程操作成功时,可从命令队列211中删除对应的后继高速缓冲编程描述符。而且,当单个高速缓冲编程操作失败时,对应的后继高速缓冲编程描述符可被移动到响应队列213中,并可从命令队列211中删除。例如,当单个高速缓冲读取操作成功时,可从命令队列211中删除对应的后继高速缓冲读取描述符。而且,当单个高速缓冲读取操作失败时,对应的后继高速缓冲读取描述符可被移动到响应队列213中,并可从命令队列211中删除。

如上所述,在高速缓冲编程操作期间编程到存储器单元阵列310的数据可表示通过先前执行的高速缓冲编程操作而存储在页面缓冲器320中的数据。当将数据存储在存储器单元阵列310中的编程操作失败时,非易失性存储器装置300可将状态信息传输到存储器控制器210,该状态信息包括用于失败的编程操作的命令(例如,高速缓冲编程命令)中的处理失败,并且存储器控制器210可将描述符从命令队列211移动到响应队列213,该描述符同与从非易失性存储器装置300接收的状态信息相对应的命令相关联。

因此,可以将与用于将下述数据存储在非易失性存储器装置300的页面缓冲器320中的命令相关联的描述符移动到响应队列213:该数据表示将在下一轮次中被编程到存储器单元阵列310的数据,而非将与用于将下述数据存储在非易失性存储器装置300的页面缓冲器320中的命令相关联的描述符移动到响应队列213:该数据表示未能被存储在存储器单元阵列310中的数据。

此外,在高速缓冲读取操作期间从非易失性存储器装置300传输到存储器控制器210的数据可表示通过先前执行的高速缓冲读取操作从存储器单元阵列310读取并存储在页面缓冲器320中的数据。

存储器控制器210可对从非易失性存储器装置300接收的数据进行解码。解码操作可包括检测包括在数据中的错误并校正检测到的错误。对于该操作,存储器控制器210可包括错误校正码(ecc)电路(未示出),以用于对从非易失性存储器装置300接收的数据进行解码。

当对从非易失性存储器装置300接收的数据的解码失败时,存储器控制器210可将描述符从命令队列211移动到响应队列213,该描述符同与高速缓冲读取操作相对应的命令相关联,其中对应的数据(解码失败的数据)通过高速缓冲读取操作被传输。

因此,可将与用于从存储器单元阵列310中读取表示将在下一轮次传输的数据的数据并将读取数据存储在页面缓冲器320中的命令相关联的描述符移动到响应队列213,而非将与用于从非易失性存储器装置300的存储器单元阵列310中读取解码失败的数据并将读取数据存储在页面缓冲器320中的命令相关联的描述符移动到响应队列213。

在本实施例中,控制器200可进一步包括高速缓冲队列212,将与完全处理的命令相关联的描述符从命令队列211移动到高速缓冲队列212,并且根据命令是否无法处理来选择性地将存储在高速缓冲队列212中的描述符移动到响应队列213。

因此,当发生高速缓冲编程操作或高速缓冲读取操作失败时,可将与用于将编程失败的数据存储在页面缓冲器320中的命令或用于从存储器单元阵列310读取读取失败的数据并将读取数据存储在页面缓冲器320中的命令相关联的描述符正确地存储在响应队列213中,而非将与用于将存储在页面缓冲器320中的数据编程到存储器单元阵列310的命令或用于将存储在页面缓冲器320中的数据传输到控制器200的命令相关联的描述符存储在响应队列213中。将参照下面将进行描述的图3至图6来详细描述该操作。

ram220可包括动态ram(dram)或静态ram(sram)。ram220可存储通过处理器240驱动的固件fw。此外,ram220可存储驱动固件fw所需的数据,例如元数据。也就是说,ram220可作为处理器240的工作存储器进行操作。

ram220可临时存储从主机装置提供并将被提供给非易失性存储器装置300的数据,以及从非易失性存储器装置300接收并将被传输到主机装置的数据。也就是说,ram220可用作缓冲存储器。

主机接口230可将主机装置和存储器系统100接口连接。例如,主机接口230可使用诸如以下的标准传输协议中的一种或多种来与主机装置通信:安全数字、usb(通用串行总线)、mmc(多媒体卡)、emmc(嵌入式mmc)、pcmcia(个人计算机存储卡国际协会)、pata(并行高级技术附件)、sata(串行高级技术附件)、scsi(小型计算机系统接口)、sas(串列scsi)、pci(外围组件互连)、pci-e(高速pci)和ufs(通用闪速存储)。

处理器240可包括微控制单元(mcu)和中央处理单元(cpu)。处理器240可处理从主机装置接收的请求。为了处理该请求,处理器240可驱动加载到ram220的基于代码的指令或算法,即固件fw,并且控制内部功能块和非易失性存储器装置300。

图3示出了在完成第一高速缓冲编程操作之后将第一信息(在下文中,称为“第一高速缓冲编程描述符”)inf_cp1移动到高速缓冲队列212的进程。在下文中,参照图2和图3,将详细描述对第一数据(在下文中,称为“第一编程数据”)dt1执行第一高速缓冲编程操作的进程以及将对应于第一高速缓冲编程操作的第一高速缓冲编程描述符inf_cp1从命令队列211移动到高速缓冲队列212的进程。

在步骤s31中,可将通过ftl生成的第一高速缓冲编程描述符inf_cp1传输到存储器控制器210。用于第一高速缓冲编程操作的第一高速缓冲编程描述符inf_cp1可包括关于第一编程数据dt1的信息和非易失性存储器装置300中将存储第一编程数据dt1的地址信息。

在步骤s32中,存储器控制器210可将第一高速缓冲编程描述符inf_cp1存储在命令队列211中。

在步骤s33中,存储器控制器210可基于存储在命令队列211中的第一高速缓冲编程描述符inf_cp1生成第一高速缓冲编程命令cmd_cp1,并将生成的第一高速缓冲编程命令cmd_cp1传输到非易失性存储器装置300。

在步骤s34中,可将存储在控制器200的ram220中的第一编程数据dt1传输到非易失性存储器装置300,并且非易失性存储器装置300可基于第一高速缓冲编程命令cmd_cp1将接收到的第一编程数据dt1存储在页面缓冲器320中。

当第一编程数据dt1被存储在页面缓冲器320中时,可完成第一高速缓冲编程操作。

在步骤s35中,非易失性存储器装置300可将包括第一高速缓冲编程操作的结果的第一状态信息response_cp1传输到控制器200。

在步骤s36中,从非易失性存储器装置300接收第一状态信息response_cp1的存储器控制器210可将第一高速缓冲编程描述符inf_cp1从命令队列211移动到高速缓冲队列212。也就是说,当从非易失性存储器装置300接收到第一状态信息response_cp1时,存储器控制器210可确定完成了第一高速缓冲编程命令,并且将对应于第一高速缓冲编程命令的第一高速缓冲编程描述符inf_cp1从命令队列211移动到高速缓冲队列212。此外,在将第一高速缓冲编程描述符inf_cp1移动到高速缓冲队列212之后,存储器控制器210可从命令队列211中删除第一高速缓冲编程描述符inf_cp1。

图4示出了在完成第二高速缓冲编程操作之后将第一高速缓冲编程描述符inf_cp1从高速缓冲队列212移动到响应队列213的进程。在下文中,参照图2至图4,将详细描述对第二编程数据dt2执行第二高速缓冲编程操作的进程和将第一高速缓冲编程描述符inf_cp1从高速缓冲队列212移动到响应队列213的进程。为便于描述,如图3所示,假设第一编程数据dt1存储在页面缓冲器320的第一数据缓冲器321中,并且第一高速缓冲编程描述符inf_cp1存储在高速缓冲队列212中。

可分别以与上述步骤s31至s33相同的方式执行步骤s41至s43。也就是说,存储器控制器210可从ftl接收用于第二高速缓冲编程操作的第二信息(在下文中,称为“第二高速缓冲编程描述符”)inf_cp2,将第二高速缓冲编程描述符inf_cp2存储在命令队列211中,基于存储在命令队列211中的第二高速缓冲编程描述符inf_cp2生成第二高速缓冲编程命令cmd_cp2,并且将生成的第二高速缓冲编程命令cmd_cp2传输到非易失性存储器装置300。例如,第二高速缓冲编程命令cmd_cp2可包括用于将存储在页面缓冲器320中的第一编程数据dt1编程到存储器单元阵列310的命令和用于将第二数据(在下文中,称为“第二编程数据”)dt2缓冲到页面缓冲器320中的命令。

在步骤s44中,通过第一高速缓冲编程操作存储在页面缓冲器320的第一数据缓冲器321中的第一编程数据dt1可被移动到页面缓冲器320的第二数据缓冲器323,并且然后编程到存储器单元阵列310。

在步骤s45中,存储在控制器200的ram220中的第二编程数据dt2可被传输到非易失性存储器装置300,并且非易失性存储器装置300可基于第二高速缓冲编程命令cmd_cp2将第二编程数据dt2存储在页面缓冲器320的第一数据缓冲器321中。

也就是说,当移动到第二数据缓冲器323的第一编程数据dt1被编程到存储器单元阵列310时,第二编程数据dt2可被存储在页面缓冲器320的第一数据缓冲器321中。在实施例中,可同时执行步骤s44和s45。

当步骤s44和s45完成时,可完成第二高速缓冲编程操作。

在步骤s46中,非易失性存储器装置300可将包括第二高速缓冲编程操作的结果的第二状态信息response_cp2传输到控制器200。

在步骤s47中,从非易失性存储器装置300接收第二状态信息response_cp2的存储器控制器210可将第二高速缓冲编程描述符inf_cp2从命令队列211移动到高速缓冲队列212。

也就是说,当从非易失性存储器装置300接收到第二状态信息response_cp2时,存储器控制器210可确定完成了第二高速缓冲编程命令,并且将对应于第二高速缓冲编程命令的第二高速缓冲编程描述符inf_cp2从命令队列211移动到高速缓冲队列212。此外,在将第二高速缓冲编程描述符inf_cp2移动到高速缓冲队列212之后,存储器控制器210可删除存储在命令队列211中的第二高速缓冲编程描述符inf_cp2。

第二状态信息response_cp2可包括表示第二高速缓冲编程操作通过或失败的信息。第二高速缓冲编程操作的通过或失败可表示第一编程数据dt1是被正常地编程到存储器单元阵列310还是编程失败。

在步骤s48中,基于第二状态信息response_cp2,存储器控制器210可选择性地将第一高速缓冲编程描述符inf_cp1从高速缓冲队列212移动到响应队列213。

例如,当第二状态信息response_cp2包括表示第二高速缓冲编程操作通过的信息时,它可表示第一编程数据dt1被正常地编程到存储器单元阵列110。在这种情况下,因为无需将用于第一编程数据dt1的编程命令重新传输到非易失性存储器装置300,所以存储器控制器210可不将第一高速缓冲编程描述符inf_cp1从高速缓冲队列212移动到响应队列213,而是从高速缓冲队列212中删除第一高速缓冲编程描述符inf_cp1。

当第二状态信息response_cp2包括表示第二高速缓冲编程操作失败的信息时,它可表示第一编程数据dt1未被编程到存储器单元阵列310。在这种情况下,因为需要将用于第一编程数据dt1的编程命令重新传输到非易失性存储器装置300,所以存储器控制器210可将第一高速缓冲编程描述符inf_cp1从高速缓冲队列212移动到响应队列213,并且从高速缓冲队列212中删除第一高速缓冲编程描述符inf_cp1。因此,可确保与第一编程数据dt1相关的关于第一高速缓冲编程操作的描述符(即,第一高速缓冲编程描述符)。

当在步骤s48中从高速缓冲队列212中删除第一高速缓冲编程描述符inf_cp1时,存储器控制器210可将第二高速缓冲编程描述符inf_cp2移动到第一高速缓冲编程描述符inf_cp1的存储位置。然而,本实施例不限于此。

在本实施例中,控制器200可将关于第一高速缓冲编程操作的第一高速缓冲编程描述符inf_cp1存储在高速缓冲队列212中,并且基于后续第二高速缓冲编程操作的第二状态信息response_cp2将第一高速缓冲编程描述符inf_cp1选择性地存储在响应队列213中。因此,控制器200可正确地确定与未被编程到存储器单元阵列310中的数据相关的描述符。也就是说,可确保与编程失败的数据相关的描述符,并且可基于确保的描述符再次执行对编程失败的数据的编程操作,这可提高存储器系统100的可靠性。

图5示出了在完成第一高速缓冲读取操作之后将第三信息(在下文中,称为“第一高速缓冲读取描述符”)inf_cr1移动到高速缓冲队列212的进程。在下文中,参照图2和图5,将详细描述对第三数据(在下文中,称为“第一读取数据”)dt3执行第一高速缓冲读取操作的进程以及将对应于第一高速缓冲读取操作的第一高速缓冲读取描述符inf_cr1从命令队列211移动到高速缓冲队列212的进程。

在步骤s51中,可将通过ftl生成的第一高速缓冲读取描述符inf_cr1传输到存储器控制器210。用于第一高速缓冲读取操作的第一高速缓冲读取描述符inf_cr1可包括非易失性存储器装置300的地址信息,该地址信息中存储第一读取数据dt3。

在步骤s52中,存储器控制器210可将第一高速缓冲读取描述符inf_cr1存储在命令队列211中。

在步骤s53中,存储器控制器210可基于存储在命令队列211中的第一高速缓冲读取描述符inf_cr1生成第一高速缓冲读取命令cmd_cr1,并将生成的第一高速缓冲读取命令cmd_cr1传输到非易失性存储器装置300。例如,第一高速缓冲读取命令cmd_cr1可包括用于从存储器单元阵列310读取第一读取数据dt3并将读取数据存储在页面缓冲器320的第二数据缓冲器323中的命令。

在步骤s54中,基于第一高速缓冲读取命令cmd_cr1,非易失性存储器装置300可从存储器单元阵列310中读取第一读取数据dt3,并将第一读取数据dt3存储在页面缓冲器320的第二数据缓冲器323中。

当步骤s54完成时,可完成第一高速缓冲读取操作。

在步骤s55中,非易失性存储器装置300可将包括第一高速缓冲读取操作的结果的第一状态信息response_cr1传输到存储器控制器210。

在步骤s56中,从非易失性存储器装置300接收第一状态信息response_cr1的存储器控制器210可将第一高速缓冲读取描述符inf_cr1从命令队列211移动到高速缓冲队列212。也就是说,当从非易失性存储器装置300提供第一状态信息response_cr1时,存储器控制器210可确定完成了第一高速缓冲读取命令,并且将对应于第一高速缓冲读取命令的第一高速缓冲读取描述符inf_cr1从命令队列211移动到高速缓冲队列212。此外,在将第一高速缓冲读取描述符inf_cr1移动到高速缓冲队列212之后,存储器控制器210可从命令队列211中删除第一高速缓冲读取描述符inf_cr1。

图6示出了在完成第二高速缓冲读取操作之后将第一高速缓冲读取描述符inf_cr1从高速缓冲队列212移动到响应队列213的进程。在下文中,参照图2、图5和图6,将详细描述对第四数据(在下文中,称为“第二读取数据”)dt4执行第二高速缓冲读取操作的进程以及将第一高速缓冲读取描述符inf_cr1从高速缓冲队列212移动到响应队列213的进程。为便于描述,如图5所示,假设第一读取数据dt3存储在页面缓冲器320的第二数据缓冲器323中,并且第一高速缓冲读取描述符inf_cr1存储在高速缓冲队列212中。

可分别以与上述步骤s51至s53相同的方式执行步骤s61至s63。也就是说,存储器控制器210可从ftl接收用于第二高速缓冲读取操作的第四信息(在下文中,称为“第二高速缓冲读取描述符”)inf_cr2,将第二高速缓冲读取描述符inf_cr2存储在命令队列211中,基于存储在命令队列211中的第二高速缓冲读取描述符inf_cr2生成第二高速缓冲读取命令cmd_cr2,并且将生成的第二高速缓冲读取命令cmd_cr2传输到非易失性存储器装置300。例如,第二高速缓冲读取命令cmd_cr2可包括用于将存储在页面缓冲器320中的第一读取数据dt3输出到控制器200的命令和用于从存储器单元阵列310读取第二读取数据dt4并将第二读取数据dt4存储在页面缓冲器320中的命令。

在步骤s64中,基于第二高速缓冲读取命令cmd_cr2,非易失性存储器装置300可将存储在页面缓冲器320的第二数据缓冲器323中的第一读取数据dt3移动到第一数据缓冲器321,并且将第一读取数据dt3从第一数据缓冲器321传输到存储器控制器210。当第一读取数据dt3完全传输时,页面缓冲器320的第一数据缓冲器321内的第一读取数据dt3可被删除。

在步骤s65中,基于第二高速缓冲读取命令cmd_cr2,非易失性存储器装置300可从存储器单元阵列310中读取第二读取数据dt4,并将读取的第二读取数据dt4存储在页面缓冲器320的第二数据缓冲器323中。可同时执行步骤s64和s65。

当步骤s64和s65完成时,可完成第二高速缓冲读取操作。

在步骤s66中,非易失性存储器装置300可将包括第二高速缓冲读取操作的结果的第二状态信息response_cr2传输到存储器控制器210。

在步骤s67中,从非易失性存储器装置300接收第二状态信息response_cr2的存储器控制器210可将第二高速缓冲读取描述符inf_cr2从命令队列211移动到高速缓冲队列212。此外,存储器控制器210可删除存储在命令队列211中的第二高速缓冲读取描述符inf_cr2。

在步骤s68中,存储器控制器210可使用ecc电路对从非易失性存储器装置300接收的第一读取数据dt3进行解码。例如,解码可包括ecc解码。当对第一读取数据dt3的解码通过时,控制器200可将第一读取数据dt3传输到主机装置,并且存储器控制器210可从高速缓冲队列212中删除第一高速缓冲读取描述符inf_cr1。

当对第一读取数据dt3的解码失败时,存储器控制器210可将第一高速缓冲读取描述符inf_cr1从高速缓冲队列212移动到响应队列213,并且从高速缓冲队列212中删除第一高速缓冲读取描述符inf_cr1。因此,可确保与第一读取数据dt3相关的第一高速缓冲读取操作的描述符(即,第一高速缓冲读取描述符)。

当在步骤s68中从高速缓冲队列212中删除第一高速缓冲读取描述符inf_cr1时,存储器控制器210可将第二高速缓冲读取描述符inf_cr2移动到第一高速缓冲读取描述符inf_cr1的存储位置。然而,本实施例不限于此。

在本实施例中,控制器200可将关于第一高速缓冲读取操作的第一高速缓冲读取描述符inf_cr1存储在高速缓冲队列212中,并且基于对通过后续第二高速缓冲读取操作传输的第一读取数据dt3的解码结果将第一高速缓冲读取描述符inf_cr1选择性地存储在响应队列213中。因此,控制器200可正确地确定与读取失败的数据相关的描述符。也就是说,可确保与读取失败的数据相关的描述符,并且可基于确保的描述符再次执行对读取失败的数据的读取操作,这可提高存储器系统100的可靠性。

图7至图11b是用于描述根据实施例的存储器系统100的操作方法的流程图。

具体地,图7是示出当与存储在命令队列中的描述符相对应的高速缓冲操作完成时将描述符从命令队列移动到高速缓冲队列的方法的流程图。

图8至图9b是示出根据高速缓冲编程操作的结果将描述符从高速缓冲队列移动到响应队列的方法的流程图。

图10到图11b是示出根据高速缓冲读取操作的结果将描述符从高速缓冲队列移动到响应队列的方法的流程图。

参照图2和图7,将描述根据本实施例的存储器系统100的操作方法。

在步骤s100中,控制器200的存储器控制器210可将用于高速缓冲操作的信息(在下文中,称为“描述符”)存储在命令队列211中。高速缓冲操作可包括高速缓冲编程操作和高速缓冲读取操作。描述符可由ftl生成并被传输到存储器控制器210。

在步骤s200中,存储器控制器210可基于存储在命令队列211中的描述符生成高速缓冲命令,并将生成的高速缓冲命令传输到非易失性存储器装置300。

在步骤s300中,非易失性存储器装置300可基于接收到的高速缓冲命令执行高速缓冲操作。

在步骤s400中,非易失性存储器装置300可将包括高速缓冲操作的结果的状态信息传输到存储器控制器210。状态信息可包括表示高速缓冲操作完成的信息和表示高速缓冲操作通过或失败的信息。

在步骤s500中,存储器控制器210可将描述符从命令队列211移动到高速缓冲队列212。此时,存储器控制器210可从命令队列211中删除描述符。也就是说,当从非易失性存储器装置300接收到状态信息时,存储器控制器210可确定完成了在步骤s200中传输的高速缓冲命令,并且将对应的描述符移动到高速缓冲队列212以将描述符临时存储到高速缓冲队列212中。

参照图2和图8,将描述根据本实施例的存储器系统100的操作方法。

在步骤s1100中,存储器控制器210可将用于第一高速缓冲编程操作的第一信息(在下文中,称为“第一高速缓冲编程描述符”)存储在命令队列211中。例如,第一高速缓冲编程操作可包括将第一编程数据存储在非易失性存储器装置300的页面缓冲器320中的操作。

在步骤s1200中,存储器控制器210可基于存储在命令队列211中的第一高速缓冲编程描述符生成第一高速缓冲编程命令,并将生成的第一高速缓冲编程命令传输到非易失性存储器装置300。此时,存储器控制器210可将存储在ram220中的第一编程数据传输到非易失性存储器装置300。

在步骤s1300中,基于接收到的第一高速缓冲编程命令,非易失性存储器装置300可对第一编程数据执行第一高速缓冲编程操作。也就是说,非易失性存储器装置300可根据第一高速缓冲编程命令将第一编程数据存储在页面缓冲器320中。当将第一编程数据完全存储在页面缓冲器320中时,可完成第一高速缓冲编程操作。

在步骤s1400中,非易失性存储器装置300可将包括第一高速缓冲编程操作的结果的第一状态信息传输到存储器控制器210。第一状态信息可包括表示第一高速缓冲编程操作完成的信息和表示第一高速缓冲编程操作通过或失败的信息。为便于描述,本实施例基于不存在在第一高速缓冲编程操作之前被操作的高速缓冲编程操作的假设。因此,第一状态信息可仅包括表示第一高速缓冲编程操作完成的信息。

在步骤s1500中,存储器控制器210可确定完成了第一高速缓冲编程命令,并将第一高速缓冲编程描述符从命令队列211移动到高速缓冲队列212。在将第一高速缓冲编程描述符移动到高速缓冲队列212之后,存储器控制器210可从命令队列211中删除第一高速缓冲编程描述符。

在步骤s2100中,存储器控制器210可将用于第二高速缓冲编程操作的第二信息(在下文中,称为“第二高速缓冲编程描述符”)存储在命令队列211中。例如,第二高速缓冲编程操作可包括将在步骤s1300中缓冲在非易失性存储器装置300的页面缓冲器320中的第一编程数据编程到存储器单元阵列310的操作,以及将第二编程数据缓冲在非易失性存储器装置300的页面缓冲器320中的操作,其中第二编程数据在被缓冲在页面缓冲器320中的第一编程数据之后被编程到存储器单元阵列310。

在步骤s2200中,存储器控制器210可基于存储在命令队列211中的第二高速缓冲编程描述符生成第二高速缓冲编程命令,并将生成的第二高速缓冲编程命令传输到非易失性存储器装置300。此时,存储器控制器210可将存储在ram220中的第二编程数据传输到非易失性存储器装置300。

在步骤s2300中,非易失性存储器装置300可基于接收到的第二高速缓冲编程命令执行第二高速缓冲编程操作。也就是说,根据第二高速缓冲编程命令,非易失性存储器装置300可在将存储在页面缓冲器320中的第一编程数据编程到存储器单元阵列310的同时,将第二编程数据存储在页面缓冲器320中。当将第一编程数据完全编程到存储器单元阵列310并且将第二编程数据完全存储在页面缓冲器320中时,可完成第二高速缓冲编程操作。

在步骤s2400中,非易失性存储器装置300可将包括第二高速缓冲编程操作的结果的第二状态信息传输到存储器控制器210。第二状态信息可包括表示第二高速缓冲编程操作完成的信息和表示第二高速缓冲编程操作通过或失败的信息。例如,表示第二高速缓冲编程操作完成的信息可表示完成了将第二编程数据存储在页面缓冲器320中的操作。表示第二高速缓冲编程操作通过或失败的信息可表示将第一编程数据编程到存储器单元阵列310的操作是通过还是失败。

在步骤s2500中,存储器控制器210可确定完成了第二高速缓冲编程命令,将第二高速缓冲编程描述符从命令队列211移动到高速缓冲队列212,然后从命令队列211中删除第二高速缓冲编程描述符。

在步骤s2600中,存储器控制器210基于第二状态信息可以或可以不将第一高速缓冲编程描述符从高速缓冲队列212移动到响应队列213。

图9a是详细示出图8的步骤s2600的流程图。

在步骤s2610中,基于从非易失性存储器装置300接收的第二状态信息,存储器控制器210可确定将第一数据编程到存储器单元阵列310的操作是失败还是通过。当将第一编程数据编程到存储器单元阵列310的操作通过(步骤s2610中为“否”)时,过程可继续进行到步骤s2630。另一方面,当将第一编程数据编程到存储器单元阵列310的操作失败(步骤s2610中为“是”)时,过程可继续进行到步骤s2620。

在步骤s2620中,存储器控制器210可将第一高速缓冲编程描述符从高速缓冲队列212移动到响应队列213。

在步骤s2630中,存储器控制器210可从高速缓冲队列212中删除第一高速缓冲编程描述符。

也就是说,当第二状态信息包括表示将第一编程数据编程到存储器单元阵列310的操作失败的信息时,存储器控制器210可将第一高速缓冲编程描述符从高速缓冲队列212移动到响应队列213,然后从高速缓冲队列212中删除第一高速缓冲编程描述符。另一方面,当第二状态信息包括表示将第一编程数据编程到存储器单元阵列310的操作通过的信息时,存储器控制器210可不将第一高速缓冲编程描述符从高速缓冲队列212移动到响应队列213,但是从高速缓冲队列212中删除第一高速缓冲编程描述符。

图9b是示出当第一高速缓冲编程描述符被移动到响应队列213时的操作方法的流程图。

在步骤s2710中,控制器200的处理器240可删除存储在存储器控制器210的命令队列211、高速缓冲队列212和响应队列213中的描述符。

在步骤s2720中,处理器240可将用于第一高速缓冲编程操作的第一高速缓冲编程描述符和用于第二高速缓冲编程操作的第二高速缓冲编程描述符顺序地重新传输到存储器控制器210。可以与步骤s1100至s2600中描述的相同方式来执行以下操作。

参照图2和图10,将描述根据本实施例的存储器系统100的操作方法。

在步骤s3100中,存储器控制器210可将用于第一高速缓冲读取操作的第三信息(在下文中,称为“第一高速缓冲读取描述符”)存储在命令队列211中。例如,第一高速缓冲读取操作可包括从存储器单元阵列310读取第一读取数据并将第一读取数据存储在页面缓冲器320中的操作。

在步骤s3200中,存储器控制器210可基于存储在命令队列211中的第一高速缓冲读取描述符生成第一高速缓冲读取命令,并将生成的第一高速缓冲读取命令传输到非易失性存储器装置300。

在步骤s3300中,基于接收到的第一高速缓冲读取命令,非易失性存储器装置300可对第一读取数据执行第一高速缓冲读取操作。也就是说,根据第一高速缓冲读取命令,非易失性存储器装置300可从存储器单元阵列310读取第一读取数据,并将读取的第一读取数据存储在页面缓冲器320中。当将第一读取数据完全存储在页面缓冲器320中时,可完成第一高速缓冲读取操作。

在步骤s3400,非易失性存储器装置300可将包括第一高速缓冲读取操作的结果的第三状态信息传输到存储器控制器210。第三状态信息可包括表示第一高速缓冲读取操作完成的信息。

在步骤s3500中,存储器控制器210可确定完成了第一高速缓冲读取操作,并将第一高速缓冲读取描述符从命令队列211移动到高速缓冲队列212。在将第一高速缓冲读取描述符移动到高速缓冲队列212之后,存储器控制器210可从命令队列211中删除第一高速缓冲读取描述符。

在步骤s4100中,存储器控制器210可将用于第二高速缓冲读取操作的第四信息(在下文中,称为“第二高速缓冲读取描述符”)存储在命令队列211中。例如,第二高速缓冲读取操作可包括:将在步骤s3300中从存储器单元阵列310读取并存储在页面缓冲器320中的第一读取数据传输到存储器控制器210的操作;以及从存储器单元阵列310读取第二读取数据并将第二读取数据存储在页面缓冲器320中的操作,其中第二读取数据在第一读取数据之后传输到存储器控制器210。

在步骤s4200中,存储器控制器210可基于存储在命令队列211中的第二高速缓冲读取描述符生成第二高速缓冲读取命令,并将生成的第二高速缓冲读取命令传输到非易失性存储器装置300。

在步骤s4300中,非易失性存储器装置300可基于接收到的第二高速缓冲读取命令执行第二高速缓冲读取操作。也就是说,根据第二高速缓冲读取命令,非易失性存储器装置300可在将存储在页面缓冲器320中的第一读取数据传输到存储器控制器210的同时,从存储器单元阵列310中读取第二读取数据并将读取的第二读取数据存储在页面缓冲器320中。当将第一读取数据完全传输到存储器控制器210并且将第二读取数据完全存储在页面缓冲器320中时,可完成第二高速缓冲读取操作。

在步骤s4400中,非易失性存储器装置300可将包括第二高速缓冲读取操作的结果的第四状态信息传输到存储器控制器210。第四状态信息可包括表示第二高速缓冲读取操作完成的信息。

在步骤s4500中,存储器控制器210可确定完成了第二高速缓冲读取命令的处理,将第二高速缓冲读取描述符从命令队列211移动到高速缓冲队列212,然后从命令队列211中删除第二高速缓冲读取描述符。

在步骤s4600中,存储器控制器210可以或可以不将第一高速缓冲读取描述符从高速缓冲队列212移动到响应队列213。

图11a是详细示出图10的步骤s4600的流程图。

在步骤s4610中,存储器控制器210可对从非易失性存储器装置300接收的第一读取数据进行解码。

在步骤s4620中,存储器控制器210可确定对第一读取数据的解码是否失败。当解码通过(步骤s4620中为“否”)时,过程可继续进行到步骤s4640。当解码失败(步骤s4620中为“是”)时,过程可继续进行到步骤s4630。

在步骤s4630中,存储器控制器210可将第一高速缓冲读取描述符从高速缓冲队列212移动到响应队列213。

在步骤s4640中,存储器控制器210可从高速缓冲队列212中删除第一高速缓冲读取描述符。

也就是说,当对通过第一高速缓冲读取操作从存储器单元阵列310读取的第一读取数据的解码失败时,存储器控制器210可将第一高速缓冲读取描述符从高速缓冲队列212移动到响应队列213,然后从高速缓冲队列212中删除第一高速缓冲读取描述符。另一方面,当对第一读取数据的解码通过时,存储器控制器210可不将第一高速缓冲读取描述符从高速缓冲队列212移动到响应队列213,但从高速缓冲队列212中删除第一高速缓冲读取描述符。

图11b是示出当第一高速缓冲读取描述符被移动到响应队列213时的操作方法的流程图。

在步骤s4710中,控制器200的处理器240可删除存储在存储器控制器210的命令队列211、高速缓冲队列212和响应队列213中的描述符。

在步骤s4720中,处理器240可驱动flt以生成用于对第三数据(即,第一读取数据)的正常读取操作的第三描述符,并且将生成的第五信息(在下文中,称为“第三描述符”)传输到存储器控制器210。此时,正常读取操作可以是以下操作:从存储器单元阵列310读取第一读取数据,将读取的第一读取数据存储在页面缓冲器320中,并且将存储在页面缓冲器320中的第一读取数据传输到存储器控制器210。存储器控制器210可基于第三描述符生成用于第一读取数据的正常读取命令,并且将生成的正常读取命令传输到非易失性存储器装置300。

在步骤s4730中,非易失性存储器装置300可根据正常读取命令来执行以下正常读取操作:从存储器单元阵列310读取第一读取数据、将第一读取数据存储在页面缓冲器320中并且将存储在页面缓冲器320中的第一读取数据传输到存储器控制器210中。

在步骤s4740中,存储器控制器210可对从非易失性存储器装置300接收的第一读取数据进行解码。

在步骤s4750中,存储器控制器210可确定对第一读取数据的解码是否通过。当解码失败(步骤s4750中为“否”)时,可再次执行步骤s4720至s4740。当解码通过(步骤s4750中为“是”)时,过程可继续进行到步骤s4760。

在步骤s4760中,处理器240可驱动ftl以生成用于对第四数据(即,第二读取数据)的正常读取操作的第六信息(在下文中,称为“第四描述符”),并且将生成的第四描述符传输到存储器控制器210。存储器控制器210可基于第四描述符生成用于第二读取数据的正常读取命令,并且将生成的正常读取命令传输到非易失性存储器装置300。

在步骤s4770中,非易失性存储器装置300可根据正常读取命令执行以下正常读取操作:从存储器单元阵列310读取第二读取数据、将读取的第二读取数据存储在页面缓冲器320中并且将存储在页面缓冲器320中的第二读取数据传输到存储器控制器210。

在步骤s4780中,存储器控制器210可对从非易失性存储器装置300接收的第二读取数据进行解码。

在步骤s4790中,存储器控制器210可确定对第二读取数据的解码是否通过。当解码失败(步骤s4790中为“否”)时,可再次执行步骤s4760至s4780。当解码通过(步骤s4790中为“是”)时,可结束该过程。

根据本实施例,存储器系统和操作方法可正确地确定用于未能存储在存储器中的数据的描述符和用于解码失败数据的描述符,并且在高速缓冲编程操作和高速缓冲读取操作期间再次对对应数据执行编程/读取操作,这样可以提高系统的可靠性。

图12是示出根据实施例的包括固态驱动器(ssd)的数据处理系统的代表示例的示图。参照图12,数据处理系统1000可包括主机装置1100和ssd1200。

ssd1200可包括控制器1210、缓冲存储器装置1220、非易失性存储器装置1231至123n、电源1240、信号连接器1250和电源连接器1260。

控制器1210可控制ssd1200的一般操作。控制器1210可包括存储器控制单元210、随机存取存储器220、主机接口单元230、控制单元240和错误校正码(ecc)单元1214。

存储器控制单元210可根据控制单元240的控制将诸如命令和地址的控制信号提供给非易失性存储器装置1231至123n。此外,存储器控制单元210可根据控制单元240的控制与非易失性存储器装置1231至123n交换数据。例如,存储器控制单元210可将存储在缓冲存储器装置1220中的数据提供给非易失性存储器装置1231至123n,或者将从非易失性存储器装置1231至123n读出的数据提供给缓冲存储器装置1220。

主机接口单元230可通过信号连接器1250与主机装置1100交换信号sgl。信号sgl可包括命令、地址、数据等。主机接口单元230可根据主机装置1100的协议来对主机装置1100和ssd1200进行接口连接。例如,主机接口单元230可通过诸如以下的标准接口协议中的任何一种与主机装置1100通信:安全数字、通用串行总线(usb)、多媒体卡(mmc)、嵌入式mmc(emmc)、个人计算机存储卡国际协会(pcmcia)、并行高级技术附件(pata)、串行高级技术附件(sata)、小型计算机系统接口(scsi)、串列scsi(sas)、外围组件互连(pci)、高速pci(pci-e)和通用闪速存储(ufs)。

控制单元240可分析和处理从主机装置1100输入的信号sgl。控制单元240可根据用于驱动ssd1200的固件或软件来控制内部功能块的操作。随机存取存储器220可用作驱动这种固件或软件的工作存储器。

错误校正码(ecc)单元1214可生成待传输到非易失性存储器装置1231至123n的数据的奇偶校验数据。生成的奇偶校验数据可与数据一起存储在非易失性存储器装置1231至123n中。错误校正码(ecc)单元1214可基于奇偶校验数据来检测从非易失性存储器装置1231至123n读出的数据的错误。如果检测到的错误在可校正范围内,则错误校正码(ecc)单元1214可校正检测到的错误。

缓冲存储器装置1220可临时存储待存储在非易失性存储器装置1231至123n中的数据。进一步地,缓冲存储器装置1220可临时存储从非易失性存储器装置1231至123n读出的数据。被临时存储在缓冲存储器装置1220中的数据可根据控制器1210的控制被传输到主机装置1100或非易失性存储器装置1231至123n。

非易失性存储器装置1231至123n可用作ssd1200的存储介质。非易失性存储器装置1231至123n可分别通过多个通道ch1至chn与控制器1210联接。一个或多个非易失性存储器装置可联接到一个通道。联接到每一个通道的非易失性存储器装置可联接到相同的信号总线和数据总线。

电源1240可将通过电源连接器1260输入的电力pwr提供至ssd1200的内部。电源1240可包括辅助电源1241。当发生突然断电时,辅助电源1241可进行供电以使ssd1200正常地结束。辅助电源1241可包括大容量电容器。

信号连接器1250可根据主机装置1100和ssd1200之间的接口连接方案而通过各种类型的连接器配置。

电源连接器1260可根据主机装置1100的供电方案而通过各种类型的连接器配置。

图13是示出根据实施例的包括存储器系统的数据处理系统的代表示例的示图。参照图13,数据处理系统2000可包括主机装置2100和存储器系统2200。

主机装置2100可以诸如印制电路板的板形式来配置。虽然未示出,但主机装置2100可包括用于执行主机装置的功能的内部功能块。

主机装置2100可包括诸如插座、插槽或连接器的连接端子2110。存储器系统2200可被安装到连接端子2110。

存储器系统2200可以诸如印制电路板的板形式来配置。存储器系统2200可表示为存储器模块或存储卡。存储器系统2200可包括控制器2210、缓冲存储器装置2220、非易失性存储器装置2231和2232、电源管理集成电路(pmic)2240和连接端子2250。

控制器2210可控制存储器系统2200的一般操作。控制器2210可以与图12所示的控制器1210以相同的方式来配置。

缓冲存储器装置2220可临时存储待被存储在非易失性存储器装置2231和2232中的数据。进一步地,缓冲存储器装置2220可临时存储从非易失性存储器装置2231和2232读取的数据。被临时存储在缓冲存储器装置2220中的数据可根据控制器2210的控制被传输到主机装置2100或非易失性存储器装置2231和2232。

非易失性存储器装置2231和2232可用作存储器系统2200的存储介质。

pmic2240可将通过连接端子2250输入的电力提供到存储器系统2200的内部。pmic2240可根据控制器2210的控制来管理存储器系统2200的电力。

连接端子2250可联接到主机装置2100的连接端子2110。通过连接端子2250,诸如命令、地址、数据等的信号和电力可在主机装置2100与存储器系统2200之间传输。根据主机装置2100和存储器系统2200之间的接口方案,连接端子2250可被构造成各种类型。连接端子2250可被设置在存储器系统2200的任何一侧。

图14是示出根据实施例的包括存储器系统的数据处理系统的代表示例的示图。参照图14,数据处理系统3000可包括主机装置3100和存储器系统3200。

主机装置3100可以诸如印制电路板的板形式来配置。虽然未示出,但主机装置3100可包括用于执行主机装置的功能的内部功能块。

存储器系统3200可以表面安装型封装的形式来配置。存储器系统3200可通过焊球3250安装到主机装置3100。存储器系统3200可包括控制器3210、缓冲存储器装置3220和非易失性存储器装置3230。

控制器3210可控制存储器系统3200的一般操作。控制器3210可以与图12所示的控制器1210以相同的方式来配置。

缓冲存储器装置3220可临时存储待被存储在非易失性存储器装置3230中的数据。进一步地,缓冲存储器装置3220可临时存储从非易失性存储器装置3230读出的数据。被临时存储在缓冲存储器装置3220中的数据可根据控制器3210的控制被传输到主机装置3100或非易失性存储器装置3230。

非易失性存储器装置3230可用作存储器系统3200的存储介质。

图15是示出根据实施例的包括存储器系统的网络系统的代表示例的示图。参照图15,网络系统4000可包括通过网络4500联接的服务器系统4300和多个客户端系统4410至4430。

服务器系统4300可响应于来自多个客户端系统4410至4430的请求来服务数据。例如,服务器系统4300可存储从多个客户端系统4410至4430提供的数据。又例如,服务器系统4300可将数据提供给多个客户端系统4410至4430。

服务器系统4300可包括主机装置4100和存储器系统4200。存储器系统4200可通过图1的存储器系统100、图12的ssd1200、图13的存储器系统2200或图14的存储器系统3200来配置。

图16是示出根据实施例的包括在存储器系统中的非易失性存储器装置的代表示例的框图。参照图16,非易失性存储器装置300可包括存储器单元阵列310、行解码器320、页面缓冲器330、列解码器340、电压发生器350和控制逻辑360。

存储器单元阵列310可包括设置在字线wl1至wlm和位线bl1至bln彼此交叉的区域中的存储器单元mc。

页面缓冲器330可通过位线bl1至bln与存储器单元阵列310联接。页面缓冲器330可包括分别对应于位线bl1至bln的读取/写入电路rw1至rwn。页面缓冲器330可根据控制逻辑360的控制来操作。页面缓冲器330可根据操作模式而操作为写入驱动器或读出放大器。例如,页面缓冲器330可作为写入驱动器来操作,该写入驱动器在写入操作中将由外部装置提供的数据存储在存储器单元阵列310中。又例如,页面缓冲器330可作为读出放大器来操作,该读出放大器在读取操作中从存储器单元阵列310读出数据。

行解码器320可通过字线wl1至wlm而与存储器单元阵列310联接。行解码器320可根据控制逻辑360的控制来操作。行解码器320可对从外部装置(未示出)提供的地址进行解码。行解码器320可基于解码结果来选择并驱动字线wl1至wlm。例如,行解码器320可将从电压发生器350提供的字线电压提供给字线wl1至wlm。

列解码器340可根据控制逻辑360的控制来操作。列解码器340可对从外部装置提供的地址进行解码。列解码器340可基于解码结果将分别对应于位线bl1至bln的页面缓冲器330的读取/写入电路rw1至rwn与数据输入/输出线(或数据输入/输出缓冲器)联接。

电压发生器350可生成将用于非易失性存储器装置300的内部操作的电压。通过电压发生器350生成的电压可被施加到存储器单元阵列310的存储器单元。例如,在编程操作中生成的编程电压可被施加到待执行编程操作的存储器单元的字线。再例如,在擦除操作中生成的擦除电压可被施加到待执行擦除操作的存储器单元的阱区域。再例如,在读取操作中生成的读取电压可被施加到待执行读取操作的存储器单元的字线。

控制逻辑360可基于从外部装置提供的控制信号来控制非易失性存储器装置300的一般操作。例如,控制逻辑360可控制非易失性存储器装置300的读取操作、写入操作和擦除操作。

可将对上述系统的描述应用于根据本公开的实施例的方法。因此,在方法中省略对与上述系统的描述相同的描述。

尽管上面已经描述了各个实施例,但是本领域技术人员将理解,所描述的实施例仅为示例。因此,本文所描述的存储器系统及其操作方法不应基于所描述的实施例而受到限制。

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