存储设备、包括所述存储设备的电子系统及其操作方法

文档序号:1534985 发布日期:2020-02-14 浏览:21次 >En<

阅读说明:本技术 存储设备、包括所述存储设备的电子系统及其操作方法 (Memory device, electronic system including the same, and method of operating the same ) 是由 裴德镐 金东昱 柳炯宇 罗广贤 黄珠荣 崔侑罗 于 2019-05-31 设计创作,主要内容包括:一种电子系统包括主机设备和存储设备,所述存储设备包括易失型的第一存储器件和非易失型的第二存储器件。主机设备经由存储器映射的输入-输出接口来访问第一存储器件,且主机设备经由块可访问接口来访问第二存储器件。存储设备为主机设备提供虚拟存储器区域,使得包括在第一存储器件中的具有第一大小的主机专用存储器区域被映射到具有第二大小的虚拟存储器区域,其中第二大小大于第一大小。(An electronic system includes a host device and a storage device including a first storage device of a volatile type and a second storage device of a nonvolatile type. The host device accesses the first storage device via the memory-mapped input-output interface, and the host device accesses the second storage device via the block-accessible interface. The storage device provides the host device with a virtual memory region such that a host private memory region having a first size included in the first storage device is mapped to a virtual memory region having a second size, wherein the second size is larger than the first size.)

存储设备、包括所述存储设备的电子系统及其操作方法

相关申请的交叉引用

本申请要求2018年8月2日向韩国知识产权局(KIPO)递交的韩国专利申请10-2018-0090124的优先权,其公开整体合并于此以作参考。

技术领域

本发明构思的示例实施例总体上涉及半导体集成电路,更具体地,涉及一种提供虚拟存储器区域的存储设备、包括所述存储设备的电子系统及所述电子系统的操作方法。

背景技术

通常,嵌入式系统可以例如将诸如动态随机访问存储器(DRAM)的易失性存储器用作主存储器来运行软件,并将诸如NAND闪存的非易失性存储器用于存储用户数据。DRAM提供了比较快的读写速度并支持字节访问。然而,因为DRAM是易失性存储器,所以可能由于其需要规律刷新处理而使得功耗较大。因此,DRAM通常用于存储软件读/写(R/W)数据。NAND闪存一般支持以页(例如,2KB)为单位的输入/输出(I/O)处理,因此通常不用于执行代码或存储软件R/W数据。然而,由于包括在传输大量数据时R/W速度快、成本低且容量大在内的各种特性,NAND闪存通常用于存储用户数据。因此,由于各种存储器是以不同方式使用的且具有不同的功能,设计包括这些各种存储器在内的系统增加了设计复杂度和制造成本。

发明内容

根据本发明构思的示例实施例,电子系统包括主机设备和存储设备,所述存储设备包括易失型的第一存储器件和非易失型的第二存储器件。主机设备经由存储器映射的输入-输出接口来访问第一存储器件,且主机设备经由块可访问接口来访问第二存储器件。存储设备为主机设备提供虚拟存储器区域,使得包括在第一存储器件中的具有第一大小的主机专用存储器区域被映射到具有第二大小的虚拟存储器区域,其中第二大小大于第一大小。

根据本发明构思的示例实施例,存储设备包括:第一存储器件,被配置为由主机设备通过存储器映射的输入-输出接口来进行访问;第二存储器件,被配置为由主机设备经由块可访问接口来进行访问;以及虚拟存储器控制器。该虚拟存储器控制器为主机设备提供虚拟存储器区域,使得包括在第一存储器件中的具有第一大小的主机专用存储器区域被映射到具有第二大小的虚拟存储器区域,其中第二大小大于第一大小。

根据本发明构思的示例实施例,一种操作包括主机设备和存储设备在内的电子系统的方法包括:由主机设备经由存储器映射的输入-输出接口来访问包括在存储设备中的第一存储器件,经由块可访问接口来访问包括在存储设备中的第二存储器件;以及由存储设备为主机设备提供虚拟存储器区域,使得包括在第一存储器件中的具有第一大小的主机专用存储器区域被映射到具有第二大小的虚拟存储器区域,第二大小大于第一大小。

附图说明

通过参考附图详细描述本发明构思的示例实施例,本发明构思的以上和其他特征将被更清楚地理解。

图1是示出了根据本发明构思的示例实施例的操作电子系统的方法的流程图。

图2是示出了根据本发明构思的示例实施例的电子系统的框图。

图3是示出了根据本发明构思的示例实施例的在电子系统中的地址映射的图。

图4是示出了根据本发明构思的示例实施例的在电子系统中的虚拟存储器区域和主机专用存储器区域的图。

图5是示出了根据本发明构思的示例实施例的在电子系统中的动态映射表的图。

图6和图7是示出了根据本发明构思的示例实施例的在电子系统中的静态映射表的图。

图8是示出了根据本发明构思的示例实施例的包括在存储设备中的虚拟存储器控制器的框图。

图9是示出了根据本发明构思的示例实施例的在电子系统中的追加写操作的图。

图10是示出了根据本发明构思的示例实施例的根据图9的追加写操作的动态映射表的映射关系的图。

图11是示出了根据本发明构思的示例实施例的根据图9的追加写操作的永久性存储器区域的设置的图。

图12是示出了根据本发明构思的示例实施例的根据图9的追加写操作的永久性存储器区域的设置的图。

图13是示出了根据本发明构思的示例实施例的在电子系统中的随机写操作的图。

图14是示出了根据本发明构思的示例实施例的根据图13的随机写操作的动态映射表的映射关系的图。

图15是示出了根据本发明构思的示例实施例的根据图13的随机写操作的永久性存储器区域的设置的图。

图16是示出了根据本发明构思的示例实施例的操作电子系统的方法的流程图。

图17是示出了根据本发明构思的示例实施例的块可访问接口的示例命令的图。

图18是示出了根据本发明构思的示例实施例的在电子系统中的地址映射的图。

图19是示出了根据本发明构思的示例实施例的存储设备的框图。

图20是示出了根据本发明构思的示例实施例的包括在图19的电子设备中的掉电保护(PLP)电路的框图。

图21是示出了根据本发明构思的示例实施例的确定电子系统中的冲洗大小(flushing size)的图。

图22是示出了根据本发明构思的示例实施例的电子系统的框图。

图23是示出了根据本发明构思的示例实施例的移动设备的框图。

具体实施方式

本发明构思的示例实施例可以提供一种为主机设备有效提供存储空间的存储设备。

本发明构思的示例实施例还可以提供一种包括所述存储设备和所述主机设备的电子系统以及一种操作所述电子系统的方法。

以下将参考附图更全面地描述本发明构思的示例实施例。贯穿本申请,相同的附图标记可以指代相同的元件。

图1是示出了根据本发明构思的示例实施例的操作电子系统的方法的流程图,图2是示出了根据本发明构思的示例实施例的电子系统的框图。

参考图1和图2,主机设备100经由存储器映射的输入-输出(MMIO)接口30来访问包括在存储设备200中的第一存储器件MEM1 210(S100)。此外,主机设备100经由块可访问接口40来访问包括在存储设备200中的第二存储器件MEM2 220(S200)。存储设备200为主机设备100提供虚拟存储器区域,使得包括在第一存储器件MEM1 210中的具有第一大小的主机专用存储器区域被映射到具有第二大小的虚拟存储器区域,其中第二大小大于第一大小(S300)。

如以下将参考图3、图4和图5所述,存储设备200可以生成包括主机专用存储器区域HDMR的真实地址RAl~RAm与虚拟存储器区域VMR的虚拟地址VAl~VAn之间的映射关系在内的动态映射表DMT,并根据主机设备100针对虚拟存储器区域VMR的访问操作的进程来动态地改变动态映射表DMT的映射关系。这样,可以通过动态地改变主机专用存储器区域HDMR和虚拟存储器区域VMR之间的映射关系,来提供比与真实存储器资源相对应的主机专用存储器区域HDMR具有更大大小的虚拟存储器区域VMR,从而减小存储设备200和包括该存储设备200的电子系统1000的大小并增强其性能。

如以下将参考图3、图6和图7所述,主机设备100可以生成静态映射表SMT,并向存储设备200提供所述静态映射表SMT,其中所述静态映射表包括虚拟存储器区域VMR的虚拟地址VA1~VAn与包括在第二存储器件MEM2 220中的具有第二大小的冲洗存储器区域FMR的逻辑块地址LBA1~LBAn之间的映射关系。这样,主机设备100和存储设备200可以共享静态映射表SMT,以在主机设备和存储设备之间有效地支持以字节为单位的访问和以块为单位的访问。

如以下将参考图9至图15所述,存储设备200可以针对主机专用存储器区域HDMR设置包括多个冲洗单元FU1和FU2的永久性存储器区域PMR,并且执行冲洗操作以便当完成针对多个冲洗单元FU1和FU2中的一个冲洗单元的写操作时在第二存储器件MEM2 220中存储所述一个冲洗单元的数据。这样,可以通过冲洗操作支持虚拟存储器区域VMR的非易失性,且可以有效地支持在主机设备和存储设备之间的以字节为单位的访问和以块为单位的访问,以增强存储设备200和电子系统1000的性能。

参考图2,电子系统1000包括主机设备100和存储设备200。主机设备100可以包括至少一个处理器110,诸如,中央处理单元(CPU)。存储设备200可以包括第一存储器件MEMl210、第二存储器件MEM2 220、虚拟存储器控制器VMCON 230以及块控制器BLCON 240。

处理器110可以如参考图3、图6和图7所述地生成静态映射表SMT。处理器110可以基于静态映射表SMT的映射信息来生成用于访问第一存储器件MEM1 210的字节访问命令BTCMD和用于访问第二存储器件MEM2 220的块访问命令STCMD。

处理器110可以基于静态映射表SMT的占用状态信息OCS来确定是否在第二存储器件MEM2 220的逻辑块地址LBA处存储数据,其中所述逻辑块地址LBA映射到虚拟存储器区域VMR的虚拟地址VA;并且处理器110可以基于所述确定来选择性地针对第一存储器件MEM1210执行以字节为单位的访问或针对第二存储器件MEM2 220执行以块为单位的访问。

虚拟存储器控制器230可以经由MMIO接口30来接收字节访问命令BTCMD。虚拟存储器控制器230可以基于字节访问命令BTCMD来针对第一存储器件MEM1 210执行以字节为单位的访问。

块控制器240可以经由块可访问接口40来接收块访问命令STCMD。块控制器240可以基于块访问命令STCMD来执行以块为单位的访问。

此外,虚拟存储器控制器230和块控制器240可以在第一存储器件MEM1 210和第二存储器件MEM2 220之间执行内部数据传送。内部数据传送可以包括与从第一存储器件MEMl210到第二存储器件MEM2 220的数据传送相对应的冲洗操作以及与从第二存储器件MEM2220到第一存储器件MEMl 210的数据传送相对应的加载操作,这将在下文进行描述。

MMIO接口30和块可访问接口40中的每一个可以实现为诸如总线系统的硬件、诸如驱动程序的软件或硬件和软件的组合。

在本发明构思的示例实施例中,存储设备200的第一存储器件MEM1 210可以经由MMIO接口30与主机设备100的处理器110相连,其中所述MMIO接口30可以包括例如***组件快速互连(PCIe)总线等。存储设备200的虚拟存储器控制器230可以使用比主机专用存储器区域HDMR更大的字节可访问地址空间来向主机设备100提供MMIO接口30,从而允许对存储在主机专用存储器区域HDMR中的数据进行以字节为单位的访问。换言之,向主机设备100提供的虚拟存储器区域VMR的大小可以大于主机专用存储器区域HDMR。

在本发明构思的示例实施例中,存储设备200的第二存储器件MEM2 220可以经由块可访问接口40与主机设备100的处理器110相连,其中所述块可访问接口40可以包括例如串行高级技术附件(SATA)总线、非易失性存储器快速(NVMe)总线、串行附连SCSI(SAS)总线等。存储设备200可以使用与第二存储器件MEM2 220的访问大小相对应的块可访问地址空间,以向主机设备100提供块可访问接口40,从而允许对存储在第二存储器件MEM2 220中的数据进行以块为单位的访问。

第一存储器件MEM1 210可以是可以由主机设备100经由MMIO接口30访问的任意存储器件。例如,第一存储器件MEM1 210可以是具有快速操作速度的易失性存储器件,诸如动态随机访问存储器(DRAM)、静态随机访问存储器(SRAM)等。

第二存储器件MEM2 220可以是可以由主机设备100经由块可访问接口40访问的任意存储器件。例如,第二存储器件MEM2 220可以是非易失性存储器件,诸如电可擦除可编程只读存储器(EEPROM)、闪存、相变随机访问存储器(PRAM)、电阻随机访问存储器(RRAM)、纳米浮栅存储器(NFGM)、聚合物随机访问存储器(PoRAM)、磁随机访问存储器(MRAM)、铁电随机访问存储器(FRAM)等。

图3是示出了根据本发明构思的示例实施例的在电子系统中的地址映射的图。

参考图3,主机设备100的虚拟地址空间VAS可以包括虚拟存储器区域VMR和冲洗存储器区域FMR。

虚拟存储器区域VMR被映射到第一存储器件MEM1 210的主机专用存储器区域HDMR。主机专用存储器区域HDMR可以是第一存储器件MEMl 210的一部分。换言之,主机专用存储器区域HDMR的第一大小SZ1可以小于第一存储器件MEMl 210的大小SZV。这里,大小是指数据存储容量或存储器容量。

主机专用存储器区域HDMR可以具有第一大小SZl且虚拟存储器区域VMR可以具有大于第一大小SZl的第二大小SZ2。为了提供比与真实存储器资源相对应的主机专用存储器区域HDMR更大的虚拟存储器区域VMR,存储设备200可以动态地改变主机专用存储器区域HDMR和虚拟存储器区域VMR之间的映射关系。

第二存储器件MEM2 220可以向主机设备100提供与第二存储器件MEM2 220具有相同大小SZN的地址空间。映射到虚拟存储器区域VMR的冲洗存储器区域FMR可以是第二存储器件MEM2 220的一部分。换言之,冲洗存储器区域FMR的第二大小SZ2可以小于第二存储器件MEM2 220的大小SZN。

虚拟存储器区域VMR和冲洗存储器区域FMR可以具有相同的大小,例如,第二大小SZ2。由于虚拟存储器区域VMR和冲洗存储器区域FMR具有相同的大小,所以主机设备100可以在没有改变的情况下静态地设置虚拟存储器区域VMR和冲洗存储器区域FMR之间的映射关系。

图4是示出了根据本发明构思的示例实施例的在电子系统中的虚拟存储器区域和主机专用存储器区域的图。

参考图4,虚拟存储器区域VMR和主机专用存储器区域HDMR可以被分为具有相同大小的多个单元区域UR。虚拟地址VA1~VAn可以被分配给虚拟存储器区域VMR的单元区域UR,且真实地址RA1~RAm可以被分配给主机专用存储器区域HDMR的单元区域UR。例如,虚拟地址VA1~VAn和真实地址RA1~RAm中的每一个可以是对应单元区域UR的起始地址。

可以根据电子系统的特性和/或操作场景来多样化地确定单元区域UR的大小。在本发明构思的示例实施例中,如图6所示,一个虚拟地址可以对应于一个逻辑块地址,且单元区域UR的大小可以对应于第二存储器件MEM2 220的数据块的大小。在本发明构思的示例实施例中,如图7所示,两个虚拟地址可以对应于一个逻辑块地址,且单元区域UR的大小可以对应于第二存储器件MEM2 220的数据块的一半大小。

图5是示出了根据本发明构思的示例实施例的在电子系统中的动态映射表的图。

参考图5,动态映射表DMT可以包括主机专用存储器区域HDMR的真实地址RAD和虚拟存储器区域VMR的虚拟地址VAD之间的映射关系。

例如,在时间点T1,真实地址RA1、RA2、RA2和RA4可以分别映射到虚拟地址VAa、VAb、VAc和VAd。“EMP”表示相应的真实地址没有被映射到虚拟地址。例如,图5表示虚拟地址没有被映射到真实地址RAm。

真实地址RAD和虚拟地址VAD之间的这种映射关系可以根据主机设备100针对虚拟存储器区域VMR的访问操作的进程而改变。例如,在不同于时间点T1的时间点T2,真实地址RA1、RA2、RA2、RA4和RAm可以分别映射到虚拟地址VAf、VAg、Vah、VAi和VAj。

时间点T1处的动态映射表DMT指示从时间点T1开始最近访问的虚拟地址和相应的真实地址之间的映射关系,类似地,时间点T2处的动态映射表DMT指示从时间点T2开始最近访问的虚拟地址和相应的真实地址之间的映射关系。

这样,存储设备200可以通过动态地改变主机专用存储器区域HDMR和虚拟存储器区域VMR之间的映射关系,来提供比与真实存储器资源相对应的主机专用存储器区域HDMR具有更大大小的虚拟存储器区域VMR,从而减小存储设备200和包括该存储设备200的电子系统1000的大小并增强其性能。

图6和图7是示出了根据本发明构思的示例实施例的在电子系统中的静态映射表的图。

参考图6和图7,静态映射表SMT可以包括虚拟存储器区域VMR的虚拟地址VAD和冲洗存储器区域FMR的逻辑块地址LBAD之间的映射关系。此外,静态映射表SMT还可以包括占用状态信息OCS,指示在映射到相应虚拟地址VAD的每个逻辑块地址LBAD处是否存储了数据。当数据被存储在映射到虚拟地址VAD的逻辑块地址LBA处时,占用状态信息OCS可以具有第一值OC;且当数据没有被存储在逻辑块地址LBA时,占用状态信息OCS可以具有第二值UO。

在本发明构思的示例实施例中,如图6所示,一个虚拟地址VAD可以对应于一个逻辑块地址LBAD。换言之,虚拟地址VA1、VA2、VA3和VAn可以被分别映射到逻辑块地址LBA1、LBA2、LBA3和LBAn。在这种情况下,单元区域UR的大小可以对应于第二存储器件MEM2 220的数据块的大小。在图6的示例中,占用状态信息OCS指示:数据被存储在映射到虚拟地址VA1和VA2的逻辑块地址LBA1和LBA2处,对应于第一值OC;而数据没有被存储在映射到虚拟地址VA3和VAn的逻辑块地址LBA3和LBAn处,对应于第二值UO。

在本发明构思的示例实施例中,如图7所示,两个虚拟地址可以对应于一个逻辑块地址。换言之,虚拟地址VA1和VA2可以映射到逻辑块地址LBA1,虚拟地址VA3和VA4可以映射到逻辑块地址LBA2,虚拟地址VA5和VA6可以映射到逻辑块地址LBA3,且虚拟地址VA-1和VAn可以映射到逻辑块地址LBAq。在这种情况下,n对应于2q且单元区域UR的大小可以对应于第二存储器件MEM2 220的数据块的一半大小。在图7的示例中,占用状态信息OCS分别指示:数据被存储在映射到虚拟地址VA1和VA2的逻辑块地址LBA1处,对应于第一值OC;数据没有被存储在映射到虚拟地址VA5、VA6、VAn-1和VAn的逻辑块地址LBA3和LBAq处,对应于第二值UO;且数据被存储在映射到虚拟地址VA3和VA4的逻辑块地址LBA2处的数据块的一部分中,对应于第一值OC和第二值UO。

静态映射表SMT可以由主机设备100生成并且可以从主机设备100提供给存储设备200。这样,主机设备100和存储设备200可以共享静态映射表SMT,以在主机设备100和存储设备200之间有效地支持以字节为单位的访问和以块为单位的访问。

图8是示出了根据本发明构思的示例实施例的包括在存储设备中的虚拟存储器控制器的框图。

参考图8,虚拟存储器控制器230可以包括映射管理器232、内部传送管理器234和恢复管理器236。

映射管理器232可以生成包括主机专用存储器区域HDMR的真实地址RA1~RAm和虚拟存储器区域VMR的虚拟地址VA1~VAn之间的映射关系在内的动态映射表DMT。如参考图5所述,映射管理器232可以根据主机设备100针对虚拟存储器区域VMR的访问操作的进程来动态地改变动态映射表DMT的映射关系。

内部传送管理器234可以基于动态映射表DMT和静态映射表SMT来控制第一存储器件MEM1 210和第二存储器件MEM2 220之间的数据传送,其中静态映射表SMT包括虚拟存储器区域VMR的虚拟地址VA1~VAn与冲洗存储器区域FMR的逻辑块地址LBA1~LBAn之间的映射关系、以及指示数据是否存储在映射到相应虚拟地址的每个逻辑块地址处的占用状态信息OCS。

内部数据传送可以包括与从第一存储器件MEM1 210到第二存储器件MEM2 220的数据传送相对应的冲洗操作以及与从第二存储器件MEM2 220到第一存储器件MEM1 210的数据传送相对应的加载操作,如将在下文进行描述。

映射管理器232和内部传送管理器234可以实现为地址翻译单元(ATU)、存储器管理单元(MMU)和数据重定向复用器等的组合。

恢复管理器236可以控制用于支持永久性存储器区域PMT的非易失性或永久性的操作,所述永久性存储器区域PMT是针对主机专用存储器区域HDMR设置的,如将参考图11所述。恢复管理器236可以实现为掉电保护(PLP)电路和软件的组合,以如下所述地控制PLP电路。恢复管理器236可以执行备份操作,以便当向存储设备200提供的输入电力发生中断时,通过使用辅助电力来将永久性存储器区域PMR中的数据存储到非易失性型的第二存储器件MEM2 220的冲洗存储器区域FMR中。此外,恢复管理器236可以在电力中断的情况下将静态映射表SMT和动态映射表DMT存储在第二存储器件MEM2 220的元区域中。

在输入电力恢复之后,可以基于存储在第二存储器件MEM2 220中的信息和数据来恢复虚拟存储器区域VMR中的所有数据。

图9是示出了根据本发明构思的示例实施例的在电子系统中的追加写操作(appending write operation)的图,图10是示出了根据本发明构思的示例实施例的根据图9的追加写操作的动态映射表的映射关系的图。

参考图9,主机设备100可以执行追加写操作,以用连续增加的虚拟地址VAD来在虚拟存储器区域VMR中存储数据。在图9中,“ACO”指示写顺序。

图10示出了与图9的追加写操作相对应的动态映射表DMT的映射关系的改变。为了说明和描述方便,图10示出了主机专用存储器区域HDMR对应于八个真实地址RA1~RA8的示例,但是本发明构思不限于此。

在时间点T11,动态映射表DMT指示第一虚拟地址VA1和第二虚拟地址VA2依次映射到第一真实地址RA1和第二真实地址RA2,且虚拟地址还没有映射到第三真实地址至第八真实地址RA3~RA8(EMP)。

在时间点T11之后的时间点T12,动态映射表DMT指示第一至第八虚拟地址VA1~VA8被依次映射到第一至第八真实地址RA1~RA8的全部。

在针对第九虚拟地址VA9和第十虚拟地址VA10执行写操作之后的时间T13处,第九虚拟地址VA9和第十虚拟地址VA10依次映射到第一真实地址RA1和第二真实地址RA2。

这样,虚拟地址VA1~VAn可以通过旋转方案或轮询方案动态映射到真实地址RA1~RAm(其中n>m)。通过这种动态映射,可以通过使用具有第一大小SZ1的主机专用存储器区域HDMR,来向主机设备100提供具有大于第一大小SZ1的第二大小SZ2的虚拟存储器区域VMR。

图11是示出了根据本发明构思的示例实施例的根据图9的追加写操作的永久性存储器区域的设置的图。

参考图11,存储设备200可以针对主机专用存储器区域HDMR设置包括多个冲洗单元FU1和FU2在内的永久性存储器区域PMR。为了说明和描述方便,图11示出了永久性存储器区域PMR包括两个冲洗单元FU1和FU2的示例,但是本发明构思不限于此。例如,永久性存储器区域PMR可以包括三个或更多个冲洗单元。

存储设备200可以执行冲洗操作,以便当完成针对多个冲洗单元FU1和FU2中的一个冲洗单元的写操作时,将所述一个冲洗单元的数据存储在第二存储器件MEM2 220中。例如,包括在图8的虚拟存储器控制器230中的内部传送管理器234可以基于静态映射表SMT和动态映射表DMT,来将所述一个冲洗单元中的数据存储在第一存储器件MEM1 210的冲洗存储器区域FMR的对应部分中。

每当完成针对每个冲洗单元的冲洗操作时,内部传送管理器234可以将与永久性存储器区域PMR的起始位置相对应的冲洗位置从主机专用存储器区域HDMR的起始地址开始增加冲洗单元FU1和FU2中的每一个的冲洗大小SZF。图11示出了在完成针对所述一个冲洗单元FU1的冲洗操作之后,在时间点T21处的冲洗位置FPOS1和在时间点T22处的冲洗位置FPOS2。

可以动态地改变永久性存储器区域PMR,使得从永久性存储器区域PMR排除完成冲洗操作的冲洗单元,并在永久性存储器区域PMR中包括新的冲洗单元。

当冲洗位置到达主机专用存储器区域HDMR的最后地址时,内部传送管理器234可以将冲洗位置返回至主机专用存储器区域HDMR的起始地址。

这样,先前写入主机专用存储器区域HDMR的旧数据可能通过冲洗操作已存储在非易失性第二存储器件MEM2 220中,并且主机专用存储器区域HDMR中的最近数据可以包括在永久性存储器区域PMR中。即使突然中断或阻断向存储设备200提供的电力,参考图8描述的恢复管理器236仍可以使用辅助电力将永久性存储器区域PMR中的数据备份到第二存储器件MEM2 220的冲洗存储器区域FMR中。

因此,存储设备200可以支持虚拟存储器区域VMR的非易失性或永久性,使得即使阻断存储设备200的电力仍可以保持存储在虚拟存储器区域VMR中的所有数据。

图12是示出了根据本发明构思的示例实施例的根据图9的追加写操作的永久性存储器区域的设置的图。

参考图12,存储设备200中的内部传送管理器234可以生成包括多个冲洗单元FU1和FU2与已执行追加写操作的真实地址之间的映射关系在内的冲洗状态表FST。内部传送管理器234可以基于冲洗状态表FST来执行冲洗操作。

在图12中,“FUX”指示冲洗单元FU1和FU2的索引;“ACX”指示写顺序索引;且”ACAD”指示与写顺序索引ACX相对应的真实地址。“EMP”表示相应的真实地址没有被映射到虚拟地址。

在时间点T31处,冲洗状态表FST指示将第一真实地址RA1、第二真实地址RA2和第三真实地址RA3映射到第一冲洗单元FU1。换言之,时间点T31处的冲洗状态表FST指示已经针对第一真实地址RA1和第二真实地址RA2完成了写操作,且正针对第三真实地址RA3执行写操作。

此后,完成针对第三真实地址RA3的写操作并且开始针对第四真实地址RA4的写操作。然后,内部传送管理器234针对映射到第一冲洗单元FU1的第一真实地址RA1、第二真实地址RA2和第三真实地址RA3执行冲洗操作,并删除冲洗单元FU1的映射关系。

这样,时间点T32处的冲洗状态表FST指示正针对第四真实地址RA4执行写操作;时间点T33处的冲洗状态表FST指示已针对第四真实地址RA4和第五真实地址RA5完成写操作且正针对第六真实地址RA6执行写操作;且时间点T34处的冲洗状态表FST指示正针对第七真实地址RA7执行写操作。每当针对冲洗单元FU1和FU2中的每一个完成写操作时,可以针对第一冲洗单元FU1和第二冲洗单元FU2交替地执行冲洗操作。

图13是示出了根据本发明构思的示例实施例的在电子系统中的随机写操作的图,以及图14是示出了根据本发明构思的示例实施例的根据图13的随机写操作的动态映射表的映射关系的图。

参考图13,主机设备100可以执行随机写操作,以将数据存储在虚拟存储器区域VMR中而不管虚拟地址VAD的顺序。在图13中,“ACO”指示写顺序。

图14示出了与图13的随机写操作相对应的动态映射表DMT的映射关系的改变。如图14所示,动态映射表DMT还可以包括写顺序信息ACO,指示已经执行了随机写操作的真实地址的顺序。为了说明和描述方便,图14示出了主机专用存储器区域HDMR对应于八个真实地址RA1~RA8的示例,但是本发明构思不限于此。

在时间点T41,动态映射表DMT指示第三虚拟地址VA3和第七虚拟地址VA7依次映射到第一真实地址RA1和第二真实地址RA2,且虚拟地址还没有映射到第三真实地址至第八真实地址RA3~RA8(EMP)。

在时间点T41之后的时间点T42,动态映射表DMT指示第二虚拟地址VA2和第九虚拟地址VA9被依次映射到第三真实地址RA3和第四真实地址RA4,针对第三虚拟地址VA3执行附加写操作,因此将第一真实地址RA1的写顺序从1改变为5。

在时间点T42之后的时间T43,动态映射表DMT指示第六虚拟地址VA6和第五虚拟地址VA5被依次映射到第五真实地址RA5和第六真实地址RA6,针对第二虚拟地址VA2执行附加写操作,因此将第三真实地址RA3的写顺序从3改变为8。

在时间点T43之后的时间T44,动态映射表DMT指示第一虚拟地址VA1和第四虚拟地址VA4被依次映射到第七真实地址RA7和第八真实地址RA8。

如果针对新的虚拟地址执行写操作且同时将所有的真实地址RA1~RA8映射到相应的虚拟地址,则新的虚拟地址可以映射到与最旧写顺序相对应的真实地址。

例如,在时间点T44之后的时间T45处,动态映射表DMT指示映射到第二真实地址RA2的第四虚拟地址VA7被删除,并且正执行写操作的第八虚拟地址VA8可以被新映射到第二真实地址RA2。

这样,虚拟地址VA1~VAn可以通过使用写顺序信息ACO动态映射到真实地址RA1~RAm(其中n>m)。通过这种动态映射,可以通过使用具有第一大小SZ1的主机专用存储器区域HDMR,来向主机设备100提供具有大于第一大小SZ1的第二大小SZ2的虚拟存储器区域VMR。

图15是示出了根据本发明构思的示例实施例的根据图13的随机写操作的永久性存储器区域的设置的图。

参考图15,存储设备200中的内部传送管理器234可以生成包括多个冲洗单元FUl和FU2与已执行随机写操作的真实地址之间的映射关系在内的冲洗状态表FST。内部传送管理器234可以基于冲洗状态表FST来执行冲洗操作。

在图15中,“FUX”指示冲洗单元FU1和FU2的索引;“ACX”指示写顺序索引;且”ACAD”指示与写顺序索引ACX相对应的真实地址。“EMP”表示相应的真实地址没有被映射到虚拟地址。

在时间点T51处,冲洗状态表FST指示将第一真实地址RA1、第二真实地址RA2和第三真实地址RA3映射到第一冲洗单元FU1。换言之,时间点T51处的冲洗状态表FST指示已经针对第一真实地址RA1和第二真实地址RA2完成了写操作,且正针对第三真实地址RA3执行写操作。

此后,完成针对第三真实地址RA3的写操作并且开始针对第四真实地址RA4的写操作。然后,内部传送管理器234针对映射到第一冲洗单元FU1的第一真实地址RA1、第二真实地址RA2和第三真实地址RA3执行冲洗操作,并删除冲洗单元FUl的映射关系。

这样,时间点T52处的冲洗状态表FST指示已针对第四真实地址RA4和第一真实地址RA1完成写操作且正针对第五真实地址RA5执行写操作;时间点T53处的冲洗状态表FST指示已针对第六真实地址RA6和第三真实地址RA3完成写操作且正针对第七真实地址RA7执行写操作;且时间点T54处的冲洗状态表FST指示已针对第八真实地址RA8完成写操作且正针对第二真实地址RA2执行写操作。每当针对冲洗单元FUl和FU2中的每一个完成写操作时,可以针对第一冲洗单元FUl和第二冲洗单元FU2交替地执行冲洗操作。

图16是示出了根据本发明构思的示例实施例的操作电子系统的方法的流程图。

参考图16,存储设备200可以从主机设备100(S510)接收虚拟地址VAi作为访问地址。虚拟地址VAi可以是针对写操作的写地址或针对读操作的读地址。

存储设备200中的虚拟存储器控制器230可以基于状态映射表DMT确定是否存在映射到虚拟地址VAi的真实地址RAj(S520)。

当在动态映射表DMT中存在映射到虚拟地址VAi的真实地址RAj时(S520:是),虚拟存储器控制器230可以针对真实地址RAj执行访问操作(S560)。当在动态映射表DMT中不存在映射到虚拟地址VAi的真实地址RAj时(S520:否),虚拟存储器控制器230可以根据上述动态设置的映射关系来向虚拟地址VAi分配真实地址RAj(S530)。

存储设备200中的内部传送管理器234可以基于静态映射表SMT的占用状态信息OCS来确定与虚拟地址VAi相对应的占用状态信息OCS的值是第一值OC还是第二值UO(S540)。

当占用状态信息OCS的对应值是第一值OC时(S540:是),内部传送管理器234可以从第二存储器件MEM2 220的冲洗存储器区域FMR向主机专用存储器区域HDMR的真实地址RAj加载被映射到虚拟地址VAi的逻辑块地址的数据(S550),然后虚拟存储器控制器230可以针对真实地址RAj执行访问操作(S560)。因此,可以执行读操作和/或覆写操作,同时保持已存储数据的一致性。

当占用状态信息OCS的对应值不是第一值OC(例如,占用状态信息OCS的对应值是第二值UO)时(S540:否),虚拟存储器控制器230可以针对真实地址RAj(S560)执行访问操作,而不执行加载操作。

这样,当访问虚拟地址VAi时,存储设备200可以基于占用状态信息OCS确定是否执行加载操作以将映射到虚拟地址VAi的逻辑块地址的数据存储到映射到虚拟地址VAi的真实地址RAj。

在完成访问操作之后,存储设备200可以更新与虚拟地址VAi相对应的占用状态信息OCS(S570)。当占用状态信息OCS的对应值是第一值OC时,无论是写操作还是读操作都可以保持第一值OC。当已针对与第二值UO相对应的虚拟地址VAi执行写操作时,针对完成写操作之后的虚拟地址VAi,可以将第二值UO改变为第一值OC。

图17是示出了根据本发明构思的示例实施例的块可访问接口的示例命令的图。

在图17中,“b”表示二进制值,且“h”表示十六进制值。“O”表示“可选的”且“M”表示“必须的”。OPCODE(01:00)的值00b可以表示没有发生在主机设备100和存储设备200之间的数据传送,OPCODE(01:00)的值01b可以表示从主机设备100向存储设备200传送数据,且OPCODE(01:00)的值10b可以表示从存储设备200向主机设备100传送数据。

OPCODE(07)的值0b可以表示如上所述的块访问命令STCMD。与块访问命令STCMD相对应的命令FL、WR、RD、WU、CP、WZ和DM可以是例如以NVMe标准制定的标准命令。

在所示命令中,写零命令WZ可以是用于向写地址写入“0”的命令,例如,用于删除写地址中的数据的命令。通过使用写零命令WZ,主机设备100可以删除在第二存储器件MEM2220中冲洗存储器区域FMR与虚拟存储器区域VMR的虚拟地址相对应的逻辑块地址处的数据。在这种情况下,主机设备100可以将与虚拟地址相对应的占用状态信息OCS的值从第一值OC改变为第二值UO,并向存储设备200通知占用状态信息OCS的改变。

图18是示出了根据本发明构思的示例实施例的在电子系统中的地址映射的图。

参考图18,主机专用存储器区域HDMR可以包括多个子主机专用存储器区域HDMR1和HDMR2,且虚拟存储器区域VMR可以包括分别映射到多个子主机专用存储器区域HDMR1和HDMR2的多个子虚拟存储器区域VMR1和VMR2。为了说明和描述方便,图18示出了主机专用存储器区域HDMR和虚拟存储器区域VMR中的每一个被分为两个子区域的示例,但是本发明构思不限于此。

存储设备200可以唯一地向主机设备100的多个应用APP1和APP2中的每一个提供多个子虚拟存储器区域VMR1和VMR2中的每一个。可以针对应用APP1和APP2中的每一个,分别生成和管理如上所述的静态映射表SMT、动态映射表DMT和冲洗状态表FST。主机设备100可以管理信息,或存储设备200可以通过使用诸如NVMe标准的Namespace的功能来管理信息。此外,存储设备200可以使用存储器保护单元(MPU)来保护每个应用的子虚拟存储器区域,使得一个应用无法侵入另一应用的子虚拟存储器区域。

图19是示出了根据本发明构思的示例实施例的存储设备的框图。

参考图19,存储设备500可以包括掉电保护电路PLP 510、辅助电源设备APWM 520、内部电路INT 530和电力轨400。

掉电保护电路510可以经由第一节点N1接收输入电力Pin。掉电保护电路510可以经由第二节点N2向辅助电源设备520提供充电电力Pch,或从辅助电源设备520接收辅助电力Pcap。掉电保护电路510可以经由第三节点N3向内部电路530提供输入电力Pin和辅助电力Pcap中的至少一个或输入电力Pin和辅助电力Pcap的组合作为内部电力Pint。第三节点N3是电力轨400上的节点,用于向内部电路530供电。

辅助电源设备520可以包括电容器模块或辅助电池。内部电路530可以根据存储设备500的类型而具有各种构造。例如,存储设备500可以是固态驱动器(SSD)、嵌入式多媒体卡(eMMC)、通用闪存(UFS)设备等,且内部电路530可以包括易失型的第一存储器件、非易失型的第二存储器件以及诸如用于控制第一存储器件和第二存储器件的虚拟存储器控制器和块控制器之类的电路。

掉电保护电路510可以生成指示辅助电源设备520的电源容量的状态信号STA,并将状态信号STA提供给存储设备500的内部电路530。状态信号STA可以是指示电源容量的多比特信号。内部电路530可以基于状态信号STA来控制存储设备500的操作。例如,内部电路530可以基于状态信号STA来调整上述冲洗大小SZF。

图20是示出了根据本发明构思的示例实施例的包括在图19的电子设备中的掉电保护(PLP)电路的框图。

参考图20,掉电保护电路510可以包括控制器511、第一监控器512、第二监控器513、充电器514和电力开关515。

控制器511可以控制掉电保护电路510的整体操作。例如,控制器511可以生成如上所述的状态信号STA。

第一监控器512可以监控经过第一节点N1提供的输入电力Pin,以生成第一检测信号DET1。例如,第一监控器512可以基于第一节点N1处的电压来监控输入电力Pin。如果第一节点N1处的电压变得低于参考电平,则第一监控器120可以确定输入电力Pin中已发生中断,并激活第一检测信号DET1以向控制器511通知所述中断。

第二监控器513可以监控辅助电源设备520的状态以生成第二检测信号DET2,并且控制器511可以基于第二监控器513的第二检测信号DET2来生成状态信号STA。例如,第二监控器130可以基于第二节点N2处的电压和/或电流来监控辅助电源设备520的状态。

充电器514可以基于输入电力Pin提供用于对辅助电源设备520充电的充电电力Pch。充电操作的定时可以是由来自控制器511的控制信号控制的。可以周期性地或非周期性地执行充电操作。

电力开关515可以响应于来自控制器511的控制信号,将第一节点N1和/或第二节点N2电连接至第三节点N3。当第一节点N1电连接到第三节点N3时,输入电力Pin可以经由电力轨400作为内部电力Pint被提供给内部电路530。当第二节点N2电连接到第三节点N3时,辅助电力Pcap可以经由电力轨400作为内部电力Pint被提供给内部电路530。

在一些情况下,第一节点N1和第二节点N2可以同时电连接到第三节点N3,因此,输入电力Pin和辅助电力Pcap的总和可以作为内部电力Pint提供给内部电路530。

图21是示出了根据本发明构思的示例实施例的确定电子系统中的冲洗大小的图。

图21的上部部分表示当状态信号STA指示辅助电源设备520的电源容量相对较低时的冲洗操作FOP,且图21的下部部分表示当状态信号STA指示辅助电源设备520的电源容量相对较高时的冲洗操作FOP。如图21所示,可以基于辅助电力Pcap来控制上述冲洗大小SZF(例如,每个冲洗操作的数据量)。

当辅助电力Pcap相对较小时,主机专用存储器区域HDMR中的冲洗单元FU的冲洗大小SZF1可以被设置为相对较小。相反,当辅助电力Pcap相对较高时,主机专用存储器区域HDMR中的冲洗单元FU的冲洗大小SZF2可以被设置为相对较大。

这样,随着辅助电源设备520的辅助电力Pcap或电源容量降低,可以更频繁地执行冲洗操作。尽管在频繁执行冲洗操作的情况下存储设备200的性能可能劣化,但是可以以较低的辅助电力Pcap完成冲洗操作,以确保虚拟存储器区域VMR的非易失性或永久性。

图22是示出了根据本发明构思的示例实施例的电子系统的框图。

参考图22,系统1001包括主机设备2000和存储设备3000。例如,存储设备3000可以是嵌入式多媒体卡(eMMC)、固态驱动器(SSD)等。

主机设备2000可以被配置为控制数据处理操作,诸如,存储设备3000的数据读操作和数据写操作。主机设备2000可以是可以处理数据的数据处理设备,诸如,中央处理单元(CPU)、处理器、微处理器或应用处理器。主机设备2000和存储设备3000可以嵌入或实现在电子设备中。主机设备2000和存储设备3000可以经由总线10彼此相连。

主机设备2000可以包括处理器(CPU)2100、存储器(MEM)2200和主机控制器接口(HCI)2300,其经由总线20彼此相连。操作系统(OS)和/或主机固件(FW)2110可以由处理器2100执行。处理器2100可以包括用于控制以下项的硬件和/或软件:命令的生成、对命令的响应的分析、在存储设备3000中的数据的存储和/或数据处理。处理器2100可以执行OS和主机固件2110以执行这些操作。

主机控制器接口2300可以与存储设备3000交互。例如,主机控制器接口2300被配置为向存储设备3000发出命令、从存储设备3000接收对命令的响应、向存储设备3000发送写数据并从存储设备3000接收读数据。

存储设备3000可以包括多个非易失性存储器件(NVM)3100、存储控制器3200和辅助电源设备APWM 3300。

非易失性存储器件3100可以可选地被供应有外部高压VPP。非易失性存储器件3100可以实现为闪存、铁电随机访问存储器(FRAM)、相变随机访问存储器(PRAM)、磁随机访问存储器(MRAM)等。

存储控制器3200可以通过多个通道CH1到CHi连接到非易失性存储器件3100。存储控制器3200可以包括一个或多个处理器3210、掉电保护电路3220、主机接口电路3230、非易失性存储器件MEM 3240、非易失性存储器接口电路3250、虚拟存储器控制器VMCON 3260和块控制器BLCON 3270。

掉电保护电路3220可以监控辅助电源设备3300的状态,并基于监控结果生成状态信号STA以控制存储设备3000的操作。

处理器3210被配置为控制存储控制器3200的整体操作。例如,处理器3210可以操作包括闪存转换层(FTL)等的固件3212。

主机接口电路3230可以提供与诸如主机设备2000的外部设备的接口。非易失性存储器接口电路3250可以提供与非易失性存储器件3100的接口。

易失性存储器件3240可以对应于上述第一存储器件MEM1 210且非易失性存储器件3100可以对应于上述第二存储器件MEM2 220。

虚拟存储器控制器3260和块控制器3270可以基本与上述内容相同,因此将省略重复描述。

图23是示出了根据本发明构思的示例实施例的移动设备的框图。

参考图23,移动设备4000可以包括至少一个应用处理器4100、通信模块4200、显示/触摸模块4300、存储设备4400和缓冲器RAM 4500。

应用处理器4100控制移动设备4000的操作。应用处理器4100可以执行至少一个应用以提供互联网浏览、游戏、视频等。通信模块4200被实现用于执行与外部设备的无线或有线通信。显示/触摸模块4300被实现用于显示由应用处理器4100处理的数据和/或通过触摸面板接收数据。存储设备4400被实现用于存储用户数据。

存储设备4400可以是嵌入式多媒体卡(eMMC)、固态驱动器(SSD)、通用闪存(UFS)设备等。存储设备4400可以根据本发明构思的示例实施例如上所述地向应用处理器4100提供虚拟存储器区域VMR。

缓冲器RAM 4500临时存储用于处理移动设备4000的操作的数据。例如,缓冲器RAM4500可以是双倍数据速率同步动态随机访问存储器(DDR SDRAM)、低功率DDR SDRAM(LPDDRSDRAM)、图形DDR SDRAM(GDDR SDRAM)、Rambus DRAM(RDRAM)等。

如上所述,根据本发明构思的示例实施例的存储设备、电子系统和方法可以通过动态地改变主机专用存储器区域和虚拟存储器区域之间的映射关系,来提供比与真实存储器资源相对应的主机专用存储器区域更大的虚拟存储器区域,以减小存储设备和电子系统的大小并增强其性能。此外,根据本发明构思的示例实施例的存储设备、电子系统和方法可以通过冲洗操作来支持虚拟存储器区域的非易失性,并有效地支持在主机设备和存储设备之间进行以字节为单位的访问和以块为单位的访问,从而增强存储设备和电子系统的性能。

本发明构思可以应用于任何电子设备和系统。例如,本发明构思可以应用于各种系统,诸如,存储卡、固态驱动器(SSD)、嵌入式多媒体卡(eMMC)、移动电话、智能电话、个人数字助手(PDA)、便携式多媒体播放器(PMP)、数字相机、录像机、个人计算机(PC)、伺服计算机、工作站、膝上型计算机、数字TV、机顶盒、便携式游戏机、导航系统、可穿戴设备、物联网(IoT)设备、万物网(IoE)设备、电子书、虚拟现实(VR)设备、增强现实(AR)设备等。

尽管已经参考本发明构思的示例实施例示出和描述了本发明构思,但本领域技术人员应清楚的是在不脱离所附权利要求所阐述的本发明构思的精神和范围的情况下,可以对其进行形式和细节上的许多改变。

35页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:数据存储装置及数据存储装置的操作方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类