CN114356208A - 存储器***及其操作方法 - Google Patents
存储器***及其操作方法 Download PDFInfo
- Publication number
- CN114356208A CN114356208A CN202110472411.0A CN202110472411A CN114356208A CN 114356208 A CN114356208 A CN 114356208A CN 202110472411 A CN202110472411 A CN 202110472411A CN 114356208 A CN114356208 A CN 114356208A
- Authority
- CN
- China
- Prior art keywords
- read count
- processor
- count table
- read
- memory
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3037—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1048—Adding 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 arrangements adapted for a specific error detection or correction feature
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0727—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/073—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
- G06F11/0754—Error or fault detection not based on redundancy by exceeding limits
- G06F11/076—Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0766—Error or fault reporting or storing
- G06F11/0775—Content or structure details of the error report, e.g. specific table structure, specific error fields
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2017—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where memory access, memory control or I/O control functionality is redundant
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3034—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/88—Monitoring involving counting
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
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)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本公开的实施例涉及一种存储器***及其操作方法。该存储器***可以包括第一处理器和第二处理器。第一处理器被配置为管理或处理包括多个第一读取计数表条目的主读取计数表,多个第一读取计数表条目各自与多个超级存储器块中的一个超级存储器块相对应。第二处理器被配置为:当在读取被存储在多个超级存储器块中的一个超级存储器块中的数据的操作期间发生错误时,管理或处理包括读取计数表条目的部分读取计数表,读取计数表条目包括关于在针对错误的恢复操作期间执行的读取操作的计数的信息,并且将更新消息传输给第一处理器以基于部分读取计数表更新主读取计数表。
Description
相关申请的交叉引用
本申请要求于2020年10月14日提交的韩国专利申请号10-2020-0132311的优先权,上述申请通过引用全部并入本文。
技术领域
实施例涉及一种存储器***及其操作方法。
背景技术
存储器***可以包括用于存储数据的存储设备或存储器设备。这种存储器***可以基于来自主机的请求来操作,主机诸如是计算机、移动设备(例如,智能电话或平板PC)或其他类似电子设备。存储器***的示例从传统的硬盘驱动器(HDD)跨越到基于半导体的数据存储设备,诸如固态驱动器(SSD)、通用闪存设备(UFS)或嵌入式MMC(eMMC)设备。
存储器***还可以包括用于控制存储器设备的存储器控制器。存储器控制器可以从主机接收命令,并且在存储器***中所包括的存储器设备上执行命令或控制读取操作/写入操作/擦除操作。存储器控制器还可以用于运行固件,以执行用于控制这些操作的逻辑操作。
存储器***可以对已经在其上重复执行读取操作的存储器块执行读取回收操作,以便解决由从存储器设备读取数据的操作引起的读取干扰。在这种情况下,为了正常地执行读取回收操作,可能需要存储器***准确地计算读取计数,该读取计数是在每个存储器块中执行读取操作的计数。
发明内容
本公开的实施例可以提供一种存储器***及其操作方法,该存储器***及其操作方法能够在确定是否执行读取回收操作时反映在针对在读取操作期间发生的错误的恢复操作期间生成的读取操作的计数。
另外,本公开的实施例可以提供一种存储器***及其操作方法,该存储器***及其操作方法能够最小化在更新读取计数表的过程中发生的性能下降。
在一个方面中,本公开的实施例可以提供一种存储器***,该存储器***包括:包括多个超级存储器块的存储器设备、以及用于与存储器设备通信并控制存储器设备的存储器控制器。
存储器控制器可以包括第一处理器和第二处理器。
第一处理器可以管理包括多个第一读取计数表条目的主读取计数表,多个第一读取计数表条目中的每个第一读取计数表条目对应于多个超级存储器块中的一个超级存储器块,第一读取计数表条目包括关于在对应的超级存储器块上执行的第一读取操作的计数的信息。
第二处理器可以在读取被存储在多个超级存储器块中的一个超级存储器块中的数据的操作期间发生错误时管理包括多个第二读取计数表条目的部分读取计数表,第二读取计数表条目包括关于在针对错误的恢复操作期间执行的第二读取操作的计数的信息,并且第二处理器可以在基于部分读取计数表更新主读取计数表时将更新消息传输给第一处理器。
在另一方面中,本公开的实施例可以提供一种存储器***的操作方法,该存储器***包括多个超级存储器块、第一处理器和第二处理器。
存储器***的操作方法可以包括:当在读取被存储在多个超级存储器块中的一个超级存储器块中的数据时发生错误时,由第二处理器更新存储多个第二读取计数表条目的部分读取计数表,每个第二读取计数表条目包括关于在针对错误的恢复操作期间执行的读取操作的计数的信息。
存储器***的操作方法可以包括:由第二处理器确定是否基于更新后的部分读取计数表来更新主读取计数表,主读取计数表包括多个第一读取计数表条目,多个第一读取计数表条目中的每个第一读取计数表条目对应于基于部分读取计数表的多个超级存储器块中的一个超级存储器块,第一读取计数表条目包括关于在对应的超级存储器块上执行的读取操作的计数的信息。
存储器***的操作方法可以包括:当确定主读取计数表要被更新时,由第二处理器将更新消息传输给第一处理器。
根据本公开的实施例,可以在确定是否执行读取回收操作时反映在针对在读取操作期间发生的错误的恢复操作期间生成的读取操作的计数。
另外,根据本公开的实施例,可以最小化在更新读取计数表的过程中发生的性能下降。
附图说明
图1是图示了基于所公开技术的实施例的存储器设备的示意性配置的图。
图2是示意性地图示了基于所公开技术的实施例的存储器设备的框图。
图3是图示了基于所公开技术的实施例的存储器设备的字线和位线的结构的图。
图4是图示了根据本公开的实施例的存储器***的结构的图。
图5是图示了根据本公开的实施例的主读取计数表和部分读取计数表的示例性结构的图。
图6是图示了根据本公开的实施例的第二处理器的示例性操作的流程图。
图7是图示了根据本公开的实施例的其中第二处理器更新部分读取计数表的示例的图。
图8是图示了根据本公开的实施例的确定是否由第二处理器向第一处理器传输更新消息的示例性操作的流程图。
图9是图示了当图8中描述的操作被执行时主读取计数表和部分读取计数表中的变化的图。
图10是图示了根据本公开的实施例的确定是否由第二处理器向第一处理器传输更新消息的另一示例性操作的流程图。
图11是图示了当图10中描述的操作被执行时主读取计数表和部分读取计数表中的变化的图。
图12是图示了根据本公开的实施例的由存储器***更新主读取计数表的操作的示例的流程图。
图13是图示了根据本公开的实施例的由第二处理器将部分读取计数表复制到目标存储器区域的操作的图。
图14是图示了根据本公开的实施例的由第一处理器基于被复制到目标存储器区域的部分读取计数表来更新主读取计数表的操作的图。
图15是图示了根据本公开的实施例的确定第二处理器向第一处理器传输更新消息的时间点的示例性操作的流程图。
图16是图示了根据本公开的实施例的确定是否由第一处理器执行读取回收操作的示例性操作的流程图。
图17是图示了根据本公开的实施例的存储器***的操作方法的流程图。
图18是图示了基于所公开技术的实施例的计算***的配置的图。
具体实施方式
在下文中,参照附图对本公开的实施例进行详细描述。贯穿本说明书,对“实施例”、“另一实施例”等的引用并不一定仅针对一个实施例,并且对任何这种短语的不同引用并不一定针对相同的(多个)实施例。当在本文中使用时,术语“实施例”并不一定是指所有实施例。
图1是图示了基于所公开技术的实施例的存储器***100的示意性配置的图。
在一些实施方式中,存储器***100可以包括被配置为存储数据的存储器设备110以及被配置为控制存储器设备110的存储器控制器120。
存储器设备110可以包括多个存储器块,多个存储器块各自包括用于存储数据的预定数量的存储器单元。存储器设备110可以被配置为响应于从存储器控制器120接收的控制信号而操作。存储器设备110的操作可以包括例如读取操作、编程操作(也称为“写入操作”)和擦除操作。
存储器设备110中的存储器单元用于存储数据,并且可以布置在存储器单元阵列中。在存储器设备110是闪存设备的一些实施方式中,存储器单元阵列可以被划分为存储器单元的存储器块,并且每个块包括存储器单元的不同页。在NAND闪存设备的一些实施方式中,单元的页是可以被编程(或写入)和读取的最小存储器单位,并且存储在存储器单元中的数据可以在块级别被擦除。
在一些实施方式中,存储器设备110可以被实施为各种类型,诸如双倍数据速率同步动态随机存取存储器(DDR SDRAM)、低功率双倍数据速率第4代(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SRAM、低功率DDR(LPDDR)、Rambus动态随机存取存储器(RDRAM)、NAND闪存、垂直NAND闪存、NOR闪存、电阻式随机存取存储器(RRAM)、相变随机存取存储器(PRAM)、磁阻随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)或自旋转移力矩随机存取存储器(STT-RAM)。
存储器设备110可以以三维阵列结构来实施。所公开技术的一些实施例可应用于具有电荷存储层的任何类型的闪存设备。在实施方式中,电荷存储层可以由导电材料形成,并且这种电荷存储层可以被称为浮置栅极。在另一实施方式中,电荷存储层可以由绝缘材料形成,并且这种闪存设备可以被称为电荷捕获闪存(CTF)。
存储器设备110可以被配置为从存储器控制器120接收命令和地址,以访问使用该地址选择的存储器单元阵列的区域。即,存储器设备110可以对存储器设备中的具有与从控制器所接收的地址相对应的物理地址的存储器区域执行与所接收的命令相对应的操作。
在一些实施方式中,存储器设备110尤其可以执行编程操作、读取操作和擦除操作。在编程操作期间,存储器设备110可以将数据写入(“编程”)到由地址选择的区域。在读取操作期间,存储器设备110可以从由地址选择的存储器区域读取数据。在擦除操作期间,存储器设备110可以擦除存储在由地址选择的存储器区域中的数据。
存储器控制器120可以控制要在存储器设备110上执行的写入(编程)操作、读取操作、擦除操作和后台操作。后台操作可以包括被实施以优化存储器设备110的整体性能的操作,诸如垃圾收集(GC)操作、损耗平衡(WL)操作和坏块管理(BBM)操作。
存储器控制器120可以在主机的请求下控制存储器设备110的操作。备选地,当存储器控制器120执行存储器设备的这种后台操作时,即使在没有来自主机的请求的情况下,存储器控制器120也可以控制存储器设备110的操作。
存储器控制器120和主机可以是单独的设备。在一些实施方式中,存储器控制器120和主机可以被集成在单个设备中。在以下描述中,作为示例,存储器控制器120和主机是单独的设备。
参照图1,存储器控制器120可以包括存储器接口122、控制电路123和主机接口121。
主机接口121可以被配置为提供用于与主机通信的接口。
当从主机HOST接收命令时,控制电路123可以通过主机接口121接收命令,并且可以执行处理所接收的命令的操作。
存储器接口122可以直接或间接地连接至存储器设备110以提供用于与存储器设备110通信的接口。即,存储器接口122可以被配置为向存储器设备110和存储器控制器120提供用于存储器控制器120的接口,以基于来自控制电路123的控制信号和指令来对存储器设备110执行存储器操作。
控制电路123可以被配置为通过存储器控制器120来控制存储器设备110的操作。例如,控制电路123可以包括处理器124和工作存储器125。控制电路123还可以包括错误检测/校正电路(ECC电路)126。
处理器124可以控制存储器控制器120的整体操作。处理器124可以执行逻辑操作。处理器124可以通过主机接口121与主机HOST通信。处理器124可以通过存储器接口122与存储器设备110通信。
处理器124可以用于运行闪存转换层(FTL)以有效地管理对存储器***100的存储器操作。例如,处理器124可以通过FTL将由主机提供的逻辑块地址(LBA)转换为物理块地址(PBA)。FTL可以接收LBA并且通过使用映射表来将LBA转换为PBA。
基于映射单位,存在可以被FTL采用的各种地址映射方法。典型的地址映射方法可以包括页映射方法、块映射方法和混合映射方法。
处理器124可以被配置为使从主机接收的数据随机化以将经随机化的数据写入存储器单元阵列。例如,处理器124可以通过使用随机化种子来使从主机所接收的数据随机化。随机化后的数据被提供给存储器设备110,并被写入存储器单元阵列。
处理器124可以被配置为在读取操作期间使从存储器设备110接收的数据去随机化。例如,处理器124可以通过使用去随机化种子来使从存储器设备110所接收的数据去随机化。经去随机化的数据可以被输出给主机HOST。
处理器124可以执行固件(FW)以控制存储器控制器120的操作。换言之,处理器124可以控制存储器控制器120的整体操作,并且为了执行逻辑操作,处理器124可以在引导期间执行(驱动)被加载到工作存储器125中的固件。
固件是指存储在非易失性存储器(例如,ROM、EPROM、EEPROM、NAND闪存、NOR闪存等)中的程序或软件,并且由存储器***100内部的处理器124执行。
在一些实施方式中,固件可以包括各种功能层。例如,固件可以包括以下至少一项:被配置为将主机HOST请求中的逻辑地址转换为存储器设备110的物理地址的闪存转换层(FTL)、被配置为解释主机HOST向诸如存储器***100的数据存储设备发出的命令并且将命令递送给FTL的主机接口层(HIL)、以及被配置为将由FTL发出的命令递送给存储器设备110的闪存接口层(FIL)。
例如,固件可以被存储在存储器设备110中,并且然后被加载到工作存储器125中。
工作存储器125可以存储对于操作存储器控制器120所需的固件、程序代码、命令或数据片。工作存储器125可以包括例如以下至少一项作为易失性存储器:静态RAM(SRAM)、动态RAM(DRAM)和同步RAM(SDRAM)。
错误检测/校正电路126可以被配置为通过使用错误检测和校正码来检测和校正数据中的一个或多个错误位。在一些实施方式中,经受错误检测和校正的数据可以包括存储在工作存储器125中的数据以及从存储器设备110取回的数据。
错误检测/校正电路126可以被实施为通过使用错误校正码来对数据进行解码。可以通过使用各种解码方案来实施错误检测/校正电路126。例如,可以使用执行非***代码解码的解码器或执行***代码解码的解码器。
在一些实施方式中,错误检测/校正电路126可以基于扇区来检测一个或多个错误位。即,每个读取数据片可以包括多个扇区。在本公开的上下文中,“扇区”可以是指比用于闪存的读取操作的最小单位(例如,页)小的数据单位。可以基于地址来映射构成每个读取数据片的扇区。
在一些实施方式中,错误检测/校正电路126可以计算误码率(BER)并且逐扇区地确定数据中的错误位的数量是否在错误校正能力内。例如,如果BER高于参考值,则错误检测/校正电路126可以确定对应扇区中的错误位是不可校正的,并且对应的扇区被标记为“失败”。如果BER小于或等于参考值,则错误检测/校正电路126可以确定对应的扇区是可校正的,并且对应的扇区可以被标记为“通过”。
错误检测/校正电路126可以对所有读取数据依次执行错误检测和校正操作。当读取数据中所包括的扇区是可校正的时,错误检测/校正电路126可以继续到下一扇区,以检查在下一扇区上是否需要错误校正操作。在通过这种方式完成对所有读取数据的错误检测和校正操作时,错误检测/校正电路126可以标识在读取数据中哪个扇区被认为是不可校正的。错误检测/校正电路126可以向处理器124提供关于被认为不可校正的扇区的信息(例如,不可校正的扇区的地址)。
存储器***100还可以包括总线127,以在存储器控制器120的构成元件121、122、124、125和126之间提供通信通道。例如,总线127可以包括用于递送各种类型的控制信号和命令的控制总线、以及用于递送各种类型的数据的数据总线。
通过示例的方式在图1中图示了存储器控制器120的上述构成元件121、122、124、125和126。要注意的是,存储器控制器120的上述构成元件121、122、124、125和126中的一些构成元件可以被省略,或者存储器控制器120的上述构成元件121、122、124、125和126中的一些构成元件可以被集成到单个元件中。另外,在一些实施方式中,可以将一个或多个其他构成元件添加到存储器控制器120的上述构成元件。
在下文中,将参照图2更详细地描述存储器设备110。
图2是示意性地图示了基于所公开技术的实施例的存储器设备110的框图。
在一些实施方式中,基于所公开技术的实施例的存储器设备110可以包括存储器单元阵列210、地址解码器220、读取/写入电路230、控制逻辑240和电压生成电路250。
存储器单元阵列210可以包括多个存储器块BLK1至BLKz,其中z是等于或大于2的自然数。
在多个存储器块BLK1至BLKz中,可以将多个字线WL和多个位线BL布置为行和列,并且可以布置多个存储器单元MC。
多个存储器块BLK1至BLKz可以通过多个字线WL连接至地址解码器220。多个存储器块BLK1至BLKz可以通过多个位线BL连接至读取/写入电路230。
多个存储器块BLK1至BLKz中的每个存储器块可以包括多个存储器单元。例如,多个存储器单元是非易失性存储器单元。在一些实施方式中,这种非易失性存储器单元可以以垂直通道结构布置。
存储器单元阵列210可以被配置为具有二维结构的存储器单元阵列,并且在一些实施方式中,可以以三维结构布置。
存储器单元阵列210中所包括的多个存储器单元中的每个存储器单元可以存储至少一位数据。例如,存储器单元阵列210中所包括的多个存储器单元中的每个存储器单元可以是被配置为每个存储器单元存储一位数据的单级单元(SLC)。作为另一示例,存储器单元阵列210中所包括的多个存储器单元中的每个存储器单元可以是被配置为每个存储器单元存储两位数据的多级单元(MLC)。作为另一示例,存储器单元阵列210中所包括的多个存储器单元中的每个存储器单元可以是被配置为每个存储器单元存储三位数据的三级单元(TLC)。作为另一示例,存储器单元阵列210中所包括的多个存储器单元中的每个存储器单元可以是被配置为存储四位数据的四级单元(QLC)。作为另一示例,存储器单元阵列210可以包括多个存储器单元,这些存储器单元被配置为每个存储器单元存储至少五位数据。
参照图2,地址解码器220、读取/写入电路230、控制逻辑240和电压生成电路250可以作为被配置为驱动存储器单元阵列210的***电路而操作。
地址解码器220可以通过多个字线WL连接至存储器单元阵列210。
地址解码器220可以被配置为响应于控制逻辑240的命令和控制信号而操作。
地址解码器220可以通过存储器设备110内部的输入/输出缓冲器来接收地址。地址解码器220可以被配置为对所接收的地址中的块地址进行解码。地址解码器220可以基于解码后的块地址来选择至少一个存储器块。
地址解码器220可以从电压生成电路250接收读取电压Vread和通过电压Vpass。
当在读取操作期间施加读取电压时,地址解码器220可以将读取电压Vread施加到被选择的存储器块内部的被选择的字线WL,并且可以将通过电压Vpass施加到剩余的未被选择的字线WL。
地址解码器220可以在编程验证操作期间将由电压生成电路250生成的验证电压施加到被选择的存储器块内部的被选择的字线WL,并且可以将通过电压Vpass施加到剩余的未被选择的字线WL。
地址解码器220可以被配置为对所接收的地址中的列地址进行解码。地址解码器220可以将解码后的列地址传输给读取/写入电路230。
存储器设备110可以在逐页的基础上执行读取操作和编程操作。在读取操作和编程操作被请求时所接收的地址可以包括以下至少一项:块地址、行地址和列地址。
地址解码器220可以基于块地址和行地址来选择一个存储器块和一个字线。列地址可以由地址解码器220解码,并被提供给读取/写入电路230。
地址解码器220可以包括以下至少一项:块解码器、行解码器、列解码器和地址缓冲器。
读取/写入电路230可以包括多个页缓冲器PB。当存储器单元阵列210执行读取操作时,读取/写入电路230可以作为“读取电路”操作,并且当存储器单元阵列210执行写入操作时,读取/写入电路230可以作为“写入电路”操作。
上述读取/写入电路230也被称为包括多个页缓冲器PB的页缓冲器电路或数据寄存器电路。读取/写入电路230可以包括可以保持用于数据处理的数据的数据缓冲器,并且在一些实施方式中,还可以包括用于数据缓存的缓存缓冲器。
多个页缓冲器PB可以通过多个位线BL连接至存储器单元阵列210。为了在读取操作和编程验证操作期间检测或感测存储器单元的阈值电压Vth,多个页缓冲器PB可以向连接至存储器单元的位线BL连续地供应感测电流,以在感测节点处检测基于对应存储器单元的编程状态而流动的电流量的变化,并且可以保持或锁存对应电压作为感测数据。
读取/写入电路230可以响应于从控制逻辑240输出的页缓冲器控制信号而操作。
在读取操作期间,读取/写入电路230感测存储器单元的电压值,并且该电压值作为数据被读出。读取/写入电路230临时存储所取回的数据,并且将数据DATA输出给存储器设备110的输入/输出缓冲器。在实施例中,除了页缓冲器PB或页寄存器之外,读取/写入电路230还可以包括列选择电路。
控制逻辑240可以连接至地址解码器220、读取/写入电路230和电压生成电路250。控制逻辑240可以通过存储器设备110的输入/输出缓冲器来接收命令CMD和控制信号CTRL。
控制逻辑240可以被配置为响应于控制信号CTRL来控制存储器设备110的整体操作。控制逻辑240可以输出用于调整在多个页缓冲器PB的感测节点处的电压电平的控制信号。
控制逻辑240可以控制读取/写入电路230以对存储器单元阵列210中的存储器单元执行读取操作。响应于由控制逻辑240提供的电压生成电路控制信号,电压生成电路250可以生成在读取操作期间被使用的读取电压Vread和通过电压Vpass。
存储器设备110中所包括的存储器块BLK可以由多个页PG构成,多个页PG中的每个页包括多个存储器单元。在一些实施方式中,多个存储器单元可以被布置在多个串中。多个页PG可以被映射到多个字线WL,并且多个串STR可以被映射到多个位线BL。
在存储器块BLK中,多个字线WL和多个位线BL可以布置为行和列。例如,多个字线WL中的每个字线可以沿着行方向布置,并且多个位线BL中的每个位线可以沿着列方向布置。作为另一示例,多个字线WL中的每个字线可以沿着列方向布置,并且多个位线BL中的每个位线可以沿着行方向布置。
当从上方看时,多个字线WL和多个位线BL可以彼此相交,从而限定了包括多个存储器单元MC的存储器阵列。每个存储器单元MC可以具有布置在其中的晶体管TR。
例如,布置在每个存储器单元MC中的晶体管TR可以包括漏极、源极和栅极。晶体管TR的漏极(或源极)可以直接地或经由另一晶体管TR连接至对应的位线BL。晶体管TR的源极(或漏极)可以直接地或经由另一晶体管TR连接至源极线(该源极线可以是接地)。晶体管TR的栅极可以包括由绝缘体包围的浮置栅极(FG)、以及控制栅极(CG),栅极电压从字线WL被施加到该控制栅极(CG)。
在多个存储器块BLK1至BLKz的每个存储器块中,第一选择线(也称为源极选择线或漏极选择线)可以附加地布置在第一最外字线的外部,该第一最外字线在两个最外字线中更靠近读取/写入电路230,并且第二选择线(也称为漏极选择线或源极选择线)可以附加地布置在另一第二最外字线的外部。
在一些情况下,可以在第一最外字线和第一选择线之间附加地布置至少一个虚设字线。另外,可以在第二最外字线和第二选择线之间附加地布置至少一个虚设字线。
可以在逐页的基础上执行存储器块的读取操作和编程操作(写入操作),并且可以在逐个存储器块的基础上执行擦除操作。
图3是图示了基于所公开技术的实施例的存储器设备110的字线WL和位线BL的结构的图。
参照图3,存储器设备110具有存储器单元MC集中于其中的核心区域、以及与除核心区域以外的剩余区域相对应的辅助区域。辅助区域包括用于支持存储器单元阵列210的操作的电路装置。
核心区域可以包括页PG和串STR。在一些实施方式中,当从上方看时,多个字线WL1至WL9和多个位线BL被布置为彼此相交,但是彼此电隔离。
字线WL1至WL9可以连接至行解码器310。位线BL可以连接至列解码器320。与图2的读取/写入电路230相对应的数据寄存器330可以存在于多个位线BL与列解码器320之间。
多个字线WL1至WL9可以对应于多个页PG。
例如,多个字线WL1至WL9中的每个字线可以对应于一个页PG,如图3所图示。当多个字线WL1至WL9中的每个字线具有大尺寸时,多个字线WL1至WL9中的每个字线可以对应于至少两个(例如,两个或四个)页PG。每个页PG是与进行编程操作和读取操作有关的最小单位,并且在进行编程操作和读取操作时,同一页PG内的所有存储器单元MC可以执行同时操作。
多个位线BL可以连接至列解码器320。在一些实施方式中,可以将多个位线BL划分为奇数编号的位线BL和偶数编号的位线BL,使得一对奇数编号的位线BL和偶数编号的位线B共同耦合至列解码器320。
地址可以用于访问核心区域中的一个或多个存储器单元MC。可以通过输入/输出端将地址提供给行解码器310和列解码器320,以选择对应的目标存储器单元。在本公开的上下文中,词语“目标存储器单元”可以用于指示存储器单元MC中的旨在要从存储器控制器或用户访问的一个存储器单元,并且在一些实施方式中,存储器单元MC可以位于连接至行解码器310的字线WL1至WL9与连接至列解码器320的位线BL之间的交叉处。
第一方向(例如,X轴方向)上的页PG连接至被称为字线WL的共用线,并且第二方向(例如,Y轴方向)上的串STR连接至被称为位线BL的公共线。由于跨前一存储器单元MC的电压降,施加到串联连接的存储器单元MC中的在中间位置或最后位置中的存储器单元MC的电压可能会与施加到在第一位置中的存储器单元MC的电压略有不同,并且与施加到在最后位置中的存储器单元MC的电压略有不同。
在一些实施方式中,数据寄存器330起重要作用,因为由存储器设备110进行的、包括编程操作和读取操作的所有数据处理都经由数据寄存器330发生。如果由数据寄存器330进行的数据处理被延迟,则所有其他区域都需要等待直到数据寄存器330完成数据处理为止,从而降低存储器设备110的整体性能。
参照图3所图示的示例,在一个串STR中,多个晶体管TR1至TR9可以分别连接至多个字线WL1至WL9。在一些实施方式中,多个晶体管TR1至TR9对应于存储器单元MC。在该示例中,多个晶体管TR1至TR9包括控制栅极CG和浮置栅极FG。
多个字线WL1至WL9包括两个最外字线WL1和WL9。第一选择线DSL可以附加地布置在第一最外字线WL1的外部,与另一最外字线WL9相比,该第一最外字线WL1距数据寄存器330更远并且具有更长的信号路径。第二选择线SSL可以附加地布置在另一第二最外字线WL9的外部。
由第一选择线DSL控制以接通/关断的第一选择晶体管D-TR具有连接至第一选择线DSL的栅极电极,但是不包括浮置栅极FG。由第二选择线SSL控制以接通/关断的第二选择晶体管S-TR具有连接至第二选择线SSL的栅极电极,但是不包括浮置栅极FG。
第一选择晶体管D-TR用作将对应的串STR连接至数据寄存器330的开关电路。第二选择晶体管S-TR用作将对应的串STR连接至源极线SL的开关电路。即,第一选择晶体管D-TR和第二选择晶体管S-TR可以用于启用或禁用对应的串STR。
在编程操作期间,存储器***100利用电子填充位线BL的要被编程的目标存储器单元MC。因此,存储器***100向第一选择晶体管D-TR的栅极电极施加预定的接通电压Vcc,从而接通第一选择晶体管D-TR,并向连接至第二选择晶体管S-TR的栅极电极施加预定的关断电压(例如,0V),从而关断第二选择晶体管S-TR。
在读取操作或验证操作期间,存储器***100接通第一选择晶体管D-TR和第二选择晶体管S-TR。因此,在读取操作或验证操作期间,电流可以流过对应的串STR并且流到与接地电压相对应的源极线SL,从而可以测量位线BL的电压电平。然而,在读取操作期间,在第一选择晶体管D-TR和第二选择晶体管S-TR之间在导通/断开定时中可能会存在时间差。
在擦除操作期间,存储器***100可以通过源极线SL向衬底施加预定电压(例如,+20V)。在擦除操作期间,存储器***100施加一定的电压以允许第一选择晶体管D-TR和第二选择晶体管S-TR二者浮置。作为结果,所施加的擦除电压可以从被选择的存储器单元的浮置栅极FG移除电荷。
图4是图示了根据本公开的实施例的存储器***100的结构的图。存储器***100可以包括存储器设备110和被配置为控制存储器设备110的存储器控制器120。
存储器***100的存储器设备110可以包括多个超级存储器块。在图4中,存储器设备110可以包括N个(N是2或更大的自然数)超级存储器块SB1、SB2、SB3、SB4、...、SBN。
在这种情况下,超级存储器块可以是包括被设置在存储器设备110中的一个或多个存储器块的逻辑单元。可以以各种方式确定一个超级存储器块中所包括的存储器块。例如,当存储器设备110包括多个存储器管芯并且每个存储器管芯包括多个平面时,可以将被设置在一个超级存储器块中的存储器块放置在另一管芯的另一平面上。
另外,存储器***100的存储器控制器120可以包括第一处理器PROCESSOR_1和第二处理器PROCESSOR_2。第一处理器PROCESSOR_1和第二处理器PROCESSOR_2可以是作为图1中描述的处理器124的一部分的子处理器,或者可以是位于处理器124外部的单独的处理器。第一处理器PROCESSOR_1和第二处理器PROCESSOR_2可以各自包括一个或多个核心。
第一处理器PROCESSOR_1和第二处理器PROCESSOR_2中的每个处理器可以执行不同的功能。例如,第一处理器PROCESSOR_1可以执行上述闪存转换层FTL的操作,并且第二处理器PROCESSOR_2可以执行上述闪存接口层FIL的操作。
在图4中,第一处理器PROCESSOR_1可以被配置为管理主读取计数表(MRCT),该主读取计数表(MRCT)包括与N个超级存储器块SB1、SB2、SB3、SB4、...、SBN中的每个超级存储器块相对应的N个读取计数表条目(RCE)。
第二处理器PROCESSOR_2可以被配置为:当在读取被存储在N个超级存储器块SB1、SB2、SB3、SB4、...、SBN中的任何一个超级存储器块中的数据的操作期间发生错误(失败)时,管理包括多个第二读取计数表条目(RCE)的部分读取计数表(PRCT),第二读取计数表条目包括关于在针对错误的恢复操作(例如,读取重试操作)期间执行的读取操作的计数的信息。由于第一处理器PROCESSOR_1无法直接知道在错误恢复操作期间执行的读取操作的计数,因此第二处理器PROCESSOR_2可以通过部分读取计数表(PRCT)对其进行管理,并且然后可以将读取操作的计数通知给第一处理器PROCESSOR_1。
在这种情况下,部分读取计数表PRCT中所包括的第二读取计数表条目(RCE)的数量可以是N或更小。即,在一些实施例中,PRCT可以具有与第一RCE相同数量的第二RCE。在其他实施例中,PRCT具有的第二RCE的数量可以小于MRCT中的第一RCE的数量。
主读取计数表MRCT或部分读取计数表PRCT中所包括的读取计数表条目RCE可以与多个超级存储器块SB1、SB2、SB3、SB4、...、SBN中的一个超级存储器块相关联,并且可以包括关于在特定时间点(例如,重启时间/初始化时间)之后针对与对应的读取计数表条目RCE相对应的超级存储器块执行的读取操作的计数的信息。
当基于部分读取计数表PRCT更新主读取计数表MRCT时,第二处理器PROCESSOR_2可以将更新消息传输给第一处理器PROCESSOR_1。
将详细描述主读取计数表MRCT、部分读取计数表PRCT和读取计数表条目RCE的结构。
图5是图示了根据本公开的实施例的主读取计数表MRCT和部分读取计数表PRCT的结构示例的图。
参照图5,主读取计数表MRCT可以包括N个第一读取计数表条目(RCE),这N个第一读取计数表条目(RCE)各自与N个超级存储器块SB1、SB2、SB3、SB4、...、SBN中的一个超级存储器块相对应。在这种情况下,针对与第一读取计数表条目相对应的超级存储器块,主读取计数表MRCT中所包括的每个第一读取计数表条目RCE可以包括:与整个超级存储器块相对应的主读取计数(CNT_MAIN)、以及各自与对应的超级存储器块中所包括的多个子区域P0至P7中的一个子区域相对应的多个子读取计数(CNT_SUB)。
在这种情况下,可以以各种方式确定超级存储器块的子区域。例如,如果存储器设备110包括多个存储器管芯,并且每个存储器管芯包括多个平面,则超级存储器块中所包括的一个或多个存储器块中的被设置在不同平面中的存储器块可以各自构成不同的子区域。
在图5中,每个第一读取计数表条目RCE可以包括一个主读取计数CNT_MAIN、以及与八个子区域P0、P1、P2、P3、P4、P5、P6、P7中的每个子区域相对应的八个子读取计数CNT_SUB。要了解的是,在图5中描述的子区域的数量是示例性实施例,并且一个超级存储器块中所包括的子区域的数量不限于此。
在一个示例性实施例中,主读取计数表MRCT中与超级存储器块SB1相对应的第一读取计数表条目RCE的主读取计数CNT_MAIN为50,并且八个子读取计数CNT_SUB P0、P1、P2、P3、P4、P5、P6、P7和P8分别为2、2、2、2、3、3、3和3。另外,在主读取计数表MRCT中,与超级存储器块SB2相对应的第一读取计数表条目RCE的主读取计数CNT_MAIN为70,并且八个子读取计数CNT_SUB P0、P1、P2、P3、P4、P5、P6、P7和P8分别为2、2、2、2、3、3、3和3。在主读取计数表MRCT中,与超级存储器块SB3相对应的读取计数表条目RCE的主读取计数CNT_MAIN为80,并且八个子读取计数CNT_SUB分别为2、2、2、2、3、3、3和3。在主读取计数表MRCT中,与超级存储器块SBN相对应的第一读取计数表条目RCE的主读取计数CNT_MAIN为40,并且八个子读取计数CNT_SUB P0、P1、P2、P3、P4、P5、P6、P7和P8分别为2、2、2、2、3、3、3和3。
另外,部分读取计数表PRCT可以包括与N个超级存储器块中的一些超级存储器块(例如,在读取所存储的数据的操作期间其中发生错误的超级存储器块)相对应的多个第二读取计数表条目(RCE)。在图5中,部分读取计数表PRCT可以包括与三个超级存储器块SB1、SB3和SBN相对应的三个第二读取计数表条目(RCE)。然而,取决于在读取操作期间是否发生错误,部分读取计数表PRCT中所包括的第二读取计数表条目(RCE)的数量可以变化。
图6是图示了根据本公开的实施例的第二处理器PROCESSOR_2的示例性操作的流程图。
参照图6,存储器***100的第二处理器PROCESSOR_2可以读取被存储在多个超级存储器块的第一超级存储器块中的数据(S610)。
另外,第二处理器PROCESSOR_2可以确定在步骤S610中在读取被存储在第一超级存储器块中的数据的操作期间是否已经发生了错误(S620)。例如,当在读取数据时生成的错误位的数量大于或等于错误位的预定(阈值)数量时,第二处理器PROCESSOR_2可以确定已经发生了错误。
如果确定在读取被存储在第一超级存储器块中的数据的操作期间发生错误(S620-Y),则第二处理器PROCESSOR_2可以针对所确定的错误执行恢复操作(S630)。另外,第二处理器PROCESSOR_2可以更新部分读取计数表PRCT中与第一超级存储器块相对应的第二读取计数表条目(S640),并且第二处理器的操作可以被结束(End)。如果第二处理器确定在读取数据的操作期间没有发生错误(S620-N),则第二处理器不执行动作(End)。
即,第二处理器PROCESSOR_2可以将针对在读取操作期间发生的错误的恢复操作期间的读取操作的计数反映到部分读取计数表PRCT,并且然后可以传输更新消息,以供第一处理器PROCESSOR_1基于部分读取计数表PRCT更新主读取计数表MRCT。因此,第一处理器PROCESSOR_1可以实现在针对在读取操作期间发生的错误的恢复操作期间发生的读取操作的计数,并且可以确定是否执行读取回收操作。
在下文中,将描述在步骤S640中由第二处理器PROCESSOR_2更新部分读取计数表PRCT中所包括的第二读取计数表条目的示例性操作。
图7是图示了根据本公开的实施例的其中第二处理器PROCESSOR_2更新部分读取计数表PRCT的示例性实施例的图。
在图7中,如果部分读取计数表PRCT中所包括的读取计数表条目中所包括的多个子读取计数CNT_SUB P0、P1、P2、P3、P4、P5、P6、P7和P8中的任何一个子读取计数等于或大于特定的阈值子读取计数,则第二处理器PROCESSOR_2可以将对应的读取计数表条目的主读取计数CNT_MAIN增大第一值(例如,1),并且可以将多个子读取计数中的所有子读取计数减小第二值(例如,1)。在一些实施例中,第一值和第二值可以相同。在其他实施例中,第一值和第二值可以彼此不同。
在图7中,假设部分读取计数表PRCT包括分别针对三个超级存储器块SB1、SB3和SBN的读取计数表条目。
在该实施例中,当第二处理器PROCESSOR_2针对在超级存储器块SB3中所包括的数据的读取操作期间发生的错误执行恢复操作时,将描述对超级存储器SB3的子区域P4执行两次读取操作的情况(S710)。
在该实施例中,第二处理器PROCESSOR_2可以将部分读取计数表PRCT中与超级存储器块SB3相对应的读取计数表条目中所包括的八个子读取计数CNT_SUB P0、P1、P2、P3、P4、P5、P6、P7和P8中的与子区域P4相对应的子读取计数从3增大到5(S720)。因此,第二处理器PROCESSOR_2可以将在恢复操作期间其中执行读取操作的子区域的子读取计数CNT_SUB增大读取操作被执行的次数。
在图7中,假设用作用于更新读取计数表条目的主读取计数CNT_MAIN和子读取计数CNT_SUB的参考的阈值子读取计数是5。
在该实施例中,部分读取计数表PRCT中与超级存储器块SB3相对应的读取计数表条目中所包括的子读取计数中的一个子读取计数可以大于阈值子读取计数5。
在该实施例中,第二处理器PROCESSOR_2可以将与超级存储器块SB3相对应的读取计数表条目的主读取计数CNT_MAIN增大第一值1,从80增大到81。另外,第二处理器PROCESSOR_2可以将与超级存储器块SB3相对应的读取计数表条目的八个子读取计数CNT_SUB中的所有子读取计数减小第二值1。
因此,以上示例性实施例已经描述了由第二处理器PROCESSOR_2更新部分读取计数表PRCT中所包括的读取计数表条目的操作。
在下文中,将描述由第二处理器PROCESSOR_2基于部分读取计数表PRCT确定是否向第一处理器PROCESSOR_1传输更新消息的示例性操作。
图8是图示了根据本公开的实施例的确定是否由第二处理器PROCESSOR_2向第一处理器PROCESSOR_1传输更新消息的示例性操作的流程图。
参照图8,第二处理器PROCESSOR_2可以监测部分读取计数表PRCT中所包括的第二读取计数表条目(S810)。
另外,第二处理器PROCESSOR_2可以确定部分读取计数表PRCT中所包括的第二读取计数表条目中是否存在其中部分读取计数表PRCT的主读取计数CNT_MAIN大于或等于阈值主读取计数的第二读取计数表条目(S820)。
当第二处理器PROCESSOR_2确定存在部分读取计数表PRCT的、其中主读取计数CNT_MAIN等于或大于阈值主读取计数的第二读取计数表条目时(S820-Y),第二处理器PROCESSOR_2可以将更新消息传输给第一处理器PROCESSOR_1(S830),并且第二处理器的操作可以被结束(End)。当第二处理器PROCESSOR_2确定不存在其中主读取计数CNT_MAIN等于或大于阈值主读取计数的第二读取计数表条目时(S820-N),第二处理器PROCESSOR_2不执行操作。图9是图示了当图8中描述的操作被执行时主读取计数表MRCT和部分读取计数表PRCT中的变化的图。
在图9中,部分读取计数表PRCT可以包括分别针对三个超级存储器块SB1、SB3和SBN的三个第二读取计数表条目(S910)。
在图9中,假设在对三个超级存储器块SB1、SB3和SBN的读取操作期间发生错误,并且针对超级存储器块SB1的第二读取计数表条目的主读取计数被更新为55,针对超级存储器块SB3的读取计数表条目的主读取计数被更新为90,并且针对超级存储器块SBN的读取计数表条目的主读取计数被更新为45(S920)。另外,假设阈值主读取计数为90。
在这种情况下,由于针对超级存储器块SB3的第二读取计数表条目的主读取计数等于或大于阈值主读取计数90,因此第二处理器PROCESSOR_2可以将更新消息传输给第一处理器PROCESSOR_1。另外,在接收到更新消息之后,第一处理器PROCESSOR_1可以基于部分读取计数表PRCT来更新主读取计数表MRCT(S930)。
具体地,由于部分读取计数表PRCT中的针对超级存储器块SB1的第二读取计数表条目的主读取计数已经从50被更新为55,因此主读取计数表MRCT中的针对超级存储器块SB1的第一读取计数表条目的主读取计数可以从50被更新为55。类似地,在主读取计数表MRCT中,针对超级存储器块SB3的第一读取计数表条目的主读取计数可以从80被更新为90,并且针对超级存储器块SBN的第一读取计数表条目的主读取计数可以从40被更新为45。
图10是图示了根据本公开的实施例的确定是否由第二处理器PROCESSOR_2向第一处理器PROCESSOR_1传输更新消息的操作的另一示例的流程图。
参照图10,第二处理器PROCESSOR_2可以监测部分读取计数表PRCT中所包括的第二读取计数表条目的数量(S1010)。部分读取计数表PRCT中所包括的第二读取计数表条目的数量可以是指在读取操作期间其中发生错误的超级存储器块的数量。
另外,第二处理器PROCESSOR_2可以确定部分读取计数表PRCT中所包括的第二读取计数表条目的数量是否等于或大于预定的条目阈值数量(S1020)。
如果部分读取计数表PRCT中所包括的读取计数表条目的数量大于或等于条目阈值数量(S1020-Y),则第二处理器PROCESSOR_2可以将更新消息传输给第一处理器PROCESSOR_1(S1030),并且第二处理器的操作可以被终止(End)。如果部分读取计数表PRCT中所包括的读取计数表条目的数量小于条目阈值数量(S1020-N),则第二处理器不操作(End)。
图11是图示了当图10中描述的操作被执行时主读取计数表MRCT和部分读取计数表PRCT中的变化的图。
在图11中,假设条目阈值数量为3。
在图11中,假设在对超级存储器块SB1的读取操作期间发生错误,并且针对错误的恢复操作被执行(S1110)。在这种情况下,可以将针对超级存储器块SB1的第二读取计数表条目新添加到部分读取计数表PRCT,并且部分读取计数表PRCT中所包括的第二读取计数表条目的数量为一。
接下来,假设在对超级存储器块SB3的读取操作期间发生错误,并且针对错误的恢复操作被执行。在这种情况下,可以将针对超级存储器块SB3的第二读取计数表条目新添加到部分读取计数表PRCT,并且部分读取计数表PRCT中所包括的读取计数表条目的数量为二(S1120)。
接下来,假设在对超级存储器块SBN的读取操作期间发生错误,并且针对错误的恢复操作已经被执行。此时,可以将针对超级存储器块SBN的第二读取计数表条目新添加到部分读取计数表PRCT,并且部分读取计数表PRCT中所包括的读取计数表条目的数量为三(S1130)。
在这种情况下,由于部分读取计数表PRCT中所包括的读取计数表条目的数量变得大于或等于条目阈值数量,因此第二处理器PROCESSOR_2可以将更新消息传输给第一处理器PROCESSOR_1。另外,在从第二处理器PROCESSOR_2接收更新消息之后,第一处理器PROCESSOR_1可以基于部分读取计数表PRCT来更新主读取计数表MRCT。
在一个实施例中,由于部分读取计数表PRCT中针对超级存储器块SB1的读取计数表条目的主读取计数已经从50被更新为55,因此主读取计数表MRCT中针对超级存储器块SB1的第一读取计数表条目的主读取计数可以从50被更新为55。类似地,在主读取计数表MRCT中,针对超级存储器块SB3的第一读取计数表条目的主读取计数可以从80被更新为85,并且针对超级存储器块SBN的第一读取计数表条目的主读取计数可以从40被更新为45(S1140)。
因此,以上示例性实施例已经描述了基于部分读取计数表PRCT执行更新主读取计数表MRCT的操作的条件。
在下文中,将描述当满足该条件时由存储器***100更新主读取计数表MRCT的示例性方法。
图12是图示了根据本公开的实施例的由存储器***100更新主读取计数表MRCT的示例性操作的流程图。
参照图12,存储器***100的第二处理器PROCESSOR_2可以将部分读取计数表PRCT复制到预定的目标存储器区域,以便更新主读取计数表MRCT(S1210)。
第二处理器PROCESSOR_2可以在将部分读取计数表PRCT复制到预设目标存储器区域之后将更新消息传输给第一处理器PROCESSOR_1(S1220)。即,第二处理器PROCESSOR_2可以在将更新消息传输给第一处理器PROCESSOR_1之前将部分读取计数表PRCT复制到预定的目标存储器区域。
在将更新消息传输给第一处理器PROCESSOR_1之后,第二处理器PROCESSOR_2可以执行其他操作,而无需参与更新主读取计数表MRCT或等待主读取计数表MRCT是否被更新。因此,可以最小化或消除在更新主读取计数表MRCT的过程中发生的性能下降。
另外,当从第二处理器PROCESSOR_2接收更新消息时,存储器***100的第一处理器PROCESSOR_1可以基于被复制到目标存储器区域的部分读取计数表PRCE来更新主读取计数表MRCT(S1230)。
图13是图示了根据本公开的实施例的由第二处理器PROCESSOR_2将部分读取计数表PRCE复制到目标存储器区域TGT_MEM_AREA的操作的图。
在图13中,将描述基于包括针对三个超级存储器块SB1、SB3和SBN的部分读取计数表条目的部分读取计数表PRCT来更新主读取计数表MRCT的情况。
第二处理器PROCESSOR_2可以在将更新消息传输给第一处理器PROCESSOR_1之前将部分读取计数表PRCT复制到目标存储器区域TGT_MEM_AREA。
在这种情况下,目标存储器区域TGT_MEM_AREA能够由第一处理器PROCESSOR_1和第二处理器PROCESSOR_2二者访问。例如,目标存储器区域TGT_MEM_AREA可以位于共享存储器中,不同的处理器可以在工作存储器125上同时或并发地访问该共享存储器。
图14是图示了根据本公开的实施例的由第一处理器PROCESSOR_1基于被复制到目标存储器区域TGT_MEM_AREA的部分读取计数表PRCT更新主读取计数表MRCT的操作的图。
参照图14,在从第二处理器PROCESSOR_2接收更新消息之后,第一处理器PROCESSOR_1可以访问被复制到目标存储器区域TGT_MEM_AREA的部分读取计数表PRCT,并且可以基于部分读取计数表PRCT来更新主读取计数表MRCT。
在一个实施例中,第一处理器PROCESSOR_1可以将主读取计数表MRCT中与超级存储器块SB1相对应的第一读取计数表条目的主读取计数更新为55。此外,第一处理器PROCESSOR_1可以将与超级存储器块SB3相对应的第一读取计数表条目的主读取计数更新为85,并且可以将主读取计数表MRCT中与超级存储器块SBN相对应的第一读取计数表条目的主读取计数更新为45。
在下文中,将更详细地描述第二处理器PROCESSOR_2向第一处理器PROCESSOR_1传输更新消息的时间点的示例。
图15是图示了根据本公开的实施例的确定第二处理器PROCESSOR_2向第一处理器PROCESSOR_1传输更新消息的时间点的示例性操作的流程图。
参照图15,第二处理器PROCESSOR_2可以将部分读取计数表PRCT复制到目标存储器区域TGT_MEM_AREA中,以供第一处理器PROCESSOR_1更新主读取计数表MRCT(S1510)。
然后,第二处理器PROCESSOR_2可以确定第一处理器PROCESSOR_1当前是否正在更新主读取计数表MRCT,而不是在步骤S1510完成之后立即将更新消息传输给第一处理器PROCESSOR_1(S1520)。
如果第一处理器PROCESSOR_1正在更新主读取计数表MRCT(S1520-Y),则第二处理器PROCESSOR_2可以等待直到第一处理器PROCESSOR_1更新主读取计数表MRCT的操作完成为止(S1530)。此后,第二处理器PROCESSOR_2可以再次确定第一处理器PROCESSOR_1当前是否正在更新主读取计数表MRCT(S1520)。
同时,如果第一处理器PROCESSOR_1没有正在更新主读取计数表MRCT(S1520-N),则第二处理器PROCESSOR_2可以将更新消息传输给第一处理器PROCESSOR_1(S1540),并且操作可以被终止(End)。
第二处理器PROCESSOR_2等待直到更新主读取计数表MRCT的操作完成为止的优点和益处是:在第一处理器PROCESSOR_1正在基于先前生成的部分读取计数表更新主读取计数表MRCT时,如果新的部分读取计数表中的变化被反映在主读取计数表MRCT中,则可能会存在先前生成的部分读取计数表中的变化可能未被正确反映在主读取计数表MRCT中的可能性。
尽管发生的可能性低,但是当第一处理器PROCESSOR_1与第二处理器PROCESSOR_2相比操作得非常慢时,可能会出现这种问题。因此,直到由第二处理器PROCESSOR_2对主读取计数表MRCT的更新操作完成之前,可以等待而不将更新消息传输给第一处理器PROCESSOR_1。
图16是图示了根据本公开的实施例的确定是否由第一处理器PROCESSOR_1执行读取回收操作的示例性操作的流程图。
参照图16,第一处理器PROCESSOR_1可以基于部分读取计数表PRCT更新主读取计数表MRCT(S1610)。
另外,第一处理器PROCESSOR_1可以确定在主读取计数表MRCT中所包括的读取计数表条目中是否存在其主读取计数等于或大于阈值读取计数的读取计数表条目(S1620)。
如果第一处理器确定主读取计数表MRCT中所包括的读取计数表条目中存在其主读取计数大于或等于阈值读取计数的读取计数表条目(S1620-Y),则第一处理器PROCESSOR_1可以对与对应的读取计数表条目相对应的超级存储器块执行读取回收操作(S1630),并且操作可以被终止(End)。如果第一处理器确定主读取计数表MRCT中所包括的读取计数表条目中存在其主读取计数小于阈值读取计数的读取计数表条目(S1620-N),则第一处理器不操作(End)。
图17是图示了根据本公开的实施例的存储器***100的操作方法的图。
参照图17,存储器***100的操作方法可以包括:当在读取被存储在多个超级存储器块中的任何一个超级存储器块中的数据的操作期间发生错误时,由存储器***100中所包括的第二处理器PROCESSOR_2更新部分读取计数表PRCT的步骤(S1710)。在这种情况下,部分读取计数表PRCT可以存储包括关于在针对错误的上述恢复操作期间执行的读取操作的计数的信息的读取计数表条目。
另外,存储器***100的操作方法可以包括:确定是否基于在步骤S1710中由第二处理器PROCESSOR_2更新的部分读取计数表PRCT来更新主读取计数表MRCT的步骤(S1720)。在这种情况下,主读取计数表MRCT可以包括针对多个超级存储器块中的每个超级存储器块的读取计数表条目,并且读取计数表条目可以包括关于针对对应的超级存储器块执行的读取操作的计数的信息。
存储器***100的操作方法可以包括:当基于部分读取计数表PRCT更新主读取计数表MRCT时,由第二处理器PROCESSOR_2向第一处理器PROCESSOR_1传输请求基于部分读取计数表PRCT更新主读取计数表MRCT的更新消息的步骤(S1730)。
在一个实施例中,针对多个超级存储器块中与对应的读取计数表条目相对应的第一超级存储器块,读取计数表条目可以包括:与整个第一超级存储器块相对应的主读取计数、以及与第一超级存储器块中所包括的多个子区域中的每个子区域相对应的多个子读取计数。
例如,在步骤S1710中,当多个子读取计数中的任何一个子读取计数等于或大于预设的阈值子读取计数时,第二处理器PROCESSOR_2可以将主读取计数增大第一值,并且将多个子读取计数中的全部子读取计数减小第二值,并且可以将读取计数中的全部读取计数减少第二值。
在步骤S1730中,作为示例,如果第二处理器确定部分读取计数表PRCT中所包括的读取计数表条目中存在其主读取计数等于或大于特定的阈值主读取计数的读取计数表条目,则第二处理器PROCESSOR_2可以将更新消息发送给第一处理器PROCESSOR_1。
在步骤S1730中,作为另一示例,如果部分读取计数表中所包括的第二读取计数表条目的数量等于或大于预设的条目阈值数量,则第二处理器PROCESSOR_2可以将更新消息传输给第一处理器PROCESSOR_1。
在一个实施例中,在步骤S1730中,第二处理器PROCESSOR_2可以在将更新消息传输给第一处理器PROCESSOR_1之前将部分读取计数表复制到特定的目标存储器区域。在这种情况下,目标存储器区域能够由第一处理器PROCESSOR_1和第二处理器PROCESSOR_2二者访问。另外,在接收到更新消息之后,第一处理器PROCESSOR_1可以基于被存储在目标存储器区域中的部分读取计数表PRCT来更新主读取计数表MRCT。
在步骤S1730中,如果第一处理器PROCESSOR_1正在更新主读取计数表,则在第一处理器PROCESSOR_1完成更新主读取计数表MRCT的操作之后,第二处理器PROCESSOR_2可以将更新消息传输给第一处理器。
在更新主读取计数表MRCT之后,当与多个超级存储器块中的第一超级存储器块相对应的读取计数表条目的主读取计数大于或等于阈值读取计数时,第一处理器PROCESSOR_1可以对第一超级存储器块执行读取回收操作。
在一些实施方式中,上述存储器控制器120的操作可以包括图1的控制器电路123,可以由控制电路123控制,并且可以以处理器124(包括第一处理器PROCESSOR_1和第二处理器PROCESSOR_2)执行(驱动)固件的这种方式被执行,在该固件中存储器控制器120的整体操作已被编程。
图18是图示了基于所公开技术的实施例的计算***1800的配置的图。
参照图18,基于所公开技术的实施例的计算***1800可以包括:电连接至***总线1860的存储器***100;被配置为控制计算***1800的整体操作的CPU 1810;被配置为存储与计算***1800的操作相关的数据和信息的RAM 1820;被配置为向用户提供用户环境的用户接口/用户体验(UI/UX)模块1830;被配置为以有线和/或无线的方式与外部设备通信的通信模块1840;被配置为管理计算***1800所使用的功率的功率管理模块1850。
计算***1800可以是个人计算机(PC),或者可以包括移动终端,诸如智能电话、平板计算机或各种电子设备。
计算***1800还可以包括用于供应操作电压的电池,并且还可以包括应用芯片集、图形相关模块、摄像头图像处理器和DRAM。对于本领域技术人员而言,其他元件将是显而易见的。
存储器***100不仅可以包括被配置为在诸如硬盘驱动器(HDD)的磁盘中存储数据的设备,还可以包括被配置为在非易失性存储器中存储数据的设备,非易失性存储器诸如是固态驱动器(SSD)、通用闪存设备或嵌入式MMC(eMMC)设备。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪存、相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)、铁电RAM(FRAM)等。另外,存储器***100可以被实施为各种类型的存储设备并且被安装在各种电子设备内部。
基于所公开技术的上述实施例,可以减小或最小化存储器***的操作延迟时间。另外,可以以减小或最小化在调用特定功能的过程中发生的开销的方式来实施所公开的技术。尽管已经出于说明性目的描述了所公开技术的各种实施例,但是本领域技术人员将了解:基于本公开中所描述和图示的内容,可以进行各种修改、添加和替换。
Claims (20)
1.一种存储器***,包括:
存储器设备,包括多个超级存储器块;以及
存储器控制器,用于与所述存储器设备通信并且控制所述存储器设备,所述存储器控制器包括第一处理器和第二处理器,
其中所述第一处理器管理包括多个第一读取计数表条目的主读取计数表,所述多个第一读取计数表条目中的每个第一读取计数表条目对应于所述多个超级存储器块中的一个超级存储器块,第一读取计数表条目包括关于在对应的超级存储器块上执行的第一读取操作的计数的信息,并且
当在读取被存储在所述多个超级存储器块中的一个超级存储器块中的数据的操作期间发生错误时,所述第二处理器管理包括多个第二读取计数表条目的部分读取计数表,第二读取计数表条目包括关于在针对所述错误的恢复操作期间执行的第二读取操作的计数的信息,并且当基于所述部分读取计数表更新所述主读取计数表时,所述第二处理器将更新消息传输给所述第一处理器。
2.根据权利要求1所述的存储器***,其中针对所述多个超级存储器块中与读取计数表条目相对应的第一超级存储器块,第二读取计数表条目包括:与所述第一超级存储器块相对应的主读取计数、以及与所述第一超级存储器块中所包括的多个子区域中的每个子区域相对应的多个子读取计数。
3.根据权利要求2所述的存储器***,其中当所述多个子读取计数中的任何一个子读取计数超过阈值子读取计数时,所述第二处理器将所述主读取计数增大第一值并且将所述多个子读取计数中的全部子读取计数减小第二值。
4.根据权利要求2所述的存储器***,其中当所述部分读取计数表中所包括的所述第二读取计数表条目中具有所述主读取计数的所述第二读取计数表条目等于或大于阈值主读取计数时,所述第二处理器将所述更新消息传输给所述第一处理器。
5.根据权利要求2所述的存储器***,其中当所述部分读取计数表中所包括的第二读取计数表条目的数量大于或等于条目阈值数量时,所述第二处理器将所述更新消息传输给所述第一处理器。
6.根据权利要求1所述的存储器***,其中在将所述更新消息传输给所述第一处理器之前,所述第二处理器将所述部分读取计数表复制到目标存储器区域,并且在接收到所述更新消息之后,所述第一处理器基于被存储在所述目标存储器区域中的所述部分读取计数表来更新所述主读取计数表。
7.根据权利要求6所述的存储器***,其中所述目标存储器区域能够由所述第一处理器和所述第二处理器二者访问。
8.根据权利要求6所述的存储器***,其中当所述第一处理器更新所述主读取计数表时,所述第二处理器在由所述第一处理器更新所述主读取计数表已经完成之后将所述更新消息传输给所述第一处理器。
9.根据权利要求1所述的存储器***,其中在基于所述部分读取计数表更新所述主读取计数表之后,当与所述多个超级存储器块中的第一超级存储器块相对应的读取计数表条目的主读取计数大于或等于阈值读取计数时,所述第一处理器执行对第一超级存储器块的读取回收操作。
10.一种存储器***的操作方法,所述存储器***包括多个超级存储器块、第一处理器和第二处理器,所述方法包括:
当在读取被存储在所述多个所述超级存储器块中的一个超级存储器块中的数据时发生错误时,由所述第二处理器更新存储多个第二读取计数表条目的部分读取计数表,每个第二读取计数表条目包括关于在针对所述错误的恢复操作期间执行的读取操作的计数的信息;
由所述第二处理器确定是否基于更新后的所述部分读取计数表来更新主读取计数表,所述主读取计数表包括多个第一读取计数表条目,所述多个第一读取计数表条目中的每个第一读取计数表条目对应于基于所述部分读取计数表的所述多个所述超级存储器块中的一个超级存储器块,第一读取计数表条目包括关于在对应的超级存储器块上执行的所述读取操作的计数的信息;以及
当确定所述主读取计数表要被更新时,由所述第二处理器将更新消息传输给所述第一处理器。
11.根据权利要求10所述的方法,其中针对所述多个超级存储器块中与所述读取计数表条目相对应的第一超级存储器块,第二读取计数表条目包括:与所述第一超级存储器块相对应的主读取计数、以及与所述第一超级存储器块中所包括的多个子区域中的每个子区域相对应的多个子读取计数。
12.根据权利要求11所述的方法,其中更新所述部分读取计数表包括:当所述多个子读取计数中的任何一个子读取计数超过阈值子读取计数时,将所述主读取计数增大第一值,并且将所述多个子读取计数中的全部子读取计数减小第二值。
13.根据权利要求11所述的方法,其中将所述更新消息传输给所述第一处理器包括:当所述部分读取计数表中所包括的所述读取计数表条目中具有所述主读取计数的所述第二读取计数表条目等于或大于阈值主读取计数时,将所述更新消息传输给所述第一处理器。
14.根据权利要求11所述的方法,其中将所述更新消息传输给所述第一处理器包括:当所述部分读取计数表中所包括的第二读取计数表条目的数量大于或等于条目阈值数量时,将所述更新消息传输给所述第一处理器。
15.根据权利要求10所述的方法,其中将所述更新消息传输给所述第一处理器包括:
在将所述更新消息传输给所述第一处理器之前,将所述部分读取计数表复制到目标存储器区域,以及
在接收到所述更新消息之后,由所述第一处理器基于被存储在所述目标存储器区域中的所述部分读取计数表来更新所述主读取计数表。
16.根据权利要求15所述的方法,其中所述目标存储器区域能够由所述第一处理器和所述第二处理器二者访问。
17.根据权利要求15所述的方法,其中将所述更新消息传输给所述第一处理器包括:当所述第一处理器更新所述主读取计数表时,在由所述第一处理器更新所述主读取计数表的操作已经完成之后,将所述更新消息传输给所述第一处理器。
18.根据权利要求10所述的方法,还包括:在基于所述部分读取计数表更新所述主读取计数表之后,当与所述多个超级存储器块中的第一超级存储器块相对应的读取计数表条目的主读取计数大于或等于阈值读取计数时,执行对第一超级存储器块的读取回收操作。
19.根据权利要求10所述的方法,还包括:
由所述第二处理器确定与所述多个超级存储器块中的第一超级存储器块相对应的读取计数表条目的主读取计数是否大于或等于阈值主读取计数;以及
当所述主读取计数大于或等于所述阈值主读取计数时,由所述第二处理器将所述更新消息传输给所述第一处理器。
20.根据权利要求10所述的方法,还包括:
由所述第二处理器确定所述部分读取计数表中的第二读取计数表条目的数量大于或等于条目阈值数量;以及
当第二计数表条目的所述数量大于或等于所述条目阈值数量时,由所述第二处理器将所述更新消息传输给所述第一处理器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2020-0132311 | 2020-10-14 | ||
KR1020200132311A KR20220049109A (ko) | 2020-10-14 | 2020-10-14 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114356208A true CN114356208A (zh) | 2022-04-15 |
Family
ID=81079035
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110472411.0A Withdrawn CN114356208A (zh) | 2020-10-14 | 2021-04-29 | 存储器***及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (2) | US11726878B2 (zh) |
KR (1) | KR20220049109A (zh) |
CN (1) | CN114356208A (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111161781A (zh) * | 2018-11-07 | 2020-05-15 | 爱思开海力士有限公司 | 用于处理编程错误的存储器***及其方法 |
US20240045754A1 (en) * | 2022-08-03 | 2024-02-08 | Micron Technology, Inc. | Classification-based error recovery with reinforcement learning |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102467075B1 (ko) * | 2017-11-13 | 2022-11-11 | 삼성전자주식회사 | 메모리 장치 및 그의 리클레임 방법 |
KR20190088184A (ko) | 2018-01-18 | 2019-07-26 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR20190102998A (ko) | 2018-02-27 | 2019-09-04 | 에스케이하이닉스 주식회사 | 컨트롤러, 데이터 저장 장치 및 그것의 동작 방법 |
JP7053399B2 (ja) * | 2018-07-31 | 2022-04-12 | キオクシア株式会社 | 情報処理システム |
-
2020
- 2020-10-14 KR KR1020200132311A patent/KR20220049109A/ko unknown
-
2021
- 2021-03-03 US US17/191,190 patent/US11726878B2/en active Active
- 2021-04-29 CN CN202110472411.0A patent/CN114356208A/zh not_active Withdrawn
-
2023
- 2023-06-28 US US18/343,113 patent/US20230333932A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220114054A1 (en) | 2022-04-14 |
KR20220049109A (ko) | 2022-04-21 |
US20230333932A1 (en) | 2023-10-19 |
US11726878B2 (en) | 2023-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230333932A1 (en) | Memory system and operating method thereof | |
CN114067870A (zh) | 存储器***、存储器装置以及用于操作存储器装置的方法 | |
CN114863962A (zh) | 存储器***及其操作方法 | |
US11561725B2 (en) | System and operating method thereof | |
CN113703662B (zh) | 存储器***、存储器控制器及其操作方法 | |
CN114664342A (zh) | Ufs装置及其操作方法 | |
CN113903384A (zh) | 存储器***、存储器控制器以及操作存储器***的方法 | |
CN113806254A (zh) | 存储器***、存储器控制器及存储器***的操作方法 | |
CN113936721A (zh) | 存储器***、存储器装置和操作存储器装置的方法 | |
CN114968856B (zh) | 存储器***及其操作方法 | |
CN115952115A (zh) | 基于融合链表控制同步操作的存储器控制器及其操作方法 | |
US12039190B2 (en) | Memory system and operating method of the memory system for calibrating a history read bias based on a number of error bits generated in a read operation | |
CN115963981A (zh) | 存储器***及存储器***的操作方法 | |
CN116136738A (zh) | 使用外部装置执行后台操作的存储器***及其操作方法 | |
US20210382655A1 (en) | Memory device, memory system, and operation method of memory device | |
CN115206393A (zh) | 存储器装置及存储器装置的操作方法 | |
CN114090473A (zh) | 存储器***、存储器控制器及操作存储器***的方法 | |
CN114520013A (zh) | 存储器***及其操作方法 | |
CN114530173A (zh) | 存储器***及其操作方法 | |
US11404137B1 (en) | Memory system and operating method of memory system | |
CN114296631B (zh) | 存储器***及其操作方法 | |
US11636007B2 (en) | Memory system and operating method thereof for flushing data in data cache with parity | |
US20230376211A1 (en) | Controller for controlling one-time programmable memory, system, and operation method thereof | |
CN115223635A (zh) | 存储器***及存储器***的操作方法 | |
CN115437968A (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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20220415 |