存储装置及操作存储装置的方法与流程

文档序号:21970112发布日期:2020-08-25 18:59阅读:168来源:国知局
存储装置及操作存储装置的方法与流程

相关申请的交叉引用

本申请要求于2019年2月15日提交的申请号为10-2019-0017946的韩国专利申请的优先权,该韩国专利申请的全部公开内容通过引用整体并入本文。

本公开的各个实施例总体涉及一种电子装置,且更特别地,涉及一种存储装置及操作该存储装置的方法。



背景技术:

通常,存储装置在诸如计算机、智能电话或智能平板的主机的控制下存储数据。存储装置的示例可被分类为诸如硬盘驱动器(hdd)的在磁盘中存储数据的装置,以及诸如固态驱动器(ssd)或存储卡的在半导体存储器,特别是非易失性存储器中存储数据的装置。

存储装置可包括存储数据的存储器装置,以及被配置成将数据存储在存储器装置中的存储器控制器。存储器装置可被分类为易失性存储器和非易失性存储器。非易失性存储器的代表性示例可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)、闪速存储器、相变随机存取存储器(pram)、磁性ram(mram)、电阻式ram(rram)以及铁电ram(fram)。



技术实现要素:

本公开的各个实施例涉及一种能够改变系统数据写入时段的存储装置及操作该存储装置的方法。

本公开的实施例可提供一种存储器控制器,该存储器控制器被配置成控制存储器装置,该存储器控制器包括:突然断电(spo)感测单元,被配置成感测spo事件并基于该spo事件生成感测信息;spo级别确定单元,被配置成基于感测信息来确定spo级别;系统数据控制单元,被配置成基于spo级别来确定待写入的系统数据和写入该系统数据的写入时间点,并且生成用于在所确定的写入时间点存储系统数据的命令;以及系统数据存储装置,被配置成存储系统数据,其中该系统数据存储装置包括非易失性存储器。

本公开的实施例可提供一种操作存储器控制器的方法,该存储器控制器被配置成控制存储器装置,该方法包括:感测突然断电(spo)事件并基于该spo事件生成感测信息;基于该感测信息来确定spo级别;基于该spo级别来确定待写入的系统数据和写入该系统数据的写入时间点;并且生成用于在所确定的写入时间点存储系统数据的命令。

本公开的实施例可提供一种存储装置,该存储装置包括:存储器装置,被配置成存储数据;存储器控制器,被配置成感测突然断电(spo)事件并确定spo级别,并且基于该spo级别来确定待写入的系统数据和写入该系统数据的写入时间点;以及系统数据存储装置,被配置成存储系统数据,其中该系统数据存储装置包括非易失性存储器。

本公开的实施例可提供一种存储装置,该存储装置包括:存储器装置,被配置成存储数据;以及控制器,被配置成检测突然断电(spo)的发生,基于spo的发生来确定写入时段,并且在所确定的写入时段将系统数据存储在存储器装置中,其中该写入时段基于spo的发生而可变地进行调整。

附图说明

图1是示出根据本公开的实施例的存储装置的框图。

图2是示出根据本公开的实施例的存储器控制器的示图。

图3是示出根据本公开的实施例的包括突然断电(spo)存储装置的存储器控制器的示图。

图4是示出根据本公开的实施例的更新突然断电(spo)发生计数数量的操作的示图。

图5是示出根据本公开的实施例的更新突然断电(spo)发生时段和spo发生计数数量的方法的示图。

图6是示出根据本公开的实施例的系统数据的示图。

图7是示出根据本公开的实施例的确定突然断电(spo)级别的方法的示图。

图8是示出根据本公开的实施例的确定突然断电(spo)级别的方法的示图。

图9是示出根据本公开的实施例的存储器装置的框图。

图10是示出根据本公开的实施例的存储器单元阵列的示图。

图11是示出根据本公开的实施例的存储块的电路图。

图12是示出根据本公开的实施例的存储块的电路图。

图13是示出根据本公开的实施例的存储器控制器的操作的示图。

图14是示出根据本公开的实施例的存储器控制器的操作的示图。

图15是示出根据本公开的实施例的存储器装置的操作的示图。

图16是示出根据本公开的实施例的存储器控制器的操作的示图。

图17是示出根据本公开的实施例的存储器控制器的操作的示图。

图18是示出根据本公开的实施例的存储器控制器的示图。

图19是示出根据本公开的实施例的包括存储装置的存储卡系统的框图。

图20是示出根据本公开的实施例的包括存储装置的固态驱动器(ssd)系统的框图。

图21是示出根据本公开的实施例的包括存储装置的用户系统的框图。

具体实施方式

在本说明书或申请中引入的本公开的实施例中的具体结构或功能描述仅用于描述本公开的实施例。描述不应被解释为受限于本说明书或申请中描述的实施例。

现将基于实施例对本公开进行详细描述。然而,本公开可以许多不同的形式来实现,并且不应被解释为仅限于本文中阐述的实施例,而是应被解释为涵盖落入本公开的构思和技术范围内的修改方案、等同方案或替换方案。然而,将理解的是,本描述并不旨在将本公开限制于那些示例性实施例,并且本公开不仅旨在涵盖示例性实施例,而且还旨在涵盖落入本公开的精神和范围内的各种替代方案、修改方案、等同方案和其它实施例。

将理解的是,虽然可在本文中使用术语“第一”、“第二”等来描述各个元件,但是这些元件不应受这些术语的限制。这些术语仅用于将一个元件与另一元件区分开。例如,在不背离本公开的教导的情况下,以下讨论的第一元件也可被称为第二元件。同样,第二元件也可被称为第一元件。

将理解的是,当元件被称为“联接”或“连接”到另一元件时,该元件可以直接联接或连接到另一元件,或者在该元件和另一元件之间可存在中间元件。相反,应理解的是,当元件被称为“直接联接”或“直接连接”到另一元件时,不存在中间元件。应以相同的方式来解释描述元件之间的关系的其它表述,诸如“在……之间”、“直接在……之间”、“相邻于”或“直接相邻于”。

本文使用的术语仅是为了描述特定实施例的目的,并不旨在限制。在本公开中,除非上下文另有明确说明,否则单数形式也旨在包括复数形式。将进一步理解的是,当在本说明书中使用时,术语“包括”、“包含”、“具有”等明确所陈述的特征、整体、步骤、操作、元件、组件和/或其组合的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元件、组件和/或其组合的存在或添加。

除非另有定义,否则本文使用的包括技术术语和科学术语的所有术语具有与本公开所属领域的技术人员通常理解的含义相同的含义。将进一步理解的是,本文使用的术语应当被解释为具有与其在本说明书和相关技术的语境中的含义一致的含义,并且将不以理想化或过于正式的意义来解释,除非本文中明确地这样定义。

将省略本领域技术人员熟知的功能和结构的详细描述,以避免模糊本公开的主题。这旨在省略不必要的描述,以使本公开的主题清晰。

现将在下文中参照附图更全面地描述本公开的各个实施例,附图中示出了本公开的优选实施例,使得本领域技术人员能够容易地实施本公开的技术方案。

图1是示出根据本公开的实施例的存储装置50的框图。

参照图1,存储装置50可包括存储器装置100和存储器控制器200。

存储装置50可以是被配置成在诸如以下的主机300的控制下存储数据的装置:移动电话、智能电话、mp3播放器、膝上型计算机、台式计算机、游戏机、电视(tv)、平板个人计算机(pc)或车载信息娱乐系统。

存储装置50可根据作为与主机300的通信系统的主机接口而被制造成各种类型的存储装置中的任意一种。例如,存储装置50可由诸如以下的各种类型的存储装置中的任意一种配置:ssd,mmc、emmc、rs-mmc或微型mmc型多媒体卡,sd、迷你sd、微型sd型安全数字卡,通用串行总线(usb)存储装置,通用闪存(ufs)装置,个人计算机存储卡国际协会(pcmcia)卡型存储装置,外围组件互连(pci)卡型存储装置,高速pci(pci-e或pcie)型存储装置,紧凑型闪存(cf)卡,智能媒体卡以及记忆棒。

存储装置50可以各种封装类型中的任意一种的形式来制造。例如,存储装置50可以诸如以下的各种封装类型中的任意一种的形式来制造:层叠封装(pop)类型、系统级封装(sip)类型、片上系统(soc)类型、多芯片封装(mcp)类型、板上芯片(cob)类型、晶圆级制造封装(wfp)类型以及晶圆级堆叠封装(wsp)类型。

存储器控制器200可控制存储装置50的全部操作。

当向存储装置50施加电力时,存储器控制器200可执行固件。在存储器装置100为闪速存储器装置的情况下,存储器控制器200可执行诸如闪存转换层(ftl)的固件,以控制主机300和存储器装置100之间的通信。

存储器控制器200可包括突然断电(spo)感测单元210。spo感测单元210可感测spo事件。spo事件可以是电源突然断开的现象。如果电源突然断开,则spo感测单元210可控制存储器装置100存储电源断开的时间点。电源断开的时间点可以是断电时间po_time。断电时间po_time可存储在存储器装置100和/或存储器控制器200中。

如果在断电之后电源再次接通,则spo感测单元210可从存储器装置100接收断电时间po_time。因此,spo感测单元210可基于从电源断开的时间点到电源接通的时间点的持续时间来计算spo持续时间。

spo感测单元210可感测spo事件并生成感测信息se_inf。在各个实施例中,spo感测单元210可基于spo持续时间来生成感测信息se_inf。感测信息se_inf可包括spo事件在参考时间t_ref内已发生的次数和spo发生时段spo_per中的至少一个。spo发生时段spo_per可以是spo持续时间的平均值。

存储器控制器200可包括spo存储装置211。spo存储装置211可存储由spo感测单元210感测的断电时间po_time。此外,spo存储装置211可存储spo发生时间,spo发生时间是存储的断电时间po_time之间的时间。

在实施例中,spo存储装置211可由非易失性存储器形成。因此,即使电源断开,spo存储装置211中存储的断电时间po_time和spo发生时间也可保留在spo存储装置211中。即使电源断开,断电时间po_time和spo发生时间也可存储在spo存储装置211中。

存储器控制器200可包括spo级别确定单元220。spo级别确定单元220可从spo感测单元210接收感测信息se_inf。spo级别确定单元220可基于感测信息se_inf来确定spo级别spo_level。根据spo级别spo_level,可确定待写入的系统数据sys_data和写入该系统数据sys_data的时间点(即,写入时间点)。

在实施例中,随着spo发生计数数量spo_num增加,spo级别spo_level可提高。spo发生计数数量spo_num可以是spo事件在参考时间t_ref内已发生的次数。相反,随着spo发生计数数量spo_num减少,spo级别spo_level可降低。

在实施例中,随着spo发生时段spo_per减少,spo级别spo_level可提高。相反,随着spo发生时段spo_per增加,spo级别spo_level可降低。

基于spo级别spo_level,可确定待存储在存储器控制器200和/或存储器装置100中的系统数据sys_data的类型。将存储系统数据sys_data的存储器控制器200或存储器装置100的区域可包括非易失性存储器单元或非易失性存储器。

此外,基于spo级别spo_level,可确定将系统数据sys_data写入非易失性存储器单元中的时段和/或计数数量。系统数据sys_data可包括主机相关数据host_data、用户相关数据user_data、固件相关数据fw_data和映射相关数据map_data中的至少一种。

存储器控制器200可包括系统数据控制单元230。系统数据控制单元230可从spo级别确定单元220接收spo级别spo_level。

系统数据控制单元230可基于spo级别spo_level来确定待写入的系统数据sys_data的类型。在各个实施例中,随着spo级别spo_level提高,待写入的系统数据sys_data的类型的数量可增加。相反,随着spo级别spo_level降低,待写入的系统数据sys_data的类型的数量可减少。

系统数据控制单元230可基于spo级别spo_level来确定写入系统数据sys_data的写入时间点。在各个实施例中,随着spo级别spo_level提高,系统数据sys_data被写入存储器控制器200或存储器装置100的非易失性存储器单元的次数可增加,并且写入时间点之间的时间可减少。在各个实施例中,随着spo级别spo_level降低,系统数据sys_data被写入非易失性存储器单元的次数可减少,并且写入时间点之间的时间可增加。

系统数据控制单元230可基于spo级别spo_level来将系统数据sys_data写入存储器装置100和/或存储器控制器200中。待写入系统数据sys_data的区域可包括非易失性存储器单元。

系统数据控制单元230可在基于spo级别spo_level确定的写入时间点将系统数据sys_data写入非易失性存储器单元中。在实施例中,系统数据控制单元230可将系统数据sys_data写入系统数据存储装置240中。在实施例中,系统数据控制单元230可将系统数据sys_data写入存储器装置100的数据存储装置130中。在各个实施例中,存储器装置100可通过存储器控制器200的接口(例如,图18的存储器接口1060)和存储器装置100的外围电路(例如,图9的数据输入/输出电路124)从系统数据控制单元230接收系统数据sys_data,并将所接收的系统数据sys_data存储在数据存储装置130中。

当满足系统数据写入条件时,系统数据控制单元230可写入系统数据sys_data。在各个实施例中,当存储器装置100中存储数据的存储块改变时,可写入系统数据sys_data。因此,当更新映射数据时,可写入系统数据sys_data。此外,当指示物理块地址(pba)和逻辑块地址(lba)之间的映射关系的映射信息(例如,物理到逻辑(p2l)映射信息)被更新时,可写入系统数据sys_data。

因此,如果满足系统数据写入条件,则系统数据控制单元230可在基于spo级别spo_level确定的写入时间点写入基于spo级别spo_level确定的系统数据sys_data。

系统数据控制单元230可存储系统数据sys_data以应对在未指定的时间点电源断开的spo事件。如果系统数据sys_data被频繁存储在非易失性存储器中,则改变的系统数据的量可减少。因此,因为待恢复的系统数据sys_data的量减少,因此恢复时间减少,从而执行启动所需的时间可减少。然而,如果系统数据sys_data被频繁地存储在非易失性存储器中,则存储装置50的性能可降低。存储装置50的操作效率可降低。因此,系统数据控制单元230可确定系统数据sys_data的最佳写入时间点和待存储的系统数据sys_data的类型,以应对spo事件。

在实施例中,存储器控制器200可包括系统数据存储装置240。在实施例中,存储器控制器200可不包括系统数据存储装置240。

在存储器控制器200包括系统数据存储装置240的情况下,系统数据存储装置240可包括易失性存储器单元或非易失性存储器单元。如果系统数据存储装置240包括非易失性存储器单元,则系统数据存储装置240可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)、闪速存储器、相变随机存取存储器(pram或pcram)、磁性ram(mram)、电阻式ram(rram)、铁电ram(fram)或自旋转移矩磁阻ram(stt-mram)。

在系统数据存储装置240包括非易失性存储器或非易失性存储器单元的情况下,系统数据控制单元230可将系统数据sys_data存储在系统数据存储装置240中。因为系统数据存储装置240包括非易失性存储器单元,所以即使电源断开,系统数据存储装置240中存储的系统数据sys_data也可被保留。因此,如果在断电之后电源再次接通,则包括存储器控制器200和存储器装置100的存储装置50可基于系统数据存储装置240中存储的系统数据sys_data执行恢复操作。

在实施例中,系统数据存储装置240可设置在存储器控制器200的外部。系统数据存储装置240可作为独立于存储器控制器200设置的组件而被包括在存储装置50中。

在实施例中,系统数据存储装置240可被包括在存储器装置100中。

存储器装置100中可存储数据。存储器装置100可在存储器控制器200的控制下操作。存储器装置100可包括存储器单元阵列,该存储器单元阵列包括被配置成存储数据的多个存储器单元。存储器单元阵列可包括多个存储块。每个存储块可包括多个存储器单元。每个存储块可包括多个页面。在实施例中,每个页面可以是在存储器装置100中存储数据或从存储器装置100读取存储的数据的单位。每个存储块可以是擦除数据的单位。

在实施例中,存储器装置100可以是双倍数据速率同步动态随机存取存储器(ddrsdram)、低功率双倍数据速率4(lpddr4)sdram、图形双倍数据速率(gddr)sdram、低功率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的控制下,使用设置操作电压来执行编程操作或擦除操作。

存储器装置100可包括数据存储装置130。在实施例中,数据存储装置130可存储从系统数据控制单元230接收的系统数据sys_data。在各个实施例中,数据存储装置130可通过存储器装置100的外围电路(例如,图9的数据输入/输出电路124)和存储器控制器200的接口(例如,图18的存储器接口1060)从系统数据控制单元230接收系统数据sys_data。然而,注意的是,将对数据存储装置130可存储从系统数据控制单元230接收的系统数据sys_data进行描述。数据存储装置130可包括非易失性存储器单元。数据存储装置130可从系统数据控制单元230接收命令,以存储系统数据sys_data。数据存储装置130可基于从系统数据控制单元230接收的命令来存储系统数据sys_data。数据存储装置130可与系统数据存储装置240具有相同的功能。

因此,如果在电源断开之后电源再次接通,则数据存储装置130中存储的系统数据sys_data可被提供到存储器控制器200。存储器控制器200可接收系统数据sys_data并执行恢复操作。

在实施例中,存储器控制器200可从主机300接收数据和逻辑块地址(lba),并且将lba转换成物理块地址(pba),该物理块地址(pba)指示存储数据的存储器单元的地址,存储器单元被包括在存储器装置100中。另外,存储器控制器200可在缓冲存储器中存储指示lba与pba之间的映射关系的映射信息。

存储器控制器200可响应于来自主机300的请求而控制存储器装置100执行编程操作、读取操作或擦除操作。在编程操作期间,存储器控制器200可向存储器装置100提供编程命令、pba和数据。在读取操作期间,存储器控制器200可向存储器装置100提供读取命令和pba。在擦除操作期间,存储器控制器200可向存储器装置100提供擦除命令和pba。

在实施例中,存储器控制器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)通信方法。

图2是示出根据本公开的实施例的存储器控制器,例如图1的存储器控制器200的示图。

参照图2,存储器控制器200可包括spo感测单元210、spo级别确定单元220、系统数据控制单元230和系统数据存储装置240。在实施例中,存储器控制器200可不包括系统数据存储装置240。在图2中,省略了存储器控制器200的组件之中的spo存储装置211。

spo感测单元210可感测spo事件。spo事件可以是电源突然断开的现象。spo感测单元210可感测spo事件,并将感测到spo事件的时间点存储在存储器装置100中。在各个实施例中,如果电源突然断开,即,如果spo事件发生,则可控制spo感测单元210,使得电源断开的时间点被存储在存储器装置100中。电源断开的时间点可以是断电时间po_time。断电时间po_time可存储在存储器装置100和/或存储器控制器200中。在该附图中,断电时间po_time存储在存储器装置100中。因此,当电源断开时,spo感测单元210可将断电时间po_time存储在存储器装置100中。

spo感测单元210可从存储器装置100接收断电时间po_time。在各个实施例中,如果在spo事件之后电源再次接通,则spo感测单元210可从存储器装置100接收断电时间po_time。当电源接通时,spo感测单元210可接收断电时间po_time并生成感测信息se_inf。感测信息se_inf可包括关于spo事件在参考时间t_ref内已发生的次数的信息。此外,感测信息se_inf可包括关于spo发生时段的信息。

因此,spo感测单元210可基于从电源断开的时间点到电源接通的时间点的持续时间来生成感测信息se_inf。可基于由于spo事件而保持断电状态的持续时间的平均值来生成感测信息se_inf。

spo级别确定单元220可确定spo级别spo_level。在各个实施例中,spo级别确定单元220可基于从spo感测单元210接收的感测信息se_inf来确定spo级别spo_level。可基于关于spo事件在参考时间t_ref内已发生的次数的信息来确定spo级别spo_level。可选地,可根据spo发生时段来确定spo级别spo_level。spo发生时段可以是已发生参考次数的spo事件的断电持续时间的平均值。

在实施例中,感测信息se_inf可包括关于spo事件在参考时间t_ref内已发生的次数的信息。此处,随着spo事件已发生的次数增加,spo级别spo_level可提高。相反,随着spo事件已发生的次数减少,spo级别spo_level可降低。

在实施例中,感测信息se_inf包括关于spo发生时段的信息。此处,随着spo发生时段减少,spo级别spo_level可提高。相反,随着spo发生时段增加,spo级别spo_level可降低。

因此,spo级别spo_level越高,spo事件发生越频繁。相反,如果spo级别spo_level被充分降低,则spo事件可很少发生。因此,随着spo级别spo_level提高,写入系统数据sys_data的写入时间点之间的时间减少。随着spo级别spo_level降低,写入系统数据sys_data的写入时间点之间的时间增加。

基于spo级别spo_level,可确定待存储在存储器控制器200和/或存储器装置100中的系统数据sys_data的类型和写入计数数量。系统数据sys_data可包括主机相关数据host_data、用户相关数据user_data、固件相关数据fw_data和映射相关数据map_data中的至少一种。

在各个实施例中,随着spo级别spo_level提高,写入系统数据sys_data的次数可增加。随着spo级别spo_level提高,写入系统数据sys_data的写入时间点之间的时间可减少。相反,随着spo级别spo_level降低,写入系统数据sys_data的次数可减少。随着spo级别spo_level降低,写入系统数据sys_data的写入时间点之间的时间可增加。

因此,随着spo级别spo_level降低,写入系统数据sys_data的次数减少,从而可提高存储装置的效率。可通过调整写入系统数据sys_data的次数来增强存储装置的性能。相反,随着spo级别spo_level增加,写入系统数据sys_data的次数增加。在这种情况下,可通过频繁地写入系统数据sys_data来减少存储装置待恢复的系统数据sys_data的量。因此,可增强存储装置的性能。

将参照图6更详细地描述系统数据sys_data

spo级别确定单元220可更新spo级别spo_level。

在实施例中,spo级别确定单元220可响应于主机300的请求来更新spo级别spo_level。因此,如果从主机300接收到更新spo级别spo_level的请求,则spo级别确定单元220可基于从spo感测单元210接收的新感测信息se_inf来更新spo级别spo_level。spo级别确定单元220可将更新的spo级别spo_level输出到系统数据控制单元230。

在实施例中,spo级别确定单元220可在经过预定时间之后更新spo级别spo_level。在各个实施例中,在经过预定时间之后,spo级别确定单元220可基于从spo感测单元210接收的新感测信息se_inf来更新spo级别spo_level。spo级别确定单元220可将更新的spo级别spo_level输出到系统数据控制单元230。

系统数据控制单元230可从spo级别确定单元220接收spo级别spo_level。系统数据控制单元230可根据spo级别spo_level来将系统数据sys_data写入系统数据存储装置240或存储器装置100的非易失性存储器单元中。系统数据控制单元230可根据所确定的spo级别spo_level来改变存储系统数据sys_data的次数。

在实施例中,系统数据控制单元230可控制系统数据sys_data,使得随着从spo级别确定单元220接收的spo级别spo_level提高,待存储的系统数据sys_data的类型的数量可增加。相反,系统数据控制单元230可控制系统数据sys_data,使得随着spo级别spo_level降低,存储的系统数据sys_data的类型的数量可减少。系统数据控制单元230可控制系统数据sys_data,使得即使spo级别spo_level相对较低,系统数据sys_data的类型之中的映射相关数据也必须被存储。

因此,随着spo级别spo_level降低,待写入到系统数据存储装置240或存储器装置100的非易失性存储器单元的系统数据sys_data的条数减少,从而因为待写入的数据的条数减少,存储装置的效率可提高。可通过调整待写入的系统数据sys_data的条数来增强存储装置的性能。相反,随着spo级别spo_level提高,待写入到非易失性存储器单元的系统数据sys_data的条数增加。在这种情况下,可通过增加待写入的系统数据sys_data的类型的数量来减少存储装置待恢复的系统数据sys_data的量。因此,可增强存储装置的性能。

在实施例中,随着spo级别spo_level提高,系统数据控制单元230可增加写入系统数据sys_data的次数。相反,随着spo级别spo_level降低,系统数据控制单元230可减少写入系统数据sys_data的次数。

系统数据控制单元230可将系统数据sys_data存储在系统数据存储装置240和/或存储器装置100中。系统数据sys_data可存储在系统数据存储装置240和/或存储器装置100的非易失性存储器单元中。在各个实施例中,系统数据控制单元230可存储基于spo级别spo_level确定的系统数据sys_data。此外,系统数据控制单元230可在基于spo级别spo_level确定的写入时间点存储系统数据sys_data。

为了存储系统数据sys_data,系统数据控制单元230可输出系统数据写入命令sdw_cmd和系统数据sys_data。系统数据控制单元230可向系统数据存储装置240和/或存储器装置100输出系统数据写入命令sdw_cmd和系统数据sys_data。从系统数据控制单元230接收的系统数据sys_data可存储在系统数据存储装置240和/或存储器装置100的非易失性存储器单元中。

当满足系统数据写入条件时,系统数据控制单元230可写入系统数据sys_data。在各个实施例中,当存储器装置100中存储数据的存储块改变时,可写入系统数据sys_data。因此,当更新映射数据时,可写入系统数据sys_data。此外,当指示物理块地址(pba)和逻辑块地址(lba)之间的映射关系的映射信息(例如,物理到逻辑(p2l)映射信息)被更新时,可写入系统数据sys_data。

因此,如果满足系统数据写入条件,则系统数据控制单元230可在基于spo级别spo_level确定的写入时间点将基于spo级别spo_level确定的系统数据sys_data写入到系统数据存储装置240和/或存储器装置100的非易失性存储器单元中。

系统数据存储装置240可存储系统数据sys_data。系统数据存储装置240可包括易失性存储器单元或非易失性存储器单元。如果系统数据存储装置240包括非易失性存储器单元,则系统数据存储装置240可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)、闪速存储器、相变随机存取存储器(pram或pcram)、磁性ram(mram)、电阻式ram(rram)、铁电ram(fram)或自旋转移矩磁阻ram(stt-mram)。

在系统数据存储装置240包括非易失性存储器的情况下,系统数据控制单元230可将系统数据sys_data存储在系统数据存储装置240中。因此,即使电源断开,系统数据存储装置240也可保留所存储的系统数据sys_data。因此,如果在电源断开之后电源再次接通,则包括存储器控制器200和存储器装置100的存储装置50可基于系统数据存储装置240中存储的系统数据sys_data执行恢复操作。

在各个实施例中,如果在系统数据存储装置240已存储系统数据sys_data之后发生spo事件,则存储器控制器200可使用紧接在spo事件发生之前已被存储在系统数据存储装置240中的系统数据sys_data来执行数据恢复操作。

图3是示出根据本公开的实施例的包括spo存储装置的存储器控制器,例如图1的包括spo存储装置211的存储器控制器200的示图。

参照图3,存储器控制器200可包括spo感测单元210、spo存储装置211、spo级别确定单元220、系统数据控制单元230和系统数据存储装置240。虽然图3示出存储器控制器200包括系统数据存储装置240,但系统数据存储装置240可在存储器控制器200的外部实施。

除spo存储装置211之外,图3的存储器控制器200与图2的存储器控制器200具有相同的配置;因此,在关于图3的实施例的描述中,将省略与图2的实施例的内容重复的内容。

spo存储装置211可从spo感测单元210接收断电时间po_time。断电时间po_time可以是电源断开的时间点。断电时间po_time可存储在存储器装置100和/或存储器控制器200中。在图3中,断电时间po_time存储在存储器控制器200中的spo存储装置211中。

spo存储装置211可存储从spo感测单元210接收的断电时间po_time。每当接收到断电时间po_time时,spo存储装置211可存储接收到断电时间po_time的时间点。

spo存储装置211可存储spo发生时间。spo发生时间可以是接收到断电时间po_time的时间点之间的时间。在实施例中,在第一spo事件发生之后,spo事件可能再次发生。在第一spo事件之后发生的spo事件可以是第二spo事件。spo存储装置211可存储第一spo事件与第二spo事件之间的时间。可使用断电时间po_time来计算第一spo事件与第二spo事件之间的时间。

spo存储装置211可累加spo发生时间。所累加的spo发生时间可存储在spo存储装置211中。在各个实施例中,每当spo事件发生时,可存储包括在前spo发生持续时间的spo发生持续时间。

spo存储装置211可存储spo发生计数数量。在各个实施例中,当在spo事件之后电源再次接通时,spo存储装置211可对spo发生计数数量进行计数。当spo事件之后电源再次接通时,spo发生计数数量可增加“1”。增加的spo发生计数数量可存储在spo存储装置211中。

spo存储装置211可基于断电时间po_time生成感测信息se_inf。感测信息se_inf可包括关于spo发生时间和spo发生计数数量的信息。

在各个实施例中,spo发生时间可以是已发生spo事件的时间点和再次发生另一spo事件的时间点之间的时间。spo发生计数数量可以是接收到断电时间po_time的次数。因为累加存储spo发生时间和spo发生计数数量,所以当电源接通时,spo存储装置211可向spo感测单元210输出包括关于累加的spo发生时间和spo发生计数数量的信息的感测信息。

spo感测单元210可向spo级别确定单元220输出从spo存储装置211接收的感测信息se_inf。spo级别确定单元220可基于感测信息se_inf来确定spo级别spo_level。在spo级别确定单元220接收感测信息se_inf并确定spo级别spo_level之后的操作与图2的实施例的操作相同。

图4是示出根据本公开的实施例的更新突然断电(spo)发生计数数量的操作的示图。

参照图4,第一列指示通电或断电,并且第二列指示记录在图3的spo存储装置211中的spo发生计数数量。在图4中,断电可以是由spo事件导致的断电。

第零通电状态可指示存储装置50被初始接通。在这种情况下,spo发生计数数量可未被存储在spo存储装置211中。

第一断电状态可指示spo事件初始发生。如果spo事件发生,则spo存储装置211可存储从spo感测单元210接收的断电时间po_time。在这种情况下,spo发生计数数量可未被存储在spo存储装置211中。

在第一断电状态之后,电源可再次接通。电源再次接通的这种状态可以是第一通电状态。在第一通电状态下,spo存储装置211可感测通电状态并存储spo发生计数数量。因为在存储装置50被初始接通之后初始spo事件发生,所以待由spo存储装置211存储的spo发生计数数量可以是“1”。在已存储spo发生计数数量之后,spo存储装置211可向spo感测单元210输出包括关于所存储的spo发生计数数量的信息的感测信息se_inf。

在第一通电状态之后,可能再次发生spo事件。该spo状态可以是第二断电状态。在第二断电状态下,spo存储装置211可存储从spo感测单元210接收的断电时间po_time。在实施例中,spo存储装置211中存储的spo发生计数数量可保持为“1”。

如果在第二断电状态之后电源再次接通,spo发生计数数量可增加“1”并被更新为“2”。在第二断电状态之后电源再次接通的这种状态可以是第二通电状态。在第二通电状态下,可将spo发生计数数量更新为“2”,并且可将更新的spo发生计数数量存储在spo存储装置211中。spo存储装置211可向spo感测单元210输出包括关于更新的spo发生计数数量的信息的感测信息se_inf。

在第二通电状态之后,可能再次发生spo事件。该spo状态可以是第三断电状态。在第三断电状态下,spo存储装置211可存储从spo感测单元210接收的断电时间po_time。在实施例中,spo存储装置211中存储的spo发生计数数量可保持为“2”。

如果在第三断电状态之后电源再次接通,则spo发生计数数量可增加“1”并被更新为“3”。在第三断电状态之后电源再次接通的这种状态可以是第三通电状态。在第三通电状态下,可将spo发生计数数量更新为“3”,并且可将更新的spo发生计数数量存储在spo存储装置211中。spo存储装置211可向spo感测单元210输出包括关于更新的spo发生计数数量的信息的感测信息se_inf。

虽然图4示出将spo发生计数数量从1更新到3的过程,但存储在spo存储装置211中的spo发生计数数量可增加。

图5是示出根据本公开的实施例的更新突然断电(spo)发生时段和spo发生计数数量的方法的示图。

参照图4和图5,图5示出存储装置50从第零通电状态到第三通电状态的状态。也就是说,图5示出存储装置50在从第零通电状态开始的时序中的状态。

第零通电状态可指示存储装置50被初始接通。第一断电状态可指示初始spo事件。如果spo事件发生,则spo存储装置211可存储从spo感测单元210接收的断电时间po_time。在这种情况下,spo发生计数数量可未被存储在spo存储装置211中。

第零通电时间点与第一断电时间点之间的时段可以是第一断开时间t_off1。第一断开时间t_off1可以是初始spo事件发生之前所用的时间。第一断开时间t_off1可以是确定spo发生时段的时间。

在第一断电状态之后,电源可再次接通。电源再次接通的这种状态可以是第一通电状态。在第一通电状态下,可更新spo发生计数数量。因为在初始spo事件之后电源已被接通,所以spo发生计数数量可被更新为“1”。更新的spo发生计数数量可存储在spo存储装置211中。此外,在第一通电状态下,spo存储装置211可存储第一断开时间t_off1。第一断开时间t_off1可以是第零通电时间点和第一断电时间点之间的时段。

在第一通电状态之后,可能再次发生spo事件。该spo状态可以是第二断电状态。在实施例中,第一断电时间点与第二断电时间点之间的时段可以是第二断开时间t_off2。第二断开时间t_off2可以是在spo事件发生之后另一spo事件发生之前所用的时间。

在第二断电状态之后,电源可再次接通。电源再次接通的这种状态可以是第二通电状态。在第二通电状态下,可更新spo发生计数数量。spo存储装置211中存储的spo发生计数数量可从“1”更新为“2”。更新的spo发生计数数量可存储在spo存储装置211中。此外,在第二通电状态下,spo存储装置211可存储第二断开时间t_off2。第二断开时间t_off2可以是第一断电时间点与第二断电时间点之间的时段。

在第二通电状态下,spo存储装置211可累加和存储spo发生时间和spo发生计数数量。在各个实施例中,累加的spo发生时间可以是通过将第一断开时间t_off1和第二断开时间t_off2相加而获得的值。此外,累加的spo发生计数数量可以是作为更新值的“2”。spo存储装置211可向spo感测单元210输出包括关于累加的spo发生时间和累加的spo发生计数数量的信息的感测信息se_inf。

基于累加的spo发生时间和累加的spo发生计数数量,可确定spo发生时段和spo事件在参考时间内发生的次数。在实施例中,spo发生时段可以是通过将第一断开时间t_off1和第二断开时间t_off2的总和除以更新的spo发生计数数量而获得的值。在实施例中,spo事件在参考时间内发生的次数可以是通过将参考时间与第一断开时间t_off1和第二断开时间t_off2的总和进行比较而确定的值。

在第二通电状态之后,可能再次发生spo事件。该spo状态可以是第三断电状态。在实施例中,第二断电时间点与第三断电时间点之间的时段可以是第三断开时间t_off3。第三断开时间t_off3可以是在spo事件发生之后另一spo事件发生之前所用的时间。

在第三断电状态之后,电源可再次接通。电源再次接通的这种状态可以是第三通电状态。在第三通电状态下,可更新spo发生计数数量。spo存储装置211中存储的spo发生计数数量可从“2”更新为“3”。更新的spo发生计数数量可存储在spo存储装置211中。此外,在第三通电状态下,spo存储装置211可存储第三断开时间t_off3。第三断开时间t_off3可以是第二断电时间点与第三断电时间点之间的时段。

在第三通电状态下,spo存储装置211可累加和存储spo发生时间和spo发生计数数量。在各个实施例中,累加的spo发生时间可以是通过将第一断开时间t_off1、第二断开时间t_off2和第三断开时间t_off3相加而获得的值。此外,累加的spo发生计数数量可以是作为更新值的“3”。因此,spo存储装置211可向spo感测单元210输出包括关于累加的spo发生时间和累加的spo发生计数数量的信息的感测信息se_inf。

基于累加的spo发生时间和累加的spo发生计数数量,可确定spo发生时段和spo事件在参考时间内发生的次数。在实施例中,spo发生时段可以是通过将第一断开时间t_off1、第二断开时间t_off2和第三断开时间t_off3的总和除以更新的spo发生计数数量而获得的值。在实施例中,spo事件在参考时间内发生的次数可以是通过将参考时间与第一断开时间t_off1、第二断开时间t_off2和第三断开时间t_off3的总和进行比较而确定的值。

图6是示出根据本公开的实施例的系统数据sys_data的示图。例如,可由图2的系统数据控制单元230生成系统数据sys_data。

参照图6,系统数据sys_data可包括主机相关数据host_data、用户相关数据user_data、固件相关数据fw_data和映射相关数据map_data中的至少一种。

系统数据sys_data可以是存储器控制器200控制存储器装置100所需的设置数据。系统数据sys_data可根据其内容而被分类成主机相关数据host_data、用户相关数据user_data、固件相关数据fw_data和映射相关数据map_data。

主机相关数据hostdata和用户相关数据user_data可包括启动相关信息和用户相关信息。启动相关信息可包括引导加载程序相关信息和引导相关信息。用户相关信息可包括关于被替换的受保护存储块(rpmb)和在下一通电内持续的永久写入保护(wp)的信息。引导加载程序相关信息可包括执行操作系统、将内核加载到存储器中以及将存储器的控制移交到主机所需的信息或初始化硬件所需的信息。启动相关信息可包括各种硬件信息、初始化信息和与操作系统映像传输相关的信息。与rpmb和wp相关的信息可包括用户的主要信息或机密信息。

固件相关信息fw_data可包括与存储器装置相关的设置信息,如固件系统算法或硬件寄存器信息和ftl相关信息。

映射相关信息map_data可包括映射索引(mapindex)、映射表(mapt1至t5)、以及映射转换(mapp2l)和临时映射(maptempp2l)信息中的至少一种。映射索引可包括映射相关信息的位置,并且映射表可包括存储器装置的实际映射数据信息。映射转换和临时映射信息可包括物理地址与逻辑地址之间的信息。

主机相关数据host_data、用户相关数据user_data、固件相关数据fw_data和映射相关数据map_data可存储在一个存储块中,或者分布并存储在多个存储块中。

虽然系统数据sys_data的大小较小,但系统数据sys_data是驱动存储器装置所需的非常重要的信息,因此可进行设置以存储其多个副本。

在基于块执行存储器装置的擦除操作的情况下,当更新系统数据sys_data时,可能擦除与更新的系统信息一起存储的系统信息。因此,为了防止这种情况,系统数据sys_data可存储在不同的存储块中。

待存储在系统数据存储装置240和/或存储器装置100中的系统数据sys_data的类型可根据spo级别spo_level而变化。在各个实施例中,随着spo级别spo_level降低,spo事件发生的次数减少,从而待存储的系统数据sys_data的类型的数量可减少。相反,随着spo级别spo_level提高,spo事件发生的次数增加,从而待存储的系统数据sys_data的类型的数量可增加。

即使spo级别spo_level彼此不同,但系统数据sys_data的类型之中的映射相关数据map_data可被包括在待存储的系统数据sys_data中。因此,无论spo级别spo_level如何,映射相关数据map_data都可被存储。

图7是示出根据本公开的实施例的确定突然断电(spo)级别的方法的示图。例如,spo级别可由spo级别确定单元220来确定。

参照图7,spo级别确定单元220可基于spo发生计数数量spo_num来确定spo级别spo_level,该spo发生计数数量指示spo事件在参考时间t_ref内已发生的次数。

在实施例中,参考时间t_ref可预先存储在spo级别确定单元220中。参考时间t_ref可以是确定spo级别spo_level所需的时间。spo级别确定单元220可在改变参考时间t_ref的同时确定spo级别spo_level。

spo级别确定单元220可基于从spo感测单元210接收的感测信息,对参考时间t_ref内spo发生计数数量spo_num进行计数。spo级别确定单元220可基于spo发生计数数量spo_num来确定spo级别spo_level。

在实施例中,如果spo发生计数数量spo_num为p1或更小,则spo级别spo_level可以是第一spo级别spo_level1。如果spo发生计数数量spo_num大于p1并且为p2或更小,则spo级别spo_level可以是第二spo级别spo_level2。如果spo发生计数数量spo_num大于p2,则spo级别spo_level可以是第三spo级别spo_level3。

虽然图7示出spo发生计数数量spo_num可属于的区段是三个区段中的任意一个,但可增加确定spo级别spo_level所基于的区段的数量。在确定spo级别spo_level时,可进一步细分spo发生计数数量spo_num可属于的区段。

在实施例中,spo级别确定单元220可基于从spo感测单元210接收的感测信息se_inf,将第一至第三spo级别spo_level1至spo_level3中的一个确定为spo级别spo_level。spo级别确定单元220可将所确定的spo级别spo_level输出到系统数据控制单元230。

第一spo级别spo_level1可以是在spo发生计数数量spo_num最小时,在第一至第三spo级别spo_level1至spo_level3之中确定的spo级别spo_level。在实施例中,当spo发生计数数量spo_num为p1或更小时,可确定spo级别spo_level是第一spo级别spo_level1。因此,因为指示spo事件在参考时间t_ref内已发生的次数的spo发生计数数量spo_num相对较小,所以不需要将系统数据sys_data频繁地写入到系统数据存储装置240或存储器装置100的非易失性存储器单元。因此,系统数据(sys_data)写入时段可相对较长。写入系统数据sys_data的写入时间点之间的时间可增加。此外,因为spo发生计数数量spo_num较小,所以待存储的系统数据sys_data的类型的数量可减少。然而,在这种情况下,系统数据sys_data还可包括映射相关数据map_data。

第三spo级别spo_level3可以是在spo发生计数数量spo_num最大时,在第一至第三spo级别spo_level1至spo_level3之中确定的spo级别spo_level。在实施例中,当spo发生计数数量spo_num大于p2时,可确定spo级别spo_level是第三spo级别spo_level3。因此,因为指示spo事件在参考时间t_ref内已发生的次数的spo发生计数数量spo_num相对较大,所以需要将系统数据sys_data频繁地写入到系统数据存储装置240或存储器装置100的非易失性存储器单元。因此,系统数据(sys_data)写入时段可相对较短。写入系统数据sys_data的写入时间点之间的时间可减少。此外,因为spo发生计数数量spo_num较大,所以待存储的系统数据sys_data的类型的数量可增加。因此,在这种情况下,系统数据sys_data不仅可包括映射相关数据map_data,而且还可包括主机相关数据host_data、用户相关数据user_data以及固件相关数据fw_data。

第二spo级别spo_level2可以是在spo发生计数数量spo_num大于第一spo级别spo_level1的spo发生计数数量spo_num且小于第三spo级别spo_level3的spo发生计数数量spo_num时所确定的spo级别spo_level。在实施例中,当spo发生计数数量spo_num大于p1并且为p2或更小时,可确定spo级别spo_level是第二spo级别spo_level2。因此,指示spo事件在参考时间t_ref内已发生的次数的spo发生计数数量spo_num可大于第一spo级别spo_level1的spo发生计数数量spo_num并且小于第三spo级别spo_level3的spo发生计数数量spo_num。将系统数据sys_data写入到非易失性存储器单元的第二spo级别spo_level2的时段可比第一spo级别spo_level1的时段短,并且比第三spo级别spo_level3的时段长。此外,待在第二spo级别spo_level2存储的系统数据sys_data的类型的数量可大于待在第一spo级别spo_level1存储的系统数据sys_data的类型的数量,并且可小于待在第三spo级别spo_level3存储的系统数据sys_data的类型的数量。

因此,在感测信息se_inf可包括关于spo事件在参考时间t_ref内已发生的次数的信息的情况下,随着spo事件已发生的次数增加,spo级别spo_level可提高。相反,随着spo事件已发生的次数减少,spo级别spo_level可降低。

因此,随着spo级别spo_level降低,写入系统数据sys_data的次数减少,从而可提高存储装置的效率。可通过调整写入系统数据sys_data的次数来增强存储装置的性能。相反,随着spo级别spo_level提高,写入系统数据sys_data的次数增加。在这种情况下,可通过频繁地写入系统数据sys_data来减少存储装置待恢复的系统数据sys_data的量。因此,可增强存储装置的性能。

在实施例中,随着spo级别spo_level降低,待写入系统数据存储装置240或存储器装置100的非易失性存储器单元中的系统数据sys_data的条数减少,从而因为待写入的数据的条数减少,存储装置的效率可提高。可通过调整待写入的系统数据sys_data的条数来增强存储装置的性能。相反,随着spo级别spo_level提高,待写入系统数据存储装置240或存储器装置100的非易失性存储器单元中的系统数据sys_data的条数增加。在这种情况下,可通过增加待写入的系统数据sys_data的类型的数量来减少存储装置待恢复的系统数据的量。因此,可增强存储装置的性能。

如果spo级别spo_level被确定为相对较高的级别,则写入系统数据sys_data的写入时间点之间的间隔可减少。另外,待写入非易失性存储器单元中的系统数据sys_data的类型的数量可增加。

图8是示出根据本公开的实施例的确定突然断电(spo)级别spo_level的方法的示图。例如,spo级别spo_level可由spo级别确定单元220来确定。

参照图8,spo级别确定单元220可基于spo发生时段spo_per来确定spo级别spo_level。

在实施例中,spo发生时段spo_per可以是参考计数数量中断电持续时间的平均值。可预先确定参考计数数量并将参考计数数量存储在spo级别确定单元220中。参考计数数量可以是spo事件已发生的次数。spo区段可以是从断电时间点到通电时间点定义的区段。

在各个实施例中,spo级别确定单元220可确定用于确定spo发生时段spo_per的参考计数数量。参考计数数量可以变化。spo级别确定单元220可通过计算参考计数数量中断电持续时间的平均值来确定spo级别spo_level。

在实施例中,如果spo发生时段spo_per为t1或更小,则spo级别spo_level可以是第六spo级别spo_level6。如果spo发生时段spo_per大于t1且为t2或更小,则spo级别spo_level可以是第五spo级别spo_level5。如果spo发生时段spo_per大于t2,则spo级别spo_level可以是第四spo级别spo_level4。

虽然图8示出spo发生时段spo_per可属于的区段是三个区段中的任意一个,但可增加确定spo级别spo_level所基于的区段的数量。在确定spo级别spo_level时,可进一步细分spo发生时段spo_per可属于的区段。

在实施例中,spo级别确定单元220可基于从spo感测单元210接收的感测信息se_inf,将第四至第六spo级别spo_level4至spo_level6中的一个确定为spo级别spo_level。spo级别确定单元220可将所确定的spo级别spo_level输出到系统数据控制单元230。

第六spo级别spo_level6可以是在spo发生时段spo_per最短时,在第四至第六spo级别spo_level4至spo_level6之中确定的spo级别spo_level。如果spo发生时段spo_per相对较短,则spo事件可频繁发生。在实施例中,当spo发生时段spo_per为t1或更小时,可确定spo级别spo_level是第六spo级别spo_level6。

如果spo级别spo_level被确定为第六spo级别spo_level6,则因为spo发生时段spo_per相对较短,所以系统数据控制单元230需要将系统数据sys_data频繁地写入到非易失性存储器单元。因此,系统数据(sys_data)写入时段可相对较短。写入系统数据sys_data的写入时间点之间的时间可减少。此外,因为spo发生时段spo_per较短,所以待存储的系统数据sys_data的类型的数量可增加。因此,在这种情况下,系统数据sys_data不仅可包括映射相关数据map_data,而且还可包括主机相关数据host_data、用户相关数据user_data以及固件相关数据fw_data。

第四spo级别spo_level4可以是在spo发生时段spo_per最长时,在第四至第六spo级别spo_level4至spo_level6之中确定的spo级别spo_level。如果spo发生时段spo_per相对较长,则spo发生频率可降低。在实施例中,当spo发生时段spo_per大于t2时,可确定spo级别spo_level是第四spo级别spo_level4。

如果spo级别spo_level被确定为第四spo级别spo_level4,则因为spo发生时段spo_per相对较长,所以系统数据控制单元230不需要频繁地写入系统数据sys_data。因此,系统数据(sys_data)写入时段可相对较长。写入系统数据sys_data的写入时间点之间的时间可增加。此外,由于spo发生时段spo_per较长,所以待存储的系统数据sys_data的类型的数量可减少。然而,在这种情况下,系统数据sys_data还可包括映射相关数据map_data。

第五spo级别spo_level5可以是在spo发生时段spo_per比第六spo级别spo_level6的spo发生时段spo_per长且比第四spo级别spo_level4的spo发生时段spo_per短时所确定的spo级别spo_level。在实施例中,当spo发生时段spo_per长于t1且短于或等于t2时,可确定spo级别spo_level是第五spo级别spo_level5。因此,将系统数据sys_data写入到系统数据存储装置240或存储器装置100的非易失性存储器单元的时段可比第四spo级别spo_level4的时段短,并且比第六spo级别spo_level6的时段长。此外,待在第五spo级别spo_level5存储在非易失性存储器单元中的系统数据sys_data的类型的数量可大于待在第四spo级别spo_level4存储的系统数据sys_data的类型的数量,并且可小于待在第六spo级别spo_level6存储的系统数据sys_data的类型的数量。

随着spo级别spo_level提高,写入系统数据sys_data的写入时间点之间的间隔可减小,并且待写入的系统数据sys_data的类型的数量可增加。

在基于spo发生计数数量spo_num确定spo级别spo_level的情况下,spo发生计数数量spo_num越大,spo级别spo_level可越高。在基于spo发生时段spo_per确定spo级别spo_level的情况下,spo发生时段spo_per越长,spo级别spo_level可越低。

因此,当感测信息se_inf包括关于spo发生时段spo_per的信息时,spo发生时段spo_per越短,spo级别spo_level可越高。相反,spo发生时段spo_per越长,spo级别spo_level可越低。

因此,随着spo级别spo_level降低,写入系统数据sys_data的次数减少,从而可提高存储装置的效率。可通过调整写入系统数据sys_data的次数来增强存储装置的性能。相反,随着spo级别spo_level增加,写入系统数据sys_data的次数增加。在这种情况下,可通过频繁地写入系统数据sys_data来减少存储装置待恢复的系统数据sys_data的量。因此,可增强存储装置的性能。

在实施例中,随着spo级别spo_level降低,待写入非易失性存储器单元中的系统数据sys_data的条数减少,从而因为待写入的数据的条数减少,存储装置的效率可提高。可通过调整待写入的系统数据sys_data的条数来增强存储装置的性能。相反,随着spo级别spo_level提高,待写入非易失性存储器单元的系统数据sys_data的条数增加。在这种情况下,可通过增加待写入的系统数据sys_data的类型的数量来减少存储装置待恢复的系统数据的量。因此,可增强存储装置的性能。

图9是示出根据本公开的实施例的存储器装置,例如图1的存储器装置100的框图。

参照图9,存储器装置100可包括存储器单元阵列110和外围电路120。外围电路120可包括地址解码器121、电压生成器122、读取和写入(读取/写入)电路123、数据输入和输出(输入/输出)电路124和控制逻辑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。行线rl中包括漏极选择线dsl、第一至第n字线wl1至wln以及源极选择线ssl。由地址解码器121控制漏极选择线dsl、第一至第n字线wl1至wln以及源极选择线ssl。由控制逻辑125控制共源线csl。由读取/写入电路123控制第一至第m位线bl1至blm。

地址解码器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接收的数据传送到所选择的存储器单元。基于传送的数据对所选择的页面中的存储器单元进行编程。联接到施加编程使能电压(例如,接地电压)的位线的存储器单元可具有增加的阈值电压。联接到施加编程禁止电压(例如,电源电压)的位线的存储器单元的阈值电压可被保持。在编程验证操作期间,第一至第m页面缓冲器pb1至pbm可通过位线bl1至blm从所选择的存储器单元读取页面数据。

在读取操作期间,读取/写入电路123可通过位线bl从所选择的页面中的存储器单元读取数据data,并将读取的数据data输出到数据输入/输出电路124。在擦除操作期间,读取/写入电路123可使位线bl浮置。

在实施例中,读取/写入电路123可包括列选择电路。

数据输入/输出电路124通过数据线dl联接到第一至第m页面缓冲器pb1至pbm。数据输入/输出电路124可在控制逻辑125的控制下操作。在编程操作期间,数据输入/输出电路124可从外部控制器(未示出)接收待存储的数据。

控制逻辑125连接到地址解码器121、电压生成器122、读取/写入电路123以及数据输入/输出电路124。控制逻辑125可控制存储器装置100的全部操作。控制逻辑125可从外部控制器接收命令cmd和地址addr。控制逻辑125可响应于命令cmd来控制地址解码器121、电压生成器122、读取/写入电路123以及数据输入/输出电路124。

图10是示出根据本公开的实施例的存储器单元阵列,例如图9的存储器单元阵列110的示图。

参照图10,存储器单元阵列110可包括多个存储块blk1至blkz。每个存储块可具有三维结构。每个存储块可包括堆叠在衬底上的多个存储器单元。存储器单元布置在+x方向、+y方向和+z方向上。将参照图11和图12更详细地描述每个存储块的结构。

图11是示出根据本公开的实施例的存储块,例如图10的多个存储块blk1至blkz中的存储块blka的电路图。

参照图11,存储块blka可包括多个单元串cs11至cs1m和cs21至cs2m。在实施例中,单元串cs11至cs1m和cs21至cs2m中的每一个可形成为“u”形。在存储块blka中,可在行方向(即,+x方向)上布置m个单元串。在图11中,示出了在列方向(即,+y方向)上布置两个单元串。然而,该图示仅是为了便于描述,并且将理解的是,可在列方向上布置三个或更多个单元串。

多个单元串cs11至cs1m和cs21至cs2m中的每一个可包括至少一个源极选择晶体管sst、第一至第n存储器单元mc1至mcn、管道晶体管pt以及至少一个漏极选择晶体管dst。

选择晶体管sst和dst以及存储器单元mc1至mcn可分别具有相似的结构。在实施例中,选择晶体管sst和dst以及存储器单元mc1至mcn中的每一个可包括沟道层、隧道绝缘层、电荷存储层和阻挡绝缘层。在实施例中,可在每个单元串中设置用于提供沟道层的柱。在实施例中,可在每个单元串中设置用于提供沟道层、隧道绝缘层、电荷存储层和阻挡绝缘层中的至少一个的柱。

每个单元串的源极选择晶体管sst联接在共源线csl和存储器单元mc1至mcp之间。

在实施例中,布置在相同行中的单元串的源极选择晶体管联接到在行方向上延伸的源极选择线,并且布置在不同行中的单元串的源极选择晶体管联接到不同的源极选择线。在图11中,第一行中的单元串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。

布置在列方向上的单元串可联接到在列方向上延伸的位线。在图11中,第一列中的单元串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执行擦除操作之前或之后,可对全部或一些虚设存储器单元执行编程操作。在执行了编程操作之后执行擦除操作的情况下,通过控制待施加到与各个虚设存储器单元联接的虚设字线的电压,虚设存储器单元可具有所需的阈值电压。

图12是示出根据本公开的实施例的存储块,例如图10的多个存储块blk1至blkz中的存储块blkb的电路图。

参照图12,存储块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之外,图12的存储块blkb可具有与图11的存储块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执行擦除操作之前或之后,可对全部或一些虚设存储器单元执行编程操作。在执行了编程操作之后执行擦除操作的情况下,通过控制待施加到与各个虚设存储器单元联接的虚设字线的电压,虚设存储器单元可具有所需的阈值电压。

图13是示出根据本公开的实施例的存储器控制器(例如,图2或图3的存储器控制器200)的操作的示图。

参照图13,在步骤s1301,spo感测单元210可感测spo事件。spo事件可以是电源突然断开的现象。如果电源突然断开,则spo感测单元210可控制存储器装置100存储电源断开的时间点。电源断开的时间点可以是断电时间po_time。断电时间po_time可存储在存储器装置100中。

在步骤s1303,spo感测单元210可生成感测信息se_inf。在各个实施例中,spo感测单元210可基于spo持续时间来生成感测信息se_inf。该感测信息se_inf可包括在参考时间t_ref期间spo事件已发生的次数和spo发生时段spo_per中的至少一个。spo发生时段spo_per可以是spo持续时间的平均值。

在步骤s1305,spo级别确定单元220可确定spo级别spo_level。在各个实施例中,spo级别确定单元220可基于从spo感测单元210接收的感测信息se_inf来确定spo级别spo_level。根据spo级别spo_level,可确定待写入的系统数据sys_data和写入该系统数据sys_data的时间点。

spo事件发生的频率越高,spo级别spo_level可越高。spo事件发生的频率越低,spo级别spo_level可越低。

在步骤s1307,spo级别确定单元220可确定是否更新spo级别spo_level。spo级别确定单元220可更新spo级别spo_level。在各个实施例中,spo级别确定单元220可响应于主机300的请求或者在经过预定时间之后更新spo级别spo_level。在spo级别确定单元220更新spo级别spo_level的情况下(s1307,是),进程进行到步骤s1301,从而spo感测单元210感测spo事件以生成新感测信息se_inf。在spo级别确定单元220可不更新spo级别spo_level的情况下(s1307,否),进程进行到步骤s1309。

在步骤s1309,系统数据控制单元230可确定是否已经满足系统数据写入条件。系统数据写入条件可包括存储器装置100中存储数据的存储块的改变以及对指示物理块地址(pba)与逻辑块地址(lba)之间的映射关系的映射信息(即,物理到逻辑(p2l))的更新中的任意一个。系统数据写入条件可以变化。

如果满足系统数据写入条件(s1309,是),则进程进行到步骤s1311。如果不满足系统数据写入条件(s1309,否),则进程进行到步骤s1301。在不满足系统数据写入条件的情况下,系统数据控制单元230可不写入系统数据sys_data,并且为了生成新感测信息se_inf,spo感测单元210可感测spo事件。

在步骤s1311,系统数据控制单元230可在基于spo级别spo_level确定的时间点存储系统数据sys_data。系统数据控制单元230可基于从spo级别确定单元220接收的spo级别spo_level来写入系统数据sys_data。系统数据控制单元230可在对应于spo级别spo_level的写入时间点写入基于spo级别spo_level确定的系统数据sys_data。在已写入系统数据sys_data之后,进程可再次进行到步骤s1301。

图14是示出根据本公开的实施例的存储器控制器(例如,图2或图3的存储器控制器200)的操作的示图。

参照图14,在步骤s1401,电源可断开。在各个实施例中,断电事件可以是电源突然断开的情况。如果电源突然断开,则spo感测单元210可控制存储器装置100存储电源断开的时间点。

在步骤s1403,spo感测单元210可将断电时间点存储在存储器装置100中。在各个实施例中,断电时间点可以是电源突然断开的时间点。电源突然断开的时间点可以是断电时间po_time。断电时间po_time可存储在存储器装置100中。可输出存储器装置100中存储的断电时间po_time以生成感测信息se_inf。

在步骤s1405,电源可接通。在各个实施例中,在spo事件已发生之后,电源可再次接通。在电源接通的情况下,存储装置50可使用系统数据sys_data来执行恢复操作。系统数据sys_data可包括主机相关数据host_data、用户相关数据user_data、固件相关数据fw_data和映射相关数据map_data中的至少一种。

在步骤s1407,spo感测单元210可从存储器装置100接收断电时间点。详细地,断电时间点可以是在spo事件发生时存储在存储器装置100中的断电时间po_time。

在步骤s1409,spo感测单元210可接收断电时间po_time,并且计算从断电时间po_time到电源再次接通的时间点的持续时间。每当spo事件发生时,spo感测单元210可计算从断电时间po_time到电源再次接通的时间点的持续时间。可累加计算从断电时间po_time到电源再次接通的时间点的持续时间。

在步骤s1411,spo感测单元210可生成感测信息se_inf。spo感测单元210可感测spo事件并生成感测信息se_inf。在各个实施例中,spo感测单元210可基于spo持续时间来生成感测信息se_inf。spo感测单元210可通过计算从断电时间点到通电时间点的持续时间来生成感测信息se_inf。

感测信息se_inf可包括关于spo事件在参考时间t_ref内已发生的次数的信息。此外,感测信息se_inf可包括关于spo发生时段spo_per的信息。spo发生时段spo_per可以是spo持续时间的平均值。spo发生时段spo_per可以是通过累加从每个断电时间点到相应的通电时间点的持续时间并将所累加的持续时间除以spo事件已发生的次数而获得的值。

图15是示出根据本公开的实施例的存储器装置(例如,图2或图3的存储器装置100)的操作的示图。

参照图15,在步骤s1501,存储器装置100可接收写入命令。当从存储器控制器200接收到写入命令时,存储器装置100可与写入命令一起接收到执行写入命令的物理块地址(pba)。

在步骤s1503,存储器装置100可确定是否写入系统数据。在各个实施例中,存储器装置100可从存储器控制器200接收系统数据写入命令sdw_cmd和系统数据sys_data。如果满足系统数据写入条件,则存储器装置100可在基于spo级别spo_level确定的写入时间点接收系统数据写入命令sdw_cmd和系统数据sys_data。当从存储器控制器200接收到系统数据写入命令sdw_cmd和系统数据sys_data时,存储器装置100可确定写入所接收的系统数据sys_data。

在存储器装置100已确定写入系统数据sys_data的情况下(s1503,是),进程进行到步骤s1505。在存储器装置100已确定不写入系统数据sys_data的情况下(s1503,否),进程进行到步骤s1507。

在步骤s1505,存储器装置100可写入从系统数据控制单元230接收的系统数据sys_data。在各个实施例中,系统数据sys_data可包括映射信息,该映射信息包括与写入命令一起接收到的pba。因此,可尽可能地延迟写入系统数据sys_data的时间点。此外,因为可尽可能地延迟写入系统数据sys_data的时间点,所以包括大量信息的系统数据sys_data可存储在存储器装置100中。

在步骤s1507,存储器装置100可执行写入命令。在各个实施例中,存储器装置100可从存储器控制器200接收写入命令、地址和写入数据,并且执行对应于写入命令的操作。在已确定写入系统数据的情况下,存储器装置100可写入系统数据sys_data,然后执行对应于写入命令的操作。在存储器装置100不写入系统数据sys_data的情况下,存储器装置100可省略写入系统数据sys_data的操作,并且直接执行对应于写入命令的操作。

图16是示出根据本公开的实施例的存储器控制器(例如,图2或图3的存储器控制器200)的操作的示图。

参照图16,在步骤s1601,spo级别确定单元220可确定参考时间t_ref。参考时间t_ref可以是确定spo级别spo_level所需的时间。如果spo级别确定单元220确定参考时间t_ref,则spo级别确定单元220可基于指示spo事件在所确定的参考时间t_ref内已发生的次数的spo发生计数数量spo_num来确定spo级别spo_level。

在步骤s1603,spo级别确定单元220可感测指示spo事件在所确定的参考时间t_ref内已发生的次数的spo发生计数数量spo_num。在各个实施例中,当spo事件发生时,spo级别确定单元220可从spo感测单元210接收感测信息se_inf。感测信息se_inf可包括关于因spo事件而电源断开的时间的信息,以及spo发生计数数量spo_num。spo级别确定单元220可确定指示spo事件在所确定的参考时间t_ref内已发生的次数的spo发生计数数量spo_num。可基于感测信息se_inf来确定spo发生计数数量spo_num。

在步骤s1605,spo级别确定单元220可确定spo级别spo_level。可基于从spo感测单元210接收的感测信息se_inf来确定spo级别spo_level。可基于指示spo事件在参考时间t_ref内已发生的次数的spo发生计数数量spo_num来确定spo级别spo_level。在spo事件在参考时间t_ref内已发生的次数相对较小的情况下,可确定spo级别spo_level为低级别。相反,如果spo事件在参考时间t_ref内已发生的次数相对较大,则可确定spo级别spo_level为高级别。

图17是示出根据本公开的实施例的存储器控制器(例如,图2或图3的存储器控制器200)的操作的示图。

参照图17,在步骤s1701,spo级别确定单元220可确定spo发生时段spo_per。可基于从spo感测单元210接收的感测信息se_inf来确定spo发生时段spo_per。spo发生时段spo_per可以是参考计数数量中断电持续时间的平均值。参考计数数量可以是spo事件已发生的次数。参考计数数量可预先存储在spo级别确定单元220中。spo区段可以是从断电时间点到通电时间点定义的区段。

如果spo发生时段spo_per相对较短,则spo事件可频繁发生。如果spo发生时段spo_per相对较短,则系统数据控制单元230需要频繁地写入系统数据sys_data。因此,系统数据sys_data写入到系统数据存储装置240或存储器装置100的非易失性存储器单元的时段可相对较短。写入系统数据sys_data的写入时间点之间的时间可减少。此外,因为spo发生时段spo_per较短,所以待存储的系统数据sys_data的类型的数量可增加。

相反,如果spo发生时段spo_per相对较长,则spo发生频率可降低。如果spo发生时段spo_per相对较长,则系统数据控制单元230不需要将系统数据sys_data频繁地写入到非易失性存储器单元。因此,系统数据(sys_data)写入时段可相对较长。写入系统数据sys_data的写入时间点之间的时间可增加。此外,由于spo发生时段spo_per较长,所以待存储的系统数据sys_data的类型的数量可减少。

在步骤s1703,spo级别确定单元220可基于spo发生时段spo_per来确定spo级别spo_level。在实施例中,随着spo发生时段spo_per减少,spo级别spo_level可提高。相反,随着spo发生时段spo_per增加,spo级别spo_level可降低。

图18是示出根据本公开的实施例的存储器控制器1000,例如图1的存储器控制器200的示图。

存储器控制器1000联接到主机(例如,图1的主机300)和存储器装置(例如,图1的存储器装置100)。响应于来自主机300的请求,存储器控制器1000可访问存储器装置100。例如,存储器控制器1000可控制存储器装置100的写入操作、读取操作、擦除操作和后台操作。存储器控制器1000可提供存储器装置100与主机300之间的接口。存储器控制器1000可驱动固件以控制存储器装置100。

参照图18,存储器控制器1000可包括处理器1010、存储器缓冲器1020、错误校正码(ecc)电路1030、主机接口1040、缓冲器控制电路1050、存储器接口1060、总线1070以及系统数据存储装置1080。

总线1070可提供存储器控制器1000的组件之间的通道。

处理器1010可控制存储器控制器1000的全部操作并且执行逻辑操作。处理器1010可通过主机接口1040与主机300通信,并且通过存储器接口1060与存储器装置100通信。另外,处理器1010可通过缓冲器控制电路1050与存储器缓冲器1020通信。处理器1010可通过使用存储器缓冲器1020作为操作存储器、高速缓存存储器或缓冲存储器来控制存储装置的操作。

处理器1010可执行闪存转换层(ftl)的功能。处理器1010可通过ftl将由主机300提供的逻辑块地址(lba)转换成物理块地址(pba)。ftl可接收lba并且使用映射表来将lba转换成pba。可根据映射单位来以各种方式修改使用ftl的地址映射方法。代表性的地址映射方法可包括页面映射方法、块映射方法和混合映射方法。

处理器1010可将从主机接收的数据随机化。例如,处理器1010可使用随机化种子来将从主机300接收的数据随机化。经随机化的数据可作为待存储的数据而被提供到存储器装置100,并且可被编程到存储器单元阵列。

在读取操作期间,处理器1010可将从存储器装置100接收的数据去随机化。例如,处理器1010可使用去随机化种子来将从存储器装置100接收的数据去随机化。经去随机化的数据可被输出到主机300。

在实施例中,处理器1010可驱动软件或固件来执行随机化操作或去随机化操作。

在实施例中,处理器1010可执行确定待写入非易失性存储器中的系统数据sys_data的类型和系统数据sys_data的写入时间点的操作。处理器1010可包括图2和图3的spo感测单元210、spo级别确定单元220和系统数据控制单元230。

在各个实施例中,处理器1010可感测spo事件,并且将作为电源断开的时间点的断电时间po_time记录在存储器装置和/或存储器控制器1000中包括的非易失性存储器中。随后,处理器1010可基于spo持续时间来生成感测信息se_inf。该感测信息se_inf可包括在参考时间t_ref期间spo事件已发生的次数和spo发生时段spo_per中的至少一个。spo发生时段spo_per可以是spo持续时间的平均值。

处理器1010可基于感测信息se_inf来确定spo级别spo_level。处理器1010可基于spo级别spo_level来确定待写入到存储器装置和/或存储器控制器1000的系统数据sys_data的类型以及写入时间点。

在实施例中,在感测信息se_inf可包括关于spo事件在参考时间t_ref内已发生的次数的信息的情况下,随着spo事件已发生的次数增加,spo级别spo_level可提高。相反,随着spo事件已发生的次数减少,spo级别spo_level可降低。

在实施例中,当感测信息se_inf包括关于spo发生时段spo_per的信息时,spo发生时段spo_per越短,spo级别spo_level可越高。相反,spo发生时段spo_per越长,spo级别spo_level可越低。

如果处理器1010确定系统数据sys_data的类型和系统数据sys_data的写入时间点,则处理器1010可在所确定的写入时间点写入所确定类型的系统数据sys_data。处理器1010可将系统数据sys_data写入到存储器装置和/或存储器控制器1000中包括的非易失性存储器。

存储器缓冲器1020可用作处理器1010的操作存储器、高速缓存存储器或缓冲存储器。存储器缓冲器1020可存储待由处理器1010执行的代码和命令。存储器缓冲器1020可存储待由处理器1010处理的数据。存储器缓冲器1020可包括静态ram(sram)或动态ram(dram)。

ecc电路1030可执行错误校正。ecc电路1030可基于待通过存储器接口1060而写入到存储器装置100的数据来执行ecc编码操作。经ecc编码的数据可通过存储器接口1060传送到存储器装置100。ecc电路1030可对通过存储器接口1060从存储器装置100接收的数据执行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。

例如,处理器1010可使用代码来控制存储器控制器1000的操作。处理器1010可从设置在存储器控制器1000中的非易失性存储器装置(例如,只读存储器)加载代码。可选地,处理器1010可通过存储器接口1060从存储器装置加载代码。

例如,存储器控制器1000的总线1070可被划分成控制总线和数据总线。数据总线可在存储器控制器1000中传送数据。控制总线可在存储器控制器1000中传送诸如命令和地址的控制信息。数据总线和控制总线可彼此分离,并且可既不互相干扰也不互相影响。数据总线可联接到主机接口1040、缓冲器控制电路1050、ecc电路1030和存储器接口1060。控制总线可联接到主机接口1040、处理器1010、缓冲器控制电路1050、存储器缓冲器1020和存储器接口1060。

系统数据存储装置1080可与图2和图3的系统数据存储装置240执行相同的功能。系统数据存储装置1080可包括非易失性存储器。系统数据存储装置1080可在由处理器1010确定的写入时间点写入系统数据sys_data。在实施例中,处理器1010可输出系统数据写入命令sdw_cmd和系统数据sys_data,并且将系统数据sys_data存储在系统数据存储装置1080中。

因为系统数据存储装置1080包括非易失性存储器单元,所以即使电源断开,系统数据存储装置1080中存储的系统数据sys_data也可被保留。因此,如果在断电之后电源再次接通,则包括存储器控制器1000和存储器装置100的存储装置可基于系统数据存储装置1080中存储的系统数据sys_data执行恢复操作。

在各个实施例中,如果在系统数据存储装置1080已存储系统数据sys_data之后发生spo事件,则存储器控制器1000可使用紧接在spo事件发生之前已被存储在系统数据存储装置1080中的系统数据sys_data来执行数据恢复操作。

图19是示出根据本公开的实施例的包括存储装置的存储卡系统2000的框图。

参照图19,存储卡系统2000可包括存储器控制器2100、存储器装置2200和连接器2300。

存储器控制器2100联接到存储器装置2200。存储器控制器2100可访问存储器装置2200。例如,存储器控制器2100可控制存储器装置2200的读取操作、写入操作、擦除操作和后台操作。存储器控制器2100可提供存储器装置2200与主机(例如,图1的主机300)之间的接口。存储器控制器2100可驱动固件以控制存储器装置2200。存储器装置2200可以与参照图9描述的存储器装置100相同的方式来实现。

在实施例中,存储器控制器2100可包括诸如随机存取存储器(ram)、处理单元、主机接口、存储器接口和ecc电路的组件。

存储器控制器2100可通过连接器2300与外部装置通信。存储器控制器2100可基于具体通信协议与外部装置(例如,主机)通信。在实施例中,存储器控制器2100可通过诸如以下的各种通信协议中的至少一种与外部装置通信:通用串行总线(usb)、多媒体卡(mmc)、嵌入式mmc(emmc)、外围组件互连(pci)、高速pci(pci-e或pcie)、高级技术附件(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可被集成到单个半导体装置中以形成存储卡。例如,存储器控制器2100和存储器装置2200可被集成到单个半导体装置中以形成诸如以下的存储卡:个人计算机存储卡国际协会(pcmcia)、紧凑型闪存(cf)卡、智能媒体卡(例如,sm或smc)、记忆棒、多媒体卡(例如,mmc、rs-mmc或微型mmc)、安全数字(sd)卡(例如,sd、迷你sd、微型sd或sdhc)或通用闪存(ufs)。

图20是示出根据本公开的实施例的包括存储装置的固态驱动器(ssd)系统3000的框图。

参照图20,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或pcie)、高级技术附件(ata)、串行ata(sata)、并行ata(pata)、小型计算机系统接口(scsi)、增强型小型磁盘接口(esdi)、电子集成驱动器(ide)、火线、通用闪存(ufs)、wi-fi、蓝牙以及高速非易失性存储器(nvme)接口。

辅助电源3230可通过电源连接器3002联接到主机3100。辅助电源3230可被供应来自主机3100的电力pwr并且可由电力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的非易失性存储器。

图21是示出根据本公开的实施例的包括存储装置的用户系统4000的框图。

参照图21,用户系统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可包括多个非易失性存储器装置,并且多个非易失性存储器装置中的每一个可以与以上参照图9描述的存储器装置100相同的方式操作。存储模块4400可以与以上参照图1描述的存储装置50相同的方式操作。

用户接口4500可包括用于向应用处理器4100输入数据或指令或者用于将数据输出到外部装置的接口。在实施例中,用户接口4500可包括诸如以下的用户输入接口:键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电装置。用户接口4500可进一步包括诸如以下的用户输出接口:液晶显示器(lcd)、有机发光二极管(oled)显示装置、有源矩阵oled(amoled)显示装置、led、扬声器和监控器。

如上所述,本公开的各个实施例可提供一种能够改变系统数据写入时段的存储装置及操作该存储装置的方法。

虽然已经公开了本公开的实施例,但本领域技术人员将理解的是,在不脱离本公开的范围和精神的情况下,可进行各种修改、添加和替换。

因此,本公开的范围必须由所附权利要求和权利要求的等同方案来限定,而不是由之前的描述来限定。

在以上讨论的实施例中,可选择性地执行或跳过全部步骤。另外,并非总以常规顺序来执行每个实施例中的步骤。此外,本说明书和附图中公开的实施例旨在帮助本领域技术人员更清楚地理解本公开,而不是旨在限制本公开的范围。本公开所属领域的技术人员将能够容易地理解,基于本公开的技术范围,可以进行各种修改。

已经参照附图描述了本公开的实施例,并且在说明书中使用的特定术语或词语应当根据本公开的精神来解释,而不限制本公开的主题。应当理解的是,本文描述的基本发明构思的许多变化和修改将仍然落入所附权利要求及其等同方案所限定的本公开的精神和范围内。

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