用于数据存储装置的介质区域管理的制作方法

文档序号:13741881阅读:150来源:国知局
用于数据存储装置的介质区域管理的制作方法



背景技术:

数据存储装置(dsd)常常用以将数据记录到例如旋转磁盘或固态存储器的存储介质上或从所述存储介质再生数据。在一些情况下,dsd可用以存档或存储从多个感测装置(例如,摄像机、加速度计、麦克风或各种其它传感器)接收的数据。从此类感测装置接收的数据可具有不同特性,例如,数据作为连续流还是作为离散值到达dsd。然而,从不同感测装置到达dsd的数据通常不考虑数据的不同特性由dsd相同地处理。

附图说明

本公开的实施例的特征和优点将从下文结合附图所阐述的详细描述变得更明显。提供附图和相关联的描述以说明本公开的实施例,并且不限制所主张的权利要求的范围。

图1是描绘根据实施例的数据存储装置(dsd)的框图。

图2描绘根据实施例的指派到感测装置的存储提示(hint)的示例。

图3描绘由根据实施例的dsd产生的元数据的示例。

图4是根据实施例的用于不同介质区域的介质特性的示例。

图5是说明根据实施例的数据的预处理和选择介质区域用于存储数据的框图。

图6是用于根据实施例的介质区域选择过程的流程图。

图7是用于根据实施例的介质区域选择子过程的流程图。

图8是用于根据实施例的用于从感测装置接收的数据的容量管理过程的流程图。

图9是用于根据实施例的垃圾收集过程的流程图。

具体实施方式

在以下详细描述中,阐述众多具体细节以提供对本公开的充分理解。然而,所属领域的普通技术人员将明白,可在没有这些具体细节中的一些的情况下实践公开的各种实施例。在其它情况下,尚未详细展示熟知结构和技术以避免不必要地混淆各种实施例。

系统综述

图1展示根据实施例的从装置101、102、103和104接收数据的数据存储装置(dsd)106的示例。装置101、102、103和104可包含感测装置,例如,摄像机、加速度计、麦克风、运动传感器、温度传感器、湿度传感器、光传感器或其它类型的感测装置。

如图1的示例实施例中所展示,dsd106包含呈旋转磁盘150的形式的非易失性存储器(nvm)和非易失性固态存储器(nvsm)128。在其它实施例中,dsd106可包含例如磁带的其它nvm介质。在这方面,磁盘150和nvsm128中的一者或两者可省略或由不同nvm介质替换。举例来说,在一些实施例中可省略nvsm128,使得dsd106的nvm只包含磁盘存储介质。在另外其它实施例中,磁盘150或nvsm128中的每个可分别由多个硬盘驱动器(hdd)或多个固态驱动器(ssd)替换,使得dsd106包含hdd和/或ssd的池(pool)。

dsd106包含控制器120,其包含例如用于执行指令的一个或更多个处理器的电路系统且可包含微控制器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)、硬连线逻辑、模拟电路系统和/或其组合。在一个实施方式中,控制器120可包含片上系统(soc)。

接口126被配置以使dsd106与装置101、102、103和104接口连接(interface),且可使用(例如)以太网或wifi和/或一个或更多个总线标准来接口连接。如所属领域的普通技术人员将了解,接口126可被包含为控制器120的部分。

图1的组件可或可不在物理上共同定位。在这方面,装置101到104中的一个或更多个可远离dsd106定位。所属领域的普通技术人员还将了解,其它实施例可包含比图1中展示的元件多或少的元件,且可在其它环境中实施所公开的过程。举例来说,其它实施例可包含将数据提供到dsd106的不同数目个装置。

在图1的示例中,dsd106包含传感器122,其也可提供数据用于存储在dsd106的至少一个nvm中。传感器122可包含(例如)加速度计或温度传感器以检测环境条件。在其它实施例中,传感器122可如同装置101到104,在dsd106外部。

在图1中,磁盘150由主轴电动机(未展示)旋转,且磁头(head)136经定位以在磁盘150的表面上读取和写入数据。更详细地,磁头136连接到由音圈电动机(vcm)132旋转的致动器130的远端,以将磁头136定位于磁盘150之上以在磁道152中读取或写入数据。控制器120的伺服系统(未展示)用sm控制信号38控制磁盘150的旋转,且使用vcm控制信号34控制磁头136的位置。

如所属领域的普通技术人员将了解,磁盘150可形成包含与磁盘150径向对准的多个磁盘的磁盘组的部分。在此类实施方式中,磁头136可形成磁头堆栈组件(headstackassembly,hsa)的部分,该磁头堆栈组件包含被布置以从磁盘组中的对应的磁盘表面读取数据和将数据写入到磁盘组中的对应的磁盘表面。

在一些实施方式中,磁盘150上的磁道152中的一些或全部可通过叠瓦式磁记录(shingledmagneticrecording,smr)写为重叠磁道,作为通过使磁道更窄来增加磁盘150上每英寸磁道(tpi)的数目的方式。smr通过使用具有更强磁场的相对宽的叠瓦写磁头来像屋顶木瓦一样重叠磁道而增加tpi。非重叠部分则充当可由较窄读磁头读取的窄磁道。

虽然通过smr,较高数目个tpi是可能的,但磁道中的重叠可在写入数据时产生问题,因为到先前重叠的磁道的新写入影响在重叠磁道中写入的数据。出于此原因,通常依序写入磁道以避免影响先前写入的数据。

在一个示例中,磁盘150可包含重叠磁道的一个或更多个区,作为介质区域,其通常使用smr被依序写入且较适合于存档大量流式数据。在这种示例中,可通过磁头136的小移动在介质区域中依序写入来自摄像机的数据流。磁盘150上包含使用常规磁记录(cmr)写入的非重叠磁道的其它区可提供更好地适合于非依序写入或可能需要重写的数据的介质区域。

磁盘150上的介质区域的其它示例也是可能的。在一个示例中,图1中展示的磁盘150的外径(od)部分中的磁道的区可提供数据的更快存取。归因于在od部分处的磁盘150的较大周长,od部分中的介质区域通常可允许比在磁盘150的内径(id)部分处更快地读取或写入数据。在od部分处的较大周长允许在od部分处针对磁盘150的给定旋转量比在磁盘150的id部分处的较短磁道中读取或写入多的磁道。od部分中的介质区域可接着用于存储更频繁存取的数据,或可具有对于快速存取的较高优先权或需求。

dsd106还可包含用于存储数据的nvsm128,其可充当另一介质区域或在nvsm128内提供具有不同介质特性的多个介质区域。如以下更详细地论述,磁盘150和nvsm128中的每个可包含一个或更多个用于存储数据的不同介质区域,其中每一介质区域具有用于存储不同类型的数据的不同优点或缺点。

虽然本文中的描述大体参考固态存储器,但应理解,固态存储器可包括各种类型的存储器装置中的一个或更多个,例如,闪存集成电路、硫族化物ram(c-ram)、相变存储器(pc-ram或pram)、可编程金属化单元ram(pmc-ram或pmcm)、双向通用存储器(oum)、电阻式ram(rram)、“与非”(nand)存储器(例如,单级单元(slc)存储器、多级单元(mlc)存储器或其任何组合)、“或非”(nor)存储器、eeprom、铁电存储器(feram)、磁阻式ram(mram)、其它离散nvm(非易失性存储器)芯片或其任何组合。

如图1中所展示,nvsm128存储与从装置101到104或从传感器122接收的数据相关联的元数据16。如以下更详细地论述,控制器120产生元数据16用于管理接收的数据的数据存储大小。以此方式,当dsd106的nvm中需要更多空间时,通常有可能确定哪些数据应保持,和哪些数据可删除、压缩或转移到另一dsd。如本文中所使用,压缩可包含数据的采样率的减小,例如,从视频数据去除帧以导致较低质量视频或一个或更多个无损或有损压缩算法的应用(如此项技术中已知)。

dsd106还包括存储器140,所述存储器可包含(例如)动态随机存取存储器(dram)。在一些实施例中,存储器140可为由dsd106用以临时存储数据的易失性存储器。在其它实施例中,存储器140可为可快速存取的nvm。存储于存储器140中的数据可包含从nvm读取的数据、待存储于nvm中的数据、从固件10加载以用于由控制器120执行的指令和/或在执行固件10过程中使用的数据。

如图1中所展示,存储器140还存储可用以选择用于存储数据的介质区域的存储提示12和介质特性14。如以下更详细地论述,nvsm128和磁盘150可包含具有不同介质特性的多个介质区域。在存储器140为易失性存储器的实施方式中,在dsd106的nvm中(例如在磁盘150上)或在nvsm128中可跨功率循环维持存储提示12和介质特性14中的每个。

存储提示12被指派到不同感测装置(即,装置101到104和传感器122),且可提供关于从特定装置接收的数据的信息。举例来说,存储提示12可包含指示关于预期来自感测装置的数据被读取或写入(例如,以短突发(burst)或作为连续流)的方式或从装置接收的数据是否与从不同装置接收的其它数据有关的信息的信息。

介质特性14可包含关于特定介质区域的信息。举例来说,介质特性14可包含指示介质类型(例如,磁盘、cmr、smr或固态存储器)、使用水平、剩余可使用寿命、可用存储容量、介质区域中的数据的碎片化程度、与操作介质区域相关联的功率的电平、介质区域中的区的数目、用于从介质区域读取数据的时间或用于在介质区域中写入数据的时间的信息。

通过考虑关于在dsd106接收的数据的存储提示和介质区域的介质特性,通常有可能更好地选择用于存储数据的位置且改善dsd106的性能。

在操作中,接口126经由接口126从装置101到104接收数据以用于将数据存储在dsd106的nvm中。控制器120可在将数据存储于磁盘150上或nvsm128中之前将接收的数据缓存在存储器140中。

对于待在磁盘150上写入的数据,控制器120的读取/写入通道(未展示)可将经缓存数据编码成写入信号36,将所述写入信号提供到磁头136以用于在磁盘150上磁性写入数据。控制器120的伺服系统可将vcm控制信号34提供到vcm132以在用于写入数据的特定磁道之上定位磁头136。

此外,控制器120可需要从nvm读取数据以管理存储的数据的大小或将存储的数据提供到另一装置。为了从磁盘150读取数据,伺服系统将磁头136定位于磁盘150上的特定磁道上方。控制器120控制磁头136磁性地读取存储于磁道中的数据且发送读取数据作为读取信号36。控制器120的读取/写入通道可接着解码和缓存数据到存储器140内以用于由控制器120使用或用于经由接口126传输到另一装置。

对于待在nvsm128中存储的数据,控制器120从接口126接收数据且可缓存存储器140中的数据。在一个实施方式中,接着将数据编码成用于对nvsm128的电池(未展示)充电的电荷值以存储数据。

为了存取存储于nvsm128中的数据,在一个实施方式中,控制器120读取用于nvsm128中的电池的电流值且将所述电流值解码成可经由接口126传送到另一装置的数据。

图2描绘根据实施例的指派到装置101到104和传感器122的存储提示12的示例。如图2中所展示,存储提示12包含写访问简档(writeaccessprofile)、从一个感测装置接收的数据是否与从一个或更多个其它感测装置接收的数据有关的指示、优先级和读访问简档。其它实施例可包含不同存储提示,作为存储提示12的部分。

如将在下文参看图5到7更详细地论述,存储提示12可由控制器120用以基于介质区域的介质特性选择用于存储数据的介质区域。此外,存储提示12可由控制器120在执行例如垃圾收集(gc)的维护操作以回收介质区域的一个或更多个部分以存储新数据的过程中使用。

在一些实施方式中,存储提示12可在新感测装置连接到接口126时在实地配置,或在事先已知dsd106可从特定感测装置接收数据的情况下在工厂配置。在一个实施方式中,dsd106充当即插即用装置,其检测连接到接口126的感测装置且向感测装置请求存储提示以添加或更新存储提示12。此外,一些存储提示可由dsd106在从感测装置接收到数据后被获悉或指派。在一个实施方式中,控制器120可在从感测装置接收到一定量的数据后或在被连接到感测装置的某一时间周期后确定与感测装置相关联的写访问简档。

在图2的示例中,存储提示12的每行提供关于从特定感测装置接收的数据的信息。在感测装置101的情况下,指示写访问简档“1”,其中感测装置102和103提供有关数据、优先级“1”和读访问简档“0”。作为示例,感测装置101可为提供视频数据作为连续数据流的摄像机。在这种示例中,写访问简档“1”可指示由感测装置101产生或从感测装置101接收的数据在大于例如一分钟的预定时间周期内通常是连续的。

可指示其它写访问简档,例如,来自感测装置的数据速率是大于还是小于阈值速率,接收数据比阈值频率多还是少,或从感测装置接收的数据在比预定时间周期长还是比预定时间周期短的时间内是连续的。在这方面,写访问简档的一些示例可包含以高数据速率突发产生的数据,作为低数据速率离散值或作为具有低或高数据速率的连续数据流。

如图2中所展示,从感测装置101接收的数据与从感测装置102和103接收的数据有关。举例来说,感测装置之间的关系可为,每个感测装置正监测相同的物理区或来自一个感测装置的数据可影响由另一感测装置收集的数据的重要性。在一个示例中,感测装置101可为门附近的摄像机,感测装置102可为门附近的麦克风,且感测装置103可为门附近的运动传感器。在这种示例中,从感测装置101、102和103中的每个接收的数据可能有关,因为它们位于相同的物理区附近。此外,由感测装置101产生的视频数据和由感测装置102产生的音频数据的优先权或重要性可由感测装置103产生的指示门附近的运动的数据而被提升。

与dsd106一起使用的感测装置不限于以上提供的示例。举例来说,在一些实施方式中,感测装置101到104可包含位于例如发动机的机械中的传感器,或用作制造过程的部分的传感器。一般来说,本发明的一些实施例可应用于正不断产生大量数据和在后来的评估中可存在某分析或历史参考值但存储空间有限的情境。

如以下更详细地论述,在确定用于存储数据的介质区域的过程中可使用提供数据的感测装置或提供数据的多个感测装置之间的关系。在一个示例中,来自特定感测装置的所有数据可存储于相同的介质区域中,以提供数据在不同部分间的较快存取,或这是因为特定介质区域可更好地适合于存储某一类型的数据。

在图2中展示的优先权元数据可指示指派到从特定感测装置接收的数据的优先级。在图2的示例中,优先权“1”可指示较高优先权,其中这种数据比与较低优先级“0”相关联的数据保留得更长或以较高分辨率保持较长时间周期。

读访问简档可指示来自特定感测装置的数据预期由另一装置(例如主机)存取的方式。读访问简档可指示(例如)某次存取的数据的预期大小、存取的频率或数据是否作为数据流存取。读访问简档可针对特定感测装置预先配置,或其可由控制器120确定。

图3描绘根据实施例的由控制器120产生的元数据16的示例。当数据由dsd106接收时,元数据16可作为预处理操作的部分而产生,和/或随后在已将数据存储于dsd106的nvm中后产生。如以下参看图8和9更详细地论述,元数据16可用以在存储数据后执行维护操作,例如,在dsd106中的nvm的gc过程或其它数据存储容量管理的部分中。

在图3的示例中,元数据16包含识别nvm中存储相关联的数据的位置的地址、接收数据的时间、产生数据的来源或感测装置、针对数据的数据丢失的风险和数据的相对优先权。其它实施例可包含作为元数据16的部分的不同元数据。

可使用接收数据的时间,例如,当确定在管理dsd106中的nvm的存储容量过程中应压缩或删除哪些数据时。在这方面,且如以下更详细地论述,大约在相同的时间帧接收的数据可存储于相同的介质区域中以改善例如gc的维护操作的效率。

此外,可使用数据的来源(例如,装置101到104或传感器122)来使用于数据的分析的数据相互关联,或作为维护操作的部分。从相同的装置或从有关装置接收的数据可存储于相同的介质区域中,以改善数据的管理或改善在存取有关数据时的速度。

数据丢失的风险可在已将数据存储于nvm中后产生,且可指示是否存在数据变得被破坏或丢失的增加的风险。在一个示例中,数据可存储于磁盘150的一部分(例如,smr介质区域)中,其可具有邻近磁道干扰(adjacenttrackinterference,ati)或广域磁道擦除(wideareatrackerasure,water)的较高风险。这种数据可在元数据16中用“1”或其它旗标指示为具有针对数据丢失的较高风险,如针对位于图3中的地址1和2的数据所展示。

在nvsm128为nand快闪存储器的示例中,较高数据丢失的风险可来自nvsm128的块被重写多于预定次数。块的这种重写可增加编程/擦除(p/e)循环的数目,这可使块存储数据的能力恶化。知道哪些数据处于较高的数据丢失风险可通常允许控制器120改善例如gc的维护操作。

在图3中展示的相对优先权元数据可指示从感测装置接收的某些数据是否比从相同的感测装置接收的其它数据重要。在一个示例中,如果在时间上紧密接近从相同的区域中的另一感测装置的运动的指示而接收,则从感测装置101接收的视频数据的某些部分可具有比视频数据的其它部分高的优先权。当作为容量管理过程的部分确定删除或压缩哪些数据时,相对优先权可由控制器120使用。

图4是根据实施例的介质特性14的示例。如图4的示例中所展示,介质区域特性14包含dsd106的不同介质区域的特性,其中图4中的每行表示不同介质区域的特性。如上所论述,介质区域可包含磁盘150和nvsm128或dsd106的其它nvm中的全部或部分。

在一个实施方式中,介质特性14可被配置为针对dsd106的工厂设置过程的部分。在其它实施方式中,可使用主机或到dsd106的其它接口或通过控制器120执行固件10或其它计算机可执行指令来在实地设置介质特性14。

在图4中,介质特性14包含介质类型、使用水平、剩余可使用的寿命、可用存储容量、存储于介质区域中的数据的碎片化程度、用于操作介质区域的功率的电平、介质区域中的区的数目、在介质区域中写入数据的时间和从介质区域读取数据的时间。其它实施例可包含与在图4中所展示的介质特性不同的介质特性。

在图4的示例中,介质类型可指示介质区域位于nvsm128中还是磁盘150上,且更确切地说,介质区域在磁盘150的cmr还是smr部分中。如以下更详细地论述,介质类型可用以确定用于存储数据的更适合于特定介质类型的位置。一个示例可包含在smr介质区域中存储流式数据,这是由于此类介质区域通常被依序写入。

使用水平指示已存取介质区域以用于存储或检索数据的频繁程度。举例来说,用于图4中的介质区域2和n的使用水平“2”可指示存取这些介质区域以用于比例如介质区域0和1的其它介质区域更频繁地读取和写入数据。由存储提示指示为更有可能频繁存取的数据可(例如)存储于具有较高使用水平的介质区域中以便减少存取频繁使用的数据的时间。

剩余可使用的寿命可提供介质区域是否到达其可使用的寿命的末期的指示。剩余可使用的寿命可归因于影响存储介质(例如,磁盘150或nvsm128)或与存取介质区域中的数据有关的组件(例如,磁头136)的可靠性的因素。在一个实施方式中,剩余可使用的寿命可反映在介质区域中执行的写入操作的数目或在介质区域中遇到的读取或写入误差的数目。在一个实施方式中,控制器120可使用具有较长剩余可使用的寿命的介质区域,用于存储较高优先权数据。

图4中的可用容量可指示介质区域的剩余可用存储容量。控制器120可基于介质区域中可用的容量的量来选择用于存储数据的介质区域,或可使用可用的容量识别需要gc以回收介质区域的部分用于存储新数据的介质区域。在一个示例中,磁盘150上按smr写入的重叠磁道的大介质区域可用以存储将比从其它感测装置接收的数据消耗更多的存储容量的流式数据。可消耗较少空间的更多随机接收的数据可在具有较小可用容量的介质区域中写入。

碎片化程度指示存储于介质区域中的数据是否碎裂于介质区域的不同部分中。当选择介质区域时,控制器120可考虑介质区域的碎片化以选择较少碎片化的介质区域用于存储可受益于在介质区域中依序写入的数据流。此外,控制器120可识别具有较高碎片化程度的介质区域用于gc过程,以允许介质区域存储数据的较大部分。

当选择用于存储数据的介质区域时,控制器120可考虑在操作介质区域过程中的功率电平。在一个示例中,控制器120可初始地选择使用较低功率电平的介质区域(例如,nvsm128)以避免在旋转加速磁盘150时必须消耗更多功率。

介质区域中的区(zone)的数目可(例如)指磁道152的区的数目(在磁盘150上的介质区域的情况下)或nvsm128中的块的数目。在一个示例中,控制器120可选择具有多个区的介质区域以将来自不同感测装置的相关数据存储于相同的介质区域的不同区中。这可允许两个数据集的较快存取,且可提供删除或压缩有关数据时的效率。

举例来说,写入时间可指示在介质区域中写入一定量的数据所需要的平均时间。一些介质区域(例如,位于磁盘150的od部分中的介质区域)可通常允许比其它介质区域(例如,位于磁盘150的id部分中的介质区域)更快地写入数据。在一个实施方式中,控制器120可使用具有相对短写入时间的介质区域用于存储来自与较高数据速率相关联的感测装置的数据,和使用具有较长写入时间的不同介质区域用于存储来自与较低数据速率相关联的感测装置的数据。

举例来说,读取时间可指示从介质区域读取一定量的数据所需要的平均时间。一些介质区域(例如,在nvsm128中的介质区域)通常可允许相比于涉及在特定磁道152上方定位磁头136时的机械延迟的其它介质区域(例如,在磁盘150上的介质区域)更快地读取数据。在一个实施方式中,控制器120可使用具有相对短读取时间的介质区域来存储来自与较高优先权相关联的感测装置的数据,使得通常可较快地读取高优先权数据。

介质区域选择示例

图5为说明根据实施例的数据的预处理和介质区域的选择的框图。在图5的示例中,两个视频数据流、音频数据流和传感器数据由控制器120接收且被预处理以产生至少部分元数据16,并使存储提示12与经处理的数据流和传感器数据相关联。如上所指出,可在接收的数据已存储于nvm的介质区域中后产生元数据16中的一些。在其它实施例中,可在图5中展示的预处理以外产生所有元数据16,使得在接收的数据已存储于介质区域中后产生所有元数据16。

在图5的示例中,存储提示12和介质特性14供控制器120用以选择用于存储经处理的数据流和传感器数据的介质区域。在一些实施方式中,也可将产生的元数据16及与其相关联的接收的数据一起存储于选定介质区域中。在其它实施方式中,可将产生的元数据存储于与存储与其相关联的接收的数据不同的介质区域中或不同的nvm中。

图6是根据实施例的用于可由执行固件10的控制器120执行的介质区域选择过程的流程图。在框602中,控制器120从感测装置接收数据以用于存储在dsd106中。在框604中,控制器120使接收的数据与指派到感测装置的至少一个存储提示相关联。在这方面,控制器120可首先识别哪一感测装置正发送数据,并接着参考用于识别的感测装置的存储提示12。参考图2中的存储提示12的示例,至少一个存储提示可包含数据是否通常由具有特定写访问简档(例如,特定数据速率、连续或呈突发形式)的感测装置接收或产生、数据是否与从另一感测装置接收的数据有关、用于从感测装置接收的数据的优先级或特定读访问简档(例如,以某一大小或作为连续流存取的数据)的指示。

在框606中,控制器120基于相关联的一个或更多个存储提示和用于存储接收的数据的介质区域的至少一个特性,从多个介质区域选择用于存储接收的数据的介质区域。在图4中展示的介质特性14的示例中,控制器120可在选择用于存储由存储提示12指示为具有流式写访问简档的数据的介质区域过程中考虑(例如)介质类型、可用容量和介质区域的碎片化。在这种示例中,控制器120可选择磁盘150上具有smr介质类型、具有较大量的剩余可用容量和低碎片化程度的介质区域。另一方面,如果存储提示指示接收的数据具有不连续的写访问简档并且数据具有高优先权,则控制器120可选择nvsm128中具有比nvsm128中的其它介质区域长的剩余可使用寿命的介质区域。

在框608中,控制器120可选地产生与接收的数据相关联的元数据(例如,元数据16),其用于管理接收的数据的数据存储大小。可产生元数据作为如以上论述的图5中所展示的预处理的部分,或可在已将数据存储于选定介质区域中后产生元数据中的一些或全部。在这方面,元数据可来自可用以管理数据的滞留或大小的存储的数据的分析。

在框610中,控制器120基于指示选定介质区域的剩余可使用寿命已达到使用阈值或选定介质区域的可用存储容量已达到容量阈值的介质特性来可选地压缩接收的数据。此可选压缩可形成图5中展示的预处理的部分以产生经处理的数据流或已基于选定介质区域的介质特性被压缩的传感器数据。控制器120可基于介质区域的剩余可使用寿命或可用存储容量来应用较高或较低压缩比。如果存在较少剩余可使用寿命或较少可用存储容量,则控制器120可接着应用较高压缩比以当在介质区域中存储数据时节省更多空间。

图7是根据实施例的可由执行固件10的控制器120执行且作为图6中的框606的部分的示例介质区域选择子过程的流程图。其它实施例可使用与图7中展示的选择准则不同的选择准则。

在框702中,控制器120开始介质区域选择子过程以选择dsd106的介质区域来存储接收的数据。在框704中,控制器120确定由dsd106接收的数据是否与从另一感测装置接收的其它数据有关。控制器120可在确定数据是否有关过程中使用指示从一个感测装置接收的数据是否与从另一感测装置接收的数据有关的存储提示12。

如果在框704中确定数据有关,则在框706中,控制器120选择介质区域使得将接收的数据存储于与有关数据相同的介质区域中。这可通常允许有关数据的两个集合的较快读取和写入,这是由于它们位置紧密物理接近。在其它实施例中,并不存储于相同的介质区域中,可将接收的数据存储于紧密接近存储有关数据的另一介质区域的介质区域中。

另一方面,如果在框704中确定数据不相关,则在框708中,控制器120确定用于接收的数据的数据速率是否大于阈值速率,或数据在大于预定时间周期内是否连续。如上所论述,可参考指示用于从发送接收的数据的感测装置接收或由该感测装置产生的数据的写访问简档的存储提示12来作出此确定。

如果确定数据速率大于阈值速率或在大于预定时间周期内不连续,则在框710中,控制器120选择介质区域使得将接收的数据存储于磁盘150上的重叠磁道中。包含重叠磁道的smr介质区域可用于处理高数据速率写入,这是因为在smr介质区域中通常依序写入数据,smr介质区域可允许比可在贯穿介质区域将数据写入碎片中的cmr介质区域中更快地写入数据。smr介质区域的依序写入也可良好地适合于在大于预定时间周期内连续的数据,这是由于可在smr介质区域中依序写入数据流。

如果在框708中确定数据速率不大于阈值速率或数据在大于预定时间周期内不连续,则在框712中,控制器120选择介质区域使得将接收的数据存储于非重叠磁道或nvsm128的一部分中。由于在大于预定时间周期内不连续的数据很可能以较短突发被写入,因此在可比磁盘150上的smr介质区域更好地支持更随机写入的介质区域中写入此类数据。控制器120可使用介质特性16识别合格cmr介质区域或nvsm128中的介质区域。

示例容量管理过程

图8是根据实施例的可由执行固件10的控制器120执行的示例容量管理过程的流程图。在一些实施方式中,图8的过程可作为背景活动执行。使用元数据的数据容量管理的额外示例可在2015年9月30日提交且在以上以引用的方式被并入的交叉参考的共同未决申请第14/870,562号中找到。

在框802中,控制器120确定从感测装置接收且存储于dsd106中的数据的累积大小已达到第一大小阈值。在框804中,控制器120基于指示接收一个或更多个部分的时间和/或一个或更多个部分的数据丢失的风险的元数据(例如,元数据16)识别从感测装置接收的数据的一个或更多个部分以供删除或压缩。当接收数据时,可能已产生元数据,或可能已在存储于nvm中后产生。

在元数据指示接收到数据的时间的情况下,控制器120可使用元数据来识别接收得比其它早的数据的部分用于删除或压缩。在一个实施方式中,在大约相同时间周期从相同的感测装置接收的数据一起存储于相同的介质区域中,使得可同时删除或压缩在整个介质区域中或在介质区域的整个区中的数据。这可通常改善容量管理过程的效率和有效性,这是由于作为执行容量管理过程的结果,整个介质区域或介质区域的连续部分变得可用于存储新数据。

在元数据指示接收的数据的一个或更多个部分的数据丢失风险的情况下,可针对具有最高数据丢失风险的介质区域执行容量管理过程。作为容量管理过程的部分,在压缩在此类高风险介质区域中的数据后,所述数据可被删除或重定位到具有较低数据丢失风险的不同介质区域。

在框806中,控制器120删除或压缩在框804中识别的数据的一个或更多个部分。在框806中的数据的删除或压缩继续,直到针对从感测装置接收且存储于dsd中的数据,达到第二大小阈值。第二大小阈值可为比第一大小阈值低的数据大小。在其它实施例中,可不使用第二大小阈值,使得删除或压缩识别的部分,且当从感测装置接收的数据的累积大小再次达到第一大小阈值时,再次开始图8的过程。

图9是根据实施例的用于可由执行固件10的控制器120执行的示例gc过程的流程图。在框902中,控制器120确定存储于dsd106的nvm中的无效数据的总量已达到无效数据的阈值量。举例来说,无效数据可包含先前已删除、重定位到另一dsd或为已被压缩的数据的未压缩版本的数据。

在框904中,控制器120选择一个或更多个介质区域用于执行gc以回收一个或更多个介质区域的至少一部分用于存储新数据。一个或更多个介质区域的选择是基于一个或更多个介质区域中的无效数据的量。在一个实施方式中,选择具有最多无效数据的介质区域用于执行gc。在另一实施方式中,介质特性14可用以选择具有最大碎片化程度的介质区域。

在框906中,控制器120识别选定一个或更多个介质区域中的有效数据用于抢先地执行数据容量管理。通过抢先地执行数据容量管理作为gc的部分,通常可能减少可能需要在gc期间重定位的有效数据的量和在选定一个或更多个介质区域中利用已执行的gc。

控制器120可使用由dsd106产生以识别用于框906中的数据容量管理的数据的存储提示12和/或元数据16。在一个示例中,控制器120可通过使用指示接收到数据的时间的元数据16识别比年限阈值更早的数据。这可通常允许在已按接收数据的时间将数据一起分组的情况下的更高效和有效gc过程。

在另一示例中,控制器120可使用元数据16识别具有较高数据丢失风险或较低相对优先权的数据。当使用存储提示12时,控制器120可(例如)识别来自指派有较低优先权的感测装置的数据,或来自相同的装置或有关装置的数据,以执行数据容量管理。控制器120还可考虑与在以上的示例中所提供的不同的元数据16或存储提示12,以识别用于数据容量管理的有效数据。

通过使用存储提示12和元数据16中的至少一个,通常可能改善gc过程的效率和有效性,这是由于dsd106已知关于从不同感测装置接收的数据的更多信息。

在框908中,控制器120删除或压缩存储于选定一个或更多个介质区域中的经识别的有效数据。以此方式,将需要从选定一个或更多个介质区域重定位较少有效数据,且可腾出额外空间用于存储由dsd106接收的新数据。

在框910中,控制器120重定位在选定一个或更多个介质区域中的剩余有效数据且使该选定一个或更多个介质区域可用于重新使用。可将剩余有效数据复制到一个或更多个其它介质区域,且可擦除留在该选定一个或更多个介质区域中的无效数据。

其它实施例

所属领域的普通技术人员将了解,关于本文中公开的示例描述的各种说明性逻辑块、模块和过程可实施为电子硬件、计算机软件或两者的组合。此外,前述过程可体现于计算机可读介质上,所述计算机可读介质使处理器或计算机实行或执行某些功能。

为清晰地说明硬件与软件的此可互换性,上文已大体就其功能性来描述了各种说明性组件、块和模块。这种功能性是实施为硬件还是软件取决于特定应用和强加于整个系统的设计约束。所属领域的普通技术人员可针对每个特定应用以不同方式来实施所描述的功能性,但此类实施决策不应被解释为会引起脱离本公开的范围。

关于本文中公开的示例描述的各种说明性逻辑块、单元、模块和控制器可以用通用处理器、dsp、asic、fpga或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或其被设计以执行本文中描述的功能的任何组合来实施或执行。通用处理器可为微处理器,但在替代方案中,处理器可为任何常规处理器、控制器、微控制器或状态机。处理器还可实施为计算装置的组合,例如,dsp与微处理器的组合、多个微处理器的组合、一个或更多个微处理器结合dsp核心或任何其它此类配置。

关于本文中公开的示例描述的方法或过程的活动可直接在硬件中、在由处理器执行的软件模块中或在两者的组合中体现。也可以按与在示例中提供的次序交替的次序来执行方法或算法的步骤。软件模块可以驻留在ram存储器、快闪存储器、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、可移动介质、光学介质或本领域中已知的任何其它形式的存储介质中。示例性存储介质耦合到处理器使得该处理器可从该存储介质读取信息和将信息写入到该存储介质。在替代方案中,存储介质可与处理器成整体。处理器和存储介质可驻留在专用集成电路(asic)中。

提供所公开的示例实施例的前述描述以使所属领域的普通技术人员能够制造或使用本公开的实施例。对这些示例的各种修改对所属领域的普通技术人员将是显而易见的,且可在不脱离本公开的精神或范围的情况下将本文中公开的原理应用到其它示例。无论从哪一点来看,应将所描述实施例考虑为只是说明性且非限制性,且本公开的范围因此由所附权利要求书而非由前述描述来指示。进入权利要求书的等效内容的意义和范围内的所有改变均涵盖在其范围内。

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