用于减少写入延时的系统和方法技术方案

技术编号:20116730 阅读:23 留言:0更新日期:2019-01-16 11:53
提供了具有减少的写入延时的计算机系统(100)以及用于在计算机系统中减少写入延时的方法。计算机系统(100)的处理电路(110)被配置为执行可在快速终止(FT)操作模式和正常或静止操作模式之间切换的卷过滤器驱动器(vfd(140))。当处理电路(110)接收将数据写入存储器(150)的输入/输出(IO)写入请求同时vfd(140)处于FT操作模式时,vfd(140)引起与所接收的IO写入请求相关联的元数据被写入存储器(150)的卷中,同时防止与所接收的IO写入请求相关联的实际数据被写入卷中,从而导致极快的FT模式操作。在文件被写入卷之后,vfd(140)进入静态操作模式,在此期间vfd(140)将所有IO写入请求传递给该卷。

Systems and methods for reducing write latency

A computer system (100) with reduced write latency and a method for reducing write latency in a computer system are provided. The processing circuit (110) of the computer system (100) is configured to perform a volume filter driver (vfd (140) that can be switched between a fast termination (FT) mode of operation and a normal or static mode of operation. When the processing circuit (110) receives the input/output (IO) write request to the memory (150) and the VFD (140) is in FT mode, the VFD (140) causes the metadata associated with the received IO write request to be written into the volume of the memory (150), while preventing the actual data associated with the received IO write request from being written into the volume, resulting in very fast FT mode operation. After the file is written to the volume, VFD (140) enters the static operation mode, during which time VFD (140) passes all IO write requests to the volume.

【技术实现步骤摘要】
用于减少写入延时的系统和方法背景使用各种技术来减少写入延时(writelatency),写入延时是将数据写入计算机系统的存储器所需的时间量。当数据写入存储器时,数据通常包含元数据和实际数据。元数据描述实际数据的属性。在典型的新文件数据写入操作期间,随着实际数据被写入存储器,元数据被在计算机系统上运行的文件系统(FS)处理(即,生成/写入、修改或删除)。元数据的这种处理需要在数据写入操作期间访问存储器,这增加了写入过程的延时,这对计算机系统的写入性能是不利的。用于最小化FS延时的一种已知解决方案是实现通常称为一种类型的定制FS,该类型被设计为当计算机系统正在将数据写入存储器时最小化对处理元数据的需求。该解决方案有许多缺点,包括例如,实现定制FS的正确设计和可靠实施,需要了解存储硬件的复杂性和局限性,需要进行广泛的验证测试,以及需要用户学习另一个文件系统及其控制。另一种已知的,但较少理解的解决方案(并且由于其使用模型缺陷通常未被使用)被称为“预写/写入”方法。利用预写入/写入方法,将要被捕获大小的文件用“虚拟(dummy)”数据预先写入,以预处理(即,写出)描述实际数据的元数据,然后将文件指针重新缠绕到开始写入虚拟数据的起始地址。然后相对于虚拟数据写入实际数据。如果要捕获的实际数据的持续时间非常短且已知大小,并且不需要立即开始写入,则从用户的角度来看预写/写入方法可能是可接受的。当然,对于文件写入,例如持续一个小时,那么最初的预写入预处理过程可能需要一个小时或更长的时间,这对于几乎所有现实的客户应用程序来说都是不可接受的。预写/写入方法在称为CrystalDiskMark的存储性能基准测试工具中实现,该工具可用于测试底层存储硬件的性能,同时最小化由FS引起的性能降低。该工具的用户通常了解他们需要等待接收结果的时间长度,并且测试运行默认为相对较短的持续时间。对于由该工具执行的每个文件写入测试,在写入阶段向用户显示“准备”状态指示符,并且在写入阶段向用户显示“写入”状态指示符。这些指示符显示大致相同的时间量,因此用户会意识到工具预处理元数据所需的时间量。在用于高端、高带宽应用程序的信号测量系统(例如测试和测量设备以及射电望远镜)中,FS必须能够以非常高的速度执行写入操作。这对无间隙或延时一致的应用程序(诸如流媒体应用程序(streamingapplication))尤其重要。通过实验,已经确定这种系统中的存储硬件可以足够快以满足这些需求,假设使用了最先进的硬件,但是该标准或非定制的FS(例如WindowsNTFS)速度不够快(在更新元数据时在硬件上施加的额外性能开销太大),以防止硬件流水线因合理的低成本硬件组件和设计而出现溢出。因此,需要一种运行非定制或标准FS的计算机系统,其减少用于高端、高带宽测量系统的计算机系统中的写入延时。还需要运行非定制或标准FS的计算机系统,该系统特别适合于减少无间隙写入延时或高度延时一致的应用程序(诸如流媒体应用程序)的写入延时。附图说明当结合附图阅读时,根据以下详细描述可最好地理解示例性实施方案。需要强调的是,各种特征不一定按比例绘制。事实上,为了讨论的清楚起见,尺寸可以任意增大或减小。在适用和实际的情况下,相同的附图标记表示相同的元件。图1是根据代表性实施方案的具有减少的写入延时的计算机系统的框图。图2是表示根据代表性实施方案的方法的流程图。图3A和图3B描绘了根据代表性实施方案的方法的流程图,其中标准FS是WindowsNTFS,其是众所周知的和广泛使用的标准FS。图4A和图4B描绘了根据代表性实施方案的方法的流程图,其中标准FS是WindowsNTFS,并且用于FT操作模式的文件初始化在内核模式下运行的VFD内完全执行。图5是表示根据代表性实施方案的错误检测和恢复方法的流程图,用于检测和纠正将元数据写入卷时发生的错误。具体实施方式本文公开的代表性实施方案涉及具有减少的写入延时的计算机系统以及用于计算机系统中用于减少写入延时的方法。该计算机系统包括存储器和处理电路:处理电路被配置为执行能够在快速终止(FT)操作模式和正常“通过(passthrough)”或静止操作模式之间切换的卷过滤器驱动器(VFD)。当VFD处于FT操作模式的同时处理电路接收输入/输出(IO)请求以将数据写入存储器时,作为“第一遍(firstpass)”,VFD使与所接收的IO写入请求相关联的元数据被写入存储器的卷中,同时防止与所接收的IO写入请求相关联的实际数据被写入存储器的卷中。将文件写入卷后,VFD进入静态操作模式,在此期间VFD不会影响对卷的IO写入请求,只是将所有IO写入请求传递给卷,从而允许实际数据和与该文件相关联的任何滞后和附加的元数据更新被写入该卷中,作为“第二遍(secondpass)”。在下面的详细描述中,为了解释而非限制的目的,阐述了公开具体细节的示例性实施方案,以便提供对根据本教导的实施方案的透彻理解。然而,对于受益于本公开的本领域普通技术人员而言显而易见的是,根据本教导的与本文公开的具体细节不同的其他实施方案仍然在所附权利要求的范围内。此外,可以省略对众所周知的装置和方法的描述,以便不模糊示例性实施方案的描述。这些方法和装置显然在本教导的范围内。本文使用的术语仅用于描述特定实施方案的目的,而不旨在限制。所定义的术语除了本教导的
中通常理解和接受的定义术语的技术和科学含义之外。如说明书和所附权利要求书中所使用的,除非上下文另有明确规定,否则术语“一”、“一个”和“该”包括单数和复数指代物。因此,例如,“设备”包括一个设备和多个设备。如附图所示,可以使用相对术语来描述各个元件彼此之间的关系。除了附图中描述的方位之外,这些相对术语旨在包含设备和/或元件的不同方位。应该理解,当元件被称为“连接到”或“耦合到”或“电耦合到”另一元件时,它可以直接连接或耦合,或者可以存在中间元件(interveningelement)。如本文使用的这些术语,术语“存储器”或“存储器设备”旨在表示非临时性计算机可读和可写存储介质,其能够存储计算机指令或计算机代码以由一个或更多处理器执行。存储器还可以存储各种类型的数据,这是本文所讨论的专利技术原理和概念的特别关注点。本文对“存储器”或“存储器设备”的引用应该被解释为一个或多个存储器或存储器设备。例如,存储器可以是同一计算机系统内的多个存储器。存储器还可以是分布在多个计算机系统或计算设备中的多个存储器。本文使用的术语“处理器”包括能够执行计算机程序或可执行计算机指令的电子组件。本文对包括“处理器”的系统的引用应该被解释为具有一个或多个处理器或处理核心的系统。处理器可以例如是多核处理器。处理器还可以指单个计算机系统内的处理器集合或分布在多个计算机系统中的处理器集合。本文使用的术语“计算机”应该被解释为可能指的是单个计算机或计算设备或者计算机或计算设备的集合或网络,每个计算机或计算设备包括一个或多个处理器。计算机程序的指令可以由单个计算机或处理器执行,还可以由多个处理器执行,这些处理器可以在同一台计算机内或可以分布在多台计算机上。如本文所使用的术语“标准FS”表示通常使用并理解为与特定(或多个)操作系统组合操作的非定制FS。例如,Microsoft本文档来自技高网
...

【技术保护点】
1.一种减少将数据写入存储器(150)所需的时间量的计算机系统(100),所述计算机系统(100)包括:存储器(150);以及处理电路(110),其被配置为执行卷过滤器驱动器(vfd(140)),其中,当所述处理电路(110)接收将与文件相关联的数据写入所述存储器(150)的输入/输出(IO)请求同时所述vfd(140)处于快速终止(FT)操作模式时,所述vfd(140)使与所接收的IO写入请求相关联的元数据被写入存储器(150)的卷中,同时防止与所接收的IO写入请求相关联的实际数据被写入存储器的卷中,并且其中在FT操作模式结束之后,所述vfd(140)进入静态操作模式,在该操作模式期间,所述vfd(140)将所有IO写入请求传递给所述卷,从而允许将与所述文件相关联的实际数据被写入卷中。

【技术特征摘要】
2017.06.29 US 15/636,9061.一种减少将数据写入存储器(150)所需的时间量的计算机系统(100),所述计算机系统(100)包括:存储器(150);以及处理电路(110),其被配置为执行卷过滤器驱动器(vfd(140)),其中,当所述处理电路(110)接收将与文件相关联的数据写入所述存储器(150)的输入/输出(IO)请求同时所述vfd(140)处于快速终止(FT)操作模式时,所述vfd(140)使与所接收的IO写入请求相关联的元数据被写入存储器(150)的卷中,同时防止与所接收的IO写入请求相关联的实际数据被写入存储器的卷中,并且其中在FT操作模式结束之后,所述vfd(140)进入静态操作模式,在该操作模式期间,所述vfd(140)将所有IO写入请求传递给所述卷,从而允许将与所述文件相关联的实际数据被写入卷中。2.根据权利要求1所述的计算机系统(100),其中,所述vfd(140)在由所述处理电路(110)执行的Windows操作系统的内核中运行。3.根据权利要求1所述的计算机系统(100),其中,所述vfd(140)由所述处理电路(110)作为标准文件系统的一部分来执行。4.根据权利要求3所述的计算机系统(100),其中,所述标准文件系统是包括WindowsNT文件系统(NTFS)的一组文件系统的文件系统。5.根据权利要求1所述的计算机系统(100),其中,每个IO写入请求是用于将相应IO缓冲器的内容写入所述存储器(150)的卷的请求,并且其中所述vfd(140)在由处理电路(110)执行的Windows操作系统的内核中运行,并且其中,在FT操作模式的初始化期间,在计算机系统(100)上运行的应用程序分配IO缓冲器并且将预选标签位序列写入所分配的IO缓冲器的起始字节,并且其中,在FT操作模式的初始化期间,所述vfd(140)分配比较缓冲器并将预选标签位序列写入比较缓冲器,并且其中,在FT操作模式期间,应用程序重复地将所分配的IO缓冲器的内容写入所述计算机系统(100)的标准文件系统(FS),直到预期大小的文件已被写入标准fs(130)。6.根据权利要求5所述的计算机系统(100),其中,在所述FT操作模式期间,所述vfd(140)检查已由所述应用程序写入的每个IO缓冲器的起始字节,以确定已被写入每个相应IO缓冲器的起始字节的位序列是否匹...

【专利技术属性】
技术研发人员:P·A·斯科特R·D·格兰隆德
申请(专利权)人:是德科技股份有限公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1