CN102866963B - 控制器数据存储与读取方法 - Google Patents
控制器数据存储与读取方法 Download PDFInfo
- Publication number
- CN102866963B CN102866963B CN201210345778.7A CN201210345778A CN102866963B CN 102866963 B CN102866963 B CN 102866963B CN 201210345778 A CN201210345778 A CN 201210345778A CN 102866963 B CN102866963 B CN 102866963B
- Authority
- CN
- China
- Prior art keywords
- data
- storage
- groups
- stores
- check code
- 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
Abstract
一种控制器数据存储和读取方法。其特点是包括数据存储步骤与数据读取步骤,所述数据存储步骤是CPU将需要保存的工作数据映射至少两组独立完整的存储数据并存储到存储器中;所述读取步骤是读取存储器中数据,将数据进行两两对比匹配,直到出现两组匹配一致的存储数据,并将匹配一致的两组存储数据中的一份发送到CPU的数据存储器;若所有存储数据中没有匹配一致两组数据,则读取CPU原先程序存储器中程序预设的数据;存储数据存储在至少两个相互独立的物理存储器中,每一物理存储器中至少储存一组存储数据。其优点是采用不同通信机制、不同存储地址的多存储器进行数据存储和读取,可以避免关键数据的丢失,保证工程车辆的安全性和稳定性。
Description
技术领域
本发明的涉及一种主要应用于工程机械,对工程机械控制器的存储器的数据存储和读取方法。
背景技术
目前工程机械控制器有很多重要的数据需要即时保存,并能保证在掉电情况下重新上电能够读取。一般采用的方法是选用一片高性能可擦除的外部存储芯片,将数据(组)进行校验,将校验码一起存放在存储器中。读数据时检验校验码是否和读出的数据组是否匹配,如果匹配则认为数据(组)是正确,如果不正确,则认为数据(组)错误。这些方法有以下几个缺陷
1.数据容易受到总线信号的干扰。
2.错误的数据无法修复。
发明内容
本发明的目的就是提供一种主要针对目前工程机械控制器工作时电磁环境恶劣,单一的存储器存储数据时容易受到信号干扰的问题,提出采用不同通信机制、不同存储地址的多存储器进行数据存储和读取,可以避免关键数据的丢失,保证工程车辆的安全性和稳定性控制器数据存储和读取方法。
本发明的解决方案是这样的:
对于计算机存储器,有如下几种:
1.存储器
存储器是计算机系统的记忆设备,用来存放程序和数据。在单片机系统中,它分为CPU存储器和外部存储器。前者分为CPU程序存储器和CPU数据存储器。在本文中所指的存储器,如无特别说明,指的是外部存储器,这种存储器的特点是可擦写、掉电数据不丢失;
2.CPU程序存储器
CPU程序存储器是用来保存应用程序代码,同时还可以用于保存程序执行时用到的数据。对于单片机系统而言,程序存储器经过程序烧写后,一般如果不对其进行升级,是无法改变其程序代码。这种存储器的特点是可擦写、掉电数据不丢失介质;
3.CPU数据存储器
对于单片机系统而言,数据存储器指的是在CPU运行过程中用于计算、缓存的存储器。这种存储器的特点是可擦写、掉电数据丢失介质。
本发明分别使用了上述存储器。
本发明的控制器数据存储和读取方法,包括数据存储步骤与数据读取步骤。
所述数据存储步骤是CPU将需要保存的工作数据映射至少两组独立完整的存储数据并存储到存储器中;
所述读取步骤是读取存储器中数据,将数据进行两两对比匹配,直到出现两组匹配一致的存储数据,并将匹配一致的两组存储数据中的一份发送到CPU的数据存储器;若所有存储数据中没有匹配一致两组数据,则读取CPU原先程序存储器中程序预设的数据。
进一步的:所述存储数据存储在至少两个相互独立的物理存储器中,每一物理存储器中至少储存一组存储数据。
进一步的:所述的每一组存储数据存储在不同的地址段中。
进一步的:存储数据存储前采用不同的映射方法得到独立完整的存储数据;在两两对比匹配之前对读取的存储数据进行相应的逆映射运算。
进一步的:存储数据存储前经过校验运算得到校验码,将校验码附加到相应的存储数据组中,并将其一起保存到存储器,读取存储器数据后对每组数据的校验码进行检查;如果检验码检查正确,则将该存储数据进行两两对比匹配;如果校验码检查不正确,则进行下两组存储数据的校验码检查。
本发明的优点是采用不同通信机制、不同存储地址的多存储器进行数据存储和读取,可以避免关键数据的丢失,保证工程车辆的安全性和稳定性。
附图说明
附图是本发明的实施例。
附图1是本发明的系统构成示意图。
附图2是本发明存储程序流程图。
附图3是本发明读取程序流程图。
具体实施方式
本发明硬件电路采用双总线通信的两块存储芯片(IIC总线和SPI总线),如图1所示,在不需要保存数据时,存储器1和存储器2均不工作。当需要保存数据时,CPU使能存储器1和存储器2工作,如附图1所示。
本发明的控制器数据存储和恢复方法,包括数据存储步骤与数据读取步骤。
所述数据存储步骤是CPU将需要保存的工作数据映射至少两组独立完整的存储数据并存储到存储器中;
所述读取步骤是读取存储器中数据,将数据进行两两对比匹配,直到出现两组匹配一致的存储数据,并将匹配一致的两组存储数据中的一份发送到CPU的数据存储器;若所有存储数据中没有匹配一致两组数据,则读取CPU原先程序存储器中程序预设的数据。
所述存储数据存储在至少两个相互独立的物理存储器中,每一物理存储器中至少储存一组存储数据。
所述的每一组存储数据存储在不同的地址段中。
存储数据存储前采用不同的映射方法得到独立完整的存储数据;在两两对比匹配之前对读取的存储数据进行相应的逆映射运算。
存储数据存储前经过校验运算得到校验码,将校验码附加到相应的存储数据组中,并将其一起保存到存储器,读取存储器数据后对每组数据的校验码进行检查;如果检验码检查正确,则将该存储数据进行两两对比匹配;如果校验码检查不正确,则进行下两组存储数据的校验码检查。
具体的,假设我们需要保存数据A,下面的步骤按(1),(2),(3),(4)进行存储过程,按步骤(5)、(6)、(7)进行读取过程。
(1)、将数据A用不同的映射方法得到数据组B,C,D,E,F,G其中有映射关系
B=f1(A),C=f2(A),D=f3(A),E=f4(A),F=f5(A),G=f6(A),
(2)、通过校验算法得到校验码XB,XC,XD,XE,XF,XG;
(3)、得到新的数组B′=B+XB,C′=C+XC,D′=D+XD,E′=E+XE,F′=F+XF,G′=G+XG,
(4)、将B',C',D′存储到存储器1的不同地址段中,E',F′,G′存储到存储器2的不同地址段中;
(5)、将读出校验码与压缩校验码进行比对,如果一致则认为该组数据存储有效,否则认为无效;读取时读出存储器1、存储器2相应地址的6组数据,分别为b',c′,d',e′,f′,g′。解析出校验码xb,xc,xd,xe,xf,xg,如果某个xi和i校验不通过,则丢弃数据i。目前假设校验都通过;
(6)、对校验通过的数据进行逆映射运算得到结果A0,A1,A2,A3,A4,A5,其中
A0=f1 -1(b),A1=f2 -1(c),A2=f3 -1(d),A3=f4 -1(e),A4=f5 -1(f),A5=f6 -1(g)
(7)、对A0,A1,A2,A3,A4,A5进行两两比对,如果某两组数据完全相同Ai=Aj,则认为Ai为原先我们想要存储的数据A,然后提供给CPU继续进行运算。否则如果没有任何两组能够完全匹配,则CPU调用预先在程序存储器中的一组数R,用R来取代A。
Claims (4)
1.一种控制器数据存储和读取方法,包括数据存储步骤与数据读取步骤,其特征在于:
所述数据存储步骤是CPU将需要保存的工作数据映射至少两组独立完整的存储数据并存储到存储器中;所述存储数据存储在至少两个相互独立的物理存储器中,每一物理存储器中至少储存一组存储数据;
所述读取步骤是读取存储器中数据,将数据进行两两对比匹配,直到出现两组匹配一致的存储数据,并将匹配一致的两组存储数据中的一份发送到CPU的数据存储器;若所有存储数据中没有匹配一致两组数据,则读取CPU原先程序存储器中程序预设的数据。
2.根据权利要求1所述的控制器数据存储和读取方法,其特征在于每一组存储数据存储在不同的地址段中。
3.根据权利要求1所述的控制器数据存储和读取方法,其特征在于存储数据存储前采用不同的映射方法得到独立完整的存储数据;在两两对比匹配之前对读取的存储数据进行相应的逆映射运算。
4.根据权利要求3所述的控制器数据存储和读取方法,其特征在于存储数据存储前经过校验运算得到校验码,将校验码附加到相应的存储数据组中,并将其一起保存到存储器,读取存储器数据后对每组数据的校验码进行检查:如果校验码检查正确,则将该存储数据进行两两对比匹配;如果校验码检查不正确,则进行下两组存储数据的校验码检查。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210345778.7A CN102866963B (zh) | 2012-09-18 | 2012-09-18 | 控制器数据存储与读取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210345778.7A CN102866963B (zh) | 2012-09-18 | 2012-09-18 | 控制器数据存储与读取方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102866963A CN102866963A (zh) | 2013-01-09 |
CN102866963B true CN102866963B (zh) | 2015-07-22 |
Family
ID=47445841
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210345778.7A Active CN102866963B (zh) | 2012-09-18 | 2012-09-18 | 控制器数据存储与读取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102866963B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3260987B1 (en) * | 2015-03-20 | 2019-03-06 | Huawei Technologies Co., Ltd. | Data reading method, equipment and system |
CN104965676B (zh) * | 2015-06-17 | 2018-10-16 | 深圳市中兴微电子技术有限公司 | 一种随机存取存储器的访问方法、装置及控制芯片 |
CN108388526B (zh) * | 2018-01-19 | 2021-01-05 | 深圳市金玺智控技术有限公司 | 一种读取控制器数据的方法和系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US524638A (en) * | 1894-08-14 | Shears for cardboard | ||
JPH08123734A (ja) * | 1994-10-28 | 1996-05-17 | Fujitsu Ltd | データ格納領域のデータの破壊発生チェック方法及びプログラムの暴走チェック方法、並びにデータ格納領域のデータの破壊発生原因探究方法及びプログラムの暴走原因探究方法 |
US6996582B2 (en) * | 2002-10-03 | 2006-02-07 | Hewlett-Packard Development Company, L.P. | Virtual storage systems and virtual storage system operational methods |
-
2012
- 2012-09-18 CN CN201210345778.7A patent/CN102866963B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN102866963A (zh) | 2013-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10303613B2 (en) | Cache architecture for comparing data | |
CN104461964B (zh) | 一种存储装置 | |
CN104246707B (zh) | 存储系统和存储装置 | |
US9858289B2 (en) | Storage controller and method for managing a solid-state memory | |
US20150154061A1 (en) | Page retirement in a nand flash memory system | |
CN103106143B (zh) | 固态储存装置及其逻辑至实体对应表建立方法 | |
CN104794070A (zh) | 基于动态非覆盖raid技术的固态闪存写缓存系统及方法 | |
WO2016094025A1 (en) | Performing an atomic write operation across multiple storage devices | |
CN104903864A (zh) | 选择性错误校正码和存储器访问粒度切换 | |
JP2005339561A5 (zh) | ||
US20120260148A1 (en) | System and method for handling bad bit errors | |
CN109117383B (zh) | 管理闪存模块的方法和闪存控制器 | |
GB2582097A (en) | Protecting in-memory configuration state registers | |
US9424195B2 (en) | Dynamic remapping of cache lines | |
CN102866963B (zh) | 控制器数据存储与读取方法 | |
CN107992376A (zh) | Dsp处理器数据存储器主动容错方法和装置 | |
CN103729306A (zh) | 经由地址范围检查的多cpu块无效操作绕过 | |
US10649672B1 (en) | Offloading device maintenance to an external processor in low-latency, non-volatile memory | |
KR20130048595A (ko) | 제한된 리소스 환경에서의 안정적인 중복 데이터 제거 장치 및 방법 | |
CN105210046A (zh) | 存储器等待时间管理 | |
CN103208313A (zh) | 一种检测方法及系统 | |
US9106260B2 (en) | Parity data management for a memory architecture | |
US11366608B2 (en) | Method, electronic device and computer readable storage medium for i/o management | |
CN105027084B (zh) | 在移动通信系统中控制存储器的装置和方法 | |
CN103092725B (zh) | 一种实现存储器中数据备份的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |