CN101406005A - 用于数据分组集合的方法和设备 - Google Patents
用于数据分组集合的方法和设备 Download PDFInfo
- Publication number
- CN101406005A CN101406005A CNA2007800100633A CN200780010063A CN101406005A CN 101406005 A CN101406005 A CN 101406005A CN A2007800100633 A CNA2007800100633 A CN A2007800100633A CN 200780010063 A CN200780010063 A CN 200780010063A CN 101406005 A CN101406005 A CN 101406005A
- Authority
- CN
- China
- Prior art keywords
- register
- piece
- grouping
- state
- descriptor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9084—Reactions to storage capacity overflow
- H04L49/9089—Reactions to storage capacity overflow replacing packets in a storage arrangement, e.g. pushout
- H04L49/9094—Arrangements for simultaneous transmit and receive, e.g. simultaneous reading/writing from/to the storage element
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/901—Buffering arrangements using storage descriptor, e.g. read or write pointers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9021—Plurality of buffers per packet
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明涉及集合数据块以形成至少一个数据分组,所述集合包括以下步骤:在第一寄存器中写入至少一个第一数据块描述符(3702),每个第一描述符包括表示属于一组块的每个块的状态的信息,由此每个块的状态指示是否已经存储了所述块;确定并在第二寄存器(3712)中记录所述块的状态,所述状态表示所述块的存储或未存储的情况,从而基于第二寄存器的使用,该操作使能简单且快速地获取可以基于块被集合的分组的状态;根据被记录在所述第二寄存器中的状态,集合包含所述块的分组。
Description
技术领域
本发明涉及通信的领域,且更确切地涉及高速分组接收。
背景技术
根据现有技术,数据分组传输方法实现了用于在传输端处将分组划分为数据块并然后在接收端处将块重新集合成分组的机制。
在MAC(“介质存取控制”)层中,在具有MAC首部的PDU(“协议数据单元”)中封装要被传输的数据或MSDU(“MAC服务数据单元”)。当传输MSDU时,它们可以被分段,从而在相同的PDU中传输MSDU的一个或多个部分(或片段),同时在一个或多个其他PDU中传输剩余的部分。一个PDU还可以包括不同MSDU的片段。
与IEEE 802.16标准兼容的接收站的微处理器实现的这种方法在图1中示出,且以初始化步骤10开始。然后,在步骤11期间,接收对应于与一组块相关的MSDU的一个或多个数据分组。然后,在步骤12期间,该站标识正确接收的块。然后,在步骤13期间,微处理器尝试将所接收的块集合为MSDU。步骤13开始于步骤130,该步骤130包括指向第一接收块的当前块的初始化。然后,在测试131期间,微处理器(使用例如错误检测代码)检查当前块是否有效。如果否,步骤13结束于MSDU集合失败状态。如果是,在步骤132期间,微处理器通过向其插入当前块来建立MSDU。然后,在测试133期间,微处理器检查当前块是否是MSDU的最后块。如果是,步骤13成功地结束,其中集合了MSDU。如果否,在步骤134中,当前块指向下一接收的块,且重复测试131。因此,MSDU集合处理相对地长,这是因为基本操作的数量高(至少是MSDU中出现的块的数量的三倍(对应于步骤131到133),其中由微处理器来测试这些块中的每个)。因此,该技术具有如下缺点:很差地适用于需要有效(significant)反应的应用(例如视听流传输应用)。
发明内容
本发明的目的是为了克服现有技术的这些缺点。
更具体地,本发明的目的是为了改进通信系统的性能(例如,MSDU的集合(assembly)的速度和/或简单化)。
为了这个目的,本发明提出一种用于集合数据块以形成至少一个数据分组的方法,包括以下步骤:
-在第一寄存器中写入至少一个第一数据块描述符,每个第一描述符包括表示属于一组块的每个块的状态的信息,由此每个块的状态指示是否已经存储了所述块;
-确定并在第二寄存器中记录所述组的至少一部分的状态,由此所述状态表示在所述组的所述部分中的块的存储或未存储的情况;
-根据被记录在所述第二寄存器中的状态,集合包含所述组的所述块的分组。
优势地,所述确定状态的步骤是在至多严格少于所述第一寄存器的大小的多个(a number of)时钟周期中、且更优势地在至多一个时钟周期中执行的基本步骤,该第一寄存器的大小被表达为多个(a number of)二进制数据。
根据优选特性,所述第一寄存器的写入包含第二寄存器的纯电子更新。
优势地,所述方法还包括确定第一分组块的位置的步骤,该步骤包括以下步骤:
-在第三寄存器中写入至少一个第二第一块描述符,每个第二描述符包括为每个块指示是否包含了第一分组块的信息;以及
-基于所述第三寄存器的内容来确定在分组中的所述第一块,并在第四寄存器中记录所述第一块的标识符;
根据在所述第四寄存器中记录的所述标识符,来进行包含所述组的所述块的分组的所述集合。
优势地,所述确定分组中的所述第一块的步骤是在至多严格少于所述第三寄存器的大小的多个时钟周期中执行的基本步骤,所述第三寄存器的大小被表达为多个二进制数据。
根据优势特性,所述方法包括确定最后分组块的位置的步骤,所述步骤包括以下步骤:
-在第五寄存器中写入至少一个第三最后块描述符,每个第三描述符包括为每个块指示是否包含最后分组块的信息;以及
-基于所述第五寄存器的内容来确定所述分组中的最后块,并在第六寄存器中记录在要被传输的分组中的最后块的标识符;
根据在所述第六寄存器中记录的所述标识符,来进行包含所述组的所述块的分组的所述集合。
优势地,所述确定在分组中的最后块的步骤是在至多严格少于所述第五寄存器的大小的多个时钟周期中执行的基本步骤,所述第五寄存器的大小被表达为多个二进制数据。
根据具体特性,所述确定所述最后分组和确定状态的步骤是同时进行的。
优选地,根据所述第四和第六寄存器的内容来确定要被集合的分组中的块的数量。
根据优势特性,只要被存储在所述第二寄存器中的状态指示存储了分组且/或还没有标识最后分组块,就重复所述确定状态和确定所述最后块的步骤。
根据具体特性,被记录在所述第二寄存器中的所述状态属于如下组,该组包括:
-分组集合状态可能;
-分组集合状态不可能,因为还没有检测到所述分组的结尾;以及
-分组集合状态不可能,因为没有存储和/或接收到所述分组的至少一部分。
优势地,该方法包括数据块接收步骤,由此与每个块相关联的所述状态指示是否已经正确接收了所述块。
根据具体特性,以在例如根据IEEE 802.16通信协议的无线信道上传输的数据帧来接收所述块。
本发明还涉及一种数据块集合设备,以形成至少一个数据分组,所述设备包括:
-在第一寄存器中写入至少一个第一数据块描述符的装置,每个第一描述符包括表示属于一组块的每个块的状态的信息,由此每个块的状态指示是否已经存储了所述块;
-确定并在第二寄存器中记录所述组的至少一部分的状态的装置,由此所述状态表示在所述组的所述部分中的块的存储或未存储的情况;
-根据被记录在所述第二寄存器中的状态来集合包含所述组的所述块的分组的装置。
附图说明
通过阅读以下描述,并参考附图,本发明将变得更容易理解,且其他特征和优点将变得明显,在附图中:
-图1示出本身已知的分组传输的实施例;
-图2示出根据本发明的具体实施例的通信网络;
-图3示意地示出根据本发明的具体实施例的、图2所示的通信网络的设备;
-图4到6和图9示出在图3所示的设备中实现的接收方法;
-图7示出由图3所示的设备处理的分组的分段;以及
-图8表示在图3所示的设备中实现的寄存器的内容中的改变的例子。
具体实施方式
图2示出根据本发明的具体实施例的通信网络2。
网络2是例如根据IEEE802.16的无线网络,包括:
-接入点20;
-终端21和22。
接入点20能够在无线链路上对于终端21和22传输或接收MSDU。
图7示意地示出两个MSDU 70和71的结构。因此,通过图示,MSDU 70包括n个块700到70n,且MSDU 71包括m个块710到71m。第一PDU 73包括对应于MSDU(未示出)的块和MSDU 70的第一块。第二PDU 74包括MSDU 70的随后块和MSDU 71的所有块。当以根据IEEE 802.16标准的无线电帧来传输PDU时,首部使得能够标识PDU的开始和它们的大小。子首部还使得能够标识每个MSDU的第一块、最后块和任何中间块,以及每个MSDU块的大小。
图3示意地示出对应于接入点20或对应于终端21和22之一的设备3。
设备3包括由地址和数据总线34相互连接的且还传输时钟信号的:
-微处理器31(或CPU);
-非易失性ROM存储器32(“只读存储器”);
-RAM存储器33(“随机存取存储器”);
-传输模块35,以在无线链路上传输信号;
-接收模块36,以在无线链路上接收信号;以及
-接收块管理模块37。
另外,元件31到36的每个是本领域技术人员公知的。在此不描述这些一般元件。
要注意,在描述中使用的词“寄存器”,在所提到的每个存储器中不仅指定低容量存储器区(少量二进制数据)还指定高容量存储器区(使得能够存储整个程序或表示接收的音频/视频服务的数据的所有或部分)。
ROM存储器32具体包括程序“prog”320。
实现上述方法的步骤的算法被存储在与实现这些步骤的设备3有关的ROM存储器32中。当启动时,微处理器31装载并执行这些算法的指令。
RAM存储器33具体包括:
-寄存器330中的当启动设备3时被装载的微处理器31的操作程序;
-在寄存器3311到331N中存储和/或接收的第一MSDU块的N个描述符;
-在寄存器3321到332N中存储和/或接收的最后MSDU块的N个描述符;
-在寄存器3331到333N中正确存储和/或接收的MSDU块的N个描述符;
-在寄存器334中的数据(例如视听和/或文件类型数据)和/或包含数据的PDU;
-索引计数器335;
-当前MSDU大小336;以及
-对于在寄存器337中的当前MSDU描述符的指针。
接收块管理模块37包括:
-模块370,包括具体意图用于由CPU 31写入第一块、最后块和正确接收的块的描述符的寄存器3700到3702,寄存器3700到3702中的每一个具有用于由CPU 31经由总线34来写存取的其本身的地址;
-模块371,包括:寄存器3710,其标识当前MSDU的第一块的等级次序(或编号);寄存器3711,其标识当前MSDU的最后块;以及对应于当前MDSU的状态寄存器3712,从而,寄存器3710到3712每个具有用于由CPU31经由总线34来读存取的其自身的地址;以及
-模块372,用于从模块370的寄存器确定模块371的寄存器的内容。
根据本发明,模块37是包括一个或多个分立组件(例如,ASIC或可编程组件)的电子块,或者全部或部分插入包括其他功能的组件(例如,包括存储器32和/或33和/或CPU 31的ASIC)。
根据所述实施例,描述符包括32位。根据本发明的实施方式变型,描述符具有除了32位以外的固定大小(范围可以从少量位(例如8)到几百或几千位)或可变大小。典型地,描述符的每个位对应于接收块,且其有效位取决于描述符类型:
-在第一(或最后)块的描述符中,1位对应于第一(或最后)MSDU块,且0位对应于块的不存在或对应于不是MSDU的第一(或最后)块的块;以及
-在存储和/或接收的块的描述符中,1位对应于存储和/或接收的MSDU块。
根据本发明,其他有效位或值(例如除了之前描述的那些以外的值)和其他格式(例如,用于每个描述符的多个位,和/或被组合为一个或两个描述符类型的三个描述符类型)当然是可能的。
为了清楚的原因,将仅描述关于第一或最后MSDU块和存储和/或接收的块的描述符。可以实现其他描述符,具体地是关于每个应用的连接描述符。具体地当接收到包含一个或多个PDU的帧时,更新所描述的块描述符。
以电子形式、优选地以可编程组件(例如门阵列)、(“可编程逻辑器件”)或ASIC中的逻辑电路的形式实现模块372。例如,这类电路例如是由例如对应于与图9所示的算法相对应的逻辑等式的其内容的VHDL定义来获得并优化的。
模块372的这种实施方式提供优点:其包括简单的逻辑功能,并需要相对少的逻辑门。
另外,模块372将如下描述符直接读入寄存器3700到3702:模块372将该描述符的值转换成第一块编号、最后块编号和状态。后者被模块372自动存储在各个寄存器3710到3712中。因此,寄存器3700到3702的内容或多或少地被立即确定,其中结果被记录在寄存器3710到3712中。以此方式,在写入寄存器3702之后,在至多严格地少于被表示为多个二进制数据(例如32)的寄存器3700到3702的大小的多个时钟周期中,且优选地少于一个时钟周期中,更新寄存器3710到3712。因此,在寄存器3702中写入描述符的CPU 31可以从随后的时钟周期中读取寄存器3710到3712的内容。
图4示意地示出在设备3中实现的数据分组接收算法。
在第一步骤40中,设备3初始化其不同的组件和变量。
然后,在步骤41期间,设备3等待然后接收已经在无线介质上传输的包括n个PDU的数据帧,其中n表示非零整数。
然后,在步骤42期间,设备3通过更新存储器33的描述符3311到331N、3321到332N和3331到333N,来进行第一和最后MSDU块和正确接收的MSDU块的制图。
然后,在步骤43期间,设备3集合对应于接收的帧的(多个)MSDU。然后,重复步骤41。
这些步骤部分地由CPU 31实现,且部分地由模块37实现。优选地以多任务或伪多任务的形式来由CPU 31进行软件部分的实施,从而,可以由不同的任务执行步骤41、42和43。
可以在不同时间或以下各个事件时进行步骤43,具体地是:
-在接收帧之后(如图4示意所示);
-如果连接改变发生(具体地,如果多个应用使用设备3的数据接收资源);以及/或
-在定义的时间段的结尾;
-在接收预定义量的块之后;
-在接收最后MSDU块之后;以及/或
-上述不同时间和/或事件的组合(例如,在接收最后MSDU块之后如果还没有正确地接收中间块则时间段到期)。
图5示出开始于帧首部读取步骤420的步骤42,所述首部对应于根据IEEE 802.16标准的PDU开始。
然后,在步骤421期间,接收器3读取子首部,如果它存在的话。
然后,在步骤422期间,微处理器31根据指示随后的块是否对应于第一和/或最后MSDU块的首部和/或子首部的内容,来更新在存储器33中的第一块描述符3311到331N和最后块描述符3321到332N。微处理器31还根据实际上已经被正确接收的块来更新所接收的块描述符3331到333N。
然后,在测试423期间,接收器3检查在当前PDU中是否存在至少一个其他子首部,如果是,重复步骤421(可以同时进行读取步骤421和测试步骤423)。
如果否,在测试424期间,接收器3检查在所接收的帧中是否存在至少一个其他PDU,如果是,重复步骤420(可以同时进行读取步骤420和测试步骤424)。如果否,结束步骤42。
图6详细示出使用第一、最后和所接收的块的描述符来承担集合MSDU分组的步骤43。
这组接收的块具有不同的相关状态,具体地是在MSDU分组中的第一块、在MSDU分组中的最后块和正确接收的块的状态。当已经接收了首部或块时,更新状态。在存储器33中,在32位描述符的帮助下存储每个块的状态,从而每个位对应于特定块的状态。因此,对于在MSDU分组中的第一块状态,在描述符3311中存储所接收的第一32个块的对应状态,且在随后的描述符3312等一直到描述符331N中存储随后的32个块的状态。对于等于2048的最大数量的块,N等于64。描述符3321到332N和3331到333N的格式类似于描述符3311到331N的格式。
步骤43开始于测试430,在其期间,CPU 31检查在任何给定的条件(超时、连接的改变、任何给定的初始事件、帧的接收等)之后是否需要集合。如果否,步骤43以对应于不需要的集合的返回而结束。
如果是,CPU 31通过存储对应于第一块描述符的MSDU指针337,来在模块37的寄存器3700到3702中写入存储器3311、3321和3331的各个内容(为了清楚的原因,假设当前描述符对应于存储器3311、3321和3331的内容;实际上,当前描述符可以对应于存储器33中的任何给定描述符)。然后,模块372优选地在写入寄存器3702之后的至多一个时钟周期中,更新状态寄存器3710。CPU 31还初始化索引计数器335为0。
然后,在测试432期间,CPU读取在寄存器3710中更新和存在的集合状态,且检查该状态是否对应于“连续的”。
如果是,考虑到寄存器3702的内容,在由寄存器3700的内容所标识的第一MSDU块之后的块是正确接收的。相反,在第一MSDU块和随后的块中不存在所标识的最后MSDU块。在步骤433期间,然后,CPU 31分别在寄存器3701和3702中写入随后的最后MSDU块和正确接收的块描述符(例如在步骤433的第一次进行期间的3322和3332)。在写入寄存器3702之后,模块372然后在至多严格少于被表达为多个位(例如32)的寄存器3700到3702的大小的多个时钟周期中、且优选地在至多一个时钟周期中,更新状态寄存器3710。CPU 31还将索引计数器335递增一个单位。该状态对应于预定值,例如,在三个位上:
-对应于成功状态的第一位,如果可以集合MSDU(所确定的最后块和在正确接收的第一到最后块的闭区间中的块)则为1,在相反情况下为0;
-对应于失败状态的第二位,如果还没有正确地接收在要被集合的MSDU分组的第一块之后且在最后块之前的、且与正确接收的块的当前描述符相关的块中的至少一个块,则为1,且在相反情况下为0;
-对应于“连续”状态的第三位,如果已经正确地接收在要被集合的MSDU分组的第一块之后且在任何最后块(对应于当前最后块描述符)之前的、且与正确接收的块的当前描述符相关的所有块,则为1,且在相反情况下为0。
如果测试432的结果是否定的,则在测试434期间,CPU 31检查集合状态是否对应于成功。如果否,步骤43以对应于失败的集合的返回而结束,从而还没有正确接收由其第一块所标识的MSDU的块。
如果是,则已经正确接收了由其第一和最后块所标识的MSDU的所有块,且可以集合该MSDU。因此,在步骤434期间,CPU 31读取在寄存器3710中的第一块的等级次序;在写入寄存器3700时,CPU 31已经在寄存器337中存储了指示第一块所对应的该组32个块的信息;因此,由在第一块描述符中的其等级次序和该描述符和所接收数据之间的对应关系清楚地标识当前MSDU的第一块。CPU 31还读取在寄存器3711中的最后块的等级次序。
然后,在步骤436期间,CPU 31计算要被集合的MSDU的大小336,该大小被表达为多个块,其等于描述符的大小(在所示例子中为32)乘以索引计数器335的值,加上最后块的等级次序的值+1,并减去第一块的等级测序的值,即概括为:
MSDU大小=32·计数器+寄存器3711-寄存器3710+1
因此,由根据第一MSDU块标识符的CPU 31和所计算的数量的MSDU块来集合MSDU分组。为了简化本发明的实施方式,块的大小优选地为对所有块相同(除了可能地对于MSDU的最后块)。然后,CPU 31向目的地应用传输所集合的MSDU的数据(或对于这些数据的指针),并结束步骤43。
根据本发明的具体适当的变型,如果块不是所有都大小相同,则以八位位组(octet)来表达MSDU的大小。然后,还以八位位组来表达索引计数器,且考虑每个块的实际大小(例如,根据以在子首部中所指示的以八位位组表达的大小)来更新索引计数器。
根据本发明的不同变型,所集合的MSDU借助于对于其第一块的指针和对于其最后块的指针来被标识,后者优选地由对于第一块的指针加上描述符的大小(所示例子中为32)、乘以索引计数器335的值和最后块的等级次序的值、减去第一块的等级次序的值来计算。
为了图示这点,图8示出在对应于特定描述符的寄存器的内容中的改变的例子。
如果设备3接收无线电帧,则CPU 31在存储器33中写入对应的描述符。因此,例如,第一MSDU块描述符800包括十六进制符号的值00000101H(在图8中的二进制符号表示的描述符中,在升序的块等级次序中在左侧示出了最低有效位(LSB)),最后块描述符801包括00000080H且正确接收的块描述符包括FFFFFFFFH。
在分别在寄存器3700到3702中写入描述符800到802之后,第一块寄存器3710包括值0(具有描述符800的等级次序0的位是1),最后块寄存器3711包括7(具有描述符801的等级次序7的位是1,且具有等级次序0到6的所有位是0),且集合状态寄存器3712指示成功的集合(具有描述符802的等级次序0到7的所有位是1)。被表达为多个块的MSDU的大小等于32×计数器+7-0+1,即8。然后,具有大小8的MSDU可以被传输到目的地应用,该MSDU的第一块对应于描述符800的位0。
然后更新描述符。在先前的最后块描述符没有指向该描述符的最后元素的情况下,保持相同组的32个块。
因此,当前第一块描述符810、最后块描述符811和所接收的块描述符分别包括值00000100H、00000000H和FFFFFFFFH。
在分别在寄存器3700到3702中写入描述符810到812之后,第一块寄存器3710包含值8(具有描述符810的等级次序8的位是1),且指示连续状态的集合状态寄存器3712(描述符811没有位是1,且具有描述符812的等级次序8到31的所有位是1)。然后,索引计数器值为1。
随后的最后块描述符821和所接收的块描述符822分别包含值0080000000H和08FFFFFFH。
在分别在寄存器3701和3702中写入描述符821到822之后,最后块寄存器3711包含值11(具有描述符821的等级次序0到10的位是0,且具有等级次序11的位是1)且集合状态寄存器3712指示失败状态(具有描述符822的等级次序0到11的位是0)。索引计数器值仍然等于1。
随后的最后块描述符821和所接收的块描述符824分别包含0080000000H和FFFFFFFFH。
在分别在寄存器3701和3702中写入描述符821和824之后,最后块寄存器3711包含值11且集合状态寄存器3712指示成功状态(具有描述符822的等级次序0到11的所有位具有值1)。索引计数器的值仍然等于1。然后,可以向应用传输其第一块对应于具有描述符800的等级次序8的位且其大小是32×索引计数器+11-8+1、即36的MSDU。
图9示出由模块37实施以更新寄存器3710到3712的算法。
在初始化步骤90之后,在步骤91期间,模块37等待在第一块寄存器3700中的写入。然后,在步骤92期间,模块37寻找第一MSDU块。对于该操作,读取寄存器3700,搜索第一1位,且在寄存器3710中存储其等级次序。承担将描述符3700的内容转换成第一1位等级次序值的操作具体地适用于由一个或多个逻辑电路或由逻辑电路的一部分来进行的纯硬件实现。为了该目的,可以使用例如状态表转换。创建第一32位掩码(mask),其具有严格小于第一所标识位的等级次序的等级次序的位是0,且其他所有位是1。指示寄存器3700的内容是与寄存器3701到3702的内容协调的同步布尔值被初始化为1。
然后,在步骤93期间,模块37等待在寄存器3701和3702中写入。一旦更新这些寄存器,模块37就检查寄存器3701是否包含1且等级次序高于或等于第一块的等级次序。为了这样做,其进行与第一掩码的逐位“与(AND)”操作,且在“与”操作的结果上进行对第一1位的搜索。优选地,以与对第一块的等级次序的搜索相同的方式来进行该搜索。
在步骤94期间,模块37搜索在寄存器3701中的最后MSDU块的存在,且在测试95期间,其检查是否已经找到最后块等级次序。
如果否,在测试99期间,模块37检查在第一块对应于当前描述符(1同步布尔值)的情况下或者在第一块对应于先前的描述符(0同步布尔值)的情况下、具有高于或等于第一块的等级次序的等级次序的寄存器3702的位是否全等于1。为了这样做,其进行:
-如果同步布尔值为0,则与FFFFFFFFH进行“与”操作;
-与第一掩码的反码(inverse)进行逐位的“或(OR)”操作,以将位于其等级次序对应于第一块的位之前的任何位设置为1,然后在“或”操作的结果和FFFFFFFFH之间进行逐位的“与”操作。
在从该操作得到的所有位上进行“与”操作。如果该结果等于1,则从第一所接收的块,正确地接收对应于当前描述符的所有块。
如果测试99的结果是肯定的,则,在步骤911期间,然后用对应于连续的状态来更新寄存器3712。
然后,在步骤912期间,用值0来更新第一掩码(masque),且重复步骤93。
在测试95的肯定结果之后,在测试96期间,模块37检查在第一块对应于当前描述符(1同步布尔值)的情况下或者在第一块对应于先前的描述符(0同步布尔值)的情况下具有高于或等于第一块的等级次序的等级次序的寄存器3702的位、以及具有低于或等于最后块的等级次序的等级次序的寄存器3702的位是否全等于1。为了这样做,它首先更新第二掩码,其具有低于或等于最后位的等级次序的等级次序的位等于1且其他位等于0。然后,模块37与寄存器3702的内容进行逐位“或”操作,然后,利用该结果,其进行:
-如果同步布尔值为0,则进行与FFFFFFFFH的“与”操作;
-与第一掩码的反码进行逐位的“或”操作,以将位于其等级次序对应于第一块的位之前的任何位设置为1,然后在“或”操作的结果和FFFFFFFFH之间进行逐位的“与”操作。
对来自该操作的结果的所有位进行“与”操作。
如果该结果等于1,则在第一到最后块的闭区间中正确接收对应于当前描述符的所有块。然后,在步骤97期间,在寄存器3711中存储最后块的等级次序的值,且更新对应于成功状态的寄存器3712。第一块寄存器3700的随后读取使得CPU 37能够识别在集合成功指示之后的对应的描述符的状态。在具体地读取在寄存器3712中的成功状态(步骤97)和/或读取寄存器3700期间,优选地自动更新寄存器3700(从而所述操作可以独立于步骤97)。例如,在除了在由寄存器3710的内容所定义的第一块的位置之外、在寄存器3700的当前内容与包括多个1的32位掩码之间应用“与”操作之后,由模块372进行上述操作。因此,寄存器3700包含0来替代1,其中等级次序与寄存器3710的内容相对应。在步骤97之后,重复步骤91。
如果在测试96或99期间结果不等于1,则在第一到最后块的闭区间中没有正确接收对应于当前描述符的至少一个块。然后,在步骤98期间,利用对应于失败的状态来更新寄存器3712。在读取寄存器3712之后,重复步骤91或92之一。实际上,可以在不等待新块的存储的情况下立即重复步骤92,这是因为在不正确接收的或存储的块之后的块可能使能MSDU的集合。根据某些实施例,在步骤98之后,系统地重复步骤91。根据其他实施例,由软件命令、电子配置和/或任何给定的参数定义来进行在步骤91和步骤92之间的选择。
当然,本发明不局限于上述实施例。
具体地,传输/接收设备的结构在元件的各个功能和/或形式(电子元件的功能可以具体地合并到限制数量的组件中,或相反地可以分离成多个组件)和它们的安排上可能不同于图3所示的。
另外,接收块管理模块还可以具有不同的结构,从而具体地,翻译功能(translation function)可以被集成到与寄存器相关的模块之一中。
另外,根据本发明,接收块管理模块可以与所有描述符相关联,或相反该设备可以包括多个接收块管理模块,从而这些模块的每个与一个或多个描述符相关联。
另外,本发明不局限于根据无线通信标准(例如IEEE 802.16)来接收数据,还涉及使用接收的分组块描述符的任何数据分组接收方法。
另外,根据本发明的变型,接收的分组描述符不一定与第一MSDU分组、最后MSDU分组和正确接收的分组的描述符相关联,但对应于使能重新集合其块被存储的数据分组的任何类型的特定状态。
根据本发明的一个变型,电子块管理模块仅实现用于确定具有或不具有从具体等级次序或上至具体等级次序的预定值的第一MSDU块、最后MSDU块和正确接收的块的一个或两个功能。因此,例如,根据变型,电子模块370实现具有分别对应于如下的写存取的寄存器:
-第一分组块号(例如根据IEEE 802.16标准的BSN(“块顺序号”)块);
-最后分组块号(例如,根据IEEE 802.16标准的BSN块);
-正确存储或接收的块描述符;以及
-对应于正确存储或接收的块描述符的第一位(或字段)的块号。
根据一个变型,省略最后寄存器(对应于正确存储或接收的块描述符的第一位(或字段)的块号),因为,其值可以缺省地对应于第一寄存器的值(第一分组块号)。在这些实施例中,由电子块管理模块来仅更新状态寄存器。
另外,本发明不局限于无线传输,还涉及在任何给定介质上且具体地在噪声有线信道或在记录信道上的所有传输。
根据所述实施例,电子模块370包含单个第一块寄存器、单个最后块寄存器和单个最后接收块寄存器。根据本发明的变型,模块370包含有关这些寄存器中的一个、两个或三个的多个描述符,或将这些寄存器的内容直接读取到存储器33中,从而对于第一描述符的指针由CPU提供,且/或被缺省配置。根据该变型,如果正确接收了所有中间块,则模块370能够自动地搜索MSDU的最后块,且可以包含其自动递增的索引计数器寄存器。然后,CPU能够读取表示可以被直接集合到该索引计数器寄存器中的MSDU的大小的信息,并能够在即使不读取状态寄存器的情况下也获得成功状态。在该情况下,连续状态仅出现在标识正确接收块之后的第一MSDU块之后不存在包括最后MSDU块标识符的有效描述符的情况下。
根据可以优势地与上述变型组合的其他实施例,模块370包含多个相同类型的结果寄存器,以便使能并行存储对应于不同MSDU的多个状态。因此,可以提供四组结果寄存器,对于由第一块(和/或最后块)的存在所标识的每个MSDU,包括:指示第一块的等级次序的寄存器、指示最后块的等级次序的寄存器、指示MSDU的状态(集合可能与否、以及可能地关于集合不可能的原因)和MSDU的大小的寄存器。以此方式,利用其中少量或者不包含CPU的部件的(多个)电子模块来实质地实现能够被集合的MSDU的确定。
Claims (16)
1.一种用于集合数据块以形成至少一个数据分组的方法,其特征在于,其包括以下步骤:
-在第一寄存器中写入(42)至少一个第一数据块描述符(3702),每个第一描述符包括表示属于一组块的每个块的状态的信息,由此每个块的状态指示是否已经存储了所述块;
-确定并在第二寄存器(3712)中记录(97、98、911)所述组的至少一部分的状态,所述状态表示在所述组的所述部分中的块的存储或未存储的情况;
-根据被记录在所述第二寄存器中的状态,集合(43)包含所述组的所述块的分组。
2.根据权利要求1的方法,其特征在于,所述确定状态的步骤是在至多严格少于第一寄存器的大小的多个时钟周期中进行的基本步骤,该第一寄存器的大小被表达为多个二进制数据。
3.根据权利要求2的方法,其特征在于,所述确定状态的步骤是在至多一个时钟周期中进行的基本步骤。
4.根据权利要求1到3中的任何一个的方法,其特征在于所述第一寄存器的写入包括所述第二寄存器的纯电子更新。
5.根据权利要求1到4中的任何一个的方法,其特征在于其包括确定第一分组块的位置的确定步骤(92),由此该步骤包括以下步骤:
-在第三寄存器(3700)中写入至少一个第二第一块描述符,每个第二描述符包括为每个块指示是否包含了第一分组块的信息;以及
-基于所述第三寄存器的内容来确定在分组中的第一块,并在第四寄存器(3710)中记录所述第一块的标识符;
根据在所述第四寄存器中记录的所述标识符,来进行包含所述组的所述块的分组的所述集合。
6.根据权利要求5的方法,其特征在于所述确定分组中的第一块的步骤是在至多严格少于第三寄存器的大小的多个时钟周期中进行的基本步骤,该第三寄存器的大小被表达为多个二进制数据。
7.根据权利要求1到6中的任何一个的方法,其特征在于,其包括确定最后分组块的位置的步骤,所述步骤包括以下步骤:
-在第五寄存器(3701)中写入至少一个第三最后块描述符,每个第三描述符包括为每个块指示其是否是最后分组块的信息;以及
-基于所述第五寄存器的内容来确定分组中的最后块,并在第六寄存器(3711)中记录在要被传输的分组中的最后块的标识符;
根据在所述第六寄存器中记录的所述标识符,来进行包含所述组的所述块的分组的所述集合。
8.根据权利要求7的方法,其特征在于,所述确定在分组中的最后块的步骤是在至多严格少于第五寄存器的大小的多个时钟周期中进行的基本步骤,该第五寄存器的大小被表述为多个二进制数据。
9.根据权利要求7和8中的任何一个的方法,其特征在于,所述确定最后分组和确定状态的步骤是同时进行的。
10.根据权利要求5和7的方法,其特征在于,其包括以下步骤:
-根据所述第四和第六寄存器的内容来确定要被集合的分组中的块的数量。
11.根据权利要求7到9中的任何一个的方法,其特征在于,只要被存储在第二寄存器中的状态指示存储了分组且/或还没有标识最后分组块,就重复所述确定状态和确定最后块的步骤。
12.根据权利要求1到11中的任何一个的方法,其特征在于,被记录在所述第二寄存器中的所述状态属于如下组,该组包括:
-分组集合状态可能;
-分组集合状态不可能,因为还没有检测到分组的结尾;
-分组集合状态不可能,因为没有存储分组的至少一部分;
-分组集合状态不可能,因为还没有接收到分组的至少一部分。
13.根据权利要求1到12中的任何一个的方法,其特征在于,其包括数据块接收步骤,并且与每个块相关联的所述状态指示是否已经正确接收了所述块。
14.根据权利要求13的方法,其特征在于,以在无线信道上传输的数据帧来接收块。
15.根据权利要求14的方法,其特征在于,根据IEEE 802.16通信协议来传输数据帧。
16.一种用于集合数据块以形成至少一个数据分组的设备(3),其特征在于,其包括:
-在第一寄存器(3702)中写入至少一个第一数据块描述符的装置,每个第一描述符包括表示属于一组块的每个块的状态的信息,由此每个块的状态指示是否已经存储了所述块;
-确定并在第二寄存器(3712)中记录(372)所述组的至少一部分的状态的装置,所述状态表示在所述组的所述部分中的块的存储或未存储的情况;
-根据被记录在所述第二寄存器中的所述状态来集合包含所述组的所述块的分组的装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0650955A FR2898752A1 (fr) | 2006-03-20 | 2006-03-20 | Procede et dispositif d'asssemblage de paquets de donnees |
FR0650955 | 2006-03-20 | ||
PCT/EP2007/052250 WO2007107467A1 (en) | 2006-03-20 | 2007-03-09 | Method and device for data packet assembly |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101406005A true CN101406005A (zh) | 2009-04-08 |
CN101406005B CN101406005B (zh) | 2015-03-04 |
Family
ID=37670690
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200780010063.3A Expired - Fee Related CN101406005B (zh) | 2006-03-20 | 2007-03-09 | 用于数据分组集合的方法和设备 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8279894B2 (zh) |
EP (1) | EP2005665B1 (zh) |
JP (1) | JP5185920B2 (zh) |
KR (1) | KR101353992B1 (zh) |
CN (1) | CN101406005B (zh) |
FR (1) | FR2898752A1 (zh) |
WO (1) | WO2007107467A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102065568B (zh) * | 2009-11-17 | 2013-07-03 | 中国科学院微电子研究所 | 基于数据描述符的mac软硬件交互方法及其硬件实现装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105450488B (zh) * | 2015-11-11 | 2019-10-22 | 深圳市冠明能源科技有限公司 | 一种数据处理方法及相关装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5930525A (en) * | 1997-04-30 | 1999-07-27 | Adaptec, Inc. | Method and apparatus for network interface fetching initial and data burst blocks and segmenting blocks and scheduling blocks compatible for transmission over multiple virtual circuits |
JP3449204B2 (ja) | 1998-01-23 | 2003-09-22 | ソニー株式会社 | 制御装置、無線伝送装置及び無線伝送方法 |
JP3399348B2 (ja) * | 1998-03-16 | 2003-04-21 | 三菱電機株式会社 | 無線伝送方法 |
US20050008035A1 (en) * | 2001-11-12 | 2005-01-13 | Carl Eklund | Method and device for retransmission of transmitted units |
TWI223520B (en) * | 2003-05-23 | 2004-11-01 | Admtek Inc | Wireless network receiver and method for performing message integrity check of service data unit thereof |
JP2005176234A (ja) | 2003-12-15 | 2005-06-30 | Oki Electric Ind Co Ltd | 同期ワード検出回路及びベースバンド信号受信回路 |
CN1917508B (zh) * | 2005-08-19 | 2011-01-26 | 鸿富锦精密工业(深圳)有限公司 | 无线局域网装置及其帧序列号编号方法 |
-
2006
- 2006-03-20 FR FR0650955A patent/FR2898752A1/fr active Pending
-
2007
- 2007-03-09 KR KR1020087021608A patent/KR101353992B1/ko not_active IP Right Cessation
- 2007-03-09 EP EP07726767.2A patent/EP2005665B1/en not_active Expired - Fee Related
- 2007-03-09 WO PCT/EP2007/052250 patent/WO2007107467A1/en active Application Filing
- 2007-03-09 US US12/225,399 patent/US8279894B2/en not_active Expired - Fee Related
- 2007-03-09 CN CN200780010063.3A patent/CN101406005B/zh not_active Expired - Fee Related
- 2007-03-09 JP JP2009500815A patent/JP5185920B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102065568B (zh) * | 2009-11-17 | 2013-07-03 | 中国科学院微电子研究所 | 基于数据描述符的mac软硬件交互方法及其硬件实现装置 |
Also Published As
Publication number | Publication date |
---|---|
JP2009530935A (ja) | 2009-08-27 |
KR20080111000A (ko) | 2008-12-22 |
KR101353992B1 (ko) | 2014-01-20 |
WO2007107467A1 (en) | 2007-09-27 |
EP2005665B1 (en) | 2014-10-08 |
JP5185920B2 (ja) | 2013-04-17 |
FR2898752A1 (fr) | 2007-09-21 |
CN101406005B (zh) | 2015-03-04 |
EP2005665A1 (en) | 2008-12-24 |
US20100202473A1 (en) | 2010-08-12 |
US8279894B2 (en) | 2012-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101485152B (zh) | 用于高性能捆绑重排序的方法、系统及计算机程序产品 | |
KR101745456B1 (ko) | HiL 시뮬레이션 환경에서 대용량 데이터를 전송하기 위한 전자제어 장치, 이를 포함하는 시스템 및 그 방법 | |
CN112187789B (zh) | 一种数据链路协议转换系统 | |
CN106656714A (zh) | 一种基于EtherCAT总线的通信协议方法及系统 | |
CN111211863B (zh) | Mac发射端、mac接收端及电路、fpga芯片及数据传输系统 | |
KR101332279B1 (ko) | 데이터 패킷 전송 방법 및 디바이스 | |
CN109361490B (zh) | 数据传输方法、计算机设备、数据转接板及sdr平台 | |
CN112953860B (zh) | 兼容hinoc2.0和3.0协议的拆帧控制方法 | |
JP5161120B2 (ja) | データ・パケット・フレームを受信するための方法、モジュールおよび装置 | |
CN101406005B (zh) | 用于数据分组集合的方法和设备 | |
US20030193894A1 (en) | Method and apparatus for early zero-credit determination in an infiniband system | |
KR100354326B1 (ko) | 에러통계를선택적으로저장하는장치및방법 | |
CN113726693B (zh) | 一种fpga片间低速并行异步通信方法及通信系统 | |
US7327725B2 (en) | Method and apparatus capable of transferring very high data rates across a midplane or backplane | |
CN102769512A (zh) | 一种通用成帧规程帧定界的实现方法和装置 | |
CN108880739A (zh) | 预定数据传输、接收方法、装置、处理器及存储介质 | |
CN113454935B (zh) | 一种线路编码方法及装置 | |
CN114785396B (zh) | 逻辑端口配置、查找映射及流量管理方法、系统及终端 | |
CN110336641B (zh) | 继电保护的测试方法、继电测试设备、存储介质及装置 | |
CN112637027B (zh) | 基于uart的帧边界界定装置及发送方法和接收方法 | |
US20100214981A1 (en) | Transmission device, transmission system, transmission method, and transmission program | |
CN116893987A (zh) | 硬件加速方法、硬件加速器及硬件加速系统 | |
CN114866492A (zh) | 一种信号处理方法、系统和相关装置 | |
KR19990026879A (ko) | 패킷 데이터의 트레일러 처리 장치 | |
CN109359076A (zh) | 一种基于数字io的多路rs-422通讯装置以及通讯终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150304 Termination date: 20190309 |
|
CF01 | Termination of patent right due to non-payment of annual fee |