CN114579043A - Log结构阵列中的i/o操作 - Google Patents

Log结构阵列中的i/o操作 Download PDF

Info

Publication number
CN114579043A
CN114579043A CN202111430298.6A CN202111430298A CN114579043A CN 114579043 A CN114579043 A CN 114579043A CN 202111430298 A CN202111430298 A CN 202111430298A CN 114579043 A CN114579043 A CN 114579043A
Authority
CN
China
Prior art keywords
volume
storage
internal
data set
internal pointer
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.)
Pending
Application number
CN202111430298.6A
Other languages
English (en)
Inventor
G.P.什切帕尼克
L.J.帕卢斯
K.S.帕特尔
S.S.帕特尔
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN114579043A publication Critical patent/CN114579043A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/0604Improving or facilitating administration, e.g. storage management
    • 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/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • 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/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • 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/0656Data buffering arrangements
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • 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
    • 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/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

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)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

提供了一种用于管理日志结构阵列(LSA)中的输入/输出(I/O)操作的方法、系统和计算机程序产品。该方法接收对存储卷的写入请求。该写入请求包括数据集。该方法基于用于闪速复制卷的目标映射来确定用于存储卷的目标区段的数据集未被复制到目标位置。在存储卷的下一IO操作期间,LSA被指令执行该数据集的内部写时复制(COW)。基于内部COW指令,该方法将目标位置的内部指针从虚拟卷移动到闪速复制卷。

Description

LOG结构阵列中的I/O操作
技术领域
本公开总体上涉及用于管理LSA(日志结构阵列,log structured array)环境中的I/O操作的方法。更具体地,但不排他地,本公开的实施例涉及一种用于在统一存储系统中的块数据备份期间管理LSA中的I/O操作的计算机实现的方法。本公开还涉及用于管理LSA环境中的I/O操作的相关系统,以及用于操作这种系统的计算机程序产品。
背景技术
一些计算存储系统启用时间点数据复制特征。这些特征可以在块存储级上可用。例如,时间点数据复制特征可以包括创建复制以在给定存储单元中创建数据的全卷复制。该复制建立源卷和目标卷之间的关系。所建立的卷对充当时间点复制,并允许对源卷和目标卷两者的读取操作和写入操作。当在源卷上发生写入时,可以将数据复制到目标位置,然后可以将新数据写入源卷。
发明内容
根据本文描述的实施例,提供了一种用于管理日志结构阵列(LSA)中的输入/输出(I/O)操作的计算机实现的方法。该方法接收对存储卷的写入请求。该写入请求包括数据集。该方法基于用于闪速复制卷(flash copy volume)的目标映射来确定用于存储卷的目标区段的数据集未被复制到目标位置。在存储卷的下一个IO操作期间,指令LSA执行该数据集的内部写时复制(copy-on-write,COW)。基于内部COW指令,该方法将目标位置的内部指针从虚拟卷移动到闪速复制卷。
根据本文描述的实施例,提供了一种用于管理日志结构阵列(LSA)中的输入/输出(I/O)操作的系统。该系统包括一个或多个处理器和耦合到该一个或多个处理器的存储程序指令的计算机可读存储介质,该程序指令在由该一个或多个处理器执行时使该一个或多个处理器执行操作。该操作接收对存储卷的写入请求。该写入请求包括数据集。该操作基于闪速复制卷的目标映射确定该存储卷的目标区段的该数据集未被复制到目标位置。在存储卷的下一和IO操作期间,指令LSA执行该数据集的内部写时复制(COW)。基于内部COW指令,操作将目标位置的内部指针从虚拟卷移动到闪速复制卷。
根据本文描述的实施例,提供了一种用于管理日志结构阵列(LSA)中的输入/输出(I/O)操作的计算机程序产品。该计算机程序产品包括计算机可读存储介质,该计算机可读存储介质包含程序指令,该程序指令可由一个或多个处理器执行以使该一个或多个处理器接收对存储卷的写入请求。该写入请求包括数据集。该计算机程序产品基于闪速复制卷的目标映射确定该存储卷的目标区段的该数据集未被复制到目标位置。在存储卷的下一个IO操作期间,指令LSA执行该数据集的内部写时复制(COW)。基于内部COW指令,计算机程序产品将目标位置的内部指针从虚拟卷移动到闪速复制卷。
附图说明
本申请中包括的附图并入说明书中并形成说明书的一部分。它们示出了本公开的实施例,并且与说明书一起解释了本公开的原理。附图仅说明某些实施例,而不限制本公开。
图1描绘了根据至少一个实施例的用于实现构思和基于计算机的方法的计算环境的框图。
图2描绘了根据至少一个实施例的用于管理LSA环境中的I/O操作的计算机实现的方法的流程图。
图3示出了根据至少一个实施例的用于管理LSA环境中的I/O操作的计算机实现的方法的流程图。
图4示出了根据至少一个实施例的用于管理LSA环境中的I/O操作的计算系统的框图。
图5是根据本公开的实施例的其中可以实现本公开的概念的云计算环境的示意图。
图6是根据本公开的实施例的其中可以实现本公开的概念的云计算环境的模型层的图。
具体实施方式
本公开总体上涉及用于管理LSA环境中的I/O操作的方法。更具体地,但不排他地,本公开的实施例涉及一种用于在统一存储系统中的块数据备份期间管理LSA中的I/O操作的计算机实现的方法。本公开还涉及用于管理LSA环境中的I/O操作的相关系统,以及用于操作这种系统的计算机程序产品。
数据存储系统和设施通常被构建为快速且针对相对大量的用户执行处理挑战。这些系统中的一些将数据库、处理和存储集成到单个紧凑系统中。这些系统可以被配置用于分析处理并且被设计用于灵活的增长。当分析原始数据时,利用这些数据存储系统的商业智能应用可以发出许多读取输入/输出(I/O)操作以收集数据以便处理。这些应用还可发送许多写入I/O操作以将中间数据保存在临时存储空间中。这些应用可以利用具有连接到多个服务器刀片的多个主机的数据存储系统架构,所述多个服务器刀片然后连接到多个磁盘附件。多个磁盘可以是从存储系统或存储系统体系结构中暴露的卷。每个磁盘可以具有多个虚拟化卷。虚拟化卷可以暴露给系统的上层,并且可以用于至少临时地存储数据。存储控制器或存储控制器群集可以使能存储磁盘的虚拟化。这些存储控制组件还可以实现虚拟化卷的存储级备份和快照、闪速复制或时间点数据复制。这些时间点数据复制可以在块级别执行,并且可以用于各种目的。
在结合日志结构化阵列使用时间点复制的情况下,由于创建无效数据位置的数据的内部移动,对时间点数据复制执行的写入操作可能导致空洞。随着空洞增加,可用存储空间可能减少。垃圾收集操作用于从日志结构阵列中移除空洞。垃圾收集操作可能是计算密集的,并且导致对其他操作的中断。
一些数据存储系统采用日志结构阵列(LSA)文件系统。LSA系统可以通过缓冲文件系统改变的序列来解决一些数据存储系统的写性能问题。这些改变可以缓存在高速缓存中。一旦满足了适当数量的改变、时间段或其他阈值条件,就可以将这些改变从高速缓存顺序地写入到给定的磁盘。可以在单个磁盘写入操作中执行顺序写。可以写入磁盘的改变可以包括文件数据块、属性、索引块、目录、或可以用于管理文件系统的任何其他信息。
块存储系统可以使用类似的方法用于日志结构化的块存储。在这样的系统中,可以为卷定义逻辑块。逻辑块可以指向磁盘的实际逻辑块地址(logical block address,LBA)。块存储系统的逻辑卷LBA(例如,磁盘的虚拟卷的LBA)可以作为日志结构阵列来管理,以管理存储系统的写入操作。可将每一主机写入操作保存在数据指针所处的新逻辑LBA位置处。在这样的系统中,可以为每个写入操作消除存储系统的物理LBA的写I/O操作和查找时间。例如,块存储系统可以从块存储池创建卷。卷可以展示给主机应用以在磁盘上执行I/O操作。卷可以具有与其相关联的逻辑LBA,逻辑LBA基于块存储系统的存储控制器体系结构的映射策略被内部地指向物理LBA位置。以这种方式,块存储系统可以具有存储池级的日志结构化实现。此外,块存储系统可以具有一个位置作为指向循环缓冲器位置的指针。在主机向卷发出写I/O的情况下,数据可以被写入LSA的最近指针位置,并且指针可以移动到下一个逻辑位置。
当数据被写入循环缓冲器时,以这种方式,每当指针移动到下一个位置时,在存储控制器的LSA中创建无效位置。无效数据位置可以是LSA中的空洞。为了从缓冲空间清除空洞,空洞经受垃圾收集操作。尽管垃圾收集处理释放了LSA中的物理卷LBA,但是这些操作是计算密集型的,并且导致正常I/O操作中的暂停。当LSA中占用了阈值数量的逻辑块或者空洞的数量已经增加超过指定阈值时,可以触发垃圾收集操作。在垃圾收集操作期间,可以改变逻辑和物理LBA地址以使逻辑LBA映射中的位置连续。LSA指针可被更新,以便附加的释放逻辑LBA位置可以变得可由LSA或存储控制器使用。随着垃圾收集操作被使用或变得更频繁,垃圾收集操作对存储系统的影响增加。
块存储系统可以使用诸如闪速复制的时间点数据复制特征来创建存储单元内的数据的全卷复制。闪速复制创建源卷和目标卷之间的关系。闪速复制操作还创建源卷的位图。一旦创建了关系和位图,就可以访问目标卷,就好像数据已经被物理地复制了一样。类似地,后台进程可以将轨道从源复制到目标卷。由闪速复制操作生成的目标或复制生成源卷的时间点复制,并且源卷和目标卷两者都可以经受读取操作和写入操作。在一些实例中,当新数据要被写入源卷时,目标卷可以被生成作为闪速复制。在这种情况下,可以将时间T处的源卷的数据作为T0数据复制到目标位置。要被写入源卷的数据可以被写入为T1数据。写入T1数据可以更新选定的I/O位置的位图。以这种方式,卷的即时复制被创建,同时当向源磁盘发出写入时实际数据将被复制。该操作可以被理解为写时复制(COW)操作。
在日志结构阵列中,基于存储的快照可以使用COW操作配置在存储虚拟化中。当写I/O操作被发送到存储系统时,逻辑卷级LBA的位置在虚拟化映射中被标识。可以解析现有的闪存复制关系,并且可以由虚拟化引擎或存储控制器做出数据移动决定。当源卷接收到写I/O操作并且尚未建立先前的闪存复制时,将数据移动到目标磁盘。然后,主机I/O操作可以被写入源磁盘。在这种情况下,从源卷到目标卷移动生成一个内部I/O操作,其将使LSA指针增加一。内部I/O操作还在LSA中创建了空洞。当操作完成时,主机写入操作被保存在最新的LSA指针位置处。这种内部移动导致LSA中的空洞。在源磁盘被定向写入的情况下,LSA中的空洞的数量增加,并且可以触发垃圾收集操作。重复的垃圾收集操作可能导致在垃圾收集操作被处理时主机应用的性能问题和延迟。
本公开的实施例使得能够在LSA和存储系统的类似实现中高效地处理COW数据和操作。本公开的一些实施例使得存储系统能够避免存储系统的日志存储阵列或卷内的空洞或空白空间。本公开可通过允许以分层方式从写入操作移动数据来减少或消除日志结构阵列内的空白空间。在一些实施例中,本公开实现了内部数据移动和主机应用写入操作之间的区分。本公开的一些实施例实现了一种机制,通过该机制,LSA算法在COW移动和写I/O操作之间进行区分,以提高存储系统内的性能和数据管理效率。在一些实施例中,本公开提出了使得能够在存储管理系统中操作日志结构阵列和闪速复制服务模块的方法和系统。本公开的实施例可向存储系统提供与闪速复制COW操作和在COW操作时数据块的内部移动有关的信息。在一些实施例中,本公开使得能够在用于界内和界外API实现的存储管理系统中的两个模型之间进行通信,并且使得能够在存储系统的功能模块之间进行命令交换。
本文描述的概念的一些实施例可以采取系统或计算机程序产品的形式。例如,计算机程序产品可以存储程序指令,当计算系统的一个或多个处理器执行该程序指令时,使得计算系统执行上面关于计算机实现的方法描述的操作。作为进一步的示例,系统可以包括诸如处理器和计算机可读存储介质的组件。计算机可读存储介质可以与系统的其他组件交互,以使得系统执行包括本文描述的计算机实现的方法的操作的程序指令。为了本说明书的目的,计算机可用或计算机可读介质可以是任何装置,其可以包含用于存储、传送、传播或传输程序的装置,该程序由指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合使用。
现在参考图1,示出了示例计算环境100的框图。本公开可以在示例计算环境100内实现。在一些实施例中,计算环境100可以包括在计算机系统内或由计算机系统体现,如下所述。计算环境100可包括存储管理系统102。存储管理系统102可以包括存储控制器110、闪速复制管理器120和阵列组件130。存储控制器110接收对一个或多个存储卷的请求,并协调与存储管理系统102相关联的磁盘的操作。闪速复制管理器120执行与用于与存储管理系统102相关联的磁盘的虚拟存储卷相关的操作。阵列组件130执行与用于与存储管理系统102相关联的磁盘的日志结构阵列相关的操作。尽管用不同的组件进行了描述,但是应当理解,在至少一些实施例中,在不脱离本公开的范围的情况下,可以组合或划分组件,和/或可以添加附加组件。
现在参考图2,示出了计算机实现的方法200的流程图。计算机实现的方法200是用于管理LSA环境中的I/O操作的方法。在一些实施例中,计算机实现的方法200可以由计算环境100的一个或多个组件执行,如以下更详细描述的。
在操作210,存储控制器110接收对存储卷的写入请求。在一些实施例中,写入请求包括数据集。存储卷可以是由存储管理系统102可访问或管理的多个存储卷中的单独存储卷。可以从与耦合到存储管理系统102的磁盘集或存储系统交互的主机接收写入请求。在一些实施例中,主机可以是由用户操作并且与远离主机的存储系统或磁盘集交互的计算设备。例如,主机可以经由通信网络向存储控制器110传输写入请求。存储控制器110可以接收写入请求以在基于云的存储系统内的卷上处理和实现写入请求。
在操作220,闪速复制管理器120确定写入请求所针对的存储卷上的写时复制(COW)状态。在一些实施例中,闪速复制管理器120通过识别存储卷具有在存储系统内启用的COW功能来确定COW状态。闪速复制管理器可基于存储卷、容纳存储卷的磁盘或存储卷或磁盘是其一部分的存储系统的一个或多个配置文件来确定存储卷的COW状态。
在操作230,闪速复制管理器120确定存储卷的目标区段的数据集未被复制到目标位置。闪速复制管理器120可以基于闪速复制卷的目标映射来确定该数据集未被复制。目标映射可以指示存储在目标卷的指定数据位置内的数据。在一些实例中,目标映射表示在给定时间卷(例如,源卷)的闪速复制内的数据。例如,目标卷可以是T0处的目标卷。
在一些实施例中,闪速复制管理器120使用带外协议与阵列组件130通信。闪速复制管理器120可以使用诸如小型计算机系统接口(SCSI)CBD的写命令描述符块(CBD)中的保留字段与阵列组件130通信。SCSI CBD可以是描述命令的信息块。每个CBD可以是总共6、10、12或16字节,或者任何合适的可变长度。在一些实例中,闪速复制管理器120和阵列组件130使用带外协议和CBD中的保留字段两者作为存储管理系统102内的层来通信。闪速复制管理器120和阵列组件130跨过层传递信息或使用任何其它适当的独立机制。在一些实施例中,可以将热映射从一个存储系统传送到另一个存储系统。可以传送热映射以确保可能无法成功地恢复对远程站点的访问的远程复制将指定的数据保持在给定的存储卷、磁盘或SSD内。
在操作240,阵列组件130指示日志结构阵列(LSA)执行内部COW操作。可以在存储卷的下一个输入/输出(I/O)操作期间对该数据集执行内部COW操作。在一些实施例中,闪速复制管理器120将指令传输到被配置为LSA的存储池。指令指示下一个I/O操作将是内部COW操作。内部COW操作可以将写入请求的数据集写入虚拟卷(例如,源卷)。内部COW操作还可以在写入数据集之前生成虚拟卷的复制作为闪速复制卷(例如,目标卷)。指令可指示内部COW操作之后是实际应用主机写I/O操作。
在操作250,存储控制器110将目标位置的内部指针从虚拟卷移动到闪速复制卷。在一些实施例中,内部指针基于内部COW指令而移动。在这种情况下,内部COW指令被视为到存储控制器110内的空洞防止装置的信号以移动内部指针。在将数据集写入源卷并且将目标卷生成为闪速复制的实施例中,将目标位置的内部指针从源卷中的位置移动到目标卷中的位置。将目标位置的内部指针移动到目标卷或闪速复制卷防止由于写入请求的数据集被写入虚拟卷或源卷而在LSA内出现空洞。一旦建立了闪速复制卷并且移动了内部指针,与写入请求相关联的LSA中的数据的较旧版本将与指向闪速复制卷的指示较旧的源逻辑LBA的指针相关联。
在操作260,阵列组件130更新LSA的位图。在一些实施例中,响应于内部指针的改变而更新位图。在内部指针被移动的情况下,LSA的位图可由阵列组件130和发送到闪存复制管理器120的指令来更新,以使卷复制在闪速复制的卷之间一致。在完成位图更新并且使卷复制一致时,可以正常处理主机应用,并且递增LSA指针并将数据保存到循环缓冲器中的下一个位置。在这种情况下,用于写入请求的数据集的新指针可以将虚拟卷或源卷与LSA中的新位置中的数据集链接。
在COW操作的情况下,当移动内部指针并且生成新指针时,到物理磁盘的实际数据复制是不需要的。使用COW生成闪速复制以及移动指针减少了到物理位置的I/O移动。I/O移动的减少可以减少功能上执行写入请求所需的计算时间和资源。限制I/O移动可以提高相关联的存储系统的性能。此外,COW的使用和指针的移动最小化了日志结构阵列内的空洞,从而降低了LSA处的垃圾收集操作的频率。垃圾收集操作的频率降低还可以增加SSD磁盘的健康和寿命。
图3示出了用于管理LSA环境中的I/O操作的计算机实现的方法300的实施例的流程图。方法300可由计算环境100执行或在其中执行。在一些实施例中,方法300包括或结合了方法200的一个或多个操作。
在操作310,存储控制器110检测与写入请求相关联的存储卷的虚拟卷。可以响应于存储控制器110接收到包含要被写在存储卷上的数据集的写入请求而检测虚拟卷。在一些实施例中,存储控制器110与闪速复制管理器120协作以检测虚拟卷。虚拟卷可以是用于数据存储的物理卷(例如,存储卷)的缓冲器或高速缓存。
在操作320,存储控制器110检测存储卷的闪速复制卷。闪速复制可以是在给定时间点用于虚拟存储卷的复制。在一些实施例中,闪速复制卷是虚拟卷的先前生成的复制。闪速复制卷可以包含在指定时间虚拟卷内的数据的完整复制。指定时间可以是接收写入请求之前的任何时间。在没有检测到闪存复制卷的情况下,可以指示闪存复制管理器120在存储控制器110检测到虚拟卷时或者在接收到写入请求时生成虚拟卷的闪存复制。在一些实例中,响应于操作220和230中的一个或多个,检测或生成闪速复制卷。
在操作330,阵列组件130将该数据集重新写入到虚拟卷。在一些实施例中,该数据集替换该虚拟卷内的先前的值集。在一些实例中,阵列组件130通过将数据集插入虚拟卷的逻辑LBA映射来覆写虚拟卷内的数据集。
在操作340,存储控制器110将目标位置的第一内部指针从虚拟卷移动到闪速复制卷。在一些实施例中,第一内部指针基于内部COW指令而移动。第一内部指针可以以与参考操作250所描述的方式类似或相同的方式移动。
在操作350,存储控制器110为虚拟卷内的数据集生成第二内部指针。在一些实施例中,生成第二内部指针以从虚拟卷内的数据集指向存储卷的物理卷逻辑块地址(LBA)映射中的位置。
在操作360,存储控制器110触发LSA处的物理卷LBA映射的位图更新。在一些实施例中,基于移动第一内部指针和生成第二内部指针来触发位图更新。
本公开的实施例可以与几乎任何类型的计算机一起实现,而不管平台是否适于存储和/或执行程序代码。图4示出了作为示例的计算系统400(例如,云计算系统),其适于执行与本文公开的方法相关的程序代码,并且适于管理LSA环境中的I/O操作。
计算系统400仅是合适的计算机系统的一个示例,并且不旨在对本文所描述的本公开的实施例的使用范围或功能提出任何限制,无论计算机系统400是否能够被实现和/或执行上文所阐述的任何功能。在计算机系统400中,存在可与众多其它通用或专用计算系统环境或配置一起操作的组件。适合与计算机系统/服务器400一起使用的公知的计算系统、环境和/或配置的示例包括但不限于个人计算机系统、服务器计算机系统、瘦客户端、胖客户端、手持式或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络PC、小型计算机系统、大型计算机系统、以及包括任何上述系统或设备的分布式云计算环境等。计算机系统/服务器400可以在计算机系统可执行指令的一般上下文中描述,诸如由计算机系统400执行的程序模块。通常,程序模块可以包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、逻辑、数据结构等。计算机系统/服务器400可以在分布式云计算环境中实践,其中任务由通过通信网络链接的远程处理设备执行。在分布式云计算环境中,程序模块可以位于本地和远程计算机系统存储介质中,包括存储器存储设备。
如图所示,计算机系统/服务器400以通用计算设备的形式示出。计算机系统/服务器400的组件可以包括但不限于一个或多个处理器402(例如,处理单元)、系统存储器404(例如,耦合到一个或多个处理器的计算机可读存储介质)以及将包括系统存储器404的各种系统组件耦合到处理器402的总线406。总线406表示若干类型的总线结构中的任何一种的一个或多个,包括存储器总线或存储器控制器、外围总线、加速图形端口、以及使用各种总线体系结构中的任何一种的处理器或局部总线。作为示例而非限制,这些体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强型ISA(EISA)总线、视频电子技术标准协会(VESA)局部总线和外围部件互连(PCI)总线。计算机系统/服务器400通常包括各种计算机系统可读介质。这样的介质可以是计算机系统/服务器400可访问的任何可用介质,并且它包括易失性和非易失性介质、可移动和不可移动介质。
系统存储器404可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)408和/或高速缓冲存储器410。计算机系统/服务器400还可以包括其他可移动/不可移动、易失性/非易失性计算机系统存储介质。仅作为示例,存储系统412可被提供用于从不可移动、非易失性磁介质(未示出,并且通常被称为“硬磁盘驱动器”)读取和向其写入。尽管未示出,但是可以提供用于从可移动、非易失性磁盘(例如,“软磁盘”)读取和向其写入的磁盘驱动器,以及用于从诸如CD-ROM、DVD-ROM或其它光学介质的可移动、非易失性光磁盘读取或向其写入的光磁盘驱动器。在这种情况下,每个都可以通过一个或多个数据介质接口连接到总线406。如下面将进一步描绘和描述的,系统存储器404可以包括至少一个程序产品,该程序产品具有一组(例如,至少一个)程序模块,该组程序模块被配置成执行本公开的实施例的功能。
具有一组(至少一个)程序模块416的程序/实用程序以及操作系统、一个或多个应用、其它程序模块和程序数据可被存储在系统存储器404中,这是作为示例而非限制。程序模块可以包括图1中所示的存储控制器110、闪速复制管理器120和阵列组件130中的一个或多个。操作系统、一个或多个应用程序、其它程序模块和程序数据或其某种组合中的每一个可包括联网环境的实现。程序模块416通常执行如本文所述的本公开的实施例的功能和/或方法。
计算机系统/服务器400还可以与一个或多个外部设备418通信,诸如键盘、指示设备、显示器420等;一个或多个设备,其使得用户能够与计算机系统/服务器400交互;和/或使计算机系统/服务器400能够与一个或多个其它计算设备通信的任何设备(例如,网卡、调制解调器等)。这种通信可以经由输入/输出(I/O)接口414发生。此外,计算机系统/服务器400可以经由网络适配器422与一个或多个网络通信,所述网络诸如局域网(LAN)、通用广域网(WAN)和/或公共网络(例如,因特网)。如所描绘的,网络适配器422可以经由总线406与计算机系统/服务器400的其他组件通信。应当理解,尽管未示出,但是可以结合计算机系统/服务器400使用其他硬件和/或软件组件。实例包括但不限于:微码、设备驱动程序、冗余处理单元、外部磁盘驱动器阵列、RAID系统、磁带驱动器和数据档案存储系统等。
应当理解,尽管本公开包括关于云计算的详细描述,但是本文所陈述的教导的实现不限于云计算环境。相反,本公开的实施例能够结合现在已知或以后开发的任何其他类型的计算环境来实现。
云计算是一种服务递送模型,用于实现对可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储、应用、虚拟机和服务)的共享池的方便的按需网络访问,所述可配置计算资源可以以最小的管理努力或与服务的提供者的交互来快速供应和释放。该云模型可以包括至少五个特性、至少三个服务模型和至少四个部署模型。
服务模型可以包括软件即服务(SaaS)、平台即服务(PaaS)和基础设施即服务(IaaS)。在SaaS中,向消费者提供的能力是使用在云基础设施上运行的提供者的应用。应用可通过诸如web浏览器(例如,基于web的电子邮件)等瘦客户端界面从各种客户端设备访问。消费者不管理或控制包括网络、服务器、操作系统、存储、或甚至个别应用能力的底层云基础结构,可能的例外是有限的用户专用应用配置设置。在PaaS中,向消费者提供的能力是将消费者创建或获取的应用部署到云基础设施上,该消费者创建或获取的应用是使用由提供商支持的编程语言和工具创建的。消费者不管理或控制包括网络、服务器、操作系统或存储的底层云基础设施,但具有对部署的应用和可能的应用托管环境配置的控制。在IaaS中,向消费者提供的能力是提供处理、存储、网络和消费者能够部署和运行任意软件的其他基本计算资源,所述任意软件可以包括操作系统和应用。消费者不管理或控制底层云基础设施,但具有对操作系统、存储、部署的应用的控制,以及可能对选择的联网组件(例如,主机防火墙)的有限控制。
部署模型可以包括私有云、社区云、公共云和混合云。在私有云中,云基础设施仅为组织操作。它可以由组织或第三方管理,并且可以存在于建筑物内或建筑物外。在社区云中,云基础设施由若干组织共享并且支持具有共享关注(例如,任务、安全要求、策略和合规性考虑)的特定社区。它可以由可能存在于场所内或场所外的组织或第三方管理。在公共云中,云基础设施可用于一般公众或大型工业群体,并且由销售云服务的组织拥有。在混合云中,云基础设施是两个或更多个云(私有、共同体或公共)的组合,所述云保持唯一实体但通过使能数据和应用可移植性(例如,用于云之间的负载平衡的云突发)的标准化或私有技术绑定在一起。
云计算环境是面向服务的,其焦点在于无状态、低耦合模块性和语义互操作性。在云计算的核心处是包括互连节点的网络的基础设施。
现在参考图5,描绘了说明性云计算环境50。如图所示,云计算环境50包括云消费者使用的本地计算设备可以与其通信的一个或多个云计算节点10,该本地计算设备例如是个人数字助理(PDA)或蜂窝电话54A、桌上型计算机54B、膝上型计算机54C和/或汽车计算机系统54N。节点10可以彼此通信。它们可以被物理地或虚拟地分组(未示出)在一个或多个网络中,诸如如上文描述的私有云、社区云、公共云或混合云或其组合。这允许云计算环境50提供基础设施、平台和/或软件作为服务,云消费者不需要为其维护本地计算设备上的资源。应当理解,图5中所示的计算设备54A-N的类型仅旨在说明,并且计算节点10和云计算环境50可以在任何类型的网络和/或网络可寻址连接上(例如,使用web浏览器)与任何类型的计算机化设备通信。
现在参考图6,示出了由云计算环境50(图5)提供的一组功能抽象层。应当预先理解,图6中所示的组件、层和功能仅旨在说明,并且本公开的实施例不限于此。如所描绘的,提供了以下层和相应的功能:
硬件和软件层60包括硬件和软件组件。硬件组件的示例包括:主机61;基于RISC(精简指令集计算机)架构的服务器62;服务器63;刀片服务器64;存储装置65;以及网络和网络组件66。在一些实施例中,软件组件包括网络应用服务器软件67和数据库软件68。
虚拟化层70提供抽象层,从该抽象层可以提供虚拟实体的以下示例:虚拟服务器71;虚拟存储器72;虚拟网络73,包括虚拟专用网络;虚拟应用和操作系统74;以及虚拟客户端75。
在一个示例中,管理层80可以提供以下描述的功能。资源供应81提供用于在云计算环境内执行任务的计算资源和其它资源的动态采购。计量和定价82提供了在云计算环境中利用资源时的成本跟踪,以及对于消耗这些资源的开帐单或发票。在一个示例中,这些资源可以包括应用软件许可证。安全性为云消费者和任务提供身份验证,以及为数据和其他资源提供保护。用户门户83为消费者和系统管理员提供对云计算环境的访问。服务级别管理84提供云计算资源分配和管理,使得满足所需的服务级别。服务水平协议(SLA)规划和履行85提供对云计算资源的预安排和采购,其中根据SLA预期未来需求。
工作负载层90提供了可以利用云计算环境的功能的示例。可以从该层提供的工作负载和功能的示例包括:绘图和导航91;软件开发和生命周期管理92;虚拟教室教育传送93;数据分析处理94;交易处理95;以及存储管理处理96。
云模型可以包括特性,包括按需自助服务、广泛网络访问、资源池、快速弹性和测量服务。在按需自助服务中,云消费者可以单方面地根据需要自动地提供诸如服务器时间和网络存储之类的计算能力,而不需要与服务的提供者进行人工交互。在广泛的网络访问中,能力在网络上可用,并且通过促进由异构的薄或厚客户端平台(例如,移动电话、膝上型计算机和PDA)使用的标准机制来访问。在资源池中,供应商的计算资源被池化以使用多租户模型来服务多个消费者,其中不同的物理和虚拟资源根据需求被动态地分配和重新分配。存在位置无关的意义,因为消费者通常不控制或不知道所提供的资源的确切位置,但是能够在较高抽象级别(例如国家、州或数据中心)指定位置。在快速弹性中,在一些情况下,可以自动地快速且弹性地提供快速向外扩展和快速向内扩展的能力。对于消费者,可用于提供的能力通常看起来不受限制,并且可以在任何时间以任何数量购买。在测量服务中,云系统通过利用在适合于服务类型(例如,存储、处理、带宽和活动用户账户)的某一抽象级别的计量能力来自动地控制和优化资源使用。可以监视、控制和报告资源使用,从而为所利用服务的提供者和消费者两者提供透明性。
已经出于说明的目的呈现了对本公开的各种实施例的描述,但是其并非旨在是穷举的或限于所公开的实施例。在不脱离所描述的实施例的范围和精神的情况下,许多修改和变化对于本领域的普通技术人员将是显而易见的。选择本文所使用的术语以最好地解释实施例的原理、实际应用或对市场上存在的技术改进,或使本领域的其他普通技术人员能够理解本文所公开的实施例。
本发明可以被实现为系统、方法和/或计算机程序产品。计算机程序产品可以包括其上具有计算机可读程序指令的计算机可读存储介质(或多个介质),所述计算机可读程序指令用于使处理器执行本发明的各方面。
计算机可读存储介质可以是用于传播介质的电子、磁、光、电磁、红外或半导体系统。计算机可读介质的示例可以包括半导体或固态存储器、磁带、可移动计算机磁盘、随机存取存储器(RAM)、只读存储器(ROM)、硬磁盘和光磁盘。光磁盘的当前例子包括光磁盘只读存储器(CD-ROM)、光磁盘读/写(CD-R/W)、DVD和蓝光磁盘。
计算机可读存储介质可以是能够保持和存储指令以供指令执行设备使用的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述的任何合适的组合。计算机可读存储介质的更具体示例的非穷举列表包括以下:便携式计算机磁盘、硬磁盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式光磁盘只读存储器(CD-ROM)、数字多功能磁盘(DVD)、记忆棒、软磁盘、诸如上面记录有指令的打空洞卡或凹槽中的凸起结构的机械编码装置,以及上述的任何适当组合。如本文所使用的计算机可读存储介质不应被解释为暂时性信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤线缆的光脉冲)、或通过导线传输的电信号。
本文描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络,例如因特网、局域网、广域网和/或无线网络,下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器相关指令、微代码、固件指令、状态设置数据,或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言(例如Smalltalk、C++等)以及常规的过程式编程语言(例如“C”编程语言或类似的编程语言)。计算机可读程序指令可以完全在用户的计算机上执行,部分地在用户的计算机上作为独立软件包执行,部分地在用户的计算机上并且部分地在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络连接到用户的计算机,包括局域网(LAN)或广域网(WAN),或者可以连接到外部计算机(例如,使用因特网服务提供商通过因特网)。在一些实施例中,为了执行本发明的各方面,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化。
本文参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的各方面。将理解,流程图和/或框图的每个框以及流程图和/或框图中的框的组合可以由计算机可读程序指令来实现。
这些计算机可读程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或框图的一个或多个框中指定的功能/动作的装置。这些计算机可读程序指令还可以存储在计算机可读存储介质中,其可以引导计算机、可编程数据处理装置和/或其他设备以特定方式工作,使得其中存储有指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或框图的一个或多个框中指定的功能/动作的各方面的指令。
计算机可读程序指令还可以被加载到计算机、其他可编程数据处理装置或另一设备上,以使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,使得在计算机、其他可编程装置或另一设备上执行的指令实现流程图和/或框图的一个或多个框中指定的功能/动作。
附图中的流程图和/或框图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这点上,流程图或框图中的每个框可以表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些替代实施方案中,框中所提及的功能可不按图中所提及的次序发生。例如,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。还将注意,框图和/或流程图图示的每个框以及框图和/或流程图图示中的框的组合可以由执行指定功能或动作或执行专用硬件和计算机指令的组合的专用的基于硬件的系统来实现。
本文所用的术语仅用于描述特定实施例的目的,而不是要限制本公开。如本文所用,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文另有明确指示。还将理解,术语“包括”和/或“包含”在本说明书中使用时,指定所陈述的特征、整数、步骤、操作、元件和/或组件的存在,但不排除一个或多个其它特征、整数、步骤、操作、元件、组件和/或其群组的存在或添加。
在以下权利要求中的所有装置或步骤加上功能元件的对应结构、材料、动作和等同物旨在包括用于与如具体要求保护的其它要求保护的元件组合执行功能的任何结构、材料或动作。已经出于说明和描述的目的呈现了本公开的描述,但是其不旨在是穷尽的或将本公开限制为所公开的形式。在不脱离本公开的范围的情况下,许多修改和变化对于本领域普通技术人员将是显而易见的。选择和描述实施例是为了解释本公开的原理和实际应用,并且使本领域的其他普通技术人员能够理解本公开的具有各种修改的各种实施例,如适合于预期的特定用途。
已经出于说明的目的呈现了对本公开的各种实施例的描述,但是其并非旨在是穷举的或限于所公开的实施例。在不脱离所描述的实施例的范围和精神的情况下,许多修改和变化对于本领域的普通技术人员将是显而易见的。选择本文所使用的术语来解释实施例的原理、实际应用或对市场上存在的技术改进,或使本领域的其他普通技术人员能够理解本文所公开的实施例。

Claims (20)

1.一种计算机实现的方法,包括:
由存储控制器接收对存储卷的写入请求,所述写入请求包括数据集;
基于用于闪速复制卷的目标映射,确定用于所述存储卷的目标区段的所述数据集未被复制到目标位置;
指令日志结构化阵列LSA在所述存储卷的下一个输入/输出I/O操作期间对所述数据集执行内部写时复制COW;以及
基于所述内部COW指令,将所述目标位置的内部指针从虚拟卷移动到所述闪速复制卷。
2.根据权利要求1所述的方法,还包括:
响应于所述内部指针的移动,更新所述LSA的位图。
3.根据权利要求1所述的方法,还包括:
确定所述写入请求所针对的所述存储卷上的COW状态。
4.根据权利要求1所述的方法,还包括:
检测所述存储卷的所述虚拟卷;以及
检测所述存储卷的所述闪速复制卷。
5.根据权利要求4所述的方法,还包括:
将所述数据集覆写到所述虚拟卷,所述数据集替换所述虚拟卷内的先前的值集。
6.根据权利要求5所述的方法,其中,所述内部指针是第一内部指针,所述方法还包括:
为所述虚拟卷内的所述数据集生成第二内部指针,所述第二内部指针指向所述存储卷的物理卷逻辑块地址LBA映射中的位置。
7.根据权利要求6所述的方法,还包括:
基于移动所述第一内部指针和生成所述第二内部指针,触发在所述LSA处的所述物理卷LBA映射的位图更新。
8.一种系统,包括:
一个或多个处理器;以及
计算机可读存储介质,其耦合到所述一个或多个处理器,所述计算机可读存储介质存储程序指令,所述程序指令在由所述一个或多个处理器执行时使所述一个或多个处理器执行包括以下各项的操作:
由存储控制器接收对存储卷的写入请求,所述写入请求包括数据集;
基于用于闪速复制卷的目标映射,确定用于所述存储卷的目标区段的所述数据集未被复制到目标位置;
指令日志结构化阵列LSA在所述存储卷的下一个输入/输出I/O操作期间对所述数据集执行内部写时复制COW;以及
基于所述内部COW指令,将所述目标位置的内部指针从虚拟卷移动到所述闪速复制卷。
9.根据权利要求8所述的系统,其中,所述操作还包括:
响应于所述内部指针的移动,更新所述LSA的位图。
10.根据权利要求8所述的系统,其中,所述操作还包括:
确定所述写入请求所针对的所述存储卷上的COW状态。
11.根据权利要求8所述的系统,其中,所述操作还包括:
检测所述存储卷的所述虚拟卷;以及
检测所述存储卷的所述闪速复制卷。
12.根据权利要求11所述的系统,其中,所述操作还包括:
将所述数据集覆写到所述虚拟卷,所述数据集替换所述虚拟卷内的先前的值集。
13.根据权利要求12所述的系统,其中,所述内部指针是第一内部指针,所述操作还包括:
为所述虚拟卷内的所述数据集生成第二内部指针,所述第二内部指针指向所述存储卷的物理卷逻辑块地址LBA映射中的位置。
14.根据权利要求13所述的系统,其中所述操作还包括:
基于移动所述第一内部指针和生成所述第二内部指针,触发在所述LSA处的所述物理卷LBA映射的位图更新。
15.一种计算机程序产品,包括计算机可读存储介质,所述计算机可读存储介质包含程序指令,所述程序指令可由一个或多个处理器执行以使所述一个或多个处理器执行包括以下各项的操作:
由存储控制器接收对存储卷的写入请求,所述写入请求包括数据集;
基于用于闪速复制卷的目标映射,确定用于所述存储卷的目标区段的所述数据集未被复制到目标位置;
指令日志结构化阵列LSA在所述存储卷的下一个输入/输出I/O操作期间对所述数据集执行内部写时复制COW;以及
基于所述内部COW指令,将所述目标位置的内部指针从虚拟卷移动到所述闪速复制卷。
16.根据权利要求15所述的计算机程序产品,其中,所述操作还包括:
响应于所述内部指针的移动,更新所述LSA的位图。
17.根据权利要求15所述的计算机程序产品,其中,所述操作还包括:
确定所述写入请求所针对的所述存储卷上的COW状态。
18.根据权利要求15所述的计算机程序产品,其中,所述操作还包括:
检测所述存储卷的所述虚拟卷;以及
检测所述存储卷的所述闪速复制卷。
19.根据权利要求18所述的计算机程序产品,其中,所述操作还包括:
将所述数据集覆写到所述虚拟卷,所述数据集替换所述虚拟卷内的先前的值集。
20.根据权利要求19所述的计算机程序产品,其中,所述内部指针是第一内部指针,并且所述操作还包括:
为所述虚拟卷内的所述数据集生成第二内部指针,所述第二内部指针指向所述存储卷的物理卷逻辑块地址LBA映射中的位置;以及
基于移动所述第一内部指针和生成所述第二内部指针,触发在所述LSA处的所述物理卷LBA映射的位图更新。
CN202111430298.6A 2020-12-01 2021-11-29 Log结构阵列中的i/o操作 Pending CN114579043A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/108,068 2020-12-01
US17/108,068 US11467735B2 (en) 2020-12-01 2020-12-01 I/O operations in log structured arrays

Publications (1)

Publication Number Publication Date
CN114579043A true CN114579043A (zh) 2022-06-03

Family

ID=79163602

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111430298.6A Pending CN114579043A (zh) 2020-12-01 2021-11-29 Log结构阵列中的i/o操作

Country Status (5)

Country Link
US (1) US11467735B2 (zh)
JP (1) JP2022087843A (zh)
CN (1) CN114579043A (zh)
DE (1) DE102021130358A1 (zh)
GB (1) GB2604974B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115826878A (zh) * 2023-02-14 2023-03-21 浪潮电子信息产业股份有限公司 一种写时拷贝方法、装置、设备及计算机可读存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11782641B2 (en) * 2021-06-09 2023-10-10 International Business Machines Corporation Backend aware virtualized storage

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6237021B1 (en) * 1998-09-25 2001-05-22 Complex Data Technologies, Inc. Method and apparatus for the efficient processing of data-intensive applications
US20020073277A1 (en) * 2000-12-12 2002-06-13 International Business Machines Corporation Data storage system and a method of storing data including a multi-level cache
US20020118582A1 (en) * 2001-02-23 2002-08-29 International Business Machines Corporation Log-structure array
US20140136884A1 (en) * 2012-11-15 2014-05-15 Lsi Corporation Read disturb handling for non-volatile solid state media
US20160314046A1 (en) * 2015-04-21 2016-10-27 Commvault Systems, Inc. Content-independent and database management system-independent synthetic full backup of a database based on snapshot technology
US20170032005A1 (en) * 2015-07-31 2017-02-02 Netapp, Inc. Snapshot and/or clone copy-on-write
US20170083250A1 (en) * 2015-09-21 2017-03-23 International Business Machines Corporation Copy-redirect on write
US20170091047A1 (en) * 2015-09-30 2017-03-30 Commvault Systems, Inc. Dynamic triggering of block-level backups based on block change thresholds and corresponding file identities in a data storage management system
US10146631B1 (en) * 2015-09-30 2018-12-04 EMC IP Holding Company LLC Incremental forever backups for exchange

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7171516B2 (en) 2003-09-29 2007-01-30 International Business Machines Corporation Increasing through-put of a storage controller by autonomically adjusting host delay
US8935493B1 (en) 2011-06-30 2015-01-13 Emc Corporation Performing data storage optimizations across multiple data storage systems

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6237021B1 (en) * 1998-09-25 2001-05-22 Complex Data Technologies, Inc. Method and apparatus for the efficient processing of data-intensive applications
US20020073277A1 (en) * 2000-12-12 2002-06-13 International Business Machines Corporation Data storage system and a method of storing data including a multi-level cache
US20020118582A1 (en) * 2001-02-23 2002-08-29 International Business Machines Corporation Log-structure array
US20140136884A1 (en) * 2012-11-15 2014-05-15 Lsi Corporation Read disturb handling for non-volatile solid state media
US20160314046A1 (en) * 2015-04-21 2016-10-27 Commvault Systems, Inc. Content-independent and database management system-independent synthetic full backup of a database based on snapshot technology
US20170032005A1 (en) * 2015-07-31 2017-02-02 Netapp, Inc. Snapshot and/or clone copy-on-write
US20170083250A1 (en) * 2015-09-21 2017-03-23 International Business Machines Corporation Copy-redirect on write
US20170091047A1 (en) * 2015-09-30 2017-03-30 Commvault Systems, Inc. Dynamic triggering of block-level backups based on block change thresholds and corresponding file identities in a data storage management system
US10146631B1 (en) * 2015-09-30 2018-12-04 EMC IP Holding Company LLC Incremental forever backups for exchange

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115826878A (zh) * 2023-02-14 2023-03-21 浪潮电子信息产业股份有限公司 一种写时拷贝方法、装置、设备及计算机可读存储介质

Also Published As

Publication number Publication date
JP2022087843A (ja) 2022-06-13
GB2604974B (en) 2023-05-03
US11467735B2 (en) 2022-10-11
GB2604974A (en) 2022-09-21
US20220171537A1 (en) 2022-06-02
GB202116550D0 (en) 2021-12-29
DE102021130358A1 (de) 2022-06-02

Similar Documents

Publication Publication Date Title
US11023286B2 (en) Container based service management
US10936423B2 (en) Enhanced application write performance
US10831398B2 (en) Storage device efficiency during data replication
US9632724B1 (en) Point-in-time copy with chain cloning
CN110557425B (zh) 对数据存档的方法、介质和系统
US20210173815A1 (en) Automatically dispositioning of copies of data
CN114579043A (zh) Log结构阵列中的i/o操作
US20230409444A1 (en) Managing data sets based on user activity
US10976953B2 (en) Optimized data replication in multi-tier storage environment
US11262934B2 (en) Deletion of stored data
KR20220132639A (ko) 원격-저장 파일들의 예측 제공
US20150160959A1 (en) Managing virtual machine images in a distributed computing environment
JP7431490B2 (ja) 階層型ストレージ管理システムにおけるデータ・マイグレーション
US10789008B2 (en) Reducing write collisions in data copy
US10140030B2 (en) Dynamic modulation of cache memory
US11226743B2 (en) Predicting and preventing events in a storage system using copy services
AU2021325335B2 (en) Minimizing delay while migrating direct memory access (dma) mapped pages
US11593026B2 (en) Zone storage optimization using predictive protocol patterns
US11799945B2 (en) Pipelined file server based data transmission
US10719483B2 (en) Remote copy with data deduplication functionality

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination