CN107515724B - 用于再现存储系统的输入输出的方法和设备 - Google Patents
用于再现存储系统的输入输出的方法和设备 Download PDFInfo
- Publication number
- CN107515724B CN107515724B CN201610429398.XA CN201610429398A CN107515724B CN 107515724 B CN107515724 B CN 107515724B CN 201610429398 A CN201610429398 A CN 201610429398A CN 107515724 B CN107515724 B CN 107515724B
- Authority
- CN
- China
- Prior art keywords
- request
- storage system
- information
- information related
- timestamp
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3034—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3414—Workload generation, e.g. scripts, playback
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/18—Handling requests for interconnection or transfer for access to memory bus based on priority control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/835—Timestamp
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本申请涉及用于再现存储系统的输入输出的方法和设备。在一方面,一种方法包括:响应于接收到针对存储系统的I/O请求,确定与I/O请求相关的信息;生成与I/O请求相关的时间戳;以及记录该信息和时间戳,以用于再现与I/O请求相关的操作。在另一方面,一种方法包括:响应于再现存储系统的I/O操作的请求,获取与针对存储系统的至少一个I/O请求相关的信息,该信息响应于至少一个I/O请求的接收而被记录;获取与至少一个I/O请求对应的至少一个时间戳;以及基于该信息和至少一个时间戳,再现至少一个I/O请求在存储系统上的操作。根据本公开实施例的方案,能够再现针对存储系统的I/O请求在存储系统上的操作,从而有利于进行I/O性能分析和调整。
Description
技术领域
本公开的实施例涉及计算机存储技术,更具体地涉及用于再现存储系统的输入输出(I/O)的方法和设备。
背景技术
随着当前大数据时代的不断发展,堆栈式存储系统已得到越来越广泛的应用。堆栈式存储系统往往涉及多层组件。多层级结构使得难以对存储系统的I/O性能分析和调整。而且,当堆栈式存储系统被具体部署到应用中之后,存储系统可能接收到由应用生成的各种I/O请求。然而,堆栈式存储系统的性能有时可能无法支持特定的应用场景。在大多数情况下,这种特定的应用场景又是在客户端不允许重现的。因此,这也使得难以对堆栈式存储系统的I/O性能做出分析和调整。
发明内容
总体上,本公开实施例提供用于再现存储系统的I/O的方法、设备和计算机程序产品。
在本公开的第一方面,提供一种用于再现存储系统的I/O的方法。该方法包括:响应于接收到针对所述存储系统的I/O请求,确定与所述I/O请求相关的信息;生成与所述I/O请求相关的时间戳;以及记录所述信息和所述时间戳,以用于再现与所述I/O请求相关的操作。
在本公开的第二方面,提供一种用于再现存储系统的I/O的方法。该方法包括:响应于再现所述存储系统的I/O操作的请求,获取与针对所述存储系统的至少一个I/O请求相关的信息,所述信息响应于所述至少一个I/O请求的接收而被记录;获取与所述至少一个I/O请求对应的至少一个时间戳;以及基于所述信息和所述至少一个时间戳,再现所述至少一个I/O请求在所述存储系统上的操作。
在本公开的第三方面,提供一种电子设备。该电子设备包括:处理单元;以及存储器,所述存储器存储有指令,所述指令在被所述处理单元执行时使得所述电子设备:响应于接收到针对存储系统的I/O请求,确定与I/O请求相关的信息;生成与所述I/O请求相关的时间戳;以及记录所述信息和所述时间戳,以用于再现与所述I/O请求相关的操作。
在本公开的第四方面,提供一种电子设备。该电子设备包括:处理单元;以及存储器,所述存储器存储有指令,所述指令在被所述处理单元执行时使得所述电子设备:响应于再现存储系统的I/O操作的请求,获取与针对所述存储系统的至少一个I/O请求相关的信息,所述信息响应于所述至少一个I/O请求的接收而被记录;获取与所述至少一个I/O请求对应的至少一个时间戳;以及基于所述信息和所述至少一个时间戳,再现所述至少一个I/O请求在所述存储系统上的操作。
本公开的其他方面还包括计算机程序产品。该计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,这些机器可执行指令在被执行时使机器执行根据上述方法的一个或多个步骤。
应当理解,发明内容部分中所描述的内容并非旨在限定本公开实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。
附图说明
结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:
图1示出了一种示例性堆栈式存储系统的结构及其使用场景的示意图;
图2示出了根据本公开实施例的使用场景中的处理过程的示意图;
图3示出了根据本公开实施例的一个方面的再现存储系统的I/O的方法的流程图;
图4示出了根据该方面的一个实施例的再现存储系统的I/O的方法的流程图;
图5示出了根据本公开实施例的另一方面的再现存储系统的I/O的方法的流程图;
图6示出了根据该方面的一个实施例的再现存储系统的I/O的方法的流程图;
图7示出了根据本公开实施例的一个方面的再现存储系统的I/O的装置的示意性结构框图;
图8示出了根据本公开实施例的另一方面的再现存储系统的I/O的装置的示意性结构框图;以及
图9示出了适于实现本公开实施例的电子设备的示意性结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中示出了本公开的一些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
在本文中,术语“存储系统”可以指代用于存放程序和数据的任意存储设备,也可以指代包括各种存储设备、控制部件及管理信息调度的设备(硬件)和算法(软件)所组成的系统。
图1示出了一种示例性堆栈式存储系统100的结构及其使用场景的示意图100。如图1所示,存储系统120服务于主机110。具体地,主机110可以向存储系统120发送I/O请求,以将有关数据存储到存储系统120或者从存储系统120获取存储的有关数据。图1中的存储系统120的结构例如可以是VNX2堆栈。
如图1所示,该存储系统120堆栈包括多层组件,例如前端121、主机端122、数据服务123、多核缓存(Multicore Cache)124、多核快速缓存(Multicore Fast Cache)125、多核磁盘阵列(Multicore RAID)126以及后端127。主机110对存储系统120发出的I/O请求需要穿过多个组件。每个组件处理该I/O请求或者只是将该I/O请求传递到下一组件。此外,I/O请求在向下穿过每个组件时可以被组合或者拆分。
如上面提及的,在图1所示的这种堆栈式存储系统100中,由于存储系统的结构复杂和/或客户端场景的难以重现,难以进行存储系统的I/O性能分析和调整。为了解决上述以及其他潜在的问题,本公开的实施例提供一种再现存储系统的I/O的方案,以便于进行存储系统的I/O性能分析和调整。
图2示出了根据本公开实施例的使用场景中的处理过程200的示意图。如图2所示,根据本公开的实施例,在主机110向存储系统120发出I/O请求时,可以从该I/O请求中获取(210)与该I/O请求相关的信息。基于所获取的与I/O请求相关的信息,可以再现(220)与该I/O请求相关的操作。
例如,在某些实施例中,可以将实时获取的与该I/O请求相关的信息进行存储,并且在需要对I/O性能进行分析和/或调整时基于存储的信息来再现与I/O请求相关的操作。当然,实时再现同样落入本公开的范围之内。备选地或附加地,在一些实施例中,也可以针对存储系统中的任意一个或多个组件来获取与针对该组件的I/O请求相关的信息,并基于获取的信息来再现与该I/O请求相关的操作。
下面结合图3至图6进行更详细描述。为了描述方便,下文将参考图1所示的存储系统100来描述本公开的实施例。但是应当理解,本公开的思想和原理同样适用于其他堆栈式存储系统,不论是目前已知的还是将来开发的。
图3示出了根据本公开实施例的一个方面的再现存储系统的I/O的方法300的流程图。该方法300可以用于实现图2中的210所示的处理。该方法300可以在存储系统120上实施。特别地,该方法300可以在存储系统的任意一个或多个组件121-127上实施。附加地或备选地,该方法300也可以在与存储系统对应的主机110上实施。
如图3所示,在步骤310,确定与I/O请求相关的信息。具体而言,可以响应于接收到针对存储系统的I/O请求,来确定与该I/O请求相关的信息。在一个实施例中,可以响应于I/O监测使能信号而获取与I/O请求相关的信息。例如,I/O监测使能信号可以是开关信号,以开启或关断I/O监测。在这样的实施例中,如果接收到指示开启I/O监测的I/O监测使能信号,则开始监测针对存储系统的I/O请求。如果监测到针对存储系统的I/O请求,则确定与该I/O请求相关的信息。
根据本公开的实施例,所述信息包括与I/O请求相关的以下至少一项:操作类型、操作范围、起始信息以及来源。具体而言,操作类型可以指示I/O的操作种类,诸如读取、写入、写零操作等。在一个实施例中,操作类型可以包括操作码(Opcode),例如由操作码来指示。操作范围可以指示I/O所针对的存储区域。在一个实施例中,操作范围可以包括逻辑区块地址(LBA),例如由LBA来指示。例如,操作范围可以包括I/O所针对的扇区开始的LBA以及I/O涉及的区块数目。起始信息可以指示与I/O的开始和结束相关的信息。在一个实施例中,起始信息可以包括以下项中的至少一项:起始时间、结束时间和起始标识。来源可以指示I/O针对存储系统的哪个组件、涉及哪个CPU核等。在一个实施例中,来源可以包括以下项中的至少一项:存储系统的组件标识以及CPU标识。
应理解到,与I/O请求相关的信息并不限于上面列出的这些具体示例,而是还可以包括任意其它合适信息。例如,还可以包括数据的部分,诸如区块的“异或”(XOR)运算数据,以用于验证数据的正确性。
在步骤320,生成与I/O请求相关的时间戳。具体而言,生成时间戳以指示针对I/O请求获取或记录所述信息的时间。时间戳可以以任何适当的格式存储,本公开的范围在此方面不受限制。
在步骤330,记录所述信息和所述时间戳,以用于再现与I/O请求相关的操作。在一个实施例中,可以通过定义相应的配置文件来记录与I/O请求相关的信息和时间戳。作为实例,下面的表I示出了配置文件的一些字段的示例。注意,表I所示的示例仅仅是出于讨论之目的,无意以任何方式限制本公开的范围。
表I
图4示出了根据该方面的一个实施例的再现存储系统的I/O的方法400的流程图。在本示例中,针对存储系统的至少一个组件执行方法400。该方法400同样可以用于实现图2中的210所示的处理。该方法400可以在存储系统的任意一个或多个组件121-127上实施。附加地或备选地,该方法400也可以在与存储系统对应的主机110上实施。应当理解,方法400可以看作是方法300的一种具体实现。
如图4所示,在步骤410,监测针对存储系统的至少一个组件的I/O请求。在一个实施例中,可以响应于针对存储系统的至少一个组件的I/O监测使能信号来开始监测针对存储系统的该组件的I/O请求。
在步骤420,判断是否接收到针对存储系统的该组件的I/O请求。如果没有接收到I/O请求,则方法400返回步骤410以便继续监测I/O请求。如果接收到I/O请求,则方法400进入步骤430,在此确定与该I/O请求相关的信息。步骤430对应于前面结合图3描述的步骤310,这里不再赘述。
在步骤440,生成与该I/O请求相关的时间戳。该步骤的处理类似于前面结合图3描述的步骤320的处理,这里不再赘述。继而,在步骤450,将在步骤430中确定的信息和在步骤440中生成的时间戳存储到缓存中。具体而言,可以通过前面结合图3的步骤330描述的配置文件的形式将信息和时间戳记录到缓存中。通过这样仅在缓存中记录I/O配置文件,I/O实时路径的性能基本不会受到影响。
在某些实施例中,可以在步骤460判断缓存是否已满。如果缓存未满(分支“否”),则可以将后续数据存储到该缓存。另一方面,如果在步骤460确定缓存已满(分支“是”),方法400可以进行到步骤470。
在步骤470,将缓存中的信息和时间戳转存到非易失性存储介质中。在一个实施例中,缓存可以是环形缓冲区。具体而言,可以将环形缓存划分成若干小的环形缓冲区。如果一个小的环形缓冲区已满,则可以通过另一后台线程将该环形缓冲区中缓存的数据转存到非易失性存储介质中。如果该线程比信息记录的生成速度慢,则会丢失记录。因此,在一个示例实施例中,可以选择较快速的非易失性存储介质。非易失存储介质例如为持久性存储盘,诸如磁盘或光盘。在另一示例实施例中,如果信息记录过多,则可以为其分配较大的缓冲区。
以上结合图3和图4描述了获取与I/O请求相关的信息的过程,也即,图2中的动作210。下面结合图5和图6描述基于该信息再现与I/O请求相关的操作的过程,也即,图2的动作220。
图5示出了根据本公开实施例的另一方面的再现存储系统的I/O的方法500的流程图。该方法500可以用于实现图2中的220所示的处理。该方法500可以在存储系统120上实施。特别地,该方法500可以在存储系统的任意一个或多个组件121-127上实施。附加地或备选地,该方法500也可以在与存储系统对应的主机110上实施。附加地或备选地,在又一些实施例中,该方法500也可以在主机110和存储系统120之外的其它任意计算设备上实施。
如图5所示,在步骤510,获取与针对存储系统的至少一个I/O请求相关的信息。具体而言,可以响应于再现存储系统的I/O操作的请求,获取与该至少一个I/O请求相关的信息。该信息是响应于该至少一个I/O请求的接收而被记录的,如前面结合图3和图4所描述的那样。例如,可以通过访问存储该信息的配置文件(可参见前面结合图4所描述的有关内容)来获取这些信息。在一些实施例中,可以响应于再现存储系统的至少一个组件的I/O操作的请求,获取与针对存储系统的该至少一个组件的至少一个I/O请求相关的信息。也就是说,可以仅针对存储系统的特定组件进行I/O性能分析和调整,由此增加了I/O性能分析的操作灵活性。
在步骤520,获取与该至少一个I/O请求对应的至少一个时间戳。如上所述,时间戳是响应于该至少一个I/O请求的接收而记录信息时产生的,如前面结合图3和图4所描述的那样。例如,可以通过访问存储时间戳的配置文件(可参见前面结合图4所描述的有关内容)来获取相应时间戳。
在步骤530,基于获取的信息和至少一个时间戳,再现该至少一个I/O请求在存储系统上的操作。为此,在一个实施例中,可以按照时间戳对I/O请求相关的信息进行排序,根据排序后的信息生成脚本,并通过执行脚本来再现该I/O请求在存储系统上的操作。注意,基于I/O请求排序的重现仅仅是示例性的。在备选实施例中,在不同的机器上并发地重现I/O请求也是可行的。
下面将结合图6对基于I/O请求排序的重现的实施例进行详细描述。图6示出了根据该方面的一个实施例的再现存储系统的I/O的方法600的流程图。在本实施例中,至少一个I/O请求可以包括多个I/O请求,并且至少一个时间戳可以包括多个时间戳。
如图6所示,在步骤610,响应于再现存储系统的I/O操作的请求,获取与针对存储系统的多个I/O请求相关的信息。该信息响应于该多个I/O请求的接收而被记录。步骤610类似于前面结合图5所描述的步骤510,这里不再赘述。在步骤620,获取与该多个I/O请求对应的多个时间戳。该时间戳是响应于该多个I/O请求的接收而记录信息时产生的。步骤620类似于前面结合图5所描述的步骤520,这里亦不再赘述。
在步骤630,对获取的信息进行过滤。应当理解,该步骤是可选的,并不是必需的。根据本实施例,可以根据需要对获取的信息进行过滤。例如,如果只需要分析特定组件的I/O性能,则可以以I/O的来源信息(例如在本例中为该特定组件的标识)作为过滤条件,对获取的信息进行过滤。这样,能够得到仅与该特定组件的标识对应的多个I/O请求相关的信息。应理解到,过滤条件可以根据需要任意设定,而不限于这里所公开的示例。
在步骤640,按照多个时间戳对过滤后的信息进行排序。例如,与每个I/O请求相关的信息可以对应于配置文件中的一条记录,并且每个记录对应于一个时间戳。按照时间戳,可以对与各I/O请求相关的各记录进行排序。
在步骤650,根据排序后的信息生成脚本。在某些实施例中,例如,可以根据排序后的各记录中的信息,例如前面提及的I/O操作类型、操作范围、起始信息等,可以生成相应的操作命令或命令集合(例如在某个时间、针对某个LBA范围、在某个CPU核上执行读取操作),然后将这些命令或命令集合编写成脚本。
在步骤660,通过执行脚本来再现多个I/O请求在存储系统上的操作。脚本可以由任意计算设备来执行,从而再现这些I/O请求在存储系统上的操作过程。由此可以方便地进行I/O性能分析和调整。
至此结合图3至图6描述了根据本公开实施例的用于再现存储系统的I/O的方法。相应地,本公开实施例还提供用于再现存储系统的I/O的装置。下面结合图7和图8进行描述。
图7示出了根据本公开实施例的一个方面的再现存储系统的I/O的装置700的示意性结构框图。该装置700可以在存储系统(例如图1的存储系统120)上实施。附加地或备选地,该装置700可以在存储系统的任意一个或多个组件(例如图1的组件121-127)上实施。附加地或备选地,该装置700也可以在与存储系统对应的主机(例如图1的主机110)上实施。
如图7所示,装置700可以包括确定单元710、生成单元720和记录单元730。具体而言,确定单元710可以被配置用于响应于接收到针对存储系统的I/O请求来确定与I/O请求相关的信息。在一个实施例中,确定单元710可以被进一步配置用于响应于接收到针对存储系统的至少一个组件的I/O请求,确定与针对至少一个组件的I/O请求相关的信息。在一个实施例中,确定单元710可以被进一步配置用于响应于I/O监测使能信号而获取与I/O请求相关的信息。生成单元720可以被配置用于生成与I/O请求相关的时间戳。记录单元730可以被配置用于记录该信息和时间戳,以用于再现与I/O请求相关的操作。在一个实施例中,记录单元730可以被进一步配置用于将该信息和时间戳存储到缓存中。响应于缓存变满,记录单元730可以被进一步配置用于将该信息和时间戳转存到非易失性存储介质中。
图8示出了根据本公开实施例的另一方面的再现存储系统的I/O的装置800的示意性结构框图。该装置800可以在存储系统(例如图1的存储系统120)上实施。附加地或备选地,该装置800可以在存储系统的任意一个或多个组件(例如图1的组件121-127)上实施。附加地或备选地,该装置800也可以在与存储系统对应的主机(例如图1的主机110)上实施。附加地或备选地,该装置800也可以在独立于存储系统的其它计算设备(例如除了图1的主机110和存储系统120之外的任意计算设备)上实施。
如图8所示,装置800可以包括第一获取单元810、第二获取单元820和再现单元830。具体而言,第一获取单元810可以被配置用于响应于再现存储系统的I/O操作的请求,获取与针对存储系统的至少一个I/O请求相关的信息。其中,该信息是响应于至少一个I/O请求的接收而被记录的。在一个实施例中,第一获取单元810可以被进一步配置用于响应于再现存储系统的至少一个组件的I/O操作的请求,获取与针对存储系统的至少一个组件的至少一个I/O请求相关的信息。
第二获取单元820可以被配置用于获取与该至少一个I/O请求对应的至少一个时间戳。其中,该时间戳是响应于至少一个I/O请求的接收而记录信息时产生的。
再现单元830可以被配置用于基于该信息和至少一个时间戳,再现至少一个I/O请求在存储系统上的操作。在一个实施例中,至少一个I/O请求包括多个I/O请求,并且至少一个时间戳包括多个时间戳。在本实施例中,再现单元830可以进一步包括(图中未示出)排序子单元、生成子单元和再现子单元。排序子单元可以被配置用于按照多个时间戳对多个I/O请求的信息排序。生成子单元可以被配置用于根据排序后的信息生成脚本。再现子单元可以被配置用于通过执行脚本来再现多个I/O请求在存储系统上的操作。在一个实施例中,排序子单元还可以被进一步配置用于对获取的信息进行过滤,并按照多个时间戳对过滤后的信息排序。
应当理解,装置700和装置800中记载的每个单元分别与参考图3和图5描述的方法300和500中的每个步骤相对应。并且,装置700和装置800及其中包含的单元的操作和特征都对应于上文结合图3至图6描述的操作和特征,并且具有同样的效果,具体细节不再赘述。
装置700和装置800中所包括的单元可以利用各种方式来实现,包括软件、硬件、固件或其任意组合。在一个实施例中,一个或多个单元可以使用软件和/或固件来实现,例如存储在存储介质上的机器可执行指令。除了机器可执行指令之外或者作为替代,装置700和装置800中的部分或者全部单元可以至少部分地由一个或多个硬件逻辑组件来实现。作为示例而非限制,可以使用的示范类型的硬件逻辑组件包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准品(ASSP)、片上系统(SOC)、复杂可编程逻辑器件(CPLD),等等。
图7和图8中所示的这些单元可以部分或者全部地实现为硬件模块、软件模块、固件模块或者其任意组合。特别地,在某些实施例中,上文描述的流程、方法或过程可以由存储系统或与存储系统对应的主机或独立于存储系统的其它计算设备中的硬件来实现。
图9示出了一个可以用来实施本公开的实施例的电子设备900的示意性框图。如图所示,电子设备900包括中央处理单元(CPU)901,其可以根据存储在只读存储器(ROM)902中的计算机程序指令或者从存储单元908加载到随机访问存储器(RAM)903中的计算机程序指令,来执行各种适当的动作和处理。在RAM 903中,还可存储电子设备900操作所需的各种程序和数据。CPU 901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
电子设备900中的多个部件连接至I/O接口905,包括:输入单元906,例如键盘、鼠标等;输出单元907,例如各种类型的显示器、扬声器等;存储单元908,例如磁盘、光盘等;以及通信单元909,例如网卡、调制解调器、无线通信收发机等。通信单元909允许电子设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各个过程和处理,例如方法300-600,可由处理单元901执行。例如,在一些实施例中,方法300-600可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元908。在一些实施例中,计算机程序的部分或者全部可以经由ROM 902和/或通信单元909而被载入和/或安装到电子设备900上。当计算机程序被加载到RAM 903并由CPU 901执行时,可以执行上文描述的方法300-600的一个或多个步骤。
一般而言,本公开的各种示例实施例可以在硬件或专用电路、软件、逻辑,或其任何组合中实施。某些方面可以在硬件中实施,而其他方面可以在可以由控制器、微处理器或其他计算设备执行的固件或软件中实施。当本公开的实施例的各方面被图示或描述为框图、流程图或使用某些其他图形表示时,将理解此处描述的方框、装置、系统、技术或方法可以作为非限制性的示例在硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备,或其某些组合中实施。
作为示例,本公开的实施例可以在机器可执行指令的上下文中被描述,机器可执行指令诸如包括在目标的真实或者虚拟处理器上的器件中执行的程序模块中。一般而言,程序模块包括例程、程序、库、对象、类、组件、数据结构等,其执行特定的任务或者实现特定的抽象数据结构。在各实施例中,程序模块的功能可以在所描述的程序模块之间合并或者分割。用于程序模块的机器可执行指令可以在本地或者分布式设备内执行。在分布式设备中,程序模块可以位于本地和远程存储介质二者中。
用于实现本公开的方法的计算机程序代码可以用一种或多种编程语言编写。这些计算机程序代码可以提供给通用计算机、专用计算机或其他可编程的数据处理装置的处理器,使得程序代码在被计算机或其他可编程的数据处理装置执行的时候,引起在流程图和/或框图中规定的功能/操作被实施。程序代码可以完全在计算机上、部分在计算机上、作为独立的软件包、部分在计算机上且部分在远程计算机上或完全在远程计算机或服务器上执行。
在本公开的上下文中,机器可读介质可以是包含或存储用于或有关于指令执行系统、装置或设备的程序的任何有形介质。机器可读介质可以是机器可读信号介质或机器可读存储介质。机器可读介质可以包括但不限于电子的、磁的、光学的、电磁的、红外的或半导体系统、装置或设备,或其任意合适的组合。机器可读存储介质的更详细示例包括带有一根或多根导线的电气连接、便携式计算机磁盘、硬盘、随机存储存取器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光存储设备、磁存储设备,或其任意合适的组合。
另外,尽管操作以特定顺序被描绘,但这并不应该理解为要求此类操作以示出的特定顺序或以相继顺序完成,或者执行所有图示的操作以获取期望结果。在某些情况下,多任务或并行处理会是有益的。同样地,尽管上述讨论包含了某些特定的实施细节,但这并不应解释为限制任何发明或权利要求的范围,而应解释为对可以针对特定发明的特定实施例的描述。本说明书中在分开的实施例的上下文中描述的某些特征也可以整合实施在单个实施例中。反之,在单个实施例的上下文中描述的各种特征也可以分离地在多个实施例或在任意合适的子组合中实施。
尽管已经以特定于结构特征和/或方法动作的语言描述了主题,但是应当理解,所附权利要求中限定的主题并不限于上文描述的特定特征或动作。相反,上文描述的特定特征和动作是作为实现权利要求的示例形式而被公开的。
Claims (20)
1.一种用于再现存储系统的输入输出I/O的方法,包括:
响应于接收到针对所述存储系统的I/O请求,从所述I/O请求获取与所述I/O请求相关的信息,所述I/O请求具有与所述I/O请求相关的I/O操作;
生成与所述I/O请求相关的时间戳;以及
记录所述信息和所述时间戳,以用于再现与所述I/O请求相关的所述I/O操作,从而进行所述存储系统的I/O性能分析和调整中的一者或多者;
其中所述信息包括以下至少一项:与所述I/O操作的类型相关的信息、与所述I/O操作的范围相关的信息、与所述I/O请求的起始相关的信息、以及与所述I/O请求的来源相关的信息。
2.根据权利要求1所述的方法,其中获取与所述I/O请求相关的所述信息包括:
响应于I/O监测使能信号而从所述I/O请求获取与所述I/O请求相关的所述信息。
3.根据权利要求1所述的方法,其中记录所述信息和所述时间戳包括:
将所述信息和所述时间戳存储到缓存中。
4.根据权利要求3所述的方法,还包括:
响应于所述缓存变满,将所述信息和所述时间戳转存到非易失性存储介质中。
5.根据权利要求1所述的方法,其中所述I/O请求是针对所述存储系统的至少一个组件,并且其中获取与所述I/O请求相关的信息包括:
响应于接收到针对所述存储系统的所述至少一个组件的所述I/O请求,获取与针对所述至少一个组件的所述I/O请求相关的信息。
6.一种用于再现存储系统的输入输出I/O的方法,包括:
响应于再现所述存储系统的I/O操作的请求,从至少一个I/O请求获取与针对所述存储系统的所述至少一个I/O请求相关的信息,所述至少一个I/O请求具有与所述至少一个I/O请求相关的、针对所述存储系统的I/O操作,所述信息响应于所述至少一个I/O请求的接收而被记录;
获取与所述至少一个I/O请求对应的至少一个时间戳;以及
基于所述信息和所述至少一个时间戳,再现所述至少一个I/O请求在所述存储系统上的所述I/O操作,从而进行所述存储系统的I/O性能分析和调整中的一者或多者;
其中所述信息包括以下至少一项:与所述I/O操作的类型相关的信息、与所述I/O操作的范围相关的信息、与所述I/O请求的起始相关的信息、以及与所述I/O请求的来源相关的信息。
7.根据权利要求6所述的方法,其中所述至少一个I/O请求包括多个I/O请求,所述至少一个时间戳包括多个时间戳,并且其中再现所述至少一个I/O请求在所述存储系统上的所述I/O操作包括:
按照所述多个时间戳对所述多个I/O请求的所述信息排序;
根据排序后的所述信息生成脚本;以及
通过执行所述脚本来再现所述多个I/O请求在所述存储系统上的I/O操作。
8.根据权利要求7所述的方法,其中按照所述多个时间戳对所述多个I/O请求的所述信息排序包括:
对获取的所述信息进行过滤;以及
按照所述多个时间戳对过滤后的所述信息排序。
9.根据权利要求6所述的方法,其中用于再现所述存储系统的所述I/O操作的所述请求是用于再现所述存储系统的至少一个组件的I/O操作,并且其中从所述至少一个I/O请求获取与针对所述存储系统的所述至少一个I/O请求相关的信息包括:
响应于再现所述存储系统的所述至少一个组件的所述I/O操作的请求,从所述至少一个I/O请求获取与针对所述存储系统的所述至少一个组件的所述至少一个I/O请求相关的信息。
10.一种电子设备,包括:
处理单元;以及
存储器,所述存储器存储有指令,所述指令在被所述处理单元执行时使得所述电子设备:
响应于接收到针对存储系统的I/O请求,从所述I/O请求获取与I/O请求相关的信息,所述I/O请求具有与所述I/O请求相关的I/O操作;
生成与所述I/O请求相关的时间戳;以及
记录所述信息和所述时间戳,以用于再现与所述I/O请求相关的所述I/O操作,从而进行所述存储系统的I/O性能分析和调整中的一者或多者;
其中所述信息包括以下至少一项:与所述I/O操作的类型相关的信息、与所述I/O操作的范围相关的信息、与所述I/O请求的起始相关的信息、以及与所述I/O请求的来源相关的信息。
11.根据权利要求10所述的电子设备,其中所述存储器还存储有指令,所述指令在被所述处理单元执行时使得所述电子设备:
响应于I/O监测使能信号而从所述I/O请求获取与所述I/O请求相关的所述信息。
12.根据权利要求10所述的电子设备,其中所述存储器还存储有指令,所述指令在被所述处理单元执行时使得所述电子设备:
将所述信息和所述时间戳存储到缓存中。
13.根据权利要求12所述的电子设备,其中所述存储器还存储有指令,所述指令在被所述处理单元执行时使得所述电子设备:
响应于所述缓存变满,将所述信息和所述时间戳转存到非易失性存储介质中。
14.根据权利要求10所述的电子设备,其中所述存储器还存储有指令,所述指令在被所述处理单元执行时使得所述电子设备:
响应于接收到针对所述存储系统的至少一个组件的I/O请求,从所述I/O请求获取与针对所述至少一个组件的所述I/O请求相关的信息。
15.一种电子设备,包括:
处理单元;以及
存储器,所述存储器存储有指令,所述指令在被所述处理单元执行时使得所述电子设备:
响应于再现存储系统的I/O操作的请求,从至少一个I/O请求获取与针对所述存储系统的所述至少一个I/O请求相关的信息,所述至少一个I/O请求具有与所述至少一个I/O请求相关的、针对所述存储系统的I/O操作,所述信息响应于所述至少一个I/O请求的接收而被记录;
获取与所述至少一个I/O请求对应的至少一个时间戳;以及
基于所述信息和所述至少一个时间戳,再现所述至少一个I/O请求在所述存储系统上的所述I/O操作,从而进行所述存储系统的I/O性能分析和调整中的一者或多者;
其中所述信息包括以下至少一项:与所述I/O操作的类型相关的信息、与所述I/O操作的范围相关的信息、与所述I/O请求的起始相关的信息、以及与所述I/O请求的来源相关的信息。
16.根据权利要求15所述的电子设备,其中所述至少一个I/O请求包括多个I/O请求,所述至少一个时间戳包括多个时间戳,并且
其中所述存储器还存储有指令,所述指令在被所述处理单元执行时使得所述电子设备:
按照所述多个时间戳对所述多个I/O请求的所述信息排序;
根据排序后的所述信息生成脚本;以及
通过执行所述脚本来再现所述多个I/O请求在所述存储系统上的I/O操作。
17.根据权利要求16所述的电子设备,其中所述存储器还存储有指令,所述指令在被所述处理单元执行时使得所述电子设备:
对获取的所述信息进行过滤;以及
按照所述多个时间戳对过滤后的所述信息排序。
18.根据权利要求15所述的电子设备,其中用于再现所述存储系统的所述I/O操作的所述请求是用于再现所述存储系统的至少一个组件的I/O操作,所述存储器还存储有指令,所述指令在被所述处理单元执行时使得所述电子设备:
响应于再现所述存储系统的所述至少一个组件的所述I/O操作的请求,从所述至少一个I/O请求获取与针对所述存储系统的所述至少一个组件的所述至少一个I/O请求相关的信息。
19.一种计算机程序产品,所述计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,所述机器可执行指令在被执行时使机器执行根据权利要求1至5中的任一项所述的方法的步骤。
20.一种计算机程序产品,所述计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,所述机器可执行指令在被执行时使机器执行根据权利要求6至9中的任一项所述的方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610429398.XA CN107515724B (zh) | 2016-06-16 | 2016-06-16 | 用于再现存储系统的输入输出的方法和设备 |
US15/622,751 US10528257B2 (en) | 2016-06-16 | 2017-06-14 | Method and apparatus for reproducing an I/O operation of a storage system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610429398.XA CN107515724B (zh) | 2016-06-16 | 2016-06-16 | 用于再现存储系统的输入输出的方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107515724A CN107515724A (zh) | 2017-12-26 |
CN107515724B true CN107515724B (zh) | 2021-04-02 |
Family
ID=60661356
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610429398.XA Active CN107515724B (zh) | 2016-06-16 | 2016-06-16 | 用于再现存储系统的输入输出的方法和设备 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10528257B2 (zh) |
CN (1) | CN107515724B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200129776A (ko) * | 2019-05-10 | 2020-11-18 | 삼성전자주식회사 | 재전송 공격에 대한 방어책을 포함하는 메모리 시스템의 구동 방법 및 이를 수행하는 메모리 시스템 |
CN110381146B (zh) * | 2019-07-23 | 2021-09-03 | 腾讯科技(深圳)有限公司 | 批量操作处理方法、装置及存储介质 |
CN112748854B (zh) | 2019-10-30 | 2024-04-26 | 伊姆西Ip控股有限责任公司 | 对快速存储设备的优化访问 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101216850A (zh) * | 2008-01-11 | 2008-07-09 | 清华大学 | 文件系统访问记录的动态采集方法 |
CN102043594A (zh) * | 2010-12-31 | 2011-05-04 | 中科海量存储技术(北京)有限公司 | 分布式环境下实现输入输出踪迹收集回放的系统和方法 |
CN102282544A (zh) * | 2009-01-27 | 2011-12-14 | 日本电气株式会社 | 存储系统 |
CN102932464A (zh) * | 2012-11-06 | 2013-02-13 | 无锡江南计算技术研究所 | 一种存储系统的性能分析方法及装置 |
CN104134027A (zh) * | 2014-07-23 | 2014-11-05 | 华为技术有限公司 | 一种顺序流识别的方法以及装置 |
CN104317530A (zh) * | 2014-10-21 | 2015-01-28 | 浪潮电子信息产业股份有限公司 | 远程容灾技术中一种数据捕获方法的设计 |
CN104903872A (zh) * | 2012-08-31 | 2015-09-09 | 才智知识产权控股公司(2) | 用于自适应持久化的系统、方法和接口 |
CN105653435A (zh) * | 2015-12-28 | 2016-06-08 | 曙光信息产业(北京)有限公司 | 一种网络文件系统nfs的性能测试方法和装置 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2811848A1 (fr) * | 2000-07-13 | 2002-01-18 | Thomson Multimedia Sa | Systeme, procede et dispositif d'horodatage et de verification de la validite d'horodate dans un environnement de diffusion numerique |
US8146100B2 (en) * | 2006-03-21 | 2012-03-27 | Sap Ag | System and method for event-based information flow in software development processes |
US20090037431A1 (en) * | 2007-07-30 | 2009-02-05 | Paul Martino | System and method for maintaining metadata correctness |
US9244929B2 (en) * | 2007-10-31 | 2016-01-26 | Echostar Technologies L.L.C. | Automated indexing of electronic files and file folders |
CN101453371B (zh) * | 2008-06-26 | 2010-10-27 | 北京科技大学 | 网络化嵌入式系统的仿真方法及其装置 |
US8983902B2 (en) * | 2010-12-10 | 2015-03-17 | Sap Se | Transparent caching of configuration data |
US9213717B1 (en) | 2011-09-28 | 2015-12-15 | Emc Corporation | Managing concurrent I/OS in file systems |
US9131374B1 (en) | 2012-02-24 | 2015-09-08 | Emc Corporation | Knowledge-based authentication for restricting access to mobile devices |
US8671229B1 (en) | 2012-06-30 | 2014-03-11 | Emc Corporation | System and method for managing IO operations |
US9355112B1 (en) | 2012-12-31 | 2016-05-31 | Emc Corporation | Optimizing compression based on data activity |
US8959263B2 (en) * | 2013-01-08 | 2015-02-17 | Apple Inc. | Maintaining I/O priority and I/O sorting |
US9760574B1 (en) | 2014-06-30 | 2017-09-12 | EMC IP Holding Company LLC | Managing I/O requests in file systems |
CN104461521B (zh) * | 2014-11-26 | 2018-11-13 | 北京航空航天大学 | 一种应用程序重放方法及系统 |
-
2016
- 2016-06-16 CN CN201610429398.XA patent/CN107515724B/zh active Active
-
2017
- 2017-06-14 US US15/622,751 patent/US10528257B2/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101216850A (zh) * | 2008-01-11 | 2008-07-09 | 清华大学 | 文件系统访问记录的动态采集方法 |
CN102282544A (zh) * | 2009-01-27 | 2011-12-14 | 日本电气株式会社 | 存储系统 |
CN102043594A (zh) * | 2010-12-31 | 2011-05-04 | 中科海量存储技术(北京)有限公司 | 分布式环境下实现输入输出踪迹收集回放的系统和方法 |
CN104903872A (zh) * | 2012-08-31 | 2015-09-09 | 才智知识产权控股公司(2) | 用于自适应持久化的系统、方法和接口 |
CN102932464A (zh) * | 2012-11-06 | 2013-02-13 | 无锡江南计算技术研究所 | 一种存储系统的性能分析方法及装置 |
CN104134027A (zh) * | 2014-07-23 | 2014-11-05 | 华为技术有限公司 | 一种顺序流识别的方法以及装置 |
CN104317530A (zh) * | 2014-10-21 | 2015-01-28 | 浪潮电子信息产业股份有限公司 | 远程容灾技术中一种数据捕获方法的设计 |
CN105653435A (zh) * | 2015-12-28 | 2016-06-08 | 曙光信息产业(北京)有限公司 | 一种网络文件系统nfs的性能测试方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
US20170364269A1 (en) | 2017-12-21 |
US10528257B2 (en) | 2020-01-07 |
CN107515724A (zh) | 2017-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10229141B2 (en) | Parallel load in a column-store database | |
US10437703B2 (en) | Correlation of source code with system dump information | |
US9639459B2 (en) | I/O latency and IOPs performance in thin provisioned volumes | |
US9286328B2 (en) | Producing an image copy of a database object based on information within database buffer pools | |
US10417137B2 (en) | Flushing pages from solid-state storage device | |
US10915498B2 (en) | Dynamically managing a high speed storage tier of a data storage system | |
US9043914B2 (en) | File scanning | |
CN107515724B (zh) | 用于再现存储系统的输入输出的方法和设备 | |
US20180357004A1 (en) | Ensuring in-storage data atomicity and consistency at low cost | |
US20190384754A1 (en) | In-place updates with concurrent reads in a decomposed state | |
US11157456B2 (en) | Replication of data in a distributed file system using an arbiter | |
US9588884B2 (en) | Systems and methods for in-place reorganization of device storage | |
US10171341B2 (en) | Software defined storage stack problem diagnosis and optimization | |
US20170109367A1 (en) | Early compression related processing with offline compression | |
CN113127438A (zh) | 用于存储数据的方法、装置、服务器和介质 | |
US10795575B2 (en) | Dynamically reacting to events within a data storage system | |
CN113609074B (zh) | 医学影像文件入库归档的方法及相关装置 | |
US8966133B2 (en) | Determining a mapping mode for a DMA data transfer | |
US11003578B2 (en) | Method and system for parallel mark processing | |
US8402235B2 (en) | Backup apparatus, backup method and backup program | |
US20110208945A1 (en) | Generating random addresses for verification of distributed computerized devices | |
US8966220B2 (en) | Optimizing large page processing | |
CN106776666B (zh) | 基于moodle网站的数据缓存方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20200414 Address after: Massachusetts, USA Applicant after: EMC IP Holding Company LLC Address before: Ma Sazhusaizhou Applicant before: EMC Corp. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |