CN116301569A - 存储器系统及其操作方法 - Google Patents
存储器系统及其操作方法 Download PDFInfo
- Publication number
- CN116301569A CN116301569A CN202210718446.2A CN202210718446A CN116301569A CN 116301569 A CN116301569 A CN 116301569A CN 202210718446 A CN202210718446 A CN 202210718446A CN 116301569 A CN116301569 A CN 116301569A
- Authority
- CN
- China
- Prior art keywords
- memory block
- super
- super memory
- memory
- valid data
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 613
- 238000000034 method Methods 0.000 title claims abstract description 33
- 238000012544 monitoring process Methods 0.000 claims description 3
- 238000012937 correction Methods 0.000 description 18
- 238000001514 detection method Methods 0.000 description 15
- 239000000872 buffer Substances 0.000 description 14
- 238000005516 engineering process Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 12
- 239000010410 layer Substances 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 238000013507 mapping Methods 0.000 description 7
- 238000007667 floating Methods 0.000 description 6
- 230000003936 working memory Effects 0.000 description 6
- 239000000470 constituent Substances 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000011017 operating method Methods 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009897 systematic effect Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 239000011810 insulating material Substances 0.000 description 1
- 239000012212 insulator Substances 0.000 description 1
- 239000002346 layers by function Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3296—Power saving characterised by the action undertaken by lowering the supply or operating voltage
-
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- 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
- G06F3/0614—Improving the reliability of storage systems
-
- 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
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- 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/0653—Monitoring storage devices or systems
-
- 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/0658—Controller construction arrangements
-
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7205—Cleaning, compaction, garbage collection, erase control
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本公开的实施例涉及一种存储器系统及其操作方法。根据本公开的实施例,该存储器系统可以包括:i)存储器装置,包括各自包括多个页面的多个存储块,以及ii)存储器控制器,被配置为监控对多个超级存储块之中的第一超级存储块的编程操作,并且当确定在从预设参考时间点开始的预设时间段内尚未执行对第一超级存储块的编程操作时,基于第一超级存储块的状态对第一超级存储块执行目标操作,其中多个超级存储块中的每个超级存储块包括多个存储块中的至少一个存储块。
Description
相关申请的交叉引用
本申请要求于2021年12月21日提交的、申请号为10-2021-0183929的韩国专利申请的优先权,该韩国专利申请通过引用整体并入本文。
技术领域
本公开的实施例涉及一种基于超级存储块的编程状态执行目标操作的存储器系统及其操作方法。
背景技术
存储器系统包括基于来自诸如计算机、服务器、智能电话、平板PC或其他电子装置的主机的请求而存储数据的数据存储装置。存储器系统的示例涵盖从传统的基于磁盘的硬盘驱动器(HDD)到诸如固态驱动器(SSD)、通用闪存装置(UFS)或嵌入式MMC(eMMC)装置的基于半导体的数据存储装置。
存储器系统可以进一步包括用于控制存储器装置的存储器控制器。存储器控制器可以从主机接收命令,并且可以基于接收到的命令来执行该命令或控制对存储器系统中的存储器装置的读取操作/写入操作/擦除操作。存储器控制器可以用于运行固件操作以执行用于控制这些操作的逻辑操作。
存储器系统可以将数据写入存储器装置中包括的存储块。在这种情况下,写入数据的存储块可以包括可以写入新数据的一个或多个擦除页面。
发明内容
本公开的实施例可以提供一种能够防止存储块长时间保持时存储块中存储的数据的可靠性下降的存储器系统及其操作方法。
一方面,本公开的实施例可以提供一种存储器系统,该存储器系统包括i)存储器装置,包括各自包括多个页面的多个存储块,以及ii)存储器控制器,被配置为监控对多个超级存储块之中的第一超级存储块的编程操作,并且当确定在从预设参考时间点开始的预设时间段内尚未执行对第一超级存储块的编程操作时,基于第一超级存储块的状态对第一超级存储块执行目标操作,其中多个超级存储块中的每个超级存储块包括多个存储块中的至少一个存储块。
另一方面,本公开的实施例可以提供一种存储器系统的操作方法,该操作方法可以包括i)监控对多个超级存储块之中的第一超级存储块的编程操作,其中多个超级存储块中的每个超级存储块包括多个存储块中的至少一个存储块,多个存储块中的每个存储块包括多个页面,ii)确定在从预设参考时间点开始的预设时间段内是否执行针对第一超级存储块的编程操作,并且iii)当确定在从预设参考时间点开始的预设时间段内尚未执行对第一超级存储块的编程操作时,基于第一超级存储块的状态对第一超级存储块执行目标操作。
在这种情况下,目标操作是i)将多个超级存储块之中的第二超级存储块中存储的预设大小的有效数据单元迁移到第一超级存储块的操作,ii)将第二超级存储块中存储的所有或部分有效数据迁移到第一超级存储块中包括的所有擦除页面的操作,或iii)将第一超级存储块中存储的所有有效数据迁移到第二超级存储块的操作。
根据本公开的实施例,可以防止存储块长时间保持时存储块中存储的数据的可靠性下降。
附图说明
图1是示出基于所公开技术的实施例的存储器系统的配置的示意图。
图2是示意性地示出基于所公开技术的实施例的存储器装置的框图。
图3是示出基于所公开技术的实施例的存储器装置的字线和位线的结构的示图。
图4示出根据本公开的实施例的存储器系统的示意性结构。
图5示出根据本公开的实施例的存储器系统的操作的示例。
图6示出根据本公开的实施例的存储器系统执行目标操作的示例。
图7示出根据本公开的实施例的存储器系统执行目标操作的另一示例。
图8示出根据本公开的实施例的存储器系统执行目标操作的另一示例。
图9示出根据本公开的实施例的存储器系统用于确定是否执行目标操作的参考时间点的示例。
图10示出根据本公开的实施例的存储器系统确定目标操作的流程图。
图11示出根据本公开的实施例的存储器系统确定有效数据单元的大小的示例。
图12示出根据本公开的实施例的存储器系统将数据单元编程到第一超级存储块中的位置的示例。
图13示出根据本公开的实施例的存储器系统基于第一超级存储块确定目标操作的示例。
图14示出根据本公开的实施例的存储器系统的操作方法。
图15是示出基于所公开技术的一些实施例的计算系统的配置的示图。
具体实施方式
在下文中,参照附图详细描述本公开的实施例。在整个说明书中,对“实施例”、“另一实施例”等的引用不一定仅针对一个实施例,并且对任何这种短语的不同引用不一定针对相同的实施例。术语“实施例”在本文中使用时不一定指所有实施例。
下面参照附图更详细地描述本发明的各个实施例。然而,本发明可以以不同的形式和变型实现,并且不应被解释为限于本文中阐述的实施例。相反,提供所描述的实施例使得本公开将是透彻和完整的,并且将本发明充分传达给本发明所属领域的技术人员。在整个本公开中,相同的附图标记在本发明的各个附图和实施例中始终指代相同的部分。
本文中描述的方法、过程和/或操作可以由代码或指令执行,该代码或指令待由计算机、处理器、控制器或其他信号处理装置运行。计算机、处理器、控制器或其他信号处理装置可以是本文中描述的计算机、处理器、控制器或其他信号处理装置或者是除本文中描述的元件之外的元件。因为详细描述了形成计算机、处理器、控制器或其他信号处理装置的方法或操作的基础的算法,所以用于实施方法实施例的操作的代码或指令可以将计算机、处理器、控制器或其他信号处理装置转换为用于执行本文中的方法的专用处理器。
当至少部分地以软件来实施时,控制器、处理器、装置、模块、单元、复用器、生成器、逻辑电路、接口、解码器、驱动器、发生器以及其他信号生成和信号处理特征可以包括,例如存储器或其他存储装置,以用于存储,例如待由计算机、处理器、微处理器、控制器或其他信号处理装置执行的代码或指令。
图1是示出基于所公开技术的实施例的存储器系统100的示意性配置的示图。
在一些实施方案中,存储器系统100可以包括被配置为存储数据的存储器装置110以及被配置为控制存储器装置110的存储器控制器120。
存储器装置110可以包括多个存储块,每个存储块包括用于存储数据的多个存储器单元。存储器装置110可以被配置为响应于从存储器控制器120接收的控制信号而操作。例如,存储器装置110的操作可以包括读取操作、也称为“写入操作”的编程操作、擦除操作等。
存储器装置110中的存储器单元用于存储数据并且可以布置在存储器单元阵列中。存储器单元阵列可以被划分为存储器单元的存储块并且每个块包括存储器单元的不同页面。在NAND闪速存储器装置的典型实施方案中,存储器单元的页面是可以被编程或写入的最小存储器单位,并且可以以块为单位擦除存储器单元中存储的数据。
在一些实施方案中,存储器装置110可以被实施诸如以下的各种类型:双倍数据速率同步动态随机存取存储器(DDR SDRAM)、第四代低功率双倍数据速率(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SDRAM、低功率DDR(LPDDR)、Rambus动态随机存取存储器(RDRAM)、NAND闪速存储器、垂直NAND闪速存储器、NOR闪速存储器、电阻式随机存取存储器(RRAM)、相变随机存取存储器(PRAM)、磁阻式随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)或自旋转移力矩随机存取存储器(STT-RAM)。
存储器装置110可以被实施为三维阵列结构。所公开技术的一些实施例可以应用于具有电荷存储层的任何类型的闪速存储器装置。在实施方案中,电荷存储层可以由导电材料形成,并且这样的电荷存储层可以称为浮置栅极。在另一实施方案中,电荷存储层可以由绝缘材料形成,并且这样的闪速存储器装置可以称为电荷撷取闪存(CTF)。
存储器装置110可以被配置为从存储器控制器120接收命令和地址以访问存储器单元阵列的、使用该地址选择的区域。也就是说,存储器装置110可以对存储器装置的存储器区域执行与接收到的命令相对应的操作,存储器装置的存储器区域具有与从存储器控制器120接收的地址相对应的物理地址。
在一些实施方案中,存储器装置110可以执行编程操作、读取操作、擦除操作等。在编程操作期间,存储器装置110可以将数据写入由地址选择的区域中。在读取操作期间,存储器装置110可以从由地址选择的存储器区域读取数据。在擦除操作期间,存储器装置110可以擦除由地址选择的存储器区域中存储的数据。
存储器控制器120可以控制对存储器装置110执行的写入(编程)操作、读取操作、擦除操作以及后台操作。例如,后台操作可以包括为优化存储器装置110的整体性能而实施的操作,诸如垃圾收集(GC)操作、损耗均衡(WL)操作和坏块管理(BBM)操作。
存储器控制器120可以应主机的请求控制存储器装置110的操作。可选地,当存储器控制器120执行存储器装置的这些后台操作时,即使没有来自主机的请求,存储器控制器120也可以控制存储器装置110的操作。
存储器控制器120和主机可以是分开的装置。在一些实施方案中,可以将存储器控制器120和主机集成并且实施为单个装置。在下列描述中,作为示例,存储器控制器120和主机将作为分开的装置来讨论。
参照图1,存储器控制器120可以包括存储器接口(存储器I/F)122、控制电路123和主机接口(主机I/F)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的整体操作并且为了执行逻辑操作,可以执行(驱动)在启动期间加载到工作存储器125中的固件。
固件是指某一非易失性存储器上存储的并且在存储器系统100内部运行的程序或软件。
在一些实施方案中,固件可以包括各种功能层。例如,固件可以包括被配置为将主机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还可以包括用于在存储器控制器120的组成元件121、122、124、125和126之间提供通道的总线127。例如,总线127可以包括用于传递各种类型的控制信号和命令的控制总线和用于传递各种类型的数据的数据总线。
通过示例的方式,图1示出存储器控制器120的上述构成元件121、122、124、125和126。注意,可以省略图中示出的一些,或者存储器控制器120的上述构成元件121、122、124、125和126中的一些可以集成到单个元件中。另外,在一些实施方案中,可以将一个或多个其他构成元件添加到存储器控制器120的上述构成元件。
图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中包括的多个存储器单元中的每一个可以存储至少一位数据。例如,存储器单元阵列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可以向选择的存储块内的选择的字线WL施加读取电压Vread并且向其余的未选择的字线WL施加通过电压Vpass。
在编程验证操作期间,地址解码器220可以向选择的存储块内的选择的字线WL施加电压生成电路250生成的验证电压,并且可以向其余的未选择的字线WL施加通过电压Vpass。
地址解码器220可以被配置为对接收到的地址之中的列地址进行解码。地址解码器220可以将经解码的列地址传输到读取/写入电路230。
存储器装置110可以逐个页面地执行读取操作和编程操作。在请求读取操作和编程操作时接收到的地址可以包括块地址、行地址和列地址中的至少一个。
地址解码器220可以基于块地址和行地址来选择一个存储块和一条字线。列地址可以由地址解码器220进行解码并且被提供给读取/写入电路230。
地址解码器220可以包括块解码器、行解码器、列解码器和地址缓冲器中的至少一个。
读取/写入电路230可以包括多个页面缓冲器PB。读取/写入电路230在存储器单元阵列210执行读取操作时可以作为“读取电路”操作,而在存储器单元阵列210执行写入操作时可以作为“写入电路”操作。
上述读取/写入电路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中执行读取操作。电压生成电路250可以响应于从控制逻辑240输出的电压生成电路控制信号,生成在读取操作期间使用的读取电压Vread和通过电压Vpass。
存储器装置110中包括的存储块BLK可以包括多个页面PG。在一些实施方案中,按列布置的多个存储器单元形成存储器单元串,而按行布置的多个存储器单元形成存储块。多个页面PG中的每一个联接到字线WL中的一条,而存储器单元串STR中的每一个联接到位线BL中的一条。
在存储块BLK中,多条字线WL和多条位线BL可以按行和列布置。例如,多条字线WL中的每一条可以沿行方向布置,而多条位线BL中的每一条可以沿列方向布置。再例如,多条字线WL中的每一条可以沿列方向布置,而多条位线BL中的每一条可以沿行方向布置。
在一些实施方案中,多条字线WL和多条位线BL可以相互交叉,从而在多个存储器单元MC的阵列中寻址单个存储器单元。在一些实施方案中,每个存储器单元MC可以包括晶体管TR,该晶体管TR包括可以保持电荷的材料层。
例如,布置在每个存储器单元MC中的晶体管TR可以包括漏极、源极和栅极。晶体管TR的漏极(或源极)可以直接或经由另一晶体管TR连接到相应的位线BL。晶体管TR的源极(或漏极)可以直接或经由另一晶体管TR连接到源极线(源极线可以是地)。晶体管TR的栅极可以包括由绝缘体围绕的浮置栅极(FG)以及从字线WL施加栅极电压的控制栅极(CG)。
在多个存储块BLK1-BLKz中的每一个中,也称为源极选择线或漏极选择线的第一选择线可以额外地布置在两条最外侧字线之中更接近读取/写入电路230的第一最外侧字线的外侧,并且也称为漏极选择线或源极选择线的第二选择线可以额外地布置在另一第二最外侧字线的外侧。
在一些实施方案中,可以在第一最外侧字线与第一选择线之间额外地布置至少一条虚设字线。另外,可以在第二最外侧字线和第二选择线之间额外地布置至少一条虚设字线。
可以逐个页面地执行存储块的读取操作和编程操作(写入操作),并且可以逐个存储块地执行擦除操作。
图3是示出基于所公开的技术的实施例的存储器装置110的字线WL和位线BL的结构的示图。
参照图3,存储器装置110具有其中布置存储器单元MC的核心区域以及作为除了核心区域之外的剩余区域的辅助区域,并且包括用于执行存储器单元阵列210的操作的电路。
在核心区域中,沿一个方向布置的一定数量的存储器单元可以称为“页面”PG,而串联联接的一定数量的存储器单元可以称为“存储器单元串”STR。
字线WL1-WL9可以连接到行解码器310。位线BL可以连接到列解码器320。对应于图2的读取/写入电路230的数据寄存器330可以存在于多条位线BL与列解码器320之间。
多条字线WL1-WL9可以对应于多个页面PG。
例如,多条字线WL1-WL9中的每一条可以对应于如图3所示的一个页面PG。当多条字线WL1-WL9中的每一条具有较大的大小时,多条字线WL1-WL9中的每一条可以对应于至少两个页面PG,例如两个或四个页面PG。每个页面PG是编程操作和读取操作中的最小单位,并且同一页面PG内的所有存储器单元MC可以在进行编程操作和读取操作时执行同步操作。
多条位线BL可以连接到列解码器320。在一些实施方案中,多条位线BL可以被划分为奇数位线BL和偶数位线BL,使得一对奇数位线BL和偶数位线BL共同联接到列解码器320。
在访问存储器单元MC时,行解码器310和列解码器320用于基于地址来定位期望的存储器单元。
在一些实施方案中,由于存储器装置110的所有数据处理,包括编程操作和读取操作,都经由数据寄存器330发生,因此数据寄存器330起着重要作用。如果数据寄存器330的数据处理延迟,则所有其他区域都需要等待直到数据寄存器330完成数据处理为止,这降低了存储器装置110的整体性能。
参照图3所示的示例,在一个存储器单元串STR中,多个晶体管TR1-TR9可以分别连接到多条字线WL1-WL9。在一些实施方案中,多个晶体管TR1-TR9对应于存储器单元MC。在本示例中,多个晶体管TR1-TR9包括控制栅极CG和浮置栅极FG。
多条字线WL1-WL9包括两条最外侧字线WL1和WL9。第一选择线DSL可以额外地布置在第一最外侧字线WL1的外侧,第一最外侧字线WL1与另一最外侧字线WL9相比更靠近数据寄存器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向第一选择晶体管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的示意性结构。
参照图4,存储器系统100可以包括存储器装置110和存储器控制器120。
在图4中,存储器装置110可以包括多个存储块BLK。在这种情况下,多个存储块BLK中的每一个可以包括多个页面PG。
另外,存储器控制器120可以将存储器装置110中包括的多个存储块BLK分组为多个超级存储块SBLK。在这种情况下,超级存储块SBLK中的每一个可以包括存储器装置110中包括的多个存储块BLK中的一个或多个。
此外,存储器装置110可以包括多个存储器管芯(未示出),并且多个存储器管芯(未示出)中的每一个可以包括多个平面(未示出)。在这种情况下,同一超级存储块SBLK中包括的存储块BLK可以位于不同的存储管芯上或位于同一存储器管芯的不同平面上。
图5示出根据本公开的实施例的存储器系统100的操作的示例。
参照图5,存储器系统100的存储器控制器120可以监控对多个超级存储块SBLK之中的第一超级存储块SBLK_1的编程操作(S510)。
在这种情况下,第一超级存储块SBLK_1可以是包括一个或多个擦除页面的开放超级存储块。可以将数据编程(写入)到第一超级存储块SBLK_1中包括的擦除页面中。擦除页面也可以被称为空页面、空闲页面或可用页面。
存储器控制器120可以确定在从预设参考时间点开始的预设时间段内已经对第一超级存储块SBLK_1执行了编程操作(S520)。
例如,前述时间段可以是预定值或由存储器系统100的外部装置(例如,主机HOST)指定的值。前述时间段的长度可以根据存储器装置110的磨损状态而改变。也可以根据第一超级存储块SBLK_1中包括的存储块中包括的存储器单元的模式(例如,SLC模式、MLC模式、TLC模式、QLC模式)而改变。
例如,存储器控制器120可以通过以预设间隔检查第一超级存储块SBLK_1中最后编程数据的页面的位置,来确定是否对第一超级存储块SBLK_1执行了编程操作。
如果第一超级存储块SBLK_1中的最后编程数据的页面的位置改变,则存储器控制器120可以确定已经对第一超级存储块SBLK_1执行了编程操作。
另一方面,如果第一超级存储块SBLK_1中的最后编程数据的页面的位置没改变,则存储器控制器120可以确定尚未对第一超级存储块SBLK_1执行编程操作。
当确定在从预设参考时间点开始的预设时间段内尚未对第一超级存储块SBLK_1执行编程操作(S520-否)时,存储器控制器120可以检查第一超级存储块SBLK_1的状态(S530)。
例如,第一超级存储块SBLK_1的状态可以是第一超级存储块SBLK_1中存储的数据的状态(例如,数据的大小、数据的属性)或者第一超级存储块SBLK_1中包括的存储块BLK和页面PG的状态(例如,擦除页面的数量、存储有效数据的页面的数量)。
再例如,第一超级存储块SBLK_1的状态可以是将数据编程在第一超级存储块SBLK_1中的模式,例如顺序编程模式。
存储器控制器120可以基于在操作S530中检查的第一超级存储块SBLK_1的状态,对第一超级存储块SBLK_1执行目标操作(S540)。
在本公开的实施例中,存储器控制器120可以通过对第一超级存储块SBLK_1执行目标操作,来防止由于在从预设参考时间点开始的预设时间段内尚未针对第一超级存储块SBLK_1执行编程操作而导致第一超级存储块SBLK_1中存储的数据的可靠性下降的问题。
随着保持开放状态,即保持不将数据编程在第一超级存储块SBLK_1中包括的一些页面PG中的状态的时间增加,第一超级存储块SBLK_1中存储的数据的可靠性出现问题的可能性较大。
通常,使用将第一超级存储块SBLK_1改变为封闭状态的方法来解决上述问题。当第一超级存储块SBLK_1变为封闭状态时,第一超级存储块SBLK_1中仅存在存储有效数据或无效数据的页面并且第一超级存储块SBLK_1中不存在擦除页面。
然而,存在存储器系统100不能任意将第一超级存储块SBLK_1改变为封闭状态的情况。例如,当设置待编程在第一超级存储块SBLK_1中的数据的总大小并且设置新数据待编程在第一超级存储块SBLK_1中的位置时,如果存储器系统100任意将第一超级存储块SBLK_1改变为封闭状态,则第一超级存储块SBLK_1的性能可能会降低。
另外,由于存储器系统100需要执行额外的操作来防止在第一超级存储块SBLK_1改变为封闭状态时出现的问题,因此存储器系统100维护和管理超级存储块SBLK的操作的复杂性可能会增加。
因此,在本公开的实施例中,存储器控制器120可以根据第一超级存储块SBLK_1的状态,执行适当的目标操作。通过这样,存储器控制器120可以防止性能降低和维护的复杂度增加以及第一超级存储块SBLK_1中存储的数据的可靠性下降的问题。
在操作S540中执行目标操作之后,存储器控制器120可以将来自存储器系统100外部(例如,主机HOST)的请求写入的数据额外编程到第一超级存储块SBLK_1中包括的擦除页面中。
另一方面,当确定在从预设参考时间点开始的预设时间段内已经对第一超级存储块SBLK_1执行编程操作(S520-是)时,存储器控制器120可以不针对第一超级存储块SBLK_1执行目标操作(S550)。
在下文中,将参照图6至图8描述上述目标操作的具体实施例。
图6示出根据本公开的实施例的存储器系统执行目标操作的示例。
参照图6,例如,目标操作可以是将多个超级存储块SBLK之中的第二超级存储块SBLK_2中存储的预设大小的有效数据单元DU迁移到第一超级存储块SBLK_1中的操作。
有效数据单元DU中包括的数据可以是有效数据。也就是说,不会将无效数据从第二超级存储块SBLK_2迁移到第一超级存储块SBLK_1。
例如,有效数据单元DU的大小可以是第二超级存储块SBLK_2中包括的页面PG的大小的倍数。
在图6中,作为示例示出将有效数据单元DU分配并且存储在第二超级存储块SBLK_2中包括的所有存储块BLK中的情况。然而,在本公开的实施例中,不一定分配和存储有效数据单元DU。有效数据单元DU可以以分布式方式存储在第二超级存储块SBLK_2中包括的存储块BLK中的仅一部分中或者存储在第二超级存储块SBLK_2中包括的存储块BLK中的仅一个中。
存储器控制器120可以执行目标操作以将多个超级存储块SBLK之中的第二超级存储块SBLK_2中存储的预设大小的有效数据单元DU迁移到第一超级存储块SBLK_1。通过这样,可以防止第一超级存储块SBLK_1中最后编程数据的页面中存储的数据的可靠性问题。
而且,存储器控制器120可以通过将第二超级存储块SBLK_2中存储的有效数据单元DU迁移到第一超级存储块SBLK_1而不是将虚设数据编程在第一超级存储块SBLK_1中,来防止消耗第一超级存储块SBLK_1中包括的一些页面PG来存储虚设数据的问题。
图7示出根据本公开的实施例的存储器系统执行目标操作的另一示例。
参照图7,再例如,目标操作可以是将第二超级存储块SBLK_2中存储的全部或部分有效数据迁移到第一超级存储块SBLK_1中包括的所有擦除页面的操作。
参照图7,可以将第二超级存储块SBLK_2中包括的页面PG中的一个中存储的有效数据迁移到第一超级存储块SBLK_1中包括的擦除页面中的一个。在这种情况下,可以将第一超级存储块SBLK_1中包括的擦除页面转换为有效页面,并且可以将第二超级存储块SBLK_2中包括的有效页面转换为无效页面。
存储器控制器120可以执行目标操作以将第二超级存储块SBLK_2中存储的全部或部分有效数据迁移到第一超级存储块SBLK_1中包括的所有擦除页面。
在这种情况下,第一超级存储块SBLK_1处于不再存在擦除页面的封闭状态。因此,不存在第一超级存储块SBLK_1中存储的数据的可靠性由于第一超级存储块SBLK_1保持开放而下降的问题。
为了将有效数据写入第一超级存储块SBLK_1中包括的所有擦除页面,第二超级存储块SBLK_2中包括的有效数据的大小大于或等于第一超级存储块SBLK_1中包括的所有擦除页面的大小之和。
图8示出根据本公开的实施例的存储器系统100执行目标操作的另一示例。
参照图8,再例如,目标操作可以是将第一超级存储块SBLK_1中存储的所有有效数据迁移到第二超级存储块SBLK_2的操作。
在图8中,可以将第一超级存储块SBLK_1中包括的页面中存储的有效数据迁移到第二超级存储块SBLK_2中包括的擦除页面。在这种情况下,第一超级存储块SBLK_1中包括的存储有效数据的页面变成存储无效数据的页面,并且第二超级存储块SBLK_2中包括的擦除页面变成存储有效数据的页面。
当执行参照图8描述的目标操作时,第一超级存储块SBLK_1进入不再存储有效数据的状态。因此,存储器控制器120不需要保持第一超级存储块SBLK_1中存储的数据的可靠性。另外,存储器控制器120可以通过擦除第一超级存储块SBLK_1来额外地确保用于存储数据的空间。
图9示出根据本公开的实施例的存储器系统100用于确定是否执行目标操作的参考时间点的示例。
在图9中,存储器系统100的存储器控制器120可以将参考时间点RP设置为1)存储器系统100进入空闲状态的时间点或2)存储器系统进入低功率模式的时间点。
例如,空闲状态可以指不执行从存储器装置110读取数据的操作、将数据写入存储器装置110的操作以及擦除存储器装置110中包括的存储块BLK的操作的状态。
例如,低功率模式可以指存储器系统100以消耗低于预设阈值功率的功率操作的状态。在低功率模式下,可以停用存储器系统100的一些功能。低功率模式可以称为睡眠模式或省电模式。
当在从参考时间点RP开始的时间段TP内针对第一超级存储块SBLK_1执行了编程操作时,存储器控制器120不对第一超级存储块SBLK_1执行目标操作(A)。
当在从参考时间点RP开始的时间段TP内未针对第一超级存储块SBLK_1执行编程操作时,存储器控制器120可以基于第一超级存储块SBLK_1的状态对第一超级存储块SBLK_1执行目标操作(B)。
图10示出根据本公开的实施例的存储器系统100确定目标操作的流程图。
参照图10,存储器系统100的存储器控制器120可以对第一超级存储块中包括的擦除页面的数量进行计数(S1010)。
存储器控制器120确定在操作S1010中计数的擦除页面的数量是否等于或大于设定的阈值页面数量(S1020)。
当计数的擦除页面的数量大于或等于阈值页面数量(S1020-是)时,存储器控制器120可以将目标操作确定为将第二超级存储块SBLK_2中的有效数据单元DU迁移到第一超级存储块SBLK_1的操作(S1030)。
另一方面,当计数的擦除页面的数量小于页面阈值数量(S1020-N)时,存储器控制器120可以将目标操作确定为将第二超级存储块SBLK_2中存储的全部或部分有效数据迁移到第一超级存储块SBLK_1中包括的所有擦除页面的操作(S1040)。
图11示出根据本公开的实施例的存储器系统100确定有效数据单元DU的大小的示例。
参照图11,存储器系统100的存储器控制器120可以确定有效数据单元DU的大小与第一超级存储块SBLK_1的大小成比例。在这种情况下,第一超级存储块SBLK_1的大小是指可以存储在第一超级存储块SBLK_1中的数据的大小,即存储容量。
可以基于第一超级存储块SBLK_1中包括的存储块BLK的数量,确定第一超级存储块SBLK_1的大小。
例如,存储器装置110包括4个存储器管芯(未示出)并且4个存储器管芯(未示出)中的每一个包括4个平面(未示出)。在这种情况下,第一超级存储块SBLK_1可以包括16(=4*4)个存储块BLK。第一超级存储块SBLK_1的大小可以是存储块BLK的大小的16倍。
再例如,存储器装置110包括8个存储器管芯(未示出)并且8个存储器管芯(未示出)中的每一个包括4个平面(未示出)。在这种情况下,第一超级存储块SBLK_1可以包括32(=8*4)个存储块BLK。第一超级存储块SBLK_1的大小可以是存储块BLK的大小的32倍,并且有效数据单元DU的大小可以是当第一超级存储块SBLK_1包括16个存储块时有效数据单元的大小的两倍。
当从第二超级存储块SBLK_2读取有效数据单元DU时,存储器控制器120可以以交错方式对其进行读取。
当存储器控制器120以交错方式从第二超级存储块SBLK_2读取有效数据单元DU时,这表示存储器控制器120并行读取第二超级存储块SBLK_1中包括的存储块BLK中分配和存储的有效数据单元DU中的部分。
例如,当第一超级存储块SBLK_1包括16个存储块BLK时,有效数据单元DU的大小是页面PG大小的16倍,并且有效数据单元DU中的部分(各自具有1个页面的大小)可以存储在16个存储块BLK中的每一个中。存储器控制器120可以通过从16个存储块BLK并行读取有效数据单元DU中的部分,更快地读取有效数据单元DU。
图12示出根据本公开的实施例的存储器系统100将有效数据单元DU编程到第一超级存储块SBLK_1中的位置的示例。
参照图12,存储器系统100的存储器控制器120可以从与第一超级存储块SBLK_1中最后编程数据的位置相邻的位置开始对有效数据单元DU进行编程。
也就是说,存储器控制器120可以从与第一超级存储块SBLK_1中最后编程数据的位置相邻的位置开始对有效数据单元DU进行编程,使得与第一超级存储块SBLK_1中最后编程数据的位置相邻的位置处不存在擦除页面。
图13示出根据本公开的实施例的存储器系统100基于第一超级存储块SBLK_1来确定目标操作的示例。
参照图13,当第一超级存储块SBLK_1是顺序地编程数据的超级存储块时,存储器控制器120可以将目标操作确定为将第一超级存储块SBLK_1中存储的所有有效数据迁移到第二超级存储块SBLK_2的操作。在这种情况下,可以确定目标操作而不考虑第一超级存储块SBLK_1中包括的擦除页面的数量。
当第一超级存储块SBLK_1是顺序地编程数据的超级存储块时,这表示数据根据逻辑地址的特定顺序(例如,逻辑地址的升序或降序)被编程在第一超级存储块SBLK_1中。在这种情况下,禁止将数据随机地编程在第一超级存储块SBLK_1中的操作。
如果数据被顺序地编程在第一超级存储块SBLK_1中,则与第一超级存储块SBLK_1中存储的数据相对应的逻辑地址可以包括在连续的逻辑地址段中。
此外,如果分区命名空间(ZNS)技术被应用于存储器系统100,则第一超级存储块SBLK_1可以是顺序地编程数据的超级存储块。
这样,当第一超级存储块SBLK_1是顺序地编程数据的超级存储块时,如果另一超级存储块中存储的数据被迁移到第一超级存储块SBLK_1,第一超级存储块SBLK_1中包括的擦除页面的数量可能会改变。这可能会导致对超级存储块的性能要求得不到满足的问题。
因此,存储器控制器120可以通过将第一超级存储块SBLK_1中存储的所有有效数据迁移到第二超级存储块SBLK_2来保证数据可靠性并且满足对超级存储块的性能要求。在这种情况下,第二超级存储块SBLK_2中包括的擦除页面的数量可以大于或等于第一超级存储块SBLK_1中包括的擦除页面的数量。
此外,还可以将迁移到第二超级存储块SBLK_2的数据顺序地编程到第二超级存储块SBLK_2中。
存储器控制器120可以在执行目标操作之后将第二超级存储块SBLK_2设置为类似于第一超级存储块SBLK_1的根据逻辑地址的顺序来顺序地编程数据的超级存储块。在这种情况下,禁止将数据随机地编程在第二超级存储块SBLK_2中的操作。
图14示出根据本公开的实施例的存储器系统100的操作方法。
参照图14,存储器系统100的操作方法可以包括:监控对多个超级存储块SBLK之中的第一超级存储块SBLK_1的编程操作(S1410)。在这种情况下,多个超级存储块SBLK中的每一个可以包括多个存储块BLK中的一个或多个。另外,多个存储块BLK中的每一个可以包括多个页面PG。
存储器系统100的操作方法可以包括:确定在从预设参考时间点开始的预设时间段内是否对第一超级存储块SBLK_1执行了编程操作(S1420)。
在这种情况下,参考时间点可以是存储器系统100进入空闲状态的时间点或者存储器系统100进入低功率模式的时间点。
并且存储器系统100的操作方法可以包括:当确定在从预设参考时间点开始的预设时间段内尚未对第一超级存储块SBLK_1执行编程操作时,基于第一超级存储块SBLK_1的状态对第一超级存储块SBLK_1执行目标操作(S1430)。
在这种情况下,可以将目标操作确定为以下中的一个:i)将多个超级存储块SBLK之中的第二超级存储块SBLK_2中存储的预设大小的有效数据单元DU迁移到第一超级存储块SBLK_1的操作,ii)将第二超级存储块SBLK_2中存储的所有或部分有效数据迁移到第一超级存储块SBLK_1中包括的所有擦除页面的操作,以及iii)将第一超级存储块SBLK_1中存储的所有有效数据迁移到第二超级存储块SBLK_2的操作。
例如,当第一超级存储块SBLK_1中包括的擦除页面的数量大于或等于设定的阈值页面数量时,可以将目标操作确定为将第二超级存储块SBLK_2中的有效数据单元DU迁移到第一超级存储块SBLK_1的操作。并且当第一超级存储块SBLK_1中包括的擦除页面的数量小于设定的阈值页面数量时,可以将目标操作确定为将第二超级存储块SBLK_2中存储的全部或部分有效数据迁移到第一超级存储块SBLK_1中包括的所有擦除页面的操作。
在这种情况下,可以确定有效数据单元DU的大小与第一超级存储块SBLK_1的大小成比例。可以基于第一超级存储块SBLK_1中包括的存储块BLK的数量,确定第一超级存储块SBLK_1的大小。
当第二超级存储块SBLK_2中存储的有效数据单元DU被迁移到第一超级存储块时,可以通过交错方式从第二超级存储块SBLK_2读取有效数据单元DU。
可以从与第一超级存储块SBLK_1中最后编程数据的位置相邻的位置开始对有效数据单元DU进行编程。
再例如,当第一超级存储块SBLK_1是根据逻辑地址的顺序而顺序地编程数据的超级存储块时,可以将目标操作确定为将第一超级存储块SBLK_1中存储的所有有效数据迁移到第二超级存储块SBLK_2的操作。在这种情况下,在执行目标操作之后,可以将第二超级存储块SBLK_2设置为根据逻辑地址的顺序而顺序地编程数据的超级存储块。
图15是示出基于所公开技术的实施例的计算系统1500的配置的示图。
参照图15,基于所公开技术的实施例的计算系统1500可以包括:存储器系统100,电连接到系统总线1560;CPU 1510,被配置为控制计算系统1500的全部操作;RAM 1520,被配置为存储与计算系统1500的操作有关的数据和信息;用户接口/用户体验(UI/UX)模块1530,被配置为向用户提供用户环境;通信模块1540,被配置为与外部装置进行有线和/或无线类型的通信;以及电源管理模块1550,被配置为管理计算系统1500使用的电源。
计算系统1500可以是个人计算机(PC)或者可以包括诸如智能电话、平板电脑或各种电子装置的移动终端。
计算系统1500可以进一步包括用于供应操作电压的电池,并且可以进一步包括应用芯片、图形相关模块、相机图像处理器以及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.根据权利要求1所述的存储器系统,其中所述存储器控制器进一步确定以下操作中的一个为所述目标操作:将所述多个超级存储块之中的第二超级存储块中存储的预设大小的有效数据单元迁移到所述第一超级存储块的操作,将所述第二超级存储块中存储的所有或部分有效数据迁移到所述第一超级存储块中包括的所有擦除页面的操作,以及将所述第一超级存储块中存储的所有有效数据迁移到所述第二超级存储块的操作。
4.根据权利要求3所述的存储器系统,其中所述存储器控制器:
当所述第一超级存储块中包括的擦除页面的数量大于或等于阈值数量时,确定将所述第二超级存储块中的所述有效数据单元迁移到所述第一超级存储块的操作为所述目标操作,以及
当所述第一超级存储块中包括的擦除页面的数量小于所述阈值数量时,确定将所述第二超级存储块中存储的全部或部分有效数据迁移到所述第一超级存储块中包括的所有擦除页面的操作为所述目标操作。
5.根据权利要求4所述的存储器系统,
其中所述存储器控制器进一步确定所述有效数据单元的预设大小与所述第一超级存储块的大小成比例,并且
其中基于所述第一超级存储块中包括的存储块的数量,确定所述第一超级存储块的大小。
6.根据权利要求5所述的存储器系统,其中所述存储器控制器执行通过以交错方式从所述第二超级存储块读取所述有效数据单元来将所述有效数据单元从所述第二超级存储块迁移到所述第一超级存储块的操作作为所述目标操作。
7.根据权利要求4所述的存储器系统,其中所述存储器控制器执行包括从所述第一超级存储块中与最近编程的位置相邻的位置开始对所述有效数据单元进行编程的、将所述有效数据单元从所述第二超级存储块迁移到所述第一超级存储块的操作作为所述目标操作。
8.根据权利要求3所述的存储器系统,其中当所述第一超级存储块是根据逻辑地址的顺序而顺序地编程数据的超级存储块时,所述存储器控制器确定将所述第一超级存储块中存储的所有有效数据迁移到所述第二超级存储块的操作为所述目标操作。
9.根据权利要求8所述的存储器系统,其中所述存储器控制器进一步在执行所述目标操作之后,将所述第二超级存储块设置为根据逻辑地址的顺序而顺序地编程数据的超级存储块。
10.根据权利要求1所述的存储器系统,其中所述存储器控制器进一步在执行所述目标操作之后,将从所述存储器系统外部请求写入的数据编程到所述第一超级存储块中包括的擦除页面中。
11.一种存储器系统的操作方法,所述操作方法包括:
监控对多个超级存储块之中的第一超级存储块的编程操作,所述多个超级存储块中的每个超级存储块包括多个存储块中的至少一个存储块,所述多个存储块中的每个存储块包括多个页面;
确定在从预设参考时间点开始的预设时间段内是否对所述第一超级存储块执行了编程操作;并且
当确定在从所述预设参考时间点开始的所述预设时间段内尚未对所述第一超级存储块执行所述编程操作时,基于所述第一超级存储块的状态对所述第一超级存储块执行目标操作。
12.根据权利要求11所述的操作方法,其中所述参考时间点是所述存储器系统进入空闲状态或低功率模式的时间点。
13.根据权利要求11所述的操作方法,进一步包括确定以下操作中的一个为所述目标操作:将所述多个超级存储块之中的第二超级存储块中存储的预设大小的有效数据单元迁移到所述第一超级存储块的操作,将所述第二超级存储块中存储的所有或部分有效数据迁移到所述第一超级存储块中包括的所有擦除页面的操作,以及将所述第一超级存储块中存储的所有有效数据迁移到所述第二超级存储块的操作。
14.根据权利要求13所述的操作方法,其中所述确定包括:
当所述第一超级存储块中包括的擦除页面的数量大于或等于阈值数量时,确定将所述第二超级存储块中的所述有效数据单元迁移到所述第一超级存储块的操作为所述目标操作,以及
当所述第一超级存储块中包括的擦除页面的数量小于阈值数量时,确定将所述第二超级存储块中存储的全部或部分有效数据迁移到所述第一超级存储块中包括的所有擦除页面的操作为所述目标操作。
15.根据权利要求14所述的操作方法,
进一步包括确定所述有效数据单元的预设大小与所述第一超级存储块的大小成比例,并且
其中基于所述第一超级存储块中包括的存储块的数量,确定所述第一超级存储块的大小。
16.根据权利要求15所述的操作方法,其中作为所述目标操作的将所述有效数据单元从所述第二超级存储块迁移到所述第一超级存储块的操作包括以交错方式从所述第二超级存储块读取所述有效数据单元。
17.根据权利要求14所述的操作方法,其中作为所述目标操作的将所述有效数据单元从所述第二超级存储块迁移到所述第一超级存储块的操作包括从所述第一超级存储块中与最近编程的位置相邻的位置开始对所述有效数据单元进行编程。
18.根据权利要求13所述的操作方法,其中所述确定包括:当所述第一超级存储块是根据逻辑地址的顺序而顺序地编程数据的超级存储块时,确定将所述第一超级存储块中存储的所有有效数据迁移到所述第二超级存储块的操作为所述目标操作。
19.根据权利要求18所述的操作方法,进一步包括在执行所述目标操作之后,将所述第二超级存储块设置为根据逻辑地址的顺序而顺序地编程数据的超级存储块。
20.根据权利要求11所述的操作方法,进一步包括在执行所述目标操作之后,将从所述存储器系统外部请求写入的数据编程到所述第一超级存储块中包括的擦除页面中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2021-0183929 | 2021-12-21 | ||
KR1020210183929A KR20230094622A (ko) | 2021-12-21 | 2021-12-21 | 슈퍼 메모리 블록의 프로그램 상태를 기초로 타깃 동작을 실행하는 메모리 시스템 및 그 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116301569A true CN116301569A (zh) | 2023-06-23 |
Family
ID=86767956
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210718446.2A Withdrawn CN116301569A (zh) | 2021-12-21 | 2022-06-23 | 存储器系统及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11954349B2 (zh) |
KR (1) | KR20230094622A (zh) |
CN (1) | CN116301569A (zh) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8751903B2 (en) * | 2010-07-26 | 2014-06-10 | Apple Inc. | Methods and systems for monitoring write operations of non-volatile memory |
US9477255B2 (en) * | 2012-07-09 | 2016-10-25 | Apple Inc. | Systems and methods for suspending idle devices based on idle policies for the devices |
KR102117919B1 (ko) | 2013-10-24 | 2020-06-02 | 삼성전자주식회사 | 저장 장치 및 그것의 프로그램 방법 |
CN103678150B (zh) * | 2013-12-23 | 2017-06-09 | 华为技术有限公司 | 固态硬盘使用方法及装置 |
KR20200113992A (ko) | 2019-03-27 | 2020-10-07 | 에스케이하이닉스 주식회사 | 메모리 시스템의 복구 동작 중 비휘발성 메모리 오픈 블록의 셀 디스터브를 줄이는 방법 및 장치 |
US11942174B2 (en) * | 2021-02-09 | 2024-03-26 | Micron Technology, Inc. | Topology-based retirement in a memory system |
TWI808384B (zh) * | 2021-02-23 | 2023-07-11 | 慧榮科技股份有限公司 | 儲存裝置、快閃記憶體控制器及其控制方法 |
-
2021
- 2021-12-21 KR KR1020210183929A patent/KR20230094622A/ko unknown
-
2022
- 2022-05-10 US US17/740,437 patent/US11954349B2/en active Active
- 2022-06-23 CN CN202210718446.2A patent/CN116301569A/zh not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
KR20230094622A (ko) | 2023-06-28 |
US20230195343A1 (en) | 2023-06-22 |
US11954349B2 (en) | 2024-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114067870A (zh) | 存储器系统、存储器装置以及用于操作存储器装置的方法 | |
US11301174B2 (en) | Memory system, memory controller and method for operating memory system | |
US11449421B2 (en) | Memory system, memory controller and method for minimizing data loss using recovery operations in sudden power loss events | |
US11726878B2 (en) | Memory system and operating method thereof | |
CN114579041A (zh) | 存储器系统及其操作方法 | |
CN116136738A (zh) | 使用外部装置执行后台操作的存储器系统及其操作方法 | |
CN115963981A (zh) | 存储器系统及存储器系统的操作方法 | |
US11474726B2 (en) | Memory system, memory controller, and operation method thereof | |
CN115206393A (zh) | 存储器装置及存储器装置的操作方法 | |
CN114530173A (zh) | 存储器系统及其操作方法 | |
CN114090473A (zh) | 存储器系统、存储器控制器及操作存储器系统的方法 | |
US11954349B2 (en) | Memory system for executing a target operation based on a program state of a super memory block and operating method thereof | |
US20240211153A1 (en) | Memory system for executing a target operation based on a program state of a super memory block and operating method thereof | |
US11669266B2 (en) | Memory system and operating method of memory system | |
US11636007B2 (en) | Memory system and operating method thereof for flushing data in data cache with parity | |
US11704050B2 (en) | Memory system for determining a memory area in which a journal is stored according to a number of free memory blocks | |
US11822819B2 (en) | Memory system and operating method thereof | |
US11893255B2 (en) | Memory system for managing data corresponding to a plurality of zones and operating method thereof | |
US11507509B2 (en) | Memory system, memory controller and method for operating memory system for determining whether to perform direct write based on reference write size | |
US20240036741A1 (en) | Memory system, memory controller and method for operating memory system, capable of determining target meta memory block on the basis of detected target state | |
US20220300187A1 (en) | Memory system and operating method thereof | |
US20230376246A1 (en) | Memory system, memory controller and operating method of the memory system operating as read boost mode | |
US20240004566A1 (en) | Memory system for managing namespace using write pointer and write count, memory controller, and method for operating memory system | |
US20230297502A1 (en) | Memory system, memory controller and operating method of the memory system for controlling garbage collection | |
CN115757217A (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: 20230623 |