CN114528226A - 高效能垃圾收集方法以及数据存储装置及其控制器 - Google Patents

高效能垃圾收集方法以及数据存储装置及其控制器 Download PDF

Info

Publication number
CN114528226A
CN114528226A CN202210006555.1A CN202210006555A CN114528226A CN 114528226 A CN114528226 A CN 114528226A CN 202210006555 A CN202210006555 A CN 202210006555A CN 114528226 A CN114528226 A CN 114528226A
Authority
CN
China
Prior art keywords
garbage collection
determination result
physical address
target data
trimming
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.)
Pending
Application number
CN202210006555.1A
Other languages
English (en)
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.)
Silicon Motion Inc
Original Assignee
Silicon Motion Inc
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
Priority claimed from TW108102004A external-priority patent/TWI721365B/zh
Application filed by Silicon Motion Inc filed Critical Silicon Motion Inc
Publication of CN114528226A publication Critical patent/CN114528226A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7208Multiple device management, e.g. distributing data over multiple flash devices

Abstract

本发明公开了高效能垃圾收集方法、数据存储装置及其控制器。所述高效能垃圾收集方法包括:启动并执行垃圾收集程序;判断是否有收到来自主机的修剪指令;因应收到所述修剪指令,判断所述修剪指令的目标数据是否存储在所述垃圾收集程序的来源区块;因应所述目标数据存储在所述来源区块,判断存储在所述来源区块的所述目标数据是否已被复制至所述垃圾收集程序的目的区块;以及因应存储在所述来源区块的所述目标数据已被复制至所述目的区块,于逻辑对实体地址映像表中将所述修剪指令的所述目标数据的至少一实体地址变更为修剪标签。本发明通过于至少一管理表中插入修剪标签,能优化垃圾收集机制、修剪机制,且能确保所述数据存储装置不发生延迟。

Description

高效能垃圾收集方法以及数据存储装置及其控制器
原申请案的申请日、申请号和发明创造名称如下:
申请日:2019/02/18;
申请号:201910120853.1;以及
发明创造名称:高效能垃圾收集方法以及数据存储装置及其控制器。
技术领域
本发明关于闪存(Flash memory)的存取(access),尤指一种高效能垃圾收集方法以及相关的数据存储装置及其控制器。
背景技术
闪存可广泛地应用于各种可携式或非可携式数据存储装置(例如:符合SD/MMC、CF、MS、XD或UFS标准的记忆卡;又例如:固态硬盘;又例如:符合UFS或EMMC规格的嵌入式(embedded)存储装置)中。以常用的NAND型闪存而言,最初有单阶细胞(single levelcell,SLC)、多阶细胞(multiple level cell,MLC)等类型的闪存。由于存储器的技术不断地发展,较新的数据存储装置产品可采用三阶细胞(triple level cell,TLC)闪存,甚至四阶细胞(quadruple level cell,QLC)闪存。为了确保数据存储装置对闪存的存取控制能符合相关规范,闪存的控制器通常备有某些管理机制以妥善地管理其内部运作。
依据闪存的运作特性,数据存储装置可支持修剪(Trim)指令,此修剪指令包括起始逻辑地址以及数量等信息以表示欲无效化的目标数据,接着,数据存储装置再依据修剪指令进行目标数据无效化的处理。然而,执行修剪指令不但花费许多时间,如果修剪指令所欲修剪的目标数据正巧已复制到垃圾收集(Garbage Collection,GC)程序中的目的区块(Destination Block),这将造成数据管理的复杂度,在特定的情况下,甚至导致数据存储装置无法及时完成修剪指令而导致指令超时(Command Timeout)事件的发生。为了避免指令超时事件的发生,所述数据存储装置可能被迫立即执行一系列相关操作,这可造成所述数据存储装置的整体效能降低。因此,需要一种新颖的方法及相关架构,以在没有副作用或较不可能带来副作用的状况下实现具有优化效能的数据存储装置。
发明内容
本发明的一目的在于公开一种高效能垃圾收集方法以及相关的数据存储装置及其控制器,以解决上述问题。
本发明的另一目的在于公开一种高效能垃圾收集方法以及相关的数据存储装置及其控制器,以在没有副作用或较不可能带来副作用的状况下达到优化效能。
本发明的至少一实施例公开一种高效能垃圾收集方法,其中所述方法应用于一数据存储装置,所述数据存储装置包括一非挥发性存储器(non-volatile memory,NVmemory),且所述非挥发性存储器包括至少一非挥发性存储器组件(NV memory element)。所述方法可包括:启动并执行一垃圾收集程序;判断是否有收到来自一主机(host device)的一修剪(Trim)指令;因应收到所述修剪指令,判断所述修剪指令的目标数据是否存储在所述垃圾收集程序的一来源区块;因应所述目标数据存储在所述来源区块,判断存储在所述来源区块的所述目标数据是否已被复制至所述垃圾收集程序的一目的区块;以及因应存储在所述来源区块的所述目标数据已被复制至所述目的区块,于一逻辑对实体地址映射表(logical-to-physical address mapping table,简称「L2P表」)中将所述修剪指令的所述目标数据的至少一实体地址变更为一修剪标签(Trim tag),其中所述修剪标签指出所述目标数据已被无效化。
本发明的至少一实施例公开一种数据存储装置,其可包括:一非挥发性存储器,用来存储信息,其中所述非挥发性存储器包括至少一非挥发性存储器组件;以及一控制器,耦接至所述非挥发性存储器,用来控制所述数据存储装置的运作。所述控制器可包括一处理电路,而所述处理电路可依据来自一主机的多个主机指令(host command)控制所述控制器,以容许所述主机通过所述控制器存取所述非挥发性存储器。例如:所述控制器启动并执行一垃圾收集程序;所述控制器判断是否有收到来自所述主机的一修剪指令;因应收到所述修剪指令,所述控制器判断所述修剪指令的目标数据是否存储在所述垃圾收集程序的一来源区块;因应所述目标数据存储在所述来源区块,所述控制器判断存储在所述来源区块的所述目标数据是否已被复制至所述垃圾收集程序的一目的区块;以及因应存储在所述来源区块的所述目标数据已被复制至所述目的区块,所述控制器于一L2P表中将所述修剪指令的所述目标数据的至少一实体地址变更为一修剪标签,其中所述修剪标签指出所述目标数据已被无效化。
本发明的至少一实施例公开一种数据存储装置的控制器,其中所述数据存储装置包括所述控制器与一非挥发性存储器,且所述非挥发性存储器包括至少一非挥发性存储器组件。所述控制器可包括一处理电路,而所述处理电路可依据来自一主机的多个主机指令控制所述控制器,以容许所述主机通过所述控制器存取所述非挥发性存储器。例如:所述控制器启动并执行一垃圾收集程序;所述控制器判断是否有收到来自所述主机的一修剪指令;因应收到所述修剪指令,所述控制器判断所述修剪指令的目标数据是否存储在所述垃圾收集程序的一来源区块;因应所述目标数据存储在所述来源区块,所述控制器判断存储在所述来源区块的所述目标数据是否已被复制至所述垃圾收集程序的一目的区块;以及因应存储在所述来源区块的所述目标数据已被复制至所述目的区块,所述控制器于一L2P表中将所述修剪指令的所述目标数据的至少一实体地址变更为一修剪标签,其中所述修剪标签指出所述目标数据已被无效化。
本发明的一或多个好处是,通过于至少一管理表中插入一或多个修剪标签,本发明能针对所述控制器的运作进行妥善的控制,尤其,能在使用相同的硬件架构的状况下顺畅地执行各种管理机制(诸如垃圾收集机制、修剪机制等)的操作,且能确保所述数据存储装置于某一规范所定义的一最大容许时间(例如8秒)以内完成一存取操作,而不发生任何延迟。另外,依据本发明的实施例来实施并不会增加许多额外的成本。因此,相关技术的问题可被解决,且整体成本不会增加太多。相较于相关技术,本发明能在没有副作用或较不可能带来副作用的状况下达到数据存储装置的优化效能。
附图说明
图1为依据本发明一实施例的一种数据存储装置与一主机(host device)的示意图。
图2绘示依据本发明一实施例的一L2P表。
图3为依据本发明一实施例的一种高效能垃圾收集方法的工作流程。
图4绘示图2所示的L2P表的一更新版本,其中所述更新版本包括一修剪标签。
图5绘示依据本发明一实施例的一实体对逻辑地址映射表(physical-to-logicaladdress mapping table,简称「P2L表」)。
图6绘示图2所示的L2P表的另一更新版本。
图7绘示图5所示的P2L表的一更新版本。
其中,附图标记说明如下:
50 主机
100 数据存储装置
110 存储器控制器
112 微处理器
112C 程序码
112M 只读存储器
114 控制逻辑电路
116 缓冲存储器
116GT L2P分组表
118 传输接口电路
120 非挥发性存储器
122-1、122-2、…、122-N 非挥发性存储器组件
120T、200 L2P表
LBA#0、LBA#1、LBA#2、…、
LBA#100、LBA#101、
LBA#102、…、LBA#1022、
LBA#1023、…、LBA#1047553、
LBA#1047554、LBA#1047555、…、
LBA#1048000、LBA#1048001、
LBA#1048002、…、
LBA#1048570、LBA#1048571 逻辑区块地址
BLK#0、BLK#1、BLK#2、…、
BLK#12、… 区块编号
Page#0、Page#1、Page#2、
Page#3、Page#4、…、
Page#400、Page#401、Page#402、
Page#403、Page#404、…、
Page#511 页面编号
300 工作流程
S302、S304、S306、S308、S310、
S312、S314、S316 步骤
具体实施方式
请参考图1,图1为依据本发明一第一实施例的一种数据存储装置100与一主机(host device)50的示意图。例如:数据存储装置100可为固态硬盘(SolidState Drive,SSD)。另外,主机50的例子可包括(但不限于):多功能移动电话(multifunctional mobilephone)、平板计算机(tablet)、以及个人计算机(personal computer)诸如桌面计算机与膝上型计算机。依据本实施例,数据存储装置100可包括一控制器诸如存储器控制器110,且可还包括一非挥发性存储器(non-volatile memory,NV memory)120,其中所述控制器是用来存取(access)非挥发性存储器120,且非挥发性存储器120是用来存储信息。
非挥发性存储器120可包括多个非挥发性存储器组件(NV memory element)122-1、122-2、…与122-N,其中符号「N」可代表大于一的正整数。例如:非挥发性存储器120可为一闪存(Flash memory),而非挥发性存储器组件122-1、122-2、…与122-N可分别为多个闪存芯片(Flash memory chip;可简称为快闪芯片)或多个闪存裸晶(Flash memory die;可简称为快闪裸晶),但本发明并不限于此。此外,数据存储装置100可更包括一挥发性存储器组件以缓存数据,其中,所述挥发性存储器组件较佳为动态随机存取存储器(DynamicRandom Access Memory,简称DRAM)。挥发性存储器组件可提供适当的数据暂存空间以缓存数据,或是仅提供小量的数据暂存空间以缓存数据。在下述中将以数据存储装置100并未配置挥发性存储器组件的架构进行说明,但不以此为限。
存储器控制器110可包括处理电路诸如微处理器112、存储器诸如一只读存储器(Read Only Memory,ROM)112M、控制逻辑电路114、缓冲存储器116、与传输接口电路118,其中这些组件可通过一总线彼此耦接。缓冲存储器116是以随机存取存储器(Random AccessMemory,RAM)来实施,较佳为静态随机存取存储器(Static RAM,简称SRAM)。存储器控制器110可利用缓冲存储器116作为第一外部快取(Cache),并利用所述挥发性存储器组件作为第二外部快取。举例来说,所述挥发性存储器组件的数据存储量较佳大于缓冲存储器116的数据存储量,且所述挥发性存储器组件所缓存的数据较佳来自于缓冲存储器116。
本实施例的只读存储器112M是用来存储一程序码112C,而微处理器112则用来执行程序码112C以控制对非挥发性存储器120的存取。请注意,程序码112C也可存储在缓冲存储器116或任何形式的存储器内。此外,控制逻辑电路114可包括一错误更正码电路(未显示),以保护数据、及/或进行错误更正,而传输接口电路118可符合一特定通信标准(诸如串行高级技术附件(Serial Advanced Technology Attachment,SATA)标准、快捷外设互联(Peripheral Component Interconnect Express,PCIE)标准或非挥发性存储器快捷(Non-Volatile Memory Express,NVME)标准)且可依据所述特定通信标准进行通信。
于本实施例中,主机50可通过传送多个主机指令(Host Command)与对应的逻辑地址,例如:逻辑区块地址(Logical Block Address,LBA)予存储器控制器110来间接地存取数据存储装置100中的非挥发性存储器120。存储器控制器110接收所述多个主机指令与逻辑地址,并将所述多个主机指令分别转译成存储器操作指令(简称操作指令),再以操作指令控制非挥发性存储器120读取、写入(Write)/编程(Program)非挥发性存储器120当中特定实体地址的页面(Page)。逻辑地址与实体地址的映射关系可记录于一映射表诸如逻辑对实体地址映射表(简称「L2P表」)120T。例如,存储器控制器110可记录指出这些映射关系的映射信息于L2P表120T中,且可于需要时记录其它信息于L2P表120T中。于某些实施例中,上述其它信息可包括一修剪标签(Trim tag)。
为了方便读取以及管理L2P表120T,较佳可将L2P表120T分割成多个L2P分组表,而所述多个L2P分组表中的每一L2P分组表较佳可存储至一个数据页或超级数据页(SuperPage)中。图2绘示依据本发明一实施例的一L2P表200。L2P表200可作为L2P表120T的一个例子。L2P表200可分割成1024个L2P分组表(诸如L2P分组表#0、…以及L2P分组表#1023),且这些L2P分组表中的每一个L2P分组表可记录1024个逻辑区块地址与实体地址(PhysicalAddress,PBA)的映射关系,其中,实体地址可由通道(Channel)编号、逻辑单元编号(Logical Unit Number,LUN)、平面(Plane)编号、区块编号、页面编号以及偏移量(Offset)所组成。在下述中将以区块编号诸如BLK#0、BLK#1、BLK#2、…等以及页面编号诸如Page#0、Page#1、Page#2、…等来简化表示实体地址,其中区块编号BLK#0、BLK#1、BLK#2、…等可分别代表区块#0、区块#1、区块#2、…等,而页面编号Page#0、Page#1、Page#2、…等可分别代表页面#0、页面#1、页面#2、…等,但本发明不以此为限。例如,L2P分组表#0可包括分别对应于逻辑区块地址LBA#0、LBA#1、LBA#2、…、LBA#100、LBA#101、LBA#102、…、LBA#1022与LBA#1023的字段,以供存储实体地址。又例如,L2P分组表#1023可包括分别对应于逻辑区块地址LBA#1047553、LBA#1047554、LBA#1047555、…、LBA#1048000、LBA#1048001、LBA#1048002、…、LBA#1048570、LBA#1048571的字段,以供存储实体地址。此外,这些L2P分组表中的每一个L2P分组表的1024个字段中的每一字段的初始值可为一预设值或无效值,诸如0xFFFF-FFFF(代表十六进制数的「0x」于图2及后续图示中予以省略,以求简明)。
在数据存储装置100运作的期间,存储器控制器110可于需要时读取非挥发性存储器120所存储的L2P表120T(例如所述多个L2P分组表),尤其,可读取L2P表120T的一组L2P分组表,诸如所述多个L2P分组表中的一部分L2P分组表或全部的L2P分组表,并将所述组L2P分组表暂存至一存储器诸如缓冲存储器116,以执行数据管理相关操作。如图1所示的L2P分组表116GT可作为所述组L2P分组表的例子。当数据存储装置100中有用户数据需要被新增、修剪或更新时,存储器控制器110可依据用户数据的最新映射关系来更新L2P分组表116GT及/或L2P表120T。
由于缓冲存储器116典型地仅具备有限的数据存储空间,例如,仅能暂存8个L2P分组表,因此,存储器控制器110会交换(Swap)缓冲存储器116所储的L2P分组表116GT,例如,从非挥发性存储器120读取一个新L2P分组表,并以此L2P分组表替代缓冲存储器116所储的一个旧L2P分组表。另外,存储器控制器110较佳建立一个分组位置表以记录所述多个L2P分组表中的每一L2P分组表在非挥发性存储器120的实体地址。另外,存储器控制器110较佳建立一个分组暂存表以标记所述组L2P分组表中的每一L2P分组表在缓冲存储器116的实体地址。其中,所述分组位置表以及所述分组暂存表可整合至一分组管理表以简化表格的管理。
一L2P分组表的大小较佳等于非挥发性存储器组件122-n的一个页面(Page)的大小,例如16KB。又例如,存储器控制器110将4个不同区块的页面虚拟成一个超级页面(SuperPage),此时一L2P分组表的大小为64KB。另外,存储器控制器110较佳以一快速编程模式将所述多个L2P分组表编程至非挥发性存储器120,其中,所述快速编程模式例如是SLC编程模式,而预设编程模式可为TLC编程模式或QLC编程模式。其中,此4个区块可分别置于不同的通道或由不同的芯片启用(Chip Enable,CE)信号所控制。
存储器控制器110于执行一垃圾收集程序的期间,可将一来源区块(SourceBlock)的有效页面(或有效数据)数据复制至一目的区块(Destination Block)中。例如,于所述目的区块被关闭(Close)或不再需要写入有效页面数据至所述目的区块时,存储器控制器110产生一实体对逻辑地址映射表(Physical-to-logical address mapping table,简称「P2L表」)并将所述P2L表存储至所述目的区块,接着,再以所述P2L表更新L2P分组表116GT,之后,依据L2P分组表116GT进一步更新L2P表120T。在所述垃圾收集程序中,来源区块的数量可大于一,且这些来源区块较佳为具有较少或最少有效页面数据的数据区块,或是具有较冷(例如编程时间最久)的有效页面数据的数据区块。此外,当L2P分组表116GT或L2P表120T更新完成后,所述垃圾收集程序所涉及的任何来源区块(例如所述来源区块或这些来源区块)可被重新定义为闲置区块以供重复利用。所述目的区块可选自于一闲置区块池或是多个队列(Queued)的闲置区块。这些闲置区块较佳为闲置区块池中具有最小抺写次数(Erase Count)的闲置区块。
图3为依据本发明一实施例的一种高效能垃圾收集方法的工作流程300。例如:在所述处理电路诸如微处理器112的控制下,所述控制器诸如存储器控制器110可进行工作流程300的运作。工作流程300中的某些步骤可包括判断操作,而存储器控制器110可依据这些判断操作的各自的判断结果执行工作流程300中的后续步骤的操作,诸如对应于这些判断结果的后续操作,以达到数据存储装置的优化效能。
于步骤S302中,存储器控制器110启动并执行垃圾收集程序,其中,启动垃圾收集程序后,垃圾收集程序可于前景或背景中执行。另外,垃圾收集程序可由存储器控制器110自主启动或依主机50的要求而启动。此外,垃圾收集程序可分段执行或整段执行。于分段执行时,存储器控制器110将来源区块(Source Block)的有效页面(或有效数据)数据分段地复制至目的区块(Destination Block),并于分段中间执行来自主机50的主机指令。来源区块例如是区块#1的数据区块,并存储有20笔有效页面数据;目的区块例如是区块#12的闲置区块,可存储512笔页面数据。
于步骤S304中,存储器控制器110判断是否有收到来自主机50的修剪指令,如果是则进入步骤S306,如果不是则可因应步骤S312的一判断结果进入步骤S302,以继续执行垃圾收集程序。修剪指令的起始逻辑地址例如是逻辑区块地址LBA#100,数量例如是2,由上述信息可知修剪指令的二笔目标数据的逻辑地址为逻辑区块地址LBA#100与LBA#101,由L2P分组表#0可知,第一笔目标数据的实体地址为{BLK#1,Page#0},其代表区块#1的页面#0,第二笔目标数据的实体地址为{BLK#2,Page#0},其代表区块#2的页面#0,依此类推。
于步骤S306中,存储器控制器110判断修剪指令的目标数据是否存储在垃圾收集程序的来源区块,如果是则进入步骤S308,如果不是则进入步骤S302,以继续执行垃圾收集程序。由以上说明可知,修剪指令的第一笔目标数据存储在来源区块,第二笔目标数据并未存储在来源区块。
于步骤S308中,存储器控制器110判断存储在来源区块的目标数据是否已复制至目的区块,如果是则进入步骤S310,如果不是则进入步骤S302,以继续执行垃圾收集程序。
于步骤S310中,存储器控制器110将L2P表200中修剪指令的目标数据的实体地址变更为一修剪标签(Trim tag),之后,进入步骤S302,以继续执行垃圾收集程序,其中此修剪标签可指出此目标数据已被无效化。假设修剪指令的第一笔目标数据已由来源区块复制至目的区块,则存储器控制器110将L2P表200(更精确地说,L2P分组表#0)中LBA#100所映射的实体地址变更为修剪标签,例如:0xFFFF-FFFE,如图4所示。所述修剪标签可代表异于所述预设值的预定值(例如:0xFFFF-FFFE),而所述预设值与所述预定值中的每一值可代表不存在任何一个实体地址与任何一个逻辑地址之间的映射关系。由于第二笔目标数据并未存储在来源区块,因此,存储器控制器110不变更逻辑区块地址LBA#101在L2P表200中所映射的实体地址。
于步骤S312中,存储器控制器110判断是否关闭垃圾收集程序的目的区块,如果是则进入步骤S314,如果不是,例如目的区块仍有空间可以写入有效页面(或有效数据)数据,则进入步骤S302,以继续执行垃圾收集程序。
于步骤S314中,如果目的区块的有效页面数据在L2P表200的实体地址为修剪标签,则存储器控制器110将有效页面数据在L2P表200的实体地址变更为预设值。依据本实施例,存储器控制器110可检查是否所述目的区块的有效页面数据在L2P表200的实体地址为所述修剪标签,以决定是否将所述有效页面数据在L2P表200的所述实体地址变更为所述预设值。例如,在存储器控制器110建立L2P表200的一开始,L2P表200中的多个字段(field)中的每一字段的初始值等于所述预设值。
于步骤S316中,存储器控制器110以其他有效页面数据在目的区块的实体地址更新L2P表200。关闭目的区块时,存储器控制器110依据目的区块的实体地址以及于这些实体地址所存储有效页面数据的逻辑地址产生一P2L表,诸如图5所示者,并以P2L表更新L2P表200。当欲以P2L表更新L2P表200时,存储器控制器110先判断L2P表200中欲更新的实体地址的值是否为修剪标签,如果是,则表示此有效页面数据在执行垃圾收集程序时已被修剪指令所修剪(无效化),因此,此有效页面数据已不再有效。在此情况下,针对此有效页面数据,存储器控制器110不以目的区块的实体地址来更新L2P表200,并将修剪标签(例如图4所示的FFFF-FFFE)变更为预设值或无效值,例如:0xFFFF-FFFF,如图6所示。如此一来,即使页面数据已被复制至目的区块,此页面数据仍是无效的页面数据。如果L2P表200中欲更新的实体地址的值不是修剪标签,则表示此页面数据是有效页面数据。在此情况下,存储器控制器110以P2L表更新L2P表200,更新后的L2P表200如图6所示。最后,存储器控制器110将P2L表写入目的区块以关闭目的区块。
需注意的是,如果处理修剪指令时,步骤S302或垃圾收集程序未被启动或执行时,存储器控制器110可依据预设的程序来处理修剪指令,例如,直接将目标数据在L2P表200的实体地址变更为预设值或无效值,或是分段地将L2P表200的这些实体地址变更为预设值或无效值。如果处理修剪指令时,步骤S302或垃圾收集程序已被启动或执行时,但是步骤S308的判断结果为否,即来源区块的目标数据尚未复制至目的区块,则存储器控制器110可依据预设的程序来处理修剪指令,例如,直接将目标数据在L2P表200的这些实体地址变更为预设值或无效值,由于对应于目标数据的这些个实体地址已变更为预设值,之后,存储器控制器110不会将来源区块的目标数据复制至目的区块。
另外,由图5中可得知,虽然LBA#100已为无效的页面数据,但是P2L表仍有记录。此时,如果主机50更新LBA#100的用户数据,接着发生电力突然中断事件。虽然更新的LBA#100已记录L2P表,存储器控制器110启动突然电力中断回复(Sudden Power Off Recovery,SPOR)程序时,有可能会以目的区块的P2L表来更新L2P表,造成数据管理的错误。因此,步骤S314可更包括:将P2L表中修剪指令的目标数据的逻辑地址变更为预设值或无效值,例如:0xFFFF-FFFF,如图7所示。如此一来,即使发生电力突然中断事件,也不会造成数据管理的错误。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (17)

1.一种高效能垃圾收集方法,其特征在于,所述高效能垃圾收集方法是应用于一数据存储装置,所述数据存储装置包括一非挥发性存储器,所述非挥发性存储器包括至少一非挥发性存储器组件,所述高效能垃圾收集方法包括有:
启动并执行一垃圾收集程序;
判断是否有收到来自一主机的一修剪指令,其中判断是否有收到来自所述主机的所述修剪指令的步骤被执行多次以分别产生一第一判断结果与一第二判断结果,其中所述第一判断结果与所述第二判断结果分别指出收到所述修剪指令以及未收到所述修剪指令;
因应所述第一判断结果,判断所述修剪指令的目标数据是否存储在所述垃圾收集程序的一来源区块;
因应所述目标数据存储在所述来源区块,进行至少一额外的判断操作以选择性地于一逻辑对实体地址映射表中将所述修剪指令的所述目标数据的至少一实体地址变更为一修剪标签,其中所述修剪标签指出所述目标数据已被无效化;
因应所述第二判断结果,判断是否关闭所述垃圾收集程序的一目的区块;以及
因应关闭所述垃圾收集程序的所述目的区块,检查是否所述目的区块的有效页面数据在所述逻辑对实体地址映射表的实体地址为所述修剪标签,以决定是否将所述有效页面数据在所述逻辑对实体地址映射表的所述实体地址变更为一预设值。
2.如权利要求1所述的高效能垃圾收集方法,其特征在于,还包括:
于将所述修剪指令的所述目标数据的所述至少一实体地址变更为所述修剪标签以后,继续执行所述垃圾收集程序。
3.如权利要求1所述的高效能垃圾收集方法,其特征在于,还包括:
因应所述目的区块的所述有效页面数据在所述逻辑对实体地址映射表的所述实体地址为所述修剪标签,将所述有效页面数据在所述逻辑对实体地址映射表的所述实体地址变更为所述预设值。
4.如权利要求1所述的高效能垃圾收集方法,其特征在于,在建立所述逻辑对实体地址映射表的一开始,所述逻辑对实体地址映射表中的多个字段中的每一字段的一初始值等于所述预设值。
5.如权利要求1所述的高效能垃圾收集方法,其特征在于,判断所述修剪指令的所述目标数据是否存储在所述垃圾收集程序的所述来源区块的步骤被执行多次以分别产生一第三判断结果与一第四判断结果,其中所述第三判断结果与所述第四判断结果分别指出所述目标数据存储在所述来源区块以及所述目标数据未存储在所述来源区块;所述至少一额外的判断操作是因应所述第三判断结果来进行;以及所述方法还包括:
因应所述第四判断结果,继续执行所述垃圾收集程序。
6.如权利要求1所述的高效能垃圾收集方法,其特征在于,所述至少一额外的判断操作被执行多次以分别产生另一判断结果与又一判断结果,其中所述另一判断结果与所述又一判断结果分别指出存储在所述来源区块的所述目标数据已被复制至所述目的区块以及存储在所述来源区块的所述目标数据未被复制至所述目的区块;于所述逻辑对实体地址映射表中将所述修剪指令的所述目标数据的所述至少一实体地址变更为所述剪标签的操作是因应所述另一判断结果来进行;以及所述方法还包括:
因应所述又一判断结果,继续执行所述垃圾收集程序。
7.如权利要求1所述的高效能垃圾收集方法,其特征在于,判断是否关闭所述垃圾收集程序的所述目的区块的步骤执行多次以分别产生另一判断结果与又一判断结果,其中所述另一判断结果与所述又一判断结果分别指出关闭所述垃圾收集程序的所述目的区块以及不关闭所述垃圾收集程序的所述目的区块;检查是否所述目的区块的所述有效页面数据在所述逻辑对实体地址映射表的所述实体地址为所述修剪标签以决定是否将所述有效页面数据在所述逻辑对实体地址映射表的所述实体地址变更为所述预设值的步骤是因应所述另一判断结果来进行;以及所述方法还包括:
因应所述又一判断结果,继续执行所述垃圾收集程序。
8.如权利要求1所述的高效能垃圾收集方法,其特征在于,在建立所述逻辑对实体地址映射表的一开始,所述逻辑对实体地址映射表中的多个字段中的每一字段的一初始值等于所述预设值;以及所述修剪标签代表异于所述预设值的一预定值。
9.如权利要求8所述的高效能垃圾收集方法,其特征在于,所述预设值与所述预定值中的每一值代表不存在任何一个实体地址与任何一个逻辑地址之间的一映射关系。
10.一种数据存储装置,其特征在于,包括有:
一非挥发性存储器,用来存储信息,其中所述非挥发性存储器包括至少一非挥发性存储器组件;以及
一控制器,耦接至所述非挥发性存储器,用来控制所述数据存储装置的运作,其中所述控制器包括:
一处理电路,用来依据来自一主机的多个主机指令控制所述控制器,以容许所述主机通过所述控制器存取所述非挥发性存储器,其中:
所述控制器启动并执行一垃圾收集程序;
所述控制器判断是否有收到来自所述主机的一修剪指令,其中判断是否有收到来自所述主机的所述修剪指令的操作被执行多次以分别产生一第一判断结果与一第二判断结果,其中所述第一判断结果与所述第二判断结果分别指出收到所述修剪指令以及未收到所述修剪指令;
因应所述第一判断结果,所述控制器判断所述修剪指令的目标数据是否存储在所述垃圾收集程序的一来源区块;
因应所述目标数据存储在所述来源区块,所述控制器进行至少一额外的判断操作以选择性地于一逻辑对实体地址映射表中将所述修剪指令的所述目标数据的至少一实体地址变更为一修剪标签,其中所述修剪标签指出所述目标数据已被无效化;
因应所述第二判断结果,所述控制器判断是否关闭所述垃圾收集程序的一目的区块;以及
因应关闭所述垃圾收集程序的所述目的区块,所述控制器检查是否所述目的区块的有效页面数据在所述逻辑对实体地址映射表的实体地址为所述修剪标签,以决定是否将所述有效页面数据在所述逻辑对实体地址映射表的所述实体地址变更为一预设值。
11.如权利要求10所述的数据存储装置,其特征在于,于将所述修剪指令的所述目标数据的所述至少一实体地址变更为所述修剪标签以后,所述控制器继续执行所述垃圾收集程序。
12.如权利要求10所述的数据存储装置,其特征在于,判断所述修剪指令的所述目标数据是否存储在所述垃圾收集程序的所述来源区块的操作被执行多次以分别产生一第三判断结果与一第四判断结果,其中所述第三判断结果与所述第四判断结果分别指出所述目标数据存储在所述来源区块以及所述目标数据未存储在所述来源区块;所述至少一额外的判断操作是因应所述第三判断结果来进行;以及因应所述第四判断结果,所述控制器继续执行所述垃圾收集程序。
13.如权利要求10所述的数据存储装置,其特征在于,所述至少一额外的判断操作被执行多次以分别产生另一判断结果与又一判断结果,其中所述另一判断结果与所述又一判断结果分别指出存储在所述来源区块的所述目标数据已被复制至所述目的区块以及存储在所述来源区块的所述目标数据未被复制至所述目的区块;于所述逻辑对实体地址映射表中将所述修剪指令的所述目标数据的所述至少一实体地址变更为所述剪标签的操作是因应所述另一判断结果来进行;以及因应所述又一判断结果,所述控制器继续执行所述垃圾收集程序。
14.一种数据存储装置的控制器,其特征在于,所述数据存储装置包括所述控制器与一非挥发性存储器,所述非挥发性存储器包括至少一非挥发性存储器组件,所述控制器包括有:
一处理电路,用来依据来自一主机的多个主机指令控制所述控制器,以容许所述主机通过所述控制器存取所述非挥发性存储器,其中:
所述控制器启动并执行一垃圾收集程序;
所述控制器判断是否有收到来自所述主机的一修剪指令,其中判断是否有收到来自所述主机的所述修剪指令的操作被执行多次以分别产生一第一判断结果与一第二判断结果,其中所述第一判断结果与所述第二判断结果分别指出收到所述修剪指令以及未收到所述修剪指令;
因应所述第一判断结果,所述控制器判断所述修剪指令的目标数据是否存储在所述垃圾收集程序的一来源区块;
因应所述目标数据存储在所述来源区块,所述控制器进行至少一额外的判断操作以选择性地于一逻辑对实体地址映射表中将所述修剪指令的所述目标数据的至少一实体地址变更为一修剪标签,其中所述修剪标签指出所述目标数据已被无效化;
因应所述第二判断结果,所述控制器判断是否关闭所述垃圾收集程序的一目的区块;以及
因应关闭所述垃圾收集程序的所述目的区块,所述控制器检查是否所述目的区块的有效页面数据在所述逻辑对实体地址映射表的实体地址为所述修剪标签,以决定是否将所述有效页面数据在所述逻辑对实体地址映射表的所述实体地址变更为一预设值。
15.如权利要求14所述的控制器,其特征在于,于将所述修剪指令的所述目标数据的所述至少一实体地址变更为所述修剪标签以后,所述控制器继续执行所述垃圾收集程序。
16.如权利要求14所述的控制器,其特征在于,判断所述修剪指令的所述目标数据是否存储在所述垃圾收集程序的所述来源区块的操作被执行多次以分别产生一第三判断结果与一第四判断结果,其中所述第三判断结果与所述第四判断结果分别指出所述目标数据存储在所述来源区块以及所述目标数据未存储在所述来源区块;所述至少一额外的判断操作是因应所述第三判断结果来进行;以及因应所述第四判断结果,所述控制器继续执行所述垃圾收集程序。
17.如权利要求14所述的控制器,其特征在于,所述至少一额外的判断操作被执行多次以分别产生另一判断结果与又一判断结果,其中所述另一判断结果与所述又一判断结果分别指出存储在所述来源区块的所述目标数据已被复制至所述目的区块以及存储在所述来源区块的所述目标数据未被复制至所述目的区块;于所述逻辑对实体地址映射表中将所述修剪指令的所述目标数据的所述至少一实体地址变更为所述剪标签的操作是因应所述另一判断结果来进行;以及因应所述又一判断结果,所述控制器继续执行所述垃圾收集程序。
CN202210006555.1A 2018-09-17 2019-02-18 高效能垃圾收集方法以及数据存储装置及其控制器 Pending CN114528226A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201862731993P 2018-09-17 2018-09-17
US62/731,993 2018-09-17
TW108102004A TWI721365B (zh) 2018-09-17 2019-01-18 高效能垃圾收集方法以及資料儲存裝置及其控制器
TW108102004 2019-01-18
CN201910120853.1A CN110908925B (zh) 2018-09-17 2019-02-18 高效能垃圾收集方法以及数据存储装置及其控制器

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201910120853.1A Division CN110908925B (zh) 2018-09-17 2019-02-18 高效能垃圾收集方法以及数据存储装置及其控制器

Publications (1)

Publication Number Publication Date
CN114528226A true CN114528226A (zh) 2022-05-24

Family

ID=69774485

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201910120853.1A Active CN110908925B (zh) 2018-09-17 2019-02-18 高效能垃圾收集方法以及数据存储装置及其控制器
CN202210006555.1A Pending CN114528226A (zh) 2018-09-17 2019-02-18 高效能垃圾收集方法以及数据存储装置及其控制器

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201910120853.1A Active CN110908925B (zh) 2018-09-17 2019-02-18 高效能垃圾收集方法以及数据存储装置及其控制器

Country Status (2)

Country Link
US (1) US11030093B2 (zh)
CN (2) CN110908925B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11074172B2 (en) * 2019-01-10 2021-07-27 Intel Corporation On-device-copy for hybrid SSD with second persistent storage media update of logical block address for first persistent storage media data
US11726869B2 (en) 2019-08-20 2023-08-15 Micron Technology, Inc. Performing error control operation on memory component for garbage collection
US11282567B2 (en) 2019-08-20 2022-03-22 Micron Technology, Inc. Sequential SLC read optimization
US11281578B2 (en) 2019-08-20 2022-03-22 Micron Technology, Inc. Garbage collection in a memory sub-system during a low battery state
US11281392B2 (en) * 2019-08-28 2022-03-22 Micron Technology, Inc. Garbage collection in a memory component using an adjusted parameter
CN113641597A (zh) * 2020-04-27 2021-11-12 慧荣科技股份有限公司 管理数据存储的方法及装置以及计算机可读取存储介质
TWI799718B (zh) * 2020-06-22 2023-04-21 群聯電子股份有限公司 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元
TWI732642B (zh) * 2020-08-03 2021-07-01 群聯電子股份有限公司 資料寫入方法、記憶體控制電路單元以及記憶體儲存裝置
US11687447B1 (en) * 2022-01-04 2023-06-27 Silicon Motion, Inc. Method and apparatus for performing access control of memory device with aid of additional physical address information
TW202334821A (zh) * 2022-02-18 2023-09-01 慧榮科技股份有限公司 資料儲存裝置以及非揮發式記憶體控制方法
TWI805231B (zh) 2022-02-18 2023-06-11 慧榮科技股份有限公司 資料儲存裝置以及非揮發式記憶體控制方法

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6141728A (en) 1997-09-29 2000-10-31 Quantum Corporation Embedded cache manager
EP1130516A1 (en) * 2000-03-01 2001-09-05 Hewlett-Packard Company, A Delaware Corporation Address mapping in solid state storage device
US7800932B2 (en) * 2005-09-28 2010-09-21 Sandisk 3D Llc Memory cell comprising switchable semiconductor memory element with trimmable resistance
JP2004334434A (ja) 2003-05-06 2004-11-25 Hitachi Ltd 双方向コピー制御機能を有する記憶装置システム
JP2004364293A (ja) 2003-05-29 2004-12-24 Lycium Networks (Bvi) Ltd 適応型速度管理、適応型ポインタ管理及び周波数ロックされた適応型ポインタ管理のための方法及びシステム
KR100706242B1 (ko) * 2005-02-07 2007-04-11 삼성전자주식회사 메모리 시스템 및 그것의 런 단위 어드레스 매핑 테이블 구성 방법
JP2006285600A (ja) * 2005-03-31 2006-10-19 Tokyo Electron Device Ltd 記憶装置、メモリ管理装置、メモリ管理方法及びプログラム
US7587558B1 (en) 2005-11-01 2009-09-08 Netapp, Inc. System and method for managing hard lock state information in a distributed storage system environment
US20080025069A1 (en) * 2006-07-31 2008-01-31 Scheuerlein Roy E Mixed-use memory array with different data states
US7450414B2 (en) * 2006-07-31 2008-11-11 Sandisk 3D Llc Method for using a mixed-use memory array
US8386537B2 (en) 2009-12-15 2013-02-26 Intel Corporation Method for trimming data on non-volatile flash media
US8850114B2 (en) * 2010-09-07 2014-09-30 Daniel L Rosenband Storage array controller for flash-based storage devices
US8521948B2 (en) * 2011-01-03 2013-08-27 Apple Inc. Handling dynamic and static data for a system having non-volatile memory
US20130173931A1 (en) 2011-12-30 2013-07-04 Yonatan Tzafrir Host Device and Method for Partitioning Attributes in a Storage Device
US8949512B2 (en) 2012-02-17 2015-02-03 Apple Inc. Trim token journaling
US9323667B2 (en) 2012-04-12 2016-04-26 Violin Memory Inc. System and method for managing trim operations in a flash memory system using mapping tables and block status tables
US9448919B1 (en) * 2012-11-13 2016-09-20 Western Digital Technologies, Inc. Data storage device accessing garbage collected memory segments
US9021321B2 (en) 2012-12-10 2015-04-28 International Business Machines Corporation Testing disk drives shared by multiple processors in a supercomputer complex
JP2014203405A (ja) * 2013-04-09 2014-10-27 富士通株式会社 情報処理装置、メモリ制御装置、データ転送制御方法及びデータ転送制御プログラム
TWI524183B (zh) 2014-01-09 2016-03-01 群聯電子股份有限公司 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
CN106462510B (zh) * 2014-03-06 2019-12-13 伊姆西公司 具有独立直接接入大量固态存储资源的多处理器系统
US9524107B2 (en) 2014-07-30 2016-12-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Host-based device drivers for enhancing operations in redundant array of independent disks systems
US9703699B2 (en) 2014-09-17 2017-07-11 Kabushiki Kaisha Toshiba Hybrid-HDD policy for what host-R/W data goes into NAND
US9632927B2 (en) * 2014-09-25 2017-04-25 International Business Machines Corporation Reducing write amplification in solid-state drives by separating allocation of relocate writes from user writes
US10261725B2 (en) * 2015-04-10 2019-04-16 Toshiba Memory Corporation Storage system capable of invalidating data stored in a storage device thereof
US10229049B2 (en) * 2015-12-17 2019-03-12 Toshiba Memory Corporation Storage system that performs host-initiated garbage collection
US10185658B2 (en) 2016-02-23 2019-01-22 Sandisk Technologies Llc Efficient implementation of optimized host-based garbage collection strategies using xcopy and multiple logical stripes
US10114743B2 (en) * 2016-04-06 2018-10-30 Sandisk Technologies Inc. Memory erase management
TWI622923B (zh) 2016-05-04 2018-05-01 群聯電子股份有限公司 整理指令處理方法、記憶體控制電路單元與記憶體儲存裝置
US10474362B2 (en) * 2016-10-14 2019-11-12 Smart Modular Technologies, Inc. Flash-based block storage system with trimmed space management and method of operation thereof
TWI619018B (zh) 2016-11-10 2018-03-21 慧榮科技股份有限公司 可用於資料儲存裝置之垃圾蒐集方法
US10740251B2 (en) * 2017-01-20 2020-08-11 Seagate Technology Llc Hybrid drive translation layer
KR102066062B1 (ko) 2017-01-23 2020-01-15 마이크론 테크놀로지, 인크. 부분적으로 기록된 블록 처리
TWI653533B (zh) 2017-03-07 2019-03-11 慧榮科技股份有限公司 資料儲存裝置以及其操作方法
TWI634424B (zh) 2017-05-08 2018-09-01 慧榮科技股份有限公司 資料儲存裝置以及其操作方法
CN107632942A (zh) * 2017-08-29 2018-01-26 记忆科技(深圳)有限公司 一种固态硬盘实现lba级别trim命令的方法
CN107481762B (zh) * 2017-08-29 2020-07-28 苏州浪潮智能科技有限公司 一种固态硬盘的trim处理方法及装置
US10025534B1 (en) 2017-12-20 2018-07-17 Seagate Technology Llc Shingled magnetic recording trim operation

Also Published As

Publication number Publication date
CN110908925A (zh) 2020-03-24
US20200089608A1 (en) 2020-03-19
US11030093B2 (en) 2021-06-08
CN110908925B (zh) 2022-01-25

Similar Documents

Publication Publication Date Title
CN110908925B (zh) 高效能垃圾收集方法以及数据存储装置及其控制器
TWI720588B (zh) 用以在記憶裝置中進行存取管理的方法、相關記憶裝置及其控制器以及相關電子裝置
TWI692690B (zh) 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置
US20180260317A1 (en) Method for managing the copying and storing of data in garbage collection, memory storage device and memory control circuit unit using the same
JP4524309B2 (ja) フラッシュメモリ用のメモリコントローラ
US8055873B2 (en) Data writing method for flash memory, and controller and system using the same
US9582416B2 (en) Data erasing method, memory control circuit unit and memory storage apparatus
CN110806984B (zh) 在存储器系统中搜索有效数据的设备和方法
US20140372668A1 (en) Data writing method, memory controller and memory storage apparatus
CN107590080B (zh) 映射表更新方法、存储器控制电路单元及存储器存储装置
US10606744B2 (en) Method for accessing flash memory module and associated flash memory controller and electronic device
TWI698749B (zh) 資料儲存裝置與資料處理方法
CN106445401B (zh) 表格更新方法、存储器储存装置及存储器控制电路单元
CN107943710B (zh) 存储器管理方法及使用所述方法的存储控制器
TW202001565A (zh) 管理快閃記憶體模組的方法及相關的快閃記憶體控制器及電子裝置
US10990292B2 (en) Flash memory controller, control method of flash memory controller and associated electronic device
CN113885808A (zh) 映射信息记录方法以及存储器控制电路单元与存储装置
TWI748542B (zh) 電子裝置、快閃記憶體控制器及快閃記憶體模組進行垃圾收集操作的方法
US11216381B2 (en) Data storage devices and data processing methods
CN111984462A (zh) 无预警断电复原管理方法、记忆装置、控制器及电子装置
TWI805445B (zh) 借助額外實體位址資訊來進行記憶體裝置之存取控制的方法、記憶體裝置以及記憶體裝置的控制器
TWI721365B (zh) 高效能垃圾收集方法以及資料儲存裝置及其控制器
CN112099731B (zh) 数据储存装置与数据处理方法
CN107229413B (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