通过存储装置管理内部操作的制作方法

文档序号:6332333阅读:124来源:国知局
专利名称:通过存储装置管理内部操作的制作方法
技术领域
本发明大体上涉及存储装置,且更明确地说,涉及一种允许通过存储装置自主管 理内部操作的方法且涉及一种使用所述方法的存储装置。
背景技术
本文中“整体命令序列(INSQ) ”是指从例如MP3播放器、数码相机或计算机系统 (例如,膝上型计算机)等主机装置发送到存储装置的再现命令序列,所述序列或存储装置 与某些应用相关联,例如与音乐播放、视频记录、图像俘获等应用相关联,所述应用具有与 其相关联的特征、元数据或属性,例如包大小、时间戳、音频或视频重放持续时间、数据读取 或数据写入速率、地址存取或地址连续性等。主机装置有时将INSQ发送到与其一起工作的 存储装置,而不管所述存储装置当前执行哪一内部操作或所述存储装置中哪一内部操作在 进行中。这可能不利地影响存储装置的性能和整个存储装置-主机系统的性能。当执行INSQ时(即,当INSQ为“活动”、“开”或“在进行中”时)将避免存储装置 的一些操作的执行,而存储装置的一些其它操作在INSQ的执行期间可能是有益或强制性 的,如下文所阐释。并非INSQ的命令序列在本文中称为“散发命令序列”。也就是说,“散发 命令序列”是指存储装置不认为是被存储装置“知晓”的命令序列的一部分的序列,其与通 过定义被存储装置知晓的INSQ不同。计算机系统中的存储装置可视为呈现为一存储装置,且因此,即使所述存储装置 执行后台任务并执行内部操作(例如,存储装置的正常操作所要求的“内务处理”操作),所 述存储装置也预期提供良好的服务质量(“QoS”)。依据计算机系统给定的服务的情境(例如,重放音频文件、俘获图像、复制数据文 件等)而定,可由存储装置作为“后台”操作而执行的操作可属于第一组内部操作,其在下 文中称为额外序列(“ESQ”)操作群组;或属于第二组内部操作,其在下文中称为内部序列 (“ISQ”)操作群组。本文中“ESQ操作”是指如果INSQ在进行中则应避免的存储操作(例如,静态耗损 均衡),因为ESQ操作将不利地影响或将干扰或将以另外的方式降级存储装置的性能。举例 来说,在从存储装置重放音乐文件时不执行静态耗损均衡操作将是有益的。本文中“ISQ操作”是指在INSQ的执行期间允许或准许执行的存储或存储相关操 作,因为其对存储装置的总体操作具有积极影响,或至少其不会干扰或以另外的方式消极地影响INSQ的执行。在一些情况下,此类ISQ操作如果执行的话将显著改进存储装置本身 的内部效率或作为整体的所涉及的存储系统的效率。为下一命令或为预期命令(例如,高 速缓存下一数据)作准备而进行的操作是示范性ISQ操作。有时,甚至需要ISQ操作,因为 就服务质量(“QoS”)和存储装置总体效率来说,其具有积极影响。就存储装置来说,ESQ操作可包含例如将高速缓存的数据存档、静态耗损均衡、快 闪折叠(flash folding)(在快闪存储器装置的领域中也称为“垃圾收集”)、加强等操作, 其是数字数据存储管理的领域中已知的操作。ISQ操作可包含快闪管理操作;加密/解密 传出/传入数据;压缩/解压传出/传入数据;反病毒操作;磁盘碎片整理操作;加强;备份 数据;改变数据格式等,其是数字数据存储管理的领域中已知的操作。因此,值得注意的是, 给定操作是ISQ还是ESQ可取决于在进行中的操作(例如,INSQ)。所述操作在一个INSQ 正发生时可能是ISQ,且在另一 INSQ正发生时可能是ESQ。为了改进存储装置的性能(例如,在性能、电源故障抗扰性、稳定的位速率等方 面),ESQ操作的执行必须以在INSQ在进行中时不执行ESQ操作的方式与INSQ的执行协 调。原因是,在INSQ在进行中时执行ESQ操作可能对存储装置的性能有不利影响,这可能 (例如)导致高等待时间、数据损失或数据恶化。ESQ操作传统上由主机装置启始,因为以 下假设只有主机装置可识别INSQ何时终止,且因此ESQ操作可安全地开始。在一种现有技术解决方案中,ESQ操作(例如)只有在装置的主机通知存储装置 当前INSQ将终止或已终止且当前或接下来几秒内没有新的INSQ被调度之后才允许由存储 装置开始。换句话说,尽管传统的存储装置能够启始ESQ操作,但其将需要来自其主机装置 的其可以这样做的确认。此约束要求存储装置的设计者与主机装置设计者协作以允许存储 装置的设计者以ESQ操作不会与活动的主机装置的INSQ冲突的方式来调度ESQ操作。在另一现有技术解决方案中,ESQ操作允许由存储装置自主启始,但其不与主机装 置同步,即ESQ操作有时由存储装置以错误的定时(即,在INSQ在进行中且因此不应受ESQ 干扰时)执行。因此,存储装置能够实现以下目的将是有益的在所涉及的存储系统所提供的服 务的变化的情境下自主地识别存储后台操作是否以及何时可如存储装置原始计划或调度 的那样执行,以及是否、何时以及哪些操作应被防止、挂起或延迟直到当前执行的INSQ终 止为止,以及是否、何时以及哪些操作在INSQ执行期间可以或应该执行。

发明内容
结合系统、工具和方法描述和说明以下实施例及其各方面,所述系统、工具和方法 的范围希望为示范性和说明性的而不是限定性的。根据本发明,一种存储装置在没有主机装置干预的情况下自主地检测是否以及何 时INSQ处于某一状态(即,处于“活动”状态还是“不活动”状态)或正将其状态从“活动” 改变为“不活动”还是从“不活动”改变为“活动”。依据INSQ的当前状态或依据其转变而 定,存储装置避免、挂起或抑制执行ESQ操作或ISQ操作,或者允许或准许这些操作。提供一种由存储装置处理所述存储装置的内部操作的方法,所述方法包含a)定 义命令的一个或一个以上INSQ,所述一个或一个以上整体命令序列的每一者能够处于“活 动”状态和“不活动”状态;b)将第一组内部操作(“ESQ”)和第二组内部操作(“ISQ”)与所述一个或一个以上整体命令序列的每一者相关联,所述第一组内部操作是将在所述相应 整体命令序列处于所述“活动”状态时不执行的操作,且所述第二组内部操作是在所述相应 整体命令序列处于所述“活动”状态时准许执行的操作;C)从主机装置接收命令;d)基于从 所述接收的命令(以及可能从先前接收的命令)得出的信息,确定所述一个或一个以上整 体命令序列中的一者是否处于所述“活动,,状态或正从所述“不活动,,状态转变到所述“活 动”状态;以及e)如果所述一个或一个以上整体命令序列中的所述一者处于所述“活动”状 态或正从所述“不活动”状态转变到所述“活动”状态,那么存储装置抑制执行与所述相应 整体命令序列相关联的所述第一组内部操作的任何操作。如果所述一个或一个以上整体命令序列中的所述一者处于所述“活动,,状态或正 从所述“不活动”状态转变到所述“活动”状态,那么存储装置可准许执行与所述相应整体命 令序列相关联的所述第二组内部操作的任何操作。然而,如果所述一个或一个以上整体命 令序列中的所述一者处于所述“不活动”状态或正从所述“活动”状态转变到所述“不活动” 状态,那么存储装置准许执行所述第一组内部操作的操作并抑制执行与所述相应整体命令 序列相关联的所述第二组内部操作的任何操作。存储装置可通过确定从自主机装置接收的命令(一或多个)得出的所述信息分别 满足预定义的序列开始(“B0S”)条件还是序列结束(“EOS”)条件来确定所述一个或一 个以上整体命令序列中的所述一者从所述“不活动”状态转变到所述“活动”状态还是从所 述“活动”状态转变到所述“不活动”状态。存储装置通过将动态参数的值或累加值与预定 义的静态参数进行比较来确定从自主机装置接收的命令得出的所述信息满足预定义的BOS 条件还是EOS条件。所述一个或一个以上整体命令序列中的至少一者可与重放多媒体内容相关联,或 与俘获多媒体内容或图像相关联,或与数据同步相关联,或与启动命令相关联。所述第一组或所述第二组内部操作的操作可以是快闪管理操作;用于对传出/传 入数据进行加密/解密的加密/解密操作;用于对传出/传入数据进行压缩/解压的压缩/ 解压操作;反病毒操作;加强操作;磁盘碎片整理操作;用于备份数据的备份操作;以及涉 及改变数据格式的操作。快闪管理操作可以是垃圾收集操作;错误校正操作;用于将数据 高速缓存到存储装置的快速快闪存储区域中的高速缓存数据操作;用于清洗高速缓存的数 据的清洗操作;低功率模式操作;以及静态耗损均衡操作。还提供一种存储装置,其可以是快闪存储器装置。所述存储装置可包含通信接 口,其用于从主机装置接收存储命令;以及大容量存储区域,其用于保存(i) 一个或一个以 上预定义的整体序列,所述一个或一个以上整体命令序列的每一者能够处于“活动”状态和 “不活动”状态,以及( )将第一组内部操作(“ESQ”)和第二组内部操作(“ISQ”)与所 述一个或一个以上整体命令序列中的每一者相关联,所述第一组内部操作是将在所述相应 整体命令序列处于所述“活动”状态时不执行的操作,且所述第二组内部操作是在所述相应 整体命令序列处于所述“活动”状态时准许执行的操作。所述存储装置还包含控制器,其适于或经配置以(i)经由所述通信接口从所述主 机装置接收命令,以及(ii)基于从所述接收的命令(以及可能从先前接收的命令)得出的 信息,确定所述一个或一个以上整体命令序列中的一者是否处于所述“活动”状态或正从所 述“不活动”状态转变到所述“活动”状态,或者所述一个或一个以上整体命令序列中的所述一者是否处于所述“不活动”状态或正从所述“活动”状态转变到所述“不活动”状态。响应于所述一个或一个以上整体命令序列中的所述一者处于所述“活动”状态或 正从所述“不活动”状态转变到所述“活动”状态,所述控制器抑制执行所述相应第一组内部 操作的任何操作。除了所述控制器抑制执行所述相应第一组内部操作的任何操作外,所述 控制器还可准许执行与所述相应整体命令序列相关联的所述第二组内部操作的任何操作。 如果所述一个或一个以上整体序列中的所述一者处于所述“不活动”状态或其正从所述“活 动”状态转变到所述“不活动”状态,所述控制器准许执行所述相应第一组内部操作的任何 操作。所述控制器可通过估定或确定从自所述主机装置接收的命令(一或多个)得出的 所述信息分别满足预定义的BOS条件还是EOS条件来确定所述一个或一个以上整体序列中 的任一者从所述“不活动”状态转变到所述“活动”状态以及从所述“活动”状态转变到所述 “不活动”状态。除了上文描述的示范性方面和实施例外,通过参看图式并通过学习以下详细描述 将了解另外的方面和实施例。


参考图式中说明示范性实施例。希望本文揭示的实施例为说明性的而不是限制性 的。然而,通过结合附图阅读而参考以下详细描述可更好地理解揭示内容,附图中图1展示根据本发明的实例性实施例可由存储装置使用以确定INSQ的状态的状 态机; 图2展示根据本发明当INSQ从“ INSQ不在进行中”状态转变到“ INSQ在进行中” 状态时存储装置采取的步骤;图3展示根据本发明当INSQ从“ INSQ在进行中”状态转变到“ INSQ不在进行中” 状态时存储装置采取的步骤;图4展示根据本发明的实例性实施例用于保存静态信息的INSQ表;图5展示根据本发明的实例性实施例用于保存动态信息的INSQ表;图6展示根据本发明的实例性实施例可由存储装置使用以将INSQ的状态从“关” 改变为“开”的方法;图7展示根据本发明的实例性实施例可由存储装置使用以将INSQ的状态从“开” 改变为“关”的方法;图8是根据本发明的实例性实施例的存储装置的框图;图9展示根据本发明的实例性实施例由存储装置的控制器使用的数据库;以及图10展示根据本发明的实例性实施例可由存储装置使用的方法。将了解,为了说明的简单性和清楚性,图式中展示的元件不一定按比例绘制。此 外,在认为适当之处,图中参考标号可重复以指示相同、相应或类似的元件。
具体实施例方式通过参考本发明实例性实施例的本实施方式来更好地理解所附权利要求书。本实 施方式无意限制权利要求书的范围,而是提供本发明的实例。
“序列开头”(BOS)在本文表示存储装置推断或决定INSQ正开始或出现,或INSQ已 经开始或已经出现。在无存储装置与之操作的主机装置干预推断或决定过程,或以任何方 式影响所述过程的情况下,存储装置基于预定义的条件而作出推断或作出决定。存储装置 鉴于一组预定义的参数和阈值(即,条件)来评估主机装置所发布的命令,所述参数和阈值 (如果INSQ不在进行中)可共同向存储装置指示INSQ的开始。“序列末尾”(EOS)在本文表示存储装置推断或决定INSQ正终止或已经终止。在 无存储装置与之操作的主机装置干预推断或决定过程,或以任何方式影响所述过程的情况 下,存储装置基于预定义的条件而作出推断或作出决定。存储装置鉴于一组预定义的参数 和阈值(即,条件)来评估主机装置所发布的命令,所述参数和阈值(如果INSQ在进行中) 可共同向存储装置指示INSQ的终止。图1是根据本发明的存储装置可使用的简化状态机。根据本发明,一组INSQ是预 定义的且存储在INSQ表中,其中INSQ表中的每一条目包含INSQ和与所述INSQ相关联的 参数。关于所述状态机,INSQ表中的每一 INSQ能够处于“活动”状态(展示为“整体序列 在进行中” 16),或处于“不活动”状态(展示为“整体序列不在进行中” 1幻。INSQ表中的一 个或一个以上INSQ可同时为活动,而其它INSQ为不活动。关于图2和图3,对于不同INSQ 可同时发生多个例子。给定INSQ表中的INSQ,如果INSQ当前处于“整体序列不在进行中” 12状态,且存 储装置识别序列开头(BOS)(如上文所阐释)指示INSQ现正处于活动状态,或INSQ正从不 活动状态转变到活动状态,那么存储装置自动将INSQ的状态从“整体序列不在进行中” 12 切换(14)到“整体序列在进行中” 16。如果INSQ当前处于“整体序列在进行中” 16状态, 且存储装置识别序列末尾¢0 (如上文所阐释)指示INSQ现正处于不活动状态,或INSQ 正从活动状态转变到不活动状态,那么存储装置自动将整体序列的状态从“整体序列在进 行中” 16切换(10)到“整体序列不在进行中” 12。图2展示根据本发明的当INSQ的状态从“INSQ不在进行中”状态变成“INSQ在进 行中”状态时存储装置所采取的步骤。在可同时执行一个以上任务的存储系统(例如,常被 称为“多任务”或“多线程”系统的存储系统)中,一个以上INSQ可在进行中,且INSQ表中 的每一 INSQ可经历用于评估所述INSQ是在进行中还是不在进行中的相同或类似的评估过程。以下描述内容涉及INSQ表中的示范性INSQ(下文称为“INSQ 1”),但同一过程与 可保存在INSQ表中的任何INSQ有关。如果“INSQ 1”变为活动,那么存储装置(在步骤20 处)使与“INSQ 1”有关的状态机的状态从“INSQ 1不在进行中”变成“INSQl在进行中”。 如果针对“INSQ 1”出现B0S,那么存储装置确定所述INSQ变为活动,且如果满足预定义的 标准,那么确定BOS出现。如上文所阐释,存储装置所执行的后台操作可被认为是ISQ操作或ESQ操作,且当 INSQ在进行中时,应避免或停止ESQ操作。因此,在步骤22处,存储装置挂起与活动“ INSQ 1”有关的ESQ操作,在步骤M处,存储装置恢复关于活动“INSQ 1”的ISQ操作,且在步骤 沈处,存储装置期待或等待,直到“INSQ 1”变为不活动为止。如果针对“INSQ Γ’出现E0S, 那么存储装置确定所述INSQ变为不活动,且如果满足预定义的标准,那么确定EOS出现。下 文所述的图4和图5中展示用于确定INSQ何时或是否改变或已经改变其状态的INSQ表和标准。图3展示根据本发明的当INSQ的状态从“INSQ在进行中”状态变成“INSQ不在进 行中”状态时存储装置所采取的步骤。以下描述内容也涉及上文结合图2所提及的示范性 "INSQ 1”,但同一评估过程与可保存在INSQ表中的任何INSQ有关。如果“INSQ1”变为不 活动,那么EOS出现,存储装置通过(在步骤30中)使与“INSQ 1”相关联的状态机的状态 从“INSQ 1在进行中”变成“INSQ 1不在进行中”来对此作出响应。如上文所阐释,只有在 有关INSQ不在进行中时,存储装置才允许ESQ操作。因此,在步骤32处,存储装置挂起与 不活动的“INSQ 1”有关的ISQ操作,且在步骤34处,存储装置恢复ESQ操作。在步骤36 处,存储装置期待或等待,直到可确定BOS为止。INSQ表保存确定标准,其可包含两种类型的参数(存储装置通过所述参数来评 估INSQ的状态)静态参数,其值在运行时间期间不改变;以及动态参数,其值在运行时间 (即,“在运行中”)期间由存储装置响应于存储装置从主机装置接收到或已经从主机装置 接收到的一个或一个以上命令(例如响应于正从主机装置接收到最后一个命令,且可能还 响应于存储装置先前从主机装置接收到的一个或一个以上命令)而动态地更新。“静态参 数”实际上是存储装置用来确定INSQ是“开”还是“关”或是否已经在这两个状态之间变化 的标准(例如,阈值)。“动态参数”实际上是与INSQ有关的变量在给定时间点时(例如, 在存储装置接收到给定命令时)的值,存储装置对照静态参数检查所述INSQ,以确定所述 静态参数所表示的标准是否已经被满足。举例来说,如果主机装置为MP3播放器,那么其发 送给存储装置的命令组可能与播放音乐文件相关联。主机装置发送给存储装置的命令组可 包含一个或一个以上命令。图4中展示示范性INSQ或有关的静态参数,且图5中展示与图 4的INSQ有关的示范性动态参数,下文描述所述两个图式。图4展示根据本发明实例性实施例的INSQ表40。含有INSQ的静态参数的INSQ 表40包含四个示范性条目,编号为1到4,所述示范性条目中的每一者容纳一个INSQ和与 INSQ有关的参数和阈值,如下文所述。存储装置基于INSQ表40中所保存的信息来识别并 更新INSQ的状态(即,从“INSQ在进行中”状态到“INSQ不在进行中”状态,且反之亦然)。INSQ表40包含用于保存以下示范性静态参数的五个示范性字段(1) "INSQ的识别符”(41处所示)。此字段可容纳每个INSQ的类型或已经指配 给所述INSQ的名称。(2) "INSQ的BOS参数”(42处所示)。此字段指定一个或一个以上参数,所述参 数已经被选择为使得存储装置可计算或估计所述参数的值或状态,且计算或估计出的值或 状态可指示有关的INSQ已经在进行中(S卩,已经是活动的),或有关的INSQ正从不活动状 态转变到活动状态。值是从存储装置从主机装置接收到的一个或一个以上命令得出的所述 一个或一个以上参数允许存储装置决定或确定BOS指示是否已经出现或正出现。“读取性 能”、“到达时间”(TOA)和命令操作数(例如,主机装置所存取的逻辑地址)是存储装置可 从自主机装置接收到的命令收集或计算的示范性信息。当一个或一个以上估计出或计算出的参数满足或超过预定义的值或满足预定义 的条件时,认为序列开头(BOS)已经出现,如下文结合“INSQ的BOS阈值”字段更详细地阐释。(3) “ INSQ的BOS阈值”03处展示)。此字段容纳存储装置应用于INSQ的BOS参数字段42中所指定的一个或一个以上参数的一个逻辑条件或一组逻辑条件。如果与特定 INSQ相关联的所述逻辑条件或所述组逻辑条件被满足,那么存储装置确定针对所述INSQ 已经出现整体序列B0S,其后,存储装置使所述INSQ的状态变成“ INSQ在进行中”。逻辑条 件可关于BOS参数的最小值,关于BOS参数的最大值,关于BOS参数的最小值与最大值之间 的任何值,或关于被计数的事件的数目等等。(4) "INSQ的EOS参数”(44处所示)。此字段指定一个或一个以上参数,所述参 数已经被选择为使得存储装置可计算或估计所述参数的值或状态,且计算或估计出的值或 状态可向存储装置指示有关的INSQ即将终止,或有关的INSQ刚刚终止,值是从存储装置从 主机装置接收到的一个或一个以上命令得出的所述一个或一个以上参数允许存储装置决 定或确定EOS是否已经出现或正出现。“读取性能”、“到达时间”(TOA)和命令操作数(例如,主机装置所存取的逻辑地 址)是存储装置可从在存储装置处从主机装置接收到的命令收集或计算的示范性信息。当一个或一个以上估计出或计算出的参数满足或超过预定义的值或满足预定义 的条件时,认为序列末尾(EOS)出现,如下文结合“INSQ的EOS阈值”字段更详细地阐释。(5) “ INSQ的EOS阈值”(45处所示)。此字段容纳存储装置应用于INSQ的EOS参 数字段44中所指定的一个或一个以上参数的一个逻辑条件或一组逻辑条件。如果与特定 INSQ相关联的所述逻辑条件或所述组逻辑条件被满足,那么存储装置确定针对所述INSQ 已经出现整体序列E0S,其后,存储装置使所述INSQ的状态变成“INSQ不在进行中”。逻辑 条件可关于EOS参数的最小值,关于EOS参数的最大值,关于EOS参数的最小值与最大值之 间的任何值,或关于被计数的事件的数目等等。举例来说,INSQ表40保存下文所述的“实例1”到“实例4”中所涉及的四个示范 性整体序列(INSQ)。实例1-主机装置为MP3播放器第一条目含有被称为“播放MP3,,的示范性INSQ,其关于MP3操作(即,假定主机 装置为MP3音乐播放器)。MP3音乐播放器从存储装置读取媒体内容(其根据MP3数据格式压缩),并利用解 压缩构件(不管是软件应用程序还是硬件模块)来(即,通过解压缩)将经压缩的媒体内 容转换成其可使用(即,重放)的原始数据格式。MP3播放器将原始数据(即,经解压缩的 媒体内容)发送到扬声器(即,MP3播放器“重放”所述媒体内容)。因为MP3数据格式要 求MP3文件以MP3标准所指定的速率(其目前为16千字节每秒(KB/sec))重放,所以MP3 播放器以同一数据速率从存储装置请求数据。在此实例中,INSQ的BOS参数为“与MP3标准(16KB/s)匹配的常规平均读取速 率” (410处所示),其表示存储装置监视其从MP3播放器接收到的数据读取请求,并计算MP3 播放器读取数据的平均速率,看所述数据读取请求是否以指定速率(即,16KB/S)被接收。 在正常数据重放操作下,存储装置期望所述速率为16KB/S,且只要没有数据是以所述速率 被读取,存储装置就“知道”播放MP3 INSQ尚未开始。如上文所阐释,当MP3播放器正在重 放媒体内容时,在存储装置中执行某些内部操作是不可行的。举例来说,如果在重放期间进 行,那么执行耗损均衡将使被重放的音频的质量严重降级。在上文所提及的实例中,“与MP3标准(16KB/S)匹配的常规平均读取速率”参数的INSQ的BOS决定阈值可以是(例如)“至少2秒的常规数据读取” G15处所示)。这 表示如果在存储装置处以上文所提及的速率(即,16KB/S)接收到数据请求,且如果所述 速率维持至少2秒,那么存储装置假定BOS正出现或已经出现;即,这向存储装置指示“播 放MP3”INSQ正开始或已经开始,或“播放MP3”INSQ在进行中。在这种情况下(即,“播放 MP3” INSQ在进行中),存储装置可执行ISQ操作,但避免执行针对所述“播放MP3” INSQ预 定义的ESQ操作。在上文所提及的实例中,INSQ的EOS参数为“与MP3标准(16KB/s)不匹配的平均 读取速率”(420处所示),其表示存储装置可计算从MP3播放器接收数据读取请求的平均速 率,看所述平均速率是否为指定速率(即,16KB/S)。在正常数据重放操作下,存储装置期望 所述速率为16KB/S,且只要数据请求继续在存储装置处以所述速率被接收,存储装置就“知 道” “播放MP3” INSQ仍在进行中。在上文所提及的实例中,“与MP3标准(16KB/S)不匹配的平均读取速率”参数的 INSQ的EOS决定阈值可以是(例如)“至少1秒不流动” 025处所示)。这表示是否停止 在存储装置处以上文所提及的速率(即,16KB/S)接收数据请求持续至少一秒,这向存储装 置指示“播放MP3”INSQ正终止或已经终止,或“播放MP3”INSQ不再在进行中。在暂停播放 MP3歌曲或数据期间,或在整个MP3文件已经重放之后,平均读取速率将与MP3标准偏离。 在这种情况下(即,“播放MP3”INSQ不在进行中),存储装置允许执行针对“播放MP3”INSQ 预定义的ESQ操作,或恢复其执行。实例2-主机装置为数码相机第二条目含有被称为“俘获连拍图像”的示范性INSQ,其关于数码相机操作(即, 假定主机装置为数码相机)。为了示范起见,假定数码相机每秒俘获四个图像(即,每250 毫秒一个图像),对每一图像进行压缩,并立即一个接一个地将经压缩的图像发送到存储装 置以供存储。假定经压缩图像的平均大小为2兆字节(MB),相机以8MB每秒(MB/sec)的 速率将图像数据写入存储装置中。为了评估“俘获连拍图像”INSQ的状态,存储装置监视其 从数码相机接收到的数据写入请求,并计算数码相机将图像的经压缩数据写入所述存储装 置的存储空间的平均速率,以便决定数据是否以8MB/sec的期望平均速率写入。如果数据 是以8MB/sec的期望平均速率或以更高速率写入,那么这表示“俘获连拍图像”INSQ已经开 始,或“俘获连拍图像” INSQ在进行中。因此,在此实例中,INSQ的BOS参数是“超过8MB/ s的突发写入频率”。如果“俘获连拍图像” INSQ在进行中,那么存储装置可执行ISQ操作, 但避免执行针对“俘获连拍图像” INSQ预定义的ESQ操作。数码相机以数据突发的形式将图像传送到其与之合作的存储装置,其中每一数据 突代表一个图像。在此实例中,将使“俘获连拍图像” INSQ的BOS阈值保存为以每两个连 续数据突发之间一毫秒的最大延迟一个接一个到达的最少三个数据写入突发。如果在存储 装置处以1毫秒的最大延迟接收到三个循序数据突发(以8MB/sec的速率接收每个数据突 发),那么存储装置假定“俘获连拍图像” INSQ在进行中。因此,INSQ的BOS阈值为“至少 隔开1毫秒的3个突发”。如果“俘获连拍图像” INSQ的状态为“INSQ在进行中”,那么存储装置等待EOS指 示,因为(如上文所阐释)只有在INSQ(其在此实例中为“俘获连拍图像”INSQ)终止之后, 才允许执行ESQ操作。为了识别EOS是否出现或是否已经出现,存储装置使用INSQ的EOS阈值“突发之间超过3毫秒的延迟”。为了识别“俘获连拍图像”INSQ的E0S,存储装置监视 从数码相机接收到的数据写入请求,并检查所述数据写入请求是否以不同于8MB/sec的平 均写入速率被提供,或两个连续数据突发之间是否存在超过三毫秒(其为此实例中的INSQ 的EOS阈值)的延迟。如果存在在此期间没有数据写入请求在存储装置处以期望速率(即, 8MB/sec)被接收到的超过3毫秒的延迟,那么存储装置假定“俘获连拍图像” INSQ不再在 进行中(即,INSQ已经终止),其表示存储装置可允许执行针对“俘获连拍图像” INSQ预定 义的ESQ操作,且恢复被挂起的ESQ操作。实例3-主机装置为计算机系统第三条目含有被称为“更新启动图像”的示范性INSQ,其关于计算机系统中的启动 操作。为了示范起见,假定计算机系统更新存储在从扇区#0(零)开始的循序逻辑扇区中 的数据文件。如果扇区的大小为512个字节,且数据文件大小为10千字节(KB),那么所述 数据文件存储在由十二个逻辑扇区(即,逻辑扇区#0到#19,扇区#0和#19包含在内)组 成的扇区区域中。计算机系统通过更新扇区#0,接着扇区#1,依此类推,直到最后一个扇区 (即,扇区#19)被更新为止,来循序地更新所述数据文件。为了评估“更新启动图像”INSQ的状态,存储装置监视其从计算机系统接收到的数 据写入请求。如果存储对将数据写入扇区#0中的写入请求,那么存储装置推断“更新启动 图像” INSQ在进行中,因为INSQ的BOS参数为(在此实例中)“写入扇区#0”,且INSQ的 BOS阈值为“事件的发生”,其表示所述数据正被或即将被写入扇区#0中。如果“更新启动 图像” INSQ在进行中,那么存储装置可执行ISQ操作,但避免针对“更新启动图像” INSQ预 定义的ESQ操作。当数据文件的最后一个逻辑扇区(在此实例中为扇区#19)被更新时,存储装置推 断“更新启动图像” INSQ不再在进行中,因为EOS参数为“写入启动图像的最后一个扇区”, 且INSQ的EOS阈值为“事件的发生”。即,写入最后一个扇区一次对存储装置来说足以确定 EOS已经出现。如果“更新启动图像” INSQ不再在进行中,那么存储装置可允许执行ESQ操 作,且恢复被挂起的EXQ操作。实例4-主机装置是计算机系统第四条目含有被称为“读取启动图像”的示范性INSQ,其关于计算机系统的启动操 作。为了示范起见,假定计算机系统读取存储在从扇区#0开始的循序逻辑扇区(如上文结 合实例3所述)中的数据文件。为了识别“读取启动图像” INSQ的状态,或其变化,存储装置监视其从计算机系统 接收到的数据读取请求。如果存在对从扇区#0读取数据的读取请求,那么存储装置推断 “读取启动图像” INSQ在进行中,因为BOS参数为“从扇区#0读取”,且BOS阈值为“事件的 发生”,其表示从扇区#0读取数据在进行中。在这种情况下(即,“读取启动图像” INSQ在 进行中),存储装置可执行ISQ操作,但避免针对“读取启动图像” INSQ预定义的ESQ操作。当数据文件的最后一个逻辑扇区(在此实例中为逻辑扇区#19)最后被读取时, 存储装置推断“读取启动图像” INSQ不再在进行中,因为EOS参数为“读取启动图像的最后 一个扇区”,且EOS阈值为“事件的发生”。即,读取最后一个扇区对存储装置来说足以推断 “读取启动图像” INSQ不再在进行中。在这种情况下(即,“读取启动图像” INSQ不再在进 行中),存储装置可允许执行ESQ操作,且恢复被挂起的EXQ操作。
远程装置或计算机系统可(例如)通过使用专用应用程序编程接口( “API”)向 存储装置提供含有静态参数的INSQ表40 (且,如果需要的话,更新所述INSQ表40)。专用 API可(例如)用于更新或删除现存表条目,或添加新的表条目等等。简要地说,“API”是 可由操作系统、库或服务提供以支持计算机程序所作出的请求的源代码接口。或者,可在 制造存储装置时或在存储装置的定制阶段由软件开发人员处理(即,产生和存储)INSQ表 40。可在运行时间期间,通过在主机装置上运行的应用程序来处理(即,产生、存储、修改和 更新)INSQ表40。定制要求可关于在有关主机装置上运行的应用程序、使用场境、系统特征 等等,或从在有关主机装置上运行的应用程序、使用场境、系统特征等等得出。图5展示根据本发明的实例性实施例的INSQ表50。含有INSQ的动态参数的INSQ 表50包含四个实例性条目,编号为1到4,每一条目容纳一个INSQ和INSQ相关参数,如下 文所描述。由存储装置在运行时间(即,“运行中”)期间响应于(即,得自)主机装置相对 于主机装置所呈现的服务而向存储装置发布的命令,来动态地收集和更新INSQ表50中所 保存的参数。举例来说,如果主机装置是MP3播放器,那么MP3播放器向存储装置发送的命 令可与重放和音频文件相关联。图5中展示了实例性动态参数,如下文所述。图5的INSQ表50含有实例性动态参数,其与图4的INSQ表40中的四个示范性 INSQ相关,且四个示范性字段用于保存这些参数,如下(1) "INSQ的标识符”(501处所示)。此字段容纳INSQ的类型或已指配给INSQ 的名称。如上文所述,INSQ表50与INSQ表40的四个示范性INSQ相关。因此,INSQ表50 使用与表40相同的INSQ的类型或名称。(2) “状态(开/关)”(502处所示)。存储在此字段中的值(即,“开”或“关”) 指定INSQ是否在进行中。S卩,如果INSQ当前在进行中,那么指配给其的值将为“开”,且如 果INSQ当前不在进行中,那么指配给其的值将为“关”。(3) “动态BOS参数”(503处所示)。如果INSQ不在进行中(即,其在“状态(开 /关)”字段中的状态是“关”),那么存储装置“等待”(即,期待)INSQ开始。因此,存储装 置计算或评估将要保存在“动态BOS参数”字段中的值,以便决定是否已发生BOS指示。存 储装置基于存储装置从主机装置接收到的一个或一个以上命令来计算动态BOS参数。(4) “动态EOS参数”(504处所示)。如果INSQ在进行中(即,其在“状态(开/ 关),,字段中的状态是“开”),那么存储装置“等待”(即,期待)INSQ终止。因此,存储装置 计算将要保存在“动态EOS参数”字段中的EOS参数值。存储装置基于存储装置从主机装 置接收到的一个或一个以上命令来计算动态EOS参数。继续上文的实例1,510处展示的称为“播放MP3”的当前状态INSQ是“开”,意味 着INSQ在进行中。因此,存储装置没有必要计算BOS参数,出于此原因,当前保存在“动态 BOS参数”字段中的值为“N/A” (即,不适用)。如上文所阐释,如果INSQ为“开”,那么存 储装置期待INSQ终止。因此,存储装置评估、计算或检查动态EOS参数,以便估定是否正发 生EOS或已发生EOS。如果存储装置决定正发生EOS或已发生E0S,那么存储装置将“播放 MP3” INSQ的状态从“开”改变为“关”,且评估、计算或检查动态BOS参数,以便估定是否正 发生BOS或已发生B0S。换句话说,当“播放MP3” INSQ当前是活动(即,其在515处为“开”)时,与“播放 MP3” INSQ相关的动态BOS参数不适用(520处展示为“N/A” ),这意味着必须考虑动态EOS参数的当前值,其在此实例中为“12毫秒”。随着“播放MP3” INSQ的进行,此动态EOS参数 的值增加,且当其达到或超过静态EOS阈值“至少一秒不流动”(其在INSQ表40中指定) 时,存储装置决定已发生EOS。如果“播放MP3” INSQ不活动(即,如果其为“关”),那么将 要考虑的参数将为动态BOS参数,而不是动态EOS参数。如INSQ表40中所示,“播放MP3,,INSQ的EOS阈值是“ 1秒”(图4中425处所示), 这意味着MP3播放器从存储装置读取数据的平均速率420 (图4中所示的标准)必须连续 地与标准速率偏离(即,16KB/S),并持续至少一秒,以使存储装置决定已发生EOS。然而, 如图5中所示,从开始当前“播放MP3” INSQ以来已逝去仅12毫秒(图5中525处所示)。 因此,存储装置仍认为“播放MP3” INSQ处于“开”状态。继续上文的实例2,称为“俘获连拍图像”的第二 INSQ的当前状态为“开”,这意味 着INSQ在进行中。因此,存储装置没有必要计算BOS参数,出于此原因,当前保存在“动态 BOS参数”字段中的值为“N/A” (即,不适用)。如上文所阐释,如果INSQ为“开”,那么存储 装置期待INSQ终止,且因此,其评估、计算或检查动态EOS参数,以便估定是否正发生EOS。 如果存储装置决定已发生E0S,那么存储装置将“俘获连拍图像” INSQ的状态从“开”改变 为“关”,且评估、计算或检查动态BOS参数,以便估定是否已发生B0S。换句话说,因为“俘获连拍图像” INSQ当前是活动(即,其为“开”)的,所以与“俘 获连拍图像”INSQ相关的动态BOS参数不适用,这意味着必须考虑动态EOS参数的当前值, 其在此实例中为“2. 03毫秒”。随着“俘获连拍图像” INSQ继续进行,此动态EOS参数的值 增加,且当其达到或超过静态EOS阈值“突发之间延迟超过3毫秒”(其在INSQ表40中指 定)时,存储装置决定正发生或已发生EOS。如果“俘获连拍图像” INSQ不活动(即,如果 其为“关”),那么将要考虑的参数将为动态BOS参数,而不是动态EOS参数。如INSQ表40中所示,“俘获连拍图像” INSQ的EOS阈值是“突发之间延迟超过3 毫秒”,这意味着数据写入突发之间的延迟(在字段44中,图4中所示的标准)必须超过3 毫秒,以使存储装置决定已发生EOS。然而,如图5中所示,存储装置至今所计算或测量的最 大延迟仅为2. 03毫秒,出于此原因,存储装置仍认为“俘获连拍图像” INSQ处于“开”状态。继续上文的实例3,称为“更新启动图像”INSQ的第三INSQ的当前状态为“关”,这 意味着INSQ不活动或不在进行中。因此,存储装置不计算动态EOS参数,而是其计算、评估 或检查动态BOS参数,以便估定是否已发生B0S。如果已发生B0S,那么存储装置将“更新启 动图像” INSQ的状态从“关”改变为“开”,且评估、计算或检查动态EOS参数,以便估定是否 已发生E0S。如INSQ表40中所示,“更新启动图像”INSQ的BOS阈值为“事件发生”(“事件”是 指将数据写入扇区#0中),这意味着必须将数据写入扇区#0中,以使存储装置决定已发生 BOS0然而,如图5中所示,尚未发生将数据写入扇区#0中(在图5中被称作“未发生”), 出于此原因,存储装置仍认为“更新启动图像” INSQ处于“关”状态。继续上文的实例4,称为“读取启动图像”INSQ的第四INSQ的状态为“关”,这意味 着INSQ不活动(S卩,INSQ不在进行中)。因此,存储装置不计算动态EOS参数,而是其计算 或检查动态BOS参数,且以便估定是否已发生B0S。如果已发生B0S,那么存储装置将“读取 启动图像” INSQ的状态从“关”改变为“开”,且评估、计算或检查动态EOS参数,以便估定是 否已发生E0S。
如INSQ表40中所示,“读取启动图像”INSQ的BOS阈值为“事件发生”(“事件”是 指从扇区#0读取数据),这意味着必须从扇区#0读取数据,以使存储装置决定已发生B0S。 然而,如图5中所示,尚未发生从扇区#0读取数据(在图5中被称作“未发生”),出于此原 因,存储装置仍认为“读取启动图像” INSQ处于“关”状态。图6展示根据本发明的实例性实施例可由存储装置用于将INSQ的状态从 “关”(即,从“INSQ不在进行中”的状态)改变为“开”(即,改变为“INSQ在进行中”的状 态)的方法。主机装置(例如,MP3播放器)可发布一个或一个以上命令并将其转发给与 INSQ相关的存储装置。命令可以是数据读取请求或数据写入请求。数据读取请求和数据写 入请求可与INSQ相关或相关联。在步骤50处,存储装置接收主机装置的命令(例如,重放命令)。响应于接收到主 机装置的命令,存储装置开始INSQ检查例行程序以检查预先列举在其INSQ表中的INSQ,以 了解所列举的INSQ中的任一者是否与所接收的命令相关或受其影响。即,存储装置检查所 接收的命令是否对预先列举的INSQ中的任一者的当前状态或状态具有影响。由存储装置 使用的INSQ表可为逐结构等同的,或分别类似于图4和图5的INSQ表40和50。在步骤52处,存储装置通过检查第一表的条目而开始检查(例如,通过使用INSQ 检查例行程序)INSQ表,且在步骤M处,存储装置检查INSQ表的第一条目是否为“空值”, 其中“空值”指示INSQ表的末尾。如果第一条目为空值(在步骤M处展示为“是”),那么 中止过程(在44处展示为“退出”),因为INSQ表为空,或存储装置已关于所接收的命令检 查了整个INSQ。 如果第一条目不是空值(在步骤M处展示为“否”),这意味着条目含有一 INSQ, 其状态仍将要由存储装置基于当前接收到的命令(或基于当前接收到的命令和一个或一 个以上先前接收到的命令)以及与当前评估的INSQ相关的定义和特征(例如,条件,阈值 等)来评估或重新评估。即,存储装置必须决定所讨论的INSQ的状态是否因为存储装置已 从主机装置接收到的一个或一个以上命令而必须改变。在步骤56处,存储装置检查INSQ的当前状态是否为“关”。如果INSQ的当前状态 为“关”(在步骤56处展示为“是”),那么这意味着INSQ不活动(即,其不在进行中),且因 此存储装置等待预期INSQ状态发生改变;即,从不活动状态(即,“INSQ不在进行中”)改 变为“活动状态”(即,INSQ在进行中)。因此,在步骤58处,存储装置测量、检查或估计BOS参数,并在步骤60处检查当前 测量、检查或估计的BOS参数是否超过INSQ表中指定的BOS阈值。如果BOS参数超过BOS 阈值(在步骤60中展示为“是”),那么这向存储装置指示当前评估的INSQ的状态正或最近 已从“不活动”改变为“活动”(即,INSQ现在进行中),且因此存储装置不执行与那个INSQ 相关联的任何新的ESQ操作,或如果当INSQ改变状态(即,从“不活动”到“活动”)时ESQ 操作在进行中,那么存储装置挂起那个ESQ操作,且恢复与所讨论的INSQ相关的ISQ操作, 如图2中所示。另外,在步骤62中,通过将INSQ的状态从“关”改变为“开”,存储装置更新 INSQ表。其后,在步骤64中,存储装置继续移动到INSQ表的下一条目(即,迄今为止的第 二条目),且针对第二条目并针对剩余的INSQ重复结合INSQ表的第一条目所描述的过程, 直到在步骤M处遇到空值条目,其终止INSQ评估过程。将针对存储装置从主机装置接收到 的每一命令重复相同的INSQ评估过程。如果未超过BOS阈值(在步骤60处展示为“否”),那么这意味着所讨论的INSQ仍不活动,且因此其当前状态(即,“关”)应维持不变。因此, 存储装置不改变INSQ状态且评估下一 INSQ的状态。图7展示根据本发明的实例性实施例可由存储装置用于将INSQ的状态从 “开”(即,从“ INSQ在进行中”的状态)改变为“关”(即,改变为“ INSQ不在进行中”的状 态)的方法。主机装置(例如,MP3播放器)可发布一个或一个以上命令并将其转发给与 INSQ相关的存储装置。命令可以是数据读取请求或数据写入请求。数据读取请求和数据写 入请求可与INSQ相关或相关联。在步骤70处,存储装置接收主机装置的命令(例如,重放命令)。响应于接收到主 机装置的命令,存储装置开始INSQ检查例行程序以检查预先列举在其INSQ表中的INSQ,以 了解所列举的INSQ中的任一者是否与所接收的命令相关或受其影响。即,存储装置检查所 接收的命令是否对预先列举的INSQ中的任一者的当前状态或状态具有影响。由存储装置 使用的INSQ表可为逐结构等同的,或分别类似于图4和图5的INSQ表40和50。在步骤72处,存储装置通过检查第一表的条目而开始检查(例如,通过使用INSQ 检查例行程序)INSQ表,且在步骤74处,存储装置检查INSQ表的第一条目是否为“空值”, 其中“空值”指示INSQ表的末尾。如果第一条目为空值(在步骤74处展示为“是”),那么 中止过程(在86处展示为“退出”),因为INSQ表为空,或存储装置已关于所接收的命令检 查了整个INSQ。如果第一条目不是空值(在步骤74处展示为“否”),这意味着条目含有一 INSQ, 其状态仍将要由存储装置基于当前接收到的命令(或基于当前接收到的命令和一个或一 个以上先前接收到的命令)以及与当前评估的INSQ相关的定义和特征(例如,条件,阈值 等)来评估或重新评估。即,存储装置必须决定所讨论的INSQ的状态是否因为存储装置从 主机装置接收到的一个或一个以上命令而必须改变。在步骤76处,存储装置检查INSQ的当前状态是否为“开”。如果INSQ的当前状态 为“开”(在步骤76处展示为“是”),那么这意味着INSQ是活动的(即,其在进行中),且 因此存储装置等待预期INSQ状态发生改变;即,从活动状态(即,“INSQ在进行中”)改变 为“不活动状态”(即,INSQ不在进行中)。因此,在步骤78处,存储装置测量、检查或估计BOS参数,并在步骤80处检查当前 测量、检查或估计的BOS参数是否超过INSQ表中指定的BOS阈值。如果BOS参数超过BOS 阈值(在步骤80中展示为“是”),那么这向存储装置指示当前评估的INSQ的状态正或最 近已从“活动”改变为“不活动”(即,INSQ不在进行中),且因此存储装置挂起ISQ操作,且 恢复与所讨论的INSQ相关的ESQ操作,如图3中所示,且另外,在步骤82中,INSQ的状态 从“开”改变为“关”。另外,在步骤82中,通过将INSQ的状态从“开”改变为“关”,存储装置更新INSQ 表。其后,在步骤84中,存储装置继续移动到INSQ表的下一条目(即,迄今为止的第二条 目),且针对第二条目并针对剩余的INSQ重复结合INSQ表的第一条目所描述的过程,直到 在步骤74处遇到空值条目,其终止INSQ评估过程。将针对存储装置从主机装置接收到的 每一命令重复相同的INSQ评估过程。如果未超过EOS阈值(在步骤80处展示为“否”),那么这意味着所讨论的INSQ仍 是活动的,且因此其当前状态(即,“开”)应维持不变。因此,存储装置不改变INSQ状态且评估下一 INSQ的状态。图8展示根据本发明的实例性实施例的存储装置800。存储装置800包含大容量 存储区域808 (其可为快闪存储器)、控制器840,所示控制器840经由数据和控制线806管 理大容量存储区域808,且经由主机接口 802与主机装置850通信。控制器840通过控制 (例如)“读取”、“写入”和“擦除”操作,并通过空值与主机装置850的通信,来控制所有至 /从大容量存储区域808的数据存储和数据检索以及至/从主机装置850的数据转移。控 制器840还执行例如损耗平衡等的内部“内务处理”操作。控制器840的这些行为在此项 技术中是已知的。大容量存储区域808的一部分可用于保存静态INSQ表810、动态INSQ表820和 ISQ和ESQ表830。静态INSQ表810可含有预定义INSQ的列表以及与预定义INSQ相关的 静态INSQ的BOS和EOS参数和阈值。动态INSQ表820可包含有预定义INSQ的列表,或 INSQ表820的条目可与INSQ表810中所保存的INSQ相关联。动态INSQ表820可另外含 有与预定义INSQ相关的动态INSQ的BOS和EOS参数和阈值。ISQ和ESQ表830可含有多个第一组内部操作(即,多组ESQ操作)和多个第二组 内部操作(即,多组ISQ操作),其分别与预定义INSQ相关联或相关。即,第一组操作和第 二组操作与预定义INSQ中的每一 INSQ相关联。静态INSQ表810可等同于或类似于图4 的INSQ表,且动态INSQ表820可等同于或类似于图5的INSQ表。静态INSQ表810和动 态INSQ表820可视为一个INSQ表,且一般来说,INSQ表810、INSQ表820和ISQ和ESQ表 830可以是一个相关数据库的一部分,或作为一个相关数据库来管理。静态信息(例如,静 态参数和阈值)应保存在非易失性存储器中,而动态参数(例如,动态BOS相关值、动态EOS 相关值和INSQ的当前状态)可保存在易失性存储器(例如,随机存取存储器(“RAM”))中 (或保存在非易失性存储器中)。主机装置850将存储命令发送到存储装置800,且针对存储装置接收到的每一命 令,控制器840在查找表810和820中搜索命令所属的或命令可与其相关联的INSQ。如果 控制器840在查找INSQ表810和820中找到此类INSQ,那么控制器840在动态INSQ表820 中更新属于那个INSQ的动态参数的值,且基于保存在INSQ表810中的静态阈值,确定INSQ 正处于何种状态(即,“ INSQ在进行中”或“ INSQ不在进行中”),或INSQ是否已改变,或将 要改变其状态,控制器840在查找表ISQ/ESQ表830中查看是否有与INSQ相关联的ISQ或 ESQ操作将允许执行或恢复,或将避免或挂起,视情况而定。换句话说,控制器840适于使用从主机装置850接收到的一个或一个以上存储命 令,以确定一个或一个以上预定义INSQ中的任一者是否正从或已从“不活动”状态转变为 “活动”状态,或从“活动”状态转变为“不活动状态”,且响应于预定义INSQ从“不活动”状 态转变为“活动”状态,控制器840避免或挂起与那个INSQ相关的ESQ操作的执行,且允许 或执行与那个INSQ相关的ISQ操作的执行。响应于INSQ从“活动”状态转变为“不活动”状态,控制器840允许或恢复ESQ操 作的执行,且避免或挂起ISQ操作的执行。控制器840通过确定从主机装置接收到的一个 或一个以上命令,和/或从所述一个或一个以上命令得到的信息是否满足如本文所描述的 预定义BOS条件或EOS条件(例如,分别结合图4和图5的表40和50),来确定INSQ从“不 活动”状态转变为“活动”状态和从“活动”状态转变为“不活动”状态。控制器840通过将动态变量/参数的值或累加值与预定义静态参数(即,预设条件)进行比较,来确定命令和 /或从所述命令得到的信息是否满足预定义BOS条件或EOS条件。控制器840可使用例如计数器860的计数器来对与存储装置从主机装置接收到的 一个或一个以上命令相关的或从其得到的事件进行计数。控制器840可具有例如定时器 870的定时器以执行例如数据读取速率和数据写入速率的各种时间相关计算。图9示意性说明根据本发明实例性实施例的由存储装置的控制器使用数据库 900。查找表905含有四个预定义INSQ 910的示范性列表。虽然图9中未展示,但查找表 905还含有图8的查找表810和820中所保存的类型的(或与之类似的)参数和阈值,所述 参数和阈值与示范性INSQ 910相关联。查找表930可与图8的ISQ/ESQ表830相同或相 似,其含有与预定义INSQ 910相关联的ISQ和ESQ操作的示范性列表。举例来说,ISQ 901 和ESQ 911与称为“俘获连拍图像”的INSQ 910相关联,ISQ 902和ESQ 912可与称为“播 放MP3”的INSQ 910相关联,ISQ 903和ESQ 913可与称为“更新启动图像”的INSQ 910相 关联,且ISQ 904和ESQ 914可与称为“读取启动图像”的INSQ910相关联。由主机装置(例如图8的主机装置850)发布和发送存储命令,并在存储装置(例 如图8的存储装置800)处接收所述存储命令,所述存储器命令在915处用符合展示为箭 头。响应于接收到存储命令915,存储装置的控制器检查存储命令915是否属于任何一个 INSQ 910或是否可与任何一个INSQ 910相关联。在图9所示的实例中,发现所接收的存 储命令915属于称为“俘获连拍图像”的INSQ 910或其可与称为“俘获连拍图像”的INSQ 910相关联(所述关联由虚线920展示)。如上文结合图5的表50阐释,动态INSQ表保存每一预定义INSQ的当前状态(即, “开”或“关”),且对于给定INSQ,如果所讨论的INSQ为“开”,那么存储装置的控制器检查 EOS参数和EOS阈值。否则(即,所讨论的INSQ为“关”),那么存储装置的控制器检查与所 述INSQ相关联的BOS参数和BOS阈值。再次参看图9,通过更新与“俘获连拍图像”INSQ相 关联的动态参数并详查相应阈值,存储装置的控制器“知道” “俘获连拍图像” INSQ的状态 正在或已经从“开”改变为“关”还是从“关”改变为“开”。如果“俘获连拍图像” INSQ的状态正在或已经从“开”改变为“关”,那么这意味着 将避免或挂起ISQ操作并允许执行ESQ操作或应恢复执行ESQ操作。如果“俘获连拍图 像” INSQ的状态正在或已经从“关”改变为“开”,那么这意味着应允许或恢复或执行ISQ 操作且必须避免或挂起ESQ操作。因此,存储装置控制器在ISQ/ESQ查找表930中搜索与 INSQ"俘获连拍图像”相关的ISQ和ESQ操作。如上文提及,ISQ操作901和ESQ 911与“俘 获连拍图像”INSQ相关联,所述关联分别如虚线921和931展示。ISQ操作901包含命名为 “ ISQ-I ”、“ ISQ-2 ”、“ ISQ-3 ”、“ ISQ-4 ” 和 “ ISQ-5 ” 的 ISQ 操作。举例来说,ISQ 操作“ ISQ-I ” 可以是例如在预测和高速缓存预期数据中所涉及的一个操作或一组操作。ESQ操作911包 含命名为 “ESQ-l”、“ESQ-2”、“ESQ-3”、“ESQ-4” 和 “ESQ-5” 的 ESQ 操作。举例来说,ESQ 操 作“ESQ-1”可以是例如在静态耗损均衡中所涉及的一个操作或一组操作。根据INSQ的类 型为每一预定义INSQ设置或选择EOS和BOS参数的类型及其阈值以及ISQ和ESQ操作的 类型。此项技术中已知对这些参数、阈值和操作类型的恰当设置或选择。图10展示根据本发明的实例性实施例的可由存储装置使用的方法。在步骤1010 处,定义一个或一个以上整体命令序列,其中所述一个或一个以上所定义的整体命令序列中的每一者能够处于“活动”状态和“不活动”状态。在步骤1020处,为所述一个或一个 以上所定义的整体命令序列中的每一者定义第一组内部操作(“ESQ”)和第二组内部操作 (“ISQ”)并将所述内部操作与之相关联,其中第一组内部操作包含将在相应整体命令序列 处于“活动”状态时不执行的操作,且第二组内部操作包含准许或将在相应整体命令序列处 于“活动”状态时执行的操作。在步骤1030处,存储装置从主机装置接收命令,且在步骤1040处,基于从所接收 命令得出且可能从先前所接收命令得出的信息而确定所述一个或一个以上所定义的整体 命令序列中的任一者是否处于“活动”状态或正在从“不活动”状态转变为“活动”状态。如果所述一个或一个以上所定义的整体命令序列中的任一者处于“活动,,状态或 正在从“不活动”状态转变为“活动”状态(如步骤1040处的“是”展示),那么在步骤1050 处,抑制执行为所述活动整体命令序列定义并与之相关联的第一组内部操作(即,ESQ操 作)中的任何操作或挂起其执行,且在步骤1060处,准许执行与所述活动整体命令序列相 关联的第二组内部操作(即,ISQ操作)中的操作(如果其执行尚未开始的话)或准许继 续其执行(如果其执行已挂起的话)。在一些情况下,甚至可高度推荐或需要执行对存储装 置或整个存储系统的效率具有某种或重要积极作用的某些操作。然而,如果所述一个或一个以上所定义的整体命令序列中的任一者不处于“活动” 状态或不在从“不活动”状态转变为“活动”状态(如步骤1040处的“否”展示);S卩,所述整 体序列处于不活动状态,那么在步骤1070处,抑制执行为所述不活动整体命令序列定义并 与之相关联的第二组内部操作(ISQ)中的任何操作,且在步骤1080处,准许执行为所述不 活动整体命令序列定义并与之相关联的第一组内部操作(ESQ)中的操作。关于步骤1040, 在检查特定INSQ的当前状态是“开”(或其状态正在从“关”转变为“开”)还是“关”(或 其状态正在从“开”转变为“关”)之后,确定所述INSQ是活动的还是不活动的,如分别结合 图6和图7更详细描述。所述一个或一个以上所定义的整体命令序列中的至少一者可与重放多媒体内容 相关联,或与俘获多媒体内容或图像相关联,或与数据同步相关联,或与启动命令相关联。为INSQ定义并与之相关联的第一组(ESQ)和第二组(ISQ)内部操作中的每一者 可包含以下操作中的任一者快闪管理操作;加密/解密传出/传入数据;压缩/解压传出 /传入数据;反病毒操作;磁盘碎片整理操作;备份数据;和改变数据格式。快闪管理操作可 涉及垃圾收集;激活错误校正机制;将数据高速缓存到存储装置的快速快闪存储区域中; 清洗所高速缓存的数据;使用低功率模式;和静态耗损均衡。在一个实例中,可在与重放音乐文件相关联的INSQ在进行中(即,活动的)时允 许“低功率模式”操作。也就是说,如果MP3播放器(示范性主机装置)重放音乐文件,那么 存储装置可在存储装置正接收用于重放音乐文件的INSQ( S卩,一系列命令)时使用“低功率 模式”。因为重放音乐文件需要以大约、接近或近似16KB/秒的恒定位速率读取音乐文件, 所以只有其执行不会不利影响所指定的位速率(即,16KB/秒),才可允许低功率模式操作。 可相对于给定INSQ “允许”、“推荐”或“强制”内部操作(ISQ)。在此实例中,“允许” “低功 率模式”操作,这意味着在“MP3播放” INSQ在进行中时执行或抑制执行这些操作不对整个 存储系统的整体性能存在许多消极或积极作用。在一个实例中,在主机装置正从存储装置读取操作系统(“OS”)的位图像时,存储装置可使用错误校正机制以增强数据读取可靠性。读取OS图像可定义为INSQ,且可为OS 图像读取INSQ定义错误校正操作。在此实例中,“推荐” “OS图像读取”操作,因为在可能 的程度上,推荐采取用以改进数据读取过程的可靠性的动作。在一个实例中,在数码相机(示范性主机装置)正在存储装置中存储连拍照片时, 存储装置可使用数据高速缓存操作。在存储装置中存储连拍照片可定义为INSQ,且可为连 拍照片存储INSQ定义数据高速缓存操作。在此实例中,“强制” “数据高速缓存”操作,因为 数码相机向存储装置传送照片的速率高于存储装置能存储照片的速度。如果INSQ在进行中,那么不推荐或应避免一些操作。在一个实例中,在MP3播放 器正在重放音乐文件时不推荐执行反病毒操作,因为在此类情况下执行反病毒操作可能造 成听得见的嗝声干扰。在一个实例中,在数码相机正在存储装置中存储连拍照片时必须避 免执行垃圾收集操作,因为在此类情况下执行垃圾收集操作可能造成照片丢失或破坏。请注意,在一些INSQ在进行中时可能准许执行或者可能推荐或强制内部操作,而 在一些其它INSQ在进行中可能必须避免或者可能不推荐所述相同内部操作。因此,此类 内部操作可同时定义为针对一个INSQ定义的第一组内部操作(ESQ)中的操作和针对另一 INSQ定义的第二组内部操作(ISQ)中的操作。举例来说,针对涉及更新OS位图像的INSQ推荐执行错误校正操作,但在INSQ涉 及重放音乐文件的情况下必须避免执行错误校正操作,因为执行错误校正操作消耗大量电 力和计算资源。在本发明的描述内容和权利要求书中,动词“包括”、“包含”和“具有”及其变化形 式中的每一者用于指示所述动词的宾语未必是动词主语的部件、组件、元件或零件的完全 列举。本文中使用冠词“一”来指代一个或一个以上(即,至少一个)所述冠词的语法宾语, 这取决于上下文。举例来说,依据上下文而定,“一元件”可意指一个元件或一个以上元件。 本文使用术语“包含”以意指“包含但不限于”且与短语“包含但不限于”互换使用。本文使 用术语“或”及“和”以意指“和/或”且与术语“和/或”互换使用,除非上下文另有明确指 示。本文使用术语“例如”以意指“例如但不限于”且与短语“例如但不限于”互换使用。已经如此描述了本发明的示范性实施例,所属领域的技术人员将了解对所揭示实 施例的修改将属于本发明的范围内。因此,替代实施例包括更多模块、更少模块和/或功能 上等效的模块。举例来说,存储装置可使用更多、更少、不同、额外或替代标准来决定是否已 经发生EOS或BOS。
权利要求
1.一种用于处理存储装置的内部操作的方法,所述方法包括当所述存储装置连接至主机装置时,响应于从接收自所述主机装置的一个或多个命令 得出的信息,确定命令序列是否处于活动状态和第一转变状态之一,其中在所述第一转变 状态中,所述命令序列正从不活动状态转变到所述活动状态;以及当所述命令序列处于所 述活动状态或所述第一转变状态时,抑制执行第一组内部存储器管理操作中的任何操作, 所述第一组内部存储器管理操作中的每一者为额外序列操作。
2.根据权利要求1所述的方法,其进一步包括当所述命令序列处于所述活动状态或 所述第一转变状态时,准许执行第二组内部存储器管理操作中的任何操作,所述第二组内 部存储器管理操作中的每一者为内部序列操作。
3.根据权利要求2所述的方法,其进一步包括 当所述命令序列处于所述不活动状态或第二转变状态时,准许执行所述第一组内部存 储器管理操作中的操作,且抑制执行所述第二组内部存储器管理操作中的任何操作,其中 在所述第二转变状态中,所述命令序列正从所述活动状态转变到所述不活动状态,。
4.根据权利要求1所述的方法,其进一步包括通过确定从所接收的一个或多个命令 得出的所述信息是否满足预定义的序列开始条件,确定所述命令序列是否处于所述第一转 变状态。
5.根据权利要求4所述的方法,其中所述预定义的序列开始条件包括平均读取速率与 预定的读取速率匹配的条件,其中所述平均读取速率与所述主机装置读取动态图像专家组 音频播放器3(MP;3)数据相关联。
6.根据权利要求1所述的方法,其中所述命令序列与动态图像专家组音频播放器 3(MP3)内容的重放相关联。
7.根据权利要求1所述的方法,其中所述命令序列与数据同步相关联。
8.根据权利要求1所述的方法,其中所述命令序列与启动命令相关联。
9.根据权利要求1所述的方法,其中所述第一组内部存储管理操作的操作包括以下各 项之一加密/解密传出/传入数据;压缩/解压传出/传入数据;反病毒操作;磁盘碎片整理操作;加强;备份数据;改变数据格式;以及快闪管理操作,其中所述快闪存储器管理操作可选自以下各项; 垃圾收集; 采用错误校正机制;将数据高速缓存到快速快闪存储区域中; 清洗高速缓存的数据; 低功率模式操作;以及 静态耗损均衡。
10.根据权利要求2所述的方法,其中所述第二组内部存储管理操作包括以下各项之加密/解密传出/传入数据;压缩/解压传出/传入数据;反病毒操作;磁盘碎片整理操作;加强;备份数据;改变数据格式;以及快闪管理操作,其中所述快闪存储器管理操作可选自以下各项; 垃圾收集; 采用错误校正机制;将数据高速缓存到快速快闪存储区域中; 清洗高速缓存的数据; 低功率模式操作;以及 静态耗损均衡。
11.根据权利要求1所述的方法,其中所接收的一个或多个命令包括数据读请求和数 据写请求之一。
12.—种存储装置,其包括 大容量存储区域,其用于保存命令序列,所述命令序列处于活动状态、不活动状态、第一转变状态和第二转变状态之 一,其中所述第一转变状态中,所述命令序列正从所述不活动状态转变到所述活动状态,及 所述第二转变状态中,所述命令序列正从所述活动状态转变到所述不活动状态;第一组内部存储器管理操作,所述第一组内部存储器管理操作中的每一者为额外序列 操作;以及第二组内部存储器管理操作,所述第二组内部存储器管理操作中的每一者为内部序列 操作;及控制器,其适于当所述存储装置被操作连接到主机装置时,从所述主机装置接收一个或多个命令; 基于从所接收的命令得出的信息,确定何时所述命令序列处于所述活动状态或所述第 一转变状态,响应于所述命令序列处于所述活动状态或所述第一转变状态,禁止执行所述第一组内 部存储器管理操作中的第一操作,且准许执行所述第二组内部存储器管理操作中的第二操 作。
13.根据权利要求12所述的存储装置,其中所述控制器进一步适于基于从所接收的一个或多个命令得出的信息,确定所述命令序列何时处于所述不活动 状态或所述第二转变状态;且响应于所述命令序列处于所述不活动状态或所述第二转变状态,准许执行所述第一组 内部存储器管理操作中的操作。
14.根据权利要求12所述的存储装置,其中所述控制器进一步适于通过确定从所接 收的一个或多个命令得出的所述信息满足预定义的序列开始条件还是序列结束条件,确定 所述命令序列处于所述第一转变状态还是所述第二转变状态。
15.根据权利要求14所述的存储装置,其中所述预定义的序列开始条件为所述存储装 置在预定义的时间段内接收预定数量的数据突发。
16.根据权利要求14所述的存储装置,其中所述控制器用于确定从所接收的一个或多 个命令得出的所述信息是否满足特定的预定义的序列结束条件,其中所述特定的预定义的 序列结束条件为所述存储装置接收连续两个数据突发的时间延迟超过预定的时间段。
17.根据权利要求14所述的存储装置,其中所述控制器用于通过对存储在参数表中的 预定义的序列开始条件阈值的比较,确定从所接收的一个或多个命令得出的所述信息是否 满足特定的预定义的序列开始条件,其中所述参数表在所述存储装置中。
18.根据权利要求14所述的存储装置,其中所述控制器用于通过对存储在参数表中的 预定义的序列结束条件阈值的比较,确定从所接收的一个或多个命令得出的所述信息是否 满足特定的预定义的序列结束条件,其中所述参数表在所述存储装置中。
19.根据权利要求12所述的存储装置,其中所述第一组内部存储管理操作的所述第一 操作为以下各项之一加密/解密传出/传入数据;压缩/解压传出/传入数据;反病毒操作;磁盘碎片整理操作;加强;备份数据;改变数据格式;以及快闪管理操作,其中所述快闪存储器管理操作可选自以下各项; 垃圾收集; 采用错误校正机制;将数据高速缓存到快速快闪存储区域中; 清洗高速缓存的数据; 低功率模式操作;以及 静态耗损均衡。
20.根据权利要求12所述的存储装置,其中所述第一组内部存储管理操作的所述第一 操作为以下各项之一加密/解密传出/传入数据;压缩/解压传出/传入数据;反病毒操作;磁盘碎片整理操作;加强;备份数据;改变数据格式;以及快闪管理操作,,其中所述快闪存储器管理操作可选自以下各项; 垃圾收集; 采用错误校正机制;将数据高速缓存到快速快闪存储区域中; 清洗高速缓存的数据; 低功率模式操作;以及 静态耗损均衡。
全文摘要
本发明涉及通过存储装置管理内部操作。本发明提供一种方法,其使存储装置能够自主地(即,在没有主机装置干预的情况下)确定与由所述主机装置发布的一个或一个以上存储命令有关的整体命令序列是否处于某一状态(即,其是“活动的”还是“不活动的”)或正从“活动”状态转变到“不活动”状态还是从“不活动”状态转变到“活动”状态。依据所述确定的状态或转变而定,所述存储装置确定是否抑制执行额外序列(“ESQ”)操作并准许执行内部序列(“ISQ”)操作,或反之亦然。
文档编号G06F12/02GK102063295SQ20101028684
公开日2011年5月18日 申请日期2008年5月28日 优先权日2007年5月28日
发明者埃拉德·巴拉姆, 阿米尔·莫塞克 申请人:桑迪士克Il有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1