CN112542201A - 存储设备及操作该存储设备的方法 - Google Patents

存储设备及操作该存储设备的方法 Download PDF

Info

Publication number
CN112542201A
CN112542201A CN202010518087.7A CN202010518087A CN112542201A CN 112542201 A CN112542201 A CN 112542201A CN 202010518087 A CN202010518087 A CN 202010518087A CN 112542201 A CN112542201 A CN 112542201A
Authority
CN
China
Prior art keywords
data
memory chip
chip
volatile memory
parity bits
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
CN202010518087.7A
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 CN112542201A publication Critical patent/CN112542201A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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
    • 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
    • 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/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • 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
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0004Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements comprising amorphous/crystalline phase transition cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0035Evaluating degradation, retention or wearout, e.g. by counting writing cycles
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • G11C16/3495Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
    • 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
    • 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
    • G11C2029/0409Online test
    • 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
    • G11C2029/0411Online error correction

Abstract

提供了一种存储设备及操作该存储设备的方法。所述存储设备包括:第一非易失性存储器芯片;第二非易失性存储器芯片;以及控制器。所述控制器可以包括:处理器,被配置为执行加载到片上存储器的闪存转换层;ECC引擎,被配置为在所述处理器的控制下生成数据的第一奇偶校验位,并且选择性地生成所述数据的第二奇偶校验位;以及非易失性存储器接口电路,被配置为向所述第一非易失性存储器芯片发送所述数据和所述第一奇偶校验位,并且选择性地向所述第二非易失性存储器芯片发送选择性地生成的所述第二奇偶校验位。

Description

存储设备及操作该存储设备的方法
相关申请的交叉引用
通过引用的方式将于2019年9月20日在韩国知识产权局提交的题为“StorageDevice Selectively Generating Parity Bits According to Endurance of MemoryCell”的韩国专利申请No.10-2019-0115842的全部内部合并于此。
技术领域
实施例涉及依据存储单元的耐久性选择性地生成奇偶校验位的存储设备及其操作方法。
背景技术
基于纠错码的奇偶校验位可以用于纠正存储单元中存储的数据中发生的错误。随着奇偶校验位的数量增加,可以增强纠错能力。
发明内容
实施例涉及一种存储设备,包括:第一非易失性存储器芯片;第二非易失性存储器芯片;以及控制器。所述控制器可以包括:处理器,用于执行加载到片上存储器的闪存转换层(FTL);ECC引擎,用于在所述处理器的控制下生成数据的第一奇偶校验位,并且选择性地生成所述数据的第二奇偶校验位;以及非易失性存储器接口电路,用于向所述第一非易失性存储器芯片发送所述数据和所述第一奇偶校验位,并且选择性地向所述第二非易失性存储器芯片发送选择性地生成的所述第二奇偶校验位。
实施例还涉及一种存储设备,包括:第一非易失性存储器芯片;第二非易失性存储器芯片;以及包括处理器和ECC引擎的控制器。所述ECC引擎可以在所述处理器的控制下,生成要存储在所述第一非易失性存储器芯片中的数据的第一奇偶校验位,并且可以选择性地生成所述数据的第二奇偶校验位,并且所述处理器可以在所述第二非易失性存储器芯片中选择性地分配将要存储选择性地生成的所述第二奇偶校验位的区域。
实施例还涉及一种操作存储设备的方法,所述存储设备包括第一非易失性存储器芯片、第二非易失性存储器芯片以及控制器,所述方法包括:通过所述控制器检查所述第一非易失性存储器芯片的存储数据和所述数据的第一奇偶校验位的存储单元的编程擦除(PE)循环;以及所述控制器依据所述PE循环选择性地生成除了所述第一奇偶校验位外的、要存储在所述第二非易失性存储器芯片中的所述数据的第二奇偶校验位。
附图说明
通过参照附图详细描述示例实施例,特征对于本领域技术人员将变得清楚,在附图中:
图1示出了根据示例实施例的电子设备的框图。
图2A至图2D示出了图1的存储设备的框图。
图3A和图3B示出了图1的存储设备的框图。
图4A和图4B示出了图1的存储设备的框图。
图5A和图5B示出了根据示例实施例的控制器的操作方法的流程图。
图6示出了图1中的第一NVM芯片的框图。
图7示出了图1中的第二NVM芯片的框图。
图8至图9示出了根据示例实施例的包括存储设备的电子设备的框图。
具体实施方式
图1示出了根据示例实施例的电子设备的框图。
参照图1,根据示例实施例的电子设备10可以是个人计算机、服务器、工作站、笔记本、平板电脑、移动设备或智能电话,并且可以被称为“计算系统”、“电子系统”或“移动系统”。电子设备10可以包括主机11和存储设备100。
主机11可以向存储设备100发送命令CMD。主机11可以与存储设备100交换数据“DATA”。主机11可以从存储设备100接收对命令CMD的响应RSP。主机11可以被实现为包括一个或更多个处理器核。例如,主机11可以包括通用处理器、专用处理器或应用处理器。主机11可以是处理器本身,或者可以是包括处理器的电子设备或系统。
存储设备100可以根据一个或更多个接口协议与主机11通信。例如,存储设备100可以是固态硬盘(SSD)、集成在电子设备10中的嵌入式存储器、电子设备10的可拆卸存储卡、安全数字(SD)卡、嵌入式多媒体卡(eMMC)、通用闪存(UFS)卡等。
存储设备100可以包括控制器110、第一非易失性存储器件(NVM)芯片120和第二NVM芯片130。
控制器110可以处理命令CMD并且可以将指示处理结果的响应RSP发送到主机11。控制器110可以基于命令CMD来访问第一NVM芯片120或第二NVM芯片130。控制器110可以包括处理器111、片上存储器112、纠错码(ECC)引擎113和NVM接口(I/F)电路114。
处理器111可以控制片上存储器112、ECC引擎113和NVM I/F电路114。处理器111可以包括一个或更多个核(例如,同质多核或异质多核)。处理器111可以是或者可以包括例如中央处理单元(CPU)、图像信号处理单元(ISP)、数字信号处理单元(DSP)、图形处理单元(GPU)、视觉处理单元(VPU)和神经处理单元(NPU)中的至少一种。处理器111可以执行加载到片上存储器112上的各种应用程序(例如,闪存转换层(FTL)和固件)。
片上存储器112可以存储可由处理器111执行的各种应用程序。片上存储器112可以用作与处理器111相邻的高速缓冲存储器。片上存储器112可以存储命令、地址以及要由处理器111处理的数据,或者可以存储处理器111的处理结果。片上存储器112可以是例如包括锁存器、寄存器、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、晶闸管随机存取存储器(TRAM)、紧耦合存储器(TCM)等的存储介质或工作存储器。
ECC引擎113可以在处理器111的控制下,对要在第一NVM芯片120或第二NVM芯片130中编程(或写入)的数据执行ECC操作(或ECC编码)。ECC引擎113可以在处理器111的控制下,对从第一NVM芯片120或第二NVM芯片130读取的数据执行ECC操作(或ECC解码)。ECC引擎113可以基于各种ECC(诸如,LDPC(低密度奇偶校验)码、BCH(Bose-Chaudhuri-Hocquengh)码、turbo码、里所(Reed-Solomon)码、卷积码和RSC(递归系统)码),执行ECC操作(或者ECC编码和ECC解码)。
NVM I/F电路114可以在处理器111的控制下并且根据诸如双向(toggle)双倍数据速率(DDR)的各种接口协议,访问第一NVM芯片120或第二NVM芯片130。NVM I/F电路114可以驱动连接到第一NVM芯片120或第二NVM芯片130的至少一个信道。NVM I/F电路114可以向第一NVM芯片120或第二NVM芯片130发送要存储的数据,或者可以接收从第一NVM芯片120或第二NVM芯片130读取的数据。
第一NVM芯片120可以存储从控制器110发送的数据,或者可以将存储在其中的数据发送到控制器110。与第一NVM芯片120分离的第二NVM芯片130可以存储从控制器110发送的数据,或者可以将存储在其中的数据发送到控制器110。与图1所示的示例相比较,可以利用一个或更多个NVM芯片来实现第一NVM芯片120,并且可以利用一个或更多个NVM芯片来实现第二NVM芯片130。
在示例实施例中,第二NVM芯片130的存储单元的耐久性和/或可靠性可以高于第一NVM芯片120的存储单元的耐久性和/或可靠性。存储单元的耐久性的指标或者度量可以是最大编程-擦除(PE)循环。最大PE循环可以指示将存储单元从编程状态写入擦除状态然后再次写入编程的这样的事件的最大次数,在此期间存储单元正常工作(即,直到最大PE循环)。第二NVM芯片130的存储单元的最大PE循环可以大于第一NVM芯片120的存储单元的最大PE循环。
在示例实施例中,第二NVM芯片130的存储单元的最大PE循环的数量级可以大于第一NVM芯片120的存储单元的最大PE循环的数量级。例如,第二NVM芯片130的存储单元的最大PE循环的数量级可以是,例如,M=220或更大,而第一NVM芯片120的存储单元的最大PE循环的数量级可以是,例如,M=210或更大。
与存储在第一NVM芯片120中的数据相比,控制器110可以相对更频繁地改变存储在第二NVM芯片130中的数据,或者可以在第二NVM芯片130中存储各种类型的数据。第二NVM芯片130的存储单元的寿命可以比第一NVM芯片120的存储单元的寿命长。
除了表现出存储单元的相对较高的耐久性,第二NVM芯片130的数据输入/输出速度还可以高于第一NVM芯片120的数据输入/输出速度。此外,第二NVM芯片130的数据输入/输出单位可以小于第一NVM芯片120的数据输入/输出单位。例如,第二NVM芯片130可以支持重写(overwrite),而第一NVM芯片120可以不支持重写。此外,第一NVM芯片120的编程(或读取)单位和擦除单位可以不同。第二NVM芯片130的容量可以例如小于第一NVM芯片120的容量。
第一NVM芯片120和第二NVM芯片130中的每一者可以是例如以下项中的一种:NOR闪存芯片、NAND闪存芯片、电阻随机存取存储器(RRAM)芯片、铁电随机存取存储器(FRAM)芯片、相变随机存取存储器(PRAM)芯片、磁性随机存取存储器(MRAM)芯片等。第一NVM芯片120的种类和第二NVM芯片130的种类可以相同,或者可以彼此不同。例如,第一NVM芯片120可以是包括存储两位或更多位的存储单元(例如,多电平单元(MLC)、三电平单元(TLC)或四电平单元(QLC))的NAND闪存芯片,第二NVM芯片130可以是包括存储一位的存储单元(例如,单电平单元)的NAND闪存芯片。存储在第一NVM芯片120的存储单元中的位数可以大于存储在第二NVM芯片130的存储单元中的位数。对于另一示例,第一NVM芯片120可以是NAND闪存芯片,第二NVM芯片130可以是PRAM芯片。
控制器110可以将从主机11发送的数据作为主数据存储在第一NVM芯片120中。控制器110可以在第一NVM芯片120中存储用于纠正主数据的错误的备用数据(例如,作为ECC编码结果的奇偶校验位)。在此,备用数据可以被称为“额外数据”或“用于纠错的ECC数据”。
控制器110可以将除了以上主数据和备用数据之外的数据存储在第二NVM芯片130中,而不是第一NVM芯片120中。例如,控制器110可以将用于第一NVM芯片120的垃圾收集的区域分配给第二NVM芯片130,可以将不能由主机11使用或访问的预留区域(over-provisioning area)分配给第二NVM芯片130,并且可以在第二NVM芯片130中存储FTL的元数据(例如,存储主机11的逻辑地址与第一NVM芯片120或第二NVM芯片130的物理地址之间的地址映射的地址映射表AMP(参考图2A至图2D))。术语“区域”可以指示存储相同类型或相似类型的数据的一组存储单元。
在示例实施例中,控制器110还可以在第一NVM芯片120和第二NVM芯片130两者中存储用于纠正存储在第一NVM芯片120中的主数据的错误的备用数据。
例如,在第一NVM芯片120相对较少使用且第一NVM芯片120的耐久性相对高的情况下,控制器110可以仅在第一NVM芯片120中存储备用数据,并且可以仅通过使用存储在第一NVM芯片120中的备用数据来纠正主数据的错误。然而,在第一NVM芯片120相对较多使用并且第一NVM芯片120的耐久性相对低(或降低)的情况下,仅通过使用存储在第一NVM芯片120中的备用数据来纠正主数据的错误是不可能的。由于ECC引擎113的纠错能力可以随着备用数据的大小增加而提高,因此控制器110还可以生成要存储在第二NVM芯片130中的第二备用数据(除了生成要存储在第一NVM芯片120中的第一备用数据外),并且可以将第一备用数据存储在第一NVM芯片120中并将第二备用数据存储在第二NVM芯片130中。控制器110可以通过使用存储在第一NVM芯片120中的第一备用数据和存储在第二NVM芯片130中的第二备用数据二者,来纠正主数据的错误。在此,术语“第一”和“第二”可以用于区分备用数据存储在NVM芯片120或130中的哪个芯片中,并且第一备用数据和第二备用数据可以统称为“备用数据”。
与图1所示的示例相比,存储设备100可以不包括第二NVM芯片130。在考虑耐久性下降的情况下,第一NVM芯片120的大小可以被确定为使得主数据和备用数据被一起存储,以增强ECC引擎113的纠错能力。由于控制器110与第一NVM芯片120之间的延迟,控制器110可以发出一次编程命令,并且可以将主数据和备用数据编程在第一NVM芯片120的相邻存储单元(例如,属于相同页面的存储单元或连接到一条字线的存储单元)中。此外,控制器110可以发出一次读取命令,并且可以读取存储在第一NVM芯片120的相邻存储单元中的主数据和备用数据。当增加备用数据的大小以增强ECC引擎113的纠错能力时,第一NVM芯片120的大小可以相应地与备用数据增加的大小一样多地增加。
根据示例实施例,控制器110可以在第二NVM芯片130中存储依据第一NVM芯片120的耐久性选择性地生成的第二备用数据。在存储设备100包括第二NVM芯片130的情况下,第一NVM芯片120的大小可以被确定为使得主数据和第一备用数据被一起存储。如上所述,当第一NVM芯片120的耐久性相对高时,控制器110可以仅将第一备用数据存储在第一NVM芯片120中,并且可以仅通过使用第一备用数据来纠正主数据的错误。当第一NVM芯片120的耐久性相对低时,控制器110可以将第一备用数据存储在第一NVM芯片120中,将第二备用数据存储在第二NVM芯片130中,并且可以通过使用第一备用数据和第二备用数据来纠正主数据的错误。
当控制器110不生成第二备用数据时(例如,依据第一NVM芯片120的耐久性),控制器110可以在第二NVM芯片130中存储(除了存储在第一NVM芯片120中的主数据和第一备用数据之外的)数据。当控制器110依据第一NVM芯片120的耐久性生成第二备用数据时,控制器110可以在第二NVM芯片130中存储(除了存储在第一NVM芯片120中的主数据和第一备用数据之外的)数据以及第二备用数据。
在示例实施例中,控制器110可以依据第一NVM芯片120的耐久性来调整或改变第二备用数据的大小。控制器110可以通过依据第一NVM芯片120的耐久性不同地调整、改变或者更新要存储在第二NVM芯片130中的数据,来动态地使用第二NVM芯片130。
下面将描述动态地使用第二NVM芯片130的各种实施例。
图2A至图2D示出了图1的存储设备的框图。
在图2A至图2D中,存储设备100a至100d均是图1的存储设备100的示例,第一NVM芯片120a至120d均是图1的第一NVM芯片120的示例,第二NVM芯片130a至130d均是图1的第二NVM芯片130的示例。
在图2A至图2D中,对于具有与图1所示的组件相同的附图标记的组件,将省略额外描述以避免重复。
处理器111可以执行加载到片上存储器112上的FTL。FTL可以作为存储在第一NVM芯片120或第二NVM芯片130中的固件或程序被加载到片上存储器112上。FTL可以存在于主机11的文件系统与第一NVM芯片120之间。FTL可以管理从主机11提供的逻辑地址与第一NVM芯片120的物理地址之间的映射,并且可以包括管理并更新地址映射表AMT的地址映射表(AMT)管理器。除了上述地址映射,FTL还可以执行垃圾收集操作、损耗均衡操作等。FTL可以由处理器111执行,以解决第一NVM芯片120的以下方面中的一个或更多个:不可重写或不可原位写入(overwrite-or in-placewrite-impossible)、存储单元的寿命、有限数量的编程擦除(PE)循环、擦除速度比写入速度慢。
FTL可以包括PE循环检查器和擦除编程间隔(EPI)检查器。PE循环检查器可以对第一NVM芯片120a的第一块BLK1的PE循环进行计数或检查。第一NVM芯片120a可以包括一个或更多个块(未示出),并且PE循环检查器可以对第一NVM芯片120a的一个或更多个块中的每一个块的PE循环(或每个块的PE循环)进行计数或检查。PE循环可以是将存储单元从编程状态写入擦除状态并且再次写入编程状态的事件。PE循环可以用作第一NVM芯片120a的第一块BLK1的耐久性的度量单位。例如,PE循环检查器可以生成并更新包括计数得到的每个块的PE循环的PE循环表PET。
EPI检查器可以检查第一NVM芯片120a的第一块BLK1的EP间隔。如以上所描述的,第一NVM芯片120a可以包括一个或更多个块(未示出),并且EPI检查器可以检查第一NVM芯片120a的一个或更多个块中的每一个块的EP间隔(或每个块的EP间隔)。EP间隔可以指示从存储单元被擦除的时间到存储单元被编程的时间的间隔。EP间隔可以用作第一NVM芯片120a的第一块BLK1的耐久性的度量单位或衡量标准。例如,EPI检查器可以生成并更新包括每个块的EP间隔的EPI表(未示出)。
在示例实施例中,地址映射表管理器、PE循环检查器和EPI检查器(它们是FTL的组件)均可以被加载到片上存储器112上,并且可以由处理器111来执行。在另一示例实施例中,地址映射表管理器、PE循环检查器和EPI检查器中的至少一部分可以以硬件、软件或者硬件和软件的组合的形式实现在控制器110内。
FTL可以如图2A至图2D所示的那样包括PE循环(PEC)检查器和EPI检查器二者,或者FTL可以仅包括PE循环检查器和EPI检查器之一,并且处理器111可以参考PE循环和EP间隔中的至少一者来动态地使用第二NVM芯片130a。以下,将给出处理器111依据PE循环动态地使用第二NVM芯片130a的描述。在实施方式中,处理器111可以依据第一NVM芯片120a的一个指标(例如,PE循环、EP间隔和温度)或者两个或更多个指标的组合,来动态地使用第二NVM芯片130a。在处理器111依据温度动态地使用第二NVM芯片130a的情况下,控制器110还可以包括被配置为感测温度的温度传感器(未示出),或者可以从第一NVM芯片120接收温度信息。在实施方式中,处理器111还可以参考温度来检查第一NVM芯片120a的耐久性,并且可以动态地使用第二NVM芯片130a。
在图2A中,控制器110可以接收编程命令、逻辑地址LA1和数据D1,并且可以执行将数据D1编程(或写入)在第一NVM芯片120a的第一块BLK1中的编程操作。处理器111可以参考PE循环检查器的PE循环表PET,来检查第一块BLK1的PE循环(或PE循环计数)是否等于或小于X1(或小于X1)。在此,“X1”可以是阈值(或参考值),并且可以被预先确定。等于或小于X1的PE循环可以指示第一块BLK1的耐久性相对高。依据等于或小于X1的PE循环(或PE循环计数),处理器111可以确定仅将第一备用数据编程在第一NVM芯片120a中,并且不将第二备用数据编程在第二NVM芯片130a中。第一备用数据可以用于纠正数据D1的错误,第二备用数据可以选择性地用于纠正数据D1的错误。地址映射表管理器可以通过将逻辑地址LA1映射到第一NVM芯片120a的物理地址PA1,来更新地址映射表AMT。物理地址PA1可以指示第一NVM芯片120a的将存储数据D1和奇偶校验位P11的区域(例如,可以指示块BLK1的一些存储单元)。
在处理器111的控制下,ECC引擎113可以对数据D1执行ECC编码操作,并且可以生成与第一备用数据相对应的奇偶校验位P11。NVM I/F电路114可以将编程命令、物理地址PA1、数据D1和奇偶校验位P11发送到第一NVM芯片120a。物理地址PA1可以指示第一块BLK1的将存储数据D1和奇偶校验位P11的存储单元。
在图2A中,处理器111可以确定不将第二备用数据编程在第二NVM芯片130a中。处理器111可以不同地使用第二NVM芯片130a,而不是将第二备用数据编程在第二NVM芯片130a中。例如,处理器111可以将第二NVM芯片130a指定为用于FTL的垃圾收集(GC)的区域、预留(OP)区域、将存储FTL的元数据的区域、或者将存储固件的区域。上述所有区域可以被包括在如图2A所示的空闲区域中,或者上述区域中的至少一部分可以被包括在空闲区域中(与图2A所示的示例不同)。
根据图2A的编程操作,数据D1和奇偶校验位P11可以被编程在第一NVM芯片120a的第一块BLK1中。在图2B中,控制器110还可以接收编程命令、逻辑地址LA2和数据D2,并且还可以执行将数据D2编程(或写入)在第一NVM芯片120b的第二块BLK2中的编程操作。
处理器111可以参考PE循环检查器的PE循环表PET,来检查第二块BLK2的PE循环(或PE循环计数)是否超过X1(或者等于或大于X1)。PE循环超过X1可以指示第二块BLK2的耐久性相对低,并且第二块BLK2的耐久性可以低于第一块BLK1的耐久性。依据PE循环(或PE循环计数)是否超过X1,处理器111可以确定将第一备用数据编程在第一NVM芯片120b中并且也将第二备用数据编程在第二NVM芯片130b中。地址映射表管理器可以通过将逻辑地址LA2映射到第一NVM芯片120b的物理地址PA21和第二NVM芯片130b的物理地址PA22,来更新地址映射表AMT。物理地址PA21可以指示第一NVM芯片120b的将存储数据D2和奇偶校验位P21的区域(例如,可以指示块BLK2的一些存储单元)。物理地址PA22可以指示第二NVM芯片130b的将存储奇偶校验位P22的区域。
在处理器111的控制下,ECC引擎113可以对数据D2执行ECC编码操作,并且可以生成与第一备用数据相对应的奇偶校验位P21和与第二备用数据相对应的奇偶校验位P22。在示例实施例中,奇偶校验位P11的大小和奇偶校验位P21的大小可以相等(例如,相同位数的奇偶校验位),并且奇偶校验位P22的大小可以小于奇偶校验位P21的大小(例如,更少位数的奇偶校验位)。与对数据D1的纠错能力相比,处理器111可以通过相比于用于数据D1的纠错的奇偶校验位P11的大小(例如,位数)增加用于数据D2的纠错的奇偶校验位P21和P22的总大小(例如,总位数),来增强对数据D2的纠错能力。
NVM I/F电路114可以将编程命令、物理地址PA21、数据D2和奇偶校验位P21发送到第一NVM芯片120b。物理地址PA21可以指示第二块BLK2的将存储数据D2和奇偶校验位P21的存储单元。NVM I/F电路114可以将编程命令、物理地址PA22和奇偶校验位P22发送到第二NVM芯片130b。物理地址PA22可以指示将存储奇偶校验位P22的存储单元。
第二NVM芯片130b的存储单元的总数(即,第二NVM芯片130b的容量)可以被预先确定,并且可以是固定的。处理器111可以将图2A的第二NVM芯片130a的空闲区域的一部分区域分配为将存储奇偶校验位P22的区域。一起参照图2A和图2B,依据将存储数据D1/D2的块BLK1/BLK2的PE循环(或PE循环计数),处理器111可以选择性地生成奇偶校验位(在D2的情况下为P22),并且可以选择性地在第二NVM芯片130b中分配用于存储奇偶校验位P22的区域。处理器111可以依据PE循环来确定是否生成奇偶校验位P22以及是否分配用于存储奇偶校验位P22的区域。NVM I/F电路114可以依据是否生成奇偶校验位P22来选择性地将奇偶校验位P22发送到第二NVM芯片130b。
当分配了用于存储奇偶校验位P22的区域时,第二NVM芯片130a的空闲区域的大小(或容量)可以减小到第二NVM芯片130b的空闲区域的大小。例如,减小量可以对应于奇偶校验位P22的大小。依据将存储数据D1/D2的块BLK1/BLK2的PE循环,处理器111可以同时动态地调整或分配第二NVM芯片130a/130b的空闲区域的大小以及用于存储奇偶校验位P22的区域的大小。当未生成奇偶校验位P22时,处理器111可以将用于存储奇偶校验位P22的区域切换或设置为图2A的空闲区域。
根据图2A和图2B的编程操作,数据D1和奇偶校验位P11可以被编程在第一NVM芯片120c的第一块BLK1中,数据D2和奇偶校验位P21可以被编程在第一NVM芯片120c的第二块BLK2中,奇偶校验位P22可以被编程在第二NVM芯片130c中。如图2C所示,控制器110还可以接收编程命令、逻辑地址LA3和数据D3,并且还可以执行将数据D3编程在第一NVM芯片120c的第三块BLK3中的编程操作。
处理器111可以检查第三块BLK3的PE循环是否超过X2(或者等于或大于X2)。例如,“X2”可以大于“X1”。PE循环超过X2的第三块BLK3的耐久性可以低于第二块BLK2的耐久性。依据超过X2的PE循环,处理器111可以确定将第一备用数据编程在第一NVM芯片120c中,并且也将第二备用数据编程在第二NVM芯片130c中。为了增强对要存储在第三块BLK3中的数据D3的纠错能力(第三块BLK3的耐久性可以低于第二块BLK2的耐久性),处理器111可以确定用于数据D3的第二备用数据的大小大于用于数据D2的第二备用数据的大小。地址映射表管理器可以通过将逻辑地址LA3映射到第一NVM芯片120c的物理地址PA31和第二NVM芯片130c的物理地址PA32,来更新地址映射表AMT。物理地址PA31可以指示第一NVM芯片120c的将存储数据D3和奇偶校验位P31的区域(例如,可以指示块BLK3的一些存储单元)。物理地址PA32可以指示第二NVM芯片130c的将存储奇偶校验位P32的区域。
在处理器111的控制下,ECC引擎113可以对数据D3执行ECC编码操作,并且可以生成与第一备用数据相对应的奇偶校验位P31以及与第二备用数据相对应的奇偶校验位P32。在示例实施例中,奇偶校验位P31的大小和奇偶校验位P21的大小可以相等,并且奇偶校验位P32的大小可以小于奇偶校验位P31的大小。奇偶校验位P32的大小可以大于奇偶校验位P22的大小。与对数据D2的纠错能力相比,处理器111可以通过相比于用于数据D2的纠错的奇偶校验位P21和P22的总大小增加用于数据D3的纠错的奇偶校验位P31和P32的总大小,来增强对数据D3的纠错能力。
NVM I/F电路114可以将编程命令、物理地址PA31、数据D3和奇偶校验位P31发送到第一NVM芯片120c。物理地址PA31可以指示第三块BLK3的将存储数据D3和奇偶校验位P31的存储单元。NVM I/F电路114可以将编程命令、物理地址PA32和奇偶校验位P32发送到第二NVM芯片130c。物理地址PA32可以指示将存储奇偶校验位P32的存储单元。
处理器111可以将图2B的第二NVM芯片130b的空闲区域的一部分区域分配为将存储奇偶校验位P32的区域。参照图2A至图2C,当分配了用于存储奇偶校验位P32的区域时,第二NVM芯片130b的空闲区域的大小可以减小到第二NVM芯片130c的空闲区域的大小。例如,减小量可以对应于奇偶校验位P32的大小。依据将存储数据D1/D2/D3的块BLK1/BLK2/BLK3的PE循环,处理器111可以动态地调整第二NVM芯片130a/130b/130c的空闲区域,并且同时可以动态地调整用于存储奇偶校验位P22和P32的区域。
根据图2A至图2C的编程操作,数据D1和奇偶校验位P11可以被编程在第一NVM芯片120d的第一块BLK1中,数据D2和奇偶校验位P21可以被编程在第一NVM芯片120d的第二块BLK2中,数据D3和奇偶校验位P31可以被编程在第一NVM芯片120d的第三块BLK3中,并且奇偶校验位P22和P32可以被编程在第二NVM芯片130d中。如图2D所示,控制器110还可以接收编程命令、逻辑地址LA4和数据D4,并且还可以执行将数据D4编程在第一NVM芯片120d的第四块BLK4中的编程操作。
处理器111可以检查第四块BLK4的PE循环是否超过X3(或者等于或大于X3)。例如,X3可以大于X2。PE循环超过X3的第四块BLK4的耐久性可以低于第三块BLK3的耐久性。依据超过X3的PE循环,处理器111可以确定将第一备用数据编程在第一NVM芯片120d中,并且也将第二备用数据编程在第二NVM芯片130d中。为了增强对要存储在第四块BLK4中的数据D4的纠错能力(第四块BLK4的耐久性可以低于第三块BLK3的耐久性),处理器111可以确定用于数据D4的第二备用数据的大小大于用于数据D3的第二备用数据的大小。地址映射表管理器可以通过将逻辑地址LA4映射到第一NVM芯片120d的物理地址PA41和第二NVM芯片130d的物理地址PA42,来更新地址映射表AMT。物理地址PA41可以指示第一NVM芯片120d的将存储数据D4和奇偶校验位P41的区域(例如,可以指示块BLK4的一些存储单元)。物理地址PA42可以指示第二NVM芯片130d的将存储奇偶校验位P42的区域。
在处理器111的控制下,ECC引擎113可以对数据D4执行ECC编码操作,并且可以生成与第一备用数据相对应的奇偶校验位P41以及与第二备用数据相对应的奇偶校验位P42。在示例实施例中,奇偶校验位P41的大小和奇偶校验位P21的大小可以相等,并且奇偶校验位P42的大小可以小于奇偶校验位P41的大小。在示例实施例中,奇偶校验位P42的大小可以大于奇偶校验位P32的大小。与对数据D3的纠错能力相比,处理器111可以通过相比于用于数据D3的纠错的奇偶校验位P31和P32的总大小增加用于数据D4的纠错的奇偶校验位P41和P42的总大小,来增强对数据D4的纠错能力。
NVM I/F电路114可以将编程命令、物理地址PA41、数据D4和奇偶校验位P41发送到第一NVM芯片120d。物理地址PA41可以指示第四块BLK4的将存储数据D4和奇偶校验位P41的存储单元。NVM I/F电路114可以将编程命令、物理地址PA42和奇偶校验位P42发送到第二NVM芯片130d。物理地址PA42可以指示将存储奇偶校验位P42的存储单元。
处理器111可以将图2C的第二NVM芯片130c的空闲区域的一部分区域分配为将存储奇偶校验位P42的区域。参照图2A至图2D,依据将存储数据D1/D2/D3/D4的块BLK1/BLK2/BLK3/BLK4的PE循环,处理器111可以动态地调整第二NVM芯片130a/130b/130c/130d的空闲区域,并且同时可以动态地调整用于存储奇偶校验位P22、P32和P42的区域。例如,当第二NVM芯片130b/130c/130d的空闲区域由于奇偶校验位P22、P32和P42的大小的增加而减小时,处理器111可以指定第一NVM芯片120d的至少一个块BLKm至BLKn(“m”和“n”是大于或等于1的自然数)为空闲区域。
在示例实施例中,奇偶校验位P22的大小、奇偶校验位P32的大小和奇偶校验位P42的大小可以彼此不同。例如,奇偶校验位P22/P32/P42的大小可以是奇偶校验位P21/P31/P41的大小的10%以上。奇偶校验位P22的大小、奇偶校验位P32的大小和奇偶校验位P42的大小可以彼此相等。奇偶校验位P22的大小、奇偶校验位P32的大小和奇偶校验位P42的大小均可以基于数据D1/D2/D3/D4的大小的固定比率来确定。
处理器111可以将块BLK1/BLK2/BLK3/BLK4的PE循环与阈值X1/X2/X3进行比较。处理器111可以基于比较结果来确定是否生成奇偶校验位P22/P32/P42和/或奇偶校验位P22/P32/P42的大小。阈值X1至X3的数量可以相对于图2A至图2D所示的示例变化,也可以是一个或更多个。随着阈值数量的增加,处理器111还可以细分并管理第一NVM芯片120的耐久性,并且还可以细分并调整奇偶校验位P22/P32/P42的大小。如以上关于PE循环所描述的,处理器111可以将指示块BLK1/BLK2/BLK3/BLK4的耐久性的另一指标(例如,EP间隔或温度)与阈值进行比较,并且可以基于比较结果确定是否生成奇偶校验位P22/P32/P42或奇偶校验位P22/P32/P42的大小。
图3A和图3B示出了图1的存储设备的框图。
存储设备200a和200b均是图1的存储设备100的示例,第一NVM芯片220是图1的第一NVM芯片120的示例,第二NVM芯片230是图1的第二NVM芯片130的示例。
在图3A和图3B中,对于与图1和图2A至图2D所示的组件具有相同附图标记的组件,将省略额外描述以避免重复。
第一NVM芯片220的数据“D”可以指示图2A至图2D的数据D1至D4之一,第一NVM芯片220的奇偶校验位P1可以指示参照图2A至图2D描述的奇偶校验位P11、奇偶校验位P21、奇偶校验位P31或奇偶校验位P41,第二NVM芯片230的奇偶校验位P2可以指示参照图2B至图2D描述的奇偶校验位P22、奇偶校验位P32或奇偶校验位P42。
控制器210a/210b的组件211至213的配置和操作可以与上述控制器110的处理器111、片上存储器112和ECC引擎113的配置和操作基本相同。控制器210a的NVM I/F电路214a可以包括驱动信道CH的收发器214_1。第一NVM芯片220和第二NVM芯片230可以共同连接到信道CH。
数据“D”以及奇偶校验位P1和P2可以通过信道CH被编程在第一NVM芯片220和第二NVM芯片230中。收发器214_1可以通过信道CH向第一NVM芯片220发送编程命令、指示将在其中编程数据“D”和奇偶校验位P1的区域的地址、数据“D”和奇偶校验位P1。之后,收发器214_1可以通过信道CH向第二NVM芯片230发送编程命令、指示将在其中编程奇偶校验位P2的区域的地址以及奇偶校验位P2。在示例实施例中,第二NVM芯片230的编程延迟可以短于第一NVM芯片220的编程延迟。在这种情况下,在数据“D”和奇偶校验位P1被编程在第一NVM芯片220中的同时,如图3A所示,收发器214_1可以向第二NVM芯片230发送编程命令、地址和奇偶校验位P2。在实施方式中,与图3A所示的示例不同,收发器214_1可以在将信息完全发送到第二NVM芯片230之后,向第一NVM芯片220发送信息。在实施方式中,收发器214_1可以以交织方案在向第一NVM芯片220发送信息的同时向第二NVM芯片230发送信息。
可以通过信道CH从第一NVM芯片220和第二NVM芯片230读取数据“D”以及奇偶校验位P1和P2。收发器214_1可以通过信道CH向第一NVM芯片220发送读取命令以及指示数据“D”和奇偶校验位P1被编程在其中的区域的地址。之后,收发器214_1可以通过信道CH向第二NVM芯片230发送读取命令以及指示奇偶校验位P2被编程在其中的区域的地址。在示例实施例中,第二NVM芯片230的读取延迟可以短于第一NVM芯片220的读取延迟。在这种情况下,在从第一NVM芯片220读取数据“D”和奇偶校验位P1的同时,如图3A所示,收发器214_1可以向第二NVM芯片230发送信息。当然,与图3A所示的示例不同,收发器214_1可以在将信息完全发送到第二NVM芯片230之后,向第一NVM芯片220发送信息。收发器214_1可以通过信道CH接收输出数据DOUT1(包括数据“D”和奇偶校验位P1)。收发器214_1可以通过信道CH接收输出数据DOUT2(包括奇偶校验位P2)。接收输出数据DOUT1和DOUT2的顺序不限于图3A所示的示例。在实施方式中,收发器214_1可以以交织方案在向第一NVM芯片220发送信息的同时向第二NVM芯片230发送信息。在实施方式中,收发器214_1可以以交织方案在接收输出数据DOUT1的同时接收输出数据DOUT2。
控制器210b的NVM I/F电路214b可以包括驱动第一信道CH1的第一收发器214_1以及驱动第二信道CH2的第二收发器214_2。第一NVM芯片220和第二NVM芯片230可以分别连接到第一信道CH1和第二信道CH2。
第一收发器214_1可以通过第一信道CH1向第一NVM芯片220发送编程命令、指示将在其中编程数据“D”和奇偶校验位P1的区域的地址、数据“D”和奇偶校验位P1。第二收发器214_2可以通过第二信道CH2向第二NVM芯片230发送编程命令、指示将在其中编程奇偶校验位P2的区域的地址和奇偶校验位P2。第一收发器214_1可以通过第一信道CH1向第一NVM芯片220发送读取命令和指示数据“D”和奇偶校验位P1被编程在其中的区域的地址。之后,第一收发器214_1可以通过第一信道CH1接收输出数据DOUT1(包括数据“D”和奇偶校验位P1)。第二收发器214_2可以通过第二信道CH2向第二NVM芯片230发送读取命令和指示奇偶校验位P2被编程在其中的区域的地址。之后,第二收发器214_2可以通过第二信道CH2接收输出数据DOUT2(包括奇偶校验位P2)。
图3A的NVM I/F电路214a和图3B的NVM I/F电路214b可以通过至少一个信道(例如,与信道的数量无关)与第一NVM芯片220和第二NVM芯片230通信。NVM I/F电路214a/214b可以接收从主机11提供的数据“D”以及由ECC引擎213生成的奇偶校验位P1和P2,并且可以将数据“D”和奇偶校验位P1发送到第一NVM芯片220,将奇偶校验位P2发送到第二NVM芯片230。NVM I/F电路214a/214b可以将奇偶校验位P1和P2划分为奇偶校验位P1和奇偶校验位P2。NVM I/F电路214a/214b可以从第一NVM芯片220接收数据“D”和奇偶校验位P1,从第二NVM芯片230接收奇偶校验位P2,并且可以将数据“D”以及奇偶校验位P1和P2提供给片上存储器212或ECC引擎213。NVM I/F电路214a/214b可以组合奇偶校验位P1和奇偶校验位P2以构成奇偶校验位P1和P2。
图4A和图4B示出了图1的存储设备的框图。
存储设备300a和300b均是图1的存储设备100的示例,第一NVM芯片320是图1的第一NVM芯片120的示例,第二NVM芯片330是图1的第二NVM芯片130的示例。
在图4A和图4B中,对于与图1、图2A至图2D以及图3A和图3B所示的组件具有相同的附图标记的部件,将省略额外描述以避免重复。以下描述将集中于图4A和图4B与图3A和图3B的各个实施例之间的不同之处。
控制器310a/310b的组件311、313和314的配置和操作可以与上述控制器210a/210b的组件211、213和214a/214b的配置和操作基本相同。控制器310a/310b还可以包括主机I/F电路315。主机I/F电路315可以根据接口协议与主机11通信。例如,接口协议可以是通用串行总线(USB)、小型计算机系统接口(SCSI)、快速外围组件互连(PCIe)、移动PCIe(M-PCIe)、快速非易失性存储器(NVMe)、高级技术附件(ATA)、并行ATA(PATA)、串行ATA(SATA)、串行连接SCSI(SAS)、集成驱动电子设备(IDE)、通用闪存(UFS)、火线接口(Firewire)等。
处理器311可以将要存储在第一NVM芯片320中的数据“D”临时存储在片上存储器312a中。ECC引擎313可以对数据“D”执行编码操作,并且可以将奇偶校验位P1和P2(如上所述,P2依据PE循环被选择性地生成)临时存储在片上存储器312a中。此外,ECC引擎313可以对数据“D”执行编码操作,并且还可以将奇偶校验位P2临时存储在片上存储器312a中。处理器311可以向NVM I/F电路314提供存储在片上存储器312a中的数据“D”以及奇偶校验位P1和P2。与图4A所示的示例相比,在处理器311的控制下,ECC引擎313可以直接将奇偶校验位P1和P2提供给NVM I/F电路314,而无需经过片上存储器312a。
NVM I/F电路314可以接收存储在第一NVM芯片320和第二NVM芯片330中的数据“D”以及奇偶校验位P1和P2,并且可以将数据“D”以及奇偶校验位P1和P2临时存储在片上存储器312a中。ECC引擎313可以通过使用存储在片上存储器312a中的奇偶校验位P1和P2对存储在片上存储器312a中的数据“D”执行ECC解码操作。与图4A所示的示例相比,在处理器311的控制下,NVM I/F电路314可以直接将数据“D”以及奇偶校验位P1和P2提供给ECC引擎313,而无需经过片上存储器312a。ECC引擎313可以将纠错后的数据“D”存储在片上存储器312a中。主机I/F电路315可以在处理器311的控制下将存储在片上存储器312a中的纠错后的数据“D”发送到主机11。
存储设备300b还可以包括与控制器310b分开的缓冲存储器芯片340b。在示例实施例中,与第一NVM芯片320或第二NVM芯片330相比,缓冲存储器芯片340b可以具有相对快的数据输入/输出速度和相对小的延迟,并且可以是作为易失性存储器芯片的DRAM芯片。控制器310b还可以包括缓冲器I/F电路316b,该缓冲器I/F电路316b在处理器311的控制下与缓冲存储器芯片340b通信或者驱动缓冲存储器芯片340b。缓冲器I/F电路316b可以将数据“D”、奇偶校验位P1和P2以及纠错后的数据“D”中的至少一部分存储在缓冲存储器芯片340b中。与图4A相比,数据“D”、奇偶校验位P1和P2以及纠错后的数据“D”的临时存储位置可以从片上存储器312b改变为缓冲存储器芯片340b。不管图4A和图4B所示的情况如何,数据“D”、奇偶校验位P1和P2以及纠错后的数据“D”可以临时存储在片上存储器312b或缓冲存储器芯片340b中。
图5A和图5B是示出了根据示例实施例的控制器的操作方法的流程图。
控制器110、210a、210b、310a和310b可以执行图5A和图5B的流程图的操作。作为示例,将给出控制器110执行操作时的描述。
图5A的流程图可以与编程操作有关,图5B的流程图可以与读取操作有关。
首先,将描述编程流程图。
参照图5A,在操作S110中,控制器110可以从主机11接收编程命令、逻辑地址和数据。处理器111可以执行FTL,并且可以将在操作S110中接收到的逻辑地址转换为第一NVM芯片120的物理地址。
在操作S120中,控制器110可以检查第一NVM芯片120的将在其中存储在操作S110中接收到的数据的块的PE循环。可以在图2A至图2D的PE循环表PET定期地(或随机地)更新PE循环。
在操作S130中,控制器110可以将在操作S120中检查到的PE循环与阈值TH进行比较,并且确定PE循环是否超过阈值TH(或者,等于或大于阈值TH)。例如,图5A的阈值TH可以是图2B的阈值X1。
对于S130,当PE循环不超过阈值TH时(即,N),在操作S140中,控制器110可以执行ECC编码操作,以生成数据的第一奇偶校验位(参见图2A至图2D的P11至P41以及图3A至图4B的P1)。
在操作S150中,控制器110可以将数据和奇偶校验位发送到第一NVM芯片120。
对于操作S130,当PE循环超过阈值TH时(即,Y),在操作S160中,控制器110可以依据PE循环,不同地确定第二奇偶校验位(参见图2A至图2D的P22至P42以及图3A至图4B的P2)的大小。例如,控制器110可以将PE循环分别与阈值(例如,图2A至图2D的X1至X3)进行比较。在第一NVM芯片120的耐用性随着PE循环相对增加而相对降低的情况下,控制器110可以相对地增加第二奇偶校验位的大小(参见图2B至图2D的P22、P32和P42的大小)。在操作S170中,控制器110可以在第二NVM芯片130中分配将要存储第二奇偶校验位的区域。可以依据在操作S160中不同地确定的第二奇偶校验位的大小,来不同地确定在操作S170中分配的区域的大小。
在操作S180中,控制器110可以执行ECC编码操作以生成数据的第一奇偶校验位和第二奇偶校验位。在操作S190中,控制器110可以将数据和第一奇偶校验位发送到第一NVM芯片120,并且可以将第二奇偶校验位发送到第二NVM芯片130。图5A的操作S110至S190的顺序可以改变。例如,如上所述,PE循环用于图5A的操作S130、操作S160和操作S170,但是可以使用指示第一NVM芯片120的耐久性的另一指标(例如,EP间隔或温度)。
在操作S210中,控制器110可以从主机11接收读取命令和逻辑地址。处理器111可以执行FTL,并且可以将在操作S210中接收到的逻辑地址转换为第一NVM芯片120的物理地址。
在操作S220中,控制器110可以检查是否生成了与逻辑地址相对应的第二NVM芯片130的物理地址(或者,在地址映射表AMT中是否存在与逻辑地址相对应的第二NVM芯片130的物理地址)。控制器110可以检查是否生成了读取命令请求的数据的第二奇偶校验位。在示例实施例中,处理器111可以确定指示第一NVM芯片120的存储有在操作S150中发送的数据和第一奇偶校验位的区域的物理地址,并且可以在FTL的元数据(即,映射表)处更新在操作S110中接收到的逻辑地址与在操作S150中发送的物理地址之间的映射。在另一实施方式中,处理器111可以确定指示第一NVM芯片120的存储有在操作S190中发送的数据和第一奇偶校验位的区域的物理地址以及指示第二NVM芯片120的存储有在操作S190中发送的第二奇偶校验位的区域的物理地址二者,并且可以在FTL的元数据(即,映射表)处更新在操作S110中接收到的逻辑地址与在操作S190中发送的物理地址之间的映射。参考映射表,控制器110可以检查与在操作S210中接收到的逻辑地址相对应的物理地址是否仅指示第一NVM芯片120的区域,或者与在操作S210中接收到的逻辑地址相对应的物理地址是否分别对应于第一NVM芯片120的区域和第二NVM芯片130的区域。
对于操作S220,当未生成与逻辑地址相对应的第二NVM芯片130的物理地址时(即,N),在操作S230中,控制器110可以仅向第一NVM芯片120发送读取命令。在操作S240中,控制器110可以从第一NVM芯片120接收数据和第一奇偶校验位。在操作S250中,控制器110可以通过使用第一奇偶校验位对数据执行ECC解码操作,并纠正数据的错误。
对于操作S220,当生成与逻辑地址相对应的第二NVM芯片130的物理地址时(即,Y),在操作S260中,控制器110可以分别向第一NVM芯片120和第二NVM芯片130发送读取命令。在操作S270中,控制器110可以从第一NVM芯片120接收数据和第一奇偶校验位,并且可以从第二NVM芯片130接收第二奇偶校验位。在操作S280中,控制器110可以通过使用第一奇偶校验位和第二奇偶校验位对数据执行ECC解码操作,并且可以纠正数据的错误。在操作S290中,控制器110可以将在操作S250或操作S280中获得的数据发送到主机11。控制器110可以将在操作S210中接收到的读取命令处理为完成。
图6示出了图1的第一NVM芯片的框图。
参照图6,第一NVM芯片420可以是上述第一NVM芯片120或第二NVM芯片130的示例。用作第一NVM芯片120的第一NVM芯片420的存储单元中存储的位的数目可以大于用作第二NVM芯片130的第一NVM芯片420的存储单元中存储的位的数目。第一NVM芯片420可以包括存储单元阵列421、地址译码器422、页面缓冲器423、I/O电路424和控制电路425。
存储单元阵列421可以被划分为一个或更多个平面,例如,平面1(Plane 1)和平面2(Plane 2)。每个平面可以包括块BLK1至BLKn(n为等于或大于1的自然数)。平面也可以称为“垫(mat)”。每个平面可以包括存储单元。可以通过擦除命令同时擦除存储在每个平面的存储单元中的数据。每个平面可以包括存储数据“D”的存储单元、存储奇偶校验位“P”(参见图2A至图2D的P11至P41以及图3A至图4B的P1)的存储单元以及用于修复“R”的存储单元。存储单元可以连接到一条或更多条字线,并且连接到一条字线的存储单元可以构成作为编程/读取单位的一个页面。存储单元阵列421的存储单元可以是NAND闪速存储单元。
在示例实施例中,存储单元阵列421可以包括三维存储器阵列。三维(3D)存储器阵列可以单片地形成在具有有源区域的存储单元阵列的一个或更多个物理层级中,该有源区域布置有用于硅衬底上的存储单元的操作的相关电路。与存储单元的操作相关的电路可以位于衬底中或衬底上。术语“单片”表示阵列的每个层级的层直接沉积在阵列的每个下一层级的层上。3D存储器阵列可以包括垂直取向的垂直NAND串,使得至少一个存储单元位于另一存储单元上方。至少一个存储单元可以包括电荷俘获层。每个垂直NAND串可以包括位于存储单元上方的至少一个选择晶体管。至少一个选择晶体管可以具有与存储单元相同的结构,并且与存储单元一起单片地形成。以下专利文件描述了三维存储器阵列的合适配置(其中三维存储器阵列被配置为多个层级,并且在这些层级之间共享字线和/或位线),这些专利文献通过引用并入本文:专利号为7,679,133;8,553,466;8,654,587;8,559,235的美国专利以及公开号为2011/0233648的美国专利。
在本示例实施例中,地址译码器422通过字线WL、串选择线SSL和接地选择线GSL连接到存储单元阵列421。地址译码器422可以对来自控制器110的物理地址ADD进行译码,并且可以驱动字线WL。地址译码器422可以选择至少一条字线WL。页面缓冲器423通过位线BL连接到存储单元阵列421。在控制电路425的控制下,页面缓冲器423可以驱动位线BL,使得从I/O电路424接收的数据以页面为单位存储在存储单元阵列421中。在控制电路425的控制下,页面缓冲器423可以通过位线BL读取存储在存储单元阵列421中的数据,并且可以将读取到的数据提供给I/O电路424。I/O电路424可以通过至少一个数据输入/输出(DQ)信号接收数据,并且可以将数据提供给页面缓冲器423。I/O电路424可以与外部设备(例如,图1的控制器110)交换数据,或者可以与页面缓冲器423交换数据。
控制电路425可以从控制器110接收至少一个控制信号CTRL,并且可以对包括在至少一个控制信号CTRL中的命令(例如,编程命令、擦除命令或读取命令)或至少一个数据输入/输出信号进行译码。控制电路425可以控制地址译码器422、页面缓冲器423和I/O电路424。控制电路425可以生成用于操作第一NVM芯片420的各种电压(例如,编程电压、预充电电压、通过电压、读取电压、擦除电压和验证电压)。控制电路425可以将所生成的电压提供给地址译码器422或存储单元阵列421的衬底。
图7示出了图1的第二NVM芯片的框图。
参照图7,第二NVM芯片430可以是上述第二NVM芯片130的示例。第二NVM芯片430可以包括存储单元阵列431、行译码器432、列译码器433、I/O电路434和控制电路435。
存储单元阵列431包括存储单元MC。存储单元MC可以包括电阻存储(存储器)元件MD和选择元件SD。电阻存储元件MD可以包括相变材料。相变材料可以依据施加到存储单元MC的电信号、焦耳热或温度,具有与非晶态相对应的高电阻状态或者与结晶态相对应的低电阻状态。例如,电阻存储元件MD可以包括硫族化物材料。选择元件SD可以与电阻存储元件MD串联连接。例如,选择元件SD可以是具有双向特性的二极管元件或双向阈值开关(ovonicthreshold switch,OTS)元件。选择元件SD可以具有非线性的阈值切换特性并且具有S形的I-V曲线。例如,选择元件SD可以包括硫族化物材料。在另一实施方式中,选择元件SD和电阻存储元件MD的连接顺序可以与图7所示的示例相反。存储单元阵列431的存储单元MC可以是PRAM单元。存储单元MC可以设置或放置在字线WL和位线BL的交叉点处。
行译码器432可以通过字线WL连接到存储单元阵列431。列译码器433可以通过位线BL连接到存储单元阵列431。行译码器432和列译码器433可以对来自控制器110的物理地址进行译码,并且可以依据编程命令或读取命令来分别驱动字线WL和位线BL。例如,行译码器432可以选择至少一条字线WL,并且列译码器433可以选择至少一条位线BL。在控制电路435的控制下,行译码器432和列译码器433可以驱动字线WL和位线BL,使得从I/O电路434接收到的数据以页面为单位存储在存储单元阵列431中。为了读取存储在存储单元阵列421中的数据,列译码器433可以在控制电路435的控制下驱动位线BL。在这种情况下,在控制电路435的控制下,行译码器432可以以页面为单位读取存储在存储单元阵列421中的数据,并且可以将读取到的数据提供给I/O电路434。I/O电路434可以通过至少一个数据输入/输出(DQ)信号来接收数据,并且可以将数据提供到行译码器432或列译码器433。在控制电路435的控制下,I/O电路424可以与外部设备(例如,图1的控制器110)交换数据,或者可以与行译码器432或列译码器433交换数据。
控制电路435可以从控制器110接收至少一个控制信号CTRL,并且可以对包括在至少一个控制信号CTRL中的命令(例如,编程命令、擦除命令或读取命令)或至少一个数据输入/输出信号进行译码。控制电路435可以控制行译码器432、列译码器433和I/O电路434。控制电路435可以生成用于操作第二NVM芯片430的各种电压(例如,编程电压、预充电电压、通过电压、读取电压、擦除电压和验证电压)。控制电路435可以将所生成的电压提供给行译码器432和列译码器433。
图8至图9示出了应用了根据示例实施例的存储设备的电子设备的框图。
电子设备1000和2000均可以被称为“计算系统”、“存储系统”、“电子系统”或“通信系统”。例如,电子设备1000和2000均可以是台式计算机、膝上型计算机、平板计算机、移动设备、智能电话、个人数字助理(PDA)、便携式多媒体播放器(PMP)、可穿戴设备、视频游戏机、工作站、服务器、能够使用或支持由移动行业处理器接口(MIPI)联盟提出的接口协议的数据处理设备、家用电器、黑匣子、无人机等。
参照图8,电子设备1000可以包括处理器1100、工作存储器1200、存储设备1300、通信块1400、用户接口1500和总线1600。工作存储器1200和存储设备1300可以与处理器1100交换数据。工作存储器1200可以用作电子设备1000的缓冲器或高速缓存。不管是否供电,存储设备1300都可以存储数据。存储设备1300可以是上述存储设备100。通信块1400可以与电子设备1000的外部通信。用户接口1500可以允许用户与电子设备1000通信。总线1600可以提供电子设备1000的组件之间的通信路径。
参照图9,电子设备2000可以包括应用处理器2100、显示器2220和图像传感器2230。应用处理器2100可以包括DigRF主设备2110、显示器串行接口(DSI)主机2120、相机串行接口(CSI)主机2130和物理层(PHY)2140。DSI主机2120可以通过DSI与显示器2220的DSI设备2225通信。例如,可以在DSI主机2120中实现串行器SER,在DSI设备2225中实现解串器DES。CSI主机2130可以通过CSI与图像传感器2230的CSI设备2235通信。可以在CSI主机2130中实现解串器DES,并且可以在CSI设备2235中实现串行器SER。电子设备2000还可以包括与应用处理器2100进行通信的射频(RF)芯片2240。RF芯片2240可以包括物理层(PHY)2242、DigRF从设备2244和天线2246。例如,物理层2242和物理层2140可以通过MIPI联盟提出的DigRF接口彼此交换数据。电子设备2000还可以包括工作存储器2250和嵌入式/卡存储设备2255。工作存储器2250和嵌入式/卡存储设备2255可以存储或输出与应用处理器2100相关联的数据。嵌入式/卡存储设备2255可以是上述存储设备100。嵌入式存储设备2255可以嵌入在电子设备2000中,而作为可拆除设备的卡存储设备2255可以被安装在电子设备2000上。电子设备2000可以通过通信模块(诸如,全球微波接入互操作性(WiMAX)2260、无线局域网(WLAN)2262或超宽带(UWB)2264)与外部设备/系统通信。电子设备2000还可以包括扬声器2270、麦克风2275、全球定位系统(GPS)设备2280和桥接芯片2290。
通过总结和回顾,随着存储单元小型化和堆叠化、存储单元劣化以及存储单元的耐久性降低,存储在存储设备的存储单元中的数据的完整性可能变得不太安全。此外,随着每个存储单元存储的位的数目的增加,存储单元的耐久性可能会受到影响。
基于纠错码的奇偶校验位可以用于纠正存储在存储单元中的数据发生的错误,并且增加奇偶校验位的数量可以增强错误纠正。然而,如果奇偶校验位与数据一起存储,并且与数据一起存储的奇偶校验位的数量增加,则存储有数据和奇偶校验位的存储单元阵列的大小可能同样增加,从而增加了芯片尺寸。
如上所述,根据示例实施例的存储设备的控制器可以将额外的奇偶校验位存储在第二NVM芯片而不是第一NVM芯片中,以增强对存储在第一NVM芯片中的数据的纠错能力。因此,控制器可以防止第一NVM芯片的大小与额外的奇偶校验位的大小一样多地增加,并且可以动态地使用第二NVM芯片。
本文已经公开了示例实施例,并且尽管采用了特定术语,但是仅在一般和描述性意义上使用和解释它们,而不是出于限制的目的。在某些情况下,由本申请提交起,对于本领域的普通技术人员将显而易见的是,除非另外特别指出,否则结合特定实施例描述的特征、特性和/或元件可以单独使用,或者与结合其他实施例描述的特征、特性和/或元件组合地使用。因此,本领域技术人员将理解,在不脱离如所附权利要求中阐述的本发明的精神和范围的情况下,可以在形式和细节上进行各种改变。

Claims (20)

1.一种存储设备,包括:
第一非易失性存储器芯片;
第二非易失性存储器芯片;以及
控制器,其中,所述控制器包括:
处理器,用于执行加载到片上存储器的闪存转换层;
纠错码引擎,用于在所述处理器的控制下生成数据的第一奇偶校验位,并且选择性地生成所述数据的第二奇偶校验位;和
非易失性存储器接口电路,用于向所述第一非易失性存储器芯片发送所述数据和所述第一奇偶校验位,并且选择性地向所述第二非易失性存储器芯片发送选择性地生成的所述第二奇偶校验位。
2.根据权利要求1所述的存储设备,其中,所述处理器用于检查所述第一非易失性存储器芯片的存储所述数据的存储单元的编程擦除循环,并且依据所述编程擦除循环来确定是否生成所述第二奇偶校验位。
3.根据权利要求2所述的存储设备,其中,所述处理器用于依据所述编程擦除循环来确定所述第二奇偶校验位的大小。
4.根据权利要求1所述的存储设备,其中,所述纠错码引擎用于:当未生成所述第二奇偶检验位时,通过使用所述第一奇偶校验位对所述数据执行第一纠错码解码操作,而当生成所述第二奇偶校验位时,通过使用所述第一奇偶校验位和所述第二奇偶校验位二者对所述数据执行第二纠错码解码操作。
5.根据权利要求1所述的存储设备,其中,
所述第一非易失性存储器芯片包括存储所述数据和所述第一奇偶校验位的第一区域,
所述第二非易失性存储器芯片包括第二区域,在生成所述第二奇偶校验位时所述第二区域存储所述第二奇偶校验位,
当未生成所述第二奇偶校验位时,所述处理器用于将所述第二区域设置为第三区域,所述第三区域是不被外部设备访问的区域或者存储有与所述数据不同的数据的区域。
6.根据权利要求5所述的存储设备,其中,所述第三区域用于垃圾收集、用作预留区域、用于存储所述闪存转换层的元数据、或者用于存储固件。
7.根据权利要求1所述的存储设备,其中,所述第二非易失性存储器芯片的存储单元的最大编程擦除循环大于所述第一非易失性存储器芯片的存储单元的最大编程擦除循环。
8.根据权利要求1所述的存储设备,其中,所述第二非易失性存储器芯片的数据输入/输出速度比所述第一非易失性存储器芯片的数据输入/输出速度快,并且所述第二非易失性存储器芯片的数据输入/输出单位小于所述第一非易失性存储器芯片的数据输入/输出单位。
9.根据权利要求1所述的存储设备,其中,所述第一非易失性存储器芯片的存储单元中存储的位的数目大于所述第二非易失性存储器芯片的存储单元中存储的位的数目。
10.根据权利要求1所述的存储设备,其中,所述第一非易失性存储器芯片是NAND闪存芯片,所述第二非易失性存储器芯片是PRAM芯片。
11.一种存储设备,包括:
第一非易失性存储器芯片;
第二非易失性存储器芯片;以及
包括处理器和纠错码引擎的控制器,其中,
所述纠错码引擎用于在所述处理器的控制下,生成要存储在所述第一非易失性存储器芯片中的数据的第一奇偶校验位,并且选择性地生成所述数据的第二奇偶校验位,并且
所述处理器在所述第二非易失性存储器芯片中选择性地分配将要存储选择性地生成的所述第二奇偶校验位的区域。
12.根据权利要求11所述的存储设备,其中,所述处理器用于:依据所述第一非易失性存储器芯片的存储单元的编程擦除循环,来确定是否生成所述第二奇偶校验位以及是否分配存储所述第二奇偶校验位的所述区域。
13.根据权利要求12所述的存储设备,其中,所述处理器用于:基于确定生成所述第二奇偶校验位,确定所述第二奇偶校验位的大小,并依据所述第二奇偶校验位的大小,来调整在所述第二非易失性存储器芯片中分配的所述区域。
14.根据权利要求13所述的存储设备,其中,所述第二奇偶校验位的大小是所述第一奇偶校验位的大小的10%以上。
15.根据权利要求12所述的存储设备,其中,所述处理器用于:基于依据所述编程擦除循环确定不生成所述第二奇偶校验位,在所述第二非易失性存储器芯片中不分配存储所述第二奇偶校验位的所述区域,而是分配用于垃圾收集的垃圾收集区域、预留区域、存储闪存转换层的元数据的区域、或存储固件的区域中的一者或更多者。
16.根据权利要求11所述的存储设备,其中,
所述第一非易失性存储器芯片用于存储通过连接到所述控制器的第一信道发送的所述数据和所述第一奇偶校验位,
当生成所述第二奇偶校验位时,所述第二非易失性存储器芯片用于将通过连接到所述控制器的所述第一信道和第二信道之一发送的所述第二奇偶校验位存储在所述区域中。
17.根据权利要求16所述的存储设备,所述存储设备还包括缓冲存储器芯片,所述缓冲存储器芯片用于存储从所述第一非易失性存储器芯片发送的所述数据和所述第一奇偶校验位,以及存储从所述第二非易失性存储器芯片发送的所述第二奇偶校验位,
其中,所述纠错码引擎用于通过使用存储在所述缓冲存储器芯片中的所述第一奇偶校验位和所述第二奇偶校验位,来对存储在所述缓冲存储器芯片中的所述数据执行纠错码解码操作。
18.一种操作存储设备的方法,所述存储设备包括第一非易失性存储器芯片、第二非易失性存储器芯片以及控制器,所述方法包括:
通过所述控制器检查所述第一非易失性存储器芯片的存储数据和所述数据的第一奇偶校验位的存储单元的编程擦除循环;以及
所述控制器依据所述编程擦除循环选择性地生成除了所述第一奇偶校验位外的、要存储在所述第二非易失性存储器芯片中的所述数据的第二奇偶校验位。
19.根据权利要求18所述的方法,所述方法还包括:当未生成所述第二奇偶校验位时,通过所述控制器向所述第一非易失性存储器芯片发送所述数据和所述第一奇偶校验位。
20.根据权利要求18所述的方法,所述方法还包括:当生成所述第二奇偶校验位时,通过所述控制器向所述第一非易失性存储器芯片发送所述数据和所述第一奇偶校验位,并向所述第二非易失性存储器芯片发送所述第二奇偶校验位。
CN202010518087.7A 2019-09-20 2020-06-09 存储设备及操作该存储设备的方法 Pending CN112542201A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2019-0115842 2019-09-20
KR1020190115842A KR20210034711A (ko) 2019-09-20 2019-09-20 메모리 셀의 신뢰성에 따라 패리티 비트들을 선택적으로 생성하는 저장 장치 및 그것의 동작 방법

Publications (1)

Publication Number Publication Date
CN112542201A true CN112542201A (zh) 2021-03-23

Family

ID=74879935

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010518087.7A Pending CN112542201A (zh) 2019-09-20 2020-06-09 存储设备及操作该存储设备的方法

Country Status (3)

Country Link
US (1) US11061769B2 (zh)
KR (1) KR20210034711A (zh)
CN (1) CN112542201A (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11776643B2 (en) * 2021-06-03 2023-10-03 Sandisk Technologies Llc Systems and methods for distributing programming speed among blocks with different program-erase cycle counts
US11687405B2 (en) * 2021-12-01 2023-06-27 Western Digital Technologies, Inc. Centralized SRAM error location detection and recovery mechanism
US11797445B2 (en) * 2021-12-06 2023-10-24 Western Digital Technologies, Inc. Data storage device and method for preventing data loss during an ungraceful shutdown
US11809331B1 (en) * 2022-05-25 2023-11-07 Western Digital Technologies, Inc. Storage system and method for avoiding header to improve parity

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101183313A (zh) * 2003-12-25 2008-05-21 松下电器产业株式会社 信息处理设备和用于该设备的rom图像生成设备
US20140032992A1 (en) * 2012-07-27 2014-01-30 Kabushiki Kaisha Toshiba Memory controller, semiconductor memory system, and memory control method
US20140372667A1 (en) * 2013-06-14 2014-12-18 Phison Electronics Corp. Data writing method, memory controller and memory storage apparatus
CN104246707A (zh) * 2012-04-27 2014-12-24 株式会社日立制作所 存储系统和存储装置
US20150067438A1 (en) * 2013-09-03 2015-03-05 Kabushiki Kaisha Toshiba Memory controller, memory system, and memory control method
US20150261603A1 (en) * 2014-03-12 2015-09-17 Kabushiki Kaisha Toshiba Nonvolatile semiconductor memory device and control method thereof
CN104980267A (zh) * 2014-04-08 2015-10-14 常州隽通电子技术有限公司 量子保密通信系统控制器
CN105206306A (zh) * 2014-05-28 2015-12-30 擎泰科技股份有限公司 在非易失性存储器处理纠错码的方法及非易失性存储装置
US20160371026A1 (en) * 2015-06-22 2016-12-22 Samsung Electronics Co., Ltd. Flash memory device performing adaptive loop, memory system and method of operating the memory system
US20170116076A1 (en) * 2015-10-21 2017-04-27 SanDisk Technologies, Inc. Bad Column Management in Nonvolatile Memory
US20170315868A1 (en) * 2016-04-27 2017-11-02 Silicon Motion Inc. Method for accessing flash memory module and associated flash memory controller and memory device
US20190250985A1 (en) * 2018-02-13 2019-08-15 Samsung Electronics Co., Ltd. Semiconductor memory devices, memory systems and methods of operating semiconductor memory devices

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8250282B2 (en) 2009-05-14 2012-08-21 Micron Technology, Inc. PCM memories for storage bus interfaces
US20120117303A1 (en) 2010-11-04 2012-05-10 Numonyx B.V. Metadata storage associated with flash translation layer
US9342453B2 (en) 2011-09-30 2016-05-17 Intel Corporation Memory channel that supports near memory and far memory access
US9274885B2 (en) 2011-12-30 2016-03-01 Intel Corporation Phase change memory with switch (PCMS) write error detection
KR101941270B1 (ko) * 2012-01-03 2019-04-10 삼성전자주식회사 멀티-레벨 메모리 장치를 제어하는 메모리 제어기 및 그것의 에러 정정 방법
US9164832B2 (en) 2013-02-27 2015-10-20 Seagate Technology Llc ECC management for variable resistance memory cells
US9262268B2 (en) 2013-12-20 2016-02-16 Seagate Technology Llc Method to distribute user data and error correction data over different page types by leveraging error rate variations
US10133625B2 (en) * 2015-08-11 2018-11-20 Western Digital Technologies, Inc. Storing parity data separate from protected data
KR102421149B1 (ko) * 2018-01-02 2022-07-14 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101183313A (zh) * 2003-12-25 2008-05-21 松下电器产业株式会社 信息处理设备和用于该设备的rom图像生成设备
CN104246707A (zh) * 2012-04-27 2014-12-24 株式会社日立制作所 存储系统和存储装置
US20140032992A1 (en) * 2012-07-27 2014-01-30 Kabushiki Kaisha Toshiba Memory controller, semiconductor memory system, and memory control method
US20140372667A1 (en) * 2013-06-14 2014-12-18 Phison Electronics Corp. Data writing method, memory controller and memory storage apparatus
US20150067438A1 (en) * 2013-09-03 2015-03-05 Kabushiki Kaisha Toshiba Memory controller, memory system, and memory control method
US20150261603A1 (en) * 2014-03-12 2015-09-17 Kabushiki Kaisha Toshiba Nonvolatile semiconductor memory device and control method thereof
CN104980267A (zh) * 2014-04-08 2015-10-14 常州隽通电子技术有限公司 量子保密通信系统控制器
CN105206306A (zh) * 2014-05-28 2015-12-30 擎泰科技股份有限公司 在非易失性存储器处理纠错码的方法及非易失性存储装置
US20160371026A1 (en) * 2015-06-22 2016-12-22 Samsung Electronics Co., Ltd. Flash memory device performing adaptive loop, memory system and method of operating the memory system
US20170116076A1 (en) * 2015-10-21 2017-04-27 SanDisk Technologies, Inc. Bad Column Management in Nonvolatile Memory
US20170315868A1 (en) * 2016-04-27 2017-11-02 Silicon Motion Inc. Method for accessing flash memory module and associated flash memory controller and memory device
US20190250985A1 (en) * 2018-02-13 2019-08-15 Samsung Electronics Co., Ltd. Semiconductor memory devices, memory systems and methods of operating semiconductor memory devices

Also Published As

Publication number Publication date
KR20210034711A (ko) 2021-03-31
US20210089394A1 (en) 2021-03-25
US11061769B2 (en) 2021-07-13

Similar Documents

Publication Publication Date Title
US10466902B2 (en) Memory system and operation method for the same
CN107766257B (zh) 存储器系统及其操作方法
US10102059B2 (en) Data storage device capable of preventing a data retention fail of a nonvolatile memory device and operating method thereof
US11061769B2 (en) Storage device selectively generating parity bits according to endurance of memory cell, and method thereof
US11682446B2 (en) Selective wordline scans based on a data state metric
CN110928805B (zh) 存储器系统及其操作方法
US11482263B2 (en) Non-volatile memory device, controller for controlling the same, storage device including the same, and reading method thereof
US11682467B2 (en) Nonvolatile memory device, controller for controlling the same, storage device including the same, and reading method of the same
US20210334000A1 (en) Memory system, memory controller and memory device for configuring super blocks
US20220130438A1 (en) Memory system and operating method thereof
KR20200001310A (ko) 메모리 시스템 및 메모리 시스템의 동작방법
JP6073495B2 (ja) 半導体装置
US11561725B2 (en) System and operating method thereof
KR20200139913A (ko) 메모리 시스템, 메모리 컨트롤러 및 메타 정보 저장 장치
CN110928485A (zh) 存储器系统及其操作方法
KR20190102837A (ko) 메모리 시스템 및 메모리 시스템의 동작방법
US11868647B2 (en) Nonvolatile memory device, with valley search for threshold voltage, memory controller, and reading method of storage device including the same
US20230036616A1 (en) Storage devices and operating methods of storage controllers
US11726871B2 (en) Storage controller for selecting a gear level of a storage device and storage system including the same
US11586379B2 (en) Memory system and method of operating the same
US11847050B2 (en) Nonvolatile memory, memory system, and control method of nonvolatile memory
KR20210028335A (ko) 메모리 시스템, 메모리 컨트롤러 및 동작 방법
US11941272B2 (en) Memory system and operating method of memory system
US20230154540A1 (en) Storage system and operating method of storage controller
US20240061778A1 (en) Memory sub-system cache extension to page buffers of a memory array

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