CN110471616A - 用于接收器的写块 - Google Patents
用于接收器的写块 Download PDFInfo
- Publication number
- CN110471616A CN110471616A CN201910382766.3A CN201910382766A CN110471616A CN 110471616 A CN110471616 A CN 110471616A CN 201910382766 A CN201910382766 A CN 201910382766A CN 110471616 A CN110471616 A CN 110471616A
- Authority
- CN
- China
- Prior art keywords
- storage buffer
- written
- block
- predetermined element
- input data
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4009—Coupling between buses with data restructuring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1694—Configuration of memory controller to different memory types
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/405—Coupling between buses using bus bridges where the bridge performs a synchronising function
- G06F13/4059—Coupling between buses using bus bridges where the bridge performs a synchronising function where the synchronisation uses buffers, e.g. for speed matching between buses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
- H04B1/0003—Software-defined radio [SDR] systems, i.e. systems wherein components typically implemented in hardware, e.g. filters or modulators/demodulators, are implented using software, e.g. by involving an AD or DA conversion stage such that at least part of the signal processing is performed in the digital domain
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
- H04B1/06—Receivers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L27/00—Modulated-carrier systems
- H04L27/26—Systems using multi-frequency codes
- H04L27/2601—Multicarrier modulation systems
- H04L27/2647—Arrangements specific to the receiver only
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Information Transfer Systems (AREA)
- Circuits Of Receivers In General (AREA)
Abstract
一种用于将数据写入存储器缓冲区的写块,其中所述存储器缓冲区包括元件的有序序列,并且所述写块被配置成:接收输入数据流;以及以从所述有序序列的第一元件到所述有序序列的预定元件的连续方式将所述输入数据流写入所述存储器缓冲区。在写入所述预定元件之后,所述写块被配置成以在所述第一元件处重新开始的连续方式继续将所述输入数据流写入所述存储器缓冲区。响应于写入所述预定元件,所述写块被配置成还以从紧接在所述存储器缓冲区的所述预定元件之后的元件直到第二预定元件的连续方式继续将所述输入数据流写入所述存储器缓冲区。
Description
技术领域
本公开涉及一种接收器,并且具体地涉及接收器如何将输入数据流写入存储器缓冲区。
背景技术
接收器可以是无线接收器,如依据IEEE 802.11无线网络标准操作的无线接收器。接收器还可以是正交频分多路复用(OFDM)接收器。接收器可以被配置成作为软件定义无线电(SDR)系统或数字无线电系统的一部分。
发明内容
根据本公开的第一方面,提供了一种用于将数据写入存储器缓冲区的写块,其中所述存储器缓冲区包括元件的有序序列,并且所述写块被配置成:
接收输入数据流;以及
以从所述有序序列的第一元件到所述有序序列的预定元件的连续方式将所述输入数据流写入所述存储器缓冲区,其中在写入所述预定元件之后,所述写块被配置成以在所述第一元件处重新开始的连续方式继续将所述输入数据流写入所述存储器缓冲区;
其中响应于写入所述预定元件,所述写块被配置成还以从紧接在所述预定元件之后的元件直到所述存储器缓冲区的第二预定元件的连续方式继续将所述输入数据流写入所述存储器缓冲区。
在一个或多个实施例中,在写入所述预定元件之后,所述写块可以被配置成在重复写入过程中将所述输入数据流写入所述第一元件和紧接在所述预定元件之后的所述元件两者,直到写入所述存储器缓冲区的所述第二预定元件。
在一个或多个实施例中,在写入所述第二预定元件之后,所述写块可以被配置成继续将所述输入数据流仅写入限定为所述第一元件与所述预定元件之间的元件的存储器缓冲区核心区,直到其再次写入所述预定元件。
在一个或多个实施例中,限定为在紧接在所述预定元件之后的所述元件与所述第二预定元件之间的元件的存储器缓冲区补充区可以大于或等于所述输入数据流的一个输入数据符号的符号大小。
在一个或多个实施例中,所述输入数据流的每个输入数据符号可以被存储在所述存储器缓冲区的连续段中。
根据本公开的另一方面,提供了一种系统,其包括本文公开的任何写块和所述存储器缓冲区。
在一个或多个实施例中,所述系统还可以另外包括读块,所述读块被配置成从所述存储器缓冲区中读取所述输入数据流的所述输入数据符号。
在一个或多个实施例中,所述读块可以被配置成从所述存储器缓冲区的连续段中读取所述输入数据流的输入数据符号。
在一个或多个实施例中,所述读块可以被进一步配置成:
在经检测边界元件处检测所述存储器缓冲区补充区中新输入数据符号的起始;以及
将所述新输入数据符号的另外一个拷贝定位在存储器缓冲区核心区中的绕回元件处。
在一个或多个实施例中,所述读块可以被配置成确定所述第一元件与所述绕回元件之间的元件的数量是否等于所述预定元件与所述经检测边界元件之间的元件的数量。
在一个或多个实施例中,所述读块可以包括数字信号处理代码。所述读块可以被配置成直接在所述存储器缓冲区中处理所述输入数据流的所述输入数据符号。
在一个或多个实施例中,所述处理代码可以包括快速傅里叶变换例程。
根据本公开的另一方面,提供了一种软件定义无线电系统,其包括本文公开的写块中的任一个或本文公开的所述系统中的任一个。
根据本公开的另一方面,提供了一种用于将数据写入存储器缓冲区的方法,所述存储器缓冲区包括元件的有序序列,所述方法包括以下步骤:
接收输入数据流;
以从所述有序序列的第一元件到所述有序序列的预定元件的连续方式将所述输入数据流写入所述存储器缓冲区;
在写入所述预定元件之后,以在所述第一元件处重新开始的连续方式将所述输入数据流写入所述存储器缓冲区;以及
响应于写入所述预定元件,以从紧接在所述预定元件之后的元件直到所述存储器缓冲区的第二预定元件的连续方式将所述输入数据流写入所述存储器缓冲区。
根据本公开的另一方面,提供了一种计算机程序,当在计算机上运行时,所述计算机程序致使所述计算机执行本文中公开的任何方法或配置本文中公开的任何写块或系统。
虽然本公开可采用各种修改和替代形式,但是在附图中已经通过举例示出了其细节并且将对其进行详细描述。然而,应理解的是,除了所描述的具体实施例之外,其它实施例也是可能的。落入所附权利要求书的精神和范围内的所有修改、等效物以及替代性实施例也被涵盖。
以上讨论并不旨在表示当前或未来权利要求组的范围内的每个示例实施例或每种实施方式。随后的附图和具体实施方式也例证了各个示例实施例。在结合附图考虑以下具体实施方式时,可以更完全地理解各个示例实施例。
附图说明
现在将参考附图仅通过举例对一个或多个实施例进行描述,在附图中:
图1示意性地示出了接收器如何可以接收、存储和处理输入数据流。
图2示出了根据图1的示意图的存储器缓冲区,其中写块已经将输入数据流写入存储器缓冲区。
图3示意性地示出了根据本公开的实施例的接收器可以如何接收、存储和处理输入数据流。
图4示出了根据图3的示意图的存储器缓冲区,其中写块已经将输入数据流写入存储器缓冲区。
具体实施方式
图1示意性地示出了接收器如何可以接收、存储和处理输入数据流102。与如下描述一致,SDR系统实施方式中的第一步可以是DFE硬件块将接收的I/Q输入数据样品写入到本地数字信号处理(DSP)存储器中的环形存储器缓冲区中。
在此例子中,接收器在数字前端(DFE)处接收输入信号流102。DFE包括写块104,所述写块104接收输入数据流102并且将输入数据流102写入存储器缓冲区106。读块108可以读取来自存储器缓冲区106的输入数据符号并将其拷贝到第二存储器缓冲区110,读块108可以从所述第二存储器缓冲区110处处理输入数据符号。
输入数据流102可以包括输入数据的连续流或者可以包括输入数据的离散片段。对于OFDM接收器,输入数据流可以包括一系列子载波频率。输入数据流102包括输入数据符号,其中每个输入数据符号包括多个输入数据样品。输入数据样品可以包括同相(I)和正交(Q)分量。例如,对于IEEE 802.11接收,每个输入数据符号可以包括80个输入数据样品。
写块104将输入数据流102写入存储器缓冲区106。存储器缓冲区106可以是数字存储器存取(DMA)缓冲区。存储器缓冲区106包括存储器元件106-1到106-n的有序序列。写块104可以以从存储器缓冲区106的第一元件106-1到存储器缓冲区106的末端元件106-n的连续方式写入输入数据流102。在此例子中,存储器缓冲区106是环形存储器缓冲区,使得当写块104将输入数据写入末端元件106-n时,写块104以在第一元件106-1处重新开始的方式继续写入输入数据。以此方式,在循环回到第一元件106-1之前,环形存储器缓冲区106以连续地从第一元件106-1到末端元件106-n的循环过程写入。循环过程可以重复继续,只要输入数据流102被接收或接收器被通电。
在将输入数据流102写入存储器缓冲区106之前,写块104不确定输入数据流102中符号边界的位置。所接收的和被写入存储器缓冲区106的输入数据流102的第一部分可能不与输入数据符号边界对应;相反,存储器缓冲区106的第一元件106-1可以存储来自输入数据符号的中间部分的样品。当写块104首先开始接收输入数据流102时,可以在第一元件106-1处开始将输入数据流写入存储器缓冲区106。可替换的是,写块104可以在除了第一元件106-1以外的元件处开始写入输入数据流102。例如,写块可以在与已被终止的先前的写入会话或输入数据接收会话处的位置相对应的元件处开始写入。尽管如此,不管从哪个元件处开始写入,写块在重复循环过程中以从第一元件106-1到末端元件106-n的连续方式写入输入数据流102。
由于:(i)输入数据流102的第一部分不与输入数据符号边界对应;和/或(ii)写入开始处的可变元件位置、存储器缓冲区106的边界不可能与输入数据流102的输入数据符号的符号边界对齐。写块不确定输入数据流102中符号边界的位置。
图2示出了存储器缓冲区206如图1的存储器缓冲区,其中写块(未示出)已经将输入数据流写入存储器缓冲区206。写块已经以从存储器缓冲区206的第一元件206-1到末端元件206-n的连续方式将输入数据流写入存储器缓冲区206。在写入末端元件206-n之后,写块已经在第一元件206-1处继续写入。
由于写入过程的连续性质,存储器缓冲区206包括多个输入数据符号212、214、216、218。每个输入数据符号占用多个存储器元件。每个输入数据符号与紧邻的输入数据符号邻接。写块已经在存储器缓冲区206的第一元件206-1与末端元件206-n之间的元件处开始将第一输入数据符号212写入存储器缓冲区206。
第一输入数据符号212、第二输入数据符号214和第四输入数据符号218各自已经被写入/存储在存储器缓冲区206的对应的连续段中。也就是说,对应的输入数据符号212、214、218中的所有输入数据样品已经被写入/存储在存储器缓冲区206的单个存储器元件范围中的相邻的存储器元件中;对应的输入数据符号212、214、218的任何输入数据样品之间无缝隙。换句话说,对应的输入数据符号212、214、286的输入数据样品已经以其被接收到存储器缓冲区的封闭的相邻的存储位的范围中的顺序写入。
写块已经在靠近存储器缓冲区206的末端元件206-n的元件处开始写入第三输入数据符号216。在写入末端元件206-n之后,写块已经继续在第一元件206-1处写入输入数据流。因此,第三输入数据符号216被分成第三符号第一片段216-1和第三符号第二片段216-2。以此方式,第三输入数据符号216未存储在存储器缓冲区206的连续段中。也就是说,第三输入数据符号216中的所有输入数据样品尚未被写入/存储在存储器缓冲区206的单个存储器元件范围中相邻的存储器元件中。第三符号第一片段216-1与第三符号第二片段216-2之间存在缝隙。这个缝隙包括来自除了第三输入数据符号216以外的输入数据符号的输入数据样品,在此例子中,指代第一输入数据符号212、第二输入数据符号214和第四输入数据符号218。换句话说,第三输入数据符号216的输入数据样品尚未被写入存储器缓冲区的封闭的相邻的存储位范围,而是被分成两个明显的存储位范围。因此,存储器缓冲区206的边界不与第三输入数据符号216(或任何其它被存储的输入数据符号)的符号边界对齐。
返回到图1,读块108读取来自存储器缓冲区106的输入数据流102以进行处理。读块108可以包括用于读取和处理输入数据流102的数字信号处理(DSP)代码。读块108可以确定输入数据符号的符号边界。对于IEEE 802.11接收,DSP代码重复地读取许多输入数据符号,所述许多输入数据符号各自包括80个I/Q输入数据样品。
DSP代码可以包括多个符号处理步骤。如果输入数据符号存储在存储器缓冲区106的连续段中,则可以更有效地运行一个或多个符号处理步骤。例如,处理输入数据符号将通常涉及快速傅里叶变换(FFT)步骤。FFT步骤对于存储于存储器的连续段中的输入数据符号可能更有效。
如上所提及,输入数据流102的符号边界通常不与存储器缓冲区106的边界对齐。因此,读块108将输入数据符号拷贝到第二存储器缓冲区110。第二存储器缓冲区110可以位于与存储器缓冲区106相同的本地DSP存储器中。以此方式,输入数据符号可以存储于准备处理的第二存储器缓冲区110中的存储器的连续段中。
例如,当读块108读取图2的存储器缓冲区的末端元件时,读块108将绕回并继续在存储器缓冲区的第一元件处读取。以此方式,读块可以检测并且读出第三输入数据符号的两个分离的片段。读块108可以将来自存储器缓冲区的作为不连续的第三符号第一片段216-1和第三符号第二片段216-2的第三输入数据符号读出,并将这两个片段缝合在一起成为第二存储器缓冲区110的连续段。换句话说,存储器缓冲区106的边界不与被存储的输入数据符号的符号边界对齐,并且输入数据符号被分割和存储到两个分离的存储器位置中。读块因此在处理符号之前将输入数据符号拷贝在第二存储器缓冲区110中。
图3示意性地示出了根据本公开的实施例的接收器可以如何接收、存储和处理输入数据流302。同样在图1中示出的图3的特征已经被赋予300系列的相应附图标记并且将不一定再次在此处进行描述。
图3示出了与图1相比的将输入数据符号存储在DMA缓冲区中的替代方法。接收器的写块304被配置成以每个被接收的输入数据符号可以被存储于存储器缓冲区306的连续段中的这种方式将输入数据流302写入存储器缓冲区。因此,写块308可以从存储器缓冲区306的连续段中读取被存储的输入数据符号。另外,读块308可以处理直接来自存储器缓冲区306的输入数据符号,其可以被称作就地处理。有利的是,接收器不需要第二存储器缓冲区,并且读块308无需拷贝输入数据符号。这可以节省部件数量/成本和处理时间。在图1所示的接收器过程中,拷贝输入数据符号花费了额外的DSP代码循环。图3的过程可以有利地提供一种更优的方法,其中DSP可以处理来自存储器的连续段的输入数据符号,而无需使用第二缓冲区。
在此例子中,存储器缓冲区306是包括元件306-1到306-n的有序序列的环形存储器缓冲区。写块304被配置成以从有序序列的第一元件306-1到有序序列的预定元件306-p的连续方式将输入数据流302写入存储器缓冲区306。在写入预定元件306-p之后,写块304以在第一元件306-1处重新开始的方式继续将输入数据流302写入存储器缓冲区306。响应于写入预定元件306-p,写块304还以从紧接在存储器缓冲区306的预定元件306-p之后的元件直到第二预定元件306-n的连续方式继续将输入数据流302写入存储器缓冲区306。在此例子中,第二预定元件306-n是存储器缓冲区306的末端元件。在其它例子中,第二预定元件可以被预定成除了末端元件306-n以外的元件。
存储器缓冲区306在第一元件306-1与预定元件306-p之间(并且包括其)的元件被称为存储器缓冲区核心区320。存储器缓冲区306在预定元件306-p之后的元件与预定元件306-n之间(并且包括其)的元件被称为存储器缓冲区补充区322。
当写块304写入预定元件306-p时,写块304继续将输入数据流302的下一部分写入第一元件306-1和紧接在预定元件306-p之后的元件两者。这种重复写入继续直到写块将输入数据流302写入第二预定元件306-n。在此阶段,存储器缓冲区补充区322中包括的输入数据将与开始于存储器缓冲区核心区320的第一元件306-1处的存储器的同等大小的段相同。存储器缓冲区补充区322的大小/容量被预定成大于或等于一个输入数据符号的大小。在一些实施例中,存储器缓冲区补充区322的大小可能等于一个输入数据符号的大小。一个输入数据符号的大小可以是存储器缓冲区补充区322可以承受并且仍然确保每个被接收的输入数据符号可以存储在存储器缓冲区306的连续段中的最小尺寸。存储器缓冲区核心区320的大小可以根据使能够进行期望的处理的特定应用被预定。预先确定存储器缓冲区核心区和存储器缓冲区补充区322的大小预先确定了存储器缓冲区306中预定元件306-p的位置。
在写入第二预定元件306-n之后,写块继续将输入数据流仅写入存储器缓冲区核心区320。写块继续仅写入存储器缓冲区核心区320,直到写块再次写入预定元件306-p。
图3的环形存储器缓冲区可以被视为图2的缓冲区的扩展版本;其扩展了一个输入数据符号的大小。DMA写块304还被适配成使得当写块到达存储器缓冲区核心区320的末端时,写块继续将输入数据流写入存储器缓冲区的开始,并且将相同的输入数据拷贝到额外的存储器(存储器缓冲区补充区322)中。
图4示出了存储器缓冲区406,其中写块(未示出)如图3的写块已经将输入数据流写入存储器缓冲区406。同样在图1到图3中示出的
图4的特征已经被赋予400系列的相应附图标记并且将不一定再次在此处进行描述。
写块已经以从存储器缓冲区406的第一元件406-1到预定元件406-p的连续方式将输入数据流写入存储器缓冲区406。在写入预定元件406-p之后,写块已经继续将输入数据流写入以下两者:(i)第一元件406-1;和(ii)紧接在预定元件406-p之后的元件。以此方式,写块已经重复了输入数据串的一部分。输入数据流的已复制部分存储在以下两者中:(i)存储器缓冲区补充区422;和(ii)在存储器缓冲区核心区420的第一元件406-1处开始的存储器424的同等大小的段。
由于写入过程,存储器缓冲区406包括多个输入数据符号412、414、416、418。每个输入数据符号与紧邻的输入数据符号邻接。写块已经将第一输入数据符号412写入在第一元件406-1与预定元件406-p之间的元件处开始的存储器缓冲区核心区420。写块还将第二输入数据符号414写入邻接第一输入数据符号412和在所述第一输入数据符号412之后的存储器缓冲区核心区420。
写块已经将邻接第二输入数据符号414并始于存储器缓冲区核心区420的第三输入数据符号416写入。第三输入数据符号416始于预定元件406-p之前并结束于预定元件406-p之后。因此,写块已经在写入第三输入数据符号416期间写入了预定元件406-p。在写入预定元件406-p之后,写块已经继续将第三输入数据符号416写入以下两者:(i)第一元件406-1;和(ii)紧接在预定元件406-p之后的元件。因此,写块已经将第三符号第一片段416-1写入存储器缓冲区核心区420,并且将第三符号第二片段写入以下两者:(i)存储器缓冲区补充区422;和(ii)始于第一元件406-1处的存储器缓冲区核心区420。以此方式,第三输入数据符号416存储于存储器缓冲区406的连续段中、由以下形成:(i)存储器缓冲区核心区420中的第三符号第一片段416-1;和(ii)存储器缓冲区补充区422中的第三符号第二片段416-2。
写块已经将邻接第三输入数据符号416的第四输入数据符号418写入。写块已经将第四符号第一片段418-1写入存储器缓冲区补充区422和存储器缓冲区核心区420两者。这是因为在写入预定元件406-p之后,重复写入继续直到写块将输入数据流写入第二预定元件406-n。存储器缓冲区补充区422中第四符号第一片段418-1的开始位于预定元件406-p与第二预定元件406-n之间,并且因此被写入存储器缓冲区核心区420和存储器缓冲区补充区422两者。在写入第二预定元件406-n之后,写块继续将输入数据流仅写入存储器缓冲区核心区420。因此,第四符号第二片段418-2仅被写入邻接第四符号第一片段418-1的存储器缓冲区核心区420。以此方式,第四输入数据符号418存储于存储器缓冲区406的连续段中、由以下形成:(i)存储器缓冲区核心区420中的第四符号第一片段418-1;和(ii)存储器缓冲区核心区420中的第四符号第二片段418-2。
图3和图4示出写块以存储于存储器缓冲区中的每个输入数据符号可以从存储器缓冲区的连续段中被读出(在某个时间)的这种方式将输入数据流写入存储器缓冲区。
图3的读块可以从存储器缓冲区406的连续段中读出存储于存储器缓冲区406中的每个输入数据符号412、414、416、418。以此方式,读块可以有利地直接在存储器缓冲区406中处理输入数据符号。
读块可以读出和/或处理来自包括相应元件的存储器缓冲区406的连续段的第一输入数据符号412和第二输入数据符号414。读块可以读出和/或处理来自存储器缓冲区406的连续段的第三输入数据符号416,所述存储器缓冲区406包括与以下相对应的元件:(i)存储器缓冲区核心区420中的第三符号第一片段416-1;和(ii)存储器缓冲区补充区422中的第三符号第二片段416-2。
在一些例子中,读块可以在经检测边界元件406-d处检测存储器缓冲区补充区422中的输入数据符号的符号边界。作为响应,读块可以停止从存储器缓冲区补充区422读取,并且绕回426以开始从存储器缓冲区核心区420读取。在这种情况下,读块开始在存储器缓冲区核心区420中从绕回元件406-w读取。第一元件406-1与绕回元件406-w之间的元件的数量对应于预定元件406-p与经检测边界元件406-d之间的元件的数量。如从图中可看出,读块可以在经检测边界元件406-d处检测存储器缓冲区补充区422中第四输入数据符号418的起始。读块因此绕回426以读取始于绕回元件406-w处的第四输入数据符号418。以此方式,读块可以读取和处理来自存储器缓冲区核心区420的连续段的第四输入数据符号418。
在一些例子中,读块可以检测到存储器缓冲区补充区422中的第四输入数据符号不是完整符号并且绕回426以读取始于绕回元件406-w处的第四输入数据符号。
在一些例子中,读块可以检测到从经检测边界元件406-d到第二预定元件406-n的存储器缓冲区的段小于绕回426之前的输入数据符号的大小。
在一些实施例中,第一存储元件406-1之前可能会存在另外的存储器元件。在一些实施例中,第二预定元件406-n之后可能会存在另外的存储器元件。
所公开的写块的应用包括车辆到一切(V2X)无线电和其它基于SDR的无线电(DAB/DVB-T/等)。所公开的写块可以减少SDR系统中每个输入数据符号的DSP处理循环的数量。
当在接收器系统例如SDR无线电或IEEE 802.11p接收器中使用时,本文公开的写块可能导致负载降低和/或延迟减少。
以上附图中的指令和/或流程图步骤可以以任何顺序执行,除非明确规定了特定顺序。而且,本领域的技术人员将意识到,虽然已经讨论了一个示例指令集/方法,但是本说明书中的材料也可以以各种方式组合以产生其它例子并且将在本详细说明提供的上下文内进行理解。
在一些示例实施例中,上述指令集/方法步骤被实施为被具体化为可执行指令集的功能和软件指令,所述功能和软件指令在使用所述可执行指令来编程并且受其控制的计算机或机器上实施。这种指令被加载以供在处理器(如一个或多个CPU)上执行。术语处理器包括微处理器、微控制器、处理器模块或子系统(包括一个或多个微处理器或微控制器)或其它控制或计算装置。处理器可以指单个部件或多个部件。
在其它例子中,本文所示的指令集/方法以及与其相关联的数据和指令存储在对应存储装置上,所述存储装置被实施为一个或多个非暂时性机器或计算机可读或计算机可用存储媒体。一个或多个这种计算机可读或计算机可用存储媒体被视为物品(或制品)的一部分。物品或制品可以指经制造的任何单个部件或多个部件。如本文限定的非暂时性机器或一个或多个计算机可用媒体不包括信号,但是一个或多个这种媒体可以能够接收和处理来自信号和/或其它暂时性媒体的信息。
本说明书中讨论的材料的示例实施例可以全部或部分地通过网络、计算机或基于数据的装置和/或服务实施。这些可以包括云、互联网、内联网、移动装置、台式计算机、处理器、查找表、微控制器、消费者设备、基础设施或者其它使能装置和服务。如本文中且在权利要求书中可以使用的,提供了以下非排他性定义。
在一个例子中,本文所讨论的一个或多个指令或步骤是自动化的。术语被自动化或自动化地(以及其类似变体)意指在不需要人工干预、观察、努力和/或决策的情况下使用计算机和/或机械/电气装置对设备、系统和/或过程进行的受控操作。
应当理解的是,被称为被耦合的任何部件可以直接或者间接耦合或连接。在间接耦合的情况下,另外的组件可以定位在被称为被耦合的两个部件之间。
在本说明书中,已经就所选一组细节呈现了示例实施例。然而,本领域的普通技术人员将理解,可以实践包括这些细节的不同的所选一组的许多其它示例实施例。以下权利要求书旨在涵盖所有可能的示例实施例。
Claims (10)
1.一种用于将数据写入存储器缓冲区的写块,其特征在于,所述存储器缓冲区包括元件的有序序列,并且所述写块被配置成:
接收输入数据流;以及
以从所述有序序列的第一元件到所述有序序列的预定元件的连续方式将所述输入数据流写入所述存储器缓冲区,其中在写入所述预定元件之后,所述写块被配置成以在所述第一元件处重新开始的连续方式继续将所述输入数据流写入所述存储器缓冲区;
其中响应于写入所述预定元件,所述写块被配置成还以从紧接在所述预定元件之后的元件直到所述存储器缓冲区的第二预定元件的连续方式继续将所述输入数据流写入所述存储器缓冲区。
2.根据权利要求1所述的写块,其特征在于,在写入所述预定元件之后,所述写块被配置成在重复写入过程中将所述输入数据流写入所述第一元件和紧接在所述预定元件之后的所述元件两者,直到写入所述存储器缓冲区的所述第二预定元件。
3.根据权利要求1或权利要求2所述的写块,其特征在于,在写入所述第二预定元件之后,所述写块被配置成继续将所述输入数据流仅写入限定为所述第一元件与所述预定元件之间的元件的存储器缓冲区核心区,直到其再次写入所述预定元件。
4.根据在前的任一项权利要求所述的写块,其特征在于,限定为在紧接在所述预定元件之后的所述元件与所述第二预定元件之间的元件的存储器缓冲区补充区大于或等于所述输入数据流的一个输入数据符号的符号大小。
5.一种系统,其特征在于,其包括根据在前的任一项权利要求所述的写块以及存储器缓冲区。
6.根据权利要求5所述的系统,其特征在于,其进一步包括读块,所述读块被配置成从所述存储器缓冲区中读取所述输入数据流的所述输入数据符号。
7.根据权利要求5到6中任一项所述的系统,其特征在于,存储器缓冲区补充区被限定为在紧接在所述预定元件之后的所述元件与所述第二预定元件之间的所述元件,并且所述读块被进一步配置成:
在经检测边界元件处检测所述存储器缓冲区补充区中新输入数据符号的起始;以及
将所述新输入数据符号的另外一个拷贝定位在存储器缓冲区核心区中的绕回元件处,其中所述存储器缓冲区核心区被限定为在所述第一元件与所述预定元件之间的所述元件。
8.一种软件定义无线电系统,其特征在于,其包括根据权利要求1到4中任一项所述的写块或根据权利要求5到7中任一项所述的系统。
9.一种用于将数据写入存储器缓冲区的方法,其特征在于,所述存储器缓冲区包括元件的有序序列,所述方法包括以下步骤:
接收输入数据流;
以从所述有序序列的第一元件到所述有序序列的预定元件的连续方式将所述输入数据流写入所述存储器缓冲区;
在写入所述预定元件之后,以在所述第一元件处重新开始的连续方式将所述输入数据流写入所述存储器缓冲区;以及
响应于写入所述预定元件,以从紧接在所述预定元件之后的元件直到所述存储器缓冲区的第二预定元件的连续方式将所述输入数据流写入所述存储器缓冲区。
10.一种计算机程序,其特征在于,当在计算机上运行时,所述计算机程序致使所述计算机执行根据权利要求书9所述的方法或配置根据权利要求1到4中任一项所述的写块或根据权利要求5到7中任一项所述的系统。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP18171603.6 | 2018-05-09 | ||
EP18171603.6A EP3567485B1 (en) | 2018-05-09 | 2018-05-09 | A writing block for a receiver |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110471616A true CN110471616A (zh) | 2019-11-19 |
CN110471616B CN110471616B (zh) | 2023-10-27 |
Family
ID=62148238
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910382766.3A Active CN110471616B (zh) | 2018-05-09 | 2019-05-08 | 用于接收器的写块 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11036657B2 (zh) |
EP (1) | EP3567485B1 (zh) |
CN (1) | CN110471616B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6314478B1 (en) * | 1998-12-29 | 2001-11-06 | Nec America, Inc. | System for accessing a space appended to a circular queue after traversing an end of the queue and upon completion copying data back to the queue |
CN103744621A (zh) * | 2013-12-31 | 2014-04-23 | 深圳英飞拓科技股份有限公司 | 缓冲区循环读写的方法及装置 |
CN106960412A (zh) * | 2016-01-12 | 2017-07-18 | 三星电子株式会社 | 包括多个缓冲区的存储器设备和驱动存储器的方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001209500A (ja) * | 2000-01-28 | 2001-08-03 | Fujitsu Ltd | ディスク装置およびディスク装置のリード・ライト処理方法 |
GB2371641B (en) | 2001-01-27 | 2004-10-06 | Mitel Semiconductor Ltd | Direct memory access controller for circular buffers |
TWI237806B (en) * | 2004-11-03 | 2005-08-11 | Sunplus Technology Co Ltd | Audio decoding system with ring buffer and method thereof |
US20100005199A1 (en) * | 2008-07-07 | 2010-01-07 | Texas Instruments Incorporated | Direct memory access (dma) data transfers with reduced overhead |
EP3148103B1 (en) * | 2015-09-28 | 2022-04-20 | Nxp B.V. | Audio data processing |
-
2018
- 2018-05-09 EP EP18171603.6A patent/EP3567485B1/en active Active
-
2019
- 2019-05-02 US US16/401,609 patent/US11036657B2/en active Active
- 2019-05-08 CN CN201910382766.3A patent/CN110471616B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6314478B1 (en) * | 1998-12-29 | 2001-11-06 | Nec America, Inc. | System for accessing a space appended to a circular queue after traversing an end of the queue and upon completion copying data back to the queue |
CN103744621A (zh) * | 2013-12-31 | 2014-04-23 | 深圳英飞拓科技股份有限公司 | 缓冲区循环读写的方法及装置 |
CN106960412A (zh) * | 2016-01-12 | 2017-07-18 | 三星电子株式会社 | 包括多个缓冲区的存储器设备和驱动存储器的方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3567485B1 (en) | 2020-11-25 |
CN110471616B (zh) | 2023-10-27 |
US11036657B2 (en) | 2021-06-15 |
US20190347221A1 (en) | 2019-11-14 |
EP3567485A1 (en) | 2019-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104881494B (zh) | 与Redis服务器进行数据同步的方法、装置和系统 | |
CN110377570B (zh) | 节点切换方法、装置、计算机设备及存储介质 | |
CN107943572B (zh) | 数据迁移方法、装置、计算机设备和存储介质 | |
WO2018113724A1 (zh) | 基于读写分离模式的下载提速方法、装置、终端设备及存储介质 | |
US20190087117A1 (en) | Selecting a deduplication process based on a difference between performance metrics | |
CN104156381A (zh) | Hadoop分布式文件系统的副本存取方法、装置和Hadoop分布式文件系统 | |
CN103888449A (zh) | 一种报文重组方法和装置 | |
CN110225078A (zh) | 一种应用服务更新方法、系统及终端设备 | |
CN111615692A (zh) | 数据搬运方法、计算处理装置、设备及存储介质 | |
US20160306838A1 (en) | Acceleration property for processing data stream | |
US20120246449A1 (en) | Method and apparatus for efficient loop instruction execution using bit vector scanning | |
CN110471616A (zh) | 用于接收器的写块 | |
CN104375896B (zh) | 一种信息处理方法及电子设备 | |
CN104536780A (zh) | 一种电子游戏资源高效加载方法及系统 | |
US20100011046A1 (en) | Apparatus and method for variable fast fourier transform | |
US9880975B2 (en) | Digital filter device, digital filter processing method, and storage medium having digital filter program stored thereon | |
TWI569159B (zh) | 避免多餘的資料複製的資料同步方法及裝置 | |
TWI665888B (zh) | 用於在網路交換機收集針對封包流的多個並行查找查詢的回應的裝置和方法 | |
CN107968812A (zh) | 同步本地资源与网络资源的方法及装置 | |
WO2023173543A1 (zh) | 数据分类模型的训练方法、分类方法、装置、设备和介质 | |
CN109597702A (zh) | 消息总线异常的根因分析方法、装置、设备及存储介质 | |
CN113347122A (zh) | 信道估计方法及装置 | |
CN109688176A (zh) | 一种文件同步方法及终端、网络设备、存储介质 | |
CN111414337B (zh) | 一种文件读取方法、装置、计算设备及存储介质 | |
CN107071548B (zh) | 一种视频处理方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |