CN113485647A - 数据写入方法、数据读出方法及先进先出存储器 - Google Patents

数据写入方法、数据读出方法及先进先出存储器 Download PDF

Info

Publication number
CN113485647A
CN113485647A CN202110791095.3A CN202110791095A CN113485647A CN 113485647 A CN113485647 A CN 113485647A CN 202110791095 A CN202110791095 A CN 202110791095A CN 113485647 A CN113485647 A CN 113485647A
Authority
CN
China
Prior art keywords
data
bit width
interfaces
out memory
fifo
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
Application number
CN202110791095.3A
Other languages
English (en)
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.)
Hunan Goke Microelectronics Co Ltd
Original Assignee
Hunan Goke Microelectronics Co Ltd
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 Hunan Goke Microelectronics Co Ltd filed Critical Hunan Goke Microelectronics Co Ltd
Priority to CN202110791095.3A priority Critical patent/CN113485647A/zh
Publication of CN113485647A publication Critical patent/CN113485647A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0626Reducing size or complexity of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Systems (AREA)

Abstract

本发明实施例公开了一种数据写入方法、数据读出方法及先进先出存储器,数据写入方法包括:根据先进先出存储器的工作模式,确定待启用的写入接口的目标数量;将待写入的原始数据按照参考位宽拆分为目标数量的子数据;将目标数量的子数据通过目标数量的写入接口写入先进先出存储器。数据读出方法包括:根据先进先出存储器的工作模式,确定待启用的读出接口的目标数量;将待读出的目标数量的子数据通过目标数量的读出接口从先进先出存储器读出;将目标数量的子数据拼接为原始数据。本申请实现了利用一个先进先出存储器满足不同应用场景的需求,减少了芯片内部的先进先出存储器数量,节约资源,减小芯片面积,同时可以进行多种位宽和深度的扩展。

Description

数据写入方法、数据读出方法及先进先出存储器
技术领域
本发明涉及数据存储领域,尤其涉及一种数据写入方法、数据读出方法及先进先出存储器。
背景技术
先进先出(First Input First Output,FIFO)存储器是常用的数据缓存单元,广泛的应用于各种芯片内,主要用于对连续的数据流进行缓存及对数据进行集中进机和存储,能够确保数据的正确性及实现系统的高速流水运行。但是在不同的应用场景下,需要处理的数据的位宽可能不同,此时就需要添加不同规格的FIFO存储器。但是,由于数据的位宽不同,而过多加入不同规格的FIFO存储器等存储单元,会导致资源浪费、芯片面积增大等一系列问题。
发明内容
针对上述问题,本发明提出一种数据写入方法、数据读出方法及先进先出存储器。具体方案如下:
第一方面,本公开实施例提供了一种数据写入方法,所述方法包括:
根据先进先出存储器的工作模式,确定待启用的写入接口的目标数量;
将待写入的原始数据按照所述先进先出存储器的参考位宽拆分为目标数量的子数据;
将目标数量的子数据通过目标数量的写入接口写入所述先进先出存储器。
根据本公开的一种具体实施方式,所述根据先进先出存储器的工作模式,确定待启用的写入接口的目标数量的步骤之前,所述方法还包括:
获取所述原始数据的实际位宽;
根据所述实际位宽与所述工作模式的对应关系,将所述先进先出存储器的工作模式切换为与所述原始数据的实际位宽对应的工作模式。
根据本公开的一种具体实施方式,所述将待写入的原始数据按照所述先进先出存储器的参考位宽拆分为目标数量的子数据的步骤,包括:
根据所述原始数据的字符序列,按照所述参考位宽将所述原始数据依次拆分;
将拆分得到的各字符段作为一个子数据。
根据本公开的一种具体实施方式,所述将目标数量的子数据通过目标数量的写入接口写入所述先进先出存储器的步骤,包括:
将各子数据分别通过一个写入接口同时写入所述先进先出存储器;
将所述先进先出存储器的写地址指针增加所述目标数量。
根据本公开的一种具体实施方式,所述根据先进先出存储器的工作模式,确定待启用的写入接口的目标数量的步骤之前,所述方法还包括:
提供一所述先进先出存储器,其中,所述先进先出存储器的位宽为所述参考位宽,所述先进先出存储器包括多个写入接口;
确定至少一种可写入数据位宽;
根据至少一种可写入数据位宽与所述参考位宽的倍数关系,定义数据位宽与所述工作模式的对应关系;
根据至少一种可写入数据位宽与所述参考位宽的倍数关系,为各工作模式配置可启用的写入接口的数量。
第二方面,本公开实施例还提供了一种数据读出方法,所述方法包括:
根据先进先出存储器的工作模式,确定待启用的读出接口的目标数量;
通过目标数量的读出接口从所述先进先出存储器读出目标数量的子数据;
将所述目标数量的子数据拼接为原始数据。
根据本公开的一种具体实施方式,所述根据先进先出存储器的工作模式,确定待启用的读出接口的目标数量的步骤之前,所述方法还包括:
获取所述原始数据的实际位宽;
根据所述实际位宽与所述工作模式的对应关系,将所述先进先出存储器的工作模式切换为与所述原始数据的实际位宽对应的工作模式。
根据本公开的一种具体实施方式,所述将所述目标数量的子数据拼接为原始数据的步骤,包括:
根据所述原始数据的字符序列,将所述目标数量的子数据依次拼接;
将拼接得到的字符段作为原始数据。
根据本公开的一种具体实施方式,所述通过目标数量的读出接口从所述先进先出存储器读出目标数量的子数据的步骤,包括:
将各子数据分别通过一个读出接口同时从所述先进先出存储器读出;
将所述先进先出存储器的读地址指针增加所述目标数量。
第三方面,本公开实施例还提供了一种先进先出存储器,所述先进先出存储器的位宽为参考位宽;
所述先进先出存储器包括多个写入接口和多个读出接口;
所述先进先出存储器包括多个工作模式,所述工作模式用于确定待启用的写入接口或读出接口的目标数量。
第四方面,本公开实施例还提供了一种计算机设备,包括先进先出存储器以及处理器,所述先进先出存储器存储有计算机程序,所述计算机程序在所述处理器上运行时执行第一方面所述的数据写入方法或第二方面所述的数据读出方法。
第五方面,本公开实施例还提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序在处理器上运行时执行第一方面所述的数据写入方法或第二方面所述的数据读出方法。
本申请实施例公开的数据写入方法、数据读出方法及先进先出存储器,通过判断先进先出存储器的工作模式,确定需要启用的写入接口或读出接口的数量,将数据拆分为与接口格式相同的数据大小写入先进先出存储器或从先进先出存储器读出。通过上述方案,本公开实现了先进先出存储器的复用,能够满足不同应用场景的需求,减少了芯片内部的先进先出存储器数量,节约资源,减小芯片面积,同时可以进行多种位宽和深度的扩展。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对本发明保护范围的限定。在各个附图中,类似的构成部分采用类似的编号。
图1示出了本公开实施例提供的一种数据写入方法的流程示意图;
图2示出了本公开实施例提供的一种数据写入方法的部分流程示意图;
图3示出了本公开实施例提供的一种先进先出存储器的数据读写的过程示意图;
图4示出了本公开实施例提供的一种数据读出方法的流程示意图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
在下文中,可在本发明的各种实施例中使用的术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。
此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本发明的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本发明的各种实施例中被清楚地限定。
实施例1
图1为本公开实施例提供的一种数据写入方法的流程示意图。如图1所示,所述方法包括:
S101,根据先进先出存储器的工作模式,确定待启用的写入接口的目标数量;
具体地,先进先出存储器在不同的应用场景下,会接收不同数据格式的原始数据,每种应用场景对应不同的工作模式,每种工作模式下启用的写入接口的数量是不同的。
S102,将待写入的原始数据按照所述先进先出存储器的参考位宽拆分为目标数量的子数据;
具体实施时,先进先出存储器的参考位宽是固定的,先进先出存储器的深度也是固定的,写入接口与先进先出存储器的参考位宽也是一致的。在接收到待写入的原始数据后,需要先根据参考位宽将原始数据拆分为多个参考位宽的子数据,其中,子数据的数量与启用的写入接口的数量一致。
S103,将目标数量的子数据通过目标数量的写入接口写入所述先进先出存储器。
具体地,将位宽为参考位宽的子数据通过写入接口写入先进先出存储器,同一原始数据拆分的全部子数据需要同时写入先进先出存储器。
本公开实施例提供的数据写入方法,通过判断先进先出存储器的工作模式,确定需要启用的写入接口的数量,将数据拆分为与接口格式相同的数据大小写入先进先出存储器。通过上述方案,本公开实现了先进先出存储器的复用,能够满足不同应用场景的需求,减少了芯片内部的先进先出存储器数量,节约资源,减小芯片面积,同时可以进行多种位宽和深度的扩展。
根据本公开的一种具体实施方式,所述根据先进先出存储器的工作模式,确定待启用的写入接口的目标数量的步骤之前,所述方法还包括:
获取所述原始数据的实际位宽;
具体地,首先获得将要写入的原始数据的实际位宽,同时将实际位宽与参考位宽进行比较,判断先进先出存储器的工作模式。
根据所述实际位宽与所述工作模式的对应关系,将所述先进先出存储器的工作模式切换为与所述原始数据的实际位宽对应的工作模式。
具体实施时,根据实际位宽与参考位宽的倍数关系,将先进先出存储器的工作模式切换到对应的工作模式,确定要启用的写入接口的数量。需要说明的是,实际位宽与参考位宽的倍数关系是整数关系,即实际位宽是参考位宽的整数倍。
根据本公开的一种具体实施方式,所述将待写入的原始数据按照所述先进先出存储器的参考位宽拆分为目标数量的子数据的步骤,包括:
根据所述原始数据的字符序列,按照所述参考位宽将所述原始数据依次拆分;
具体地,在将原始数据写入或读出先进先出存储器时,需要保证写入前和读出后的原始数据是一致的。因此,首先要获取原始数据的字符序列,将原始数据按照字符序列的顺序进行拆分,拆分后的每个子数据的位宽都与参考位宽相同。
将拆分得到的各字符段作为一个子数据。
具体实施时,拆分后得到的每个字符段的位宽都相同,同时将所有的字符段按照字符序列的顺序拼接之后,可以得到原始数据。
根据本公开的一种具体实施方式,所述将目标数量的子数据通过目标数量的写入接口写入所述先进先出存储器的步骤,包括:
将各子数据分别通过一个写入接口同时写入所述先进先出存储器;
具体地,由于每个子数据的位宽都与写入接口的位宽相同,因此,每个子数据都需要通过不同的一个写入接口写入先进先出存储器。又由于先进先出存储器会将先写入的数据先读出,为了保证读出的数据与原始数据一致,需要将所有的子数据按照字符序列同时写入先进先出存储器。
将所述先进先出存储器的写地址指针增加所述目标数量。
具体实施时,先进先出存储器在写入数据时,会为每一个数据按顺序分配一个地址。在写入数据时,先进先出存储器的写地址指针也会相应增加,避免出现不同数据占用同一存储空间现象。在本方案中,写地址指针增加的数量与启用的写入接口的数量是一致的。如启用一个写入接口,则每次写地址指针增加1,启用两个接口则每次写地址指针增加2,在此不再一一赘述。
根据本公开的一种具体实施方式,如图2所示,所述根据先进先出存储器的工作模式,确定待启用的写入接口的目标数量的步骤之前,所述方法还包括:
S201,提供一所述先进先出存储器,其中,所述先进先出存储器的位宽为所述参考位宽,所述先进先出存储器包括多个写入接口;
具体地,首先获取一个先进先出存储器,并将先进先出存储器的位宽和深度设置为一个固定值。这里可以根据实际应用场景灵活设置先进先出存储器的固定位宽和固定深度。
S202,确定至少一种可写入数据位宽;
具体实施时,因为先进先出存储器的写入接口的位宽是固定的,能写入先进先出存储器的数据位宽需要是写入接口位宽的整数倍。
S203,根据至少一种可写入数据位宽与所述参考位宽的倍数关系,定义数据位宽与所述工作模式的对应关系;
具体地,根据可以可写入数据的位宽与参考位宽之间的倍数关系,定义数据位宽与工作模式的对应关系。即每一种工作模式对应一种数据位宽,数据位宽与工作模式之间时一一对应的。
S204,根据至少一种可写入数据位宽与所述参考位宽的倍数关系,为各工作模式配置可启用的写入接口的数量。
具体实施时,根据可写入数据的位宽与参考位宽的倍数关系,确定每种工作模式下需要启用的写入接口的数量。
通过上述方案,本公开实现了先进先出存储器的复用,能够满足不同应用场景的需求,减少了芯片内部的先进先出存储器数量,节约资源,减小芯片面积,同时可以进行多种位宽和深度的扩展。
根据本公开的一种具体实施方式,参见图3,以传输数据位宽为128bits、256bits这两种应用场景为例。
假定两种场景中通过计算得到传输数据位宽为128bits时需要的FIFO存储器深度为8,位宽为256bits时需要的FIFO存储器深度为4。正常情况下两种应用场景需要两个FIFO:一个深度为8、位宽为128bits的FIFO存储器和一个深度为4、位宽为256bits的FIFO存储器。
而在本方案中,首先先设计一个深度为8、位宽为128bits的FIFO存储器,将FIFO存储器的写入接口和读出接口分别定义为两个。定义一个FIFO存储器工作模式信号fifo_mode,用来表明当前的应用场景:fifo_mode为0时,传输数据位宽为128bits;fifo_mode为1时,传输数据位宽为256bits。
在将数据写入FIFO存储器时,首先采样fifo_mode信号,表明当前的应用场景。当fifo_mode为0时,每次启用一个写入接口,写入一个128bits数据,写地址指针加1。当fifo_mode为1时,每次启用两个写数据接口,将256bits数据分为两个128bits数据,写入两个地址,写地址指针加2。
通过本方案,可以将一个深度为8、位宽为128bits的FIFO存储器复用达到两个FIFO存储器的效果。
实施例2
图4为本公开实施例提供的一种数据读出方法的流程示意图。如图3所示,所述方法包括:
S401,根据先进先出存储器的工作模式,确定待启用的读出接口的目标数量;
具体地,先进先出存储器在不同的应用场景下,会读出不同数据格式的原始数据,每种应用场景对应不同的工作模式,每种工作模式下启用的读出接口的数量是不同的。
S402,通过目标数量的读出接口从所述先进先出存储器读出目标数量的子数据;
具体实施时,为了保证读出的数据与原始数据相同,需要将待读出的子数据同时从多个读出接口读出。启用的读出接口的数量与待读出的子数据的数量一致。
S403,将所述目标数量的子数据拼接为原始数据。
具体地,原始数据是按照字符序列的顺序拆分的,按照字符序列的顺序将读出的子数据拼接为原始数据。
根据本公开的一种具体实施方式,所述根据先进先出存储器的工作模式,确定待启用的读出接口的目标数量的步骤之前,所述方法还包括:
获取所述原始数据的实际位宽;
具体实施时,首先获得将要读出的原始数据的实际位宽,同时将实际位宽与参考位宽进行比较,判断先进先出存储器的工作模式。
根据所述实际位宽与所述工作模式的对应关系,将所述先进先出存储器的工作模式切换为与所述原始数据的实际位宽对应的工作模式。
具体地,根据实际位宽与参考位宽的倍数关系,将先进先出存储器的工作模式切换到对应的工作模式,确定要启用的读出接口的数量。需要说明的是,实际位宽与参考位宽的倍数关系是整数关系,即实际位宽是参考位宽的整数倍。
根据本公开的一种具体实施方式,所述将所述目标数量的子数据拼接为原始数据的步骤,包括:
根据所述原始数据的字符序列,将所述目标数量的子数据依次拼接;将拼接得到的字符段作为原始数据。
具体实施时,根据原始数据的字符序列,将目标数量的子数据按照顺序依次拼得到原始数据。
根据本公开的一种具体实施方式,所述通过目标数量的读出接口从所述先进先出存储器读出目标数量的子数据的步骤,包括:
将各子数据分别通过一个读出接口同时从所述先进先出存储器读出;
具体地,由于每个子数据的位宽都与读出接口的位宽相同,因此,每个子数据都需要通过不同的一个读出接口从先进先出存储器读出。又由于先进先出存储器会将先写入的数据先读出,为了保证读出的数据与原始数据一致,需要将所有的子数据按照字符序列同时从先进先出存储器读出。
将所述先进先出存储器的读地址指针增加所述目标数量。
具体实施时,先进先出存储器在读出数据时,会为每一个数据按顺序分配一个地址。在本方案中,读地址指针增加的数量与启用的读出接口的数量是一致的。如启用一个读出接口,则每次读地址指针增加1,启用两个接口则每次读地址指针增加2,在此不再一一赘述。
本发明实施例公开的数据读出方法,通过判断先进先出存储器的工作模式,确定需要启用的读出接口的数量,将拆分为与接口格式相同的数据从先进先出存储器读出,再将读出的数据拼接为原始数据。通过上述方案,本公开实现了先进先出存储器的复用,能够满足不同应用场景的需求,减少了芯片内部的先进先出存储器数量,节约资源,减小芯片面积,同时可以进行多种位宽和深度的扩展。
根据本公开的一种具体实施方式,参见图3,以传输数据位宽为128bits、256bits这两种应用场景为例。
在从FIFO存储器读出数据时,首先采样fifo_mode信号,表明当前的应用场景。当fifo_mode为0时,每次启用一个读出接口,读出一个128bits数据,读地址指针加1。当fifo_mode为1时,每次启用两个读数据接口,将两个128bits数据同时读出,读地址指针加2。此处以8*128bits的FIFO存储器复用为8*128bits和4*256bits的FIFO存储器为例,解释了本方案的原理,可以在此基础上进行更多种位宽和深度情况的扩展。
实施例3
本公开实施例还公开了一种先进先出存储器,所述先进先出存储器的位宽为参考位宽;
所述先进先出存储器包括多个写入接口和多个读出接口;
所述先进先出存储器包括多个工作模式,所述工作模式用于确定待启用的写入接口或读出接口的目标数量。
综上所述,本公开实施例提供的先进先出存储器,通过判断先进先出存储器的工作模式,确定需要启用的写入接口或读出接口的数量,将数据拆分为与接口格式相同的数据大小写入先进先出存储器或从先进先出存储器读出。通过上述方案,本公开实现了先进先出存储器的复用,能够满足不同应用场景的需求,减少了芯片内部的先进先出存储器数量,节约资源,减小芯片面积,同时可以进行多种位宽和深度的扩展。所提供的先进先出存储器的具体实施过程可以参见上述图1、图2、图3及图4所示的实施例提供的数据写入方法及数据读出方法的具体实施过程,在此不再一一赘述。
此外,本公开实施例还提供了一种计算机设备,包括先进先出存储器以及处理器,所述先进先出存储器存储有计算机程序,所述计算机程序在所述处理器上运行时执行如图1和图2所示的数据写入方法或如图3所示的数据读出方法。
另外,本公开实施例还提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序在处理器上运行时执行如图1和图2所示的数据写入方法或如图3所示的数据读出方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和结构图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,结构图和/或流程图中的每个方框、以及结构图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或更多个模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是智能手机、个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。

Claims (12)

1.一种数据写入方法,其特征在于,所述方法包括:
根据先进先出存储器的工作模式,确定待启用的写入接口的目标数量;
将待写入的原始数据按照所述先进先出存储器的参考位宽拆分为目标数量的子数据;
将目标数量的子数据通过目标数量的写入接口写入所述先进先出存储器。
2.根据权利要求1所述的数据写入方法,其特征在于,所述根据先进先出存储器的工作模式,确定待启用的写入接口的目标数量的步骤之前,所述方法还包括:
获取所述原始数据的实际位宽;
根据所述实际位宽与所述工作模式的对应关系,将所述先进先出存储器的工作模式切换为与所述原始数据的实际位宽对应的工作模式。
3.根据权利要求1所述的数据写入方法,其特征在于,所述将待写入的原始数据按照所述先进先出存储器的参考位宽拆分为目标数量的子数据的步骤,包括:
根据所述原始数据的字符序列,按照所述参考位宽将所述原始数据依次拆分;
将拆分得到的各字符段作为一个子数据。
4.根据权利要求3所述的数据写入方法,其特征在于,所述将目标数量的子数据通过目标数量的写入接口写入所述先进先出存储器的步骤,包括:
将各子数据分别通过一个写入接口同时写入所述先进先出存储器;
将所述先进先出存储器的写地址指针增加所述目标数量。
5.根据权利要求1所述的数据写入方法,其特征在于,所述根据先进先出存储器的工作模式,确定待启用的写入接口的目标数量的步骤之前,所述方法还包括:
提供一所述先进先出存储器,其中,所述先进先出存储器的位宽为所述参考位宽,所述先进先出存储器包括多个写入接口;
确定至少一种可写入数据位宽;
根据至少一种可写入数据位宽与所述参考位宽的倍数关系,定义数据位宽与所述工作模式的对应关系;
根据至少一种可写入数据位宽与所述参考位宽的倍数关系,为各工作模式配置可启用的写入接口的数量。
6.一种数据读出方法,其特征在于,所述方法包括:
根据先进先出存储器的工作模式,确定待启用的读出接口的目标数量;
通过目标数量的读出接口从所述先进先出存储器读出目标数量的子数据;
将所述目标数量的子数据拼接为原始数据。
7.根据权利要求6所述的数据读出方法,其特征在于,所述根据先进先出存储器的工作模式,确定待启用的读出接口的目标数量的步骤之前,所述方法还包括:
获取所述原始数据的实际位宽;
根据所述实际位宽与所述工作模式的对应关系,将所述先进先出存储器的工作模式切换为与所述原始数据的实际位宽对应的工作模式。
8.根据权利要求6所述的数据读出方法,其特征在于,所述将所述目标数量的子数据拼接为原始数据的步骤,包括:
根据所述原始数据的字符序列,将所述目标数量的子数据依次拼接;
将拼接得到的字符段作为原始数据。
9.根据权利要求6所述的数据读出方法,其特征在于,所述通过目标数量的读出接口从所述先进先出存储器读出目标数量的子数据的步骤,包括:
将各子数据分别通过一个读出接口同时从所述先进先出存储器读出;
将所述先进先出存储器的读地址指针增加所述目标数量。
10.一种先进先出存储器,其特征在于,所述先进先出存储器的位宽为参考位宽;
所述先进先出存储器包括多个写入接口和多个读出接口;
所述先进先出存储器包括多个工作模式,所述工作模式用于确定待启用的写入接口或读出接口的目标数量。
11.一种计算机设备,其特征在于,包括先进先出存储器以及处理器,所述先进先出存储器存储有计算机程序,所述计算机程序在所述处理器上运行时执行权利要求1至5中任一项所述的数据写入方法或权利要求6至9中任一项所述的数据读出方法。
12.一种计算机可读存储介质,其特征在于,其存储有计算机程序,所述计算机程序在处理器上运行时执行权利要求1至5中任一项所述的数据写入方法或权利要求6至9中任一项所述的数据读出方法。
CN202110791095.3A 2021-07-13 2021-07-13 数据写入方法、数据读出方法及先进先出存储器 Pending CN113485647A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110791095.3A CN113485647A (zh) 2021-07-13 2021-07-13 数据写入方法、数据读出方法及先进先出存储器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110791095.3A CN113485647A (zh) 2021-07-13 2021-07-13 数据写入方法、数据读出方法及先进先出存储器

Publications (1)

Publication Number Publication Date
CN113485647A true CN113485647A (zh) 2021-10-08

Family

ID=77938435

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110791095.3A Pending CN113485647A (zh) 2021-07-13 2021-07-13 数据写入方法、数据读出方法及先进先出存储器

Country Status (1)

Country Link
CN (1) CN113485647A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114987058A (zh) * 2022-06-27 2022-09-02 珠海天威技术开发有限公司 耗材芯片及其数据读写方法、耗材容器
CN116540951A (zh) * 2023-07-06 2023-08-04 苏州仰思坪半导体有限公司 存储器、数据存取方法、存储装置及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1159629A (zh) * 1994-12-16 1997-09-17 摩托罗拉公司 用于可变宽度数据转移的可调深度/宽度先进先出缓冲器
KR19990061928A (ko) * 1997-12-31 1999-07-26 서평원 선입선출 메모리의 데이터 확장 입력장치
US6526495B1 (en) * 2000-03-22 2003-02-25 Cypress Semiconductor Corp. Multiport FIFO with programmable width and depth
CN101825997A (zh) * 2010-01-28 2010-09-08 北京天碁科技有限公司 一种异步先入先出存储器
US20140164655A1 (en) * 2012-12-06 2014-06-12 Nvidia Corporation Folded fifo memory generator

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1159629A (zh) * 1994-12-16 1997-09-17 摩托罗拉公司 用于可变宽度数据转移的可调深度/宽度先进先出缓冲器
KR19990061928A (ko) * 1997-12-31 1999-07-26 서평원 선입선출 메모리의 데이터 확장 입력장치
US6526495B1 (en) * 2000-03-22 2003-02-25 Cypress Semiconductor Corp. Multiport FIFO with programmable width and depth
CN101825997A (zh) * 2010-01-28 2010-09-08 北京天碁科技有限公司 一种异步先入先出存储器
US20140164655A1 (en) * 2012-12-06 2014-06-12 Nvidia Corporation Folded fifo memory generator

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114987058A (zh) * 2022-06-27 2022-09-02 珠海天威技术开发有限公司 耗材芯片及其数据读写方法、耗材容器
CN116540951A (zh) * 2023-07-06 2023-08-04 苏州仰思坪半导体有限公司 存储器、数据存取方法、存储装置及存储介质
CN116540951B (zh) * 2023-07-06 2023-09-08 苏州仰思坪半导体有限公司 存储器、数据存取方法、存储装置及存储介质

Similar Documents

Publication Publication Date Title
CN113485647A (zh) 数据写入方法、数据读出方法及先进先出存储器
CN105320490A (zh) 用于异步fifo电路的方法和设备
CN104424030B (zh) 多进程操作共享内存的方法和装置
CN102023843B (zh) 函数的调用方法、装置及智能卡
WO2017050064A1 (zh) 共享内存数据库的内存管理方法及装置
CN112445729B (zh) 操作地址确定方法、PCIe系统、电子设备及存储介质
CN102866954A (zh) 内存分配的方法及装置
CN114217738A (zh) 一种动态队列式循环存储方法、装置、设备及介质
US6112268A (en) System for indicating status of a buffer based on a write address of the buffer and generating an abort signal before buffer overflows
CN116431099A (zh) 数据的处理方法、多输入输出队列电路及存储介质
CN115562587A (zh) 应用于存储介质的数据存储方法、装置、设备及存储介质
CN114826793B (zh) 一种rop链的检测方法、装置及介质
CN103714179A (zh) 一种系统日志的多语言支持方法和系统
CN110968538B (zh) 一种数据缓冲方法和装置
CN115712394A (zh) 数据读写方法、装置、计算机设备及可读存储介质
CN116457751A (zh) 一种写数据通路结构和芯片
CN113434476B (zh) 数据同步方法、装置、设备、系统、存储介质及程序产品
KR101439844B1 (ko) 저장 공간 할당 방법 및 장치
CN112015672A (zh) 一种存储系统中数据处理方法、装置、设备及存储介质
CN113064743A (zh) 一种环形缓冲区读写方法和装置
CN109189339B (zh) 一种存储系统下自动配置缓存加速方法
CN117079703B (zh) 用于测试芯片内嵌存储器的方法及装置、电子设备
US5590279A (en) Memory data copying apparatus
CN105260132A (zh) 一种热加载磁盘过滤驱动的方法与设备
JP2873229B2 (ja) バッファメモリ制御装置

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20211008

RJ01 Rejection of invention patent application after publication