基于储存设备的当前消耗简档来确定对不可用于用户的储存设备中的备用空间的调整的制作方法

文档序号:11236525阅读:702来源:国知局
基于储存设备的当前消耗简档来确定对不可用于用户的储存设备中的备用空间的调整的制造方法与工艺

本文描述的实施例总体涉及基于储存设备的当前消耗简档来确定对不可用于用户的储存设备中的备用空间的调整。



背景技术:

固态驱动器(ssd)经历下述现象:其中,向设备的一个主机写入导致向ssd中的非易失性存储器的多个写入。这发生的原因在于:关于诸如nand(与非)之类的非易失性存储器,必须在数据可以被写入到页面块中的页面之一中之前擦除该块,这要求重写该块中的页面中的一些。通过向非易失性存储器提交的写入与来自主机系统的写入之比来测量写入放大。

在ssd设备中,当非易失性存储器的块中的页面具有有效数据和过时数据(无效或不需要的数据)二者时,垃圾收集过程读取具有有效数据的页面,并将有效数据重写到经擦除的空块中,以将具有有效数据的页面合并成更少的块,以便具有可用于写入操作的更空闲的块。在垃圾收集之后,从其写入了有效数据的块然后是空闲的且可用于进一步写入数据或垃圾收集。

垃圾收集过程增大了写入放大,并降低了系统性能,这是因为主机写入可能需要整个块被收回,具有有效和过时数据,并且所有有效数据在可以针对新主机写入而释放块之前被重新定位。为了减小写入放大的影响,ssd使用通过使作为备用空间的储存空间的块保持可用于垃圾收集操作而对非易失性存储器的过度供给,其中备用空间不可用于用户。过度供给的备用空间通过将备用空间中的块用于垃圾收集以将块释放出来以便可用于写入操作,有助于降低写入放大。备用空间的量通过影响被回收的块中有效和过时数据的期望量,来影响垃圾收集的效率。例如,具有更大备用容量的驱动器将在其针对垃圾收集而选择的块中具有更多无效数据,这是由于备用空间对应于在垃圾收集的块中存在多少总计无效块。垃圾收集确保了始终存在可用于写入操作的空闲空间块,使得垃圾收集不需要在写入操作期间被使用以使空间可用于将新数据写入到非易失性存储器。制造商可以在ssd中的非易失性存储器中配置不可用于用户且被用于垃圾收集、耗损均衡和其他管理操作的备用空间。

此外,写入放大随工作量而变化,并且诸如顺序写入之类的某些工作量一般经历比诸如随机写入之类的其他工作量低的写入放大。此外,如果特定主机具有比期望低的主机写入活动水平,则在nand上可以存在比期望少的耗损。

附图说明

参考附图、作为示例而描述实施例,附图不是按比例绘制的,其中相似附图标记指代类似元件。

图1图示了计算环境中的主机系统和储存设备的实施例。

图2图示了在储存设备中搜集的储存设备元数据的实施例。

图3图示了对过度供给的备用空间在储存设备中的百分比作为写入放大的函数进行建模的写入放大函数的实施例。

图4图示了对储存设备中的不可用于用户的备用空间进行调整的操作的实施例。

图5图示了确定对写入放大的调整的操作的实施例,该写入放大是在确定对备用空间的调整时使用的。

图6图示了由主机系统中的储存设备驱动器执行以调整备用空间的操作的实施例。

图7图示了由储存设备执行以调整储存设备的储存阵列中的备用空间的操作的实施例。

具体实施方式

制造商必须平衡将备用空间提供给较低写入放大且减少写入的数目以延长ssd和闪存的寿命的需要与将尽可能多的空间提供给用户的需要。在本领域中存在针对下述改进技术的需要:该改进技术用于最优地管理储存设备中的备用空间。

在ssd中,具有有限数目的写入周期的非易失性存储器(诸如nand)上的耗损是主机写入速率乘以写入放大的函数,并且写入放大是向用户隐藏的备用容量空间的量的函数。备用容量减小了写入放大的效果,且因而减小了ssd上的耗损。然而,必须将减小写入放大和写入耗损的该需要与用户对最大化可用容量的兴趣进行平衡,这是因为备用空间不可用于用户。

所描述的实施例力求通过提供下述技术来优化非易失性存储器中的备用空间和用户可用空间的平衡:该技术基于驱动器的当前耗损轨迹来确定是否应当作出调整以减小或增大备用空间。耗损轨迹基于ssd消耗简档,其包括ssd寿命期间的当前主机写入水平、ssd的当前开机时间、ssd的所估计的生命期、以及针对ssd而定级的驱动器写入的最大数目。所描述的实施例提供了用于执行下述操作的技术:如果当前写入轨迹水平足够低以使得以对驱动器的历史主机写入速率,写入放大可以增大且仍达到针对驱动器而定级的最大写入内的驱动器的所估计的生命期,则确定减小备用空间且增大用户可用空间的调整。

此外,所描述的实施例提供了用于执行下述操作的技术:如果当前主机写入轨迹水平足够高以使得以对驱动器的历史主机写入速率,写入放大需要减小以使储存驱动器达到驱动器的所估计的生命期而不超过针对驱动器而定级的最大驱动器写入,则确定增大备用空间且减小用户可用空间的调整。因此,当当前耗损水平足够高以使得如果备用空间不增大,则驱动器将具有比以当前耗损速率估计的生命期更短的生命期时,增大备用空间以降低写入放大延长驱动器的生命期。

所描述的实施例通过下述操作来确定对备用空间的调整的适当水平:使用在储存设备中维护的驱动器消耗简档以确定对写入放大的调整,并且然后使用写入放大函数以确定由于对写入放大的调整而可对备用空间作出的对应调整。

另外的实施例提供了用于如增大用户可用空间所需的那样确定对备用空间的适当调整的技术。该调整信息然后可以被呈现给主机系统处的储存设备的用户,以决定是否如储存设备自身或在主机系统中运行的储存设备驱动器所确定的那样作出调整。

在以下描述中,阐述了诸如逻辑实现、操作码、用于指定操作数的手段、资源分区/共享/复制实现、系统组件的类型和相互关系、以及逻辑分区/集成选择之类的许多具体细节,以便提供对本发明的更透彻理解。然而,本领域技术人员将领会的是,可以在没有这样的具体细节的情况下实践本发明。在其他实例中,未详细示出控制结构、门级电路和全软件指令序列,以便不使本发明模糊。在具有所包括的描述的情况下,本领域技术人员将能够在没有过度实验的情况下实现适当功能。

说明书中对“一个实施例”、“实施例”、“示例实施例”等的引用指示:所描述的实施例可以包括特定特征、结构或特性,但可能不是每个实施例都必然包括该特定特征、结构或特性。此外,这样的短语不必然指代相同实施例。某些实施例涉及储存设备电子组装件。实施例包括用于形成电子组装件的设备和方法二者。

图1图示了与储存设备102通信的主机系统100的实施例。储存设备102包括:非易失性存储器控制器104,关于非易失性存储器储存阵列106执行读取、写入和故障恢复操作。主机100可以向储存设备102发送关于非易失性存储器储存阵列106读取和写入数据的主机读取和写入请求。

储存设备102可以包括闪存设备、spi闪存设备、固态储存设备(ssd)、闪存控制器和闪存设备(例如,nand或nor(或非))、以及其他读取/写入储存类型设备,诸如存储器设备、盘驱动器等。储存设备102可以包括将通过最优地管理写入放大而受益的任何储存设备。

储存阵列106可以包括电可擦除和非易失性存储器单元,诸如闪存储存设备。例如,存储器储存阵列104可以包括存储器单元的nand管芯。在一个实施例中,nand管芯可以包括:多级单元(mlc)nand闪存,其在每一个单元中记录两个比特值:下比特值和上比特值。可替换地,nand管芯可以包括单级单元(slc)存储器。储存阵列106还可以包括但不限于mlcnand闪存、铁电随机存取存储器(fetram)、基于纳米线的非易失性存储器、三维(3d)交叉点存储器(诸如相变存储器(pcm))、并入有忆阻器技术的存储器、磁阻随机存取存储器(mram)、自旋转移矩(stt)-mram、单级单元(slc)闪存以及其他电可擦除可编程只读存储器(eeprom)类型设备。所描述的实施例可以与任何类别的存储器一起使用,这些存储器要求垃圾收集且作为垃圾收集的效果而经历写入放大。

主机100包括处理器108和存储器110,存储器110具有由处理器108执行的程序代码,包括操作系统112,操作系统112具有储存设备驱动器116以将操作系统112与储存设备102、一个或多个应用117、显示器119(诸如计算机监视器)、输入设备121(诸如键盘、鼠标、触摸屏等)和主机输入/输出(i/o)接口123进行接口连接,主机输入/输出(i/o)接口123与储存设备102中的对应设备i/o接口125进行接口连接和通信。主机100可以包括服务器、工作站、台式计算机、虚拟机、膝上型电脑、平板电脑、智能电话以及本领域中已知的其他计算设备。储存设备102可以处于主机100外壳内作为内部储存设备102或者作为外部储存设备102。

在一些实施例中,主机123和设备125i/o接口是串行高级技术附件(sata)接口,并包括将主机100和储存设备102耦合的符合sata的总线。在其他实施例中,可以使用其他类型的i/o接口和总线互连,诸如串行附件小型计算机系统接口(scsi)(或简称sas)、高速外围组件互连(pcie)等。

控制器104包括:输入/输出(i/o)管理器118,管理来自主机100的读取和写入请求;闪存转换层120,将主机操作系统112所使用的逻辑地址转换成储存阵列106中的物理位置;备用块信息122,指示包括过度供给的储存的备用页面块,该过度供给的储存不可用于用户,且用在垃圾收集中以将块中的页面合并在用户空间中;空闲块信息124,指示不具有储存且可用于用户的页面块;以及储存设备102的消耗简档信息。控制器104可以进一步包括:备用空间调整模块128,依赖于储存设备102中的写入活动(即,耗损水平)来调整在备用空间列表124中供给的备用空间或块量。备用空间调整模块128包括:写入放大函数300,其指示应当针对不同的所测量的写入放大而供给的备用空间的量。

备用空间(也被称作预留容量)包括向用户隐藏但对控制器104来说可用于垃圾收集和其他管理操作的空间。用户空间(也被称作用户容量),包括通过储存设备驱动器116和主机操作系统112而可用于主机系统100的用户的存储器空间。

在图1中,备用空间调整模块128被示出为包括在储存设备102中。在另一实施例中,备用空间调整模块128可以可替换地或附加地包括在储存设备驱动器116中,且在主机系统100中执行。

图2将消耗简档信息200的实施例图示为包括:开机持续时间202,以小时、天、分钟等指示储存设备102已处于开机状态中的时间量;主机写入204,指示由主机发送以进行写入的数据的量(诸如以吉字节(gb)为单位)或由主机100进行的写入的数目;储存写入206,指示向储存设备102中的储存阵列106(诸如nand单元)写入的数据的量或写入的数据的写入周期的数目;最大储存写入208,诸如以字节为单位,或以可向储存阵列106在其寿命内写入的储存写入的数目为单位;以及所估计的生命期200,指示储存设备102的所估计的持续时间,诸如所担保或所通告的寿命。消耗简档信息200可以包括由储存设备控制器104搜集的s.m.a.r.t(自监视、分析和报告技术)。

图3图示了写入放大函数300的实施例,其示出总储存阵列106的备用空间的百分比作为写入放大值的函数。写入放大可以被计算为储存写入206除以主机写入204。写入放大函数300可以由储存设备102制造商基于下述测试来创建:该测试针对不同写入放大而提供备用空间百分比,其通过提供足以最小化写入放大和耗损均衡且最大化可用用户空间的备用空间来优化性能。

图4图示了由备用空间调整模块128执行以调整储存阵列106中的备用空间的操作的实施例。如所提及的那样,备用空间调整模块128可以被实现在主机系统储存设备驱动器116和/或储存设备控制器104中。在发起(在框400处)调整备用空间的操作时,备用空间调整模块128基于储存写入206和主机写入204(诸如,将储存写入206除以主机写入204)来确定(在框401处)当前写入放大。基于所估计的生命期210、最大写入208、储存写入206和开机持续时间202(该信息可以是从储存设备100搜集的)来确定(在框402处)对当前写入放大的调整。备用空间调整模块128通过按所确定的调整对当前写入放大进行调整来确定(在框403处)经调整的写入放大。图5提供了关于可以如何确定对写入放大的调整的进一步细节。

备用空间调整模块128然后基于经调整的写入放大(诸如,通过确定与针对经调整的写入放大的写入放大函数300上的点相对应的备用空间)来确定(在框404处)对备用空间的调整。备用空间调整模块128确定(在框405处)实现备用空间调整(诸如,增大或减小作为储存阵列106中的总空间的百分比的备用空间的量)所需的多个块。增大备用空间的调整将导致减小可用于用户的空闲空间,并且减小备用空间的调整将导致增大可用于用户的空闲空间。

在某些实施例中,写入放大函数300是工作量的函数,并且,不是所有工作量都具有完全相同的写入放大函数。为了解决该关注点,在一个可替换实施例中,备用空间调整模块128可以从写入放大函数的集合中选择要使用的适当写入应用函数,其在储存设备102处提供专用于特定工作量或工作量范围的写入放大函数。制造商可以将写入放大函数的该集合包括在储存设备102中。

在涉及写入放大曲线的成比例使用的另一可替换实施例中,可以通过根据当前工作量调整写入放大来使用单个写入放大函数300。例如,如果作出确定以按一因子(例如,加倍)调整写入放大函数300,则对与针对当前备用空间量的写入放大曲线上的点相对应的当前写入放大作出确定。然后,按所确定的经调整的写入放大的因子调整该当前写入放大,以计算经调整的写入放大。目标备用空间量包括与针对所计算的经调整的写入放大而定义的写入放大曲线上的点相对应的备用空间量。备用空间模块128然后可以将当前备用空间量调整成所确定的目标备用空间量。

如果(在框406处)调整减小备用空间(这在主机写入速率已经相对较低时发生),则备用空间调整模块128可以将备用空间信息122和空闲空间信息124配置(在框407处)成将备用空间中的所确定的多个块转换成空闲空间块。备用空间调整模块128可以通过将命令发布到控制器104来执行配置操作。如果(在框406处)调整增大备用空间以便减少用于垃圾收集的储存写入的数目(这在当前主机写入速率太高时发生),则备用空间调整模块128可以发起(在框408处)将备用空间信息122和空闲空间信息124配置成将空闲空间中的所确定的多个块转换成备用空间块。为了将备用空间块转换成空闲空间块,可以将备用空间信息122中的块移动到空闲空间信息124。

关于图4的操作,如果到目前为止的储存写入速率(耗损水平)相对较低,则可以增大写入放大,这可以是通过减小备用空间以增大可用于用户的空闲空间的量并且提高储存写入速率来完成的。如果到目前为止的储存写入速率相对较高(意味着高耗损水平速率),则需要减小写入放大以降低储存写入速率,这是通过增大备用空间来完成的。

图5图示了由备用空间调整模块128执行以确定对写入放大的调整的另外操作的实施例。在发起(在框500处)确定要对写入放大作出的调整的操作(诸如,在图4中的框403中执行)时,备用空间调整模块128确定(在框501处)作为下述各项函数的剩余写入速率:最大储存写入208减去储存写入206;以及剩余持续时间,包括所估计的生命期210减去储存设备100的开机持续时间202。下面的等式(1)是剩余写入速率的计算的一个实施例:

(1)(最大储存写入-储存写入)/(所估计的生命期-开机持续时间)。

备用空间调整模块128进一步确定(在框502处)作为储存写入206和开机持续时间202的函数的当前储存写入速率。下面的等式(2)是当前储存写入速率的计算的一个实施例:

(2)储存写入/开机持续时间。

然后对调整因子作出(在框503处)确定,该调整因子在被应用于当前储存写入速率时得到剩余储存写入速率。该调整因子可以指示调整的方向。例如,在一个实施例中,如果当前储存写入速率低于剩余储存写入速率,则该调整因子可以包括剩余储存写入速率除以当前储存写入速率,并指示正方向以按该调整因子增大写入放大。如果当前储存写入速率大于剩余储存写入速率,则该调整因子可以包括剩余写入速率除以当前储存写入速率,并指示负方向以按该调整因子减小写入放大。

备用空间调整模块128然后基于所确定的调整值和调整的方向(增大或减小)来增大或减小(在框504处)当前写入放大,以产生经调整的写入放大。

图6图示了当备用空间调整模块128被实现在储存设备驱动器116中时的操作的一个实施例。储存设备驱动器116可以响应于用户调用或根据周期性安排或事件(诸如,储存设备102中的所使用的空间达到临界水平)发起备用空间调整操作。响应于发起(在框600处)备用空间管理操作,储存设备驱动器116向储存设备102发送(在框601处)针对消耗简档信息200的请求,消耗简档信息200包括储存写入206、最大写入208、所估计的生命期210和开机持续时间202。在接收到(在框602处)所请求的信息时,储存设备驱动器116执行框401-405和图5的操作以确定要对备用空间作出的调整。储存设备驱动器116利用图形元件在用户界面130(诸如,图形用户界面(gui))中呈送(在框604处)与所确定的对备用空间的调整有关的信息,以使用户界面处的操作者能够指示接受所确定的调整。

在从用户界面130接收到(在框605处)图形元件接受所确定的调整的选择的指示时,储存设备驱动器116向储存设备102发送(在框606处)具有针对备用空间的调整量作为参数的调整大小命令。该调整大小命令使储存设备控制器104按所确定的对备用空间的调整对备用空间进行调整,以使控制器104调整在储存阵列106中供给的备用空间和空闲空间的量。

在可替换实施例中,储存设备驱动器116可以自动地执行备用空间调整操作,而无需由用户通过用户界面130进行提示。

图7图示了当如图1中所示的那样备用空间调整模块128被实现在储存设备102的控制器106中时的操作的实施例。备用空间调整模块128可以响应于用户调用或根据周期性安排或事件(诸如,储存设备102中的所使用的空间达到临界水平)发起备用空间调整操作。响应于发起(在框700处)备用空间管理操作,控制器106执行图4和5中的操作以调整备用空间和空闲空间,并实现调整,诸如通过更新备用块信息122和空闲块信息124。控制器104可以向储存设备驱动器116发送(在框702处)可用用户空间的新量的消息,使得主机操作系统112可以将该信息并入到其对储存设备102的管理中。

在另一实施例中,储存设备驱动器116可以针对可以暴露多少用户容量而查询储存设备102。作为响应,储存设备102中实现的备用空间调整模块128确定可以增大多少用户空间以及在可实践的情况下可以减小多少备用空间,并将此报告给储存设备驱动器116。储存设备驱动器116然后可以响应于用户批准或自动确定而发送调整大小命令,以使储存设备控制器104将备用空间122中的块重新配置到空闲空间124。调整大小命令可以使储存设备控制器104执行图4中的框405-408处的操作以重新配置备用空间和空闲空间。

应当领会,遍及本说明书对“一个实施例”或“实施例”的引用意味着:结合该实施例描述的特定特征、结构或特性被包括在本发明的至少一个实施例中。因此,要强调且应当领会,本说明书的各种部分中对“实施例”或“一个实施例”或“可替换实施例”的两次或更多次引用不必然全部指代相同实施例。此外,可以如在本发明的一个或多个实施例中合适的那样组合特定特征、结构或特性。

类似地,应当领会,在本发明的实施例的以上描述中,出于精简本公开从而帮助理解各种发明方面中的一个或多个的目的,有时在单个实施例、附图或其描述中将各种特征成组在一起。然而,该公开方法不应被解释为反映下述意图:所要求保护的主题要求比在每一个权利要求中明确记载的特征更多的特征。更确切地,如所附权利要求所反映,发明方面在于单个以上所公开的实施例的并非所有特征。因此,遵循详细描述的权利要求由此明确并入到该详细描述中。

可以使用用于产生软件、固件、硬件或其任何组合的标准编程和/或工程技术,将备用空间调整模块128、储存设备驱动器116和其他操作组件112、114、118等的所描述的操作实现为方法、设备或计算机可读储存介质。所描述的操作可以被实现为在“计算机可读储存介质”中维护的代码或逻辑,其可以直接执行功能,或者其中处理器可以读取和执行来自计算机储存可读介质的代码。计算机可读储存介质包括电子电路、储存材料、无机材料、有机材料、生物材料、壳体、壳、涂层和硬件中的至少一个。计算机可读储存介质可以包括但不限于磁储存介质(例如,硬盘驱动器、软盘、带等)、光学储存器(cd-rom、dvd、光盘等)、易失性和非易失性存储器设备(例如,eeprom、rom、prom、ram、dram、sram、闪存、固件、可编程逻辑等)、固态设备(ssd)等。计算机可读储存介质可以进一步包括在硬件设备(例如,集成电路芯片、可编程逻辑设备、可编程门阵列(pga)、现场可编程门阵列(fpga)、专用集成电路(asic)等)中实现的数字逻辑。更进一步,实现所描述的操作的代码可以被实现在“传输信号”中,其中传输信号可以通过空间或通过传输介质(诸如光纤、铜线等)进行传播。其中代码或逻辑被编码的传输信号可以进一步包括无线信号、卫星传输、无线电波、红外信号、蓝牙等。计算机可读储存介质上嵌入的程序代码可以作为传输信号而从发射站或计算机传输到接收站或计算机。计算机可读储存介质不是仅由传输信号组成,而是包括有形组件,诸如硬件元件。本领域技术人员将认识到,在不脱离本发明的范围的情况下,可以对该配置作出许多修改,并且制造品可以包括本领域中已知的合适信息承载介质。

示例

以下示例涉及另外实施例。

示例1是一种计算机程序产品,包括具有程序指令的计算机储存介质,所述程序指令在被执行时通过执行操作来管理储存设备中的备用空间,所述操作包括:基于在所述储存设备处向介质的储存写入和从主机到所述储存设备的主机写入来确定当前写入放大;基于所述储存设备的所估计的生命期、针对所述储存设备的最大储存写入、以及自所述储存设备被开机起所述储存设备处的储存写入来确定对所述当前写入放大的调整以产生经调整的写入放大;基于经调整的写入放大来确定对所述备用空间的调整,其中所述备用空间包括过度供给的储存空间,所述过度供给的储存空间不包括用户可访问储存;以及发起下述操作:将可用于用户的空闲空间和备用空间重新配置成按所确定的对所述备用空间的调整对所述备用空间进行调整。

在示例2中,示例1的主题可以可选地包括:确定对所述写入放大的调整包括:确定作为下述各项的函数的剩余储存写入速率:所述最大储存写入减去所述储存写入;以及剩余持续时间,包括所估计的生命期减去所述储存设备的开机持续时间;以及确定作为所述储存写入和所述开机持续时间的函数的当前储存写入速率,其中对所述写入放大的调整是根据所述剩余储存写入速率和所述当前储存写入速率来确定的。

在示例3中,示例1和2的主题可以可选地包括:根据所述剩余储存写入速率和所述当前储存写入速率确定对所述写入放大的调整包括:确定调整因子,所述调整因子在被应用于所述当前储存写入速率时得到所述剩余储存写入速率。

在示例4中,示例1-3的主题可以可选地包括:所述调整因子指示对所述当前储存写入速率的增大,所确定的调整指示对所述当前写入放大的增大,其导致所述备用空间的减小,并且其中当所述调整因子指示对所述当前写入速率的减小时,所确定的调整指示对所述当前写入放大的减小,其导致所述备用空间的增大。

在示例5中,示例1-4的主题可以可选地包括:所确定的对所述备用空间的调整由被应用于经调整的写入放大的、备用空间对写入放大的写入放大函数引起。

在示例6中,示例1-5的主题可以可选地包括:所述操作进一步包括:基于所述储存设备处的当前工作量来确定针对所述储存设备处的不同工作量而提供的多个写入放大函数之一,其中所确定的写入放大函数被应用于经调整的写入放大。

在示例7中,示例2-6的主题可以可选地包括:所述操作进一步包括:根据所述写入放大函数和所述储存设备处的当前备用空间使用率,将所述调整因子应用于所述写入放大,以获得经调整的写入放大;以及根据所述写入放大函数和经调整的写入放大来确定对应的目标备用空间。

在示例8中,示例2-7的主题可以可选地包括:所述计算机可读储存介质被实现在与所述储存设备通信的主机系统中,其中所述程序指令在所述主机系统中执行,其中所述操作进一步包括:向所述储存设备发送针对与所述储存设备处的储存写入有关的信息的请求;从所述储存设备接收与所述储存写入有关的信息,其中所接收的信息用于确定所述当前写入放大,并且其中发起重新配置所述备用空间的操作包括:向所述储存设备发送命令,所述命令按所确定的对所述备用空间的调整对所述备用空间进行调整以调整在所述储存设备中供给的备用空间的量。

在示例9中,示例2-8的主题可以可选地包括:所述操作进一步包括:利用图形元件在用户界面中呈送与所确定的对所述备用空间的调整有关的信息,以使所述用户界面处的操作者能够指示接受所确定的对所述备用空间的调整;以及接收所述图形元件接受所确定的对所述备用空间的调整的选择的指示,其中响应于接收到所述图形元件接受所确定的调整的选择的指示,将所述调整所述备用空间的命令发送到所述储存设备。

在示例10中,示例2-9的主题可以可选地包括:所述计算机可读储存介质被实现在所述储存设备的控制器中,所述控制器被围在所述储存设备内,其中所述程序指令在所述控制器中执行。

在示例11中,示例2-10的主题可以可选地包括:主机系统与所述储存设备通信,并且其中所述操作进一步包括:由所述主机系统向所述储存设备发送调整大小命令,所述调整大小命令具有对所述备用空间的调整作为参数;以及由所述储存设备处理所述调整大小命令,以将可用于用户的空闲空间和备用空间重新配置成按所述调整大小命令的参数中的对所述备用空间的调整对所述备用空间进行调整。

在示例12中,示例2-11的主题可以可选地包括:所述储存设备包括具有nand存储器单元的固态储存设备,其中所述备用空间用于执行垃圾收集,以将所述nand存储器单元中的具有未使用页面的块中的活动数据的页面合并成更少的块。

示例13是一种与主机系统通信的储存设备,包括:储存阵列,包括储存介质;以及控制器,执行用于执行操作的逻辑,所述操作包括:基于在所述储存设备处向介质的储存写入和从主机到所述储存设备的主机写入来确定当前写入放大;基于所述储存设备的所估计的生命期、针对所述储存设备的最大储存写入、以及自所述储存设备被开机起所述储存设备处的储存写入来确定对所述当前写入放大的调整以产生经调整的写入放大;基于经调整的写入放大来确定对备用空间的调整,其中所述备用空间包括过度供给的储存空间,所述过度供给的储存空间不包括用户可访问储存;以及将可用于用户的空闲空间和备用空间重新配置成按所确定的对所述备用空间的调整对所述备用空间进行调整。

在示例14中,示例13的主题可以可选地包括:确定对所述写入放大的调整包括:确定作为下述各项的函数的剩余储存写入速率:所述最大储存写入减去所述储存写入;以及剩余持续时间,包括所估计的生命期减去所述储存设备的开机持续时间;以及确定作为所述储存写入和所述开机持续时间的函数的当前储存写入速率,其中对所述写入放大的调整是根据所述剩余储存写入速率和所述当前储存写入速率来确定的。

在示例15中,示例13和14的主题可以可选地包括:所确定的对所述备用空间的调整由被应用于经调整的写入放大的、备用空间对写入放大的写入放大函数引起。

在示例16中,示例13-15的主题可以可选地包括:所述操作进一步包括:将可用于用户的空闲空间和备用空间重新配置成按所确定的对所述备用空间的调整对所述备用空间进行调整。

示例17是一种与储存设备通信的系统,包括:处理器;以及计算机可读储存介质,具有由所述处理器执行以执行操作的计算机程序代码,所述操作包括:基于在所述储存设备处向介质的储存写入和从主机到所述储存设备的主机写入来确定当前写入放大;基于所述储存设备的所估计的生命期、针对所述储存设备的最大储存写入、以及自所述储存设备被开机起所述储存设备处的储存写入来确定对所述当前写入放大的调整以产生经调整的写入放大;基于经调整的写入放大来确定对备用空间的调整,其中所述备用空间包括过度供给的储存空间,所述过度供给的储存空间不包括用户可访问储存;以及向所述储存设备发送命令,所述命令将可用于用户的空闲空间和备用空间重新配置成按所确定的对所述备用空间的调整对所述备用空间进行调整。

在示例18中,示例17的主题可以可选地包括:所述操作进一步包括:向所述储存设备发送针对与所述储存设备处的储存写入有关的信息的请求;以及从所述储存设备接收与所述储存写入有关的信息,其中所接收的信息用于确定所述当前写入放大。

在示例19中,示例17和18的主题可以可选地包括:所述操作进一步包括:利用图形元件在用户界面中呈送与所确定的对所述备用空间的调整有关的信息,以使所述用户界面处的操作者能够指示接受所确定的对所述备用空间的调整;以及接收所述图形元件接受所确定的对所述备用空间的调整的选择的指示,其中响应于接收到所述图形元件接受所确定的调整的选择的指示,将所述调整所述备用空间的命令发送到所述储存设备。

在示例20中,示例17-19的主题可以可选地包括:发送命令包括:向所述储存设备发送调整大小命令,所述调整大小命令具有对所述备用空间的调整作为参数,其中所述调整大小命令使所述储存设备:将可用于用户的空闲空间和备用空间重新配置成按所述调整大小命令的参数中的对所述备用空间的调整对所述备用空间进行调整。

示例21是一种设备,包括:用于基于在储存设备处向介质的储存写入和从主机到所述储存设备的主机写入来确定当前写入放大的装置;用于基于所述储存设备的所估计的生命期、针对所述储存设备的最大储存写入、以及自所述储存设备被开机起所述储存设备处的储存写入来确定对所述当前写入放大的调整以产生经调整的写入放大的装置;用于基于经调整的写入放大来确定对所述备用空间的调整的装置,其中所述备用空间包括过度供给的储存空间,所述过度供给的储存空间不包括用户可访问储存;以及用于发起下述操作的装置:将可用于用户的空闲空间和备用空间重新配置成按所确定的对所述备用空间的调整对所述备用空间进行调整。

在示例22中,示例21的主题可以可选地包括:用于确定对所述写入放大的调整的装置包括:用于确定作为下述各项的函数的剩余储存写入速率的装置:所述最大储存写入减去所述储存写入;以及剩余持续时间,包括所估计的生命期减去所述储存设备的开机持续时间;以及用于确定作为所述储存写入和所述开机持续时间的函数的当前储存写入速率的装置,其中对所述写入放大的调整是根据所述剩余储存写入速率和所述当前储存写入速率来确定的。

在示例23中,示例21和22的主题可以可选地包括:用于根据所述剩余储存写入速率和所述当前储存写入速率确定对所述写入放大的调整的装置包括:用于确定调整因子的装置,所述调整因子在被应用于所述当前储存写入速率时得到所述剩余储存写入速率。

示例24是一种方法,包括:基于在储存设备处向介质的储存写入和从主机到所述储存设备的主机写入来确定当前写入放大;基于所述储存设备的所估计的生命期、针对所述储存设备的最大储存写入、以及自所述储存设备被开机起所述储存设备处的储存写入来确定对所述当前写入放大的调整以产生经调整的写入放大;基于经调整的写入放大来确定对所述备用空间的调整,其中所述备用空间包括过度供给的储存空间,所述过度供给的储存空间不包括用户可访问储存;以及发起下述操作:将可用于用户的空闲空间和备用空间重新配置成按所确定的对所述备用空间的调整对所述备用空间进行调整。

在示例25中,示例24的主题可以可选地包括:确定对所述写入放大的调整包括:确定作为下述各项的函数的剩余储存写入速率:所述最大储存写入减去所述储存写入;以及剩余持续时间,包括所估计的生命期减去所述储存设备的开机持续时间;以及确定作为所述储存写入和所述开机持续时间的函数的当前储存写入速率,其中对所述写入放大的调整是根据所述剩余储存写入速率和所述当前储存写入速率来确定的。

在示例26中,示例24和25的主题可以可选地包括:根据所述剩余储存写入速率和所述当前储存写入速率确定对所述写入放大的调整包括:确定调整因子,所述调整因子在被应用于所述当前储存写入速率时得到所述剩余储存写入速率。

在示例27中,示例24-26的主题可以可选地包括:所述调整因子指示对所述当前储存写入速率的增大,所确定的调整指示对所述当前写入放大的增大,其导致所述备用空间的减小,并且其中当所述调整因子指示对所述当前写入速率的减小时,所确定的调整指示对所述当前写入放大的减小,其导致所述备用空间的增大。

在示例28中,示例24-27的主题可以可选地包括:所确定的对所述备用空间的调整由被应用于经调整的写入放大的、备用空间对写入放大的写入放大函数引起。

在示例29中,示例24-28的主题可以可选地包括:基于所述储存设备处的当前工作量来确定针对所述储存设备处的不同工作量而提供的多个写入放大函数之一,其中所确定的写入放大函数被应用于经调整的写入放大。

在示例30中,示例24-29的主题可以可选地包括:根据所述写入放大函数和所述储存设备处的当前备用空间使用率,将所述调整因子应用于所述写入放大,以获得经调整的写入放大;以及根据所述写入放大函数和经调整的写入放大来确定对应的目标备用空间。

在示例31中,示例24-30的主题可以可选地包括:所述方法在与所述储存设备通信的主机系统中执行,其中所述主机系统进一步执行:向所述储存设备发送针对与所述储存设备处的储存写入有关的信息的请求;从所述储存设备接收与所述储存写入有关的信息,其中所接收的信息用于确定所述当前写入放大,并且其中发起重新配置所述备用空间的操作包括:向所述储存设备发送命令,所述命令按所确定的对所述备用空间的调整对备用空间进行调整以调整在所述储存设备中供给的备用空间的量。

在示例32中,示例24-31的主题可以可选地包括:利用图形元件在用户界面中呈送与所确定的对所述备用空间的调整有关的信息,以使所述用户界面处的操作者能够指示接受所确定的对所述备用空间的调整;以及接收所述图形元件接受所确定的对所述备用空间的调整的选择的指示,其中响应于接收到所述图形元件接受所确定的调整的选择的指示,将所述调整所述备用空间的命令发送到所述储存设备。

在示例33中,示例24-32的主题可以可选地包括:所述方法被实现在所述储存设备的控制器中,所述控制器被围在所述储存设备内。

在示例34中,示例24-33的主题可以可选地包括:主机系统与所述储存设备通信,进一步包括:由所述主机系统向所述储存设备发送调整大小命令,所述调整大小命令具有对所述备用空间的调整作为参数;以及由所述储存设备处理所述调整大小命令,以将可用于用户的空闲空间和备用空间重新配置成按所述调整大小命令的参数中的对所述备用空间的调整对所述备用空间进行调整。

在示例35中,示例24-34的主题可以可选地包括:所述储存设备包括具有nand存储器单元的固态储存设备,其中所述备用空间用于执行垃圾收集,以将所述nand存储器单元中的具有未使用页面的块中的活动数据的页面合并成更少的块。

示例36是一种包括代码的机器可读介质,所述代码在被执行时使机器执行权利要求24-35中任一项的方法。

在示例37中,示例24的主题可以可选地包括下述至少一个步骤:

(1)其中确定对所述写入放大的调整包括:确定作为下述各项的函数的剩余储存写入速率:所述最大储存写入减去所述储存写入;以及剩余持续时间,包括所估计的生命期减去所述储存设备的开机持续时间;以及确定作为所述储存写入和所述开机持续时间的函数的当前储存写入速率,其中对所述写入放大的调整是根据所述剩余储存写入速率和所述当前储存写入速率来确定的;和/或

(2)其中根据所述剩余储存写入速率和所述当前储存写入速率确定对所述写入放大的调整包括:确定调整因子,所述调整因子在被应用于所述当前储存写入速率时得到所述剩余储存写入速率;和/或

(3)其中当所述调整因子指示对所述当前储存写入速率的增大时,所确定的调整指示对所述当前写入放大的增大,其导致所述备用空间的减小,并且其中当所述调整因子指示对所述当前写入速率的减小时,所确定的调整指示对所述当前写入放大的减小,其导致所述备用空间的增大;和/或

(4)其中所确定的对所述备用空间的调整由被应用于经调整的写入放大的、备用空间对写入放大的写入放大函数引起;和/或

(5)基于所述储存设备处的当前工作量来确定针对所述储存设备处的不同工作量而提供的多个写入放大函数之一,其中所确定的写入放大函数被应用于经调整的写入放大;和/或

(6)根据所述写入放大函数和所述储存设备处的当前备用空间使用率,将所述调整因子应用于所述写入放大,以获得经调整的写入放大;以及根据所述写入放大函数和经调整的写入放大来确定对应的目标备用空间;和/或

(7)其中所述方法在与所述储存设备通信的主机系统中执行,其中在所述主机系统中所述方法进一步执行:向所述储存设备发送针对与所述储存设备处的储存写入有关的信息的请求;从所述储存设备接收与所述储存写入有关的信息,其中所接收的信息用于确定所述当前写入放大,并且其中发起重新配置所述备用空间的操作包括:向所述储存设备发送命令,所述命令按所确定的对所述备用空间的调整对备用空间进行调整以调整在所述储存设备中供给的备用空间的量;和/或

(8)利用图形元件在用户界面中呈送与所确定的对所述备用空间的调整有关的信息,以使所述用户界面处的操作者能够指示接受所确定的对所述备用空间的调整;以及接收所述图形元件接受所确定的对所述备用空间的调整的选择的指示,其中响应于接收到所述图形元件接受所确定的调整的选择的指示,将所述调整所述备用空间的命令发送到所述储存设备;和/或

(9)其中所述方法被实现在所述储存设备的控制器中,所述控制器被围在所述储存设备内;和/或

(10)其中主机系统与所述储存设备通信,并且进一步包括:由所述主机系统向所述储存设备发送调整大小命令,所述调整大小命令具有对所述备用空间的调整作为参数;以及由所述储存设备处理所述调整大小命令,以将可用于用户的空闲空间和备用空间重新配置成按所述调整大小命令的参数中的对所述备用空间的调整对所述备用空间进行调整;和/或

(11)权利要求1的方法,其中所述储存设备包括具有nand存储器单元的固态储存设备,其中所述备用空间用于执行垃圾收集,以将所述nand存储器单元中的具有未使用页面的块中的活动数据的页面合并成更少的块。

示例38是一种设备,包括用于执行如任何前述权利要求24-37所述的方法的装置。

示例39是一种包括机器可读指令的机器可读储存器,所述机器可读指令在被执行时实现如任何前述权利要求24-37所述的方法或实现如任何前述权利要求24-37所述的设备或系统。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1