分配位图存储器、产生网络实体间应答的方法及其系统转让专利

申请号 : CN200610077412.0

文献号 : CN1848719B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 南京完李甲周催宰瑄

申请人 : 三星电子株式会社

摘要 :

位图管理器,分配位图存储器的方法,产生网络实体间应答的方法,实现上述内容的网络实体。位图管理器,包括:位图存储器,用来基于位图存储所所接收的帧的批应答;位图管理信息控制器,用来接收位图项目号并存储与位图存储器的物理地址相关的位图管理信息;和位图管理器有限状态机(BM FSM),用来接收对所所接收的帧的更新或抽取请求,管理位图存储信息,和更新或抽取位图存储器。

权利要求 :

1.一种位图管理器,包括:

位图存储器,用来基于位图存储所接收的帧的批应答;

位图管理信息控制器,用来接收位图项目号并存储与位图存储器的物理地址相关的位图管理信息;和位图管理器有限状态机(BM FSM),用来接收对所接收的帧的更新或抽取请求、管理位图管理信息和更新或抽取位图存储器中的应答信息。

2.如权利要求1的位图管理器,其中位图管理信息包括协商的协议数据单元号(NOP),位图存储器的开始地址(SMA),和各个协议数据单元(PDU)中的分段号(NOF)。

3.如权利要求1的位图管理器,其中位图管理信息控制器使用协议数据单元中的分段号(NOF)和协商的协议数据单元号(NOP)来计算位图存储器的开始地址(SMA)。

4.如权利要求1的位图管理器,其中该位图存储器传输与接收的批应答请求(BAR)帧相关的批应答帧或一个ACK帧,然后将剩下的批应答部分移到具有比剩下的批应答部分更低地址的空闲部分。

5.如权利要求4的位图管理器,其中软件管理剩下的批应答部分的位置变化。

6.如权利要求4的位图管理器,其中位图管理信息控制器根据移动的位图存储器部分的开始地址的改变来修改位图存储器中的开始地址。

7.如权利要求1的位图管理器,其中位图管理信息或位图存储器的更新或抽取在每个批应答(BA)事务中执行。

8.如权利要求1的位图管理器,其中位图管理信息控制器还包括开始等待标志(SWF)和开始序列号(SSN)。

9.如权利要求8的位图管理器,其中位图管理器有限状态机在每个批应答(BA)事务的开始处设置开始等待标志(SWF)并在每个批应答(BA)事务的结束处清除开始等待标志(SWF)。

10.如权利要求1的位图管理器,其中所接收的帧是批应答帧。

11.一种网络实体,包括:

自动重复请求有限状态机(ARQ FSM),从另一个网络实体接收帧,从所接收的帧解码选择信息,在接收的帧是批应答请求的情况下将批应答或应答帧返回给其他网络实体;

ARQ信息比较器,比较所接收的帧的选择信息和存储的项目信息,并确定批应答的类型;和位图管理器,根据批应答的类型存储批应答比特和位图管理信息。

12.如权利要求11的网络实体,其中位图管理器包括用来存储基于位图的批应答比特的存储器。

13.如权利要求11的网络实体,其中ARQ信息比较器包括MAC地址(MA)比较器,其中MAC地址(MA)比较器是基于用于安全无线通信的关键词搜索引擎(KSE)。

14.如权利要求11的网络实体,所接收的帧的选择信息包括MAC地址(MA)或业务ID(TID)。

15.如权利要求14的网络实体,其中至少一个业务ID(TID)相应于MAC地址(MA)。

16.如权利要求14的网络实体,其中业务ID数目达到站点的最大数目。

17.如权利要求11的网络实体,其中ARQ信息比较器还包括:

MAC地址(MA)比较器,搜索与所接收的帧的MAC地址相匹配的MAC地址的MAC地址项目号(MA_EN);和MAC地址项目号和业务ID(MA_EN/TID)比较器,搜索与来自MAC地址比较器的MAC地址项目号(MA_EN)和业务ID(TID)相匹配的位图管理信息(BMI)的位图项目号(BtM_EN)。

18.如权利要求17的网络实体,其中当MAC地址项目号(MA_EN)命中时,MAC地址项目和业务ID比较器搜索位图管理信息的位图项目号(BtM_EN)。

19.如权利要求17的网络实体,其中在搜索与来自MAC地址比较器的MAC地址项目号(MA_EN)和业务ID(TID)相匹配的位图管理信息(BMI)的位图项目号(BtM_EN)命中时,MAC地址项目和业务ID(MA_EN/TID)比较器产生批应答帧。

20.如权利要求17的网络实体,其中在搜索与来自MAC地址比较器的MAC地址项目号(MA_EN)或业务ID(TID)相匹配的位图管理信息(BMI)的位图项目号(BtM_EN)未命中时,自动重复请求有限状态机(ARQ FSM)产生应答帧。

21.如权利要求20的网络实体,其中在搜索与来自MAC地址比较器的MAC地址项目号(MA_EN)或业务ID(TID)相匹配的位图管理信息(BMI)的位图项目号(BtM_EN)未命中时,自动重复请求有限状态机(ARQ FSM)由软件来产生延迟批应答帧。

22.如权利要求19的网络实体,其中自动重复请求有限状态机(ARQ FSM)还用于在发送批应答请求之后且不在等待批应答帧的状态中时,忽略接收的批应答帧。

23.如权利要求19的网络实体,其中自动重复请求有限状态机(ARQ FSM)将搜索请求发送给ARQ信息比较器来比较接收帧的选择信息与ARQ信息比较器的项目。

24.如权利要求19的网络实体,其中如果ARQ信息比较器产生命中信号,那么自动重复请求有限状态机(ARQ FSM)将更新请求发送给位图管理器(BM)来更新位图存储器和位图管理信息。

25.如权利要求11的网络实体,其中网络实体至少是连接到无线网络的站点(STA)或接入点(AP)中的一个。

26.如权利要求25的网络实体,其中无线网络支持站点之间的通信和站点与接入点之间的通信。

说明书 :

分配位图存储器、产生网络实体间应答的方法及其系统

[0001] 优选权状态
[0002] 这个非临时申请要求的优先权是35U.S.C.§119韩国专利申请No.P2005-12293,2005年2月15日申请,它的所有内容一起作为参考。

背景技术

[0003] 在通信协议中,ARQ(自动重发请求)是接收器检测帧差错和如果帧具有差错请求重发的常用方法。目前有多种ARQ技术,例如停止和等待ARQ,后退n步ARQ和可选择重发ARQ。
[0004] 停止和等待协议发送信息的协议数据单元(PDU)然后等待回应。接收器接收每一个PDU以及如果数据PDU被正确接收则发送应答(ACK)PDU,如果数据没有被接收则发送否定应答(NACK)PDU。其实,接收器也许不能可靠识别PDU是否被接收,以及发送器通常也需要执行计时器来恢复接收器没有应答的情况。停止和等待传输是最简单的技术并且对于高带宽或高质量的业务通信协议是不适合的。
[0005] 后退n步ARQ协议直到接收代表丢失的PDU的控制PDU为止发送信息的有限个协议数据单元。如果接收器接收控制PDU,它开始发送上一个命中所接收的帧之后的所有连续的帧。后退n步ARQ协议有一个问题是需要很大的缓存和当接收差错帧时需要重复发送相同的帧。
[0006] 在可选择ARQ协议中,发送器仅选择性地发送传输中发生差错的帧。可选择的ARQ协议能够用于高带宽或高质量业务的通信。基于IEEE 802.11的无线网络,例如被广泛使用于家庭或商业场所。新的应用例如视频或多媒体流给无线网络带来了业务质量(QoS)的新特征。
[0007] 对带宽或业务质量(QoS)的增加的需求导致网络拥塞,以及更多的用户需要没有停顿或减速的多媒体发布。这些需求是发展用于802.11无线LAN的QoS增强计划的理由。
[0008] 旧的802.11MAC一直在命中接收每一个帧之后发送应答(ACK)帧。批ACK允许几个数据帧在ACK回来之前被发送,这样增加了效率,其原因为每个帧具有用于无线电同步的重要开销。批应答通过将多个所接收的帧的ACK聚集为单个应答而增加了效率。通过QSTA(QoS站)和QAP(QoS接入点)之间的开始和协商过程来发起批ACK。一旦批ACK被建立,多个QoS数据帧能够在争用空闲脉冲中传输,在这些帧之间具有SIFS(短的内部帧空间)间隔。
[0009] 基于802.11e定义了两种批ACK机制:立即的和延迟的。当使用立即批ACK时,发起方在争用空闲脉冲中传输多个数据帧,该数据帧由SIFS隔开。发起方必须服从当前运行在其中的TXOP(传输时机)期间的约束。在该脉冲的结尾,发起方传输批ACK请求帧。接收方必须立即应答包括数据帧先前脉冲的应答状态的批ACK帧。
[0010] 延迟的规则允许在脉冲之后的连续TXOP中发送组应答。相同序列的争用空闲脉冲和批ACK请求如同在立即机制中同样使用。接收方简单发送标准ACK来应答批ACK请求,指示批ACK将被延迟。延迟的应答增加了反应时间,以及用于支持实现不能立即计算ACK的较低的性能。

发明内容

[0011] 本发明的实施例是位图管理器,分配位图存储器的方法,产生网络实体间应答的方法,实现上述内容的网络实体。
[0012] 本发明的实施例是位图管理器,分配位图存储器的方法,产生网络实体间应答的方法,实现上述内容的网络实体,这些实现了改进的批ACK技术。
[0013] 本发明的实施例也用来选择ACK协议。
[0014] 本发明的实施例是使管理和/或分配位图存储器更便利和动态的技术。
[0015] 本发明的实施例是网络实体,包括:一个自动重复请求有限状态机(ARQFSM),从另一个网络实体接收帧,从所接收的帧解码选择信息,将批应答或应答帧返回给其他网络实体,一个ARQ信息比较器,比较所接收的帧的选择信息和存储的实体信息,并确定应答规则,和位图管理器,根据应答规则存储批应答比特和位图管理信息。
[0016] 在实施例中,ARQ信息比较器包括MAC地址(MA)比较器,其中MAC地址(MA)比较器是基于用于安全无线通信的关键词搜索引擎(KSE)。
[0017] 在实施例中,ARQ信息比较器还包括:MAC地址(MA)比较器,搜索与所接收的帧的MAC地址相匹配的MAC地址的MAC地址项目号(MA_EN),和MAC地址项目号和业务ID(MA_EN/TID)比较器,搜索与来自MAC地址比较器的MAC地址项目号(MA_EN)和业务ID(TID)相匹配的位图管理信息(BMI)的位图项目号(BtM_EN)。
[0018] 在实施例中,ARQ信息比较器基于关键词搜索引擎。
[0019] 在实施例中,位图管理信息包括开始等待标志(SWF)和开始序列号(SSN)。在实施例中,位图管理信息控制器在各个批应答(BA)事务的开始时设置开始等待标志(SWF)并在各个批应答(BA)事务的结束时清除开始等待标志(SWF)。
[0020] 在实施例中,位图FSM控制更新位图管理控制器中的项目,并控制从用于所接收的帧的位图存储器更新或抽取应答信息。
[0021] 在实施例中,位图管理信息控制器计算位图存储器中地实际地址。
[0022] 在实施例中,位图管理信息控制器通过将当前在用的位图部分分配到位图存储器中不用部分来整理存储器碎片。
[0023] 在实施例中,位图管理信息控制器通过修改分配给用于接收帧的应答信息的位图存储器的各个部分的开始存储器地址来将当前使用的位图存储部分分配到未使用部分。
[0024] 在实施例中,位图FSM在各个批应答(BA)事务的开始时设置开始等待标志(SWF)并在各个批应答(BA)事务的结束时清除开始等待标志(SWF)。
[0025] 本发明的实施例是发送方和接收方之间的批ACK(BA)支持方法,发送方和接收方中的每一个可以运行立即批ACK或延迟批ACK规则。在实施例中,发送方和接收方中的每一个可以具有分层次的硬件,装置驱动器,和软件部件,该软件部件是最灵活的。
[0026] 本发明的实施例是分配第一网络实体的位图存储器的方法,包括:与第二网络实体协商批应答的类型,包括立即批应答或延迟批应答;协商被传输的数据数量;和根据被传输的数据数量和批应答类型将第一网络的位图项目或应答信息变化为第二实体。
[0027] 在实施例中,第一网络实体包括软件,装置驱动器和硬件,其中第一网络实体是发送方而第二网络实体是接收方,第一网络实体的装置驱动器发送批应答请求给第二网络实体,第一网络实体的硬件从第二网络实体接收立即批应答,第一网络实体根据立即批应答来设置计时器,第一网络实体的硬件接收批应答并传输批应答给装置驱动器和软件,和第一网络实体的装置驱动器擦除批应答并删除批应答请求。
[0028] 在实施例中,第一网络实体包括软件,装置驱动器和硬件,其中第一网络实体是发送方而第二网络实体是接收方,第一网络实体的装置驱动器发送批应答请求给第二网络实体,第一网络实体的硬件从第二网络实体接收延迟批应答,第一网络实体根据延迟批应答来设置计时器,第一网络实体的硬件接收批应答并传输批应答给装置驱动器和软件,和第一网络实体的装置驱动器擦除批应答并删除批应答请求。
[0029] 在实施例中,第一网络实体包括软件,装置驱动器和硬件,其中第一网络实体是接收方而第二网络实体是发送方,第一网络实体的装置驱动器添加批应答信息到位图存储器并动态分配位图存储器的部分,第一网络实体发送批应答回应给第二网络实体,第一网络实体的硬件更新位图存储器的部分,第一网络实体的硬件从位图存储器抽取相关比特,创建批应答,并将批应答发送给第二网络实体,如果第一网络实体接收批应答请求,第一网络实体的硬件发送批应答,和第一网络实体的装置驱动器擦除批应答并删除批应答请求。
[0030] 在实施例中,第一网络实体包括软件,装置驱动器和硬件,其中第一网络实体是接收方而第二网络实体是发送方,第一网络实体的装置驱动器添加批应答信息到位图存储器并动态分配位图存储器的部分,第一网络实体发送批应答回应给第二网络实体,第一网络实体的软件从位图存储器抽取相关比特,创建批应答,并将批应答发送给第二网络实体,第一网络实体的硬件发送第一网络实体的装置驱动器的批应答请求,第一网络实体的硬件发送应答,第一网络实体的装置驱动器准备和发送批应答,第一网络实体的装置驱动器擦除批应答并删除批应答请求。
[0031] 本发明的实施例给硬件,装置驱动器,和软件部件分配各种任务来增加解决实体或方法的灵活性。
[0032] 本发明的实施例是在网络实体间产生应答的方法,包括:搜索与接收帧的选择信息相匹配的存储的选择信息,产生命中/未命中信号,并确定批应答的类型;当选择信息命中时,更新位图管理信息和位图存储器;和根据位图管理信息从位图存储器产生批应答或应答帧。
[0033] 本发明的实施例是位图管理器,分配位图存储器的方法,实现上述内容的网络实体,这些遵守IEEE 802.11e或801.16d无线网络标准。

附图说明

[0034] 通过下面的详细描述和附图本发明将变得更加清楚,这些描述和附图仅仅为了解释本发明而不是限制本发明。
[0035] 图1描述了根据本发明实施例的在相关技术批ACK请求中的定时需求的示例。
[0036] 图2描述了根据本发明实施例的基于位图的ARQ引擎的框图。
[0037] 图3描述了根据本发明实施例的ARQ FSM运行的示例流程图。
[0038] 图4A和4B描述了根据本发明实施例的批ACK(BA)支持方法。
[0039] 图5描述了根据本发明实施例的ARQ信息比较器(AIC)。
[0040] 图6描述了根据本发明实施例的位图管理器。
[0041] 图7描述了根据本发明实施例的位图管理器的适应性。
[0042] 图8描述了根据本发明实施例的位图管理器(BM)的有限状态机(FSM)的状态图。
[0043] 图9描述了根据本发明实施例的存储器填充。
[0044] 应该注意到为了在这描述这样的实施例,这些图用来描述本发明实施例的方法和装置的基本特征。然而这些图不是用来衡量以及不是精确反映任何所给实施例的特征,以及不应该被解释为定义或限定在本发明范围中的实施例的值和性质。

具体实施方式

[0045] 图1描述了根据本发明实施例的在相关技术批ACK请求中的定时需求的例子。图1描述了站点(STA)和接入点(AP)之间的点对点连接。在图1中的STA和AP是支持
802.11e标准的QoS站点(QSTA)和QoS接入点(QAP)。实际上,图1描述了接入点(AP)和站点(STA)之间为了传输时机(TXOP)的批ACK请求的定时需求。
[0046] 如图1所示,在QoS争用空闲(QCf)轮询之后,STA接收TXOP并且在短的帧间空间(SIFS)中开始数据传输。批ACK(BA)事务随着从AP到STA的一个或多个MAC协议数据单元(MPDU)的传输而开始。每个MPDU由SIFS隔开。在MPDU串的结尾,STA接收其后跟随着另一个SIFS的批ACK请求(BAR)。如图1所示,STA响应来自AP的BAR,该AP具有128比特的批ACK(BA)。
[0047] 在802.11e标准中,如果STA接收批ACK请求(BAR)帧,则通过在SIFS时间段中提供立即ACK或延迟ACK,STA必须完成与AP的ARQ协商。STA将根据应答规则协商结果来返回BA或一个ACK。
[0048] 根据由STA所接收的帧,使用ARQ引擎将ACK/NAK的状态存储在位图存储器中。如果BA被请求,则STA的ARQ引擎将在SIFS周期之后发送BA。
[0049] STA的ARQ引擎的位图存储器将ACK/NAK的值存储为“高”(ACK)和“低”(NACK)。在实施例中,使用这样的位图存储器的ARQ引擎被称为基于位图的ARQ引擎并在下面详细描述。
[0050] 设计基于位图的ARQ引擎的因子包括与AP通信的站点(STA)个数,业务ID或TID的数目(在802.11e标准中最大是16),在一个BA帧中协议数据单元(PDU)的数目(在802.11e标准中最大是64),片段的数目(在802.11e标准中最大是16)。
[0051] 图2描述了根据本发明实施例的基于位图的ARQ引擎的框图。如图2所示,基于位图的ARQ引擎100可以包括ARQ有限状态机(FSM)110,ARQ信息比较器(AIC)120,和/或位图管理器(BM)130。
[0052] 在实施例中,AIC 120可以包括MAC地址(MA)比较器122和/或MAC地址项目号和业务ID(MA_EN/TID)比较器124。
[0053] 在实施例中,位图管理器130可以包括位图管理器有限状态机(BM FSM)132,位图管理信息控制器134,和位图存储器136。
[0054] 在实施例中,ARQ FSM 110可以与MAC控制器交换选择信息,例如,MAC地址,TID,序列号,片段号,和BA/ACK帧。ARQ FSM 110可以解码所接收的帧并且控制搜索、更新和/或抽取应答信息并返回BA或ACK。
[0055] AIC 120可以从ARQ FSM 110接收搜索请求并通过比较MAC地址(例如,MAC地址是48比特)和业务ID(TIDs)来产生命中/未命中信号。AIC模块120可以与安全功能模块中的关键词搜索引擎(KSE)使用相同的硬件,因此可以节约硬件。
[0056] 位图管理器(BM)130可以根据来自ARQ FSM 110的控制而更新或抽取位图管理信息。位图管理器130可以包括位图管理器有限状态机(BM FSM)132,位图管理信息控制器134,和/或位图存储器136。
[0057] 如果ARQ FSM 110发送更新请求或抽取请求给位图管理器有限状态机(BMFSM)132,则位图存储器136中的应答信息可以被BM FSM132更新,管理和/或抽取。BM130的运行在下面详细描述。
[0058] 图3描述了根据本发明实施例的ARQ FSM运行的示例流程图。基于位图的ARQ引擎被包括在QoS接入点(QAP)和QoS站点(QSTA)中。在发起方和接收方之间的流程图的运行可以用于QoS AP和QoS STA之间和站点之间的运行。
[0059] 如图3所示,最初,在S202,ARQ FSM 110可以确定帧类型,例如,QoS数据(QData),批ACK请求(BAR)或批ACK(BA)。
[0060] 如果帧是QData帧,在S204,ARQ FSM 110可以从所接收的帧字段中的选择信息来确定ACK规则是否是批ACK(BA)规则。如果是,ARQ FSM 110可以发送搜索请求给AIC 120来确定项目是否匹配的MAC地址(MA)和业务ID(TID)组合(在S206)。在S208,如果接收的搜索请求是命中的,则在S210,相应于由位图项目号(BTM_EN)、序列号(SN)和分段号(FN)表示的新项目更新位图存储器136。
[0061] 如图3所示,在S204,如果所接收的帧具有批ACK规则,则在S206,更新操作可以通过以下方法来实现,在检查帧的循环冗余码校验码(CRC)之后设置位图存储器136来确定对所接收的帧的应答比特。如果接收方在QoS数据帧之前接收建立帧,那么新位图管理信息(BMI)可以被构建。(未在图3中示出)
[0062] 如果帧是BAR帧,则在S220,ARQ FSM 110可以发送搜索请求给AIC 120来确定项目是否是匹配的MAC地址(MA)和业务ID(TID)组合。在S222,如果该项目指示命中的,那么ARQ FSM 110可以在S224从期望的位置抽取应答信息,在S226具有BtM_EN和开始序列号(SSN)的位图存储器136准备BA帧,以及在S228为立即BA发送BA帧。
[0063] 在S222如果项目指示未命中,则在S230,ARQ FSM 110为延迟BA准备ACK帧并在S232发送ACK帧以及不为创建BA帧做任何事。但是,在由ARQ FSM110发送ACK帧以后,接收方由软件准备BA帧。
[0064] 在帧类型检测步骤S202,如果帧是批ACK帧,则在S240,ARQ FSM 110确定ARQ FSM110是否等待批ACK。如果是,则在S242,ARQ FSM 110确定ACK。如果在S240,ARQ FSM 110不在等待批ACK帧的状态中,那么ARQ FSM110忽略BA帧。
[0065] 如上所述,根据搜索结果,ARQ FSM 110将协商确定为立即ACK或延迟ACK。
[0066] 如果协商是立即ACK,则ARQ FSM 110执行更新或抽取操作,而如果协商是延迟ACK,那么ARQ FSM 110传输ACK帧。立即ACK或延迟ACK的确定可以由AIC或KSE根据命中/未命中信息的结果来执行。
[0067] 如果所接收的帧是BAR,则在S222由AIC 120执行搜索操作来确定命中或未命中。如果搜索结果是命中,则选择立即ACK以及抽取相应的位图存储器数据。由ARQ FSM 110来准备和发送BA。
[0068] 如果搜索结果是未命中,则选择延迟ACK以及ARQ FSM 110发送ACK帧。在ARQ FSM 110分析BAR帧和准备BA之后,ARQ FSM 110发送BA。
[0069] 在图1的AP处,如果AP发送BAR以及所接收的帧是BA,则AP将确认ACK帧。但是如果AP没有发送BAR以及所接收的帧是BA,则AP将忽略BA,如S240所示。
[0070] 图4a和4b描述了根据本发明实施例的批ACK(BA)支持方法。作为举例,图4a和4b分别由发送方和接收方描述,它们中的每一个可以分别运行立即批ACK或延迟批ACK规则。在实施例中,在发送方和接收方之间交换的帧类型可以包括添加批ACK请求(ADD_BA_Req)和添加批ACK应答(ADD_BA_Res),QData,BAR,BA,和删除批ACK请求(DELETE_BA_Req)。根据发送方或接收方是否运行在立即批ACK规则或延迟批ACK规则下,这些帧类型中的每一个可以被发送方传输或被接收方接收。另外,发送方或接收方中的每一个可以具有分层的硬件,装置驱动器,和软件部件,该软件部件是适应性的。下面描述的本发明实施例分配各种工作给硬件,装置驱动器,和软件部件来增加所导致的实体或方法的灵活性。
[0071] 在实施例中,装置驱动器管理所有应答信息和位图阵列,并且根据存储的位图来发送BA。但是,如果用于所接收的帧的协商导致立即BA,则BA由ARQ引擎来完成。如果用于所接收的帧的协商导致延迟BA,则装置驱动器产生BA帧,以及自己发送BA帧。图4a和4b列举了在实施例中发送方和接收方的动作。
[0072] 图4a和4b描述了ADD_BA_Req帧和ADD_BA_Res帧被用在QoS数据帧传输之前的建立步骤处的发送方和接收方之间。
[0073] 如图4a和4b所示,发送方的装置驱动器(DD)可以添加BA项目然后发送ADD_BA_Req给接收方。批ACK规则可以根据各个接收方的规则而独立设置。ADD_BA_Req帧可以包括作为建立参数的TID、批ACK规则、传输缓冲区大小和/或超时值。
[0074] 根据图4a和4b,如果ADD_BA_Req帧的接收方执行立即BA规则,那么接收方的装置驱动器添加BA项目并且建立位图。如果接收方执行延迟BA规则,那么接收方的装置驱动器可以添加BA。然后,不管批ACK规则如何,接收方发送ADD_BA_Res给发送方。
[0075] 响应于ADD_BA_Res,如果发送方执行立即BA规则以及如果完成建立,那么用来指示批ACK规则的参数ImmediateBA被设置。相反,如果发送方执行延迟BA规则以及如果完成建立,那么ImmediateBA不被设置。
[0076] 发送方可以将它的作为批ACK的ACK规则发送给接收方。作为响应,如果接收方执行立即批ACK BA规则,那么位于接收方的硬件可以被用来更新相应位图存储器比特。如果接收方执行延迟批ACK规则,那么在接收方的软件可以被用来更新相应位图存储器比特。
[0077] 对于批ACK请求,如果发送方执行立即批ACK规则,则因为ImmediateBA被设置,计时器被设置为批ACK大小。如果发送方执行延迟批ACK规则,则计时器被设置为ACK大小。
[0078] 在响应中,如果接收方执行立即批ACK规则,则接收方硬件抽取相应的位图存储器比特,准备批ACK并发送批ACK。如果接收方执行延迟批ACK规则,则接收方硬件将BAR发送给发送ACK的装置驱动器。
[0079] 如果接收方执行立即批ACK规则,一旦接收BAR,位于接收方的硬件在SIFS之后发送批ACK。如果接收方执行延迟批ACK规则,当准备好时,装置驱动器发送BA。
[0080] 在响应中,如果发送方执行立即批ACK规则,位于发送方的硬件传输批ACK给上层,例如装置驱动器,并且不回答ACK。如果发送方执行延迟批ACK规则,则位于发送方的硬件传输批ACK给上层并回答ACK。
[0081] 一旦业务完成或不活动超时结束,位于发送方的装置驱动器擦除相应的BA项目并发送DELETE_BA_Req给接收方。在响应中,位于接收方的装置驱动器擦除相应的BA项目并发送DELETE_BA_Req,因此终止批ACK支持方法。
[0082] 如果发送方接收DELETE_BA_Req,那么位于发送方的装置驱动器擦除相应的BA项目。在响应中,如果接收方执行立即批ACK规则,则位于接收方的装置驱动器擦除相应的BA项目使相应的硬件位图无效。如果接收方执行延迟批ACK规则,则位于接收方的装置驱动器擦除BA项目。
[0083] 图5描述了根据本发明实施例的ARQ信息比较器(AIC)。如图2和图5所示,AIC120可以包括MAC地址(MA)比较器122和/或MAC地址项目号和业务ID(MA_EN/TID)比较器124。在实施例中,MAC地址(MA)比较器122可以被当作用于安全的传统关键词搜索引擎(KSE)来执行,包括关键词存储器126,如图5所示。
[0084] 根据每个MAC地址,MAC地址(MA)比较器122可以包括相应的ARQ有效比特。ARQ有效比特描述了相应的MAC地址是否已经被协商为批ACK。图5描述了由多个项目的有效比特和MAC地址311来实现的MAC地址比较器和XNOR逻辑电路315。
[0085] MAC地址(MA)比较器122可以接收48比特的MAC地址,并确定是否48比特MAC地址与MAC地址(MA)比较器122中的项目中的一个(例如,64个项目中的一个)相对应。作为MAC地址的比较结果,MAC地址(MA)比较器将命中/未命中信号以及MAC地址项目号(MA_EN)输出给MA_EN/TID比较器。如果MAC地址与项目中的一个相对应,则MAC地址(MA)比较器122将命中信号、相应的MA_EN和TID信号输出给MA_EN/TID比较器124。如果MAC地址比较器输出未命中信号,则MA_EN/TID比较器忽略MA_EN而TID输入并且不进一步将MA_EN的输入值和TID值与MA_EN/TID比较器124的项目中的MA_EN/TID值相比较。图5也描述了由MA_EN比特和MAC地址351的多个项目来实现的MAC地址比较器和XNOR逻辑电路355。
[0086] MAC地址(MA)比较器122也可以输出命中/未命中信号和MA_EN信号,MA_EN信号是在MA_EN/TID比较器124中的MAC地址项目的项目号。在上述例子中,MAC地址项目数是64比特。MA_EN信号可以与TID信号级连,例如4比特TID信号(最大值是24或16,在802.11e标准中设置)以及MA_EN信号被提供给MA_EN/TID比较器124。
[0087] MA_EN/TID比较器124可以包括64个项目,每个包括6比特MA_EN和4比特TID。如果由MA比较器122提供的级连的MA_EN/TID信号与MA_EN/TID比较器124中的项目中的一个匹配,那么命中信号和6比特位图项目号BtM_EN被输出给BM130。
[0088] 如上所述,例如由802.11i规范所描述用于安全的KSE的可以被用作AIC120。仅仅有效ARQ和TID相关信息可以包括在本发明的实施例中。另外,因为通过为存储的信息使用单个端口SRAM而不是CAM(按内容编址存储器),MAC地址(MA)比较器和AIC 120中的MA_EN/TID比较器可以作为依次的比较器,所以通过例如FPGA更加容易实现和修改原型硬件,以及节省面积和/或时间。
[0089] 在802.11无线通信的普通规范中,为关键词搜索引擎(KSE)提供64个项目是普通的。本发明的实施例描述了AIC可以给立即BA支持64个站点,也描述了AIC可以为一个项目支持16个TID并且支持总共64个TID。因此,可配置ARQ引擎使得64个站点中的每一个具有一个TID或使得每4个站点具有16个TID。换句话说,本发明的ARQ引擎具有动态改变配置的适应性。
[0090] 图6描述了根据本发明实施例的位图管理器(BM)130。如同图2和6中描述的,BM130可以包括位图管理器有限状态机(BM FSM)132,位图管理信息控制器134,和位图存储器136。位图管理信息(BMI)控制器134可以从AIC 120接收6比特位图项目号(BTM_EN)和命中/未命中信号。
[0091] 如图6所示,位图管理信息控制器134可以包括多个项目,例如64个。每个项目可以包括由例如1个比特来表示的开始等待标志(SWF),由例如12比特表示的开始序列号(SSN),由例如6比特表示的PDU字段号(NOP)和由例如11比特表示的开始存储器地址字段(SMA)。位图管理信息控制器134也可以包括例如4比特的片断字段号(NOF)。开始等待标志(SWF)是标志比特,它用来指示新BA事务的开始。每个项目可以具有SWF,SSN,NOP和SMA,并且可以被存储在BMI控制器134中。NOF用来指示位图当前片断的号码,例如指示在当前网络中的PDU的使用。NOF可以存在远离BMI控制器134中的项目信息(SWF、SSN、NOP和SMA)的地方。NOP用于指示经协商的PDU的最大号码。SMA指示位图的物理地址并且可由BMI控制器中的加法器(图6未示出)根据BMI控制器中的NOF和NOP计算。
[0092] 在实施例中,NOF,NOP和SMA可以由软件来控制,而SWF和SSN可以由硬件来控制。
[0093] 如果位图管理信息(BMI)控制器134接收具有具体位图项目号的命中信号,那么BMI控制器134用如图6所示的位图管理信息来计算位图存储器中的实际地址。
[0094] 基于来自ARQ FSM 110的请求,BM FSM132可以实现搜索、更新和/或抽取操作。位图存储器136可以用来存储批ACK数据信息。
[0095] 如图6所示,位图管理信息控制器134可以通过记录位图存储器136的开始存储器地址(SMA)来适应性地管理位图存储器136。在实施例中,使用软件来记录片段号(NOF),最大经协商的PDU号(NOP),和使用了NOF和NOP的位图管理器136的真实开始地址(SMA)。
[0096] 图7描述了根据本发明实施例的位图管理器(BM)的适应性,例如BM130,其中假设NOF是8。
[0097] 如图7所示,第一个项目,位图管理信息控制器134中的0x0协商为最大为4个PDU,而第二个项目,位图管理信息控制器134中的0x1被协商为最大为16个PDU。在BM130中的硬件可以通过使用所接收的帧的SMA、NOF、NOP、SSN和序列号(SN)和片段号(FN)为搜索、更新和/或抽取操作计算精确位图存储器地址。
[0098] 在本发明的实施例中,位图管理信息控制器134支持64个项目,与STA的数目相同,但是位图存储器的大小是2,048字节,它支持16个项目作为一对的16个片段和64个PDU。
[0099] 在本发明实施例中,较小的位图存储器136,例如2,048字节,可以被使用但可以通过将片段/PDU对用作最大值16而被扩展。
[0100] 图8描述了根据本发明实施例的位图管理器(BM)的有限状态机(FSM)的状态图,例如图2和5的BM FSM 132。
[0101] 在实施例中,BM FSM 132开始于空闲状态802。如果BM FSM 132接收搜索请求(search_req),BM FSM 132转换到状态804(search_MA),并搜索MAC地址项目来发现与所接收的帧的MAC地址相匹配的项目。一旦BM FSM 132从AIC 120接收search_MA_done信号,BM FSM 132转换到状态806(search_TID),搜索TID,产生svc_done信号并返回到空闲状态802。
[0102] 如果BM FSM 132接收更新请求update_req并且SWF=1,BM FSM 132转换到状态806(Update StartSeq)并更新StartSeq。SWF=1指示ARQ引擎正在等待第一个BA规则帧,然后当ARQ引擎接收第一个BA规则帧时,BM FSM在BMI控制器中更新包括片段号和开始序列号的序列控制字段。一旦更新完成,BM FSM 132转换到状态808,并清除位图器136。因为新的BA规则帧,位图管理器(BM)需要为新BA帧生成新空间。一旦位图管理器
136被清除,BM FSM 132转换到状态810,计算更新位置和转换到状态812,并更新位图存储器136。BM FSM 132然后转换到状态814,清除SWF标志并返回到空闲状态802。因为新的BA事务以新BA规则帧开始,所以SWF标志比特被清除并进入空闲状态来接收下一个帧。
[0103] 如果BM FSM 132接收更新请求update_req并且SWF=0,BM FSM 132转换到状态816并读取StartSeq。一旦读取完成,BM FSM 132转换到状态810,计算更新位置和转换到状态812,并更新位图存储器136。BM FSM 132然后转换到状态814,清除SWF标志并返回到空闲状态802。在BA事务开始后,当ARQ引擎100接收下一个帧时,位图管理器130从BMI控制器134读取存储的序列信息来计算位图存储器的目的地址的位置,并根据所接收的帧更新位图存储器。当用于BA事务的SWF标志比特是0时,BMI控制器134跳过清除SWF操作。
[0104] 如果BM FSM 132接收抽取请求extrac t_req,BM FSM 132转换到状态820,并读取StarSeq。一旦读取完成,BM FSM 132转到状态822,计算读取位置并转换到状态824,并从计算的位置读取信息。BM FSM 132然后转换到状态826,设置SWF标志来指示当前BA事务的完成并返回到空闲状况802。
[0105] 图9描述了根据本发明实施例的存储器填充,例如在位图存储器136中。如图9所示,适应性的存储器管理具有存储器分段的问题。动态存储器分配经历了很多的BA事务后在位图存储器中产生存储器分段。虽然,位图存储器136中的剩下的存储器部分的总量可能大于下一个候选的位图大小,但是插入到位图存储器136中是不可能的。如果为了这个存储器分段问题ARQ引擎具有较大的存储器,则花费将增大。
[0106] 如图9所示,BMI控制器134通过软件解决了这个存储分段问题。当BA事务结束时,如果未用部分大于由剩下的BA事务所用的部分,则将剩下的BA写入的存储器部分通过改变BMI控制器136中的剩下的BA事务的SMA值而被移到未用部分的较低地址处。通过这种存储器填充方案,ARQ引擎可以使用较小的存储器并降低费用。
[0107] 本发明的实施例提拱了有效的基于位图的ARQ引擎100的批ACK方法。ARQ引擎100可以使用支持诸如IEEE 802.11i、无线LAN规范的安全规范的关键词搜索引擎(KSE),并可以为所接收的帧协商BA规则来响应SIFS期间的立即BA或延迟BA。ARQ引擎130可以搜索与所接收的帧在MAC地址和TID上相匹配的信息项目并产生命中/未命中信号和用于BA响应的项目号。
[0108] ARQ引擎100也可以搜索、更新和/或抽取来管理位图管理信息,并响应BA请求以及具有SMA的位图存储器的适应性管理。
[0109] 在本发明实施例中,如果立即BA被协商,则硬件可以提供SIFS时间限制。在本发明实施例中,适应性的位图存储器具有的优点是较低门数。在本发明实施例中,如上所述,门数可以通过使用存在的KSE作为ARQ FSM而还地降低。
[0110] 本发明的实施例可以用于802.11e标准或802.16d标准。在802.16d标准中,选择的ACK方法可以通过以下方法来实施:使ARQ FSM符合802.16d规范并使用连接ID(CID)替换MAC地址,以及将NOF固定为‘1’。
[0111] 理解到,虽然术语第一,第二等在这用来解释多种实体,这些实体不应该被这些术语所限制。这些术语仅仅用来区别一个实体与其它实体。因此,下面叙述的第一实体可以被称为第二实体,只要不脱离本发明的教导。
[0112] 本领域的技术人员很清楚只要不脱离本发明的精神可以改变和修改上述的实施例,并且注意到在上述描述中的所有内容仅仅为了解释而不是为了限制。