通用串行总线主机控制器和通用串行总线主机控制方法技术

技术编号:4194813 阅读:213 留言:0更新日期:2012-04-11 18:40
提供了一种USB主机控制器和USB主机控制方法。该USB主机控制器连接到包括一个或多个端点的USB设备,并且向所述一个或多个端点中第一端点发送请求。该USB主机控制器包括:第一存储单元;以及第一控制单元,用于将第一端点响应于所述请求而发送的未就绪事务分组所携带的关于第一端点的端点信息存储在第一存储单元中。通过在USB主机控制器内设置存储单元,可以减少存储端点信息的时间以及响应ERDY请求的时间,提高USB主机控制器的性能。

【技术实现步骤摘要】

本专利技术涉及通用串行总线(USB ) 3.0协议中的NRDY (未就绪)/ERDY (就绪)机制,并且具体涉及一种基于USB 3.0协议的USB主机控制器和 USB主机控制方法,其能够减少处理NRDY响应消息和ERDY请求的时间, 提高USB主机控制器的性能。
技术介绍
目前,已经制定了通用串行总线(USB) 3.0协议。在USB3.0协议中定 义了 NRDY (未就绪)/ERDY (就绪)机制。图1示出了使用NRDY/ERDY 机制的传统USB主机控制器的示意性框图。如图1所示,USB主机控制器 100连接到外部的系统存储器300,并且还经由USB总线连接到一个或多个 USB设备200 (为简单起见,在图1中仅示出一个USB设备200)。 USB设 备200包括一个或多个端点(Endpoint) 201-1、 201-2、 ...201-n。当USB主机控制器100向所述一个或多个端点之一(假设为端点201-1 ) 发送请求(例如输入请求(IN request)或输出请求(OUT r叫uest))以请求 读/写数据时,如果端点201-1没有准备好发送/接收所请求的数据,则端点 201-1向USB主机控制器100发送NRDY响应消息(即,NRDY事务分组 (transactionpacket)),以表明该端点暂时不能发送/接收所请求的数据。当端 点201-1随后准备好发送/接收所请求的数据时,其向USB主机控制器100发 送ERDY请求(即,ERDY事务分组),使得USB主机控制器重新执行先前 未能执行的对应事务。为支持USB 3.0协议,Intel其后推出了扩展主控制器界面(Extensible Host Controller Interface,简称xHCI)协议,xHCI协议主要描述了系统软件与 硬件之间接口所用的寄存器和数据结构,为USB 3.0主控制器与USB 3.0夕卜 设驱动程序之间提供标准通信方式。根据xHCI协议,当USB主机控制器100 从端点201-1接收到NRDY事务分组时,其将该NRDY事务分组携带的关于 端点201-1的端点信息(以下也称为NRDY信息)存储到系统存储器300中。所述NRDY信息包括用于标识USB设备200的插槽ID ( Slot ID)、用于标识 USB设备200内的端点201-1的设备上下文索引(Device Context Index, DCI )、 USB设备200的设备地址等等。随后,当USB主机控制器100从端点201-1 接收到ERDY事务分组时,USB主机控制器100访问系统存储器300,以便 检查在该系统存储器300中是否存在与所述ERDY事务分组匹配的NRDY信 息。如果找到匹配的NRDY信息,则USB主机控制器100根据该NRDY信 息而重新执行先前未能执行的对于端点201-1的事务。 在上述传统USB主机控制器中,存在以下问题(1 )每次接收到NRDY事务分组时,USB主机控制器都将NRDY信息 保存到系统存储器中。此外,每次接收到ERDY事务分组时,USB主机控制 蔡都访问该系统存储ll以在其中寻找匹配的NRDY信息。由于系统存储器位 于USB主机控制器外部,因此,上述过程需要较长的时间,这使得USB主 机控制器的响应时间增大,性能下降。(2)在USB主机控制器中,会设置一定容量的緩沖器,用来暂存来自 USB设备的各种事务分组。例如在图1中,USB主机控制器100内设置了 SS链接Rx4报头队列緩冲器(SS Link R x 4 Header Queue) 101,用于暂存 连接到该USB主机控制器的所有USB设备发送的事务分组。该緩冲器101 被设置为最多容纳4个事务分组。然而,由上述可知,传统的USB主机控制 器在处理一个ERDY事务分组时,因过程繁杂而需要较长的响应时间,若同 时有多个的USB设备向该USB主机控制器发送ERDY事务分组,则该緩沖 器101会被存满,以至于阻碍该USB主机控制器根据所接收的ERDY事务分 组重新安排对于相应端点的事务。因此,需要一种USB主机控制器和USB主机控制方法,其能够减少存 储NRDY信息以及响应ERDY事务分组所耗费的时间,提高USB主机控制 器的性能。 一
技术实现思路
考虑到以上问题而做出了本专利技术。本专利技术的一个目的是提供一种USB主 机控制器和USB主机控制方法,其能够在接收到NRDY事务分组时,减少 存储NRDY信息的时间,并且能够在接收到ERDY事务分组时,减少寻找匹 配的NRDY信息的时间,从而减小SS链接Rx4报头队列緩冲器被存满的可能性,提高USB主机控制器的性能。根据本专利技术的一个方面,提供了 一种USB主机控制器,连接到包括一个 或多个端点的USB设备,并且向所述一个或多个端点中第一端点发送请求。 该USB主机控制器包括第一存储单元;以及第一控制单元,用于将第一端 点响应于所述请求而发送的未就绪事务分组所携带的关于第 一端点的端点信 息存储在第一存储单元中,其中所述未就绪事务分组表示所述第一端点无法 4丸行所述请求。根据本专利技术的另 一个方面,提供了 一种USB主机控制器,连接到包括一 个或多个端点的USB设备,并且向所述一个或多个端点中 一第一端点发送一 请求,该USB主机控制器包括 一第一存储单元;以及一第一控制单元,用 于将所述第一端点响应于所述请求而发送的一未就绪事务分组所携带的关于 所述第一端点的一端点信息存储在所述第一存储单元中,其中,当USB主机 控制器接收到由所述一个或多个端点中的一第二端点发送的一就绪事务分组 时,所述第一控制单元检查在所述第一存储单元中是否存在与该就绪事务分 组匹配的端点信息,并且当发现匹配的端点信息时,执行对于第二端点的事 务,其中所述未就绪事务分组表示所述第一端点无法执行所述请求。根据本专利技术的再一方面,提供了一种USB主机控制方法,用于USB主 机控制器,该USB主机控制器包括第一存储单元,并且连接到包括一个或多 个端点的USB设备。该控制方法包括以下步骤向所述一个或多个端点中第 一端点发送请求;以及将第一端点响应于所述请求而发送的未就绪事务分组 所携带的关于第 一端点的端点信息存储在第 一存储单元中,其中所述未就绪 事务分组表示所述第一端点无法执行所述请求。如上所述,在根据本专利技术的USB主机控制器内部设置了第 一存储单元, 并且可以将NRDY响应消息携带的端点信息存储在该第 一存储单元中,而不 是存储在系统存储器中。因此,减少了存储端点信息的时间。此外,当从端 点接收到ERDY请求时,只需访问第一存储单元以寻找匹配的端点消息,而 不需要访问系统存储器。因此,缩短了处理ERDY请求的时间,避免了访问 系统存储器过程的繁杂,减小了 USB主机控制器内的SS链接Rx4报头队列 緩沖器被存满的可能性,提高了 USB主机控制器的性能。附图说明通过结合附图对本专利技术的实施例进行详细描述,本专利技术的上述和其它目的、特征、优点将会变得更加清楚,其中图1示出了使用NRDY/ERDY机制的传统USB主机控制器的示意性框图2是#^居本专利技术实施例的USB主机控制器的示意性框图3是示出根据本专利技术实施例的NRDY地址列表的条目的图4是示出根据本专利技术实施本文档来自技高网
...

【技术保护点】
一种USB主机控制器,连接到包括一个或多个端点的USB设备,并且向所述一个或多个端点中一第一端点发送一请求,该USB主机控制器包括:  一第一存储单元;以及  一第一控制单元,用于将所述第一端点响应于所述请求而发送的一未就绪事务分组所携带的关于所述第一端点的端点信息存储在所述第一存储单元中,  其中所述未就绪事务分组表示所述第一端点无法执行所述请求。

【技术特征摘要】
1.一种USB主机控制器,连接到包括一个或多个端点的USB设备,并且向所述一个或多个端点中一第一端点发送一请求,该USB主机控制器包括一第一存储单元;以及一第一控制单元,用于将所述第一端点响应于所述请求而发送的一未就绪事务分组所携带的关于所述第一端点的端点信息存储在所述第一存储单元中,其中所述未就绪事务分组表示所述第一端点无法执行所述请求。2. 如权利要求1所述的USB主机控制器,其中,在所述第一存储单元 中以列表的形式存储所述端点信息,并且其中,在将所述端点信息存储在所 述列表中之后,第一控制单元检查所述列表是否已被存满,如果所述列表已 被存满,则第一控制单元进行控制使得暂停对于所述一个或多个端点的发送 事务。3. 如权利要求1所述的USB主机控制器,其中,还包括 一第二存储单元;以及一第二控制单元,用于在USB主机控制器接收到所述第一端点发送的所 述未就绪事务分组时,将一指示相应的传输断点的位置信息存储在所述第二 存储单元中。4. 如权利要求3所述的USB主机控制器,其中,当USB主机控制器接 收到由所述一个或多个端点中的一第二端点发送的就绪事务分组时,所述第 一控制单元检查在所述第一存储单元中是否存在与该就绪事务分组匹配的端 点信息,并且当发现匹配的端点信息时,执行对于所述第二端点的事务。5. 如权利要求4所述的USB主机控制器,其中,所述第一控制单元从 所述第二存储单元读取与所述匹配的端点信息相对应的指示传输断点的位置 信息,并且从该传输断点起执行对于第二端点的事务。6. —种USB主机控制器,连接到包括一个或多个端点的USB设备,并 且向所述一个或多个端点中一第一端点发送一请求,该USB主机控制器包括一第一存储单元;以及一第一控制单元,用于将所述第一端点响应于所述请求而发送的一未就 绪事务分组所携带的关于所述第一端点的一端点信息存储在所述第一存储单元中,其中,当USB主机控制器接收到由所述一个或多个端点中的一第二端点发送的一就绪事务分组时,所述第一控制单元检查在所述第一存储单元中是否存在与该就绪事务分组匹配的端点信息,并且当发现匹配的端点信息时,执行对于第二端点的事务,其中所述未就绪事务分组表示所述第一端点无法执行所述请求。7. 如权利要求6所述的USB主机控制器,其中,在所述第一存储单元中以列表的形式存储所述端点信息,并且其中,在将所...

【专利技术属性】
技术研发人员:惠志强赖瑾庞珊娜戴笛
申请(专利权)人:威盛电子股份有限公司
类型:发明
国别省市:71[中国|台湾]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1