CN104050090A - 中间存储中的停留所排序数据 - Google Patents
中间存储中的停留所排序数据 Download PDFInfo
- Publication number
- CN104050090A CN104050090A CN201410092516.3A CN201410092516A CN104050090A CN 104050090 A CN104050090 A CN 104050090A CN 201410092516 A CN201410092516 A CN 201410092516A CN 104050090 A CN104050090 A CN 104050090A
- Authority
- CN
- China
- Prior art keywords
- data
- storage
- random access
- rearrangement
- data block
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
- G06F12/0692—Multiconfiguration, e.g. local and global addressing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/10527—Audio or video recording; Data buffering arrangements
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/12—Formatting, e.g. arrangement of data block or words on the record carriers
- G11B20/1217—Formatting, e.g. arrangement of data block or words on the record carriers on discs
- G11B20/1252—Formatting, e.g. arrangement of data block or words on the record carriers on discs for discontinuous data, e.g. digital information signals, computer programme data
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
- G11C7/1012—Data reordering during input/output, e.g. crossbars, layers of multiplexers, shifting or rotating
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
Abstract
本申请公开了中间存储中的停留所排序数据。一种数据存储系统包括数据存储和随机存取存储器。排序模块通信地耦合到随机存取存储器并且被配置成对在所述随机存取存储器接收的输入写入数据的数据块进行排序。存储控制器通信地耦合到所述随机存取存储器和数据存储器,并且被配置来写入排序的数据块作为单独排序的数据块集到数据存储的临时区域。一种方法和处理器实现过程提供:用于排序在数据存储的随机访问存储器中接收的输入写入数据的数据块;以及写入所排序的数据块作为单独排序的数据块集合到数据存储的临时区域。
Description
相关申请的交叉引用
本申请涉及标题为“Dynamic Granule-based Intermediate Storage”并与本申请同时提交的美国申请No._______________[案卷号.STL17772],通过引用而具体并入公开内容。
背景技术
一些数据存储系统(诸如,含有旋转磁存储、磁带和/或旋转光学存储的那些)遭受相对高的等待时间(例如,在毫秒范围或更大)以达到物理存储器内的随机定位位置。一旦达到目标位置(例如,通过查找操作),数据以适度高的速率从物理存储器相对顺序传送(读或写)。有关提高数据传输速率的许多挑战之一是:在数据存储系统中所请求数据的物理位置和逻辑顺序的约束内,管理主机的传输请求。
发明概述
本文描述和请求的实施例通过在数据存储系统内的整个多层物理存储有效隔离动态映射数据而解决上述问题。该高效率的数据隔离可以减少逻辑上连续数据访问物理存储介质的行为偏差,尤其是在搭接磁记录区域中。
方法和处理器实现的过程提供:用于排序在数据存储的随机访问存储器中接收的输入写入数据的数据块;以及写入所排序的数据块作为单独排序的数据块集合到数据存储的临时区域。一种数据存储系统包括数据存储和随机存取存储器。所述排序模块通信地耦合到随机存取存储器并且被配置成对在所述随机存取存储器接收的输入写入数据的数据块进行排序。存储控制器通信地耦合到所述随机存取存储器和数据存储器,并且被配置来写入排序的数据块作为单独排序的数据块集到数据存储的临时区域。
本文中也描述和引用其它实施例。
附图简述
图1示出中间等待存储的临时区域中停留所排序数据的示例数据存储系统。
图2示出对于多排序数据的组块(chunk)具有一个或多个停留区域的示例存储介质。
图3示出基于一般增加数据组织的改变等级具有分层存储的示例数据存储系统。
图4示出其中过时数据被识别并标记为失效的示例停留区域。
图5示出在停留区域中所排序数据的组块的示例产生。
图6示出示例排序来自组块集合的数据子集,用于记录在停留区域。
图7示出示例排序来自组块集合的数据子集,用于停留区域的外部。
图8示出示例实例操作来自停留区域的组块数据块。
图9示出示例操作来自停留区域的重新组块数据块。
图10示出示例操作来自停留区域的重新排序数据块,到其他中间存储。
发明详述
图1示出示例数据存储系统100,用于在中间等待存储的停留区域102中停留所排序的数据。在图示的例子中,数据存储系统100表示具有一个或多个磁存储盘104的硬盘驱动器,但该存储介质的其他实施例可以是光盘读取器(例如,CD读/写器或DVD读取器/写入器)、磁带驱动器、固态驱动器(SSD)等的形式。数据存储系统100与主机设备106进行通信,它发送写数据并从数据存储系统100接收读出数据。
例如,主机设备106可以写数据文件到数据存储系统100,其在磁存储盘104上记录数据文件,并可以在以后从数据存储系统100中读出数据文件。在主机层,用户数据通常是结构化的可变长度的文件,它可以由一个或多个固定长度的数据块构成。数据块是主机设备106使用逻辑块地址(LBA)可寻址的。数据存储系统100包括具有数据写电路108的写入通道,所述数据写入电路108根据数据存储系统100所使用的编码方案编码数据块。一个或多个数据块可以与冗余信息相结合,以形成自包含码字用于错误检测和/或校正。
数据写入电路108通过写入控制器110写入数据块,它确定由写入控制器110向在数据存储系统100内的一层或多层数据存储写入的数据块的物理位置和顺序。当数据块写入到存储盘104时,该数据块被写入到存储盘104上的物理块地址(PBA)。LBA和PBA的映射关系可以随时间改变并被称为“动态映射”。即使映射随着时间改变,写入控制器110管理LBA和PBA之间的动态映射。存储器116可以存储由写入控制器110处理的固件指令,以实现动态映射、排序、重新分配、轻载以及由写入控制器110执行的其它功能。
在数据存储系统100中,具有连续逻辑地址的数据块组可以被记录在存储盘104上大致连续的物理位置,以实现特定数据集的查找操作之后连续数据访问的较低延迟。此外,动态映射可以被智能扩展以支持数据存储系统100中的多层物理存储,其中不同层的物理存储可以提供不同的平均存取延迟。
正如以上所提到的,写入控制器110可将数据块写入数据存储系统100内的一层或多层数据存储。例如,存储盘104的数据存储区112被称为“目标存储”,表示通常用于长期存储的物理存储区域。虽然目标存储中的数据是用于长期储存,这些数据仍然可以随着时间从目标存储位置移动到其他目标存储位置。此外,存储盘104的数据存储区114,被称为“颗粒存储”,表示其中存储在每个动态可调尺寸颗粒中的数据被限制到逻辑块地址(LBA)的特定子集的中间物理存储。尽管其它尺寸也可以使用,示例颗粒大小可以是大约1MB。事实上,颗粒可以在相同的盘片表面或甚至在相同SMR条带上具有不同尺寸。
此外,存储盘104的数据存储区102,被称为“分段区域”,表示其中逻辑块组可以递增地写入和重写在增加的连续LBA顺序的物理存储区域。例如,数据块可以由数据存储系统100以任意或稀疏LBA顺序(例如,从逻辑空间的不同区域接收数据块)从主机设备106接收。这些数据块可以物理上连续方式写入到停留区。
随机访问存储器118还表示了数据存储系统100的存储区。它的随机访问特性和低访问延迟提供了适于按照一定约束排序数据块的存储区域(例如,LBA顺序、PBA排序、最经常访问的顺序、优先级数据的顺序等)。在一个实施例中,数据被接收到所述随机存取存储器118,根据LBA顺序进行排序,并写入到称为“组块(chunk)”的数据组中的停留区,其关随机存取存储器的可用量118调整尺寸。尽管其它尺寸也可以使用,示例组块尺寸可以是64MB。
数据读出和恢复电路120可以从磁存储盘104(或从随机存取存储器118)读出数据(和适当的纠错编码),并使用错误校正编码以检测和/或纠正错误(例如,由磁存储盘104上划痕损伤引起的数据错误)。数据读取和恢复电路120然后把读出的数据(其可是校正的读取数据)发送到主机设备106。
可以各种不同的方式在随机存取存储器118接收的数据块的排序。在一个实施例中,排序可以由处理器或其它控制电路来实现,而数据块驻留在随机存取存储器118中。在替代实施例中,排序可在数据块传输到和/或从随机存取存储器118的过程中实现或,诸如通过使用分散聚集DMA(直接存储器存取)传输方案。可以使用其他排序技术和配置。
在一个数据存储系统,诸如图1的数据存储系统100,停留区域可以是非搭迭磁记录区。磁介质存储驱动器在每个存储驱动器的一个或多个磁介质的极化单元格中存储数据。磁介质存储驱动器的示例是磁光盘驱动器,其中包括以同心配置的极化单元格,大致为圆形数据轨道。在操作中,一个或多个磁盘在存储驱动器内以恒定高速旋转,而信息使用致动器组件被写入和从磁盘的轨道读出。致动器组件在查询操作期间置于邻近磁盘的轴承轴旋转。
致动器组件包括延伸朝向磁盘的一个或多个致动器臂。具有读出极和写入极的头部安装在每个致动器臂的前端。写入磁极产生磁场,所述磁场通过改变旋转磁头下方旋转的磁盘上的单元中的磁性极化而将数据写入到磁盘。读出极通过检测磁盘上单元格的磁性极化而读取来自磁盘的数据。
在非搭迭磁性介质中,相对于写入磁极的尺寸,每个磁介质的单元格具有足够大的尺寸,以允许写入磁极将数据写入到该单元格而不重写任何周围单元格的数据。结果,数据可以随机地写入到磁介质上任何地方的可用单元格。然而,随着对磁性介质的数据存储密度的增加需求,单元格大小减小。匹配地减少写入磁极的大小是困难的,因为由较大写入磁极提供的有力写入场梯度常常需要偏移磁化介质上的单元格的极性。结果,使用相对较大的写入磁极将数据写入磁化介质上的小单元格可影响相邻单元格的偏振(即,重写相邻单元格)。用于适配所述磁介质以利用更小单元格并同时防止在写操作期间重写相邻数据的一种技术是搭迭磁记录(SMR)。
SMR采用写入磁极产生的大量强烈写入场。搭迭磁记录的一项限制在于:当数据被写入到磁性介质时,它被写入到连续增加或减小半径的轨道。强写入场影响两个或多个相邻的轨道,这些轨道包括被写入到一个或多个先前写入轨道的轨道。结果,为了改变搭迭数据中的任何数据单元格,所有搭迭数据以选定顺序写命令被重新写入。
为了实现SMR增加的单元格密度,并同时补偿在该系统中缺乏随机写入的功能,可以在搭迭数据内创建一个或多个隔离区域。隔离区域(也被称为保护轨道)是不可用于记录的搭迭数据内的一个或多个相邻数据磁道的分组。在操作中,隔离区域限定搭迭数据的单独数据条带(即,由保护轨道限制的逻辑扇区的组合)。常规地,每个保护轨道足够宽,以防止在整个保护轨道的任何覆盖。因此,保护轨道创造搭迭的条带,该条带包括与其他条带隔离的一个或多个相邻轨道。因此,当条带内的一个或多个单元被改变时,重写搭迭数据的单个条带(而非所有磁盘上的搭迭数据)。
然而,数据条带中重新写入数据的一个或多个单元格仍通常包含多个步骤,包括:读出全部数据条带,记录数据条带的数据到磁盘上的介质暂存存储器(例如,临时缓存),从介质暂存区中读取数据,并使用一个或多个改变的单元格重新写入数据到原始数据条带。因此,比未搭迭的数据写入操作,搭迭数据写入操作通常更耗时且较少的功率效率。
冗余信息可以与写入数据交织以创建多逻辑块大小的码字。如果在接收到足够的附加数据已到达预测位置之前已多次追加停留区域,每次数据被写入到停留区域,该冗余信息可被包括,或冗余信息可以可预见的时间间隔被记录,以使得可以保持增量冗余。此外,写入数据到图1的停留区域(或其他停留区域)可以分步进行以在消耗暂存区空间进程之前释放停留区域大小。以这种方式,停留区域空间更可能用于新的写入数据块。
图2示出对于多排序数据的组块(chunk)具有一个或多个停留区域(诸如,停留区域202)的示例存储介质。在一个实施例中,数据存储盘204的表面包括许多同心轨道206。轨道206分布在存储器204的表面,并且可以采取任何数目的不同形式,包括(但不限于)常规的预搭迭连续记录、离散轨道记录、以及搭迭磁记录。在一些实施例中,单一的存储盘表面可以例如支持常规预搭迭的连续记录和搭迭磁记录。进一步,单一的磁盘表面的相同区域可在不同时间用于常规预搭迭的连续记录和搭迭磁性记录。在其它实施例中,不同的存储盘表面可以专用于不同的记录类型(例如,一个存储盘的表面可用于一种类型的记录,以及同一存储盘的表面或另一个存储盘可以用于不同类型的记录)。
不同类型的记录可以促进不同层次的访问延迟。通过沿着由存储在径向伺服突发扇区(诸如,伺突发扇区208)的伺服信息指定的磁道写入磁头写入数据形成传统的连续记录模式。当把数据写入到存储介质中时,写入磁头重新写入轨道部分,潜在地导致各个轨道的边界随时间的细微变化。与此相反,离散轨道记录模式包括使用非磁性轨道间隔离的同心离散轨道,其中,数据连续地沿着每个隔离的轨道记录。因此,写入磁头在写入操作过程中在离散目标轨道一致集合中写入数据。读取和写入访问到这些类型的记录区之间可能有所不同,另外,沿着轨道隔离和排序数据块也可影响存取等待时间。
搭迭磁记录采用写入磁极,该写入磁极记录比读取传感器所需要的更宽轨道。然而,在搭迭磁记录中,写入操作通常导致在给定方向上相邻磁道的改写。因此,写入磁道被写入以在给定方向互相重叠,而使窄轨道的数据可以由磁头正确读出。因此,重叠轨道被写在轨道的组合或条带中,其与其他轨道分离或以其他方式分开。
当使用径向伺服突发扇区208配置,每个轨道206被分成伺服突发扇区208之间的切片(称为数据楔块或扇区210)。伺服突发扇区包括数据用于保持读/写头在目标轨道上的准确定位并置于围绕所述存储磁盘204的预定间隔位置。
当存储盘204转动时,读/写磁头在伺服突发扇区208中读出包含地址的伺服信息,并发送伺服信息反馈给伺服控制系统。伺服控制系统检查从伺服突发扇区208读出的伺服信息地址是否对应于目标轨道位置。如果该地址不对应于目标轨道位置,伺服控制系统调节读/写头到正确的轨道位置,作为搜索操作的一部分。
如上所示,各轨道磁道206包括具有存储用户信息的离散数据扇区210。在特定磁道上包含的数据扇区数量部分依赖于轨道的长度(例如,圆周)。除了包含用户信息,每个数据扇区可还包括其他数据,以帮助识别和处理用户信息(例如,错误检测和校正编码)。
根据一个实施例,存储盘204的一个或多个部分被保留用作停留区域202,中间存储器的类型。停留区域202被显示在图2,作为位于接近存储盘204的外径212的轨道206的圆周分组。停留区域202被显示在图2作为示例,并且应当理解的是:停留区域202可以被写在存储盘204的任何其它区域(径向或周向)。靠近外径212的轨道的特征是:和邻近存储盘204的内径214的轨道相比,可以更高的顺序数据率读取它们。
除了所述一个或多个停留区域202,存储盘204还包括一个或多个颗粒存储区216,中间存储器的类型,其中,每个动态可调尺寸的颗粒被限制在逻辑块地址的特定子集(LBA)。存储盘204还包括目标存储区域218,其中比存储盘204的其它区域,数据块通常记录用于长期储存。在一个实施例中,目标存储区域218的特征在于至少某些局限的地址范围的非动态的LBA到PBA的映射,尽管其他实施例可以包括使用动态映射的目的地存储区域。应当理解的是,各种中间和目标存储区的图示放置仅仅是示例,并且这些区域可以位于存储盘204上的任何位置。此外,停留区域202、颗粒存储区216和目的地存储区域218中的一个或多个可以搭迭磁记录区域,非搭迭磁记录区域或其它记录格式的区域。
首先,作为一般性意见,应理解的是:数据写入可以采取多种途径到各种存储区域(例如,到随机存取存储器,到停留区域,到颗粒存储区域,到目的地存储区域,等等)。在一个实施例中,主机设备将数据块写入到随机存取存储器,其中所述数据块可以或可以不进行初始排序。如果随机存取存储器是非易失性的,该数据块可累积在随机存取存储器以服务主机装置的读取请求,而不会被写入到其他非易失性存储介质。可替换地,数据块可以从随机存取存储器写入到停留区域(在个别排序集合或作为未排序的数据块),或其他存储器。即使当数据块被写入到停留区域或其它存储中,相同的数据块也可以被保留在随机存取存储器,这样可避免未来可能的介质读取操作。此外,因为功率损失的可能性,通常希望保持写入数据的至少副本在非易失性存储器(例如,NVRAM或另一非易失性存储介质)中。
图3示出基于一般增加数据组织的改变等级具有分层存储的示例数据存储系统300。存储控制器302管理读和写入数据块到各存储区,到随机存取存储器304,到中间存储310(例如,停留区域306或颗粒存储区域308),或者目标存储(例如,数据存储310的目标存储区312)。应当理解的是:单个存储盘上可存在多个停留区域、多个颗粒存储区域和多个目的地的存储区域。此外,存储控制器302可随时间动态地调整给定存储区域的作用。例如,停留区域可以随操作的不同时间用作目标存储区。
在一个实施例中,存储控制器302接收新的写入数据的数据块,响应于从主机设备的一个或多个写入命令。所接收的数据块可以任意LBA顺序被接收-一些其他写命令可以更加LBA有序,而其他的写入命令可以更少的LBA排序,以及写入命令的一些组合可针对逻辑地址空间的基本上不同的区域。然而,在本实施例中,存储控制器302接收数据块到随机存取存储器304中,对数据块进行排序,以及将排序的数据块写入到停留区域306中的停留区域306的相对连续物理空间。术语“相对连续”指的是可关联于多个读/写命令的读/写操作,从/到物理存储区域,其中单一的查找操作(或几个查找操作)用来完成读/写操作,以及数据块被读出/写入到一个或多个轨道的顺序PBA。应当理解的是:跳过数据存储310中损坏、失效或者“坏”PBA或读取/写入数据存储310的附近多个轨道的数据并不排除读/写操作被认为是“相对连续”。
在任何时间,但一般在低存储活动期间,存储控制器302可以使用相对连续的读操作读出存储在停留区域306的数据。读出的数据被传输到随机存取存储器304,以预定顺序排序在随机存取存储器304中(例如,以LBA顺序,以最频繁访问的顺序,等等),然后写入到停留区域306或到另一个存储区或主机设备。在一个实施例中,读出、排序并写入到停留区306的数据量被称为“组块”,并且与随机存取存储器304的大小相同,但也可以使用其它尺寸(例如,随机存取存储器304的不同部分可用于不同的目的或为不同的“组块”)。在另一实施例中,响应于读出命令,读出与排序的数据可替换地被转移到主机设备或转移到另一个存储区(例如,闪存、颗粒存储区域308或目标存储区312)。
当存储控制器302写入所排序的数据到停留区306中时,存储控制器302常规地将排序数据写入到停留区域306的新的位置,而不是使用该数据的新排序的副本覆盖先前读取数据的物理存储。一旦新排序的数据被写入到停留区域306(或其他存储区域),包含先前读出数据的物理存储可被标记为陈旧的,并收回用于新的写入数据。回收操作可以被称为“碎片收集”,并且可以允许同一数据的多个有序和无序的版本驻留在停留区域306或数据存储310的其他存储区域。在替代实施例中,可使用数据的新排序副本重写之前读出的PBA。还应当理解的是:可重复多次读取、排序和写入记录在停留区域306(或其它存储区域)的数据(例如,以增加数据的特定组块的逻辑和物理顺序之间的相关性)。
还应当理解:存储控制器302的写入操作处理可以有利于创建停留区域内更大空间以接收新的写入数据的顺序来执行。例如,在停留区域中消耗PBA的主机命令或数据存储系统操作之前,可执行在停留区域中产生更陈旧的PBA或在停留区域中产生相对连续陈旧的PBA的更多区域的主机命令或数据存储系统操作。例如,删除数据块的主机命令可以被优先提前于新数据写入命令。同样,从停留区域向颗粒存储区域或目标存储区传输数据块的数据存储系统操作可优先提前于新数据写入命令。在这种方式中,数据存储系统可以防止或减少停留区域太满而不能接收新的写入数据的可能性。
图4示出其中陈旧数据被识别并标记为失效的示例停留区400。在一个实施例中,过时的数据被“标记”为失效,因为转化为相应PBA的LBA不再存储陈旧数据。图4描绘了陈旧数据标记模块406,用于说明性目的。然而,陈旧数据标记模块406是典型的动态映射子系统的功能组件,其将LBA重新映射到包含新数据的PBA并删除相同的LBA到陈旧PBA的映射。陈旧数据标记模块406的另一方面可包括计数器,它记录在物理细分上的陈旧位置数目。
该停留区400从存储控制器接收数据块,所述存储控制器以相对连续的方式记录数据块。在图4中,数据显示为在十个连续的写操作402(从写操作1到写操作10)期间写入到停留区400。写入操作402指定单独的介质访问,产生各个数据块的记录404(在图4中使用对应LBA标记)。例如,写操作1在相对连续的(例如,物理上连续的)的方式写入与LBA73、21和94相关的数据块到停留区400,以及写操作2以相对连续的(例如,物理顺序)方式写入与LBA24和92相关联的数据块到停留区400。响应每个写操作,存储控制器记录每个数据块的LBA到PBA映射。在这种方式中,存储控制器可以根据其对应的LBA检索主机设备从其PBA请求的数据块。关联的动态映射信息可以存储在存储控制器可访问的动态映射表(未示出)中。
如关于写操作4和5所示,两次写入和LBA46相关联的数据块,一次是在写操作4,以及在写操作5。因此,因为较新的最新数据块已由写操作5写入,在写入操作4中该数据块存储写入的数据现在是陈旧的。此外,存储控制器更新LBA46和写操作5相关联的新PBA之间的动态映射。
陈旧数据标记模块406检测LBA46的新的写入,因此标志来自写操作的数据块4为失效(例如,LBA46不再映射到存储陈旧数据块的PBA)。写操作7和8还示出作为写入相同的LBA17。因此,陈旧数据标记模块406标志着由写操作7写入的LBA17的数据块为陈旧并更新LBA17和写操作8相关的新PBA之间的动态映射。
因为所述存储控制器从停留区域400读取相对连续的数据,陈旧数据块将被忽略或以其他方式管理,以排除其转移到随机存取存储器,用于排序和随后重新写入到主机设备或存储介质。当物理数据块被标记为失效时,物理数据块可以被回收和再利用用于新的数据块,其中包括新排序块。
应当理解的是,停留区域400中所示的所有写入数据或写入数据的一个或多个部分也可以保留在随机存取存储器(图4中未示出)中。因此,从主机设备最近写入的数据副本可以被保持在随机存取存储器以及停留区域中。在这种方式中,存储控制器不必要从停留区读取以获得在随机存取存储器中的最近写入数据。
图5示出在停留区域502中示例产生排序的数据块500。在一个实施例中,当主机设备写入数据块到存储控制器时,存储控制器直接将数据块写入到随机存取存储器504,如503所示,在那里它可以被排序并复制到停留区域502,同时仍然保持排序的副本在随机存取存储器中。在可替代实施例中,如505所示,存储控制器可以将数据块的未排序的序列501从停留区502读取到随机存取存储器504,如在506示出的数据块。
排序模块508根据LBA顺序排序各种数据,如在510示出的数据块,尽管应当理解的是:排序模块508可以根据其它排序偏好对数据块进行排序,其包括最频繁访问、最近存取等。各种排序方法可用于排序随机存取存储器504内的数据块序。已排序的数据(以下简称“组块”)然后以相对连续的方式被写入停留区域502内的另一个位置,到主机设备,或者到存储介质的其他中间或目的地存储区域。如前面所讨论,虽然图5示出组块500写在同一停留区域502中的分离位置,但在替代实施例中,排序块可以被重新写到先前读出数据上。
响应新的组块500写入到停留区域502,存储控制器在更新动态映射信息来反映停留区域502中LBA(21、24、73和94)和他们的新的PBA之间的新关系。此外,陈旧数据标记模块标志对相同LBA(即,PBA501)存储先前数据块的之前PBA为陈旧。以这种方式,那些PBA可被回收重新用于新的写入数据。通常,每当数据块被排序和“分块”时,这些数据块的平均存取延迟减少,因为在LBA排序的情况下,后续的读操作正在存取具有更好的LBA到PBA的映射的数据。从一个角度看,每次介质访问传输多次排序数据块到/从临时区域摊销了较大数量数据块之间相对连续的物理介质访问之间的等待时间。
图6示出从组块集合602示例排序数据子集600,用于记录在停留区域604中。存储控制器从停留区604读取数据块的多个有序集(例如,通过多次读取访问的多个组块)到随机存取存储器606(例如,整个存储器606或其部分)。注:根据介质访问,可读取数据的多个区段,以分摊在多个范围的介质访问之间的延迟。
排序模块608根据预定顺序(例如,图6中的LBA顺序)排序在随机存取存储器606接收的数据块。不同的排序方法(诸如,从每个排序组块的头部读取的N进制合并排序)可以用于排序在随机存取存储器606内接收的数据块。在612,610的新排序块写入到停留区604。响应新的组块612写入到停留区604,存储控制器更新动态映射信息来反映LBA(1、2、11和16)和他们的停留区域604内新的PBA之间的新的关系。此外,陈旧数据标记模块标志为相同LBA存储先前数据块的PBA为失效。以这种方式,那些PBA可被回收以重新用于新的写入数据。614的数据块代表仍记录在停留区域604中的未排序、未分块的数据块。
在一个实施例中,通过应用磁盘调度逻辑,从停留区域604读取数据。例如,读请求被进行排队和调度用于基于查找时间、延迟时间等执行。在一些实施例中,磁盘调度逻辑也可用于写入操作,诸如写到颗粒存储区或目标存储区。
图7示出从组块集合702示例排序数据子集700,用于停留区704的外部。存储控制器从停留区704读取数据块的多个有序集(例如,通过多次读取访问的多个块)到随机存取存储器706(例如,整个存储器706或其部分)。注:数据的多个区段可根据介质访问读取,以分摊在多个范围的介质访问之间的延迟。
排序模块708根据预定顺序(例如,在图7中的LBA顺序)排序在随机存取存储器706中的读出数据块。不同的排序方法(诸如,从每个排序组块的头部读取的N进制合并排序)可以用于排序在随机存取存储器706内接收的数据块。在710,新的排序块被写入其他存储(例如,其他中间存储,诸如另一停留区域或颗粒存储区域,或到目的地存储区)或到主机设备。响应于新的组块712写入到其他存储,存储控制器更新动态映射信息,以反映其他存储中LBA(1、2、11和16)和它们的新的PBA之间的新的关系。在714,数据块代表仍记录在停留区域704中的未排序、未分块的数据块。
此外,在一个实施例中,陈旧数据标记模块标志对相同LBA存储先前数据块的之前PBA为陈旧。以这种方式,那些PBA可被回收重新用于新的写入数据。但是,在替代实施例中,对应于写入其他存储的数据块在停留区中的数据块704不需要被标记为陈旧。在该实施例中,数据块的多个副本可以被记录在数据存储系统中的多个物理位置(例如,停留区中,闪存缓存中,内部随机存取存储器中,颗粒存储区域中,目标存储区中),以及存储控制器可为读或写操作确定物理位置,用于呈现访问主机请求数据块集合的最短延迟。该数据块的动态映射可以管理同一数据块中与访问在每个物理位置相关联,以减少对平均存取延迟的预期等待时间相结合的多个物理位置的一个给定的读或写命令的数据块。
图8示出从停留区域分块数据块的示例操作800。接收操作802从主机设备或其他存储接收逻辑块地址的数据块到随机存取存储器。排序操作804以预定义的顺序接收数据块。示例排序可以包括(但不限于)LBA顺序、最频繁访问的顺序、最近存取顺序,等等。
写入操作806写入排序的数据块到停留区,作为排序数据块的集合(例如,简称排序组块)。动态映射操作808将数据块的LBA动态映射到数据存储的临时区域中的对应PBA。
图9示出从停留区域再分块数据块的示例操作900。读取操作902从数据存储的停留区域中的不同集合的排序数据块(例如,组块)读取相对连续的数据组块的不同集合。传送操作904传送所读取的数据块到随机存取存储器。排序操作906以预定顺序排序传输的数据块。示例排序可以包括(但不限于)LBA顺序、最频繁访问的顺序、最近存取顺序,等等。
写入操作908写入排序的数据块回到停留区域,作为新的排序数据块的集合(例如,新的组块)。动态重映射操作910动态重新映射数据块的的LBA到数据存储的停留区域中新的相应物理块地址。标记操作912标志在读取操作902中读取数据块的PBA为陈旧。回收操作914回收停留区域中的陈旧PBA,例如,通过重新使用停留区域中的陈旧PBA来记录其他数据块。
图10示出示例操作1000,用于从停留区域重新排序数据块到其他中间存储。读取操作1002从停留区域中的不同集合的排序数据块(例如,组块)读取相对连续的数据块集合。传送操作1004传送所读取的数据块到随机存取存储器。排序操作1006排序传输的数据块到预定顺序。示例排序可以包括(但不限于)LBA顺序、最频繁访问的顺序、最近存取的顺序,等等。
写入操作1008写入已排序的数据块到另一中间存储区、到目的地存储区域,或到主机设备。例如,已排序的数据块可以被写入到组块中的不同停留区域或颗粒存储区域。在另一个示例中,排序的数据块可以被写入到数据存储的目标存储区域以进行长期存储。在又一示例中,响应于读取命令,排序的数据块可以被传输到主机设备。如果该数据块被重新写入到数据存储,动态重映射操作1010动态地重新映射数据块的LBA到数据存储的停留区中的新对应的物理块地址。操作1000也可以通过在适当的情况下标记和直接利用操作进行补充。例如,如果该数据块被移动到目标存储区域,存储这些数据块的停留区域中的PBA可被标记为陈旧并回收用于新的数据块使用。然而,在轻载情况下,存储控制器可以保持相同的数据块的副本在存储区域中,在其他中间存储区中和/或在目标存储区域中。在这种方式中,存储控制器可以从提供最低平均存取延迟的存储器读取所请求的数据块。动态映射保持每个LBA到PBA关系的映射,并且可以提供信息以帮助确定对于特定读取命令的每个关系的最低平均访问延时。
本文所述技术的实施例实现为一个或多个计算机系统中的逻辑步骤。本技术的逻辑操作被实现为(1)在一个或多个计算机系统中执行的处理器实现的步骤序列和(2)一个或多个计算机系统中的互连机器或电路模块。依赖于实现该技术的计算机系统的性能要求,本实施例是选择的主题。因此,构成本文所述技术的实施例的逻辑操作被不同地称为操作、步骤、对象或模块。此外,应当理解的是:除非明确要求或以由权利要求语言固有地需要的特定顺序,逻辑操作可以按任何顺序执行。
数据存储和/或存储器可以由各种类型的存储器实现,诸如硬盘介质、包含多个存储设备的存储阵列、光介质、固态硬盘技术、ROM、RAM,以及其他技术。该操作可以以固件、软件、硬连线电路、门阵列技术和其它技术来实现,由微处理器、微处理器核心、微控制器、专用电路或其它处理技术执行或辅助。应当理解的是:写入控制器、存储控制器、数据写电路、数据读取和恢复电路、陈旧数据标记模块、排序模块以及数据存储系统的其他功能模块可以包括或与处理器合作,用于处理处理器可读指令,用于执行系统实现过程。
上面的说明书,示例和数据提供了本技术的示例性实施例的结构和使用的完整描述。因为不脱离本技术的精神和范围的情况下可以进行该技术的许多实施例,本发明存在于所附的权利要求。此外,不同实施例的结构特征可以与另一个实施例中的结合,而不脱离所引起权利要求书。
Claims (20)
1.一种方法,包括:
用于排序在数据存储的随机访问存储器中接收的输入写入数据的数据块;以及
写入所排序的数据块作为单独排序的数据块集合到数据存储的临时区域。
2.根据权利要求1所述的方法,进一步包括:
动态映射写入数据块的逻辑块地址到数据存储器的停留区域中的新的物理块地址。
3.根据权利要求1所述的方法,其中所述排序操作包括:
根据逻辑块地址顺序,排序所述数据块。
4.根据权利要求1所述的方法,其中所述排序操作包括:
按照最频繁访问的顺序,排序所述数据块。
5.根据权利要求1所述的方法,其中所述排序操作包括:
按照最近存取的顺序,排序所述数据块。
6.根据权利要求1所述的方法,其中对由随机存取存储器的排序部分的大小限制的多个数据块,进行写入操作。
7.根据权利要求1所述的方法,进一步包括:
读取在数据存储的停留区中记录的多个单独排序数据块集合到随机存取存储器中;
重新排序在随机存取存储器中的多个排序数据块中的各个数据块,所述重新排序的各个数据块被分组在单独重新排序的数据块集合;以及
写入单独重新排序的数据块集合到停留区域。
8.根据权利要求1所述的方法,进一步包括:
读取在数据存储的停留区中记录的多个单独排序数据块集合到随机存取存储器中;
重新排序在随机存取存储器中的多个排序数据块中的各个数据块,所述重新排序的各个数据块被分组在单独重新排序的数据块集合;以及
写入单独重新排序的数据块集合到另一中间存储区域。
9.根据权利要求1所述的方法,还包括:
读取在数据存储的停留区中记录的多个单独排序数据块集合到随机存取存储器中;
重新排序在随机存取存储器中的多个排序数据块中的各个数据块,所述重新排序的各个数据块被分组在单独重新排序的数据块集合;以及
写入单独重新排序的数据块集合到主机设备。
10.根据权利要求1所述的方法,还包括:
读取在数据存储的停留区中记录的多个单独排序数据块集合到随机存取存储器中;
重新排序在随机存取存储器中的多个排序数据块中的各个数据块,所述重新排序的各个数据块被分组在单独重新排序的数据块集合;以及
写入单独重新排序的数据块集合到目标存储区。
11.一种数据存储系统,包括:
数据存储;
随机存取存储器;
排序模块,通信地耦合到随机存取存储器并且被配置为排序在所述随机存取存储器接收的输入写入数据的数据块;
存储控制器,通信地耦合到所述随机存取存储器和所述数据存储并且被配置为写入已排序的数据块作为单独排序的数据块组到数据存储的停留区域。
12.如权利要求11所述的数据存储系统,其中所述排序模块还被配置成根据逻辑块地址的顺序排序所述数据块。
13.如权利要求11所述的数据存储系统,其中,所述存储控制器还被配置为:读取在数据存储的停留区中记录的多个单独排序数据块集合到随机存取存储器中;重新排序在随机存取存储器中的多个排序数据块中的各个数据块,所述重新排序的各个数据块被分组在单独重新排序的数据块集合。
14.如权利要求13所述的数据存储系统,其中,所述存储控制器进一步被配置以:写入单独重新排序的数据块集到另一个中间存储区。
15.如权利要求13所述的数据存储系统,其中,所述存储控制器进一步被配置以:写入单独重新排序的数据块集到目标存储区域。
16.存储处理器可读指令的一个或多个处理器可读存储介质,用于在数据存储系统中执行系统可实现过程,所述过程包括:
用于排序在数据存储的随机访问存储器中接收的输入写入数据的数据块;以及
写入所排序的数据块作为单独排序的数据块集合到数据存储的临时区域。
17.如权利要求16所述的一个或多个处理器可读存储介质,其中所述处理进一步包括:
动态映射写入数据块的逻辑块地址到数据存储的停留区域中的新的物理块地址。
18.如权利要求16所述的一个或多个处理器可读存储介质,所述排序操作包括:
根据逻辑块地址顺序,排序所述数据块。
19.如权利要求16所述的一个或多个处理器可读存储介质,进一步包括:
读取在数据存储的停留区中记录的多个单独排序数据块集合到随机存取存储器中;
重新排序在随机存取存储器中的多个排序数据块中的各个数据块,所述重新排序的各个数据块被分组在单独重新排序的数据块集合;以及
写入单独重新排序的数据块集合到另一中间存储区域。
20.如权利要求16所述的一个或多个处理器可读存储介质,还包括:
读取在数据存储的停留区中记录的多个单独排序数据块集合到随机存取存储器中;
重新排序在随机存取存储器中的多个排序数据块中的各个数据块,所述重新排序的各个数据块被分组在单独重新排序的数据块集合;以及
写入单独重新排序的数据块集合到目标存储区。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/839,132 | 2013-03-15 | ||
US13/839,132 US9588886B2 (en) | 2013-03-15 | 2013-03-15 | Staging sorted data in intermediate storage |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104050090A true CN104050090A (zh) | 2014-09-17 |
CN104050090B CN104050090B (zh) | 2017-08-25 |
Family
ID=50440461
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410092516.3A Expired - Fee Related CN104050090B (zh) | 2013-03-15 | 2014-03-13 | 中间存储中的停留排序数据 |
Country Status (5)
Country | Link |
---|---|
US (2) | US9588886B2 (zh) |
EP (1) | EP2779170A1 (zh) |
JP (1) | JP2014182835A (zh) |
KR (1) | KR101984782B1 (zh) |
CN (1) | CN104050090B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107168892A (zh) * | 2017-03-29 | 2017-09-15 | 联想(北京)有限公司 | 一种数据的写入方法及装置 |
CN114048157A (zh) * | 2021-11-16 | 2022-02-15 | 安徽芯纪元科技有限公司 | 一种内部总线地址重映射装置 |
CN116737086A (zh) * | 2023-08-14 | 2023-09-12 | 苏州云途半导体有限公司 | 一种嵌入式非易失性存储器读写方法 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8988800B1 (en) * | 2009-09-15 | 2015-03-24 | Marvell International Ltd. | Error correction for storage devices |
US9612956B2 (en) | 2013-03-15 | 2017-04-04 | Seagate Technology Llc | Multi-tiered caching for data storage management in a device |
US10031961B1 (en) * | 2013-06-20 | 2018-07-24 | Ca, Inc. | Systems and methods for data replication |
US10216754B1 (en) * | 2013-09-26 | 2019-02-26 | EMC IP Holding Company LLC | System and method for balancing compression and read performance in a storage system |
US9443553B2 (en) * | 2014-04-28 | 2016-09-13 | Seagate Technology Llc | Storage system with multiple media scratch pads |
US9431052B2 (en) | 2014-06-26 | 2016-08-30 | Marvell World Trade Ltd. | Two dimensional magnetic recording systems, devices and methods |
US10394493B2 (en) * | 2017-06-30 | 2019-08-27 | Seagate Technology Llc | Managing shingled magnetic recording (SMR) zones in a hybrid storage device |
KR20200078101A (ko) * | 2018-12-21 | 2020-07-01 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5557770A (en) * | 1993-03-24 | 1996-09-17 | International Business Machines Corporation | Disk storage apparatus and method for converting random writes to sequential writes while retaining physical clustering on disk |
CN101031891A (zh) * | 2004-10-01 | 2007-09-05 | 伊姆西公司 | 虚拟排序的写 |
US20070294474A1 (en) * | 2006-06-20 | 2007-12-20 | Microsoft Corporation | Efficiently synchronizing with separated disk caches |
US20090037663A1 (en) * | 2006-02-28 | 2009-02-05 | Fujitsu Limited | Processor equipped with a pre-fetch function and pre-fetch control method |
CN101727299A (zh) * | 2010-02-08 | 2010-06-09 | 北京同有飞骥科技有限公司 | 连续数据存储中面向raid5的写操作优化设计方法 |
US20120131265A1 (en) * | 2010-11-23 | 2012-05-24 | International Business Machines Corporation | Write cache structure in a storage system |
US20120137086A1 (en) * | 2010-11-26 | 2012-05-31 | Fujitsu Limited | Non-transitory medium, access control method, and information processing apparatus |
Family Cites Families (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2943693B2 (ja) | 1996-04-26 | 1999-08-30 | 日本電気株式会社 | ソート作業ファイルスペース管理方式 |
JPH1185411A (ja) * | 1997-09-01 | 1999-03-30 | Toshiba Corp | ディスクアレイ装置、ディスクアレイ装置のデータ再配置方法、及びディスクアレイ装置のデータ再配置方法のプログラム情報を格納した記憶媒体 |
JP2000222287A (ja) | 1999-02-04 | 2000-08-11 | Olympus Optical Co Ltd | 情報記録再生装置 |
JP3431581B2 (ja) * | 2000-06-29 | 2003-07-28 | 株式会社東芝 | ディスク制御システムおよびデータ再配置方法 |
US8289984B2 (en) | 2003-01-13 | 2012-10-16 | Emlilex Design & Manufacturing Corporation | Allocation-unit-based virtual formatting methods and devices employing allocation-unit-based virtual formatting methods |
US7809252B2 (en) | 2003-04-09 | 2010-10-05 | Corel Inc. | Systems and methods for caching multimedia data |
JP4257834B2 (ja) | 2003-05-06 | 2009-04-22 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 磁気ディスク装置、ファイル管理システム及びその方法 |
US7293156B2 (en) * | 2003-07-15 | 2007-11-06 | Xiv Ltd. | Distributed independent cache memory |
US7996645B2 (en) | 2003-09-26 | 2011-08-09 | Hitachi Global Storage Technologies Netherlands B.V. | Log-structured file system for disk drives with shingled writing |
US8756399B2 (en) | 2006-01-25 | 2014-06-17 | Seagate Technology Llc | Mutable association of a set of logical block addresses to a band of physical storage blocks |
ATE432915T1 (de) | 2006-03-28 | 2009-06-15 | Comadur Sa | Verfahren zum dekorieren eines keramikteils |
JP5037881B2 (ja) | 2006-04-18 | 2012-10-03 | 株式会社日立製作所 | ストレージシステム及びその制御方法 |
JP2008140459A (ja) | 2006-11-30 | 2008-06-19 | Toshiba Corp | ハイブリッドディスク記憶装置及び同装置に適用されるディスクライト方法 |
US20100115175A9 (en) | 2006-12-18 | 2010-05-06 | Zhiqing Zhuang | Method of managing a large array of non-volatile memories |
JP2008181416A (ja) | 2007-01-25 | 2008-08-07 | Hitachi Ltd | 記憶システム及びデータ管理方法 |
US20090157940A1 (en) | 2007-12-15 | 2009-06-18 | Hitachi Global Storage Technologies Netherlands, B.V. | Techniques For Storing Data In Multiple Different Data Storage Media |
JP2009160813A (ja) | 2008-01-07 | 2009-07-23 | Anqbell Japan Co Ltd | レポート帳 |
JP5141402B2 (ja) | 2008-06-26 | 2013-02-13 | 富士通株式会社 | ストレージシステム,コピー制御方法およびコピー制御装置 |
US8549208B2 (en) | 2008-12-08 | 2013-10-01 | Teleputers, Llc | Cache memory having enhanced performance and security features |
JP5221332B2 (ja) | 2008-12-27 | 2013-06-26 | 株式会社東芝 | メモリシステム |
US8700840B2 (en) | 2009-01-05 | 2014-04-15 | SanDisk Technologies, Inc. | Nonvolatile memory with write cache having flush/eviction methods |
JP2010257094A (ja) | 2009-04-23 | 2010-11-11 | Hitachi Ltd | 階層ストレージ管理システムにおける移動候補ファイルの抽出方法 |
US8176289B2 (en) | 2009-05-21 | 2012-05-08 | Red Hat Israel, Ltd. | Method to support sparse volumes or thin provisioned volumes in real time |
CN101576856A (zh) | 2009-06-18 | 2009-11-11 | 浪潮电子信息产业股份有限公司 | 一种基于长短周期访问频度的缓存数据替换方法 |
KR101594029B1 (ko) | 2009-07-06 | 2016-02-16 | 삼성전자주식회사 | 데이터 조작 방법 및 그 방법을 이용하는 시스템 장치 |
US9110594B2 (en) | 2009-11-04 | 2015-08-18 | Seagate Technology Llc | File management system for devices containing solid-state media |
US8560770B2 (en) | 2009-11-13 | 2013-10-15 | Seagate Technology Llc | Non-volatile write cache for a data storage system |
US9514055B2 (en) | 2009-12-31 | 2016-12-06 | Seagate Technology Llc | Distributed media cache for data storage systems |
KR101654774B1 (ko) | 2010-02-08 | 2016-09-06 | 시게이트 테크놀로지 엘엘씨 | 데이터 저장 장치와 저장 매체 액세스 방법 및 그에 대한 저장 매체 |
JP2011194899A (ja) | 2010-03-17 | 2011-10-06 | Ntn Corp | インホイール型モータ内蔵車輪用軸受装置 |
US20120079229A1 (en) | 2010-09-28 | 2012-03-29 | Craig Jensen | Data storage optimization for a virtual platform |
US9684590B2 (en) | 2010-10-25 | 2017-06-20 | Seagate Technology Llc | Storing corresponding data units in a common storage unit |
US9280477B2 (en) | 2010-12-13 | 2016-03-08 | Seagate Technology Llc | Data storage management in a memory device |
US9015549B2 (en) | 2011-04-26 | 2015-04-21 | Seagate Technology Llc | Iterating inner and outer codes for data recovery |
KR20120121736A (ko) | 2011-04-27 | 2012-11-06 | 삼성전자주식회사 | 데이터 라이트 방법 및 저장 장치 |
KR101854206B1 (ko) | 2011-04-27 | 2018-05-04 | 시게이트 테크놀로지 엘엘씨 | 라이트 방법 및 그 방법을 이용하는 저장 장치 |
US8913335B2 (en) | 2011-05-23 | 2014-12-16 | HGST Netherlands B.V. | Storage device with shingled data and unshingled cache regions |
-
2013
- 2013-03-15 US US13/839,132 patent/US9588886B2/en active Active
- 2013-08-22 US US13/973,416 patent/US9588887B2/en active Active
-
2014
- 2014-02-27 KR KR1020140023425A patent/KR101984782B1/ko active IP Right Grant
- 2014-03-13 CN CN201410092516.3A patent/CN104050090B/zh not_active Expired - Fee Related
- 2014-03-14 JP JP2014051969A patent/JP2014182835A/ja active Pending
- 2014-03-17 EP EP14160340.7A patent/EP2779170A1/en not_active Withdrawn
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5557770A (en) * | 1993-03-24 | 1996-09-17 | International Business Machines Corporation | Disk storage apparatus and method for converting random writes to sequential writes while retaining physical clustering on disk |
CN101031891A (zh) * | 2004-10-01 | 2007-09-05 | 伊姆西公司 | 虚拟排序的写 |
US20090037663A1 (en) * | 2006-02-28 | 2009-02-05 | Fujitsu Limited | Processor equipped with a pre-fetch function and pre-fetch control method |
US20070294474A1 (en) * | 2006-06-20 | 2007-12-20 | Microsoft Corporation | Efficiently synchronizing with separated disk caches |
CN101727299A (zh) * | 2010-02-08 | 2010-06-09 | 北京同有飞骥科技有限公司 | 连续数据存储中面向raid5的写操作优化设计方法 |
US20120131265A1 (en) * | 2010-11-23 | 2012-05-24 | International Business Machines Corporation | Write cache structure in a storage system |
US20120137086A1 (en) * | 2010-11-26 | 2012-05-31 | Fujitsu Limited | Non-transitory medium, access control method, and information processing apparatus |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107168892A (zh) * | 2017-03-29 | 2017-09-15 | 联想(北京)有限公司 | 一种数据的写入方法及装置 |
US11119919B2 (en) | 2017-03-29 | 2021-09-14 | Lenovo (Beijing) Limited | Method and apparatus with improved speed in data write-in |
CN114048157A (zh) * | 2021-11-16 | 2022-02-15 | 安徽芯纪元科技有限公司 | 一种内部总线地址重映射装置 |
CN116737086A (zh) * | 2023-08-14 | 2023-09-12 | 苏州云途半导体有限公司 | 一种嵌入式非易失性存储器读写方法 |
CN116737086B (zh) * | 2023-08-14 | 2023-11-17 | 江苏云途半导体有限公司 | 一种嵌入式非易失性存储器读写方法 |
Also Published As
Publication number | Publication date |
---|---|
KR101984782B1 (ko) | 2019-09-03 |
KR20140113346A (ko) | 2014-09-24 |
CN104050090B (zh) | 2017-08-25 |
US9588886B2 (en) | 2017-03-07 |
JP2014182835A (ja) | 2014-09-29 |
US9588887B2 (en) | 2017-03-07 |
US20140281183A1 (en) | 2014-09-18 |
EP2779170A1 (en) | 2014-09-17 |
US20140281185A1 (en) | 2014-09-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104050090A (zh) | 中间存储中的停留所排序数据 | |
CN104049908A (zh) | 基于动态颗粒的中间存储 | |
CN102576293B (zh) | 固态存储设备和分层存储系统中的数据管理 | |
US9507538B2 (en) | File management system for devices containing solid-state media | |
US8756382B1 (en) | Method for file based shingled data storage utilizing multiple media types | |
US4935825A (en) | Cylinder defect management system for data storage system | |
US8856438B1 (en) | Disk drive with reduced-size translation table | |
KR101678868B1 (ko) | 플래시 주소 변환 장치 및 그 방법 | |
US10394493B2 (en) | Managing shingled magnetic recording (SMR) zones in a hybrid storage device | |
KR102357203B1 (ko) | 판독 캐시 관리 | |
CN105280197A (zh) | 使用区段重定位对数据存储装置进行数据管理 | |
CN103135940B (zh) | 在迭瓦式盘驱动器中实施增强的碎片流处理 | |
US10956071B2 (en) | Container key value store for data storage devices | |
US9804786B2 (en) | Sector translation layer for hard disk drives | |
CN1831953A (zh) | 盒式磁带和记录系统 | |
CN102915759A (zh) | 净化存储装置的方法和设备 | |
US8953269B1 (en) | Management of data objects in a data object zone | |
US20160275012A1 (en) | Partial garbage collection for fast error handling and optimized garbage collection for the invisible band | |
US9377956B1 (en) | Rewrite operation for recording bands | |
US10282096B1 (en) | Identification of data with predetermined data pattern | |
CN111580752B (zh) | 一种数据存储方法、设备、计算机程序及存储介质 | |
US11132140B1 (en) | Processing map metadata updates to reduce client I/O variability and device time to ready (TTR) | |
US9875055B1 (en) | Check-pointing of metadata |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170825 Termination date: 20210313 |
|
CF01 | Termination of patent right due to non-payment of annual fee |