CN110808815A - 数据存储方法及装置 - Google Patents
数据存储方法及装置 Download PDFInfo
- Publication number
- CN110808815A CN110808815A CN201911044606.4A CN201911044606A CN110808815A CN 110808815 A CN110808815 A CN 110808815A CN 201911044606 A CN201911044606 A CN 201911044606A CN 110808815 A CN110808815 A CN 110808815A
- Authority
- CN
- China
- Prior art keywords
- storage
- sub
- block
- harq process
- blocks
- 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
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements 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/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1812—Hybrid protocols; Hybrid automatic repeat request [HARQ]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements 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/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1829—Arrangements specially adapted for the receiver end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements 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/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1829—Arrangements specially adapted for the receiver end
- H04L1/1835—Buffer management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements 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/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1822—Automatic repetition systems, e.g. Van Duuren systems involving configuration of automatic repeat request [ARQ] with parallel processes
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本公开涉及一种数据存储方法及装置,所述方法包括:根据混合自动重传请求HARQ进程的码块CB的大小在存储空间中确定多个存储子块,其中,存储子块具有子块指示标识,所述子块指示标识用于指示当前存储子块指向的下一个存储子块;将所述HARQ进程的CB存储到所述多个存储子块。通过以上方法,本公开实施例可以实现对存储子块的链式控制,从而可以方便、灵活地对存储空间的存储资源进行管理、分配,可以有效地降低存储碎片,并降低功耗。
Description
技术领域
本公开涉及通信技术领域,尤其涉及一种数据存储方法及装置。
背景技术
混合自动重传请求(Hybrid Automatic Repeat Request,HARQ),是一种将前向纠错编码(FEC)和自动重传请求(ARQ)相结合而形成的技术。混合自动重传技术可以高效地补偿由于采用链路适配所带来的误码,提高数据传输速率/减小数据传输时延。接收首传数据后,接收端将首传数据进行译码、校验,如果校验结果错误,那么把当前软信息保存起来,并反馈NACK给发送端。发送端根据收到的NACK反馈,会进行数据重传。接收端收到重传的数据,会进行旧数据和新的软信息合并,如果正确,那么反馈ACK给发送端,发送端知道此数据正确传送。
然而,在对HARQ进程的数据进行存储时,相关技术需要的存储资源大,无法实现存储资源的灵活分配、管理,功耗高,产生的存储碎片较多。
发明内容
有鉴于此,本公开提出了一种数据存储方法,所述方法包括:
根据混合自动重传请求HARQ进程的码块CB的大小在存储空间中确定多个存储子块,其中,存储子块具有子块指示标识,所述子块指示标识用于指示当前存储子块指向的下一个存储子块;
将所述HARQ进程的CB存储到所述多个存储子块。
在一种可能的实施方式中,所述存储子块包括第一类型的存储子块,所述第一类型的存储子块用于存储译码后的数据,其中,所述根据混合自动重传请求HARQ进程的码块CB的大小在存储空间中确定多个存储子块,包括:
在所述CB为经过前向纠错译码FEC后、循环冗余校验CRC校验正确的情况下,根据所述CB的大小在所述第一类型的存储子块中确定多个存储子块;
所述将所述HARQ进程的CB存储到所述多个存储子块,包括:
将FEC译码后的所述CB存储到所确定的第一类型的多个存储子块。
在一种可能的实施方式中,所述第一类型的存储子块的大小为所述HARQ进程中最大CB的大小的1/4倍至1倍。
在一种可能的实施方式中,所述存储子块包括第二类型的存储子块,所述第二类型的存储子块用于存储译码前的数据,其中,所述根据混合自动重传请求HARQ进程的码块CB的大小在存储空间中确定多个存储子块,包括:
在所述CB为FEC译码后、CRC校验错误的情况下,根据所述CB的大小在所述第二类型的存储子块中确定多个存储子块;
所述将所述HARQ进程的CB存储到所述多个存储子块,包括:
将译码前的所述CB存储到所确定的第二类型的多个存储子块。
在一种可能的实施方式中,所述第二类型的存储子块的大小为所述HARQ进程中最大CB的大小的1/8倍至1/2倍。
在一种可能的实施方式中,所述方法还包括:
根据所述存储空间中是否存储有所述HARQ进程的CB设置所述HARQ进程的进程重传标识,其中:
在所述存储空间中存在所述HARQ进程的CB时,设置所述进程重传标识有效以指示所述HARQ进程携带重传数据,否则,设置所述进程重传标识无效以指示所述HARQ进程携带新数据。
在一种可能的实施方式中,所述方法还包括:
根据所述CB的CRC校验结果设置所述CB的校验结果标识,其中,所述校验结果标识包括校验正确标识及校验错误标识。
在一种可能的实施方式中,所述将所述HARQ进程的CB存储到所述多个存储子块,包括:
设置所述CB的首子块标识为所述多个存储子块中存储所述CB的第一个存储子块;
设置存储子块的子块占用标识为有效,在所述子块占用标识为有效时,表示该存储子块的状态为被占用;
设置存储子块的子块指示标识,使得从第一个存储子块至最后一个存储子块,每个存储子块的子块指示标识指向下一个存储子块,其中,最后一个存储子块的子块指示标识无效;
设置存储子块的尾子块标识,包括:设置最后一个存储子块的尾子块标识为有效,并设置其余存储子块的尾子块标识无效,其中,所述尾子块标识用于表示该存储子块为所述多个存储子块中存储所述CB的最后一个存储子块。
在一种可能的实施方式中,所述HARQ进程包括多个CB,所述方法还包括:
若所述HARQ进程携带的数据为重传数据,获取所述存储空间中该HARQ进程的CRC校验错误的CB,将所述重传数据及CRC校验错误的CB进行HARQ合并,得到CRC校验错误部分的HARQ合并数据,并对HARQ合并数据进行FEC译码及CRC校验;
在HARQ合并数据CRC校验正确的情况下,获取所述存储空间中该HARQ进程的CRC校验正确的CB,得到该HARQ进程完整的译码结果;或
当HARQ合并数据CRC校验错误的情况下,将HARQ合并数据存储到存储空间,并覆盖该HARQ进程的CRC校验错误的CB。
在一种可能的实施方式中,在得到该HARQ进程完整的译码结果后,所述方法还包括:
释放存储所述HARQ进程的CB的存储空间。
在一种可能的实施方式中,所述释放存储所述HARQ进程的CB的存储空间,包括:
设置所述HARQ进程的进程重传标识为无效;
设置存储所述HARQ进程的CB的存储子块的子块占用标识为无效。
在一种可能的实施方式中,所述存储空间包括片外存储空间、片内存储空间。
根据本公开的另一方面,提出了一种数据存储装置,所述装置包括:
确定模块,用于根据混合自动重传请求HARQ进程的码块CB的大小在存储空间中确定多个存储子块,其中,存储子块具有子块指示标识,所述子块指示标识用于指示当前存储子块指向的下一个存储子块;
存储模块,连接于所述确定模块,用于将所述HARQ进程的CB存储到所述多个存储子块。
在一种可能的实施方式中,所述存储子块包括第一类型的存储子块,所述第一类型的存储子块用于存储译码后的数据,其中,所述根据混合自动重传请求HARQ进程的码块CB的大小在存储空间中确定多个存储子块,包括:
在所述CB为经过前向纠错译码FEC后、循环冗余校验CRC校验正确的情况下,根据所述CB的大小在所述第一类型的存储子块中确定多个存储子块;
所述将所述HARQ进程的CB存储到所述多个存储子块,包括:
将FEC译码后的所述CB存储到所确定的第一类型的多个存储子块。
在一种可能的实施方式中,所述第一类型的存储子块的大小为所述HARQ进程中最大CB的大小的1/4倍至1倍。
在一种可能的实施方式中,所述存储子块包括第二类型的存储子块,所述第二类型的存储子块用于存储译码前的数据,其中,所述根据混合自动重传请求HARQ进程的码块CB的大小在存储空间中确定多个存储子块,包括:
在所述CB为FEC译码后、CRC校验错误的情况下,根据所述CB的大小在所述第二类型的存储子块中确定多个存储子块;
所述将所述HARQ进程的CB存储到所述多个存储子块,包括:
将译码前的所述CB存储到所确定的第二类型的多个存储子块。
在一种可能的实施方式中,所述第二类型的存储子块的大小为所述HARQ进程中最大CB的大小的1/8倍至1/2倍。
在一种可能的实施方式中,所述装置还包括:
根据所述存储空间中是否存储有所述HARQ进程的CB设置所述HARQ进程的进程重传标识,其中:
在所述存储空间中存在所述HARQ进程的CB时,设置所述进程重传标识有效以指示所述HARQ进程携带重传数据,否则,设置所述进程重传标识无效以指示所述HARQ进程携带新数据。
在一种可能的实施方式中,所述装置还包括:
根据所述CB的CRC校验结果设置所述CB的校验结果标识,其中,所述校验结果标识包括校验正确标识及校验错误标识。
在一种可能的实施方式中,所述将所述HARQ进程的CB存储到所述多个存储子块,包括:
设置所述CB的首子块标识为所述多个存储子块中存储所述CB的第一个存储子块;
设置存储子块的子块占用标识为有效,在所述子块占用标识为有效时,表示该存储子块的状态为被占用;
设置存储子块的子块指示标识,使得从第一个存储子块至最后一个存储子块,每个存储子块的子块指示标识指向下一个存储子块,其中,最后一个存储子块的子块指示标识无效;
设置存储子块的尾子块标识,包括:设置最后一个存储子块的尾子块标识为有效,并设置其余存储子块的尾子块标识无效,其中,所述尾子块标识用于表示该存储子块为所述多个存储子块中存储所述CB的最后一个存储子块。
在一种可能的实施方式中,所述HARQ进程包括多个CB,所述装置还包括:
若所述HARQ进程携带的数据为重传数据,获取所述存储空间中该HARQ进程的CRC校验错误的CB,将所述重传数据及CRC校验错误的CB进行HARQ合并,得到CRC校验错误部分的HARQ合并数据,并对HARQ合并数据进行FEC译码及CRC校验;
在HARQ合并数据CRC校验正确的情况下,获取所述存储空间中该HARQ进程的CRC校验正确的CB,得到该HARQ进程完整的译码结果;或
当HARQ合并数据CRC校验错误的情况下,将HARQ合并数据存储到存储空间,并覆盖该HARQ进程的CRC校验错误的CB。
在一种可能的实施方式中,在得到该HARQ进程完整的译码结果后,所述装置还包括:
释放存储所述HARQ进程的CB的存储空间。
在一种可能的实施方式中,所述释放存储所述HARQ进程的CB的存储空间,包括:
设置所述HARQ进程的进程重传标识为无效;
设置存储所述HARQ进程的CB的存储子块的子块占用标识为无效。
在一种可能的实施方式中,所述存储空间包括片外存储空间、片内存储空间。
根据本公开的另一方面,提出了一种数据存储装置,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述的方法。
根据本公开的另一方面,提出了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现所述的方法。
本公开实施例各个方面可以根据HARQ进程的CB的大小在存储空间中确定多个存储子块,将HARQ进程的CB存储到所述多个存储子块中,由于每个存储子块具有子块指示标识以从当前存储子块指向下一个存储子块,本公开实施例可以实现对存储子块的链式控制,从而可以方便、灵活地对存储空间的存储资源进行管理、分配,可以有效地降低存储碎片,并降低功耗。
根据下面参考附图对示例性实施方式的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施方式、特征和方面,并且用于解释本公开的原理。
图1示出了根据本公开一个实施方式的一种通信系统示意图。
图2示出了根据本公开一实施方式的数据存储方法的流程图。
图3示出了根据本公开一实施方式的存储空间的示意图。
图4示出了根据本公开一实施方式的存储信息示意图。
图5示出了根据本公开一实施方式的数据存储示意图。
图6示出了根据本公开一实施方式的数据存储方法的示意图。
图7示出了根据本公开一实施方式的数据存储装置的框图。
图8示出了根据本公开一实施方式的数据存储装置的框图。
图9示出了根据本公开一实施方式的数据存储装置的框图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施方式、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施方式的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施方式或说明性”。这里作为“示例性”所说明的任何实施方式不必解释为优于或好于其它实施方式。
另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
本公开实施方式中提供的实施方式可适用于5G(5generation)通信系统,还可适用于4G、3G通信系统,还可适用于卫星通信系统,还可适用于后续演进的各种通信系统,例如6G、7G等。
本公开实施方式也适用于不同的网络架构,包括但不限于中继网络架构、双链接架构,Vehicle-to-Everything(车辆到任何物体的通信)架构。
本公开实施方式中所述的5G CN也可以称为新型核心网(new core)、或者5G NewCore、或者下一代核心网(next generation core,NGC)等。5G-CN独立于现有的核心网,例如演进型分组核心网(evolved packet core,EPC)而设置。
本公开实施方式中的网元设备,可以是基站(base station,BS),也可称为基站设备,是一种部署在无线接入网用以提供无线通信功能的装置。例如在2G网络中提供基站功能的设备包括基地无线收发站(英文:base transceiver station,简称:BTS)和基站控制器(base station controller,BSC),3G网络中提供基站功能的设备包括节点B(NodeB)和无线网络控制器(radio network controller,RNC),在4G网络中提供基站功能的设备包括演进的节点B(evolved NodeB,eNB),在无线局域网络(wireless local area networks,WLAN)中,提供基站功能的设备为接入点(access point,AP),5G新无线(New Radio,NR)中的提供基站功能的设备包括继续演进的节点B(gNB),以及未来新的通信系统中提供基站功能的设备等。
本公开实施方式中的用户设备(User Equipment,U E)可以指各种形式的接入终端、用户单元、用户站、移动站、移动台(Mobile Station,MS)、远方站、远程终端、移动设备、用户终端、终端设备(terminal equipment)、无线通信设备、用户代理或用户装置。用户设备还可以是蜂窝电话、无绳电话、会话启动协议(Session Initiation Protocol,SIP)电话、无线本地环路(Wireless Local Loop,WLL)站、个人数字处理(Personal DigitalAssistant,PDA)、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、车载设备、可穿戴设备,未来5G网络中的用户设备或者未来演进的公用陆地移动通信网络(Public Land Mobile Network,PLMN)中的终端设备等,本公开实施方式对此并不限定。
图1示出了根据本公开一个实施方式的一种通信系统示意图。本公开各实施方式可以应用于如图1所示的通信系统。本公开实施方式定义接入网到用户设备UE的单向通信链路为下行链路DL,在下行链路上传输的数据为下行数据,下行数据的传输方向称为下行方向;而UE到接入网的单向通信链路为上行链路UL,在上行链路上传输的数据为上行数据,上行数据的传输方向称为上行方向。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/“,表示前后关联对象是一种“或”的关系。
本公开实施方式中出现的“连接”是指直接连接或者间接连接等各种连接方式,以实现设备间的通信,本公开实施方式对此不做任何限定。
本公开实施方式中出现的“网络”与“系统”表达的是同一概念,通信系统即为通信网络。本公开实施方式中出现的“连接”是指直接连接或者间接连接等各种连接方式,例如通过通信接口连接不同设备,不做任何限定。
请参阅图2,图2示出了根据本公开一实施方式的数据存储方法的流程图。
所述方法应用于用户设备中,所述方法包括:
步骤S110,根据混合自动重传请求HARQ进程的码块CB的大小在存储空间中确定多个存储子块,其中,存储子块具有子块指示标识,所述子块指示标识用于指示当前存储子块指向的下一个存储子块;
步骤S120,将所述HARQ进程的CB存储到所述多个存储子块。
其中,一个HARQ进程通常指基站调度进行一次数据传输,再到基站接收到ACK/NACK信息,码块是HARQ进程传输的数据的码块。对码块的存储可在HARQ进程中、用户设备接收到码块且完成针对码块校验过程后进行。
通过以上方法,本公开实施例可以根据HARQ进程的CB的大小在存储空间中确定多个存储子块,将HARQ进程的CB存储到所述多个存储子块中,由于每个存储子块具有子块指示标识以从当前存储子块指向下一个存储子块,本公开实施例可以实现对存储子块的链式控制,从而可以方便、灵活地对存储空间的存储资源进行管理、分配,可以有效地降低存储碎片,并降低功耗。
在一种可能的实施方式中,所述存储空间可以包括片外存储空间、片内存储空间。
请参阅图3,图3示出了根据本公开一实施方式的存储空间的示意图。
在一种可能的实施方式中,如图3所示,由于存储空间可以包括为片外存储空间、片内存储空间,在存储空间中确定用于存储HARQ进程的CB的存储子块时,可以包括:
在片内存储空间中确定多个存储子块,用于存储HARQ进程的CB。
在这种情况下,对当前HARQ进程,本公开实施例可以将该HARQ进程的CB存储在片内存储空间中,仅仅利用片内存储空间对CB进行存储,以降低功耗;或
在片内存储空间中确定一部分存储子块,在片外存储空间中确定另一部分存储子块,在这种情况下,本公开实施例可以将HARQ进程的一部分CB存储在片内存储空间、一部分CB存储在片外存储空间,这样可以增加存储的灵活性,减小片内存储空间的存储压力,降低存储总线的压力、开销。
当然,本公开实施例也可以将HARQ进程的某个CB的一部分内容存储在片内、另一部分内容存储在片外,或者,将前K个HARQ进程的内容存储在片内存储空间、将后T个HARQ进程的内容存储在片外存储空间,对此,本公开不做限定。
本公开实施例还可以仅在片外存储空间中确定存储子块,以存储HARQ进程的CB。
通过以上方法,本公开实施例可以灵活的配置片外存储空间、片内存储空间以对HARQ进程的CB进行存储,可以增加数据存储的灵活性、环境适应性。
在一种可能的实施方式中,片内存储空间包括集成在芯片中的存储空间,例如可以包括高速缓存、RAM等存取速度较高的存储介质,片外存储空间可以包括硬盘、ROM、DDR等存储介质。当然,以上描述示例性的,本公开对片内存储空间、片外存储空间的具体存储介质不做限定。
在一种可能的实施方式中,本公开实施例可以通过直接内存访问DMA技术对片外存储空间进行控制,所述对片外存储空间进行控制可以包括获取片外存储空间的存储空间信息、对片外存储空间进行读写操作、存储空间释放操作等。
本公开实施例除了可以将存储空间的类型划分为片外存储空间、片内存储空间外,还可以根据要存储的数据的数据类型对存储空间进一步划分。
请参阅图4,图4示出了根据本公开一实施方式的存储信息示意图。
在一种可能的实施方式中,HARQ进程的CB可以包括第一类型CB和第二类型CB,相应的,本公开的存储空间中的存储子块可以包括第一类型的存储子块、第二类型的存储子块。
在一个示例中,所述第一类型CB可以为接收端(用户设备)对接收数据进行前向纠错译码后的数据,也可以称为硬信息。
在一个示例中,第二类型CB可以为译码前的数据,也可以称为软信息。
在一种可能的实施方式中,所述第一类型的存储子块可以用于存储译码后的数据,其中,步骤S110根据混合自动重传请求HARQ进程的码块CB的大小在存储空间中确定多个存储子块,可以包括:
在所述CB为经过前向纠错译码FEC后、循环冗余校验CRC校验正确的情况下,根据所述CB的大小在所述第一类型的存储子块中确定多个存储子块;
在一种可能的实施方式中,步骤S120将所述HARQ进程的CB存储到所述多个存储子块,可以包括:
将FEC译码后的所述CB存储到所确定的第一类型的多个存储子块。
在一种可能的实施方式中,所述第一类型的存储子块的大小为所述HARQ进程中最大CB的大小的1/4倍至1倍。
在一个示例中,第一类型的存储子块的大小可以为HARQ进程中最大CB的大小,或者可以为HARQ进程中最大CB的大小的1/4,或者可以为HARQ进程中最大CB的大小的1/2。
通过以上方法,本公开实施例可以在HARQ进程的码块CB的数据类型为第一类型的情况下,将该CB存储到第一类型的存储子块。
在一种可能的实施方式中,所述第二类型的存储子块可以用于存储译码前的数据,其中,步骤S110根据混合自动重传请求HARQ进程的码块CB的大小在存储空间中确定多个存储子块,还可以包括:
在所述CB为FEC译码后、CRC校验错误的情况下,根据所述CB的大小在所述第二类型的存储子块中确定多个存储子块;
在一种可能的实施方式中,步骤S120将所述HARQ进程的CB存储到所述多个存储子块,可以包括:
将译码前的所述CB存储到所确定的第二类型的多个存储子块。
在一种可能的实施方式中,所述第二类型的存储子块的大小为所述HARQ进程中最大CB的大小的1/8倍至1/2倍。
在一个示例中,第二类型的存储子块的大小可以为HARQ进程中最大CB的大小的1/8,或者可以为HARQ进程中最大CB的大小的1/4,或者可以为HARQ进程中最大CB的大小的1/2。
通过以上方法,本公开实施例可以在HARQ进程的码块CB的数据类型为第二类型的情况下,将该CB存储到第二类型的存储子块。
通过以上方法,本公开实施例可以根据HARQ进程的CB的CRC校验结果确定存储HARQ进程的CB的数据类型,在校验成功时,存储HARQ进程的CB的译码后的硬信息到第一类型的存储子块中;在校验错误时,存储HARQ进程的CB的译码前的软信息到第二类型的存储子块中,可以根据数据类型实现对存储子块的管理,增加存储资源的灵活性。
并且,本公开实施例通过分别设置第一类型的存储子块的大小与第二类型的存储子块的大小,可以增加存储资源的利用率。
考虑到存储子块的利用率,存储子块的大小不宜过大,以免在存储小码块时出现空间浪费,而考虑到读写效率,存储字块的大小也不宜过小,根据最大CB的大小来确定存储子块的大小,使得存储子块的大小为最大CB的几分之一,可以兼顾利用率与读写效率。
在一种可能的实施方式中,本公开实施例还可以提前根据应用场景预测HARQ进程CB的大小,从而对第一类型的存储子块的大小、第二类型的存储子块的大小进行灵活设置,可以使用不同场景的需求,增加本公开实施例的数据存储方法的灵活性及环境适应性。
请继续参阅图4。
本公开实施例中的用户设备可本地生成和保存HARQ缓存管理信息,对HARQ缓存管理信息进行控制、维护,从而实现对数据存储的控制。
在一个示例中,HARQ缓存管理信息可以包括HARQ进程的进程信息(例如进程编号、表示该进程携带的数据是新数据还是重传数据的进程重传标识)、HARQ进程的CB信息(例如可以包括CB编号、表示CB校验结果的校验结果标识、CB的第一个存储子块的首子块标识)、存储CB块的存储子块信息(例如可以包括存储子块的编号、表示该存储子块是否被占用的子块占用标识、表示该存储子块是否为存储子块链路中最后一个存储子块的尾子块标识,表示与该存储子块连接的下一个存储子块的子块指示标识)等。
通过对HARQ缓存管理信息进行修改、维护,可以实现对存储空间的存储资源的灵活、方便的管理,提高数据存储效率及存储资源的利用率,减少碎片的产生。
下面对HARQ缓存管理信息中的各个信息进行示例性介绍。
在一种可能的实施方式中,所述方法还可以包括:
根据所述存储空间中是否存储有所述HARQ进程的CB设置所述HARQ进程的进程重传标识,其中:
在所述存储空间中存在所述HARQ进程的CB时,设置所述进程重传标识有效以指示所述HARQ进程携带重传数据,否则,设置所述进程重传标识无效以指示所述HARQ进程携带新数据。
在存储空间中存储有HARQ进程的历史数据(可以包括译码前的CB的软信息和/或译码后的CB的硬信息等)时,可以将HARQ进程的重传标识设置为有效,当接收端接收到网元设备发送的该HARQ进程的数据时,可以将接收的数据解速率匹配后与存储空间中的数据进行HARQ合并,并将HARQ合并的数据进行前向纠错译码及CRC校验。如果存储空间中没有存储HARQ进程的历史数据,则可以将HARQ进程的重传标识设置为无效,当接收端接收到网元设备发送的该HARQ进程的数据时,直接对接收的数据进行解速率匹配、前向纠错译码、CRC校验。
本公开对HARQ进程的数据的具体处理过程不做限定,对解速率匹配、前向纠错译码、CRC校验的具体方法、过程不做限定,本领域技术人员可以参考相关技术习得。
在一种可能的实施方式中,虽然在存储空间中存储有HARQ进程的历史数据,但是,本公开实施例依然可以将该HARQ进程的进程重传标识设定为无效,即,将该HARQ进程的数据作为新数据处理。
例如,假设用户通过软件将存储空间释放了,或者历史数据存在错误、或干扰特别严重,可以将进程重传标识设定为无效,以直接将HARQ进程作为新数据处理。
在一种可能的实施方式中,在初始化阶段,本公开可以将所有进程的进程重传标识设定为无效,即,默认所有进程都为新数据。
在一种可能的实施方式中,所述方法还可以包括:
根据所述CB的CRC校验结果设置所述CB的校验结果标识,其中,所述校验结果标识包括校验正确标识及校验错误标识。
在所述CB进行译码、校验后,如果CRC校验结果正确,则可以将该CB的校验结果标识设定为校验正确标识,当然,在这种情况下,存储所述CB的译码数据到第一类型的存储子块中。
在所述CB进行译码、校验后,如果CRC校验结果错误,则可以将该CB的校验结果标识设定为校验错误标识,当然,在这种情况下,存储所述CB的译码前的数据到第二类型的存储子块中。
在一种可能的实施方式中,步骤S120将所述HARQ进程的CB存储到所述多个存储子块,可以包括:
设置所述CB的首子块标识为所述多个存储子块中存储所述CB的第一个存储子块;
设置存储子块的子块占用标识为有效,在所述子块占用标识为有效时,表示该存储子块的状态为被占用;
设置存储子块的子块指示标识,使得从第一个存储子块至最后一个存储子块,每个存储子块的子块指示标识指向下一个存储子块,其中,最后一个存储子块的子块指示标识无效;
设置存储子块的尾子块标识,包括:设置最后一个存储子块的尾子块标识为有效,并设置其余存储子块的尾子块标识无效,其中,所述尾子块标识用于表示该存储子块为所述多个存储子块中存储所述CB的最后一个存储子块。
通过以上方法,本公开实施例可以对存储子块的存储信息进行设置、管理,以提高数据存储的效率。
通过以上介绍可知,本公开实施例采用链表的形式对存储子块进行管理,可以实现对存储空间的存储资源的灵活配置、管理,可以避免产生碎片。
下面对HARQ进程的CB存储进行示例性介绍。
请参阅图5,图5示出了根据本公开一实施方式的数据存储示意图。
其中,子块0~子块15为第二类型的存储子块,硬子块0~硬子块3为第一类型的存储子块。
图5示出了进程0-进程3的示意图。
以进程0为例,进程0包括CB块0~CB块3,其中:
CB块0的数据存储在子块(即第一类型的存储子块)0和子块1,即存储在图5中的HARQ缓存块0、HARQ缓存块1中,其中,CB块0的首子块索引(即首子块标识)为子块0,子块0的下个子块索引(即子块指示标识)为子块1,在这个示例中,CB块0的CRC校验结果为校验错误,子块0、子块1的子块占用标识都为有效,子块0的尾子块标识为无效、子块1的尾子块标识为有效。
CB块1的数据存储在子块2和子块3,即存储在图5中的HARQ缓存块2、HARQ缓存块3中,其中,CB块1的首子块索引为子块2,子块2的下个子块索引(即子块指示标识)为子块3,在这个示例中,CB块1的CRC校验结果为校验错误,子块2、子块3的子块占用标识都为有效,子块2的尾子块标识为无效、子块3的尾子块标识为有效。
CB块2的数据存储在硬子块(即第二类型的存储子块)0,即存储在图5中的硬比特缓存块0中,其中,CB块2的首子块索引为硬子块0,硬子块0的下个子块索引(即子块指示标识)为无效(即不指向任何硬子块),在这个示例中,CB块2的CRC校验结果为校验正确,硬子块0的子块占用标识为有效,硬子块0的尾子块标识为有效。
CB块3的数据存储在子块8和子块9,即存储在图5中的HARQ缓存块8、HARQ缓存块9中,其中,CB块3的首子块索引为子块8,子块8的下个子块索引(即子块指示标识)为子块9,在这个示例中,CB块3的CRC校验结果为校验错误,子块8、子块9的子块占用标识都为有效,子块8的尾子块标识为无效、子块9的尾子块标识为有效。
以进程1为例,进程1包括CB块4~CB块5,其中:
CB块4的数据存储在子块4和子块10,即存储在图5中的HARQ缓存块4、HARQ缓存块10中,其中,CB块4的首子块索引为子块4,子块4的下个子块索引(即子块指示标识)为子块10,在这个示例中,CB块4的CRC校验结果为校验错误,子块4、子块10的子块占用标识都为有效,子块4的尾子块标识为无效、子块10的尾子块标识为有效。
CB块5的数据存储在子块11和子块5,即存储在图5中的HARQ缓存块11、HARQ缓存块5中,其中,CB块5的首子块索引为子块11,子块11的下个子块索引(即子块指示标识)为子块5,在这个示例中,CB块5的CRC校验结果为校验错误,子块11、子块5的子块占用标识都为有效,子块11的尾子块标识为无效、子块5的尾子块标识为有效。
应该说明的是,尽快图5中没有示出各个进程的进程重传标识是否有效,各个子块的子块占用标识、尾子块标识是否有效,但是,在实际使用中,本领域技术人员可以根据需要进行设置。
在一个示例中,可以将进程重传标识、子块占用标识、尾子块标识分别设置为占用1个比特位,其中,可以利用0表示无效、1表示有效。
应该明白的是,以上对数据存储的描述是示例性的,不应视为是对本公开的限定。
在一种可能的实施方式中,所述HARQ进程可以包括多个CB,所述方法还可以包括:
若所述HARQ进程携带的数据为重传数据,获取所述存储空间中该HARQ进程的CRC校验错误的CB,将所述重传数据及CRC校验错误的CB进行HARQ合并,得到CRC校验错误部分的HARQ合并数据,并对HARQ合并数据进行FEC译码及CRC校验;
在HARQ合并数据CRC校验正确的情况下,获取所述存储空间中该HARQ进程的CRC校验正确的CB,得到该HARQ进程完整的译码结果;或
当HARQ合并数据CRC校验错误的情况下,将HARQ合并数据存储到存储空间,并覆盖该HARQ进程的CRC校验错误的CB。
其中,HARQ合并可基于相关技术实现。
对于某个HARQ进程,由于HARQ进程可以包括多个CB,这些CB中有的可能译码、校验正确,因此,在存储空间中存储有译码数据;有的CB可能译码、校验错误,因此,在存储空间中存储有译码前的数据。在HARQ进程携带的数据为重传数据的情况下,本公开实施例可以仅对此前校验错误的数据及重传数据进行HARQ合并、译码、校验,而对已经校验正确的CB则不再进行重复译码、校验,这样可以提高译码、校验的效率。而对于HARQ合并数据依然校验错误的情况,本公开实施例将校验错误的HARQ合并数据存储到原来错误的CB的存储空间,可以提高存储速度,将HARQ合并数据存储,有利于下一次对校验错误的CB进行纠正。
在一种可能的实施方式中,在得到该HARQ进程完整的译码结果后,所述方法还包括:
释放存储所述HARQ进程的CB的存储空间。
在一种可能的实施方式中,所述释放存储所述HARQ进程的CB的存储空间,包括:
设置所述HARQ进程的进程重传标识为无效;
设置存储所述HARQ进程的CB的存储子块的子块占用标识为无效。
通过以上方法,本公开实施例可以在得到HARQ进程完整的译码结果后,释放存储该CB的存储空间,通过将进程重传标识、子块占用标识设置为无效,可以方便的对存储空间进行释放,避免产生碎片。
在一种可能的实施方式中,当HARQ进程的所有CB均CRC校验正确,通过数据搬移可以将完整的译码结果上报高层,以进行命令解析得到需要的参数或控制信息。可选的,数据搬移可以采用链式DMA方式,采用偏移解析去头等方式进行操作结合。当然,以上描述是示例性的,本公开对如何进行数据搬移,如何对完整的译码结果进行处理的方式不做限定,本领域技术人员可以参阅相关技术实现。
下面对数据存储方法进行示例性介绍。
请参阅图6,图6示出了根据本公开一实施方式的数据存储方法的示意图。
如图6所示,当接收端(用户设备)得到发送端(网元设备)发送的数据后,可以对接收的数据进行解速率匹配,并判断该HARQ进程是否为重传,当该进程不是重传,而是发送的新数据,则对解速率匹配后的数据进行前向纠错译码及CRC校验,在CRC校验正确的情况下,可以在存储空间中确定第一类型的存储子块对译码数据进行存储;在CRC校验错误的情况下,可以在存储空间中确定第二类型的存储子块对译码前的软信息进行存储,相应的,设置HARQ缓存管理信息(例如,设置存储子块的子块指示标识、尾子块标识等)。
当该HARQ进程为重传,其携带的数据为重传数据,则从存储空间中获取错误的CB的数据与重传数据进行HARQ合并、前向纠错译码、CRC校验,在CRC校验正确的情况下,可以在存储空间中确定第一类型的存储子块对HARQ合并数据的译码数据进行存储;在CRC校验错误的情况下,可以利用该HARQ合并数据对存储在存储空间的CRC校验错误的CB的数据进行覆盖,相应的,设置HARQ缓存管理信息(例如,设置存储子块的子块指示标识、尾子块标识等)。
请参阅图7,图7示出了根据本公开一实施方式的数据存储装置的框图。
如图7所示,所述装置包括:
确定模块10,用于根据混合自动重传请求HARQ进程的码块CB的大小在存储空间中确定多个存储子块,其中,存储子块具有子块指示标识,所述子块指示标识用于指示当前存储子块指向的下一个存储子块;
存储模块20,连接于所述确定模块10,用于将所述HARQ进程的CB存储到所述多个存储子块。
通过以上装置,本公开实施例可以根据HARQ进程的CB的大小在存储空间中确定多个存储子块,将HARQ进程的CB存储到所述多个存储子块中,由于每个存储子块具有子块指示标识以从当前存储子块指向下一个存储子块,本公开实施例可以实现对存储子块的链式控制,从而可以方便、灵活地对存储空间的存储资源进行管理、分配,可以有效地降低存储碎片,并降低功耗。
在一种可能的实施方式中,所述存储子块包括第一类型的存储子块,所述第一类型的存储子块用于存储译码后的数据,其中,所述根据混合自动重传请求HARQ进程的码块CB的大小在存储空间中确定多个存储子块,包括:
在所述CB为经过前向纠错译码FEC后、循环冗余校验CRC校验正确的情况下,根据所述CB的大小在所述第一类型的存储子块中确定多个存储子块;
所述将所述HARQ进程的CB存储到所述多个存储子块,包括:
将FEC译码后的所述CB存储到所确定的第一类型的多个存储子块。
在一种可能的实施方式中,所述第一类型的存储子块的大小为所述HARQ进程中最大CB的大小的1/4倍至1倍。
在一种可能的实施方式中,所述存储子块包括第二类型的存储子块,所述第二类型的存储子块用于存储译码前的数据,其中,所述根据混合自动重传请求HARQ进程的码块CB的大小在存储空间中确定多个存储子块,包括:
在所述CB为FEC译码后、CRC校验错误的情况下,根据所述CB的大小在所述第二类型的存储子块中确定多个存储子块;
所述将所述HARQ进程的CB存储到所述多个存储子块,包括:
将译码前的所述CB存储到所确定的第二类型的多个存储子块。
在一种可能的实施方式中,所述第二类型的存储子块的大小为所述HARQ进程中最大CB的大小的1/8倍至1/2倍。
在一种可能的实施方式中,所述装置还包括:
根据所述存储空间中是否存储有所述HARQ进程的CB设置所述HARQ进程的进程重传标识,其中:
在所述存储空间中存在所述HARQ进程的CB时,设置所述进程重传标识有效以指示所述HARQ进程携带重传数据,否则,设置所述进程重传标识无效以指示所述HARQ进程携带新数据。
在一种可能的实施方式中,所述装置还包括:
根据所述CB的CRC校验结果设置所述CB的校验结果标识,其中,所述校验结果标识包括校验正确标识及校验错误标识。
在一种可能的实施方式中,所述将所述HARQ进程的CB存储到所述多个存储子块,包括:
设置所述CB的首子块标识为所述多个存储子块中存储所述CB的第一个存储子块;
设置存储子块的子块占用标识为有效,在所述子块占用标识为有效时,表示该存储子块的状态为被占用;
设置存储子块的子块指示标识,使得从第一个存储子块至最后一个存储子块,每个存储子块的子块指示标识指向下一个存储子块,其中,最后一个存储子块的子块指示标识无效;
设置存储子块的尾子块标识,包括:设置最后一个存储子块的尾子块标识为有效,并设置其余存储子块的尾子块标识无效,其中,所述尾子块标识用于表示该存储子块为所述多个存储子块中存储所述CB的最后一个存储子块。
在一种可能的实施方式中,所述HARQ进程包括多个CB,所述装置还包括:
若所述HARQ进程携带的数据为重传数据,获取所述存储空间中该HARQ进程的CRC校验错误的CB,将所述重传数据及CRC校验错误的CB进行HARQ合并,得到CRC校验错误部分的HARQ合并数据,并对HARQ合并数据进行FEC译码及CRC校验;
在HARQ合并数据CRC校验正确的情况下,获取所述存储空间中该HARQ进程的CRC校验正确的CB,得到该HARQ进程完整的译码结果;或
当HARQ合并数据CRC校验错误的情况下,将HARQ合并数据存储到存储空间,并覆盖该HARQ进程的CRC校验错误的CB。
在一种可能的实施方式中,在得到该HARQ进程完整的译码结果后,所述装置还包括:
释放存储所述HARQ进程的CB的存储空间。
在一种可能的实施方式中,所述释放存储所述HARQ进程的CB的存储空间,包括:
设置所述HARQ进程的进程重传标识为无效;
设置存储所述HARQ进程的CB的存储子块的子块占用标识为无效。
在一种可能的实施方式中,所述存储空间包括片外存储空间、片内存储空间。
应该说明的是,以上描述的数据存储装置为前述的数据存储方法对应的装置,其具体介绍,请参考之前对方法的描述,在此不再赘述。
请参阅图8,图8示出了根据本公开一实施方式的数据存储装置的框图。
例如,数据存储装置800可以是移动电话,计算机,数字广播数据存储装置,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图8,数据存储装置800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814,以及通信组件816。
处理组件802通常控制数据存储装置800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在数据存储装置800的操作。这些数据的示例包括用于在数据存储装置800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为数据存储装置800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为数据存储装置设备800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述数据存储装置800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当数据存储装置800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当数据存储装置800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为数据存储装置800提供各个方面的状态评估。例如,传感器组件814可以检测到数据存储装置800的打开/关闭状态,组件的相对定位,例如所述组件为数据存储装置800的显示器和小键盘,传感器组件814还可以检测数据存储装置800或数据存储装置800一个组件的位置改变,用户与数据存储装置800接触的存在或不存在,数据存储装置800方位或加速/减速和数据存储装置800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于数据存储装置800和其他设备之间有线或无线方式的通信。数据存储装置800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,数据存储装置800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器804,上述计算机程序指令可由数据存储装置800的处理器820执行以完成上述方法。
请参阅图9,图9示出了根据本公开一实施方式的数据存储装置的框图。
例如,数据存储装置900可以被提供为一服务器。参照图9,数据存储装置900包括处理组件922,其进一步包括一个或多个处理器,以及由存储器932所代表的存储器资源,用于存储可由处理组件922的执行的指令,例如应用程序。存储器932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件922被配置为执行指令,以执行上述方法。
数据存储装置900还可以包括一个电源组件926被配置为执行数据存储装置900的电源管理,一个有线或无线网络接口950被配置为将数据存储装置900连接到网络,和一个输入输出(I/O)接口958。数据存储装置900可以操作基于存储在存储器932的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器932,上述计算机程序指令可由数据存储装置900的处理组件922执行以完成上述方法。
本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施方式,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施方式。在不偏离所说明的各实施方式的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施方式的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施方式。
Claims (26)
1.一种数据存储方法,其特征在于,所述方法包括:
根据混合自动重传请求HARQ进程的码块CB的大小在存储空间中确定多个存储子块,其中,存储子块具有子块指示标识,所述子块指示标识用于指示当前存储子块指向的下一个存储子块;
将所述HARQ进程的CB存储到所述多个存储子块。
2.根据权利要求1所述的方法,其特征在于,所述存储子块包括第一类型的存储子块,所述第一类型的存储子块用于存储译码后的数据,其中,所述根据混合自动重传请求HARQ进程的码块CB的大小在存储空间中确定多个存储子块,包括:
在所述CB为经过前向纠错译码FEC后、循环冗余校验CRC校验正确的情况下,根据所述CB的大小在所述第一类型的存储子块中确定多个存储子块;
所述将所述HARQ进程的CB存储到所述多个存储子块,包括:
将FEC译码后的所述CB存储到所确定的第一类型的多个存储子块。
3.根据权利要求2所述的方法,其特征在于,所述第一类型的存储子块的大小为所述HARQ进程中最大CB的大小的1/4倍至1倍。
4.根据权利要求1所述的方法,其特征在于,所述存储子块包括第二类型的存储子块,所述第二类型的存储子块用于存储译码前的数据,其中,所述根据混合自动重传请求HARQ进程的码块CB的大小在存储空间中确定多个存储子块,包括:
在所述CB为FEC译码后、CRC校验错误的情况下,根据所述CB的大小在所述第二类型的存储子块中确定多个存储子块;
所述将所述HARQ进程的CB存储到所述多个存储子块,包括:
将译码前的所述CB存储到所确定的第二类型的多个存储子块。
5.根据权利要求4所述的方法,其特征在于,所述第二类型的存储子块的大小为所述HARQ进程中最大CB的大小的1/8倍至1/2倍。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述存储空间中是否存储有所述HARQ进程的CB设置所述HARQ进程的进程重传标识,其中:
在所述存储空间中存在所述HARQ进程的CB时,设置所述进程重传标识有效以指示所述HARQ进程携带重传数据,否则,设置所述进程重传标识无效以指示所述HARQ进程携带新数据。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述CB的CRC校验结果设置所述CB的校验结果标识,其中,所述校验结果标识包括校验正确标识及校验错误标识。
8.根据权利要求1所述的方法,其特征在于,所述将所述HARQ进程的CB存储到所述多个存储子块,包括:
设置所述CB的首子块标识为所述多个存储子块中存储所述CB的第一个存储子块;
设置存储子块的子块占用标识为有效,在所述子块占用标识为有效时,表示该存储子块的状态为被占用;
设置存储子块的子块指示标识,使得从第一个存储子块至最后一个存储子块,每个存储子块的子块指示标识指向下一个存储子块,其中,最后一个存储子块的子块指示标识无效;
设置存储子块的尾子块标识,包括:设置最后一个存储子块的尾子块标识为有效,并设置其余存储子块的尾子块标识无效,其中,所述尾子块标识用于表示该存储子块为所述多个存储子块中存储所述CB的最后一个存储子块。
9.根据权利要求1所述的方法,其特征在于,所述HARQ进程包括多个CB,所述方法还包括:
若所述HARQ进程携带的数据为重传数据,获取所述存储空间中该HARQ进程的CRC校验错误的CB,将所述重传数据及CRC校验错误的CB进行HARQ合并,得到CRC校验错误部分的HARQ合并数据,并对HARQ合并数据进行FEC译码及CRC校验;
在HARQ合并数据CRC校验正确的情况下,获取所述存储空间中该HARQ进程的CRC校验正确的CB,得到该HARQ进程完整的译码结果;或
当HARQ合并数据CRC校验错误的情况下,将HARQ合并数据存储到存储空间,并覆盖该HARQ进程的CRC校验错误的CB。
10.根据权利要求9所述的方法,其特征在于,在得到该HARQ进程完整的译码结果后,所述方法还包括:
释放存储所述HARQ进程的CB的存储空间。
11.根据权利要求10所述的方法,其特征在于,所述释放存储所述HARQ进程的CB的存储空间,包括:
设置所述HARQ进程的进程重传标识为无效;
设置存储所述HARQ进程的CB的存储子块的子块占用标识为无效。
12.根据权利要求1所述的方法,其特征在于,所述存储空间包括片外存储空间、片内存储空间。
13.一种数据存储装置,其特征在于,所述装置包括:
确定模块,用于根据混合自动重传请求HARQ进程的码块CB的大小在存储空间中确定多个存储子块,其中,存储子块具有子块指示标识,所述子块指示标识用于指示当前存储子块指向的下一个存储子块;
存储模块,连接于所述确定模块,用于将所述HARQ进程的CB存储到所述多个存储子块。
14.根据权利要求13所述的装置,其特征在于,所述存储子块包括第一类型的存储子块,所述第一类型的存储子块用于存储译码后的数据,其中,所述根据混合自动重传请求HARQ进程的码块CB的大小在存储空间中确定多个存储子块,包括:
在所述CB为经过前向纠错译码FEC后、循环冗余校验CRC校验正确的情况下,根据所述CB的大小在所述第一类型的存储子块中确定多个存储子块;
所述将所述HARQ进程的CB存储到所述多个存储子块,包括:
将FEC译码后的所述CB存储到所确定的第一类型的多个存储子块。
15.根据权利要求14所述的装置,其特征在于,所述第一类型的存储子块的大小为所述HARQ进程中最大CB的大小的1/4倍至1倍。
16.根据权利要求13所述的装置,其特征在于,所述存储子块包括第二类型的存储子块,所述第二类型的存储子块用于存储译码前的数据,其中,所述根据混合自动重传请求HARQ进程的码块CB的大小在存储空间中确定多个存储子块,包括:
在所述CB为FEC译码后、CRC校验错误的情况下,根据所述CB的大小在所述第二类型的存储子块中确定多个存储子块;
所述将所述HARQ进程的CB存储到所述多个存储子块,包括:
将译码前的所述CB存储到所确定的第二类型的多个存储子块。
17.根据权利要求16所述的装置,其特征在于,所述第二类型的存储子块的大小为所述HARQ进程中最大CB的大小的1/8倍至1/2倍。
18.根据权利要求13所述的装置,其特征在于,所述装置还包括:
根据所述存储空间中是否存储有所述HARQ进程的CB设置所述HARQ进程的进程重传标识,其中:
在所述存储空间中存在所述HARQ进程的CB时,设置所述进程重传标识有效以指示所述HARQ进程携带重传数据,否则,设置所述进程重传标识无效以指示所述HARQ进程携带新数据。
19.根据权利要求13所述的装置,其特征在于,所述装置还包括:
根据所述CB的CRC校验结果设置所述CB的校验结果标识,其中,所述校验结果标识包括校验正确标识及校验错误标识。
20.根据权利要求13所述的装置,其特征在于,所述将所述HARQ进程的CB存储到所述多个存储子块,包括:
设置所述CB的首子块标识为所述多个存储子块中存储所述CB的第一个存储子块;
设置存储子块的子块占用标识为有效,在所述子块占用标识为有效时,表示该存储子块的状态为被占用;
设置存储子块的子块指示标识,使得从第一个存储子块至最后一个存储子块,每个存储子块的子块指示标识指向下一个存储子块,其中,最后一个存储子块的子块指示标识无效;
设置存储子块的尾子块标识,包括:设置最后一个存储子块的尾子块标识为有效,并设置其余存储子块的尾子块标识无效,其中,所述尾子块标识用于表示该存储子块为所述多个存储子块中存储所述CB的最后一个存储子块。
21.根据权利要求13所述的装置,其特征在于,所述HARQ进程包括多个CB,所述装置还包括:
若所述HARQ进程携带的数据为重传数据,获取所述存储空间中该HARQ进程的CRC校验错误的CB,将所述重传数据及CRC校验错误的CB进行HARQ合并,得到CRC校验错误部分的HARQ合并数据,并对HARQ合并数据进行FEC译码及CRC校验;
在HARQ合并数据CRC校验正确的情况下,获取所述存储空间中该HARQ进程的CRC校验正确的CB,得到该HARQ进程完整的译码结果;或
当HARQ合并数据CRC校验错误的情况下,将HARQ合并数据存储到存储空间,并覆盖该HARQ进程的CRC校验错误的CB。
22.根据权利要求21所述的装置,其特征在于,在得到该HARQ进程完整的译码结果后,所述装置还包括:
释放存储所述HARQ进程的CB的存储空间。
23.根据权利要求22所述的装置,其特征在于,所述释放存储所述HARQ进程的CB的存储空间,包括:
设置所述HARQ进程的进程重传标识为无效;
设置存储所述HARQ进程的CB的存储子块的子块占用标识为无效。
24.根据权利要求13所述的装置,其特征在于,所述存储空间包括片外存储空间、片内存储空间。
25.一种数据存储装置,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行权利要求1-12任一项所述的方法。
26.一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至12中任意一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911044606.4A CN110808815B (zh) | 2019-10-30 | 2019-10-30 | 数据存储方法及装置 |
PCT/CN2020/093448 WO2021082429A1 (zh) | 2019-10-30 | 2020-05-29 | 数据存储方法及装置 |
US17/733,239 US20220263607A1 (en) | 2019-10-30 | 2022-04-29 | Method and device for data storage |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911044606.4A CN110808815B (zh) | 2019-10-30 | 2019-10-30 | 数据存储方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110808815A true CN110808815A (zh) | 2020-02-18 |
CN110808815B CN110808815B (zh) | 2021-10-22 |
Family
ID=69489546
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911044606.4A Active CN110808815B (zh) | 2019-10-30 | 2019-10-30 | 数据存储方法及装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220263607A1 (zh) |
CN (1) | CN110808815B (zh) |
WO (1) | WO2021082429A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021082429A1 (zh) * | 2019-10-30 | 2021-05-06 | 紫光展锐(重庆)科技有限公司 | 数据存储方法及装置 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101094183A (zh) * | 2007-07-25 | 2007-12-26 | 杭州华三通信技术有限公司 | 一种缓存管理方法及装置 |
CN102065484A (zh) * | 2009-11-12 | 2011-05-18 | 中兴通讯股份有限公司 | 用于混合自动重传请求合并的数据存储方法和装置 |
CN102148676A (zh) * | 2011-05-09 | 2011-08-10 | 北京星河亮点通信软件有限责任公司 | 下行harq的实现系统及方法 |
CN102158330A (zh) * | 2011-04-22 | 2011-08-17 | 中兴通讯股份有限公司 | Harq合并存储空间的处理方法及装置 |
CN102215097A (zh) * | 2011-06-01 | 2011-10-12 | 中兴通讯股份有限公司 | 一种管理混合自动重传请求缓存的方法及装置 |
CN102271033A (zh) * | 2010-06-04 | 2011-12-07 | 中兴通讯股份有限公司 | 实现混合自动重传请求内存动态调度的方法及装置 |
CN102479159A (zh) * | 2010-11-25 | 2012-05-30 | 大唐移动通信设备有限公司 | 多进程harq数据的缓存方法和设备 |
CN104683073A (zh) * | 2013-11-26 | 2015-06-03 | 联芯科技有限公司 | 一种解码方法和接收机 |
US20160233999A1 (en) * | 2015-02-05 | 2016-08-11 | Qualcomm Incorporated | Efficient ack/nack transmission |
CN107800516A (zh) * | 2016-09-01 | 2018-03-13 | 深圳市中兴微电子技术有限公司 | 一种高速下行分组接入hsdpa存储管理的方法和装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080276147A1 (en) * | 2007-05-04 | 2008-11-06 | Gwang-Hyun Gho | System and method for performing a harq operation in an ofdm-based receiver |
CN103166747B (zh) * | 2011-12-14 | 2017-12-29 | 中兴通讯股份有限公司 | 一种harq合并的方法及装置 |
CN110808815B (zh) * | 2019-10-30 | 2021-10-22 | 紫光展锐(重庆)科技有限公司 | 数据存储方法及装置 |
-
2019
- 2019-10-30 CN CN201911044606.4A patent/CN110808815B/zh active Active
-
2020
- 2020-05-29 WO PCT/CN2020/093448 patent/WO2021082429A1/zh active Application Filing
-
2022
- 2022-04-29 US US17/733,239 patent/US20220263607A1/en active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101094183A (zh) * | 2007-07-25 | 2007-12-26 | 杭州华三通信技术有限公司 | 一种缓存管理方法及装置 |
CN102065484A (zh) * | 2009-11-12 | 2011-05-18 | 中兴通讯股份有限公司 | 用于混合自动重传请求合并的数据存储方法和装置 |
CN102271033A (zh) * | 2010-06-04 | 2011-12-07 | 中兴通讯股份有限公司 | 实现混合自动重传请求内存动态调度的方法及装置 |
CN102479159A (zh) * | 2010-11-25 | 2012-05-30 | 大唐移动通信设备有限公司 | 多进程harq数据的缓存方法和设备 |
CN102158330A (zh) * | 2011-04-22 | 2011-08-17 | 中兴通讯股份有限公司 | Harq合并存储空间的处理方法及装置 |
CN102148676A (zh) * | 2011-05-09 | 2011-08-10 | 北京星河亮点通信软件有限责任公司 | 下行harq的实现系统及方法 |
CN102215097A (zh) * | 2011-06-01 | 2011-10-12 | 中兴通讯股份有限公司 | 一种管理混合自动重传请求缓存的方法及装置 |
CN104683073A (zh) * | 2013-11-26 | 2015-06-03 | 联芯科技有限公司 | 一种解码方法和接收机 |
US20160233999A1 (en) * | 2015-02-05 | 2016-08-11 | Qualcomm Incorporated | Efficient ack/nack transmission |
CN107800516A (zh) * | 2016-09-01 | 2018-03-13 | 深圳市中兴微电子技术有限公司 | 一种高速下行分组接入hsdpa存储管理的方法和装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021082429A1 (zh) * | 2019-10-30 | 2021-05-06 | 紫光展锐(重庆)科技有限公司 | 数据存储方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2021082429A1 (zh) | 2021-05-06 |
CN110808815B (zh) | 2021-10-22 |
US20220263607A1 (en) | 2022-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110311762B (zh) | 反馈信息传输方法、装置、终端及存储介质 | |
JP7229362B2 (ja) | 直接通信のデータ伝送方法、装置及びシステム | |
CN110380830B (zh) | 终端、基站、通信系统、数据传输方法和存储介质 | |
CN112840586A (zh) | 通信方法、通信装置及存储介质 | |
CN111246582A (zh) | 信息发送方法及装置、信息接收方法及装置 | |
CN110574321B (zh) | 数据传输方法及传输装置、通信设备及存储介质 | |
CN110505045B (zh) | 下行控制信息反馈方法及装置 | |
US11546884B2 (en) | Method and device for determining time-frequency resource preemption, user equipment and base station | |
CN110768752B (zh) | 通信方式确定方法及装置 | |
CN110493879B (zh) | 信息反馈方法及装置、信息发送方法及装置 | |
EP3641179B1 (en) | Harq feedback method and device, user equipment, and base station | |
WO2020191729A1 (zh) | 非授权频谱上的资源指示方法、装置、系统及存储介质 | |
US11418298B2 (en) | Method, device, and system for transmitting data | |
CN110808815B (zh) | 数据存储方法及装置 | |
CN110574332B (zh) | 数据传输方法、装置及存储介质 | |
CN112655264A (zh) | 传输块大小的确定方法、装置及通信设备 | |
CN113348684B (zh) | 物理直连链路反馈方法、装置及存储介质 | |
US20230371027A1 (en) | Pucch resource determination method and apparatus | |
CN112567663B (zh) | 数据传输方法、装置及存储介质 | |
US20230171759A1 (en) | Data transmission scheduling mehtod and apparatus, communicaiton device and storage medium | |
CN112689966B (zh) | 数据重传的方法、装置、通信设备及存储介质 | |
WO2022021162A1 (zh) | 自动重传的指示方法及装置、网络设备、ue及存储介质 | |
CN116830513A (zh) | Pssch资源的确定方法、装置、通信设备及存储介质 | |
CN116391421A (zh) | 资源配置方法、装置及存储介质 | |
CN114982327A (zh) | 传输数据的方法、装置、通信设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |