CN104735123A - 用于云计算的大容量存储虚拟化 - Google Patents
用于云计算的大容量存储虚拟化 Download PDFInfo
- Publication number
- CN104735123A CN104735123A CN201410771149.XA CN201410771149A CN104735123A CN 104735123 A CN104735123 A CN 104735123A CN 201410771149 A CN201410771149 A CN 201410771149A CN 104735123 A CN104735123 A CN 104735123A
- Authority
- CN
- China
- Prior art keywords
- interface
- communication interface
- data
- mass storage
- storage device
- 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
- 238000000034 method Methods 0.000 claims abstract description 30
- 238000004891 communication Methods 0.000 claims description 73
- 238000012545 processing Methods 0.000 claims description 54
- 238000004364 calculation method Methods 0.000 claims description 25
- 238000005516 engineering process Methods 0.000 claims description 8
- 238000007639 printing Methods 0.000 claims 3
- 238000012986 modification Methods 0.000 abstract 1
- 230000004048 modification Effects 0.000 abstract 1
- 230000006870 function Effects 0.000 description 21
- 230000008569 process Effects 0.000 description 20
- 238000005243 fluidization Methods 0.000 description 15
- 230000002093 peripheral effect Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 230000000712 assembly Effects 0.000 description 5
- 238000000429 assembly Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000010187 selection method Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- APTZNLHMIGJTEW-UHFFFAOYSA-N pyraflufen-ethyl Chemical compound C1=C(Cl)C(OCC(=O)OCC)=CC(C=2C(=C(OC(F)F)N(C)N=2)Cl)=C1F APTZNLHMIGJTEW-UHFFFAOYSA-N 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000033764 rhythmic process Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
-
- 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
-
- 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]
-
- 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/0662—Virtualisation aspects
- G06F3/0664—Virtualisation aspects at device level, e.g. emulation of a storage device or system
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
- A63F13/352—Details of game servers involving special game server arrangements, e.g. regional servers connected to a national server or a plurality of servers managing partitions of the game world
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
- A63F13/355—Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an encoded video stream for transmitting to a mobile phone or a thin client
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/90—Constructional details or arrangements of video game devices not provided for in groups A63F13/20 or A63F13/25, e.g. housing, wiring, connections or cabinets
- A63F13/95—Storage media specially adapted for storing game information, e.g. video game cartridges
-
- 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/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- 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
- 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- 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)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Bus Control (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
- Stored Programmes (AREA)
Abstract
本公开的各方面涉及用于使用操作地耦接到主机系统的接口卡或其它特殊硬件单元虚拟化大容量存储装置的系统和方法。在各个实施方式中,接口装置和主机系统可以以对终端系统透明的方式共同地仿真用于另一“终端”计算系统的大容量存储装置。此外,在各个实施方式中,可以以对所述终端系统透明的方式仿真大容量存储装置,而无需修改终端平台的硬件或软件架构。
Description
相关申请的交叉引用
本申请涉及由RoelofRoderick Colenbrander在与本申请同一天提交的名为“VIDEO LATENCY REDUCTION”的共同转让共同未决的美国申请第___号(代理人案号第SCEA13037US00号),所述申请的全部内容以引用的方式并入本文。
技术领域
本公开的各个方面涉及存储虚拟化。本公开的其它方面涉及用于被设计用于嵌入式平台的云计算应用的存储虚拟化。
背景技术
随着电信系统的带宽和数据传送速率的持续发展,如今的许多计算需求正朝基于网络的分布式计算系统(统称为“云计算”)转变。一般来说,云计算涉及离线下载某些计算任务给一个或多个远程计算资源和使用远程计算资源来给本地装置提供服务。云计算通常被实施为客户端-服务器模型,其中远程服务器给本地客户端装置提供所需计算能力,从而避免本地客户端装置需要自身执行某些计算任务。在许多实例中,可将计算资源完整或几乎完整地离线下载到服务器,使得客户端提供较少或只提供用户接口用于云计算任务,从而允许任何联网装置潜在地用作特定应用的客户端。
云计算已采用于多种计算服务中,包括远程数据存储方案、音乐和视频流化服务以及多种其它消费者和商业方案。一般来说,云计算提供多种众所周知的好处,包括通过使用共享资源增加效率、增加访问内容的灵活性而不限于特定装置、降低硬件升级可用时的预付成本和其它优点。
其中云计算尚未达到广泛采用的一个领域是日益流行的视频游戏领域。包括个人计算机(PC)游戏、家用机(home console)游戏、手持式机游戏等等的视频游戏仍然是消费者中的流行的娱乐来源。随着可用视频游戏的逐渐增加,云游戏给许多视频游戏需求提供了特别吸引人的方案。理想状况是,在云游戏框架内,用户将能够从巨量的远程存储的游戏中即刻访问任何视频游戏,无需在本地有一份游戏副本、无需等待下载游戏且无需本地处理运行游戏所需的硬件系统或资源。不幸的是,在传统云计算服务器设计内实施这种类型的服务面临多个技术挑战,因此迄今为止阻止广泛采用云游戏使用在许多视频游戏平台。
一个挑战是:如今许多视频游戏的节奏极快且动作紧密,而高级图形需要呈现大量的计算资源。尤其是在基于视频流化的服务器设计(其中远程执行全部游戏计算和图形呈现计算)中,游戏需要能够响应于控制输入以最小到不可感知的延时执行全部这样的任务且将压缩音频/视频流传递到客户端装置。否则,这可能中断玩家的游戏进行且无法复制传统本地执行的游戏会话的响应。
另一挑战源于以下事实:传统上来说,一方面被设计来在个人计算机、膝上型计算机和通用本质的其它计算系统上运行的PC游戏与另一方面被设计来在称作视频游戏机(video game console)的专用系统上运行的单机游戏(console game)之间存在不同。视频游戏机通常被设计为具有专门调整来用于视频游戏环境的独有计算架构的嵌入式平台。使用专用游戏机硬件作为视频游戏平台,尤其是以对于生产如今许多视频游戏所需的图形呈现和游戏计算的高计算资源需求优化硬件的形式,提供了多种好处。因此,虽然PC游戏已实现了一定的流行性,但是单机游戏在传统上仍然占据视频游戏市场且可能在未来继续占据视频游戏市场。
然而,使视频游戏机和其它嵌入式平台适应云流化服务面临多个挑战。专用平台的硬件或软件架构的大量修改可能面临与被设计用于专用平台的应用的兼容问题。因此,传统的存储服务器和存储虚拟化技术并非被设计用于许多这些平台的应用的基于云的流化的可行方案。
本公开是在这种背景下产生的。
发明内容
本公开的实施方式可以包括一种接口装置,其具有第一通信接口、第二通信接口和操作地耦接到所述通信接口的专用处理单元。第一通信接口是大容量存储接口。第二通信接口是扩展接口。专用处理单元包括连接到第一通信接口的大容量存储装置控制器和连接到第二通信接口的直接存储器访问(DMA)引擎。大容量存储装置控制器被配置来通过第一通信接口接收大容量存储数据请求。DMA引擎被配置来通过第二通信接口向主机系统通知大容量存储数据请求。
本公开的另一实施方式可以包括一种系统,其具有:中央处理单元;第一存储器单元,其操作地耦接到中央处理单元;存储处理,其具体实施在第一存储器单元中且可由中央处理单元(CPU)执行;第一通信接口;和操作地耦接到第一通信接口的专用处理单元。第一通信接口是大容量存储接口。专用处理单元具有连接到第一通信接口的大容量存储装置控制器和操作地耦接到CPU的存储器访问接口。大容量存储装置控制器被配置来通过第一通信接口接收大容量存储数据请求。存储器访问接口被配置来向存储处理通知大容量存储数据请求。存储处理被配置来通过访问存储系统来处理数据请求。
另一实施方式可以包括一种方法,其包括:a)在大容量存储装置控制器处从第一计算装置接收大容量存储数据请求;b)用连接到大容量存储装置控制器的存储器访问接口向具体实施在第二计算装置中的存储处理通知数据请求;c)用第二计算装置的存储处理访问具有对应于数据请求的数据的存储系统;d)用第二计算装置的存储处理将对应于数据请求的数据存储在第一存储器单元上;e)用第二计算装置的存储处理编程大容量存储装置控制器以从第一存储器单元访问数据以完成数据请求。
附图说明
通过结合附图考虑下列详述可轻易理解本公开的教导,其中:
图1是通过网络的示例性流化技术的示意图。
图2是通过网络进行的另一示例性流化技术的示意图。
图3是具有接口卡以提供用于终端系统的存储虚拟化的示例性主机系统的示意图。
图4A至图4B是耦接到终端系统的主机系统的示例性计算机架构的示意图。图4A是示例性终端系统架构的示意图。图4B是示例性主机系统和接口卡架构。
图5是具有专用处理单元的示例性接口卡设计的示意图。
图6是仿真大容量存储装置的示例性方法的示意图。
具体实施方式
虽然下列详述为说明目的而包括许多具体细节,但是本领域一般技术人员将明白下列细节的许多变动和更改是在本发明的范围内。因此,提出下文描述的本发明的示例性实施方案且本发明没有任何一般性的损失且不强加限制与请求的发明。
简介
本公开的各个方面涉及用于使用操作地耦接到主机系统的接口卡或其它特殊硬件单元虚拟化大容量存储装置的系统和方法。在各个实施方式中,接口装置和主机系统可以以对终端系统透明的方式共同地仿真用于另一“终端”计算系统的大容量存储装置。此外,在各个实施方式中,可以以对所述终端系统透明的方式仿真大容量存储装置,而无需修改终端平台的硬件或软件架构。
本领域一般技术人员可能已熟悉“虚拟机”软件,诸如VMWare、VirtualBox或Parallel,其允许(例如)较旧的操作系统(例如,WindowsXP)的“虚拟”会话在较新的操作系统(例如,Windows 7)的会话内运行。出于兼容原因,虚拟机软件通常用来模拟物理硬件组件,诸如软件中的硬盘驱动器、网卡、视频卡。根据本公开的各个方面,在其中单单使用软件来虚拟化大容量存储装置不切实际的情形下,专用硬件和软件可虚拟化大容量存储装置。
实施方式细节
为了更好地说明本公开的各个方面,图1中描绘分布式计算系统100的第一说明示例。图1中描绘的分布式系统100涉及通过网络106(诸如互联网)连接的多个计算装置102、104。
在示例性分布式系统中,流化服务器102执行程序108以通过网络106将程序输出的实时流提供给远程连接的客户端装置104。在图1的说明示意图中,程序104可以是视频游戏程序,其根据程序108的执行处理接收自客户端装置104的控制输入且将压缩音频和视频流发送到客户端装置104。位于客户端侧的用户可以通过客户端装置104的用户接口(例如,通过在连接到客户端装置104的显示器和/或扬声器处提供控制输入和接收音频和视频游戏输出)与程序交互。在图1的示例中,用于处理输入、呈现视频游戏图形等等的计算负载可以被完全离线下载到流化服务器102以供远程执行。
为了使用图1中描绘的系统100实施云游戏,流化服务器102可以被配置来不但执行游戏程序108,而且流化服务器102还可以实施具体实施在服务器102中的“流化服务器处理”110,其可以执行各种功能以协调用于在客户端装置104与流化服务器102之间通过网络106通信的程序输入/输出。例如,流化服务器处理110可以具体实施于在与游戏软件108协作的流化服务器102上运行的一个或多个应用中。游戏108连同流服务器处理110的远程执行可以被执行使得客户端装置104处的输入与输出之间的延时最小或没有延时,使得客户端侧的用户感知到正在本地执行程序108。此外,可以访问远程存储的程序的广泛集合以供执行。例如,在云游戏应用中,用户将有可能能够选择被设计用于相关视频游戏平台的任何游戏,且远程服务器将能够根据接收自用户的输入且以所接收的输入和音频/视频输出之间的感知不到延时,来加载游戏、执行游戏并将其输出流化到客户端装置。
在图1中描绘的示例中,这可以通过在相同计算装置(例如,流化服务器102)处执行流化服务器处理110和游戏代码108两者来完成。流化服务器可以通过合适的连接从潜在的任何存储装置(诸如本地连接的大容量存储装置、存储服务器、网络等等)访问选定程序。对于云游戏和其它云计算实施方式,如果对于客户端104在服务器102处执行的软件应用108被设计来运行个人计算机(PC)架构或类似于StreamLiner服务器102的其它计算机架构,那么这可以轻易实施。例如且无限制,对于PC云游戏实施方式,可容易使用的基于x86的服务器不但可以用来实施流化服务器处理110,而且一旦PC游戏程序108被服务器102访问,便立即执行PC游戏程序108。
然而,图1中描绘的示例性技术100无法适用于其中程序108被设计来在嵌入式平台和其它专用架构上执行的某些应用。例如,如果所需程序是被设计用于专用机平台的视频游戏,那么游戏软件在没有某种类型的仿真器的情况下可能无法在服务器架构上运行。不幸的是,在其中最小化延时是主要问题的云计算环境中,在流化服务器上执行的软件仿真器可以是非所需方案,尤其是在其中由仿真器在运行时解译代码将引入可感知延迟的图形密集型应用中。此外,在许多情况下,为期望云服务的每个独有架构建立专用服务器将是不切实际的。在其它情形中,仿真器可能是所需方案,但是合适的仿真器可能不可用。
为了解决这些挑战,可以希望在服务器侧处使用额外计算装置来执行程序,因而额外计算装置执行所需程序,同时耦接到计算装置的流化服务器执行其常见功能以与客户端装置交互。图2中描绘使用这种技术的分布式系统200的说明示例,其中“终端系统”212连接到流化服务器202且终端系统执行所需应用208。如果终端系统没有另外地具有足够多的空闲资源用于这些功能,那么流化服务器可提供资源用于网络存储和视频压缩。
在某些实施方式中,终端系统212可以是嵌入式系统或具有专用架构的其它计算系统,诸如视频游戏机,同时流化服务器202可以基于任何计算架构,诸如x86指令集架构,其被调整来提供流化服务且不一定需要具有与终端系统212相同的架构。流化服务器202可以被配置来执行流化服务器处理202且给终端系统程序208提供常见的云服务,且服务器侧处的计算装置(例如,流化服务器202和终端系统212)可以共同地操作来给客户端装置204提供视频游戏流化服务。
图2中描绘的简化示意图中的配置可以提供实用又灵活的服务器方案,其可被轻易调整来用于被设计用于多种不同计算架构的多种不同软件平台。例如,潜在地任何流化服务器202可被调整来通过本地连接运行软件的终端系统来流化被设计用于多种不同计算架构的软件应用。
然而,在服务器侧处的终端系统212上执行所需软件在云计算框架内可能面临某些挑战。例如,类似于上文关于图1中描绘的示例性设置描述的处理,终端系统212可能够执行多种不同程序中的任何选定程序以用于当前流化会话。同样地,程序208在终端系统212上运行所需的对存储装置的任何其它数据读取/写入由于终端系统而可能免于本地存储装置的限制。存储数据请求通常是通过终端系统212中的本地大容量存储装置连接(诸如串列高级技术附件(SATA)连接或其它大容量存储接口)来完成。将希望提供虚拟化存储方案用于终端系统,且无需用存储虚拟化处理来修改其硬件架构或消耗额外计算资源。
为了更好地明白云游戏环境的背景中的挑战,下列示例说明可如何在特定云游戏实施方式中使用图2中建立的服务器。具体来说,客户端装置204处的用户可以被指派给“云终端系统”212以进行游戏会话。当用户开始玩游戏时,用户想要玩的游戏208应在云终端系统212上可用。类似地,一旦游戏会话结束且用户这样做,终端系统212应恢复到原始(clean)状态以由不同用户进行下一次会话,这可能涉及不同游戏。
不幸的是,以此方式使用终端系统212内的存储虚拟化软件虚拟化游戏存储将消耗有价值的计算资源(例如,CPU和存储器)且可能产生与游戏的兼容问题。此外,在涉及重计算负载(诸如并有高级图形和其它资源密集型任务的许多现代视频游戏)的应用中,为存储虚拟化消耗来自终端的额外资源可能并非可行方案。
图3中描绘根据本公开的各个实施方式的存储虚拟化技术的说明示例。在图3的示例性虚拟化技术中,使用具有专用硬件块的“主机系统”仿真大容量存储装置,使得可以对连接到其的终端系统仿真所述大容量存储装置。可以在类似于图2中描述的云流化应用中实施图3的示例性技术,其中终端系统可以是运行所需应用的专用系统,且用于大容量存储装置仿真的主机系统是流化服务器。然而,应理解可以在其它背景中实施根据本文的原理的存储虚拟化,包括游戏流化以外的云计算应用和其中期望计算装置的存储虚拟化(尤其是其中期望所述存储虚拟化而无需修改计算装置)的本地实施方式。
更详细地转向图3的示例,对于所述接口装置使用耦接到主机系统302的专用接口装置320对终端系统312提供虚拟化存储装置,在这种情况下所述主机系统302是流化服务器。接口装置320连同具体实施在主机系统302中的存储处理322一起可以执行接收自终端系统312的各种大容量存储数据请求。
在图3中描绘的示例中,接口装置320可以是如同终端系统的实际大容量存储装置的硬件块,但是在后台,其数据可以来源于存储服务器(没有画出)。普通的大容量存储装置通常使用SATA连接或其它标准的大容量存储接口。为了仿真大容量存储装置和接收数据请求,图3的接口装置320可以包括类似SATA连接或可与终端系统的大容量存储通信接口兼容的其它大容量存储通信接口连同额外组件,诸如专用处理单元、存储器和其它组件。
在各个实施方式中,为了促进容易将存储虚拟化功能集成到计算系统(诸如流化服务器或其它“主机”系统)中,接口装置320可以被实施为扩展卡,诸如快速PCI附加卡,其可以通过主机系统的扩展接口连接到主机系统302。在操作期间,接口卡可以通过其大容量存储装置连接(例如,通过SATA端口)从终端系统接收硬盘读取和/或写入请求。这些数据访问请求可以最终由主机系统302上的存储应用322处理,且存储应用可以从文件、存储服务器或别处访问数据。
虽然存储虚拟化功能不一定是必要的,但是接口装置320还可以可选地包括额外组件以提供可以尤其在云流化背景有用的其它功能。例如,为了支持主机系统中的流化功能,接口装置320可以可选地包括一个或多个额外接口,其用于音频和/或视频数据传送以及支持经由主机系统302的流化处理的音频/视频(A/V)流化的对应功能,以支持云游戏或其它云计算实施方式。接口装置320的可选A/V接口可以与终端系统312兼容,且可以根据多种A/V标准(诸如HDMI、复合视频、分量视频、S视频或另一A/V通信接口)中的任何一个来配置。
图4A和图4B提供了根据本公开的各个实施方式的接口装置和某些计算装置的说明硬件/软件架构的更详细概述。图4A说明了根据本公开的各个方面的示例性终端系统的计算架构。图4B说明了具有根据本公开的各个实施方式的示例性接口装置的示例性主机系统的计算架构。在一些实施方式中,终端系统可以是现有的嵌入式系统、视频游戏机或具有专用架构的其它计算装置。在一些实施方式中,主机系统可以是被配置来将终端系统上运行的应用流化到例如如图2中描绘的客户端装置的流化服务器。
示例性终端系统412可以包括大容量存储主机控制器424(有时候也称作主机适配器或主机总线适配器),其可以是(例如)SATA主机控制器(AHCI)、USB主机控制器或用于另一大容量存储通信接口标准的主机控制器。终端系统412还可以包括对应的大容量存储装置驱动器426,其可与大容量存储主机控制器424兼容以促进经由存储装置接口的通信。为了连接到大容量存储装置,通常主机控制器424将使用对应的控制器(取决于终端系统的大容量存储装置接口,诸如SATA电缆、USB电缆或其它连接器)连接到大容量存储装置。具体来说,主机控制器424将连接到其所连接的特定大容量存储装置的大容量存储装置控制器(有时候也称作“盘控制器”,但是大容量存储装置也可以是固态驱动器或无需使用盘的其它存储装置)。在图4A至图4B中描绘的示例性系统中,主机控制器424反而连接到接口装置420,接口装置420连同其主机系统402一起仿真终端系统412的大容量存储装置。
接口装置420可以包括用于大容量存储装置连接的通信接口,其可与由终端系统412使用的存储通信接口兼容。接口装置的通信接口可以包括一个或多个大容量存储端口414,诸如一个或多个SATA端口、USB端口或其它可兼容大容量存储接口硬件。接口装置402可以包括操作地耦接到大容量存储装置硬件接口的专用处理单元,其中专用处理单元具有专用于执行与大容量存储装置仿真相关的功能和可选地用于通过存储连接器从终端系统402接收信号的其它功能的逻辑428。逻辑428还可以支持通过额外通信接口与主机系统402的通信,所述额外通信接口可以与主机系统402的外围总线通信以与具体实施在主机系统中的存储处理接口。例如且无限制,接口装置420可以是附加卡,其通过扩展端口(诸如外围组件互连(PCI)、)、PCI扩展(PCI-X)、快速PCI(PCIe))或促进例如经由外围总线与主机系统402通信的另一接口与主机系统402处理总线通信。主机系统可以包括接口装置驱动器426以支持经由接口装置420的信号交换。
在某些实施方式中,专用处理单元可以是现场可编程门阵列(FPGA)、专用集成电路(ASIC)或具有根据本文描述的原理配置的专用逻辑单元的另一专用处理单元。专用处理单元的逻辑单元428还可以包括专用逻辑以除了存储虚拟化以外还支持用于云流化的各种功能,诸如对来自在终端系统402上运行的应用408的输出的音频/视频采集,在涉及云游戏的实施方式中这可以促进由主机系统402通过网络流化A/V输出。接口卡402可以包括A/V通信接口,诸如一个或多个HDMI端口或其它A/V端口,以及通过对应的A/V连接器接收在终端系统上运行的应用的A/V输出的可兼容A/V接收器430。
在图4A至图4B中描绘的示例中,具体实施在专用处理单元的逻辑428中的大容量存储装置控制器受控于主机系统402中的接口装置驱动器426,且具体实施在主机系统402中的存储处理432(例如,在中央处理单元404上运行的软件应用)可以为接口装置驱动器426提供数据传输服务。例如,如果终端系统412请求从其硬盘驱动器或经由大容量存储连接器连接到的其它大容量存储读取数据,那么这种请求可以使得数据经过大容量存储主机控制器424、包括在逻辑428中的大容量存储装置控制器、接口装置驱动器426而至具体实施在主机系统中的存储处理432。存储处理432然后可以检索可获自多个来源的数据。例如,存储处理432可以从硬盘驱动器或本地连接到主机机器的其它大容量存储装置检索数据,或其可以通过网络从存储器驱动器或存储服务器检索数据。无论存储处理使用何种方法,对于终端系统402来说均是透明的。
在某些实施方式中,主机系统402可选地可以是被调整来通过网络传输来自在终端系统412上运行的应用408的输出的流的流化服务器。例如,主机系统402可以包括A/V处理434,其可以是在主机系统402上运行的应用。A/V采集处理可以与专用处理单元中的专用逻辑428协调以采集通过连接到接口卡420的A/V连接器发送的A/V流。流化服务器402可以包括以太网适配器或其它网络适配器436和对应的以太网驱动器或用于主机402的操作系统的其它网络驱动器438,其中可兼容网络库439提供用于网络通信的协议支持。主机系统还可以包括受控于对应的存储器驱动器442(例如,tmpfs)且由文件系统库444支持的系统存储器440。流化服务器处理446可以在主机系统402上运行以执行与将实时流提供给通过网络连接的客户端装置相关的功能(图4A至图4B中没有描述)。
在一些情形下,可以使用远程存储服务器448(以图4A中的虚线说明)、存储器440和存储器驱动器442的组合来实施数据存储。例如且无限制,在一些实施方式中,数据只可以读取自存储服务器448且由存储器驱动器442写入到存储器440。
终端系统412可以包括各种其它组件以支持应用408,其可以是例如被设计用于现有的嵌入式平台的视频游戏软件。终端系统412可以包括用于访问存储装置的文件系统层427以及用于支持应用408的图形呈现的各种组件。除了中央处理单元(CPU)以外,终端系统412还可以包括图形处理单元(GPU)450,其可以由图形驱动器452操作且由图形库454支持。可以包括诸如HDMI传输器的A/V传输器456,以通过可兼容A/V连接器将应用音频和/或视频输出传输到主机系统中的主机接口装置。
现在转向图5,根据本公开的各个实施方式描绘可以在接口卡420上实施的示例性接口装置520、接口装置520上的一些组件和示例性专用处理单元560的内部构件的示意图。例如且无限制,接口装置520可以被配置为具有附接到印刷电路板(PCB)的组件的附加卡,且接口卡520可以通过主机硬件接口562(诸如外围扩展端口或在连接时允许主机系统的外围总线的通信的其它扩展通信接口)与主机系统的外围总线接口。
示例性专用处理单元560可以包括专用于根据本公开的各个方面的专用功能的各种逻辑块。例如,专用处理单元可以被实施为FPGA、ASIC或类似专用处理单元。专用处理单元560可以包括主机接口块564,其实施用于接口卡520与接口装置560的主机系统(图5中没有描述)的外围总线之间的通信接口的协议堆栈的部分。
如快速PCI的通信总线可被视为具有多层的协议堆栈。不同的通信协议具有不同层。通常顶部处存在“应用层”,然后中间存在一些传输相关层且底部处存在某个物理层。主机接口块564无需实施这个协议堆栈的全部层。相反地,主机接口块可以维护物理层,其负责例如通过电或光学信号将数字信息置于通信链路上。主机接口块还可以负责协议堆栈的“传输层”的部分或可能全部,但是无需负责应用层。
例如且无限制,主机接口块564可以是用于通过快速PCI连接的通信的硬PCIe块,且其嵌入使得PCIe接口或其它接口访问主机系统的本地总线的协议堆栈。主机接口块564可以集成到存储器访问接口单元566中,存储器访问接口单元566连同专用处理单元560的其它逻辑单元可以通过主机硬件接口562(例如使用对主机系统的请求中断)直接访问主机系统的系统存储器。
在一些实施方式中,存储器访问接口566可以包括提供存储器访问和中断功能的组件。特定地说,主机接口块564可以被配置来以使得使用存储器映射输入/输出(I/O)从主机系统可访问任何芯片上装置的方式,在芯片上互连件(on-chip-interconnect)572与主机硬件接口562之间提供连接。这种功能将允许主机系统编程连接到芯片上互连件572的任何装置,诸如大容量存储控制器570、存储器控制器576或GPIO 582。
存储器访问接口566还可以包括中断连接565,其允许任何连接的装置(例如,大容量存储控制器570)对事件(例如,(大容量存储读取请求)达到)产生中断。如果只存在一个装置与主机硬件接口硬件562接口,那么可期望存储器访问接口提供这种功能。
存储器访问接口566还可以(可选地)包括直接存储器访问(DMA)引擎567。如本文所使用且一般为本领域一般技术人员所了解,术语直接存储器访问(DMA)是指允许计算机内的某些硬件子系统独立于计算机的中央处理单元(CPU)访问系统存储器的特征。DMA引擎567可以在主机接口块564与主机硬件接口562之间实施数据移动操作。在一些实施方式中,存储器访问接口单元566可以实施并非由主机接口块564提供的协议堆栈(例如,快速PCI)的部分,诸如将主机接口块564连接到芯片上互连件572。
为了用于大容量存储装置虚拟化的功能的目的,接口装置520可以包括一个或多个大容量存储装置通信接口568(其可以一个或多个SATA端口569和/或连接器的形式实施)或其它大容量存储装置通信接口,且其可以附接到接口装置520的电路板。例如且无限制,接口卡520可以包括两个SATA端口以促进到两个终端系统的连接,但是注意接口装置可以替代地包括不同数量的大容量存储装置连接器,使得单个接口装置520可以服务于不同数量的终端系统。对于大容量存储装置连接器568中的每个,可以在可与特定大容量存储通信接口(例如,SATA)兼容的专用处理单元560中具体实施对应的大容量存储装置控制器570。
一个或多个大容量存储装置控制器570可以通过芯片上互连件572连接到专用处理单元560的其它逻辑单元,这可以提供大容量存储装置控制器572中的每个对主机接口组件(例如,快速PCI)访问。芯片上互连件可以被配置为标准的芯片上总线架构,其被配置来连接专用处理单元(例如,FPGA或ASIC)上的功能块。例如,如果专用处理单元560是FPGA,那么可以使用主-从架构(例如,高级微控制器总线架构(AMBA),诸如AXI4或AXI4-Lite)或另一合适的芯片上总线架构,来互连专用处理单元的组件。AXI4可以用于大数据传输且AXI-Lite可以用于低性能连接或配置目的。可以根据如图5中说明的主-从类型配置来配置专用处理单元逻辑块的芯片上互连件。在说明的示意图中,“M”和对应的粗线表示主连接,“S”和对应的虚线表示从连接,且“Ctrl”表示控制。
接口装置520可以包括可以受控于专用处理单元560的逻辑中提供的存储器控制器576的一个或多个存储器单元574。存储器单元可以根据终端系统发出的数据请求,支持由通过大容量存储接口568连接的终端系统与通过主机硬件接口562连接的主机系统之间的数据传输。例如,根据本文描述的原理,存储器单元574可以是暂时RAM单元(诸如DDR3 RAM)或被配置来暂时存储由终端系统发出的读取请求请求的数据。存储器控制器576可以连接到芯片上总线架构572以根据接收自专用处理单元560的其它逻辑单元的信号执行存储器读取/写入操作。
在操作期间,通过存储接口560连接的计算装置(图5中没有描述)的大容量存储主机控制器可以请求大容量存储装置控制器570执行读取、写入和其它操作。在接收到这样的请求时,大容量存储装置控制器570可以通过主机硬件接口562(例如,快速PCI),使用请求的中断通知主机系统(图5中没有描述)上的接口装置驱动器和存储处理。主机系统上的软件组件然后可以决定处理请求。
例如,在读取请求来自终端系统的情况下,主机系统(没有描述)中的存储应用可以从某个存储源检索这样的数据且将数据存储在跨主机硬件接口562的接口装置存储器单元574中。当完成时,主机系统上的存储应用可以编程专用处理单元560上的大容量存储装置控制器570以通过从接口装置存储器574读取完成读取请求。例如且无限制,假设大容量存储主机控制器424可以是SATA控制器。对于SATA事务(读取/写入且存在其它),流化服务器402上的大容量存储主机控制器424产生中断。流化服务器402上的大容量存储装置主机驱动器426检查大容量存储装置主机控制器424的状态。如果确定请求是“写入请求”,那么将大容量存储主机控制器424编程为将其数据写入到接口装置520上的存储器574(例如,DDR3存储器)。为这样的目的,大容量存储主机控制器424可以自身内置DMA引擎567。当已经将数据写入到存储器574时产生另一中断。大容量存储主机驱动器426然后使用DMA引擎567发出DMA请求以从存储器574复制到主机系统存储器440。
可以与存储处理直接共享主机系统存储器440中的缓冲器。当进行主机系统存储器440的DMA事务时,向存储处理通知写入请求且处理通知将完成写入事务。其可以将数据写入到硬盘、网络存储装置或其愿意存储数据的任何位置。
注意,读取或写入操作可能无需接口装置520上的存储器574。大容量主机存储控制器424可直接写入到主机系统存储器440。例如,存储器访问接口单元566可将快速PCI映射到AXI4且还将AXI4映射到快速PCI。这个特征将允许任何AXI4主装置写入到主机系统存储器。
接口装置可选地可以包括提供用于在终端系统上运行的流化应用的额外功能(诸如云游戏流化)的各种其它组件。例如,专用处理单元560还可以包括用于从一个或多个终端系统采集A/V流的一个或多个音频和/或视频采集块578。一个或多个A/V采集逻辑单元578中的每个可以操作地耦接到对应的A/V接收器530,其中的每个又可以连接到合适的A/V硬件接口580,诸如HDMI端口或如图5中说明的其它A/V连接端口。来自终端系统的A/V输出可以通过A/V接口580使用可兼容A/V连接器连接到A/V接收器530。A/V采集单元578可以通过主机硬件接口562与主机系统上的接口装置驱动器和A/V处理通信,主机硬件接口562可以连接到主机系统总线(例如,外围总线),且主机系统然后可以通过网络将A/V流传递到客户端装置。
接口装置582还可以包括一个或多个通用输入/输出(GPIO)块以支持额外功能。例如且无限制,GPIO块中的每个可以连接到终端系统中的对应终端系统以提供额外功能,诸如终端系统的功率控制和其它功能。
如上文提及,专用处理单元560可以根据本公开的各个方面被实施为例如FPGA、ASIC或具有专用于某些功能的块的其它集成电路,诸如大容量存储装置控制器、存储器控制器、DMA引擎等等。在本公开的某些实施方式中,这些单元中的一个或多个可以被提供作为可再用逻辑单元或本领域中统称为IP块或IP核心的其它芯片设计。
图6描绘了根据本公开的各个方面的用于仿真终端系统612的大容量存储装置的示例性流程图。在图6中描绘的示例中,相互操作地耦接的接口装置620和主机系统602被配置来仿真终端系统612的大容量存储装置。虽然图6的说明示例为了解释目的而描绘了对由终端系统发出的读取请求的仿真,但是注意本公开的实施方式可以被配置来使用说明的组件来完成由终端系统发出的写入请求和其它大容量存储数据请求。
如图6中所示,可以对于终端系统612或任何其它计算系统仿真大容量存储装置,任何其它计算系统可以具有被配置来运行各种应用(没有描述)的中央处理单元(CPU)681和存储器单元682。终端系统612可以通过大容量存储装置连接器使用大容量存储装置控制器624作出各种读取、写入和其它数据请求。通常,这些请求将由具有对应的装置控制器的本地大容量存储装置来完成。在图6的示例中,这些数据请求可以由接口装置620与主机计算机系统602进行通信来满足,这可以访问某个其它存储源699以处理各种数据请求。
在图6的说明中,由终端系统612的大容量存储主机控制器624发出读取请求684,其接收于专用处理单元660的大容量存储装置控制器670处。大容量存储装置控制器670使用请求684的中断,例如,经由如图6中所示的DMA引擎666,通知具体实施在主机系统602中的存储处理632。存储处理可以是具体实施在主机系统602的系统存储器640中的应用,其可以由主机系统602的中央处理单元686执行以作出处理请求684的决定。
如图6所示,存储处理可以从某个其它存储源699(诸如存储服务器)检索请求的数据687。存储处理可以例如通过扩展接口(没有描述)(诸如PCI-e)或具有主机系统602的外围总线的其它通信接口,将检索的数据689存储在接口装置存储器单元674中。注意,在一些实施方式中,接口装置620可以被实施为直接连接到主机系统外围总线的专用处理单元660且被提供作为主机系统602的整体部分,而不是被实施为附加卡或通过扩展接口与外围总线通信的其它外围组件。
在替代实施方式中,专用处理单元660(例如,FPGA、ASIC或等效电路)可直接放置在流化服务器402的母板上且连接到流化服务器上的外围总线。专用处理单元可通过快速PCI连接。
一旦由存储处理检索的数据存储在接口存储器674中,存储处理可以编程大容量存储装置控制器670以通过访问接口存储器中的存储的数据689并将所述数据发送到终端系统612来完成所述请求。
在读取操作期间,大容量存储装置控制器670可以对主机系统602的操作系统中的存储装置驱动器产生中断(其可以使用内置于DMA引擎666中的中断功能而传送)。如果确定所述请求是读取请求684,那么存储装置驱动器要求存储处理632“读取数据”,所述数据存储在主机存储器640中(其可以与存储装置驱动器共享)。一旦已经读取全部数据,可以编程DMA引擎666以将数据689从主机存储器640传送到接口存储器674。
结论
注意,已参考云游戏作为其中可以期望根据本公开的各个实施方式的大容量存储虚拟化的需要的特定示例,描述了本公开的各个方面,但是本公开的实施方式并不受限制。本公开的实施方式可以为任何计算装置提供用于仿真的大容量存储装置,该计算装置可能没有涉及云计算或云游戏。
注意,本公开的实施方式可以使用多种大容量存储通信协议中的任何一个,包括SATA、USB、IDE、RS232、Firewire、Thunderbolt和其它大容量存储通信接口标准。
注意,本公开的实施方式可以使用多种音频和/或视频标准中的任何一个,包括HDMI、S-视频、分量视频、复合视频、显示器端口、VGA、DVI和其它A/V通信接口标准。
虽然上文是本发明的优选实施方案的完整描述,但是也可使用各种替代、修改和等效物。因此,不应参考上述描述来确定本发明的范围,取而代之,应参考随附权利要求连同其全部等效范围来确定本发明的范围。本文描述的任何特征(无论是否优选)均可以与本文描述的任何其它特征(无论是否优选)组合。在下列权利要求中,除非另有明确说明,否则不定冠词“一个(a/an)”是指冠词后面的物品中的一个或多个的数量。随附权利要求不应被解译为包括方法加功能限制,除非这样的限制使用短语“用于……的方法”在给出的权利要求中加以明确引用。
Claims (25)
1.一种接口装置,其包括:
第一通信接口,所述第一通信接口是大容量存储接口;
第二通信接口,所述第二通信接口是扩展接口;和
操作地耦接到所述通信接口的专用处理单元,所述专用处理单元具有连接到所述第一通信接口的大容量存储装置控制器和连接到所述第二通信接口的存储器访问接口,
其中所述大容量存储装置控制器被配置来通过所述第一通信接口接收大容量存储数据请求,
其中所述存储器访问接口被配置来通过所述第二通信接口向主机系统通知所述大容量存储数据请求。
2.根据权利要求1所述的接口装置,
其还包括存储器单元,
其中所述专用处理单元包括连接到所述存储器单元的存储器控制器。
3.根据权利要求1所述的接口装置,
其中所述存储器访问接口被配置来使用所述数据请求的中断向所述主机系统通知所述数据请求。
4.根据权利要求1所述的接口装置,其中所述存储器访问接口包括被配置来实施数据移动操作的DMA引擎。
5.根据权利要求1所述的接口装置,
其中所述专用处理单元是现场可编程门阵列FPGA。
6.根据权利要求1所述的接口装置,
其中所述专用处理单元是专用集成电路ASIC。
7.根据权利要求1所述的接口装置,其还包括:
印刷电路板PCB,
其中所述第一通信接口包括固定到所述PCB的一个或多个大容量存储端口。
8.根据权利要求1所述的接口装置,其还包括:
印刷电路板PCB,
其中所述第二通信接口包括固定到所述PCB的一个或多个扩展连接器。
9.根据权利要求1所述的接口装置,
其中所述第一通信接口包括一个或多个大容量存储端口,
其中所述专用处理单元具有用于每个所述大容量存储端口的大容量存储装置控制器。
10.根据权利要求1所述的接口装置,
其中所述第一通信接口包括多个大容量存储端口,
其中所述专用处理单元具有多个大容量存储装置控制器,
其中每个所述大容量存储装置控制器连接到所述大容量存储端口中的对应大容量存储端口。
11.根据权利要求1所述的接口装置,
其中所述第一通信接口包括一个或多个串行高级技术附件SATA端口,
其中所述专用处理单元具有用于每个所述SATA端口的SATA装置控制器。
12.一种系统,其包括:
中央处理单元;
第一存储器单元,其操作地耦接到所述中央处理单元;
存储处理,其具体实施在所述第一存储器单元中且可由所述中央处理单元执行;
第一通信接口,所述第一通信接口是大容量存储接口;
操作地耦接到所述第一通信接口的专用处理单元,所述专用处理单元具有连接到所述第一通信接口的大容量存储装置控制器以及存储器访问接口;
其中所述大容量存储装置控制器被配置来通过所述第一通信接口接收大容量存储数据请求,
其中所述存储器访问接口被配置来向所述存储处理通知所述大容量存储数据请求,
其中所述存储处理被配置来通过访问存储系统来处理所述数据请求。
13.根据权利要求12所述的系统,其还包括:
第二存储器单元,
其中所述专用处理单元具有连接到所述第二存储器单元的存储器控制器。
14.根据权利要求12所述的系统,其还包括:
第二存储器单元,
其中所述专用处理单元具有连接到所述第二存储器单元的存储器控制器,
其中所述数据请求是读取请求,
其中所述存储处理被配置来从所述存储系统检索对应于所述读取请求的数据,
其中所述存储处理被配置来将所述检索的数据存储在所述第二存储器单元上,
其中所述存储处理被配置来编程所述大容量存储装置控制器以通过编程所述大容量存储装置控制器从所述第二存储器单元读取,来完成所述读取请求。
15.根据权利要求12所述的系统,其还包括:
第二通信接口,所述第二通信接口是扩展接口,
其中所述存储器访问接口连接到所述第二通信接口,
其中所述第二通信接口连接到所述处理器总线。
16.根据权利要求12所述的系统,其还包括:
印刷电路板PCB,和
第二通信接口,所述第二通信接口是扩展接口,
其中所述DMA引擎连接到所述第二通信接口,
其中所述第二通信接口连接到所述处理器总线,
其中所述第一通信接口、所述第二通信接口和所述专用处理单元固定到所述PCB。
17.根据权利要求12所述的系统,
其中所述DMA引擎直接连接到所述处理器总线。
18.根据权利要求12所述的系统,
其中所述存储器访问接口被配置来使用所述数据请求的中断向所述存储处理通知所述数据请求。
19.根据权利要求12所述的系统,其中所述存储器访问接口包括被配置来实施数据移动操作的DMA引擎。
20.根据权利要求12所述的系统,
其中所述第一通信接口包括一个或多个大容量存储端口,
其中所述专用处理单元具有用于每个所述大容量存储端口的大容量存储装置控制器。
21.根据权利要求12所述的系统,
其中所述专用处理单元是现场可编程门阵列FPGA。
22.根据权利要求12所述的系统,
其中所述专用处理单元是专用集成电路ASIC。
23.根据权利要求12所述的系统,其还包括:
终端系统,其通过大容量存储连接器操作地耦接到所述第一通信接口,所述终端系统具有被配置来发出所述大容量存储数据请求的大容量存储主机控制器。
24.根据权利要求12所述的系统,其还包括:
多个终端系统,
其中所述专用处理单元具有多个所述大容量存储装置控制器,
其中所述第一通信接口具有多个大容量存储端口,
其中每个所述终端系统用大容量存储连接器连接到所述大容量存储端口中的对应大容量存储端口,
其中每个所述大容量存储端口连接到所述大容量存储装置控制器中的对应大容量存储端口。
25.一种方法,其包括:
a)在大容量存储装置控制器处从第一计算装置接收大容量存储数据请求;
b)用连接到所述大容量存储装置控制器的存储器访问接口向具体实施在第二计算装置中的存储处理通知所述数据请求;
c)用所述第二计算装置的所述存储处理访问具有对应于所述数据请求的数据的存储系统;
d)用所述第二计算装置的所述存储处理将对应于所述数据请求的所述数据存储在第一存储器单元上;
e)用所述第二计算装置的所述存储处理编程所述大容量存储装置控制器以从所述第一存储器单元访问所述数据以完成所述数据请求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910971908.XA CN110888599B (zh) | 2013-12-19 | 2014-12-12 | 接口装置、用于虚拟化大容量存储的系统 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/135,213 US10353633B2 (en) | 2013-12-19 | 2013-12-19 | Mass storage virtualization for cloud computing |
US14/135,213 | 2013-12-19 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910971908.XA Division CN110888599B (zh) | 2013-12-19 | 2014-12-12 | 接口装置、用于虚拟化大容量存储的系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104735123A true CN104735123A (zh) | 2015-06-24 |
CN104735123B CN104735123B (zh) | 2019-11-08 |
Family
ID=53400073
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410771149.XA Active CN104735123B (zh) | 2013-12-19 | 2014-12-12 | 用于云计算的大容量存储虚拟化 |
CN201910971908.XA Active CN110888599B (zh) | 2013-12-19 | 2014-12-12 | 接口装置、用于虚拟化大容量存储的系统 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910971908.XA Active CN110888599B (zh) | 2013-12-19 | 2014-12-12 | 接口装置、用于虚拟化大容量存储的系统 |
Country Status (9)
Country | Link |
---|---|
US (2) | US10353633B2 (zh) |
EP (2) | EP3036646B1 (zh) |
JP (1) | JP2016534463A (zh) |
KR (1) | KR101788724B1 (zh) |
CN (2) | CN104735123B (zh) |
BR (1) | BR112016004712B1 (zh) |
RU (1) | RU2649771C2 (zh) |
TW (1) | TWI531958B (zh) |
WO (1) | WO2015094474A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107066404A (zh) * | 2016-02-02 | 2017-08-18 | 三星电子株式会社 | 存储装置、存储系统和操作存储装置的方法 |
CN111902804A (zh) * | 2018-06-25 | 2020-11-06 | 阿里巴巴集团控股有限公司 | 用于管理存储设备的资源并量化i/o请求成本的系统和方法 |
US11287973B2 (en) | 2016-02-02 | 2022-03-29 | Samsung Electronics Co., Ltd. | Polymorphic storage devices |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8990446B2 (en) | 2012-10-04 | 2015-03-24 | Sony Computer Entertainment America, LLC | Method and apparatus for decreasing presentation latency |
US9497358B2 (en) | 2013-12-19 | 2016-11-15 | Sony Interactive Entertainment America Llc | Video latency reduction |
US9332216B2 (en) | 2014-03-12 | 2016-05-03 | Sony Computer Entertainment America, LLC | Video frame rate compensation through adjustment of vertical blanking |
US9795879B2 (en) * | 2014-12-31 | 2017-10-24 | Sony Interactive Entertainment America Llc | Game state save, transfer and resume for cloud gaming |
US10554713B2 (en) * | 2015-06-19 | 2020-02-04 | Microsoft Technology Licensing, Llc | Low latency application streaming using temporal frame transformation |
US10744407B2 (en) * | 2015-09-08 | 2020-08-18 | Sony Interactive Entertainment LLC | Dynamic network storage for cloud console server |
KR102335715B1 (ko) * | 2015-12-04 | 2021-12-06 | 한국전자기술연구원 | 가상화 기반의 임베디드 하드웨어 개발 및 검증 프레임워크 구조 |
CN111372115B (zh) * | 2020-03-03 | 2022-02-08 | 北京奇艺世纪科技有限公司 | 应用程序的访问方法及装置、通讯系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030110351A1 (en) * | 2001-12-07 | 2003-06-12 | Dell Products L.P. | System and method supporting virtual local data storage |
CN1428708A (zh) * | 2001-12-27 | 2003-07-09 | 中国科学院计算技术研究所 | 具有大容量存储器的数据流处理板 |
US20040138868A1 (en) * | 2003-01-15 | 2004-07-15 | Worldgate Service, Inc. | Hard disk drive emulator |
US20100280817A1 (en) * | 2009-04-30 | 2010-11-04 | Spansion Llc | Direct pointer access and xip redirector for emulation of memory-mapped devices |
US20110271067A1 (en) * | 2010-05-03 | 2011-11-03 | Pixel8 Networks, Inc. | Efficient Cloud Network Attached Storage |
CN102783168A (zh) * | 2010-03-11 | 2012-11-14 | 索尼公司 | 内容传递设备、内容传递方法及发送服务器 |
Family Cites Families (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5034817A (en) | 1990-02-28 | 1991-07-23 | The United States Of America As Represented By The Secretary Of The Navy | Reconfigurable video line digitizer and method for storing predetermined lines of a composite video signal |
US5502462A (en) | 1993-11-01 | 1996-03-26 | The 3Do Company | Display list management mechanism for real-time control of by-the-line modifiable video display system |
US5969828A (en) | 1997-03-12 | 1999-10-19 | Minolta Co., Ltd. | Digital copying machine, image reading device used in said digital copying machine, and image processing method used in these devices |
KR20030031480A (ko) * | 2000-04-28 | 2003-04-21 | 프지오메드, 인코포레이티드 | 폴리산 및 폴리알킬렌 옥사이드의 지혈 조성물 및 이들의이용 방법 |
AR031640A1 (es) * | 2000-12-08 | 2003-09-24 | Applied Research Systems | Amplificacion isotermica de acidos nucleicos en un soporte solido |
US20030110300A1 (en) * | 2001-12-12 | 2003-06-12 | Micro-Star Int'l Co., Ltd. | Virtual storage interface device |
US7711847B2 (en) * | 2002-04-26 | 2010-05-04 | Sony Computer Entertainment America Inc. | Managing users in a multi-user network game environment |
US8037229B2 (en) * | 2002-11-21 | 2011-10-11 | Sandisk Technologies Inc. | Combination non-volatile memory and input-output card with direct memory access |
US7106352B2 (en) | 2003-03-03 | 2006-09-12 | Sun Microsystems, Inc. | Automatic gain control, brightness compression, and super-intensity samples |
US7287099B1 (en) * | 2003-03-18 | 2007-10-23 | Unisys Corporation | System for support of remote console by emulation of local console with multipath data flow structure |
US7565408B2 (en) * | 2003-03-20 | 2009-07-21 | Dell Products L.P. | Information handling system including a local real device and a remote virtual device sharing a common channel |
JP4179556B2 (ja) * | 2004-06-25 | 2008-11-12 | 株式会社日立情報システムズ | コンピュータ集中運用センタシステムとそのデータ管理制御方法およびプログラム |
US20060061517A1 (en) | 2004-09-23 | 2006-03-23 | Jolly Paul A | Delivering pixels received at a lower data transfer rate over an interface that operates at a higher data transfer rate |
JP4390694B2 (ja) * | 2004-12-24 | 2009-12-24 | 富士通株式会社 | Dma回路及びこれを用いたディスクアレイ装置 |
US20100017189A1 (en) | 2006-01-04 | 2010-01-21 | Andriy Naydon | Transparent Intellectual Network Storage Device |
EP2044543A4 (en) | 2006-04-13 | 2012-07-04 | Yosef Mizrachi | METHOD AND DEVICE FOR PROVIDING GAME SERVICES AND MOVING WITH VIDEO CONTENT |
US7383992B2 (en) * | 2006-10-10 | 2008-06-10 | Imation Corp. | Memory card with host interface and including internal interface for receiving micro-size memory cards |
US8179388B2 (en) | 2006-12-15 | 2012-05-15 | Nvidia Corporation | System, method and computer program product for adjusting a refresh rate of a display for power savings |
KR100794312B1 (ko) * | 2006-12-27 | 2008-01-11 | 삼성전자주식회사 | 명령어 자동 처리 유니트를 포함한 메모리 컨트롤러 및그를 포함한 메모리 시스템 |
US8838856B2 (en) * | 2007-02-16 | 2014-09-16 | Emulex Corporation | Virtual universal asynchronous receiver transmitter for server systems |
US7669000B2 (en) * | 2007-10-23 | 2010-02-23 | Brocade Communication Systems, Inc. | Host bus adapter with multiple hosts |
US20090135916A1 (en) | 2007-11-26 | 2009-05-28 | Mediatek Inc. | Image processing apparatus and method |
EP2238743A4 (en) | 2007-12-17 | 2011-03-30 | Stein Gausereide | REAL-TIME VIDEO INCLUSION SYSTEM |
JP5198584B2 (ja) * | 2008-02-26 | 2013-05-15 | ヴイエムウェア インク | 拡張されたサーバーベースのクライアント用デスクトップ仮想マシン構成 |
US8499119B2 (en) * | 2008-04-07 | 2013-07-30 | Qualcomm Incorporated | Method and apparatus for delivering and caching multiple pieces of content |
US8225019B2 (en) * | 2008-09-22 | 2012-07-17 | Micron Technology, Inc. | SATA mass storage device emulation on a PCIe interface |
JP4581012B2 (ja) | 2008-12-15 | 2010-11-17 | 株式会社東芝 | 電子機器、及び表示制御方法 |
US8918488B2 (en) * | 2009-02-04 | 2014-12-23 | Citrix Systems, Inc. | Methods and systems for automated management of virtual resources in a cloud computing environment |
US8635387B2 (en) * | 2009-10-09 | 2014-01-21 | Emulex Design & Manufacturing Corporation | Enhanced I/O performance in a multi-processor system via interrupt affinity schemes |
DE102009058795A1 (de) | 2009-12-18 | 2011-06-22 | Epcos Ag, 81669 | Piezoelektrisches Keramikmaterial, Verfahren zur Herstellung des piezoelektrischen Keramikmaterials, piezoelektrisches Vielschichtbauelement und Verfahren zur Herstellung des piezoelektrischen Vielschichtbauelements |
US8669993B2 (en) | 2010-01-11 | 2014-03-11 | Apple Inc. | User interface unit for fetching only active regions of a frame |
CN101937261A (zh) * | 2010-05-18 | 2011-01-05 | 上海同悦信息科技有限公司 | 基于通用串行总线的云计算终端 |
EP2641363B1 (en) * | 2010-11-16 | 2018-05-23 | Telefonaktiebolaget LM Ericsson (publ) | Message targeting platform |
KR101312268B1 (ko) | 2010-12-24 | 2013-09-25 | 주식회사 케이티 | 클라우드 컴퓨팅 환경에서 게임 서비스 제공 방법, 클라우드 컴퓨팅 서버, 및 클라우드 컴퓨팅 시스템 |
PL2472879T3 (pl) | 2010-12-31 | 2014-03-31 | Advanced Digital Broadcast Sa | Sposób i system do określania typu ramki wideo |
US20120306926A1 (en) | 2011-06-06 | 2012-12-06 | Apple Inc. | Inline scaling unit for mirror mode |
US8281288B1 (en) | 2011-10-20 | 2012-10-02 | Google Inc. | Integrated development environment with network-based compilation and sandboxed native machine-language capabilities |
US10319333B2 (en) | 2012-09-26 | 2019-06-11 | Apple Inc. | Refresh rate matching for displays |
US20140195634A1 (en) * | 2013-01-10 | 2014-07-10 | Broadcom Corporation | System and Method for Multiservice Input/Output |
US20140281023A1 (en) | 2013-03-18 | 2014-09-18 | Nvidia Corporation | Quality of service management server and method of managing quality of service |
US9497358B2 (en) | 2013-12-19 | 2016-11-15 | Sony Interactive Entertainment America Llc | Video latency reduction |
-
2013
- 2013-12-19 US US14/135,213 patent/US10353633B2/en active Active
-
2014
- 2014-10-21 KR KR1020167007888A patent/KR101788724B1/ko active IP Right Grant
- 2014-10-21 EP EP14872001.4A patent/EP3036646B1/en active Active
- 2014-10-21 RU RU2016107200A patent/RU2649771C2/ru active
- 2014-10-21 EP EP20165552.9A patent/EP3690664A1/en active Pending
- 2014-10-21 BR BR112016004712-5A patent/BR112016004712B1/pt active IP Right Grant
- 2014-10-21 WO PCT/US2014/061633 patent/WO2015094474A1/en active Application Filing
- 2014-10-21 JP JP2016538830A patent/JP2016534463A/ja active Pending
- 2014-10-22 TW TW103136465A patent/TWI531958B/zh active
- 2014-12-12 CN CN201410771149.XA patent/CN104735123B/zh active Active
- 2014-12-12 CN CN201910971908.XA patent/CN110888599B/zh active Active
-
2019
- 2019-06-11 US US16/437,854 patent/US20190294382A1/en not_active Abandoned
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030110351A1 (en) * | 2001-12-07 | 2003-06-12 | Dell Products L.P. | System and method supporting virtual local data storage |
CN1428708A (zh) * | 2001-12-27 | 2003-07-09 | 中国科学院计算技术研究所 | 具有大容量存储器的数据流处理板 |
US20040138868A1 (en) * | 2003-01-15 | 2004-07-15 | Worldgate Service, Inc. | Hard disk drive emulator |
US20100280817A1 (en) * | 2009-04-30 | 2010-11-04 | Spansion Llc | Direct pointer access and xip redirector for emulation of memory-mapped devices |
CN102783168A (zh) * | 2010-03-11 | 2012-11-14 | 索尼公司 | 内容传递设备、内容传递方法及发送服务器 |
US20110271067A1 (en) * | 2010-05-03 | 2011-11-03 | Pixel8 Networks, Inc. | Efficient Cloud Network Attached Storage |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107066404A (zh) * | 2016-02-02 | 2017-08-18 | 三星电子株式会社 | 存储装置、存储系统和操作存储装置的方法 |
CN107066404B (zh) * | 2016-02-02 | 2021-12-14 | 三星电子株式会社 | 存储装置、存储系统和操作存储装置的方法 |
US11287973B2 (en) | 2016-02-02 | 2022-03-29 | Samsung Electronics Co., Ltd. | Polymorphic storage devices |
CN111902804A (zh) * | 2018-06-25 | 2020-11-06 | 阿里巴巴集团控股有限公司 | 用于管理存储设备的资源并量化i/o请求成本的系统和方法 |
CN111902804B (zh) * | 2018-06-25 | 2024-03-01 | 阿里巴巴集团控股有限公司 | 用于管理存储设备的资源并量化i/o请求成本的系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
KR20160046893A (ko) | 2016-04-29 |
CN110888599B (zh) | 2023-06-27 |
US20150178018A1 (en) | 2015-06-25 |
US20190294382A1 (en) | 2019-09-26 |
EP3036646A4 (en) | 2017-07-19 |
US10353633B2 (en) | 2019-07-16 |
CN104735123B (zh) | 2019-11-08 |
EP3036646B1 (en) | 2020-06-24 |
RU2649771C2 (ru) | 2018-04-04 |
TW201537447A (zh) | 2015-10-01 |
EP3690664A1 (en) | 2020-08-05 |
KR101788724B1 (ko) | 2017-10-20 |
CN110888599A (zh) | 2020-03-17 |
EP3036646A1 (en) | 2016-06-29 |
JP2016534463A (ja) | 2016-11-04 |
TWI531958B (zh) | 2016-05-01 |
BR112016004712A2 (zh) | 2017-08-01 |
BR112016004712B1 (pt) | 2022-06-14 |
WO2015094474A1 (en) | 2015-06-25 |
RU2016107200A (ru) | 2017-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104735123A (zh) | 用于云计算的大容量存储虚拟化 | |
US11724185B2 (en) | Methods implementing doorbell register/file identification table with high-speed data communication fabric for cloud gaming data storage and retrieval | |
US9459927B2 (en) | Central office based virtual personal computer | |
US11623140B2 (en) | High-speed save data storage for cloud gaming | |
US11775464B2 (en) | Computer system and a computer device | |
WO2022143717A1 (zh) | 一种虚拟机迁移方法、装置及系统 | |
US20100169069A1 (en) | Composite device emulation | |
CN103678244B (zh) | 一种不使用应用处理器的智能设备 | |
TWI787673B (zh) | 混合式叢集系統及其計算節點 | |
US20220155966A1 (en) | Hybrid Cluster System and Computing Node Thereof | |
CN115168263A (zh) | 一种bmc芯片及主机系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |