CN103294613B - 存储器的访问方法 - Google Patents
存储器的访问方法 Download PDFInfo
- Publication number
- CN103294613B CN103294613B CN201310269235.6A CN201310269235A CN103294613B CN 103294613 B CN103294613 B CN 103294613B CN 201310269235 A CN201310269235 A CN 201310269235A CN 103294613 B CN103294613 B CN 103294613B
- Authority
- CN
- China
- Prior art keywords
- data
- upper layer
- layer data
- data block
- block
- 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
Abstract
本发明提供了一种存储器的访问方法,包括:接收到数据S的访问请求;根据数据S的访问请求在存储器的缓存中查找包括数据S的所有上层数据块;以及根据查找到的所有上层数据块确定多个参数,并根据被确定的多个参数对所有上层数据块和/或下层数据块进行读写操作;其中,所有上层数据块和下层数据块分别位于存储器中的具有映射关系的相邻两层中,以及数据S为任意大小的数据。利用本发明的存储器的访问方法,解决了RAID?Cache和Page?Cache各自的局限性的问题,既可以应用于大小固定的数据块的缓存,也可以应用于任意大小的文件缓存。
Description
技术领域
本发明一般地涉及计算机技术领域,更具体地来说,涉及一种存储器的访问方法。
背景技术
Cache(即,缓存)存在于计算机内部的高速部件和低速部件之间,成为弥补速度差距的重要手段。将Cache技术引入存储系统,用以减少存储访问请求的等待时间,从而加快存储访问速度。从一定程度上弥补了存储设备I/O处理速度和CPU处理速度的差距。
考虑到程序访问的局部性原理和存储设备的性能价格比,现在的计算机系统采用存储器层次结构设计,每一层都比其下一层具有更小的容量和更快的速度,当然价格也更高。这种组织结构的目标是提供一个存储器系统,使其价格成本几乎等同于最慢一层存储器的价格成本,但是访问速度却与最快一层的接近。层次结构中各层次之间通常是子集的关系,某一层中的数据通常总能在下一层中找到,而下一层中的所有数据也能在更下层中找到,如此直到层次结构的最底层。
在现有技术中,PageCache(即,页高速缓冲存储器)是Linux内核实现的一种主要磁盘缓存,它主要用来减少对磁盘的IO操作。具体地讲,就是通过把磁盘中的数据缓存到物理内存中,把对磁盘的访问变为对物理内存的访问。PageCache较低层次存储器的块可以映射到任意较高层次中;查找已经缓存的块使用基树查找,只要指定了文件偏移量,就可以在基树中迅速检索到需要的数据;PageCache替换算法为:刚刚分配的Cache项链入到inactive_list头部,并将其状态设置为active,当内存不够需要回收Cache时,系统首先从尾部开始反向扫描active_list并将状态不是referenced的项链入到inactive_list的头部,然后系统反向扫描inactive_list,如果所扫描的项的处于合适的状态就回收该项,直到回收了足够数目的Cache项。其中Active_list的含义是热访问数据,即,多次被访问的数据,inactive_list是冷访问数据,即,尚未被访问的数据。如果数据被访问了,Page会被打上一个Refrence标记,如果Page没有被访问过,则打上Unrefrence标记;针对写策略,PageCache支持写穿透和写回策略。
RAIDCache(即,独立冗余磁盘阵列高速缓冲存储器)与PageCache的不同之处在于它是对数据块的缓存,而不是对文件的缓存,数据块的大小是固定的,而对文件访问大小是随机的。因此,导致RAIDCache与PageCache的标记问题不一致。因此现有技术中缺少RAIDCache和PageCache通用的缓存技术。
发明内容
针对现有技术中由于RAIDCache和PageCache使用场景的区别而缺少RAIDCache和PageCache通用的缓存技术的缺陷,本发明提出了能够解决上述缺陷的存储器的访问方法。
根据本发明的实施例,提供了一种存储器的访问方法,包括:接收到数据S的访问请求;根据数据S的访问请求在存储器的缓存中查找包括数据S的所有上层数据块;以及根据查找到的所有上层数据块确定多个参数,并根据被确定的多个参数对所有上层数据块和/或下层数据块进行读写操作;其中,所有上层数据块和下层数据块分别位于存储器中的具有映射关系的相邻两层中,以及数据S为任意大小的数据。
优选地,多个参数包括:上层数据块的完整性、数据S的固定大小以及数据S的有效性,其中,上层数据块的完整性指的是所有上层数据块是否均在数据S的访问范围内;数据S的固定大小指的是数据S是否为访问存储器的最小数据量的整数倍;以及数据S的有效性指的是存储在上层数据块中的数据S是否为有效数据。
优选地,根据被确定的多个参数对所有上层数据块和/或下层数据块进行读写操作进一步包括:当所有上层数据块均为完整数据块时,将数据S写入所有上层数据块并将完整数据块标记为有效数据块;或者从所有上层数据块读取数据S。
优选地,根据被确定的多个参数对所有上层数据块和/或下层数据块进行读写操作进一步包括:当上层数据块存在不完整数据块并且数据S为访问存储器的最小数据量的整数倍时,将数据S写入所有上层数据块并且将不完整数据块中的数据S按位图标记为有效数据。
优选地,根据被确定的多个参数对所有上层数据块和/或下层数据块进行读写操作进一步包括:当上层数据块存在不完整数据块并且数据S不是访问存储器的最小数据量的整数倍时,从与不完整数据块具有映射关系的下层数据块读取其他数据并将数据S和其他数据共同写入所有上层数据块中,同时将所有上层数据块均标记为有效数据块,其中,将其他数据存储在不完整数据块中不包含数据S的其他存储位置处。
优选地,根据被确定的多个参数对所有上层数据块和/或下层数据块进行读写操作进一步包括:当上层数据块存在不完整数据块并且数据S不是访问存储器的最小数据量的整数倍时,从所有上层数据块读取数据S。
优选地,根据被确定的多个参数对所有上层数据块和/或下层数据块进行读写操作进一步包括:在上层数据块存在不完整数据块并且数据S为访问存储器的最小数据量的整数倍的情况下,当根据位图确定数据S全部有效时,则从所有上层数据块读出数据S;或者当根据位图确定数据S部分无效时,从与所有上层数据块具有映射关系的下层数据块读取数据S,同时通过读取的数据S更新上层数据块中的数据并将上层数据块标记为有效数据块。
优选地,当存储器的上层的存储空间不足时,通过最近最少使用替换算法释放被访问次数最少的上层存储块。
利用本发明的技术方案,提高存储器的存取速度的同时,能够解决上述缺陷,该访问方法解决了RAIDCache和PageCache各自的局限性,从而提供了一种RAIDCache和PageCache通用的访问方法,该访问方法既可以应用于大小固定的数据块的缓存,也可以应用于任意大小的文件缓存。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。在附图中:
图1为根据本发明的实施例的存储器的通用缓存模型的结构图;
图2为根据本发明的实施例的存储器的访问方法的整体流程图;
图3为根据本发明的实施例的存储器的写入方法的具体流程图;以及
图4为根据本发明的实施例的存储器的读取方法的具体流程图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
图1为根据本发明的实施例的存储器的通用缓存模型的结构图。存储器100包括高速缓存102和底层104。高速缓存102和底层104均包括4K的数据块,其中,高速缓存102中的一些数据块与底层104中的一些数据块具有映射关系。在其他实施例中,高速缓存102可以包括两层或更多层。当高速缓存102包括三个以上的层时,顶层称为第一层,紧接顶层的层称为第二层,接下来紧接第二层的层称为第三层,...,紧接第(n-1)层的层为第n层,其中,n为大于3的整数。
图2为根据本发明的实施例的存储器的访问方法的整体流程图。根据本发明的实施例,存储器的访问方法200包括:在步骤202中,接收到数据S的访问请求。其中,数据S为任意大小的数据。具体地,上述存储器100接收数据S的访问请求。
在步骤204中,根据数据S的访问请求在存储器的缓存中查找包括数据S的所有上层数据块。其中,所有上层数据块和下层数据块分别位于存储器中的具有映射关系的相邻两层中。具体地,根据数据S的访问请求,首先在存储器的缓存的第一层中查找数据S;当在第一层中没有找到数据S时,在第二层中查找数据S等直到查找到包含数据S的所有数据块。将该所有数据块称为上层数据块并包含该上层数据块的层称为上层,而将紧接上层的接下来的层称为下层并且将位于下层中并与上层数据块具有映射关系的数据块称为下层数据块。
在步骤206中,根据查找到的所有上层数据块确定多个参数,并根据被确定的多个参数对所有上层数据块和/或下层数据块进行读写操作。具体地,例如,根据查找到的所有上层数据块确定以下多个参数:上层数据块的完整性、数据S的固定大小以及数据S的有效性,其中,上层数据块的完整性指的是所有上层数据块是否均在数据S的访问范围内;数据S的固定大小指的是数据S是否为访问存储器的最小数据量的整数倍;以及数据S的有效性指的是存储在上层数据块中的数据S是否为有效数据。然后根据上述参数对所有上层数据块和/或下层数据块进行读写操作。该访问方法解决了RAIDCache和PageCache各自的局限性的问题。
以下对该访问方法进行详细描述。即,参照图3和图4详细描述根据被确定的多个参数对所有上层数据块和/或下层数据块所进行读写操作。图3为根据本发明的实施例的存储器的写入方法的具体流程图。图4为根据本发明的实施例的存储器的读取方法的具体流程图。
存储器的写入方法的流程图300包括以下具体步骤。在步骤302中,当所有上层数据块均为完整数据块时,将数据S写入所有上层数据块并将完整数据块标记为有效数据块。具体地,当请求到达时首先需要在高速缓存中查找包含S数据的所有数据块,考虑到S在最前面和最后面两个数据块可能不完整(中间的所有数据块肯定是完整的),所以这里需要做特殊处理。当所有数据块都是是完整的数据块时,则可以直接写入数据。当查找到的所有上层数据块均为完整数据块时,也就是,该数据S的读写操作是对数据块的读写操作,所以可以将数据S直接写入被查找到的上层数据块,并且可以将该上层数据块标记为有效数据块。例如,在一个实施例中,0表示数据块中的数据无效,1表示数据块中的数据有效。将该上层数据块标记为1。在另一个实施例中,1表示数据块中的数据无效,0表示数据块中的数据有效。将该上层数据块标记为0。当上层数据块是不完整的数据块时,需要进行进一步的分析。
在步骤304中,当上层数据块存在不完整数据块并且数据S为访问存储器的最小数据量的整数倍时,将数据S写入所有上层数据块并且将不完整数据块中的数据S按位图标记为有效数据。具体地,如果数据S的访问请求是固定大小的访问请求,即,访问粒度是某一数值的整数倍,例如,磁盘分区(512字节)大小的整数倍,则可以将数据S直接写入上层数据块(即,高速缓存块或高速缓存中的一层),同时按位图标记有效数据。其中,位图为数据块的子集,当数据块为4K,并且位图为512字节时,数据块包括8个位。当上层数据块存在不完整数据块并且数据S为访问存储器的最小数据量的整数倍时,将数据S写入所有的上层数据块,并且按照位图将不完整数据块中的数据S标记为有效数据,而将其中不包含数据S的存储位置中的数据标记为无效数据。0表示数据块的子集中的数据无效,1表示数据块的子集中的数据有效。将与该上层数据块的子集相对应的位标记为1。在另一个实施例中,1表示数据块的子集中的数据无效,0表示数据块的子集中的数据有效。将与该上层数据块的子集相对应的位标记为0。
在步骤306中,当上层数据块存在不完整数据块并且数据S不是访问存储器的最小数据量的整数倍时,从与不完整数据块具有映射关系的下层数据块读取其他数据并将数据S和其他数据共同写入所有上层数据块中,同时将所有上层数据块均标记为有效数据块,其中,将其他数据存储在不完整数据块中不包含数据S的其他存储位置处。如果不是固定大小的访问,即访问以任意粒度进行,则需要从下层数据块(即,底层设备或高速缓存中的一层)中将不完整数据块中的数据一次性全部读出,然后和这次写操作的数据S一起存入高速缓存中,这样整个上层数据块(即,高速缓存或高速缓存中的一层)都是有效块,不再需要标志有效位,从而大大提升各种粒度的访问速度。
此外,在向存储器的上层(即,高速缓存或高速缓存的一层)写入数据S期间,也就是,在存储器的高速缓存和底层中没有查找到数据S的上层数据块的情况下,当存储器的上层的存储空间不足时,通过最近最少使用替换算法LRU(LeastRecentlyused)释放被访问次数最少的上层存储块。从而将数据S写入释放的上层存储块中并且在以后合适时机或者在指定的时间内再写入下层数据块中。
存储器的读取方法的流程图400包括以下具体步骤。在步骤402中,当所有上层数据块均为完整数据块时,从所有上层数据块读取数据S。具体地,当请求到达时首先需要在高速缓存中查找包含S数据的所有数据块,考虑到S在最前面和最后面两个数据块可能不完整(中间的所有数据块肯定是完整的),所以这里需要做特殊处理。当所有数据块都是是完整的数据块时,则可以从查找到的所有上层数据块中直接读取数据。查找到的所有上层数据块均为完整数据块,即,该数据S的读写操作是对数据块的读写操作,所以可以将数据S直接写入被查找到的上层数据块,并且可以将该上层数据块标记为有效数据块。
在步骤404中,当上层数据块存在不完整数据块并且数据S不是访问存储器的最小数据量的整数倍时,从所有上层数据块读取数据S。由于当上层数据块存在不完整数据块并且数据S不是访问存储器的最小数据量的整数倍时,从与不完整数据块具有映射关系的下层数据块读取其他数据并将数据S和其他数据共同写入所有上层数据块中,同时将所有上层数据块均标记为有效数据块,所以所有的上层数据块中的数据都是有效数据,从而可以从所有上层数据块直接读取数据S。
在上层数据块存在不完整数据块并且数据S为访问存储器的最小数据量的整数倍的情况下,需要分析不完整数据块中的数据是否是有效数据。
在步骤406中,当根据位图确定不完整数据块中的数据S全部有效时,从所有上层数据块读出数据S。具体地,当根据标记有效数据的位图确定存储在不完整数据块中的数据S均为有效数据时,可以从所有上层数据块直接读取数据S。
在步骤408中,当根据位图确定数据S部分无效时,从与所有上层数据块具有映射关系的下层数据块读取数据S,同时通过读取的数据S更新上层数据块中的数据并将上层数据块标记为有效数据块。具体地,当根据标记有效数据的位图确定存储在不完整数据块中的数据S部分无效时,无效数据不可用,因此,需要从与所有上层数据块具有映射关系的下层数据块读取数据S,同时通过读取的数据S更新上层数据块中的数据并将上层数据块标记为有效数据块,以便于下次进行读写操作时使用。在另一个实施例中,如果所有上层数据块即存在完整数据块还存在不完整数据块时,则为了提高读取操作的速度,可以从完整的数据块中读取数据S的一部分,并且从下层数据块中读取数据S的另一部分同时利用另一部分数据更新不完整数据块中的数据,从而尽量减少对下层数据块的操作。因此,能够提高数据S的读取速度,从而提高存储器的存取速度。
利用本发明的技术方案,提高存储器的存取速度,存储设备I/O处理速度和CPU处理速度的差距。该访问方法还能够解决RAIDCache和PageCache各自的局限性的问题,从而提供了一种RAIDCache和PageCache通用的访问方法,因此,该访问方法即可以应用于大小固定的数据块的缓存,也可以应用于任意大小的文件的缓存,从而在用户访问时,可以直接对存储器进行操作,而无需判断是固定大小的数据块操作还是任意大小的文件操作,因此,简化了用户操作步骤,降低了操作难度。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种存储器的访问方法,其特征在于,包括:
接收到数据S的访问请求;
根据所述数据S的访问请求在存储器的缓存中查找包括数据S的所有上层数据块;以及
根据查找到的所述所有上层数据块确定多个参数,并根据被确定的所述多个参数对所述所有上层数据块和/或下层数据块进行读写操作;
其中,所述所有上层数据块和所述下层数据块分别位于所述存储器中的具有映射关系的相邻两层中,以及所述数据S为任意大小的数据;
其中,所述多个参数包括:上层数据块的完整性、数据S的固定大小以及数据S的有效性,
其中,所述上层数据块的完整性指的是所述所有上层数据块是否均在数据S的访问范围内;
所述数据S的固定大小指的是所述数据S是否为访问所述存储器的最小数据量的整数倍;以及
所述数据S的有效性指的是存储在所述上层数据块中的数据S是否为有效数据。
2.根据权利要求1所述的访问方法,其特征在于,根据被确定的所述多个参数对所述所有上层数据块和/或下层数据块进行读写操作进一步包括:
当所述所有上层数据块均为完整数据块时,
将所述数据S写入所述所有上层数据块并将所述完整数据块标记为有效数据块;或者
从所述所有上层数据块读取所述数据S。
3.根据权利要求1所述的访问方法,其特征在于,根据被确定的所述多个参数对所述所有上层数据块和/或下层数据块进行读写操作进一步包括:当所述上层数据块存在不完整数据块并且所述数据S为访问所述存储器的最小数据量的整数倍时,将所述数据S写入所述所有上层数据块并且将所述不完整数据块中的数据S按位图标记为有效数据。
4.根据权利要求1所述的访问方法,其特征在于,根据被确定的所述多个参数对所述所有上层数据块和/或下层数据块进行读写操作进一步包括:当所述上层数据块存在不完整数据块并且所述数据S不是访问所述存储器的最小数据量的整数倍时,从与所述不完整数据块具有所述映射关系的所述下层数据块读取其他数据并将所述数据S和所述其他数据共同写入所述所有上层数据块中,同时将所述所有上层数据块均标记为有效数据块,
其中,将所述其他数据存储在所述不完整数据块中不包含所述数据S的其他存储位置处。
5.根据权利要求1所述的访问方法,其特征在于,根据被确定的所述多个参数对所述所有上层数据块和/或下层数据块进行读写操作进一步包括:当所述上层数据块存在不完整数据块并且所述数据S不是访问所述存储器的最小数据量的整数倍时,从所述所有上层数据块读取所述数据S。
6.根据权利要求1所述的访问方法,其特征在于,根据被确定的所述多个参数对所述所有上层数据块和/或下层数据块进行读写操作进一步包括:在所述上层数据块存在不完整数据块并且所述数据S为访问所述存储器的最小数据量的整数倍的情况下,
当根据位图确定所述数据S全部有效时,则从所述所有上层数据块读出所述数据S;或者
当根据所述位图确定所述数据S部分无效时,从与所述所有上层数据块具有映射关系的所述下层数据块读取所述数据S,同时通过读取的所述数据S更新所述上层数据块中的数据并将所述上层数据块标记为有效数据块。
7.根据权利要求1所述的访问方法,其特征在于,当所述存储器的上层的存储空间不足时,通过最近最少使用替换算法释放被访问次数最少的上层存储块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310269235.6A CN103294613B (zh) | 2013-06-28 | 2013-06-28 | 存储器的访问方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310269235.6A CN103294613B (zh) | 2013-06-28 | 2013-06-28 | 存储器的访问方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103294613A CN103294613A (zh) | 2013-09-11 |
CN103294613B true CN103294613B (zh) | 2016-02-24 |
Family
ID=49095526
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310269235.6A Active CN103294613B (zh) | 2013-06-28 | 2013-06-28 | 存储器的访问方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103294613B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1639693A (zh) * | 2002-08-05 | 2005-07-13 | 因芬奈昂技术股份有限公司 | 用于操作具有内部数据高速缓存器的cpu的方法 |
CN101673188A (zh) * | 2008-09-09 | 2010-03-17 | 上海华虹Nec电子有限公司 | 一种固态硬盘的数据存取方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7130968B2 (en) * | 2003-03-11 | 2006-10-31 | Pmc-Sierra, Inc. | Cache memory architecture and associated microprocessor design |
-
2013
- 2013-06-28 CN CN201310269235.6A patent/CN103294613B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1639693A (zh) * | 2002-08-05 | 2005-07-13 | 因芬奈昂技术股份有限公司 | 用于操作具有内部数据高速缓存器的cpu的方法 |
CN101673188A (zh) * | 2008-09-09 | 2010-03-17 | 上海华虹Nec电子有限公司 | 一种固态硬盘的数据存取方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103294613A (zh) | 2013-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10657101B2 (en) | Techniques for implementing hybrid flash/HDD-based virtual disk files | |
US9182927B2 (en) | Techniques for implementing hybrid flash/HDD-based virtual disk files | |
CN103425600B (zh) | 一种固态盘闪存转换层中的地址映射方法 | |
CN110232031A (zh) | 保护缓存免受侧信道攻击的方法、系统和存储介质 | |
KR101289931B1 (ko) | 다양한 블록 크기를 지원하는 주소 사상을 사용하여 플래시 메모리 내에 데이터를 저장하는 방법 및 장치 | |
CN101458658B (zh) | 用于闪存的数据存储方法及装置 | |
CN109582214B (zh) | 数据访问方法以及计算机系统 | |
US20200117368A1 (en) | Method for achieving data copying in ftl of solid state drive, system and solid state drive | |
US9405703B2 (en) | Translation lookaside buffer | |
CN102306503B (zh) | 一种假容量存储器的检测方法及系统 | |
CN104268094A (zh) | 一种优化的闪存地址映射方法 | |
US20100312955A1 (en) | Memory system and method of managing the same | |
CN106815152B (zh) | 一种优化页级闪存转换层的方法 | |
CN103631536B (zh) | 一种利用ssd的无效数据优化raid5/6写性能的方法 | |
US9317448B2 (en) | Methods and apparatus related to data processors and caches incorporated in data processors | |
CN106569960B (zh) | 一种混合主存的末级缓存管理方法 | |
US11226904B2 (en) | Cache data location system | |
KR101297442B1 (ko) | 공간 지역성을 고려한 요구 기반 플래시 메모리 변환 계층을 포함하는 낸드 플래시 메모리 시스템 | |
US20200042343A1 (en) | Virtual machine replication and migration | |
CN103309815A (zh) | 一种提高固态盘有效容量和寿命的方法和系统 | |
KR20180122969A (ko) | 멀티 프로세서 시스템 및 이에 포함된 프로세서의 데이터 관리 방법 | |
CN113448882A (zh) | 用于多级存储器的高效的管理的装置和方法 | |
CN106484525B (zh) | 嵌入式系统 | |
CN104598166B (zh) | 系统管理方法和装置 | |
CN103294613B (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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220727 Address after: 100089 building 36, courtyard 8, Dongbeiwang West Road, Haidian District, Beijing Patentee after: Dawning Information Industry (Beijing) Co.,Ltd. Patentee after: DAWNING INFORMATION INDUSTRY Co.,Ltd. Address before: 100193 No. 36 Building, No. 8 Hospital, Wangxi Road, Haidian District, Beijing Patentee before: Dawning Information Industry (Beijing) Co.,Ltd. |
|
TR01 | Transfer of patent right |