隔离带驱动器的方法和系统的制作方法

文档序号:6609013阅读:141来源:国知局
专利名称:隔离带驱动器的方法和系统的制作方法
技术领域
本发明一般涉及带驱动器(tape drive)领域,更具体地,涉及 隔离(fence)带驱动器的方法、系统和计算机程序产品。
背景技术
自动数据存储库为存储数据提供了方便和低成本的手段。自动数 据存储库中的数据存储在存放在库内存储架等上的存储介质中。除了 数据存储介质之外,自动数据存储库通常还包含数据存储驱动器,用 于在读和/或写处理中向/从数据存储介质中存取数据/检索数据。包含 在数据存储介质中的数据通常是有价值的数据(例如,个人数据、金 融数据、商业数据等),因此,读和/或写处理的可靠性非常重要。
现有数据存储库的局限性之一是主机无法将在其正常阈值之外 工作的数据存储驱动器与连接到数据存储库的所有主机隔离(fence)。 正如这里使用的那样,隔离数据存储驱动器一般指的是防止数据存储 驱动器执行要求带移动的任何命令,包括,例如,读命令和写命令。 如果未对驱动器进行隔离以防止所有主机访问,另 一台主机可能向驱 动器发出像读和/或写命令那样的要求带移动的命令。如果驱动器执行 像读和/或写命令那样的要求带移动的命令,它们可能变得不可靠,从 而危害有价值的数据。
此外,已知隔离技术存在的另一个问题是,在主机层上形成的隔 离不能被与数据存储库连接的所有主机识别。
最后,在已知隔离技术中,将隔离状态存储在易失性存储器中, 因此,隔离状态可能随供电循环(切断到驱动器的电力,然后恢复电 力)而被擦除。因此,不明白隔离原因的操作人员有可能对数据存储 驱动器循环供电,因此消除了隔离状态。所涉及的新的未隔离驱动器
将可以用于执行像读和/或写那样的要求带移动的命令,从而可能危害 有价值的数据。

发明内容
人们发现,通过在驱动器层上提供隔离,尽管主机可能使用不同 的软件,拥有不同的平台,或使用不同的语言,但与带驱动器互连的 所有主机都能理解这种隔离。因此,防止隔离驱动器执行来自所有主 机的像读和/或写那样的要求带移动的命令,从而保护了有价值的数 据。于是,本发明的一个实施例提供了一种系统、方法、和计算机程 序产品。使带驱动器与第一和第二主机耦合。如果确定由于例如带驱 动器在其正常参数之外工作,需要隔离带驱动器,由笫一主机发送隔 离命令。带驱动器接收隔离命令,并做出响应,隔离带驱动器。如果 第二主机为带驱动器发送要求带移动的命令,带驱动器返还给第二主 机一个消息,将隔离带驱动器的隔离状态通知给第二主机。此外,可 以将隔离状态存储在非易失性存储器中,因此,当对带驱动器循环供 电时,隔离状态一直保持着。
主机可以通过如下手段之一监视或检验至少一个参数,确定带驱
动器在其正常阈值之外工作和带驱动器需要被隔离带驱动器的健康 状况调查、带驱动器的查询、带驱动器的错误状态返回、或安装或卸 下时带驱动器的状态更新。可以监视或检验的参数包括带驱动器完成 命令请求所花费的时间、带驱动器的寿命、带驱动器已经工作的小时 数、带驱动器内的温度、带驱动器返回的错误数、带驱动器内的湿度、 带驱动器的超时数、或带驱动器内没有移动。这些参数和每个参数的 范围可以由客户定义。
为了更详细地了解所公开的发明,下面结合附图进行如下详细描述。


图l是例示包含两个主机的数据存储库的方块图2是例示与多个主机耦合的数据存储库的方块图; 图3是例示按照本发明一个实施例的隔离方法的流程图; 图4是例示按照本发明另一个实施例的隔离方法的流程图;和 图5是例示实现某些实施例的系统的方块图。
具体实施例方式
下文旨在提供对本发明例子的详细描述,不应该认为是对本发明 本身的限制。相反,各种各样的变化都在定义在所附权利要求书中的 本发明的范围之内。
图1例示了数据存储库100的一个实施例。数据存储库100包含 数据存储介质(未示出),数据存储介质以对于像读和/或写操作那样 的物理检索和带移动操作,允许介质和介质上的数据可被访问的方式 存放在数据存储库100内的存储架(未示出)等上。数据存储介质可 以包含可以存储数据和可以用作可更换式介质的任何类型介质,包括, 但不局限于,磁介质(例如磁带或磁盘)、光介质(例如光带或光盘)、 电介质(例如PROM、 EEPROM、闪速PROM、 MRAM、基于MEMS 的存储器、CompactflashTM、 SmartmediaTM、 Memory StickTM等)、 或其它适用介质。通常,存储在数据存储库100内的数据存储介质上 的数据包含在盒子内,被称为数据存储介质盒。对于大容量数据存储 器,广泛应用在自动数据存储库中的数据存储介质盒的例子是磁带盒。
数据存储库100包括一个或多个数据存储驱动器,在所示的例子 中,包含一个数据存储驱动器101。数据存储驱动器执行要求带移动 的命令,包括读和/或写操作,数据存储介质盒处在库IOO内。数据存 储驱动器101可以是磁带驱动器、光盘驱动器、或用于针对数据存储
介质读和/写数据的其它类型的数据存储介质。
在所示的例子中,数据存储驱动器101与包括第一主机102a和 第二主机102b的一个或多个主机耦合。第一主机102a和第二主机 102b将数据供应给数据存储库100,以便存储在盒中,并将请求发送 到库100,以便从盒中检索数据。像主机服务器那样的主机系统可以
直接(例如,在通信链路103a和103b上),或通过数据存储库100 与数据存储驱动器通信。通过这些数据链路,第一主机102a和第二主 机102b可以提供访问特定数据存储盒、执行读和/或写命令或移动介 质的命令。通信链路103a和103b可以是像RS-232电缆或RS-432电 缆那样的串行互连、以太网互连、SCSI互连、光纤通道互连、ESCON 互连、FICON互连、局域网(LAN)、专用广域网(WAN)、公用 广域网、存储区网络(SAN)、传输控制协议/因特网协议(TCP/IP)、 因特网、和/或它们的组合。
第一主机102a和/或笫二主机102b可以是像大型计算机、个人 计算机、工作站等那样的计算机系统,包括像Windows 、 AIX 、 Unix 、MVSTM等那样的操作系统。第 一主机102a和/或第二主机102b 还可以与接口和主机目录(未示出)耦合。接口使第一主机102a和/ 或第二主机102b能够与操作人员交换信息,并可以包含控制面板、视 频监视器、计算机键盘/鼠标、或其它适当人机接口。
第一主机102a和第二主机102b利用"位置中心"命令管理数据存 储库100中的数据,并且作为例子,可以使用小型计算机系统接口 ("SCSI")介质改变器协议。
数据存储驱动器100还包含能够存储第一主机102a和/或第二主 机102b发出的命令、像NVRAM、 EEPROM、 EPROM、 PROM、 FRAM、 MRAM、闪速存储器、或磁泡存储器那样的一个或多个非易 失性存储器104。
图2例示了连同多个主机202a、 202b、 ...、 202n的数据存储库 200的实施例。数据存储库200包含数据存储介质(未示出),数据 存储介质以对于像读和/或写操作那样的物理检索和带移动操作,允许 介质和介质上的数据可被访问的方式存放在数据存储库200内的存储 架(未示出)等上。数据存储介质可以包含可以存储数据和可以用作 可更换式介质的任何类型介质,包括但不局限于磁介质(例如磁带或 磁盘)、光介质(例如光带或光盘)、电介质(例如PROM、 EEPROM、 闪速PROM、 MRAM、基于MEMS的存储器、CompactflashTM、 SmartmediaTM、 Memory StickTM等)、或其它适用介质。通常,存储 在数据存储库100内的数据存储介质上的数据包含在盒子内,被称为 数据存储介质盒。对于大容量数据存储器,广泛应用在自动数据存储 库中的数据存储介质盒的例子是磁带盒。
数据存储库200包括一个或多个数据存储驱动器,在所示的例子 中,包含一个数据存储驱动器201。数据存储驱动器执行要求带移动 的命令,包括读和/或写操作,数据存储介质盒处在库200内。数据存 储驱动器201可以是磁带驱动器、光盘驱动器、或用于针对数据存储 介质读和/写数据的其它类型的数据存储介质。
数据存储驱动器201通过数据存储库200与多个主机202a、 202b、 ...、 202n耦合。多个主机202a、 202b、 ...、 202n将数据供应给 数据存储库IOO,以便存储在盒中,并将请求发送到库IOO,以便从盒 中检索数据。像主机服务器那样的主机系统可以直接(例如,在通信
链路203a、 203b.....203n上),或通过数据存储库200与数据存储
驱动器通信。通过这些通信链路,多个主机202a、 202b.....202n可
以提供访问特定数据存储盒、执行读和/或写命令或移动介质的命令。
通信链路203a、 203b.....203n可以是像RS-232电缆或RS-432电
缆那样的串行互连、和以太网互连、SCSI互连、光纤通道互连、ESCON 互连、FICON互连、局域网(LAN)、专用广域网(WAN)、公用 广域网、存储区网络(SAN)、传输控制协议/因特网协议(TCP/IP )、 因特网、和它们的组合。
应该注意到,变量标识符"n,,用在图1中的几个实例中是为了更 筒单地表示一系列相关或相似单元(例如,主机和通信链路)中的最
后单元(例如,多个主机202a、 202b..... 202n和数条通信链路203a、
203b.....203n)。重复使用这样的变量标识符并不意味着暗示这样
一系列单元的大小之间存在关联性,尽管有可能存在这样的关联。使 用这样的变量标识符并不要求每个系列单元具有与通过同一个变量标 识符界定的另一个系列相同的单元数。相反,在每个使用实例中,通 过"n"标识的变量可以具有与同一变量标识符的其它实例相同或不同
的值。
多个主机202a、 202b、…、202n可以是像大型计算机、个人计 算机、工作站等那样的计算机系统,包括像Windows 、AIX 、 Unix 、
MVSTM等那样的操作系统。多个主机202a、 202b.....202n还可以
与接口和主机目录(未示出)耦合。接口使多个主机202a、 202b.....
202n能够与操作人员交换信息,并可以包含控制面板、视频监视器、 计算机键盘/鼠标、或其它适当人机接口。
多个主机202a、 202b、 ...、 202n利用"位置中心"命令管理数据 存储库200中的数据,并且作为例子,可以使用小型计算机系统接口 ("SCSI")介质改变器协议。
操作
本发明的一个实施例被描述成实施在用在数据处理环境中的磁 带存储系统中。但是,本领域的普通技术人员应该认识到,本发明同 样可应用于光盘盒或其它可更换式存储介质,并且使用不同类型的盒 或具有不同特性的相同类型的盒。更进一步,对磁带存储系统的描述 并不意味着使本发明局限于磁带数据处理应用,相反,这里的发明总 的来说可应用于任何介质存储器和盒式系统。
图3是例示实现本发明实施例的步骤的流程图。在步骤301中, 第一或第二主机102a, 102b(就本例而言,第一主机102a)检验数据 存储驱动器101(例如,带驱动器,下文称为带驱动器IOI)的环境或 操作,以确定驱动器在其正常阈值之外工作和是否需要隔离带驱动器。
带驱动器101可以具有某些操作参数,每个参数具有预定范围。 在本发明的一个实施例中,客户可以确定要监视或检验的参数。此外, 客户可以为每个参数定义预定范围。可选地,在本发明的另一个实施 例中,参数和参数的预定范围可以由带驱动器101的制造者定义。在 又一个实施例中,这两种选择都可以存在。当带驱动器101在一个或 多个参数的预定范围之外工作时,那么,带驱动器被认为在其正常阈 值之外工作。
第一或第二主机I02a, 102b可以以许多种方式检验或监视带驱
动器101的环境,以确定驱动器是否在其正常阈值之外工作。例如, 主机(例如,102a)可以检验或监视驱动器,随后,通过向带驱动器 101请求健康状况调查、查询带驱动器IOI、或通过安装或卸下时带驱 动器的状态设置更新,确定驱动器是否在正常阈值内工作。
在检验带驱动器101的环境时可以监视的可能参数包括完成命令 的时间、驱动器的寿命、驱动器的温度、驱动器返回的错误数、驱动 器内的湿度、存在过多超时、或带驱动器内没有移动等。
例如,带驱动器101可能需要隔离的一种指示是带驱动器100无 法适当地执行第一或第二主机102a, 102b之一发出的命令。在这种情 况下,可以将错误状态返还给主机102a,以指示命令失败了。如果主 机102a确定错误足够严重(例如,带盒在带驱动器101中被卡住,带 在巻轴上松开,或者带断开),或带驱动器101的错误数超过客户定 义预定范围,主机102a可以确定带驱动器101需要隔离。
如上所述,客户可以为每个参数定义预定范围。例如, 一个客户 可以确定当带驱动器101返回多于1个伺服错误时,应该隔离带驱动 器101,而另一个客户可以确定当带驱动器101返回多于10个伺服错 误时,应该隔离带驱动器101。类似地,客户可以确定当驱动器超过 客户定义的超时数时,需要隔离带驱动器101。在一个例子中,客户 可以选择在100个超时之后进行隔离。
客户还可以定义带驱动器101可以工作的预定工作小时数或应该 隔离带驱动器的带驱动器寿命。例如,客户可以确定在1000个工作小 时之后或在6个月寿命之后应该隔离带驱动器101。另外,客户还可 以根据带驱动器完成命令请求所花费的时间来确定隔离带驱动器。例 如,客户可以确定应该隔离花费了多于60分钟的带驱动器。此外,客 户可以定义带驱动器101的预定工作温度。例如,客户可以确定如果 温度与定义的43°<:偏差超过3%,应该隔离带驱动器IOI。另外,在 另一个例子中,客户可以定义带驱动器101内的预定工作湿度。例如, 客户可以确定如果超过25%,则应该隔离带驱动器101。
通过让客户独立地定义和配置隔离阈值,客户可以根据他们自己
对可能的不可靠数据的容忍度调整设置。应该注意到,上面定义的预 定范围只是示范性的,可以由每个单独客户定义以适应他们各自的需 要。
在步骤302中,如果带驱动器IOI在其正常阈值内工作并确定不 需要隔离带驱动器IOI,那么,带驱动器101继续正常工作和/或带驱 动器101在步骤301中的检验之前进行的工作。
在步骤303中,如果主机(例如,第一主机'102a)确定带驱动器 IOI需要隔离,正如在步骤303中看到的那样,主机103a发出隔离带 驱动器101的命令。隔离命令可以通过模式选择命令或发送诊断命令, 或如本领域的普通技术人员理解的可以在驱动器上形成设置的任何其 它适当命令完成。带驱动器101接收隔离命令,并在步骤304中,响 应于主机发出的隔离命令,隔离带驱动器IOI。正如这里使用的那样, 隔离数据存储驱动器(例如,带驱动器) 一般指的是防止数据存储驱 动器执行要求带移动的任何命令。在本发明的一个实施例中,按照标 准SCSI协议隔离带驱动器101。 一旦带驱动器IOI被隔离,它就不能 执行不仅由发出隔离命令的主机(例如,第一主机102a),而且由通 过通信链路103a和103b与带驱动器101连接的所有其它主机(例如, 第二主机102b)发出的要求带移动的任何命令。
注意到带驱动器101仍然通过通信链路103a和103b与第一和第 二计算机102a和102b连接是重要的,这样,带驱动器101仍然可以 根据对第一和第二主机102a和102b中的至少一个的查询,以及由第 一和第二主机102a和102b中的至少一个发出的不要求带移动的其它 命令提供健康状况数据。
图3的流程图的每个块、和描绘在后面的附图中的那些块可以 由一个模块(例如,软件模块)或一部分模块,或计算机系统用户执 行。因此,这里所述的方法、它们的操作、和完成这样方法的模块可 以在配置成执行该方法的操作的计算机系统上执行,和/或可以从计算 机可读介质中执行。该方法可以实施在将计算机系统配置成执行该 方法的机器可读和/或计算机可读介质中。软件模块可以存储在计算机
系统存储器中和/或发送到计算机系统存储器,以将计算机系统配置成 执行该模块的功能。可替代地,这样的动作可以实施在像复杂指令集
计算机(CISC)的微码、编程到可编程或可擦除/可编程器件中的固 件、现场可编程门阵列(FPGA)的配置、门阵列或全定制专用集成 电路(ASIC)的设计等的实现这样功能的电路的结构中。
本领域的普通技术人员还应该认识到,这里描绘的模块和操作之 间的界线只是例示性的,可替代实施例可以合并这样的模块或操作, 或对功能进行可替代分解。例如,可以将这里讨论的动作分解成要作 为多个计算机进程执行的子操作。此外,可替代实施例可以组合特定 操作或子操作的多个实例。更进一步,本领域的普通技术人员应该认 识到,在示范性实施例中所述的操作只是例示性的。按照本发明,可 以组合这些操作,或这些操作的功能可以分布在附加操作中。本领域 的普通技术人员还可以明显看出,这里所述的确定延迟和抖动的方法 可以应用其它技术(在效果上与这里所述的那些类似)作出这样的确 定,并且这样的可替代技术可以通过这里讨论的方法和装置理解。
在本发明的一个方面中,将隔离命令存储在带驱动器101内像 NVRAM、 EEPROM、 EPROM、 PROM、 FRAM、 MRAM、闪速存 储器、或磁泡存储器那样的非易失性存储器中。因此,当对驱动器的 供电以某种方式例如循环供电丧失时,隔离状态仍然保留在非易失性 存储器104中,因此,当对带驱动器循环供电时,隔离状态一直保持 着。本发明的这个方面可以防止不知道或不理解隔离驱动器的原因的 操作人员或某些人对驱动器循环供电因而消除隔离状态。正如本领域
的普通技术人员所知的那样,循环供电包含切断到驱动器的电力,然 后恢复电力。
在如图4所示的步骤401中,第一主机102a或第二主机102b向 通过如图3所示的方法隔离的隔离带驱动器101发出要求带移动的命 令。
在步骤402中,可以修理或替换带驱动器101,或可以进行其它 适当干预。如果在步骤402中已经修理或替换了带驱动器101,或已 经进行了一些其它适当干预,那么,如在步骤403中看到的那样,带 驱动器101接收命令并执行发出的命令和/或返回到正常工作状态。马 上修理或替换带驱动器101或进行一些其它适当干预,以便使带驱动 器101的有价值资源可以处于在线和工作状态是有利的。但是,并不 总是可以马上修理或替换隔离带驱动器101或对隔离带驱动器101进 行一些其它适当干预。
在步骤402中未修理或替换隔离带驱动器101或没有进行其它适 当干预的情况下,带驱动器101接收在步骤401中发出的命令。正如 在步骤404中看到的那样,响应于在步骤401中发出的命令,带驱动 器向发出命令的主机(例如,102a)返回一个消息,将隔离带驱动器 的状态通知该主机。
隔离带驱动器101继续被隔离,并返回将隔离状态通知给发送要 求带移动的命令的主机的消息,直到带驱动器101被修理或替换,或 进行了一些其它适当干预。隔离状态一直保持着,并以这种方式被所 有主机理解,直到带驱动器101被修理或替换,或进行了一些其它适 当千预。
虽然在本实施例中已经说明了所有主机具有相同的性能并且都 能监视驱动器,但在另一个实施例中,可以存在一个更智能的主机监 视驱动器,而其它主机专用于执行日常存储进程或读和/或写。
虽然图3和图4是针对隔离具有第一和第二主机102a, 102b的 数据存储库100中的数据存储驱动器101来描述的,但本领域的普通 技术人员应该认识到,可以不偏离本发明范围作出各种各样的修改,
图3和4的处理可以应用于包含多个主机102a、 102b.....102n (正
如在图2中看到的那样)的数据存储库。
并且,虽然上面的实施例是针对数据存储库来描述的,但本领域 的普通技术人员应该明白,数据存储驱动器101可以在库外,并且可 以是与一个或多个主机连接的独立驱动器。
附加实施例细节
所述的技术可以实现成涉及软件、固件、微码、硬件和/或它们
的任何组合的方法、系统或制品。这里使用的术语"制品,,指的是在介 质中实现的代码或逻辑,其中,这样的介质可以包含硬件逻辑单元(例
如,集成电路芯片、可编程门阵列(PGA)、专用集成电路(ASIC) 等)或如下的计算机可读介质磁存储介质(例如,硬盘驱动器、软 盘、磁带等)、光存储设备(CD-ROM、光盘等)、易失性或非易失 性存储器件(例如,电可擦除可编程只读存储器(EEPROM)、只读 存储器(ROM)、可编程只读存储器(PROM)、随机访问存储器 (RAM)、动态随机访问存储器(DRAM)、静态随机访问存储器 (SRAM)、闪速存储器、固件、可编程逻辑等)。计算机可读介质 中的代码由处理器访问和执行。代码或逻辑被编码的介质也可以包含 通过空间或诸如光纤、铜线等的传输介质传播的传输信号。代码或逻 辑被编码的传输信号可以进一步包含无线信号、卫星传输、无线电波、 红外信号、蓝牙等。代码或逻辑被编码的传输信号能够被发送台发送 和被接收台接收,其中,编码在传输信号中的代码或逻辑单元可以在 接收和发送台或设备上被解码和存储在硬件或计算机可读介质中。另 外,"制品"可以包含使代码被实施、处理和执行的硬件和软件组件的 组合。当然,本领域的普通技术人员应该认识到,可以不偏离本发明 范围作出各种各样的修改,制品可以包含任何信息承栽介质。例如, 制品包含其中存储了当被机器执行时导致操作被执行的指令的存储介 质。
某些实施例可以采取完全硬件实施例、完全软件实施例或包含硬 件和软件单元两者的实施例的形式。在优选实施例中,本发明以包括 但不局限于固件、常驻软件、微码等的软件形式实现。
更进一步,某些实施例可以采取可从计算机可用或计算机可读介 质访问的、提供可从供计算机或任何指令执行系统使用或与计算机或 任何指令执行系统结合在 一起使用的程序代码的计算机程序产品的形 式。就本描述而言,计算机可用或计算机可读介质可以是可以包含、 存储、传送、传播、或传输供指令执行系统、装置、或设备使用或与 指令执行系统、装置、或设备结合在一起使用的程序的任何装置。介
质可以是电子、磁、光、电磁、红外、或半导体系统(或装置或设备) 或传播介质。计算机可读介质的例子包括半导体或固态存储器、磁带、
可更换式计算机软盘、随机访问存储器(RAM )、只读存储器(ROM )、 硬磁盘和光盘。光盘的当前例子包括只读光盘存储器(CD-ROM)、 可读写光盘(CD-R/W)和DVD。
除非另有明确说明,术语"某些实施例"、"一个实施例"、"实施 例"、"多个实施例"、"该实施例"、"所述多个实施例"、"一个或多个 实施例"、或"一些实施例"都指一个或多个(但不是全部)实施例。除 非另有明确说明,术语"包括"、"包含"、"具有"和它们的变体都指"包 括但不限于"。除非另有明确说明,项目的枚举列出并不意味着任何或 全部项目相互排它。除非另有明确说明,术语"一个"和"该"指的是"一 个或多个"。
除非另有明确说明,相互通信的设备无需相互连续通信。另外, 相互通信的设备可以直接或通过一个或多个中介物间接通信。另外, 对几个部件相互通信的实施例的描述并不意味着需要所有这样的部 件。相反,描述各种可选部件是为了例示各种各样的可能实施例。
并且,尽管进程步骤、方法步骤、或算法等可以按顺序描述,但 这样的进程、方法和算法可以配置成以其他顺序工作。换句话说,描 述的任何步骤序列或顺序不一定表示要求按那个顺序执行步骤。这里 所述的进程步骤可以以任何可行顺序执行。并且, 一些步骤可以同时、 并行、或同步地执行。
当这里描述单个设备或物品时,显然,可以用多于一个设备/物 品(无论它们是否合作)替代单个设备/物品。类似地,当这里描述不 止一个设备或物品时,显然,可以用单个设备/物品替代该多于一个设 备/物品。可替代地,设备的功能和/或特征可以通过未明确描述成具 有这样功能/特征的一个或多个设备实施。因此,其它实施例无需包括 设备本身。
图5例示了可以实现某些实施例的系统500的方块图。在某些实 施例中,4象主机102a、 102b..... 102n那样的处理部件可以按照系统
500实现。系统500可以包括在某些实施例中可以包括处理器504的 电路502。系统500还可以包括存储器506(例如,易失性存储器件)、 和存储设备508。系统500的某些单元可能出现在或可能未出现在像 主机102a、 102b、…、102n那样的处理部件中。存储设备508可以包 括非易失性存储器件(例如,EEPROM、 ROM、 PROM、 RAM、 DRAM、 SRAM、闪速存储器、固件、可编程逻辑单元等)、磁盘驱动器、光 盘驱动器、带驱动器等。存储设备508可以包含内部存储设备、附属 存储设备和/或可网络访问存储设备。系统500可以包括编程逻辑510, 逻辑510包括可以装入存储器506中和由处理器504或电路502执行 的代码512。在某些实施例中,包括代码512的编程逻辑510可以存 储在存储设备508中。在某些其它实施例中,编程逻辑510可以在电 路502中实现。因此,虽然图5与其它单元分开地示出了编程逻辑510, 但编程逻辑510可以在存储器506和/或电路502中实现。
某些实施例可以针对通过将计算机可读代码并入计算系统中的 人为或自动处理部署计算指令的方法,其中,使与计算系统结合的代 码能够执行所述实施例的操作。
除了依次执行之外,例示在图3和4中的至少一些操作可以并行 地执行。在可替代实施例中,可以按不同顺序执行、修改或去除某些 操作。
更进一步,为了便于例示,以分立模块的形式描述了许多软件和 硬件组件。但是,这样的组件可以合并成数量更少的组件或划分成数 量更多的组件。另外,描述成由特定组件执行的某些操作也可以由其 它组件执行。
如图1-5所示或在图l-5中引用的数据结构和组件被描述成含 有特定类型的信息。在可替代实施例中,可以不同地构建数据结构和 组件,和使数据结构和组件具有比或与如图所示或在图中引用的那些 更少、更多或不同的字段或不同的功能。因此,前面对实施例的描述 是为了便于例示和描述给出的。它不应该是排它的或将实施例限制在 所公开的确切形式上。各种各样的修改和改变可以根据上面讲述的内
容作出。
本发明实现了隔离存储驱动器的方法,克服了现在技术的缺陷。 本发明提供了在带驱动器层对带驱动器的隔离,从而尽管主机可能使 用不同的软件,拥有不同的平台,或使用不同的语言,但与带驱动器 互连的所有主机都能理解这种隔离。因此,这种方法提供了防止隔离 驱动器执行来自所有主机的例如读和/或写的要求带移动的任何命令, 从而保护了有价值数据的优点。并且,本发明的方法防止了在对驱动 器循环供电时除去对驱动器的隔离,从而使隔离是持久的。最后,虽 然传统上只有带驱动器制造者或销售商才具有隔离带驱动器的能力, 但本发明赋予客户隔离带驱动器以及根据他们的需要确定什么时候隔 离带驱动器的能力。
虽然已经对本发明的特定实施例进行了图示和描述,但对于本领 域的普通技术人员来说,显而易见,可以根据这里讲述的内容作出各 种各样的修改和改变,而不偏离本发明和它的更宽方面,因此,在本 发明的精神和范围内,所附权利要求书在其范围内包含所有这样的改 变和修改。更进一步,应该明白,本发明只由所附权利要求书限定。
权利要求
1.一种用于隔离带驱动器的方法,所述带驱动器与第一主机和第二主机耦合,该方法包含所述带驱动器执行的下述步骤从所述第一主机接收隔离命令;从所述第二主机接收要求带移动的命令;和响应于从所述第二主机接收到要求带移动的所述命令,将一个消息发送给所述第二主机,将所述隔离带驱动器的隔离状态通知给所述第二主机。
2. 根据权利要求1所述的方法,进一步包含所述带驱动器执行 的下述步驟将所述隔离状态存储在非易失性存储器中。
3. 根据权利要求2所述的方法,其中,所述非易失性存储器是 NVRAM、 EEPROM、 EPROM、 PROM、 FRAM、 MRAM、闪速存 储器、或磁泡存储器中的任何一种。
4. 根据权利要求1所述的方法,其中,要求带移动的所述命令 是读命令和写命令之一 。
5. 根据权利要求l所述的方法,进一步包含 确定是否需要隔离所述带驱动器。
6. 根据权利要求5所述的方法,其中,所述确定通过利用所述 带驱动器的健康状况调查、所述带驱动器的查询、所述带驱动器的错 误状态返回、或安装或卸下所述带驱动器时的状态更新之一获取至少 一个参数来完成。
7. 根据权利要求6所述的方法,其中,所述至少一个参数是下 述之一所述带驱动器完成命令请求所花费的时间、所述带驱动器的 寿命、所述带驱动器已经工作的小时数、所述带驱动器内的温度、所 述带驱动器返回的错误数、所述带驱动器内的湿度、所述带驱动器的 超时次数、所述带驱动器内没有移动。
8. 根据权利要求6所述的方法,其中,所述至少一个参数是客户定义的参数。
9. 一种用于隔离带驱动器的系统,包含 带驱动器,被配置成与第一主机和第二主机耦合; 所述带驱动器被配置成从所述第一主机接收隔离命令; 所述带驱动器被配置成从所述第二主机接收要求带移动的命令; 响应于从所述第二主机接收到要求带移动的所述命令,所述带驱动器被配置成将所述隔离带驱动器的隔离状态通知给所述第二主机。
10. 根据权利要求9所述的系统,进一步包含所迷带驱动器被配置成将所述隔离状态存储在非易失性存储器中。
11. 根据权利要求10所述的系统,其中,所述非易失性存储器 是NVRAM、 EEPROM、 EPROM、 PROM、 FRAM、 MRAM、闪速 存储器、或磁泡存储器中的任何一种。
12. 根据权利要求9所述的系统,其中,要求带移动的所述命令 是读命令和写命令之一。
13. 根据权利要求9所述的系统,进一步包含 所述第 一主机被配置成确定是否需要隔离所述带驱动器。
14. 根据权利要求13所述的系统,其中,所述带驱动器被配置成通过利用所述带驱动器的健康状况调查、所述带驱动器的查询、 所述带驱动器的错误状态返回、或安装或卸下所述带驱动器时的状态 更新之一获取至少 一个参数完成所述确定。
15. 根据权利要求14所述的系统,其中,所述至少一个参数是 下述之一所述带驱动器完成命令请求所花费的时间、所述带驱动器 的寿命、所述带驱动器已经工作的小时数、所述带驱动器内的温度、 所述带驱动器返回的错误数、所述带驱动器内的湿度、所述带驱动器 的超时次数、所述带驱动器内没有移动。
16. 根据权利要求14所述的系统,其中,所述至少一个参数是 客户定义的参数。
17. —种用于隔离带驱动器的方法,所述带驱动器与至少一个主 机耦合,该方法包含所述带驱动器执行的下述步骤从所述第 一主机接收隔离命令;响应于从所述第一主机接收到隔离命令,将隔离状态存储在非易失性存储器中;从所述至少一个主机接收要求带移动的命令;和响应于从所述至少一个主机接收到要求带移动的所述命令,将一个消息发送给所述至少一个主机,将所述隔离带驱动器的隔离状态通知给所述至少一个主机。
18. 根据权利要求17所述的方法,其中,所述隔离状态在对所 述带驱动器循环供电之后一直保持。
19. 根据权利要求17所述的方法,其中,所述非易失性存储器 是NVRAM、 EEPROM、 EPROM、 PROM、 FRAM、 MRAM、闪速 存储器、或磁泡存储器中的任何一种。
20. —种用于隔离带驱动器的系统,包含 带驱动器,被配置成与至少一个主机耦合; 所述带驱动器被配置成从所述第一主机接收隔离命令; 响应于所述隔离命令,所述带驱动器被配置成将隔离状态存储在非易失性存储器中;所述带驱动器被配置成从所述至少一个主机接收要求带移动的 命令;和响应于从所述至少一个主机接收到要求带移动的所述命令,所述 带驱动器被配置成将一个消息发送给所述至少一个主机,将所述隔离 带驱动器的隔离状态通知给所述至少一个主机。
21. 根据权利要求20所述的系统,其中,所述带驱动器被配置 成将所述隔离状态存储在非易失性存储器中,使得所述隔离状态在对 所述带驱动器循环供电之后一直保持。
22. 根据权利要求20所述的系统,其中,所述非易失性存储器 是NVRAM、 EEPROM、 EPROM、 PROM、 FRAM、 MRAM、闪速 存储器、或磁泡存储器中的任何一种。
23. —种包含机器可读介质的计算机程序产品,所述机器可读介 质中包括实现隔离带驱动器的方法的机器可执行指令,所述带驱动器 与第一主机和第二主机耦合,所述机器可执行指令包含所述带驱动器 基于前面方法权利要求中的任何一种方法的步骤。
全文摘要
本发明公开了隔离带驱动器、使与带驱动器连接的所有主机都理解这种隔离的方法、系统、和计算机程序产品。带驱动器与第一和第二主机耦合。如果确定需要隔离带驱动器,由第一主机发送隔离命令。带驱动器接收隔离命令,并做出响应,隔离带驱动器。如果第二主机发送要求带移动的命令,带驱动器返还给第二主机一个消息,将隔离带驱动器的隔离状态通知给第二主机。并且,可以将隔离状态存储在非易失性存储器中,因此,当对带驱动器循环供电时,一直保持隔离状态。
文档编号G06F3/06GK101114208SQ20071010259
公开日2008年1月30日 申请日期2007年5月16日 优先权日2006年7月24日
发明者卡汉·维·恩果, 科琳娜·J.·谢里特, 章昕珩 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1