CN110688251B - 写数据方法及存储系统 - Google Patents
写数据方法及存储系统 Download PDFInfo
- Publication number
- CN110688251B CN110688251B CN201810735737.6A CN201810735737A CN110688251B CN 110688251 B CN110688251 B CN 110688251B CN 201810735737 A CN201810735737 A CN 201810735737A CN 110688251 B CN110688251 B CN 110688251B
- Authority
- CN
- China
- Prior art keywords
- controller
- time tag
- indication message
- locally
- time
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1451—Management of the data involved in backup or backup restore by selection of backup contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1471—Saving, restoring, recovering or retrying involving logging of persistent data for recovery
-
- 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/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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/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
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/84—Using snapshots, i.e. a logical point-in-time copy of the data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Retry When Errors Occur (AREA)
Abstract
本发明公开了一种写数据方法,该方法应用于存储系统中,该存储系统包括第一控制器和第二控制器,该方法包括:第二控制器接收第一写数据请求后,判断本地保存的第一时间标签是否处于失效状态;当所述第二控制器确定本地保存到的第一时间标签处于失效状态时,从第一控制器中读取第一时间标签;第二控制器保存第一时间标签和第一写数据请求之间的对应关系。采用本发明实施例保证了对逻辑存储区域打快照的时间一致性,降低了性能波动。
Description
技术领域
本发明涉及数据存储领域,尤其涉及一种写数据方法及存储系统。
背景技术
伴随计算机技术的巨大发展,数据备份的重要性也逐渐凸显出来。传统地,人们一直采用数据复制、备份、恢复等技术来保护重要的数据信息,定期对数据进行备份或复制。由于数据备份过程会影响应用性能,并且非常耗时,因此数据备份通常被安排在系统负载较轻时(如夜间)进行。
在数据备份期间,企业需要暂时停止对外提供服务。随着企业数据量和数据增长速度的加快,备份窗口可能会要求越来越长,这对于关键性业务系统来说是无法接受的。诸如银行、电信等机构,信息系统要求24x7不间断运行,短时的停机或者少量数据的丢失都会导致巨大的损失。因此,就需要将数据备份窗口尽可能地缩小,甚至缩小为零。数据快照就是为了满足这样的需求而出现的数据保护技术。快照是某个数据集在某一特定时刻的镜像,也称为即时拷贝,它是这个数据集的一个完整可用的副本。
在对数据集打快照过程中,为保证数据一致性需要阻塞所有节点的IO,完成时间标签变更后再对IO解除阻塞,但是由于整个过程需要完成多次消息广播、时间点持久化等操作,时延可能达到数百毫秒,导致性能波动。在秒级恢复点目标(recovery pointobject,RPO)的快照、异步复制等场景下,更是会打秒级快照,而通过阻塞IO来保证快照数据一致性的方案无疑会导致性能波动巨大。
发明内容
本申请提供一种写数据方法及存储系统,保证了对逻辑存储区域打快照的时间一致性,降低了性能波动。
第一方面,本申请提供了一种写数据方法,该方法应用于存储系统,所述存储系统包括第一控制器和第二控制器,该方法包括:
所述第二控制器接收第一写数据请求之后,判断本地保存的第一时间标签是否处于失效状态;当所述第二控制器确定本地保存的第一时间标签处于失效状态时,从所述第一控制器中读取所述第一时间标签;并保存所述第一时间标签与所述第一写数据请求之间的对应关系。采用该方法保证了对逻辑存储区域打快照的时间一致性,降低了性能波动。
在一种可行的实现方式中,所述存储系统还包括逻辑存储区域,所述第一控制器和所述第二控制器均能从所述逻辑存储区域读写数据。
在一种可行的实现方式中,所述方法还包括:
所述第一控制器在对所述逻辑存储区域执行快照操作时,向所述第二控制器发送第一指示消息,所述第一指示消息用于指示本地保存的第一时间标签失效;
所述第二控制器接收所述第一指示消息后,将其本地保存的第一时间标签设置为失效状态。
在一种可行的实现方式中,所述方法还包括:
所述第一控制器向所述第二控制器发送第二指示消息,所述第二指示消息用于指示所述第一控制器已将第一时间标签修改为第二时间标签;
所述第二控制器接收所述第二指示消息后,将所述第二时间标签保存在本地;
所述第二控制器在接收第二写数据请求之后,从其本地读取所述第二时间标签,保存所述第二时间标签与所述第二写数据请求之间的对应关系。
在一种可行的实现方式中,在所述第二控制器接收所述第二指示消息之前,并且在接收所述第一指示消息之后,接收的所有的写数据请求所对应的时间标签均来自所述第一控制器。
第二方面,本申请还提供了一种存储系统,该存储系统包括第一控制器和第二控制器,
所述第二控制器,用于接收第一写数据请求之后,判断本地保存的第一时间标签是否处于失效状态;
所述第二控制器,还用于当确定本地保存的第一时间标签处于失效状态时,从所述第一控制器中读取所述第一时间标签;并保存所述第一时间标签与所述第一写数据请求之间的对应关系。
在一种可行的实现方式中,所述存储系统还包括逻辑存储区域;所述第一控制器和所述第二控制器均能从所述逻辑存储区域读写数据
在一种可行的实现方式中,所述第一控制器,用于在对所述逻辑存储区域执行快照操作时,向所述第二控制器发送第一指示消息,所述第一指示消息用于指示本地保存的第一时间标签失效;
所述第二控制器,还用于接收所述第一指示消息后,将其本地保存的第一时间标签设置为失效状态;
在一种可行的实现方式中,所述第一控制器,还用于向所述第二控制器发送第二指示消息,所述第二指示消息用于指示所述第一控制器已将第一时间标签修改为第二时间标签;
所述第二控制器,还用于接收所述第二指示消息后,将所述第二时间标签保存在本地;
所述第二控制器,还用于在接收第二写数据请求之后,从其本地读取所述第二时间标签,保存所述第二时间标签与所述第二写数据请求之间的对应关系。
在一种可行的实现方式中,在所述第二控制器接收所述第二指示消息之前,并且在接收所述第一指示消息之后,接收的所有的写数据请求所对应的时间标签均来自所述第一控制器。
本发明的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例提供的一种存储系统的结构示意图;
图2为本发明实施例提供的一种控制器的结构示意图;
图3为本发明实施例提供的一种写数据方法的流程示意图;
图4为本发明实施例提供的另一种写数据方法的流程示意图。
具体实施方式
下面结合附图对本申请的实施例进行描述。
参见图1,图1为本发明实施例提供的存储系统的结构示意图。如图1所示,该存储系统包括至少两个控制器(如图1所示的第一控制器11以及第二控制器22)和多个逻辑存储区域44。
控制器11和控制器22分别通过存储区域网络(storage area network,SAN)与主机(图中未示出)连接。控制器11与控制器22之间可以通信。控制器11和控制器22具有相同的物理结构和功能。以控制器11为例,它可以是一种计算设备,如服务器、台式计算机等等。在控制器11上安装有操作系统以及应用程序。控制器11可以接收来自主机的输入输出(I/O)请求。控制器11还可以存储I/O请求中携带的数据(如果有的话),并且将该数据写入存储设备44中。
其中,上述存储设备44包括但不限定于固态硬盘(solid state disk,SSD)、移动硬盘、机械硬盘等存储设备。
上述SSD是以闪存(flash memory)芯片为存储介质的存储器,又名固态驱动器(solid state drive,SSD)。
图1仅是示例性说明,在实际应用中存储系统可包含多个控制器,每个控制器的物理结构和功能与控制器11类似,并且本实施例并不限定控制器11与控制器22之间,以及任意一个控制器与存储设备44之间的连接方式。只要各个控制器之间,以及各个控制器和存储设备44之间能够相互通信。
图2是控制器11的结构示例图,如图2所示,控制器11包括接口卡110、处理器112和接口卡113。
接口卡110用于和主机通信,控制器11可以通过接口卡110接收主机的操作指令。处理器112可能是一个中央处理器(central processing unit,CPU)。在本发明实施例中,处理器112可以用于接收来自主机的I/O请求、处理所述I/O请求。所述I/O请求可以是写数据请求或者读数据请求,处理器112还可以将写数据请求中的数据发送给逻辑存储区域44。
可选地,控制器11还可以包括存储器111。存储器111用于临时存储从主机接收的数据或从存储设备44读取的数据。控制器11接收主机发送的多个写数据请求时,可以将所述多个写数据请求中的数据暂时保存在存储器111中。当存储器111的容量达到一定阈值时,将存储器111存储的数据以及为所述数据分配的逻辑地址发送给存储设备44。存储设备44存储所述数据。存储器111包括易失性存储器,非易失性存储器或其组合。易失性存储器例如为随机访问存储器(英文:random-access memory,RAM)。非易失性存储器例如软盘、硬盘、固态硬盘(solid state disk,SSD)、光盘等各种可以存储程序代码的机器可读介质。存储器111具有保电功能,保电功能是指系统发生掉电又重新上电时,存储器111中存储的数据也不会丢失。
接口卡113,用于和存储设备44通信,控制器11可以通过接口卡113将写数据请求(包括数据以及控制器11为所述数据分配的逻辑地址)发送给存储设备44存储。
在此需要说明的是控制器22的结构,以及各个部件的功能与控制器11类似,这里不再赘述。
存储设备中的块、页以及实际地址对控制器来说是不可见的,因此控制器不能直接访问逻辑存储区域中的块和页。为了进行写数据,系统控制器将存储设备的存储空间按照设定大小划分为若干个逻辑单元号(logic unit number,LUN),LUN也可称为逻辑存储区域,逻辑存储区域是写数据的基本单位,每个逻辑存储区域均是多个逻辑地址的集合,并且这些逻辑地址是连续的。例如,所述设定大小是1024KB。一个逻辑存储区域N对应的逻辑地址区间是0KB-1023KB;另一个逻辑存储区域对应的逻辑地址区间是1024KB-2047KB;再一个逻辑存储区域对应的逻辑地址区间是2048KB-3071KB,依此类推。
在将数据写入逻辑存储区域时,可以以扇区为单位写入。例如,一个扇区包括520个字节。其中512个字节是数据,8个字节是512字节的数据的数据完整性字段(dataintegrity field,DIF)。也就是说,每次写入的数据须是512个字节的整数倍。如果所述数据的大小不满足512个字节的整数倍,可以添零补足。同样的,从逻辑存储区域中读取数据时,也是以扇区为单位读取。
参见图3,图3为本发明实施例提供的一种写数据方法的流程示意图。该写数据方法应用于存储系统,该存储系统包括第一控制器和第二控制器。如图3所示,该方法包括:
S301、所述第二控制器接收第一写数据请求之后,判断本地保存的第一时间标签是否处于失效状态。
其中,上述存储系统还包括逻辑存储区域,上述第一控制器和第二控制器均能从该逻辑存储区域中读写数据。
其中,上述第一写数据请求携带有第一数据,该第一写数据请求用于请求上述第二控制器将该第一数据写入上述逻辑存储区域中。
具体地,上述第二控制器的本地保存有上述第一时间标签,该第二控制器接收到上述第一写数据请求后,上述第二控制器判断其本地保存第一时间标签是否处于失效状态;该第二控制器确定其本地保存的第一时间标签未处于失效状态时,保存该第一时间标签与上述第一写数据请求之间的对应关系,并对第一写数据请求中携带的第一数据打上第一时间标签,将打上第一时间标签的第一数据写入上述逻辑缓存区域中。
S302、当所述第二控制器确定本地保存的第一时间标签处于失效状态时,从所述第一控制器中读取所述第一时间标签。
在一种可行的实施例中,所述方法还包括:
所述第一控制器在对所述逻辑存储区域执行快照操作时,向所述第二控制器发送第一指示消息,所述第一指示消息用于指示本地保存的第一时间标签失效;
所述第二控制器接收所述第一指示消息后,将其本地保存的第一时间标签设置为失效状态。
具体地,上述第一控制器对上述逻辑存储区域执行快照操作时,该第一控制器在内存M中存储上述第一时间标签,并广播上述第一指示消息,该第一指示消息携带上述内存A的首地址,该第一指示消息用于指示本地保存的第一时间标签失效。其中,上述内存M为上述第一控制器的存储器的一部分存储空间。上述第二控制器接收到上述第一指示消息后,将其本地保存的第一时间标签设置为失效状态。
上述第二控制器接收到上述第一写数据请求后,当确定其本地保存的第一时间标签处于失效状态时,上述第二控制器根据第一指示消息携带的地址从上述内存M中读取上述第一时间标签。
在此需要说明的是,上述第一控制器对上述逻辑存储区域执行快照操作是指对在当前时刻之前上述逻辑存储区域中存储的数据进行备份。
S303、所述第二控制器保存所述第一时间标签与所述第一写数据请求之间的对应关系。
具体地,上述第二控制器保存上述第一时间标签与上述第一写数据请求之间的对应关系,并对第一写数据请求中携带的第一数据打上第一时间标签,将打上第一时间标签的第一数据写入上述逻辑缓存区域中。
在一种可行的实施例中,上述方法还包括:
所述第一控制器向所述第二控制器发送第二指示消息,所述第二指示消息用于指示所述第一控制器已将第一时间标签修改为第二时间标签;
所述第二控制器接收所述第二指示消息后,将所述第二时间标签保存在本地;
所述第二控制器在接收第二写数据请求之后,从其本地读取所述第二时间标签,保存所述第二时间标签与所述第二写数据请求之间的对应关系。
具体地,上述第一控制器广播上述第一指示消息,即向上述第二控制器发送该第一指示消息后,上述第一控制器将上述内存M中存储的第一时间标签修改为第二时间标签。然后,上述第一控制器广播上述第二指示消息,即向上述第二控制器发送第二指示消息,该第二指示消息用于指示上述第一控制器已将第一时间标签修改为第二时间标签,且该第二指示消息携带上述第二时间标签。
上述第二控制器接收到上述第二指示消息后,将该第二指示消息中携带的第二时间标签保存至上述第二控制器本地。
当上述第二控制器接收到上述第二写数据请求后,该第二控制器从其本地读取上述第二时间标签,保存上述第二写数据请求与第二时间标签之间的对应关系。上述第二控制器将该第二写数据请求中携带的第二数据打上第二时间标签,并将打上第二时间标签的第二数据写入上述逻辑存储区域中。
在一种可行的实施例中,在所述第二控制器接收所述第二指示消息之前,并且在接收所述第一指示消息之后,接收的所有的写数据请求所对应的时间标签均来自所述第一控制器。
具体地,在上述第二控制器接收到第二指示消息之前,且在接收到第一指示消息之后,上述第二控制器接收到写数据请求后,根据上述第一指示消息中的地址从上述第一控制器的内存M中获取上述第一时间标签,并保存上述写数据请求与第一时间标签的对应关系。
可以看出,在发明实施例的方案中,第二控制器接收第一写数据请求之后,判断本地保存的第一时间标签是否处于失效状态;当确定本地保存的第一时间标签处于失效状态时,第二控制器从第一控制器中读取第一时间标签;保存第一时间标签与第一写数据请求之间的对应关系,保证了在对逻辑存储区域打快照的时间一致性,降低了性能波动。
参加图4,图4为本发明实施例提供的另一种写数据方法的交互式流程示意图。该方法应用于存储系统,该存储系统包括第一控制器、第二控制器和逻辑存储区域。如图4所示,该方法包括:
S401、第一控制器对逻辑存储区域进行快照操作。
其中,上述第一控制器对上述逻辑存储区域进行快照操作具体是指该第一控制器在对当前时刻之前上述逻辑存储区域存储的数据进行备份。
进一步地,上述第一控制器对上述逻辑存储区域进行快照操作后,该第一控制器将其本地保存的第一时间标签设置为失效状态。上述第一控制器从其存储器中申请一块内存M,在该内存M中存储上述第一时间标签。
进一步地,在第一控制器将其本地保存的第一时间标签修改为第二时间标签之前,该第一控制器接收到写数据请求后,上述第一控制器从上述内存M中获取上述第一时间标签,并保存上述写数据请求与第一时间标签之间的对应关系。
S402、第一控制器向第二控制器发送第一指示消息,该第一指示消息用于指示本地保存的第一时间标签失效。
具体地,上述第一控制器广播上述第一指示消息,使得上述第二控制器可接收到该第一指示消息。其中,上述第一指示消息携带上述内存M的首地址。
S403、第二控制器接收到第一指示消息后,将其本地保存的第一时间标签设置为失效状态。
S404、第二控制器接收到第一写数据请求后,判断其本地保存的第一时间标签是否处于失效状态。
其中,上述第一写数据请求携带第一数据。
具体地,当确定其本地保存的第一时间标签未处于失效状态时,上述第二控制器从其本地获取上述第一时间标签,保存该第一时间标签和上述第一写数据请求之间的对应关系。
当确定其本地保存的第一时间标签处于失效状态时,上述第二控制器根据内存M的首地址从上述第一控制器的内存M中获取上述第一时间标签,保存该第一时间标签和上述第一写数据请求之间的对应关系。
上述第二控制器将上述第一写数据请求中携带的第一数据打上第一时间标签,并将打上第一时间标签的第一数据写入上述逻辑存储区域中。
S405、第一控制器将其本地保存的第一时间标签修改为第二时间标签。
需要指出的是,上述第一控制器将本地保存的第一时间标签修改为第二时间标签后,上述第一控制器接收到写数据请求时,从其本地读取第二时间标签,保存该写数据请求与第二时间标签之间的对应关系。
上述第一控制器为上述写数据请求中携带的数据打上第二时间标签,并将打上第二时间标签的数据存储至上述逻辑存储区域中。
S406、第一控制器向第二控制器发送第二指示消息,该第二指示消息用于指示上述第一控制器已将其本地保存的第一时间标签修改为第二时间标签。
S407、第二控制器接收第二指示消息后,将第二时间标签保存至其本地。
其中,上述第二指示消息携带上述第二时间标签,上述第二控制器接收到该第二指示消息后,将上述第二时间标签保存至其本地。
需要指出的是,在上述第二控制器接收到上述第一指示消息之后,且在该第二控制器接收到第二指示消息之前,上述第二控制器接收到写数据请求后,从根据第一指示消息中携带的内存M的首地址从上述第一控制器中获取第一时间标签,并保存该第一时间标签与写数据请求之间的对应关系。
S408、第二控制器接收第二写数据请求后,从其本地读取第二时间标签,并保存第二时间标签和第二写数据请求之间的对应关系。
具体地,上述第二写数据请求携带第二数据,上述第二控制器接收到该第二写数据请求后,从第二控制器本地读取上述第二时间标签,为上述第二数据打上该第二时间标签,并将打上第二时间标签的第二数据写入上述逻辑存储区域。
需要指出的是,对于多个逻辑存储区域进行快照操作时,可按照图3或图4所示实施例的相关描述对时间标签进行处理。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)或者移动硬盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本发明实施例进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上上述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种写数据方法,其特征在于,所述方法应用于存储系统中,所述存储系统包括第一控制器、第二控制器,所述方法包括:
所述第二控制器接收第一写数据请求之后,判断所述第二控制器本地保存的第一时间标签是否处于失效状态;
当所述第二控制器确定所述第二控制器本地保存的第一时间标签处于失效状态时,从所述第一控制器的内存中读取所述第一时间标签;
所述第二控制器保存所述第一时间标签与所述第一写数据请求之间的对应关系。
2.根据权利要求1所述的方法,其特征在于,所述存储系统还包括逻辑存储区域,所述第一控制器和所述第二控制器均能从所述逻辑存储区域读写数据。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
所述第一控制器在对所述逻辑存储区域执行快照操作时,向所述第二控制器发送第一指示消息,所述第一指示消息用于指示本地保存的第一时间标签失效;
所述第二控制器接收所述第一指示消息后,将其本地保存的第一时间标签设置为失效状态。
4.根据权利要求2或3所述的方法,其特征在于,所述方法还包括:
所述第一控制器向所述第二控制器发送第二指示消息,所述第二指示消息用于指示所述第一控制器已将所述第一时间标签修改为第二时间标签;
所述第二控制器接收所述第二指示消息后,将所述第二时间标签保存在本地;
所述第二控制器在接收第二写数据请求之后,从其本地读取所述第二时间标签,保存所述第二时间标签与所述第二写数据请求之间的对应关系。
5.根据权利要求4所述的方法,其特征在于,在所述第二控制器接收所述第二指示消息之前,并且在接收第一指示消息之后,接收的所有的写数据请求所对应的时间标签均来自所述第一控制器。
6.一种存储系统,其特征在于,包括第一控制器和第二控制器;
所述第二控制器,用于接收第一写数据请求之后,判断所述第二控制器本地保存的第一时间标签是否处于失效状态;
所述第二控制器,还用于当确定所述第二控制器本地保存的第一时间标签处于失效状态时,从所述第一控制器的内存中读取所述第一时间标签;并保存所述第一时间标签与所述第一写数据请求之间的对应关系。
7.根据权利要求6所述的存储系统,其特征在于,所述存储系统还包括逻辑存储区域;
所述第一控制器和所述第二控制器均能从所述逻辑存储区域读写数据。
8.根据权利要求7所述的存储系统,其特征在于,
所述第一控制器,用于在对所述逻辑存储区域执行快照操作时,向所述第二控制器发送第一指示消息,所述第一指示消息用于指示本地保存的第一时间标签失效;
所述第二控制器,还用于接收所述第一指示消息后,将其本地保存的第一时间标签设置为失效状态。
9.根据权利要求7或8所述的存储系统,其特征在于,
所述第一控制器,还用于向所述第二控制器发送第二指示消息,所述第二指示消息用于指示所述第一控制器已将所述第一时间标签修改为第二时间标签;
所述第二控制器,还用于接收所述第二指示消息后,将所述第二时间标签保存在本地;
所述第二控制器,还用于在接收第二写数据请求之后,从其本地读取所述第二时间标签,保存所述第二时间标签与所述第二写数据请求之间的对应关系。
10.根据权利要求9所述的存储系统,其特征在于,在所述第二控制器接收所述第二指示消息之前,并且在接收第一指示消息之后,接收的所有的写数据请求所对应的时间标签均来自所述第一控制器。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810735737.6A CN110688251B (zh) | 2018-07-05 | 2018-07-05 | 写数据方法及存储系统 |
PCT/CN2019/076846 WO2020007058A1 (zh) | 2018-07-05 | 2019-03-04 | 写数据方法及存储系统 |
EP19831322.3A EP3796173A4 (en) | 2018-07-05 | 2019-03-04 | DATA WRITING PROCESS AND STORAGE SYSTEM |
US17/141,953 US11500741B2 (en) | 2018-07-05 | 2021-01-05 | Data write method and storage system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810735737.6A CN110688251B (zh) | 2018-07-05 | 2018-07-05 | 写数据方法及存储系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110688251A CN110688251A (zh) | 2020-01-14 |
CN110688251B true CN110688251B (zh) | 2021-12-31 |
Family
ID=69060050
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810735737.6A Active CN110688251B (zh) | 2018-07-05 | 2018-07-05 | 写数据方法及存储系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11500741B2 (zh) |
EP (1) | EP3796173A4 (zh) |
CN (1) | CN110688251B (zh) |
WO (1) | WO2020007058A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111949220B (zh) * | 2020-09-03 | 2023-12-08 | 合肥沛睿微电子股份有限公司 | 存储设备异常断电恢复方法及存储设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006113667A (ja) * | 2004-10-12 | 2006-04-27 | Hitachi Ltd | ストレージ装置およびその制御方法 |
CN103488431A (zh) * | 2013-09-10 | 2014-01-01 | 华为技术有限公司 | 一种写数据方法及存储设备 |
CN103842954A (zh) * | 2013-12-05 | 2014-06-04 | 华为技术有限公司 | 一种存储系统中的数据处理方法、装置和系统 |
CN105450687A (zh) * | 2014-08-19 | 2016-03-30 | 华为技术有限公司 | 一种标签转换方法、装置及sas存储介质 |
CN106802770A (zh) * | 2015-11-25 | 2017-06-06 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7882069B2 (en) * | 2008-02-19 | 2011-02-01 | Oracle International Corp. | Tag based backup and recovery |
CN101526925B (zh) * | 2009-04-15 | 2013-02-27 | 成都市华为赛门铁克科技有限公司 | 一种缓存数据的处理方法及数据存储系统 |
US8615633B2 (en) * | 2009-04-23 | 2013-12-24 | Empire Technology Development Llc | Multi-core processor cache coherence for reduced off-chip traffic |
WO2014057515A1 (en) * | 2012-10-10 | 2014-04-17 | Hitachi, Ltd. | Storage apparatus comprising snapshot function, and storage control method |
US9280296B2 (en) * | 2013-05-23 | 2016-03-08 | Globalfoundries Inc. | Recovery from failure of primary storage volumes by using mirrored data maintained with host timestamps |
JP6734536B2 (ja) * | 2016-07-29 | 2020-08-05 | 富士通株式会社 | 情報処理装置及びメモリコントローラ |
KR101716861B1 (ko) * | 2016-10-04 | 2017-03-15 | (주)볼트마이크로 | 영상데이터 관리 장치 및 방법 |
-
2018
- 2018-07-05 CN CN201810735737.6A patent/CN110688251B/zh active Active
-
2019
- 2019-03-04 WO PCT/CN2019/076846 patent/WO2020007058A1/zh unknown
- 2019-03-04 EP EP19831322.3A patent/EP3796173A4/en active Pending
-
2021
- 2021-01-05 US US17/141,953 patent/US11500741B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006113667A (ja) * | 2004-10-12 | 2006-04-27 | Hitachi Ltd | ストレージ装置およびその制御方法 |
CN103488431A (zh) * | 2013-09-10 | 2014-01-01 | 华为技术有限公司 | 一种写数据方法及存储设备 |
CN103842954A (zh) * | 2013-12-05 | 2014-06-04 | 华为技术有限公司 | 一种存储系统中的数据处理方法、装置和系统 |
CN105450687A (zh) * | 2014-08-19 | 2016-03-30 | 华为技术有限公司 | 一种标签转换方法、装置及sas存储介质 |
CN106802770A (zh) * | 2015-11-25 | 2017-06-06 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3796173A4 (en) | 2021-08-04 |
US11500741B2 (en) | 2022-11-15 |
EP3796173A1 (en) | 2021-03-24 |
WO2020007058A1 (zh) | 2020-01-09 |
US20210124653A1 (en) | 2021-04-29 |
CN110688251A (zh) | 2020-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3726364B1 (en) | Data write-in method and solid-state drive array | |
EP3098715B1 (en) | System and method for object-based continuous data protection | |
EP3159796B1 (en) | System and method for generating backups of a protected system from a recovery system | |
JP5346536B2 (ja) | 情報バックアップ/リストア処理装置、及び情報バックアップ/リストア処理システム | |
US9501231B2 (en) | Storage system and storage control method | |
CN101840362B (zh) | 一种改进的写时拷贝快照的实现方法和装置 | |
EP2879040B1 (en) | Data storage method, data storage apparatus, and storage device | |
US9424137B1 (en) | Block-level backup of selected files | |
EP2942713A1 (en) | Storage system and storage apparatus | |
EP2933733A1 (en) | Data processing method and device in distributed file storage system | |
CN109522154B (zh) | 数据恢复方法及相关设备与系统 | |
CN106776147B (zh) | 一种差异数据备份方法和差异数据备份装置 | |
TW201120904A (en) | Power interrupt management | |
EP3748509A1 (en) | System garbage collection method and method for collecting garbage in solid state hard disk | |
US10452286B2 (en) | Leveraging continuous replication to copy snapshot backup image | |
US8572338B1 (en) | Systems and methods for creating space-saving snapshots | |
CN105302665B (zh) | 一种改进的写时拷贝快照方法及系统 | |
EP2707802B1 (en) | Preventing data loss during reboot and logical storage resource management device | |
CN110413454B (zh) | 基于存储阵列的数据重建方法、装置及存储介质 | |
CN110825559A (zh) | 一种数据处理方法及设备 | |
CN101477447A (zh) | 磁盘快照方法与装置 | |
CN110688251B (zh) | 写数据方法及存储系统 | |
US11068299B1 (en) | Managing file system metadata using persistent cache | |
EP2936319B1 (en) | Virtual tape library system | |
JP2021114164A (ja) | ストレージ装置及びストレージ制御方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |