本申請涉及電子信息,特別涉及一種存儲器、數據存儲方法、芯片及電子設備。
背景技術:
1、在電子信息技術領域,存儲器通過不同的物理介質記錄電子信號,實現電子信號對應的數據的存儲。數據在存儲器中存儲的過程中,可能會因為多種因素的影響發生改變,導致從存儲器中讀取到的數據可能與存入的數據不同,從而影響后續根據讀取的數據進行數據處理的準確性。
技術實現思路
1、本申請提供了一種存儲器、數據存儲方法、芯片及電子設備,可用于提高輸出的數據的準確性。技術方案如下:
2、一方面,本申請提供了一種存儲器,存儲器包括存儲模塊和輸出模塊;存儲模塊,用于對原始數據進行冗余存儲,得到第一數據和第二數據;輸出模塊,用于對第一數據和第二數據進行邏輯運算,得到第一運算結果數據;基于第一運算結果數據,輸出第三數據。
3、在一種可能的實現方式中,輸出模塊,用于根據第一運算結果數據和校驗數據生成規則生成第一校驗數據;根據第一校驗數據和第二校驗數據的第一比較結果,確定第三數據,第二校驗數據根據校驗數據生成規則和原始數據生成。
4、在一種可能的實現方式中,輸出模塊,用于在第一比較結果指示第一校驗數據和第二校驗數據相同的情況下,將第一運算結果數據確定為第三數據;或者,在第一比較結果指示第一校驗數據和第二校驗數據不同的情況下,根據校驗數據生成規則、第一校驗數據、第二校驗數據和第一運算結果數據,恢復得到第三數據。
5、在一種可能的實現方式中,輸出模塊,用于對第一運算結果數據和反相數據進行異或運算,得到第二運算結果數據,反相數據通過對原始數據取反得到;根據第二運算結果數據,確定第三數據。
6、在一種可能的實現方式中,輸出模塊,用于在第二運算結果數據指示第一運算結果數據和反相數據中各組對應比特位的值均不同的情況下,將第一運算結果數據確定為第三數據。
7、在一種可能的實現方式中,輸出模塊,用于在第二運算結果數據指示第一運算結果數據和反相數據中至少一組對應的比特位的值相同且第一運算結果數據中值為第一值的比特位的數量與參考數量相同的情況下,將第一運算結果數據確定為第三數據,參考數量為原始數據中值為第一值的比特位的數量;或者,在第二運算結果數據指示第一運算結果數據和反相數據中至少一組對應的比特位的值相同且反相數據中值為第二值的比特位數量與參考數量相同的情況下,對反相數據取反,得到第三數據,參考數量為原始數據中值為第一值的比特位的數量,第二值與第一值相反。
8、在一種可能的實現方式中,輸出模塊,用于將第一運算結果數據確定為第三數據。
9、在一種可能的實現方式中,邏輯運算包括或運算。
10、在一種可能的實現方式中,存儲模塊包括一次性可編程(one?timeprogrammable,otp)單元,otp單元用于存儲第一數據和第二數據。
11、另一方面,提供了一種數據存儲方法,方法包括:對原始數據進行冗余存儲,得到第一數據和第二數據;對第一數據和第二數據進行邏輯運算,得到第一運算結果數據;基于第一運算結果數據,輸出第三數據。
12、在一種可能的實現方式中,基于第一運算結果數據,輸出第三數據,包括:根據第一運算結果數據和校驗數據生成規則生成第一校驗數據;根據第一校驗數據和第二校驗數據的第一比較結果,確定第三數據,第二校驗數據根據校驗數據生成規則和原始數據生成;輸出第三數據。
13、在一種可能的實現方式中,根據第一校驗數據和第二校驗數據的第一比較結果,確定第三數據,包括:在第一比較結果指示第一校驗數據和第二校驗數據相同的情況下,將第一運算結果數據確定為第三數據;或者,在第一比較結果指示第一校驗數據和第二校驗數據不同的情況下,根據校驗數據生成規則、第一校驗數據和第二校驗數據恢復第一運算結果數據,得到第三數據。
14、在一種可能的實現方式中,基于第一運算結果數據,輸出第三數據,包括:對第一運算結果數據和反相數據進行異或運算,得到第二運算結果數據,反相數據通過對原始數據取反得到;根據第二運算結果數據,輸出第三數據。
15、在一種可能的實現方式中,根據第二運算結果數據,輸出第三數據,包括:在第二運算結果數據指示第一運算結果數據和反相數據中各組對應比特位的值均不同的情況下,將第一運算結果數據確定為第三數據;輸出第三數據。
16、在一種可能的實現方式中,根據第二運算結果數據,輸出第三數據,包括:在第二運算結果數據指示第一運算結果數據和反相數據中至少一組對應的比特位的值相同且第一運算結果數據中值為第一值的比特位的數量與參考數量相同的情況下,將第一運算結果數據確定為第三數據,參考數量為原始數據中值為第一值的比特位的數量;或者,在第二運算結果數據指示第一運算結果數據和反相數據中至少一組對應的比特位的值相同且反相數據中值為第二值的比特位數量與參考數量相同的情況下,對反相數據取反,得到第三數據,參考數量為原始數據中值為第一值的比特位的數量,第二值與第一值相反;輸出第三數據。
17、在一種可能的實現方式中,基于第一運算結果數據,輸出第三數據,包括:將第一運算結果數據確定為第三數據;輸出第三數據。
18、在一種可能的實現方式中,邏輯運算包括或運算。
19、在一種可能的實現方式中,方法應用于存儲器,存儲器包括otp單元,第一數據和第二數據通過otp單元存儲。
20、另一方面,還提供了一種芯片,芯片包括上述的任意一種可能的存儲器。
21、另一方面,還提供了一種電子設備,電子設備包括上述的任意一種可能的存儲器。
22、本申請提供的技術方案至少帶來如下有益效果:
23、本申請中會冗余存儲兩份與原始數據相同的數據,即使存儲的兩份數據在存儲之后可能會發生改變,變為第一數據和第二數據,但是通過對第一數據和第二數據進行邏輯運算,能夠得到相較于第一數據和第二數據更加準確的第一運算結果數據,從而基于第一運算結果數據能夠輸出更加準確的第三數據。
1.一種存儲器,其特征在于,所述存儲器包括存儲模塊和輸出模塊;
2.根據權利要求1所述的存儲器,其特征在于,所述輸出模塊,用于根據所述第一運算結果數據和校驗數據生成規則生成第一校驗數據;根據所述第一校驗數據和第二校驗數據的第一比較結果,確定所述第三數據,所述第二校驗數據根據所述校驗數據生成規則和所述原始數據生成。
3.根據權利要求2所述的存儲器,其特征在于,所述輸出模塊,用于在所述第一比較結果指示所述第一校驗數據和所述第二校驗數據相同的情況下,將所述第一運算結果數據確定為所述第三數據;
4.根據權利要求1所述的存儲器,其特征在于,所述輸出模塊,用于對所述第一運算結果數據和反相數據進行異或運算,得到第二運算結果數據,所述反相數據通過對所述原始數據取反得到;根據所述第二運算結果數據,確定所述第三數據。
5.根據權利要求4所述的存儲器,其特征在于,所述輸出模塊,用于在所述第二運算結果數據指示所述第一運算結果數據和所述反相數據中各組對應比特位的值均不同的情況下,將所述第一運算結果數據確定為所述第三數據。
6.根據權利要求4所述的存儲器,其特征在于,所述輸出模塊,用于在所述第二運算結果數據指示所述第一運算結果數據和所述反相數據中至少一組對應的比特位的值相同且所述第一運算結果數據中值為第一值的比特位的數量與參考數量相同的情況下,將所述第一運算結果數據確定為所述第三數據,所述參考數量為所述原始數據中值為所述第一值的比特位的數量;
7.根據權利要求1所述的存儲器,其特征在于,所述輸出模塊,用于將所述第一運算結果數據確定為所述第三數據。
8.根據權利要求1-7任一所述的存儲器,其特征在于,所述邏輯運算包括或運算。
9.根據權利要求1-8任一所述的存儲器,其特征在于,所述存儲模塊包括一次性可編程單元,所述一次性可編程單元用于存儲所述第一數據和所述第二數據。
10.一種數據存儲方法,其特征在于,所述方法包括:
11.根據權利要求10所述的方法,其特征在于,所述基于所述第一運算結果數據,輸出所述第三數據,包括:
12.根據權利要求11所述的方法,其特征在于,所述根據所述第二運算結果數據,輸出所述第三數據,包括:
13.根據權利要求11所述的方法,其特征在于,所述根據所述第二運算結果數據,輸出所述第三數據,包括:
14.根據權利要求10所述的方法,其特征在于,所述基于所述第一運算結果數據,輸出所述第三數據,包括:
15.一種芯片,其特征在于,所述芯片包括如權利要求1-9任一所述的存儲器。
16.一種電子設備,其特征在于,所述電子設備包括如權利要求1-9任一所述的存儲器。