用于数据存储系统的垃圾收集和数据重定位技术方案

技术编号:13703472 阅读:121 留言:0更新日期:2016-09-11 23:19
在包括至少一个数据存储设备(DSD)和主机的数据存储系统中管理数据。基于由主机定义的至少一个属性,确定将存储于至少一个DSD中的数据的初始位置。基于由所述主机定义的至少一个属性,从至少一个DSD中的多个来源部分识别用于垃圾收集操作的来源部分。基于由所述主机定义的至少一个属性,识别至少一个DSD中的用于存储由垃圾收集操作获得的数据的目的地部分。执行将在所述来源部分中的数据向所述目的地部分的垃圾收集;并且在完成垃圾收集之后,将来源部分指定为用于新的垃圾收集操作的新的目的地部分。

【技术实现步骤摘要】
【国外来华专利技术】
技术介绍
数据存储设备(DSD)通常与数据存储系统中的主机一起使用来在记录介质上记录数据或从记录介质复制数据。作为一种DSD,磁盘驱动器可以包括旋转磁盘和在磁盘上开动的磁头以磁性地将数据写入到磁盘或从磁盘读取数据。这种磁盘包括用于记录数据的多个径向间隔的同心轨道。已经引入了叠瓦式磁记录(SMR)作为通过增加每英寸轨道(TPI)数量而增加可以存储于磁盘上的给定区域中的数据量的方式。SMR通过使用相对宽的叠瓦式写入磁头来如屋顶叠瓦那样重叠轨道而增加了TPI。非重叠的部分然后用作可以由较窄读取磁头读取的窄轨道。虽然对于SMR较大数量的TPI通常是可能的,但是当写输入时轨道的重叠可能会引起问题,这是因为对先前重叠的轨道的新写入会影响在重叠轨道中写入的数据。为此,对轨道进行顺序写入以避免影响先前写入的数据。针对SMR介质管理顺序写入的数据通常包括DSD使用间接系统来在不同的寻址方案之间进行转换以确保数据被顺序写入。当针对特定的逻辑块地址(LBS)修改数据时,间接系统允许DSD将修改后的数据顺序写入到新的位置,并将数据的LBS重新映射到新的位置。在先前位置的老版本数据将变成过时的或无效的数据。为了释放磁盘上的空间,可以执行垃圾收集(GC)过程以使得磁盘中存储无效或过时数据的部分可用于存储有效数据。这可以在GC过程期间通过对来自磁盘上特定区域的有效数据重定位并使得无效数据被覆写而完成。使用间接的其它类型的存储介质(例如固态存储器)也可以使用GC来释放存储器中存储无效数据的部分。附图说明根据以下结合附图阐述的详细描述,本公开的实施例的特征和优点将
变得更清晰。提供附图和相关联的描述以说明本公开的实施例,且不限制所要求保护的范围。图1是根据实施例描绘数据存储系统的框图。图2是根据实施例的包括图1的数据存储设备(DSD)的框图。图3A是根据实施例的用于垃圾收集(GC)过程的流程图。图3B是根据实施例的在数据重定位期间用于数据一致性过程的流程图。图4是根据实施例的实现环境。图5是根据实施例的另一实现环境。图6A是根据实施例的用于GC过程的流程图。图6B是根据实施例的在数据重定位期间用于数据一致性过程的流程图。图7是根据实施例示出将各区分配给不同逻辑卷以及将区分配作为目的地部分的概念图。图8是根据实施例示出将多个区分配给逻辑卷以及将区分配作为目的地部分的概念图。具体实施方式在后续详细描述中,阐述了多个具体细节以提供对本公开的全面理解。然而,可以理解的是,对于本领域普通技术人员而言,可以在不具有一些这种具体细节的情况下实践所公开的各个实施例。在其它实例中,未详细示出公知的结构和技术,以避免不必要地模糊各个实施例。系统概述图1示出了根据实施例的数据存储系统100,其包括主机101和数据存储设备(DSD)107、108和109。系统100例如可以包括计算机系统(例如,服务器、台式计算机、云存储设备、数据归档系统等)或其它电子设备(例如,数字录像机)。就此,系统100可以是独立系统或网络(例如,网络122)的一部分。本领域的普通技术人员将理解系统100和DSD 106可以包括比图1所示的那些部件更多或更少的部件,并且可以在其它环境
中实现所公开的过程。在图1的示例性实施例中,DSD 106、107、108和109可以位于同一位置或可以分离在不同位置。如图1所示,DSD 106是主机101的一部分,并存储用于在主机101上执行的应用,而DSD 107、108和109主要存储主机101的用户数据。输入设备102可以是键盘、滚动轮或定位设备,其允许系统100的用户向系统100输入信息和命令,或者允许用户操纵在显示器设备104上显示的对象。在其它实施例中,输入设备102和显示器设备104可以组合成单个部件,例如显示对象并接收用户输入的触摸屏。在图1的实施例中,主机101包括中央处理单元(CPU)110,可以使用用于执行指令的一个或多个处理器实现所述CPU 110,所述一个或多个处理器包括微控制器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、硬连线逻辑、模拟电路和/或其组合。如下文所提及的主机101的处理器可以是上述处理器中的一个或多个、或者是被配置为执行本文描述的功能的其它处理器。CPU 110与主机总线113以接口连接。与主机总线113以接口连接的还有随机存取存储器(RAM)112、用于输入设备102的输入接口114、用于显示设备104的显示接口116、只读存储器(ROM)118、以及用于与网络122以接口连接的网络接口120。RAM 112是主机101的易失性存储器,其与主机总线113以接口连接以在执行软件程序(例如,设备驱动器14或操作系统(OS)20)中的指令期间向CPU 110提供存储于RAM 112中的信息。更具体地,CPU 110首先将来自DSD 106的计算机可执行指令加载到RAM 112的区域中。CPU 110然后可以执行来自RAM 112的所存储的过程指令。数据(诸如将存储于DSD 106、107、108或109中的数据,或从DSD 106、107、108和109取回的数据)也可以存储于RAM 112中,使得在执行软件程序期间如果这种软件程序需要访问和/或修改该数据的话,可以通过CPU 110访问该数据。如图1所示,DSD 106可以配置为存储以下各项中的一个或多个:垃圾收集(GC)管理器10、应用12、设备驱动器14、文件系统16、转换模块18、OS 20和映射表28。GC管理器10包括用于DSD 106、107、108和109的计算机可执行指令,用于执行如下文更详细讨论的垃圾收集过程。在其它实施例中,GC管理器10、应用12、设备驱动器14、文件系统16、转换模块18、OS 20或映射表28中的任一个或多个可以驻留在DSD 106、107、108或109中。在一个这种例子中,GC管理器10可以驻留在DSD 106、107、108和109中的每个处,以便遍及系统100分布执行GC管理器10。应用12例如可以包括主机101可以执行例如数据归档程序或多媒体程序的程序,其可以请求或修改存储于DSD 107、108或109中的用户数据。设备驱动器14在主机101上提供用于设备的软件接口,所述设备例如是输入设备102、显示器设备104或DSD 106、107、108和109。另外,DSD 106可以存储操作系统(OS)20,其包括内核22、文件系统(FS)拦截24以及存储栈26。DSD 106的内容可以加载到主机101的常驻存储器(例如,RAM 112),用于在操作主机101期间执行和/或状态跟踪。文件系统(FS)16可以是在具有转换模块18的主机101的用户空间中实现的文件系统,以与FS拦截24以接口连接,如下文参考图5的示例性实现环境更详细讨论的。DSD 106还可以存储映射表28,其可以用于在主机101所使用的逻辑地址(例如,逻辑块地址)之间进行转换或映射,以指代数据和对应的指示在DSD 106、107、108或109中的数据位置的物理地址(例如,物理块地址)。如下文参考图2更详细讨论的,映射表28可以用作用于叠瓦式磁记录(SMR)介质或固态介质本文档来自技高网
...

【技术保护点】
一种用于在包括至少一个数据存储设备(DSD)和主机的数据存储系统中管理数据的方法,所述方法包括:基于由所述主机定义的至少一个属性,确定将存储于所述至少一个DSD中的数据的初始位置;基于由所述主机定义的所述至少一个属性,从所述至少一个DSD中的多个来源部分识别用于垃圾收集操作的来源部分;基于由所述主机定义的所述至少一个属性,识别所述至少一个DSD中的用于存储由垃圾收集操作获得的数据的目的地部分;执行将在所述来源部分中的数据向所述目的地部分的垃圾收集;以及在完成垃圾收集之后,将所述来源部分指定为用于新的垃圾收集操作的新的目的地部分。

【技术特征摘要】
【国外来华专利技术】2014.01.27 US 61/932,113;2014.11.11 US 14/538,5131.一种用于在包括至少一个数据存储设备(DSD)和主机的数据存储系统中管理数据的方法,所述方法包括:基于由所述主机定义的至少一个属性,确定将存储于所述至少一个DSD中的数据的初始位置;基于由所述主机定义的所述至少一个属性,从所述至少一个DSD中的多个来源部分识别用于垃圾收集操作的来源部分;基于由所述主机定义的所述至少一个属性,识别所述至少一个DSD中的用于存储由垃圾收集操作获得的数据的目的地部分;执行将在所述来源部分中的数据向所述目的地部分的垃圾收集;以及在完成垃圾收集之后,将所述来源部分指定为用于新的垃圾收集操作的新的目的地部分。2.根据权利要求1所述的方法,还包括:在所述垃圾收集期间识别在所述来源部分中的有效数据;以及根据所述至少一个属性,在所述目的地部分中组织所述有效数据。3.根据权利要求1所述的方法,还包括:基于所述至少一个属性,在所述垃圾收集期间识别在所述来源部分中的有效数据,从而将所述有效数据与在所述目的地部分中具有所述至少一个属性的其它数据分组到一起。4.根据权利要求1所述的方法,其中,所述至少一个属性包括以下各项中的至少一项:所述数据的到期日期、对所述数据的访问频率、所述数据的所有权、或所述数据的碎片化级别。5.根据权利要求1所述的方法,其中,所述至少一个属性包括:所述来源部分或所述目的地部分的可靠性条件、所述来源部分或所述目的地部分的环境条件、所述来源部分或所述目的地部分的损耗级别、所述来源部分或所述目的地部分的可用数据容量、所述来源部分或所述目的地部分距
\t所述数据的先前用户的距离、所述来源部分和所述目的地部分之间的可用的网络带宽、所述来源部分或所述目的地部分的可用性、或者操作所述来源部分或所述目的地部分的能量成本。6.根据权利要求5所述的方法,其中,所述来源部分或所述目的地部分的所述环境条件包括:温度条件或振动条件。7.根据权利要求5所述的方法,其中,所述来源部分或所述目的地部分的可靠性条件包括:用于写入数据的磁头的状态或者当写入数据时遇到的错误级别。8.根据权利要求1所述的方法,还包括:确定用于执行垃圾收集的时间。9.根据权利要求8所述的方法,其中,确定用于垃圾收集的时间是基于以下各项中的至少一项的:处理资源的可用性、所述目的地部分或所述来源部分的可用性、当日时间、或者所述主机的活动级别。10.根据权利要求1所述的方法,其中,在完成垃圾收集之后,所述方法还包括将所述目的地部分设置为可用于存储数据。11.根据权利要求1所述的方法,其中,所述来源部分和所述目的地部分位于所述至少一个DSD中的分别的DSD中。12.根据权利要求1所述的方法,其中,所述来源部分和所述目的地部分位于所述至少一个DSD的同一DSD中。13.根据权利要求1所述的方法,其中,所述至少一个DSD包括用于存储数据的多个区,并且其中,所述方法还包括:将所述多个区中的一个区分配为所述目的地部分;以及将所述多个区中的每个剩余区分配为由所述主机用于存储数据的逻辑卷。14.根据权利要求1所述的方法,其中,所述至少一个DSD包括用于存储数据的多个区,并且其中,所述方法还包括:将所述多个区中的一个区分配为所述目的地部分;以及将所述多个区中的多个剩余区分配为由所述主机用于存储数据的逻辑卷。15.一种用于存储数据的数据存储系统,所述数据存储系统包括:主机,其包括处理器;以及至少一个数据存储设备(DSD),其与所述主机通信;其中,所述处理器被配置为进行以下操作:定义用于在所述至少一个DSD中执行垃圾收集操作的至少一个属性;基于所述至少一个属性,确定将存储于所述至少一个DSD中的数据的初始位置;基于所述至少一个属性,从所述至少一个DSD中的多个来源部分识别用于垃圾收集操作的来源部分;基于所述至少一个属性,识别所述至少一个DSD中的用于存储由所述垃圾收集操作获得的数据的目的地部分;执行将在所述来源部分中的数据向所述目的地部分的垃圾收集;以及在完成所述垃圾收集之后,将所述来源部分指定为用于新的垃圾收集操作的新的目的地部分。16.根据权利要求15所述的数据存储系统,其中,所述处理器还配置为:在所述垃圾收集期间识别在所述来源部分中的有效数据;以及根据所述至少一个属性,在所述目的地部分中组织所述有效数据。17.根据权利要求15所述的数据存储系统,其中,所述处理器还配置为:基于所述至少一个属性,在所述垃圾收集期间识别在所述来源部分中的有效数据,从而将所述有效数据与在所述目的地部分中具有所述至少一个属性的其它数据分组到一起。18.根据权利要求15所述的数据存储系统,其中,所述至少一个属性包括以下各项中的至少一项:所述数据的到期日期、对所述数据的访问频率、所述数据的所有权、或所述数据的碎片化级别。19.根据权利要求15所述的数据存储系统,其中,所述至少一个属性包括:所述来源部分或所述目的地部分的可靠性条件、所述来源部分或所述目的地部分的环境条件、所述来源部分或所述目的地部分的损耗级别、所述来源部分或所述目的地部分的可用数据容量、所述来源部分或所述目的地部分距所述数据的先前用户的距离、所述来源部分和所述目的地部分之间的可用的网络带宽、所述来源部分或所述目的地部分的可用性、或者操作所述来源部分或所述目的地部分的能量成本。20.根据权利要求19所述的数据存储系统,其中,所述来源部分或所述目的地部分的所述环境条件包括:温度条件或振动条件。21.根据权利要求19所述的数据存储系统,其中,所述来源部分或所述目的地部分的所述可靠性条件包括:用于写入数据的磁头的状态或者当写入数据时遇到的错误级别。22.根据权利要求15所述的数据存储系统,其中,所述处理器还配置为确定用于执行垃圾收集的时间。23.根据权利要求22所述的数据存储系统,其中,所述处理器还配置为基于以下各项中的至少一项确定用于垃圾收集的所述时间:处理资源的
\t可用性、所述目的地部分或所述来源部分的可用性、当日时间、或者所述主机的活动级别。24.根据权利要求15所述的数据存储系统,其中,所述处理器还配置为:在完成所述垃圾收集之后,将所述目的地部分设置为可用于存储数据。25.根据权利要求15所述的数据存储系统,其中,所述来源部分和所述目的地部分位于所述至少一个DSD的分别的DSD中。26.根据权利要求15所述的数据存储系统,其中,所述来源部分和所述目的地部分位于所述至少...

【专利技术属性】
技术研发人员:A·H·陈J·N·马利纳
申请(专利权)人:西部数据技术公司
类型:发明
国别省市:美国;US

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

1