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

文档序号:17493730发布日期:2019-04-23 20:58阅读:235来源:国知局
存储器系统及其操作方法与流程

本申请要求于2017年10月17日提交的申请号为10-2017-0134676的韩国专利申请的优先权,其全部内容通过引用并入本文。

本公开的各个示例性实施例总体涉及一种电子装置。特别地,实施例涉及一种包括非易失性存储器装置的存储器系统及一种操作该存储器系统的方法。



背景技术:

计算机环境已经发展到无处不在的地步。也就是说,可以随时随地使用计算机系统。这促进了增加诸如移动电话、数码相机、笔记本电脑等的便携式电子装置的使用。这些便携式电子装置通常可包括具有存储器装置的存储器系统,即数据存储装置。在这种便携式电子装置中,数据存储装置用作主存储器装置或辅助存储器装置。

因为没有机械驱动部件,所以用作存储器装置的数据存储装置具有优异的稳定性和耐用性、高信息存取速度以及低功耗。在具有这些优点的存储器系统中,数据存储装置包括通用串行总线(usb)存储器装置、具有各种接口的存储卡、固态硬盘(ssd)等。



技术实现要素:

实施例提供了一种存储器系统及其操作方法,其可通过当存储器系统的编程操作失败时保持等待的读取命令并且然后执行恢复操作,来提高数据的可靠性。

根据本公开的一方面,提供了一种存储器系统,其包括:控制器,被配置成对多个命令进行排队,并且响应于多个排队的命令输出控制信号;以及存储器装置,被配置成响应于控制信号来执行编程操作,其中当编程操作失败时,控制器保持多个排队的命令。

根据本公开的一方面,提供了一种存储器系统,其包括:控制器,被配置成对多个命令进行排队,并且响应于多个排队的命令输出控制信号;以及存储器装置,被配置成响应于控制信号来执行编程操作,其中当编程操作失败时,存储器装置通过执行恢复操作来将数据存储在新存储块中,其中控制器保持多个排队的命令,然后将与多个命令之中的读取命令相对应的位置校正为新存储块的位置。

根据本公开的一方面,提供了一种存储器系统的操作方法,该方法包括:在控制器中,对从主机输入的多个命令进行排队;根据多个命令在控制器中的排队顺序生成控制信号,并基于控制信号执行存储器装置的操作,其包括编程操作;以及当操作之中的编程操作失败时,保持生成控制信号并执行存储器装置的恢复操作。

根据本公开的一方面,提供了一种电子装置,其包括:控制器,包括处理器和nand闪速控制器;处理器,被配置成在nand闪速控制器中,对从外部源输入的多个命令进行排队,并且nand闪速控制器被配置成响应于多个排队的命令而生成并输出控制信号;以及存储器,被配置成响应于控制信号对所选数据单元执行编程操作,并且在编程操作完成之后,执行状态检查操作以确定编程操作是否被成功执行;其中当状态检查操作指示编程操作未被成功执行时,存储器输出指示编程操作未被成功执行的编程状态信号,并且响应于编程状态信号,nand闪速控制器保持生成和输出控制信号的操作。

附图说明

现将参照附图更详细地描述示例性实施例;然而,这些实施例不应该被解释为进行限制。相反地,提供这些实施例以促进彻底且充分的公开,并且将示例性实施例的范围全面地传达给本领域的技术人员。

在附图中,为了说明清楚,尺寸可能未按比例。此外,应当理解的是,当元件被称为在两个元件“之间”时,它可以是两个元件之间的唯一元件,或者可以存在多个中间元件。相同的附图标记始终表示相同的元件。

图1是示出根据本公开的实施例的包括存储器系统的数据处理系统的示例的示图。

图2是示出根据本公开的实施例的存储器系统中的存储器装置的示图。

图3是示出根据本公开的实施例的存储器系统中的存储块的存储器单元阵列的示例性电路的示图。

图4是示出根据本公开的实施例的存储器系统中的存储器装置的示例性结构的示图。

图5是示出根据本公开的实施例的用于操作存储器系统的示例性方法的流程图。

图6至图9是示出包括根据本公开的实施例的存储器系统的数据处理系统的其它示例的示图。

具体实施方式

在下面的详细描述中,描述了本公开的示例性实施例。这些实施例通过说明而非限制的方式进行描述。如本领域技术人员将从下面的描述中认识到,在不脱离本公开的精神或范围的情况下,可以各种不同的方式修改所述实施例。因此,以下描述以及参照的附图应被认为是说明性的而非限制性的。

在整个说明书中,当元件被称为“连接”或“联接”到另一元件时,它可以直接连接或联接到另一元件,或者利用设置于其间的一个或多个元件来间接连接或联接到另一元件。另外,除非另有明确说明,否则当元件被称为“包括”部件时,这种表述表示元件可进一步包括一个或多个另外的部件,而非排除另外的部件。

图1是示出根据本公开的实施例的包括存储器系统的数据处理系统的示例的示图。

参照图1,数据处理系统100可包括主机102和存储器系统110。

主机102可包括诸如移动电话、mp3播放器和膝上型计算机的便携式电子装置,或者诸如台式计算机、游戏机、tv和投影仪的电子装置。

存储器系统110响应于主机102的请求进行操作,主机可访问由存储器系统110存储的数据。存储器系统110可用作主机102的主存储器装置或辅助存储器装置。在本公开的一个或多个实施例中,可根据联接到主机102的主机接口协议,利用各种类型的存储装置中的任何一种来实施存储器系统110。例如,存储器系统110可利用诸如以下的各种类型的存储装置中的任何一种来实施:固态硬盘(ssd)、多媒体卡(mmc)、嵌入式mmc(emmc)、缩小尺寸的mmc(rs-mmc)或微型mmc、安全数字(sd)卡、迷你-sd或微型-sd、通用串行总线(usb)存储装置、通用闪存(ufs)装置、标准闪存(cf)卡、智能媒体(smc)卡和记忆棒。

另外,用于实施存储器系统110的存储装置可被分为(i)易失性存储器装置,诸如动态随机存取存储器(dram)和静态随机存取存储器(sram),以及(ii)非易失性存储器装置,诸如只读存储器(rom)、掩模只读存储器(mrom)、可编程只读存储器(prom)、电可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)、铁磁随机存取存储器(fram)、相变随机存取存储器(pram)、磁性随机存取存储器(mram)、电阻式随机存取存储器(rram)和闪速存储器。

而且,存储器系统110可包括存储由主机102访问的数据的存储器装置150和控制待存储在存储器装置150中的数据的控制器130。

在本公开的一个或多个实施例中,控制器130和存储器装置150可集成到一个半导体装置中。作为示例,控制器130和存储器装置150可集成为单个半导体装置以构成ssd。当存储器系统110用作ssd时,联接到存储器系统110的主机102的操作速度可被显著提高。

例如,控制器130和存储器装置150可集成为单个半导体装置以构成存储卡。作为另一示例,控制器130和存储器装置150可集成为单个半导体装置,以构成诸如以下的存储卡:pc卡(个人计算机存储卡国际协会(pcmcia))、标准闪存(cf)卡、智能媒体卡(sm或smc)、记忆棒、多媒体卡(mmc、rs-mmc或微型mmc)、sd卡(sd、迷你-sd、微型-sd或sdhc)或通用闪存(ufs)。

还提供另一示例,存储器系统110可构成诸如以下的电子装置的各种部件中的一种:计算机、超移动pc(umpc)、工作站、上网本、个人数字助理(pda)、便携式计算机、网络平板、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(pmp)、便携式游戏机、导航系统、黑盒、数码相机、三维电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、构成数据中心的存储器、能够在无线环境中发送/接收信息的装置、构成家庭网络的各种电子装置之一、构成计算机网络的各种电子装置之一、构成远程信息处理网络的各种电子装置之一、rfid装置或构成计算系统的各种部件之一。

即使当未供电时,存储器系统110的存储器装置150仍保留存储的数据。存储器系统110通过写入操作存储从主机102提供的数据,并且通过读取操作将存储的数据提供至主机102。

在本公开的一个或多个实施例中,存储器装置150可包括多个存储块152、154和156,多个存储块152、154和156中的每一个包括多个页面。另外,页面中的每一个包括多个存储器单元,多个存储器单元联接到多个字线。而且,存储器装置150可包括多个平面,多个存储块152、154和156被分别包括在多个平面中。特别地,存储器装置150可包括多个存储器管芯,多个平面被分别包括在多个存储器管芯中。存储器装置150可以是非易失性存储器装置,例如闪速存储器。在该示例中,闪速存储器可具有三维堆叠结构。

参照图2至图4更详细地描述存储器装置150示例性结构,其包括存储器装置150的三维堆叠结构。

存储器系统110的控制器130响应于来自主机102的请求来控制存储器装置150。控制器130将从存储器装置150读取的数据提供至主机102,并且将从主机102提供的数据存储在存储器装置150中。为此,控制器130控制存储器装置150的读取操作、写入操作、编程操作和擦除操作。

控制器130可包括主机接口(主机i/f)单元132、处理器134、错误校正码(ecc)单元138、电源管理单元(pmu)140、诸如nand闪速控制器(nfc)的存储器接口142、队列保持控制器144和存储器146。例如,存储器接口142和队列保持控制器144可以是如图1所示的分开的部件。然而,其它布置也是可能的。例如,队列保持控制器144可被包括在存储器接口142中。

主机i/f单元132可处理主机102的命令和数据,并且可通过诸如以下的各种接口协议中的至少一种与主机102通信:通用串行总线(usb)协议、多媒体卡(mmc)协议、外围组件互连(pci)协议、高速pci(pci-e)协议、高级技术附件(ata)协议、串行ata协议、并行ata协议、小型计算机系统接口(scsi)协议、增强型小型磁盘接口(esdi)协议和电子集成驱动(ide)协议。

当读取存储在存储器装置150中的数据时,ecc单元138检测并校正包括在读取数据中的任何错误。换言之,ecc单元138可对从存储器装置150读取的数据执行ecc解码,确定ecc解码是否成功,基于确定结果输出指令信号,并且通过使用在ecc编码过程中生成的奇偶校验位来校正读取数据的错误位。然而,如果错误位的数量大于或等于可校正错误位阈值,则ecc单元138不能校正错误位,并因此可输出表示错误位未被校正的错误校正失败信号。

处理器134控制存储器系统110的全部操作,包括响应于来自主机102的写入请求或读取请求而对存储器装置150执行的写入操作或读取操作。例如,处理器134驱动诸如闪存转换层(以下称为“ftl”)的固件以控制存储器系统110的全部操作。处理器134可利用微处理器、中央处理单元(cpu)等来实施。而且,处理器134可通过以优先级顺序排列命令,来在存储器接口142中对从主机102接收的命令进行排队。而且,当确定存储器装置150的编程操作失败时,处理器134控制存储器装置150以执行恢复操作。而且,处理器134可通过读取保持在存储器接口142中的命令,来搜索具有与编程操作失败的地址相对应的地址的读取命令。当识别到该读取命令时,处理器134可将该读取命令的地址校正为恢复的地址,并在存储器接口142中对包括校正的读取命令的命令进行排队。

ecc单元138可通过使用包括以下的编码调制来执行错误校正:低密度奇偶校验(ldpc)码、博斯-查德胡里-霍昆格姆(bose-chaudhri-hocquenghem,bch)码、涡轮码、里德-所罗门(reed-solomon)码、卷积码、递归系统码(rsc)、网格编码调制(tcm)、分组编码调制、汉明码等,但本公开不限于这些错误校正技术。相反地,可使用任何其它合适的错误校正技术。而且,ecc单元138可包括用于错误校正的电路、系统或装置。

pmu140提供并管理控制器130的电力,即包括在控制器130中的部件的电力。

存储器接口142是执行控制器130与存储器装置150之间的接口连接,以响应于来自主机102的请求而控制存储器装置150的存储器接口。当存储器装置150是闪速存储器,特别是nand闪速存储器时,存储器接口142基于处理器134的控制,生成存储器装置150的控制信号并处理数据。

而且,存储器接口142可存储由处理器134排队的多个命令。存储器接口142可响应于命令而顺序地生成与排队的命令相对应的控制信号,并将生成的控制信号输出或传输到存储器装置150。而且,存储器接口142可通过保持排队的命令来停止生成和传输控制信号,或者通过释放保持的命令来重新执行先前停止的、生成和传输控制信号的操作。

响应于存储器装置150的编程操作中的状态检查操作结果p/s,队列保持控制器144可选择性地保持命令输出操作或释放对命令输出操作的保持。例如,当确定存储器装置150的编程操作失败时,队列保持控制器144保持存储器接口142的命令输出操作,并且在存储器接口142重新存储由处理器134排队的命令之后,队列限制控制器144释放保持的命令输出操作。

存储器系统110的存储器146和控制器130可进行操作以存储用于驱动存储器系统110和控制器130的数据。例如,当控制器130控制诸如读取操作、写入操作、编程操作或擦除操作的操作时,控制器130将执行操作所需的数据存储在存储器146中。

存储器146可利用诸如静态随机存取存储器(sram)、动态随机存取存储器(dram)等的易失性存储器来实施。而且,存储器146存储在主机102和存储器装置150之间执行操作,诸如数据写入和读取操作所需的数据,以及当执行操作,诸如数据写入和读取操作时的数据。为存储这种数据,存储器146可包括编程存储器、数据存储器、写入缓冲器/高速缓冲器、读取缓冲器/高速缓冲器、映射缓冲器/高速缓冲器等。

控制器130可通过处理器134来在存储器装置150中执行从主机102请求的操作,其中处理器134利用微处理器、cpu等实施。例如,控制器130与存储器装置150一起执行与从主机102接收的命令相对应的命令操作。在该示例中,控制器130可执行前台操作来作为与从主机102接收的命令相对应的命令操作。

而且,控制器130可通过处理器134来对存储器装置150执行后台操作,其中处理器134利用微处理器、cpu等实施。例如,对存储器装置150的后台操作可包括以下操作:通过将存储在存储器装置150的存储块152、154和156中的任意存储块中的数据复制到另一任意存储块来执行处理的操作,例如垃圾收集操作;通过在存储器装置150的存储块152、154和156之间进行交换或在存储在存储块152、154和156中的数据之间进行交换来执行处理的操作,例如损耗均衡操作;使得存储在控制器130中的映射数据被存储在存储器装置150的存储块152、154和156中的操作,例如映射刷新操作;对存储器装置150执行不良管理的操作,例如不良块管理操作,其通过检查包括在存储器装置150中的多个存储块152、154和156中的不良块来执行处理,等等。

图2是示出根据本公开的实施例的存储器系统中的存储器装置的示图。图3是示出根据本公开的实施例的存储器系统中的存储块的存储器单元阵列的示例性电路的示图。图4是示出根据本公开的实施例的存储器系统中的存储器装置的示例性结构的示图。

参照图2至图4更详细地描述了根据本公开的一个或多个实施例的存储器系统中的存储器装置。

参照图2,存储器装置150可包括多个存储块,例如block0210、block1220、block2230……和blockn-1240(在下文中,称为“块210至240”),多个存储块中的每一个包括多个页面,例如2m个页面(在图2中标记为2m页面)。为便于描述,作为示例示出了多个存储块中的每一个包括2m个页面的布置,但多个存储块中的每一个可包括不同数量的页面,例如m个页面。页面中的每一个可包括多个存储器单元,多个存储器单元联接到多个字线。

而且,在存储器装置150中,基于存储在一个存储器单元中的数据的位的数量,多个存储块可包括单层单元(slc)存储块、多层单元(mlc)等。此处,slc存储块可包括由每一个存储一位数据的存储器单元实施的多个页面,并且具有快速的数据计算性能和高耐用性。mlc存储块可包括由每一个存储多位数据(例如,两位或更多位数据)的存储器单元实施的多个页面,并且具有比slc存储块更大的数据存储空间。包括由每一个存储三位或四位数据的存储器单元实施的多个页面的mlc存储块可被分为三层单元(tlc)存储块或四层单元(qlc)存储块。

块210至240中的每一个通过写入操作存储从主机102提供的数据,并且通过读取操作将存储的数据提供至主机102。

参照图3,在包括在存储器系统110的存储器装置150中的多个存储块152、154和156中,每一个存储块330可包括被实施为存储器单元阵列的、分别联接到位线bl0至blm-1的多个单元串340。每列单元串340可包括至少一个源极选择晶体管sst、多个存储器单元mc0至mcn-1以及至少一个漏极选择晶体管gst。多个存储器单元mc0至mcn-1可串联联接在选择晶体管sst和gst之间。存储器单元mc0至mcn-1中的每一个可被配置成mlc,其存储关于多位数据的信息。单元串340可分别电联接到相应位线bl0至blm-1。

在图3中,仅以示例的方式示出被配置成nand闪速存储器的存储块330。然而,包括在存储器装置150中的多个存储块152、154和156的配置不限于nand闪速存储器。相反地,存储器装置150的存储块结构可利用nor闪速存储器、其中组合至少两种类型的存储器单元的混合闪速存储器、其中控制器嵌入在存储器芯片中的1-nand闪速存储器等来实施。另外,存储器装置150的存储块结构不仅可利用其中电荷存储层被配置有导电浮栅的闪速存储器装置来实现,而且也可利用其中电荷存储层被配置有绝缘层的电荷撷取闪存(ctf)存储器装置等来实施。

存储器装置150的电压供给单元310可基于操作模式,提供待被供给至每个字线的字线电压(例如,编程电压、读取电压、通过电压等)以及提供待被供给至其中形成存储器单元的体材料(例如,阱区)的电压。在这种情况下,可在控制电路(未示出)的控制下执行电压供给单元310的电压生成操作。而且,电压供给单元310可生成多个可变读取电压以生成多个读取数据。电压供给单元310可响应于控制电路的控制,选择存储器单元阵列的存储块(或扇区)中的一个并且选择被选择存储块的字线中的一个。电压供给单元310可将字线电压提供至每一个被选择字线和其它未选择字线。

存储器装置150的读取/写入电路320可由控制电路控制,并且基于操作模式而被操作为读出放大器或写入驱动器。例如,在验证/正常读取操作中,读取/写入电路320可操作为读出放大器,其用于从存储器单元阵列读取数据。而且,在编程操作中,读取/写入电路320可操作为用于基于待被存储在存储器单元阵列中的数据而驱动位线的写入驱动器。在编程操作中,读取/写入电路320可从缓冲器(未示出)接收待写入在存储器单元阵列中的数据,并且基于接收到的数据驱动位线。为此,读取/写入电路320可包括分别对应于列(或位线)或列对(或位线对)的多个页面缓冲器(pb)322、324和326。多个锁存器(未示出)可包括在页面缓冲器322、324和326中的每一个中。

另外,存储器装置150可被实施为二维或三维存储器装置。特别地,存储器装置150可被实施为具有图4所示的三维堆叠结构的非易失性存储器装置。当存储器装置150以三维结构实施时,存储器装置150可包括多个存储块blk0至blkn-1。图4是示出图1所示的存储器装置150的存储块152、154和156的框图。存储块152、154和156中的每一个可以三维结构(或垂直结构)来实施。例如,存储块152、154和156中的每一个可包括尺寸沿第一方向至第三方向(例如,x轴、y轴和z轴方向)延伸的结构,并且可以三维结构来实施。

图5是示出根据本公开的一个或多个实施例的用于操作存储器系统的示例性方法的流程图。

将不仅参照图5而且还参照图1至图4来描述该方法。

在步骤s510中,如果从主机102输入了多个命令,则处理器134通过以优先级顺序排列命令而在存储器接口142中对命令进行排队。另外,与多个命令之中的编程命令相对应的数据被存储在存储器146中。

存储器接口142响应于多个排队的命令而顺序地生成用于操作存储器装置150的控制信号并且处理数据。作为示例,存储器接口142响应于编程命令而生成多个控制信号,并且将生成的控制信号传输到存储器装置。存储器接口142使得存储在存储器146中的数据被传输到存储器装置150。

在步骤s520中,在编程操作中,存储器装置150响应于从存储器接口142传输的控制信号,将数据编程到多个存储块152、154和156之中的至少一个被选择存储块中。

可以页面为单位执行编程操作。在步骤s530中,如果对被选择页面的编程操作完成,则存储器装置150执行编程状态检查操作以确定编程操作是否已被成功执行,例如,确定是否通过状态检查操作。

如果确定对被选择页面的状态检查操作通过(即,在步骤s530中为“通过”),则存储器装置150对下一页面执行编程操作。如果在对最后一个页面的编程操作完成之后,确定状态检查操作通过,则存储器装置150结束编程操作。

此后,存储器接口142响应于排在编程命令之后的下一命令而生成用于操作存储器装置150的控制信号并且处理数据。作为示例,当排在编程命令之后的下一命令是针对先前刚刚被编程数据的读取命令时,存储器接口142响应于读取命令而生成用于操作存储器装置150的控制信号。在步骤s540中,存储器装置读取存储在被选择存储块中的数据,并将读取的数据存储在页面缓冲器(pb)322、324和326中以及将该存储的数据存储在存储器中。存储在存储器146中的数据被输出到主机102。

回到图5中的步骤s530,如果执行的状态检查操作表示编程操作失败(即,在步骤s530中为“失败”),则存储器装置150输出作为状态检查操作结果的编程状态信号p/s,其在这种情况下表示编程操作失败,并且队列保持控制器144响应于编程状态信号p/s而保持存储器接口142的控制信号生成操作。也就是说,当确定状态检查操作失败,即表示编程操作失败时,在步骤s550中,队列保持控制器144保持存储器接口142的控制信号生成操作。

当如存储器装置150的状态检查操作结果所指示的,确定编程操作失败时,处理器134控制存储器装置150执行恢复操作。也就是说,处理器134控制存储器接口142基于存储的固件执行恢复操作,并且存储器接口142将与恢复操作相对应的控制信号输出到存储器装置150。

如果如存储器装置150的状态检查操作结果所指示的,确定编程操作失败,则存储器装置150将存储在编程操作失败的被选择存储块中的已被编程页面中的数据传输到新存储块,并将该数据编程到新存储块。也就是说,存储器装置150将存储在编程操作失败的被选择存储块中的已经通过编程操作的页面中的数据传输到新存储块,并将该数据编程到新存储块。此后,在步骤s560中,存储器装置150通过使用存储在页面缓冲器(pb)322、324和326中的数据,将编程操作失败的页面的数据传输到新存储块,并且将该数据编程到新存储块来执行恢复操作。

在存储器装置150的恢复操作之后,处理器134读取存储在存储器接口142中的排队的命令,并检查在读取命令之中,是否存在针对编程操作失败的存储块的读取命令。此时,在步骤s570中,当存在这种读取命令时,处理器134将对应于该读取命令的存储块校正为新恢复的存储块,并且在存储器接口142中对包括校正后的读取命令的多个命令进行重新排队以重新配置。

在步骤s580中,在存储器接口142中新排队或重新排队包括校正后的读取命令的命令之后,队列保持控制器144控制被保持的存储器接口142重新操作。因此,存储器接口142基于新排队的命令生成控制信号并且将生成的控制信号输出到存储器装置150。例如,当在恢复操作之后,完成编程操作,并且下一排队的命令是针对先前刚刚编程的数据的读取命令时,存储器接口142响应于读取命令而生成用于操作存储器装置150的控制信号。存储器装置150读取存储在被选择存储块中的数据并将读取数据存储在页面缓冲器(pb)322、324和326中。在步骤s540中,该存储的数据被存储在存储器146中。

总而言之,根据本公开的一个或多个实施例,当如状态检查操作结果所指示的,编程操作失败时,保持排队的命令。当在存储器装置150的恢复操作之后,在排队的命令之中存在读取命令时,将读取命令的地址被校正为包括新恢复存储块的位置,使得在读取操作中可读取恢复的数据,从而提高数据的可靠性。

图6是示意性地示出包括根据本公开的实施例的存储器系统的数据处理系统的示例的示图,并且更特别地,是示出可应用本公开的存储器系统的存储卡系统的示图。

参照图6,存储卡系统6100包括存储器控制器6120、存储器装置6130和连接器6110。

更具体地,存储器控制器6120联接到并且被配置成访问存储器装置6130,其中存储器装置6130可利用非易失性存储器来实施。例如,存储器控制器6120被配置成控制读取操作、写入操作、擦除操作、后台操作等。而且,存储器控制器6120被配置成提供存储器装置6130与主机之间的接口。存储器控制器6120可被配置成驱动固件以控制存储器装置6130。也就是说,存储器控制器6120可对应于图1所述的存储器系统110中的控制器130,并且存储器装置6130可对应于图1所述的存储器系统110中的存储器装置150。

因此,存储器控制器6120可包括诸如随机存取存储器(ram)、处理单元、主机接口、存储器接口、ecc单元和队列保持控制单元的部件。

另外,存储器控制器6120可通过连接器6110与例如图1所述的主机102的外部装置通信。例如,如图1所述,存储器控制器6120可被配置成通过诸如以下的各种通信协议中的至少一种与外部装置通信:通用串行总线(usb)协议、多媒体卡(mmc)协议、外围组件互连(pci)协议、高速pci(pci-e)协议、高级技术附件(ata)协议、串行ata协议、并行ata协议、小型计算机系统接口(scsi)协议、增强型小型磁盘接口(esdi)协议、电子集成驱动(ide)协议、火线、通用闪存(ufs)协议、wi-fi和蓝牙。因此,根据本公开的一个或多个实施例的存储器系统和数据处理系统可应用于有线/无线电子装置,特别是应用于移动电子装置等。

另外,存储器装置6130可利用非易失性存储器来实施。例如,存储器装置6130可利用诸如以下的各种非易失性存储器装置来实施:电可擦除可编程rom(eeprom)、nand闪速存储器、nor闪速存储器、相变ram(pram)、电阻式ram(reram)、铁电ram(fram)以及自旋力矩转移磁性ram(stt-mram)。

另外,存储器控制器6120和存储器装置6130可被集成到单个半导体装置中。作为示例,存储器控制器6120和存储器装置6130可被集成到单个半导体装置中以构成固态硬盘(ssd)。存储器控制器6120和存储器装置6130可被集成到单个半导体装置中以构成诸如以下的存储卡:pc卡(pcmcia)、标准闪存卡(cf)、智能媒体卡(sm、smc)、记忆棒、多媒体卡(mmc、rs-mmc、微型mmc)、sd卡(sd、迷你-sd、微型-sd、sdhc)或通用闪存(ufs)。

图7是示意性示出包括根据本公开的实施例的存储器系统的数据处理系统的另一示例的示图。

参照图7,数据处理系统6200包括利用至少一个非易失性存储器实施的存储器装置6230和控制存储器装置6230的存储器控制器6220。此处,如图1所示,图7所示的数据处理系统6200可以是诸如存储卡(cf、sd、微型-sd等)或usb存储器的存储介质。存储器装置6230可对应于图1所述的存储器系统110中的存储器装置150,并且存储器控制器6220可对应于图1所述的存储器系统110中的控制器130。

另外,存储器控制器6220响应于主机6210的请求而控制对存储器装置6230的读取操作、写入操作、擦除操作等,并且存储器控制器6220包括至少一个cpu6221、例如ram6222的缓冲存储器、ecc电路6223、主机接口6224和例如nvm接口6225的存储器接口。另外,图1的队列保持控制器144可包括在nvm接口6225中,并且当编程操作失败时保持nvm接口6225的操作。

cpu6221可控制存储器装置6230的全部操作,例如读取操作、写入操作、文件系统管理操作、不良页面管理操作等。另外,ram6222基于cpu6221的控制进行操作,并且可用作工作存储器、缓冲存储器、高速缓冲存储器等。当ram6222用作工作存储器时,可临时存储由cpu6221处理的数据。当ram6222用作缓冲存储器时,ram6222可用于缓冲从主机6210传输到存储器装置6230的数据或从存储器装置6230传输到主机6210的数据。当ram6222用作高速缓冲存储器时,ram6222可用于允许低速存储器装置6230以高速操作。

另外,ecc电路6223对应于图1所述的控制器130的ecc单元138,并且如图1所述生成用于校正从存储器装置6230接收的数据的失效位或错误位的错误校正码(ecc)。而且,ecc电路6223对提供至存储器装置6230的数据执行错误校正编码,以生成添加了奇偶校验位的数据。此处,奇偶校验位可被存储在存储器装置6230中。而且,ecc电路6223可对从存储器装置6230输出的数据执行错误校正解码。在这种情况下,ecc电路6223可使用奇偶校验来校正错误。例如,如图1所述,ecc电路6223可使用诸如ldpc码、bch码、涡轮码、里德-所罗门码、卷积码、rsc、tcm和bcm的各种编码调制校正错误。

另外,存储器控制器6220通过主机接口6224与主机6210通信数据等,并且通过nvm接口6225与存储器装置6230通信数据等。此处,主机接口6225可通过pata总线、sata总线、scsi、usb、pcie、nand接口等联接到主机6210。而且,当将无线通信功能、wi-fi或长期演进(lte)实施为移动通信标准时,存储器控制器6220可联接到外部装置,例如主机6210或除主机6210以外的另一外部装置,然后与外部装置通信数据等。特别地,存储器控制器6220被配置成通过各种通信标准中的至少一个与外部装置通信。因此,根据本公开的一个或多个实施例的存储器系统和数据处理系统可应用于有线/无线电子装置,特别是应用于移动电子装置等。

图8是示意性示出包括根据本公开的实施例的存储器系统的数据处理系统的另一示例的示图,并且更特别地,示出应用存储器系统的固态硬盘(ssd)的示图。

参照图8,ssd6300包括包含多个非易失性存储器的存储器装置6340和控制器6320。控制器6320可对应于图1所述的存储器系统110中的控制器130,并且存储器装置6340可对应于图1所述的存储器系统110中的存储器装置150。

更具体地,控制器6320通过多个信道ch1、ch2、ch3……和chi联接到存储器装置6340。而且,控制器6320包括至少一个处理器6321、缓冲存储器6325、ecc电路6322、主机接口6324和例如非易失性存储器接口6326的存储器接口。非易失性存储器接口6326可被配置成包括图1的队列保持控制器144。

缓冲存储器6325临时存储从主机6310接收的数据或从包括在存储器装置6340中的多个闪速存储器nvm接收的数据,或者临时存储多个闪速存储器nvm的元数据,例如包括在映射表中的映射数据。而且,缓冲存储器6325可利用诸如dram、sdram、ddrsdram、lpddrsdram、sram和gram的易失性存储器或诸如framreram、stt-mram和pram的非易失性存储器来实施。为便于描述,在图8中示出了其中缓冲存储器6325处于控制器6320内部的示例,但缓冲存储器6325可处于控制器6320的外部。

ecc电路6322计算在编程操作中待被编程到存储器装置6340的数据的错误校正码值,基于错误校正码值对在读取操作中从存储器装置6340读取的数据执行错误校正操作,并且对在失效数据的恢复操作中从存储器装置6340恢复的数据执行错误校正操作。

另外,主机接口6324提供控制器6320与例如主机6310的外部装置之间的接口功能,并且非易失性存储器接口6326提供控制器6320与通过多个信道联接到控制器6320的存储器装置6340之间的接口功能。

另外,在多种情况下,可以应用图1所述的存储器系统110的ssd6300被实施为数据处理系统,例如独立磁盘冗余阵列(raid)系统。在这种情况下,多个ssd6300和控制多个ssd6300的raid控制器。当通过从主机6310接收写入命令来执行编程操作时,raid控制器可选择至少一个存储器系统,即多个ssd6300中的ssd6300,其中多个ssd6300对应于多个raid级别,即从主机6310接收的写入命令的raid级别信息,然后将与写入命令相对应的数据输出到所选择的ssd6300。而且,当通过从主机6310接收读取命令来执行读取操作时,raid控制器可选择至少一个存储器系统,即多个ssd6300中的ssd6300,其中多个ssd6300对应于多个raid级别,即从主机6310接收的读取命令的raid级别信息,然后将数据从所选择的ssd6300提供至主机6310。

图9是示意性示出包括根据本公开的实施例的存储器系统的数据处理系统的另一示例的示图,并且更特别地,示出了应用存储器系统的嵌入式多媒体卡(emmc)的示图。

参照图9,emmc6400包括利用至少一个nand闪速存储器实施的存储器装置6440和控制器6430。此处,控制器6430可对应于图1所述的存储器系统110中的控制器130,并且存储器装置6440可对应于图1所述的存储器系统110中的存储器装置150。

更具体地,控制器6430通过多个信道联接到存储器装置6440。而且,控制器6430包括至少一个内核6432、主机接口6431和存储器接口,例如nand接口6433。nand接口6433可被配置成包括图1的队列保持控制器144。

此处,内核6432控制emmc6400的全部操作,主机接口6431提供控制器6430与主机6410之间的接口功能,并且nand接口6433提供存储器装置6440与控制器6430之间的接口功能。例如,如图1所述,主机接口6431可以是并行接口,例如mmc接口。另外,主机接口6431可以是串行接口,例如超高速(uhs)-i/uhs-ii接口,ufs接口。

根据本公开的一个或多个实施例,当存储器系统的编程操作失败时,在保持排队的命令之后执行恢复操作。在将被保持的命令之中的读取命令的地址改变为恢复位置之后释放被保持的命令,从而提高了数据的可靠性。

本文已经公开了实施例的示例,并且尽管使用了特定的术语,但是它们仅以一般的和描述性的意义来使用并理解,而不用于限制的目的。在一些情况下,从本申请提交起,对于本领域普通技术人员而言显而易见的是,除非另外明确指出,否则结合特定实施例描述的特征、特性和/或元件可单独使用或与结合其它实施例描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解的是,可在不脱离如权利要求中阐述的本公开的实质和范围的情况下进行形式和细节上的各种改变。

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