CN115016725A - 用于管理存储设备的方法、设备和计算机程序产品 - Google Patents
用于管理存储设备的方法、设备和计算机程序产品 Download PDFInfo
- Publication number
- CN115016725A CN115016725A CN202110244300.4A CN202110244300A CN115016725A CN 115016725 A CN115016725 A CN 115016725A CN 202110244300 A CN202110244300 A CN 202110244300A CN 115016725 A CN115016725 A CN 115016725A
- Authority
- CN
- China
- Prior art keywords
- data access
- storage device
- storage
- determining
- access component
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 69
- 238000004590 computer program Methods 0.000 title claims abstract description 18
- 230000015556 catabolic process Effects 0.000 claims description 12
- 238000006731 degradation reaction Methods 0.000 claims description 12
- 238000010586 diagram Methods 0.000 description 21
- 238000012545 processing Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 12
- 238000001514 detection method Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 238000012544 monitoring process Methods 0.000 description 6
- 230000004886 head movement Effects 0.000 description 5
- 230000002829 reductive effect Effects 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000000670 limiting effect Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 239000000314 lubricant Substances 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- 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/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- 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/0653—Monitoring storage devices or systems
-
- 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
-
- 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
- G06F3/0674—Disk device
- G06F3/0676—Magnetic disk device
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)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开的实施例涉及用于管理存储设备的方法、电子设备和计算机程序产品。该方法包括基于存储设备的数据访问频率来确定存储设备的数据访问部件是否将发生移动;如果确定数据访问部件将发生移动,基于前次访问的数据在存储设备中的存储位置来确定存储设备中的第一存储单元,数据访问部件位于与第一存储单元相对应的第一空间位置处;以及发送针对存储设备中与第一存储单元相邻的第二存储单元中的数据的读请求,以使数据访问部件从第一空间位置移动至与第二存储单元相对应的第二空间位置。本公开的实施例能够减小存储设备数据访问的延时。
Description
技术领域
本公开的实施例总体涉及数据存储领域,具体涉及用于管理存储设备的方法、设备和计算机程序产品。
背景技术
不同用户通常以不同的数据访问频率对存储设备进行数据访问。在存储设备的数据访问频率较低的时间段,输入/输出(I/O)请求的时间间隔较长,这样的时间通常被称为存储设备的空闲时间。在存储设备的空闲时间期间,存储设备的磁头可能会发生较大的移动。这种磁头的较大移动有时会引起存储设备的数据访问延时增大,进而引起存储设备的性能下降。
发明内容
本公开的实施例提供了用于管理存储设备的方法、设备和计算机程序产品。
在本公开的第一方面,提供了一种管理存储设备的方法。该方法包括基于存储设备的数据访问频率来确定存储设备的数据访问部件是否将发生移动;如果确定该数据访问部件将发生移动,基于前次访问的数据在存储设备中的存储位置来确定存储设备中的第一存储单元,数据访问部件位于与第一存储单元相对应的第一空间位置处;以及发送针对存储设备中与该第一存储单元相邻的第二存储单元中的数据的读请求,以使数据访问部件从该第一空间位置移动至与该第二存储单元相对应的第二空间位置。
在本公开的第二方面,提供了一种电子设备。该电子设备包括至少一个处理单元和至少一个存储器。至少一个存储器被耦合到至少一个处理单元并且存储用于由至少一个处理单元执行的指令。该指令当由至少一个处理单元执行时使得电子设备执行动作,该动作包括基于存储设备的数据访问频率来确定存储设备的数据访问部件是否将发生移动;如果确定该数据访问部件将发生移动,基于前次访问的数据在存储设备中的存储位置来确定存储设备中的第一存储单元,数据访问部件位于与该第一存储单元相对应的第一空间位置处;以及发送针对存储设备中与该第一存储单元相邻的第二存储单元中的数据的读请求,以使数据访问部件从该第一空间位置移动至与该第二存储单元相对应的第二空间位置。
在本公开的第三方面,提供了一种计算机程序产品。该计算机程序产品被有形地存储在非瞬态计算机存储介质中并且包括机器可执行指令。该机器可执行指令在由设备执行时使该设备执行根据本公开的第一方面所描述的方法的任意步骤。
提供发明内容部分是为了以简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。发明内容部分无意标识本公开的关键特征或必要特征,也无意限制本公开的范围。
附图说明
通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,在本公开示例性实施例中,相同的参考标号通常代表相同部件。
图1示出了根据本公开的一些实施例能够在其中实现的示例系统的示意图;
图2示出了根据本公开的一些实施例的对存储设备进行管理的示例方法的示意图;
图3示出了根据本公开的一些实施例的对存储设备进行管理的示意性框图;
图4示出了根据本公开的一些实施例的确定存储设备的数据访问部件是否将发生移动的示例方法的示意图;
图5示出了本公开的一些实施例的确定发送读请求的时间的示例方法的示意图;以及
图6示出了可以用来实施本公开内容的实施例的示例设备的示意性框图。
在各个附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施例。虽然附图中显示了本公开的优选实施例,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
存储设备的数据访问频率较低的时间段通常被称为空闲时间。某些存储设备在空闲时间通常会发生磁头的移动。例如,对于某些存储设备,磁头的长时间固定不动可能会导致润滑油滴落到存储设备的盘片上而造成存储设备的损坏。因此,通常在存储设备的固件(Firmware)中预先设置了预定的空闲时间值。如果在长达预定的空闲时间值的时间段内,存储设备上没有发生任何数据访问,则固件会执行移动磁头的操作。
又如,对于某些存储设备,其固件中设置了预定的空闲时间值。如果在长达预定的空闲时间值的时间段内,存储设备上没有发生任何数据访问,则固件会执行将磁头移动到某一预定位置来进行日志记录等的操作。
存储设备的这种在空闲时间移动磁头的操作,可能会造成存储设备的性能下降以及高速缓存(cache)读取数据的效率降低的问题。例如,如果在进行数据访问的过程中发生了磁头移动,那么对于其后进行的下一数据访问,磁头需要移动回原来的位置来进行数据访问。因此,这会引起磁头的反复移动。这种磁头的反复移动增加了I/O请求的延时,进而影响了存储设备的性能表现。另一方面,这种磁头移动可能会在高速缓存的一次读取尚未结束时发生。高速缓存需要等到磁头再次移动回原位置时才能继续进行这一次未完成的读取。这会降低高速缓存读取数据的效率。因此,为了提高存储设备的性能以及提高高速缓存读取数据的效率,需要对存储设备的磁头移动进行管理。
在常规方案中,通过对存储设备的固件升级来改变预定的空闲时间值,从而防止磁头的不期望的移动。例如,可以通过将存储设备的固件中的预定的空闲时间值设置为较大的值,例如1秒(s),来解决磁头移动对存储设备的性能的影响。
上述常规方案在实际使用中遇到了一些问题。例如,为了防止磁头的不期望的移动,有些生产商将固件中预定的空闲时间值设置为1s。某些用户的数据访问频率可能具有这样的特点:总是以较长的,例如0.99s的时间间隔来访问数据。在这种情况下,存储设备的磁头将保持基本不动。存储设备的磁头的这种长时间基本不动会引起润滑油滴落而造成磁盘损坏的问题。
实际上,对于不同的用户,存储设备的数据访问情况并不相同。因此对不同的用户的存储设备设置相同的空闲时间值可能会引起许多潜在的问题,例如上文所描述的润滑油滴落造成磁盘损坏的问题。然而,同一类型的存储设备的固件是由存储设备的生产商设置的并且是相同的,不可由客户自行更改。因此,这种通过对存储设备的固件升级来修改预定的空闲时间值的方法无法适应不同的用户的需求。
此外,存储设备的固件的升级的发布周期较长,用户需要等待相当长的一段时间才能获得存储设备的升级的固件来解决磁头的移动问题。另外,由于不同类型的存储设备的固件不同,需要对所有类型的存储设备的固件均进行升级来解决上述问题。
本公开的实施例提出了一种管理存储设备的方案,以解决上述问题和其他潜在问题中的一个或多个。在该方案中,基于存储设备的数据访问频率来确定存储设备的数据访问部件(例如,磁头)是否将发生移动。如果确定数据访问部件将发生移动,基于前次访问的数据在存储设备中的存储位置来确定数据访问部件所位于的第一空间位置。该方案还包括发送针对与第一空间位置相邻的第二空间位置所对应的数据读请求,以使数据访问部件从第一空间位置移动至第二空间位置。
本公开的实施例能够适应不同的用户。通过对不同的用户的数据访问频率进行确定来确定磁头是否将发送移动,进而避免磁头不期望的移动。通过这种方式,还能够减小存储设备的数据访问延时,并且提高高速缓存读取数据的效率。
以下将参考附图来详细描述本公开的实施例。
图1示出了根据本公开的一些实施例能够在其中实现的示例存储系统100的示意图。存储系统100包括计算设备110以及用于存储数据的存储设备120。存储设备120包括固件130以及数据访问部件140。计算设备110可以对存储设备120中所存储的数据进行访问。例如,计算设备110可以通过数据访问部件140来对存储设备120中的数据进行访问。
在一些实施例中,当计算设备110发出对存储设备120中的数据的访问请求(例如,读请求或写请求)时,数据访问部件140会移动到该数据所位于的空间位置并对该数据进行访问。计算设备110可以通过各种数据传输协议或方式对数据访问部件140所访问的数据进行访问。计算设备110可以以顺序方式或者随机方式发送对存储设备120中的数据的访问请求(例如,读请求或写请求)。在一些实施例中,存储设备120可以是磁盘,并且数据访问部件可以是磁盘的磁头。在一些实施例中,存储设备120可以是磁带,并且数据访问部件140可以是磁带的磁头。
存储设备120还包括固件130,固件130是由存储设备120的生产商所发布的、存储设备120中预装的固件130。固件130中设置有预定的空闲时间值以及对数据访问部件140的预定的操作等。如果确定存储设备120的数据访问部件140在长达预定的空闲时间值的时间内没有进行数据访问操作,则触发固件130中对数据访问部件140的预定的操作。例如,预定的操作可以是使数据访问部件140移动某一较大的距离,或者移动到某一较远的预定的空间位置处。应当理解,固件130中还可以包括关于存储设备120的其他参数以及其他预定的操作。
应当理解,图1中示例存储系统100仅仅是示例性的,而非是限制性的。根据本公开的实施例,可以以任何合适的方式实现存储系统100。例如,存储系统100可以包括任意适当数目的存储设备120,并且这些存储设备120可以是任何适当的方式连接或设置。存储设备120的示例可以包括但不限于硬盘设备、硬盘设备驱动(HDD)、磁盘冗余阵列(RAID)或其他硬盘设备等。
图2示出了根据本公开的一些实施例的用于管理存储设备120的示例方法200的流程图。方法200例如可以由如图1所示的存储系统100的计算设备110来执行。应当理解,方法200还可以被其他适当的设备或装置执行。方法200可以包括未示出的附加动作和/或可以省略所示出的动作,本公开的范围在此方面不受限制。以下结合图1来详细描述方法200。
如图2所示,在210处,基于存储设备120的数据访问频率来确定存储设备120的数据访问部件140是否将发生移动。如果存储设备120的数据访问频率较低,则确定数据访问部件140将发生移动。
在一些实施例中,可以基于存储设备120的数据访问的历史记录来确定存储设备120的数据访问频率。例如,可以基于历史记录来确定存储设备120在当前时间之前的预定长度的一段时间内(例如,10s)的I/O请求的多个时间间隔。如果多个时间间隔中的每个时间间隔均大于时间间隔阈值,则表示存储设备120的数据访问频率较低,则确定数据访问部件140将会发生移动。例如,时间间隔阈值可以被预先设置为100毫秒(ms)。应当理解,这仅仅是示意性的,在一些实施例中,时间间隔阈值可以被设置为任意的时间长度值。
在一些实施例中,还可以使用其他方式确定存储设备120的数据访问频率。例如,可以基于历史记录来确定存储设备120在当前时间之前的预定长度的一段时间内的I/O请求的平均时间间隔。如果平均时间间隔大于预定的时间间隔阈值,则表示存储设备120的数据访问频率较低,则确定数据访问部件140将会发生移动。
附加地或备选地,在一些实施例中,还可以使用其他方式来确定数据访问部件140是否将发生移动。在下面的参考图3-图4的描述中,将更加详细地描述确定数据访问部件140是否将发生移动的过程。
如果在210处确定数据访问部件140将会发生移动,那么方法200进行到220。在220处,计算设备110基于前次访问的数据在存储设备120中的存储位置,来确定存储设备120的第一存储单元,数据访问部件140位于与第一存储单元相对应的第一空间位置处。例如,计算设备110基于前次访问的一批次的I/O请求在存储设备120中所对应的存储位置,来确定存储设备120的第一存储单元(例如,第一扇区)。
在一些实施例中,计算设备110可以确定前次访问的数据所对应的存储位置中的具有最大偏移量的存储地址的第一存储位置,并且将存储设备120中的包括第一存储位置的存储单元确定为第一存储单元。例如,计算设备110可以确定前次访问的一批次的I/O请求所对应的存储设备120的存储位置中的具有偏移量的存储地址的第一存储位置,并且将存储设备120中的包括第一存储位置的存储单元(例如,扇区)确定为第一存储单元。
在230处,计算设备110发送针对存储设备120中的、与第一存储单元相邻的第二存储单元中的数据的读请求,以使数据访问部件140从第一空间位置移动至与第二存储单元相对应的第二空间位置处。例如,在一些实施例中,与第一存储单元相邻的第二存储单元是沿着数据访问部件140的预定移动方向紧接在第一存储单元后的存储单元。数据访问部件140(诸如磁头)的预定移动方向可以是例如顺时针方向或逆时针方向。应当理解,数据访问部件140的预定移动方向也可以是其他适当的方向。
当计算设备110发送针对第二存储单元中的数据的读请求,存储设备120的数据访问部件140会移动至与第二存储单元相对应的空间位置处,以使计算设备110经由数据访问部件140对第二存储单元中的数据进行读取。
应当理解,上述对发送针对第二存储单元中的数据的读请求的描述仅仅是示意性的,而非限制性的。在其他实施例中,还可以使用其他方式来发送该读请求。在下面的参考图3和图5的描述中,将更加详细地描述发送针对第二存储单元中的数据的读请求的过程。
通过以上的方式,可以对存储设备120的数据访问部件140在空闲时间期间的移动进行预测。如果预测到数据访问部件140在空闲时间的移动,则通过发送读请求来使数据访问部件140进行很小的移动(例如,移动到与当前所对应的第一存储单元相邻的第二存储单元所对应的空间位置处)。
通过这种方式,能够避免数据访问部件140的不期望的较大范围的移动。此外,由于避免了数据访问部件140的较大移动,能够降低数据访问延时以及提高存储设备120的性能。通过这种方式,还能够提高高速缓存读取数据的效率。此外,该方式可以适用于不同类型的针对不同用户的存储设备120。与使用固件升级的常规方案相比,更加灵活,适应性更强。
图3示出了本公开的一些实施例的对存储设备120进行管理的更详细的示意性框图。图3中的移动确定模块310、读请求发送模块330等可以在图1所示的计算设备110中实现。应当理解,移动确定模块310、读请求发送模块330等还可以被其他适当的设备或装置执行。
如图3所示,可以使用移动确定模块310来确定数据访问部件140是否将发生移动。在一些实施例中,移动确定模块310包括设备参数检测子模块315和数据访问频率确定子模块320。设备参数检测子模块315可以获取存储设备120的固件130中所存储的关于存储设备120的系统参数,例如,存储设备120的型号、生产商等。应当理解,在一些实施例中,系统参数还可以包括与存储设备120相关的一些其他参数。例如,设备参数检测子模块315可以基于存储设备120的型号参数来确定存储设备120属于存在由于数据访问部件140的移动而造成存储设备性能下降的问题的存储设备120。
数据访问频率确定子模块320可以基于数据访问的历史记录来确定存储设备120的数据访问频率。例如,数据访问频率确定子模块320可以基于历史记录来确定存储设备120在当前时间之前的预定长度的一段时间内(例如,10s)的I/O请求的多个时间间隔。如果多个时间间隔中的每个时间间隔均大于时间间隔阈值(例如,100ms),则表示存储设备120的数据访问频率较低。
又如,数据访问频率确定子模块320可以基于历史记录来确定存储设备120在当前时间之前的预定长度的一段时间内(例如,10s)的I/O请求的平均时间间隔。如果平均时间间隔大于预定的时间间隔阈值(例如,100ms),则表示存储设备120的数据访问频率较低,则确定数据访问部件140将会发生移动。
应当理解,上述所描述的10s的时间长度以及100ms的时间间隔阈值仅仅是示意性的,而非限制性的。在一些实施例中,可以选择其他的时间长度,和/或选择其他的时间间隔阈值。
应当理解,如图3中所示的设备参数检测子模块315和数据访问频率确定子模块320可以是并行执行的两个模块,也可以是串行执行的两个模块。在下面的参考图4的描述中,将更加详细地描述使用串行执行的设备参数检测子模块315和数据访问频率确定子模块320来确定数据访问部件140是否将发生移动的过程。
通过以上的方式,可以对数据访问部件140是否将会发生不期望的移动进行预测。通过这样的方式,能够避免因数据访问部件140的移动而造成的数据访问的延时,从而改善存储设备120的性能。此外,通过这种方式,还可以提高高速缓存读取数据的效率。
返回到图3,图3中还示出了读请求发送模块330,其可以包括数据访问监测子模块335、定时子模块340以及读请求生成子模块345。在一些实施例中,数据访问监测子模块335可以基于存储设备120的历史记录来确定前次访问的数据在存储设备120中的存储位置来确定存储设备120中的第一存储单元。
在一些实施例中,数据访问监测子模块335可以基于历史记录中当前时间的前次访问的一批次的I/O请求的在存储设备120中的位置来确定第一存储单元。例如,前次访问的一批次的I/O请求中的每一个I/O请求具有相应的偏移量值和数据大小值。将前次访问的一批次的I/O请求中的每一个I/O请求的偏移量值和数据大小值的和进行排序,将偏移量值和数据大小值的和的最大值确定为第一存储位置。将存储设备120中的包括第一存储位置的存储单元确定为第一存储单元。数据访问监测子模块335可以将第一存储单元的信息送给读请求生成子模块345以供后续使用。
图3中还示出了定时子模块340,用来确定针对发送读请求的时间的第一时间间隔。定时子模块340将第一时间间隔发送给读请求生成子模块345,以使得读请求生成子模块345在与前次数据访问相隔第一时间间隔的时间生成并发送读请求。在一些实施例中,定时子模块340通过获取存储设备120的固件130中所存储的预定的空闲时间值(例如,400ms),来将第一时间间隔设置为该空闲时间值。
应当理解,上述描述的确定第一时间间隔的过程仅仅是示例性的,而非是限制性的,在其他实施例中,还可以使用其他方式来对第一时间间隔进行设置。在一些实施例中,定时子模块340还可以通过以下参考图5更详细地描述的方法500来确定第一时间间隔。
读请求生成子模块345接收到数据访问监测子模块335所发送的第一存储单元的信息,以及接收到定时子模块340所发送的第一时间间隔。基于第一存储单元的信息,读请求生成子模块345可以确定与第一存储单元相邻的第二存储单元。第二存储单元可以是沿着数据访问部件140的预定移动方向紧接在第一存储单元后的那个存储单元。
在一些实施例中,读请求生成子模块345生成针对第二存储单元中的数据的读请求(例如,大小为4k的读请求),并且在与前次数据访问相隔第一时间间隔的时间将该读请求发送到存储设备120。应当理解,读请求的大小4k仅仅是示意性的,而不是限制性的,也可以将读请求设置为其他的大小。
通过这样的方式,可以确定何时向存储设备120发送针对哪一个存储单元的读请求。存储设备120接收到该读请求而将数据访问部件移动到与当前空间位置相邻的空间位置,从而避免了数据访问部件140的较大的移动。以此方式,能够减小存储设备120的数据访问的延时,提高存储设备120的性能。
在一些实施例中,可以使用如图4所示的方法400来确定存储设备的数据访问部件140是否将发生移动。下文将结合图4更加详细地描述确定存储设备的数据访问部件140是否将发生移动的若干实施例。
图4示出了根据本公开的一些实施例的确定存储设备的数据访问部件140是否将发生移动的示例方法400的示意图。方法400可以视为方法200中的框210的示例实现。方法400例如可以由如图1所示的存储系统100的计算设备110来执行。例如,方法400可以由图3所示的实现在计算设备110处的移动确定模块310(包括设备参数检测子模块315及数据访问频率确定子模块320)来执行。应当理解,方法400还可以被其他适当的设备或装置执行。方法400可以包括未示出的附加动作和/或可以省略所示出的动作,本公开的范围在此方面不受限制。以下结合图1和图3来详细描述方法400。
如图4所示,在410处,设备参数检测子模块315可以基于存储设备120的系统参数(例如,存储设备120的型号、生产商等),来确定数据访问部件140的移动是否会导致存储设备120的性能下降。在一些实施例中,设备参数检测子模块315可以基于存储设备120的型号参数来确定存储设备120是否属于存在由于数据访问部件140的移动而造成存储设备性能下降的问题的存储设备120。如果设备参数检测子模块315确定存储设备120属于存在由于数据访问部件140的移动而造成存储设备性能下降的问题的存储设备120,则确定数据访问部件140的移动会导致存储设备120的性能下降。
如果在410处确定数据访问部件140的移动会导致存储设备120的性能下降,则方法400进行到420。在420处,数据访问频率确定子模块320确定存储设备120在当前时间之前的预定长度的时间内进行数据访问的多个数据访问时间间隔。例如,数据访问频率确定子模块320可以基于历史记录来确定存储设备120在当前时间之前的预定长度的一段时间内(例如,10s)的I/O请求的多个数据访问时间间隔。
在430处,数据访问频率确定子模块320确定多个数据访问时间间隔中的每个数据访问时间间隔是否均大于时间间隔阈值(例如,100ms)。备选地,在一些实施例中,据访问频率确定模块320可以确定多个数据访问时间间隔的平均数据访问时间间隔是否大于时间间隔阈值(例如,100ms)。
如果在430处确定多个数据访问时间间隔中的每个数据访问时间间隔均大于时间间隔阈值,则方法400进行到440。在440处,确定数据访问部件140将会发生移动。接下来,可以由计算设备110或者图3中所示的实现在计算设备110处的读请求发送模块330来执行接下来的过程。例如,可以由计算设备110来执行结合图2中220处所描述的过程。
以此方式,可以先由设备参数检测子模块315来确定数据访问部件140的移动是否会导致存储设备的性能下降。如果确定数据访问部件140的移动不会导致所述存储设备的性能下降,则不需要数据访问频率确定子模块320来执行接下来的过程。通过这样,可以节约计算设备110的计算资源,避免不必要的处理过程。
此外,通过这样的方式,能够对不同用户的不同类型的存储设备120分别进行数据访问频率的确定。由此,可以适应具有不同数据访问模式的不同的用户的不同的存储设备120,从而减小不同用户的不同的存储设备120的数据访问延时。此外,这种方式避免了对存储设备120的固件130进行升级的需求,减少了存储设备120的开发人员的工作量。该方式可以适用于不同类型的针对不同用户的存储设备120。与使用固件升级的常规方案相比,更加灵活,适应性更强。
在一些实施例中,定时子模块340还可以参考图5更详细地描述的方法500来设置第一时间间隔。图5示出了根据本公开的一些实施例的确定第一时间间隔的示例方法500的示意图。方法500例如可以由如图1所示的存储系统100的计算设备110来执行。例如,方法500还可以由图3所示的实现在计算设备110处的读请求发送模块330中的定时子模块340来执行。应当理解,方法500还可以被其他适当的设备或装置执行。方法500可以包括未示出的附加动作和/或可以省略所示出的动作,本公开的范围在此方面不受限制。以下结合图1和图3来详细描述方法500。
在510处,定时子模块340将第一时间间隔的值设置为预定的最小时间间隔值。例如,可以将第一时间间隔值设置为预定的60ms。应当理解,这仅仅是示意性的,而非限制性的,预定的最小时间间隔值也可以是其他适当的时间长度。
在520处,定时子模块340确定存储设备120进行数据访问的延时是否超过阈值(例如,20ms)。在一些实施例中,阈值也可以被设置为其他适当的时间长度。
如果在520处,定时子模块340确定存储设备120进行数据访问的延时没有超过阈值,则方法500进行到530。在530处,以预定的增量(例如,10ms)来增加第一时间间隔的值。应当理解,也可以使用其他大小的增量来增加第一时间间隔的值。在增加第一时间间隔的值之后,方法500返回到520处继续执行。
如果在520处,定时子模块340确定存储设备120进行数据访问的延时超过了阈值,则方法500进行到540。在540处,定时子模块340停止增加第一时间间隔的值,即将第一时间间隔的当前值作为优选值提供给后续的过程。
通过以上的方式,可以动态地对第一时间间隔进行确定。避免了因将第一时间间隔设置为很小的值,而引起的数据访问部件140的多次很小的移动。此外,通过递增第一时间间隔的值并且监测数据访问延时是否超过阈值,可以将第一时间间隔设置为尽可能大的值。通过这样,能够更好地避免数据访问部件140的不期望的较大移动,从而减小数据访问的延时。
针对本文参考图1-图5所描述的方案,使用某型号的存储设备进行了多次的实验验证。以下的表1示出了针对随机读请求数据访问的未使用本方案的数据访问延时与使用本方案的数据访问延时的对比。从表1的对比结果可以看出,对于不同大小的随机读请求,使用本方案的数据访问延时均有显著减小。
表1随机读请求的延时对比示例
以下的表2-表3分别示出了针对顺序读请求和顺序写请求的数据访问的未使用本方案的数据访问延时与使用本方案的数据访问延时的对比。从表2-表3的对比结果可以看出,对于不同大小的顺序读请求和顺序写请求,使用本方案的数据访问延时均有显著减小。
表2顺序读请求的延时对比示例
表3顺序写请求的延时对比示例
通过以上的表1-表3可以看出,本公开所描述的方案能够很好地减小存储设备120的数据访问的延时,提高存储设备120的性能。特别是对于顺序数据访问,这种数据访问延时的减小更为显著。因此,本公开的方案能够显著提高在数据访问频率较低的时间段的存储设备120的性能表现。
图6示出了可以用来实施本公开内容的实施例的示例设备600的示意性框图。例如,如图1所示的存储系统100可以由设备600实施。如图6所示,设备600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的计算机程序指令或者从存储单元608加载到随机访问存储器(RAM)603中的计算机程序指令,来执行各种适当的动作和处理。在RAM 603中,还可存储设备600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
设备600中的多个部件连接至I/O接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各个过程和处理,例如方法200、400和/或500,可由处理单元601执行。例如,在一些实施例中,方法200、400和/或500可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由ROM 602和/或通信单元609而被载入和/或安装到设备600上。当计算机程序被加载到RAM 603并由CPU 601执行时,可以执行上文描述的方法200、400和/或500的一个或多个动作。
本公开可以是方法、装置、系统和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是——但不限于——电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (15)
1.一种管理存储设备的方法,包括:
基于所述存储设备的数据访问频率来确定所述存储设备的数据访问部件是否将发生移动;
如果确定所述数据访问部件将发生移动,基于前次访问的数据在所述存储设备中的存储位置来确定所述存储设备中的第一存储单元,所述数据访问部件位于与所述第一存储单元相对应的第一空间位置处;以及
发送针对所述存储设备中的、与所述第一存储单元相邻的第二存储单元中的数据的读请求,以使所述数据访问部件从所述第一空间位置移动至与所述第二存储单元相对应的第二空间位置。
2.根据权利要求1所述的方法,其中确定所述存储设备的所述第一存储单元包括:
确定所述存储位置中的具有最大偏移量的存储地址的第一存储位置;以及
将所述存储设备中的包括所述第一存储位置的存储单元确定为所述第一存储单元。
3.根据权利要求1所述的方法,其中发送所述读请求包括:
在与前次数据访问相隔第一时间间隔的时间发送所述读请求。
4.根据权利要求3所述的方法,还包括:
递增所述第一时间间隔的值;以及
如果确定所述存储设备进行数据访问的延时超过阈值,则停止递增所述第一时间间隔的所述值。
5.根据权利要求1所述的方法,其中确定所述存储设备的所述数据访问部件是否将发生移动包括:
确定所述存储设备在当前时间之前的预定长度的时间内进行数据访问的多个数据访问时间间隔;以及
如果确定所述多个数据访问时间间隔中的每一个数据访问时间将均大于时间间隔阈值,则确定所述数据访问部件将发生移动。
6.根据权利要求5所述的方法,其中确定所述数据访问时间间隔包括:
基于所述存储设备的系统参数,来确定所述数据访问部件的移动是否会导致所述存储设备的性能下降;以及
如果确定所述数据访问部件的移动会导致所述存储设备的性能下降,则确定所述多个数据访问时间间隔。
7.根据权利要求1所述的方法,其中所述存储设备是磁盘,所述数据访问部件是所述磁盘的磁头。
8.一种电子设备,包括:
至少一个处理器;以及
存储有计算机程序指令的至少一个存储器,所述至少一个存储器和所述计算机程序指令被配置为,与所述至少一个处理器一起,使得所述电子设备执行动作,所述动作包括:
基于存储设备的数据访问频率,来确定所述存储设备的数据访问部件是否将发生移动;
如果确定所述数据访问部件将发生移动,基于前次访问的数据在所述存储设备中的存储位置来确定所述存储设备中的第一存储单元,所述数据访问部件位于与所述第一存储单元相对应的第一空间位置处;以及
发送针对所述存储设备中的、与所述第一存储单元相邻的第二存储单元中的数据的读请求,以使所述数据访问部件从所述第一空间位置移动至与所述第二存储单元相对应的第二空间位置。
9.根据权利要求8所述的电子设备,其中确定所述存储设备的所述第一存储单元包括:
确定所述存储位置中的具有最大偏移量的存储地址的第一存储位置;以及
将所述存储设备中的包括所述第一存储位置的存储单元确定为所述第一存储单元。
10.根据权利要求8所述的电子设备,其中发送所述读请求包括:
在与前次数据访问相隔第一时间间隔的时间发送所述读请求。
11.根据权利要求10所述的电子设备,其中所述动作还包括:
递增所述第一时间间隔的值;以及
如果确定所述存储设备进行数据访问的延时超过阈值,则停止递增所述第一时间间隔的所述值。
12.根据权利要求8所述的电子设备,其中确定所述存储设备的所述数据访问部件是否将发生移动包括:
确定所述存储设备在当前时间之前的预定长度的时间内进行数据访问的多个数据访问时间间隔;以及
如果确定所述多个数据访问时间间隔中的每一个数据访问时间间隔均大于时间间隔阈值,则确定所述数据访问部件将发生移动。
13.根据权利要求12所述的电子设备,其中确定所述数据访问时间间隔包括:
基于所述存储设备的系统参数,来确定所述数据访问部件的移动是否会导致所述存储设备的性能下降;以及
如果确定所述数据访问部件的移动会导致所述存储设备的性能下降,则确定所述多个数据访问时间间隔。
14.根据权利要求8所述的电子设备,其中所述存储设备是磁盘,所述数据访问部件是所述磁盘的磁头。
15.一种计算机程序产品,所述计算机程序产品被有形地存储在非易失性计算机可读介质上并且包括机器可执行指令,所述机器可执行指令在被执行时使设备执行根据权利要求1-7中的任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110244300.4A CN115016725A (zh) | 2021-03-05 | 2021-03-05 | 用于管理存储设备的方法、设备和计算机程序产品 |
US17/216,343 US11966584B2 (en) | 2021-03-05 | 2021-03-29 | Method, device, and computer program product for managing storage device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110244300.4A CN115016725A (zh) | 2021-03-05 | 2021-03-05 | 用于管理存储设备的方法、设备和计算机程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115016725A true CN115016725A (zh) | 2022-09-06 |
Family
ID=83064574
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110244300.4A Pending CN115016725A (zh) | 2021-03-05 | 2021-03-05 | 用于管理存储设备的方法、设备和计算机程序产品 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11966584B2 (zh) |
CN (1) | CN115016725A (zh) |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59146355A (ja) * | 1983-02-09 | 1984-08-22 | Hitachi Ltd | 直接アクセス記憶装置のデ−タセツト再編成方法 |
US5550998A (en) * | 1993-06-14 | 1996-08-27 | Storage Technology Corporation | Pre-seeking process for enhancing reading and writing performance in a mass storage system having multiple individual disk drives |
US6574676B1 (en) * | 2000-01-11 | 2003-06-03 | International Business Machines Corporation | System and method for scheduling disk drive commands by expected total access time |
JP2003151229A (ja) * | 2001-11-08 | 2003-05-23 | Internatl Business Mach Corp <Ibm> | ディスク・ドライブ装置、アクチュエータの制御装置、ハード・ディスク・ドライブおよびディスク・ドライブ装置の制御方法 |
US7289291B1 (en) * | 2005-02-03 | 2007-10-30 | Maxtor Corporation | Disk drives and methods allowing for super silent seeks |
JP2006221451A (ja) * | 2005-02-10 | 2006-08-24 | Hitachi Ltd | ディスクアレイ装置 |
US7536504B2 (en) * | 2006-07-28 | 2009-05-19 | Diskeeper Corporation | Online storage medium transfer rate characteristics determination |
US7640412B2 (en) * | 2007-01-04 | 2009-12-29 | Hitachi Global Storage Technologies Netherlands, B.V. | Techniques for improving the reliability of file systems |
US8104047B2 (en) * | 2008-05-19 | 2012-01-24 | International Business Machines Corporation | Processing access requests for a disk drive |
US8949489B1 (en) * | 2012-03-21 | 2015-02-03 | Google Inc. | Method for combining bulk and latency-sensitive input and output |
US8699162B1 (en) * | 2012-11-18 | 2014-04-15 | HGST Netherlands B.V. | Shingled magnetic recording disk drive with multiple data zones containing different numbers of error-correction-code sectors |
US8817413B1 (en) * | 2013-07-19 | 2014-08-26 | Western Digital Technologies, Inc. | Disk lubricant management in data storage device |
US8941943B1 (en) * | 2013-12-09 | 2015-01-27 | HGST Netherlands B.V. | Dynamic variable capacity hard disk drive |
US9852754B1 (en) * | 2016-08-09 | 2017-12-26 | Seagate Technology Llc | Serpentine seeks during data storage device idle periods |
US10303392B2 (en) * | 2016-10-03 | 2019-05-28 | International Business Machines Corporation | Temperature-based disk defragmentation |
US20180275870A1 (en) * | 2017-03-21 | 2018-09-27 | International Business Machines Corporation | Efficient intra-disk data placement |
US10242704B2 (en) * | 2017-08-08 | 2019-03-26 | Western Digital Technologies, Inc. | Command clustering for data storage device |
US11561701B2 (en) * | 2020-06-04 | 2023-01-24 | EMC IP Holding Company LLC | System and method for survival forecasting of disk drives using semi-parametric transfer learning |
JP2022003599A (ja) * | 2020-06-23 | 2022-01-11 | 株式会社東芝 | 磁気ディスク装置及びリード処理方法 |
-
2021
- 2021-03-05 CN CN202110244300.4A patent/CN115016725A/zh active Pending
- 2021-03-29 US US17/216,343 patent/US11966584B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US11966584B2 (en) | 2024-04-23 |
US20220283710A1 (en) | 2022-09-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109213694B (zh) | 用于缓存管理的方法和设备 | |
US10761990B2 (en) | Methods and devices for managing cache | |
CN114020482A (zh) | 数据写入的方法和设备 | |
CN111124267B (zh) | 数据写入的方法、设备和计算机程序产品 | |
US10296234B2 (en) | Method and apparatus for adjusting throughput of storage device | |
US11366758B2 (en) | Method and devices for managing cache | |
US20200026663A1 (en) | Method, device and computer program product for managing storage system | |
US20150244827A1 (en) | Data Transmission | |
CN111124270A (zh) | 缓存管理的方法、设备和计算机程序产品 | |
US10977200B2 (en) | Method, apparatus and computer program product for processing I/O request | |
US20200387328A1 (en) | Method, device, and computer program product for managing storage system | |
CN113392042A (zh) | 用于管理缓存的方法、电子设备和计算机程序产品 | |
CN115016725A (zh) | 用于管理存储设备的方法、设备和计算机程序产品 | |
US11461133B2 (en) | Method for managing backup jobs, electronic device and computer program product | |
CN114586003A (zh) | 使用页级跟踪的加载顺序队列的推测执行 | |
US20210157683A1 (en) | Method, device and computer program product for managing data backup | |
CN115933860B (zh) | 一种处理器系统、处理请求的方法及计算设备 | |
CN113742131A (zh) | 用于存储管理的方法、电子设备和计算机程序产品 | |
CN110389857B (zh) | 数据备份的方法、设备和非瞬态计算机存储介质 | |
CN111857546A (zh) | 用于处理数据的方法、网络适配器和计算机程序产品 | |
CN111104054A (zh) | 管理输入/输出操作的方法、装置和计算机程序产品 | |
US20220137832A1 (en) | Method, electronic device and computer program product for storage management | |
CN113515229B (zh) | 存储数据的方法、装置和计算机程序产品 | |
CN115840663A (zh) | 刷写元数据的方法、电子设备和计算机程序产品 | |
US9239792B2 (en) | Sharing cache in a computing system |
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 |