CN109002262A - 数据存储装置的数据管理 - Google Patents
数据存储装置的数据管理 Download PDFInfo
- Publication number
- CN109002262A CN109002262A CN201810795098.2A CN201810795098A CN109002262A CN 109002262 A CN109002262 A CN 109002262A CN 201810795098 A CN201810795098 A CN 201810795098A CN 109002262 A CN109002262 A CN 109002262A
- Authority
- CN
- China
- Prior art keywords
- ltfs
- data
- metadata
- dsd
- write
- 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
- 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
-
- 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
- G06F3/0605—Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
-
- 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/0661—Format or protocol conversion arrangements
-
- 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/0662—Virtualisation aspects
- G06F3/0664—Virtualisation aspects at device level, e.g. emulation of a storage device or system
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本申请涉及数据存储装置的数据管理。管理存储在计算机系统的至少一个数据存储装置DSD中的数据,在计算机系统中,至少一个DSD包括用于存储数据的至少一个磁盘。产生包括LTFS块地址的线性带文件系统LTFS写或者读命令。LTFS块地址被转换成针对至少一个DSD的装置地址,并且至少一个DSD的磁盘上的数据被写入该装置地址处。
Description
本申请是于2014年1月17日提交的名称为“数据存储装置的数据管理”的中国专利申请201410022803.7的分案申请。
背景技术
带驱动器是在磁带上读取和写入数据的一种数据存储装置类型,并且通常用于档案存储。直到目前为止,带驱动器一般缺少用于存取数据的标准化格式。目前,为了对存储在磁带上的数据提供标准化文件系统接口,已经引入了线性带文件系统(LTFS)格式。LTFS指代在磁带上记录的数据的格式和使用LTFS格式提供文件系统接口的具体软件的实现。使用LTFS格式写入的磁带可以在使用LTFS格式的带驱动器之间交换。另外,理解LTFS格式的软件系统可以向用户提供带驱动器的文件系统视图。
尽管LTFS具有先进性,但与其它类型的数据存储装置(例如,磁盘驱动器)相比,带驱动器要求相对长时间来存取数据。这主要是因为带驱动器必须在卷轴之间卷绕磁带以读取磁带上特定位置处的数据。另外,磁带的管理会是耗时的,例如在装载和卸载磁带时。
附图说明
根据以下结合附图记载的详细描述,本公开的特征和优点将变得更明显。提供附图和关联的描述以例示本公开的实施方式,并且并非要限制要求保护的范围。在整个附图中参考标记重复使用以指示引用的元件之间的对应性。
图1是示出根据一实施方式包括数据存储装置的计算机系统的框图。
图2是示出图1的数据存储装置的框图。
图3例示根据一实施方式被磁头写入的磁盘的一部分。
图4示出根据一实施方式容纳LTFS格式的区段的排列。
图5示出根据一实施方式的示例LTFS分区格式。
图6示出根据一实施方式的包括转换模块的示例实现环境。
图7示出根据一实施方式的包括转换模块的另一个示例实现环境。
图8例示根据一实施方式的索引分区和数据分区在多数据存储装置之间的分配。
图9是根据一实施方式的数据分区写过程的流程图。
图10是根据一实施方式的索引分区写过程的流程图。
图11是根据一实施方式的读过程的流程图。
具体实施方式
在以下详细描述中,记载了多个具体示例以提供对本公开的全面理解。然而,对本领域技术人员来说,显而易见的是没有这些具体细节中的一些细节也可以实践所公开的各种实施方式。在其它实例中,没有详细示出已知结构和技术以避免不必要地模糊各实施方式。
系统环境
图1示出计算机系统100,其包括主机101、输入装置102、显示装置103和数据存储装置(DSD)106。计算机系统100可以是例如云存储装置、个人计算机系统或者其它电子装置。在这一方面,计算机系统100可以是单机系统或者网络的一部分。输入装置102可以是键盘、滚轮或者指向装置,其允许计算机系统100的用户向计算机系统100输入信息和命令或者允许用户操纵显示在显示装置103上的对象。在其它实施方式中,输入装置102和显示装置103可以组合到单个部件中,例如显示对象并接收用户输入的触摸屏。
在图1的实施方式中,主机101包括中央处理单元(CPU)108,其可以利用执行指令的一个或者更多个处理器实现,包括微控制器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、硬连接逻辑、模拟电路和/或其组合。CPU 108与主机总线112接口。还与主机总线112接口的是随机存取存储器(RAM)110、用于输入装置102的输入接口114、用于显示装置103的显示接口116、只读存储器(ROM)118、网络接口120和DSD 106。
RAM 110与主机总线112接口以在软件程序(例如操作系统34、应用程序24、设备驱动器26、转换模块22和线性带文件系统(LTFS)20)中的指令的执行期间向CPU 108提供存储在RAM 110中的信息。更具体地,CPU 108首先将DSD 106或者另一个数据存储装置中的计算机可执行指令加载到RAM 110的区域中。然后,CPU 108可以执行来自RAM 110的所存储的过程指令。数据例如将要存储在DSD 106中的数据或自DSD 106检索的数据可以存储在RAM110中,使得在软件程序的执行期间(从这种软件程序有必要存取和/或修改数据的意义上)该数据可以被CPU 108存取。
如图1所示,DSD 106包括应用程序24,其可以是例如数据存档程序或者多媒体程序。DSD 106还包括装置驱动器26,用作对例如输入装置102、显示装置103和/或DSD 106的装置的软件接口。另外,DSD 106可以存储操作系统34,其包括内核36、文件系统(FS)拦截器40和存储栈42。
如以下参照图2讨论的,在一个实施方式中,DSD 106是混合驱动器,包括磁盘(即,图2中的盘200)和固态非易失性存储器(NVM)(即,图2中的NVM 128)。尽管DSD 106不包括磁带作为存储介质,但是DSD 106被构造为通过LTFS 20、转换模块22和FS拦截器40使用线性带文件系统(LTFS)格式。如参照图9到图11更详细讨论的,转换/翻译模块22将LTFS读和写命令中使用的地址转换成装置地址以根据LTFS读和写命令允许向DSD 106写数据或者从DSD 106读数据。
作为LTFS格式的一部分,并且如以下参照图5讨论的,LTFS格式包括数据分区和索引分区。在图1的示例中,DSD 106包括用于存储符合LTFS格式的数据和元数据的索引分区14和数据分区16。另外,DSD 106包括状态元数据18,其表示与转换模块22一起使用的索引分区14和数据分区16的状态。DSD 106还包括带属性状态17,其用于表示与LTFS 20一起使用的索引分区14和数据分区16的状态。例如,带属性状态17可以包括计数器,其指示符合LTFS格式的当前卷。
本领域技术人员将理解所公开的用于管理数据的过程可以在其它环境中实现。在一些实施方式中,DSD 106可以包括相比图1所示的元件更多或更少的元件。例如,一些实施方式可以不包括单独的转换模块22,因为该模块可以实现为装置驱动器26的一部分。
数据存储装置概括
图2图示根据一个示例实施方式的DSD 106的框图。如图2所示,DSD 106包括控制器122,其可以执行本文所述的DSD 106的各种操作。控制器122可以利用一个或者更多个处理器执行指令来实现,并且可以包括微控制器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、硬连接逻辑、模拟电路和/或其组合。
在图2的示例中,DSD 106包括旋转磁盘200和连接到致动臂130的远端的磁头129,致动臂130通过音圈马达(VCM)132绕着枢轴旋转以在磁盘200上方定位磁头129。磁头129至少包括用于从磁盘200读数据的读元件(即,图3中的读元件140)和用于在磁盘200上写数据的写元件(即,图3中的写元件142)。磁盘200包括,用于存储数据和/或元数据(例如,索引分区14、数据分区16、带属性状态17和/或状态元数据18)的多个径向间隔的同心轨道210。轨道210可以被共同分组为轨道的区段(例如,图3中的区段224、226和228),每个轨道210被分割为沿轨道210圆周间隔的多个扇区(即,图3中的扇区222)。
DSD 106还包括主机接口126和易失性存储器124(其可以包括例如DRAM)。存储在易失性存储器124中的数据可以包括从磁盘200读取的数据、要写入磁盘200的数据和/或用于控制DSD 106的指令。主机接口126被构造为将DSD 106与主机101接口并且可以根据串行高级技术附件(SATA)标准或其他标准(如串行连接的SCSI(SAS))来接口。如本领域技术人员理解的,可以将主机接口126作为控制器122的一部分包括在DSD 106内。
另外,DSD 106包括固态非易失性存储器(NVM)128,用于存储数据和/或元数据(例如索引分区14、数据分区16、带属性状态17和/或状态元数据18)。尽管本文中的描述一般涉及NVM,但是应理解NVM可以包括多种类型的固态非易失性存储装置(例如闪存集成电路、相变化RAM(C-RAM)、相变存储器(PC-RAM或者PRAM)、可编程金属化单元RAM(PMC-RAM或PMCm)、双向通用存储器(OUM)、电阻RAM(RRAM)、NAND存储器(例如,单电平单元(SLC)存储器、多电平单元(MLC)存储器或其任意组合)、NOR存储器、EEPROM存储器、铁电体存储器(FeRAM)、磁电阻RAM(MRAM)、其它分立NVM(非易失性存储器)芯片或其任意组合中的一个或者更多个。
在操作中,响应于经由主机接口126接收的来自主机101的命令,控制器122写数据到磁盘200并从磁盘200读数据。当控制器122从主机101接收写命令和要写到磁盘200的数据时,控制器122将接收的数据临时保持在非易失性存储器124中。为了写数据到磁盘200,控制器122通过向VCM 132发送VCM控制信号30来将磁头129定位在磁盘200上方。控制器122基于从磁盘200读取的定位信息来定位磁头129,并将要写到磁盘200的数据处理成向磁头129输出的写信号32。对于其部分,磁头129的写元件(即,图3中的写元件142)将写信号32转换为基于写信号32而使盘200的表面磁化的磁场,从而通过磁性将数据写在盘200上。在针对该写命令的数据被成功写在磁盘200上之后,控制器122可以经由主机接口126通知主机101。
当控制器122从主机101接收请求写在磁盘200上的数据的读命令时,控制器122通过向VCM 132发送VCM控制信号30将磁头129定位在磁盘200上方。磁头129的读元件(即,图3中的读元件140)基于磁头129下方的磁盘表面的磁化而产生读信号32,并且控制器122将读信号32处理成数据。
SMR磁盘示例
图3例示一种示例构造,其中示出磁盘200的一部分包括轨道210的三个区段。如图3的示例所示出的,区段224和226是被磁头129的写元件142写入的非交叠轨道的区段,并且区段228也是被磁头129的写元件142写入的交叠轨道210的区段。非交叠轨道的区段,例如区段224和226,在此称为传统磁记录(CMR)区段。交叠轨道的区段,例如区段228,在此称为叠瓦式磁记录(SMR)区段。
如图3所示,每个轨道210包括多个扇区222,用于存储固定量的数据,例如2048个字节、1024个字节或者4096个字节。磁头129包括读元件140,其基于扇区222的磁化产生读信号32。磁头129还包括写元件142,其将写信号32转换为磁场,该磁场通过磁性将数据写在扇区222中。在图3的示例中,写元件142基本上比读元件140宽,以便于在SMR区段228中的叠瓦式磁记录。特别地,在SMR区段228中的轨道210的非交叠部分形成可以由读元件140读取的相对窄的轨道。因此,SMR区段228具有比CMR区段224和226高的每英寸轨道数(TPI)。在替代的实施方式中,写元件与读元件的宽度的比可以不同。例如,写元件可以是读元件宽度的四或五倍。
如图3所示,CMR区段224与CMR区段226被间隔轨道230分开,并且SMR区段228与CMR区段226被间隔轨道232分开。间隔轨道230和232是空轨道或没有数据的轨道,其用作区段之间的缓冲。在SMR区段228的情况下,间隔轨道232允许数据写入SMR区段228中而不覆写相邻SMR区段228中的轨道中的数据。
在这一点上,由于SMR区段的交叠轨道,SMR区段一般被顺序写入。不顺序写入SMR区段,对先前交叠的轨道的新写入将也影响在交叠轨道中写入的数据。
如以下参照图5更详细描述的,磁盘200呈不同区段的排列可以容纳LTFS格式的索引分区14和数据分区16。
分区排列示例
图4图示图3的区段用于容纳LTFS格式的示例排列。如图4所示,CMR区段224存储带属性状态17和状态元数据18,CMR区段226存储索引分区14,并且SMR区段228存储数据分区16。
在图4的示例中,SMR区段228的较大的数据容量允许在数据分区16中存储较大量的数据和元数据。然而,由于SMR区段中的交叠轨道,在不影响相邻数据的情况下,在SMR区段中写入的数据通常不易于修改。因而,在用于数据分区16的SMR区段228中记录的数据和元数据被顺序写入,并且通常在写入之后不被修改。
索引分区14被写入CMR区段226中,以允许更容易地修改存储在索引区段14中的元数据。鉴于这一点,在索引分区14中写入的元数据可以容易被重写以指示例如数据分区16中数据的删除。在其它实施方式中,索引分区14可以存储在NVM 128的区段中而不是CMR区段中。
和索引分区14一样,状态元数据18和带属性状态17通常小于数据分区16并且包括可以被频繁存取或修改的元数据。因此,在图4的示例中,状态元数据18和带属性状态17存储在CMR区域224中。在其它实施方式中,状态元数据18和/或带属性状态17可以存储在NVM128的区段中而不是CMR区段中。
尽管带属性状态17可以是LTFS格式的一部分,但是状态元数据18不是LTFS格式的一部分。在图4的示例中,在将LTFS块地址转换成DSD 106的装置地址中,状态元数据18被转换模块22使用。更具体地,状态元数据18包括表示数据分区的状态和/或索引分区的状态的元数据。这种元数据可以包括LTFS块地址,LTFS块地址指示针对数据分区16和索引分区14的每个的有效或废弃数据的逻辑位置。
在图4的示例中,CMR区段224还存储用户文件30,其是存储在数据分区16中的用户文件的副本。如上所述,CMR区段224总体上比SMR区段228提供更容易的数据修改。另外,由于较小的尺寸,CMR区段224提供更快的数据存取。因此,CMR区段224可以用于提供更快的存取、更好的存储利用和/或存储在数据分区16中的特定数据的冗余。例如,CMR区段224可以包括最近写入的数据以允许在不期望的停电之后更快地恢复。在另一个示例中,小于预定尺寸的文件可以存储在CMR区段224中而不是存储在SMR区段228中,以就文件碎片而言提供对SMR区段228更好的利用。在另一示例中,CMR区段228可以存储频繁存取的数据以允许较快地存取这种数据。
图5描绘索引分区14和数据分区16的示例LTFS分区格式。在使用LTFS的典型的带驱动器中,磁带包括主要用于存储数据文件的数据分区和主要用于存储与数据文件相关联的元数据的索引分区。存储在索引分区中的元数据通常是描述存储在磁带上的目录和文件结构的新近的元数据。在图5的实施方式中,LTFS元数据包括VOL 1标签46、LTFS标签48、索引52、索引60、索引58和LTFS标签56。该数据包括用户文件32、30和28。
如图5所示,索引分区14和数据分区16中的每个以记录在索引分区14和数据分区16的第一逻辑块位置的标签构造开始。对于索引分区14,该标签构造包括被文件标记50分开并以另一个文件标记50结束的VOL 1标签46和LTFS标签48。对于数据分区16,该标签构造包括被文件标记50分开并且以另一个文件标记50结束的VOL 1标签46和LTFS标签56。除LTFS标签48和56中指定的位置信息之外,这两种标签构造包括相同信息,上述位置信息提供针对它们相应的索引分区14或者数据分区16的特定部分的LTFS块地址。VOL 1标签46、LTFS标签48和LTFS标签56中的每个都可以是XML文档。
VOL 1标签46标识分区的卷号并且可以指示存取权限限于LTFS标准并且可以包括所有者标识信息。LTFS标签48和56可以包括关于以下内容的信息:卷的创建方、卷被格式化的时间、卷的标识、属于该卷的数据分区和索引分区的LTFS块地址、当向LTFS卷写数据时使用的块大小和/或当写数据时用于压缩的值。
如图5所示,索引分区14包括索引52,而数据分区16包括索引52、58和60。每个索引用文件标记50支持并且描述所有数据文件、目录信息和存储在卷中的文件的关联的元数据。另外,每个索引可以包括LTFS块地址,其用作指向另一个索引的后向指针。如图5所示,索引分区14中的索引52包括指向数据分区16中的索引52的后向指针,索引52依次包括指向索引60的后向指针,索引60包括指向索引58的后向指针。关于这一点,LTFS格式要求数据分区中的索引和索引分区中的最后索引形成后向指针的完整链。这些后向指针可以用于向后查阅卷的较早状态。
如图5所示,索引分区14还包括记录在索引分区14中的用户文件32,作为数据分区16中新写入的用户文件32的备份副本。在此示例中,为了实现冗余,索引分区14可以存储来自数据分区16的最新写入的用户文件。如本领域技术人员理解的,在索引分区14中记录用户文件是可选的。
数据分区16包括用户文件28、30和32。如图5所示,用户文件可以插在索引之间,如用户文件28在索引58和60之间。用户文件也可以跟有分开用户文件的文件标记,如用户文件30和32被文件标记50分开的情形。
实现环境
图6和图7图示利用非带驱动的数据存储装置的使用LTFS命令的两种不同实现环境。如图6所示,应用程序24、LTFS 20和转换模块22在用户空间中实现,FS拦截器40和存储栈42在内核空间中实现,其为操作系统34的一部分。实际上,转换模块22可以是不要求对LTFS 20修改的插入式驱动器。
如图6中的箭头指示的,读和写数据命令由FS拦截器40拦截,并且传递到LTFS 20用于产生LTFS读或写命令。FS拦截器40可以包括虚拟文件系统,其拦截来自应用24的数据存取请求。由LTFS 20产生的LTFS读或者写命令包括LTFS块地址,其指示元数据或与LTFS读或写命令关联的数据在数据分区16或索引分区14中的逻辑位置。
LTFS读或者写命令被转换模块22接受,其将LTFS块地址转换成特定数据存储装置(例如DSD 106)的装置地址。装置地址可以标识在数据存储装置的区段中的位置。在DSD106的示例中,装置地址可以包括与磁盘200上的区段中的具体扇区222对应的逻辑块地址。在其它示例中,装置地址可以包括与DSD 106的NVM 128中的具体块和页相对应的逻辑块地址。如本领域技术人员将理解的,在不背离本公开的范围的情况下,其它类型的装置地址是可能的。
利用针对数据储存装置的相应读或写命令,转换模块22将转换的装置地址传递到存储栈42中。存储栈42可以包括用于将多个数据存储装置(例如图6所示的DSD 104、105、106、107和109)组网的模块。在这一点上,DSD 104、105、106、107和109可以包括使用CMR介质、SMR介质和/或固态介质的不同类型的数据存储装置。
除了处理LTFS读和写命令,转换模块22还可以执行文件管理任务,例如存储在数据分区16中的文件的碎片整理。在这一点上,转换模块22可以周期性地搜索数据分区16中由于不同时间对文件进行的修改而已经散布在数据分区16中的文件。作为碎片整理的一部分,转换模块22可以重新分配碎片文件的一部分或者多个部分使得文件在DSD的磁盘上形成连续范围。
图7图示一示例实现环境,其与图6的不同之处在于转换模块22在作为操作系统34的一部分的内核空间中实现。与如图6中在用户空间内实现转换模块22相比,在内核空间中实现转换模块22通常允许更快的处理。然而,在用户空间中实现转换模块22可以有利地将转换模块22与操作系统34隔离,以防止在转换模块的执行期间可能出现的问题影响到操作系统34。
图8图示根据一实施方式的索引分区14和数据分区16在DSD 104、105、106、107和109之间的分配。除了提供附加存储容量,在多个DSD上写数据分区16和/或索引分区14通常可以通过允许在不同DSD处同时读和/或写来提高性能。例如,数据分区16中的大文件的部分,例如用户文件28,可以散布在DSD 106、107和109之间以允许更快地读取文件。
如图8所示,数据分区16写在DSD 106、107和109上,并且索引分区14写在DSD 104和105上。在图8的实施方式中,DSD 106、107和109中的每个包括具有交叠轨道的磁盘,例如磁盘200,以容纳存储在数据分区16中的大量数据。另外,DSD 104和105每个都可以专用于存储索引14的部分以容纳大的索引分区14。在另一实施方式中,DSD 104和105均包括索引分区14的完整副本。这种冗余可以减少必须从数据分区16来重新构建索引分区14的可能性,重新构建是耗时的任务。
示例写过程
图9是描绘数据分区16的示例写过程的流程图。如图9所示,虚线上方的块由LTFS20进行,而虚线下方的块由转换模块22进行。
图9的过程开始于块300,其中LTFS 20从FS拦截器40接受写命令。在被FS拦截器40拦截之前,写命令可来源于应用程序,例如应用程序24。
在块302,LTFS 20根据所接受的写命令产生在数据分区16中写入数据的LTFS写命令。所产生的写命令包括数据和指示在数据分区16中写入数据的逻辑位置的LTFS块地址。该数据可以是例如用户文件,例如图5中的用户文件32。
在块303,转换模块22确定写命令中的LTFS块地址是否是有效的LTFS块地址。具体地,转换模块22可以检查状态元数据18以查看LTFS块地址是否对应于顺序地跟随数据分区16的最新写入的LTFS块地址的数据分区16的区域。可以执行块303以帮助确保数据分区16的顺序写入。如果转换模块22在块303确定LFTS块地址无效,则转换模块22在块305向LTFS20返回错误并且数据分区写过程在块329结束。
如果在块303确定LTFS块地址有效,则转换模块22在块304中将该LTFS块地址转换成至少一个DSD的第一区段中的数据分区16的装置地址。这种第一区段的一个示例可以是DSD 106的SMR区段228。
在块306,转换模块22命令一个或多个适当的数据存储装置在装置地址处写入写命令的数据。这可以包括例如存储栈42将写命令和装置地址传递到DSD106,在DSD 106处,写命令和装置地址被主机接口126接收以被控制器122处理。基于装置地址,控制器122可以在NVM 128中或者在磁盘200上写数据。在图4的示例实施方式中,控制器122在存储数据分区16的SMR区段228中写数据。转换模块22还可以执行数据的加密和/或压缩,作为块306的一部分。
在块308,转换模块22检查在块306中写数据时是否从DSD指示了任何写错误。这种写错误可以包括写失败的装置地址。如果在块308接收了写错误,则转换模块22在块310中重新映射LTFS块地址到第一区段中的数据分区16的新装置地址。该过程接着返回到块306以命令一个或更多个适当的数据存储装置写入写命令的数据。
如果在块308中没有接收到写错误,则转换模块22在块314中向LTFS 20返回指示对数据分区16的数据写命令已经完成的状态指示符。
图9的过程接着继续到块316,其中在块316中LTFS 20产生LTFS命令以写入针对该数据分区的元数据。该元数据可以是例如图5中的索引52,其用于描述先前在块306中写入的数据。如同在块302中产的LTFS写命令,在块316中产生的LTFS写命令包括用于在数据分区16中写元数据的LTFS块地址。
在块317,转换模块22确定写命令中的LTFS块地址是否是有效的LTFS块地址。更具体地,转换模块22可以检查状态元数据18以查看LTFS块地址是否对应于顺序地跟随数据分区16的最新写入的LTFS块地址的数据分区16的区域。执行块317可以帮助确保数据分区16的顺序写入。如果转换模块22在块317中确定LFTS块地址无效,则转换模块22在块319中向LTFS 20返回错误,并且数据分区写过程在块329结束。
如果在块317中确定LTFS块地址有效,则在块318中转换模块22将在块316中产生的LTFS写命令的LTFS块地址转换成至少一个DSD的第一区段中的数据分区16的装置地址。在块320,转换模块22命令适当的一个或多个数据存储装置将写命令的元数据写入该装置地址。这可以包括,例如,存储栈42将写命令和装置地址传递到DSD 106,在DSD 106中写命令和装置地址被主机接口126接收供控制器122处理。基于该装置地址,控制器122可以将元数据写入NVM 128中或磁盘200上。在图4的示例中,控制器122将元数据写入存储数据分区16的SMR区段228。
在块322,转换模块22检查在块320中写元数据时是否从至少一个DSD指示了任何写错误。如果是,则在块324中,转换模块22将LTFS块地址重新映射到第一区段中的数据分区16的新装置地址。该过程返回到块320以命令适当的一个或多个数据存储装置写入写命令的元数据。
如果在块322没有接收到写错误,则在块326中转换模块22更新至少一个DSD中的第三区段中的状态元数据18和/或带属性状态17,以反映在块306中写入的数据和在块320中写入的元数据。这可以涉及更新状态元数据18中的目录(包括数据分区16的LTFS块地址)或改变带属性状态17中的卷号。如以上参照图4讨论的,带属性状态17和状态元数据18可以存储在非交叠轨道的区段中,例如CMR区段224中,以方便对存储在带属性状态17和状态元数据18中的元数据的频繁修改。在其它实施方式中,第三区段可以是例如NVM 128的固态存储器的一部分。
在块328,转换模块22向LTFS 20返回指示针对数据分区16的元数据写命令已经完成的状态指示符。之后,图9的数据分区写过程在块329结束。
图10是描绘索引分区14的示例写过程的流程图。如同图9,虚线上方的块由LTFS20执行,而虚线下方的块由转换模块22执行。
图10的过程开始于块330,其中LTFS 20产生LTFS卸载命令,其可以例如响应于特定时间的经过、对同步LTFS文件系统的调用或者关闭LTFS 20的命令而产生。在块332,LTFS20产生将元数据写到索引分区14的LTFS写命令。这种写命令可以是写入元数据的命令,元数据例如图5中的索引分区14的索引52。如同图9的写命令,块332的写命令包括LTFS块地址,其指示用于写入元数据的索引分区14中的逻辑位置。
在块333,转换模块22确定写命令中的LTFS块地址是否是有效的LTFS块地址。具体地,转换模块22可以检查状态元数据18以查看LTFS块地址是否对应于顺序地跟随索引分区14的最新写入的LTFS块地址的索引分区14的区域。如果在块333中确定LTFS块地址无效,则在块335中,转换模块22向LTFS 20返回错误。然后,在块346中,索引分区写过程结束。
如果在块333中确定LTFS块地址有效,则在块334中转换模块22将写命令的LTFS块地址转换成至少一个DSD的第二区段中的装置地址。这种第二区段的示例可以包括DSD 106的CMR区段226。在其它实施方式中,第二区段可以是例如NVM 128的固态存储器的一部分。
在块336,转换模块22命令适当的一个或多个数据存储装置在转换的装置地址处写入写命令的元数据。这可以包括例如存储栈42将写命令和装置地址传递到DSD 106,在DSD 106处写命令和装置地址被主机接口126接收供控制器122处理。基于装置地址,控制器122可以在NVM 128中或者在磁盘200上写入元数据。在图4的示例中,控制器122向存储索引分区14的CMR区段226写入元数据。
在块338,转换模块22检查在块336中写入元数据时是否从至少一个DSD指示了任何写错误。如果是,则在块340中转换模块22将LTFS块地址重新映射至第二区段中的索引分区14的新装置地址。该过程返回到块336以命令适当的一个或多个数据存储装置将LFTS写命令的元数据写入索引分区14。
如果在块338中没有接收到写错误,则在块342中转换模块22更新至少一个DSD的第三区段中的状态元数据18和/或带属性状态17,以反映块336中写入的元数据。这可以涉及更新状态元数据18中的目录(包括索引分区14的LTFS块地址)或更新带属性状态17中的卷号。如以上参照图4讨论的,带属性状态17和状态元数据18可以存储在非交叠轨道的区段中,例如CMR区段224,以方便对存储在带属性状态17和状态元数据18中的元数据的频繁修改。在其它实施方式中,第三区段可以是例如NVM 128的固态存储器的一部分。
在块344中,转换模块22向LTFS 20返回指示针对索引分区14的元数据写命令已经完成的状态指示符。然后,在块346,图10的索引分区写过程结束。
示例读过程
图11是针对索引分区14或数据分区16的示例读过程的流程图。图11的读过程开始于块400,其中LFTS 20从FS拦截器40接受读命令。在被FS拦截器40拦截之前读命令可以来源于应用程序,例如应用程序24。
在块402,LTFS 20根据所接受的读命令产生LTFS读命令。块402的LFTS读命令包括指示用于读取来自索引分区14或数据分区16的数据或元数据的逻辑位置的LFTS块地址。
在块404,转换模块22确定读命令中的LTFS块地址是否是有效的LTFS块地址。更具体地,转换模块22可以检查状态元数据18以查看LTFS块地址是否对应于先前已被写入的索引分区14或数据分区16的区域。这可以通过关于索引分区14和数据分区16的LFTS块地址的顺序写入来促进。因而,转换模块22可以通过检查LTFS块地址是否小于或等于索引分区14或数据分区16的最新写入的LFTS块地址来确定LTFS块地址是否有效。
如果在块404确定LTFS块地址无效,则转换模块22向LTFS 20返回错误,并且读过程在块414结束。
如果在块404中LFTS块地址被确定为有效,则转换模块22在块408中将LTFS块地址转换成至少一个DSD的装置地址。在块410,转换模块22命令适当的一个或多个数据存储装置根据读命令读取该装置地址处的数据或者元数据。
块411是可以作为额外检查而执行的可选块,其中检查在块410中读取的数据是针对该装置地址的正确数据类型。在块411,转换模块22检查在块410读取的数据或元数据的数据类型是否与存储在针对该装置地址的状态元数据18中的数据类型匹配。更具体地,转换模块22可以检查是否在块410中读取了数据或元数据,并且然后检查状态元数据18以查看状态元数据18是否指示在该读命令的装置地址处写入了数据或元数据。如果所读取的数据或元数据的数据类型与状态元数据18中针对该装置地址存储的数据类型不匹配,则过程继续到块406以向LTFS 20返回错误,然后读过程在块414结束。
如果转换模块22在块411中确定数据类型匹配,则转换模块22在块412中(如果已知)向LTFS 20返回具有当前文件标记计数的所读取的数据或者元数据。文件标记计数可以向LFTS 20提供读取的数据或者元数据在索引分区14或数据分区16中的LTFS位置信息。如果在块410中读取了文件标记(例如,图5中的文件标记50),则转换模块22可以从读取的文件标记返回文件标记计数。另一方面,如果在块410中未读取文件标记,则紧前面的文件标记可以用于向LTFS 20返回文件标记计数。在块412中返回数据和文件标记计数之后,
图11的读过程在块414结束。
结论
本领域技术人员将理解结合此处公开的示例描述的各个示例性逻辑块、模块和过程可以实现为电子硬件、计算机软件或其组合。此外,上述过程可以在计算机可读介质上实现,其导致处理器或者计算机完成或执行特定功能。
为了清楚地例示硬件和软件的可互换性,以上大体上从其功能角度描述了各种例示部件、块和模块步骤。这些功能是否实现为硬件或者软件取决于对整个系统施加的具体应用和设计约束。本领域技术人员可以以针对各具体应用的多种方式实现所描述的功能,但是这种实现决定不应解释为背离本公开的范围。
结合此处公开的示例描述的各例示逻辑块、单元、模块和控制器可以借助设计用于执行本文所述的功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑、分立硬件部件或者其任何组合来实现或执行。通用处理器可以是微处理器,但是可替代地,处理器可以是任何传统处理器、控制器、微控制器或状态机。处理器还可以实现为计算装置的组合(例如,DSP和微处理器的组合)、多个微处理器、一个或者更多个微处理器结合DSP核或者任何其它这种构造。
结合此处公开的示例描述的方法或者过程的活动可以直接在硬件中实现,在由处理器执行的软件模块中实现或者在两者的组合中实现。方法或者算法的步骤也可以以不同于示例中提供的顺序的替代顺序实现。软件模块可以驻留在RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移除磁盘、CD-ROM或者本领域已知的任何其它形式的存储介质。示例性存储介质耦合到处理器,使得处理器可以从存储介质读信息以及向其写入信息。可替代地,存储介质可以集成至处理器。处理器和存储介质可以驻留在专用集成电路(ASIC)中。
提供以上所公开的示例性实施方式的描述以使得本领域技术人员能够实现或者使用本公开的实施方式。对这些示例的各种修改对于本领域技术人员来说将是显而易见的,并且在不偏离本公开的精神或范围的情况下,本文公开的原理可以应用于其它示例。所描述的实施方式在全部方面仅视为示例性的而非限制性的,并且因此本公开的范围由随后的权利要求而不是以上描述来指示。落入权利要求的含义和等同范围内的全部变化都包含在其范围内。
Claims (23)
1.一种用于管理存储在至少一个数据存储装置即DSD中的数据的方法,该方法包括以下步骤:
产生包括LTFS块地址的线性带文件系统即LTFS写或读命令,其中产生的LTFS命令用于在LTFS格式的LTFS数据分区中写或读数据、在LTFS数据分区中写或读元数据,或者在LTFS格式的LTFS索引分区中写或读元数据;
使用表示所述LTFS数据分区的状态和所述LTFS索引分区的状态中的至少一个的状态元数据将所述LTFS块地址转换成所述至少一个DSD的装置地址;以及
在所述至少一个DSD中所述装置地址处写所述数据或所述元数据或者读所述数据或所述元数据。
2.根据权利要求1所述的方法,其中所述至少一个DSD包括磁盘上的非交叠轨道的区段或者用于存储所述状态元数据的固态存储器中的区段。
3.根据权利要求1所述的方法,其中所述状态元数据指示所述LTFS数据分区和所述LTFS索引分区中的至少一个的有效或废弃数据的位置。
4.根据权利要求1所述的方法,其中产生所述LTFS写或读命令包括使用虚拟文件系统来拦截数据存取请求。
5.根据权利要求1所述的方法,其中在计算机系统的用户空间中执行将所述LTFS块地址转换成所述装置地址。
6.根据权利要求1所述的方法,其中在计算机系统的操作系统即OS的内核空间中执行将所述LTFS块地址转换成所述装置地址。
7.根据权利要求1所述的方法,其中在所述至少一个DSD的多个DSD上写所述LTFS数据分区和所述LTFS索引分区中的至少一个。
8.根据权利要求1所述的方法,所述方法还包括检查所述状态元数据以确定LTFS写命令的LTFS块地址是否对应于顺序地跟随所述LTFS数据分区或者所述LTFS索引分区的最新写入的LTFS块地址的所述LTFS数据分区或者所述LTFS索引分区的区域。
9.根据权利要求1所述的方法,所述方法还包括检查所述状态元数据以确定LTFS读命令的LTFS块地址是否对应于先前已被写入的所述LTFS数据分区或者所述LTFS索引分区的区域。
10.据权利要求1所述的方法,所述方法还包括响应于LTFS卸载命令向所述LTFS索引分区写入元数据。
11.据权利要求1所述的方法,所述方法还包括检查所述状态元数据以确定响应于LTFS读命令读取的指示是数据还是元数据的数据类型是否与所述装置地址的状态元数据中指示的数据类型匹配。
12.一种用于管理数据的计算机系统,所述计算机系统包括:
至少一个数据存储装置即DSD;以及
处理器,所述处理器被配置为:
产生包括LTFS块地址的线性带文件系统即LTFS写或读命令,其中产生的LTFS命令用于在LTFS格式的LTFS数据分区中写或读数据、在所述LTFS数据分区中写或读元数据,或者在所述LTFS格式的LTFS索引分区中写或读元数据;
使用表示所述LTFS数据分区的状态和所述LTFS索引分区的状态中的至少一个的状态元数据将所述LTFS块地址转换成所述至少一个DSD的装置地址;以及
命令所述至少一个DSD在所述至少一个DSD中所述装置地址处写所述数据或所述元数据或者读所述数据或所述元数据。
13.根据权利要求12所述的计算机系统,其中所述至少一个DSD包括磁盘上的非交叠轨道的区段或者用于存储所述状态元数据的固态存储器中的区段。
14.根据权利要求12所述的计算机系统,其中所述状态元数据指示所述LTFS数据分区和所述LTFS索引分区中的至少一个的有效或废弃数据的位置。
15.根据权利要求12所述的计算机系统,其中在产生所述LTFS写或读命令时,所述处理器进一步被配置为使用虚拟文件系统来拦截数据存取请求。
16.根据权利要求12所述的计算机系统,其中所述处理器进一步被配置为在所述计算机系统的用户空间中将所述LTFS块地址转换成所述装置地址。
17.根据权利要求12所述的计算机系统,其中所述处理器进一步被配置为在所述计算机系统的操作系统即OS的内核空间中将所述LTFS块地址转换成所述装置地址。
18.根据权利要求12所述的计算机系统,其中在所述至少一个DSD的多个DSD上写所述LTFS数据分区和/或所述LTFS索引分区。
19.根据权利要求12所述的计算机系统,其中所述处理器进一步被配置为检查所述状态元数据以确定LTFS写命令的LTFS块地址是否对应于顺序地跟随所述LTFS数据分区或者所述LTFS索引分区的最新写入的LTFS块地址的所述LTFS数据分区或者所述LTFS索引分区的区域。
20.根据权利要求12所述的计算机系统,其中所述处理器进一步被配置为检查所述状态元数据以确定LTFS读命令的所述LTFS块地址是否对应于先前已被写入的所述LTFS数据分区或者所述LTFS索引分区的区域。
21.根据权利要求12所述的计算机系统,其中所述处理器进一步被配置为响应于LTFS卸载命令向所述LTFS索引分区写入元数据。
22.根据权利要求12所述的计算机系统,其中所述处理器进一步被配置为检查所述状态元数据以确定响应于LTFS读命令读取的指示是数据还是元数据的数据类型是否与所述装置地址的所述状态元数据中指示的数据类型匹配。
23.一种非暂时性计算机可读介质,其存储用于管理存储在至少一个数据存储装置即DSD的数据的计算机可执行指令,其中所述计算机可执行指令在由处理器执行时,所述计算机可执行指令使得所述处理器:
产生包括LTFS块地址的线性带文件系统即LTFS写或读命令,其中产生的LTFS命令用于在LTFS格式的LTFS数据分区中写或读数据、在所述LTFS数据分区中写或读元数据,或者在LTFS格式的LTFS索引分区中写或读元数据;
使用表示所述LTFS数据分区的状态和所述LTFS索引分区的状态中的至少一个的状态元数据将所述LTFS块地址转换成所述至少一个DSD的装置地址;以及
命令所述至少一个DSD在所述至少一个DSD中所述装置地址处写数据或元数据或者读数据或元数据。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361753717P | 2013-01-17 | 2013-01-17 | |
US61/753,717 | 2013-01-17 | ||
CN201410022803.7A CN104156172B (zh) | 2013-01-17 | 2014-01-17 | 数据存储装置的数据管理 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410022803.7A Division CN104156172B (zh) | 2013-01-17 | 2014-01-17 | 数据存储装置的数据管理 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109002262A true CN109002262A (zh) | 2018-12-14 |
CN109002262B CN109002262B (zh) | 2021-08-24 |
Family
ID=51166144
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410022803.7A Active CN104156172B (zh) | 2013-01-17 | 2014-01-17 | 数据存储装置的数据管理 |
CN201810795098.2A Active CN109002262B (zh) | 2013-01-17 | 2014-01-17 | 数据存储装置的数据管理 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410022803.7A Active CN104156172B (zh) | 2013-01-17 | 2014-01-17 | 数据存储装置的数据管理 |
Country Status (3)
Country | Link |
---|---|
US (2) | US9720627B2 (zh) |
CN (2) | CN104156172B (zh) |
HK (1) | HK1204108A1 (zh) |
Families Citing this family (70)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8079045B2 (en) | 2001-10-17 | 2011-12-13 | Keen Personal Media, Inc. | Personal video recorder and method for inserting a stored advertisement into a displayed broadcast stream |
US20090113702A1 (en) | 2007-11-01 | 2009-05-07 | Western Digital Technologies, Inc. | Disk drive comprising a double sided flex circuit wherein a first side lead provides an etching mask for a second side lead |
US9009358B1 (en) | 2008-09-23 | 2015-04-14 | Western Digital Technologies, Inc. | Configuring a data storage device with a parameter file interlocked with configuration code |
US9330715B1 (en) | 2010-03-22 | 2016-05-03 | Western Digital Technologies, Inc. | Mapping of shingled magnetic recording media |
US9268499B1 (en) | 2010-08-13 | 2016-02-23 | Western Digital Technologies, Inc. | Hybrid drive migrating high workload data from disk to non-volatile semiconductor memory |
US9268649B1 (en) | 2011-06-23 | 2016-02-23 | Western Digital Technologies, Inc. | Disk drive with recent write streams list for data refresh determination |
US8990493B1 (en) | 2011-06-30 | 2015-03-24 | Western Digital Technologies, Inc. | Method and apparatus for performing force unit access writes on a disk |
US9189392B1 (en) | 2011-06-30 | 2015-11-17 | Western Digital Technologies, Inc. | Opportunistic defragmentation during garbage collection |
US9158722B1 (en) | 2011-11-02 | 2015-10-13 | Western Digital Technologies, Inc. | Data storage device to communicate with a host in a SATA or a USB mode |
US8996839B1 (en) | 2012-01-23 | 2015-03-31 | Western Digital Technologies, Inc. | Data storage device aligning partition to boundary of sector when partition offset correlates with offset of write commands |
US9063838B1 (en) | 2012-01-23 | 2015-06-23 | Western Digital Technologies, Inc. | Data storage device shifting data chunks of alignment zone relative to sector boundaries |
US9128820B1 (en) | 2012-06-18 | 2015-09-08 | Western Digital Technologies, Inc. | File management among different zones of storage media |
US9383923B1 (en) | 2012-10-18 | 2016-07-05 | Western Digital Technologies, Inc. | Write pointer management for a disk drive |
US8959281B1 (en) | 2012-11-09 | 2015-02-17 | Western Digital Technologies, Inc. | Data management for a storage device |
US8947816B1 (en) | 2013-05-01 | 2015-02-03 | Western Digital Technologies, Inc. | Data storage assembly for archive cold storage |
US9153287B1 (en) | 2013-05-13 | 2015-10-06 | Western Digital Technologies, Inc. | Data access for shingled magnetic recording media |
US9274978B2 (en) * | 2013-06-10 | 2016-03-01 | Western Digital Technologies, Inc. | Migration of encrypted data for data storage systems |
JP2015005229A (ja) * | 2013-06-21 | 2015-01-08 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | テープカートリッジのファイルを複製する方法、プログラム及びテープドライブ |
US10187479B2 (en) | 2013-08-26 | 2019-01-22 | Vmware, Inc. | Cloud-scale heterogeneous datacenter management infrastructure |
US9025270B1 (en) | 2013-09-17 | 2015-05-05 | Western Digital Technologies, Inc. | Electronic system with current conservation mechanism and method of operation thereof |
US9864529B1 (en) | 2014-01-27 | 2018-01-09 | Western Digital Technologies, Inc. | Host compatibility for host managed storage media |
US9501393B2 (en) | 2014-01-27 | 2016-11-22 | Western Digital Technologies, Inc. | Data storage system garbage collection based on at least one attribute |
US9263088B2 (en) | 2014-03-21 | 2016-02-16 | Western Digital Technologies, Inc. | Data management for a data storage device using a last resort zone |
US9632711B1 (en) | 2014-04-07 | 2017-04-25 | Western Digital Technologies, Inc. | Processing flush requests by utilizing storage system write notifications |
US9645752B1 (en) | 2014-04-07 | 2017-05-09 | Western Digital Technologies, Inc. | Identification of data committed to non-volatile memory by use of notification commands |
US9245558B1 (en) | 2014-05-09 | 2016-01-26 | Western Digital Technologies, Inc. | Electronic system with data management mechanism and method of operation thereof |
JP6218668B2 (ja) * | 2014-05-12 | 2017-10-25 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | メディアへのファイル書き込みに伴うメタ情報の効率的な利用 |
US9075714B1 (en) | 2014-05-13 | 2015-07-07 | Western Digital Technologies, Inc. | Electronic system with data management mechanism and method of operation thereof |
US9424864B2 (en) | 2014-07-02 | 2016-08-23 | Western Digital Technologies, Inc. | Data management for a data storage device with zone relocation |
JP6052812B2 (ja) | 2014-07-11 | 2016-12-27 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | テープ上のファイルの管理、書き込み、及び読み出し方法 |
US8953269B1 (en) | 2014-07-18 | 2015-02-10 | Western Digital Technologies, Inc. | Management of data objects in a data object zone |
US9952950B1 (en) | 2014-09-08 | 2018-04-24 | Western Digital Technologies, Inc. | Data management in RAID environment |
US9600205B1 (en) | 2014-09-22 | 2017-03-21 | Western Digital Technologies, Inc. | Power aware power safe write buffer |
US9236086B1 (en) | 2014-10-15 | 2016-01-12 | Western Digital Technologies, Inc. | Methods for reducing operational latency of data storage systems |
US9129628B1 (en) | 2014-10-23 | 2015-09-08 | Western Digital Technologies, Inc. | Data management for data storage device with different track density regions |
US9123382B1 (en) | 2014-10-28 | 2015-09-01 | Western Digital Technologies, Inc. | Non-volatile caching for sequence of data |
US10282371B1 (en) | 2014-12-02 | 2019-05-07 | Western Digital Technologies, Inc. | Object storage device with probabilistic data structure |
CN104461390B (zh) * | 2014-12-05 | 2017-10-24 | 华为技术有限公司 | 将数据写入叠瓦状磁记录smr硬盘的方法及装置 |
US9269393B1 (en) | 2014-12-08 | 2016-02-23 | Western Digital Technologies, Inc. | Electronic system with data refresh mechanism and method of operation thereof |
US10282096B1 (en) | 2014-12-17 | 2019-05-07 | Western Digital Technologies, Inc. | Identification of data with predetermined data pattern |
US9311939B1 (en) | 2014-12-23 | 2016-04-12 | Western Digital Technologies, Inc. | Write-through media caching |
US9257143B1 (en) | 2014-12-23 | 2016-02-09 | Western Digital Technologies, Inc. | Precautionary measures for data storage device environmental conditions |
US9842622B1 (en) | 2014-12-23 | 2017-12-12 | Western Digital Technologies, Inc. | Data storage device having improved read failure tolerance |
US9257134B1 (en) | 2014-12-24 | 2016-02-09 | Western Digital Technologies, Inc. | Allowing fast data zone switches on data storage devices |
US10365836B1 (en) | 2015-01-27 | 2019-07-30 | Western Digital Technologies, Inc. | Electronic system with declustered data protection by parity based on reliability and method of operation thereof |
US10423339B2 (en) | 2015-02-02 | 2019-09-24 | Western Digital Technologies, Inc. | Logical block address mapping for hard disk drives |
US9672107B1 (en) | 2015-02-11 | 2017-06-06 | Western Digital Technologies, Inc. | Data protection for a data storage device |
US9933955B1 (en) | 2015-03-05 | 2018-04-03 | Western Digital Technologies, Inc. | Power safe write buffer for data storage device |
US9196302B1 (en) | 2015-03-18 | 2015-11-24 | Western Digital Technologies, Inc. | Electronic system with media maintenance mechanism and method of operation thereof |
US9870281B1 (en) | 2015-03-20 | 2018-01-16 | Western Digital Technologies, Inc. | Power loss mitigation for data storage device |
US9588898B1 (en) | 2015-06-02 | 2017-03-07 | Western Digital Technologies, Inc. | Fullness control for media-based cache operating in a steady state |
US9466321B1 (en) | 2015-06-05 | 2016-10-11 | Western Digital Technologies, Inc. | Angular position tracking of data accesses to mitigate risk of data loss |
US9639287B1 (en) | 2015-06-29 | 2017-05-02 | Western Digital Technologies, Inc. | Write command reporting |
US9437242B1 (en) | 2015-09-14 | 2016-09-06 | Western Digital Technologies, Inc. | Data storage device employing different frequency preambles in adjacent data tracks |
US9959052B1 (en) | 2015-09-17 | 2018-05-01 | Western Digital Technologies, Inc. | Media based cache for data storage device |
US10089481B2 (en) * | 2015-09-23 | 2018-10-02 | International Business Machines Corporation | Securing recorded data |
CN108255408B (zh) * | 2016-12-28 | 2021-03-23 | 中国电信股份有限公司 | 数据存储方法以及系统 |
US10120612B2 (en) * | 2017-01-10 | 2018-11-06 | International Business Machines Corporation | Apparatus, method, and program product for tape copying |
US10895994B2 (en) * | 2017-12-11 | 2021-01-19 | International Business Machines Corporation | File access control on magnetic tape by encrypting metadata |
US10381040B1 (en) * | 2018-02-06 | 2019-08-13 | Western Digital Technologies, Inc. | Dynamic hybrid shingled magnetic recording device |
US10853168B2 (en) * | 2018-03-28 | 2020-12-01 | Samsung Electronics Co., Ltd. | Apparatus to insert error-correcting coding (ECC) information as data within dynamic random access memory (DRAM) |
US10969965B2 (en) | 2018-12-24 | 2021-04-06 | Western Digital Technologies, Inc. | Dynamic performance density tuning for data storage device |
WO2020183899A1 (ja) * | 2019-03-13 | 2020-09-17 | 富士フイルム株式会社 | 記録装置、読取装置、記録方法、記録プログラム、読取方法、読取プログラム、および磁気テープ |
US10802739B1 (en) | 2019-05-13 | 2020-10-13 | Western Digital Technologies, Inc. | Data storage device configuration for accessing data in physical realms |
US11175989B1 (en) * | 2020-04-24 | 2021-11-16 | Netapp, Inc. | Pooling blocks for erasure coding write groups |
CN111651127B (zh) * | 2020-06-10 | 2023-05-02 | 杭州海康威视数字技术股份有限公司 | 一种基于叠瓦式磁记录盘的监控数据存储方法及装置 |
US11886724B2 (en) | 2020-12-01 | 2024-01-30 | International Business Machines Corporation | Copying data from a linear tape file system (LTFS)-based storage system to a random access nonvolatile memory (RANVM) drive in units of blocks of the drive |
CN112988072B (zh) * | 2021-03-22 | 2023-11-14 | 北京车和家信息技术有限公司 | 数据处理方法和装置、存储介质和电子设备 |
US11437062B1 (en) * | 2021-08-23 | 2022-09-06 | International Business Machines Corporation | Reducing time to reposition tape to write index |
US11914883B2 (en) | 2022-03-04 | 2024-02-27 | International Business Machines Corporation | Copy from LTFS to disk |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1679107A (zh) * | 2002-08-29 | 2005-10-05 | 飞思卡尔半导体公司 | 带有用于存储数据的非易失性存储器的存储系统 |
US20070136518A1 (en) * | 2005-10-31 | 2007-06-14 | Slater Alastair M | Emulated tape-based storage media |
US20120078931A1 (en) * | 2010-09-29 | 2012-03-29 | International Business Machines Corporation | Methods for managing ownership of redundant data and systems thereof |
CN102484522A (zh) * | 2009-09-09 | 2012-05-30 | Lg电子株式会社 | 在wlan系统中发射控制信息的方法和设备 |
US20120179868A1 (en) * | 2011-01-12 | 2012-07-12 | International Business Machines Corporation | Autonomic reclamation processing for tapes |
US20120323934A1 (en) * | 2011-06-17 | 2012-12-20 | International Business Machines Corporation | Rendering Tape File System Information in a Graphical User Interface |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6584544B1 (en) * | 2000-07-12 | 2003-06-24 | Emc Corporation | Method and apparatus for preparing a disk for use in a disk array |
CN100483365C (zh) * | 2003-08-05 | 2009-04-29 | 赛帕顿有限公司 | 仿真存储系统 |
US7266668B2 (en) * | 2003-11-24 | 2007-09-04 | Copan Systems Inc. | Method and system for accessing a plurality of storage devices |
US7454686B2 (en) * | 2004-11-23 | 2008-11-18 | International Business Machines Corporation | Apparatus and method to check data integrity when handling data |
US7254672B1 (en) * | 2004-12-30 | 2007-08-07 | Storage Technology Corporation | Translation device driver for translating between disk device driver and tape device driver commands |
US8954654B2 (en) * | 2008-06-18 | 2015-02-10 | Super Talent Technology, Corp. | Virtual memory device (VMD) application/driver with dual-level interception for data-type splitting, meta-page grouping, and diversion of temp files to ramdisks for enhanced flash endurance |
US8208215B2 (en) | 2009-02-10 | 2012-06-26 | Hitachi Global Storage Technologies Netherlands, B.V. | Techniques for emulating sequential device with constrained disk drive |
CN103080917B (zh) * | 2010-06-18 | 2014-08-20 | Lsi公司 | 可扩展存储装置 |
US8539165B2 (en) | 2010-09-29 | 2013-09-17 | International Business Machines Corporation | Methods for managing ownership of redundant data and systems thereof |
US8539154B2 (en) | 2010-09-29 | 2013-09-17 | International Business Machines Corporation | Methods for managing ownership of redundant data and systems thereof |
US8612682B2 (en) | 2010-09-29 | 2013-12-17 | International Business Machines Corporation | Methods for managing ownership of redundant data and systems thereof |
US8645636B2 (en) | 2010-09-29 | 2014-02-04 | International Business Machines Corporation | Methods for managing ownership of redundant data and systems thereof |
US8977834B2 (en) * | 2011-02-14 | 2015-03-10 | Seagate Technology Llc | Dynamic storage regions |
US8566517B1 (en) * | 2011-10-06 | 2013-10-22 | Crossroads Systems, Inc. | System, method and computer program product for optimization of tape performance using distributed file copies |
US9406334B2 (en) * | 2011-10-14 | 2016-08-02 | International Business Machines Corporation | Method of detecting tampering of data in tape drive, and file system |
JP2013125437A (ja) * | 2011-12-15 | 2013-06-24 | Fujitsu Ltd | 制御装置、プログラムおよびストレージ装置 |
WO2013088284A1 (en) * | 2011-12-16 | 2013-06-20 | International Business Machines Corporation | Tape drive system server |
US8675296B2 (en) * | 2012-04-16 | 2014-03-18 | International Business Machines Corporation | Creating an identical copy of a tape cartridge |
US8832365B1 (en) * | 2012-04-20 | 2014-09-09 | Kip Cr P1 Lp | System, method and computer program product for a self-describing tape that maintains metadata of a non-tape file system |
US8756687B1 (en) * | 2012-05-25 | 2014-06-17 | Kip Cr P1 Lp | System, method and computer program product for tamper protection in a data storage system |
US8954663B1 (en) * | 2012-06-25 | 2015-02-10 | Kip Cr P1 Lp | System, method and computer program product for synchronizing data written to tape including writing an index into a data partition so that data can be recovered in case of failure |
US9401180B2 (en) * | 2012-10-12 | 2016-07-26 | International Business Machines Corporation | High resolution tape directory (HRTD) stored at end of data in an index partition |
US9251231B2 (en) * | 2012-10-17 | 2016-02-02 | International Business Machines Corporation | Merging an out of synchronization indicator and a change recording indicator in response to a failure in consistency group formation |
-
2013
- 2013-03-04 US US13/784,494 patent/US9720627B2/en active Active
-
2014
- 2014-01-17 CN CN201410022803.7A patent/CN104156172B/zh active Active
- 2014-01-17 CN CN201810795098.2A patent/CN109002262B/zh active Active
-
2015
- 2015-05-08 HK HK15104377.8A patent/HK1204108A1/zh unknown
-
2017
- 2017-07-17 US US15/651,560 patent/US10248362B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1679107A (zh) * | 2002-08-29 | 2005-10-05 | 飞思卡尔半导体公司 | 带有用于存储数据的非易失性存储器的存储系统 |
US20070136518A1 (en) * | 2005-10-31 | 2007-06-14 | Slater Alastair M | Emulated tape-based storage media |
CN102484522A (zh) * | 2009-09-09 | 2012-05-30 | Lg电子株式会社 | 在wlan系统中发射控制信息的方法和设备 |
US20120078931A1 (en) * | 2010-09-29 | 2012-03-29 | International Business Machines Corporation | Methods for managing ownership of redundant data and systems thereof |
US20120179868A1 (en) * | 2011-01-12 | 2012-07-12 | International Business Machines Corporation | Autonomic reclamation processing for tapes |
US20120323934A1 (en) * | 2011-06-17 | 2012-12-20 | International Business Machines Corporation | Rendering Tape File System Information in a Graphical User Interface |
Also Published As
Publication number | Publication date |
---|---|
CN109002262B (zh) | 2021-08-24 |
US20140201424A1 (en) | 2014-07-17 |
US9720627B2 (en) | 2017-08-01 |
US10248362B2 (en) | 2019-04-02 |
CN104156172B (zh) | 2018-07-17 |
HK1204108A1 (zh) | 2015-11-06 |
CN104156172A (zh) | 2014-11-19 |
US20170315756A1 (en) | 2017-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104156172B (zh) | 数据存储装置的数据管理 | |
US10282130B2 (en) | Coherency of data in data relocation | |
US8959281B1 (en) | Data management for a storage device | |
US9477681B2 (en) | File management among different zones of storage media | |
US10102075B2 (en) | Systems and methods for storage collision management | |
US9842128B2 (en) | Systems and methods for atomic storage operations | |
US8095852B2 (en) | Data recorder | |
US10956071B2 (en) | Container key value store for data storage devices | |
US8280858B2 (en) | Storage pool scrubbing with concurrent snapshots | |
US20150032982A1 (en) | Systems and methods for storage consistency | |
GB2537012A (en) | System and method for copy on write on an SSD | |
US9990150B2 (en) | Method to provide transactional semantics for updates to data structures stored in a non-volatile memory | |
JP6161721B2 (ja) | ホストからストレージ装置への削除されたデータの示唆 | |
CN106133677B (zh) | 主机和次级存储装置之间的通信 | |
CN106168920A (zh) | 控制包括只读闪速数据存储设备的独立磁盘冗余阵列(raid) | |
US8953269B1 (en) | Management of data objects in a data object zone | |
Liang et al. | Enabling a B+-tree-based data management scheme for key-value store over SMR-based SSHD | |
Wei et al. | Extending SSD lifetime with persistent in-memory metadata management | |
Zhang et al. | FJS: Fine-grained Journal Store |
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 |