CN103258044B - 一种面向dsp的二元组nandflash数据文件管理方法 - Google Patents

一种面向dsp的二元组nandflash数据文件管理方法 Download PDF

Info

Publication number
CN103258044B
CN103258044B CN201310197110.7A CN201310197110A CN103258044B CN 103258044 B CN103258044 B CN 103258044B CN 201310197110 A CN201310197110 A CN 201310197110A CN 103258044 B CN103258044 B CN 103258044B
Authority
CN
China
Prior art keywords
startpageid
tuple
page
data
nandflash
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
CN201310197110.7A
Other languages
English (en)
Other versions
CN103258044A (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.)
China Academy of Launch Vehicle Technology CALT
Beijing Aerospace Automatic Control Research Institute
Original Assignee
China Academy of Launch Vehicle Technology CALT
Beijing Aerospace Automatic Control Research Institute
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 China Academy of Launch Vehicle Technology CALT, Beijing Aerospace Automatic Control Research Institute filed Critical China Academy of Launch Vehicle Technology CALT
Priority to CN201310197110.7A priority Critical patent/CN103258044B/zh
Publication of CN103258044A publication Critical patent/CN103258044A/zh
Application granted granted Critical
Publication of CN103258044B publication Critical patent/CN103258044B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

一种面向DSP的二元组NANDFLASH数据文件管理方法,首先进行文件表建立和更新,之后可以进行数据写入或者数据读取。以“条次”为单位管理数据文件,每条文件表信息只占6字节,比FAT16文件系统节约约26字,且文件表不需要频繁重写,便于延长Nandflash使用寿命;以“页”而不是“块”为单位管理存储器,提高存储器利于效率,减少存储空间浪费;数据存储直接实时写入,无延时。该方法简捷、可靠、实用,CPU资源消耗少,适合以DSP为核心处理器的嵌入式系统使用。

Description

一种面向DSP的二元组NANDFLASH数据文件管理方法
技术领域
本发明涉及一种面向DSP的二元组NANDFLASH数据文件管理方法。
背景技术
DSP是一种专门为实时、快速实现各种数字信号处理算法而设计的、具有特殊结构的微处理器,具有稳定、可大规模集成、可编程等优点,在雷达声纳、医用仪器、通信设备、电子对抗、武器制导等国民经济的各个领域应用广泛。
近年来,以DSP为核心构建的嵌入式系统功能日益增强,越来越多的应用场合需要实现数据记录存储功能,比如惯导、导引头、空间飞行器等系统,都需要自主、实时、可靠存储大量的关键信息,并保证即使整个系统掉电,所采集到的数据仍能长时间保持不丢失。
快速擦写存储器FLASH(闪存)是目前性能价格比和可靠性最高的可擦写、非易失存储器,成本低、体积小、承受冲击能力强、存储容量大,在嵌入式系统中已被广泛用作外存储部件。现在主流闪存分为NOR型和NAND型,NAND型闪存写入和擦除速度比NOR型快,单元存储容量大,且成本比NOR型低,因此NAND型闪存在大容量数据存储上比NOR型闪存更具有优势。
以DSP为核心的嵌入式系统中,DSP往往需要承担繁重的计算任务,复杂的文件管理系统不适合系统使用,因此迫切需要一种简捷、可靠、实用且CPU资源消耗少的Nandflash数据文件管理方法。
文件系统在整个系统中位于设备驱动程序和层应用程序之间,负责管理文件的创立、撤消、读写、修改、复制和存取控制等,并管理存放文件的各种资源,为上层引用程序提供统一的存储接口,透明具体的实现过程,为上层提供服务。它管理硬件上的数据存取方式和结构。以更好利用存储空间和提高存储效率。由于Windows操作系统的普及,微软公司的FAT文件系统被广泛采用。
然而Nand Flash存储器具有先擦除后写入的硬件特性,FAT文件系统是专门针对磁盘等存储介质而设计的,不适合直接应用于Nand Flash。主要问题有两点:一是文件系统工作时,需要频繁重写文件分配表,这就使得对文件分配表区的擦写明显多于其它区域,从而导致文件分配表区先于其它区域出现坏块。二是申请新簇时,文件系统总是按照从前到后的秩序查找FAT表,这就使得簇号小的较大的更频繁地被使用,从而导致簇号较小的簇更早磨损,出现坏块。
发明内容
本发明的技术解决问题是:克服现有技术的不足,提供了一种面向DSP的二元组NANDFLASH数据文件管理方法。
本发明的技术解决方案是:
一种面向DSP的二元组NANDFLASH数据文件管理方法,首先进行文件表建立和更新,之后可以进行数据写入或者数据读取。
文件表建立和更新过程如下:
(1)加电启动后,将二元组个数num置0,将读取的页编号j置0;
(2)读取一条二元组信息,二元组个数num=num+1;
(3)如果该二元组的EndpageID不全是0xFF,则转第(2)步,否则转第(4)步;
(4)如果该二元组的StartpageId全是0xFF,将本二元组,即第num个二元组的StartpageId写为kstart,令StartpageId=kstart,结束;如果该二元组的StartpageId不全是0xFF,则转第(5)步;所述kstart为NANDFLASH数据区第1个有效块的第1页的序号;
(5)读取第StartpageId+j页的内容;
(6)如果第StartpageId+j页的内容不全是0xFF,则令j=j+1,转第(5)步;否则转第(7)步;
(7)令p=StartpageId+j;
(8)如果p>StartpageId,则将第num个二元组的EndpageID写为p-1,下一个二元组的StartpageId写为p,令StartpageId=p;结束,否则直接结束。
数据写入方法流程如下:
(3.1)将待写入的页编号q置0;
(3.2)判断StartpageId是否大于等于预设的存储门限gate,如果StartpageId大于等于gate,转第(3.4)步,否则转第(3.3)步;
(3.3)判断二元组个数num是否大于等于num_total-1,如果num大于等于num_total-1,转第(3.4)步,否则转第(3.5)步;num_total为文件表信息区共可存放的二元组个数;
(3.4)逐块擦除整片nandflash,令StartpageId=kstart,文件表中写入第1个二元组的StartpageId;
(3.5)向StartpageId+q页写入数据;
(3.6)如果此时要求停止继续写入,则结束,否则令q=q+1,转第(3.7)步;
(3.7)判断第StartpageId+q页是不是最后一页,如果是,结束,否则转第(3.5)步。
数据读取方法流程如下:
(4.1)判断给出的二元组编号是否超限,即是否大于可存储的二元组总个数num_total,如果超限则结束,否则转第(4.2)步;
(4.2)从文件表区读取该二元组的StartpageId和EndpageID;
(4.3)判断该二元组的StartpageId和EndpageID是否超限,即是否大于m-1,m为总页数,如果StartpageId和EndpageID其中有一个超限则结束,否则转第(4.4)步;
(4.4)从数据区中,顺序读取StartpageId和EndpageID之间的数据页的内容。
所述文件表用于存放数据文件的信息,以二元组表示:{StartpageId,EndpageID},其中,StartpageId和EndpageID为整数,分别表示起始页编号和结束页编号,可确定数据文件在Nandflash中的存储位置。
本发明与现有技术相比的有益效果是:
(1)以“条次”为单位管理数据文件,每个二元组文件表信息只占4~6字节,比FAT16文件系统节约约26字,节约了存储空间;
(2)只有写入操作会增加条次数,读取操作不增加条次数,文件表不需要频繁重写,数据文件从前到后顺序存放循环使用,便于延长Nandflash使用寿命;
(3)以“页”而不是“块”为单位管理存储器,提高存储器利于效率,减少存储空间浪费;
(4)数据存储直接实时写入,无延时。
(5)简捷、可靠、实用,便于实现,CPU资源消耗少,适合嵌入式系统使用。
附图说明
图1为nandflash存储区域划分示意图
图2为文件表区第一页存储示意图
图3为数据区存储示意图
图4为文件表建立和更新过程流程图
图5为数据写入方法流程图
图6为数据读取方法流程图
图7为三星公司生产的K9K8G08U0M结构图。
具体实施方式
下面结合附图对本发明的具体实施方式进行进一步的详细描述。
本发明基于nandflash特点,提出了二元组数据文件管理方法,以“条次”为单位管理数据文件,每条文件表信息只占6字节,比FAT16文件系统节约约26字,且文件表不需要频繁重写,便于延长Nandflash使用寿命;以“页”而不是“块”为单位管理存储器,提高存储器利于效率,减少存储空间浪费;数据存储直接实时写入,无延时。该方法简捷、可靠、实用,CPU资源消耗少,适合以DSP为核心处理器的嵌入式系统使用,并可推广应用于大容量闪存器件与单片机、ARM及其他类型的嵌入式系统设计中。
Nandflash分为文件表区和数据内容区。为确保可靠,文件表区位于第1块,因为芯片厂商确保第1块可用,其余块为数据区。数据在数据区中按照先后顺序连续存放。不同数据文件不共用页,即如果前一个文件存储时时未占满的一个页,下一个文件存储时将跳过该页,从下一个全新的页开始存储。数据区的内容可由用户自定义设计,可以是图像、音频、采用值等任何数据,无统一规定。
文件表区用于存放数据文件的信息,以二元组表示:{StartpageId,EndpageID}。其中,StartpageId、EndpageID为整数,可确定数据文件在Nandflash中的存储位置,分别表示起始页编号和结束页编号。页编号从0开始,第1块的第1页编号为0,第1块的第2页编号为1,以此类推。设NANDFLASH共有n块,每块有k页,共有m页,由于数据内容从第2块开始,所以StartpageId,EndpageID的取值范围是[k,m-1]。
二元组的字节数i需根据Nandflash的容量确定。StartpageId、EndpageID为整数,存储用的字节数根据所用Nandflash的容量确定。以K9K8G08U0M为例,该Nandflash共有219页,每块有64页,则StartpageId、EndpageID的取值范围为[64,219-1],因此StartpageId、EndpageID各用三个字节即可表示。所以,一条文件表信息(1个二元组)用6个字节即可,利于节约空间。如果是容量为128MB的Nandflash,共有65536页,则StartpageId、EndpageID各用2个字节即可表示。
文件表信息放在Nandflash的第1块,以二元组为单位顺序存放,前i个字节存放第1条次的文件信息即二元组,紧接着的i个字节存放第2条次的二元组,以此类推。当某一页剩余的字节数不足以存放一个二元组时,这些字节舍弃不用,下一个二元组从新的一页开始存放。仍以K9K8G08U0M为例,1个二元组是6字节,每页2048字节,可存储341个二元组,剩余2字节不用,下一个二元组从后续相邻页起始处开始存放。二元组的序号为正整数,从1开始编号。文件表信息区共可存放的二元组个数num_total等于floor(s/i)*k,其中floor()表示向下取整。仍以K9K8G08U0M为例,文件表信息区为1块,包含64页,每页2048字节,每个二元组6字节,则文件表信息区共可存放21824个二元组,因此可管理21824个数据文件。
设NANDFLASH分为n块(Block),每块包含k页(page),每页内包含s正常字节和少数空余备用字节,共有m页(m=n×k)。页编号从0开始,第1块的第1页编号为0,第1块的第2页编号为1,以此类推。块编号从1开始,第1块的编号为1,第2块的2编号为2,以此类推。以三星公司生产的K9K8G08U0M为例,该芯片共分为8192个block(块),每个Block包含64个page(页),每个page包含2048个字节的有效数据空间以及64个空余字节。其组织结构如图7所示。
如图1所示,Nandflash分为文件表区和数据内容区。文件表区位于第1块,包含k页,其余n-1块为数据区,包含(n-1)*k页。
如图2所示,文件表区中,文件信息以二元组为单位依次顺序存放。数据文件的信息以二元组表示:{StartpageId,EndpageID}。其中,StartpageId、EndpageID为整数,分别表示起始页编号和结束页编号,字节数根据所用Nandflash的容量确定。当某一页剩余的字节数不足以存放一个二元组时,这些字节舍弃不用,下一个二元组从新的一页开始存放。文件表信息区共可存放的二元组个数num_total=floor(s/i)*k,其中floor()表示向下取整。
以K9K8G08U0M为例,该Nandflash共有219页,每块有64页,则StartpageId、EndpageID的取值范围为[64,219-1],因此StartpageId、EndpageID各用三个字节即可表示(因三个字节可表示的范围是[0,224-1])。所以,一条文件表信息(1个二元组)用6个字节即可,利于节约空间。1个二元组是6字节,每页2048字节,可存储341个二元组,剩余2字节不用,下一个二元组从后续相邻页起始处开始存放。二元组的序号为正整数,从1开始编号。文件表区包含64页,共可存放21824个二元组,因此可管理21824个数据文件。
数据在数据区中按照“条次”顺序连续存放。不同“条次”数据文件不共用页,即如果前一个文件存储时时未占满的一个页,下一个文件存储时将跳过该页,从下一个全新的页开始存储。数据区的内容可由用户自定义设计,可以是图像、音频、采用值等任何数据,无统一规定。如图3所示,假设第1条次的数据占了半页,存放在第kstart页,第2条次的数据占了3页,则存放在第kstart+1、kstart+2和kstart+3页。
本发明提出的一种二元组NANDFLASH数据文件管理方法,主要包括文件表建立和更新、数据写入、数据读取三个部分,首先进行文件表建立和更新,之后可以进行数据写入或者读取。
如图4所示,文件表建立和更新过程如下:
(1)系统加电启动后,将二元组个数num置0,将读取的页编号j置0;
(2)读取一条二元组信息,二元组个数num=num+1;
(3)如果该二元组的EndpageID不全是0xFF,则转第(2)步,否则转第(4)步;
(4)如果该二元组的StartpageId全是0xFF,将本二元组(即第num个二元组的StartpageId写为kstart,令StartpageId=kstart,结束;如果该二元组的StartpageId不全是0xFF,则转第(5)步;
(5)读取第StartpageId+j页的内容;
(6)如果第StartpageId+j页的内容不全是0xFF,则令j=j+1,转第(5)步;否则转第(7)步;
(7)令p=StartpageId+j;
(8)如果p>StartpageId,则将第num个二元组的EndpageID写为p-1,下一个二元组的StartpageId写为p,令StartpageId=p;结束,否则直接结束。
在执行完上述文件表建立和更新过程后,可以执行数据写入。如图5所示,数据写入方法流程如下:
(1)将待写入的页编号q置0;
(2)判断StartpageId是否大于等于存储门限gate,如果StartpageId大于等于gate,转第(4)步,否则转第(3)步;
(3)判断二元组个数num是否大于等于num_total-1,如果num大于等于num_total-1,转第(4)步,否则转第(5)步;
(4)逐块擦除整片nandflash,令StartpageId=kstart,文件表中写入第1个二元组的StartpageId;
(5)向StartpageId+q页写入数据;
(6)判断系统是否要求停止写,如果要求停止写,结束,否则转第(7)步;
(7)令q=q+1;
(8)判断第StartpageId+q页是不是最后一页,如果是,结束,否则转第(5)步。
在执行完上述文件表建立和更新过程后,可以执行数据读取。如图6所示,数据读取方法流程如下:
(1)判断系统给出的二元组编号是否超限,即是否大于可存储的二元组总个数num_total,如果超限则结束,否则转第(2)步;从文件表区读取该二元组的StartpageId和EndpageID;
(2)从文件表区读取该二元组的StartpageId和EndpageID;
(3)判断该二元组的StartpageId和EndpageID是否超限,即是否大于m-1(m为总页数),如果StartpageId和EndpageID其中有一个超限则结束,否则转第(4)步;
(4)从数据区中,顺序读取StartpageId和EndpageID之间的数据页的内容。

Claims (2)

1.一种面向DSP的二元组NANDFLASH数据文件管理方法,其特征在于首先进行文件表建立和更新,之后可以进行数据写入或者数据读取;
文件表建立和更新过程如下:
(1)加电启动后,将二元组个数num置0,将读取的页编号j置0;
(2)读取一条二元组信息,二元组个数num=num+1;
(3)如果该二元组的EndpageID不全是0xFF,则转第(2)步,否则转第(4)步;
(4)如果该二元组的StartpageId全是0xFF,将本二元组,即第num个二元组的StartpageId写为kstart,令StartpageId=kstart,结束;如果该二元组的StartpageId不全是0xFF,则转第(5)步;所述kstart为NANDFLASH数据区第1个有效块的第1页的序号;
(5)读取第StartpageId+j页的内容;
(6)如果第StartpageId+j页的内容不全是0xFF,则令j=j+1,转第(5)步;否则转第(7)步;
(7)令p=StartpageId+j;
(8)如果p>StartpageId,则将第num个二元组的EndpageID写为p-1,下一个二元组的StartpageId写为p,令StartpageId=p;结束,否则直接结束;
数据写入方法流程如下:
(3.1)将待写入的页编号q置0;
(3.2)判断StartpageId是否大于等于预设的存储门限gate,如果StartpageId大于等于gate,转第(3.4)步,否则转第(3.3)步;
(3.3)判断二元组个数num是否大于等于num_total-1,如果num大于等于num_total-1,转第(3.4)步,否则转第(3.5)步;num_total为文件表信息区共可存放的二元组个数;
(3.4)逐块擦除整片nandflash,令StartpageId=kstart,文件表中写入第1个二元组的StartpageId;
(3.5)向StartpageId+q页写入数据;
(3.6)如果此时要求停止继续写入,则结束,否则令q=q+1,转第(3.7)步;
(3.7)判断第StartpageId+q页是不是最后一页,如果是,结束,否则转第(3.5)步;
数据读取方法流程如下:
(4.1)判断给出的二元组编号是否超限,即是否大于可存储的二元组总个数num_total,如果超限则结束,否则转第(4.2)步;
(4.2)从文件表区读取该二元组的StartpageId和EndpageID;
(4.3)判断该二元组的StartpageId和EndpageID是否超限,即是否大于m-1,m为总页数,如果StartpageId和EndpageID其中有一个超限则结束,否则转第(4.4)步;
(4.4)从数据区中,顺序读取StartpageId和EndpageID之间的数据页的内容。
2.根据权利要求1所述的一种面向DSP的二元组NANDFLASH数据文件管理方法,其特征在于:所述文件表用于存放数据文件的信息,以二元组表示:{StartpageId,EndpageID},其中,StartpageId和EndpageID为整数,分别表示起始页编号和结束页编号,可确定数据文件在Nandflash中的存储位置。
CN201310197110.7A 2013-05-24 2013-05-24 一种面向dsp的二元组nandflash数据文件管理方法 Active CN103258044B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310197110.7A CN103258044B (zh) 2013-05-24 2013-05-24 一种面向dsp的二元组nandflash数据文件管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310197110.7A CN103258044B (zh) 2013-05-24 2013-05-24 一种面向dsp的二元组nandflash数据文件管理方法

Publications (2)

Publication Number Publication Date
CN103258044A CN103258044A (zh) 2013-08-21
CN103258044B true CN103258044B (zh) 2017-01-18

Family

ID=48961961

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310197110.7A Active CN103258044B (zh) 2013-05-24 2013-05-24 一种面向dsp的二元组nandflash数据文件管理方法

Country Status (1)

Country Link
CN (1) CN103258044B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104915206B (zh) * 2015-06-15 2019-03-19 南京阿凡达机器人科技有限公司 一种基于文本解析的dsp上的属性和数据的管理方法
CN106440256A (zh) * 2016-11-11 2017-02-22 四川长虹电子部品有限公司 一种空调遥控器及其数据存储方法
CN113641630A (zh) * 2017-03-27 2021-11-12 珠海极海半导体有限公司 一种flash存储器
CN107631724B (zh) * 2017-09-01 2020-06-19 北京航天发射技术研究所 一种获取激光惯组寻北导航大数据的方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6772274B1 (en) * 2000-09-13 2004-08-03 Lexar Media, Inc. Flash memory system and method implementing LBA to PBA correlation within flash memory array
CN1632765A (zh) * 2004-12-31 2005-06-29 大唐微电子技术有限公司 一种闪存文件系统管理方法
CN1805049A (zh) * 2005-11-22 2006-07-19 武汉国光通信有限公司 一种嵌入式系统中非易失性存储器的数据存取方法
CN1963810A (zh) * 2005-11-09 2007-05-16 康佳集团股份有限公司 在Flash存储介质上的关于文件分配表的缓存实现方法
CN101178689A (zh) * 2007-12-06 2008-05-14 浙江科技学院 一种NAND Flash存储器的动态管理方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6772274B1 (en) * 2000-09-13 2004-08-03 Lexar Media, Inc. Flash memory system and method implementing LBA to PBA correlation within flash memory array
CN1632765A (zh) * 2004-12-31 2005-06-29 大唐微电子技术有限公司 一种闪存文件系统管理方法
CN1963810A (zh) * 2005-11-09 2007-05-16 康佳集团股份有限公司 在Flash存储介质上的关于文件分配表的缓存实现方法
CN1805049A (zh) * 2005-11-22 2006-07-19 武汉国光通信有限公司 一种嵌入式系统中非易失性存储器的数据存取方法
CN101178689A (zh) * 2007-12-06 2008-05-14 浙江科技学院 一种NAND Flash存储器的动态管理方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于DSP平台的嵌入式文件系统的开发与研究;郁玉兰; 胡剑凌;《电脑知识与技术》;20041027;全文 *
大容量NAND Flash文件系统中的地址映射算法研究;时正,陈香兰,纪金松,龚玉昌;《小型微型计算机系统》;20100326;说明书第2页第一栏第6段 *

Also Published As

Publication number Publication date
CN103258044A (zh) 2013-08-21

Similar Documents

Publication Publication Date Title
CN103677977B (zh) 清理移动终端中临时文件的方法、装置和移动终端
CN100538662C (zh) 一种基于局部采样的存储器的磨损平衡方法
CN103164490B (zh) 一种不固定长度数据的高效存储实现方法和装置
CN103258044B (zh) 一种面向dsp的二元组nandflash数据文件管理方法
CN103164346A (zh) Lba位图使用
US9342247B2 (en) Leveraging a hybrid infrastructure for dynamic memory allocation and persistent file storage
CN102937830A (zh) 移动设备的电量管理方法、装置及移动设备
CN101968755B (zh) 一种自适应应用负载变化的快照生成方法
CN101488153A (zh) 嵌入式Linux下大容量闪存文件系统的实现方法
CN104063186A (zh) 一种电子设备的数据访问方法
CN102169460A (zh) 变长数据管理方法及装置
CN106354658B (zh) 一种降低混合映射算法中映射表内存资源占用的方法
CN104778203A (zh) 费控智能电能表中负荷记录分块索引存储及查询方法
CN110377224A (zh) 具有主机启动缓存区刷新的大容量存储设备
CN103246609A (zh) 一种闪存存储设备中冷热数据区分管理的方法及装置
CN103885887A (zh) 用户数据存储方法、读取方法及系统
CN107515728A (zh) 发挥闪存设备内部并发特性的数据管理方法和装置
CN102520885B (zh) 一种混合硬盘的数据管理系统
CN108664577A (zh) 一种基于flash空闲区的文件管理方法及系统
CN109669889A (zh) 一种轻量型Nor Flash闪存控制方法和装置
CN109189724B (zh) 提高视频监控系统音视频数据存储效率的方法及装置
CN103268267A (zh) 一种基于块的nandflash坏区动态标记处理方法
CN102169464B (zh) 一种用于非易失性存储器的缓存方法、装置及智能卡
CN108647278A (zh) 一种文件管理方法及系统
CN108829345A (zh) 日志文件的数据处理方法和终端设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant