CN106105166A - 在存储设备上启用面向文件的访问 - Google Patents
在存储设备上启用面向文件的访问 Download PDFInfo
- Publication number
- CN106105166A CN106105166A CN201580014234.4A CN201580014234A CN106105166A CN 106105166 A CN106105166 A CN 106105166A CN 201580014234 A CN201580014234 A CN 201580014234A CN 106105166 A CN106105166 A CN 106105166A
- Authority
- CN
- China
- Prior art keywords
- data storage
- storage device
- network
- controller
- host computer
- 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.)
- Pending
Links
Classifications
-
- 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
- G06F15/177—Initialisation or configuration control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1847—File system types specifically adapted to static storage, e.g. adapted to flash memory or SSD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1824—Distributed file systems implemented using Network-attached Storage [NAS] architecture
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Information Transfer Systems (AREA)
- Stored Programmes (AREA)
Abstract
公开了用于提供对数据存储的访问的系统和方法。某些实施例提供了一种数据存储设备,其包括:网络基础设施,所述网络基础设施包括被配置为通信地耦合至网络控制器的网络设备;文件服务器模块,其与所述网络设备耦合并被配置为:在主机系统获得了由网络地址服务器模块所分配的网络地址之后,经由网络设备从主机系统接收文件级或对象级的命令。所述数据存储设备还包括使得主机系统能够从所述数据存储设备启动的启动镜像服务器模块。
Description
技术领域
该公开涉及数据存储系统。更加特定地,该公开涉及用于提供对数据存储的对象级和/或文件级的访问的系统和方法。
背景技术
某些数据存储系统被配置为与主机系统进行通信,并且向其提供对数据存储的访问。数据存储设备通常向主机系统提供对存储在其上的数据的块级的访问。
附图说明
出于说明的目的在附图中描绘了各种实施例,并且这些实施例无论如何不应被解释为限制该公开的范围。另外,可以对所公开的不同的实施例的各种特征进行组合以形成额外的实施例,所述额外的实施例也是该公开的一部分。
图1示出了根据在本文中所公开的一个或多个实施例的数据存储系统的框图。
图2示出了根据在本文中所公开的一个或多个实施例的数据存储系统的框图。
图3示出了根据在本文中所公开的一个或多个实施例的数据存储系统的框图。
图4示出了根据一个或多个实施例的数据存储设备。
图5示出了根据一个或多个实施例的数据存储设备。
图6示出了根据一个或多个实施例的数据存储设备。
图7是根据一个实施例的示出了用于由主机访问数据存储设备的过程700的流程图。
图8A和8B示出了根据一个或多个实施例的数据存储设备。
图9示出了根据一个或多个实施例的数据存储设备。
图10示出了根据一个或多个实施例的数据存储设备。
图11示出了根据一个或多个实施例的数据存储设备。
图12是根据一个或多个实施例的示出了用于由数据存储设备向主机系统提供存储访问的过程流程图。
具体实施方式
尽管描述了某些实施例,但这些实施例仅仅是作为示例的而呈现的,并且不旨在限制保护的范围。事实上,可以以多种其他形式来实施在本文中所描述的新颖新方法和系统。此外,可以对在本文中所描述的方法和系统的形式进行各种省略、替换和改变而不脱离保护的范围。
在本文中提供的标题仅仅是为方便起见,而不一定要影响所要求保护的发明的范围或含义。概括地说,在本文中公开的是与数据存储设备相关的示例配置和实施例,以及数据存储设备中的控制器电路板布局。
概述
在一个实施例中,在支持网络的数据存储设备中提供网络基础设施,例如,局域网(LAN)基础设施。设备和基础设施可以作为虚拟组件而被添加至一个或多个附接点。这样的配置可以允许使用LAN协议和/或与附接总线(例如无线网络、以太网、通用串行总线(USB)、PCIe等)的上层软件兼容性。作为示例,可以将一个这样的设备经由一个或多个总线而附接至膝上型计算机或其它计算设备。在这样的配置中,膝上型计算机或其它计算设备可以能够访问由数据存储设备所提供的虚拟LAN基础设施、以及由LAN基础设施(例如,地址服务器(例如动态主机配置协议(DHCP))、启动镜像服务器、存储服务器等)所提供的任何服务。
通常,磁盘驱动器、固态驱动器、混合驱动器或类似的数据存储组件(下文中统称为“存储驱动器”、“数据存储驱动器”、“存储设备”,或“数据存储设备”)可以经由被设计用于传输存储命令的接口总线而附接至系统。通常由存储设备所接收的命令可以包含提供单独的数据块的布局和/或检索信息的逻辑块地址(LBA)。例如,数据块的大小可以是512字节。在某些实施例中,存储命令大体上不包含关于相应的块如何彼此相关的信息。即,存储命令不包含对象级(例如,“二进制大数据块(blob)”)或文件级的信息。
因为存储驱动器通常仅提供块级的访问,因此,这样的驱动器主要基于与可以在LBA的范围内如何读写数据有关的性能度量来区分。例如,速度、功耗、振动、安全性、访问模式等代表感兴趣的性能特征。这样的访问方法驱动存储设备朝向基于机械运动和机械运动的抑制(例如,缓存)来提供访问简档的方向。在本文中所公开的某些实施例提供了文件级和/或对象级的存储访问,这可以允许存储驱动器对数据存储操作采取更高程度的控制。
尽管在本文中在特定的附接总线或一些附接总线(BOA)的上下文中公开了某些实施例,但在本文中所公开的原理可以应用于任何合适或期望的BOA。针对数据存储驱动器(例如,硬盘驱动器(HDD)或固态驱动器(SSD))的一些BOA包括:串行ATA(SATA)、串行附加式SCSI(SAS)、通用串行总线(USB)、IEEE 1394(火线)、以太网、无线局域网(WLAN)、eMMC/UFS、非易失性存储器主机控制器接口规范(NVMHCI)等。这样的总线可以经由“系统总线”连接至主机系统。一些系统总线包括:PCI、PCI-X、PCIe、Thunderbolt、ISA、EISA、S-100,AGP等。
图1示出了根据在本文中所公开的一个或多个实施例的数据存储系统的框图。系统100包括通过相应的BOA连接至系统总线150的多个存储驱动器(驱动器A、驱动器B、驱动器C)。各种类型的BOA可以与各种优点和/或缺点、以及不同级/类型的系统支持相关联。作为示例实施例,SAS和SATA产品(以及使用其它BOA的设备)可以被配置为附接至允许与系统总线150进行通信的适配器/控制器(例如,172、174、176)。
系统100包括:包括可以被配置为发出存储访问命令的主机应用110的系统栈。应用可以与主机文件系统120进行交互。在某些实施例中,将文件系统120和应用110组合在单个模块中。在一个实施例中,应用客户端130被配置为构建存储访问命令,并且通过系统总线将这样的命令传递至总线专用的控制器。如在本文中所描述的,应用客户端在某些上下文中可以被称为驱动程序。应用客户端/驱动程序130可由基本主机系统(140)运行,该基本主机系统可以包括例如一个或多个处理器(例如,CPU)、系统存储器、内置设备等。在某些实施例中,BOA与系统总线150之间的通信可以经由扩展槽(例如,162、164)。
适配器/控制器(例如,172、174、176)可以被配置为将存储访问命令转换成与SATA兼容的命令(或者与其它附接总线兼容的命令)。应用客户端的一些示例可以包括:高级主机控制器接口(AHCI),其可用于连接SATA设备;增强型主机控制器接口(EHCI),其可用于连接USB设备;以及PCIe上的SCSI,其可用于连接SAS设备。一些BOA(例如以太网)可以不具有标准接口,并且可以需要源自制造商的驱动程序以成为可操作的。系统100的各种控制器可以被集成在系统母板中,或者可以通过扩展槽(例如,162和164)来连接。在某些实施例中,将扩展槽集成在系统母板上。
图2示出了根据在本文中所公开的一个或多个实施例的数据存储系统的框图。图2的图包括可以是数据存储系统中的组件的总线专用控制器的具体实施例。例如,系统200可以包括网络控制器272,例如,网络接口卡(例如,以太网、WiFi)。网络控制器272可以集成在系统母板上,或者可以是通过扩展槽可附接的。此外,网络控制器272可以包括分立芯片,或者可以包括插入芯片中的电缆。在某些实施例中,网络控制器272被配置为连接至互联网290。例如,系统200可以被配置为:使用网络控制器来提供对基于云的存储服务器的主机访问。
在某些实施例中,系统200包括板载的AHCI控制器274,其可以允许附接SATA硬盘驱动器284或者类似的基于SATA的存储设备。系统还可以包括EHCI USB控制器278或其它类型的USB控制器,例如,可扩展主机控制器接口(XHCI)USB控制器。
系统200还可以包括一个或多个NVMHCI设备276,如固态驱动器(SSD)(例如,NAND闪存驱动器)。这样的驱动器可以具有内置控制器,并且因此可以不需要额外的控制器。设备276可以通过扩展槽260附接至系统母板。
使用虚拟网络基础设施的文件级/对象级存储
某些平板计算机、电子阅读器、膝上型/台式计算机、家庭云、企业云、外部云、数据存档、CE/DVR、游戏设备、和/或其它计算设备中可以包含SAS接口和SATA接口。SATA和SAS实现基于块的协议。USB和以太网协议可以提供文件协议和基于块的协议两者。USB文件协议被称为图片传输协议和媒体传输协议(MTP)。这些协议对于识别文件而言具有好的适用性,但可能是低效的并且可能缺乏广泛的支持。
在一些实施例中,支持网络的数据存储设备(例如,基于LAN的设备)可以通过各种BOA来提供否则将不会提供这样的兼容性的网络协议(例如,LAN)和上层软件兼容性。在下文中关于某些示例和实施例描述了提供对数据存储的对象级/文件级访问的网络设备(例如,LAN设备)的各种方面,所述示例和实施例旨在说明而非限制本公开。本公开中无内容旨在暗示所公开的实施例的任何特定的特征或特性是必需的。某些发明的保护范围是由权利要求书定义。
图3示出了根据在本文中所公开的一个或多个实施例的数据存储系统300的框图。系统300包括主机侧的系统栈,其中,应用310可以被配置为经由内部总线302(如NVME或USB)与主机侧的文件系统320进行通信。在某些实施例中,通过由主机侧的系统所控制的文件系统320来访问设备(376、388)中的一个或多个设备。因此,存储设备可以简单地管理使用LBA编址的几比特的数据;数据一致性是由主机系统来管理的。
系统300还包括通过网络连接至主机的一个或多个设备/服务器。针对联网的存储应用,存储驱动器/服务器可以管理相关的文件系统。例如,应用310可以使用应用客户端330通过路径304向存储设备/服务器传送包括文件级(或对象级)信息的存储访问命令,而不是通过所示出的路径302与文件系统320进行通信,其中,存储设备/服务器提供对所存储的数据的文件级/对象级的访问。即,应用310可以发出与基于LBA的存储访问命令不同的打开文件命令,其中,数据组织由驱动器本身来控制的。
在图3的系统300的一个实施例中,存储设备384包括诸如LAN接口(例如,以太网)之类的网络设备,并且能够连接至主机系统的网络控制器374(例如,LAN控制器)。主机系统可以包括额外的网络控制器(例如,用于连接至互联网390的网络控制器372)以及用于连接至诸如USB存储设备之类的其它外围设备的其它类型的BOA(例如,EHCI USB控制器)。在一个实施例中,系统总线350是PCIe总线,其将各种BOA与CPU、存储器、和/或主机的其它硬件组件相连接。主机(例如应用客户端330)可以被配置为运行以控制系统总线、总线专用的控制器、和/或各种设备。
图3的系统示出了实现应用利用其对存储进行编址的可替代的方式的系统的一个实施例。存储设备384(例如,网络附接的存储设备(NAS))可以包括网络设备、文件系统、和用于通过网络提供文件级或对象级的存储访问的存储驱动器(例如,HDD)。例如,HDD设备(或者诸如SSD或混合驱动器之类的其它存储设备)可以包含不驻留在主机上的文件系统。这样的配置可以有效地从主机上移除文件系统管理责任。在某些实施例中,系统300可以允许主机系统上的应用310访问来自例如NVMHCI设备或USB驱动器的数据块中的数据、以及来自NAS的文件。
在本文中所公开的某些实施例提供了用于向主机系统提供文件级或对象级存储的完全填充的虚拟LAN结构。图4是提供这样的基于网络的访问功能的数据存储设备484的实施例的框图。例如,图4的设备484可以表示图3的存储设备384的实施例。在某些实施例中,完全填充的网络基础设施480的所示出的各种组件被嵌入单个设备(例如,数据存储设备484)中,而不是作为单独的组件。即,基础设施480的各种组件可以共享外壳、处理器、控制器、控制板、电连接/总线等。在某些实施例中,网络基础设施480可以包括一个或多个微处理器、能够提供网络地址服务器483(例如,DHCP)的易失性和/或非易失性存储器、启动镜像服务器485(例如,BootP)、对象服务器和/或文件服务器487(例如,SMB2)等。在一个实施例中,网络基础设施480还包括:包括硬盘驱动器、固态存储器、和/或其它非易失性存储介质的存储模块489。
在一个实施例中,将网络基础设施480设置为虚拟网络基础设施,并且可以由地址服务器483向连接至网络设备481的主机提供IP地址,以允许该主机与网络基础设施480进行通信。网络控制器460和网络设备481之间的连接可以是有线或无线的。在一种实现中,网络基础设施480充当仅仅经授权的主机可以与其连接的私有网络。例如,可以仅仅经由网络设备481才可能访问网络基础设施480的一个或多个组件,并且可以仅仅允许经授权的连接,例如,限于与特定的一个主机或多个主机(例如,与系统总线450相关联的主机)的连接。在某些实施例中,可以不允许相同的物理网络上的其它设备作为主机来访问由网络基础设施480所提供的私有网络。这样的特征可以提供针对存储在存储模块489中的数据的增强的安全性。
网络控制器460可以充当主机侧的应用客户端。例如,网络控制器460可以包括主机母板LAN控制器。在LAN实施例中,网络控制器可以根据允许主机与LAN设备进行通信的厂商专用的驱动程序来进行操作。因此,在主机系统中不存在标准化驱动程序的情况下,可以有必要向主机提供驱动程序。在本文中所公开的某些实施例支持使用的USB或其它标准化协议,其中,主机操作系统包含用于与网络基础设施480进行通信的通用型USB网络控制器,以使得主机不需要通过其它方式来获得合适的驱动程序。取决于所实现的存储访问的类型,基础设施480包括捕获文件服务器或对象存储487。
网络基础设施480可以被插入主机系统中,并且呈现虚拟网络接口。即,地址服务器483、启动镜像服务器485、文件服务器/对象存储487、和/或存储模块489对主机而言可以表现为网络。然而,网络基础设施480可以实际上不具有互联网或其它网络连接(因此,所述网络设施480充当虚拟网络基础设施)。启动镜像服务器485可以允许主机直接从基础设施480中启动。例如,一旦主机已经启动,其可以看见网络连接器481,并确定什么设备向其附接和/或这样所附接的设备是否是可启动的。启动镜像服务器485可以允许主机从其启动。在某些实施例中,基础设施480运行认证协议以在向主机提供启动镜像或其它服务之前确保与主机的连接是通过网络连接器481的。在某些实施例中,基础设施480保存针对不同主机设备/系统的多个启动镜像。在一个实施例中,为了增强的安全性,设备484可以包括被配置为防止通过连接而不是通过网络控制器460对数据存储设备的访问的控制器/组件/模块,从而提供对数据存储设备的安全的访问。该增强的安全性特征可以在所描述的一个或多个实施例中呈现并且在其中提供了启动镜像服务器的附图中示出。
在图4中所示出的网络基础设施480以及在本文中所公开的虚拟网络基础设施的其它实施例的模块/组件中的一个或多个可以包括一个或多个内部状态机。此外,在本文中所公开的各种网络基础设施组件可以是虚拟的或物理的组件。
如上所述,系统400提供连接至网络控制器460(例如,LAN控制器)的网络设备481(例如,网络连接器)。以太网或WiFi LAN通常可以提供高达1Gb/s的传输速率,但对于HDD和SSD类型的存储设备来说可能太慢和/或成本太高。在一些实施例中,可能希望5-10Gb/s或更高的传输速率,并且可以使用更快的总线来将设备连接至系统,同时仍然能够使用LAN协议。图5中示出了LAN设备的一个这样的实施例(其可以被称为SATA快速设备)。
出于简洁并且避免以下对图5-12的重复描述,省略了对之前已经关于图1-4中的任何一幅图或所有图介绍了的某些类似和/或元件的描述。在图5中,系统500包括是网络接口580的组件的网络控制器560。图5的系统500包括连接至可以包括例如LAN控制器的网络控制器560的系统总线550(如PCIe总线),其中,所述网络控制器560具有嵌入其中的虚拟网络设备581(例如虚拟LAN设备)。这样的配置可以允许完全在单个数据存储设备584中所拥有的捕获网络(例如,LAN)基础设施580被呈现至系统总线(例如,PCIe)。数据存储设备584可以是SATA快速设备。系统总线550与网络控制器560之间的连接可以经由直接连接(例如,对于板装SSD来说)、或者可以经由电缆或其它附接总线。如图所示,网络基础设施580可以包括文件系统587和/或存储模块589。
尽管在快速SATA的上下文中讨论了图5的系统500,但应当理解的是,可以实现其它类型的总线和/或协议。如上文所提到的,在网络控制器560是LAN控制器的情况下,控制器可能需要厂商专用的驱动程序,这在一些条件下可能是不期望的。
在图6中描绘了在图5中所示出的基础设施的示例实施例。图6示出了包括网络基础设施680的数据存储设备684的实施例,所述网络基础设施680包括具有嵌入式LAN附接(虚拟LAN设备681)的LAN控制器660。LAN控制器660可以被配置为通过PCIe系统总线来提供PCIe分组。LAN设备呈现了由使用服务器消息块(SMB)协议的DHCP服务器、启动镜像服务器685(例如,BootP)、和存储服务器组成的虚拟网络。
服务器消息块(SMB)协议具有相对广泛的支持。针对该协议的应用客户端基于以太网和无线LAN(WLAN)两者。以太网和WLAN接口大体上是普适的,并且SMB在它们中的许多上可用。此外,SMB协议可以有效地被视为通用的或与平台无关的文件系统。
图7是根据一个实施例的示出了用于由主机访问数据存储设备的过程700的流程图。例如,当完全填充的网络基础设施连接至主机时,主机系统(其未在图6中示出,但可能经由PCIe连接)在上电时可以执行所示出的功能中的一个或多个功能。在实施例中,过程700涉及对系统总线(如PCIe总线)进行枚举(框702),以及检测网络设备(例如LAN控制器)的存在(框704)。在框706处,主机可以加载与网络设备相关联的驱动程序,例如LAN驱动程序(例如,EFI)(框706),并且还检测网络设备连接至网络基础设施(例如,经由LAN基础设施)(框708)。例如,主机可以加载通用USB驱动程序。在对网络设备进行初始化(包括对合适的驱动程序进行加载)时,可以使用BIOS。
在框710处,过程700涉及从网络基础设施发出针对地址的请求。例如,主机可以对DHCP或者所附接的网络基础设施的其它地址服务器发出请求。在框712处,主机可以进一步发出针对启动镜像(例如,BootP、预执行环境(PXE)等)的请求,其中,网络基础设施的启动镜像服务器提供例如指向启动镜像的指针。在框714处,主机加载并运行启动镜像。
在框716处,操作系统内核检测网络基础设施中的文件服务器,例如SMB服务器等。接着,操作系统在框718处加载文件服务器驱动程序(例如,SMB客户端),并且在框720处访问与网络基础设施相关联的数据存储。尽管在本文中在文件服务器的上下文中公开了某些实施例,但应当理解的是,在本文中所公开的任何文件服务器可以是用于提供基于对象的(例如,组织成二进制大数据块的数据)存储请求的对象存储。过程700可以至少部分地由主机系统的处理器执行。另外,过程700可以允许启动至Windows、Linux、或其它系统,其中,主机操作系统可以包括或者可以不包括文件系统。
例如,在图6中所示出的网络设备的实施例可以使用标准化的LAN和SMB协议。然而,在不存在物理以太网连接的情况下,设备的速度可能受限于PCIe连接的速度,而不是以太网的速度。LAN至PCIe连接可能不具有普适的驱动程序,并且可以期望在一些实施例中使用更加普适的连接,如图8A和8B所示的那样。
图8A示出了包括提供至USB(例如,USB 3.0)的普适的连接的网络基础设施780(例如,虚拟网络基础设施)的基于USB的数据存储设备784的实施例。如图所示,系统700包括具有嵌入式网络基础设施780(如LAN基础设施)的基于USB的数据存储设备784。不同于在图6中所示出的PCIe LAN控制器,网络基础设施780包括USB LAN控制器760(与虚拟LAN设备781耦合),其可以能够以5-10Gb/s的速度在USB上传输数据。这可以允许设备附接至在现代计算设备中大体上普适的端口(USB),并使用现有基础设施来提供面向文件的存储。图8A和8B中的设备可以被配置为附接至几乎任何现代主机计算平台,并且提供全面的读/写文件访问,而不需要改变底层文件系统或者在主机上安装非本机的文件系统驱动程序。因此,网络基础设施780可以表示大体上普适的存储设备。可替代地或者除了在图8A中所示出的基于USB的设备784,图8B还提供了包括Thunderbolt控制器860的基于Thunderbolt的数据存储设备884,所述Thunderbolt控制器860表示可以在某些实施例中使用的另一种类型的控制器。
在图9中示出了使用PCIe作为附接点的系统的普适的存储设备的另一个实施例。图9示出了具有看起来像是用于连接主机设备的USB主机控制器的网络基础设施980(例如,快速SATA设备)的数据存储设备984的实施例。网络基础设施980包括USB适配器962,其可以是例如EHCI USB控制器。在一个实施例中,USB主机控制器包括连接至虚拟LAN设备981的嵌入式虚拟USB LAN控制器960。这样的设备对支持PCIe的系统可以具有大体上普适的支持。在某些实施例中,网络基础设施980(或在本文中所描述的其它设备/基础设施)的模块中的一个或多个模块可以由包括晶体管门而不是软件实现的逻辑的一个或多个内部状态机组成。例如,USB适配器962、虚拟USB LAN控制器960、和虚拟LAN设备981中的一个或多个可以被配置为内部状态机。网络基础设施980包括BootP镜像服务器985,其可以在基于Linux的系统中使用。作为可替代的方案,图10针对数据存储设备1084示出了与图9类似的附接方案,其中,启动镜像1085针对Windows操作系统(例如,预执行环境(PXE))而被配置。
除了在本文中所公开的几幅图中的以太网控制器之外或作为其替代方案,在本文中所公开的某些实施例还包括无线LAN控制器。无线连接(例如,WiFi)可以呈现与以太网相比具有更高的普遍性的相对普适的附接总线。图11示出了包括经由USB充电并且可以经由USB提供其LAN基础设施的网络基础设施1180的基于USB的数据存储设备1184的实施例。当网络基础设施1180没有附接至USB时,该网络基础设施1180可以呈现无线连接。与无线设备1181(例如,无线收发机)的连接可以是经认证的连接,以便关于数据存储1189和/或启动镜像服务器1185而保持充分的安全性。在某些实施例中,图11的配置可以允许通过USB连接的无线网络/互联网访问。例如,通过经USB连接至数据存储设备1184,主机系统可以在没有独立的无线适配器的情况下获得无线连通性。此外,在包括地址服务器等组件的情况下,数据存储设备1184可以在某些配置中提供无线热点功能。
图12是根据一个或多个实施例的示出了用于由数据存储设备向主机系统提供存储访问的过程流程图。过程1200涉及:在框1202处,将网络设备(例如,LAN设备/控制器)连接至主机系统。这样的连接可以通过主机系统的物理连接端口来进行。过程1200还涉及:使得主机加载网络设备驱动程序(框1204),这可以由所述至主机系统的附接来触发。
在框1206处,存储设备从主机接收网络地址请求,并且在框1208处向主机提供网络地址。例如,网络地址可以由作为数据存储设备的一部分或者与数据存储设备相关联的地址服务器来提供。在框1210处,存储设备从主机接收针对启动镜像的请求。存储设备还响应于所接收的请求而向主机提供指向启动镜像的指针(框1212)。一旦主机启动,过程1200就涉及在框1214处向主机提供对与数据存储设备相关联的数据存储的访问。在某些实施例中,过程1200是至少部分地由数据存储设备的控制器来执行的。
在上文中所描述的LAN设备的实施例提供了许多可能的优点。例如,可以将LAN设备实现为可以从基于LBA的存储切换至基于文件的存储的存储设备,以使得存储设备制造商能够使用更广范围的存储技术解决方案。混合存储设备、分块磁记录(SMR)、和其它复合设备可以在接受和返回数据时能够更好地服务主机。
在一些实施例中,对于包括Windows、苹果、安卓等的多种系统而言,不需要额外的主机软件。可以通过卸载对设备的文件系统操作来降低针对主机系统的成本。
在一个实施例中,LAN设备允许单个设备呈现用于连接主机系统的SATA、PCIe、以太网、无线LAN、和USB。在实施例中,单个LAN设备可以能够连接至上述所有连接器。在一个实施例中,LAN设备可以允许主机设备无线地从存储在所述LAN设备的镜像启动。LAN设备在同一个设备上可以包括USB充电连接和有线附接两者。
额外的实施例
本领域技术人员应当理解的是,在一些实施例中,可以实现其它类型的数据存储系统同时保持在本公开的范围内。此外,在本文中所讨论的过程中采取的实际的步骤可以不同于在图中所描述或示出的那些步骤。根据实施例,可以删除在上文中所描述的步骤中的某些步骤,可以添加其它步骤。
可以在由一个或多个计算机、计算机处理器、或被配置为执行计算机指令的机器所执行的代码模块中实施在之前的部分中所描述的过程、方法、和算法中的每一种,并且由所述代码模块完全地或部分地自动实施。可以将代码模块存储在任何类型的非瞬时性计算机可读存储介质或有形的计算机存储设备(例如,硬盘驱动器、固态存储器、光盘等)上。可以将过程和算法部分地或整体地实现在专用电路中。所公开的过程和过程步骤的结果可以持久地或以其它方式存储在任何类型的非瞬时性计算机存储(例如,易失性或非易失性存储)中。
上述各种特征和过程可以彼此独立地使用,或者可以以各种方式来组合。所有可能的组合和子组合旨在落入该公开的范围内。另外,在一些实现中可以省略某些方法、事件、状态、或过程块。在本文中所描述的方法和过程也不限于任何特定的顺序,并且可以以合适的其它顺序来执行与其相关的框或状态。例如,可以以不同于所具体公开的次序来描述的任务或事件,或者可以将所描述的多个任务或事件组合在单个块或状态中。可以串行、并行、或以一些其它方式来执行示例任务或事件。可以将任务或事件加入所公开的示例实施例或者从所公开的示例实施例中移除。在本文中所描述的示例系统和组件可以以与所描述的不同的方式来配置。例如,与所公开的示例实施例相比较,可以添加、删除、或重新布置元件。
尽管描述了某些实施例,但这些实施例仅仅是作为示例来呈现的,而不旨在限制保护的范围。事实上,可以以多种其他方式来实施在本文中所描述的新颖的方法和系统。此外,可以对在本文中所描述的方法和系统的形式进行各种省略、替换、和改变。所附权利要求及其等同物旨在覆盖将落在保护的范围和精神内的这样的形式或修改。例如,可以将在图中所示出的各种组件实现为处理器、ASIC/FPGA、或专用硬件上的软件和/或固件。同样,可以以各种方式对在上文中所公开的具体的实施例的特征和属性进行组合,以形成额外的实施例,所有这些实施例都落在本公开的范围内。尽管本公开提供了某些优选的实施例和应用,但对于本领域普通技术人员而言显而易见的其它实施例(包括不提供在本文中所阐述的全部特征和优点的实施例)也在该公开的范围内。因此,本公开的范围旨在仅通过参考所附权利要求来限定。
Claims (25)
1.一种数据存储设备,所述数据存储设备包括:
网络基础设施,所述网络基础设施包括:
网络设备,其被配置为通信地耦合至网络控制器;
文件服务器模块,其与所述网络设备耦合,所述文件服务器被配置为经由所述网络设备从主机系统接收文件级或对象级的命令;以及
启动镜像服务器模块,其使所述主机系统能够从所述数据存储设备启动。
2.根据权利要求1所述的数据存储设备,其中,所述网络基础设施是局域网(LAN)基础设施,所述网络设备是LAN设备,并且所述网络控制器是LAN控制器。
3.根据权利要求1所述的数据存储设备,还包括非易失性存储器,所述非易失性存储器被配置为与所述文件服务器模块接合,从而经由所述网络基础设施向所述主机系统提供对存储在其上的数据的文件级或对象级的访问。
4.根据权利要求3所述的数据存储设备,其中,所述网络基础设施还包括与所述网络设备耦合的网络地址服务器模块,所述网络地址服务器模块被配置为向所述主机系统发出网络地址。
5.根据权利要求4所述的数据存储设备,其中,所述网络地址服务器模块、启动镜像服务器模块、和文件服务器模块中的一个或多个是虚拟模块。
6.根据权利要求4所述的数据存储设备,还包括存储在所述非易失性存储器中的启动镜像,其中,所述启动镜像服务器被配置为接收启动镜像请求并用与所述启动镜像相关联的地址来进行响应。
7.根据权利要求4所述的数据存储设备,其中,所述网络地址服务器模块包括动态主机配置协议(DHCP)服务器。
8.根据权利要求1所述的数据存储设备,还包括控制器,所述控制器被配置为防止通过连接而不是通过所述网络控制器来访问所述数据存储设备,从而提供对所述数据存储设备的安全访问。
9.根据权利要求1所述的数据存储设备,其中,所述文件服务器模块包括服务器消息块(SMB)服务器。
10.根据权利要求1所述的数据存储设备,其中,所述数据存储设备包括所述网络控制器。
11.根据权利要求10所述的数据存储设备,其中,所述网络控制器被配置为通信地耦合至所述主机系统的系统总线连接器。
12.根据权利要求11所述的数据存储设备,其中,所述网络设备包括虚拟网络设备。
13.根据权利要求11所述的数据存储设备,其中,所述系统总线连接器包括兼容高速PCI(PCIe)的总线连接器。
14.根据权利要求10所述的数据存储设备,其中:
所述网络控制器包括基于通用系统总线(USB)的网络控制器,所述基于通用系统总线(USB)的网络控制器被配置为连接至所述主机系统的基于USB的控制器。
15.根据权利要求14所述的数据存储设备,其中:
所述网络设备包括连接至所述基于USB的网络控制器的虚拟网络设备。
16.根据权利要求10所述的数据存储设备,其中:
所述网络控制器包括基于Thunderbolt的网络控制器,所述基于Thunderbolt的网络控制器被配置为连接至所述主机系统的基于Thunderbolt的控制器。
17.根据权利要求16所述的数据存储设备,其中:
所述网络设备包括连接至所述基于Thunderbolt的网络控制器的虚拟网络设备。
18.根据权利要求10所述的数据存储设备,其中:
所述局域网(网络)基础设施还包括基于增强型主机控制器接口规范(EHCI)USB的网络控制器,所述基于增强型主机控制器接口规范(EHCI)USB的网络控制器被配置为:连接至所述主机系统的兼容PCIe的总线连接器。
所述网络控制器包括连接至所述基于EHCI USB的网络控制器的虚拟USB网络控制器;并且
所述网络设备包括虚拟网络设备。
19.根据权利要求18所述的数据存储设备,其中:
所述启动镜像服务器包括使所述主机系统能够从所述数据存储设备启动的BootP启动模块。
20.根据权利要求18所述的数据存储设备,其中:
所述启动镜像服务器包括使所述主机系统能够从所述数据存储设备启动的预启动执行环境(PXE)启动模块。
21.根据权利要求1所述的数据存储设备,其中,所述网络设备包括无线网络设备,并且其中,所述网络地址服务器模块和所述文件服务器模块中的至少一个被配置为通过无线连接进行通信。
22.一种提供由主机系统对数据存储设备的存储访问的方法,所述方法包括:
将数据存储设备的网络控制器连接至主机计算系统,所述数据存储设备包括处理器;
向所述主机系统提供指示以加载与所述网络控制器相关联的驱动程序;
使用所述数据存储设备的网络地址服务器模块来向所述主机系统提供网络地址;
使用所述数据存储设备的启动镜像模块来向所述主机系统提供启动镜像信息;
使用所述数据存储设备的文件服务器模块来提供对存储在所述数据存储设备的非易失性存储器上的数据的文件级或对象级的访问;
其中,所述方法是至少部分地使用所述处理器来执行的。
23.一种提供对数据存储设备的访问的方法,所述方法包括:
将网络控制器连接至主机设备;
使得所述主机设备加载与所述网络控制器相关联的驱动程序;
从所述主机设备接收网络地址请求;
响应于所述请求而向所述主机设备提供网络地址;
从所述主机设备接收启动镜像请求;
向所述主机设备提供指向启动镜像的指针;以及
提供对与所述数据存储设备相关联的非易失性存储器的访问;
其中,所述方法是至少部分地由所述数据存储设备的一个或多个处理器来执行的。
24.根据权利要求20所述的方法,其中,所述提供所述网络地址是使用所述数据存储设备的网络地址服务器模块来执行的。
25.根据权利要求20所述的方法,其中,所述提供指向所述启动镜像的所述指针是使用所述数据存储设备的启动镜像服务器来执行的。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201461940232P | 2014-02-14 | 2014-02-14 | |
US61/940,232 | 2014-02-14 | ||
US14/483,497 | 2014-09-11 | ||
US14/483,497 US20150234775A1 (en) | 2014-02-14 | 2014-09-11 | Enabling file oriented access on storage devices |
PCT/US2015/015311 WO2015123234A1 (en) | 2014-02-14 | 2015-02-11 | Enabling file oriented access on storage devices |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106105166A true CN106105166A (zh) | 2016-11-09 |
Family
ID=53798248
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580014234.4A Pending CN106105166A (zh) | 2014-02-14 | 2015-02-11 | 在存储设备上启用面向文件的访问 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20150234775A1 (zh) |
EP (1) | EP3105913A4 (zh) |
CN (1) | CN106105166A (zh) |
AU (1) | AU2015217272A1 (zh) |
CA (1) | CA2939203A1 (zh) |
WO (1) | WO2015123234A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10896047B2 (en) | 2015-12-28 | 2021-01-19 | Hewlett-Packard Development Company, L.P. | Booting a computer using a wireless network connection |
TWI768255B (zh) * | 2019-10-28 | 2022-06-21 | 瑞昱半導體股份有限公司 | 雲端部署開機映像的電子裝置、開機映像的雲端部署系統及其方法 |
CN112784275B (zh) * | 2019-11-01 | 2024-09-03 | 瑞昱半导体股份有限公司 | 电子装置、开机映像的云端部署系统及其方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080162919A1 (en) * | 2006-12-28 | 2008-07-03 | Zimmer Vincent J | Booting utilizing electronic mail |
CN101621800A (zh) * | 2009-08-13 | 2010-01-06 | 北京星谷科技有限公司 | 无线终端与无线路由器之间的认证信息交换方法 |
US20120265324A1 (en) * | 2009-09-09 | 2012-10-18 | Schneider Electric Automation Gmbh | Method for configuration soa-based automation devices and for developing an orchestration machine, production method and production system in service-oriented architecture having embedded service orchestration engine |
WO2012140668A2 (en) * | 2011-04-11 | 2012-10-18 | Ineda Systems Pvt. Ltd | Usb virtualization |
US8589553B2 (en) * | 2010-09-17 | 2013-11-19 | Microsoft Corporation | Directory leasing |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7395324B1 (en) * | 1999-10-18 | 2008-07-01 | Wnf Consulting | Method and apparatus for maintaining a computer system |
US7124152B2 (en) * | 2001-10-31 | 2006-10-17 | Seagate Technology Llc | Data storage device with deterministic caching and retention capabilities to effect file level data transfers over a network |
CA2363411A1 (en) * | 2001-11-21 | 2003-05-21 | Platespin Canada Inc. | System and method for provisioning software |
US20050198629A1 (en) * | 2003-10-10 | 2005-09-08 | Vipul Vishwanath | Method and system for provisioning servers based on a policy and rule hierarchy |
US7627617B2 (en) * | 2004-02-11 | 2009-12-01 | Storage Technology Corporation | Clustered hierarchical file services |
US8364638B2 (en) * | 2005-09-15 | 2013-01-29 | Ca, Inc. | Automated filer technique for use in virtualized appliances and applications |
US9614924B2 (en) * | 2008-12-22 | 2017-04-04 | Ctera Networks Ltd. | Storage device and method thereof for integrating network attached storage with cloud storage services |
US8285681B2 (en) * | 2009-06-30 | 2012-10-09 | Commvault Systems, Inc. | Data object store and server for a cloud storage environment, including data deduplication and data management across multiple cloud storage sites |
TWI428758B (zh) * | 2011-01-13 | 2014-03-01 | Prolific Technology Inc | 電腦系統之操作方法 |
US9003104B2 (en) * | 2011-02-15 | 2015-04-07 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for a file-level cache |
WO2012149983A1 (en) * | 2011-07-08 | 2012-11-08 | Visual Retailing Holding B.V. | Imaging apparatus and controller for photographing products |
WO2013052671A2 (en) * | 2011-10-04 | 2013-04-11 | Advanergy, Inc. | Power control system and method |
US20140226681A1 (en) * | 2013-02-12 | 2014-08-14 | Qualcomm Incorporated | Centralized task management using a router |
-
2014
- 2014-09-11 US US14/483,497 patent/US20150234775A1/en not_active Abandoned
-
2015
- 2015-02-11 EP EP15748754.7A patent/EP3105913A4/en not_active Withdrawn
- 2015-02-11 AU AU2015217272A patent/AU2015217272A1/en not_active Abandoned
- 2015-02-11 WO PCT/US2015/015311 patent/WO2015123234A1/en active Application Filing
- 2015-02-11 CA CA2939203A patent/CA2939203A1/en not_active Abandoned
- 2015-02-11 CN CN201580014234.4A patent/CN106105166A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080162919A1 (en) * | 2006-12-28 | 2008-07-03 | Zimmer Vincent J | Booting utilizing electronic mail |
CN101621800A (zh) * | 2009-08-13 | 2010-01-06 | 北京星谷科技有限公司 | 无线终端与无线路由器之间的认证信息交换方法 |
US20120265324A1 (en) * | 2009-09-09 | 2012-10-18 | Schneider Electric Automation Gmbh | Method for configuration soa-based automation devices and for developing an orchestration machine, production method and production system in service-oriented architecture having embedded service orchestration engine |
US8589553B2 (en) * | 2010-09-17 | 2013-11-19 | Microsoft Corporation | Directory leasing |
WO2012140668A2 (en) * | 2011-04-11 | 2012-10-18 | Ineda Systems Pvt. Ltd | Usb virtualization |
Non-Patent Citations (1)
Title |
---|
ANDREAS FISCHER: ""Multi-Boot vom NAS-Server"", 《HTTP://WWW.COM-MAGAZIN.DE/PARXIS/NAS/MULTI -BOOT-NAS-SERVER-232864.HTML》 * |
Also Published As
Publication number | Publication date |
---|---|
US20150234775A1 (en) | 2015-08-20 |
AU2015217272A1 (en) | 2016-09-08 |
EP3105913A4 (en) | 2017-07-19 |
EP3105913A1 (en) | 2016-12-21 |
CA2939203A1 (en) | 2015-08-20 |
WO2015123234A1 (en) | 2015-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10296328B2 (en) | Infrastructure configuration and inventory manager | |
ES2552530T3 (es) | Método y dispositivo de almacenamiento de datos | |
US10714141B2 (en) | Method for accessing shingled magnetic recording SMR disk, and server | |
US20170250802A1 (en) | Information-processing system, information-processing apparatus, management apparatus, and processing method | |
US10346071B2 (en) | Validating firmware for data storage devices | |
CN106557344A (zh) | 用于自动安装系统软件的计算机可读介质、服务器及方法 | |
CN104040516A (zh) | 用于数据去重的方法、设备和系统 | |
US10067685B2 (en) | Identifying disk drives and processing data access requests | |
TW201145022A (en) | Virtualization of storage devices | |
US20120117367A1 (en) | Electronic apparatus and booting method thereof | |
CN105264508A (zh) | 用于启用具有两个逻辑单元的网络附加存储的方法和设备 | |
CN104461687A (zh) | 一种虚拟机配置信息的存储方法及装置 | |
US20160112342A1 (en) | Machine providing method, machine providing system and computer-readable recording medium having stored therein machine providing program | |
CN106105166A (zh) | 在存储设备上启用面向文件的访问 | |
US20140372745A1 (en) | Booting a server using a remote read-only memory image | |
US9514040B2 (en) | Memory storage device and memory controller and access method thereof | |
CN105260137B (zh) | 在sas存储系统中实现hba卡访问sata磁盘的方法及设备 | |
WO2016165280A1 (zh) | 操作系统部署方法和系统 | |
CN104239245A (zh) | 电子系统与运作方法 | |
US10318459B2 (en) | Peripheral device server access | |
US9710170B2 (en) | Processing data storage commands for enclosure services | |
CN103729233A (zh) | 一种多虚拟机管理方法和装置 | |
KR102213665B1 (ko) | 인증 프로그램을 갖는 메모리 카드, 그것을 포함하는 스토리지 시스템, 및 그것의 동작 방법 | |
CN109299025B (zh) | 一种后端存储设备的管理方法、装置、设备以及存储介质 | |
TWI607317B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20161109 |
|
RJ01 | Rejection of invention patent application after publication |