CN117519599A - 存储设备的端到端数据保护方法、装置、存储设备及介质 - Google Patents

存储设备的端到端数据保护方法、装置、存储设备及介质 Download PDF

Info

Publication number
CN117519599A
CN117519599A CN202311600868.0A CN202311600868A CN117519599A CN 117519599 A CN117519599 A CN 117519599A CN 202311600868 A CN202311600868 A CN 202311600868A CN 117519599 A CN117519599 A CN 117519599A
Authority
CN
China
Prior art keywords
data
protection
output
data protection
protection type
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
CN202311600868.0A
Other languages
English (en)
Inventor
李骞
王磊
孙明刚
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.)
Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd
Original Assignee
Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd
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 Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd filed Critical Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd
Priority to CN202311600868.0A priority Critical patent/CN117519599A/zh
Publication of CN117519599A publication Critical patent/CN117519599A/zh
Pending legal-status Critical Current

Links

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/062Securing storage systems
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种存储设备的端到端数据保护方法、装置、存储设备及介质,涉及数据保护技术领域。该方法中根据存储设备中各设备的数据保护特性确定各设备的数据保护类型,根据数据保护类型将当前输入/输出的信息附加与当前输入/输出对应的保护信息作为传输数据,并对传输数据进行保护信息的校验,根据校验结果可以更好地保护数据在传输过程中的安全性;且相比于对整个存储设备的存储前端中的设备和存储设备的存储后端中的设备采用相同的数据保护方式,本发明中是根据存储设备中各设备的数据保护特性确定各设备的数据保护类型,使得确定出的数据保护类型更加符合各设备的数据保护特性,大大提高了数据保护的可靠性。

Description

存储设备的端到端数据保护方法、装置、存储设备及介质
技术领域
本发明涉及数据保护技术领域,特别是涉及一种存储设备的端到端数据保护方法、装置、存储设备及介质。
背景技术
存储设备中数据在传输过程中,经历了多个部件、多个传输通道和复杂的软件处理,任何一个环节出现错误都可能导致数据出错,如发生静默数据损坏。静默数据损坏的表现是数据处理正常,直到使用时发现数据是错误的、损坏的。
在存储前端到存储后端(即端到端)中,当发生静默数据损坏后,仍然对数据进行备份,则备份的数据中依然是损坏的数据。若备份数据错误,将无法恢复到正常的数据,对数据的完整性以及数据的恢复造成极大的影响。
由此可见,如何对数据进行保护是本领域人员亟需解决的技术问题。
发明内容
本发明的目的是提供一种存储设备的端到端数据保护方法、装置、存储设备及介质,以解决在存储设备中未对数据进行保护,导致数据完整性差以及数据恢复难度大的技术问题。
为解决上述技术问题,本发明提供一种存储设备的端到端数据保护方法,包括:
根据存储设备中各设备的数据保护特性确定各所述设备的数据保护类型;其中,所述数据保护类型中包括数据完整性域保护类型和数据完整性扩展保护类型;所述数据保护特性为支持所述数据完整性域保护类型和/或支持所述数据完整性扩展保护类型;
获取所述存储设备的当前输入/输出的信息;
根据所述数据保护类型将所述当前输入/输出的信息附加与所述当前输入/输出对应的保护信息,以作为传输数据;其中,所述保护信息中包括循环冗余校验码;
在所述传输数据传输的过程中,对所述传输数据进行所述保护信息的校验;
根据校验结果对所述当前输入/输出的信息进行保护。
一方面,所述根据存储设备中各设备的数据保护特性确定各所述设备的数据保护类型包括:
获取所述存储设备中预设定的所述当前设备的所述数据保护特性;
根据所述数据保护特性确定所述当前设备的所述数据保护类型;
或,获取所述存储设备中的各所述设备之间的连接关系;
根据所述连接关系确定与所述当前设备所连接的下一个设备;
获取预设定的所述下一个设备的所述数据保护特性;
根据所述数据保护特性确定所述当前设备的所述数据保护类型;
对应地,所述存储设备的存储前端中包括与服务器连接的第一转接卡;所述存储设备的存储后端中包括存储系统、第二转接卡、硬盘;所述存储系统的输入端与所述第一转接卡连接;所述存储系统的输出端与所述第二转接卡的输入端连接,所述第二转接卡的输出端与所述硬盘连接;
所述存储设备中的所述设备包括所述第一转接卡、所述第二转接卡;获取所述存储设备中的所述第一转接卡的所述数据保护类型包括:
获取预设定的所述第一转接卡的所述数据保护特性;
根据所述数据保护特性确定所述当前设备的所述数据保护类型;
获取所述存储设备中的所述第二转接卡的所述数据保护类型包括:
获取预设定的所述第二转接卡的所述数据保护特性;
根据所述数据保护特性确定所述当前设备的所述数据保护类型;
或,获取与所述第二转接卡连接的所述硬盘的预设定的所述数据保护特性;
根据所述数据保护特性确定所述当前设备的所述数据保护类型。
另一方面,在所述根据存储设备中各设备的数据保护特性确定各所述设备的数据保护类型之后,所述根据所述数据保护类型将所述当前输入/输出的信息附加与所述当前输入/输出对应的保护信息,以作为传输数据之前,还包括:
在检测到当前设备的所述数据保护类型包含所述数据完整性域保护类型和所述数据完整性扩展保护类型的情况下,判断所述当前设备是否位于存储前端中;
若是,则确定所述当前设备的数据保护的最终数据保护类型为所述数据完整性扩展保护类型;
若否,则确定所述当前设备的所述数据保护的所述最终数据保护类型为所述数据完整性域保护类型。
另一方面,所述根据所述数据保护类型将所述当前输入/输出的信息附加与所述当前输入/输出对应的保护信息,以作为传输数据包括:
根据所述最终数据保护类型确定所述当前输入/输出对应的保护信息的附加方式;
按照所述附加方式将所述当前输入/输出的信息附加与所述当前输入/输出对应的保护信息,以作为所述传输数据;
其中,所述最终数据保护类型为所述数据完整性域保护类型,所述根据所述最终数据保护类型确定所述当前输入/输出对应的保护信息的附加方式包括:
根据所述数据完整性域保护类型确定所述当前输入/输出对应的保护信息的所述附加方式为在所述当前输入/输出的信息后存放所述当前输入/输出对应的所述保护信息;
所述最终数据保护类型为所述数据完整性扩展保护类型,所述根据所述最终数据保护类型确定所述当前输入/输出对应的保护信息的附加方式包括:
根据所述数据完整性扩展保护类型确定所述当前输入/输出对应的保护信息的附加方式为将所述当前输入/输出的信息和所述当前输入/输出对应的所述保护信息存放在不同的存储空间中。
另一方面,所述根据所述数据保护类型将所述当前输入/输出的信息附加与所述当前输入/输出对应的保护信息,以作为传输数据包括:
在检测到所述服务器发出写输入/输出后,所述写输入/输出进入所述存储系统之前,将所述当前输入/输出的信息附加与所述当前输入/输出对应的所述保护信息,以作为所述传输数据;
对应地,所述在所述传输数据传输的过程中,对所述传输数据进行所述保护信息的校验包括:
在检测到所述写输入/输出传输至所述第二转接卡的情况下,和/或在检测到所述写输入/输出传输至所述硬盘的情况下,对所述传输数据进行所述保护信息的校验;
在检测到读输入/输出从所述硬盘读取数据的情况下,在所述第二转接卡的位置和/或在所述第一转接卡的位置对所述读输入/输出进行校验;
在所述第二转接卡的位置和/或在所述第一转接卡的位置对所述读输入/输出进行校验之后,还包括:
若所述校验结果为通过,则剔除与所述读输入/输出对应的所述保护信息;将所述读输入/输出的信息传输至所述服务器。
另一方面,所述在所述传输数据传输的过程中,对所述传输数据进行所述保护信息的校验包括:
设定校验的时间间隔;
自检测到所述传输数据传输开始,按照所述时间间隔对所述传输数据进行所述保护信息的校验;
判断预设时间内所述存储设备是否存在所述传输数据;
若是,则返回所述按照所述时间间隔对所述传输数据进行所述保护信息的校验的步骤;
若否,则结束。
另一方面,根据校验结果对输入/输出的信息进行保护包括:
若所述校验结果为不通过,则获取报错信息;
根据所述报错信息确定所述校验结果为不通过的校验位置;
获取所述校验位置报错的次数;
在检测到所述报错的次数未触发阈值的情况下,获取出错的输入/输出,对出错的输入/输出执行重发操作或放弃操作;
在检测到所述报错的次数触发所述阈值的情况下,检测存储介质或物理连接正常或异常,以及对出错的输入/输出执行重发操作或放弃操作。
为了解决上述技术问题,本发明实施例还提供一种存储设备的端到端数据保护装置,包括:
确定模块,用于根据存储设备中各设备的数据保护特性确定各所述设备的数据保护类型;其中,所述数据保护类型中包括数据完整性域保护类型和数据完整性扩展保护类型;所述数据保护特性为支持所述数据完整性域保护类型和/或支持所述数据完整性扩展保护类型;
获取模块,用于获取所述存储设备的当前输入/输出的信息;
附加模块,用于根据所述数据保护类型将所述当前输入/输出的信息附加与所述当前输入/输出对应的保护信息,以作为传输数据;其中,所述保护信息中包括循环冗余校验码;
校验模块,用于在所述传输数据传输的过程中,对所述传输数据进行所述保护信息的校验;
保护模块,用于根据校验结果对所述当前输入/输出的信息进行保护。
为了解决上述技术问题,本发明实施例还提供一种存储设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述的存储设备的端到端数据保护方法的步骤。
为了解决上述技术问题,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的存储设备的端到端数据保护方法的步骤。
本发明所提供的一种存储设备的端到端数据保护方法,包括:根据存储设备中各设备的数据保护特性确定各设备的数据保护类型;其中,数据保护类型中包括数据完整性域保护类型和数据完整性扩展保护类型;数据保护特性为支持数据完整性域保护类型和/或支持数据完整性扩展保护类型;获取存储设备的当前输入/输出的信息;根据数据保护类型将当前输入/输出的信息附加与当前输入/输出对应的保护信息,以作为传输数据;其中,保护信息中包括循环冗余校验码;在传输数据传输的过程中,对传输数据进行保护信息的校验;根据校验结果对当前输入/输出的信息进行保护。
本发明的有益效果在于,首先,该方法中根据存储设备中各设备的数据保护特性确定各设备的数据保护类型,根据数据保护类型将当前输入/输出的信息附加与当前输入/输出对应的保护信息作为传输数据,并对传输数据进行保护信息的校验,实现了在数据传输过程中对数据的校验,根据校验结果可以更好地保护数据在传输过程中的安全性;且相比于对整个存储设备的存储前端中的设备和存储设备的存储后端中的设备采用相同的数据保护方式,本发明中是根据存储设备中各设备的数据保护特性确定各设备的数据保护类型,使得确定出的数据保护类型更加符合各设备的数据保护特性,大大提高了数据保护的可靠性。
另外,根据预设定的设备的数据保护特性确定设备的数据保护类型,由于提前设定了设备的数据保护特性,从而在确定设备的数据保护特性时,可以直接获取即可,从而提高了确定设备的数据保护类型的效率;另外,在确定当前设备的数据保护类型时,根据当前设备或者当前设备的下一个设备的数据保护类型确定,使得确定当前设备的数据保护类型的方式更加灵活。
在当前设备既支持数据完整性域保护类型,又支持数据完整性扩展保护类型的情况下,当该当前设备位于存储前端中,选取数据完整性扩展保护类型对数据进行保护;当该当前设备位于存储后端中,选取数据完整性域保护类型对数据进行保护,使得更加符合存储前端、存储后端对应的协议特性、使用场景和物理特性;且根据确定出的最终的数据保护类型对应的附加方式对当前输入/输出的信息附加与当前输入/输出对应的保护信息,提高数据保护的合理性。
在检测到服务器发出写输入/输出后,写输入/输出进入存储系统之前附加保护信息,且在第二转接卡的位置和/或在硬盘的位置对写输入/输出对应的保护信息进行校验,以及在第二转接卡的位置和/或第一转接卡的位置对读输入/输出对应的保护信息进行校验,大大提高了数据保护的安全性。
按照设定的校验的时间间隔对数据进行保护信息的校验,且在预设时间内未存在传输数据,停止对保护信息的校验,存在传输数据,则继续对保护信息进行校验,在提高数据保护的安全性的同时,提高了存储设备的性能。
在校验结果为不通过后,对错误的输入/输出进行对应处理,大大提高了数据保护的可靠性。
此外,本发明还提供一种存储设备的端到端数据保护装置、存储设备以及计算机可读存储介质,与上述提到的存储设备的端到端数据保护方法具有相同或相对应的技术特征,效果同上。
附图说明
为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种存储设备的端到端数据保护方法的流程图;
图2为本发明实施例提供的一种存储设备的示意图;
图3为本发明实施例提供的一种数据保护方案检测方法的流程图;
图4为本发明实施例提供的一种数据完整性域保护方案的数据存放方式的示意图;
图5为本发明实施例提供的一种数据完整性扩展方案的数据存放方式的示意图;
图6为本发明实施例提供的一种应用于存储系统的端到端数据保护的读写两种输入/输出的处理方式的示意图;
图7为本发明实施例提供的另一种应用于存储系统的端到端数据保护的读写两种输入/输出的处理方式的示意图;
图8为本发明的一实施例提供的存储设备的端到端数据保护装置的结构图;
图9为本发明另一实施例提供的存储设备的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。
本发明的核心是提供一种存储设备的端到端数据保护方法、装置、存储设备及介质,以解决在存储设备中未对数据进行保护,导致数据完整性差以及数据恢复难度大的技术问题。
数据在存储系统中的传输过程中,经历了多个部件、多个传输通道和复杂的软件处理,任何一个环节出现错误都可能导致数据出错。但是,无法立即检测到这种错误。而是在通过应用程序访问数据的过程中发现数据有误。这种数据在数据错误时很难检测到。一般称之为静默数据损坏。静默数据损坏的表现是数据处理正常,直到使用时发现数据是错误的、损坏的。当发生静默数据损坏后,仍然对数据进行备份,则备份的数据中依然是损坏的数据。若备份数据错误,将无法恢复到正常的数据,对数据的完整性以及数据的恢复造成极大的影响。
因此,本发明实施例中提供一种存储设备的端到端数据保护方法,该方法中根据存储设备中各设备的数据保护特性确定各设备的数据保护类型,根据数据保护类型将当前输入/输出的信息附加与当前输入/输出对应的保护信息作为传输数据,并对传输数据进行保护信息的校验,实现了在数据传输过程中对数据的校验,根据校验结果可以更好地保护数据在传输过程中的安全性。
另外,需要说明的是,本发明实施例提出的数据保护方案不止局限于存储系统,对端到端数据保护有要求且连接设备支持数据完整性域/数据完整性扩展的设备系统,均可以使用本发明实施例提出的数据保护方案。以个人计算机为例,计算机连接硬盘一般支持数据完整性域,可以在操作系统设置对应模块以进行端到端的数据保护。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。图1为本发明实施例提供的一种存储设备的端到端数据保护方法的流程图,如图1所示,该方法包括:
S10:根据存储设备中各设备的数据保护特性确定各设备的数据保护类型。
其中,数据保护类型中包括数据完整性域保护类型和数据完整性扩展保护类型;数据保护特性为支持数据完整性域保护类型和/或支持数据完整性扩展保护类型;
S11:获取存储设备的当前输入/输出的信息;
S12:根据数据保护类型将当前输入/输出的信息附加与当前输入/输出对应的保护信息,以作为传输数据;其中,保护信息中包括循环冗余校验码;
S13:在传输数据传输的过程中,对传输数据进行保护信息的校验;
S14:根据校验结果对当前输入/输出的信息进行保护。
存储设备包括存储前端和存储后端。对于存储设备中包含的设备不作限定,根据实际情况确定。若对端到端的数据选择相同的数据保护方案,如均采用数据完整性域(DataIntegrity Field,DIF)保护,或者均采用数据完整性扩展(Data Integrity Extensions,DIX)保护,在存储设备中可能只存在部分支持数据完整性域保护或者数据完整性扩展保护,则可能会导致数据保护的可靠性不高。其中,数据完整性域保护为每个512字节的数据附加8字节的保护信息(Protection Information,PI),收发端对保护信息进行处理校验以确保数据的一致性;数据完整性扩展保护将数据完整性保护从应用层扩展到(Host BusAdapter,HBA),数据完整性扩展保护使用与数据完整性域保护相同的8字节数据完整性信息作为数据校验字段。
如在存储设备中包含A设备、B设备,实际中若A设备支持数据完整性域保护,而B设备支持数据完整性扩展保护,若对存储设备直接采用数据完整性域保护,则会因不支持数据完整性域保护的B设备无法实现对整个端到端的数据进行保护,或者,若对存储设备直接采用数据完整性扩展保护,则会因不支持数据完整性扩展保护的A设备而无法实现对整个端到端的数据进行保护,从而使得数据保护的可靠性降低。
因此,为了提高数据保护的可靠性,本发明实施例中根据存储设备中各设备的数据保护特性确定各设备的数据保护类型。数据保护特性为支持数据完整性域保护类型和/或支持数据完整性扩展保护类型。为了准确地、快速地获取到各设备的数据保护特性,在实施中,可依据预设定的数据保护特性确定设备的数据保护类型,其中,预设定的数据保护特性可以是设备的生产厂家设定的数据保护特性,从而将设备的生产厂家预设定的数据保护特性作为对应设备的数据保护类型。
在确定存储设备中各设备的数据保护类型后,获取设备的当前输入/输出(Input/Output,I/O)的信息,当前输入/输出可以是读输入/输出,也可以是写输入/输出,具体根据实际情况确定。为了对数据进行保护,在与当前输入/输出相关的信息上附加与当前输入/输出相对应的保护信息,然后作为传输数据。保护信息由2字节的循环冗余校验(CyclicRedundancy Check,CRC)码,2字节的应用程序标记(Application Tag)和4字节的引用标签(Reference Tag)组成,数据完整性域保护/数据完整性扩展保护通过计算校验循环冗余校验码,对比保护信息来确保数据完整性。
在得到包含保护信息、当前输入/输出信息的传输数据后,在传输数据传输的过程中,对传输数据进行保护信息的校验。对于传输过程中的校验位置(校验点)不作限定,如可以是在存储后端的转接卡的位置进行校验,也可以是在数据落盘保存时进行校验。为了提高数据的可靠性,在实施中,可在数据传输中的多个位置对数据进行校验,在校验结果中发现错误,则可以采用相应地措施对数据进行保护,如重新发送数据或者停止错误数据的发送。
本发明实施例提供的方法中,根据存储设备中各设备的数据保护特性确定各设备的数据保护类型,根据数据保护类型将当前输入/输出的信息附加与当前输入/输出对应的保护信息作为传输数据,并对传输数据进行保护信息的校验,实现了在数据传输过程中对数据的校验,根据校验结果可以更好地保护数据在传输过程中的安全性;且相比于对整个存储设备的存储前端中的设备和存储设备的存储后端中的设备采用相同的数据保护方式,本发明中是根据存储设备中各设备的数据保护特性确定各设备的数据保护类型,使得确定出的数据保护类型更加符合各设备的数据保护特性,大大提高了数据保护的可靠性。
在存储设备的端到端数据保护的过程中,为了使确定出的各设备的数据保护特性更加准确,在一些实施例中,根据存储设备中各设备的数据保护特性确定各设备的数据保护类型包括:
获取存储设备中预设定的当前设备的数据保护特性;
根据数据保护特性确定当前设备的数据保护类型;
或,获取存储设备中的各设备之间的连接关系;
根据连接关系确定与当前设备所连接的下一个设备;
获取预设定的下一个设备的数据保护特性;
根据数据保护特性确定当前设备的数据保护类型;
对应地,存储设备的存储前端中包括与服务器连接的第一转接卡;存储设备的存储后端中包括存储系统、第二转接卡、硬盘;存储系统的输入端与第一转接卡连接;存储系统的输出端与第二转接卡的输入端连接,第二转接卡的输出端与硬盘连接;
存储设备中的设备包括第一转接卡、第二转接卡;获取存储设备中的第一转接卡的数据保护类型包括:
获取预设定的第一转接卡的数据保护特性;
根据数据保护特性确定当前设备的数据保护类型;
获取存储设备中的第二转接卡的数据保护类型包括:
获取预设定的第二转接卡的数据保护特性;
根据数据保护特性确定当前设备的数据保护类型;
或,获取与第二转接卡连接的硬盘的预设定的数据保护特性;
根据数据保护特性确定当前设备的数据保护类型。
以转接卡为主机总线适配器为例,说明确定存储设备中的各设备的数据保护类型。图2为本发明实施例提供的一种存储设备的示意图,如图2所示,在存储前端1中包含服务器、第一主机总线适配器,在存储后端2中包括存储系统、第二主机总线适配器、硬盘。服务器与第一主机总线适配器连接,第一主机总线适配器与存储系统连接,存储系统与第二主机总线适配器连接,第二主机总线适配器与硬盘连接。为了确定存储设备中的第一主机总线适配器的数据保护类型,当确定第一主机总线适配器的生产厂家设定的第一主机总线适配器的数据保护特性为支持数据完整性域保护类型,则确定第一主机总线适配器的数据保护类型为数据完整性域保护类型。为了确定存储设备中的第二主机总线适配器的数据保护类型,当确定第二主机总线适配器的生产厂家设定的第二主机总线适配器的数据保护特性为支持数据完整性域保护类型,则确定第二主机总线适配器的数据保护类型为数据完整性域保护类型;当确定出与第二主机总线适配器连接的硬盘的生产厂家设定的硬盘的数据保护特性为支持数据完整性域保护类型,则确定第二主机总线适配器的数据保护类型为数据完整性域保护类型。
图3为本发明实施例提供的一种数据保护方案检测方法的流程图,如图3所示,该方法包括:
S15:判断连接设备是否支持数据保护;若是,则进入步骤S16;若否,则进入步骤S22;
S16:判断前端是否支持数据完整性扩展;若否,则进入步骤S17;若是,则进入步骤S18;
S17:前端使用数据完整性域;
S18:前端使用数据完整性扩展;
S19:判断后端设备是否支持数据完整性域;若是,则进入步骤S20;若否,则进入步骤S21;
S20:后端使用数据完整性域;
S21:后端使用数据完整性扩展;
S22:不启用数据保护。
首先检查连接的设备,判断连接的设备支持的数据保护类型(数据完整性域/数据完整性扩展)。一般将服务器通过第一主机总线适配器连接存储系统称为存储前端,存储系统通过第二主机总线适配器连接硬盘称为存储后端。监控模块会首先检查存储前端支持的数据保护类型,如果存储前端支持数据完整性域/数据完整性扩展,则会优先将前端的数据保护方案设置为数据完整性域/数据完整性扩展,如果存储前端不支持数据完整性域/数据完整性扩展,则以实际情况为准(两种特性均不支持则不进行相关的数据保护处理);然后进行存储后端支持的数据保护类型检测,如果存储后端支持数据完整性域,则会优先将后端的数据保护方案设置为数据完整性域,如果存储后端不支持数据完整性域,则同样以实际情况为准。
本实施例提供的方法中,根据预设定的设备的数据保护特性确定设备的数据保护类型,由于提前设定了设备的数据保护特性,从而在确定设备的数据保护特性时,可以直接获取即可,从而提高了确定设备的数据保护类型的效率;当预设定的设备的数据保护特性是由生产厂家设定的,由于生产厂家更了解设备的情况,使得设定的数据保护特性更加准确,从而使确定出的数据保护的类型更加准确;另外,在确定当前设备的数据保护类型时,根据当前设备或者当前设备的下一个设备的数据保护类型确定,使得确定当前设备的数据保护类型的方式更加灵活。
实际中,有的设备既支持数据完整性域保护类型,又支持数据完整性扩展保护类型,为了尽可能地符合存储前端对应的协议的特点、使用场景和物理特性与存储后端对应的协议的特点、使用场景和物理特性,使得采用的数据保护方式更加合理,在一些实施例中,在根据存储设备中各设备的数据保护特性确定各设备的数据保护类型之后,根据数据保护类型将当前输入/输出的信息附加与当前输入/输出对应的保护信息,以作为传输数据之前,还包括:
在检测到当前设备的数据保护类型包含数据完整性域保护类型和数据完整性扩展保护类型的情况下,判断当前设备是否位于存储前端中;
若是,则确定当前设备的数据保护的最终数据保护类型为数据完整性扩展保护类型;
若否,则确定当前设备的数据保护的最终数据保护类型为数据完整性域保护类型。
本实施例提供的方法中,存储后端选择数据完整性域保护是因为数据完整性域保护设计之初就是针对转接卡和存储介质连接的保护特性,由于存储介质的扇区一般比实际格式化(512)大,因此直接将8字节的保护信息连接在512的数据后是可行的,单对于应用层与转接卡的连接来说,数据完整性域保护的实现方式较为复杂,对于存储前端这种偏应用的连接来说适用性不高,因此提出了数据完整性扩展保护的保护实现方式,将8字节的保护信息存于单独的区域,由应用层集中管理。即存储前端采用数据完整性扩展保护,存储后端采用数据完整性域保护。
需要说明的是,实际中,可以对存储后端的数据保护方案进行调整。对服务器-第一转接卡-存储系统的前端连接,服务器-第一转接卡即为该连接前端,第一转接卡-存储系统为该连接后端,但由于第一转接卡-存储系统的后端连接数据未落盘保存,缺少契合数据完整性域保护的存储介质,因此对于服务器-第一转接卡-存储系统的前端连接优选方案为数据完整性扩展的保护方式;对于存储系统-第二转接卡-硬盘的后端连接,存储系统-第二转接卡即该连接前端,第二转接卡-硬盘为该连接后端,处于性能及系统开销考虑,可以存储后端整体使用数据完整性域的保护方式,但对于可靠性来说,可以增加一种优选方案,即存储系统-第二转接卡使用数据完整性扩展的保护方式,第二转接卡-硬盘使用数据完整性域的保护方式。
即存在两种方案,一种处于性能考虑存储前端采用数据完整性扩展的保护方式,存储后端数据完整性域的保护方式;一种处于可靠性考虑,存储前端数据完整性扩展的保护方式,存储后端数据完整性扩展的保护方式+数据完整性域的保护方式。
本实施例提供的方法中,在存储前后端支持数据完整性域/数据完整性扩展的情况下,数据保护模块会优先选择数据完整性扩展作为存储前端保护方案,数据完整性域作为存储后端保护方案使得更加符合存储前端、存储后端对应的协议特性、使用场景和物理特性。且在设备支持的情况下,选择数据完整性扩展保证应用程序和主机总线适配器卡的数据完整性,数据完整性域保证主机总线适配器卡、阵列和硬盘的数据完整性。
在存储设备的端到端数据保护过程中,不同数据保护方式对应的附加信息的方式不同,为了使保护信息能够被附加上,在一些实施例中,根据数据保护类型将当前输入/输出的信息附加与当前输入/输出对应的保护信息,以作为传输数据包括:
根据最终数据保护类型确定当前输入/输出对应的保护信息的附加方式;
按照附加方式将当前输入/输出的信息附加与当前输入/输出对应的保护信息,以作为传输数据;
其中,最终数据保护类型为数据完整性域保护类型,根据最终数据保护类型确定当前输入/输出对应的保护信息的附加方式包括:
根据数据完整性域保护类型确定当前输入/输出对应的保护信息的附加方式为在当前输入/输出的信息后存放当前输入/输出对应的保护信息;
最终数据保护类型为数据完整性扩展保护类型,根据最终数据保护类型确定当前输入/输出对应的保护信息的附加方式包括:
根据数据完整性扩展保护类型确定当前输入/输出对应的保护信息的附加方式为将当前输入/输出的信息和当前输入/输出对应的保护信息存放在不同的存储空间中。
监控存储设备的输入/输出,在有输入/输出经过存储系统时,会将相关信息给处理模块,处理模块会为经过的输入/输出进行相关的8字节保护信息(包括2字节的CRC,2字节的Application Tag和4字节的Reference Tag)附加。处理模块会对写输入/输出进行保护信息的附加,对读输入/输出进行保护信息的剔除。保护信息附加的形式由之前步骤确定的数据保护方案决定,数据完整性扩展方案会将保护和输入/输出数据分开存放,数据完整性域保护方案会将保护信息与输入/输出数据一起存放。图4为本发明实施例提供的一种数据完整性域保护方案的数据存放方式的示意图,如图4所示,输入/输出数据与保护信息存放在一起,存放在数据缓冲区,每一部分包括512字节的基本数据以及8字节的保护信息;图5为本发明实施例提供的一种数据完整性扩展方案的数据存放方式的示意图,如图5所示,将保护信息与输入/输出数据分开存放,N个512字节的基本数据存放在数据缓冲区中,N个8字节的保护信息存放在保护信息缓冲区。
本实施例提供的方法中根据确定出的最终的数据保护类型对应的附加方式对当前输入/输出的信息附加与当前输入/输出对应的保护信息,提高数据保护的合理性。
在存储设备的端到端数据保护的过程中,为了提高数据保护的可靠性,在一些实施例中,根据数据保护类型将当前输入/输出的信息附加与当前输入/输出对应的保护信息,以作为传输数据包括:
在检测到服务器发出写输入/输出后,写输入/输出进入存储系统之前,将当前输入/输出的信息附加与当前输入/输出对应的保护信息,以作为传输数据;
对应地,在传输数据传输的过程中,对传输数据进行保护信息的校验包括:
在检测到写输入/输出传输至第二转接卡的情况下,和/或在检测到写输入/输出传输至硬盘的情况下,对传输数据进行保护信息的校验;
在检测到读输入/输出从硬盘读取数据的情况下,在第二转接卡的位置和/或在第一转接卡的位置对读输入/输出进行校验;
在第二转接卡的位置和/或在第一转接卡的位置对读输入/输出进行校验之后,还包括:
若校验结果为通过,则剔除与读输入/输出对应的保护信息;将读输入/输出的信息传输至服务器。
本实施例提供的方法中,在检测到服务器发出写输入/输出后,写输入/输出进入存储系统之前附加保护信息,且在第二转接卡的位置和/或在硬盘的位置对写输入/输出对应的保护信息进行校验,以及在第二转接卡的位置和/或第一转接卡的位置对读输入/输出对应的保护信息进行校验,大大提高了数据保护的安全性。
为了对保护信息进行校验,在一些实施例中,在传输数据传输的过程中,对传输数据进行保护信息的校验包括:
设定校验的时间间隔;
自检测到传输数据传输开始,按照时间间隔对传输数据进行保护信息的校验;
判断预设时间内存储设备是否存在传输数据;
若是,则返回按照时间间隔对传输数据进行保护信息的校验的步骤;
若否,则结束。
对于时间间隔不作限定,根据实际情况确定。对于预设时间也不作限定,可根据传输的数据量以及传输速率设定预设时间。
本实施例提供的方法中,按照设定的校验的时间间隔对数据进行保护信息的校验,且在预设时间内未存在传输数据,停止对保护信息的校验,存在传输数据,则继续对保护信息进行校验,在提高数据保护的安全性的同时,提高了存储设备的性能。
在校验后,为了使确定出的校验结果更加可靠,在一些实施例中,根据校验结果对输入/输出的信息进行保护包括:
若校验结果为不通过,则获取报错信息;
根据报错信息确定校验结果为不通过的校验位置;
获取校验位置报错的次数;
在检测到报错的次数未触发阈值的情况下,获取出错的输入/输出,对出错的输入/输出执行重发操作或放弃操作;
在检测到报错的次数触发阈值的情况下,检测存储介质或物理连接正常或异常,以及对出错的输入/输出执行重发操作或放弃操作。
本实施例提供的方法中,对于阈值不作限定,根据实际情况确定,通过对错误的输入/输出进行对应处理,大大提高了数据保护的可靠性。
为了使本技术领域的人员更好地理解本发明方案,下面继续结合附图和具体实施方式对本发明作进一步的详细说明。本发明实施例提供的一种应用于存储系统的端到端数据保护方案,针对只支持单一的数据保护方式(数据完整性域/数据完整性扩展),不适用于连接拓扑中存在设备不支持该方案中的特性的情况。并且,支持单一的数据保护方式,可靠性较为单薄,低于同时使用两种数据保护特性的方案。综上,为提高数据保护的灵活性和可靠性,本发明实施例提出了上述的应用于存储系统的端到端数据保护方案。在存储系统中可设置数据保护模块,负责整个存储系统的端到端数据保护,该模块由监控模块、处理模块和校验模块组成。其中,监控模块主要负责检测系统中连接设备的特性支持情况以及监控存储设备的输入/输出;处理模块属于该模块的核心模块,主要负责对输入/输出进行相关的处理,负责与存储系统其它部分进行信息传递;校验模块主要负责在相应部件进行校验,并对校验结果进行对应的处理和相关信息传递。
数据保护模块会确定出连接的设备支持的数据保护类型,从而确定出数据保护方案。数据保护模块中的监控模块会监控存储的监控存储的输入/输出,在有输入/输出经过存储系统时,会将相关信息通知给处理模块,处理模块会为经过的输入/输出进行相关的8字节保护信息附加,根据不同的保护方案采用不同的附加方式。
本发明实施例提出了上述的应用于存储系统的端到端数据保护方案,基础步骤如下:
(1)在存储系统中设置一个数据保护模块,该模块由监控模块,处理模块和校验模块组成。
(2)存储系统连接后,监控模块根据实际情况确认该连接情况下使用的数据保护方案,并通知给处理模块。
(3)处理模块根据数据保护方案,为实际运行的输入/输出附加不同的保护信息,进行对应的数据完整性域/数据完整性扩展处理。
(4)在输入/输出经过校验点时,由校验模块进行对应的保护信息校验,并将结果返回给处理模块。
(5)如果校验出现错误,处理模块将结果返回给对应的数据处理模块,进行相应输入/输出的重发,校验,屏蔽等操作。
图6为本发明实施例提供的一种应用于存储系统的端到端数据保护的读写两种输入/输出的处理方式的示意图,在图6中,服务器发出写输入/输出后,写输入/输出通过第一主机总线适配器进入存储系统,触发数据保护模块的监控模块,监控模块通知处理模块有写输入/输出需要下发,处理模块对写输入/输出进行保护信息的附加,然后经过处理的输入/输出通过第二主机总线适配器下发到硬盘,在经过第二主机总线适配器和数据落盘时,监控模块会通知校验模块进行保护信息的校验,校验无误,数据正常存入硬盘。
当有读输入/输出从硬盘取出数据后,会经过第二主机总线适配器先进入存储,这时候监控模块会通知校验模块进行保护信息的校验,当读输入/输出通过第一主机总线适配器返回给服务器时,监控模块获知有读输入/输出需要传递,校验模块会进行保护信息的校验,校验无误后,处理模块会剔除保护信息,将读输入/输出通过第一主机总线适配器返回至服务器。
监控模块内置定时器,会定期发出巡检信息给处理模块,有处理模块进行随机的输入/输出读写来进行保护信息的校验,以保证系统链路和数据保护功能的稳定,同时也可以及时检查出磁盘上的数据完整性。
在上述读写输入/输出的处理过程中,如果出现校验结果错误,会由校验模块将结果传递给处理模块,处理模块会对校验的错误信息进行简单判断,然后将错误信息传递给存储系统的其他对应模块,由其他对应模块进行相应的处理。
上文中将数据保护模块中的三个模块进行拆分,分为检查模块和处理模块,其中,检查模块主要负责检查设备连接对数据保护方案的支持情况,在出现PI校验错误后,消息的传递也由该模块负责;处理模块主要负责对输入/输出的处理、校验。本实施方式中对数据保护模块的子模块进行了重新划分,具有松耦合、模块划分更分明的优点,维护起来更为简单。
图7为本发明实施例提供的另一种应用于存储系统的端到端数据保护的读写两种输入/输出的处理方式的示意图,图7中,在存储系统中设置数据保护模块,该模块由检查模块和处理模块两个子模块组成,检查模块主要负责检查连接设备支持的数据保护方案,以及处理校验错误的情况;处理模块主要负责对读写输入/输出的处理和相关保护信息校验。
数据保护模块的检查子模块会首先对存储系统连接的设备进行检查,确定存储前端和存储后端支持的数据保护方案,优先采用存储前端数据完整性扩展,存储后端的数据完整性域方案,如果设备不支持该方案,则以实际设备支持的情况为准。
当有读写输入/输出经过存储系统时,检查模块会通知处理模块,处理模块根据前置步骤确定的数据保护方案进行对应处理。当有写输入/输出经过,检查模块会通知处理模块有写输入/输出经过,处理模块会在写输入/输出经过第一主机总线适配器到达存储时,为写输入/输出进行保护信息的附加,然后写输入/输出通过第二主机总线适配器到达硬盘,在经过第二主机总线适配器和落盘保存时,处理模块会发起保护信息校验,保证数据的完整性。
处理模块会定时发出随机的巡检输入/输出来检查系统数据保护的可靠性,并对硬盘保存的数据进行随机的巡检,如果出现问题方便及时对问题进行处理定位,防止更大的数据损坏产生。
在保护信息的校验时,如果产生报错,会由处理模块对报错信息进行简单判别,并将结果传递给检查模块,检查模块增加相应的保护信息校验报错计数,将对应的信息传递给存储系统的其他模块进行处理。
在图7中设置展示出了在写输入/输出到达第一主机总线适配器时进行保护信息的附加,在写输入/输出到达第二主机总线适配器时进行保护信息的校验;在写输入/输出在硬盘上落盘保存时进行保护信息的校验;在读输入/输出经过第二主机总线适配器时进行保护信息的校验;在读输入/输出到达第一主机总线适配器时剔除保护信息。需要说明的是,上述提到的保护信息校验点并不局限于具体实施例中限定的检查处,可以根据实际的使用情况,增加保护信息校验的检查点,特别是对于数据安全性要求高的系统,可以在存储系统的模块与模块衔接之间,加入保护信息校验,可以更好地保证数据在模块传递间的安全性。
在上述实施例中,对于存储设备的端到端数据保护方法进行了详细描述,本发明还提供存储设备的端到端数据保护装置、存储设备对应的实施例。需要说明的是,本发明从两个角度对装置部分的实施例进行描述,一种是基于功能模块的角度,另一种是基于硬件的角度。
图8为本发明的一实施例提供的存储设备的端到端数据保护装置的结构图。本实施例基于功能模块的角度,包括:
确定模块10,用于根据存储设备中各设备的数据保护特性确定各设备的数据保护类型;其中,数据保护类型中包括数据完整性域保护类型和数据完整性扩展保护类型;数据保护特性为支持数据完整性域保护类型和/或支持数据完整性扩展保护类型;
获取模块11,用于获取存储设备的当前输入/输出的信息;
附加模块12,用于根据数据保护类型将当前输入/输出的信息附加与当前输入/输出对应的保护信息,以作为传输数据;其中,保护信息中包括循环冗余校验码;
校验模块13,用于在传输数据传输的过程中,对传输数据进行保护信息的校验;
保护模块14,用于根据校验结果对当前输入/输出的信息进行保护。
在一些实施例中,确定模块10具体包括:
第一获取模块,用于获取存储设备中预设定的当前设备的数据保护特性;
第一确定模块,用于根据数据保护特性确定当前设备的数据保护类型;
或,第二获取模块,用于获取存储设备中的各设备之间的连接关系;
第二确定模块,用于根据连接关系确定与当前设备所连接的下一个设备;
第三获取模块,用于获取预设定的下一个设备的数据保护特性;
第三确定模块,用于根据数据保护特性确定当前设备的数据保护类型。
存储设备的端到端数据保护装置,还包括:
第一判断模块,用于在检测到当前设备的数据保护类型包含数据完整性域保护类型和数据完整性扩展保护类型的情况下,判断当前设备是否位于存储前端中;若是,则触发第四确定模块;若否,则触发第五确定模块;
第四确定模块,用于确定当前设备的数据保护的最终数据保护类型为数据完整性扩展保护类型;
第五确定模块,用于确定当前设备的数据保护的最终数据保护类型为数据完整性域保护类型。
附加模块12具体包括:
第六确定模块,用于根据最终数据保护类型确定当前输入/输出对应的保护信息的附加方式;
第一附加模块,用于按照附加方式将当前输入/输出的信息附加与当前输入/输出对应的保护信息,以作为传输数据;
其中,最终数据保护类型为数据完整性域保护类型,第六确定模块具体包括:
第七确定模块,用于根据数据完整性域保护类型确定当前输入/输出对应的保护信息的附加方式为在当前输入/输出的信息后存放当前输入/输出对应的保护信息;
最终数据保护类型为数据完整性扩展保护类型,第六确定模块具体包括:
第八确定模块,用于根据数据完整性扩展保护类型确定当前输入/输出对应的保护信息的附加方式为将当前输入/输出的信息和当前输入/输出对应的保护信息存放在不同的存储空间中。
附加模块12具体包括:
在检测到服务器发出写输入/输出后,写输入/输出进入存储系统之前,将当前输入/输出的信息附加与当前输入/输出对应的保护信息,以作为传输数据;
校验模块13具体包括:
第一校验模块,用于在检测到写输入/输出传输至第二转接卡的情况下,和/或在检测到写输入/输出传输至硬盘的情况下,对传输数据进行保护信息的校验;
第二校验模块,用于在检测到读输入/输出从硬盘读取数据的情况下,在第二转接卡的位置和/或在第一转接卡的位置对读输入/输出进行校验;
还包括:
剔除模块,用于若校验结果为通过,则剔除与读输入/输出对应的保护信息;
传输模块,用于将读输入/输出的信息传输至服务器。
校验模块13具体包括:
设定模块,用于设定校验的时间间隔;
第一保护模块,用于自检测到传输数据传输开始,按照时间间隔对传输数据进行保护信息的校验;
第二判断模块,用于判断预设时间内存储设备是否存在传输数据;若是,则返回触发第一保护模块。
保护模块14具体包括:
第四获取模块,用于若校验结果为不通过,则获取报错信息;
第九确定模块,用于根据报错信息确定校验结果为不通过的校验位置;
第五获取模块,用于获取校验位置报错的次数;
获取及执行模块,用于,用于在检测到报错的次数未触发阈值的情况下,获取出错的输入/输出,对出错的输入/输出执行重发操作或放弃操作;
检测及执行模块,用于在检测到报错的次数触发阈值的情况下,检测存储介质或物理连接正常或异常,以及对出错的输入/输出执行重发操作或放弃操作。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。并且具有与上述提到的存储设备的端到端数据保护方法相同的有益效果。
图9为本发明另一实施例提供的存储设备的结构图。本实施例基于硬件角度,如图9所示,存储设备包括:
存储器20,用于存储计算机程序;
处理器21,用于执行计算机程序时实现如上述实施例中所提到的存储设备的端到端数据保护方法的步骤。
其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用数字信号处理器(Digital Signal Processor,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器(CentralProcessing Unit,CPU);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以集成有图形处理器(Graphics Processing Unit,GPU),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括人工智能(Artificial Intelligence,AI)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器20可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器20还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器20至少用于存储以下计算机程序201,其中,该计算机程序被处理器21加载并执行之后,能够实现前述任一实施例公开的存储设备的端到端数据保护方法的相关步骤。另外,存储器20所存储的资源还可以包括操作系统202和数据203等,存储方式可以是短暂存储或者永久存储。其中,操作系统202可以包括Windows、Unix、Linux等。数据203可以包括但不限于上述所提到的存储设备的端到端数据保护方法所涉及到的数据等。
在一些实施例中,存储设备还可包括有显示屏22、输入输出接口23、通信接口24、电源25以及通信总线26。
本领域技术人员可以理解,图9中示出的结构并不构成对存储设备的限定,可以包括比图示更多或更少的组件。
本发明实施例提供的存储设备,包括存储器和处理器,处理器在执行存储器存储的程序时,能够实现如下方法:存储设备的端到端数据保护方法,效果同上。
最后,本发明还提供一种计算机可读存储介质对应的实施例。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述方法实施例中记载的步骤。
可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明提供的计算机可读存储介质包括上述提到的存储设备的端到端数据保护方法,效果同上。
以上对本发明所提供的存储设备的端到端数据保护方法、装置、存储设备及介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (10)

1.一种存储设备的端到端数据保护方法,其特征在于,包括:
根据存储设备中各设备的数据保护特性确定各所述设备的数据保护类型;其中,所述数据保护类型中包括数据完整性域保护类型和数据完整性扩展保护类型;所述数据保护特性为支持所述数据完整性域保护类型和/或支持所述数据完整性扩展保护类型;
获取所述存储设备的当前输入/输出的信息;
根据所述数据保护类型将所述当前输入/输出的信息附加与所述当前输入/输出对应的保护信息,以作为传输数据;其中,所述保护信息中包括循环冗余校验码;
在所述传输数据传输的过程中,对所述传输数据进行所述保护信息的校验;
根据校验结果对所述当前输入/输出的信息进行保护。
2.根据权利要求1所述的存储设备的端到端数据保护方法,其特征在于,所述根据存储设备中各设备的数据保护特性确定各所述设备的数据保护类型包括:
获取所述存储设备中预设定的所述当前设备的所述数据保护特性;
根据所述数据保护特性确定所述当前设备的所述数据保护类型;
或,获取所述存储设备中的各所述设备之间的连接关系;
根据所述连接关系确定与所述当前设备所连接的下一个设备;
获取预设定的所述下一个设备的所述数据保护特性;
根据所述数据保护特性确定所述当前设备的所述数据保护类型;
对应地,所述存储设备的存储前端中包括与服务器连接的第一转接卡;所述存储设备的存储后端中包括存储系统、第二转接卡、硬盘;所述存储系统的输入端与所述第一转接卡连接;所述存储系统的输出端与所述第二转接卡的输入端连接,所述第二转接卡的输出端与所述硬盘连接;
所述存储设备中的所述设备包括所述第一转接卡、所述第二转接卡;获取所述存储设备中的所述第一转接卡的所述数据保护类型包括:
获取预设定的所述第一转接卡的所述数据保护特性;
根据所述数据保护特性确定所述当前设备的所述数据保护类型;
获取所述存储设备中的所述第二转接卡的所述数据保护类型包括:
获取预设定的所述第二转接卡的所述数据保护特性;
根据所述数据保护特性确定所述当前设备的所述数据保护类型;
或,获取与所述第二转接卡连接的所述硬盘的预设定的所述数据保护特性;
根据所述数据保护特性确定所述当前设备的所述数据保护类型。
3.根据权利要求1或2所述的存储设备的端到端数据保护方法,其特征在于,在所述根据存储设备中各设备的数据保护特性确定各所述设备的数据保护类型之后,所述根据所述数据保护类型将所述当前输入/输出的信息附加与所述当前输入/输出对应的保护信息,以作为传输数据之前,还包括:
在检测到当前设备的所述数据保护类型包含所述数据完整性域保护类型和所述数据完整性扩展保护类型的情况下,判断所述当前设备是否位于存储前端中;
若是,则确定所述当前设备的数据保护的最终数据保护类型为所述数据完整性扩展保护类型;
若否,则确定所述当前设备的所述数据保护的所述最终数据保护类型为所述数据完整性域保护类型。
4.根据权利要求3所述的存储设备的端到端数据保护方法,其特征在于,所述根据所述数据保护类型将所述当前输入/输出的信息附加与所述当前输入/输出对应的保护信息,以作为传输数据包括:
根据所述最终数据保护类型确定所述当前输入/输出对应的保护信息的附加方式;
按照所述附加方式将所述当前输入/输出的信息附加与所述当前输入/输出对应的保护信息,以作为所述传输数据;
其中,所述最终数据保护类型为所述数据完整性域保护类型,所述根据所述最终数据保护类型确定所述当前输入/输出对应的保护信息的附加方式包括:
根据所述数据完整性域保护类型确定所述当前输入/输出对应的保护信息的所述附加方式为在所述当前输入/输出的信息后存放所述当前输入/输出对应的所述保护信息;
所述最终数据保护类型为所述数据完整性扩展保护类型,所述根据所述最终数据保护类型确定所述当前输入/输出对应的保护信息的附加方式包括:
根据所述数据完整性扩展保护类型确定所述当前输入/输出对应的保护信息的附加方式为将所述当前输入/输出的信息和所述当前输入/输出对应的所述保护信息存放在不同的存储空间中。
5.根据权利要求2所述的存储设备的端到端数据保护方法,其特征在于,所述根据所述数据保护类型将所述当前输入/输出的信息附加与所述当前输入/输出对应的保护信息,以作为传输数据包括:
在检测到所述服务器发出写输入/输出后,所述写输入/输出进入所述存储系统之前,将所述当前输入/输出的信息附加与所述当前输入/输出对应的所述保护信息,以作为所述传输数据;
对应地,所述在所述传输数据传输的过程中,对所述传输数据进行所述保护信息的校验包括:
在检测到所述写输入/输出传输至所述第二转接卡的情况下,和/或在检测到所述写输入/输出传输至所述硬盘的情况下,对所述传输数据进行所述保护信息的校验;
在检测到读输入/输出从所述硬盘读取数据的情况下,在所述第二转接卡的位置和/或在所述第一转接卡的位置对所述读输入/输出进行校验;
在所述第二转接卡的位置和/或在所述第一转接卡的位置对所述读输入/输出进行校验之后,还包括:
若所述校验结果为通过,则剔除与所述读输入/输出对应的所述保护信息;将所述读输入/输出的信息传输至所述服务器。
6.根据权利要求1所述的存储设备的端到端数据保护方法,其特征在于,所述在所述传输数据传输的过程中,对所述传输数据进行所述保护信息的校验包括:
设定校验的时间间隔;
自检测到所述传输数据传输开始,按照所述时间间隔对所述传输数据进行所述保护信息的校验;
判断预设时间内所述存储设备是否存在所述传输数据;
若是,则返回所述按照所述时间间隔对所述传输数据进行所述保护信息的校验的步骤;
若否,则结束。
7.根据权利要求1所述的存储设备的端到端数据保护方法,其特征在于,根据所述校验结果对输入/输出的信息进行保护包括:
若所述校验结果为不通过,则获取报错信息;
根据所述报错信息确定所述校验结果为不通过的校验位置;
获取所述校验位置报错的次数;
在检测到所述报错的次数未触发阈值的情况下,获取出错的输入/输出,对出错的输入/输出执行重发操作或放弃操作;
在检测到所述报错的次数触发所述阈值的情况下,检测存储介质或物理连接正常或异常,以及对出错的输入/输出执行重发操作或放弃操作。
8.一种存储设备的端到端数据保护装置,其特征在于,包括:
确定模块,用于根据存储设备中各设备的数据保护特性确定各所述设备的数据保护类型;其中,所述数据保护类型中包括数据完整性域保护类型和数据完整性扩展保护类型;所述数据保护特性为支持所述数据完整性域保护类型和/或支持所述数据完整性扩展保护类型;
获取模块,用于获取所述存储设备的当前输入/输出的信息;
附加模块,用于根据所述数据保护类型将所述当前输入/输出的信息附加与所述当前输入/输出对应的保护信息,以作为传输数据;其中,所述保护信息中包括循环冗余校验码;
校验模块,用于在所述传输数据传输的过程中,对所述传输数据进行所述保护信息的校验;
保护模块,用于根据校验结果对所述当前输入/输出的信息进行保护。
9.一种存储设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的存储设备的端到端数据保护方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的存储设备的端到端数据保护方法的步骤。
CN202311600868.0A 2023-11-28 2023-11-28 存储设备的端到端数据保护方法、装置、存储设备及介质 Pending CN117519599A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311600868.0A CN117519599A (zh) 2023-11-28 2023-11-28 存储设备的端到端数据保护方法、装置、存储设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311600868.0A CN117519599A (zh) 2023-11-28 2023-11-28 存储设备的端到端数据保护方法、装置、存储设备及介质

Publications (1)

Publication Number Publication Date
CN117519599A true CN117519599A (zh) 2024-02-06

Family

ID=89762476

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311600868.0A Pending CN117519599A (zh) 2023-11-28 2023-11-28 存储设备的端到端数据保护方法、装置、存储设备及介质

Country Status (1)

Country Link
CN (1) CN117519599A (zh)

Similar Documents

Publication Publication Date Title
US4964130A (en) System for determining status of errors in a memory subsystem
US7770073B2 (en) Apparatus, system, and method for responsive acquisition of remote debug data
US6430714B1 (en) Failure detection and isolation
CN102135925B (zh) 用于检测错误检查和纠正内存的方法和装置
US6845469B2 (en) Method for managing an uncorrectable, unrecoverable data error (UE) as the UE passes through a plurality of devices in a central electronics complex
CN108573007A (zh) 检测数据一致性的方法、装置、电子设备及存储介质
CN105487609A (zh) 一种服务器
CN114710224A (zh) 帧同步方法及装置、计算机可读介质、电子设备
US9037910B2 (en) SAS self-test operations
CN112732163B (zh) 一种数据校验方法和装置
WO2021027271A1 (zh) 坏块信息保护方法、装置、计算机设备及存储介质
CN117519599A (zh) 存储设备的端到端数据保护方法、装置、存储设备及介质
CN107368438A (zh) 一种脏数据检测方法及系统
CN115567167B (zh) 一种总线传输数据纠错方法及装置
CN116501536A (zh) Axi互连模块检查、校验与保护方法、装置及存储介质
CN115658404A (zh) 一种测试方法及系统
US7788546B2 (en) Method and system for identifying communication errors resulting from reset skew
CN109542665A (zh) 掉电恢复方法、数据写入方法及装置
EP3404547B1 (en) Method for supervising and initializing ports
CN112463019A (zh) 数据读取方法及装置
CN117971556A (zh) 一种交换机启动方法、装置、计算设备及可读存储介质
CN118018153B (zh) 传输数据的处理方法、装置及电子设备
JPH0535616A (ja) データ転送システム
CN117234792B (zh) 一种用于dpu的数据校验方法、装置、设备及介质
CN118034993B (zh) 存储数据的保护方法、装置、电子设备及存储介质

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