CN107710143B - 用于数据存储装置的介质区域管理 - Google Patents
用于数据存储装置的介质区域管理 Download PDFInfo
- Publication number
- CN107710143B CN107710143B CN201680036450.3A CN201680036450A CN107710143B CN 107710143 B CN107710143 B CN 107710143B CN 201680036450 A CN201680036450 A CN 201680036450A CN 107710143 B CN107710143 B CN 107710143B
- Authority
- CN
- China
- Prior art keywords
- data
- media
- dsd
- sensing device
- received
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
- G06F3/0676—Magnetic disk device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
一种数据存储装置(DSD),其与多个感测装置通信。从多个感测装置中的感测装置接收数据用于存储在DSD中。接收的数据与指派到该感测装置的至少一个存储提示相关联。基于至少一个存储提示和用于存储接收的数据的DSD的介质区域的至少一个特性,从多个介质区域选择该用于存储接收的数据的DSD的介质区域。
Description
背景技术
数据存储装置(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的示例实施例中所展示,DSD 106包含呈旋转磁盘150的形式的非易失性存储器(NVM)和非易失性固态存储器(NVSM)128。在其它实施例中,DSD 106可包含例如磁带的其它NVM介质。在这方面,磁盘150和NVSM 128中的一者或两者可省略或由不同NVM介质替换。举例来说,在一些实施例中可省略NVSM 128,使得DSD 106的NVM只包含磁盘存储介质。在另外其它实施例中,磁盘150或NVSM 128中的每个可分别由多个硬盘驱动器(HDD)或多个固态驱动器(SSD)替换,使得DSD 106包含HDD和/或SSD的池(pool)。
DSD 106包含控制器120,其包含例如用于执行指令的一个或更多个处理器的电路系统且可包含微控制器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、硬连线逻辑、模拟电路系统和/或其组合。在一个实施方式中,控制器120可包含片上系统(SoC)。
接口126被配置以使DSD 106与装置101、102、103和104接口连接(interface),且可使用(例如)以太网或WiFi和/或一个或更多个总线标准来接口连接。如所属领域的普通技术人员将了解,接口126可被包含为控制器120的部分。
图1的组件可或可不在物理上共同定位。在这方面,装置101到104中的一个或更多个可远离DSD 106定位。所属领域的普通技术人员还将了解,其它实施例可包含比图1中展示的元件多或少的元件,且可在其它环境中实施所公开的过程。举例来说,其它实施例可包含将数据提供到DSD 106的不同数目个装置。
在图1的示例中,DSD 106包含传感器122,其也可提供数据用于存储在DSD 106的至少一个NVM中。传感器122可包含(例如)加速度计或温度传感器以检测环境条件。在其它实施例中,传感器122可如同装置101到104,在DSD 106外部。
在图1中,磁盘150由主轴电动机(未展示)旋转,且磁头(head)136经定位以在磁盘150的表面上读取和写入数据。更详细地,磁头136连接到由音圈电动机(VCM)132旋转的致动器130的远端,以将磁头136定位于磁盘150之上以在磁道152中读取或写入数据。控制器120的伺服系统(未展示)用SM控制信号38控制磁盘150的旋转,且使用VCM控制信号34控制磁头136的位置。
如所属领域的普通技术人员将了解,磁盘150可形成包含与磁盘150径向对准的多个磁盘的磁盘组的部分。在此类实施方式中,磁头136可形成磁头堆栈组件(Head StackAssembly,HSA)的部分,该磁头堆栈组件包含被布置以从磁盘组中的对应的磁盘表面读取数据和将数据写入到磁盘组中的对应的磁盘表面。
在一些实施方式中,磁盘150上的磁道152中的一些或全部可通过叠瓦式磁记录(Shingled Magnetic Recording,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部分中的介质区域可接着用于存储更频繁存取的数据,或可具有对于快速存取的较高优先权或需求。
DSD 106还可包含用于存储数据的NVSM 128,其可充当另一介质区域或在NVSM128内提供具有不同介质特性的多个介质区域。如以下更详细地论述,磁盘150和NVSM 128中的每个可包含一个或更多个用于存储数据的不同介质区域,其中每一介质区域具有用于存储不同类型的数据的不同优点或缺点。
虽然本文中的描述大体参考固态存储器,但应理解,固态存储器可包括各种类型的存储器装置中的一个或更多个,例如,闪存集成电路、硫族化物RAM(C-RAM)、相变存储器(PC-RAM或PRAM)、可编程金属化单元RAM(PMC-RAM或PMCm)、双向通用存储器(OUM)、电阻式RAM(RRAM)、“与非”(NAND)存储器(例如,单级单元(SLC)存储器、多级单元(MLC)存储器或其任何组合)、“或非”(NOR)存储器、EEPROM、铁电存储器(FeRAM)、磁阻式RAM(MRAM)、其它离散NVM(非易失性存储器)芯片或其任何组合。
如图1中所展示,NVSM 128存储与从装置101到104或从传感器122接收的数据相关联的元数据16。如以下更详细地论述,控制器120产生元数据16用于管理接收的数据的数据存储大小。以此方式,当DSD 106的NVM中需要更多空间时,通常有可能确定哪些数据应保持,和哪些数据可删除、压缩或转移到另一DSD。如本文中所使用,压缩可包含数据的采样率的减小,例如,从视频数据去除帧以导致较低质量视频或一个或更多个无损或有损压缩算法的应用(如此项技术中已知)。
DSD 106还包括存储器140,所述存储器可包含(例如)动态随机存取存储器(DRAM)。在一些实施例中,存储器140可为由DSD 106用以临时存储数据的易失性存储器。在其它实施例中,存储器140可为可快速存取的NVM。存储于存储器140中的数据可包含从NVM读取的数据、待存储于NVM中的数据、从固件10加载以用于由控制器120执行的指令和/或在执行固件10过程中使用的数据。
如图1中所展示,存储器140还存储可用以选择用于存储数据的介质区域的存储提示12和介质特性14。如以下更详细地论述,NVSM 128和磁盘150可包含具有不同介质特性的多个介质区域。在存储器140为易失性存储器的实施方式中,在DSD 106的NVM中(例如在磁盘150上)或在NVSM 128中可跨功率循环维持存储提示12和介质特性14中的每个。
存储提示12被指派到不同感测装置(即,装置101到104和传感器122),且可提供关于从特定装置接收的数据的信息。举例来说,存储提示12可包含指示关于预期来自感测装置的数据被读取或写入(例如,以短突发(burst)或作为连续流)的方式或从装置接收的数据是否与从不同装置接收的其它数据有关的信息的信息。
介质特性14可包含关于特定介质区域的信息。举例来说,介质特性14可包含指示介质类型(例如,磁盘、CMR、SMR或固态存储器)、使用水平、剩余可使用寿命、可用存储容量、介质区域中的数据的碎片化程度、与操作介质区域相关联的功率的电平、介质区域中的区的数目、用于从介质区域读取数据的时间或用于在介质区域中写入数据的时间的信息。
通过考虑关于在DSD 106接收的数据的存储提示和介质区域的介质特性,通常有可能更好地选择用于存储数据的位置且改善DSD 106的性能。
在操作中,接口126经由接口126从装置101到104接收数据以用于将数据存储在DSD 106的NVM中。控制器120可在将数据存储于磁盘150上或NVSM 128中之前将接收的数据缓存在存储器140中。
对于待在磁盘150上写入的数据,控制器120的读取/写入通道(未展示)可将经缓存数据编码成写入信号36,将所述写入信号提供到磁头136以用于在磁盘150上磁性写入数据。控制器120的伺服系统可将VCM控制信号34提供到VCM 132以在用于写入数据的特定磁道之上定位磁头136。
此外,控制器120可需要从NVM读取数据以管理存储的数据的大小或将存储的数据提供到另一装置。为了从磁盘150读取数据,伺服系统将磁头136定位于磁盘150上的特定磁道上方。控制器120控制磁头136磁性地读取存储于磁道中的数据且发送读取数据作为读取信号36。控制器120的读取/写入通道可接着解码和缓存数据到存储器140内以用于由控制器120使用或用于经由接口126传输到另一装置。
对于待在NVSM 128中存储的数据,控制器120从接口126接收数据且可缓存存储器140中的数据。在一个实施方式中,接着将数据编码成用于对NVSM 128的电池(未展示)充电的电荷值以存储数据。
为了存取存储于NVSM 128中的数据,在一个实施方式中,控制器120读取用于NVSM128中的电池的电流值且将所述电流值解码成可经由接口126传送到另一装置的数据。
图2描绘根据实施例的指派到装置101到104和传感器122的存储提示12的示例。如图2中所展示,存储提示12包含写访问简档(write access profile)、从一个感测装置接收的数据是否与从一个或更多个其它感测装置接收的数据有关的指示、优先级和读访问简档。其它实施例可包含不同存储提示,作为存储提示12的部分。
如将在下文参看图5到7更详细地论述,存储提示12可由控制器120用以基于介质区域的介质特性选择用于存储数据的介质区域。此外,存储提示12可由控制器120在执行例如垃圾收集(GC)的维护操作以回收介质区域的一个或更多个部分以存储新数据的过程中使用。
在一些实施方式中,存储提示12可在新感测装置连接到接口126时在实地配置,或在事先已知DSD 106可从特定感测装置接收数据的情况下在工厂配置。在一个实施方式中,DSD 106充当即插即用装置,其检测连接到接口126的感测装置且向感测装置请求存储提示以添加或更新存储提示12。此外,一些存储提示可由DSD 106在从感测装置接收到数据后被获悉或指派。在一个实施方式中,控制器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产生的指示门附近的运动的数据而被提升。
与DSD 106一起使用的感测装置不限于以上提供的示例。举例来说,在一些实施方式中,感测装置101到104可包含位于例如发动机的机械中的传感器,或用作制造过程的部分的传感器。一般来说,本发明的一些实施例可应用于正不断产生大量数据和在后来的评估中可存在某分析或历史参考值但存储空间有限的情境。
如以下更详细地论述,在确定用于存储数据的介质区域的过程中可使用提供数据的感测装置或提供数据的多个感测装置之间的关系。在一个示例中,来自特定感测装置的所有数据可存储于相同的介质区域中,以提供数据在不同部分间的较快存取,或这是因为特定介质区域可更好地适合于存储某一类型的数据。
在图2中展示的优先权元数据可指示指派到从特定感测装置接收的数据的优先级。在图2的示例中,优先权“1”可指示较高优先权,其中这种数据比与较低优先级“0”相关联的数据保留得更长或以较高分辨率保持较长时间周期。
读访问简档可指示来自特定感测装置的数据预期由另一装置(例如主机)存取的方式。读访问简档可指示(例如)某次存取的数据的预期大小、存取的频率或数据是否作为数据流存取。读访问简档可针对特定感测装置预先配置,或其可由控制器120确定。
图3描绘根据实施例的由控制器120产生的元数据16的示例。当数据由DSD 106接收时,元数据16可作为预处理操作的部分而产生,和/或随后在已将数据存储于DSD 106的NVM中后产生。如以下参看图8和9更详细地论述,元数据16可用以在存储数据后执行维护操作,例如,在DSD 106中的NVM的GC过程或其它数据存储容量管理的部分中。
在图3的示例中,元数据16包含识别NVM中存储相关联的数据的位置的地址、接收数据的时间、产生数据的来源或感测装置、针对数据的数据丢失的风险和数据的相对优先权。其它实施例可包含作为元数据16的部分的不同元数据。
可使用接收数据的时间,例如,当确定在管理DSD 106中的NVM的存储容量过程中应压缩或删除哪些数据时。在这方面,且如以下更详细地论述,大约在相同的时间帧接收的数据可存储于相同的介质区域中以改善例如GC的维护操作的效率。
此外,可使用数据的来源(例如,装置101到104或传感器122)来使用于数据的分析的数据相互关联,或作为维护操作的部分。从相同的装置或从有关装置接收的数据可存储于相同的介质区域中,以改善数据的管理或改善在存取有关数据时的速度。
数据丢失的风险可在已将数据存储于NVM中后产生,且可指示是否存在数据变得被破坏或丢失的增加的风险。在一个示例中,数据可存储于磁盘150的一部分(例如,SMR介质区域)中,其可具有邻近磁道干扰(Adjacent TrackInterference,ATI)或广域磁道擦除(Wide Area Track Erasure,WATER)的较高风险。这种数据可在元数据16中用“1”或其它旗标指示为具有针对数据丢失的较高风险,如针对位于图3中的地址1和2的数据所展示。
在NVSM 128为NAND快闪存储器的示例中,较高数据丢失的风险可来自NVSM 128的块被重写多于预定次数。块的这种重写可增加编程/擦除(P/E)循环的数目,这可使块存储数据的能力恶化。知道哪些数据处于较高的数据丢失风险可通常允许控制器120改善例如GC的维护操作。
在图3中展示的相对优先权元数据可指示从感测装置接收的某些数据是否比从相同的感测装置接收的其它数据重要。在一个示例中,如果在时间上紧密接近从相同的区域中的另一感测装置的运动的指示而接收,则从感测装置101接收的视频数据的某些部分可具有比视频数据的其它部分高的优先权。当作为容量管理过程的部分确定删除或压缩哪些数据时,相对优先权可由控制器120使用。
图4是根据实施例的介质特性14的示例。如图4的示例中所展示,介质区域特性14包含DSD 106的不同介质区域的特性,其中图4中的每行表示不同介质区域的特性。如上所论述,介质区域可包含磁盘150和NVSM 128或DSD 106的其它NVM中的全部或部分。
在一个实施方式中,介质特性14可被配置为针对DSD 106的工厂设置过程的部分。在其它实施方式中,可使用主机或到DSD 106的其它接口或通过控制器120执行固件10或其它计算机可执行指令来在实地设置介质特性14。
在图4中,介质特性14包含介质类型、使用水平、剩余可使用的寿命、可用存储容量、存储于介质区域中的数据的碎片化程度、用于操作介质区域的功率的电平、介质区域中的区的数目、在介质区域中写入数据的时间和从介质区域读取数据的时间。其它实施例可包含与在图4中所展示的介质特性不同的介质特性。
在图4的示例中,介质类型可指示介质区域位于NVSM 128中还是磁盘150上,且更确切地说,介质区域在磁盘150的CMR还是SMR部分中。如以下更详细地论述,介质类型可用以确定用于存储数据的更适合于特定介质类型的位置。一个示例可包含在SMR介质区域中存储流式数据,这是由于此类介质区域通常被依序写入。
使用水平指示已存取介质区域以用于存储或检索数据的频繁程度。举例来说,用于图4中的介质区域2和N的使用水平“2”可指示存取这些介质区域以用于比例如介质区域0和1的其它介质区域更频繁地读取和写入数据。由存储提示指示为更有可能频繁存取的数据可(例如)存储于具有较高使用水平的介质区域中以便减少存取频繁使用的数据的时间。
剩余可使用的寿命可提供介质区域是否到达其可使用的寿命的末期的指示。剩余可使用的寿命可归因于影响存储介质(例如,磁盘150或NVSM 128)或与存取介质区域中的数据有关的组件(例如,磁头136)的可靠性的因素。在一个实施方式中,剩余可使用的寿命可反映在介质区域中执行的写入操作的数目或在介质区域中遇到的读取或写入误差的数目。在一个实施方式中,控制器120可使用具有较长剩余可使用的寿命的介质区域,用于存储较高优先权数据。
图4中的可用容量可指示介质区域的剩余可用存储容量。控制器120可基于介质区域中可用的容量的量来选择用于存储数据的介质区域,或可使用可用的容量识别需要GC以回收介质区域的部分用于存储新数据的介质区域。在一个示例中,磁盘150上按SMR写入的重叠磁道的大介质区域可用以存储将比从其它感测装置接收的数据消耗更多的存储容量的流式数据。可消耗较少空间的更多随机接收的数据可在具有较小可用容量的介质区域中写入。
碎片化程度指示存储于介质区域中的数据是否碎裂于介质区域的不同部分中。当选择介质区域时,控制器120可考虑介质区域的碎片化以选择较少碎片化的介质区域用于存储可受益于在介质区域中依序写入的数据流。此外,控制器120可识别具有较高碎片化程度的介质区域用于GC过程,以允许介质区域存储数据的较大部分。
当选择用于存储数据的介质区域时,控制器120可考虑在操作介质区域过程中的功率电平。在一个示例中,控制器120可初始地选择使用较低功率电平的介质区域(例如,NVSM 128)以避免在旋转加速磁盘150时必须消耗更多功率。
介质区域中的区(zone)的数目可(例如)指磁道152的区的数目(在磁盘150上的介质区域的情况下)或NVSM 128中的块的数目。在一个示例中,控制器120可选择具有多个区的介质区域以将来自不同感测装置的相关数据存储于相同的介质区域的不同区中。这可允许两个数据集的较快存取,且可提供删除或压缩有关数据时的效率。
举例来说,写入时间可指示在介质区域中写入一定量的数据所需要的平均时间。一些介质区域(例如,位于磁盘150的OD部分中的介质区域)可通常允许比其它介质区域(例如,位于磁盘150的ID部分中的介质区域)更快地写入数据。在一个实施方式中,控制器120可使用具有相对短写入时间的介质区域用于存储来自与较高数据速率相关联的感测装置的数据,和使用具有较长写入时间的不同介质区域用于存储来自与较低数据速率相关联的感测装置的数据。
举例来说,读取时间可指示从介质区域读取一定量的数据所需要的平均时间。一些介质区域(例如,在NVSM 128中的介质区域)通常可允许相比于涉及在特定磁道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从感测装置接收数据以用于存储在DSD 106中。在框604中,控制器120使接收的数据与指派到感测装置的至少一个存储提示相关联。在这方面,控制器120可首先识别哪一感测装置正发送数据,并接着参考用于识别的感测装置的存储提示12。参考图2中的存储提示12的示例,至少一个存储提示可包含数据是否通常由具有特定写访问简档(例如,特定数据速率、连续或呈突发形式)的感测装置接收或产生、数据是否与从另一感测装置接收的数据有关、用于从感测装置接收的数据的优先级或特定读访问简档(例如,以某一大小或作为连续流存取的数据)的指示。
在框606中,控制器120基于相关联的一个或更多个存储提示和用于存储接收的数据的介质区域的至少一个特性,从多个介质区域选择用于存储接收的数据的介质区域。在图4中展示的介质特性14的示例中,控制器120可在选择用于存储由存储提示12指示为具有流式写访问简档的数据的介质区域过程中考虑(例如)介质类型、可用容量和介质区域的碎片化。在这种示例中,控制器120可选择磁盘150上具有SMR介质类型、具有较大量的剩余可用容量和低碎片化程度的介质区域。另一方面,如果存储提示指示接收的数据具有不连续的写访问简档并且数据具有高优先权,则控制器120可选择NVSM 128中具有比NVSM 128中的其它介质区域长的剩余可使用寿命的介质区域。
在框608中,控制器120可选地产生与接收的数据相关联的元数据(例如,元数据16),其用于管理接收的数据的数据存储大小。可产生元数据作为如以上论述的图5中所展示的预处理的部分,或可在已将数据存储于选定介质区域中后产生元数据中的一些或全部。在这方面,元数据可来自可用以管理数据的滞留或大小的存储的数据的分析。
在框610中,控制器120基于指示选定介质区域的剩余可使用寿命已达到使用阈值或选定介质区域的可用存储容量已达到容量阈值的介质特性来可选地压缩接收的数据。此可选压缩可形成图5中展示的预处理的部分以产生经处理的数据流或已基于选定介质区域的介质特性被压缩的传感器数据。控制器120可基于介质区域的剩余可使用寿命或可用存储容量来应用较高或较低压缩比。如果存在较少剩余可使用寿命或较少可用存储容量,则控制器120可接着应用较高压缩比以当在介质区域中存储数据时节省更多空间。
图7是根据实施例的可由执行固件10的控制器120执行且作为图6中的框606的部分的示例介质区域选择子过程的流程图。其它实施例可使用与图7中展示的选择准则不同的选择准则。
在框702中,控制器120开始介质区域选择子过程以选择DSD 106的介质区域来存储接收的数据。在框704中,控制器120确定由DSD 106接收的数据是否与从另一感测装置接收的其它数据有关。控制器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介质区域或NVSM 128中的介质区域。
示例容量管理过程
图8是根据实施例的可由执行固件10的控制器120执行的示例容量管理过程的流程图。在一些实施方式中,图8的过程可作为背景活动执行。使用元数据的数据容量管理的额外示例可在2015年9月30日提交且在以上以引用的方式被并入的交叉参考的共同未决申请第14/870,562号中找到。
在框802中,控制器120确定从感测装置接收且存储于DSD 106中的数据的累积大小已达到第一大小阈值。在框804中,控制器120基于指示接收一个或更多个部分的时间和/或一个或更多个部分的数据丢失的风险的元数据(例如,元数据16)识别从感测装置接收的数据的一个或更多个部分以供删除或压缩。当接收数据时,可能已产生元数据,或可能已在存储于NVM中后产生。
在元数据指示接收到数据的时间的情况下,控制器120可使用元数据来识别接收得比其它早的数据的部分用于删除或压缩。在一个实施方式中,在大约相同时间周期从相同的感测装置接收的数据一起存储于相同的介质区域中,使得可同时删除或压缩在整个介质区域中或在介质区域的整个区中的数据。这可通常改善容量管理过程的效率和有效性,这是由于作为执行容量管理过程的结果,整个介质区域或介质区域的连续部分变得可用于存储新数据。
在元数据指示接收的数据的一个或更多个部分的数据丢失风险的情况下,可针对具有最高数据丢失风险的介质区域执行容量管理过程。作为容量管理过程的部分,在压缩在此类高风险介质区域中的数据后,所述数据可被删除或重定位到具有较低数据丢失风险的不同介质区域。
在框806中,控制器120删除或压缩在框804中识别的数据的一个或更多个部分。在框806中的数据的删除或压缩继续,直到针对从感测装置接收且存储于DSD中的数据,达到第二大小阈值。第二大小阈值可为比第一大小阈值低的数据大小。在其它实施例中,可不使用第二大小阈值,使得删除或压缩识别的部分,且当从感测装置接收的数据的累积大小再次达到第一大小阈值时,再次开始图8的过程。
图9是根据实施例的用于可由执行固件10的控制器120执行的示例GC过程的流程图。在框902中,控制器120确定存储于DSD 106的NVM中的无效数据的总量已达到无效数据的阈值量。举例来说,无效数据可包含先前已删除、重定位到另一DSD或为已被压缩的数据的未压缩版本的数据。
在框904中,控制器120选择一个或更多个介质区域用于执行GC以回收一个或更多个介质区域的至少一部分用于存储新数据。一个或更多个介质区域的选择是基于一个或更多个介质区域中的无效数据的量。在一个实施方式中,选择具有最多无效数据的介质区域用于执行GC。在另一实施方式中,介质特性14可用以选择具有最大碎片化程度的介质区域。
在框906中,控制器120识别选定一个或更多个介质区域中的有效数据用于抢先地执行数据容量管理。通过抢先地执行数据容量管理作为GC的部分,通常可能减少可能需要在GC期间重定位的有效数据的量和在选定一个或更多个介质区域中利用已执行的GC。
控制器120可使用由DSD 106产生以识别用于框906中的数据容量管理的数据的存储提示12和/或元数据16。在一个示例中,控制器120可通过使用指示接收到数据的时间的元数据16识别比年限阈值更早的数据。这可通常允许在已按接收数据的时间将数据一起分组的情况下的更高效和有效GC过程。
在另一示例中,控制器120可使用元数据16识别具有较高数据丢失风险或较低相对优先权的数据。当使用存储提示12时,控制器120可(例如)识别来自指派有较低优先权的感测装置的数据,或来自相同的装置或有关装置的数据,以执行数据容量管理。控制器120还可考虑与在以上的示例中所提供的不同的元数据16或存储提示12,以识别用于数据容量管理的有效数据。
通过使用存储提示12和元数据16中的至少一个,通常可能改善GC过程的效率和有效性,这是由于DSD 106已知关于从不同感测装置接收的数据的更多信息。
在框908中,控制器120删除或压缩存储于选定一个或更多个介质区域中的经识别的有效数据。以此方式,将需要从选定一个或更多个介质区域重定位较少有效数据,且可腾出额外空间用于存储由DSD 106接收的新数据。
在框910中,控制器120重定位在选定一个或更多个介质区域中的剩余有效数据且使该选定一个或更多个介质区域可用于重新使用。可将剩余有效数据复制到一个或更多个其它介质区域,且可擦除留在该选定一个或更多个介质区域中的无效数据。
其它实施例
所属领域的普通技术人员将了解,关于本文中公开的示例描述的各种说明性逻辑块、模块和过程可实施为电子硬件、计算机软件或两者的组合。此外,前述过程可体现于计算机可读介质上,所述计算机可读介质使处理器或计算机实行或执行某些功能。
为清晰地说明硬件与软件的此可互换性,上文已大体就其功能性来描述了各种说明性组件、块和模块。这种功能性是实施为硬件还是软件取决于特定应用和强加于整个系统的设计约束。所属领域的普通技术人员可针对每个特定应用以不同方式来实施所描述的功能性,但此类实施决策不应被解释为会引起脱离本公开的范围。
关于本文中公开的示例描述的各种说明性逻辑块、单元、模块和控制器可以用通用处理器、DSP、ASIC、FPGA或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或其被设计以执行本文中描述的功能的任何组合来实施或执行。通用处理器可为微处理器,但在替代方案中,处理器可为任何常规处理器、控制器、微控制器或状态机。处理器还可实施为计算装置的组合,例如,DSP与微处理器的组合、多个微处理器的组合、一个或更多个微处理器结合DSP核心或任何其它此类配置。
关于本文中公开的示例描述的方法或过程的活动可直接在硬件中、在由处理器执行的软件模块中或在两者的组合中体现。也可以按与在示例中提供的次序交替的次序来执行方法或算法的步骤。软件模块可以驻留在RAM存储器、快闪存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动介质、光学介质或本领域中已知的任何其它形式的存储介质中。示例性存储介质耦合到处理器使得该处理器可从该存储介质读取信息和将信息写入到该存储介质。在替代方案中,存储介质可与处理器成整体。处理器和存储介质可驻留在专用集成电路(ASIC)中。
提供所公开的示例实施例的前述描述以使所属领域的普通技术人员能够制造或使用本公开的实施例。对这些示例的各种修改对所属领域的普通技术人员将是显而易见的,且可在不脱离本公开的精神或范围的情况下将本文中公开的原理应用到其它示例。无论从哪一点来看,应将所描述实施例考虑为只是说明性且非限制性,且本公开的范围因此由所附权利要求书而非由前述描述来指示。进入权利要求书的等效内容的意义和范围内的所有改变均涵盖在其范围内。
Claims (24)
1.一种数据存储装置即DSD,所述DSD包括:
用于存储数据的多个介质区域;以及
控制器,所述控制器被配置以:
从与所述DSD通信的多个感测装置中的感测装置接收数据用于存储在所述DSD中,其中所述多个感测装置中的每个感测装置包括检测物理条件的传感器,并且将表示所检测的物理条件的数据提供给所述DSD;
识别发送所接收的数据的所述感测装置;
从指派到所述多个感测装置的不同感测装置的多个存储提示中,使接收的数据与指派到所识别的感测装置的至少一个存储提示相关联;
基于所述至少一个存储提示和所述介质区域的至少一个特性,从所述多个介质区域选择用于存储所述接收的数据的介质区域;
在所选择的介质区域中存储所述接收的数据;
产生与从所述感测装置接收且存储于所述DSD中的所述数据相关联的元数据,所述元数据指示针对从所述感测装置接收且存储于所述DSD中的累积数据的不同部分的数据丢失风险;
确定从所述感测装置接收且存储于所述DSD中的所述累积数据的累积大小是否已达到第一大小阈值;以及
响应于确定所述累积大小已达到所述第一大小阈值,则基于所产生的元数据识别从所述感测装置接收且存储于所述DSD中的所述累积数据的所述至少一部分以供删除或压缩。
2.根据权利要求1所述的DSD,其中所述至少一个存储提示包含写访问简档、读访问简档、用于从所述感测装置接收的数据的优先权和从所述感测装置接收的数据是否与从所述多个感测装置中的不同感测装置接收的其它数据有关中的至少一个。
3.根据权利要求1所述的DSD,其中所述控制器被进一步配置以产生用于管理所述接收的数据的数据存储大小的与所述接收的数据相关联的元数据。
4.根据权利要求1所述的DSD,其中所述介质区域的所述至少一个特性包含以下中的至少一个:所述介质区域的介质类型、所述介质区域的使用水平、所述介质区域的剩余可使用寿命、所述介质区域的可用存储容量、存储于所述介质区域中的数据的碎片化程度、与操作所述介质区域相关联的功率的电平、所述介质区域中的区的数目、从所述介质区域读取数据的时间和在所述介质区域中写入数据的时间。
5.根据权利要求1所述的DSD,其中所述至少一个存储提示包含从所述感测装置接收的数据是与从所述多个感测装置中的不同感测装置接收的其它数据有关的指示,且其中所述控制器被进一步配置以基于所述至少一个存储提示从所述多个介质区域选择介质区域,使得将所述接收的数据存储于与从所述不同感测装置接收的所述其它数据相同的介质区域中。
6.根据权利要求1所述的DSD,其中所述至少一个存储提示包含指示从所述感测装置接收的数据具有大于阈值速率的数据速率或在大于预定时间周期内连续的写访问简档,且其中所述控制器被进一步配置以基于所述写访问简档选择所述介质区域,使得将所述接收的数据存储于旋转磁盘上的重叠磁道中。
7.根据权利要求1所述的DSD,其中所述至少一个存储提示包含指示从所述感测装置接收的数据具有小于阈值速率的数据速率或在大于预定时间周期内不连续的写访问简档,且其中所述控制器被进一步配置以基于所述写访问简档选择所述介质区域,使得将所述接收的数据存储于旋转磁盘上的非重叠磁道中或非易失性固态存储器即NVSM的一部分中。
8.根据权利要求1所述的DSD,其中所述介质区域的所述至少一个特性指示所述介质区域的剩余可使用寿命已达到使用阈值或所述介质区域的可用存储容量已达到容量阈值,且其中所述控制器被进一步配置以基于所述介质区域的所述剩余可使用寿命已达到所述使用阈值或所述介质区域的所述可用存储容量已达到所述容量阈值的所述指示来压缩所述接收的数据。
9.根据权利要求1所述的DSD,其中所述控制器被进一步配置以:
响应于确定所述累积大小已达到所述第一大小阈值,则删除或压缩从所述感测装置接收且存储于所述DSD中的所述累积数据的所述至少一部分以达到用于从所述感测装置接收且存储于所述DSD中的所述累积数据的第二大小阈值。
10.根据权利要求1所述的DSD,其中所述控制器被进一步配置以:
选择一个或更多个介质区域用于基于存储于所述一个或更多个介质区域中的无效数据的量执行垃圾收集过程,其中所述垃圾收集过程回收所述一个或更多个介质区域的至少一部分用于存储新数据;以及
作为所述垃圾收集过程的部分,在所述一个或更多个介质区域中识别有效数据以供删除或压缩。
11.根据权利要求10所述的DSD,其中所述控制器被进一步配置以使用所述至少一个存储提示或由所述DSD产生的元数据来识别所述有效数据以供删除或压缩。
12.一种操作数据存储装置即DSD的方法,所述方法包括:
从与所述DSD通信的多个感测装置中的感测装置接收数据用于存储在所述DSD中,其中所述多个感测装置中的每个感测装置包括检测物理条件的传感器,并且将表示所检测的物理条件的数据提供给所述DSD;
识别发送所接收的数据的所述感测装置;
从指派到所述多个感测装置的不同感测装置的多个存储提示中,使接收的数据与指派到所识别的感测装置的至少一个存储提示相关联;
基于所述至少一个存储提示和用于存储所述接收的数据的所述DSD的介质区域的至少一个特性,从所述DSD的多个介质区域选择用于存储所述接收的数据的介质区域;
在所选择的介质区域中存储所述接收的数据;
产生与从所述感测装置接收且存储于所述DSD中的所述数据相关联的元数据,所述元数据指示针对从所述感测装置接收且存储于所述DSD中的累积数据的不同部分的数据丢失风险;
确定从所述感测装置接收且存储于所述DSD中的所述累积数据的累积大小是否已达到第一大小阈值;以及
响应于确定所述累积大小已达到所述第一大小阈值,则基于所产生的元数据识别从所述感测装置接收且存储于所述DSD中的所述累积数据的所述至少一部分以供删除或压缩。
13.根据权利要求12所述的方法,其中所述至少一个存储提示包含写访问简档、读访问简档、用于从所述感测装置接收的数据的优先权和从所述感测装置接收的数据是否与从所述多个感测装置中的不同感测装置接收的其它数据有关中的至少一个。
14.根据权利要求12所述的方法,进一步包括产生用于管理所述接收的数据的数据存储大小的与所述接收的数据相关联的元数据。
15.根据权利要求12所述的方法,其中所述介质区域的所述至少一个特性包含以下中的至少一个:所述介质区域的介质类型、所述介质区域的使用水平、所述介质区域的剩余可使用寿命、所述介质区域的可用存储容量、存储于所述介质区域中的数据的碎片化程度、与操作所述介质区域相关联的功率的电平、所述介质区域中的区的数目、从所述介质区域读取数据的时间和在所述介质区域中写入数据的时间。
16.根据权利要求12所述的方法,其中所述至少一个存储提示包含从所述感测装置接收的数据是与从所述多个感测装置中的不同感测装置接收的其它数据有关的指示,且其中所述方法进一步包括基于所述至少一个存储提示从所述多个介质区域选择介质区域,使得将所述接收的数据存储于与从所述不同感测装置接收的所述其它数据相同的介质区域中。
17.根据权利要求12所述的方法,其中所述至少一个存储提示包含指示从所述感测装置接收的数据具有大于阈值速率的数据速率或在大于预定时间周期内连续的写访问简档,且其中所述方法进一步包括基于所述写访问简档选择所述介质区域,使得将所述接收的数据存储于旋转磁盘上的重叠磁道中。
18.根据权利要求12所述的方法,其中所述至少一个存储提示包含指示从所述感测装置接收的数据具有小于阈值速率的数据速率或在大于预定时间周期内不连续的写访问简档,且其中所述方法进一步包括基于所述写访问简档选择所述介质区域,使得将所述接收的数据存储于旋转磁盘上的非重叠磁道中或非易失性固态存储器即NVSM的一部分中。
19.根据权利要求12所述的方法,其中所述介质区域的所述至少一个特性指示所述介质区域的剩余可使用寿命已达到使用阈值或所述介质区域的可用存储容量已达到容量阈值,且其中所述方法进一步包括基于所述介质区域的所述剩余可使用寿命已达到所述使用阈值或所述介质区域的所述可用存储容量已达到所述容量阈值的所述指示来压缩所述接收的数据。
20.根据权利要求12所述的方法,其进一步包括:
响应于确定所述累积大小已达到所述第一大小阈值,删除或压缩从所述感测装置接收且存储于所述DSD中的所述累积数据的所述至少部分以达到用于从所述感测装置接收且存储于所述DSD中的所述累积数据的第二大小阈值。
21.根据权利要求12所述的方法,进一步包括基于所述至少一个存储提示和所述介质区域的所述至少一个特性中的至少一个执行垃圾收集过程,其中所述垃圾收集过程回收存储数据的所述介质区域的一个或更多个部分以可用于存储新数据。
22.根据权利要求12所述的方法,进一步包括:
选择一个或更多个介质区域用于基于存储于所述一个或更多个介质区域中的无效数据的量执行垃圾收集过程,其中所述垃圾收集过程回收所述一个或更多个介质区域的至少一部分用于存储新数据;以及
作为所述垃圾收集过程的部分,在所述一个或更多个介质区域中识别有效数据以供删除或压缩。
23.根据权利要求22所述的方法,进一步包括使用所述至少一个存储提示或由所述DSD产生的元数据来识别所述有效数据以供删除或压缩。
24.一种存储计算机可执行指令的非瞬时性计算机可读介质,所述计算机可执行指令用于操作数据存储装置即DSD,其中当所述计算机可执行指令由所述DSD的控制器执行时,所述计算机可执行指令致使所述控制器:
从与所述DSD通信的多个感测装置中的感测装置接收数据用于存储在所述DSD中,其中所述多个感测装置中的每个感测装置包括检测物理条件的传感器,并且将表示所检测的物理条件的数据提供给所述DSD;
识别发送所接收的数据的所述感测装置;
从指派到所述多个感测装置的不同感测装置的多个存储提示中,使接收的数据与指派到所识别的感测装置的至少一个存储提示相关联;以及
基于所述至少一个存储提示和用于存储所述接收的数据的所述DSD的介质区域的至少一个特性,从所述DSD的多个介质区域选择用于存储所述接收的数据的介质区域;
在所选择的介质区域中存储所述接收的数据;
产生与从所述感测装置接收且存储于所述DSD中的所述数据相关联的元数据,所述元数据指示针对从所述感测装置接收且存储于所述DSD中的累积数据的不同部分的数据丢失风险;
确定从所述感测装置接收且存储于所述DSD中的所述累积数据的累积大小是否已达到第一大小阈值;以及
响应于确定所述累积大小已达到所述第一大小阈值,则基于所产生的元数据识别从所述感测装置接收且存储于所述DSD中的所述累积数据的所述至少一部分以供删除或压缩。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/871,054 US10162521B2 (en) | 2015-09-30 | 2015-09-30 | Media region management based on storage hints for a data storage device |
US14/871,054 | 2015-09-30 | ||
PCT/US2016/054004 WO2017058816A1 (en) | 2015-09-30 | 2016-09-27 | Media region management for data storage device |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107710143A CN107710143A (zh) | 2018-02-16 |
CN107710143B true CN107710143B (zh) | 2021-02-26 |
Family
ID=58409273
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680036450.3A Active CN107710143B (zh) | 2015-09-30 | 2016-09-27 | 用于数据存储装置的介质区域管理 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10162521B2 (zh) |
EP (1) | EP3292463B8 (zh) |
CN (1) | CN107710143B (zh) |
WO (1) | WO2017058816A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102374668B1 (ko) * | 2015-08-31 | 2022-03-17 | 삼성전자주식회사 | 전력 공급 중단의 경향에 따라 불휘발성 메모리를 다르게 관리하는 스토리지 장치 |
KR20170056331A (ko) * | 2015-11-13 | 2017-05-23 | 한국전자통신연구원 | 정보 처리 시스템 및 그것의 정보 처리 방법 |
US10170151B2 (en) * | 2016-02-29 | 2019-01-01 | Microsemi Solutions (U.S.), Inc. | Method and system for handling random access write requests for a shingled magnetic recording hard disk drive |
US20170371593A1 (en) * | 2016-06-23 | 2017-12-28 | Qualcomm Incorporated | Selective flash memory compression/decompression using a storage usage collar |
US10510374B2 (en) * | 2017-07-05 | 2019-12-17 | Seagate Technology Llc | Self-healing in a storage system |
US9990949B1 (en) * | 2017-09-05 | 2018-06-05 | Seagate Technology Llc | Multi-channel data recording |
TWI790512B (zh) * | 2020-12-15 | 2023-01-21 | 宏碁股份有限公司 | 儲存控制方法與儲存系統 |
US11513895B1 (en) * | 2021-06-11 | 2022-11-29 | Western Digital Technologies, Inc. | Data storage device processing problematic patterns as erasures |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1296223A (zh) * | 1999-11-15 | 2001-05-23 | 索尼公司 | 半导体存储介质 |
CN103891265A (zh) * | 2011-09-26 | 2014-06-25 | 高智83基金会有限责任公司 | 可远程控制的数字摄影机系统 |
CN104657500A (zh) * | 2015-03-12 | 2015-05-27 | 浪潮集团有限公司 | 一种基于key-value键值对的分布式存储方法 |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW514884B (en) | 1999-12-03 | 2002-12-21 | Koninkl Philips Electronics Nv | Allocating real time data on a disc like recording medium |
US6839802B2 (en) * | 2000-12-08 | 2005-01-04 | International Business Machines Corporation | Method, system, and program for writing files to zone formatted storage media to improve data transfer rates |
US7124152B2 (en) * | 2001-10-31 | 2006-10-17 | Seagate Technology Llc | Data storage device with deterministic caching and retention capabilities to effect file level data transfers over a network |
US7043619B1 (en) * | 2002-01-14 | 2006-05-09 | Veritas Operating Corporation | Storage configurator for determining an optimal storage configuration for an application |
US7124272B1 (en) * | 2003-04-18 | 2006-10-17 | Symantec Corporation | File usage history log for improved placement of files in differential rate memory according to frequency of utilizations and volatility of allocation space |
JP4380240B2 (ja) | 2003-07-01 | 2009-12-09 | 株式会社日立製作所 | ヒントに基づく記憶領域の割当と性能保証方法、記憶装置及び管理プログラム |
US7523140B2 (en) | 2004-03-01 | 2009-04-21 | Sandisk Il Ltd. | File system that manages files according to content |
US9002795B2 (en) * | 2006-01-26 | 2015-04-07 | Seagate Technology Llc | Object-based data storage device |
DE102006018959B4 (de) | 2006-04-24 | 2018-12-20 | Robert Bosch Gmbh | Videoaufzeichnungssystem, Verfahren und Computerprogramm zur Speicherplatzverteilung in einem Videoaufzeichnungssystem |
US7826161B2 (en) * | 2006-06-30 | 2010-11-02 | Seagate Technology Llc | Object based storage device with storage medium having varying media characteristics |
US7873673B2 (en) * | 2007-03-02 | 2011-01-18 | Samsung Electronics Co., Ltd. | Method and system for data aggregation in a sensor network |
US7853759B2 (en) * | 2007-04-23 | 2010-12-14 | Microsoft Corporation | Hints model for optimization of storage devices connected to host and write optimization schema for storage devices |
US8082330B1 (en) * | 2007-12-28 | 2011-12-20 | Emc Corporation | Application aware automated storage pool provisioning |
US7984200B1 (en) * | 2008-09-23 | 2011-07-19 | Western Digital Technologies, Inc. | Configuring a data storage device with a configuration data record set in response to a configuration code |
US8214621B2 (en) | 2009-04-29 | 2012-07-03 | Microsoft Corporation | Storage optimization across media with differing capabilities |
EP2264604A1 (en) | 2009-06-15 | 2010-12-22 | Thomson Licensing | Device for real-time streaming of two or more streams in parallel to a solid state memory device array |
US8381213B1 (en) * | 2010-06-30 | 2013-02-19 | Emc Corporation | Method for dynamic management of system resources through application hints |
US8239584B1 (en) * | 2010-12-16 | 2012-08-07 | Emc Corporation | Techniques for automated storage management |
US8760788B2 (en) * | 2011-06-02 | 2014-06-24 | International Business Machines Corporation | System and computer program product for fast recovery to a write state |
WO2013025206A2 (en) | 2011-08-16 | 2013-02-21 | Empire Technology Development Llc | Allocating data to plurality storage devices |
US8909592B2 (en) * | 2011-09-23 | 2014-12-09 | Fujitsu Limited | Combining medical binary decision diagrams to determine data correlations |
JP2013074534A (ja) | 2011-09-28 | 2013-04-22 | Sharp Corp | 記録装置、配信装置、記録方法、プログラム、及び記録媒体 |
US9256222B2 (en) * | 2012-07-18 | 2016-02-09 | International Business Machines Corporation | Sensor virtualization through cloud storage and retrieval mechanisms |
US9760306B1 (en) * | 2012-08-28 | 2017-09-12 | EMC IP Holding Company LLC | Prioritizing business processes using hints for a storage system |
WO2014088445A1 (en) * | 2012-12-05 | 2014-06-12 | Emc Corporation | Storage resource usage analysis for customized application options |
US9063861B1 (en) * | 2012-12-27 | 2015-06-23 | Emc Corporation | Host based hints |
EP2973071B1 (en) | 2013-03-15 | 2020-05-06 | Fluke Corporation | Automatic recording and graphing of measurement data |
US9317215B2 (en) * | 2013-05-23 | 2016-04-19 | Globalfoundries Inc. | Mapping a source workload pattern for a source storage system to a target workload pattern for a target storage system |
-
2015
- 2015-09-30 US US14/871,054 patent/US10162521B2/en active Active
-
2016
- 2016-09-27 CN CN201680036450.3A patent/CN107710143B/zh active Active
- 2016-09-27 EP EP16852423.9A patent/EP3292463B8/en active Active
- 2016-09-27 WO PCT/US2016/054004 patent/WO2017058816A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1296223A (zh) * | 1999-11-15 | 2001-05-23 | 索尼公司 | 半导体存储介质 |
CN103891265A (zh) * | 2011-09-26 | 2014-06-25 | 高智83基金会有限责任公司 | 可远程控制的数字摄影机系统 |
CN104657500A (zh) * | 2015-03-12 | 2015-05-27 | 浪潮集团有限公司 | 一种基于key-value键值对的分布式存储方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3292463B8 (en) | 2023-07-26 |
CN107710143A (zh) | 2018-02-16 |
US10162521B2 (en) | 2018-12-25 |
EP3292463A1 (en) | 2018-03-14 |
EP3292463A4 (en) | 2018-09-05 |
EP3292463B1 (en) | 2023-06-14 |
WO2017058816A1 (en) | 2017-04-06 |
US20170090763A1 (en) | 2017-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107710143B (zh) | 用于数据存储装置的介质区域管理 | |
US7965465B2 (en) | Techniques for storing shingle blocks in a cache memory using a data storage device | |
US10496535B2 (en) | Power-safe data management system | |
US10740242B2 (en) | Sensing device data caching | |
US9923562B1 (en) | Data storage device state detection on power loss | |
CN107710142B (zh) | 用于数据存储装置的数据保留管理 | |
US9263088B2 (en) | Data management for a data storage device using a last resort zone | |
US9129628B1 (en) | Data management for data storage device with different track density regions | |
US8738882B2 (en) | Pre-organization of data | |
US7525745B2 (en) | Magnetic disk drive apparatus and method of controlling the same | |
US9348520B2 (en) | Lifetime extension of non-volatile semiconductor memory for data storage device | |
US10140067B1 (en) | Data management for data storage device with multiple types of non-volatile memory media | |
CN105096964A (zh) | 数据存储设备的减振 | |
JP2007193449A (ja) | 情報記録装置及びその制御方法 | |
US20100232048A1 (en) | Disk storage device | |
JP2007193865A (ja) | 情報記録装置及びその制御方法 | |
US20080244173A1 (en) | Storage device using nonvolatile cache memory and control method thereof | |
US20160124650A1 (en) | Data Storage Device and Flash Memory Control Method | |
US20200097215A1 (en) | Adaptive solid state device management based on data expiration time | |
US9785563B1 (en) | Read command processing for data storage system based on previous writes | |
US20160170891A1 (en) | Disk apparatus and control method | |
JP5482424B2 (ja) | 半導体メモリ装置および半導体メモリシステム | |
KR20140074704A (ko) | 데이터 저장 장치 및 이의 동작 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |