用于usb异步通知能力的主机检测的系统和方法

文档序号:9510140阅读:285来源:国知局
用于usb异步通知能力的主机检测的系统和方法
【专利说明】用于USB异步通知能力的主机检测的系统和方法
【背景技术】
[0001] 最小的功率消耗是越来越重要的特征,其在更新的计算平台中得到关注。最初的 通用串行总线(USB)大容量存储装置(例如,仅批量传输(BOT)以及USB附着的SCSI协议 (UASP))规范的一些方面倾向于与这个趋势保持不一致。用于被连接到USB大容量存储设 备上的主机系统的总体功率消耗可以仅仅通过对这些已有的规范的较小的修改来改进。
[0002] 现在,作为新的USB 3. 0规范的一部分,新的特征已经被添加以便改进总线的利 用率以及功率效率。经由USB 3.0被连接的某些设备现在可以具有以异步的方式向主机通 知设备准备就绪的能力,并且排除对所连接的每个设备进行轮询的需要。附加地,BOT以及 UASP规范的修改倾向于消除检测在具有可移除媒体的设备中的媒体状态改变的另一种类 型轮询的需要。

【发明内容】

[0003] 如下的内容提出本发明简化的
【发明内容】
以便提供对本文所描述的一些方面的基 本理解。本
【发明内容】
不是要求保护的主题的广泛的概览。其不是旨在识别要求保护的主题 的关键或重要元素,也不是旨在描述主题发明的范围。它唯一的目的是以简化的形式提出 要求保护的主题的一些方面,以作为稍后所提出的更详细的说明书的前序。
[0004] 用于检测可能错误地和/或不正确地向主机系统报告它们具有可移除媒体的旧 有的存储设备的系统和方法。这样的错误或不正确的报告可以使得主机系统周期性地就设 备是否准备好进行I/O处理来轮询存储设备。这样的轮询将是不必要的,并且表示由主机 系统所消耗的功率的浪费。在一个实施例中,本系统可以实现周期性地轮询存储媒体以及 更新数据库的过程。数据库将是存储设备的列表,存储设备的列表指示它们是真正地具有 可移除媒体还是错误地报告其具有可移除媒体。在另一个实施例中,本系统可以应用某些 启发式(1^111^81:;^3117)测试以便确定存储设备是否这样错误地指示可移除的媒体。在另 一个实施例中,遥测服务可以由一组主机来使用以共享关于这样的存储设备的数据。
[0005] 在一个实施例中,用于检测存储设备的方法被披露,其中存储设备被连接到主机 系统,以便所述存储设备包括相关联的元数据,所述相关联的元数据能够错误地指示这样 的存储设备具有可移除的媒体,所述方法包括:从所述主机系统向第一存储设备发送媒体 轮询消息,所述媒体轮询消息查询所述第一存储设备是否准备就绪,以及如果所述第一存 储设备响应没有准备就绪,则将数据库更新为所述第一存储设备真正具有可移除的媒体。
[0006] 在另一个实施例中,用于在主机系统检测存储设备的系统被披露,其中存储设备 进一步包括相关联的元数据,并且相关联的元数据可以错误地指示所述存储设备包括可移 除的存储媒体,所述系统包括:大容量存储驱动器,所述大容量存储驱动器能够与所述存储 设备相连接以及发送去往和来自所述存储设备的消息;块存储驱动器,所述块存储驱动器 被连接到所述大容量存储驱动器并能够向所述存储设备发送消息以及接收来自所述存储 设备的消息;以及处理器,所述处理器能够向所述存储设备发送媒体轮询消息以及针对并 非真正具有可移除媒体的所述存储设备禁用进一步的媒体轮询消息。
[0007] 当结合在本申请中所提出的附图一起阅读时,本系统的其他特征和方面在下文具 体实施方式中被提出。
【附图说明】
[0008] 在附图的参考图中,图示示例性的实施例。在本文中所公开的实施例和附图是旨 在被认为是说明性的,而不是限制性的。
[0009] 图1描绘了典型的主机/集线器/外围设备配置环境的一个实施例。
[0010] 图2描绘了可以在修订的BOT规范下发生的处理的一个示例性的实施例。
[0011] 图3描绘了根据本申请的原理所做出的本系统的一个示例性的实施例。
[0012] 图4是在可以或者不可以具有可移除媒体的旧有设备之间进行识别和/或区分的 过程的一个流程图实施例。
[0013] 图5是识别可以误报其可移除媒体状态的设备以及帮助实现功率节省的过程的 另一个流程图实施例。
[0014] 图6是收集和汇总来自参与的主机系统的遥测数据的过程的又另一个流程图实 施例。
【具体实施方式】
[0015] 如在本文中所使用的,术语"组件"、"系统"、"接口"、"控制器"等是旨在指代与计 算机相关的实体,或者硬件、软件(例如,在执行中)和/或固件。例如,这些术语中的任何一 个可以是运行在处理上的过程、处理器、对象、可执行的程序、程序和/或计算机。作为举例 说明,运行在服务器上的应用和服务器都可以是组件和/或控制器。一个或多个组件/控 制器可以驻留在过程内,并且组件/控制器可以位于一个计算机本地和/或分布在两个或 多个计算机之间。
[0016] 参考附图来描述要求保护的主题,其中相同的附图标记被用来始终指代相同的元 件。在如下的说明书中,出于说明的目的,大量特定的细节被阐述以便提供对于主题发明的 透彻理解。但是,可以显然的是,要求保护的主题可以在没有这些特定细节的情况下来被实 践。在其他的实例中,众所周知的结构和设备被以框图形式示出以便更易于描述主题发明。
[0017] 介绍 在一个实施例中,可以通过排除对用于USB闪存驱动器的媒体状态的轮询来节省功 率。但是,由于下列原因,可能不能安全地做这个:(1)大多数不准确地报告可移除媒体的 USB闪存驱动器(UFD),以及(2)现在不存在将这些UFD与真正包含可移除媒体(例如,USB 闪存卡读取器设备)的设备明确进行区分的方法。对于将其包括可移除媒体这个信息进行 编码(但是,错误地)的旧有的UFD,在它们事实上不具有这样的可移除媒体时,这是特别正 确的。
[0018] 现在,更新的非旧有设备可以实现新的异步通知机制,主机通过所述异步通知机 制可以确定地和安全地排除媒体轮询,而不会有任何故障或者数据损毁(corruption)的风 险。但是,对于当前(现在以及可预见的将来)在使用中的旧有设备的全部,这是无所作为 的。
[0019] 为了理解这个情况,图1是典型的USB 3. 0主机/集线器/外围设备配置的一个架 构图(100)的一个示例性实施例。如在图1中可以被看到的,新的超高速(SuperSpeed)总 线是与常规的USB 2. 0总线一起进行操作的双总线架构的一部分。控制器102可以与USB 3.0主机104进行通信以便提供I/O处理和/或功能。USB 3.0主机104可以提供对于旧 有的USB 2. 0主机106以及新的超高速主机能力108的兼容支持。控制器102可以是系统 的CPU、I/O控制器或者这样的控制器硬件和/或软件组件的组合。
[0020] 主机可以包括多个端口(例如,IlOa和110b)。这些端口可以与多个集线器112相 连接。集线器112可以进一步包括旧有的集线器114以及新的(例如,超高速)集线器116。 这样的集线器进而可以与多个USB外围设备120相连接,其可以包括一组非超高速功能122 以及超高速功能124。
[0021] 这样的外围设备可以包括各种不同类型的旧有设备,例如,诸如不具有可移除媒 体(其可能错误地向主机报告它具有可移除的媒体)的USB闪存驱动器126或者可以具有实 际的可移除媒体组件(例如,存储卡130)的摄像机128等之类的。
[0022] 图2描绘了可以在修订的BOT或者UASP规范下发生的处理的示例性的实施例 (200)。USB大容量存储设备280可以包括存储介质216 (其可以是可移除的或者不可以是 可移除的)、处理单元214和接口包210。接口包210可以进一步包括旧有的(例如,现有的 BOT以及UASP规范)接口 IN端点(EP) (210a)以及OUT EP 210b,以及用于状态的异步通 知的最新引入的中断端点(INT EP 212)。
[0023] 例如,关于可移除存储装置是否已经被移除或替代的状态的改变可以被异步地发 信号通知到主机系统,例如以通知过程206a发信号通知到US大容量存储驱动器206。这 个通知可以进一步被异步地传递到块存储驱动器204,然后到介质改变过程204a。最后,这 样的状态改变可以被报告给上层文件系统堆栈202。
[0024] 如之前所描述的,旧有的设备将不会异步地报告这样的状态改变,这是由于它们 不是根据新的规范而实现的。实际上,旧有的设备可以是早于针对B0T/UASP规范最新提出 的修改,或者已经选择不实现这些修改的那些设备。附加
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1