CN112650442A - 存储器系统、存储器控制器及操作方法 - Google Patents
存储器系统、存储器控制器及操作方法 Download PDFInfo
- Publication number
- CN112650442A CN112650442A CN202010388729.6A CN202010388729A CN112650442A CN 112650442 A CN112650442 A CN 112650442A CN 202010388729 A CN202010388729 A CN 202010388729A CN 112650442 A CN112650442 A CN 112650442A
- Authority
- CN
- China
- Prior art keywords
- memory
- data
- memory block
- block
- count value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000015654 memory Effects 0.000 title claims abstract description 849
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000013507 mapping Methods 0.000 claims description 28
- 238000013519 translation Methods 0.000 claims description 18
- 238000004891 communication Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 35
- 238000012937 correction Methods 0.000 description 17
- 239000000872 buffer Substances 0.000 description 15
- 230000008859 change Effects 0.000 description 15
- 238000001514 detection method Methods 0.000 description 15
- 239000010410 layer Substances 0.000 description 15
- 238000012005 ligant binding assay Methods 0.000 description 14
- 230000003936 working memory Effects 0.000 description 11
- 238000007726 management method Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 238000007667 floating Methods 0.000 description 7
- 230000004044 response Effects 0.000 description 7
- 101100481702 Arabidopsis thaliana TMK1 gene Proteins 0.000 description 6
- 238000011017 operating method Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000000903 blocking effect Effects 0.000 description 5
- 230000003111 delayed effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013508 migration Methods 0.000 description 3
- 230000005012 migration Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009897 systematic effect Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000002346 layers by function Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000035939 shock Effects 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
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
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- 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/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to 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/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/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
- 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/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- 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/65—Details of virtual memory and virtual address translation
- G06F2212/657—Virtual address space management
-
- 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/7211—Wear leveling
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)
- Microelectronics & Electronic Packaging (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本申请公开了一种存储器系统、存储器控制器以及操作方法。在将第一数据写入超级块的操作中,根据存储器装置中的多个存储块之中的第一存储块的读取计数值,控制对多个存储块之中的第一存储块和第二存储块中的一个执行第一数据的写入操作。因此,可分布存储器装置中的读取计数值,并且可增加存储块的使用率,由此可以高效地利用存储空间。
Description
相关申请的交叉引用
本申请要求于2019年10月11日提交的申请号为10-2019-0126326的韩国专利申请的优先权,其通过引用整体并入本文。
技术领域
各个实施例总体涉及一种存储器系统、存储器控制器及其操作方法。
背景技术
存储器系统是能够基于从主机接收的请求来存储数据的存储装置,主机诸如计算机、诸如智能手机和平板电脑的移动终端或各种其它电子装置。存储器系统可包括将数据存储在非易失性存储器中的装置,诸如固态驱动器(SDD)、通用闪存(UFS)装置和嵌入式MMC(eMMC)装置。存储器系统还可包括将数据存储在磁盘中的装置,诸如硬盘驱动器(HDD)。
例如,非易失性存储器可包括ROM(只读存储器)、PROM(可编程ROM)、EPROM(电可编程ROM)、EEPROM(电可擦除可编程ROM)、闪速存储器、PRAM(相变RAM)、MRAM(磁性RAM)、RRAM(电阻式RAM)和FRAM(铁电RAM)。
通常,存储器系统可包括用于控制存储器装置的操作的存储器控制器。通常,存储器控制器可从主机接收命令,并且可基于所接收的命令,来执行或控制针对存储器系统中包括的易失性存储器或非易失性存储器的诸如读取数据、写入数据或擦除数据的操作。
在常规存储器装置中,当执行数据写入操作时,可能发生由于意外原因而不能正常执行写入操作的情况。而且,在常规存储器系统中,可能发生存储器装置中的存储块的使用率不能以期望水平增加的情况。
发明内容
本发明的各个实施例涉及一种能够更高效地利用存储器系统所采用的存储器装置中的存储空间的存储器系统、存储器控制器及操作方法。
而且,各个实施例涉及一种能够增加存储器装置中的存储块的使用率的存储器系统、存储器控制器及操作方法。
进一步地,各个实施例涉及一种能够根据存储器装置中的存储空间(存储块或存储器管芯)的读取情况来自适应地控制数据写入位置的存储器系统、存储器控制器及操作方法。
此外,各个实施例涉及一种能够防止存储器装置的特定存储空间中的子存储空间(例如,存储块)之中的特定子存储空间的读取数量(读取计数值)集中的存储器系统、存储器控制器及操作方法。
另外,各个实施例涉及一种能够控制以分布(distributed)方式增加存储器装置的特定存储空间中的子存储空间(例如,存储块)的读取数量(读取计数值)的存储器系统、存储器控制器及操作方法。
此外,各个实施例涉及一种能够防止或延迟由于频繁读取特定存储空间中的一些存储块而导致对存储器装置的整个特定存储空间的写入操作变为不可能的情况的存储器系统、存储器控制器及操作方法。
根据本发明的一个方面,提供了一种存储器系统。该存储器系统可包括:存储器装置,包括多个存储块;以及存储器控制器,被配置成在将第一数据写入超级块的操作中,检查第一存储块的读取计数值,并且根据该第一存储块的读取计数值,控制将第一数据编程到第一存储块和第二存储块中的一个中。
第一存储块和第二存储块可被包括在超级块中。该超级块可以是多个存储块的整体或一部分。
在第一数据是热数据的情况下,存储器控制器可检查第一存储块的读取计数值是否满足预定的特定条件,并且根据第一存储块的经检查的读取计数值,可控制存储器装置以将第一数据编程到第一存储块或第二存储块中。
当确定第一数据为冷数据的情况下,存储器控制器可控制存储器装置以将第一数据编程到处于当前写入计划位置的第一存储块中。
即使在根据预定参考将第一数据确定为热数据的情况下,存储器控制器也可检查处于当前写入计划位置的第一存储块的读取计数值是否满足预定的特定条件,当不满足该特定条件时,可控制将第一数据编程到第一存储块中,并且当满足该特定条件时,可控制将第一数据编程到第二存储块中,该第二存储块不同于第一存储块。
关于特定条件的示例,当第一存储块的经检查读取计数值小于阈值时,存储器控制器可确定第一存储块的经检查读取计数值不满足特定条件,并且当第一存储块的经检查读取计数值等于或大于阈值时,存储器控制器可确定第一存储块的经检查读取计数值满足特定条件。
关于特定条件的另一示例,当第一存储块的经检查的读取计数值在超级块中包括的存储块的读取计数值的总和中所占的百分比小于预设的阈值百分比时,存储器控制器可确定该第一存储块的经检查的读取计数值不满足特定条件,并且当第一存储块的经检查的读取计数值在总和中所占的百分比等于或大于阈值百分比时,可确定该第一存储块的经检查的读取计数值满足特定条件。
当满足特定条件时,存储器控制器可控制将不同于第一数据的数据编程到第一存储块,并且当第二存储块变成当前写入计划位置时,控制将第一数据编程到第二存储块。
例如,该不同于第一数据的数据可以是虚拟数据或冷数据。也就是说,该不同于第一数据的数据可以是相比于第一数据可导致更少的读取请求的数据。
当提供对第一数据的写入请求时,存储器控制器可检查包括热数据的逻辑地址的热逻辑地址列表,当检查到第一数据的逻辑地址包括在该热逻辑地址列表中时,可确定第一数据为热数据,并且当检查到第一数据的逻辑地址未包括在该热逻辑地址列表中时,可确定第一数据为冷数据。
存储器控制器可基于从主机接收的信息来生成热逻辑地址列表,并且可根据从主机接收的信息或者在存储器装置的读取操作中发生的事件信息来校正该热逻辑地址列表。
存储器控制器可管理逻辑地址与物理地址之间的映射表。
在映射表的管理中,当第一存储块的经检查的读取计数值不满足特定条件时,存储器控制器可将映射表中的映射到第一数据的第一逻辑地址的物理地址保持为第一存储块的物理地址。
而且,在映射表的管理中,当第一存储块的经检查的读取计数值满足特定条件时,存储器控制器可将映射表中的映射到第一数据的第一逻辑地址的物理地址改变为第二存储块的物理地址。
存储器装置可包括至少两个存储器管芯,并且第一存储块和第二存储块可位于不同的存储器管芯中。
根据本公开的另一方面,提供了一种存储器控制器。根据实施例的存储器控制器可包括:存储器接口,被配置成与包括多个存储块的存储器装置通信;以及控制电路,被配置成在将第一数据写入超级块的操作中,检查第一存储块的读取计数值,并且根据该第一存储块的读取计数值,控制将第一数据编程到第一存储块和第二存储块中的一个中。第一存储块和第二存储块可被包括在超级块中。该超级块可以是多个存储块的整体或一部分。
在第一数据是热数据的情况下,存储器控制器的控制电路可检查第一存储块的读取计数值是否满足预定的特定条件,并且根据第一存储块的经检查的读取计数值,可控制存储器装置以将第一数据编程在第一存储块或第二存储块中。
在确定第一数据为冷数据的情况下,存储器控制器的控制电路可控制存储器装置以将第一数据编程在处于当前写入计划位置的第一存储块中。
即使在根据预定参考将第一数据确定为热数据的情况下,存储器控制器的控制电路也可检查处于当前写入计划位置的第一存储块的读取计数值是否满足预定的特定条件,当不满足该特定条件时,可控制将第一数据编程到第一存储块中,并且当满足该特定条件时,可控制将第一数据编程到第二存储块中,第二存储块不同于第一存储块。
当第一存储块的经检查的读取计数值小于阈值时,存储器控制器的控制电路可确定该第一存储块的经检查的读取计数值不满足特定条件。
当第一存储块的经检查的读取计数值等于或大于阈值时,存储器控制器的控制电路可确定该第一存储块的经检查的读取计数值满足特定条件。
当第一存储块的经检查的读取计数值在超级块中包括的存储块的读取计数值的总和中所占的百分比小于预设的阈值百分比时,存储器控制器的控制电路可确定该第一存储块的经检查的读取计数值不满足特定条件,并且当第一存储块的经检查的读取计数值在总和中所占的百分比等于或大于阈值百分比时,可确定该第一存储块的经检查的读取计数值满足特定条件。
当满足特定条件时,存储器控制器的控制电路可控制将不同于第一数据的数据编程到第一存储块,并且当第二存储块变成当前写入计划位置时,控制将第一数据编程到第二存储块。
该不同于第一数据的数据可以是虚拟数据或冷数据。
当提供对第一数据的写入请求时,存储器控制器的控制电路可检查包括热数据的逻辑地址的热逻辑地址列表,当检查到第一数据的逻辑地址包括在该热逻辑地址列表中时,可确定第一数据为热数据,并且当检查到第一数据的逻辑地址未包括在该热逻辑地址列表中时,可确定第一数据为冷数据。
存储器控制器可进一步包括被配置成管理逻辑地址与物理地址之间的映射表的地址转换模块。
当第一存储块的经检查的读取计数值不满足特定条件时,该地址转换模块可将映射表中的映射到第一数据的第一逻辑地址的物理地址保持为第一存储块的物理地址。
当第一存储块的经检查的读取计数值满足特定条件时,该地址转换模块可将映射表中的映射到第一数据的第一逻辑地址的物理地址改变为第二存储块的物理地址。
根据本公开的又一方面,提供了一种操作存储器系统的方法。根据实施例的操作存储器系统的方法可包括:在将第一数据写入超级块的操作中,检查存储器装置中的第一存储块的读取计数值;并且根据第一存储块的读取计数值,将第一数据编程到第一存储块和第二存储块中的一个中。第一存储块和第二存储块可被包括在超级块中。该超级块可以是多个存储块的整体或一部分。
根据本公开的再一方面,提供了一种操作控制器的方法。该控制器可控制包括多个存储块的存储器装置。该操作控制器的方法可包括:当第一存储块的读取计数小于阈值时,控制存储器装置以将数据存储到第一存储块中;并且当第一存储块的读取计数等于或大于阈值时,控制存储器装置以将数据存储到第二存储块中。
根据本公开的实施例,可以高效地利用存储器装置中的存储空间。
而且,根据本公开的实施例,可以增加存储器装置中的存储块的使用率。
进一步地,根据本公开的实施例,可根据存储器装置中的存储空间(存储块或存储器管芯)的读取情况来自适应地控制数据写入位置。
此外,根据本公开的实施例,可以防止存储器装置的特定存储空间中的子存储空间(例如,存储块)之中的特定子存储空间的读取数量(读取计数值)的集中。
另外,根据本公开的实施例,可以控制以分布方式增加存储器装置的特定存储空间中的子存储空间(例如,存储块)的读取数量(读取计数值)。
根据本公开的实施例,可以防止或延迟由于频繁读取特定存储空间中的一些存储块而导致对存储器装置中的整个特定存储空间的写入操作变为不可能的情况。
附图说明
图1是示出根据本公开的实施例的存储器系统的示意性配置图。
图2是示意性地示出根据本公开的实施例的存储器装置的框图。
图3是示意性地示出根据本公开的实施例的存储器装置的存储块的示例的示图。
图4是示出根据本公开的实施例的存储器装置的字线和位线的结构的示意图。
图5是示出根据本公开的实施例的存储器装置的基于超级块的管理结构的示意图。
图6是示出根据本公开的实施例的存储器系统的部分封闭延迟控制方法的流程图。
图7是示出根据本公开的实施例的存储器系统的部分封闭延迟控制方法中的存储块的设置的示意图。
图8是示出根据本公开的实施例的存储器系统中发生的部分封闭现象的示意图。
图9是根据本公开的实施例的存储器系统的部分封闭延迟控制的示意图。
图10和图11是示出根据本公开的实施例的通过存储器系统的写入位置控制的部分封闭延迟控制方法的示意图。
图12和图13是示出根据本公开的实施例的通过存储器系统的写入位置控制的部分封闭延迟控制方法中的修改的示意图。
图14是示出根据本公开的实施例的用于存储器系统的写入位置控制的地址转换模块及其操作的示例的示意图。
图15是根据本公开的实施例的利用存储器系统的热逻辑地址列表的写入位置控制的示意图。
图16是示意性地示出根据本公开的实施例的存储器装置的超级块结构的示图。
图17是在图16的超级块结构中的根据本公开的实施例的通过存储器系统的写入位置控制的部分封闭延迟控制方法的示意图。
图18是示出未将根据本公开的实施例的通过写入位置控制的部分封闭延迟控制方法应用于图16的超级块结构的情况的示图。
图19至图21是示出将根据本公开的实施例的通过写入位置控制的部分封闭延迟控制方法应用于图16的超级块结构的情况的示图。
图22是根据本公开的实施例的用于操作存储器控制器的方法的流程图。
图23是示出根据本公开的实施例的计算系统的配置图。
具体实施方式
在下文中,可参照附图详细描述本公开的实施例。在下面的描述中,虽然在不同的附图中示出,但相同的元件可以由相同的附图标记表示。进一步地,在本公开下面的描述中,在可能使本公开的主题不清楚时,可以省略对结合在本文中的已知功能和配置的详细描述。应当注意的是,除非另有具体说明,否则说明书和权利要求中使用的术语“包括”、“具有”、“包含”等不应被解释为限于其后列出的手段。除非另有特别说明,否则在涉及单数名词时使用例如“一”、“一个”和“该”的术语的情况下,可包括该名词的复数形式。
而且,在描述本公开的组件时,可使用如第一、第二、A、B、(a)和(b)的术语。这些只是为了将一个组件与另一组件区分开的目的,并且不是意指或暗示这些组件的实质、顺序、序列或数量。
在对组件的位置关系的描述中,在描述至少两个组件“连接”、“联接”或“链接”的情况下,将理解的是,该至少两个组件可以直接“连接”、“联接”或“链接”,而且可以利用插入在这两个组件之间的另一组件而间接“连接”、“联接”或“链接”。此处,另一组件可被包括在彼此“连接”、“联接”或“链接”的至少两个组件中的至少一个中。
在针对组件、操作方法或制造方法的时间流程关系的描述中,在例如通过“……之后”、“接着”、“下一个”或“……之前”来描述在时间方面的前后关系或在流程方面的前后关系的情况下,除非使用“直接地”或“直接”,否则可包括非连续的情况。
在提及组件的数值或其相应信息(例如,水平等)的情况下,虽然未作单独的明确描述,但数值或其相应信息可以被解释为包括可能由各种因素(例如,过程变量、内部或外部冲击、噪声等)导致的误差范围。
在下文中,可参照附图详细描述本公开的实施例的各个示例。
图1是示意性地示出根据本公开的实施例的存储器系统100的配置图。
参照图1,根据本公开的实施例的存储器系统100可包括存储数据的存储器装置110和控制存储器装置110的存储器控制器120。
存储器装置110可包括多个存储块,并且响应于存储器控制器120的控制而操作。例如,存储器装置110的操作可包括读取操作、编程操作(也称为写入操作)以及擦除操作。
存储器装置110可包括存储器单元阵列,该存储器单元阵列包括存储数据的多个存储器单元(也被简称为“单元”)。这种存储器单元阵列可存在于存储块中。
例如,存储器装置110可被实现为以下中的任意一种:DDR SDRAM(双倍数据速率同步动态随机存取存储器)、LPDDR4(低功率双倍数据速率4)SDRAM、GDDR(图形双倍数据速率)SDRAM、LPDDR(低功率DDR)、RDRAM(Rambus动态随机存取存储器)、NAND闪速存储器、3D NAND闪速存储器、NOR闪速存储器、电阻式随机存取存储器(RRAM)、相变存储器(PRAM)、磁阻随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)或自旋转移力矩随机存取存储器(STT-RAM)等。
存储器装置110可优选地以三维阵列结构来实现。本公开的实施例不仅可应用于其中电荷存储层由导电浮置栅极配置的闪速存储器装置,而且还可应用于其中电荷存储层由介电层配置的电荷撷取闪存(CTF)。
存储器装置110被配置成从存储器控制器120接收命令、地址等,并且访问存储器单元阵列中的、根据所接收的地址而选择的区域。也就是说,存储器装置110可对通过地址选择的区域执行对应于命令的操作。
例如,存储器装置110可执行编程操作、读取操作和/或擦除操作。就此而言,在编程操作中,存储器装置110可将数据编程到由地址选择的区域中。在读取操作中,存储器装置110可从由地址选择的区域读取数据。在擦除操作中,存储器装置110可擦除由地址选择的区域中存储的数据。
存储器控制器120可控制对存储器装置110的写入(编程)操作、读取操作、擦除操作和后台操作。例如,后台操作可包括垃圾收集(GC)操作、损耗均衡(WL)操作、坏块管理(BBM)操作等中的至少一种。
存储器控制器120可根据主机的请求来控制存储器装置110的操作。可选地,存储器控制器120可不考虑主机的请求而控制存储器装置110的操作。
存储器控制器120和主机可以是彼此分开的装置。另外,存储器控制器120和主机可被实现为集成到一个装置中。在下文中,可以以存储器控制器120和主机是彼此分开的装置为示例来描述。
参照图1,存储器控制器120可包括存储器接口122、控制电路123以及主机接口121。
主机接口121提供用于与主机通信的接口。
当从主机接收命令时,控制电路123可通过主机接口121接收命令,然后可执行处理所接收的命令的操作。
存储器接口122与存储器装置110联接,从而提供用于与存储器装置110通信的接口。也就是说,存储器接口122可被配置成响应于控制电路123的控制而提供存储器装置110与存储器控制器120之间的接口连接。
控制电路123执行存储器控制器120的一般控制操作,从而控制存储器装置110的操作。为此,例如,控制电路123可包括处理器124和工作存储器125中的至少一个,并且根据情况,可进一步包括错误检测和校正电路(ECC电路)126。
处理器124可控制存储器控制器120的一般操作,并且可执行逻辑计算。处理器124可通过主机接口121与主机通信,并且可通过存储器接口122与存储器装置110通信。
处理器124可执行闪存转换层(FTL)的功能。处理器124可通过闪存转换层(FTL)将由主机提供的逻辑地址(LBA)转换成物理地址(PBA)。闪存转换层(FTL)可接收逻辑地址(LBA),并且通过使用映射表将所接收的逻辑地址(LBA)转换成物理地址(PBA)。
根据映射单元,存在闪存转换层的各种地址映射方法。代表性的地址映射方法包括页面映射方法、块映射方法和混合映射方法。
处理器124被配置成使从主机接收的数据随机化。例如,处理器124可通过使用随机化种子来使从主机接收的数据随机化。将待存储的经随机化数据提供到存储器装置110,并且编程在存储器单元阵列中。
处理器124被配置成在读取操作中使从存储器装置110接收的数据去随机化。例如,处理器124可通过使用去随机化种子,使从存储器装置110接收的数据去随机化。经去随机化的数据可被输出到主机。
处理器124可通过运行固件来控制存储器控制器120的操作。为了控制存储器控制器120的一般操作并执行逻辑计算,处理器124可运行(驱动)在启动时被加载到工作存储器125的固件。
固件是待在存储器系统100中运行的程序,并且可包括各种功能层。
例如,固件可包括闪存转换层(FTL)、主机接口层(HIL)、闪存接口层(FIL)等中的任意一种,其中闪存转换层(FTL)执行从主机向存储器系统100请求的逻辑地址与存储器装置110的物理地址之间的转换功能,主机接口层(HIL)用于分析从主机向作为存储装置的存储器系统100请求的命令并且将该命令传输到闪存转换层(FTL),并且闪存接口层(FIL)将从闪存转换层(FTL)指示的命令传输到存储器装置110等。
例如,可将这种固件存储在存储器装置110中,然后加载到工作存储器125。
工作存储器125可存储驱动存储器控制器120所必需的固件、程序代码、命令和数据。例如,作为易失性存储器的工作存储器125可包括SRAM(静态RAM)、DRAM(动态RAM)和SDRAM(同步DRAM)中的至少一种。
错误检测和校正电路126可被配置成通过使用错误校正码来检测正在检查的目标数据中的错误位,并且校正检测到的错误位。此处,正在检查的目标数据可以例如是工作存储器125中存储的数据、从存储器装置110读取的数据等。
错误检测和校正电路126可被实现为通过使用错误校正码来解码数据。错误检测和校正电路126可由各种代码解码器来实现。例如,可使用执行非系统代码解码的解码器或执行系统代码解码的解码器。
例如,错误检测和校正电路126可以扇区为单位来检测每个读取数据的错误位。即,每个读取数据可由多个扇区构成。扇区可表示小于作为闪速存储器的读取单位的页面的数据单位。构成每个读取数据的扇区可通过地址彼此匹配。
错误检测和校正电路126可以扇区为单位来计算位错误率(BER),并且可确定错误是否可校正。例如,在位错误率(BER)高于参考值的情况下,错误检测和校正电路126可将相应的扇区确定为不可校正的或失败。另一方面,在位错误率(BER)低于参考值的情况下,错误检测和校正电路126可将相应的扇区确定为可校正的或通过。
错误检测和校正电路126可对所有读取数据顺序地执行错误检测和校正操作。在读取数据中包括的扇区是可校正的情况下,错误检测和校正电路126可省略对下一读取数据的相应扇区的错误检测和校正操作。如果以这种方式结束了对所有读取数据的错误检测和校正操作,则错误检测和校正电路126可检测最后被确定为始终不可校正的扇区。可能存在一个或多个被确定为不可校正的扇区。错误检测和校正电路126可将关于被确定为不可校正的扇区的信息(例如,地址信息)传送到处理器124。
总线127可被配置成在存储器控制器120的组件121、122、124、125和126之间提供通道。例如,总线127可包括用于传送各种控制信号、命令等的控制总线、用于传送各种数据的数据总线等。
存储器控制器120的上述组件121、122、124、125和126仅用于说明的目的。可省略存储器控制器120的上述组件121、122、124、125和126中的一些,或者可将存储器控制器120的上述组件121、122、124、125和126中的一些集成为一个组件。根据情况,除了存储器控制器120的上述组件121、122、124、125和126之外,还可添加一个或多个其它组件。
在下文中,可参照图2更详细地描述存储器装置110。
图2是示意性地示出根据本公开的实施例的存储器装置110的框图。
参照图2,根据实施例的存储器装置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中包括的多个存储器单元中的每一个可存储至少1位数据。例如,存储器单元阵列210中包括的多个存储器单元中的每一个可以是存储1位数据的单层单元(SLC)。再例如,存储器单元阵列210中包括的多个存储器单元中的每一个可以是存储2位数据的多层单元(MLC)。又例如,存储器单元阵列210中包括的多个存储器单元中的每一个可以是存储3位数据的三层单元(TLC)。又例如,存储器单元阵列210中包括的多个存储器单元中的每一个可以是存储4位数据的四层单元(QLC)。又例如,存储器单元阵列210可包括多个存储器单元,多个存储器单元中的每一个存储5位或更多位数据。
参照图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。读取和写入电路230可在存储器单元阵列210的读取操作中作为读取电路来操作,并且可在存储器单元阵列210的写入操作中作为写入电路来操作。
上述读取和写入电路230也可被称为包括多个页面缓冲器PB的页面缓冲器电路或数据寄存器电路。读取和写入电路230可包括执行数据处理功能的数据缓冲器,并且根据情况,可进一步包括执行高速缓存功能的高速缓存缓冲器。
多个页面缓冲器PB可通过多个位线BL联接到存储器单元阵列210。多个页面缓冲器PB可在读取操作和编程验证操作中,向与存储器单元联接的位线BL连续地供应感测电流,以感测存储器单元的阈值电压(Vth),并且可借由通过感测节点感测电流量根据相应存储器单元的编程状态而发生变化,来锁存感测数据。
读取和写入电路230可响应于从控制逻辑240输出的页面缓冲器控制信号进行操作。
在读取操作中,读取和写入电路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。
图3是示意性地示出根据本公开的实施例的存储器装置110中的存储块BLK的示图。
参照图3,例如,存储器装置110中包括的存储块BLK可被配置成在彼此相交的方向上设置的多个页面PG和多个串STR。
多个页面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,其中浮置栅极FG由电介质包围,并且从字线WL向控制栅极CG施加栅极电压。
在多个存储块BLK1至BLKz中的每一个中,可在两个最外字线之间的更靠近读取和写入电路230的第一最外字线的外部附加地设置第一选择线(也称为源极选择线或漏极选择线),并且可在两个最外字线之间的第二最外字线的外部附加地设置第二选择线(也称为漏极选择线或源极选择线)。
根据情况,可在第一最外字线与第一选择线之间附加地设置至少一个虚设字线。也可在第二最外字线与第二选择线之间附加地设置至少一个虚设字线。
当存储器装置110具有图3所示的存储块结构时,可以页面为单位来执行读取操作和编程操作(写入操作),并且可以存储块为单位来执行擦除操作。
图4是示出根据本公开的实施例的存储器装置110的字线WL和位线BL的结构的示图。
参照图4,在存储器装置110中,存在聚集存储器单元MC的内核区域,以及对应于除内核区域之外的剩余区域并且支持存储器单元阵列210的操作的辅助区域。
内核区域可由页面PG和串STR来配置。在该内核区域中,将多个字线WL1至WL9和多个位线BL设置成彼此相交。
多个字线WL1至WL9可与行解码器410联接,并且多个位线BL可与列解码器420联接。对应于读取和写入电路230的数据寄存器430可存在于多个位线BL和列解码器420之间。
多个字线WL1至WL9对应于多个页面PG。
例如,如图4所示,多个字线WL1至WL9中的每一个可对应于一个页面PG。在多个字线WL1至WL9中的每一个的大小较大的情况下,多个字线WL1至WL9中的每一个可对应于至少两个(例如,两个或四个)页面PG。页面PG是用于执行编程操作和读取操作的最小单位。在编程操作和读取操作中,相同页面PG中的所有存储器单元MC可同时执行相应的操作。
多个位线BL可与列解码器420联接,同时被识别为奇数编号的位线BL和偶数编号的位线BL。
为了访问存储器单元MC,首先,可经由输入/输出端子通过行解码器410和列解码器420来将地址输入到内核区域中,并且可指定目标存储器单元。指定目标存储器单元表示访问位于与行解码器410联接的字线WL1至WL9和与列解码器420联接的位线BL彼此相交的位置处的存储器单元MC,以将数据编程到存储器单元MC或从存储器单元MC读出所编程的数据。
第一方向(例如,X轴方向)上的页面PG由被称为字线WL的公共线捆绑(联接),并且第二方向(例如,Y轴方向)上的串STR由被称为位线BL的公共线捆绑(联接)。捆绑在一起表示相应的存储器单元MC通过相同的材料而在结构上彼此联接,并且当施加电压时,将相同的电压同时施加到这些存储器单元MC。当然,由于串联联接并且位于中间位置或最后位置的存储器单元MC受到先前存储器单元MC中的电压降的影响,所以施加到第一存储器单元MC和最后存储器单元MC的电压可能彼此略有不同。
因为在存储器装置110的所有数据处理操作中,都通过数据寄存器430来编程和读取数据,所以数据寄存器430起到关键作用。如果数据寄存器430的数据处理被延迟,则所有其它区域都需要等待,直到该数据寄存器430完成数据处理。而且,如果数据寄存器430的性能劣化,则存储器装置110的整体性能可能劣化。
参照图4的图示,在一个串STR中,可存在与多个字线WL1至WL9联接的多个晶体管TR1至TR9。多个晶体管TR1至TR9所存在的区域对应于存储器单元MC。如上所述,多个晶体管TR1至TR9是各自包括如上所述的控制栅极CG和浮动栅极FG的晶体管。
多个字线WL1至WL9包括两个最外字线WL1和WL9。就信号路径而言,第一选择线DSL可附加地设置两个最外字线WL1和WL9之中的、更靠近数据寄存器430的第一最外字线WL1的外部,并且第二选择线SSL可附加地设置在两个最外字线WL1和WL9之中的第二最外字线WL9的外部。
由第一选择线DSL控制导通-关断的第一选择晶体管D-TR是仅具有与第一选择线DSL联接的栅电极并且不包括浮置栅极FG的晶体管。由第二选择线SSL控制导通-关断的第二选择晶体管S-TR是仅具有与第二选择线SSL联接的栅电极并且不包括浮置栅极FG的晶体管。
第一选择晶体管D-TR用作导通或关断相应串STR和数据寄存器430之间的联接的开关。第二选择晶体管S-TR用作导通或关断相应的串STR和源极线SL之间的联接的开关。也就是说,第一选择晶体管D-TR和第二选择晶体管S-TR位于相应串STR的两端,并且用作联接信号和断开信号的关守(gatekeepers)。
在编程操作中,因为需要在待编程的位线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两者,从而提供无穷大电阻。因此,存储器系统100被构造成使得第一选择晶体管D-TR和第二选择晶体管S-TR不起作用,并且电子可仅由于在浮置栅极FG和衬底之间的电势差而操作。
图5是示出根据本公开的实施例的存储器装置110的基于超级块的管理结构的示图。
存储器装置110可包括一个存储器管芯,或者可包括至少两个存储器管芯。图5的图示对应于存储器装置110包括四个存储器管芯DIE 1、DIE 2、DIE 3和DIE 4的情况。
四个存储器管芯DIE 1、DIE 2、DIE 3和DIE 4中的每一个可包括一个平面,或者可包括至少两个平面。图5的图示对应于四个存储器管芯DIE 1、DIE 2、DIE 3和DIE 4中的每一个都包括四个平面PLN 1、PLN 2、PLN 3和PLN 4的情况。
存储器装置110可包括多个存储块BLK。进一步地,如图3所示,多个存储块BLK中的每一个可包括多个页面PG。
根据图5的图示,在存储器装置110的四个存储器管芯DIE 1、DIE 2、DIE 3和DIE 4的每一个中,四个平面PLN 1、PLN 2、PLN 3和PLN 4中的每一个可包括多个存储块BLK。进一步地,在四个平面PLN 1、PLN 2、PLN 3和PLN 4的每一个中,多个存储块BLK中的每一个可包括多个页面PG。
参照图5,存储器装置110中包括的多个存储块BLK可被分组为至少两个超级块SB。
超级块SB是存储器系统100管理存储器装置110中包括的多个存储块BLK的单位。
一个超级块SB可以是同时或在相同时隙执行读取操作和/或写入操作或者一起执行读取操作和/或写入操作的存储块BLK组。另外,一个超级块SB可以是由存储器控制器120响应于从主机接收的单个命令而执行读取操作和/或写入操作的一组存储块BLK。
此外,在多个存储块BLK之中,可将在管理或操作方面彼此不同的存储块BLK组定义为超级块SB。
超级块SB的大小可以相同。也就是说,超级块SB中包括的存储块BLK的数量可以相同。
可选地,至少一个超级块SB在大小上可与其余超级块不同。也就是说,多个超级块SB之中的至少一个超级块SB中包括的存储块BLK的数量可不同于其余超级块SB中包括的存储块BLK的数量。
而且,分别包括在至少两个超级块SB的每一个中的所有存储块BLK可位于相同的存储器管芯中。
可选地,至少两个超级块SB的每一个中包括的至少两个存储块BLK可位于彼此不同的至少两个存储器管芯中。
对应于一个超级块SB的区域可包括多个页面PG,并且多个相应页面PG可存在于一个超级块SB之上。例如,在超级块SB存在于四个存储器管芯DIE 1、DIE 2、DIE 3和DIE 4之上的情况下,设置在对应于超级块SB的区域中的多个相应页面PG可设置在四个存储器管芯DIE 1、DIE 2、DIE 3和DIE 4之上。在另一示例中,在超级块SB存在于两个存储器管芯DIE 1和DIE 2上的情况下,设置在对应于超级块SB的区域中的多个相应页面PG可设置在两个存储器管芯DIE 1和DIE 2之上。
在存储器装置110中的至少两个超级块SB的每一个中,可独立地执行读取操作和/或写入操作。特别地,可基于存储器装置110中的至少两个超级块SB的每一个中的多个页面PG来确定该至少两个超级块SB的每一个中的写入位置顺序。例如,在超级块SB存在于四个存储器管芯DIE 1、DIE 2、DIE 3和DIE 4之上的情况下,根据预先已知的写入位置顺序信息,可关于一个页面PG而顺序地执行在相应超级块SB中的存储器管芯DIE 1、DIE 2、DIE 3和DIE 4中的写入。此后,可增加页面编号,并且可关于对应于增加页面编号的下一页面PG而顺序地执行在相应超级块SB中的存储器管芯DIE 1、DIE 2、DIE 3和DIE 4中的写入。
在根据本公开的实施例的存储器系统100中,如果对存储器装置110中的特定存储块BLK执行重复读取,则可执行将数据从相应存储块BLK迁移到另一存储块BLK的读取回收。
例如,在不能再执行新写入的封闭超级块的情况下,如果读取计数值达到第一阈值(例如,250K),则可能导致读取回收。在可执行新写入的开放超级块的情况下,如果读取计数值达到第二阈值(例如,50K),则可能导致读取回收。当第二阈值小于第一阈值时,与封闭超级块相比,可能更早导致对开放超级块的读取回收。
当在开放超级块SB的特定位置(特定存储块)处重复执行读取时,可能发生以下情况:可不再对相应超级块SB中的任意一个存储块BLK执行新写入,并且相应地,可不再对整个相应超级块SB执行新写入。这种情况称为部分封闭。
如果发生部分封闭,则存储器系统100的性能可能劣化,并且存储块BLK的使用率可能降低。
也就是说,即使在开放超级块SB中包括的存储块BLK之中存在开放存储块BLK,但是针对特定存储块BLK的频繁读取操作也可能导致读取回收,并且相应的超级块SB可能被部分封闭。这可能导致块使用和垃圾收集方面的问题。
在将可能被频繁读取的数据写入读取计数值已经相当高的存储块BLK中的情况下,很可能发生上述部分封闭现象。
考虑到这一点,本公开的实施例公开了一种部分封闭延迟控制方法,该方法能够防止相比于其它存储块BLK,特定存储块BLK的读取计数值被过度增加,从而延迟或防止发生读取回收和部分封闭现象。
即,本公开的实施例公开了一种能够延迟或防止由于相应超级块SB中的特定存储块BLK的集中读取而发生开放超级块SB的部分封闭现象的时间点的部分封闭延迟控制方法。
通过这种部分封闭延迟控制方法,不仅可以识别发生部分封闭的时间点,而且还可以识别导致读取回收的时间点,并且可以增加将开放超级块变成被完全写入的正常封闭超级块的可能性。
在下文中,可进一步详细描述根据本公开的实施例的部分封闭延迟控制方法。
图6是示出根据本公开的实施例的存储器系统100的部分封闭延迟控制方法的流程图。
参照图6,在第一数据DATA#1的写入操作中,当检查(确定)到根据预定写入位置顺序的当前写入计划位置是存储器装置110中的多个存储块BLK之中的第一存储块BLK#1时,根据本公开的实施例的存储器系统100检查作为当前写入计划位置的第一存储块BLK#1的读取计数值RCNT#1(S610)。
根据预定参考(例如,读取请求计数),第一数据DATA#1可以是相比其它数据可被更频繁地读取的热数据。例如,热数据可以是预期以至少阈值读取请求计数被请求读取的数据,或者是已经以至少阈值读取请求计数被请求读取的数据。预期以至少阈值读取请求计数被请求读取的热数据可表示读取请求计数当前不是很多但预期将来会增加的数据。例如,存储器控制器120可根据从主机提供的信息来确定这样的热数据。在部分封闭延迟控制之前,根据预定义的写入位置顺序而确定为当前写入计划位置并且因此对应于第一数据DATA#1的写入位置的第一存储块BLK#1可以是多个存储块BLK之中的任意存储块。例如,可通过诸如顺序决策方法的各种方法来确定预定义的写入位置顺序。在本申请文件中,第一数据DATA#1的写入操作(编程操作)可初始地包括将第一数据DATA#1写入(编程)到存储器装置110中。可选地,第一数据DATA#1的写入操作可以是试图将已经写入存储器装置110中的某个存储块的第一数据DATA#1迁移到另一存储块(例如,BLK#1)的迁移操作(写入操作的一种类型)。
可基于第一数据DATA#1的读取频率信息来确定第一数据DATA#1可比其它数据更频繁地读取的事实。例如,每个数据的读取频率信息可包括每次读取数据时更新的读取计数值。每个数据的读取频率信息可存储在主机、存储器控制器120或存储器装置110中。
如上所述,存储器系统100中的存储器控制器120预先知道写入位置顺序信息。例如,根据预先已知的写入位置顺序信息,针对一个页面(例如,页面1),对所有存储器管芯DIE 1、DIE 2、DIE 3和DIE 4顺序地执行写入。此后,可增加页面编号,并且可针对与增加页面编号相对应的页面(例如,页面2),对所有存储器管芯DIE 1、DIE 2、DIE 3和DIE 4顺序地执行写入。例如,针对跨越一个超级块SB的一个页面(例如,PG 1),以第一存储器管芯DIE 1的第一存储块、第二存储器管芯DIE 2的第一存储块、第三存储器管芯DIE 3的第一存储块和第四存储器管芯DIE 4的第一存储块的顺序来顺序地执行写入。
参照图6,根据本公开的实施例的存储器系统100确定第一存储块BLK#1的经检查的读取计数值RCNT#1是否满足特定条件(S620)。
该特定条件可以是指示是否已经过于频繁地执行对第一存储块BLK#1的读取操作的条件。
例如,当第一超级块包括包含第一存储块BLK#1的多个存储块BLK#1、BLK#2、BLK#3和BLK#4时,当相对于第一超级块中的多个相应存储块BLK#1、BLK#2、BLK#3和BLK#4的读取计数值的总和,第一存储块BLK#1的读取计数值RCNT#1的百分比至少等于或大于预定阈值百分比时,可满足特定条件。
因此,当相对于第一超级块中的多个相应存储块BLK#1、BLK#2、BLK#3和BLK#4的读取计数值的总和,第一存储块BLK#1的读取计数值RCNT#1的百分比至少等于或大于预定阈值百分比时,该第一存储块BLK#1的读取计数值RCNT#1满足特定条件。
另一方面,当相对于第一超级块中的多个相应存储块BLK#1、BLK#2、BLK#3和BLK#4的读取计数值的总和,第一存储块BLK#1的读取计数值RCNT#1的百分比小于预定阈值百分比时,该第一存储块BLK#1的读取计数值RCNT#1不满足特定条件。
再例如,该特定条件可以是当第一存储块BLK#1的读取计数值RCNT#1等于或大于预定阈值时。
因此,当第一存储块BLK#1的读取计数值RCNT#1等于或大于预定阈值时,该第一存储块BLK#1的读取计数值RCNT#1满足特定条件。
另一方面,当第一存储块BLK#1的读取计数值RCNT#1小于预定阈值时,该第一存储块BLK#1的读取计数值RCNT#1不满足特定条件。
参照图6,如果作为步骤S620的结果,第一存储块BLK#1的读取计数值RCNT#1不满足特定条件,则根据本公开的实施例的存储器系统100不改变第一数据DATA#1的写入位置。
也就是说,如果作为步骤S620的结果,第一存储块BLK#1的读取计数值RCNT#1不满足特定条件,则根据本公开的实施例的存储器系统100根据该第一存储块BLK#1的读取计数值RCNT#1来控制将第一数据DATA#1编程到该第一存储块BLK#1中(S630)。
参照图6,如果作为步骤S620的结果,第一存储块BLK#1的读取计数值RCNT#1满足特定条件,则根据本公开的实施例的存储器系统100改变第一数据DATA#1的写入位置。
因此,根据本公开的实施例的存储器系统100选择多个存储块BLK之中的第二存储块BLK#2作为第一数据DATA#1的新写入位置(S640),并且控制将第一数据DATA#1编程到被选择为新写入位置的第二存储块BLK#2中(S650)。
根据本公开的实施例的改变写入位置并且将数据写入在变更写入位置以用于部分封闭延迟控制也被称为自写入技术。
例如,第二存储块BLK#2的读取计数值RCNT#2可以是小于第一存储块BLK#1的读取计数值RCNT#1的值。
再例如,相对于第一超级块中的多个相应存储块BLK#1、BLK#2、BLK#3和BLK#4的读取计数值的总和,第二存储块BLK#2的读取计数值RCNT#2可占据小于预定阈值百分比的百分比。
又例如,第二存储块BLK#2的读取计数值RCNT#2可以是第一超级块中的多个相应存储块BLK#1、BLK#2、BLK#3和BLK#4的读取计数值之中的最小值。
再例如,第二存储块BLK#2的读取计数值RCNT#2可以小于预定阈值。
第一存储块BLK#1和第二存储块BLK#2可被包括在相同的超级块SB中。
第一存储块BLK#1和第二存储块BLK#2可位于相同的存储器管芯中,或者可位于不同的存储器管芯中。
对于上述部分封闭延迟控制,根据本公开的实施例的存储器控制器120可包括存储器接口122和控制电路123,其中存储器接口122用于与包括多个存储块BLK的存储器装置110通信,并且控制电路123用于根据多个存储块BLK之中的作为当前写入计划位置的第一存储块BLK#1的读取计数值RCNT#1,来控制对多个存储块BLK之中的第一存储块BLK#1和第二存储块BLK#2中的一个存储块执行第一数据DATA#1的写入操作。
当根据第一存储块BLK#1的读取计数值RCNT#1改变了写入位置时,对第二存储块BLK#2执行第一数据DATA#1的写入操作的情况下,作为变更写入位置的第二存储块BLK#2的读取计数值RCNT#2可小于在改变之前作为写入位置的第一存储块BLK#1的读取计数值RCNT#1。
以上内容可归纳为如下。在第一数据DATA#1的写入操作中,存储器控制器120检查第一存储块BLK#1的读取计数值RCNT#1,该第一存储块BLK#1是存储器装置110中的多个存储块BLK之中的、根据预定写入位置顺序所确定的当前写入计划位置(S610)。
此后,存储器控制器120确定第一存储块BLK#1的经检查的读取计数值RCNT#1是否满足特定条件(S620)。作为确定结果,如果第一存储块BLK#1的经检查的读取计数值RCNT#1不满足特定条件,则存储器控制器120将第一数据DATA#1的写入位置保持为作为当前写入计划位置的第一存储块BLK#1,从而控制对作为当前写入计划位置的第一存储块BLK#1执行第一数据DATA#1的写入操作(S630)。
作为步骤S620的确定结果,如果第一存储块BLK#1的经检查的读取计数值RCNT#1满足特定条件,则存储器控制器120将第一数据DATA#1的写入位置从作为当前写入计划位置的第一存储块BLK#1改变到第二存储块BLK#2,从而控制对作为变更写入位置的第二存储块BLK#2执行第一数据DATA#1的写入操作(S640和S650)。
作为第一数据DATA#1的变更写入位置的第二存储块BLK#2可被包括在与多个存储块BLK之中的第一存储块BLK#1相同的超级块中。
上述特定条件可以是用于确定是否应用自写入技术的条件。例如,如果作为当前写入计划位置的第一存储块BLK#1的经检查的读取计数值RCNT#1小于预定阈值,则存储器控制器120确定该第一存储块BLK#1的经检查的读取计数值RCNT#1不满足特定条件。如果第一存储块BLK#1的经检查的读取计数值RCNT#1等于或大于预定阈值,则存储器控制器120可确定该第一存储块BLK#1的经检查的读取计数值RCNT#1满足特定条件。
再例如,如果在包括第一存储块BLK#1的超级块中包括的多个相应存储块BLK的读取计数值的总和中,第一存储块BLK#1的经检查的读取计数值RCNT#1所占的百分比小于预定阈值百分比,则存储器控制器120可确定该第一存储块BLK#1的经检查的读取计数值RCNT#1不满足特定条件。如果在包括第一存储块BLK#1的超级块中包括的多个相应存储块BLK的读取计数值的总和中,第一存储块BLK#1的经检查的读取计数值RCNT#1所占的百分比等于或大于预定阈值百分比,则存储器控制器120可确定该第一存储块BLK#1的经检查的读取计数值RCNT#1满足特定条件。
当第一数据DATA#1是热数据时,存储器控制器120执行检查作为当前写入计划位置的第一存储块BLK#1的读取计数值RCNT#1的进程,从而根据第一存储块BLK#1的经检查的读取计数值RCNT#1,来控制对第一存储块BLK#1或第二存储块BLK#2执行第一数据DATA#1的写入操作。
当第一数据DATA#1是冷数据时,存储器控制器120不执行检查作为当前写入计划位置的第一存储块BLK#1的读取计数值RCNT#1的进程和改变写入位置的进程,并且控制将对作为当前写入计划位置的第一存储块BLK#1执行第一数据DATA#1的写入操作。作为不同于热数据的数据,冷数据可表示预期以少于阈值读取请求计数被请求读取的数据,或者已经以少于阈值读取请求计数被请求读取的数据。
也就是说,在第一数据DATA#1是冷数据的情况下,存储器控制器120可如原样地控制在作为当前写入计划位置的第一存储块BLK#1中执行第一数据DATA#1的写入操作。
稍后将参照图15描述将第一数据DATA#1确定为热数据的方法。
在下文中,可进一步详细描述上面提及的部分封闭延迟控制。
图7是示出根据本公开的实施例的存储器系统100的部分封闭延迟控制方法中的存储块的设置的示图。
参照图7,存储器控制器120可以超级块SB为单位来管理存储器装置110中设置的多个存储块BLK。
存储器装置110中设置的多个存储块BLK可分组为至少两个超级块SB#1、SB#2、……。也就是说,存储器装置110中设置的多个存储块BLK可划分地分配到至少两个超级块SB#1、SB#2、……。
该至少两个超级块SB#1、SB#2、……中的每一个可被配置成包括多个存储块BLK#1、BLK#2、BLK#3和BLK#4。
该至少两个相应超级块SB#1、SB#2、……中包括的多个存储块BLK#1、BLK#2、BLK#3和BLK#4的数量可相同或不同。
存储器控制器120的控制电路123可将多个存储块BLK作为至少两个超级块SB#1、SB#2、……来管理,每个超级块包括多个存储块BLK#1、BLK#2、BLK#3和BLK#4。
该至少两个超级块SB#1、SB#2、……中的每一个可由至少一个平面来配置,并且可对应于至少一个存储器管芯。
图8是示出根据本公开的实施例的在存储器系统100中发生部分封闭现象的示图。
参照图8,第一超级块SB#1被配置成包括四个存储块BLK#1、BLK#2、BLK#3和BLK#4。该第一超级块SB#1是开放超级块。
参照图8,第一超级块SB#1中包括的四个存储块BLK#1、BLK#2、BLK#3和BLK#4之中的第一存储块BLK#1的读取计数值RCNT#1大于其它存储块BLK#2、BLK#3和BLK#4的读取计数值RCNT#2、RCNT#3和RCNT#4。
参照图8,当导致部分封闭(或读取回收)的阈值为约50K时,如果第一存储块BLK#1的读取计数值RCNT#1仅略微增加,则可能发生部分封闭现象,其中第一存储块BLK#1可能不再被写入或者第一超级块SB#1可能不再被写入。
参照图8,在第一存储块BLK#1的读取计数值RCNT#1相当高的状态下,如果将可能被频繁读取的第一数据DATA#1写入第一存储块BLK#1,则第一存储块BLK#1的读取计数值RCNT#1可能容易地达到部分封闭阈值(或读取回收阈值),因此可能快速推进包括第一存储块BLK#1的第一超级块SB#1的部分封闭。
关于部分封闭操作,当至少两个超级块SB#1、SB#2、……中的每一个中包括的多个存储块BLK#1、BLK#2、BLK#3和BLK#4之中的第一存储块BLK#1的读取计数值RCNT#1变得等于或大于预设的部分封闭阈值时,存储器控制器120的控制电路123可禁止第一存储块BLK#1中的写入操作,或者禁止包括第一存储块BLK#1的第一超级块SB#1中的写入操作。
图9是根据本公开的实施例的存储器系统100的部分封闭延迟控制的示图,并且图10和图11是示例性地示出根据本公开的实施例的通过存储器系统100的写入位置控制的部分封闭延迟控制方法的示图。
参照图9,第一超级块SB#1可包括多个存储块BLK#1、BLK#2、BLK#3和BLK#4,并且第一存储块BLK#1和第二存储块BLK#2可存在于第一超级块SB#1中包括的多个存储块BLK#1、BLK#2、BLK#3和BLK#4之中。
写入位置控制技术可用于部分封闭延迟控制。写入位置控制技术也称为自写入技术。
为了描述通过写入位置控制技术的部分封闭延迟控制,以第一超级块SB#1作为示例。出于描述的目的,待写入的数据是第一数据DATA#1,并且该第一数据DATA#1的写入位置是第一存储块BLK#1。也就是说,在不应用通过写入位置控制技术的部分封闭延迟控制的情况下,将第一数据DATA#1写入第一存储块BLK#1。
参照图9,对于通过写入位置控制技术的部分封闭延迟控制,存储器控制器120的控制电路123可通过参考第一超级块SB#1中包括的多个相应存储块BLK#1、BLK#2、BLK#3和BLK#4的读取计数值RCNT#1、RCNT#2、RCNT#3和RCNT#4来从第一超级块SB#1中包括的多个存储块BLK#1、BLK#2、BLK#3和BLK#4中选择待写入第一数据DATA#1的存储块。
第一超级块SB#1中包括的多个相应存储块BLK#1、BLK#2、BLK#3和BLK#4的读取计数值RCNT#1、RCNT#2、RCNT#3和RCNT#4可存储在存储器装置110中、可存储在存储器控制器120中的工作存储器125中、或者可存储在存储器装置110中并且然后被加载到存储器控制器120中的工作存储器125中。
参照图9,如果与当前待写入的第一数据DATA#1的写入位置相对应的第一存储块BLK#1的读取计数值RCNT#1不是可导致部分封闭的值,则存储器控制器120的控制电路123选择与当前待写入的第一数据DATA#1的写入位置相对应的第一存储块BLK#1作为最终写入位置。
参照图9,如果与当前待写入的第一数据DATA#1的写入位置相对应的第一存储块BLK#1的读取计数值RCNT#1是可能导致部分封闭的值,则存储器控制器120的控制电路123选择存储块BLK#2、BLK#3和BLK#4中的一个存储块作为第一数据DATA#1的最终写入位置。
存储块BLK#2、BLK#3和BLK#4之中的被选择作为第一数据DATA#1的最终写入位置的存储块可以是读取计数值小于第一存储块BLK#1的读取计数值RCNT#1的存储块。
可选地,虽然被选择作为第一数据DATA#1的最终写入位置的存储块具有等于或大于第一存储块BLK#1的读取计数值RCNT#1的读取计数值,但是所选择存储块可以是读取计数值不可能或几乎不可能增加的存储块。
如上所述,当“第一存储块BLK#1的读取计数值RCNT#1是可导致部分封闭的值”时,这可表示第一存储块BLK#1的读取计数值RCNT#1等于或大于部分封闭延迟控制阈值。
可选地,当“第一存储块BLK#1的读取计数值RCNT#1是可导致部分封闭的值”时,这可表示第一存储块BLK#1的读取计数值RCNT#1是在预定范围(例如,5%)内接近预设的部分封闭阈值的值。预设的部分封闭阈值可以是等于或大于部分封闭延迟控制阈值的值。
可选地,当“第一存储块BLK#1的读取计数值RCNT#1是可导致部分封闭的值”时,这可表示第一存储块BLK#1的读取计数值RCNT#1至少比其它存储块BLK#2、BLK#3和BLK#4的读取计数值RCNT#2、RCNT#3和RCNT#4高预定水平。
可选地,当“第一存储块BLK#1的读取计数值RCNT#1是可导致部分封闭的值”时,这可表示相对于第一超级块SB#1中包括的多个相应存储块BLK#1、BLK#2、BLK#3和BLK#4的读取计数值RCNT#1、RCNT#2、RCNT#3和RCNT#4的总和RCNT#1+RCNT#2+RCNT#3+RCNT#4,第一存储块BLK#1的读取计数值RCNT#1的百分比至少等于或大于阈值百分比。
例如,参照图9和图10,在相对于第一超级块SB#1中包括的多个相应存储块BLK#1、BLK#2、BLK#3和BLK#4的读取计数值RCNT#1、RCNT#2、RCNT#3和RCNT#4的总和RCNT#1+RCNT#2+RCNT#3+RCNT#4,第一存储块BLK#1的读取计数值RCNT#1的百分比小于阈值百分比的情况下,存储器控制器120的控制电路123可选择第一存储块BLK#1作为第一数据DATA#1的最终写入位置,从而可控制对第一存储块BLK#1执行第一数据DATA#1的写入操作。
参照图9和图11,在相对于第一超级块SB#1中包括的多个相应存储块BLK#1、BLK#2、BLK#3和BLK#4的读取计数值RCNT#1、RCNT#2、RCNT#3和RCNT#4的总和RCNT#1+RCNT#2+RCNT#3+RCNT#4,第一存储块BLK#1的读取计数值RCNT#1的百分比至少等于或大于阈值百分比的情况下,即使第一存储块BLK#1是第一数据DATA#1的写入位置,存储器控制器120的控制电路123也可选择第二存储块BLK#2作为最终写入位置,从而可控制对第二存储块BLK#2执行第一数据DATA#1的写入操作。
再例如,参照图9和图10,在第一存储块BLK#1的读取计数值RCNT#1小于部分封闭延迟控制阈值的情况下,存储器控制器120的控制电路123可选择第一存储块BLK#1作为第一数据DATA#1的最终写入位置,从而可控制对第一存储块BLK#1执行第一数据DATA#1的写入操作。
参照图9和图11,在第一存储块BLK#1的读取计数值RCNT#1等于或大于部分封闭延迟控制阈值的情况下,即使第一存储块BLK#1是第一数据DATA#1的写入位置,存储器控制器120的控制电路123也可选择第二存储块BLK#2作为最终写入位置,从而可控制对第二存储块BLK#2执行第一数据DATA#1的写入操作。
例如,在根据第一存储块BLK#1的读取计数值RCNT#1,对作为变更写入位置的第二存储块BLK#2执行第一数据DATA#1的写入操作的情况下,该第二存储块BLK#2的读取计数值RCNT#2可小于第一存储块BLK#1的读取计数值RCNT#1。
在这种情况下,该第二存储块BLK#2可以是具有第一超级块SB#1中包括的多个相应存储块BLK#1、BLK#2、BLK#3和BLK#4的读取计数值RCNT#1、RCNT#2、RCNT#3和RCNT#4之中的、最低读取计数值RCNT#2的存储块。
再例如,虽然在第二存储块BLK#2的读取计数值RCNT#2不小于第一存储块BLK#1的读取计数值RCNT#1或者不是第一超级块SB#1中包括的多个相应存储块BLK#1、BLK#2、BLK#3和BLK#4的读取计数值RCNT#1、RCNT#2、RCNT#3和RCNT#4之中的最低读取计数值RCNT#2的情况下,但是该第二存储块BLK#2可以是在读取计数值方面的增加预测值为最低的存储块。
在读取计数值方面的增加预测值可以是基于第一超级块SB#1中包括的多个相应存储块BLK#1、BLK#2、BLK#3和BLK#4中存储的数据读取模式信息(数据读取历史信息)而计算的值。
图12和图13是示出根据本公开的实施例的通过存储器系统100的写入位置控制的部分封闭延迟控制方法中的修改的示图。
在对作为变更写入位置的第二存储块BLK#2执行第一数据DATA#1的写入操作的情况下,可改变预先已知的写入顺序。由于该事实,为了匹配预先已知的写入顺序,存储器控制器120的控制电路123可控制将不同于第一数据DATA#1的数据写入作为原始写入位置的第一存储块BLK#1。
即,如果确定第一数据DATA#1为热数据,并且作为当前写入计划位置的第一存储块BLK#1的经检查的读取计数值RCNT#1满足上述特定条件,则存储器控制器120将第一数据DATA#1的写入位置从作为当前写入计划位置的第一存储块BLK#1改变到第二存储块BLK#2。因此,存储器控制器120可控制对作为当前写入计划位置的第一存储块BLK#1执行不同于第一数据DATA#1的数据的写入操作。然后,当作为第一数据DATA#1的变更写入位置的第二存储块BLK#2变为根据预定义的写入位置顺序的当前写入计划位置时,存储器控制器120可控制对第二存储块BLK#2执行第一数据DATA#1的写入操作。
上述不同于第一数据DATA#1的数据可表示可导致较低读取请求计数的数据。
例如,如图12所示,存储器控制器120的控制电路123可控制对在改变之前作为写入位置的第一存储块BLK#1执行虚拟数据DMY的写入操作,该虚拟数据DMY为不同于第一数据DATA#1的并且可不导致读取请求的数据。此后,存储器控制器120的控制电路123可控制对作为变更写入位置的第二存储块BLK#2执行第一数据DATA#1的写入操作。
虚拟数据DMY可以是不被执行读取操作的数据。也就是说,虚拟数据DMY可以是不会从主机生成读取操作命令的数据。由于该事实,由于虚拟数据DMY而增加第一存储块BLK#1的读取计数值RCNT#1的可能性可能为零或非常低。
再例如,如图13所示,在对作为变更写入位置的第二存储块BLK#2执行第一数据DATA#1的写入操作的情况下,存储器控制器120可控制对在改变之前作为写入位置的第一存储块BLK#1执行冷数据的写入操作,该冷数据可导致小于阈值读取请求计数的读取请求计数。此后,存储器控制器120的控制电路123可控制将对作为变更写入位置的第二存储块BLK#2执行第一数据DATA#1的写入操作。
冷数据为读取频率等于或低于预定水平的数据,并且可具有低于第一数据DATA#1的读取频率的读取频率。由于该事实,由于冷数据而增加第一存储块BLK#1的读取计数值RCNT#1的可能性可能较低。
图14是示出根据本公开的实施例的用于存储器系统100的写入位置控制的地址转换模块1400及其操作的示图。
参照图14,对于写入位置控制,根据本公开的实施例的存储器控制器120可管理逻辑地址LBA与物理地址PBA之间的映射表MAP_TBL,并且可进一步包括地址转换模块1400,该地址转换模块1400改变映射表MAP_TBL内的逻辑地址LBA与物理地址PBA之间的映射关系。
地址转换模块1400可在映射表MAP_TBL中将映射到与第一数据DATA#1相对应的第一逻辑地址LBA10的物理地址PBA从第一存储块BLK#1的第一物理地址PBA A改变为第二存储块BLK#2的第二物理地址PBA A’,从而可将第一数据DATA#1的写入位置从第一存储块BLK#1改变为第二存储块BLK#2。
作为映射到与第一数据DATA#1相对应的第一逻辑地址LBA10的、第一存储块BLK#1的第一物理地址PBA A可以是第一超级块SB#1中的第一存储块BLK#1的物理地址,并且可包括该第一存储块BLK#1的物理地址信息,并且可进一步包括包含该第一存储块BLK#1的第一超级块SB#1的标识信息(或地址信息)。换言之,映射到与第一数据DATA#1相对应的第一逻辑地址LBA10的第一物理地址PBA A可以是第一超级块SB#1的标识信息和第一存储块BLK#1的物理地址的组合信息。
映射到与第一数据DATA#1相对应的第一逻辑地址LBA10的、第二存储块BLK#2的第二物理地址PBA A’可以是第一超级块SB#1中的第二存储块BLK#2的物理地址,并且可包括该第二存储块BLK#2的物理地址信息,并且可进一步包括包含该第二存储块BLK#2的第一超级块SB#1的标识信息(或地址信息)。换言之,映射到与第一数据DATA#1相对应的第一逻辑地址LBA10的第二物理地址PBA A’可以是第一超级块SB#1的标识信息和第二存储块BLK#2的物理地址的组合信息。
即,如果第一存储块BLK#1的经检查的读取计数值RCNT#1不满足特定条件(自写入条件),则存储器控制器120的地址转换模块1400可在映射表MAP_TBL中将映射到第一数据DATA#1的第一逻辑地址LBA10的物理地址保持为第一存储块BLK#1的物理地址。
如果第一存储块BLK#1的经检查的读取计数值RCNT#1满足特定条件(自写入条件),则存储器控制器120的地址转换模块1400可在映射表MAP_TBL中将映射到第一数据DATA#1的第一逻辑地址LBA10的物理地址改变为第二存储块BLK#2的物理地址。
上述地址转换模块1400可以是闪存转换层(FTL)模块。
上述映射表MAP_TBL可存储在存储器装置110中、可存储在存储器控制器120中的工作存储器125中、或者可存储在存储器装置110中并且然后被加载到存储器控制器120中的工作存储器125中。
图15是根据本公开的实施例的通过利用存储器系统100的热逻辑地址列表1500的写入位置控制的示图。
参照图15,存储器控制器120的控制电路123可管理热逻辑地址列表(HotLBAList)1500,该热逻辑地址列表记录访问百分比等于或大于阈值访问百分比的数据的逻辑地址LBA。
热逻辑地址列表1500可包括访问百分比(读取百分比)或读取请求计数(例如,读取计数值)等于或大于预设的阈值访问百分比或阈值读取请求计数(例如,阈值读取计数值)的数据的逻辑地址LBA。每条数据的访问百分比(读取百分比)指示该条数据引起了多少读取操作。例如,访问百分比可表达为相对于主机对所有数据的读取请求计数,相应数据的读取请求计数。
如果生成对第一数据DATA#1的写入请求,则存储器控制器120可检查包括热数据的逻辑地址的热逻辑地址列表1500。如果检查到第一数据DATA#1的第一逻辑地址包括在热逻辑地址列表1500中,则存储器控制器120可确定该第一数据DATA#1为热数据。如果检查到第一数据DATA#1的第一逻辑地址未包括在热逻辑地址列表1500中,则存储器控制器120可确定该第一数据DATA#1为冷数据。
存储器控制器120可基于从主机接收的信息(例如,热数据的标识信息或热数据的逻辑地址信息)来生成和校正热逻辑地址列表1500。这可以是一种可用于以下情况的列表生成和管理方法:对第一数据DATA#1的写入操作是初始地将第一数据DATA#1写入存储器装置110的操作的情况。
可选地,存储器控制器120可基于各个数据的读取计数值来生成和校正热逻辑地址列表1500,该热逻辑地址列表1500包括读取计数值等于或大于阈值读取计数值的数据的逻辑地址信息。这可以是一种可用于以下情况的列表生成和管理方法:对第一数据DATA#1的写入操作是试图将已经写入存储器装置110中的某个存储块的第一数据DATA#1迁移到另一存储块(例如,BLK#1)的迁移操作(写入操作的一种类型)的情况。
存储器控制器120可根据从主机接收的信息(例如,所添加热数据的标识信息或所添加热数据的逻辑地址信息)、写入缓冲器的状态改变、每个数据的读取计数值的改变、或者关于在存储器装置110的读取操作中发生的事件的信息(例如,根据错误检查结果信息或软解码结果信息的所添加热数据的标识信息或所添加热数据的逻辑地址信息)来校正热逻辑地址列表1500。
在第一数据DATA#1的逻辑地址LBA未包括在热逻辑地址列表1500中的情况下,存储器控制器120可确定第一数据DATA#1为冷数据,从而可控制对作为当前写入计划位置的第一存储块BLK#1执行第一数据DATA#1的写入操作。第一存储块BLK#1的位置(地址)可对应于与第一数据DATA#1的逻辑地址LBA相对应的物理地址PBA。
在第一数据DATA#1的逻辑地址LBA包括在热逻辑地址列表1500中的情况下,存储器控制器120可确定第一数据DATA#1为热数据,从而可控制对第二存储块BLK#2执行第一数据DATA#1的写入操作。
热逻辑地址列表1500可存储在存储器装置110中、可存储在存储器控制器120中的工作存储器125中、或者可存储在存储器装置110中并且然后被加载到存储器控制器120中的工作存储器125中。
通过上述根据本公开的实施例的部分封闭延迟控制,可以防止相比于其它存储块BLK,特定存储块BLK的读取计数值过度增加,从而可以延迟发生读取回收和部分封闭现象。
也就是说,通过上述根据本公开的实施例的部分封闭延迟控制,可以延迟由于集中读取开放超级块SB中的特定存储块BLK而导致发生该超级块SB的部分封闭现象的时间点。
通过上述根据本公开的实施例的部分封闭延迟控制,不仅可以延迟发生部分封闭的时间点,还可以延迟导致读取回收的时间点,并且可以增加将开放超级块变成被完全写入的正常封闭超级块的可能性。
上面在存储块BLK方面描述了部分封闭延迟控制,并且下面可在存储器管芯方面进行描述。在存储器管芯方面的部分封闭延迟控制与在存储块BLK方面的部分封闭延迟控制基本上相同。
图16是示意性地示出根据本公开的实施例的存储器装置110的超级块结构的示图。
图16示出了与图5所示的超级块结构不同的简单超级块结构。图16的图示对应于多个存储器管芯DIE#1、DIE#2、DIE#3和DIE#4中的每一个包括一个平面的情况。
参照图16,如上所述,存储器装置110可由多个存储器管芯DIE#1、DIE#2、DIE#3和DIE#4来配置。
存储器装置110中包括的多个存储块BLK可通过被分配到多个超级块SB#1、SB#2、SB#3和SB#4来管理。
多个超级块SB#1、SB#2、SB#3和SB#4中的每一个可包括多个存储块BLK。
在图16中,一个方框可视为存储块BLK。在这种情况下,图16所示的多个超级块SB#1、SB#2、SB#3和SB#4中的每一个包括四个存储块BLK。多个超级块SB#1、SB#2、SB#3和SB#4中的每一个中包括的四个存储块BLK可分别位于四个存储器管芯DIE#1、DIE#2、DIE#3和DIE#4中。
图17是在图16的超级块结构中的根据本公开的实施例的通过存储器系统100的写入位置控制的部分封闭延迟控制方法的示图。在下文中,可在多个超级块SB#1、SB#2、……、SB#257、SB#258、……之中的第一超级块SB#1的方面来描述部分封闭延迟控制。
参照图17,存储器控制器120可通过使用读取计数表RCNT TBL来执行部分封闭延迟控制,该读取计数表RCNT TBL包括多个超级块SB#1、SB#2、……、SB#257、SB#258、……的每一个中包括的存储块BLK的读取计数值。
例如,在读取计数表RCNT TBL中,第一超级块SB#1中包括的四个存储块的读取计数值分别为49K、1K、10K和20K。换言之,第一超级块SB#1中包括的四个存储块之中的位于第一存储器管芯DIE#1中的存储块的读取计数值49K显著高于位于第二至第四存储器管芯DIE#2、DIE#3和DIE#4中的存储块的读取计数值1K、10K和20K。
即,当第一超级块SB#1中包括的四个存储块对应于四个存储器管芯DIE#1、DIE#2、DIE#3和DIE#4时,上述情况对应于以下情况:在第一超级块SB#1的四个相应存储器管芯DIE#1、DIE#2、DIE#3和DIE#4的读取计数值49K、1K、10K和20K之中,特定的一个存储器管芯DIE#1的读取计数值49K显著高于第二至第四存储器管芯DIE#2、DIE#3和DIE#4的读取计数值1K、10K和20K。
以这种方式,当对第一存储器管芯DIE#1集中执行读取操作时,如果第一超级块SB#1是开放超级块,则很可能由于第一存储器管芯DIE#1而发生读取回收和部分封闭。
因此,根据本公开的实施例的存储器控制器120可控制不将很可能被重复读取的数据写入被集中读取的第一存储器管芯DIE#1,而是写入被相对较少读取的第二存储器管芯DIE#2。
根据本公开的实施例的存储器控制器120可不将与很可能被重复读取的数据的逻辑地址LBA相对应的物理地址PBA写入被集中读取的第一存储器管芯DIE#1中,并且可将该物理地址PBA迁移到被相对较少读取的第二存储器管芯DIE#2。
很可能被重复读取的数据可单独进行管理。另外,被集中读取的存储器管芯、存储块或地址信息可单独进行管理。
图18是示出未将根据本公开的实施例的通过存储器系统100的写入位置控制的部分封闭延迟控制方法应用于图16的超级块结构的情况的示图。图19至图21是示出将根据本公开的实施例的通过存储器系统100的写入位置控制的部分封闭延迟控制方法应用于图16的超级块结构的情况的示图。
图18的图示对应于第一超级块SB#1中包括的四个存储块的读取计数值分别为49K、1K、10K和20K的情况。换言之,图18的图示对应于以下情况:第一超级块SB#1中包括的四个存储块之中的位于第一存储器管芯DIE#1中的存储块的读取计数值49K显著高于位于第二至第四存储器管芯DIE#2、DIE#3和DIE#4中的存储块的读取计数值1K、10K和20K。
即,当第一超级块SB#1中包括的四个存储块对应于四个存储器管芯DIE#1、DIE#2、DIE#3和DIE#4时,上述情况对应于以下情况:在第一超级块SB#1的四个相应存储器管芯DIE#1、DIE#2、DIE#3和DIE#4的读取计数值49K、1K、10K和20K之中,特定的一个存储器管芯DIE#1的读取计数值49K显著高于第二至第四存储器管芯DIE#2、DIE#3和DIE#4的读取计数值1K、10K和20K。
第一存储器管芯DIE#1中包括的存储块BLK中存储的数据是读取计数值增加到49K的数据。也就是说,第一存储器管芯DIE#1中包括的存储块BLK中存储的数据是被大量读取的数据。第一存储器管芯DIE#1中包括的存储块BLK中存储的数据的逻辑地址对应于LBA1000、LBA1004和LBA0。
如上所述,当处于对第一存储器管芯DIE#1集中执行读取操作的状态下,并且在第一超级块SB#1是开放超级块的情况下,如图18所示,如果将对应于逻辑地址LBA10的数据写入到读取计数值相对较高的第一存储器管芯DIE#1中,则很可能发生读取回收和部分封闭。
在这方面,通过利用上述自写入技术来执行部分封闭延迟控制,当处于对第一存储器管芯DIE#1集中执行读取操作的状态下,并且在第一超级块SB#1是开放超级块的情况下,如图19所示,如果将对应于逻辑地址LBA10的数据写入读取计数值相对较低的第二存储器管芯DIE#2,则不太可能发生读取回收和部分封闭。
也就是说,在第一超级块SB#1的四个存储器管芯DIE#1、DIE#2、DIE#3和DIE#4的读取计数值集中到作为任何一个存储器管芯的第一存储器管芯DIE#1中的情况下,根据本公开的实施例的存储器系统100可通过自写入技术来分布第一超级块SB#1的四个存储器管芯DIE#1、DIE#2、DIE#3和DIE#4的读取计数值,从而显著延迟发生部分封闭的时间点或防止部分封闭。
如图20所示,根据待写入的存储器管芯的位置,可执行虚拟写入。在第一存储器管芯DIE#1中存在频繁读取的或可作为热逻辑地址列表1500中包括的逻辑地址进行管理的逻辑地址,并且第一超级块SB#1中的待写入相应数据(对应于LBA10的数据)的位置是第一存储器管芯DIE#1的情况下,根据本公开的实施例的存储器系统100可对读取计数值已经相当高的第一存储器管芯DIE#1执行虚拟数据DMY的写入操作,然后可将对应于逻辑地址LBA10的数据写入(自写入)到读取计数值为最小的第二存储器管芯DIE#2。
例如,虚拟数据DMY可以是将来可不被读取的数据。由于该事实,在读取计数值已经相当高的第一存储器管芯DIE#1的情况下,由于虚拟数据DMY而增加读取计数值的可能性很小。
如图21所示,根据待写入的存储器管芯的位置,可执行写入冷数据Cold Data。在第一存储器管芯DIE#1中存在频繁读取的或可作为热逻辑地址列表1500中包括的逻辑地址进行管理的逻辑地址,并且第一超级块SB#1中的待写入相应数据(对应于LBA10的数据)的位置为第一存储器管芯DIE#1的情况下,根据本公开的实施例的存储器系统100可对读取计数值已经相当高的第一存储器管芯DIE#1执行冷数据Cold Data的写入操作,然后可将对应于逻辑地址LBA10的数据写入(自写入)到读取计数值为最小的第二存储器管芯DIE#2。
例如,冷数据Cold Data可以是将来可以较低频率读取的数据。由于该事实,在读取计数值已经相当高的第一存储器管芯DIE#1的情况下,由于冷数据Cold Data而增加读取计数值的可能性很小。
在下文中,可再次简要描述根据本公开的实施例的上述部分封闭延迟控制方法。
图22是根据本公开的实施例的用于操作存储器控制器120的方法的流程图。
参照图22,根据本公开的实施例的操作存储器控制器120的方法可包括:在第一数据DATA#1的写入操作中,在存储器装置110中的多个存储块BLK之中检查根据预定写入位置顺序而作为当前写入计划位置的第一存储块BLK#1的读取计数值RCNT#1(S2210);并且根据第一存储块BLK#1的经检查的读取计数值RCNT#1,控制将对作为当前写入计划位置的第一存储块BLK#1执行第一数据DATA#1的写入操作,或者对多个存储块BLK之中的第二存储块BLK#2执行第一数据DATA#1的写入操作(S2220)。作为第一数据DATA#1的变更写入位置的第二存储块BLK#2可被包括在与多个存储块BLK之中的第一存储块BLK#1相同的超级块中。
在步骤S2220,在根据第一存储块BLK#1的读取计数值RCNT#1而对作为变更写入位置的第二存储块BLK#2执行第一数据DATA#1的写入操作的情况下,例如,该第二存储块BLK#2的读取计数值RCNT#2可小于第一存储块BLK#1的读取计数值RCNT#1。
在步骤S2220,在第一存储块BLK#1的经检查的读取计数值RCNT#1包括在第一范围中的情况下,存储器控制器120可将第一数据DATA#1的写入位置保持为作为当前写入计划位置的第一存储块BLK#1。可选地,在第一存储块BLK#1的经检查的读取计数值RCNT#1包括在第二范围中的情况下,其中该第二范围具有高于第一范围的上限值的下限值,存储器控制器120可将第一数据DATA#1的写入位置改变到第二存储块BLK#2,该第二存储块BLK#2被包括在与多个存储块BLK之中的第一存储块BLK#1相同的超级块中。
上述第一范围表示相对低于第二范围的读取计数值范围。即,当第一读取计数值范围是在第一下限值和第一上限值之间的范围,并且第二读取计数值范围是在第二下限值和第二上限值之间的范围时,第二范围的第二下限值可具有高于(大于)第一范围的第一上限值的值。
图23是示出根据本公开的实施例的计算系统2300的配置图。
参照图23,根据本公开的实施例的计算系统2300可包括存储器系统100、用于控制计算系统2300的一般操作的中央处理单元(CPU)2310、用于存储与计算系统2300的操作相关的数据和信息的RAM2320、用于向用户提供环境的UI/UX(用户界面/用户体验)模块2330、用于以有线和/或无线方式与外部装置通信的通信模块2340以及用于管理由计算系统2300使用的电力的电源管理模块2350,其全部电联接到系统总线1860。
计算系统2300可包括PC(个人计算机)、诸如智能手机和平板电脑的移动终端或者各种电子装置。
计算系统2300可进一步包括用于供应操作电压的电池,并且可进一步包括应用芯片组、图形相关模块、相机图像处理器(CIS)、DRAM等。此外,如本领域技术人员可理解的,计算系统2300可包括其它组件。
存储器系统100不仅可包括诸如硬盘驱动器(HDD)的将数据存储在磁盘中的装置,而且还包括诸如固态驱动器(SDD)、通用闪存(UFS)装置以及嵌入式MMC(eMMC)装置的将数据存储在非易失性存储器中的装置。非易失性存储器可包括ROM(只读存储器)、PROM(可编程ROM)、EPROM(电可编程ROM)、EEPROM(电可擦除可编程ROM)、闪速存储器、PRAM(相变RAM)、MRAM(磁性RAM)、RRAM(电阻式RAM)和FRAM(铁电RAM)。另外,存储器系统100可被实现为各种类型的存储装置,并且可安装在各种电子装置中。
通过上述根据本公开的实施例的部分封闭延迟控制,可以防止相对于其它存储空间(例如,其它存储块BLK#2至BLK#4或其它存储器管芯DIE#2至DIE#4),某个存储空间(例如,特定存储块BLK#1或特定存储器管芯DIE#1)的读取计数值过度增加,从而延迟或防止发生读取回收和部分封闭现象。
也就是说,通过上述根据本公开的实施例的部分封闭延迟控制,可以延迟或防止由于超级块SB中的特定存储空间(例如,特定存储块BLK#1或特定存储器管芯DIE#1)的集中读取而导致发生开放超级块SB的部分封闭现象。
通过根据本公开的实施例的这种部分封闭延迟控制,不仅可延迟发生部分封闭的时间点,而且可延迟导致读取回收的时间点,并且可增加将开放超级块变成被完全写入的正常封闭超级块的可能性。
根据本公开的实施例的部分封闭延迟控制可当对存储器装置110执行数据写入操作时应用,并且可广泛地当执行垃圾收集(GC)操作、坏块管理(BBM)操作等时,或者当执行类似于数据写入操作的操作(数据迁移操作)时应用。
从以上描述中显而易见的是,根据本公开的实施例,可以有效地利用存储器装置110中的存储空间(例如,存储块或存储器管芯)。
而且,根据本公开的实施例,可以增加存储器装置110中的存储块BLK的使用率。
进一步地,根据本公开的实施例,可以根据存储器装置110中的存储空间(例如,存储块或存储器管芯)的读取情况来自适应地控制数据写入位置。
此外,根据本公开的实施例,可以防止存储器装置110的特定存储空间(例如,超级块)中的子存储空间(例如,存储块或存储器管芯)之中的特定子存储空间(例如,特定存储块或特定存储器管芯)的读取数量(读取计数值)的集中。
另外,根据本公开的实施例,可以控制以分布方式增加存储器装置110的特定存储空间(例如,超级块)中的子存储空间(例如,存储块或存储器管芯)的读取数量(读取计数值)。
根据本公开的实施例,可以防止或延迟由于频繁读取特定存储空间(例如,超级块)中的一些存储块BLK而导致对存储器装置110中的整个特定存储空间(例如,超级块)的写入操作变为不可能的情况(部分封闭情况)。
虽然已经出于说明的目的描述了本公开的示例性实施例,但本领域的技术人员可理解的是,在不脱离本公开的范围和精神的情况下,可进行各种修改、添加和替换。因此,上面和附图中公开的实施例应当仅以描述性的意义考虑,而不是用于限制技术范围。本公开的技术范围不受实施例和附图的限制。本公开的精神和范围应当由所附权利要求以及涵盖落入所附权利要求的范围内的所有等同方案来解释。
Claims (20)
1.一种存储器系统,包括:
存储器装置,包括多个存储块;以及
存储器控制器,在将第一数据写入超级块的操作中,检查第一存储块的读取计数值,并且根据所述第一存储块的读取计数值,控制将所述第一数据编程到所述第一存储块和第二存储块中的一个中,
其中所述第一存储块和所述第二存储块被包括在所述超级块中。
2.根据权利要求1所述的存储器系统,
其中在所述第一数据是热数据的情况下,所述存储器控制器检查所述第一存储块的读取计数值是否满足预定的特定条件,
其中当不满足所述特定条件时,所述存储器控制器控制将所述第一数据编程到所述第一存储块中,并且
其中当满足所述特定条件时,所述存储器控制器控制将所述第一数据编程到所述第二存储块中。
3.根据权利要求2所述的存储器系统,其中在所述第一数据是冷数据的情况下,所述存储器控制器控制将所述第一数据编程到所述第一存储块中。
4.根据权利要求2所述的存储器系统,
其中当所述第一存储块的读取计数值小于阈值时,所述存储器控制器确定所述第一存储块的读取计数值不满足所述特定条件,并且
其中当所述第一存储块的读取计数值等于或大于所述阈值时,所述存储器控制器确定所述第一存储块的读取计数值满足所述特定条件。
5.根据权利要求2所述的存储器系统,
其中当所述第一存储块的读取计数值在所述超级块中包括的存储块的读取计数值的总和中所占的百分比小于预设的阈值百分比时,所述存储器控制器确定所述第一存储块的读取计数值不满足所述特定条件,并且
其中当所述第一存储块的读取计数值在所述总和中所占的百分比等于或大于所述阈值百分比时,所述存储器控制器确定所述第一存储块的读取计数值满足所述特定条件。
6.根据权利要求2所述的存储器系统,其中当满足所述特定条件时,所述存储器控制器进一步控制将不同于所述第一数据的数据编程到所述第一存储块,并且当所述第二存储块变为当前写入计划位置时,控制将所述第一数据编程到所述第二存储块。
7.根据权利要求6所述的存储器系统,其中不同于所述第一数据的数据是虚拟数据或冷数据。
8.根据权利要求2所述的存储器系统,其中所述存储器控制器进一步:
管理逻辑地址与物理地址之间的映射表;
当所述第一存储块的读取计数值不满足所述特定条件时,将所述映射表中的映射到所述第一数据的逻辑地址的物理地址保持为所述第一存储块的物理地址;并且
当所述第一存储块的读取计数值满足所述特定条件时,将所述映射表中的映射到所述第一数据的逻辑地址的物理地址改变为所述第二存储块的物理地址。
9.根据权利要求2所述的存储器系统,其中所述存储器控制器进一步:
当提供对所述第一数据的写入请求时,检查热逻辑地址列表,所述热逻辑地址列表包括热数据的逻辑地址;并且
当检查到所述第一数据的逻辑地址包括在所述热逻辑地址列表中时,确定所述第一数据为所述热数据。
10.根据权利要求1所述的存储器系统,其中所述存储器装置包括至少两个存储器管芯,并且所述第一存储块和所述第二存储块位于不同的存储器管芯中。
11.一种存储器控制器,包括:
存储器接口,与包括多个存储块的存储器装置通信;以及
控制电路,在将第一数据写入超级块的操作中,检查第一存储块的读取计数值,并且根据所述第一存储块的读取计数值,控制将所述第一数据编程到所述第一存储块和第二存储块中的一个中,
其中所述第一存储块和所述第二存储块被包括在所述超级块中。
12.根据权利要求11所述的存储器控制器,
其中在所述第一数据是热数据的情况下,所述控制电路检查所述第一存储块的读取计数值是否满足预定的特定条件,
其中当不满足所述特定条件时,所述控制电路控制将所述第一数据编程到所述第一存储块中,并且
其中当满足所述特定条件时,所述控制电路控制将所述第一数据编程到所述第二存储块中。
13.根据权利要求12所述的存储器控制器,其中在所述第一数据是冷数据的情况下,所述控制电路控制将所述第一数据编程到所述第一存储块中。
14.根据权利要求12所述的存储器控制器,
其中当所述第一存储块的读取计数值小于阈值时,所述控制电路确定所述第一存储块的读取计数值不满足所述特定条件,并且
其中当所述第一存储块的读取计数值等于或大于所述阈值时,所述控制电路确定所述第一存储块的读取计数值满足所述特定条件。
15.根据权利要求12所述的存储器控制器,
其中当所述第一存储块的读取计数值在所述超级块中包括的存储块的读取计数值的总和中所占的百分比小于预设的阈值百分比时,所述控制电路确定所述第一存储块的读取计数值不满足所述特定条件,并且
其中当所述第一存储块的读取计数值在所述总和中所占的百分比等于或大于所述阈值百分比时,所述控制电路确定所述第一存储块的读取计数值满足所述特定条件。
16.根据权利要求12所述的存储器控制器,其中当满足所述特定条件时,所述控制电路进一步控制将不同于所述第一数据的数据编程到所述第一存储块,并且当所述第二存储块变为当前写入计划位置时,所述控制电路控制将所述第一数据编程到所述第二存储块。
17.根据权利要求16所述的存储器控制器,其中不同于所述第一数据的数据是虚拟数据或冷数据。
18.根据权利要求12所述的存储器控制器,进一步包括地址转换模块,所述地址转换模块:
管理逻辑地址与物理地址之间的映射表;
当所述第一存储块的读取计数值不满足所述特定条件时,将所述映射表中的映射到所述第一数据的逻辑地址的物理地址保持为所述第一存储块的物理地址;并且
当所述第一存储块的读取计数值满足所述特定条件时,将所述映射表中的映射到所述第一数据的逻辑地址的物理地址改变为所述第二存储块的物理地址。
19.根据权利要求12所述的存储器控制器,其中所述控制电路进一步:
当生成对所述第一数据的写入请求时,检查热逻辑地址列表,所述热逻辑地址列表包括热数据的逻辑地址;并且
当检查到所述第一数据的逻辑地址包括在所述热逻辑地址列表中时,确定所述第一数据为所述热数据。
20.一种操作存储器系统的方法,所述方法包括:
在将第一数据写入超级块的操作中,检查存储器装置中的第一存储块的读取计数值;并且
根据所述第一存储块的读取计数值,将所述第一数据编程到所述第一存储块和第二存储块中的一个中,
其中所述第一存储块和所述第二存储块被包括在所述超级块中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190126326A KR102695175B1 (ko) | 2019-10-11 | 2019-10-11 | 메모리 시스템, 메모리 컨트롤러 및 동작 방법 |
KR10-2019-0126326 | 2019-10-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112650442A true CN112650442A (zh) | 2021-04-13 |
CN112650442B CN112650442B (zh) | 2024-01-26 |
Family
ID=75346250
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010388729.6A Active CN112650442B (zh) | 2019-10-11 | 2020-05-09 | 存储器系统、存储器控制器及操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11163494B2 (zh) |
KR (1) | KR102695175B1 (zh) |
CN (1) | CN112650442B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116382598A (zh) * | 2023-06-05 | 2023-07-04 | 深圳大普微电子科技有限公司 | 数据搬移方法、闪存设备控制器及闪存设备 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102653235B1 (ko) * | 2019-10-16 | 2024-04-01 | 에스케이하이닉스 주식회사 | 메모리 블록을 효율적으로 관리할 수 있는 메모리 시스템 및 메모리 시스템의 동작방법 |
US20200393974A1 (en) * | 2020-08-27 | 2020-12-17 | Intel Corporation | Method of detecting read hotness and degree of randomness in solid-state drives (ssds) |
US11416365B2 (en) * | 2020-12-30 | 2022-08-16 | Alibaba Group Holding Limited | Method and system for open NAND block detection and correction in an open-channel SSD |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160011971A1 (en) * | 2014-07-14 | 2016-01-14 | Jae-Il Lee | Storage medium, memory system, and method of managing storage area in memory system |
CN108182034A (zh) * | 2016-12-06 | 2018-06-19 | 爱思开海力士有限公司 | 存储系统及其操作方法 |
CN109725848A (zh) * | 2017-10-30 | 2019-05-07 | 东芝存储器株式会社 | 计算机系统及储存装置的控制方法 |
CN109918019A (zh) * | 2017-12-12 | 2019-06-21 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN110045914A (zh) * | 2018-01-15 | 2019-07-23 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8908431B2 (en) * | 2010-02-17 | 2014-12-09 | Samsung Electronics Co., Ltd. | Control method of nonvolatile memory device |
KR102233074B1 (ko) * | 2014-10-08 | 2021-03-30 | 삼성전자주식회사 | 저장 장치 및 그것의 신뢰성 검증 방법 |
US9760478B2 (en) * | 2014-12-02 | 2017-09-12 | Macronix International Co., Ltd. | Read leveling method and memory device using the same |
KR20180108939A (ko) * | 2017-03-23 | 2018-10-05 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
KR20180130140A (ko) | 2017-05-29 | 2018-12-07 | 에스케이하이닉스 주식회사 | 데이터 처리 시스템 및 데이터 처리 방법 |
KR102389433B1 (ko) * | 2017-10-18 | 2022-04-25 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 그 동작 방법 |
KR102535104B1 (ko) * | 2018-03-19 | 2023-05-23 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
US10672497B2 (en) * | 2018-04-03 | 2020-06-02 | SK Hynix Inc. | Memory system and method for bad block management |
KR102583726B1 (ko) * | 2018-06-27 | 2023-10-05 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
KR20200043814A (ko) | 2018-10-18 | 2020-04-28 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
US10990310B2 (en) * | 2019-04-24 | 2021-04-27 | EMC IP Holding Company LLC | Sub-block data deduplication |
KR20200125231A (ko) * | 2019-04-26 | 2020-11-04 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작방법 |
KR20210003625A (ko) * | 2019-07-02 | 2021-01-12 | 에스케이하이닉스 주식회사 | 컨트롤러, 이를 포함하는 메모리 시스템 및 이의 동작 방법 |
US11287998B2 (en) * | 2019-08-02 | 2022-03-29 | Micron Technology, Inc. | Read count scaling factor for data integrity scan |
US10950317B2 (en) * | 2019-08-02 | 2021-03-16 | Micron Technology, Inc. | Read disturb scan consolidation |
-
2019
- 2019-10-11 KR KR1020190126326A patent/KR102695175B1/ko active IP Right Grant
-
2020
- 2020-03-18 US US16/822,332 patent/US11163494B2/en active Active
- 2020-05-09 CN CN202010388729.6A patent/CN112650442B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160011971A1 (en) * | 2014-07-14 | 2016-01-14 | Jae-Il Lee | Storage medium, memory system, and method of managing storage area in memory system |
CN108182034A (zh) * | 2016-12-06 | 2018-06-19 | 爱思开海力士有限公司 | 存储系统及其操作方法 |
CN109725848A (zh) * | 2017-10-30 | 2019-05-07 | 东芝存储器株式会社 | 计算机系统及储存装置的控制方法 |
CN109918019A (zh) * | 2017-12-12 | 2019-06-21 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN110045914A (zh) * | 2018-01-15 | 2019-07-23 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116382598A (zh) * | 2023-06-05 | 2023-07-04 | 深圳大普微电子科技有限公司 | 数据搬移方法、闪存设备控制器及闪存设备 |
CN116382598B (zh) * | 2023-06-05 | 2023-09-08 | 深圳大普微电子科技有限公司 | 数据搬移方法、闪存设备控制器及闪存设备 |
Also Published As
Publication number | Publication date |
---|---|
US11163494B2 (en) | 2021-11-02 |
KR102695175B1 (ko) | 2024-08-14 |
KR20210043314A (ko) | 2021-04-21 |
US20210109675A1 (en) | 2021-04-15 |
CN112650442B (zh) | 2024-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112650442B (zh) | 存储器系统、存储器控制器及操作方法 | |
CN114067870A (zh) | 存储器系统、存储器装置以及用于操作存储器装置的方法 | |
CN114489466A (zh) | 存储器系统及其操作方法 | |
CN113703662B (zh) | 存储器系统、存储器控制器及其操作方法 | |
CN112349315B (zh) | 存储器系统、存储器控制器和操作方法 | |
CN114090473A (zh) | 存储器系统、存储器控制器及操作存储器系统的方法 | |
CN113535598A (zh) | 存储器系统、存储器控制器以及存储器系统的操作方法 | |
CN115963981A (zh) | 存储器系统及存储器系统的操作方法 | |
US11474726B2 (en) | Memory system, memory controller, and operation method thereof | |
US11307942B2 (en) | Memory system, memory controller and method for operating memory controller | |
CN112037837B (zh) | 存储器系统、存储器控制器和存储器设备 | |
CN115206393A (zh) | 存储器装置及存储器装置的操作方法 | |
CN112748870A (zh) | 存储器系统、存储器控制器及操作存储器控制器的方法 | |
US11709610B2 (en) | Memory system, memory controller and operating method | |
US11500771B2 (en) | Memory system, memory controller, and method of operating memory system | |
US11636007B2 (en) | Memory system and operating method thereof for flushing data in data cache with parity | |
US20220300187A1 (en) | Memory system and operating method thereof | |
KR20230161676A (ko) | 이퓨즈 메모리를 제어하는 컨트롤러 및 그 동작 방법 | |
CN113568844A (zh) | 存储器系统、存储器控制器及操作存储器系统的方法 | |
CN115774518A (zh) | 存储器系统及存储器系统的操作方法 | |
CN113380304A (zh) | 存储器系统、存储器控制器以及操作存储器系统的方法 | |
CN114968078A (zh) | 存储器装置及其操作方法 | |
CN116303107A (zh) | 管理与多个分区相对应的数据的存储器系统及其操作方法 | |
CN115437968A (zh) | 存储器系统及存储器系统的操作方法 | |
CN116301569A (zh) | 存储器系统及其操作方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |