CN110663019B - 用于叠瓦式磁记录(smr)的文件系统 - Google Patents
用于叠瓦式磁记录(smr)的文件系统 Download PDFInfo
- Publication number
- CN110663019B CN110663019B CN201880034564.3A CN201880034564A CN110663019B CN 110663019 B CN110663019 B CN 110663019B CN 201880034564 A CN201880034564 A CN 201880034564A CN 110663019 B CN110663019 B CN 110663019B
- Authority
- CN
- China
- Prior art keywords
- smr
- storage medium
- file
- computing system
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000013500 data storage Methods 0.000 claims abstract description 16
- 239000007787 solid Substances 0.000 claims abstract description 8
- 238000000034 method Methods 0.000 claims description 32
- 230000004044 response Effects 0.000 claims description 15
- 230000006835 compression Effects 0.000 claims description 8
- 238000007906 compression Methods 0.000 claims description 8
- 230000002776 aggregation Effects 0.000 claims description 4
- 238000004220 aggregation Methods 0.000 claims description 4
- 230000005055 memory storage Effects 0.000 claims description 4
- 230000004931 aggregating effect Effects 0.000 claims description 2
- 230000000644 propagated effect Effects 0.000 claims description 2
- 230000015654 memory Effects 0.000 abstract description 36
- 238000004891 communication Methods 0.000 description 11
- 230000003287 optical effect Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 230000009471 action Effects 0.000 description 6
- 230000003111 delayed effect Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000001934 delay Effects 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 239000000470 constituent Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010367 cloning Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B5/00—Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
- G11B5/012—Recording on, or reproducing or erasing from, magnetic disks
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0635—Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
-
- 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/10009—Improvement or modification of read or write signals
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B5/00—Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
- G11B5/02—Recording, reproducing, or erasing methods; Read, write or erase circuits therefor
- G11B5/09—Digital recording
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/205—Hybrid memory, e.g. using both volatile and non-volatile memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/206—Memory mapped I/O
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/21—Employing a record carrier using a specific recording technology
- G06F2212/217—Hybrid disk, e.g. using both magnetic and solid state 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/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- 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
- G11B2020/1291—Formatting, e.g. arrangement of data block or words on the record carriers wherein the formatting serves a specific purpose
- G11B2020/1292—Enhancement of the total storage capacity
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
在计算系统上执行的文件系统,被配置为使用混合介质来有效地管理数据并且在分层的存储卷上存储数据,该混合介质包括叠瓦式磁记录(SMR)数据存储(诸如SMR盘驱动器)以及随机地可写入的数据存储装置(诸如使用闪存的传统的磁记录(CMR)盘或固态驱动器(SSD))。SMR盘中的写入操作以顺序方式被执行以优化盘上的存储密度。文件系统利用被被合并在分配器中的逻辑来确定请求是与文件数据还是元数据相关联,该逻辑监测计算系统上的I/O操作(例如,来自在系统上执行的应用的写入请求)。如果请求是用于元数据的,则分配器在SSD/CMR上分配为元数据空间,以及如果请求是用于文件数据的,则空间在SMR盘上分配被分配。
Description
背景技术
计算系统已经变得无处不在,范围从小型嵌入式设备到智能电话、可穿戴计算机、平板电脑到个人计算机(PC)和后端服务器。这些计算系统中的每个计算系统包括某种类型的数据存储,并且通常包括很多不同类型的数据存储。例如,计算系统可以包括固态存储和硬盘驱动器或一组硬盘驱动器。与硬盘驱动器相比,固态存储可以能够比更快地处理读取和写入输入和输出(I/O)请求,但可能不具有硬盘驱动器的等效存储容量。其他介质(诸如磁带驱动器、DVD(或其他光学介质)或其他类型的介质等)在读取、写入和存储数据时可能具有不同的优缺点。
发明内容
一种在计算系统上执行的文件系统,被配置为使用混合介质来有效地管理数据并且将数据存储在分层的存储卷上,该混合介质包括叠瓦式磁记录(SMR)数据存储(诸如SMR盘驱动器)以及随机地可写入的数据存储装置(诸如使用闪存的传统的磁记录(CMR)盘或固态驱动器(SSD))。SMR盘中的写入操作以顺序的方式被执行以优化磁盘上的存储密度。文件系统利用被合并在分配器中的逻辑来确定请求是与文件数据相关联还是与元数据相关联,该逻辑监测计算系统上的I/O操作(例如,来自在系统上执行的应用的写入请求)。如果请求是用于元数据的,则分配器在SSD或CMR上为元数据分配空间,而如果请求是用于文件数据的,则在SMR盘上分配空间。当存储像元数据这样的小数据集时,这种分配技术可以增加SMR盘的存储密度,而不会损失文件系统的性能或效率。文件系统在存储卷的SSD/CMR和SMR层之间实现了防火墙,该防火墙用于保持文件数据和元数据分配不同,从而每个数据存储装置的状态可以单独地被保持。
文件系统在内部将SMR盘划分为相对于典型I/O较大的带,例如256MB。带进一步被细分为4KB至64KB的较小簇。文件系统可以独立地跟踪带和簇。还可以利用分层的存储卷中的空间的延迟分配,其中分配器响应于来自应用的I/O请求而提供承诺令牌。分配器跟踪簇,该簇使用给定的承诺而被表明(spoken for),但实际上并未在分配表或位图中分配簇。在对SMR盘进行实际写入操作时,承诺充当用于应用的分配的保证,该承诺将转换为分层的存储卷上的实际的分配。延迟的分配的好处是可以将分配分批处理为较大的运行,这可以提高对SMR盘的顺序的写入的效率并且通过减少的碎片(特别是对于缓慢增长的文件)来提高SMR盘的利用率。当有若干文件同时增长时,延迟的分配还可以使得分配能够被连续地保持。
文件系统还可以配置有重定向表,该重定向表使得能够将压缩应用于SMR盘以释放空间用于新数据。重定向表使得文件系统能够动态地实时跟踪带的分配的部分中的文件内容并以及将分配的部分聚合和重写入至开放带。由于重写以有效的顺序的方式被执行,因此磁盘上的附加存储密度可以被实现。
有利地,通过根据被防火墙分开的数据类型(即,元数据或文件数据)来优化分层的存储卷中的混合介质的利用率,用于SMR的本文件系统使得计算系统本身能够以提高的效率和性能进行操作。通过延迟可以减少中央处理单元(CPU)利用率的处理,延迟分配技术进一步提高了计算系统的运行效率,并且通过分批处理分配从而在执行顺序的写入时优化带利用率。压缩特征使得,可以使用有效的顺序的写入过程,将带的分配部分被聚合并且被转移到SMR盘上的空闲带,以最大化磁盘利用率和存储密度。
提供本“发明内容”以便以简化的形式介绍一些概念,这些概念将在下面的“具体实施方式”中进一步被描述。本“发明内容”既不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在被用于帮助确定所要求保护的主题的范围。此外,所要求保护的主题不限于解决在本公开的任何部分中指出的任何或所有缺点的实现。
附图说明
图1示出了可以用于支持用于叠瓦式磁记录(SMR)的本文件系统的说明性计算系统架构;
图2示出了用于资源或服务的应用请求的说明性分类法;
图3示出了可以在计算系统上被实例化的说明性存储器和存储布置的框图;
图4示出了在计算系统上支持的运行时环境400中的组件之间的说明性关系;
图5示出了文件系统向应用公开的文件的说明性抽象;
图6示出了被划分为带并且被细分为簇的示例性存储卷;
图7示出了文件系统在其中在分层的存储卷的SSD/CMR和SMR盘部分之间建立逻辑防火墙的说明性实施例;
图8示出了在其中实现了延迟的分配的说明性实施例;
图9示出了在其中利用重定向表来使得压缩能够应用于SMR盘以释放空间以用于新数据的说明性实施例;
图10-12示出了当实现具有SMR的当前文件系统时可以使用的说明性方法的流程图;以及
图13是可以部分地用于实现用于SMR的本文件系统的示例性计算系统(诸如个人计算机(PC)等)的简化框图。
在附图中,相同的附图标记指示相同的元素。除非另有说明,否则元素未按比例绘制。
具体实施方式
本文中描述的说明性实施例可以实现各种类型的计算系统。这些计算系统现在正越来越多第采用多种形式。例如,计算系统可以是手持设备(诸如智能电话或功能电话)、电器、膝上型计算机、可穿戴设备、台式计算机、大型机、分布式计算系统、或甚至传统上未被认为是计算系统的设备。在本说明书和权利要求书中,术语“计算系统”被定义为包括至少一个物理有形处理器和能够在其上具有可以由处理器执行的可执行指令的物理有形存储器设备的任何设备或系统(或其组合)。计算系统可以被分布在网络环境上,并且可以包括多个组成计算系统。
如图1所示,计算系统100通常包括至少一个处理单元105和存储器设备110。存储器设备110可以是物理系统存储器,其可以是易失性的、非易失性的或二者某种组合。术语“存储器”在本文中还可以被用于指代非易失性大容量存储,诸如物理存储介质。如果计算系统是分布式的,则处理能力、存储器能力和/或存储能力也可以是分布式的。如本文中使用的,术语“模块”或“组件”可以指代可以在计算系统上执行的软件对象、例程或方法。本文中描述的不同组件、模块、引擎和服务可以被实现为在计算系统上执行的对象或进程(例如,作为单独的线程)。
在下面的描述中,参考由一个或多个计算系统执行的动作来描述实施例。如果这样的动作在软件中被实现,则响应于已执行的计算机可执行指令,执行动作的相关联的计算系统的一个或多个处理器指导计算系统的操作。例如,这样的计算机可执行指令可以被嵌入在形成计算机程序产品的一个或多个计算机可读介质上。这种操作的一个示例涉及数据的操纵。计算机可执行指令(和操纵的数据)可以被存储在计算系统100的存储器110中。计算系统100还可以包含允许计算系统100通过有线或无线网络与其他消息处理器进行通信的通信通道。
本文中描述的实施例可以包括或利用专用或通用计算系统,该专用或通用计算系统包括计算机硬件,诸如例如,一个或多个处理器以及系统存储器,如下面更详细地讨论的。系统存储器可以被包括在整体存储器110内。系统存储器也可以被称为“主存储器”,并且包括由至少一个处理单元105通过存储器总线可寻址的存储器位置,在这种情况下,地址位置在存储器总线本身上被维护。系统存储器传统上是易失性的,但是本文中描述的原理也适用于系统存储器部分或甚至完全是非易失性的场景。
本文件系统范围内的实施例还包括用于承载或存储计算机可执行指令和/或数据结构的物理和其他计算机可读介质。这样的计算机可读介质可以是可以由通用或专用计算系统访问的任何可用介质。存储计算机可执行指令和/或数据结构的计算机可读介质是计算机存储介质。承载计算机可执行指令和/或数据结构的计算机可读介质是传输介质。因此,通过示例而非限制的方式,本发明的实施例可以包括至少两种明显不同种类的计算机可读介质:计算机存储介质和传输介质。
计算机存储介质是存储计算机可执行指令和/或数据结构的物理硬件存储介质。物理硬件存储介质包括计算机硬件,诸如随机存取存储器(RAM)、只读存储器(ROM)、电可擦可编程只读存储器(EEPROM)、固态驱动器(SSD)、闪存、相变存储器(PCM)、光盘存储设备、磁盘存储设备或其他磁性存储设备、或者可以被用于以计算机可执行指令或数据结构形式存储程序代码的任何其他(多个)硬件存储设备,其可以是由通用或专用计算系统访问和执行以实现本发明公开的功能。为了本说明书和权利要求书的目的,短语“计算机存储介质”、“计算机可读存储介质”、“计算机可读存储器设备”及他们的变体不包括波、信号和/或其他瞬态和/或无形的通信介质。
传输介质可以包括可以用于以计算机可执行指令或数据结构的形式承载程序代码并且可以由通用或专用计算系统访问的网络和/或数据链路。“网络”被定义为一个或多个数据链路,一个或多个数据链路使得能够在计算系统和/或模块和/或其他电子设备之间传输电子数据。当信息通过网络或另一通信连接(硬连线、无线或硬连线和无线的组合)传输或提供给计算系统时,计算系统可以将连接视为传输介质。上述各项的组合也应当被包括在计算机可读介质的范围内。
另外,在实现各种计算系统组件时,计算机可执行指令或数据结构形式的程序代码可以从传输介质自动地转移到计算机存储介质(反之亦然)。例如,通过网络或数据链路接收的计算机可执行指令或数据结构,可以被缓冲在网络接口模块(例如,NIC)内的RAM中,并且然后最终转移到计算系统RAM和/或计算系统中的易失性较小的计算机存储介质中。因此,在某些情况下,计算机存储介质可以被包括在也(或者甚至主要地)利用传输介质的计算系统组件中。
例如,计算机可执行指令包括当在一个或多个处理器上执行时使得通用计算系统、专用计算系统或专用处理设备执行某些功能或一组功能的指令和数据。计算机可执行指令可以是例如二进制、中间格式指令(诸如汇编语言)或甚至源代码。
本领域技术人员可以理解,本文中描述的原理可以在具有很多类型的计算系统配置的网络计算环境中被实践,包括PC、台式计算机、膝上型计算机、平板计算机、消息处理器、手持式设备、多处理器系统、基于微处理器的或可编程的消费电子产品、网络PC、小型计算机、大型计算机、移动电话、智能电话、个人数字助理(PDA)、可穿戴计算设备、智能手表、表带、头戴式显示器(HMD)、智能眼镜、寻呼机、路由器、交换机等。本布置也可以在分布式系统环境中被实践,在该分布式系统环境中,通过网络链接(通过硬连线数据链接、无线数据链接、或硬连线和无线数据链接的组合)的本地和远程计算系统都执行任务。以此方式,在分布式系统环境中,计算系统可以包括多个组成计算系统。在分布式系统环境中,程序模块可以位于本地和远程存储设备中。
本领域技术人员还可以理解,本发明可以在云计算环境中被实践。云计算环境可以是分布式的,尽管这不是必需的。在分布式的情况下,云计算环境可以在组织内在国际上被分布和/或具有组件,该组件跨多个组织被拥有。在本说明书和所附权利要求书中,“云计算”被定义为用于使得能够对可配置计算资源(例如,网络、服务器、存储、应用和服务)的共享池进行按需网络访问的模型。“云计算”的定义不限于在适当部署时可以从这种模型中获取的其他众多优势中的任何优势。
本文中描述的系统架构可以包括多个独立的组件,每个组件对整个系统的功能做出贡献。这种模块化特性在解决平台可伸缩性问题时可以提高灵活性,并且为此提供各种优势。通过使用功能范围有限的更小规模部件,可以更轻松地管理系统复杂性和增长。通过使用这些松散耦合的模块,可以提高平台的容错能力。各个组件可以根据业务需求指示逐渐增加。模块化开发还可以缩短新功能的上市时间。可以添加或减去新功能,而不会影响核心系统。
继续图1的描述,计算系统100可以是任何类型的本地或分布式计算系统,包括云计算系统。计算系统100包括用于执行各种不同功能的组件。例如,通信接口(I/F)115可以被配置为使得能够与其他计算系统和设备进行通信。通信接口115可以包括可以从其他计算系统和设备接收数据和/或向其他计算系统和设备传输数据的任何有线或无线的通信部件。通信接口115可以被配置为与数据库、移动计算设备(诸如移动电话、智能电话、可穿戴计算机、平板电脑等)、嵌入式或其他类型的计算系统和设备进行交互。
计算系统100还包括应用120。这些应用可以是任何类型的软件应用、服务或其他软件代码功能部分。应用120可以向数据存储130发送请求125(例如,用于读取和写入的请求或其他输入/输出(I/O))。该请求还可以源自另一计算系统或计算系统100外部的另一应用。如图2所示,请求125可以包括对文件的各种动作和/或操作中的任何一种动作,包括创建205、删除210、写入215、复制或克隆220、修改225、截断230和其他合适的动作/操作235。图2所示的动作是说明性的,并不代表可以利用的请求的排他的清单。
返回图1,数据存储装置130可以包括来自各种不同数据类型中的任何一种数据类型的任何数量的数据。数据存储装置可以使用单独的存储设备来实现,诸如硬盘驱动器、固态驱动器(诸如闪存驱动器)、光盘驱动器(诸如DVD或蓝光光盘)、混合驱动器或其他数据存储设备。数据存储的这些部分还可以包括临时存储(诸如随机存取存储器(RAM))、物理高速缓存(诸如处理器高速缓存),或可以临时或永久存储数据的任何其他类型的数据存储装置。
即使数据存储装置本身包括不同的逻辑部分和/或不同的物理部分,应用也可以将数据存储装置130视为单个数据存储装置。例如,数据存储装置130可以是硬盘驱动器的阵列,或者可以使用硬盘驱动器(磁盘)阵列的不同逻辑部分来实现,其中逻辑部分可以跨越多个物理驱动器,或者可以是同一驱动器的不同逻辑部分。数据存储装置130还可以包括外部数据存储装置155,外部数据存储装置155与计算系统100分开地实例化或者整体上或部分地实现为云计算资源。在该示例中,数据存储使用分层的存储卷135来布置,分层的存储卷135使用不同类型的混合存储介质。通常,分层的存储卷135可以包括被配置用于随机的写入的一部分和被配置用于顺序的写入的另一部分。
图3示出了可以在计算系统100上实例化的说明性存储器和存储布置300的框图。布置300是说明性的,并且在任何给定的部署中使用的存储器和存储设备的特定的数目和类型可以改变。如图所示,高速缓存305可以与计算系统100中的中央处理单元(CPU)相关联。包括动态RAM以及诸如PCM等非易失性存储器的传统存储器(统称为附图标记310)可以被支持,。一个或多个硬盘驱动器(HDD)315可以被支持。在该说明性示例中,分层的存储卷135包括两个层:包括使用CMR和/或SSD的随机地可写入数据存储(在本文中称为SSD/CMR320)的层和包括SMR盘325的层。在其他部署中,存储器和存储的其他组合可以被用于实现给定的分层的存储卷。
再次返回图1,计算系统100还包括文件系统140,文件系统140通过将句柄150公开给应用来向应用120提供各种特征、功能、能力和资源(统称为资源145)。图4示出了在计算系统100(图1)上支持的运行时环境400中的组件之间的说明性关系。该系统使用对象405和句柄150来控制对文件系统资源145、系统资源和其他资源的访问。通过实现对象对源的访问,文件系统以安全的方式控制操作。文件是对象的一个示例。每个对象通常将与访问控制列表(ACL)或指定给定计算系统进程可以对文件执行的动作的其他合适的资源或组件相关联。每当应用将句柄150提供给对象时,系统都会检查对象的ACL。
如图5所示,文件系统140的功能是公开语义,其中给定文件500可以被应用120视为字节的逻辑流505。在应用的抽象视图中,文件位于支持各种目录的分层的名称空间中。应用可以创建文件对象的句柄,例如,将新数据写入文件(由附图标记510所指示)或截断文件515。文件系统140在计算系统的磁盘级别管理基础进程以将应用看到的文件抽象实现为SMR盘325上的实际的动作。
SMR盘325使用非分层的平面名称空间,该名称空间在逻辑上被视为块或可分配单元的集合(由附图标记525所指示)。在该说明性示例中,可分配单元的大小可以从4KB到64KB,并且可分配单元可以被称为“簇”。如图6所示,SMR盘325可以划分为相对于典型I/O较大(例如,256MB)的带(由附图标记605所指示)。每个带605进一步细分为簇610。
簇是内部单元分配,并且文件系统140本质上将字节流505(图5)划分为簇大小的区块。文件系统根据簇大小组织存储卷,簇大小表示可以被分配来容纳文件的磁盘空间的最小数量。由于未按字节粒度引用文件,因此簇是文件系统在访问数据存储时可以引用的最小大小单位。对于SMR,本文件系统的给定的部署可以使用不同的簇大小,因为不同大小的簇可以提供不同的性能优势。
可以从两个不同的角度来指代簇:从文件内部以及从卷(即,SMR盘)内部。文件中的任何簇具有虚拟簇号(VCN),VCN是簇与文件的开始的相对偏移。例如,进行簇大小的两倍的搜索并且然后进行读取将返回从第三VCN开始的数据。逻辑簇号(LCN)描述了簇从卷的开始的偏移。文件系统140执行从VCN到LCN的适当的映射,如图5中的附图标记550所指示的,以支持公开给应用120的文件系统语义。
图7示出了用于SMR的本文件系统的说明性实施例,其中文件系统140(图1)在存储卷135的SSD/CMR 320和SMR盘325层之间建立防火墙705。防火墙705实现分配逻辑,以使得分配器710将仅从SSD/CMR层分配以存储元数据,并且仅从SMR层分配以存储文件数据。元数据通常可以比文件数据小几个数量级。因此,例如,使用有效顺序的写入的SMR盘存储可能非常适合文件存储,但是表示了一种用于存储诸如元数据等小数据集的次优方法。
通过将分配器710配置为基于数据类型来管理分配,用于SMR的本文件系统改进了用于处理相对较小数据集的文件系统的功能。当应用120作出文件操作请求125时,分配器将检查该请求以确定相关联的基础数据类型。如果检查显示请求与元数据715相关联,则分配器710在SSD/CMR 320上分配合适的空间以支持所请求的文件操作。如果检查显示请求与元数据相关联,则分配器710在SMR盘325上分配合适的空间以支持所请求的文件操作。防火墙705使得文件数据和元数据分配逻辑保持分开和不同。这还使得能够分层存储中的每个数据存储的状态分别地被保持。
图8示出了用于SMR的本文件系统的说明性实施例,其中实现了延迟的分配。在示例性场景中,应用120生成用于创建文件的多个请求805和810。对于常规的非延迟的分配,响应于来自应用的创建文件请求,分配器710通常执行合适的分配并且在文件分配表或位图中进行相应的输入。相比之下,在延迟的分配的情况下,分配器将检查请求以确定满足该请求所需要的簇的数目并且然后返回用于所需要的簇的保证的分配的承诺。
在该说明性实施例中,分配器710为每个承诺的簇或簇组提供承诺令牌(由附图标记815所指示)。分配器在单独保持的表820中跟踪承诺的分配(即,“表明的”簇),并且通常不更新用于实际的分配的文件分配表或位图。当来自应用120的包含写入数据的I/O流被呈现给文件系统时,可以将承诺令牌815与在分层的存储卷135上的实际的分配交换。分配器还可以跟踪当前有效的带825,以使得可以在SMR盘325上的适当的位置发起来自延迟的分配的累积写入。
图9示出了用于SMR的本文件系统的说明性实施例,其中利用重定向表905以使得能够将压缩应用于SMR盘325以释放空间以用于新数据。重定向表905使分配器710跟踪带的分配部分内的文件内容(SMR盘325中的带的分配部分在图中以黑色示出)。由于文件和应用的动态行为,随着时间的流逝,通常会在带中打开孔洞。分配器710被配置为聚合带的剩余的分配的部分,如附图标记910所示。然后可以将所聚合的分配的部分顺序地动态地实时重写入空闲带915。重写以有效的顺序方式被执行,从而挤出空闲空间以在SMR盘上实现附加的存储密度。
图9中示出和上面描述的压缩方法提供了在磁盘上最佳地组织文件数据的方法。重定向表905提供了对SMR盘上的可用空间的有效跟踪和利用,以在确保文件更好的内聚性同时提供改善的存储密度。
图10是说明性方法1000的流程图,方法1000可以由被配置为有效地管理使用SMR存储的数据的文件系统实现。除非特别说明,否则流程图中示出和所附文本中描述的方法或步骤不限于特定的顺序或序列。另外,取决于这样的实现的要求,某些方法或其步骤可以同时发生或同时执行,并且并非所有的方法或步骤都必须以给定的实现方式而被执行,并且一些方法或步骤可以可选地被利用。
在步骤1010中,提供具有至少两个层的存储卷。一层包括专有被配置用于顺序的写入的SMR存储介质(例如,SMR盘)。另一层包括被配置用于随机的写入的闪存存储介质。在步骤1015中,来自应用写入请求被接收。在步骤1020中,写入请求被分析以确定该请求是涉及文件数据还是元数据。
在步骤1025中,基于该确定,如果请求涉及文件数据,则在SMR存储介质上分配空间(例如,由图7中的分配器710)。否则,在步骤1030中,如果该请求涉及元数据,则在闪存介质上分配空间。
图11是可以由计算系统实现以实践延迟的分配的说明性方法1100的流程图。在步骤1110中,来自在计算系统上执行的应用的文件操作请求被接收。在步骤1115中,响应于该请求,向应用做出承诺,其中该承诺提供了在分层的存储卷上的合适空间的保证的分配。例如,分层的存储卷可以包括被限制为顺序的写入操作的SMR盘部分和为被限制为顺序的写入操作的SSD/CMR部分。
在步骤1120中,接收要写入分层的存储卷的应用数据的I/O流。响应于所接收的I/O流,在步骤1125中,根据承诺执行合适空间的分配。在步骤1130中,如果来自I/O流的应用数据是文件数据,则将应用数据顺序地写入分层的存储卷的被限制的部分(例如,SMR盘)。在步骤1135中,如果I/O流中的应用数据是元数据,则将应用数据随机地写入分层的存储卷的未被限制的部分(例如,SSD/CMR)。
图12是可以由计算系统实现以实践SMR盘压缩以释放空间并且提高存储密度的说明性方法1200的流程图。在步骤1210中,响应于应用请求,空间在SMR存储介质的带上被分配。在步骤1215中,按逐带的方式来跟踪写入SMR存储介质的文件以标识带中的孔洞。在步骤1220中,跟踪的带的分配的部分被聚合。在步骤1225中,将聚合的分配的带部分顺序地重写到SMR存储介质上的空闲带。
图13是可以用于实现用于SMR的当前文件系统的诸如PC、客户端机器或服务器等示例性计算系统1300的简化框图。计算系统1300包括处理器1305、系统存储器1311和系统总线1314,系统总线1314将包括系统存储器1311在内的各种系统组件耦合到处理器1305。系统总线1314可以是使用各种总线架构中的任何一种的几种类型的总线结构中的任何一种,包括存储器总线或存储器控制器、外围总线或本地总线。系统存储器1311包括只读存储器(ROM)1317和随机存取存储器(RAM)1321。基本输入/输出系统(BIOS)1325(其包含有助于诸如在启动期间在计算系统1300内的元件之间传递信息的基本例程)被存储在ROM 1317中。计算系统1300还可以包括:用于读取和写入内部布置的硬盘(未示出)的硬盘驱动器1328、用于读取或写入可移动磁盘1333(例如,软盘)的磁盘驱动器1330、以及用于读取或写入可移动光盘1343(诸如CD(压缩盘)、DVD(数字通用光盘)或其他光学介质)的光盘驱动器1338。硬盘驱动器1328、磁盘驱动器1330和光盘驱动器1338分别通过硬盘驱动器接口1346、磁盘驱动器接口1349和光盘驱动器接口1352连接到系统总线1314。驱动器及其相关的计算机可读存储介质为计算系统1300提供计算机可读指令、数据结构、程序模块和其他数据的非易失性存储。尽管该说明性示例包括硬盘、可移动磁盘1333和可移动光盘1343,但是在使用多个设备的位置感知的本任务自动化的某些应用中,也可以使用可以存储由计算机可访问的数据的其他类型的计算机可读存储介质,诸如磁带、闪存卡、数字视频磁盘、数据盒带、随机存取存储器(RAM)、只读存储器(ROM)等。另外,如本文中使用的,术语计算机可读存储介质包括介质类型的一个或多个实例(例如,一个或多个磁盘、一个或多个CD等)。为了本说明书和权利要求的目的,短语“计算机可读存储介质”及其变型不包括波、信号和/或其他瞬态和/或无形通信介质。
多个程序模块可以被存储在硬盘、磁盘1333、光盘1343、ROM1317或RAM 1321上,多个程序模块包括操作系统1355、一个或多个应用程序1357、其他程序模块1360和程序数据1363。用户可以通过诸如键盘1366等输入设备和诸如鼠标等指示设备1368将命令和信息输入到计算系统1300中。其他输入设备(未显示)可以包括麦克风、操纵杆、游戏板、碟形卫星天线、扫描仪、轨迹球、触摸板、触摸屏、触敏设备、语音命令模块或设备、用户动作或用户手势捕获设备等。这些和其他输入设备通常通过耦合到系统总线1314的串行端口接口1371连接到处理器1305,但是也可以通过其他接口(诸如并行端口、游戏端口或通用串行总线(USB))而被连接。显示器1373或其他类型的显示设备也经由诸如视频适配器1375等接口连接到系统总线1314。除了显示器1373之外,个人计算机通常还包括其他外围输出设备(未示出),诸如扬声器和打印机。图13所示的说明性示例还包括主机适配器1378、小型计算机系统接口(SCSI)总线1383、和连接到SCSI总线1383的外部存储设备1376。
计算系统1300在网络环境中使用到一个或多个远程计算机(诸如远程计算机1388)的逻辑连接是可操作的。远程计算机1388可以被选择为另一个人计算机、服务器、路由器、网络PC、对等设备或其他公共网络节点,并且通常包括上面相对于计算系统1300所述的很多或所有元件,尽管在图13中仅示出了单个代表性的远程存储器/存储设备1390。图13中描绘的逻辑连接包括局域网(LAN)1393和广域网(WAN)1395。这种网络环境通常被部署在例如办公室、企业范围的计算机网络、内联网和因特网中。
当在LAN网络环境中使用时,计算系统1300通过网络接口或适配器1396连接到局域网1393。当在WAN网络环境中使用时,计算系统1300通常包括宽带调制解调器1398、网络网关、或用于通过广域网1395(诸如因特网)建立通信的其他部件。可以是内部或外部的宽带调制解调器1398经由串行端口接口1371连接到系统总线1314。在网络环境中,与计算系统1300有关的程序模块或程序模块的部分可以存储在远程存储器存储设备1390中。注意,图13所示的网络连接是说明性的,并且根据用于SMR的当前文件系统的应用的具体的要求,可以使用在计算机之间建立通信链路的其他方式。
现在,通过举例的方式而不是作为所有实施例的排他性清单来呈现用于叠瓦式磁记录的本文件系统的各种示例性实施例。一个示例包括一种用于高效管理数据存储的计算机实现的方法,该方法包括:提供包括至少两个层的存储卷,第一层包括专有被配置用于顺序的写入的叠瓦式磁记录(SMR)存储介质,并且第二层包括被配置用于随机的写入的闪存存储介质;接收来自应用写入请求;分析写入请求以确定写入请求是涉及文件数据还是元数据;基于该确定,如果写入请求涉及文件数据,则在SMR存储介质上分配空间;以及根据该确定,如果写入请求涉及元数据,则在闪存存储介质上分配空间。
在另一示例中,该计算机实现的方法还包括在分配空间中将文件数据写入SMR存储介质,其中写入顺序地被执行。在另一示例中,该计算机实现的方法还包括保持重定向表,重定向表用以执行SMR存储介质的压缩。在另一示例中,该计算机实现的方法还包括在分配的空间中将元数据写入闪存存储介质,其中写入随机地被执行。在另一示例中,该计算机实现的方法还包括通过响应于写入请求提供用于保证分配的承诺来延迟在SMR存储介质或闪存存储介质之一上的空间分配。在另一示例中,该计算机实现的方法还包括接收到来自应用的输入/输出I/O流时,将承诺转换为实际的分配。在另一示例中,在接收到I/O流是,对SMR存储介质或闪存存储介质的写入操作被发起。
另一示例包括一种计算系统,该计算系统包括:一个或多个处理器;包括被配置用于存储文件的混合存储介质的分层的存储卷;以及一个或多个基于硬件的存储器设备,存储器设备存储有指令的,这些指令在由一个或多个处理器执行时使得计算系统:接收来自在计算机系统上执行的应用的用于对文件进行操作的请求,响应于该请求,向应用提供承诺,用于分层的存储卷上的保证的分配以支持文件操作,接收包括来自应用的、用于写入分层的存储卷的数据的输入/输出(I/O)流,响应于所接收的I/O流,根据承诺来在分层的存储卷上分配空间,当应用数据包括文件数据时,在在限制为顺序的写入操作的分层的存储卷的部分中的所分配的空间中执行应用数据的顺序的写入,以及当应用数据包括元数据时,在未被限制为顺序的写入操作的分层的存储卷的部分上的分配空间中随机地写入应用数据。
在另一示例中,被限制为顺序的写入操作的分层的存储卷的部分包括叠瓦式磁记录(SMR)盘。在另一示例中,所执行的指令还使得计算系统执行在SMR盘内连续的分配。在另一示例中,所执行的指令还使得计算系统跟踪保证分配以执行一个或多个写时分配操作。在另一示例中,不限于顺序的写入操作的分层的存储卷的一部分包括固态驱动器(SSD)或传统磁记录(CMR)盘。在另一示例中,所执行的指令还使得计算系统在执行顺序的写入之前在多个请求之间分批处理保证的分配。在另一示例中,所执行的指令还使得计算系统在提供承诺时避免修改分配或位图。在另一示例中,请求是创建新文件、写入文件、截断文件、修改文件或删除文件之一。
另一示例包括一个或多个计算机可读存储介质,该计算机可读存储介质不由存储计算机可执行指令的传播信号组成,这些计算机可执行指令在由设置在具有至少一个叠瓦式磁记录(SMR)存储介质的电子设备中的一个或多个处理器执行时使该设备:响应于来自在电子设备上执行的应用的请求,分配在SMR存储介质上保持的带的一部分用于文件操作,其中该带存储了多个文件并且SMR存储器介质保持多个带;按带跟踪分配给SMR存储介质的多个文件以标识带中的孔洞的出现;聚合多个带的分配的部分;将聚合的分配的带的部分顺序地写入SMR存储介质上的空闲带。
在另一示例中,该带包括SMR存储介质的逻辑地指定的部分,并且其中重定向表用于跟踪并且指示每个带的身份和位置。在另一示例中,当在带中出现满足预定阈值的大小或数目的孔洞时,执行聚合。在另一示例中,针对满足预定阈值的期限的带执行聚合。在另一示例中,电子设备还包括不基于SMR的存储介质,并且所执行的指令还使该设备将元数据写入不基于SMR的存储介质并且使该设备避免将元数据写入SMR存储介质。
尽管已经以特定于结构特征和/或方法动作的语言描述了主题,但是应当理解,所附权利要求书中定义的主题不必限于上述特定的特征或动作。相反,上述特定的特征和动作被公开作为实现权利要求的示例形式。
Claims (17)
1.一种用于高效地管理数据存储的计算机实现的方法,包括:
提供存储卷,所述存储卷包括至少两个层,第一层包括专有地被配置用于顺序的写入的叠瓦式磁记录(SMR)存储介质,并且第二层包括被配置用于随机的写入的闪存存储介质;
接收来自应用的写入请求;
分析所述写入请求以确定所述写入请求是涉及文件数据还是元数据;
基于所述确定,响应于所述写入请求涉及文件数据,通过提供用于在所述 SMR 存储介质上的空间的保证分配的承诺来延迟在所述SMR存储介质上的空间分配,所述延迟包括为每个承诺的簇或簇组提供承诺令牌,在单独保持的表中跟踪承诺的所述分配,以及当包含写入数据的I/O流被呈现给文件系统时,将所述承诺令牌与在分层的存储卷上的实际的分配交换;以及
基于所述确定,响应于所述写入请求涉及元数据,分配在所述闪存存储介质上的空间。
2. 根据权利要求 1 所述的计算机实现的方法,还包括:
在所述 SMR 存储介质上分配所述空间;以及
在所分配的空间中将所述文件数据写入所述 SMR 存储介质,其中所述写入顺序地被执行。
3. 根据权利要求 2 所述的计算机实现的方法,还包括保持重定向表,所述重定向表用以执行所述 SMR 存储介质的压缩。
4. 根据权利要求 1 所述的计算机实现的方法,还包括:
在所述闪存存储介质上分配所述空间;以及
在所分配的空间中将所述元数据写入所述闪存存储介质,其中所述写入随机地被执行。
5.根据权利要求 1 所述的计算机实现的方法,还包括在接收到来自所述应用的输入/输出(I/O)流时,将所述承诺转换为实际的分配。
6.根据权利要求 5 所述的计算机实现的方法,其中在接收到所述I/O 流时,对所述SMR 存储介质或所述闪存存储介质的写入操作被发起。
7.一种计算系统,包括:
一个或多个处理器;
分层的存储卷,所述分层的存储卷包括被配置用于存储文件的混合存储介质;以及
一个或多个基于硬件的存储器设备,所述存储器设备存储有指令,所述指令在由所述一个或多个处理器执行时,使所述计算系统:
接收来自在所述计算系统上执行的应用的用于对文件进行操作的请求,
响应于所述请求,向所述应用提供承诺令牌,用于所述分层的存储卷上的保证的分配以支持文件操作,以及在单独保持的表中跟踪承诺的所述分配,
接收包括来自所述应用的、用于写入所述分层的存储卷的数据的输入/输出(I/O)流,
响应于所接收的 I/O 流,根据所述承诺在所述分层的存储卷上分配空间,
当应用数据包括文件数据时,在被限制为顺序的写入操作的所述分层的存储卷的部分中的所分配的空间中,执行所述应用数据的顺序的写入,所述执行包括在执行所述顺序的写入以及将所述承诺令牌交换与在分层的存储卷上的实际的分配交换之前,在多个请求之间分批处理保证的分配,以及
当所述应用数据包括元数据时,在未被限制为顺序的写入操作的所述分层的存储卷的部分上的所分配的空间中随机地写入所述应用数据。
8. 根据权利要求 7 所述的计算系统,其中被限制为顺序的写入操作的所述分层的存储卷的所述部分包括叠瓦式磁记录(SMR)盘。
9. 根据权利要求 8 所述的计算系统,其中所执行的指令还使所述计算系统执行分配,所述分配在所述 SMR 盘内是连续的。
10. 根据权利要求 7 所述的计算系统,其中未被限制为顺序的写入操作的所述分层的存储卷的所述部分包括固态驱动器(SSD)或传统的磁记录(CMR)盘。
11. 根据权利要求 7 所述的计算系统,其中所执行的指令还使所述计算系统在提供所述承诺时避免修改分配或位图。
12. 根据权利要求 7 所述的计算系统,其中所述请求是创建新文件、写入文件、截断文件、修改文件或删除文件之一。
13.一种或多种计算机可读存储介质,所述一种或多种计算机可读存储介质不由存储计算机可执行指令的传播信号组成,所述计算机可执行指令在由被设置在具有至少一个叠瓦式磁记录(SMR)存储介质的电子设备中的一个或多个处理器执行时,使所述设备:
响应于来自在所述电子设备上执行的应用的请求,提供承诺令牌以分配被保持在所述SMR 存储介质上的带的部分以用于文件操作,其中所述带存储多个文件并且所述 SMR 存储介质保持多个带,以及在单独保持的表中跟踪承诺的所述分配;
在执行顺序的写入以及将所述承诺令牌交换与在分层的存储卷上的实际的分配交换之前,在多个请求之间分批处理保证的分配,
根据所提供的所述承诺令牌来分配所述带的所述部分;
按带来跟踪被分配给所述 SMR 存储介质的所述多个文件,以标识所述带中的孔洞的出现;
聚合多个带的分配的部分;以及
将所聚合的分配的带的部分顺序地写入 SMR 存储介质上的空闲带。
14. 根据权利要求 13所述的一种或多种计算机可读存储介质,其中所述带包括所述SMR 存储介质的被逻辑地指定的部分,并且其中重定向表被用于跟踪并且指示针对每个带的身份和位置。
15. 根据权利要求 13 所述的一种或多种计算机可读存储介质,其中当在所述带中出现满足预定阈值的大小或数目的孔洞时,所述聚合被执行。
16. 根据权利要求 13 所述的一种或多种计算机可读存储介质,其中所述聚合针对满足预定阈值的期限的带而被执行。
17. 根据权利要求 13 所述的一种或多种计算机可读存储介质,其中所述电子设备还包括不基于 SMR 的存储介质,并且所执行的指令还使所述设备将元数据写入至所述不基于 SMR 的存储介质并且使所述设备避免元数据至所述 SMR 存储介质的写入。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/607,003 | 2017-05-26 | ||
US15/607,003 US10446174B2 (en) | 2017-05-26 | 2017-05-26 | File system for shingled magnetic recording (SMR) |
PCT/US2018/029244 WO2018217382A1 (en) | 2017-05-26 | 2018-04-25 | File system for shingled magnetic recording (smr) |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110663019A CN110663019A (zh) | 2020-01-07 |
CN110663019B true CN110663019B (zh) | 2023-11-14 |
Family
ID=62117178
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880034564.3A Active CN110663019B (zh) | 2017-05-26 | 2018-04-25 | 用于叠瓦式磁记录(smr)的文件系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10446174B2 (zh) |
EP (1) | EP3631612B1 (zh) |
CN (1) | CN110663019B (zh) |
WO (1) | WO2018217382A1 (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10381040B1 (en) * | 2018-02-06 | 2019-08-13 | Western Digital Technologies, Inc. | Dynamic hybrid shingled magnetic recording device |
US10430106B2 (en) * | 2018-02-16 | 2019-10-01 | Microsoft Technology Licensing, Llc | Policy based tiered allocation for hybrid storage devices |
CN109710184B (zh) * | 2018-12-19 | 2022-02-18 | 中国人民解放军国防科技大学 | 瓦记录磁盘感知的分层式混合存储方法及系统 |
US10969965B2 (en) | 2018-12-24 | 2021-04-06 | Western Digital Technologies, Inc. | Dynamic performance density tuning for data storage device |
US11061595B2 (en) | 2019-05-10 | 2021-07-13 | Seagate Technology Llc | Logical address remapping for direct write |
US10802739B1 (en) | 2019-05-13 | 2020-10-13 | Western Digital Technologies, Inc. | Data storage device configuration for accessing data in physical realms |
JP7225059B2 (ja) * | 2019-08-22 | 2023-02-20 | 株式会社東芝 | 磁気ディスク装置 |
CN111399762B (zh) | 2019-11-27 | 2021-06-18 | 杭州海康威视系统技术有限公司 | 数据存储方法、装置及存储系统 |
CN111459412B (zh) | 2020-03-30 | 2023-07-04 | 北京百度网讯科技有限公司 | 磁盘管理方法、装置以及电子设备 |
CN111722797B (zh) * | 2020-05-18 | 2021-06-29 | 西安交通大学 | 面向ssd与ha-smr混合存储系统数据管理方法、存储介质及设备 |
US11704057B2 (en) * | 2020-07-20 | 2023-07-18 | Micron Technology, Inc. | Memory sub-systems including memory devices of various latencies and capacities |
CN113419685B (zh) * | 2021-07-12 | 2022-08-09 | 杭州海康威视数字技术股份有限公司 | 基于smr的raid创建、针对raid的数据写入及raid恢复方法 |
CN113467723B (zh) * | 2021-07-26 | 2024-06-07 | 浙江大华技术股份有限公司 | 一种数据存储方法、装置、设备及介质 |
CN114706536B (zh) * | 2022-05-27 | 2022-11-11 | 阿里巴巴(中国)有限公司 | 一种元数据管理方法、装置、电子设备及可读存储介质 |
CN115712389B (zh) * | 2022-10-28 | 2023-07-04 | 哈尔滨工业大学(深圳) | 一种数据存储介质间的调度方法、装置及电子设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030054109A (ko) * | 2001-12-24 | 2003-07-02 | 한국전자통신연구원 | 분산 레이드 제어기 환경에서의 부하 분산 방법 |
CN101779244A (zh) * | 2007-08-24 | 2010-07-14 | 微软公司 | 直接海量存储设备文件索引 |
CN102999428A (zh) * | 2012-11-01 | 2013-03-27 | 华中科技大学 | 一种瓦记录磁盘的四级编址方法 |
US9128820B1 (en) * | 2012-06-18 | 2015-09-08 | Western Digital Technologies, Inc. | File management among different zones of storage media |
CN105138286A (zh) * | 2015-08-11 | 2015-12-09 | 智云创新(北京)科技有限公司 | 一种在磁盘文件系统中混合利用ssd和smr硬盘的方法 |
CN105159612A (zh) * | 2015-09-06 | 2015-12-16 | 浪潮(北京)电子信息产业有限公司 | 一种磁盘空闲空间分配的方法 |
CN106233264A (zh) * | 2014-03-31 | 2016-12-14 | 亚马逊科技公司 | 使用可变条带大小的文件存储装置 |
CN106548789A (zh) * | 2015-09-17 | 2017-03-29 | 伊姆西公司 | 用于操作叠瓦式磁记录设备的方法和装置 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8200887B2 (en) * | 2007-03-29 | 2012-06-12 | Violin Memory, Inc. | Memory management system and method |
US7555599B2 (en) * | 2006-09-06 | 2009-06-30 | International Business Machines Corporation | System and method of mirrored RAID array write management |
US9081504B2 (en) * | 2011-12-29 | 2015-07-14 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Write bandwidth management for flash devices |
US8909859B2 (en) * | 2012-03-01 | 2014-12-09 | HGST Netherlands B.V. | Implementing large block random write hot spare SSD for SMR RAID |
US9368130B2 (en) * | 2012-07-16 | 2016-06-14 | Marvell International Ltd. | Data storage system, method of writing to storage in the data storage system, hard disk and method of forming the hard disk |
US9268709B2 (en) | 2012-10-18 | 2016-02-23 | Marvell International Ltd. | Storage controllers and storage control methods |
US9495102B2 (en) * | 2014-07-31 | 2016-11-15 | Samsung Electronics Co., Ltd. | Input/output (I/O) interceptor that re-orders a plurality of write I/O into combined with I/O with intelligent flush control logic |
US9361937B2 (en) | 2014-08-26 | 2016-06-07 | Seagate Technology Llc | Shingled magnetic recording data store |
US9836419B2 (en) | 2014-09-15 | 2017-12-05 | Microsoft Technology Licensing, Llc | Efficient data movement within file system volumes |
US9690793B2 (en) * | 2015-02-06 | 2017-06-27 | Western Digital Technologies, Inc. | Indirection data structures to manage file system metadata |
US10089023B2 (en) | 2015-06-23 | 2018-10-02 | Western Digital Technologies, Inc. | Data management for object based storage |
US9891863B2 (en) | 2015-07-31 | 2018-02-13 | Dell Products, L.P. | Handling shingled magnetic recording (SMR) drives in a tiered storage system |
US10120573B2 (en) * | 2015-09-14 | 2018-11-06 | Microsoft Technology Licensing, Llc. | Modular sequential writing of data to data storage devices |
CN106557264B (zh) * | 2015-09-25 | 2019-11-08 | 伊姆西公司 | 针对固态硬盘的存储方法及设备 |
US10496280B2 (en) | 2015-09-25 | 2019-12-03 | Seagate Technology Llc | Compression sampling in tiered storage |
US10073774B2 (en) * | 2016-04-29 | 2018-09-11 | Netapp, Inc. | Managing input/output operations for shingled magnetic recording in a storage system |
WO2018081582A1 (en) * | 2016-10-28 | 2018-05-03 | Atavium, Inc. | Systems and methods for random to sequential storage mapping |
-
2017
- 2017-05-26 US US15/607,003 patent/US10446174B2/en active Active
-
2018
- 2018-04-25 WO PCT/US2018/029244 patent/WO2018217382A1/en active Application Filing
- 2018-04-25 EP EP18723336.6A patent/EP3631612B1/en active Active
- 2018-04-25 CN CN201880034564.3A patent/CN110663019B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030054109A (ko) * | 2001-12-24 | 2003-07-02 | 한국전자통신연구원 | 분산 레이드 제어기 환경에서의 부하 분산 방법 |
CN101779244A (zh) * | 2007-08-24 | 2010-07-14 | 微软公司 | 直接海量存储设备文件索引 |
US9128820B1 (en) * | 2012-06-18 | 2015-09-08 | Western Digital Technologies, Inc. | File management among different zones of storage media |
CN102999428A (zh) * | 2012-11-01 | 2013-03-27 | 华中科技大学 | 一种瓦记录磁盘的四级编址方法 |
CN106233264A (zh) * | 2014-03-31 | 2016-12-14 | 亚马逊科技公司 | 使用可变条带大小的文件存储装置 |
CN105138286A (zh) * | 2015-08-11 | 2015-12-09 | 智云创新(北京)科技有限公司 | 一种在磁盘文件系统中混合利用ssd和smr硬盘的方法 |
CN105159612A (zh) * | 2015-09-06 | 2015-12-16 | 浪潮(北京)电子信息产业有限公司 | 一种磁盘空闲空间分配的方法 |
CN106548789A (zh) * | 2015-09-17 | 2017-03-29 | 伊姆西公司 | 用于操作叠瓦式磁记录设备的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
EP3631612A1 (en) | 2020-04-08 |
US10446174B2 (en) | 2019-10-15 |
CN110663019A (zh) | 2020-01-07 |
EP3631612B1 (en) | 2024-05-29 |
US20180342261A1 (en) | 2018-11-29 |
WO2018217382A1 (en) | 2018-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110663019B (zh) | 用于叠瓦式磁记录(smr)的文件系统 | |
US20220057940A1 (en) | Method and Apparatus for SSD Storage Access | |
TWI709073B (zh) | 分佈式儲存系統、分佈式儲存方法及分佈式設施 | |
KR101930117B1 (ko) | 비휘발성 스토리지 장치 세트의 휘발성 메모리 표현 기법 | |
KR102137761B1 (ko) | 이종 통합 메모리부 및 그것의 확장 통합 메모리 스페이스 관리 방법 | |
US8590050B2 (en) | Security compliant data storage management | |
JP5238685B2 (ja) | フラッシュ・ストレージの離散領域を記述して問い合わせること | |
CN106687911B (zh) | 不损害数据完整性的在线数据移动 | |
US9256382B2 (en) | Interface for management of data movement in a thin provisioned storage system | |
US9262313B2 (en) | Provisioning in heterogenic volume of multiple tiers | |
EP2972747B1 (en) | Data storage, file and volume system providing mutliple tiers | |
US9116904B2 (en) | File system operation on multi-tiered volume | |
WO2013004136A1 (zh) | 分布式存储方法、装置和系统 | |
US7376758B2 (en) | I/O dependency graphs | |
US11347413B2 (en) | Opportunistic storage service | |
US11157456B2 (en) | Replication of data in a distributed file system using an arbiter | |
LU102091B1 (en) | Zone hints for zoned namespace storage devices | |
WO2023193814A1 (zh) | 融合系统的数据处理方法、装置、设备和系统 | |
JP2023502909A (ja) | インテリジェント・データ・プール | |
US20220318042A1 (en) | Distributed memory block device storage |
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 |