CN101420720B - 用于无线传输的调度表和数据缓存 - Google Patents
用于无线传输的调度表和数据缓存 Download PDFInfo
- Publication number
- CN101420720B CN101420720B CN2008101778715A CN200810177871A CN101420720B CN 101420720 B CN101420720 B CN 101420720B CN 2008101778715 A CN2008101778715 A CN 2008101778715A CN 200810177871 A CN200810177871 A CN 200810177871A CN 101420720 B CN101420720 B CN 101420720B
- Authority
- CN
- China
- Prior art keywords
- wireless
- host controller
- formation
- data
- buffer memory
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- 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/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/124—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
- G06F13/128—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine for dedicated transfers to a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/901—Buffering arrangements using storage descriptor, e.g. read or write pointers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. TPC [Transmission Power Control], power saving or power classes
- H04W52/02—Power saving arrangements
- H04W52/0209—Power saving arrangements in terminal devices
- H04W52/0212—Power saving arrangements in terminal devices managed by the network, e.g. network or access point is master and terminal is slave
- H04W52/0216—Power saving arrangements in terminal devices managed by the network, e.g. network or access point is master and terminal is slave using a pre-established activity schedule, e.g. traffic indication frame
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W72/00—Local resource management
- H04W72/12—Wireless traffic scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/18—Service support devices; Network management devices
- H04W88/182—Network node acting on behalf of an other network entity, e.g. proxy
-
- 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
-
- 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
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mobile Radio Communication Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
一种用于无线传输的调度表和数据缓存的方法和装置。本方法的实施例可以包括为无线控制器生成队列调度表,该调度表在主机系统的驱动器上生成。在一些实施例中,将来自主机系统的调度表数据缓存在无线控制器上,其中缓存可以包括活动队列和所述活动队列的页列表条目。无线控制器可以使用缓存的队列来进行操作。
Description
技术领域
本发明的一些实施例总体上涉及数据操作。具体而言,一些实施例涉及用于无线传输的调度表和数据缓存。
背景技术
计算系统和其它电子系统一般在众多部件之间的有线总线上传输数据。使用多种不同的协议来进行这样的数据传输,这些协议包括通用串行总线(USB)的变形(USB 1,USB 2.0和任何后续标准)和其它总线标准。许多不同的设备可以依照这样的操作来连接,这需要大量的有线连接。
系统正在向数量日益增加的无线操作过渡,所述无线操作包括无线USB(USB-IF-USB实施者论坛的认证无线USB)。使用无线操作(例如,无线USB)允许连接多个设备,且不需要很多有线连接。作为替代,以无线方式对从系统中的多个设备传输的数据单元进行处理。
然而,使用无线USB或者类似系统要求调度数据以便于多个相连设备进行传输,并且要求将这样的调度提供给无线控制器。从主机系统驱动器到无线控制器的这种顺序的传输会引起大量的事务,这些事务实时分布在连接无线控制器和包含主机控制器驱动器的主机系统的总线上。这很少允许主机平台进入低功率状态。
附图说明
在附图的各幅图中,以举例的方式而不是限制的方式示出了本发明的实施例,在附图中,相同的附图标记指代相同的元件。
图1示出了用于缓存无线调度表和数据的系统的实施例;
图2示出了为无线传输缓存调度表和数据的系统的实施例;
图3示出了为无线传输缓存调度表和数据的过程;
图4示出了无线主机控制器缓存单元的一种格式的实施例;
图5示出了可以实施本发明实施例的无线通用串行总线部件和模块;以及
图6的流程图示出了无线控制器缓存数据的过程的实施例。
具体实施方式
本发明的实施例涉及用于无线传输的调度表和数据缓存。
在一些实施例中,提供了一种过程来改善无线传输的效率。在一些实施例中,无线控制器配备了异步调度表和控制/批量数据缓存。在实施例中,无线控制器是USB无线主机控制器(WHC)实现方式。
在一些实施例中,可以将WHC模块实现在附加卡上或者实现在经由总线与平台接口的类似部件上,或者可替换地将WHC模块嵌入在平台中。总线可以包括PCI(外围部件互连)或者PCIe(PCI Express)标准总线。本说明书将集中在WHC模块存在于附加卡上的实现方式,但是本发明的实施例不限于这种实现方式。在一些实施例中,用于实现缓存的逻辑存在于WHC模块上。在无线USB中,认证无线通用串行总线的无线主机控制器接口规范(包括2006年6月16日发布的修订版本0.95和所有后续修订版本)描述了系统软件与无线通用串行总线(无线USB)主机系统的UWB(超宽带)多接口控制器之间的接口。
在无线USB操作中,使用QSet(或队列集)来描述发往或者来自端点的无线事务。WHC使用一个或者多个QSet来创建事务组。QSet包括QHead和一个或多个qTD(队列单元传输描述符)结构。QHead包含多个已定义的单元,包括指向下一个QHead的指针(WusbAsyncListAddr)。通常,WHC使用QSet的处理模型是:
(1)读取一个或者多个QSet并基于所述QSet的传输描述符来创建事务组。
(2)执行事务组,按照需要将数据移入或移出系统。
(3)将事务的结果写入各个QHead的覆盖区域(overlay area)。
(4)重复(1)—(3),直到达到结束条件。
WHC采用两种类型的调度表,这些调度表是周期性调度表和异步调度表。异步调度表是基于异步传输列表的。使用异步传输列表来管理所有控制,并且管理批量传输。异步传输列表是QHead的循环列表,WusbAsyncListAddr是指向下一个QHead的指针。异步传输列表为所有链接到异步列表的QHead实现了轮转调度(round-robin)服务。
在一些实施例中,主机中的WHCI(无线主机接口)驱动器在主机存储器中配备了异步调度表,然后启用该调度表。在一些实施例中,WHC维护活动QSet的缓存。在一些实施例中,连同活动QSet一起,WHC还缓存页列表条目的子集。此外,WHC保存了每个QSet的当前页索引和当前页指针,如此一来当关联于QSet的端点再次在调度表中获得机会时,可以从正确的点发起下一个后继数据传输。对于异步数据而言,控制器具有一个发送队列和一个接收队列。
在一些实施例中,更新缓存来反映异步调度表中的变化。在一些实施例中,无论何时WHCI驱动器更新调度表来增加或者去除QSet,或者无论何时不活动QSet变成活动QSet或活动QSet变成不活动QSet,都通过命令告知WHC。一旦接收到更新,WHC将更新它的内部缓存以反映这些变化。
当多个QSet是活动时,为了向所有端点赋予轮转调度公平性,WHC针对特定QSet将仅提取最大长度等于最大端点大小(endpoint size)乘以最大突发大小(burst size)的数据。然后它将移动到下一个QSet。基于RF链接质量和设备响应,WHC能够针对任何端点动态地改变突发量,一直到最大突发量。
在无线主机控制器的操作中,合并了对主机存储器的数据访问。对于发送操作而言,在计算出每个端点能够发送多少数据后,WHC将从主机存储器中提取在数量上与能装入WHC TX(发送)数据缓冲器中的数据一样多的数据。如果具有供来自不同QSet的数据使用的空间,那么他们都将被提取。对于控制器而言,具有一个与每个数据队列相关的阈值。对于TX而言,仅在已经以无线方式(over the air)传输了足够多的数据并且TX队列中的数据已经下降到阈值以下时,才再一次从主机存储器中提取数据。这将使得主机平台在数据传输之间进入低功率状态。
对于接收操作而言,事务调度器将调度事务来对用于IN(IN描述数据方向)事务的设备进行轮询。一旦接收到数据,就将这种数据放置在RX(接收)队列中。如果提供了足够的缓冲,那么作为理想情况WHC能够保持数据直到达到RX队列阈值或者达到超时,然后写入到主机存储器。当数据模式短小且间断时,那么写入到主机存储器可以在从数据到达开始计时到发生超时的时刻完成。这将允许主机平台在数据传输之间进入低功率状态。
在可能时,WHC应该针对发送和接收操作对访问主机平台进行同步。
在一些实施例中,将活动异步调度表和相关的页列表条目缓存在WHC本地存储器中。为此,主机存储器通常仅被要求在有数据要发送或者接收时才被访问。例如,对于以无线方式进行的批量IN事务而言,一旦缓存了调度表,就不访问主机存储器,除非在轮询无线设备时无线设备返回了数据。因为这个原因,平台进入低功率状态,从而通过使用数据缓存降低了总体功耗。
甚至在活动数据传输时访问主机存储器期间,也能够通过合并访问来降低平台功耗。需要在WHC中缓存的最少数据取决于从主机存储器提取数据的等待时间。然而,通过增大WHC中的这一数据缓冲存储器,足够多的数据可以在WHC中得到缓冲,这样不用频繁地访问主机平台存储器。
在一些实施例中,数据传输通过使用数据缓存而得到了改善。当由于通过无线方式发送的机会而从主机存储器提取数据或者将数据写入到主机存储器时,或者接收到数据时,通过将活动异步调度表和相关的页列表条目一同缓存,WHC不必访问主机平台存储器来提取调度表或者页列表。这允许优化使用空中时间(air time),并因此改善了数据吞吐量。
在一些实施例中,算法仅缓存那些活动的QSet,从而减少了数据传输和存储。WHCD主机驱动器不能迅速地从调度表中去除不活动QSet。通过仅缓存活动QSet,减少了WHC缓存存储器需求和使用计划(utilizationcast)。为了通过在事务组内放置很多的事务来使得WHC以无线方式调度事务最优化,有益的是使WHC知道尽可能多的调度表。通过将QSet的缓存限制为活动QSet,该过程使WHC的可用有用信息最大化。
图1示出了用于缓存无线调度表和数据的系统的实施例。在这个示例中,主机平台102包括无线控制器驱动器104。驱动器104生成无线事务的调度表106和事务的表条目108。主机平台102可以经由总线110耦合到无线控制器112,如无线USB控制器。无线控制器112根据无线事务的调度表来进行操作。然而,为了提高操作效率,无线控制器112生成调度表的缓存114,缓存114仅包括活动事务单元116和页列表的条目子集118,其包括用于描述活动事务的相关页列表条目。
图2示出了为无线传输缓存调度表和数据的系统的实施例。在这个示例中,在主机平台202上包括WHCI驱动器204。驱动器204包括数据存储器,其可以存储于主机平台202的存储单元中。存储器可以包括动态随机存取存储器(DRAM)和静态随机存取存储器(SRAM),DRAM需要刷新存储内容,而SRAM不需要刷新内容,但是增加了成本。DRAM存储器可以包括同步动态随机存取存储器(SDRAM)和扩展数据输出动态随机存取存储器(EDODRAM),SDRAM包括控制信号的时钟信号。数据存储器206可以包括要被调度的QSet的页条目。驱动器204生成QSet的异步调度表。在这个示例中,在事务组中调度8个QSet,即QS1到QS8。然而,在操作中只有六个QSet是当前活动的,这些QSet中的QS2和QS6是不活动的。主机平台202经由总线210与无线主机控制器212耦合,该无线主机控制器212耦合到UWB无线电PHY(物理层设备),总线210可以包括但不限于PCI或者PCIe标准总线。无线主机控制器212包括QSet的缓存214,该缓存被限于活动QSet。将缓存的集合加入到事务组中,包括缓存头指针216和缓存尾指针218,缓存头指针216用于指定组的开始,而缓存尾指针218用于指定组的结束。如图所示,WusbAsyncListAddr 220包含每个QSet指向下一个QSet的指针。无线主机控制器212还包括MMC(微调度管理命令)生成器和WUSB事务调度器,它们的功能包括对缓存的QSet进行调度。无线主机控制器还包括用于发送数据(TX)和接收数据(RX)的数据队列224。
图3示出了为无线传输缓存调度表和数据的过程。在示例中,当缓存大小是8时,图3示出了如何将调度表缓存在WHC中。在这个示例中,主机中的异步调度表302包括12个单元,即QS1-QS12,其中有8个活动的单元。然而,这个示例中的活动QSet等于缓存的大小,并且活动QSet可以更大。缓存自由池(cache free pool)306示出了缓存的建立,初始时包括QS3、QS4和QS5(310)。然后在缓存中加入了QS7,其中QS6是不活动的,随后加入了QS8和QS9(312)。然后,加入QS12和QS1,从而完成缓存。一旦已经缓存了所有活动的单元,那么这个环就被关闭了。从这个点向前看,如果已经完成了每个QSet的几个(将被调整的)活动传输描述符(TD),那么更新主机存储器中的TD,并且提取新的TD。在一些实施例中,如果加入或者删除调度表的QSet,或者不活动QSet变为活动,那么将会有来自驱动器的单独通知。在这种情况下,清洗整个缓存,然后重建缓存。
图4示出了WCH缓存单元402的一种格式的实施例。指向主机存储器中的QSet的指针404实现了对主机存储器中的QSet406的访问。整个QSet被缓存。在图4提供的示例中,8个条目被缓存在页列表412中。当前页指针408和当前页索引410指向对应于传输描述符的下一次传输的数据。如果缓存要被清洗,那么将当前页指针408和当前页索引410存储在主机存储器中的HC暂存存储器中。如图所示,页指针指向主机存储器中的数据缓冲器414,在每个事务之后,每个条目都具有当前页指针和当前页索引。
通过将异步调度表和相关的页列表条目一同缓存,可以从主机存储器中提取数据或者将数据写入到主机存储器中,而不必提取用于每个数据事务的传输描述符和页列表条目。这改善了空中利用率(air utilization),并由此改善了数据吞吐量。
在一些实施例中,平台功耗可以通过合并对主机存储器的访问来降低。通过缓存调度表,仅当要提取或者写入数据时,或者当要更新调度表缓存时,才访问平台存储器。此外,通过增加WHC中的数据缓冲,即使由于这个原因增加了成本,但是对从主机存储器读取和向主机存储器写入进行了合并,由此使得平台在更长时间内处于低功率状态。
图5示出了可以实施本发明实施例的无线通用串行总线部件和模块。这些单元包括系统软件520和硬件524,包括UWB多接口控制器522。如图所示,无线USB总线部件和模块可以包括:
客户端驱动器软件(client driver software)502—客户端驱动器软件502在对应于特定无线USB设备的主机PC上运行。客户端软件一般是操作系统的一部分或者被提供给无线USB设备。
USB驱动器(USBD)504—USBD是系统软件部件,其概括了用于特定操作系统的特定主机控制器驱动器的细节。
无线USB主机控制器驱动器(WHCD)506—WHCD 506在特定的主机控制器硬件与USBD之间提供软件层。
UWB无线电控制器驱动器(URCD)508—URCD 508是一种系统软件部件,URCD 508提供了UWB无线电的控制功能,并且URCD 508是UMC的每种实现方式所必需的。
无线USB主机控制器(WHC)510—WHC是无线USB主机控制器的特定硬件实现方式。
UWB无线电控制器(URC)512—URC 512是UMC的每种实现方式中所必需的标准UWB无线电控制功能。
无线USB设备514—这是一个硬件设备,其执行有用的终端用户功能。与无线USB设备的交互从应用程序经过软件和硬件层流到无线USB设备。
UWB设备516—这是另一个具有UWB无线电接口的外部硬件设备。这个设备可以具有一个或者多个PAL(协议应用层)功能,例如WiNET(WiMedia网络协议)过程。
UWB无线电518—示出了用于无线操作的物理无线电设备。
图6的流程图示出了无线控制器缓存数据的过程的实施例。在这个示例中,将无线控制器的队列集的调度表建立在主机系统中(602)。识别调度表中的活动队列集(606)。仅将活动队列集缓存在无线控制器中(606),页列表条目的子集也一同被缓存(608)。
无线控制器然后根据缓存于控制器中的活动队列集调度表来操作(610),而不需要访问主机系统。在发送和接收数据传输之间的时间内,主机系统可以转换至低功率状态(611),这是因为不需要为了队列集调度而访问主机系统。如果有数据要发送或者接收(612),那么需要访问主机平台(614)。一旦接收到更新缓存的命令(616),无线控制器将采取动作进行更新,这包括清洗当前缓存(618)并利用更新的数据重新建立缓存。
受益于本公开内容的本领域技术人员应该意识到,在本发明的范围内可以对上述描述和附图进行许多其它的变形。实际上,本发明并不限于上述具体实施方式。相反,包括任意修改的下列权利要求限定了本发明的范围。
在上述说明中,出于解释的目的,阐述了很多具体的细节,以便提供对本发明的透彻理解。然而,对本领域技术人员显而易见的是,可以在没有这些具体细节中的某些细节的情况下实施本发明。在其他示例中,以方框图的形式示出了公知的结构和设备。
本发明可以包括各种过程。本发明的过程可以由硬件部件来执行,或者本发明的过程可以由机器可执行指令来体现,可以使用所述指令来使通用处理器或专用处理器或者逻辑电路(所述逻辑电路是利用指令编程的)执行这些过程。可替换地,所述过程可以由硬件和软件的组合来执行。
可以将本发明的部分作为计算机程序产品来提供,它可以包括具有存储于其上的指令的机器可读介质,可以使用所述指令来对计算机(或其他电子设备)编程,使之执行根据本发明的过程。所述机器可读介质可以包括但不限于软盘、光盘、CD-ROM(只读存储光盘)、磁光盘、ROM(只读存储器)、RAM(随机存取存储器)、EPROM(可擦可编程只读存储器)、EEPROM(电可擦可编程只读存储器)、磁卡或光卡、闪存或者其它类型的适于存储电子指令的介质/机器可读介质。此外,还可以将本发明作为计算机程序产品下载,其中,可以经由通信链路(例如,调制解调器或网络连接)通过含在载波或其他传播媒介中的数据信号将所述程序从远程计算机传输到请求计算机。
很多方法是以其最基本的形式描述的,但是在不背离本发明的基本范围的情况下,可以向所述方法中的任何一种方法中添加过程,或者从其中删除过程,并且可以向所描述的消息中的任何一个中添加信息,或者从其中删减信息。对于本领域技术人员显而易见的是,可以做出多种进一步的修改和调整。提供具体实施例的目的不是要限制本发明,而是为了举例说明本发明。本发明的范围不是由上文提供的具体例子决定的,而仅由下面的权利要求决定。
还应当认识到,本说明书全文中提到的“一个实施例”或“实施例”指的是在本发明的实施中可以包括某个具体特征。类似地,应当认识到,在对本发明示范性实施例的上述说明中,出于简化公开以及促进对各个创造性方面中的一者或多者的理解的目的,有时可以在单个实施例、附图或其说明中将本发明的各种特征组合到一起。然而,不应将这种公开方法解释成反映了这样的意图,即所要求保护的本发明所需要的特征比每一权利要求中明确记载的特征多。相反,如下述权利要求所反映的,创造性方面在于比所公开的前述单个实施例的所有特征少。因而,在此将权利要求书明确包含到本说明书中,其中,每一权利要求本身代表本发明的单独实施例。
Claims (20)
1.一种用于操作无线主机控制器的方法,包括:
为无线主机控制器生成无线事务的队列的异步调度表,所述异步调度表由主机平台上的驱动器生成并且存储在所述主机平台的存储器中;
识别所述队列的异步调度表中的活动队列;
在所述无线主机控制器将来自所述主机平台的调度表数据缓存在位于所述无线主机控制器上的缓存中,其中所述缓存包括:
所述队列的异步调度表中的活动队列,以及
所述活动队列的页列表条目的子集,其中,所述页列表条目描述无线事务并且位于所述主机平台的存储器中;
基于所述缓存中的活动队列来操作所述无线主机控制器,其中,操作所述无线主机控制器包括:基于所述页列表条目的子集,从所述主机平台往所述无线主机控制器提取数据,或者从所述无线主机控制器往所述主机平台写数据;以及
更新所述缓存以反映所述队列的异步调度表中的变化。
2.根据权利要求1所述的方法,其中所述无线主机控制器是无线通用串行总线(USB)控制器。
3.根据权利要求1所述的方法,其中所述队列的异步调度表中的每个队列包括事务的队列集(QSet)。
4.根据权利要求1所述的方法,其中,更新所述缓存包括:接收对所述队列的异步调度表中的变化的通知,并且基于所述变化来重新建立所述缓存。
5.根据权利要求1所述的方法,其中所述队列的异步调度表中的变化包括增加调度的队列,删除调度的队列或者将不活动队列改变为活动队列或将活动队列改变为不活动队列。
6.根据权利要求1所述的方法,进一步包括:当所述无线主机控制器基于所述缓存中的活动队列操作时,将所述主机平台转换至低功率状态。
7.根据权利要求1所述的方法,其中,所述提取数据或所述写数据包括:在不从所述主机平台提取传输描述符或所述页列表条目的情况下,提取数据或写数据。
8.一种无线主机控制器,包括:
具有缓存的存储器,所述缓存用于保存活动队列和所述活动队列的页列表条目的子集,所缓存的所述活动队列和所述页列表条目的子集来自主机平台上存储的队列的异步调度表和所述页列表条目,所述无线主机控制器基于所述活动队列中的传输描述符来生成事务组;以及
数据队列,用于根据所述缓存中的所述活动队列来发送和接收数据;
其中所述无线主机控制器根据所述活动队列的所述传输描述符来生成无线事务,包括基于所述缓存中包含的条目,从所述主机平台提取数据或者往所述主机平台写数据,以及更新所述缓存以反映所述队列的异步调度表中的变化。
9.根据权利要求8所述的无线主机控制器,其中所述无线主机控制器是无线USB(通用串行总线)控制器。
10.根据权利要求8所述的无线主机控制器,其中所述队列的异步调度表中的每个队列包括事务的队列集(QSet)。
11.根据权利要求8所述的无线主机控制器,其中所述无线主机控制器根据从所述主机平台接收的关于所述队列的异步调度表中的变化的通知来更新所述缓存。
12.根据权利要求11所述的无线主机控制器,其中在从所述主机平台接收到关于所述队列的异步调度表中的变化的通知后,所述无线主机控制器重新建立所述缓存。
13.根据权利要求8所述的无线主机控制器,其中所述无线主机控制器合并对主机存储器的访问。
14.根据权利要求13所述的无线主机控制器,还包括一个或多个发送缓冲器,并且其中对于发送操作而言,所述无线主机控制器可用于通过从所述主机平台提取在数量上与能装在所述无线主机控制器的所述一个或多个发送数据缓冲器中的数据一样多的数据,来合并对所述主机存储器的访问,其中,所述无线主机控制器用于在不提取传输描述符或所述页列表条目的情况下,从所述主机平台提取数据。
15.根据权利要求13所述的无线主机控制器,其中对于接收操作而言,所述无线主机控制器还可用于保存数据,一直到到达接收队列阈值或者超时,然后将所述数据写入到所述主机存储器。
16.根据权利要求8所述的无线主机控制器,其中,所述无线主机控制器可用于在不从所述主机平台提取传输描述符或所述页列表条目的情况下,提取数据或写数据。
17.一种用于无线传输的系统,所述系统包括:
总线;
耦合到所述总线的主机平台,所述主机平台包括用于保存无线控制器驱动器的SDRAM存储器,所述无线控制器驱动器用于生成无线事务的队列的异步调度表以及所述无线事务的页列表条目,所述队列的异步调度表和所述页列表条目存储在所述主机平台的存储器中;以及
USB(通用串行总线)无线主机控制器,所述USB无线主机控制器包括缓存,所述缓存用于对所述队列的异步调度表中的活动队列和所述活动队列的页列表条目的子集进行保存,其中所述USB无线主机控制器基于所述缓存中的所述活动队列中的传输描述符来生成事务组。
18.根据权利要求17所述的系统,其中所述主机平台向所述USB无线主机控制器提供关于所述队列的异步调度表中的变化的通知。
19.根据权利要求18所述的系统,其中所述USB无线主机控制器清洗所述缓存并基于关于所述队列的异步调度表中的变化的通知来重新建立所述缓存。
20.根据权利要求17所述的系统,其中在所述USB无线主机控制器在发送数据和接收数据传输之间的操作期间,所述主机平台转换至低功率状态。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/904,933 US7844760B2 (en) | 2007-09-29 | 2007-09-29 | Schedule and data caching for wireless transmission |
US11/904,933 | 2007-09-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101420720A CN101420720A (zh) | 2009-04-29 |
CN101420720B true CN101420720B (zh) | 2012-03-21 |
Family
ID=40509653
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101778715A Expired - Fee Related CN101420720B (zh) | 2007-09-29 | 2008-09-28 | 用于无线传输的调度表和数据缓存 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7844760B2 (zh) |
CN (1) | CN101420720B (zh) |
TW (1) | TWI400617B (zh) |
Families Citing this family (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8225231B2 (en) | 2005-08-30 | 2012-07-17 | Microsoft Corporation | Aggregation of PC settings |
JP2009093418A (ja) * | 2007-10-09 | 2009-04-30 | Nec Electronics Corp | ホストコントローラ装置及びデータ転送制御方法 |
US8843661B2 (en) * | 2008-08-28 | 2014-09-23 | Intel Corporation | Data transfer between wireless universal serial bus (USB) host controller driver and wireless USB host controller in a wireless USB host |
US20100153760A1 (en) * | 2008-12-12 | 2010-06-17 | Microsoft Corporation | Power Settings in Wireless Ultra-Wide band Universal Serial Bus |
US8554136B2 (en) | 2008-12-23 | 2013-10-08 | Waveconnex, Inc. | Tightly-coupled near-field communication-link connector-replacement chips |
US20120159395A1 (en) | 2010-12-20 | 2012-06-21 | Microsoft Corporation | Application-launching interface for multiple modes |
US8612874B2 (en) | 2010-12-23 | 2013-12-17 | Microsoft Corporation | Presenting an application change through a tile |
US8689123B2 (en) | 2010-12-23 | 2014-04-01 | Microsoft Corporation | Application reporting in an application-selectable user interface |
US9423951B2 (en) | 2010-12-31 | 2016-08-23 | Microsoft Technology Licensing, Llc | Content-based snap point |
US9383917B2 (en) | 2011-03-28 | 2016-07-05 | Microsoft Technology Licensing, Llc | Predictive tiling |
US9658766B2 (en) | 2011-05-27 | 2017-05-23 | Microsoft Technology Licensing, Llc | Edge gesture |
US9104307B2 (en) | 2011-05-27 | 2015-08-11 | Microsoft Technology Licensing, Llc | Multi-application environment |
US9104440B2 (en) | 2011-05-27 | 2015-08-11 | Microsoft Technology Licensing, Llc | Multi-application environment |
US9158445B2 (en) | 2011-05-27 | 2015-10-13 | Microsoft Technology Licensing, Llc | Managing an immersive interface in a multi-application immersive environment |
US8893033B2 (en) | 2011-05-27 | 2014-11-18 | Microsoft Corporation | Application notifications |
US20130057587A1 (en) | 2011-09-01 | 2013-03-07 | Microsoft Corporation | Arranging tiles |
US8922575B2 (en) * | 2011-09-09 | 2014-12-30 | Microsoft Corporation | Tile cache |
US9557909B2 (en) | 2011-09-09 | 2017-01-31 | Microsoft Technology Licensing, Llc | Semantic zoom linguistic helpers |
US10353566B2 (en) | 2011-09-09 | 2019-07-16 | Microsoft Technology Licensing, Llc | Semantic zoom animations |
US9244802B2 (en) | 2011-09-10 | 2016-01-26 | Microsoft Technology Licensing, Llc | Resource user interface |
US8933952B2 (en) | 2011-09-10 | 2015-01-13 | Microsoft Corporation | Pre-rendering new content for an application-selectable user interface |
US9146670B2 (en) | 2011-09-10 | 2015-09-29 | Microsoft Technology Licensing, Llc | Progressively indicating new content in an application-selectable user interface |
US9223472B2 (en) | 2011-12-22 | 2015-12-29 | Microsoft Technology Licensing, Llc | Closing applications |
CN103489262B (zh) * | 2012-06-11 | 2016-06-08 | 航天信息股份有限公司 | 网络式usb设备调度装置及其调度方法 |
CN102984089B (zh) * | 2012-11-19 | 2018-09-28 | 中兴通讯股份有限公司 | 流量管理调度方法及装置 |
KR20150093830A (ko) * | 2012-12-14 | 2015-08-18 | 키사, 아이엔씨. | 무접촉 디지털 저작권 관리 데이터 전송 시스템 및 방법 |
WO2014100058A1 (en) | 2012-12-17 | 2014-06-26 | Waveconnex, Inc. | Modular electronics |
US9176570B2 (en) | 2012-12-29 | 2015-11-03 | Intel Corporation | System and method for providing universal serial bus link power management policies in a processor environment |
EP2974504B1 (en) | 2013-03-15 | 2018-06-20 | Keyssa, Inc. | Ehf secure communication device |
US9838346B2 (en) * | 2014-03-17 | 2017-12-05 | Splunk Inc. | Alerting on dual-queue systems |
WO2015149347A1 (en) | 2014-04-04 | 2015-10-08 | Microsoft Technology Licensing, Llc | Expandable application representation |
WO2015154276A1 (en) | 2014-04-10 | 2015-10-15 | Microsoft Technology Licensing, Llc | Slider cover for computing device |
CN105378582B (zh) | 2014-04-10 | 2019-07-23 | 微软技术许可有限责任公司 | 计算设备的可折叠壳盖 |
US10678412B2 (en) | 2014-07-31 | 2020-06-09 | Microsoft Technology Licensing, Llc | Dynamic joint dividers for application windows |
US10592080B2 (en) | 2014-07-31 | 2020-03-17 | Microsoft Technology Licensing, Llc | Assisted presentation of application windows |
US10254942B2 (en) | 2014-07-31 | 2019-04-09 | Microsoft Technology Licensing, Llc | Adaptive sizing and positioning of application windows |
US10642365B2 (en) | 2014-09-09 | 2020-05-05 | Microsoft Technology Licensing, Llc | Parametric inertia and APIs |
CN106662891B (zh) | 2014-10-30 | 2019-10-11 | 微软技术许可有限责任公司 | 多配置输入设备 |
US9756651B2 (en) * | 2014-12-19 | 2017-09-05 | Mediatek Inc. | Wireless device and method for setting packet de-queue scheduling of packet queue device based on airtime quota allocation |
US10102251B2 (en) * | 2015-04-14 | 2018-10-16 | Microsoft Technology Licensing, Llc | Lockless open collection data structure |
US9766929B2 (en) | 2015-04-14 | 2017-09-19 | Microsoft Technology Licensing, Llc | Processing of data stream collection record sequence |
US10133768B2 (en) | 2015-04-14 | 2018-11-20 | Microsoft Technology Licensing, Llc | Latest external dependee entity in transaction record |
US9959137B2 (en) | 2015-04-14 | 2018-05-01 | Microsoft Technology Licensing, Llc | Transaction redo using skip element for object |
US10592494B2 (en) | 2015-04-14 | 2020-03-17 | Microsoft Technology Licensing, Llc | Collection record for overlapping data stream collections |
US10031814B2 (en) | 2015-04-14 | 2018-07-24 | Microsoft Technology Licensing, Llc | Collection record location as log tail beginning |
US10261569B2 (en) * | 2015-05-01 | 2019-04-16 | Qualcomm Incorporated | Universal serial bus (USB) host and client devices for supporting scheduled low-power operations |
CN106358218A (zh) | 2015-07-14 | 2017-01-25 | 广东欧珀移动通信有限公司 | 用于业务传输的方法及传输设备 |
US11102680B1 (en) * | 2018-05-31 | 2021-08-24 | Marvell Asia Pte, Ltd. | Data transfer interface with reduced signaling |
US11700209B2 (en) * | 2019-09-30 | 2023-07-11 | Intel Corporation | Multi-path packet descriptor delivery scheme |
US11475010B2 (en) | 2020-09-09 | 2022-10-18 | Self Financial, Inc. | Asynchronous database caching |
US20220075877A1 (en) | 2020-09-09 | 2022-03-10 | Self Financial, Inc. | Interface and system for updating isolated repositories |
US11641665B2 (en) | 2020-09-09 | 2023-05-02 | Self Financial, Inc. | Resource utilization retrieval and modification |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5956250A (en) * | 1990-02-05 | 1999-09-21 | Caterpillar Inc. | Apparatus and method for autonomous vehicle navigation using absolute data |
US6542077B2 (en) * | 1993-06-08 | 2003-04-01 | Raymond Anthony Joao | Monitoring apparatus for a vehicle and/or a premises |
US7085637B2 (en) * | 1997-10-22 | 2006-08-01 | Intelligent Technologies International, Inc. | Method and system for controlling a vehicle |
DE19703846A1 (de) * | 1997-02-01 | 1998-08-06 | Claas Ohg | Elektrohydraulisches Lenksystem für Fahrzeuge |
US6198992B1 (en) * | 1997-10-10 | 2001-03-06 | Trimble Navigation Limited | Override for guidance control system |
DE69940161D1 (de) * | 1998-06-18 | 2009-02-05 | Kline & Walker L L C | Automatische vorrichtung zur überwachung von auf abstand zu bedienende ausrüstungen und maschinen weltweit anwendbar |
US6882917B2 (en) * | 1999-07-30 | 2005-04-19 | Oshkosh Truck Corporation | Steering control system and method |
JP4229358B2 (ja) * | 2001-01-22 | 2009-02-25 | 株式会社小松製作所 | 無人車両の走行制御装置 |
US6732024B2 (en) * | 2001-05-07 | 2004-05-04 | The Board Of Trustees Of The Leland Stanford Junior University | Method and apparatus for vehicle control, navigation and positioning |
JP3758586B2 (ja) * | 2002-02-27 | 2006-03-22 | 日産自動車株式会社 | 車両用走行制御装置 |
US6941310B2 (en) * | 2002-07-17 | 2005-09-06 | Oracle International Corp. | System and method for caching data for a mobile application |
TWI292270B (en) * | 2002-10-08 | 2008-01-01 | Texas Instruments Inc | System and method for transparently attaching wireless peripherals to a computer using an uwb wireless network |
US20050286544A1 (en) * | 2004-06-25 | 2005-12-29 | Kitchin Duncan M | Scalable transmit scheduling architecture |
US7149839B2 (en) * | 2004-12-03 | 2006-12-12 | Microsoft Corporation | Wireless USB hardware scheduling |
KR100647906B1 (ko) * | 2005-09-15 | 2006-11-23 | 한국전자통신연구원 | 초광대역방식의 무선 usb 호스트 장치 |
TWM310386U (en) * | 2006-10-17 | 2007-04-21 | Yuan High Tech Dev Co Ltd | Wireless USB audio/video transmission device |
-
2007
- 2007-09-29 US US11/904,933 patent/US7844760B2/en not_active Expired - Fee Related
-
2008
- 2008-09-26 TW TW097137316A patent/TWI400617B/zh not_active IP Right Cessation
- 2008-09-28 CN CN2008101778715A patent/CN101420720B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US7844760B2 (en) | 2010-11-30 |
TWI400617B (zh) | 2013-07-01 |
TW200928769A (en) | 2009-07-01 |
CN101420720A (zh) | 2009-04-29 |
US20090089459A1 (en) | 2009-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101420720B (zh) | 用于无线传输的调度表和数据缓存 | |
CN104820701B (zh) | 数据记录和同步方法及系统 | |
CN102624874B (zh) | 一种语音信息传送方法及系统 | |
CN107613529B (zh) | 消息处理方法以及基站 | |
CN101150485A (zh) | 一种零拷贝缓冲区队列网络数据发送的管理方法 | |
CN102541779A (zh) | 一种提高多数据缓冲区dma效率的系统和方法 | |
CN103647726A (zh) | 一种报文调度方法及装置 | |
CN101707564B (zh) | 用于零拷贝缓冲区队列网络数据发送和接收的处理方法和装置 | |
CN104506379A (zh) | 网络数据捕获方法和系统 | |
CN1326057C (zh) | 用于与总线连接的总线系统和总线接口 | |
CN100430847C (zh) | 在总线系统中确定时间的方法和装置以及总线系统 | |
CN101848135A (zh) | 芯片的统计数据的管理方法和装置 | |
CN101437033B (zh) | 一种支持可变速率的方法和网络设备 | |
TW200406682A (en) | Method, system and program for configuring components on a bus for input/output operations | |
CN104714832A (zh) | 一种用于机载数据网络异步数据交互区的缓冲管理方法 | |
CN103442091A (zh) | 一种数据传输方法及装置 | |
CN103347023B (zh) | 一种工业现场环境下hdlc通信控制器 | |
CN109800194A (zh) | 基于Linux系统的SDIO接口数据传输方法及装置 | |
CN109413180A (zh) | 一种数据采集方法、系统及设备和存储介质 | |
CN101964745A (zh) | 一种网络转发设备及其进行报文转发的方法 | |
CN101060463B (zh) | 异步传输模式调度方法及装置 | |
CN209690899U (zh) | 基于usb的fpga通信控制装置及fpga | |
CN108595351B (zh) | 一种面向网络转发处理的dma发送控制方法 | |
CN207835492U (zh) | 一种双缓存载波解调系统 | |
CN112347030A (zh) | 基于fpga的数据处理方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120321 Termination date: 20190928 |
|
CF01 | Termination of patent right due to non-payment of annual fee |