远程直接存储设备访问的制作方法

文档序号:7662559阅读:223来源:国知局
专利名称:远程直接存储设备访问的制作方法
技术领域
本发明的实施例涉及存储设备的领域,并且更具体地说,涉及远程直接存储设备访问O
背景技术
固态驱动器(SSD)使用面向区块的存储概念来抽象底层的闪存器件,例如NAND半导体器件。操作系统(0 向存储设备控制器发出带有区块级地址的存储命令。然后,存储设备控制器根据耗损均衡算法(wear-leveling algorithm)来转换区块级地址,并发出关于转换后的地址的存储设备访问命令。通过这种方式,存储设备控制器可以以对OS透明地方式分发对闪存器件的读/写访问。然而,向存储设备控制器发出区块级命令需要知道本地系统状态。这可以包括闪存器件的网络可访问性。


结合附图通过以下详细的描述,将很容易理解本发明的实施例。为了便于描述,相同的附图标记指示相同的结构元素。在附图的图示中,通过举例的方式而不是限定性的方式说明本发明的实施例。图1说明了根据各种实施例的服务器。图2说明了根据各种实施例的可以在图1的服务器中使用的仲裁器。图3说明了根据各种实施例的数据中心,该数据中心包括管理服务器和云服务器池。图4是根据各种实施例的管理服务器远程配置云服务器池的方法的流程图。图5是根据各种实施例的被管理的服务器向管理服务器提供故障报告的方法的流程图。
具体实施例方式在以下详细描述中,参考了形成了本文的一部分的附图,其中以相同的附图标记指示相同的部分,并通过说明的方式示出了可以实践本发明的实施例。应当理解,可以采用其他实施例,并在不脱离本发明的范围的情况下可以进行结构和逻辑上的改变。因此,以下的详细描述不应理解为限制意义,根据本发明的实施例的范围由所附的权利要求及其等价物定义。采用能帮助理解本发明实施例的方式,可以将各种操作描述为多个独立的操作。 然而,描述的顺序不应被解释为暗示这些操作是依赖于该顺序的。出于本发明的目的,短语“A和/或B”表示“㈧、(B)、或(A和B)”。出于本发明的目的,短语“A、B、和/或C”表示“ (A)、(B)、(C)、(A和B)、(A和C)、(B和C)、或(A、B和 C)”。说明书可以使用短语“在一个实施例中”或“在多个实施例中”,其中每一个短语可以是指一个或更多个相同或不同的实施例。此外,针对本发明的实施例所使用的术语“包括”、“包含”和“具有”等是同义的。本公开的实施例包括涉及固态存储设备的远程直接访问的系统和方法。在一些实施例中,服务器的网络接口部件(NIC)可以通过绕开服务器的中央处理单元(CPU)和主存储器的网络存储设备访问(NSA)链路来访问服务器的固态存储设备模块。NSA链路可以支持远程直接存储器访问(RDMA),从而向远程实体提供固态存储设备的线性“存储器-查看 (memory-view) ”,这不同于本地主机访问的面向区块的查看(block-oriented view)。在一些实施例中,NSA链路可以包括与NIC直接耦合的仲裁器以及存储设备控制器。在各种实施例中,NSA链路可以用于云服务器池中的服务器的网络配置和/或转用(!^purposing)。 在一些实施例中,NSA链路可以用于故障检测和/或报告操作。NSA链路可以实现加密和/ 或压缩以保护通信安全和/或节省网络带宽。图1说明了根据各种实施例的服务器100。服务器100可以包括NIC104,该NIC 104配置用于将服务器100通信耦合到网络。NIC 104可以通过互连112直接耦合到NIC至存储设备控制器(NTQ仲裁器108。如在本文所使用的,如果将从第一部件发送的信号直接提供给第二部件,而不对信号进行任何中间处理或路由的话,则认为这两个部件是相互“直接耦合的”。部件可以通过互连(例如互连112,诸如但不限于迹线、电线、导通孔等)而相互直接耦合。NTS仲裁器108也可以通过互连120直接与存储设备控制器116耦合。在替代的实施例中,NTS仲裁器108可以集成到NIC 104中并与存储设备控制器116直接耦合,或集成到存储设备控制器116中并与OTC 104直接耦合。存储设备控制器116可以通过互连1 耦合到存储设备模块124。存储设备模块 1 可以是诸如NAND闪存器件或相变存储设备之类的非易失性存储设备。服务器100也可以包括控制器中心132,该控制器中心132可以是配置用于控制与服务器100的各种外设相关的输入/输出(I/O)任务的集成电路。控制器中心132可以是平台控制器中心(PCH)、南桥、I/O控制器中心等。控制器中心132可以直接或间接地与服务器100的中央处理单元(CPU) 136耦合。CPU 136可以直接或间接地与主存储器140耦合。在控制器中心132为南桥的实施例中,控制器中心132可以通过北桥间接地与CPU 136 耦合。在该实施例中,CPU 136可以通过北桥耦合到主存储器140。服务器100可以包括控制器中心至存储设备控制器(CTS)仲裁器144,仲裁器144 与控制器中心132和存储设备控制器116耦合,并且位于控制器中心132和存储设备控制器116之间。在一些实施例中,CTS仲裁器144可以集成到存储设备控制器116或控制器中心132中。CPU 136可以通过主机存储设备访问(HSA)链路148访问存储设备模块124,该链路148穿过控制器中心132、CTS仲裁器144和存储设备控制器116。通过HAS链路148 对存储设备模块124的访问可以看作传统的存储设备访问。例如,控制器中心132可以向 CTS仲裁器144发出带有区块级地址的访问请求,该请求可以被称为区块级访问请求。CTS 仲裁器144可以将区块级地址转换成物理地址,以提供耗损均衡和/或纠错。CTS仲裁器 144可以向存储设备控制器116发出带有合适物理地址的访问请求,存储设备控制器116可以访问存储设备模块124中的指定空间。通过HSA链路148对存储设备模块124的访问可以看作为传统的存储设备访问,通过网络存储设备访问(NSA)链路152对存储设备模块IM的访问可以看作为对远程实体的存储器访问,其中该访问绕过CPU 136和主存储器140。这可以通过当访问正发送到存储设备模块124的数据或正从存储设备模块IM发送的数据时,远程实体可以引用的NTS仲裁器108记录缓冲区(posting buffer)来实现。在一些实施例中,NIC 104、NTS仲裁器108、CTS仲裁器144和/或存储设备控制器116可以集成到控制器中心132中。图2说明了根据一些实施例的具有另外的细节的NTS仲裁器108。NTS仲裁器108 可以包括耦合到存储器208的处理单元204。NTS仲裁器108可以是具有作为高速缓存存储器的存储器208的集成电路。处理单元204和存储器208可以是分离的并且可以不同于 CPU 136和主存储器140。此外,处理单元204和存储器208可以仅需要有限的功能来执行与NSA链路152相关的任务;因此,这些部件的处理能力可以明显小于/少于相应的CPU136 和主存储器140。在操作中,处理单元204可以通过NIC 104与远程实体传送作为缓冲区级访问请求的访问请求,并可以与存储设备控制器116传送作为基于物理地址(PA)的访问请求的访问请求。例如,处理单元204可以从NIC 104接收标识缓冲区的访问请求(例如,读或写请求)。处理单元可以根据存储器208中的链表212确定对应于缓冲区的物理存储空间的地址。将缓冲区转换到物理存储空间的地址之后,处理单元204可以向存储设备控制器116 发出包括物理存储空间的地址的另一个访问请求。提供如所描述的远程直接存储设备访问的服务器100可以提供与服务器100的远程管理有关的许多优点。图3说明了根据一些实施例的数据中心300,该数据中心300包括通过网络312与云服务器池308通信耦合的管理服务器304。云服务器池308可以具有一个或更多个被管理的服务器,例如被管理的服务器316。管理服务器304可以使用远程直接存储设备访问来执行与云服务器池308的被管理的服务器相关的任意数量的管理任务。这些管理任务包括但不限于配置新的服务器、转用现有的服务器、故障管理、恢复操作等。管理服务器304可以包括直接或间接地与NIC 3 和存储介质3 耦合的CPU 320。存储介质3 可以包括存储在其上的指令,其中,当由CPU320执行该指令时,使得管理服务器304执行本文所描述的各种管理任务。指令可以直接从存储介质3 执行,或在 CPU 320执行之前移动到另一介质中,例如易失性存储器。可以类似于服务器100的被管理的服务器316可以具有如上所述的到固态存储设备模块的NSA链路,用以帮助至少一些管理任务。云服务器池308的其他被管理的服务器也可以类似于服务器100。然而,在一些实施例中,一个或更多个其他被管理的服务器可以没有NSA链路。图4是根据一些实施例的管理服务器(例如管理服务器304)远程配置云服务器池(例如云服务器池308)的方法的流程图400。在框404,管理服务器可以进入远程配置过程。这会发生在新的一组服务器被添加到数据中心(或对现有的一组服务器进行转用)并期望向服务器提供适当的引导镜像时。 弓I导镜像可以包括允许服务器上的硬件进行引导的指令和数据。弓丨导镜像可以包括例如操作系统、实用程序和诊断程序、引导和数据恢复信息等。在这些实施例中,管理服务器也可以称为引导服务器。在框408,管理服务器可以确定云服务器池中是否存在另外的要配置的服务器。引导服务器可以通过将输入到引导服务器的要被配置的服务器的清单与先前配置的服务器的内部生成的列表进行比较,来进行上述确定。如果在框408确定存在要被配置的另外的服务器,则在框412引导服务器可以从要被配置的另外的服务器中选择目标服务器。在框416 (其可以在框412之后),引导服务器可以确定是否验证了所选择的目标服务器的安全关联。如果目标服务器之前具有与引导服务器的安全关联,则引导服务器可以确定先前的安全关联是否仍然有效。如果目标服务器之前不具有与引导服务器的安全关联,例如是新服务器,则引导服务器可以从目标服务器获取资格证明(例如媒体访问控制 (MAC)地址),并将获取的资格证明与从要被配置的服务器的清单输入的资格证明进行比较。如果在框416,引导服务器确定安全关联未被验证,则在框420,引导服务器可以表明目标服务器是不可配置的,并且过程可以循环回框408。如果在框416,引导服务器确定安全关联被验证,则在框424,引导服务器可以与被管理的服务器的NTS仲裁器协商分配记录缓冲区。由于将发生直接与被管理的服务器的 NTS仲裁器的协商,因此将不涉及来自被管理的服务器的CPU或主存储器的任何动作。协商可以包括引导服务器向NTS仲裁器发送对于给定尺寸的存储空间的分配请求。引导服务器接下来可以接收来自NTS仲裁器的基于分配请求的响应,该响应指示了记录缓冲区的分配以及记录缓冲区标识符。该响应也可以包括记录缓冲区的尺寸。在框4 (其可以在框4 之后),引导服务器可以向NTS仲裁器发送弓|导镜像和记录缓冲区标识符。NTS仲裁器可以使引导镜像存储在与记录缓冲区相对应的存储设备模块的物理空间。如上所述,引导镜像可以通过被管理的服务器的NSA链路而保存在存储设备模块中。一旦引导镜像被保存在固态存储设备模块中,CPU就可以访问该引导镜像,该引导镜像可以由CPU在随后的引导过程中使用。在框4 发送了引导镜像之后,在框432引导服务器可以更新已配置的服务器的列表来表明目标服务器被配置。然后,配置过程可以循环回框408,在框408引导服务器可以确定在云服务器池中是否存在另外的要被配置的服务器。如果在框408确定不存在另外的要被配置的服务器,则在框436引导服务器可以退出配置过程。虽然图4所讨论的远程配置被管理的服务器的方法考虑了整个引导镜像的初始配置,但其他实施例可以在不同的使用模型中使用远程直接存储设备访问。例如,在一个实施例中,管理服务器可以在一分阶段的配置中使用远程直接存储设备访问,在所述分阶段的配置中,一个或更多个更新包(update capsule)被主动推送给被管理的服务器。在一些实施例中,被管理的服务器可以具有调度更新的选择权。参照图4所描述的远程配置过程是其中将远程直接存储设备访问用于将数据传送给被管理的设备的固态存储设备模块的实施例。在其它实施例中,远程直接存储设备访问可以用来传送来自固态存储设备模块的数据,例如在恢复操作中。现在,将参照图5描述这样的实施例。图5是根据一些实施例的被管理的服务器(例如被管理的服务器316)将恢复操作中的故障报告提供给管理服务器(例如管理服务器304)的方法的流程图500。在框504,NTS仲裁器(例如NTS仲裁器108)可以检测故障事件。故障事件可以是关于被管理的服务器的CPU和/或主存储器的。在一些实施例中,NTS仲裁器可以通过接收来自管理服务器的故障报告来检测故障,该报告可以在管理服务器检测到被管理的服务器的操作故障时由管理服务器产生并发送。在被管理的服务器变得无响应和/或无法提供预期的动作/报告时,管理服务器可以检测到被管理的服务器的操作故障。在其他实施例中,NTS仲裁器可以在内部检测故障事件,即无需来自管理服务器的报告。NTS仲裁器通过监视存储设备模块中的故障标记可以在内部检测到故障事件。如果发生故障,则可以由例如被管理的服务器的CPU设置故障标记。NTS仲裁器可以确定设置了故障标记,从而检测到故障事件。在一些实施例中,可以通过控制设备(例如CPU 136和/或存储设备控制器116) 根据存储设备模块(例如存储设备模块124)的性能来设置故障标记。在操作中,控制设备可以跟踪存储设备模块的运行参数。运行参数可以包括读/写故障、具有故障单元的存储设备模块的部分、可用存储空间、响应时间等。如果这些运行参数低于期望的阈值,则控制设备可以将故障标记设置为NTS仲裁器108能辨识的。在框508(其可以在框504之后发生),NTS仲裁器可以向被管理的服务器的存储设备控制器发送访问请求。访问请求可以是与其中驻留了引导镜像的存储空间和/或专用于存储执行状态数据的执行状态存储空间相对应的读取请求,其中所述执行状态数据例如是存储器文件镜像、崩溃转储日志、堆栈状态数据和/或处理器状态数据(例如寄存器值)。 被管理的服务器的CPU可以通过HSA链路在正常操作期间将执行状态数据存储在执行状态存储空间中,例如用以帮助退出/进入各种进程,和/或在检测到系统故障(例如操作系统故障)之前或之后的异常的情况下,将执行状态数据存储在执行状态存储空间中,在该情况下,CPU也可以设置故障标记。在框512(其可以在框508之后发生),NTS仲裁器可以向被管理的服务器的NIC 发送报告命令。报告命令可以包括从存储设备模块的指定存储空间读取的数据。在框516(其可以在框512之后发生),NIC可以通过网络将报告发送给管理服务器。尽管为了描述优选实施例的目的,本文举例说明和描述了特定的实施例,但本领域的普通技术人员将意识到,在不脱离本发明的范围的情况下,认为达到相同目标的广泛的各种替代实施例和/或等价实施例或实现方式可以替代所示出和描述的实施例。本申请意在覆盖本文所讨论的实施例的任何适应和变化。因此,显然希望根据本发明的实施例仅受到权利要求和其等价物的限制。
权利要求
1.一种用于提供远程直接存储设备访问的服务器,该服务器包括 中央处理单元;固态存储设备模块,用于以非易失性方式来存储信息; 网络接口部件(NIC),配置用于将装置通信耦合到网络;第一仲裁器,用于通过被配置为处理区块级访问请求,以将所述中央处理单元通信耦合到所述固态存储设备模块;以及第二仲裁器,用于通过被配置为处理来自所述NIC的缓冲区级访问请求,以将所述NIC 通信耦合到所述固态存储设备模块。
2.如权利要求1所述的服务器,还包括控制器中心,用于将所述区块级访问请求提供给所述第一仲裁器。
3.如权利要求2所述的服务器,还包括存储设备控制器,其与所述固态存储设备模块耦合;主机存储设备访问链路,其包括所述控制器中心、所述第一仲裁器以及所述存储设备控制器,该主机存储设备访问链路用于将所述中央处理单元通信耦合到存储设备模块;以及网络存储设备访问链路,其包括所述第二仲裁器和所述存储设备控制器,该网络存储设备访问链路用于通过绕开所述装置的所述中央处理单元和主存储器将所述NIC通信耦合到所述存储设备模块。
4.如权利要求1所述的服务器,还包括控制器中心,其包括所述NIC和所述第二仲裁器。
5.如权利要求1所述的服务器,其中所述第二仲裁器包括处理单元和存储器。
6.如权利要求5所述的服务器,其中所述处理单元用于 接收标识缓冲区的访问请求;以及基于所述存储器中的链表,确定与所述缓冲区相对应的物理存储空间的地址;以及发出带有所述物理存储空间的所述地址的另一个访问请求。
7.如权利要求1所述的服务器,其中所述固态存储设备模块包括NAND闪存器件。
8.如权利要求1所述的服务器,其中所述固态存储设备模块包括相变存储设备。
9.一种提供远程直接存储设备访问的方法,该方法包括在服务器的网络接口部件(NIC)处,接收经由网络来自远程实体的存储设备访问请求,该存储设备访问请求标识一记录缓冲区;以及通过直接与所述NIC耦合或者集成在所述OTC中的仲裁器,基于所述存储设备访问请求访问所述服务器的固态存储设备模块。
10.如权利要求9所述的方法,其中接收所述存储设备访问请求包括从引导服务器接收用于配置或转用所述服务器的引导镜像和用于将所述引导镜像存储在所述记录缓冲区中的命令。
11.如权利要求9所述的方法,其中所述访问包括由所述仲裁器确定与所述记录缓冲区相对应的物理存储空间的地址;以及由所述仲裁器向存储设备控制器发出另一个访问请求,该另一个访问请求包括所述物理存储空间的所述地址。
12.如权利要求9所述的方法,还包括在所述服务器的另一个仲裁器处,接收来自控制器中心的基于区块的访问请求;以及通过所述另一个仲裁器,根据所述基于区块的访问请求,访问所述服务器的所述固态存储设备模块。
13.一种用于提供远程直接存储设备访问的服务器,该服务器包括用于通过绕开服务器的主存储器和中央处理单元(CPU)的网络存储设备访问链路直接从所述服务器的仲裁器接收报告命令的单元,所述报告命令包括来自固态存储设备模块的地址空间的数据;以及用于将包括该数据的报告通过网络发送给远程实体的单元。
14.如权利要求13所述的服务器,还包括 用于检测所述服务器的故障事件的单元;以及用于根据所述检测生成所述报告命令的单元。
15.如权利要求14所述的服务器,其中所述用于检测的单元包括 用于从所述远程实体接收故障指示的单元。
16.如权利要求14所述的服务器,其中所述用于检测的单元包括 用于确定在所述固态存储设备模块中设置了故障标记的单元。
17.一种用于目标服务器的远程配置的方法,该方法包括 由弓I导服务器向所述目标服务器上的仲裁器发送分配请求;由所述引导服务器从所述仲裁器接收响应,该响应指示了根据所述分配请求分配给所述引导服务器的记录缓冲区的标识符;以及由所述引导服务器向所述仲裁器发送所述标识符和将存储在固态存储设备模块的与所述记录缓冲区相对应的存储空间中的引导镜像。
18.如权利要求17所述的方法,还包括由所述引导服务器通过网络传送所述引导镜像来配置包括所述目标服务器的多个服务器。
19.如权利要求17所述的方法,还包括从所述目标服务器的网络接口部件接收媒体访问控制(MAC)地址; 根据所述MAC地址确定所述目标服务器是能够配置的服务器;以及基于所述确定发送所述分配请求。
20.如权利要求17所述的方法,还包括在所述分配请求中提供所述记录缓冲区的所请求的尺寸。
全文摘要
本公开的实施例包括涉及固态存储设备的远程直接访问的系统、装置和方法。在一些实施例中,服务器的网络接口部件(NIC)可以通过绕开服务器的中央处理单元(CPU)和主存储器的网络存储设备访问链路,来访问服务器的固态存储设备模块。还描述和要求保护了其他实施例。
文档编号H04L29/08GK102223394SQ20111012040
公开日2011年10月19日 申请日期2011年4月2日 优先权日2010年4月2日
发明者M·布鲁苏, R·C·斯旺森, V·J·齐默 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1