CN114638367B - 一种数据的读取方法、装置、存储介质及电子装置 - Google Patents

一种数据的读取方法、装置、存储介质及电子装置 Download PDF

Info

Publication number
CN114638367B
CN114638367B CN202011376079.XA CN202011376079A CN114638367B CN 114638367 B CN114638367 B CN 114638367B CN 202011376079 A CN202011376079 A CN 202011376079A CN 114638367 B CN114638367 B CN 114638367B
Authority
CN
China
Prior art keywords
address
node
bit
layer
data
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
Application number
CN202011376079.XA
Other languages
English (en)
Other versions
CN114638367A (zh
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.)
Benyuan Quantum Computing Technology Hefei Co ltd
Original Assignee
Benyuan Quantum Computing Technology Hefei 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 Benyuan Quantum Computing Technology Hefei Co ltd filed Critical Benyuan Quantum Computing Technology Hefei Co ltd
Priority to CN202011376079.XA priority Critical patent/CN114638367B/zh
Priority to PCT/CN2021/096095 priority patent/WO2022110704A1/zh
Priority to US18/039,429 priority patent/US20240095565A1/en
Priority to EP21896214.0A priority patent/EP4254275A1/en
Publication of CN114638367A publication Critical patent/CN114638367A/zh
Application granted granted Critical
Publication of CN114638367B publication Critical patent/CN114638367B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/10Decoders
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明公开了一种数据的读取方法、装置、存储介质及电子装置,方法包括:接收量子态表示的地址;解析地址,将地址的每一位地址分别转移到对应层子树节点的地址比特上;其中,地址的每一位对应N层子树节点的每一层;从树叶节点开始,根据每一层子树节点的地址比特位存储的地址,将树叶节点存储的数据,转移到上一层子树节点的数据比特位上,直至在二叉树结构中树根部的子树节点上输出地址对应的数据。利用本发明实施例,提出一种有效的QRAM架构,实现以量子态形式写入地址并读取数据的功能,从而加快复杂量子算法的分析验证。

Description

一种数据的读取方法、装置、存储介质及电子装置
技术领域
本发明属于量子计算技术领域,特别是一种数据的读取方法、装置、存储介质及电子装置。
背景技术
量子计算机是一类遵循量子力学规律进行高速数学和逻辑运算、存储及处理量子信息的物理装置。当某个装置处理和计算的是量子信息,运行的是量子算法时,它就是量子计算机。量子计算机因其具有相对普通计算机更高效的处理数学问题的能力,例如,能将破解RSA密钥的时间从数百年加速到数小时,故成为一种正在研究中的关键技术。
对于从数据库中检索经典/量子数据并将其转换为量子叠加态的有效过程的开发是量子信息处理的实际实现中最基本的问题之一。存储信息并允许叠加态查询的量子随机存取存储器(Quantum Random Access Memory,简记为QRAM)可能在大幅加速用于数据分析的量子算法中起关键作用,包括大数据机器学习的应用。QRAM是一种用于量子计算机的存储系统,是经典计算机中RAM的量子版本,以通过QRAM来制造包含信息的量子叠加态,相比于RAM需要逐个读取,QRAM可以以叠加的地址的方式读取叠加的数据。但是,目前QRAM的有效物理结构还缺乏,不易于实现和扩展,进而对复杂量子算法的分析及研究带来一定程度上的困难。
发明内容
本发明的目的是提供一种数据的读取方法、装置、存储介质及电子装置,以解决现有技术中的不足,它能够提出一种有效的QRAM架构,实现以量子态形式写入地址并读取数据的功能,从而加快复杂量子算法的分析验证。
本申请的一个实施例提供了一种数据的读取方法,应用于预先构建的用于存取数据的QRAM架构,其中,所述QRAM架构为二叉树结构,所述QRAM架构包括以下节点:N层子树节点和1层树叶节点,所述子树节点包括:地址比特和第一数据比特,所述树叶节点包括:用于存储数据的第二数据比特,所述N为地址长度;所述方法包括:
接收量子态表示的地址;
解析所述地址,将所述地址的每一位地址分别转移到对应层子树节点的地址比特上;其中,所述地址的每一位对应所述N层子树节点的每一层;
从所述树叶节点开始,根据每一层子树节点的地址比特位存储的地址,将所述树叶节点存储的数据,转移到上一层子树节点的数据比特位上,直至在所述二叉树结构中树根部的子树节点上输出所述地址对应的数据。
可选的,所述将所述地址的每一位地址分别转移到对应层子树节点的地址比特上,包括:
针对所述地址的每一位地址,从k=N开始,将第k位地址转移到所述二叉树结构中树根部的第一层子树节点中;
从第一层子树节点开始,重复执行将当前层子树节点中的第k位地址转移到下一层子树节点中的步骤,直至转移到第k层子树节点的地址比特上为止,其中,所述k为正整数且取值为从N依次取到1。
可选的,所述将所述地址的每一位地址分别转移到对应层子树节点的地址比特上,包括:
针对所述地址的每一位地址,从k=1开始,将第k位地址转移到所述二叉树结构中树根部的第一层子树节点中;
从第一层子树节点开始,重复执行将当前层子树节点中的第k位地址转移到下一层子树节点中的步骤,直至转移到第(N-k+1)层子树节点的地址比特上,其中,所述k为正整数且取值为从1依次取到N;
其中,在将当前层子树节点中的第k位地址转移到下一层子树节点中后,将第k位地址的下一位地址从当前层的上一层子树节点转移到当前层子树节点中。
可选的,所述将第k位地址转移到所述二叉树结构中树根部的第一层子树节点中,包括:
将第k位地址转移到所述二叉树结构中树根部的第一层子树节点的数据比特位上;
所述从第一层子树节点开始,重复执行将当前层子树节点中的第k位地址转移到下一层子树节点中的步骤,直至转移到第k层子树节点的地址比特上,包括:
确定所述二叉树结构中的各个线路基本结构,其中,所述线路基本结构包括:一个子树节点的地址比特、数据比特及其下一层两个子节点中的数据比特;
从第一层子树节点开始,重复执行所述线路基本结构对应的第一基本量子线路,以将该线路基本结构中子树节点的数据比特存储的第k位地址转移到下一层两个子节点中的数据比特位上,直至将所述第k位地址转移到第k层子树节点的数据比特位上;
将第k层的子树节点的数据比特位与该子树节点的地址比特位的量子态进行交换,以将所述第k位地址移动到第k层的子树节点的地址比特位上。
可选的,所述从所述树叶节点开始,根据每一层子树节点的地址比特位存储的地址,将所述树叶节点存储的数据,转移到上一层子树节点的数据比特位上,直至在所述二叉树结构中树根部的子树节点上输出所述地址对应的数据,包括:
从所述树叶节点开始,重复执行所述线路基本结构对应的第二基本量子线路,以将所述树叶节点存储的数据转移到上一层子树节点的数据比特位上,直至在所述二叉树结构中树根部的子树节点的数据比特位上获得并输出所述地址对应的数据;其中,转移到上一层子树节点的数据比特位上的数据由对应线路基本结构包括的地址比特位存储的地址所确定。
可选的,在所述二叉树结构中树根部的子树节点上输出所述地址对应的数据后,所述方法还包括:
对所述QRAM架构进行反计算处理,以将所述QRAM架构恢复到初始状态。
可选的,所述树叶节点存储的数据为一个多位数,其中,所述多位数的每一位对应的一树叶节点的父节点均不相同;
或为多个多位数,其中,所述多个多位数的相同位进行连续存储,且每一多位数的每一位对应的一树叶节点的父节点均不相同。
本申请的又一实施例提供了一种数据的读取装置,应用于预先构建的用于存取数据的QRAM架构,其中,所述QRAM架构为二叉树结构,所述QRAM架构包括以下节点:N层子树节点和1层树叶节点,所述子树节点包括:地址比特和第一数据比特,所述树叶节点包括:用于存储数据的第二数据比特,所述N为地址长度;所述装置包括:
接收模块,用于接收量子态表示的地址;
解析模块,用于解析所述地址,将所述地址的每一位地址分别转移到对应层子树节点的地址比特上;其中,所述地址的每一位对应所述N层子树节点的每一层;
输出模块,用于从所述树叶节点开始,根据每一层子树节点的地址比特位存储的地址,将所述树叶节点存储的数据,转移到上一层子树节点的数据比特位上,直至在所述二叉树结构中树根部的子树节点上输出所述地址对应的数据。
本申请的又一实施例提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项中所述的方法。
本申请的又一实施例提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项中所述的方法。
与现有技术相比,本发明提供的一种数据的读取方法,应用于预先构建的用于存取数据的QRAM架构,其中,QRAM架构为二叉树结构,QRAM架构包括以下节点:N层子树节点和1层树叶节点,子树节点包括:地址比特和第一数据比特,树叶节点包括:用于存储数据的第二数据比特,N为地址长度;首先接收量子态表示的地址;解析地址,将地址的每一位地址分别转移到对应层子树节点的地址比特上;其中,地址的每一位对应N层子树节点的每一层;从树叶节点开始,根据每一层子树节点的地址比特位存储的地址,将树叶节点存储的数据,转移到上一层子树节点的数据比特位上,直至在二叉树结构中树根部的子树节点上输出地址对应的数据。可见,通过提出一种有效的QRAM架构,能够实现以量子态形式写入地址并读取数据的功能,从而加快复杂量子算法的分析验证。
附图说明
图1为本发明实施例提供的一种数据的读取方法的计算机终端的硬件结构框图;
图2为本发明实施例提供的一种数据的读取方法的流程示意图;
图3为本发明实施例提供的一种QRAM的架构示意图;
图4为本发明实施例提供的一种3子树层的QRAM的架构示意图;
图5为本发明实施例提供的另一种3子树层的QRAM的架构示意图;
图6为本发明实施例提供的再一种3子树层的QRAM的架构示意图
图7为本发明实施例提供的一种实现线路基本结构的基本量子线路示意图;
图8为本发明实施例提供的一种数据的读取装置的结构示意图。
具体实施方式
下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本发明实施例首先提供了一种数据的读取方法,该方法可以应用于电子设备,如计算机终端,具体如普通电脑、量子计算机等。
下面以运行在计算机终端上为例对其进行详细说明。图1为本发明实施例提供的一种数据的读取方法的计算机终端的硬件结构框图。如图1所示,计算机终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述计算机终端还可以包括用于通信功能的传输装置106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储应用软件的软件程序以及模块,如本申请实施例中的数据的读取方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
需要说明的是,真正的量子计算机是混合结构的,它包含两大部分:一部分是经典计算机,负责执行经典计算与控制;另一部分是量子设备,负责运行量子程序进而实现量子计算。而量子程序是由量子语言如QRunes语言编写的一串能够在量子计算机上运行的指令序列,实现了对量子逻辑门操作的支持,并最终实现量子计算。具体的说,量子程序就是一系列按照一定时序操作量子逻辑门的指令序列。
在实际应用中,因受限于量子设备硬件的发展,通常需要进行量子计算模拟以验证量子算法、量子应用等等。量子计算模拟即借助普通计算机的资源搭建的虚拟架构(即量子虚拟机)实现特定问题对应的量子程序的模拟运行的过程。通常,需要构建特定问题对应的量子程序。本发明实施例所指量子程序,即是经典语言编写的表征量子比特及其演化的程序,其中与量子计算相关的量子比特、量子逻辑门等等均有相应的经典代码表示。
量子线路作为量子程序的一种体现方式,也称量子逻辑电路,是最常用的通用量子计算模型,表示在抽象概念下对于量子比特进行操作的线路,其组成包括量子比特、线路(时间线),以及各种量子逻辑门,最后常需要通过量子测量操作将结果读取出来。
不同于传统电路是用金属线所连接以传递电压信号或电流信号,在量子线路中,线路可看成是由时间所连接,亦即量子比特的状态随着时间自然演化,在这过程中按照哈密顿运算符的指示,一直到遇上逻辑门而被操作。
一个量子程序整体上对应有一条总的量子线路,本发明所述量子程序即指该条总的量子线路,其中,该总的量子线路中的量子比特总数与量子程序的量子比特总数相同。可以理解为:一个量子程序可以由量子线路、针对量子线路中量子比特的测量操作、保存测量结果的寄存器及控制流节点(跳转指令)组成,一条量子线路可以包含几十上百个甚至千上万个量子逻辑门操作。量子程序的执行过程,就是对所有的量子逻辑门按照一定时序执行的过程。需要说明的是,时序即单个量子逻辑门被执行的时间顺序。
需要说明的是,经典计算中,最基本的单元是比特,而最基本的控制模式是逻辑门,可以通过逻辑门的组合来达到控制电路的目的。类似地,处理量子比特的方式就是量子逻辑门。使用量子逻辑门,能够使量子态发生演化,量子逻辑门是构成量子线路的基础,量子逻辑门包括单比特量子逻辑门,如Hadamard门(H门,阿达马门)、泡利-X门(X门)、泡利-Y门(Y门)、泡利-Z门(Z门)、RX门、RY门、RZ门等等;多比特量子逻辑门,如CNOT门、CR门、iSWAP门、Toffoli门等等。量子逻辑门一般使用酉矩阵表示,而酉矩阵不仅是矩阵形式,也是一种操作和变换。一般量子逻辑门在量子态上的作用是通过酉矩阵左乘以量子态右矢对应的矩阵进行计算的。
QRAM在很多量子算法中扮演了经典数据到量子数据转化的角色(作为将经典数据转化为量子数据的中间存储器),并且这些算法存在量子加速的重要条件就是QRAM执行query(查询)的时间不能太长。具体来说,若问题规模为N,通常可以接受的query时间应该是O(1)或者O(polylogN)的,而不能是O(N)。
QRAM存在多种可能的物理实现,例如最早提出的光学体系,以及后来的声学体系。这些体系都有可能实现O(polylogN)访问时间的QRAM,可以认为是有效的方案。本申请关于QRAM提出基于Nearest-neighbor前提所设计的QRAM物理架构。
这种QRAM架构不指定需要在何种物理体系上实现,例如可以在光学、半导体量子点、超导线路、离子阱等等已经被证明可能实现量子计算的物理体系中实现。
参见图2,图2为本发明实施例提供的一种数据的读取方法的流程示意图,应用于预先构建的用于存取数据的QRAM架构,其中,所述QRAM架构为二叉树结构,所述QRAM架构包括以下节点:N层子树节点和1层树叶节点,所述子树节点包括:地址比特和第一数据比特,所述树叶节点包括:用于存储数据的第二数据比特,所述N为地址长度;
具体的,整个QRAM可以呈现二叉树状结构。如图3所示,图中每个小方框都代表一个Qubit(量子比特),Qubit有两种:A,即地址比特(AddressQubit);D,即数据比特(DataQubit)。连续纵向的一个A比特和一个D比特构成一组,称作一个节点(node),即二叉树中的一个基本单位。所有节点构成二叉树,二叉树的根部为QRAM的输出部分,每个树叶节点(最后一层,图中未示出)记录了一个二进制数据位。Basic Block(基本块)是一个横跨两层的线路基本结构,它由一个节点和它的两个子节点中的D比特(分别称之为m0、m1)构成,一共4个比特。
对于一个地址长度为N的QRAM(比如32位、64位等典型数据字长……),QRAM的最大寻址空间是从0一直到2N-1的。这样的QRAM一共有N层子树节点外加最后1层的树叶节点,树叶节点最大可以储存2N个二进制位。当然,可以按照传统的经典计算机的“字节”(1字节=8bit)方式来扩增定义,这样对于N位QRAM,需要储存23+N个二进制位,对应一个高度(子树节点层数)为3+N的二叉树。
该数据的读取方法可以包括如下步骤:
S201,接收量子态表示的地址;
在量子领域应用中,可以通过QRAM来制造包含信息的量子叠加态,相比于RAM需要逐个读取,可以以叠加的地址读取叠加的数据。例如在地址[0,N)中储存e0,e1,…,en-1,利用经典的RAM,输入地址i,输出数据ei;对于量子版本的QRAM,可以输入下面的量子态作为地址:
∑|i>
通过QRAM来得到下面的输出:
∑|i>|ei>
可以把这种输入地址、输出数据的过程称作query或者访问。
在读取数据之前,需要进行初始化,初始化其实就是QRAM的写入过程,将数据一个一个的导入。
当量子地址被下发到QRAM中,QRAM接收然后解析地址,在整个架构中的A比特中写入地址信息。
S202,解析所述地址,将所述地址的每一位地址分别转移到对应层子树节点的地址比特上;其中,所述地址的每一位对应所述N层子树节点的每一层;
具体的,可以针对所述地址的每一位地址,从k=N开始,将第k位地址转移到所述二叉树结构中树根部的第一层子树节点中;其中,可以将第k位地址转移到第一层子树节点的数据比特位上;
从第一层子树节点开始,重复执行将当前层子树节点中的第k位地址转移到下一层子树节点中的步骤,直至转移到第k层子树节点的地址比特上为止,其中,所述k为正整数且取值为从N依次取到1,实现地址的propagation传播。
或者,从k=1开始,将第k位地址转移到二叉树结构中树根部的第一层子树节点中;从第一层子树节点开始,重复执行将当前层子树节点中的第k位地址转移到下一层子树节点中,直至转移到第(N-k+1)层子树节点的地址比特上,其中,k为正整数且取值为从1依次取到N。
其中,优选的,在将当前层子树节点中的第k位地址转移到下一层子树节点中后,立即将第k位地址的下一位地址从当前层的上一层子树节点转移到当前层子树节点中。
在一种实现方式中,首先,可以确定所述二叉树结构中的各个线路基本结构,其中,所述线路基本结构包括:一个子树节点的地址比特、数据比特及其下一层两个子节点中的数据比特;
从第一层子树节点开始,重复执行所述线路基本结构对应的第一基本量子线路,以将该线路基本结构中子树节点的数据比特存储的第k位地址转移到下一层两个子节点中的数据比特位上,直至将所述第k位地址转移到第k层子树节点的数据比特位上;
将第k层的子树节点的数据比特位与该子树节点的地址比特位的量子态进行交换,以将所述第k位地址移动到第k层的子树节点的地址比特位上。
在实际应用中,对于高度为N(子树节点层数)的二叉树,首先从树根开始,将N位地址中的第N位转移到D qubit中,将D中的值转移到m0和m1中。之后,分别对包含m0或m1的basic block,将D中的值转移到更下一层的m0和m1中,一直转移到最后一层子树节点的D比特中,也就是第N层,最后通过交换A、D的值,将数据从D移动到A比特中。下一步,则是将第N-1位转移到N-1层……一直执行到第1位转移到第1层。
优选的,该过程是可以错步执行的,当已经把地址位从第1层移动到第2层时,就可以随即开始下一个地址位移动到第1层的过程,使得整个移动步骤所需要的时间不会超过第N位地址一直被移动到第N层的时间。
示例性的,如图4所示,图4表示一种QRAM架构的拓扑结构,包括3层子树节点和1层树叶节点,初始的各子树节点中的量子比特可设为0态,m000、m001……m111为树叶节点存储的数据,树叶节点可以包括一数据比特,种类可为量子比特或经典比特。Address Register意为地址寄存器,表示地址比特;Data Register意为数据寄存器,表示数据比特。
由于量子的叠加特性,量子态是一组本征态的叠加态,例如:3位量子态|f>=b0|000>+b1|001>+b2|010>+b3|011>+b4|100>+b5|101>+b6|110>+b7|111>,其中,|000>、|001>、……、|111>为本征态,数量为2的3次方,b0…b7表示振幅(概率幅),满足|b0|2+|b1|2+|b2|2+|b3|2+|b4|2+|b5|2+|b6|2+|b7|2=1,|>为狄拉克符号。当其他态的概率幅为0时,即处于确定的一个状态。
假设接收到的量子态地址|f>=|101>,振幅为1,从右至左为第3位到第1位。首先,将第3位地址1转移到第一层子树节点的D比特,执行横跨第一层与第二层的basic block对应的第一基本量子线路(子线路a),将地址1转移到第二层的两个D比特中,继续执行横跨第二层与第三层的2个basic block对应的第一基本量子线路a,再将地址1转移到第三层的4个D比特中,最后可以利用SWAP门或等价的量子逻辑门,交换位于同一子树节点的A、D比特的量子态,将地址1移动到第三层的4个A比特中,此时第三层4个A比特的量子态为1态。
同理将第2位地址0最后移动到第2层的2个A比特中,将第1位地址1最后移动到第2层的1个A比特中,最终得到图5所示的结果,地址|101>被传播到第1层至第3层的A比特上。优选的,该传播过程可以错步执行,例如将第3位地址1从第2层移动到第3层时,同时将下一个地址位0从第1层移动到第2层。
S203,从所述树叶节点开始,根据每一层子树节点的地址比特位存储的地址,将所述树叶节点存储的数据,转移到上一层子树节点的数据比特位上,直至在所述二叉树结构中树根部的子树节点上输出所述地址对应的数据。
具体的,可以从所述树叶节点开始,重复执行所述线路基本结构对应的第二基本量子线路,以将所述树叶节点存储的数据转移到上一层子树节点的数据比特位上,直至在所述二叉树结构中树根部的子树节点的数据比特位上获得并输出所述地址对应的数据;其中,转移到上一层子树节点的数据比特位上的数据由对应线路基本结构包括的地址比特位存储的地址所确定。
该过程可以称为data copy,即数据拷贝。此时从树叶部的树叶节点开始,每一个basic block线路基本结构对应的第二基本量子线路(子线路b),每一层执行完后,直接执行下一层,子线路b的功能是将数据从子节点转移到父节点。由于在A比特中存储了地址,每一层的数据转移过程都一定会保留正确需要的数据。因此,到根部子树节点的D比特中,一定是地址所指示的数据位,从而成功地把数据提取出来。
示例性的,继续以图5为例,图5中存储有地址101。此时,两个树叶节点和上一层的子树节点组成一线路基本结构。同时执行横跨第三层和树叶层的4个Basic Block对应的第二基本量子线路c。其中,上方起第1个Basic Block中,由于父节点的A为第3位地址1,将2个子节点中、下标第3位为1的数据m001移动到父节点的D中;同理,第2个、第3个、第4个BasicBlock中,移动的数据为m011、m101、m111,最后,第3层子树节点的D比特读取出4个下标第3位为1(对应写入的地址101中第3位地址1)的数据m001、m011、m101、m111
继续执行横跨第二层和第三层的2个Basic Block对应的第二基本量子线路c。其中,上方第1个Basic Block中,由于父节点的A为第2位地址0,将2个子节点中、下标第2位为0的数据m001移动到父节点的D中;同理,第2个Basic Block中,移动的数据为m101,最后,第2层子树节点的D比特读取出2个下标第2位为0(对应写入的地址101中的第2位地址0)的数据m001、m101
最后执行横跨第一层和第二层的1个Basic Block对应的第二基本量子线路c。其中,由于父节点的A为第1位地址1,将2个子节点中、下标第1位为1的数据m101移动到父节点的D中;最终,在第1层树根部子树节点的D比特读取出2个下标第2位为1(对应写入的地址101中的第1位地址1)的数据m101,从而实现量子态地址|101>对应数据m101的读取与输出,如图6所示。
这个过程需要将子线路c执行N次,需要的时间=3Nt+Nt,其中t为一个Toffoli门需要的时间。前述执行一次propagation,需要的时间为4Nt,其中t为一个CNOT门执行需要的时间。
在一种具体实现中,一个Basic Block中需要2种基本量子线路,称之为子线路a、子线路b。
子线路(a)如图7(a)所示,其功能不涉及到A比特,它把D比特中的数据addr移动到m0和m1中。在运行这个线路之前,m0和m1中的量子态都会保证是0态。运行完该线路之后,D中的态保证为0态。其中,该线路中使用了4个CNOT门,图4(a)中用在一个比特上的⊕图标外加连接另一个比特的连线表示。
子线路(b)如图7(b)所示,功能是根据A的数据addr选择性转移m0或m1的数据到上一层的D中。若A为0,则通过Toffoli门将m0(对应下标为0)的数据d0移动到D中;若A为1,则通过Toffoli门将m1(对应下标为1)的数据d1移动到D中。如果m0、m1的位置互换,功能不变,即:A为0,移动m0的数据到D中;A为1,移动m1的数据到D中。图4(b)中用在一个比特上的⊕图标外加连接另两个比特的连线表示Toffoli门,实心表示实控,即该比特的量子态为1时执行该量子逻辑门;空心表示虚控,即该比特的量子态为0时执行该量子逻辑门。
另外,子线路(c)和子线路(b)实现的是相同的功能,如图7(c)所示,相比之下只使用了1个Toffoli门和3个CNOT门及2个NOT门,相对优化(Toffoli门实现非常复杂),可等价替换使用。其中,在一个比特上的⊕图标表示NOT门。需要说明的是,此处并不是对BasicBlock需要的基本量子线路构建的具体限定,其他能够实现子线路a、子线路b功能的量子线路也落在本申请的保护范围。
具体的,在实际应用中,在所述二叉树结构中树根部的子树节点上输出所述地址对应的数据后,还可以对所述QRAM架构进行反计算处理,以将所述QRAM架构恢复到初始状态。
整个系统架构虽然取出了数据,但是还没有恢复原有状态,恢复原有状态是非常重要的,因为一个量子算法中的query往往需要执行很多次。所以我们的uncomputing反计算过程就是反过来执行data copy和propagation过程,将整个系统恢复到初始状态。总共计算需要的时间是N(14t+2t)。
具体的,树叶节点存储的数据包括一个多位数,其中,多位数的每一位对应的一树叶节点的父节点均不相同;
或者,树叶节点存储的数据包括多个多位数,其中,多个多位数的相同位进行连续存储,且每一多位数的每一位对应的一树叶节点的父节点均不相同。
对于多位数据的储存和读取,可以采用和原来相同的architecture架构,以及一种新的内存存储方式。即:当需要存储一个多位数时,可以把这个数的每一位分到不同地方进行储存,以使多位数的每一位对应的一树叶节点的父节点均不相同;若需要储存1024个64位浮点数,只需要把这1024个数所有的第0位集中存储,再把所有的第1位集中存储……以使每一多位数的每一位对应的一树叶节点的父节点均不相同。
在进行读取时,由于量子的并行特性,从最后一层节点上开始,在前log(1024)=10步中,由于多位数的每一位不在同一个basic block中,可以并行取出,从而在第log(64)=6层的所有数据比特上得到想要的所有数,之后再依次把这些数据取出,最后完成uncomputing反计算过程即可。因此,这样存储数据,可以实现对所有数的所有位的同时并行处理,相对于连续储存有一定的加速效果。其中,该连续存储是指将一个数的第0位到最后一位连续存储,再将另一个数的第0位到最后一位连续存储,以此类推。
可见,通过提出一种有效的QRAM物理架构设计,该QRAM架构可以在理想的无噪声物理体系中实现,并且只对量子比特的排布具有平面、最近邻相互作用的要求。这种QRAM的运行时间不会超过O(log(N))级别,因此完全可以满足量子算法的需求。并且,基于QRAM的量子线路只使用了最基本的能合理实现的量子逻辑门,从而实现以量子态形式写入地址并读取数据的功能,加快复杂量子算法的分析验证。
参见图8,图8为本发明实施例提供的一种数据的读取装置的结构示意图,应用于预先构建的用于存取数据的QRAM架构,其中,所述QRAM架构为二叉树结构,所述QRAM架构包括以下节点:N层子树节点和1层树叶节点,所述子树节点包括:地址比特和第一数据比特,所述树叶节点包括:用于存储数据的第二数据比特,所述N为地址长度;所述装置包括:
接收模块801,用于接收量子态表示的地址;
解析模块802,用于解析所述地址,将所述地址的每一位地址分别转移到对应层子树节点的地址比特上;其中,所述地址的每一位对应所述N层子树节点的每一层;
输出模块803,用于从所述树叶节点开始,根据每一层子树节点的地址比特位存储的地址,将所述树叶节点存储的数据,转移到上一层子树节点的数据比特位上,直至在所述二叉树结构中树根部的子树节点上输出所述地址对应的数据。
具体的,所述解析模块,包括:
第一转移单元,用于针对所述地址的每一位地址,从k=N开始,将第k位地址转移到所述二叉树结构中树根部的第一层子树节点中;
第二转移单元,用于从第一层子树节点开始,重复执行将当前层子树节点中的第k位地址转移到下一层子树节点中的步骤,直至转移到第k层子树节点的地址比特上为止,其中,所述k为正整数且取值为从N依次取到1。
具体的,所述解析模块,包括:
第三转移单元,用于针对所述地址的每一位地址,从k=1开始,将第k位地址转移到所述二叉树结构中树根部的第一层子树节点中;
第四转移单元,用于从第一层子树节点开始,重复执行将当前层子树节点中的第k位地址转移到下一层子树节点中的步骤,直至转移到第(N-k+1)层子树节点的地址比特上,其中,所述k为正整数且取值为从1依次取到N;
其中,在将当前层子树节点中的第k位地址转移到下一层子树节点中后,将第k位地址的下一位地址从当前层的上一层子树节点转移到当前层子树节点中。
具体的,所述第一转移单元,具体用于:
将第k位地址转移到所述二叉树结构中树根部的第一层子树节点的数据比特位上;
所述第二转移单元,具体用于:
确定所述二叉树结构中的各个线路基本结构,其中,所述线路基本结构包括:一个子树节点的地址比特、数据比特及其下一层两个子节点中的数据比特;
从第一层子树节点开始,重复执行所述线路基本结构对应的第一基本量子线路,以将该线路基本结构中子树节点的数据比特存储的第k位地址转移到下一层两个子节点中的数据比特位上,直至将所述第k位地址转移到第k层子树节点的数据比特位上;
将第k层的子树节点的数据比特位与该子树节点的地址比特位的量子态进行交换,以将所述第k位地址移动到第k层的子树节点的地址比特位上。
具体的,所述输出模块,具体用于:
从所述树叶节点开始,重复执行所述线路基本结构对应的第二基本量子线路,以将所述树叶节点存储的数据转移到上一层子树节点的数据比特位上,直至在所述二叉树结构中树根部的子树节点的数据比特位上获得并输出所述地址对应的数据;其中,转移到上一层子树节点的数据比特位上的数据由对应线路基本结构包括的地址比特位存储的地址所确定。
具体的,所述装置还包括:
反计算模块,用于对所述QRAM架构进行反计算处理,以将所述QRAM架构恢复到初始状态。
具体的,所述树叶节点存储的数据为一个多位数,其中,所述多位数的每一位对应的一树叶节点的父节点均不相同;
或为多个多位数,其中,所述多个多位数的相同位进行连续存储,且每一多位数的每一位对应的一树叶节点的父节点均不相同。
可见,通过提出一种有效的QRAM架构,能够实现以量子态形式写入地址并读取数据的功能,从而加快复杂量子算法的分析验证。
本发明实施例还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项中方法实施例中的步骤。
具体的,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,接收量子态表示的地址;
S2,解析所述地址,将所述地址的每一位地址分别转移到对应层子树节点的地址比特上;其中,所述地址的每一位对应所述N层子树节点的每一层;
S3,从所述树叶节点开始,根据每一层子树节点的地址比特位存储的地址,将所述树叶节点存储的数据,转移到上一层子树节点的数据比特位上,直至在所述二叉树结构中树根部的子树节点上输出所述地址对应的数据。
具体的,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明实施例还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项中方法实施例中的步骤。
具体的,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
具体的,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,接收量子态表示的地址;
S2,解析所述地址,将所述地址的每一位地址分别转移到对应层子树节点的地址比特上;其中,所述地址的每一位对应所述N层子树节点的每一层;
S3,从所述树叶节点开始,根据每一层子树节点的地址比特位存储的地址,将所述树叶节点存储的数据,转移到上一层子树节点的数据比特位上,直至在所述二叉树结构中树根部的子树节点上输出所述地址对应的数据。
以上依据图式所示的实施例详细说明了本发明的构造、特征及作用效果,以上所述仅为本发明的较佳实施例,但本发明不以图面所示限定实施范围,凡是依照本发明的构想所作的改变,或修改为等同变化的等效实施例,仍未超出说明书与图示所涵盖的精神时,均应在本发明的保护范围内。

Claims (7)

1.一种数据的读取方法,其特征在于,应用于预先构建的用于存取数据的QRAM架构,其中,所述QRAM架构为二叉树结构,所述QRAM架构包括以下节点:N层子树节点和1层树叶节点,所述子树节点包括:地址比特和第一数据比特,所述树叶节点包括:用于存储数据的第二数据比特,所述N为地址长度;所述方法包括:
接收量子态表示的地址;
解析所述地址,将所述地址的每一位地址分别转移到对应层子树节点的地址比特上;其中,所述地址的每一位对应所述N层子树节点的每一层;其中,所述将所述地址的每一位地址分别转移到对应层子树节点的地址比特上,包括:针对所述地址的每一位地址,从k=N开始,将第k位地址转移到所述二叉树结构中树根部的第一层子树节点中;从第一层子树节点开始,重复执行将当前层子树节点中的第k位地址转移到下一层子树节点中的步骤,直至转移到第k层子树节点的地址比特上为止,其中,所述k为正整数且取值为从N依次取到1;其中,所述将第k位地址转移到所述二叉树结构中树根部的第一层子树节点中,包括:将第k位地址转移到所述二叉树结构中树根部的第一层子树节点的数据比特位上;所述从第一层子树节点开始,重复执行将当前层子树节点中的第k位地址转移到下一层子树节点中的步骤,直至转移到第k层子树节点的地址比特上,包括:确定所述二叉树结构中的各个线路基本结构,其中,所述线路基本结构包括:一个子树节点的地址比特、数据比特及其下一层两个子节点中的数据比特;从第一层子树节点开始,重复执行所述线路基本结构对应的第一基本量子线路,以将该线路基本结构中子树节点的数据比特存储的第k位地址转移到下一层两个子节点中的数据比特位上,直至将所述第k位地址转移到第k层子树节点的数据比特位上;将第k层的子树节点的数据比特位与该子树节点的地址比特位的量子态进行交换,以将所述第k位地址移动到第k层的子树节点的地址比特位上;
从所述树叶节点开始,根据每一层子树节点的地址比特位存储的地址,将所述树叶节点存储的数据,转移到上一层子树节点的数据比特位上,直至在所述二叉树结构中树根部的子树节点上输出所述地址对应的数据;
2.根据权利要求1所述的方法,其特征在于,所述从所述树叶节点开始,根据每一层子树节点的地址比特位存储的地址,将所述树叶节点存储的数据,转移到上一层子树节点的数据比特位上,直至在所述二叉树结构中树根部的子树节点上输出所述地址对应的数据,包括:
从所述树叶节点开始,重复执行所述线路基本结构对应的第二基本量子线路,以将所述树叶节点存储的数据转移到上一层子树节点的数据比特位上,直至在所述二叉树结构中树根部的子树节点的数据比特位上获得并输出所述地址对应的数据;其中,转移到上一层子树节点的数据比特位上的数据由对应线路基本结构包括的地址比特位存储的地址所确定。
3.根据权利要求1所述的方法,其特征在于,在所述二叉树结构中树根部的子树节点上输出所述地址对应的数据后,所述方法还包括:
对所述QRAM架构进行反计算处理,以将所述QRAM架构恢复到初始状态。
4.根据权利要求1所述的方法,其特征在于,所述树叶节点存储的数据为一个多位数,其中,所述多位数的每一位对应的一树叶节点的父节点均不相同;
或为多个多位数,其中,所述多个多位数的相同位进行连续存储,且每一多位数的每一位对应的一树叶节点的父节点均不相同。
5.一种数据的读取装置,其特征在于,应用于预先构建的用于存取数据的QRAM架构,其中,所述QRAM架构为二叉树结构,所述QRAM架构包括以下节点:N层子树节点和1层树叶节点,所述子树节点包括:地址比特和第一数据比特,所述树叶节点包括:用于存储数据的第二数据比特,所述N为地址长度;所述装置包括:
接收模块,用于接收量子态表示的地址;
解析模块,用于解析所述地址,将所述地址的每一位地址分别转移到对应层子树节点的地址比特上;其中,所述地址的每一位对应所述N层子树节点的每一层;其中,所述将所述地址的每一位地址分别转移到对应层子树节点的地址比特上,包括:针对所述地址的每一位地址,从k=N开始,将第k位地址转移到所述二叉树结构中树根部的第一层子树节点中;从第一层子树节点开始,重复执行将当前层子树节点中的第k位地址转移到下一层子树节点中的步骤,直至转移到第k层子树节点的地址比特上为止,其中,所述k为正整数且取值为从N依次取到1;其中,所述将第k位地址转移到所述二叉树结构中树根部的第一层子树节点中,包括:将第k位地址转移到所述二叉树结构中树根部的第一层子树节点的数据比特位上;所述从第一层子树节点开始,重复执行将当前层子树节点中的第k位地址转移到下一层子树节点中的步骤,直至转移到第k层子树节点的地址比特上,包括:确定所述二叉树结构中的各个线路基本结构,其中,所述线路基本结构包括:一个子树节点的地址比特、数据比特及其下一层两个子节点中的数据比特;从第一层子树节点开始,重复执行所述线路基本结构对应的第一基本量子线路,以将该线路基本结构中子树节点的数据比特存储的第k位地址转移到下一层两个子节点中的数据比特位上,直至将所述第k位地址转移到第k层子树节点的数据比特位上;将第k层的子树节点的数据比特位与该子树节点的地址比特位的量子态进行交换,以将所述第k位地址移动到第k层的子树节点的地址比特位上;
输出模块,用于从所述树叶节点开始,根据每一层子树节点的地址比特位存储的地址,将所述树叶节点存储的数据,转移到上一层子树节点的数据比特位上,直至在所述二叉树结构中树根部的子树节点上输出所述地址对应的数据。
6.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至4任一项中所述的方法。
7.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至4任一项中所述的方法。
CN202011376079.XA 2020-11-30 2020-11-30 一种数据的读取方法、装置、存储介质及电子装置 Active CN114638367B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202011376079.XA CN114638367B (zh) 2020-11-30 2020-11-30 一种数据的读取方法、装置、存储介质及电子装置
PCT/CN2021/096095 WO2022110704A1 (zh) 2020-11-30 2021-05-26 数据读取方法、装置、存储介质及电子装置
US18/039,429 US20240095565A1 (en) 2020-11-30 2021-05-26 Method, Device, Storage Medium and Electronic Device for Data Reading
EP21896214.0A EP4254275A1 (en) 2020-11-30 2021-05-26 Data reading method and apparatus, storage medium and electronic apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011376079.XA CN114638367B (zh) 2020-11-30 2020-11-30 一种数据的读取方法、装置、存储介质及电子装置

Publications (2)

Publication Number Publication Date
CN114638367A CN114638367A (zh) 2022-06-17
CN114638367B true CN114638367B (zh) 2023-08-04

Family

ID=81944703

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011376079.XA Active CN114638367B (zh) 2020-11-30 2020-11-30 一种数据的读取方法、装置、存储介质及电子装置

Country Status (1)

Country Link
CN (1) CN114638367B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101556561A (zh) * 2008-04-09 2009-10-14 盛群半导体股份有限公司 随机数改变地址及数据存储器保密方法
CN103414537A (zh) * 2013-08-05 2013-11-27 北京航空航天大学 一种基于无纠缠克隆的通用量子网络编码方法
CN109816112A (zh) * 2019-01-11 2019-05-28 合肥本源量子计算科技有限责任公司 一种解析量子程序存储文件的方法及装置
CN109886412A (zh) * 2019-01-11 2019-06-14 合肥本源量子计算科技有限责任公司 一种量子程序的持久化存储方法、装置及存储介质
CN109951495A (zh) * 2019-03-29 2019-06-28 新华三信息安全技术有限公司 网段查找方法及装置
CN111242306A (zh) * 2020-01-22 2020-06-05 北京百度网讯科技有限公司 量子主成分分析的方法、装置、电子设备以及计算机可读存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11362835B2 (en) * 2019-06-28 2022-06-14 Intel Corporation Efficient post-quantum anonymous attestation with signature-based join protocol and unlimited signatures

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101556561A (zh) * 2008-04-09 2009-10-14 盛群半导体股份有限公司 随机数改变地址及数据存储器保密方法
CN103414537A (zh) * 2013-08-05 2013-11-27 北京航空航天大学 一种基于无纠缠克隆的通用量子网络编码方法
CN109816112A (zh) * 2019-01-11 2019-05-28 合肥本源量子计算科技有限责任公司 一种解析量子程序存储文件的方法及装置
CN109886412A (zh) * 2019-01-11 2019-06-14 合肥本源量子计算科技有限责任公司 一种量子程序的持久化存储方法、装置及存储介质
CN109951495A (zh) * 2019-03-29 2019-06-28 新华三信息安全技术有限公司 网段查找方法及装置
CN111242306A (zh) * 2020-01-22 2020-06-05 北京百度网讯科技有限公司 量子主成分分析的方法、装置、电子设备以及计算机可读存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于二叉树型结构独立地址的快速分配算法;田原;;上海电力学院学报(第01期);54-56 *

Also Published As

Publication number Publication date
CN114638367A (zh) 2022-06-17

Similar Documents

Publication Publication Date Title
CN111582491B (zh) 一种量子线路的构建方法及装置
CN110516810B (zh) 一种量子程序的处理方法、装置、存储介质和电子装置
CN110826719A (zh) 一种量子程序的处理方法、装置、存储介质和电子装置
CN113222150B (zh) 一种量子态的变换方法及装置
CN114764549B (zh) 基于矩阵乘积态的量子线路模拟计算方法、装置
CN111461335A (zh) 基于mpi多进程的含噪声单量子逻辑门实现方法及装置
CN114358319B (zh) 基于机器学习框架的分类方法及相关装置
CN113222160B (zh) 一种量子态的转换方法及装置
CN113222159B (zh) 一种量子态的确定方法及装置
CN113222151B (zh) 一种量子态的变换方法及装置
CN114638367B (zh) 一种数据的读取方法、装置、存储介质及电子装置
CN114626532B (zh) 基于地址读取数据的方法、装置、存储介质及电子装置
CN114638366B (zh) 量子地址数据的解析方法、装置、存储介质及电子装置
CN114638368B (zh) 一种用于qram架构的量子线路的构建方法及装置
CN114511094B (zh) 一种量子算法的优化方法、装置、存储介质与电子装置
CN116403657A (zh) 一种药物反应预测方法、装置、存储介质及电子装置
WO2022110704A1 (zh) 数据读取方法、装置、存储介质及电子装置
CN115293254A (zh) 基于量子多层感知器的分类方法及相关设备
WO2022110705A1 (zh) Qram架构的量子线路的构建方法和装置、以及量子地址数据的解析方法和装置
US11983606B2 (en) Method and device for constructing quantum circuit of QRAM architecture, and method and device for parsing quantum address data
CN114372584B (zh) 基于机器学习框架的迁移学习方法及相关装置
CN114692880B (zh) 一种量子线路中量子态振幅的模拟方法及装置
CN114764620B (zh) 一种量子卷积操作器
CN113222153B (zh) 一种量子态的模拟方法、装置、存储介质和电子装置
WO2024007919A1 (zh) 基于lbm的量子流动模拟方法、装置、介质及设备

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
CB02 Change of applicant information

Address after: 230088 6th floor, E2 building, phase II, innovation industrial park, 2800 innovation Avenue, high tech Zone, Hefei City, Anhui Province

Applicant after: Benyuan Quantum Computing Technology (Hefei) Co.,Ltd.

Address before: 230088 6th floor, E2 building, phase II, innovation industrial park, 2800 innovation Avenue, high tech Zone, Hefei City, Anhui Province

Applicant before: ORIGIN QUANTUM COMPUTING COMPANY, LIMITED, HEFEI

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant