CN105426265A - 具有虚拟装置的系统和装置以及控制虚拟装置的方法 - Google Patents
具有虚拟装置的系统和装置以及控制虚拟装置的方法 Download PDFInfo
- Publication number
- CN105426265A CN105426265A CN201510511587.7A CN201510511587A CN105426265A CN 105426265 A CN105426265 A CN 105426265A CN 201510511587 A CN201510511587 A CN 201510511587A CN 105426265 A CN105426265 A CN 105426265A
- Authority
- CN
- China
- Prior art keywords
- virtual bench
- firmware
- described device
- response
- virtual
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
-
- 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/10—Program control for peripheral devices
- G06F13/102—Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45579—I/O management, e.g. providing access to device drivers or storage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供了一种具有虚拟装置的系统和装置,以及控制虚拟装置的方法。所述系统包括:装置,其配置为呈现出逻辑装置并且响应于控制信号启用虚拟装置;以及处理器,其连接至所述装置,并且配置为:通过第一装置接口呈现出所述逻辑装置;将控制信号发送至所述装置以启用虚拟装置;并且在启用虚拟装置之后,通过第二装置接口呈现出所述虚拟装置。
Description
相关申请的交叉引用
本申请要求于2014年8月19日提交的美国临时专利申请No.62/039,400以及2015年4月1日提交的美国临时专利申请No.14/676,518的优先权,针对所有目的,上述申请以引用方式全文并入本文中。
技术领域
本公开涉及具有虚拟装置的装置和系统,并且具体地,涉及具有可选择性地启用的虚拟装置的装置和系统。
背景技术
一些系统包括这样的装置,其具有在物理和功能二者上均相对不可访问的功能。例如,诸如eMMC装置的存储器装置可现场焊接。结果,获得对装置的物理访问会相对困难。而且,访问装置的一些功能会要求自定义命令,并且会要求自定义操作系统,以将这些命令发送至该装置。结果,访问该装置会相对困难,并且会要求更换操作系统或操作系统的组件。对于特定用户(诸如包括该装置的系统的终端用户)会不可获得用于访问和/或测试装置的选择。
发明内容
一个实施例包括一种具有虚拟装置的系统,包括:装置,其配置为呈现出逻辑装置并且响应于控制信号启用虚拟装置;以及处理器,其连接至所述装置,并且配置为:通过第一装置接口呈现出所述逻辑装置;将控制信号发送至所述装置以启用虚拟装置;并且在启用虚拟装置之后,通过第二装置接口呈现出所述虚拟装置。
一个实施例包括一种具有虚拟装置的装置,包括:通信接口;以及控制器,其连接至通信接口;所述控制器配置为:通过通信接口呈现出逻辑装置;响应于通过通信接口接收的启用信号启用虚拟装置;并且当启用虚拟装置时,通过通信接口呈现出所述虚拟装置。
一个实施例包括一种控制虚拟装置的方法,包括步骤:通过装置接收控制信号;通过装置确定在控制信号中是否包括启用命令;以及响应于启用命令通过装置启用虚拟装置。
一个实施例包括一种访问虚拟装置的方法,包括步骤:指示目标系统上的装置从第一操作模式转变为第二操作模式,其中:在第一操作模式中,所述装置配置为禁用与该装置相关的虚拟装置,而在第二操作模式中,所述装置配置为启用所述虚拟装置;并且通过目标系统访问所述虚拟装置。
附图说明
图1是根据实施例的系统的示意图。
图2是表示根据实施例的图1的系统的功能的框图。
图3是表示根据实施例在启用虚拟装置之后的图1的系统的功能的框图。
图4是表示根据另一实施例的图1的系统的功能的框图。
图5是表示根据另一实施例的图1的系统的功能的框图。
图6是表示根据另一实施例在启用虚拟装置之后的图1的系统的功能的框图。
图7是表示根据实施例的装置的可寻址范围的框图。
图8是表示根据实施例的无效固件的框图。
图9是根据实施例的状态值的表。
图10是表示根据实施例的虚拟装置的存储器映射的框图。
图11是根据实施例的装置的示意图。
图12是根据实施例的存储器装置的示意图。
图13是根据实施例的与虚拟装置相关的技术的流程图。
图14是根据实施例的利用无效固件的技术的流程图。
图15是根据另一实施例的与虚拟装置相关的技术的流程图。
图16是根据另一实施例的与虚拟装置相关的技术的流程图。
图17是根据实施例的主机和目标系统的示意图。
图18是根据实施例的访问虚拟装置的技术的流程图。
图19是根据实施例的系统的示意图。
图20是根据实施例的测试装备的示意图。
图21是根据实施例的具有eMMC的系统的示意图。
图22是根据实施例的具有SSD的系统的示意图。
具体实施方式
实施例涉及具有虚拟装置的装置和系统,并且具体地,涉及具有可选择性地启用的虚拟装置的装置和系统。提供以下描述以使得本领域普通技术人员之一能够实现和使用实施例,并且在专利申请的语境及其要求中提供以下描述。本文描述的实施例的各种修改形式和一般原理和特征将是清楚的。主要在特定实施方式中提供的特定方法和系统方面来描述实施例。
然而,所述方法和系统将在其它实施方式中有效地操作。诸如“实施例”、“一个实施例”和“另一实施例”的词语可指示相同或不同的实施例以及多个实施例。将参照具有特定组件的系统和/或装置来描述实施例。然而,系统和/或装置可包括比所示出的组件更多或更少的组件,并且在不脱离本公开的范围的情况下可实现组件的布置方式和类型的变化。同样,将在具有特定步骤的特定方法的语境中描述实施例。然而,方法和系统根据具有不同步骤和/或额外步骤以及具有与实施例不一致的不同次序的步骤的其它方法进行操作。因此,实施例不旨在限于示出的特定实施例,而是与具有本文所述的原理和特征的最宽范围一致。
在具有特定组件的特定系统和装置的语境中描述各实施例。本领域普通技术人员之一将容易理解,在其它实施例中,系统和装置可具有其它和/或额外组件和/或其它特征。然而,本领域普通技术人员之一将容易理解,所述方法和系统与其它结构一致。也可在单个元件的语境中描述所述方法和系统。然而,本领域普通技术人员之一将容易理解,所述方法和系统与具有多个元件的系统和装置的用法一致。
本领域技术人员应该理解,通常,本文中(尤其是权利要求(例如,权利要求的主体)中)使用的术语通常旨在是“开放式”术语(例如,术语“包括”应该被解释为“包括(但不限于)”、术语“具有”应该被解释为“至少具有”、术语“包含”应该被解释为“包含(但不限于)”等)。本领域技术人员还应该理解,如果引入的权利要求叙述的特定数字具有意图,则这种意图将在权利要求中明确详述,如果没有这种叙述,则不存在这种意图。例如,为了帮助理解,权利要求可包含引导词“至少一个”和“一个或多个”的使用,以引入权利要求叙述。然而,这种词的使用不应被理解为意指通过不定冠词“一个”、“一”引入的权利要求叙述将包含这种引入的权利要求叙述的任何特定权利要求限于仅包含一个这种叙述的示例,即使当相同的权利要求包括引导词“一个或多个”或“至少一个”以及诸如“一个”或“一”(例如,“一个”和/或“一”应该被解释为意指“至少一个”或“一个或多个”)的不定冠词时也是如此;对于用于引入的权利要求叙述的定冠词的用法,也是这样。此外,在那些使用了类似于“A、B或C中的至少一个等”的习惯性用法的情况下,通常,这种习惯性用法旨在符合本领域技术人员应该理解的所述习惯性用法的含义(例如,“具有A、B或C中的至少一个的系统”将包括(但不限于)只有A、只有B、只有C、具有A和B、具有A和C、具有B和C和/或具有A、B和C等的系统等)。实际上,本领域技术人员还应该理解,具有两种或更多种可替代术语的任何含多意词语和/或短语,无论其出现在说明书中、权利要求中或附图中,其都应该被理解为考虑到包括这些术语中的一者、这些术语中的任一者或者以上两者的可能性。例如,短语“A或B”应该被理解为包括“A”或“B”或“A和B”的可能性。
图1是根据实施例的系统的示意图。在该实施例中,系统100包括连接至处理器104的装置102。装置102可以包括可通信地连接至处理器104的任何形式的装置。例如,装置102可为存储器装置、大容量存储装置、用户接口装置、显示装置、网络装置等。处理器104可包括通用处理器、专用集成电路、系统芯片(SOC)、可编程逻辑装置、微控制器、离散逻辑装置、这些组件的组合等。
装置102可通过任何可通信连接方式连接至处理器104。例如,装置102与处理器104之间的连接可包括键合线、硅通孔(TSV)或者适于连接集成电路的其它结构。在另一示例中,所述连接可包括系统总线、印刷电路板(PCB)上的迹线等。在另一示例中,所述连接可包括可与通用串行总线(USB)、串行ATA(SATA)、串行附接SCSI(SAS)、各种JEDEC标准等兼容的接口和线缆。虽然特定示例是这样,但是装置102和处理器104可按照其它方式连接。
图2是表示根据实施例的图1的系统100的功能的框图。参照图1和图2,在该实施例中,将处理器104的功能组织为核心空间210和用户空间212。核心空间210包括操作系统、装置驱动器、存储器管理器等。用户空间212包括核心空间210以外的软件。在一个实施例中,与用户空间212中的软件相比,核心空间210中的软件可在更高的特权等级运行。虽然使用了软件的特定划分方式作为示例,但是在其它实施例中,可不存在划分或存在其它划分方式。
在该实施例中,装置102可配置为呈现出由逻辑装置209-1至209-N表示的一个或多个逻辑装置209。逻辑装置209是装置102的特定构造的表达。逻辑装置209可与装置102的物理构造相关;然而,逻辑装置209也可与逻辑划分方式相关,而逻辑划分方式与物理划分方式可以对应或不对应。例如,在一个实施例中,装置102可具有与同逻辑装置209中的每一个相关的处理器104的专用连接;然而,在其它实施例中,在装置102上以逻辑方式划分逻辑装置209的同时,逻辑装置209中的每一个可通过公共通信链路与处理器104通信。
逻辑装置209可与整个装置102、装置102的子集等相关。利用数据存储装置作为示例,逻辑装置209-1可为装置102的整个存储区域。另一逻辑装置209-2可为装置102的整个存储区域中的分区。逻辑装置209可(但不一定)为相同类型的逻辑装置。例如,一个逻辑装置209-1可为显示装置,而同一装置102的另一个逻辑装置209-2可为音频输出装置。
处理器104配置为呈现出由装置接口208-1至208-N表示的一个或多个装置接口208。装置接口208是这样一种接口,诸如用户空间212中的应用211或核心空间210中的操作系统的另一方面的其它软件可通过该接口访问装置102,具体地说,访问逻辑装置209。再次使用数据存储装置作为示例,装置接口208可为装置102的整个存储区域的接口、整个存储区域的分区的接口等。
在该实施例中,应用211配置为与装置接口208-1通信。装置接口208-1与逻辑装置209-1相关。因此,应用211可访问逻辑装置209-1。应用211也能够与装置接口208中的任一个通信,因此能够与相关的逻辑装置209通信;然而,为了清楚起见,省略了示出这种通信的箭头。
虽然示出了装置接口208与逻辑装置209之间的一一对应关系,但是装置接口208和逻辑装置209可按照不同方式相关联。例如,单个装置接口208可与多个逻辑装置209相关联。在另一示例中,多个装置接口208可与单个逻辑装置209相关联。
图3是表示根据实施例的在启用虚拟装置之后的图1的系统的功能的框图。参照图1和图3,在一个实施例中,处理器104可配置为将控制信号发送至装置102。例如,应用211可通过装置接口208-1或另一装置接口208将控制信号发送至装置102。作为响应,装置102配置为启用虚拟装置313。处理器104可配置为呈现出对应于虚拟装置313的新装置接口314。虽然使用单个装置接口314作为示例,但是可使用多个装置接口314来访问虚拟装置313。而且,虽然已经描述启用了单个虚拟装置313,但是可启用多个虚拟装置313。此外,虽然装置接口314可与装置接口208-1至208-N中的一个或多个分离,但是装置接口314可表现为可通过其访问虚拟装置313的这些装置接口208-1至208-N之一的不同方面。换句话说,当启用虚拟装置313时,单个装置接口208-1可允许访问逻辑装置209-1和虚拟装置313二者。
虚拟装置313是不直接与装置102的硬件相关的装置。通过再次利用数据存储装置作为示例,虚拟装置313可为虚拟分区。也就是说,与数据存储装置的其它分区不同,作为虚拟分区,虚拟装置将不直接对应于数据存储装置的存储元件。
虚拟装置313可(但不一定)与装置102的逻辑装置209中的任一个为相同类型的装置。例如,如果逻辑装置209是数据存储装置的分区,则虚拟装置313可为串行端口。然而,在一些实施例中,虚拟装置313可为在不更换操作系统的一部分的情况下可被操作系统使用的装置。例如,如果虚拟装置313和逻辑装置209-1二者均为分区,则操作系统可能够访问作为分区的虚拟装置313,如同操作系统原本能够访问作为分区的逻辑装置209-1那样不需要改变。在另一示例中,如果虚拟装置313和逻辑装置209-1二者均为网络装置,则操作系统可再次能够访问这两个网络装置。
用于启用虚拟装置313的控制信号可具有许多不同形式。在一些实施例中,控制信号对于该类装置102可为特定的。例如,如将在下面更详细地描述的,装置102可配置为接收固件更新。无效的固件可作为控制信号被发送至装置102,以指示应该启用虚拟装置313。
相似地,可使用控制信号来禁用虚拟装置313。利用上述无效固件的示例,可再次将无效固件发送至装置102。作为响应,装置102可禁用虚拟装置313。
在一个实施例中,用于禁用虚拟装置313的控制信号可与用于启用虚拟装置313的控制信号基本相同。也就是说,控制信号可作为切换信号操作,以根据虚拟装置313的当前状态启用或禁用虚拟装置313。然而,在其它实施例中,用于启用和禁用虚拟装置313的控制信号可不同。
虽然使用无效固件作为示例,但是控制信号可具有不同形式。例如,写入分区的特定地址范围的特定代码可用于发送控制信号。在另一示例中,可以将具有特定地址、有效载荷、校验和等的特定分组作为控制信号发送至网络装置。任何通信可用作控制信号,只要该通信原本可发送至装置102并且还可按照装置102能够将该控制信号与其它通信进行区分的方式来改变该通信。
图4是表示根据另一实施例的图1的系统的功能的框图。参照图1和图4,在该实施例中,通过装置102呈现出额外逻辑装置415。可通过装置接口416访问逻辑装置415。装置102可配置为通过装置接口416接收控制信号,因而通过逻辑装置415接收控制信号。因此,可通过对应于特定逻辑装置415的特定装置接口416接收应用211或其它软件可通过其指示虚拟装置应该被启用、禁用、构造等的接口。
图5是表示根据另一实施例的图1的系统的功能的框图。参照图1和图5,在该实施例中,装置102是配置为初始具有四个分区517-1至517-4的存储装置。例如,装置102可为诸如eMMC装置的多媒体卡(MMC)。这里,分区517-1和517-2是引导分区,分区517-3是重放保护存储块(RPMB)分区,并且分区517-4是用户分区。虽然将特定分区用作示例,但是装置102可具有不同数量的分区和不同类型的分区。
核心空间210包括MMC主机控制器驱动器522、MMC子系统524、通用块层526和虚拟文件系统(VFS)/文件系统(FS)/缓冲器高速缓冲存储器层528。这些层是核心空间210中的允许访问分区517的一些软件部分的示例。通过核心空间210中的层,分区517可安装在安装点518上。例如,引导分区517-1和517-2、RPMB分区517-3以及用户分区517-4可分别安装在安装点518-1和518-2、安装点518-3和安装点518-4上。为了清楚起见,省略了示出安装点518与分区517之间的相关性的箭头或其它标识。
在一个实施例中,装置102可配置为接收固件更新。通过固件更新,可将控制信号发送至装置102以启用虚拟分区。例如,可将无效的固件更新发送至装置102。例如,通过具有不正确校验和、不正确或过度的尺寸等,固件可为无效的;然而,可根据确定固件是否有效的条件使用产生无效固件的其它技术。一旦装置102接收无效固件,则装置102可启用虚拟分区。
图6是表示根据另一实施例的在启用虚拟装置之后的图1的系统的功能的框图。参照图1、图5和图6,在图5所示的模式中,在装置102上不启用虚拟分区519。例如,指示装置102的分区的分区表或其它技术一开始可指示不存在虚拟分区519。然而,在接收无效固件之后,装置102配置为启用虚拟分区519。
在一个实施例中,虚拟分区519可(但不一定)立即安装。例如,在启用虚拟分区519之后,系统100可重新启动。在重新启动之后,因为现在启用了虚拟分区519,所以操作系统可配置为在安装点520自动地安装虚拟分区519。在其它实施例中,例如,响应于检测虚拟分区519为可用的,操作系统可配置为在虚拟分区安装点520自动地安装虚拟分区519而不用重新启动。
可再次将无效固件发送至装置102。作为响应,可禁用虚拟分区519。如上所述,该无效固件可与用于启用虚拟分区519的无效固件相同或不同。此外,可以(但不一定)利用系统100的重新启动来从虚拟分区安装点520卸载虚拟分区519。
在特定实施例中,装置102能够接收现场固件更新(FFU)命令。通过FFU命令,可将无效固件发送至装置102。具体地说,由于可在现场使用FFU命令和利用无效固件以启用虚拟分区519的固件更新,因此可不需要特定操作系统、将系统100返回至服务中心等。
图7是表示根据实施例的装置的可寻址范围的框图。在该实施例中,实线部分标示存储装置的可寻址范围700的分区和潜在分区。这里,引导分区718-1和718-2、RPMB分区718-3和用户分区718-4全是存储装置上的物理存储空间732中的分区。未使用的空间730表示未被任何分区使用的物理存储空间732的其余部分。然而,在该实施例中,虚拟分区720不直接对应于物理存储空间732,而是可呈现存储在物理存储空间732中并与物理存储空间732分离的信息。例如,虚拟分区720可反映与存储在物理存储空间732中的数据、存储在物理存储空间732中的信息或这些信息的组合分离的信息。
可按照与其它分区718相同的方式访问虚拟分区720。例如,虚拟分区720可具有分离的独立的地址范围。然而,在其它实施例中,物理存储空间732可通过诸如连续的块、区块等的连续的地址范围寻址。可通过与物理存储空间732的端部连续的地址范围访问虚拟分区720。然而,由于虚拟分区720不对应于物理存储空间732的地址范围,因此虚拟分区720可不直接对应于物理存储空间732。
在一个实施例中,启用虚拟分区720可不改变其它分区718-1至718-4的各方面。例如,在启用虚拟分区720之后,分区718-1至718-4的数据、大小、排位等全部保持相同。具体地说,即使现有分区718占据了整个物理存储空间732,也仍然可启用虚拟分区720。
在一个实施例中,特定装置102可配置为呈现出预定组的分区。例如,eMMC装置可配置为呈现出至多四个通用分区(GPP)。虚拟分区720可替代这种GPP。
图8是表示根据实施例的无效固件的框图。如上所述,用于启用或禁用虚拟装置的控制信号可包括无效固件840。这里,无效固件840包括命令842。
命令842可包括多种不同的命令。例如,命令842可包括启用虚拟装置、禁用虚拟装置、重构虚拟装置等的命令。虽然将命令842示出为在无效固件840的特定部分中,但是命令842可在无效固件840中的不同位置。另外,虽然在无效固件840中示出了一个命令842,但是在无效固件840中可存在多个不同的或相似的命令842。例如,无效固件840中的第一命令可禁用先前启用的虚拟装置,而无效固件840中的第二命令可启用另一当前禁用的虚拟装置。
图9是根据实施例的状态值的表。参照图1和图9,在一个实施例中,在尝试执行固件更新之后,可从装置102读取值。该值传达与尝试更新固件相关的信息。如果将无效固件发送至装置102,则来自装置102的响应可包括指示固件安装错误的值0x11,或者具体地说,可包括指示发生错误以及该错误涉及安装固件的特定比特组。
另一字段、比特等可指示成功、失败、状态或将与虚拟装置相关的无效固件与其它无效固件进行区分的内容。例如,如果将具有启用命令的无效固件发送至装置102,则当从装置102读取值时,该值可具有指示存在安装固件的错误的比特组以及指示是否成功执行该命令的比特。将在保留范围中产生值的比特可设为指示成功或失败。在特定示例中,如果成功执行该命令,则可设置第三最低有效位。因此,无效固件的成功传输和命令的成功执行可导致0x15或00010101b的值,其中比特设置为指示发生的错误、涉及固件安装的错误以及成功执行了无效固件中的命令。相反,无效固件的成功传输和命令的不成功执行或缺少命令可导致0x11或00010001b的值。虽然已经给出了特定示例,但是在其它实施例中,可设置或清除比特以指示其它信息,诸如接收到命令但其不成功执行、命令无效、虚拟装置的状态等。
图10是表示根据实施例的虚拟装置的存储器映射的框图。如上所述,虚拟装置可呈现为虚拟分区。分区可包括针对装置102的各种属性的存储器映射接口。例如,地址空间1014可包括多种不同的存储器映射信息。
在该实施例中,头部1002可指示涉及虚拟分区的可获得的信息的类型、地址跨度等。固件1004可映射至装置102的固件。也就是说,可通过虚拟装置读取和/或写入装置102的当前固件。在一个实施例中,固件1004地址范围可映射至固件可用的整个存储空间;然而,在其它实施例中,固件1004地址范围可映射至当前存在的固件的范围。
SFR映射1005是针对装置102的特殊功能寄存器(SFR)的存储器映射接口。因此,可通过分区的SFR映射1005读取和/或写入SFR。
命令托盘1008和响应托盘1010可为可写入命令和可接收到响应的地址空间。例如,将在装置102上执行的命令可写入命令托盘1008。装置102可执行所述命令并产生响应。可从响应托盘1010的地址范围读取响应。在特定实施例中,一旦发生特定行为,诸如将一个字节写入命令托盘1008的地址范围中的最后位置,装置102就可利用该行为作为已将命令写入命令托盘1008并且可现在执行的指示。也就是说,可将命令写入命令托盘1008,并且在写入命令之后,可将一个字节写入命令托盘1008的最后一个字节,以指示装置102执行先前写的命令。虽然已经给出了导致在装置102上执行命令的顺序的特定示例,但是也可使用其它顺序。
装置102可具有与装置相关的各种元数据。该元数据可映射至元数据1012,因此可通过分区访问。例如,可通过元数据1012地址范围将涉及装置102的性能数据、错误数据、状态数据等暴露出来。具体地说,这种元数据可包括当装置102符合诸如JEDEC标准等的特定标准时原本不可获得的数据。
虽然已使用涉及装置102的特定类型的信息、信息的组织等作为示例,但是在其它实施例中,可通过存储器映射分区呈现涉及装置102的任何类型的信息。
图11是根据实施例的装置的示意图。在该实施例中,装置1100包括通信接口1102、控制器1104和内部组件1106。通信接口1102连接至控制器1104。通信接口1102配置为使得装置1100与其它装置和/或系统之间能够通信。例如,通信接口1102可包括端子、引脚、连接器、驱动器、缓冲器、处理器等,以能够与其它装置通信。在特定示例中,通信接口1102可为根据一个或多个JEDEC标准的任何接口。在其它示例中,通信接口1102可为USB接口、存储装置接口、扩展总线或其它计算机总线接口等。
控制器1104可包括通用处理器、专用集成电路、系统芯片(SOC)、可编程逻辑装置、微控制器、离散逻辑装置、这些组件的组合等。控制器1104可配置为在通信接口1102与其它内部组件1106之间联接。然而,在其它实施例中,控制器1104可配置为控制对内部组件1106的访问。
内部组件1106包括装置1100的除通信接口1102和控制器1104以外的其它组件。例如,内部组件1106可包括数据存储元件、传感器、致动器、其它通信接口等。
控制器1104配置为通过通信接口1102呈现出逻辑装置。逻辑装置的呈现可包括控制器1104的特定构造、管理访问内部组件1106的特定方式等。例如,控制器1104可配置为呈现列出作为一个或多个逻辑装置的一个或多个分区的分区表。在另一示例中,控制器1104可配置为响应于寻址到逻辑装置的通信。
控制器1104可配置为响应于通过通信接口1102接收到的启用信号来启用虚拟装置。当启用虚拟装置时,控制器1104配置为通过通信接口1102呈现出虚拟装置。例如,虚拟装置的启用可包括修改分区表以反映虚拟装置。在另一示例中,控制器1104可响应于寻址到虚拟装置(即,与除现有逻辑装置的地址以外的地址相关的虚拟装置)的通信。
一旦启用虚拟装置,就可如上所述访问虚拟装置。因此,可通过虚拟装置利用装置1100执行各种操作。例如,可通过根据特定标准原本不可用的虚拟装置使用非标准命令和响应。这些非标准命令和响应可用于优化、排除故障、性能测试等。
控制器1104可配置为通过通信接口1102接收禁用信号。因此,控制器1104可配置为响应于禁用信号禁用虚拟装置。虽然已使用呈现出逻辑装置或启用虚拟装置的特定技术作为示例,但是可使用呈现装置的其它技术。
图12是根据实施例的存储器装置的示意图。在该实施例中,存储器装置1200包括与图11的通信接口1102和控制器1104相似的通信接口1202和控制器1204。然而,图11的内部组件1106是存储器1206。例如,存储器1206可配置为存储数据。存储器1206可包括诸如存储器单元、磁盘板等的数据存储介质。
在一个实施例中,控制器1204配置为呈现出与存储在存储器1206中的数据相关的逻辑存储装置。例如,逻辑存储装置可为分区。如上所述,控制器1204可配置为启用并呈现出虚拟装置。
因此,可通过虚拟装置访问诸如上面描述的各种数据。例如,在一个实施例中,控制器1204配置为呈现出与存储器1206相关的元数据来作为虚拟装置的至少一部分。这里,与存储器1206相关的元数据可为与存储器装置1200相关的任何数据。在特定示例中,元数据包括并非存储在存储器1206中的实际数据的涉及存储器装置1200的任何信息。虽然元数据可不包括存储在存储器1206中的实际数据,但是在一些实施例中,仍然可通过虚拟装置访问这种存储在存储器1206中的数据。也就是说,虚拟装置可(但不一定)仅呈现与存储器装置1200相关的元数据。
在特定实施例中,存储器装置1200可为配置为移动装置的主存储器的eMMC装置。可将这种装置1200焊接在目标系统中,因此针对非标准目的(诸如用于对装置1200进行测试)会难以访问。然而,由于可通过虚拟装置获得如上所述的各种数据,因此测试或其它相似访问会更容易。
图13是根据实施例的与虚拟装置相关的技术的流程图。参照图11和图13,在步骤1300中,装置1100接收控制信号。例如,诸如无效固件的控制信号可由装置1100通过通信接口1102接收。
在步骤1302中,如果控制信号包括启用命令,则控制器1104启用虚拟装置。例如,控制器1104可确定启用命令是否包括在控制信号中。如果启用命令包括在控制信号中,则控制器1104可启用虚拟装置。
相似地,在步骤1304中,如果控制信号包括禁用命令,则控制器1104禁用虚拟装置。例如,控制器1104可确定禁用命令是否包括在控制信号中。如果禁用命令包括在控制信号中,则控制器1104可禁用虚拟装置。
图14是根据实施例的利用无效固件的技术的流程图。参照图11和图14,无效固件用作控制信号的特定示例。在步骤1400中,接收到固件更新。在步骤1406中,控制器1104可确定固件是否有效。如果固件有效,则在步骤1408中,控制器1104可继续固件的处理。因此,可像平常一样处理有效固件更新。
然而,如果固件不是有效的,则在步骤1410中,控制器1104可确定无效固件中是否存在命令。如果不存在命令,则固件可仅为无效固件,并且可在步骤1412中相应处理。然而,如果识别出命令,则控制器1104可在步骤1414中处理命令。如上所述,如果命令是启用命令,则可启用虚拟装置。相似地,如果命令是禁用命令,则可禁用虚拟装置。可相似地处理其它命令。
图15是根据另一实施例的与虚拟装置相关的技术的流程图。参照图11和图15,在该实施例中,在步骤1500中,装置1100在步骤1500中接收对虚拟装置的访问。这种访问可为读取、写入等。响应于该访问,装置1100可响应于该访问采取各种行为。
在一个实施例中,在步骤1502中,响应于所述访问,装置1100可访问装置1100的固件。也就是说,可通过虚拟装置写入和读取固件。在特定示例中,虚拟装置可为存储装置的分区。对分区的读取和写入可重定向为存储装置1100的固件的存储器而非主存储元件。
在另一实施例中,在步骤1504中,装置1100可接收被写入虚拟装置的命令。在步骤1505中,装置1100可执行命令。在步骤1506中,可通过虚拟装置提供对这种命令的响应,因此通过装置1100提供对这种命令的响应。
利用分区的示例,可将命令写入特定地址范围。在写命令之后,另一写信号、另一访问信号或其它信号可导致装置执行该命令。如上所述,在步骤1505中,针对命令在地址范围中的最后一个字节的写入可用作执行命令的触发器。在执行命令之后,装置1100可产生命令执行的响应。可通过将对装置1100的读取发至虚拟装置的分区的特定部分来获得所述响应。
图16是根据另一实施例的与虚拟装置相关的技术的流程图。参照图1和图16,在该实施例中,在步骤1600中,处理器104将启用信号发送至装置102以启用装置102的虚拟装置。在步骤1602中,重新启动处理器104和/或安装虚拟装置。例如,在一个实施例中,在启用虚拟装置之后,处理器104可重新启动。处理器104随后可识别虚拟装置并且安装虚拟装置。然而,在其它实施例中,处理器104可安装虚拟装置而不用重新启动。不管怎样,在步骤1604中可呈现出虚拟装置的装置接口。
在不再需要或要求虚拟装置之后,在步骤1606中,可将禁用信号发送至装置102。在步骤1608中,可再次重新启动处理器104和/或可卸载虚拟装置。虽然已经针对卸载虚拟装置和关于发送禁用信号的重新启动给出了特定次序,但是可按照不同次序执行操作。例如,可在发送禁用信号之前卸载虚拟装置,并且可在发送禁用信号之后重新启动系统。
图17是根据实施例的主机和目标系统的示意图。在该实施例中,系统1700包括连接至主机系统1712的目标系统1710。目标系统1710包括连接至处理器1704的装置1702。装置1702和处理器1704可为本文所述的任何装置和处理器。
处理器1704连接至通信接口1708。通信接口1708可为允许处理器1704与外部装置(具体地说,主机系统1712)通信的任何各种接口。例如,通信接口1708可包括USB接口、网络接口、蓝牙接口或系统可通过其进行通信的任何其它接口。
主机系统1712可为能够与目标系统1710通信并且能够访问与装置1702相关的装置接口的任何系统。例如,主机系统1712可为个人计算机、工作站、移动装置、测试装备等。主机系统1712配置为通过通信接口1708访问装置1702。
在一个实施例中,主机系统1712可配置为指示装置1702从第一操作模式转变为第二操作模式。在第一操作模式中,装置1702配置为禁用与装置172相关的虚拟装置,在第二操作模式中,装置1702配置为启用虚拟装置。主机系统1712可配置为指示装置1702按照多种方式进行转变。例如,主机1712可将应用安装在配置为如上所述发送控制信号以启用虚拟装置的目标系统1710上。在另一示例中,主机系统1712可配置为发送控制信号,并且处理器1704配置为将控制信号向前递送至装置1702。
一旦启用虚拟装置,处理器1704就配置为使得可通过通信接口1708获得与虚拟装置相关的装置接口。主机系统1712配置为通过通信接口1708并通过处理器1704呈现的装置接口访问虚拟装置。
在一个实施例中,主机系统1712配置为通过装置接口在装置上执行优化、诊断和性能测试中的至少一个。利用通过通信接口1708访问装置1702,主机系统1712可如上所述访问虚拟装置。参照图10和图17并且利用图10的存储器映射的示例,主机系统1712可配置为通过固件1004地址范围验证和/或修改装置1702的固件。主机系统1712可配置为通过SFR映射1005访问特殊功能寄存器。主机系统1712可配置为向命令托盘1008写入在装置上执行的命令并且通过响应托盘1010接收响应。最后,主机系统1712可访问装置1702的元数据1012。任何这种信息或可通过装置1702的虚拟装置获得的其它信息可用于任何类型的优化、诊断、性能测试等。
在特定实施例中,通过装置1702的虚拟装置呈现信息可简化这种测试。例如,装置1702可能够响应于自定义命令或专用命令;然而,目标系统1710的操作系统可能不能够发送这种命令。操作系统、操作系统的核心、操作系统的模块等可由能够发送这种命令的组件替换。该技术将要求改变操作系统或核心。这种改变会要求比普通用户可获得的更高的特权等级。
相反,通过启用装置1702的虚拟装置,其作为可通过操作系统正常安装或访问的逻辑装置,可不必改变操作系统。也就是说,如果虚拟装置是一种能够被核心安装或访问的逻辑装置,则没有必要改变核心以实现这种访问。而且,目标系统1710的用户可不需要诸如更换操作系统的更高的特权,这是因为虚拟装置可通过处理器1704自动安装,通过重新启动目标系统1710进行安装,或者通过更低的特权进行访问。
在一个实施例中,可在目标系统1710上安装软件。例如,可在目标系统1710上安装应用程序。可通过主机系统1712、通过目标系统1710、通过另一系统等安装这种软件。软件可配置为发送启用信号以将装置1702从禁用虚拟装置的第一操作模式转变为启用虚拟装置的第二操作模式。启用信号可为上述任何各种信号,诸如包括启用命令的无效固件。
在一些实施例中,软件可提供主机系统1712与虚拟装置之间的接口。例如,软件可配置为在目标系统1710与主机系统1712之间形成通信链路。
图18是根据实施例的访问虚拟装置的技术的流程图。参照图17和图18,在一个实施例中,在步骤1800中,将应用安装在目标系统1710上。在步骤1802中,指示应用启用装置1702的虚拟装置。在一个实施例中,可由主机系统1712、目标系统1710的用户在安装之后自动地或者通过其它技术指示应用启用虚拟装置。在步骤1804中,执行诸如对装置1702进行测试、优化装置1702等的期望的操作。
一旦执行期望的操作,则在步骤1806中,可指示应用禁用虚拟装置。与启用虚拟装置相似,可通过主机系统1712、通过目标系统1710的用户等来指示应用禁用虚拟装置。
在步骤1808中,可将应用从目标系统1710卸载。在一个实施例中,在指示应用禁用虚拟装置之后,卸载可为自动的。在另一实施例中,应用可配置为在卸载时自动地禁用虚拟装置。
图19是根据实施例的系统的示意图。系统1900可为多种电子装置的一部分,包括(但不限于)便携式笔记本计算机、超级移动PC(UMPC)、平板PC、膝上型计算机、台式计算机、服务器、工作站、移动电信装置等。例如,电子系统1900可包括可利用总线1920执行数据通信的存储器1912、处理器1914、RAM1916和用户接口1918。
处理器1914可为微处理器或移动处理器(AP)。处理器1914可具有可包括浮点单元(FPU)、算术逻辑单元(ALU)、图形处理单元(GPU)和数字信号处理核(DSP核)或它们的任意组合的处理器核(未示出)。处理器1914可执行程序并控制电子系统1900。
RAM1916可用作处理器1914的操作存储器。可替换地,可将处理器1914和RAM1916封装在单个封装体中。
用户接口1918可用于将数据输入至电子系统1900中/将数据从电子系统1900输出。例如,用户接口1918可包括触摸屏、键盘、定点装置、网络接口、外围接口等。
存储器1912可存储用于对处理器1914进行操作的代码、通过处理器1914处理的数据或外部输入的数据。存储器1912可包括控制器和存储器装置。存储器1912可包括计算机可读介质的接口。这种计算机可读介质可存储指令以执行上述各种操作。
在一个实施例中,处理器1914可配置为执行上述各种处理器的操作的一些或全部。而且,RAM1916、存储器1912、用户接口1918或电子系统1900的其它组件中的任一个可包括上述装置。因此,处理器1914可配置为启用任何这种装置的虚拟装置,并且执行任何相关的操作。
图20是根据实施例的测试装备的示意图。在该实施例中,测试装备2000包括主机系统2002。主机系统2002连接至接口2004。接口2004可为适于连接至被测装置(DUT)2006的对应接口2008的任何接口。例如,接口2004可为有线接口、无线接口、USB接口、蓝牙接口等。接口2008可为相似的对应接口。
DUT2006可为可呈现如上所述的虚拟装置的任何装置。因此,主机系统2002可配置为测试DUT2006,具体地说,测试DUT2006中的装置。在特定实施例中,测试装备2000可在生产环境之外或在现场。因此,测试装备2000的用户在DUT2006上不会具有再编译和/或安装不同核心以允许用户对DUT2006中的装置进行测试的特权。而且,可现场焊接DUT2006上的装置,因此,与可移动装置相比,相对更难测试。然而,由于用户可仅将应用安装在DUT2006上,并且如上所述对装置进行测试,因此降低了在相对不可访问的位置测试这种装置的难度。
图21是根据实施例的具有eMMC的系统的示意图。在该实施例中,系统2100包括eMMC2102和处理器2104。eMMC2102可为系统2100的主存储器装置。在特定示例中,系统2100可为移动通信装置;然而,系统可采取其它形式。eMMC2102和处理器2104可配置为上述装置和处理器。
图22是根据实施例的具有SSD的系统的示意图。在该实施例中,系统2200包括固态盘(SSD)2202。SSD2202可为系统2200的主存储装置。在特定示例中,系统2200可为膝上型计算机、平板计算机或台式计算机;然而,系统可采取其它形式。SSD2202和处理器2204可配置为上述装置和处理器。
一个实施例包括一种具有虚拟装置的系统,包括:装置,其配置为呈现出逻辑装置并且响应于控制信号启用虚拟装置;以及处理器,其连接至所述装置,并且配置为:通过第一装置接口呈现出所述逻辑装置;将控制信号发送至所述装置以启用虚拟装置;并且在启用虚拟装置之后,通过第二装置接口呈现出所述虚拟装置。
在一个实施例中,控制信号包括无效固件。
在一个实施例中,处理器配置为将无效固件发送至所述装置;并且所述装置配置为响应于包括在无效固件中的命令启用虚拟装置。
在一个实施例中,所述装置包括存储装置;并且所述逻辑装置是存储装置的第一分区,并且所述虚拟装置是存储装置的第二分区。
在一个实施例中,第二分区的至少一部分包括针对所述装置的属性的存储器映射接口。
在一个实施例中,所述装置的属性包括以下中的至少一个:装置的固件;命令队列;响应队列;和所述装置的元数据。
在一个实施例中,所述系统还包括:通信接口,其连接至处理器;以及主机系统,其连接至通信接口,并且配置为通过第二装置接口访问所述装置。
在一个实施例中,主机系统配置为通过第二装置接口在所述装置上执行优化、诊断和性能测试中的至少一个。
一个实施例包括一种具有虚拟装置的装置,包括:通信接口;以及控制器,其连接至通信接口;所述控制器配置为:通过通信接口呈现出逻辑装置;响应于通过通信接口接收的启用信号启用虚拟装置;并且当启用虚拟装置时,通过通信接口呈现出所述虚拟装置。
在一个实施例中,控制器配置为呈现出分区表;所述逻辑装置是分区表中的第一分区;并且当启用虚拟装置时,所述虚拟装置是分区表中的第二分区。
在一个实施例中,所述装置还包括:存储器,其连接至控制器;其中:所述逻辑装置是与存储在存储器中的数据相关的逻辑存储装置;控制器配置为呈现出与存储器相关的元数据来作为所述虚拟装置的至少一部分。
在一个实施例中,控制器配置为响应于通过通信接口接收到的禁用信号禁用所述虚拟装置。
在一个实施例中,启用信号包括无效固件。
一个实施例包括一种控制虚拟装置的方法,包括步骤:通过呈现出逻辑装置的装置接收控制信号;通过所述装置确定在控制信号中是否包括启用命令;以及响应于启用命令通过所述装置启用虚拟装置。
在一个实施例中,所述方法还包括步骤:通过所述装置确定在控制信号中是否包括禁用命令;以及响应于禁用命令通过所述装置禁用虚拟装置。
在一个实施例中,通过所述装置接收控制信号的步骤包括:通过所述装置接收所述装置的固件的传输。
在一个实施例中,通过所述装置确定在控制信号中是否包括启用命令的步骤包括:通过所述装置确定传输的固件是否无效;以及如果传输的固件无效,则通过所述装置确定在传输的固件中是否包括启用命令。
在一个实施例中,所述方法还包括步骤:通过所述装置确定传输的固件是否无效;如果传输的固件无效,则通过所述装置确定在传输的固件中是否包括禁用命令;以及响应于禁用命令通过所述装置禁用虚拟装置。
在一个实施例中,所述方法还包括步骤:通过所述装置接收对虚拟装置的访问;以及响应于对虚拟装置的访问,通过所述装置访问所述装置的固件。
在一个实施例中,所述方法还包括步骤:通过所述装置接收对虚拟装置的写入,所述写入包括命令;以及通过所述装置执行所述命令。
在一个实施例中,所述方法还包括步骤:通过所述装置产生对命令的执行的响应;通过所述装置接收与虚拟装置相关的读取;以及响应于所述读取,通过所述装置发送对命令的执行的响应。
一个实施例包括一种访问虚拟装置的方法,包括步骤:指示目标系统上的装置从第一操作模式转变为第二操作模式,其中:在第一操作模式中,所述装置配置为禁用与该装置相关的虚拟装置,而在第二操作模式中,所述装置配置为启用所述虚拟装置;并且通过目标系统访问所述虚拟装置。
在一个实施例中,该方法还包括步骤:在目标系统上安装软件,该软件配置为发送启用信号以将所述装置从第一操作模式转变为第二操作模式。
在一个实施例中,该方法还包括步骤:在发送启用信号之后重新启动目标系统。
在一个实施例中,该方法还包括步骤:发送禁用信号以将所述装置从第二操作模式转变为第一操作模式;以及从目标系统卸载软件;其中,响应于单个输入,发起禁用信号的发送和软件的卸载。
虽然已经根据特定实施例描述了装置、方法和系统,但是本领域普通技术人员之一应该容易认识到,许多对公开的实施例的修改都是可以的,并且因此,任何变形形式应该被认为落入本文公开的装置、方法和系统的精神和范围内。因此,本领域普通技术人员之一可在不脱离权利要求的精神和范围的情况下作出许多修改。
Claims (20)
1.一种具有虚拟装置的系统,包括:
装置,其配置为呈现出逻辑装置并且响应于控制信号启用虚拟装置;以及
处理器,其连接至所述装置,并且配置为:
通过第一装置接口呈现出所述逻辑装置;
将所述控制信号发送至所述装置以启用所述虚拟装置;并且
在启用所述虚拟装置之后,通过第二装置接口呈现出所述虚拟装置。
2.根据权利要求1所述的系统,其中,所述控制信号包括无效固件。
3.根据权利要求1所述的系统,其中:
所述处理器配置为将无效固件发送至所述装置;并且
所述装置配置为响应于包括在所述无效固件中的命令来启用所述虚拟装置。
4.根据权利要求1所述的系统,其中:
所述装置包括存储装置;并且
所述逻辑装置是所述存储装置的第一分区,并且所述虚拟装置是所述存储装置的第二分区。
5.根据权利要求4所述的系统,其中,所述第二分区的至少一部分包括针对所述装置的属性的存储器映射接口。
6.根据权利要求5所述的系统,其中,所述装置的属性包括以下中的至少一个:
所述装置的固件;
命令队列;
响应队列;以及
所述装置的元数据。
7.根据权利要求1所述的系统,还包括:
通信接口,其连接至所述处理器;以及
主机系统,其连接至所述通信接口,并且配置为通过所述第二装置接口访问所述装置。
8.根据权利要求7所述的系统,其中,所述主机系统配置为通过所述第二装置接口在所述装置上执行优化、诊断和性能测试中的至少一个。
9.一种具有虚拟装置的装置,包括:
通信接口;以及
控制器,其连接至所述通信接口;
所述控制器配置为:
通过所述通信接口呈现出逻辑装置;
响应于通过所述通信接口接收的启用信号来启用虚拟装置;并且
当启用虚拟装置时,通过所述通信接口呈现出所述虚拟装置。
10.根据权利要求9所述的装置,其中:
所述控制器配置为呈现出分区表;
所述逻辑装置是所述分区表中的第一分区;并且
当启用所述虚拟装置时,所述虚拟装置是所述分区表中的第二分区。
11.根据权利要求9所述的装置,还包括:
存储器,其连接至所述控制器;
其中:
所述逻辑装置是与存储在所述存储器中的数据相关的逻辑存储装置;
所述控制器配置为呈现出与所述存储器相关的元数据来作为所述虚拟装置的至少一部分。
12.根据权利要求9所述的装置,其中,所述控制器配置为响应于通过所述通信接口接收到的禁用信号来禁用所述虚拟装置。
13.根据权利要求9所述的装置,其中,所述启用信号包括无效固件。
14.一种控制虚拟装置的方法,包括步骤:
通过呈现出逻辑装置的装置接收控制信号;
通过所述装置确定在控制信号中是否包括启用命令;以及
响应于启用命令通过所述装置启用虚拟装置。
15.根据权利要求14所述的方法,还包括步骤:
通过所述装置确定在控制信号中是否包括禁用命令;以及
响应于禁用命令通过所述装置禁用虚拟装置。
16.根据权利要求14所述的方法,其中:
通过所述装置接收控制信号的步骤包括通过所述装置接收所述装置的固件的传输。
17.根据权利要求16所述的方法,其中,通过所述装置确定在控制信号中是否包括启用命令的步骤包括:
通过所述装置确定传输的固件是否无效;以及
如果传输的固件无效,则通过所述装置确定在传输的固件中是否包括启用命令。
18.根据权利要求16所述的方法,还包括步骤:
通过所述装置确定传输的固件是否无效;
如果传输的固件无效,则通过所述装置确定在传输的固件中是否包括禁用命令;以及
响应于禁用命令通过所述装置禁用虚拟装置。
19.根据权利要求14所述的方法,还包括步骤:
通过所述装置接收对虚拟装置的访问;以及
响应于对虚拟装置的访问,通过所述装置访问所述装置的固件。
20.根据权利要求14所述的方法,还包括步骤:
通过所述装置接收对虚拟装置的写入,所述写入包括命令;
通过所述装置执行所述命令;
通过所述装置产生对所述命令的执行的响应;
通过所述装置接收与虚拟装置相关的读取;以及
响应于所述读取,通过所述装置发送对所述命令的执行的响应。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462039400P | 2014-08-19 | 2014-08-19 | |
US62/039,400 | 2014-08-19 | ||
US14/676,518 US9720855B2 (en) | 2014-08-19 | 2015-04-01 | Virtual device based systems with access to parts other than data storage elements through the virtual device |
US14/676,518 | 2015-04-01 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105426265A true CN105426265A (zh) | 2016-03-23 |
CN105426265B CN105426265B (zh) | 2020-11-20 |
Family
ID=55348388
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510511587.7A Active CN105426265B (zh) | 2014-08-19 | 2015-08-19 | 具有虚拟装置的系统和装置以及控制虚拟装置的方法 |
Country Status (4)
Country | Link |
---|---|
US (2) | US9720855B2 (zh) |
JP (1) | JP6622512B2 (zh) |
KR (1) | KR102234261B1 (zh) |
CN (1) | CN105426265B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10331434B2 (en) * | 2016-12-21 | 2019-06-25 | Quanta Computer Inc. | System and method for remotely updating firmware |
US11328089B2 (en) * | 2019-09-20 | 2022-05-10 | International Business Machines Corporation | Built-in legal framework file management |
US11102519B2 (en) * | 2020-01-15 | 2021-08-24 | Panasonic Avionics Corporation | Centralized architecture for in-vehicle entertainment systems |
US11445231B1 (en) | 2021-06-23 | 2022-09-13 | Panasonic Avionics Corporation | Credential management systems and associated methods thereof for streaming content on a transportation vehicle |
US11492119B1 (en) * | 2021-06-23 | 2022-11-08 | Panasonic Avionics Corporation | Methods and systems for streaming content on a transportation vehicle |
US11606583B1 (en) * | 2022-06-08 | 2023-03-14 | Panasonic Avionics Corporation | Distributed data storage for in-vehicle entertainment system |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101394301A (zh) * | 2007-09-21 | 2009-03-25 | 华为技术有限公司 | 小型电信和计算通用硬件平台系统、装置及其通信方法 |
CN101681155A (zh) * | 2007-06-15 | 2010-03-24 | 卡特彼勒公司 | 虚拟传感器系统和方法 |
US20140047144A1 (en) * | 2012-08-07 | 2014-02-13 | Hitachi, Ltd. | I/o device and storage management system |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7334077B2 (en) | 2003-10-17 | 2008-02-19 | Renesas Technology America, Inc. | Method and apparatus for smart memory pass-through communication |
US8078788B2 (en) | 2005-12-08 | 2011-12-13 | Sandisk Technologies Inc. | Media card command pass through methods |
US8868929B2 (en) | 2008-04-08 | 2014-10-21 | Microelectronica Espanola S.A.U. | Method of mass storage memory management for large capacity universal integrated circuit cards |
US8996851B2 (en) | 2010-08-10 | 2015-03-31 | Sandisk Il Ltd. | Host device and method for securely booting the host device with operating system code loaded from a storage device |
US8776060B2 (en) * | 2010-11-04 | 2014-07-08 | Lsi Corporation | Methods and structure for near-live reprogramming of firmware in storage systems using a hypervisor |
US8561066B2 (en) * | 2010-12-08 | 2013-10-15 | International Business Machines Corporation | Simplified DMA mappings for self-virtualizing input/output device virtual functions |
US8732527B2 (en) | 2011-08-16 | 2014-05-20 | Google Inc. | Secure recovery apparatus and method |
TW201504937A (zh) * | 2013-07-31 | 2015-02-01 | Ibm | 由實體儲存裝置中所選分區所構成的虛擬儲存裝置 |
-
2015
- 2015-04-01 US US14/676,518 patent/US9720855B2/en active Active
- 2015-08-19 JP JP2015161644A patent/JP6622512B2/ja active Active
- 2015-08-19 CN CN201510511587.7A patent/CN105426265B/zh active Active
- 2015-08-19 KR KR1020150116749A patent/KR102234261B1/ko active IP Right Grant
-
2017
- 2017-06-27 US US15/635,174 patent/US10127063B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101681155A (zh) * | 2007-06-15 | 2010-03-24 | 卡特彼勒公司 | 虚拟传感器系统和方法 |
CN101394301A (zh) * | 2007-09-21 | 2009-03-25 | 华为技术有限公司 | 小型电信和计算通用硬件平台系统、装置及其通信方法 |
US20140047144A1 (en) * | 2012-08-07 | 2014-02-13 | Hitachi, Ltd. | I/o device and storage management system |
Also Published As
Publication number | Publication date |
---|---|
KR102234261B1 (ko) | 2021-04-01 |
JP6622512B2 (ja) | 2019-12-18 |
US20160055011A1 (en) | 2016-02-25 |
US10127063B2 (en) | 2018-11-13 |
JP2016045953A (ja) | 2016-04-04 |
CN105426265B (zh) | 2020-11-20 |
KR20160022277A (ko) | 2016-02-29 |
US9720855B2 (en) | 2017-08-01 |
US20170300348A1 (en) | 2017-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105426265A (zh) | 具有虚拟装置的系统和装置以及控制虚拟装置的方法 | |
US9411537B2 (en) | Embedded multimedia card (EMMC), EMMC system including the EMMC, and method of operating the EMMC | |
US9812224B2 (en) | Data storage system, data storage device and RAID controller | |
JP2006260568A (ja) | アクティブ及び非アクティブ実行コアを有するマルチコアプロセッサ | |
AU2010234341A1 (en) | Host control of background garbage collection in a data storage device | |
CN101981541A (zh) | 使用闪存和有限功能存储器控制器来引导电子设备 | |
CN100585554C (zh) | 经由私有操作访问控制寄存器的系统和方法 | |
US8713230B2 (en) | Method for adjusting link speed and computer system using the same | |
US8883521B2 (en) | Control method of multi-chip package memory device | |
US9142317B2 (en) | Embedded memory device and memory controller including the same | |
US9361123B2 (en) | Boot from logical volume spanning plurality of PCI devices | |
CN101620652B (zh) | 一种保护存储器数据的主板、计算机和方法 | |
US20080294421A1 (en) | Hard Disk Drive Adapter For Emulating Hard Disk Drive Interface | |
US10732859B2 (en) | Systems and methods for granular non-volatile memory health visibility to a host | |
KR20140080948A (ko) | 데이터 저장 장치의 동작 방법 | |
CN112905107A (zh) | 数据存储装置及其操作方法 | |
US7353328B2 (en) | Memory testing | |
CN108733479B (zh) | 卸载固态硬盘卡的方法以及使用该方法的装置 | |
US11256435B2 (en) | Method and apparatus for performing data-accessing management in a storage server | |
CN114385070B (zh) | 主机、数据存储装置、数据处理系统以及数据处理方法 | |
JP2008276691A (ja) | ハードディスクインターフェースを模擬したインターフェースカード | |
CN113253911B (zh) | 存储系统和输入输出控制方法 | |
CN111309518B (zh) | 存储器系统和存储器系统的操作方法 | |
CN103064803A (zh) | 一种NAND Flash存储设备的数据读写方法和装置 | |
KR102492033B1 (ko) | 메모리 장치 및 이를 포함하는 메모리 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |