CN110688060A - 存储器系统及该存储器系统的操作方法 - Google Patents

存储器系统及该存储器系统的操作方法 Download PDF

Info

Publication number
CN110688060A
CN110688060A CN201910119016.7A CN201910119016A CN110688060A CN 110688060 A CN110688060 A CN 110688060A CN 201910119016 A CN201910119016 A CN 201910119016A CN 110688060 A CN110688060 A CN 110688060A
Authority
CN
China
Prior art keywords
memory
block
pages
threshold
garbage collection
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.)
Granted
Application number
CN201910119016.7A
Other languages
English (en)
Other versions
CN110688060B (zh
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.)
SK Hynix Inc
Original Assignee
Hynix Semiconductor 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
Application filed by Hynix Semiconductor Inc filed Critical Hynix Semiconductor Inc
Publication of CN110688060A publication Critical patent/CN110688060A/zh
Application granted granted Critical
Publication of CN110688060B publication Critical patent/CN110688060B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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/0608Saving storage space on storage systems
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • 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/061Improving I/O performance
    • 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/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]
    • 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/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • 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

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)
  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开一种存储器系统,该存储器系统包括:存储器装置,具有开放块和封闭存储块;页面计数单元,每当数据被编程在开放块中时对开放块中的编程页面的数量进行计数,并且对封闭存储块的有效页面的数量进行计数;有效页面减少量计数单元,计算映射更新操作前后封闭存储块中减少的有效页面的总和;以及垃圾收集单元,当包括在存储器装置中的空闲块的数量小于第一阈值并大于第二阈值,并且开放块中的编程页面的数量与减少的有效页面的总和的比率大于或等于第四阈值时,对牺牲块执行垃圾收集操作。

Description

存储器系统及该存储器系统的操作方法
相关申请的交叉引用
本申请要求于2018年7月4日提交的申请号为10-2018-0077802的韩国专利申请的优先权,该韩国专利申请的全部内容通过引用并入本文。
技术领域
本发明的示例性实施例涉及一种存储器系统,并且更特别地,涉及一种可有效执行垃圾收集操作的存储器系统及用于操作该存储器系统的方法。
背景技术
计算机环境范例已经转变为能够随时随地使用计算系统的普适计算。因此,诸如移动电话、数码相机和膝上型计算机的便携式电子装置的使用已经迅速增加。这些便携式电子装置通常使用具有一个或多个存储器装置的存储器系统来存储数据。存储器系统可用作便携式电子装置的主存储器装置或辅助存储器装置。
与硬盘装置相比,因为存储器系统没有移动部件,所以存储器系统提供优良的稳定性、耐用性、高信息存取速度和低功耗。具有这些优点的存储器系统的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡和固态驱动器(SSD)。
发明内容
本发明的实施例涉及一种可有效执行垃圾收集操作的存储器系统。
根据本发明的实施例,一种存储器系统包括:存储器装置,包括开放块和封闭存储块;页面计数单元,适于每当数据被编程在开放块中时对开放块中的编程页面的数量进行计数,并对封闭存储块的有效页面的数量进行计数;有效页面减少量计数单元,适于计算映射更新操作前后封闭存储块中减少的有效页面的总和;以及垃圾收集单元,适于当包括在存储器装置中的空闲块的数量小于第一阈值并大于第二阈值,并且开放块中的编程页面的数量与减少的有效页面的总和的比率大于或等于第四阈值时,对牺牲块执行垃圾收集操作。
根据本发明的另一个实施例,一种用于操作存储器系统的方法包括:每当数据被编程在开放块中时对开放块中的编程页面的数量进行计数,并且对封闭存储块的有效页面的数量进行计数;计算映射更新操作前后封闭存储块中减少的有效页面的总和;并且当包括在存储器装置中的空闲块的数量小于第一阈值并大于第二阈值,并且开放块中的编程页面的数量与减少的有效页面的总和的比率大于或等于第四阈值时,对牺牲块执行垃圾收集操作。
根据本发明的另一个实施例,一种存储器系统包括:存储器装置,包括多个存储块,多个存储块包括开放块和封闭存储块;以及控制器,适于控制存储器装置以对存储器装置进行编程,其中控制器:对开放块的页面进行编程并减少封闭存储块中的有效页面的数量;并且基于空闲块的数量和开放块的编程页面的数量与减少的封闭存储块中的有效页面的数量的比率,选择性地执行垃圾收集操作。
附图说明
图1是示出根据本发明的实施例的包括存储器系统的数据处理系统的框图。
图2是示出图1中所示的存储器系统中采用的存储器装置的示图。
图3是示出图1中所示的存储器装置中的存储块的存储器单元阵列的电路图。
图4是示出根据本发明的实施例的存储器系统的存储器装置的结构的框图。
图5是示出根据本发明的实施例的存储器系统的结构的框图。
图6是示出根据本发明的实施例的存储器系统的操作的流程图。
图7示出基于第一阈值和第二阈值的垃圾收集操作。
图8示出基于第三阈值和第四阈值的垃圾收集操作。
图9至图17是示出根据本发明的各个实施例的数据处理系统的示例性应用的示图。
具体实施方式
下文将参照附图更详细地描述本发明的示例性实施例。然而,本发明可以不同形式实施,并且不应当被解释为限于本文中所阐述的实施例。而是,提供这些实施例使得本公开将是彻底且充分的,并且将本发明的范围全面地传达给本领域技术人员。在整个公开中,相同的附图标记在本发明的各个附图和实施例中表示相同的部分。
将理解的是,尽管本文中可使用术语“第一”、“第二”、“第三”等来标识各个元件,但是这些元件不受这些术语限制。这些术语用于将一个元件与另一个元件区分开,否则一个元件与另一个元件具有相同或相似的名称。因此,在不脱离本发明的精神和范围的情况下,以下描述的第一元件也可被称为第二元件或第三元件。
附图不一定按比例绘制,并且在一些情况中,可以放大比例以清楚地示出实施例的特征。当元件被称为连接或联接到另一个元件时,应当理解的是,前者可以直接连接或联接到后者,或者通过一个或多个中间元件电连接或联接到后者。
将进一步理解的是,当元件被称为“连接到”或“联接到”另一个元件时,该元件可直接在另一个元件上、直接连接到或直接联接到另一个元件,或者可存在一个或多个中间元件。此外,还将理解的是,当元件被称为在两个元件“之间”时,该元件可以是这两个元件之间的唯一元件,或者也可存在一个或多个中间元件。
本文中使用的术语用于描述特定的实施例,而不旨在限制本发明。
如本文中使用的,除非上下文另有明确说明,否则单数形式旨在包括复数形式,反之亦然。
将进一步理解的是,当在本说明中使用术语“包括”、“包括有”、“包含”、“包含有”时,指明所陈述元件的存在,但不排除存在或添加一个或多个其它元件。如本文中使用的,术语“和/或”包括一个或多个所列项目的任意和所有组合。
除非另有定义,否则本文中使用的包括技术术语和科学术语的所有术语具有与本发明所属领域的普通技术人员根据本公开所通常理解的含义相同的含义。将进一步理解的是,诸如在通常使用的字典中所定义的术语的术语应当被解释为具有与在本公开和相关技术的背景下的含义一致的含义,并且不应当以理想化或过于正式的意义来解释,除非本文中明确地如此定义。
在以下描述中,阐述了众多具体细节以提供对本发明的全面理解。可以在没有部分或全部这些具体细节的情况下实践本发明。在其它情况下,没有详细描述众所周知的进程结构和/或进程,以免不必要地使本发明模糊。
还应当注意的是,在一些情况下,如对于相关领域的技术人员显而易见的是,除非另有明确说明,否则结合一个实施例所描述的特征或元件可单独使用或与另一个实施例的其它特征或元件组合使用。
图1是示出根据本发明的实施例的包括存储器系统110的数据处理系统100的框图。
参照图1,数据处理系统100可包括可操作地联接到存储器系统110的主机102。
主机102可包括诸如移动电话、MP3播放器和膝上型计算机的各种便携式电子装置中的任意一种,或者诸如台式计算机、游戏机、电视(TV)和投影仪的各种非便携式电子装置中的任意一种。
主机102可包括至少一个操作系统(OS)或者多个操作系统。主机102可执行OS以在存储器系统110上执行与用户请求对应的操作。此处,主机102可以向存储器系统110提供与用户请求对应的多个指令。因此,存储器系统110可执行与多个指令对应,即,与用户请求对应的某些操作。OS可管理并控制主机102的全部功能和操作。OS可支持主机102和使用数据处理系统100或存储器系统110的用户之间的操作。
存储器系统110可响应于来自主机102的请求操作或执行特定功能或操作,并且特别是,可存储待由主机102访问的数据。存储器系统110可用作主机102的主存储器系统或辅助存储器系统。存储器系统110可利用根据主机接口的协议,可与主机102电联接的各种类型的存储装置中的任意一种来实施。存储器系统110的非限制性示例包括固态驱动器(SSD)、多媒体卡(MMC)和嵌入式MMC(eMMC)。
存储器系统110可包括各种类型的存储装置。这种存储装置的非限制性示例包括诸如动态随机存取存储器(DRAM)和静态RAM(SRAM)的易失性存储器装置,以及诸如以下的非易失性存储器装置:只读存储器(ROM)、掩膜式ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电RAM(FRAM)、相变RAM(PRAM)、磁阻RAM(MRAM)、电阻式RAM(RRAM)和闪速存储器。
存储器系统110可包括控制器130和存储器装置150。
控制器130和存储器装置150可集成到单个半导体装置中,该单个半导体装置可被包括在如上所述的各种类型的存储器系统中的任意一种中。例如,控制器130和存储器装置150可集成为单个半导体装置以构成SSD,个人计算机存储卡国际协会(PCMCIA)卡,包括迷你-SD、微型-SD和SDHC的SD卡以及UFS装置。存储器系统110可被配置为计算机、智能电话、便携式游戏机或者配置计算系统的各种组件中的一种组件的一部分。
存储器装置150可以是即使没有供电也可保留存储的数据的非易失性存储器装置。存储器装置150可通过写入操作存储从主机102提供的数据,并且通过读取操作向主机102输出存储在存储器装置150中的数据。在实施例中,存储器装置150可包括多个存储器管芯(未示出),并且每一个存储器管芯可包括多个平面(未示出)。每一个平面可包括多个存储块152至156,每一个存储块可包括多个页面,每一个页面可包括联接到字线的多个存储器单元。在实施例中,存储器装置150可以是具有三维(3D)堆叠结构的闪速存储器。
以下将参照图2至图4详细描述存储器装置150的结构和存储器装置150的3D堆叠结构。
控制器130可响应于来自主机102的请求控制存储器装置150。例如,控制器130可向主机102提供从存储器装置150读取的数据,并且将从主机102提供的数据存储到存储器装置150中。对于该操作,控制器130可控制存储器装置150的读取操作、写入操作、编程操作和擦除操作。
更具体地,控制器130可包括全部通过内部总线可操作地联接或接合的主机接口(I/F)132、处理器134、错误校正码(ECC)单元138、电源管理单元(PMU)140、存储器接口142和存储器144。
主机接口132可处理主机102的指令和数据。主机接口132可通过诸如以下的各种接口协议中的一种或多种与主机102通信:通用串行总线(USB)、多媒体卡(MMC)、高速外围组件互连(PCI-e或PCIe)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、增强型小型磁盘接口(ESDI)和电子集成驱动器(IDE)。可通过固件,即,主机接口层(HIL)驱动主机接口132以与主机102交换数据。
此外,ECC单元138可校正存储器装置150处理的数据的错误位,并且可包括ECC编码器和ECC解码器。ECC编码器可对待编程到存储器装置150中的数据执行错误校正编码,以生成添加了奇偶校验位的数据。包括奇偶校验位的数据可存储在存储器装置150中。ECC解码器可检测并校正从存储器装置150读取的数据中包含的错误。ECC单元138可通过诸如以下的编码调制来执行错误校正:低密度奇偶校验(LDPC)码、博斯-查德胡里-霍昆格姆(Bose-Chaudhuri-Hocquenghem,BCH)码、turbo码、里德-所罗门(eed-Solomon,RS)码、卷积码、递归系统码(RSC)、网格编码调制(TCM)和分组编码调制(BCM)。然而,ECC单元138不限于这些错误校正技术。因此,ECC单元138可包括用于执行合适的错误校正的任意和所有电路、模块、系统或装置。
PMU 140可管理控制器130中使用并提供的电力。
存储器接口142可用作控制器130和存储器装置150之间的存储器接口或存储接口,使得控制器130可响应于来自主机102的请求来控制存储器装置150。
存储器144可用作存储器系统110和控制器130的工作存储器,并且存储用于驱动存储器系统110和控制器130的数据。
存储器144可以是易失性存储器。例如,存储器144可以是静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)。存储器144可设置在控制器130内部或外部。图1示出设置在控制器130内部的存储器144。在实施例中,存储器144可以是具有用于在存储器144和控制器130之间传送数据的存储器接口的外部易失性存储器。
如上所述,存储器144可包括程序存储器、数据存储器、写入缓冲器/高速缓存、读取缓冲器/高速缓存、数据缓冲器/高速缓存和映射缓冲器/高速缓存,以存储执行主机102和存储器装置150之间的数据写入和读取操作所需的一些数据,以及控制器130和存储器装置150执行这些操作所需的其它数据。
处理器134可控制存储器系统110的全部操作。处理器134可使用固件来控制存储器系统110的全部操作。固件可被称为闪存转换层(FTL)。处理器134可以利用微处理器或中央处理单元(CPU)实施。
例如,控制器130可通过被实施为微处理器、CPU等的处理器134在存储器装置150中执行主机102请求的操作。而且,控制器130可通过被实现为微处理器或CPU的处理器134对存储器装置150执行后台操作。对存储器装置150执行的后台操作可包括:将存储在存储器装置150的存储块152至156之中的一些存储块中的数据复制并处理到其它存储块中的操作,例如,垃圾收集(GC)操作;执行存储块152至156之间或存储块152至156的数据之间的交换的操作,例如,耗损均衡(WL)操作;将存储在控制器130中的映射数据存储到存储块152至156中的操作,例如,映射清除操作;或者管理存储器装置150的坏块的操作,例如,检测并处理存储器装置150中的存储块152至156之中的坏块的坏块管理操作。
参照图2至图4详细描述根据本发明的实施例的存储器系统的存储器装置。
图2是示出图1中的存储器系统110的存储器装置150的示图。图3是示出存储器装置150中的存储块330的存储器单元阵列的电路图。图4是示出存储器装置150的三维(3D)结构的示图。
参照图2,存储器装置150可包括多个存储块BLK0至BLKN-1,其中N是大于1的整数。块BLK0至BLKN-1中的每一个可包括多个页面,例如,2M或M个页面,页面的数量可根据电路设计而变化,M是大于1的整数。页面中的每一个可包括联接到多个字线WL的多个存储器单元。
各个存储块BLK0至BLKN-1中的存储器单元可以是存储1位数据的单层单元(SLC)或存储2位数据的多层单元(MLC)中的一个或多个。因此,根据存储块中的每一个存储器单元中可以表达或存储的位的数量,存储器装置150可包括SLC存储块或MLC存储块。SLC存储块可包括由每一个存储1位数据的存储器单元实施的多个页面。SLC存储块通常可比MLC存储块具有更高的数据计算性能和更高的耐用性。MLC存储块可包括由每一个存储多位(例如,2位或更多位)数据的存储器单元实施的多个页面。MLC存储块通常可比SLC存储块具有更大的数据存储空间,也就是说,更高的集成密度。在另一个实施例中,存储器装置150可包括多个三层单元(TLC)存储块。在又一个实施例中,存储器装置150可包括多个四层单元(QLC)存储块。TLC存储块可包括由每一个能够存储3位数据的存储器单元实施的多个页面。QLC存储块可包括由每一个能够存储4位数据的存储器单元实施的多个页面。
存储器装置150可以由以下中的任意一种非易失性存储器来实施:相变随机存取存储器(PCRAM)、电阻式随机存取存储器(RRAM或ReRAM)、铁电随机存取存储器(FRAM)和自旋转移扭矩磁性随机存取存储器(STT-RAM(STT-MRAM))。
存储块BLK0至BLKN-1可通过编程操作存储从主机102传送的数据,并且可通过读取操作将存储在存储块中的数据传送到主机102。
参照图3,存储块330可包括联接到多个相应位线BL0至BLm-1的多个单元串340。每一列的单元串340可包括一个或多个接地选择晶体管GST和一个或多个串选择晶体管SST。多个存储器单元MC0至MCn-1可串联联接在接地选择晶体管GST和串选择晶体管SST之间。在实施例中,存储器单元晶体管MC0至MCn-1中的每一个可由能够存储多位数据信息的MLC来实施。单元串340中的每一个可电联接到多个位线BL0至BLm-1之中的相应位线。例如,如图3中所示,第一单元串联接到第一位线BL0,并且最后一个单元串联接到最后一个位线BLm-1。
尽管图3示出了NAND闪速存储器单元,但是本公开不限于此。应当注意的是,存储器单元可以是NOR闪速存储器单元或混合闪速存储器单元,该混合闪速存储器单元包括组合在其中的两种或更多种存储器单元。而且,应当注意的是,存储器装置150可以是包括作为电荷存储层的导电浮栅的闪速存储器装置,或者包括作为电荷存储层的绝缘层的电荷撷取闪存(CTF)存储器装置。
存储器装置150可进一步包括电压供应装置310,该电压供应装置310根据操作模式生成包括编程电压、读取电压和通过电压的不同字线电压以提供给字线。电压供应装置310的电压生成操作可由控制电路(未示出)控制。在控制电路的控制下,电压供应装置310可选择存储器单元阵列的存储块(或扇区)中的至少一个,选择所选择的存储块的字线中的至少一个,并且根据需要向所选择的字线和未选择的字线提供字线电压。
存储器装置150可包括由控制电路控制的读取和写入(读取/写入)电路320。在验证/正常读取操作期间,读取/写入电路320可作为用于从存储器单元阵列读取(感测和放大)数据的读出放大器来操作。在编程操作期间,读取/写入电路320可作为用于根据待存储在存储器单元阵列中的数据向位线提供电压或电流的写入驱动器来操作。在编程操作期间,读取/写入电路320可从缓冲器(未示出)接收待存储到存储器单元阵列中的数据,并且根据接收的数据驱动位线。读取/写入电路320可包括分别与列(或位线)或列对(或位线对)对应的多个页面缓冲器322至326。页面缓冲器322至326中的每一个可包括多个锁存器(未示出)。
存储器装置150可由2D或3D存储器装置实施。特别是,如图4中所示,存储器装置150可由具有3D堆叠结构的非易失性存储器装置实施。当存储器装置150具有3D结构时,存储器装置150可包括多个存储块BLK0至BLKN-1。此处,图4是示出图1中所示的存储器装置150的存储块152、154和156的框图。存储块152、154和156中的每一个可以3D结构(或垂直结构)实现。例如,存储块152、154和156可包括在第一方向至第三方向,例如,x-轴方向、y-轴方向和z-轴方向上延伸的三维结构的结构。
包括在存储器装置150中的每一个存储块330可包括在第二方向上延伸的多个NAND串NS,以及在第一方向和第三方向上延伸的多个NAND串NS。此处,NAND串NS中的每一个可联接到位线BL、至少一个串选择线SSL、至少一个接地选择线GSL、多个字线WL、至少一个虚拟字线DWL和共源线CSL,并且NAND串NS中的每一个可包括多个晶体管结构TS。
简言之,存储器装置150的存储块152、154和156之中的每一个存储块330可联接到多个位线BL、多个串选择线SSL、多个接地选择线GSL、多个字线WL、多个虚拟字线DWL和多个共源线CSL,并且每个存储块330可包括多个NAND串NS。而且,在每一个存储块330中,一个位线BL可联接到多个NAND串NS以在一个NAND串NS中实现多个晶体管。而且,每一个NAND串NS的串选择晶体管SST可联接到相应的位线BL,并且每一个NAND串NS的接地选择晶体管GST可联接到共源线CSL。此处,存储器单元MC可设置在每一个NAND串NS的串选择晶体管SST和接地选择晶体管GST之间。换言之,可以在存储器装置150的存储块152、154和156中的每一个存储块330中实现多个存储器单元。
闪速存储器可以页面为基础执行编程操作和读取操作,以块为基础执行擦除操作,并且与硬盘不同,可不支持重写操作。因此,闪速存储器可将修正的数据编程到新的页面中并使原始数据的页面无效,以修正被编程到页面中的原始数据。
垃圾收集操作可指周期性地将无效页面转换成空页面以便防止闪速存储器空间由于修正数据的进程中的无效页面而被浪费地使用的操作。垃圾收集操作可包括将编程在牺牲块的有效页面中的数据复制到目标块的空页面中。尽管根据垃圾收集操作恢复了存储器空间,但是响应于来自图1的主机102的请求执行的前台操作的执行可能降级。
在给予前台操作的执行高于存储器空间的获取的优先权的情况下,可通过减少执行垃圾收集操作的频率防止前台操作的执行降级。然而,为了减少执行垃圾收集操作的频率,获取存储器空间的必要性必须低,也就是说,需要检测缓慢产生牺牲块的工作量。
在用户数据被集中编程在未利用数据编程的空页面中的工作量的情况下,封闭存储块的有效页面的数量可根据编程操作增加,但无效页面的数量可不增加。由于用于垃圾收集操作的目标块,即,牺牲块,不是由编程操作产生的,因此即使存储器空间不足,但也可通过降低执行垃圾收集操作的频率来维持前台操作的执行。在各个实施例中,当封闭存储块中在预定时间内减少的有效页面的数量小于预定阈值时,控制器130可检测当前工作量作为用户数据被集中编程在空页面中的工作量。
在各个实施例中,即使在空闲块的数量不足的情况下,控制器130也可以通过基于编程页面的数量(即,ΔPGM)与有效页面减少量的总和(即,ΣΔVPC)的比率检测工作量信息,并且动态改变执行垃圾收集操作的频率来维持前台操作的执行。
图5是示出根据本发明的实施例的存储器系统110的框图。应当注意的是,图5仅示出了图1的数据处理系统100中与本发明相关的组成元件。
如上所述,存储器系统110可包括存储器装置150和控制器130。控制器130可控制存储器装置150的编程操作,并且执行垃圾收集操作以恢复存储器空间。
参照图5,控制器130可包括紧急感测单元502、页面计数单元504、映射更新单元506、有效页面减少量计数单元508、工作量检测单元510和垃圾收集单元512。紧急感测单元502、页面计数单元504、映射更新单元506、有效页面减少量计数单元508、工作量检测单元510和垃圾收集单元512包括其各自操作和功能所需的所有电路、系统、软件、固件和装置。
紧急感测单元502可对空页面的数量大于或等于预定阈值的空闲块的数量进行计数。当空闲块的数量小于第一阈值TH1并大于或等于第二阈值TH2时,紧急感测单元502可将触发信号Signaltrig传送到页面计数单元504。当计数的空闲块的数量小于第二阈值TH2时,紧急感测单元502可将触发信号Signaltrig传送到垃圾收集单元512。当空闲块的数量小于第二阈值TH2时,垃圾收集单元512可执行无条件的垃圾收集操作以优先执行用于获取存储器空间的操作。这将在后面描述。
页面计数单元504可根据接收的触发信号Signaltrig对包括在存储器装置150中的封闭存储块中的每一个的有效页面的数量VPCBefore进行计数。页面计数单元504可将针对封闭存储块中的每一个计数的有效页面的数量VPCBefore存储为第一有效页面计数数量。封闭存储块中的每一个可指有效页面的数量不是“0”且不是执行当前编程操作的开放块的存储块。
而且,页面计数单元504可根据接收的触发信号Signaltrig对开放块中编程的页面的数量ΔPGM进行计数,在下文中,将开放块中编程的页面的数量ΔPGM称为编程页面的数量ΔPGM。从触发信号Signaltrig被提供的时刻起,每当用户数据被编程在开放块的页面中时,页面计数单元504可增加编程页面的数量ΔPGM。
映射更新单元506可更新编程在存储块中的用户数据的地址信息。映射更新单元506可周期性地更新由于编程在页面中的原始数据被修正并改变而改变的地址。当执行映射更新操作时,映射更新单元506可将完成信号Signalcomplete传送到页面计数单元504。
页面计数单元504可根据完成信号Signalcomplete将直至完成信号Signalcomplete被提供时计数的编程页面的数量ΔPGM与第三阈值TH3进行比较。当计数的编程页面的数量ΔPGM大于第三阈值TH3时,页面计数单元504能够对包括在存储器装置150中的封闭存储块中的每一个的有效页面的数量VPCAfter进行计数。
页面计数单元504可将针对封闭存储块中的每一个计数的有效页面的数量VPCAfter存储为第二有效页面计数数量。页面计数单元504可将关于计数的编程页面的数量的信息infoΔPGM传送到工作量检测单元510,在下文中,将关于计数的编程页面的数量的信息infoΔPGM称为编程页面计数数量信息。此外,页面计数单元504可将关于存储的第一有效页面计数数量和第二有效页面计数数量的信息infoVPC传送到有效页面减少量计数单元508,在下文中,将关于存储的第一有效页面计数数量和第二有效页面计数数量的信息infoVPC称为有效页面信息。
根据本发明的实施例,页面计数单元504可对第一有效页面计数数量VPCBefore进行计数,以确定来自图1的主机102的工作量,在下文中为主机工作量,是否为用户数据被集中编程在空页面中的工作量,并且在执行预定次数或更多次数的编程操作之后,对第二有效页面计数数量VPCAfter进行计数。如果在对第一有效页面计数数量VPCBefore进行计数之后,在未充分执行编程操作的状态下对第二有效页面计数数量VPCAfter进行计数,则即使有效页面减少量的总和ΣΔVPC足够小,也难以确定当前工作量是否为用户数据被集中编程在空页面中的工作量。例如,当对第一有效页面计数数量VPCBefore进行计数,并且在执行五次编程操作之后对第二有效页面计数数量VPCAfter进行计数时,即使结果是所有封闭存储块中只减少了一个有效页面,但是如果五次编程操作之后接收的所有用户数据被编程在有效页面而不是空页面中,则难以确定当前工作量是用户数据被集中编程在空页面中的工作量。
有效页面减少量计数单元508可根据提供的有效页面信息infoVPC针对每个封闭存储块计算有效页面减少量ΔVPC。有效页面减少量计数单元508可计算第二有效页面计数数量VPCAfter和第一有效页面计数数量VPCBefore之间的差值作为有效页面减少量ΔVPC。
有效页面减少量计数单元508可基于针对封闭存储块中的每一个计算的有效页面减少量ΔVPC获取有效页面减少量的总和ΣΔVPC。有效页面减少量计数单元508可获取针对封闭存储块中的每一个计算的多个有效页面减少量ΔVPC的和,作为有效页面减少量的总和ΣΔVPC。有效页面减少量计数单元508可将关于有效页面减少量的总和的信息infoΣΔVPC传送到工作量检测单元510。
工作量检测单元510可基于提供的编程页面计数数量信息infoΔPGM和关于有效页面减少量的总和的信息infoΣΔVPC来计算编程页面的数量ΔPGM与有效页面减少量的总和ΣΔVPC的比率。工作量检测单元510可通过将有效页面减少量的总和ΣΔVPC除以编程页面的数量ΔPGM来获取编程页面的数量ΔPGM与有效页面减少量的总和ΣΔVPC的比率。
当编程页面的数量ΔPGM与有效页面减少量的总和ΣΔVPC的比率大于或等于第四阈值TH4时,工作量检测单元510可将触发信号Signaltrig传送到垃圾收集单元512。当编程页面的数量ΔPGM与有效页面减少量的总和ΣΔVPC的比率小于第四阈值TH4时,工作量检测单元510可将触发信号Signaltrig传送到紧急感测单元502。当空闲块的数量小于第二阈值TH2时,紧急感测单元502可将触发信号Signaltrig传送到垃圾收集单元512。
垃圾收集单元512可基于接收的触发信号Signaltrig对牺牲块执行垃圾收集操作。根据本发明的实施例,垃圾收集单元512可检测有效页面的数量小于或等于预定阈值的存储块作为牺牲块。垃圾收集单元512可将编程在牺牲块的有效页面中的数据复制到目标块的空页面中。
图6是示出根据本发明的实施例的存储器系统110的操作的流程图。
参照图6,在步骤S602处,图5的紧急感测单元502可通过对空闲块的数量进行计数将空闲块(即,#Free BLK)的数量与第一阈值TH1进行比较。当空闲块的数量大于或等于第一阈值TH1(在步骤S602处为“否”)时,紧急感测单元502可持续地将空闲块的数量与第一阈值TH1进行比较。
在步骤S604处,当空闲块的数量小于第一阈值TH1(在步骤S602处为“是”)时,紧急感测单元502可将空闲块的数量与第二阈值TH2进行比较。当空闲块的数量小于第二阈值TH2(在步骤S604处为“是”)时,紧急感测单元502可将触发信号Signaltrig传送到垃圾收集单元512。当空闲块的数量大于或等于第二阈值TH2(在步骤S604处为“否”)时,紧急感测单元502可将触发信号Signaltrig传送到页面计数单元504。在步骤S624处,垃圾收集单元512可基于在步骤S604处提供的触发信号Signaltrig对牺牲块执行垃圾收集操作。这将在后面描述。
图7示出基于第一阈值和第二阈值的垃圾收集操作。
如上所述,根据本发明的实施例,空闲块可以是有效页面的数量大于或等于预定阈值的块。例如,当包括在特定存储块中的有效页面的数量是100或更多时,存储块可以是空闲块。
参照图7的情况1,当包括在存储器装置150中的空闲块(#Free BLK)701至750的数量是50,并且第一阈值(即,第一Th)TH1是100且第二阈值(即,第二Th)TH2是20时,由于空闲块701至750的数量小于第一阈值TH1并大于或等于第二阈值TH2,因此紧急感测单元502可将触发信号Signaltrig传送到页面计数单元504,以便基于编程页面的数量ΔPGM与有效页面减少量的总和ΣΔVPC的比率确定是否执行垃圾收集操作,这将在后面描述。
在图7的情况2中,包括在存储器装置150中的空闲块(#Free BLK)751至760的数量是10,并且第一阈值(即,第一Th)TH1是100且第二阈值(即,第二Th)TH2是20。由于空闲块751至760的数量小于第二阈值TH2,因此紧急感测单元502可通过向垃圾收集单元512提供触发信号Signaltrig执行垃圾收集操作。
根据本发明的实施例,即使当空闲块的数量小于第一阈值TH1时,紧急感测单元502也可不执行无条件的垃圾收集操作,并且当基于编程页面的数量ΔPGM与有效页面减少量的总和ΣΔVPC的比率将当前工作量确定为用户数据被集中编程在空页面中的工作量时,紧急感测单元502可通过跳过垃圾收集操作维持前台操作的执行,这将在后面描述。然而,当空闲块的数量小于第二阈值TH2时,可利用获取存储器空间具有最高优先权,通过执行无条件的垃圾收集操作来获取空的空间。
返回参照图6,在步骤S606处,页面计数单元504可根据在步骤S604处提供的触发信号Signaltrig对包括在存储器装置150中的封闭存储块中的每一个的有效页面的数量VPCBefore进行计数。页面计数单元504可将针对封闭存储块中的每一个计数的有效页面的数量VPCBefore存储为第一有效页面计数数量。
在步骤S608处,页面计数单元504可根据在步骤S604处提供的触发信号Signaltrig对编程页面的数量ΔPGM进行计数,编程页面的数量ΔPGM是开放块中编程用户数据的页面的数量。从在步骤S604处提供触发信号Signaltrig的时刻起,每当用户数据被编程到开放块的页面中时,页面计数单元504可增加编程页面的数量ΔPGM。
在步骤S610处,映射更新单元506可更新编程在存储块中的用户数据的地址信息。映射更新单元506可周期性地更新由于编程在页面中的原始数据被修正并改变而改变的地址。当对包括在存储器装置150中的所有存储块执行映射更新操作时,映射更新单元506可将完成信号Signalcomplete传送到页面计数单元504。
在步骤S612处,页面计数单元504可根据在步骤S610处提供的完成信号Signalcomplete将编程页面的数量ΔPGM与第三阈值TH3进行比较。从在步骤S604处提供触发信号Signaltrig的时刻到在步骤S610处提供完成信号Signalcomplete的时刻对编程页面的数量ΔPGM进行计数。当在步骤S612处计数的编程页面的数量小于或等于第三阈值TH3(在步骤S612处为“否”)时,页面计数单元504可返回到步骤S608并重复执行编程操作和映射更新操作,直到开放块中的编程页面的数量ΔPGM超过第三阈值TH3
在步骤S614处,当在步骤S612处计数的编程页面的数量ΔPGM大于第三阈值TH3(在步骤S612处为“是”)时,页面计数单元504可对包括在存储器装置150中的封闭块中的每一个的有效页面的数量VPCAfter进行计数。页面计数单元504可将针对封闭存储块中的每一个计数的有效页面的数量VPCAfter存储为第二有效页面计数数量。页面计数单元504可将编程页面计数数量信息infoΔPGM传送到工作量检测单元510,并且将有效页面信息infoVPC传送到有效页面减少量计数单元508。
在步骤S616处,有效页面减少量计数单元508可基于在步骤S614处提供的有效页面信息infoVPC针对每一个封闭存储块计算有效页面减少量ΔVPC。有效页面减少量计数单元508可计算第二有效页面计数数量VPCAfter与第一有效页面计数数量VPCBefore之间的差值作为有效页面减少量ΔVPC。
在步骤S618处,有效页面减少量计数单元508可基于在步骤S616处计算的有效页面减少量ΔVPC获取有效页面减少量的总和ΣΔVPC。有效页面减少量计数单元508可获取针对封闭存储块中的每一个计算的多个有效页面减少量ΔVPC的和,作为有效页面减少量的总和ΣΔVPC。有效页面减少量计数单元508可将关于有效页面减少量的总和的信息infoΣΔVPC传送到工作量检测单元510。
在步骤S620处,工作量检测单元510可基于在步骤S614处提供的编程页面计数数量信息infoΔPGM和在步骤S618处提供的关于有效页面减少量的总和的信息infoΣΔVPC,计算编程页面的数量ΔPGM与有效页面减少量的总和ΣΔVPC的比率。工作量检测单元510可通过将有效页面减少量的总和ΣΔVPC除以编程页面的数量ΔPGM来获取编程页面的数量ΔPGM与有效页面减少量的总和ΣΔVPC的比率。
在步骤S622处,当在步骤S620处获取的编程页面的数量ΔPGM与有效页面减少量的总和ΣΔVPC的比率大于或等于第四阈值TH4(在步骤S622处为“否”)时,工作检测单元510可将触发信号Signaltrig传送到垃圾收集单元512。当编程页面的数量ΔPGM与有效页面减少量的总和ΣΔVPC的比率小于第四阈值TH4(在步骤S622处为“是”)时,工作量检测单元510可返回到步骤S604,并且当空闲块的数量小于第二阈值TH2时,将触发信号Signaltrig传送到垃圾收集单元512。
图8示出基于第三阈值和第四阈值的垃圾收集操作。
在图8的情况1中,当第三阈值和第四阈值(即,第三Th和第四Th)TH3和TH4分别是500和0.1,并且编程页面的数量ΔPGM和有效页面减少量的总和ΣΔVPC分别是1000和50时,编程页面的数量ΔPGM与有效页面减少量的总和ΣΔVPC的比率是0.05,0.05小于第四阈值TH4,工作量检测单元510可通过检测当前工作量作为用户数据被集中编程在空页面中的工作量并跳过垃圾收集操作来维持前台操作的执行。
在图8的情况2中,当第三阈值和第四阈值(即,第三Th和第四Th)TH3和TH4分别是500和0.1,并且编程页面的数量ΔPGM和有效页面减少量的总和ΣΔVPC分别是1000和200时,编程页面的数量ΔPGM与有效页面减少量的总和ΣΔVPC的比率是0.2,0.2大于第四阈值TH4,工作量检测单元510可将触发信号Signaltrig传送到垃圾收集单元512并执行垃圾收集操作。
返回参照图6,在步骤S624处,垃圾收集单元512可根据在步骤S604和步骤S622处提供的触发信号Signaltrig对牺牲块执行垃圾收集操作。垃圾收集单元512可通过将编程在牺牲块的有效页面中的数据复制到目标块的空页面中并检索牺牲块的存储器空间来执行垃圾收集操作。
当空闲块的数量小于第一阈值TH1时,根据本发明的实施例的存储器系统可不执行无条件的垃圾收集操作,并且根据编程页面的数量ΔPGM与有效页面减少量的总和ΣΔVPC的比率来动态地改变执行垃圾收集操作的频率。
根据本发明的实施例,当编程页面的数量ΔPGM与有效页面减少量的总和ΣΔVPC的比率小于第四阈值TH4时,存储器系统可通过将当前工作量确定为利用数据编程空页面且无效页面的数量不增加的工作量并跳过垃圾收集操作,在空闲块的数量不足的情况下维持前台操作的执行。
下文中,将参照图9至图17详细描述可应用根据本发明的实施例的包括上文通过参照图1至图8描述的存储器装置150和控制器130的存储器系统110的数据处理系统和电子装置。
图9是示出包括根据实施例的存储器系统的数据处理系统的另一个示例的示图。例如,图9示出了可应用存储器系统的存储卡系统6100。
参照图9,存储卡系统6100可包括存储器控制器6120、存储器装置6130和连接器6110。
更具体地,存储器控制器6120可电连接到由非易失性存储器(NVM)实施的存储器装置6130,并且存储器控制器6120可被配置成访问由非易失性存储器(NVM)实施的存储器装置6130。例如,存储器控制器6120可被配置成控制存储器装置6130的读取操作、写入操作、擦除操作和后台操作。存储器控制器6120可被配置成提供存储器装置6130与主机之间的接口,并且使用固件来控制存储器装置6130。也就是说,存储器控制器6120可对应于参照图1描述的存储器系统110的控制器130,并且存储器装置6130可对应于参照图1描述的存储器系统110的存储器装置150。
因此,存储器控制器6120可包括随机存取存储器(RAM)、处理器、主机接口、存储器接口和错误校正组件。
存储器控制器6120可通过连接器6110与例如图1的主机102的外部装置通信。例如,如参照图1描述的,存储器控制器6120可被配置成通过诸如以下的各种通信协议中的一种或多种与外部装置通信:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCIe)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机系统接口(SCSI)、增强型小型磁盘接口(ESDI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、无线保真(Wi-Fi或WiFi)和蓝牙。因此,根据本实施例的存储器系统和数据处理系统可被应用到有线/无线电子装置或专用移动电子装置。
存储器装置6130可通过非易失性存储器(NVM)来实施。例如,存储器装置6130可通过诸如以下的各种非易失性存储器装置中的任意一种来实施:可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、NAND闪速存储器、NOR闪速存储器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)以及自旋转移扭矩磁性RAM(STT-RAM)。
存储器控制器6120和存储器装置6130可被集成到单个半导体装置中以形成固态驱动器(SSD)。而且,存储器控制器6120和存储器装置6130可被如此集成以形成诸如以下的存储卡:PC卡(个人计算机存储卡国际协会(PCMCIA))、紧凑型闪存(CF)卡、智能媒体卡(例如,SM和SMC)、记忆棒、多媒体卡(例如,MMC、RS-MMC、微型MMC和eMMC)、安全数字(SD)卡(例如,SD、迷你SD、微型SD和SDHC)和/或通用闪存(UFS)。
图10是示出包括根据实施例的存储器系统的数据处理系统6200的另一个示例的示图。
参照图10,数据处理系统6200可包括具有一个或多个非易失性存储器(NVM)的存储器装置6230和用于控制存储器装置6230的存储器控制器6220。如参照图1描述的,图10中所示的数据处理系统6200可用作诸如存储卡(例如,CF、SD、微型-SD等)或USB装置的存储介质。存储器装置6230可对应于图1中所示的存储器系统110中的存储器装置150,并且存储器控制器6220可对应于图1中所示的存储器系统110中的控制器130。
存储器控制器6220可响应于主机6210的请求控制对存储器装置6230的读取操作、写入操作或擦除操作。存储器控制器6220可包括一个或多个中央处理单元(CPU)6221、诸如随机存取存储器(RAM)6222的缓冲存储器、错误校正码(ECC)电路6223、主机接口6224和诸如非易失性存储器(NVM)接口6225的存储器接口。
CPU 6221可控制对存储器装置6230的全部操作,例如,读取操作、写入操作、文件系统管理操作和坏页面管理操作。RAM 6222可根据CPU6221的控制来操作,并且用作工作存储器、缓冲存储器或高速缓存存储器。当RAM 6222用作工作存储器时,由CPU 6221处理的数据可暂时存储在RAM 6222中。当RAM 6222用作缓冲存储器时,RAM 6222可用于缓冲从主机6210传输到存储器装置6230的数据,或从存储器装置6230传输到主机6210的数据。当RAM6222用作高速缓存存储器时,RAM 6222可辅助低速存储器装置6230以高速操作。
ECC电路6223可对应于图1中所示的控制器130的ECC单元138。如参照图1描述的,ECC电路6223可生成错误校正码(ECC),用于校正从存储器装置6230提供的数据的失效位或错误位。ECC电路6223可对提供给存储器装置6230的数据执行错误校正编码,由此形成具有奇偶校验位的数据。奇偶校验位可存储在存储器装置6230中。ECC电路6223可对从存储器装置6230输出的数据执行错误校正解码。ECC电路6223可使用奇偶校验位校正错误。例如,如参照图1描述的,ECC电路6223可使用低密度奇偶校验(LDPC)码、博斯-查德胡里-霍昆格姆(BCH)码、turbo码、里德-所罗门(RS)码、卷积码、递归系统码(RSC)或者诸如网格编码调制(TCM)或分组编码调制(BCM)的编码调制来校正错误。
存储器控制器6220可通过主机接口6224将数据传输到主机6210/从主机6210接收数据。存储器控制器6220可通过NVM接口6225将数据传输到存储器装置6230/从存储器装置6230接收数据。主机接口6224可通过并行高级技术附件(PATA)总线、串行高级技术附件(SATA)总线、小型计算机系统接口(SCSI)、通用串行总线(USB)、高速外围组件互连(PCIe)或NAND接口来连接到主机6210。存储器控制器6220可利用诸如无线保真(WiFi)或长期演进(LTE)的移动通信协议具有无线通信功能。存储器控制器6220可连接到例如主机6210或其它外部装置的外部装置,并且然后将数据传输到外部装置/从外部装置接收数据。特别地,由于存储器控制器6220被配置成根据各种通信协议中的一种或多种与外部装置通信,因此根据实施例的存储器系统和数据处理系统可应用到有线/无线电子装置,特别是移动电子装置。
图11是示出包括根据实施例的存储器系统的数据处理系统的另一个示例的示图。例如,图11示出了可应用存储器系统的固态驱动器(SSD)6300。
参照图11,SSD 6300可包括控制器6320和包括多个非易失性存储器(NVM)的存储器装置6340。控制器6320可对应于图1的存储器系统110中的控制器130,并且存储器装置6340可对应于图1的存储器系统中的存储器装置150。
更具体地,控制器6320可通过多个通道CH1至CHi连接到存储器装置6340。控制器6320可包括一个或多个处理器6321、错误校正码(ECC)电路6322、主机接口6324、缓冲存储器6325和例如非易失性存储器接口6326的存储器接口。
缓冲存储器6325可临时存储从主机6310提供的数据和从包括在存储器装置6340中的多个闪速存储器NVM提供的数据。此外,缓冲存储器6325可临时存储多个闪速存储器NVM的元数据,例如,包括映射表的映射数据。缓冲存储器6325可通过诸如动态随机存取存储器(DRAM)、同步DRAM(SDRAM)、双倍数据速率(DDR)SDRAM、低功率DDR(LPDDR)SDRAM和图形RAM(GRAM)的各种易失性存储器,或者诸如铁电RAM(FRAM)、电阻式RAM(RRAM或ReRAM)、自旋转移扭矩磁性RAM(STT-MRAM)和相变RAM(PRAM)的各种非易失性存储器中的任意一种来实施。图11示出在控制器6320中实施缓冲存储器6325。然而,缓冲存储器6325可在控制器6320的外部。
ECC电路6322可在编程操作期间计算待编程到存储器装置6340的数据的错误校正码(ECC)值,在读取操作期间基于ECC值对从存储器装置6340读取的数据执行错误校正操作,并且在失效数据恢复操作期间对从存储器装置6340恢复的数据执行错误校正操作。
主机接口6324可提供与例如主机6310的外部装置的接口功能,并且非易失性存储器接口6326可提供与通过多个通道连接的存储器装置6340的接口功能。
此外,可提供可应用图1的存储器系统110的多个SSD 6300,以实施例如独立磁盘冗余阵列(RAID)系统的数据处理系统。RAID系统可包括多个SSD 6300和用于控制多个SSD6300的RAID控制器。当RAID控制器响应于从主机6310提供的写入指令执行编程操作时,RAID控制器可根据多个RAID级别,即从主机6310提供的写入指令的RAID级别信息,从SSD6300中选择一个或多个存储器系统或SSD 6300,并且将与写入指令对应的数据输出到所选择的SSD 6300。此外,当RAID控制器响应于从主机6310提供的读取指令执行读取操作时,RAID控制器可根据多个RAID级别,即从主机6310提供的读取指令的RAID级别信息,从SSD6300中选择一个或多个存储器系统或SSD 6300,并且向主机6310提供从所选择的SSD 6300读取的数据。
图12是示出包括根据实施例的存储器系统的数据处理系统的另一个示例的示图。例如,图12示出了可应用存储器系统的嵌入式多媒体卡(eMMC)6400。
参照图12,eMMC 6400可包括控制器6430和通过一个或多个NAND闪速存储器实施的存储器装置6440。控制器6430可对应于图1的存储器系统110中的控制器130。存储器装置6440可对应于图1的存储器系统110中的存储器装置150。
更具体地,控制器6430可通过多个通道连接到存储器装置6440。控制器6430可包括一个或多个内核6432、主机接口6431和例如NAND接口6433的存储器接口。
内核6432可控制eMMC 6400的全部操作,主机接口6431可提供控制器6430和主机6410之间的接口功能,并且NAND接口6433可提供存储器装置6440和控制器6430之间的接口功能。例如,主机接口6431可用作例如如参照图1所描述的MMC接口的并行接口。此外,主机接口6431可用作例如超高速(UHS)-Ⅰ/UHS-Ⅱ接口的串行接口。
图13至图16是示出包括根据实施例的存储器系统的数据处理系统的其它示例的示图。例如,图13至图16示出了可应用存储器系统的通用闪存(UFS)系统。
参照图13至图16,UFS系统6500、6600、6700、6800可分别包括主机6510、6610、6710、6810,UFS装置6520、6620、6720、6820和UFS卡6530、6630、6730、6830。主机6510、6610、6710、6810可用作有线/无线电子装置或特别是移动电子装置的应用处理器,UFS装置6520、6620、6720、6820可用作嵌入式UFS装置,并且UFS卡6530、6630、6730、6830可用作外部嵌入式UFS装置或可移除UFS卡。
在各UFS系统6500、6600、6700、6800中的主机6510、6610、6710、6810,UFS装置6520、6620、6720、6820和UFS卡6530、6630、6730、6830可通过UFS协议与例如有线/无线电子装置或特别是移动电子装置的外部装置通信,并且UFS装置6520、6620、6720、6820和UFS卡6530、6630、6730、6830可通过图1中所示的存储器系统110来实施。例如,在UFS系统6500、6600、6700、6800中,UFS装置6520、6620、6720、6820可以参照图10至图12所述的数据处理系统6200、SSD 6300或eMMC 6400的形式来实施,并且UFS卡6530、6630、6730、6830可以参照图9所述的存储卡系统6100的形式来实施。
此外,在UFS系统6500、6600、6700、6800中,主机6510、6610、6710、6810,UFS装置6520、6620、6720、6820和UFS卡6530、6630、6730、6830可通过例如移动行业处理器接口(MIPI)中的MIPI M-PHY和MIPI统一协议(UniPro)的UFS接口彼此通信。此外,UFS装置6520、6620、6720、6820和UFS卡6530、6630、6730、6830可通过例如以下的除UFS协议之外的各种协议中的任意一种彼此通信:通用串行总线(USB)、闪速驱动器(UFD)、多媒体卡(MMC)、安全数字(SD)、迷你-SD和微型-SD。
在图13所示的UFS系统6500中,主机6510、UFS装置6520和UFS卡6530中的每一个可包括UniPro。主机6510可执行交换操作以与UFS装置6520和UFS卡6530通信。特别地,主机6510可通过例如UniPro处的L3交换的链路层交换来与UFS装置6520或UFS卡6530通信。UFS装置6520和UFS卡6530可通过主机6510的UniPro处的链路层交换来彼此通信。在所示的实施例中,一个UFS装置6520和一个UFS卡6530连接到主机6510。然而,多个UFS装置和多个UFS卡可并联或以星形式连接到主机6510。星形式是将单个装置与多个装置联接以用于集中操作的布置。多个UFS卡可并联或以星形式连接到UFS装置6520,或者串联或以链形式连接到UFS装置6520。
在图14所示的UFS系统6600中,主机6610、UFS装置6620和UFS卡6630中的每一个可包括UniPro。主机6610可通过执行交换操作的交换模块6640,例如,通过执行例如L3交换的UniPro处的链路层交换的交换模块6640,来与UFS装置6620或UFS卡6630通信。UFS装置6620和UFS卡6630可通过UniPro处的交换模块6640的链路层交换来彼此通信。在所示的实施例中,一个UFS装置6620和一个UFS卡6630连接到交换模块6640。然而,多个UFS装置和多个UFS卡可并联或以星形式连接到交换模块6640。多个UFS卡可串联或以链形式连接到UFS装置6620。
在图15所示的UFS系统6700中,主机6710、UFS装置6720和UFS卡6730中的每一个可包括UniPro。主机6710可通过执行交换操作的交换模块6740,例如,通过执行例如L3交换的UniPro处的链路层交换的交换模块6740,来与UFS装置6720或UFS卡6730通信。UFS装置6720和UFS卡6730可通过UniPro处的交换模块6740的链路层交换来彼此通信。交换模块6740可在UFS装置6720内部或外部与UFS装置6720集成为一个模块。在所示的实施例中,一个UFS装置6720和一个UFS卡6730连接到交换模块6740。然而,每一个均包括交换模块6740和UFS装置6720的多个模块可并联或以星形式连接到主机6710。在另一个示例中,多个模块可串联或以链形式彼此连接。此外,多个UFS卡可并联或以星形式连接到UFS装置6720。
在图16所示的UFS系统6800中,主机6810、UFS装置6820和UFS卡6830中的每一个可包括M-PHY和UniPro。UFS装置6820可执行交换操作以与主机6810和UFS卡6830通信。特别地,UFS装置6820可通过用于与主机6810通信的M-PHY及UniPro模块和用于与UFS卡6830通信的M-PHY及UniPro模块之间的交换操作,例如,通过目标标识符(ID)交换操作,与主机6810或UFS卡6830通信。主机6810和UFS卡6830可通过UFS装置6820的M-PHY和UniPro模块之间的目标ID交换而彼此通信。在所示的实施例中,一个UFS装置6820连接到主机6810,并且一个UFS卡6830连接到UFS装置6820。然而,多个UFS装置可并联或以星形式连接到主机6810,或者串联或以链形式连接到主机6810。多个UFS卡可并联或以星形式连接到UFS装置6820,或者串联或以链形式连接到UFS装置6820。
图17是示出包括根据本发明的实施例的存储器系统的数据处理系统的另一个示例的示图。例如,图17是示出可应用存储器系统的用户系统6900的示图。
参照图17,用户系统6900可包括用户接口6910、存储器模块6920、应用处理器6930、网络模块6940和存储模块6950。
更具体地,应用处理器6930可驱动例如操作系统(OS)的用户系统6900中的组件,并且包括控制用户系统6900中包括的组件的控制器、接口和图形引擎。应用处理器6930可设置为片上系统(SoC)。
存储器模块6920可用作用户系统6900的主存储器、工作存储器、缓冲存储器或高速缓存存储器。存储器模块6920可包括诸如动态随机存取存储器(RAM)(DRAM)、同步DRAM(SDRAM)、双倍数据速率(DDR)SDRAM、DDR2SDRAM、DDR3SDRAM、低功率DDR(LPDDR)SDARM、LPDDR2SDRAM或LPDDR3SDRAM的易失性RAM,或者诸如相变RAM(PRAM)、电阻式RAM(ReRAM)、磁阻RAM(MRAM)或铁电RAM(FRAM)的非易失性RAM。例如,应用处理器6930和存储器模块6920可基于堆叠封装(PoP)被封装和安装。
网络模块6940可与外部装置通信。例如,网络模块6940不仅可支持有线通信,而且也可支持诸如以下的各种无线通信协议:码分多址(CDMA)、全球移动通信系统(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进(LTE)、全球微波接入互操作性(WiMAX)、无线局域网(WLAN)、超宽带(UWB)、蓝牙、无线显示(WI-DI),从而与有线/无线电子装置尤其是移动电子装置通信。因此,根据本发明的实施例的存储器系统和数据处理系统可被应用到有线/无线电子装置。网络模块6940可包括在应用处理器6930中。
存储模块6950可存储例如从应用处理器6930接收的数据的数据,并且然后可将存储的数据传输到应用处理器6930。存储模块6950可通过诸如以下的非易失性半导体存储器装置来实施:相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(ReRAM)、NAND闪存、NOR闪存和3DNAND闪存,并且存储模块6950可被设置为诸如用户系统6900的存储卡或外部驱动的可移除存储介质。存储模块6950可对应于参照图1所述的存储器系统110。此外,存储模块6950可被实施为如以上参照图11至图16所述的SSD、eMMC和UFS。
用户接口6910可包括用于将数据或指令输入到应用处理器6930或将数据输出到外部装置的接口。例如,用户接口6910可包括诸如以下的用户输入接口:键盘、小键盘、按键、触摸面板、触摸屏、触摸板、触控球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电元件,以及诸如以下的用户输出接口:液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和监视器。
此外,当图1的存储器系统110被应用到用户系统6900的移动电子装置时,应用处理器6930可控制移动电子装置的全部操作,并且网络模块6940可用作用于控制与外部装置的有线/无线通信的通信模块。用户接口6910可在移动电子装置的显示/触摸模块上显示由处理器6930处理的数据,或者支持从触摸面板接收数据的功能。
根据本发明的实施例,存储器系统可通过基于主机工作量动态地改变垃圾收集操作的周期来改善前台操作的执行。
虽然已经针对特定实施例描述了本发明,但是对于本领域技术人员来说显而易见的是,在不脱离如权利要求中所限定的本发明的技术方案和范围的情况下,可以进行各种改变和修改。

Claims (20)

1.一种存储器系统,包括:
存储器装置,包括开放块和封闭存储块;
页面计数单元,每当数据被编程在所述开放块中时对所述开放块中的编程页面的数量进行计数,并且对所述封闭存储块的有效页面的数量进行计数;
有效页面减少量计数单元,计算映射更新操作前后所述封闭存储块中减少的有效页面的总和;以及
垃圾收集单元,当包括在所述存储器装置中的空闲块的数量小于第一阈值并大于第二阈值,并且所述开放块中的所述编程页面的数量与减少的有效页面的总和的比率大于或等于第四阈值时,对牺牲块执行垃圾收集操作。
2.根据权利要求1所述的存储器系统,进一步包括:
紧急感测单元,对所述空闲块的数量进行计数并将所述空闲块的数量分别与所述第一阈值和所述第二阈值进行比较。
3.根据权利要求2所述的存储器系统,其中当所述空闲块的数量小于所述第二阈值时,所述垃圾收集单元对所述牺牲块执行所述垃圾收集操作。
4.根据权利要求2所述的存储器系统,其中当所述空闲块的数量小于所述第一阈值并大于所述第二阈值时,所述页面计数单元对初始映射更新操作执行之前有效页面的数量进行计数,并且当所述开放块的编程页面的数量超过第三阈值时,所述页面计数单元对最终映射更新操作执行之后有效页面的数量进行计数。
5.根据权利要求1所述的存储器系统,其中所述有效页面减少量计数单元针对每一个封闭存储块对所述映射更新操作前后减少的有效页面的数量进行计数。
6.根据权利要求5所述的存储器系统,其中所述封闭存储块中减少的有效页面的数量的总和包括针对每一个封闭存储块计数的有效页面减少量的和。
7.根据权利要求2所述的存储器系统,其中所述空闲块是空页面的数量大于或等于预定阈值的块。
8.根据权利要求1所述的存储器系统,其中所述开放块包括正在执行编程操作的存储块。
9.根据权利要求8所述的存储器系统,其中所述封闭存储块包括有效页面的数量不为零且不是所述开放块的存储块。
10.根据权利要求1所述的存储器系统,其中所述垃圾收集单元通过将所述牺牲块的有效数据复制到目标块的空页面中来执行所述垃圾收集操作。
11.一种用于操作存储器系统的方法,包括:
每当数据被编程在开放块中时对所述开放块中的编程页面的数量进行计数,并且对封闭存储块的有效页面的数量进行计数;
计算映射更新操作前后所述封闭存储块中减少的有效页面的总和;并且
当包括在存储器装置中的空闲块的数量小于第一阈值并大于第二阈值,并且所述开放块中的所述编程页面的数量与减少的有效页面的总和的比率大于或等于第四阈值时,对牺牲块执行垃圾收集操作。
12.根据权利要求11所述的方法,进一步包括:
对所述空闲块的数量进行计数并将所述空闲块的数量分别与所述第一阈值和所述第二阈值进行比较。
13.根据权利要求12所述的方法,其中执行所述垃圾收集操作包括:
当所述空闲块的数量小于所述第二阈值时,对所述牺牲块执行所述垃圾收集操作。
14.根据权利要求12所述的方法,其中对编程页面的数量进行计数包括:
当所述空闲块的数量小于所述第一阈值并大于所述第二阈值时,对初始映射更新操作执行之前有效页面的数量进行计数,并且当所述开放块的编程页面的数量超过第三阈值时,对最终映射更新操作执行之后有效页面的数量进行计数。
15.根据权利要求11所述的方法,其中计算所述映射更新操作前后所述封闭存储块中减少的有效页面的总和包括:
针对每一个封闭存储块对所述映射更新操作前后减少的有效页面的数量进行计数。
16.根据权利要求15所述的方法,其中所述封闭存储块中减少的有效页面的数量的总和包括针对每一个封闭存储块计数的有效页面减少量的和。
17.根据权利要求12所述的方法,其中所述空闲块是空页面的数量大于或等于预定阈值的块。
18.根据权利要求11所述的方法,其中所述开放块包括正在执行编程操作的存储块。
19.根据权利要求18所述的方法,其中所述封闭存储块包括有效页面的数量不为零且不是所述开放块的存储块。
20.根据权利要求11所述的方法,其中执行所述垃圾收集操作包括:
通过将所述牺牲块的有效数据复制到目标块的空页面中来执行所述垃圾收集操作。
CN201910119016.7A 2018-07-04 2019-02-18 存储器系统及该存储器系统的操作方法 Active CN110688060B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020180077802A KR20200004656A (ko) 2018-07-04 2018-07-04 메모리 시스템 및 그것의 동작방법
KR10-2018-0077802 2018-07-04

Publications (2)

Publication Number Publication Date
CN110688060A true CN110688060A (zh) 2020-01-14
CN110688060B CN110688060B (zh) 2023-05-16

Family

ID=69102009

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910119016.7A Active CN110688060B (zh) 2018-07-04 2019-02-18 存储器系统及该存储器系统的操作方法

Country Status (3)

Country Link
US (1) US10740229B2 (zh)
KR (1) KR20200004656A (zh)
CN (1) CN110688060B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220197862A1 (en) * 2020-12-17 2022-06-23 SK Hynix Inc. Journaling apparatus and method in a non-volatile memory system
CN115048040A (zh) * 2021-03-09 2022-09-13 美光科技公司 基于有效数据的比率的媒体管理操作

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI729674B (zh) * 2020-01-13 2021-06-01 慧榮科技股份有限公司 資料儲存裝置及其垃圾蒐集方法

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030163631A1 (en) * 2002-02-27 2003-08-28 Aasheim Jered Donald System and method for tracking data stored in a flash memory device
US20110022778A1 (en) * 2009-07-24 2011-01-27 Lsi Corporation Garbage Collection for Solid State Disks
CN103336744A (zh) * 2013-06-20 2013-10-02 华中科技大学 一种固态存储设备的垃圾回收方法及其系统
US20140032817A1 (en) * 2012-07-27 2014-01-30 International Business Machines Corporation Valid page threshold based garbage collection for solid state drive
CN104298606A (zh) * 2013-07-17 2015-01-21 光宝科技股份有限公司 固态存储装置中垃圾搜集动作的控制方法
US20170123870A1 (en) * 2015-10-28 2017-05-04 Via Technologies, Inc. Non-volatile memory device and control method thereof
US9652382B1 (en) * 2014-09-04 2017-05-16 Sk Hynix Memory Solutions Inc. Look-ahead garbage collection for NAND flash based storage
CN106776352A (zh) * 2015-11-23 2017-05-31 爱思开海力士有限公司 存储器系统和存储器系统的操作方法
CN107168886A (zh) * 2016-03-07 2017-09-15 爱思开海力士有限公司 数据存储装置及其操作方法
CN108241470A (zh) * 2016-12-27 2018-07-03 爱思开海力士有限公司 控制器及其操作方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102615593B1 (ko) 2016-05-04 2023-12-21 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030163631A1 (en) * 2002-02-27 2003-08-28 Aasheim Jered Donald System and method for tracking data stored in a flash memory device
US20110022778A1 (en) * 2009-07-24 2011-01-27 Lsi Corporation Garbage Collection for Solid State Disks
US20140032817A1 (en) * 2012-07-27 2014-01-30 International Business Machines Corporation Valid page threshold based garbage collection for solid state drive
CN103336744A (zh) * 2013-06-20 2013-10-02 华中科技大学 一种固态存储设备的垃圾回收方法及其系统
CN104298606A (zh) * 2013-07-17 2015-01-21 光宝科技股份有限公司 固态存储装置中垃圾搜集动作的控制方法
US9652382B1 (en) * 2014-09-04 2017-05-16 Sk Hynix Memory Solutions Inc. Look-ahead garbage collection for NAND flash based storage
US20170123870A1 (en) * 2015-10-28 2017-05-04 Via Technologies, Inc. Non-volatile memory device and control method thereof
CN106776352A (zh) * 2015-11-23 2017-05-31 爱思开海力士有限公司 存储器系统和存储器系统的操作方法
CN107168886A (zh) * 2016-03-07 2017-09-15 爱思开海力士有限公司 数据存储装置及其操作方法
CN108241470A (zh) * 2016-12-27 2018-07-03 爱思开海力士有限公司 控制器及其操作方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220197862A1 (en) * 2020-12-17 2022-06-23 SK Hynix Inc. Journaling apparatus and method in a non-volatile memory system
US11704281B2 (en) * 2020-12-17 2023-07-18 SK Hynix Inc. Journaling apparatus and method in a non-volatile memory system
CN115048040A (zh) * 2021-03-09 2022-09-13 美光科技公司 基于有效数据的比率的媒体管理操作

Also Published As

Publication number Publication date
US20200012597A1 (en) 2020-01-09
US10740229B2 (en) 2020-08-11
KR20200004656A (ko) 2020-01-14
CN110688060B (zh) 2023-05-16

Similar Documents

Publication Publication Date Title
US10671528B2 (en) Memory system and operating method thereof
CN109697171B (zh) 控制器及其操作方法
CN110750207B (zh) 存储器系统及其操作方法
CN110765029B (zh) 控制器及用于操作该控制器的方法
CN110716880B (zh) 存储器系统及其操作方法
US10956283B2 (en) Memory system capable of efficiently performing an error correction operation and operating method thereof
US20200210295A1 (en) Memory system and operating method thereof
CN110045914B (zh) 存储器系统及其操作方法
CN110751972A (zh) 存储器系统及该存储器系统的操作方法
CN111078584A (zh) 存储器系统及其操作方法
CN110556152A (zh) 存储器装置、其操作方法以及包括其的存储器系统
CN110688060B (zh) 存储器系统及该存储器系统的操作方法
US11169721B2 (en) Memory system for flexible map block management and operating method thereof
CN110716881B (zh) 存储器系统及其操作方法
US10901659B2 (en) Memory system for programming user data whose size is different from the reference size and operating method thereof
CN111273856A (zh) 控制器以及控制器的操作方法
CN111090596A (zh) 存储器系统及其操作方法
CN109947360B (zh) 存储器系统及其操作方法
US20200057577A1 (en) Memory system and operating method thereof
CN111176555A (zh) 存储器系统及其操作方法
CN111258920A (zh) 存储器系统、存储器系统的操作方法和控制器
US10725910B2 (en) Controller for recovering map segments in case of sudden power off and operating method thereof
US10770120B2 (en) Memory system and operating method of the same
CN110716879B (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
GR01 Patent grant
GR01 Patent grant