CN112597069A - 存储系统、主机系统和存储系统的操作方法 - Google Patents

存储系统、主机系统和存储系统的操作方法 Download PDF

Info

Publication number
CN112597069A
CN112597069A CN202010745090.2A CN202010745090A CN112597069A CN 112597069 A CN112597069 A CN 112597069A CN 202010745090 A CN202010745090 A CN 202010745090A CN 112597069 A CN112597069 A CN 112597069A
Authority
CN
China
Prior art keywords
block
blocks
high reliability
metadata
spare
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
CN202010745090.2A
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN112597069A publication Critical patent/CN112597069A/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/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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/108Parity data distribution in semiconductor storages, e.g. in SSD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Library & Information Science (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

提供了存储系统、主机系统和存储系统的操作方法。所述存储系统与主机系统通信并包括:存储装置,所述存储装置包括存储介质,所述存储介质被划分为包括高可靠性块和备用块的多个块;和控制器。所述控制器:向所述主机系统提供标识所述多个块中的所述高可靠性块的块信息;从所述主机系统接收块分配请求,其中,所述块分配请求是参考所述块信息来限定的,并且标识要用于存储元数据的至少一个高可靠性块;以及响应于所述块分配请求,将至少一个高可靠性块分配给元区域。所述控制器包括:坏块管理器,管理响应于所述块分配请求而执行的块分配操作,以及修复存储在所述高可靠性块中的一个高可靠性块中的元数据中的错误。

Description

存储系统、主机系统和存储系统的操作方法
相关申请的交叉引用
本申请要求于2019年10月2日在韩国知识产权局提交的韩国专利申请No.10-2019-0122654的权益,上述韩国专利申请的主题通过引用合并于此。
技术领域
本发明构思涉及存储系统,并且更具体地,涉及能够有效管理元数据的存储系统。本发明构思还涉及控制这种类型的存储系统的主机系统以及存储系统操作方法。
背景技术
固态驱动器(SSD)是基于诸如闪存的半导体存储装置的存储系统的一个示例。各种接口已用于访问诸如SSD的存储系统(例如,串行高级技术附件(SATA)、外围组件互连(PCI)快速(PCIe)和串行连接小型计算机系统接口(SCSI)(SAS)、非易失性存储器快速(NVMe)等)。
最近已经提出了开放通道SSD(OC-SSD)。在开放通道SSD中,在主机系统中执行诸如曾经在SSD中执行的地址转换操作的各种功能。结果,主机系统包括曾经由SSD管理的闪存转换层(FTL)。因此,主机系统可以基于FTL直接执行各种管理操作。然而,在接收到关于坏块的信息之前,主机系统可能难以确定存储系统的一个或更多个块特性。这种坏块信息可以经由单独的命令来传送,并且由于此,由于主机系统不得不在未准确地知道块特性的情况下管理诸如元数据的重要信息,因此可能难以维持数据可靠性。
发明内容
本发明构思提供一种存储系统、一种主机系统以及一种用于所述存储系统的操作方法,其有效地管理元数据以增强元数据的可靠性。
根据本发明构思的一方面,提供一种与主机系统通信的存储系统,所述存储系统包括:存储装置,所述存储装置包括存储介质,所述存储介质被划分为包括高可靠性块和备用块的多个块;和控制器。所述控制器:向所述主机系统提供标识所述多个块中的所述高可靠性块的块信息;从所述主机系统接收块分配请求,其中,所述块分配请求是参考所述块信息来限定的,并且标识要用于存储元数据的至少一个高可靠性块;以及响应于所述块分配请求,将至少一个高可靠性块分配给元区域。所述控制器包括:坏块管理器,管理响应于所述块分配请求而执行的块分配操作,以及修复存储在所述高可靠性块中的一个高可靠性块中的元数据中的错误。
根据本发明构思的另一方面,提供一种包括多个块的存储系统的操作方法。所述操作方法包括:从主机系统接收块分配请求,所述块分配请求标识所述多个块中的要用于存储元数据的高可靠性块;响应于所述块分配请求,将所述高可靠性块和至少一个相应的备用块分配给元区域;响应于来自所述主机系统的元数据写入请求,将所述元数据写入所述高可靠性块中,将所述元数据写入所述至少一个相应的备用块中,将用于修复所述元数据中的错误的修复信息写入所述高可靠性块中;确定所述高可靠性块中的一个高可靠性块是否为坏块;以及向所述主机系统传送从所述高可靠性块读取的元数据和使用所述修复奇偶校验信息生成的经错误修复的元数据中的一者。
根据本发明构思的另一方面,提供一种与包括多个块的存储系统通信的主机系统。所述主机系统包括:在对所述多个块的管理操作的实施中使用的主机闪存转换层(FTL),所述主机FTL包括请求生成模块,所述请求生成模块生成块分配请求,所述块分配请求用于分配所述多个块中的要用于存储元数据的高可靠性块;以及接口电路,所述接口电路与所述存储系统通过接口进行连接,以接收标识所述高可靠性块的块信息,并将来自所述主机系统的块分配请求传送到所述存储系统,其中,所述块分配请求包括标识所述高可靠性块的数量和相应位置的信息。
附图说明
通过以下结合附图的详细描述,将更清楚地理解本发明构思的实施例,在附图中:
图1是示出根据实施例的数据处理系统的框图;
图2是示出分配给元区域和用户区域的块的示例的框图;
图3是示出根据实施例的数据处理系统的操作方法的概念图;
图4是示出根据实施例的数据处理系统的实现示例的框图;
图5是示出根据实施例的包括在存储系统中的控制器的实现示例的框图;
图6A和图6B是示出根据实施例的修复在元数据中发生的错误的示例的框图;
图7是示出包括在主机系统中的主机闪存转换层(FTL)的实现示例的框图;
图8是示出根据实施例的数据处理系统的操作方法的流程图;
图9A和图9B是示出根据实施例的数据处理系统的操作示例的概念图;
图10是示出根据可修改的实施例的数据处理系统的框图;
图11A和图11B是示出在存储系统中执行的块分配操作的各种示例的框图;
图12A和图12B是示出在包括多个存储介质的固态驱动器(SSD)中为元区域分配块的示例的框图;以及
图13是示出根据实施例的包括服务器系统的网络系统的框图。
具体实施方式
在下文中,将参照附图更详细地描述本发明构思的实施例。
图1是示出根据实施例的数据处理系统10的框图。
参照图1,数据处理系统10可以包括主机系统100和存储系统200,其中,存储系统200可以包括控制器210和存储装置220。主机系统100可以向存储系统200提供用于读取、写入和/或擦除操作的请求。并且,响应于从主机系统100接收到的这种请求,存储系统200可以对由与该请求相关联的一个或更多个地址指定的数据执行读取操作、写入操作和/或擦除操作。
存储系统200可以包括被配置为响应于从主机系统100接收到的请求而存储数据的多个存储介质。例如,存储系统200可以包括一个或更多个固态驱动器(SSD)。当存储系统200包括SSD时,存储装置220可以包括分别被配置为非易失性地存储数据的多个闪存芯片(例如,NAND闪存芯片)。或者,存储装置220可以对应于一个闪存装置,或者存储装置200可以包括具有一个或更多个闪存芯片的存储卡。
当存储系统200包括闪存时,闪存可以包括二维(2D)NAND存储阵列或三维(3D)(或垂直)NAND(VNAND)存储阵列。3D存储阵列可以是包括设置在硅衬底上的有源区并且与每个存储单元的操作相关联的电路,并且可以在至少一个存储单元阵列的物理层级上以单片(monolithic)类型配置,每个存储单元阵列包括设置在衬底上或衬底中的电路。单片类型可以表示构成阵列的各层级的层直接堆叠在阵列的较低层级的层上。
在实施例中,3D存储阵列可以包括在垂直方向上布置以便将至少一个存储单元设置在另一个存储单元上的多个垂直NAND串。至少一个存储单元可以包括电荷俘获层。
在这方面,美国专利公开No.7,679,133、8,553,466、8,654,587和8,559,235以及美国专利申请No.2011/0233648公开了与某些3D存储单元阵列有关的适当元件,这些3D存储单元阵列包括多个层级(level),并且在该3D存储单元阵列中,在多个层级之间共享字线和/或位线。这些文件的共同主题通过引用合并于此。
作为另一示例,存储系统200可以包括各种存储器。例如,存储系统200可以包括非易失性存储器,其中,非易失性存储器的示例可以包括(例如)磁随机存取存储器(RAM)(MRAM)、自旋转移矩MRAM、导电桥接RAM(CBRAM)、铁电RAM(FeRAM)、相变RAM(PRAM)、电阻RAM(ReRAM)、纳米管RAM、聚合物RAM(PoRAM)、纳米浮栅存储器(NFGM)、全息存储器、分子电子存储器和绝缘体阻变存储器。
主机系统100可以使用一个或更多个接口与存储系统200通信。根据实施例,主机系统100可以经由一个或更多个接口(例如,通用串行总线(USB)、多媒体卡(MMC)、外围组件互连(PCI)快速(PIC-E)、高级技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)、小型计算机系统接口(SCSI)、串行连接SCSI(SAS)、增强型小型磁盘接口(ESDI)和集成驱动电子设备(IDE))与存储系统200通信。在这方面,已经提出了非易失性存储器快速(NVMe)接口作为针对诸如SSD的存储系统200而优化的接口,并且根据实施例,NVMe可以应用于数据处理系统10。
作为存储系统200的实现示例,存储系统200可以包括开放通道SSD(以下称为“OC-SSD”)。在OC-SSD环境中,主机闪存转换层(FTL)110可以被包括在主机系统100中,因此,可以在主机系统100的控制下执行与存储系统200相对应的各种管理操作。例如,主机系统100可以在由主机系统识别的逻辑地址(LA)和由存储系统200识别的相应物理地址(PA)之间执行地址转换操作。因此,主机系统100可以向存储系统200提供物理地址,其中,这种地址可以用于直接索引或标识与主机系统请求相关联的数据。
根据图1所示的实施例,除了主机FTL 110之外,主机系统100还可以包括第一接口电路120。存储系统200的控制器210可以包括坏块管理器211和第二接口电路212。存储装置220可以包括多个存储介质,其中,每个存储介质可以包括一个或更多个存储装置(例如,闪存芯片)。另外,每个存储介质可以包括具有多个块的存储单元阵列221。在图1中,可以假定由存储装置220提供的一个或更多个存储单元阵列221被包括在一个存储介质中。
为了在延长的时间段内可靠地执行数据处理,存储系统200必须执行各种管理操作。通常执行的管理操作的示例包括:LA到PA和/或PA到LA地址转换、包括坏块映射的块映射以及块管理等。许多管理操作可能需要访问(或基于)存储系统200存储的某些元数据。在这种情况下,存储的元数据的可靠性和及时访问是存储系统200成功运行的重要因素。
然而,在某些常规的OC-SSD环境中,主机系统100在某些情况下可能无法准确并及时地确定存储在存储装置200中的数据的一个或更多个特性。例如,主机系统可能不知道与存储装置220中的坏块相关联的物理特性。因此,主机系统100可能在其关键信息(例如元数据)的管理上受到实质性限制。
例如,当确定存储装置220的特定块(例如,第一块)是坏块时,主机系统100可以将第一块替换(或映射)到已知为正常块的另一个块(例如,第二块)。这里,术语“坏”和“正常”本质上是相对的并且可以被不同地定义。然而,在某些实施例的描述中,坏块是被认为其特性上不适合元数据的存储的块。一旦已将第一块地址映射到第二块上,就可以使用所得的(或更新的)块映射信息来防止将关键数据(例如,元数据)物理存储到第一块。
遗憾的是,当第一块用于存储元数据然后被确定为坏块、与第一块相关联的块映射信息被映射到第二块并且元数据被存储在第二块中时,当主机系统100不能检查现在由块映射信息标识的第二块的性质和/或位置时,主机系统100可能存在问题。也就是说,当在数据处理系统10被切断电源之后再次被接通电源时,主机系统100必须从存储装置220读取元数据并且执行与所存储的元数据相关联的特定管理操作。但是,如果主机系统无法准确或及时地知道存储元数据的特定块已从第一块物理更改为第二块,则此过程可能不会按预期进行。
根据本发明构思的某些实施例,为了确保诸如元数据的关键信息的可靠性并执行有效的管理,存储系统200可以执行一些能够应用于数据处理系统10的管理操作。根据实施例,坏块管理器211可以执行与坏块相关联的管理操作,例如,坏块管理器211可以对存储诸如元数据的关键信息的块执行坏块管理操作。此外,为了确保元数据的可靠性或完整性,坏块管理器211可以对存储在高可靠性块中的元数据执行修复操作。
主机系统100和存储系统200可以在符合至少一个协议和数据格式(例如为NVMe接口定义的协议和数据格式)操作的同时使用第一接口电路120和第二接口电路212以各种方式传送和/或接收(以下称为“传送”)请求、数据和/或信息。
由存储系统200的存储装置220提供的数据存储空间(或容量)可以在物理上和/或在概念上被划分为多个块。可以通过存储装置220内的特定指定和/或位置来标识块。在多个块中,可以将一些块指定为提供高数据存储可靠性(以下称为“高可靠性块”)。可以以各种方式确定特定块的数据可靠性,并且高可靠性块的指定是相对的。例如,高可靠性块可以是所谓的无错误(EF)块,该无错误块在测试过程中表现出相对较少的错误(或没有错误)的,或被计算出提供非常低的相对错误概率。
然而,当“块信息”Info_BLK从存储系统200被传送到主机系统100时,存储系统200可以向主机系统标识确定或指定的多个高可靠性块。参考块信息Info_BLK,主机系统100可以将“块分配请求”Req_BLK传送到存储系统200。这里,块分配请求Req_BLK用于参考块信息Info_BLK来分配用于存储关键数据(例如,元数据)的高可靠性块。
块信息Info_BLK可以包括各种信息。例如,块信息Info_BLK可以包括(通过位置和/或指定,例如块地址)标识存储系统200内的一个或更多个高可靠性块的信息。块信息Info_BLK还可以包括与可以用于支持或改善某些块的数据完整性的修复技术(或修复操作)相关联的信息。
如上所述,可以以各种方式确定存储系统200中的高可靠性块。例如,由存储装置220提供的多个块中的某些块可以包括多电平存储单元(MLC)(即,通常用于按照一个存储单元存储两个或更多个数据位的存储单元),其中,MLC反而用于仅存储单个位数据。换句话说,某些高可靠性块将是包括用作单电平存储单元(SLC)以存储单个位数据的MLC的块。或者,存储系统200可以执行自测试操作以确定提供相对高可靠性的块,或者可以在制造工艺期间应用选择性增强特定位置的块的工艺,从而在存储系统200中提供高可靠性块。
附加地或可选地,存储系统200可以执行修复操作以在将元数据写入块和/或从块读取元数据期间提高数据可靠性。例如,各种数据恢复方法(例如廉价磁盘冗余阵列(RAID)或数据镜像)可以应用于存储系统200。
从主机系统100传送到存储系统200的块分配请求Req_BLK可以被不同地定义为包括各种信息。例如,主机系统100可以使用块分配请求Req_BLK来指示要用作存储诸如元数据的关键数据的块的高可靠性块的数量和相应位置。因此,块分配请求Req_BLK可以包括标识高可靠性块的数量和/或位置的信息。块分配请求Req_BLK还可以用于从许多可用的修复操作(或技术)中标识要应用于数据处理系统10的修复操作。
由存储系统200的存储装置220提供的数据存储空间(或容量)可以进一步被划分(在物理上和/或在概念上)为多个区域,其中,每个区域包括一个或更多个块。包括一个或更多个高可靠性块的区域可以被指定为“元区域”,而仅包括存储非元数据(例如,用户数据)的块的区域可以被指定为“普通区域”。在这方面,可以将由存储装置220提供的某些块指定为“备用块”。备用块可以是未分配的(或当前未用于存储数据),并且可以是普通区域中的普通块和/或元区域中的高可靠性块。
在图1所示的实施例中,存储装置220提供包括“M”个块BLM1_1至BLK1_M的元区域Reg_Meta以及包括“N”个块BLM2_1至BLK2_N的普通区域Reg_Normal,其中,“M”和“N”是大于1的整数。
利用这种示例性配置,主机系统100可以识别(或选择)修复操作以及在执行修复操作时使用的元区域Reg_Meta中包括的一个或更多个高可靠性备用块。可以以各种方式执行高可靠性备用块的分配。例如,主机系统100可以选择一个或更多个备用块,并且标识备用块的数量和/或位置的信息可以被包括在块分配请求Req_BLK中。或者,与所选择的修复操作相关联的信息可以被包括在块分配请求Req_BLK中。因此,数据处理系统10可以被实现为使得存储系统200可以响应于块分配请求Req_BLK在元区域Reg_Meta中另外指定一个或更多个高可靠性备用块。在这方面,应当注意的是,根据所选择的修复操作的性质,可能需要不同数量的备用块。因此,当主机系统100和/或存储系统200分配一个或更多个块作为备用块时,必须考虑所选择的修复操作。
因此,主机系统100可以向存储系统200提供可以作为块分配请求Req_BLK的一部分的、用于存储诸如元数据的关键数据的元区域Reg_Meta中的一个或更多个高可靠性块的标识(例如,地址)。相比之下,当主机系统10针对存储用户数据的普通区域Reg_Normal的一个或更多个普通块发出块分配请求Req_BLK时,主机系统100可以向存储系统200提供用于标识普通块的地址。
根据实施例,在OC-SSD环境中,存储系统200可以向主机系统100提供关于高可靠性块的信息,并且主机系统100可以选择一个或更多个高可靠性块来存储诸如元数据的关键数据,从而增强或确保元数据的完整性。可以减少由主机系统100执行的系统管理开销,从而改善数据处理系统10的整体性能。并且,即使当确定存储元数据的块为坏块时,元数据中的一个或更多个错误也可以通过使用执行所选择的修复操作的上述方法而被容易地修复。此外,即使当存储元数据的块被另一个块替换时,主机系统100也可以访问元区域Reg_Meta中包括的高可靠性块中存储的信息,或者可以仅访问与坏块相对应的高可靠性备用块中存储的信息,从而检查块映射信息。因此,可以减少检查与元数据相关联的信息所需的时间,并且可以增强对诸如元数据的关键数据的管理的整体效率。
图2是在一个示例中进一步示出用于在元区域Reg_Meta和普通区域Reg_Normal中分配块的方法的框图。这里,图2的示出的示例假定使用NAND闪存作为存储介质。
参照图1和图2,存储单元阵列221可以包括具有一个或更多个高可靠性块的多个块。存储系统200可以将块信息Info_BLK传送到主机系统100,并且主机系统100可以传送可以用于选择用来存储元数据的至少一个高可靠性块的块分配请求Req_BLK。另外,主机系统100可以选择可以用来修复错误的元数据的修复操作,以及选择可以用来在修复操作期间存储信息的至少一个备用块Rsvd。
在图2的所示的示例中,为元区域Reg_Meta分配了四(4)个高可靠性块(EF)和四(4)个备用块。在其他实施例中,可以为元区域Reg_Meta分配不同数量的高可靠性块和/或备用块。
可以应用用于修复元数据中的错误的各种操作,并且根据各种实施例,可以应用使用数据镜像或修复奇偶校验的操作。例如,在应用数据镜像操作的情况下,主机系统100可以发出将元数据写入高可靠性块的请求,并且存储系统200可以将元数据写入高可靠性块和与其相对应的备用块。随后,当存储元数据的高可靠性块被确定为坏块时,存储系统200可以将高可靠性块的地址映射到相应的备用块,并且可以将块映射信息存储在其中。另外,当主机系统100发出访问存储在高可靠性块中的元数据的请求时,存储系统200可以参考块映射信息来访问相应的备用块。
根据实施例,在修复操作包括使用修复奇偶校验信息的情况下,主机系统100可以发出将元数据写入高可靠性块的请求,并且存储系统200可以从写入请求的元数据和/或构成一个修复单元的其他元数据产生修复奇偶校验信息,并且可以将产生的修复奇偶校验信息存储到备用块。例如,可以将构成修复单元的其他元数据存储在与写入请求的高可靠性块不同的块(例如,至少另一个高可靠性块)中。例如,当存储由主机系统100请求读取的元数据的高可靠性块被确定为坏块时,存储系统200可以根据使用修复奇偶校验信息和修复单元的其他元数据的算术运算来修复元数据中的错误,并且可以将修复了错误的元数据提供给主机系统100。
此外,可纠正错误率可以通过调整元区域Reg_Meta中包括的备用块的数量或者通过调整备用块的数量与高可靠性块的数量的比率而变化。例如,当存在许多备用块时,可以基于相同位的数据来存储相对更多的奇偶校验位,因此,可以增强纠错能力。例如,当存在许多备用块时,可以将具有高纠错能力的纠错电路应用于存储系统200,在这种情况下,可以进一步增强纠正元数据的错误的能力。
在图2的实施例中,已经描述了元数据被复制一次的数据镜像方法,但是实施例不限于此。例如,元数据可以被复制两次(或更多次)并且可以存储在备用块中,并且当分配了许多备用块时,可以应用基于多个复制操作的修复操作。
图3是在一个示例中示出图1的数据处理系统10的操作方法的概念图。在图3中,假定基于闪存的OC-SSD作为存储系统的示例,因此,假定主机系统HOST包括闪存转换层(FTL)。
一旦OC-SSD连接到主机系统HOST,就可以执行设备初始化过程,其中,在设备初始化过程期间必须存储管理OC-SSD所需的元数据。为此,OS-SSD可以传送(例如,发送)块信息Info_BLK,该块信息Info_BLK描述了包括可能已经在设备格式化过程期间设置的一个或更多个块的元区域。并且,如上所述,由OC-SSD提供给主机系统HOST的块信息Info_BLK可以包括描述元区域Reg_Meta中的一个或更多个高可靠性块、一个或更多个备用块和由OC-SSD支持的一个或更多个恢复操作的信息。
在接收到块信息Info_BLK时,主机系统HOST可以向元区域Reg_Meta发出请求分配一个或更多个高可靠性块的块分配请求Req_BLK。例如,可以由主机系统HOST选择要分配给元区域的高可靠性块的数量和相应位置,并且可以在块分配请求Req_BLK中包括标识要应用于元区域的至少一个恢复操作的信息。响应于来自主机系统HOST的块分配请求Req_BLK,OC-SSD可以将一个或更多个高可靠性块分配给元区域。OC-SSD还可以将在修复操作期间要使用的一个或更多个备用块分配给元区域。然后,OC-SSD可以将指示了所请求的分配已完成的信息传送给主机系统HOST。
随后,当由OC-SSD执行数据访问操作时,可以在元区域中存储或更新与数据访问操作相关的元数据,并且可以使用各种修复操作(例如数据镜像和恢复算法)来纠正或修复元数据中的错误。另外,OC-SSD可以对分配给元区域的块执行坏块管理操作,并且可以存储在坏块的管理期间生成的块映射信息。根据实施例,OC-SSD可以将与坏块的管理相关联的“坏块信息”传送给主机系统HOST,并且主机系统HOST然后可以响应于坏块信息来准确地确定用于存储元数据的元区域的当前块状态。
图4是在一个示例中示出数据处理系统300的框图,其中,与多个NAND闪存装置中的每一个NAND闪存装置相关联的元区域用于存储诸如元数据的关键数据。
参照图4,数据处理系统300可以包括主机系统310和存储系统320。在图4中,为了便于描述,在存储系统320中仅示出了第一闪存阵列NAND1 321和第二NAND闪存阵列NAND2322(即,第一存储介质和第二存储介质)。然而,本领域技术人员将认识到存储系统320还可以包括另外的存储介质以及用于至少执行与用于存储诸如元数据的关键数据的块相关联的管理操作的控制和逻辑组件。
主机系统310可以包括能够执行与存储系统320相关联的某些管理操作的管理模块(例如,NAND管理模块,未示出)。因此,管理模块可以包括FTL(或主机FTL)。在图4中,第一主机FTL 311可以用于管理第一存储介质321,第二主机FTL 312可以用于单独管理第二存储介质322。然而,单个FTL可以用于管理多个存储介质。另外,根据上述实施例,存储系统320可以将块信息Info_BLK传送到主机系统310,并且主机系统310可以将块分配请求Req_BLK传送到存储系统320。例如,可以针对每个NAND闪存装置传送相应的块信息Info_BLK和块分配请求Req_BLK,其中,第一主机FTL 311向第一NAND闪存阵列321传送第一块分配请求Req_BLK/第一NAND闪存阵列321向第一主机FTL 311传送第一块信息Info_BLK,而第二主机FTL 312向第二NAND闪存阵列322传送第二块分配请求Req_BLK/第二NAND闪存阵列322向第二主机FTL 312传送第二块信息Info_BLK。或者,单个块信息Info_BLK可以用于向主机系统310描述存储系统320,并且单个块分配请求Req_BLK可以用于在存储系统320中以各种方式分配块。
假定第一闪存阵列321和第二闪存阵列322中的每一者包括多个块,其中,多个块均包括至少一个高可靠性块(EF)和至少一个备用块(Rsvd)。在这个假设下,基于来自主机系统310的第一块分配请求Req_BLK,可以在第一存储介质321和第二存储介质322中分别设置元区域321_1和322_1,并且可以为元区域321_1和322_1中的每一者分配一个或更多个高可靠性块和备用块Rsvd。在图4中,示出了在第一存储介质321的元区域321_1和第二存储介质322的元区域322_1上不同地分配各种块的示例。
根据实施例,与第一存储介质321相关联的第一元数据可以存储在第一存储介质321的元区域321_1中,并且与第二存储介质322相关联的第二元数据可以存储在第二存储介质322的元区域322_1中。进一步假设可以将使用数据镜像技术的修复操作应用于第一存储介质321的元区域321_1。因此,备用块的数量等于在元区域321_1中分配的高可靠性块的数量。另一方面,假设可以将使用修复奇偶校验技术的修复操作应用于第二存储介质322的元区域322_1。因此,可以在元区域322_1中分配比高可靠性块更少数量的备用块。
图5是在一个示例中示出根据实施例的可以被合并在存储系统中的控制器400的框图。
参照图5,控制器400可以包括中央处理单元(CPU)410或处理器、主机接口电路420、存储器接口电路430和工作存储器440。这里,控制器400还可以包括纠错码(ECC)引擎450。
CPU 410可以执行存储在工作存储器440中的各种应用(例如,程序)以控制存储系统的整体操作。主机接口电路420可以根据使用至少一种已建立的数据格式和至少一种通信协议(例如,与NVMe一致的协议)的接口来控制与主机系统的通信。另外,存储器接口电路430可以提供与包括在存储装置中的多个存储介质的接口,例如,存储器接口电路430可以通过多个通道执行与存储介质的独立通信。另外,ECC引擎450可以执行检测并纠正存储在存储装置中的数据的错误的操作,例如,可以从写入的数据生成ECC奇偶校验,并且可以通过使用读取的数据和与其对应的ECC奇偶校验来执行错误检测操作和纠错操作。
此外,根据实施例的用于执行各种功能的程序以及存储系统的功能可以被加载到工作存储器440中。工作存储器440可以被实现为各种类型,例如RAM、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、闪存或其他存储器。
根据实施例,可以将元区域管理模块441、坏块管理模块442和修复模块443加载到工作存储器440中。例如,根据上述实施例,主机接口电路420可以与主机系统通信以从主机系统接收各种请求、传送各种信息并接收请求分配一个或更多个要存储元数据的高可靠性块的块分配请求。CPU 410可以执行元区域管理模块441,并且基于来自主机系统的块分配请求,可以执行为元区域分配一个或更多个高可靠性块和/或备用块的操作。
元数据(作为关键数据的一个示例)可以被存储在元区域中包括的高可靠性块和/或备用块中,并且基于坏块管理模块442的执行,可以对在元区域中识别的坏块执行管理操作。例如,当高可靠性块(例如,第一高可靠性块)被确定为坏块时,坏块管理模块442可以管理块映射以用另一个高可靠性块代替第一高可靠性块。此外,坏块管理模块442可以执行块管理操作,该块管理操作指示存储修复奇偶校验信息的备用块或者存储构成与第一高可靠性块的元数据相同的修复单元的其他元数据的高可靠性块。另外,通过执行修复模块443,可以修复在第一高可靠性块中发生的错误,例如,可以对与第一高可靠性块相对应的备用块执行访问操作,或者可以通过使用修复奇偶校验和构成修复单元的其他元数据的算术运算来修复错误。
在图5中,示出了通过软件来执行根据实施例的元数据管理操作和坏块管理操作的示例,但是实施例不限于此。例如,在图5的实施例中,可以通过使用以硬件实现的电路来执行通过执行加载到工作存储器440中的软件而执行的操作中的至少一些操作。
图6A和图6B是分别在一个示例中示出根据实施例的修复在元数据中发生的错误的概念框图。
参照图6A,示出了第一示例,其中,为元区域分配了存储元数据的第一高可靠性块EF 1至第四高可靠性块EF 4以及与之相对应的第一备用块Rsvd 1至第四备用块Rsvd 4。主机系统可以发出将元数据写入第一高可靠性块EF 1至第四高可靠性块EF 4的请求,并且作为数据镜像技术的一部分,存储系统可以将写入第一高可靠性块EF 1至第四高可靠性块EF4的元数据写入第一备用块Rsvd 1至第四备用块Rsvd 4。
例如,主机系统可以向存储系统提供指示第一高可靠性块EF 1的第一地址ADD11和元数据,并且存储系统可以将元数据写入第一高可靠性块EF 1中,并且还可以将元数据写入与第一高可靠性块EF 1相对应的第一备用块Rsvd 1中。存储系统可以知道指示第一备用块Rsvd 1的第二地址ADD21,并且可以在内部管理包括关于第一地址ADD11和第二地址ADD21的映射信息的块映射信息。随后,在第一高可靠性块EF 1被确定为坏块的情况下,当从主机系统接收到访问第一高可靠性块EF 1的元数据的请求时,存储系统可以将元数据写入第一备用块Rsvd 1中,或者可以从第一备用块Rsvd 1读取元数据。
此外,元数据部分可以包括修复信息(或修复单元),并且可以生成与修复单元相对应的修复奇偶校验信息并将其存储在元区域中。存储系统可以通过使用元数据部分来执行基于RAID的数据恢复算法,并且可以将基于执行恢复算法的结果而生成的所得的修复奇偶校验信息存储在备用块中。在图6B中,示出了另一示例,其中,第一元数据Meta DATA 1至第四元数据Meta DATA 4存储在第一高可靠性块EF 1至第四高可靠性块EF 4中,配置一个修复单元并且相应的修复奇偶校验信息存储在第一备用块中Rsvd 1。
当分别存储在第一高可靠性块EF 1至第四高可靠性块EF 4中的第一元数据MetaDATA 1至第四元数据Meta DATA 4中的至少一者的数据改变时,必须更新修复奇偶校验信息。因此,当第一高可靠性块EF 1被确定为坏块时,可以使用分别存储在第二高可靠性块EF2至第四高可靠性块EF 4中的第二元数据Meta DATA 2至第四元数据Meta DATA 4作为修复奇偶校验信息来修复第一元数据Meta DATA 1中的错误。
图7是在一个示例中示出可以用作主机系统的主机FTL 500的框图。参照图7,主机FTL 500可以被加载到主机系统的工作存储器(未示出)中,并且基于由软件实现的功能,主机FTL 500可以包括磨损均衡模块510、垃圾收集模块520、地址映射表530和请求生成模块540。主机FTL 500可以用于至少部分地控制OC-SSD。因此,主机FTL 500可以对OC-SSD执行管理操作、生成与管理操作相关联的元数据以及将所生成的元数据存储在OC-SSD中。磨损均衡模块510可以管理OC-SSD中包括的每个存储介质的磨损程度。存储介质的存储单元可能通过写入操作、擦除操作等而老化,并且老化的存储单元(或磨损的存储单元)可能导致缺陷。磨损均衡模块510可以管理擦除周期和与存储单元阵列相对应的程序,从而防止特定单元区域比其他单元区域更早地磨损。垃圾收集模块520可以布置存储数据碎片的块。例如,在闪存装置中,可以将擦除单元设置为大于编程单元,可以重复编程操作和擦除操作,并且随后可以执行通过使用任意空闲块来将分布在物理上不同的块中的有效数据收集在同一个块中的操作。可以基于垃圾收集模块520的操作来生成空闲块。另外,在OC-SSD环境中,主机系统可以在逻辑地址和相应的物理地址之间执行地址转换操作。所得的逻辑地址和物理地址之间的映射信息可以存储在地址映射表530中。另外,根据实施例,请求生成模块540可以生成与元区域的管理相关联的各种请求。例如,请求生成模块540可以基于关于存储系统的块信息来生成包括关于将被分配给元区域的一个或更多个块的信息的块分配请求。另外,根据以下描述的实施例,主机系统可以发出请求以为元区域另外分配备用块,并且请求生成模块540可以生成用于另外分配备用块的另外分配请求。另外,根据上述实施例,请求生成模块540可以执行与元区域相关联的各种处理操作。
图8是概述根据实施例的用于数据处理系统的操作方法的流程图。
参照图8,数据处理系统可以包括具有主机FTL和OC-SSD的主机系统。根据实施例,可以以确保元数据的可靠性的方式至少部分地使用OC-SSD来管理元数据的存储。
作为操作示例,与OC-SSD相对应的存储系统可以被适当地格式化并被连接到主机系统(S11)。可以通过对数据处理系统执行初始化操作来完成这种格式化和连接。在初始化过程期间,可以将描述存储系统的信息提供给主机系统,例如标识存储系统中包括的高可靠性块(EF)的数量和相应位置的信息以及指示由存储系统支持的修复操作的信息。
然后,主机系统可以向存储系统发出块分配请求Req_BLK。作为响应,存储系统管理存储器资源,使得至少一个高可靠性块被指定用于存储诸如元数据的关键数据。作为该管理过程的一部分,可以将修复操作应用于元数据。
例如,根据上述实施例,标识能够存储元数据的高可靠性块的数量和/或位置的信息可以被包括在块分配请求Req_BLK中。因此,基于从主机系统接收到的块分配请求Req_BLK,存储系统可以从可用于存储元数据的元区域分配高可靠性块(S12)。根据上述实施例,可以将用于修复元数据中的错误的一个或更多个备用块和一个或更多个高可靠性块分配给元区域。
随后,当执行存储操作时,主机系统可以向存储系统提供对元数据的写入请求,并且可以向存储系统传送指示元数据将被写入的块位置的信息(S13)。存储系统可以将元数据存储在主机系统指示的位置处的块中,并且可以执行与修复元数据的错误相关联的处理操作(S14)。例如,在应用数据镜像操作的情况下,可以将在由主机系统指示的高可靠性块中写入的元数据相同地写入相应的备用块。或者,在应用修复奇偶校验操作的情况下,可以将基于元数据生成的修复奇偶校验信息写入备用块中。
随后,主机系统可以将用于读取元数据的读取请求和指示用于存储元数据的块的位置的信息传送给存储系统(S15)。
存储系统可以确定被请求读取元数据的块是否对应于坏块(S16)。例如,存储系统可以定期地或在写入和/或读取数据的过程期间确定块中是否发生缺陷,并且基于确定的结果,存储系统可以将对应的块确定为坏块。另外,当被请求读取元数据的块对应于坏块时,存储系统可以读取作为镜像的并被存储在备用块中的元数据,或者可以通过使用存储在备用块中的修复奇偶校验来修复元数据并将修复的元数据提供给主机系统(S17)。另一方面,当相应的块不是坏块时,可以从主机系统请求的位置的高可靠性块中读取元数据(S18)。
图9A和图9B是在一个示例中示出根据实施例的数据处理系统的相关概念图。图9A和图9B共同示出了用于确保元数据的完整性的备用块被用尽的操作示例。
参照图9A,主机系统HOST可以向OC-SSD提供用于写入和读取元数据的访问请求,并且OC-SSD可以将读取的元数据提供给主机系统HOST,或者可以将诸如表示元数据的写入已完成的信息的访问结果传送给主机系统HOST。另外,OC-SSD可以在访问元数据的过程中通过使用备用块来执行确保元数据的完整性的处理操作,并且可以确定备用块是否被用尽。
可以基于各种技术来确定备用块是否被用尽。例如,当OC-SSD的元区域处于难以确保元数据的完整性的状态时,可以确定备用块被用尽。例如,在应用数据镜像技术的情况下,可以将一个高可靠性块(例如,第一高可靠性块)的元数据存储在相应的备用块中,并且当第一高可靠性块被确定为坏块时,可以访问与其相对应的备用块。在这种情况下,当备用块也被确定为坏块时,可能难以确保存储在第一高可靠性块中的元数据的完整性,在这种情况下,可以确定备用块已被用尽。
主机系统HOST可以接收确定备用块是否被用尽的结果,并且可以将用于另外请求备用块的另外分配请求传送给OC-SSD。根据实施例,考虑到应用于OC-SSD的修复操作,主机系统HOST可以发出用于另外分配备用块的请求,并且要另外分配的备用块的数量和位置可以被包括在另外分配请求中。OC-SSD可以将另外块作为备用块分配给元区域,并且可以将分配结果传送给主机系统HOST。
在数据处理系统中可能发生各种情况,例如,当发生不希望的突然断电(SPO)时,OC-SSD可以存储与上述的高可靠性块、备用块和另外分配的备用块相关联的信息。随后,当数据处理系统被通电时,OC-SSD可以自动地或基于主机系统HOST的请求来访问元数据,例如,由于仅访问了元区域中包括的块(例如,高可靠性块和备用块),所以可以读取元数据并将其提供给主机系统HOST。例如,主机系统HOST可以仅访问元区域中包括的块,而不管来自OC-SSD的信息如何,因此可以获取元数据。或者,OC-SSD可以知道关于元区域的块的信息,因此,可以将该信息提供给主机系统HOST,从而提高管理元数据的效率。
此外,参照图9B,示出了为元区域另外分配一个或更多个备用块的示例。例如,当元区域中包括的一个或更多个高可靠性块被确定为坏块,并且与其相对应的备用块也被确定为坏块时,可以为元区域分配另外的备用块。例如,在图9B中,示出了,当第一高可靠性块EF 1和第二高可靠性块EF 2以及与其相对应的备用块Rsvd 1和Rsvd 2被确定为坏块时,基于第一高可靠性块EF 1和第二高可靠性块EF 2可以分配备用块Rsvd 11和Rsvd 12。
图10是示出根据实施例的数据处理系统600的框图。
参照图10,数据处理系统600可以包括主机系统610和存储系统620,主机系统610可以包括主机FTL 611,并且存储系统620可以包括控制器621和存储装置622。尽管图10中未示出,但是存储装置622可以包括多个存储介质,并且每个存储介质可以包括多个块。另外,每个存储介质可以包括至少一个高可靠性块。根据上述实施例,存储系统620可以将关于包括在存储介质中的块的块信息Info_BLK传送到主机系统610,并且主机系统610可以将包括关于将要用于存储元数据的一个或更多个块的信息的块分配请求Req_BLK传送到存储系统620。
根据上述实施例,元区域的块的管理可以由存储系统620执行,为此,控制器621可以包括坏块管理器621_1。坏块管理器621_1可以确定存储装置622中包括的多个块中的与存储元数据相关联的块(或元区域中包括的块)是否是坏块,并且可以对其执行管理操作。例如,当确定元区域的一个块是坏块时,坏块管理器621_1可以将对坏块的访问替换为对另一个块的访问,并且可以管理包括与块的替换相关联的信息的块映射。
此外,主机系统610的主机FTL 611可以管理用于存储用户数据的块中的坏块,因此,主机FTL 611可以包括与用户数据相关联的坏块管理器。例如,可以由存储系统620来执行确定块是否为坏块,并且存储系统620可以向主机系统610提供与存储用户数据的多个块中的被确定为坏块的块有关的信息。主机系统610可以将对被确定为坏块的块的访问替换为对另一个块的访问,并且可以由主机系统610管理存储用户数据的块的块映射。另外,主机系统610可以将包括存储用户数据的块的块映射的元数据存储在存储装置622的元区域中。
图11A和图11B是示出可以在存储系统中执行的块分配操作的各种示例的框图。
存储装置中包括的多个块中的一些块可以被管理为高可靠性块。根据上述实施例,存储装置的多个块中的一些块可以对应于高可靠性块,例如,基于单电平单元存储数据的块可以对应于高可靠性块,或基于存储系统自主执行的测试结果,可以将具有良好特性的块设置为高可靠性块。或者,在制造存储系统的过程中,可以实现对一些块执行的处理,以使其可靠性相对高于其他块的可靠性,并且可以将对应的块设置为高可靠性块。
参照图11A,在设置包括要存储元数据的块的元区域Reg_Meta时,当高可靠性块被包括在存储装置中时,高可靠性块的数据的可靠性会相对高,并且发生错误的可能性会非常低,因此,仅高可靠性块可以被包括在元区域Reg_Meta中。在这种情况下,存储系统或主机系统可以不将用于修复操作的备用块分配给用于存储元数据的元区域Reg_Meta。
另一方面,如图11B所示,在一些实施例中,存储装置可以仅包括普通块BLK_N而不管理单独的高可靠性块,在这种情况下,可以为元区域Reg_Meta分配存储元数据的普通块BLK_N和用于与该元数据相对应的修复操作的一个或更多个备用块Rsvd。也就是说,尽管普通块BLK_N发生错误的概率高于上述的高可靠性块,但是可以通过一个或更多个备用块Rsvd应用修复操作,因此,可以确保元数据的可靠性。
图12A和图12B是示出在包括多个存储介质的SSD中为元区域分配块的示例的框图。
参照图12A,数据处理系统700可以包括主机系统710和SSD 720。SSD 720可以对应于根据上述实施例的开放通道SSD,通过信号连接器SGL将信号传送到主机系统710和从主机系统710接收信号,并通过电源连接器PWR接收电力。SSD 720可以包括SSD控制器721、辅助电源722以及多个存储系统723、724和725(即,Flash 1、Flash 2和Flash n)。多个存储系统723、724和725均可以包括作为存储装置的一个或更多个闪存装置。另外,每个闪存装置可以包括一个或更多个裸片DIE,并且可以在每个裸片DIE中提供一个或更多个块。
根据上述实施例,SSD控制器721可以通过多个通道Ch1至Chn与多个存储系统723、724和725通信,并且可以对SSD 720中的存储元数据的块执行管理操作。另外,可以通过对块执行的管理操作来生成与块映射相关联的信息,并且与块映射相关联的信息可以被任意地存储在控制器721的易失性存储器721_1中,并且可以被非易失性地存储在多个存储系统723、724和725中。另外,控制器721可以包括用于对存储元数据的块执行管理操作的坏块管理器(未示出),并且坏块管理器可以基于硬件、软件或它们的组合实现。
根据上述实施例,存储元数据的元区域可以包括高可靠性块和备用块。例如,在修复操作使用数据镜像技术的情况下,可以选择一个高可靠性块(例如,第一高可靠性块)和与其相对应的备用块(例如,第一备用块),并且可以基于各种技术选择第一高可靠性块和与其相对应的第一备用块。例如,第一高可靠性块和与其相对应的第一备用块可以在连接到相同通道的存储系统中选择,或者可以在一个通道中包括的多个闪存装置中的一个闪存装置中选择。或者,每个闪存装置可以包括多个裸片DIE,并且可以在同一芯片中选择第一高可靠性块和与其相对应的第一备用块。
图12B示出了根据实施例的块选择示例,例如,第一闪存装置Flash 1被示出为连接到第一通道Ch1的一个闪存装置。第一闪存装置Flash 1可以包括多个裸片DIE,并且示出了多个裸片中的第一裸片DIE1 723_11和第二裸片DIE2 723_12。另外,第一裸片DIE1和第二裸片DIE2均可以包括多个块。
主机系统可以发出为第一闪存装置Flash 1分配多个高可靠性块的请求,例如,可以为元区域分配设置在第一裸片DIE 1中的第一高可靠性块EF 1和设置在第二裸片DIE 2中的第二高可靠性块EF 2。在这种情况下,可以进一步为元区域分配与修复操作有关的待使用的一个或更多个备用块,例如,可以在第一裸片DIE 1中选择与第一高可靠性块EF 1相对应的第一备用块Rsvd 1,并且可以在第二裸片DIE 2中选择与第二高可靠性块EF 2相对应的第二备用块Rsvd 2。例如,可以在控制器721与多个存储系统723、724和725之间执行并行通信,此时,可以选择备用块,使得与修复元数据的错误有关的数据访问不影响另一个存储器的数据通信。
图13是示出根据实施例的包括服务器系统的网络系统800的框图。在图13中,示出了服务器系统和多个终端(例如,计算节点),并且服务器系统可以利用根据上述实施例的数据处理系统来实现。
参照图13,网络系统800可以包括通过网络820执行通信的服务器系统810和多个终端831_1至831_n。服务器系统810可以包括服务器811和与存储系统相对应的SSD 812。服务器811可以执行根据上述实施例的主机系统的功能。
服务器811可以处理从连接到网络820的多个终端831_1到831_n传送的请求。例如,服务器811可以将从多个终端831_1至831_n提供的数据存储在SSD 812中。另外,在将数据存储在SSD 812中时,元数据可以被存储在SSD 812中以便管理SSD 812。根据上述实施例,服务器811可以向SSD 812发出分配用于存储元数据的块的请求,并且SSD 812可以对存储元数据的块执行分配,并且可以对所分配的块执行坏块确定操作和管理操作。另外,可以应用用于增强元数据的可靠性的修复操作。
虽然已经参照本发明构思的实施例具体示出和描述了本发明构思,但是应当理解的是,在不脱离所附权利要求的精神和范围的情况下,可以在其中进行形式和细节上的各种改变。

Claims (20)

1.一种与主机系统通信的存储系统,所述存储系统包括:
存储装置,所述存储装置包括存储介质,所述存储介质被划分为包括高可靠性块和备用块的多个块;和
控制器,所述控制器被配置为:
向所述主机系统提供标识所述多个块中的所述高可靠性块的块信息,
从所述主机系统接收块分配请求,其中,所述块分配请求是参考所述块信息来限定的,并且标识要用于存储元数据的所述高可靠性块中的至少一个高可靠性块,以及
响应于所述块分配请求,将所述高可靠性块中的所述至少一个高可靠性块分配给元区域;
其中,所述控制器包括:坏块管理器,被配置为管理响应于所述块分配请求而执行的块分配操作,以及修复存储在所述高可靠性块中的所述至少一个高可靠性块中的所述元数据中的错误。
2.根据权利要求1所述的存储系统,其中,所述块分配请求包括标识所述高可靠性块中的所述至少一个高可靠性块的数量以及所述高可靠性块中的所述至少一个高可靠性块中的每一个高可靠性块的相应位置的信息。
3.根据权利要求1所述的存储系统,其中,所述控制器还被配置为响应于所述块分配请求来分配所述备用块中的至少一个备用块。
4.根据权利要求3所述的存储系统,其中,所述坏块管理器还被配置为:当所述高可靠性块中的所述至少一个高可靠性块中的一个高可靠性块被确定为坏块时,将描述所述高可靠性块中的所述至少一个高可靠性块的块映射信息管理为对应地映射到所述备用块中的所述至少一个备用块。
5.根据权利要求3所述的存储系统,其中,所述控制器还被配置为:当所述备用块中的所述至少一个备用块中的一个备用块被用尽时,向所述主机系统传送标识所述备用块中的所述至少一个备用块被用尽的信息,并且
所述控制器还被配置为:响应于来自所述主机系统的请求分配所述备用块中的另外备用块的请求,另外将所述另外备用块分配给所述元区域。
6.根据权利要求3所述的存储系统,其中,所述块信息包括标识由所述存储系统支持的至少一种修复操作的信息,并且
所述块分配请求还标识所述至少一种修复操作中的要用于修复存储在所述高可靠性块中的所述至少一个高可靠性块中的元数据的所选择的修复操作。
7.根据权利要求6所述的存储系统,其中,所述所选择的修复操作使用数据镜像技术,并且将存储在所述高可靠性块中的所述至少一个高可靠性块中的所述元数据写入到所述备用块中的所述至少一个备用块中的相应备用块中。
8.根据权利要求6所述的存储系统,其中,所述所选择的修复操作使用修复奇偶校验技术,并且将修复奇偶校验信息写入所述备用块中的所述至少一个备用块中,并且
存储元数据的所述高可靠性块中的所述至少一个高可靠性块的数量大于存储所述修复奇偶校验信息的所述备用块中的所述至少一个备用块的数量。
9.根据权利要求1所述的存储系统,其中,所述控制器还包括接口电路,所述接口电路被配置为使用非易失性存储器快速接口与所述主机系统通信,使得所述块信息和所述块分配请求经由所述接口电路进行传送。
10.根据权利要求1所述的存储系统,其中,所述存储介质包括由在所述主机系统中运行的闪存转换层管理的多个闪存装置。
11.根据权利要求1所述的存储系统,其中,所述控制器还包括处理器和能够由所述处理器访问的工作存储器,并且
所述坏块管理器包括被加载在所述工作存储器中并由所述处理器执行的程序,其中,所述程序实现:
元区域管理模块,所述元区域管理模块被配置为响应于所述块分配请求将所述高可靠性块中的所述至少一个高可靠性块和所述备用块中的至少一个备用块分配给所述元区域;
坏块管理模块,所述坏块管理模块被配置为响应于对所述元区域的所述高可靠性块中的所述至少一个高可靠性块执行的坏块确定来管理块映射信息;和
修复模块,所述修复模块被配置为使用存储在所述备用块中的所述至少一个备用块中的信息来对存储在所述高可靠性块中的所述至少一个高可靠性块中的所述元数据执行修复操作。
12.根据权利要求1所述的存储系统,其中,所述存储系统包括开放通道固态驱动器,所述开放通道固态驱动器被配置为接收指示所述主机系统访问元数据的位置的物理地址。
13.一种包括多个块的存储系统的操作方法,所述操作方法包括:
从主机系统接收块分配请求,所述块分配请求标识所述多个块中的要用于存储元数据的高可靠性块以及与所述高可靠性块相对应的备用块;
响应于所述块分配请求,将所述高可靠性块分配给元区域;
响应于所述块分配请求,将所述备用块分配给所述元区域;
响应于从所述主机系统接收到的元数据写入请求,将元数据写入所述高可靠性块;
确定所述高可靠性块是否为坏块;和
一旦确定所述高可靠性块是坏块,就向所述主机系统传达所述高可靠性块是坏块,并修复存储在所述高可靠性块中的所述元数据。
14.根据权利要求13所述的操作方法,所述操作方法还包括:
向所述主机系统提供标识所述高可靠性块的数量的块信息,其中,所述块分配请求参考所述块信息。
15.根据权利要求13所述的操作方法,所述操作方法还包括:
响应于所述元数据写入请求,将所述元数据写入所述备用块,以对写入到所述高可靠性块的所述元数据进行镜像,
其中,使用写入所述备用块的所述元数据来修复存储在所述高可靠性块中的所述元数据。
16.根据权利要求13所述的操作方法,所述操作方法还包括:
从存储在所述高可靠性块中的所述元数据生成修复奇偶校验信息,并将所述修复奇偶校验信息存储在所述备用块中,
其中,使用写入所述备用块的所述修复奇偶校验信息修复存储在所述高可靠性块中的所述元数据。
17.根据权利要求13所述的操作方法,所述操作方法还包括:
确定所述备用块是否已被用尽;和
一旦确定所述备用块已被用尽,就向所述主机系统传送标识所述备用块为已用尽的备用块的信息。
18.一种与包括多个块的存储系统通信的主机系统,所述主机系统包括:
主机闪存转换层,所述主机闪存转换层管理所述多个块,其中,所述主机闪存转换层包括请求生成模块,所述请求生成模块生成块分配请求,所述块分配请求用于分配所述多个块中的要用于存储元数据的多个高可靠性块中的至少一个高可靠性块;和
接口电路,所述接口电路被配置为与所述存储系统通过接口进行连接,以接收标识所述多个高可靠性块的块信息,并将来自所述主机系统的块分配请求传送到所述存储系统,其中,所述块分配请求包括标识所述多个高可靠性块中的所述至少一个高可靠性块的数量和所述多个高可靠性块中的所述至少一个高可靠性块中的每一个高可靠性块的相应位置的信息。
19.根据权利要求18所述的主机系统,其中,所述块分配请求还包括:标识在对存储在所述多个高可靠性块中的所述至少一个高可靠性块中的元数据执行的修复操作期间使用的至少一个备用块的信息。
20.根据权利要求18所述的主机系统,其中,所述主机系统被配置为:当所述主机系统被断电之后被供电时,访问存储元数据的所述多个高可靠性块中的所述至少一个高可靠性块。
CN202010745090.2A 2019-10-02 2020-07-29 存储系统、主机系统和存储系统的操作方法 Pending CN112597069A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2019-0122654 2019-10-02
KR1020190122654A KR20210039871A (ko) 2019-10-02 2019-10-02 메타 데이터를 관리하는 스토리지 시스템, 스토리지 시스템을 제어하는 호스트 시스템 및 스토리지 시스템의 동작방법

Publications (1)

Publication Number Publication Date
CN112597069A true CN112597069A (zh) 2021-04-02

Family

ID=70977712

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010745090.2A Pending CN112597069A (zh) 2019-10-02 2020-07-29 存储系统、主机系统和存储系统的操作方法

Country Status (4)

Country Link
US (1) US11726688B2 (zh)
EP (1) EP3800554B1 (zh)
KR (1) KR20210039871A (zh)
CN (1) CN112597069A (zh)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019222958A1 (en) 2018-05-24 2019-11-28 Alibaba Group Holding Limited System and method for flash storage management using multiple open page stripes
WO2020000136A1 (en) 2018-06-25 2020-01-02 Alibaba Group Holding Limited System and method for managing resources of a storage device and quantifying the cost of i/o requests
US11327929B2 (en) 2018-09-17 2022-05-10 Alibaba Group Holding Limited Method and system for reduced data movement compression using in-storage computing and a customized file system
US11061735B2 (en) 2019-01-02 2021-07-13 Alibaba Group Holding Limited System and method for offloading computation to storage nodes in distributed system
US10860223B1 (en) 2019-07-18 2020-12-08 Alibaba Group Holding Limited Method and system for enhancing a distributed storage system by decoupling computation and network tasks
US11617282B2 (en) 2019-10-01 2023-03-28 Alibaba Group Holding Limited System and method for reshaping power budget of cabinet to facilitate improved deployment density of servers
US11449455B2 (en) 2020-01-15 2022-09-20 Alibaba Group Holding Limited Method and system for facilitating a high-capacity object storage system with configuration agility and mixed deployment flexibility
US11379447B2 (en) 2020-02-06 2022-07-05 Alibaba Group Holding Limited Method and system for enhancing IOPS of a hard disk drive system based on storing metadata in host volatile memory and data in non-volatile memory using a shared controller
US11449386B2 (en) 2020-03-20 2022-09-20 Alibaba Group Holding Limited Method and system for optimizing persistent memory on data retention, endurance, and performance for host memory
US11385833B2 (en) 2020-04-20 2022-07-12 Alibaba Group Holding Limited Method and system for facilitating a light-weight garbage collection with a reduced utilization of resources
US11281575B2 (en) 2020-05-11 2022-03-22 Alibaba Group Holding Limited Method and system for facilitating data placement and control of physical addresses with multi-queue I/O blocks
US11461262B2 (en) 2020-05-13 2022-10-04 Alibaba Group Holding Limited Method and system for facilitating a converged computation and storage node in a distributed storage system
US11494115B2 (en) 2020-05-13 2022-11-08 Alibaba Group Holding Limited System method for facilitating memory media as file storage device based on real-time hashing by performing integrity check with a cyclical redundancy check (CRC)
US11507499B2 (en) 2020-05-19 2022-11-22 Alibaba Group Holding Limited System and method for facilitating mitigation of read/write amplification in data compression
US11556277B2 (en) 2020-05-19 2023-01-17 Alibaba Group Holding Limited System and method for facilitating improved performance in ordering key-value storage with input/output stack simplification
US11263132B2 (en) 2020-06-11 2022-03-01 Alibaba Group Holding Limited Method and system for facilitating log-structure data organization
US11422931B2 (en) 2020-06-17 2022-08-23 Alibaba Group Holding Limited Method and system for facilitating a physically isolated storage unit for multi-tenancy virtualization
US11354200B2 (en) 2020-06-17 2022-06-07 Alibaba Group Holding Limited Method and system for facilitating data recovery and version rollback in a storage device
US11354233B2 (en) * 2020-07-27 2022-06-07 Alibaba Group Holding Limited Method and system for facilitating fast crash recovery in a storage device
US11372774B2 (en) 2020-08-24 2022-06-28 Alibaba Group Holding Limited Method and system for a solid state drive with on-chip memory integration
US11487465B2 (en) 2020-12-11 2022-11-01 Alibaba Group Holding Limited Method and system for a local storage engine collaborating with a solid state drive controller
US11734115B2 (en) 2020-12-28 2023-08-22 Alibaba Group Holding Limited Method and system for facilitating write latency reduction in a queue depth of one scenario
US11416365B2 (en) 2020-12-30 2022-08-16 Alibaba Group Holding Limited Method and system for open NAND block detection and correction in an open-channel SSD
US11726699B2 (en) 2021-03-30 2023-08-15 Alibaba Singapore Holding Private Limited Method and system for facilitating multi-stream sequential read performance improvement with reduced read amplification
US11461173B1 (en) 2021-04-21 2022-10-04 Alibaba Singapore Holding Private Limited Method and system for facilitating efficient data compression based on error correction code and reorganization of data placement
US11476874B1 (en) 2021-05-14 2022-10-18 Alibaba Singapore Holding Private Limited Method and system for facilitating a storage server with hybrid memory for journaling and data storage

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100526186B1 (ko) 2003-04-04 2005-11-03 삼성전자주식회사 플래시 메모리의 오류블록 관리방법 및 장치
US7336531B2 (en) * 2004-06-25 2008-02-26 Micron Technology, Inc. Multiple level cell memory device with single bit per cell, re-mappable memory block
KR101226685B1 (ko) 2007-11-08 2013-01-25 삼성전자주식회사 수직형 반도체 소자 및 그 제조 방법.
US9477587B2 (en) 2008-04-11 2016-10-25 Micron Technology, Inc. Method and apparatus for a volume management system in a non-volatile memory device
KR100982440B1 (ko) 2008-06-12 2010-09-15 (주)명정보기술 단일 플래시 메모리의 데이터 관리시스템
WO2011080768A1 (en) * 2009-12-29 2011-07-07 Ferdinando Bedeschi Memory devices comprising partitions with particular ecc attributes
KR101691092B1 (ko) 2010-08-26 2016-12-30 삼성전자주식회사 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템
US8553466B2 (en) 2010-03-04 2013-10-08 Samsung Electronics Co., Ltd. Non-volatile memory device, erasing method thereof, and memory system including the same
US9536970B2 (en) 2010-03-26 2017-01-03 Samsung Electronics Co., Ltd. Three-dimensional semiconductor memory devices and methods of fabricating the same
KR101682666B1 (ko) 2010-08-11 2016-12-07 삼성전자주식회사 비휘발성 메모리 장치, 그것의 채널 부스팅 방법, 그것의 프로그램 방법 및 그것을 포함하는 메모리 시스템
US9251019B2 (en) * 2012-05-29 2016-02-02 SanDisk Technologies, Inc. Apparatus, system and method for managing solid-state retirement
KR20160028680A (ko) 2014-09-04 2016-03-14 삼성전자주식회사 데이터 저장 장치와 이의 작동 방법
US20170123881A1 (en) 2015-10-30 2017-05-04 Samsung Electronics Co., Ltd. Test method of volatile memory device embedded in electronic device
TW201818248A (zh) 2016-11-15 2018-05-16 慧榮科技股份有限公司 可應用於資料儲存裝置之記憶體管理方法
US10073640B1 (en) 2017-03-10 2018-09-11 Toshiba Memory Corporation Large scale implementation of a plurality of open channel solid state drives
JP2018181202A (ja) 2017-04-20 2018-11-15 富士通株式会社 ストレージ制御装置、ストレージ制御方法及びストレージ制御プログラム
US10860228B1 (en) * 2019-06-24 2020-12-08 Western Digital Technologies, Inc. Method to switch between traditional SSD and open-channel SSD without data loss

Also Published As

Publication number Publication date
US11726688B2 (en) 2023-08-15
US20210103388A1 (en) 2021-04-08
KR20210039871A (ko) 2021-04-12
EP3800554B1 (en) 2022-04-13
EP3800554A1 (en) 2021-04-07

Similar Documents

Publication Publication Date Title
US11726688B2 (en) Storage system managing metadata, host system controlling storage system, and storage system operating method
US20180341606A1 (en) Offloaded Disaggregated Storage Architecture
KR102533207B1 (ko) 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템
CN111506516B (zh) 数据存储装置及数据存储装置的操作方法
US9524105B2 (en) Process and apparatus to reduce declared capacity of a storage device by altering an encoding format
US11086772B2 (en) Memory system performing garbage collection operation and operating method of memory system
US20210182202A1 (en) Memory system and data processing system including the same
CN111061653A (zh) 数据存储装置及其操作方法
CN109727630B (zh) 存储系统及其操作方法
CN112513804A (zh) 一种数据处理方法及装置
KR20200132495A (ko) 메모리 시스템, 컨트롤러 및 컨트롤러의 동작 방법
KR20210038753A (ko) 데이터 저장 장치 및 그 동작 방법
CN111752858A (zh) 控制器、存储器系统及其操作方法
CN115458013A (zh) 存储装置及其操作方法
US11243888B2 (en) Data storage apparatus and operating method thereof
CN114764396A (zh) 数据存储装置及其操作方法
KR20190121461A (ko) 전자 장치
CN113553631A (zh) 用于在存储器系统中保护数据的设备和方法
CN113885782A (zh) 存储装置及其操作方法
CN108804338B (zh) 数据存储装置及其操作方法
US9582202B2 (en) Process and apparatus to reduce declared capacity of a storage device by moving data
CN114360620A (zh) 检查非易失性存储器装置的错误的设备和方法
CN113805793A (zh) 存储装置及其操作方法
US20160062678A1 (en) Process and Apparatus to Reduce Declared Capacity of a Storage Device by Deleting Data
KR20210079894A (ko) 데이터 저장 장치 및 그것의 동작 방법

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