CN117149062A - 一种磁带损坏数据的处理方法以及计算装置 - Google Patents
一种磁带损坏数据的处理方法以及计算装置 Download PDFInfo
- Publication number
- CN117149062A CN117149062A CN202310920568.4A CN202310920568A CN117149062A CN 117149062 A CN117149062 A CN 117149062A CN 202310920568 A CN202310920568 A CN 202310920568A CN 117149062 A CN117149062 A CN 117149062A
- Authority
- CN
- China
- Prior art keywords
- data
- logic block
- memory
- mapping relation
- damaged
- 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
Links
- 238000003672 processing method Methods 0.000 title abstract description 9
- 238000013507 mapping Methods 0.000 claims abstract description 88
- 230000015654 memory Effects 0.000 claims description 96
- 238000000034 method Methods 0.000 claims description 49
- 238000012545 processing Methods 0.000 claims description 25
- 230000008439 repair process Effects 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 8
- 238000001514 detection method Methods 0.000 claims description 6
- 238000004891 communication Methods 0.000 description 9
- 230000002950 deficient Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 238000012005 ligant binding assay Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 239000012634 fragment Substances 0.000 description 6
- 238000007726 management method Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0635—Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
-
- 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
- G06F3/064—Management of blocks
-
- 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/0673—Single storage device
- G06F3/0682—Tape device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例公开了一种磁带损坏数据的处理方法和计算装置,用于对磁带损坏数据进行修复。磁带损坏数据的处理方法包括:在检测到磁带有损坏逻辑块的情况下,根据冗余数据确定损坏逻辑块的数据,将存储数据区的第一个空闲逻辑块作为重映射逻辑块,将损坏逻辑块的数据写入重映射逻辑块;将损坏逻辑块地址和重映射逻辑块地址的映射关系写入元数据区的第一个空闲数据块。
Description
技术领域
本申请涉及存储技术领域,尤其涉及一种磁带损坏数据的处理方法以及计算装置。
背景技术
磁带是一种大容量的磁记录材料。在磁带上写入数据后,磁带存储的数据不可更改。
对于磁带的损坏数据,目前有一种数据重构方法大致如下:对于有损坏数据的磁带,获取该磁带的数据,然后将整个磁带的数据写入另一个磁带。
由于磁带容量很大,因此数据重构需要很长时间,对磁带数据的访问速度影响很大。
发明内容
本申请实施例提供了一种磁带损坏数据的处理方法以及计算装置,能够在磁带出现损坏数据后,将损坏数据映射到磁带的正常存储区域,从而能够基于该磁带正常读写数据,保障了访问磁带数据的速度,也提高了磁带的持久度。
第一方面提供一种磁带损坏数据的处理方法,其包括:在检测到磁带有损坏逻辑块的情况下,根据冗余数据确定损坏逻辑块的数据,将存储数据区的第一个空闲逻辑块作为重映射逻辑块,将损坏逻辑块的数据写入重映射逻辑块;将损坏逻辑块地址和重映射逻辑块地址的映射关系写入元数据区的第一个空闲数据块。其中,磁带包括元数据区和存储数据区。
依此实施,能够将损坏逻辑块的数据保存在重映射逻辑块,后续可以从重映射逻辑块读取数据,从而完成数据修复。基于该方法能够保障磁带数据的访问速度,也提高了磁带的持久度。
在一种可能实现方式中,本申请的磁带损坏数据的处理方法还包括:记录重映射逻辑块的结束地址和映射关系的结束地址。在重映射之后,重映射逻辑块的结束地址之后的第一个空闲逻辑块即存储数据区的第一个空闲逻辑块,因此根据重映射逻辑块的结束地址可以更新存储数据区的第一个空闲逻辑块。映射关系的结束地址之后的第一个空闲数据块即元数据区的第一个空闲数据块,因此可以根据映射关系的结束地址更新元数据区的第一个空闲数据块。
在另一种可能实现方式中,本申请的磁带损坏数据的处理方法还包括:将元数据区的映射关系集合加载到内存;接收读指令后,当映射关系集合不包括读指令携带的逻辑块地址时,根据读指令携带的逻辑块地址读取数据;当映射关系集合包括读指令携带的逻辑块地址时,从映射关系集合中查找读指令携带的逻辑块地址对应的重映射逻辑块地址,根据读指令携带的逻辑块地址对应的重映射逻辑块地址读取数据。这样可以从重映射逻辑块地址读数据,从而保障磁带数据的访问速度。
在另一种可能实现方式中,本申请的磁带损坏数据的处理方法还包括:将元数据区的映射关系集合加载到内存之后,周期检查元数据区的映射关系数量;当元数据区的映射关系数量大于内存的映射关系数量时,将元数据区的映射关系集合加载到内存之后,根据元数据区的映射关系集合更新内存中的映射关系集合。这样可以同步元数据区的映射关系和内存的映射关系,能够防止磁带出现新的损坏逻辑块导致不能读写的情况。
在另一种可能实现方式中,当检测到元数据区中重映射逻辑块地址的数量大于或等于预设阈值时,输出告警信息。当重映射逻辑块的数量大于或等于预设阈值时,表明磁带有大量损坏逻辑块和重映射逻辑块,此时磁盘的可靠性不佳,而且会增加读数据时长。
在另一种可能实现方式中,元数据区位于磁带的起始位置。由于读数据的磁头每次都是从磁带的起始位置开始读写,从磁带的起始位置加载映射关系集合比从磁带的其他位置加载映射关系集合更快。
第二方面提供一种计算装置,该计算装置用于执行上述第一方面或第一方面的任意可能的实现方式中的方法。具体地,该计算装置包括用于执行上述第一方面或第一方面的任意可能的实现方式中的方法的模块或单元,如检测模块、修复模块、加载模块、输入输出模块、更新模块和告警模块。
第三方面提供一种计算设备,其包括处理器和存储器,存储器用于存储程序;处理器通过执行程序用于实现第一方面或第一方面的任意可能的实现方式中的方法。
第四方面提供一种计算设备集群,其包括至少一个计算设备,每个计算设备包括处理器和存储器,至少一个计算设备的处理器用于执行至少一个计算设备的存储器中存储的指令,以使得计算设备集群执行如第一方面或第一方面的任意可能的实现方式中的方法。
第五方面提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当指令在计算设备集群上运行时,使得计算设备集群执行第一方面或第一方面的任意可能的实现方式中的方法。
第六方面提供了一种包含指令的计算机程序产品,当其在计算设备集群上运行时,使得计算设备集群执行第一方面或第一方面的任意可能的实现方式中的方法。
附图说明
图1A为本申请实施例中存储系统的一个示意图;
图1B为本申请实施例中存储系统的另一个示意图;
图2为本申请实施例中根据逻辑块地址读数据的一个示意图;
图3为本申请实施例中计算装置的一个结构图;
图4为本申请实施例中磁带损坏数据的处理方法的一个流程图;
图5为本申请实施例中元数据区和存储数据区的一个示意图;
图6为本申请实施例中计算设备的一个结构图;
图7为本申请实施例中计算设备集群的一个结构图;
图8为本申请实施例中计算设备集群的另一个结构图。
具体实施方式
本申请实施例提供了一种磁带损坏数据的处理方法,该方法可以用于包括磁带的存储系统。在存储系统中,为了保证数据的可靠性,可以采用纠删码(erasure coding,EC)校验机制或者多副本机制来实现数据冗余。
EC校验机制是指将数据划分为至少两个数据分片,按照校验算法计算至少两个数据分片的校验分片,当其中一个数据分片丢失时,可以利用另一个数据分片以及校验分片恢复数据。对于数据而言,其全局地址是多个细粒度的全局地址的集合,每个细粒度的全局地址对应了一个数据分片/校验分片的物理地址。相较于副本而言,纠删码有更高存储利用率的优点,能显著的降低成本。
多副本机制是指存储至少两份相同的数据副本,并且,这至少两份数据副本存储在两个不同的物理地址中。当其中一份数据副本丢失时,可以使用其他数据副本恢复。对于数据而言,其全局地址也是多个更细粒度的全局地址的集合,每个细粒度的全局地址对应了一个数据副本的物理地址。
本申请的存储系统可以是分布式存储系统或者集中式存储系统。下面介绍一种内存池架构的分布式存储系统。参阅图1A,在一个示例中,本实施例提供的存储系统包括计算节点集群和存储节点集群。其中,计算节点集群包括一个或多个计算装置100(图1A中示出了两个计算装置100,但不限于两个计算装置100)。计算装置100是用户侧的一种计算设备,如服务器、台式计算机、手机等。在硬件层面,计算装置100中设置有处理器和内存(图1A未示出)。在软件层面,计算装置100上运行有应用程序(application)101(简称应用)和客户端程序102(简称客户端)。应用101是对用户呈现的各种应用程序的统称。客户端102用于接收由应用101触发的数据访问请求,并且与存储节点20交互,向存储节点20发送数据访问请求。客户端102还用于接收来自存储节点的数据,并向应用101转发数据。可以理解的是,当客户端102是软件程序时,客户端102的功能由计算装置100所包含的处理器运行内存中的程序来实现。客户端102也可以由位于计算装置100内部的硬件组件来实现。计算节点集群中的任意一个客户端102可以访问存储节点集群中的任意一个存储节点20。
存储节点集群包括一个或多个存储节点20(图1A中示出了三个存储节点20,但不限于三个存储节点20),各个存储节点20之间可以互联。存储节点如服务器、台式计算机或者存储阵列的控制器、硬盘框等。在功能上,存储节点20主要用于对数据进行计算或处理等。另外,存储节点集群还包括管理节点(图1A未示出)。管理节点用于创建并管理内存池。各个存储节点20从存储节点中选举出一个节点让它承担管理节点的职能。管理节点可以与任意一个存储节点20通信。
在硬件上,如图1A所示,存储节点20至少包括处理器、存储器和控制单元201。其中,处理器202是中央处理器(central processing unit,CPU),用于处理来自存储节点20外部的数据,或者存储节点20内部生成的数据。存储器是指用于存储数据的装置,它可以是内存,也可以是磁带。内存是指与处理器直接交换数据的内部存储器,它可以随时读写数据,而且速度很快,作为操作系统或其他正在运行中的程序的临时数据存储器。内存包括至少两种存储器,例如内存既可以是随机存取存储器,也可以是只读存储器(read onlymemory,ROM)。举例来说,随机存取存储器可以是动态随机存取存储器(dynamic randomaccess memory,DRAM),也可以是存储级存储器(storage class memory,SCM)。DRAM是一种半导体存储器,与大部分随机存取存储器(random access memory,RAM)一样,属于一种易失性存储器(volatile memory)设备。SCM是一种同时结合传统储存装置与存储器特性的复合型储存技术,存储级存储器能够提供比硬盘更快速的读写速度,但存取速度上比DRAM慢,在成本上也比DRAM更为便宜。
然而,DRAM和SCM在本实施例中只是示例性的说明,内存还可以包括其他随机存取存储器,例如静态随机存取存储器(static random access memory,SRAM)等。而对于只读存储器,举例来说,可以是可编程只读存储器(programmable read only memory,PROM)、可抹除可编程只读存储器(erasable programmable read only memory,EPROM)等。另外,内存还可以是双列直插式存储器模块或双线存储器模块(dual in-line memory module,DIMM),即由动态随机存取存储器(DRAM)组成的模块。
与内存不同的是,磁带读写数据的速度比内存慢,通常用于持久性地存储数据。每个存储节点20内部可以设置一个或多个磁带。
在另一个示例中,内存池的网络架构可参考图1B,如图1B所示,在这种网络架构中,存储节点和计算节点集成在同一个物理设备中,本实施例中将集成的设备统一称为存储节点。应用部署在存储节点20内部,所以应用可直接通过存储节点20中的客户端触发写数据请求或读数据请求,由该存储节点20处理,或者发送给其他存储节点20处理。此时,客户端向本地存储节点20发送的读写数据请求具体是指客户端向处理器发送数据访问请求。除此之外,存储节点20所包含的组件及其功能与图1A中的存储节点20类似,这里不再赘述。
对于块级别的数据存储,介质不关心数据的组织方式以及结构。如图2所示,所有数据按照固定的大小分块,每一块赋予一个用于寻址的编号,具体可以用一个逻辑块编号(logical block addressing,LBA)进行寻址。计算节点与块设备之间通过互联网小型计算机系统接口(internet small computer system interface,iSCSI)协议,或者其他协议进行通信。当然,除了磁带还有其它块设备,例如不同规格的软盘,各种规格的光盘,硬盘等。
iSCSI是一种可以通过TCP/IP网络提供对存储设备的块级访问的传输层协议。该协议在TCP之上起作用,并描述了如何通过局域网(local area network,LAN)、广域网(wide area network,WAN)或互联网传输SCSI数据包。iSCSI使IT部门可以建立共享存储网络,例如存储区域网络(storage area network,SAN)。
由于iSCSI使用标准的以太网技术,因此组织通常会使用iSCSI,这使其比光纤通道更便宜、更容易采用。iSCSI可以利用多路径、巨型帧、数据中心桥接和其他技术,可以更远距离高速传输数据。基于iSCSI的SAN支持25Gb~100Gb的以太网速率。
下面对计算装置100包括的功能模块进行介绍,参阅图3,在一个实施例中,本申请提供的计算装置100包括:
检测模块301用于在检测到磁带有损坏逻辑块的情况下,根据冗余数据确定损坏逻辑块的数据;
修复模块302用于将存储数据区的第一个空闲逻辑块作为重映射逻辑块,将损坏逻辑块的数据写入重映射逻辑块;将损坏逻辑块地址和重映射逻辑块地址的映射关系写入元数据区的第一个空闲数据块。
在一个可选实施例中,修复模块302还用于记录重映射逻辑块的结束地址和映射关系的结束地址,重映射逻辑块的结束地址用于更新存储数据区的第一个空闲逻辑块,映射关系的结束地址用于更新元数据区的第一个空闲数据块。
在另一个可选实施例中,计算装置100还包括加载模块303和输入输出模块304,加载模块303用于将元数据区的映射关系加载到内存;输入输出模块304用于接收读指令,当映射关系集合不包括读指令携带的逻辑块地址时,根据读指令携带的逻辑块地址读取数据;当映射关系集合包括待逻辑块地址时,从映射关系集合中查找读指令携带的逻辑块地址对应的重映射逻辑块地址,根据读指令携带的逻辑块地址对应的重映射逻辑块地址读取数据。
在另一个可选实施例中,计算装置100还包括更新模块305,更新模块305用于在加载模块将元数据区的映射关系集合加载到内存之后,周期检查元数据区的映射关系数量,当元数据区的映射关系数量大于内存的映射关系数量时,根据元数据区的映射关系集合更新内存的映射关系集合。
在另一个可选实施例中,计算装置100还包括告警模块306,告警模块306用于当检测到磁带中重映射逻辑块的数量大于或等于预设阈值时,输出告警信息。应理解,更新模块305和告警模块306都是可选模块。
目前有一种硬盘坏道修复方法大致如下:对某个硬盘的坏扇区执行读操作时,上报未知错误(uncoreecalbe error,UNC)码,根据其他硬盘的冗余数据计算得到坏扇区的数据,将坏扇区对应的LBA与预留空间的扇区建立映射关系,将计算得到的数据写入该预留空间的扇区。该方法需要在硬盘上划分若干扇区作为预留空间,由于硬盘采用就地写的模式,该方法不修改LBA。
由于磁带不能按照就地写的方式写数据,因此不能修改损坏区域的LBA与物理存储区域的对应关系,因此上述方法不能应用与磁带。下面对本申请的磁带损坏数据的处理方法进行介绍,参阅图4,本申请中磁带损坏数据的处理方法的一个实施例包括:
步骤401、在检测到磁带有损坏逻辑块的情况下,根据冗余数据确定损坏逻辑块的数据。
本实施例中,磁带包括元数据区和存储数据区。元数据区可以划分为多个数据块,每个数据块存储两个逻辑块地址的映射关系,每个数据块有一个数据块地址。存储数据区可以划分为多个逻辑块,每个逻辑块存储数据,数据包括但不限于文本数据、语音数据或视频数据。每个逻辑块的地址为LBA。元数据区的数据块大小可以根据实际情况设置,例如16字节,本申请不作限定。存储数据区的逻辑块大小可以根据实际情况进行设置,例如是1MB,10MB等,本申请不作限定。
当冗余数据是在其他存储介质中与损坏逻辑块的数据对应的副本数据时,该副本数据即为损坏逻辑块的数据。当冗余数据是损坏逻辑块的数据对应的纠删码冗余数据时,根据损坏逻辑块的数据对应的纠删码冗余数据计算出损坏逻辑块的数据。
步骤402、将存储数据区的第一个空闲逻辑块作为重映射逻辑块,将损坏逻辑块的数据写入重映射逻辑块。
步骤403、将损坏逻辑块地址和重映射逻辑块地址的映射关系写入元数据区的第一个空闲数据块。
可以理解的是,将损坏逻辑块的数据写入存储数据区以及将映射关系写入元数据区都是采用追加写的方式。追加写是指写入一段数据后,将追加写的数据写入该段数据之后。
损坏逻辑块地址可以认为是源逻辑块地址,重映射逻辑块地址可以认为是目的逻辑块地址,映射关系可以表示为(源逻辑块地址,目的逻辑块地址)。
本实施例中,对于磁带有损坏数据无法读取的情况,可以将损坏逻辑块的数据保存在重映射逻辑块,后续可以从重映射逻辑块读取数据。在出现损坏逻辑块的情况下,本实施例的方法可以正常读写数据,保障了磁带数据的访问速度。
其次,在出现损坏逻辑块的情况下无需更换磁带,因此提高了磁带的持久度。
再次,本申请不需要预留一个存储区域作为预留空间,而是采用追加写的方式将损坏逻辑块的数据写在存储数据之后,这样损坏逻辑块的位置和重映射逻辑块的位置与当前存储数据的大小相关,而不是和整个磁带容量相关。
在一个可选实施例中,本申请的磁带损坏数据的处理方法还包括:记录重映射逻辑块的结束地址和映射关系的结束地址。
步骤402之后,重映射逻辑块的结束地址之后的第一个空闲逻辑块即存储数据区的第一个空闲逻辑块,因此可以根据重映射逻辑块的结束地址更新存储数据区的第一个空闲逻辑块。
步骤403之后,映射关系的结束地址之后的第一个空闲数据块即元数据区的第一个空闲数据块,因此可以根据映射关系的结束地址更新元数据区的第一个空闲数据块。
参阅图5,元数据区包括多个数据块,每个数据块存储2个LBA。存储数据区包括多个逻辑块。存储数据占用的逻辑块以逻辑块1至逻辑块6为例,根据逻辑块6的结束地址可以确定第一个空闲逻辑块为逻辑块7。
步骤501、检测损坏逻辑块。
步骤502、将损坏逻辑块的数据写入重映射逻辑块。
当检测到逻辑块5损坏时,根据逻辑块5对应的冗余数据计算出逻辑块5的数据,将逻辑块5的数据写入逻辑块7。
步骤503、写入映射关系。
将逻辑块5的地址(即LBA5)和逻辑块7的地址(即LBA7)写入元数据区的数据块1,然后将元数据区的数据结束地址更新为数据块1的结束地址,将存储数据区的数据结束地址更新为逻辑块7的结束地址,以便于后续在元数据区写入映射关系以及在存储数据区写入数据。
在另一个可选实施例中,本申请的磁带损坏数据的处理方法还包括:将元数据区的映射关系集合加载到内存;接收读指令后,当映射关系集合不包括读指令携带的逻辑块地址时,根据读指令携带的逻辑块地址读取数据;当映射关系集合包括读指令携带的逻辑块地址时,从映射关系集合中查找读指令携带的逻辑块地址对应的重映射逻辑块地址,根据读指令携带的逻辑块地址对应的重映射逻辑块地址读取数据。
本实施例中,元数据区的映射关系集合包括元数据区的全部映射关系或者部分映射关系。元数据区的大小可以是但不限于磁带存储容量的千分之一,具体可以根据实际情况进行设置。当磁带出现损坏逻辑块后,按照本实施例的方法可以从磁带读数据。
需要说明的是,本申请的元数据区可以位于磁带的起始位置,由于磁头每次都是从磁带的起始位置开始读写,这样加载元数据区的映射关系集合比从磁带的其他位置加载映射关系集合更快。本申请的元数据区也可以根据实际情况设置在磁带的其他位置。
在另一个可选实施例中,本申请的磁带损坏数据的处理方法还包括:将元数据区的映射关系集合加载到内存之后,周期检查元数据区的映射关系数量;当元数据区的映射关系数量大于内存的映射关系数量时,根据元数据区的映射关系集合更新内存中的映射关系集合。
当元数据区的映射关系数量大于内存的映射关系数量时,表明磁带出现了新的损坏数据块,可以将新映射关系加载到内存,或者将内存的映射关系集合更新为元数据区的映射关系集合。这样可以同步元数据区的映射关系和内存的映射关系,防止磁带出现损坏数据导致不能读写的情况。
本申请也可以不检查元数据区的映射关系数量,而是周期性将内存的映射关系集合更新为元数据区的映射关系集合。检查映射关系数量的周期和更新内存的映射关系集合的周期可以根据实际情况进行设置,本申请不作限定。
在另一种可能实现方式中,当检测到元数据区中重映射逻辑块地址的数量大于或等于预设阈值时,输出告警信息。当重映射逻辑块的数量大于或等于预设阈值时,表明磁带有大量损坏逻辑块和重映射逻辑块,此时磁盘的可靠性不佳,而且会增加读数据时长。
本申请还提供一种计算设备600,如图6所示,计算设备600包括:总线602、处理器604、存储器606和通信接口608。处理器604、存储器606和通信接口608之间通过总线602通信。计算设备600可以是服务器或终端设备。应理解,本申请不限定计算设备600中的处理器、存储器的个数。
总线602可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。总线604可包括在计算设备600各个部件(例如,存储器606、处理器604、通信接口608)之间传送信息的通路。
处理器604可以包括中央处理器(central processing unit,CPU)、图形处理器(graphics processing unit,GPU)、微处理器(micro processor,MP)或者数字信号处理器(digital signal processor,DSP)等处理器中的任意一种或多种。
存储器606可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM)。处理器604还可以包括非易失性存储器(non-volatilememory),例如只读存储器(read-only memory,ROM),快闪存储器,机械硬盘(hard diskdrive,HDD)或固态硬盘(solid state drive,SSD)。
存储器606中存储有可执行的程序代码。在一个可选实施例中,处理器604执行该可执行的程序代码以分别实现前述检测模块301、修复模块302、加载模块303、输入输出模块304、更新模块305和告警模块306的功能,从而实现磁带损坏数据的处理方法。也即,存储器606上存有用于执行磁带损坏数据的处理方法的指令。
通信接口608使用例如但不限于网络接口卡、收发器一类的收发模块,来实现计算设备600与其他设备或通信网络之间的通信。
本申请实施例还提供了一种计算设备集群。该计算设备集群包括至少一台计算设备。该计算设备可以是服务器,例如是中心服务器、边缘服务器,或者是本地数据中心中的本地服务器。在一些实施例中,计算设备也可以是台式机、笔记本电脑或者智能手机等终端设备。
如图7所示,计算设备集群包括至少一个计算设备600。计算设备集群中的一个或多个计算设备600中的存储器606可以存有相同的用于执行磁带损坏数据的处理方法的指令。
在一些可能的实现方式中,该计算设备集群中的一个或多个计算设备600的存储器606中也可以分别存有用于执行磁带损坏数据的处理方法的部分指令。换言之,一个或多个计算设备600的组合可以共同执行用于执行磁带损坏数据的处理方法的指令。
需要说明的是,计算设备集群中的不同的计算设备600中的存储器606可以存储不同的指令,分别用于执行计算装置的部分功能。也即,不同的计算设备600中的存储器606存储的指令可以实现检测模块301、修复模块302、加载模块303、输入输出模块304、更新模块305和告警模块306中的一个或多个模块的功能。
在一些可能的实现方式中,计算设备集群中的一个或多个计算设备可以通过网络连接。其中,网络可以是广域网或局域网等等。图8示出了一种可能的实现方式。如图8所示,两个计算设备600A和600B之间通过网络进行连接。具体地,通过各个计算设备中的通信接口与网络进行连接。在这一类可能的实现方式中,计算设备600A中的存储器606中存有执行检测模块301和修复模块302的功能的指令。同时,计算设备600B中的存储器606中存有执行加载模块303、输入输出模块304、更新模块305和告警模块306的功能的指令。
本申请实施例还提供了一种包含指令的计算机程序产品。所述计算机程序产品可以是包含指令的,能够运行在计算设备集群上或被储存在任何可用介质中的软件或程序产品。当所述计算机程序产品在计算设备集群上运行时,使得计算设备集群执行磁带损坏数据的处理方法。
本申请实施例还提供了一种计算机可读存储介质。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质的数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘)等。该计算机可读存储介质包括指令,所述指令指示计算设备集群执行磁带损坏数据的处理方法。
本申请还提供一种芯片系统,该芯片系包括相互耦合的处理器和存储器。存储器用于存储的计算机程序或指令,该处理器用于执行存储器存储的计算机程序或指令,以使计算设备执行上述实施例中由执行的步骤。可选地,存储器为芯片内的存储器,如寄存器、缓存等,存储器还可以是计算设备内的位于芯片外部的存储器,如只读存储器或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器等。上述任一处提到的处理器,可以是一个通用中央处理器,微处理器,专用集成电路或一个或多个用于实现上述磁带损坏数据的处理方法的集成电路。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本申请实施例的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (15)
1.一种磁带损坏数据的处理方法,其特征在于,所述方法应用于包括磁带的存储系统,所述磁带包括元数据区和存储数据区,所述方法包括:
在检测到磁带有损坏逻辑块的情况下,根据冗余数据确定损坏逻辑块的数据;
将所述存储数据区的第一个空闲逻辑块作为重映射逻辑块,将所述损坏逻辑块的数据写入所述重映射逻辑块;
将损坏逻辑块地址和重映射逻辑块地址的映射关系写入所述元数据区的第一个空闲数据块。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
记录所述重映射逻辑块的结束地址和所述映射关系的结束地址,所述重映射逻辑块的结束地址用于更新所述存储数据区的第一个空闲逻辑块,所述映射关系的结束地址用于更新所述元数据区的第一个空闲数据块。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述元数据区的映射关系集合加载到内存;
接收读指令;
当所述映射关系集合不包括所述读指令携带的逻辑块地址时,根据所述读指令携带的逻辑块地址读取数据;
当所述映射关系集合包括所述待逻辑块地址时,从所述映射关系集合中查找所述读指令携带的逻辑块地址对应的重映射逻辑块地址,根据所述读指令携带的逻辑块地址对应的重映射逻辑块地址读取数据。
4.根据权利要求3所述的方法,其特征在于,在所述将所述元数据区的映射关系集合加载到内存之后,所述方法还包括:
周期检查所述元数据区的映射关系数量;
当所述元数据区的映射关系数量大于所述内存的映射关系数量时,根据所述元数据区的映射关系集合更新所述内存的映射关系集合。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:
当检测到所述元数据区中重映射逻辑块地址的数量大于或等于预设阈值时,输出告警信息。
6.根据权利要求1至4中任一项所述的方法,其特征在于,所述元数据区位于所述磁带的起始位置。
7.一种计算装置,其特征在于,包括:
检测模块,用于在检测到磁带有损坏逻辑块的情况下,根据冗余数据确定损坏逻辑块的数据;
修复模块,用于将所述存储数据区的第一个空闲逻辑块作为重映射逻辑块,将所述损坏逻辑块的数据写入所述重映射逻辑块;将损坏逻辑块地址和重映射逻辑块地址的映射关系写入元数据区的第一个空闲数据块。
8.根据权利要求7所述的装置,其特征在于,所述修复模块还用于记录所述重映射逻辑块的结束地址和所述映射关系的结束地址,所述重映射逻辑块的结束地址用于更新所述存储数据区的第一个空闲逻辑块,所述映射关系的结束地址用于更新所述元数据区的第一个空闲数据块。
9.根据权利要求7所述的装置,其特征在于,所述装置还包括:
加载模块,用于将所述元数据区的映射关系集合加载到内存;
输入输出模块,用于接收读指令,当所述映射关系集合不包括所述读指令携带的逻辑块地址时,根据所述读指令携带的逻辑块地址读取数据;当所述映射关系集合包括所述待逻辑块地址时,从所述映射关系集合中查找所述读指令携带的逻辑块地址对应的重映射逻辑块地址,根据所述读指令携带的逻辑块地址对应的重映射逻辑块地址读取数据。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
更新模块,用于在所述加载模块将所述元数据区的映射关系集合加载到内存之后,周期检查所述元数据区的映射关系数量,当所述元数据区的映射关系数量大于所述内存的映射关系数量时,根据所述元数据区的映射关系集合更新所述内存的映射关系集合。
11.根据权利要求7至10中任一项所述的装置,其特征在于,所述装置还包括:
告警模块,用于当检测到所述元数据区中重映射逻辑块地址的数量大于或等于预设阈值时,输出告警信息。
12.根据权利要求7至10中任一项所述的装置,其特征在于,所述元数据区位于所述磁带的起始位置。
13.一种计算设备集群,其特征在于,包括至少一个计算设备,每个计算设备包括处理器和存储器,所述至少一个计算设备的处理器用于执行所述至少一个计算设备的存储器中存储的指令,以使得所述计算设备集群执行如权利要求1至6任一项所述的方法。
14.一种计算机可读存储介质,其特征在于,包括计算机程序指令,当所述计算机程序指令由计算设备集群执行时,所述计算设备集群执行如权利要求1至6任一项所述的方法。
15.一种包含指令的计算机程序产品,其特征在于,当所述指令被计算设备集群运行时,使得所述计算设备集群执行如权利要求的1至6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310920568.4A CN117149062A (zh) | 2023-07-24 | 2023-07-24 | 一种磁带损坏数据的处理方法以及计算装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310920568.4A CN117149062A (zh) | 2023-07-24 | 2023-07-24 | 一种磁带损坏数据的处理方法以及计算装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117149062A true CN117149062A (zh) | 2023-12-01 |
Family
ID=88910871
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310920568.4A Pending CN117149062A (zh) | 2023-07-24 | 2023-07-24 | 一种磁带损坏数据的处理方法以及计算装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117149062A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117785070A (zh) * | 2024-02-23 | 2024-03-29 | 杭州海康威视数字技术股份有限公司 | 数据存储控制方法及装置 |
-
2023
- 2023-07-24 CN CN202310920568.4A patent/CN117149062A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117785070A (zh) * | 2024-02-23 | 2024-03-29 | 杭州海康威视数字技术股份有限公司 | 数据存储控制方法及装置 |
CN117785070B (zh) * | 2024-02-23 | 2024-05-24 | 杭州海康威视数字技术股份有限公司 | 数据存储控制方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8862808B2 (en) | Control apparatus and control method | |
US20140281123A1 (en) | System and method for handling i/o write requests | |
US20190324859A1 (en) | Method and Apparatus for Restoring Data after Power Failure for An Open-Channel Solid State Drive | |
US10725662B2 (en) | Data updating technology | |
US9251059B2 (en) | Storage system employing MRAM and redundant array of solid state disk | |
KR102585883B1 (ko) | 메모리 시스템의 동작 방법 및 메모리 시스템 | |
US9367254B2 (en) | Enhanced data verify in data storage arrays | |
US20150339058A1 (en) | Storage system and control method | |
JP2017079053A (ja) | ストレージジャーナリングを改善する方法およびシステム | |
CN105897859B (zh) | 一种存储系统 | |
US10969985B1 (en) | Storage system and control method thereof | |
TW201107981A (en) | Method and apparatus for protecting the integrity of cached data in a direct-attached storage (DAS) system | |
CN117149062A (zh) | 一种磁带损坏数据的处理方法以及计算装置 | |
CN110795279B (zh) | 用于促进dram数据缓存转储和机架级电池备份的系统和方法 | |
US11380418B2 (en) | Memory controllers, storage devices, and operating methods of the storage devices | |
US11055190B1 (en) | System and method for facilitating storage system operation with global mapping to provide maintenance without a service interrupt | |
JP2006099802A (ja) | 記憶制御装置およびキャッシュメモリの制御方法 | |
US10901866B2 (en) | Failure detection and data recovery in a storage system | |
JP5908106B2 (ja) | 妥当性マスクを記憶する装置および方法ならびに操作装置 | |
US11409459B2 (en) | Data parking for SSDs with zones | |
US7797501B2 (en) | Information handling system including a logical volume and a cache and a method of using the same | |
US10061667B2 (en) | Storage system for a memory control method | |
US10699797B2 (en) | Storage area retirement in a storage device | |
US9128887B2 (en) | Using a buffer to replace failed memory cells in a memory component | |
US8667218B2 (en) | Storage apparatus comprising RAID groups of RAID 1 series and control method of writing to RAID group of RAID 1 series |
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 |