CN106055488B - 数据储存设备及其操作方法 - Google Patents
数据储存设备及其操作方法 Download PDFInfo
- Publication number
- CN106055488B CN106055488B CN201510802617.XA CN201510802617A CN106055488B CN 106055488 B CN106055488 B CN 106055488B CN 201510802617 A CN201510802617 A CN 201510802617A CN 106055488 B CN106055488 B CN 106055488B
- Authority
- CN
- China
- Prior art keywords
- value
- merge
- memory
- threshold
- data storage
- 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
Images
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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/109—Address translation for multiple virtual address spaces, e.g. segmentation
-
- 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/0604—Improving or facilitating administration, e.g. storage management
-
- 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
-
- 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/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7205—Cleaning, compaction, garbage collection, erase control
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Electrotherapy Devices (AREA)
Abstract
公开了一种能够通过优化内部操作来改善操作性能的数据储存设备。数据储存设备的操作方法包括:基于存储块中的每个中包括的有效页的数目来将存储块分组;以及基于合并判定值来判断是否对存储块组执行合并过程。
Description
相关申请的交叉引用
本申请要求于2015年4月6日向韩国知识产权局提交的申请号为10-2015-0048521的韩国申请的优先权,其通过引用整体合并于此。
技术领域
本发明构思涉及一种数据储存设备,更具体地,涉及一种能够通过优化内部操作来改善操作性能的数据储存设备及其操作方法。
背景技术
近年来,计算环境范式已经改变为其中计算机***可以被随时随地使用的无所不在的计算。因此,便携式电子设备(诸如,便携式电话、数字相机和膝上型电脑)的使用已经快速增加。使用存储器件的数据储存设备通常用在便携式电子设备中。数据储存设备被用作便携式电子设备的主存储器件或辅助存储器件。
使用存储器件的数据储存设备不具有活动部件,因此具有良好的稳定性、耐久性、高的信息访问速率和低功耗。具有这种优点的数据储存设备包括通用串行总线(USB)存储设备、具有各种接口的存储卡以及固态驱动器(在下文中被称作SSD)。
由于大的数据文件(诸如,音乐和视频)被储存在便携式电子设备中,因此数据储存设备需要为大的。数据储存设备可以包括具有高度集成的存储单元的存储器件(例如,快闪存储器件)。
快闪存储器件由于结构特性而不支持数据重写(overwrite)。即,不可能将编程过的存储单元中的无效数据更新为其他有效数据。因此,必须预先对编程过的存储单元执行擦除操作。此过程被称作“编程前擦除”操作。即,在有效数据被编程至快闪存储器件的当前编程过的存储单元中之前,当前编程过的存储单元在再次被编程之前必须返回至初始状态或擦除状态。
然而,在快闪存储器件中执行擦除操作消耗很长的时间。因此,数据储存设备的控制器不直接对编程过的存储单元执行擦除操作。相反,数据储存设备的控制器将有效数据编程至已经被擦除的存储单元中。
通过数据储存设备的控制器的上述操作,快闪存储器件储存有效数据和无效数据两者。在一些情形下,数据储存设备的控制器执行合并过程,在合并过程期间有效数据被收集至集中区域中,而无效数据被擦除。
发明内容
为能够通过优化内部操作来改善操作性能的数据储存设备及其操作方法提供一个或更多个示例性实施例。
根据实施例,提供一种包括多个存储块的数据储存设备的操作方法。该操作方法可以包括:基于多个存储块中的每个中包括的有效页的数目来将所述多个存储块分组;以及基于合并判定值来判断是否对存储块组执行合并过程,合并判定值通过下面的等式来获得。
[等式]
其中,“MD”为合并判定值,“m”为存储块组的总数,BLKn为存储块组中的每个中包括的存储块的数目,以及Wn为分配给存储块组中的每个的权重。
根据实施例,提供一种数据储存设备。数据储存设备可以包括:包括存储块的非易失性存储器件,存储块中的每个包括页;以及控制器,适用于:基于存储块中的每个中包括的有效页的数目来将多个存储块分组;以及基于合并判定值来判断是否对存储块组执行合并过程,合并判定值通过下面的等式来获得。
[等式]
其中,“MD”为合并判定值,“m”为存储块组的总数,BLKn为存储块组中的每个中包括的存储块的数目,以及Wn为分配给存储块组中的每个的权重。
根据实施例,可以改善数据储存设备的操作速度。
下面在标题为“具体实施方式”的章节中描述这些和其他的特征、方面和实施例。
附图说明
根据下面的结合附图的具体实施方式,本公开的主旨的以上的和其他的方面、特征和优点将被更清晰地理解,在附图中:
图1是示例性地图示根据本发明构思的实施例的数据储存设备的框图;
图2是示例性地图示在图1和图2中示出的工作存储器中驱动的固件或软件的视图;
图3是图示图1中示出的数据储存设备的操作方法的流程图;
图4是示例性地图示图2中示出的合并判定表的视图;
图5是示例性地图示参照图2至图4中示出的合并判定表而执行的合并判定模块的操作的视图;
图6是示例性地图示根据本发明构思的实施例的包括数据储存设备的数据处理***的框图;
图7是示例性地图示根据本发明构思的实施例的包括SSD的数据处理***的框图;
图8是示例性地图示图7中示出的SSD控制器的框图;以及
图9是示例性地图示根据本发明构思的实施例的安装有数据储存设备的计算机***的框图。
具体实施方式
现在将参照附图(在其中示出了一些实施例)来更充分地描述各种实施例。然而,这些发明构思可以以不同的形式实施,而不应当被解释为局限于本文中陈述的实施例。尽管将示出并描述本发明构思的若干实施例,但本领域技术人员将理解,在不脱离本发明构思的原理和精神的情况下,可以在这些示例性实施例中做出改变,本发明构思的范围由权利要求及其等价来限定。
在附图中,实施例不局限于特定的形式,并且为了清楚可以夸大特定的形式。在本文中所使用的用来描述本发明的实施例的术语并非意在限制本发明的范围。除非另外限定,否则本文中所使用的所有术语(包括技术术语和科学术语)将被解释为本发明所属领域中的常用术语。
本申请中使用的术语“和/或”包括一个或更多个所指对象的任意组合和全部组合。术语“连接至/耦接至”另一个元件或层意思是该层可以直接在其他元件或层上、连接或耦接到其他元件或层,或者可以存在中间元件或中间层。除非上下文清楚地指出,否则以单数提及的本发明的元件可以总计为一个或更多个。还将理解的是,术语“包括”在其在本文中被使用时说明存在陈述的特征、整体、步骤、操作、元件和/或部件,但不排除存在或添加一个或更多个其他特征、整体、步骤、操作、元件、部件和/或其组合。
在下文中,将参照附图来更详细地描述示例性实施例。
图1是示例性地图示根据本发明构思的实施例的数据储存设备的框图。数据储存设备100可以储存由主机设备(未示出)(诸如,便携式电话、MP3播放器、膝上型电脑、台式电脑、游戏机、电视(TV)或车载信息娱乐***)访问的数据。数据储存设备100可以被称作存储***。
数据储存设备100可以根据耦接至主机设备的接口协议而用各种类型的储存设备中的任意一种来制造。例如,数据储存设备100可以被配置成各种类型的储存设备(诸如,固态驱动器(SSD);eMMC、RS-MMC和微型MMC形式的多媒体卡(MMC);SD、迷你SD和微型SD形式的安全数字卡;通用串行总线(USB)储存设备;通用快闪储存(UFS)设备;个人计算机存储卡国际协会(PCMCIA)卡型储存设备;***计算机互连(PCI)卡型储存设备;PCI-快速(PCI-E)卡型储存设备;小型快闪(CF)卡、智能媒体卡;以及记忆棒)之中的任意一种。
数据储存设备100可以被制造成各种类型的封装中的任意封装。例如,数据储存设备100可以被制造成各种类型的封装(诸如,层叠封装(PoP)、***级封装(SIP)、片上***(SOC)、多芯片封装(MCP)、板上芯片(COB)、晶片级制造封装(WFP)和晶片级处理层叠封装(WSP))中的任意封装。
数据储存设备100可以包括非易失性存储器件110。非易失性存储器件110可以作为数据储存设备100的储存介质来操作。非易失性存储器件110可以包括与非(NAND)快闪存储器件。可替换地,非易失性存储器件110可以包括各种类型的非易失性存储器件,诸如,或非(NOR)快闪存储器件、使用铁电电容器的铁电随机存取存储器(FRAM)、使用隧道磁阻(TMR)膜的磁性RAM(MRAM)、使用硫族化物合金的相变RAM(PRAM)以及使用过渡金属氧化物的电阻RAM(RERAM)。
数据储存设备100可以包括控制器120。控制器120可以包括控制单元121和RAM123。
控制单元121可以控制控制器120的总体操作。控制单元121可以分析从主机设备输入的信号,并且处理分析过的信号。为此,控制单元121可以将加载至RAM 123中的固件或软件解码,并且驱动解码的固件或软件。控制单元121可以以硬件形式或硬件和软件的组合的形式来实现。
RAM 123可以储存由控制单元121驱动的固件或软件。RAM 123可以储存用于驱动固件或软件所需要的数据(例如,元数据)。即,RAM 123可以作为控制单元121的工作存储器来操作。RAM 123可以被配置为暂时储存要从主机设备传输至非易失性存储器件110的数据或要从非易失性存储器件110传输至主机设备的数据。即,RAM 123可以作为数据缓冲存储器或数据高速缓冲存储器来操作。
图2是在参照图1描述的工作存储器中驱动的固件或软件的图示。
当非易失性存储器件110包括NAND快闪存储器件时,控制单元121可以以存储块为单位来控制擦除操作,并且以页为单位来控制读取操作或编程操作。而且,由于非易失性存储器件110不能执行重写操作,因此控制单元121可以控制擦除操作以将新数据储存在当前编程状态的存储单元中。
使用快闪存储器件作为数据储存介质的数据储存设备100的控制单元121可以驱动被称作快闪转换层(FTL)的固件或软件来控制快闪存储器件的操作,并且提供与主机设备的兼容。通过对FTL的驱动,主机设备可以使用数据储存设备100作为常规数据储存设备(诸如,硬盘驱动器)。
被加载至RAM 123中的FTL可以由执行各种功能的模块以及用于驱动该模块所需的元数据来配置。参见图2,FTL可以包括例如地址映射表、垃圾收集模块、磨损均衡模块、坏块管理模块、合并判定模块和合并判定表。FTL的配置不局限于上述模块,且FTL还可以包括诸如被配置为并行地操作快闪存储器件的交叉存取(interleaving)模块或用于为突然断电准备的突然断电管理模块的模块。
当主机设备访问数据储存设备100时(例如,当主机设备请求读取操作或写入操作时),主机设备可以将逻辑地址提供至数据储存设备100。FTL可以将提供的逻辑地址转换为非易失性存储器件110的物理地址,并基于转换的物理地址来执行请求的操作。地址转换数据(即,地址映射表)可以被包括在FTL中以执行地址转换操作。
磨损均衡模块可以管理非易失性存储器件110中的存储块的磨损水平。非易失性存储器件110的存储单元可以被编程操作和擦除操作磨损。磨损的存储单元可以导致缺陷(例如,物理缺陷)。磨损均衡模块可以管理存储块,使得存储块的擦除-写入计数被均衡以防止特定的存储块比其他存储块磨损的快。
垃圾收集模块可以管理其中储存碎片数据的存储块。当非易失性存储器件110由快闪存储器件来配置时,如上所述,非易失性存储器件110不能执行重写操作,且擦除单位可以大于非易失性存储器件110中的编程单位。因此,当非易失性存储器件110中的储存空间达到特定限度时,使用特定的空白空间来将物理分布在不同位置中的有效数据收集至同一地址区域的操作可以是必要的。垃圾收集模块可以通过执行多个写入操作和多个擦除操作来执行将碎片有效数据收集至同一地址区域的操作。
坏块管理模块可以管理非易失性存储器件110的存储块之中的在其中导致了缺陷的存储块。如上所述,在磨损的存储单元中可以导致缺陷(例如,物理缺陷)。储存在缺陷存储单元中的数据不能被正常读出。而且,数据未被正常地储存在缺陷存储单元中。坏块管理模块可以管理包括将不被使用的缺陷存储单元的存储块。
在磨损均衡操作、垃圾收集操作和坏块管理操作期间,可以执行一系列操作,例如,将目标存储块(在下文中被称作牺牲块)的有效数据片段复制至其他存储块,更新在其中复制的有效数据片段被储存的区域的地址映射,以及移除牺牲块。该系列操作可以被定义为合并过程。
当响应于主机的请求来执行其他操作时或在用于不管来自主机设备的请求如何管理非易失性存储器件110的内部操作期间,执行合并过程。由于合并过程包括用于将有效数据从牺牲块复制至新的存储块的编程操作以及用于擦除牺牲块的擦除操作,因此控制器120执行合并过程耗费了大量的资源和处理时间。因此,优化合并过程的处理点和持续时间可以改善数据储存设备100的操作速度。
合并判定模块可以基于合并判定表来判定处理点或判断是否执行合并过程。当判定有必要执行合并过程时,合并判定模块可以基于合并判定表来判定持续时间或需要执行多少合并过程,需要执行多少合并过程对应于牺牲块的数目。
合并判定表可以包括用于合并判定模块的信息。例如,合并判定表可以包括每个存储块组中的有效页的数目、包括在每个存储块组中的存储块的地址和数目、每个存储块组的权重、比较阈值、多少合并过程对应于牺牲块的数目等。将参照图4来描述合并判定表的示例。
图3是图示参照图1和图2描述的数据储存设备的操作方法的流程图。将参照图3中的流程图来描述控制器120的用于判断是否执行合并过程以及用于判定多少合并过程对应于牺牲块的数目的操作方法。
在步骤S110中,基于每个存储块中的有效页的数目来将所有的存储块分组。例如,在其中有效页的数目被包括在第一最小值与第一最大值的范围中的存储块可以分组为第一组。第一最小值与第一最大值的平均值可以为构成一个存储块的页的数目的一半。在另一个示例中,在其中有效页的数目被包括在第二最小值与第二最大值(其可以示例性地等于或小于第一最小值)的范围中的存储块以及在其中页的数目被包括在第三最小值(其可以示例性地等于或大于第一最大值)与第三最大值的范围中的存储块可以被分组为第二组。
在步骤S120中,可以计算合并判定值MD。合并判定值MD可以通过下面的等式1来计算。
[等式1]
在等式1中,“m”是存储块组的总数,BLKn是每个存储块组中包括的存储块的数目,以及Wn是分配给每个存储块组的权重。
根据等式1,可以计算针对每个存储块组的每个组判定值GDn,以及可以通过将针对所有m个存储块组的所有组判定值GD1至GDm求和来计算合并判定值MD。
组的权重W可以被设置为不同的值。第一权重可以被分配给第一存储块组(在其中有效页的数目在第一最小值至第一最大值的范围中)。第二权重可以被分配给第二存储块组(在其中,有效页的数目在第二最小值至第二最大值的范围中以及有效页的数目在第三最小值至第三最大值的范围中)。第一权重可以大于第二权重。
在步骤S130中,判断合并判定值MD是否等于或小于第一阈值。第一阈值可以为用于判断是否执行合并过程的参考值。
当合并判定值MD等于或小于第一阈值时(这表示有效页集中在特定的存储块上),有效页的集中可以表示有效页未被分布在多个存储块中的“干净”状态,从而合并过程不是必要的。因此,在步骤S140处,可以判定不执行合并过程(“无合并过程”)。
当合并判定值MD大于第一阈值时(这表示有效页分布在多个存储块中),有效页的分布可以表示“脏”状态,从而合并过程是必要的。因此,可以判定执行合并过程,且该过程可以前进至步骤S150。
在步骤S150中,判断合并判定值MD是否等于或小于第二阈值。第二阈值可以大于第一阈值。第二阈值可以为用于判定要执行多少合并过程的参考值。可以对单个目标存储块(即,单个牺牲块)执行单个合并过程,因此合并过程的数目可以对应于牺牲块的数目。与牺牲块的数目相对应的合并过程的数目可以通过步骤S150来判定。
当合并判定值MD等于或小于第二阈值时,这表示有效页的分布度不大。因此,在步骤S160处,可以判定执行少于预定合并次数的合并过程(“执行少于合并次数的合并过程”)。
当合并判定值MD大于第二阈值时,这表示有效页的分布度大。因此,在步骤S170处,可以判定执行多于预定合并次数的合并过程(“执行合并次数或更多次数的合并过程”)。
当是否执行合并过程以及与牺牲块的数目相对应的合并过程的次数在步骤S140、S160和S170处被判定时,作为后续过程的合并过程可以被执行判定的合并次数。
图4是示例性地图示参照图2描述的合并判定表的视图。图5是图示参照图2至图4中示出的合并判定表而执行的合并判定模块的操作的视图。为了清楚,将以100个存储块(其中每个存储块包括100个页)的存储单元区111为示例来描述合并判定表以及合并判定模块的操作。
合并判定表可以包括两个或更多个存储块组(其中每个存储块组根据每个存储块中的有效页的数目来分组)的信息。第一组G1可以由具有接近有效页总数的一半的有效页的存储块来配置,而第二组G2可以由存储单元区111的剩余存储块来配置。可以将较大的权重分配给第一组G1,而将较小的权重分配给第二组G2。
参见图4,例如,具有存储块地址2、5、7、9等的20个存储块(在每个存储块中有效页的数目为30以上和70以下,接近每个存储块中的总页数的一半或接近50)可以被分组为第一组G1。可以将为“5”的第一权重W1分配给第一组G1。具有存储块地址1、3、4、6、8等的剩余80个存储块(在每个存储块中有效页的数目小于30或大于70)可以被分组为第二组G2。可以将为“1”的第二权重W2分配给第二组G2。
合并判定表可以包括用于判断是否执行合并过程以及判定要被执行的合并过程的所需次数的两个或更多个阈值的信息,以及与阈值中的每个相对应的合并过程的次数的信息。第一阈值可以用来判断是否执行合并过程。比第一阈值大的第二阈值可以用来判定执行合并过程的次数。更多的大于第二阈值的阈值可以额外地用来将执行合并过程的次数再分。
参见图4,例如,合并判定表可以包括为“100”的第一阈值R1和为“200”的第二阈值R2的信息。当有必要将执行合并过程的次数再分时,第三阈值R3(例如,为300)的信息以及与第三阈值R3相对应的合并过程的次数的信息可以被包括在合并判定表中。阈值R1和R2仅为示例性的,并且可以被改变以优化合并过程。
可以将合并次数或合并过程的次数“0(零)”分配给第一阈值R1,以及可以将合并次数“30”分配给第二阈值R2。分配给阈值的合并次数仅为示例性的,并且可以被改变以优化合并过程。
将参照图5来示例性地描述基于合并判定表而执行的合并判定模块的合并判定操作。
可以计算存储块组的组判定值GD1至GDm。例如,包括在第一组G1中的存储块的数目乘以第一组G1的权重的值(即,100=20×5)可以被计算作为第一组G1的组判定值GD1。包括在第二组G2中的存储块的数目乘以第二组G2的权重的值(即80=80×1)可以被计算作为第二组G2的组判定值GD2。
组的组判定值GD1至GDm的总和可以被计算以获得合并判定值MD。例如,作为合并判定值MD的总和(=180)可以通过将第一组G1的组判定值GD1(=100)与组判定值GD2(=80)求和来计算。
然后,如参照图3的步骤S130所描述的,可以将合并判定值MD与第一阈值R1进行比较。合并判定值MD(=180)大于第一阈值R1(=100),因此可以判定执行合并过程。
然后,为了判定要执行多少合并过程,如参照图3的步骤S150所描述的,可以将合并判定值MD与第二阈值R2进行比较。合并判定值MD(=180)小于第二阈值R2(=200),因此可以判定执行少于被分配给第二阈值R2的合并次数“30”的合并过程。
图6是示例性图示根据本发明构思的实施例的包括数据储存设备的数据处理***的框图。
数据处理***1000可以包括主机设备1100和数据储存设备1200。数据储存设备1200可以包括控制器1210和非易失性存储器件1220。数据储存设备1200可以由主机设备1100(诸如,便携式电话、MP3播放器、膝上型电脑、台式电脑、游戏机、TV或车载***)来访问且被使用。
控制器1210可以包括主机接口单元1211、控制单元1212、存储器接口单元1213、RAM 1214和错误校正码(ECC)单元1215。
控制单元1212可以响应于主机设备1100的请求来控制控制器1210的总体操作。控制单元1212可以驱动固件或软件以控制非易失性存储器件1220。控制单元1212可以执行参照图3描述的合并判定操作。
RAM 1214可以被用作控制单元1212的工作存储器。RAM 1214可以被用作暂时储存从非易失性存储器件1220读出的数据或从主机设备1100提供的数据的缓冲存储器。
主机接口单元1211可以执行主机设备1100与控制器1210之间的接口。例如,主机接口单元1211可以通过各种接口协议(诸如,USB协议、UFS协议、MMC协议、PCI协议、PCI-E协议、并行高级技术附件(PATA)协议、串行高级技术附件(SATA)协议、小型计算机***接口(SCSI)协议以及串行附接SCSI(SAS)协议)中的一种来执行与主机设备1100的通信。
存储器接口单元1213可以执行控制器1210与非易失性存储器件1220之间的接口。存储器接口单元1213可以将命令和地址提供至非易失性存储器件1220。存储器接口单元1213可以与非易失性存储器件1220交换数据。
ECC单元1215可以检测从非易失性存储器件1220读出的数据的错误。ECC单元1215可以被配置为在检测到的错误处于可校正范围中时校正检测到的错误。
非易失性存储器件1220可以被用作数据储存设备1200的储存介质。非易失性存储器件1220可以包括多个非易失性存储芯片(或裸片)NVM_1至NVM_k。
控制器1210和非易失性存储器件1220可以制造成各种数据储存设备中的一种。例如,控制器1210和非易失性存储器件1220可以被集成在一个半导体设备中,并且制造成MMC、eMMC、RS-MMC和微型MMC形式的多媒体卡;SD、迷你SD和微型SD形式的安全数字卡;USB储存设备;UFS设备;PCMCIA卡;CF卡;智能媒体卡;以及记忆棒中的任意一种。
图7是示例性图示根据本发明构思的实施例的包括SSD的数据处理***的框图。
数据处理***2000可以包括主机设备2100和SSD 2200。
SSD 2200可以包括SSD控制器2210、缓冲存储器件2220、非易失性存储器件2231至223n、电源2240、信号连接器2250和电源连接器2260。
SSD控制器2210可以响应于来自主机设备2100的请求来访问非易失性存储器件2231至223n。
缓冲存储器件2220可以暂时储存要被储存在非易失性存储器件2231至223n中的数据。缓冲存储器件2220可以暂时储存从非易失性存储器件2231至223n读出的数据。暂时储存在缓冲存储器件2220中的数据可以根据SSD控制器2210的控制而被传输至主机设备2100或非易失性存储器件2231至223n。
非易失性存储器件2231至223n可以被用作SSD 2200的储存介质。非易失性存储器件2231至223n中的每个可以与参照图1至图3描述的非易失性存储器件110具有相同的配置,且可以执行与参照图4至图7描述的非易失性存储器件的操作相同的操作。非易失性存储器件2231至223n可以通过多个通道CH1至CHn来耦接至SSD控制器2210。一个或更多个非易失性存储器件可以耦接至一个通道。耦接至一个通道的非易失性存储器件可以耦接至同一信号总线和同一数据总线。
电源2240可以将通过电源连接器2260输入的电源PWR提供至SSD 2200的内部。电源2240可以包括辅助电源2241。辅助电源2241可以供应电源使得SSD 2200在突然断电中正常终止。辅助电源2241可以包括可以将电源PWR充电的超级电容器。
SSD控制器2210可以通过信号连接器2250来与主机设备2100交换信号SGL。信号SGL可以包括命令、地址、数据等。信号连接器2250可以由连接器(诸如,PATA、SATA、SCSI、SAS、PCI或PCI-E)来配置。
图8是示例性图示图7中示出的SSD控制器的框图。参见图8,SSD控制器2210可以包括存储器接口单元2211、主机接口单元2212、ECC单元2213、控制单元2214和RAM 2215。
存储器接口单元2211可以将控制信号(诸如,命令和地址)提供至非易失性存储器件2231至223n。存储器接口单元2211可以与非易失性存储器件2231至223n交换数据。存储器接口单元2211可以根据控制单元2214的控制来对从缓冲存储器件2220传输至通道CH1至CHn的数据执行散射(scattering)。存储器接口单元2211可以根据控制单元2214的控制来将从非易失性存储器件2231至223n读出的数据传输至缓冲存储器件2220。
主机接口单元2212可以响应于主机设备2100的协议来与SSD 2200接口。例如,主机接口单元2212可以通过PATA协议、SATA协议、SCSI协议、PCI协议或PCI-E协议来执行与主机设备2100的通信。主机接口单元2212可以执行盘模拟功能,该盘模拟功能支持主机设备2100将SSD 2200识别为硬盘驱动器(HDD)。
ECC单元2213可以基于传输至非易失性存储器件2231至223n的数据来产生奇偶校验数据。产生的奇偶校验数据可以与数据一起被储存在非易失性存储器件2231至223n中。ECC单元2213可以检测从非易失性存储器件2231至223n读出的数据的错误。当检测到的错误处于可校正范围中时,ECC单元2213可以校正检测到的错误。
控制单元2214可以分析从主机设备2100输入的信号SGL,并处理分析的信号SGL。控制单元2214可以根据用于驱动SSD 2200的固件或软件来控制缓冲存储器件2220和非易失性存储器件2231至223n的操作。控制单元2214可以执行参照图3描述的合并判定操作。
RAM 2215可以被用作用于驱动固件或软件的工作存储器。
图9是示例性图示根据本发明构思的实施例的安装有数据储存设备的计算机***的框图。参见图9,计算机***3000可以包括电耦接至***总线3700的网络适配器3100、中央处理单元(CPU)3200、数据储存设备3300、RAM 3400、只读存储器(ROM)3500和用户接口3600。数据储存设备3300可以由图1中示出的数据储存设备100、图6中示出的数据储存设备1200或图7中示出的SSD 2200来配置。
网络适配器3100可以提供计算机***3000与外部网络之间的接口。CPU 3200可以执行用于驱动驻留在RAM 3400中的操作***或应用程序的各种操作过程。
数据储存设备3300可以储存计算机***3000所需的各种数据片段。例如,数据储存设备3300可以储存用于驱动计算机***3000的操作***、应用程序、各种程序模块、程序数据、用户数据等。
RAM 3400可以被用作计算机***3000的工作存储器。在计算机***的启动中,从数据储存设备3300读出的操作***、应用程序、各种程序模块以及用于驱动程序所需的程序数据可以被加载至RAM 3400中。甚至在操作***被驱动之前被激活的基础输入/输出***(BIOS)可以被储存在ROM 3500中。计算机***3000与用户之间的信息交换可以通过用户接口3600来执行。
本发明的以上实施例为说明性的而非限制性的。各种替代和等价是可能的。本发明不由本文中描述的实施例来限制。本发明也不局限于任何特定类型的半导体器件。基于本公开的其他添加、删减或修改是明显的,且意在落入所附权利要求书的范围之中。
通过以上实施例可以看出,本发明提供以下技术方案。
技术方案1.一种包括多个存储块的数据储存设备的操作方法,所述操作方法包括:
基于存储块中的每个中包括的有效页的数目来将存储块分组;
基于合并判定值来判断是否对存储块组执行合并过程,合并判定值通过下面的等式来获得,
[等式]
其中,MD为合并判定值,m为存储块组的总数,BLKn为存储块组中的每个中包括的存储块的数目,以及Wn为分配给存储块组中的每个的权重。
技术方案2.如技术方案1所述的操作方法,其中,当合并判定值等于或小于第一阈值时,判断是否执行合并过程判定不执行合并过程。
技术方案3.如技术方案1所述的操作方法,其中,当合并判定值大于第一阈值时,判断是否执行合并过程判定执行合并过程。
技术方案4.如技术方案3所述的操作方法,还包括:当合并判定值大于第一阈值时,基于合并判定值来判定执行合并过程多少次。
技术方案5.如技术方案4所述的操作方法,其中,当合并判定值等于或小于比第一阈值大的第二阈值时,执行合并过程第一次数。
技术方案6.如技术方案4所述的操作方法,其中,当合并判定值大于比第一阈值大的第二阈值时,执行合并过程第二次数。
技术方案7.如技术方案3所述的操作方法,还包括:当合并判定值大于第一阈值时,基于合并判定值来判定牺牲块的数目,牺牲块为合并过程的目标。
技术方案8.如技术方案1所述的操作方法,
其中,分组将所述多个存储块中的在其中有效页的数目被包括在第一最小值与第一最大值的范围中的一个或更多个存储块分组作为第一组,以及
其中,分组将所述多个存储块中的在其中有效页的数目被包括在第二最小值与第二最大值的范围中以及在第三最小值与第三最大值的范围中的一个或更多个存储块分组作为第二组。
技术方案9.如技术方案8所述的操作方法,其中,第一最小值与第一最大值的平均值等于构成存储块中的每个的页的数目的一半。
技术方案10.如技术方案8所述的操作方法,其中,第二最大值等于或小于第一最小值,而第三最小值等于或大于第一最大值。
技术方案11.如技术方案1所述的操作方法,其中,针对存储块组中的每个的权重不同。
技术方案12.一种数据储存设备,包括:
包括存储块的非易失性存储器件,存储块中的每个包括页;以及
控制器,适用于:
基于存储块中的每个中包括的有效页的数目来将多个存储块分组;以及
基于合并判定值来判断是否对存储块组执行合并过程,合并判定值通过下面的等式来获得,
[等式]
其中,MD为合并判定值,m为存储块组的总数,BLKn为存储块组中的每个中包括的存储块的数目,以及Wn为分配给存储块组中的每个的权重。
技术方案13.如技术方案12所述的数据储存设备,其中,当合并判定值等于或小于第一阈值时,控制器判定不执行合并过程。
技术方案14.如技术方案12所述的数据储存设备,其中,当合并判定值大于第一阈值时,控制器判定执行合并过程。
技术方案15.如技术方案14所述的数据储存设备,其中,当合并判定值大于第一阈值时,控制器还基于合并判定值来判定执行合并过程多少次。
技术方案16.如技术方案15所述的数据储存设备,其中,当合并判定值等于或小于比第一阈值大的第二阈值时,控制器执行合并过程第一次数。
技术方案17.如技术方案15所述的数据储存设备,其中,当合并判定值大于比第一阈值大的第二阈值时,控制器执行合并过程第二次数。
技术方案18.如技术方案15所述的数据储存设备,其中,当合并判定值大于第一阈值时,控制器基于合并判定值来判定牺牲块的数目,牺牲块为合并过程的目标。
技术方案19.如技术方案12所述的数据储存设备,其中,控制器将在其中有效页的数目被包括在第一值与第二值中的存储块分组作为第一组,并将剩余的存储块分组作为第二组。
技术方案20.如技术方案12所述的数据储存设备,
其中,控制器将存储块中的在其中有效页的数目处于第一最小值与第一最大值的范围中的一个或更多个存储块分组作为第一组,以及
其中,控制器将存储块中的在其中有效页的数目被包括在第二最小值与第二最大值的范围中以及在第三最小值与第三最大值的范围中的一个或更多个存储块分组作为第二组。
Claims (21)
2.如权利要求1所述的操作方法,其中,当合并判定值等于或小于第一阈值时,所述判断是否执行合并过程的步骤判定不执行合并过程。
3.如权利要求1所述的操作方法,其中,当合并判定值大于第一阈值时,所述判断是否执行合并过程的步骤判定执行合并过程。
4.如权利要求3所述的操作方法,还包括:当合并判定值大于第一阈值时,基于合并判定值来判定执行合并过程多少次。
5.如权利要求4所述的操作方法,其中,当合并判定值等于或小于比第一阈值大的第二阈值时,执行合并过程第一次数。
6.如权利要求4所述的操作方法,其中,当合并判定值大于比第一阈值大的第二阈值时,执行合并过程第二次数。
7.如权利要求3所述的操作方法,还包括:当合并判定值大于第一阈值时,基于合并判定值来判定牺牲块的数目,牺牲块为合并过程的目标。
8.如权利要求1所述的操作方法,
其中,分组将所述多个存储块中的在其中有效页的数目被包括在第一最小值与第一最大值的范围中的一个或更多个存储块分组作为第一组,以及
其中,分组将所述多个存储块中的在其中有效页的数目被包括在第二最小值与第二最大值的范围中以及在第三最小值与第三最大值的范围中的一个或更多个存储块分组作为第二组。
9.如权利要求8所述的操作方法,其中,第一最小值与第一最大值的平均值等于构成存储块中的每个的页的数目的一半。
10.如权利要求8所述的操作方法,其中,第二最大值等于或小于第一最小值,而第三最小值等于或大于第一最大值。
11.如权利要求1所述的操作方法,其中,针对存储块组中的每个的权重不同。
12.如权利要求1所述的操作方法,其中,判断是否执行合并过程的步骤包括:
使用等式来计算合并判定值;
将合并判定值与第一阈值进行比较;以及
基于比较结果来判断是否对存储块组执行合并过程。
14.如权利要求13所述的数据储存设备,其中,当合并判定值等于或小于第一阈值时,控制器判定不执行合并过程。
15.如权利要求13所述的数据储存设备,其中,当合并判定值大于第一阈值时,控制器判定执行合并过程。
16.如权利要求15所述的数据储存设备,其中,当合并判定值大于第一阈值时,控制器还基于合并判定值来判定执行合并过程多少次。
17.如权利要求16所述的数据储存设备,其中,当合并判定值等于或小于比第一阈值大的第二阈值时,控制器执行合并过程第一次数。
18.如权利要求16所述的数据储存设备,其中,当合并判定值大于比第一阈值大的第二阈值时,控制器执行合并过程第二次数。
19.如权利要求16所述的数据储存设备,其中,当合并判定值大于第一阈值时,控制器基于合并判定值来判定牺牲块的数目,牺牲块为合并过程的目标。
20.如权利要求13所述的数据储存设备,其中,控制器将在其中有效页的数目被包括在第一值与第二值的范围中的存储块分组作为第一组,并将剩余的存储块分组作为第二组。
21.如权利要求13所述的数据储存设备,
其中,控制器将存储块中的在其中有效页的数目处于第一最小值与第一最大值的范围中的一个或更多个存储块分组作为第一组,以及
其中,控制器将存储块中的在其中有效页的数目被包括在第二最小值与第二最大值的范围中以及在第三最小值与第三最大值的范围中的一个或更多个存储块分组作为第二组。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150048521A KR102425470B1 (ko) | 2015-04-06 | 2015-04-06 | 데이터 저장 장치 및 그것의 동작 방법 |
KR10-2015-0048521 | 2015-04-06 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106055488A CN106055488A (zh) | 2016-10-26 |
CN106055488B true CN106055488B (zh) | 2020-07-31 |
Family
ID=57016046
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510802617.XA Active CN106055488B (zh) | 2015-04-06 | 2015-11-19 | 数据储存设备及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9652172B2 (zh) |
KR (1) | KR102425470B1 (zh) |
CN (1) | CN106055488B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI619018B (zh) * | 2016-11-10 | 2018-03-21 | 慧榮科技股份有限公司 | 可用於資料儲存裝置之垃圾蒐集方法 |
KR20180092435A (ko) * | 2017-02-09 | 2018-08-20 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
US11726689B2 (en) * | 2020-11-20 | 2023-08-15 | Micron Technology, Inc. | Time-based combining for block families of a memory device |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1892603A (zh) * | 2005-07-08 | 2007-01-10 | 中国科学院计算技术研究所 | 一种基于组合并算法的偏移量分配优化方法 |
CN101300556A (zh) * | 2005-11-28 | 2008-11-05 | 国际商业机器公司 | 支持内存***中不定的读出数据等待时间的方法和*** |
CN102033811A (zh) * | 2009-09-24 | 2011-04-27 | 慧荣科技股份有限公司 | 用于管理闪存多个区块的方法和相关记忆装置及其控制器 |
CN102736985A (zh) * | 2011-03-30 | 2012-10-17 | 群联电子股份有限公司 | 数据合并方法、控制器与储存装置 |
CN103873546A (zh) * | 2012-12-17 | 2014-06-18 | 国际商业机器公司 | 控制存储***中区域存储中心间的数据存储的方法和装置 |
WO2015021022A1 (en) * | 2013-08-07 | 2015-02-12 | SMART Storage Systems, Inc. | Data storage system with stale data mechanism and method of operation thereof |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100789406B1 (ko) * | 2006-11-03 | 2007-12-28 | 삼성전자주식회사 | 플래시 메모리 시스템 및 그것의 가비지 컬렉션 방법 |
US8526234B1 (en) * | 2012-11-16 | 2013-09-03 | Avalanche Technology, Inc. | Controller management of memory array of storage device using magnetic random access memory (MRAM) |
KR20140090416A (ko) * | 2013-01-09 | 2014-07-17 | 에스케이하이닉스 주식회사 | 데이터 저장 장치의 동작 방법 |
KR20150020385A (ko) * | 2013-08-13 | 2015-02-26 | 에스케이하이닉스 주식회사 | 데이터 저장 장치, 그것의 동작 방법 및 그것을 포함하는 데이터 처리 시스템 |
JP6062060B2 (ja) * | 2013-10-11 | 2017-01-18 | 株式会社日立製作所 | ストレージ装置、ストレージシステム、及びストレージ装置制御方法 |
KR20150139112A (ko) * | 2014-06-02 | 2015-12-11 | 삼성전자주식회사 | 가비지 컬렉션 유닛을 포함하는 메모리 시스템 및 동작 방법 |
US20160232088A1 (en) * | 2014-07-17 | 2016-08-11 | Sandisk Enterprise Ip Llc | Garbage Collection in Storage System with Distributed Processors |
US10318414B2 (en) * | 2014-10-29 | 2019-06-11 | SK Hynix Inc. | Memory system and memory management method thereof |
KR102301772B1 (ko) * | 2015-03-09 | 2021-09-16 | 삼성전자주식회사 | 불휘발성 메모리 장치를 포함하는 저장 장치 및 그것의 가비지 컬렉션 방법 |
-
2015
- 2015-04-06 KR KR1020150048521A patent/KR102425470B1/ko active IP Right Grant
- 2015-08-06 US US14/820,302 patent/US9652172B2/en active Active
- 2015-11-19 CN CN201510802617.XA patent/CN106055488B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1892603A (zh) * | 2005-07-08 | 2007-01-10 | 中国科学院计算技术研究所 | 一种基于组合并算法的偏移量分配优化方法 |
CN101300556A (zh) * | 2005-11-28 | 2008-11-05 | 国际商业机器公司 | 支持内存***中不定的读出数据等待时间的方法和*** |
CN102033811A (zh) * | 2009-09-24 | 2011-04-27 | 慧荣科技股份有限公司 | 用于管理闪存多个区块的方法和相关记忆装置及其控制器 |
CN102736985A (zh) * | 2011-03-30 | 2012-10-17 | 群联电子股份有限公司 | 数据合并方法、控制器与储存装置 |
CN103873546A (zh) * | 2012-12-17 | 2014-06-18 | 国际商业机器公司 | 控制存储***中区域存储中心间的数据存储的方法和装置 |
WO2015021022A1 (en) * | 2013-08-07 | 2015-02-12 | SMART Storage Systems, Inc. | Data storage system with stale data mechanism and method of operation thereof |
Non-Patent Citations (2)
Title |
---|
SSD文件***优化技术的研究与实现;朱浩;《SSD文件***优化技术的研究与实现》;20101201;全文 * |
大规模空间数据的高性能查询处理关键技术研究;刘义;《大规模空间数据的高性能查询处理关键技术研究》;20131201;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN106055488A (zh) | 2016-10-26 |
US20160291871A1 (en) | 2016-10-06 |
KR102425470B1 (ko) | 2022-07-27 |
KR20160119607A (ko) | 2016-10-14 |
US9652172B2 (en) | 2017-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8843697B2 (en) | Operating method of data storage device | |
CN106681931B (zh) | 数据储存设备及其操作方法 | |
US9164833B2 (en) | Data storage device, operating method thereof and data processing system including the same | |
CN107168886B (zh) | 数据存储装置及其操作方法 | |
US8904095B2 (en) | Data storage device and operating method thereof | |
KR102419036B1 (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US9436267B2 (en) | Data storage device | |
KR20150006614A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US11086772B2 (en) | Memory system performing garbage collection operation and operating method of memory system | |
KR20200095103A (ko) | 데이터 저장 장치 및 그 동작 방법 | |
US9372741B2 (en) | Data storage device and operating method thereof | |
US10552048B2 (en) | Reduction of maximum latency using dynamic self-tuning for redundant array of independent disks | |
US20200218653A1 (en) | Controller, data storage device, and operating method thereof | |
KR20150055413A (ko) | 데이터 저장 장치 | |
KR20160074025A (ko) | 데이터 저장 장치의 동작 방법 | |
US10558562B2 (en) | Data storage device and operating method thereof | |
CN113704138A (zh) | 存储装置及其操作方法 | |
KR20150020384A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
CN106055488B (zh) | 数据储存设备及其操作方法 | |
KR20190006677A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
KR20200114086A (ko) | 컨트롤러, 메모리 시스템 및 그것의 동작 방법 | |
US10628323B2 (en) | Data storage device and operating method thereof | |
KR20190041082A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US10515693B1 (en) | Data storage apparatus and operating method thereof | |
US10657046B2 (en) | Data storage device and operating method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |