CN117769698A - 安全多通道计算机中的存储错误的自动识别和修正 - Google Patents

安全多通道计算机中的存储错误的自动识别和修正 Download PDF

Info

Publication number
CN117769698A
CN117769698A CN202280053317.4A CN202280053317A CN117769698A CN 117769698 A CN117769698 A CN 117769698A CN 202280053317 A CN202280053317 A CN 202280053317A CN 117769698 A CN117769698 A CN 117769698A
Authority
CN
China
Prior art keywords
check value
memory
data
sub
check
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
CN202280053317.4A
Other languages
English (en)
Inventor
W·埃贝林
A·普里贝
N·韦斯
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.)
Siemens Mobility GmbH
Original Assignee
Siemens Mobility GmbH
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 Siemens Mobility GmbH filed Critical Siemens Mobility GmbH
Publication of CN117769698A publication Critical patent/CN117769698A/zh
Pending legal-status Critical Current

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B61RAILWAYS
    • B61LGUIDING RAILWAY TRAFFIC; ENSURING THE SAFETY OF RAILWAY TRAFFIC
    • B61L27/00Central railway traffic control systems; Trackside control; Communication systems specially adapted therefor
    • B61L27/30Trackside multiple control systems, e.g. switch-over between different systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B61RAILWAYS
    • B61LGUIDING RAILWAY TRAFFIC; ENSURING THE SAFETY OF RAILWAY TRAFFIC
    • B61L15/00Indicators provided on the vehicle or train for signalling purposes
    • B61L15/0063Multiple on-board control systems, e.g. "2 out of 3"-systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Hardware Redundancy (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明涉及一种用于自动识别并且修正铁路技术设备(1)的安全多通道计算机(7)中的存储错误的方法,其中,计算机(7)的每一个通道(8、9)具有至少一个存储装置(13、14),并且将相同的数据并行地存储在通道(8、9)的存储装置(13、14)中。为了在没有附加的硬件开销的情况下提供一种可靠的方法,根据本发明设置为,计算用于第一存储装置(13)的子区域(28)的数据的第一校验值(17);计算用于第二存储装置(14)的子区域(28)的相同的数据的第二校验值(19);将第一和第二校验值(17、19)彼此进行比较;如果第一和第二校验值(17、19)不同,则将第一校验值(17)和/或第二校验值(19)与旧的校验值(23)进行比较;当第二校验值(19)对应于旧的校验值(23)时,用第二存储装置(14)的子区域(28)的数据替换第一存储装置(13)的子区域(28)的数据;并且当第一校验值(17)对应于旧的校验值(22)时,用第一存储装置(13)的子区域(28)的数据替换第二存储装置(14)的子区域(28)的数据。

Description

安全多通道计算机中的存储错误的自动识别和修正
技术领域
本发明涉及一种用于自动识别并且修正铁路技术设备的安全多通道计算机中的存储错误的方法,其中,计算机的每一个通道具有至少一个存储装置,并且将数据并行地存储在这些通道的存储装置中。
背景技术
在铁路技术设备中要求高安全性,因为否则例如可能对乘客或者其他参与人员产生大的风险。因此,对于例如集控站区域中的许多处理,根据适用的标准,要求达到诸如SIL3或者SIL 4的高安全等级SIL(Safety Integrity Level,安全完整性等级)。因此,现今经常使用的控制铁路技术设备的处理的计算机经常是所谓的安全计算机。术语“安全计算机”例如意为如下的专用工业计算机,这些专用工业计算机通过冗余实施而具有充分的错误披露,由此满足所需要的安全要求。例如在DE 10 2004 035 901 A1中描述了这种安全计算机。
例如由于外部影响、例如软错误(Soft Error)或者由于在存储构件中信噪比不足而可能触发的随机出现的存储错误,可能导致电气设备错误地工作,并且在铁路技术设备的与安全相关的环境中是有问题的。这种随机的存储错误、例如位翻转与存储装置的使用无关地在统计上在所使用的存储装置、例如RAM存储器中到处出现。因此,这些存储错误不仅可能在高动态的数据内容、恒定的数据内容中,而且可能在未使用的存储区域中出现。这里提到的这种存储错误不是由于存储构件中的缺陷造成的。所描述的随机存储错误当然已经在铁路技术设备的设计中进行了考虑,并且一般通过将计算机的不同的通道中的两个独立的存储装置进行比较来进行披露。通常如此识别出的存储错误将导致系统关闭,因为无法容易地知道哪个通道具有正确的数据。然而,这种关闭将导致这种两两系统(Zwei-von-Zwei-System)的可用性最低化。
也已知通过附加的硬件开销来解决该问题的解决方案。因此,例如可以使用影子存储器或者所谓的ECC存储器(Error Correcting Code,纠错码)。除了附加的存储位中的数据之外,还利用每一次存储器访问来写入并且读出或者分析这些存储器,以便能够识别出并且修正错误。
发明内容
本发明要解决的技术问题是,提供一种开头提到的用于自动识别并且修正存储错误的方法,其不需要附加的硬件开销,但是仍然满足最高安全要求。
对于开头提到的方法,上述技术问题通过如下方式来解决:计算用于第一存储装置的子区域的数据的第一校验值,
计算用于第二存储装置的子区域的相同的数据的第二校验值,
将第一和第二校验值彼此进行比较,
如果第一和第二校验值不同,则将第一校验值和/或第二校验值与旧的校验值进行比较,
当第二校验值对应于旧的校验值时,用第二存储装置的子区域的数据替换第一存储装置的子区域的数据,并且
当第一校验值对应于旧的校验值时,用第一存储装置的子区域的数据替换第二存储装置的子区域的数据。
根据本发明的解决方案具有如下优点,即,所述方法可以以纯基于软件的方式来实现,并且仅需要有限的硬件开销。根据本发明的方法特别适合用于两两系统,也就是说,特别适合用于具有恰好两个冗余通道的安全计算机。
在此,计算用于第一存储装置的子区域的数据的第一校验值。这里,校验值例如应当理解为通过所存储的数据所计算的哈希值或者校验和。原则上可以使用任意种类的校验和。然而,有利的是,校验和独立于数据集合地收敛于残余错误概率。第一存储装置位于安全计算机的第一通道中。此外,计算用于第二存储装置的对应的子区域的数据的第二校验值。在第一和第二存储装置的这些子区域中,在没有错误的状态下,冗余地存储有相同的数据。
随后,将第一和第二校验值彼此进行比较。如果不存在存储错误,则校验值应当相同。但是如果第一和第二校验值不同,则根据本发明,将第一校验值和/或第二校验值与旧的校验值进行比较。旧的校验值例如同样存储在每一个通道的存储装置中,并且是在稍早的时间点计算的。旧的校验值与稍早的时间点的第一和第二校验值相同,该第一和第二校验值被识别为属于未被篡改的数据。因此,当数据没有因为故意改变或者存储错误而发生改变时,基于未损坏的数据的第一和第二校验值必须与旧的校验值一致。下面有时提到错误的校验值。这是指基于被篡改的数据的校验值。这些所谓的不正确的校验值本身是根据其所基于的数据完全正确地计算的。仅所基于的数据是损坏的,因此是不正确的。根据本发明,通过与旧的校验值进行比较,可以以非常简单的方式识别出存储错误存在于哪一个存储装置中并且必须替换数据。
因此,当第二校验值对应于旧的校验值时,用第二存储装置的子区域的数据替换第一存储装置的子区域的数据。另一方面,当第一校验值对应于旧的校验值时,用第一存储装置的子区域的数据替换第二存储装置的子区域的数据。当然,虽然原来存在旧的第一校验值和旧的第二校验值,但是仅使用一个旧的校验值。但是因为旧的第一校验值和旧的第二校验值被识别为基于正确的数据,因此它们是相同的,因此可以被存储为唯一一个旧的校验值并且被使用。
根据本发明的方法的特征在于,其可以完全通过软件来实现,并且可以独立于应用地例如通过操作系统后台处理来进行。
根据本发明的解决方案可以通过下面描述的有利的设计方案来扩展。
因此,可以借助循环冗余校验CRC、特别是CRC32或者哈希计算来确定校验值。这里,CRC代表英语术语“Cyclic Redundancy Check”,即意为循环冗余校验。这里,这种已知的方法是特别合适的,因为其能够可靠地确认数据的完整性并且能够容易地进行。这里,适当的CRC算法是有利的,因为其校验和独立于数据集合地收敛于残余错误概率。CRC32是满足更高的要求、因此满足更高的安全性的32位版本。替换的哈希计算得到了广泛使用,并且使得能够高效地计算强校验值。
为了能够快速并且简单地检查整个存储装置的存储错误,可以彼此独立地针对存储装置的多个子区域执行所述方法。这也可以同时进行。
此外,可以循环地重复所述方法,并且当第一校验值和第二校验值在当前循环中相同时,可以将第一校验值和第二校验值存储为旧的第一校验值和旧的第二校验值用于接下来的循环。这具有如下优点,即,连续地检查存储装置的存储错误,并且连续地存储旧的校验值。
为了使校验值由于运行引起的数据变化而不断变化并且使得错误识别不可能的概率最小,子区域的存储器大小可以低于存储装置的可用存储器大小的5%、特别是低于存储装置的可用存储器大小的1%。目的是选择足够小的存储器大小。这里有利的是,将存储装置划分为尽可能多的、相对小的子区域,在这些子区域中分别执行根据本发明的方法。由此提高使得能够修正数据的概率,因为在这些子区域中不存在运行引起的数据变化。
为了尽可能简单地设计存储装置,可以将旧的校验值存储在第一存储装置的校验值存储器中和/或第二存储装置的校验值存储器中。
此外,本发明涉及一种用于铁路技术设备的安全多通道计算机,该计算机的每一个通道具有至少一个存储装置,用于同时存储数据。根据本发明设置为,该计算机被构造为用于执行根据前面提到的实施方式中的任意一个所述的方法。
在根据本发明的计算机的一个有利的设计方案中,计算机可以被构造为铁路技术设备的集控站装置的一部分。替换地,根据本发明的计算机例如也可以在车辆和其它安全技术装置中使用。
此外,请求保护一种具有程序指令的计算机程序产品,该程序指令用于执行所提到的根据本发明的方法和/或其实施例,其中,可以借助计算机程序产品来相应地执行根据本发明的方法和/或其实施例。
此外,请求保护一种用于存储和/或提供计算机程序产品的提供装置。提供装置例如是存储和/或提供计算机程序产品的数据载体。替换地和/或附加地,提供装置例如是网络服务、计算机系统、服务器系统、特别是分布式计算机系统、基于云的计算机系统和/或虚拟计算机系统,其优选以数据流的形式存储和/或提供计算机程序产品。
提供例如作为完整的计算机程序产品的程序数据块和/或指令数据块形式的下载、优选作为文件、特别是作为下载文件或者作为数据流、特别是作为下载数据流来进行。但是这种提供例如也可以作为部分下载来进行,该部分下载由多个部分构成,并且特别是通过对等(Peer-to-Peer)网络来下载或者作为数据流来提供。例如使用数据载体形式的提供装置将这种计算机程序产品读入到系统中,并且这种计算机程序产品执行程序指令,从而使得在计算机上执行根据本发明的方法,或者将产生设备配置为,使得产生设备产生根据本发明的工件。
附图说明
下面,参考附图说明本发明。在附图中:
图1以示例性的实施方式示出了具有根据本发明的安全计算机的铁路技术设备的示意图;
图2示出了在图1中的计算机上运行的根据本发明的方法的示例性的实施方式的示意图。
具体实施方式
图1中的铁路技术设备1的示例性的实施方式包括车辆2、行驶线路3、现场元件4和集控站装置5。为了清楚起见,在图1中相应地仅示出了所提到的铁路技术设备1的不同的部件的示例。
这里,在图1中示出的现场元件4例如是灯光信号。当然也可以包括其它现场元件、例如转辙器、铁路交叉道口、计轴器或者类似元件。此外,图1中的现场元件4包括控制模块6,该控制模块6又包括安全计算机7,并且控制模块6由控制装置5控制。替换地或者附加地,根据本发明的安全计算机7也可以在铁路技术设备的其它部分、例如集控站装置5中使用。在图1的上面的部分中以放大的方式示出了安全计算机7。
在图1中的示例性的实施方式中,安全计算机7是所谓的两两系统,也就是说,安全计算机7包括第一通道8和冗余的第二通道9。两个通道8、9分别与数据总线系统10连接,其又分别与未详细描述的处理逻辑连接。处理逻辑被构造为用于控制现场元件4、例如在图1中示出的灯光信号。
安全计算机7的第一通道8和第二通道9分别包括单独的控制器12。此外,第一通道8包括第一存储装置13,并且第二通道9包括第二存储装置14。此外,第一通道8和第二通道9通过接口15彼此连接,从而可以交换数据并且对数据进行比较。在图1中的示例性的实施方式中,存储装置13、14被构造为RAM存储器。
为了识别并且自动修正在第一存储装置13或者第二存储装置14中随机出现的存储错误,执行在图2中示意性地示出并且在下面描述的根据本发明的方法。
这种存储错误例如可以是位翻转,其例如可能由于外部影响而触发。这种存储错误导致在存储装置13、14中以冗余方式存储的数据可能不再完全相同,并且可能导致不安全的状态。通过根据本发明的方法,可以识别并且自动修正这种存储错误。
存储装置13、14分别被划分为许多子区域,借助根据本发明的方法单独对这些子区域进行检查。在附图中的示例性的实施方式中,这些子区域例如具有1024字节的存储器大小,这小于存储装置13、14的可用存储器大小的1%。其它存储器大小当然也可以。然而,在存储器大小方面相对小的子区域是有利的,因为由此在持续运行中,由于运行而进行的数据写入仅涉及几个子区域,并且可以对其余区域的存储错误进行检查。
在图2中示出的第一方法步骤16中,计算用于第一存储装置13的子区域的数据的第一校验值17。这里,可以将校验和或者借助哈希函数确定的哈希值视为校验值。在附图中的示例性的实施方式中,使用CRC32校验和作为校验值。在接下来的步骤18中,计算用于第二存储装置14的对应的冗余子区域的第二校验值19。当不存在存储错误时,存储装置13、14中的子区域具有相同的数据。
在接下来的步骤20中,将第一校验值17和第二校验值19彼此进行比较。为了能够进行比较,必要时需要通过接口15在通道8、9之间交换校验值17、19。对于第一和第二校验值17、19相同的情况,未识别出存储错误,并且可以继续进行步骤21。在步骤21中,将第一校验值17存储为旧的第一校验值22,并且将第二校验值19存储为旧的第二校验值23。因为第一校验值17和第二校验值19相同,因此也可以仅存储一个旧的校验值22、23。
之后,所述方法可以重新以步骤16开始。根据本发明的方法可以继续进行,以便能够快速地识别存储错误的出现并且消除存储错误。
然而,当在步骤20中比较得出第一校验值17和第二校验值19不同时,由此识别出存储错误。然而,由此仍然不清楚存储错误存在于两个存储装置13、14中的哪一个中。为了识别出这一点,并且为了自动修正存储错误,根据本发明的方法以步骤24继续。
在步骤24中,将第一校验值17与所存储的旧的校验值22、23进行比较。同时或者替换地,将第二校验值19与旧的校验值22、23进行比较。
旧的校验值22、23是从前一个校验循环中计算并且存储的,在该前一个校验循环中,校验值17、19相同,因此不存在存储错误。
当第二校验值19与旧的校验值22、23相同时,这意味着,第二存储装置14的相关子区域中的数据是正确的,也就是说,在这里不存在存储错误。在这种情况下,用第二存储装置14的子区域的数据来替换第一存储装置13的子区域的数据,因此反向地识别出第一存储装置13的子区域的数据是被存储错误篡改的数据。这在步骤25中进行。
然而,当第一校验值17与旧的校验值22相同时,这意味着,第一存储装置13的数据是正确的,没有存储错误。在这种情况下,在步骤26中,用第一存储装置13的子区域的数据自动替换第二存储装置14的子区域的数据。
根据本发明的方法可以在接下来的步骤27中结束,或者在步骤16中重新开始。在这种情况下,不一定需要存储旧的校验值22、23,因为其与先前的旧的校验值相比未发生改变。
可以针对存储装置13、14的许多或者甚至所有子区域并行地执行所描述的根据本发明的方法。
在图1中还示例性地并且示意性地示出了第一存储装置13的子区域28。当然,子区域28的图示也适用于未示出的第二存储装置14的子区域。每一个存储装置13、14包括多个子区域28。对于每一个子区域28,在安全计算机7中彼此独立地执行前面描述的在图2中示出的根据本发明的方法。
在图1中的示例性的实施方式中,子区域28例如具有1024字节的大小。在此,子区域28包括可用存储器29和校验值存储器30。在可用存储器29中存储有用数据。有用数据是在计算机7的运行中要存储的正常数据。
如先前已经提到的,有用数据的这种存储在通道8、9中冗余地进行,以保证所需要的安全性。也就是说,第一通道8中的每一个子区域28具有第二通道9中的存储相同的有用数据的子区域28。
将旧的校验值22或23存储在校验值存储器30中,以便该旧的校验值22或23能够用于根据本发明的方法。这具有如下优点,即,不需要另外的存储位置用于存储旧的校验值22、23。

Claims (10)

1.一种用于自动识别并且修正铁路技术设备(1)的安全多通道计算机(7)中的存储错误的方法,其中,所述计算机(7)的每一个通道(8、9)具有至少一个存储装置(13、14),并且将相同的数据并行地存储在所述通道(8、9)的存储装置(13、14)中,
其特征在于,
计算用于第一存储装置(13)的子区域(28)的数据的第一校验值(17),
计算用于第二存储装置(14)的子区域(28)的相同的数据的第二校验值(19),
将第一和第二校验值(17、19)彼此进行比较,
如果所述第一和第二校验值(17、19)不同,则将所述第一校验值(17)和/或所述第二校验值(19)与旧的校验值(23)进行比较,
当所述第二校验值(19)对应于旧的校验值(23)时,用所述第二存储装置(14)的子区域(28)的数据替换所述第一存储装置(13)的子区域(28)的数据,并且
当所述第一校验值(17)对应于旧的校验值(22)时,用所述第一存储装置(13)的子区域(28)的数据替换所述第二存储装置(14)的子区域(28)的数据。
2.根据权利要求1所述的方法,
其特征在于,
借助循环冗余校验CRC、特别是CRC32或者哈希计算来确定校验值(17、19)。
3.根据权利要求1或2所述的方法,
其特征在于,
彼此独立地针对存储装置(13、14)的多个子区域(28)执行所述方法。
4.根据上述权利要求中任一项所述的方法,
其特征在于,
循环地重复所述方法,并且当所述第一校验值(17)和所述第二校验值(19)在当前循环中相同时,将所述第一校验值(17)和所述第二校验值(19)存储为旧的第一校验值(22)和旧的第二校验值(23)用于接下来的循环。
5.根据上述权利要求中任一项所述的方法,
其特征在于,
子区域(28)的存储器大小低于存储装置(13、14)的可用存储器大小的5%、特别是低于存储装置(13、14)的可用存储器大小的1%。
6.根据上述权利要求中任一项所述的方法,
其特征在于,
将旧的校验值(22)存储在所述第一存储装置(13)的校验值存储器(30)中和/或所述第二存储装置(14)的校验值存储器(30)中。
7.一种用于铁路技术设备(1)的安全多通道计算机(7),所述计算机的每一个通道(8、9)具有至少一个存储装置(13、14),用于同时存储数据,
其特征在于,
所述计算机(7)被构造为用于执行根据上述权利要求中任一项所述的方法。
8.根据权利要求7所述的计算机,
其特征在于,
所述计算机(7)被构造为集控站装置(5)的一部分。
9.一种具有程序指令的计算机程序产品,所述程序指令用于执行根据权利要求1至6中任一项所述的方法。
10.一种用于根据权利要求9所述的计算机程序产品的提供装置,其中,所述提供装置存储和/或提供所述计算机程序产品。
CN202280053317.4A 2021-08-18 2022-07-29 安全多通道计算机中的存储错误的自动识别和修正 Pending CN117769698A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE102021209038.9 2021-08-18
DE102021209038.9A DE102021209038A1 (de) 2021-08-18 2021-08-18 Verfahren zum automatischen Erkennen und Korrigieren von Speicherfehlern in einem sicheren mehrkanaligen Rechner
PCT/EP2022/071326 WO2023020807A1 (de) 2021-08-18 2022-07-29 Automatisches erkennen und korrigieren von speicherfehlern in einem sicheren mehrkanaligen rechner

Publications (1)

Publication Number Publication Date
CN117769698A true CN117769698A (zh) 2024-03-26

Family

ID=83059221

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280053317.4A Pending CN117769698A (zh) 2021-08-18 2022-07-29 安全多通道计算机中的存储错误的自动识别和修正

Country Status (4)

Country Link
EP (1) EP4355633A1 (zh)
CN (1) CN117769698A (zh)
DE (1) DE102021209038A1 (zh)
WO (1) WO2023020807A1 (zh)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004035901B4 (de) 2004-07-19 2016-02-04 Siemens Aktiengesellschaft Einrichtung zum Steuern eines sicherheitskritischen Prozesses
DE102005023296B4 (de) * 2005-05-12 2007-07-12 Siemens Ag Zugbeeinflussungssystem
DE102016206988A1 (de) * 2016-04-25 2017-10-26 Thales Deutschland Gmbh Servereinrichtung betreibend eine Software zur Steuerung einer Funktion eines schienengebundenen Transportsicherungssystems

Also Published As

Publication number Publication date
WO2023020807A1 (de) 2023-02-23
DE102021209038A1 (de) 2023-02-23
EP4355633A1 (de) 2024-04-24

Similar Documents

Publication Publication Date Title
US10127161B2 (en) Method for the coexistence of software having different safety levels in a multicore processor system
US9304872B2 (en) Method for providing a value for determining whether an error has occurred in the execution of a program
US20160009259A1 (en) Failure tolerant vehicle speed
US11301347B2 (en) Software update mechanism for safety critical systems
US8996953B2 (en) Self monitoring and self repairing ECC
JPWO2011111211A1 (ja) メモリ診断方法、メモリ診断装置およびメモリ診断プログラム
JPH09146849A (ja) 情報処理システム及びそのメモリ再構成方法
US9230687B2 (en) Implementing ECC redundancy using reconfigurable logic blocks
US9053245B2 (en) Partial redundancy for I/O modules or channels in distributed control systems
CN117769698A (zh) 安全多通道计算机中的存储错误的自动识别和修正
US10585772B2 (en) Power supply diagnostic strategy
EP0257952B1 (en) Apparatus for detecting and classifying errors in control words
CN112612637A (zh) 内存数据存储方法、内存控制器、处理器芯片及电子设备
EP3525210B1 (en) Data register monitoring
CN106940667B (zh) 检验具有多个计算单元的系统中的计算结果的方法和设备
EP3882774A1 (en) Data processing device and data processing method
US20220050740A1 (en) Method and Apparatus for Memory Error Detection
US10489228B2 (en) Safety-relevant computer system
JP2010009327A (ja) 照合システム
EP1990719A2 (en) Industrial controller
JP6710142B2 (ja) 制御システム
US20230342072A1 (en) Method for computer-assisted operation of a memory unit and execution of application programs having redundant data storage
US11876533B2 (en) Method for computer-assisted operation of a memory unit and execution of application programs with memory checking for memory errors
CN111858126B (zh) 一种基于k+m纠删集群的数据处理方法及装置
JP2000105675A (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