CN102223394B - 用于提供远程直接存储设备访问的方法、服务器 - Google Patents
用于提供远程直接存储设备访问的方法、服务器 Download PDFInfo
- Publication number
- CN102223394B CN102223394B CN201110120401.7A CN201110120401A CN102223394B CN 102223394 B CN102223394 B CN 102223394B CN 201110120401 A CN201110120401 A CN 201110120401A CN 102223394 B CN102223394 B CN 102223394B
- Authority
- CN
- China
- Prior art keywords
- server
- storage device
- moderator
- nic
- device module
- 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
Links
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
- 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/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/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
-
- 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
- G06F3/0605—Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
-
- 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]
-
- 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/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or 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)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer And Data Communications (AREA)
- Bus Control (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
Abstract
本公开的实施例包括涉及固态存储设备的远程直接访问的系统、装置和方法。在一些实施例中,服务器的网络接口部件(NIC)可以通过绕开服务器的中央处理单元(CPU)和主存储器的网络存储设备访问链路,来访问服务器的固态存储设备模块。还描述和要求保护了其他实施例。
Description
技术领域
本发明的实施例涉及存储设备的领域,并且更具体地说,涉及远程直接存储设备访问。
背景技术
固态驱动器(SSD)使用面向区块的存储概念来抽象底层的闪存器件,例如NAND半导体器件。操作系统(OS)向存储设备控制器发出带有区块级地址的存储命令。然后,存储设备控制器根据耗损均衡算法(wear-leveling algorithm)来转换区块级地址,并发出关于转换后的地址的存储设备访问命令。通过这种方式,存储设备控制器可以以对OS透明地方式分发对闪存器件的读/写访问。然而,向存储设备控制器发出区块级命令需要知道本地系统状态。这可以包括闪存器件的网络可访问性。
附图说明
结合附图通过以下详细的描述,将很容易理解本发明的实施例。为了便于描述,相同的附图标记指示相同的结构元素。在附图的图示中,通过举例的方式而不是限定性的方式说明本发明的实施例。
图1说明了根据各种实施例的服务器。
图2说明了根据各种实施例的可以在图1的服务器中使用的仲裁器。
图3说明了根据各种实施例的数据中心,该数据中心包括管理服务器和云服务器池。
图4是根据各种实施例的管理服务器远程配置云服务器池的方法的流程图。
图5是根据各种实施例的被管理的服务器向管理服务器提供故障报告的方法的流程图。
具体实施方式
在以下详细描述中,参考了形成了本文的一部分的附图,其中以相同的附图标记指示相同的部分,并通过说明的方式示出了可以实践本发明的实施例。应当理解,可以采用其他实施例,并在不脱离本发明的范围的情况下可以进行结构和逻辑上的改变。因此,以下的详细描述不应理解为限制意义,根据本发明的实施例的范围由所附的权利要求及其等价物定义。
采用能帮助理解本发明实施例的方式,可以将各种操作描述为多个独立的操作。然而,描述的顺序不应被解释为暗示这些操作是依赖于该顺序的。
出于本发明的目的,短语“A和/或B”表示“(A)、(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链路可以用于云服务器池中的服务器的网络配置和/或转用(repurposing)。在一些实施例中,NSA链路可以用于故障检测和/或报告操作。NSA链路可以实现加密和/或压缩以保护通信安全和/或节省网络带宽。
图1说明了根据各种实施例的服务器100。服务器100可以包括NIC104,该NIC 104配置用于将服务器100通信耦合到网络。NIC 104可以通过互连112直接耦合到NIC至存储设备控制器(NTS)仲裁器108。如在本文所使用的,如果将从第一部件发送的信号直接提供给第二部件,而不对 信号进行任何中间处理或路由的话,则认为这两个部件是相互“直接耦合的”。部件可以通过互连(例如互连112,诸如但不限于迹线、电线、导通孔等)而相互直接耦合。
NTS仲裁器108也可以通过互连120直接与存储设备控制器116耦合。在替代的实施例中,NTS仲裁器108可以集成到NIC 104中并与存储设备控制器116直接耦合,或集成到存储设备控制器116中并与NIC 104直接耦合。
存储设备控制器116可以通过互连128耦合到存储设备模块124。存储设备模块124可以是诸如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对存储设备模块124的访问可以看作为对远程实体的存储器访问,其中该访问绕过CPU 136和主存储器140。这可以通过当访问正发送到存储设备模块124的数据或正从存储设备模块124发送的数据时,远程实体可以引用的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 324和存储介质328耦 合的CPU 320。存储介质328可以包括存储在其上的指令,其中,当由CPU320执行该指令时,使得管理服务器304执行本文所描述的各种管理任务。指令可以直接从存储介质328执行,或在CPU 320执行之前移动到另一介质中,例如易失性存储器。
可以类似于服务器100的被管理的服务器316可以具有如上所述的到固态存储设备模块的NSA链路,用以帮助至少一些管理任务。云服务器池308的其他被管理的服务器也可以类似于服务器100。然而,在一些实施例中,一个或更多个其他被管理的服务器可以没有NSA链路。
图4是根据一些实施例的管理服务器(例如管理服务器304)远程配置云服务器池(例如云服务器池308)的方法的流程图400。
在框404,管理服务器可以进入远程配置过程。这会发生在新的一组服务器被添加到数据中心(或对现有的一组服务器进行转用)并期望向服务器提供适当的引导镜像时。引导镜像可以包括允许服务器上的硬件进行引导的指令和数据。引导镜像可以包括例如操作系统、实用程序和诊断程序、引导和数据恢复信息等。在这些实施例中,管理服务器也可以称为引导服务器。
在框408,管理服务器可以确定云服务器池中是否存在另外的要配置的服务器。引导服务器可以通过将输入到引导服务器的要被配置的服务器的清单与先前配置的服务器的内部生成的列表进行比较,来进行上述确定。
如果在框408确定存在要被配置的另外的服务器,则在框412引导服务器可以从要被配置的另外的服务器中选择目标服务器。
在框416(其可以在框412之后),引导服务器可以确定是否验证了所选择的目标服务器的安全关联。如果目标服务器之前具有与引导服务器的安全关联,则引导服务器可以确定先前的安全关联是否仍然有效。如果目标服务器之前不具有与引导服务器的安全关联,例如是新服务器,则引导服务器可以从目标服务器获取资格证明(例如媒体访问控制(MAC)地址),并将获取的资格证明与从要被配置的服务器的清单输入的资格证明进行比较。
如果在框416,引导服务器确定安全关联未被验证,则在框420,引导服务器可以表明目标服务器是不可配置的,并且过程可以循环回框408。
如果在框416,引导服务器确定安全关联被验证,则在框424,引导服务器可以与被管理的服务器的NTS仲裁器协商分配记录缓冲区。由于将发生直接与被管理的服务器的NTS仲裁器的协商,因此将不涉及来自被管理的服务器的CPU或主存储器的任何动作。协商可以包括引导服务器向NTS仲裁器发送对于给定尺寸的存储空间的分配请求。引导服务器接下来可以接收来自NTS仲裁器的基于分配请求的响应,该响应指示了记录缓冲区的分配以及记录缓冲区标识符。该响应也可以包括记录缓冲区的尺寸。
在框428(其可以在框424之后),引导服务器可以向NTS仲裁器发送引导镜像和记录缓冲区标识符。NTS仲裁器可以使引导镜像存储在与记录缓冲区相对应的存储设备模块的物理空间。如上所述,引导镜像可以通过被管理的服务器的NSA链路而保存在存储设备模块中。一旦引导镜像被保存在固态存储设备模块中,CPU就可以访问该引导镜像,该引导镜像可以由CPU在随后的引导过程中使用。
在框428发送了引导镜像之后,在框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可以通过网络将报告发送 给管理服务器。
尽管为了描述优选实施例的目的,本文举例说明和描述了特定的实施例,但本领域的普通技术人员将意识到,在不脱离本发明的范围的情况下,认为达到相同目标的广泛的各种替代实施例和/或等价实施例或实现方式可以替代所示出和描述的实施例。本申请意在覆盖本文所讨论的实施例的任何适应和变化。因此,显然希望根据本发明的实施例仅受到权利要求和其等价物的限制。
Claims (19)
1.一种用于提供远程直接存储设备访问的服务器,该服务器包括:
中央处理单元;
固态存储设备模块,用于以非易失性方式来存储信息;
存储设备控制器,其与所述固态存储设备模块耦合,并配置用于访问所述固态存储设备模块;
网络接口部件(NIC),配置用于将所述服务器经由网络通信耦合到远程实体;
第一仲裁器,用于通过被配置为处理来自所述中央处理单元的通过所述存储设备控制器访问所述固态存储设备模块的区块级访问请求,以将所述中央处理单元通信耦合到所述固态存储设备模块;以及
第二仲裁器,用于通过被配置为处理经由所述网络和所述NIC的来自所述远程实体的通过所述存储设备控制器访问所述固态存储设备模块的缓冲区级访问请求,以将所述NIC通信耦合到所述固态存储设备模块,其中,所述第一仲裁器和所述第二仲裁器是不同的仲裁器。
2.如权利要求1所述的服务器,还包括:
控制器中心,用于将所述区块级访问请求提供给所述第一仲裁器。
3.如权利要求2所述的服务器,还包括:
主机存储设备访问链路,其包括所述控制器中心、所述第一仲裁器以及所述存储设备控制器,该主机存储设备访问链路用于将所述中央处理单元通信耦合到存储设备模块;以及
网络存储设备访问链路,其包括所述第二仲裁器和所述存储设备控制器,该网络存储设备访问链路用于通过绕开所述服务器的所述中央处理单元和主存储器将所述NIC通信耦合到所述存储设备模块。
4.如权利要求1所述的服务器,还包括:
控制器中心,其包括所述NIC和所述第二仲裁器。
5.如权利要求1所述的服务器,其中所述第二仲裁器包括处理单元和存储器。
6.如权利要求5所述的服务器,其中所述处理单元用于:
接收标识缓冲区的访问请求;以及
基于所述存储器中的链表,确定与所述缓冲区相对应的物理存储空间的地址;以及
发出带有所述物理存储空间的所述地址的另一个访问请求。
7.如权利要求1所述的服务器,其中所述固态存储设备模块包括NAND闪存器件。
8.如权利要求1所述的服务器,其中所述固态存储设备模块包括相变存储设备。
9.一种提供远程直接存储设备访问的方法,该方法包括:
在服务器的网络接口部件(NIC)处,接收经由网络来自远程实体的存储设备访问请求,该存储设备访问请求标识所述服务器上的一记录缓冲区;
由所述NIC经由直接与所述NIC耦合或者集成在所述NIC中的仲裁器将所述存储设备访问请求路由到所述服务器的存储设备控制器,以基于所述存储设备访问请求访问所述服务器的固态存储设备模块,而绕开所述服务器的中央处理单元;以及
经由所述服务器的另一仲裁器将所述中央处理单元的另一存储设备访问请求路由到所述存储设备控制器,以访问所述固态存储设备模块,所述另一存储设备访问请求标识所述存储设备模块的区块;
其中,这两个仲裁器是不同的仲裁器。
10.如权利要求9所述的方法,其中接收存储设备访问请求包括:
从远程引导服务器接收用于配置或转用所述服务器的引导镜像和用于将所述引导镜像存储在所述记录缓冲区中的命令。
11.如权利要求9所述的方法,其中经由直接与所述NIC耦合或者集成在所述NIC中的仲裁器进行的所述路由包括:
由直接与所述NIC耦合或者集成在所述NIC中的仲裁器确定与所述记录缓冲区相对应的物理存储空间的地址;以及
由直接与所述NIC耦合或者集成在所述NIC中的仲裁器向所述存储设备控制器发出另一个存储设备访问请求,该另一个存储设备访问请求包括所述物理存储空间的所述地址。
12.一种用于提供远程直接存储设备访问的服务器,该服务器包括:
用于在服务器的网络接口组件处直接从所述服务器的第一仲裁器接收报告命令的单元,所述报告命令对经由网络向远程实体发送报告进行命令,其中,所述第一仲裁器通过所述服务器的存储设备控制器将所述网络接口组件耦合到所述服务器的固态存储设备模块,以提供所述远程实体对所述固态存储设备模块的访问,而绕开所述服务器的主存储器和中央处理单元(CPU),所述报告命令包括来自所述服务器的所述固态存储设备模块的地址空间的数据;以及
用于通过所述网络接口组件将包括该数据的所述报告通过所述网络发送给所述远程实体的单元。
13.如权利要求12所述的服务器,还包括:
用于通过所述第一仲裁器检测所述服务器的故障事件的单元;以及
用于根据所述检测生成所述报告命令的单元。
14.如权利要求13所述的服务器,其中所述用于检测的单元包括:
用于从所述远程实体接收故障指示的单元。
15.如权利要求13所述的服务器,其中所述用于检测的单元包括:
用于确定在所述固态存储设备模块中设置了故障标记的单元。
16.一种用于目标服务器的远程配置的方法,该方法包括:
由引导服务器向所述目标服务器上的第一仲裁器发送分配请求,所述目标服务器通过所述目标服务器的网络接口组件经由网络耦合到所述引导服务器;
由所述引导服务器通过所述网络接口组件和所述网络从所述第一仲裁器接收响应,该响应指示了所述目标服务器中根据所述分配请求分配给所述引导服务器的记录缓冲区的标识符;以及
由所述引导服务器通过所述网络和所述网络接口组件向所述第一仲裁器发送所述标识符和将存储在所述目标服务器的固态存储设备模块的与所述记录缓冲区相对应的存储空间中的引导镜像;
其中,所述第一仲裁器通过所述目标服务器的存储设备控制器将所述网络接口组件耦合到所述固态存储设备模块,而绕开所述目标服务器的中央处理单元,并且其中,所述第一仲裁器与所述目标服务器的第二仲裁器不同,所述第二仲裁器通过所述存储设备控制器将所述中央处理单元耦合到所述固态存储设备模块。
17.如权利要求16所述的方法,还包括:
由所述引导服务器通过网络传送所述引导镜像来配置包括所述目标服务器的多个服务器。
18.如权利要求16所述的方法,还包括:
由所述引导服务器从所述目标服务器的网络接口部件接收媒体访问控制(MAC)地址;
由所述引导服务器根据所述MAC地址确定所述目标服务器是能够配置的服务器;以及
由所述引导服务器基于所述确定发送所述分配请求。
19.如权利要求16所述的方法,还包括:
由所述引导服务器在所述分配请求中提供所述记录缓冲区的所请求的尺寸。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/753,294 US9015268B2 (en) | 2010-04-02 | 2010-04-02 | Remote direct storage access |
US12/753,294 | 2010-04-02 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102223394A CN102223394A (zh) | 2011-10-19 |
CN102223394B true CN102223394B (zh) | 2014-08-06 |
Family
ID=44118362
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110120401.7A Active CN102223394B (zh) | 2010-04-02 | 2011-04-02 | 用于提供远程直接存储设备访问的方法、服务器 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9015268B2 (zh) |
EP (1) | EP2372521A3 (zh) |
JP (1) | JP5370897B2 (zh) |
KR (1) | KR101264521B1 (zh) |
CN (1) | CN102223394B (zh) |
Families Citing this family (65)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9015426B2 (en) * | 2011-02-28 | 2015-04-21 | Kove Corporation | High performance data storage using observable client-side memory access |
EP2755363B1 (en) | 2011-10-27 | 2016-06-08 | Huawei Technologies Co., Ltd. | Data-fast-distribution method and device |
KR101628929B1 (ko) | 2011-12-29 | 2016-06-21 | 인텔 코포레이션 | 다이렉트 액세스를 갖는 다중-레벨 메모리 |
US10360176B2 (en) | 2012-01-17 | 2019-07-23 | Intel Corporation | Techniques for command validation for access to a storage device by a remote client |
US20130297807A1 (en) * | 2012-05-02 | 2013-11-07 | Steven Darnell Chavis | Systems and methods for serving application programs to devices |
US9229901B1 (en) | 2012-06-08 | 2016-01-05 | Google Inc. | Single-sided distributed storage system |
US8862561B1 (en) | 2012-08-30 | 2014-10-14 | Google Inc. | Detecting read/write conflicts |
US9058122B1 (en) | 2012-08-30 | 2015-06-16 | Google Inc. | Controlling access in a single-sided distributed storage system |
US8676851B1 (en) | 2012-08-30 | 2014-03-18 | Google Inc. | Executing transactions in distributed storage systems |
US9164702B1 (en) | 2012-09-07 | 2015-10-20 | Google Inc. | Single-sided distributed cache system |
US9424214B2 (en) * | 2012-09-28 | 2016-08-23 | Mellanox Technologies Ltd. | Network interface controller with direct connection to host memory |
CN103780662A (zh) * | 2012-10-26 | 2014-05-07 | 台达电子工业股份有限公司 | 云端系统及其开机部署方法 |
US9336166B1 (en) * | 2013-05-30 | 2016-05-10 | Emc Corporation | Burst buffer appliance with operating system bypass functionality to facilitate remote direct memory access |
US8949486B1 (en) | 2013-07-17 | 2015-02-03 | Mellanox Technologies Ltd. | Direct memory access to storage devices |
CN104426971B (zh) | 2013-08-30 | 2017-11-17 | 华为技术有限公司 | 一种远程内存交换分区方法、装置及系统 |
US9313274B2 (en) | 2013-09-05 | 2016-04-12 | Google Inc. | Isolating clients of distributed storage systems |
JP2017512350A (ja) | 2014-03-08 | 2017-05-18 | ディアマンティ インコーポレイテッド | 集中型ネットワーキング及びストレージのための方法及びシステム |
US10635316B2 (en) | 2014-03-08 | 2020-04-28 | Diamanti, Inc. | Methods and systems for data storage using solid state drives |
US10628353B2 (en) | 2014-03-08 | 2020-04-21 | Diamanti, Inc. | Enabling use of non-volatile media-express (NVMe) over a network |
US11921658B2 (en) | 2014-03-08 | 2024-03-05 | Diamanti, Inc. | Enabling use of non-volatile media-express (NVMe) over a network |
US9727503B2 (en) | 2014-03-17 | 2017-08-08 | Mellanox Technologies, Ltd. | Storage system and server |
US9696942B2 (en) | 2014-03-17 | 2017-07-04 | Mellanox Technologies, Ltd. | Accessing remote storage devices using a local bus protocol |
US9648081B2 (en) | 2014-04-10 | 2017-05-09 | Mellanox Technologies, Ltd. | Network-attached memory |
US9430393B2 (en) * | 2014-05-26 | 2016-08-30 | Texas Instruments Incorporated | System and method for managing cache |
CN106030499B (zh) | 2014-05-28 | 2019-03-05 | 株式会社日立制作所 | 计算机系统以及计算机系统控制方法 |
US9934177B2 (en) | 2014-11-04 | 2018-04-03 | Cavium, Inc. | Methods and systems for accessing storage using a network interface card |
US20160173465A1 (en) * | 2014-12-12 | 2016-06-16 | Rajesh Poornachandran | Technologies for verifying authorized operation of servers |
US9996498B2 (en) | 2015-09-08 | 2018-06-12 | Mellanox Technologies, Ltd. | Network memory |
US20170155717A1 (en) * | 2015-11-30 | 2017-06-01 | Intel Corporation | Direct memory access for endpoint devices |
US11005771B2 (en) | 2017-10-16 | 2021-05-11 | Mellanox Technologies, Ltd. | Computational accelerator for packet payload operations |
US11502948B2 (en) | 2017-10-16 | 2022-11-15 | Mellanox Technologies, Ltd. | Computational accelerator for storage operations |
US10708240B2 (en) | 2017-12-14 | 2020-07-07 | Mellanox Technologies, Ltd. | Offloading communication security operations to a network interface controller |
US10936330B2 (en) | 2018-05-21 | 2021-03-02 | International Business Machines Corporation | Instantaneous boot of virtual machine instances via remote direct memory access |
CN110535714B (zh) | 2018-05-25 | 2023-04-18 | 华为技术有限公司 | 一种仲裁方法及相关装置 |
US10901641B2 (en) | 2019-01-29 | 2021-01-26 | Dell Products L.P. | Method and system for inline deduplication |
US20200241781A1 (en) | 2019-01-29 | 2020-07-30 | Dell Products L.P. | Method and system for inline deduplication using erasure coding |
US10972343B2 (en) | 2019-01-29 | 2021-04-06 | Dell Products L.P. | System and method for device configuration update |
US11442642B2 (en) | 2019-01-29 | 2022-09-13 | Dell Products L.P. | Method and system for inline deduplication using erasure coding to minimize read and write operations |
US10740023B1 (en) | 2019-01-29 | 2020-08-11 | Dell Products L.P. | System and method for dynamic application access-based mapping |
US10911307B2 (en) | 2019-01-29 | 2021-02-02 | Dell Products L.P. | System and method for out of the box solution-level configuration and diagnostic logging and reporting |
US10747522B1 (en) * | 2019-01-29 | 2020-08-18 | EMC IP Holding Company LLC | Method and system for non-disruptive host repurposing |
US10764135B2 (en) | 2019-01-29 | 2020-09-01 | Dell Products L.P. | Method and system for solution integration labeling |
US10979312B2 (en) | 2019-01-29 | 2021-04-13 | Dell Products L.P. | System and method to assign, monitor, and validate solution infrastructure deployment prerequisites in a customer data center |
US11184439B2 (en) | 2019-04-01 | 2021-11-23 | Mellanox Technologies, Ltd. | Communication with accelerator via RDMA-based network adapter |
US11328071B2 (en) | 2019-07-31 | 2022-05-10 | Dell Products L.P. | Method and system for identifying actor of a fraudulent action during legal hold and litigation |
US11609820B2 (en) | 2019-07-31 | 2023-03-21 | Dell Products L.P. | Method and system for redundant distribution and reconstruction of storage metadata |
US10963345B2 (en) | 2019-07-31 | 2021-03-30 | Dell Products L.P. | Method and system for a proactive health check and reconstruction of data |
US11372730B2 (en) | 2019-07-31 | 2022-06-28 | Dell Products L.P. | Method and system for offloading a continuous health-check and reconstruction of data in a non-accelerator pool |
US11775193B2 (en) | 2019-08-01 | 2023-10-03 | Dell Products L.P. | System and method for indirect data classification in a storage system operations |
US11113188B2 (en) | 2019-08-21 | 2021-09-07 | Microsoft Technology Licensing, Llc | Data preservation using memory aperture flush order |
US11301327B2 (en) | 2020-03-06 | 2022-04-12 | Dell Products L.P. | Method and system for managing a spare persistent storage device and a spare node in a multi-node data cluster |
US11281535B2 (en) | 2020-03-06 | 2022-03-22 | Dell Products L.P. | Method and system for performing a checkpoint zone operation for a spare persistent storage |
US11119858B1 (en) | 2020-03-06 | 2021-09-14 | Dell Products L.P. | Method and system for performing a proactive copy operation for a spare persistent storage |
US11416357B2 (en) | 2020-03-06 | 2022-08-16 | Dell Products L.P. | Method and system for managing a spare fault domain in a multi-fault domain data cluster |
US11175842B2 (en) | 2020-03-06 | 2021-11-16 | Dell Products L.P. | Method and system for performing data deduplication in a data pipeline |
CN111600872B (zh) * | 2020-05-13 | 2022-05-31 | 中国人民解放军国防科技大学 | 一种访存合法性检查控制器,芯片及设备 |
US11418326B2 (en) | 2020-05-21 | 2022-08-16 | Dell Products L.P. | Method and system for performing secure data transactions in a data cluster |
IL276538B2 (en) | 2020-08-05 | 2023-08-01 | Mellanox Technologies Ltd | A cryptographic device for data communication |
CN114095153A (zh) | 2020-08-05 | 2022-02-25 | 迈络思科技有限公司 | 密码数据通信装置 |
US11327909B1 (en) | 2020-10-26 | 2022-05-10 | Mellanox Technologies, Ltd. | System for improving input / output performance |
US11934658B2 (en) | 2021-03-25 | 2024-03-19 | Mellanox Technologies, Ltd. | Enhanced storage protocol emulation in a peripheral device |
US11726666B2 (en) | 2021-07-11 | 2023-08-15 | Mellanox Technologies, Ltd. | Network adapter with efficient storage-protocol emulation |
US11609700B2 (en) | 2021-08-11 | 2023-03-21 | Mellanox Technologies, Ltd. | Pacing in a storage sub-system |
CN115905056A (zh) | 2021-08-11 | 2023-04-04 | 迈络思科技有限公司 | 改进存储子系统中的步调 |
US12007921B2 (en) | 2022-11-02 | 2024-06-11 | Mellanox Technologies, Ltd. | Programmable user-defined peripheral-bus device implementation using data-plane accelerator (DPA) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6108694A (en) * | 1995-06-22 | 2000-08-22 | Hitachi, Ltd. | Memory disk sharing method and its implementing apparatus |
JP2005276033A (ja) * | 2004-03-26 | 2005-10-06 | Sony Corp | マルチプロセッサモジュール |
US7664883B2 (en) * | 1998-08-28 | 2010-02-16 | Alacritech, Inc. | Network interface device that fast-path processes solicited session layer read commands |
CN101657802A (zh) * | 2006-12-06 | 2010-02-24 | 弗森多系统公司(dba弗森-艾奥) | 用于远程直接存储器存取固态存储设备的装置、系统及方法 |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11149455A (ja) | 1997-11-19 | 1999-06-02 | Hitachi Ltd | メモリディスク共有方法及びその実施装置 |
US5974496A (en) * | 1997-01-02 | 1999-10-26 | Ncr Corporation | System for transferring diverse data objects between a mass storage device and a network via an internal bus on a network card |
US7237036B2 (en) | 1997-10-14 | 2007-06-26 | Alacritech, Inc. | Fast-path apparatus for receiving data corresponding a TCP connection |
US7543048B2 (en) | 2002-11-22 | 2009-06-02 | Intel Corporation | Methods and apparatus for enabling of a remote management agent independent of an operating system |
US7024551B2 (en) * | 2003-01-07 | 2006-04-04 | Sun Microsystems, Inc. | Method and apparatus for updating boot code using a system controller |
JP4274523B2 (ja) * | 2003-01-24 | 2009-06-10 | 株式会社日立製作所 | 記憶装置システム、及び記憶装置システムの起動方法 |
US7174451B2 (en) | 2003-03-31 | 2007-02-06 | Intel Corporation | System and method for saving and/or restoring system state information over a network |
US20040255106A1 (en) | 2003-06-10 | 2004-12-16 | Rothman Michael A. | Recovery of operating system configuration data by firmware of computer system |
US7082527B2 (en) | 2003-06-11 | 2006-07-25 | Intel Corporation | Method and system for rapid repurposing of machines in a clustered, scale-out environment |
US7275152B2 (en) | 2003-09-26 | 2007-09-25 | Intel Corporation | Firmware interfacing with network protocol offload engines to provide fast network booting, system repurposing, system provisioning, system manageability, and disaster recovery |
US7562230B2 (en) | 2003-10-14 | 2009-07-14 | Intel Corporation | Data security |
US20050240669A1 (en) | 2004-03-29 | 2005-10-27 | Rahul Khanna | BIOS framework for accommodating multiple service processors on a single server to facilitate distributed/scalable server management |
US7350072B2 (en) | 2004-03-30 | 2008-03-25 | Intel Corporation | Remote management and provisioning of a system across a network based connection |
US20050289218A1 (en) | 2004-06-28 | 2005-12-29 | Rothman Michael A | Method to enable remote storage utilization |
US7310742B2 (en) | 2004-06-30 | 2007-12-18 | Intel Corporation | Method and apparatus for performing disk diagnostics and repairs on remote clients |
US7506149B2 (en) | 2004-08-27 | 2009-03-17 | Intel Corporation | Method, program and system to update files in a computer system |
US7617400B2 (en) | 2005-03-02 | 2009-11-10 | Intel Corporation | Storage partitioning |
US20060230165A1 (en) | 2005-03-25 | 2006-10-12 | Zimmer Vincent J | Method and apparatus for provisioning network infrastructure |
US7660913B2 (en) | 2005-04-20 | 2010-02-09 | Intel Corporation | Out-of-band platform recovery |
US7647474B2 (en) | 2005-09-27 | 2010-01-12 | Intel Corporation | Saving system context in the event of power loss |
US20070073800A1 (en) | 2005-09-29 | 2007-03-29 | Intel Corporation | Provisioning, configuring, and managing a platform in a network |
US7634629B2 (en) | 2005-12-19 | 2009-12-15 | Intel Corporation | Mechanism to control access to a storage device |
US7702826B2 (en) | 2005-12-28 | 2010-04-20 | Intel Corporation | Method and apparatus by utilizing platform support for direct memory access remapping by remote DMA (“RDMA”)-capable devices |
US7930728B2 (en) | 2006-01-06 | 2011-04-19 | Intel Corporation | Mechanism to support rights management in a pre-operating system environment |
US20070300051A1 (en) | 2006-06-26 | 2007-12-27 | Rothman Michael A | Out of band asset management |
US7668945B2 (en) | 2006-08-18 | 2010-02-23 | Intel Corporation | Network booting using a platform management coprocessor |
US7962182B2 (en) * | 2006-08-25 | 2011-06-14 | Qualcomm Incorporated | Method and apparatus for content delivery to devices |
JP2010512584A (ja) | 2006-12-06 | 2010-04-22 | フュージョン マルチシステムズ,インク.(ディービイエイ フュージョン−アイオー) | 空データトークン指令を有する要求デバイスからのデータを管理する装置、システムおよび方法 |
US20090070574A1 (en) | 2007-09-06 | 2009-03-12 | Rothman Michael A | Remote diagnostic apparatus |
US7945752B1 (en) * | 2008-03-27 | 2011-05-17 | Netapp, Inc. | Method and apparatus for achieving consistent read latency from an array of solid-state storage devices |
JP2010097357A (ja) * | 2008-10-15 | 2010-04-30 | Fujitsu Ltd | 異常通報システム及び診断方法 |
US9176860B2 (en) * | 2009-02-12 | 2015-11-03 | Hewlett-Packard Development Company, L.P. | Database join optimized for flash storage |
-
2010
- 2010-04-02 US US12/753,294 patent/US9015268B2/en not_active Expired - Fee Related
-
2011
- 2011-03-31 EP EP20110250412 patent/EP2372521A3/en not_active Ceased
- 2011-04-01 JP JP2011081749A patent/JP5370897B2/ja not_active Expired - Fee Related
- 2011-04-01 KR KR1020110030263A patent/KR101264521B1/ko not_active IP Right Cessation
- 2011-04-02 CN CN201110120401.7A patent/CN102223394B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6108694A (en) * | 1995-06-22 | 2000-08-22 | Hitachi, Ltd. | Memory disk sharing method and its implementing apparatus |
US7664883B2 (en) * | 1998-08-28 | 2010-02-16 | Alacritech, Inc. | Network interface device that fast-path processes solicited session layer read commands |
JP2005276033A (ja) * | 2004-03-26 | 2005-10-06 | Sony Corp | マルチプロセッサモジュール |
CN101657802A (zh) * | 2006-12-06 | 2010-02-24 | 弗森多系统公司(dba弗森-艾奥) | 用于远程直接存储器存取固态存储设备的装置、系统及方法 |
Non-Patent Citations (2)
Title |
---|
图1b,1c. |
第20页第2段至第22页倒数第2段 |
Also Published As
Publication number | Publication date |
---|---|
EP2372521A2 (en) | 2011-10-05 |
EP2372521A3 (en) | 2013-04-24 |
US9015268B2 (en) | 2015-04-21 |
CN102223394A (zh) | 2011-10-19 |
KR20110111254A (ko) | 2011-10-10 |
KR101264521B1 (ko) | 2013-05-14 |
US20110246597A1 (en) | 2011-10-06 |
JP2011222011A (ja) | 2011-11-04 |
JP5370897B2 (ja) | 2013-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102223394B (zh) | 用于提供远程直接存储设备访问的方法、服务器 | |
USRE47289E1 (en) | Server system and operation method thereof | |
CN107820693B (zh) | NVMe over Fabric中转发报文的方法、设备和系统 | |
US20110145452A1 (en) | Methods and apparatus for distribution of raid storage management over a sas domain | |
CN104798349A (zh) | 响应于端口故障的故障转移 | |
CN104603739A (zh) | 对并行存储的块级访问 | |
US10528412B2 (en) | Multiple path error data collection in a storage management system | |
CN102622279B (zh) | 冗余控制系统、方法及管理控制器 | |
US10372639B2 (en) | System and method to avoid SMBus address conflicts via a baseboard management controller | |
US9680930B2 (en) | Data communication system for a storage management system and communication method thereof | |
KR20070050352A (ko) | 부착된 컴퓨터 시스템의 파워 오프시 rfid 태그로서비스 데이터를 전송하는 방법 및 이를 위한 컴퓨터시스템 | |
US10425287B2 (en) | Systems and methods for network topology discovery | |
CN103647820A (zh) | 用于分布式集群系统的仲裁方法及仲裁装置 | |
CN102346707B (zh) | 服务器系统与其操作方法 | |
CN105404596B (zh) | 一种数据传输方法、装置及系统 | |
US10353599B2 (en) | Storage system that has a plurality of managers among which a master manager is switchable | |
CN103853678A (zh) | 板卡管理装置及使用其的板卡管理系统和控制卡 | |
CN116615719A (zh) | 生成用于在数据中心中电隔离故障域的配置的技术 | |
CN103929475A (zh) | 一种以太网架构的硬盘存储系统及硬盘数据操作方法 | |
US8522075B2 (en) | Storage system having storage devices for storing data and control devices for controlling the storage devices | |
US20230140388A1 (en) | Systems and methods for remote management of a network device | |
US9836364B2 (en) | In-band recovery mechanism for I/O modules in a data storage system | |
US10339076B2 (en) | System and method for adaptable fabric consistency validation and issue mitigation in an information handling system | |
JP2015053555A (ja) | データ転送装置、およびデータ転送方法 | |
US8493211B2 (en) | Providing event indications to prevent indication storms in an event model |
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 |