CN100511121C - 隔离带驱动器的方法和系统 - Google Patents

隔离带驱动器的方法和系统 Download PDF

Info

Publication number
CN100511121C
CN100511121C CNB2007101025970A CN200710102597A CN100511121C CN 100511121 C CN100511121 C CN 100511121C CN B2007101025970 A CNB2007101025970 A CN B2007101025970A CN 200710102597 A CN200710102597 A CN 200710102597A CN 100511121 C CN100511121 C CN 100511121C
Authority
CN
China
Prior art keywords
tape drive
host
command
tape
drive
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.)
Expired - Fee Related
Application number
CNB2007101025970A
Other languages
English (en)
Other versions
CN101114208A (zh
Inventor
章昕珩
卡汉·维·恩果
科琳娜·J.·谢里特
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.)
IBM China Co Ltd
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 CN101114208A publication Critical patent/CN101114208A/zh
Application granted granted Critical
Publication of CN100511121C publication Critical patent/CN100511121C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/004Error avoidance
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0787Storage of error reports, e.g. persistent data storage, storage using memory protection
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了隔离带驱动器、使与带驱动器连接的所有主机都理解这种隔离的方法、系统、和计算机程序产品。带驱动器与第一和第二主机耦合。如果确定需要隔离带驱动器,由第一主机发送隔离命令。带驱动器接收隔离命令,并做出响应,隔离带驱动器。如果第二主机发送要求带移动的命令,带驱动器返还给第二主机一个消息,将隔离带驱动器的隔离状态通知给第二主机。并且,可以将隔离状态存储在非易失性存储器中,因此,当对带驱动器循环供电时,一直保持隔离状态。

Description

隔离带驱动器的方法和系统
技术领域
本发明一般涉及带驱动器(tape drive)领域,更具体地,涉及隔离(fence)带驱动器的方法、系统和计算机程序产品。
背景技术
自动数据存储库为存储数据提供了方便和低成本的手段。自动数据存储库中的数据存储在存放在库内存储架等上的存储介质中。除了数据存储介质之外,自动数据存储库通常还包含数据存储驱动器,用于在读和/或写处理中向/从数据存储介质中存取数据/检索数据。包含在数据存储介质中的数据通常是有价值的数据(例如,个人数据、金融数据、商业数据等),因此,读和/或写处理的可靠性非常重要。
现有数据存储库的局限性之一是主机无法将在其正常阈值之外工作的数据存储驱动器与连接到数据存储库的所有主机隔离(fence)。正如这里使用的那样,隔离数据存储驱动器一般指的是防止数据存储驱动器执行要求带移动的任何命令,包括,例如,读命令和写命令。如果未对驱动器进行隔离以防止所有主机访问,另一台主机可能向驱动器发出像读和/或写命令那样的要求带移动的命令。如果驱动器执行像读和/或写命令那样的要求带移动的命令,它们可能变得不可靠,从而危害有价值的数据。
此外,已知隔离技术存在的另一个问题是,在主机层上形成的隔离不能被与数据存储库连接的所有主机识别。
最后,在已知隔离技术中,将隔离状态存储在易失性存储器中,因此,隔离状态可能随供电循环(切断到驱动器的电力,然后恢复电力)而被擦除。因此,不明白隔离原因的操作人员有可能对数据存储驱动器循环供电,因此消除了隔离状态。所涉及的新的未隔离驱动器将可以用于执行像读和/或写那样的要求带移动的命令,从而可能危害有价值的数据。
发明内容
人们发现,通过在驱动器层上提供隔离,尽管主机可能使用不同的软件,拥有不同的平台,或使用不同的语言,但与带驱动器互连的所有主机都能理解这种隔离。因此,防止隔离驱动器执行来自所有主机的像读和/或写那样的要求带移动的命令,从而保护了有价值的数据。于是,本发明的一个实施例提供了一种系统、方法、和计算机程序产品。使带驱动器与第一和第二主机耦合。如果确定由于例如带驱动器在其正常参数之外工作,需要隔离带驱动器,由第一主机发送隔离命令。带驱动器接收隔离命令,并做出响应,隔离带驱动器。如果第二主机为带驱动器发送要求带移动的命令,带驱动器返还给第二主机一个消息,将隔离带驱动器的隔离状态通知给第二主机。此外,可以将隔离状态存储在非易失性存储器中,因此,当对带驱动器循环供电时,隔离状态一直保持着。
主机可以通过如下手段之一监视或检验至少一个参数,确定带驱动器在其正常阈值之外工作和带驱动器需要被隔离:带驱动器的健康状况调查、带驱动器的查询、带驱动器的错误状态返回、或安装或卸下时带驱动器的状态更新。可以监视或检验的参数包括带驱动器完成命令请求所花费的时间、带驱动器的寿命、带驱动器已经工作的小时数、带驱动器内的温度、带驱动器返回的错误数、带驱动器内的湿度、带驱动器的超时数、或带驱动器内没有移动。这些参数和每个参数的范围可以由客户定义。
为了更详细地了解所公开的发明,下面结合附图进行如下详细描述。
附图说明
图1是例示包含两个主机的数据存储库的方块图;
图2是例示与多个主机耦合的数据存储库的方块图;
图3是例示按照本发明一个实施例的隔离方法的流程图;
图4是例示按照本发明另一个实施例的隔离方法的流程图;和
图5是例示实现某些实施例的系统的方块图。
具体实施方式
下文旨在提供对本发明例子的详细描述,不应该认为是对本发明本身的限制。相反,各种各样的变化都在定义在所附权利要求书中的本发明的范围之内。
图1例示了数据存储库100的一个实施例。数据存储库100包含数据存储介质(未示出),数据存储介质以对于像读和/或写操作那样的物理检索和带移动操作,允许介质和介质上的数据可被访问的方式存放在数据存储库100内的存储架(未示出)等上。数据存储介质可以包含可以存储数据和可以用作可更换式介质的任何类型介质,包括,但不局限于,磁介质(例如磁带或磁盘)、光介质(例如光带或光盘)、电介质(例如PROM、EEPROM、闪速PROM、MRAM、基于MEMS的存储器、CompactflashTM、SmartmediaTM、Memory StickTM等)、或其它适用介质。通常,存储在数据存储库100内的数据存储介质上的数据包含在盒子内,被称为数据存储介质盒。对于大容量数据存储器,广泛应用在自动数据存储库中的数据存储介质盒的例子是磁带盒。
数据存储库100包括一个或多个数据存储驱动器,在所示的例子中,包含一个数据存储驱动器101。数据存储驱动器执行要求带移动的命令,包括读和/或写操作,数据存储介质盒处在库100内。数据存储驱动器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
Figure C200710102597D0009082330QIETU
、AIX
Figure C200710102597D0009082330QIETU
、Unix
Figure C200710102597D0009082330QIETU
、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将数据供应给数据存储库100,以便存储在盒中,并将请求发送到库100,以便从盒中检索数据。像主机服务器那样的主机系统可以直接(例如,在通信链路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
Figure C200710102597D0009082330QIETU
、AIX
Figure C200710102597D0009082330QIETU
、Unix
Figure C200710102597D0009082330QIETU
、MVSTM等那样的操作系统。多个主机202a、202b、...、202n还可以与接口和主机目录(未示出)耦合。接口使多个主机202a、202b、...、202n能够与操作人员交换信息,并可以包含控制面板、视频监视器、计算机键盘/鼠标、或其它适当人机接口。
多个主机202a、202b、...、202n利用“位置中心”命令管理数据存储库200中的数据,并且作为例子,可以使用小型计算机系统接口(“SCSI”)介质改变器协议。
操作
本发明的一个实施例被描述成实施在用在数据处理环境中的磁带存储系统中。但是,本领域的普通技术人员应该认识到,本发明同样可应用于光盘盒或其它可更换式存储介质,并且使用不同类型的盒或具有不同特性的相同类型的盒。更进一步,对磁带存储系统的描述并不意味着使本发明局限于磁带数据处理应用,相反,这里的发明总的来说可应用于任何介质存储器和盒式系统。
图3是例示实现本发明实施例的步骤的流程图。在步骤301中,第一或第二主机102a,102b(就本例而言,第一主机102a)检验数据存储驱动器101(例如,带驱动器,下文称为带驱动器101)的环境或操作,以确定驱动器在其正常阈值之外工作和是否需要隔离带驱动器。
带驱动器101可以具有某些操作参数,每个参数具有预定范围。在本发明的一个实施例中,客户可以确定要监视或检验的参数。此外,客户可以为每个参数定义预定范围。可选地,在本发明的另一个实施例中,参数和参数的预定范围可以由带驱动器101的制造者定义。在又一个实施例中,这两种选择都可以存在。当带驱动器101在一个或多个参数的预定范围之外工作时,那么,带驱动器被认为在其正常阈值之外工作。
第一或第二主机102a,102b可以以许多种方式检验或监视带驱动器101的环境,以确定驱动器是否在其正常阈值之外工作。例如,主机(例如,102a)可以检验或监视驱动器,随后,通过向带驱动器101请求健康状况调查、查询带驱动器101、或通过安装或卸下时带驱动器的状态设置更新,确定驱动器是否在正常阈值内工作。
在检验带驱动器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%,应该隔离带驱动器101。另外,在另一个例子中,客户可以定义带驱动器101内的预定工作湿度。例如,客户可以确定如果超过25%,则应该隔离带驱动器101。
通过让客户独立地定义和配置隔离阈值,客户可以根据他们自己对可能的不可靠数据的容忍度调整设置。应该注意到,上面定义的预定范围只是示范性的,可以由每个单独客户定义以适应他们各自的需要。
在步骤302中,如果带驱动器101在其正常阈值内工作并确定不需要隔离带驱动器101,那么,带驱动器101继续正常工作和/或带驱动器101在步骤301中的检验之前进行的工作。
在步骤303中,如果主机(例如,第一主机102a)确定带驱动器101需要隔离,正如在步骤303中看到的那样,主机103a发出隔离带驱动器101的命令。隔离命令可以通过模式选择命令或发送诊断命令,或如本领域的普通技术人员理解的可以在驱动器上形成设置的任何其它适当命令完成。带驱动器101接收隔离命令,并在步骤304中,响应于主机发出的隔离命令,隔离带驱动器101。正如这里使用的那样,隔离数据存储驱动器(例如,带驱动器)一般指的是防止数据存储驱动器执行要求带移动的任何命令。在本发明的一个实施例中,按照标准SCSI协议隔离带驱动器101。一旦带驱动器101被隔离,它就不能执行不仅由发出隔离命令的主机(例如,第一主机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的方块图。在某些实施例中,像主机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所示或在图1-5中引用的数据结构和组件被描述成含有特定类型的信息。在可替代实施例中,可以不同地构建数据结构和组件,和使数据结构和组件具有比或与如图所示或在图中引用的那些更少、更多或不同的字段或不同的功能。因此,前面对实施例的描述是为了便于例示和描述给出的。它不应该是排它的或将实施例限制在所公开的确切形式上。各种各样的修改和改变可以根据上面讲述的内容作出。
本发明实现了隔离存储驱动器的方法,克服了现在技术的缺陷。本发明提供了在带驱动器层对带驱动器的隔离,从而尽管主机可能使用不同的软件,拥有不同的平台,或使用不同的语言,但与带驱动器互连的所有主机都能理解这种隔离。因此,这种方法提供了防止隔离驱动器执行来自所有主机的例如读和/或写的要求带移动的任何命令,从而保护了有价值数据的优点。并且,本发明的方法防止了在对驱动器循环供电时除去对驱动器的隔离,从而使隔离是持久的。最后,虽然传统上只有带驱动器制造者或销售商才具有隔离带驱动器的能力,但本发明赋予客户隔离带驱动器以及根据他们的需要确定什么时候隔离带驱动器的能力。
虽然已经对本发明的特定实施例进行了图示和描述,但对于本领域的普通技术人员来说,显而易见,可以根据这里讲述的内容作出各种各样的修改和改变,而不偏离本发明和它的更宽方面,因此,在本发明的精神和范围内,所附权利要求书在其范围内包含所有这样的改变和修改。更进一步,应该明白,本发明只由所附权利要求书限定。

Claims (22)

1.一种用于隔离带驱动器的方法,所述带驱动器与第一主机和第二主机耦合,该方法包含所述带驱动器执行的下述步骤:
从所述第一主机接收隔离命令;
响应于从所述第一主机接收的隔离命令,隔离所述带驱动器;
从所述第二主机接收要求带移动的命令;和
响应于从所述第二主机接收到要求带移动的所述命令,将一个消息发送给所述第二主机,将所述隔离带驱动器的隔离状态通知给所述第二主机。
2.根据权利要求1所述的方法,进一步包含所述带驱动器执行的下述步骤:
将所述隔离状态存储在非易失性存储器中。
3.根据权利要求2所述的方法,其中,所述非易失性存储器是NVRAM、EEPROM、EPROM、PROM、FRAM、MRAM、闪速存储器、或磁泡存储器中的任何一种。
4.根据权利要求1所述的方法,其中,要求带移动的所述命令是读命令和写命令之一。
5.根据权利要求1所述的方法,进一步包含:
确定是否需要隔离所述带驱动器。
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、闪速存储器、或磁泡存储器中的任何一种。
CNB2007101025970A 2006-07-24 2007-05-16 隔离带驱动器的方法和系统 Expired - Fee Related CN100511121C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/459,623 US20080022157A1 (en) 2006-07-24 2006-07-24 'isolating a tape drive from communication'
US11/459,623 2006-07-24

Publications (2)

Publication Number Publication Date
CN101114208A CN101114208A (zh) 2008-01-30
CN100511121C true CN100511121C (zh) 2009-07-08

Family

ID=38972772

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2007101025970A Expired - Fee Related CN100511121C (zh) 2006-07-24 2007-05-16 隔离带驱动器的方法和系统

Country Status (2)

Country Link
US (1) US20080022157A1 (zh)
CN (1) CN100511121C (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8090978B2 (en) * 2009-05-25 2012-01-03 International Business Machines Corporation Protection of data on failing storage devices
US11500545B2 (en) * 2020-01-02 2022-11-15 International Business Machines Corporation Adaptive tape library and humidity-based drive operations
US11341994B1 (en) * 2021-05-26 2022-05-24 Quantum Corporation Tape library system with integrated, feedback-based environmental and data durability control

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0402960A2 (en) * 1985-07-15 1990-12-19 Allen-Bradley Company, Inc. Disc drive isolation system
CN1539100A (zh) * 2001-08-08 2004-10-20 �Ҵ���˾ 计算机系统中用于访问磁带设备的方法和系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5996075A (en) * 1995-11-02 1999-11-30 Sun Microsystems, Inc. Method and apparatus for reliable disk fencing in a multicomputer system
US6192483B1 (en) * 1997-10-21 2001-02-20 Sun Microsystems, Inc. Data integrity and availability in a distributed computer system
US6487562B1 (en) * 1999-12-20 2002-11-26 Emc Corporation Dynamically modifying system parameters in data storage system
US6715050B2 (en) * 2001-05-31 2004-03-30 Oracle International Corporation Storage access keys
US6751681B2 (en) * 2001-06-18 2004-06-15 Sony Corporation System and method for providing automatic firmware updates and diagnostics for network attached storage devices
US7007152B2 (en) * 2001-12-28 2006-02-28 Storage Technology Corporation Volume translation apparatus and method
US7254736B2 (en) * 2002-12-18 2007-08-07 Veritas Operating Corporation Systems and method providing input/output fencing in shared storage environments
US7389379B1 (en) * 2005-04-25 2008-06-17 Network Appliance, Inc. Selective disk offlining

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0402960A2 (en) * 1985-07-15 1990-12-19 Allen-Bradley Company, Inc. Disc drive isolation system
CN1539100A (zh) * 2001-08-08 2004-10-20 �Ҵ���˾ 计算机系统中用于访问磁带设备的方法和系统

Also Published As

Publication number Publication date
US20080022157A1 (en) 2008-01-24
CN101114208A (zh) 2008-01-30

Similar Documents

Publication Publication Date Title
JP4963123B2 (ja) 記憶アレイを再設定する装置及び方法
US20090006904A1 (en) Apparatus and method to check data integrity when handling data
US20090164714A1 (en) Method and apparatus for analyzing a mass data storage device, such as for troubleshooting a cartridge tape drive
US8707076B2 (en) System and method for power management of storage resources
US20080294857A1 (en) Disk storage management of a tape library with data backup and recovery
US20050091369A1 (en) Method and apparatus for monitoring data storage devices
US20070113006A1 (en) Apparatus and method to configure one or more storage arrays
US8725945B2 (en) Method and system for governing an enterprise level green storage system drive technique
US20040103246A1 (en) Increased data availability with SMART drives
CN101154410A (zh) 用于跟踪与数据存储驱动有关的错误事件的方法和系统
US20050041453A1 (en) Method and apparatus for reading and writing to solid-state memory
JP4464956B2 (ja) 分散システム内のバックアップ・ファームウェア
US7913117B2 (en) Providing removable storage management services using removable storage error information
US8108732B2 (en) Apparatus and method to minimize performance degradation during communication path failure in a data processing system
US7321960B2 (en) Apparatus and method to adjust data transfer rate
JP2008269105A (ja) 記憶制御装置および記憶制御方法
CN101256471A (zh) 数据阵列选择的方法和系统
US20090044047A1 (en) Accessing removable storage management services to obtain replacement instructions indicating whether to replace removable storage
US8346721B2 (en) Apparatus and method to replicate remote virtual volumes to local physical volumes
CN101136940B (zh) 用于备份分层结构存储池的方法和系统
US20110083034A1 (en) Restoring data to a distributed storage node
US7992072B2 (en) Management of redundancy in data arrays
CN101114208A (zh) 隔离带驱动器的方法和系统
US7769849B2 (en) Method for detecting changes in a storage area network without external tools and hardware
KR102659829B1 (ko) Raid 동작을 제어하는 방법 및 시스템

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
ASS Succession or assignment of patent right

Owner name: IBM (CHINA) CO., LTD.

Free format text: FORMER OWNER: INTERNATIONAL BUSINESS MACHINES CORP.

Effective date: 20101101

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: NEW YORK, UNITED STATES TO: 201203 7/F, BUILDING 10, ZHANGJIANG INNOVATION PARK, NO.399, KEYUAN ROAD, ZHANGJIANG HIGH-TECH PARK, PUDONG NEW DISTRICT, SHANGHAI, CHINA

TR01 Transfer of patent right

Effective date of registration: 20101101

Address after: 201203 Chinese Shanghai Pudong New Area Zhang Jiang high tech Park Keyuan Road No. 399 Zhang Jiang Innovation Park Building No. 10 7 floor

Patentee after: International Business Machines (China) Co., Ltd.

Address before: American New York

Patentee before: International Business Machines Corp.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090708

Termination date: 20170516