本发明专利技术涉及一种具有主机接口、控制器、非易失性存储媒体及固件的计算机存储装置。所述固件指示所述控制器进行以下操作:分配所述非易失性存储装置的经命名部分;根据第一块大小产生第一逐块映射数据;使用所述第一逐块映射数据将在所述经命名部分中定义的逻辑地址转换成针对所述整个非易失性存储媒体定义的逻辑地址,接着可针对所有经命名部分以同一方式将所述逻辑地址进一步转换成物理地址;确定第二块大小;根据所述第二块大小产生第二逐块映射数据;使用所述第二逐块映射数据将在所述命名部分中定义的所述逻辑地址转换成针对所述整个非易失性存储媒体定义的所述逻辑地址。
【技术实现步骤摘要】
【国外来华专利技术】非易失性存储器装置中的命名空间映射结构调整相关申请案本申请案主张2017年11月16日提出申请且标题为“非易失性存储器装置中的命名空间映射结构调整(NAMESPACEMAPPINGSTRUCTURALADJUSTMENTINNON-VOLATILEMEMORYDEVICES)”的美国专利申请案第15/814,934号的申请日期的权益,所述申请案的整个揭示内容据此以引用的方式并入本文中。
本文中所揭示的至少一些实施例一般来说涉及计算机存储装置,且特定来说(但不限于)涉及非易失性存储装置中的命名空间映射的结构调整。
技术介绍
典型计算机存储装置(例如硬盘驱动器(HDD)、固态驱动器(SSD)及混合驱动器)具有控制器,所述控制器从主机计算机接收数据存取请求且执行经编程计算任务来以可为配置于存储装置中的媒体及结构(例如硬盘驱动器中涂覆有磁性材料的刚性旋转磁盘、固态驱动器中具有存储器单元的集成电路以及混合驱动器中的此两者)特有的方式实施请求。标准化逻辑装置接口协议允许主机计算机以独立于计算机存储装置的特定媒体实施方案的方式对所述存储装置进行寻址。举例来说,非易失性存储器主机控制器接口规范(NVMHCI),还称作高速NVM(NVMExpress)(NVMe),指定用于经由高速外围组件互连(高速PCI或PCIe)总线而存取非易失性存储装置的逻辑装置接口协议。附图说明在附图的各图中以实例而非限制方式图解说明各实施例,其中相似参考符号指示类似元件。图1展示其中可实施本文中所揭示的专利技术实施例的计算机系统。图2图解说明直接根据多个命名空间的所请求大小而分配所述命名空间的实例。图3图解说明经由映射逻辑地址块而分配命名空间的实例。图4图解说明用于命名空间映射的数据结构的实例。图5展示用以转换非易失性存储器装置中的地址以支持命名空间管理的系统。图6展示用以基于逻辑地址块而管理命名空间的方法。图7展示其中命名空间未与块边界对准且可使用图8到10的技术来实施的实例性图式。图8图解说明用以实施未与块边界对准的命名空间的命名空间映图的实例性框图。图9图解说明可用于实施图8的命名空间映图的实例性部分块识别符。图10图解说明用以使用图8的技术来管理可用于命名空间分配的空闲块池的实例性数据结构。图11图解说明使用部分块来分配命名空间的实例。图12展示根据一个实施例的用以在存储装置上分配命名空间的方法。图13到16图解说明通过命名空间映射而调整命名空间的大小的实例。图17图解说明命名空间的重新映射。图18及19图解说明经由命名空间映射而对命名空间进行精简配备(thinprovisioning)。图20展示用以经由调整命名空间映图而调整命名空间的方法。图21图解说明用以移除经映射逻辑地址中的间隙的命名空间映图调整。图22图解说明用以减少命名空间的部分块数目的命名空间映图调整。图23图解说明用以减少命名空间的经映射地址中的间隙且合并连续区域中的可用空闲块的命名空间映图调整。图24图解说明用以改进在分配于存储装置上的命名空间中定义的逻辑地址与在存储装置的整个容量上定义的经映射逻辑地址之间的连续及顺序映射的命名空间映图调整。图25展示根据一个实施例的用以调整从逻辑地址到物理地址的转换的方法。图26图解说明针对命名空间映射的块大小改变。图27到30图解说明在实施块大小改变时的命名空间映射调整。图31展示用以针对命名空间映射而调整块大小的方法。具体实施方式本文中所揭示的至少一些实施例提供用以实施存储装置中的逻辑存储分配及管理的高效且灵活方式。可将存储装置的物理存储器元件布置为经由逻辑块寻址(LBA)而被寻址的逻辑存储器块。逻辑存储器块为最小LBA可寻址存储器单元;且每一LBA地址识别单个逻辑存储器块,所述单个逻辑存储器块可被映射到存储装置中的存储器单元的特定物理地址。存储装置的命名空间的概念类似于硬盘驱动器中用于创建逻辑存储的分割区的概念。存储装置的不同部分可被分配到不同命名空间且因此可具有在其相应命名空间内彼此独立配置的LBA地址。每一命名空间识别存储装置的可经由LBA寻址的一定数量的存储器。可在不同命名空间中使用相同LBA地址来识别存储装置的不同部分中的不同存储器单元。举例来说,分配于存储装置的具有n个存储器单元的第一部分上的第一命名空间可具有介于从0到n-1的范围内的LBA地址;且分配于存储装置的具有m个存储器单元的第二部分上的第二命名空间可具有介于从0到m-1的范围内的LBA地址。存储装置的主机计算机可向存储装置发送对于创建、删除或保留命名空间的请求。在将存储装置的存储容量的部分分配到命名空间之后,相应命名空间中的LBA地址在逻辑上表示存储媒体中的特定存储器单元,但在逻辑上由命名空间中的LBA地址表示的特定存储器单元可在不同时间实例处在物理上对应于不同存储器单元(例如,如在SSD中)。在高效地实施将定义于多个命名空间中的LBA地址映射到存储装置中的物理存储器元件中时以及在高效地使用存储装置的存储容量时、尤其是当期望在存储装置上动态地分配、删除及进一步分配具有不同且变化的大小的多个命名空间时存在挑战。举例来说,存储容量的被分配到经删除命名空间的部分可不足以适应具有比经删除命名空间大的大小的后续命名空间的分配;且分配及删除的重复循环可导致存储容量的碎片化,此可导致LBA地址到物理地址的低效映射及/或对存储装置的经碎片化存储容量的低效使用。本文中所揭示的本专利技术的至少一些实施例通过从定义于经分配命名空间中的LBA地址到定义于存储装置的整个存储容量上的LBA地址的逐块映射而解决所述挑战。在将定义于经分配命名空间中的LBA地址映射到定义于存储装置的整个存储容量上的LBA地址中之后,可以独立于所述装置上的命名空间分配的方式将定义于存储装置的整个存储容量上的对应LBA地址进一步映射到物理存储元件。当LBA地址的逐块映射是基于预定大小的块大小时,可使用高效数据结构来依据定义于经分配命名空间中的LBA地址高效计算定义于存储装置的整个存储容量上的LBA地址。举例来说,可根据预定块大小将存储装置的整个存储容量划分成若干LBA地址块以实现命名空间管理的灵活性及效率。所述块大小表示块中的LBA地址的数目。具有预定块大小的块可在下文中称为L块、完整L块、完整LBA块、LBA块或者有时简单地称为完整块或块。从定义于经分配命名空间中的LBA地址到定义于存储装置的整个存储容量上的LBA地址的逐块命名空间映射允许将定义于整个存储装置上的非连续LBA地址分配到命名空间,此可减少由命名空间分配及删除的循环所导致的存储容量碎片化且改进存储容量的使用的效率。优选地,L块的块大小为预定的且为二(2)的幂,以简化在针对L块的地址映射中所涉及的计算。在其它实例中,可通过从存储装置及/或其它类似使用的存储装置中的命名空间使本文档来自技高网...
【技术保护点】
1.一种计算机存储装置,其包括:/n主机接口;/n控制器;/n非易失性存储媒体;及/n固件,其含有指令,所述指令在由所述控制器执行时指示所述控制器至少进行以下操作:/n产生第一命名空间映图,所述第一命名空间映图根据第一块大小将在命名空间中定义的第一逻辑地址的块映射到针对所述非易失性存储媒体的整个容量定义的第二逻辑地址的第一块;/n使用所述第一命名空间映图将在所述命名空间中定义的所述第一逻辑地址转换成所述非易失性存储媒体的物理地址;/n确定第二块大小;/n产生第二命名空间映图,所述第二命名空间映图根据所述第二块大小将在所述命名空间中定义的所述第一逻辑地址的块映射到针对所述非易失性存储媒体的所述整个容量定义的所述第二逻辑地址的第二块;及/n使用所述第二命名空间映图将在所述命名空间中定义的所述第一逻辑地址转换成所述非易失性存储媒体的所述物理地址。/n
【技术特征摘要】
【国外来华专利技术】20171116 US 15/814,9341.一种计算机存储装置,其包括:
主机接口;
控制器;
非易失性存储媒体;及
固件,其含有指令,所述指令在由所述控制器执行时指示所述控制器至少进行以下操作:
产生第一命名空间映图,所述第一命名空间映图根据第一块大小将在命名空间中定义的第一逻辑地址的块映射到针对所述非易失性存储媒体的整个容量定义的第二逻辑地址的第一块;
使用所述第一命名空间映图将在所述命名空间中定义的所述第一逻辑地址转换成所述非易失性存储媒体的物理地址;
确定第二块大小;
产生第二命名空间映图,所述第二命名空间映图根据所述第二块大小将在所述命名空间中定义的所述第一逻辑地址的块映射到针对所述非易失性存储媒体的所述整个容量定义的所述第二逻辑地址的第二块;及
使用所述第二命名空间映图将在所述命名空间中定义的所述第一逻辑地址转换成所述非易失性存储媒体的所述物理地址。
2.根据权利要求1所述的计算机存储装置,其中所述第一块具有大小不同于所述第一块大小的不多于一个块。
3.根据权利要求2所述的计算机存储装置,其中所述第二块具有大小不同于所述第二块大小的不多于一个块。
4.根据权利要求3所述的计算机存储装置,其中所述第二块大小是所述第一块大小的倍数。
5.根据权利要求3所述的计算机存储装置,其中所述第一块大小是所述第二块大小的倍数。
6.根据权利要求3所述的计算机存储装置,其中所述第一块大小是二的幂,且所述第二块大小是二的幂。
7.根据权利要求3所述的计算机存储装置,其中所述指令经配置以进一步指示所述控制器进行以下操作:
在产生所述第二命名空间映图之前,调整所述第一命名空间映图,使得所述第二命名空间映图被产生为具有大小不同于所述第二块大小的不多于一个块。
8.根据权利要求7所述的计算机存储装置,其中在后台过程中调整所述第一命名空间映图。
9.根据权利要求2所述的计算机存储装置,其中所述第二块具有大小不同于所述第二块大小的多于一个块;且所述指令经配置以进一步指示所述控制器进行以下操作:
调整所述第二命名空间映图,使得所述第二命名空间映图具有大小不同于所述第二块大小的不多于一个块。
10.根据权利要求9所述的计算机存储装置,其中在后台过程中调整所述第二命名空间映图。
11.根据权利要求1所述的计算机存储装置,其中通过以下操作将在所述命名空间中定义的所述第一逻辑地址转换成所述非易失性存储媒体的所述物理地址:
将所述第一逻辑地址转换成所述第一块中的对应逻辑地址;及
独立于命名空间而将所述对应逻辑地址转换成所述物理地址。
<...
【专利技术属性】
技术研发人员:A·弗罗利科夫,
申请(专利权)人:美光科技公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。