CN101324829B - 通过存储装置管理内部操作 - Google Patents

通过存储装置管理内部操作 Download PDF

Info

Publication number
CN101324829B
CN101324829B CN2008101095198A CN200810109519A CN101324829B CN 101324829 B CN101324829 B CN 101324829B CN 2008101095198 A CN2008101095198 A CN 2008101095198A CN 200810109519 A CN200810109519 A CN 200810109519A CN 101324829 B CN101324829 B CN 101324829B
Authority
CN
China
Prior art keywords
state
insq
memory storage
activity
command sequence
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.)
Active
Application number
CN2008101095198A
Other languages
English (en)
Other versions
CN101324829A (zh
Inventor
阿米尔·莫塞克
埃拉德·巴拉姆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Western data Israel Limited
Original Assignee
SanDisk IL Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by SanDisk IL Ltd filed Critical SanDisk IL Ltd
Publication of CN101324829A publication Critical patent/CN101324829A/zh
Application granted granted Critical
Publication of CN101324829B publication Critical patent/CN101324829B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0617Improving the reliability of storage systems in relation to availability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements

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)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)
  • User Interface Of Digital Computer (AREA)
  • Retry When Errors Occur (AREA)

Abstract

本发明提供一种方法,其使存储装置能够自主地(即,在没有主机装置干预的情况下)确定与由所述主机装置发布的一个或一个以上存储命令有关的整体命令序列是否处于某一状态(即,其是“活动的”还是“不活动的”)或正从“活动”状态转变到“不活动”状态还是从“不活动”状态转变到“活动”状态。依据所述确定的状态或转变而定,所述存储装置确定是否抑制执行额外序列(“ESQ”)操作并准许执行内部序列(“ISQ”)操作,或反之亦然。

Description

通过存储装置管理内部操作
早先申请的申请案的参考
本申请案主张2007年5月28日申请的第60/940,426号美国临时专利申请案的优先权,所述临时专利申请案的内容全文以引用的方式并入本文中。
技术领域
本发明大体上涉及存储装置,且更明确地说,涉及一种允许通过存储装置自主管理内部操作的方法且涉及一种使用所述方法的存储装置。
背景技术
本文中“整体命令序列(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)如果所述一个或一个以上整体命令序列中的所述一者处于所述“活动”状态或正从所述“不活动”状态转变到所述“活动”状态,那么存储装置抑制执行与所述相应整体命令序列相关联的所述第一组内部操作的任何操作。
如果所述一个或一个以上整体命令序列中的所述一者处于所述“活动”状态或正从所述“不活动”状态转变到所述“活动”状态,那么存储装置可准许执行与所述相应整体命令序列相关联的所述第二组内部操作的任何操作。然而,如果所述一个或一个以上整体命令序列中的所述一者处于所述“不活动”状态或正从所述“活动”状态转变到所述“不活动”状态,那么存储装置准许执行所述第一组内部操作的操作并抑制执行与所述相应整体命令序列相关联的所述第二组内部操作的任何操作。
存储装置可通过确定从自主机装置接收的命令(一或多个)得出的所述信息分别满足预定义的序列开始(“BOS”)条件还是序列结束(“EOS”)条件来确定所述一个或一个以上整体命令序列中的所述一者从所述“不活动”状态转变到所述“活动”状态还是从所述“活动”状态转变到所述“不活动”状态。存储装置通过将动态参数的值或累加值与预定义的静态参数进行比较来确定从自主机装置接收的命令得出的所述信息满足预定义的BOS条件还是EOS条件。
所述一个或一个以上整体命令序列中的至少一者可与重放多媒体内容相关联,或与俘获多媒体内容或图像相关联,或与数据同步相关联,或与启动命令相关联。
所述第一组或所述第二组内部操作的操作可以是快闪管理操作;用于对传出/传入数据进行加密/解密的加密/解密操作;用于对传出/传入数据进行压缩/解压的压缩/解压操作;反病毒操作;加强操作;磁盘碎片整理操作;用于备份数据的备份操作;以及涉及改变数据格式的操作。快闪管理操作可以是垃圾收集操作;错误校正操作;用于将数据高速缓存到存储装置的快速快闪存储区域中的高速缓存数据操作;用于清洗高速缓存的数据的清洗操作;低功率模式操作;以及静态耗损均衡操作。
还提供一种存储装置,其可以是快闪存储器装置。所述存储装置可包含:通信接口,其用于从主机装置接收存储命令;以及大容量存储区域,其用于保存(i)一个或一个以上预定义的整体序列,所述一个或一个以上整体命令序列的每一者能够处于“活动”状态和“不活动”状态,以及(ii)将第一组内部操作(“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),或处于“不活动”状态(展示为“整体序列不在进行中”12)。INSQ表中的一个或一个以上INSQ可同时为活动,而其它INSQ为不活动。关于图2和图3,对于不同INSQ可同时发生多个例子。
给定INSQ表中的INSQ,如果INSQ当前处于“整体序列不在进行中”12状态,且存储装置识别序列开头(BOS)(如上文所阐释)指示INSQ现正处于活动状态,或INSQ正从不活动状态转变到活动状态,那么存储装置自动将INSQ的状态从“整体序列不在进行中”12切换(14)到“整体序列在进行中”16。如果INSQ当前处于“整体序列在进行中”16状态,且存储装置识别序列末尾(EOS)(如上文所阐释)指示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不在进行中”变成“INSQ1在进行中”。如果针对“INSQ 1”出现BOS,那么存储装置确定所述INSQ变为活动,且如果满足预定义的标准,那么确定BOS出现。
如上文所阐释,存储装置所执行的后台操作可被认为是ISQ操作或ESQ操作,且当INSQ在进行中时,应避免或停止ESQ操作。因此,在步骤22处,存储装置挂起与活动“INSQ 1”有关的ESQ操作,在步骤24处,存储装置恢复关于活动“INSQ 1”的ISQ操作,且在步骤26处,存储装置期待或等待,直到“INSQ 1”变为不活动为止。如果针对“INSQ 1”出现EOS,那么存储装置确定所述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已经在进行中(即,已经是活动的),或有关的INSQ正从不活动状态转变到活动状态。值是从存储装置从主机装置接收到的一个或一个以上命令得出的所述一个或一个以上参数允许存储装置决定或确定BOS指示是否已经出现或正出现。“读取性能”、“到达时间”(TOA)和命令操作数(例如,主机装置所存取的逻辑地址)是存储装置可从自主机装置接收到的命令收集或计算的示范性信息。
当一个或一个以上估计出或计算出的参数满足或超过预定义的值或满足预定义的条件时,认为序列开头(BOS)已经出现,如下文结合“INSQ的BOS阈值”字段更详细地阐释。
(3)“INSQ的BOS阈值”(43处展示)。此字段容纳存储装置应用于INSQ的BOS参数字段42中所指定的一个或一个以上参数的一个逻辑条件或一组逻辑条件。如果与特定INSQ相关联的所述逻辑条件或所述组逻辑条件被满足,那么存储装置确定针对所述INSQ已经出现整体序列BOS,其后,存储装置使所述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已经出现整体序列EOS,其后,存储装置使所述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,且只要没有数据是以所述速率被读取,存储装置就“知道”播放MP3INSQ尚未开始。如上文所阐释,当MP3播放器正在重放媒体内容时,在存储装置中执行某些内部操作是不可行的。举例来说,如果在重放期间进行,那么执行耗损均衡将使被重放的音频的质量严重降级。
在上文所提及的实例中,“与MP3标准(16KB/s)匹配的常规平均读取速率”参数的INSQ的BOS决定阈值可以是(例如)“至少2秒的常规数据读取”(415处所示)。这表示如果在存储装置处以上文所提及的速率(即,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秒不流动”(425处所示)。这表示是否停止在存储装置处以上文所提及的速率(即,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的EOS,存储装置监视从数码相机接收到的数据写入请求,并检查所述数据写入请求是否以不同于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是否在进行中。即,如果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或已发生EOS,那么存储装置将“播放MP3”INSQ的状态从“开”改变为“关”,且评估、计算或检查动态BOS参数,以便估定是否正发生BOS或已发生BOS。
换句话说,当“播放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。如果存储装置决定已发生EOS,那么存储装置将“俘获连拍图像”INSQ的状态从“开”改变为“关”,且评估、计算或检查动态BOS参数,以便估定是否已发生BOS。
换句话说,因为“俘获连拍图像”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参数,以便估定是否已发生BOS。如果已发生BOS,那么存储装置将“更新启动图像”INSQ的状态从“关”改变为“开”,且评估、计算或检查动态EOS参数,以便估定是否已发生EOS。
如INSQ表40中所示,“更新启动图像”INSQ的BOS阈值为“事件发生”(“事件”是指将数据写入扇区#0中),这意味着必须将数据写入扇区#0中,以使存储装置决定已发生BOS。然而,如图5中所示,尚未发生将数据写入扇区#0中(在图5中被称作“未发生”),出于此原因,存储装置仍认为“更新启动图像”INSQ处于“关”状态。
继续上文的实例4,称为“读取启动图像”INSQ的第四INSQ的状态为“关”,这意味着INSQ不活动(即,INSQ不在进行中)。因此,存储装置不计算动态EOS参数,而是其计算或检查动态BOS参数,且以便估定是否已发生BOS。如果已发生BOS,那么存储装置将“读取启动图像”INSQ的状态从“关”改变为“开”,且评估、计算或检查动态EOS参数,以便估定是否已发生EOS。
如INSQ表40中所示,“读取启动图像”INSQ的BOS阈值为“事件发生”(“事件”是指从扇区#0读取数据),这意味着必须从扇区#0读取数据,以使存储装置决定已发生BOS。然而,如图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表,且在步骤54处,存储装置检查INSQ表的第一条目是否为“空值”,其中“空值”指示INSQ表的末尾。如果第一条目为空值(在步骤54处展示为“是”),那么中止过程(在44处展示为“退出”),因为INSQ表为空,或存储装置已关于所接收的命令检查了整个INSQ。
如果第一条目不是空值(在步骤54处展示为“否”),这意味着条目含有一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表的第一条目所描述的过程,直到在步骤54处遇到空值条目,其终止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-1”、“ISQ-2”、“ISQ-3”、“ISQ-4”和“ISQ-5”的ISQ操作。举例来说,ISQ操作“ISQ-1”可以是例如在预测和高速缓存预期数据中所涉及的一个操作或一组操作。ESQ操作911包含命名为“ESQ-1”、“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处的“否”展示);即,所述整体序列处于不活动状态,那么在步骤1070处,抑制执行为所述不活动整体命令序列定义并与之相关联的第二组内部操作(ISQ)中的任何操作,且在步骤1080处,准许执行为所述不活动整体命令序列定义并与之相关联的第一组内部操作(ESQ)中的操作。关于步骤1040,在检查特定INSQ的当前状态是“开”(或其状态正在从“关”转变为“开”)还是“关”(或其状态正在从“开”转变为“关”)之后,确定所述INSQ是活动的还是不活动的,如分别结合图6和图7更详细描述。
所述一个或一个以上所定义的整体命令序列中的至少一者可与重放多媒体内容相关联,或与俘获多媒体内容或图像相关联,或与数据同步相关联,或与启动命令相关联。
为INSQ定义并与之相关联的第一组(ESQ)和第二组(ISQ)内部操作中的每一者可包含以下操作中的任一者:快闪管理操作;加密/解密传出/传入数据;压缩/解压传出/传入数据;反病毒操作;磁盘碎片整理操作;备份数据;和改变数据格式。快闪管理操作可涉及:垃圾收集;激活错误校正机制;将数据高速缓存到存储装置的快速快闪存储区域中;清洗所高速缓存的数据;使用低功率模式;和静态耗损均衡。
在一个实例中,可在与重放音乐文件相关联的INSQ在进行中(即,活动的)时允许“低功率模式”操作。也就是说,如果MP3播放器(示范性主机装置)重放音乐文件,那么存储装置可在存储装置正接收用于重放音乐文件的INSQ(即,一系列命令)时使用“低功率模式”。因为重放音乐文件需要以大约、接近或近似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。

Claims (21)

1.一种用于由存储装置处理所述存储装置的内部操作的方法,所述方法包括:
定义一个整体命令序列,所述整体命令序列能够处于“活动”状态和“不活动”状态之一,其中所述整体命令序列是指从主机装置发送到所述存储装置的再现命令序列;
将第一组内部存储器管理操作和第二组内部存储器管理操作与所述整体命令序列相关联,所述第一组内部存储器管理操作是在所述整体命令序列处于所述“活动”状态时禁止执行的操作,且所述第二组内部存储器管理操作是在所述整体命令序列处于所述“活动”状态时准许执行的操作;
从主机装置接收命令;
响应于所述接收的命令,确定所述整体命令序列何时处于所述“活动”状态或正从所述“不活动”状态转变到所述“活动”状态;以及
当所述整体命令序列处于所述“活动”状态或正从所述“不活动”状态转变到所述“活动”状态时,抑制执行所述第一组内部存储器管理操作中的任何操作。
2.根据权利要求1所述的方法,其进一步包括:
当所述整体命令序列处于所述“活动”状态或正从所述“不活动”状态转变到所述“活动”状态时,准许执行所述第二组内部存储器管理操作中的任何操作。
3.根据权利要求1所述的方法,其进一步包括:
当所述整体命令序列处于所述“不活动”状态或正从所述“活动”状态转变到所述“不活动”状态时,准许执行所述第一组内部存储器管理操作中的操作,且抑制执行所述第二组内部存储器管理操作中的任何操作。
4.根据权利要求3所述的方法,其中确定所述整体命令序列从所述“不活动”状态到所述“活动”状态还是从所述“活动”状态到所述“不活动”状态的转变包含确定从所述接收的命令得出的信息分别满足预定义的序列开始条件还是序列结束条件。
5.根据权利要求1所述的方法,其中所述整体命令序列与重放多媒体内容相关联。
6.根据权利要求1所述的方法,其中所述整体命令序列与俘获多媒体内容或图像相关联。
7.根据权利要求1所述的方法,其中所述整体命令序列与数据同步相关联。
8.根据权利要求1所述的方法,其中所述整体命令序列与启动命令相关联。
9.根据权利要求1所述的方法,其中所述第一组内部存储器管理操作的操作选自由以下各项组成的群组:
快闪存储器管理操作;
加密/解密传出/传入数据;
压缩/解压传出/传入数据;
反病毒操作;
磁盘碎片整理操作;
加强;
备份数据;
改变数据格式;且
所述快闪存储器管理操作选自由以下各项组成的群组:
垃圾收集;
采用错误校正机制;
将数据高速缓存到快速快闪存储区域中;
清洗高速缓存的数据;
低功率模式操作;以及
静态耗损均衡。
10.根据权利要求1所述的方法,其中所述第二组内部存储器管理操作的操作选自由以下各项组成的群组:
快闪存储器管理操作;
加密/解密传出/传入数据;
压缩/解压传出/传入数据;
反病毒操作;
磁盘碎片整理操作;
加强;
备份数据;
改变数据格式;且
所述快闪存储器管理操作选自由以下各项组成的群组:
垃圾收集;
采用错误校正机制;
将数据高速缓存到快速快闪存储区域中;
清洗高速缓存的数据;
低功率模式操作;以及
静态耗损均衡。
11.一种用于由存储装置处理所述存储装置的内部操作的系统,所述系统包括:
定义装置,其用于定义一个整体命令序列,所述整体命令序列能够处于“活动”状态和“不活动”状态之一,其中所述整体命令序列是指从主机装置发送到存储装置的再现命令序列;
关联装置,其用于将第一组内部存储器管理操作和第二组内部存储器管理操作与所述整体命令序列相关联,所述第一组内部存储器管理操作是在所述整体命令序列处于所述“活动”状态时禁止执行的操作,且所述第二组内部存储器管理操作是在所述整体命令序列处于所述“活动”状态时准许执行的操作;
接收装置,其用于从所述主机装置接收命令;
确定装置,其用于基于所述接收的命令确定何时所述整体命令序列处于所述“活动”状态或正从所述“不活动”状态转变到所述“活动”状态,以及
抑制装置,其用于响应于所述整体命令序列处于所述“活动”状态或正从所述“不活动”状态转变到所述“活动”状态,而抑制执行所述第一组内部存储器管理操作中的任何操作。
12.根据权利要求11所述的系统,进一步包括当所述整体命令序列处于所述“活动”状态或正从所述“不活动”状态转变到所述“活动”状态时,准许执行所述第二组内部存储器管理操作中的任何操作的装置。
13.根据权利要求11所述的系统,进一步包括基于从所述接收的命令得出的信息,确定所述整体命令序列何时处于所述“不活动”状态或正从所述“活动”状态转变到所述“不活动”状态的装置,及响应于所述整体命令序列处于所述“不活动”状态或正从所述“活动”状态转变到所述“不活动”状态,而准许执行所述第一组内部存储器管理操作中的操作的装置。
14.根据权利要求13所述的系统,进一步包括通过确定从所述接收的命令得出的所述信息分别满足预定义的序列开始条件还是预定义的序列结束条件来确定所述整体命令序列从“不活动”状态转变到“活动”状态还是从“活动”状态转变到“不活动”状态的装置。
15.根据权利要求11所述的系统,其中所述存储装置包括快闪存储器装置。
16.根据权利要求11所述的系统,其中所述整体命令序列与重放多媒体内容相关联。
17.根据权利要求11所述的系统,其中所述整体命令序列与俘获多媒体内容相关联。
18.根据权利要求11所述的系统,其中所述整体命令序列与数据同步命令相关联。
19.根据权利要求11所述的系统,其中所述整体命令序列与启动命令相关联。
20.根据权利要求11所述的系统,其中所述第一组内部存储器管理操作的操作选自由以下各项组成的群组:
快闪存储器管理操作;
加密/解密传出/传入数据;
压缩/解压传出/传入数据;
反病毒操作;
磁盘碎片整理操作;
加强;
备份数据;
改变数据格式;且
所述快闪存储器管理操作选自由以下各项组成的群组:
垃圾收集;
采用错误校正机制;
将数据高速缓存到快速快闪存储区域中;
清洗高速缓存的数据;
使用低功率模式;以及
静态耗损均衡。
21.根据权利要求11所述的系统,其中所述第二组内部存储器管理操作的操作选自由以下各项组成的群组:
快闪存储器管理操作;
加密/解密传出/传入数据;
压缩/解压传出/传入数据;
反病毒操作;
磁盘碎片整理操作;
加强;
备份数据;
改变数据格式;且
所述快闪存储器管理操作选自由以下各项组成的群组:
垃圾收集;
采用错误校正机制;
将数据高速缓存到快速快闪存储区域中;
清洗高速缓存的数据;
使用低功率模式;以及
静态耗损均衡。
CN2008101095198A 2007-05-28 2008-05-28 通过存储装置管理内部操作 Active CN101324829B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US94042607P 2007-05-28 2007-05-28
US60/940,426 2007-05-28
US12/127,229 US7788415B2 (en) 2007-05-28 2008-05-27 Management of internal operations by a storage device
US12/127,229 2008-05-27

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN2010102868449A Division CN102063295A (zh) 2007-05-28 2008-05-28 通过存储装置管理内部操作

Publications (2)

Publication Number Publication Date
CN101324829A CN101324829A (zh) 2008-12-17
CN101324829B true CN101324829B (zh) 2012-01-18

Family

ID=39745223

Family Applications (2)

Application Number Title Priority Date Filing Date
CN2008101095198A Active CN101324829B (zh) 2007-05-28 2008-05-28 通过存储装置管理内部操作
CN2010102868449A Pending CN102063295A (zh) 2007-05-28 2008-05-28 通过存储装置管理内部操作

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN2010102868449A Pending CN102063295A (zh) 2007-05-28 2008-05-28 通过存储装置管理内部操作

Country Status (6)

Country Link
US (3) US7788415B2 (zh)
EP (2) EP2431857A1 (zh)
JP (1) JP2009070363A (zh)
KR (1) KR20080104998A (zh)
CN (2) CN101324829B (zh)
TW (1) TW200905473A (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7788415B2 (en) * 2007-05-28 2010-08-31 Sandisk Il Ltd. Management of internal operations by a storage device
US8205148B1 (en) * 2008-01-11 2012-06-19 Bruce Sharpe Methods and apparatus for temporal alignment of media
CN103106123B (zh) * 2012-12-27 2016-01-27 苏州佳世达电通有限公司 备份恢复装置及其无线参数的备份恢复方法
US9658923B2 (en) 2014-09-30 2017-05-23 International Business Machines Corporation Optimization of rebuilding in solid state drives
KR102646721B1 (ko) * 2016-04-20 2024-03-14 삼성전자주식회사 컴퓨팅 시스템, 비휘발성 메모리 모듈, 및 저장 장치의 동작 방법
CN109151054B (zh) * 2018-09-21 2021-03-23 长安大学 一种层次码的构造方法及故障节点的修复方法
KR20210016201A (ko) * 2019-08-02 2021-02-15 삼성전자주식회사 스토리지 장치 및 그것의 동작 방법
US11321904B2 (en) 2019-08-30 2022-05-03 Maxon Computer Gmbh Methods and systems for context passing between nodes in three-dimensional modeling
US11714928B2 (en) 2020-02-27 2023-08-01 Maxon Computer Gmbh Systems and methods for a self-adjusting node workspace
US11373369B2 (en) 2020-09-02 2022-06-28 Maxon Computer Gmbh Systems and methods for extraction of mesh geometry from straight skeleton for beveled shapes
CN116595013B (zh) * 2023-07-17 2023-12-01 中国水利水电第七工程局有限公司 多类型监测信息存储及计算方法、系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1428782A (zh) * 2001-12-27 2003-07-09 株式会社东芝 采用扩展命令对磁盘驱动器进行访问控制的方法和设备
CN1497592A (zh) * 1996-12-19 2004-05-19 �¹���ķѷ-�����ع�˾ 存储受控单元的控制命令的存储媒体

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6166730A (en) * 1997-12-03 2000-12-26 Diva Systems Corporation System for interactively distributing information services
US5899949A (en) * 1998-01-26 1999-05-04 Delco Electronics Corp. Deployment control method for distributed architecture supplemental inflatable restraint system
US6216178B1 (en) * 1998-11-16 2001-04-10 Infineon Technologies Ag Methods and apparatus for detecting the collision of data on a data bus in case of out-of-order memory accesses of different times of memory access execution
JP2001175574A (ja) * 1999-12-14 2001-06-29 Fujitsu Ltd コンソール入出力制御システムおよびコンソール管理装置
US6966015B2 (en) * 2001-03-22 2005-11-15 Micromuse, Ltd. Method and system for reducing false alarms in network fault management systems
US6871263B2 (en) * 2001-08-28 2005-03-22 Sedna Patent Services, Llc Method and apparatus for striping data onto a plurality of disk drives
US6983353B2 (en) 2002-04-29 2006-01-03 Emc Corporation Method and apparatus for enhancing operations in disk array storage devices
US8102244B2 (en) * 2003-08-09 2012-01-24 Alien Technology Corporation Methods and apparatuses to identify devices
US7427027B2 (en) * 2004-07-28 2008-09-23 Sandisk Corporation Optimized non-volatile storage systems
US7315917B2 (en) 2005-01-20 2008-01-01 Sandisk Corporation Scheduling of housekeeping operations in flash memory systems
US7631198B2 (en) * 2005-05-10 2009-12-08 Seagate Technology Protocol scripting language for safe execution in embedded system
US8307148B2 (en) * 2006-06-23 2012-11-06 Microsoft Corporation Flash management techniques
US7669086B2 (en) * 2006-08-02 2010-02-23 International Business Machines Corporation Systems and methods for providing collision detection in a memory system
US7679965B2 (en) * 2007-01-31 2010-03-16 Sandisk Il Ltd Flash memory with improved programming precision
US7788415B2 (en) * 2007-05-28 2010-08-31 Sandisk Il Ltd. Management of internal operations by a storage device
US20090271563A1 (en) * 2008-04-28 2009-10-29 Microsoft Corporation Flash memory transactioning

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1497592A (zh) * 1996-12-19 2004-05-19 �¹���ķѷ-�����ع�˾ 存储受控单元的控制命令的存储媒体
CN1428782A (zh) * 2001-12-27 2003-07-09 株式会社东芝 采用扩展命令对磁盘驱动器进行访问控制的方法和设备

Also Published As

Publication number Publication date
US20080301341A1 (en) 2008-12-04
EP1998246A3 (en) 2009-03-25
JP2009070363A (ja) 2009-04-02
KR20080104998A (ko) 2008-12-03
CN101324829A (zh) 2008-12-17
US8392622B2 (en) 2013-03-05
USRE47500E1 (en) 2019-07-09
EP2431857A1 (en) 2012-03-21
TW200905473A (en) 2009-02-01
CN102063295A (zh) 2011-05-18
US7788415B2 (en) 2010-08-31
US20100299456A1 (en) 2010-11-25
EP1998246A2 (en) 2008-12-03

Similar Documents

Publication Publication Date Title
CN101324829B (zh) 通过存储装置管理内部操作
US7529950B2 (en) Information processing system, control method for information processing system, and storage system
US7853759B2 (en) Hints model for optimization of storage devices connected to host and write optimization schema for storage devices
US10565139B2 (en) Intelligent partitioning of external memory devices
US7890716B2 (en) Method of managing time-based differential snapshot
US8065466B2 (en) Library apparatus, library system and method for copying logical volume to disk volume in cache disk with smallest access load
US20060123207A1 (en) Disk system having function of virtualizing logical disk in portable storage device
JP2008146408A (ja) データ記憶装置、そのデータ再配置方法、プログラム
US9424316B2 (en) Controlling mirroring of tables based on access prediction
US7669031B2 (en) Computer system, storage area allocation method, and management computer
CN104035728A (zh) 一种硬盘热插拔处理方法、装置及节点
CN101957729B (zh) 逻辑块变换方法及基于该方法兼容用户读写的方法和装置
US8862850B2 (en) Storage system, storage control apparatus, and storage control method
CN104102735A (zh) 一种针对数据库文件的文件系统优化方法和装置
US10936195B2 (en) Data storage system using in-memory structure for reclaiming space from internal file system to pool storage
US8019799B1 (en) Computer system operable to automatically reorganize files to avoid fragmentation
CN102467557B (zh) 重复数据删除的处理方法
US20120059986A1 (en) Disk apparatus, data replicating method onto disk apparatus and program recording medium
WO2010119478A1 (en) Storage system and control method therefor
JP2009205548A (ja) バックアップシステム
JP6292796B2 (ja) 情報処理装置、情報処理方法及びプログラム
US8112609B2 (en) Data management apparatus and method
CN115129715A (zh) 一种基于内存的数据库系统及服务器系统
CN117348798A (zh) 一种数据存储方法、系统、电子设备及存储介质
KR20140089504A (ko) 데이터 관리 장치 및 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: Israel Kfar Saba

Patentee after: Western data Israel Limited

Address before: Israel Kfar Saba

Patentee before: SanDisk IL Ltd.

CP01 Change in the name or title of a patent holder