基于温度的闪速存储器系统维持的制作方法

文档序号:13705935阅读:123来源:国知局
技术领域本申请一般地涉及存储器装置。更具体地,本申请涉及后台操作的管理和调度以改善非易失性半导体闪速存储器的耐受性和寿命。

背景技术:
非易失性存储器系统——诸如闪速存储器——已经被广泛地用于消费产品中。闪速存储器可以以不同的形式出现,例如以在主机装置之间运载的便携式存储器卡的形式或者作为嵌入在主机装置中的固态盘(SSD)。随着非易失性存储器单元缩小到具有每单位面积更高的容量的更小的尺寸,由于编程和擦除循环的单元耐受性,以及干扰(例如由于读取或编程)可能变得更为显著。由于单元尺寸缩小以及工艺复杂度的提高,在硅工艺期间的瑕疵水平可能变得更高。相应地,满足高耐受性要求的存储器可能更加困难,这可能进一步提高用于技术缩放的研究和开发成本。存储器由于主机写入和非主机写入两者经历写入/擦除周期。非主机写入可以包括存储器维持(maintenance)和/或由存储器卡进行的背景操作/在存储器卡上进行的背景操作。由于该存储器维持的存储器回收可以显著地减少卡的寿命。每当有闲置时间以及试图减少由于存储器维持的写入/擦除周期的次数的某些解决方案时,可以进行存储器维持。

技术实现要素:
可以期望的是,通过监控某些参数并且基于那些参数的值调度维持的优化的存储器维持系统改善存储器的耐受性。例如,温度可以是监控的示例性参数。取决于卡的周围温度,可以进行或者延迟存储器维持。存储器维持操作和后台操作可以被排名或者分类(例如基于优先级在存储器维持队列中)以与参数的阈值的值对应以用于存储器维持的更加有效的调度。例如,在低温度阈值处,仅进行高优先级维持操作,而在更高的温度阈值处,进行任何优先级维持操作。附图说明图1是与具有非易失性存储器的存储器系统连接的主机的框图。图2是用在图1的系统中的示例性闪速存储器装置控制器的框图。图3是可替换的存储器通信系统的框图。图4是图1的系统的示例物理存储器组织。图5是图4的物理存储器的一部分的扩大的视图。图6是示出在操作为在存储器单元中贮存两位的数据的多级单元存储器中的电荷水平的示意图。图7示出了在存储器单元隧道氧化层中在高温度(\HT\)处捕获的电荷的脱离。图8是与主机一起的温度传感器的一个实施例。图9是与存储器系统一起的温度传感器的一个实施例。图10是示出简化的存储器维持调度的流程图。图11示出了示例性分类和用于每个分类的各个优先级。图12示出了示例性优先级决定1202因素。图13示出了维持操作的调度的一个实施例。具体实施方式适用于实现本发明的方面的闪速存储器系统在图1-6中示出。图1的主机系统100将数据贮存到存储器系统102并从闪速存储器102取回数据。闪速存储器可以是嵌入在主机中的闪速存储器——诸如以安装在个人计算机中的固态盘(SSD)驱动的形式。可替换地,存储器102可以是以通过如图1中所示的机械的和电的连接器的配件104和106可拆卸地连接到主机的闪速存储器卡的形式。被配置为用作内部或嵌入的SSD驱动的闪速存储器看上去可以与图1的示意图相似,其中一个区别在于存储器系统102的位置在主机的内部。SSD驱动可以以作为用于旋转磁盘驱动的插入式替换的分立的模块的形式。如所述,闪速存储器可指使用贮存电子电荷的无效的AND(NAND)单元。商业上可用的可拆卸闪速存储器卡的示例包括,压缩闪存(CF)、多媒体卡(MMC)、安全数字(SD)、miniSD、存储器棒、智能介质(SmartMedia)、快闪存储卡(TransFlash)和微型SD卡。尽管这些卡的每一个根据其标准化规格具有独特的机械和/或电气接口,但是在每一个中包含的闪速存储器系统可以是类似的。这些卡都可以从SanDisk公司获得,SanDisk公司为本申请的受让人。SanDisk还提供在其Cruzer商标下的闪速驱动产品线,该闪速驱动是以小的封装的手持式存储器系统,其具有用于通过插入到主机的USB插座而与主机连接的通用串行总线(USB)插头。这些存储器卡和闪速驱动的每一个包括与主机接口以及在它们中控制闪速存储器的操作的控制器。可能使用SSD、存储器卡和闪速驱动的主机系统是多种多样的。它们包括个人计算机(PC),诸如桌上型或膝上型以及其它便携式计算机、平板计算机、蜂窝电话、智能电话、个人数字助理(PDA)、数码照相机、数码摄像机以及便携式媒体播放器。对于便携式存储器卡应用,主机可以包括用于一个或多个类型的存储器卡或闪速驱动的嵌入式插座,或者主机可能需要存储器卡插入到其中的适配器。存储器系统可以包括其自己的存储器控制器以及驱动器,但是也可能存在一些相反通过由存储器连接到其的主机执行的软件控制的只有存储器的系统。在包含控制器的一些存储器系统中,特别是嵌入在主机中的那些,存储器、控制器和驱动器通常形成在单个集成的电路芯片上。主机可以使用任何通信协议与存储器卡通信,该通信协议——诸如但不限于安全数字(SD)协议、存储器棒(MS)协议以及通用串行总线(USB)协议。图1的主机系统100可以被视作具有两个主要部件,在考虑存储器装置102的情况中,由电路和软件的组合构成。应用部分108可以通过文件系统模块114和驱动110与存储器装置102接口。在PC中,例如,应用部分108可以包括用于运行文字处理、图形、控制或其它流行的应用软件的处理器112。在相机、主要致力于进行单个集合的功能的蜂窝电话中,应用部分108可以实现为用于运行操作相机以拍取并贮存图片、操作蜂窝电话以接打电话等的软件的硬件。图1的存储器系统102可以包括非易失性存储器——诸如闪速存储器116——以及与主机100接口并且控制存储器116的系统控制器118,所述主机100连接到存储器系统102以来回传递数据。装置控制器118可以在数据编程和读取期间在主机100所使用的数据的逻辑地址以及闪速存储器116的物理地址之间转换。功能上,装置控制器118可以包括,与主机系统控制器逻辑110接口的主机接口模块(HIM)122、以及用于与主机接口模块122协调的控制器固件模块124、以及闪速接口模块128。闪速管理逻辑126可以是控制器固件214的一部分,该控制器固件214用于诸如垃圾收集的内部存储器管理操作。一个或多个闪速接口模块(FIM)128可以提供控制器与闪速存储器116之间的通信接口。闪速转换层(\FTL\)或介质管理层(\MML\)可以集成在闪速管理126中并且可以处理闪速误差并且与主机接口。特别地,闪速管理126是控制器固件124的一部分并且MML可以是闪速管理中的模块。MML可能对NAND管理的内部负责。特别地,MML可以包括存储器装置固件中的算法,该算法将来自主机100的写入转化为到闪速存储器116的写入。可能需要MML因为:1)闪速存储器可能具有有限的耐受性;2)闪速存储器116可能仅在多个页中被写入;和/或3)闪速存储器116可能不被写入直到其被作为块擦除。MML理解主机100可能不能看到的闪速存储器116的这些潜在限制。相应地,MML试图将来自主机100的写入转化为到闪速存储器116中的写入。如下所述,存储器维持调度算法可以从MML操作。闪速存储器116或其它存储器可以是多级单元(MLC)或单级单元(SLC)存储器。在下面进一步描述MLC和SLC存储器。SLC或MLC可以作为装置控制器118的一部分而不是作为闪速存储器116的一部分被包含。如在图8-9中所示,可以存在作为主机系统100的一部分或者存储器系统102的一部分的温度传感器。装置控制器118可以实现在单个集成电路芯片上——诸如在图2所示的专用集成电路(ASIC)。装置控制器118的处理器206可以被配置为能够经由具有用于在闪速存储器116中的每个存储器条(bank)的I/O端口的存储器接口204通信的多线程处理器。装置控制器118可以包括内部时钟218。处理器206经由内部数据总线202与误差校正码(ECC)模块214、RAM缓冲器212、主机接口216和启动代码ROM210通信。主机接口216可以提供与主机的数据连接。存储器接口204可以是来自图1的一个或多个FIM128。存储器接口204允许装置控制器118与闪速存储器116通信。RAM212可以是静态随机存取存储器(SRAM)。ROM210可以被用于初始化存储器系统102,诸如闪速存储器装置。被初始化的存储器系统102可以被称为卡。图2中的ROM210可以是只读存储器的区域,其目的在于将启动代码提供到RAM以用于处理程序,诸如存储器系统102的初始化和启动。ROM可以出现在ASIC而不是闪速存储器芯片中。图3是可替换的存储器通信系统的框图。如关于图1所讨论的,主机系统100与存储器系统102通信。存储器系统102包括前端302和与闪速存储器116耦接的后端306。在一个实施例中,前端302和后端306可以被称为存储器控制器并且可以是装置控制器118的一部分。前端302可以逻辑地包括主机接口模块(HIM)122和HIM控制器304。后端306可以逻辑地包括闪速接口模块(FIM)128和FIM控制器308。相应地,控制器301可以逻辑地被分为两个模块,HIM控制器304和FIM控制器308。HIM122提供用于主机装置100的接口功能,并且FIM128提供用于闪速存储器116的接口功能。控制器301可以与温度传感器310耦接。如图8-9中所示,温度传感器310可以是主机系统100的一部分或者存储器系统102的一部分。温度传感器可以位于控制器301中或者是单机的。在任意实施例中,温度感测的准确度在其越靠近闪速存储器116时可以被改善。温度传感器310与控制器301通信测量的/监控的温度。FIM控制器308可以包括实现如下关于图7-10所述的学习阶段和实现阶段的算法。在操作中,在存储器系统102上由HIM控制器304在主机装置100的写入操作期间从HIM122接收数据。HIM控制器304可以将对接收的数据的控制传递到FIM控制器308,这可以包括上述FTL。FIM控制器308可以确定如何将接收的数据最优地写入到闪速存储器116上。接收的数据可以由FIM控制器308提供到FIM128以用于基于由FIM控制器308作出的决定将数据写入到闪速存储器116上。特别地,取决于数据的归类,其可以被不同地写入(例如到MLC或保留在更新块中)。图4概念性地示出了作为单元阵列的闪速存储器116(图1)的组织。闪速存储器116可以包括多个存储器单元阵列,该多个存储器单元阵列的每一个由单个或多个存储器控制器118单独地控制。存储器单元的四个平面或子阵列402、404、406和408可以在单个集成的存储器单元芯片上、在两个芯片上(每个芯片上的平面的两个)或者在四个单独的芯片上。特定布置对于下面的讨论来说不重要。当然,其它数量的平面——诸如1、2、8、16或更多可能存在于系统中。平面被独立地分为形成擦除的最小单元的存储器单元的组,在下文中被称为块。存储器的块单元在图4中由长方形示出——诸如块410、412、414和416,位于各个平面402、404、406和408中。在每个平面中可以有任何数量的块。存储器单元的块是擦除的单位,并且是可以一起物理地擦除的最小数量的存储器单元。但是为了增加的并行性,所述块可以以更大的元块单元操作。来自每个平面的一个块逻辑地链接在一起以形成元块。四个块410、412、414和416被示出为形成一个元块418。在元块中的所有的单元通常被一起擦除。被用于形成元块的块不需要被限制到在其各自平面中相同的相对位置,如由块422、424、426和428构成的第二元块420所示。尽管通常优选的是将元块延伸穿过所有的平面,但是对于高系统性能,存储器系统可以以由在不同的平面中的一个、两个或三个块中的任何或者所有动态地形成元块的能力操作。这允许元块的尺寸可以更加紧密地匹配可用在一个编程操作中贮存的数据的量。如图5中所示,单个的块相反为了操作性目的被划分为存储器单元的页。块410、412、414和416的每一个的存储器单元,例如每一个被分为八页P0-P7。可替换地,在每个块中可以有16、32或者更多的存储器单元的页。页是在块中数据编程和读取的单位,包含一次编程或读取的最小数量的数据。但是,为了增加存储器系统的操作性并行性,在两个或多个块中的这样的页可以逻辑地链接为元页。元页502在图4中示出,由来自四个块410、412、414和416的每一个的一个物理页形成。元页502,例如,包括在四个块的每一个中的页P2,但是元页的页不一定需要具有在每个块中的相同的相对位置。元页可以是编程的最大单位。存储器单元可以被操作为贮存两个水平的电荷,使得单个位的数据被贮存在每个单元中。这通常被称为二进制或单级单元(SLC)存储器。SLC存储器可以贮存两个状态:0或1。可替换地,存储器单元可以被操作为在每个电荷贮存器元件或区域中贮存多于两个可检测水平的电荷,从而在每个中贮存多于一位的数据。该后者配置被称为多级单元(MLC)存储器。例如,MLC存储器可以贮存四个状态并且可以保留两位的数据:00或01以及10或11。两种类型的存储器单元可以用在存储器中,例如二进制SLC闪速存储器可以被用于缓存数据并且MLC存储器可以被用于长期贮存。存储器单元的电荷贮存器元件最通常地是导电浮置栅极,但是可以可替换地是非导电电介质电荷捕获材料。如下所述,SLC和MLC可以具有不同的耐受性要求,因此取决于那些耐受性要求,减少损耗和减少写入放大(\WA\)的维持操作的调度可能更加重要。在被操作为在每个存储器单元中贮存两位的数据的MLC存储器的实现方式中,每个存储器单元被配置为贮存对应于“11”、“01”、“00”和“10”的值的四个水平的电荷。数据的两位的每一位可以表示下部的页的页位或上部的页(upperpage)的页位,其中下部的页(lowerpage)和上部的页跨过共享共同字线的一系列存储器单元。通常,数据的两位的低有效位表示下部的页的页位并且数据的两位的高有效位表示上部的页的页位。图6示出了被用于表示在存储器单元中的数据的两位的四个电荷水平的一个实现方式。图6被标记为LM模式,其可以被称为在中部的模式处的下部并且将关于在中部的或下部的-中部的中间状态处的下部进一步描述。LM中间状态也可以被称为下部的页编程的阶段。“11”的值对应于存储器单元的未编程的状态。当编程脉冲被施加到存储器单元以编程下部的页的页位时,电荷的水平被升高以表示对应于下部的页的页位的编程的状态的“10”的值。下部的页可以被认为是表示在多级单元(MLC)上的位置的逻辑概念。如果MLC是每单元两位,逻辑页可以包括被组合在一起的字线上的单元的所有的最低有效位。换句话说,下部的页是最低有效位。对于上部的页的页位,当编程下部的页的页位时(“10”的值),编程脉冲被施加到用于上部的页的页位的存储器单元以取决于上部的页的页位的期望的值将电荷的水平升高到对应于“00”或“10”的值。但是,如果没有编程下部的页的页位使得存储器单元在未编程的状态中(“11”的值),将编程脉冲施加到存储器单元以编程上部的页的页位升高电荷的水平以表示对应于上部的页的页位的编程的状态的“01”的值。由于在其应用的正常寿命中的主机写入和存储器维持操作两者,存储器系统经历写入/擦除操作。内部存储器维持(即,非主机写入操作或后台操作)可能引入用于MLC和SLC两者的高写入放大因素(\WAF\)。WAF可以是闪速控制器需要相对于主机控制器希望写入的数据的量而写入(由于数据从一个块到另一个块的任何内部复制)的数据的量。换句话说,WAF是非主机写入操作与从主机写入相比的比率。在一个示例中,达半数的MLC写入/擦除操作可以是由于这些内部存储器操作。这对卡的寿命可能有显著的影响。相应地,减少由于系统的内部写入/擦除操作的耐受性影响可能是重要的。在更高的温度处,相比较低的温度,由于诸如编程和擦除的高电压操作在存储器单元中的瑕疵产生被放缓。写入放大可能不一定是较低的,但是产生的瑕疵被减少。在高温度处,如上关于图7所讨论的,电子具有较低概率在瑕疵中被捕获以创建产生更多陷阱的连锁反应。隧道氧化层从而能够在更高的温度处更好地维持其完整性。减少的误差可以最终增加在下面表1中提到的装置的平均耐受性。仅在最佳时间处可以进行存储器维持(其可互换地被称为非主机写入和/或后台操作)。例如,存储器维持取决于温度可能受限制。存储器维持的一个示例包括垃圾收集,需要该垃圾收集以将废弃的数据一起聚集在将被擦除的块中。垃圾收集可以将有效的数据组合在一起并且组合废弃的数据。当块仅包括废弃的数据时,其可以被擦除使得新的数据可以被写入到所述块。垃圾收集被用于通过最小化部分使用的块的数量而最大化块中的贮存。换句话说,垃圾收集可以是来自具有有效的数据和废弃的数据的混合的块的有效的数据的整合和聚集,垃圾收集导致更多的自由的块,因为存在更少的块具有有效的和废弃的数据两者的混合。至少部分基于WAF以及用于特定卡的估测的使用率,可以存在对于SLC和MLC两者的某些耐受性要求。例如,通过在某些时间段(例如三年)之上比较对于32千兆字节(GB)SD卡的多个智能电话的使用率的估测,可以确定超过最大仿真的使用率模式的耐受性要求以防止卡故障。下列示例性表1示出了基于用于产品对于3年的时期运作而没有故障的表1中的示例性仿真的存储器上的耐受性要求。基于表1,对于4GB和8GB容量的SLC耐受性要求相比16GB容量的显著地更高。SLC耐受性要求MLC耐受性要求4GB50k3k8GB30k3k16GB20k3k>=32GB10k3k表1存储器上的耐受性要求表1中示出的耐受性要求仅是示例性的并且可以随时间改变。特别地,示出的耐受性要求仅是用于解释耐受性要求的示例并且那些值对于不同的装置可以不同。随着技术尺寸持续地降低,耐受性也可能降低。基于增加的使用率以及潜在降低的耐受性,如下所述的动态监控和后台操作的更新应该是减少整体损耗、减少故障并且改善存储器的寿命的方法。最终,基于下述的参数(例如温度)的动态调度也可以减少功率消耗、生产成本以及上市时间。图7示出了在存储器单元隧道氧化层中在高温度(\HT\)处的捕获的电荷的脱离。图7示出了在高温度(\HT\)处在存储器单元的电介质中的电荷的脱离过程的能带示意图,该电介质诸如氧化物。如所示,IPD是多晶硅层间电介质,其可以包括氧化硅、氮化硅和氧化硅三层。浮置栅极(“FG”)是贮存电子的导电层。多晶硅可以是NAND单元的控制栅极或字线,并且硅是在其上建造NAND单元的整个阵列的衬底。多晶硅可以是在制造单元期间形成的层,并且硅是现有晶片,在该晶片上制作NAND芯片。由于热电子发射,在隧道氧化层(\TOX\)中捕获的电子可能逃逸并且从而相比否则对于在较低的温度(\LT\)处的情况,在氧化物中创建更少的陷阱(瑕疵)。相应地,图7示出了更高的温度为何可能导致更少的瑕疵。在更高的温度处,电子具有更多的能量以迁移。在更高的温度处的编程减少在NAND的使用期间的误差的概率。如下所述,监控的温度可以然后被用作对确定何时进行存储器维持的触发。例如,低温度可能意味着,存储器维持应被限制。在更高的温度处的写入/擦除操作可能引入更少量的电荷陷在存储器单元中,导致更少的瑕疵。相应地,算法可以基于对于基于温度的特定参数的阈值控制存储器维持以改善存储器耐受性和卡寿命。目标可以是在更高的温度处最大化内部存储器维持。图8是与主机802一起的温度传感器806的一个实施例。主机802和存储器系统804可以是在图1-3的任一个中示出的主机或存储器系统,但是在图8中为了简洁而被示出为不具有额外的组件。图8示出了作为主机802的一部分的温度传感器806。例如,如果主机是容纳存储器卡(例如SD卡)的智能电话,智能电话可以包括用于监控温度的温度传感器。主机802可以然后与存储器系统804通信测量的温度使得存储器系统804可以相应地调度维持。图9是与存储器系统904一起的温度传感器906的一个实施例。主机902和存储器系统904可以是在图1-3的任一个中示出的主机或存储器系统,但是在图9中为了简洁而被示出为不具有额外的组件。图9示出了作为存储器系统904的一部分的温度传感器906。特别地,温度传感器可以是存储器系统的内部组件。在一个实施例中,温度传感器906靠近存储器910以准确地测量存储器温度。温度传感器906越靠近存储器910,该测量将越准确。该测量的温度被通信到控制器908。控制器908可以然后取决于温度调度维持操作。在一个实施例中,可能需要模拟到数字转换器(\ADC\)以用于温度传感器测量和通信温度信息。温度传感器可以被连接到命令控制器,该命令控制器可以与存储器控制器分开或者是存储器控制器的一部分。测量的温度信息然后被用于跟踪和调度存储器维持活动。算法可以试图在更高的温度期间最大化存储器维持活动,但是在较低的温度期间减少存储器维持活动。图10是示出用于控制存储器维持的算法的示意图。在块1002中,维持队列基于用于每个维持操作的优先级维持。如上所讨论的,维持操作可以从MML起始或者运行。维持操作的一个示例是垃圾收集。将被认为是维持操作的额外的MML请求包括:1)二进制缓冲压缩、2)二进制缓冲收回、3)MLC压缩、4)控制块压缩、5)损耗水平和/或6)集群折叠。维持队列可以被动态地重新排序或更新。在块1004中,排序的队列可以被分类为区域并且操作可以基于用于各个区域的触发而调度。可以基于其优先级而将每个维持操作分类(即,分配区域)。一般概念是对于低优先级维持操作仅在闲置时间期间并且在更高的温度处运行。更高的优先级维持操作可能需要不管温度而运行。图11示出了示例性分类和用于每个分类的各个优先级。分类归类也可以被称为区域。特别地,在图11中示出的分类是用于每个维持操作的分类。最高优先级维持操作是前台1102,其是在前台(即,不需要等待闲置时间)中运行的维持操作。这些最高优先级维持操作可以通过节制主机而进行。具有下一最高优先级的第二区域是闲置时间1104。这些维持操作在闲置时间期间运行。具有较低优先级的第三区域是闲置时间和高温度1106两者。较低优先级的维持操作仅将在闲置时间期间并且在更高的温度处运行。换句话说,在闲置时间期间不运行较低优先级维持操作,但是可以等待在闲置时间处的更高的温度。这可以通过在更高的温度处运行更多的维持操作而减少误差。第四区域可以是可选的并且指示可以考虑可替换的参数。温度仅是用于排序维持操作的所考虑的参数的一个示例并且可以存在额外的示例。例如,电源的出现可以是考虑的另一参数。换句话说,最低的优先级维持操作可以仅在更高的温度处的闲置时间期间,并且当有电源连接时运行。其它示例性参数可以包括:1)卡的充满度;2)被称为热计数的块的损耗水平因素;3)时钟的频率;和/或4)VCC电源的水平。分类系统被设计为使得维持操作(其可以被称为事件)应当在适当的分类期间进行。区域1事件不应该去往区域2,并且区域2事件不应该去往区域3。特别地,针对区域的事件应该在该区域中可用的时间期间完成。但是,区域之间的迁移不是硬性限制并且一些事件可能不在它们分配的区域中完成。例如,如果其几天不去往区域1108中,则低优先级事件随时间可能变为更高的优先级并且被推到区域1106或1104或1102。跟踪为每个区域产生的维持活动的量以及在每个区域中找到的空闲时间的量的历史。这些两个元件可以被用于确定区域的边界。这样,我们可以随着时间预测特定事件是否可以在其分配的区域中被处理并且从而在定义区域边界中变得更加准确。参考回图10,在块1006中,操作活动和可用的空闲时间的历史可以被维持并且被用于未来的调度决定。操作活动的历史可以包括在图12中示出的用于优先级决定的因素。图12示出了示例性优先级决定1202因素。自第一请求1204起的时间是当特定请求被加入到队列中时开始的计时器。这表示特定维持操作已经在队列中待了多长时间。请求计数1206是用于一个特定维持操作或事件的请求的数量的计数。自基于优先级处理了MML的请求起,MML可以基于甚至在第一个被处理之前的用户活动发送用于特定操作的更多请求。优先级系数1208是可以基于历史控制优先级的值。不同的垃圾收集事件可以具有不同的优先级改变率。例如,一些事件可以是低优先级一个月而一些事件可以仅是低优先级几分钟。具有更快的改变率的事件更加倾向于使系统变为更加紧急并且从而节制主机在前台中进行垃圾收集。为了保持对这些类型的事件的跟踪,可以有用于每种类型的事件的优先级系数变量。每次事件被强迫在前台中执行时,其优先级可以增加一。这帮助系统相应地平衡所有事件。完成1210所需要的时间可能是为优先级所考虑的进一步的因素。优先级决定1202可以基于图12中示出的因素的任何一个或多个而作出。在一个实施例中,优先级可以通过以下公式计算:优先级=(自第一请求起的时间)*(请求计数)*(优先级系数)。该公式可以在将其加入到维持队列之前用于每个维持操作。队列基于用于队列中的操作的优先级值动态地更新。基于用于队列中的操作的分配的优先级可以进一步被分配到图11中示出的区域/分类,其确定何时调度那些操作。调度进一步在图13中示出。图13示出了维持操作的调度的一个实施例。在块1302中,存储器装置(即,卡)在正常状态中并且温度传感器是激活的。在块1304中,作出关于卡是否闲置或者积极地处理主机命令的决定。如果卡不是闲置的,则如在块1306中可以仅执行区域1维持操作。换句话说,当存储器不是闲置时,仅执行最高优先级维持操作。当如在块1304中卡为闲置时,在块1310中作出关于温度的决定。在一个实施例中,可以存在确定的阈值温度值。如下面进一步讨论的,可以存在多个阈值,该多个阈值具有基于那些阈值的多个优先级值;但是,图13示出了用于单个温度阈值的实施例。当温度低于阈值温度值时,则如在块1312中在区域1-2中执行维持操作。由于温度低,不执行较低优先级维持操作(在区域3+中的那些)。当块1310中温度高于阈值时,在块1314中作出关于电源是否出现的决定。电源的出现是可以被用于调度维持操作的另外的示例性参数。当不出现电源时,则来自区域1-3的事件如在块1316中执行。块1316示出了闲置时间和高温度。在可替换的实施例中,仅存在三个区域并且唯一分析的参数是温度。当块1314中出现电源时,则所有的事件可以在块1318中执行。块1318是闲置时间,具有高温度,并且具有电源。在可替换的实施例中,温度测量可以被用于优先级测量。如上所讨论的,温度被分类为高或低(例如,在阈值以上或以下的二进制状态)。但是,可以存在多个阈值。例如,可能存在低、中和高温度状态(两个阈值温度)的决定。将进行的维持操作可以然后被归类为考虑不同的温度值的额外的区域。例如,可以在图11中存在是闲置的并且中温度的另外的分类或区域。分类试图在更高的温度处进行大多数维持操作并且在较低的温度处限制维持操作。在较低的温度期间可以仅运行更高的优先级维持操作。在可替换的实施例中,可以存在用于分类维持操作并且确定那些操作可以何时被调度的任何数量的温度阈值的值。图11-13中的示例用于单个温度阈值,但其仅是示例性的。“计算机-可读介质”、“机器可读介质”、“传播的-信号”介质和/或“信号-承载介质”可以包括任何装置,该装置包括、贮存、通信、传播或者运输软件以用于由指令可执行的系统、设备或装置使用或者与指令可执行的系统、设备或装置连接。机器-可读介质可以选择性地是,但不限于,电子的、磁的、光学的、电磁的、红外的或半导体系统、设备、装置或传播介质。机器-可读介质的示例的非穷举性列表将包括:具有一个或多个导线的电连接“电子”、便携式磁的或光盘、易失性存储器——诸如随机存取存储器“RAM”、只读存储器“ROM”、可擦除可编程只读存储器(EPROM或闪速存储器)或光纤。机器-可读介质还可以包括在其上印刷软件的有形介质,而软件可以是电子地贮存为图像或者另外的形式(例如,通过光学扫描),然后编译和/或转译或其它处理。处理的介质可以然后贮存在计算机和/或机器存储器中。在可替换的实施例中,专用的硬件实现方式——诸如专用集成电路,可编程逻辑阵列和其它硬件装置——可以被构造以实现这里所述的方法的一个或多个。可以包括各种实施例的设备和系统的应用可以广泛地包括多种电子和计算机系统。这里所述的一个或多个实施例可以使用两个或多个特定互联的硬件模块或具有可以在模块之间或者通过模块通信的有关控制或数据信号的装置实现功能,或者作为专用集成的电路的部分。相应地,本系统包含软件、固件和硬件实现方式。这里所述的实施例的说明意欲提供对各种实施例的结构的一般理解。说明不意欲作为对于使用这里所述的结构或方法的设备和系统的所有元件的完整描述。当浏览本公开之后,对于本领域技术人员来说许多其它实施例可以是显而易见的。其它实施例可以使用本公开或者从本公开中得到,使得可以不脱离本公开的范围而作出结构的以及逻辑的替换和改变。此外,说明仅是代表性的并且可能未按比例绘制。在该说明中的某些比例可能被放大,而其它比例可能被缩小。相应地,本公开和附图被认为是示意性的而不是限制性的。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1