CN111949204A - 存储器系统、存储器控制器和存储器装置 - Google Patents
存储器系统、存储器控制器和存储器装置 Download PDFInfo
- Publication number
- CN111949204A CN111949204A CN201911250787.6A CN201911250787A CN111949204A CN 111949204 A CN111949204 A CN 111949204A CN 201911250787 A CN201911250787 A CN 201911250787A CN 111949204 A CN111949204 A CN 111949204A
- Authority
- CN
- China
- Prior art keywords
- memory
- super block
- dies
- blocks
- controller
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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
- 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/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/0253—Garbage collection, i.e. reclamation of unreferenced 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/061—Improving I/O performance
-
- 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/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
- 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/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)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本公开的实施例涉及一种存储器系统、存储器控制器和存储器装置。存储器控制器将多个存储器块的第一集合分组为第一超级块,并且与第一超级块相对应的存储器管芯的数目小于与一个通道相对应的存储器管芯的数目,并且与第一超级块相对应的存储器管芯的数目根据由存储器控制器接收一个或多个控制参数中的哪个控制参数来不同地确定。通过这种方式,可以提供可以灵活地配置超级块同时提高对该超级块的读取、编程或擦除操作的性能的存储器系统、存储器控制器和存储器装置。
Description
相关申请的交叉引用
本申请要求于2019年5月15日提交的韩国专利申请10-2019-0057230的优先权,其全部内容通过引用合并于此。
技术领域
各个实施例总体上涉及存储器系统、存储器控制器和存储器装置。
背景技术
存储器系统基于诸如计算机等主机、诸如智能电话和平板计算机等移动终端、或各种其他电子设备中的任何一种的请求来存储数据。存储器系统可以是将数据存储在磁盘中的类型,诸如硬盘驱动器(HDD),或者可以是将数据存储在非易失性存储器中的类型,诸如固态驱动器(SDD)、通用闪存(UFS)装置或嵌入式MMC(eMMC)装置。
存储器系统可以包括被配置为磁盘或非易失性存储器的存储器装置,并且还可以包括用于控制存储器装置的存储器控制器。存储器控制器可以从主机接收命令,并且可以基于所接收的命令执行或控制用于关于存储器装置读取、写入或擦除数据的操作。
存储器装置可以包括多个存储器块,并且存储器系统可以将多个存储器块分组为多个超级块。存储器系统可以通过以超级块为单位管理存储器装置来有效地管理多个存储器块。
发明内容
各个实施例涉及可以灵活地配置超级块同时提高对该超级块的读取、编程或擦除操作的性能的存储器系统、存储器控制器和存储器装置。
而且,各种实施例涉及可以提高诸如垃圾收集或损耗均衡等后台操作的效率的存储器系统、存储器控制器和存储器装置。
在一个方面,本公开的实施例可以提供一种存储器系统,其包括:包括多个存储器管芯的存储器装置,多个存储器管芯包括共同限定存储器装置中的多个存储器块的相应存储器块组;以及被配置为控制存储器装置的存储器控制器。
存储器装置可以包括多个存储器管芯,并且多个存储器管芯中的至少两个存储器管芯可以对应于一个通道。
存储器控制器可以将多个存储器块的第一集合分组为第一超级块。
多个存储器块可以包括一个或多个第一存储器块和一个或多个第二存储器块。
第一超级块可以包括至少一个第一存储器块和至少一个第二存储器块。
包括至少一个第一存储器块的第一存储器管芯和包括至少一个第二存储器块的第二存储器管芯可以彼此不同。
与第一超级块相对应的存储器管芯的数目可以小于与通道相对应的存储器管芯的数目,并且与第一超级块相对应的存储器管芯的数目可以根据由存储器控制器接收一个或多个控制参数中的哪个控制参数来不同地确定。
存储器控制器可以将多个存储器块的第二集合分组为不同于第一超级块的第二超级块。第一超级块中的存储器块的数目可以不同于
第二超级块中的存储器块的数目。
一个或多个控制参数中的至少一个控制参数可以由从主机接收的命令动态地指示。
一个或多个控制参数可以包括关于存储器装置的最大功率预算信息。
一个或多个控制参数可以包括存储器控制器与主机之间的最大数据通信速度和存储器控制器与存储器装置之间的最大数据通信速度中的至少一项。
一个或多个控制参数还可以包括第一超级块中的每个存储器块的编程时间、读取感测时间和数据输出时间中的一项或多项。
与第一超级块相对应的存储器管芯的数目可以根据通过用第一权重对编程时间进行加权而获得的值和通过用第二权重对读取感测时间进行加权而获得的值来不同地确定。
第一权重和第二权重可以由控制比率确定,该控制比率根据特定时间量内针对第一超级块的编程操作计数与读取操作计数的比率或者特定时间量内针对第一超级块的编程数据大小与读取数据大小的比率而改变。
当控制比率等于或大于第一阈值比率时,与第一超级块相对应的存储器管芯的数目可以根据编程时间而改变,而与读取感测时间无关。
当控制比率等于或小于第二阈值比率时,与第一超级块相对应的存储器管芯的数目可以根据读取感测时间而改变,而与编程时间无关。第二阈值比率可以小于第一阈值比率。
在另一方面,本公开的实施例可以提供一种存储器控制器,包括:存储器接口,被配置为与包括多个存储器管芯的存储器装置通信,多个存储器管芯包括共同限定存储器装置中的多个存储器块的相应存储器块组;以及被配置为控制存储器装置的控制电路。
存储器装置可以包括多个存储器管芯,并且多个存储器管芯中的至少两个存储器管芯可以对应于一个通道。
控制电路可以将多个存储器块的第一集合分组为第一超级块。
多个存储器块可以包括一个或多个第一存储器块和一个或多个第二存储器块。
第一超级块可以包括至少一个第一存储器块和至少一个第二存储器块。
包括至少一个第一存储器块的第一存储器管芯和包括至少一个第二存储器块的第二存储器管芯可以彼此不同。
与第一超级块相对应的存储器管芯的数目可以小于与通道相对应的存储器管芯的数目,并且与第一超级块相对应的存储器管芯的数目可以根据由控制电路接收一个或多个控制参数中的哪个控制参数来不同地确定。
控制电路可以将多个存储器块的第二集合分组为不同于第一超级块的第二超级块。第一超级块中的存储器块的数目可以不同于第二超级块中的存储器块的数目。
一个或多个控制参数可以包括存储器控制器与主机之间的最大数据通信速度和存储器控制器与存储器装置之间的最大数据通信速度中的至少一项。
一个或多个控制参数还可以包括第一超级块中的每个存储器块的编程时间、读取感测时间和数据输出时间中的一项或多项。
与第一超级块相对应的存储器管芯的数目可以根据通过用第一权重对编程时间进行加权而获得的值和通过用第二权重对读取感测时间进行加权而获得的值来不同地确定。
在另一方面,本公开的实施例可以提供一种存储器装置,包括:多个存储器块,其中该存储器装置包括多个存储器管芯,每个存储器管芯包括共同限定存储器装置的多个存储器块的相应存储器块组。
多个存储器管芯中的至少两个存储器管芯可以对应于一个通道。
多个存储器块可以包括一个或多个第一存储器块和一个或多个第二存储器块,并且多个存储器块的第一集合可以被分组为第一超级块。
第一超级块可以包括至少一个第一存储器块和至少一个第二存储器块。
包括至少一个第一存储器块的第一存储器管芯和包括至少一个第二存储器块的第二存储器管芯可以彼此不同。
与第一超级块相对应的存储器管芯的数目可以小于与通道相对应的存储器管芯的数目,并且与第一超级块相对应的存储器管芯的数目可以根据应用一个或多个控制参数中的哪个控制参数来不同地确定。
多个存储器块的第二集合可以被分组为不同于第一超级块的第二超级块,并且第一超级块中的存储器块的数目可以不同于第二超级块中的存储器块的数目。
一个或多个控制参数可以包括存储器控制器与主机之间的最大数据通信速度和存储器控制器与存储器装置之间的最大数据通信速度中的至少一项。
一个或多个控制参数还可以包括第一超级块中的每个存储器块的编程时间、读取感测时间和数据输出时间中的一项或多项。
与第一超级块相对应的存储器管芯的数目可以根据通过用第一权重对编程时间进行加权而获得的值和通过用第二权重对读取感测时间进行加权而获得的值来不同地确定。
在另一方面,本公开的实施例可以提供一种存储器系统,包括:包括多个管芯的存储器装置,每个管芯具有多个存储器块;以及控制器。
控制器可以通过从特定数目的管芯中的每个管芯选择至少一个存储器块来配置超级块,该特定数目是至少两个。
控制器可以基于一个或多个信息来确定特定数目的管芯。
这些信息可以包括存储器装置的最大功率预算。
这些信息可以包括控制器与主机之间的通信速度。
这些信息可以包括控制器与存储器装置之间的通信速度。
这些信息可以包括超级块中的存储器块的基于操作的时间(例如,编程时间/读取感测时间/数据输出时间)。
本公开的实施例可以提供可以灵活地配置超级块同时提高对该超级块的读取、编程或擦除操作的性能的存储器系统、存储器控制器和存储器装置。
此外,本公开的实施例可以提供可以提高诸如垃圾收集或损耗均衡等后台操作的效率的存储器系统、存储器控制器和存储器装置。
附图说明
图1是示意性地示出根据本公开的实施例的存储器系统的框图;
图2是示意性地示出根据本公开的实施例的存储器装置的框图;
图3是示意性地示出根据本公开的实施例的存储器装置的存储器块的图;
图4是示出根据本公开的实施例的在存储器系统中配置超级块的图;
图5是示出根据本公开的实施例的在存储器系统中配置超级块的另一示例的表示的图;
图6是示出根据本公开的实施例的用于确定与存储器系统中的超级块相对应的存储器管芯的数目的控制参数的图;
图7是示出根据本公开的实施例的操作的图,其中一些控制参数由从主机接收的命令指示;
图8至10是用于帮助说明根据本公开的实施例的以下示例的图,在每个示例中,与超级块相对应的存储器管芯的数目由至少一个控制参数确定;
图11和12是用于帮助说明根据本公开的实施例的以下示例的图,在每个示例中,与超级块相对应的存储器管芯的数目根据对超级块执行的操作的特性来确定;
图13是用于帮助说明图12所示的操作方法的流程图;以及
图14是示意性地示出根据本公开的实施例的计算系统的框图。
具体实施方式
下面参考附图详细描述本公开的各方面。在以下描述中,在所有附图中,相同的元素由相同的附图标记表示。此外,在本公开的以下描述中,可以省略公知的技术信息,以免模糊本发明的特征和方面。而且,除非另外特别说明,否则说明书和权利要求书中使用的开放式术语(诸如“包括”、“具有”、“包含”等)不应当被解释为限于所述的元件或操作。除非另外特别说明,否则如果在提到单数名词时使用不定冠词或定冠词(例如,“一”、“一个”、“该”),则可以包括该名词的复数形式。
此外,在描述本公开的部件时,可以存在诸如第一、第二、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闪存、竖直NAND闪存、NOR闪存、电阻式随机存取存储器(RRAM)、相变存储器(PRAM)、磁阻随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)或自旋转移矩随机存取存储器(STT-RAM)来实现。
存储器装置110可以被实现为三维阵列结构。本公开的实施例不仅可以应用于其中电荷存储层由导电浮栅构成的闪存设备,而且可以应用于其中电荷存储层由介电层构成的电荷陷阱闪存(CTF)。
存储器装置110被配置为从存储器控制器120接收命令和地址,并且访问存储器单元阵列中通过该地址选择的区域。换言之,存储器装置110可以针对通过该地址选择的区域执行与命令相对应的操作。
例如,存储器装置110可以执行编程操作、读取操作和擦除操作。在这方面,在编程操作中,存储器装置110可以将数据编程在通过地址选择的区域中。在读取操作中,存储器装置110可以从通过地址选择的区域中读取数据。在擦除操作中,存储器装置110可以擦除存储在通过地址选择的区域中的数据。
存储器控制器120可以根据主机(HOST)50的请求或者与主机50的请求无关地控制存储器装置110的操作。
例如,存储器控制器120可以控制对存储器装置110的写入(编程)、读取、擦除和后台操作。例如,后台操作可以是垃圾收集(GC)操作、损耗均衡(WL)操作、坏块管理(BBM)操作等。
参考图1,存储器控制器120可以包括主机接口121、存储器接口122和控制电路123。
主机接口121提供用于与主机50通信的接口。当从主机50接收命令时,控制电路123可以通过主机接口121接收命令,并且然后可以执行处理所接收的命令的操作。
存储器接口122与存储器装置110耦合,并且从而提供用于与存储器装置110通信的接口。也就是说,存储器接口122可以被配置为响应于控制电路123的控制而在存储器装置110与存储器控制器120之间提供接口。
控制电路123执行存储器控制器120的一般控制操作,从而控制存储器装置110的操作。为此,例如,控制电路123可以包括处理器124和工作存储器125中的至少一项,并且视情况而定还可以包括错误检测和校正电路(ECC电路)126。
处理器124可以控制存储器控制器120的一般操作,并且可以执行逻辑计算。处理器124可以通过主机接口121与主机50通信,并且可以通过存储器接口122与存储器装置110通信。
处理器124可以执行闪存转换层(FTL)的功能。处理器124可以通过闪存转换层(FTL)将由主机50提供的逻辑块地址(LBA)转换为物理块地址(PBA)。闪存转换层(FTL)可以接收逻辑块地址(LBA),并且通过使用映射表将其转换为物理块地址(PBA)。取决于映射单元,存在各种闪存转换层的地址映射方法。代表性的地址映射方法包括页面映射方法、块映射方法和混合映射方法。
处理器124被配置为随机化从主机50接收的数据。例如,处理器124可以通过使用随机化种子来随机化从主机50接收的数据。要存储的随机化数据被提供给存储器装置110并且被编程到存储器单元阵列。
处理器124被配置为在读取操作中对从存储器装置110接收的数据进行去随机化。例如,处理器124可以通过使用去随机化种子来对从存储器装置110接收的数据进行去随机化。去随机化的数据可以被输出到主机50。
处理器124可以通过执行固件来控制存储器控制器120的操作。换言之,为了控制存储器控制器120的一般操作并且执行逻辑计算,处理器124可以在启动时执行(驱动)被加载到工作存储器125的固件。例如,固件可以被存储在存储器装置110中并且被加载到工作存储器125。
例如,作为程序在存储器系统100中执行的固件可以包括执行由存储器系统100从主机50请求的逻辑地址与存储器装置110的物理地址之间的转换功能的闪存转换层(FTL)、用于分析从主机50请求到作为存储装置的存储器系统100的命令并且将该命令传输到闪存转换层(FTL)的主机接口层(HIL)、以及将从闪存转换层(FTL)指示的命令传输到存储器装置110的闪存接口层(FIL)。
工作存储器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可以包括图1中未示出的附加部件。
下面参考图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可以被配置为二维结构,或者视情况而定被配置为三维结构。
存储器单元阵列中所包括的多个存储器单元中的每个存储器单元可以存储至少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可以在编程验证操作中将在电压生成电路250中生成的验证电压施加到在所选择的存储器块中选择的字线,并且可以将通过电压Vpass施加到其余的未选择的字线。
地址译码器220可以被配置为译码所接收的地址中的列地址。地址译码器220可以将译码的列地址传输到读取和写入电路230。
存储器装置110的读取操作和编程操作可以以页面为单位来执行。当读取操作或编程操作被请求时接收的地址可以包括块地址、行地址和列地址。
地址译码器220可以根据块地址和行地址来选择一个存储器块和一个字线。列地址可以由地址译码器220译码,并且被提供给读取和写入电路230。
地址译码器220可以包括块译码器、行译码器、列译码器和地址缓冲器之中的至少一项。
读取和写入电路230可以包括多个页面缓冲器PB。读取和写入电路230可以在存储器单元阵列210的读取操作中操作为读取电路,并且可以在存储器单元阵列210的写入操作中操作为写入电路。
上述读取和写入电路230可以包括页面缓冲电路或数据寄存器电路。例如,数据寄存器电路可以包括用于执行数据处理功能的数据缓冲器,并且视情况而定还可以包括用于执行高速缓存功能的高速缓冲存储器。
多个页面缓冲器PB可以通过多个位线BL耦合到存储器单元阵列210。多个页面缓冲器PB可以在读取操作和编程验证操作中向与存储器单元耦合的位线持续地提供感测电流,以感测存储器单元的阈值电压(Vth),并且可以通过经由感测节点来感测取决于对应存储器单元的编程状态的电流量被改变来锁存感测数据。读取和写入电路230可以响应于从控制逻辑240输出的页面缓冲器控制信号而操作。
在读取操作中,读取和写入电路230通过感测存储器单元的数据来临时存储读取数据,并且然后将数据DATA输出到存储器装置110的输入/输出缓冲器。在一个实施例中,除了页面缓冲器(或页面寄存器)之外,读取和写入电路230还可以包括列选择电路。
控制逻辑240可以与地址译码器220、读取和写入电路230和电压生成电路250耦合。控制逻辑240可以通过存储器装置110的输入/输出缓冲器来接收命令CMD和控制信号CTRL。
控制逻辑240可以被配置为响应于控制信号CTRL而控制存储器装置110的一般操作。此外,控制逻辑240可以输出用于调节多个页面缓冲器PB的感测节点的预充电电位电平的控制信号。
控制逻辑240可以控制读取和写入电路230执行存储器单元阵列210的读取操作。
电压生成电路250可以在读取操作中响应于从控制逻辑240输出的电压生成电路控制信号而生成读取电压Vread和通过电压Vpass。
图3是示意性地示出根据本公开的实施例的存储器装置110的多个存储器块BLK1至BLKz中的一个存储器块的图。
参考图3,多个存储器块BLK1至BLKz中的每个存储器块可以被配置为多个页面PG,并且多个串STR以矩阵形式设置。
多个页面PG对应于多个字线WL,并且多个串STR对应于多个位线BL。
也就是说,在多个存储器块BLK1至BLKz中的每个存储器块中,多个字线WL和多个位线BL可以被设置为彼此相交。例如,多个字线WL中的每个字线可以沿行方向设置,并且多个位线BL中的每个位线可以沿列方向设置。对于另一示例,多个字线WL中的每个字线可以沿列方向设置,并且多个位线BL中的每个位线可以沿行方向设置。
可以在字线WL和位线BL的各个交点处限定多个存储器单元MC。每个存储器单元MC中可以设置有晶体管。例如,设置在每个存储器单元MC中的晶体管可以包括漏极、源极和栅极。晶体管的漏极(或源极)可以直接或经由一个或多个其他晶体管与对应位线耦合,晶体管的源极(或漏极)可以直接或经由一个或多个其他晶体管与源极线(其可以是地)耦合,并且晶体管的栅极可以包括被电介质包围的浮置栅极和施加有栅极电压的控制栅极。
读取操作和编程操作(写入操作)可以以页面为单位来执行,并且擦除操作可以以存储器块为单位来执行。
参考图3,在多个存储器块BLK1至BLKz中的每个存储器块中,第一选择线(也称为源极选择线或漏极选择线)可以另外设置在两个最外字线中与读取和写入电路230更邻近的第一最外字线外部,并且第二选择线(也称为漏极选择线或源极选择线)可以另外设置在两个最外字线中的第二最外字线外部。
至少一个虚设字线可以另外设置在第一最外字线与第一选择线之间。至少一个虚设字线还可以另外设置在第二最外字线与第二选择线之间。
图4是示出根据本公开的实施例的配置存储器系统100中的超级块的图。
根据图4的图示,存储器装置110可以包括四个存储器管芯DIE0、DIE1、DIE2和DIE3。四个存储器管芯DIE0、DIE1、DIE2和DIE3中的每个存储器管芯可以包括两个平面PL0和PL1,并且两个平面PL0和PL1中的每个平面可以包括多个存储器块BLK0、BLK1、BLK2、……、BLKn。
存储器装置110中包括的多个存储器管芯中的一些或全部可以对应于一个通道CH。根据图4的图示,四个存储器管芯DIE0、DIE1、DIE2和DIE3对应于一个通道。也就是说,可以通过一个通道执行针对四个存储器管芯DIE0、DIE1、DIE2和DIE3的操作(例如,读取/编程/擦除)。与特定超级块相对应的存储器管芯的数目(如下所述)可以小于与通道相对应的管芯的数目。
通道CH可以表示各种特征,诸如用于在存储器控制器120与存储器装置110之间交换数据或命令的路径、通过该路径的传输/接收方法、和/或路径的定义信息(例如,协议)。视情况而定,通道CH可以被包括在图1的存储器接口122中。
在存在多个通道的情况下,交换数据或命令的操作可以在多个通道之间以互连的方式执行,或者可以针对每个通道独立地执行。
例如,存储器控制器120可以在特定时间通过一个通道与存储器装置110顺序地交换数据或命令。在这种情况下,存储器控制器120可以不并行交换数据或命令。因此,与一个通道相对应的不同存储器管芯可能不会在与不同命令相对应的并行操作中进行处理。
另一方面,存储器控制器120可以通过不同的通道独立地或并行地与存储器装置110交换数据或命令。因此,与不同通道相对应的不同存储器管芯可以独立地或并行地处理与不同命令相对应的操作。
存储器控制器120可以可选地配置操作的单位以实现有效操作。例如,存储器控制器120可以将存储器装置110中的多个存储器块中的一些存储器块(可以是一个存储器管芯或至少两个存储器管芯中的存储器块)分组为一个超级块。分组操作可以由存储器控制器120中的控制电路123执行。
多个存储器块可以包括至少一个第一存储器块和至少一个第二存储器块。超级块可以包括至少一个第一存储器块和至少一个第二存储器块。
超级块中包括的各个存储器块可以是在物理上不同的存储器块,但是可以在逻辑上像一个存储器块一样操作。一个超级块可以是一组存储器块,其中同时或在同一时隙内执行诸如读取/编程/擦除等操作,或者以互连或相互关联的方式执行诸如读取/编程/擦除等操作。同样,一个超级块可以是存储器块集合,其中执行与一个命令相对应的诸如读取/编程/擦除等操作。此外,一个超级块可以是多个存储器块中在操作方面有所区别的一组存储器块。
超级块可以是用于执行诸如垃圾收集、损耗均衡和读取回收等后台操作的单元。
存储器系统100可以通过以超级块为单位执行特定操作(例如,编程操作/擦除操作)来提高操作性能,并且可以通过以超级块为单位执行诸如垃圾收集或损耗均衡等后台操作来有效地管理多个存储器块。
参考图4,存储器控制器120可以将存储器装置110中的多个存储器块中的一些存储器块分组为超级块#1SBLK1、超级块#2SBLK2或超级块#3SBLK3。由存储器控制器120以这种方式分组的超级块中的一个超级块可以被称为第一超级块。
其中存储器控制器120对超级块进行分组的具体示例如下。
例如,可以通过对存储器装置110中的多个存储器块中的以下各项进行分组来配置超级块#1SBLK1:存储器管芯#0DIE0的平面#0PL0的存储器块#0BLK0、存储器管芯#0DIE0的平面#1PL1的存储器块#0BLK0、存储器管芯#1DIE1的平面#0PL0的存储器块#0BLK0、存储器管芯#1DIE1的平面#1PL1的存储器块#0BLK0、存储器管芯#2DIE2的平面#0PL0的存储器块#0BLK0、和存储器管芯#2DIE2的平面#1PL1的存储器块#0BLK0。
又例如,可以通过对存储器装置110中的多个存储器块中的以下各项进行分组来配置超级块#2SBLK2:存储器管芯#1DIE1的平面#0PL0的存储器块#1BLK1、存储器管芯#1DIE1的平面#1PL1的存储器块#1BLK1、存储器管芯#2DIE2的平面#0PL0的存储器块#1BLK1、存储器管芯#2DIE2的平面#1PL1的存储器块#1BLK1、存储器管芯#3DIE3的平面#0PL0的存储器块#1BLK1、和存储器管芯#3DIE3的平面#1PL1的存储器块#1BLK1。
在又一实例中,可以通过对存储器装置110中的多个存储器块中的以下各项进行分组来配置超级块#3SBLK3:存储器管芯#0DIE0的平面#0PL0的存储器块#2BLK2、存储器管芯#0DIE0的平面#1PL1的存储器块#2BLK2、存储器管芯#1DIE1的平面#0PL0的存储器块#2BLK2、存储器管芯#1DIE1的平面#1PL1的存储器块#2BLK2、存储器管芯#3DIE3的平面#0PL0的存储器块#2BLK2、和存储器管芯#3DIE3的平面#1PL1的存储器块#2BLK2。
在以这种方式配置超级块的情况下,可以在不同的存储器管芯上配置超级块。换言之,在超级块包括至少一个第一存储器块和至少一个第二存储器块的情况下,这样的存储器块可以处于不同的管芯中。具体地,如从图4中可以看出的,超级块#1SBLK1包括来自DIE0和DIE1两者的存储器块。其中包括平面#0PL0的存储器块#0BLK0的存储器管芯#0DIE0和其中包括平面#1PL1的存储器块#0BLK0的存储器管芯#2DIE2彼此不同。
上面参考图4所述的超级块包括相同数目的存储器块,并且被配置在相同数目的存储器管芯上。具体地,超级块#1SBLK1、超级块#2SBLK2和超级块#3SBLK3中的每个超级块包括六个存储器块,并且被配置在三个不同的存储器管芯上。因此,超级块#1、#2和#3中的每个超级块是由比与通道CH相对应的管芯的数目少的数目的管芯的存储器块形成的超级块的示例。
然而,如图5所示,超级块可以被配置为使得各个超级块中的存储器块的数目彼此不同。此外,各个超级块可以被配置在不同数目的存储器管芯上。
图5是示出根据本公开的实施例的配置存储器系统100中的超级块的另一示例的图。
参考图5,构成各个超级块的存储器块的数目彼此不同。超级块#4SBLK4包括四个存储器块,超级块#5SBLK5包括三个存储器块,超级块#6SBLK6包括六个存储器块,超级块#7SBLK7包括两个存储器块。也就是说,第一超级块中的存储器块的数目可以不同于与第一超级块不同的第二超级块中的存储器块的数目。
此外,各个超级块被配置在不同数目的存储器管芯上。超级块#4SBLK4和超级块#5SBLK5可以被配置在两个存储器管芯上,超级块#6SBLK6可以被配置在三个存储器管芯上,超级块#7SBLK7可以被配置在一个存储器管芯上。
如在存储器块#2BLK2和存储器块#3BLK3的情况下,关于超级块#6SBLK6,超级块#6SBLK6可以被配置为使得指示各个存储器块的平面上位置的索引彼此不同。
当如上所述超级块被配置在不同的存储器管芯上时,可以如下确定与该超级块相对应的存储器管芯的数目。
在本公开的实施例中,与每个超级块相对应的存储器管芯的数目可以小于与一个通道相对应的存储器管芯的数目。与超级块相对应的存储器管芯的数目可以定义为每个包括也被包括在超级块中的至少一个存储器块的存储器管芯的数目。也就是说,超级块所跨越的存储器管芯的数目可以小于与一个通道相对应的存储器管芯的数目。
参考图4和5,与一个通道CH相对应的存储器管芯的数目是4,也就是说,存储器管芯DIE0、DIE1、DIE2和DIE3对应于同一通道CH。然而,如图4所示,与超级块#1SBLK1相对应的存储器管芯的数目为3(存储器管芯DIE0、DIE1和DIE2),其小于4。对于超级块#2SBLK2也是如此;它包括3个存储器管芯DIE1、DIE2和DIE3,其小于4。而且,超级块#3SBLK3包括3个存储器管芯DIE0、DIE1和DIE3,其也小于4。类似地,如图5所示,对于超级块#4SBLK4、超级块#5SBLK5、超级块#6SBLK6中的每个超级块,与其相对应的存储器管芯的数目小于4。
在本公开的实施例中,将每个超级块所跨越的存储器管芯的数目设置为小于与一个通道相对应的存储器管芯的数目的原因如下。
如上所述,在一个通道中,存储器控制器120和存储器装置110可以顺序地交换数据或命令。在这方面,如果在与一个超级块相对应的所有存储器管芯中同时执行对在存储器控制器120与存储器装置110之间交换的数据或命令的处理,则数据或命令的处理速度增加。
因此,理论上,在性能方面有利的是,与一个超级块相对应的存储器管芯的数目和与一个通道相对应的存储器管芯的数目相同。
然而,在这种情况下,如果与一个超级块相对应的存储器管芯的数目大于或等于特定值,则即使与该超级块相对应的存储器管芯的数目增加,也不会引起性能改善效果。这是因为,通过一个通道在特定时间量内在存储器控制器120与存储器装置110之间交换的数据或命令的大小受到限制。
另外,如果与一个超级块相对应的存储器管芯的数目增加,则由于同时激活的存储器管芯的数目增加,因此特定时间量的功耗量也增加。在这种情况下,可能引起如下问题,由存储器装置110使用的功率量超过存储器装置110在特定时间量内执行诸如读取/编程/擦除等操作的最大功耗限制。
此外,如上所述,由于以超级块为单位执行诸如垃圾收集或损耗均衡等后台操作,因此执行后台操作所需要的时间随着与一个超级块相对应的存储器管芯的数目的增加而增加。此外,由于在执行垃圾收集或损耗均衡时将数据从其移入或移出的存储器块的数目随着与一个超级块相对应的存储器管芯的数目的增加而成比例地增加,因此可能出现导致存储器装置110的寿命减少的问题。
因此,在本公开的实施例中,与超级块相对应的存储器管芯的数目被设置为小于与一个通道相对应的存储器管芯的数目。
与超级块相对应的存储器管芯的数目可以通过各种方法来确定。
例如,与超级块相对应的存储器管芯的数目可以是特定值,该特定值对于所有超级块可以是相同的。如图4所示,每个超级块跨越或对应于3个存储器管芯,其小于与通道CH相对应的4个存储器管芯。
然而,如图5所示,对于每个超级块,与超级块相对应的存储器管芯的数目可以不同。在这方面,与每个超级块相对应的存储器管芯的数目可以根据至少一个控制参数(CP)来不同地确定。
图6是示出根据本公开的实施例的用于确定与存储器系统100中的超级块SBLK相对应的存储器管芯的数目的控制参数CP的图。
参考图6,当存储器控制器120配置超级块SBLK时,与超级块SBLK相对应的存储器管芯的数目DIE_NUM_IN_SBLK可以通过一个或多个控制参数CP来确定。
例如,这样的控制参数CP可以包括存储器控制器120的功率预算信息PWR_BUDGET、存储器控制器120与主机50之间的最大数据通信速度MAX_DCS_CH、编程时间tPROG、读取感测时间tR等中的至少一个。存储器控制器120可以通过使用一个或多个控制参数CP来确定与超级块SBLK相对应的存储器管芯的数目DIE_NUM_IN_SBLK,并且可以基于所确定的数目DIE_NUM_IN_SBLK来配置超级块SBLK。根据该事实,可以在超级块SBLK所跨越的管芯的数目方面来确定超级块SBLK的大小。
控制参数CP的值可以各种方式指示。例如,控制参数CP的值可以是在制造存储器系统100的过程中预先设置的值(例如,编程时间tPROG和读取感测时间tR)。在这种情况下,控制参数CP的值可以由存储器系统100的固件指示。
又例如,控制参数CP可以是由主机50或外部传感器动态地指示的值。
参考图7,描述从主机50动态地指示控制参数CP中一些控制参数的情况。通常,动态地指示的CP表示根据操作状况动态地改变的存储器系统的参数。主机50识别操作状况的这些变化,并且相应地改变动态地指示的CP。
图7是示出根据本公开的实施例的存储器系统100中的操作的图,其中控制参数CP中一些控制参数由从主机50接收的命令指示。
参考图7,主机50可以向存储器控制器120传输指示上述控制参数CP的命令。该命令可以包括用于允许存储器控制器120确定与超级块SBLK相对应的存储器管芯的数目DIE_NUM_IN_SBLK的控制参数CP,或者可以包括用于允许存储器控制器120选择(确定)控制参数CP的信息(例如,控制参数标识信息)。存储器控制器120可以检查从主机50接收的命令中的对应控制参数CP的值,并且从而可以确定与超级块SBLK相对应的存储器管芯的数目DIE_NUM_IN_SBLK。
由从主机50接收的命令指示的控制参数CP可以是例如命令的操作类型OP_TYPE(例如,读取/编程/擦除)。
另一方面,例如,由从主机50接收的命令指示的控制参数CP可以是与超级块SBLK相对应的存储器管芯的数目DIE_NUM_IN_SBLK。
下面描述一个具体示例,其中在如上所述以各种方式指示至少一个控制参数CP的值的情况下,数目DIE_NUM_IN_SBLK通过所指示的控制参数CP来确定。
图8至10是用于帮助说明根据本公开的实施例的在存储器系统100中的以下示例的图,在每个示例中,与超级块SBLK相对应的存储器管芯的数目由至少一个控制参数CP确定。
首先,参考图8,用于确定与超级块SBLK相对应的存储器管芯的数目DIE_NUM_IN_SBLK的控制参数CP可以包括存储器装置110的最大功率预算信息PWR_BUDGET。
存储器装置110的最大功率预算信息PWR_BUDGET表示关于存储器装置110在特定时间量内执行诸如读取/编程/擦除等操作所消耗的功率量的信息。
通常,存储器装置110的最大功率预算信息PWR_BUDGET可以是根据存储器装置110的特性(例如,存储容量/读取速度/编程速度)预先设置的值。然而,存储器装置110的最大功率预算信息PWR_BUDGET可以基于提供给存储器装置110的操作电压的变化等来动态地确定。
例如,假定存储器装置110的最大功率预算当前为10,并且当激活一个存储器管芯时要消耗的功率为3。在这种情况下,与超级块SBLK相对应的存储器管芯的数目DIE_NUM_IN_SBLK可以是3,其是通过将10除以3所获得的整数结果。
参考图9,用于确定与超级块SBLK相对应的存储器管芯的数目DIE_NUM_IN_SBLK的控制参数CP可以包括存储器控制器120与主机50之间的最大数据通信速度MAX_DCS_CH、存储器控制器120与存储器装置110之间的最大数据通信速度MAX_DCS_CM等中的一个或至少两个。
如果存储器控制器120与主机50之间的最大数据通信速度MAX_DCS_CH增加,则在特定时间量内通过一个通道传输的数据的大小增加。因此,被激活以同时处理所传输的全部数据的存储器管芯的数目增加。因此,如果存储器控制器120与主机50之间的最大数据通信速度MAX_DCS_CH增加,则与超级块SBLK相对应的存储器管芯的数目DIE_NUM_IN_SBLK可以增加。
存储器控制器120与主机50之间的通信通过存储器控制器120中的主机接口121来执行。因此,存储器控制器120与主机50之间的最大数据通信速度可以称为主机接口速度。
另一方面,如果存储器控制器120与存储器装置110之间的最大数据通信速度MAX_DCS_CM增加,则在特定时间量内由一个存储器管芯中包括的存储器块处理的数据的大小增加。因此,被激活以同时处理所传输的全部数据所需的存储器管芯的数目减少。因此,如果存储器控制器120与存储器装置110之间的最大数据通信速度MAX_DCS_CM增加,则与超级块SBLK相对应的存储器管芯的数目DIE_NUM_IN_SBLK可以相反地减少。
存储器控制器120与存储器装置110之间的通信通过存储器控制器120中的存储器接口122来执行。因此,存储器控制器120与存储器装置110之间的最大数据通信速度可以称为存储器接口速度。
参考图10,用于确定与超级块SBLK相对应的存储器管芯的数目DIE_NUM_IN_SBLK的控制参数CP还可以包括超级块SBLK中的存储器块的编程时间tPROG、读取感测时间tR和数据输出时间tDOUT中的一项或多项。
存储器块的编程时间tPROG是通过存储器装置110的数据输入端子输入的数据被编程到存储器块中的存储器单元的时间。
存储器块的读取感测时间tR是将存储在存储器装置110中的存储器块中的数据存储在存储器装置110中的缓冲器中的时间。
存储器块的数据输出时间tDOUT是存储在存储器装置110中的缓冲器中的数据被输出和传输到存储器控制器120的时间。
随着存储器块的编程时间tPROG的增加,在特定时间量内在一个存储器块中被编程的数据量减少。因此,为了在特定时间量内对超级块SBLK中的特定大小的数据编程,与超级块SBLK相对应的存储器管芯的数目DIE_NUM_IN_SBLK可以与存储器块的编程时间tPROG成比例地增加。
另一方面,随着存储器块的读取感测时间tR或存储器块的数据输出时间tDOUT增加,在特定时间量内从一个存储器块读取的数据量减少。因此,为了在特定时间量内从超级块SBLK读取特定大小的数据,与超级块SBLK相对应的存储器管芯的数目DIE_NUM_IN_SBLK可以与存储器块的读取感测时间tR或数据输出时间tDOUT成比例地增加。
下面描述一个具体示例,其中与超级块SBLK相对应的存储器管芯的数目DIE_NUM_IN_SBLK基于以上参考图9和10描述的控制参数CP来确定。
例如,假定存储器控制器120与主机50之间的最大数据通信速度MAX_DCS_CH为800MBps,编程时间tPROG为1320us,并且一个存储器块的数据容量为256KB。在这种情况下,在1320us内从主机50输入的数据的最大大小为800MB×1320×10-6 1.05MB。为了处理1.05MB的数据,需要在不同的存储器管芯中的至少五个256KB的存储器块。因此,与超级块SBLK相对应的存储器管芯的数目DIE_NUM_IN_SBLK可以被确定为5。
又例如,假定存储器控制器120与主机50之间的最大数据通信速度MAX_DCS_CH为1600MBps,编程时间tPROG为1200us,并且一个存储器块的数据容量为256KB。在这种情况下,在1200us内从主机50输入的数据的最大大小为1600MB×1200×10-6 1.92MB。为了处理1.92MB的数据,需要在不同的存储器管芯中的至少8个256KB的存储器块。因此,与超级块SBLK相对应的存储器管芯的数目DIE_NUM_IN_SBLK可以被确定为8。
超级块SBLK中所包括的存储器块的编程时间tPROG、读取感测时间tR和数据输出时间tDOUT中的哪个控制参数CP将以哪个比率被用来确定与超级块SBLK相对应的存储器管芯的数目DIE_NUM_IN_SBLK可以通过要对超级块SBLK执行的操作的特性来改变。
例如,如果对超级块SBLK很少执行读取操作并且主要执行编程操作,则与超级块SBLK相对应的存储器管芯的数目可以基于编程时间tPROG来确定。
又例如,如果对超级块SBLK很少执行编程操作并且主要执行读取操作,则与超级块SBLK相对应的存储器管芯的数目DIE_NUM_IN_SBLK可以基于读取感测时间tR或数据输出时间tDOUT来确定。
另一方面,如果以特定比率对超级块SBLK执行读取操作和编程操作,则与超级块SBLK相对应的存储器管芯的数目DIE_NUM_IN_SBLK可以通过适当地反映编程时间tPROG、读取感测时间tR或数据输出时间tDOUT来确定。
图11和12是用于帮助说明根据本公开的实施例的存储器系统100中的以下示例的图,在每个示例中,与超级块SBLK相对应的存储器管芯的数目DIE_NUM_IN_SBLK根据对超级块SBLK执行的操作的特性来确定。
参考图11,与超级块SBLK相对应的存储器管芯的数目DIE_NUM_IN_SBLK可以根据通过用第一权重WGT1对第一超级块SBLK中的存储器块的编程时间tPROG进行加权而获得的值和通过用第二权重WGT2对读取感测时间tR进行加权而获得的值来不同地确定。
也就是说,尽管在确定与超级块SBLK相对应的存储器管芯的数目DIE_NUM_IN_SBLK时反映了编程时间tPROG和读取感测时间tR两者,但是反映编程时间tPROG和读取感测时间tR的程度可以改变。
参考图12描述确定第一权重WGT1和第二权重WGT2的方法。
参考图12,第一权重WGT1和第二权重WGT2可以由指示在超级块SBLK中主要执行读取操作和编程操作中的哪个操作的控制比率CR来确定。
控制比率CR可以根据在特定时间量内与超级块SBLK相对应的编程操作计数与读取操作计数的比率而改变。这是基于如下假定,即操作的权重基于操作计数来确定。
另一方面,控制比率CR可以根据在特定时间量内与超级块SBLK相对应的编程数据大小与读取数据大小的比率而改变。这是基于如下假定,即操作的权重根据与操作相对应的数据大小而不是操作数来确定。
例如,假定对于特定时间量(例如,1s),已经对超级块SBLK执行了100次读取操作,并且在每次读取操作中已经读取了10KB数据,并且已经对超级块SBLK执行了10次编程操作,并且在每次编程操作中已经编程了100KB数据。
在这种情况下,虽然在特定时间量内执行的读取操作与编程操作的比率为10,但是整个读取数据大小和整个编程数据大小相同,即1000KB。在这种情况下,控制比率CR可以被确定为1000KB/1000KB=1,而不是10/100=0.1。
当使用上述方法时,在读取操作的权重大于或等于特定阈值的情况下,可以确定编程操作的影响很低。因此,与超级块SBLK相对应的存储器管芯的数目DIE_NUM_IN_SBLK可以根据读取感测时间tR来确定,而与和编程操作相关联的编程时间tPROG无关。
另一方面,在编程操作的权重大于或等于特定阈值的情况下,可以确定读取操作的影响很低。因此,与超级块SBLK相对应的存储器管芯的数目DIE_NUM_IN_SBLK可以根据编程时间tPROG来确定,而与和读取操作相关联的读取感测时间tR无关。
下面参考图13描述通过将上述控制比率CR与阈值进行比较来获得与超级块SBLK相对应的存储器管芯的数目DIE_NUM_IN_SBLK的操作方法。
图13是用于帮助说明上面参考图12描述的操作方法的流程图。在一个实施例中,这种方法可以由存储器控制器120执行。
参考图13,在步骤S1310,存储器控制器120可以检查超级块SBLK中的存储器块的编程时间tPROG和读取感测时间tR。
在步骤1320,存储器控制器120可以计算控制比率CR,该控制比率CR指示在超级块SBLK中主要执行读取操作和编程操作中的哪个操作,如上面参考图12所述。
此后,在步骤S1330,存储器控制器120可以确定控制比率CR是否大于特定第一阈值比率。如果控制比率CR大于第一阈值比率,则表示编程操作的权重或比例相对于读取操作较高。因此,如果控制比率CR大于第一阈值比率(S1330-是),则在步骤S1331,存储器控制器120可以根据编程时间tPROG来不同地确定与超级块SBLK相对应的存储器管芯的数目DIE_NUM_IN_SBLK,而与读取感测时间tR无关。
如果控制比率CR小于第一阈值比率(S1330-否),则在步骤S1340,存储器控制器120可以确定控制比率CR是否小于第二阈值比率。第二阈值比率小于第一阈值比率。如果控制比率CR小于第二阈值比率,则表示读取操作的权重或比例相对于编程操作较高。因此,如果控制比率CR小于第二阈值比率(S1340-是),则在步骤S1341,存储器控制器120可以根据读取感测时间tR来不同地确定与超级块SBLK相对应的存储器管芯的数目DIE_NUM_IN_SBLK,而与编程时间tPROG无关。
如果控制比率CR小于第一阈值比率但大于第二阈值比率(S1340-N),则在步骤S1342,存储器控制器120可以根据编程时间tPROG和读取检测时间tR来不同地确定与超级块SBLK相对应的存储器管芯的数目DIE_NUM_IN_SBLK。
图14是示意性地示出根据本公开的实施例的计算系统1400的框图。
参考图14,计算系统1400可以包括存储器系统100、用于控制计算系统1400的一般操作的中央处理单元(CPU)1410、用于存储与计算系统1400的操作有关的数据和信息的RAM1420、用于向用户提供使用环境的UI/UX(用户界面/用户体验)模块1430、用于以有线和/或无线方式与外部设备通信的通信模块1440、以及用于管理由计算系统1400使用的功率的功率管理模块1450,这些模块电耦合到系统总线1460。
计算系统1400可以包括PC(个人计算机)、诸如智能电话和平板计算机等移动终端、或各种电子设备。
计算系统1400还可以包括用于提供工作电压的电池,并且还可以包括应用芯片组、图形相关模块、相机图像处理器(CIS)、DRAM等。如本领域技术人员理解的,计算系统1400可以包括其他部件。
存储器系统100不仅可以包括将数据存储在磁盘中的装置(诸如硬盘驱动器(HDD)),还可以包括将数据存储在非易失性存储器中的装置(诸如固态驱动器(SDD)、通用闪存(UFS)装置和嵌入式MMC(eMMC)装置)。非易失性存储器可以包括ROM(只读存储器)、PROM(可编程ROM)、EPROM(电可编程ROM)、EEPROM(电可擦除可编程ROM)、闪存、PRAM(相变RAM)、MRAM(磁性RAM)、RRAM(电阻式RAM)和/或FRAM(铁电式RAM)。另外,存储器系统100可以被实现为各种类型的存储装置中的任何一种,并且可以被安装在各种电子设备中。
通过上述本公开的实施例,可以提供可以灵活地配置超级块同时提高对超级块的读取、编程或擦除操作的性能的存储器系统100、存储器控制器120和存储器装置110。
另外,通过本公开的实施例,可以提供可以提高诸如垃圾收集或损耗均衡等后台操作的效率的存储器系统100、存储器控制器120和存储器装置110。
尽管已经图示和描述了本公开的各种实施例,但是根据本公开,本领域技术人员将理解,在不脱离本公开的范围和精神的情况下,可以进行各种修改、增加和替换。因此,所公开的实施例应当仅在描述性意义上考虑,而不应当被视为限制本发明的范围。本发明的范围由所附权利要求书及其等同物限定。
Claims (20)
1.一种存储器系统,包括:
存储器装置,包括多个存储器管芯,所述多个存储器管芯包括共同限定所述存储器装置中的多个存储器块的相应存储器块组;以及
存储器控制器,被配置为控制所述存储器装置,
其中所述多个存储器管芯中的至少两个存储器管芯对应于一个通道,
其中所述存储器控制器将所述多个存储器块的第一集合分组为第一超级块,以及
其中与所述第一超级块相对应的存储器管芯的数目小于与所述通道相对应的存储器管芯的数目,并且与所述第一超级块相对应的存储器管芯的数目根据由所述存储器控制器接收一个或多个控制参数中的哪个控制参数来不同地确定。
2.根据权利要求1所述的存储器系统,
其中所述存储器控制器将所述多个存储器块的第二集合分组为不同于所述第一超级块的第二超级块,以及
其中所述第一超级块中的存储器块的数目不同于所述第二超级块中的存储器块的数目。
3.根据权利要求1所述的存储器系统,其中所述一个或多个控制参数包括关于所述存储器装置的最大功率预算信息。
4.根据权利要求1所述的存储器系统,其中所述一个或多个控制参数包括所述存储器控制器与主机之间的最大数据通信速度和所述存储器控制器与所述存储器装置之间的最大数据通信速度中的至少一项。
5.根据权利要求4所述的存储器系统,其中所述一个或多个控制参数还包括所述第一超级块中的所述存储器块中的每个存储器块的编程时间、读取感测时间和数据输出时间中的一项或多项。
6.根据权利要求5所述的存储器系统,其中与所述第一超级块相对应的存储器管芯的数目根据通过用第一权重对所述编程时间进行加权而获得的值和通过用第二权重对所述读取感测时间进行加权而获得的值来不同地确定。
7.根据权利要求6所述的存储器系统,其中所述第一权重和所述第二权重由控制比率确定,所述控制比率根据特定时间量内针对所述第一超级块的编程操作计数与读取操作计数的比率或者所述特定时间量内针对所述第一超级块的编程数据大小与读取数据大小的比率而改变。
8.根据权利要求7所述的存储器系统,其中当所述控制比率大于或等于第一阈值比率时,与所述第一超级块相对应的存储器管芯的数目根据所述编程时间而改变,而与所述读取感测时间无关。
9.根据权利要求8所述的存储器系统,
其中当所述控制比率小于或等于第二阈值比率时,与所述第一超级块相对应的存储器管芯的数目根据所述读取感测时间而改变,而与所述编程时间无关,以及
其中所述第二阈值比率小于所述第一阈值比率。
10.一种存储器控制器,包括:
存储器接口,被配置为与包括多个存储器管芯的存储器装置通信,所述多个存储器管芯包括共同限定所述存储器装置中的多个存储器块的相应存储器块组;以及
控制电路,被配置为控制所述存储器装置,
其中所述多个存储器管芯中的至少两个存储器管芯对应于一个通道,
其中所述控制电路将所述多个存储器块的第一集合分组为第一超级块,以及
其中与所述第一超级块相对应的存储器管芯的数目小于与所述通道相对应的存储器管芯的数目,并且与所述第一超级块相对应的存储器管芯的数目根据由所述控制电路接收一个或多个控制参数中的哪个控制参数来不同地确定。
11.根据权利要求10所述的存储器控制器,
其中所述控制电路将所述多个存储器块的第二集合分组为不同于所述第一超级块的第二超级块,以及
其中所述第一超级块中的存储器块的数目不同于所述第二超级块中的存储器块的数目。
12.根据权利要求10所述的存储器控制器,其中所述一个或多个控制参数包括所述存储器控制器与主机之间的最大数据通信速度和所述存储器控制器与所述存储器装置之间的最大数据通信速度中的至少一项。
13.根据权利要求12所述的存储器控制器,其中所述一个或多个控制参数还包括所述第一超级块中的所述存储器块中的每个存储器块的编程时间、读取感测时间和数据输出时间中的一项或多项。
14.根据权利要求13所述的存储器控制器,其中与所述第一超级块相对应的存储器管芯的数目根据通过用第一权重对所述编程时间进行加权而获得的值和通过用第二权重对所述读取感测时间进行加权而获得的值来不同地确定。
15.一种存储器装置,包括:
多个存储器管芯,包括共同限定所述存储器装置的多个存储器块的相应存储器块组,
其中所述多个存储器管芯中的至少两个存储器管芯对应于一个通道,
其中所述多个存储器块的第一集合被分组为第一超级块,以及
其中与所述第一超级块相对应的存储器管芯的数目小于与所述通道相对应的存储器管芯的数目,并且与所述第一超级块相对应的存储器管芯的数目根据应用一个或多个控制参数中的哪个控制参数来不同地确定。
16.根据权利要求15所述的存储器装置,
其中所述多个存储器块的第二集合被分组为不同于所述第一超级块的第二超级块,以及
其中所述第一超级块中的存储器块的数目不同于所述第二超级块中的存储器块的数目。
17.根据权利要求15所述的存储器装置,其中所述一个或多个控制参数包括存储器控制器与主机之间的最大数据通信速度和所述存储器控制器与所述存储器装置之间的最大数据通信速度中的至少一项。
18.根据权利要求17所述的存储器装置,其中所述一个或多个控制参数还包括所述第一超级块中的所述存储器块中的每个存储器块的编程时间、读取感测时间和数据输出时间中的一项或多项。
19.根据权利要求18所述的存储器装置,其中与所述第一超级块相对应的存储器管芯的数目根据通过用第一权重对所述编程时间进行加权而获得的值和通过用第二权重对所述读取感测时间进行加权而获得的值来不同地确定。
20.一种存储器系统,包括:
存储器装置,包括多个管芯,每个管芯具有多个存储器块;以及
控制器,被配置为通过从特定数目的管芯中的每个管芯选择所述存储器块中的至少一个存储器块来配置超级块,所述特定数目是至少两个,
其中所述控制器基于一个或多个信息来确定所述特定数目的管芯,所述一个或多个信息包括:
所述存储器装置的最大功率预算,
所述控制器与主机之间的通信速度,
所述控制器与所述存储器装置之间的通信速度,以及
所述超级块中的存储器块的基于操作的时间。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190057230A KR20200132171A (ko) | 2019-05-15 | 2019-05-15 | 메모리 시스템, 메모리 컨트롤러 및 메모리 장치 |
KR10-2019-0057230 | 2019-05-15 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111949204A true CN111949204A (zh) | 2020-11-17 |
Family
ID=73245281
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911250787.6A Withdrawn CN111949204A (zh) | 2019-05-15 | 2019-12-09 | 存储器系统、存储器控制器和存储器装置 |
Country Status (3)
Country | Link |
---|---|
US (2) | US11086540B2 (zh) |
KR (1) | KR20200132171A (zh) |
CN (1) | CN111949204A (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10872035B1 (en) * | 2019-05-29 | 2020-12-22 | Apple Inc. | Systems and methods for managing an artificially limited logical space of non-volatile memory |
KR20220130389A (ko) | 2021-03-18 | 2022-09-27 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
US11809748B2 (en) | 2022-03-10 | 2023-11-07 | Silicon Motion, Inc. | Control method of flash memory controller and associated flash memory controller and electronic device |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9026716B2 (en) * | 2010-05-12 | 2015-05-05 | Western Digital Technologies, Inc. | System and method for managing garbage collection in solid-state memory |
US8832507B2 (en) * | 2010-08-23 | 2014-09-09 | Apple Inc. | Systems and methods for generating dynamic super blocks |
US8762625B2 (en) * | 2011-04-14 | 2014-06-24 | Apple Inc. | Stochastic block allocation for improved wear leveling |
US9431113B2 (en) * | 2013-08-07 | 2016-08-30 | Sandisk Technologies Llc | Data storage system with dynamic erase block grouping mechanism and method of operation thereof |
KR102211126B1 (ko) * | 2014-04-17 | 2021-02-02 | 삼성전자주식회사 | 동작 성능을 조절하는 메모리 시스템 및 메모리 시스템의 동작방법 |
US9582201B2 (en) * | 2014-09-26 | 2017-02-28 | Western Digital Technologies, Inc. | Multi-tier scheme for logical storage management |
US10180805B2 (en) * | 2015-03-25 | 2019-01-15 | SK Hynix Inc. | Memory system and operating method thereof |
US10101934B1 (en) * | 2016-03-24 | 2018-10-16 | Emc Corporation | Memory allocation balancing for storage systems |
US10540274B2 (en) * | 2016-03-29 | 2020-01-21 | Micron Technology, Inc. | Memory devices including dynamic superblocks, and related methods and electronic systems |
KR20180047329A (ko) * | 2016-10-31 | 2018-05-10 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
KR20180061557A (ko) * | 2016-11-29 | 2018-06-08 | 삼성전자주식회사 | 컨트롤러 및 컨트롤러와 불휘발성 메모리 장치들을 포함하는 스토리지 장치 |
KR20180102241A (ko) * | 2017-03-06 | 2018-09-17 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
KR20180130872A (ko) * | 2017-05-30 | 2018-12-10 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
US10372355B2 (en) * | 2017-12-29 | 2019-08-06 | Micron Technology, Inc. | Managing partial superblocks in a NAND device |
KR102516106B1 (ko) * | 2018-02-14 | 2023-03-31 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 이를 포함하는 메모리 시스템 |
US11693773B2 (en) * | 2019-03-15 | 2023-07-04 | Kioxia Corporation | Systems and methods for implementing a four-dimensional superblock |
-
2019
- 2019-05-15 KR KR1020190057230A patent/KR20200132171A/ko active Search and Examination
- 2019-11-18 US US16/687,000 patent/US11086540B2/en active Active
- 2019-12-09 CN CN201911250787.6A patent/CN111949204A/zh not_active Withdrawn
-
2021
- 2021-07-07 US US17/369,345 patent/US20210334000A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
KR20200132171A (ko) | 2020-11-25 |
US20200363955A1 (en) | 2020-11-19 |
US20210334000A1 (en) | 2021-10-28 |
US11086540B2 (en) | 2021-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210334000A1 (en) | Memory system, memory controller and memory device for configuring super blocks | |
CN110928805B (zh) | 存储器系统及其操作方法 | |
CN110955611B (zh) | 存储器系统及其操作方法 | |
US20220130438A1 (en) | Memory system and operating method thereof | |
CN112542201A (zh) | 存储设备及操作该存储设备的方法 | |
CN111445939B (zh) | 存储装置及其操作方法 | |
CN111192617B (zh) | 存储装置及其操作方法 | |
CN110827873B (zh) | 存储器控制器 | |
US20210365382A1 (en) | Memory system, memory controller, and operation method thereof | |
US11086541B2 (en) | Memory system, memory controller, and operating method | |
US11922040B2 (en) | Extended super memory blocks in memory systems | |
KR20210079552A (ko) | 메모리 시스템 및 메모리 컨트롤러 | |
US11474726B2 (en) | Memory system, memory controller, and operation method thereof | |
KR20190117235A (ko) | 컨트롤러, 그것의 동작방법 및 컨트롤러를 포함하는 메모리 시스템 | |
CN111798903B (zh) | 存储器系统、存储器装置和存储器控制器 | |
CN112037837B (zh) | 存储器系统、存储器控制器和存储器设备 | |
CN112783435A (zh) | 存储设备和操作存储设备的方法 | |
CN112447234A (zh) | 存储器控制器及其操作方法 | |
US11941272B2 (en) | Memory system and operating method of memory system | |
US11404137B1 (en) | Memory system and operating method of memory system | |
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 | |
US11507509B2 (en) | Memory system, memory controller and method for operating memory system for determining whether to perform direct write based on reference write size | |
US11709610B2 (en) | Memory system, memory controller and operating method | |
US20230385193A1 (en) | Memory system, memory controller and operating method thereof for determining garbage collection victim block | |
US20240004566A1 (en) | Memory system for managing namespace using write pointer and write count, memory controller, and method for operating memory system |
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 |
Application publication date: 20201117 |
|
WW01 | Invention patent application withdrawn after publication |