CN107977283B - 具有ldpc解码器的存储器系统及其操作方法 - Google Patents

具有ldpc解码器的存储器系统及其操作方法 Download PDF

Info

Publication number
CN107977283B
CN107977283B CN201711002245.8A CN201711002245A CN107977283B CN 107977283 B CN107977283 B CN 107977283B CN 201711002245 A CN201711002245 A CN 201711002245A CN 107977283 B CN107977283 B CN 107977283B
Authority
CN
China
Prior art keywords
classifier
decoding
training data
code bits
decoder
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201711002245.8A
Other languages
English (en)
Other versions
CN107977283A (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
SK Hynix 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 SK Hynix Inc filed Critical SK Hynix Inc
Publication of CN107977283A publication Critical patent/CN107977283A/zh
Application granted granted Critical
Publication of CN107977283B publication Critical patent/CN107977283B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory 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/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/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/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • 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
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/024Detection or location of defective auxiliary circuits, e.g. defective refresh counters in decoders
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1108Hard decision decoding, e.g. bit flipping, modified or weighted bit flipping
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1128Judging correct decoding and iterative stopping criteria other than syndrome check and upper limit for decoding iterations
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5642Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Probability & Statistics with Applications (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Error Detection And Correction (AREA)

Abstract

本发明公开一种半导体存储器系统的设备及其操作方法,该半导体存储器系统的设备包括:多个存储器装置;以及控制器,其与存储器装置联接,包括训练数据存储器、分类器训练器和解码器,控制器被配置成执行解码迭代,其中训练数据存储器被配置成收集和存储至少训练数据,分类器训练器被配置成至少利用训练数据来训练分类器,并且解码器被配置成根据分类器的规则来解码代码位。

Description

具有LDPC解码器的存储器系统及其操作方法
相关申请的交叉引用
本申请要求于2016年10月24日提交的标题为“改进LDPC位翻转解码器的方法”、申请号为62/412,056的美国临时专利申请的优先权,其通过引用并入本文以用于所有目的。
技术领域
本公开的示例性实施例涉及一种半导体存储器存储系统的设备,并且更特别地涉及LDPC解码器及其操作方法。
背景技术
计算机环境范例已经转变至可随时随地使用的普适计算系统。由于该事实,诸如移动电话、数码相机和笔记本电脑的便携式电子装置的使用已经快速增长。这些便携式电子装置通常使用具有存储器装置,即数据存储装置的存储器系统。数据存储装置被用作便携式电子装置的主存储器装置或辅助存储器装置。
因为使用存储器装置的数据存储装置不具有移动部件,所以它们提供优良的稳定性、耐久性、高信息访问速度和低功耗。具有这种优点的数据存储装置的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡和固态驱动器(SSD)。
SSD可以包括闪速存储器部件和SSD控制器。SSD控制器也可以被称作处理器,其包括将闪速存储器部件桥接到SSD输入/输出(I/O)接口的电子器件。SSD控制器可以包括可执行诸如固件的功能部件的嵌入式处理器。SSD功能部件是装置特定的,并且在大多数情况下可以被更新。
两种主要类型的闪速存储器部件以NAND和NOR逻辑门命名。单独的闪速存储器单元呈现与相应门的闪速存储器类似的内部特性。NAND型闪速存储器可以在通常比整个装置小得多的块(或页面)中写入和读取。NOR型闪存允许单个机器字(字节)被写入擦除位置或被独立地读取。NAND型主要在存储卡、USB闪存驱动器、固态驱动器和类似的产品中操作,用于数据的一般存储和传输。
因为基于NAND闪存的存储装置的较快的读取/写入性能、较低的功耗和防震特征,所以它们已经被广泛采用。与硬盘驱动器(HDD)相比,一个缺点是其价格相对较高。为了降低成本,NAND闪存制造商一直将其制造工艺的极限推向20nm或更低,这通常导致可用寿命较短且数据可靠性降低。因此,需要比传统的BCH代码更强大的错误校正码(ECC)来克服相关的噪声和干扰,从而提高数据完整性。一个这样的ECC是低密度奇偶校验(LDPC)码。可以使用各种算法来更准确和更快地解码LDPC码。
因此,仍然需要用于LDPC解码器的半导体存储器系统及其操作方法。鉴于对提高性能和安全性的需求不断增加,找到这些问题的答案越来越关键。虽然一直在寻求这些问题的解决方案,但是先前的研究尚未教导或提出任何解决方案,因此这些问题的解决方案长期以来困扰着本领域的技术人员。
发明内容
本公开的实施例涉及一种能够提高存储器系统的性能和可靠性的半导体存储器系统及其操作方法。
根据本公开的实施例,提供一种半导体存储器系统的设备,其包括:多个存储器装置;以及控制器,其与存储器装置联接,包括训练(training)数据存储器、分类器训练器和解码器,控制器被配置成执行解码迭代,其中训练数据存储器被配置成收集和存储至少训练数据,分类器训练器被配置成至少利用训练数据来训练分类器,并且解码器被配置成根据分类器的规则来解码代码位(code-bits)。
根据本公开的实施例,提供一种半导体存储器系统的操作方法,其包括:执行解码迭代,其中解码迭代包括收集并存储至少训练数据,至少利用训练数据来训练分类器,以及根据分类器的规则来解码代码位。
根据本公开的实施例,提供一种半导体存储器系统,其包括:处理器;以及有形计算机可读存储介质,其联接到处理器,嵌入由处理器执行的非暂时性计算机程序产品,包括被配置成执行解码迭代的计算机指令,其中解码迭代包括收集并存储至少训练数据,至少利用训练数据来训练分类器,以及根据分类器的规则来解码代码位。
附图说明
图1是示意性地示出根据本发明的实施例的半导体存储器系统的顶层框图。
图2是示出根据本发明的实施例的半导体存储器系统的详细框图。
图3是示出根据本发明的实施例的半导体存储器装置的存储块的电路图。
图4是示出使用根据本发明的实施例的半导体存储器装置200的分批训练(batch-training)的BF解码器的流程图。
图5是示出使用根据本发明的实施例的半导体存储器装置200的顺序训练(sequential-training)的BF解码器的流程图。
图6是示意性地示出根据本发明的实施例的半导体存储器装置200的各种BF解码器的简图。
图7是示出根据本发明的实施例的半导体存储器装置200的各种BF解码器性能的简图。
图8是示出本发明的另一实施例的半导体存储器系统的操作方法的流程图。
具体实施方式
以下将参照附图更详细地描述各个实施例。然而,本发明可以以不同的形式实施并且不应被解释为限于本文阐述的实施例。相反,提供这些实施例使得本公开将是彻底且完全的,并且将向本领域技术人员充分传达本发明的范围。在整个公开中,在整个本发明的各个附图和实施例中相同的附图标记表示相同的部件。
本发明可以以各种方式实施,其包括如进程、设备、系统、物质的组成、在计算机可读存储介质上实施的计算机程序产品,和/或处理器,诸如适于执行存储在联接到处理器的存储器上和/或由联接到处理器的存储器提供的指令的处理器。在本说明书中,这些实施方式或本发明可以采取的任何其它形式可以被称为技术。通常,公开的进程的步骤的顺序可以在本发明的范围内改变。除非另有说明,否则诸如被描述为适于执行任务的处理器或存储器的部件可以被实现为在给定时间临时适用于执行任务的一般部件或被制造为执行任务的特定部件。如本文使用的,术语“处理器”是指适于处理诸如计算机程序指令的数据的一个或多个装置、电路和/或处理核。
下文提供对本发明的一个或多个实施例的详细描述以及说明本发明的原理的附图。结合这些实施例描述本发明,但是本发明不限于任何实施例。本发明的范围仅由权利要求限制,并且本发明包括许多可替换方案、变型和等同物。为了提供对本发明的透彻理解,在以下描述中阐述许多具体细节。为了示例的目的提供这些细节,并且本发明可以在没有这些具体细节中的一些或全部的情况下,根据权利要求实现。为了清楚的目的,与本发明相关的技术领域中已知的技术材料尚未详细描述,使得本发明不会被不必要地模糊。
LDPC码被广泛用于在数据存储器和传输应用中提供数据可靠性。置信度传播算法(BP)和相关解码器可以将每个代码位的置信度内部表示为软信息,并且提供最大化错误校正能力。然而,由于解码器的复杂度较高,因此当错误的数量较少时,可以使用如位翻转(BF)解码器的不太强大的解码器。BF解码器的使用可以降低触发更强大但功耗更大的BP解码器的频率。
BF解码器仅存储每个代码位的当前值,而不存储软信息。可以基于每个代码位的不满足的校验节点的数量的信息迭代地翻转每个代码位的值。可以限定不同的规则来判定代码位值是否被翻转。目前,BF规则被启发式手动(heuristically manually)优化以降低LDPC解码器的失败率。在该工作中,提出一种基于模拟数据自动优化用于任何给定的LDPC码和传输信道的BF规则的框架。
提出的框架可以确定用于任何给定的LDPC码的良好的BF规则。框架可以包括针对正确/不正确的代码位的精灵(genie)信息以及由解码器可以观察的特征训练随机森林分类器。当用作BF规则时,分类器的预测可能引起比手动确定的最佳规则更好的解码性能。
可以使用框架的两种变型。第一种框架被称为分批训练,其中收集训练数据用于最大化解码迭代,同时使用一些手动确定的BF规则,并且针对收集的训练数据训练单个分类器。框架的第二种变型被称为顺序训练,其中训练多个分类器,并且上一个训练的分类器可被用于生成用于下一个分类器的训练数据。这样,为了训练第i分类器,可以收集训练数据用于i迭代,其中可以使用由第(i-1)分类器确定的规则来完成代码位的翻转。
用于LDPC码的BF解码器可以存储每个代码位的当前值,其可以基于信道输出的硬判决被初始化。然后,BF解码器可以迭代地确定哪些校验节点不满足代码位的当前值,并且基于不满足的校验节点的信息翻转这些值中的一些值。BF解码器还可以使用其它信息,例如当前迭代次数、可变节点的程度(degree)、不满足的校验节点的总数量、以及其值在先前迭代中被翻转的代码位的数量。BF解码器用来作判决的所有信息都可以依照特征来分类。表1示出其特征和值的一些示例。
表1:特征及其值以及精灵数据的示例
Figure BDA0001443670390000061
将代码位的特征映射到关于代码位是否应当被翻转的真/假判决的功能可以被称为BF规则。表2示出BF规则的示例。
表2:基于表1中的特征的BF规则的示例
代码位被翻转?
F1等于0并且F2等于F3
F1大于0并且F2大于F3-1
F1大于4并且F2大于3并且F5为假
F1大于9并且F4小于10并且F2大于2
其它
现在参照图1,图1中示出示意性地说明根据本发明的实施例的存储器系统的顶层框图。存储器系统可以包括包含存储器控制器100以及诸如闪速存储器装置的半导体存储器装置200的许多部件。存储器控制器100可以包括用于执行存储在存储器系统中的程序和指令的处理器102以用于操作存储器系统。
存储器控制器100可以经由通信输入/输出(I/O)总线104来控制半导体存储器装置200的总体操作,包括命令CMD、地址ADDR、数据DATA、电源PWR和控制信号CTRL。控制信号CTRL可以包括命令锁存使能(CLE)信号、地址锁存使能(ALE)信号、芯片使能(CE)信号、写入使能(WE)信号、读取使能(RE)信号等。
半导体存储器装置200可以在存储器控制器100的控制下执行一个或多个擦除操作、编程操作、写入操作和读取操作。半导体存储器装置200可以通过输入/输出线路从存储器控制器100接收命令、地址和数据。半导体存储器装置200可以通过电源线接收电源PWR并且通过控制线路接收控制信号CTRL。
存储器控制器100和半导体存储器装置200可以被集成到诸如SSD或存储卡的单个半导体装置中。例如,存储器控制器100和半导体存储器装置200可以被集成到单个半导体装置中以配置诸如以下的存储卡:个人计算机存储卡国际协会(PCMCIA)的PC卡、标准闪存(CF)卡、智能媒体(SM)卡、记忆棒、多媒体卡(MMC)、缩小尺寸的多媒体卡(RS-MMC)、微型尺寸版本的MMC(微型MMC)、安全数字(SD)卡、迷你安全数字(迷你SD)卡、微型安全数字(微型SD)卡、高容量安全数字卡(SDHC)和通用闪速存储器(UFS)。
又例如,存储器系统可以被设置为包括诸如以下的电子装置的各种元件中的一种:计算机、超移动PC(UMPC)、工作站、上网本计算机、个人数字助理(PDA)、便携式计算机、网络平板PC、无线电话、移动电话、智能电话、电子书阅读器、便携式多媒体播放器(PMP)、便携式游戏装置、导航装置、黑盒、数码相机、数字多媒体广播(DMB)播放器、三维(3D)电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、数据中心的存储装置、能够在无线环境下接收和传输信息的装置、家庭网络的电子装置中的一个、计算机网络的电子装置中的一个、远程信息处理网络的电子装置中的一个、射频识别(RFID)装置或计算系统的元件装置。
现在参照图2,图2中示出说明根据本发明实施例的存储器系统的详细框图。例如,图2的存储器系统可以描绘图1所示的存储器系统。存储器系统可以包括存储器控制器100和半导体存储器装置200。存储器系统可以响应于来自主机装置的请求而操作,并且特别地,存储待由主机装置访问的数据。
主机装置可以利用各种电子装置中的任意一种来实施。在一些实施例中,主机装置可以包括诸如以下的电子装置:台式计算机、工作站、三维(3D)电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器和数字视频播放器。在一些实施例中,主机装置可以包括诸如以下的便携式电子装置:移动电话、智能电话、电子书、MP3播放器、便携式多媒体播放器(PMP)和便携式游戏机。
半导体存储器装置200可以存储待由主机装置访问的数据,并且可以利用诸如动态随机存取存储器(DRAM)和静态随机存取存储器(SRAM)的易失性存储器装置或诸如只读存储器(ROM)、掩膜ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电随机存取存储器(FRAM)、相变RAM(PRAM)、磁阻RAM(MRAM)和电阻式RAM(RRAM)的非易失性存储器装置来实施。
存储器控制器100可以控制半导体存储器装置200中的数据的存储。例如,存储器控制器100可以响应于来自主机装置的请求来控制半导体存储器装置200。存储器控制器100可以将从半导体存储器装置200读取的数据提供给主机装置,并且将从主机装置提供的数据存储到半导体存储器装置200中。
存储器控制器100可以包括通过总线160联接的存储单元110、控制单元120、错误校正码(ECC)单元130、主机接口140和存储器接口150。
存储单元110可以用作存储器系统和存储器控制器100的工作存储器,并且存储用于驱动存储器系统和存储器控制器100的数据。当存储器控制器100控制半导体存储器装置200的操作时,存储单元110可以存储由存储器控制器100和半导体存储器装置200用于诸如读取操作、写入操作、编程操作和擦除操作的操作的数据。
存储单元110可以利用易失性存储器来实施。存储单元110可以利用静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)来实施。如上所述,存储单元110可以将主机装置使用的数据存储在半导体存储器装置200中以用于读取操作和写入操作。为了存储数据,存储单元110可以包括编程存储器、数据存储器、写入缓冲器、读取缓冲器、映射缓冲器等。
控制单元120可以控制存储器系统的一般操作,并且可以响应于来自主机装置的写入请求或读取请求来控制半导体存储器装置200的写入操作或读取操作。控制单元120可以驱动被称为闪存转换层(FTL)的固件来控制存储器系统的一般操作。例如,FTL可以执行诸如逻辑到物理(L2P)映射、磨损均衡、垃圾收集和坏块处理的操作。L2P映射被称为逻辑块寻址(LBA)。
ECC单元130可以检测并校正在读取操作期间从半导体存储器装置200读取的数据中的错误。当错误位的数量大于或等于可校正错误位的阈值数量时,ECC单元130不能校正错误位,并且可以输出指示校正错误位失败的错误校正失败信号。
在一些实施例中,ECC单元130可以基于诸如以下的编码调制执行错误校正操作:低密度奇偶校验(LDPC)码、博斯-查德胡里-霍昆格姆(BCH)码、涡轮码、涡轮乘积码(TPC)、里德-所罗门(RS)码、卷积码、递归系统码(RSC)、网格编码调制(TCM)、分组编码调制(BCM)等。ECC单元130可以包括用于错误校正操作的所有电路、系统或装置。
主机接口140可以通过诸如以下的各种接口协议中的一种或多种与主机装置通信:通用串行总线(USB)、多媒体卡(MMC)、高速外围组件互连(PCI-E)、小型计算机系统接口(SCSI)、串行SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、增强型小型磁盘接口(ESDI)和电子集成驱动器(IDE)。
存储器接口150可以在存储器控制器100和半导体存储器装置200之间提供接口以允许存储器控制器100响应于来自主机装置的请求来控制半导体存储器装置200。存储器接口150可以在CPU 120的控制下生成用于半导体存储器装置200的控制信号并且处理数据。当半导体存储器装置200是诸如NAND闪速存储器的闪速存储器时,存储器接口150可以在CPU 120的控制下生成用于存储器的控制信号并且处理数据。
半导体存储器装置200可以包括存储器单元阵列210、控制电路220、电压生成电路230、行解码器240、页面缓冲器250、列解码器260和输入/输出电路270。存储器单元阵列210可以包括多个存储块211,并且可以在其中存储数据。电压生成电路230、行解码器240、页面缓冲器250、列解码器260和输入/输出电路270形成用于存储器单元阵列210的外围电路。外围电路可以执行存储器单元阵列210的编程操作、读取操作或擦除操作。控制电路220可以控制外围电路。
电压生成电路230可以生成具有各种电平的操作电压。例如,在擦除操作中,电压生成电路230可以生成诸如擦除电压和通过电压的具有各种电平的操作电压。
行解码器240可以连接到电压生成电路230和多个存储块211。行解码器240可以响应于由控制电路220生成的行地址RADD在多个存储块211中选择至少一个存储块,并且将从电压生成电路230供给的操作电压传输到在多个存储块211中选择的存储块。
页面缓冲器250通过位线BL(未示出)连接到存储器单元阵列210。响应于由控制电路220生成的页面缓冲器控制信号,页面缓冲器250可以利用正电压对位线BL预充电,在编程操作和读取操作中将数据传输到选择的存储块/从选择的存储块接收数据,或临时存储传输的数据。
列解码器260可以将数据传输到页面缓冲器250/从页面缓冲器250接收数据或将数据传输到输入/输出电路270/从输入/输出电路270接收数据。
输入/输出电路270可以通过输入/输出电路270将从外部装置(例如,存储器控制器100)传输的命令和地址传输到控制电路220,将数据从外部装置传输到列解码器260,或将数据从列解码器260输出到外部装置。
控制电路220可以响应于命令和地址来控制外围电路。
现在参照图3,图3中示出说明根据本发明的实施例的半导体存储器装置200的存储块的电路图。例如,图3的存储块可以是图2所示的半导体存储器装置200的存储器单元阵列的存储块211。
存储块211可以包括分别联接到位线BL0至BLm-1的多个单元串221。每个列的单元串可以包括一个或多个漏极选择晶体管(DST)和一个或多个源极选择晶体管(SST)。多个存储器单元或存储器单元晶体管可以串联联接在DST和SST之间。存储器单元MC0至MCn-1中的每一个可以由在每个单元中存储多位的数据信息的多层单元(MLC)形成。单元串221可以分别电联接到相应的位线BL0至BLm-1。
在一些实施例中,存储块211可以包括NAND型闪速存储器单元。然而,存储块211不限于NAND闪速存储器,而是可以包括NOR型闪速存储器、组合至少两种存储器单元的混合闪速存储器,以及控制器内置于存储器芯片的1-NAND闪速存储器。
现在参照图4,图4中示出说明使用根据本发明的实施例的半导体存储器装置200的分批训练的BF解码器的流程图。BF解码器可以由用于确定在每次解码迭代翻转哪些代码位的BF规则来限定。BF规则通常可以通过验证BF规则是否具有良好的解码性能来手动选择。
本发明的实施例提供可以通过查看特征的样本以及精灵数据来确定离线的BF规则的框架。可以通过在每次解码迭代对多个噪声码字(codewords)解码并存储特征和精灵数据来生成训练数据。可以利用训练数据训练诸如随机森林分类器的分类器。在适合(fitting)利用训练数据表现良好的随机森林分类器之后,随机森林分类器的分类将来可以被用作BF规则。这样,通过查看从信道接收的另一噪声字的代码位的另一组特征,可以高精度地预测代码位是正确还是不正确。
例如,在分批训练框架中,手动限定的BF规则可以被用于在训练数据收集步骤402中解码噪声码字。在步骤402中,手动选择的分类器C手动可以用于在迭代i中解码多个码字,例如N个码字,其中i达到最大迭代次数imax。BF解码器可以确定哪些校验节点不满足代码位的当前值,并且基于不满足的校验节点的信息翻转这些值中的一些值。通过遵循BF规则,BF解码器还可以使用其它特征来做出确定,诸如表2中所示的特征的映射和翻转确定。
在迭代次数达到最大迭代次数imax之前,在步骤404中,可以为N个码字存储在{0,i}的范围内的所有迭代的代码位的特征和精灵数据。在步骤406中,从步骤402积累的特征和精灵数据可以被保存为训练数据φ并用于训练分类器C手动。在步骤408中训练的分类器C手动可以被返回以用于将来的解码过程。当迭代次数达到最大迭代次数imax时,利用从{0,imax-1}的范围内的迭代累积的训练数据φ来训练分类器C手动,在步骤408中上一个训练的分类器C手动可以被返回作为最终分类器C手动以用于将来的解码过程。
现在参照图5,图5中示出说明使用根据本发明的实施例的半导体存储器装置200的顺序训练的BF解码器的流程图。在顺序训练框架中,可以在后续解码迭代中顺序地训练多个分类器。在图5中示出在顺序训练框架中使用的方法的流程图。
首先,在步骤502中可以生成没有任何解码迭代的初始训练数据φi,诸如在初始迭代处用于N个码字的所有代码位的特征和精灵数据,其中初始迭代次数i=0。在步骤504中,利用训练数据φ0训练分类器C(0)。接下来,在步骤506中,在迭代次数i达到最大迭代次数imax之前,BF解码器可以使用迭代0的分类器C(0)解码N个码字。
在重复的步骤502中,来自分类器C(0)的预测可以被用作用于收集训练数据φ1以用于多达1次解码迭代的BF规则。在重复的步骤504中,可以针对训练数据φ1训练另一分类器C(1)。然后,在重复的步骤506中,可以通过使用用于迭代i的C(1)解码N个码字来创建C(1)的预测,其中i=1。在重复的步骤502中,C(1)的预测可以被用作用于收集训练数据φ2以用于多达2次解码迭代的BF规则,并且在重复的步骤504中,利用训练数据φ2训练分类器C(2)。该进程可以顺序地重复,直到最大数量的解码迭代i=imax-1的训练数据φi被收集并且分类器C(i)利用该训练数据φi被训练为止。来自上一个分类器C(imax-1)的预测可以用于限定BF规则并返回给BF解码器。
现在参照图6,图6中示意性地示出根据本发明的实施例的半导体存储器装置200的各种BF解码器的简图。BF解码器600可以包括训练数据存储器602、分类器训练器604和解码器606。
训练数据存储器602可以在没有来自解码器606的任何预测结果的情况下收集初始训练数据以开始初始迭代的分类器训练。在后续的迭代中,训练数据存储器602可以收集并存储包括用于所有迭代的N个码字的所有代码位的特征和精灵数据的训练数据。收集的训练数据可以用于通过分类器训练器604训练分类器。包括分批训练中的相同分类器的训练的/更新的分类器或顺序训练中的附加的/新的分类器可以被转发到解码器606。用于解码N个码字的解码器606使用训练的分类器。预测结果或解码结果可以与观察的特征和精灵数据一起被反馈到训练数据存储器602,作为下一次迭代的训练数据,直到迭代次数达到最大迭代次数。
现在参照图7,图7中示出说明根据本发明的实施例的半导体存储器装置200的各种BF解码器性能的简图。图7示出了由诸如图4所示的分批训练BF解码器和图5所示的顺序训练BF解码器的两种变型训练的BF解码器以及两种手动优化的BF解码器的性能。如图7所示,使用分批训练的BF解码器表现与手动优化的BF解码器相近,而使用顺序训练的BF解码器可以胜过包括手动优化的BF解码器和分批训练BF解码器的所有其它BF解码器。
被限定成确定优化的BF规则的框架可以首先收集训练数据,其中训练数据可以包括精灵数据和由解码器观察并且在解码期间使用先前已知的BF规则的、手动设置的或者从上一个训练的分类器获得的特征构成。然后,框架可以基于解码器观察的特征使用收集的训练数据来训练新的分类器以预测哪些代码位是正确/不正确的。对于每次迭代,可以利用当前迭代的训练数据和特征来训练分类器。当前迭代的训练的分类器可以被用于下一次迭代中的解码。相同的分类器可被用在分批训练BF解码器中,而不同的分类器可被用在顺序训练BF解码器中。可以重复地执行解码过程,直到达到最大迭代次数。最大迭代次数可以由存储器系统预先确定并配置。可选地,在解码过程期间,最大迭代次数可以由存储器系统配置和调整。
已经发现,在本发明中提供的半导体存储器系统及其操作方法可以通过利用收集的训练数据和观察的特征训练分类器来国际优化分类器,并且根据由训练的分类器设置的某些BF规则执行错误校正解码。根据相应的国际优化分类器进行错误校正解码可以优化解码结果、降低功耗、提高整体存储器系统性能。
现在参照图8,图8中示出说明本发明的另一实施例中的半导体存储器系统的操作方法的流程图。半导体存储器系统的操作方法的流程图包括:在块802中,执行解码迭代,其中解码迭代包括收集并存储至少训练数据;在块804中,至少利用训练数据来训练分类器;以及在块806中,根据分类器的规则来解码代码位。
本发明的另一个重要方面是它有价值地支持和服务于降低成本、简化系统和提高性能的历史趋势。因此,本发明的这些和其它有价值的方面将技术的状态至少进一步提高到下一个水平。
虽然已经结合具体的最佳模式描述了本发明,但是应当理解的是,根据前面的描述,许多可选方案、变型和变化对于本领域技术人员将是显而易见的。因此,旨在涵盖落在所附权利要求的范围内的所有这样的可选方案、变型和变化。迄今为止在本文中阐述或在附图中示出的所有事项将以说明性和非限制性的意义来解释。

Claims (17)

1.一种半导体存储器系统的设备,其包括:
多个存储器装置;以及
控制器,其与所述存储器装置联接,所述控制器包括训练数据存储器、分类器训练器和解码器,并且被配置成执行解码迭代,其中所述训练数据存储器被配置成收集和存储至少训练数据,所述训练数据包括用于所有解码迭代的码字的代码位的特征和精灵数据,所述精灵数据关于代码位是否应当被翻转,所述分类器训练器被配置成至少利用所述训练数据来训练分类器,并且所述解码器由用于确定在每次解码迭代翻转哪些代码位的位翻转规则来限定并且被配置成根据所述分类器的规则来解码代码位。
2.根据权利要求1所述的设备,其中所述解码器进一步被配置成根据在解码迭代中训练的相同的分类器的规则来解码代码位。
3.根据权利要求1所述的设备,其中所述解码器进一步被配置成根据在解码迭代中训练的新的分类器的规则来解码代码位。
4.根据权利要求1所述的设备,其中所述控制器进一步被配置成执行解码迭代,直到达到最大迭代次数。
5.根据权利要求4所述的设备,其中所述控制器进一步被配置成当达到所述最大迭代次数时,返回上次训练的分类器。
6.根据权利要求1所述的设备,其中所述训练数据存储器进一步被配置成在没有来自所述解码器的预测结果的情况下收集初始训练数据。
7.根据权利要求1所述的设备,其中所述训练数据存储器进一步被配置成收集包括来自所述解码器的预测结果的后续训练数据。
8.根据权利要求1所述的设备,其中所述规则符合至少一个特征,所述特征包括迭代次数、相邻的不满足的校验节点的数量、可变节点的程度、不满足的校验节点的总数量、匹配信道输出的当前值或其组合。
9.一种半导体存储器系统的操作方法,其包括:
执行解码迭代,其中所述解码迭代包括
收集和存储至少训练数据,所述训练数据包括用于所有所述解码迭代的码字的代码位的特征和精灵数据,所述精灵数据关于代码位是否应当被翻转,
至少利用所述训练数据来训练分类器,以及
根据分类器的规则来解码代码位。
10.根据权利要求9所述的方法,其中根据规则解码代码位包括根据在所述解码迭代中训练的相同的分类器的规则来解码代码位。
11.根据权利要求9所述的方法,其中根据规则解码代码位包括根据在所述解码迭代中训练的新的分类器的规则来解码代码位。
12.根据权利要求9所述的方法,其中执行解码迭代包括执行所述解码迭代,直到达到最大迭代次数。
13.根据权利要求12所述的方法,其进一步包括当达到所述最大迭代次数时,返回上次训练的分类器。
14.根据权利要求9所述的方法,其中收集和存储至少训练数据包括在没有来自解码器的预测结果的情况下收集初始训练数据。
15.根据权利要求9所述的方法,其中收集和存储至少训练数据包括收集包括来自解码器的预测结果的后续训练数据。
16.根据权利要求9所述的方法,其中根据分类器的规则解码代码位包括根据分类器的规则来解码代码位,所述分类器的规则包括迭代次数、相邻的不满足的校验节点的数量、可变节点的程度、不满足的校验节点的总数量、匹配信道输出的当前值或其组合。
17.一种半导体存储器系统,其包括:
处理器;以及
有形计算机可读存储介质,其联接到所述处理器,嵌入由所述处理器执行的非暂时性计算机程序产品,包括被配置成执行解码迭代的计算机指令,其中所述解码迭代包括
收集并存储至少训练数据,所述训练数据包括用于所有所述解码迭代的码字的代码位的特征和精灵数据,所述精灵数据关于代码位是否应当被翻转,
至少利用所述训练数据来训练分类器,以及
根据所述分类器的规则来解码代码位。
CN201711002245.8A 2016-10-24 2017-10-24 具有ldpc解码器的存储器系统及其操作方法 Active CN107977283B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201662412056P 2016-10-24 2016-10-24
US62/412,056 2016-10-24
US15/788,524 2017-10-19
US15/788,524 US10572342B2 (en) 2016-10-24 2017-10-19 Memory system with LDPC decoder and operating method thereof

Publications (2)

Publication Number Publication Date
CN107977283A CN107977283A (zh) 2018-05-01
CN107977283B true CN107977283B (zh) 2021-05-25

Family

ID=61969562

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711002245.8A Active CN107977283B (zh) 2016-10-24 2017-10-24 具有ldpc解码器的存储器系统及其操作方法

Country Status (2)

Country Link
US (1) US10572342B2 (zh)
CN (1) CN107977283B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102532563B1 (ko) * 2018-03-28 2023-05-17 에스케이하이닉스 주식회사 메모리 장치 및 그것의 동작방법
KR20200078982A (ko) * 2018-12-24 2020-07-02 에스케이하이닉스 주식회사 트래이닝 기능을 갖는 반도체 장치 및 반도체 시스템
CN110661682B (zh) * 2019-09-19 2021-05-25 上海天旦网络科技发展有限公司 通用互联数据自动分析系统、方法、设备
US11088712B2 (en) 2019-11-05 2021-08-10 Western Digital Technologies, Inc. Iterative decoder performance prediction using machine learning
US11387845B2 (en) 2020-02-06 2022-07-12 SK Hynix Inc. LDPC decoder, operating method of LDPC decoder, and semiconductor memory system
US11381253B1 (en) * 2021-02-05 2022-07-05 SK Hynix Inc. Decoding codeword based on higher order information

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1340923A (zh) * 2000-07-07 2002-03-20 国际商业机器公司 软纠错代数解码器
CN1713530A (zh) * 2004-06-22 2005-12-28 印芬龙科技股份有限公司 解码低密度奇偶校验(ldpc)码字的ldpc解码器
CN1781254A (zh) * 2003-02-26 2006-05-31 弗拉里奥恩技术公司 使用多级置换来执行低密度奇偶校验码操作的方法和设备
CN101582697A (zh) * 2008-02-23 2009-11-18 澜起科技(上海)有限公司 低密度奇偶校验(ldpc)解码器
CN104572993A (zh) * 2015-01-06 2015-04-29 浪潮电子信息产业股份有限公司 一种基于遗传算法的分类算法参数优化方法
CN104685877A (zh) * 2012-09-28 2015-06-03 Vid拓展公司 用于多层视频编码的自适应上采样

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7684337B2 (en) * 2006-01-17 2010-03-23 Mitsubishi Electric Research Laboratories, Inc. Method and system for communicating in cooperative relay networks
GB2434946B (en) * 2006-02-01 2008-07-23 Toshiba Res Europ Ltd Wireless communications apparatus
CA2638465A1 (en) * 2007-08-01 2009-02-01 Jean-Yves Chouinard Learning filters for enhancing the quality of block coded still and video images
JP5358807B2 (ja) * 2008-02-26 2013-12-04 横河電機株式会社 マルチホップ無線通信システム
US8667361B1 (en) 2010-10-21 2014-03-04 Marvell International Ltd. Systems and methods for performing bit flipping in an LDPC decoder
US20140214734A1 (en) * 2013-01-31 2014-07-31 Hewlett-Packard Development Company, L.P. Classifying a submission
US9454958B2 (en) * 2013-03-07 2016-09-27 Microsoft Technology Licensing, Llc Exploiting heterogeneous data in deep neural network-based speech recognition systems
US9477753B2 (en) * 2013-03-12 2016-10-25 International Business Machines Corporation Classifier-based system combination for spoken term detection
CN105900116A (zh) * 2014-02-10 2016-08-24 三菱电机株式会社 分层型神经网络装置、判别器学习方法以及判别方法
US10135464B2 (en) 2015-01-05 2018-11-20 SK Hynix Inc. Reliability-assisted bit-flipping decoding algorithm
CN109690577A (zh) * 2016-09-07 2019-04-26 皇家飞利浦有限公司 利用堆叠式自动编码器进行的半监督式分类

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1340923A (zh) * 2000-07-07 2002-03-20 国际商业机器公司 软纠错代数解码器
CN1781254A (zh) * 2003-02-26 2006-05-31 弗拉里奥恩技术公司 使用多级置换来执行低密度奇偶校验码操作的方法和设备
CN1713530A (zh) * 2004-06-22 2005-12-28 印芬龙科技股份有限公司 解码低密度奇偶校验(ldpc)码字的ldpc解码器
CN101582697A (zh) * 2008-02-23 2009-11-18 澜起科技(上海)有限公司 低密度奇偶校验(ldpc)解码器
CN104685877A (zh) * 2012-09-28 2015-06-03 Vid拓展公司 用于多层视频编码的自适应上采样
CN104572993A (zh) * 2015-01-06 2015-04-29 浪潮电子信息产业股份有限公司 一种基于遗传算法的分类算法参数优化方法

Also Published As

Publication number Publication date
CN107977283A (zh) 2018-05-01
US10572342B2 (en) 2020-02-25
US20180113760A1 (en) 2018-04-26

Similar Documents

Publication Publication Date Title
CN106169308B (zh) 存储器控制器及其操作方法
CN109616148B (zh) 具有解码器的存储器系统、其操作方法和解码器
CN107731259B (zh) 最佳读取参考电压的存储器系统及其操作方法
CN109428606B (zh) 具有ldpc解码器的存储器系统及其操作方法
US10296452B2 (en) Data separation by delaying hot block garbage collection
CN110444246B (zh) 用于存储器系统的相邻辅助校正错误恢复及其方法
CN107977283B (zh) 具有ldpc解码器的存储器系统及其操作方法
CN108073467B (zh) 具有硬信道信息的位翻转ldpc解码算法
CN109801669B (zh) 具有软读取挂起方案的存储器系统及其操作方法
CN106372004B (zh) 用于ssd控制器的可编程协议独立bar存储器
US9653176B2 (en) Read disturb reclaim policy
CN109671465B (zh) 具有自适应读取阈值方案的存储器系统及其操作方法
CN110275796B (zh) 具有混合解码方案的存储器系统及其操作方法
US10956263B2 (en) Memory system with deep learning based interference correction capability and method of operating such memory system
US10447302B2 (en) Memory system decoding design and operating method thereof
US10802761B2 (en) Workload prediction in memory system and method thereof
CN111540393B (zh) 用于基于字线分组的读取操作的存储器系统和方法
CN110277124B (zh) 具有混合解码方案的存储器系统及其操作方法
US11907571B2 (en) Read threshold optimization systems and methods using domain transformation
US20220130472A1 (en) Read threshold optimization systems and methods using model-less regression
CN112687323B (zh) 具有用于解码的错误减少方案的存储器系统及其操作方法
CN110569143B (zh) 用于存储器系统的解码器及其方法
US20170060428A1 (en) Delaying Hot Block Garbage Collection with Adaptation
US11356123B2 (en) Memory system with low-complexity decoding and method of operating such memory system
CN110275844B (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