CN105264511B - 用于usb异步通知能力的主机检测的系统和方法 - Google Patents
用于usb异步通知能力的主机检测的系统和方法 Download PDFInfo
- Publication number
- CN105264511B CN105264511B CN201480012666.7A CN201480012666A CN105264511B CN 105264511 B CN105264511 B CN 105264511B CN 201480012666 A CN201480012666 A CN 201480012666A CN 105264511 B CN105264511 B CN 105264511B
- Authority
- CN
- China
- Prior art keywords
- storage device
- removable media
- host computer
- media
- computer system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000001514 detection method Methods 0.000 title description 5
- 238000003860 storage Methods 0.000 claims abstract description 75
- 230000008569 process Effects 0.000 claims abstract description 21
- 238000005259 measurement Methods 0.000 claims abstract description 7
- 230000004044 response Effects 0.000 claims description 5
- 230000014759 maintenance of location Effects 0.000 claims description 2
- 238000012545 processing Methods 0.000 abstract description 12
- 238000012360 testing method Methods 0.000 abstract description 9
- 239000002699 waste material Substances 0.000 abstract description 2
- 230000008859 change Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 230000004048 modification Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002045 lasting effect Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000012092 media component Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- 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/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- 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/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- 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/0625—Power saving in 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0632—Configuration or reconfiguration of storage systems by initialisation or re-initialisation 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or 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/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Debugging And Monitoring (AREA)
- Power Sources (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
用于检测可能错误地和/或不正确地向主机系统报告它们具有可移除媒体的旧有的存储设备的系统和方法。这样的错误或不正确的报告可以使得主机系统周期性地就设备是否准备好进行I/O处理来轮询存储设备。这样的轮询将是不必要的,并且表示由主机系统所消耗的功率的浪费。在一个实施例中,本系统可以实现周期性地轮询存储媒体以及更新数据库的过程。数据库将是存储设备的列表,其指示所述存储设备是真正地具有可移除媒体还是错误地报告其具有可移除媒体。在另一个实施例中,本系统可以应用某些启发式测试以便确定存储设备是否这样错误地指示可移除的媒体。在另一个实施例中,遥测服务可以由一组主机来使用以便共享关于这样的存储设备的数据。
Description
背景技术
最小的功率消耗是越来越重要的特征,其在更新的计算平台中得到关注。最初的通用串行总线(USB)大容量存储装置(例如,仅批量传输(BOT)以及USB附着的SCSI协议(UASP))规范的一些方面倾向于与这个趋势保持不一致。用于被连接到USB大容量存储设备上的主机系统的总体功率消耗可以仅仅通过对这些已有的规范的较小的修改来改进。
现在,作为新的USB 3.0规范的一部分,新的特征已经被添加以便改进总线的利用率以及功率效率。经由USB 3.0被连接的某些设备现在可以具有以异步的方式向主机通知设备准备就绪的能力,并且排除对所连接的每个设备进行轮询的需要。附加地,BOT以及UASP规范的修改倾向于消除检测在具有可移除媒体的设备中的媒体状态改变的另一种类型轮询的需要。
发明内容
如下的内容提出本发明简化的发明内容以便提供对本文所描述的一些方面的基本理解。本发明内容不是要求保护的主题的广泛的概览。其不是旨在识别要求保护的主题的关键或重要元素,也不是旨在描述主题发明的范围。它唯一的目的是以简化的形式提出要求保护的主题的一些方面,以作为稍后所提出的更详细的说明书的前序。
用于检测可能错误地和/或不正确地向主机系统报告它们具有可移除媒体的旧有的存储设备的系统和方法。这样的错误或不正确的报告可以使得主机系统周期性地就设备是否准备好进行I/O处理来轮询存储设备。这样的轮询将是不必要的,并且表示由主机系统所消耗的功率的浪费。在一个实施例中,本系统可以实现周期性地轮询存储媒体以及更新数据库的过程。数据库将是存储设备的列表,存储设备的列表指示它们是真正地具有可移除媒体还是错误地报告其具有可移除媒体。在另一个实施例中,本系统可以应用某些启发式(heuristically)测试以便确定存储设备是否这样错误地指示可移除的媒体。在另一个实施例中,遥测服务可以由一组主机来使用以共享关于这样的存储设备的数据。
在一个实施例中,用于检测存储设备的方法被披露,其中存储设备被连接到主机系统,以便所述存储设备包括相关联的元数据,所述相关联的元数据能够错误地指示这样的存储设备具有可移除的媒体,所述方法包括:从所述主机系统向第一存储设备发送媒体轮询消息,所述媒体轮询消息查询所述第一存储设备是否准备就绪,以及如果所述第一存储设备响应没有准备就绪,则将数据库更新为所述第一存储设备真正具有可移除的媒体。
在另一个实施例中,用于在主机系统检测存储设备的系统被披露,其中存储设备进一步包括相关联的元数据,并且相关联的元数据可以错误地指示所述存储设备包括可移除的存储媒体,所述系统包括:大容量存储驱动器,所述大容量存储驱动器能够与所述存储设备相连接以及发送去往和来自所述存储设备的消息;块存储驱动器,所述块存储驱动器被连接到所述大容量存储驱动器并能够向所述存储设备发送消息以及接收来自所述存储设备的消息;以及处理器,所述处理器能够向所述存储设备发送媒体轮询消息以及针对并非真正具有可移除媒体的所述存储设备禁用进一步的媒体轮询消息。
当结合在本申请中所提出的附图一起阅读时,本系统的其他特征和方面在下文具体实施方式中被提出。
附图说明
在附图的参考图中,图示示例性的实施例。在本文中所公开的实施例和附图是旨在被认为是说明性的,而不是限制性的。
图1描绘了典型的主机/集线器/外围设备配置环境的一个实施例。
图2描绘了可以在修订的BOT规范下发生的处理的一个示例性的实施例。
图3描绘了根据本申请的原理所做出的本系统的一个示例性的实施例。
图4是在可以或者不可以具有可移除媒体的旧有设备之间进行识别和/或区分的过程的一个流程图实施例。
图5是识别可以误报其可移除媒体状态的设备以及帮助实现功率节省的过程的另一个流程图实施例。
图6是收集和汇总来自参与的主机系统的遥测数据的过程的又另一个流程图实施例。
具体实施方式
如在本文中所使用的,术语“组件”、“系统”、“接口”、“控制器”等是旨在指代与计算机相关的实体,或者硬件、软件(例如,在执行中)和/或固件。例如,这些术语中的任何一个可以是运行在处理上的过程、处理器、对象、可执行的程序、程序和/或计算机。作为举例说明,运行在服务器上的应用和服务器都可以是组件和/或控制器。一个或多个组件/控制器可以驻留在过程内,并且组件/控制器可以位于一个计算机本地和/或分布在两个或多个计算机之间。
参考附图来描述要求保护的主题,其中相同的附图标记被用来始终指代相同的元件。在如下的说明书中,出于说明的目的,大量特定的细节被阐述以便提供对于主题发明的透彻理解。但是,可以显然的是,要求保护的主题可以在没有这些特定细节的情况下来被实践。在其他的实例中,众所周知的结构和设备被以框图形式示出以便更易于描述主题发明。
介绍
在一个实施例中,可以通过排除对用于USB闪存驱动器的媒体状态的轮询来节省功率。但是,由于下列原因,可能不能安全地做这个:(1)大多数不准确地报告可移除媒体的USB闪存驱动器(UFD),以及(2)现在不存在将这些UFD与真正包含可移除媒体(例如,USB闪存卡读取器设备)的设备明确进行区分的方法。对于将其包括可移除媒体这个信息进行编码(但是,错误地)的旧有的UFD,在它们事实上不具有这样的可移除媒体时,这是特别正确的。
现在,更新的非旧有设备可以实现新的异步通知机制,主机通过所述异步通知机制可以确定地和安全地排除媒体轮询,而不会有任何故障或者数据损毁(corruption)的风险。但是,对于当前(现在以及可预见的将来)在使用中的旧有设备的全部,这是无所作为的。
为了理解这个情况,图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控制器或者这样的控制器硬件和/或软件组件的组合。
主机可以包括多个端口(例如,110a和110b)。这些端口可以与多个集线器112相连接。集线器112可以进一步包括旧有的集线器114以及新的(例如,超高速)集线器116。这样的集线器进而可以与多个USB外围设备120相连接,其可以包括一组非超高速功能122以及超高速功能124。
这样的外围设备可以包括各种不同类型的旧有设备,例如,诸如不具有可移除媒体(其可能错误地向主机报告它具有可移除的媒体)的USB闪存驱动器126或者可以具有实际的可移除媒体组件(例如,存储卡130)的摄像机128等之类的。
图2描绘了可以在修订的BOT或者UASP规范下发生的处理的示例性的实施例(200)。USB大容量存储设备280可以包括存储介质216(其可以是可移除的或者不可以是可移除的)、处理单元214和接口包210。接口包210可以进一步包括旧有的(例如,现有的BOT以及UASP规范)接口IN端点(EP)(210a)以及OUT EP 210b,以及用于状态的异步通知的最新引入的中断端点(INT EP 212)。
例如,关于可移除存储装置是否已经被移除或替代的状态的改变可以被异步地发信号通知到主机系统,例如以通知过程 206a发信号通知到US大容量存储驱动器206。这个通知可以进一步被异步地传递到块存储驱动器204,然后到介质改变过程204a。最后,这样的状态改变可以被报告给上层文件系统堆栈202。
如之前所描述的,旧有的设备将不会异步地报告这样的状态改变,这是由于它们不是根据新的规范而实现的。实际上,旧有的设备可以是早于针对BOT/UASP规范最新提出的修改,或者已经选择不实现这些修改的那些设备。附加地,旧有的设备可以错误地报告其具有可移除媒体(因此,要求连续的轮询),甚至在它们不具有这样的可移除媒体时。为了更好地理解对于潜在的功率节省的各种不同的方面,考虑对各种不同的组件的影响可以是合期望的:
集线器和控制器考虑
在管理用于USB设备树的每个节点的功率的同时,特定节点的全部子节点在那个节点自身可以被挂起之前必须被挂起。然后,当被连接到主机控制器的整个设备树已经被挂起时,控制器自身可以被挂起。挂起的控制器不仅节省与保持其自己电路活跃相关联的功率,其也可以由于控制器可以生成的中断的中止(cessation)而带来降低的主机CPU功率消耗。
CPU考虑
为了保持主机随时知晓具有可移除媒体的设备的当前的媒体状态,系统可以利用TEST UNIT READY(TUR)命令(例如,作为媒体轮询消息)来影响周期的轮询。这对应于在定时器过程调用的上下文中的代码的周期执行,其倾向于会将CPU保持在更高的功率状态(由于这个活跃性)。为了尝试最小化整体的系统功率消耗,考虑下列内容可以是合期望的:
(1) 主机通过TEST UNIT READY命令连续轮询报告可移除媒体的设备,以便检测在媒体状态中的任何改变。这往往会消耗附加的功率,以保持USB设备树以及主机控制器和主机CPU在没有实际数据I/O时不必要的活跃;以及
(2)在被连接到更多功率优化的主机的同时,总线供电的大容量存储设备可能发现其自身相比于在之前的主机版本中,在更长的时间段上保持挂起。在挂起状态中的时间的这个长度可以超过设备维持鲁棒操作所需的时间。在这样的环境中,设备会要求临时端口继续执行,其中端口在允许该设备完成某组内部常规事务(housekeeping)任务的时间内保持活跃。
外围/设备类型
在本文的一些实施例中,作为实现所描述的机制的回报所获得的好处可以根据设备的类型而变化。广泛地考虑可以影响结果的两类可移除性(设备可移除性和媒体可移除性)可以是有益的。下文的表1示出了表示这两个属性的排列的各种不同的设备类型的示例:
表1—设备分类和可移除性
在分类1和3中的设备将往往会从排除TEST UNIT READY轮询中清楚地受益,然而在分类2和4中的设备可以从远程唤醒端口的能力中更多地受益。附加地,考虑如下可以是合期望的:分类1设备的用户能够简单地将其拔掉以节省功率,而分类3设备的用户不会被给予相同的选择。还可以指出的是,不管可移除的媒体插槽是否被占用,分类3设备都消耗系统功率。附加地,可以指出的是,普通的USB闪存驱动器出现在分类1和分类2两者下。这是正确的,因为现有的闪存驱动器的大部分指定比特值1(TRUE)以用于可移除介质比特(RMB)并且因此引起(induce)TEST UNIT READY轮询,而不管其不是可移除存储介质的真正的载体。但是,某些闪存驱动器确实精确地表示它们的不可移除媒体(例如,经由被设置为0的可移除媒体比特(RMB),也就是说,RMB=0),并且对于所附着的主机系统而言,相比于报告不精确值(RMB=1)的设备有效地帮助节省更多的功率。
一个实施例
如所提到的,通过安全地排除USB闪存驱动器的这个不必要的媒体轮询所获得的好处是多方面的:
(1)连续的轮询往往会保持设备活跃,因此防止选择性的挂起。排除轮询可以允许设备自己到达空闲状态,并且因此被置于低功率非活跃状态;
(2)这不仅可以影响设备,也可以影响整个USB设备树,这是因为除了USB主机控制器之外,所有介入的集线器设备往往会保持活跃;以及
(3)连续轮询DPC定时器也可以往往保持CPU不必要的活跃。
因此,通过影响真正可移除读取器设备相对于USB闪存驱动器的精确识别来安全地排除轮询将是合期望的。附加地,做出错误的识别可以使得媒体改变被错过,因此可能导致恶化的功能以及可能的数据损毁。
图3描绘了可能影响USB 3.0标准等的本系统(300)的一个示例性实施例。旧有的USB大容量存储设备308包括存储介质316,处理组件314以及接口包310,其可以进一步包括旧有接口IN EP 310a和OUT EP 310b。
在这个情况下,即使旧有的设备错误地指定其是否具有可移除媒体,系统都仍然能够利用异步通知,USB大容量存储驱动器306期待将不会达到的这样的异步通知。如果系统确实接收到来自存储设备的异步的通知消息,那么其往往会指示该存储设备不是旧有设备,以及该系统可以相应地对待那个设备,包括在接收到这样的通知消息时,该系统可以利用存储设备的ID或者其他与该存储设备相关联的元数据将数据库更新为该存储设备真正具有可移除的媒体。这个数据和/或数据库可以进一步经由遥测或者其他方式与其他主机系统进行共享。
可以经由介质改变过程304a来将状态异步地传递到块存储驱动器304。最终,这样的状态可以被进一步传递到上层文件系统驱动器堆栈302。块存储驱动器304可以进一步包括处理器,或者能够访问足够的处理能力,以便执行介质改变过程或者一些足够的过程来检测所连接的存储设备的状态以及就它们针对I/O处理的准备就绪状态或者RMB状态对存储设备进行查询。
为了影响这个节省功率的异步状态更新,本系统的若干实施例可以利用用于改进可移除媒体的正确指定和/或检测的各种不同的技术和/或方法。
仅用于一个示例,在载运产品之前整理数据是可能的。首先,相对于读取器设备识别尽可能多已知的(旧有的或者其他的)USB闪存驱动器可能是可能的。关于这些读取器以及设备的元数据可以被置于可搜索的表或者其他合适的数据库中。这个数据库可以被查阅(consult)(例如,作为初始的表)并且该系统可以视情况来应用正确的轮询行为。
但是,由于这个初始的表/数据库可以被限制,因为其既不是穷举的也不是前视的,所以对于主机系统,使用某些下述启发式过程和/或方法以便进一步对其进行改进可能是可能的,如下:
(1)在初始化期间,向报告RMB=1的一些或者所有旧有单元(LUN)发出一次TUR命令(或者指示设备对于I/O处理已准备就绪的一些其他“准备就绪”命令)。如果至少一个LNU以NOT READY-MEDIA NOT PRESENT来响应TUR,那么这是一个闪存卡读取器或者具有真正可移除媒体的其他设备。该系统或者主机可以在后续相应地处理它,包括禁用对那个设备的轮询和/或将该表/ 数据库更新为该设备真正具有可移除媒体。
(2)如果所有都报告READY,那么可以期望进一步的证据以便做出精确的确定。在遥测报告中,其可能上传、共享数据(例如,与其他主机一起更新设备勘误数据库)以便包括设备的硬件ID(VID和PID)、LUN的数量以及每个LUN报告READY相对于NOT READY的次数(这可以是合期望的,这是由于RMB=0设备的某些少数设备偶发地以及间歇性地报告NOTREADY)。
(3)汇总遥测样本数据,并且相对于可能未被包括在初始表/数据库中的闪存卡读取器设备,识别非常可能的UFD。这个复查过程可以帮助将任何极端情况(corner case)和反常排除在考虑之外。
(4)周期性地应用这个新信息以便更新该表/数据库以及动态地更新驱动器。
如所提到的,实现异步通知的新的USB大容量存储设备可以经由被插入在暴露于该主机的接口描述符包的附加的中断端点来这样做。旧有的(或者下层的)主机(其不知道这个新的异步通知功能)可以简单地忽略该附加的端点,并且保持无法利用该新特征。
但是,仅仅更新的主机系统能够识别和利用这个新的异步通知机制。它是通过如下方式来这样做的:选择新的中断端点以及只要设备保持在活跃的D0功率状态就维持对这个端点持续的、未完结的请求。在由设备生成任何媒体改变事件时,设备完成该请求。在此之后,主机重新发出另一个中断端点请求来替换最近完成的请求。当设备转换到非活跃D3功率状态时,主机系统取消这个对该中断端点的未完成请求。随后,在设备恢复到活跃的D0功率状态时,或者作为对应于本地检测的在设备上的媒体改变的设备唤醒信令的结果或者由于主机所发起的转换,该主机重新建立持续的中断端点异步通知请求。
若干处理实施例
图4描绘了可以帮助在可以或不可以具有可移除媒体的旧有设备之间进行识别和/或区分以及帮助节省功率的过程的一个流程图实施例(400)。
在402处,设备可以被插入在集线器中,并且稍后,在404处,该系统可以发出询问命令(即,某种准备就绪命令)。如果设备向回报告其不具有可移除媒体(RMB=0),那么系统可以在414处转换到节省功率路径,其中设备空闲定时器可以被重置。该系统可以接收该设备被断开的报告,在这个情况下,该设备可以在424处被移除而不进一步考虑。
但是,如果存在来自系统的I/O请求,那么在该请求被服务的同时,该设备空闲定时器可以在414处被重置回。如果没有这样的I/O请求,则设备的空闲定时器可以在420处变成到期。如果是这样,在422处挂起该设备端口以便节省功率可能是可能的。
但是,如果回到406处,设备报告RMB=1(即,其具有可移除媒体),那么该系统可以应用某种启发式测试以便确定该设备是否真正具有可移除媒体。在一个实施例中,这样的启发式测试可以根据在上文中所给出的那些方法进行。如果根据该启发式测试,该设备具有不可移除的媒体,那么该过程可以转换到414处并且相应地继续进行。
否则,该系统可以进一步询问该设备是否实现异步的媒体通知(例如,根据BOT/UASP规范的扩展或者可以支持这样的异步通知的任何其他规范)。如果是这样,那么该系统可以转换到414处。否则,该系统可以实现周期性的TUR轮询,并且该设备不可以变为空闲。
图5是可以补充可以帮助实现功率节省以及更新和改进关于可以误报其可移除媒体状态的设备的元数据的其他过程(例如,图4等)的另一个流程图实施例(500)。在502处,设备可以被插入。在504处,系统可以查阅表/数据库来确定特定的设备的状态。在506处,如果设备被列为是不具有可移除媒体的一个设备,那么在508处,该系统可以禁用对于那个设备的TUR轮询。
否则,如果不存在数据库条目,那么该系统可以转换到510处,并且检测是否该设备变为断开。如果是这样,那么该系统可以转换到设备被移除状态518。否则,系统可以监控该设备对TUR轮询的响应。如果存在指示不存在媒体的响应,那么在516处,该系统可以收集在该设备上的数据并且经由遥测来报告该设备。否则,该系统可以继续监控该设备对TUR轮询的响应,并相应地继续进行。
图6是收集和汇总来自参与的主机系统的遥测数据的过程(例如,可能在服务器系统上离线地运行)的又另一个流程图实施例(600)。这可以被用来更新表/数据库以便适当地识别可以误识别其可移除媒体状态的设备。这个过程可以或者离线地或者以其他方式进行。在602处,该系统可以复查遥测数据以便更新设备数据库。随着该数据库被这样更新,该系统可以在604处确定是否存在任何不可移除的媒体。如果存在,那么在606处,该系统可以更新该数据库以用于将特定设备的处理告知所有的可更新主机系统的目的。如果存在要报告的新的设备,那么该系统可以将这个信息推送到该数据库。在某个稍后的时间点,这个数据库可以经由合适的更新过程(例如,经由Windows 更新®计算机服务)来与所有可更新的主机系统进行共享。
在上文已经被描述的内容包括主题发明的示例。当然,为了描述要求保护的主题的目的,描述组件或者方法的每个可想到的组合是不可能的,但是一个本领域普通技术人员可以认识到本主题发明的许多进一步组合和排列是可能的。相应地,要求保护的主题是旨在包括落在所附的权利要求的精神和范围内的所有这样的变更、修改和变化。
特别地以及关于由上文所描述的组件、设备、电路、系统等所执行的各种不同的功能,被用来描述这样的组件的术语(包括,“装置”的提及),除非另有指示,是旨在对应于执行所描述的组件的特定的功能(例如,功能等价物)的任意组件,即使不是从结构上等价于所公开的结构,其执行在所要求保护的主题的在本文中的说明的示例性方面中的功能。在这点上,也将被认识到的是,本发明包括系统以及具有用于执行所要求保护的主题的各种不同的方法的动作和/或事件的计算机可执行指令的计算机可读介质。
附加地,尽管本主题发明的特定特征已经相对于若干实现方式的仅一种而被公开,但是这样的特征可以与其他实现方式的一个或多个其他的特征进行组合,对于任何给定或者特定的应用而言这可以是期望的和有利的。此外,就术语“包含”和“包括”及其变型在具体实施方式或者权利要求中被使用的这方面来说,这些术语是旨在以与术语“包括”相类似的方式为包括性的。
Claims (11)
1.一种用于检测传统存储设备的方法,所述存储设备被连接到主机系统,所述主机系统被配置用来从存储设备接收异步状态消息,以便所述传统存储设备包括相关联的元数据,所述相关联的元数据能够错误地指示这样的存储设备具有可移除媒体,所述方法包括:
从所述主机系统将媒体轮询消息发送到第一存储设备,所述媒体轮询消息查询所述第一存储设备是否是准备就绪;
如果所述第一存储设备响应为没有准备就绪,将数据库更新为所述第一存储设备真正具有可移除媒体;以及
如果所述第一存储设备并非真正具有可移除媒体,则由所述主机系统禁用对所述第一存储设备的进一步的媒体轮询。
2.权利要求1所述的方法,其中所述相关联的元数据包括组中的一个,所述组包括:“RMB=0”状态以及“RMB=1”状态。
3.权利要求1所述的方法,其中所述方法进一步包括:
接收来自所述存储设备的异步通知消息;以及
在接收时,将数据库更新为所述第一存储设备真正具有可移除媒体。
4.权利要求1所述的方法,其中所述方法进一步包括:
搜索包括针对用于所述第一存储设备的条目错误地指示可移除媒体的相关联的元数据的已知的存储设备的数据库,所述第一存储设备被连接到所述主机系统;以及
如果针对所述第一存储设备在所述数据库中存在条目,则由所述主机禁用对所述第一存储设备的轮询。
5.权利要求1所述的方法,其中所述方法进一步包括:
与第二主机系统共享关于包括错误地指示可移除媒体的相关联的元数据的存储设备的数据。
6.权利要求5所述的方法,其中共享数据进一步包括:
上传硬件ID、销售商ID VID、产品ID PID或旧有单元LUN中的至少一个。
7.权利要求5或6所述的方法,其中共享数据进一步包括:
向遥测服务器报告所述数据;以及
由主机系统经由更新过程从设备勘误数据库接收数据。
8.一种用于在主机系统上检测传统存储设备的系统,所述主机系统被配置用来从设备接收异步状态消息,所述传统存储设备进一步包括相关联的元数据,所述相关联的元数据能够错误地指示所述存储设备包括可移除的存储媒体,所述系统包括:
大容量存储驱动器,所述大容量存储驱动器能够与所述存储设备相连接以及发送去往和来自所述存储设备的消息;
块存储驱动器,所述块存储驱动器被连接到所述大容量存储驱动器并能够向所述存储设备发送消息以及接收来自所述存储设备的消息;以及
处理器,所述处理器被配置用来向所述存储设备发送媒体轮询消息以及禁用到并非真正具有可移除媒体的所述存储设备的进一步的媒体轮询消息从而减小系统功率消耗。
9.权利要求8所述的系统,其中所述处理器还被配置用来:
搜索包括针对用于第一存储设备的条目错误地指示可移除媒体的相关联的元数据的已知的存储设备的数据库,所述第一存储设备被连接到所述主机系统;以及
如果针对所述第一存储设备在所述数据库中条目存在为不真正具有可移除媒体,则由所述主机禁用对所述第一存储设备的轮询。
10.权利要求9所述的系统,其中所述处理器还被配置用来:
与第二主机系统共享关于包括错误地指示可移除媒体的相关联的元数据的存储设备的数据;
向遥测服务器报告所述数据;以及
经由更新过程从设备勘误数据库接收数据。
11.一种计算机可读存储介质,其上存储了计算机可读指令,所述指令在被计算机执行时导致计算机执行如权利要求1-7中任何一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/789088 | 2013-03-07 | ||
US13/789,088 US9589010B2 (en) | 2013-03-07 | 2013-03-07 | Systems and methods for host detection of USB asynchronous notification capability |
PCT/US2014/020060 WO2014137959A1 (en) | 2013-03-07 | 2014-03-04 | Systems and methods for host detection of usb asynchronous notification capability |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105264511A CN105264511A (zh) | 2016-01-20 |
CN105264511B true CN105264511B (zh) | 2018-03-30 |
Family
ID=50382614
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480012666.7A Active CN105264511B (zh) | 2013-03-07 | 2014-03-04 | 用于usb异步通知能力的主机检测的系统和方法 |
Country Status (11)
Country | Link |
---|---|
US (2) | US9589010B2 (zh) |
EP (1) | EP2965215B1 (zh) |
JP (1) | JP6293798B2 (zh) |
KR (2) | KR102219218B1 (zh) |
CN (1) | CN105264511B (zh) |
AU (1) | AU2014226091B2 (zh) |
BR (1) | BR112015020052B1 (zh) |
CA (1) | CA2898753C (zh) |
MX (1) | MX348640B (zh) |
RU (1) | RU2667033C2 (zh) |
WO (1) | WO2014137959A1 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9589010B2 (en) | 2013-03-07 | 2017-03-07 | Microsoft Technology Licensing, Llc | Systems and methods for host detection of USB asynchronous notification capability |
CN106168903A (zh) * | 2016-06-30 | 2016-11-30 | 国云科技股份有限公司 | 一种管理usb和自动挂载到虚拟机的方法 |
US10725939B2 (en) * | 2017-02-13 | 2020-07-28 | Microchip Technology Incorporated | Host-detecting USB hub |
US10705157B2 (en) * | 2017-08-09 | 2020-07-07 | Microsoft Technology Licensing, Llc | Testing system for an electrical cable |
RU2685063C1 (ru) * | 2018-10-09 | 2019-04-16 | Акционерное общество "Актив-софт" (АО "Актив-софт") | Система для программирования и тестирования usb устройств |
RU187402U1 (ru) * | 2018-11-27 | 2019-03-05 | Акционерное общество "Актив-софт" (АО "Актив-софт") | Аппарат для маркировки и тестирования usb-устройств |
RU2694143C1 (ru) * | 2018-11-27 | 2019-07-09 | Акционерное общество "Актив-софт" (АО "Актив-софт") | Аппарат для маркировки и тестирования usb-устройств |
CN111431952B (zh) * | 2019-01-09 | 2022-06-03 | 阿里巴巴集团控股有限公司 | 消息推送方法、装置及系统,计算机存储介质和电子设备 |
CN111813727B (zh) * | 2020-08-21 | 2020-12-08 | 南京沁恒微电子股份有限公司 | 一种实时高效的usb数据传输方法 |
US20220398024A1 (en) * | 2020-12-18 | 2022-12-15 | Micron Technology, Inc. | Dynamic interval for a memory device to enter a low power state |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6532535B1 (en) * | 1998-02-24 | 2003-03-11 | Adaptec, Inc. | Method for managing primary and secondary storage devices in an intelligent backup and restoring system |
US8285909B2 (en) * | 2007-12-07 | 2012-10-09 | Intel Corporation | Hardware assisted endpoint idleness detection for USB host controllers |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6567921B1 (en) | 1999-01-25 | 2003-05-20 | Agere Systems, Inc. | Asynchronous low power mode bus controller circuit and method of low power mode operation |
US6546437B1 (en) * | 1999-03-18 | 2003-04-08 | Intel Corporation | Communication between a computer and a peripheral with legacy failure control mechanism |
US7707321B2 (en) | 1999-08-04 | 2010-04-27 | Super Talent Electronics, Inc. | Chained DMA for low-power extended USB flash device without polling |
US7819750B2 (en) * | 1999-10-06 | 2010-10-26 | Igt | USB software architecture in a gaming machine |
KR101050248B1 (ko) * | 2003-06-30 | 2011-07-19 | 톰슨 라이센싱 | 비디오 레코딩을 위해 탈착가능한 매체 저장 디바이스 또는 재생 디바이스 |
WO2005031632A2 (en) * | 2003-09-24 | 2005-04-07 | Medtronic, Inc. | Apparatus and method for serving medical device application content to a remote computing device |
US7124248B2 (en) * | 2003-10-20 | 2006-10-17 | Intel Corporation | Current media status determination for a storage device |
US20080071963A1 (en) | 2003-11-22 | 2008-03-20 | Super Talent Electronics Inc. | Express card with extended USB interface |
JP3792230B2 (ja) * | 2004-01-23 | 2006-07-05 | 松下電器産業株式会社 | メディアドライブおよびコンピュータシステムとメディアドライブ制御方法 |
US8200862B2 (en) | 2004-03-17 | 2012-06-12 | Super Talent Electronics, Inc. | Low-power USB flash card reader using bulk-pipe streaming with UAS command re-ordering and channel separation |
EP1749268B1 (en) * | 2004-05-28 | 2009-03-25 | THOMSON Licensing | Method for managing the plug-in or removal of a memory card into or from a card reader and apparatus for use in said method |
BRPI0510494B8 (pt) * | 2004-07-12 | 2022-06-28 | Kk Toshiba Toshiba Corporation | Dispositivo de armazenagem e aparelho hospedeiro |
US10204338B2 (en) * | 2004-11-24 | 2019-02-12 | Microsoft Technology Licensing, Llc | Synchronizing contents of removable storage devices with a multimedia network |
US8478860B2 (en) * | 2006-03-14 | 2013-07-02 | Strong Bear L.L.C. | Device detection system for monitoring use of removable media in networked computers |
US20080189554A1 (en) | 2007-02-05 | 2008-08-07 | Asad Ali | Method and system for securing communication between a host computer and a secure portable device |
US8655463B2 (en) | 2007-05-18 | 2014-02-18 | Sandisk Technologies Inc. | Method for avoiding refreshing a database of metadata associated with digital media content |
US8510494B2 (en) | 2009-12-24 | 2013-08-13 | St-Ericsson Sa | USB 3.0 support in mobile platform with USB 2.0 interface |
JP2012008846A (ja) * | 2010-06-25 | 2012-01-12 | Yokogawa Electric Corp | 記憶装置を備えたデバイス |
US9589010B2 (en) * | 2013-03-07 | 2017-03-07 | Microsoft Technology Licensing, Llc | Systems and methods for host detection of USB asynchronous notification capability |
-
2013
- 2013-03-07 US US13/789,088 patent/US9589010B2/en active Active
-
2014
- 2014-03-04 WO PCT/US2014/020060 patent/WO2014137959A1/en active Application Filing
- 2014-03-04 MX MX2015011836A patent/MX348640B/es active IP Right Grant
- 2014-03-04 BR BR112015020052-4A patent/BR112015020052B1/pt active IP Right Grant
- 2014-03-04 KR KR1020157024235A patent/KR102219218B1/ko active IP Right Grant
- 2014-03-04 CN CN201480012666.7A patent/CN105264511B/zh active Active
- 2014-03-04 JP JP2015561512A patent/JP6293798B2/ja active Active
- 2014-03-04 KR KR1020217004722A patent/KR102270531B1/ko active IP Right Grant
- 2014-03-04 AU AU2014226091A patent/AU2014226091B2/en active Active
- 2014-03-04 EP EP14712874.8A patent/EP2965215B1/en active Active
- 2014-03-04 CA CA2898753A patent/CA2898753C/en active Active
- 2014-03-04 RU RU2015137806A patent/RU2667033C2/ru active
-
2017
- 2017-03-03 US US15/449,784 patent/US10366077B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6532535B1 (en) * | 1998-02-24 | 2003-03-11 | Adaptec, Inc. | Method for managing primary and secondary storage devices in an intelligent backup and restoring system |
US8285909B2 (en) * | 2007-12-07 | 2012-10-09 | Intel Corporation | Hardware assisted endpoint idleness detection for USB host controllers |
Also Published As
Publication number | Publication date |
---|---|
RU2015137806A3 (zh) | 2018-03-07 |
JP2016510920A (ja) | 2016-04-11 |
CA2898753A1 (en) | 2014-09-12 |
KR102219218B1 (ko) | 2021-02-23 |
BR112015020052B1 (pt) | 2021-12-21 |
US20140258225A1 (en) | 2014-09-11 |
KR20150123827A (ko) | 2015-11-04 |
MX348640B (es) | 2017-06-22 |
KR20210021136A (ko) | 2021-02-24 |
BR112015020052A8 (pt) | 2019-11-12 |
CA2898753C (en) | 2021-03-16 |
RU2667033C2 (ru) | 2018-09-13 |
WO2014137959A1 (en) | 2014-09-12 |
CN105264511A (zh) | 2016-01-20 |
BR112015020052A2 (pt) | 2017-07-18 |
US10366077B2 (en) | 2019-07-30 |
AU2014226091A1 (en) | 2015-08-06 |
MX2015011836A (es) | 2016-01-08 |
EP2965215A1 (en) | 2016-01-13 |
US20170177659A1 (en) | 2017-06-22 |
KR102270531B1 (ko) | 2021-06-28 |
RU2015137806A (ru) | 2017-03-10 |
JP6293798B2 (ja) | 2018-03-14 |
US9589010B2 (en) | 2017-03-07 |
EP2965215B1 (en) | 2017-05-03 |
AU2014226091B2 (en) | 2019-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105264511B (zh) | 用于usb异步通知能力的主机检测的系统和方法 | |
JP5585654B2 (ja) | 情報処理システム、管理装置、および情報処理装置の管理方法 | |
US7543190B2 (en) | System and method for detecting false positive information handling system device connection errors | |
US20030084359A1 (en) | System and method for intelligent control of power consumption of distributed services during periods when power consumption must be reduced | |
US20030084358A1 (en) | System and method for intelligent control of power consumption of distributed services during periods of reduced load | |
CN106250283B (zh) | 用于自动决定服务器机架重量的系统与方法 | |
CN103201724A (zh) | 在高可用性虚拟机环境中提供高可用性应用程序 | |
TW201220075A (en) | Controlling method for Baseboard Management Controller with customization sensor data record | |
CN107506266A (zh) | 一种数据恢复方法及系统 | |
JP2016515245A5 (zh) | ||
CN106484549A (zh) | 一种交互方法、NVMe设备、HOST及物理机系统 | |
EP3072049B1 (en) | Indicating rebuild state of storage devices | |
CN110647409A (zh) | 消息写入方法、电子设备、系统及介质 | |
CN108985402A (zh) | 一种raid卡信息获取方法及相关装置 | |
CN101295273B (zh) | 看门狗设计方法及看门狗装置 | |
JP2017041110A (ja) | マルチコンピュータシステム,管理装置および管理プログラム | |
CN106919453B (zh) | 共享装置的使用方法及资源共享系统 | |
JP2009301298A (ja) | アプリケーションの応答不能時を推定するシステム、方法、およびプログラム | |
US20230068583A1 (en) | System and method for fault identification and fault handling in a multiport power sourcing device | |
CN117923573A (zh) | 净水机的控制方法、系统、设备、介质和程序产品 | |
JP2023108954A (ja) | 監視装置及びプログラム | |
CN118502567A (zh) | 内存设备、计算系统及内存设备的控制方法 | |
CN118121080A (zh) | 净水机的出水方法、装置、电子设备、存储介质及净水机 | |
TW201027326A (en) | Main board system and setting method thereof | |
JPH04287257A (ja) | ハードディスク装置障害通知方式 |
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 |