CN111930648A - 一种缓存配置方法、装置及电子设备和存储介质 - Google Patents
一种缓存配置方法、装置及电子设备和存储介质 Download PDFInfo
- Publication number
- CN111930648A CN111930648A CN202010791342.5A CN202010791342A CN111930648A CN 111930648 A CN111930648 A CN 111930648A CN 202010791342 A CN202010791342 A CN 202010791342A CN 111930648 A CN111930648 A CN 111930648A
- Authority
- CN
- China
- Prior art keywords
- cache
- size
- target endpoint
- determining
- data packet
- 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
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Information Transfer Systems (AREA)
Abstract
本申请公开了一种缓存配置方法、装置及一种电子设备和计算机可读存储介质,该方法包括:确定目标端点的下次传输事务,并确定下次传输事务中最大数据包大小;根据最大数据包大小计算需要配置的缓存大小,并根据缓存大小确定目标端点在共用缓存中对应的起始地址和缓存大小;基于目标端点在共用缓存中对应的起始地址和缓存大小为目标端点配置缓存空间。本申请提供的缓存配置方法,多个端点共用一个缓存,并且每个端点的缓存空间大小是动态可配置的,根据每次传输事务的最大数据包大小配置所需的缓存空间,完成一次传输事务后可选择重新配置所需缓存空间,提高了共用缓存空间利用率,减小USB设备内缓存空间大小,有效降低了芯片面积及功耗。
Description
技术领域
本申请涉及计算机技术领域,更具体地说,涉及一种缓存配置方法、装置及一种电子设备和一种计算机可读存储介质。
背景技术
USB(Universal Serial Bus)是一种用于数据通信的高速串行总线,具有传输速度快、连接灵活、独立供电等优点,可以连接键盘、鼠标、大容量存储设备等多种设备,广泛应用于电脑、服务器等电子设备中。在USB设备控制器中通常存在多个EP(端点,Endpoint),包含接收与发送端点,分别用作中断传输、批量传输等不同传输方式,而每个端点通常都需要对应使用数据缓存FIFO(First Input First Output),用于缓存接收或者发送的数据包。
在相关技术中,每个发送或接收端点分别对应使用一个数据缓存FIFO,每个FIFO的空间大小固定,即要求USB控制器中包含多个FIFO,在端点数目较多的情况下,USB控制器对应需要的FIFO空间会较大,从而增加芯片的面积。
因此,如何减小USB设备中的缓存空间大小是本领域技术人员需要解决的技术问题。
发明内容
本申请的目的在于提供一种缓存配置方法、装置及一种电子设备和一种计算机可读存储介质,减小了USB设备中的缓存空间大小。
为实现上述目的,本申请提供了一种缓存配置方法,应用于USB设备中的目标端点,所述方法包括:
确定所述目标端点的下次传输事务,并确定所述下次传输事务中最大数据包大小;
根据所述最大数据包大小计算需要配置的缓存大小,并根据所述缓存大小确定所述目标端点在共用缓存中对应的起始地址和缓存大小;
基于所述目标端点在共用缓存中对应的起始地址和缓存大小为所述目标端点配置缓存空间。
其中,所述根据所述最大数据包大小计算需要配置的缓存大小,包括:
将所述最大数据包大小的整数倍确定为需要配置的缓存大小。
其中,所述确定所述目标端点的下次传输事务,包括:
端点启动配置后,确定所述目标端点的下次传输事务。
其中,所述确定所述目标端点的下次传输事务,包括:
本次传输事务开始后,确定所述目标端点的下次传输事务。
其中,所述基于所述目标端点在共用缓存中对应的起始地址和缓存大小为所述目标端点配置缓存空间,包括:
本次传输事务完成后,基于所述目标端点在共用缓存中对应的起始地址和缓存大小为所述目标端点配置缓存空间。
其中,所述本次传输事务完成后,基于所述目标端点在共用缓存中对应的起始地址和缓存大小为所述目标端点配置缓存空间,包括:
本次传输事务完成后,根据本次传输事务中的最大数据包大小和下次传输事务中的最大数据包大小计算最大数据包大小变化量;
判断所述最大数据包大小变化量是否满足预设条件;
若是,则基于所述目标端点在共用缓存中对应的起始地址和缓存大小为所述目标端点配置缓存空间。
其中,所述判断所述最大数据包大小变化量是否满足预设条件,包括:
判断所述最大数据包大小变化量是否大于本次传输事务中的最大数据包大小的预设比例。
为实现上述目的,本申请提供了一种缓存配置装置,应用于USB设备中的目标端点,所述方法包括:
确定模块,用于确定所述目标端点的下次传输事务,并确定所述下次传输事务中最大数据包大小;
计算模块,用于根据所述最大数据包大小计算需要配置的缓存大小,并根据所述缓存大小确定所述目标端点在共用缓存中对应的起始地址和缓存大小;
配置模块,用于基于所述目标端点在共用缓存中对应的起始地址和缓存大小为所述目标端点配置缓存空间。
为实现上述目的,本申请提供了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述缓存配置方法的步骤。
为实现上述目的,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述缓存配置方法的步骤。
通过以上方案可知,本申请提供的一种缓存配置方法,包括:确定所述目标端点的下次传输事务,并确定所述下次传输事务中最大数据包大小;根据所述最大数据包大小计算需要配置的缓存大小,并根据所述缓存大小确定所述目标端点在共用缓存中对应的起始地址和缓存大小;基于所述目标端点在共用缓存中对应的起始地址和缓存大小为所述目标端点配置缓存空间。
本申请提供的缓存配置方法,多个端点共用一个缓存,并且每个端点的缓存空间大小是动态可配置的,根据每次传输事务的最大数据包大小配置所需的缓存空间,完成一次传输事务后可选择重新配置所需缓存空间,提高了共用缓存空间利用率,减小USB设备内缓存空间大小,有效降低了芯片面积及功耗。本申请还公开了一种缓存配置装置及一种电子设备和一种计算机可读存储介质,同样能实现上述技术效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1为根据一示例性实施例示出的一种缓存配置方法的流程图;
图2为根据一示例性实施例示出的另一种缓存配置方法的流程图;
图3为根据一示例性实施例示出的USB设备控制器的结构图;
图4为根据一示例性实施例示出的一种缓存配置装置的结构图;
图5为根据一示例性实施例示出的一种电子设备的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例公开了一种缓存配置方法,减小了USB设备中的缓存空间大小。
参见图1,根据一示例性实施例示出的一种缓存配置方法的流程图,如图1所示,包括:
S101:确定所述目标端点的下次传输事务,并确定所述下次传输事务中最大数据包大小;
本实施例的执行主体为USB设备,该USB设备中包括多个端点,多个端点共用一个缓存空间,即该USB设备中的共用缓存。在本实施例中,每个端点对应的缓存空间可以为FIFO,USB设备中的共用缓存可以为RAM(中文全称:随机存取存储器,英文全称:RandomAccess Memory)。本实施例的目的在于根据目标端点中某一传输事务的最大数据包大小在执行该传输事务前为目标端点分配缓存空间,实现缓存空间的动态分配。
在本步骤中,确定目标端点的下次传输事务中的最大数据包大小。此处不对本实施例的触发条件进行限定,可以在端点启动配置后自动触发本实施例的步骤,即本步骤包括:端点启动配置后,确定所述目标端点的下次传输事务,并确定所述下次传输事务中最大数据包大小。当然也可以在本次传输事务开始后自动触发本实施例的步骤,即本步骤包括:本次传输事务开始后,确定所述目标端点的下次传输事务,并确定所述下次传输事务中最大数据包大小。同时当某个端点进入未启用状态时,选择释放占用的缓存空间,直到下次启用时再重新配置缓存空间,即触发本实施例的步骤。
S102:根据所述最大数据包大小计算需要配置的缓存大小,并根据所述缓存大小确定所述目标端点在共用缓存中对应的起始地址和缓存大小;
在本步骤中,根据下次传输事务中最大数据包大小计算需要配置的缓存大小,并将其对应转换成共用缓存中起始地址及所用FIFO大小。优选的,将所述最大数据包大小的整数倍确定为需要配置的缓存大小。例如,需要配置的缓存大小可以为最大数据包大小的两倍。
S103:基于所述目标端点在共用缓存中对应的起始地址和缓存大小为所述目标端点配置缓存空间。
在本步骤中,基于目标端点在共用缓存中对应的起始地址和缓存大小为目标端点配置缓存空间,即在共用缓存中为目标端点分配缓存空间。
若本实施例为本次传输事务开始后进行触发,则在本次传输事务完成后执行本步骤,即本步骤包括:本次传输事务完成后,基于所述目标端点在共用缓存中对应的起始地址和缓存大小为所述目标端点配置缓存空间。
本申请实施例提供的缓存配置方法,多个端点共用一个缓存,并且每个端点的缓存空间大小是动态可配置的,根据每次传输事务的最大数据包大小配置所需的缓存空间,完成一次传输事务后可选择重新配置所需缓存空间,提高了共用缓存空间利用率,减小USB设备内缓存空间大小,有效降低了芯片面积及功耗。
本申请实施例公开了一种缓存配置方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。具体的:
参见图2,根据一示例性实施例示出的另一种缓存配置方法的流程图,如图2所示,包括:
S201:本次传输事务开始后,确定所述目标端点的下次传输事务,并确定所述下次传输事务中最大数据包大小;
S202:根据所述最大数据包大小计算需要配置的缓存大小,并根据所述缓存大小确定所述目标端点在共用缓存中对应的起始地址和缓存大小;
S203:本次传输事务完成后,根据本次传输事务中的最大数据包大小和下次传输事务中的最大数据包大小计算最大数据包大小变化量;
S204:判断所述最大数据包大小变化量是否满足预设条件;若是,则进入S205:
在本实施例中,在本次传输事务完成后,可以依据本次传输事务中的最大数据包大小和下次传输事务中的最大数据包大小确定是否需要重新配置目标端点的缓存空间大小。在具体实施中,根据本次传输事务中的最大数据包大小和下次传输事务中的最大数据包大小计算最大数据包大小变化量,判断最大数据包大小变化量是否满足预设条件;若是,则重新配置目标端点的缓存空间大小;若否,则不需要重新配置目标端点的缓存空间大小,即在下次传输事务中继续沿用本次传输事务的缓存空间大小。
作为一种可行的实施方式,所述判断所述最大数据包大小变化量是否满足预设条件的步骤可以包括:判断所述最大数据包大小变化量是否大于本次传输事务中的最大数据包大小的预设比例。例如,若最大数据包大小变化量不超过本次传输事务中的最大数据包大小10%的情况下不需要重新配置目标端点的缓存空间大小。
S205:基于所述目标端点在共用缓存中对应的起始地址和缓存大小为所述目标端点配置缓存空间。
由此可见,在本实施例中,USB设备中的多个端点共用一个缓存,并且每个端点的缓存空间大小是动态可配置的。USB设备中每个端点使用时,根据下次传输事务中的最大数据包大小计算需配置FIFO大小,对应转换成共用缓存中起始地址及缓存大小,本次传输事务完成后可以依据本次传输事务中的最大数据包大小和下次传输事务中的最大数据包大小确定是否需要重新配置目标端点的缓存空间大小。不满足预设条件时不需要重新配置,提供了缓存空间的配置效率。
下面介绍本申请提供的一种应用实施例,具体的,如图3所示,USB设备控制器包括协议处理模块、DMA(中文全称:直接存储器访问,英文全称:Direct Memory Access)模块、端点控制模块、FIFO控制模块和RAM。
协议处理模块用于完成USB协议处理,遵循USB协议,支持控制传输、中断传输、批量传输及同步传输,进行usb数据包的拆包组包,添加或拆解包头、CRC(中文全称:循环冗余校验,英文全称:Cyclic Redundancy Check)校验位等。
DMA模块用于完成RAM与外部存储设备的数据高速传输,提高数据传输效率,DMA接口为AHB(中文全称:高级高性能总线,英文全称:Advanced High Performance Bus)的master接口,启动DMA传输时,设置传输起始地址及本次传输的数据包大小,通过AHB总线完成RAM与外部存储设备的数据搬移。
端点控制模块用于完成USB控制器内部各端点的配置,每个端点对应一个唯一编号,配置端点时需通过端点编号选择对应端点;端点使能位控制端点是否启用;端点方向位配置端点是发送端点还是接收端点;端点属性位控制端点是支持哪一种传输协议,分别是控制传输端点、中断传输端点、批量传输端点及同步传输端点。
FIFO控制模块用于完成每个端点的FIFO空间大小动态配置,在端点启动配置后,通过该端点的下次传输事务中的最大数据包大小计算所需FIFO大小,通常FIFO大小为最大数据包大小的两倍,由此可得到该端点对应在共用缓存RAM中的起始地址及所需FIFO大小,完成本次传输事务后,重新读取该端点的下次传输事务中的最大数据包大小计算所需FIFO大小,重新得到该端点对应在共用RAM中的起始地址及所需FIFO大小。为提高整体配置效率,通常在下次最大数据包大小变动不超过10%的情况下不必重新配置该端点FIFO空间。同时当某个端点进入未启用状态时,选择释放占用的FIFO空间,直到下次启用时再重新配置FIFO空间。依次类推,每个端点都采取此种方式配置FIFO空间。
RAM模块为双端口的可读写RAM,用于缓存USB控制器内所有端点的数据包,通常采用同步双端口RAM。
下面对本申请实施例提供的一种缓存配置装置进行介绍,下文描述的一种缓存配置装置与上文描述的一种缓存配置方法可以相互参照。
参见图4,根据一示例性实施例示出的一种缓存配置装置的结构图,如图4所示,包括:
确定模块401,用于确定所述目标端点的下次传输事务,并确定所述下次传输事务中最大数据包大小;
计算模块402,用于根据所述最大数据包大小计算需要配置的缓存大小,并根据所述缓存大小确定所述目标端点在共用缓存中对应的起始地址和缓存大小;
配置模块403,用于基于所述目标端点在共用缓存中对应的起始地址和缓存大小为所述目标端点配置缓存空间。
本申请实施例提供的缓存配置装置,多个端点共用一个缓存,并且每个端点的缓存空间大小是动态可配置的,根据每次传输事务的最大数据包大小配置所需的缓存空间,完成一次传输事务后可选择重新配置所需缓存空间,提高了共用缓存空间利用率,减小USB设备内缓存空间大小,有效降低了芯片面积及功耗。
在上述实施例的基础上,作为一种优选实施方式,所述计算模块402包括:
第一确定单元,用于将所述最大数据包大小的整数倍确定为需要配置的缓存大小;
第二确定单元,用于根据所述缓存大小确定所述目标端点在共用缓存中对应的起始地址和缓存大小。
在上述实施例的基础上,作为一种优选实施方式,所述确定模块401具体为端点启动配置后,确定所述目标端点的下次传输事务,并确定所述下次传输事务中最大数据包大小的模块。
在上述实施例的基础上,作为一种优选实施方式,所述确定模块401具体为本次传输事务开始后,确定所述目标端点的下次传输事务,并确定所述下次传输事务中最大数据包大小的模块。
在上述实施例的基础上,作为一种优选实施方式,所述配置模块403具体为本次传输事务完成后,基于所述目标端点在共用缓存中对应的起始地址和缓存大小为所述目标端点配置缓存空间的模块。
在上述实施例的基础上,作为一种优选实施方式,所述配置模块403包括:
计算单元,用于本次传输事务完成后,根据本次传输事务中的最大数据包大小和下次传输事务中的最大数据包大小计算最大数据包大小变化量;
判断单元,用于判断所述最大数据包大小变化量是否满足预设条件;若是,则启动配置单元的工作流程;
配置单元,用于基于所述目标端点在共用缓存中对应的起始地址和缓存大小为所述目标端点配置缓存空间。
在上述实施例的基础上,作为一种优选实施方式,所述判断单元具体为判断所述最大数据包大小变化量是否大于本次传输事务中的最大数据包大小的预设比例的模块。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本申请还提供了一种电子设备,参见图5,本申请实施例提供的一种电子设备500的结构图,如图5所示,可以包括处理器11和存储器12。该电子设备500还可以包括多媒体组件13,输入/输出(I/O)接口14,以及通信组件15中的一者或多者。
其中,处理器11用于控制该电子设备500的整体操作,以完成上述的缓存配置方法中的全部或部分步骤。存储器12用于存储各种类型的数据以支持在该电子设备500的操作,这些数据例如可以包括用于在该电子设备500上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器12可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件13可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器12或通过通信组件15发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口14为处理器11和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件15用于该电子设备500与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near FieldCommunication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件15可以包括:Wi-Fi模块,蓝牙模块,NFC模块。
在一示例性实施例中,电子设备500可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的缓存配置方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述缓存配置方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器12,上述程序指令可由电子设备500的处理器11执行以完成上述的缓存配置方法。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种缓存配置方法,其特征在于,应用于USB设备中的目标端点,所述方法包括:
确定所述目标端点的下次传输事务,并确定所述下次传输事务中最大数据包大小;
根据所述最大数据包大小计算需要配置的缓存大小,并根据所述缓存大小确定所述目标端点在共用缓存中对应的起始地址和缓存大小;
基于所述目标端点在共用缓存中对应的起始地址和缓存大小为所述目标端点配置缓存空间。
2.根据权利要求1所述缓存配置方法,其特征在于,所述根据所述最大数据包大小计算需要配置的缓存大小,包括:
将所述最大数据包大小的整数倍确定为需要配置的缓存大小。
3.根据权利要求1所述缓存配置方法,其特征在于,所述确定所述目标端点的下次传输事务,包括:
端点启动配置后,确定所述目标端点的下次传输事务。
4.根据权利要求1所述缓存配置方法,其特征在于,所述确定所述目标端点的下次传输事务,包括:
本次传输事务开始后,确定所述目标端点的下次传输事务。
5.根据权利要求4所述缓存配置方法,其特征在于,所述基于所述目标端点在共用缓存中对应的起始地址和缓存大小为所述目标端点配置缓存空间,包括:
本次传输事务完成后,基于所述目标端点在共用缓存中对应的起始地址和缓存大小为所述目标端点配置缓存空间。
6.根据权利要求5所述缓存配置方法,其特征在于,所述本次传输事务完成后,基于所述目标端点在共用缓存中对应的起始地址和缓存大小为所述目标端点配置缓存空间,包括:
本次传输事务完成后,根据本次传输事务中的最大数据包大小和下次传输事务中的最大数据包大小计算最大数据包大小变化量;
判断所述最大数据包大小变化量是否满足预设条件;
若是,则基于所述目标端点在共用缓存中对应的起始地址和缓存大小为所述目标端点配置缓存空间。
7.根据权利要求6所述缓存配置方法,其特征在于,所述判断所述最大数据包大小变化量是否满足预设条件,包括:
判断所述最大数据包大小变化量是否大于本次传输事务中的最大数据包大小的预设比例。
8.一种缓存配置装置,其特征在于,应用于USB设备中的目标端点,所述方法包括:
确定模块,用于确定所述目标端点的下次传输事务,并确定所述下次传输事务中最大数据包大小;
计算模块,用于根据所述最大数据包大小计算需要配置的缓存大小,并根据所述缓存大小确定所述目标端点在共用缓存中对应的起始地址和缓存大小;
配置模块,用于基于所述目标端点在共用缓存中对应的起始地址和缓存大小为所述目标端点配置缓存空间。
9.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述缓存配置方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述缓存配置方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010791342.5A CN111930648B (zh) | 2020-08-07 | 2020-08-07 | 一种缓存配置方法、装置及电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010791342.5A CN111930648B (zh) | 2020-08-07 | 2020-08-07 | 一种缓存配置方法、装置及电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111930648A true CN111930648A (zh) | 2020-11-13 |
CN111930648B CN111930648B (zh) | 2023-01-10 |
Family
ID=73308117
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010791342.5A Active CN111930648B (zh) | 2020-08-07 | 2020-08-07 | 一种缓存配置方法、装置及电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111930648B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114490459A (zh) * | 2022-01-27 | 2022-05-13 | 重庆物奇微电子有限公司 | 数据传输方法、装置、设备、接收机和存储介质 |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1266515A (zh) * | 1997-08-12 | 2000-09-13 | 爱特梅尔股份有限公司 | 通用串行总线装置控制器 |
US6151644A (en) * | 1998-04-17 | 2000-11-21 | I-Cube, Inc. | Dynamically configurable buffer for a computer network |
US6185641B1 (en) * | 1997-05-01 | 2001-02-06 | Standard Microsystems Corp. | Dynamically allocating space in RAM shared between multiple USB endpoints and USB host |
US6279052B1 (en) * | 1998-01-13 | 2001-08-21 | Intel Corporation | Dynamic sizing of FIFOs and packets in high speed serial bus applications |
CN1311940A (zh) * | 1998-08-07 | 2001-09-05 | 艾利森电话股份有限公司 | 用于atm服务器的链路层流量控制方法 |
US20050005039A1 (en) * | 2003-05-20 | 2005-01-06 | Seiko Epson Corporation | Data transfer control device, electronic instrument, and data transfer control method |
JP2005202794A (ja) * | 2004-01-16 | 2005-07-28 | Ricoh Co Ltd | データ通信システム |
CN1756261A (zh) * | 2004-09-29 | 2006-04-05 | 华为技术有限公司 | 一种基于sctp端点的缓冲区管理方法 |
CN101739298A (zh) * | 2008-11-27 | 2010-06-16 | 国际商业机器公司 | 共享缓存管理方法和系统 |
CN101937406A (zh) * | 2009-06-29 | 2011-01-05 | 研祥智能科技股份有限公司 | 一种VxWorks操作系统中实现驱动1394设备的方法和系统 |
US20110289243A1 (en) * | 2010-05-21 | 2011-11-24 | Renesas Electronics Corporation | Communication control device, data communication method and program |
CN102567259A (zh) * | 2010-12-27 | 2012-07-11 | 北京国睿中数科技股份有限公司 | 面向高速通信接口的低功耗缓冲装置 |
CN103744816A (zh) * | 2014-02-18 | 2014-04-23 | 威盛电子股份有限公司 | 通用串行总线设备以及其数据传输方法 |
CN103778071A (zh) * | 2014-01-20 | 2014-05-07 | 华为技术有限公司 | 缓存的空间分配方法及装置 |
CN105335320A (zh) * | 2014-08-14 | 2016-02-17 | 飞思卡尔半导体公司 | 具有可动态配置的端点分配的usb设备 |
US20190335534A1 (en) * | 2018-04-30 | 2019-10-31 | Lenovo (Singapore) Pte. Ltd. | Establishing an ip multimedia subsystem session |
CN111475435A (zh) * | 2020-03-13 | 2020-07-31 | 苏州浪潮智能科技有限公司 | 一种存储介质共享方法、装置及电子设备和存储介质 |
-
2020
- 2020-08-07 CN CN202010791342.5A patent/CN111930648B/zh active Active
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6185641B1 (en) * | 1997-05-01 | 2001-02-06 | Standard Microsystems Corp. | Dynamically allocating space in RAM shared between multiple USB endpoints and USB host |
CN1266515A (zh) * | 1997-08-12 | 2000-09-13 | 爱特梅尔股份有限公司 | 通用串行总线装置控制器 |
US6279052B1 (en) * | 1998-01-13 | 2001-08-21 | Intel Corporation | Dynamic sizing of FIFOs and packets in high speed serial bus applications |
US6151644A (en) * | 1998-04-17 | 2000-11-21 | I-Cube, Inc. | Dynamically configurable buffer for a computer network |
CN1311940A (zh) * | 1998-08-07 | 2001-09-05 | 艾利森电话股份有限公司 | 用于atm服务器的链路层流量控制方法 |
US20050005039A1 (en) * | 2003-05-20 | 2005-01-06 | Seiko Epson Corporation | Data transfer control device, electronic instrument, and data transfer control method |
JP2005202794A (ja) * | 2004-01-16 | 2005-07-28 | Ricoh Co Ltd | データ通信システム |
CN1756261A (zh) * | 2004-09-29 | 2006-04-05 | 华为技术有限公司 | 一种基于sctp端点的缓冲区管理方法 |
CN101739298A (zh) * | 2008-11-27 | 2010-06-16 | 国际商业机器公司 | 共享缓存管理方法和系统 |
CN101937406A (zh) * | 2009-06-29 | 2011-01-05 | 研祥智能科技股份有限公司 | 一种VxWorks操作系统中实现驱动1394设备的方法和系统 |
US20110289243A1 (en) * | 2010-05-21 | 2011-11-24 | Renesas Electronics Corporation | Communication control device, data communication method and program |
CN102567259A (zh) * | 2010-12-27 | 2012-07-11 | 北京国睿中数科技股份有限公司 | 面向高速通信接口的低功耗缓冲装置 |
CN103778071A (zh) * | 2014-01-20 | 2014-05-07 | 华为技术有限公司 | 缓存的空间分配方法及装置 |
CN103744816A (zh) * | 2014-02-18 | 2014-04-23 | 威盛电子股份有限公司 | 通用串行总线设备以及其数据传输方法 |
CN105335320A (zh) * | 2014-08-14 | 2016-02-17 | 飞思卡尔半导体公司 | 具有可动态配置的端点分配的usb设备 |
US20190335534A1 (en) * | 2018-04-30 | 2019-10-31 | Lenovo (Singapore) Pte. Ltd. | Establishing an ip multimedia subsystem session |
CN111475435A (zh) * | 2020-03-13 | 2020-07-31 | 苏州浪潮智能科技有限公司 | 一种存储介质共享方法、装置及电子设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
DEREK LIU: ""USB Device Development with the MC9S08JM60"", 《FREESCALE SEMICONDUCTOR》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114490459A (zh) * | 2022-01-27 | 2022-05-13 | 重庆物奇微电子有限公司 | 数据传输方法、装置、设备、接收机和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111930648B (zh) | 2023-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102245247B1 (ko) | 트리거된 동작을 이용하는 gpu 원격 통신 | |
US9053252B2 (en) | Storage expansion apparatus and server | |
US8520563B2 (en) | Interface device, communications system, non-volatile storage device, communication mode switching method and integrated circuit | |
JP5551512B2 (ja) | 通信制御装置、データ通信方法及びプログラム | |
WO2021135574A1 (zh) | 数据存储方法、装置及终端设备 | |
EP3767482A2 (en) | Packet transmission method and apparatus | |
CN113032293A (zh) | 缓存管理器及控制部件 | |
CN111930648B (zh) | 一种缓存配置方法、装置及电子设备和存储介质 | |
CN114265800A (zh) | 中断消息处理方法、装置、电子设备及可读存储介质 | |
CN111930678A (zh) | 一种数据传输方法、装置及电子设备和存储介质 | |
EP3862885A1 (en) | Resource management method and apparatus | |
CN111026697A (zh) | 核间通信方法、系统、电子器件以及电子设备 | |
EP3188446B1 (en) | Remote resource access method and switching device | |
CN112306693B (zh) | 数据包的处理方法和设备 | |
EP4057143A1 (en) | Resource adjusting method and apparatus | |
JP2019149086A (ja) | データ処理装置及びデータ転送方法 | |
CN112463028B (zh) | 一种i/o处理方法、系统、设备及计算机可读存储介质 | |
KR101168095B1 (ko) | 광대역 스테레오 코덱 인터페이스에서 송수신 선입선출 구조를 통해 데이터 통신하는 방법 및 장치 | |
CN116136790A (zh) | 任务处理方法和装置 | |
CN116529721A (zh) | 按需可编程原子内核加载 | |
CN113031849A (zh) | 直接内存存取单元及控制部件 | |
US10009252B2 (en) | Flow entry delivery method and communication system | |
WO2021244252A1 (zh) | SerDes控制方法、装置及存储介质 | |
CN108491339B (zh) | 一种信号处理方法与电子设备 | |
CN117290277A (zh) | 一种amp系统的核间通信的方法、装置及电子设备 |
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 |