控制器及其操作方法与流程

    专利2022-07-08  121


    相关申请的交叉引用

    本申请要求于2019年9月11日向韩国知识产权局提交的申请号为10-2019-0112907的韩国申请的优先权以及于2020年7月31日向韩国知识产权局提交的申请号为10-2020-0095883的韩国申请的优先权,其通过引用整体并入本文。

    各个实施例总体涉及一种半导体设备,且更特别地,涉及一种控制器及其操作方法。



    背景技术:

    近来,计算机环境的范例已经变为几乎随时随地使用计算机系统的普适计算。因此,诸如移动电话、数码相机和笔记本电脑的便携式电子装置的使用迅速增加。这样的便携式电子装置通常使用采用了存储器设备的存储器系统。该存储器系统用于存储便携式电子装置中所使用的数据。

    采用存储器设备的存储器系统的优点在于,由于不具有机械驱动单元而使得稳定性和耐用性优越,信息访问速度很快,并且功耗较小。具有这些优点的存储器系统包括通用串行总线(usb)存储器设备、具有各种接口的存储卡、通用闪存(ufs)装置和固态驱动器(ssd)。



    技术实现要素:

    在实施例中,一种控制非易失性存储器设备的控制器可以包括:第一存储器,被配置为临时存储用户数据;第二存储器,包括多个存储器区域,该多个存储器区域包括用于存储元数据的至少一个元区域以及至少一个备用区域;以及处理器,被配置为控制第一存储器和第二存储器,并且使用至少一个备用区域作为间隔(gap)来对至少一个元区域执行第一起始间隔(start-gap)损耗均衡。

    在实施例中,一种控制器的操作方法,该控制器包括:第一存储器,被配置为临时存储用户数据;以及第二存储器,包括多个存储器区域,该多个存储器区域包括用于存储元数据的至少一个元区域以及至少一个备用区域,该操作方法包括:由控制器确定对存储元数据的至少一个元区域的访问次数是否等于或大于第一参考值;并且当对元数据的访问次数的总和等于或大于第一参考值时,由控制器使用至少一个备用区域作为间隔来对该至少一个元区域执行第一起始间隔损耗均衡。

    在实施例中,一种存储系统可以包括:数据存储器区域,具有一个或多个数据空间,每个数据空间被配置为存储数据条(datapiece);备用存储器区域,具有一个或多个备用空间,每个备用空间被配置为存储数据条;以及控制器,被配置为:将针对第一数据段的数据空间之中的一个或多个中存储的第一数据段移位到数据存储器区域内的群组,对第一数据段中的每一个的访问次数为第一阈值或更大,将第二数据段从数据空间中的一个迁移到备用存储器区域,对该第二数据段的访问次数为第二阈值或更大。该数据存储器区域包括冷数据区域和热数据区域,并且该控制器进一步被配置为:当检测到对数据存储器区域的访问次数的总和小于第一参考值时,将数据空间之中访问次数等于或大于第三参考值的第三数据条移动到热数据区域内的群组。

    附图说明

    图1是示出根据本公开的实施例的存储器系统的配置的示图。

    图2至图6c是用于描述根据本公开的实施例的第二存储器的起始间隔损耗均衡操作的示图。

    图7和图8是用于描述根据本公开的实施例的第二存储器的起始间隔损耗均衡操作的流程图。

    图9是示出根据本公开的实施例的包括固态驱动器(ssd)的数据处理系统的示图;

    图10是诸如图9所示的控制器的配置的示图;

    图11是示出根据本公开的实施例的包括存储器系统的数据处理系统的配置的示图;

    图12是示出根据本公开的实施例的包括存储器系统的数据处理系统的配置的示图;

    图13是示出根据本公开的实施例的包括存储器系统的网络系统的配置的示图;以及

    图14是示出存储器系统中包括的非易失性存储器装置的框图。

    具体实施方式

    在下文中,将通过实施例的各个示例并参照附图来描述控制器及其操作方法。

    图1是示出根据实施例的存储器系统10的配置的示图。

    参照图1,根据实施例的存储器系统10可以存储由诸如移动电话、mp3播放器、膝上型计算机、台式计算机、游戏机、电视、车载信息娱乐系统的主机20访问的数据。

    根据电连接到主机20的接口协议,存储器系统10可以被制造为各种类型的存储装置中的任意一种。例如,存储器系统10可以被配置为诸如以下的各种类型的存储装置中的任意一种:固态驱动器(ssd)、以mmc、emmc、rs-mmc或微型mmc形式的多媒体卡,以sd、迷你-sd或微型-sd形式的安全数字卡,通用串行总线(usb)存储装置,通用闪存(ufs)装置,以个人计算机存储卡国际协会(pcmcia)卡形式的存储装置,以外围组件互连(pci)卡形式的存储装置,以高速pci(pci-e)卡形式的存储装置,紧凑型闪存(cf)卡,智能媒体卡以及记忆棒。

    存储器系统10可以被制造为各种类型的封装中的任意一种。例如,存储器系统10可以被制造为诸如以下的各种类型的封装中的任意一种:堆叠封装(pop)、系统级封装(sip)、片上系统(soc)、多芯片封装(mcp)、板上芯片(cob)、晶圆级制造封装(wfp)和晶圆级堆叠封装(wsp)。

    存储器系统10可以包括非易失性存储器设备100和控制器200。

    非易失性存储器设备100可以作为存储器系统10的存储介质进行操作。根据存储器单元的类型,非易失性存储器设备100可以被配置为诸如以下的各种类型的非易失性存储器设备中的任意一种:nand闪速存储器设备、nor闪速存储器设备、使用铁电电容器的铁电随机存取存储器(fram)、使用隧穿磁阻(tmr)膜的磁性随机存取存储器(mram)、使用硫族化物合金的相变随机存取存储器(pram)以及使用过渡金属氧化物的电阻式随机存取存储器(reram)。

    图1示出存储器系统10包括一个非易失性存储器设备100。然而,这是为了便于描述,并且存储器系统10可以包括多个非易失性存储器设备,并且实施例也可以等同地应用于包括多个非易失性存储器设备的存储器系统10。

    非易失性存储器设备100可以包括存储器单元阵列(未示出),该存储器单元阵列具有布置在多个位线(未示出)和多个字线(未示出)的相交区域中的多个存储器单元。存储器单元阵列可以包括多个存储块,并且多个存储块中每一个可以包括多个页面。

    存储器单元阵列的每个存储器单元可以作为存储一位数据的单层单元(slc)或者能够存储两位或更多位数据的多层单元(mlc)进行操作。

    存储器单元阵列可以包括slc和mlc中的至少一个。此外,存储器单元阵列还可以包括具有二维水平结构的存储器单元或具有三维垂直结构的存储器单元。

    控制器200可以通过驱动加载在第一存储器230上的固件或软件来控制存储器系统10的所有操作。控制器200可以解码并驱动例如固件或软件的代码类型的指令或算法。控制器200可以以硬件或硬件与软件的组合来实施。

    控制器200可以包括主机接口210、处理器220、第一存储器230、第二存储器240和存储器接口250。尽管未在图1中示出,但是控制器200可以进一步包括错误校正码(ecc)引擎,该错误校正码(ecc)引擎通过对从主机20提供的写入数据进行ecc编码来生成奇偶校验码,并且使用奇偶校验码对从非易失性存储器设备100读取的读取数据进行ecc解码。

    主机接口210可以对应于主机20的协议而用作主机20和存储器系统10之间的接口。例如,主机接口210可以通过诸如以下协议中的任意一种与主机20通信:通用串行总线(usb)、通用闪存(ufs)、多媒体卡(mmc)、并行高级技术附件(pata)、串行高级技术附件(sata)、小型计算机系统接口(scsi)、串列scsi(sas)、外围组件互连(pci)和高速pci(pci-e)。

    处理器220可以以微控制单元(mcu)或中央处理单元(cpu)的形式配置。处理器220可以处理从主机20传输的请求。为了处理从主机20传输的请求,处理器220可以驱动加载在第一存储器230上的代码类型指令或算法,即固件,并且控制诸如主机接口210、第一存储器230、第二存储器240以及存储器接口250的内部功能块和非易失性存储器设备100。

    处理器220可以基于从主机20传输的请求生成用于控制非易失性存储器设备100的操作的控制信号,并且通过存储器接口250将所生成的控制信号提供给非易失性存储器设备100。

    第一存储器230可以存储用户数据,并且用作区域,该区域用作:用于使与主机20提供的请求相对应的命令排队的命令队列(cmdq);用于临时存储写入数据的写入数据缓冲器;以及临时存储读取数据的读取数据缓冲器。用户数据也可以存储在第二存储器240中。

    在实施例中,第一存储器230可以由诸如动态随机存取存储器(dram)或静态随机存取存储器(sram)的随机存取存储器构成。

    在实施例中,第一存储器230可以比第二存储器240具有更高的集成度。也就是说,第一存储器230可以比第二存储器240具有更大的数据存储容量。

    在实施例中,第一存储器230可以比第二存储器240具有更高的数据吞吐量,并且因此可以以比第二存储器240更高的速度进行操作。

    第二存储器240可以存储由处理器220驱动的固件。此外,第二存储器240可以存储驱动固件所需的数据,例如元数据。也就是说,第二存储器240可以作为处理器220的工作存储器进行操作。此外,第二存储器240可以用作高速缓存映射数据的映射高速缓存缓冲器。

    在实施例中,第二存储器240可以由诸如相变ram(pcram)的存储器构成。

    存储器接口250可以在处理器220的控制下控制非易失性存储器设备100。存储器接口250可以被称为存储器控制器。存储器接口250可以向非易失性存储器设备100提供控制信号。控制信号可以包括用于控制非易失性存储器设备100的命令、地址等。存储器接口250可以向非易失性存储器设备100提供数据缓冲器中存储的数据,或者可以将从非易失性存储器设备100传输的数据存储在数据缓冲器中。数据缓冲器可以是分配给第一存储器230的区域。

    图2是用于描述图1所示的第二存储器240的示图。

    第二存储器240可以临时存储待存储在非易失性存储器设备100中的用户数据,或者存储用于管理非易失性存储器设备100的元数据。第二存储器240可以包括多个存储器区域“memoryregion_01”至“memoryregion_m”,以便存储用户数据和元数据,并且,存储器区域“memoryregion_01”至“memoryregion_m”中的每一个可以包括多个子区域“subregion_01”至“subregion_n”。

    在实施例中,第二存储器240中包括的多个存储器区域“memoryregion_01”至“memoryregion_m”可以包括元区域和用作用于执行起始间隔损耗均衡操作的间隔的至少一个备用区域。

    在另一实施例中,第二存储器240中包括的多个存储器区域中的每一个中包括的子区域“subregion_01”至“subregion_n”可以包括用于存储元数据的子元区域和用作用于执行起始间隔损耗均衡操作的间隔的至少一个子备用区域。

    在实施例中,第二存储器240中包括的多个存储器区域“memoryregion_01”至“memoryregion_m”中的每一个可以包括存储访问次数小于第一参考值的元数据的冷元区域和存储访问次数等于或大于第一参考值的元数据的热元区域。此外,可以在制造或使用存储器系统10期间设置或改变第一参考值。在实施例中,第一参考值可以是用于将存储器区域分类为热元区域和冷元区域的参考值。

    图3a至图3c是用于描述根据本公开的实施例的第二存储器的起始间隔损耗均衡操作的示图。

    参照图3a,第二存储器240可以包括例如六个存储器区域“memoryregion_01”至“memoryregion_06”。在六个存储器区域中,五个存储器区域“memoryregion_01”至“memoryregion_05”可以是用于存储元数据的元区域,而剩余的存储器区域“memoryregion_06”可以是备用区域(gapspare)。在这种情况下,假定存储器区域“memoryregion_01”至“memoryregion_05”中的存储器区域05“memoryregion_05”是将开始进行起始间隔损耗均衡操作的存储器区域,存储器区域06“memoryregion_06”是间隔区域。

    参照图3b,当对存储器区域“memoryregion_01”至“memoryregion_05”中存储的元数据的访问次数的总和等于或大于第一参考值时,控制器200可以开始起始间隔损耗均衡操作。例如,控制器200可以使将开始起始间隔损耗均衡操作的存储器区域05“memoryregion_05”中存储的元数据迁移到作为间隔区域的存储器区域06“memoryregion_06”中。作为起始间隔损耗均衡操作的结果,存储器区域05“memoryregion_05”可以被切换成备用区域,并且存储器区域06“memoryregion_06”被切换成元区域。此外,可以将存储器区域04“memoryregion_04”选择作为将开始后续的起始间隔损耗均衡操作的元区域,并且可以将存储器区域“memoryregion_05”选择作为后续的起始间隔损耗均衡操作的间隔区域。

    也就是说,通过顺序地减小或增加将开始起始间隔损耗均衡操作的存储器区域05“memoryregion_05”的地址,或者通过利用设置的地址计算公式来计算存储器区域05“memoryregion_05”的地址,可以将除了已经执行了起始间隔损耗均衡并因此变成间隔区域的存储器区域(例如,存储器区域05“memoryregion_05”)以外的剩余存储器区域“memoryregion_01”至“memoryregion_04”中的一个(例如,存储器区域04“memoryregion_04”)选择作为将开始后续的起始间隔损耗均衡操作的目标元区域,并且可以将已经执行了起始间隔损耗均衡操作的存储器区域中的一个(例如,存储器区域05“memoryregion_05”)选择作为用于后续的起始间隔损耗均衡操作的间隔区域。

    参照图3c,控制器200可以将作为起始间隔损耗均衡操作的目标元区域的存储器区域04“memoryregion_04”中存储的元数据迁移到间隔区域,即,迁移到作为间隔区域的存储器区域05“memoryregion_05”。因此,可以将存储器区域04“memoryregion_04”切换成备用区域(即,间隔区域),以用于后续的起始间隔损耗均衡操作,并且存储器区域05“memoryregion_05”可以变成用于后续的起始间隔损耗均衡操作的目标元区域。此外,可以对存储器区域03“memoryregion_03”执行后续的起始间隔损耗均衡操作,并且存储器区域04“memoryregion_04”可以是用于后续的起始间隔损耗均衡操作的间隔区域。

    图3a至图3c示出通过以降序选择存储器区域“memoryregion_01”至“memoryregion_05”的地址以变成备用区域来执行起始间隔损耗均衡操作的示例。然而,本公开不限于此,并且可以进行各种改变和修改,例如使用两个或更多个备用区域作为间隔,或者通过以升序选择备用区域的地址来执行起始间隔损耗均衡操作。

    因为基于对存储器区域“memoryregion_01”至“memoryregion_05”中存储的元数据的访问次数的总和来执行图3a至图3c所示的起始间隔损耗均衡,这可以被称为全局起始间隔损耗均衡。

    图4a至图4c是用于描述根据实施例的第二存储器的起始间隔损耗均衡方法的示图,并且示出用于子区域的起始间隔损耗均衡。

    图4a示出包括10个子区域“subregion_01”至“subregion_10”的存储器区域的示例。在存储器区域内,10个子区域“subregion_01”至“subregion_10”中的每一个可以分别包括存储元数据“metadata_01”至“metadata_09”的子元区域和备用区域gap(spare)。假设多个子区域“subregion_01”至“subregion_10”中的子区域“subregion_09”是将开始起始间隔损耗均衡操作的子区域,并且子区域“subregion_10”是间隔区域。

    参照图4b,当对子区域“subregion_01”至“subregion_09”中存储的元数据的访问次数的总和等于或大于第二参考值时,控制器200可以开始起始间隔损耗均衡操作。例如,控制器200可以使将开始起始间隔损耗均衡操作的子区域“subregion_09”中存储的元数据“metadata_09”迁移到子区域“subregion_10”。因此,可以将子区域“subregion_09”切换成间隔(spare)以用于后续的起始间隔损耗均衡操作,并且子区域“subregion_08”可以是后续的起始间隔损耗均衡操作的目标子元区域。在实施例中,可以在制造或使用存储器系统10期间设置或改变第二参考值。

    也就是说,通过顺序减小或增加将开始起始间隔损耗均衡操作的子区域09“subregion_09”的地址,或者通过利用设置的地址计算公式来计算子区域09“subregion_09”的地址,可以将除了已经执行了起始间隔损耗均衡并因此变成间隔区域的子区域(例如,子区域09“subregion_09”)以外的剩余子区域“subregion_01”至“subregion_08”中的一个(例如,子区域08“subregion_08”)选择作为后续的起始间隔损耗均衡操作的目标元区域,并且可以将已经执行了起始间隔损耗均衡操作的子区域中的一个(例如,子区域09“subregion_09”)选择作为用于后续的起始间隔损耗均衡操作的间隔区域。

    参照图4c,控制器200可以将作为起始间隔损耗均衡操作的目标子区域的子区域“subregion_08”中存储的元数据“metadata08”迁移到作为间隔区域的子区域“subregion_9”。因此,可以将子区域“subregion_08”选择作为用于后续的起始间隔损耗均衡操作的间隔区域,并且子区域“subregion_07”可以变成用于后续的起始间隔损耗均衡操作的目标子区域。

    图4a至图4c示出通过以降序选择子区域“subregion_01”至“subregion_09”的地址来执行起始间隔损耗均衡操作的示例。然而,本公开不限于此,并且可以进行各种改变和修改,例如选择两个或更多个子区域作为间隔或以升序选择子区域的地址。

    因为针对存储器区域“memoryregion_01”至“memoryregion_05”中的每一个,基于对子区域“subregion_01”至“subregion_09”中存储的元数据的访问次数的总和来执行图4a至图4b所示的起始间隔损耗均衡操作,所以这可以被称为局部起始间隔损耗均衡。

    图5a至图6c是用于描述根据实施例的第二存储器的起始间隔损耗均衡方法的示图。

    图5a至图6c示出第二存储器240的多个存储器区域“memoryregion_01”至“memoryregion_m”中的三个存储器区域“memoryregion_01”至“memoryregion_03”。存储器区域“memoryregion_01”至“memoryregion_03”中的每一个可以包括9个子区域“subregion_01”至“subregion_09”。在下文中,将给出针对以下情况的描述:存储器区域“memoryregion_01”和存储器区域“memoryregion_02”是用于存储访问次数小于第一参考值的元数据的冷元区域,并且存储器区域“memoryregion_03”包括至少一个子备用区域。图5a示出存储器区域“memoryregion_03”包括一个子元区域“subregion_01”和八个子备用区域“subregion_02”至“subregion_09”的情况,并且被访问了第三参考值或更多次的元数据“metadata_a”被存储在子元区域“subregion_01”中;然而,本公开不限于此,并且存储器区域“memoryregion_03”也可以仅由子备用区域构成。

    在这种情况下,将描述将冷元区域“memoryregion_01”和“memoryregion_02”中的热数据收集到另一存储器区域03“memoryregion_03”中的方法。

    热数据可以指被连续和频繁访问的数据。因此,可以将在特定存储器区域中包括的子区域之中被连续集中访问的子区域确定为存储热元数据的区域。在实施例中,可以将针对每个存储器区域的子区域的访问次数等于或大于第三参考值的子区域确定为热区域。为了确定是否满足第三参考值,当检测到访问次数的总和等于或大于第一设置值的存储器区域时,可以检查对存储器区域中的特定子区域的访问次数是否等于或大于第三参考值(=第一设置值*α,α是实数,其中0<α<1)。此处,可以在存储器系统10的制造或使用期间根据热数据分类标准来设置或改变α。

    例如,当第一设置值是10000并且α是0.6时,在访问次数等于或大于作为第三参考值的6000的子区域中的元数据可以被分类为热数据。

    当对存储器区域01“memoryregion_01”的访问次数的总和为10000,并且对子区域04“subregion_04”中存储的元数据“metadata_b”的访问次数为6000时,除子区域04“subregion_04”之外,剩余子区域“subregion_01”至“subregion_03”以及子区域“subregion_05”至“subregion_09”的访问次数为4000。因此,可以将子区域04“subregion_04”中存储的元数据“metadata_b”分类为热数据。

    参照图5a,当对存储器区域01“memoryregion_01”的子区域04“subregion_04”中存储的元数据b“metadata_b”的访问次数以及对存储器区域“memoryregion_02”的子区域“subregion_02”中存储的元数据c“metadata_c”的访问次数均等于或大于第三参考值时,控制器200可以确定将元数据b“metadata_b”和元数据c“metadata_c”作为将迁移到存储器区域“memoryregion_03”的目标。

    在图5b中,控制器200可以将存储器区域“memoryregion_01”的子区域“subregion_04”中存储的元数据b“metadata_b”迁移到存储器区域“memoryregion_03”的子区域“subregion_02”,并且释放存储器区域“memoryregion_01”的子区域“subregion_04”。此外,控制器200可以将存储器区域“memoryregion_02”的子区域“subregion_02”中存储的元数据c“metadata_c”迁移到存储器区域“memoryregion_03”的子区域“subregion_03”,并且释放存储器区域“memoryregion_02”的子区域“subregion_02”。

    通过这样的迁移操作,可以在一个存储器区域03“memoryregion_03”中收集频繁执行写入操作或读取操作的热元数据,以使存储器区域03“memoryregion_03”成为热元区域。

    参照图6a,当对作为热元区域的存储器区域03“memoryregion_03”中的子区域“subregion_01”至“subregion_09”中存储的元数据的访问次数的总和等于或大于第二参考值时,则可以开始局部起始间隔损耗均衡。在这种情况下,假设子区域“subregion_01”至“subregion_03”是将开始起始间隔损耗均衡操作的目标子区域,并且子区域“subregion_04”至“subregion_06”是间隔区域。

    参照图6b,控制器200可以将各个子区域“subregion_01”至“subregion_03”中存储的元数据“metadata_a”至“metadata_c”迁移到各个子区域“subregion_04”至“subregion_06”。然后,控制器200可以将存储器区域“memoryregion_03”的子区域“subregion_04”至“subregion_06”确定为后续的起始间隔损耗均衡操作的目标子区域,并且将子区域“subregion_07”至“subregion_09”确定为用于后续的起始间隔损耗均衡操作的间隔区域。

    参照图6c,控制器200可以将各个子区域“subregion_04”至“subregion_06”中存储的元数据“metadata_a”至“metadata_c”迁移到各个子区域“subregion_07”至“subregion_09”。

    根据本公开的各个实施例,可以通过对具有相对较高的访问次数的元数据执行损耗均衡操作来增加第二存储器240的寿命。

    另一方面,当存储器区域“memoryregion_01”至“memoryregion_m”中存储的元数据的访问次数的总和等于或大于第一参考值时,控制器200可以开始全局起始间隔损耗均衡操作。

    图7是用于描述根据实施例的第二存储器的起始间隔损耗均衡操作的流程图。

    参照图7,在操作s710中,控制器200可以对第二存储器240中存储的元数据的访问次数进行计数。

    在实施例中,控制器200可以对第二存储器240中包括的多个存储器区域之中待执行起始间隔损耗均衡操作的每个存储器区域中的元数据的访问次数进行计数。

    在实施例中,控制器200可以对每个存储器区域(例如,“memoryregion_01”至“memoryregion_m”)的子区域(例如,“subregion_01”至“subregion_09”)中的每一个存储的元数据的访问次数的总和进行计数,并且对所有存储器区域(例如“memoryregion_01”至“memoryregion_m”)的元数据的访问次数的总和进行计数。

    在操作s720中,控制器200可以确定对元数据的访问次数是否等于或大于设置的参考值。

    在实施例中,控制器200可以确定对存储器区域(例如,“memoryregion_01”至“memoryregion_m”)中存储的元数据的访问次数的总和是否等于或大于第一参考值。

    在实施例中,控制器200可以确定对存储器区域“memoryregion_01”至“memoryregion_m”中的每一个的子区域(例如,“subregion_01”至“subregion_09”)中的每一个中存储的元数据的访问次数的总和是否等于或大于第二参考值。

    在操作s730中,当访问次数等于或大于设置的参考值时,控制器200可以执行起始间隔损耗均衡操作。

    在实施例中,当对存储器区域(例如,“memoryregion_01”至“memoryregion_m”)中包括的元数据的访问次数的总和等于或大于第一参考值时,控制器200可以执行全局起始间隔损耗均衡操作,以将待执行起始间隔损耗均衡操作的存储器区域中存储的元数据迁移到备用区域。

    在实施例中,当对存储器区域(例如,“memoryregion_01”至“memoryregion_m”)中的每一个的子存储器区域(例如,“subregion_01”至“subregion_09”)中的每一个中包括的元数据的访问次数的总和等于或大于第二参考值时,控制器200可以将待执行起始间隔损耗均衡操作的子存储器区域中存储的元数据迁移到子备用区域。

    在操作s720中,当访问次数的总和小于设置的参考值时,控制器200可以返回到操作s710。

    图8是用于描述根据本公开的实施例的第二存储器的起始间隔损耗均衡操作的流程图。

    参照图8,在操作s810中,控制器200可以对第二存储器240中包括的多个存储器区域之中的每个冷元区域的每个子元区域中存储的元数据的访问次数进行计数。在实施例中,控制器200可以对对冷元区域中的每一个中包括的每个子元区域的访问次数以及对冷元区域中的每一个的访问次数的总和进行计数。

    在操作s820中,控制器200可以确定对冷元区域的每个子元区域中存储的元数据的访问次数是否等于或大于第三参考值。在实施例中,当检测到对冷元区域的访问次数的总和等于或大于第一设置值时,控制器200可以检查是否在冷元区域中的子元区域之中检测到对冷元区域中的子元区域的访问次数等于或大于第三参考值的子元区域(=第一设置值*α,α是实数,其中0<α<1)。

    在操作s830中,控制器200可以将冷元区域的子元区域中存储的元数据之中访问次数等于或大于第三参考值的元数据迁移到热元区域。

    在操作s840中,控制器200可以对热元区域中存储的元数据的访问次数的总和进行计数。

    在操作s850中,当对热元区域中存储的元数据的访问次数的总和等于或大于第二参考值时,在操作s860中,控制器200可以对待执行起始间隔损耗均衡操作的子区域中存储的元数据执行起始间隔损耗均衡操作,例如,局部起始间隔损耗均衡操作。

    虽然上面已经描述了各个实施例,但是本领域技术人员将理解的是,所描述的实施例仅是示例。因此,不应基于所描述的实施例来限制本文所描述的控制器及其操作方法。

    图9是示出根据本公开的实施例的包括固态驱动器(ssd)的数据处理系统的配置的示图。参照图9,数据处理系统2000可以包括主机2100和固态驱动器(ssd)2200。

    ssd2200可以包括控制器2210、缓冲存储器装置2220、非易失性存储器装置2231至223n、电源2240、信号连接器2250以及电源连接器2260。

    控制器2210可以控制ssd2200的全部操作。控制器2210可以以与图1的控制器200基本相同的方式实施和操作。

    缓冲存储器装置2220可以临时存储待被存储在非易失性存储器装置2231至223n中的数据。进一步,缓冲存储器装置2220可以临时存储从非易失性存储器装置2231至223n读取的数据。被临时存储在缓冲存储器装置2220中的数据可以根据控制器2210的控制被传输到主机2100或非易失性存储器装置2231至223n。

    非易失性存储器装置2231至223n可以用作ssd2200的存储介质。非易失性存储器装置2231至223n可以通过多个通道ch1至chn分别与控制器2210电联接。一个或多个非易失性存储器装置可以联接到单个通道。联接到单个通道的非易失性存储器装置可以联接到相同的信号总线和数据总线。

    电源2240可以利用通过电源连接器2260输入的电力pwr向ssd2200的内部提供电力。电源2240可包括辅助电源2241。辅助电源2241可以在发生突然断电(spo)时提供电力以允许ssd2200正常终止。辅助电源2241可以包括能够充电电力pwr的大容量电容器。

    控制器2210可以通过信号连接器2250与主机2100交换信号sgl。信号sgl可以包括命令、地址、数据等。根据主机2100和ssd2200之间的接口方案,信号连接器2250可以被配置为各种类型的连接器中的任意一种。

    图10是示出图9所示的控制器的配置的示图。参照图10,控制器2210可以包括主机接口2211、控制组件2212、随机存取存储器2213、错误校正码(ecc)组件2214和存储器接口2215。

    主机接口2211可以根据主机2100的协议执行主机2100和ssd2200之间的接口连接。例如,主机接口2211可以通过诸如以下的协议中的任意一种与主机2100通信:安全数字(sd)、通用串行总线(usb)、多媒体卡(mmc)、嵌入式mmc(emmc)、个人计算机存储卡国际协会(pcmcia)、并行高级技术附件(pata)、串行高级技术附件(sata)、小型计算机系统接口(scsi)、串列scsi(sas)、外围组件互连(pci)、高速pci(pci-e)和/或通用闪存(ufs)。此外,主机接口2211可以执行磁盘仿真功能,支持主机2100将ssd2200识别为诸如硬盘驱动器(hdd)的通用存储器系统。

    控制组件2212可以解析和处理从主机2100提供的信号sgl。控制组件2212可以根据驱动ssd2200的固件或软件控制内部功能块的操作。随机存取存储器2213可以作为驱动此类固件或软件的工作存储器进行操作。

    ecc组件2214可以生成用于待传输到非易失性存储器装置2231至223n的数据的奇偶校验数据。所生成的奇偶校验数据可以与数据一起存储在非易失性存储器装置2231至223n中。ecc组件2214可以基于奇偶校验数据检测从非易失性存储器装置2231至223n读出的数据的错误。当所检测到的错误在可校正范围内时,ecc组件2214可以校正所检测到的错误。

    存储器接口2215可以根据控制组件2212的控制将诸如命令和地址的控制信号提供到非易失性存储器装置2231至223n。存储器接口2215可以根据控制组件2212的控制与非易失性存储器装置2231至223n交换数据。例如,存储器接口2215可以将缓冲存储器装置2220中存储的数据提供到非易失性存储器装置2231至223n,或者将从非易失性存储器装置2231至223n读取的数据提供到缓冲存储器装置2220。

    图11是示出根据本公开的实施例的包括存储器系统的数据处理系统的配置的示图。参照图11,数据处理系统3000可以包括主机3100和存储器系统3200。

    主机3100可以以诸如印刷电路板的板形式配置。尽管未在图11中示出,但是主机3100可以包括用于执行主机的功能的内部功能块。

    主机3100可以包括连接端子3110,诸如插座、插槽或连接器。存储器系统3200可以安装在连接端子3110上。

    存储器系统3200可以以诸如印刷电路板的板形式来配置。存储器系统3200可以被称为存储器模块或存储卡。存储器系统3200可以包括控制器3210、缓冲存储器装置3220、非易失性存储器装置3231和3232、电源管理集成电路(pmic)3240和连接端子3250。

    控制器3210可以控制存储器系统3200的全部操作。控制器3210可以以与图10所示的控制器2210基本相同的方式配置

    缓冲存储器装置3220可以临时存储待存储在非易失性存储器装置3231和3232中的数据。进一步,缓冲存储器装置3220可以临时存储从非易失性存储器装置3231和3232读取的数据。临时存储在缓冲存储器装置3220中的数据可以根据控制器3210的控制被传输到主机3100或非易失性存储器装置3231和3232。

    非易失性存储器装置3231和3232可以用作存储器系统3200的存储介质。

    pmic3240可以利用通过连接端子3250输入的电力向存储器系统3200的内部提供电力。pmic3240可以根据控制器3210的控制来管理存储器系统3200的电力。

    连接端子3250可以电联接到主机3100的连接端子3110。通过连接端子3250,可以在主机3100和存储器系统3200之间传送诸如命令、地址、数据等信号以及电力。根据主机3100和存储器系统3200之间的接口方案,连接端子3250可以被配置成各种类型中的任意一种。连接端子3250可以设置在存储器系统3200的任意一侧之上或之中。

    图12是示出根据本公开的实施例的包括存储器系统的数据处理系统的配置的示图。参照图12,数据处理系统4000可以包括主机4100和存储器系统4200。

    主机4100可以以诸如印刷电路板的板形式配置。尽管未在图12中示出,但是主机4100可以包括用于执行主机的功能的内部功能块。

    存储器系统4200可以以表面安装型的封装的形式配置。存储器系统4200可以通过焊球4250安装在主机4100上。存储器系统4200可以包括控制器4210、缓冲存储器装置4220和非易失性存储器装置4230。

    控制器4210可以控制存储器系统4200的全部操作。控制器4210可以以与图10所示的控制器2210基本相同的方式配置

    缓冲存储器装置4220可以临时存储待存储在非易失性存储器装置4230中的数据。进一步,缓冲存储器装置4220可以临时存储从非易失性存储器装置4230读取的数据。临时存储在缓冲存储器装置4220中的数据可以根据控制器4210的控制被传输到主机4100或非易失性存储器装置4230。

    非易失性存储器装置4230可以用作存储器系统4200的存储介质。

    图13是示出根据本公开的实施例的包括存储器系统的网络系统5000的配置的示图。参照图13,网络系统5000可以包括通过网络5500彼此电联接的服务器系统5300和多个客户端系统5410至5430。

    服务器系统5300可以响应于来自多个客户端系统5410至5430的请求来服务数据。例如,服务器系统5300可以存储从多个客户端系统5410至5430提供的数据。在另一示例中,服务器系统5300可以向多个客户端系统5410至5430提供数据。

    服务器系统5300可以包括主机5100和存储器系统5200。存储器系统5200可以被配置为图1所示的存储器系统10、图9所示的存储器系统2200、图11所示的存储器系统3200或图12所示的存储器系统4200。

    图14是示出根据本公开的实施例的存储器系统中包括的非易失性存储器装置300的框图。参照图14,非易失性存储器装置300可以包括存储器单元阵列310、行解码器320、数据读取/写入块330、列解码器340、电压生成器350和控制逻辑360。

    存储器单元阵列310可以包括存储器单元mc,存储器单元mc布置在字线wl1至wlm与位线bl1至bln彼此相交的区域。

    行解码器320可以通过字线wl1至wlm与存储器单元阵列310联接。行解码器320可以根据控制逻辑360的控制进行操作。行解码器320可以对来自外部装置(未示出)的地址进行解码。行解码器320可以基于解码结果选择并驱动字线wl1至wlm。例如,行解码器320可以将由电压生成器350提供的字线电压提供至字线wl1至wlm。

    数据读取/写入块330可以通过位线bl1至bln与存储器单元阵列310联接。数据读取/写入块330可以包括分别对应于字线bl1至bln的读取/写入电路rw1至rwn。数据读取/写入块330可以根据控制逻辑360的控制进行操作。数据读取/写入块330可以根据操作模式作为写入驱动器或读出放大器进行操作。例如,数据读取/写入块330可以作为在写入操作中将从外部装置提供的数据存储在存储器单元阵列310中的写入驱动器进行操作。又例如,数据读取/写入块330可以作为在读取操作中从存储器单元阵列310读出数据的读出放大器进行操作。

    列解码器340可以根据控制逻辑360的控制进行操作。列解码器340可以对来自外部装置的地址进行解码。列解码器340可以基于解码结果将数据读取/写入块330的、分别对应于位线bl1至bln的读取/写入电路rw1和rwn与数据输入/输出线或数据输入/输出缓冲器联接。

    电压生成器350可以生成待用于非易失性存储器装置300的内部操作的电压。电压生成器350生成的电压可以被施加到存储器单元阵列310的存储器单元。例如,编程操作中生成的编程电压可以被施加到待执行编程操作的存储器单元的字线。又例如,在擦除操作中生成的擦除电压可以被施加到待执行擦除操作的存储器单元的阱区。再例如,在读取操作中生成的读取电压可以被施加到待执行读取操作的存储器单元的字线。

    控制逻辑360可以基于由外部装置提供的控制信号控制非易失性存储器装置300的一般操作。例如,控制逻辑360可以控制非易失性存储器装置300的操作,诸如非易失性存储器装置300的读取操作、写入操作和擦除操作。

    本教导的上述实施例旨在说明而不是限制本教导。各种替代和等同方案是可能的。本教导不限于本文所描述的实施例。本教导也不限于任何特定类型的半导体装置。鉴于本公开,其他添加、删减或修改是显而易见的,并且旨在落入所附权利要求书的范围内。


    技术特征:

    1.一种控制器,所述控制器控制非易失性存储器设备,所述控制器包括:

    第一存储器,临时存储用户数据;

    第二存储器,包括多个存储器区域,所述多个存储器区域包括用于存储元数据的至少一个元区域以及至少一个备用区域;以及

    处理器,控制所述第一存储器和所述第二存储器,并且使用所述至少一个备用区域作为间隔来对所述至少一个元区域执行第一起始间隔损耗均衡。

    2.根据权利要求1所述的控制器,其中当对所述元数据的访问次数的总和等于或大于第一参考值时,所述处理器通过将所述至少一个元区域的所述元数据移动到所述至少一个备用区域来执行所述第一起始间隔损耗均衡。

    3.根据权利要求1所述的控制器,

    其中所述至少一个元区域中的每个元区域包括多个子区域,所述多个子区域包括用于存储所述元数据的至少一个子元区域以及至少一个子备用区域,并且

    其中所述处理器进一步使用所述至少一个子备用区域作为间隔来对所述至少一个子元区域执行第二起始间隔损耗均衡。

    4.根据权利要求3所述的控制器,其中当对所述每个元区域的所述子元区域中存储的所述元数据的访问次数的总和等于或大于第二参考值时,所述处理器通过将所述至少一个子元区域的所述元数据移动到所述至少一个子备用区域来执行所述第二起始间隔损耗均衡。

    5.根据权利要求3所述的控制器,

    其中所述至少一个元区域中的每个元区域包括冷元区域和热元区域,并且

    其中所述处理器将所述冷元区域中存储的元数据之中访问次数等于或大于第三参考值的元数据迁移到所述热元区域,并且对所述热元区域执行所述第二起始间隔损耗均衡。

    6.根据权利要求5所述的控制器,其中当检测到对所述冷元区域的访问次数的总和等于或大于第一设置值时,所述处理器将所检测到的冷元区域的子元区域之中访问次数等于或大于所述第三参考值的子元区域的元数据迁移到所述热元区域。

    7.根据权利要求1所述的控制器,其中所述第一存储器比所述第二存储器具有更大的数据存储容量。

    8.根据权利要求1所述的控制器,其中所述第一存储器比所述第二存储器具有更高的数据处理速度。

    9.根据权利要求1所述的控制器,其中所述第一存储器是动态随机存取存储器即dram,并且所述第二存储器是相变随机存取存储器即pcram。

    10.一种控制器的操作方法,所述控制器包括:第一存储器,临时存储用户数据;以及第二存储器,包括多个存储器区域,所述多个存储器区域包括用于存储元数据的至少一个元区域以及至少一个备用区域,所述操作方法包括:

    确定对存储所述元数据的所述至少一个元区域的访问次数是否等于或大于第一参考值;并且

    当对所述元数据的访问次数的总和等于或大于所述第一参考值时,使用所述至少一个备用区域作为间隔来对所述至少一个元区域执行第一起始间隔损耗均衡。

    11.根据权利要求10所述的操作方法,其中执行所述第一起始间隔损耗均衡包括将所述至少一个元区域的所述元数据移动到所述至少一个备用区域。

    12.根据权利要求10所述的操作方法,

    其中所述至少一个元区域中的每个元区域包括多个子区域,所述多个子区域包括用于存储所述元数据的至少一个子元区域以及至少一个子备用区域,并且

    进一步包括:

    确定对所述至少一个子元区域中的每个子元区域中存储的所述元数据的访问次数的总和是否等于或大于第二参考值;并且

    当所述访问次数的总和等于或大于所述第二参考值时,使用所述至少一个子备用区域作为间隔来对所述至少一个子元区域执行第二起始间隔损耗均衡。

    13.根据权利要求12所述的操作方法,其中执行所述第二起始间隔损耗均衡包括将所述至少一个子元区域的所述元数据移动到所述至少一个子备用区域。

    14.根据权利要求12所述的操作方法,

    其中所述至少一个元区域中的每个元区域包括冷元区域和热元区域,并且

    进一步包括:

    将所述冷元区域中存储的元数据之中访问次数等于或大于第三参考值的元数据迁移到所述热元区域;并且

    对所述热元区域执行所述第二起始间隔损耗均衡。

    15.根据权利要求14所述的操作方法,其中迁移所述元数据包括:

    检测所述访问次数的总和等于或大于第一设置值的冷元区域;并且

    将所检测到的冷元区域的子元区域之中访问次数等于或大于所述第三参考值的子元区域的元数据迁移到所述热元区域。

    16.一种存储系统,包括:

    数据存储器区域,具有一个或多个数据空间,每个数据空间存储数据条;

    备用存储器区域,具有一个或多个备用空间,每个备用空间存储数据条;以及

    控制器:

    当对所述数据存储器区域的访问次数的总和等于或大于第一参考值时,将一个或多个数据空间之中针对第一数据条的数据空间中存储的所述第一数据条移动到所述备用存储器区域内的群组,并且

    当对所述数据空间的访问次数的总和等于或大于第二参考值时,将第二数据条从所述数据空间之中的一个数据空间迁移到所述备用存储器区域的所述备用空间。

    17.根据权利要求14所述的存储系统,

    其中所述数据存储器区域包括冷数据区域和热数据区域,并且

    所述控制器进一步:当检测到对所述数据存储器区域的访问次数的总和小于第一参考值时,将所述数据空间之中访问次数等于或大于第三参考值的第三数据条移动到所述热数据区域内的群组。

    技术总结
    本公开涉及一种控制非易失性存储器设备的控制器,该控制器可以包括:第一存储器,被配置为临时存储用户数据;第二存储器,包括多个存储器区域,该多个存储器区域包括用于存储元数据的至少一个元区域以及至少一个备用区域;以及处理器,被配置为控制第一存储器和第二存储器,并且使用至少一个备用区域作为间隔来对至少一个元区域执行第一起始间隔损耗均衡。

    技术研发人员:安秀洪;郑義英;朴泳慜
    受保护的技术使用者:爱思开海力士有限公司;延世大学校产学协力团
    技术研发日:2020.09.11
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-22501.html

    最新回复(0)