本技術(shù)涉及通信,尤其涉及一種數(shù)據(jù)處理系統(tǒng)、存儲器、數(shù)據(jù)讀寫方法及設(shè)備。
背景技術(shù):
1、內(nèi)存尋址通常是指根據(jù)處理器發(fā)送的邏輯地址定位到內(nèi)存中存儲顆粒中bank的某個位置。在一些存儲器中,邏輯地址上的數(shù)據(jù)通常是分布在各個存儲顆粒中的,該各個存儲顆粒是共享該邏輯地址的。也即在內(nèi)存尋址的過程中,需要確定該各個存儲顆粒中bank的某個位置,也即需要定位多個位置。
2、事實上,由于存儲器內(nèi)部電路的設(shè)計,存儲顆粒的bank可能包括多個出錯率范圍不同的區(qū)域,若內(nèi)存尋址時,該多個位置均位于所屬bank中出錯率范圍最高的區(qū)域,那么,在該邏輯地址上進(jìn)行數(shù)據(jù)讀寫時出錯的概率將會翻倍增大。相反的,若內(nèi)存尋址時,該多個位置均位于所屬bank中出錯率范圍最低的區(qū)域,那么,在該邏輯地址上進(jìn)行數(shù)據(jù)讀寫時出錯的概率將大幅度減少。
3、可見,基于已有的內(nèi)存尋址方式,該存儲器整體的出錯率會隨著邏輯地址的變化而發(fā)生變化,存儲器整體的出錯率并不穩(wěn)定,這也對后續(xù)將存儲器設(shè)計為具備糾錯能力的存儲器增大了難度。
技術(shù)實現(xiàn)思路
1、本技術(shù)實施例提供的一種數(shù)據(jù)處理系統(tǒng)、存儲器、數(shù)據(jù)讀寫方法及設(shè)備,用以穩(wěn)定存儲器的出錯率。
2、第一方面,本技術(shù)實施例提供了一種數(shù)據(jù)處理系統(tǒng),該數(shù)據(jù)處理系統(tǒng)包括處理器以及存儲器。
3、處理器向存儲器發(fā)送讀寫請求,該讀寫請求用于請求對存儲器進(jìn)行數(shù)據(jù)讀寫,讀寫請求中攜帶有數(shù)據(jù)的邏輯地址。
4、存儲器在接收該讀寫請求后,將邏輯地址映射到存儲器的n個存儲顆粒的bank上的目標(biāo)位置,對n個存儲顆粒的bank上的目標(biāo)位置進(jìn)行數(shù)據(jù)讀寫;其中,n個存儲顆粒的bank上的目標(biāo)位置分布在不同的區(qū)域,n為正整數(shù),bank上的區(qū)域是基于出錯率劃分形成的,不同區(qū)域的出錯率不同。
5、通過上述系統(tǒng),對于同一個邏輯地址,存儲器將該邏輯地址映射到n個存儲顆粒的bank上的目標(biāo)位置,該n個目標(biāo)位置分布在不同的區(qū)域內(nèi)。n個目標(biāo)位置不再位于相同的區(qū)域內(nèi),使得在對存儲器的單次讀寫的過程中,存儲器的出錯率不會因為邏輯地址的不同而發(fā)生明顯波動,保證存儲器的出錯率穩(wěn)定在一個較小的范圍內(nèi)。
6、在一種可能的實現(xiàn)方式中,存儲器具備地址重映射功能,存儲器對外提供該地址重映射功能的使能選項。例如,處理器在發(fā)送讀寫請求之前,向存儲器發(fā)送地址重映射指令,地址重映射指令用于使能存儲器的地址重映射功能,這樣處理器能夠根據(jù)實際需要使能存儲器的地址重映射功能。
7、在一種可能的實現(xiàn)方式中,存儲器包括n個第一地址重映射模塊,每個存儲顆粒對應(yīng)一個第一地址重映射模塊,控制電路在接收到地址重映射指令后,根據(jù)地址重映射指令控制m個第一地址重映射模塊處于工作狀態(tài),其中,m為正整數(shù),m不大于n。
8、其中,任一處于工作狀態(tài)的第一地址重映射模塊對邏輯地址轉(zhuǎn)換后的物理地址進(jìn)行修改,修改后的物理地址指向第一地址重映射模塊對應(yīng)的存儲顆粒的bank上的目標(biāo)位置。
9、通過上述系統(tǒng),處于工作狀態(tài)的第一地址重映射模塊能夠修改物理地址,由于n個存儲顆粒中m個存儲顆粒對應(yīng)的第一地址重映射模塊能夠修改該物理地址,使得m個存儲顆粒所獲取的物理地址不完全相同,進(jìn)一步保證邏輯地址最終能夠映射到n個存儲顆粒的不同區(qū)域內(nèi)的目標(biāo)位置上。
10、在一種可能的實現(xiàn)方式中,處于工作狀態(tài)的第一地址重映射模塊在對物理地址進(jìn)行修改時,可以對物理地址中指向bank中行和/或列的字段進(jìn)行修改。
11、通過上述系統(tǒng),處于工作狀態(tài)的第一地址重映射模塊只需改變物理地址中的部分字段,即可保證邏輯地址最終能夠映射到n個存儲顆粒的不同區(qū)域內(nèi)的目標(biāo)位置上,實現(xiàn)方式較為簡單。
12、在一種可能的實現(xiàn)方式中,未處于工作狀態(tài)的第一地址重映射模塊不對物理地址進(jìn)行修改,維持物理地址中各個字段不變,物理地址指向第一地址重映射模塊對應(yīng)的存儲顆粒的bank上的目標(biāo)位置。
13、通過上述系統(tǒng),處于工作狀態(tài)的第一地址重映射模塊與未處于工作狀態(tài)的第一地址重映射模塊對物理地址的處理方式不同,最終能夠保證n個存儲顆粒所獲得的n個物理地址是不同的,不同的n個物理地址映射到n個存儲顆粒的bank的目標(biāo)地址也將屬于不同的區(qū)域。
14、在一種可能的實現(xiàn)方式中,任一存儲顆粒根據(jù)從所對應(yīng)的第一地址重映射模塊獲取的物理地址確定存儲顆粒的bank上的目標(biāo)位置,對目標(biāo)位置進(jìn)行數(shù)據(jù)讀寫。其中,存儲顆粒從處于工作狀態(tài)的第二地址重映射模塊所獲取的物理地址為修改后的物理地址,存儲顆粒從未處于工作狀態(tài)的第二地址重映射模塊所獲取的物理地址為原始的物理地址。
15、通過上述系統(tǒng),n個存儲顆粒從所對應(yīng)的第一地址重映射模塊獲取的物理地址不再是完全相同的,最終確定的存儲顆粒的bank上的目標(biāo)位置也不同。
16、在一種可能的實現(xiàn)方式中,在前述說明中,存儲器的地址重映射功能通過直接修改邏輯地址轉(zhuǎn)換的物理地址來實現(xiàn)的。存儲器的地址重映射功能也可以通過修改邏輯地址來實現(xiàn)。下面對這種實現(xiàn)方式進(jìn)行說明??刂齐娐钒╪個第二地址重映射模塊,每個存儲顆粒對應(yīng)一個第二地址重映射模塊。
17、控制電路根據(jù)地址重映射指令控制m個第二地址重映射模塊處于工作狀態(tài),其中,m不大于n。
18、任一處于工作狀態(tài)的第二地址重映射模塊對邏輯地址進(jìn)行修改,修改后的邏輯地址映射到第二地址重映射模塊對應(yīng)的存儲顆粒的bank上的目標(biāo)位置。
19、通過上述系統(tǒng),處于工作狀態(tài)的第二地址重映射模塊能夠修改邏輯地址,由于n個存儲顆粒中m個存儲顆粒對應(yīng)的第二地址重映射模塊能夠修改該邏輯地址,使得m個存儲顆粒所獲取的由該邏輯地址轉(zhuǎn)換后的物理地址不完全相同,進(jìn)一步保證邏輯地址最終能夠映射到n個存儲顆粒的不同區(qū)域內(nèi)的目標(biāo)位置上。
20、在一種可能的實現(xiàn)方式中,處于工作狀態(tài)的第二地址重映射模塊對邏輯地址中指向bank中行和/或列的字段進(jìn)行修改。
21、通過上述系統(tǒng),處于工作狀態(tài)的第二地址重映射模塊只需改變邏輯地址中的部分字段,即可保證邏輯地址最終能夠映射到n個存儲顆粒的不同區(qū)域內(nèi)的目標(biāo)位置上,實現(xiàn)方式較為簡單。
22、在一種可能的實現(xiàn)方式中,未處于工作狀態(tài)的第二地址重映射模塊維持邏輯地址中各個字段不變。邏輯地址指向第一地址重映射模塊對應(yīng)的存儲顆粒的bank上的目標(biāo)位置。
23、通過上述系統(tǒng),處于工作狀態(tài)的第二地址重映射模塊與未處于工作狀態(tài)的第二地址重映射模塊對邏輯地址的處理方式不同,最終能夠保證n個存儲顆粒所獲得的n個物理地址是不同的,不同的n個物理地址映射到n個存儲顆粒的bank的目標(biāo)位置也將屬于不同的區(qū)域。
24、在一種可能的實現(xiàn)方式中,控制電路包括地址轉(zhuǎn)換模塊;地址轉(zhuǎn)換模塊將從第二地址重映射模塊獲取的邏輯地址轉(zhuǎn)換為物理地址;將物理地址發(fā)送給第二地址重映射模塊對應(yīng)的存儲顆粒。其中,地址轉(zhuǎn)換模塊從處于工作狀態(tài)的第二地址重映射模塊所獲取的邏輯地址為修改后的邏輯地址,地址轉(zhuǎn)換模塊從未處于工作狀態(tài)的第二地址重映射模塊所獲取的邏輯地址為原始的邏輯地址。
25、通過上述系統(tǒng),地址轉(zhuǎn)換模塊能夠?qū)崿F(xiàn)邏輯地址到物理地址的轉(zhuǎn)換,不同的邏輯地址所轉(zhuǎn)換成的物理地址也將不同,保證存儲器所接收到的該邏輯地址能夠映射到n個存儲顆粒的bank、分布在不同區(qū)域的目標(biāo)位置。
26、第二方面,本技術(shù)還提供了一種存儲器,存儲器具有實現(xiàn)上述第一方面以及任一可能的是實現(xiàn)方式中存儲器所具備的功能,部分有益效果可以參見第一方面的描述此處不再贅述。該存儲器包括控制電路以及n個存儲顆粒,n為正整數(shù)。
27、在該存儲器中,控制電路接收處理器發(fā)送的讀寫請求,該讀取請求用于請求對存儲器進(jìn)行數(shù)據(jù)讀寫,讀寫請求中攜帶有數(shù)據(jù)的邏輯地址??刂齐娐吩诮邮盏皆撟x寫請求后,將該邏輯地址轉(zhuǎn)換為物理地址,將邏輯地址轉(zhuǎn)換后的物理地址分別發(fā)送給存儲器的n個存儲顆粒,物理地址指向存儲器的n個存儲顆粒的bank上的目標(biāo)位置,n個存儲顆粒的bank上的目標(biāo)位置分布在不同的區(qū)域,n為正整數(shù)。不同區(qū)域是基于bank內(nèi)的出錯率劃分形成的,不同區(qū)域的出錯率范圍不同。
28、任一存儲顆粒在接收到物理地址后,對存儲顆粒的bank上的目標(biāo)位置進(jìn)行數(shù)據(jù)讀寫;
29、通過上述存儲器,對于同一個邏輯地址,在存儲器內(nèi)部可以被映射到n個存儲顆粒的bank上的目標(biāo)位置,這n個目標(biāo)位置分布在不同的區(qū)域,保證存儲器的出錯率不會隨著該存儲器所接收到的邏輯地址的不同而發(fā)生明顯波動。
30、在一種可能的實現(xiàn)方式中,控制電路接收處理器發(fā)送的發(fā)送地址重映射指令,地址重映射指令用于使能存儲器的地址重映射功能。
31、在一種可能的實現(xiàn)方式中,存儲器包括n個第一地址重映射模塊,每個存儲顆粒包括一個第一地址重映射模塊,控制電路根據(jù)地址重映射指令控制m個第一地址重映射模塊處于工作狀態(tài),其中,m為正整數(shù),m不大于n。
32、任一處于工作狀態(tài)的第一地址重映射模塊對邏輯地址轉(zhuǎn)換后的物理地址進(jìn)行修改,修改后的物理地址指向第一地址重映射模塊對應(yīng)的存儲顆粒的bank上的目標(biāo)位置。
33、在一種可能的實現(xiàn)方式中,處于工作狀態(tài)的第一地址重映射模塊對物理地址中指向bank中行和/或列的字段進(jìn)行修改。
34、在一種可能的實現(xiàn)方式中,未處于工作狀態(tài)的第一地址重映射模塊維持物理地址中各個字段不變,物理地址指向第一地址重映射模塊對應(yīng)的存儲顆粒的bank上的目標(biāo)位置。
35、在一種可能的實現(xiàn)方式中,任一存儲顆粒根據(jù)從所對應(yīng)的第一地址重映射模塊獲取的物理地址確定存儲顆粒的bank上的目標(biāo)位置,對目標(biāo)位置進(jìn)行數(shù)據(jù)讀寫。其中,存儲顆粒從處于工作狀態(tài)的第一地址重映射模塊獲取的物理地址為修改后的物理地址,存儲顆粒從未處于工作狀態(tài)的第一地址重映射模塊獲取的物理地址為原始的物理地址。
36、在一種可能的實現(xiàn)方式中,控制電路包括n個第二地址重映射模塊,每個存儲顆粒對應(yīng)一個第二地址重映射模塊,控制電路根據(jù)地址重映射指令控制m個第二地址重映射模塊處于工作狀態(tài),其中,m為正整數(shù),m不大于n。
37、任一處于工作狀態(tài)的第二地址重映射模塊對邏輯地址進(jìn)行修改,修改后的邏輯地址指向第二地址重映射模塊對應(yīng)的存儲顆粒的bank上的目標(biāo)位置。
38、在一種可能的實現(xiàn)方式中,處于工作狀態(tài)的第二地址重映射模塊對邏輯地址中指向bank中行和/或列的字段進(jìn)行修改。
39、在一種可能的實現(xiàn)方式中,未處于工作狀態(tài)的第二地址重映射模塊維持邏輯地址中各個字段不變。邏輯地址映射到第二地址重映射模塊對應(yīng)的存儲顆粒的bank上的目標(biāo)位置。
40、在一種可能的實現(xiàn)方式中,控制電路包括地址轉(zhuǎn)換模塊;地址轉(zhuǎn)換模塊將從第二地址重映射模塊獲取的邏輯地址轉(zhuǎn)換為物理地址;將物理地址發(fā)送給第二地址重映射模塊對應(yīng)的存儲顆粒。地址轉(zhuǎn)換模塊從處于工作狀態(tài)的第二地址重映射模塊所獲取的邏輯地址為修改后的邏輯地址,地址轉(zhuǎn)換模塊從未處于工作狀態(tài)的第二地址重映射模塊所獲取的邏輯地址為原始的邏輯地址。
41、第三方面,本技術(shù)還提供了一種數(shù)據(jù)讀寫方法,在該數(shù)據(jù)讀寫方法中,存儲器具有實現(xiàn)上述第一方面以及任一可能的是實現(xiàn)方式中存儲器的功能,有益效果可以參見第一方面的描述此處不再贅述。
42、控制電路接收處理器發(fā)送的讀寫請求,讀取請求用于請求對存儲器進(jìn)行數(shù)據(jù)讀寫,讀寫請求中攜帶有數(shù)據(jù)的邏輯地址;將邏輯地址轉(zhuǎn)換為物理地址,將邏輯地址轉(zhuǎn)換后的物理地址分別發(fā)送給n個存儲顆粒,物理地址指向存儲器的n個存儲顆粒的bank上的目標(biāo)位置,其中,n個存儲顆粒的bank上的目標(biāo)位置分布在不同的區(qū)域;
43、任一存儲顆粒對存儲顆粒的bank上的目標(biāo)位置進(jìn)行數(shù)據(jù)讀寫。
44、在一種可能的實現(xiàn)方式中,控制電路還可以接收處理器發(fā)送的發(fā)送地址重映射指令,地址重映射指令用于使能方法的地址重映射功能。
45、在一種可能的實現(xiàn)方式中,存儲器包括n個第一地址重映射模塊,每個存儲顆粒對應(yīng)一個第一地址重映射模塊,控制電路根據(jù)地址重映射指令控制m個第一地址重映射模塊處于工作狀態(tài),其中,m不大于n。
46、任一處于工作狀態(tài)的第一地址重映射模塊對邏輯地址轉(zhuǎn)換后的物理地址進(jìn)行修改,修改后的物理地址指向第一地址重映射模塊對應(yīng)的存儲顆粒的bank上的目標(biāo)位置。
47、在一種可能的實現(xiàn)方式中,處于工作狀態(tài)的第一地址重映射模塊對邏輯地址轉(zhuǎn)換后的物理地址進(jìn)行修改時,處于工作狀態(tài)的第一地址重映射模塊對物理地址中指向bank中行和/或列的字段進(jìn)行修改。
48、在一種可能的實現(xiàn)方式中,未處于工作狀態(tài)的第一地址重映射模塊維持物理地址中各個字段不變,物理地址指向第一地址重映射模塊對應(yīng)的存儲顆粒的bank上的目標(biāo)位置。
49、在一種可能的實現(xiàn)方式中,任一存儲顆粒對存儲顆粒的bank上的目標(biāo)位置進(jìn)行數(shù)據(jù)讀寫時,任一存儲顆粒根據(jù)從所對應(yīng)的第一地址重映射模塊獲取的物理地址確定存儲顆粒的bank上的目標(biāo)位置,對目標(biāo)位置進(jìn)行數(shù)據(jù)讀寫。
50、在一種可能的實現(xiàn)方式中,控制電路包括n個第二地址重映射模塊,每個存儲顆粒對應(yīng)一個第二地址重映射模塊,控制電路將邏輯地址轉(zhuǎn)換為物理地址時,控制電路根據(jù)地址重映射指令控制m個第二地址重映射模塊處于工作狀態(tài),其中,m不大于n。
51、任一處于工作狀態(tài)的第二地址重映射模塊對邏輯地址進(jìn)行修改,修改后的邏輯地址指向第二地址重映射模塊對應(yīng)的存儲顆粒的bank上的目標(biāo)位置。
52、在一種可能的實現(xiàn)方式中,未處于工作狀態(tài)的第二地址重映射模塊維持邏輯地址中各個字段不變,邏輯地址指向第二地址重映射模塊對應(yīng)的存儲顆粒的bank上的目標(biāo)位置。
53、在一種可能的實現(xiàn)方式中,控制電路包括地址轉(zhuǎn)換模塊;地址轉(zhuǎn)換模塊將從第二地址重映射模塊獲取的邏輯地址轉(zhuǎn)換為物理地址;將物理地址發(fā)送給第二地址重映射模塊對應(yīng)的存儲顆粒。地址轉(zhuǎn)換模塊從處于工作狀態(tài)的第二地址重映射模塊所獲取的邏輯地址為修改后的邏輯地址,地址轉(zhuǎn)換模塊從未處于工作狀態(tài)的第二地址重映射模塊所獲取的邏輯地址為原始的邏輯地址。
54、第四方面,本技術(shù)還提供了一種計算設(shè)備,該計算設(shè)備包括上述第二方面以及第為方面的各個可能的實現(xiàn)方式中提及的存儲器,可選的,還可以包括處理器。
55、第五方面,本技術(shù)還提供一種計算機(jī)可讀存儲介質(zhì),計算機(jī)可讀存儲介質(zhì)中存儲有指令,當(dāng)其在計算機(jī)上運行時,使得計算機(jī)執(zhí)行上述第三方面以及第三方面的各個可能的實現(xiàn)方式中的方法。
56、第六方面,本技術(shù)還提供一種包含指令的計算機(jī)程序產(chǎn)品,當(dāng)其在計算機(jī)上運行時,使得計算機(jī)執(zhí)行上述第三方面以及第三方面的各個可能的實現(xiàn)方式中的方法。
57、第七方面,本技術(shù)還提供一種計算機(jī)芯片,芯片與存儲器相連,芯片用于讀取并執(zhí)行存儲器中存儲的軟件程序,執(zhí)行上述第三方面以及第三方面的各個可能的實現(xiàn)方式中的方法。