CN113535078A - 控制器、控制器的操作方法以及存储器系统 - Google Patents
控制器、控制器的操作方法以及存储器系统 Download PDFInfo
- Publication number
- CN113535078A CN113535078A CN202110078814.7A CN202110078814A CN113535078A CN 113535078 A CN113535078 A CN 113535078A CN 202110078814 A CN202110078814 A CN 202110078814A CN 113535078 A CN113535078 A CN 113535078A
- Authority
- CN
- China
- Prior art keywords
- state
- memory
- data
- wear
- memory devices
- 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
- 238000000034 method Methods 0.000 title claims description 10
- 238000013507 mapping Methods 0.000 claims abstract description 65
- 230000008859 change Effects 0.000 claims abstract description 30
- 230000004044 response Effects 0.000 claims abstract description 12
- 238000012795 verification Methods 0.000 claims description 25
- 238000010200 validation analysis Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 13
- 230000003247 decreasing effect Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 239000004065 semiconductor Substances 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process 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/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
-
- 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
-
- 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
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- 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/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
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
- G06F2212/1036—Life time enhancement
-
- 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)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请公开了一种存储器系统,该存储器系统包括:多个存储器装置;多个内核,适用于分别控制多个存储器装置;以及控制器,包括:主机接口层,基于逻辑地址和内核之间的映射向内核中的任意一个提供主机的请求;重新映射管理器,响应于触发而改变逻辑地址与内核之间的映射;数据交换器,基于所改变的映射在多个存储器装置之间交换数据;以及状态管理器,根据数据交换器是正在交换数据还是已经完成交换数据来确定存储器系统的状态,并且基于存储器系统的状态和多个存储器装置之间的损耗程度的差异,向重新映射管理器提供触发。
Description
相关申请的交叉引用
本申请要求于2020年3月31日提交的申请号为10-2020-0038852的韩国专利申请的优先权,该韩国专利申请的公开内容通过引用整体并入本文。
技术领域
本公开的各个实施例总体涉及一种存储器系统。特别地,实施例涉及一种包括存储器装置和用于控制该存储器装置的控制器的存储器系统。
背景技术
计算机环境范例已经转变成能够随时随地使用计算系统的普适计算。因此,诸如移动电话、数码相机和膝上型计算机的便携式电子装置的使用已经迅速增加。这些便携式电子装置通常使用具有一个或多个存储器装置的存储器系统以存储数据。存储器系统可以被用作便携式电子装置的主存储器装置或辅助存储器装置。
因为存储器系统不具有活动部件,所以该存储器系统提供优良的稳定性、耐久性、高信息访问速度和低功耗。具有这种优点的存储器系统的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡以及固态驱动器(SSD)。
发明内容
本公开的各个实施例涉及一种可以有效地平衡存储器系统中的存储器装置的损耗程度的控制器和存储器系统。
根据实施例,一种存储器系统包括:多个存储器装置;多个内核,适用于分别控制该多个存储器装置;以及控制器,包括:主机接口层,用于基于逻辑地址与内核之间的映射向内核中的任意一个提供主机的请求;重新映射管理器,用于响应于触发而改变逻辑地址与内核之间的映射;数据交换器,用于基于所改变的映射在多个存储器装置之间交换数据;以及状态管理器,根据数据交换器是正在交换数据还是已经完成交换数据来确定存储器系统的状态,并且基于存储器系统的状态和多个存储器装置之间的损耗程度的差异,向重新映射管理器提供触发。
根据另一实施例,一种向控制各个存储器装置的多个内核中的一个或多个提供主机的请求的控制器,该控制器包括:主机接口层,适用于基于逻辑地址与内核之间的映射,向内核中的任意一个提供请求;重新映射管理器,适用于响应于触发而改变逻辑地址与内核之间的映射;数据交换器,适用于基于所改变的映射,在与内核相对应的存储器装置之间交换数据;以及状态管理器,适用于根据数据交换器是正在交换数据还是已经完成交换数据来确定控制器的状态,并且基于控制器的状态和存储器装置之间的损耗程度的差异,向重新映射管理器提供触发。
根据另一实施例,一种控制器的操作方法,该操作方法包括:根据策略,将逻辑地址分配到多个内核中的一个,以基于所分配的逻辑地址来控制多个存储器装置中的对应的一个以执行存储器操作;当各个存储器装置的累积擦除计数之中的最大差值变得大于阈值时,改变该策略;控制内核以根据所改变的策略来控制存储器装置在其间移动所存储的数据,从而减小该最大差值;并且当即使在控制之后的设定时间内最大差值仍大于阈值时,再次改变该策略并重复进行控制。
附图说明
图1是示出根据实施例的包括存储器系统的数据处理系统的框图。
图2是示出存储器装置的示例的示图。
图3是示出根据实施例的全局损耗均衡管理器的框图。
图4A至图4C是示出根据实施例的监测器的操作的示图。
图5例示出根据实施例的状态管理器。
图6A至图6C是示出状态管理器的重新映射验证操作的示图。
图7A至图7C是示出根据实施例的重新映射管理器和数据交换器的操作的示图。
具体实施方式
下文中,下面参照附图更详细地描述本公开的各个实施例。以下描述集中在与本发明有关的主题;可以省略公知的技术细节,以免模糊所公开的实施例的主题。在整个说明书中,对“实施例”、“另一实施例”等的参考不一定仅针对一个实施例,并且对任何这种短语的不同参考不一定针对相同的实施例。
图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可以包括多个存储器装置152、154、156和158,多个内核132、134、136和138,控制器170以及存储器190。存储器装置152、154、156和158可以存储用于主机102的数据。内核132、134、136和138可以分别控制存储器装置152、154、156和158的数据存储。
内核132、134、136和138和存储器装置152、154、156和158可以被集成到一个半导体装置中。例如,内核132、134、136和138和存储器装置152、154、156和158可以被集成到一个半导体装置中以构成固态驱动器(SSD)。当将存储器系统110用作SSD时,可以提高连接到该存储器系统110的主机102的操作速度。在另一实施例中,内核132、134、136和138和存储器装置152、154、156和158可以被集成到一个半导体装置中以构成诸如以下的存储卡:PC卡(PCMCIA:个人计算机存储卡国际协会),紧凑型闪存(CF)卡,智能媒体卡(SM或SMC),记忆棒,包括缩小尺寸的MMC(RS-MMC)和微型MMC的多媒体卡(MMC),包括迷你SD卡、微型SD卡和高容量安全数字(SDHC)卡的安全数字(SD)卡,和/或通用闪存(UFS)装置。
存储器装置152、154、156和158中的每一个可以是即使不被供应电力也可以保持所存储的数据的非易失性存储器装置。存储器装置152、154、156和158可以通过编程操作来存储从主机102接收的数据,并且通过读取操作向主机102提供所存储的数据。存储器装置152、154、156和158中的每一个可以包括多个存储块,每个存储块可以包括多个页面,并且每个页面可以包括联接到字线的多个存储器单元。在实施例中,存储器装置152、154、156和158中的每一个可以是闪速存储器。闪速存储器可以具有3维(3D)堆叠结构。
图2是示出存储器装置152的示例的示图。
图2代表性地示出图1的存储器系统110中的存储器装置152、154、156和158中的第一存储器装置152。
第一存储器装置152可以包括多个存储器管芯DIE。例如,存储器管芯DIE中的每一个可以是NAND存储器管芯。存储器管芯DIE可以通过通道CH联接到控制器170。
存储器管芯DIE中的每一个可以具有平面、存储块和页面的分层结构。一个存储器管芯DIE一次可以接收一个命令。一个存储器管芯DIE可以包括多个平面,并且多个平面可以并行处理由该存储器管芯DIE接收的命令。平面中的每一个可以包括多个存储块。存储块中的每一个可以是擦除操作的最小单位。一个存储块可以包括多个页面。页面中的每一个可以是写入操作的最小单位。多个存储器管芯DIE可以彼此并行地操作。
第二至第四存储器装置154、156和158中的每一个的结构可以与第一存储器装置152相同或基本相同。多个存储器装置152、154、156和158可以彼此并行地操作。
重新参照图1,内核132、134、136和138可以一对一地连接到存储器装置152、154、156和158。内核132、134、136和138中的每一个可以控制与其连接的存储器装置。多个内核132、134、136和138可以彼此并行地操作。
内核132、134、136和138可以响应于主机102的请求而执行前台操作。例如,第一内核132可以响应于主机102的写入请求而控制第一存储器装置152以将数据编程到该第一存储器装置152的存储块中,并且响应于主机102的读取请求而控制第一存储器装置152以从该第一存储器装置152的存储块中读取数据。
另外,内核132、134、136和138还可以对存储器装置152、154、156和158执行后台操作。
控制器170可以通过将主机102的请求分配到内核132、134、136和138中的每一个来提高内核132、134、136和138的并行处理性能。该请求可以包括主机102所使用的逻辑地址,例如逻辑块地址LBA。控制器170可以基于该请求的逻辑地址将该请求分配到内核132、134、136和138中的每一个。因为基于逻辑地址将主机102的请求分配到内核132、134、136和138中的每一个,所以内核132、134、136和138中的每一个可以仅处理针对该逻辑地址的请求。
存储器190可以用作存储器系统110的操作存储器,并且存储用于驱动存储器系统110的数据。内核132、134、136和138可以响应于主机102的请求来控制存储器装置152、154、156和158以执行读取操作、编程操作和擦除操作。内核132、134、136和138可以向主机102提供从存储器装置152、154、156和158读取的数据,并且将由主机102提供的数据存储在存储器装置152、154、156和158中。存储器190可以在其中存储用于内核132、134、136和138以及存储器装置152、154、156和158的数据以执行上述操作。
存储器190可以被实施为易失性存储器。例如,存储器190可以被实施为静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)。存储器190可以被设置在控制器170的内部或外部。图1例示了设置在控制器170外部的存储器190。
存储器装置152、154、156和158中的存储块可能具有有限的寿命。因此,当对特定存储块执行特定次数的擦除操作时,可能不再使用该存储块。内核132、134、136和138可以分别对存储器装置152、154、156和158执行作为后台操作的局部损耗均衡操作。例如,各个内核132、134、136和138可以通过促进将被频繁访问的数据存储在存储块之中具有较低损耗程度的存储块中来平衡它们各自的存储器装置152、154、156和158中的存储块的损耗程度。当内核132、134、136和138执行局部损耗均衡操作时,可以平衡存储器装置152、154、156和158中的每一个的存储块的损耗程度。
提供到各个内核132、134、136和138的请求的数量可以根据哪个逻辑地址与主机102提供的请求相关联而变化。当提供到内核132、134、136和138的请求的数量不平衡时,存储器装置152、154、156和158之中的存储块可能不会被均匀地损耗。即使内核132、134、136和138执行局部损耗均衡操作,也难以平衡存储器装置152、154、156和158之间的存储块的损耗程度。当特定存储器装置的存储块比其它存储器装置的存储块更早地达到使用寿命时,即使其它存储器装置的存储块仍然可用,也可能无法正常使用整个存储器系统110。
根据本公开的实施例,控制器170可以基于存储器装置152、154、156和158之间的损耗程度的差异来改变逻辑地址与内核132、134、136和138中的每一个之间的映射,并且根据所改变的映射来执行在存储器装置152、154、156和158之间交换数据的全局损耗均衡操作。
控制器170可以包括主机接口层172、全局损耗均衡(GWL)管理器174和数据交换器176。控制器170可以进一步包括用于周期性地控制全局损耗均衡管理器174的定时器178。
主机接口层172可以基于逻辑地址与内核132、134、136和138之间的映射向内核132、134、136和138中的任意一个提供主机102的请求。例如,主机接口层172可以根据通过对该请求的逻辑地址执行取模运算而获得的结果,将该请求分配到内核132、134、136和138中的每一个,但是分配该请求的方法不限于此。
全局损耗均衡管理器174可以监测存储器装置152、154、156和158的损耗程度,并且基于存储器装置152、154、156和158之间的损耗程度的差异来改变逻辑地址与内核132、134、136和138之间的映射。例如,全局损耗均衡管理器174可以改变逻辑地址与内核132、134、136和138之间的映射,使得曾经被提供到第一内核132的针对第一逻辑地址的请求现在被提供到第二内核134,并且曾经被提供到第二内核134的针对第二逻辑地址的请求现在被提供到第一内核132,以便减小第一存储器装置152和第二存储器装置154之间的损耗程度的差异。
数据交换器176可以根据逻辑地址与内核132、134、136和138中的每一个之间的所改变的映射来移动存储器装置152、154、156和158中的每一个中存储的数据。例如,数据交换器176可以将第一存储器装置152中存储的针对第一逻辑地址的数据移动到第二存储器装置154,并且将第二存储器装置154中存储的针对第一逻辑地址的数据移动到第一存储器装置152。
定时器178可以周期性地调用全局损耗均衡管理器174的操作。
图3是示出根据实施例的全局损耗均衡管理器174的框图。
全局损耗均衡管理器174可以包括监测器302、状态管理器304和重新映射管理器306。
监测器302可以监测存储器装置152、154、156和158中的每一个的损耗程度。根据实施例,监测器302可以基于存储器装置152、154、156和158中的每一个的存储块中的每一个的擦除计数,确定对应的存储器装置的损耗程度以及损耗程度的增加率。可以响应于定时器178的调用而周期性地执行通过监测器302确定存储器装置152、154、156和158中的每一个的损耗程度以及损耗程度的增加率的操作。下面参照图4A至4C描述监测器302的操作的示例。
状态管理器304可以根据存储器系统110的状态而在不同条件下触发全局损耗均衡操作。例如,状态管理器304可以根据数据交换器176的数据交换操作是正在执行还是已经被完全地执行来确定存储器系统110的状态。状态管理器304可以根据所确定的状态来启用或停用监测器302的操作,当监测器302被启用时,状态管理器304可以基于存储器装置152、154、156和158之间的损耗程度的差异,控制重新映射管理器306以改变逻辑地址与内核132、134、136和138中的每一个之间的映射。状态管理器304可以针对存储器系统110的不同状态使用不同的条件来触发全局损耗均衡操作,从而防止不必要地频繁执行全局损耗均衡操作。当在状态管理器304的控制下在正确的时间执行全局损耗均衡操作时,可以提高存储器系统110的性能和寿命。下面参照图5和6A至6C描述状态管理器304的操作的示例。
重新映射管理器306可以响应于状态管理器304的控制来改变逻辑地址与内核132、134、136和138中的每一个之间的映射。例如,重新映射管理器306可以用被映射到控制具有最低损耗程度的存储器装置的内核的逻辑地址来交换被映射到控制在最近时间段内损耗程度增长最快的存储器装置的内核的逻辑地址。例如,该最近时间段可以是一些最新的时间窗口。重新映射管理器306可以根据逻辑地址与内核132、134、136和138之间的映射来控制数据交换器176交换存储器装置152、154、156和158的数据。下面参照图7A至7C描述重新映射管理器306和数据交换器176的操作的示例。
图4A至图4C是示出根据实施例的监测器302的操作的示图。
图4A示出每个存储器装置中的存储块的擦除计数随时间的改变。
监测器302可以在定时器178的控制下周期性地确定每个存储器装置的损耗程度。由监测器302确定损耗程度的时间点显示在图4A的时间轴TIME上。图4A例示在时间点之中的第一时间点T1、第二时间点T2和第三时间点T3处的存储块的擦除计数。擦除计数可以包括累积擦除计数、参考擦除计数和窗口擦除计数。
每个存储器装置的累积擦除计数可以通过对该存储器装置中的存储块的擦除计数进行求和来确定。存储块中的每一个的擦除计数可以由控制对应存储块所在的存储器装置的内核来计数。内核可以将存储块中的每一个的擦除计数存储在存储器190中。监测器302可以基于对应存储器装置的累积擦除计数来确定每个存储器装置的损耗程度。
每个存储器装置的窗口擦除计数可以通过对在设定时间范围内该对应存储器装置中的存储块的擦除计数的增加数量进行求和来确定。下文中,设定时间范围被称为时间窗口。每当整个存储器系统的擦除计数达到特定数量时,可以重置时间窗口。例如,当特定时间窗口中的存储器装置的窗口擦除计数的总和等于或大于阈值时,监测器302可以定义新的时间窗口。图4A例示针对不同时间窗口的多个窗口擦除计数。监测器302可以基于每个存储器装置在至少一个窗口中的擦除计数来确定每个存储器装置的损耗程度的增加率。
参考擦除计数可以代表重置时间窗口时的累积擦除计数。监测器302可以通过从当前累积擦除计数中减去参考擦除计数来确定窗口擦除计数。
下文中,参照图4A的示例描述累积擦除计数、参考擦除计数和窗口擦除计数。图4A示出第一时间点T1是第一时间窗口的起始点的情况。在第一时间点T1,监测器302可以将每个存储器装置的累积擦除计数确定为该存储器装置的参考擦除计数。在图4A所示的多个窗口擦除计数之中,由虚线包围的擦除计数表示作为当前时间窗口的第一时间窗口中的第一窗口擦除计数。因为第一时间点T1是该时间窗口的起始点,所以可以将每个存储器装置的窗口擦除计数初始化为(0、0、0、0)。
监测器302可以在第一时间点T1之后根据定时器178的调用来更新累积擦除计数和窗口擦除计数。图4A例示在第二时间点T2处的累积擦除计数、参考擦除计数和窗口擦除计数。在第二时间点T2处的参考擦除计数可以等于在第一时间点T1处的参考擦除计数。由于在第一时间点T1之后对存储器装置的存储块执行了擦除操作,因此可以增加第二时间点T2处的累积擦除计数。第二时间点T2处的窗口擦除计数(3、1、1、1)可以通过累积擦除计数(4、5、4、3)与参考擦除计数(1、4、3、2)之间的差来确定。
监测器302可以基于所更新的窗口擦除计数来确定是否重置时间窗口。当特定时间窗口中的存储器装置的窗口擦除计数的总和小于阈值时,监测器302可以不重置时间窗口。图4A例示因为确定第二时间点T2处的第一窗口擦除计数的总和(3+1+1+1)小于阈值“10”,所以监测器302不重置时间窗口。
图4A例示在第三时间点T3处的累积擦除计数、参考擦除计数和窗口擦除计数。在第三时间点T3处的参考擦除计数可以等于在第一时间点T1处的参考擦除计数。由于在第二时间点T2之后对存储器装置的存储块执行了擦除操作,因此可以增加第三时间点T3的累积擦除计数。第三时间点T3处的窗口擦除计数(7、1、2、1)可以通过累积擦除计数(8、5、5、3)与参考擦除计数(1、4、3、2)之间的差来确定。
监测器302可以基于所更新的窗口擦除计数来确定是否重置时间窗口。图4A例示因为确定第三时间点T3处的第一窗口擦除计数的总和(7+1+2+1)等于或大于阈值“10”,所以监测器302重置时间窗口。
监测器302可以更新参考擦除计数并重新对窗口擦除计数进行计数,同时将第一时间窗口重置为第二时间窗口。在图4A的示例中,监测器302可以将参考擦除计数更新为在第三时间点T3处的擦除计数(8、5、5、3)。在第三时间点T3处,多个窗口擦除计数之中由虚线包围的擦除计数表示第二时间窗口中的第二窗口擦除计数。可以将每个存储器装置的第二窗口擦除计数初始化为(0、0、0、0)。根据实施例,监测器302可以将设定数量的窗口擦除计数存储在存储器190中。在图4A的示例中,监测器302可以将最新的四个窗口擦除计数存储在存储器190中。即使在作为第二时间窗口的起始点的第三时间点T3之后,监测器302也可以将第一窗口擦除计数保持在存储器190中。
图4B示出每个存储器装置中包括的存储块的最新擦除计数。
监测器302可以基于至少一个窗口擦除计数来确定每个存储器装置的最新擦除计数。例如,监测器302可以将存储器190中存储的每个存储器装置的多个窗口擦除计数(例如,如图4B所例示的4个窗口擦除计数)的总和确定为对应的存储器装置的最新擦除计数,其中最新擦除计数也可被称为最近的擦除计数。监测器302可以基于对应的存储器装置的最新擦除计数来确定每个存储器装置的损耗程度的最新增加率。
图4C例示基于每个存储器装置的最新擦除计数的每个存储器装置的损耗程度的增加率。
监测器302可以确定,随着存储器装置的最新擦除计数增加,存储器装置的损耗程度的增加率较高。在特定内核中从主机102接收的请求越多,可能对由该特定内核控制的存储器装置执行擦除操作的次数就越多。因此,可以确定控制具有较高损耗程度增加率的存储器装置的内核最近已从主机102接收了最多数量的请求。监测器302可以基于存储器装置中的每一个的最近的擦除计数来确定每个内核的最近的请求吞吐量,其中最近的请求吞吐量是最近来自主机102的请求的数量。
图5例示根据实施例的状态管理器304。
状态管理器304可以根据存储器系统110的多个状态,以不同的标准控制重新映射管理器306。
多个状态可以包括数据交换状态、重新映射验证状态和空闲状态。
数据交换状态指代数据交换器176在存储器装置之间交换数据的状态。重新映射验证状态指代监测器302验证在完全地执行数据交换操作之后存储器装置之间的损耗程度的差异是否减小的状态。空闲状态指代除了数据交换状态和重新映射验证状态之外的状态。
参照图5描述根据多个状态的状态管理器304的操作。
存储器系统110的初始状态可以是空闲状态。在该空闲状态中,状态管理器304可以控制监测器302以监测存储器装置之间的损耗程度的差异。当监测器302的监测结果指示存储器装置之间的损耗程度的差异等于或大于触发阈值时,状态管理器304可以控制重新映射管理器306改变逻辑地址和内核之间的映射。
数据交换器176可以控制多个内核以基于逻辑地址和内核之间的所改变的映射来在存储器装置之间交换数据。在步骤S502中,状态管理器304可以将当前状态从空闲状态改变为数据交换状态。
在数据交换状态中,状态管理器304可以停用监测器302。即使当监测器302处于非启用状态时,每个存储块的累积擦除计数也可以由其相关联的内核来计数。然而,在非启用状态下,监测器302可以不确定存储器装置之间的损耗程度的差异是否等于或大于阈值。状态管理器304可以停用监测器302,从而防止数据交换操作被再次触发,而不考虑数据交换操作期间存储器装置之间的损耗程度的差异。
当数据交换操作被完全地执行时,在步骤S504中,状态管理器304可以将当前状态从数据交换状态改变为重新映射验证状态。在重新映射验证状态中,状态管理器304可以启用监测器302。被启用的监测器302可以监测存储器装置之间的损耗程度的差异。在重新映射验证状态中,状态管理器304可以验证存储器装置之间的损耗程度的差异是否根据逻辑地址和内核之间的映射的改变而已经减小。当作为验证的结果确定存储器装置之间的损耗程度的差异已经减小时,在步骤S506中,状态管理器304可以将重新映射验证状态改变为空闲状态。当作为验证的结果确定存储器装置之间的损耗程度的差异尚未减小时,在步骤S508中,状态管理器304可以将重新映射验证状态改变为数据交换状态,并且控制重新映射管理器306再次改变逻辑地址与内核之间的映射。下面参照图6A至图6C描述状态管理器304的重新映射验证操作。
图6A至图6C是示出状态管理器304的重新映射验证操作的示图。
图6A至图6C是示出针对时间TIME的存储器装置之间的累积擦除计数的差值ECGAP的曲线图。
将累积擦除计数作为存储器装置的损耗程度的示例示出。存储器装置之间的累积擦除计数的差值EC GAP可以通过每个存储器装置的累积擦除计数的最大值与最小值之间的差值来确定。
图6A示出作为重新映射验证操作的结果而将重新映射验证状态改变为空闲状态的第一示例。
监测器302可以不监测数据交换状态下的擦除计数的差值。在不监测擦除计数的差值的时间段中,由虚线表示擦除计数。
当数据交换操作被完全地执行时,状态管理器304可以将数据交换状态改变为重新映射验证状态,并且启用监测器302。当监测器302被启用时,状态管理器304可以获得存储器装置之间的擦除计数的差值。例如,状态管理器304可以通过从最高擦除计数中减去最低擦除计数来确定擦除计数的差值。状态管理器304可以基于擦除计数的差值来确定存储器装置之间的损耗程度的差异是否已经减小。
当擦除计数的差值小于成功阈值TH_SUCCESS时,状态管理器304可以确定存储器装置之间的损耗程度的差异根据逻辑地址和内核之间的映射的改变而减小,并且将数据交换状态改变为空闲状态。成功阈值TH_SUCCESS可以是确定存储器装置之间的损耗程度的差异是否根据逻辑地址和内核之间的映射的改变而已经成功减小的标准。当数据交换状态被改变为空闲状态时,状态管理器304可以在擦除计数的差值变得等于或大于触发阈值TH_TRIGGER时执行数据交换操作。触发阈值TH_TRIGGER可以是由状态管理器304在空闲状态下触发全局损耗均衡操作的标准。
触发阈值TH_TRIGGER和成功阈值TH_SUCCESS可以不同。例如,如图6A所示,可以将成功阈值TH_SUCCESS设定为低于触发阈值TH_TRIGGER。
图6B示出作为重新映射验证操作的结果而将重新映射验证状态改变为空闲状态的第二示例。
如参照图6A所述,当数据交换操作被完全地执行时,状态管理器304可以将数据交换状态改变为重新映射验证状态,并且基于来自监测器302的擦除计数的差值来确定存储器装置之间的损耗程度的差异是否已经减小。
当擦除计数的差值等于或大于成功阈值TH_SUCCESS时,状态管理器304可以确定存储器装置之间的损耗程度的差异尚未减小。图6B例示紧接在数据交换操作被完全地执行之后的擦除计数的差值等于或大于成功阈值TH_SUCCESS的情况。
当在数据交换操作之后经过足够的时间并且基于所改变的逻辑地址与内核之间的地址映射处理了来自主机102的多个请求时,存储器装置之间的损耗程度的差异可能减小。然而,在紧接在执行数据交换操作之后,存储器装置之间的损耗程度的差异可能未充分减小,或者可能与执行数据交换操作之前相比进一步增加。
根据实施例,即使紧接在数据交换操作被完全地执行之后,存储器装置之间的损耗程度的差异等于或大于触发阈值TH_TRIGGER,状态管理器304也可能在满足特定条件时不会再次触发数据交换操作,直到损耗程度的差异减小到小于成功阈值TH_SUCCESS。
在图6B的示例中,当表示紧接在数据交换操作被完全地执行之后的损耗程度的差异的值超过成功阈值TH_SUCCESS时,状态管理器304可以将紧接在数据交换操作被完全地执行之后的损耗程度的差异确定为失败阈值TH_FAIL。该失败阈值TH_FAIL可以是确定存储器装置之间的损耗程度的差异是否根据逻辑地址和内核之间的映射的改变而未减小的标准。状态管理器304可以确定即使在特定数量的时间窗口之后存储器装置之间的损耗程度的差异是否等于或大于失败阈值TH_FAIL。
在图6B的示例中,当在两个时间窗口之后的存储器装置之间的损耗程度的差异小于失败阈值TH_FAIL时,即使存储器装置之间的损耗程度的差异等于或大于触发阈值TH_TRIGGER,状态管理器304也可能不会触发数据交换操作。当存储器装置之间的损耗程度的差异此后减小并且变得小于成功阈值TH_SUCCESS时,状态管理器304可以将存储器系统110的状态从重新映射验证状态改变为空闲状态。
图6C示出作为重新映射验证操作的结果而将重新映射验证状态改变为数据交换状态的第三示例。
如参照图6B所述,即使损耗程度的差异超过触发阈值TH_TRIGGER,状态管理器304也可以在重新映射验证状态下不改变逻辑地址与内核之间的映射。在图6C的示例中,状态管理器304可以确定在两个时间窗口之后存储器装置之间的损耗程度的差异是否等于或大于失败阈值TH_FAIL。
当即使在两个时间窗口之后存储器装置之间的损耗程度的差异还等于或大于失败阈值TH_FAIL时,状态管理器304可以确定即使逻辑地址与内核之间的映射已经改变,损耗程度的差异还未平衡。状态管理器304可以控制重新映射管理器306再次改变逻辑地址与内核之间的映射。当重新映射管理器306改变逻辑地址与内核之间的映射时,数据交换器176可以根据所改变的映射在存储器装置之间交换数据。
根据实施例,可以通过反映紧接在执行数据交换操作之后存储器装置的损耗程度被平衡的趋势来确定是否改变逻辑地址与内核之间的映射。也就是说,状态管理器304可以根据存储器系统110的状态通过应用不同的条件来执行全局损耗均衡操作,从而防止由于频繁的全局损耗均衡操作而导致的存储器系统110的性能劣化。
图7A至图7C是示出根据实施例的重新映射管理器306和数据交换器176的操作的示图。
图7A示出在改变逻辑地址与内核中的每一个之间的映射之前的第一映射702。
根据实施例,主机接口层172可以根据内核(例如,四个内核)的数量对主机102的请求中包括的逻辑地址(LA)执行取模运算(“(LA)%4”),并且根据取模运算的结果将请求分配到内核。例如,根据第一映射702,当对特定请求中包括的逻辑地址的取模运算的结果为“1”时,主机接口层172可以向第一内核132提供对应的请求。第一内核132可以基于该请求来访问第一存储器装置152。
图7B示出在逻辑地址与内核中的每一个之间的映射改变之后的第二映射704。
在状态管理器304的控制下,当存储器装置之间的损耗程度的差异满足特定条件时,重新映射管理器306可以改变逻辑地址与内核之间的映射。例如,重新映射管理器306可以用被映射到控制具有最低累积损耗程度的存储器装置的内核的逻辑地址来交换被映射到控制在最近时间段内具有最高损耗程度的存储器装置的内核的逻辑地址。最近具有最高损耗程度的存储器装置可以是在最近时间段内最近已经处理过主机102的最多请求的存储器装置。因此,根据重新映射管理器306的交换,具有最低累积损耗程度的存储器装置从主机102接收最大数量的请求,从而可以平衡存储器装置的损耗程度。
图7B例示将被映射到第一内核的逻辑地址与被映射到第二内核的逻辑地址交换的情况。例如,根据第二映射704,当对特定请求中包括的逻辑地址的取模运算的结果为“1”时,主机接口层172可以向第二内核134提供对应的请求。第二内核134可以基于该请求来访问第二存储器装置154。
当逻辑地址与内核中的每一个之间的映射从第一映射702改变为第二映射704时,数据交换器176可以在第一存储器装置152和第二存储器装置154之间交换所存储的数据。例如,数据交换器176可以将第一存储器装置152中已经存储的、针对具有取模运算结果“1”的逻辑地址的数据移动到第二存储器装置154。例如,数据交换器176可以控制第一内核132从第一存储器装置152读取数据。当从第一存储器装置152读取的数据存储在存储器190中时,数据交换器176可以控制第二内核134将该数据存储在第二存储器装置154中。同样地,数据交换器176可以将第二存储器装置154中已经存储的、针对具有取模运算结果“2”的逻辑地址的数据移动到第一存储器装置152。
根据实施例,数据交换器176可以以逻辑地址顺序来执行数据交换操作。
图7C是示出在数据交换操作期间在逻辑地址与内核中的每一个之间的进行映射的方法的示图。
可以将多个逻辑地址分组为大小相等的组块或单元。图7C例示以逻辑地址顺序布置的多个组块。
数据交换器176可以以组块为单位针对逻辑地址执行数据交换操作。例如,与第一组块的逻辑地址相关联的数据可以被划分并存储在多个存储器装置152、154、156和158中。当逻辑地址与内核之间的映射从第一映射702改变为第二映射704时,数据交换器176可以用与第一组块的逻辑地址相关联的数据之中第一存储器装置152中存储的数据交换第二存储器装置154中存储的数据。当对第一组块完全地执行数据交换操作时,数据交换器176可以对第二组块执行数据交换操作。
当在执行数据交换操作的同时,主机接口层172从主机102接收到请求时,主机接口层172可以根据将该请求的逻辑地址与当前执行数据交换操作的数据的逻辑地址进行比较而获得的结果,基于第一映射702或第二映射704,向内核132、134、136和138中的任意一个提供该请求。
图7C例示以下情况:针对多个组块之中的第一组块和第二组块内的逻辑地址完全地执行了数据交换操作,正在对第三组块内的逻辑地址执行数据交换操作,并且尚未对第四组块和第五组块内的逻辑地址执行数据交换操作。
当主机接口层172接收包括第一至第二组块中包括的逻辑地址的请求时,主机接口层172可以基于第二映射704向内核132、134、136和138中的任意一个提供该请求。当主机接口层172一起接收请求以及第三组块中包括的逻辑地址时,主机接口层172可以等待,直到针对第三组块内的逻辑地址完全地执行数据交换操作,然后基于第二映射704向内核132、134、136和138中的任意一个提供该请求。当主机接口层172一起接收请求以及第四和第五组块中包括的逻辑地址时,主机接口层172可以基于第一映射702向内核132、134、136和138中的任意一个提供该请求。
根据本公开的实施例,参照以上图1至图7C所述,存储器系统110可以包括:多个存储器装置152、154、156和158;多个内核132、134、136和138,分别控制存储器装置152、154、156和158;以及控制器170,基于逻辑地址向内核132、134、136和138提供主机102的请求。
控制器170可以包括:主机接口层172,基于逻辑地址与内核中的每一个之间的映射,向内核132、134、136和138中的任意一个提供请求;监测器302,监测存储器装置152、154、156和158的损耗程度;状态管理器304,基于存储器系统110的多个状态以及存储器装置152、154、156和158之间的损耗程度的差异,触发全局损耗均衡操作;以及重新映射管理器306,根据是否触发全局损耗均衡操作,改变逻辑地址与内核之间的映射。控制器170可以进一步包括:数据交换器176,基于由重新映射管理器306所改变的映射,在存储器装置之间交换数据。
根据本公开的实施例,状态管理器304可以根据存储器系统110的诸如数据交换状态、重新映射验证状态和空闲状态的多个状态,在不同的条件下触发全局损耗均衡操作。例如,状态管理器304可能不会在正执行数据交换操作的同时再次触发数据交换操作,或者在数据交换操作完全地执行之后的设定时间范围内的存储器装置之间的损耗程度的差异增加的情况下,触发数据交换操作,从而防止由于频繁触发全局损耗均衡操作而在存储器装置之间不必要地频繁地交换数据。因此,根据本公开的实施例的存储器系统110可以通过在最小化性能劣化的同时平衡内部存储器装置的损耗程度来提高存储器系统110的寿命。
根据本公开的实施例,可以提供可以有效地平衡存储器系统中的存储器装置的损耗程度的控制器和存储器系统。
尽管已经针对特定实施例说明并描述了本发明,但对于本领域技术人员根据本公开将显而易见的是,在不脱离如所附权利要求所限定的本发明的精神和范围的情况下,可以进行各种改变和修改。
Claims (20)
1.一种存储器系统,包括:
多个存储器装置;
多个内核,分别控制所述多个存储器装置;以及
控制器,包括:
主机接口层,基于逻辑地址和所述内核之间的映射,向所述内核中的任意一个提供主机的请求,
重新映射管理器,响应于触发而改变所述逻辑地址与所述内核之间的所述映射,
数据交换器,基于所改变的映射在所述多个存储器装置之间交换数据,以及
状态管理器,根据所述数据交换器是正在交换所述数据还是已经完成交换所述数据来确定所述存储器系统的状态,并且基于所述存储器系统的状态以及所述多个存储器装置之间的损耗程度的差异,向所述重新映射管理器提供所述触发。
2.根据权利要求1所述的存储器系统,其中当所述数据交换器完成所述数据的交换时,所述状态管理器将所述存储器系统的状态确定为重新映射验证状态,并且当在所述重新映射验证状态的设定时间范围内所述损耗程度的差异增加时,向所述重新映射管理器提供所述触发。
3.根据权利要求2所述的存储器系统,其中当在所述存储器系统的空闲状态下,所述损耗程度的差异等于或大于触发阈值时,所述状态管理器向所述重新映射管理器提供所述触发。
4.根据权利要求3所述的存储器系统,其中当在所述重新映射验证状态下,所述损耗程度的差异小于成功阈值时,所述状态管理器将所述重新映射验证状态改变为所述空闲状态,所述成功阈值小于所述触发阈值。
5.根据权利要求2所述的存储器系统,
其中所述控制器进一步包括监测器,监测所述各个存储器装置的损耗程度,并且
其中所述状态管理器在所述数据交换器正交换数据的同时,将所述存储器系统的状态确定为数据交换状态,在所述数据交换状态下停用所述监测器,并且在所述重新映射验证状态下启用所述监测器。
6.根据权利要求1所述的存储器系统,其中所述损耗程度的差异是在所述多个存储器装置之中具有最高损耗程度的存储器装置与具有最低损耗程度的存储器装置之间的所述损耗程度的差异。
7.根据权利要求1所述的存储器系统,其中所述重新映射管理器通过用被映射到控制所述多个存储器装置之中具有最低损耗程度的存储器装置的内核的逻辑地址来交换被映射到控制所述多个存储器装置之中具有所述损耗程度的最高增加率的存储器装置的内核的逻辑地址,改变所述逻辑地址与所述内核中的每一个之间的映射。
8.根据权利要求1所述的存储器系统,其中所述重新映射管理器通过用被映射到控制所述多个存储器装置之中具有最低损耗程度的存储器装置的内核的逻辑地址来交换被映射到所述多个内核之中在最近时间段内具有最多数量的请求的内核的逻辑地址,改变所述逻辑地址与所述内核之间的映射。
9.根据权利要求8所述的存储器系统,其中所述控制器进一步包括监测器,所述监测器基于所述存储器装置中的每一个的累积擦除计数来确定每个存储器装置的所述损耗程度,并且基于所述存储器装置中的每一个的最近的擦除计数来确定每个内核的最近的请求吞吐量。
10.根据权利要求1所述的存储器系统,
其中所述数据交换器以所述数据的逻辑地址的顺序来交换所述数据,并且
其中所述主机接口层通过将所述请求中包括的逻辑地址与对应于所述数据交换器当前正在交换的数据的逻辑地址进行比较,基于所述改变之后或之前的映射,向所述内核中的任意一个提供所述请求。
11.一种控制器,所述控制器向控制各个存储器装置的多个内核中的一个或多个提供主机的请求,所述控制器包括:
主机接口层,基于逻辑地址与所述内核之间的映射,向所述内核中的任意一个提供所述请求;
重新映射管理器,响应于触发而改变所述逻辑地址与所述内核之间的所述映射;
数据交换器,基于所改变的映射,在对应于所述内核的所述多个存储器装置之间交换数据;以及
状态管理器,根据所述数据交换器是正在交换所述数据还是已经完成交换所述数据来确定所述控制器的状态,并且基于所述控制器的状态以及所述存储器装置之间的损耗程度的差异,向所述重新映射管理器提供所述触发。
12.根据权利要求11所述的控制器,其中当所述数据交换器完成所述数据的交换时,所述状态管理器将所述控制器的状态确定为重新映射验证状态,并且当在所述重新映射验证状态的设定时间范围内所述损耗程度的差异增加时,向所述重新映射管理器提供所述触发。
13.根据权利要求12所述的控制器,其中当在所述控制器的空闲状态下,所述损耗程度的差异等于或大于触发阈值时,所述状态管理器向所述重新映射管理器提供所述触发。
14.根据权利要求13所述的控制器,其中当在所述重新映射验证状态下,所述损耗程度的差异小于成功阈值时,所述状态管理器将所述重新映射验证状态改变为所述空闲状态,所述成功阈值小于所述触发阈值。
15.根据权利要求12所述的控制器,
进一步包括:监测器,监测所述各个存储器装置的损耗程度,
其中所述状态管理器在所述数据交换器正交换数据的同时,将所述控制器的状态确定为数据交换状态,在所述数据交换状态下停用所述监测器,并且在所述重新映射验证状态下启用所述监测器。
16.根据权利要求11所述的控制器,其中所述损耗程度的差异是所述多个存储器装置之中具有最高损耗程度的存储器装置与具有最低损耗程度的存储器装置之间的所述损耗程度的差异。
17.根据权利要求11所述的控制器,其中所述重新映射管理器通过用被映射到控制所述多个存储器装置之中具有最低损耗程度的存储器装置的内核的逻辑地址来交换被映射到控制所述多个存储器装置之中具有所述损耗程度的最高增加率的存储器装置的内核的逻辑地址,改变所述逻辑地址与所述内核中的每一个之间的映射。
18.根据权利要求11所述的控制器,其中所述重新映射管理器通过用被映射到控制所述多个存储器装置之中具有最低损耗程度的存储器装置的内核的逻辑地址来交换被映射到所述多个内核之中在最近时间段内具有最多数量的请求的内核的逻辑地址,改变所述逻辑地址与所述内核中的每一个之间的映射。
19.根据权利要求18所述的控制器,其中所述控制器进一步包括监测器,所述监测器基于所述存储器装置中的每一个的累积擦除计数来确定每个存储器装置的所述损耗程度,并且基于所述存储器装置中的每一个的最近的擦除计数来确定每个内核的最近请求吞吐量。
20.一种控制器的操作方法,所述方法包括:
根据策略,将逻辑地址分配到多个内核中的一个,以基于所分配的逻辑地址来控制多个存储器装置中对应的一个以执行存储器操作;
当各个存储器装置的累积擦除计数之中的最大差值变得大于阈值时,改变所述策略;
控制所述内核,以根据所改变的策略来控制所述存储器装置在其间移动所存储的数据,从而减小所述最大差值;并且
当即使在所述控制之后的设定时间内,所述最大差值仍大于所述阈值时,再次改变所述策略并重复所述控制。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200038852A KR20210121696A (ko) | 2020-03-31 | 2020-03-31 | 컨트롤러 및 메모리 시스템 |
KR10-2020-0038852 | 2020-03-31 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113535078A true CN113535078A (zh) | 2021-10-22 |
CN113535078B CN113535078B (zh) | 2024-04-02 |
Family
ID=77855899
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110078814.7A Active CN113535078B (zh) | 2020-03-31 | 2021-01-21 | 控制器、控制器的操作方法以及存储器系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11461013B2 (zh) |
KR (1) | KR20210121696A (zh) |
CN (1) | CN113535078B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220049842A (ko) * | 2020-10-15 | 2022-04-22 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130275657A1 (en) * | 2012-04-13 | 2013-10-17 | SK Hynix Inc. | Data storage device and operating method thereof |
CN106294194A (zh) * | 2015-06-22 | 2017-01-04 | 三星电子株式会社 | 数据存储装置和具有该数据存储装置的数据处理系统 |
US20170003892A1 (en) * | 2014-12-04 | 2017-01-05 | Kabushiki Kaisha Toshiba | Storage device including nonvolatile semiconductor memories with different characteristics, method for controlling storage device, and computer-readable nonvolatile storage medium for storing program |
CN108959112A (zh) * | 2017-05-08 | 2018-12-07 | 爱思开海力士有限公司 | 存储系统及使用其的损耗均衡方法 |
CN110716883A (zh) * | 2018-07-13 | 2020-01-21 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
US20200097397A1 (en) * | 2018-09-20 | 2020-03-26 | SK Hynix Inc. | Apparatus and method for checking valid data in memory system |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101437123B1 (ko) * | 2008-04-01 | 2014-09-02 | 삼성전자 주식회사 | 메모리 시스템 및 그것의 마모도 관리 방법 |
US10157141B2 (en) * | 2016-03-09 | 2018-12-18 | Toshiba Memory Corporation | Memory system and method of controlling nonvolatile memory |
-
2020
- 2020-03-31 KR KR1020200038852A patent/KR20210121696A/ko active Search and Examination
- 2020-09-29 US US17/036,759 patent/US11461013B2/en active Active
-
2021
- 2021-01-21 CN CN202110078814.7A patent/CN113535078B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130275657A1 (en) * | 2012-04-13 | 2013-10-17 | SK Hynix Inc. | Data storage device and operating method thereof |
US20170003892A1 (en) * | 2014-12-04 | 2017-01-05 | Kabushiki Kaisha Toshiba | Storage device including nonvolatile semiconductor memories with different characteristics, method for controlling storage device, and computer-readable nonvolatile storage medium for storing program |
CN106294194A (zh) * | 2015-06-22 | 2017-01-04 | 三星电子株式会社 | 数据存储装置和具有该数据存储装置的数据处理系统 |
CN108959112A (zh) * | 2017-05-08 | 2018-12-07 | 爱思开海力士有限公司 | 存储系统及使用其的损耗均衡方法 |
CN110716883A (zh) * | 2018-07-13 | 2020-01-21 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
US20200097397A1 (en) * | 2018-09-20 | 2020-03-26 | SK Hynix Inc. | Apparatus and method for checking valid data in memory system |
Also Published As
Publication number | Publication date |
---|---|
KR20210121696A (ko) | 2021-10-08 |
US20210303176A1 (en) | 2021-09-30 |
CN113535078B (zh) | 2024-04-02 |
US11461013B2 (en) | 2022-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110781096B (zh) | 用于通过预测需求时间来执行垃圾收集的设备和方法 | |
US11513948B2 (en) | Controller and memory system | |
US10789160B2 (en) | Utilizing different data storage policies in response to different characteristics of data | |
US11436140B2 (en) | Memory control system for setting garbage collection frequency higher in dirty mode | |
US11526296B2 (en) | Controller providing host with map information of physical address for memory region, and operation method thereof | |
US11449418B2 (en) | Controller and method for selecting victim block for wear leveling operation | |
US11334272B2 (en) | Memory system and operating method thereof | |
US11392309B2 (en) | Memory system for performing migration operation and operating method thereof | |
US11409444B2 (en) | Memory system and operation method thereof | |
CN111414131B (zh) | 数据存储装置、其操作方法和包括其的存储系统 | |
US11216383B2 (en) | Storage device providing a virtual memory region, electronic system including the same, and method of operating the same | |
CN113535078B (zh) | 控制器、控制器的操作方法以及存储器系统 | |
US11182289B1 (en) | Memory system and operating method thereof | |
US11199982B2 (en) | Data storage device and control method for non-volatile memory | |
US11182329B2 (en) | Data processing system and operating method thereof | |
US11036414B2 (en) | Data storage device and control method for non-volatile memory with high-efficiency garbage collection | |
KR20230064849A (ko) | 스토리지 장치 및 그 동작 방법 | |
CN110888591B (zh) | 数据储存装置以及非挥发式存储器控制方法 | |
KR102721567B1 (ko) | 마이그레이션 동작을 위한 메모리 시스템 및 메모리 시스템의 동작방법 | |
US20220391092A1 (en) | Memory system and operating method thereof | |
CN116501655A (zh) | 将存储器块解除分配的存储控制器及其操作方法 | |
CN114664337A (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 |