CN113434545B - 数据缓存装置及数据提供方法 - Google Patents
数据缓存装置及数据提供方法 Download PDFInfo
- Publication number
- CN113434545B CN113434545B CN202110615957.7A CN202110615957A CN113434545B CN 113434545 B CN113434545 B CN 113434545B CN 202110615957 A CN202110615957 A CN 202110615957A CN 113434545 B CN113434545 B CN 113434545B
- Authority
- CN
- China
- Prior art keywords
- bit
- data
- bits
- input data
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/211—Schema design and management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Communication Control (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种数据缓存装置及数据提供方法,其中,该装置包括:第一存储器,用于存储输入数据;第二存储器,用于存储依据字节位宽生成的使能信号;第三存储器,用于存储依据数据位宽生成的数据结束信号;输出控制单元,用于对齐取出输入数据、使能信号及数据结束信号,根据取出的使能信号中的各位依次确认取出的输入数据中的各位的有效性及是否为一个字节的最后一位,以及根据取出的数据结束信号的各位确认取出的输入数据是否为取出的输入数据的最后一位,保留确认有效的输入数据中的位,并结合使能信号中的位和数据结束信号中的位构造位,根据保留的输入数据的位和构造的位组合得到输出数据;对各数据移位。通过上述方案能实现高效数据供给。
Description
技术领域
本发明涉及数据及数据库处理技术领域,尤其涉及一种数据缓存装置及数据提供方法。
背景技术
随着数据量的增加,数据库访问延时越来越大,许多曾经在小数据上用传统方法很容易完成的任务,如今在大数据上就变得非常困难。目前最快的SSD存储可以达到12GB/s的读取速度,但即便这样的速度,如果数据库有15TB大小,想要用完整检索的方式完成一次查询仍然需要33小时。为了加快数据库查询速度,可以通过设计数据库专用处理器的方法来提高性能。
然而,在数据库中,大部分操作都是对数据进行遍历,若要通过设计数据库专用处理器来提高数据库性能,就要面临如何为数据库专用处理器的数据处理模块提供高效的数据供给和缓存的问题。
发明内容
有鉴于此,本发明实施例提供了一种数据缓存装置及数据提供方法,以实现高效的数据供给。
为了达到上述目的,本发明采用以下方案实现:
根据本发明实施例的一个方面,提供了一种数据缓存装置,包括:
第一存储器,用于存储输入数据;
第二存储器,用于存储依据输入数据的字节位宽生成的使能信号;
第三存储器,用于存储依据输入数据的数据位宽生成的数据结束信号;
输出控制单元,用于:
分别从所述第一存储器、所述第二存储器及所述第三存储器对齐取出所述数据位宽的输入数据、所述字节位宽的使能信号及所述数据结束信号;
根据取出的使能信号中的各位依次确认取出的输入数据中的各位的有效性及是否为一个所述字节位宽的字节的最后一位,以及根据取出的数据结束信号的各位确认取出的输入数据是否为取出的所述数据位宽的输入数据的最后一位;
保留确认有效的输入数据中的位,并结合取出的使能信号中的位和取出的数据结束信号中的位构造表示相应情况的位;
根据保留的输入数据的位和构造的位组合得到输出数据;对取出的使能信号、取出的数据结束信号、及取出的输入数据进行移位,以溢出其确认过的位。
在一些实施例中,数据缓存装置,还包括:第四存储器,用于:存储输入数据的属性数据;
所述输出控制单元,还用于:
分别从所述第一存储器、所述第二存储器、所述第三存储器及所述第四存储器对齐取出所述数据位宽的输入数据、所述字节位宽的使能信号、所述数据结束信号、及所述属性数据;
根据取出的使能信号中的各位依次确认取出的输入数据中的各位的有效性及是否为一个所述字节位宽的字节的最后一位,以及根据取出的数据结束信号的各位确认取出的输入数据是否为取出的所述数据位宽的输入数据的最后一位;
保留确认有效的输入数据中的位和相应的属性数据中的位,并结合取出的使能信号中的位和取出的数据结束信号中的位构造表示相应情况的位;
根据保留的输入数据的位、构造的位、及保留的属性数据的位组合得到输出数据;对取出的使能信号、取出的数据结束信号、取出的输入数据、及取出的属性数据进行移位,以溢出其确认过的位。
在一些实施例中,数据缓存装置,还包括:
输入控制单元,用于:
在接收到输入数据、控制信号、数据有效信号、依据输入数据的字节位宽生成的使能信号、及依据输入数据的数据位宽生成的数据结束信号的情况下,确认控制信号中用于标识缓存装置的位是否与设定的有效控制位相同;
若控制信号中用于标识缓存装置的位与设定的有效控制位相同,在数据有效信号的位有效的情况下,将输入数据、使能信号及数据结束信号分别存储至所述第一存储器、所述第二存储器及所述第三存储器。
在一些实施例中,所述的数据缓存装置,还包括
查询控制单元,用于接收查询信号,依据查询信号确定所述第一存储器中已存储的数据的个数,以确认所述第一存储器剩余可插入的数据的个数。
本发明实施例的数据缓存装置和数据提供方法,能够实现将输入数据由原来的数据位宽转换为字节的位宽,从而能够实现高效数据供给。
根据本发明实施例的另一个方面,提供了一种数据缓存装置,包括:多个上述任一实施例所述的数据缓存装置。
根据本发明实施例的又一个方面,提供了一种数据提供方法,适用于上述任一实施例所述的数据缓存装置,所述方法包括:
分别从第一存储器、第二存储器及第三存储器对齐取出输入数据、使能信号及数据结束信号;其中,第一存储器用于存储输入数据;第二存储器用于存储依据输入数据的字节位宽生成的使能信号;第三存储器用于存储依据输入数据的数据位宽生成的数据结束信号;
根据取出的使能信号中的各位依次确认取出的输入数据中的各位的有效性及是否为一个所述字节位宽的字节的最后一位,以及根据取出的数据结束信号的各位确认取出的输入数据是否为取出的所述数据位宽的输入数据的最后一位;
保留确认有效的输入数据中的位,并结合取出的使能信号中的位和取出的数据结束信号中的位构造表示相应情况的位;
根据保留的输入数据的位和构造的位组合得到输出数据;对取出的使能信号、取出的数据结束信号、及取出的输入数据进行移位,以溢出其确认过的位;输出得到的输出数据。
本发明实施例的数据缓存装置和数据提供方法,能够实现将输入数据由原来的数据位宽转换为字节的位宽,从而能够实现高效数据供给。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是本发明一实施例的数据缓存装置的结构示意图;
图2是本发明另一实施例的数据缓存装置的结构示意图;
图3是本发明另一实施例的数据缓存装置的结构示意图;
图4是本发明另一实施例的数据缓存装置的结构示意图;
图5是本发明另一实施例的数据缓存装置的结构示意图;
图6是本发明另一实施例的数据缓存装置的结构示意图;
图7是本发明一实施例的数据提供方法的流程示意图;
图8是本发明一实施例的数据缓存装置的结构示意图;
图9是本发明一实施例的数据写入操作的方法流程示意图;
图10是本发明一实施例的数据查询操作的方法流程示意图;
图11是本发明一实施例的数据输出的方法流程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
在利用数据库专用处理器(硬件)来提高数据库性能时,需要将硬件执行操作所需数据缓存至硬件,然后才能在硬件上执行操作来加速数据的效率。然而,缓存至硬件的数据位宽和字节位宽可能不同,这导致缓存装置供给数据输出的效率大大降低。
为了解决上述问题,本发明提供了一种数据缓存装置,以通过实现数据位宽到字节位宽的转换来提高数据供给效率。
图1是本发明一实施例的数据缓存装置的结构示意图。参见图1,一些实施例的数据缓存装置可包括第一存储器101、第二存储器102、第三存储器103、输出控制单元104等。其中,第一存储器101用于存储输入数据;第二存储器102用于存储依据输入数据的字节位宽生成的使能信号;第三存储器103用于存储依据输入数据的数据位宽生成的数据结束信号。所述第一存储器、所述第二存储器及所述第三存储器中的一个或多个可以为FIFO存储器(先进先出存储器)。数据缓存装置中的控制信号可以由控制器产生,例如,使能信号、数据结束信号等可由读控制器产生。
另外,输出控制单元104可以用于:(1)分别从所述第一存储器、所述第二存储器及所述第三存储器对齐取出所述数据位宽的输入数据、所述字节位宽的使能信号及所述数据结束信号;(2)根据取出的使能信号中的各位依次确认取出的输入数据中的各位的有效性及是否为一个所述字节位宽的字节的最后一位,以及根据取出的数据结束信号的各位确认取出的输入数据是否为取出的所述数据位宽的输入数据的最后一位;(3)保留确认有效的输入数据中的位,并结合取出的使能信号中的位和取出的数据结束信号中的位构造表示相应情况的位;(4)根据保留的输入数据的位和构造的位组合得到输出数据;对取出的使能信号、取出的数据结束信号、及取出的输入数据进行移位,以溢出其确认过的位。需要说明的是,(1)~(4)可以是对应数据供给方法所包含的步骤。
进一步地,所述输出控制单元,具体用于:(1)分别从所述第一存储器、所述第二存储器及所述第三存储器对齐取出所述数据位宽的输入数据、所述字节位宽的使能信号及所述数据结束信号;(2)根据取出的使能信号中的各位依次确认取出的输入数据中的各位的有效性及是否为一个所述字节位宽的字节的最后一位,以及根据取出的数据结束信号的各位确认取出的输入数据是否为取出的所述数据位宽的输入数据的最后一位;(3)在确认取出的使能信号中的位有效且不是一个所述字节位宽的字节的最后一位、以及确认取出的输入数据不是取出的所述数据位宽的输入数据的最后一位的情况下,保留确认有效的输入数据中的位,并结合取出的使能信号中的位和取出的数据结束信号中的位构造表示相应情况的第一种组合的位;根据保留的输入数据的位和构造的位组合得到输出数据;对取出的使能信号、取出的数据结束信号、及取出的输入数据进行移位,以溢出其确认过的位;(4)在确认取出的使能信号中的位有效且不是一个所述字节位宽的字节的最后一位、以及确认取出的输入数据是取出的所述数据位宽的输入数据的最后一位的情况下,保留确认有效的输入数据中的位,并结合取出的使能信号中的位和取出的数据结束信号中的位构造表示相应情况的所述第一种组合的位;根据保留的输入数据的位和构造的位组合得到输出数据;结束对本次从所述第一存储器取出的所述数据位宽的输入数据的输出处理;(5)在确认取出的使能信号中的位有效且是一个所述字节位宽的字节的最后一位、以及确认取出的输入数据是取出的所述数据位宽的输入数据的最后一位的情况下,保留确认有效的输入数据中的位,并结合取出的使能信号中的位和取出的数据结束信号中的位构造表示相应情况的第二种组合的位;根据保留的输入数据的位和构造的位组合得到输出数据;结束对本次从所述第一存储器取出的所述数据位宽的输入数据的输出处理;(6)在确认取出的使能信号中的位有效且是一个所述字节位宽的字节的最后一位、以及确认取出的输入数据不是取出的所述数据位宽的输入数据的最后一位的情况下,保留确认有效的输入数据中的位,并结合取出的使能信号中的位和取出的数据结束信号中的位构造表示相应情况的第三种组合的位;根据保留的输入数据的位和构造的位组合得到输出数据;对取出的使能信号、取出的数据结束信号、及取出的输入数据进行移位,以溢出其确认过的位;结束对从所述第一存储器取出的所述数据位宽的输入数据的本次所述字节位宽的字节的输出处理。
其中,(3)~(6)可以对应不同情况的控制过程,不限定先后顺序。可以通过循环执行(1)~(6)中的一个或多个控制过程从而实现这个数据位宽的一个输入数据的转换,或者还可以继续对下一个输入数据进行输出处理。(1)~(6)可以是对应一些实施例的数据供给方法所包含的步骤。
对于情况(3),可以根据取出的使能信号中的确认过的位的下一位确认取出的输入数据中的确认过的位的下一位的有效性及是否为下一个所述字节位宽的字节的最后一位,以及根据取出的数据结束信号的确认过的位的下一位确认取出的输入数据是否为取出的所述数据位宽的输入数据的最后一位。
对于情况(4),可以再次分别从所述第一存储器、所述第二存储器及所述第三存储器对齐取出下一个所述数据位宽的输入数据、下一个所述字节位宽的使能信号及下一个所述数据结束信号;(结束本数据包的输出处理)。
对于情况(5),可以再次分别从所述第一存储器、所述第二存储器及所述第三存储器对齐取出下一个所述数据位宽的输入数据、下一个所述字节位宽的使能信号及下一个所述数据结束信号。
对于情况(6),可以根据取出的使能信号中的确认过的位的下一位确认取出的输入数据中的确认过的位的下一位的有效性及是否为下一个所述字节位宽的字节的最后一位,以及根据取出的数据结束信号的确认过的位的下一位确认取出的输入数据是否为取出的所述数据位宽的输入数据的最后一位。
在一些实施例中,可以先确认第一存储其中有数据再开始取数据进行输出处理。示例性地,所述输出控制单元,还可用于:在分别从所述第一存储器、所述第二存储器及所述第三存储器对齐取出所述数据位宽的输入数据、所述字节位宽的使能信号及所述数据结束信号之前,确认所述第一存储器不为空。
输入数据的数据位宽、输入数据的字节位宽、使能信号的位宽、数据结束信号的位宽等可以根据实际情况或需要确定。例如,输入数据的数据位宽可以为512位,输入数据的字节位宽可以为8位。其他实施例中,输入数据的字节位宽不排除可以为16位、32位等。例如,所述使能信号的位宽可以为64位,所述数据结束信号的位宽可以为1位。
进一步地,可以利用上述输出控制单元实现由512位输入数据转换为8位字节位宽的数据。
示例性地,所述输出控制单元,更具体用于:(1)分别从所述第一存储器、所述第二存储器及所述第三存储器对齐取出512位的输入数据、8位的使能信号及1位的数据结束信号;(2)根据8位的使能信号中的各位依次确认取出的输入数据中的各位的有效性及是否为一个8位的字节的最后一位,以及根据取出的1位的数据结束信号确认取出的输入数据是否为取出的512位的输入数据的最后一位;(3)在取出的使能信号中的位为11时,确认取出的使能信号中的位有效且不是一个8位的字节的最后一位,在取出的数据结束信号为0时,确认取出的输入数据不是取出的512位的输入数据的最后一位;保留确认有效的输入数据中的位,并结合取出的使能信号中的位和取出的数据结束信号中的位构造表示相应情况的第一种组合的位01;以保留的输入数据的位作为低8位,以构造的位组合01作为高2位,得到位宽大于或等于十位的输出数据;对取出的使能信号、取出的数据结束信号、及取出的输入数据分别左移一位、左移一位、及左移八位,以溢出其确认过的位;(4)在取出的使能信号中的位为11时,确认取出的使能信号中的位有效且不是一个8位的字节的最后一位,在取出的数据结束信号为1时,确认取出的输入数据是取出的512位的输入数据的最后一位的情况下;保留确认有效的输入数据中的位,并结合取出的使能信号中的位11和取出的数据结束信号中的位0构造表示相应情况的所述第一种组合的位01;以保留的输入数据的位作为低8位,以构造的位组合01作为高2位,得到位宽大于或等于十位的输出数据;结束对本次从所述第一存储器取出的512位的输入数据的输出处理;(5)在取出的使能信号中的位为10时,确认取出的使能信号中的位有效且是一个8位的字节的最后一位,在取出的数据结束信号为1时,确认取出的输入数据是取出的512位的输入数据的最后一位的情况下;保留确认有效的输入数据中的位,并结合取出的使能信号中的位10和取出的数据结束信号中的位1构造表示相应情况的第二种组合的位11;以保留的输入数据的位作为低8位,以构造的位组合11作为高2位,得到位宽大于或等于十位的输出数据;结束对本次从所述第一存储器取出的512位的输入数据的输出处理;(6)在取出的使能信号中的位为10时,确认取出的使能信号中的位有效且是一个8位的字节的最后一位,在取出的数据结束信号为0时,确认取出的输入数据不是取出的512位的输入数据的最后一位的情况下;保留确认有效的输入数据中的位,并结合取出的使能信号中的位10和取出的数据结束信号中的位0构造表示相应情况的第三种组合的位00;以保留的输入数据的位作为低8位,以构造的位组合00作为高2位,得到位宽大于或等于十位的输出数据;对取出的使能信号、取出的数据结束信号、及取出的输入数据进行移位,以溢出其确认过的位;结束对从所述第一存储器取出的512位的输入数据的本次8位的字节的输出处理。(1)~(6)可以是对应一些实施例的数据供给方法所包含的步骤。
在另一些实施例中,参见图2,图1所示的数据缓存装置还可包括第四存储器,该第四存储器可用于存储输入数据的属性数据。其中,属性数据例如可以是输入数据的类型。在此情况下,所述输出控制单元,还可用于:(1)分别从所述第一存储器、所述第二存储器、所述第三存储器及所述第四存储器对齐取出所述数据位宽的输入数据、所述字节位宽的使能信号、所述数据结束信号、及所述属性数据;(2)根据取出的使能信号中的各位依次确认取出的输入数据中的各位的有效性及是否为一个所述字节位宽的字节的最后一位,以及根据取出的数据结束信号的各位确认取出的输入数据是否为取出的所述数据位宽的输入数据的最后一位;(3)保留确认有效的输入数据中的位和相应的属性数据中的位,并结合取出的使能信号中的位和取出的数据结束信号中的位构造表示相应情况的位;(4)根据保留的输入数据的位、构造的位、及保留的属性数据的位组合得到输出数据;对取出的使能信号、取出的数据结束信号、取出的输入数据、及取出的属性数据进行移位,以溢出其确认过的位。(1)~(4)可以是对应一些实施例的数据供给方法所包含的步骤。
该实施例中,输出控制单元不仅可以用于实现输入数据的位宽的转换,还可用于实现属性数据的位宽的转换,并结合输入数据等组合成输出数据。
进一步地,所述输出控制单元,具体可用于:(1)分别从所述第一存储器、所述第二存储器、所述第三存储器及所述第四存储器对齐取出所述数据位宽的输入数据、所述字节位宽的使能信号、所述数据结束信号、及所述属性数据;(2)根据取出的使能信号中的各位依次确认取出的输入数据中的各位的有效性及是否为一个所述字节位宽的字节的最后一位,以及根据取出的数据结束信号的各位确认取出的输入数据是否为取出的所述数据位宽的输入数据的最后一位;(3)在确认取出的使能信号中的位有效且不是一个所述字节位宽的字节的最后一位、以及确认取出的输入数据不是取出的所述数据位宽的输入数据的最后一位的情况下,保留确认有效的输入数据中的位和相应的属性数据的位,并结合取出的使能信号中的位和取出的数据结束信号中的位构造表示相应情况的第一种组合的位;根据保留的输入数据的位、相应的属性数据的位、及构造的位组合得到输出数据;对取出的使能信号、取出的数据结束信号、取出的输入数据、及取出的属性数据进行移位,以溢出其确认过的位;(4)在确认取出的使能信号中的位有效且不是一个所述字节位宽的字节的最后一位、以及确认取出的输入数据是取出的所述数据位宽的输入数据的最后一位的情况下,保留确认有效的输入数据中的位和相应的属性数据的位,并结合取出的使能信号中的位和取出的数据结束信号中的位构造表示相应情况的所述第一种组合的位;根据保留的输入数据的位、相应的属性数据的位、及构造的位组合得到输出数据;结束对本次从所述第一存储器取出的所述数据位宽的输入数据和从第四存储器取出的所述属性数据的输出处理;(5)在确认取出的使能信号中的位有效且是一个所述字节位宽的字节的最后一位、以及确认取出的输入数据是取出的所述数据位宽的输入数据的最后一位的情况下,保留确认有效的输入数据中的位和相应的属性数据的位,并结合取出的使能信号中的位和取出的数据结束信号中的位构造表示相应情况的第二种组合的位;根据保留的输入数据的位、相应的属性数据的位、及构造的位组合得到输出数据;结束对本次从所述第一存储器取出的所述数据位宽的输入数据和从第四存储器取出的所述属性数据的输出处理;(6)在确认取出的使能信号中的位有效且是一个所述字节位宽的字节的最后一位、以及确认取出的输入数据不是取出的所述数据位宽的输入数据的最后一位的情况下,保留确认有效的输入数据中的位和相应的属性数据的位,并结合取出的使能信号中的位和取出的数据结束信号中的位构造表示相应情况的第三种组合的位;根据保留的输入数据的位、相应的属性数据的位、及构造的位组合得到输出数据;对取出的使能信号、取出的数据结束信号、取出的输入数据、及取出的属性数据进行移位,以溢出其确认过的位;结束对从所述第一存储器取出的所述数据位宽的输入数据和从第四存储器取出的所述数据位宽的属性数据的本次所述字节位宽的字节的输出处理。(1)~(6)可以是对应一些实施例的数据供给方法所包含的步骤。
在一些实施例中,可以先确认第一存储器和第四存储器中都有数据,再进行输出处理。示例性地,所述输出控制单元,还用于:在分别从所述第一存储器、所述第二存储器、所述第三存储器及所述第四存储器对齐取出所述数据位宽的输入数据、所述字节位宽的使能信号、所述数据结束信号、及所述属性数据之前,确认所述第四存储器不为空。
所述第一存储器、第二存储器、所述第三存储器及所述第四存储器中的一个或多个可以为FIFO存储器。输入数据的位宽和属性数据的位宽可以相同。例如,输入数据的数据位宽可以为512位,输入数据的属性数据的位宽可以为512位。输入数据的字节位宽可以为8位。所述使能信号的位宽可以为64位(其中,1位可以对应8位的一个字节,2位可以对应16位的一个字节)。所述数据结束信号的位宽可以为1位。
进一步地,所述输出控制单元,更具体可用于:(1)分别从所述第一存储器、所述第二存储器、所述第三存储器及所述第四存储器对齐取出512位的输入数据、8位的使能信号、1位的数据结束信号、及512位的属性数据;(2)根据8位的使能信号中的各位依次确认取出的输入数据中的各位的有效性及是否为一个8位的字节的最后一位,以及根据取出的1位的数据结束信号确认取出的输入数据是否为取出的512位的输入数据的最后一位;(3)在取出的使能信号中的位为11时,确认取出的使能信号中的位有效且不是一个8位的字节的最后一位,在取出的数据结束信号为0时,确认取出的输入数据不是取出的512位的输入数据的最后一位;保留确认有效的输入数据中的位和相应的属性数据的位,并结合取出的使能信号中的位和取出的数据结束信号中的位构造表示相应情况的第一种组合的位01;以保留的输入数据的位作为低8位,以相应的属性数据的高2位作为第9位和第10位,以构造的位组合01作为高2位,得到位宽大于或等于十二位的输出数据;对取出的使能信号、取出的数据结束信号、取出的输入数据、及取出的属性数据分别左移一位、左移一位、左移八位、及左移两位,以溢出其确认过的位;(4)在取出的使能信号中的位为11时,确认取出的使能信号中的位有效且不是一个8位的字节的最后一位,在取出的数据结束信号为1时,确认取出的输入数据是取出的512位的输入数据的最后一位;保留确认有效的输入数据中的位和相应的属性数据的位,并结合取出的使能信号中的位和取出的数据结束信号中的位构造表示相应情况的第一种组合的位01;以保留的输入数据的位作为低8位,以相应的属性数据的高2位作为第9位和第10位,以构造的位组合01作为高2位,得到位宽大于或等于十二位的输出数据;结束对本次从所述第一存储器取出的512位的输入数据和从所述第四存储器取出的512位的属性数据的输出处理;(5)在取出的使能信号中的位为10时,确认取出的使能信号中的位有效且是一个8位的字节的最后一位,在取出的数据结束信号为1时,确认取出的输入数据是取出的512位的输入数据的最后一位;保留确认有效的输入数据中的位和相应的属性数据的位,并结合取出的使能信号中的位和取出的数据结束信号中的位构造表示相应情况的第二种组合的位11;以保留的输入数据的位作为低8位,以相应的属性数据的高2位作为第9位和第10位,以构造的位组合11作为高2位,得到位宽大于或等于十二位的输出数据;结束对本次从所述第一存储器取出的512位的输入数据和从所述第四存储器取出的512位的属性数据的输出处理;(6)在取出的使能信号中的位为10时,确认取出的使能信号中的位有效且是一个8位的字节的最后一位,在取出的数据结束信号为0时,确认取出的输入数据不是取出的512位的输入数据的最后一位;保留确认有效的输入数据中的位和相应的属性数据的位,并结合取出的使能信号中的位和取出的数据结束信号中的位构造表示相应情况的第三种组合的位00;以保留的输入数据的位作为低8位,以相应的属性数据的高2位作为第9位和第10位,以构造的位组合00作为高2位,得到位宽大于或等于十二位的输出数据;结束对本次从所述第一存储器、所述第二存储器、所述第三存储器、及所述第四存储器对齐取出的512位的输入数据、8位的使能信号、所述数据结束信号、及512位的属性数据的输出处理;对取出的使能信号、取出的数据结束信号、取出的输入数据、及取出的属性数据分别左移一位、左移一位、左移八位、及左移两位,以溢出其确认过的位;结束对从所述第一存储器取出的512位的输入数据和从所述第四存储器取出的512位的属性数据的本次8位的字节的输出处理。(1)~(6)可以是对应一些实施例的数据供给方法所包含的步骤。
进一步地,所述的数据缓存装置中,所述输出控制单元,还可用于:(1)在用于组合得到输出数据的属性数据的位的数量小于用于组合得到输出数据的输入数据的位的数量的情况下,在结束对一次从所述第一存储器取出的所述数据位宽的输入数据的输出处理之后,确认本次取出的所述数据位宽的属性数据中存在尚未确认过的位;(2)若本次取出的所述数据位宽的属性数据中存在尚未确认过的位,则再次分别从所述第一存储器、所述第二存储器、所述第三存储器及所述第四存储器对齐取出所述数据位宽的输入数据、所述字节位宽的使能信号、所述数据结束信号、及所述属性数据,以进行对下一次从所述第一存储器取出的所述数据位宽的输入数据的输出处理;(3)若本次取出的所述数据位宽的属性数据中不存在尚未确认过的位,则结束对本次从所述第一存储器取出的所述数据位宽的输入数据和从第四存储器取出的所述属性数据的输出处理。(1)~(3)可以是对应一些实施例的数据供给方法所包含的步骤。
在又一些实施例中,参见图3,图1所示的数据缓存装置,还可包括:输入控制单元106。其中,输入控制单元106,可用于:(1)在接收到输入数据、控制信号、数据有效信号、依据输入数据的字节位宽生成的使能信号、及依据输入数据的数据位宽生成的数据结束信号的情况下,确认控制信号中用于标识缓存装置的位是否与设定的有效控制位相同;(2)若控制信号中用于标识缓存装置的位与设定的有效控制位相同,在数据有效信号的位有效的情况下,将输入数据、使能信号及数据结束信号分别存储至所述第一存储器、所述第二存储器及所述第三存储器。(1)~(2)可以是对应一些实施例的数据缓存输入方法所包含的步骤。
进一步地,输入数据的字节位宽可为8位;在此情况下,所述输入控制单元,具体可用于:(1)在接收到输入数据、控制信号、数据有效信号、依据输入数据的字节位宽生成的使能信号、及依据输入数据的数据位宽生成的数据结束信号的情况下,确认控制信号的低8位是否与设定的有效控制位相同;(2)若控制信号的低8位与设定的有效控制位相同,在数据有效信号的位为1的情况下,将输入数据、使能信号及数据结束信号分别存储至所述第一存储器、所述第二存储器及所述第三存储器。(1)~(2)可以是对应一些实施例的数据缓存输入方法所包含的步骤。
在又一些实施例中,参见图4,图2所示的数据缓存装置,还可包括:输入控制单元。其中,输入控制单元,可用于:(1)在接收到输入数据、控制信号、数据有效信号、依据输入数据的字节位宽生成的使能信号、及依据输入数据的数据位宽生成的数据结束信号的情况下,确认控制信号中用于标识缓存装置的位是否与设定的有效控制位相同;(2)若控制信号中用于标识缓存装置的位与设定的有效控制位相同,根据控制信号中用于标识存储位置的位确定存储位置为所述第一存储器还是所述第四存储器;(3)在确认存储位置为所述第一存储器的情况下,若数据有效信号的位有效,将输入数据、使能信号及数据结束信号分别存储至所述第一存储器、所述第二存储器及所述第三存储器;(4)在确认存储位置为所述第四存储器的情况下,若数据有效信号的位有效,将输入数据存储至所述第一存储器,并舍弃使能信号和数据结束信号。(1)~(4)可以是对应一些实施例的数据缓存输入方法所包含的步骤。
进一步地,输入数据的字节位宽可以为8位,在此情况下,所述输入控制单元,具体可用于:(1)在接收到输入数据、控制信号、数据有效信号、依据输入数据的8位生成的使能信号、及依据输入数据的512位生成的数据结束信号的情况下,确认控制信号的低8位是否与设定的有效控制位相同;(2)确认控制信号的低8位是否与设定的有效控制位相同,根据控制信号中用于标识存储位置的位为1或0确定存储位置为所述第一存储器还是所述第四存储器;(3)在控制信号中用于标识存储位置的位为1的情况下,确认存储位置为所述第一存储器,若数据有效信号的位为1,将输入数据、使能信号及数据结束信号分别存储至所述第一存储器、所述第二存储器及所述第三存储器;(4)在控制信号中用于标识存储位置的位为0的情况下,确认存储位置为所述第四存储器的情况下,若数据有效信号的位为1,将输入数据存储至所述第一存储器,并舍弃使能信号和数据结束信号。(1)~(4)可以是对应一些实施例的数据缓存输入方法所包含的步骤。
更具体的实施例中,控制信号的位宽可以为16位,控制信号中用于标识存储位置的位可以是第15位。
在又一些实施例中,参见图5,所述的数据缓存装置,还可包括查询控制单元107。查询控制单元,可用于接收查询信号,依据查询信号确定所述第一存储器中已存储的数据的个数,以确认所述第一存储器剩余可插入的数据的个数。该过程可以对应相应的缓存查询方法。
其中,根据查询信号可以对一个周期的信号(可对应一个数据位宽的数据)进行查询、判断、计数得到已存数据的个数。
在另一些实施例中,可以利用上述实施例所述的多个数据缓存装置一起来缓存、供给数据。参见图6,该些实施例的数据缓存装置,可包括:多个上述任一实施例所述的数据缓存装置。利用多个缓存装置并行对输入的数据进行缓存处理,可使输入、输出更连续。
需要说明的是,上述任一实施例中的控制过程可以是对应的方法的步骤。例如,对应图1的实施例中,(1)~(6)可以是对应一些实施例的数据供给方法所包含的步骤。其中,各控制过程中的步骤的顺序根据可行的逻辑顺序,描述顺序不是对控制顺序的限定,且对于不同情况的过程可以分情况执行。
基于与上述实施例所述的数据缓存装置相同的发明构思,本申请实施例还提供了一种数据提供方法,如下面实施例所述。由于该数据提供方法解决问题的原理与多表情匹配账户认证方法相似,因此该数据提供方法的实施可以参见数据缓存装置中的控制过程的实施方式的实施,重复之处不再赘述。
参见图7,一些实施例的数据提供方法,适用于上述任一实施例所述的数据缓存装置。该实施例的数据提供方法可包括:
步骤S1:分别从第一存储器、第二存储器及第三存储器对齐取出输入数据、使能信号及数据结束信号;其中,第一存储器用于存储输入数据;第二存储器用于存储依据输入数据的字节位宽生成的使能信号;第三存储器用于存储依据输入数据的数据位宽生成的数据结束信号;
步骤S2:根据取出的使能信号中的各位依次确认取出的输入数据中的各位的有效性及是否为一个所述字节位宽的字节的最后一位,以及根据取出的数据结束信号的各位确认取出的输入数据是否为取出的所述数据位宽的输入数据的最后一位;
步骤S3:保留确认有效的输入数据中的位,并结合取出的使能信号中的位和取出的数据结束信号中的位构造表示相应情况的位;
步骤S4:根据保留的输入数据的位和构造的位组合得到输出数据;对取出的使能信号、取出的数据结束信号、及取出的输入数据进行移位,以溢出其确认过的位;输出得到的输出数据。
在一些实施例中,数据缓存装置包括:先进先出存储器D_FIFO,用于存储输入数据Data_in;先进先出存储器F_FIFO,用于存储输入数据Data_in;先进先出存储器Byteenable_FIFO_D,用于存储对应输入数据Data_in的表的输入字节使能信号Byteenable_in;先进先出存储器EOP_FIFO,用于存储表中待输入数据的结束信号EOP_in。存有parameter Buffer_ID(固定数字),用作数据缓存的有效控制位;
输入写入方法包括:接收输入数据有效信号Data_valid;接收控制信号Ctrl_code;根据控制信号Ctrl_code与parameter Buffer_ID比较的结果,以及输入数据有效信号Data_valid是否满足特定条件,控制是否启动数据写入功能;启动数据写入功能后,接收输入数据Data_in、字节使能信号Byteenable_in、结束信号EOP_in;根据控制信号Ctrl_code控制输入数据Data_in的存储位置,以及是否存储字节使能信号Byteenable_in和结束信号EOP_in;(具体的是控制,将输入数据Data_in、字节使能信号Byteenable_in、结束信号EOP_in分别存入先进先出存储器D_FIFO、先进先出存储器Byteenable_FIFO_D、先进先出存储器EOP_FIFO;还是,将输入数据Data_in存入先进先出存储器F_FIFO,并舍弃字节使能信号Byteenable_in和结束信号EOP_in;)。
其中,先进先出存储器D_FIFO的位宽可以为512位,深度可以为256;先进先出存储器F_FIFO的位宽可以为512位,深度可以为256;先进先出存储器Byteenable_FIFO_D的位宽可以为64,深度可以为256;先进先出存储器EOP_FIFO的位宽可以为1;控制位parameterBuffer_ID的位宽可以为8;输入数据有效信号Data_valid的位宽可以为1。
其中,(1)当接收的控制信号Ctrl_code的低8位与控制位parameter Buffer_ID相等时,才启动数据写入功能;(2)当接收的控制信号Ctrl_code的第15位为0时,和为1时,分两种控制情况。
查询操作方法包括:接收外部输入查询信号Query;根据先进先出存储器D_FIFO中已存的数据个数,输出信号Usedw。
输出处理方法包括:
(1)判断先进先出存储器D_FIFO和先进先出存储器F_FIFO是否满足全部为空的数据取出条件;
(2)若满足数据取出条件,分别从先进先出存储器D_FIFO取出数据D_data,从先进先出存储器F_FIFO取出数据F_data,从先进先出存储器Byteenable_FIFO_D取出数据D-be,从先进先出存储器EOP_FIFO取出数据eop;
(3)根据取出数据D_data的部分位(高8位)、取出数据F_data的部分位(高2位)形成输出信号Data_out的部分位(低8位和第9、10位),根据取出数据D-be和取出数据eop的组合得到输出信号Data_out的部分位(高2位);(具体组合方式是:)
(4)每次向Data_out执行写操作完毕后,对数据D_data移位(左移8位),对数据F_data移位(左移2位),对数据D-be移位(左移1位),对数据eop移位(左移1位);
(5)执行步骤(3)~(4),取出数据D-be所有位(64位)后,判断先进先出存储器D_FIFO是否为空;
(6)若D_FIFO不为空,执行步骤(3)组合未传完的F_FIFO中的数据(因为步骤(3)中F_FIFO中的数据取出的位少,所以相对于D_FIFO的位有剩余)进行输出Data_out;
(7)执行了步骤(6)三次后,重复执行步骤(1)
为使本领域技术人员更好地了解本发明,下面将以具体实施例说明本发明的实施方式。
图8是本发明一具体实施例的数据缓存装置的结构示意图。如图8所示,该实施例的数据缓存装置主要包括四个FIFO存储器(First Input First Output,先进先出存储器),即,存储器D_FIFO、存储器F_FIFO、存储器Byteenable_FIFO_D及存储器EOP_FIFO。其中,存储器D_FIFO和存储器F_FIFO用来存储输入数据Data_in,输入数据Data_in的位宽是512位,深度为256;存储器Byteenable_FIFO_D用来存储对应输入数据的字节的使能信号Byteenable_in,可以是表的输入字节使能信号,使能信号Byteenable_in的位宽是64,深度为256;存储器EOP_FIFO用来存储数据结束信号EOP_in数据,可以是表中待输入数据的结束信号。该数据缓存装置还可包含一个八位的缓存装置标识parameter Buffer_ID,用作数据缓存的有效控制位。
该实施例的数据缓存装置可支持三种操作,分别为写入、输出和查询。
图9是本发明一实施例的数据写入操作的方法流程示意图。结合图8和图9所示,执行写入操作时,将输入数据Data_in、字节的使能信号Byteenable_in、控制信号Ctrl_code、数据结束信号EOP_in、数据有效信号Data_valid进行输入。Ctrl_code为一个位宽为16的控制信号,低8位只有与固定数字parameter Buffer_ID相等时,才可启动缓存系统的数据写入功能。
Ctrl_code的第15位决定其输入数据Data_in存储的具体位置。当输入数据有效信号Data_valid=1且Ctrl_code的第15位为0时,将数据Data_in存放至D_FIFO中,将数据Byteenable_in存入至Byteenable_FIFO_D中,将EOP_in数据存入EOP_FIFO中;若输入数据有效信号Data_valid=1且Ctrl_code第15位为1时,则舍弃数据Byteenable_in与EOP,并将数据Data_in存放至F_FIFO中。
图10是本发明一实施例的数据查询操作的方法流程示意图。结合图8和图10所示,进行查询操作时如图三,根据外部输入查询信号Query,输出信号已存的数据个数Usedw,Usedw数据为D_FIFO中已存的数据个数,可以便后续确认剩余可插入数据个数。
图11是本发明一实施例的数据输出的方法流程示意图。结合图8和图11所示,在执行输出操作时,可以不用进行标志信号触发操作,只要存储器D_FIFO和存储器F_FIFO全不为空即满足数据取出条件,之后可以进行数据输出。该实施例中,具体输出方式如下:
1.若满足上述数据取出条件,便可分别从存储器D_FIFO和存储器F_FIFO中取出512位宽的输入数据D_data与属性数据F_data数据,从存储器Byteenable_FIFO_D中取出位宽为64的字节使能信号的数据D-be,从存储器EOP_FIFO中取出数据结束信号的数据eop。
2.取完相应四个数据后,进行位宽为12位的输出信号Data_out的写入操作。输出数据Data_out的低8位为取出的输入数据D_data数据的高8位;输出数据Data_out的第9位和第10位为取出的属性数据F_data数据的高2位;输出数据Data_out的高2位为字节使能信号的数据D-be和数据结束信号的eop的组合输出。
具体组合处理方式为:
a.字节使能信号的数据D-be的高2位为11且数据结束信号的eop信号为0或者为1时,输出的输出数据Data_out的高2位为01,此时,输出的输出数据Data_out为有效信号,且当数据结束信号eop信号为1时指示此输出数据为本数据包的最后一个数据;
b.当字节使能信号的数据D-be的高2位为10且数据结束信号eop信号为1时,输出的输出数据Data_out的高2位为11,提前结束数据传输,跳到步骤1的环节,等待下次数据取出条件的触发,此数据情况为数据包最后一个数据传输完毕的触发机制;
c.当字节使能信号的数据D-be的高2位为10且数据结束信号eop信号为0时,输出的输出数据Data_out的高2位为00。若为其他未列举情况,输出的输出数据Data_out的高2位输出为00,输出有效信号拉低,即本次输出数据为无效。
后面进行数据的移位操作,每次向输出数据Data_out执行写操作完毕后,输入数据D_data左移八位,属性数据F_data左移二位,字节使能信号的数据D-be左移一位……。
3.执行步骤2的环节,循环取数64次(取完一个512位的输入数据)后,再判断D_FIFO中是否为空。如果不为空再取出输入数据D_data与字节使能信号的数据D-be、数据结束信号eop数据,与刚才未传输完毕的属性数据F_data继续进行组合输出。
4.再执行3环节两次后,即从一开始取数至现在共取了四次输入数据D_data、字节使能信号的数据D-be和数据结束信号eop数据和一次属性数据F_data,至此将第一次取完512位的属性数据F_data全部传输完毕。此时可以再回到上面步骤1的环节,再次判断是否满足数据取出条件,即存储器D_FIFO和存储器F_FIFO全都不为空。
该实施例中,通过上述操作方式就实现了对数据的缓存和变位宽组合输出操作。需要说明的是,该具体实施例中的具体步骤的具体实现方式或参数设置等,在可行的情况下可以结合至前述任一实施例所述的数据缓存装置、以及相应的各种方法,为简要之便,不再一一赘述。
综上所述,本发明实施例的数据缓存装置和数据提供方法,利用第一存储器存储输入数据;利用第二存储器存储依据输入数据的字节位宽生成的使能信号;利用第三存储器存储依据输入数据的数据位宽生成的数据结束信号;利用输出控制单元分别从所述第一存储器、所述第二存储器及所述第三存储器对齐取出所述数据位宽的输入数据、所述字节位宽的使能信号及所述数据结束信号;根据取出的使能信号中的各位依次确认取出的输入数据中的各位的有效性及是否为一个所述字节位宽的字节的最后一位,以及根据取出的数据结束信号的各位确认取出的输入数据是否为取出的所述数据位宽的输入数据的最后一位;保留确认有效的输入数据中的位,并结合取出的使能信号中的位和取出的数据结束信号中的位构造表示相应情况的位;根据保留的输入数据的位和构造的位组合得到输出数据;对取出的使能信号、取出的数据结束信号、及取出的输入数据进行移位,以溢出其确认过的位。因此,能够实现将输入数据由原来的数据位宽转换为字节的位宽,从而能够实现高效数据供给。
在本说明书的描述中,参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。各实施例中涉及的步骤顺序用于示意性说明本发明的实施,其中的步骤顺序不作限定,可根据需要作适当调整。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (19)
1.一种数据缓存装置,其特征在于,包括:
第一存储器,用于存储输入数据;
第二存储器,用于存储依据输入数据的字节位宽生成的使能信号;
第三存储器,用于存储依据输入数据的数据位宽生成的数据结束信号;
输出控制单元,用于:
分别从所述第一存储器、所述第二存储器及所述第三存储器对齐取出所述数据位宽的输入数据、所述字节位宽的使能信号及所述数据结束信号;
根据取出的使能信号中的各位依次确认取出的输入数据中的各位的有效性及是否为一个所述字节位宽的字节的最后一位,以及根据取出的数据结束信号的各位确认取出的输入数据是否为取出的所述数据位宽的输入数据的最后一位;
保留确认有效的输入数据中的位,并结合取出的使能信号中的位和取出的数据结束信号中的位构造表示相应情况的位;
根据保留的输入数据的位和构造的位组合得到输出数据;对取出的使能信号、取出的数据结束信号、及取出的输入数据进行移位,以溢出其确认过的位;
所述保留确认有效的输入数据中的位,并结合取出的使能信号中的位和取出的数据结束信号中的位构造表示相应情况的位包括:
在确认取出的使能信号中的位有效且不是一个所述字节位宽的字节的最后一位、以及确认取出的输入数据不是取出的所述数据位宽的输入数据的最后一位的情况下,保留确认有效的输入数据中的位,并结合取出的使能信号中的位和取出的数据结束信号中的位构造表示相应情况的第一种组合的位;
在确认取出的使能信号中的位有效且不是一个所述字节位宽的字节的最后一位、以及确认取出的输入数据是取出的所述数据位宽的输入数据的最后一位的情况下,保留确认有效的输入数据中的位,并结合取出的使能信号中的位和取出的数据结束信号中的位构造表示相应情况的所述第一种组合的位;
在确认取出的使能信号中的位有效且是一个所述字节位宽的字节的最后一位、以及确认取出的输入数据是取出的所述数据位宽的输入数据的最后一位的情况下,保留确认有效的输入数据中的位,并结合取出的使能信号中的位和取出的数据结束信号中的位构造表示相应情况的第二种组合的位;
在确认取出的使能信号中的位有效且是一个所述字节位宽的字节的最后一位、以及确认取出的输入数据不是取出的所述数据位宽的输入数据的最后一位的情况下,保留确认有效的输入数据中的位,并结合取出的使能信号中的位和取出的数据结束信号中的位构造表示相应情况的第三种组合的位;
所述输出控制单元还用于在构造出第二种组合的位后,结束对本次从第一存储器取出的数据位宽的输入数据的输出处理;或构造出第三种组合的位后,结束对从第一存储器取出的数据位宽的输入数据的本次字节位宽的字节的输出处理。
2.如权利要求1所述的数据缓存装置,其特征在于,所述第一存储器、第二存储器及所述第三存储器为FIFO存储器。
3.如权利要求2所述的数据缓存装置,其特征在于,输入数据的数据位宽为512位,输入数据的字节位宽为8位。
4.如权利要求3所述的数据缓存装置,其特征在于,所述使能信号的位宽为64位,所述数据结束信号的位宽为1位。
5.如权利要求4所述的数据缓存装置,其特征在于,
所述输出控制单元,更具体用于:
分别从所述第一存储器、所述第二存储器及所述第三存储器对齐取出512位的输入数据、8位的使能信号及1位的数据结束信号;
根据8位的使能信号中的各位依次确认取出的输入数据中的各位的有效性及是否为一个8位的字节的最后一位,以及根据取出的1位的数据结束信号确认取出的输入数据是否为取出的512位的输入数据的最后一位;
在取出的使能信号中的位为11时,确认取出的使能信号中的位有效且不是一个8位的字节的最后一位,在取出的数据结束信号为0时,确认取出的输入数据不是取出的512位的输入数据的最后一位;保留确认有效的输入数据中的位,并结合取出的使能信号中的位和取出的数据结束信号中的位构造表示相应情况的第一种组合的位01;以保留的输入数据的位作为低8位,以构造的位组合01作为高2位,得到位宽大于或等于十位的输出数据;对取出的使能信号、取出的数据结束信号、及取出的输入数据分别左移一位、左移一位、及左移八位,以溢出其确认过的位;
在取出的使能信号中的位为11时,确认取出的使能信号中的位有效且不是一个8位的字节的最后一位,在取出的数据结束信号为1时,确认取出的输入数据是取出的512位的输入数据的最后一位的情况下;保留确认有效的输入数据中的位,并结合取出的使能信号中的位11和取出的数据结束信号中的位0构造表示相应情况的所述第一种组合的位01;以保留的输入数据的位作为低8位,以构造的位组合01作为高2位,得到位宽大于或等于十位的输出数据;结束对本次从所述第一存储器取出的512位的输入数据的输出处理;
在取出的使能信号中的位为10时,确认取出的使能信号中的位有效且是一个8位的字节的最后一位,在取出的数据结束信号为1时,确认取出的输入数据是取出的512位的输入数据的最后一位的情况下;保留确认有效的输入数据中的位,并结合取出的使能信号中的位10和取出的数据结束信号中的位1构造表示相应情况的第二种组合的位11;以保留的输入数据的位作为低8位,以构造的位组合11作为高2位,得到位宽大于或等于十位的输出数据;结束对本次从所述第一存储器取出的512位的输入数据的输出处理;
在取出的使能信号中的位为10时,确认取出的使能信号中的位有效且是一个8位的字节的最后一位,在取出的数据结束信号为0时,确认取出的输入数据不是取出的512位的输入数据的最后一位的情况下;保留确认有效的输入数据中的位,并结合取出的使能信号中的位10和取出的数据结束信号中的位0构造表示相应情况的第三种组合的位00;以保留的输入数据的位作为低8位,以构造的位组合00作为高2位,得到位宽大于或等于十位的输出数据;对取出的使能信号、取出的数据结束信号、及取出的输入数据进行移位,以溢出其确认过的位;结束对从所述第一存储器取出的512位的输入数据的本次8位的字节的输出处理。
6.如权利要求1所述的数据缓存装置,其特征在于,还包括:第四存储器,用于:存储输入数据的属性数据;
所述输出控制单元,还用于:
分别从所述第一存储器、所述第二存储器、所述第三存储器及所述第四存储器对齐取出所述数据位宽的输入数据、所述字节位宽的使能信号、所述数据结束信号、及所述属性数据;
根据取出的使能信号中的各位依次确认取出的输入数据中的各位的有效性及是否为一个所述字节位宽的字节的最后一位,以及根据取出的数据结束信号的各位确认取出的输入数据是否为取出的所述数据位宽的输入数据的最后一位;
保留确认有效的输入数据中的位和相应的属性数据中的位,并结合取出的使能信号中的位和取出的数据结束信号中的位构造表示相应情况的位;
根据保留的输入数据的位、构造的位、及保留的属性数据的位组合得到输出数据;对取出的使能信号、取出的数据结束信号、取出的输入数据、及取出的属性数据进行移位,以溢出其确认过的位。
7.如权利要求6所述的数据缓存装置,其特征在于,
所述输出控制单元,具体用于:
分别从所述第一存储器、所述第二存储器、所述第三存储器及所述第四存储器对齐取出所述数据位宽的输入数据、所述字节位宽的使能信号、所述数据结束信号、及所述属性数据;
根据取出的使能信号中的各位依次确认取出的输入数据中的各位的有效性及是否为一个所述字节位宽的字节的最后一位,以及根据取出的数据结束信号的各位确认取出的输入数据是否为取出的所述数据位宽的输入数据的最后一位;
在确认取出的使能信号中的位有效且不是一个所述字节位宽的字节的最后一位、以及确认取出的输入数据不是取出的所述数据位宽的输入数据的最后一位的情况下,保留确认有效的输入数据中的位和相应的属性数据的位,并结合取出的使能信号中的位和取出的数据结束信号中的位构造表示相应情况的第一种组合的位;根据保留的输入数据的位、相应的属性数据的位、及构造的位组合得到输出数据;对取出的使能信号、取出的数据结束信号、取出的输入数据、及取出的属性数据进行移位,以溢出其确认过的位;
在确认取出的使能信号中的位有效且不是一个所述字节位宽的字节的最后一位、以及确认取出的输入数据是取出的所述数据位宽的输入数据的最后一位的情况下,保留确认有效的输入数据中的位和相应的属性数据的位,并结合取出的使能信号中的位和取出的数据结束信号中的位构造表示相应情况的所述第一种组合的位;根据保留的输入数据的位、相应的属性数据的位、及构造的位组合得到输出数据;结束对本次从所述第一存储器取出的所述数据位宽的输入数据和从第四存储器取出的所述属性数据的输出处理;
在确认取出的使能信号中的位有效且是一个所述字节位宽的字节的最后一位、以及确认取出的输入数据是取出的所述数据位宽的输入数据的最后一位的情况下,保留确认有效的输入数据中的位和相应的属性数据的位,并结合取出的使能信号中的位和取出的数据结束信号中的位构造表示相应情况的第二种组合的位;根据保留的输入数据的位、相应的属性数据的位、及构造的位组合得到输出数据;结束对本次从所述第一存储器取出的所述数据位宽的输入数据和从第四存储器取出的所述属性数据的输出处理;
在确认取出的使能信号中的位有效且是一个所述字节位宽的字节的最后一位、以及确认取出的输入数据不是取出的所述数据位宽的输入数据的最后一位的情况下,保留确认有效的输入数据中的位和相应的属性数据的位,并结合取出的使能信号中的位和取出的数据结束信号中的位构造表示相应情况的第三种组合的位;根据保留的输入数据的位、相应的属性数据的位、及构造的位组合得到输出数据;对取出的使能信号、取出的数据结束信号、取出的输入数据、及取出的属性数据进行移位,以溢出其确认过的位;结束对从所述第一存储器取出的所述数据位宽的输入数据和从第四存储器取出的所述数据位宽的属性数据的本次所述字节位宽的字节的输出处理。
8.如权利要求7所述的数据缓存装置,其特征在于,所述第一存储器、第二存储器、所述第三存储器及所述第四存储器均为FIFO存储器。
9.如权利要求8所述的数据缓存装置,其特征在于,输入数据的数据位宽为512位,输入数据的属性数据的位宽为512位,输入数据的字节位宽为8位,所述使能信号的位宽为64位,所述数据结束信号的位宽为1位。
10.如权利要求9所述的数据缓存装置,其特征在于,
所述输出控制单元,更具体用于:
分别从所述第一存储器、所述第二存储器、所述第三存储器及所述第四存储器对齐取出512位的输入数据、8位的使能信号、1位的数据结束信号、及512位的属性数据;
根据8位的使能信号中的各位依次确认取出的输入数据中的各位的有效性及是否为一个8位的字节的最后一位,以及根据取出的1位的数据结束信号确认取出的输入数据是否为取出的512位的输入数据的最后一位;
在取出的使能信号中的位为11时,确认取出的使能信号中的位有效且不是一个8位的字节的最后一位,在取出的数据结束信号为0时,确认取出的输入数据不是取出的512位的输入数据的最后一位;保留确认有效的输入数据中的位和相应的属性数据的位,并结合取出的使能信号中的位和取出的数据结束信号中的位构造表示相应情况的第一种组合的位01;以保留的输入数据的位作为低8位,以相应的属性数据的高2位作为第9位和第10位,以构造的位组合01作为高2位,得到位宽大于或等于十二位的输出数据;对取出的使能信号、取出的数据结束信号、取出的输入数据、及取出的属性数据分别左移一位、左移一位、左移八位、及左移两位,以溢出其确认过的位;
在取出的使能信号中的位为11时,确认取出的使能信号中的位有效且不是一个8位的字节的最后一位,在取出的数据结束信号为1时,确认取出的输入数据是取出的512位的输入数据的最后一位;保留确认有效的输入数据中的位和相应的属性数据的位,并结合取出的使能信号中的位和取出的数据结束信号中的位构造表示相应情况的第一种组合的位01;以保留的输入数据的位作为低8位,以相应的属性数据的高2位作为第9位和第10位,以构造的位组合01作为高2位,得到位宽大于或等于十二位的输出数据;结束对本次从所述第一存储器取出的512位的输入数据和从所述第四存储器取出的512位的属性数据的输出处理;
在取出的使能信号中的位为10时,确认取出的使能信号中的位有效且是一个8位的字节的最后一位,在取出的数据结束信号为1时,确认取出的输入数据是取出的512位的输入数据的最后一位;保留确认有效的输入数据中的位和相应的属性数据的位,并结合取出的使能信号中的位和取出的数据结束信号中的位构造表示相应情况的第二种组合的位11;以保留的输入数据的位作为低8位,以相应的属性数据的高2位作为第9位和第10位,以构造的位组合11作为高2位,得到位宽大于或等于十二位的输出数据;结束对本次从所述第一存储器取出的512位的输入数据和从所述第四存储器取出的512位的属性数据的输出处理;
在取出的使能信号中的位为10时,确认取出的使能信号中的位有效且是一个8位的字节的最后一位,在取出的数据结束信号为0时,确认取出的输入数据不是取出的512位的输入数据的最后一位;保留确认有效的输入数据中的位和相应的属性数据的位,并结合取出的使能信号中的位和取出的数据结束信号中的位构造表示相应情况的第三种组合的位00;以保留的输入数据的位作为低8位,以相应的属性数据的高2位作为第9位和第10位,以构造的位组合00作为高2位,得到位宽大于或等于十二位的输出数据;结束对本次从所述第一存储器、所述第二存储器、所述第三存储器、及所述第四存储器对齐取出的512位的输入数据、8位的使能信号、所述数据结束信号、及512位的属性数据的输出处理;对取出的使能信号、取出的数据结束信号、取出的输入数据、及取出的属性数据分别左移一位、左移一位、左移八位、及左移两位,以溢出其确认过的位;结束对从所述第一存储器取出的512位的输入数据和从所述第四存储器取出的512位的属性数据的本次8位的字节的输出处理。
11.如权利要求7或10所述的数据缓存装置,其特征在于,
所述输出控制单元,还用于:
在用于组合得到输出数据的属性数据的位的数量小于用于组合得到输出数据的输入数据的位的数量的情况下,在结束对一次从所述第一存储器取出的所述数据位宽的输入数据的输出处理之后,确认本次取出的所述数据位宽的属性数据中存在尚未确认过的位;
若本次取出的所述数据位宽的属性数据中存在尚未确认过的位,则再次分别从所述第一存储器、所述第二存储器、所述第三存储器及所述第四存储器对齐取出所述数据位宽的输入数据、所述字节位宽的使能信号、所述数据结束信号、及所述属性数据,以进行对下一次从所述第一存储器取出的所述数据位宽的输入数据的输出处理;
若本次取出的所述数据位宽的属性数据中不存在尚未确认过的位,则结束对本次从所述第一存储器取出的所述数据位宽的输入数据和从第四存储器取出的所述属性数据的输出处理。
12.如权利要求1所述的数据缓存装置,其特征在于,还包括:
输入控制单元,用于:
在接收到输入数据、控制信号、数据有效信号、依据输入数据的字节位宽生成的使能信号、及依据输入数据的数据位宽生成的数据结束信号的情况下,确认控制信号中用于标识缓存装置的位是否与设定的有效控制位相同;
若控制信号中用于标识缓存装置的位与设定的有效控制位相同,在数据有效信号的位有效的情况下,将输入数据、使能信号及数据结束信号分别存储至所述第一存储器、所述第二存储器及所述第三存储器。
13.如权利要求12所述的数据缓存装置,其特征在于,输入数据的字节位宽为8位;
所述输入控制单元,具体用于:
在接收到输入数据、控制信号、数据有效信号、依据输入数据的字节位宽生成的使能信号、及依据输入数据的数据位宽生成的数据结束信号的情况下,确认控制信号的低8位是否与设定的有效控制位相同;
若控制信号的低8位与设定的有效控制位相同,在数据有效信号的位为1的情况下,将输入数据、使能信号及数据结束信号分别存储至所述第一存储器、所述第二存储器及所述第三存储器。
14.如权利要求6所述的数据缓存装置,其特征在于,还包括:
输入控制单元,用于:
在接收到输入数据、控制信号、数据有效信号、依据输入数据的字节位宽生成的使能信号、及依据输入数据的数据位宽生成的数据结束信号的情况下,确认控制信号中用于标识缓存装置的位是否与设定的有效控制位相同;
若控制信号中用于标识缓存装置的位与设定的有效控制位相同,根据控制信号中用于标识存储位置的位确定存储位置为所述第一存储器还是所述第四存储器;
在确认存储位置为所述第一存储器的情况下,若数据有效信号的位有效,将输入数据、使能信号及数据结束信号分别存储至所述第一存储器、所述第二存储器及所述第三存储器;
在确认存储位置为所述第四存储器的情况下,若数据有效信号的位有效,将输入数据存储至所述第一存储器,并舍弃使能信号和数据结束信号。
15.如权利要求14所述的数据缓存装置,其特征在于,输入数据的字节位宽为8位;
所述输入控制单元,具体用于:
在接收到输入数据、控制信号、数据有效信号、依据输入数据的8位生成的使能信号、及依据输入数据的512位生成的数据结束信号的情况下,确认控制信号的低8位是否与设定的有效控制位相同;
确认控制信号的低8位是否与设定的有效控制位相同,根据控制信号中用于标识存储位置的位为1或0确定存储位置为所述第一存储器还是所述第四存储器;
在控制信号中用于标识存储位置的位为1的情况下,确认存储位置为所述第一存储器,若数据有效信号的位为1,将输入数据、使能信号及数据结束信号分别存储至所述第一存储器、所述第二存储器及所述第三存储器;
在控制信号中用于标识存储位置的位为0的情况下,确认存储位置为所述第四存储器的情况下,若数据有效信号的位为1,将输入数据存储至所述第一存储器,并舍弃使能信号和数据结束信号。
16.如权利要求15所述的数据缓存装置,其特征在于,控制信号的位宽为16位,控制信号中用于标识存储位置的位是第15位。
17.如权利要求1所述的数据缓存装置,其特征在于,还包括
查询控制单元,用于接收查询信号,依据查询信号确定所述第一存储器中已存储的数据的个数,以确认所述第一存储器剩余可插入的数据的个数。
18.如权利要求6所述的数据缓存装置,其特征在于,所述输出控制单元,还用于:在分别从所述第一存储器、所述第二存储器及所述第三存储器对齐取出所述数据位宽的输入数据、所述字节位宽的使能信号及所述数据结束信号之前,确认所述第一存储器不为空,或者,在分别从所述第一存储器、所述第二存储器、所述第三存储器及所述第四存储器对齐取出所述数据位宽的输入数据、所述字节位宽的使能信号、所述数据结束信号、及所述属性数据之前,确认所述第四存储器不为空。
19.一种数据提供方法,其特征在于,适用于如权利要求1至18任一项所述的数据缓存装置,所述方法包括:
分别从第一存储器、第二存储器及第三存储器对齐取出输入数据、使能信号及数据结束信号;其中,第一存储器用于存储输入数据;第二存储器用于存储依据输入数据的字节位宽生成的使能信号;第三存储器用于存储依据输入数据的数据位宽生成的数据结束信号;
根据取出的使能信号中的各位依次确认取出的输入数据中的各位的有效性及是否为一个所述字节位宽的字节的最后一位,以及根据取出的数据结束信号的各位确认取出的输入数据是否为取出的所述数据位宽的输入数据的最后一位;
保留确认有效的输入数据中的位,并结合取出的使能信号中的位和取出的数据结束信号中的位构造表示相应情况的位;
根据保留的输入数据的位和构造的位组合得到输出数据;对取出的使能信号、取出的数据结束信号、及取出的输入数据进行移位,以溢出其确认过的位;输出得到的输出数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110615957.7A CN113434545B (zh) | 2021-06-02 | 2021-06-02 | 数据缓存装置及数据提供方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110615957.7A CN113434545B (zh) | 2021-06-02 | 2021-06-02 | 数据缓存装置及数据提供方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113434545A CN113434545A (zh) | 2021-09-24 |
CN113434545B true CN113434545B (zh) | 2022-11-18 |
Family
ID=77803562
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110615957.7A Active CN113434545B (zh) | 2021-06-02 | 2021-06-02 | 数据缓存装置及数据提供方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113434545B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012247868A (ja) * | 2011-05-25 | 2012-12-13 | Konica Minolta Business Technologies Inc | メモリアクセス制御回路およびメモリアクセス制御方法 |
US9612841B1 (en) * | 2014-11-02 | 2017-04-04 | Netronome Systems, Inc. | Slice-based intelligent packet data register file |
CN110554852A (zh) * | 2018-05-31 | 2019-12-10 | 赛灵思公司 | 数据拼接结构、方法及其片上实现 |
CN111599389A (zh) * | 2020-05-13 | 2020-08-28 | 芯颖科技有限公司 | 数据存取方法、数据存取电路、芯片和电子设备 |
CN112153054A (zh) * | 2020-09-25 | 2020-12-29 | 山东超越数控电子股份有限公司 | 一种任意字节长度拼接缓存的实现方法和系统 |
CN112416256A (zh) * | 2020-12-01 | 2021-02-26 | 海光信息技术股份有限公司 | 数据写入方法、装置及数据读取方法、装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100461134C (zh) * | 2007-03-27 | 2009-02-11 | 华为技术有限公司 | 一种外部存储器控制器及基于外部存储器控制器的地址变换的方法 |
CN100568382C (zh) * | 2007-08-22 | 2009-12-09 | 威盛电子股份有限公司 | 先进先出存储器 |
US9779020B2 (en) * | 2011-02-08 | 2017-10-03 | Diablo Technologies Inc. | System and method for providing an address cache for memory map learning |
CN102654827B (zh) * | 2011-03-02 | 2014-05-28 | 安凯(广州)微电子技术有限公司 | 一种先进先出缓冲器及缓存数据的方法 |
CN102508631B (zh) * | 2011-09-26 | 2014-07-30 | 福建星网锐捷网络有限公司 | 用于写入任意字节数据的fifo的写入数据处理装置 |
CN109002409A (zh) * | 2017-06-07 | 2018-12-14 | 深圳市中兴微电子技术有限公司 | 一种位宽变换装置及方法 |
CN110188059B (zh) * | 2019-05-17 | 2020-10-27 | 西安微电子技术研究所 | 数据有效位统一配置的流控式fifo缓存装置及方法 |
US11222554B2 (en) * | 2019-08-16 | 2022-01-11 | Informatica Llc | Method, apparatus, and computer-readable medium for format preserving encryption of a numerical value |
-
2021
- 2021-06-02 CN CN202110615957.7A patent/CN113434545B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012247868A (ja) * | 2011-05-25 | 2012-12-13 | Konica Minolta Business Technologies Inc | メモリアクセス制御回路およびメモリアクセス制御方法 |
US9612841B1 (en) * | 2014-11-02 | 2017-04-04 | Netronome Systems, Inc. | Slice-based intelligent packet data register file |
CN110554852A (zh) * | 2018-05-31 | 2019-12-10 | 赛灵思公司 | 数据拼接结构、方法及其片上实现 |
CN111599389A (zh) * | 2020-05-13 | 2020-08-28 | 芯颖科技有限公司 | 数据存取方法、数据存取电路、芯片和电子设备 |
CN112153054A (zh) * | 2020-09-25 | 2020-12-29 | 山东超越数控电子股份有限公司 | 一种任意字节长度拼接缓存的实现方法和系统 |
CN112416256A (zh) * | 2020-12-01 | 2021-02-26 | 海光信息技术股份有限公司 | 数据写入方法、装置及数据读取方法、装置 |
Non-Patent Citations (4)
Title |
---|
BBoxDB - A Scalable Data Store for Multi-Dimensional Big Data;Jan Kristof Nidzwetzki 等;《ACM》;20181017;第1867-1870页 * |
一种实现高速异步FIFO的FPGA方法;黄忠朝等;《计算机工程与应用》;20100121(第03期);第13-15、26页 * |
基于FPGA的合并单元数据接收及处理模块的实现;姚静等;《电工电气》;20090715(第07期);第14-18页 * |
数据缓存FIFO的滑位问题研究;杨凌云等;《数字技术与应用》;20170815(第08期);第52-53页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113434545A (zh) | 2021-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110442462B (zh) | Tee系统中的多线程数据传输方法和装置 | |
CN110399235B (zh) | Tee系统中的多线程数据传输方法和装置 | |
US11269529B2 (en) | Neural network data processing apparatus, method and electronic device | |
CN111159075B (zh) | 数据传输方法和数据传输装置 | |
US20110276737A1 (en) | Method and system for reordering the request queue of a hardware accelerator | |
CN1326132A (zh) | 具有压缩指令的处理器及处理器指令的压缩方法 | |
US20040098540A1 (en) | Cache system and cache memory control device controlling cache memory having two access modes | |
JP2006524858A (ja) | メモリに記憶されたデータに圧縮を使用するデータ処理装置 | |
TWI408600B (zh) | 具有內部位元先進先出電路之計算單元 | |
US20040019737A1 (en) | Multiple-RAM CAM device and method therefor | |
US10585642B2 (en) | System and method for managing data in a ring buffer | |
JP2007299279A (ja) | 演算装置、プロセッサシステム、及び映像処理装置 | |
CN113434545B (zh) | 数据缓存装置及数据提供方法 | |
US7180519B2 (en) | Image processing apparatus and image process method | |
JP2010170164A (ja) | Dma転送制御装置 | |
JP2010128831A (ja) | データ検索システム、方法及びコンピュータプログラム | |
US10454670B2 (en) | Memory optimization for nested hash operations | |
US6789097B2 (en) | Real-time method for bit-reversal of large size arrays | |
CN110941792B (zh) | 用于执行就地快速傅里叶变换的信号处理器、系统和方法 | |
US20050010628A1 (en) | In-place memory management for FFT | |
EP0465847A2 (en) | Memory access control having commonly shared pipeline structure | |
US20140351555A1 (en) | Digital signal processor and method for addressing a memory in a digital signal processor | |
CN111597239B (zh) | 数据对齐的方法及装置 | |
CN112100446A (zh) | 搜索方法、可读存储介质和电子设备 | |
JPS6314386B2 (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |