CN106020731B - 存储设备、存储设备阵列和网络适配器 - Google Patents
存储设备、存储设备阵列和网络适配器 Download PDFInfo
- Publication number
- CN106020731B CN106020731B CN201610364121.3A CN201610364121A CN106020731B CN 106020731 B CN106020731 B CN 106020731B CN 201610364121 A CN201610364121 A CN 201610364121A CN 106020731 B CN106020731 B CN 106020731B
- Authority
- CN
- China
- Prior art keywords
- data
- write
- equipment
- storage
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种存储设备,包括:第一内存单元,暂时存储来自外部设备的写入数据;存储单元,存储写入数据;主控单元,根据从外部设备接收的内存锁定命令,锁定第一内存单元中的一块内存空间用于存储写入数据,所述锁定是指分配所述内存空间用于存储所述写入数据且该空间不可用于存储其他数据,以及将第一内存单元中存储的所述写入数据存储到存储单元。本发明还公开了一种网络适配器,包括:第二内存单元,暂时存储来自远端设备的写入数据;以及控制单元。控制单元包括:信息获取模块,从写入数据的数据存储请求获取要存储写入数据的地址信息及写入数据的大小;内存锁定模块,根据所述地址信息向存储设备阵列中的相应存储设备发送内存锁定命令,要求其锁定一块内存空间;以及数据分发模块,将写入数据发送到所述锁定内存空间。
Description
技术领域
本发明涉及存储设备、存储设备阵列和网络适配器。
背景技术
目前,计算机集群系统各部分之间的互联,包括计算子系统与存储子系统间,通常使用InfiniBand来实现。InfiniBand是一个统一的高速互联架构,能够处理I/O通信及集群服务器间通信。在与存储子系统等的通信中,使用InfiniBand RDMA(Remote DirectMemory Access,远程直接内存存取)技术来获得更好的性能。InfiniBand RDMA技术允许远端在无需扩展存储、干扰CPU(Central Processing Unit,中央处理器)或者呼叫OS(Operating System,操作系统)内核的情况下直接读取本地已经注册好的内存空间,以减少多余的数据传输资源及延时开销。InfiniBand还支持原子操作以减少数据传输的开销(参见InfiniBand Trade Association.InfiniBand Architecture Specification,Volume 1,Release 1.0,October 2000[J])。另一方面,为了匹配CPU的高速性能提升,SSD越来越多地被用于集群服务器及企业级服务器中,以提升存储子系统的性能。SSD内部有嵌入式处理器及DRAM来对内部Flash芯片阵列进行管理。于是,现有技术提出了使用SSD内部嵌入式处理器来进行计算,例如用作RAID控制器以及数据库操作等(参见徐欣,吴佳,步凯,单盘结构的固态RAID系统,CN 201237907 Y,2009,以及Do J,Kee Y S,Patel J M,etal.Query processing on smart SSDs:Opportunities and challenges[C]//ACM SIGMODInternational Conference on Management of Data.2013:1221-1230)。这些技术提高了数据处理的效率,降低了数据传输的开销,减小了主机端的负载。但是,它们所进行的优化都是针对SSD内部或者数据库等特定应用的,并没有结合现在集群服务器等的存储子系统及其高速连接的情况,针对存储性能进行优化。因而,将现有技术直接移植到IBA(InfiniBandArchitecture,InfiniBand架构)中,并不会更好地起到提升存储性能的效果。
发明内容
基于此,本发明提供了一种存储设备,包括:
第一内存单元,用于暂时存储来自外部设备的写入数据;
存储单元,用于存储所述写入数据;
主控单元,用于:
根据从外部设备接收的内存锁定命令,锁定第一内存单元中的一块内存空间用于存储所述写入数据,所述锁定是指分配所述内存空间用于存储所述写入数据且该空间不可用于存储其他数据;以及
将第一内存单元中存储的所述写入数据存储到存储单元。
本发明还提供了一种网络适配器,包括:
第二内存单元,用于暂时存储来自远端设备的写入数据;
控制单元,包括:
信息获取模块,用于从写入数据的数据存储请求获取要存储该写入数据的地址信息及该写入数据的大小;
内存锁定模块,用于根据所述地址信息向存储设备阵列中的相应存储设备发送内存锁定命令,要求其锁定一块内存空间,所述锁定是指分配所述内存空间用于存储所述写入数据且该空间不可用于存储其他数据;以及
数据分发模块,用于将所述写入数据发送到所述相应存储设备的锁定内存空间。
附图说明
图1示出了根据本发明实施例的存储子系统的架构图;
图2示出了根据本发明实施例的SSD的结构框图;
图3示出了根据本发明实施例的TCA的结构框图;
图4示出了根据本发明实施例存储数据的示意图;
图5示出了根据本发明实施例读取数据的示意图;以及
图6示出了根据本发明实施例执行原子操作的示意图。
具体实施方式
为了使本发明的技术手段、系统架构及优点易于明白了解,下面结合附图,进一步阐述本发明。
图1是根据本发明实施例的存储子系统1的架构图。如图1所示,存储子系统1包括具有至少一个(图中示为4个,但本发明不限于此)SSD10的SSD阵列和TCA(Target ChannelAdapter,目标通道适配器)20。SSD阵列的组织方式例如包括JBOD、RAID等等。SSD阵列连接到TCA 20。TCA 20连接到数据传输网络(例如InfiniBand网络),通过数据传输网络与远端设备进行数据传输。所述远端设备例如可以包括计算节点、管理主机等。
图2示出了根据本发明实施例的SSD 10的结构框图。如图2所示,SSD 10包括第一内存单元110、存储单元120、主控单元130。
第一内存单元110用于暂时存储来自外部设备的写入数据。
存储单元120用于存储写入数据。
主控单元130包括信息维护模块131、内存单元锁定模块132、内存单元控制模块133、存储单元控制模块134、以及原子操作模块135。
信息维护模块131维护SSD 10的以下任意一项或多项信息:内存空间大小、地址信息、内存空间使用情况、空闲内存空间大小。
内存单元锁定模块132用于根据从外部设备接收的内存锁定命令,锁定一块内存空间用于存储所述写入数据,所述锁定是指分配所述内存空间用于存储所述写入数据且该空间不可用于存储其他数据。例如,内存单元锁定模块132根据内存锁定命令分配一块内存空间给TCA下发的数据,该内存空间不可再用于存储FTL相关表项。
内存单元控制模块133,用于控制将所述写入数据写入第一内存单元110。
存储单元控制模块134用于控制将第一内存单元110中的写入数据写入存储单元120。当第一内存单元110中的写入数据被写入存储单元120之后,主控单元130向外部设备发送完成信号,并释放相应的内存空间。
原子操作模块135根据接收到的原子操作命令执行原子操作,所述原子操作命令包括表示要进行哪种原子操作的信息和该操作涉及的地址信息。
根据本发明实施例的SSD阵列在一般的SSD阵列进行数据存储功能的基础之上,在每个SSD的主控单元中增加了新的扩展,使得内存等信息可以被上层控制器(例如TCA 20)收集,并且配合上层控制器将接收到的数据保存到自身存储中。另外,该SSD阵列具有对传输进来的数据以及自身存储的数据进行原子操作的能力。
图3示出了根据本发明实施例的TCA20的结构框图。如图3所示,TCA20包括第二内存单元210和控制单元220。
第二内存单元210用于暂时存储来自远端设备的写入数据。
控制单元220包括信息获取模块221、内存锁定模块222、数据分发模块223、存储设备信息维护模块224、数据读取模块225、以及操作控制模块226。
信息获取模块221用于从写入数据的数据存储请求获取要存储该写入数据的地址信息及该写入数据的大小。
内存锁定模块222用于根据所述地址信息发送内存锁定命令到与SSD阵列中的相应SSD,要求其锁定一块内存空间。
数据分发模块223用于将所述写入数据发送到所述相应SSD的锁定内存空间。如果SSD的空闲空间小于写入数据的大小,则数据分发模块223将多出的写入数据暂存于第二内存单元中,建立数据分发表,并根据来自SSD的完成信号,逐批将第二内存单元中的写入数据发送到所述SSD。
存储设备信息维护模块224获取并维护以下任意一项或多项信息:SSD阵列中SSD的数量、SSD阵列的组织方式、SSD的地址信息、SSD的容量、SSD的内存空间大小、SSD的内存空间使用情况、SSD的空闲内存空间大小。根据本发明的实施例,存储设备信息维护模块224记录每个SSD的空闲内存空间。如果要写入的SSD的空闲内存空间小于写入数据的大小,则数据分发模块223将多出的写入数据暂存于第二内存单元210中,建立数据分发表,并根据来自存储设备的完成信号,逐批将第二内存单元210中的写入数据发送到SSD。根据本发明的实施例,根据SSD所要保存的FTL映射表、坏块表等的大小及SSD内存的大小来确定空闲内存空间的大小,在保证SSD主控单元实现基本功能的情况下,划分多余的内存资源用于存储写入数据。根据本发明的实施例,当TCA 20将全部写入数据分发完毕后,控制单元220向远端设备返回结束状态信息。
数据读取模块225从远端设备接收的数据读取请求获取数据存储地址,从相应SSD读取数据并发送到远端设备。
操作控制模块226用于根据收到的操作请求确定所要进行的是数据存储、数据读取或者原子操作,并进一步根据协议解析相关操作的参数。操作控制模块226从接收的原子操作请求生成发送到相应SSD的原子操作命令,所述原子操作命令包括表示要进行哪种原子操作的信息和该操作涉及的地址信息,将原子操作命令发送到相应SSD,并返回原子操作响应。
所述TCA 20可以通过InfiniBand网络或万兆以太网与远端设备进行数据传输;并且/或者,所述TCA 20可以基于远程直接内存存取(RDMA)技术来与远端设备进行数据传输。
根据本发明的实施例,TCA 20可以实现为包括NIC(Network InterfaceController,网卡)。所述TCA 20进行了优化,减小了其内存的大小,而优先将从存储子系统外部接收到的数据传输到SSD的内存中,只有当前者不足时才放入到自身的内存中。
根据本发明的实施例,通过iWARP(Internet Wide Area RDMA Protocol,互联网广域RDMA协议)或RoCE(RDMA over Converged Ethernet)实现TCA 20与远端设备的数据读写。远端设备发送到TCA 20的操作请求可以包括RDMA数据存储请求、RDMA数据读取请求或原子操作请求。
根据本发明的实施例,SSD阵列与TCA 20之间通过PCIe总线或SATA总线连接。
下面参考图4~6说明根据本发明实施例的数据存储、读取和原子操作。
图4示出了根据本发明实施例存储数据的示意图。如图4所示,在TCA接收到数据存储请求时,TCA从请求中获取数据存储的远端虚拟地址及数据大小等信息。TCA根据数据要存储到的地址发送命令给相应SSD的主控单元,要求其分配一块内存空间,并将所述内存空间锁住,使其不会被用于存放FTL等SSD表格。如果SSD内存空间不足以满足相应数据大小的需求,则TCA在自身的第二内存单元中分配一块空间,用于放置多出的数据。TCA根据SSD的内存空间分配及地址信息,建立数据分发表。然后,TCA使用RDMA读操作将数据读入。TCA根据建立的数据分发表将数据发送给相应SSD,存放于已经分配好的内存空间中,或暂存于自身内存空间中。SSD处理好存放在其内存空间中的数据后,发送完成信号给TCA,TCA将暂存于TCA内存空间中的数据发送给SSD。TCA内存空间中的数据全部分发完成后,向远端返回结束状态信息。SSD内存中数据保存完毕后,释放分配的内存空间。
图5示出了根据本发明实施例读取数据的示意图。如图5所示,在TCA接收到数据读取请求时,从请求中获取数据存储的远端虚拟地址及大小等信息。然后,TCA从相应SSD读取数据,使用RDMA写操作,将数据发送到远端设备。在数据传输完成后,TCA向远端设备返回结束状态信息。
图6示出了根据本发明实施例执行原子操作的示意图。如图6所示,在TCA接收到原子操作请求时,TCA从请求中获取数据存储的远端虚拟地址、大小及所要进行的操作等信息,返回原子操作响应。TCA将所需进行的原子操作及地址等发送给相应SSD的主控单元。SSD主控单元对于指定的数据进行操作。
根据本发明的实施例,通过利用SSD内部的主控单元及内存单元的应用,降低了TCA所需要的资源。一般情况下,免除了数据写入TCA内存然后再读出发送给SSD这一过程,降低了延时。同时,利用SSD通常自带掉电保护功能,增加了存储子系统对突发情况的抵抗能力。通过将原子操作交由SSD控制器实现,免除了从SSD读取数据到TCA,及数据处理完成后保存回SSD的传输开支,只需要传输控制命令即可。
虽然以上使用SSD和TCA进行说明,但是本发明不限于此。可以使用其他具有存储空间和控制单元的存储设备来替换这里的SSD,并且/或者使用其他网络适配器来替换这里的TCA。例如,当网络适配器连接到以太网时,网络适配器可以实现为支持RDMA的网卡(RDMANIC)。所述网络适配器及其中的控制单元和各个模块可以通过FPGA或者ASIC实现,存储设备的主控单元和各个模块可以通过软件、FPGA或者ASIC实现来实现。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (15)
1.一种存储设备,所述存储设备配合目标通道适配器将接收到的来自远端设备的写入数据保存到所述存储设备的内存中,在所述存储设备的内存空间小于所述写入数据的大小的情况下,所述目标通道适配器暂时存储来自所述远端设备的写入数据,其中,所述目标通道适配器能够基于远程直接内存存取技术与远端设备进行数据传输,所述存储设备包括:
第一内存单元,用于暂时存储来自所述目标通道适配器的写入数据;
存储单元,用于存储所述写入数据;以及
主控单元,
其中,所述主控单元包括:
内存单元锁定模块,用于根据从目标通道适配器接收的内存锁定命令,锁定一块内存空间用于存储所述写入数据,其中,所述内存锁定命令包括存储所述写入数据的地址信息,所述锁定是指分配所述内存空间用于存储所述写入数据且该内存空间不可用于存储其他数据;
内存单元控制模块,用于控制将所述写入数据写入第一内存单元;以及
存储单元控制模块,用于控制将第一内存单元中的写入数据写入所述存储单元。
2.根据权利要求1所述的存储设备,其中,主控单元包括信息维护模块,维护存储设备的以下任意一项或多项信息:内存空间大小、地址信息、内存空间使用情况、空闲内存空间大小。
3.根据权利要求1所述的存储设备,其中,当第一内存单元中的写入数据被写入存储单元之后,主控单元向外部设备发送完成信号,并释放相应的内存空间。
4.根据权利要求1所述的存储设备,其中,主控单元包括原子操作模块,用于根据接收到的原子操作命令执行原子操作,所述原子操作命令包括表示要进行哪种原子操作的信息和该操作涉及的地址信息。
5.根据权利要求1所述的存储设备,其中:
该存储设备是固态硬盘。
6.根据权利要求1所述的存储设备,具有掉电保护功能。
7.一种存储设备阵列,包括至少一个根据权利要求1~6中任一项所述的存储设备。
8.一种网络适配器,包括:
第二内存单元,用于在存储设备的内存空间小于写入数据的大小的情况下,暂时存储来自远端设备的写入数据;
控制单元,包括:
信息获取模块,用于从写入数据的数据存储请求获取要存储该写入数据的地址信息及该写入数据的大小;
内存锁定模块,用于根据所述地址信息向存储设备阵列中的相应存储设备发送内存锁定命令,要求其锁定一块内存空间,所述锁定是指分配所述内存空间用于存储所述写入数据且该内存空间不可用于存储其他数据;以及
数据分发模块,用于将所述写入数据发送到所述相应存储设备的锁定内存空间。
9.根据权利要求8所述的网络适配器,其中,控制单元还包括存储设备信息维护模块,获取并维护以下任意一项或多项信息:存储设备阵列中存储设备的数量、存储设备阵列的组织方式、存储设备的地址信息、存储设备的容量、存储设备的内存空间大小、存储设备的内存空间使用情况、存储设备的空闲内存空间大小。
10.根据权利要求9所述的网络适配器,其中:
存储设备信息维护模块记录存储设备阵列中每个存储设备的空闲内存空间;并且
如果存储设备的空闲内存空间小于写入数据的大小,则数据分发模块将多出的写入数据暂存于第二内存单元中,建立数据分发表,并根据来自存储设备的完成信号,逐批将第二内存单元中的写入数据发送到所述存储设备。
11.根据权利要求8所述的网络适配器,其中,控制单元还包括数据读取模块,从远端设备接收的数据读取请求获取数据存储地址,从相应存储设备读取数据并发送到远端设备。
12.根据权利要求8所述的网络适配器,其中,控制单元还包括操作控制模块,用于根据收到的操作请求确定所要进行的是数据存储、数据读取或者原子操作,并进一步根据协议解析相关操作的参数。
13.根据权利要求12所述的网络适配器,其中,操作控制模块从接收的原子操作请求生成发送到相应存储设备的原子操作命令,所述原子操作命令包括表示要进行哪种原子操作的信息和该操作涉及的地址信息,将原子操作命令发送到相应存储设备,并返回原子操作响应。
14.根据权利要求8所述的网络适配器,其中:
所述网络适配器通过InfiniBand网络或万兆以太网与远端设备进行数据传输;并且/或者
所述网络适配器基于远程直接内存存取技术来与远端设备和/或存储设备进行数据传输。
15.根据权利要求8所述的网络适配器,其中:
所述网络适配器是InfiniBand目标通道适配器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610364121.3A CN106020731B (zh) | 2016-05-23 | 2016-05-23 | 存储设备、存储设备阵列和网络适配器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610364121.3A CN106020731B (zh) | 2016-05-23 | 2016-05-23 | 存储设备、存储设备阵列和网络适配器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106020731A CN106020731A (zh) | 2016-10-12 |
CN106020731B true CN106020731B (zh) | 2019-07-02 |
Family
ID=57091191
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610364121.3A Active CN106020731B (zh) | 2016-05-23 | 2016-05-23 | 存储设备、存储设备阵列和网络适配器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106020731B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108628761B (zh) * | 2017-03-16 | 2022-04-22 | 北京忆恒创源科技股份有限公司 | 原子命令执行方法与装置 |
CN108628760B (zh) * | 2017-03-16 | 2021-05-18 | 北京忆恒创源科技有限公司 | 原子写命令的方法与装置 |
CN107085503A (zh) * | 2017-03-27 | 2017-08-22 | 联想(北京)有限公司 | 存储设备、存储系统及信息处理方法 |
CN108494817B (zh) * | 2018-02-08 | 2022-03-04 | 华为技术有限公司 | 数据传输方法、相关装置及系统 |
CN113778319A (zh) * | 2020-06-09 | 2021-12-10 | 华为技术有限公司 | 网卡的数据处理方法以及网卡 |
CN115934623B (zh) * | 2023-02-09 | 2023-05-16 | 珠海星云智联科技有限公司 | 一种基于远程直接内存访问的数据处理方法、设备及介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8190816B2 (en) * | 2008-10-17 | 2012-05-29 | Netapp, Inc. | Embedded scale-out aggregator for storage array controllers |
CN102571925B (zh) * | 2011-12-19 | 2014-08-27 | 华中科技大学 | 一种在光纤通道环境中利用rdma存取数据的方法 |
CN102694733B (zh) * | 2012-06-06 | 2015-03-25 | 济南大学 | 一种获得具有准确应用类型标识的网络流量数据集的方法 |
WO2015061971A1 (zh) * | 2013-10-29 | 2015-05-07 | 华为技术有限公司 | 数据处理系统和数据处理的方法 |
US9887008B2 (en) * | 2014-03-10 | 2018-02-06 | Futurewei Technologies, Inc. | DDR4-SSD dual-port DIMM device |
-
2016
- 2016-05-23 CN CN201610364121.3A patent/CN106020731B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN106020731A (zh) | 2016-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106020731B (zh) | 存储设备、存储设备阵列和网络适配器 | |
US10592274B2 (en) | Computer system and access control method | |
US10257273B2 (en) | Systems, methods and devices for RDMA read/write operations | |
EP0935374B1 (en) | Dynamic and consistent naming of fabric attached storage | |
US20050235072A1 (en) | Data storage controller | |
EP0989490A2 (en) | Protocol for dynamic binding of shared resources | |
US9405725B2 (en) | Writing message to controller memory space | |
CN108733601A (zh) | NVMe-oF以太网SSD中的低延迟直接访问块存储 | |
EP0935201A1 (en) | I/O protocol for a highly configurable multi-node processing system | |
CN108139941A (zh) | 基于网络流控制的动态资源分配 | |
US9596186B2 (en) | Multiple processes sharing a single infiniband connection | |
US10620841B2 (en) | Transfer of object memory references in a data storage device | |
CN103425538A (zh) | 进程通讯方法及系统 | |
US7469309B1 (en) | Peer-to-peer data transfer method and apparatus with request limits | |
CN110096220A (zh) | 一种分布式存储系统、数据处理方法和存储节点 | |
CN102375789B (zh) | 一种通用网卡非缓存的零拷贝方法及零拷贝系统 | |
CN110119304A (zh) | 一种中断处理方法、装置及服务器 | |
CN115129625A (zh) | 外围设备中的增强的存储协议仿真 | |
US7155492B2 (en) | Method and system for caching network data | |
US8984235B2 (en) | Storage apparatus and control method for storage apparatus | |
CN110519180A (zh) | 网卡虚拟化队列调度方法及系统 | |
US10678717B2 (en) | Chipset with near-data processing engine | |
US9665519B2 (en) | Using a credits available value in determining whether to issue a PPI allocation request to a packet engine | |
CN110471627A (zh) | 一种共享存储的方法、系统及装置 | |
CN106201328A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |