本申請涉及存儲控制,具體涉及一種存儲器地址的生成方法、存儲控制方法和生成裝置。
背景技術(shù):
1、現(xiàn)有的車輛soc芯片內(nèi)部的系統(tǒng)存儲器子系統(tǒng)需要有功能安全保護,通常把數(shù)據(jù)存儲到數(shù)據(jù)存儲器的同時,將對應(yīng)產(chǎn)生的ecc校驗碼存儲到ecc存儲器內(nèi)部。當(dāng)處理器讀取數(shù)據(jù)存儲器內(nèi)部的數(shù)據(jù)時,存儲控制器同時讀取數(shù)據(jù)存儲器和ecc存儲器內(nèi)部的數(shù)據(jù)和ecc校驗碼,進行ecc校驗。
2、目前,數(shù)據(jù)存儲器的地址是基于總線的地址信號得到的,ecc存儲器的地址是基于數(shù)據(jù)存儲器的地址進行邏輯處理得到的,然而,本申請發(fā)現(xiàn),一旦數(shù)據(jù)存儲器和ecc存儲器的地址線存在共因失效問題,但是由于存儲在ecc存儲器中的ecc校驗碼是基于數(shù)據(jù)存儲器中的數(shù)據(jù)匹配得到的,因此,很可能存儲控制器基于從數(shù)據(jù)存儲器中讀取的數(shù)據(jù)和在ecc存儲器中存儲的ecc校驗碼雖然是匹配的,但是由于是從錯誤的地址取出的數(shù)據(jù)和ecc校驗碼,這依然不符合功能安全保護的要求,無法及時地識別出錯誤數(shù)據(jù)并進行校正。
技術(shù)實現(xiàn)思路
1、針對現(xiàn)有技術(shù)中存在的上述技術(shù)問題,提出了本申請。本申請旨在提供一種存儲器地址的生成方法、存儲控制方法和生成裝置,其能夠避免地址線共因失效的問題,提高功能安全保護的效果。
2、根據(jù)本申請的第一方案,提供一種存儲器地址的生成方法,所述存儲器地址包括數(shù)據(jù)存儲器地址和ecc存儲器地址,所述生成方法包括:利用soc系統(tǒng)內(nèi)的存儲控制器,基于來自所述soc系統(tǒng)的總線的地址信號得到數(shù)據(jù)存儲器地址,將來自所述總線的數(shù)據(jù)按照由數(shù)據(jù)儲存器地址的最低位到最高位的訪問順序?qū)?yīng)存儲到數(shù)據(jù)存儲單元中;基于所述存儲控制器所處的模式,獲取所述ecc存儲器地址,并將獲取的ecc校驗碼按照由ecc存儲器地址的最高位到最低位的訪問順序?qū)?yīng)存儲到ecc存儲單元中。
3、根據(jù)本申請的第二方案,提供一種基于soc系統(tǒng)的存儲控制方法,所述存儲控制方法包括:利用soc系統(tǒng)內(nèi)的存儲控制器,基于來自所述soc系統(tǒng)的總線的地址信號得到數(shù)據(jù)存儲器地址,將來自所述總線的數(shù)據(jù)按照由數(shù)據(jù)儲存器地址的最低位到最高位的訪問順序?qū)?yīng)存儲到數(shù)據(jù)存儲單元中;基于所述存儲控制器所處的模式,獲取ecc存儲器地址,并將獲取的ecc校驗碼按照由ecc存儲器地址的最高位到最低位的訪問順序?qū)?yīng)存儲到ecc存儲單元中;按照由數(shù)據(jù)儲存器地址的最低位到最高位的訪問順序從所述數(shù)據(jù)存儲單元中讀取目標(biāo)數(shù)據(jù),并基于讀取到的目標(biāo)數(shù)據(jù)生成第二ecc校驗碼;按照由ecc存儲器地址的最高位到最低位的訪問順序從所述ecc存儲單元中讀取第一ecc校驗碼,通過比較所述第二ecc校驗碼和第一ecc校驗碼,來判斷所述數(shù)據(jù)是否存在錯誤。
4、根據(jù)本申請的第三方案,提供一種存儲器地址的生成裝置,所述存儲器地址包括數(shù)據(jù)存儲器地址和ecc存儲器地址,所述生成裝置包括存儲控制器,所述存儲控制器包括第一地址譯碼模塊、第二地址譯碼模塊和第二反相器,所述存儲控制器配置為:利用所述第一地址譯碼模塊,基于來自所述soc系統(tǒng)的總線的地址信號得到數(shù)據(jù)存儲器地址,將來自所述總線的數(shù)據(jù)按照由數(shù)據(jù)儲存器地址的最低位到最高位的訪問順序?qū)?yīng)存儲到數(shù)據(jù)存儲單元中;利用所述第二地址譯碼模塊,根據(jù)存儲控制器所處的模式,獲取所述ecc存儲器地址,并利用所述第二反相器,并將獲取的ecc校驗碼按照由ecc存儲器地址的最高位到最低位的訪問順序?qū)?yīng)存儲到ecc存儲單元中。
5、根據(jù)本申請的第四方案,提供一種soc芯片,所述soc芯片包括存儲控制器,所述存儲控制器配置為執(zhí)行本申請各個實施例所述的存儲器地址的生成方法。
6、與現(xiàn)有技術(shù)相比,本申請實施例的有益效果在于:
7、本申請實施例提供的存儲器地址的生成方法,利用存儲控制器基于地址信號得到數(shù)據(jù)存儲器地址,該數(shù)據(jù)存儲器地址作為數(shù)據(jù)存儲單元的物理地址,將來自所述總線的數(shù)據(jù)按照由數(shù)據(jù)儲存器地址的最低位到最高位的訪問順序?qū)?yīng)存儲到數(shù)據(jù)存儲單元中。并且,利用存儲控制器獲取ecc存儲器地址,并將獲取的ecc校驗碼按照由ecc存儲器地址的最高位到最低位的訪問順序?qū)?yīng)存儲到ecc存儲單元中。
8、將ecc校驗碼按照由ecc存儲器地址的最高位到最低位的訪問順序?qū)?yīng)存儲到ecc存儲單元中,相當(dāng)于將ecc存儲器地址取反,如此,通過控制數(shù)據(jù)存儲單元和ecc存儲單元的物理地址線的生成階段,將ecc校驗碼存儲到取反后的ecc存儲器地址對應(yīng)的ecc存儲單元中,能夠有效避免地址線共因失效問題。
9、而且,存儲控制器在訪問ecc存儲單元時,按照由高位到低位的訪問順序讀取ecc校驗碼,通過比較基于從數(shù)據(jù)存儲單元讀取的數(shù)據(jù)和從ecc存儲單元中讀取出的ecc校驗碼,能夠準(zhǔn)確地判斷出存入到數(shù)據(jù)存儲單元中的數(shù)據(jù)是否存在錯誤,從而及時地識別出出錯的數(shù)據(jù),提高功能安全保護的效果。
10、此外,基于本申請的生成方法,將ecc存儲器地址取反用于ecc校驗碼存儲,能夠使得存儲控制器在使能ecc模式和不使能ecc模式之間自由切換,而無需因為兩種模式的切換帶來額外的處理步驟,增加處理繁瑣度。
11、上述說明僅是本申請技術(shù)方案的概述,為了能夠更清楚了解本申請的技術(shù)手段,而可依照說明書的內(nèi)容予以實施,并且為了讓本申請的上述說明和其它目的、特征和優(yōu)點能夠更明顯易懂,以下特舉本申請的具體實施方式。
1.一種存儲器地址的生成方法,其特征在于,所述存儲器地址包括數(shù)據(jù)存儲器地址和ecc存儲器地址,所述生成方法包括:
2.根據(jù)權(quán)利要求1所述的生成方法,其特征在于,所述存儲控制器支持使能ecc模式和不使能ecc模式,所述生成方法還包括:
3.根據(jù)權(quán)利要求2所述的生成方法,其特征在于,所述生成方法還包括:
4.根據(jù)權(quán)利要求2所述的生成方法,其特征在于,在所述存儲控制器處于使能ecc模式的情況下,所述存儲控制器生成所述數(shù)據(jù)存儲器地址的第一電路,與生成取反的ecc存儲器地址的第二電路不能復(fù)用。
5.根據(jù)權(quán)利要求1所述的生成方法,其特征在于,所述生成方法還包括:
6.一種基于soc系統(tǒng)的存儲控制方法,其特征在于,所述存儲控制方法包括:
7.一種存儲器地址的生成裝置,其特征在于,所述存儲器地址包括數(shù)據(jù)存儲器地址和ecc存儲器地址,所述生成裝置包括存儲控制器,所述存儲控制器包括第一地址譯碼模塊、第二地址譯碼模塊和第二反相器,
8.根據(jù)權(quán)利要求7所述的生成裝置,其特征在于,所述存儲控制器還配置為:
9.根據(jù)權(quán)利要求7所述的生成裝置,其特征在于,所述存儲控制器還包括第一反相器,還配置為:
10.一種soc芯片,其特征在于,所述soc芯片包括存儲控制器,所述存儲控制器配置為執(zhí)行權(quán)利要求1-4任一項所述的存儲器地址的生成方法。