CN111445938B - 编码型闪存结构及数据处理方法 - Google Patents

编码型闪存结构及数据处理方法 Download PDF

Info

Publication number
CN111445938B
CN111445938B CN202010223681.3A CN202010223681A CN111445938B CN 111445938 B CN111445938 B CN 111445938B CN 202010223681 A CN202010223681 A CN 202010223681A CN 111445938 B CN111445938 B CN 111445938B
Authority
CN
China
Prior art keywords
array
flash memory
floating gate
input
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
CN202010223681.3A
Other languages
English (en)
Other versions
CN111445938A (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.)
Peking University
Original Assignee
Peking University
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 Peking University filed Critical Peking University
Priority to CN202010223681.3A priority Critical patent/CN111445938B/zh
Publication of CN111445938A publication Critical patent/CN111445938A/zh
Application granted granted Critical
Publication of CN111445938B publication Critical patent/CN111445938B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management

Abstract

本发明公开了一种编码型闪存结构及数据处理方法,该编码型闪存结构包括:输入模块、处理模块和输出模块,处理模块包括:闪存阵列,闪存阵列包括:W×B个浮栅晶体管和B条位线,W个浮栅晶体管沿第一方向排列构成阵列子单元,B个阵列子单元在第二方向上排列构成闪存阵列,其中B≥2,W≥2;B条位线在第二方向上相互平行设置,B条位线中的每条位线的一端在第一方向上与每个阵列子单元的一端的浮栅晶体管的源极或漏极对应相连。本发明的编码型闪存结构实现了在同一位线上存在多个浮栅晶体管处于工作状态,极大地提高了晶体管阵列的利用效率,从而进一步提高了闪存结构的数据处理效率。

Description

编码型闪存结构及数据处理方法
技术领域
本发明涉及半导体集成电路技术领域,具体涉及一种基于计数器辅助实现矩阵向量乘法运算的编码型闪存结构及数据处理方法。
背景技术
在计算机科学领域中,数据处理(例如图像处理、数据降维等)可以依据半导体领域的存储器结构和基于存储器结构的运算方法来实现。例如,矩阵向量乘法运算是指输入为矩阵和向量,输出为向量的运算,可以应用于数据处理。例如,在神经网络中卷积层和全连接层中输入和权重的乘加运算能够以矩阵向量乘法的形式进行处理,因此提高矩阵向量乘法运算的效率对于神经网络应用至关重要。
在实际的神经网络数据处理应用过程中,卷积层和全连接层中的输入和权重数目非常巨大,数据处理任务量巨大,若利用传统的冯诺依曼计算架构实现,则数据在搬运过程就会消耗巨大的能量和时间。为解决此问题,现有的闪存结构通过辅以加法器的数字运算实现,但该结构中在同一位线上仅有一个浮栅晶体管工作,因此该结构中的晶体管阵列利用效率不足,数据处理效率提高有限。
发明内容
(一)要解决的技术问题
为解决现有技术中的闪存结构中浮栅晶体管阵列利用效率不足,无法进一步提高闪存结构的数据处理效率的技术问题,本发明公开了一种编码型闪存结构及数据处理方法。
(二)技术方案
本发明的再一个方面公开了一种编码型闪存结构,包括:输入模块、处理模块、输出模块,输入模块用于输入第一数据;处理模块与输入模块相连,接收第一数据并进行处理以获取第二数据;输出模块与处理模块相连,接收第二数据并输出;其中,处理模块包括:闪存阵列,闪存阵列包括:W×B个浮栅晶体管和B条位线,W个浮栅晶体管沿第一方向排列构成阵列子单元,B个阵列子单元在第二方向上排列构成闪存阵列,其中B≥2,W≥2;B条位线在第二方向上相互平行设置,B条位线中的每条位线的一端在第一方向上与每个阵列子单元的一端的浮栅晶体管的源极或漏极对应相连。
根据本发明的实施例,闪存阵列还包括:W条字线,在第一方向上相互平行设置,每条字线在第二方向上与B个浮栅晶体管的栅极相连。
根据本发明的实施例,输入模块包括:字线控制器,设置有W个输入端口,W条字线中的每条字线与W个输入端口中的每个输入端口一一对应相连。
根据本发明的实施例,编码型闪存结构还包括:B个第一选择管、第一选择线和源线,B个第一选择管中的每个第一选择管的一端与B个阵列子单元中的每个阵列子单元的另一端的浮栅晶体管的源极或漏极对应相连;第一选择线与B个第一选择管中的每个第一选择管在第二方向上相连;源线与B个第一选择管中的每个第一选择管的另一端相连。
根据本发明的实施例,编码型闪存结构还包括:B个第二选择管和第二选择线,B个第二选择管B个第二选择管中的每个第二选择管的一端与B个阵列子单元中的每个阵列子单元的一端的浮栅晶体管的源极或漏极对应相连;第二选择线与B个第二选择管中的每个第二选择管相连;其中,B条位线中每条位线的一端与B个第二选择管中的每个第二选择管的另一端相连。
根据本发明的实施例,B个阵列子单元构成在第二方向的B/2个阵列单元组,B/2个阵列单元组中的每个阵列单元组包括:第一阵列子单元和第二阵列子单元,第一阵列子单元和第二阵列子单元在第二方向上相邻设置。
根据本发明的实施例,输出模块包括:B/2个第一计数器和B/2个第二计数器,B/2个第一计数器中的每个第一计数器的输入端与第一阵列子单元对应相连的位线的另一端相连,B/2个第二计数器中的每个第二计数器的输入端与第二阵列子单元对应相连的位线的另一端相连。
根据本发明的实施例,输出模块还包括:B/2个减法器,B/2个减法器中的每个减法器包括:正输入端和负输入端,正输入端与第一计数器的输出端相连,负输入端与第二计数器的输出端相连。
本发明的又一个方面公开了一种数据处理方法,应用于上述的编码型闪存结构,包括:输入第一数据;接收第一数据并进行处理以获取第二数据;以及接收第二数据并输出。
根据本发明的实施例,输入第一数据包括:将第一数据中的矩阵向量元素通过编程、擦除操作映射到编码型闪存结构,形成向量元素yi,j,在选择线上施加高电压,选中编码型闪存结构中的阵列子单元;通过字线控制器向阵列子单元输入向量元素xi,并对向量元素xi对应的输入字线施加给定电压,同时对其他输入字线施加高电压。
根据本发明的实施例,接收第二数据并输出包括:通过计数器对向量元素xi的处理结果进行累加;判断向量元素xi输入状态,当向量元素xi输入状态为0时,通过减法器对相邻计数器输出的处理结果进行相减处理,输出第二数据。
(三)有益效果
本发明公开了一种编码型闪存结构及数据处理方法,该编码型闪存结构包括:输入模块、处理模块和输出模块,输入模块用于输入第一数据;处理模块与输入模块相连,接收第一数据并进行处理以获取第二数据;输出模块与处理模块相连,接收第二数据并输出;其中,处理模块包括:闪存阵列,闪存阵列包括:W×B个浮栅晶体管和B条位线,W个浮栅晶体管沿第一方向排列构成阵列子单元,B个阵列子单元在第二方向上排列构成闪存阵列,其中B≥2,W≥2;B条位线在第一方向上相互平行设置,B条位线中的每条位线的一端在第一方向上与每个阵列子单元的一端的浮栅晶体管的源极或漏极对应相连。本发明的编码型闪存结构实现了在同一位线上存在多个浮栅晶体管处于工作状态,极大地提高了晶体管阵列的利用效率,从而进一步提高了闪存结构的数据处理效率。
附图说明
图1是本发明实施例中矩阵向量乘法原理说明的一示意图;
图2是本发明实施例中一编码型闪存结构对应结构组成的电路组成示意图;
图3A是本发明实施例中对应于图2的编码型闪存结构的数据处理方法流程示意图;
图3B是本发明实施例中对应于图2的编码型闪存结构的数据处理方法详细流程示意图;
图4是本发明实施例中另一编码型闪存结构对应结构组成的电路组成示意图;
图5A是本发明实施例中对应于图4的编码型闪存结构的数据处理方法流程示意图;
图5B是本发明实施例中对应于图4的编码型闪存结构的数据处理方法详细流程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
为解决现有技术中的闪存结构中浮栅晶体管阵列利用效率不足,无法进一步提高闪存结构的数据处理效率的技术问题,本发明公开了一种编码型闪存结构及数据处理方法。
本发明编码型闪存结构可以实现的基于计数器辅助以完成数据处理(例如图像卷积运算)的闪存系统,包括:应用于运算处理的处理模块和输出模块,该处理模块可以具有编码型闪存阵列,其中,编码型闪存阵列由阵列布置的多对相互连接的场效应管组成。在该编码型闪存阵列中,每行(或每列)的场效应管的栅极与字线相连,每行(或每列)的场效应管的源极(或漏极)与位线相连,每行(或每列)的多对场效应管的公共端与源线相连。另外,输出模块包括计数器和减法器。其中,计数器的输出端与减法器的输入端对应连接。编码型闪存阵列通过位线与计数器的输入端相连,进而与输出模块连接。
根据本发明的实施例,该编码型闪存结构用于实现通过矩阵向量乘法完成数据处理。其中,上述的场效应管,可以是浮栅晶体管。浮栅晶体管可以通过PROGRAM操作来得到高阈值电压,或者通过ERASE操作来得到低阈值电压,并可以据此区分不同的逻辑值。例如,当进行PROGRAM操作时,在隧穿过程中,会在浮栅层中引入可动电荷,使得阈值电压上升;当进行ERASE操作时,会擦除在隧穿过程中引入的可动电荷,使得阈值电压下降。根据本发明实施例,在基于上述编码型闪存结构的矩阵向量运算中,高低不同的阈值电压可以作为信息的输入以及计算和存储的变量,每一行的电流作为输出,使得脉冲电压信号可以触发本发明实施例中的数据处理过程,例如对图像的卷积运算。
根据本发明的实施例,基于该编码型闪存结构的矩阵向量运算,以对应于神经网络结构中全连接层的权重或卷积层中的卷积核的矩阵向量为例,当一维向量与二维矩阵的矩阵向量乘法运算,其中一维向量中的每个元素xi与矩阵中相应列上的对应元素yi,j相乘并求和,得到输出结果zj,其数学表达式为:
Figure GDA0003473535810000051
其中,xi表示输入向量元素,yi,j表示矩阵中各位置点,zj表示输出向量元素。
因此,如图1所示,对应于一个包含1×9个元素的一维向量和一个9×4大小的矩阵做乘法(即卷积运算),所得到的是一个包含1×4个元素的一维向量(即输出向量,为图像数据中对应的像素点),对应于数学表达式为:
Figure GDA0003473535810000052
在具体的神经网络推理过程中,全连接层的权重或卷积层中的卷积核的矩阵向量的值是不变的,因此适于存储在本发明的编码型闪存结构中。
为此,在本发明实施例中,基于计数器辅助的编码型闪存结构利用浮栅晶体管实现上述乘法运算的原理如下:两个乘数为浮栅晶体管的阈值电压和施加在源极和漏极之间的电压,乘法的结果为晶体管的源、漏极间流过的电流。定义浮栅晶体管处于逻辑“0”时其阈值电压为高电压Vth_high,处于逻辑“1”时其阈值电压为低电压Vth_low(Vth_low<Vth_high)。字线上施加电压(Vth_high+Vth_low)/2记为逻辑“1”,字线上施加电压信号为0则记为逻辑“0”。在源、漏极之间施加正向电压信号,字线上施加电压(Vth_high+Vth_low)/2时,此时阈值电压为Vth_high的单元无法开启,流过电流极小,而阈值电压为Vth_low的单元由于已经开启,因此会有相应的电流流过源、漏两极。
本发明的一个方面公开了一种编码型闪存结构,该编码型闪存结构包括上述的浮栅晶体管所构成的闪存阵列,主要包括:输入模块、处理模块和输出模块。其中,输入模块可以包括位线控制器和字线控制器等组成,用于输入第一数据,第一数据可以是图像矩阵对应的矩阵元素,和/或施加于栅极的栅极电压信号,也可以是卷积核矩阵对应的矩阵元素。处理模块与输入模块相连,接收第一数据并进行处理以获取第二数据,例如,接收并存储图像矩阵对应输入的矩阵元素,和/或施加于栅极的栅极电压信号,基于栅极电压信号对输入的矩阵元素进行处理(对应于上述的矩阵向量运算),可以得到相应的卷积核矩阵的输出数据,即第二数据,第二数据可以以电流形式存在;或者处理模块可以接收并存储卷积核矩阵对应输入的矩阵元素,并对其进行处理(对应于上述的矩阵向量运算),可以得到相应的图像矩阵的输出数据,也即第二数据。输出模块与处理模块相连,接收第二数据并输出。其中,输出模块可以将对应的电流形式的第二数据转换为图像予以输出。
根据本发明的实施例,如图2所示,处理模块包括:闪存阵列,闪存阵列包括:W×B个浮栅晶体管和B条位线,当输入向量元素对应矩阵中各位置点的y取值为[-2N+1,2N-1]时,同时输入向量包含X个元素,输出向量包含Z个元素时,该闪存阵列中的浮栅晶体管的数量为X×Z×N×2=W×B,其中,W=X,B=Z×N×2。其中,当输入向量x对应为多比特位的输入,则每次只输入一个比特位,最后将每次计算的结果加权相加,当输入向量x对应为单比特位的输入,例如第i比特位,则其计算结果为z(xi),最后的结果z=z(x0)×20+...+z(xN-1)×2N -1。例如,对于输入向量取值表示为{-1,0,1}矩阵向量需要的浮栅晶体管的数量为2个,因此其对应闪存阵列的浮栅晶体管的总数为X×Z×2,而对于输入向量取值表示为[-2N+1,2N-1]矩阵向量需要的浮栅晶体管的数量为N×2个,因此其对应闪存阵列的浮栅晶体管的总数为X×Z×N×2。因此,本发明的编码型闪存结构中闪存阵列的浮栅晶体管数量可以依据具体的运算量进行相应的改变,增强了本发明闪存阵列的实用性和适用性。因此,对应于图1中的一维向量与二维矩阵的矩阵向量乘法运算,如图2所示,闪存阵列的浮栅晶体管数量为9×8=72,其中,W为9,B为8。
其中,W个浮栅晶体管沿第一方向排列构成阵列子单元,B个阵列子单元在第二方向上排列构成闪存阵列,其中B≥2,W≥2;第一方向为位线延伸的方向,如图2所示,双向箭头b所指示的方向即第一方向;第二方向为字线延伸的方向,双向箭头w所指示的方向即第二方向。第一方向b和第二方向w可以相互垂直设计。如图2所示,9个浮栅晶体管沿第一方向b排列构成阵列子单元,8个阵列子单元在第二方向上排列构成闪存阵列,其中8个阵列子单元中包括如310、320所示的阵列子单元,每个阵列子单元包括至少9个浮栅晶体管,在第一方向b上沿位线排列,例如阵列子单元210中包括9个浮栅晶体管,分别为浮栅晶体管311、浮栅晶体管312、浮栅晶体管313…浮栅晶体管319。
另外,B条位线在第二方向w上相互平行设置,每条位线在第一方向b上与每个阵列子单元中的W个浮栅晶体管的每个浮栅晶体管的源极和/或漏极相连,此时每个浮栅晶体管的源极和/或漏极是沿所在位线实线与位线的连接,可以连接于位线的中部。如图2所示,8条位线在第二方向w上相互平行设置,其中每条位线在第一方向b上与每个阵列子单元中的每个浮栅晶体管的源极相连。
可见,本发明的编码型闪存结构实现了在同一位线上存在多个浮栅晶体管处于工作状态,极大地提高了晶体管阵列的利用效率,从而进一步提高了闪存结构的数据处理效率。
根据本发明的实施例,闪存阵列还包括:W条字线,W条字线在第一方向b上相互平行设置,每条字线在第二方向w上与B个浮栅晶体管的栅极相连。如图2所示,9条字线在第一方向b上相互平行设置,每条字线在第二方向w上与8个浮栅晶体管的栅极相连,该8个浮栅晶体管分别位于8个不同、但相互平行的阵列子单元中,在第二方向w上彼此对应排列,如图2所示,浮栅晶体管111、浮栅晶体管121、浮栅晶体管211、浮栅晶体管221…浮栅晶体管421共8个浮栅晶体管对应同一字线设置,并8个浮栅晶体管的栅极与该字线连接。
根据本发明的实施例,如图2所示,输入模块包括:字线控制器,设置有W个输入端口,W条字线中的每条字线与W个输入端口中的每个输入端口一一对应相连,例如x1、x2、x3…x9元素均通过对应的字线端口向闪存阵列中输入,字线控制器用于对每条字线施加栅极电压,并借此输入第一数据对应的矩阵向量元素xi
根据本发明的实施例,B个阵列子单元的每个阵列子单元包括:
W/2个晶体管单元组,每个晶体管单元组包括:第一浮栅晶体管和第二浮栅晶体管,如图2所示,8个阵列子单元中的阵列子单元310和320,其中阵列子单元310包括至少4个晶体管单元组,每个晶体管单元组包括两个相邻的第一浮栅晶体管和第二浮栅晶体管,其中第一浮栅晶体管和第二浮栅晶体管可以是相同的浮栅场效应管,第一浮栅晶体管与第二浮栅晶体管在第一方向b上相邻设置。例如,阵列子单元310中晶体管单元组101中包括第一浮栅晶体管311和第二浮栅晶体管312。由于相邻设置的设计,使得第一浮栅晶体管和第二浮栅晶体管之间构成相互连接的公共端。其中,第一浮栅晶体管源极与第二浮栅晶体管的漏极相连构成公共端,或第一浮栅晶体管漏极与第二浮栅晶体管的源极相连构成公共端,用于连接源线。因此,每个阵列子单元中,公共端存在的数量与晶体管单元组的数量一致,为闪存阵列中字线数量的一半,即W/2。具体的,当W为偶数时,公共端数量为W/2;当W为奇数时,公共端数量为(W-1)/2。在本发明实施例中,W、B为正整数。
根据本发明的实施例,闪存阵列还包括:W/2条源线,在第一方向b上相互平行设置,每条源线在第二方向w上与B个晶体管单元组中的公共端相连。源线与字线相互平行设置,与每条字线连接于第二方向w上的对应浮栅晶体管的栅极类似,源线对应连接于第二方向上排列的W/2个晶体管单元组的公共端。源线的另一端将上述公共端引出至源线控制器,可以用于实现将输出模块的电流数据转换为图像。
根据本发明的实施例,B个阵列子单元构成在第二方向的B/2个阵列单元组,B/2个阵列单元组中的每个阵列单元组包括:第一阵列子单元和第二阵列子单元,第一阵列子单元和第二阵列子单元在第二方向上相邻设置。如图2所示,阵列单元组300构成8个阵列子单元中在第二方向上的4个阵列单元组的一个,阵列单元组300包括第一阵列子单元310和第二阵列子单元320,第一阵列子单元310和第二阵列子单元320在第二方向w上相邻设置,用于对应输出向量zj。其中,第一阵列子单元310和第二阵列子单元320的浮栅晶体管的排列形式、组成结构可以一致。
根据本发明的实施例,输出模块包括:B/2个第一计数器和B/2个第二计数器,B/2个第一计数器中的每个第一计数器的输入端与第一阵列子单元对应相连的位线相连,B/2个第二计数器中的每个第二计数器的输入端与第二阵列子单元对应相连的位线相连。如图2所示,对应于闪存阵列的计数器为8个,其中4个第一计数器1,4个第二计数器2,其中第一计数器1和第二计数器2在第二方向w上相互间隔排列设置,且第一计数器1和第二计数器2可以为相同的计数器。例如,与输出向量z3对应的第一计数器1和第二计数器2分别对应于闪存阵列中阵列单元组300的第一阵列子单元310和第二阵列子单元320,即第一计数器1的输入端与第一阵列子单元310所在位线相连,第二计数器2的输入端与第二阵列子单元320所在位线相连,用于使得输出模块接收第二数据,并对处理运算过程进行计数。
根据本发明的实施例,输出模块还包括:B/2个减法器,B/2个减法器中的每个减法器包括:正输入端和负输入端,正输入端,与第一计数器的输出端相连,负输入端,与第二计数器的输出端相连。如图2所示,对应于输出向量z3的减法器3,其正输入端与第一计数器1的输出端相连,其负输入端与第二计数器2的输出端相连,用于同时实现同时对矩阵向量数据中存在的正值和负值的运算或处理,其中减法器即可以在一次卷积操作中实现对负值的运算。
本发明的另一个方面公开了一种数据处理方法,应用于上述的编码型闪存结构,如图3A所示,该数据处理方法包括:
S301:输入第一数据;
S302:接收第一数据并进行处理以获取第二数据;以及
S303:接收第二数据并输出。
根据本发明的实施例,如图3B所示,输入第一数据包括:
S310:将第一数据中的矩阵向量元素通过编程、擦除操作映射到编码型闪存结构,形成向量元素yi,j;即将矩阵中的元素通过编程、擦除等操作映射到编码型闪存结构的闪存阵列中。
S320:i=1;即对向量运算过程进行计数,起始位i=1。
S330:通过字线控制器向编码型闪存结构输入向量元素xi,并对向量元素xi对应的输入字线施加给定电压。在编码型闪存结构的闪存阵列中输入向量元素xi,选中对应字线加给定电压,未选中字线不施加电压。
根据本发明的实施例,如图3B所示,接收第二数据并输出包括:
S340:通过计数器对向量元素xi的处理结果进行累加;即对闪存阵列中的运算结果在计数器中进行累加。
S350:判断向量元素xi输入状态,即判断输入向量元素xi是否输入完成,当输入向量元素xi输入完成,向量元素xi输入状态为0,否则向量元素xi输入状态不为0。
S360:当向量元素xi输入状态为0时,通过减法器对相邻计数器输出的处理结果进行相减处理,输出第二数据。即输入向量元素xi输入完成时,相邻计数器输出的结果通过减法器进行相减运算,然后将该运算结果予以输出,可以为电流形式的第二数据,最后第二数据会被转换为图像。
S370:当向量元素xi输入状态不为0时,运算过程计数i=i+1,并进入到步骤S330,继续反复执行。
综上,基于上述矩阵向量乘法运算的原理,本发明实施例可以为如图2所示编码型闪存结构,其中,字线连接着各浮栅晶体管的栅极,位线连接着浮栅晶体管的漏极和/或源极,所有浮栅晶体管的公共端通过源线连接到一起并引出,阵列单元组中相邻的阵列子单元对应位线的一端分别连接到相邻两个计数器的输入端,之后再连接到减法器的对应的正、负两端进行减法运算。基于上述实施例的编码型闪存结构,如图3B所示,对上述数据处理方法作进一步的说明如下:
首先,在源线上始终提供一个驱动电压。矩阵向量中的元素通过用于输入的字线控制器依次输入,每个时刻只输入一个元素,当输入的元素值xi,j=1时,输入的电压信号为
Figure GDA0003473535810000111
其他字线上均不输入电压;当xi,j=0时,输入零电平电压信号,其他字线上也均不输入电压。计算的结果如果是1,则位线上的电流为大电流,此时计数器加1,若计算的结果是0,则位线上的电流为小电流,此时计数器的值保持不变,这样通过分时输入计数的方式完成求和运算。对于矩阵中的元素为负数的情况,在本发明的编码型闪存结构的闪存阵列中利用两条位线计数结果相减的方式来实现,具体可参见如图2所示的201单元,其对应的矩阵中的元素为y1,2,若存储的数据为-1/1,则上面单元所存储的逻辑值为0/1,下面单元所存储的逻辑值为1/0,通过计数器累加之后相减完成负数运算。因此实现一个对应于上述实施例的矩阵向量乘法运算,可以通过一个8行9列的编码型闪存阵列(如图2)来存储矩阵数据,以及八个计数器和四个减法器,对应于1×L大小向量和L×M大小矩阵的矩阵向量乘法运算,其需要的编码型闪存阵列中浮栅晶体管的数量为2M×L,计数器的个数为2M个,减法器的个数为M个,如图2所示。其对应的数据处理方法如图3A、图3B所示。
本发明的再一个方面公开了一种编码型闪存结构,该编码型闪存结构包括上述的浮栅晶体管所构成的闪存阵列,主要包括:输入模块、处理模块、输出模块,其中,输入模块可以包括位线控制器和字线控制器等组成,用于输入第一数据,第一数据可以是图像矩阵对应的矩阵元素,和/或施加于栅极的栅极电压信号,也可以是卷积核矩阵对应的矩阵元素。处理模块与输入模块相连,接收第一数据并进行处理以获取第二数据;例如,接收并存储图像矩阵对应输入的矩阵元素,和/或施加于栅极的栅极电压信号,基于栅极电压信号对输入的矩阵元素进行处理(对应于上述的矩阵向量运算),可以得到相应的卷积核矩阵的输出数据,即第二数据,第二数据可以以电流形式存在;或者处理模块可以接收并存储卷积核矩阵对应输入的矩阵元素,并对其进行处理(对应于上述的矩阵向量运算),可以得到相应的图像矩阵的输出数据,也即第二数据。输出模块与处理模块相连,接收第二数据并输出;其中,输出模块可以将对应的电流形式的第二数据转换为图像予以输出。
根据本发明的实施例,如图4所示,处理模块包括:闪存阵列,闪存阵列包括:W×B个浮栅晶体管和B条位线,当输入向量元素对应矩阵中各位置点的y取值为[-2N+1,2N-1]时,同时输入向量包含X个元素,输出向量包含Z个元素时,该闪存阵列中的浮栅晶体管的数量为X×Z×N×2=W×B,其中,W=X,B=Z×N×2。其中,当输入向量x对应为多比特位的输入,则每次只输入一个比特位,最后将每次计算的结果加权相加,当输入向量x对应为单比特位的输入,例如第i比特位,则其计算结果为z(xi),最后的结果z=z(x0)×20+...+z(xN-1)×2N -1。例如,对于输入向量取值表示为{-1,0,1}矩阵向量需要的浮栅晶体管的数量为2个,因此其对应闪存阵列的浮栅晶体管的总数为X×Z×2,而对于输入向量取值表示为[-2N+1,2N-1]矩阵向量需要的浮栅晶体管的数量为N×2个,因此其对应闪存阵列的浮栅晶体管的总数为X×Z×N×2。因此,本发明的编码型闪存结构中闪存阵列的浮栅晶体管数量可以依据具体的运算量进行相应的改变,增强了本发明闪存阵列的实用性和适用性。因此,对应于图1中的一维向量与二维矩阵的矩阵向量乘法运算,如图2所示,闪存阵列的浮栅晶体管数量为9×8=72,其中,W为9,B为8。
其中,W个浮栅晶体管沿第一方向排列构成阵列子单元,B个阵列子单元在第二方向上排列构成闪存阵列,其中B≥2,W≥2;第一方向为位线延伸的方向,如图4所示,双向箭头b所指示的方向即第一方向;第二方向为字线延伸的方向,双向箭头w所指示的方向即第二方向。第一方向b和第二方向w可以相互垂直设计。如图4所示,9个浮栅晶体管沿第一方向b排列构成阵列子单元(可以理解为首尾相连,即浮栅晶体管的源极与相邻浮栅晶体管的漏极对应相连),8个阵列子单元在第二方向上排列构成闪存阵列,其中8个阵列子单元中包括如410、420所示的阵列子单元,每个阵列子单元包括至少9个浮栅晶体管,在第一方向b上沿位线排列,例如阵列子单元420中包括9个浮栅晶体管,分别为浮栅晶体管421、浮栅晶体管422、浮栅晶体管423…浮栅晶体管429。
另外,B条位线在第一方向b上相互平行设置,B条位线中的每条位线的一端在第一方向b上与每个阵列子单元的一端的浮栅晶体管的源极或漏极对应相连。如图4所示,对于阵列子单元420,其对应的一端为浮栅晶体管429的源极或漏极,该浮栅晶体管429的源极或漏极与位线的一端对应连接,具体地,其对应与选择线2上一选择管的输入端连接,通过选择管的输出端与位线的一端连接。因此,每条位线在第一方向b上与每个阵列子单元一端对应的浮栅晶体管源极或漏极端相连。
可见,本发明的编码型闪存结构实现了在同一位线上存在多个浮栅晶体管处于工作状态,极大地提高了晶体管阵列的利用效率,从而进一步提高了闪存结构的数据处理效率。
根据本发明的实施例,闪存阵列还包括:W条字线,在第一方向b上相互平行设置,每条字线在第二方向w上与B个浮栅晶体管的栅极相连。如图4所示,9条字线在第一方向b上相互平行设置,每条字线在第二方向w上与8个浮栅晶体管的栅极相连,该8个浮栅晶体管分别位于8个不同、但相互平行的阵列子单元中,在第二方向w上彼此对应排列,如图4所示,浮栅晶体管114、浮栅晶体管124、浮栅晶体管214、浮栅晶体管224…浮栅晶体管424共8个浮栅晶体管对应同一字线设置,并8个浮栅晶体管的栅极与该字线连接。
根据本发明的实施例,输入模块包括:字线控制器,设置有W个输入端口,W条字线中的每条字线与W个输入端口中的每个输入端口一一对应相连。例如x1、x2、x3…x9元素均通过对应的字线端口向闪存阵列中输入,字线控制器用于对每条字线施加栅极电压,并借此输入第一数据对应的矩阵向量元素xi
根据本发明的实施例,编码型闪存结构还包括:B个第一选择管、第一选择线和源线,B个第一选择管,B个第一选择管中的每个第一选择管的一端与B个阵列子单元中的每个阵列子单元的另一端的浮栅晶体管的源极或漏极对应相连;B个第一选择管与B个阵列子单元一一对应设置。如图4所示,对于阵列子单元420,其对应的另一端为浮栅晶体管421的漏极或源极。由于阵列子单元中的浮栅晶体管彼此首尾相连,使得浮栅晶体管421的漏极或源极与第一选择管相连,需要取决于该阵列子单元420与位线对应连接的一端的浮栅晶体管429为源极还是漏极,当浮栅晶体管429通过源极与位线对应的第二选择管的输入端相连时,浮栅晶体管421的漏极与第一选择管的输入端相连,反之,为源极与之相连。该浮栅晶体管421的源极或漏极与第一选择管的输入端对应连接,通过第一选择管的输出端与源线连接。
第一选择线1,与B个第一选择管中的每个第一选择管在第二方向w上相连;如图4所示,第一选择线1将8个第一选择管在第二方向w上连接,使得第一选择管的输入端与对应的阵列子单元的浮栅晶体管的源极或漏极相连,例如浮栅晶体管421。
源线与B个第一选择管中的每个第一选择管的另一端相连。源线对应与每个选择管的输出端相连,可以用于实现将输出模块的电流数据转换为图像。
根据本发明的实施例,编码型闪存结构还包括:B个第二选择管和第二选择线2,B个第二选择管中的每个第二选择管的一端与B个阵列子单元中的每个阵列子单元的一端的浮栅晶体管的源极或漏极对应相连;如图4所示,对于阵列子单元420,其对应的一端为浮栅晶体管429的漏极或源极。由于阵列子单元中的浮栅晶体管彼此首尾相连,使得浮栅晶体管429的漏极或源极与第二选择管的输入端相连,需要取决于该阵列子单元420与第一选择管对应连接的另一端的浮栅晶体管421为源极还是漏极,当浮栅晶体管421通过源极与源线对应的第一选择管的输入端相连时,浮栅晶体管429的漏极与第二选择管的输入端相连,反之,为源极与之相连。该浮栅晶体管429的源极或漏极与第二选择管的输入端对应连接,通过第二选择管的输出端与位线连接。
第二选择线2与B个第二选择管中的每个第二选择管相连;如图4所示,第二选择线2将8个第二选择管在第二方向w上连接,使得第二选择管的输入端与对应的阵列子单元的浮栅晶体管的源极或漏极相连,例如浮栅晶体管429。
其中,B条位线中每条位线的一端与B个第二选择管中的每个第二选择管的另一端相连,位线与对应第二选择管的输出端相连,可以用于将接收到的存储于闪存阵列中的待运算数据送至输出模块进行处理。
根据本发明的实施例,B个阵列子单元构成在第二方向的B/2个阵列单元组,B/2个阵列单元组中的每个阵列单元组包括:第一阵列子单元和第二阵列子单元,第一阵列子单元和第二阵列子单元在第二方向上相邻设置。如图4所示,阵列单元组400构成8个阵列子单元中在第二方向w上的4个阵列单元组的一个,阵列单元组400包括第一阵列子单元410和第二阵列子单元420,第一阵列子单元410和第二阵列子单元420在第二方向w上相邻设置,用于对应输出向量zj。其中,第一阵列子单元410和第二阵列子单元420的浮栅晶体管的排列形式、组成结构可以一致。
根据本发明的实施例,输出模块包括:B/2个第一计数器和B/2个第二计数器,B/2个第一计数器中的每个第一计数器的输入端与第一阵列子单元对应相连的位线的另一端相连,B/2个第二计数器中的每个第二计数器的输入端与第二阵列子单元对应相连的位线的另一端相连。如图4所示,对应于闪存阵列的计数器为8个,其中4个第一计数器1,4个第二计数器2,其中第一计数器1和第二计数器2在第二方向w上相互间隔排列设置,且第一计数器1和第二计数器2可以为相同的计数器。例如,与输出向量z4对应的第一计数器1和第二计数器2分别对应于闪存阵列中阵列单元组400的第一阵列子单元410和第二阵列子单元420,即第一计数器1的输入端与第一阵列子单元410所在位线相连,第二计数器2的输入端与第二阵列子单元420所在位线相连,用于使得输出模块接收第二数据,并对处理运算过程进行计数。
根据本发明的实施例,输出模块还包括:B/2个减法器,B/2个减法器中的每个减法器包括:正输入端和负输入端,正输入端,与第一计数器的输出端相连,负输入端,与第二计数器的输出端相连。如图4所示,对应于输出向量z4的减法器4,其正输入端与第一计数器1的输出端相连,其负输入端与第二计数器2的输出端相连,用于同时实现同时对矩阵向量数据中存在的正值和负值的运算或处理,其中减法器即可以在一次卷积操作中实现对负值的运算。
本发明的又一个方面公开了一种数据处理方法,应用于上述的编码型闪存结构,如图5A所示,该数据处理方法包括:
S501:输入第一数据;
S502:接收第一数据并进行处理以获取第二数据;以及
S503:接收第二数据并输出。
根据本发明的实施例,如图5B所示,输入第一数据包括:
S510:将第一数据中的矩阵向量元素通过编程、擦除操作映射到编码型闪存结构,形成向量元素yi,j,即将矩阵中的元素通过编程、擦除等操作映射到编码型闪存阵列中。
S520:在选择线上施加高电压,选中编码型闪存结构中的阵列子单元;即通过在选择线上施加高电压,选中待运算的闪存阵列中的浮栅晶体管。
S530:i=1;即对向量运算过程进行计数,起始位i=1。
S540:通过字线控制器向阵列子单元输入向量元素xi,并对向量元素xi对应的输入字线施加给定电压,同时对其他输入字线施加高电压。即输入向量元素xi,对选通字线加给定电压,未选中字线上施加高电压使得未选中单元选通。
根据本发明的实施例,如图5B所示,接收第二数据并输出包括:
S550:通过计数器对向量元素xi的处理结果进行累加;乘法结果在计数器中进行累加。
S560:判断向量元素xi输入状态,即判断输入向量元素xi是否是否输入完成,当输入向量元素xi输入完成,向量元素xi输入状态为0,否则向量元素xi输入状态不为0。
S570:当向量元素xi输入状态为0时,通过减法器对相邻计数器输出的处理结果进行相减处理,输出第二数据。即即输入向量元素xi输入完成时,相邻计数器输出的结果通过减法器进行相减,输出计算结果。该输出结果可以是电流形式的第二数据,最后第二数据会被转换为图像。
S580:当向量元素xi输入状态不为0时,运算过程计数i=i+1,并进入到步骤S540,继续反复执行。
综上,基于上述矩阵向量乘法运算的原理,本发明实施例还可以为成如图4所示的编码型闪存结构,其中,字线连接着各浮栅晶体管的栅极,位于同一位线上的相邻浮栅晶体管的源极和漏极相连,最上方的浮栅晶体管通过选择管与源线相连,最下方的浮栅晶体管通过选择管与位线相连。由于卷积核中通常具有负数,因此对于一次卷积操作,通过设计两排互相平行的浮栅晶体管,其中一行代表正值,一行代表负值,分别通过计数器之后连接到减法器的正负输入端,通过减法运算实现负值的运算。如图4所示,该编码型闪存结构的字线在第二方向w上连接着各浮栅晶体管的栅极,位于同一位线上的相邻浮栅晶体管的源极和漏极相连(即首尾相连),靠近第一选择线1的浮栅晶体管通过第一选择管与源线相连,靠近第二选择线2的浮栅晶体管通过第二选择管与位线相连。这样的一种连接方式相较于图2所示的网络型编码型山村结构,由于浮栅晶体管的源极和漏极不需要再通过导线引出来,因此能够大大提高闪存结构的存储密度。基于上述实施例的编码型闪存结构,如图5B所示,对上述数据处理方法作进一步的说明如下:
首先在源线上提供一个驱动电压,选通选择管。向量中的元素通过用于输入的字线控制器依次输入,每个时刻只输入一个元素,其他未选中字线上均输入大于Vth_high的电压值,以保证处于同一位线上的其他浮栅晶体管保持开通状态当输入的元素值xi,j=1时,输入的电压信号为
Figure GDA0003473535810000171
若乘法结果为1,则所在位线上流过大电流,计数器加1;若乘法结果为0,由于阵列子单元上各浮栅晶体管为串联状态,则计算单元(即对应浮栅晶体管)流过小电流,因而在位线上所流过的电流为小电流;当xi,j=0时,输入零电平电压信号,此时位线上始终流过小电流,计数器不变。对应于矩阵中元素为负数的情况,在所提出的编码型闪存阵列中利用两条位线计数结果相减的方式来实现,具体可参见401单元,其对应的矩阵中的元素为y4,4,若存储的数据为-1/1,则左单元所存储的逻辑值为0/1,右单元所存储的逻辑值为1/0,通过计数器累加之后相减完成负数运算。因此实现一个对应于实施例的矩阵向量乘法运算,可以通过一个8列9行的编码型闪存阵列来存储矩阵数据,以及八个计数器和四个减法器,对应于1×L大小向量和L×M大小矩阵的矩阵向量乘法运算,其需要的编码型闪存阵列大小为L×2M,计数器的个数为2M个,减法器的个数为M个,如图4所示。其对应的数据处理方法如图5A、图5B所示。
以上的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (9)

1.一种编码型闪存结构,其特征在于,包括:
输入模块,用于输入第一数据;
处理模块,与所述输入模块相连,接收所述第一数据并进行处理以获取第二数据;
输出模块,与所述处理模块相连,接收所述第二数据并输出;
其中,所述处理模块包括:闪存阵列,所述闪存阵列包括:
W×B个浮栅晶体管,W个浮栅晶体管沿第一方向排列构成阵列子单元,B个阵列子单元在第二方向上排列构成所述闪存阵列,其中B≥2,W≥2;
B条位线,在第二方向上相互平行设置,B条位线中的每条位线的一端在第一方向上与每个阵列子单元的一端的浮栅晶体管的源极或漏极对应相连;
所述B个阵列子单元构成在第二方向的B/2个阵列单元组,B/2个阵列单元组中的每个阵列单元组包括:第一阵列子单元和第二阵列子单元,所述第一阵列子单元和第二阵列子单元在第二方向上相邻设置;
其中,所述输出模块包括:
B/2个第一计数器,所述B/2个第一计数器中的每个第一计数器的输入端与所述第一阵列子单元对应相连的位线的另一端相连,
B/2个第二计数器,所述B/2个第二计数器中的每个第二计数器的输入端与所述第二阵列子单元对应相连的位线的另一端相连。
2.根据权利要求1所述的编码型闪存结构,其特征在于,所述闪存阵列还包括:
W条字线,在第一方向上相互平行设置,每条字线在第二方向上与B个所述浮栅晶体管的栅极相连。
3.根据权利要求2所述的编码型闪存结构,其特征在于,所述输入模块包括:字线控制器,设置有W个输入端口,所述W条字线中的每条字线与所述W个输入端口中的每个输入端口一一对应相连。
4.根据权利要求1所述的编码型闪存结构,其特征在于,还包括:
B个第一选择管,所述B个第一选择管中的每个第一选择管的一端与B个所述阵列子单元中的每个阵列子单元的另一端的浮栅晶体管的源极或漏极对应相连;
第一选择线,与所述B个第一选择管中的每个第一选择管在第二方向上相连;
源线,与所述B个第一选择管中的每个第一选择管的另一端相连。
5.根据权利要求1所述的编码型闪存结构,其特征在于,还包括:
B个第二选择管,所述B个第二选择管中的每个第二选择管的一端与B个所述阵列子单元中的每个阵列子单元的一端的浮栅晶体管的源极或漏极对应相连;
第二选择线,与所述B个第二选择管中的每个第二选择管相连;
其中,所述B条位线中每条位线的一端与所述B个第二选择管中的每个第二选择管的另一端相连。
6.根据权利要求1所述的编码型闪存结构,其特征在于,所述输出模块还包括:
B/2个减法器,所述B/2个减法器中的每个减法器包括:
正输入端,与所述第一计数器的输出端相连,
负输入端,与所述第二计数器的输出端相连。
7.一种数据处理方法,应用于权利要求1-6中任一项所述的编码型闪存结构,其特征在于,包括:
输入第一数据;
接收所述第一数据并进行处理以获取第二数据;以及
接收所述第二数据并输出。
8.根据权利要求7所述的数据处理方法,其特征在于,所述输入第一数据包括:
将所述第一数据中的矩阵向量元素通过编程、擦除操作映射到所述编码型闪存结构,形成向量元素yi,j,包括:
在选择线上施加高电压,选中所述编码型闪存结构中的阵列子单元;
通过字线控制器向所述阵列子单元输入向量元素xi,并对所述向量元素xi对应的输入字线施加给定电压,同时对其他输入字线施加高电压。
9.根据权利要求8所述的数据处理方法,其特征在于,所述接收所述第二数据并输出包括:
通过计数器对所述向量元素xi的处理结果进行累加;
判断所述向量元素xi输入状态,
当所述向量元素xi输入状态为0时,通过减法器对相邻计数器输出的所述处理结果进行相减处理,输出所述第二数据。
CN202010223681.3A 2020-03-26 2020-03-26 编码型闪存结构及数据处理方法 Active CN111445938B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010223681.3A CN111445938B (zh) 2020-03-26 2020-03-26 编码型闪存结构及数据处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010223681.3A CN111445938B (zh) 2020-03-26 2020-03-26 编码型闪存结构及数据处理方法

Publications (2)

Publication Number Publication Date
CN111445938A CN111445938A (zh) 2020-07-24
CN111445938B true CN111445938B (zh) 2022-03-18

Family

ID=71654389

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010223681.3A Active CN111445938B (zh) 2020-03-26 2020-03-26 编码型闪存结构及数据处理方法

Country Status (1)

Country Link
CN (1) CN111445938B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1849670A (zh) * 2003-09-16 2006-10-18 微米技术股份有限公司 用于闪存的升压衬底/槽编程
CN102568578A (zh) * 2010-12-08 2012-07-11 旺宏电子股份有限公司 半导体存储装置及其测试及控制方法
US8902661B1 (en) * 2013-10-28 2014-12-02 Sandisk Technologies Inc. Block structure profiling in three dimensional memory
US8923049B2 (en) * 2011-09-09 2014-12-30 Aplus Flash Technology, Inc 1T1b and 2T2b flash-based, data-oriented EEPROM design
CN107123442A (zh) * 2016-02-24 2017-09-01 三星电子株式会社 存储器装置和存储器系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW318932B (zh) * 1995-12-28 1997-11-01 Hitachi Ltd

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1849670A (zh) * 2003-09-16 2006-10-18 微米技术股份有限公司 用于闪存的升压衬底/槽编程
CN102568578A (zh) * 2010-12-08 2012-07-11 旺宏电子股份有限公司 半导体存储装置及其测试及控制方法
US8923049B2 (en) * 2011-09-09 2014-12-30 Aplus Flash Technology, Inc 1T1b and 2T2b flash-based, data-oriented EEPROM design
US8902661B1 (en) * 2013-10-28 2014-12-02 Sandisk Technologies Inc. Block structure profiling in three dimensional memory
CN107123442A (zh) * 2016-02-24 2017-09-01 三星电子株式会社 存储器装置和存储器系统

Also Published As

Publication number Publication date
CN111445938A (zh) 2020-07-24

Similar Documents

Publication Publication Date Title
CN110543933B (zh) 基于flash存算阵列的脉冲型卷积神经网络
CN111523658B (zh) 双位存储单元及其在存内计算的电路结构
CN109800876B (zh) 一种基于NOR Flash模块的神经网络的数据运算方法
US11568200B2 (en) Accelerating sparse matrix multiplication in storage class memory-based convolutional neural network inference
US20210192325A1 (en) Kernel transformation techniques to reduce power consumption of binary input, binary weight in-memory convolutional neural network inference engine
WO2021115262A1 (zh) 脉冲卷积神经网络算法、集成电路、运算装置及存储介质
CN106843809A (zh) 一种基于nor flash阵列的卷积运算方法
CN108153512A (zh) 四步关联全加器
CN109634557B (zh) 一种基于1t1r存储器的乘法器及运算方法
US20070233761A1 (en) Crossbar arithmetic processor
US11568228B2 (en) Recurrent neural network inference engine with gated recurrent unit cell and non-volatile memory arrays
CN108182959B (zh) 基于阻变器件交叉阵列结构实现逻辑计算的方法
CN110569962B (zh) 一种基于1t1r存储器阵列的卷积计算加速器及其操作方法
CN109284474B (zh) 一种加法器辅助实现图像卷积运算的闪存系统及方法
CN112989273A (zh) 一种利用补码编码进行存内运算的方法
US20210287745A1 (en) Convolution operation method based on nor flash array
CN111445938B (zh) 编码型闪存结构及数据处理方法
CN111445940B (zh) 编码型闪存结构及数据处理方法
CN111627479B (zh) 编码型闪存装置、系统和编码方法
CN115691613B (zh) 一种基于忆阻器的电荷型存内计算实现方法及其单元结构
CN115204380B (zh) 存算一体卷积神经网络的数据存储及阵列映射方法与装置
US9965251B2 (en) Crossbar arithmetic and summation processor
Burr et al. Neuromorphic devices and architectures for next-generation cognitive computing
CN113658625A (zh) 基于1t1r阵列的可重构状态逻辑操作电路及方法
CN113988279A (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