CN102985914A - 通过端口共享硬件对存储设备的带外访问 - Google Patents
通过端口共享硬件对存储设备的带外访问 Download PDFInfo
- Publication number
- CN102985914A CN102985914A CN2011800343330A CN201180034333A CN102985914A CN 102985914 A CN102985914 A CN 102985914A CN 2011800343330 A CN2011800343330 A CN 2011800343330A CN 201180034333 A CN201180034333 A CN 201180034333A CN 102985914 A CN102985914 A CN 102985914A
- Authority
- CN
- China
- Prior art keywords
- order
- carry out
- controller interface
- operating system
- situation
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0617—Improving the reliability of storage systems in relation to availability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
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)
- Storage Device Security (AREA)
- Stored Programmes (AREA)
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
用于通过端口共享硬件实现对存储设备的带外访问的方法、装置、系统和计算机程序产品。提供对存储设备的带外访问使得系统管理功能能在操作系统不起作用时以及在操作系统活动时被执行。通过管理服务引发的存储命令可与由主机操作系统发出的存储命令进行交错。主机操作系统维护对其存储设备的所有权和控制,但是可在主机操作系统操作时执行管理活动。
Description
版权声明
本文中包含受到版权保护的材料。版权所有者对于任何人对其专利公开内容(如专利和商标局专利文件或记录所呈现)的传真复制没有任何异议,但保留其他一切权利。
技术领域
本公开一般涉及对企业和客户端/服务器计算环境的管理。
背景
诸如数据备份和恢复、防病毒扫描、盘修复、恶意软件(malware)的移除等等的在线存储服务在当前可广泛地由客户端计算机通过与其上安装有存储工具的远程网络服务器的通信而得到。客户端计算机与远程服务器之间的通信通常是使用安装在客户端计算机上的软件代理来建立的。然而,此类软件代理并非总是易于安装,并且可能因客户端计算机上的病毒或恶意软件而关闭或受感染。
而且,当前在线存储服务和软件代理依赖于客户端计算机的操作系统。因而,在在线存储服务可被提供之前,操作系统必须被预设(provision)到客户端系统。此外,当操作系统受损害或瘫痪时,远程服务器将丧失访问客户端计算机的大容量存储的机会,并且无法向客户端计算机提供在线存储服务。
附图简述
图1是根据本发明的一个实施例的被配置成通过端口共享硬件实现对存储设备的带外访问的系统的框图。
图2是根据本发明的一个实施例的用于实现对存储设备的带外访问的端口共享硬件和相关联固件的操作的流程图。
详细描述
本发明的实施例可提供用于通过端口共享硬件实现对存储设备的带外访问的方法、装置、系统和计算机程序产品。提供对存储设备的带外访问使得系统管理功能能在操作系统不起作用时以及在操作系统活动时被执行。通过管理服务引发的存储命令可与由主机操作系统发出的存储命令进行交错。主机操作系统维护对其存储设备的所有权和控制,但是本发明允许在主机操作系统操作时执行管理活动。
在一个实施例中,方法包括:经由主机控制器接口接收访问存储设备的第一命令;经由带外控制器接口接收访问存储设备的第二命令;在执行第一命令之后,确定存储设备的预期状况;确定执行第二命令是否将干扰预期状况;以及如果执行第二命令将不干扰预期状况,则在执行第二命令之前执行第一命令,其中第二命令是在不涉及主机操作系统的情况下被执行的。如果执行所述第二命令将干扰所述预期状况,则该方法还可包括取消第二命令并执行第一命令;延迟第二命令直至达到存储设备的所需状况,在达到存储设备的所需状况时执行第一命令并执行第二命令;和/或确定在执行第二命令之后恢复预期状况的第三命令,并且执行第一命令、第二命令、以及第三命令,同时延迟发信号通知第一命令的完成直至第三命令已被执行之后。在一个实施例中,在第一和第二命令被接收时且在第一和第二命令被执行的同时,主机操作系统是活动的。该方法还可包括:将第一命令放入与主机控制器接口相关联的第一存储器;保护第一存储器使其免于经由带外控制器接口的访问;将第二命令放入与带外控制器接口相关联的第二存储器;以及保护第二存储器使其免于经由主机操作系统和主机控制器接口的访问。还提供了用于执行该方法的系统以及带有用于执行该方法的指令的计算机程序产品。
在本说明书中对本发明的“一个实施例”或“实施例”的引用意味着结合该实施例描述的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在贯穿本说明书的各个地方,短语“在一个实施例中”或“根据一个实施例”等的出现不一定都指代同一实施例。
为了解释的目的,阐述了特定配置和细节,以便提供对本发明的全面理解。然而,对于本领域的普通技术人员显然易见的是没有本文介绍的特定细节也可实施本发明的实施例。此外,可省略或简化公知的特征以免使本发明晦涩。可贯穿说明书给出各示例。它们仅仅是本发明的特定实施例的描述。本发明的范围不限于给出的示例。
本文中的存储设备包括但不限于操作系统映像至客户端计算机的初始预测、数据备份和恢复、盘修复、防病毒扫描和恶意软件移除、安全性系统的安装、以及系统性能优化。
术语“带外”在本文中用于描述独立于主流(main stream)的通信,诸如服务器设备与客户端设备的管理模块之间的独立于客户端设备的操作系统(OS)进行的通信。
图1是根据本发明的一个实施例的被配置成通过端口共享硬件实现对存储设备的带外访问的系统100的框图。迷你高级主控制器接口(Mini-advanced hostcontroller interface:AHCI)110表示带外控制器接口,该带外控制器接口与主机AHCI120共享端口102(各自被标示为端口0至5)。系统100的主机操作系统106不能访问迷你AHCI110,而主机操作系统106能访问主机AHCI120。迷你AHCI110提供远程存储管理服务108对系统100的存储设备160A到160F的访问,远程存储管理服务108经由网络连接109向系统100提供存储服务。由迷你AHCI110提供的访问是独立于主机操作系统106并且没有该操作系统的帮助下被提供的。主机AHCI120提供主机操作系统106对系统100的存储设备160A到160F的访问。主机AHCI120还提供对端口104(各自被标示为端口6和7)的访问,以向主机操作系统提供对非易失性存储器136的访问。
当经由迷你AHCI110发出存储命令时,迷你AHCI110将命令信息放入固件表112,该固件表被存储在为处理管理命令而留出的存储器ME UMA134中。命令信息将包含针对数据的命令以及指向该数据的指针,命令将在该数据上进行操作。这些数据指针将被转换成存储设备160A到160F可访问的页。迷你AHCI110发信号通知命令处理块140:命令已被放入存储器中。存储器ME UMA134包含用于六个共享端口102(各自被标示为端口0到5)中的每一个的一个槽(slot),由此允许针对每个端口处理一个管理命令。存储在存储器ME UMA134中的固件表112不能被主机操作系统106访问,并且仅可经由迷你AHCI接口110来访问。
当由主机操作系统经由主机AHCI120发出存储命令时,主机AHCI120将命令信息放入存储在主机存储器132位置中的主机表122里。命令信息将包含针对数据的命令数据以及指向该数据的指针两者,命令将在该数据上进行操作。这些数据指针将被转换成存储设备160A到160F可访问的页。主机AHCI120发信号通知命令处理块140:命令已被放入存储器中。主机存储器132包含用于八个端口102和104(各自被标示为共享端口0到5以及NVM端口6和7)中的每一个的32个槽,由此允许针对每个端口处理32个命令。存储在主机存储器132中的主机表122可由主机操作系统106经由主机AHCI120来访问,但是不能经由迷你AHCI接口110来访问。经由芯片组硬件来保护存储器ME UMA134使其免于经由主机AHCI120的访问,并且同样地经由芯片组硬件来保护主机存储器132使其免于经由迷你AHCI接口110的访问。如果存储器参考地址对于相应接口而言是范围之外的,则硬件丢弃对参考存储器的请求。
命令处理块140包含取得和定序器块142,该取得和定序器块从指定存储器位置(对于管理发起命令而言是ME UMA134,而对于主机发起命令而言是主机存储器132)取得命令。当接收到指示命令已被放入存储器位置的信号时,取得和定序器块142从主机存储器132或ME UMA存储器134取得命令信息。执行块144执行命令,而DMA块146将直接存储器访问命令放入事务循环缓冲器148用于执行。
取得和定序器块142基于从其处接收命令信号的控制器(迷你AHCI110或主机AHCI120)从恰当的命令表取得命令。信息通过DMA块146经由DMA转移被转移到事务循环缓冲器148(基于硬件的队列)的头部中。在DMA转移在进行中的同时,ATA命令过滤器块170检查命令信息以便设置事务缓冲器条目的标志和IO标签字段,该事务缓冲器条目根据表150来格式化并且在以下进一步详细地描述。在由ATA命令过滤器块170进行ATA命令检查期间,对照唯一ATA命令标识符来参考查找表180。当在所请求的主机命令与查找表180中的条目之间作出命令标识符匹配时,根据对应于此命令标识符的查找表数据来设置事务缓冲器条目150的标志字段。
一旦将条目放入事务循环缓冲器148,就向执行块144发送信号通知从事务信号缓冲器148的尾部执行命令。在向设备160A-F中的一个发送命令信息之前,执行块144检查其将执行的事务循环缓冲器148条目的标志字段。如果中断下一命令比特被设置,则执行单元144将设置内部标志以在从事务循环缓冲器148执行下一命令时中断管理服务108。如果在执行前中断比特被设置,则执行单元144将中断管理服务108以作出判定,并且一旦执行单元144接收到可继续执行的信号,就继续执行,由此允许管理服务108有时间作出判定。
一旦执行单元144确定向设备160A-F中的一个发送命令可接受,则执行单元144发信号通知事务循环缓冲器条目150的CFIS字段从事务循环缓冲器148至设备的DMA。一旦设备完成命令,通常可能直接转到主机AHCI120控制器的所有状况改变和响应信息现在转回到事务循环缓冲器148。如果对于正在被执行的命令,在完成前中断比特被设置在事务循环缓冲器条目150的标识字段中,则执行块144将中断管理服务108以检查完成信息。一旦管理服务108结束检查完成信息,管理服务108就向执行单元144发信号,并且执行单元144执行完成信息和状况返回到主机AHCI控制器120的DMA转移。
事务循环缓冲器条目是根据表150来格式化的。在所示的实施例中,每个事务循环缓冲器条目包含20个双字。事务循环缓冲器的总存储器需求因此是每个端口240字节,对于六个共享端口是总共1.4千字节。在另一实施例中,针对两个非共享端口,存储器也被分配给事务循环缓冲器,由此向所有八个端口分配存储器。在事务循环缓冲器条目格式的第一双字中,比特00至07指示命令是由主机经由主机AHCI120还是由管理服务108经由迷你AHCI110发起的。比特08至15被用于特殊标志,诸如比特8指示中断将在执行命令之前生成;比特9指示中断将在发信号通知命令完成之前生成;而比特10指示中断将在处理下一命令之前生成。比特10实现对下一命令的检查,以使得可在改变设备的状况之前标识可能影响设备的状态的两个或更多个命令的序列。保留比特16至31。
事务循环缓冲器条目格式的第二双字被用于命令参数,十六个双字被用于命令固件信息结构(CFIS,类似于用在AHCI规范中的CFIS),并且两个双字被用于命令完成参数。
ATA命令过滤器块170被命令处理块140用来检查命令以确定附加管理处理是否是必需的。命令处理块140的操作在以下参照图2进一步进行描述。
再次参看图1,当平台100被完全上电时,称为上存储器区(UMA)的存储器部分——ME-UMA134——可用于管理处理以及供迷你AHCI110使用。由于由基本输入输出系统(BIOS)在系统初始化时配置的存储器隔离机制,主机操作系统106一般不能访问ME-UMA134。此存储器隔离机制在主机操作系统106运行之前锁定对ME-UMA存储器134的访问。通过从主机操作系统106隔离此存储器部分来供管理服务108使用,保护管理处理的完整性使其免于可能影响主机操作系统106的病毒或其他恶意软件。
图2是根据本发明的一个实施例的用于实现对存储设备的带外访问的端口共享硬件和相关联固件的操作的流程图。图2的步骤在本文中被描述为由图1的命令处理模块140的组件来执行。在“接收与命令相关信号”步骤205中,命令处理模块140经由迷你AHCI110或主机AHCI120来接收信号:命令信息已被放入主机存储器132的主机表122中或ME UMA134里的固件表112中。控制行进至“管理还是主机发起的命令?”判定点210,在那里作出命令是由管理服务108还是主机操作系统106发起的判定。如果命令是由主机操作系统106发起的,则控制行进至“检查命令”步骤215,在那里,从主机存储器132中的主机表122检索命令信息。检查命令以确定是否需要附加管理处理。例如,用于将数据存储在存储设备上的简单读取/写入命令可能不需要附加管理处理,而用于使存储设备进入空闲状态的命令将需要附加管理处理来确保任何后继管理命令在完成之际将使该设备返回到空闲状态。控制从“检查命令”步骤215行进至“需要管理处理?”判定点215,以作出是否需要管理处理的确定。如果在“需要管理处理?”判定点220处不需要管理处理,——如在关于简单读取/写入命令的情形中,则控制行进至“处理主机命令”步骤230,在那里,执行主机命令。在执行主机命令之后,处理主机命令完成,并且过程结束。
在“需要管理处理?”判定点220处,如果需要管理处理,则控制行进至“确定所需附加管理处理的类型”步骤240。在其中设备的状况因主机命令而改变的情形中,命令处理模块140可导致在主机命令完成之际发生附加管理处理。例如,在将主机命令放入事务循环缓冲器140中以确保在发信号通知对主机命令的处理已完成之前生成中断时,命令处理模块140可设置标志。作为另一示例,如果主机命令已重置存储设备,则命令处理模块140可取消任何未决管理命令。
在“管理还是主机发起的命令?”判定点210处,如果命令是由管理服务108经由迷你AHCI110发起的,则控制行进至“未解决的主机命令?”判定点250。如果没有主机命令等待执行,则控制行进至“处理管理命令”判定点265,在那里,执行管理命令。在执行管理命令之后,处理命令完成,并且过程结束。
在“未解决的主机命令?”判定点250,如果主机命令等待执行,则控制行进至“允许完成主机命令”步骤255。队列中待执行的所有主机命令被允许在进一步处理管理命令之前完成。管理命令的执行中的这种延迟允许存储设备在对存储设备执行管理服务之前达到稳定状态。
控制从“允许完成主机命令”步骤255行进至“给定设备状态下管理命令仍有效?”判定点260。由未解决的主机命令执行的操作已将存储设备置入在此阶段执行管理命令将无效的状态是可能的。例如,主机发起的命令可能已重置存储设备,以使得不再需要附加管理命令。如果管理命令在被执行的情况下将无效,则控制行进至“确定所需附加管理处理的类型”步骤240。例如,可能需要导致对不同管理命令进行排队来执行。替换地,可能不需要附加管理命令,但是可能导致取消而非执行未决管理命令。此外,可能需要通过设置标志来控制命令的执行的流程,诸如用于导致在执行之前检查下一命令的标志、用于在发信号通知处理命令完成之前需要中断的标志、或用于在执行命令之后需要中断的标志。
在“给定设备状态下管理命令仍有效?”判定点260,如果管理命令保持有效,则控制行进至“处理管理命令”步骤265。执行管理命令,并且处理命令完成。
正如本文所使用的,术语“处理系统”和“数据处理系统”旨在广泛地包含单个机器或在一起操作的通信耦合的机器或设备的系统。示例处理系统包括但不限于分布式计算系统、超级计算机、高性能计算系统、计算群、大型计算机、迷你计算机、客户-服务器系统、个人计算机、工作站、服务器、便携式计算机、膝上型计算机、平板计算机、电话、个人数字助理(PDA)、手持设备、诸如听觉和/或视频设备之类的娱乐设备以及用于处理或发送信息的其它设备。
图1的平台100可至少部分地由来自诸如键盘、鼠标等常规输入设备的输入来控制和/或由接收自另一个机器、生物测定反馈或其它输入源或信号的命令来控制。平台100可利用至一个或多个远程数据处理系统(未示出)的一个或多个连接,诸如通过网络接口控制器(NIC)、调制解调器或其它通信端口或耦合。
平台100可通过诸如局域网(LAN)、广域网(WAN)、以太网、因特网等物理和/或逻辑网络互连到其它处理系统(未示出)。涉及网络的通信可利用各种有线和/或无线短程或长程载波和协议,包括射频(RF)、卫星、微波、电气与电子工程师协会(IEEE)802.11、蓝牙、光、红外、电缆、激光等。
本文中公开的机构的实施例可按照硬件、软件、固件或此类实现方法的组合来实现。本发明的实施例可被实现为在包括至少一个处理器、数据储存器系统(包括易失性和非易失性存储器和/或储存元件)、至少一个输入设备以及至少一个输出设备的可编程系统上执行的计算机程序。
可将程序代码施加到输入数据以执行本文所述的功能并生成输出信息。本发明的实施例还可包括机器可访问介质,该机器可访问介质包含用于执行本发明的操作的指令,或包含限定本文中描述的结构、电路、装置、处理器和/或系统特征的诸如HDL之类的设计数据。此类实施例也可被称为程序产品。
此类机器可访问存储介质可包括但不限于通过机器或设备制造或形成的粒子的有形排列,包括存储介质,诸如:硬盘;包括软盘、光盘、压缩盘只读存储器(CD-ROM)、可重写压缩盘(CD-RW)以及磁光盘的任何其它类型的盘;诸如只读存储器(ROM)之类的半导体器件;诸如动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)之类的随机存取存储器(RAM);可擦除可编程只读存储器(EPROM);闪存可编程存储器(FLASH);电可擦除可编程只读存储器(EEPROM);磁卡或光卡;或适于存储电子指令的任何其它类型的介质。
可按照已知方式将输出信息应用于一个或多个输出设备。为了此应用的目的,处理系统包括具有诸如例如数字信号处理器(DSP)、微控制器、专用集成电路(ASIC)或微处理器之类的处理器的任意系统。
程序可按照高级面向过程或面向对象的编程语言来实现,以与处理系统通信。程序在需要时还可按照汇编或机器语言来实现。实际上,本文中描述的机制在范围上不限于任何特定编程语言。在任何情况下,该语言可以是编译或解释语言。
本文中给出的是用于使用端口共享硬件实现对存储设备的带外访问的方法和系统的实施例。尽管已经示出并描述了本发明的具体实施例,但本领域的技术人员显然可作出很多改变、变化和修改而不背离所附权利要求的范围。因此,本领域的技术人员将意识到可作出变化和修改而不背离本发明在其较宽方面的范围。所附权利要求将在其范围内包含落在本发明的真实范围和精神内的所有这些改变、变化和修改。
Claims (18)
1.一种计算机实现的方法,包括:
在处理系统中包括处理器、存储器、存储设备、多个端口、主机操作系统、可由所述主机操作系统访问的主机控制器接口、以及不可由所述主机操作系统访问的带外控制器接口,其中所述带外控制器接口与所述主机控制器接口共享所述多个端口中的共享端口,执行以下操作:
经由所述主机控制器接口接收访问所述存储设备的第一命令;
经由所述带外控制器接口接收访问所述存储设备的第二命令;
在执行所述第一命令之后,确定所述存储设备的预期状况;
确定执行所述第二命令是否将干扰所述预期状况;以及
如果执行所述第二命令将不干扰所述预期状况,则在执行所述第二命令之前执行所述第一命令,其中所述第二命令是在不涉及所述主机操作系统的情况下被执行的。
2.如权利要求1所述的方法,其特征在于,还包括:
如果执行所述第二命令将干扰所述预期状况,则取消所述第二命令并执行所述第一命令。
3.如权利要求1所述的方法,其特征在于,还包括:
如果执行所述第二命令将干扰所述预期状况,则延迟所述第二命令直至达到所述存储设备的所需状况;
执行所述第一命令;以及
在达到所述存储设备的所需状况时执行所述第二命令。
4.如权利要求1所述的方法,其特征在于,还包括:
如果执行所述第二命令将干扰所述预期状况,则确定在执行所述第二命令之后恢复所述预期状况的第三命令,并且执行所述第一命令、所述第二命令、以及所述第三命令,同时延迟发信号通知所述第一命令的完成直至所述第三命令已被执行之后。
5.如权利要求1所述的方法,其特征在于:
在所述第一和第二命令被接收时且在所述第一和第二命令被执行的同时,所述主机操作系统是活动的。
6.如权利要求1所述的方法,其特征在于,还包括:
将所述第一命令放入与所述主机控制器接口相关联的第一存储器;
保护所述第一存储器使其免于经由所述带外控制器接口的访问;
将所述第二命令放入与所述带外控制器接口相关联的第二存储器;以及
保护所述第二存储器使其免于经由所述主机操作系统和所述主机控制器接口的访问。
7.一种系统,包括:
处理器;
存储设备;
多个端口;
主机操作系统;
可由所述主机操作系统访问的主机控制器接口;以及
不可由所述主机操作系统访问的带外控制器接口,其中所述带外控制器接口与所述主机控制器接口共享所述多个端口中的共享端口;
耦合至所述处理器的存储器,所述存储器包括用于执行以下操作的指令:
经由所述主机控制器接口接收访问所述存储设备的第一命令;
经由所述带外控制器接口接收访问所述存储设备的第二命令;
在执行所述第一命令之后,确定所述存储设备的预期状况;
确定执行所述第二命令是否将干扰所述预期状况;以及
如果执行所述第二命令将不干扰所述预期状况,则在执行所述第二命令之前执行所述第一命令,其中所述第二命令是在不涉及所述主机操作系统的情况下被执行的。
8.如权利要求7所述的系统,其特征在于,所述指令还包括用于执行以下操作的指令:
如果执行所述第二命令将干扰所述预期状况,则取消所述第二命令并执行所述第一命令。
9.如权利要求7所述的系统,其特征在于,所述指令还包括用于执行以下操作的指令:
如果执行所述第二命令将干扰所述预期状况,则延迟所述第二命令直至达到所述存储设备的所需状况;
执行所述第一命令;以及
在达到所述存储设备的所需状况时执行所述第二命令。
10.如权利要求7所述的系统,其特征在于,所述指令还包括用于执行以下操作的指令:
如果执行所述第二命令将干扰所述预期状况,则确定在执行所述第二命令之后恢复所述预期状况的第三命令,并且执行所述第一命令、所述第二命令、以及所述第三命令,同时延迟发信号通知所述第一命令的完成直至所述第三命令已被执行之后。
11.如权利要求7所述的系统,其特征在于,所述指令还包括用于执行以下操作的指令:
在所述第一和第二命令被接收时且在所述第一和第二命令被执行的同时,所述主机操作系统是活动的。
12.如权利要求7所述的系统,其特征在于,所述指令还包括用于执行以下操作的指令:
将所述第一命令放入与所述主机控制器接口相关联的第一存储器;
保护所述第一存储器使其免于经由所述带外控制器接口的访问;
将所述第二命令放入与所述带外控制器接口相关联的第二存储器;以及
保护所述第二存储器使其免于经由所述主机操作系统和所述主机控制器接口的访问。
13.一种计算机程序产品,包括:
计算机可读存储介质;以及
所述计算机可读存储介质中的指令,其中在处理系统中执行所述指令时导致所述处理系统执行操作,其中所述处理系统包括处理器、存储器、存储设备、多个端口、主机操作系统、可由所述主机操作系统访问的主机控制器接口、以及不可由所述主机操作系统访问的带外控制器接口,其中所述带外控制器接口与所述主机控制器接口共享所述多个端口中的共享端口,并且其中所述操作包括:
经由所述主机控制器接口接收访问所述存储设备的第一命令;
经由所述带外控制器接口接收访问所述存储设备的第二命令;
在执行所述第一命令之后,确定所述存储设备的预期状况;
确定执行所述第二命令是否将干扰所述预期状况;以及
如果执行所述第二命令将不干扰所述预期状况,则在执行所述第二命令之前执行所述第一命令,其中所述第二命令是在不涉及所述主机操作系统的情况下被执行的。
14.如权利要求13所述的计算机程序产品,其特征在于,所述指令还导致处理系统执行以下操作:
如果执行所述第二命令将干扰所述预期状况,则取消所述第二命令并执行所述第一命令。
15.如权利要求13所述的计算机程序产品,其特征在于,所述指令还导致处理系统执行以下操作:
如果执行所述第二命令将干扰所述预期状况,则延迟所述第二命令直至达到所述存储设备的所需状况;
执行所述第一命令;以及
在达到所述存储设备的所需状况时执行所述第二命令。
16.如权利要求13所述的计算机程序产品,其特征在于,所述指令还导致处理系统执行以下操作:
如果执行所述第二命令将干扰所述预期状况,则确定在执行所述第二命令之后恢复所述预期状况的第三命令,并且执行所述第一命令、所述第二命令、以及所述第三命令,同时延迟发信号通知所述第一命令的完成直至所述第三命令已被执行之后。
17.如权利要求13所述的计算机程序产品,其特征在于,所述指令还导致处理系统执行以下操作:
在所述第一和第二命令被接收时且在所述第一和第二命令被执行的同时,所述主机操作系统是活动的。
18.如权利要求13所述的计算机程序产品,其特征在于,所述指令还导致处理系统执行以下操作:
将所述第一命令放入与所述主机控制器接口相关联的第一存储器;
保护所述第一存储器使其免于经由所述带外控制器接口的访问;
将所述第二命令放入与所述带外控制器接口相关联的第二存储器;以及
保护所述第二存储器使其免于经由所述主机操作系统和所述主机控制器接口的访问。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/836,341 | 2010-07-14 | ||
US12/836,341 US8281043B2 (en) | 2010-07-14 | 2010-07-14 | Out-of-band access to storage devices through port-sharing hardware |
PCT/US2011/043850 WO2012009436A2 (en) | 2010-07-14 | 2011-07-13 | Out-of-band access to storage devices through port-sharing hardware |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102985914A true CN102985914A (zh) | 2013-03-20 |
CN102985914B CN102985914B (zh) | 2016-01-27 |
Family
ID=45467783
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180034333.0A Expired - Fee Related CN102985914B (zh) | 2010-07-14 | 2011-07-13 | 通过端口共享硬件对存储设备的带外访问 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8281043B2 (zh) |
EP (1) | EP2593875B1 (zh) |
JP (1) | JP5583849B2 (zh) |
KR (1) | KR101516093B1 (zh) |
CN (1) | CN102985914B (zh) |
TW (1) | TWI443580B (zh) |
WO (1) | WO2012009436A2 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015144014A1 (zh) * | 2014-03-24 | 2015-10-01 | 三和智控(北京)系统集成有限公司 | 通过计划队列实现控制逻辑的动态延时调用的方法及装置 |
CN110209608A (zh) * | 2018-02-28 | 2019-09-06 | 爱思开海力士有限公司 | 存储系统和包括存储系统的数据处理系统 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8713204B2 (en) * | 2011-12-27 | 2014-04-29 | Apple Inc. | High-performance AHCI interface |
US9116694B2 (en) | 2012-09-26 | 2015-08-25 | Intel Corporation | Efficient low power exit sequence for peripheral devices |
CN106461836B (zh) * | 2014-04-16 | 2020-11-06 | 日东电工株式会社 | 相位差膜、圆偏振片及图像显示装置 |
US9645954B2 (en) | 2014-06-05 | 2017-05-09 | Lenovo (Singapore) Pte. Ltd. | Embedded microcontroller and buses |
US9696777B2 (en) * | 2014-06-05 | 2017-07-04 | Lenovo (Singapore) Pte. Ltd. | Computer port control |
TWI526824B (zh) | 2014-07-22 | 2016-03-21 | 廣達電腦股份有限公司 | 網路卡資訊管理方法及網路卡資訊管理系統 |
US9684457B2 (en) | 2015-05-21 | 2017-06-20 | Intel Corporation | Gathering sensed data from devices to manage host command transmission and cooling of the devices |
US10127184B2 (en) | 2016-09-27 | 2018-11-13 | Intel Corporation | Low overheard high throughput solution for point-to-point link |
US10761319B2 (en) | 2017-10-13 | 2020-09-01 | Magna Electronics Inc. | Vehicle camera with lens heater |
CN118569159B (zh) * | 2024-07-31 | 2024-10-01 | 成都电科星拓科技有限公司 | Sata主机芯片验证方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030154281A1 (en) * | 2002-02-14 | 2003-08-14 | Hitachi, Ltd. | Storage system and method for controlling the same |
CN101008966A (zh) * | 2005-11-12 | 2007-08-01 | 英特尔公司 | 独立于操作系统的数据管理 |
US20070260775A1 (en) * | 2006-03-31 | 2007-11-08 | Fujitsu Limited | Storage device, storage control firmware activation program exchange method, and program product for activating and exchanging storage control program |
CN101142553A (zh) * | 2003-06-25 | 2008-03-12 | 英特尔公司 | 跨越多个计算平台的操作系统不可知的资源共享 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6351782B1 (en) | 1999-03-19 | 2002-02-26 | Unisys Corporation | Method of sharing an I/O device between a host operating system and a foreign operating system in a single computer |
US6845387B1 (en) * | 2000-04-07 | 2005-01-18 | Advanced Digital Information Corporation | Creating virtual private connections between end points across a SAN |
JP2003085025A (ja) * | 2001-09-13 | 2003-03-20 | Seiko Instruments Inc | 記憶装置の属性制御方式 |
US7480774B2 (en) * | 2003-04-01 | 2009-01-20 | International Business Machines Corporation | Method for performing a command cancel function in a DRAM |
US7707586B2 (en) * | 2004-09-08 | 2010-04-27 | Intel Corporation | Operating system independent agent |
JP4757482B2 (ja) * | 2004-11-26 | 2011-08-24 | Necアクセステクニカ株式会社 | 記憶装置及び記憶装置制御方法 |
US20060280195A1 (en) * | 2005-06-10 | 2006-12-14 | Dell Products L.P. | Systems and methods for providing dedicated or shared network interface functionality via a single MAC |
US8131986B2 (en) | 2006-09-29 | 2012-03-06 | Lenovo (Singapore) Pte. Ltd. | System and method for boot loading of programs within a host operating environment having one or more linked guest operating systems |
US20080140724A1 (en) | 2006-12-06 | 2008-06-12 | David Flynn | Apparatus, system, and method for servicing object requests within a storage controller |
JP2009282834A (ja) * | 2008-05-23 | 2009-12-03 | Fujitsu Ltd | ディスクアレイ装置,制御ファーム適用方法,及び制御ファーム適用制御部 |
US9189286B2 (en) * | 2010-01-14 | 2015-11-17 | Dell Products L.P. | System and method for accessing storage resources |
US8489686B2 (en) * | 2010-05-21 | 2013-07-16 | Intel Corporation | Method and apparatus allowing scan of data storage device from remote server |
-
2010
- 2010-07-14 US US12/836,341 patent/US8281043B2/en active Active
-
2011
- 2011-06-30 TW TW100123107A patent/TWI443580B/zh not_active IP Right Cessation
- 2011-07-13 CN CN201180034333.0A patent/CN102985914B/zh not_active Expired - Fee Related
- 2011-07-13 EP EP11807453.3A patent/EP2593875B1/en active Active
- 2011-07-13 JP JP2013518878A patent/JP5583849B2/ja not_active Expired - Fee Related
- 2011-07-13 KR KR1020137000756A patent/KR101516093B1/ko not_active IP Right Cessation
- 2011-07-13 WO PCT/US2011/043850 patent/WO2012009436A2/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030154281A1 (en) * | 2002-02-14 | 2003-08-14 | Hitachi, Ltd. | Storage system and method for controlling the same |
CN101142553A (zh) * | 2003-06-25 | 2008-03-12 | 英特尔公司 | 跨越多个计算平台的操作系统不可知的资源共享 |
CN101008966A (zh) * | 2005-11-12 | 2007-08-01 | 英特尔公司 | 独立于操作系统的数据管理 |
US20070260775A1 (en) * | 2006-03-31 | 2007-11-08 | Fujitsu Limited | Storage device, storage control firmware activation program exchange method, and program product for activating and exchanging storage control program |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015144014A1 (zh) * | 2014-03-24 | 2015-10-01 | 三和智控(北京)系统集成有限公司 | 通过计划队列实现控制逻辑的动态延时调用的方法及装置 |
CN110209608A (zh) * | 2018-02-28 | 2019-09-06 | 爱思开海力士有限公司 | 存储系统和包括存储系统的数据处理系统 |
Also Published As
Publication number | Publication date |
---|---|
KR101516093B1 (ko) | 2015-05-08 |
CN102985914B (zh) | 2016-01-27 |
EP2593875B1 (en) | 2018-05-16 |
WO2012009436A2 (en) | 2012-01-19 |
US20120017011A1 (en) | 2012-01-19 |
EP2593875A2 (en) | 2013-05-22 |
JP2013535720A (ja) | 2013-09-12 |
JP5583849B2 (ja) | 2014-09-03 |
EP2593875A4 (en) | 2014-07-16 |
US8281043B2 (en) | 2012-10-02 |
KR20130031886A (ko) | 2013-03-29 |
TWI443580B (zh) | 2014-07-01 |
WO2012009436A3 (en) | 2012-04-26 |
TW201216162A (en) | 2012-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102985914A (zh) | 通过端口共享硬件对存储设备的带外访问 | |
CN110297689B (zh) | 智能合约执行方法、装置、设备及介质 | |
US10311226B2 (en) | Hacking-resistant computer design | |
CN1983185A (zh) | 在操作系统实例中共享输入/输出适配器的方法和系统 | |
CN113806253A (zh) | 受到损害的存储设备固件的检测 | |
CN102236768A (zh) | 信息流跟踪和保护 | |
EP3084593B1 (en) | Updatable integrated-circuit radio | |
JP2016149051A (ja) | ストレージ制御装置、ストレージ制御プログラム、およびストレージ制御方法 | |
CN109656886B (zh) | 基于键值对的文件系统实现方法、装置、设备和存储介质 | |
US11137995B2 (en) | Updating firmware of a microcontroller | |
US10620867B2 (en) | System and method for performing wear leveling at a non-volatile firmware memory | |
EP3136245B1 (en) | Computer | |
US11461490B1 (en) | Systems, methods, and devices for conditionally allowing processes to alter data on a storage device | |
US20170242605A1 (en) | Guid partition table based hidden data store system | |
CN101794293A (zh) | 扩展文件属性信息的安全管理至虚拟硬盘 | |
US20140101391A1 (en) | Conditional write processing for a cache structure of a coupling facility | |
KR20150129987A (ko) | 이기종 장치의 데이터 수집을 위한 미들웨어 간 인터페이스 장치 및 방법 | |
JP7354355B1 (ja) | ストレージシステムおよび暗号演算方法 | |
JP2014186592A (ja) | 分散ストレージシステム、ノード、データ管理方法、及びプログラム | |
CN116938869A (zh) | 经hci管理的arp | |
CN106934260A (zh) | 代码保护方法、装置、服务器及存储介质 |
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 | ||
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: 20160127 Termination date: 20210713 |