CN102208966B - 一种harq合并器和harq数据存储方法 - Google Patents

一种harq合并器和harq数据存储方法 Download PDF

Info

Publication number
CN102208966B
CN102208966B CN201010139790.3A CN201010139790A CN102208966B CN 102208966 B CN102208966 B CN 102208966B CN 201010139790 A CN201010139790 A CN 201010139790A CN 102208966 B CN102208966 B CN 102208966B
Authority
CN
China
Prior art keywords
data
cache
cache line
label
merging
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.)
Active
Application number
CN201010139790.3A
Other languages
English (en)
Other versions
CN102208966A (zh
Inventor
陶建平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen ZTE Microelectronics Technology Co Ltd
Original Assignee
ZTE Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN201010139790.3A priority Critical patent/CN102208966B/zh
Priority to EP10848754.7A priority patent/EP2432151B1/en
Priority to US13/379,683 priority patent/US8694731B2/en
Priority to PCT/CN2010/077878 priority patent/WO2011120295A1/zh
Publication of CN102208966A publication Critical patent/CN102208966A/zh
Application granted granted Critical
Publication of CN102208966B publication Critical patent/CN102208966B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0052Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables
    • H04L1/0053Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables specially adapted for power saving
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1812Hybrid protocols; Hybrid automatic repeat request [HARQ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1835Buffer management
    • H04L1/1845Combining techniques, e.g. code combining
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1822Automatic repetition systems, e.g. Van Duuren systems involving configuration of automatic repeat request [ARQ] with parallel processes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明提供了一种HARQ数据存储方法,包括:HARQ处理器接收到编码块的新数据时,将该新数据写入Cache和信道解码器;所述Cache将所述新数据写入Cache的数据存储器或者写入外部存储器中;HARQ处理器接收到编码块的重传数据时,通过Cache从Cache的数据存储器或者外部存储器获取该重传数据对应的先前数据,将重传数据和先前数据进行合并,将合并后的数据写入Cache和信道解码器;所述Cache将所述合并后的数据写入Cache的数据存储器或者写入外部存储器中。本发明还提供一种HARQ合并器。

Description

一种HARQ合并器和HARQ数据存储方法
技术领域
本发明涉及在现代通信技术,如3G/HSDPA,LTE和WiMax中,所使用的混合自动重传请求(Hybrid Automatic Repeat Request,简称HARQ)的技术,尤其涉及一种HARQ合并器和HARQ数据存储方法。
背景技术
无线通信技术如HSDPA(High Speed Downlink Packet Access,高速下行分组接入)中就开始使用了混合式自动重送请求(HARQ)技术。由于无线信道的干扰和衰落的存在,在解码接收的信息出错误时(如CRC进行校验出错),接收端可以要求发送端重新发送信息到接收端,重发的信息可以同原来信息一样或不一样。接收端可以利用上次收到的信息和当前重发的信息,把两者结合起来进行解析,以便得到正确的信息。由于要将原来的信息保留下来,以便同下一次进行合并处理,这些信息需要使用存储器来保存。
接收端需要使用存储器来存储所有有错误的信息包,放在称为HARQ软比特缓冲器(soft bit Buffer)或HARQ存储器内。对于数据速率相对较低的HSDPA,这种用于存放HARQ信息的存储器相对较小,可以用片内SRAM(Static Random Access Memory,静态随机存储器)来实现。当出现数据的高速率和多个HARQ进程(Processes)时,这种存储器有时是相当大的。对于LTE技术,数据速率较大,如Category 3,其数据速率为上行50Mbps和下行100Mbps,其下行总的软比特数为1237248个(如表1所示)。若以8个比特来表达一个软比特,支持Category 3需要1.2Mbyte的存储器。片上使用这么大的存储器(SRAM)将使得芯片面积增加而缺乏竞争力。
表1由终端catergory决定的下行物理层参数值(Downlink physical layerparameter values set by UE Category)
UECategory   一个传输时间间隔内最大下行共享信道传输块比特数(Maximumnumber ofDL-SCHtransport blockbits receivedwithin a TTI)   一个传输时间间隔内一个下行共享信道传输块的最大比特数Maximumnumber of bitsof a DL-SCHtransportblock receivedwithin a TTI 总软信道比特数(Totalnumber ofsoft channelbits) 下行空间复用支持的最大层数(Maximumnumber ofsupportedlayers forspatialmultiplexingin DL)
  Category 1   10296   10296   250368   1
  Category 2   51024   51024   1237248   2
  Category 3   102048   75376   1237248   2
  Category 4   150752   75376   1827072   2
  Category 5   302752   151376   3667200   4
为了降低芯片面积,HARQ存储器可以用片外DDR/SDRAM(DoubleData Rate SDRAM,双倍速率同步动态随机存储器)来实现。但片外SDRAM的实现占用了大量的DDR/SDRAM的带宽,不仅如此,大量的片外存储器的存取将直接增加芯片的功耗。因此,现有HARQ存储器亟待改进。
发明内容
本发明要解决的技术问题是提供一种HARQ合并器及HARQ数据存储方法,降低基带芯片的面积和功耗。
为了解决上述问题,本发明提供了一种HARQ数据存储方法,包括:
HARQ处理器接收到编码块的新数据时,将该新数据写入Cache和信道解码器;所述Cache将所述新数据写入Cache的数据存储器或者写入外部存储器中;
HARQ处理器接收到编码块的重传数据时,通过Cache从Cache的数据存储器或者外部存储器获取该重传数据对应的先前数据,将重传数据和先前数据进行合并,将合并后的数据写入Cache和信道解码器;所述Cache将所述合并后的数据写入Cache的数据存储器或者写入外部存储器中。
进一步地,上述方法还可具有以下特点,所述数据存储器中包括若干个Cache线;
所述Cache将编码块的新数据或合并后的数据写入Cache的数据存储器时包括:将所述新数据或合并后的数据写入数据存储器的Cache线,记录该Cache线的标签至标签存储器,所述标签为所述Cache线中存储的所述新数据或合并后的数据的高位地址;
所述HARQ处理器接收到编码块的重传数据时,向Cache发出读取先前数据的控制信号;所述Cache接收到所述读取先前数据的控制信号时,查找所述标签存储器中是否存在与所述重传数据的高位地址相同的标签,如果存在,则所述先前数据保存在所述标签对应的Cache线中,所述Cache从所述Cache线中将先前数据读出至HARQ处理器;否则,先前数据不在Cache的数据存储器中,所述Cache将外部存储器中的先前数据读到Cache中的缓冲器后,再读出至HARQ处理器。
进一步地,上述方法还可具有以下特点,如果先前数据不在Cache的数据存储器中,从外部存储器中读取先前数据到缓冲器后,还将先前数据写入Cache,按如下方式进行:
对Cache进行查找,查找所述标签存储器中是否存在与所述先前数据的高位地址相同的标签:
如果存在,则将该先前数据写入所述标签对应的Cache线;
如果不存在,则分配Cache线给该先前数据,按如下方式进行Cache线置换:
如果所分配的Cache线中无数据,则直接将所述先前数据写入所分配的Cache线中,记录所述Cache线的标签至标签存储器;
如果所分配的Cache线中有数据,且该数据的CRC正确,则使用先前数据替换该Cache线中的数据,并更新该Cache线的标签,将更新后的标签写入标签寄存器;
如果所分配的Cache线中有数据,且该数据的CRC错误,则执行步骤(a):将该数据存入外部存储器,将先前数据存入所分配的Cache线中,并更新该Cache线的标签,将更新后的标签写入标签寄存器;或者步骤(b):保留所分配的Cache线中的数据。
进一步地,上述方法还可具有以下特点,所述Cache按如下方式将所述新数据或者合并后的数据写入Cache的数据存储器或外部存储器:
对合并后的数据,如果进行合并的先前数据在Cache中时,合并后的数据写入该先前数据所在的Cache线;
对新数据以及进行合并的先前数据不在Cache中得到的合并后的数据,如下方式写入:
查找所述标签存储器中是否存在与所述新数据或合并后的数据的高位地址相同的标签:
如果存在,则将该新数据或合并后的数据写入所述标签对应的Cache线;
如果不存在,则分配Cache线给该新数据或合并后的数据,根据预设的置换原则进行Cache线置换,将所述新数据或合并后的数据写入所分配的Cache线,或者,写入外部存储器。
进一步地,上述方法还可具有以下特点,所述根据预设的置换原则进行Cache线置换包括:
如果所分配的Cache线中无数据,则直接将所述新数据或合并后的数据写入所分配的Cache线中,记录所述Cache线的标签至标签存储器;
如果所分配的Cache线中有数据,且该数据的CRC正确,则使用新数据或合并后的数据替换该Cache线中的数据,并更新该Cache线的标签,将更新后的标签写入标签寄存器;
如果所分配的Cache线中有数据,且该数据的CRC错误,则执行步骤(a):将该数据存入外部存储器,将新数据或合并后的数据存入所分配的Cache线中,并更新该Cache线的标签,将更新后的标签写入标签寄存器,或者,执行步骤(b):将所述新数据或合并后的数据存入外部存储器。
进一步地,上述方法还可具有以下特点,设置一Cache线置换标识,用于指示是否置换;
在进行Cache线置换时,如果所分配的Cache线中有数据,且该数据的CRC错误,当Cache线替换标识指示置换时,则执行所述步骤(a),否则,执行所述步骤(b)。
进一步地,上述方法还可具有以下特点,所述HARQ处理器将所述编码块的新数据或合并后的数据写入信道解码器时,将所述编码块的新数据或合并后的数据的第二标签信息写入所述信道解码器,同一编码块的新数据或合并后的数据的第二标签信息相同;
所述Cache从所述信道解码器接收所述编码块的新数据或合并后的数据的CRC校验结果及其第二标签信息,在进行Cache线置换时,根据所述Cache线中已保存的数据的第二标签信息,查找其对应的CRC校验结果。
进一步地,上述方法还可具有以下特点,所述HARQ处理器还从所述信道解码器接收所述编码块的CRC校验结果并保存;所述HARQ接收到编码块的重传数据时,检查保存的所述编码块的CRC校验结果,当所述编码块的CRC校验结果指示CRC正确,跳过所述编码块;当所述编码块的CRC校验结果指示CRC错误,才获取所述编码块的先前数据,进行合并处理。
本发明还提供一种HARQ合并器,包括HARQ处理器和高速缓冲存储器(Cache),所述Cache包括数据存储器,其中:
所述HARQ处理器,用于接收到编码块的新数据时,将该新数据写入Cache和信道解码器;接收到编码块的重传数据时,通过Cache从Cache的数据存储器或者外部存储器获取该重传数据对应的先前数据,将重传数据和先前数据进行合并,将合并后的数据写入Cache和信道解码器;
所述Cache,用于将所述新数据写入Cache的数据存储器或者写入外部存储器中;还用于返回先前数据至HARQ处理器,将合并后的数据写入Cache的数据存储器或者写入外部存储器中。
进一步地,上述合并器还可具有以下特点,所述Cache中还包括Cache控制器、标签存储器、标签比较器,所述数据存储器中包括若干个Cache线;
所述HARQ处理器,用于接收到编码块的重传数据时,向Cache发出读取先前数据的控制信号;
所述Cache控制器,用于将所述所述新数据或合并后的数据写入数据存储器的Cache线,记录该Cache线的标签至标签存储器,所述标签为所述Cache线中存储的所述新数据或合并后的数据的高位地址;还用于在接收到所述读取先前数据的控制信号时,指示标签比较器进行查找,获取查找结果,如果所述重传数据的先前数据在Cache的数据存储器中,从查找到的标签对应的Cache线中读取先前数据至HARQ处理器;否则,将外部存储器中的先前数据读到Cache中的缓冲器后,再读出至HARQ处理器中;
所述标签存储器,用于根据Cache控制器的指示,查找所述标签存储器中是否存在与所述重传数据的高位地址相同的标签,如果存在,则所述先前数据保存在所述标签对应的Cache线中,否则,所述先前数据不在所述Cache的数据存储器中。
进一步地,上述合并器还可具有以下特点,所述Cache控制器,还用于当所述先前数据不在Cache的数据存储器中时,将外部存储器中的先前数据读到缓冲器后,还将先前数据写入Cache,按如下方式进行:
指示标签比较器进行查找,获取查找结果,如果标签存储器中存在与所述先前数据的高位地址相同的标签,则将该先前数据写入已分配的Cache线;
如果不存在,则分配Cache线给该先前数据,按如下方式进行Cache线置换:
如果所分配的Cache线中无数据,则直接将所述先前数据写入所分配的Cache线中,记录所述Cache线的标签至标签存储器;
如果所分配的Cache线中有数据,且该数据的CRC正确,则使用先前数据替换该Cache线中的数据,并更新该Cache线的标签,将更新后的标签写入标签寄存器;
如果所分配的Cache线中有数据,且该数据的CRC错误,则执行(a):将该数据存入外部存储器,将先前数据存入所分配的Cache线中,并更新该Cache线的标签,将更新后的标签写入标签寄存器;或者(b):保留所分配的Cache线中的数据;
所述标签存储器,用于根据Cache控制器的指示,查找所述标签存储器中是否存在与所述先前数据的高位地址相同的标签,返回查找结果至Cache控制器。
进一步地,上述合并器还可具有以下特点,所述Cache控制器,用于当进行合并的先前数据在Cache中时,将合并后的数据写入该先前数据所在的Cache线;对新数据以及进行合并的先前数据不在Cache中得到的合并后的数据,如下方式写入:
指示标签比较器进行查找,获取查找结果,所述标签存储器中是否存在与所述新数据或合并后的数据的高位地址相同的标签:
如果存在,则将该新数据或合并后的数据写入所述标签对应的Cache线;
如果不存在,则分配Cache线给该新数据或合并后的数据,根据预设的置换原则进行Cache线置换,将所述新数据或合并后的数据写入所分配的Cache线,或者,写入外部存储器;
所述标签比较器,用于根据Cache控制器的指示,查找所述标签存储器中是否存在与所述新数据或合并后的数据的高位地址相同的标签,返回查找结果至Cache控制器。
进一步地,上述合并器还可具有以下特点,所述Cache控制器,用于按如下方式根据预设的置换原则进行Cache线置换:
如果所分配的Cache线中无数据,则直接将所述新数据或合并后的数据写入所分配的Cache线中,记录所述Cache线的标签至标签存储器;;
如果所分配的Cache线中有数据,且该数据的CRC正确,则使用新数据或合并后的数据替换该Cache线中的数据,并更新该Cache线的标签,将更新后的标签写入标签寄存器;
如果所分配的Cache线中有数据,且该数据的CRC错误,则执行(a):将该数据存入外部存储器,将新数据或合并后的数据存入所分配的Cache线中,并更新该Cache线的标签,将更新后的标签写入标签寄存器;或者,执行(b):将所述新数据或合并后的数据存入外部存储器。
进一步地,上述合并器还可具有以下特点,所述Cache中还设置一Cache线置换标识,用于指示是否置换;
所述Cache控制器,用于在进行Cache线置换时,如果所分配的Cache线中有数据,且该数据的CRC错误,当Cache线替换标识指示置换时,则执行所述(a),否则,执行所述(b)。
进一步地,上述合并器还可具有以下特点,所述HARQ处理器,还用于将所述编码块的新数据或合并后的数据写入信道解码器时,将所述编码块的新数据或合并后的数据的第二标签信息写入所述信道解码器,同一编码块的新数据或合并后的数据的第二标签信息相同;
所述Cache控制器,还用于从所述信道解码器接收所述编码块的新数据或合并后的数据的CRC校验结果及其第二标签信息,在进行Cache线置换时,根据所述Cache线中已保存的数据的第二标签信息,查找其对应的CRC校验结果。
进一步地,上述合并器还可具有以下特点,所述HARQ处理器,还用于从所述信道解码器接收所述编码块的CRC校验结果并保存;接收到编码块的重传数据时,检查保存的所述编码块的CRC校验结果,当所述编码块的CRC校验结果指示CRC正确,跳过所述编码块;当所述编码块的CRC校验结果指示CRC错误,才获取所述编码块的先前数据,进行合并处理。
本发明提供一种带Cache的HARQ合并器和HARQ数据存储方法。本发明对降低芯片面积和功耗,提高竞争方面有非常好的有益效果。在数据率不断提高的通信技术的日益发展的当今和未来,这种方法将具有重大的战略意义。
附图说明
图1表示的是一个多核处理器的SOC基带芯片的通用架构;
图2表述的是具有Cache的HARQ合并器的架构图;
图3描述的是HARQ Cache的架构图;
图4是对本发明的控制逻辑的重发数据处理作进一步描述;
图5是对HARQ的CB块的物理地址的划分示意图;
图6是HARQ的CB块在Cache RAM中的示意图;
图7是设置TAG CRC状态位的示意图。
具体实施方式
本发明将Cache(高速缓冲存储器)引入HARQ合并器,为无线通信***的HARQ处理提供一种自带Cache的多层存储器实现方式。用Cache取代片上SRAM、并利用片外DDR/SDRAM的分层存储的方法来降低无线基带芯片面积和功耗。
为了利用片上Cache的低成本和高效率以及片外DDR/SDRAM的大容量和低成本,本发明给出了一种具有Cache的HARQ动态存储器分配的实现方法。根据片上Cache的存储空间大小的选择,该Cache可以用于存储部分编码块、一个或多个编码块、一个或多个HARQ进程的软比特数据,并可以动态更新。Cache可以是直接映射(Direct Mapped),也可以是组相联(set-associative)。
本发明提供的HARQ合并器包括HARQ处理器和Cache,其中:
接收到新数据时,HARQ处理器将该新数据写入Cache的同时,也写入传输信道解码器(如Turbo、CRC等,它可以在HARQ合并器的外部);
接收到重传数据时,HARQ处理器将接收到的新数据和存在于Cache的先前数据进行合并,并将合并的数据写入Cache的同时,也写入传输信道解码器。
HARQ处理器在给信道解码器送数据包的同时也将该数据包所对应的HARQ进程的CB块的高位地址,即标签(CRC_Tag,进程号和CB块号,参见图7)也传递到信道解码器。
传输信道解码器将CB块的CRC结果反馈给Cache控制器的同时,也将CB块所对应的CRC_Tag送到Cache控制器。Cache控制器利用CRC_Tag和CRC结果,来决定Cache的内容是否在分配新的Cache线(Cache line)中被置换(Replace)掉。在Cache已有的随机替换算法和最近最少使用替换算法(LRU,least recently used replacement algorithm)等置换算法的基础上,本发明利用CRC结果和传递的CRC_Tag提供一种新的置换方法。考虑到设计的简化,Cache的“写buffer”在分配Cache线时,可以直接进行,而不必到外部读取线内可能不完整的数据,从而降低功耗和面积,在一个CB块的数据不占满它的最后的一个Cache line时,缺陷是在Cache中将有部分Cache line(每个CB块可最多有一个Cache line的部分数据)没有利用上,但不会出现错误。这是一个设计平衡,如果需要充分利用cache line的空间,需要“写分配buffer”(write allocated Buffer)来拼合来自HARQ合并器和外部存储器的数据。
本发明是以编码块(CB,coded block)为处理基础,由多个编码块所组成的传输块的处理是在每个编码块处理后再对整个传输块进行总处理(如传输块的CRC校验)。
尽管本发明描述中是以CB块为基础,由于Cache Tag的使用,和CRC的结果直接反映在CRC_Tag中,这种HARQ Cache同样适合于不以CB块为单元的任意数据的处理方式。
本发明包含一个编码块CRC状态寄存器(CB_CRC_Statu_Reg),每个编码块对应一个CRC状态标识,用来指示编码块的CRC状态。其中,根据编码块的CRC结果来设置编码块CRC状态寄存器中该编码块对应的CRC状态标识。CRC状态标识可以按如下方式取值:CRC状态标识为1时表示该编码块CRC错误,为0时表示该编码块的CRC正确,当然也可以为0时标识该编码块CRC错误,为1时表示该编码块CRC正确,本发明对此不作限定。HARQ合并器可根据CRC状态标识来控制重传时的数据处理。接收到重传数据时,如果CRC状态标识指示CRC正确(比如CRC状态标识为0),该CRC状态标识对应的编码块的处理可以不做,从而节省功耗;如果CRC状态标识指示CRC错误(比如CRC状态标识为1),该CRC状态标识对应的编码块的处理将正常进行。
本发明提供一种HARQ合并器,包括HARQ处理器和高速缓冲存储器(Cache),所述Cache包括Cache控制器、数据存储器,标签存储器和标签比较器,所述数据存储器中包括若干个Cache线,其中:
所述HARQ处理器,用于接收到编码块的新数据时,将该新数据写入Cache和信道解码器;接收到编码块的重传数据时,通过Cache从Cache的数据存储器或者外部存储器获取该重传数据对应的先前数据,将重传数据和先前数据进行合并,将合并后的数据写入Cache和信道解码器;
所述Cache,用于将所述新数据写入Cache的数据存储器或者写入外部存储器中;还用于返回先前数据至HARQ处理器,将合并后的数据写入Cache的数据存储器或者写入外部存储器中。
其中,所述HARQ处理器,用于接收到编码块的重传数据时,向Cache发出读取先前数据的控制信号;
所述Cache控制器,用于将所述所述新数据或合并后的数据写入数据存储器的Cache线,记录该Cache线的标签至标签存储器,所述标签为所述Cache线中存储的所述新数据或合并后的数据的高位地址;还用于在接收到所述读取先前数据的控制信号时,指示标签比较器进行查找,获取查找结果,如果所述重传数据的先前数据在Cache的数据存储器中,从查找到的标签对应的Cache线中读取先前数据至HARQ处理器;否则,将外部存储器中的先前数据读到Cache中的缓冲器后,再读出至HARQ处理器中;
所述标签存储器,用于根据Cache控制器的指示,查找所述标签存储器中是否存在与所述重传数据的高位地址相同的标签,如果存在,则所述先前数据保存在所述标签对应的Cache线中,否则,所述先前数据不在所述Cache的数据存储器中。
其中,所述Cache控制器,还用于当所述先前数据不在Cache的数据存储器中时,将外部存储器中的先前数据读到缓冲器后,还将先前数据写入Cache,按如下方式进行:
指示标签比较器进行查找,获取查找结果,如果标签存储器中存在与所述先前数据的高位地址相同的标签,则将该先前数据写入已分配的Cache线;
如果不存在,则分配Cache线给该先前数据,按如下方式进行Cache线置换:
如果所分配的Cache线中无数据,则直接将所述先前数据写入所分配的Cache线中,记录所述Cache线的标签至标签存储器;
如果所分配的Cache线中有数据,且该数据的CRC正确,则使用先前数据替换该Cache线中的数据,并更新该Cache线的标签,将更新后的标签写入标签寄存器;
如果所分配的Cache线中有数据,且该数据的CRC错误,则执行(a):将该数据存入外部存储器,将先前数据存入所分配的Cache线中,并更新该Cache线的标签,将更新后的标签写入标签寄存器;或者(b):保留所分配的Cache线中的数据;
所述标签存储器,用于根据Cache控制器的指示,查找所述标签存储器中是否存在与所述先前数据的高位地址相同的标签,返回查找结果至Cache控制器。
其中,所述Cache控制器,用于当进行合并的先前数据在Cache中时,将合并后的数据写入该先前数据所在的Cache线;对新数据以及进行合并的先前数据不在Cache中得到的合并后的数据,如下方式写入:
指示标签比较器进行查找,获取查找结果,所述标签存储器中是否存在与所述新数据或合并后的数据的高位地址相同的标签:
如果存在,则将该新数据或合并后的数据写入所述标签对应的Cache线;
如果不存在,则分配Cache线给该新数据或合并后的数据,根据预设的置换原则进行Cache线置换,将所述新数据或合并后的数据写入所分配的Cache线,或者,写入外部存储器;
所述标签比较器,用于根据Cache控制器的指示,查找所述标签存储器中是否存在与所述新数据或合并后的数据的高位地址相同的标签,返回查找结果至Cache控制器。
其中,所述Cache控制器,用于按如下方式根据预设的置换原则进行Cache线置换:
如果所分配的Cache线中无数据,则直接将所述新数据或合并后的数据写入所分配的Cache线中,记录所述Cache线的标签至标签存储器;;
如果所分配的Cache线中有数据,且该数据的CRC正确,则使用新数据或合并后的数据替换该Cache线中的数据,并更新该Cache线的标签,将更新后的标签写入标签寄存器;
如果所分配的Cache线中有数据,且该数据的CRC错误,则执行(a):将该数据存入外部存储器,将新数据或合并后的数据存入所分配的Cache线中,并更新该Cache线的标签,将更新后的标签写入标签寄存器;或者,执行(b):将所述新数据或合并后的数据存入外部存储器。
其中,所述Cache中还设置一Cache线置换标识,用于指示是否置换;
所述Cache控制器,用于在进行Cache线置换时,如果所分配的Cache线中有数据,且该数据的CRC错误,当Cache线替换标识指示置换时,则执行所述(a),否则,执行所述(b)。
其中,所述HARQ处理器,还用于将所述编码块的新数据或合并后的数据写入信道解码器时,将所述编码块的新数据或合并后的数据的第二标签信息写入所述信道解码器,同一编码块的新数据或合并后的数据的第二标签信息相同;
所述Cache控制器,还用于从所述信道解码器接收所述编码块的新数据或合并后的数据的CRC校验结果及其第二标签信息,在进行Cache线置换时,根据所述Cache线中已保存的数据的第二标签信息,查找其对应的CRC校验结果。
其中,所述HARQ处理器,还用于从所述信道解码器接收所述编码块的CRC校验结果并保存;接收到编码块的重传数据时,检查保存的所述编码块的CRC校验结果,当所述编码块的CRC校验结果指示CRC正确,跳过所述编码块;当所述编码块的CRC校验结果指示CRC错误,才获取所述编码块的先前数据,进行合并处理。
本发明还提供一种HARQ数据存储方法,包括:
HARQ处理器接收到编码块的新数据时,将该新数据写入Cache和信道解码器;所述Cache将所述新数据写入Cache的数据存储器或者写入外部存储器中;
HARQ处理器接收到编码块的重传数据时,通过Cache从Cache的数据存储器或者外部存储器获取该重传数据对应的先前数据,将重传数据和先前数据进行合并,将合并后的数据写入Cache和信道解码器;所述Cache将所述合并后的数据写入Cache的数据存储器或者写入外部存储器中。
所述数据存储器中包括若干个Cache线;
所述Cache将编码块的新数据或合并后的数据写入Cache的数据存储器时包括:将所述新数据或合并后的数据写入数据存储器的Cache线,记录该Cache线的标签至标签存储器,所述标签为所述Cache线中存储的所述新数据或合并后的数据的高位地址;
所述HARQ处理器接收到编码块的重传数据时,向Cache发出读取先前数据的控制信号;所述Cache接收到所述读取先前数据的控制信号时,查找所述标签存储器中是否存在与所述重传数据的高位地址相同的标签,如果存在,则所述先前数据保存在所述标签对应的Cache线中,所述Cache从所述Cache线中将先前数据读出至HARQ处理器;否则,先前数据不在Cache的数据存储器中,所述Cache将外部存储器中的先前数据读到Cache中的缓冲器后,再读出至HARQ处理器。
其中,如果先前数据不在Cache的数据存储器中,从外部存储器中读取先前数据到缓冲器后,还将先前数据写入Cache,按如下方式进行:
对Cache进行查找,查找所述标签存储器中是否存在与所述先前数据的高位地址相同的标签:
如果存在,则将该先前数据写入所述标签对应的Cache线;
如果不存在,则分配Cache线给该先前数据,按如下方式进行Cache线置换:
如果所分配的Cache线中无数据,则直接将所述先前数据写入所分配的Cache线中,记录所述Cache线的标签至标签存储器;
如果所分配的Cache线中有数据,且该数据的CRC正确,则使用先前数据替换该Cache线中的数据,并更新该Cache线的标签,将更新后的标签写入标签寄存器;
如果所分配的Cache线中有数据,且该数据的CRC错误,则执行步骤(a):将该数据存入外部存储器,将先前数据存入所分配的Cache线中,并更新该Cache线的标签,将更新后的标签写入标签寄存器;或者步骤(b):保留所分配的Cache线中的数据。
其中,所述Cache按如下方式将所述新数据或者合并后的数据写入Cache的数据存储器或外部存储器:
对合并后的数据,如果进行合并的先前数据在Cache中时,合并后的数据写入该先前数据所在的Cache线;
对新数据以及进行合并的先前数据不在Cache中得到的合并后的数据,如下方式写入:
查找所述标签存储器中是否存在与所述新数据或合并后的数据的高位地址相同的标签:
如果存在,则将该新数据或合并后的数据写入所述标签对应的Cache线;
如果不存在,则分配Cache线给该新数据或合并后的数据,根据预设的置换原则进行Cache线置换,将所述新数据或合并后的数据写入所分配的Cache线,或者,写入外部存储器。
其中,所述根据预设的置换原则进行Cache线置换包括:
如果所分配的Cache线中无数据,则直接将所述新数据或合并后的数据写入所分配的Cache线中,记录所述Cache线的标签至标签存储器;
如果所分配的Cache线中有数据,且该数据的CRC正确,则使用新数据或合并后的数据替换该Cache线中的数据,并更新该Cache线的标签,将更新后的标签写入标签寄存器;
如果所分配的Cache线中有数据,且该数据的CRC错误,则执行步骤(a):将该数据存入外部存储器,将新数据或合并后的数据存入所分配的Cache线中,并更新该Cache线的标签,将更新后的标签写入标签寄存器,或者,执行步骤(b):将所述新数据或合并后的数据存入外部存储器。
其中,还设置一Cache线置换标识,用于指示是否置换;在进行Cache线置换时,如果所分配的Cache线中有数据,且该数据的CRC错误,当Cache线替换标识指示置换时,则执行所述步骤(a),否则,执行所述步骤(b)。
其中,所述HARQ处理器将所述编码块的新数据或合并后的数据写入信道解码器时,将所述编码块的新数据或合并后的数据的第二标签信息写入所述信道解码器,同一编码块的新数据或合并后的数据的第二标签信息相同;
所述Cache从所述信道解码器接收所述编码块的新数据或合并后的数据的CRC校验结果及其第二标签信息,在进行Cache线置换时,根据所述Cache线中已保存的数据的第二标签信息,查找其对应的CRC校验结果。
其中,所述HARQ处理器还从所述信道解码器接收所述编码块的CRC校验结果并保存;所述HARQ接收到编码块的重传数据时,检查保存的所述编码块的CRC校验结果,当所述编码块的CRC校验结果指示CRC正确,跳过所述编码块;当所述编码块的CRC校验结果指示CRC错误,才获取所述编码块的先前数据,进行合并处理。
图1表示的是一个多核处理器的SOC基带芯片的通用架构。在这个特定的例子中,它含有数字信号处理器(DSP)和CPU(如ARM处理器)、DMA、外设(peripherals)、Modem加速器、信道解码器(Turbo、CRC等)。HARQ是Modem加速器的一部分,它可以作为总线的控者。SRAM是片上存储器。HARQ合并器在SOC的位置使得它可以利用片上Cache、片上SRAM和片外DDR/SDRAM。当读Cache中的数据时,如果数据不在Cache中,即CacheMiss,Cache的线填充(linefill Buffer)可以将SRAM、DDR/SDRAM的数据读到HARQ合并器中。
图2表述的是具有Cache的HARQ合并器的架构图。从图中可以看出,接收的数据,这里是指从射频接收的I,Q数据,经过ADC(数模转换)、滤波、和前处理如信道估计、MIMO、均衡器等产生出LLR(对数似然比)的软比特,并存储在缓冲器(Buffer)中。HARQ合并器的总控制器根据对当前进程和CB块的起始地址、数据块大小和状态(新数据或重转)等来产生控制信号,从缓冲器读取软比特数据。
其中,HARQ合并器包括HARQ处理器和Cache,其中,HARQ处理器包括HARQ控制器和数据合并处理单元。
如果是新数据,该数据可以写入信道解码器(如Turbo)的输入缓冲器(Input Buffer)的同时也写进Cache中。Cache可以设置成写分配Cache线的政策,当Cache Miss的时候,分配一条Cache line给这个数据,并记下高位地址(CB_Tag)的值。为了并行操作,操作的数据大小可以是一个Cacheline。而Cache line的长度可以是一个DDR并发(burst)的长度。当Cache hit时,该数据将写进Cache,其中,由标签比较器比较标签寄存器中中的CB_TAG与新数据的CB_TAG进行比较,如果标签寄存器中存在与新数据的CB_TAG相同的CB_TAG,则Cache hit,否则,Cache miss。
如果是重传数据,该重传数据要同先前数据进行合并。HARQ控制器根据对当前进程和CB块的地址,查找先前数据是否Cache中。如果先前数据在Cache中,产生Cache hit,并将先前数据(或整个Cache line)读出至数据合并处理单元与重传数据进行合并。如果先前数据不在Cache中(Cachemiss),Cache控制器产生一个线填充命令,将外部存储器的内容读到Cache中并同时送到数据合并处理单元进行重传数据与先前数据的合并。合并后的数据再送回Cache和信道解码器(如Turbo)的输入缓冲器中。
CB块数据全部写到信道解码器(如Turbo)的输入缓冲器同时,也将CB块的高位地址(CRC_Tag)写入信道解码器。
在一个CB块的数据全部写到信道解码器(如Turbo)的输入缓冲器后,启动信道解码器和CRC校验器。信道解码器将CRC结果反馈给HARQ处理器的同时,也将相应的CRC_Tag送回到Cache控制器。
图3描述的是HARQ Cache的架构图。从图中可以看出,HARQ Cache包括:
连接HARQ处理器的读写接口如控制信号、地址信号和数据信号。它还含有存取外部存储器的总线接口,用于连接SOC的总线,如Cross-Bar总线。
HARQ控制器,用于控制和协调Cache的工作。
HARQ Cache有至少三个缓冲器(Buffer),分别是写缓冲器(Writebuffer)、线读缓冲器(Line Read Buffer)和线填充缓冲器(Line fill Buffer)。
写缓冲器接收HARQ处理器的写数据,并写入到Cache或外部存储器中。
线读缓冲器在Cache hit时,读取一条Cache线并送到HARQ处理器用于合并。
线填充缓冲器读取外部存储器的内容送HARQ处理器和Cache line。
HARQ Cache含有两个多路选择器,以选择不同的数据流。例如读数据可从线读缓冲器或线填充缓冲器中选取;写数据可从线读缓冲器或写缓冲器中选取。
HARQ Cache还有一个Tag比较器(TAG Comparator),用于Cache的Tag比较来确定数据是否在Cache中。
HARQ Cache还包括数据存储器(Data RAM)用于存放数据(Cache line),标签存储器(Tag RAM)用于存放Tag的值。
HARQ Cache还包括CRC接口,信道解码器将CRC结果(CRC_PASS)和相应CRC_TAG值送回到Cache的控制器中,这两组值将在Cache替换算法中决定是否置换一条Cache line。
图4是对本发明的控制逻辑的重传数据处理作进一步描述。对新数据,每个CB块都要处理,而对重传数据,原来CRC正确的CB块可以不用处理。对重传数据,控制器查看CRC状态寄存器(CB_CRC_Statu_Reg,这个寄存器与CRC_PASS的值是一样的)的内容(该内容是由信道解码器传送过来的),如果对应CB的CRC状态比特为0,说明上次CRC正确,无需处理。如果对应CB的CRC状态比特为1,说明上次CRC错误,该CB块要进行处理。
图5是对HARQ的CB块的物理地址的划分,其中Tag部分将存于TagRAM中。数据存于Data RAM中,图中所示每行为一个线(line)。HARQ进程CB块的物理地址可由HARQ进程号(process ID)、CB块号和CB块长度所组成。进程号(process ID)、CB块号和部分CB块长度构成TAG(图中CB_TAG)。TAG比较器将这个TAG的值与TAG RAM相比较来决定是否命中Cache。如果没有命中,可以分配一条Cache线给没有命中的数据,这个TAG同时也写到TAG RAM中,用于下次数据的TAG比较。同样地址的数据下次来时,就可以产生命中(Cache hit)。
图6是HARQ的CB块在Cache RAM中的示意图,请注意尽管CB块的物理地址是连续的,但在Cache中可能会在不同的位置上,这里为了解释方便,画成连续的。图中可见,一个CB块可能有一个cache line上有部分为空,即没有充分使用。但这种CB地址的划分可以使得一个CB可以提出相同的高位TAG,可供TAG CRC状态位的设置。
图7是设置TAG CRC状态位的示意图。由于每个HARQ的进程号加上CB块号是唯一的(这里称为CRC_TAG),这部分信息可以传送到信道解码器,在信道解码器的CRC结果出来后,该CB块的CRC结果和对应的CRC_TAG值一起送回到Cache控制器。在Cache内部有一组存储部件记录CRC_TAG的值和相应CB块的CRC是否通过的CRC状态寄存器(CRC_PASS),利用这两组值来定义Cache线的替换方法。
下面说明一下本发明提出的HARQ Cache线的替换方法。在业界常用的“随机”和最近最少使用替换算法(LRU)等置换算法的基础上,本发明利用CRC_PASS的结果和传递的CRC_Tag做进一步的改进。
当有Cache不命中时(Cache Miss),由选用的随机或LRU替代算法所找到被替换的Cache线后,CRC_Tag的值同该Cache线原来存在于TAG RAM中的TAG所对应的值进行比较:
如果没有相同的值,则该Cache线可以被替换掉;
如果有与CRC_TAG相同的值,则查看该CRC_TAG所对应的CRC_PASS的值:
a、如果该CRC_PASS的值是0,说明这个CB块CRC正确,所以该Cache线可以替换掉;
b、如果该CRC_PASS的值是1,说明这个CB块CRC错误,该CB块还要同下次的数据进行合并,可以用一个Cache_Line_Relpace寄存器比特来灵活处理:
如果设置Cache_Line_Relpace为1,则该Cache线可以被替换,尽管该Cache线中的内容是要被使用的;
如果设置CB_line_Relpace为0,则该Cache线不能被替换,因此当前的数据是不能保留在Cache里的,又分两种情况:
1)如果是读cache时,从外部存储器的读取的数据直接送HARQ合并器,Cache中将没有保留这部分数据;
2)如果是写Cache时,从HARQ处理器送来的数据,将直接送到外部存储器,不在Cache中保留。
该发明适合于的含有可编程或不可编程控制部件的HARQ合并器。

Claims (12)

1.一种HARQ数据存储方法,其特征在于,包括:
HARQ处理器接收到编码块的新数据时,将该新数据写入Cache和信道解码器;所述Cache将所述新数据写入Cache的数据存储器或者写入外部存储器中;
HARQ处理器接收到编码块的重传数据时,通过Cache从Cache的数据存储器或者外部存储器获取该重传数据对应的先前数据,将重传数据和先前数据进行合并,将合并后的数据写入Cache和信道解码器;所述Cache将所述合并后的数据写入Cache的数据存储器或者写入外部存储器中;
所述数据存储器中包括若干个Cache线;
所述Cache将编码块的新数据或合并后的数据写入Cache的数据存储器时包括:将所述新数据或合并后的数据写入数据存储器的Cache线,记录该Cache线的标签至标签存储器,所述标签为所述Cache线中存储的所述新数据或合并后的数据的高位地址;
所述HARQ处理器接收到编码块的重传数据时,向Cache发出读取先前数据的控制信号;所述Cache接收到所述读取先前数据的控制信号时,查找所述标签存储器中是否存在与所述重传数据的高位地址相同的标签,如果存在,则所述先前数据保存在所述标签对应的Cache线中,所述Cache从所述Cache线中将先前数据读出至HARQ处理器;否则,先前数据不在Cache的数据存储器中,所述Cache将外部存储器中的先前数据读到Cache中的缓冲器后,再读出至HARQ处理器;
如果先前数据不在Cache的数据存储器中,从外部存储器中读取先前数据到缓冲器后,还将先前数据写入Cache,按如下方式进行:
对Cache进行查找,查找所述标签存储器中是否存在与所述先前数据的高位地址相同的标签:
如果存在,则将该先前数据写入所述标签对应的Cache线;
如果不存在,则分配Cache线给该先前数据,按如下方式进行Cache线置换:
如果所分配的Cache线中无数据,则直接将所述先前数据写入所分配的Cache线中,记录所述Cache线的标签至标签存储器;
如果所分配的Cache线中有数据,且该数据的CRC正确,则使用先前数据替换该Cache线中的数据,并更新该Cache线的标签,将更新后的标签写入标签寄存器;
如果所分配的Cache线中有数据,且该数据的CRC错误,则执行步骤(a):将该数据存入外部存储器,将先前数据存入所分配的Cache线中,并更新该Cache线的标签,将更新后的标签写入标签寄存器;或者步骤(b):保留所分配的Cache线中的数据。
2.如权利要求1所述的方法,其特征在于,
所述Cache按如下方式将所述新数据或者合并后的数据写入Cache的数据存储器或外部存储器:
对合并后的数据,如果进行合并的先前数据在Cache中时,合并后的数据写入该先前数据所在的Cache线;
对新数据以及进行合并的先前数据不在Cache中得到的合并后的数据,如下方式写入:
查找所述标签存储器中是否存在与所述新数据或合并后的数据的高位地址相同的标签:
如果存在,则将该新数据或合并后的数据写入所述标签对应的Cache线;
如果不存在,则分配Cache线给该新数据或合并后的数据,根据预设的置换原则进行Cache线置换,将所述新数据或合并后的数据写入所分配的Cache线,或者,写入外部存储器。
3.如权利要求2所述的方法,其特征在于,
所述根据预设的置换原则进行Cache线置换包括:
如果所分配的Cache线中无数据,则直接将所述新数据或合并后的数据写入所分配的Cache线中,记录所述Cache线的标签至标签存储器;
如果所分配的Cache线中有数据,且该数据的CRC正确,则使用新数据或合并后的数据替换该Cache线中的数据,并更新该Cache线的标签,将更新后的标签写入标签寄存器;
如果所分配的Cache线中有数据,且该数据的CRC错误,则执行步骤(a):将该数据存入外部存储器,将新数据或合并后的数据存入所分配的Cache线中,并更新该Cache线的标签,将更新后的标签写入标签寄存器,或者,执行步骤(b):将所述新数据或合并后的数据存入外部存储器。
4.如权利要求1或3所述的方法,其特征在于,
设置一Cache线置换标识,用于指示是否置换;
在进行Cache线置换时,如果所分配的Cache线中有数据,且该数据的CRC错误,当Cache线替换标识指示置换时,则执行所述步骤(a),否则,执行所述步骤(b)。
5.如权利要求1或3所述的方法,其特征在于,
所述HARQ处理器将所述编码块的新数据或合并后的数据写入信道解码器时,将所述编码块的新数据或合并后的数据的第二标签信息写入所述信道解码器,同一编码块的新数据或合并后的数据的第二标签信息相同;
所述Cache从所述信道解码器接收所述编码块的新数据或合并后的数据的CRC校验结果及其第二标签信息,在进行Cache线置换时,根据所述Cache线中已保存的数据的第二标签信息,查找其对应的CRC校验结果。
6.如权利要求1所述的方法,其特征在于,
所述HARQ处理器还从所述信道解码器接收所述编码块的CRC校验结果并保存;所述HARQ接收到编码块的重传数据时,检查保存的所述编码块的CRC校验结果,当所述编码块的CRC校验结果指示CRC正确,跳过所述编码块;当所述编码块的CRC校验结果指示CRC错误,才获取所述编码块的先前数据,进行合并处理。
7.一种HARQ合并器,其特征在于,包括HARQ处理器和高速缓冲存储器(Cache),所述Cache包括数据存储器,其中:
所述HARQ处理器,用于接收到编码块的新数据时,将该新数据写入Cache和信道解码器;接收到编码块的重传数据时,通过Cache从Cache的数据存储器或者外部存储器获取该重传数据对应的先前数据,将重传数据和先前数据进行合并,将合并后的数据写入Cache和信道解码器;
所述Cache,用于将所述新数据写入Cache的数据存储器或者写入外部存储器中;还用于返回先前数据至HARQ处理器,将合并后的数据写入Cache的数据存储器或者写入外部存储器中
所述Cache中还包括Cache控制器、标签存储器和标签比较器,所述数据存储器中包括若干个Cache线;
所述HARQ处理器,用于接收到编码块的重传数据时,向Cache发出读取先前数据的控制信号;
所述Cache控制器,用于将所述新数据或合并后的数据写入数据存储器的Cache线,记录该Cache线的标签至标签存储器,所述标签为所述Cache线中存储的所述新数据或合并后的数据的高位地址;还用于在接收到所述读取先前数据的控制信号时,指示标签比较器进行查找,获取查找结果,如果所述重传数据的先前数据在Cache的数据存储器中,从查找到的标签对应的Cache线中读取先前数据至HARQ处理器;否则,将外部存储器中的先前数据读到Cache中的缓冲器后,再读出至HARQ处理器中;
所述Cache控制器用于当所述先前数据不在Cache的数据存储器中时,将外部存储器中的先前数据读到缓冲器后,还将先前数据写入Cache,按如下方式进行:指示标签比较器进行查找,获取查找结果,如果标签存储器中存在与所述先前数据的高位地址相同的标签,则将该先前数据写入已分配的Cache线;如果不存在,则分配Cache线给该先前数据,按如下方式进行Cache线置换:如果所分配的Cache线中无数据,则直接将所述先前数据写入所分配的Cache线中,记录所述Cache线的标签至标签存储器;如果所分配的Cache线中有数据,且该数据的CRC正确,则使用先前数据替换该Cache线中的数据,并更新该Cache线的标签,将更新后的标签写入标签寄存器;如果所分配的Cache线中有数据,且该数据的CRC错误,则执行(a):将该数据存入外部存储器,将先前数据存入所分配的Cache线中,并更新该Cache线的标签,将更新后的标签写入标签寄存器;或者(b):保留所分配的Cache线中的数据;所述标签存储器,用于根据Cache控制器的指示,查找所述标签存储器中是否存在与所述重传数据的高位地址相同的标签,如果存在,则所述先前数据保存在所述标签对应的Cache线中,否则,所述先前数据不在所述Cache的数据存储器中;还用于根据Cache控制器的指示,查找所述标签存储器中是否存在与所述先前数据的高位地址相同的标签,返回查找结果至Cache控制器。
8.如权利要求7所述的合并器,其特征在于,
所述Cache控制器,用于当进行合并的先前数据在Cache中时,将合并后的数据写入该先前数据所在的Cache线;对新数据以及进行合并的先前数据不在Cache中得到的合并后的数据,如下方式写入:
指示标签比较器进行查找,获取查找结果,所述标签存储器中是否存在与所述新数据或合并后的数据的高位地址相同的标签:
如果存在,则将该新数据或合并后的数据写入所述标签对应的Cache线;
如果不存在,则分配Cache线给该新数据或合并后的数据,根据预设的置换原则进行Cache线置换,将所述新数据或合并后的数据写入所分配的Cache线,或者,写入外部存储器;
所述标签比较器,用于根据Cache控制器的指示,查找所述标签存储器中是否存在与所述新数据或合并后的数据的高位地址相同的标签,返回查找结果至Cache控制器。
9.如权利要求8所述的合并器,其特征在于,
所述Cache控制器,用于按如下方式根据预设的置换原则进行Cache线置换:
如果所分配的Cache线中无数据,则直接将所述新数据或合并后的数据写入所分配的Cache线中,记录所述Cache线的标签至标签存储器;
如果所分配的Cache线中有数据,且该数据的CRC正确,则使用新数据或合并后的数据替换该Cache线中的数据,并更新该Cache线的标签,将更新后的标签写入标签寄存器;
如果所分配的Cache线中有数据,且该数据的CRC错误,则执行(a):将该数据存入外部存储器,将新数据或合并后的数据存入所分配的Cache线中,并更新该Cache线的标签,将更新后的标签写入标签寄存器;或者,执行(b):将所述新数据或合并后的数据存入外部存储器。
10.如权利要求7或9所述的合并器,其特征在于,
所述Cache中还设置一Cache线置换标识,用于指示是否置换;
所述Cache控制器,用于在进行Cache线置换时,如果所分配的Cache线中有数据,且该数据的CRC错误,当Cache线替换标识指示置换时,则执行所述(a),否则,执行所述(b)。
11.如权利要求7或9所述的合并器,其特征在于,
所述HARQ处理器,还用于将所述编码块的新数据或合并后的数据写入信道解码器时,将所述编码块的新数据或合并后的数据的第二标签信息写入所述信道解码器,同一编码块的新数据或合并后的数据的第二标签信息相同;
所述Cache控制器,还用于从所述信道解码器接收所述编码块的新数据或合并后的数据的CRC校验结果及其第二标签信息,在进行Cache线置换时,根据所述Cache线中已保存的数据的第二标签信息,查找其对应的CRC校验结果。
12.如权利要求7所述的合并器,其特征在于,
所述HARQ处理器,还用于从所述信道解码器接收所述编码块的CRC校验结果并保存;接收到编码块的重传数据时,检查保存的所述编码块的CRC校验结果,当所述编码块的CRC校验结果指示CRC正确,跳过所述编码块;当所述编码块的CRC校验结果指示CRC错误,才获取所述编码块的先前数据,进行合并处理。
CN201010139790.3A 2010-03-30 2010-03-30 一种harq合并器和harq数据存储方法 Active CN102208966B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201010139790.3A CN102208966B (zh) 2010-03-30 2010-03-30 一种harq合并器和harq数据存储方法
EP10848754.7A EP2432151B1 (en) 2010-03-30 2010-10-19 Harq combiner and method for storing harq data
US13/379,683 US8694731B2 (en) 2010-03-30 2010-10-19 Hybrid automatic repeat request combiner and method for storing hybrid automatic repeat request data
PCT/CN2010/077878 WO2011120295A1 (zh) 2010-03-30 2010-10-19 一种harq合并器和harq数据存储方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010139790.3A CN102208966B (zh) 2010-03-30 2010-03-30 一种harq合并器和harq数据存储方法

Publications (2)

Publication Number Publication Date
CN102208966A CN102208966A (zh) 2011-10-05
CN102208966B true CN102208966B (zh) 2014-04-09

Family

ID=44697642

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010139790.3A Active CN102208966B (zh) 2010-03-30 2010-03-30 一种harq合并器和harq数据存储方法

Country Status (4)

Country Link
US (1) US8694731B2 (zh)
EP (1) EP2432151B1 (zh)
CN (1) CN102208966B (zh)
WO (1) WO2011120295A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11809656B2 (en) 2019-10-31 2023-11-07 Xiamen Tianma Micro-Electronics Co., Ltd. Array substrate, driving method thereof, display panel and touch display device

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102214144B (zh) * 2010-04-02 2014-03-12 中兴通讯股份有限公司 一种harq存储器的分层管理方法和***
DE112011100067T5 (de) * 2011-01-07 2012-11-22 Mediatek Inc. Vorrichtungen und Verfahren zur Optimierung eines hybride automatische Wiederholungsanfrage (HARQ)-Pufferns
CN103166747B (zh) * 2011-12-14 2017-12-29 中兴通讯股份有限公司 一种harq合并的方法及装置
US20130262952A1 (en) * 2012-03-30 2013-10-03 Broadcom Corporation Memory architecture for turbo decoder
CN103684709A (zh) * 2012-09-05 2014-03-26 京信通信***(中国)有限公司 一种重传数据的合并方法及装置
US9204437B2 (en) * 2013-02-27 2015-12-01 Qualcomm Incorporated Methods and apparatus for conditional offload of one or more log-likelihood ratios (LLRs) or decoded bits
CN103207844B (zh) * 2013-04-18 2017-06-06 上海云间半导体科技有限公司 缓存***及缓存访问方法
CN105515719B (zh) * 2014-09-24 2019-04-26 中兴通讯股份有限公司 一种数据传输方法及装置
CN105991246B (zh) * 2015-02-10 2019-04-02 ***通信集团公司 一种数据重传方法及装置
US10862630B2 (en) 2015-02-13 2020-12-08 Samsung Electronics Co., Ltd Method and system for contiguous HARQ memory management with memory splitting
DE102015110027B4 (de) 2015-06-23 2017-01-12 Intel IP Corporation Kommunikationsvorrichtung und verfahren zum speichern von daten
US20170017394A1 (en) * 2015-07-15 2017-01-19 Futurewei Technologies, Inc. SYSTEM AND METHOD FOR DATA WAREHOUSE AND FINE GRANULARITY SCHEDULING FOR SYSTEM ON CHIP (SoC)
CN106411479B (zh) * 2015-07-31 2019-06-18 联芯科技有限公司 基于harq技术的数据接收端及其数据传输方法
CN105843360B (zh) * 2016-03-23 2018-06-12 中国电子科技集团公司第三十八研究所 一种降低指令高速缓冲存储器功耗的装置及方法
US9798672B1 (en) * 2016-04-14 2017-10-24 Macom Connectivity Solutions, Llc Data managment for cache memory
US10700820B2 (en) * 2017-12-21 2020-06-30 Samsung Electronics Co., Ltd. Modem chips and receivers for performing hybrid automatic repeat request processing
CN111290875B (zh) * 2018-12-10 2023-06-09 深圳市中兴微电子技术有限公司 Harq数据存储管理方法、装置和harq数据缓存器
CN111694770B (zh) * 2019-03-15 2022-12-02 杭州宏杉科技股份有限公司 一种处理io请求的方法及装置
US10911329B2 (en) * 2019-05-13 2021-02-02 Cisco Technology, Inc. Path and cadence optimization for efficient data collection from devices

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1567761A (zh) * 2003-07-08 2005-01-19 上海贝尔阿尔卡特股份有限公司 正交频分复用***中混合自动重传请求的合并方法
CN101047475A (zh) * 2007-04-30 2007-10-03 重庆重邮信科(集团)股份有限公司 Harq技术数据缓存的设计方法及其电路
WO2009075899A1 (en) * 2007-12-13 2009-06-18 Qualcomm Incorporated Coding block based harq combining for ofdma systems
CN101510817A (zh) * 2009-03-27 2009-08-19 深圳华为通信技术有限公司 混合自动重传请求的接收方法和装置
KR20100009185A (ko) * 2008-07-18 2010-01-27 삼성전자주식회사 이동통신 단말기의 harq 버스트 처리 장치 및 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101132260B (zh) * 2006-08-22 2010-06-23 中兴通讯股份有限公司 增强上行链路异步混合自动重传请求的重传控制方法
TW200908603A (en) * 2007-05-04 2009-02-16 Amicus Wireless Technology Co Ltd System and method for performing a HARQ operation in an OFDM-based receiver
CN101983489B (zh) * 2008-03-31 2016-11-09 马维尔国际贸易有限公司 对传输块的多码块进行选择性组合和译码的方法和装置
US8392781B2 (en) * 2009-01-13 2013-03-05 Texas Instruments Incorporated Hybrid-ARQ (HARQ) with scrambler
US20120054572A1 (en) * 2009-04-24 2012-03-01 Nokia Corporation Method and Apparatus for Delta Data Storage

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1567761A (zh) * 2003-07-08 2005-01-19 上海贝尔阿尔卡特股份有限公司 正交频分复用***中混合自动重传请求的合并方法
CN101047475A (zh) * 2007-04-30 2007-10-03 重庆重邮信科(集团)股份有限公司 Harq技术数据缓存的设计方法及其电路
WO2009075899A1 (en) * 2007-12-13 2009-06-18 Qualcomm Incorporated Coding block based harq combining for ofdma systems
KR20100009185A (ko) * 2008-07-18 2010-01-27 삼성전자주식회사 이동통신 단말기의 harq 버스트 처리 장치 및 방법
CN101510817A (zh) * 2009-03-27 2009-08-19 深圳华为通信技术有限公司 混合自动重传请求的接收方法和装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11809656B2 (en) 2019-10-31 2023-11-07 Xiamen Tianma Micro-Electronics Co., Ltd. Array substrate, driving method thereof, display panel and touch display device

Also Published As

Publication number Publication date
EP2432151B1 (en) 2019-06-19
EP2432151A1 (en) 2012-03-21
US20130042073A1 (en) 2013-02-14
EP2432151A4 (en) 2018-01-10
CN102208966A (zh) 2011-10-05
WO2011120295A1 (zh) 2011-10-06
US8694731B2 (en) 2014-04-08

Similar Documents

Publication Publication Date Title
CN102208966B (zh) 一种harq合并器和harq数据存储方法
CN102214144B (zh) 一种harq存储器的分层管理方法和***
US11784760B2 (en) Method and system for contiguous HARQ memory management with memory splitting
CN106489134B (zh) 用于在可扩展存储器***协议中包封数据的***及方法
CN100574169C (zh) Harq技术数据缓存的设计方法及其电路
US10042576B2 (en) Method and apparatus for compressing addresses
CN102271033B (zh) 实现混合自动重传请求内存动态调度的方法及装置
CN104484295B (zh) 并行计算机***中基于接收方滑动窗口的数据传输方法
CN102681946B (zh) 内存访问方法和装置
US20030016689A1 (en) Switch fabric with dual port memory emulation scheme
CN103262425A (zh) 无竞争存储访问的***和方法
EP3584978A1 (en) Technique for storing softbits
CN116601601A (zh) 在多过程***内执行可编程原子单元资源的方法
CN102821045B (zh) 多播报文复制方法及装置
EP3896881B1 (en) Harq data storage management method and device and harq data buffer
CN111124297A (zh) 一种堆叠dram缓存的性能提升方法
CN111857817B (zh) 数据读取方法、数据读取装置及数据读取***
CN103684709A (zh) 一种重传数据的合并方法及装置
CN106487702A (zh) 一种组播报文两级复制方法及装置
CN113849867B (zh) 一种加密芯片
CN108023599A (zh) 一种用于Turbo译码的数据存储方法及装置

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
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20151104

Address after: Dameisha Yantian District of Shenzhen City, Guangdong province 518085 Building No. 1

Patentee after: SHENZHEN ZTE MICROELECTRONICS TECHNOLOGY CO., LTD.

Address before: 518057 Nanshan District Guangdong high tech Industrial Park, South Road, science and technology, ZTE building, Ministry of Justice

Patentee before: ZTE Corporation

EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20111005

Assignee: Xi'an Chris Semiconductor Technology Co. Ltd.

Assignor: SHENZHEN ZTE MICROELECTRONICS TECHNOLOGY CO., LTD.

Contract record no.: 2019440020036

Denomination of invention: Hybrid automatic repeat request (HARQ) combiner and HARQ data storage method

Granted publication date: 20140409

License type: Common License

Record date: 20190619

EE01 Entry into force of recordation of patent licensing contract