CN103999058B - 带驱动器系统服务器 - Google Patents

带驱动器系统服务器 Download PDF

Info

Publication number
CN103999058B
CN103999058B CN201280062020.0A CN201280062020A CN103999058B CN 103999058 B CN103999058 B CN 103999058B CN 201280062020 A CN201280062020 A CN 201280062020A CN 103999058 B CN103999058 B CN 103999058B
Authority
CN
China
Prior art keywords
cache
tape drive
drive system
file
data file
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
Application number
CN201280062020.0A
Other languages
English (en)
Other versions
CN103999058A (zh
Inventor
E·S·伊莱夫舍利欧
R·哈斯
N·豪斯汀
J·杰里托
A·萨尤普
H·塞伊普
I·科特斯达斯
S·萨拉费贾诺维克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN103999058A publication Critical patent/CN103999058A/zh
Application granted granted Critical
Publication of CN103999058B publication Critical patent/CN103999058B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0871Allocation or management of cache space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0686Libraries, e.g. tape libraries, jukebox
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/123Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/21Employing a record carrier using a specific recording technology
    • G06F2212/213Tape storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/28Using a specific disk cache architecture
    • G06F2212/282Partitioned cache

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)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Library & Information Science (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提出一种带驱动器系统服务器,其包含:‑非易失性内存,其用作用于储存数据文件的高速缓存(106),该高速缓存的至少部分包含使用先进先出策略管理来管理的第一区域(40)及使用最近最少使用策略管理来管理的第二区域(42);‑文件系统接口,其用于与储存于带驱动器系统(104)上的数据文件交互;‑接口,其用于允许一个或多个远程系统(110、120)读取及写入储存于储存构件和/或该高速缓存上的数据;其中该服务器被配置为:‑自该一个或多个远程系统接收将一个或多个数据文件写入至该带驱动器系统及该高速缓存的一个或多个写入请求;‑解译与由该一个或多个远程系统指示以写入至该带驱动器系统及该高速缓存的数据文件相关联的属性;且‑根据所述经解译的属性储存由所述远程系统指示以写入的数据文件。

Description

带驱动器系统服务器
技术领域
本发明涉及带驱动器(tape drive)系统的高速缓存架构的领域,具体地涉及带驱动器系统服务器。
背景技术
尽管在过去多年中HDD(硬盘驱动器)技术取得了显著进展,但磁带系统仍构成当前阶层化储存基础结构的整体部分。带技术提供若干重要优势,包括数据的低成本长期储存以及出于备份及灾难恢复的目的的低成本长期储存、节能、安全性、寿命及可靠性。
一旦数据已记录于带系统中,则介质为被动的。这意为着其仅位于机架中且并不需要电力。与类似的基于盘的系统相比,基于带的存档消耗约1/290(290times less)的电力。就安全性而言,一旦已记录数据且将存储带(cartridge)自存取系统移除,则数据为不可存取的,直至存储带重新安装于主动系统中为止。通过驱动器层级加密来进一步增强安全性,该驱动器装置层级加密被引入于第四代线性带开放协议(LTO-4)中且也为企业层级带驱动器中的标准。带介质具有30+年的寿命;然而,由于带硬件的快速进步及与向较高容量的存储带迁移相关联的成本节省,极少利用此带介质。就可靠性而言,LTO-4磁带具有比SAS(串行附接SCSI)HDD的误码率好至少一个量级的误码率。另外,带介质可移除并可互换的事实意味着,与HDD相反,带驱动器的机械故障不会导致数据损失,原因在于可简单地将存储带安装于另一带驱动器中。
以上所有优势促成带系统的主要净优势:成本及可靠性。相比盘,带的成本节省的估计值范围为2/3至19/20以上。
磁盘提供对数据的随机存取且大体上含有由文件系统管理的文件索引。可使用各种操作系统及应用程序通过应用编程接口(API)的标准集合来存取这些文件。相反,通常使用称作“覆盖作用(shingling)”的技术以线性顺序的方式对磁带进行写入,该技术提供向后写入兼容性,但也暗示仅可将新数据附加于结尾且仅可在回收并重新写入整个存储带之后回收先前写入的区域。在传统带系统中,通常仅将写入于给定存储带上的文件的索引保持在由诸如专有备份应用程序的应用程序管理的外部数据库中。对存取外部数据库以撷取数据的需要致使磁带上的数据远不如使用替代性储存方法(诸如,HDD或USB(通用串行总线)驱动器)便携及易存取。
为了解决这样的缺陷,近来已将被称作线性带文件系统(LTFS)的新文件系统引入于带驱动器系统中以使得能够使用标准且熟悉的系统工具及接口有效存取带。通过利用以最近带驱动器格式支持的双分区能力来实施LTFS。所谓的索引分区用于写入索引,而大得多的第二分区用于数据自身。索引分区用于文件系统的目录,而数据分区用以在文件系统中储存实际用户的文件。将索引置放于单独分区上是有利的,因为可对其重新写入而不影响实际数据。LTFS向用户显露POSIX类文件系统接口,在索引分区中管理文件系统索引且在数据分区中储存数据。由LTFS软件表示的文件系统在文件实际位于带上时使文件及目录以目录列表显示于桌面上。文件系统用户可将文件“拖放”至带及自带“拖放”文件,且可执行针对盘系统开发的应用程序。在库模式下,可在未安装单独的存储带的情况下列出并搜寻库中的所有卷的内容。所有这些特征帮助降低带成本、文件管理成本及存档成本并消除对中间软件层的依赖。因此减少所储存的每千兆字节(GB)的成本。另外,带成为跨平台便携的(LTFS在、Apple Mac OS 及Microsoft 上可用),从而实现且促进平台之间的数据的共享。这样的特征实现带的有意义的新使用案例,诸如,视频存档、医学影像等。考虑到带相比其他储存解决方案的成本优势、对于带存储容量及每GB的成本的持续按比例调整的经证实的潜力、以及由诸如LTFS的进步提供的带的渐增可用性,带显得在激增的存档数据储存方案市场中扮演重要角色。
然而,即使采用LTFS,文件仍以顺序的方式储存于带上,这在诸如读取与写入的I/O操作期间引起不可忽视的较长访问时间。
文献US 2011/0219184 A1、US 2011/0145494 A1、US 7743206 B2、US 7162574B2、US 7747816 B1、US 5829046、Beth Parizeau于2010年4月22日发表的“IBM Launcheslong term file system(LTFS)for LTO-5tape management”及2009年11月12日的“Virtual tape library for HSM”与本发明的领域相关。
发明内容
根据第一方面,本发明体现为一种带驱动器系统服务器,其包含:
-非易失性内存,其用作用于储存数据文件的高速缓存,该高速缓存的至少部分包含使用先进先出策略管理来管理的第一区域及使用最近最少使用策略管理来管理的第二区域;
-文件系统接口,其用于与储存于带驱动器系统上的数据文件交互;
-接口,其用于允许一个或多个远程系统读取及写入储存于储存构件和/或该高速缓存上的数据;
其中该服务器被配置为:
-自该一个或多个远程系统接收将一个或多个数据文件写入至该带驱动器系统及该高速缓存的一个或多个写入请求;
-解译与由该一个或多个远程系统指示以写入至该带驱动器系统及该高速缓存的数据文件相关联的属性;且
-根据所述经解译的属性储存由所述远程系统指示以写入的数据文件。
在实施例中,该带驱动器系统服务器可包含以下特征中的一个或多个:
-用以解译与所述数据文件相关联的所述属性的高速缓存管理功能块;
-所述属性对应于高速缓存优先级类别;
-第一高速缓存优先级类别使所述高速缓存管理功能块:
-将被指示写入的数据文件写入至该高速缓存的该第一区域;
-随后将储存于该第一区域上的数据文件复制至带驱动器系统,该复制作为该服务器的后台任务执行;且
-一旦复制完成,自该高速缓存的该第一区域逐出数据文件;-第二高速缓存优先级类别使所述高速缓存管理功能块:
-将被指示写入的数据文件写入至该高速缓存的该第一区域;
-随后将储存于该第一区域上的数据文件复制至带驱动器系统,该复制作为该服务器的后台任务执行;
-判定是否在写入至该第一区域的所述数据文件的第一次读取后对所述数据文件进行一次或多次补充读取;
-若判定对所述数据文件进行一次或多次补充读取,则将所述数据文件移动至该高速缓存的该第二区域;
-若判定不对所述数据文件进行一次或多次补充读取,则自该高速缓存的该第一区域逐出数据文件;
-第三高速缓存优先级类别使所述高速缓存管理功能块:
-在该高速缓存的该第一区域上预先提取先前储存于该高速缓存的该第一区域中的数据文件的集合;
-判定是否在数据文件的该经预先提取的集合的第一次读取后对该经预先提取的集合的一个或多个数据文件进行一次或多次补充读取;且
-若判定对经预先提取的集合的一个或多个数据文件进行一次或多次补充读取,则将数据文件的该集合移动至该高速缓存的该第二区域;
-第四高速缓存优先级类别使所述高速缓存管理功能块在该高速缓存的该第二区域上预先提取先前储存于该高速缓存的该第一区域中的数据文件的集合;
-第五高速缓存优先级类别使所述高速缓存管理功能块:
-将已在任何给定时间存取的数据文件置放至该高速缓存的该第二区域中直至最大位移;
-第六高速缓存优先级类别使所述高速缓存管理功能块:
-在设定数据文件高速缓存类别时,直接将数据文件置放至该高速缓存的该第一区域中,而无关于是否存取数据文件;且
-当已历时可配置时间间隔时,自该高速缓存逐出数据文件。
-由用户或应用程序指定高速缓存类别,且所述高速缓存管理功能块进一步对尚未被该用户或该应用程序指定高速缓存类别的数据文件指派缺省高速缓存类别。
-所述属性为扩展属性,所述扩展属性的格式与该数据文件的给定数据格式兼容;
-与数据文件相关联的属性由所述高速缓存管理功能块使用以优化由多个用户并行进行的并发数据写入和/或读取;
根据另一方面,本发明体现为一种带装置系统,其包含:
-本发明的该带驱动器系统服务器;及
-带驱动器系统,该服务器与该带驱动器系统接口连接。
根据另一方面,本发明体现为一种系统,其包含本发明的带驱动器系统服务器或本发明的带装置系统,其中该带驱动器系统为带库。
根据另一方面,本发明体现为一种计算机程序,其储存于计算机可读介质上,包含用于使该带驱动器系统服务器执行高速缓存管理功能块的程序代码构件。
附图说明
现将通过非限制性实例并参考附图来描述一种处理及体现本发明的处理,其中:
图1为根据本发明的由其他系统远程访问的带装置系统的架构图的实例;
图2为图1所描绘的带装置系统的数据路径图的实例;
图3为图1所描绘的带装置系统的数据路径图的另一实例;及
图4为图1至图3所描绘的带装置系统的高速缓存的实例。
具体实施方式
本发明描述一种带驱动器系统服务器。带驱动器系统服务器包含用作用于储存数据文件的高速缓存的非易失性内存。高速缓存的至少部分包含使用先进先出(FIFO)策略管理来管理的第一区域及使用最近最少使用(LRU)策略管理来管理的第二区域(42)。带驱动器系统服务器进一步包含用于与储存于带驱动器系统上的数据文件交互的文件系统接口。带驱动器系统服务器进一步包含用于允许一个或多个远程系统读取及写入储存于储存构件和/或高速缓存上的数据的接口。此接口可为通信接口,诸如通常根据使一个机器能够与另一机器电信通信的具体标准设计的通信接口。带驱动器系统服务器被配置为自一个或多个远程系统接收一个或多个写入请求。写入请求意欲用于在带驱动器系统及高速缓存上写入一个或多个数据文件。此意味着写入请求可请求仅在带驱动器系统上写入一个或多个数据文件,或仅在高速缓存上写入一个或多个数据文件,或在带驱动器系统及高速缓存两者上写入一个或多个数据文件。带驱动器系统服务器被进一步配置为解译与由一个或多个远程系统指示以在带驱动器系统及高速缓存上写入的数据文件相关联的属性。解译属性意味着带驱动器系统服务器能够根据属性判定执行哪种具体动作。带驱动器系统服务器被进一步配置为根据经解译的属性储存由远程系统指示以写入的数据文件。储存待写入的数据文件意味着记录待写入的数据文件。
因此,本发明着重于不仅在存取延时方面而且在应用高速缓存策略的灵活性方面改善带驱动器系统(例如,基于LTFS的带储存系统)的性能的系统。
为了达到此目的,带驱动器系统服务器使用与文件系统接口协同的高速缓存来与储存在带驱动器系统上的数据文件交互。该高速缓存用作储存构件上方的高速缓存层。带驱动器系统服务器以属性的形式提供高速缓存提示。属性(也被称作扩展属性)提供关于文件系统接口且更一般而言关于带驱动器系统服务器的功能性信息及附加信息。基于对属性的解译,带驱动器系统服务器了解在何处及如何储存由一个或多个远程系统指示以写入的数据文件。因此,所呈现的系统不仅提供允许对最近和/或最频繁高速缓存的文件的较快存取的高速缓存策略,而且被设计为允许应用程序或用户根据其需要(例如,根据系统的工作负载)修改高速缓存策略。
如本领域技术人员将了解,本发明的各方面可体现为系统或计算机程序产品。因此,本发明的各方面可采用完全硬件实施例、完全软件实施例(包括固件、常驻软件、微码等)或组合软件与硬体方面的实施例的形式,所述实施例在本文中全部可大体上被称作“电路”、“模块”或“系统”。此外,本发明的各方面可采用体现于一个或多个计算机可读介质中的计算机程序产品的形式,该一个或多个计算机可读介质具有体现于其上的计算机可读程序代码。
可利用一个或多个计算机可读介质的任何组合。计算机可读介质可为计算机可读信号介质或计算机可读储存介质。举例而言,计算机可读储存介质可为(但不限于)电、磁、光、电磁、红外线或半导体系统、装置或器件,或前述系统、装置或器件的任何合适组合。计算机可读储存介质的更具体实例(非详尽列表)将包括以下各项:具有一条或多条导线的电连接件、便携计算机磁盘、硬盘、随机存取内存(RAM)、只读存储器(ROM)、可擦除可程序化只读存储器(EPROM或闪存)、光纤、便携紧密光盘只读存储器(CD-ROM)、光学储存器件(CD-R/W、DVD、BD)、磁性储存器件,或前述各者的任何合适组合。在此文件的上下文中,计算机可读储存介质可为可含有或储存供指令执行系统、装置或器件使用或结合指令执行系统、装置或器件使用的程序的任何有形介质。
计算机可读信号介质可包括所传播的数据信号,该所传播的数据信号具有体现于其中(例如,在基频中或作为载波的部分)的计算机可读程序代码。所传播的信号可采用各种形式,包括(但不限于)电磁、光学或其任何合适组合。计算机可读信号介质可为并非计算机可读储存介质且可传达、传播或传送供指令执行系统、装置或器件使用或结合指令执行系统、装置或器件使用的程序的任何计算机可读介质。
可使用任何适当介质来传输体现于计算机可读介质上的程序代码,适当介质包括(但不限于)无线、有线、光纤缆线、RF等或前述各者的任何合适组合。
可以一种或多种程序设计语言的任何组合来撰写用于执行本发明的方面的操作的计算机程序码,该一种或多种程序设计语言包括诸如Java、Smalltalk、C++或其类似的面向对象的程序设计语言及诸如“C”程序设计语言或类似程序设计语言的常用程序性程序设计语言。程序代码可完全在用户计算机上执行,部分地在用户计算机上执行,作为独立软件包而执行,部分地在用户计算机上执行且部分地在远程计算机上执行,或完全在远程计算机或服务器上执行。在完全在远程计算机或服务器上执行的情形中,远程计算机可经由任何类型的网络(包括局域网(LAN)或广域网(WAN))连接至用户计算机,或可连接至外部计算机(例如,使用因特网服务提供商经由因特网)。
下文参考根据本发明的实施例的方法、装置(系统)及计算机程序产品的流程图说明和/或框图来描述本发明的各方面。应理解,可通过计算机程序指令来实施所述流程图说明和/或框图的每一框及所述流程图说明和/或框图中的框的组合。可将这样的计算机程序指令提供至通用计算机、专用计算机或其他可程序化数据处理装置的处理器以产生机器,以使得经由该计算机或其他可程序化数据处理装置的该处理器而执行的指令产生用于实施在所述流程图和/或框图的一个或多个框中所指定的功能/动作的构件。
也可将这样的计算机程序指令储存于计算机可读介质中,其可指导计算机、其他可程序化数据处理装置或其他器件以特定方式发挥作用,以使得储存于该计算机可读介质中的指令产生制造对象,包括实施在所述流程图和/或框图的一个或多个框中所指定的功能/动作的指令。
也可将所述计算机程序指令加载至计算机、其他可程序化数据处理装置或其他器件上,以使一系列操作步骤在该计算机、其他可程序化装置或其他器件上执行以产生计算机实施的处理,以使得在该计算机或其他可程序化装置上执行的指令提供用于实施在所述流程图和/或框图的一个或多个框中所指定的功能/动作的程序。
图中的框图说明根据本发明的各种实施例的系统、方法及计算机程序产品的可能实施方案的架构、功能性及操作。就此而言,流程图或框图中的每一框可表示程序代码的模块、区段或部分,其包含用于实施指定的逻辑功能的一个或多个可执行指令。也应注意,在一些替代实施方案中,框中所提到的功能可不以各图中所提到的次序发生。举例而言,取决于所涉及的功能性,示出为连续的两个框实际上可大体同时执行,或所述框有时可以相反次序执行。也应注意,可通过执行指定的功能或动作的基于专用硬件的系统或专用硬件及计算机指令的组合来实施框图和/或流程图说明的每一框及框图和/或流程图说明中的框的组合。
图1为由一个或多个远程系统110、120远程访问的带装置系统100的实施例的架构图。根据本发明的实施例的带装置100包含带驱动器系统服务器102及与该带驱动器系统服务器接口连接的带驱动器系统104。
带驱动器系统104可根据预定数据格式储存数据文件。带驱动器系统可为诸如独立带驱动器(或带库)的顺序存取介质,其可支持多个带驱动器或磁头(head)。独立带驱动器用以在一个或多个带存储带上的线性带上操作。储存于带驱动器上的数据的预定数据格式可使用保持文件内容数据及相关联的文件元数据的LTFS格式数据格式。因此,可与能够理解LTFS格式的其他系统110、112交换储存于带驱动器上并使用LTFS格式来写入的数据。
根据图1的实施例的带驱动器系统服务器102包含用作用于储存数据文件的高速缓存的非易失性内存106。高速缓存采用工作负载的时间及空间局部性来优化储存系统的性能。高速缓存为读取及写入高速缓存区。高速缓存通过透通地(transparently)储存数据以使得可较快地伺服该数据的未来请求来改善性能。若所请求的数据包含在高速缓存区中,即,若高速缓存命中发生,可通过简单读取该高速缓存区来伺服此请求,这与自后端储存器件读取相比更快)。否则,高速缓存未命中发生,必须自较慢的后端储存器件提取数据。
高速缓存为非易失性内存,其在带驱动器系统关断时有利地允许保留储存于其上的文件。用作高速缓存的非易失性内存可包含硬盘驱动器和/或固态驱动器的阵列。可以RAID(独立盘冗余阵列)方案来配置大容量的HDD和/或SSD的阵列。高速缓存控制器可向服务器的操作系统显露单逻辑盘区,因此使得高速缓存的管理较容易。此外,诸如(但不限于)ext3、ext4或NTFS的常用磁盘文件系统安装于此逻辑盘区上且用于对盘阵列进行的所有I/O操作。高速缓存,也即,整个盘阵列,专用于高速缓存且不与系统的其他组件共享。
高速缓存可为文件层级高速缓存。或者,高速缓存可为块层级高速缓存。在此情况下,将阵列的HDD和/或SSD用作不具有文件系统的原始器件,且随后产生盘区,且操作系统连接至这样的盘区并将其用作单独的硬盘驱动器。块层级高速缓存可用于几乎任何种类的应用程序,包括文件储存、数据库储存、虚拟机文件系统(VMFS)盘区等。
现参照图4,现讨论图1所描绘的带驱动器系统服务器102的高速缓存的实例。高速缓存为非易失性储存器,因而,高速缓存可安全地在文件层级保持经修改数据及未修改数据。
高速缓存106的至少部分包含第一区域或空间40及第二区域或空间42。第一区域及第二区域被布置为储存最初储存于储存构件中的文件。根据高速缓存容量管理的一组规则来执行第一区域及第二区域中的文件的储存。
第一区域为FIFO(先进先出)区域40,且第二区域为LRU(最近最少使用)区域42。此意味着将高速缓存的至少部分划分为FIFO高速缓存区及LRU高速缓存区。使用先进先出替换策略来管理FIFO区域,而使用最近最少使用策略来管理LRU区域。FIFO区域通常被指定为保持在写入至高速缓存区后将至多仅存取一次的文件。举例而言,备份写入验证程序便是如此。LRU区域通常被指定为高速缓存最近具有多次存取的高可能性的文件。
如图4中所示,用户写入通常将其数据写入至FIFO高速缓存区,而用户读取则通常由LRU高速缓存区伺服。然而,此并非为要求:实际上,若用户提示最近将多次存取传入资料,也可将该资料写入至LRU高速缓存区。另一方面,若发现所请求的资料在FIFO高速缓存区,则可自FIFO高速缓存区伺服用户读取。
可选地,同时,可取决于高速缓存区的两个区域的工作负载在高速缓存区的两个区域之间移动文件:事实上,高速缓存具有有限的储存容量大小且将其分割为FIFO区段及LRU区段需要一定程度的控制。换言之,根据一组规则来管理高速缓存区容量。可使用以下高速缓存区容量管理规则:
-若FIFO区域已满,则逐出最旧的文件。自高速缓存区逐出文件可需要首先将其复制至带;
-若LRU区域已满,则逐出具有最少存取次数及最远的最后访问时间的文件。自高速缓存区逐出文件可能需要首先将其复制至带;
-若FIFO区域已满而LRU区域具有至少50%剩余容量,则FIFO区域获得30%的LRU区域容量;
-若LRU区域已满而FIFO区域具有至少50%剩余容量,则LRU区域获得30%的FIFO区域容量。
应理解,前述百分比为设计参数且可取决于具体应用及工作负载而改变。
返回参照图1,带驱动器系统服务器102可包含至少一个计算机处理单元(CPU)1000或处理器及主存储器1002,主存储器1002通常为动态随机存取内存(DRAM)。CPU及DRAM连接至总线1004。总线可连接至显示控制器1006,显示控制器1006连接至诸如LCD监视器1008的显示器。显示器可用以显示关于带装置系统100的信息。总线可经由任何键盘/鼠标控制器1010进一步连接至键盘1012及鼠标1014。总线也可连接至符合例如Ethernet(注册商标)协议的通信控制器1014。通信控制器用以将带驱动器系统服务器与网络(例如,网络130)实体连接。总线也经由诸如IDE/SATA、SCSI、光纤信道、以太网络光纤信道(FC0E)或iSCSI控制器的器件控制器1018连接至诸如硬盘106或DVD 1020的储存器件。
带驱动器系统服务器进一步包含用于与储存于带驱动器系统104上的数据文件交互的文件系统接口。文件系统接口向带驱动器系统服务器提供用于与带驱动器系统通信及管理储存于其上的数据文件(例如,写入或读取数据文件)的能力。因此,带驱动器系统服务器102可经由文件系统接口附接至带驱动器系统104,以使得带驱动器系统服务器可探查因此显露的基础带容量。文件系统接口可为在带驱动器系统服务器上执行的LTFS软件。
带驱动器系统服务器执行诸如(但不限于)Linux(商标)操作系统的操作系统。服务器连接至网络130且因此远程网络用户120及应用程序110可安装储存构件(例如,LTFS文件系统)并直接将数据储存至储存构件或自储存构件撷取数据。
现参照图3,展示图1所描绘的带驱动器系统服务器102的数据路径图的实例。带驱动器系统服务器102包含网络接口,例如,图1中的通信控制器1016。换言之,带驱动器系统服务器包含用于允许一个或多个远程系统(110、120)读取及写入储存于储存构件和/或高速缓存上的数据的接口。
在图3中,对带驱动器系统104进行的所有I/O操作实现为LTFS文件系统操作。举例而言,客户端对带驱动器系统的写入通常将最终成为对起始于具体位移且具有以字节为单位的具体长度的LTFS文件的写入操作,如图3所说明。在第一种情形中,远程用户110使用带驱动器系统服务器的NFS挂接选项(mount)来发布对文件“/ltfs/greetings.txt”的写入。由将请求传递至文件系统接口LTFS22的带驱动器系统服务器来管理写入请求。随后,LTFS发现已将此文件高速缓存于HDD高速缓存区106中且写入吸收于HDD上,其中“/ltfs/greetings.txt”为HDD文件系统上的ext3文件。在不同情形中,另一远程用户120想要使用FTP协议自带装置系统上的文件读取一些字节。用户发布FTP获得请求,带驱动器系统服务器经由LTFS文件系统接口将该FTP获得请求转译为LTFS读取请求。LTFS文件系统接口在高速缓存106中查找所请求的文件,但并未发现其在此。因而,LTFS文件系统接口自带驱动器系统104读取所请求的文件且将前100个字节传回至用户。此时,LTFS可选择是否将文件高速缓存于HDD106上。
现参照图2,展示图1所描绘的诸如应用程序或客户端的远程系统与带驱动器系统服务器之间的数据路径图的另一实例。由诸如应用程序110或客户端120(例如)经由网络远程访问带驱动器系统服务器102。其他系统可为诸如GPFS(通用并行文件系统)丛集或NAS(网络附接储存)文件管理器(filer)的文件系统服务器。
远程系统可通过使用网络文件系统来安装带驱动器系统服务器或通过使用FTP(文件传送协议)协议或SSH(安全壳层)协议自带驱动器系统服务器读取数据或将数据写入至带驱动器系统服务器来存取带驱动器系统服务器。应理解,可使用任何其他协议来远程访问带驱动器系统服务器102。
带驱动器系统服务器102提供如图2中所示的适当接口23、24、25、26、27,以使得可使用带驱动器系统服务器来适应对多个应用程序110的储存需要。在图2中,带驱动器系统服务器包含用于与储存于带驱动器系统(104)(例如,多个带驱动器)上的数据文件交互的文件系统接口。下文为储存于带驱动器上的用于管理文件的应用程序的实例,包括(但不限于):
1)经由网络连接至带驱动器系统服务器的GPFS(或其他)文件系统的备份。可将整个GPFS文件系统或单独的目录或文件集备份至带装置系统中。可在相同或不同带存储带上采取完全备份或增量备份且可支持多种版本。此外,可在同一设备中支持源自相同或不同文件系统/丛集的多个备份。有利地,LTFS使备份在带存储带上为自含式及自描述的,从而令用户免于对部署及维护集中备份服务器的需要。另外,可将GPFS的文件属性保留在LTFS上,且也可在对LTFS进行一些修改的情况下施行。在以下步骤中概述可通过GPFS节点或通过带装置自身来安排的备份处理:
a.在丛集中执行的GPFS策略识别自上次备份后已改变的文件;
b.策略调用外部程序来执行备份;
c.备份程序将文件复制至保留GPFS文件属性的设备;
d.可经由SSH或使用NFS/CIFS挂接选项来完成复制操作;
e.当处理完成时,可将带存储带移除并放置至保存库中或移动至任何其他系统。
可通过在同一或任何其他磁带系统中仅读取磁带且利用由LTFS提供的文件系统接口而自备份复原文件,此允许保持与GPFS中相同的名称-空间。此意味着已自文件管理器备份的任何文件可在LTFS中具有名称(路径及文件),此举允许容易进行恢复。
2)文件自GPFS(或其他)文件系统的移转,也即将带驱动器系统用作储存阶层架构中的阶层。用户以用户指定的GPFS策略的形式对文件或目录指定移转准则,且系统通过将满足前述所指定准则的文件移转至带驱动器系统来将数据顺畅地置放于带上。针对移转至带驱动器系统的每一文件,通过文件虚设符(file stub)(占位符(placeholder))来将文件放回于GPFS中。藉此,文件保留于GPFS名称空间中且可由用户及现有应用程序作为正常文件来存取。在对经移转文件进行存取时,将文件自带驱动器系统收回。
3)与NAS文件管理器(例如,NetApp文件管理器)整合以将旧快照自文件管理器复制至LTFS且自文件管理器删除较旧的快照。优势在于将通常需要较多储存容量的较旧快照储存于带驱动器系统上,且可经由可为诸如也由NAS文件管理器提供的NFS或CIFS的NAS接口的LTFS文件系统接口来顺畅地存取较旧快照。
4)在介质管理(MAM)中,介质通常含有相同数据流的多种版本。一般惯例为具有音频-视频流的高清晰度版本,以及所谓的“代理(proxy)”(其为相同内容的低分辨率版本)。高速缓存相关于代理的文件将极有益,因为此将较频繁地用于编辑/剪切内容以产生剪切列表,该剪切列表稍后将应用于高清晰度原始流以产生播放流或用于直接播放。
5)用于远程管理带装置系统(包括(但不限于)所储存文件的介质管理、版本设定、保存(vaulting)、格式检查及恢复)的图形用户接口。
因此,带驱动器系统服务器包含用作高速缓存并可在逻辑上配置成单逻辑地址空间的非易失性内存(例如,HDD/SSD阵列)、用于与储存于带驱动器系统(例如,如图1中所示的并行操作的一个或多个带驱动器)上的数据文件交互的文件系统接口及用于允许一个或多个远程系统读取及写入储存于储存构件和/或高速缓存上的数据的接口。
带驱动器系统服务器被进一步配置为自一个或多个远程系统接收用于在带驱动器系统及高速缓存上写入一个或多个数据文件的一个或多个写入请求。实际上,由意欲允许一个或多个远程系统读取及写入储存于储存构件和/或高速缓存上的数据的接口接收写入请求。此接口因此可为通信接口,诸如通常根据使一个机器能够与另一机器电信通信的具体标准设计的通信接口。
另外,带驱动器系统服务器被配置为解译与由一个或多个远程系统指示以在带驱动器系统及高速缓存上写入的数据文件相关联的属性。以此方式,以属性的形式提供高速缓存提示。通常,属性为格式与数据文件的给定数据格式兼容的扩展属性。属性由文件系统接口根据POSIX标准基于文件及目录来支持。有利地,此举允许文件系统接口(例如,LTFS文件系统)较容易地解译属性。
在实务中,属性由用户120或应用程序110选择:有利地,这样的举动允许用户或应用程序以扩展属性的形式提供高速缓存提示。因此属性对应于高速缓存优先级类别。换言之,用户或应用程序可对给定数据文件选择高速缓存优先级。属性的名称可能已含有高速缓存优先级信息。优选地,预先定义属性的名称。
另外,带驱动器系统服务器被进一步配置为根据经解译的属性储存由远程系统指示以写入的数据文件。因此,基于属性的值(例如,属性的名称)来执行对被指示写入的数据文件的高速缓存。
应理解,高速缓存优先级选择可由用户在任何时间提供且文件的高速缓存优先级选择可随时间改变。举例而言,同一用户或应用程序或不同用户/应用程序可提供新提示或高速缓存优先级。若用户/应用程序明确请求,则高速缓存管理将仅在下次存取文件时或在此之前改变其对该文件的高速缓存策略。此举有利地改善可由用户或应用程序取决于诸如带驱动器系统服务器的工作负载的参数而修改的高速缓存优先级的灵活性。
按最简单的形式,高速缓存提示为具体文件的高速缓存优先级。应理解,(例如)若用户或应用程序并未指定默认高速缓存优先级类别,则可由带驱动器系统服务器假定默认高速缓存优先级类别(例如,类别3)。
现讨论高速缓存优先级类别的实例及其语意。通常可由高速缓存管理功能块执行对各属性的解译,且也可由高速缓存管理功能块执行根据经解译的属性对被指示写入的数据文件的储存。
第一高速缓存优先级类别(也被称作类别1)可使高速缓存管理功能块写入数据文件一次:将数据文件写入至FIFO高速缓存区且立即在后台将其复制至磁带。当复制完成时,将文件自高速缓存区舍弃。换言之,将被指示写入的数据文件写入于高速缓存的第一区域中,随后将其自第一区域复制至带驱动器系统。且一旦复制完成,便将数据文件自高速缓存的第一区域逐出,也即,将数据文件自高速缓存的FIFO区域删除。有利地,将复制作为服务器的后台任务执行。此举允许在写入期间提供高速缓存:可首先将数据文件写入至高速缓存,且在后台将其异步移动至带,尤其是在带库忙碌时。因此,在写入可开始前,写入无需等待完成带驱动器系统的带上正进行的读取。
第二高速缓存优先级类别(也被称作类别2)可使高速缓存管理功能块写入数据文件且随后读取数据文件一次。为达到此目的,将数据文件写入至FIFO高速缓存区且在后台将其复制至带。将数据文件保持在FIFO高速缓存区中直至发生对文件的下次读取操作为止。若第一次读取操作后文件被多次读取,则将文件移动至高速缓存的LRU高速缓存区。若初始读取操作后在一个时间段内或直至需要回收高速缓存空间为止未再读取文件,则将文件自高速缓存区逐出。换言之,类别2使高速缓存管理功能块将被指示写入的数据文件写入于高速缓存的第一区域中,以随后将储存于第一区域上的数据文件复制至带驱动器系统,该复制作为服务器的后台任务执行。随后高速缓存管理功能块判定是否在写入于第一区域中的数据文件的第一次读取后对数据文件进行一次或多次补充读取。若判定对数据文件进行一次或多次补充读取,则将数据文件移动至高速缓存的第二区域中。反之,若判定不对数据文件进行一次或多次补充读取,则自高速缓存的第一区域逐出数据文件。因此,有利地,类别2在写入期间提供高速缓存且提供用于后续读取的高速缓存,且支持写入验证操作。将已置放于带驱动器系统上但仍由一些用户定期存取的数据文件(例如,存档盘的最频繁使用部分)储存于高速缓存上。因而,所述存取并未遭受带的高延时。因此,多个用户可读取储存于FIFO区域中的相同数据文件,因此减少其对数据文件的访问时间,而同时数据文件储存于带驱动器系统上。
第三高速缓存优先级类别(也被称作类别3)可使高速缓存管理功能块针对已写入的现有文件将整个文件预先提取至FIFO高速缓存区中。若初始读取操作后文件被多次读取,则将文件移动至LRU高速缓存区。因此,在高速缓存的第一区域上预先提取先前储存于高速缓存的第一区域中的数据文件的集合,且判定是否在数据文件的经预先提取的集合的第一次读取后对该经预先提取的集合的一个或多个数据文件进行一次或多次补充读取。若判定对经预先提取的集合的一个或多个数据文件进行一次或多次补充读取,则将数据文件的集合移动至该高速缓存的该第二区域,也即,LRU区域。有利地,此类别通过读取文件来提供读取高速缓存以在发布来自应用程序或用户的读取命令之前进行高速缓存。
第四高速缓存优先级类别(也被称作类别4)可使高速缓存管理功能块通过预先提取先前储存于高速缓存的第一区域中的数据文件的集合来对高速缓存的第二区域执行预先提取。因此,将极快顺序地对已写入的现有文件读取一次以上。因此,此类别通过读取文件来提供读取高速缓存以在发布来自应用程序或用户的读取命令之前进行高速缓存。
第五高速缓存优先级类别(也被称作类别5)可使高速缓存管理功能块提取已在任何给定时间存取至LRU高速缓存区中的数据文件直至最大位移。将以随机方式读取已写入的现有文件。此类别通过读取文件来提供读取高速缓存以在发布来自应用程序或用户的读取命令之前进行高速缓存。换言之,此类别致使将已在任何给定时间存取的数据文件置放至高速缓存的第二区域中直至最大位移。有趣的是,可将对数据文件的随机写入吸收在高速缓存中。因此,在将相关字节范围写入至带驱动器系统之前,可通过在数据文件中的起始位移来对相关字节范围排序(sort)。对此数据文件的连续顺序读取操作将不需要在磁带上来回搜寻;应理解,若文件仍在高速缓存区中,则其当然可自高速缓存区伺服而根本无需转至带驱动器系统。
第六高速缓存优先级类别(也被称作类别6)可使高速缓存管理功能块在设定数据文件高速缓存类别时,直接将数据文件置放至高速缓存的第一区域中,而无关于是否存取数据文件,且在已历时可配置时间间隔时,自高速缓存逐出数据文件。此情况允许防止文件在高速缓存的第一(FIFO)区域或第二(LRU)区域中无限滞留。可由用户或应用程序配置最大时间间隔,其为文件在高速缓存区中的最大滞留时间。应理解,若用户及应用程序皆未界定此最大时间,则可由高速缓存管理功能块选择文件在高速缓存区中的缺省最大滞留时间。最大滞留时间允许调节储存于高速缓存中的数据的量。特定而言,可逐出旧资料。
另外,用户或应用程序可经由预定义扩展属性来重设高速缓存优先级类别。在接收到重设的高速缓存优先级类别后,文件将在保证其在带上的滞留后自高速缓存区移除。再次言的,此举允许管理储存于高速缓存上的数据文件的量。
为了改善对一般使用案例的支持,可由用户或应用程序随时间而改变给定文件的高速缓存优先级类别。举例而言,当将文件写入至所揭示的新颖带装置系统时,文件被指派类别1,从而保证文件将被写入至FIFO高速缓存区。此举有利地消除在用户写入程序期间对磁带定位的需要。
根据类别1策略,将直接将数据文件写入至带,且一旦完成此操作,则将文件自FIFO高速缓存区舍弃。现在,若用户或应用程序想要顺序地读取文件,则在执行读取命令之前,用户或应用程序经由预定义扩展属性将类别3指派给数据文件。随后带装置将辨识新类别指派且通过检查文件是否处于FIFO或LRU高速缓存区中来处理文件。若文件处于高速缓存的FIFO或LRU区域中,则可保证直至文件已被读取一次方移除文件,而若文件不处于高速缓存的FIFO或LRU区域中,则将文件自带读取至FIFO高速缓存区。因为在读取命令由应用程序或用户发送之前文件已处于FIFO读取区中,所以此处理有利地保证快速读取存取。此外,通过将大文件自带驱动器系统预先提取至高速缓存中,即使在用户请求整个文件之前,此举也允许在每一次用户读取时使带驱动器系统尽可能短时间地保持忙碌,藉此使带驱动器系统空闲且允许其他用户/应用程序使用带驱动器系统。
应理解,在磁带设备的正常操作期间,例如,取决于带驱动器系统服务器的工作负载,高速缓存优先级类别的更多组合系有可能的。
通过将备份数据首先写入至高速缓存,写入程序自身至少由于以下原因而有利地变短。高速缓存的搜寻时间为大约几毫秒,而需要达到带驱动器系统的带的结尾且开始写入的搜寻时间为大约数十秒。此外,高速缓存通常提供比带优异的带宽。举例而言,高速缓存硬盘具有较大带宽。另外,具有较短写入时间(备份窗口)降低备份完成之前远程系统出现故障的可能性。带驱动器系统服务器中具有高速缓存的另一优势在于可将带驱动器系统的备份元数据储存于其上。因此,此举避免用户或应用程序在仅想要查询备份时需要转至带。
即使在待复原的数据尚未存在于高速缓存区中的情况下,也可将复原程序加速:实际上,系统可预先提取属于同一备份且具有同一备份版本或时戳或属于同一目录的数据。随后可自高速缓存有效地撷取所述文件。在使用增量块层级备份(与文件层级相反)的情况下,可在带驱动器系统的带上一次在高速缓存区中重新建构多个文件;在此情况下,块通常将交错于带上。
作为另一优势,并行写入许多文件不会致使文件交错于带上:实际上,首先将写入内容吸收于高速缓存上,随后,当其老化移出高速缓存时将其整体写入至带。换言之,与数据文件相关联的属性由高速缓存管理功能块使用来优化由多个用户并行进行的并发数据写入和/或读取。
若待储存的些大数据文件与较小文件相关联,而每一小文件含有大文件的内容的缩图或低分辨率版本,则高速缓存管理功能块将小文件置放于高速缓存区中以便快速存取。
高速缓存可包含诸如磁带介质的一个或多个储存器件。通常使用LTFS文件系统来管理文件系统接口。应理解,可使用另一文件系统。LTFS文件系统接口在服务器102中执行,带库及高速缓存两者直接附接至该服务器102。高速缓存用作LTFS文件系统的高速缓存区,从而有利地提供对储存于储存构件上的数据的快速随机存取。应理解,当以下文本将HDD用作高速缓存时,可使用任何其他储存介质。
在实施例中,高速缓存的HDD可由带驱动器系统服务器用作原始器件,也即,不具有文件系统(诸如,ext3)。在此情况下,高速缓存区将为块层级高速缓存区(与文件层级高速缓存区相反)或LTFS将需要实施HDD的文件储存功能性。
可将高速缓存管理功能块实施为在带驱动器系统服务器102上执行且由服务器执行的计算机程序。举例而言,且参照图2,可在经调适以用于管理带驱动器系统104的LTFS软件的LTFS程序代码内实施高速缓存管理功能块。
优选地,实施高速缓存管理功能块的计算机程序为用户空间程序组件。有利地,由于用户空间软件组件(与内核空间软件组件相反)实现低实施复杂度,因此此情况允许改善便携性。
在实施例中,可将高速缓存管理功能块及所有高速缓存功能性作为外部模块实施于LTFS外部。藉此未来可用任何其他带文件系统来替换LTFS。应理解,外部模块将需要与带驱动器系统服务器的操作系统及带文件系统两者接口连接。

Claims (14)

1.一种带驱动器系统服务器,其包含:
非易失性内存,其用作用于储存数据文件的高速缓存(106),该高速缓存的至少部分包含使用先进先出FIFO策略管理来管理的第一区域(40)及使用最近最少LRU使用策略管理来管理的第二区域(42);
文件系统接口,其用于与储存于带驱动器系统(104)上的数据文件交互;
接口,其用于允许一个或多个远程系统(110、120)读取及写入储存于储存构件和/或该高速缓存上的数据;
其中该服务器被配置为:
自该一个或多个远程系统接收将一个或多个数据文件写入至该带驱动器系统及该高速缓存的一个或多个写入请求;
分析该一个或多个写入请求以识别与该一个或多个数据文件关联的属性;
基于该属性确定由所述一个或多个远程系统将该一个或多个数据文件写入第一区域或者第二区域;
基于该属性将该一个或多个数据文件存储到第一区域或者第二区域;
根据FIFO策略管理或者LRU策略管理将识别的数据文件从第一区域或者第二区域存储到带驱动器系统。
2.如权利要求1的带驱动器系统服务器,其进一步包含:
用以解译与所述数据文件相关联的所述属性的高速缓存管理功能块。
3.如权利要求1或2的带驱动器系统服务器,其中,所述属性对应于高速缓存优先级类别。
4.如权利要求2的带驱动器系统服务器,其中第一高速缓存优先级类别使所述高速缓存管理功能块:
将被指示写入的数据文件写入至该高速缓存的该第一区域;
随后将储存于该第一区域上的数据文件复制至带驱动器系统,该复制作为该服务器的后台任务执行;且
一旦该复制完成,则自该高速缓存的该第一区域逐出数据文件。
5.如权利要求2的带驱动器系统服务器,其中第二高速缓存优先级类别使所述高速缓存管理功能块:
将被指示写入的数据文件写入至该高速缓存的该第一区域;
随后将储存于第一区域上的数据文件复制至带驱动器系统,该复制作为该服务器的后台任务执行;
判定是否在写入至该第一区域的所述数据文件的第一次读取后对所述数据文件进行一次或多次补充读取;
若判定对所述数据文件进行一次或多次补充读取,则将所述数据文件移动至该高速缓存的该第二区域;
若判定不对所述数据文件进行一次或多次补充读取,则自该高速缓存的该第一区域逐出数据文件。
6.如权利要求2的带驱动器系统服务器,其中第三高速缓存优先级类别使所述高速缓存管理功能块:
在该高速缓存的该第一区域上预先提取先前储存于该高速缓存的该第一区域中的数据文件的集合;
判定是否在数据文件的该经预先提取的集合的第一次读取后对该经预先提取的集合的一个或多个数据文件进行一次或多次补充读取;且
若判定对该经预先提取的集合的一个或多个数据文件进行一次或多次补充读取,则将数据文件的该集合移动至该高速缓存的该第二区域。
7.如权利要求2的带驱动器系统服务器,其中第四高速缓存优先级类别使所述高速缓存管理功能块:
在该高速缓存的该第二区域上预先提取先前储存于该高速缓存的该第一区域中的数据文件的集合。
8.如权利要求2的带驱动器系统服务器,其中第五高速缓存优先级类别使所述高速缓存管理功能块:
将已在任何给定时间存取的数据文件置放至该高速缓存的该第二区域中直至最大位移。
9.如权利要求2的带驱动器系统服务器,其中第六高速缓存优先级类别使所述高速缓存管理功能块:
在设定数据文件高速缓存类别时,直接将数据文件置放至该高速缓存的该第一区域中,而不管是否存取所述数据文件;且
当已历时可配置时间间隔时,自该高速缓存逐出数据文件。
10.如权利要求4至9中任一项的带驱动器系统服务器,其中:
由用户或应用程序指定高速缓存类别;且
所述高速缓存管理功能块进一步对尚未被该用户或该应用程序指定高速缓存类别的数据文件指派缺省高速缓存类别。
11.如权利要求1、2、4至9中任一项的带驱动器系统服务器,其中所述属性为扩展属性,所述扩展属性的格式与该数据文件的给定数据格式兼容。
12.如权利要求1、2、4至9中任一项的带驱动器系统服务器,其中与数据文件相关联的属性由所述高速缓存管理功能块使用以优化由多个用户并行进行的并发数据写入和/或读取。
13.一种带装置系统(100),其包含:
如权利要求1至12中任一项的带驱动器系统服务器(102);及
带驱动器系统(104),该服务器与该带驱动器系统接口连接。
14.一种带装置系统,其包含如权利要求1至12中任一项的带驱动器系统服务器或如权利要求13的带装置系统,其中该带驱动器系统为带库。
CN201280062020.0A 2011-12-16 2012-11-20 带驱动器系统服务器 Active CN103999058B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP11194117 2011-12-16
EP11194117.5 2011-12-16
PCT/IB2012/056564 WO2013088284A1 (en) 2011-12-16 2012-11-20 Tape drive system server

Publications (2)

Publication Number Publication Date
CN103999058A CN103999058A (zh) 2014-08-20
CN103999058B true CN103999058B (zh) 2017-02-22

Family

ID=48611929

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280062020.0A Active CN103999058B (zh) 2011-12-16 2012-11-20 带驱动器系统服务器

Country Status (6)

Country Link
US (1) US9990395B2 (zh)
JP (1) JP6016939B2 (zh)
CN (1) CN103999058B (zh)
DE (1) DE112012005271B4 (zh)
GB (1) GB2513492B (zh)
WO (1) WO2013088284A1 (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8977827B1 (en) 2012-05-31 2015-03-10 Kip Cr P1 Lp System, method and computer program product for recovering stub files
US9720627B2 (en) 2013-01-17 2017-08-01 Western Digital Technologies, Inc. Data management for a data storage device
US9606930B2 (en) 2014-08-05 2017-03-28 International Business Machines Corporation Tape-managed partition support for effective workload allocation and space management
US20160162210A1 (en) * 2014-12-09 2016-06-09 Bdt Media Automation Gmbh Openstack swift interface for tape library (ossitl)
US9851927B2 (en) 2015-09-01 2017-12-26 International Business Machines Corporation File management in a file system
US9928009B1 (en) 2015-09-29 2018-03-27 Amazon Technologies, Inc. High density tape drive server design
US10120612B2 (en) * 2017-01-10 2018-11-06 International Business Machines Corporation Apparatus, method, and program product for tape copying
JP6579123B2 (ja) * 2017-02-13 2019-09-25 横河電機株式会社 エンジニアリング装置、エンジニアリング方法及びプログラム
US11093179B2 (en) 2017-03-24 2021-08-17 International Business Machines Corporation Tape drive system
US10423336B2 (en) 2017-11-28 2019-09-24 International Business Machines Corporation Fast locate using imitation reads on tape drives
US11061826B2 (en) 2018-06-26 2021-07-13 International Business Machines Corporation Integration of application indicated minimum time to cache to least recently used track demoting schemes in a cache management system of a storage controller
US11068413B2 (en) 2018-06-26 2021-07-20 International Business Machines Corporation Allocation of cache storage among applications based on application priority and minimum retention time for tracks in least recently used demoting schemes
US11068417B2 (en) 2018-06-26 2021-07-20 International Business Machines Corporation Allocation of cache storage among applications that indicate minimum retention time for tracks in least recently used demoting schemes
US11144474B2 (en) 2018-06-26 2021-10-12 International Business Machines Corporation Integration of application indicated maximum time to cache to least recently used track demoting schemes in a cache management system of a storage controller
US11074197B2 (en) 2018-06-26 2021-07-27 International Business Machines Corporation Integration of application indicated minimum time to cache and maximum time to cache to least recently used track demoting schemes in a cache management system of a storage controller
JP2020071577A (ja) * 2018-10-30 2020-05-07 ソニー株式会社 情報処理装置、および情報処理方法、並びにプログラム
US11494338B2 (en) 2019-04-26 2022-11-08 International Business Machines Corporation Caching files in a directory
US11163500B2 (en) * 2019-04-26 2021-11-02 International Business Machines Corporation Caching files in a directory
US11210237B2 (en) * 2020-02-13 2021-12-28 International Business Machines Corporation Integration of application indicated minimum and maximum time to cache for a two-tiered cache management mechanism
US11176057B2 (en) 2020-02-13 2021-11-16 International Business Machines Corporation Integration of application indicated minimum time to cache for a two-tiered cache management mechanism
US11169933B2 (en) 2020-02-13 2021-11-09 International Business Machines Corporation Integration of application indicated maximum time to cache for a two-tiered cache management mechanism

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4755928A (en) * 1984-03-05 1988-07-05 Storage Technology Corporation Outboard back-up and recovery system with transfer of randomly accessible data sets between cache and host and cache and tape simultaneously
US4962451A (en) * 1985-11-07 1990-10-09 International Business Machines Corporation Cache-effective sort string generation method
US5829046A (en) 1995-10-27 1998-10-27 Emc Corporation On-line tape backup using an integrated cached disk array
US5926834A (en) * 1997-05-29 1999-07-20 International Business Machines Corporation Virtual data storage system with an overrun-resistant cache using an adaptive throttle based upon the amount of cache free space
JP4303803B2 (ja) * 1998-04-22 2009-07-29 株式会社東芝 キャッシュフラッシュ装置
US6601143B1 (en) * 1999-09-25 2003-07-29 International Business Machines Corporation Self-adapting cache management method and system
JP3612271B2 (ja) * 2000-09-12 2005-01-19 株式会社東芝 ファイルシステム
US7747816B1 (en) 2003-03-31 2010-06-29 Ultera Systems, Inc. Virtual tape stacker
US7162574B2 (en) 2003-04-22 2007-01-09 International Business Machines Corporation Transaction-based data storage for magnetic tape
EP1505506A1 (en) 2003-08-05 2005-02-09 Sap Ag A method of data caching
US6970311B2 (en) * 2003-08-18 2005-11-29 International Business Machines Corporation Storing data to magnetic tape both to one set of tracks and in the same operation rewritten to another set of tracks
US7085895B2 (en) 2003-09-05 2006-08-01 International Business Machines Corporation Apparatus, system, and method flushing data from a cache to secondary storage
US7487288B2 (en) 2004-05-14 2009-02-03 International Business Machines Corporation Dynamic loading of virtual volume data in a virtual tape server
US7253983B2 (en) * 2004-12-14 2007-08-07 Spectra Logic Corporation Variable media tape-based storage system
US20060143396A1 (en) * 2004-12-29 2006-06-29 Mason Cabot Method for programmer-controlled cache line eviction policy
US7478218B2 (en) * 2005-02-18 2009-01-13 Vmware, Inc. Adaptive cache sizing based on monitoring of regenerated and replaced cache entries
JP4792335B2 (ja) * 2006-06-16 2011-10-12 富士通株式会社 Raid装置、raid制御プログラムおよびキャッシュ管理方法
US7624118B2 (en) 2006-07-26 2009-11-24 Microsoft Corporation Data processing over very large databases
US20080068750A1 (en) 2006-09-19 2008-03-20 International Business Machines Corporation Planar Write Module And Hybrid Planar Write-Vertical Read Bidirectional Tape Head
US8140788B2 (en) * 2007-06-14 2012-03-20 International Business Machines Corporation Apparatus, system, and method for selecting an input/output tape volume cache
US8327430B2 (en) 2007-06-19 2012-12-04 International Business Machines Corporation Firewall control via remote system information
US7774094B2 (en) * 2007-06-28 2010-08-10 International Business Machines Corporation Selecting a source cluster by measuring system factors, calculating a mount-to-dismount lifespan, and selecting the source cluster in response to the lifespan and a user policy
JP5068197B2 (ja) 2008-02-26 2012-11-07 インターナショナル・ビジネス・マシーンズ・コーポレーション データをテープ媒体に書き込む装置及び方法
JP5028381B2 (ja) * 2008-10-22 2012-09-19 株式会社日立製作所 ストレージ装置およびキャッシュ制御方法
US8316182B2 (en) 2009-08-11 2012-11-20 International Business Machines Corporation Hierarchical storage management for database systems
WO2011043114A1 (ja) * 2009-10-07 2011-04-14 インターナショナル・ビジネス・マシーンズ・コーポレーション 複数の記憶装置を含む記憶システム、方法、及びプログラム
JP5296664B2 (ja) 2009-12-14 2013-09-25 インターナショナル・ビジネス・マシーンズ・コーポレーション 仮想テープ記録装置およびそのテープマウント制御方法
US8407421B2 (en) * 2009-12-16 2013-03-26 Intel Corporation Cache spill management techniques using cache spill prediction
US9037790B2 (en) 2010-03-05 2015-05-19 International Business Machines Corporation Systems, methods, and computer program products for providing high availability metadata about data
US9063666B2 (en) * 2010-03-25 2015-06-23 International Business Machines Corporation File index, metadata storage, and file system management for magnetic tape
JP5747489B2 (ja) * 2010-11-30 2015-07-15 富士ゼロックス株式会社 印刷文書処理システム、キャッシュ装置及びプログラム
EP2466466B1 (de) 2010-12-09 2013-10-16 Siemens Aktiengesellschaft Verfahren zur Fehlererkennung bei der Ausführung eines Echtzeit-Betriebssystems
WO2012164633A1 (en) * 2011-06-03 2012-12-06 Hitachi, Ltd. Storage apparatus and storage apparatus management method
US9852076B1 (en) * 2014-12-18 2017-12-26 Violin Systems Llc Caching of metadata for deduplicated LUNs

Also Published As

Publication number Publication date
GB2513492B (en) 2018-07-11
JP6016939B2 (ja) 2016-10-26
WO2013088284A1 (en) 2013-06-20
GB201411668D0 (en) 2014-08-13
GB2513492A (en) 2014-10-29
JP2015507781A (ja) 2015-03-12
US9990395B2 (en) 2018-06-05
DE112012005271B4 (de) 2023-06-15
CN103999058A (zh) 2014-08-20
US20140330817A1 (en) 2014-11-06
DE112012005271T5 (de) 2014-11-27

Similar Documents

Publication Publication Date Title
CN103999058B (zh) 带驱动器系统服务器
US10346081B2 (en) Handling data block migration to efficiently utilize higher performance tiers in a multi-tier storage environment
US8595451B2 (en) Managing a storage cache utilizing externally assigned cache priority tags
US9063945B2 (en) Apparatus and method to copy data
US9026730B2 (en) Management of data using inheritable attributes
CN103917962A (zh) 读取存储在存储系统上的文件
US8819380B2 (en) Consideration of adjacent track interference and wide area adjacent track erasure during block allocation
KR20130083356A (ko) 메타데이터 지속성을 위한 방법
US20130254509A1 (en) Consideration of adjacent track interference and wide area adjacent track erasure during disk defragmentation
US9183127B2 (en) Sequential block allocation in a memory
US10621059B2 (en) Site recovery solution in a multi-tier storage environment
JP2019028954A (ja) ストレージ制御装置、プログラム、及び重複排除方法
US10152242B1 (en) Host based hints
US8359439B2 (en) Backup apparatus, backup method, and file reading apparatus
US9235352B2 (en) Datastore for non-overwriting storage devices
US20200319985A1 (en) Synchronizing data writes
US9384135B2 (en) System and method of caching hinted data
Jensen High Throughput Tertiary Storage in HPC Environments
US20230176743A1 (en) Handling data with different lifetime characteristics in stream-aware data storage equipment
US9875037B2 (en) Implementing multiple raid level configurations in a data storage device
JP7310110B2 (ja) ストレージ及び情報処理システム。
TW201342052A (zh) 磁帶機系統伺服器
US8417664B2 (en) Method and apparatus for database unloading
WO2020113549A1 (en) External staging storage cluster mechanism to optimize archival data storage system on shingled magnetic recording hard disk drives
JP2020197897A (ja) 仮想テープ装置,キャッシュ制御装置およびキャッシュ制御プログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant