控制器和存储器系统
相关申请的交叉引用
本申请要求于2020年3月17日提交的申请号为10-2020-0032456的韩国专利申请的优先权,其通过引用整体并入本文。
技术领域
本公开的各个实施例总体上涉及一种存储器系统。特别地,实施例涉及一种用于控制存储器装置的控制器和一种用于控制该存储器装置的存储器系统。
背景技术
计算机环境范例已经转变到普适计算,这使得可以随时随地使用计算系统。因此,诸如移动电话、数码相机和膝上型计算机的便携式电子装置的使用迅速增加。这些便携式电子装置通常使用具有一个或多个存储器装置的存储器系统来存储数据。存储器系统可以用作便携式电子装置的主存储器装置或辅助存储器装置。
因为不具有移动部件,所以存储器系统提供诸如优异的稳定性和耐久性、高信息访问速度以及低功耗的优点。具有这种优点的存储器系统的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡以及固态驱动器(SSD)。
发明内容
本公开的各个实施例涉及一种可以平衡不同存储器装置中包括的存储块的损耗程度的存储器系统及其操作方法。
根据实施例,存储器系统包括:第一存储器装置,包括多个第一物理块;第二存储器装置,包括多个第二物理块;第一内核,适于管理存储与第一逻辑地址相关联的数据的多个第一超级块,该多个第一超级块被映射到多个第一物理块;第二内核,适于管理存储与第二逻辑地址相关联的数据的多个第二超级块,该多个第二超级块被映射到多个第二物理块;全局损耗均衡管理器,适于基于第一超级块和第二超级块的损耗程度来在被映射到第一超级块中的一个的第一物理块和被映射到第二超级块中的一个的第二物理块之间改变映射;主机接口,适于将从主机接收的逻辑地址分类为第一逻辑地址和第二逻辑地址,向第一内核提供第一逻辑地址,向第二内核提供第二逻辑地址。
根据另一个实施例,一种控制第一存储器装置和第二存储器装置的控制器,该控制器包括:第一内核,适于管理存储与第一逻辑地址相关联的数据的多个第一超级块,该多个第一超级块被映射到第一存储器装置中包括的多个第一物理块;第二内核,适于管理存储与第二逻辑地址相关联的数据的多个第二超级块,该多个第二超级块被映射到第二存储器装置中包括的多个第二物理块;全局损耗均衡管理器,适于基于第一超级块和第二超级块的损耗程度在被映射到第一超级块中的一个的第一物理块和被映射到第二超级块中的一个的第二物理块之间改变映射;主机接口,适于将从主机接收到的逻辑地址分类为第一逻辑地址和第二逻辑地址,向第一内核提供第一逻辑地址,向第二内核提供第二逻辑地址。
根据又一实施例,一种存储器系统包括:多个存储器装置,包括第一组存储器单位和第二组存储器单位,所述第一组和第二组分别被专门分配给第一内核和第二内核;第一内核和第二内核,适于控制存储器装置以分别对该第一组和该第二组执行局部损耗均衡操作;以及全局损耗均衡管理器,其适于基于各个存储器单位的损耗程度在第一内核与第二内核之间交换对一个或多个存储器单位的专门分配。
根据又一实施例,一种包括多个存储器装置的存储器系统的操作方法,该多个存储器装置包括第一组存储器单位和第二组存储器单位,该操作方法包括:分别将第一组和第二组专门分配给第一内核和第二内核;通过第一内核和第二内核控制存储器装置以分别对第一组和第二组执行局部损耗均衡操作;基于各个存储器单位的损耗程度,在第一内核和第二内核之间交换对一个或多个存储器单元的专门分配。
根据以下附图和详细描述,所要求保护的发明的这些和其他特征以及优点对于本发明领域的普通技术人员将变得显而易见。
附图说明
图1是示出根据实施例的包括存储器系统的数据处理系统的框图。
图2是示出存储器装置的示例的框图。
图3和图4是示出根据实施例的存储器系统的操作的示图。
图5是示出根据第一实施例的存储器系统的结构的框图。
图6A至图6C是图5所示的存储器系统的地址映射表的示例。
图7是示出根据第二实施例的存储器系统的结构的框图。
图8是图7所示的存储器系统的地址映射表的示例。
具体实施方式
在下文中,将在下面参照附图详细描述本公开的各个实施例。在下面的描述中,将仅描述理解根据本实施例的操作所必需的部分,并且可以省略对其他部分的描述,以免模糊本实施例的主题。
附图是各个实施例(和中间结构)的示意图。这样,可以预期由于例如制造技术和/或公差导致的图示的配置和形状的变化。因此,所描述的实施例不应被解释为限于在此示出的特定配置和形状,而是可以包括在不脱离所附权利要求书所限定的本发明的精神和范围的配置和形状上的偏差。
本文参考本发明的理想实施例的横截面图和/或平面图来描述本发明。然而,本发明的实施例不应被解释为限制发明构思。尽管将示出和描述本发明的一些实施例,但是本领域普通技术人员将理解,可以在不脱离本发明的原理和精神的情况下对这些实施例进行改变。除非另有定义,否则本文所使用的包括技术和科学术语的所有术语具有与本公开所属领域的普通技术人员通常理解的含义相同的含义。
将进一步理解的是,诸如在常用词典中定义的那些术语应被解释为具有与其在本公开和相关领域的语境中的含义一致的含义,并且除非本文明确定义,否则这些术语将不被以理想化或过于形式化的意义来解释。
还应注意,在不脱离本发明的范围的情况下,一个实施例中存在的特征可以与另一实施例的一个或多个特征一起使用。
进一步注意的是,在各个附图中,相同的附图标记表示相同的元件。
图1是示出根据本发明的实施例的数据处理系统100的框图。
参照图1,数据处理系统100可以包括可操作地联接到存储器系统110的主机102。
主机102可以包括诸如移动电话、MP3播放器和膝上型计算机的各种便携式电子装置中的任意一种,或者诸如台式计算机、游戏机、电视(TV)和投影仪的各种非便携式电子装置中的任意一种。
主机102可以包括至少一个操作系统(OS),该OS可以管理和控制主机102的全部功能和操作,并且使用数据处理系统100或存储器系统110来提供主机102和用户之间的操作。OS可以支持与用户的使用、目的和用途相对应的功能和操作。例如,根据主机102的移动性,可以将OS分为通用OS和移动OS。根据用户的环境,可以将通用OS分为个人OS和企业OS。
存储器系统110可以响应于主机102的请求进行操作以存储用于主机102的数据。存储器系统110的非限制性示例可以包括固态驱动器(SSD)、多媒体卡(MMC)、安全数字(SD)卡、通用串行总线(USB)装置、通用闪存(UFS)装置、紧凑型闪存(CF)卡、智能媒体卡(SMC)、个人计算机存储卡国际协会(PCMCIA)卡和记忆棒。MMC可以包括嵌入式MMC(eMMC)、缩小尺寸的MMC(RS-MMC)、微型MMC等。SD卡可以包括迷你SD卡和微型SD卡。
存储器系统110可以被实现为各种类型的存储装置。这种存储装置的示例可以包括但不限于诸如动态随机存取存储器(DRAM)和静态RAM(SRAM)的易失性存储器装置,以及诸如只读存储器(ROM)、掩模ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电RAM(FRAM)、相变RAM(PRAM)、磁阻RAM(MRAM)、电阻式RAM(RRAM或ReRAM)和闪速存储器。闪速存储器可以具有3维(3D)堆叠结构。
存储器系统110可以包括控制器130和多个存储器装置150-1、150-2、150-3和150-4。多个存储器装置150-1、150-2、150-3和150-4可以存储用于主机102的数据,并且控制器130可以控制将数据存储到多个存储器装置150-1、150-2、150-3和150-4中。
控制器130和多个存储器装置150-1、150-2、150-3和150-4可以集成到单个半导体装置中。例如,控制器130和多个存储器装置150-1、150-2、150-3和150-4可以集成为一个半导体装置以构成固态驱动器(SSD)。当存储器系统110用作SSD时,可以提高连接到存储器系统110的主机102的操作速度。另外,控制器130和多个存储器装置150-1、150-2、150-3和150-4可以集成为一个半导体装置以构成存储卡。例如,控制器130和存储器装置150可以构成诸如以下的存储卡:个人计算机存储卡国际协会(PCMCIA)卡,紧凑型闪存(CF)卡,智能媒体(SM)卡,记忆棒,包括缩小尺寸的MMC(RS-MMC)、微型MMC的多媒体卡(MMC),包括迷你SD卡、微型SD卡和SDHC卡的安全数字(SD)卡或通用闪存(UFS)装置。
多个存储器装置150-1、150-2、150-3和150-4可以是非易失性存储器装置,并且即使不供应电力也可以保留所存储的数据。存储器装置150可以通过编程操作存储从主机102提供的数据,并且可以通过读取操作将所存储的数据提供到主机102。多个存储器装置150-1、150-2、150-3和150-4可以包括多个存储块,每个存储块可以包括多个页面,并且每个页面可以包括联接到字线的多个存储器单元。在实施例中,多个存储器装置150-1、150-2、150-3和150-4可以是闪速存储器。闪速存储器可以具有3维(3D)堆叠结构。
图2是示出存储器装置150-1的示例的框图。
图2代表性地示出图1的存储器系统110中包括的多个存储器装置150-1、150-2、150-3和150-4之中的第一存储器装置150-1。
第一存储器装置150-1可以包括多个存储器管芯DIE。例如,存储器管芯DIE中的每一个可以是NAND存储器管芯。存储器管芯DIE可以通过通道CH连接到控制器130。管芯的数量可以因设计而变化。
存储器管芯DIE中的每一个可以具有包含平面、存储块和页面的分层结构。存储器管芯DIE可以一次接收一个命令。存储器管芯DIE可以包括多个平面,并且多个平面可以并行地处理接收的每个命令。平面中的每一个可以包括多个物理块。物理块中的每一个可以是擦除操作的最小单位。一个物理块可以包括多个页面。页面中的每一个可以是写入操作的最小单位。多个存储器管芯DIE可以彼此并行地操作。
第二至第四存储器装置150-2、150-3和150-4的结构可以与第一存储器装置150-1的结构基本相同或相似。多个存储器装置150-1、150-2、150-3和150-4可以彼此并行地操作。
重新参照图1,控制器130可以包括全部经由内部总线可操作地联接的主机接口132,多个内核134-1、134-2、134-3和134-4,多个存储器接口142-1和142-2,多个存储器144-1、144-2、144-3和144-4以及全局损耗均衡管理器(GWLM)136。
为了提供较高的数据输入/输出性能,存储器系统110可以包括彼此并行地操作的多个内核134-1、134-2、134-3和134-4。该内核134-1、134-2、134-3和134-4中的每一个都可以驱动被称为闪存转换层(FTL)的固件。
FTL是在主机102的文件系统和闪速存储器之间使用的固件。与其他存储器装置相比,闪速存储器可以以相对较低的单位成本提供较快的读取速度。然而,因为闪速存储器不支持重写操作,所以必须首先执行擦除操作才能将数据写入闪速存储器。而且,待擦除的数据单位大于待写入闪速存储器的数据单位。当包括闪速存储器的存储器系统110用作主机102的存储装置时,由于擦除特性,可能无法原样利用用于硬盘的文件系统。因此,可以在文件系统和闪速存储器之间使用FTL。
内核134-1、134-2、134-3和134-4可以被实施为微处理器或中央处理单元(CPU)。
主机I/F 132可以被配置为处理主机102的命令和数据,并且可以通过诸如以下的各种接口协议中的一种或多种与主机102通信:通用串行总线(USB)、多媒体卡(MMC)、高速外围组件互连(PCI-e或PCIe)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、增强型小型磁盘接口(ESDI)和电子集成驱动器(IDE)。
主机I/F 132可以通过被称为主机接口层(HIL)的固件来驱动,以便与主机交换数据。
主机接口132可以从主机102接收请求以及与该请求相对应的逻辑地址。例如,逻辑地址可以是在主机102的文件系统中使用的逻辑块地址LBA。
主机接口132可以基于逻辑地址将请求分配给内核134-1、134-2、134-3和134-4。例如,主机接口132可以根据通过对逻辑地址执行取模运算而获得的结果值,向内核134-1、134-2、134-3和134-4提供请求。
多个存储器I/F 142-1和142-2可以用作用于接口联接控制器130与多个存储器装置150-1、150-2、150-3和150-4的存储器/储存接口,使得控制器130响应于来自主机102的请求而控制多个存储器装置150-1、150-2、150-3和150-4。当多个存储器装置150-1、150-2、150-3和150-4是闪速存储器或特别是NAND闪速存储器时,多个存储器I/F142-1和142-2可以在多个内核134-1、134-2、134-3和134-4的控制下生成用于存储器装置150的控制信号并处理待提供到多个存储器150-1、150-2、150-3和150-4的数据。多个存储器I/F 142-1和142-2可以用作用于处理控制器130和多个存储器装置150-1、150-2、150-3和150-4之间的命令和数据的接口(例如,NAND闪存接口)。具体地,多个存储器I/F 142-1和142-2可以支持控制器130与多个存储器装置150-1、150-2、150-3和150-4之间的数据传送。
多个内核134-1、134-2、134-3和134-4可以通过多个存储器接口142-1和142-2来控制多个存储器装置150-1、150-2、150-3和150-4。内核134-1、134-2、134-3和134-4的每一个可以访问专门分配给其自身的物理块。例如,当第一内核134-1访问第一存储器装置150-1中包括的物理块时,第二至第四内核134-2、134-3和134-4可以不访问这些物理块。
多个存储器144-1、144-2、144-3和144-4可以用作存储器系统110和控制器130的操作存储器,并且存储用于驱动存储器系统110和控制器130的数据。例如,第一存储器144-1可以存储第一内核134-1执行操作所需的数据。类似地,第二至第四存储器144-2、144-3和144-4可以分别存储第二至第四内核134-2、134-3和134-4执行操作所需的数据。
多个存储器144-1、144-2、144-3和144-4可以被实施为易失性存储器。例如,存储器144-1、144-2、144-3和144-4中的每一个可以被实施为静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)。存储器144-1、144-2、144-3和144-4可以设置在控制器130的内部或外部。图1作为示例示出设置在控制器130内部的存储器144-1、144-2、144-3和144-4。在一些实施例中,存储器144-1、144-2、144-3和144-4可以被实施为具有用于在存储器144-1、144-2、144-3和144-4与控制器130之间输入和输出数据的存储器接口的外部的易失性存储器装置。
内核134-1、134-2、134-3和134-4可以执行与从主机接口132接收的请求相对应的操作,即,前台操作。例如,第一内核134-1可以响应于主机接口132的写入请求控制第一存储器装置150-1以将数据编程到第一存储器装置150-1的物理块中,并且响应于主机接口132的读取请求控制第一存储器装置150-1从第一存储器装置150-1的物理块中读取数据。
另外,内核134-1、134-2、134-3和134-4可以分别对存储器装置150-1、150-2、150-3和150-4执行后台操作。
存储器装置150-1、150-2、150-3和150-4中包括的多个物理块可能具有有限的寿命。因此,当对特定物理块执行擦除操作达预定次数时,可能不再使用该物理块。内核134-1、134-2、134-3和134-4中的每一个可以对专门分配给其自身的物理块执行局部损耗均衡操作,作为后台操作。
当内核134-1、134-2、134-3和134-4中的每一个仅对专门分配给其自身的物理块执行局部损耗均衡操作时,很难平衡存储器系统110的所有物理块的损耗程度。这是因为被分布到内核134-1、134-2、134-3和134-4中的每一个的请求数量可能会根据与从主机102提供的请求相关联的逻辑地址而变化。
即使提供到各个内核134-1、134-2、134-3和134-4的请求的数量彼此不同,但是专门分配给相同内核的物理块的损耗程度可以由局部损耗均衡操作平衡。但是,很难平衡专门分配给不同内核的物理块的损耗程度。例如,当不同的内核专门访问不同的存储器装置时,很难平衡不同存储器装置中包括的物理块的损耗程度。此外,当特定存储器装置的物理块比剩余存储器装置的物理块更早到达使用寿命的终点时,即使剩余存储器装置的物理块仍然可用,但整个存储器系统110也可能无法正常使用。
当主机接口132交换与不同内核相关联的逻辑地址时,对于在交换逻辑地址之后提供的请求,可以平衡各个内核服务该请求的频率。但是,尽管在平衡被破坏后进行了交换,也可能无法恢复物理块的损耗程度已经被破坏的平衡。因此,逻辑地址的交换可能不足以有效地平衡专门分配给不同内核的物理块的损耗程度。
根据本实施例,全局损耗均衡管理器136可执行全局损耗均衡操作,交换专门分配给各个内核134-1、134-2、134-3和134-4的物理块。将参照图3至图5详细描述根据本实施例的全局损耗均衡操作。
在本公开中,交换分别专门分配给第一内核和第二内核的物理块的全局损耗均衡操作可以意为在第一内核和第二内核之间交换对物理块的专门分配的操作。例如,当第一组物理块被专门分配给第一内核并且第二组物理块被专门分配给第二内核时,该第一组和第二组可以分别属于分别由第一内核和第二内核控制的第一存储器装置和第二存储器装置。通过全局损耗均衡操作,可以将对第一组的专门分配改变为第二内核,并且可以将对第二组的专门分配改变为第一内核。当第一组和第二组分别是第一超级块和第二超级块时,可以通过全局损耗均衡操作在第一内核和第二内核之间交换对第一超级块和第二超级块的专门分配。
图3和图4是示出根据本发明的实施例的存储器系统110的操作的示图。
图3示出上面参照图1描述的主机接口132、多个内核134-1、134-2、134-3和134-4以及全局损耗均衡管理器136。
主机接口132可以从主机102接收包括逻辑地址的请求。主机接口132可以基于请求的逻辑地址将请求分布到内核134-1、134-2、134-3和134-4。例如,当通过对逻辑地址执行模4运算(“LBA%4”)而获得的结果值为“1”时,主机接口132可以向第一内核134-1提供该请求,当结果值为“2”时,主机接口132可以向第二内核134-2提供该请求,当结果值为“3”时,主机接口132可以向第三内核134-3提供该请求,并且当结果值为“0”时,主机接口132可以向第四内核134-4提供该请求。
多个物理块和多个超级块可以被分配给内核134-1、134-2、134-3和134-4中的每一个。超级块中的每一个可以被映射到一个或多个物理块。例如,内核134-1、134-2、134-3和134-4可以将在多个物理块中可以被并行访问的块分组为超级块,并且以超级块为单位来访问和管理分组后的块。
在存储器系统110中执行全局损耗均衡操作之前的初始状态下,第一内核134-1的超级块可以映射到第一存储器装置150-1的物理块。类似地,第二至第四内核134-2、134-3和134-4的超级块可以分别映射到第二至第四存储器装置150-2、150-3和150-4中包括的物理块。在下文中,将分配给第一内核134-1的超级块称为第一超级块,并且将分配给第二内核134-2的超级块称为第二超级块。另外,将分配给第一存储器装置150-1的物理块称为第一物理块,并且将分配给第二存储器装置150-2的物理块称为第二物理块。
内核134-1、134-2、134-3和134-4中的每一个可以对分配给自身的超级块执行局部损耗均衡操作。例如,当第一超级块的损耗程度之间的差等于或大于阈值时,第一内核134-1可以将损耗最少的第一超级块中存储的数据移动到损耗最多的第一超级块。
超级块的损耗程度可以通过擦除计数来确定。例如,第一内核134-1可以对第一超级块的擦除次数进行计数以确定该超级块的损耗程度。可以通过被映射到超级块的物理块的擦除计数来确定该超级块的擦除计数。
第一内核134-1可以将第一超级块之中的空闲块从最低擦除计数到最高擦除计数布置在空闲块队列中。在图3中,排队到空闲块队列的超级块由参考符号“SB”表示。空闲块当前可能未存储任何数据。超级块中的每一个的擦除计数和空闲块队列可以被存储在第一存储器144-1中,然而,图3省略了第一存储器144-1。在分配给相同内核的超级块之中,将具有最高擦除计数的超级块称为局部最大超级块,并且将具有最低擦除计数的超级块称为局部最小超级块。
当局部最大超级块和局部最小超级块的擦除计数之间的差超过阈值时,第一内核134-1可以将局部最小超级块的数据传送并存储到局部最大超级块中,并且通过允许将用户数据存储在局部最小超级块中来频繁使用该局部最小超级块。在图3中,由后台超级块(BGSB)表示局部最大超级块,由前台超级块(FGSB)表示局部最小超级块。
类似地,第二至第四内核134-2、134-3和134-4中的每一个可以对分配给其自身的超级块的擦除次数进行计数,生成空闲块队列,并且执行局部损耗均衡操作。从图3中省略了第三内核134-3和第四内核134-4的空闲块队列。
根据实施例,当分配给不同内核的超级块的损耗程度不平衡时,全局损耗均衡管理器136可以执行全局损耗均衡操作,交换被分配给不同内核的物理块。例如,全局损耗均衡管理器136可以将被分配给具有最高请求执行频率的内核的物理块之中具有最高擦除计数的物理块交换为被分配给具有最低请求执行频率的内核的物理块之中具有最低擦除计数的物理块。
当全局损耗均衡管理器136执行全局损耗均衡操作时,即使来自主机102的针对每个逻辑地址的请求的数量不同,整个存储器系统110中包括的物理块的损耗程度也可以被均衡或平衡。根据本实施例,因为可以使用存储器系统110直到该存储器系统110的所有物理块都达到其寿命的终点,所以可以提高存储器系统110的寿命。
图3和图4示出以下情况下的全局损耗均衡操作的示例,其中由于第一内核134-1具有最高的请求频率并且第二内核134-2具有最低的请求频率,内核之间的超级块的损耗程度尚未被均衡。
图4示出根据本发明的实施例的存储器系统110的操作。
在操作S401中,第一内核134-1可以擦除第一超级块。在图3中,待擦除的第一超级块在第一内核134-1中由“SBCLOSED”表示。
在操作S403中,第一内核134-1可以确定被擦除的第一超级块是否是整个存储器系统110中具有最高擦除计数的超级块。此后,将在整个存储器系统110中具有最高擦除计数的超级块称为全局最大超级块。因为通过局部损耗均衡操作均匀地保持分配给相同内核的超级块的损耗程度,所以全局最大超级块可能被包括在具有最大的接收请求量的内核的超级块中。
在操作S405中,当第一超级块是全局最大超级块时,第一内核134-1可以确定全局最大超级块和在整个存储器系统110中具有最低擦除计数的超级块之间的擦除计数之差(MAX-MIN)是否等于或大于阈值。在下文中,将在整个存储器系统110中具有最低擦除计数的超级块称为全局最小超级块。根据实施方案,内核134-1、134-2、134-3和134-4中的每一个可以将整个存储器系统110的超级块的擦除计数存储在链接到内核134-1、134-2、134-3和134-4中的每一个的存储器中,并且从该擦除计数中获得全局最小超级块的擦除计数。全局最小超级块可能被包括在具有最小的接收请求量的内核的超级块中。在图3和图4的示例中,全局最小超级块可以被包括在被分配给第二内核134-2的超级块中。
当全局最大超级块和全局最小超级块的擦除计数之间的差等于或大于阈值时,全局损耗均衡管理器136可以执行操作S407、S409、S411、S413和S415的全局损耗均衡操作。
在操作S407中,第一内核134-1可以从全局损耗均衡管理器136请求全局损耗均衡操作。
在操作S409中,全局损耗均衡管理器136可以从第二内核134-2请求全局最小超级块。
在操作S411中,当数据被存储在全局最小超级块中时,第二内核134-2可以将该数据移动并存储到第二超级块中具有最高擦除计数的超级块(即,局部最大超级块)中,并且擦除该全局最小超级块。在图3中,全局最小超级块在第二内核134-2中由“SBCLOSED”表示。在操作S413中,第二内核134-2可以向全局损耗均衡管理器136提供对操作S409的请求的响应。
在操作S415中,全局损耗均衡管理器136可以将被映射到全局最大超级块的物理块(MAX PB)交换为被映射到全局最小超级块的物理块(MIN PB)。即,全局损耗均衡管理器136可以将被映射到全局最大超级块的物理块映射到全局最小超级块,并且将被映射到全局最小超级块的物理块映射到全局最大超级块。曾经由第一内核134-1访问的、在整个存储器系统110中具有最高擦除计数的物理块此后可以由第二内核134-2访问。另外,曾经由第二内核134-2访问的、在整个存储器系统110中具有最低擦除计数的物理块此后可以由第一内核134-1访问。
当全局损耗均衡管理器136交换物理块时,可以将第一内核134-1中包括的全局最大超级块改变为全局最小超级块,并且可以将第二内核134-2中包括的全局最小超级块改变为全局最大超级块。这是因为可以根据映射到超级块的物理块的擦除计数来确定该超级块的擦除计数。
当第二内核134-2倾向于保持最低的请求执行频率时,第二内核134-2可能很少使用全局最大超级块。当第一内核134-1倾向于保持最高的请求执行频率时,第一内核134-1可能会频繁地使用全局最小超级块。因此,可以平衡整个存储器系统110的超级块和物理块的损耗程度。
图5是示出根据本发明的第一实施例的存储器系统110的结构的框图。
图6A至图6C是图5所示的存储器系统110的地址映射表的示例。
图5所示的存储器系统110可以在图1所示的存储器系统110中进一步包括第五内核134-5和第五存储器144-5。图5所示的存储器系统110可以包括多个存储器144-1、144-2、144-3和144-4,然而,从图中省略了存储器144-1、144-2、144-3和144-4。
主机接口132可以驱动HIL。如参照图1和图3所描述的,HIL可以基于与请求相关联的逻辑地址将从主机102接收的请求分布到多个内核134-1、134-2、134-3和134-4。
第一至第四内核134-1、134-2、134-3和134-4可以驱动FTL。在图5中,分别由第一至第四内核134-1、134-2、134-3和134-4驱动的FTL分别由第一FTL FTL1、第二FTL FTL2、第三FTL FTL3和第四FTL FTL4表示。
FTL中的每一个可以将在主机102的文件系统中使用的逻辑地址转换为虚拟地址。虚拟地址可以是指示上面参照图3描述的超级块的地址。各个FTL可以将指示逻辑地址和虚拟地址之间的映射的映射表存储在存储器144-1、144-2、144-3和144-4中。
图6A是第一存储器144-1中存储的逻辑到虚拟(L2V)映射表的示例。
第一存储器144-1中存储的L2V映射表可以包括虚拟地址VA对与第一内核134-1相关联的每个逻辑地址LA的映射。在本实施例中,因为第一内核134-1仅执行与模4运算的结果值为“1”的逻辑地址相关联的请求,所以L2V映射表可以仅包括结果值为“1”的逻辑地址。另外,L2V映射表可以仅包括被分配给第一内核134-1的第一超级块的虚拟地址。
重新参照图5,FTL中的每一个可以管理被映射到物理块的超级块。例如,FTL中的每一个可以基于超级块的擦除计数来执行局部损耗均衡操作。
第五内核134-5可以包括全局虚拟闪存层(GVFL)、全局闪存接口层(GFIL)和全局损耗均衡管理器(GWLM)136。
GVFL可以在整个存储器系统110的虚拟地址和物理地址之间执行映射。GVFL可以将除了缺陷物理块之外的正常物理块映射到超级块。GVFL可以将指示虚拟地址和物理地址之间的映射的表存储在第五存储器144-5中。
图6B提供第五存储器144-5中存储的V2P映射表的示例。第五存储器144-5中存储的V2P映射表可以包括被分配给内核134-1、134-2、134-3和134-4的超级块SB和在多个存储器装置150-1、150-2、150-3和150-4中存储的物理块PB之间的映射。超级块SB中的每一个可以被映射到彼此可并行地操作的物理块PB。图6B提供一个超级块SB被映射到四个存储器管芯DIE1、DIE2、DIE3和DIE4中包括的物理块PB的情况的示例。例如,第一内核134-1的第一超级块可以被映射到第一存储器装置150-1的四个存储器管芯DIE1、DIE2、DIE3和DIE4中包括的物理块。
根据实施例,GVFL可以进一步执行将奇偶校验数据存储在超级块的一部分中的操作,以为存储器装置中可能发生的芯片猎杀(chipkill)作准备。
重新参照图5,GFIL可以基于由GVFL转换的物理地址来生成待提供到存储器装置的命令。例如,GFIL可以针对存储器装置150-1、150-2、150-3和150-4的物理块生成编程命令、读取命令和擦除命令。
全局损耗均衡管理器136可以通过改变第五存储器144-5中存储的虚拟地址和物理地址之间的映射来执行全局损耗均衡操作。
重新参照图6B,在执行全局损耗均衡操作之前,分配给第一内核134-1的超级块中的每一个可以被映射到第一存储器装置150-1的物理块,并且被分配给第二内核134-2的超级块中的每一个可以被映射到第二存储器装置150-2的物理块。
图6B所示的虚线表示通过全局损耗均衡操作交换的物理块和超级块之间的映射。当执行全局损耗均衡操作时,被分配给第一内核134-1的超级块中的一些可以被映射到除第一存储器装置150-1之外的存储器装置的物理块。图6B提供了以下情况的示例:通过全局损耗均衡操作,第一内核134-1(“CORE”字段中的“1”)的第二超级块(“BLOCK”字段中的“2”)被映射到第二存储器装置150-2(“DEVICE”字段中的“2”)的物理块(在各个“DIE1”到“DIE4”字段中的“5”、“5”、“4”和“5”),并且第二内核134-2(“CORE”字段中的“1”)的第五超级块(“BLOCK”字段中的“5”)被映射到第一存储器装置150-1(在“DEVICE”字段中的“1”)的物理块(在各个“DIE1”到“DIE4”字段中的“2”、“2”、“2”和“2”)。也就是说,根据实施例,可以通过全局损耗均衡操作在第一内核134-1和第二内核134-2之间交换对第二超级块和第五超级块的专门分配。
根据实施例,第五存储器144-5可以进一步存储交换信息表,该交换信息表包括在内核134-1、134-2、134-3和134-4之间交换的物理块的信息。
图6C提供可在第五存储器144-5中存储的交换信息表的示例。
在图6C的示例中,交换信息表可以表示以下状态:通过全局损耗均衡操作,被映射到第一内核134-1的第二超级块的物理块被交换为被映射到第二内核134-2的第五超级块的物理块。当物理块被交换时,可以平衡被分配给第一内核134-1和第二内核134-2的超级块的损耗程度。
根据实施例,当内核134-1、134-2、134-3和134-4之间的超级块的损耗程度被平衡时,全局损耗均衡管理器136可以参考交换信息表,将虚拟块和物理块之间在交换之后的映射恢复为该虚拟块和该物理块之间在交换之前的映射。例如,全局损耗均衡管理器136可确定:当内核134-1、134-2、134-3和134-4中的超级块的擦除计数小于阈值时,它们的损耗程度被平衡,并且恢复虚拟块和物理块之间的映射。在图6C的示例中,为了恢复虚拟块和物理块之间的映射,全局损耗均衡管理器136可以将被映射到第一内核134-1的第二超级块的物理块映射到第二内核134-2的第五超级块,将被映射到第二内核134-2的第五超级块的物理块映射到第一内核134-1的第二超级块,并且从交换信息表中去除第一内核134-1的第二超级块和第二内核134-2的第五超级块。
重新参照图5,存储器系统110可以进一步包括一个或多个硬件加速器(未示出),以提高第五内核134-5的计算处理性能。作为第一示例,硬件加速器可以将从多个FTL提供到GVFL的命令排队,从而快速接收从第一至第四内核134-1、134-2、134-3和134-4提供到第五内核134-5的命令。作为第二示例,硬件加速器可以调度从GFIL输出到多个存储器接口142-1和142-2的命令,从而在存储器装置150-1、150-2、150-3和150-4中并行地处理命令。
存储器接口142-1和142-2可以基于从GFIL接收的命令来控制存储器装置150-1、150-2、150-3和150-4。已经参照图1详细描述了存储器接口142-1和142-2。
图7是示出根据本发明的第二实施例的存储器系统110的结构的框图。
图8是图7所示的存储器系统110的地址映射表的示例。
图7所示的存储器系统110可以对应于图1所示的存储器系统110。图7所示的存储器系统110可以包括多个存储器144-1、144-2、144-3和144-4,然而,从图中省略了存储器144-1、144-2、144-3和144-4。
主机接口132可以驱动HIL。HIL可以基于与请求相关联的逻辑地址将从主机102接收的请求分布到多个内核134-1、134-2、134-3和134-4。
内核134-1、134-2、134-3和134-4中的每一个可以驱动FTL、虚拟闪存层(VFL)和闪存接口层(FIL)。
在图7中,由内核134-1、134-2、134-3和134-4驱动的FTL分别由第一FTL FTL1、第二FTL FTL2、第三FTL FTL3和第四FTL FTL4表示。
FTL中的每一个可以将逻辑地址转换为虚拟地址。根据第二实施例的FTL可以执行与上面参照图5描述的根据第一实施例的FTL基本相似的操作。例如,第一内核134-1中包括的第一FTL可以将与上面参照图6A描述的L2V映射表基本相似的表存储在第一存储器144-1中。另外,FTL中的每一个可以执行局部损耗均衡操作。
在图7中,由内核134-1、134-2、134-3和134-4驱动的VFL分别由第一VFL VFL1、第二VFL FVL2、第三VFL VFL3和第四VFL VFL4表示。
VFL中的每一个可以将虚拟地址转换为物理地址。例如,第一VFL可以将指示被分配给第一内核134-1的超级块的虚拟地址转换成物理地址。VFL中的每一个可以将指示虚拟地址和物理地址之间的映射的V2P映射表存储在对应的存储器中。
图8提供第一存储器144-1中存储的V2P映射表的示例。第一存储器144-1中存储的V2P映射表可以包括:被分配给第一内核134-1的超级块SB和被映射到超级块SB的物理块PB。类似地,第二至第四存储器144-2、144-3和144-4可以分别存储与被分配给第二至第四内核134-2、134-3和134-4的超级块SB相关联的V2P映射表。图8提供将一个超级块映射到四个存储器管芯DIE1、DIE2、DIE3和DIE4中包括的物理块的情况的示例。
根据实施例,VFL中的每一个可以进一步执行将奇偶校验数据存储在超级块的一部分中的操作,以为存储器装置中可能发生的芯片猎杀作准备。
重新参照图7,FIL中的每一个可以基于由相同内核中包括的VFL转换的物理地址来生成待提供到存储器装置的命令。在图7中,由内核134-1、134-2、134-3和134-4驱动的FIL分别由第一FIL FIL1、第二FIL FIL2、第三FIL FIL3和第四FIL FIL4表示。例如,第一FIL可以针对被分配给第一内核134-1的物理块生成编程命令、读取命令和擦除命令。根据本实施例,根据全局损耗均衡操作,第一FIL不限于针对第一存储器装置150-1的物理块生成命令,并且可以针对第二至第四存储器装置150-2、150-3和150-4的物理块生成命令。类似地,第二至第四FIL可以分别根据被分配给包括第二至第四FIL的内核的物理块来生成用于控制第一至第四存储器装置150-1、150-2、150-3和150-4的命令。
全局损耗均衡管理器136可以控制内核134-1、134-2、134-3和134-4以访问存储器144-1、144-2、144-3和144-4。全局损耗均衡管理器136可以通过改变存储器144-1、144-2、144-3和144-4中存储的V2P映射来执行全局损耗均衡操作。
重新参参照图8,在执行全局损耗均衡操作之前被分配给第一内核134-1的超级块中的每一个可以被映射到第一存储器装置150-1的存储器管芯DIE1、DIE2、DIE3和DIE4的物理块。图8中虚线框内的部分表示通过全局损耗均衡操作而将第一内核134-1的第二超级块映射到第二存储器装置150-2的物理块的情况。
根据实施例,存储器系统110可以进一步包括第六存储器(未示出),用于存储驱动全局损耗均衡管理器136所需的数据。全局损耗均衡管理器136可以进一步存储包括内核之间交换的物理块的信息的交换信息表。该交换信息表基本上类似于上面参照图6C描述的交换信息表。
根据实施例,当内核134-1、134-2、134-3和134-4之间的超级块的损耗程度被平衡时,全局损耗均衡管理器136可以参考交换信息表,将虚拟块和物理块之间在交换之后的映射恢复为该虚拟块和该物理块之间在交换之前的映射。被交换的物理块可以被再次交换,并且可以去除交换信息表中存储的该物理块的信息。
多个存储器接口142-1和142-2可以基于从多个FIL接收的命令来控制存储器装置150-1、150-2、150-3和150-4。已经参照图1详细描述了存储器接口142-1和142-2。
参照图1至图8描述的存储器系统110包括:第一存储器装置150-1、第二存储器装置150-2、第一内核134-1、第二内核134-2、全局损耗均衡管理器136和主机接口132。
第一存储器装置150-1可以包括多个第一物理块,并且第二存储器装置150-2可以包括多个第二物理块。可以将被分配给第一内核134-1的第一超级块中的每一个映射到多个第一物理块中的多个物理块,并且可以将被分配给第二内核134-2的第二超级块中的每一个映射到多个第二物理块中的多个物理块。
全局损耗均衡管理器136可以基于第一超级块和第二超级块的损耗程度,将被映射到第一超级块的第一物理块交换为被映射到第二超级块的第二物理块。例如,全局损耗均衡管理器136可以交换在具有最高的请求执行频率的内核中包括的全局最大超级块和具有最低的请求执行频率的内核中包括的全局最小超级块之间映射的物理块。
主机接口132可以将从主机102接收的逻辑地址分布到第一内核134-1和第二内核134-2。例如,主机接口132可以根据预定操作将逻辑地址分类为第一逻辑地址和第二逻辑地址,向第一内核134-1提供第一逻辑地址,并且向第二内核134-2提供第二逻辑地址。
当第一内核134-1从主机接口132接收第一逻辑地址时,第一内核134-1可以搜索与第一逻辑地址相对应的超级块以及映射到该超级块的物理块。
根据本公开的实施例,均衡或平衡整个存储器系统110中包括的物理块的损耗程度,从而提高存储器系统110的寿命。
根据本公开的实施例,可以提供可以均衡或平衡不同存储器装置中包括的存储块的损耗程度的控制器和存储器系统。
根据本公开的实施例,可以提供可以通过均匀地使用存储器装置中包括的所有存储块来提高多个存储器装置的寿命的控制器和存储器系统。
在本公开中可获得的这些效果不限于上述实施例,并且根据上面的详细描述,本公开所属领域的技术人员将清楚地理解本文中未描述的其他效果。
尽管已经针对特定实施例描述了本公开,但是对于本领域技术人员而言显而易见的是,在不脱离如所附权利要求书所限定的本公开的精神和范围的情况下,可以进行各种改变和修改。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:闪存控制器、闪存控制器的方法及记忆装置