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