用于存储模块碎片整理的存储模块和主机装置制造方法及图纸

技术编号:13628665 阅读:189 留言:0更新日期:2016-09-02 06:02
公开了一种用于存储模块碎片整理的存储模块和主机装置。在一个实施例中,主机控制器向存储模块发送存储在该存储模块中的文件的第一组逻辑块地址。该主机控制器从该存储模块接收度量,该度量指示该存储模块中的存储器的物理块中该文件的碎片水平。如果该度量大于阈值,该主机控制器读取该文件,然后使用不同组的逻辑块地址将其写回到该存储模块。为了避免往返发送该文件,在另一个实施例中,该主机控制器将该碎片阈值和该不同组的逻辑块地址发送到该存储模块。然后,如果指示该碎片水平的度量大于该阈值,该存储模块移动该文件本身。提供其它实施例。

【技术实现步骤摘要】
【国外来华专利技术】相关申请的交叉引用本申请要求于2014年2月5日提交的美国临时专利申请No.61/936,170的权益,其通过引用结合于此。
技术介绍
由于主机碎片(fragmentation)或存储模块碎片而导致的文件的碎片可以降低系统性能。通过主机碎片,文件被分散在存储模块的很多不连续的逻辑块地址(LBA)范围中。因此,用于存储文件的LBA范围越多,文件变得更加分散。此外,在一些文件系统中,诸如EXT4,文件分配表(FAT)与存储数据进行混合。在这样的系统中读取碎片文件需要更多的操作,因为该文件的结构更复杂。这可能降低读取性能。通过存储模块碎片,文件分散在存储器中的很多物理块中。为相同文件的分配的物理块越多,文件越分散。因为碎片文件通常不会占用整个物理块,存储碎片文件的部分的物理块将通常存储其它文件的数据。所以,当主机删除在若干物理块上分散的文件时,这可能会导致比预期更少的空闲块,因为块仍然为其它文件保持数据。因为这样的文件删除在以其它方式占用的(otherwise-occupied)物理块中会留下空闲空间的“孔(hole)”,因此存储模块将需要进行若干“整理(housekeeping)”操作以创造空闲块,这会降低系统性能。另外,在一些环境中,诸如在移动计算系统中,当文件被存储模块分散时,主机不知道该文件是如何分散的,所以其不知道需要采取何种行动以试图对文件进行碎片整理。此外,虽然主机知道主机碎片问题,并可以尝试通过将分散的文件移动到连续的LBA范围以解决主机碎片问题,但是这样的移动实际上可以降低性能,因为存储碎片问题。
技术实现思路
本专利技术的实施例由权利要求限定,并且在本部分中没有应被视为对那
些权利要求的限制。通过简介的方式,各个实施例涉及用于存储模块碎片整理的存储模块和主机装置。在一个实施例中,主机控制器向存储模块发送存储在该存储模块中的文件的第一组逻辑块地址。该主机控制器从该存储模块接收度量,该度量指示该存储模块中的存储器的物理块中该文件的碎片水平。如果该度量大于阈值,该主机控制器读取该文件,然后使用不同组的逻辑块地址将其写回到该存储模块。为了避免往返发送该文件,在另一个实施例中,该主机控制器将该碎片阈值和该不同组的逻辑块地址发送到该存储模块。然后,如果指示该碎片水平的度量大于该阈值,该存储模块移动该文件本身。为了在多个文件上进行该实施例,该主机控制器可以以逐个文件为基础将关于文件的信息发送到该存储模块,或者可以将信息作为组发送到该存储模块。在另一个实施例中,主机控制器将存储在该存储模块中的一组逻辑块地址发送到该存储模块,并且将度量发送到该主机控制器,该度量指示该存储模块中的存储器的物理块中该文件的碎片水平的水平。在又一个实施例中,主机控制器读取存储在存储模块中的文件,并且根据具体的写入模式将其写回到该存储模块。其它实施例是可能的,并且每个实施例可以单独使用或组合在一起使用。相应地,现在将参照附图描述各个实施例。附图说明图1是实施例的示例性存储模块的框图。图2A是实施例的主机的框图,其中图1的示例性存储模块被嵌入在主机中。图2B是可移除地连接到主机的图1的示例性存储模块的框图,其中该存储模块和主机是可分离的、可移动的装置。图3A和3B示出了实施例的存储模块碎片问题。图4是用于为主机提供关于存储模块碎片的信息和用于减少文件的碎片的实施例的流程图。图5是用于减少文件的碎片而不在存储模块和主机之间传输文件的实施例的方法的流程图。图6是用于减少文件的碎片而不在存储模块和主机之间传输文件的
实施例的另一个方法的流程图。图7是总结各个实施例的图表。图8是可以与遵循NVMe协议的存储模块一起使用的碎片整理技术的实施例的方法的流程图。图9是用于在多个队列环境中写入文件的实施例的示图。图10是当使用碎片整理技术时、用于在多个队列环境中写入文件的实施例的示图。具体实施方式如上述提到的,主机通常不知道文件在存储模块中的存储器的物理块中是如何分散的,所以其不知道需要采取何种行动以试图对文件进行碎片整理。以下实施例可以用于通过为主机给出存储模块碎片的理解,并为主机提供一组工具以处理具有涉及的各个水平的存储装置碎片来解决上述讨论的存储模块碎片问题。在转向这些和其它实施例之前,下面的段落提供了可以与这些实施例一起使用的示例性存储模块和主机的讨论。当然,这些只是示例,并且可以使用其它合适类型的存储器模块。如图1所示,一个实施例的存储模块100包括存储控制器110和非易失性存储器120(这里,一个或多个NAND存储器裸芯,但是可以使用其它类型的存储器技术)。存储控制器110包括用于与非易失性存储器120接口的存储器接口111(闪速接口模块)和用于将存储模块100可操作地与主机控制器245进行通信的主机接口模块112。如这里所使用的,可操作地通信的意思是可以通过一个或多个组件以有线或无线方式直接通信或间接通信,其在这里可以被示出或描述,或者可以不被示出或描述。图1还示出了存储模块100,该存储模块100使用存储协议(诸如,例如,eMMC、UFS、PCI Express、DDR-3/4或SATA)经由存储装置接口与主机240进行通信。主机240包括应用250、文件系统260、驱动器270和存储器(例如,RAM)280,但是可以使用其它或不同的组件。此外,如上述提到的,主机240包含主机控制器245,应该理解的是,由主机关于存储模块100所采取的行动可以使用主机控制器245来进行。可以使用不同的存储模块-主机配置,如图2A和图2B所示。如图2A所示,存储模块100可以嵌入在具有主机控制器220的主机
210中。即,主机210包含主机控制器220和存储模块100,使得主机控制器220与嵌入式存储模块100接口以管理其操作。(应当指出的是,虽然主机控制器220可以控制存储模块100,但是存储模块100可以具有其自己的控制器,以控制其内部存储器操作)。例如,存储模块100可以采取SanDisk公司的iNANDTMeSD/eMMC嵌入式闪速驱动器的形式,或者,更一般地,固态驱动器(SSD)、混合型存储装置(具有硬盘驱动器和固态驱动器两者)和存储器缓存系统的任何类型。主机控制器220可以使用,例如,eMMC主机接口或UFS接口与嵌入式存储模块100接口。主机210可以采取任何形式,诸如,但不限于,移动电话、平板计算机、数字媒体播放器、游戏装置、个人数字助理(PDA)、移动(例如,笔记本电脑、膝上型电脑)个人计算机(PC)或书阅读器。如图2A所示,主机210可以包括可选的其它功能模块230。例如,如果主机210是移动电话,其它功能模块230可包括硬件和/或软件组件以打电话和处理电话。作为另一个示例,如果主机210具有网络连接功能,其它功能模块230可以包括网络接口。当然,这些只是一些示例,并且可以使用其它实现方式。另外,主机210可以包括其它组件(例如,音频输出、输入-输出端口等),该其它组件未在图2A中示出以简化附图。如图2B所示,代替成为主机中的嵌入式装置,存储模块100可以具有允许存储模块100经由配对连接器被可移除地连接到主机240(具有主控制器245)的物理和电气连接器。这样,存储模块100是与主机240本文档来自技高网
...

【技术保护点】
一种存储模块,所述存储模块包括:存储器;和存储控制器,所述存储控制器与所述存储器可操作地通信,其中所述存储控制器配置为:从主机控制器接收存储在所述存储器中的文件的一组逻辑块地址;生成度量,所述度量指示所述存储模块中的所述存储器的物理块中所述文件的碎片水平的水平;以及发送所述度量到所述主机控制器。

【技术特征摘要】
【国外来华专利技术】2014.02.05 US 61/936,170;2014.04.09 US 14/249,0491.一种存储模块,所述存储模块包括:存储器;和存储控制器,所述存储控制器与所述存储器可操作地通信,其中所述存储控制器配置为:从主机控制器接收存储在所述存储器中的文件的一组逻辑块地址;生成度量,所述度量指示所述存储模块中的所述存储器的物理块中所述文件的碎片水平的水平;以及发送所述度量到所述主机控制器。2.如权利要求1所述的存储模块,其中所述度量包括所述存储模块中包含所述文件的物理块的数量。3.如权利要求1所述的存储模块,其中所述度量包括热/冷指示。4.如权利要求1所述的存储模块,其中所述度量包括映射效率指示。5.如权利要求1所述的存储模块,其中所述存储控制器进一步配置为:接收多个非连续的逻辑块地址范围是所述文件的部分的指示。6.如权利要求5所述的存储模块,其中多个非连续的逻辑块地址范围是所述文件的部分的所述指示包括数据集管理命令。7.如权利要求5所述的存储模块,其中多个非连续的逻辑块地址范围是所述文件的部分的所述指示包括整数读取标记。8.如权利要求1所述的存储模块,其中所述存储模块的所述存储器是三维存储器。9.如权利要求1所述的存储模块,其中所述存储模块嵌入在包含所述主机控制器的主机中。10.如权利要求1所述的存储模块,其中所述存储模块可移动地连接到包含所述主机控制器的主机。11.如权利要求1所述的存储模块,其中所述存储模块是固态驱动器。12.一种用于存储模块碎片整理的方法,所述方法包括:在与主机控制器可操作地通信的存储模块中进行以下步骤:从所述主机控制器接收存储在所述存储模块中的文件的一组逻
\t辑块地址;生成度量,所述度量指示所述存储模块中的存储器的物理块中所述文件的碎片水平的水平;以及发送所述度量到所述主机控制器。13.如权利要求12所述的方法,其中所述度量包括所述存储模块中包含所述文件的物理块的数量。14.如权利要求12所述的方法,其中所述度量包括热/冷指示。15.如权利要求12所述的方法,其中所述度量包括映射效率指示。16.如权利要求12所述的方法,还包括:接收多个非连续的逻辑块地址范围是所述文件的部分的指示。17.如权利要求16所述的方法,其中多个非连续的逻辑块地址范围是所述文件的部分的所述指示包括数据集管理命令。18.如权利要求16所述的方法,其中多个非连续的逻辑块地址范围是所述文件的部分的所述指示包括整数读取标记。19.如权利要求17所述的方法,其中所述存储模块的所述存储器是三维存储器。20.如权利要求17所述的方法,其中所述存储模块嵌入在包含所述主机控制器的主机中。21.如权利要求17所述的方法,其中所述存储模块可移动地连接到包含所述主机控制器的主机。22.如权利要求17所述的方法,其中所述存储模块是固态驱动器。23.一种主机装置,包括:接口,通过所述接口可操作地与存储模块通信;以及控制器,所述控制器与所述接口可操作地通信,其中所述控制器配置为:向所述存储模块发送存储在所述存储...

【专利技术属性】
技术研发人员:Y杜兹利H奥谢斯基S巴奥尔JG哈恩
申请(专利权)人:桑迪士克科技有限责任公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1