專利名稱:解決wlan接收緩沖區(qū)占用問題的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信領(lǐng)域,尤其涉及一種解決WLAN中接收緩沖區(qū)被無效數(shù)據(jù)占用的方法和硬件部件。
背景技術(shù):
在無線局域網(wǎng)中,由于網(wǎng)絡(luò)環(huán)境復(fù)雜,為了提高可靠性,需要將MSDU或MMDU分解為較小長度的多個分段發(fā)送,這個規(guī)程稱為分段;每個MSDU/MMPDU最多可以分為16個分段。每個分段由幀頭和幀體兩個部分構(gòu)成,幀頭從MSDU/MMPDU復(fù)制過來,但是需要對其中的分段序號字段和多分段字段進(jìn)行設(shè)置。第一個分段的分段序號字段為0,以后分段依次按1遞增。除了最后一個分段的多分段字段設(shè)置為0外,其他所有分段的多分段字段設(shè)置為1。
對于接收方,需要將多個分段進(jìn)行組合構(gòu)成單個的MSDU或MMDU,這個規(guī)程稱為重組。
當(dāng)一個STA發(fā)送某個MSDU分段的過程中,可能出現(xiàn)中斷,而隨后競爭到信道并且發(fā)送MSDU/MMPDU幀的可能是另一個STA,這就導(dǎo)致接受方在一段時間內(nèi)可能無法接收到MSDU/MMPDU的完整分段,那么已接收的分段就需要存儲在接收緩沖區(qū)內(nèi)。而且由于信道競爭的隨機(jī)性,接收方無法預(yù)測某個MSDU/MMDU的隨后分段會在什么時候發(fā)送,也就無法預(yù)計何時可以接收完整。
基于如上分析可知,在一段時間內(nèi),接收方一側(cè)會保持有多個不完整得MSDU/MMPDU的分段,如果某個MSDU/MMPDU的后續(xù)分段一直不能到達(dá),那么其已經(jīng)接收到的分段就會一直占用接收存儲容量。最終導(dǎo)致后續(xù)到達(dá)的MSDU/MMPDU無法接收,即使該MSDU/MMPDU沒有進(jìn)行分段。這個問題就是接收緩沖區(qū)無效占用問題。
該問題不僅出現(xiàn)在未完成接收分段上。另一種情況是,如果某個MSDU/MMPDU已經(jīng)接收完整,但是由于某些原因,沒有能夠被處理,形成一個死數(shù)據(jù),也會導(dǎo)致對接收緩沖區(qū)的一直占用。
請參閱圖1,該圖顯示了一個由于接收分段不完整導(dǎo)致的接收緩存區(qū)無效占用情況。
(1)MSDU/MMPDU接收緩存區(qū)保持了若干個MSDU/MMPDU的分段,導(dǎo)致剩余空閑空間很少。
(2)在一段時間內(nèi),由于保持的MSDU/MMPDU都無法接收完整,那么接收緩存區(qū)被一直占用。
(3)在此期間,任何到達(dá)的MSDU/MMPDU都無法有足夠的空間被接收,即使它沒有分段。
(4)如果沒有合適的方法,除非某個存儲的MSDU/MMPDU被接收完整,否則存儲區(qū)會被一直占用,導(dǎo)致通信中斷。
為避免這一問題,WLAN MAC協(xié)議提供了一種使用MSDU/MMPDU最長接收時間進(jìn)行規(guī)避的方法。方法定義目的SAT應(yīng)為每個正被接收的MSDU/MMPDU維護(hù)一個接收定時器,該定時器有一個屬性aMaxReceiveLifeTime,定義了接收一個MSDU/MMPDU所允許的最長時間。接收定時器從MSDU/MMPDU第一個分段到達(dá)時開始計數(shù),如果超出最長接收時間,則目的STA將丟棄所有已接收的該MSDU/MMPDU分段。協(xié)議同時定義,實現(xiàn)應(yīng)該至少能同時保證三個MSDU/MMPDU的分段接收,所以必須至少同時維護(hù)三個接收定時器。最長接收時間的閥值aMaxReceiveLifeTime由實現(xiàn)者進(jìn)行定義和調(diào)整。
根據(jù)該方法的一個直觀實現(xiàn),就是為每個MSDU/MMPDU維護(hù)一個定時器。在硬件實現(xiàn)上,就必須根據(jù)最多可能存放的MSDU/MMPDU,預(yù)先定義相應(yīng)數(shù)量的定時器。并且為每個MSDU/MMPDU定義記錄到達(dá)時間的寄存器。因為MSDU/MMPDU幀,其最小長度和最大長度差別能達(dá)到10倍以上,這意味著如果按照協(xié)議定義,維持至少三幀數(shù)據(jù)的接收緩沖區(qū),那么可能存放的小數(shù)據(jù)幀在3×10=30幀,需要預(yù)先定義極大數(shù)量的定時器。
由上述分析可知,該方法有如下缺點(diǎn)(1)需要預(yù)先定義大量定時器,成本高。
(2)大部分情況下,定時器都處于空閑狀態(tài),實現(xiàn)效率低。
(3)較多的定時器本身消耗較高的功耗。
對該方法的一個改進(jìn)是,為每個MSDU/MMPDU分配一個到達(dá)時間寄存器,同時定義一個共用定時器。當(dāng)MSDU/MMPDU第一次到達(dá)時填寫其對應(yīng)的到達(dá)時間寄存器。共用定時器每隔一段時間就觸發(fā)一次對所有的MSDU/MMPDU的輪詢,該輪詢根據(jù)當(dāng)前時間和到達(dá)時間寄存器地差值,判斷是否到達(dá)最長接收時間,如果到達(dá),那么就釋放該MSDU/MMPDU占用空間。
請參閱圖2,該圖示意了這一結(jié)構(gòu)。
該方法有了很大的改進(jìn),但是由于使用了定時進(jìn)行輪詢機(jī)制,所以有如下缺點(diǎn)(1)因為定時粒度不能太大,所以輪詢次數(shù)較高,導(dǎo)致不必要的處理消耗。
(2)緩沖區(qū)管理不能夠根據(jù)通信情況自適應(yīng),導(dǎo)致無論接收緩沖區(qū)占用情況如何,都使用同一策略。比如如果目前緩沖區(qū)內(nèi)占用少的話,可以允許未接收完整的MSDU/MMPDU的分段多保持一段時間,這樣有利于提高通信性能。
(3)定時器實現(xiàn)關(guān)聯(lián)與系統(tǒng)時鐘頻率,相對復(fù)雜。同時,因為表示一個時間至少需要8個字節(jié),比較浪費(fèi)硬件資源。
發(fā)明內(nèi)容
本發(fā)明提供一種解決由于接收分段不完整或者死數(shù)據(jù)導(dǎo)致的接收緩存區(qū)無效占用問題的方法和硬件部件,本發(fā)明能夠在解決問題的基礎(chǔ)上,同時具有自適應(yīng)能力,并且能夠保持較小的處理頻度。
本發(fā)明公開了一種硬件部件,能夠很好的解決由于接收分段不完整或者死數(shù)據(jù)導(dǎo)致的接收緩存區(qū)無效占用問題。該部件包括一個接收緩存區(qū)RxBuff;一個RxBuff分片數(shù)據(jù)管理寄存器;一個頭記錄寄存器;一個當(dāng)前記錄寄存器;一個最早有效記錄寄存器;一個分片釋放配置寄存器。
其中,所述接收緩存區(qū),按M字節(jié)為單位劃分為N片,用于存儲MSDU/MMPDU的數(shù)據(jù)。
所述RxBuff分片數(shù)據(jù)管理寄存器,共分為K條管理記錄,每條記錄唯一標(biāo)志了一個MSDU/MMPDU,也保存了該MSDU/MMPDU的第一個分片數(shù)據(jù)和最后一個分片數(shù)據(jù)的位置信息。通過管理記錄,可以唯一確定一個MSDU/MMPDU,也能夠唯一定位該MSDU/MMPDU在RxBuff中的存放位置。
所述分片管理寄存器中的管理記錄包括如下字段(1)MACC地址字段記錄了接收數(shù)據(jù)的來源MAC地址;(2)MSDU/MMPDU序號字段記錄了MSDU/MMPDU的唯一序號;(3)分段序號字段記錄了MSDU/MMPDU中其中一個分段的唯一序號;(4)幀接收狀態(tài)字段標(biāo)志了該MSDU/MMPDU接收狀態(tài),狀態(tài)包括接收完成,接收未完成和數(shù)據(jù)無效。初始化為無效。
(5)首分片索引字段記錄了該MSDU/MMPDU第一個分片在RxBuff中的位置。
(6)尾分片索引字段記錄了該MSDU/MMPDU最后一個分片在RxBuff中的位置。
(7)分片總計字段記錄了MSDU/MMPDU總共占用了多少個分片。
所述頭記錄寄存器,指向所述分片數(shù)據(jù)管理寄存器中的最新有效記錄。
所述當(dāng)前記錄寄存器,指向所述分片數(shù)據(jù)管理寄存器中的當(dāng)前操作有效記錄。
所述最早有效記錄寄存器,指向所述分片數(shù)據(jù)管理寄存器中的記錄中,建立最早的有效記錄。
所謂有效記錄,是指該記錄所確定的MSDU/MMPDU及其其分段還存在于接收緩存區(qū)中,也即占用有緩存區(qū)。
所述分片釋放配置寄存器,用于設(shè)置一個數(shù)值,該數(shù)值表示了在需要進(jìn)行RxBuff空間釋放時,需要最少釋放多少個分片。
本發(fā)明同時也公開了一種用于解決WLAN中接收MSDU/MMDU緩沖區(qū)被無效數(shù)據(jù)占用的方法,用于在上述各組成部件之間建立聯(lián)系,解決由于接收分段不完整或者死數(shù)據(jù)導(dǎo)致接收緩存區(qū)的占用問題,從而提高通信效率。它包括以下步驟(1)一個MSDU/MMPDU的數(shù)據(jù)到達(dá)時,該數(shù)據(jù)可以是該MSDU/MMPDU的任意分段,硬件接收到M個字節(jié)后,形成一個分片,判斷該分片是否是某個分段的第一個分片,如果不是第一個分片,那么轉(zhuǎn)(5)。如果是第一個分片,轉(zhuǎn)(2);(2)一個分片數(shù)據(jù)內(nèi)部包含有該MSDU/MMPDU的幀頭信息,硬件提取幀頭中標(biāo)識信息,并比對標(biāo)識信息和RxBuff分片管理寄存器中的管理記錄,判斷該數(shù)據(jù)是否合法。如果不合法,轉(zhuǎn)(3);否則,判斷該信息是否表明是一個新的MSDU/MMPDU,如果是那么轉(zhuǎn)(4),如果不是,轉(zhuǎn)(5)。
(3)丟棄該不合法的分段數(shù)據(jù)。
(4)在RxBuff分片管理寄存器中增加一條記錄,更新當(dāng)前記錄寄存器和首記錄寄存器,然后轉(zhuǎn)(5);(5)查看RxBuff分片占用情況,如果空閑分片低于閥值,轉(zhuǎn)(6),否則轉(zhuǎn)(7);(6)從最早有效記錄寄存器指向的記錄開始,逐條釋放記錄所標(biāo)識的MSDU/MMPDU占用的RxBuff分片空間,直到釋放的分片數(shù)達(dá)到分片釋放配置寄存器中的數(shù)值。然后轉(zhuǎn)(7)。
(7)將該分片數(shù)據(jù)放入到一個RxBuff分片中,轉(zhuǎn)(8)。
(8)重復(fù)上述過程,直到MSDU/MMPDU標(biāo)志信息中顯示接收完整,轉(zhuǎn)(9)。
(9)接收緩存部件提示MSDU/MMPDU接收完整,請求上層提取數(shù)據(jù);如果該數(shù)據(jù)被提取,那么釋放其占用的RxBuff分片空間;如果最早有效記錄寄存器正好指向該記錄,那么從該記錄開始,逐條查找,直到找到一條有效記錄,將最早有效記錄寄存器指向該查找到的記錄。
步驟(4)進(jìn)一步說明(1)將首記錄寄存器指向的記錄下移一條,并更新首記錄寄存器指向該記錄。如果該記錄的幀接收狀態(tài)字段標(biāo)識為有效狀態(tài),那么釋放該記錄指向的MSDU/MMPDU所占用的RxBuff分片,然后轉(zhuǎn)(2)。否則轉(zhuǎn)(2)。
(2)保存該記錄內(nèi)存放提取到的標(biāo)識信息和分片位置信息。轉(zhuǎn)(3)。
(3)更新當(dāng)前記錄寄存器,指向本記錄。
步驟(6)進(jìn)一步說明(1)釋放最早有效記錄寄存器指向的記錄所標(biāo)識的MSDU/MMPDU占用的分片。判斷釋放分片是否等于釋放配置寄存器內(nèi)的數(shù)值,如果等于,轉(zhuǎn)(3),否則轉(zhuǎn)(2)。
(2)從最早有效記錄寄存器指向的記錄下移一條記錄,判斷該記錄的幀接收狀態(tài)字段,如果該字段內(nèi)容為無效,那么繼續(xù)下移,直到到達(dá)一條有效記錄,轉(zhuǎn)(1);否則轉(zhuǎn)(3)。
(3)下移記錄直到到達(dá)一條有效記錄,將最早有效記錄寄存器指向該記錄。
由上述描述可知,本發(fā)明只有在空閑內(nèi)存小于閥值的時候才進(jìn)行RxBuff的釋放。同時,最早有效寄存器總是指向最早到達(dá)但是一直沒有完成的MSDU/MMPDU,或者是完成但是未被上層提取得死數(shù)據(jù)。通過本發(fā)明描述的方法,就能夠?qū)崿F(xiàn)只有必要的時候才進(jìn)行空間釋放,而且總是先釋放在緩存中存在時間最長的數(shù)據(jù)。同時,如果在接收緩沖區(qū)沒有到達(dá)閥值得情況下,也就是通信緩慢地情況下,允許未完成MSDU/MMPDU等待較長的時間以提高接收效率;在通信繁忙的情況下,則會盡快釋放等待時間長的未完成數(shù)據(jù),提高通信效率。
本發(fā)明具有以下優(yōu)點(diǎn)(1)本發(fā)明只有必要的時候才進(jìn)行空間釋放,而不需要定時的進(jìn)行輪詢。
(2)本發(fā)明總是先釋放在緩存中存在時間最長的數(shù)據(jù),該數(shù)據(jù)包括未完成的MSDU/MMPDU,也包括完成但是未處理的死數(shù)據(jù)。從而完全解決無效數(shù)據(jù)占用問題。
(3)本發(fā)明在通信緩慢地情況下,允許未完成MSDU/MMPDU等待較長的時間以提高接收效率;在通信繁忙的情況下,則會盡快釋放等待時間長的未完成數(shù)據(jù)以提高通信效率,具有自適應(yīng)性。
(4)本發(fā)明未使用定時器和時間存儲寄存器,減小了實現(xiàn)的復(fù)雜度和成本。
圖1為無效數(shù)據(jù)占用問題示意圖;圖2為使用共用計時器解決無效數(shù)據(jù)占用問題的硬件裝置的結(jié)構(gòu)示意圖;圖3為實現(xiàn)本發(fā)明所述方法的硬件裝置的結(jié)構(gòu)示意圖;
圖4是基于圖3硬件裝置的解決接收緩存區(qū)占用問題的處理流程圖。
具體實施例方式
本發(fā)明的具體實施基本和本發(fā)明說明書中所闡述的結(jié)構(gòu)和原理一致。以下結(jié)合附圖,具體說明本發(fā)明。
本發(fā)明公開了一種硬件部件,能夠很好的解決由于接收分段不完整或者死數(shù)據(jù)導(dǎo)致的接收緩存區(qū)無效占用問題。該部件包括一個接收緩存區(qū)RxBuff;一個RxBuff分片數(shù)據(jù)管理寄存器;一個頭記錄寄存器;一個當(dāng)前記錄寄存器;一個最早有效記錄寄存器;一個分片釋放配置寄存器。
請參閱圖3,其為本發(fā)明利用上述結(jié)構(gòu)實現(xiàn)的硬件部件結(jié)構(gòu)示意圖。根據(jù)本示意圖,本硬件部件由上述4個部分構(gòu)成。
其中,所述接收緩存區(qū),按M字節(jié)為單位劃分為N片,用于存儲MSDU/MMPDU的數(shù)據(jù)。
所述RxBuff分片數(shù)據(jù)管理寄存器,共分為K條管理記錄,每條記錄唯一標(biāo)志了一個MSDU/MMPDU,也保存了該MSDU/MMPDU的第一個分片數(shù)據(jù)和最后一個分片數(shù)據(jù)的位置信息。通過管理記錄,可以唯一確定一個MSDU/MMPDU,也能夠唯一定位該MSDU/MMPDU在RxBuff中的存放位置。
所述分片管理寄存器中的管理記錄包括如下字段(1)MACC地址字段記錄了接收數(shù)據(jù)的來源MAC地址;(2)MSDU/MMPDU序號字段記錄了MSDU/MMPDU的唯一序號;(3)分段序號字段記錄了MSDU/MMPDU中其中一個分段的唯一序號;(4)幀接收狀態(tài)字段標(biāo)志了該MSDU/MMPDU接收狀態(tài),狀態(tài)包括接收完成,接收未完成和數(shù)據(jù)無效。初始化為無效。
(5)首分片索引字段記錄了該MSDU/MMPDU第一個分片在RxBuff中的位置。
(6)尾分片索引字段記錄了該MSDU/MMPDU最后一個分片在RxBuff中的位置。
(7)分片總計字段記錄了MSDU/MMPDU總共占用了多少個分片。
所述頭記錄寄存器,指向所述分片數(shù)據(jù)管理寄存器中的最新有效記錄。
所述當(dāng)前記錄寄存器,指向所述分片數(shù)據(jù)管理寄存器中的當(dāng)前操作有效記錄。
所述最早有效記錄寄存器,指向所述分片數(shù)據(jù)管理寄存器中的記錄中,建立最早的有效記錄。
所謂有效記錄,是指該記錄所確定的MSDU/MMPDU及其其分段還存在于接收緩存區(qū)中,也即占用有緩存區(qū)。
所述分片釋放配置寄存器,用于設(shè)置一個數(shù)值,該數(shù)值表示了在需要進(jìn)行RxBuff空間釋放時,需要最少釋放多少個分片。
請參閱圖4,該圖描述了使用上述說明的硬件部件,解決接收緩沖區(qū)無效數(shù)據(jù)占用問題的流程,具體步驟如下,(1)一個MSDU/MMPDU的數(shù)據(jù)到達(dá)時,該數(shù)據(jù)可以是該MSDU/MMPDU的任意分段,硬件接收到M個字節(jié)后,形成一個分片,判斷該分片是否是某個分段的第一個分片,如果不是第一個分片,那么轉(zhuǎn)(5)。如果是第一個分片,轉(zhuǎn)(2);(2)第一個分片數(shù)據(jù)內(nèi)部包含有該MSDU/MMPDU的幀頭信息,硬件提取幀頭中標(biāo)識信息,并比對標(biāo)識信息和RxBuff分片管理寄存器中的管理記錄,判斷該數(shù)據(jù)是否合法。如果不合法,轉(zhuǎn)(3);否則,判斷該信息是否表明是一個新的MSDU/MMPDU,如果是那么轉(zhuǎn)(4),如果不是,轉(zhuǎn)(5)。
(3)丟棄該不合法的分段數(shù)據(jù)。
(4)在RxBuff分片管理寄存器中增加一條記錄,更新當(dāng)前記錄寄存器和首記錄寄存器,然后轉(zhuǎn)(5);(5)查看RxBuff分片占用情況,如果空閑分片低于閥值,轉(zhuǎn)(6),否則轉(zhuǎn)(7);(6)從最早有效記錄寄存器指向的記錄開始,逐條釋放記錄所標(biāo)識的MSDU/MMPDU占用的RxBuff分片空間,直到釋放的分片數(shù)達(dá)到分片釋放配置寄存器中的數(shù)值。然后轉(zhuǎn)(7)。
(7)該分片數(shù)據(jù)放入到一個RxBuff分片中,轉(zhuǎn)(8)。
(8)重復(fù)上述過程,直到MSDU/MMPDU標(biāo)志信息中顯示接收完整,請求上層提取數(shù)據(jù);轉(zhuǎn)(9)。
(9)如果該數(shù)據(jù)被提取,那么釋放其占用的RxBuff分片空間;如果最早有效記錄寄存器正好指向該記錄,那么轉(zhuǎn)(10)。
(10)從該記錄開始,逐條查找,直到找到一條有效記錄,將最早有效記錄寄存器指向該查找到的記錄。
以上公開的僅為本發(fā)明的幾個具體實施例,但本發(fā)明的保護(hù)范圍并不局限于此,任何本領(lǐng)域的技術(shù)人員能思之的變化都應(yīng)落在本發(fā)明的保護(hù)范圍內(nèi)。
權(quán)利要求
1.一種解決WLAN中接收MSDU/MMDU緩沖區(qū)被無效數(shù)據(jù)占用的方法和裝置,其特征在于硬件部件包括一個接收緩存區(qū)RxBuff;一個RxBuff分片數(shù)據(jù)管理寄存器;一個頭記錄寄存器;一個當(dāng)前記錄寄存器;一個最早有效記錄寄存器;一個分片釋放配置寄存器。
2.如權(quán)利要求1所述其特征在于,所述分片管理寄存器中的管理記錄包括MACC地址字段;MSDU/MMPDU序號字段;分段序號字段;幀接收狀態(tài)字段;首分片索引字段;尾分片索引字段;分片總計字段。
3.根據(jù)權(quán)利要求1所述其特征在于,包括以下步驟(1)當(dāng)一個MSDU/MMPDU的數(shù)據(jù)到達(dá)時,該數(shù)據(jù)可以是該MSDU/MMPDU的任意分段,硬件接收到M個字節(jié)后,形成一個分片,判斷該分片是否是某個分段的第一個分片,如果不是第一個分片,那么轉(zhuǎn)(5)。如果是第一個分片,轉(zhuǎn)(2);(2)第一個分片數(shù)據(jù)內(nèi)部包含有該MSDU/MMPDU的幀頭信息,硬件提取幀頭中標(biāo)識信息,并比對標(biāo)識信息和RxBuff分片管理寄存器中的管理記錄,判斷該數(shù)據(jù)是否合法。如果不合法,轉(zhuǎn)(3);否則,判斷該信息是否表明是一個新的MSDU/MMPDU,如果是那么轉(zhuǎn)(4),如果不是,轉(zhuǎn)(5)。(3)丟棄該不合法的分段數(shù)據(jù)。(4)在RxBuff分片管理寄存器中增加一條記錄,更新當(dāng)前記錄寄存器和首記錄寄存器,然后轉(zhuǎn)(5);(5)查看RxBuff分片占用情況,如果空閑分片低于閥值,轉(zhuǎn)(6),否則轉(zhuǎn)(7);(6)從最早有效記錄寄存器指向的記錄開始,逐條釋放記錄所標(biāo)識的MSDU/MMPDU占用的RxBuff分片空間,直到釋放的分片數(shù)達(dá)到分片釋放配置寄存器中的數(shù)值。然后轉(zhuǎn)(7)。(7)將該分片數(shù)據(jù)放入到一個空閑的RxBuff分片中,轉(zhuǎn)(8)。(8)重復(fù)上述過程,直到MSDU/MMPDU標(biāo)志信息中顯示接收完整,轉(zhuǎn)(9)。(9)接收緩存部件提示MSDU/MMPDU接收完整,請求上層提取數(shù)據(jù);如果該數(shù)據(jù)被提取,那么釋放其占用的RxBuff分片空間;如果最早有效記錄寄存器正好指向該記錄,那么從該記錄開始,逐條查找,直到找到一條有效記錄,將最早有效記錄寄存器指向該查找到的記錄。
4.如權(quán)利要求3所述其特征在于,步驟(4)進(jìn)一步包括(1)將首記錄寄存器指向的記錄下移一條,并更新首記錄寄存器指向該記錄。如果該記錄的幀接收狀態(tài)字段標(biāo)識為有效狀態(tài),那么釋放該記錄指向的MSDU/MMPDU所占用的RxBuff分片,然后轉(zhuǎn)(2)。否則轉(zhuǎn)(2)。(2)在該記錄內(nèi)存放提取到的標(biāo)識信息和分片位置信息。轉(zhuǎn)(3)。(3)更新當(dāng)前記錄寄存器,指向本記錄。
5.如權(quán)利要求3所述其特征在于,步驟(6)進(jìn)一步包括(1)釋放最早有效記錄寄存器指向的記錄所標(biāo)識的MSDU/MMPDU占用的分片。判斷釋放分片是否等于釋放配置寄存器內(nèi)的數(shù)值,如果等于,轉(zhuǎn)(3),否則轉(zhuǎn)(2)。(2)從最早有效記錄寄存器指向的記錄下移一條記錄,判斷該記錄的幀接收狀態(tài)字段,如果該字段內(nèi)容為無效,那么繼續(xù)下移,直到到達(dá)一條有效記錄,轉(zhuǎn)(1);否則轉(zhuǎn)(3)。(3)下移記錄直到到達(dá)一條有效記錄,將最早有效記錄寄存器指向該記錄。
全文摘要
本發(fā)明提供一種解決WLAN中接收MSDU/MMDU緩沖區(qū)被無效數(shù)據(jù)占用的方法和裝置,能夠很好的解決由于接收分段不完整或者死數(shù)據(jù)導(dǎo)致的接收緩存區(qū)無效占用問題。通過本發(fā)明描述的方法,只有必要的時候才進(jìn)行空間釋放,而且總是先釋放在緩存中存在時間最長的數(shù)據(jù)。同時,具有適配通信情況的自適應(yīng)特性,從而提高通信效率。實現(xiàn)該功能的硬件部件包括一個接收緩存區(qū)RxBuff;一個RxBuff分片數(shù)據(jù)管理寄存器;一個頭記錄寄存器;一個當(dāng)前記錄寄存器;一個最早有效記錄寄存器;一個分片釋放配置寄存器。
文檔編號H04L12/28GK1929436SQ20051009844
公開日2007年3月14日 申請日期2005年9月8日 優(yōu)先權(quán)日2005年9月8日
發(fā)明者蘭天 申請人:北京中電華大電子設(shè)計有限責(zé)任公司