CN116820340A - 数据存储控制装置及电子设备 - Google Patents
数据存储控制装置及电子设备 Download PDFInfo
- Publication number
- CN116820340A CN116820340A CN202310789479.0A CN202310789479A CN116820340A CN 116820340 A CN116820340 A CN 116820340A CN 202310789479 A CN202310789479 A CN 202310789479A CN 116820340 A CN116820340 A CN 116820340A
- Authority
- CN
- China
- Prior art keywords
- data
- unit
- transceiver module
- data buffer
- cache
- 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.)
- Pending
Links
- 238000013500 data storage Methods 0.000 title claims abstract description 21
- 239000000872 buffer Substances 0.000 claims abstract description 239
- 230000006854 communication Effects 0.000 claims abstract description 42
- 238000004891 communication Methods 0.000 claims abstract description 41
- 238000000034 method Methods 0.000 claims description 13
- 238000012545 processing Methods 0.000 claims description 13
- 230000008569 process Effects 0.000 claims description 10
- 230000001360 synchronised effect Effects 0.000 claims description 5
- 230000005540 biological transmission Effects 0.000 abstract description 16
- 238000010586 diagram Methods 0.000 description 6
- 230000002093 peripheral effect Effects 0.000 description 6
- 238000012546 transfer Methods 0.000 description 5
- 230000003139 buffering effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 108010001267 Protein Subunits Proteins 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000001356 surgical procedure Methods 0.000 description 1
Landscapes
- Information Transfer Systems (AREA)
Abstract
本公开涉及一种数据存储控制装置及电子设备,所述装置包括数据缓存模块及至少一个数据收发模块,所述数据缓存模块包括,存储控制单元用于在所述数据缓存单元读取数据并通过第一数据缓存接口单元发送到数据收发模块、或向数据缓存单元写入数据,数据收发模块包括通信单元用于与外部设备进行数据通信,并通过第二数据缓存接口单元与第一数据缓存接口单元进行数据通信,数据缓存控制主单元用于:根据各个数据收发模块请求的数据缓存空间的大小及优先级在数据缓存单元分配数据缓存空间。本公开实施例能够在较小成本的条件下,提高通信传输效率,能够满足更多个数据收发模块通信需求,提高了存取效率、可扩展性及灵活性。
Description
技术领域
本公开涉及存储技术领域,尤其涉及一种数据存储控制装置及电子设备。
背景技术
随着汽车电子的发展,控制单元(例如微控制单元(Microcontroller Unit;MCU))需要对越来越多的外围设备进行控制。在外围设备数量增长的同时,外围设备与MCU之间的通信速率也在同步增长。数据收发模块(如USART)是控制单元中常用的一种通信模块,同时使用多个数据收发模块与外围设备进行通信,正在成为一种常规应用场景。因此,如何提升在这种场景下控制单元的通信效率问题,正成为控制单元应用中亟待解决的问题。
发明内容
根据本公开的一方面,提供了一种数据存储控制装置,所述装置包括数据缓存模块及至少一个数据收发模块,其中,
所述数据缓存模块包括数据缓存单元、存储控制单元、第一数据缓存接口单元、数据缓存控制主单元,所述存储控制单元连接于所述数据缓存单元、所述第一数据缓存接口单元及所述数据缓存控制主单元,所述存储控制单元用于在所述数据缓存单元读取数据并通过所述第一数据缓存接口单元发送到所述数据收发模块、或向所述数据缓存单元写入通过所述第一数据缓存接口单元接收的数据,
所述数据收发模块包括通信单元、第二数据缓存接口单元及数据缓存控制子单元,所述通信单元用于与外部设备进行数据通信,并通过所述第二数据缓存接口单元与所述第一数据缓存接口单元进行数据通信,
所述数据缓存控制子单元连接所述数据缓存控制主单元,所述数据缓存控制主单元用于:
根据各个数据收发模块请求的数据缓存空间的大小及优先级在所述数据缓存单元分配数据缓存空间。
在一种可能的实施方式中,所述存储控制单元还用于检测所述数据缓存单元中各个数据缓存空间的存储状态,并将所述存储状态通过所述第一数据缓存接口单元发送到所述数据缓存模块。
在一种可能的实施方式中,所述第一数据缓存接口单元包括总线接口及至少一个信号接口组,每个信号接口组连接于相应的数据收发模块,其中,每个信号接口组均包括:
读写请求接口,用于传输所述数据收发模块的读请求信号或所述数据收发模块的写请求信号,所述读请求信号用于通知所述存储控制单元从所述数据缓存单元的相应数据缓存空间读取数据,所述写请求信号用于通知所述存储控制单元向所述数据缓存单元的相应数据缓存空间写入数据;
数据缓存状态接口,用于传输各个数据缓存空间的存储状态,所述存储状态包括满状态、空状态及容量的至少一种,所述满状态用于指示该数据收发模块在所述数据缓存单元的相应数据缓存空间已被写满,所述空状态用于指示该数据收发模块在所述数据缓存单元的相应数据缓存空间为空,所述容量用于指示该数据收发模块在所述数据缓存单元的相应数据缓存空间的已使用存储容量或剩余存储容量。
在一种可能的实施方式中,所述数据缓存控制主单元包括至少一个接入通道,各个接入通道分别连接相应的数据收发模块,用于接收相应的数据收发模块的缓存空间配置信息,所述缓存空间配置信息用于确定所述数据收发模块请求的数据缓存空间的大小及优先级。
在一种可能的实施方式中,所述根据各个数据收发模块请求的数据缓存空间的大小及优先级在所述数据缓存单元分配数据缓存空间,包括:
按照各个数据收发模块对应的优先级顺序分配数据缓存空间,各个数据收发模块的数据缓存空间的大小与各个数据收发模块请求的数据缓存空间的大小对应。
在一种可能的实施方式中,所述数据缓存控制主单元还用于:
在接收到第K个数据收发模块的缓存空间配置信息的情况下,确定该缓存空间配置信息中的第K目标数据缓存空间及第K优先级,其中,K为大于1的整数;
若所述数据缓存单元中未分配缓存空间的大小小于所述第K数据缓存空间的大小,则从已分配的缓存空间中优先级小于该第K优先级的数据缓存空间选择缓存空间分配于所述第K个数据收发模块。
在一种可能的实施方式中,所述数据缓存控制主单元还用于:
若两个或两个以上的数据收发模块对应的优先级相同,则按照各个数据收发模块对应的编号分配数据缓存空间,各个数据收发模块的数据缓存空间的大小与各个数据收发模块请求的数据缓存空间的大小对应。
在一种可能的实施方式中,所述装置还包括主控制器,所述通信单元还用于:
在所述存储状态为满状态的情况下,向所述主控制器发送请求数据处理指令,以使得所述主控制器对所述数据缓存单元中相应的数据缓存空间的数据进行处理,并修改该数据缓存空间的存储状态为空状态,所述满状态用于指示该数据收发模块在所述数据缓存单元的相应数据缓存空间已被写满,所述空状态用于指示该数据收发模块在所述数据缓存单元的相应数据缓存空间为空。
在一种可能的实施方式中,所述数据收发模块包括通用异步收发器、通用同步异步收发器。
根据本公开的一方面,提供了一种电子设备,包括所述的数据存储控制装置。
根据本公开的一方面,提供了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为调用所述存储器存储的指令,以执行上述方法。
根据本公开的一方面,提供了一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。
本公开实施例的数据存储控制装置中,各个数据收发模块共用一个数据缓存单元,能够在较小成本的条件下,有效的提升各个数据收发模块的通信传输效率,通过灵活的分配数据缓存空间,能够使数据缓存模块与各个数据收发模块的使用场景相适配,从而使得较小的数据缓存空间满足更多个数据收发模块通信需求,通过各个数据收发模块的数据缓存控制子单元直接完成对数据缓存模块的配置,提高了存取效率,并且数据缓存模块能够处理所有接入数据缓存模块的数据收发模块请求,能够大幅提升连接到同一数据缓存模块的数据收发模块数量,提高了可扩展性及灵活性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。
图1示出了根据本公开实施例的数据存储控制装置的示意图。
图2示出了根据本公开实施例的数据缓存模块与数据收发模块的连接关系示意图。
图3示出了根据本公开实施例的数据缓存模块与数据收发模块的连接关系示意图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在本公开的描述中,需要理解的是,术语“长度”、“宽度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本公开和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本公开的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本公开的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本公开中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本公开中的具体含义。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
另外,为了更好地说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
以控制单元为MCU,数据收发模块为USART为例,目前,相关技术为通常采用:
相关技术1,数据收发模块(如USART)中增加先进先出队列(First in,First out,FIFO),通过数据收发模块中增加FIFO,能够将已经接收的数据在模块内部进行缓存,在数据缓存到一定阈值后,请求CPU介入对数据进行处理,从而有效提升数据传输效率,然而在多个数据收发模块中均增加FIFO,将会显著提升MCU整体的面积。这会使得MCU的成本显著上升,并且限制MCU在小尺寸空间中的应用(指的是需要MCU面积很小的应用场景);
相关技术2,使用直接存储器访问(Direct Memory Access,DMA)进行数据处理,DMA可以在CPU不介入的情况下,将数据收发模块收到的数据搬运至指定的数据存储区。通常MCU中DMA通道数量为5个或者7个,在数据通信过程中一个数据收发模块需要使用2个DMA通道,因此DMA最多能够同时响应的2个或3个数据收发模块并且在实际应用中其他模块也需要使用DMA,因此多个数据收发模块同时使用DMA时,MCU不能够提供足够的DMA通道资源。虽然可以通过增加DMA通道数量的方式,使MCU提供足够多的DMA通道资源。但是DMA通道数量的增加会使得DMA模块的面积以线性方式增长。另外,DMA在数据搬运过程中,需要与CPU竞争使用内部数据总线,DMA进行一次数据搬运操作至少需要4个时钟周期。在数据传输速率较快的应用中,DMA与CPU之间的竞争行为将会影响传输效率;且由于DMA模块与数据存储模块之间物理距离相对较远,DMA数据搬运存在较长的延时,在数据传输速率较快的应用中,物理延时将会影响通信效率;
相关技术3,在相关技术2的基础上在DMA中增加数据缓存区,通过在DMA模块内部增加数据缓存区,DMA将从数据收发模块中获取的数据先缓存在模块内部,然后再搬运至指定的数据存储区,这样做能够减少DMA占用MCU内部数据总线的时间,降低物理延时,提升DMA处理数据收发模块数据的效率。但是相关技术3没有解决MCU中DMA通道资源不足的问题,而每个DMA通道所需的面积显著提升。
针对相关技术存在的缺陷,本公开提出一种数据存储控制装置,所述装置包括数据缓存模块及至少一个数据收发模块,其中,所述数据缓存模块包括数据缓存单元、存储控制单元、第一数据缓存接口单元、数据缓存控制主单元,所述存储控制单元连接于所述数据缓存单元、所述第一数据缓存接口单元及所述数据缓存控制主单元,所述存储控制单元用于在所述数据缓存单元读取数据并通过所述第一数据缓存接口单元发送到所述数据收发模块、或向所述数据缓存单元写入通过所述第一数据缓存接口单元接收的数据,所述数据收发模块包括通信单元、第二数据缓存接口单元及数据缓存控制子单元,所述通信单元用于与外部设备进行数据通信,并通过所述第二数据缓存接口单元与所述第一数据缓存接口单元进行数据通信,所述数据缓存控制子单元连接所述数据缓存控制主单元,所述数据缓存控制主单元用于:根据各个数据收发模块请求的数据缓存空间的大小及优先级在所述数据缓存单元分配数据缓存空间。
本公开实施例的数据存储控制装置中,各个数据收发模块共用一个数据缓存单元,能够在较小成本的条件下,有效的提升各个数据收发模块的通信传输效率,通过灵活的分配数据缓存空间,能够使数据缓存模块与各个数据收发模块的使用场景相适配,从而使得较小的数据缓存空间满足更多个数据收发模块通信需求,通过各个数据收发模块的数据缓存控制子单元直接完成对数据缓存模块的配置,提高了存取效率,并且数据缓存模块能够处理所有接入数据缓存模块的数据收发模块请求,能够大幅提升连接到同一数据缓存模块的数据收发模块数量,提高了可扩展性及灵活性。
请参阅图1,图1示出了根据本公开实施例的数据存储控制装置的示意图。
如图1所示,所述装置包括数据缓存模块10及至少一个数据收发模块20,其中,
所述数据缓存模块10包括数据缓存单元110、存储控制单元120、第一数据缓存接口单元130(图1中为接口130)、数据缓存控制主单元140,所述存储控制单元120连接于所述数据缓存单元110、所述第一数据缓存接口单元130及所述数据缓存控制主单元140,所述存储控制单元120用于在所述数据缓存单元110读取数据并通过所述第一数据缓存接口单元130发送到所述数据收发模块20、或向所述数据缓存单元110写入通过所述第一数据缓存接口单元130接收的数据,
所述数据收发模块20包括通信单元210、第二数据缓存接口单元220(图1中为接口220)及数据缓存控制子单元230(图1中为控制子单元230),所述通信单元210用于与外部设备进行数据通信,并通过所述第二数据缓存接口单元220与所述第一数据缓存接口单元130进行数据通信,
所述数据缓存控制子单元230连接所述数据缓存控制主单元140,所述数据缓存控制主单元140用于:
根据各个数据收发模块20请求的数据缓存空间的大小及优先级在所述数据缓存单元110分配数据缓存空间。
本公开实施例对数据缓存模块10及数据收发模块20的具体实现方式不做限定,对数据缓存单元110、存储控制单元120、第一数据缓存接口单元130、数据缓存控制主单元140的具体实现方式不做限定,对通信单元210、第二数据缓存接口单元220及数据缓存控制子单元230的具体实现方式不做限定,本领域技术人员可以根据实际情况及需要采用合适的方案实现,只要能够实现相应的功能即可。
示例性的,数据缓存单元110可以包括计算机可读存储介质,计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、可编程只读存储器(PROM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。
示例性的,存储控制单元120可以包括存储控制器(英语:Memory Controller),用于按照一定的时序规则对数据缓存单元110的访问进行必要控制,包括地址信号、数据信号以及各种命令信号的控制,使数据收发模块20能够根据自己的要求使用数据缓存单元110上的存储资源。如微处理器与北桥内置的内存控制器控制着必要的逻辑读取和写入DRAM,并每隔一段时间刷新动态随机存取存储器(DRAM)里的内容。对于存储控制器的具体实现方式,本公开实施例不做限定,本领域技术人员可以根据实际情况及需要选择合适的存储控制器。
在一个示例中,第一数据缓存接口单元130、第二数据缓存接口单元220均可以包括多个接口,且接口的数目可以扩展。
在一个示例中,数据缓存控制主单元140、数据缓存控制子单元230均可以包括处理组件,处理组件包括但不限于单独的处理器,或者分立元器件,或者处理器与分立元器件的组合。所述处理器可以包括电子设备中具有执行指令功能的控制器,所述处理器可以按任何适当的方式实现,例如,被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现。在所述处理器内部,可以通过逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器等硬件电路执行所述可执行指令。
在一个示例中,所述数据收发模块20可以包括通用异步收发器(UniversalAsynchronous Receiver Transmitter,UART)、通用同步异步收发器(UniversalSynchronous Asynchronous Receiver Transmitter,USART)等收发器,对此本公开实施例不做限定。
在一个示例中,所述通信单元210可以为通用异步收发器UART中的通信组件,或通用同步异步收发器USART的通信组件,用于实现与外部设备、模块及数据缓存模块10的通信。
在一种可能的实施方式中,所述存储控制单元120还可以用于检测所述数据缓存单元110中各个数据缓存空间的存储状态,并将所述存储状态通过所述第一数据缓存接口单元130发送到所述数据缓存模块10。这样,数据缓存模块10可以根据数据缓存单元110中各个数据缓存空间的存储状态确定读写策略,或与外部的处理器通信,以实现对数据缓存空间的操作。
请参阅图2,图2示出了根据本公开实施例的数据缓存模块10与数据收发模块20的连接关系示意图。
在一种可能的实施方式中,如图2所示,所述第一数据缓存接口单元130可以包括总线接口1310及至少一个信号接口组1320,每个信号接口组1320连接于相应的数据收发模块20,其中,每个信号接口组1320均包括:
读写请求接口,用于传输所述数据收发模块20的读请求信号或所述数据收发模块20的写请求信号,所述读请求信号用于通知所述存储控制单元120从所述数据缓存单元110的相应数据缓存空间读取数据,所述写请求信号用于通知所述存储控制单元120向所述数据缓存单元110的相应数据缓存空间写入数据;
数据缓存状态接口,用于传输各个数据缓存空间的存储状态,所述存储状态包括满状态、空状态及容量的至少一种,所述满状态用于指示该数据收发模块20在所述数据缓存单元110的相应数据缓存空间已被写满,所述空状态用于指示该数据收发模块20在所述数据缓存单元110的相应数据缓存空间为空,所述容量用于指示该数据收发模块20在所述数据缓存单元110的相应数据缓存空间的已使用存储容量或剩余存储容量。
本公开实施例的信号接口组1320的数目可以根据实际情况及需要扩展,以实现数据收发模块20的扩展,这样,多个数据收发模块20共用一个数据缓存模块10,可以提高数据缓存的效率,并且可以降低成本。
示例性的,总线接口1310可以与外部处理器的数据总线接口1310对应,若外部处理器为微处理器MCU,则总线接口1310为通用的MCU数据总线接口1310,与MCU访问数据收发模块20(如USART模块)的接口一致,通过这样的设置,可以实现数据接口的复用,节约成本。
请参阅图3,图3示出了根据本公开实施例的数据缓存模块10与数据收发模块20的连接关系示意图。
在一种可能的实施方式中,如图3所示,所述数据缓存控制主单元140可以包括至少一个接入通道1410,各个接入通道1410分别连接相应的数据收发模块20,用于接收相应的数据收发模块20的缓存空间配置信息,所述缓存空间配置信息用于确定所述数据收发模块20请求的数据缓存空间的大小及优先级。
本公开实施例的接入通道1410的数目可以根据实际情况及需要扩展,以实现数据收发模块20的扩展,这样,多个数据收发模块20共用一个数据缓存模块10,可以提高数据缓存的效率,并且可以降低成本。
各个数据收发模块20通过相应的接入通道1410设置当前USART模块需要的数据缓存空间大小和要求空间的优先级,根据各数据缓存控制子单元230的配置,数据缓存控制主单元140将会改变数据缓存空间的分配。
在一种可能的实施方式中,所述根据各个数据收发模块20请求的数据缓存空间的大小及优先级在所述数据缓存单元110分配数据缓存空间,可以包括:
按照各个数据收发模块20对应的优先级顺序分配数据缓存空间,各个数据收发模块20的数据缓存空间的大小与各个数据收发模块20请求的数据缓存空间的大小对应。
本公开实施例按照各个数据收发模块20对应的优先级顺序分配数据缓存空间,可以提高数据缓存的效率,并可以避免发生冲突。
在一种可能的实施方式中,所述数据缓存控制主单元140还可以用于:
在接收到第K个数据收发模块20的缓存空间配置信息的情况下,确定该缓存空间配置信息中的第K目标数据缓存空间及第K优先级,其中,K为大于1的整数;
若所述数据缓存单元110中未分配缓存空间的大小小于所述第K数据缓存空间的大小,则从已分配的缓存空间中优先级小于该第K优先级的数据缓存空间选择缓存空间分配于所述第K个数据收发模块20。
示例性的,假设第一数据收发模块20、第二数据收发模块20、第三数据收发模块20挂载在数据缓存模块10上,第一数据收发模块20、第二数据收发模块20已提前配置好数据缓存空间,在某一时刻,第三数据收发模块20发出缓存空间信息,所述数据缓存控制主单元140在接收到第三数据收发模块20的缓存空间配置信息的情况下,确定该缓存空间配置信息中的第三目标数据缓存空间及第三优先级,若所述数据缓存单元110中未分配缓存空间的大小小于所述第三数据缓存空间的大小,并假设第一数据收发模块20、第二数据收发模块20、第三数据收发模块20的优先级顺序依次增加,即第三优先级最高,第一数据收发模块20的第一优先级最低,根据“从已分配的缓存空间中优先级小于该第K优先级的数据缓存空间选择缓存空间分配于所述第K个数据收发模块20”,则从第一数据收发模块20的数据缓存空间及前述的未分配缓存空间中选择缓存空间分配于所述第三数据收发模块20,若第一数据收发模块20的数据缓存空间及前述的未分配缓存空间依然小于第三数据收发模块20所需要的第三目标数据缓存空间,则从第一数据收发模块20的数据缓存空间、第二数据收发模块20的数据缓存空间及前述的未分配缓存空间(即数据缓存单元110的所有数据缓存空间)中选择缓存空间分配于所述第三数据收发模块20。
当然,应理解的是各数据收发模块20中要求的数据缓存空间的总大小不能超过数据缓存单元110中数据存储控制的最大值。
在一种可能的实施方式中,所述数据缓存控制主单元140还可以用于:
若两个或两个以上的数据收发模块20对应的优先级相同,则按照各个数据收发模块20对应的编号分配数据缓存空间,各个数据收发模块20的数据缓存空间的大小与各个数据收发模块20请求的数据缓存空间的大小对应。
示例性的,假设第一数据收发模块20、第二数据收发模块20、第三数据收发模块20挂载在数据缓存模块10上,第一数据收发模块20已提前配置好数据缓存空间,在某一时刻,第二数据收发模块20、第三数据收发模块20发出缓存空间信息,所述数据缓存控制主单元140在接收到第二数据收发模块20、第三数据收发模块20的缓存空间配置信息的情况下,确定第二数据收发模块20的第二目标数据缓存空间及第二优先级、第三数据收发模块20的第三目标数据缓存空间及第三优先级,若第二优先级与第三优先级相同,并假设第一数据收发模块20、第二数据收发模块20、第三数据收发模块20的编号分别1001、1002、1003(该编号是示例性的,其具体形式本公开实施例不做限定),则根据“若两个或两个以上的数据收发模块20对应的优先级相同,则按照各个数据收发模块20对应的编号分配数据缓存空间,各个数据收发模块20的数据缓存空间的大小与各个数据收发模块20请求的数据缓存空间的大小对应”,数据缓存控制主单元140可以先为第三数据收发模块20分配数据缓存空间。
本公开实施例对各个数据收发模块20的数据缓存控制子单元230请求数据缓存空间的具体逻辑不做限定,示例性的,不同的数据收发模块20因为其与不同的外设相连,有的外设数据采集更新较快,需要一个大的数据缓存空间,而另外一些外设,数据采集更新较慢,可以要求分配一个较小的数据缓存空间。或者有的外设数据传输的窗口相对集中,进行数据传输时数据传输量很高,但是传输完成后存在很长等待时间,针对这种情况就可以在进行数据传输时要求分给更多的数据缓存空间,而不进行数据传输时,释放数据缓存空间。
在一种可能的实施方式中,所述装置还包括主控制器,所述通信单元210还用于:
在所述存储状态为满状态的情况下,向所述主控制器发送请求数据处理指令,以使得所述主控制器对所述数据缓存单元110中相应的数据缓存空间的数据进行处理,并修改该数据缓存空间的存储状态为空状态,所述满状态用于指示该数据收发模块20在所述数据缓存单元110的相应数据缓存空间已被写满,所述空状态用于指示该数据收发模块20在所述数据缓存单元110的相应数据缓存空间为空。
本公开实施例对主控制器对所述数据缓存单元110中相应的数据缓存空间的数据进行处理的具体方式不做限定,本领域技术人员可以根据实际情况及需要确定合适的处理方式。
本公开实施例在所述存储状态为满状态的情况下,向所述主控制器发送请求数据处理指令,以请求主控制器的接入,对在所述存储状态为满状态的情况下,向所述主控制器发送请求数据处理指令,可以提高数据缓存效率,避免因无法缓存数据导致工作异常。
本公开实施例对主控制器的具体实现方式不做限定,示例性的,主控制器可以包括处理组件,处理组件包括但不限于单独的处理器,或者分立元器件,或者处理器与分立元器件的组合。所述处理器可以包括电子设备中具有执行指令功能的控制器,所述处理器可以按任何适当的方式实现,例如,被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现。在所述处理器内部,可以通过逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器等硬件电路执行所述可执行指令。
以数据收发模块20为USRAT模块为例对数据存储控制装置的执行过程进行示例性介绍。
示例性的,当各USART模块挂载在数据缓存模块10,且开始工作时,数据缓存模块10根据各USART模块中数据缓存控制子单元230中的数据缓存空间需求,对数据缓存器中的数据存储空间进行分配,当然,各数据收发模块20中要求的数据缓存空间的总大小不能超过数据缓存单元110中数据存储控制的最大值,作为一个示例,当小于最大值时,数据缓存控制主单元140可以在接收到数据缓存空间需求的时候即时分配数据缓存空间,如果超过最大值将按照设置优先级分配给各USART模块,在高优先级满足后才会分配给低优先级,如果同一优先级不能满足,将按照设置的USART编号进行空间分配。
示例性的,当数据传输开始时,USART模块向数据缓存模块10发出数据存取请求,数据缓存模块10根据USART模块发出的请求信号,对分配给该USART模块的数据缓存空间进行操作,支持USART模块进行数据传输。
示例性的,当数据缓存模块10检测到分配给USART的数据缓存空间状态为满时,数据缓存模块10将会向USART模块汇报当前的数据缓存空间状态。此时,USART模块可以将根据收到的数据缓存空间状态,向主控制器(例如为CPU)发出相应的介入通信请求。
示例性的,CPU响应USART模块的请求对数据缓存模块10中对应数据缓存空间的数据进行处理,数据处理完成后该数据缓存空间的状态相应发生变化。
示例性的,在整个数据传输过程中,通过不断的重复以上步骤,能够降低主控制器介入USART模块通信传输的频次,从而降低主控制器的负担,有效提升USART模块数据传输的效率,并且单次数据缓存只进行读操作或写操作,能够有效缩短数据总线的占用时间,提升芯片的程序执行效率。
当然,以上介绍是示例性的,不应视为是对本公开实施例的限定。
本公开实施例中,各数据收发模块20共用数据缓存空间,能够在较小成本的条件下(例如相对于在数据收发模块20中增加FIFO)有效的提升数据收发模块20的通信传输效率。通过灵活的分配数据缓存空间,能够使数据缓存模块10与各数据收发模块20的使用场景相适配,从而使得较小的数据缓存空间,满足更多的数据收发模块20通信需求;通过各数据收发模块20中的数据缓存控制子模块完成对数据缓存模块10的配置,不需要软件进行额外的配置;在数据缓存的过程中不需要CPU(主控制器)介入(前述的CPU介入,数据缓存空间已经存满数据或者已经发送空数据,需要CPU填入新的数据或者将已经填入的数据搬走,并不是这里所说的数据缓存过程),并且单次数据缓存只进行读操作或写操作,能够有效缩短数据总线的占用时间,提升芯片的程序执行效率。数据缓存模块10直接与数据收发模块20模块相连,能够处理所有接入数据缓存模块10的数据收发模块20请求,相对于使用DMA,能够大幅提升连接到同一数据缓存模块的数据收发模块20数量。
根据本公开的一方面,提供了一种电子设备,包括所述的数据存储控制装置。
电子设备可以实现为终端设备,终端设备可以是用户设备(User Equipment,UE)、移动设备、用户终端、终端、手持设备、计算设备或者车载设备等,示例性的,一些终端的举例为:手机(Mobile Phone)、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(MobileInternetdevice,MID)、可穿戴设备,虚拟现实(Virtual Reality,VR)设备、增强现实(Augmentedreality,AR)设备、工业控制(Industrial Control)中的无线终端、无人驾驶(Selfdriving)中的无线终端、远程手术(Remote medical Surgery)中的无线终端、智能电网(Smart Grid)中的无线终端、运输安全(Transportation Safety)中的无线终端、智慧城市(Smart City)中的无线终端、智慧家庭(Smart Home)中的无线终端、车联网中的无线终端等。例如,服务器可以是本地服务器,也可以是云服务器。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (10)
1.一种数据存储控制装置,其特征在于,所述装置包括数据缓存模块及至少一个数据收发模块,其中,
所述数据缓存模块包括数据缓存单元、存储控制单元、第一数据缓存接口单元、数据缓存控制主单元,所述存储控制单元连接于所述数据缓存单元、所述第一数据缓存接口单元及所述数据缓存控制主单元,所述存储控制单元用于在所述数据缓存单元读取数据并通过所述第一数据缓存接口单元发送到所述数据收发模块、或向所述数据缓存单元写入通过所述第一数据缓存接口单元接收的数据,
所述数据收发模块包括通信单元、第二数据缓存接口单元及数据缓存控制子单元,所述通信单元用于与外部设备进行数据通信,并通过所述第二数据缓存接口单元与所述第一数据缓存接口单元进行数据通信,
所述数据缓存控制子单元连接所述数据缓存控制主单元,所述数据缓存控制主单元用于:
根据各个数据收发模块请求的数据缓存空间的大小及优先级在所述数据缓存单元分配数据缓存空间。
2.根据权利要求1所述的装置,其特征在于,所述存储控制单元还用于检测所述数据缓存单元中各个数据缓存空间的存储状态,并将所述存储状态通过所述第一数据缓存接口单元发送到所述数据缓存模块。
3.根据权利要求1或2所述的装置,其特征在于,所述第一数据缓存接口单元包括总线接口及至少一个信号接口组,每个信号接口组连接于相应的数据收发模块,其中,每个信号接口组均包括:
读写请求接口,用于传输所述数据收发模块的读请求信号或所述数据收发模块的写请求信号,所述读请求信号用于通知所述存储控制单元从所述数据缓存单元的相应数据缓存空间读取数据,所述写请求信号用于通知所述存储控制单元向所述数据缓存单元的相应数据缓存空间写入数据;
数据缓存状态接口,用于传输各个数据缓存空间的存储状态,所述存储状态包括满状态、空状态及容量的至少一种,所述满状态用于指示该数据收发模块在所述数据缓存单元的相应数据缓存空间已被写满,所述空状态用于指示该数据收发模块在所述数据缓存单元的相应数据缓存空间为空,所述容量用于指示该数据收发模块在所述数据缓存单元的相应数据缓存空间的已使用存储容量或剩余存储容量。
4.根据权利要求1所述的装置,其特征在于,所述数据缓存控制主单元包括至少一个接入通道,各个接入通道分别连接相应的数据收发模块,用于接收相应的数据收发模块的缓存空间配置信息,所述缓存空间配置信息用于确定所述数据收发模块请求的数据缓存空间的大小及优先级。
5.根据权利要求1所述的装置,其特征在于,所述根据各个数据收发模块请求的数据缓存空间的大小及优先级在所述数据缓存单元分配数据缓存空间,包括:
按照各个数据收发模块对应的优先级顺序分配数据缓存空间,各个数据收发模块的数据缓存空间的大小与各个数据收发模块请求的数据缓存空间的大小对应。
6.根据权利要求5所述的装置,其特征在于,所述数据缓存控制主单元还用于:
在接收到第K个数据收发模块的缓存空间配置信息的情况下,确定该缓存空间配置信息中的第K目标数据缓存空间及第K优先级,其中,K为大于1的整数;
若所述数据缓存单元中未分配缓存空间的大小小于所述第K数据缓存空间的大小,则从已分配的缓存空间中优先级小于该第K优先级的数据缓存空间选择缓存空间分配于所述第K个数据收发模块。
7.根据权利要求5所述的装置,其特征在于,所述数据缓存控制主单元还用于:
若两个或两个以上的数据收发模块对应的优先级相同,则按照各个数据收发模块对应的编号分配数据缓存空间,各个数据收发模块的数据缓存空间的大小与各个数据收发模块请求的数据缓存空间的大小对应。
8.根据权利要求2所述的装置,其特征在于,所述装置还包括主控制器,所述通信单元还用于:
在所述存储状态为满状态的情况下,向所述主控制器发送请求数据处理指令,以使得所述主控制器对所述数据缓存单元中相应的数据缓存空间的数据进行处理,并修改该数据缓存空间的存储状态为空状态,所述满状态用于指示该数据收发模块在所述数据缓存单元的相应数据缓存空间已被写满,所述空状态用于指示该数据收发模块在所述数据缓存单元的相应数据缓存空间为空。
9.根据权利要求1所述的装置,其特征在于,所述数据收发模块包括通用异步收发器、通用同步异步收发器。
10.一种电子设备,其特征在于,包括如权利要求1至9中任意一项所述的数据存储控制装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310789479.0A CN116820340A (zh) | 2023-06-29 | 2023-06-29 | 数据存储控制装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310789479.0A CN116820340A (zh) | 2023-06-29 | 2023-06-29 | 数据存储控制装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116820340A true CN116820340A (zh) | 2023-09-29 |
Family
ID=88140581
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310789479.0A Pending CN116820340A (zh) | 2023-06-29 | 2023-06-29 | 数据存储控制装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116820340A (zh) |
-
2023
- 2023-06-29 CN CN202310789479.0A patent/CN116820340A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111679921B (zh) | 内存共享方法、内存共享装置及终端设备 | |
EP3214553A1 (en) | Storage resource access method supporting sr-iov, storage controller and storage device | |
CN114780458A (zh) | 数据处理的方法和存储系统 | |
KR20100138940A (ko) | 가상 메모리 인터페이스 | |
EP3470971B1 (en) | Method, apparatus, and system for accessing memory device | |
CN116204456A (zh) | 数据访问方法及计算设备 | |
CN109977037B (zh) | 一种dma数据传输方法及系统 | |
CN111723030B (zh) | 存储器系统及存储器系统的控制方法 | |
US9213545B2 (en) | Storing data in any of a plurality of buffers in a memory controller | |
KR102106541B1 (ko) | 공유 리소스 액세스 중재 방법 및 이를 수행하기 위한 공유 리소스 액세스 중재 장치 및 공유 리소스 액세스 중재 시스템 | |
US6311257B1 (en) | Method and system for allocating memory for a command queue | |
KR20160081797A (ko) | 버퍼를 갖는 컴퓨팅 시스템 및 그것의 동작 방법 | |
US11966585B2 (en) | Storage device and storage system | |
KR20160056382A (ko) | 세마포어 기능을 갖는 시스템 온 칩 및 그것의 세마포어 구현 방법 | |
CN109062826B (zh) | 数据传输方法及系统 | |
CN111258932A (zh) | 加速ufs协议处理的方法与存储控制器 | |
US9146693B2 (en) | Storage control device, storage system, and storage control method | |
CN115114042A (zh) | 存储数据访问方法、装置、电子设备和存储介质 | |
CN116820340A (zh) | 数据存储控制装置及电子设备 | |
CN111679992A (zh) | 用于管理对共享总线访问的方法和对应的电子设备 | |
KR101549569B1 (ko) | 가비지 컬렉션 수행 방법 및 그 방법을 이용한 플래시 메모리 장치 | |
CN113253939B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
EP3166009A1 (en) | Data processing method and device for storage card | |
US8996772B1 (en) | Host communication device and method with data transfer scheduler | |
CN114020662A (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 |