用于维护数据完整性的方法和装置的制作方法

文档序号:6574694阅读:169来源:国知局
专利名称:用于维护数据完整性的方法和装置的制作方法
技术领域
本发明通常涉及数据处理领域,并且更具体地说,涉及用于当在不同数据保护方法间切换时维护数据完整性的方法和装置。
背景技术
当将数据块从主机应用传送到存储设备、例如盘驱动器时,常见的是,利用某种形式的校验和或循环冗余码(CRC),保护每一个数据块。为了提供端到的端保护,应当接近原点生成保护,在写操作期间在目的地处对保护进行校验,并且当读回时在使用点上再次对其进行校验。通常,为了实现这一点,在整个发送和返回路径中,使用一种类型的保护。
问题在于,在数据传输中最常用和有力的保护技术在使用软件计算时是处理器密集的,但是在使用硬件时是快速和简单的。通常,使用包括对于软件而言快速的一种技术和在硬件上快速的另一种技术在内的两种或多种数据保护技术来解决这一问题。
例如,图1A和1B示例说明了对两种或多种数据保护技术的这种使用。在接收设备处,使用保护类型1信息,检验来自源的第一数据。如果保护类型1校验失败,那么向源通知保护类型1数据错误。否则,当保护类型1校验未失败时,生成不同的保护类型2信息,并且将数据与保护类型2信息一起传送到目的地。
利用该技术所导致的问题是,在使用保护类型1信息校验时的时间与生成新的保护类型2信息时的时间之间,不保护数据。在该间隔期间,不管间隔如何小,都将会破坏数据。如果这种情况发生,则被破坏的数据被无意识地用来生成新的保护,因此,从这一点上来看就象是有效数据。
需要一种有效的机制和方法,用于当在数据保护方法间切换时维护数据完整性。

发明内容
本发明的原理方面是提供一种用于当在数据保护方法间切换时维护数据完整性的方法和装置。本发明的其他重要方面是,提供这种用于当在数据保护方法间切换时维护数据完整性的方法和装置,而没有负面影响,并且这种方法和装置克服了现有技术方案的许多缺点。
简要地说,提供了一种用于当在数据保护方法间切换时维护数据完整性的方法和装置。接收数据和第一保护类型信息。生成第二保护类型信息。在生成第二保护类型信息后,使用第一保护类型信息,校验数据。当第一保护类型信息校验失败时,生成错误指示。
根据本发明的特征,使用多种方法中的一种,实现维护数据完整性。在一种方法中,存储第一保护类型信息。生成第二保护类型信息、诸如CRC,并且与之同时地,在传送该数据前,使用所保存的第一保护类型信息、诸如校验和,检验该数据。存储第二保护类型信息或校验和。当第一保护类型信息校验失败时,将错误通知数据源。当第一保护类型信息校验未失败时,将数据与第二保护类型信息或CRC一起传送到目的地。
根据本发明的特征,在第二种方法中,存储第一保护类型信息。生成第二保护类型信息、诸如CRC,并且与之同时地,在传送数据时,使用所保存的第一保护类型信息、诸如校验和,检验该数据。当第一保护类型信息校验失败时,将无效的第二保护类型信息或CRC传送到目的地,因此,下一数据校验将会失败。
根据本发明的特征,在另一种方法中,存储数据和第一保护类型信息。生成第二保护类型信息、诸如CRC,并且将其放置在存储器中。然后,使用所保存的第一保护类型信息、诸如校验和,校验数据。当第一保护类型信息校验失败时,将错误通知数据源。当第一保护类型信息校验未失败时,将数据以及第二保护类型信息或CRC传送到目的地。
根据本发明的特征,在还有的另一种方法中,使用第一保护类型信息、诸如校验和,校验有关接收的数据,并且与之同时地,当传送该数据时,生成第二保护类型信息、诸如CRC。当第一保护类型信息校验失败时,将无效的第二保护类型信息或CRC传送到目的地,因此,下一数据校验将会失败。
根据本发明的特征,在又一种方法中,使用第一保护类型信息、诸如校验和,校验有关接收的数据。当第一保护类型信息校验失败时,将错误通知数据源。否则,当第一保护类型信息校验未失败时,存储数据和第一保护类型信息。生成第二保护类型信息、诸如CRC,并将其放置在存储器中。然后,使用所保存的第一保护类型信息,校验数据。当第一保护类型信息校验失败时,将错误通知数据源。当第一保护类型信息校验未失败时,将数据以及第二保护类型信息或CRC传送到目的地。


通过在附图中所示的本发明的优选实施例的下述详细描述,将最佳地理解本发明以及上述和其他目的和优点,其中图1A和1B示例说明了当将数据从源发送到目的地以及在不同数据保护方法间切换时的现有技术中的示例性操作;图2A和2B、3A和3B、4A和4B、5A和5B以及6A和6B是根据优选实施例分别示例说明了用于当将数据从源发送到目的地以及在数据保护方法间切换时维护数据完整性的示例性步骤和装置的流程图和框图。
具体实施例方式
在传统的方案中,当设备正从一种保护技术转换到另一种保护技术时,或者当设备必须重新生成保护时,当接收数据时,该设备使用所接收的保护技术,校验数据是有效的,然后,当传送数据时,生成新的保护,从而导致数据校验与生成新的保护之间的时间间隔。
根据本发明的特征,提供了增强的方法,用于当将数据从源发送到目的地以及在数据保护方法间切换时,维护数据完整性。提供了优选实施例中的方法来覆盖不同的保护技术,以便确保当一种保护技术、例如校验和正变换到另一保护技术、例如循环冗余码(CRC)时,在时间上100%地保护数据。
根据本发明的特征,提供了一种接收设备,用于保存输入的保护信息,然后,在生成输出的保护后,使用输入的保护信息,执行数据的校验。
现在参考附图,图2A和2B分别示例说明了根据一个优选实施例的第一种方法和装置中的示例性步骤,该方法和装置用于当将数据从源发送到目的地以及在数据保护方法间切换时,维护数据完整性。在图2B中,在接收设备214内所示的带圈数字表示示例性方法步骤以及在图2A的流程图中的圆括号中所示的相应步骤。
如图2A所示,在由接收设备214所执行的优选实施例的第一种方法的第一步骤中,将接收数据与保护类型1一起放置在存储器中,如块200中所示。接着,如块202中所示,使用保护类型1信息,检验所接收数据。与检验所接收数据同时地,如块204中所示,为该接收数据生成保护类型2信息,并且将生成的保护类型2信息存储在存储器中,如块206中所示。
接着,确定保护类型1信息校验是否失败,如判定块208中所示。当确定保护类型1信息校验失败时,那么通知数据源,如块210中所示。否则,当确定保护类型1信息校验未失败时,那么将该数据与所生成的保护类型2信息传送到目的地,如块212中所示。
如图2B所示,接收设备214从源216、诸如主机应用接收数据以及保护类型1,以便将该数据与保护类型2信息一起发送到目的地218。例如,接收设备214是主机总线适配器(HBA),用于从源216或主机应用接收数据以及保护类型1信息,将数据连同保护类型2信息一起发送到目的地218,诸如存储设备,例如盘驱动器。接收设备214包括存储器222,用于存储数据、保护类型1信息以及保护类型2信息;保护类型2生成器功能224,用于接收数据和生成保护类型2信息;以及保护类型1检验功能226,用于接收数据,以及检验保护类型1信息。
保护类型1信息的一个示例性实现方式是校验和保护信息技术,例如,Fletcher-32校验和保护信息,其能够在应用或源216上使用标准的软件技术的过程中被非常快速地计算。然后,例如,在写操作时,将保护类型1信息存储在存储器222中,并且仍然具有由接收设备214接收的数据。接收设备214是例如主机总线适配器(HBA),诸如PCI-X至光纤信道HBA。
HBA或接收设备214将保护类型1信息校验和转换成用于该数据的不同保护类型2信息技术,诸如CRC-32或CRC-16。在保护类型2生成器功能224中,为数据生成不同保护类型2信息,诸如CRC-32或CRC-16,并且在保护类型1检验功能226中,使用所保存的保护类型1信息或校验和,校验该数据。在读取操作时,颠倒该处理过程。
现在参考图3A和3B,其示出了根据一个示例性实施例的第二种方法和装置中的示例性步骤,该方法和装置用于当将数据从源发送到目的地以及在数据保护方法间切换时,维护数据完整性。在图3A中,在流程图中的圆括号中,示出了示例性方法步骤;以及在图3B中,接收设备314内的带圈数字示例说明了相应的步骤。
首先参考图3B,与接收设备214不同地配置接收设备314,用于执行优选实施例的第二种方法。接收设备314包括存储器316,用于保护类型1信息;保护类型2生成器功能318,用于接收数据和生成保护类型2信息;以及保护类型1检验功能320,用于接收数据和保护类型1信息,并检验保护类型1信息。接收设备314从源322、诸如主机应用中接收数据和保护类型1,以便将该数据连同保护类型2信息一起发送到目的地324、诸如盘驱动器。
参考图3A,在由接收设备314执行的第一步骤中,如块300中所示,将接收的保护类型1信息放置在存储器316中。如在块302中所示,使用保护类型1信息,通过保护类型1检验功能320,检验接收数据。与在块302中检验所接收数据同时地,如块304中所示,为该接收数据生成保护类型2信息,并且将该数据传送到目的地324,如块306中所示。
接着,确定保护类型信息1校验是否失败,如判定块308中所示。当确定保护类型1信息校验失败时,那么通过传送无效的保护类型2信息,向目的地通知无效的所传送数据,如块310中所示。否则,当确定保护类型1信息校验未失败时,将所生成的保护类型2信息传送到目的地,如块312中所示。
现在参考图4A和4B,其示出了根据一个优选实施例的第三种方法和装置中的示例性步骤,所述方法和装置用于当将数据从源发送到目的地以及在数据保护方法间切换时,维护数据完整性。在图4A中,在流程图中的圆括号中,示出了示例性方法步骤;以及在图4B中,接收设备414中的带圈数字示例说明了相应的步骤。
首先参考图4B,与接收设备214和314不同地配置接收设备414,用于执行优选实施例的第三种方法。接收设备414包括存储器416,用于存储数据和保护类型1信息;保护类型2生成器功能418,用于接收数据和生成保护类型2信息;以及保护类型1检验功能420,用于接收数据和保护类型1信息,并且检验保护类型1信息。接收设备414从源422、诸如主机应用中接收数据以及保护类型1,以便将该数据和保护类型2信息一起发送到目的地424、诸如盘驱动器。
参考图4A,在由接收设备414执行的第一步骤中,如块400中所示,将所接收的数据保护类型1信息放置在存储器416中。为接收的数据生成保护类型2信息,如块402中所示。将保护类型2信息放置在存储器416中,如块404中所示。使用保护类型1信息,通过保护类型1检验功能420,检验所接收数据,如块406中所示。
接着,确定保护类型1信息校验是否失败,如判定块408中所示。当确定保护类型1信息校验失败时,将保护类型1错误通知数据源422,如块410中所示。否则,当确定保护类型1信息校验未失败时,将该数据和所生成的保护类型2信息传送到目的地424,如块412中所示。
现在参考图5A和5B,其示出了根据一个优选实施例的第四种方法和装置中的示例性步骤,所述方法和装置用于当将数据从源发送到目的地以及在数据保护方法间切换时,维护数据完整性。在图5A中,在流程图中的圆括号中,示出了示例性方法步骤;以及在图5B中,接收设备514内的带圈数字示例说明了相应的步骤。
首先参考图5B,与接收设备214、314和414不同地配置接收设备514,用于执行优选实施例的第四种方法。接收设备514包括保护类型2生成器功能516,用于接收数据和生成保护类型2信息;以及保护类型1检验功能518,用于接收数据和保护类型1信息,并且使用保护类型1信息检验数据。接收设备514从源520、诸如主机应用中接收数据以及保护类型1,以便将该数据连同保护类型2信息一起发送到目的地522、诸如盘驱动器。
参考图5A,在由接收设备514执行的第一步骤中,如块500中所示,使用所接收的保护类型1信息,检验数据。与在块500中检验所接收的数据同时地,为所接收数据生成保护类型2信息,如块502中所示,并且将数据传送到目的地522,如块504中所示。
接着,确定保护类型1信息校验是否失败,如判定块506中所示。当确定保护类型1信息校验失败时,通过传送无效的保护类型2信息,把无效的所传送数据通知目的地,如块508中所示。否则,当确定保护类型1信息校验未失败时,将保护类型2信息传送到目的地,如块510中所示。
现在参考图6A和6B,其示出了根据一个优选实施例的第五种方法和装置中的示例性步骤,所述方法和装置用于当将数据从源发送到目的地以及在数据保护方法间切换时,维护数据完整性。在图6A中,在流程图中的圆括号中,示出了示例性方法步骤;以及在图6B中,接收设备620内的带圈数字示例说明了相应的步骤。
首先参考图6B,与接收设备214、314、414和514不同地配置接收设备620,用于执行优选实施例的第五种方法。接收设备620包括第一保护类型1检验功能622,用于接收数据和保护类型1信息,并且使用保护类型1信息检验数据;存储器624,耦合到第一保护类型1检验功能622,用于存储数据和保护类型1信息;保护类型2生成器功能626,用于接收数据和生成保护类型2信息;以及第二保护类型1检验功能628,耦合到存储器624,用于接收数据和保护类型1信息,并且检验保护类型1信息。接收设备620从源630、诸如主机应用中接收数据和保护类型1,以便将数据连同保护类型2信息一起发送到目的地632、诸如盘驱动器。
参考图6A,在由接收设备620执行的第一步骤中,如块600中所示,使用保护类型1信息在接收数据时检验数据。接着,确定保护类型1信息校验是否失败,如判定块602中所示。当确定保护类型1信息校验失败时,将保护类型1错误通知数据源630,如块604中所示。
否则,当确定保护类型1信息校验未失败时,将来自第一保护类型1检验功能622的数据和保护类型1信息放置在存储器624中,如块606所示。由第一保护类型1检验功能622为放入存储器624中的数据生成保护类型2信息,如块608中所示。保护类型2信息被放置在存储器624中,如块610中所示。通过第二保护类型1检验功能628,检验从第一保护类型1检验功能622放置在存储器624中的所接收数据,如块612中所示。
接着,如判定块614中所示,确定第二保护类型1信息校验是否失败。当确定该保护类型1信息校验失败时,将保护类型1错误通知数据源630,如块616中所示。否则,当确定保护类型1信息校验尚未失败时,将该数据和所生成的保护类型2信息一起传送到目的地632,如块618中所示。
尽管已经参考附图中示出的本发明的实施例的细节,描述了本发明,但是这些细节不打算限制如在附加权利要求中要求保护的本发明的范围。
权利要求
1.一种当在数据保护方法间切换时由接收设备执行的用于维护数据完整性的方法,包括步骤接收数据和第一保护类型信息;生成第二保护类型信息;响应于生成所述第二保护类型信息,使用所述第一保护类型信息,校验所述接收的数据;以及当第一保护类型信息校验失败时,生成错误指示。
2.如权利要求1所述的用于维护数据完整性的方法,包括存储所述第一保护类型信息。
3.如权利要求2所述的用于维护数据完整性的方法,包括存储所述接收的数据。
4.如权利要求2所述的用于维护数据完整性的方法,包括在传送数据前,与生成所述第二保护类型信息同时地,使用所述保存的第一保护类型信息检验数据。
5.如权利要求4所述的用于维护数据完整性的方法,其中,当第一保护类型信息校验失败时生成所述错误指示的步骤包括将错误通知数据源。
6.如权利要求4所述的用于维护数据完整性的方法,包括当第一保护类型信息校验未失败时,将数据和所述第二保护类型信息传送到目的地。
7.如权利要求2所述的用于维护数据完整性的方法,包括当传送数据时,与生成所述第二保护类型信息同时地,使用所述保存的第一保护类型信息检验数据。
8.如权利要求7所述的用于维护数据完整性的方法,其中当第一保护类型信息校验失败时生成所述错误指示的步骤包括传送无效的第二保护类型信息,以便将错误通知目的地。
9.如权利要求7所述的用于维护数据完整性的方法,进一步包括当第一保护类型信息校验未失败时,将所述所生成的第二保护类型信息传送到目的地。
10.如权利要求1所述的用于维护数据完整性的方法,其中,生成所述第二保护类型信息的步骤是响应于使用所述第一保护类型信息校验所述接收的数据而执行的,并且第一保护类型信息校验未失败。
11.如权利要求10所述的用于维护数据完整性的方法,进一步包括存储所述生成的第二保护类型信息。
12.如权利要求11所述的用于维护数据完整性的方法,包括当第一保护类型信息校验失败时生成所述错误指示的步骤进一步包括将错误通知数据源。
13.如权利要求12所述的用于维护数据完整性的方法,进一步包括当第一保护类型信息校验未失败时,将数据连同所述保存的第二保护类型信息一起传送到目的地。
14.一种用于当在数据保护方法间切换时维护数据完整性的装置,包括接收设备,用于接收数据和第一保护类型信息,所述接收设备包括第一保护类型检验功能,用于使用所述接收的第一保护类型信息检验所述接收的数据;第二保护类型生成器功能,用于为所述接收的数据生成第二保护类型信息,所述第一保护类型检验功能,响应于生成所述第二保护类型信息,使用所述第一保护类型信息校验所述接收的数据,并且当第一保护类型信息校验失败时,生成错误指示。
15.如权利要求14所述的用于维护数据完整性的装置,进一步包括存储器,用于存储所述接收的第一保护类型信息。
16.如权利要求15所述的用于维护数据完整性的装置,其中,所述存储器用于存储所述接收的数据。
17.如权利要求15所述的用于维护数据完整性的装置,其中,所述存储器用于存储所述生成的第二保护类型信息。
18.如权利要求14所述的用于维护数据完整性的装置,其中,当第一保护类型信息校验失败时,所述第一保护类型检验功能生成所述错误指示,包括将错误通知数据源。
19.如权利要求14所述的用于维护数据完整性的装置,其中,当第一保护类型信息校验失败时,所述第一保护类型检验功能生成所述错误指示,包括将所述错误指示通知所述第二保护类型生成器功能。
20.如权利要求19所述的用于维护数据完整性的装置,其中,所述第二保护类型生成器功能传送无效的第二保护类型信息,以便将错误通知目的地。
全文摘要
提供了一种用于当在数据保护方法间切换时维护数据完整性的方法和装置。接收数据和第一保护类型信息。生成第二保护类型信息。在生成第二保护类型信息之后,使用第一保护类型信息,校验数据。当第一保护类型信息校验失败时,生成错误指示。
文档编号G06F11/10GK101067795SQ200710089330
公开日2007年11月7日 申请日期2007年3月23日 优先权日2006年5月5日
发明者乔治·O.·佩诺科, 杰弗里·W.·帕尔姆, 马克·F.·威尔丁, 保罗·E.·麦肯尼 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1