專利名稱:用于高速媒體接入控制的存儲器管理的制作方法
用于高速媒體接入控制的存儲器管理35 U.S.C §119項下的優(yōu)先權(quán)請求本專利申請案請求對2006年3月31日提出申請且名稱為"高速媒體接入控制 (High Speed Media Access Control)"的第60/787,915號臨時申請案的優(yōu)先權(quán),且所 述臨時申請案受讓予本申請案的受讓人并以引用的方式明確地并入本文中。技術(shù)領(lǐng)域本揭示內(nèi)容大體來說涉及無線通信,且涉及高速媒體接入控制。
技術(shù)背景無線通信系統(tǒng)經(jīng)廣泛部署以提供例如語音及數(shù)據(jù)等各種類型的通信。典型的無線 數(shù)據(jù)系統(tǒng)或網(wǎng)絡向多個用戶提供對一個或一個以上共享資源的接入。系統(tǒng)可使用各種 多重接入技術(shù),例如頻分多路復用(FDM)、時分多路復用(TDM)、碼分多路復用 (CDM)、正交頻分多路復用(OFDM)及其它。實例性無線網(wǎng)絡包括基于蜂窩的數(shù)據(jù)系統(tǒng)。以下是數(shù)個此類實例(1)"雙重 模式寬帶展頻蜂窩式系統(tǒng)的TIA/EIA-95-B移動臺-基站兼容性標準"(IS-95標準),(2)由名稱為"第三代合作伙伴計劃"(3GPP)的團體提供的標準且其包含于包括 第3GTS 25.211、 3GTS25. 212、 3G TS 25.213及3G TS 25.214號文檔在內(nèi)的一組文 檔中(W-CDMA標準),(3)由名稱為"第三代合作伙伴計劃2" (3GPP2)的團 體提供的標準且其包含于"cdma2000展頻系統(tǒng)的TR-45.5物理層標準"(IS-2000標 準)中,及(4)符合TIA/EIA/IS-856標準(IS-856標準)的高數(shù)據(jù)速率(HDR)系統(tǒng)。無線系統(tǒng)的其它實例包括無線局域網(wǎng)(WLAN),例如IEEE 802.11標準(即, 802.11 (a), (b)或(g))。在部署包含正交頻分多路復用(OFDM)調(diào)制技術(shù)的多輸入多 輸出(MIMO)無線局域網(wǎng)中可實現(xiàn)對這些網(wǎng)絡的改善。已引入正EE 802.1 l(e)來改善 先前802.11標準的服務質(zhì)量(QoS)缺點?,F(xiàn)在正介紹802.11(n)規(guī)范,其定義高速無線網(wǎng)絡及用于與其一同操作的媒體接入 控制協(xié)議。先前802.11標準主要與數(shù)據(jù)轉(zhuǎn)移、瀏覽及電子郵箱類型的應用相關(guān)。 802.11(n)打算提供需要高通量、性能及服務質(zhì)量的穩(wěn)健的多媒體分配應用程序。出于 這些需要,產(chǎn)生對用于提供服務質(zhì)量及高速操作性的高效實施方案及技術(shù)的需要。因 此,所屬技術(shù)領(lǐng)域中需要高效的高速媒體接入控制。6發(fā)明內(nèi)容本文中所揭示的方面解決所屬技術(shù)領(lǐng)域中對高效的高速媒體接入控制的需要。根據(jù)一個方面,說明一種設備,其包括與包相關(guān)聯(lián)的第一數(shù)據(jù)結(jié)構(gòu)、包含來自所 述相關(guān)聯(lián)包的數(shù)據(jù)的第二數(shù)據(jù)結(jié)構(gòu),且其中所述第一數(shù)據(jù)結(jié)構(gòu)包含指示所述相關(guān)聯(lián) 包的長度的長度字段;指示所述相關(guān)聯(lián)包的序列號的序列號字段;指示所述第二數(shù)據(jù) 結(jié)構(gòu)在包緩沖器中的位置的第二數(shù)據(jù)結(jié)構(gòu)指針字段。根據(jù)另一方面,說明第一數(shù)據(jù)結(jié)構(gòu),其可與包含來自相關(guān)聯(lián)包的數(shù)據(jù)的第二數(shù)據(jù) 結(jié)構(gòu)一同操作且其包括指示所述相關(guān)聯(lián)包的長度的長度字段;指示所述相關(guān)聯(lián)包的 序列號的序列號字段;存儲所述第二數(shù)據(jù)結(jié)構(gòu)在存儲器中的位置的指針字段。根據(jù)另一方面,揭示一種方法,其用于在包緩沖器中的第一數(shù)據(jù)結(jié)構(gòu)中存儲第 一包的長度、所述包的序列號及所述包緩沖器中的第二數(shù)據(jù)結(jié)構(gòu)的第二包緩沖器位置, 且將來自所述第一包的數(shù)據(jù)存儲在由所述所存儲的第二包緩沖器位置識別的第二數(shù)據(jù) 結(jié)構(gòu)中。根據(jù)另一方面,揭示一種用于將多個包存儲在包緩沖器中的方法,每一包用相關(guān) 聯(lián)的第一數(shù)據(jù)結(jié)構(gòu)及一個或一個以上相關(guān)聯(lián)的第二數(shù)據(jù)結(jié)構(gòu)存儲,所述一個或一個以 上第二數(shù)據(jù)結(jié)構(gòu)形成為鏈接表,其中每一第一數(shù)據(jù)結(jié)構(gòu)包含指示所述相關(guān)聯(lián)包的長度 的長度字段、指示所述相關(guān)聯(lián)包的序列號的序列號字段及指示所述一個或一個以上第 二數(shù)據(jù)結(jié)構(gòu)中的第一者在包緩沖器中的位置的第二數(shù)據(jù)結(jié)構(gòu)指針字段;且其中每一第 二數(shù)據(jù)結(jié)構(gòu)包含來自所述相關(guān)聯(lián)包的數(shù)據(jù)及指示相應鏈接表中的下一第二結(jié)構(gòu)(如果 有)的下一第二數(shù)據(jù)結(jié)構(gòu)指針字段。根據(jù)另一方面,說明一種設備,其包括存儲裝置,其用于在包緩沖器中的第一數(shù)據(jù)結(jié)構(gòu)中存儲第一包的長度、所述包的序列號及所述包緩沖器中的第二數(shù)據(jù)結(jié)構(gòu)的第二包緩沖器位置;及存儲裝置,其用于將來自所述第一包的數(shù)據(jù)存儲在由所述所存 儲的第二包緩沖位置識別的第二數(shù)據(jù)結(jié)構(gòu)中。根據(jù)另一方面,說明一種設備,其包括與包相關(guān)聯(lián)的第一數(shù)據(jù)結(jié)構(gòu),及包含來 自所述相關(guān)聯(lián)包的數(shù)據(jù)的一個或一個以上第二數(shù)據(jù)結(jié)構(gòu);且其中所述第一數(shù)據(jù)結(jié)構(gòu)包 含指示所述相關(guān)聯(lián)包的長度的長度字段、指示所述相關(guān)聯(lián)包的序列號的序列號字段及 指示所述第二數(shù)據(jù)結(jié)構(gòu)中的一者在包緩沖器中的位置的第二數(shù)據(jù)結(jié)構(gòu)指針字段;及用 于將所述包存儲在所述第二數(shù)據(jù)結(jié)構(gòu)中的一者或一者以上中的裝置。根據(jù)另一方面,說明一種設備,其包括第一存儲器,其以第一模式配置以存儲 多個通信流中的每一者的一個或一個以上參數(shù)且以第二模式配置以存儲所述多個通信 流中的每一者的指針,每一指針指示與相應的通信流相關(guān)聯(lián)的位置;第二存儲器,其以所述第一模式配置以存儲所述多個通信流中的每一者的包且以所述第二模式配置以 存儲所述多個通信流中的每一者的多組一個或一個以上參數(shù),每一組一個或一個以上 參數(shù)存儲在由所述指針指示的與相應通信流相關(guān)聯(lián)的位置中;存儲器接口,其可與第7三存儲器一起操作,所述存儲器接口以所述第二模式配置以操作以存儲所述多個通信 流中的每一者的包;及處理器,其選擇所選擇的模式作為所述第一模式或所述第二模 式,根據(jù)所述所選擇的模式配置所述第一存儲器,根據(jù)所述所選擇的模式配置所述第 二存儲器且根據(jù)所述所選擇的模式配置所述存儲器接口 。根據(jù)另一方面,說明一種無線通信裝置,其包括第一集成電路,所述第一集成 電路包含第一存儲器,其以第一模式配置以存儲多個通信流中的每一者的一個或一 個以上參數(shù)且以第二模式配置以存儲所述多個通信流中的每一者的指針,每一指針指 示與相應的通信流相關(guān)聯(lián)的位置;第二存儲器,其以所述第一模式配置以存儲所述多 個通信流中的每一者的包且以所述第二模式配置以存儲所述多個通信流中的每一者的 多組一個或一個以上參數(shù),每一組一個或一個以上參數(shù)存儲在由所述指針指示的與相 應通信流相關(guān)聯(lián)的位置中;存儲器接口,其可與第三存儲器一起操作,所述存儲器接 口以所述第二模式配置以操作以存儲所述多個通信流中的每一者的包;及處理器,其 選擇所選擇的模式作為所述第一模式或所述第二模式,根據(jù)所述所選擇的模式配置所 述第一存儲器,根據(jù)所述所選擇的模式配置所述第二存儲器,且根據(jù)所述所選擇的模 式配置所述存儲器接口;及第二集成電路,其包含存儲所述多個通信流中的每一者的 包的第三存儲器,其與所述第一集成電路的存儲器接口耦合。根據(jù)另一方面,說明一種無線通信裝置,其包括第一存儲器,其存儲多個通信 流中的每一者的一個或一個以上參數(shù);及第二存儲器,其存儲所述多個通信流中的每 一者的包,包含與包相關(guān)聯(lián)的第一數(shù)據(jù)結(jié)構(gòu);及包含來自所述相關(guān)聯(lián)包的數(shù)據(jù)的第二 數(shù)據(jù)結(jié)構(gòu);且其中所述第一數(shù)據(jù)結(jié)構(gòu)包含指示所述相關(guān)聯(lián)包的長度的長度字段,指示 所述相關(guān)聯(lián)包的序列號的序列號字段及指示所述第二數(shù)據(jù)結(jié)構(gòu)在所述第二存儲器中的 位置的第二數(shù)據(jù)結(jié)構(gòu)指針字段。根據(jù)另一方面,說明一種無線通信裝置,其包括第一存儲器,其存儲多個通信 流中的每一者的指針,每一指針指示與相應的通信流相關(guān)聯(lián)的位置;及第二存儲器, 其存儲所述多個通信流中的每一者的多組一個或一個以上參數(shù),每一組一個或一個以 上參數(shù)存儲在由所述指針指示的與相應通信流相關(guān)聯(lián)的位置中;及第三存儲器,其存 儲所述多個通信流中的每一者的包。根據(jù)另一方面,其說明一種設備,其包括選擇裝置,其用于選擇第一或第二模 式;配置裝置,其用于以第一模式配置第一存儲器以存儲多個通信流中的每一者的一 個或一個以上參數(shù);配置裝置,其用于以第二模式配置所述第一存儲器以存儲所述多 個通信流中的每一者的指針,每一指針指示與相應的通信流相關(guān)聯(lián)的位置;配置裝置, 其用于以所述第一模式配置第二存儲器以存儲所述多個通信流中的每一者的包;配置 裝置,其用于以所述第二模式配置所述第二存儲器以存儲所述多個通信流中的每一者 的多組一個或一個以上參數(shù),每一組一個或一個以上參數(shù)存儲在由所述指針指示的與 相應通信流相關(guān)聯(lián)的位置中;及配置裝置,其用于以所述第二模式配置可與第三存儲 器一起操作的存儲器接口以操作以存儲所述多個通信流中的每一者的包。根據(jù)另一方面,說明計算機可讀媒體,其可操作以執(zhí)行選擇第一或第二模式; 以第一模式配置第一存儲器以存儲多個通信流中的每一者的一個或一個以上參數(shù);以 第二模式配置所述第一存儲器以存儲所述多個通信流中的每一者的指針,每一指針指 示與相應的通信流相關(guān)聯(lián)的位置;以所述第一模式配置第二存儲器以存儲所述多個通 信流中的每一者的包;以所述第二模式配置所述第二存儲器以存儲所述多個通信流中 的每一者的多組一個或一個以上參數(shù),每一組一個或一個以上參數(shù)存儲在由所述指針 指示的與相應通信流相關(guān)聯(lián)的位置中;及以所述第二模式配置可與第三存儲器一起操 作的存儲器接口以操作以存儲所述多個通信流中的每一者的包。
圖1是能夠支持多個用戶的無線通信系統(tǒng)的總框圖;圖2描繪可被配置為接入點或用戶終端的無線通信裝置的方面;圖3描繪針對用戶終端配置的媒體接入控制處理器的實施例;圖4描繪針對接入點配置的媒體接入控制處理器的實施例;圖5描繪無線通信裝置的更加詳細實例性實施例;圖6描繪包緩沖器的實例性實施例;圖7進一步圖解說明實例性包緩沖器;圖8描繪可部署于媒體接入控制處理器中的額外組件;圖9描繪用于向包緩沖器中寫入包并創(chuàng)建隊列的方法的實例性實施例;圖10圖解說明主機到無線局域網(wǎng)子系統(tǒng)的實例性實施例;圖11描繪傳輸流狀態(tài)表的內(nèi)容的實例性實施例;圖12描繪用于執(zhí)行傳入管控的方法的實例性實施例;圖13圖解說明傳入管控的方法的實例性實施例;圖14描繪先進先出存儲器的實例性實施例;圖15圖解說明將媒體接入控制服務數(shù)據(jù)單元分為一個或一個以上分段的實例性過程;圖16結(jié)合兩個或兩個以上存儲器寫入描繪仲裁器的概念性配置; 圖17描繪經(jīng)配置以使用較小固定組的標準EDCA隊列支持相對大的多個EDCA 隊列的無線通信裝置的一部分的實例性實施例;圖18描繪圖解說明下層媒體接入控制核心的各種組件的實例性實施例;圖19描繪下層媒體接入控制核心處理器的區(qū)段的實例性詳細實施例;圖20圖解說明實例性互鎖;圖21描繪鏈路識別符的實例性實施例;圖22描繪下層媒體接入控制核心的實例性實施例的額外組件; 圖23描繪速率有限狀態(tài)機的實例性實施例;圖24顯示實例性遺留協(xié)議引擎;圖25顯示與到物理層的概念性鏈路連接的實例性遺留協(xié)議引擎;圖26描繪進一步詳述傳輸包的媒體接入控制處理的實例性實施例;圖27描繪經(jīng)聚合媒體接入控制協(xié)議數(shù)據(jù)單元的實例性格式;圖28描繪圖解說明下層媒體接入控制核心的接收組件的實例性實施例;圖29描繪針對用戶終端配置的硬件表的實例性實施例;圖30描繪經(jīng)配置以用于接入點或超級臺的硬件表的實例性實施例;圖31描繪接收流狀態(tài)表的實例性實施例;圖32描繪用于以各種配置來配置硬件表及存儲器的方法的實例性實施例; 圖33描繪經(jīng)配置以支持接收包陣列的包緩沖器的一部分的替代配置; 圖34圖解說明用于無線網(wǎng)絡的實例性端對端優(yōu)先級方案,其包括傳入管控及基 于優(yōu)先級的越區(qū)切換;圖35描繪圖解說明越區(qū)切換決策塊及越區(qū)切換引擎的操作的方法的實例性實施例;圖36圖解說明用于執(zhí)行越區(qū)切換決策的方法的實例性實施例; 圖37圖解說明用于處理所接收的包的方法的實例性實施例;圖38圖解說明用于處理一個或一個以上越區(qū)切換隊列的方法的實例性實施例;圖39描繪確定可進行越區(qū)切換的流的方法的實例性實施例;圖40圖解說明實例性決策狀態(tài)表;圖41圖解說明越區(qū)切換隊列的實例性實施例;圖42圖解說明用于執(zhí)行越區(qū)切換的方法的實例性實施例;圖43圖解說明用于在越區(qū)切換狀態(tài)表中將包緩沖器加索引的實例性變量;圖44描繪用于響應于立刻塊確認請求的方法的實例性實施例;圖45描繪用于響應于塊確認的方法的實例性實施例;圖46描繪用于在重傳過程中使用乒-乓節(jié)點陣列高速緩存器的方法的實例性實施例;圖47描繪用于執(zhí)行非調(diào)度自動省電遞送的方法的實例性實施例; 圖48圖解說明部署一個以上媒體接入控制處理器的替代實施例; 圖49描繪包括兩個媒體接入控制處理器的無線通信裝置的實例性實施例,所述媒體接入控制處理器包括第一媒體接入控制處理器及包含于微處理器中的第二媒體接入控制處理器;圖50圖解說明多流包緩沖及排隊的方面; 圖51圖解說明多流包緩沖及排隊的方面;圖52圖解說明用于高速媒體接入控制的存儲器管理的方面; 圖53圖解說明多流媒體接入控制的方面; 圖54圖解說明多流媒體接入控制的方面;圖55圖解說明用于高速媒體接入控制的多個流多路復用的方面; 圖56圖解說明高速通信系統(tǒng)中的聚合的方面;
圖57圖解說明用作服務中隊列及等待中隊列的影子高速緩存器的方面; 圖58圖解說明傳入管控的方面; 圖59圖解說明傳入管控的方面; 圖60圖解說明傳入管控的方面;及
圖61圖解說明用于低延遲響應的媒體接入控制的方面;
具體實施例方式
下文將詳述各個方面,可在任一既定實施例中組合所述方面中的一者或一者以 上。本文中所揭示的方面通過非常高的位率無線局域網(wǎng)物理層(或使用新浮現(xiàn)的傳輸 技術(shù)的類似應用)來支持高效率操作。實例性無線局域網(wǎng)可以兩個頻帶模式20 MHz 及40 MHz操作。其支持超過100Mbps (百萬位/秒)的位率,包括20MHz的信道帶 寬中的高達300 Mbps及40 MHz的信道帶寬中的高達600 Mbps。還可支持各種替代 無線局域網(wǎng),包括那些具有兩個以上頻帶模式及任何數(shù)量的所支持位率的無線局域網(wǎng)。
各個方面保留遺留無線局域網(wǎng)系統(tǒng)的分布式協(xié)調(diào)操作的簡單性及強健,此種系統(tǒng) 的實例可在802.11 (a-g)中找到。可在維持與此種遺留系統(tǒng)的后向兼容性的同時實現(xiàn)各 種實施例的優(yōu)點。(注意,在以下說明中,將802.11系統(tǒng)說明為實例性遺留系統(tǒng)。所 屬技術(shù)領(lǐng)域的技術(shù)人員將認識到,所述改善也可與替代系統(tǒng)及標準兼容。)
本文中所說明的一個或一個以上實例性方面是在無線數(shù)據(jù)通信系統(tǒng)的上下文中 加以論述。盡管此上下文中的使用是有利的,但本揭示內(nèi)容的不同實施例也可并入到 不同的環(huán)境或配置中。大體來說,本文中所說明的各種系統(tǒng)可使用由軟件控制的處理 器、集成電路或離散邏輯形成。本申請案通篇所提及的數(shù)據(jù)、指令、命令、信息、信 號、符號及芯片有利地由電壓、電流、電磁波、磁場或粒子、光場或粒子或其一組合 表示。此外,每一框圖中O所示的方塊可表示硬件或方法步驟。方法步驟可在不背離 本揭示內(nèi)容的范圍的情況下互換。本文所用詞語"實例性"意指"用作實例、示例或 例示"。本文中說明為"實例性"的任一 "實施例"未必解釋為優(yōu)選或優(yōu)于其它實施 例。
圖1圖解說明系統(tǒng)100的實例性實施例,系統(tǒng)IOO包含連接到一個或一個以上用 戶終端(UT) 106A-N的接入點(AP) 104。根據(jù)802.11技術(shù),在此文檔中,所述接入點 及用戶終端還稱作臺或STA。本文中所說明的技術(shù)及方面還應用于其它類型的系統(tǒng)(實 例包括上文所詳述的蜂窩式標準)。如本文中使用,術(shù)語基站可與術(shù)語接入點互換使 用。術(shù)語用戶終端可與術(shù)語用戶設備(UE)、訂戶單元、訂戶站、接入終端、遠程終端、 移動臺或所屬技術(shù)領(lǐng)域中已知的其它對應術(shù)語互換使用。術(shù)語移動臺涵蓋固定無線應 用。還要注意,用戶終端106可彼此直接進行通信。由802.11(e)引入的直接鏈路協(xié)議 (DLP)允許STA將幀直接轉(zhuǎn)發(fā)到基本服務集(BSS)內(nèi)的另一 目的地STA(由同一接入點 控制)。在各種實施例中,如在所屬技術(shù)領(lǐng)域中已知,不需要接入點。舉例來說,獨 立BSS(IBSS)可通過STA的任一組合形成??尚纬捎脩艚K端的特定網(wǎng)絡,其使用所屬 技術(shù)領(lǐng)域中已知的多種通信格式中的任一者經(jīng)由無線網(wǎng)絡120彼此進行通信。
接入點與用戶終端經(jīng)由無線局域網(wǎng)(WLAN) 120進行通信。在下文所詳述的實 施例中,無線局域網(wǎng)120是高速多輸入多輸出OFDM系統(tǒng)。然而,無線局域網(wǎng)120 可以是任何無線LAN。視情況,接入點104經(jīng)由網(wǎng)絡102與任何數(shù)量的外部裝置或過 程進行通信。網(wǎng)絡102可以是因特網(wǎng)、內(nèi)部網(wǎng)絡或任何其它有線、無線或光學網(wǎng)絡。 連接110將物理層信號從網(wǎng)絡攜載到接入點104。裝置或過程可連接到網(wǎng)絡102或作 為無線局域網(wǎng)上的用戶終端(或經(jīng)由與其的連接)??蛇B接到網(wǎng)絡102或無線局域網(wǎng) 120的裝置的實例包括電話、個人數(shù)字助理(PDA)、各種類型的計算機(膝上型計 算機、個人計算機、工作臺、任一類型的終端)、例如攝像機、攝像放像機、網(wǎng)絡攝 影機等視頻裝置及實際上任一其它類型的數(shù)據(jù)裝置。過程可包括語音、視頻、數(shù)據(jù)通 信等。各種數(shù)據(jù)串流可具有不同的傳輸要求,可通過使用不同的服務質(zhì)量(QoS)技術(shù)滿 足所述不同的傳輸要求。
系統(tǒng)100可部署有集中式接入點104。所有用戶終端106在一個實施例中與所述 接入點進行通信。在替代實施例中,如所屬技術(shù)領(lǐng)域中的技術(shù)人員將明了,可通過修 改系統(tǒng)來提供兩個用戶終端之間的直接對等通信,其實例圖解說明于下文中??蓪⑷?何臺設立為實施例中的支持指定的接入點的指定接入點。接入可由接入點管理或可為 特定的(即,基于爭用)。
在一個實施例中,接入點104提供以太網(wǎng)自適應。在此情況下,除所述接入點以 外可部署IP路由器以提供到網(wǎng)絡102的連接(細節(jié)未顯示)。可經(jīng)由無線局域網(wǎng)子網(wǎng) 絡在所述路由器與用戶終端106之間轉(zhuǎn)移以太網(wǎng)幀(下文詳述)。以太網(wǎng)自適應及連 接性在所屬技術(shù)領(lǐng)域中眾所周知。
在替代實施例中,接入點104提供IP自適應。在此情況下,接入點充當連接的 用戶終端組的網(wǎng)關(guān)路由器(細節(jié)未顯示)。在此情況下,IP數(shù)據(jù)報可由接入點104路 由到用戶終端106及從用戶終端106路由。IP自適應及連接性在所屬技術(shù)領(lǐng)域中眾 所周知。
圖2描繪無線通信裝置的方面,其可配置為接入點104或用戶終端106。無線通 信裝置是實例性STA,其適于部署于系統(tǒng)100中。
處理器210經(jīng)部署以執(zhí)行所述無線通信裝置的各種任務,包括用于執(zhí)行通信的任 務。在此實例中,處理器210實施在本文中稱作"固件"任務的任務。為簡明起見, 在下文所詳述的實施例中,對固件的提及包括由處理器210執(zhí)行的此種任務以及結(jié)合 各種其它組件或塊執(zhí)行的任務。處理器210可以是通用微處理器、數(shù)字信號處理器 (DSP)或?qū)S锰幚砥?。處理?10可與專用硬件連接,以幫助執(zhí)行各種任務(細節(jié)未顯示)。各種應用程序可在外部連接的處理器(例如,外部連接的計算機或經(jīng)由網(wǎng) 絡連接)上運行,或可在無線通信裝置104或104內(nèi)的額外處理器(未顯示)上運行, 或可在處理器210自身上運行。
圖中顯示處理器210與存儲器220連接,存儲器220可用于存儲數(shù)據(jù)以及用于執(zhí) 行本文中所說明的各種程序及方法的指令及許多其它。所屬技術(shù)領(lǐng)域的技術(shù)人員將認 識到,存儲器220可由一個或一個以上可整體或部分地嵌入于處理器220內(nèi)的不同類 型的存儲器組件構(gòu)成。圖中顯示I/0 230連接到處理器210, I/O 230可包含一個或一 個以上輸入及/或輸出功能,其實例在所屬技術(shù)領(lǐng)域中眾所周知。
媒體接入控制(MAC)處理器240連接到處理器210。在下文所詳述的許多實施例 中,媒體接入控制處理器240執(zhí)行包的高速處理,gp,以線速度。大體來說,較低速 率處理或"固件"任務將由處理器210結(jié)合"線速度"處理執(zhí)行,所述"線速度"處 理通常由媒體接入控制處理器240處置。媒體接入控制處理器240遞送數(shù)據(jù)以傳輸?shù)?物理層(PHY) 260以在無線局域網(wǎng)120上傳輸,且處理在無線局域網(wǎng)120上接收的來 自物理層260的數(shù)據(jù)。處理器210還可接收物理層數(shù)據(jù)并處理數(shù)據(jù)以形成傳出流的包 (在下文所詳述的實例中,通常結(jié)合媒體接入控制處理器240)。遞送到物理層260 的數(shù)據(jù)的格式及從物理層260接收的數(shù)據(jù)的格式將依據(jù)無線通信裝置104或106所支 持的通信系統(tǒng)或系統(tǒng)的規(guī)范。
媒體接入控制處理器240根據(jù)網(wǎng)絡102的物理層要求經(jīng)由連接IIO接收及傳輸數(shù) 據(jù)??蛇x網(wǎng)絡處理器280可經(jīng)部署以根據(jù)網(wǎng)絡102的物理層在可選網(wǎng)絡連接110上接 收及傳輸。所述網(wǎng)絡處理器可使用任何類型的數(shù)據(jù)格式向媒體接入控制處理器240接 收及遞送數(shù)據(jù)。在下文中進一步詳述實例性數(shù)據(jù)包(這些及替代數(shù)據(jù)格式將對于所屬 技術(shù)領(lǐng)域的技術(shù)人員為眾所周知)。在本文中可將這些數(shù)據(jù)稱作流。流可具有不同的 特性并可基于與流相關(guān)聯(lián)的應用類型而要求不同的處理。舉例來說,視頻或語音可表 征為低延遲流(視頻通常比語音具有更高的通量要求)。許多數(shù)據(jù)應用對延遲較不敏 感,但可具有更高的數(shù)據(jù)整體性要求(即,語音可容許一定的包丟失,文件傳輸則通 常不容許包丟失)。
媒體接入控制處理器240接收流數(shù)據(jù)(其過程稱作傳入),且將所述流數(shù)據(jù)包存 儲在包緩沖器250中。媒體接入控制處理器240檢索將在無線局域網(wǎng)120上傳輸?shù)陌?(稱作傳輸或TX),且將其遞送到物理層260。在無線局域網(wǎng)120上接收的包(稱 作接收或RX)被從物理層260遞送到媒體接入控制處理器240,媒體接入控制處理 器240將所述包存儲在包緩沖器250中。媒體接入控制處理器240從包緩沖器250檢 索將在網(wǎng)絡連接110 (或可選網(wǎng)絡處理器280)上遞送的接收包,此過程稱作傳出。實 例性包緩沖器250實施例詳述于下文中。下文中所詳述的各種實施例識別用于執(zhí)行傳 入、傳輸、接收及傳出的高速包處理的方面。
雖然通過網(wǎng)絡110識別傳入及傳出,且通過無線局域網(wǎng)120識別接收及傳輸,但 在所顯示的實例中,媒體接入控制處理器240可經(jīng)適當部署以通過任何傳出或傳入功能以及任何類型的接收或傳輸功能的操作。如所屬技術(shù)領(lǐng)域中所熟知,流分類可由驅(qū) 動器執(zhí)行,所述驅(qū)動器可包括于處理器210中或網(wǎng)絡處理器280中或任何其它適合組 件中。各種驅(qū)動器可經(jīng)部署以允許各種數(shù)據(jù)類型、格式、流類別等的媒體接入控制處 理。
還可在接入點與各個用戶終端之間傳送與無線局域網(wǎng)相關(guān)的控制及信令(即, 802.11或其它標準)。封裝于物理層(PHY)協(xié)議數(shù)據(jù)單元(PPDU)中的媒體接入控制協(xié) 議數(shù)據(jù)單元(MPDU)被遞送到物理層260及從物理層260接收。媒體接入控制協(xié)議數(shù) 據(jù)單元還可稱作幀。當單個媒體接入控制協(xié)議數(shù)據(jù)單元被封裝于單個物理層協(xié)議數(shù)據(jù) 單元中時,有時所述物理層協(xié)議數(shù)據(jù)單元可稱作幀。替代實施例可采用任何轉(zhuǎn)換技術(shù), 且術(shù)語在替代實施例中可不同??沙鲇诟鞣N目的從物理層260返回對應于各個媒體接 入控制識別符的反饋。反饋可包含任何物理層信息,包括可支持的信道速率(包括多 播以及單播業(yè)務/包)、調(diào)制格式及各種其它參數(shù)。
物理層260可以是任何類型的收發(fā)器(且可包括接收器與傳輸器兩者,但在替代 實施例中可部署其中任一者)。在一個實施例中,物理層260包括正交頻分多路復用 (OFDM)收發(fā)器,其可通過多輸入多輸出(MIMO)或多輸入單輸出(MISO)接口操作。
多輸入多輸出及多輸入單輸出對于所屬技術(shù)領(lǐng)域中的技術(shù)人員眾所周知。各種實 例性OFDM、多輸入多輸出及多輸入單輸出收發(fā)器詳述于2003年8月27提出申請且 標題為"寬帶多輸入單輸出及多輸入多輸出系統(tǒng)的獨立于頻率的空間處理 (FREQUENCY-INDEPENDENT SPATIAL-PROCESSING FOR WIDEBAND MISO AND MIMO SYSTEMS)"的第10/650,295號共同待決美國專利申請案中,所述專利 申請案受讓予本申請案的受讓人,并以引用的方式并入本文中。替代實施例可包括單 輸入多輸出(SIMO)或單輸入單輸出(SISO)系統(tǒng)。
圖中顯示物理層260與天線270 A-N連接。在各種實施例中可支持任何數(shù)量的天 線。天線270可用于在無線局域網(wǎng)120上傳輸及接收。
物理層260可包含與一個或一個以上天線270中的每一者通信的空間處理器。所 述空間處理器可單獨地處理每一天線的傳輸數(shù)據(jù),或共同地處理所有天線上的所接收 信號。獨立處理的實例可基于信道估計、來自用戶終端的反饋、信道反轉(zhuǎn)或所屬技術(shù) 領(lǐng)域中巳知的各種其它技術(shù)。使用各種空間處理技術(shù)中的任一者執(zhí)行所述處理。此類 型的各種收發(fā)器可使用波束成形、波束導引、特征導引或其它空間技術(shù)傳輸以增加到 既定用戶終端及來自所述既定用戶終端的通量。在某些其中傳輸OFDM符號的實施例 中,空間處理器可包含用于處理每一OFDM子載波(還稱作音調(diào))或頻段的子空間處 理器。
在實例性系統(tǒng)中,接入點(或任何STA,例如用戶終端)可具N個天線,且實例 性用戶終端可具有M個天線。因此,接入點與用戶終端的天線之間存在M x N個路徑。 所屬技術(shù)領(lǐng)域中已知用于使用這些多個路徑來改善通量的各種空間技術(shù)。在空間時間 傳輸分集(STTD)系統(tǒng)(在本文中還稱作"分集")中,傳輸數(shù)據(jù)被格式化及編碼且被
14作為單個數(shù)據(jù)串流跨越所有天線而發(fā)送。由于有M個傳輸天線及N個接收天線,因 此可存在可形成的MIN (M,N)個獨立信道??臻g多路復用利用這些獨立路徑且可在
每一獨立路徑上傳輸不同的數(shù)據(jù),以提高傳輸速率。
已知用于學習或適應接入點與用戶終端之間的信道特征的各種技術(shù)??蓮拿恳粋?輸天線傳輸唯一導頻。在此情況下,在每一接收天線處接收所述導頻并測量所述導頻。 然后,可將信道狀態(tài)信息反饋返回到傳輸裝置以供用于傳輸??蓪?jīng)測量的信道矩陣 執(zhí)行特征分解來確定信道特征模式。 一種避免在接收器處對信道矩陣執(zhí)行特征分解的 替代技術(shù)使用導頻及數(shù)據(jù)的特征導引來簡化接收器處的空間處理。
因此,依據(jù)當前信道條件,不同的數(shù)據(jù)速率可用于傳輸?shù)秸麄€系統(tǒng)中的不同用戶
終端。物理層260可基于正用于接入點與用戶終端之間的物理鏈路的任何空間處理來 確定可支持的速率??蓪⒋诵畔⒎答伝厝ヒ杂糜诿襟w接入控制處理。
一方面,提供單個專用集成電路(ASIC)以支持包括接入點與用戶終端兩者的無線 通信裝置中的媒體接入控制處理。圖3及4概念性地圖解說明經(jīng)配置以分別用于用戶 終端106及接入點104的此種專用集成電路310。
在圖3中,顯示媒體接入控制處理器專用集成電路310出于用于用戶終端106的 實例性配置。在此配置中,上文所說明的媒體接入控制處理器240連接到硬件表320。 除其它以外,硬件表320包含在所述臺中現(xiàn)用的每一流的參數(shù)。因此,在各種媒體接 入控制處理功能(其實例詳述于下文中)期間,媒體接入控制處理器240接入硬件表 320以檢索每流參數(shù)325。媒體接入控制處理器240還連接到同步隨機存取存儲器330。 在此配置中,同步隨機存取存儲器330適于執(zhí)行包緩沖器250的功能。媒體接入控制 處理器專用集成電路310可包含各種其它組件,其實例詳述于下文中。注意,在此實 施例中,包緩沖器250駐存于媒體接入控制處理器310中。注意,僅出于清晰的目的 將硬件表320顯示為單獨的塊。在各種實施例中,硬件表320與同步隨機存取存儲器 330兩者均可包括于媒體接入控制處理器240中。
圖4描繪經(jīng)配置而用作接入點的媒體接入控制處理器專用集成電路310。此配置 也可用于能夠支持較大數(shù)量的流及/或較高通量的臺,即所謂的超級臺。在下文所詳述 的實例中,所述超級臺及接入點配置可簡單地稱作接入點或接入點配置。在此實施例 中,媒體接入控制處理器專用集成電路310包含媒體接入控制處理器240、硬件表320 及同步隨機存取存儲器330,如圖3中所示。此外,僅出于圖解說明的目的,單獨顯 示這些組件,且這些組件中的一者或一者以上可包括于媒體接入控制處理器240中。 在此配置中,硬件表320不再包含用于媒體接入控制處理的所有每流參數(shù)。在此情況 下,每流指針335包含于硬件表320中,所述指針中的每一者指向相應的相關(guān)聯(lián)每流 參數(shù)325,所述每流參數(shù)存儲于同步隨機存取存儲器330中。注意,如果需要,某些 每流參數(shù)也可存儲于硬件表320中。注意,包含所顯示的相同硬件組件的相同處理器 專用集成電路310可適于任一配置以支持不同的需要。在此實例中,同步隨機存取存 儲器330改變用途,從STA模式中的包緩沖器250變?yōu)榻尤朦c模式中的每流參數(shù)325
15的儲存庫。因此,媒體接入控制處理器240接入硬件表320以獲得參數(shù),且依據(jù)所述 配置將檢索那些參數(shù)或跟隨間接層從同步隨機存取存儲器330中檢索那些參數(shù)。固件 (舉例來說,由處理器210執(zhí)行)可配置媒體接入控制處理器專用集成電路310的各 種組件以以第一模式(臺模式)或第二模式(接入點模式)執(zhí)行。用于選擇模式的各 種技術(shù)在所屬技術(shù)領(lǐng)域中眾所周知。舉例來說,寄存器設定、模式選擇信號及類似技 術(shù)可用于向一個或一個以上組件指示當前的配置狀態(tài)。此外,固件可依據(jù)所選擇的配 置以不同方式填注硬件表320及同步隨機存取存儲器330。
繼續(xù)參照圖4,可看出外部存儲器(此實例中的同步動態(tài)隨機存取存儲器340) 包括在內(nèi)以執(zhí)行包緩沖器250的功能。因此,在接入點模式中,可通過將同步隨機存 取存儲器330用于存儲每流參數(shù)來支持比單獨使用硬件表320可支持的流數(shù)量要大的 流數(shù)量(假設硬件表320小于同步隨機存取存儲器330)。同步隨機存取存儲器330 的大小可經(jīng)選擇以適應臺模式中的無線通信裝置的包緩沖器的需要。在一個實施例中, 此大小還適于存儲接入點所支持的流數(shù)量所需要的所有每流參數(shù)。在替代實施例中, 可確定同步隨機存取存儲器330的大小以支持較大數(shù)量的流,此可需要比所述包緩沖 器否則所需要的大小要大的同步隨機存取存儲器大小。同步動態(tài)隨機存取存儲器340 可經(jīng)選擇以容納所述接入點所支持的流數(shù)量。所屬技術(shù)領(lǐng)域中的技術(shù)人員將認識到如 何選擇硬件表320、同步隨機存取存儲器330及同步動態(tài)隨機存取存儲器340的適合 大小。
因此,單個媒體接入控制處理器專用集成電路310可經(jīng)設計以支持多種模式???在每一模式中重新使用硬件組件以提供不同的功能。使用硬件表及包緩沖器的更詳細 實例圖解說明于下文中。部署單個媒體接入控制處理器專用集成電路310 (具有如圖 3中所描繪的那樣被配置的能力)允許更小的大小及更低的成本。相同媒體接入控制 處理器專用集成電路310也可通過添加外部同步動態(tài)隨機存取存儲器340及重新配置 媒體接入控制處理器專用集成電路310而用于更高性能的裝置(例如,接入點或超級 臺)中??梢罁?jù)既定配置的性能需要來選擇各種不同大小的同步動態(tài)隨機存取存儲器 340。
圖5描繪無線通信裝置(例如,STA104或接入點106)的更詳細實例性實施例。 在此實例中,將使用一個媒體接入控制處理器說明(粗略說明)各種實例性包特征的 媒體接入控制處理。在替代實施例中,可將用于不同類型的包的媒體接入控制處理功 能分為兩個或兩個以上媒體接入控制處理器(下文參照圖48及49詳述實例性替代實 施例)。
如以前,處理器210經(jīng)部署以執(zhí)行固件任務。圖解說明一實例性組的支持功能, 其在此種部署中是典型的。所屬技術(shù)領(lǐng)域中的技術(shù)人員將清楚各種替代實施例。處理 器210經(jīng)由指令總線506與指令同步隨機存取存儲器502及引導只讀存儲器504進行 通信??墒褂眠@些存儲器來執(zhí)行用于處理器210上的固件處理的所熟知指令存儲及檢 索。通過連接到總線514的組件來圖解說明實例性I/0功能及支持功能。在此實例中,定時器508可經(jīng)部署以執(zhí)行各種定時功能。可部署通用異步接收器傳輸器(UART) 510。 I/O的另一實例是12C接口 512。在此實例中,各種輔助組件經(jīng)由總線514連接到向量 中斷控制器(VIC)516,所述向量中斷控制器連接到處理器210。因此,定時中斷、I/O 中斷及相關(guān)處理可由處理器210根據(jù)所部署的相關(guān)功能執(zhí)行。所屬技術(shù)領(lǐng)域中熟知用 于與各種類型的處理器連接的各種替代功能且所屬技術(shù)領(lǐng)域中的技術(shù)人員將知道所述 各種替代功能。橋接器518將附裝到總線514的組件與連接到總線520的其它組件連 接。因此,連接到總線520的各種組件(包括處理器210)可將數(shù)據(jù)傳送到總線514 上以遞送到那些相應組件或從那些相應組件接收。在此實例中,總線仲裁器522經(jīng)部 署以用于控制到總線520的接入。直接存儲器存取控制器(附裝到總線526的額外組 件)包括直接存儲器存取(DMA)控制器524、數(shù)據(jù)同步隨機存取存儲器526及總線從 屬接口 528??偩€從屬接口 528提供總線520與格式化邏輯及多路復用器570之間的 管道,將在下文中進一步詳細說明所述管道。因此,可通過上文參照圖2所說明的各 種組件(例如,處理器210、存儲器220及I/0 230)概念性地識別所說明的組件。
圖5的組件(除同步動態(tài)隨機存取存儲器340以外)形成媒體接入控制處理器專 用集成電路310的一個實例性實施例的部分,例如上文在圖3及4中所說明。這些組 件可經(jīng)配置以用作STA106配置(詳述于圖3中)或接入點或超級臺配置(詳述于圖 4中)。根據(jù)先前論述,可看出,圖5中所詳述的各種組件可形成媒體接入控制處理 器240及硬件表320的部分。可以不同模式配置所說明的各種組件以執(zhí)行不同的功能。 各種組件(例如,處理器210及實例性輔助組件502-528)可以或可不并入到媒體接 入控制處理器專用集成電路310的實例性實施例中。
注意,處理器210及所顯示的各種其它組件可經(jīng)由總線520與所述媒體接入控制 處理器的組件進行通信。在此實例中,所述媒體接入控制處理器包含兩個主要功能, 包括下層媒體接入控制核心540及主機到無線局域網(wǎng)子系統(tǒng)(其顯示為H2W處理器 530)。下文進一步詳述這些組件的實例性實施例。組件隔離為各個部分僅為一個實例, 所屬技術(shù)領(lǐng)域中的技術(shù)人員將容易地如根據(jù)本文中的教示將清楚的那樣部署替代配置 中所說明的各種過程及功能。
可經(jīng)由連接到多路復用器554的同步隨機存取存儲器接口 558接入同步隨機存取 存儲器560。多路復用器554選擇到存儲器仲裁器556的連接或到存儲器仲裁器552 的連接作為到同步隨機存取存儲器接口 558的輸入。存儲器仲裁器552從各種源(包 括總線520以及總線550上的組件)接收對到同步隨機存取存儲器560的接入的請求 及仲裁。在此實例中,總線550提供下層媒體接入控制核心540與存儲器(同步隨機存 取存儲器)560之間的直接耦合。注意,那些組件之間還存在經(jīng)由總線520的路徑。在 此實例中,提供額外總線550以保證同步隨機存取存儲器560從下層媒體接入控制核 心540檢索時間敏感數(shù)據(jù)及向下層媒體接入控制核心540存儲時間敏感數(shù)據(jù)的接入性 能。注意,如圖3及4中所說明,同步隨機存取存儲器560在一個配置中可用作包緩 沖器而在另一配置中用作每流參數(shù)的儲存庫。下層媒體接入控制核心540連接到媒體接入控制/物理層接口 545,所述接口可用 于遞送供傳輸?shù)轿锢韺?60的包及處理來自物理層260的所接收包。下層媒體接入控 制核心540內(nèi)的組件的實例性實施例進一步詳述于下文中。
H2W處理器530處理傳入包,將在下文中進一步詳細說明實例性實施例。在一 個實施例中,可將傳入從傳入包的處理解耦。在此情況下,可以線速度(即,以傳入 速率)將傳入包寫入到包緩沖器中。通過從所述包緩沖器讀取那些包,那些包的處理 可稍后發(fā)生。此解耦允許處理速率不同于傳入線速度速率。此方法的缺點是存在到所 述包緩沖器的額外讀取及寫入,因為包必須被讀取、處理及放回到所述包緩沖器中以 等待傳輸。在某些實施例中可接受此存儲器帶寬損失。圖解說明于以下實例中的替代 實施例提供傳入包的線內(nèi)處理。在這些實例性實施例中,媒體接入控制處理經(jīng)設計以 允許每一傳入包被格式化以用線速度傳輸,其中僅存在到包緩沖器的單個寫入(后跟
包的傳輸時間到達時的讀取)。在第二種情況下,與第一種情況相比,存儲器帶寬上 的負擔降低。所屬技術(shù)領(lǐng)域中的技術(shù)人員將容易地在各種實施例中用本文中所教示的 各種方面修改任一方法。
同步動態(tài)隨機存取存儲器340在此實施例中顯示為媒體接入控制處理器專用集成 電路310外部的組件。此與以上圖3及4的論述保持一致,其中可向需要支持較大數(shù) 量的流(結(jié)果是更加需要增大的包緩沖器空間,例如接入點或超級臺)的無線通信裝 置提供單個較低成本的媒體接入控制處理器專用集成電路310及可選外部存儲器,例 如同步動態(tài)隨機存取存儲器340??山?jīng)由同步動態(tài)隨機存取存儲器接口 562存取同步 動態(tài)隨機存取存儲器340,同步動態(tài)隨機存取存儲器接口 562耦合到存儲器仲裁器 556。在替代實施例中,同步動態(tài)隨機存取存儲器340也可并入到媒體接入控制處理 器專用集成電路310中。圖5中所示的組件分配僅為一個實例。所顯示的組件中的任 一者可合并到單個專用集成電路上或可并入到一個或一個以上外部裝置中,此取決于 每一專用集成電路的面積要求及所需要的性能。
在此實例中,通過兩個實例性外部接口中的一者來執(zhí)行包的傳入及傳出。所屬技 術(shù)領(lǐng)域中的技術(shù)人員將認識到,除這些接口以外或替代這些接口,可部署替代接口。 在此實例中,串行數(shù)字輸入輸出接口 582及PCI接口 584經(jīng)部署以接收包并將所述包 越區(qū)切換到與那些接口中的一者或一者以上通信的外部(或內(nèi)部)裝置。經(jīng)由多路復 用器580選擇串行數(shù)字輸入輸出接口 582及PCI接口 584。
為適應不同速度的接口,以及提供存儲及處理傳入及傳出包的不同要求,先進先 出存儲器、多路復用器及格式化邏輯可經(jīng)部署以執(zhí)行用于在接入存儲器(例如,同步 隨機存取存儲器560及同步動態(tài)隨機存取存儲器540)時減輕擁堵的速率匹配及隊列 及媒體接入控制處理功能(例如,H2W處理器530及下層媒體接入控制核心540)。 舉例來說,傳入及傳出接口可以相對于無線局域網(wǎng)的通量能力為高的速度操作。傳入 流可以是猝發(fā)性及高速度。從處理器或連接到總線526的任何其它組件接收的信息可 以又一速率到達。H2W處理器530及下層媒體接入控制核心540將產(chǎn)生接入請求并在各種任務的處理完成時檢索或存儲那些請求所產(chǎn)生的數(shù)據(jù),如下文進一步說明。因此, 在此實例中,可在格式化邏輯及多路復用器570與格式化邏輯及多路復用器574之間 部署先進先出存儲器572。在一個實例中, 一組先進先出存儲器572 (—個用于緩沖 從格式化邏輯及多路復用器570到格式化邏輯及多路復用器574的數(shù)據(jù),而另一個用 于緩沖相反方向的數(shù)據(jù))可經(jīng)部署以用于面接傳入及傳出功能(例如,串行數(shù)字輸入 輸出接口 582或PCI接口 584)。另一組先進先出存儲器572 (每一方向一個)可經(jīng) 部署以用于支持去往及來自H2W處理器530的數(shù)據(jù)。另一類似組可經(jīng)部署以結(jié)合下 層媒體接入控制核心540使用。又一類似組可經(jīng)部署以用于在總線520上的經(jīng)由總線/ 從屬接口 528接入的組件之間面接。所屬技術(shù)領(lǐng)域中的技術(shù)人員將認識到此配置不過 是一個實例。可部署各種替代實施例,所屬技術(shù)領(lǐng)域中的技術(shù)人員根據(jù)本文中的教示 將明了所述各種替代實施例。因此,圖5中所描繪的無線通信裝置104或106的實例 性實施例用于圖解說明各種組件的一種可能互連,下文說明其細節(jié)。可在相同范圍內(nèi) 部署使用這些組件及/或額外組件(未顯示)的子組的多種替代配置。 包緩沖器及存儲器管理
圖6描繪包緩沖器250的實例性實施例。在本文所詳述的各種實例性實施例中, 如圖6中所示,包緩沖器250圖解說明數(shù)據(jù)結(jié)構(gòu)及相關(guān)聯(lián)的鏈接表,所述數(shù)據(jù)結(jié)構(gòu)及 鏈接表用于執(zhí)行各種功能以在媒體接入控制處理器240內(nèi)進行包處理。雖然本文所詳 述的各種實施例不需要此種結(jié)構(gòu),且可在替代實施例中部署替代包緩沖器,但此說明 書通篇詳述的實施例將使用這些鏈接表及數(shù)據(jù)結(jié)構(gòu)來圖解說明其在那些各種功能中的 使用。此外,包緩沖器(例如,在圖6中所說明)可經(jīng)部署以用于各種替代功能(除 本文所詳述的那些功能以外)。所屬技術(shù)領(lǐng)域中的技術(shù)人員將容易地在各種實施例(包 括需要相對高速的包處理的實施例)中修改此包緩沖器及其組件及子組件。實例性包 緩沖器250可包括未在圖6中顯示的額外數(shù)據(jù)結(jié)構(gòu),其進一步詳述于下文所說明的圖 7中。
在此實例中,使用兩種類型的數(shù)據(jù)結(jié)構(gòu)將每一包存儲到包緩沖器250中,第一數(shù) 據(jù)結(jié)構(gòu)在本文中稱作節(jié)點610,而第二數(shù)據(jù)結(jié)構(gòu)在本文中稱作程序塊620。每一包或包 分段(如果部署分段,例如在802.11(g)及(e)中所說明)包括一個節(jié)點610及一個或一 個以上程序塊620。存儲所述包數(shù)據(jù)所需要的程序塊的數(shù)量將依據(jù)所述包或分段的大 小而改變。因此,包作為包含指向第一程序塊的節(jié)點的鏈接表結(jié)構(gòu)駐存于包緩沖器250 中,且當需要額外程序塊時,所述鏈接表包含所述額外程序塊,每一程序塊指向后續(xù) 程序塊(除最后程序塊以外)。
節(jié)點與程序塊之間的此種分段的一個優(yōu)點是對于控制決策至關(guān)重要的信息可保 持在節(jié)點中,而所述數(shù)據(jù)本身保持在相對較大的程序塊中。此允許節(jié)點(其是其相應 包的代表)用于控制處理而不需要對整個包的接入。
此外,到達的傳入包以及等待傳出的包通常將與一個或一個以上流相關(guān)聯(lián)。所描 繪的節(jié)點及程序塊還促進包在包緩沖器內(nèi)的隊列的有效形成,每一隊列與其相應的流相關(guān)聯(lián)。在圖6中通過包含各種節(jié)點及程序塊的單個隊列的實例來圖解說明此一般結(jié) 構(gòu)。在此實例中,節(jié)點610A-N形成與流的隊列相關(guān)聯(lián)的鏈接表。所述隊列具有由隊 列頭指針630識別的頭,且隊列尾指針640識別所述隊列中的最后節(jié)點。在此實例中, 所述隊列中有N個包,每一者具有與其相關(guān)聯(lián)的節(jié)點610。如圖解說明,每一節(jié)點610 包含一系列程序塊620A-M。任何數(shù)量的程序塊可與單個節(jié)點相關(guān)聯(lián)。將此圖中所圖 解說明的剩余程序塊簡單地標記為620。所屬技術(shù)領(lǐng)域中的技術(shù)人員將認識到可部署 各種大小的節(jié)點以及各種大小的程序塊。在所述實例性實施例中,程序塊是512字節(jié)。 因此,由于實例性包通常小于2千字節(jié),因此每一包將需要最多4個程序塊(且通常 更少),包括與其相關(guān)聯(lián)的包標頭及其它信息。在替代實施例中,可部署適合任何包 大小的任何程序塊大小。
在此實例性實施例中,將存儲器中的控制與數(shù)據(jù)分離開。出于傳輸及接收的目的, 可需要控制結(jié)構(gòu)的多個操縱。然而,對于數(shù)據(jù)有效負載,僅執(zhí)行到存儲器的一個寫入 (在傳入時或從無線局域網(wǎng)接收時)及從所述存儲器的一個讀出(在無線局域網(wǎng)上傳 輸時或經(jīng)由外部接口傳出時)。因此,可降低存儲器帶寬要求,因為傳入存儲器的轉(zhuǎn) 移及來自存儲器的轉(zhuǎn)移相對高效。
實例性節(jié)點610圖解說明于圖6中。節(jié)點610包含用于鏈接到隊列中的后續(xù)節(jié)點 的下一節(jié)點指針612。長度字段614及序列號616也包括在內(nèi)。這些字段在處理包時 有用(如下文進一步說明),且允許在不需要接入或移動程序塊620中所包含的數(shù)據(jù) 的情況下執(zhí)行媒體接入控制處理。舉例來說,所述長度字段在將包聚合到傳輸機會中 時用于聚合。所述序列號在發(fā)送塊確認請求時使用。大體來說,可將可用于處理的任 何包信息添加到替代節(jié)點實施例。節(jié)點610還包括程序塊指針618,其指向包含包數(shù) 據(jù)的第一程序塊。
此結(jié)構(gòu)允許產(chǎn)生任何長度的隊列的靈活性,其僅受總的存儲器包緩沖器大小的限 制。因此,可支持各種不同的流類型,且不需要固定所支持的流數(shù)量。舉例來說,可 對需要較小數(shù)量的包的數(shù)個流與需要較大數(shù)量的包的流一起分配存儲裝置,且因此可 部署較小的包緩沖器大小來支持既定數(shù)量的流。另一選擇為,可針對任何既定存儲器 大小提供不同數(shù)量的流。可看出,所述隊列可獨立地增大及縮小,且由于節(jié)點及程序 塊可分別由任何流或包重新使用,因此所述結(jié)構(gòu)通過非常高效的存儲器管理提供巨大 靈活性。
還圖解說明實例性程序塊620。程序塊數(shù)據(jù)622包含包,包括任何標頭字段、幀 檢查序列等等。下一程序塊指針624包括于所述程序塊中以指向鏈接表中的下一程序 塊(如果有)。
在一個實施例中,程序塊是固定大小。此允許包緩沖器存儲器包含存儲器的分配 給程序塊的固定部分。鏈接表結(jié)構(gòu)允許任何程序塊用于任何包鏈接表中。由于包來來 往往,因此可容易地重新使用程序塊,而不需要額外存儲器管理開銷(例如,為不同 大小的包重新分配空間等等)。此結(jié)構(gòu)還允許高效的處理,大體來說在于向包緩沖器
20僅寫入一次程序塊,所述程序塊保留在所述包緩沖器中直到其準備在無線局域網(wǎng)上傳 輸或越區(qū)切換到傳出目的地。還可簡單地通過覆寫指針(即,改變鏈路列表)在隊列 內(nèi)移動包或?qū)苿拥叫碌年犃小4嗽谔幚韺⒁貍鞯陌鼤r有用。這些結(jié)構(gòu)的使用提 供額外效率,如將在下文中進一步詳述。每一鏈接表可將多種列表終止符中的任一者 用于隊列中的最后節(jié)點或包中的最后程序塊。在所述實例性實施例中,鏈接表中的第 一及最后節(jié)點由標頭指針及尾指針指示,同時裝入程序塊指針以指示包中的最后程序 塊。在替代實施例中,可需要將程序塊的數(shù)量連同包長度及包序列號一同添加在節(jié)點 標頭中。還構(gòu)想包括可變程序塊大小的替代實施例。
圖7進一步圖解說明實例性包緩沖器250??蓪⒋鎯ζ鞯泥徑绦驂K分配到各種 數(shù)據(jù)結(jié)構(gòu)類型,但此并非必需。如上文所說明,可將分段730的一部分分配給節(jié)點, 且可將分段740分配給程序塊。在實例性實施例中,這些分段中的每一者是存儲器的 鄰近空間,包括可重新用于任何包及/或流的固定大小的節(jié)點及程序塊,如上文所說明。 此外,維持空閑節(jié)點指針列表710及空閑程序塊指針列表720。如所屬技術(shù)領(lǐng)域中的 技術(shù)人員將明了,可針對空閑指針列表部署各種數(shù)據(jù)結(jié)構(gòu)。在一個實例中,可將節(jié)點 指針及程序塊指針推入及彈出到其相應指針列表710或720。舉例來說,這些列表可 以是環(huán)形緩沖器。 一旦彈出指針以形成新的節(jié)點或程序塊,那么所述指針將保持使用 直到所述節(jié)點或程序塊空閑,然后可將所述指針推回以供將來使用。
圖8描繪可在(例如)本文所詳述的實例性實施例中部署于媒體接入控制處理器 內(nèi)的額外組件。這些組件并非必需,但由于正在使用的存儲器的類型的特定性質(zhì),這 些組件可在某些情況下產(chǎn)生優(yōu)點。舉例來說,通常存在與同步動態(tài)隨機存取存儲器接 入相關(guān)聯(lián)的延遲。當執(zhí)行小的轉(zhuǎn)移(即,在檢索或存儲單個節(jié)點或程序塊指針時)時 還可存在低效率。在使用某些類型的同步動態(tài)隨機存取存儲器的情況下,在分解行存 取、列存取等時,開銷循環(huán)可覆蓋實際的數(shù)據(jù)轉(zhuǎn)移循環(huán)。為防止大的延遲,各種高速 緩存器可經(jīng)部署以用于一次檢索數(shù)個指針以用于媒體接入控制處理。圖8描繪這些高 速緩存器中的數(shù)個的實例。可在各種替代實施例中部署某些或所有這些高速緩存器。 用于本文所詳述的實施例中的實例性高速緩存器包括傳輸空閑節(jié)點指針高速緩存器 810、傳輸空閑程序塊指針高速緩存器820、接收空閑節(jié)點指針高速緩存器830及接收 空閑程序塊指針高速緩存器840。可簡化上文所圖解說明的包的數(shù)據(jù)結(jié)構(gòu)以用于接收 包,其實例性實施例參照圖33進一步詳述于下文中。大體來說,這些高速緩存器 810-840中的每一者從包緩沖器250中的其相應節(jié)點指針列表接收一個或一個以上指 針以創(chuàng)造效率??蓮乃霭彌_器一次檢索多個每一指針類型。在此實例中,可從相 應的列表彈出多個指針。然后,這些指針填注相應的高速緩存器,且可從所述相應高 速緩存器彈出單個指針以用于各種媒體接入控制處理組件。將通過下文所詳述的各種 實例性實施例進一步圖解說明指針及其相應高速緩存器的使用。
圖9描繪用于向包緩沖器寫入包并創(chuàng)建隊列的方法900的實例性實施例。可使用 數(shù)據(jù)結(jié)構(gòu)(在此實例中為鏈接表)來形成隊列。隊列還可形成為陣列(所給出實例為
21下文所詳述的節(jié)點陣列3330)。此方法適用于結(jié)合包緩沖器(例如,以上圖6及7中 所說明的包緩沖器)進行部署。方法900圖解說明可用于將傳入包寫入到包緩沖器的 實例性技術(shù)??墒褂妙愃萍夹g(shù)來將所接收的包寫入到所述包緩沖器以等待傳出的越區(qū) 切換處理。越區(qū)切換的實例性實施例將進一步詳述于下文中。視情況,還可部署指針 高速緩存器(即,810-840,如圖8中所說明)且所述指針高速緩存器還可以是新指針 的基本源。如所屬技術(shù)領(lǐng)域中的技術(shù)人員將明了,各種實施例可部署有或沒有高速緩 存器且此方法可用于任何此種配置。
在910處,接收包。在決策塊912處,彈出與所述包相關(guān)聯(lián)的節(jié)點。在決策塊914 處,如果此包是相應隊列中的第一包,那么進行到916且更新頭隊列指針(舉例來說, 圖6中所圖解說明的隊列頭指針630)以指向與所述新包相關(guān)聯(lián)的節(jié)點。然后,進行 到918。在決策塊914處,如果此包不是相應隊列中的第一包,那么進行到918。
在918處,彈出程序塊指針。此外,可直接從包緩沖器且特定來說分別從空閑節(jié) 點指針列表或空閑程序塊指針列表執(zhí)行節(jié)點及程序塊的彈出(彈出相應指針的簡略表 達)。在所述實例性實施例中,從傳輸空閑節(jié)點指針高速緩存器810及傳輸空閑程序 塊指針高速緩存器820 (當其用完時可需要補充)彈出所述指針。在920處,用所述 包的序列號及長度填注所述節(jié)點且將在918處檢索的程序塊指針插入到所述節(jié)點的程 序塊指針字段中(即,使用節(jié)點格式,例如圖6中所圖解說明的節(jié)點610)。在922 處,用包數(shù)據(jù)填充所述程序塊。在一個實例中可部署如圖6中所圖解說明的程序塊620。
在決策塊924處,如果由于所述包太大而無法裝入所述第一程序塊內(nèi)且需要另一 程序塊,那么進行到926。在926處,彈出新的程序塊指針。在928處,將所述新程 序塊指針寫入到所述現(xiàn)有程序塊的下一程序塊指針字段中。在930處,用包數(shù)據(jù)填充 所述新程序塊。在所述實例性實施例中,所述包數(shù)據(jù)將被連續(xù)寫入到所述系列程序塊 中。然后,返回決策塊924以確定是否將需要又一程序塊??芍貜痛嘶芈分钡綄⑺?包完全寫入到一個或一個以上程序塊中。
在932處,用于寫入所述包的過程完成。將與所述包相關(guān)聯(lián)的節(jié)點裝入到適當隊 列中。舉例來說,此可通過將節(jié)點地址(即,在912處檢索的指針)寫入到尾節(jié)點的 下一節(jié)點指針中實現(xiàn)。在此實例中,所述尾節(jié)點由隊列尾指針(例如,圖6中所圖解 說明的隊列尾指針640)識別。在934處,更新所述尾指針以指向當前節(jié)點,所述當 前節(jié)點將成為尾節(jié)點。
在決策936處,如果接收到另一包,那么返回到912且所述過程可重復。如果另 一包不準備寫入到包緩沖器中,那么可停止所述過程。為簡明起見,省略使所述包與 其相關(guān)聯(lián)的流相關(guān)聯(lián)(將從此得出適當隊列及其相關(guān)聯(lián)的頭指針及尾指針)的細節(jié)。 使包與流相關(guān)聯(lián)的實例性實施例進一步詳細圖解說明于下文中。
H2W處理器及傳入管控
圖10圖解說明主機到無線局域網(wǎng)子系統(tǒng)(例如,H2W處理器530)的實例性實 施例??蓮母鞣N源接收包。在此實例中,顯示兩個源以進行例示。此實例性實施例圖解說明可包含于H2W處理器530中的組件子組。圖10中所示的某些組件可對應于圖 5中不包括于H2W處理器530中的組件且出于簡明論述的目的顯示所述某些組件。所 屬技術(shù)領(lǐng)域中的技術(shù)人員將認識到所顯示的組件及其劃分僅為例示性。在此實例中, 典型的傳入包來自外部接口,例如圖5中所圖解說明的串行數(shù)字輸入輸出接口 582或 PCI接口 584。另一實例性包輸入可來自處理器210或連接到總線520的任何其它組件, 如圖5中所示。外部接口包經(jīng)由外部接口 1006到達H2W處理器530中。舉例來說, 來自總線520的包可經(jīng)由處理器接口 1002到達。先進先出存儲器可部署以保存一個或 一個以上包以進行處理。舉例來說,先進先出存儲器1004及1008可經(jīng)部署以分別保 存從處理器接口 1002或外部接口 1006接收的包。塊1004可經(jīng)部署以用于保存來自所 述處理器的需要在無線局域網(wǎng)上傳輸?shù)墓芾砑翱刂瓢T谔娲鷮嵤├?,如下文參?圖48所詳述,可省略處理器接口 1002及相關(guān)組件,因為在處理器210 (或另一替代 媒體接入控制處理器)中處理遺留包及其它較低通量包(舉例來說)且因此不需要此 接口。
在此實例中,目的地媒體接入控制地址結(jié)合業(yè)務串流識別符(TSID)用于唯一地識 別流。在替代實施例中,其它機構(gòu)可經(jīng)部署以用于流映射。如上文所提及,通常將存 在用于執(zhí)行流的分類的驅(qū)動器,所述驅(qū)動器可在固件中或在某種其它外部處理器上運 行。所述驅(qū)動器可產(chǎn)生具有目的地地址(DA)的媒體接入控制地址、業(yè)務串流識別符及 源地址。在此實例中,可使用所述DA及所述業(yè)務串流識別符來識別流。將DMAC-業(yè)務串流識別符遞送到流映射塊1020,且從流映射塊1020返回對應于所述DMAC-業(yè)務串流識別符的流識別符。
流映射塊1020的實例性實施例可使用任何類型的查找或其它功能來從既定識別 信息確定流識別符。 一個實例顯示于圖10B中。在所述實例性實施例中,需要將固件 交互作用從線速度處理解耦,如上文所說明。然而,所述固件可能非常適于創(chuàng)建用于 流映射的表。為解耦所述固件交互作用,部署兩個影子流表,表l 1092及表2 1096。 H2W處理器530使用一個影子表(由開關(guān)1090選擇),同時固件可更新其它影子表 (由開關(guān)1099選擇)。因此,可部署乒乓技術(shù),所述固件通過所述乒乓技術(shù)來更新一 個表,而另一表用于媒體接入控制處理。每一影子流表1092或1096包含具有對應的 流識別符的一列DMAC-業(yè)務串流識別符條目。影子流表1 1092包含與流識別符 1094A-N相關(guān)聯(lián)的DMAC-業(yè)務串流識別符1093A-N。影子流表2 1096包含具有相關(guān) 聯(lián)的流識別符1098A-N的DMAC-業(yè)務串流識別符1097A-N。因此,流映射塊1020 將DMAC-業(yè)務串流識別符遞送到活躍地選擇的影子流表,且返回流識別符。在所述 實例性實施例中,為執(zhí)行流識別符的快速搜索,執(zhí)行二進制搜索。固件非常適于將 DMAC-業(yè)務串流識別符字段排序,以促進二進制搜索。所屬技術(shù)領(lǐng)域中的技術(shù)人員將 認識可在替代實施例中替代使用的替代流映射程序。
現(xiàn)在返回到圖IOA,將所述流識別符遞送到傳輸流狀態(tài)表1030,下文參照圖11 詳述傳輸流狀態(tài)表1030的實例性實施例。傳輸流狀態(tài)表1030包含每一流的各種參數(shù)。
23傳輸流狀態(tài)表1030的物理位置可不同,如上文參照圖3及4所說明。舉例來說,在一 種配置中,可將傳輸流狀態(tài)表保持在H2W處理器530中的硬件表中。在替代實施例 中,所述硬件表可駐存于下層媒體接入控制核心540中(細節(jié)未顯示),且塊530與 540兩者可共享同一硬件表?;蛘撸恳粔K530及540可維持所述硬件表的部分,如 在圖3及4中概念性地圖解說明。從所遞送的流識別符,可選擇對應于所述流識別符 的一部分傳輸流狀態(tài)表1030且檢索各種參數(shù)。將在所有這些實施例中說明實例性參 數(shù)。
可將某些參數(shù)遞送到管控單元1010。實例性管控單元實施例進一步詳述于下文 中。如果啟用加密,那么加密塊(在此實例中為消息完整性代碼(MIC) 1025)可具有 經(jīng)遞送以用于加密的密鑰。
在消息完整性代碼塊1025中,從所供應的密鑰及包的有效負載部分中的數(shù)據(jù), 可產(chǎn)生消息完整性代碼計算。在此實施例中,使用分離的組件來執(zhí)行所述有效負載的 加密(參見下文所詳述的遺留協(xié)議引擎2210)。替代加密技術(shù)在所屬技術(shù)中眾所周知 且可替代使用。
可將其它參數(shù)遞送到標頭附加1035以產(chǎn)生標頭。所產(chǎn)生的標頭可包括用于包標 頭本身的字段以及在所述包橫穿過媒體接入控制處理功能時使用的控制值??稍谶f送 將要傳輸?shù)陌耙瞥@些控制值。此是一種用于在執(zhí)行媒體接入控制處理時維持包 的狀態(tài)信息的實例性技術(shù)。所屬技術(shù)領(lǐng)域中的技術(shù)人員將認識用于包上執(zhí)行各種媒 體接入控制功能時維持所述包的狀態(tài)的替代技術(shù)。
與從流狀態(tài)表1030遞送的參數(shù)相關(guān)聯(lián)的政策單元1010可拒絕所述包,在此情況 下,將不執(zhí)行加密功能(例如,消息完整性代碼計算),且可從先進先出存儲器移除 所述包。實例性傳入管控實施例進一步詳述于下文中。如果管控單元1010允許所述包, 那么將有效負載連同在消息完整性代碼1025 (如果啟用)中產(chǎn)生的消息完整性代碼部 分及適當標頭一同遞送以存儲在先進先出存儲器1050中。
圖11描繪傳輸流狀態(tài)表1030的內(nèi)容的實例性實施例。針對每一流維持參數(shù)組。 圖解說明單個流的參數(shù)。包類型1102規(guī)定正在接收什么類型的包。舉例來說,所述包 可以是802.11(g)、 (e)或(n)包??芍С制渌愋颓铱稍诎愋?102字段中指示所述 包類型。
安全政策1104指示是否將使用安全技術(shù)(例如,加密)。所述實例性實施例支 持AES-CCMP (高級加密標準-計數(shù)器模式密碼區(qū)塊鏈消息認證媒體接入控制協(xié)議) 及RC4-TKIP (里維斯特(Rivest)的密碼-4-暫時密鑰完整協(xié)議)。接收器地址1106 指示所述包所去往的接收器的媒體接入控制地址。序列號1108指示包序列號。如果啟 用暫時密鑰完整協(xié)議,那么消息完整性代碼密鑰1110識別所述消息完整性代碼密鑰。 幀控制1112包括用于建立適當標頭的信息。
服務質(zhì)量(QoS)控制1114可用于指示服務質(zhì)量等級。在所述實例性實施例中,維 持四個服務質(zhì)量等級。用于不同服務質(zhì)量值的隊列處置的實例進一步圖解說明于下文中。
可使用壽命字段1116來指示包可在緩沖期中保留多長時間。 一旦所述壽命值期 滿,那么(舉例來說)可沖刷掉所述包。在所述實例性實施例中,在傳入管控(例如, 在管控單元1010中)中使用最大緩沖器占用量1118、每流最大包數(shù)1120及每流累積 包1122,下文參照圖12及13進一步詳述傳入管控的實例。注意,可結(jié)合這三個參數(shù) 來使用全局變量當前緩沖器占用量以執(zhí)行各種傳入管控技術(shù)。使用尾隊列指針1124 來識別尾節(jié)點,如上文參照圖6及9所說明。
這些傳輸流狀態(tài)表變量或參數(shù)僅為例示性。所屬技術(shù)領(lǐng)域中的技術(shù)人員將認識 到,額外變量或參數(shù)可用于維持每流且也可包括在內(nèi)。此外,不需要在所有實施例中 支持所有特征且因此可部署這些參數(shù)的子組。
圖12描繪用于執(zhí)行傳入管控的方法1200的實例性實施例。下文參照圖34在傳 出越區(qū)切換及總的無線局域網(wǎng)服務質(zhì)量的上下文中提供傳入管控的優(yōu)點的更一般化論 述。如上文參照圖11中的實例性傳輸流狀態(tài)表1030所說明,可針對每一流維持各種 參數(shù)。可基于服務質(zhì)量等級調(diào)整這些參數(shù)以通過管控函數(shù)更容易地許可包傳入或拒絕 包。
雖然與無線局域網(wǎng)服務質(zhì)量相關(guān),但此是額外技術(shù),其認識到,當與高速傳入(其 可以是猝發(fā)性且包含高與低服務質(zhì)量流的混合)面接時,媒體接入控制處理單元中可 形成與無線局域網(wǎng)本身上的擁堵分離的瓶頸。舉例來說,媒體接入控制處理功能可由 較低服務質(zhì)量包填充是可能的。在沒有適當管控的情況下,較低服務質(zhì)量包可在相對 低擁堵的時間期間被引入到管線中,且如果無線局域網(wǎng)上的條件降級且通量降低那么 可形成瓶頸。因此,管控單元1010可經(jīng)配置以允許較高服務質(zhì)量包在相對擁堵的時間 期間維持其優(yōu)先級,且可更自由地允許在擁堵減輕時處理較低服務質(zhì)量包。802.11標 準(舉例來說,b、 g、 e及n)已關(guān)注對無線局域網(wǎng)的服務質(zhì)量控制,然而未充分關(guān)注 傳入。因此,如果低服務質(zhì)量應用占據(jù)臺中的所有緩沖器,那么高優(yōu)先級的包就無法 接入系統(tǒng)。如本文中所說明,傳入管控可防止此類情形且不只在無線局域網(wǎng)服務質(zhì)量 上提供端-對-端服務質(zhì)量。所屬技術(shù)領(lǐng)域中的技術(shù)人員根據(jù)本文中的教示將認識到管 控函數(shù)的各種替代實施例。
返回到圖12,在1210處,接收包以進行傳輸。舉例來說,可將所述包引入到H2W 處理器530中且管控單元1010可確定接受還是拒絕所述包進行進一步媒體接入控制處 理。在1220處,確定所接收包的ID。舉例來說,可使用流映射塊1020。在1230處, 接入與所述流識別符相關(guān)聯(lián)的管控參數(shù)及/或管控函數(shù)。在實例性實施例中,這些參數(shù) 可存儲在傳輸流狀態(tài)表1030中,且可包括最大緩沖器占用量1118、每流最大包數(shù)1120 及每流累積包1122。未在圖11的實例性傳輸流狀態(tài)表1030中顯示的是可規(guī)定(及與 其相關(guān)聯(lián)的可能替代參數(shù))多個管控函數(shù)的可能性,其中不同的管控函數(shù)用于不同的 流。在決策塊1240處,如果接受所接收的包根據(jù)流特定參數(shù)及與當前擁堵或其它系統(tǒng) 條件相關(guān)的任何全局變量滿足針對所述流規(guī)定的適當管控函數(shù),那么進行到1250且許
25可所述包傳入。如果不,則進行到1260且拒絕所述包。然后,可停止所述過程。
圖13圖解說明管控函數(shù)的方法1300的一個實例性實施例,其適于如圖12中的 步驟1240那樣部署。如上文所說明,可針對每一個別流調(diào)整參數(shù)最大緩沖器占用量及 每流最大包數(shù)。這些可與所述流的服務質(zhì)量等級相關(guān)聯(lián)。注意,在所述實例性實施例 中,部署四個服務質(zhì)量等級。然而,可確定這些參數(shù)的大小以適應不同于預定服務質(zhì) 量等級的較大變化形式。因此,在某些實施例中,可通過比實例性服務質(zhì)量設定更細 的粒度來實施所述管控函數(shù)。在此實例中,決策塊1240 (當如圖12中所示的那樣部 署時可從1230到達其)確定是否許可包傳入(且當如圖12中所示的那樣部署時分別 進行到塊1250或1260)。
決策塊1240處的實例性測試包含兩項。滿足任一項允許接受所述包。如果兩項 均不滿足,那么拒絕所述包。
可將第一項視為媒體接入控制處理單元內(nèi)的擁堵的指示符。當所述媒體接入控制 處理單元相對不擁堵時,所述第一項將更有可能為真(甚至對于較低優(yōu)先級的包),
且因此所述包將更可能被許可傳入。在所顯示的實例中,當當前緩沖器占用量小于最 大緩沖器占用量時所述第一項為真。在此,所述當前緩沖器占用量是可于所述過程 的全局變量,其指示包緩沖器的總占用量。注意,可針對不同的流以不同方式調(diào)整所 述最大緩沖器占用量,從而導致所述OR陳述的第一項或多或少地嚴格(如所需要)。 舉例來說,高服務質(zhì)量流可具有較高的最大緩沖器占用量設定,因此許可傳入更有可 能。相反,較低的最大緩沖器占用量設定將減小許可傳入的可能性。換句話說,可每 流規(guī)定最大緩沖器占用量,此允許擁堵的含義的不同概念取決于流類型。
第二項通常將在存在相對擁堵時進行支配。在此情況下,每流信息其支配作用。 在所示實例中,如果既定流的每流當前包小于所規(guī)定的每流最大包數(shù),那么所述第二 項為真。具體來說,可針對所述流設定每流最大包數(shù),使得較高優(yōu)先級的流被指派較 高的值而較低優(yōu)先級的流被指派較低的值。因此,當當前緩沖器占用量相對擁堵時(因 此第一項將不為真),那么較高優(yōu)先級的包具有較高的每流最大包數(shù)將使所述包更有 可能被許可傳入。可將較低優(yōu)先級的每流最大包數(shù)調(diào)諧得較低。因此,不存在實際上 將其限制在一起,將許可相對少的較低優(yōu)先級包傳入。在替代實施例中,可通過時間 值(時間值可在流之間變化)計算每流累積包以產(chǎn)生流的包速率。然后,同樣可將每 流最大包數(shù)設定為每流包速率。構(gòu)想用于許可或拒絕包傳入的各種替代參數(shù)及相關(guān)條 件,且所屬技術(shù)領(lǐng)域中的技術(shù)人員根據(jù)本文中的教示將明了所述參數(shù)及相關(guān)條件。
注意,這些參數(shù)不需要保持靜態(tài)且可基于系統(tǒng)的其它條件(舉例來說,如來自物 理層的速率反饋所指示,鏈路質(zhì)量及相關(guān)聯(lián)的速率)更新。所屬技術(shù)領(lǐng)域中的技術(shù)人 員將認識到所述變量中的每一者的多種設定且將認識到可響應于改變的系統(tǒng)條件而以 不同方式改變這些設定。
最終結(jié)果是可僅通過從傳輸流狀態(tài)表1030檢索每流參數(shù)來以線速率有效地部署 有效的管控函數(shù),且可針對每一傳入包快速作出決策。注意,根據(jù)傳入管控函數(shù)許可或拒絕包傳入可與任何流控制技術(shù)組合(其實例在所屬技術(shù)領(lǐng)域中眾所周知),使得 可在不丟失包的情況下實現(xiàn)可變速率的包處理。在一個實施例中,可在外部接口上接 收整個包之前接收流識別符以允許作出傳入管控決策,從而避免在拒絕所述包時使用 接口帶寬來接收包。
總而言之,此實例突出管控的數(shù)個可選項。在高負載下,可能阻止單個流(甚至 高優(yōu)先級流)支配資源,同時允許較高優(yōu)先級的流更大地接入。在較輕負載下,限制 性較小的決策可允許低優(yōu)先級的流使用資源,因為當時沒有正在消耗所述資源。傳入 管控可以是所說明的四個變量(且替代實施例可使用其它變量或參數(shù))的任一函數(shù)。 管控可用于公平性,以便即使對其它流類型偏好到任何所需的程度也至少允許對所有 流類型的某種接入。管控還可用于管理較差的鏈路質(zhì)量。不管需要鏈路質(zhì)量還是擁堵 調(diào)整還是兩者的組合,可使用相同(或類似)參數(shù)。
返回到圖10A,將先進先出存儲器1050的輸出遞送到分段塊1060。請回憶,先
進先出存儲器1050可包括一個或一個以上已被接受的包連同其相應的標頭及消息完 整性代碼計算(如果可應用)??梢罁?jù)包類型執(zhí)行分段。舉例來說,可針對802.11(e) 或(g)啟用分段,或針對需要分段的任何其它包類型啟用分段。在所述實例性實施例中, 通過接入點管理功能(其是信標幀中設定的能力元素)設定全局變量,分段閾值(FT)。 其通常在短的時間周期內(nèi)不改變。固件可在寄存器中設定所述分段閾值。如果包超過 所述分段閾值,那么將所述包分為FT大小的分段,其中可能存在殘余部分分段。
注意所述分段并非必需。在替代實施例中,可省略分段1060及所有相關(guān)功能。 在另一替代實施例中,如下文參照圖48進一步詳述,可部署一個以上媒體接入控制處 理塊。在此種實施例中, 一個媒體接入控制處理塊可經(jīng)裝備以執(zhí)行分段,而另一媒體 接入控制處理塊將不如此裝備。在一種情形中,高速包可不需要或支持分段,且可在 不具有分段塊1060的H2W處理器530中處理,但可在額外媒體接入控制處理器(例 如,下文所詳述的媒體接入控制處理器4810)中提供對包括分段的其它包類型(例如, 遺留802.11包)的支持。所屬技術(shù)領(lǐng)域中的技術(shù)人員將容易地了解當部署包括能夠處 理各種包類型的所有功能的單個處理器的實施例與包含每一者能夠提供任一子組的功 能性的兩個或兩個以上媒體接入控制處理器的另一實施例時的折衷。當然,也可部署 能夠處理需要單個組的功能性的包的單個媒體接入控制處理器。
分段塊1060基于分段閾值及包的長度確定分段的數(shù)量。將分段的數(shù)量遞送到列 表功能塊1065,列表功能塊1065向分段塊1060返回指針。當不啟用分段或未超過所 述分段閾值時,分段的數(shù)量將為一,且將返回單個節(jié)點指針及其相關(guān)聯(lián)的一個或一個 以上程序塊指針。列表功能塊1065執(zhí)行各種鏈接表程序,其可應用于所部署的存儲器 結(jié)構(gòu)(例如,以上圖6中所說明)。注意,如圖所示,節(jié)點指針高速緩存器810及程 序塊指針高速緩存器820駐存于所述列表功能塊中,此作為實例。因此,可從每一高 速緩存器中的可用池取一池可用指針。未顯示如何刷新及補充這些高速緩存器的細節(jié), 但所屬技術(shù)領(lǐng)域中的技術(shù)人員根據(jù)本文中的教示將明了所述細節(jié)。概念性地,如圖10A
27中所示,可將分段的數(shù)量發(fā)送到列表功能1065且可返回所述數(shù)量的分段的一群組指 針。如果不存在分段,那么分段的數(shù)量為一,且可返回單個節(jié)點指針及其相關(guān)聯(lián)的程
序塊指針或指針。在替代實施例中,可通過分段塊1060執(zhí)行類似功能,其中針對每一 分段進行對列表功能1065的重復調(diào)用直到使整個包成為分段。隨著返回每一指針,全 局變量緩沖器占用量根據(jù)程序塊或包的數(shù)量遞增。緩沖器占用量在所述實例性實施例 中可以是任一度量,且替代實施例可使用替代度量。
圖14描繪先進先出存儲器1050的實例性實施例。先進先出存儲器1050包括一 個或一個以上媒體接入控制服務數(shù)據(jù)單元(MSDU) 1410A-N。每一媒體接入控制服務 數(shù)據(jù)單元包含標頭1430、有效負載1440及消息完整性代碼計算1450 (如果使用暫時 密鑰完整協(xié)議),如上文所說明。在一個實施例中,可將控制數(shù)據(jù)添加到先進先出存 儲器1050中的每一媒體接入控制服務數(shù)據(jù)單元,其可從分段塊1060反饋回來,如上 文所說明。在替代實施例中,不將控制信息維持于先進先出存儲器1050中。注意, 在將包寫入包緩沖器存儲器之前將經(jīng)添加以用于H2W處理器530的控制信息剝離。
如果不需要分段,那么可將所述媒體接入控制服務數(shù)據(jù)單元直接存儲于緩沖器 1062中。其可與從列表功能1065檢索的節(jié)點指針及程序塊指針一同存儲。所述列表 功能給出每一包的編號及程序塊地址,所述包有效負載(且因此所述程序塊有效負載) 被寫入到對應地址中的存儲器中。如果需要分段,那么將所創(chuàng)建的每一分段也存儲于 緩沖器1062中。
將緩沖器1062的內(nèi)容遞送到存儲器寫入1070。存儲器寫入1070與存儲器仲裁器 1080面接,其爭用到所述包緩沖器存儲器的接入以將包及/或分段實際加入到所述包緩 沖器中。注意,可依據(jù)媒體接入控制處理器專用集成電路310的配置將存儲器仲裁器 1080實施為存儲器仲裁器556或552中的一者(如圖5中所示)。
顯示存儲器仲裁器1080從存儲器寫入1070接收請求且可從爭用到所述包緩沖器 存儲器的接入的其它組件接收其它請求。當接入被準予時,準予將被返回到存儲器寫 入1070且所述包及/或分段被寫入到所述包緩沖器存儲器中??墒褂妙愃朴趫D9中所 說明的方法來執(zhí)行所述存儲器寫入。舉例來說,創(chuàng)建所述節(jié)點且用當前數(shù)據(jù)(包括長 度及程序塊指針等)對其進行填充,如所說明。在所述實例性實施例中,然后在64 字節(jié)接入中寫入所述程序塊,直到每一 512字節(jié)的程序塊被填充。存儲器寫入1070 繼續(xù)進行請求直到將整個包(包括所有分段(如果有))寫入到RAM中。檢索用于 將所述包裝入適當隊列中的指針作為所述包的節(jié)點指針(或每一分段的節(jié)點指針)以 及尾隊列指針以識別所述隊列中的最后節(jié)點(將添加后續(xù)新包及/或分段的地方)。
在一個實施例中,存儲器仲裁器從傳入狀態(tài)機、無線局域網(wǎng)傳輸狀態(tài)機、無線局 域網(wǎng)接收狀態(tài)機及傳出狀態(tài)機接收請求。其可通過優(yōu)先級在這些請求之間進行仲裁, 一個實例是以下優(yōu)先級次序無線局域網(wǎng)接收、無線局域網(wǎng)傳輸、傳出及傳入。所述 狀態(tài)機可需要整個包被讀取或?qū)懭搿T谄渌鼤r間,所述狀態(tài)機可僅尋找節(jié)點指針、程 序塊指針及/或其它控制信息以執(zhí)行調(diào)度及其它功能??沙鲇跓o線局域網(wǎng)接收/傳輸及傳出/傳入的目的建立覆蓋控制及包讀取及寫入的優(yōu)先級系統(tǒng)。
當流的規(guī)范(即,TSPEC)由臺作出時所述流被設立。在那時,固件可在與所述 流相關(guān)的所有表中設立條目。其還可填注所述流的頭指針(且因此,第一包)。所屬 技術(shù)領(lǐng)域中的技術(shù)人員將認識用于追蹤新隊列及用于更新相關(guān)聯(lián)的頭隊列指針的各種 其它方法。
在所述實例性實施例中,所述存儲器仲裁器將存儲器存取限制為有限數(shù)量的字節(jié) (即,64)以允許其它組件公平接入包緩沖器存儲器。在實例性實施例中,給予傳入
寫入請求、無線局域網(wǎng)接收寫入與無線局域網(wǎng)傳輸傳出之間的存儲器循環(huán)接入(即, 下文中進一步詳述的越區(qū)切換)。舉例來說,如果在中斷的串流中寫入整個媒體接入
控制協(xié)議數(shù)據(jù)單元,那么1500字節(jié)的媒體接入控制協(xié)議數(shù)據(jù)單元將對等待接入的其它 引入大量延遲。調(diào)度(例如,循環(huán))防止其它過程中的停轉(zhuǎn)。
圖15圖解說明將媒體接入控制服務數(shù)據(jù)單元1410分為一個或一個以上分段(將 每一者的大小確定為分段閾值)加可能的殘余分段的過程。在此實例中,省略控制 1420。在一個替代實施例中,可簡單地將控制1420預先計劃為第一標頭1510,如圖 所示??刂菩畔⒖砂ㄖ羔樆蛉魏纹渌刂菩畔?其可被預先計劃為每一標頭1510), 且可在存儲器寫入完成之前被剝離。在圖15中,每一分段1530A-N預先計劃有標頭 1510且每一分段被識別為有效負載1520,其是來自媒體接入控制服務數(shù)據(jù)單元的有效 負載1440的一部分。每一標頭1510包括序列號1540 (其是所述包的序列號)及分段 號1550 (其是與每一個別分段相關(guān)聯(lián)的編號)。
在所述實例性實施例中,在執(zhí)行分段之后,隨后將每一分段當作包。此允許包及 分段通過本文所詳述的各種媒體接入控制處理技術(shù)的高效處理。替代實施例不需要共 享此要求。如果使用暫時密鑰完整協(xié)議,那么最后的分段1530N包括消息完整性代碼 1450。請回憶,在所述實例性實施例中,在由消息完整性代碼1025進行分段之前跨 越所述包計算消息完整性代碼。
圖16描繪仲裁器556結(jié)合兩個或兩個以上存儲器寫入1610A-1610N的概念性配 置。存儲器寫入1610可以是剛剛說明的存儲器寫入1070或下文所詳述的各種其它存 儲器寫入中的一者。每一存儲器寫入塊向仲裁器556發(fā)送請求1630。仲裁器556向每 一存儲器寫入塊發(fā)送指示存儲器寫入何時開始的準予線1640。仲裁器556還可控制多 路復用器1620以選擇被準予存儲器寫入組件的輸出以遞送到同步動態(tài)隨機存取存儲 器控制器1650。舉例來說,同步動態(tài)隨機存取存儲器控制器1650可以是同步動態(tài)隨 機存取存儲器接口 562 (在圖5中所示的實例中),或可包括耦合到同步動態(tài)隨機存 取存儲器340的任何其它組件。注意,可為存儲器仲裁器552部署類似仲裁方案以根 據(jù)所選擇的配置模式向包存儲器寫入包。各種存儲器仲裁方案在所屬技術(shù)領(lǐng)域中眾所 周知,可在本文中的各種實施例中部署所述方案中的任一者。在實例性實施例中,所 述控制器通常由接口跟隨。所述控制器可控制到所述存儲器的讀取及寫入的邏輯,而 所述接口提供物理連接。圖16用作一個例示性實例。
29傳輸處理
在先前部分中,闡述了圖解說明傳入包的高效媒體接入控制處理方面的各種實施 例,從而以使用各種數(shù)據(jù)結(jié)構(gòu)處理進入包緩沖器的包以等待傳輸而終結(jié)。在此傳輸處 理部分中,通過使用上文介紹的數(shù)據(jù)結(jié)構(gòu)所獲取的進一步效率將變得明顯。此外,將 介紹提高高速媒體接入控制處理的效率的其它方面。
大體來說,能夠支持多個STA的許多流的接入點提供比支持16個流的相對簡單 STA更復雜的分析。因此,在下文所詳述的許多實施例中,更加復雜的接入點將用作 參考。在必要時,將突出STA與接入點之間的差異。在傳輸處理中,通常需要能夠容 納較大數(shù)量的流,且在傳輸機會變得可用時仍快速響應。此外,對遺留傳輸規(guī)范的支 持可重要。由于電路面積的減小、對電路的更高效使用、設計的簡單性及/或與遺留協(xié) 議及組件面接的能力,因此突出某些方面。
圖解說明在傳輸機會產(chǎn)生時對即時響應的需要的一個實例包括非調(diào)度自動省電 遞送(UAPSD)協(xié)議。另一實例是立刻塊確認下文所詳述的實施例通過保持一子組的包 準備快速響應而提供對多個流的高效支持。當獲得傳輸機會時,此允許對非調(diào)度自動 省電遞送、立刻塊確認及即時遞送的支持。在多數(shù)情況下,此將防止對用于保留帶寬 的先前使用技術(shù)(例如,向自身發(fā)送"清理發(fā)送"等)的需要。在一個實例中,如果 接入存儲器時的擁堵阻止準備較大的聚合,那么可在傳輸機會期間快速傳輸一小組包。 一旦接收到所述組包的確認,如果所述傳輸機會中存在剩余容量,那么可傳輸額外包。 如先前陳述,從包處理的高速部分移除固件提高效率。在實例性實施例中,各種高速 緩存器及隊列可經(jīng)部署以將固件處理(及其相對較低的速度)從媒體接入控制處理解 耦。這些及其它方面將圖解說明于以下各種實施例中。
在下文所詳述的實例性實施例中,圖解說明數(shù)個方面。 一方面,部署多個高速緩 存器,每一高速緩存器用于存儲與流的包相關(guān)聯(lián)的元素。這些高速緩存器(在下文中 由節(jié)點高速緩存器1810圖解說明)允許各種應用中的低延遲響應時間。低延遲響應允 許臺或接入點有效利用各種類型的傳輸機會(例如,反方向準予、非調(diào)度自動省電遞 送及類似請求)且能夠在傳輸之后捕獲剩余傳輸機會。低延遲響應促進避免沖突(舉 例來說,早的傳輸機會中的成功即時響應可避免由將在稍后的響應嘗試中出現(xiàn)的爭用 引起的沖突)。低延遲響應可促進電力節(jié)約。
另一方面,影子隊列(在下文中稱作乒乓隊列,且由等待中隊列及服務中隊列定 義)允許在傳輸機會之前(甚至在另一流正被處理以進行傳輸時)將流的元素排隊。 因此,所述流正等待,準備被處理。此促進盡可能晚地推遲處理。經(jīng)常需要推遲以允 許推遲流的速率決策,因為所述速率決策便可盡可能地最近且最新,從而允許選擇適 當?shù)乃俾蕘硎雇孔畲蠡?或使誤差最小化。
另一方面,用與流的包相關(guān)聯(lián)的元素填充隊列(如隊列1842、 1850及1855在下 文中所圖解說明)促進用于形成包的快速長度確定(可用于推遲速率確定)以及促進 包的即時聚合。大體來說,除聚合以外,所圖解說明的方面促進重傳(即,響應于所接收的塊確認)。在許多上下文中單獨需要這些方面,且這些方面也可組合。
在遺留802.11系統(tǒng)中,通常提供對四個EDCA隊列的支持。請回憶,EDCA隊 列在媒體上的非調(diào)度周期期間爭用接入,且一旦獲得傳輸機會,那么盡可能多地傳輸 數(shù)據(jù),多達最大的所規(guī)定傳輸機會。為適應競爭的EDCA隊列,各種回退方案經(jīng)部署 以防止通過競爭EDCA隊列連續(xù)同時嘗試獲得傳輸機會。因此,每一EDCA隊列可與 信道相關(guān)聯(lián),針對所述信道維持各種定時器,進行空閑信道評估(CCA)且執(zhí)行用于獲 取接入的其它程序??煽缭叫诺阑蜿犃泄蚕磉@些功能中的某些,且某些可不同。在無 線通信裝置(例如,接入點)中,需要同時支持許多流(即,實例性實施例中的256 個流),維持回退定時器及執(zhí)行與獲得較大數(shù)量的流中的每一者的傳輸機會相關(guān)聯(lián)的 各種開銷可不需要。信道類型的各種參數(shù)的不同設定可導致提供不同的服務質(zhì)量等級。 圖17描繪經(jīng)配置以使用較小固定組的標準EDCA隊列1730支持相對大的多個 EDCA隊列1710的無線通信裝置的一部分的實例性實施例。在一個應用中,可部署多 個EDCA隊列,每一EDCA隊列提供不同的服務質(zhì)量等級。在此實例中,維持多個N 個每臺EDCA隊列1770A-N。在所述實例性實施例中,可維持所支持的256個流中的 每一者的256個此類隊列。循環(huán)選擇器1720在每臺EDCA隊列之間進行仲裁且選擇 將要排到4個標準ECDA隊列1730A-D中的一者中的數(shù)據(jù)。在替代實施例中,可在選 擇器1720中執(zhí)行除循環(huán)以外的替代調(diào)度算法。可以各種方式部署選擇器,其實例詳述 于以下圖18中。在所述實例性實施例中,固件包括調(diào)度功能,所述調(diào)度功能提供用于 選擇每臺EDCA隊列以使用所述標準EDCA隊列中的一者進行遞送的選擇準則。在替 代實施例中,當然可支持任何數(shù)量的EDCA隊列。由于現(xiàn)有遺留處理組件的可用性, 在一個實施例中部署四個隊列,其中需要必要的定時器及信道評估組件來爭用及獲取 到共享信道的接入。所屬技術(shù)領(lǐng)域中的技術(shù)人員將容易地找到多個遺留802.11核心及 組件,其可包括于本文中的各種實施例中或經(jīng)修改以支持所需要的額外特征。下文進 一步詳述根據(jù)本文中所揭示的原理的使用遺留核心及/或組件的實例性實施例。可使用 標準EDCA程序來傳輸調(diào)度于EDCA隊列1730A-D中的包。固件調(diào)度器可執(zhí)行除 EDCA以外的額外調(diào)度,例如輪詢傳輸機會(其實例在HCCA協(xié)議中已知)。如所屬 技術(shù)領(lǐng)域中的技術(shù)人員將明了,可研發(fā)各種其它協(xié)議,可針對其修改調(diào)度器。除循環(huán) 選擇EDCA隊列1710以用標準隊列進行傳輸以外,通常更有效的是針對每一 STA聚 合包且針對來自所述臺的所有包進行特征導引(或其它空間處理)。當傳輸被導引到 特定臺(或一群組類似定位的臺)時,特征導引提供最大益處。因此,可有意義地將 前往既定臺的所有包放到一個緩沖器中,以便可將其聚合并傳輸?shù)剿雠_在替代實施 例中,使單個緩沖器用于所有EDCA包是可能的。然而,在此情況下,當所述包與去 往其它臺的包(與其它特征導引值)交錯時,那么可難以進行或無法進行聚合。
EDCA隊列的使用僅為例示性。大體來說,可部署與各種類型的信道相關(guān)聯(lián)的隊 列的選擇。所述信道類型可基于服務質(zhì)量等級及/或傳輸類型(例如,經(jīng)調(diào)度的接入或 基于爭用的接入)而不同。
31圖18描繪圖解說明下層媒體接入控制核心540的各種組件的實例性實施例。提
供節(jié)點用于包處理的效率的各種方面、用于將固件從包處理速度解耦的隊列及高速緩 存器及其它方面將圖解說明于以下實例中。所屬技術(shù)領(lǐng)域中的技術(shù)人員將認識到,可 部署額外組件(未顯示),且并非在任一特定實施例中都需要所圖解說明的每一方面
或特征來利用其它方面或特征。圖18的細節(jié)圖解說明流的調(diào)度及經(jīng)調(diào)度以進行最終傳
輸?shù)母鞣N包的識別。結(jié)果以與經(jīng)調(diào)度包相關(guān)聯(lián)的識別符、相關(guān)聯(lián)參數(shù)及每一信道類型
的就緒信號遞送到傳輸(TX)引擎1880而終結(jié)。在此實施例中,使用節(jié)點執(zhí)行包識別, 如上文所詳述。在此實例中,遺留802.11類型信道用于例示目的。所屬技術(shù)領(lǐng)域中的 技術(shù)人員將認識到可使用圖18中所詳述的類似組件來適應任一信道類型。在此實例 中,維持四個EDCA隊列,EDCA 0-3 1850A-D。還與廣播控制信道1860 —同部署HCCA 隊列1855。進一步詳細圖解說明EDCAO的結(jié)構(gòu),其中省略其它信道的細節(jié),因為其 在各種實施例中可相同或類似。
傳輸調(diào)度以固件填充與每一信道(舉例來說,1850或1855)相關(guān)聯(lián)的一個或一 個以上命令列表1815開始。所述命令列表填充有將被調(diào)度的流識別符。所述命令列表 可包含流識別符連同傳輸機會。對于EDCA隊列,傳輸機會將被爭用,且因此不可提 前知道傳輸時間。然而,最大傳輸機會大小可連同所述流識別符包括在內(nèi)。對于HCCA 調(diào)度,可知道所述傳輸機會大小以及經(jīng)調(diào)度的遞送時間,且此傳輸機會信息可與所述 流識別符一同包括在相關(guān)聯(lián)的命令列表1815中。對于每一信道,陣列控制器1840可 控制所述信道的包的調(diào)度。所述陣列控制器彈出來自命令列表1815的流識別符以確定 將要傳輸?shù)南乱唤?jīng)調(diào)度流。維持這些命令列表中的數(shù)個允許固件調(diào)度器一次作出一批 決策且將其放到相應列表中,可隨著時間實施所述決策。此允許各種陣列控制器1840
處理來自所述列表的流識別符,從而減小對固件交互作用的需要。此允許減少或消除 對固件的中斷且將所述固件調(diào)度從媒體接入控制處理解耦,如上文所說明。所屬技術(shù) 領(lǐng)域中的技術(shù)人員將容易地修改用于調(diào)度流以在所支持組的信道(包括基于EDCA類 型爭用的信道或HCCA類型輪詢或經(jīng)調(diào)度信道)中進行服務的替代技術(shù)。
在此實例中,為所支持的多個流中的每一者維持傳輸節(jié)點高速緩存器1810。傳輸 節(jié)點高速緩存器1810用作通用每流高速緩存器的實例,且適于部署為上文所圖解說明 的隊列1710。在所述實例性實施例中,將維持256個此類流。每一流高速緩存器包含 用于多個節(jié)點(其表示所述流的相應包)的空間。在所述實例性實施例中,在每一傳 輸節(jié)點高速緩存器1810中維持每一流的四個節(jié)點。因此,至少4個包被識別為將要針 對256個流中的每一者傳輸?shù)南乱慌???赏ㄟ^至少這四個節(jié)點滿足那些流所需要的 任何立刻傳輸。在替代實施例中,如果需要,可支持額外節(jié)點。
雖然在此實例性實施例中使用節(jié)點來圖解說明一個方面,但存在可部署的多種等 效技術(shù)。舉例來說,可高速緩沖存儲替代數(shù)據(jù)結(jié)構(gòu)。在另一實例中,可高速緩沖存儲 包本身。大體來說,圖解說明為多個高速緩存器1810的高速緩存器將用于存儲一個或 一個以上元素,可在處理所高速緩沖存儲的元素之后從所述元素識別及檢索相應的一個或一個以上包。
傳輸節(jié)點高速緩存器刷新1835與高速緩存器1810交互作用以保持其填滿及更 新。傳輸節(jié)點高速緩存器刷新1835可與存儲器仲裁器(例如,上文所詳述的存儲器仲 裁器10S0)交互作用。在一個實施例中,作出檢索流的一個或一個以上節(jié)點的請求, 且當包緩沖器被準予接入時,可將所檢索的節(jié)點放到相應的傳輸節(jié)點高速緩存器1810 中。可遠離圖18中所示的剩余處理而相對自主地操作傳輸節(jié)點高速緩存器刷新。
每一信道的陣列控制器1840確定將從命令列表1815傳輸?shù)南乱涣髯R別符。從所 述流識別符,陣列控制器1840接入傳輸陣列狀態(tài)表1830以檢索與所述流識別符相關(guān) 聯(lián)的各種參數(shù)及/或存儲狀態(tài)。因此,傳輸陣列狀態(tài)1830維持所支持流的每流狀態(tài)信 息。(注意,在替代實施例中,傳輸陣列狀態(tài)表1830可與任何其它每流狀態(tài)表(例如, 上文所詳述的傳輸流狀態(tài)表1030)組合。)注意,傳輸節(jié)點高速緩存器刷新1835還 與傳輸陣列狀態(tài)表1830交互作用以更新與高速緩存器刷新相關(guān)聯(lián)的某些參數(shù),下文加 以進一步圖解說明。舉例來說,傳輸節(jié)點高速緩存器刷新1835基于相應節(jié)點的傳輸隊 列檢索用于所述流的節(jié)點。
陣列控制器1840使用經(jīng)調(diào)度流的每流狀態(tài)來填充其相應的傳輸節(jié)點陣列1842(隊 列的例示)。傳輸節(jié)點陣列1842是所述流的以遞送到傳輸引擎1880的傳輸次序排序 的節(jié)點陣列。如圖所示,將當前所調(diào)度流的存儲在傳輸節(jié)點高速緩存器1810中的所述 組節(jié)點(由命令列表1815識別)遞送到所述流在其上被調(diào)度以進行傳輸?shù)男诺赖膫鬏?節(jié)點陣列1842。此允許在傳輸變得可用時立刻調(diào)度一組已知節(jié)點。在所述實例性實施 例中,四個節(jié)點可用于每一流以被放到傳輸節(jié)點陣列1842中。剩余傳輸節(jié)點陣列1842 可填充有流的額外節(jié)點。在實例性實施例中,傳輸節(jié)點陣列1842針對經(jīng)由傳輸引擎 1880的所調(diào)度遞送一次保存64個包識別符(即,節(jié)點)。前四個是從所述流的傳輸 節(jié)點高速緩存器檢索的而剩余包是從包緩沖器存儲器檢索的。以與其它包緩沖器存儲 器存取類似的方式,可作出從所述包緩沖器存儲器檢索所述流的節(jié)點的請求(細節(jié)未 顯示)。在替代實施例中,可直接從所述包緩沖器填充節(jié)點陣列而無需首先從高速緩 存器(例如,高速緩存器1810)檢索元素。在又一實施例中,根本不需要部署高速緩 存器1810,但仍可享受節(jié)點陣列1842所圖解說明的方面。
陣列控制1840、命令列表1815及相關(guān)組件是可包括于選擇器(例如,上文參照 圖17說明的選擇器)中的組件的實例,所述選擇器用于從多個高速緩存器(即,1810) 選擇元素且將其存儲在多個隊列(例如,分別由隊列1842及EDCA及HCCA隊列1850 及1860圖解說明)中的一者中。大體來說,選擇器可基于所需要的任何因素(例如, 服務質(zhì)量、信道類型及類似因素)選擇任何數(shù)量的每流高速緩存器或每流隊列(即, 包緩沖器中的傳輸隊列)以將元素存儲在隊列(例如,節(jié)點陣列1842)中或多個此類 隊列中的一者中。
在所述實例性實施例中,如上所述,需要傳輸節(jié)點高速緩存器刷新1835的自主 操作,所述自主操作與填充將要遞送到傳輸引擎1880的傳輸節(jié)點陣列1842的各種陣列控制器1840分離。然而,有時可能相應流的傳輸節(jié)點高速緩存器可需要在與陣列控 制器1840正從包緩沖器存儲器存取來自所述流的隊列的包大約相同的時間刷新。因 此,可定義互鎖功能以防止陣列控制器1840或傳輸節(jié)點高速緩存器刷新1835破壞傳 輸隊列,從而防止復制或丟棄來自所述隊列的包。所屬技術(shù)領(lǐng)域中的技術(shù)人員將明了 各種互鎖技術(shù),且下文參照圖20進一步詳述實例性實施例。
可將額外方面并入到各種信道(例如,EDCA信道1850、 HCCA信道1855或廣 播控制信道1860)中。在所述實例性實施例中,將傳輸節(jié)點陣列1842實施為兩個影 子節(jié)點陣列。因此,第一影子傳輸節(jié)點陣列可被填充所調(diào)度流的節(jié)點且可向傳輸引擎 1880斷言就緒信號。然后,陣列控制器1840可繼續(xù)進行以從其命令列表彈出下一流 識別符,且執(zhí)行用所述下一流的包裝載第二影子傳輸節(jié)點陣列所必要的處理。以此方
式,可處理一個傳輸節(jié)點陣列以進行傳輸,同時另一傳輸節(jié)點陣列正被填充,從而減 小與在開始新的節(jié)點陣列填充過程之前等待傳輸完成相關(guān)聯(lián)的可能延遲。鏈路識別符
1844與傳輸節(jié)點陣列1842相關(guān)聯(lián),因此傳輸引擎1880可檢索適當?shù)逆溌穮?shù)及狀態(tài) 以用于在兩個臺之間的實際物理鏈路上傳輸所述流。當如剛剛所說明的那樣部署乒乓 或影子高速緩存器時,鏈路識別符1844存儲一個影子傳輸節(jié)點陣列中所包含的流的 鏈路識別符A而鏈路識別符B包含第二影子傳輸節(jié)點陣列中的流的鏈路識別符。在替 代實施例中,還可將與每一相應流相關(guān)聯(lián)的其它參數(shù)連同1844中的鏈路識別符一同存 儲。
所述兩個影子節(jié)點陣列是影子或乒乓隊列的一般方面的例示。大體來說,隊列可 對應于特定類型的信道,例如EDCA或HCCA信道。每一信道可具有從多個服務質(zhì)量 等級中選擇的相關(guān)聯(lián)服務質(zhì)量等級。此實例中的隊列包含兩個影子隊列。還可將所述 隊列說明為包含服務中隊列及等待中隊列。所述物理影子隊列被交替指派為所述服務 中隊列或所述等待中隊列。因此,如上文所說明,可在不打擾所述服務中隊列的處理 的情況下填充所述等待中隊列。當所述服務中隊列已完成處理時,那么可將其對應的 影子隊列重新選擇為等待中隊列,且可開始在任一時間用另一流填充所述對應的影子 隊列。然后,將作為等待中隊列的影子隊列重新選擇為服務中隊列,且用于傳輸?shù)奶?理于是便可開始。以此方式,可選擇相對多數(shù)量的流(其可與各種服務質(zhì)量等級相關(guān) 聯(lián))來存儲在適當隊列中(根據(jù)服務質(zhì)量等級以及經(jīng)調(diào)度的接入或基于爭用的接入等)。 所述選擇可基于循環(huán)(如上文所說明)或任何其它類型的選擇準則。
如上文參照高速緩存器1810所陳述,雖然在此實例性實例中使用節(jié)點來圖解說 明一個方面,但存在可部署的多種等效技術(shù)。舉例來說,替代數(shù)據(jù)結(jié)構(gòu)可存儲于隊列 中,例如1842 (或1850及1855)。在另一實例中,可存儲包本身。大體來說,圖解 說明為隊列1842的隊列將用于存儲一個或一個以上元素,可在處理所述排隊的元素之 后從所述元素識別及檢索相應的一個或一個以上包。
雖然用(舉例來說)來自節(jié)點陣列高速緩存器1810的四個節(jié)點填充"乒乓"緩 沖器1842的一側(cè),但傳輸期間可存在繼續(xù)填充所述陣列的時間。已經(jīng)提到且進一步詳
34述于下文中的是非調(diào)度自動省電遞送模式,其立刻利用所述前四個包。在非調(diào)度自動 省電遞送中,可將指示符(例如,"更多"位)與所述前四個包一同發(fā)送。在所述包 的傳輸之后且等待所述前四個包(具有任何所需要的幀間間隔)的確認時,傳輸器需 要準備額外傳輸。在此時間期間,可根據(jù)所部署的實施例適當?shù)貜膫鬏敼?jié)點高速緩存
器或包緩沖器接入來自所述流的額外節(jié)點。對于其它傳輸類型,可存在保持所述傳輸 節(jié)點陣列填滿以進行可用傳輸機會所提供的所有包的傳輸?shù)念愃茩C會。
在任一既定實施中,可向廣播控制1860部署與陣列控制器1840類似的功能性。
然而,其可需要減少的或替代組的功能性。在此實例中,部署包含指向信標包的指針
1863的信標塊1862。如所屬技術(shù)領(lǐng)域中的技術(shù)人員所熟知,固件可產(chǎn)生所述信標包, 包括所需要的任何標頭信息、參數(shù)等。信標1862可在適當時間檢索將要傳輸?shù)乃鶆?chuàng)建 包。舉例來說,固件調(diào)度器可產(chǎn)生正被創(chuàng)建的信標的時間戳值且將此時間戳值遞送到 信標塊1862。因此,可在適當周期或在適當周期附近傳輸所述信標(即,802.11實施 例中的TBTT)。在此種實例中,信標1862穿過廣播控制1860產(chǎn)生到傳輸引擎1880 的就緒信號。執(zhí)行對媒體的爭用且將在針對與等待信道進行清理相關(guān)聯(lián)的任何推遲進 行調(diào)整的適當時間傳輸所述信標。所屬技術(shù)領(lǐng)域中的技術(shù)人員將容易地根據(jù)本文中的 教示修改圖18以提供信標或其它系統(tǒng)信令消息。在替代實施例中,信標1862實際上 可直接存儲信標包,而不是使用間接指針1863。
以類似方式,還可產(chǎn)生廣播或多播信道。廣播及/或多播信道實質(zhì)上是特殊用途流 識別符。不需要如上文所說明的命令列表1815那樣用多個ID調(diào)度廣播信道。然而, 如果需要多個廣播信道及/或各種多播信道,那么還可部署類似調(diào)度程序(細節(jié)未顯 示)。廣播或多播包可由廣播多播塊1864中的指針1865識別以在傳輸引擎1880上傳 輸(經(jīng)由廣播控制1860)。另一選擇為,所述包本身可存儲在1864中。注意,如說 明圖18時所使用,將明了,當部署例如上文參照圖6所詳述的包緩沖器存儲器方案時, 可用對節(jié)點的參考替代對包的參考。因此,可看出,當節(jié)點及程序塊用于存儲包時, 在包緩沖器存儲器本身內(nèi)維持所述隊列是高效且容易的。此外,可通過簡單地檢索及 存儲節(jié)點(而不是移動包連同所述節(jié)點)來維持用于調(diào)度各種流的高速緩存器(如圖 18中所圖解說明)。如下文將進一步詳述,實際包數(shù)據(jù)被從包緩沖器移除的唯一時間 是在所述包的傳輸點。同時,簡單地使用節(jié)點來完成包處理及調(diào)度。下文在說明傳輸 引擎1880時進一步詳述圖解說明節(jié)點的益處的額外方面。在接收處理側(cè)上也享受類似 益處。
注意,如下文參照圖48及49進一步詳述,在替代實施例中,可存在來自其它源 而不是包緩沖器的用于在傳輸引擎上遞送的包。舉例來說,可使用固件媒體接入控制 處理器在處理器中將遺留或低通量包格式化,且可提供那些包以進行傳輸。注意,上 文所詳述的結(jié)構(gòu)可適于此種實施例。舉例來說,命令列表1815還可用于調(diào)度來自替代 源的傳輸。舉例來說,流識別符、將要發(fā)送的包的數(shù)量及所述包是高通量還是低通量 (或者,更一般來說,來自包緩沖器還是外部包源)的指示符。如果調(diào)度低通量包,那么可從傳輸處理器存儲器先進先出存儲器(即,4950)對其進行檢索,或另一選擇
為,從處理器存儲器對其進行檢索(例如,通過直接存儲器存取),如下文所說明。
注意,在此種實施例中,另一選擇為,也可在固件中形成針對廣播控制1860產(chǎn)生的消 息,例如信標及任何廣播或多播消息。因此,可省略組件1862、 1864及1860。
圖19描繪下層媒體接入控制核心處理器540的區(qū)段的實例性詳細實施例。如圖 19中所示,選擇器1930遞送從命令列表1815檢索的流識別符。此為概念性例示,在 于正在接入什么類型的信道是任意的。可選擇任何數(shù)量的命令列表且將其耦合到傳輸 陣列狀態(tài)1830。當來自所選擇信道的流識別符被提供到傳輸陣列狀態(tài)1830時,檢索 相關(guān)聯(lián)的每流陣列狀態(tài)1902并將其遞送到需要所述狀態(tài)的各種組件的一個或一個以 上組件。選擇器1930是圖解說明基于流識別符選擇性地檢索每流參數(shù)(即,存儲在陣 列狀態(tài)1902中)的選擇器的實例。大體來說,流狀態(tài)表(或任何其它組的每流參數(shù)) 可由流識別符檢索,或可通過根據(jù)流識別符選擇流索引及使用所述流索引來査找每流 參數(shù)(可能存儲在一個或一個以上存儲器中)而間接檢索。本文中所圖解說明的實例 顯示各種接收及傳輸每流參數(shù),可使用這些技術(shù)中的任一種存儲及/或接入所述參數(shù)。 如圖3及4中所大體圖解說明,集成電路(舉例來說)可經(jīng)部署以依據(jù)所述集成電路 以哪種模式配置來使用任一類型的每流參數(shù)存儲。此促進在可用的存儲器中有效地支 持可變數(shù)量的流(不管大還是小)的能力。
圖解說明實例性每流陣列狀態(tài)1902。當從包緩沖器檢索相關(guān)聯(lián)流的節(jié)點時,將要 檢索的節(jié)點的數(shù)量是窗口大小及可用包的最小值。因此,對于可用包的總數(shù)量或通行 窗口大小1910,可將多達64節(jié)點的系列(在所述實例性實施例中)填充到傳輸節(jié)點 陣列中。如上文所說明,通過讀取每一節(jié)點中的下一隊列指針、檢索所述下一節(jié)點、 將所述節(jié)點放入傳輸陣列中等等來確定相應流的傳輸隊列中的每一后續(xù)節(jié)點,直到可 用于所述流的包耗盡或窗口已滿。
頭隊列指針1912指示指向相應流的傳輸隊列(例如,鏈接表數(shù)據(jù)結(jié)構(gòu))的隊列 的頭處的節(jié)點。當將要傳輸來自所述流的包時,所述頭隊列指針是將被依次檢索的第 一節(jié)點。所述隊列中的包的數(shù)量存儲于字段1914中。當接收所述流的傳入包時此數(shù)量 將增大且隨著所述傳入包被傳輸而減小。高速緩存器中的包的數(shù)量(存儲在字段1916 中),其可與傳輸節(jié)點高速緩存器刷新1835聯(lián)合使用以補充傳輸節(jié)點高速緩存器1810 且用于用來自那里的節(jié)點填注傳輸節(jié)點陣列1842。為既定流檢索鏈路識別符1918且 可將所述鏈路識別符存儲于鏈路識別符1844中以用于傳輸器中以檢索鏈路特定狀態(tài) 及/或參數(shù)。在某些實施例中,節(jié)點的鏈接表可由較大數(shù)量的包組成。窗口大小可用于 確保僅處理窗口內(nèi)的那些包以進行傳輸。窗口端指針1920可用于窗口管理。替代實施 例可包括額外字段,且可省略所說明的那些中的某些。實例性額外字段包括經(jīng)聚合媒 體接入控制協(xié)議數(shù)據(jù)單元密度字段及傳輸隊列尾指針。
圖20圖解說明可經(jīng)部署以如圖18中所示的那樣使用的實例性互鎖。在此實例中, 傳輸節(jié)點高速緩存器刷新1835在其處于從包緩沖器存儲器檢索信息的過程中時產(chǎn)生
36忙碌信號。在此時間期間,其還向傳輸節(jié)點高速緩存器的流識別符指示其正在更新。 然后,陣列控制器1840知道其可能正在處理的流識別符是否具有從包緩沖器接入的節(jié)
點(注意,可存在數(shù)個陣列控制器1840,每一者接收這些信號, 一個信號用于每一信 道)。因此,陣列控制器1840可推遲針對所述流識別符接入包緩沖器RAM,因為來 自所述流識別符的某些包可能處于到節(jié)點陣列高速緩存器的通行中。此防止陣列控制 器1840打擾流的傳輸節(jié)點高速緩存器刷新操作。
此外,部署多個比較塊2010以從傳輸節(jié)點高速緩存器刷新接收流識別符。每一 比較塊從信道(即,EDCA0-3 1850A-D,細節(jié)未顯示)接收指示相應信道的陣列控制 器1840正在接入包緩沖器以檢索用于填充相應傳輸節(jié)點陣列1842中的額外空間的節(jié) 點的流識別符。如果這些流識別符中的任一者匹配,那么將斷言相應的線。OR("或") 門2020提供所有比較輸出的邏輯OR以產(chǎn)生忙碌信號。傳輸節(jié)點高速緩存器刷新1835 可等待繼續(xù)更新直到所述忙碌信號離開?;蛘?,其可改變流識別符以嘗試更新不同流 的高速緩存器。如果改變所述流識別符解斷言所述忙碌信號,那么傳輸節(jié)點高速緩存 器刷新1835知道其將不會打擾陣列控制器1840中的任一者的操作。所屬技術(shù)領(lǐng)域中 的技術(shù)人員將認識到對此互鎖方案的各種修改以及其它互鎖方案,可在本文的教示的 范圍內(nèi)部署所述互鎖方案。
在替代實施例中(細節(jié)未顯示),如上文那樣為每一流維持四包節(jié)點高速緩存器 (FPNC) 1810。每一高速緩存器包含節(jié)點指針(12字節(jié))。如上文,這些是當相應流 得到傳輸機會時將在無線局域網(wǎng)上傳輸?shù)那八膫€包。在此實施例中,當在傳入處接收 到包時,將其放入同步動態(tài)隨機存取存儲器中且向節(jié)點高速緩存器有限狀態(tài)機(FSM) (其可類似于傳輸節(jié)點高速緩存器刷新1835或經(jīng)部署以替代傳輸節(jié)點高速緩存器刷 新1835)發(fā)信號。如果對應于所接收包的四個節(jié)點包高速緩存器中存在空間,那么將 節(jié)點信息添加到相應高速緩存器存儲器。當將節(jié)點信息發(fā)送到同步動態(tài)隨機存取存儲 器以放入鏈接表中時,還將其發(fā)送到所述四包節(jié)點高速緩存器。如果所述四包節(jié)點高 速緩存器中存在空間及如果所述四包節(jié)點高速緩存器未在使用中(在相應流的無線局 域網(wǎng)傳輸機會期間),那么將所述節(jié)點信息放入所述四包節(jié)點高速緩存器中。服務中 位可由陣列控制器1840設定以向有限狀態(tài)機指示所述流在服務中。此在作用上類似于 上文所詳述的互鎖。
所述四包節(jié)點高速緩存器狀態(tài)機在先到先服務的基礎(chǔ)上操作以更新所述四包節(jié) 點高速緩存器。所述四包節(jié)點高速緩存器尤其用于服務啟用非調(diào)度自動省電遞送的臺 的包,下文進一步詳述。當接收到觸發(fā)時,下層媒體接入控制核心540確認所述觸發(fā) 且可立刻以多達4個包的聚合來響應,如上文所說明。所述四包節(jié)點高速緩存器狀態(tài) 機在因傳輸機會而耗盡四包節(jié)點高速緩存器之后需要補充四包節(jié)點高速緩存器。所述 四包節(jié)點高速緩存器狀態(tài)機可使用識別需要補充的流的隊列來操作。所述隊列可由呈 優(yōu)先級次序以由所述四包節(jié)點高速緩存器進行服務的流組成,所述優(yōu)先級由例如所述 臺是否處于非調(diào)度自動省電遞送模式中,所述流是基于HCCA的流還是基于EDCA的流及其它考慮因素等決定。
此替代實施例的作用可類似于使用上文所詳述的互鎖的傳輸節(jié)點高速緩存器刷 新塊1835。大體來說,可需要基于來自傳入及/或周期性刷新的觸發(fā)來更新節(jié)點陣列高 速緩存器。時間關(guān)鍵應用(例如,語音)可需要來自傳入的瞬時(或近乎瞬時)觸發(fā)。 周期性刷新可用于用包緩沖器中的包補充所述傳輸節(jié)點高速緩存器(即,在所述流的 一個或一個以上包已被發(fā)送以進行傳輸且不再在節(jié)點高速緩存器1810中之后)。(舉
例來說,如果包到達傳入,且所述節(jié)點高速緩存器已滿,因此所述包只好傳入包緩沖 器, 一般需要的結(jié)果是保持所述高速緩存器填滿)。在所述實例性實施例中,周期性 刷新可以是自主操作的后臺過程。所屬技術(shù)領(lǐng)域中的技術(shù)人員將認識到狀態(tài)機、服務 中位、互鎖及各種其它技術(shù)可用來保持節(jié)點高速緩存器填滿,且響應于由到達的傳入 包以及離開的傳輸包產(chǎn)生的需要來對所述高速緩存器進行填充。
圖21描繪上文參照圖18所詳述的鏈路識別符1844的實例性實施例。如圖所示, 存儲鏈路識別符A2110以識別并入到傳輸節(jié)點陣列1842中的影子傳輸節(jié)點陣列中的 一者中的流的鏈路識別符。字段2120用所述鏈路識別符識別所包括的包(即,節(jié)點) 的數(shù)量。注意,在此實施例中,聚合仍基于流識別符,因為所述鏈路識別符用于識別 物理層參數(shù)(例如,物理層速率)及安全密鑰。編入此表的索引是所述流識別符。
同樣,存儲鏈路識別符B2130以用于識別并入于傳輸節(jié)點陣列1842內(nèi)的另一影 子傳輸節(jié)點陣列中的流的鏈路識別符。與所述鏈路識別符相關(guān)聯(lián)的包的數(shù)量存儲在字 段2140中。注意,可將與相應流相關(guān)聯(lián)的各種其它參數(shù)及/或狀態(tài)變量與這些一同存 儲,以用于替代實施例(如果需要)。
圖22描繪下層媒體接入控制核心540的實例性實施例的額外組件。如上文參照 圖18所說明,多個信道可連接到傳輸引擎1880,所述信道中的每一者斷言就緒指示 符以讓傳輸引擎1880知道準備發(fā)送一個或一個以上包。識別所述包的節(jié)點將在傳輸節(jié) 點陣列1842中等待,且那些包的相關(guān)聯(lián)鏈路識別符將存儲在鏈路識別符1844中。每 一信道可存在這些組件中的每一者的一組。圖22圖解說明隨著這些包在傳輸鏈中向下 游移動時的其進一步處理。
傳輸引擎1880接收各種就緒信號且在其之間進行仲裁以執(zhí)行各種功能過程及任 務。當傳輸引擎1880準備籌備將要傳輸?shù)陌鼤r,其知道傳輸機會的大小,所述傳輸機 會指示可用于使用共享媒體的時間的長度。然而,由于數(shù)據(jù)速率可基于鏈路條件變化, 因此將要在所述傳輸機會內(nèi)發(fā)送的包的數(shù)量也改變。在所述實例性實施例中,速率有 限狀態(tài)機(FSM) 2210經(jīng)部署以用于確定特定包將使用的OFDM符號的數(shù)量。傳輸引擎 1880向速率有限狀態(tài)機2210遞送指示以字節(jié)為單位的包的長度的傳輸長度(其方便 地位于所述節(jié)點的長度字段中)。遞送(從鏈路識別符1844)鏈路識別符被及用以指 示速率有限狀態(tài)機2210應開始其過程的開始信號。速率有限狀態(tài)機2210返回所述包 將使用的符號的數(shù)量。此信息可用于確定當執(zhí)行聚合時可累積的每一包的符號數(shù)量, 下文進一步詳述。注意,可部署用于確定符號的數(shù)量、速率等的各種替代技術(shù)。使用執(zhí)行每包符號計算的外部有限狀態(tài)機僅為適于部署的許多實例中的一者。下文詳述速 率有限狀態(tài)機2210的實例性實施例。
傳輸引擎1880還耦合到存儲器仲裁器,例如上文所說明的存儲器仲裁器1080。 對于準備傳輸?shù)陌械拿恳徽?,傳輸引?880根據(jù)相應節(jié)點中的信息從包緩沖器提取 程序塊,且任何鏈接程序塊由下一程序塊指針識別。將所述程序塊數(shù)據(jù)返回到傳輸引 擎1880,在傳輸引擎1880處將所述程序塊數(shù)據(jù)遞送到一個或一個以上先進先出存儲 器2220。在此實例中,先進先出存儲器2220包含于遺留協(xié)議引擎2210中。注意, 數(shù)據(jù)到一個或一個以上先進先出存儲器的寫入可由先進先出存儲器就緒信號或任何其 它流控制機制控制。如上文所說明,且下文參照圖48及49進一步詳述,在替代實施 例中,可存在到傳輸引擎1880的額外輸入以與一個以上媒體接入控制處理器面接。在 實例性替代實施例中,處理器210及固件實施用于處理低通量包的媒體接入控制處理 器。這些包可被從處理器存儲器先進先出存儲器4950 (或在另一替代實施例中,直接 從處理器存儲器)遞送到傳輸引擎1880。
如上文所論述,可方便地使用現(xiàn)有遺留協(xié)議組件來執(zhí)行各種功能以支持802.11媒 體接入控制處理。還可部署其它標準化協(xié)議引擎,且遺留協(xié)議引擎2210可經(jīng)修改以提 供所需要的各種特征。在遺留協(xié)議引擎的實例性實施例中,存在四個先進先出存儲器 2220 A-D, 一個用于四個EDCA隊列中的每一者。HCCA信道具有額外先進先出存儲 器2220 E,且針對信標及廣播/多播信道部署先進先出存儲器2220 F-G。注意,可將 先進先出存儲器部署為單個緩沖器(即,用于存儲信標信號)。可部署任何數(shù)量的先 進先出存儲器或其它緩沖器類型以用于接收將要傳輸?shù)陌?br>
在接收到就緒斷言時,傳輸引擎1880將第一包程序塊放入第一節(jié)點所規(guī)定的適 當核心先進先出存儲器中。如剛剛說明,此可就額外程序塊(如果有)繼續(xù),直到完 成第一包。同時,可使用速率有限狀態(tài)機2210來確定可被傳輸?shù)陌目倲?shù)。在監(jiān)視 先進先出存儲器就緒時,傳輸引擎1880可繼續(xù)所述程序,從而將剩余包放入相應先進 先出存儲器中。在所述實例性實施例中,將包放入所述先進先出存儲器中驅(qū)使遺留協(xié) 議引擎2210爭用接入(針對EDCA類型接入)且開始傳輸(在獲得接入時,或在所 調(diào)度的傳輸機會期間)。
圖23描繪速率有限狀態(tài)機2210的實例性實施例。所接收的鏈路識別符用作編入 速率表2310中的索引。表2310在鏈路識別符的基礎(chǔ)上存儲且包含與所述鏈路相關(guān)聯(lián) 的一個或一個以上速率以及時間戳值(TSV) 2311??梢愿鞣N方式中的任一種來更新速 率表2310。固件可提供更新的速率。所接收的數(shù)據(jù)速率向量反饋包可包括速率信息且 可用于更新各種速率。TSV2311可用于指示當接收到包含速率反饋的包時的時間戳, 從而提供所述速率信息是最新還是陳舊的指示。舉例來說,如果在某段時間內(nèi)未更新 速率,那么保守的方法可在信道已在插入時間幀中惡化的情況下降低所述速率。固件 可確定是否存在老化及是否回退速率及更新速率表。在所述實例性實施例中,存在對 應于四個天線中的每一者的四個速率R1 -R4 2312-2315。例如使用特征導引模式還是
39另一擴展模式等其它信息也可用于速率計算。將來自表2310的速率信息發(fā)送到速率計 算有限狀態(tài)機2320。
對于每一速率,速率選擇表2330包含固件用可用于所述速率中的每一者的每符 號字節(jié)數(shù)量來更新表。在實例性實施例中,存在N-16速率2332,每一者具有對應的 每符號字節(jié)數(shù)量,因此每一速率選擇值是4位。將每符號的字節(jié)數(shù)量遞送到加法器 2335,所述加法器的輸出去往聚合速率累積器2340。
聚合速率累積器2340用于累積聚合速率且輸出被反饋回加法器2335??捎脕碜?速率計算有限狀態(tài)機2320的清理信號來清理累積器2340。對于可用速率中的每一者, 將每符號字節(jié)數(shù)量相加以累積總的聚合速率,來自所述總的聚合速率中的某一數(shù)量的 符號NS 2360可用于指示串流的數(shù)量。在2345中減去NS 2360以提供聚合速率。NS 2360可由固件更新。在2350中將包的長度(在所述實例性實施例中以字節(jié)為單位遞 送)加上常數(shù)2365 (也可由固件更新)以產(chǎn)生真正長度。CONST 2365可指示可選限 制。舉例來說,可部署經(jīng)聚合媒體接入控制協(xié)議數(shù)據(jù)單元密度以提供連續(xù)媒體接入控 制協(xié)議數(shù)據(jù)單元標頭之間的最小間隔。在除法器2355中,真正長度A除以聚合速率, 針對NS規(guī)格化且產(chǎn)生商及余數(shù)。將所述商遞送到加法器2375以概念性地產(chǎn)生上限函 數(shù),其中如果2370中存在任何余數(shù),那么必須使用一個額外符號(即,符號的一部分 被填充,因此必須部署所述整個符號)。寄存器NSYM 2375由速率計算有限狀態(tài)機 2320啟用以存儲將由傳輸引擎1880遞送及使用的所得符號數(shù)量。
圖24顯示概念性遺留協(xié)議引擎2210。模式選擇信號可用于指示其中所述協(xié)議引 擎起作用的各種模式中的一種。大體來說,將媒體接入控制協(xié)議數(shù)據(jù)單元連同用以指 示傳輸應開始的就緒信號一同遞送。所述遺留協(xié)議引擎可從輸入媒體接入控制協(xié)議數(shù) 據(jù)單元產(chǎn)生經(jīng)加密的輸出。在所述實例性實施例中,使用遺留協(xié)議引擎的加密特征(通 ??稍诘湫?02.11核心中找到)。在替代實施例中,如所屬技術(shù)領(lǐng)域中所熟知,任何 類型的加密設備可包括在內(nèi)。圖24中還顯示經(jīng)加密的輸入(舉例來說,從無線局域網(wǎng) 120接收)被遞送到遺留協(xié)議引擎2210以產(chǎn)生未經(jīng)加密的輸出媒體接入控制協(xié)議數(shù)據(jù) 單元。
圖25顯示與到物理層260的概念性鏈路連接的典型遺留協(xié)議引擎。如圖所示, 將接收向量連同所接收數(shù)據(jù)及空閑信道評估(CCA)信號一同從物理層260遞送到遺留 協(xié)議引擎2210。所述接收向量可包含各種信息,例如調(diào)制類型、所接收數(shù)據(jù)的長度及 其它參數(shù)。特定來說,可返回可用于速率確定(例如,在上文所說明的速率有限狀態(tài) 機2210中)的數(shù)據(jù)速率反饋。空閑信道評估可用于定時器2510 (與各種信道相關(guān)聯(lián)) 以在使用基于爭用的協(xié)議(例如,EDCA)時爭用到媒體的接入??稍趬K2520中執(zhí)行 加密及解密。先進先出存儲器2220可類似于上文所說明的那些先進先出存儲器。當 然,對于HCCA,所述傳輸是經(jīng)調(diào)度的,且可在預定時間開始。將經(jīng)加密數(shù)據(jù)與指示 所述傳輸應開始的傳輸請求信號一同發(fā)送到物理層260。遞送到物理層260的傳輸向 量指示從遺留功能產(chǎn)生的各種參數(shù)。注意,在所述實例性實施例中,當在遺留模式中操作時,遺留協(xié)議引擎的輸出可足以在物理層260上傳輸。
圖26描繪進一步詳述傳輸包的媒體接入控制處理的實例性實施例。在所述實例
性實施例中,將遺留協(xié)議引擎的輸出媒體接入控制協(xié)議數(shù)據(jù)單元(在可應用時加密)
遞送到聚合模塊2610。與圖25中所詳述的實施例相比,不直接將來自遺留協(xié)議引擎 2210的經(jīng)加密數(shù)據(jù)輸出遞送到物理層。在所述實例性實施例中,可對遺留協(xié)議引擎 2210做出修改,使得經(jīng)定時的穩(wěn)定經(jīng)加密媒體接入控制協(xié)議數(shù)據(jù)單元串流被遞送到聚 合模塊,然后遞送到所述物理層上以進行遞送??勺龀鏊鲂薷囊砸瞥a(chǎn)生聚合的幀 不需要的所述媒體接入控制協(xié)議數(shù)據(jù)單元的幀間間隔(例如,SIFS)或任何其它特征。 在各種實施例中,聚合的幀可以是各種形式,且可包含各種類型的包或媒體接入控制 協(xié)議數(shù)據(jù)單元。上文已詳述用于將包定時(例如,時間戳、爭用接入等待)的各種技 術(shù),其在所屬技術(shù)領(lǐng)域中眾所周知。
可在傳輸引擎1880中計算聚合的包的數(shù)量??舍槍γ恳话M行對速率有限狀態(tài) 機2210的調(diào)用,且對于每包的所返回符號數(shù)量,可將傳輸機會減少符號的所述數(shù)量。 可針對每一聚合包遞增聚合包計數(shù)直到確定將裝入所述傳輸機會內(nèi)的包的總數(shù)??蓪?此信息遞送到聚合模塊2610。
可在各種實施例中部署任何數(shù)量的聚合格式及/或方案。在所述實例性實施例中, 經(jīng)聚合媒體接入控制協(xié)議數(shù)據(jù)單元(A-MPDU)從聚合模塊2610輸出。在圖27中描繪 經(jīng)聚合媒體接入控制協(xié)議數(shù)據(jù)單元2710的格式。如圖所示,媒體接入控制協(xié)議數(shù)據(jù) 單元分隔符2720分布于經(jīng)聚合媒體接入控制協(xié)議數(shù)據(jù)單元2710中的每一媒體接入 控制協(xié)議數(shù)據(jù)單元2722之間。可在媒體接入控制協(xié)議數(shù)據(jù)單元2722的末端處插入一 個或一個以上填充符號,使得經(jīng)聚合媒體接入控制協(xié)議數(shù)據(jù)單元的子幀的長度是4個 字節(jié)的倍數(shù)。每一媒體接入控制協(xié)議數(shù)據(jù)單元2722包含媒體接入控制協(xié)議數(shù)據(jù)單元 標頭2732、媒體接入控制協(xié)議數(shù)據(jù)單元有效負載2734及幀檢査序列2736。在此實例 中,媒體接入控制協(xié)議數(shù)據(jù)單元分隔符2720是包含設定為零的保留位、所述媒體接入 控制協(xié)議數(shù)據(jù)單元的長度、保留位的循環(huán)冗余校驗及長度及可用于掃描及檢測所述媒 體接入控制協(xié)議數(shù)據(jù)單元的唯一圖案的長度循環(huán)冗余校驗字段。在實例性實施例中, 針對字符"N"將所述唯一圖案設定為ASCII值。
現(xiàn)在返回到圖26,可將聚合媒體接入控制協(xié)議數(shù)據(jù)單元存儲在速率匹配先進先出 存儲器2620 (在替代實施例中,依據(jù)所部署物理層類型及其特性可不需要速率匹配先 進先出存儲器)中。速率匹配先進先出存儲器2620耦合到媒體接入控制/物理層接口 545以進行將要在物理層260上傳輸?shù)陌淖罱K遞送。
接收處理
圖28描繪圖解說明下層媒體接入控制核心540的接收組件的實例性實施例。下 層媒體接入控制核心540中所說明的接收組件或其子組可包含接收引擎的一部分(如 下文參照圖49中所示的替代實施例所說明)。包括從無線局域網(wǎng)120接收的包的信息 數(shù)據(jù)到達媒體接入控制/物理層接口 545且被遞送到解聚合單元2802。如上文所說明,
41參照圖26及27中的聚合,實例性經(jīng)聚合媒體接入控制協(xié)議數(shù)據(jù)單元包含可用于在解 聚合單元2802中將傳入數(shù)據(jù)串流分離為其組成包的媒體接入控制協(xié)議數(shù)據(jù)單元分隔 符2720。
將所得媒體接入控制協(xié)議數(shù)據(jù)單元串流遞送到FCS及濾波塊2804。在此塊中, 所述濾波功能確定所接收包(包括廣播或多播包)中的任一者是否針對當前裝置尋址。 還檢查幀檢査序列。然后,將那些針對接收器尋址的包(其幀檢查通過)遞送到先進 先出存儲器2812。
在實例性實施例中,當接收到包時將其存儲到先進先出存儲器中,其中假設所述 包被適當尋址且是好包。如果包證實是無效包或并非針對當前接收器尋址,那么可容 易地將所述包從所述先進先出存儲器沖刷掉。(一種簡單控制機制是保留先前先進先 出存儲器指針且在將要沖刷掉最近存儲的包的情況下恢復所述指針。)將來自先進先 出存儲器2812的包(未被沖刷掉)遞送到核心接口 2860。
接收控制器有限狀態(tài)機2806經(jīng)部署以控制圖28中所詳述的各種塊中的任一者。 特定來說,接收控制器有限狀態(tài)機2806可起始對正被接收的包的處理且提供各種控制 信號以在包橫穿接收鏈時啟用并存儲中間結(jié)果。
在此實例中,接收標頭且將其遞送到包解析2810以進行處理。從所述包的標頭, 知道傳輸長度以及所述包從哪開始及在所述包的什么地方找到數(shù)據(jù)及/或控制字節(jié)。所 述標頭還指示包類型(即,802.11(a)(b)(g)(e)(n)或所支持的任何其它包類型)。
包解析2810知道所述包是否從來自流識別符的輪詢類型接入(例如,無爭用輪 詢)接收。包解析2810因此將向傳輸器發(fā)送信號以在一預定周期(例如,在SIFS內(nèi)) 期間需要響應時起始響應。包解析2810可遞送所述流識別符及傳輸機會信息以允許傳 輸器響應。當接收到塊確認請求時,還可將所接收的位圖遞送到所述傳輸器以在預定 時間幀內(nèi)執(zhí)行塊確認(例如,立刻塊確認)(如果需要)。下文進一步詳述塊確認及 其它即時響應處理,例如非調(diào)度自動省電遞送。
包解析2810將包長度遞送到程序塊指針有限狀態(tài)機2850,有限狀態(tài)機2850確 定存儲傳入包所需要的程序塊指針的數(shù)量。程序塊指針有限狀態(tài)機將從接收程序塊指 針高速緩存器840檢索程序塊指針,上文已介紹。在此實例性實施例中,程序塊與上 文所說明的那些程序塊是相同的,但接收包不需要真正鏈路列表隊列的復雜性及額外 存儲器要求。而是,部署更加簡化的陣列。下文參照圖33進一步詳述此實施例。在替 代實施例中,如果需要,所述接收包還可使用與用于傳輸處理的那些鏈接表結(jié)構(gòu)相同 的鏈接表結(jié)構(gòu)。當程序塊指針有限狀態(tài)機2850需要檢索用于包的額外程序塊時或當 更新接收程序塊指針高速緩存器2840時,其與包緩沖器250面接(g卩,通過存儲器仲 裁器10S0)。在所述實例性實施例中,給定所選擇的程序塊大小及典型的包長度,每 包可需要多達四個程序塊指針。當這些程序塊指針橫穿剩余的接收處理鏈時存儲在所 述包的標頭中,且用于所述包到包緩沖器的最終寫入。
核心接口 2860檢索包括于經(jīng)擴展接收向量(來自硬件表2820)中的程序塊指針
42及參數(shù)且將其添加到從先進先出存儲器2812接收的包的標頭中。然后,將包遞送到 遺留協(xié)議引擎2210,遺留協(xié)議引擎2210在上文所說明的實例性實施例中主要用于解 密。注意,在所述實例性實施例中,且在可用的典型遺留協(xié)議引擎中,所述標頭將被 忽略。因此,可通過將控制信息存儲在所述標頭中(如此實例中所說明)來執(zhí)行各種 控制機制。將來自遺留協(xié)議引擎2210的經(jīng)解密包遞送到接收先進先出存儲器2870。 在所述實例性實施例中,接收先進先出存儲器2870可被與圖5中所示的可比較先進 先出存儲器572共享或可與圖5中所示的可比較先進先出存儲器572相同。
雖然越區(qū)切換及傳出進一步詳述于下文中,但其基本結(jié)構(gòu)圖解說明于圖28中。 此結(jié)構(gòu)的一個方面是將越區(qū)切換決策從實際越區(qū)切換過程本身解耦,從而允許在無需 等待可在其它包正等待傳出越區(qū)切換時形成的瓶頸的情況下接收并處理包。瓶頸可在
規(guī)定包的按次序遞送時形成,且一個或一個以上包需要重傳。下文進一步詳述此情況。 將來自接收先進先出存儲器2870的包遞送到存儲器寫入2875,存儲器寫入2875 經(jīng)由存儲器仲裁器1080作出到包緩沖器存儲器250的接入的請求,如上文所說明。當 包正等待被寫入到所述包緩沖器中時,將所述包的參數(shù)遞送到越區(qū)切換決策塊2880 以開始所述越區(qū)切換決策。為防止快速越區(qū)切換程序在所述包被完全寫入到所述包緩 沖器中之前發(fā)生,將寫入完成信號從存儲器寫入2875發(fā)送到越區(qū)切換決策2880。
越區(qū)切換引擎2890連接到越區(qū)切換決策2880。顯示越區(qū)切換決策2880與越區(qū)切 換2890之間的交互作用的各種實例性信號,下文將進一步詳述所述信號。越切換引 擎2890經(jīng)由存儲器仲裁器1080從所述包緩沖器檢索包,且最終遞送將要傳出的包。 依據(jù)所述包類型,越區(qū)切換引擎2890可使用解分段塊2892來從包分段移除標頭等且 重新形成未成為分段的包以在包傳出上遞送。如下文參照圖48所詳述,分段可以是可 選的且可省略相關(guān)組件。有時,可發(fā)生其中將丟棄一個或一個以上包的情況。沖刷塊 2894連接到越區(qū)切換引擎2890以執(zhí)行這些任務。還可在這些塊中處置與維持隊列、 指針、節(jié)點及程序塊的鏈接表結(jié)構(gòu)相關(guān)聯(lián)的各種其它存儲器管理功能。
接收搜索控制器2814監(jiān)視傳入先進先出存儲器2812的包。接收搜索控制器確定 所述包的流識別符。在所述實例性實施例中,可部署TA及業(yè)務識別符搜索表以如所 說明的那樣用于傳入包處理(例如,在以上圖IO中)。硬件表2820經(jīng)部署以維持兩 個流及鏈路的狀態(tài)及參數(shù)。下文進一步詳述硬件表2820,且硬件表2820包括上文參 照圖3及4所詳述的兩種配置的實例性實施例。在所述上下文中,硬件表2820可以是 硬件表320的部分。
在一個實施例中,為傳入及傳出(及可能的傳輸處理)維持分離的硬件表。在替 代實施例中, 一個或一個以上功能可共享硬件表。在所述情況下,硬件表2820實質(zhì)上 可與圖3及4中所詳述的硬件表320相同。所屬技術(shù)領(lǐng)域中的技術(shù)人員將認識到共享 表可產(chǎn)生與仲裁多個請求相關(guān)聯(lián)的復雜性及確保所需要數(shù)量的接入的充足帶寬的需
要。另一方面,共享表可減小總面積,且可減少對兩者共用的參數(shù)(跨越多個表)的 更新數(shù)量。舉例來說,考慮具有合并的接收及傳入硬件表的接入點。當所述接入點從STA (所述接入點先前向所述STA傳輸)接收時,業(yè)務串流識別符與業(yè)務識別符是相
同的。雖然目的地媒體接入控制地址與傳輸媒體接入控制地址不總是相同(可存在耦 合在所述目的地后面的額外裝置),但存在兩者相同的情形。在那些情形中,可從對 表的共享中獲得益處。因此,可使所述合并表大于可單獨地適應其中地址并不相同的 情形的任一表。無論如何,共享可產(chǎn)生面積優(yōu)點。
如上文所說明,在所述實例性實施例中,可部署乒乓高速緩存器,從而允許固件 在更新的同時對列表重新排序且可針對搜索控制器部署從影子列表的同時接入。執(zhí)行
二進制搜索以獲得用于給硬件表2820加索引的流識別符。
圖29描繪配置為STA的硬件表2920的實例性實施例,其類似于上文參照圖3 所說明的布置。因此,在此情況下,將與流及鏈路相關(guān)聯(lián)的所有各種參數(shù)維持在所述 硬件表中,因為所述STA僅支持16個流(在此實例中)。在硬件表2820中的是每一 所支持流的傳輸?shù)刂?912、業(yè)務識別符2914及流識別符2916的列表。因此,可從 所述TA加所述業(yè)務識別符檢索所述流識別符且所述流識別符用作適當接收流狀態(tài)表 2920的索引。在所述實例性實施例中,固件創(chuàng)建有序表以引導所述HW與一個表或另 一表一同工作。在當前表上的HW中進行二進制搜索。當需要添加新的流時,固件將 所述流添加到備用表,將其排序且然后將硬件的當前表切換到所述備用表。然后,原 始表成為新備用表。下文參照圖31說明實例性接收流狀態(tài)表2920。
額外鏈路特定參數(shù)也可包括在硬件表2920中。可通過鏈路識別符尋址這些參數(shù), 所述鏈路識別符可存儲在接收硬件表2920中。實例包括數(shù)據(jù)速率向量反饋2930,上 文說明其結(jié)合速率確定及速率確定、包形成及聚合使用。接收處理器可具有對來自從 遠程裝置遞送的消息的此信息的接入且可將此信息存儲在硬件表2920中。如上文所說 明,每一鏈路安全密鑰2940可用于各種類型的加密??纱鎯Ω鞣N安全密鑰類型以支持 不同的加密協(xié)議。遺留復制檢測塊2950存儲正確接收的最后包的序列號且出于復制檢 測的目的可將當前包的序列號與此值相比較。
圖30描繪經(jīng)配置以用于接入點或超級臺(如上文參照圖4所詳述)中的硬件表 2820的實例性實施例。在此實例中,各種指針3002與硬件表2820內(nèi)的媒體接入控制 索引3004相關(guān)聯(lián)。注意,在此實例中,也將鏈路識別符3006與每一媒體接入控制識 別符一同存儲。注意,另一選擇為,可將鏈路識別符3006與其它參數(shù)一同存儲在替 代位置(例如,同步隨機存取存儲器330)中。與圖29中所圖解說明的硬件表2820 (其中,鏈路及流的各種參數(shù)存儲在所述硬件表中)相比,除鏈路識別符3006以外, 所有參數(shù)存儲在替代存儲(例如,同步隨機存取存儲器330)中。
同步隨機存取存儲器330包含共用速率表3010A-N,其中每一者包含每一媒體接 入控制地址(即,每一鏈路,針對其可支持多達16個流)的指針。將各種流的參數(shù)存 儲在流索引3020所指向的參數(shù)表中。此為實際參數(shù)提供間接層。在所述實例性實施例 中,同步隨機存取存儲器330還用于存儲例如接收狀態(tài)表2920等表,下文進一步詳 述其實例。因此,對于每一鏈路,對最大數(shù)量的流的支持包括在加索引方案中,如共
44用速率表3010中所示。然而,存儲器使用可隨著添加流而增長。無需在流變?yōu)楝F(xiàn)用之 前分配存儲器來存儲參數(shù)。因此,對于既定鏈路,如果僅一個或兩個流為現(xiàn)用,那么 僅需要創(chuàng)建及填注一個或兩個接收流狀態(tài)表2920。
圖30中還顯示替代表3042,其簡單地包括安全密鑰3044及位圖3046。此實例 顯示減小的參數(shù)組,其適用于802.11 (g)包。在此種替代實施例中,使用減小的狀態(tài)表 可節(jié)約與額外存儲器存取相關(guān)聯(lián)的存儲器及時間。然而,共用結(jié)構(gòu)在實施例中也可用 于所有包類型。
下文將參照圖31圖解說明實例性接收流狀態(tài)表2920的細節(jié)。然而,在此圖解說 明一個組件,位圖3130。圖中顯示位圖指針3050指向位圖3130。在所述實例性實施 例中,位圖3130也存儲在同步隨機存取存儲器330中。此間接層允許用于接入位圖 的簡單共用格式,同時允許存儲器使用響應于需要而增長(與需要的最大存儲器的預 分配相比)。因此,以類似于如需地增大接收流狀態(tài)表的能力的方式,可支持不同類 型的位圖而不需要為其預分配存儲器。舉例來說,當支持分段時,位圖可包含每一者 具有16個分段的64個包。此是比簡單的塊確認位圖(其中單個位用于64包的窗口中 的每一包)將需要的位圖大得多的位圖。因此,對于需要分段的流來說,可創(chuàng)建較大 的塊確認位圖,而可為那些需要較小存儲器的流創(chuàng)建較小的位圖。
此解說明各種存儲器配置方面,包括提供提高的靈活性及更高效的存儲器使 用。下文進一步詳述額外塊確認處理方面。
圖31描繪接收流狀態(tài)表2920的實例性實施例。圖解說明各種字段。在替代實施 例中,可引入額外字段,或可省略所顯示的那些字段中的某些。注意,大體來說,可 組合本文中的流狀態(tài)表中的每一者(包括接收流狀態(tài)表2920、每流陣列狀態(tài)1902、傳 輸流狀態(tài)表1030及類似每流表)或?qū)⑵浞蛛x為任何數(shù)量的每流表,如所屬技術(shù)領(lǐng)域中 的技術(shù)人員所清楚。
開始序列號3102可用于指示塊傳輸中開始包的序列號。當接收到所傳輸?shù)陌鼤r 可更新開始序列號(即,窗口向前移動)。在一個實施例中,現(xiàn)有開始序列號加上窗 口大小3104可確定所期望傳入包的序列號。然而,允許傳輸器發(fā)送在序列號上超出此 限制的包,且在此情況下,可通過取最大所接收序列號并減去(窗口大小-l)來計算 開始序列號。所述開始序列號還可明確由傳入BAR (塊確認請求)更新。各種塊確認 處理技術(shù)進一步詳述于下文中。在一個實例中,窗口大小可表明在接收器處分配(以 包為單位)給既定傳輸器的緩沖器。在所述情況下,所述傳輸器不應發(fā)送在所述接收 器處超出窗口大小的未經(jīng)確認的包。
立刻塊確認字段3106可用于向接收器指示所述傳輸器正期望立刻塊確認還是推 遲的塊確認。對立刻塊確認的支持在當前802.11n標準草案中為強制性。
位圖3130可以是實際塊確認位圖,即,當將硬件表2820配置為STA時(如上 文參照圖29所說明)。在替代配置中,位圖3130可以是指向?qū)嶋H位圖的指針(如上 文參照圖30所說明)。存儲以太網(wǎng)標頭3132以在準備將要傳出的包時用適當以太網(wǎng)標頭替代媒體接入控制標頭。WIN指針3134是指向保存由接收器存儲的需要最終越
區(qū)切換到更高層(參見下文進一步詳述的實例性越區(qū)切換技術(shù))的包的物理地址的數(shù) 據(jù)結(jié)構(gòu)的指針。在一個實例中,這些包存儲在緩沖器中以按順序越區(qū)切換到更高層。 如果此數(shù)據(jù)結(jié)構(gòu)的頭處存在空洞(丟失的包),那么接收必須等待直到此空洞被填充
以按次序?qū)⒊尚蛄械陌絽^(qū)切換到更高層。注意,下文所詳述的窗口指針3320是適合 用于此字段中的指針的一個實例。
在一個實例中,可將舊的開始序列號3138設定為等于用以開始的開始序列號。 當傳入包導致所述開始序列號改變時,接收器可向上向更高層傳遞從所述舊的開始序 列號到所述當前開始序列號的所有包。在執(zhí)行此操作之后,可將所述舊的開始序列號 設定為等于所述當前開始序列號。鏈路識別符3140指示與所述流相關(guān)聯(lián)的鏈路。此 可用于檢索用于無線局域網(wǎng)120上的接收或傳輸?shù)逆溌诽囟▍?shù)。上文已詳述各種實 例??刹渴鹬甘静辉俳邮崭喾侄蔚淖侄?136。在其中不執(zhí)行分段的各種實施例中或 當在替代媒體接入控制處理單元中執(zhí)行分段時,可省略此字段。
圖32描繪用于在各種配置中配置硬件表及存儲器的方法的實例性實施例。注意, 同樣可通過其它硬件表(例如,較早詳述的傳輸流狀態(tài)表1030)應用參照圖29-31所 論述的技術(shù)。出于簡明的目的,省略配置傳輸表的細節(jié)。還請回憶,可組合硬件表以 支持各種組件(即,接收、傳輸、傳入、傳出等)??梢酝攘Χ葘⒂山邮沼布拈g 接層、流狀態(tài)表、RAM及/或包緩沖器識別的原理應用到本文中所說明的其它狀態(tài)表 或其組合。
圖32中說明一般過程3200。在此實例中,說明第一、第二及第三存儲器。注意, 如本文中所詳述,可部署任何數(shù)量的各種類型的存儲器。在實例性實施例中,存儲器 l是硬件表,例如硬件表2820或320。存儲器2是較大存儲器,例如同步隨機存取存 儲器330。存儲器3在此情況下是外部存儲器,但也預期內(nèi)部第三存儲器。在此實例 中,存儲器3可以是同步動態(tài)隨機存取存儲器340。
在決策塊3210中,如果第三存儲器將要用于包緩沖器,那么進行到3216以以第 一模式配置無線通信裝置的各種組件(即,媒體接入控制處理器專用集成電路310中 的組件或各種其它組件)。在所述實例性實施例中,所述第一模式使用存儲在外部RAM (例如,同步動態(tài)隨機存取存儲器340)中的外部包緩沖器。
在決策塊3210中,如果第三存儲器不將用于包緩沖器,那么進行到3212以以第 二模式配置所述無線通信裝置的各種組件。在所述實例性實施例中,所述第二模式是 上文所說明的STA類型的模式(其中同步隨機存取存儲器用于包緩沖器)且參數(shù)存儲 在硬件表中。
在3216處,用指向所述第二存儲器中的數(shù)據(jù)結(jié)構(gòu)的媒體接入控制尋址指針配置 第一存儲器(其可以是硬件表)。在3218處,用所述數(shù)據(jù)結(jié)構(gòu)設立所述第二存儲器。 這些數(shù)據(jù)結(jié)構(gòu)可包括不同的額外間接層,例如上文參照圖30所說明。舉例來說,第一 數(shù)據(jù)結(jié)構(gòu)可識別與媒體接入控制地址相關(guān)聯(lián)的流。所述流識別符可用于給額外表(例如,接收流狀態(tài)表或傳輸流狀態(tài)表)加索引。此外, 一個或一個以上表(例如,所述 接收流狀態(tài)表)可具有指向與所述流相關(guān)聯(lián)的額外數(shù)據(jù)結(jié)構(gòu)的指針(例如,指向塊確 認位圖的位置的位圖指針)。在3230處,配置第三存儲器中的包緩沖器。在一個實例 中,配置包緩沖器可包括設立各種空閑指針列表(例如,空閑節(jié)點指針列表710及空 閑程序塊指針列表720)及為節(jié)點720及程序塊740分配空間。此外,可向陣列分配 (例如,用于包的接收處理)與那些陣列相關(guān)聯(lián)的空閑窗口指針列表。
固件可執(zhí)行用適當數(shù)據(jù)結(jié)構(gòu)將各種存儲器格式化所需要的許多步驟。當必要時, 可使用各種寄存器設定或用于設定變量的其它技術(shù)來向裝置內(nèi)的組件指示模式。所屬 技術(shù)領(lǐng)域中的技術(shù)人員將熟知這些技術(shù)。因此,配置第一模式,且所述過程可停止。
在3212處,用各種數(shù)據(jù)結(jié)構(gòu)(例如,剛剛說明的那些數(shù)據(jù)結(jié)構(gòu))來配置所述第 一存儲器。在此情況下,存儲器1可以是硬件表且未必間接接入數(shù)據(jù)結(jié)構(gòu),但可如圖 29中所說明的那樣(例如,硬件表內(nèi)每流加索引的接收流狀態(tài)表)。在3214處,以 非常類似于上文針對存儲器3在3220處所說明的方式將第二存儲器配置為包緩沖器。 因此,配置所述第二模式。然后,所述過程可停止。如本文中所詳述的媒體接入控制 處理可繼續(xù)。
圖33描繪經(jīng)配置以支持接收包陣列的包緩沖器250的一部分的替代配置。此實 施例類似于圖6中所描繪的包緩沖器250。然而,在此配置中,圖6的鏈接表隊列的 數(shù)據(jù)結(jié)構(gòu)由節(jié)點陣列3330替代。陣列數(shù)據(jù)結(jié)構(gòu)的使用實現(xiàn)幾個簡化。在此實例中,節(jié) 點陣列中的節(jié)點是鄰近的,因此不需要下一節(jié)點指針612。因此,節(jié)點610由減小的 節(jié)點3310替代。節(jié)點3310中的剩余字段、長度614、序列號616及程序塊指針618 如參照圖6所說明的那樣。更小的節(jié)點導致存儲器使用的減少。
像以前,程序塊620用于存儲各種長度的包。不同之處是所述陣列結(jié)構(gòu)不需要裝 入節(jié)點來形成隊列。因此,如剛剛所提及,不需要下一節(jié)點指針來查找節(jié)點。用單個 指針(窗口指針3320)來替代隊列尾指針640及隊列頭指針630,窗口指針3320識別 所需要的節(jié)點陣列3330在包緩沖器中的位置。所屬技術(shù)領(lǐng)域中的技術(shù)人員根據(jù)本文中 的教示將清楚此經(jīng)修改節(jié)點/程序塊結(jié)構(gòu)的使用。此外,接收處理不需要剛剛說明的陣 列結(jié)構(gòu),因為圖6的結(jié)構(gòu)也完全適用于所述上下文。然而,當如圖33中所示的那樣部 署時,節(jié)點陣列3330可存儲高達完全窗口價值的包地址位置。其可由到當前開始序列 號的窗口偏移加索引。在此情況下,節(jié)點陣列3330可用作包位置的環(huán)形緩沖器。
越區(qū)切換處理
在此部分中,將更完全的詳述越區(qū)切換處理。上文參照圖28介紹越區(qū)切換決策 2880及越區(qū)切換引擎2890連同相關(guān)聯(lián)的信號及其它互連塊。下文將圖解說明與越區(qū) 切換相關(guān)的數(shù)個方面。
一方面,將越區(qū)切換決策作出與越區(qū)切換過程本身分離??梢跃€速度執(zhí)行所述決 策作出過程,而越區(qū)切換引擎在后臺自主操作。通過對塊確認的支持來圖解說明其中 此方面可有用的一個實例性上下文。在較早的無線包系統(tǒng)(例如,802.11(g)或(b))中,
47不存在對塊確認的支持。當?shù)降竭_時,其將被確認或不被確認。如果所述包被確認, 那么其將被越區(qū)切換且后續(xù)包的傳輸將繼續(xù)。如果所述包不被確認,那么傳輸器將重
發(fā)所述包直到其被正確地接收(或因所述過程超出預定限制而丟棄所述包)。因此, 固有地將按包到達的次序?qū)⑵湓絽^(qū)切換。
在支持塊確認的系統(tǒng)中,也可能不按次序接收包。當正確地接收包時,將在窗口 位圖中設定相關(guān)聯(lián)的位。對于未被確認的包來說,可將所述相關(guān)聯(lián)的位設定為零???在將來嘗試重傳包。同時,可接收并存儲后續(xù)包以進行越區(qū)切換。在其中將按次序越 區(qū)切換包的系統(tǒng)中,未被確認的包產(chǎn)生空洞,其在等待正確地接收未被確認的包時使 隨后接收的包的越區(qū)切換停轉(zhuǎn)。然后,可在單個包被重傳之后接收所述單個包,所述 包將填充所述空洞,且隨后接收的數(shù)個包(一群組包)可立刻進行越區(qū)切換。此可產(chǎn) 生等待越區(qū)切換的包的積壓,且越區(qū)切換延遲因此可產(chǎn)生。將越區(qū)切換決策與越區(qū)切 換引擎處理分離允許越區(qū)切換決策塊以線速度操作,同時處理包的積壓以進行越區(qū)切 換。所述越區(qū)切換引擎可自主操作,且假設到越區(qū)切換存儲器的接口是相對于所接收 速度的高速,那么所述越區(qū)切換引擎將能夠跟上。以此方式,包積壓不限制接收器的 總通量。
另一方面,將越區(qū)切換決策與處理分離允許流越區(qū)切換優(yōu)先化。舉例來說,可以 與較低優(yōu)先級數(shù)據(jù)不同的方式處置推遲敏感信息,例如語音、視頻或其它優(yōu)先級數(shù)據(jù)。
圖34圖解說明用于無線網(wǎng)絡的端到端優(yōu)先級方案,包括傳入管控及基于優(yōu)先級 的越區(qū)切換。在圖34中,系統(tǒng)100包括用于接收傳入包的傳入管控函數(shù)3410。如上 文所詳述,各種傳入管控函數(shù)允許傳入傳出包的優(yōu)先化。無線LAN 120將傳入管控塊 3410與基于優(yōu)先級的越區(qū)切換塊3420耦合。服務質(zhì)量無線局域網(wǎng)(所屬技術(shù)領(lǐng)域中 所熟知)允許給予所識別的包及/或流比其它類型的包或流高的優(yōu)先級。然而,現(xiàn)有技 術(shù)服務質(zhì)量處理僅在無線局域網(wǎng)120上的從接收器到傳輸器的點到點通信上發(fā)生?;?于優(yōu)先級的越區(qū)切換塊3420執(zhí)行并入有優(yōu)先級的越區(qū)切換決策。在此情況下,可能已 根據(jù)優(yōu)先級或服務質(zhì)量傳輸及接收包?;趦?yōu)先級的越區(qū)切換在上文中且超出無線局 域網(wǎng)(例如,無線局域網(wǎng)120)中的服務質(zhì)量的概念。因此,可比那些較低優(yōu)先級的 包更早地越區(qū)切換較高優(yōu)先級的包以進行傳出。
以此方式,可從傳輸器側(cè)上傳入一直到在接收器處接收之后的整個傳出過程中維 持服務質(zhì)量。傳入管控3410可優(yōu)先化穿過傳入側(cè)的包,將在所述傳入側(cè)在服務質(zhì)量無 線局域網(wǎng)120 (如果支持服務質(zhì)量)上通過優(yōu)先級傳輸所述包,且如果接收器處的越 區(qū)切換存在任何推遲,那么可給予那些較高優(yōu)先級的包第一優(yōu)先級。注意,傳入管控 或基于優(yōu)先級的越區(qū)切換可在有或沒有服務質(zhì)量無線局域網(wǎng)的情況下部署,且還可彼 此分離地部署。因此,基于優(yōu)先級的越區(qū)切換可用于具有一個或一個以上其它服務質(zhì) 量技術(shù)的方案。在不依賴主機處理器的應用中也可需要這些方面。舉例來說,較高層 應用可具有某種用于確定包被遞送到媒體接入控制處理器的次序的優(yōu)先化功能。隨著 越來越多的裝置(例如,攝像機、數(shù)字音樂裝置及其它實例)進行無線連接性,所述裝置可具有有限的主機處理(或根本沒有)。然后,可有用地部署傳入管控以實現(xiàn)高 效的多流傳輸及接收。
可有利地將如本文中所詳述的傳入管控及基于優(yōu)先級的越區(qū)切換與用于包的管 理(即,使用節(jié)點、程序塊及隊列的鏈接表)的鏈接表結(jié)構(gòu)組合,但并非在任何既定 實施例中均需要兩者的組合。特定來說,包到達時的其動態(tài)分配(經(jīng)由傳入或通過接 收器)允許存儲器被靈活地分配在高與低優(yōu)先級包或流之間。所述鏈接表結(jié)構(gòu)允許以 下靈活性在擁堵水平指示需要服務較高優(yōu)先級的包時有效地改變服務次序且正像在 擁堵減退時容易地服務所有包類別那樣。
圖35描繪圖解說明越區(qū)切換決策2880及越區(qū)切換引擎2890的操作的方法3500 的實例性實施例。在3510處,越區(qū)切換決策2880將接收指示包已被接收的觸發(fā)。在 所述實例性實施例中,寫入完成信號將指示所述包何時已被完全寫入到包緩沖器中, 以避免意外地越區(qū)切換部分寫入的包。將作出越區(qū)切換決策所需要的信息(如下文進 一步詳述)從接收先進先出存儲器2870遞送到越區(qū)切換決策2880。
在3520處,越區(qū)切換決策2880確定包是否可用于越區(qū)切換。大體來說,可使用 任何方法或技術(shù)將包優(yōu)先化以進行越區(qū)切換。在一個實例中,如上文所說明,指派給 流的優(yōu)先級允許根據(jù)優(yōu)先級而不只是到達次序進行基于流越區(qū)切換的重新排序。注意, 不需要優(yōu)先化。當使包可用時,可按次序越區(qū)切換流。如果包可用于越區(qū)切換,那么 在3530處更新越區(qū)切換隊列以指示與可用于越區(qū)切換的一個或一個以上包相關(guān)聯(lián)的 流識別符。在3540處,越區(qū)切換引擎2890將自主越區(qū)切換所述可用包,從而允許越 區(qū)切換決策2880等待下一所接收包并針對所述包執(zhí)行越區(qū)切換決策。
通過以下實例性實施例可更加清楚地了解上文所圖解說明的一般概念。在以下實 例中,越區(qū)切換決策2880將作出越區(qū)切換決策,更新與將要進行越區(qū)切換的包相關(guān)聯(lián) 的隊列并向越區(qū)切換引擎2890發(fā)出指示以自主處理所述越區(qū)切換。如圖28中所圖解 說明,越區(qū)切換決策2880遞送流識別符及相關(guān)參數(shù)以啟用越區(qū)切換。在所述實例性實 施例中,將越區(qū)切換計數(shù)(指示可用于越區(qū)切換的包的數(shù)量)、與那些包相關(guān)聯(lián)的流 識別符及流類型從越區(qū)切換決策2880遞送到越區(qū)切換引擎2890。
此外,可部署中斷信號??稍谝呀邮蛰^高優(yōu)先級的包時使用此可選中斷,且越區(qū) 切換決策2880希望將所述較高優(yōu)先級的包及其流移動到當前正被越區(qū)切換的那些之 前。中斷技術(shù)在所屬技術(shù)領(lǐng)域中眾所周知且可包括輪詢類型的中斷以及向量驅(qū)動中斷 及各種其它中斷,此取決于越區(qū)切換決策的類型及所部署的越區(qū)切換引擎。所屬技術(shù) 領(lǐng)域中的技術(shù)人員將認識到可使用狀態(tài)機、軟件及固件過程、 一般用途或?qū)iT用途處 理器、專用硬件或其任一組合來部署越區(qū)切換決策塊2880及/或越區(qū)切換引擎2890兩 者。在此實例中,越區(qū)切換引擎2890將返回用以指示已執(zhí)行越區(qū)切換的已進行越區(qū)切 換信號(handoff done signal)連同越區(qū)切換的包的數(shù)量。下文進一步詳述此實例性實 施例。
上文已略述越區(qū)切換決策塊2880與越區(qū)切換引擎2890之間的任務的分離,且已說明包括流優(yōu)先化及管理可能瓶頸的某些益處。在此實例性實施例中,越區(qū)切換決策 與越區(qū)切換引擎之間的通用接口是維持每一流的越區(qū)切換計數(shù)參數(shù)。所述越區(qū)切換決 策塊實質(zhì)上通過增加越區(qū)切換計數(shù)來指示對流的越區(qū)切換的需要。所述越區(qū)切換引擎 在其執(zhí)行包的越區(qū)切換時減小所述越區(qū)切換計數(shù)。因此,此參數(shù)通常可用于具有任何 既定越區(qū)切換引擎的任何越區(qū)切換決策實施例之間。
注意,可將此技術(shù)與先進先出存儲器的替代使用相比較。也可結(jié)合本文中所詳述 的各種實施例部署先進先出存儲器以用于越區(qū)切換。然而,由于可能正在等待越區(qū)切 換的包的數(shù)量的可變性,在某些情況下中,所述先進先出存儲器可能需要非常深。進 一步注意,沒有添加到先進先出存儲器的額外復雜性,出于提供優(yōu)先級目的的包的重 新排序可困難。在所述實例性實施例中,針對多個優(yōu)先級等級中的每一者維持先來先 服務的隊列。在所述實例性實施例中,支持四個優(yōu)先級。所屬技術(shù)領(lǐng)域中的技術(shù)人員 將認識到可支持任何數(shù)量的隊列及/或優(yōu)先級。
在替代實施例中,越區(qū)切換決策塊2880可作出越區(qū)切換決策且填注一個或一個 以上隊列及/或狀態(tài)表以指示所述隊列及在其中等待越區(qū)切換的包的狀態(tài)??刹渴鸩恍?要來自越區(qū)切換決策塊2880的顯式觸發(fā)(如圖所示)而是自主監(jiān)視各種隊列的狀態(tài)及 狀態(tài)表以確定哪些包可用于越區(qū)切換且將越區(qū)切換所述包的次序優(yōu)先化的越區(qū)切換引 擎2890。所屬技術(shù)領(lǐng)域中的技術(shù)人員將容易地在本文中的教示的范圍內(nèi)部署這些及其 它替代實施例。省略此替代實施例的細節(jié)。
圖36圖解說明用于執(zhí)行越區(qū)切換決策的方法3600的實例性實施例,其適于部署 于越區(qū)切換決策塊2880中(如上文所圖解說明)。在3610處,當接收到包時,進行 到3620以處理所述所接收包的流。下文進一步詳述實例性過程。大體來說,當支持塊 確認時,處理包包括確定空洞是否已被填充(即,較高序列號的一個或一個以上包已 被正確地接收且正等待越區(qū)切換直到在重傳之后接收到具有先前序列號的包)。當然, 按次序正確接收的包可在不填充空洞的情況下用于越區(qū)切換(即,不存在等待越區(qū)切 換的后續(xù)編號的包)。接收包可觸發(fā)一個或一個以上包可用于越區(qū)切換,或所述包本 身可以是準備越區(qū)切換的唯一包。如果所接收的包未填充現(xiàn)有空洞,那么可能不存在 可用于所述流的越區(qū)切換。然后,所述過程返回到?jīng)Q策塊3610。
在此實例中,流在包處理塊3630與隊列處理塊3630之間交替(進一步詳述于下 文中)。所屬技術(shù)領(lǐng)域中的技術(shù)人員將認識到方法3600圖解說明兩個同時過程, 一個 用于處理越區(qū)切換隊列,而另一個用于在包到達時對其進行接收。所屬技術(shù)領(lǐng)域中的 技術(shù)人員將認識到用于執(zhí)行此種并行處理的多種技術(shù),且實例性實施例僅用作一個例 示。
圖37圖解說明用于處理所接收包的方法的實例性實施例,其適于部署為塊3620 (如上文所圖解說明)。在3710處,已接收包。確定是否已將與所述包相關(guān)聯(lián)的流加 入決策狀態(tài)表中。實例性決策狀態(tài)表圖解說明于圖40中。在實例性狀態(tài)表4000 (圖 解說明于圖40中)中,任何一次均存在N個所支持的流識別符。在所述實例性實施例中,可支持多達256個流。決策狀態(tài)表4000包括每流識別符的一組參數(shù)4010。在 所述實例性實施例中,決策狀態(tài)表4000包括每一流識別符的決策偏移4012、越區(qū)切 換計數(shù)4014、下一指針字段4016、隊列中位4018及優(yōu)先級字段4020。
返回到圖37,在3710處,如果所述流不在決策狀態(tài)表400中,那么進行到3715 以將所述流添加到?jīng)Q策狀態(tài)表。 一旦確定所述流在決策狀態(tài)表中,那么進行到3720 以確定包是否可用于越區(qū)切換。決策偏移字段4012用于確定所述流中可進行越區(qū)切換 的下一可能包。可使用各種技術(shù)來維持此信息。舉例來說,可部署位圖,所述位圖中 相關(guān)聯(lián)的位用于窗口內(nèi)的每一包及/或分段。當正確地接收到包時,更新所述位圖以指 示所述包的成功接收。因此,在此實例中,如果設定(即,設定為一)與由決策偏移 字段指示的位置相關(guān)聯(lián)的包,那么所述包可用于越區(qū)切換。如果所述位圖中的所述位 置被解斷言(即,設定為零),那么指示空洞,且此流的后續(xù)包(如果有)無一可用 于越區(qū)切換。
在此實例中,越區(qū)切換決策過程3600繼續(xù)重復地反復。如果包可用于越區(qū)切換, 那么進行到?jīng)Q策塊3730以確定所述流識別符是否包括于越區(qū)切換隊列中。將越區(qū)切換 隊列的實例性實施例圖解說明為Q陣列狀態(tài)表4100 (圖解說明于圖41中)。在此實 例中,為多達M個優(yōu)先級維持隊列,每一優(yōu)先級在Q陣列狀態(tài)表4100中具有條目4110。 在此實例中,條目4110包括Q計數(shù)變量4112、頭指針4114及尾指針4116。使用鏈 接表結(jié)構(gòu)維持所述隊列。在替代實施例中,可部署其它類型的隊列。在所述實例性實 施例中,將M設定為4,且因此支持4個優(yōu)先級等級。可根據(jù)決策狀態(tài)表4000的優(yōu) 先級字段4020確定流的優(yōu)先級等級。隊列中位4018可用于確定所述流是否已被插入 到所述Q陣列狀態(tài)表中。在替代實施例中,越區(qū)切換計數(shù)4014可用于幫助決策邏輯 確定既定流是否已具有等待越區(qū)切換的包或是否需要將其添加到所述隊列中。所述越 區(qū)切換計數(shù)可以是非零,但其可能不清楚其是否已經(jīng)是非零或其是否剛變成非零。在 此實例中,可一次處理一個包。在各種實施例中,此位可能并非必要或可用作方便。
如果所述流識別符不在所述越區(qū)切換隊列中,那么進行到3735以添加所述流。 如圖41中所示,對于每一優(yōu)先級隊列,維持頭指針4114及尾指針4116。頭指針4114 包括可用于編為決策狀態(tài)表4000的索引以確定所述隊列中的第一流的流識別符。在此 實例中,請回憶,在優(yōu)先級內(nèi),在先來先服務的基礎(chǔ)上為流服務。因此,頭指針4114 是到所述隊列中將要被服務的第一流的流識別符的索引。注意, 一旦由頭指針4114 指示的流識別符被接入,那么所述隊列內(nèi)的下一流(如果有)由下一指針字段4016 指示。Q陣列狀態(tài)表4100中的尾指針4116指示優(yōu)先級隊列中的最后流。當將新的流 添加到所述越區(qū)切換隊列時,可通過更新由尾指針4116識別的流識別符的下一指針字 段來執(zhí)行所述過程。此字段將由指向正被添加的流的指針替代。隨后,然后更新尾指 針字段4116以指向新到達的流,其成為所述隊列的新尾(即,線中的最后)。此外, 隊列計數(shù)字段4112維持所述優(yōu)先級隊列內(nèi)的總的流的數(shù)量。因此,通過讀取優(yōu)先級等 級的隊列計數(shù)值,可快速確定是否存在所述優(yōu)先級的等待越區(qū)切換的任何包。進行此程序以維持所述M個優(yōu)先級隊列中的每一者的隊列,且容易地將狀態(tài)維持在Q陣列 狀態(tài)表4100中。
一旦確定所述流在所述越區(qū)切換隊列中或其已被添加,那么進行到3740以增加 越區(qū)切換計數(shù)4014。請回憶,越區(qū)切換計數(shù)是用于確定特定流的等待越區(qū)切換的包的 數(shù)量的參數(shù),且被維持于決策狀態(tài)表4000中。在3750處,確定是否存在針對所述流 越區(qū)切換的額外包。當確定第一包準備越區(qū)切換且越區(qū)切換計數(shù)己增加時,那么決策 偏移可在位圖中向前移動(即,決策偏移++)。如果經(jīng)更新的決策偏移還顯示包可用 于越區(qū)切換,那么返回到3740,增加越區(qū)切換計數(shù)且繼續(xù)所述過程直到窗口內(nèi)的所有 包己被測試或巳到達空洞。注意,決策偏移然后將指向下一空洞。在方法3620的后續(xù) 反復中,將在每一流的包到達時針對可用越區(qū)切換包測試所述流。
一旦到達空洞,且不存在用以越區(qū)切換的額外包,那么進行到3760。決策塊3760 圖解說明可部署的中斷程序的可選實例。所屬技術(shù)領(lǐng)域中的技術(shù)人員將容易地部署任 何數(shù)量的中斷程序。在3760處,確定越區(qū)切換當前是否正進行中。如果越區(qū)切換未在 進行中,那么可停止所述過程。如果越區(qū)切換正進行中,且如果部署此可選重新優(yōu)先 化,那么進行到3770。在3770處,可確定新到達的包的流是否是較高優(yōu)先級及是否 應被移動到當前越區(qū)切換的任何包之前。通過正由越區(qū)切換引擎2890處理的流的優(yōu)先 級來測試當前流的優(yōu)先級。如果當前流的優(yōu)先級大于正被處理的流的優(yōu)先級,那么進 行到3775且設定中斷旗標。在此實例中,所述中斷旗標將在越區(qū)切換隊列處理期間被 辨認,在以上塊3630中被識別且進一步詳細圖解說明于下文中。如果當前流的優(yōu)先級 小于正由越區(qū)切換引擎2890處理的流的優(yōu)先級,那么不需要先占,且所述過程可停止。
圖38圖解說明用于處理一個或一個以上越區(qū)切換隊列的方法的實例性實施例, 其適于部署為上文所圖解說明的塊3630。所述過程在決策塊3810處開始。如果由越 區(qū)切換引擎2890處理的越區(qū)切換當前正進行中(即,方法3630的先前反復起始此種 越區(qū)切換),那么進行到?jīng)Q策3815以確定所述越區(qū)切換是否完成。如果其已完成,那 么在3820處更新越區(qū)切換計數(shù)。在所述實例性實施例中,經(jīng)越區(qū)切換的包的數(shù)量將由 越區(qū)切換引擎2890返回且可將其從越區(qū)切換計數(shù)中減去。圖解說明于圖28中的己進 行越區(qū)切換信號可用于確定越區(qū)切換是否完成。注意,當越區(qū)切換計數(shù)變?yōu)榱銜r,可 使用圖解說明于圖41中的字段從相應優(yōu)先級隊列移除所述流識別符。此外,當從隊列 移除流時,相應的Q計數(shù)也減小。在3825處,重設用于確定是否正在執(zhí)行越區(qū)切換 的等待旗標。此旗標用于在決策塊3810中確定越區(qū)切換是否待決,且還可用于上文參 照包處理所說明的決策塊3760。
如果所述越區(qū)切換未完成(如決策塊3815中所確定),且部署中斷特征(例如 上文所說明),那么進行到?jīng)Q策塊3830以確定是否已設定中斷旗標。舉例來說,可如 上文所說明的塊3775中所說明的那樣設定此種旗標。否則,所述過程可停止。越區(qū)切 換引擎2890可繼續(xù)執(zhí)行其當前越區(qū)切換操作,且圖36中的過程流可返回到?jīng)Q策塊 3610以等待正被接收的額外包或越區(qū)切換隊列處理狀態(tài)的改變。如果已在決策塊3830
52中設定中斷旗標,那么在塊3835處向越區(qū)切換引擎斷言中斷。中斷信號的越區(qū)切換引 擎處理的實例性實施例進一步詳述于下文中。
在決策塊3840處,所述越區(qū)切換引擎已完成任何先前處理且可產(chǎn)生額外越區(qū)切 換指令。在決策塊3840處,確定流是否可用于越區(qū)切換隊列中的越區(qū)切換。實例性實 施例進一步詳述于下文中。如果不,那么可停止所述過程且所述過程可如上文所說明 的那樣繼續(xù)反復。如果流可用,那么在3845處起始到越區(qū)切換引擎的越區(qū)切換。如上 文所說明,可將所述流識別符及相關(guān)參數(shù)遞送到所述越區(qū)切換引擎。在所述實例性實 施例中,越區(qū)切換計數(shù)可以是任何數(shù)字。如果越區(qū)切換計數(shù)大于一,那么所述越區(qū)切 換引擎可越區(qū)切換每一包直到完成,除非被中斷。在替代實施例中,所述越區(qū)切換引 擎可在每次起始越區(qū)切換時處理一個包。在此替代實施例中,中斷可不必要。在3850 處,設定等待旗標以指示越區(qū)切換過程正在待決中。然后,所述過程的當前反復可停 止。
圖39描繪確定可用于越區(qū)切換的流的方法的實例性實施例,其適于部署為上文 所說明的塊3840。注意,此實例假設向較高優(yōu)先級的流指派較低的數(shù)字優(yōu)先級值。因 此,優(yōu)先級O是最高優(yōu)先級。所屬技術(shù)領(lǐng)域中的技術(shù)人員將在本文的教示的范圍內(nèi)容 易地修改任何類型的優(yōu)先級方案。在3910處,將優(yōu)先級索引設定為O。此是將要測試 的第一及最高優(yōu)先級。在決策塊3920處,如果由優(yōu)先級索引識別的隊列中存在流(即, 其Q計數(shù)大于O),那么退出方法3840且返回所述流。此外,在所述實例性實施例中, 將越區(qū)切換所識別優(yōu)先級的隊列中的第一流(由頭指針識別)。
如果所識別優(yōu)先級的隊列不包含任何流,那么在3930處遞增所述優(yōu)先級索引。 在3940處,如果所述優(yōu)先級索引大于N (其是所支持優(yōu)先級的數(shù)量,在所述實例性實 施例中N:4),那么不存在要測試的額外隊列。在此情況下,所有隊列是空的。如果 存在要測試的額外隊列(即,所述優(yōu)先級索引小于N),那么在3920處返回以測試下 一隊列。所述過程繼續(xù)直到找到流或窮盡所述隊列。此外,任何類型的流選擇技術(shù)可 替代方法3840。
圖42圖解說明用于執(zhí)行越區(qū)切換的方法4200的實例性實施例,其適于部署在越 區(qū)切換引擎2890中。在此實例性實施例中,越區(qū)切換決策塊2880向越區(qū)切換引擎2890 遞送將要越區(qū)切換的多個包、越區(qū)切換計數(shù)、流類型(其可在部署對多個包類型的支 持的情況(例如802.11 (b)、 (g)、 (n)等)下使用)及中斷。所述越區(qū)切換引擎遞送經(jīng) 由存儲器仲裁器680從包緩沖器提取(如上文參照圖28所圖解說明)的包以進行傳出。 將經(jīng)越區(qū)切換的包的數(shù)量連同己進行越區(qū)切換信號一同返回到?jīng)Q策2880以進行處理, 如上文所說明。
在4210處,越區(qū)切換引擎2890從包緩沖器檢索多達由越區(qū)切換計數(shù)指示的數(shù)量 的一個或一個以上節(jié)點。所述節(jié)點將定位于所述包緩沖器中由窗口指針加越區(qū)切換偏 移(對應于流識別符而設定)識別的位置處。請回憶,實例性所接收包緩沖器可如圖 33中所圖解說明的那樣,其中節(jié)點陣列3330包含節(jié)點3310,每一節(jié)點對應于以陣列格式鏈接的包,其中程序塊的鏈接表包含與其相關(guān)聯(lián)的包數(shù)據(jù)。針對所述越區(qū)切換引 擎將用于給所述包緩沖器加索引的變量維持于越區(qū)切換狀態(tài)表4300(圖解說明于圖43 中)中。此外,支持N個流識別符,且針對每一流識別符在越區(qū)切換狀態(tài)表4300中 維持條目4310。在所述實例性實施例中,支持多達256個流。固件針對每一流將節(jié)點 陣列位置維持在包緩沖器中。此由窗口指針4314在越區(qū)切換狀態(tài)表4300中識別。所 述流的窗口的大小指示于窗口大小4316中。越區(qū)切換偏移4312是由越區(qū)切換引擎維 持以確定將在什么地方找到將要越區(qū)切換的下一包的狀態(tài)。因此,如上文所說明,通 過將越區(qū)切換偏移4312添加到窗口節(jié)點4314來識別對應于將要越區(qū)切換的包的節(jié)點。 對于更高效的同步動態(tài)隨機存取存儲器接入來說,可能需要一次檢索一個以上節(jié)點, 但此并非必需。
窗口大小4316可與開始序列號及越區(qū)切換偏移一同使用以將越區(qū)切換引擎定位 到為進行越區(qū)切換而需要處理的包。在此實例中,所述越區(qū)切換偏移指向窗口數(shù)據(jù)結(jié) 構(gòu)(即,節(jié)點陣列)中的開始序列號且參照所述開始序列號來識別將要越區(qū)切換的序列號。
在4215處,選擇對應于越區(qū)切換偏移4312的第一節(jié)點。在4220處,從包緩沖 器檢索對應于所述節(jié)點的程序塊。在4225處,如果必要,基于流類型解分段包。此可 涉及從包緩沖器檢索數(shù)個分段、從每一分段移除分段標頭、將程序塊壓縮為單個包及 創(chuàng)建適當標頭。此可在圖28中所圖解說明的相關(guān)聯(lián)解分段塊2892中執(zhí)行。流類型可 用于指示何時需要分段。舉例來說,在某些實施例中,可支持802.11 (e)及(g)包且可使 用分段。注意,在替代實施例(進一步詳述于下文中)中,在固件中處置需要分段的 包類型以降低復雜性。在此種實施例中,不需要部署解分段塊2892。
在4230處, 一旦檢索到與所述包相關(guān)聯(lián)的程序塊中的每一者,那么重構(gòu)(包括 所需要的任何解分段)所述包,遞送所述包以進行傳出。如上文所說明,可通過各種 接口 (其實例上文己給出)中的任一者執(zhí)行傳出。
一旦包(或一組分段)被越區(qū)切換,那么更新越區(qū)切換偏移4312以識別將要越 區(qū)切換的下一包。在4240處,相應地遞增用以追蹤經(jīng)越區(qū)切換的包的數(shù)量的變量一經(jīng) 越區(qū)切換的#。在4245處,如果支持中斷,且已發(fā)出中斷,那么進行到4255。在4255 處,越區(qū)切換停止,斷言己進行越區(qū)切換且返回經(jīng)越區(qū)切換的包的數(shù)量。在此實施例 中,在每一包被完全越區(qū)切換之后對所述中斷起作用。可部署替代中斷方案,且所屬 技術(shù)領(lǐng)域中的技術(shù)人員將明了所述替代中斷方案。 一旦被中斷,那么越區(qū)切換過程停 止。在此實例中,越區(qū)切換決策塊2880隨后可向越區(qū)切換引擎2890發(fā)出新的越區(qū)切 換命令以繼續(xù)中斷流的包的越區(qū)切換。在4245處,如果未接收到中斷,那么進行到?jīng)Q 策塊4250。在4250處,如果不存在要越區(qū)切換的額外包(可通過比較經(jīng)越區(qū)切換的 包的數(shù)量與越區(qū)切換計數(shù)來確定),那么所述越區(qū)切換完成。進行到4255,斷言己進 行越區(qū)切換,且返回經(jīng)越區(qū)切換的包的數(shù)量。
如果存在要越區(qū)切換的額外包,那么進行到4260。處理下一節(jié)點,且返回到4220以檢索對應于所述節(jié)點的程序塊,從而繼續(xù)剛剛說明的過程。
如圖28中所圖解說明,沖刷塊2894連接到越區(qū)切換引擎2890。沖刷塊2894可 用于追蹤重發(fā)限制、超時等等(其可用于最終沖刷掉包)。此允許所述越區(qū)切換引擎 在空洞被填充之前向前移動。然后越區(qū)切換發(fā)生,如果需要,將通過較高層處置向上 發(fā)送包及任何后續(xù)重傳。
沖刷塊2894在移動ARQ窗口時執(zhí)行各種功能。舉例來說,沖刷部分成為分段的 包。越區(qū)切換完成的包而不管是否存在空洞。使緩沖器空閑且因此將程序塊指針放回 空閑程序塊指針列表中且移動窗口 。
所屬技術(shù)領(lǐng)域中的技術(shù)人員將容易地在替代實施例中修改各種電路、組件及技 術(shù)。在一個實例性一般化實施例(且與圖49中所描繪的替代實施例4900 (詳述于下 文中)兼容)中,傳入狀態(tài)機(ISM)處理傳入包且更新由控制狀態(tài)機(CSM)使用的信 息。這些更新可遞增存儲器中的包的數(shù)量且還更新流—識別符需要由所述控制狀態(tài)機處 理的次序。所述控制狀態(tài)機可更新傳輸器中的四個包節(jié)點高速緩存器,如上文所詳述。 此狀態(tài)機處理流—包—表中的信息。頭指針及尾指針以及表中的下一流指針允許所述控 制狀態(tài)機選擇將要處理的下一流一識別符。所表中可存在服務中位(每一流_識別符), 其讓所述控制狀態(tài)機知道來自此流一識別符的包當前是否正在傳輸中。在傳輸引擎開始 傳輸之前其可將此位設定為l且在所述傳輸完成之后將其設定為0。傳輸狀態(tài)機使用 來自命令隊列的信息以在無線局域網(wǎng)(類似于上文參照圖18所說明的無線局域網(wǎng))上 將包傳輸出去。可用作沖刷塊2894的沖刷狀態(tài)機(有限狀態(tài)機)從由相應接收器正確接 收并確認的同步動態(tài)隨機存取存儲器包沖刷。然后,所述有限狀態(tài)機遞減流—包_表中 的存儲器計數(shù)中的包。
所述流—包一表可具有以下條目中的一者或一者以上流—識別符(l個字節(jié))、存 儲器中的包的數(shù)量(2個字節(jié))、高速緩存器中的包(2位)、服務中位(l位)、下 一_流_識別符(l個字節(jié))及2位優(yōu)先級字段。當包在傳入進來時,所述ISM更新存 儲器中的包,更新下一—流—識別符以及尾j旨針。當傳輸狀態(tài)機正傳輸來自特定流_識 別符的包時,其設定對應的服務中位。當被設定時,控制狀態(tài)機將不更新所述四個包 節(jié)點高速緩存器。在包被傳輸之后,所述傳輸狀態(tài)機更新高速緩存器中的包的數(shù)量且 還重設所述服務中位。所述控制狀態(tài)機將僅在所述服務中位被重設時起作用。其處理 所述流—識別符的次序由下一—流一識別符確定。如果需要,可將2位的優(yōu)先級位添加到 所述表。在此情況下,所述控制狀態(tài)機將首先處理屬于最高優(yōu)先級的流,然后下一優(yōu) 先級等等。此表的實例性大小約為流的數(shù)量的4個字節(jié)倍,或256個流的約1千字節(jié)。 所述控制狀態(tài)機使用所述流_識別符(鏈接—表中的第一包)的標頭指針來斷定需要包 括在所述4個包節(jié)點高速緩存器中的包的節(jié)點地址。
因此,在實例性實施例中,實例性沖刷引擎或沖刷塊2894可從包緩沖器移除成 功接收及確認的所有包。當接收到塊確認位圖時,傳輸狀態(tài)機首先對其進行處理且可 執(zhí)行立刻重傳以顧及某些未經(jīng)確認的包。(下文進一步詳述塊確認。)然后,將所述
55位圖傳遞到?jīng)_刷引擎中的沖刷引擎狀態(tài)機或沖刷塊2894,其針對對應的流—識別符檢 索鏈接表數(shù)據(jù)結(jié)構(gòu)的頭j旨針,即所述頭J旨針在流狀態(tài)RAM中可用。所述頭—指針包 含既定流—識別符的第一包的節(jié)點地址以及此包的序列號。所述沖刷引擎狀態(tài)機處理所 述位圖且將其排隊以沖刷序列中已被確認的包。此邏輯可類似于由傳出狀態(tài)機使用的 邏輯,其中將序列中所接收的包傳遞到主機。 一旦所述沖刷引擎狀態(tài)機已識別將要沖 刷的包的數(shù)量及其序列號,那么可將其排成隊列以進行沖刷。所述頭—指針產(chǎn)生鏈接表 中的第一包的節(jié)點地址。通過從所述鏈接表接入對應包的節(jié)點地址來獲得將要沖刷的 包的節(jié)點地址。在所述實例性實施例中,分配存儲器以提供充足的包位置、程序塊及 節(jié)點。因此,可在后臺進行沖刷,因為通常對此任務沒有嚴格的時間要求。存儲器仲 裁器可為作為低優(yōu)先級任務的沖刷功能提供接入。 塊確認
由上文所詳述的實例性實施例圖解說明的各個方面非常適于執(zhí)行高速媒體接入 控制的塊確認。在典型的塊確認協(xié)議中,傳輸器向接收器傳輸包達一時間周期,而無 需接收所述包中的任一者的確認。然后,塊確認從所述接收器返回到所述傳輸器,指 示先前傳輸?shù)陌械哪囊粋€被正確地接收??身憫趬K確認請求來傳輸塊確認,或可 部署替代調(diào)度機制,例如己接收預定數(shù)量的包之后的響應。塊確認請求可以是經(jīng)傳輸 以指示需要塊確認的特定消息,或所述塊確認可固有地在另一類型的信號或消息中。
一種用于維持經(jīng)確認或未經(jīng)確認的包的狀態(tài)的機制是保持位圖,其中每一位位置 對應于包或包分段,如上文參照以上圖30及31所說明。上文已說明實例性位圖3130。
在高通量系統(tǒng)中,可能需要在觸發(fā)事件之后的相對短的時間量中返回塊確認請 求,例如顯式或內(nèi)在塊確認請求或其它塊確認請求指示符。在實例性802.11實施例中, 可需要在塊確認請求之后的SIFS周期內(nèi)返回塊確認請求(即,立刻塊確認)。因此, 可需要維持多個流的狀態(tài)信息,從而允許當前待決流中的任一者的即時塊確認響應且 在所述塊確認請求之后處理塊確認以重傳任何需要重傳的包??芍С侄喾N類型的塊確 認。舉例來說,可需要部分或完全狀態(tài)確認。大體來說,部分狀態(tài)確認計算可不密集 或可需要較少的推遲??舍槍Σ糠只蛲耆珷顟B(tài)塊確認或其組合容易地修改本文中所說 明的實例性實施例。通過以下實例性實施例進一步說明數(shù)個方面。
接收器處的塊確認
在實例性實施例中,接收包,其可以是聚合包。當在接收器處接收包時,對所述 包進行測試以確定是否已正確地接收所述包,舉例來說,可使用幀檢查序列等等。不 管確定包的正確接收的方法如何,可針對每一包(或分段,如果適當)存儲一指示符。 在所述實例性實施例中,這些確認指示符存儲在每一流的相關(guān)聯(lián)位圖中。上文參照圖 30詳述了用于存儲流的位圖的各種技術(shù)。
圖44是用于響應于立刻塊確認請求的方法4400的實例性實施例。此方法適于即 時響應于塊確認請求。
在4410處,針對任一流維持包標頭信息,可需要為所述流產(chǎn)生塊確認??梢匀?br>
56何格式維持此標頭信息,其實例在所屬技術(shù)領(lǐng)域中眾所周知。存儲所述標頭信息(或 在替代實施例中,可預定用于準備塊確認響應的任何信息)以用于在可能的塊確認傳 輸之前構(gòu)建包。換句話說,所述包正處于某種形式的存儲器,經(jīng)正確格式化使得所有 值供用于發(fā)送(其可先驗地建立)。丟失件是指示每一個別包或分段的實際確認或未 確認的位圖信息(及無法更早建立的任何其它信息)??珊唵蔚貙⑺鑫粓D(及任何 剩余信息)插入到等待包中且將所述位圖傳輸。
請回憶,在上文所說明的實例性實施例中,可部署三個等級的存儲器以提供各種 間接層。在一個實例中,第一等級的存儲器是硬件表,例如硬件表2820。第二等級的 存儲器可包括同步隨機存取存儲器330。在可選配置中,可部署第三等級,例如同步 動態(tài)隨機存取存儲器340??蓪鼧祟^信息存儲在認定可適當對其進行存取的存儲器 的任一層中。
在4420處,接收可以是隱式或顯式的塊確認請求。在4430處,檢索與流相關(guān)聯(lián) 的位圖。可使用任何流識別符來檢索所述位圖。舉例來說,如上文在圖30中所說明, 媒體接入控制索引3004用于識別具有相關(guān)聯(lián)指針3002的鏈路識別符3006。指針3002 可直接指向直接包括位圖3046的表3042,或指針3002可指向速率表3010,基于傳輸 識別符3020的速率表3010指向接收狀態(tài)表2920。如上文所說明,狀態(tài)表2920可包 括位圖指針3050以指向?qū)嶋H位圖3130。所屬技術(shù)領(lǐng)域中的技術(shù)人員將認識到可部署 任何類型的位圖的間接或直接存儲。根據(jù)所使用的技術(shù),檢索與具有塊確認請求的流 識別符相關(guān)聯(lián)的正確位圖。
在4440處,將所檢索的位圖放入所維持的包中,且在4450處,傳輸新構(gòu)建的塊 確認。因此,在此實施例中,盡可能多地預構(gòu)建塊確認包。在替代實施例中,將位圖 信息或其它確認數(shù)據(jù)維持在存儲器的容易接入的部分中以進行即時檢索。然后,響應 于立刻塊確認請求即時傳輸這兩片的組合以提供部分或完全狀態(tài)立刻塊確認。
以上實施例支持立刻完全狀態(tài)或部分狀態(tài)塊確認??稍趯嵗詫嵤├胁渴饘Σ?分狀態(tài)、完全狀態(tài)或任一組合的支持。然而,其它實施例可僅需要支持部分狀態(tài)塊確 認,此將可能是802.11(n)的標準。在此情況下,僅響應于所接收的聚合來發(fā)送塊確認, 從而僅發(fā)送所接收包的狀態(tài)。
對于部分狀態(tài)塊確認來說,你僅需要在接收器處維持單個存儲器。不需要包括完 全狀態(tài)(即,256個流的存儲器)。如果接收到來自不同起源地的傳輸,那么可覆寫 在所述接收器處維持的部分位圖狀態(tài)。注意,如果狀態(tài)被意外覆寫,那么對塊確認的 稍后請求將是不可能的。在一個實例中,在此情況下可發(fā)送所有零位圖。既定實施例 可經(jīng)部署以維持多于最小量的狀態(tài)(如果需要)。
傳輸器處的塊確認
如上文所說明,傳輸器可傳輸多個包且然后經(jīng)由顯式或隱式塊確認請求來請求接 收狀態(tài)。為維持高通量,需要所述傳輸器準備繼續(xù)傳輸或在接收到對應的塊確認時如 需地即時重傳。可容易地修改各種實施例以利用此說明書中通篇詳述的各種方面,以
57允許響應于塊確認而高效并即時地重傳。
圖45描繪用于響應于塊確認的方法4500的實例性實施例。此方法非常適于部署 節(jié)點陣列(例如,存儲在上文所詳述的節(jié)點陣列高速緩存器1810中的那些節(jié)點陣列) 的實施例。此外,上文所說明的隊列(其可由節(jié)點的鏈接表更改及維持)也非常適于 修改用于方法4500。
為總結(jié)所述程序,請回憶,塊確認對應于窗口大小(其在所述實例性實施例中大 小高達64)。將開始序列號設定為由所述窗口表示的最低序列號(概念上為所述窗口 的最左邊的點)。傳輸器知道已傳輸多少包,因此其知道最后包在所述窗口中的何處。 從所傳輸?shù)淖詈蟀_始,所述傳輸器然后可繼續(xù)以逐包地步進穿過從最近傳輸?shù)阶钤?傳輸?shù)奈粓D。如果識別未確認(在所述實例性實施例中為零),那么將所述包的節(jié)點 指針重新鏈接到傳輸隊列中(此將所述包重新排隊以進行重傳)。所述傳輸器穿過重 構(gòu)所述鏈接表傳輸隊列的位圖直到到達所述位圖的開始(由先前的開始序列識別)。 方法4500是可部署的一種此類技術(shù),但用于確定所需要的重傳參數(shù)的任何技術(shù)可與本 文中所詳述的實施例結(jié)合使用。
以下實例圖解說明使用塊確認位圖來處理包緩沖器中的傳輸隊列。相同或類似技 術(shù)可同等地適用于響應于塊確認而提供低延遲重傳。舉例來說,可用流的節(jié)點來裝載 隊列(例如,節(jié)點陣列1842),然后傳輸所述節(jié)點,如上文所說明。那些節(jié)點可保留 直到接收并處理塊確認。所述塊確認位圖可用于指示哪些節(jié)點需要重傳。在一個實施 例中,節(jié)點在節(jié)點陣列中的位置將與在塊確認位字段中的位置一致。在接收塊確認之 后,可使用上文所詳述的聚合技術(shù)來即時聚合并重傳(假設傳輸機會可用)未經(jīng)確認 的包。此是允許高效地利用剩余傳輸機佘的低延遲響應技術(shù)的一個實例。以類似于下 文所說明的方式,可隨著窗口移動而移動節(jié)點陣列中的節(jié)點。注意,不管使用節(jié)點陣 列還是傳輸緩沖器來進行塊確認處理及重傳,當使用數(shù)據(jù)結(jié)構(gòu)(例如,上文所詳述的 節(jié)點及程序塊)將包存儲在包緩沖器中時,根本不需要移動所述包緩沖器中的包數(shù)據(jù)。 在整個第一傳輸及任何后續(xù)重傳中,其可保留在一個位置中(但其可在每一傳輸期間 被重新接入)直到所述包被成功地接收或超出預定限制且被沖刷。
在4510處,接收塊確認。在4515處,設定開始序列號以指向第一未傳輸?shù)陌?因此,在所述實例(其中接收指示正確地接收所傳輸?shù)乃邪膲K確認)中,將移動 所述窗口。將要傳輸?shù)南乱话鼘⑹切麓翱谥械牡谝话?,因此所述開始序列號應與所述 包相關(guān)聯(lián)。以下步驟詳述如何修改開始序列號及更新傳輸隊列,以提供任何必要的重 傳(如果其必要)。當所述過程完成時,開始序列號將已被自動更新為向前移動所述 窗口 (如果可能)的適當位置。將更新傳輸隊列,從而允許傳輸或重傳立刻開始。
在4520處,檢查在最近傳輸?shù)陌庨_始的塊確認位圖。在4525處,如果檢測到 零(或在替代實施例中,檢測到未確認指示符),那么需要重傳所述包。進行到4530 且將下一傳輸?shù)闹羔樻溄拥脚c所述位圖位置相關(guān)聯(lián)的包。舉例來說,當部署傳輸隊列 時(例如上文參照圖6所詳述),可引導隊列頭指針630指向與所述包(針對其檢測
58到零)相關(guān)聯(lián)的節(jié)點。然后,可更新包含于所述節(jié)點中的下一節(jié)點指針字段612以指 向先前的頭指針。在替代實施例中,可使用替代技術(shù)來更新傳輸隊列。
在4535處,更新開始序列號以指向當前包。因此,對于所接收的每一零,所述 開始序列號將被移動到先前位置。如上文所說明,如果正確地接收所有包,那么所述 窗口將已移動到等待傳輸?shù)南乱话?。然而,然后回退所述向前移動直到最早所檢測到 的零。在整個方法4500過程之后,如果與所述塊確認中的開始序列號相關(guān)聯(lián)的包未被 正確地接收,那么當然將根本不向前移動所述窗口。
在4540處,向后遍歷所述位圖到達下一先前包。在4545處,如果存在更多的位 圖位置要檢査,那么針對下一確認返回到?jīng)Q策塊4525。在4525處,如果未檢測到零, 那么所述過程流過4540,從而遍歷所述位圖并檢查以了解所述位圖是否完整。 一旦已 測試所述位圖中的所有包,那么從決策塊4545進行到4550且使用經(jīng)更新的傳輸隊列 開始傳輸。在4560處,可沖刷掉已被確認的包且其相關(guān)聯(lián)指針循環(huán)用于后續(xù)使用。注 意,此步驟可如圖所示并行(或在后臺)操作。然后,所述過程可停止。
總而言之,當針對塊確認接收到位圖時,將所述位圖中的零與現(xiàn)有傳輸隊列重新 鏈接以形成新的傳輸隊列。將這些包的相關(guān)聯(lián)節(jié)點指針重新寫入存儲器中。然而,注 意,所述包本身(由程序塊指針識別且包含于程序塊620中)從來不移動。將僅當所 述包已被成功地傳輸及確認時沖刷掉節(jié)點及程序塊且將指針返回到空閑指針列表。此 存儲器管理過程可并行執(zhí)行,可從塊確認處理推遲,可在后臺執(zhí)行等等。在其中(舉 例來說)所述傳輸器在其傳輸機會中具有剩余時間的情況下,快速產(chǎn)生重傳隊列且傳 輸可繼續(xù)進行以利用任何剩余的傳輸機會。如果所述傳輸器不具有立刻重傳的準許 (即,不存在剩余傳輸機會),那么可執(zhí)行相同方法,但傳輸不需要立刻發(fā)生。
請回憶,如上文參照圖18所說明,可部署乒乓類型的高速緩存器以允許在不打 擾正在進行的傳輸?shù)那闆r下更新節(jié)點陣列1842。也可在塊確認重傳方案中部署此技 術(shù)。圖46描繪可經(jīng)部署以用于在重傳過程中使用乒乓節(jié)點陣列高速緩存器的方法4600 的實例性實施例。舉例來說,方法4600可并入到上文所說明的塊4550中。在4610 處,使用來自傳輸隊列(可能響應于塊確認請求中的重傳信息而更新)的節(jié)點指針設 立第一乒乓節(jié)點陣列1842。如果適當,更新1844中的鏈路識別符,如上文所詳述。 在4620處,切換到此第一節(jié)點陣列以允許傳輸繼續(xù)進行。在4630處,可視需要清理 (即,沖刷包、循環(huán)使用指針等等)存儲器結(jié)構(gòu)。
多業(yè)務識別符塊確認
在既定臺處,可能支持各種流(例如,多達16個流),其中每一流對應于業(yè)務 識別符(TID)。請回憶,業(yè)務識別符映射來自臺的流。在一個聚合中,可能找到對應于 多個業(yè)務識別符的包,例如每鏈路聚合包。因此,可返回對應于多個業(yè)務識別符的塊 確認(或多業(yè)務識別符塊確認)。在一個實施例中,多業(yè)務識別符塊確認包含業(yè)務識 別符,然后是位圖,然后是另一業(yè)務識別符,然后是另一位圖,等等。由于聚合內(nèi)的 包未必成連續(xù)的次序(即,由于重傳),因此產(chǎn)生一個問題。因此,對于既定的業(yè)務
59識別符來說,塊確認將以開始序列號開始,所述開始序列號針對所述業(yè)務識別符規(guī)定 在所述聚合中接收的最低序列號。然后,將所述業(yè)務識別符位圖作為從開始序列號的 偏移提供。下文詳述用于準備多業(yè)務識別符塊確認的數(shù)個實施例。
在一個實施例中,當包達到時,比較每一序列號且保持最低序列號。所述過程可 通過保存每一業(yè)務識別符的首先接收的序列號開始。然后,當每一包到達時,將所述 業(yè)務識別符的所保存序列號與新包的序列號相比較,且保持最低的序列號。在聚合末 尾,你將具有每一業(yè)務識別符的最低開始序列號。在找到所表示的最低序列號之后, 將所述序列號從每一包(正對其做出響應)的序列號(可在其到達時將其保存)減去 以找到所述包在位圖內(nèi)的偏移。最低開始序列號是所述業(yè)務識別符的開始序列號。以 線速度,確定包是否有效可以線速度發(fā)生且簡單地保存確認或NAK的每一位連同絕 對序列號。在聚合的末尾,遍歷所述系列的所保存包序列號,將所減的值用作偏移或 到位圖中的索引,且將所保存的確認或NAK放入所述位圖中。
在替代實施例中,存儲與當前接收的最低序列號相關(guān)的位圖。然后,可進行左移 位或右移位(取決于存儲次序)以更新所述位置。舉例來說,當存儲所述位圖時,如 果傳入包的序列號高于當前最低序列號,那么在適當位置簡單地標記確認位(由最低 所接收序列號與當前所接收序列號之間的差確定)。如果所述傳入序列號低于所述最
低先前所接收的序列號,那么將位圖移位(且將新的確認或NAK放入最低點中)。 可將所述移位確定為所述舊的開始序列號(即,所述最低先前所接收開始序列號)與 新的開始序列號(即,所述當前所接收包的編號,其將成為新的最低編號)之間的差。 與上文所詳述的第一實施例(其中,執(zhí)行遍歷所保存的序列號)相比,在此實施例中, 僅需要保存所述位圖及所述最低開始序列號。不需要保留所述位圖中任何其它序列號。
以上實施例說明適用于立刻部分狀態(tài)塊確認。為擴展到完全狀態(tài),首先簡單地檢 索每一流的所存儲歷史,然后對其進行添加。任一實施例可經(jīng)部署以用于單個業(yè)務識 別符情形,且可針對每一業(yè)務識別符重復以支持多業(yè)務識別符。
非調(diào)度的非調(diào)度自動省電遞送(U-APSD)
本文中所詳述的實例性實施例還非常適于修改以提供非調(diào)度自動省電遞送 (U-APSD)。非調(diào)度自動省電遞送是用于節(jié)約電力的技術(shù)。存在許多變化形式,包括調(diào) 度及非調(diào)度技術(shù)。圖47描繪用于執(zhí)行非調(diào)度自動省電遞送的方法4700的實例性實施 例。在4710處,在典型的非調(diào)度自動省電遞送方案中,用戶終端自主地醒來。在4720 處,所述用戶終端向接入點發(fā)送觸發(fā)包。在4730處,所述接入點從所接收的包確定流 識別符。在決策塊4740處,如果存在等待傳輸?shù)脚c所述流識別符相關(guān)聯(lián)的用戶終端的 包,那么進行到4750。如果否,那么進行到4790,其中解斷言指示符"發(fā)送更多", 從而指示不存在要傳輸?shù)陌?例如,服務周期的結(jié)束(EOSP)位)。在4795處,然后 所述用戶終端可回到睡眠,且所述過程可停止。在決策塊4740中,如果存在要傳輸?shù)?所述用戶終端的包,那么進行到4750。
在4750處,立刻發(fā)送來自傳輸節(jié)點陣列高速緩存器的一個或一個以上包。舉例來說,可接入傳輸節(jié)點陣列高速緩存器1810 (例如,上文在圖18中所說明)。使用 圖18中所圖解說明的技術(shù),傳輸器可立刻回復被喚醒的用戶終端。此避免必須采用替
代技術(shù)(例如,發(fā)送沒有數(shù)據(jù)的包)來保持用戶終端醒來。此避免帶寬以及電力的浪 費,因為所述用戶終端不需要不必要地保持長時間醒來。由于將包排隊且可容易地接 入所述包(如上文所說明),因此有可能能夠使用此技術(shù)做出對所述用戶終端的響應
(包括數(shù)據(jù))。注意,在某些實例性系統(tǒng)(例如,典型的基于因特網(wǎng)協(xié)議的語音(VOIP)
系統(tǒng))中,可僅需要單個包或兩個包來支持語音通信。因此,采用非調(diào)度自動省電遞 送的用戶終端可以非調(diào)度方式醒來,快速檢索具有相對少的推遲的包或兩個包,且繼 續(xù)返回到睡眠以省電。
在決策塊4760處,如果除在4740處發(fā)送的響應包中所包括的那些包以外還存在 要發(fā)送的包,那么進行到4770。在4770處,斷言"發(fā)送更多"指示符,其可包括在 傳輸?shù)接脩艚K端的包中。此"發(fā)送更多"斷言將向所述用戶終端指示其應保持醒來以 接收額外包。在4780處,提取額外節(jié)點并傳輸相關(guān)聯(lián)的額外包,如上文所說明。返回 到4760以確定是否存在要發(fā)送的額外包。 一旦那時傳輸為此用戶終端指定的所有包, 那么如上文所說明,在4790處,解斷言"發(fā)送更多"且在4795處,所述用戶終端可 返回到睡眠。
因此,在上文所詳述的實例性非調(diào)度自動省電遞送實施例中,可將多達四個包立 刻傳輸?shù)饺魏斡脩艚K端,因為其在節(jié)點陣列高速緩存器中可用。可即時發(fā)送這四個包 且如果后面還有更多,那么可設定指示符。隨后,在SIFS、塊確認等等之后,額外包 將準備傳輸。在此實例中,在傳輸流狀態(tài)表(例如,1030)中維持變量以向接入點指 示用戶終端是醒來還是睡眠。此實施例說明如在圖18中所示的傳輸器中所圖解說明的 那樣使用高速緩沖存儲。注意,如果特定流需要增加的存儲,那么可使用替代量的高 速緩沖存儲,或以不同方式對其進行劃分(即,重新劃分以允許響應多于4個包)。
省電多輪詢(PSMP)
省電多輪詢(PSMP)是其中上文所詳述的節(jié)點高速緩沖存儲方案提供益處的另一 區(qū)域。省電多輪詢具有兩個變化形式,非調(diào)度及調(diào)度。
非調(diào)度省電多輪詢(U-PSMP)類似于非調(diào)度自動省電遞送。當臺醒來時,其使用 EDCA程序來發(fā)送觸發(fā)消息,其可以是己經(jīng)配置而啟用觸發(fā)(經(jīng)由設置消息)的接入 類別的服務質(zhì)量數(shù)據(jù)(QoSData)或服務質(zhì)量空(QoSNull)消息。在接收此包之后, 所述接入點發(fā)送針對此臺存儲的包(其有利地存儲在節(jié)點陣列高速緩存器1810中)。 在最后的包中,所述接入點將EOSP設定為1以指示不存在更多的包。在接收此包之 后,所述臺回到睡眠。當針對特定接入類別將臺被配置為啟用非調(diào)度省電多輪詢時, 在TA/TID-流映射表(例如,1030)中指示對應的流為啟用非調(diào)度省電多輪詢。此外, 還在所述TA/TID-流映射表中維持指示所述流是處于睡眠模式還是現(xiàn)用模式的狀態(tài)變
因此,以上實施例非常適于支持非調(diào)度省電多輪詢。在實例性實施例中,可維持指示流是否是省電多輪詢流的第一變量及指示特定臺是醒來還是睡眠的第二變量,且 將所述變量添加到上文所說明的其它變量。在接收數(shù)據(jù)(或觸發(fā))之后,所述接入點 檢查此觸發(fā)是合法的非調(diào)度省電多輪詢流(根據(jù)所述第一變量),且將所述第二變量 從"睡眠"設定為"醒來"。所述接入點發(fā)出針對所述STA存儲的包(其可容易地獲 得),然后使所述臺睡眠且將所述第二變量設定回"睡眠"。如果存在剩余傳輸機會, 也可使用醒來位。在此種情況下,檢査所述醒來位,且傳輸機會僅在STA醒來時用于 所述STA。所述接入點具有保持臺醒來以執(zhí)行傳輸?shù)鹊臎Q定權(quán)。可將所述變量添加到 傳輸陣列狀態(tài)表1830。
在調(diào)度省電多輪詢(S-PSMP)中,研發(fā)模板且然后公布上行鏈路及下行鏈路調(diào)度 (舉例來說,接入點中的固件可執(zhí)行此功能,以及任何其它裝置)。無線局域網(wǎng)內(nèi)的 無線通信裝置可使用同一模板直到添加新的調(diào)用或調(diào)用離開。然后,可創(chuàng)建新模板。
在一個實施例中,所述接入點控制所述經(jīng)調(diào)度省電多輪詢。可如下執(zhí)行一種方法 l)所述接入點向自己發(fā)送清理發(fā)送(CTS)以清理媒體。所述清理發(fā)送設定等于下行加上 上行傳輸機會的NAV持續(xù)時間。2)所述接入點發(fā)送省電多輪詢幀,其詳述所述上行鏈 路及下行鏈路調(diào)度(每一臺,到微秒)。3)然后,所述下行鏈路傳輸開始。4)所述上 行鏈路傳輸在所述下行鏈路傳輸之后。5)高度調(diào)度此格式,且所述接入點避免超過所 調(diào)度的結(jié)束時間,以移除抖動。此可通過將接入限制到所述NAV持續(xù)時間的末尾附 近的媒體來完成。重要的是避免抖動,使得用戶終端不醒來檢查其狀態(tài),不因由于抖 動所產(chǎn)生的偏移而丟失其消息,且回到睡眠,從而錯過其傳輸機會。
在實例性實施例中,將用于產(chǎn)生所述調(diào)度的數(shù)據(jù)結(jié)構(gòu)保持在乒乓數(shù)據(jù)結(jié)構(gòu)中,如 上文所說明。所述數(shù)據(jù)結(jié)構(gòu)包含用于所述上行鏈路及下行鏈路調(diào)度(其用于經(jīng)調(diào)度的 省電多輪詢)的模板。將當前調(diào)度保持在所述乒乓數(shù)據(jù)結(jié)構(gòu)的一半中??稍跓o線局域 網(wǎng)上將此傳輸?shù)脚_。然后,所述接入點可對所述乒乓數(shù)據(jù)結(jié)構(gòu)的另一半中的模板做出 改變。選擇器可經(jīng)部署以在所述第一模板與所述第二模板之間進行交替。所述接入點 自由地處理非現(xiàn)用的任何模板而不打擾現(xiàn)用模板。此技術(shù)類似于節(jié)點陣列1842的使用 或影子流表(1092及1096)。
替代實施例分開的高與低通量
如上文參照圖IOA所說明,高速包處理可不需要例如分段等各種功能,但可仍需 要對其它包類型或遺留802.11包的支持。圖48圖解說明部署一個以上媒體接入控制 處理器的替代實施例??刹渴鸶咚倜襟w接入控制處理器(例如,所詳述的H2W處理 器530)及下層媒體接入控制540 (部署于媒體接入控制處理器中,例如240,上文已 詳述)以用于高效的高速處理,同時并行部署替代媒體接入控制處理器4810以用于處 理其它包類型(或遺留包,例如各種類型的802.11包)。
在一個實例性實施例中,較低通量媒體接入控制處理器4810包含于處理器210 (且如果需要,還可包括其它組件,例如經(jīng)部署用于遺留包處理的組件)中。在所述 實例性實施例中,向處理器210充分供電以處理低通量及遺留包,從而允許對較高通量的組件(例如,H2W處理器530)進行設計以高效地支持高通量包。其它實施例可
包括額外媒體接入控制處理器,如下文所說明。
在此實例中,由于802.11(n)包將不支持分段,因此可通過從硬件移除分段支持且
在固件中實施分段支持來簡化上文所詳述的實施例。上文已敘述各種實例性簡化。使
固件處理所有遺留包允許分段支持的移除,簡化傳輸及接收引擎且簡化節(jié)點及程序塊
管理(因為分段閾值可不同于程序塊大小)。所屬技術(shù)領(lǐng)域中的技術(shù)人員將依據(jù)支持
哪些特征來容易地修改本文中所詳述的實施例以包括或省略各種處理塊。
所屬技術(shù)領(lǐng)域中的技術(shù)人員將容易地了解當部署包括能夠處理各種包類型的所 有功能的單個處理器的實施例與包含每一者能夠提供任一子組的功能性的兩個或兩個
以上媒體接入控制處理器的另一實施例時的折衷。當然,還可部署能夠處理需要單個
組的功能性的包的單個媒體接入控制處理器。
分開的高與低通量僅為在多個媒體接入控制處理器之間劃分功能性的一個實例。 大體來說,可將任何組的功能部署在不同的媒體接入控制處理器中。舉例來說,當不 同包類型的處理要求不共享充足的相似性(以通過共享組件來實現(xiàn)效率)時,或在電 路設計考慮因素在用于支持各種包類型的設計之間充分不同的情況下,可需要在分離 的處理器中處理兩個同等高速(或任一速度)的包類型。
圖49描繪無線通信裝置4900 (例如,接入點104或用戶終端106)的實例性實 施例,所述無線通信裝置包括兩個媒體接入控制處理器,包括如上文所說明的第一媒 體接入控制處理器及包含于微處理器中的第二媒體接入控制處理器。此實例是類似于 圖48中的一般化實施例的更加詳細的實例。
所屬技術(shù)領(lǐng)域中的技術(shù)人員將容易地將以上圖5中所示的實施例修改為圖49中 所描繪的替代實施例。在此實例中,傳入及傳出包到達且從總線4980上的外部接口分 離。實例性外部接口包括串行數(shù)字輸入輸出接口 582、 PCI接口 584、 USB接口或任 何其它類型的接口。所述接口可包括電路以在一個或一個以上接口之間進行仲裁及/ 或多路復用。傳入包使用上文所說明的傳入及存儲器管理技術(shù)中的任一者由傳入塊 4910處理且經(jīng)由存儲器接口 4920存儲在存儲器中。存儲器接口 4920可包括(舉例來 說)存儲器仲裁器552及/或556、多路復用器554、同步隨機存取存儲器接口 558、同 步動態(tài)隨機存取存儲器接口 562或各種其它組件。所屬技術(shù)領(lǐng)域中的技術(shù)人員還將修 改其它存儲器接口。
與圖5的實施例相比,某些包類型在處理器(例如,處理器210)中處理。在此 實例中,經(jīng)由處理器總線520將將要由所述處理器格式化的傳入包從存儲器接口 4920 遞送到所述處理器(各種其它組件也可附裝到處理器總線520,其實例顯示于圖5中)。 可在存儲器接口 4920與總線520之間部署處理器接口。在此實例中,部署一個或一個 以上處理器存儲器先進先出存儲器4950 (用于遞送所接收包的任何其它接口)。此允 許存儲包(以及數(shù)據(jù)結(jié)構(gòu),例如節(jié)點、程序塊等)以供處理器210使用。所接收的低 通量包也由處理器210處理,且可經(jīng)由處理器存儲器先進先出存儲器4950從存儲器接口 4920轉(zhuǎn)移到處理器總線520。
在替代實施例中,可用到處理器存儲器的直接連接替代處理器存儲器先進先出存
儲器。舉例來說,直接存儲器存取可用于將低速度包放入存儲器中以由處理器210進 行處理。在一個實施例中,存儲器接口 4920可將低速度包直接寫入處理器存儲器4950 (不是先進先出存儲器)中,而不將所述包存儲在高速包RAM中。
在此實例中,包也可由處理器210存放在存儲器(經(jīng)由存儲器接口 4920)中。舉 例來說,所述處理器可在無線局域網(wǎng)上重新路由退回所接收的包而無需在外部接口上 發(fā)出所述包。注意,本文中所詳述的所有實施例可適于重新路由退回以進行傳輸?shù)乃?接收的包??墒褂蒙衔乃f明的技術(shù)中的任一種來格式化遞送到總線520的包。
在所述實例性實施例中,將802.11 (b)、 (g)及(e)包路由到處理器以進行格式化(包 括可能適當?shù)娜魏畏侄?。其它包類型也可適于處理器格式化。舉例來說,802.11(n) 規(guī)定經(jīng)聚合媒體接入控制服務數(shù)據(jù)單元(A-MSDU),其也適合由處理器格式化??刹?署用于路由的各種技術(shù)。在此實例中,當接收包以進行處理器格式化時,將所述包存 儲在存儲器中且給予所述處理器中斷以啟動針對傳輸?shù)母袷交?細節(jié)未顯示)。
可存儲由處理器210處理之后的經(jīng)格式化低通量或遺留包以在處理器無線局域網(wǎng) 傳輸先進先出存儲器4960中進行傳輸??上蛱幚砥鳠o線局域網(wǎng)傳輸先進先出存儲器 4960提供反饋,例如就緒信號,其為用以提供扼殺控制的信號。還可將這些包遞送到 傳輸引擎1880以進行排隊及可能的進一步處理(例如,通過遺留協(xié)議引擎2210)且 最終在物理層260上傳輸。其可被直接遞送到傳輸引擎1880,或其可被并入到隊列 1850中(如圖18中所說明),由陣列控制1840管理等。注意,在所述實例性實施例 中,可針對遺留及聚合媒體接入控制服務數(shù)據(jù)單元包繞過聚合模塊2610。
高速包(例如,802.11(n)經(jīng)聚合媒體接入控制協(xié)議數(shù)據(jù)單元(A-MPDU))還可由 傳入塊4910接收并經(jīng)由存儲器接口 4920存儲在存儲器中。在此情況下,所述包由傳 輸引擎1880使用上文所詳述(例如,參照圖18)的技術(shù)傳輸。在此實例中,高速包 的硬件處理允許高速傳輸,而可在處理器210的固件中實施較低速度的包(例如,上 文所說明的遺留包)而無需創(chuàng)建通量瓶頸。此允許將各種遺留包的遺留細節(jié)從高速媒 體接入控制處理硬件省去,從而允許將其設計地更高效,同時通過所述固件實施的媒 體接入控制處理器仍提供遺留支持。高速包最終經(jīng)由所述物理層在無線局域網(wǎng)上傳輸。 標頭可用于指示高速或低速度物理傳輸。
將從無線局域網(wǎng)接收的包遞送到耦合的接收引擎4970且最終經(jīng)由存儲器接口 4920存儲在存儲器中。可將低速度包傳遞穿過處理器210以進行處理(即,遺留包, 或針對使用所述硬件媒體接入控制處理器中不支持的特征(例如分段等)的包)。在 替代實施例中,所述包可直接去往處理器210 (無需存儲在存儲器中)或可連接到任 何其它替代媒體接入控制處理器(請回憶,可部署任何數(shù)量的媒體接入控制處理器, 以用于支持任何數(shù)量組的包特征)。在此實例中,經(jīng)由處理器存儲器先進先出存儲器 4950將低通量或遺留包從存儲器接口 4920遞送到處理器,如上文所說明。其可以或可不通過遺留協(xié)議引擎2210部分地處理。注意,可針對非聚合數(shù)據(jù)單元(例如,遺留
包)繞過解聚合單元2802。
接收引擎4970 (以及其它組件,例如遺留引擎2210,如果部署)如上文在下層 媒體接入控制核心540中所說明的那樣處理解聚合的包。在此實例中,所述高速包是 在硬件媒體接入控制處理器中處理僅有包,但在替代實施例中,可處理任何類型的包。
接收引擎4970可使用遺留引擎2210將任一包類型解密,如上文所說明。注意, 所接收的包可由媒體接入控制/物理層接口 (例如,媒體接入控制/物理層接口 545,如 上文所說明)加標簽以指示包類型。舉例來說,包可被識別為802.11 (a)、 (b)、 (e)、 (g)、 (n)等。包可被識別為聚合媒體接入控制服務數(shù)據(jù)單元或經(jīng)聚合媒體接入控制協(xié)議數(shù)據(jù) 單元。大體來說,可應用任何標簽來指示包到任何數(shù)量的媒體接入控制處理器中的一 者的路由。
在剛剛說明的實例性實施例中,注意,聚合及解聚合僅應用于高速包(聚合對于 高速包是可選的,如上文所說明)??蓪⒌退侔鼈鬟f穿過聚合及解聚合塊。僅針對遺 留或低速包支持分段,而不是高速包。所述處理器(即,210)是第一媒體接入控制處 理器且第二媒體接入控制處理器包含上文(即,在圖5中)所說明的各種組件。如上 文所說明,這些僅為實例。大體來說,可在第一媒體接入控制處理器中支持任何特征 組且在第二媒體接入控制處理器中支持相同組或不同組的特征(其任一者可由處理器 (例如,處理器210)執(zhí)行或兩者均不由所述處理器執(zhí)行)。傳出塊4930可經(jīng)由存儲器接口 4920從包緩沖器接收及越區(qū)切換高速包。傳出塊 4930還可在從處理器傳出先進先出存儲器4940遞送的低速度包與高速包之間進行仲 裁。在所述實例性實施例中,所述處理器將準備按優(yōu)先級次序越區(qū)切換的經(jīng)處理包遞 送到處理器傳出先進先出存儲器4940。在替代實施例中,替代存儲器可替代處理器傳 出先進先出存儲器4940以允許傳出塊4930選擇在傳出塊4930內(nèi)進行優(yōu)先化的包(如 果需要)。在又一替代實施例中,可去除處理器傳出先進先出存儲器4940,且傳出塊 可經(jīng)由直接接入將低速包越區(qū)切換到處理器存儲器(例如,通過直接存儲器存取或其 它接入方法)。在又一實施例中,處理器傳出先進先出存儲器4940可具有多個優(yōu)先 級隊列,傳出塊4930可從所述多個優(yōu)先級隊列選擇以實施優(yōu)先級方案。
所屬技術(shù)領(lǐng)域中的技術(shù)人員將認識到包含于無線通信裝置4900中的教示的多種 替代配置。
圖50圖解說明多流包緩沖及排隊的方面。圖50包含存儲裝置5010,其用于在 包緩沖器5030中的第一數(shù)據(jù)結(jié)構(gòu)5040中存儲第一包的長度5050、所述包的序列號 5060及所述包緩沖器中的第二數(shù)據(jù)結(jié)構(gòu)5080的第二包緩沖器位置5070;及存儲裝置, 其用于將來自所述第一包的數(shù)據(jù)5020存儲在由所述所存儲的第二包緩沖器位置5070 所識別的第二數(shù)據(jù)結(jié)構(gòu)5080中。
圖51圖解說明多流包緩沖及排隊的方面。圖51包含與包相關(guān)聯(lián)的第一數(shù)據(jù)結(jié) 構(gòu)5140;及包含來自所述相關(guān)聯(lián)包的數(shù)據(jù)的一個或一個以上第二數(shù)據(jù)結(jié)構(gòu)5180;且顯示所述第一數(shù)據(jù)結(jié)構(gòu),其包含指示所述相關(guān)聯(lián)包的長度的長度字段5150;指示所述 相關(guān)聯(lián)包的序列號的序列號字段5160;及指示所述第二數(shù)據(jù)結(jié)構(gòu)5180中的一者在包 緩沖器5130中的位置的第二數(shù)據(jù)結(jié)構(gòu)指針字段5170;且顯示存儲裝置5120,其用于 將所述包存儲在所述第二數(shù)據(jù)結(jié)構(gòu)5180中的一者或一者以上中。
圖52圖解說明用于高速媒體接入控制的存儲器管理的方面。圖52包含選擇裝 置529Q,其用于選擇第一或第二模式;配置裝置5210,其用于以第一模式配置第一存 儲器5230以存儲多個通信流中的每一者的一個或一個以上參數(shù);配置裝置5260,其 以第二模式配置所述第一存儲器以存儲所述多個通信流中的每一者的指針,每一指針 指示與相應通信流相關(guān)聯(lián)的位置;配置裝置5220,其以所述第一模式配置第二存儲器 5240以存儲所述多個通信流中的每一者的包;配置裝置5270,其以所述第二模式配置 所述第二存儲器以存儲所述多個通信流中的每一者的多組一個或一個以上參數(shù),每一 組一個或一個以上參數(shù)存儲在由所述指針指示的與相應流相關(guān)聯(lián)的位置中;及配置裝 置52S0,其用于以所述第二模式配置可與第三存儲器一起操作的存儲器接口 5250以 操作以存儲所述多個通信流中的每一者的包。
圖53圖解說明多流媒體接入控制的方面。圖53包含設定裝置5320,其用于將 流識別符索引設定為多個流識別符索引值中的一者,每一流識別符索引與多個流中的 相應一者相關(guān)聯(lián);存儲裝置5310,其用于將第一存儲器5330中的多個參數(shù)組5340存 儲在多個第一存儲器位置處,每一參數(shù)組包含多個流中的相應一者的一個或一個以上 參數(shù),每一參數(shù)組的第一存儲器位置由在所述流識別符索引中設定的相應流識別符索 引值識別;及檢索裝置5350,其用于根據(jù)所述流識別符索引從所述第一存儲器檢索所 述多個參數(shù)組中的一者的一個或一個以上參數(shù)。
圖54圖解說明多流媒體接入控制的方面。圖54包含存儲裝置5410,其用于將 多個參數(shù)組5420存儲在第一存儲器5430中,每一參數(shù)組存儲在多個參數(shù)組位置中的 相應一者處,每一參數(shù)組包含多個流中的相應一者的一個或一個以上參數(shù),所述多個 流中的每一者由多個流識別符中的一者識別;存儲裝置5440,其用于將多個參數(shù)組指
針5450存儲在第二存儲器中,每一參數(shù)組指針識別所述第一存儲器中的所述多個參數(shù) 組位置中的一者,每一參數(shù)組指針與所述多個流中的一者相關(guān)聯(lián);檢索裝置5470,其 用于根據(jù)流識別符從所述第二存儲器檢索參數(shù)組指針;檢索裝置5480,其用于通過根 據(jù)所檢索的參數(shù)組指針接入所述參數(shù)組來從所述第一存儲器檢索一個或一個以上參 數(shù)。
圖55圖解說明用于高速媒體接入控制的多個流多路復用的方面。圖55包含存 儲裝置5510,其用于將與多個流中的一者相關(guān)聯(lián)的一個或一個以上包元素5520存儲 在第二多個隊列5530中的每一者中;選擇裝置5540,其用于從所述第二多個隊列中 的一者選擇元素;及存儲裝置5550,其用于將所述所選擇的元素5560存儲在第一多 個隊列5570中的一者中,每一隊列與多個信道中的一者相關(guān)聯(lián)。
圖56圖解說明高速通信系統(tǒng)中的聚合的方面。圖56包含存儲裝置5610,其用
66于將一個或一個以上第一數(shù)據(jù)結(jié)構(gòu)5620存儲在隊列5630中,其中每一第一數(shù)據(jù)結(jié)構(gòu) 包含相應相關(guān)聯(lián)包的長度字段5635及指向第二數(shù)據(jù)結(jié)構(gòu)5650的指針5640,所述第二 數(shù)據(jù)結(jié)構(gòu)包含所述相應相關(guān)聯(lián)包數(shù)據(jù)的至少一部分;確定裝置,其用于確定傳輸數(shù)據(jù) 量5660;檢索裝置5670,其用于從所述隊列中的所述第一數(shù)據(jù)結(jié)構(gòu)中一者或一者以上 的長度字段檢索一個或一個以上長度值;選擇裝置5680,其用于選擇一組一個或一個 以上第一數(shù)據(jù)結(jié)構(gòu)使得從所述組第一數(shù)據(jù)結(jié)構(gòu)檢索的長度值的和小于或等于所述傳輸 數(shù)據(jù)量;及聚合裝置5690,其用于在聚合協(xié)議數(shù)據(jù)單元中聚合包,每一經(jīng)聚合的包由 指向所述所選擇組的第一數(shù)據(jù)結(jié)構(gòu)中的第二數(shù)據(jù)結(jié)構(gòu)的指針識別。
圖57圖解說明用作服務中隊列及等待中隊列的影子高速緩存器的方面。圖57包 含選擇裝置5720,其用于選擇第一隊列5710作為服務中隊列;選擇裝置5740,其 用于選擇第二隊列5730作為等待中隊列;調(diào)度裝置,其用于調(diào)度第一流5750;調(diào)度 裝置,其用于調(diào)度第二流5760;存儲裝置,其用于存儲與所述服務中隊列中的第一所 調(diào)度流相關(guān)聯(lián)的一個或一個以上元素5770;處理裝置5780,其用于處理所述服務中隊 列以在第一傳輸機會期間進行傳輸;及存儲裝置5790,其用于存儲與所述等待中隊列 中的第二所調(diào)度流相關(guān)聯(lián)的一個或一個以上元素,其中所述存儲可與所述服務中隊列 處理同時發(fā)生。
圖58圖解說明傳入管控的方面。圖58包含接收裝置5810,其用于接收與多個 流中的一者的包相關(guān)聯(lián)的流識別符;檢索裝置5820,其用于檢索與所述流識別符相關(guān) 聯(lián)的一個或一個以上參數(shù);許可傳入裝置5830,其用于在根據(jù)與所述流識別符相關(guān)聯(lián) 的一個或一個以上所檢索參數(shù)而滿足預定條件時許可包傳入;及拒絕裝置5840,其用 于在根據(jù)與所述流識別符相關(guān)聯(lián)的一個或一個以上所檢索參數(shù)而不滿足所述預定條件 時拒絕所述包。
圖59圖解說明傳入管控的方面。圖59包含接收裝置5910,其用于接收與多個 流中的一者的包相關(guān)聯(lián)的流識別符;檢索裝置,其用于檢索當前包緩沖器占用量5920; 檢索裝置,其用于檢索與所述流識別符相關(guān)聯(lián)的最大緩沖器占用量5930;檢索裝置, 其用于檢索與所述流識別符相關(guān)聯(lián)的累積包5940;檢索裝置,其用于檢索與所述流識 別符相關(guān)聯(lián)的最大包5950;及許可傳入裝置,其用于在所述當前包緩沖器占用量小于 與所述流識別符相關(guān)聯(lián)的所述最大緩沖器占用量或與所述流識別符相關(guān)聯(lián)的所述累積 包小于與所述流識別符相關(guān)聯(lián)的所述最大包時許可包傳入5960。
圖60圖解說明傳入管控的方面。圖60包含包緩沖器6010;檢索裝置6020, 其用于檢索多個流中的每一者的一個或一個以上參數(shù);及有條件存儲裝置6030,其用 于根據(jù)所述一個或一個以上所檢索參數(shù)有條件地將與所述多個流中的一者相關(guān)聯(lián)的包 存儲在包緩沖器中。
圖61圖解說明低延遲響應的媒體接入控制的方面。圖61包含存儲裝置6110, 其用于將一個或一個以上數(shù)據(jù)結(jié)構(gòu)6120存儲在隊列6130中,其中每一第一數(shù)據(jù)結(jié)構(gòu) 包含相應相關(guān)聯(lián)包的長度字段6135及指向第二數(shù)據(jù)結(jié)構(gòu)6150的指針6140,所述第二數(shù)據(jù)機構(gòu)包含相應相關(guān)聯(lián)包數(shù)據(jù)的至少一部分;檢索裝置6160,其用于響應于需要預 定時間間隔內(nèi)的響應傳輸?shù)膫鬏敊C會從所述隊列中的所述第一數(shù)據(jù)結(jié)構(gòu)中的一者或一 者以上的長度字段檢索一個或一個以上長度值;及形成裝置6170,其用于在所述預定
時間間隔內(nèi)形成響應協(xié)議數(shù)據(jù)單元,所述協(xié)議數(shù)據(jù)單元包含根據(jù)所述預定時間間隔內(nèi) 的至少一個長度值確定的協(xié)議數(shù)據(jù)單元長度值。
所屬技術(shù)領(lǐng)域中的技術(shù)人員應了解,可使用各種不同的技術(shù)及技法中的任一者來 表示信息及信號。舉例來說,以上說明書通篇可提及的數(shù)據(jù)、指令、命令、信息、信 號、位、符號及碼片可由電壓、電流、電磁波、磁場或粒子、光場或粒子或其任一組 合表示。
所屬技術(shù)領(lǐng)域中的技術(shù)人員應進一步了解,結(jié)合本文所揭示的實施例說明的各種 例示性邏輯塊、模塊、電路及算法步驟可實施為電子硬件、計算機軟件或兩者的組合。 為清楚地圖解說明硬件與軟件的此種可互換性,上文就其功能性大體說明了各種例示 性組件、塊、模塊、電路及步驟。此種功能實施為硬件還是軟件取決于特定應用及施 加于總體系統(tǒng)上的設計約束條件。所屬技術(shù)領(lǐng)域中技術(shù)人員可針對每一特定應用以不 同方式實施所說明的功能性,但所述實施方案不應被解釋為導致對本揭示內(nèi)容的范圍 的背離。
結(jié)合本文中所揭示實施例說明的各種例示性邏輯塊、模塊及電路可通過以下裝置 實施或執(zhí)行通用處理器、數(shù)字信號處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場 可編程門陣列(FPGA)或其它可編程邏輯裝置、離散門或晶體管邏輯、離散硬件組件 或其設計用于執(zhí)行上文所說明的功能的任一組合。通用處理器可以是微處理器,但在 替代方案中,處理器可以是任一常規(guī)處理器、控制器、微控制器或狀態(tài)機。處理器也 可實施為計算裝置的組合,例如DSP與微處理器的組合、多個微處理器的組合、 一個 或一個以上微處理器與DSP核心的聯(lián)合或任何其它此類配置。
結(jié)合本文所揭示的實施例說明的方法或算法的步驟可直接包含于硬件中、包含于
由處理器執(zhí)行的軟件模塊中或包含于兩者的組合中。軟件模塊可駐存在RAM存儲器、 快閃存儲器、ROM存儲器、EPROM存儲器、EEPROM存儲器、寄存器、硬盤、可抽 換式磁盤、CD-ROM或所屬技術(shù)領(lǐng)域中已知的任一其它形式的存儲媒體內(nèi)。實例性存 儲媒體耦合到所述處理器,以使所述處理器可從所述存儲媒體讀取信息及向所述存儲 媒體寫入信息。在替代方案中,所述存儲媒體可整合到所述處理器。所述處理器及所 述存儲媒體可駐存于專用集成電路中,專用集成電路可駐存于用戶終端中。在替代方 案中,所述處理器及所述存儲媒體可作為離散組件駐存于用戶終端中。
提供對所揭示實施例的以上說明旨在使任一所屬技術(shù)領(lǐng)域中的技術(shù)人員皆能夠 制作或使用本發(fā)明。所屬技術(shù)領(lǐng)域中的技術(shù)人員將易知對這些實施例的各種修改,且 本文所界定的一般原理也可應用于其它實施例,此并不背離本發(fā)明的精神或范圍。因 此,本揭示內(nèi)容并非既定限定為本文所示的實施例,而是將賦予其與本文所揭示的原 理及新穎特征相一致的最寬廣范圍。
權(quán)利要求
1、一種方法,其包含在包緩沖器中的第一數(shù)據(jù)結(jié)構(gòu)中存儲第一包的長度、所述包的序列號及所述包緩沖器中的第二數(shù)據(jù)結(jié)構(gòu)的第二包緩沖器位置;及將來自所述第一包的數(shù)據(jù)存儲在由所述所存儲的第二包緩沖器位置識別的所述第二數(shù)據(jù)結(jié)構(gòu)中。
2、 如權(quán)利要求1所述的方法,其進一步包含在所述包緩沖器中的第三數(shù)據(jù)結(jié)構(gòu)中存儲第二包的長度、所述第二包的序列號及所述包緩沖器中的第四數(shù)據(jù)結(jié)構(gòu)的第四包緩沖器位置;將來自所述第二包的數(shù)據(jù)存儲在由所述所存儲的第四包緩沖器位置識別的所述 第四數(shù)據(jù)結(jié)構(gòu)中;及將所述第三數(shù)據(jù)結(jié)構(gòu)的位置存儲在所述第一數(shù)據(jù)結(jié)構(gòu)中。
3、 如權(quán)利要求1所述的方法,其進一步包含通過存儲多個第一數(shù)據(jù)結(jié)構(gòu)的鏈接 表來形成包隊列,每一第一數(shù)據(jù)結(jié)構(gòu)與多個包中的一者相關(guān)聯(lián)。
4、 如權(quán)利要求1所述的方法,其進一步包含形成第一數(shù)據(jù)結(jié)構(gòu)的陣列,每一第 一數(shù)據(jù)結(jié)構(gòu)與多個包中的一者相關(guān)聯(lián)。
5、 如權(quán)利要求1所述的方法,其進一步包含形成空閑第一數(shù)據(jù)結(jié)構(gòu)指針列表, 所述空閑第一數(shù)據(jù)結(jié)構(gòu)指針列表包含用于與第一數(shù)據(jù)結(jié)構(gòu)相關(guān)聯(lián)的一個或一個以上第 一數(shù)據(jù)結(jié)構(gòu)指針。
6、 如權(quán)利要求5所述的方法,其進一步包含 從所述空閑第一數(shù)據(jù)結(jié)構(gòu)指針列表中檢索第一數(shù)據(jù)結(jié)構(gòu)指針; 從所述空閑第一數(shù)據(jù)結(jié)構(gòu)指針列表中移除所述所檢索的第一數(shù)據(jù)結(jié)構(gòu)指針;及 將所述第一數(shù)據(jù)結(jié)構(gòu)存儲在所述包緩沖器中由所述所檢索的第一數(shù)據(jù)結(jié)構(gòu)指針識別的位置處。
7、 如權(quán)利要求5所述的方法,其進一步包含將先前移除的第一數(shù)據(jù)結(jié)構(gòu)指針添 加到所述空閑第一數(shù)據(jù)結(jié)構(gòu)指針列表以從所述包緩沖器中移除所述第一數(shù)據(jù)結(jié)構(gòu)。
8、 如權(quán)利要求1所述的方法,其進一步包含形成空閑第二數(shù)據(jù)結(jié)構(gòu)指針列表, 所述空閑第二數(shù)據(jù)結(jié)構(gòu)指針列表包含用于與第二數(shù)據(jù)結(jié)構(gòu)相關(guān)聯(lián)的一個或一個以上指 針。
9、 如權(quán)利要求8所述的方法,其進一步包含 從所述空閑第二數(shù)據(jù)結(jié)構(gòu)指針列表中檢索第二數(shù)據(jù)結(jié)構(gòu)指針; 將所述所檢索的第二數(shù)據(jù)結(jié)構(gòu)指針從所述空閑第二數(shù)據(jù)結(jié)構(gòu)指針列表中移除;及 將所述所檢索的第二數(shù)據(jù)結(jié)構(gòu)指針存儲在所述第一數(shù)據(jù)結(jié)構(gòu)的所述第二包緩沖器位置中。
10、 如權(quán)利要求9所述的方法,其進一步包含將所述第二數(shù)據(jù)結(jié)構(gòu)存儲在所述包 緩沖器中由所述所檢索的第二數(shù)據(jù)結(jié)構(gòu)指針識別的位置處。
11、 如權(quán)利要求8所述的方法,其進一步包含將先前移除的第二數(shù)據(jù)結(jié)構(gòu)指針添 加到所述空閑第二數(shù)據(jù)結(jié)構(gòu)指針列表以從所述包緩沖器中移除所述第二數(shù)據(jù)結(jié)構(gòu)。
12、 如權(quán)利要求11所述的方法,其中將所述包緩沖器中的所述第二數(shù)據(jù)結(jié)構(gòu)的 所述第二包緩沖器位置存儲在所述第一數(shù)據(jù)結(jié)構(gòu)的第二數(shù)據(jù)結(jié)構(gòu)指針字段中,且進一 步包含從所述包緩沖器中檢索第二數(shù)據(jù)結(jié)構(gòu),所述第二數(shù)據(jù)結(jié)構(gòu)由所述第一數(shù)據(jù)結(jié)構(gòu) 的所述第二數(shù)據(jù)結(jié)構(gòu)指針字段識別。
13、 一種設備,其包含存儲裝置,其用于在包緩沖器中的第一數(shù)據(jù)結(jié)構(gòu)中存儲第一包的長度、所述包的序列號及所述包緩沖器中的第二數(shù)據(jù)結(jié)構(gòu)的第二包緩沖器位置;及存儲裝置,其用于將來自所述第一包的數(shù)據(jù)存儲在由所述所存儲的第二包緩沖器 位置識別的所述第二數(shù)據(jù)結(jié)構(gòu)中。
14、 如權(quán)利要求13所述的設備,其進一步包含存儲裝置,其用于在所述包緩沖器中的第三數(shù)據(jù)結(jié)構(gòu)中存儲第二包的長度、所述 第二包的序列號及所述包緩沖器中的第四數(shù)據(jù)結(jié)構(gòu)的第四包緩沖器位置;存儲裝置,其用于將來自所述第二包的數(shù)據(jù)存儲在由所述所存儲的第四包緩沖器 位置識別的所述第四數(shù)據(jù)結(jié)構(gòu)中;及存儲裝置,其用于將所述第三數(shù)據(jù)結(jié)構(gòu)的位置存儲在所述第一數(shù)據(jù)結(jié)構(gòu)中。
15、 如權(quán)利要求13所述的設備,其進一步包含用于通過存儲多個第一數(shù)據(jù)結(jié)構(gòu) 的鏈接表來形成包隊列的裝置,每一第一數(shù)據(jù)結(jié)構(gòu)與多個包中的一者相關(guān)聯(lián)。
16、 如權(quán)利要求13所述的設備,其進一步包含用于形成第一數(shù)據(jù)結(jié)構(gòu)的陣列的 裝置,每一第一數(shù)據(jù)結(jié)構(gòu)與多個包中的一者相關(guān)聯(lián)。
17、 一種設備,其包含 第一存儲器,其以第一模式配置以存儲多個通信流中的每一者的一個或一個以上參數(shù),及 其以第二模式配置以存儲所述多個通信流中的每一者的指針,每一指針指示與所述相應通信流相關(guān)聯(lián)的位置; 第二存儲器,其以所述第一模式配置以存儲所述多個通信流中的每一者的包,及 其以所述第二模式配置以存儲所述多個通信流中的每一者的多組一個或一 個以上參數(shù),每一組一個或一個以上參數(shù)存儲在由所述指針指示的與所述相應通信流 相關(guān)聯(lián)的所述位置中;存儲器接口,其可與第三存儲器一起操作,其以所述第二模式配置以操作以存儲所述多個通信流中的每一者的包;及 處理器,其選擇所選擇的模式作為所述第一模式或所述第二模式,根據(jù)所述所選擇的模式配置所述第一存儲器,根據(jù)所述所選擇的模式配置所述第二存儲器,且根據(jù) 所述所選擇的模式配置所述存儲器接口。
18、 如權(quán)利要求17所述的設備,其中當所述第二存儲器以所述第一模式配置時 包含包緩沖器,所述包緩沖器包含第一數(shù)據(jù)結(jié)構(gòu),其與包相關(guān)聯(lián);及第二數(shù)據(jù)結(jié)構(gòu),其包含來自所述相關(guān)聯(lián)包的數(shù)據(jù);且 其中所述第一數(shù)據(jù)結(jié)構(gòu)包含長度字段,其指示所述相關(guān)聯(lián)包的長度;序列號字段,其指示所述相關(guān)聯(lián)包的序列號;及第二數(shù)據(jù)結(jié)構(gòu)指針字段,其指示所述第二數(shù)據(jù)結(jié)構(gòu)在所述包緩沖器中的位置。
19、 如權(quán)利要求18所述的設備,進一步其中當所述存儲器接口以所述第二模式 配置時可操作以將包存儲在所述第三存儲器中的包緩沖器中,所述存儲器接口用于存 儲與包相關(guān)聯(lián)的第一數(shù)據(jù)結(jié)構(gòu);及 包含來自所述相關(guān)聯(lián)包的數(shù)據(jù)的第二數(shù)據(jù)結(jié)構(gòu);且 其中所述第一數(shù)據(jù)結(jié)構(gòu)包含長度字段,其指示所述相關(guān)聯(lián)包的長度;序列號字段,其指示所述相關(guān)聯(lián)包的序列號;及第二數(shù)據(jù)結(jié)構(gòu)指針字段,其指示所述第二數(shù)據(jù)結(jié)構(gòu)在所述包緩沖器中的位置。
20、 一種無線通信裝置,其包含 第一集成電路,其包含第一存儲器,其以第一模式配置以存儲多個通信流中的每一者的一個或一個以上參數(shù),及其以第二模式配置以存儲所述多個通信流中的每一者的指針,每一指針 指示與相應通信流相關(guān)聯(lián)的位置; 第二存儲器,其以所述第一模式配置以存儲所述多個通信流中的每一者的包,及 其以所述第二模式配置以存儲所述多個通信流中的每一者的多組一個或一個以上參數(shù),每一組一個或一個以上參數(shù)存儲在由所述指針指示的與所述相應通信流相關(guān)聯(lián)的所述位置中;存儲器接口,其可與第三存儲器一起操作,其以所述第二模式配置以操作以存儲所述多個通信流中的每一者的包;處理器,其選擇所選擇的模式作為所述第一模式或所述第二模式,根據(jù)所述 所選擇的模式配置所述第一存儲器,根據(jù)所述所選擇的模式配置所述第二存儲器,且 根據(jù)所述所選擇的模式配置所述存儲器接口;及第二集成電路,其包含用于存儲所述多個通信流中的每一者的包的第三存儲器, 其與所述第一集成電路的所述存儲器接口耦合。
21、 一種無線通信裝置,其包含第一存儲器,其存儲多個通信流中的每一者的一個或一個以上參數(shù);及第二存儲器,其存儲所述多個通信流中的每一者的包,所述存儲器包含第一數(shù)據(jù)結(jié)構(gòu),其與包相關(guān)聯(lián);及第二數(shù)據(jù)結(jié)構(gòu),其包含來自所述相關(guān)聯(lián)包的數(shù)據(jù);且其中所述第一數(shù)據(jù)結(jié)構(gòu)包含長度字段,其指示所述相關(guān)聯(lián)包的長度; 序列號字段,其指示所述相關(guān)聯(lián)包的序列號;及第二數(shù)據(jù)結(jié)構(gòu)指針字段,其指示所述第二數(shù)據(jù)結(jié)構(gòu)在所述第二存儲器中的位置。
22、 如權(quán)利要求21所述的無線通信裝置,其中所述第一數(shù)據(jù)結(jié)構(gòu)進一步包含指 示第二第一數(shù)據(jù)結(jié)構(gòu)在所述第二存儲器中的位置的下一第一數(shù)據(jù)指針字段。
23、 如權(quán)利要求22所述的無線通信裝置,其進一步包含一多個包的包隊列,所 述隊列由多個第一數(shù)據(jù)結(jié)構(gòu)的鏈接表形成,每一第一數(shù)據(jù)結(jié)構(gòu)與所述多個包中的一者 相關(guān)聯(lián),所述隊列的次序通過根據(jù)每一相應第一數(shù)據(jù)結(jié)構(gòu)的所述下一第一數(shù)據(jù)指針字 段而鏈接所述鏈接表中的所述多個第一數(shù)據(jù)結(jié)構(gòu)中的每一者來確定。
24、 一種計算機可讀媒體,其上包括指令,所述指令包含 選擇指令,其用于選擇第一或第二模式;配置指令,其用于以第一模式配置第一存儲器以存儲多個通信流中的每一者的一 個或一個以上參數(shù);配置指令,其用于以第二模式配置所述第一存儲器以存儲所述多個通信流中的每 一者的指針,每一指針指示與所述相應通信流相關(guān)聯(lián)的位置;配置指令,其用于以所述第一模式配置第二存儲器以存儲所述多個通信流中的每 一者的包;配置指令,其用于以所述第二模式配置所述第二存儲器以存儲所述多個通信流中 的每一者的多組一個或一個以上參數(shù),每一組一個或一個以上參數(shù)存儲在由所述指針 指示的與所述相應通信流相關(guān)聯(lián)的所述位置中;及配置指令,其用于以所述第二模式配置可與第三存儲器一起操作的存儲器接口以 操作以存儲所述多個通信流中的每一者的包。
全文摘要
本發(fā)明中所揭示的方面解決所屬技術(shù)領(lǐng)域中對用于高速媒體接入控制的存儲器管理的需要。包緩沖器可存儲具有第一數(shù)據(jù)結(jié)構(gòu)的包,所述第一數(shù)據(jù)結(jié)構(gòu)包含包長度、序列號及指向第二數(shù)據(jù)結(jié)構(gòu)的指針??蓪鼣?shù)據(jù)存儲在一個或一個以上第二數(shù)據(jù)結(jié)構(gòu)的鏈接表中。可使用第一數(shù)據(jù)結(jié)構(gòu)的鏈接表或陣列形成傳輸及接收隊列??蓪⒂糜诖鎯Φ谝患暗诙?shù)據(jù)結(jié)構(gòu)的存儲器位置保持在指示相應數(shù)據(jù)結(jié)構(gòu)類型的空閑位置的列表中。揭示一種其中可選擇兩種配置的靈活存儲器架構(gòu)。在第一種配置中,第一存儲器包含多個流的每流參數(shù),且第二存儲器包含包緩沖器。在第二種配置中,所述第一存儲器包含指向所述第二存儲器中的每流參數(shù)的每流指針。所述包緩沖器駐存于第三存儲器中。還提供各種其它方面。
文檔編號H04L12/56GK101411134SQ200780010691
公開日2009年4月15日 申請日期2007年3月30日 優(yōu)先權(quán)日2006年3月31日
發(fā)明者斯里拉姆·納拉揚, 蘇布拉馬尼亞姆·德拉維達 申請人:高通股份有限公司