用于通用串行总线系统的高速缓存管理的系统和方法技术方案

技术编号:12732780 阅读:174 留言:0更新日期:2016-01-20 15:58
提供了用于高速缓存管理的系统和方法。一种示例系统包括高速缓存和高速缓存管理组件。该高速缓存包括对应于多个设备端点的多条高速缓存线路,设备端点包括通用串行总线(USB)设备的一部分。该高速缓存管理组件被配置为接收针对涉及到第一设备端点的数据传输的第一传输请求块(TRB),并且确定该高速缓存中的高速缓存线路是否被分配给该第一设备端点。该高速缓存管理组件进一步被配置为响应于该高速缓存中没有高速缓存线路被分配给该第一设备端点而确定该高速缓存是否包括不包含有效TRB的空置高速缓存线路,并且响应于该高速缓存包括空置高速缓存线路,将该空置高速缓存线路分配给第一设备端点并且将该第一TRB存储到该空置高速缓存线路。

【技术实现步骤摘要】
【国外来华专利技术】相关申请的交叉引用本公开要求于2013年6月7日提交的美国临时专利申请No.61/832,207的优先权和权益,其全文通过引用结合于此。
本专利文档中所描述的技术总体上涉及存储介质,尤其涉及高速缓存管理。
技术介绍
通用串行总线(USB)被广泛用于主机和外设设备(即,USB设备)之间的数据传输。在USB系统中,主机和外设设备之间的数据传输由主机控制器进行控制,并且主机控制器和主机之间的通信在主机控制器接口(HCI)中被指定,例如“用于通用串行总线的可扩展主机控制器接口(xHCI)”。通常,主机控制器执行USB操作以在主机存储器和设备端点之间移动数据,其中每个设备端点对应于USB设备中可唯一寻址的部分,该部分是主机和USB设备之间的通信流中的数据的源或汇。主机控制器可以使用某种数据结构—诸如传输请求块(TRB)—进行USB操作。例如,往来于USB设备的设备端点的传输使用包括一个或多个TRB的传输描述符(TD)来定义。TD经常通过驻留于主机存储器中的一个或多个传输环(即,TD的环形队列)进行管理,并且每个传输环对应于USB设备的活动设备端点。图1描绘了包括八个TRB的示例传输环。主机控制器也可以使用包括多个TRB的命令环和事件环进行USB操作。
技术实现思路
依据这里所描述的教导,提供了用于高速缓存管理的系统和方法。一种示例系统包括高速缓存和高速缓存管理组件。该高速缓存包括对应于多个设备端点的多条高速缓存线路,设备端点包括通用串行总线(USB)设备的一部分。该高速缓存管理组件被配置为接收针对涉及到第一设备端点的数据传输的一个或多个第一传输请求块(TRB),并且确定该高速缓存中的高速缓存线路是否被分配给该第一设备端点。该高速缓存管理组件进一步被配置为响应于该高速缓存中没有高速缓存线路被分配给该第一设备端点而确定该高速缓存是否包括不包含有效TRB的空置高速缓存线路,并且响应于该高速缓存包括空置高速缓存线路,将该空置高速缓存线路分配给第一设备端点并且将该一个或多个第一TRB存储到该空置高速缓存线路。此外,该高速缓存管理组件被配置为响应于该高速缓存并不包括空置高速缓存线路,将预定高速缓存线路分配给第一设备端点并且将一个或多个第一TRB存储到该预定高速缓存线路。在一个实施例中,提供了一种用于高速缓存管理的方法。接收针对涉及到第一设备端点的数据传输的一个或多个第一传输请求块(TRB),该第一设备端点包括第一通用串行总线(USB)设备的一部分。确定该高速缓存中的高速缓存线路是否被分配给该第一设备端点,该高速缓存包括对应于多个设备端点的多条高速缓存线路。响应于没有高速缓存线路被分配给该第一设备端点,确定该高速缓存是否包括不包含有效TRB的空置高速缓存线路。响应于该高速缓存包括空置高速缓存线路,将该空置高速缓存线路分配给第一设备端点并且将该一个或多个第一TRB存储到该空置高速缓存线路。响应于该高速缓存并不包括空置高速缓存线路,将预定高速缓存线路分配给第一设备端点并且将该一个或多个第一TRB存储到该预定高速缓存线路。在另一个实施例中,一种非瞬态计算机可读存储介质包括用于高速缓存管理的编程指令。该编程指令被配置为使得一个或多个数据处理器执行某些操作。接收针对涉及到第一设备端点的数据传输的一个或多个第一传输请求块(TRB),该第一设备端点包括第一通用串行总线(USB)设备的一部分。确定该高速缓存中的高速缓存线路是否被分配给该第一设备端点,该高速缓存包括对应于多个设备端点的多条高速缓存线路。响应于没有高速缓存线路被分配给该第一设备端点,确定该高速缓存是否包括不包含有效TRB的空置高速缓存线路。响应于该高速缓存包括空置高速缓存线路,将该空置高速缓存线路分配给第一设备端点并且将该一个或多个第一TRB存储到该空置高速缓存线路。响应于该高速缓存并不包括空置高速缓存线路,将预定高速缓存线路分配给第一设备端点并且将该一个或多个第一TRB存储到该预定高速缓存线路。附图说明图1描绘了包括八个TRB的示例传输环。图2描绘了示例TRB高速缓存系统。图3至图5描绘了示出高速缓存管理机制的示例示图。图6描绘了示出从高速缓存获取TRB的调度器的示例示图。图7(A)和图7(B)描绘了示出从高速缓存获取TRB的调度器的其它示例示图。图8描绘了用于高速缓存管理的示例流程图。具体实施方式在USB系统中,主机控制器经常直接从主机存储器读取TRB以便在主机和设备端点之间进行数据传输。主机存储器访问的时延(例如,数十微秒到数毫秒)通常对系统性能造成不利影响。具有较短访问时延的高速缓存能够被用来从主机存储器预先取得并且存储多个TRB。这样,主机控制器可以直接从高速缓存而不是主机存储器读取TRB以改善系统性能。然而,高速缓存的容量经常是有限的,而主机存储器中则可能存在大量的环(例如,传输环)。因此,可能需要高速缓存管理机制来有效地将高速缓存用于与大量环相关联的数据传输。图2描绘了示例的TRB高速缓存系统。如图2所示,TRB高速缓存系统100实施了高速缓存102,该高速缓存102包括多条高速缓存线路1041,1042,…,和104m(m是正整数)。高速缓存管理组件106从特定环108k(n≥k≥1)预先取得一个或多个TRB,基于高速缓存管理算法确定用于环108k的高速缓存线路,并且将预先取得的TRB存储到所确定的高速缓存线路。特别地,每个环1081,1082,…,和108n对应于USB设备的设备端点。高速缓存组件106从对应于特定设备端点的环108k预先取得一个或多个TRB(例如,TD)。例如TRB在存储器中被构造以在主机存储器和主机控制器(图2中未示出)之间传输单个物理上连续的数据块。TRB可以包括4个双字或16个字节并且包含数据缓冲器指针、数据缓冲器的大小和控制信息。对于简单的单次缓冲器操作而言,单个TRB对应于一个TD,而对于大的多缓冲器操作而言,多个TRB可以进行链接以形成复杂TD。例如,多个环可以对应于单个USB设备的不同设备端点。高速缓存管理组件106可以搜索高速缓存102中已经被分配给环108k的高速缓存线路。如果已经被分配给环108k的高速缓存线路被定位,则高速缓存管理组件106将预先取得的TRB存储到之前分配给环108k的高速缓存线路。如果还没有高速缓存线路被分配给环108k,本文档来自技高网...

【技术保护点】
一种用于高速缓存管理的系统,所述系统包括:高速缓存,包括对应于多个设备端点的多条高速缓存线路,设备端点包括通用串行总线(USB)设备的一部分;以及高速缓存管理组件,被配置为:接收针对涉及到第一设备端点的数据传输的一个或多个第一传输请求块(TRB);确定所述高速缓存中的高速缓存线路是否被分配给所述第一设备端点;响应于所述高速缓存中没有高速缓存线路被分配给所述第一设备端点,确定所述高速缓存是否包括不包含有效TRB的空置高速缓存线路;响应于所述高速缓存包括空置高速缓存线路,将所述空置高速缓存线路分配给所述第一设备端点;将所述一个或多个第一TRB存储到所述空置高速缓存线路;响应于所述高速缓存并不包括空置高速缓存线路,将预定高速缓存线路分配给所述第一设备端点;并且将所述一个或多个第一TRB存储到所述预定高速缓存线路。

【技术特征摘要】
【国外来华专利技术】2013.06.07 US 61/832,2071.一种用于高速缓存管理的系统,所述系统包括:
高速缓存,包括对应于多个设备端点的多条高速缓存线路,设备
端点包括通用串行总线(USB)设备的一部分;以及
高速缓存管理组件,被配置为:
接收针对涉及到第一设备端点的数据传输的一个或多个第
一传输请求块(TRB);
确定所述高速缓存中的高速缓存线路是否被分配给所述第
一设备端点;
响应于所述高速缓存中没有高速缓存线路被分配给所述第
一设备端点,确定所述高速缓存是否包括不包含有效TRB的空置高
速缓存线路;
响应于所述高速缓存包括空置高速缓存线路,
将所述空置高速缓存线路分配给所述第一设备端点;
将所述一个或多个第一TRB存储到所述空置高速缓存
线路;
响应于所述高速缓存并不包括空置高速缓存线路,
将预定高速缓存线路分配给所述第一设备端点;并且
将所述一个或多个第一TRB存储到所述预定高速缓存
线路。
2.根据权利要求1所述的系统,其中所述高速缓存管理组件进一
步被配置为:
接收针对涉及到第二设备端点的数据传输的一个或多个第二
TRB;
确定所述高速缓存中的高速缓存线路是否被分配给所述第二设
备端点;
响应于所述高速缓存中没有高速缓存线路被分配给所述第二设
备端点,确定所述高速缓存是否包括空置高速缓存线路;
响应于所述高速缓存包括空置高速缓存线路,
将所述空置高速缓存线路分配给所述第二设备端点;
将所述一个或多个第二TRB存储到所述空置高速缓存线路;
响应于所述高速缓存并不包括空置高速缓存线路,
将所述预定高速缓存线路分配给所述第二设备端点;并且
将所述一个或多个第二TRB存储到所述预定高速缓存线路
以替代所述第一TRB。
3.根据权利要求2所述的系统,其中所述高速缓存管理组件进一
步被配置为从与所述第一设备端点相关联的第一TRB环接收所述第
一TRB并且从与所述第二设备端点相关联的第二TRB环接收所述第
二TRB。
4.根据权利要求1所述的系统,进一步包括:
调度器,被配置为针对涉及所述第一设备端点的数据传输而从所
述高速缓存获取所述一个或多个第一TRB。
5.根据权利要求1所述的系统,其中所述高速缓存管理组件进一
步被配置为响应于被分配给所述第一设备端点的第一高速缓存线路
得以被定位,将所述一个或多个第一TRB存储至所述第一高速缓存
线路。
6.根据权利要求5所述的系统,其中所述高速缓存管理组件进一
步被配置为将所述一个或多个第一TRB存储至所述第一高速缓存线
路,以替代之前存储在所述第一高速缓存线路中的一个或多个第二
TRB。
7.根据权利要求1所述的系统,其中所述预定高速缓存线路对应
于之前被分配给控制端点的控制高速缓存线路。
8.根据权利要求1所述的系统,其中:
所述预定高速缓存线路对应于最后高速缓存线路,所述最后高速
缓存线路包括在所述第一TRB之前最近被接收到的一个或多个第二
TRB;并且
所述高速缓存管理组件进一步被配置为将所述一个或多个第一

\tTRB存储至所述预定高速缓存线路,以替代所述一个或多个第二
TRB。
9.一种方法,包括:
接收针对涉及到第一设备端点的数据传输的一个或多个第一传
输请求块(TRB),所述第一设备端点包括第一通用串行总线(USB)
设备的一部分;
确定所述高速缓存中的高速缓存线路是否被分配给所述第一设
备端点,所述高速缓存包括对应于多个设备端点的多条高速缓存线
路;
响应于没有高速缓存线路被分配给所述第一设备端点,确定所述
高速缓存是否包括不包含有效TRB的空置高速缓存线路;
响应于所述高速缓存包括空置高速缓存线路,
将所述空置高速缓存线路分配给所述第一设备端点;
将所述一个或多个第一TRB存储到所述空置高速缓存线路;
响应于所述高速缓存并不包括空置高速缓存线路,
将预定高速缓存线路分配给所述第一设备端点;并且
将所述一个或多个第一TRB存储到所述预定高速缓存线路。
10.根据权利要求9所述的方法,进一步包括:
接收针对涉及到第二设备...

【专利技术属性】
技术研发人员:文兴植洪宇朱贺飞田群朝J·Q·蔡S·郭
申请(专利权)人:马维尔国际贸易有限公司
类型:发明
国别省市:巴巴多斯;BB

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

1