CN101258493B - 用于在顺序存取数据存储子系统中执行搜索操作的系统和方法 - Google Patents

用于在顺序存取数据存储子系统中执行搜索操作的系统和方法 Download PDF

Info

Publication number
CN101258493B
CN101258493B CN200680032463XA CN200680032463A CN101258493B CN 101258493 B CN101258493 B CN 101258493B CN 200680032463X A CN200680032463X A CN 200680032463XA CN 200680032463 A CN200680032463 A CN 200680032463A CN 101258493 B CN101258493 B CN 101258493B
Authority
CN
China
Prior art keywords
search
data
attribute
sequential access
storage element
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
CN200680032463XA
Other languages
English (en)
Other versions
CN101258493A (zh
Inventor
R·T·比斯顿
P·M·格雷科
M·R·诺埃尔
C·G·斯密斯
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 CN101258493A publication Critical patent/CN101258493A/zh
Application granted granted Critical
Publication of CN101258493B publication Critical patent/CN101258493B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • 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
    • 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/0673Single storage device
    • G06F3/0682Tape device

Abstract

本发明公开了一种用于在顺序存取数据存储子系统中执行搜索操作的系统和方法。根据一个实施例,提供一种数据存储子系统,其包括搜索模块和通过通信信道将数据存储子系统通信地耦合到主机数据处理系统的通信信道接口。在所描述的实施例中,该搜索模块被配置为通过通信信道接口从主机数据处理系统接收搜索属性数据,其中该搜索属性数据指定搜索属性。该搜索模块被进一步配置为使用搜索属性对顺序存取存储单元的数据执行搜索操作,和响应于执行搜索操作,通过通信信道接口将搜索结果数据提供给主机数据处理系统。

Description

用于在顺序存取数据存储子系统中执行搜索操作的系统和方法
技术领域
本发明的实施例一般地涉及数据存储和管理,更具体地,涉及一种用于在顺序存取数据存储子系统中执行搜索操作的系统和方法。
背景技术
随着数据处理系统和通信网络变得越来越普遍,更有效地存储、组织和使用由这种系统生成的和在这种网络上传输的数据的需求不断增加。一种用于这种数据进行存储、提供访问和处理的机制是数据存储子系统。数据存储子系统包括存储控制器和/或主机总线适配器、存储单元以及用于为一个或多个主机数据处理系统提供数据存储服务的任何所需控制软件的综合集合。
常规存储单元包括可以是固定的、可拆除的、磁、光、随机/直接存取和/或顺序存取的机器可读介质(例如固定盘、CD/DVD-ROM、磁带、固态存储器等)以及用于访问这种介质的介质装载器和自动设备。起初,数据存储子系统包括可靠的、相对高容量且廉价的顺序存取存储单元(例如磁带)。这种基于顺序存取的数据存储子系统曾主要用于并将继续主要用于数据备份和存档操作。最近,已经使用提供更高存取速度和使用灵活性、同时增加成本和/或降低可靠性的盘驱动存储器实现数据存储子系统。
除了传统用于数据备份和存档之外,基于磁盘驱动器的数据存储子系统已经被用于为数据处理系统群提供数据复制服务、故障/灾难恢复、测试、数据挖掘和分析等。虽然可以使用基于顺序存取存储单元的数据存储子系统提供一些或全部所述增强数据存储和处理服务,现有的系统仍然依靠主机数据处理系统控制的或执行的输入/输出(I/O)操作(例如读和写操作)。这种主机I/O操作会为执行搜索操作以及否则将是不必要的系统开销(例如应用、驱动程序和/或操作系统软件)消耗大量主机数据处理系统到数据存储子系统通信信道带宽和主机数据处理系统资源(例如处理单元、存储器等)。
发明内容
提供一种用于在顺序存取数据存储子系统中执行搜索操作的系统和方法。根据一个实施例,提供一种数据存储子系统,其包括通信信道接口和搜索模块,所述通信信道接口经通信信道将数据存储子系统通信地耦合到主机数据处理系统。在所描述的实施例中,搜索模块被配置为经通信信道接口从主机数据处理系统接收搜索属性数据,其中该搜索属性数据指定搜索属性。搜索模块还被配置为使用该搜索属性对顺序存取存储单元的数据执行搜索操作,和响应于搜索操作的执行经通信信道接口将搜索结果数据提供给主机数据处理系统。
根据本发明的第二实施例,所接收的搜索属性数指定最大搜索持续时间,先前描述的搜索模块被配置为在短于或等于最大搜索持续时间的时间段内执行搜索操作。
根据本发明的第三实施例,所接收的搜索属性数据指定逻辑块的最大数量,使用多个逻辑块存储先前描述的顺序存取存储单元的数据。在所描述的实施例中,搜索模块被配置为对少于或等于逻辑块的最大数量的多个逻辑块中的若干逻辑块执行先前描述的搜索操作。
根据本发明的第四实施例,所提供的搜索结果数据包括指定先前描述的多个逻辑块中的某个逻辑块的数据。
根据本发明的第五实施例,所接收的搜索属性数据指定用户选定的搜索属性。在所描述的实施例中,搜索模块被配置为使用用户选定的搜索属性和至少一个缺省搜索属性执行先前描述的搜索操作。
根据本发明的第六实施例,所接收的搜索属性数据指定搜索项目和顺序搜索类型,先前描述的搜索操作与该顺序存取存储单元数据内的当前逻辑位置关联。在所描述的实施例中,搜索模块被配置为提供数据,所述数据指定搜索项目在先前描述的顺序存取存储单元数据内的出现,其中该搜索项目的出现与所描述的当前逻辑位置顺序相邻。
根据本发明的第七实施例,所接收的搜索属性数据指定搜索项目和摘要搜索类型。在所描述的实施例中,配置该搜索模块以提供数据,其指定搜索项目在先前描述的顺序存取存储单元数据内的一次或多次出现。
根据本发明的第八实施例,所接收的搜索属性数据还指定搜索结果的最大数量。在所描述的实施例中,搜索模块被配置为提供数据,所述数据指定搜索项目在先前描述的顺序存取存储单元数据内的出现次数,此次数少于或等于搜索结果的最大数量。
根据本发明的第九实施例,所接收的搜索属性数据指定搜索项目,先前描述的搜索操作包括被动搜索操作。在所描述的实施例中,搜索模块被配置为响应于接收到对先前描述的顺序存取存储单元执行输入/输出操作的请求来执行被动搜索操作,其还被配置为提供第一数据和第二数据,所述第一数据指定搜索项目在先前描述的顺序存取存储单元数据内的出现,所述第二数据指定对执行输入/输出操作请求的响应。
根据本发明的第十实施例,先前描述的数据存储子系统还包括缓冲器存储单元,以响应于接收到先前描述的执行输入/输出操作的请求,存储先前描述的顺序存取存储单元的一部分数据。在所描述的实施例中,搜索模块被配置为对在缓冲器存储单元内存储的先前描述的顺序存取存储单元的该部分数据执行先前描述的被动搜索操作。
根据本发明的第十一实施例,先前描述的搜索模块被配置为响应于接收到对先前描述的顺序存取存储单元的数据执行主动搜索操作的请求,执行主动搜索操作。
根据本发明的第十二实施例,先前描述的搜索模块包括硬件处理单元。在所描述的实施例中,搜索模块被配置为使用硬件处理单元对先前描述的顺序存取存储单元的数据执行主要搜索操作,并将搜索结果数据提供给先前描述的主机数据处理系统内的搜索模块软件,其中该搜索模块软件被配置为使用搜索结果数据执行辅助搜索操作。
在本发明的又一个实施例中,提供一种方法,其包括呈现数据存储子系统搜索用户接口,和经该数据存储子系统搜索用户接口从用户接收搜索属性数据。在所描述的实施例中,将所接收的搜索属性数据提供给数据包括搜索模块和顺序存取存储单元的存储子系统。所描述的实施例还包括响应于将搜索属性数据提供给数据存储子系统,接收来自数据存储子系统的搜索结果数据。
虽然在此在本发明一个或多个实施例的描述中使用术语“用户”,但是在此使用的“用户”将不限制于实际人员。相反,在本说明书中的术语“用户”将指能够请求、发出、控制或者消费或使用搜索操作结果的任意逻辑或物理实体。因此,在本发明的各种实施例中,“用户”可以包括操作员、与这样的操作员关联的证书或标识、主机或系统应用程序、操作系统单元等。
上文是概述,因而必然包含对细节的简化、概括和省略;因此,本领域的技术人员将认识到此概述仅仅是说明性的,而不将以任何方式进行限制。如本领域的技术人员还将显而易见的,可以以多种方式实现在此公开的操作,包括用软件、硬件、(例如ASIC和/或专用电子电路)或者包括软件和硬件的组合来实现。可以在不脱离本发明及其更宽范围的情况下进行所述的改变和修改。在下面阐述的非限制的详细描述中,如仅由权利要求书定义的本发明其它方面、创造特征和优点将变得显而易见。
附图说明
通过参考附图,可以更好地理解本发明,其诸多特征和优点对于本领域的技术人员来说是显而易见的,在附图中:
图1图示根据本发明一个实施例的包括数据存储子系统的数据存储网络的高层方框图;
图2图示根据本发明一个或多个实施例的数据处理系统;
图3图示根据本发明一个实施例的数据存储子系统;
图4图示根据本发明一个实施例的数据存储子系统搜索处理的高层流程图;和
图5图示根据本发明一个实施例的主机数据存储系统搜索处理的高层流程图。
在不同的附图中使用相同的参考标记表示类似或相同的项目。
具体实施方式
下面阐述用于执行在此描述的一个或多个系统、设备和/或过程的至少最佳预期模式的详细描述。本描述将是说明性的,不应当视为限制。
在下文的详细描述中,阐述诸如特定方法顺序、结构、单元和连接的诸多具体细节。然而,将理解不需要使用这些和其它具体细节以实现本发明的实施例。在其它的情况下,省略或者未详细描述公知的结构、单元或连接,从而避免不必要地模糊本描述。
在本说明书中提到“一个实施例”、“实施例”或者“多个实施例”是指结合实施例描述的特定特征、结构或特性包含在本发明的至少一个实施例中。在本说明书中各个位置出现这种短语不必全部指同一实施例,也不是与其它实施例相互排斥的分立或者替代实施例。而且,描述了各种特征,所述特征可能由一些实施例体现而不由其它实施例体现。类似地,描述各种要求,所述要求可能是一些实施例的要求,而不是其它实施例的要求。
本发明的实施例提供用于在如由纽约Armonk的国际商业机器公司提供的3592 Enterprise Tape System等顺序存取数据存储子系统中执行搜索操作的系统和方法。其它的顺序存取数据存储子系统可以包括:包含逻辑或物理顺序存取存储单元的分级存储管理系统(HSM)、如同样由国际商业机器公司提供的3494虚拟磁带服务器的虚拟磁带存储子系统和/或其它的基于线性、隐含地址(例如顺序)的存储单元或设备。这些实施例提供一种接口、方法和存储子系统,其允许逐个记录地在主机数据处理系统上对在包含特定数据内容的远程顺序(例如磁带)数据存储单元内的数据记录执行搜索,而不要求主机请求(例如读取)和/或处理(例如搜索或解析)数据内容。因此,与常规的系统和方法相比,节省了主机数据处理系统资源(例如处理器周期、存储器等)以及主机数据处理系统至数据存储子系统通信信道带宽,并提高了执行搜索操作的整体速度。例如,使用一个或多个所描述的系统和方法实施例,将执行涉及一个或多个搜索操作的顺序存取数据处理需要的时间从54小时降低到7.5小时。
根据本发明的一个实施例,提供一种数据存储子系统。该数据存储子系统包括主要用于提供持久数据存储和/或存取目的的任意系统或装置。数据存储子系统可以包括任意数量的存储资源,包括一个或多个单个(例如单个磁盘驱动器、磁带驱动器等)和/或聚集(例如磁盘或磁带阵列系统、机器人磁带库、文件编档器、文件编档器服务器等)存储单元或设备,以及任意相关的存储控制器、适配器、接口、控制软件等。在所描述的实施例中,提供一种数据存储子系统,其包括至少一个搜索模块和通信信道接口,所述通信信道接口通过通信信道(例如ESCON、FICON、光纤通道、SCSI等)将数据存储子系统通信地耦合到主机数据处理系统。
在所描述的实施例中,搜索模块被配置为通过通信信道接口从主机数据处理系统接收搜索属性数据(其指定搜索属性),还被配置为使用搜索属性对顺序(例如磁带)存储单元的数据执行搜索操作,和响应于执行搜索操作,通过通信信道接口将搜索结果数据提供给主机数据处理系统。在一个实施例中,该搜索模块包括用于提供数据流控制和管理的专用硬件处理单元(例如专用集成电路或“ASIC”)。
所描述的搜索模块可以实施在如IBM TotalStorage EnterpriseTape Controller 3592 Model J70等数据存储子系统的分立存储控制器设备内,或者与如同样由国际商业机器公司提供的IBMTotalStorage Enterprise Tape Drive 3592等存储单元或其设备整体提供。类似地,可以将搜索模块实施为如先前描述的离散物理单元(例如数据流处理模块或单元),或者实施为合并在存储控制器或单元的现有控制单元/控制器内的功能。
在所描述的实施例中,搜索属性数据,因此还有搜索属性,可以包括与数据搜索操作相关的或者在数据搜索操作执行中使用的任意数据。例如,在一个实施例中,搜索属性指定一个或多个搜索项目(即将要搜索的实际数据)、一个或多个搜索项目格式(例如ASCII数据格式、EBCDIC数据格式、二进制数据格式等)和/或搜索项目运算符,从而形成将在搜索操作中使用的搜索项目表达式。在一个或多个其它实施例中,搜索属性数据可以指定一个或多个“限制条件”类型搜索属性,其指定可以如何限制搜索操作或者根据哪一个“限制条件”类型搜索属性限制搜索操作。
使用“限制条件”类型搜索属性,可以以多种方式中的任一方式限制搜索操作。根据一种示例实施例,指定最大搜索持续时间或“超时”(例如30分钟)搜索属性。在所描述的实施例中,在短于或等于所指定的最大搜索持续时间的时间段内执行搜索操作。在另一个实施例中,可以指定搜索属性,其指示将要使用搜索操作搜索的顺序存取存储单元的数据量(例如比特、字节、词、区域、串、文件、记录、块、页的数量等)。在所描述的实施例中,对等于或少于由相应搜索属性指定的数据量的一定量数据执行搜索操作。例如,可以将搜索操作限制为在逻辑或物理上与要搜索的数据中与搜索请求接收、启动等关联的位置(例如“当前”逻辑块或数据位置)邻近的数据段。
使用此“限制条件”搜索属性,在此描述的接口或数据存储子系统配备有可以控制搜索操作持续时间的机制。在另一个实施例中,提供替代的搜索持续时间控制机制,其中定期地挂起每个所请求的搜索操作,为请求用户提供确定所请求搜索的状态或进展(如果有的话)的机会,并指示是否应当继续该搜索操作。在结合不能提供完美技术以便一旦已经开始或请求命令就中断和/或停止数据存储子系统或存储单元的操作的技术使用时,如上所述的这种机制特别有用。在基于SCSI的数据存储子系统中没有这种机制的情况下,例如,所请求的搜索操作可能在很长的时间段内(例如数小时甚至数天)一直执行,而不生成有用的结果数据和/或搜索操作本身已经变得微不足道。
在本发明的一个实施例中,只要达到/检测到任意限制条件搜索属性,则结束或修改搜索操作,使得所指定的其它限制条件搜索属性(如果有的话)不起作用。例如,如果达到将要搜索的搜索属性指定数据量的最后逻辑块,则可以将搜索操作执行短于指定的最大搜索持续时间。而且,出于多种其它原因中的任一原因,可以使搜索属性指定的限制条件变得不起作用(例如,一旦将要搜索整个顺序存取存储单元的最后逻辑块,而不管指定的任意最大数量逻辑块)。
在本发明的其它实施例中,可以使用搜索属性和/或搜索属性数据指定将要如何执行搜索操作的其它方面(例如执行搜索的“类型”)。例如,在本发明的一个实施例中,可以提供搜索属性,其表示将要执行顺序搜索类型和摘要搜索类型中的哪一个。在顺序或“位置”搜索操作中,在其相对于“当前”逻辑块或者在要搜索的数据内与搜索请求的接收、启动等相关的数据位置的位置的上下文中请求搜索结果。例如,可以请求搜索以定位指定搜索项目的“下一次”出现或“下三次”出现。类似地,可以请求搜索以定位指定搜索项目的紧邻在前出现或者“前一次”出现。因此,应当理解可以通过将要执行的搜索类型指定“定向”搜索属性。可替代地,可以使用附加或替代搜索属性单独地指定规定这样的搜索方向的数据。根据一个实施例,提供顺序搜索类型,作为对结合数据存储子系统或数据存储单元(其中用户指定要在顺序存取存储单元中提前(advance)的多个逻辑块,直到达到一个或多个指定搜索项目和/或表达式为止)使用的常规“空间”命令的修改。
相反地,在摘要或“匹配列表”类型搜索操作中,请求搜索结果,而不考虑它们相对于“当前”逻辑块或数据位置的相对位置。在所描述的搜索类型中,呈现了“匹配”指定搜索项目或表达式的搜索结果摘要。可以顺序地呈现这些结果,开始于在将要搜索的顺序存取存储单元数据内的第一搜索项目或表达式“匹配”,或者可以根据若干准则中的任一准则(例如执行“模糊”搜索操作的匹配精确度、搜索结果“排列”等)予以组织。如在此将进一步描述的,可以呈现“匹配”指定搜索项目或表达式的所有搜索结果,或者可替代地,可以减少所呈现的搜索结果数量。
在本发明的又一个实施例中,提供“搜索类型”搜索属性,其指示将要执行被动搜索操作和主动搜索操作中的哪一种操作。根据本发明一个实施例的被动或“被动执行”搜索操作是结合另一操作的执行而执行的搜索操作,所述另一操作例如是主动或明确请求(以及分离和不同的)输入/输出(I/O)操作。在被动搜索操作执行之前,用户指定一个或多个搜索项目或表达式。此后,响应于执行非相关I/O或其它操作(例如读或写)的请求,执行搜索操作,并且结合对该请求的响应(如果有的话)提供搜索结果数据。
根据一个实施例,结合HSM“迁移”或者迁移后“审计”功能(其中从直接存取硬盘驱动器存储单元向一个或多个顺序(例如磁带)数据存储单元存储(例如写入、复制或转移)数据并随后验证),执行被动搜索操作。在所描述的实施例中,搜索已知的记录标签以识别已经写入数据的每个文件的位置。随后,为了验证目的,可以比较在顺序数据存储单元上每个“带标签”文件位置上存储的数据与从磁盘存储器迁移的数据。
在本发明的替代实施例中,可以仅对I/O操作的实际数据(例如读出或写入的特定数据字)执行被动搜索,或者可替代地,在使用高速缓存或者空间位置类型(例如向前读取)缓冲器时,可以对与这种I/O操作数据逻辑或物理相邻地存储并且借助于所请求的I/O操作和所描述的缓冲器是可存取的(例如与将要读取的数据一起缓存的)数据执行被动搜索操作。相反地,主动搜索操作是响应于用户的明确或主动搜索请求(例如通过数据存储子系统搜索用户接口进行或启动的)执行的搜索操作。可以通过多种形式(例如修改现有命令、生成新数据存储子系统命令、诊断功能等)中的任一种形式实施这样的主动搜索操作请求。
一旦已经根据一个或多个用户指定的搜索属性执行了搜索操作,则可以提供搜索结果数据。如在此描述的搜索结果数据可以包括与搜索操作结果相关的或者表示搜索操作结果的任何数据。根据本发明的一个实施例,在记录(即逻辑块)或者更高粒度(例如范围、词、字节等)等级上执行搜索操作。在一个实施例中,将搜索结果数据提供为指定在将要搜索的数据内从中识别出指定的搜索项目或表达式的特定逻辑块的数据。搜索结果数据可以附加地或替代地包括进一步识别或指定搜索结果、命中和/或搜索项目/表达式出现的其它数据。例如,在一个实施例中,可以提供或指定搜索结果编号或标识符。在本发明的另一个实施例中,搜索结果数据可以包括含有搜索项目或表达式出现的要搜索数据的摘录,以提供搜索结果上下文。
如先前所述,可以使用指示将要返回和/或呈现的搜索结果的最大数量的搜索属性数据来指定搜索属性。可以将这样的搜索属性直接应用于搜索操作(即,一旦识别出指定数量的搜索结果,则导致停止搜索操作)和/或搜索结果数据的提供(即,导致将大量所识别搜索结果中指定数量的结果提供/呈现给用户)。在将搜索结果子集提供为搜索结果数据的情况下,可以根据若干准则(例如顺序、搜索结果匹配精确度、相关性等)中的任一准则选择将要呈现的搜索结果。
根据又一个实施例,可以作为分支过程的一部分提供搜索结果数据。在所描述的实施例中,在顺序存取数据存储单元中本地和/或对顺序存取数据子系统以本地方式执行第一或“主要”搜索操作,从而使得生成搜索结果数据并将其提供给物理远程主机数据处理系统。此后,在所描述的实施例中,对所接收的搜索结果数据在主机数据处理系统以本地方式执行第二或“扩展”搜索操作。在一个实施例中,通过响应于接收到搜索操作请求自动地精简或修改用户指定的搜索项目或表达式以配置所描述的主要搜索操作、以及生成指定辅助搜索操作定义的数据并将此数据提供给主机数据处理系统应用,来执行这样的分支搜索处理。
使用所描述的分支搜索处理,可以使用专用硬件(例如硬件处理单元搜索模块)执行粗粒度主要搜索操作,从而支持主机数据处理系统软件根据需要执行精确粒度辅助搜索操作,从而降低搜索模块硬件和数据存储子系统复杂性,同时支持使用某一主机数据处理系统功能执行更复杂搜索操作的能力,并与常规存储系统相比降低在主机数据存储系统资源上的负担。
根据本发明的另一个实施例,结合被动或主动搜索操作请求提供搜索属性数据,所述请求包括一个或多个用户选择的搜索属性或参数以及元数据,所述元数据表示多个搜索属性中的哪些搜索属性已经被用户选择和指定,以及多个搜索属性中的哪些属性将与预先确定的缺省搜索属性值一起使用或者予以忽略。在所描述的实施例中,通过使用所描述的元数据识别用户选择的搜索属性和使用所接收的搜索属性数据(对应于已经如此识别的那些搜索属性)配置搜索操作,来执行搜索操作。根据本发明的一个实施例,元数据包括多个“应用”(apply)比特,分别对应于多个潜在搜索属性之一。
如果与搜索属性关联或者与其对应的应用比特存储第一预先确定的数值(例如具有逻辑值“1”或者是“设置”),则将搜索属性视为是用户选定的,该属性的用户指定数值是从所接收的搜索属性数据确定的,并在执行一个或多个搜索操作时“应用”或使用。相反地,如果与搜索属性关联或者与其对应的应用比特存储第二预先确定的数值(例如具有逻辑值“0”或者是“清除”),则搜索属性尚未被用户选定,并且“应用”或使用预先确定的缺省搜索属性值。
除了简化基本或一般执行的搜索操作的配置,同时便于使用所有可用的搜索属性配置更复杂或专用的搜索之外,使用应用比特或其它缺省搜索属性机制可具有诸多有用益处。例如,由于不需要在主机和存储器之间传送已知的搜索属性值,降低了主机数据处理系统至数据存储子系统通信信道带宽利用。而且,除非相应的元数据(例如应用比特)指示期望搜索属性值修改在数据存储子系统上传播或应用,无意中的搜索属性值修改不会在数据存储子系统上传播或应用,因此可以提高所使用的搜索属性值的精确度。类似地,可以初始化搜索属性数据以包括缺省搜索属性数值,从而元数据的无意中的修改通常不会导致在搜索操作过程中应用的实际搜索属性的修改,除非在搜索属性数据内进行了相应的无意中的改变。
虽然已经为了说明的目的在此描述了多个特定的示例搜索属性,但是可以在替代实施例中使用多种其它搜索属性和/或搜索属性数据格式中的任一种。例如在一种替代实施例中,采用一个搜索属性,其指定要搜索的每个逻辑块中开始进行每个搜索操作的逻辑块或记录偏移(例如偏移字节数量)。类似地,利用指定逻辑块长度(例如以字节为单位)的搜索属性(其中使用实际逻辑块长度和搜索属性指示数值中的较小者并使用预先确定的数值(例如逻辑值“0”)来指示生成块(spanning block)),可以提供逻辑块或“记录”大小灵活性。在另一个实施例中,可以使用搜索属性数据指示如何在搜索操作过程中传播非数据(例如文件标记、磁带标记等)。
图1图示根据本发明一个实施例的包括数据存储子系统的数据存储网络的高层方框图。在所图示的数据存储子系统100内,将主机数据处理系统102通过如图所示的通信信道106(例如ESCON、FICON、光纤通道、SCSI等)耦合到数据存储子系统104(例如磁带数据存储子系统)。在图1的实施例中,主机数据处理系统102包括数据存储子系统搜索用户接口108,用于从用户接收搜索属性数据,将所接收的搜索属性数据提供给数据存储子系统104,从数据存储子系统104接收搜索结果数据和将所接收的结果数据提供给用户。
所图示实施例的数据存储子系统104包括顺序(例如磁带)访问存储单元114,其包括通过如图所示的存储控制器110耦合到主机数据处理系统102的搜索模块116。在所图示的实施例中,使用搜索模块116经通信信道106和存储控制器110从主机数据处理系统102接收指定至少一个搜索属性的搜索属性数据,使用一个或多个指定的搜索属性对顺序存取存储单元114的数据执行搜索操作,和作为响应经通信信道106和存储控制器110将搜索结果数据提供给主机数据处理系统102。在一个实施例中,对如顺序存取存储单元114的可拆除数据存储磁带(未图示)等顺序存取数据存储介质执行所描述的搜索操作。
虽然在图1的实施例中仅描述了单个顺序存取存储单元114(例如磁带驱动器),在其它实施例中,可以在数据存储子系统104内提供任意数量的随机/直接存取和/或顺序存取存储单元。可以使用存储控制器110提供和/或控制这种存储单元的操作配合。在图1的图示实施例中,存储控制器110包括搜索模块112,类似于先前针对顺序存取存储单元114所描述的,还可以包括用于处理关联存储单元之间I/O请求的处理器、定序器或其它处理单元或模块(未图示)。在提供包括单个存储单元的数据存储子系统104的实施例中,可以从这样的数据存储子系统中省去存储控制器110(如果不是必需的话)。而且,虽然图示为一部分数据存储子系统104,但是也可以将存储控制器110提供为外部单元或设备。
尽管搜索模块112和116可以包括软件、硬件或其组合,在本发明的一个实施例中,搜索模块112包括软件单元,搜索模块116包括配合使用以执行搜索操作的硬件单元(例如硬件处理单元)。在另一个实施例中,例如,根据用户选择或检测到一个或多个预定条件,可以替代地使用搜索模块112和116。在又一个实施例中,可以在存储控制器110、顺序存取存储单元114内提供单个搜索模块,或者将其作为独立的单元或设备。
图2图示根据本发明一个或多个实施例的数据处理系统。例如,如图2所示的数据处理系统200可以图示如在此所述的主机数据处理系统。可替代地和/或附加地,可以使用类似于图2所示的数据处理系统实现数据存储子系统或其组件。虽然针对图2的数据处理系统200已经图示了单元的特定数量和配置,应当理解本发明的实施例并不限制于具有任意特定数量、类型和配置的组件的数据处理系统,因此可以包含多种数据处理系统类型、结构和形式因素(例如网络单元或节点、个人计算机、工作站、服务器等)。所图示实施例的数据处理系统200包括使用总线206或其它通信介质耦合到存储器204的处理器202。存储器204可以包括多种系统存储器型存储单元中的任一种,例如随机存取存储器(RAM)、只读存储器(ROM)、闪存和高速缓存。在图2所图示的实施例中,存储器204包括如在此所述的数据存储子系统搜索用户接口205。
所图示的实施例的数据处理系统200还包括耦合到总线206以将一个或多个I/O设备(未图示)通信地耦合到数据处理系统200的输入/输出(I/O)接口208。示例的I/O设备可以包括:传统的I/O设备,例如键盘、显示器、打印机、光标控制设备(例如跟踪球、鼠标、书写板等)、扬声器和麦克风;数据存储单元和/或存储子系统,例如和/或包括固定或“硬”磁介质存储设备、光存储设备(例如CD或DVDROM)、固态存储单元(例如USB、安全数字SDTM、CompactFlashTM、MMC等)、诸如软盘和磁带等可拆除磁介质存储单元或者其它存储单元或介质;和有线或无线通信设备或介质(例如经调制解调器或直接网络接口访问的通信网络)。
本发明的实施例可以包括在此进一步描述的软件、信息处理硬件和各种处理操作。可以将本发明的特征和处理操作实施为在诸如存储器204、存储单元、通信设备或介质等机器可读介质内实施的可执行指令。
机器可读介质可以包括以由机器(例如数据处理系统200)可读的形式提供(即存储和/或发送)数据的任意机制。例如,机器可读介质包括但是并不限制于:随机存取存储器(RAM)、只读存储器(ROM)、磁存储介质、光存储介质、闪存设备、电子、光和/或声音传播信号(例如载波、红外信号、数字信号等)等。
可以使用所描述的可执行指令使通过指令编程的通用或专用处理器(如处理器202等)执行本发明的操作、方法或处理。可替代地,通过包含用于执行操作的硬连线逻辑的专用硬件组件,或者通过编程数据处理组件和定制硬件组件的任意组合,可以执行本发明的特征或操作。
虽然已经在完全功能的数据处理系统的环境下描述了本发明的实施例,但是本领域的技术人员将理解这些实施例能够作为程序产品以各种形式分配并能够同等地应用,而与用于执行该分配的机器可读或者信号承载介质的特定类型无关。信号承载介质的例子包括诸如软盘、磁带和CD-ROM等可记录介质、诸如数字和模拟通信链路等传输类型介质以及介质存储和分配系统。可以使用用于执行某些操作或任务的软件模块类似地实施本发明的实施例。所描述的软件模块可以包括脚本、组、库或其它可执行文件,和可以存储在机器或计算机可读介质上。因而,可以将模块存储在计算机系统存储器内,从而配置数据处理或计算机系统执行软件模块的一个或多个功能。可以使用在此讨论的各种机器或计算机可读存储介质存储根据本发明实施例的模块。
图3图示根据本发明实施例的数据存储子系统。在图3的实施例中,数据存储子系统300包括:包含顺序存取存储介质(例如数据存储磁带盒302)的顺序存取存储单元、通过通信信道(未图示)将数据存储子系统300通信地耦合到主机数据处理系统的通信信道接口(例如主机数据处理系统接口304)和搜索模块306。在图3所图示的实施例中,配置搜索模块306以通过主机数据处理系统接口304从主机数据处理系统接收指定至少一个搜索属性的搜索属性数据,以利用所接收的搜索属性对顺序存取存储单元数据执行搜索操作,并作为响应通过主机数据处理系统接口304将搜索结果数据提供给主机数据处理系统。
所图示实施例的数据存储子系统300还包括利用如图所示的介质传输卷轴312和314和一个或多个介质传输马达316在磁带存取(例如读/写)头310附近传送的磁带数据存储介质308(例如磁带)。在所图示的实施例中,配置磁带访问头310以相对于磁带数据存储介质308读取数据和写入数据,并在缓冲器318(例如一个或多个“向前读取”或备份缓冲器)内临时存储或“备份”(stage)这种数据。在图3所示的实施例中,数据存储子系统300还包括控制器或控制单元320。在一个实施例中,控制单元320通过发给如图所示的一个或多个主机数据处理系统接口304、搜索模块306、缓冲器318和/或介质传输马达316的控制信号控制和管理数据流、格式化和数据存储子系统操作。在另一个实施例中,可以将由搜索模块306提供的功能并入或者结合到控制单元320中。
图4图示根据本发明实施例的数据存储子系统搜索处理的高层流程图。在所图示的实施例中,首先从主机数据处理系统接收搜索属性数据(处理块402)。此后,在所接收的搜索属性数据中并使用所述所接收的搜索属性数据来识别一个或多个用户指定的搜索属性(处理块404)。一旦识别出,则利用每个用户指定的搜索属性(以及在一个实施例中的一个或多个缺省搜索属性)执行在此所述的一个或多个搜索操作(处理块406)。
当执行所请求的搜索操作时,确定是否已经完成所请求的操作(处理块408)。在所图示的实施例中,出于多种原因中的任一原因,可以将搜索操作表示为完成。例如,在提供所请求的搜索结果数据的情况下(例如在顺序存取数据存储单元的关联数据内识别出“下一个”指定搜索项目的出现),达到/检测到“限制条件”类型搜索属性,或者在将要搜索的顺序存取存储单元内未识别出指定搜索项目的出现。一旦确定所请求的搜索操作已经完成,则将搜索结果数据(如果有的话)提供给相关主机数据处理系统(处理块410)。
图5图示根据本发明实施例的主机数据处理系统搜索处理的高层流程图。在所图示处理实施例中,首先将数据存储子系统搜索用户接口呈现给主机数据处理系统用户(处理块502)。此后,通过所描述的用户接口接收一个或多个用户选择和指定的搜索属性(处理块504),并使用所指定的属性生成搜索属性数据(处理块506)。一旦生成,就将所描述的搜索属性数据(和在至少一个实施例中,表示已经使用搜索属性数据由用户指定了多个搜索属性中的哪些搜索属性的元数据)提供给数据存储子系统的搜索模块(处理块508)。
此后,在所图示的处理实施例中,从数据存储子系统接收指定搜索结果和/或搜索项目出现的搜索结果数据(处理块510)。然后,通过如图所示的所述用户接口呈现搜索结果数据的所接收搜索结果。
虽然已经图示和描述了本发明的具体实施例,但是对于本领域的技术人员来说,根据在此的教导,在不脱离本发明及其更宽范围的情况下,可以进行改变和修改,因此,权利要求书将在其保护范围内包含在本发明的实际精神和范围内的所有这种改变和修改。
因此,本发明将仅仅限制于权利要求的保护范围,全面考虑所有方面中的等同物。

Claims (20)

1.一种数据存储子系统,包括:
通信信道接口,用于通过通信信道将所述数据存储子系统通信地耦合到主机数据处理系统;和
搜索模块,用于通过所述通信信道接口从所述主机数据处理系统接收搜索属性数据,其中所述搜索属性数据指定搜索属性,以使用所述搜索属性对顺序存取存储单元的数据执行搜索操作,并响应于所述搜索操作的执行,通过所述通信信道接口将搜索结果数据提供给所述主机数据处理系统,
在所述搜索属性数据指定最大搜索持续时间的情况下,所述搜索模块被配置为在短于或等于所述最大搜索持续时间的时间段中执行所述搜索操作,其中:
在所述搜索属性数据指定搜索项目的情况下,
所述搜索操作包括被动搜索操作;和
所述搜索模块被配置为响应于接收到对所述顺序存取存储单元执行输入/输出操作的请求,执行所述被动搜索操作,并进一步被配置为提供第一数据和第二数据,所述第一数据指定所述搜索项目在所述顺序存取存储单元的所述数据内的出现,所述第二数据指定对执行所述输入/输出操作的所述请求的响应。
2.权利要求1的数据存储子系统,其中:
在所述搜索属性数据指定逻辑块的最大数量的情况下,使用多个逻辑块存储所述顺序存取存储单元的所述数据;和
所述搜索模块被配置为对所述多个逻辑块中少于或等于所述逻辑块的最大数量的若干逻辑块执行所述搜索操作。
3.权利要求2的数据存储子系统,其中:
所述搜索结果数据包括指定所述多个逻辑块中一个逻辑块的数据。
4.权利要求1的数据存储子系统,其中:
在所述搜索属性数据指定用户选定的搜索属性的情况下,所述搜索模块被配置为使用所述用户选定的搜索属性和至少一个缺省搜索属性执行所述搜索操作。
5.权利要求1的数据存储子系统,其中:
在所述搜索属性数据指定搜索项目和顺序搜索类型的情况下,所述搜索操作与所述顺序存取存储单元的所述数据内的当前逻辑位置关联,
所述搜索模块被配置为提供指定所述搜索项目在所述顺序存取存储单元的所述数据内的出现的数据,和
所述搜索项目的所述出现与所述当前逻辑位置顺序相邻。
6.权利要求1的数据存储子系统,其中:
在所述搜索属性数据指定搜索项目和摘要搜索类型的情况下,所述搜索模块被配置为提供指定所述搜索项目在所述顺序存取存储单元的所述数据内的一次或多次出现的数据。
7.权利要求6的数据存储子系统,其中:
所述搜索属性数据还指定搜索结果的最大数量,和
所述搜索模块被配置为提供指定所述搜索项目在所述顺序存取存储单元的所述数据内的出现次数的数据,所述次数少于或等于所述搜索结果的最大数量。
8.权利要求1的数据存储子系统,其中:
所述数据存储子系统还包括缓冲器存储单元,用于响应于执行所述输入/输出操作的所述请求的所述接收,存储所述顺序存取存储单元的一部分所述数据,和
所述搜索模块被配置为对在所述缓冲器存储单元内存储的所述顺序存取存储单元的所述一部分所述数据执行所述被动搜索操作。
9.权利要求1的数据存储子系统,其中:
所述搜索模块被配置为响应于接收到对所述顺序存取存储单元的所述数据执行所述主动搜索操作的请求,执行主动搜索操作。
10.权利要求1的数据存储子系统,其中:
所述搜索模块包括硬件处理单元,
所述搜索模块被配置为使用所述硬件处理单元对所述顺序存取存储单元的所述数据执行主要搜索操作,并将所述搜索结果数据提供给所述主机数据处理系统内的搜索模块软件,
所述搜索模块软件被配置为使用所述搜索结果数据执行辅助搜索操作。
11.一种执行搜索操作的方法,包括:
在数据存储子系统上从主机数据处理系统接收搜索属性数据,其中
所述搜索属性数据指定搜索属性,和
所述数据存储子系统包括搜索模块和顺序存取存储单元;
响应于接收到所述搜索属性数据,使用所述搜索模块执行搜索操作;其中所述执行包括:
使用所述搜索属性对所述顺序存取存储单元的数据执行所述搜索操作;和
响应于执行所述搜索操作,将搜索结果数据从所述数据存储子系统提供给所述主机数据处理系统,
在所述搜索属性数据指定最大搜索持续时间的情况下,执行所述搜索操作包括在短于或等于所述最大搜索持续时间的时间段中执行所述搜索操作,其中:
在所述搜索属性数据指定搜索项目的情况下,
所述数据存储子系统还包括缓冲器存储单元,
所述方法还包括响应于接收到对所述顺序存取存储单元执行输入/输出操作的请求,使得在所述缓冲器存储单元内存储所述顺序存取存储单元的所述数据的一部分,
执行所述搜索操作包括响应于执行所述输入/输出操作的所述请求的所述接收,对在所述缓冲器存储单元内存储的所述顺序存取存储单元的所述数据的所述部分执行被动搜索操作,和
提供所述搜索结果数据包括提供第一数据和第二数据,所述第一数据指定所述搜索项目在所述顺序存取存储单元的所述数据内的出现,所述第二数据指定对执行所述输入/输出操作的所述请求的响应。
12.权利要求11的方法,其中:
在所述搜索属性数据指定用户选定的搜索属性的情况下,
执行所述搜索操作包括使用所述用户选定的搜索属性和至少一个缺省搜索属性执行所述搜索操作。
13.权利要求11的方法,其中:
在所述搜索属性数据指定搜索项目和顺序搜索类型的情况下,
所述搜索操作与所述顺序存取存储单元的所述数据内的当前逻辑位置关联,
提供所述搜索结果数据包括提供指定所述搜索项目在所述顺序存取存储单元的所述数据内的出现的数据,和
所述搜索项目的所述出现与所述当前逻辑位置顺序相邻。
14.权利要求11的方法,其中:
所述搜索模块包括硬件处理单元,
执行所述搜索操作包括使用所述硬件处理单元对所述顺序存取存储单元的所述数据执行主要搜索操作,
提供所述搜索结果数据包括将所述搜索结果数据提供给所述主机数据处理系统内被配置为执行辅助搜索操作的搜索模块软件。
15.一种执行搜索操作的设备,包括:
用于在数据存储子系统上从主机数据处理系统接收搜索属性数据的装置,其中
所述搜索属性数据指定搜索属性,和
所述数据存储子系统包括搜索模块和顺序存取存储单元;
用于响应于接收到所述搜索属性数据使用所述搜索模块执行搜索操作的装置;其中所述执行装置包括:
用于使用所述搜索属性对所述顺序存取存储单元的数据执行所述搜索操作的装置;和
用于响应于所述搜索操作的执行,将搜索结果数据从所述数据存储子系统提供给所述主机数据处理系统的装置,
在所述搜索属性数据指定最大搜索持续时间的情况下,
所述用于执行所述搜索操作的装置包括用于在短于或等于所述最大搜索持续时间的时间段内执行所述搜索操作的装置,其中:
在所述搜索属性数据指定搜索项目的情况下,
所述数据存储子系统还包括缓冲器存储单元,
所述设备还包括用于响应于接收到对所述顺序存取存储单元执行输入/输出操作的请求,使得在所述缓冲器存储单元内存储所述顺序存取存储单元的所述数据的一部分的装置,
用于执行所述搜索操作的装置包括用于响应于执行所述输入/输出操作的所述请求的所述接收,对在所述缓冲器存储单元内存储的所述顺序存取存储单元的所述数据的所述部分执行被动搜索操作的装置,和
所述用于提供所述搜索结果数据的装置包括用于提供第一数据和第二数据的装置,所述第一数据指定所述搜索项目在所述顺序存取存储单元的所述数据内的出现,所述第二数据指定对执行所述输入/输出操作的所述请求的响应。
16.权利要求15的设备,其中:
在所述搜索属性数据指定用户选定的搜索属性的情况下,
所述用于执行所述搜索操作的装置包括用于使用所述用户选定的搜索属性和至少一个缺省搜索属性执行所述搜索操作的装置。
17.权利要求15的设备,其中:
在所述搜索属性数据指定搜索项目和顺序搜索类型的情况下,
所述搜索操作与所述顺序存取存储单元的所述数据内的当前逻辑位置关联,
所述用于提供所述搜索结果数据的装置包括用于提供指定所述搜索项目在所述顺序存取存储单元的所述数据内的出现的数据的装置,和
所述搜索项目的所述出现与所述当前逻辑位置顺序相邻。
18.权利要求15的设备,其中:
所述搜索模块包括硬件处理单元,
所述用于执行所述搜索操作的装置包括用于使用所述硬件处理单元对所述顺序存取存储单元的所述数据执行主要搜索操作的装置,
所述提供所述搜索结果数据的装置包括用于将所述搜索结果数据提供给所述主机数据处理系统内被配置为执行辅助搜索操作的搜索模块软件的装置。
19.一种执行搜索操作的方法,包括:
在主机数据处理系统上呈现数据存储子系统搜索用户接口;
通过所述数据存储子系统搜索用户接口从用户接收搜索属性数据;
将所述搜索属性数据提供给数据存储子系统,其中所述数据存储子系统包括搜索模块和顺序存取存储单元;和
响应于将所述搜索属性数据提供给所述数据存储子系统,从所述数据存储子系统接收搜索结果数据,
其中接收搜索属性数据包括接收指定最大搜索持续时间的数据、指定将要搜索的逻辑块的最大数量的数据或者指定要通过所述数据存储子系统搜索用户接口提供的最大数量搜索结果的数据,其中:
在所述搜索属性数据指定搜索项目的情况下,
所述搜索操作包括被动搜索操作;和
所述搜索模块被配置为响应于接收到对所述顺序存取存储单元执行输入/输出操作的请求,执行所述被动搜索操作,并进一步被配置为提供第一数据和第二数据,所述第一数据指定所述搜索项目在所述顺序存取存储单元的所述数据内的出现,所述第二数据指定对执行所述输入/输出操作的所述请求的响应。
20.权利要求19的方法,其中:
所述搜索模块包括硬件处理单元,
所述搜索模块被配置为使用所述硬件处理单元对所述顺序存取存储单元的数据执行主要搜索操作,和
所述方法还包括在所述主机数据处理系统上使用搜索模块软件对所述搜索结果执行辅助搜索操作。
CN200680032463XA 2005-09-07 2006-08-21 用于在顺序存取数据存储子系统中执行搜索操作的系统和方法 Active CN101258493B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/221,089 2005-09-07
US11/221,089 US7991758B2 (en) 2005-09-07 2005-09-07 System and method for performing a search operation within a sequential access data storage subsystem
PCT/EP2006/065530 WO2007028705A1 (en) 2005-09-07 2006-08-21 System and method for performing a search operation within a sequential access data storage subsystem

Publications (2)

Publication Number Publication Date
CN101258493A CN101258493A (zh) 2008-09-03
CN101258493B true CN101258493B (zh) 2012-07-04

Family

ID=37309254

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200680032463XA Active CN101258493B (zh) 2005-09-07 2006-08-21 用于在顺序存取数据存储子系统中执行搜索操作的系统和方法

Country Status (5)

Country Link
US (1) US7991758B2 (zh)
EP (1) EP1922656B1 (zh)
JP (1) JP5089591B2 (zh)
CN (1) CN101258493B (zh)
WO (1) WO2007028705A1 (zh)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7991758B2 (en) * 2005-09-07 2011-08-02 International Business Machines Corporation System and method for performing a search operation within a sequential access data storage subsystem
CN102831214B (zh) 2006-10-05 2017-05-10 斯普兰克公司 时间序列搜索引擎
US8280901B2 (en) 2008-01-03 2012-10-02 Masterfile Corporation Method and system for displaying search results
US9336149B2 (en) * 2010-05-06 2016-05-10 International Business Machines Corporation Partial volume access in a physical stacked volume
US8656094B2 (en) * 2010-05-06 2014-02-18 International Business Machines Corporation Locating host data records on a physical stacked volume
US8533427B2 (en) 2010-05-06 2013-09-10 International Business Machines Corporation Mapping locations of logical volume records on a physical stacked volume
US20120324143A1 (en) * 2011-06-15 2012-12-20 Data Design Corporation Methods and apparatus for data access by a reprogrammable circuit module
US9417894B1 (en) 2011-06-15 2016-08-16 Ryft Systems, Inc. Methods and apparatus for a tablet computer system incorporating a reprogrammable circuit module
JP5601725B2 (ja) * 2011-11-30 2014-10-08 楽天株式会社 情報処理装置、情報処理方法、情報処理プログラム及び記録媒体
US8983979B2 (en) * 2012-01-13 2015-03-17 Hewlett-Packard Development Company, L.P. Controlling access to stored information
US9142049B2 (en) 2013-04-30 2015-09-22 Splunk Inc. Proactive monitoring tree providing distribution stream chart with branch overlay
US10019496B2 (en) 2013-04-30 2018-07-10 Splunk Inc. Processing of performance data and log data from an information technology environment by using diverse data stores
US9185007B2 (en) 2013-04-30 2015-11-10 Splunk Inc. Proactive monitoring tree with severity state sorting
US10353957B2 (en) 2013-04-30 2019-07-16 Splunk Inc. Processing of performance data and raw log data from an information technology environment
US10614132B2 (en) 2013-04-30 2020-04-07 Splunk Inc. GUI-triggered processing of performance data and log data from an information technology environment
US10346357B2 (en) 2013-04-30 2019-07-09 Splunk Inc. Processing of performance data and structure data from an information technology environment
US9495187B2 (en) 2013-04-30 2016-11-15 Splunk, Inc. Interactive, top-down presentation of the architecture and performance of a hypervisor environment
US9015716B2 (en) 2013-04-30 2015-04-21 Splunk Inc. Proactive monitoring tree with node pinning for concurrent node comparisons
US8972992B2 (en) 2013-04-30 2015-03-03 Splunk Inc. Proactive monitoring tree with state distribution ring
US10997191B2 (en) 2013-04-30 2021-05-04 Splunk Inc. Query-triggered processing of performance data and log data from an information technology environment
US10225136B2 (en) 2013-04-30 2019-03-05 Splunk Inc. Processing of log data and performance data obtained via an application programming interface (API)
US8904389B2 (en) 2013-04-30 2014-12-02 Splunk Inc. Determining performance states of components in a virtual machine environment based on performance states of related subcomponents
US10318541B2 (en) 2013-04-30 2019-06-11 Splunk Inc. Correlating log data with performance measurements having a specified relationship to a threshold value
US9336313B1 (en) 2013-07-24 2016-05-10 NXGN Data, Inc. Systems and methods for performing single and multi threaded searches and complex pattern matching in a solid state drive
US9021189B2 (en) * 2013-07-24 2015-04-28 NXGN Data, Inc. System and method for performing efficient processing of data stored in a storage node
US9092321B2 (en) * 2013-07-24 2015-07-28 NXGN Data, Inc. System and method for performing efficient searches and queries in a storage node
US9336135B1 (en) 2013-07-24 2016-05-10 NXGN Data, Inc. Systems and methods for performing search and complex pattern matching in a solid state drive
CN103645639B (zh) * 2013-12-29 2016-05-04 中国科学院软件研究所 一种多模式反馈控制系统在逐点收敛情况下安全初始状态的估计方法
US8935463B1 (en) * 2014-01-03 2015-01-13 Fastor Systems, Inc. Compute engine in a smart SSD exploiting locality of data
US9141292B2 (en) 2014-01-03 2015-09-22 Smart High Reliability Solutions Llc Enhanced interface to firmware operating in a solid state drive
US10296589B2 (en) * 2014-02-24 2019-05-21 Ca, Inc. Grouping content based upon user activity
JP6181860B2 (ja) * 2014-04-28 2017-08-16 株式会社日立製作所 ストレージ装置とそのデータ処理方法及びストレージシステム
US10261688B2 (en) * 2016-04-02 2019-04-16 Intel Corporation Performing search and replace operations in a memory device using command parameters and a storage controller without transferring data to a processor
US11030259B2 (en) 2016-04-13 2021-06-08 Microsoft Technology Licensing, Llc Document searching visualized within a document
US10726074B2 (en) * 2017-01-04 2020-07-28 Microsoft Technology Licensing, Llc Identifying among recent revisions to documents those that are relevant to a search query
US11158369B2 (en) * 2018-12-26 2021-10-26 Western Digital Technologies, Inc. On-chip non-volatile memory (NVM) search

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030050980A1 (en) * 2001-09-13 2003-03-13 International Business Machines Corporation Method and apparatus for restricting a fan-out search in a peer-to-peer network based on accessibility of nodes
US20050076016A1 (en) * 2003-10-03 2005-04-07 Microsoft Corporation Ubiquitous search framework
US6886021B1 (en) * 2001-11-27 2005-04-26 Unisys Corporation Method for tracking audit files spanning multiple tape volumes

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4125868A (en) 1975-10-28 1978-11-14 Automix Keyboards, Inc. Typesetting terminal apparatus having searching and merging features
US4543626A (en) 1982-12-06 1985-09-24 Digital Equipment Corporation Apparatus and method for controlling digital data processing system employing multiple processors
JP2525809B2 (ja) * 1987-05-26 1996-08-21 キヤノン株式会社 検索装置
JP2550139B2 (ja) * 1988-03-28 1996-11-06 株式会社日立製作所 磁気記録装置
US5146561A (en) 1988-06-02 1992-09-08 Sears Communications Network, Inc. Communication network data manager system
US4929946A (en) 1989-02-09 1990-05-29 Storage Technology Corporation Adaptive data compression apparatus including run length encoding for a tape drive system
EP0472736A1 (en) * 1990-03-09 1992-03-04 Fujitsu Limited Sampled data storage and editing system
JPH0428061A (ja) * 1990-05-24 1992-01-30 Matsushita Electric Ind Co Ltd 情報記録媒体と情報記録再生装置
US5159336A (en) 1991-08-13 1992-10-27 Iomega Corporation Tape controller with data compression and error correction sharing a common buffer
US5454098A (en) * 1992-09-28 1995-09-26 Conner Peripherals, Inc. Method of emulating access to a sequential access data storage device while actually using a random access storage device
US5903867A (en) * 1993-11-30 1999-05-11 Sony Corporation Information access system and recording system
US6029195A (en) * 1994-11-29 2000-02-22 Herz; Frederick S. M. System for customized electronic identification of desirable objects
JP3371044B2 (ja) * 1994-12-28 2003-01-27 株式会社日立製作所 ディスクアレイのための領域割り当て方法およびディスクアレイアクセス方法
JPH08331504A (ja) * 1995-06-01 1996-12-13 Matsushita Electric Ind Co Ltd 動画像処理装置および動画像再生装置
US5758353A (en) * 1995-12-01 1998-05-26 Sand Technology Systems International, Inc. Storage and retrieval of ordered sets of keys in a compact 0-complete tree
WO1997032253A1 (en) * 1996-02-29 1997-09-04 Hitachi, Ltd. Semiconductor memory device having faulty cells
US5864863A (en) * 1996-08-09 1999-01-26 Digital Equipment Corporation Method for parsing, indexing and searching world-wide-web pages
JPH1074347A (ja) * 1996-08-30 1998-03-17 Nec Corp 磁気テープ制御装置
CA2184518A1 (en) * 1996-08-30 1998-03-01 Jim Reed Real time structured summary search engine
JPH1091487A (ja) * 1996-09-19 1998-04-10 Honda Motor Co Ltd データ管理システム
US5875448A (en) 1996-10-08 1999-02-23 Boys; Donald R. Data stream editing system including a hand-held voice-editing apparatus having a position-finding enunciator
JPH10307846A (ja) * 1997-03-03 1998-11-17 Toshiba Corp ドキュメント情報管理システム、ドキュメント情報管理方法、及びドキュメント検索方法
JP3499105B2 (ja) * 1997-03-03 2004-02-23 株式会社東芝 情報検索方法および情報検索装置
US6539459B1 (en) 1998-08-24 2003-03-25 Sony Corporation Library device, operating mode setting method therefor
JP2001076005A (ja) * 1999-06-30 2001-03-23 Hitachi Ltd データベースシステム
JP3714046B2 (ja) * 1999-07-23 2005-11-09 株式会社日立製作所 仮想テープ記憶装置
US6324534B1 (en) * 1999-09-10 2001-11-27 Requisite Technology, Inc. Sequential subset catalog search engine
US6366907B1 (en) * 1999-12-15 2002-04-02 Napster, Inc. Real-time search engine
US6763382B1 (en) 2000-03-17 2004-07-13 Sun Microsystems, Inc. Method and apparatus for demand based paging algorithm
WO2002003234A2 (en) * 2000-06-30 2002-01-10 Troy Schultz Method and apparatus for a gis based search engine utilizing real time advertising
US20020072981A1 (en) * 2000-12-11 2002-06-13 Park Jin Y. Search engine adapted to permit real time querying of a set of internet sites
US6920448B2 (en) * 2001-05-09 2005-07-19 Agilent Technologies, Inc. Domain specific knowledge-based metasearch system and methods of using
US7076484B2 (en) * 2002-09-16 2006-07-11 International Business Machines Corporation Automated research engine
US7685254B2 (en) * 2003-06-10 2010-03-23 Pandya Ashish A Runtime adaptable search processor
US7111135B2 (en) 2003-06-13 2006-09-19 International Business Machines Corporation Random access time to data stored on LTO tape by incorporating stacked cartridge memory (CM) modules
US8676830B2 (en) * 2004-03-04 2014-03-18 Yahoo! Inc. Keyword recommendation for internet search engines
JP4366601B2 (ja) * 2005-03-18 2009-11-18 ソニー株式会社 タイムシフト画像配信システム、タイムシフト画像配信方法、タイムシフト画像要求装置および画像サーバ
US7991758B2 (en) * 2005-09-07 2011-08-02 International Business Machines Corporation System and method for performing a search operation within a sequential access data storage subsystem

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030050980A1 (en) * 2001-09-13 2003-03-13 International Business Machines Corporation Method and apparatus for restricting a fan-out search in a peer-to-peer network based on accessibility of nodes
US6886021B1 (en) * 2001-11-27 2005-04-26 Unisys Corporation Method for tracking audit files spanning multiple tape volumes
US20050076016A1 (en) * 2003-10-03 2005-04-07 Microsoft Corporation Ubiquitous search framework

Also Published As

Publication number Publication date
EP1922656B1 (en) 2013-07-03
CN101258493A (zh) 2008-09-03
JP5089591B2 (ja) 2012-12-05
JP2009507304A (ja) 2009-02-19
US7991758B2 (en) 2011-08-02
WO2007028705A1 (en) 2007-03-15
US20070055831A1 (en) 2007-03-08
EP1922656A1 (en) 2008-05-21

Similar Documents

Publication Publication Date Title
CN101258493B (zh) 用于在顺序存取数据存储子系统中执行搜索操作的系统和方法
CN101939731B (zh) 处理变长设备命令字的系统和方法
US7669023B2 (en) Power efficient storage with data de-duplication
KR101174997B1 (ko) 간접 데이터 주소지정 리스트가 비연속적인 입력/출력 처리시스템에서 간접 데이터 주소지정 제공
JP5224706B2 (ja) 記憶装置及び記憶装置の制御方法
JP2009507304A5 (zh)
US20090132621A1 (en) Selecting storage location for file storage based on storage longevity and speed
US6832290B2 (en) Method, system, program, and data structures for maintaining metadata in a storage system
JP4402103B2 (ja) データ記憶装置、そのデータ再配置方法、プログラム
JP4837759B2 (ja) データベース処理方法、データベース処理システム及びデータベースサーバ
JP2005190139A (ja) テープ記録媒体へのバックアップシステム及び方法
CN103902623A (zh) 用于在存储系统上存取文件的方法和系统
CN103080896A (zh) 对访问重新排序以减少对磁带介质的总查找时间
KR20080029677A (ko) 파일 저장 시스템 및 그 시스템에서의 파일 저장 및 검색방법
JP5618813B2 (ja) 記憶装置、記録媒体、およびデータの長期保存方法
CN101620516A (zh) 信息处理装置、其控制方法,以及程序
KR20000022716A (ko) 로그 구조화 목표 저장장치를 사전에 구성하여 볼륨을 효율적으로 복사하는 방법 및 장치
JP6052812B2 (ja) テープ上のファイルの管理、書き込み、及び読み出し方法
US8359439B2 (en) Backup apparatus, backup method, and file reading apparatus
US8856436B2 (en) Locating host data records on a physical stacked volume
CN114153394A (zh) 一种数据存储管理方法、装置及设备
CN103380418A (zh) 存储系统
CN101078972B (zh) 数据存储装置和数据存取方法
US8639676B2 (en) Data library optimization
KR101426806B1 (ko) 오브젝트 아이디에 기반하여 저장 매체에서의 영속화를 제어하는 방법, 그 컴퓨터 시스템 및 스토리지 시스템

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