本申請涉及存儲,特別涉及一種存儲組件、數(shù)據(jù)寫入方法、數(shù)據(jù)讀取方法及存儲系統(tǒng)。
背景技術(shù):
1、隨機存儲器(random?access?memory,ram)通常作為操作系統(tǒng)或其他正在運行中的程序的臨時數(shù)據(jù)存儲介質(zhì)。
2、相關(guān)技術(shù)中,為了提高存儲系統(tǒng)的讀寫效率,通常會對隨機存儲器設(shè)置多個讀寫端口,從而實現(xiàn)對隨機存儲器進行同時寫入或同時讀取,也就是“多讀多寫”功能。
3、然而,相關(guān)技術(shù)中實現(xiàn)“多讀多寫”的存儲器,為了解決存儲庫(bank)沖突,需要添加更多的外圍電路,提高電路復(fù)雜度。
技術(shù)實現(xiàn)思路
1、本申請實施例提供了一種存儲組件、數(shù)據(jù)寫入方法、數(shù)據(jù)讀取方法及存儲系統(tǒng),能夠在解決bank沖突的情況下,簡化電路復(fù)雜度。所述技術(shù)方案如下。
2、一方面,提供一種存儲組件,所述存儲組件包括:n個存儲器,n個寫端口,n個讀端口,以及,存儲控制器,n為大于或者等于2的整數(shù);
3、n個所述存儲器與n個所述寫端口一一對應(yīng)相連;
4、n個所述存儲器中的每個所述存儲器,與n個所述讀端口分別相連;
5、n個所述寫端口以及n個所述讀端口分別與所述存儲控制器相連;
6、n個所述存儲器對應(yīng)相同的地址空間,且所述存儲控制器中存儲有映射關(guān)系信息,所述映射關(guān)系信息用于指示所述地址空間中的各個地址中存儲的有效數(shù)據(jù)所在的所述存儲器。
7、另一方面,提供了一種數(shù)據(jù)寫入方法,所述方法由存儲組件中的存儲控制器執(zhí)行,所述存儲組件是如上所述的存儲組件;所述方法包括:
8、獲取第一寫端口接收到的第一寫請求,所述第一寫端口是n個所述寫端口中的任意一個;
9、將所述第一寫請求對應(yīng)的數(shù)據(jù),寫入第一存儲器中的第一地址;所述第一存儲器是所述第一寫端口對應(yīng)的所述存儲器,所述第一地址是所述第一寫請求的寫入地址;
10、在所述映射關(guān)系信息中將所述第一地址中存儲的有效數(shù)據(jù)所在的所述存儲器,設(shè)置為所述第一存儲器。
11、在一些實施例中,所述映射關(guān)系信息中包含所述地址空間中的各個地址分別對應(yīng)的映射值;
12、所述在所述映射關(guān)系信息中將所述第一地址中存儲的有效數(shù)據(jù)所在的所述存儲器,設(shè)置為所述第一存儲器,包括:
13、將所述映射關(guān)系信息中,與所述第一地址對應(yīng)的映射值設(shè)置為第一映射值,所述第一映射值用于指示所述第一地址中存儲的有效數(shù)據(jù)位于所述第一存儲器。
14、在一些實施例中,所述將第一寫請求對應(yīng)的數(shù)據(jù),寫入第一存儲器中的第一地址,包括:
15、響應(yīng)于不存在第二寫請求,將所述第一寫請求對應(yīng)的數(shù)據(jù),寫入第一存儲器中的第一地址;
16、其中,所述第二寫請求是第二寫端口接收到的寫請求,所述第一寫請求和所述第二寫請求同時被接收,且所述第二寫請求的寫入地址為所述第一地址。
17、在一些實施例中,所述方法還包括:
18、響應(yīng)于存在所述第二寫請求,且所述第二寫請求的寫入內(nèi)容與所述寫請求的寫入內(nèi)容不同,執(zhí)行以下操作中的一種:
19、不執(zhí)行所述第一寫請求和所述第二寫請求;或,
20、執(zhí)行所述第一寫請求和所述第二寫請求中的一個,且取消所述第一寫請求和所述第二寫請求中的另一個;或,
21、執(zhí)行所述第一寫請求以及所述第二寫請求,且在所述映射關(guān)系信息中,將所述第一地址中存儲的有效數(shù)據(jù)所在的所述存儲器,設(shè)置為所述第一存儲器以及第二存儲器中的一個;所述第二存儲器是所述第二寫端口對應(yīng)的所述存儲器。
22、在一些實施例中,所述方法還包括:
23、響應(yīng)于存在所述第二寫請求,且所述第二寫請求的寫入內(nèi)容與所述寫請求的寫入內(nèi)容相同,執(zhí)行所述第一寫請求以及所述第二寫請求,且在所述映射關(guān)系信息中,將所述第一地址中存儲的有效數(shù)據(jù)所在的所述存儲器,設(shè)置為所述第一存儲器以及第二存儲器;所述第二存儲器是所述第二寫端口對應(yīng)的所述存儲器。
24、在一些實施例中,所述方法還包括:向地址生成單元提供所述映射關(guān)系信息,以便所述地址生成單元根據(jù)所述映射關(guān)系信息,生成寫入地址不同的多個寫請求,多個所述寫請求用于同時發(fā)送至n個所述寫端口中不同的所述寫端口。
25、另一方面,提供了一種數(shù)據(jù)讀取方法,所述方法由存儲組件中的存儲控制器執(zhí)行,所述存儲組件是如上所述的存儲組件;所述方法包括:
26、獲取第一讀端口接收到的第一讀請求,所述第一讀端口是n個所述讀端口中的任意一個;
27、基于所述映射關(guān)系信息,查詢第二地址中存儲的有效數(shù)據(jù)所在的所述存儲器;所述第二地址是所述第一讀請求的讀取地址;
28、從查詢到的所述存儲器中的所述第二地址讀取數(shù)據(jù);
29、通過所述第一讀端口返回讀取的數(shù)據(jù)。
30、在一些實施例中,所述映射關(guān)系信息中包含所述地址空間中的各個地址分別對應(yīng)的映射值,
31、所述基于映射關(guān)系信息,查詢第二地址中存儲的有效數(shù)據(jù)所在的存儲器,包括:
32、查詢所述映射關(guān)系信息中,與所述第二地址對應(yīng)的映射值;
33、將所述映射值對應(yīng)的所述存儲器,確定為所述第二地址中存儲的有效數(shù)據(jù)所在的所述存儲器。
34、在一些實施例中,所述基于映射關(guān)系信息,查詢第二地址中存儲的有效數(shù)據(jù)所在的存儲器,包括:
35、響應(yīng)于不存在第二讀請求,基于所述映射關(guān)系信息,查詢第二地址中存儲的有效數(shù)據(jù)所在的所述存儲器;
36、其中,所述第二讀請求是第二讀端口接收到的讀請求,所述第一讀請求和所述第二讀請求同時被接收,且所述第二讀請求的讀取地址與所述第二地址沖突。
37、在一些實施例中,所述方法還包括:
38、響應(yīng)于存在所述第二讀請求,執(zhí)行以下操作中的一種:
39、不執(zhí)行所述第一讀請求和所述第二讀請求;或,
40、執(zhí)行所述第一讀請求和所述第二讀請求中的一個,且取消所述第一讀請求和所述第二讀請求中的另一個。
41、在一些實施例中,所述方法還包括:向地址生成單元提供所述映射關(guān)系信息,以便所述地址生成單元根據(jù)所述映射關(guān)系信息,生成讀取地址不沖突的多個讀請求,多個所述讀請求用于同時發(fā)送至n個所述讀端口中不同的所述讀端口。
42、另一方面,提供了一種存儲系統(tǒng),所述存儲系統(tǒng)包括至少一個如上所述的存儲組件。
43、本申請實施例提供的技術(shù)方案帶來的有益效果至少包括:
44、通過n個存儲器,n個寫端口,n個讀端口,以及,存儲控制器組成存儲組件,n為大于或者等于2的整數(shù);其中,n個存儲器與n個寫端口一一對應(yīng)相連,n個存儲器中的每個存儲器,與n個讀端口分別相連,并且,通過映射關(guān)系信息來指示n個存儲器對應(yīng)相同的地址空間中,各個地址中存儲的有效數(shù)據(jù)所在的存儲器,從而能夠?qū)崿F(xiàn)一種多讀多寫的存儲系統(tǒng),同時能夠節(jié)約存儲組件所占的面積。
1.一種存儲組件,其特征在于,所述存儲組件包括:n個存儲器,n個寫端口,n個讀端口,以及,存儲控制器,n為大于或者等于2的整數(shù);
2.根據(jù)權(quán)利要求1所述的存儲組件,其特征在于,所述存儲控制器,用于,
3.根據(jù)權(quán)利要求2所述的存儲組件,其特征在于,所述映射關(guān)系信息中包含所述地址空間中的各個地址分別對應(yīng)的映射值;
4.根據(jù)權(quán)利要求2所述的存儲組件,其特征在于,所述存儲控制器,用于,
5.根據(jù)權(quán)利要求4所述的存儲組件,其特征在于,所述存儲控制器,還用于,
6.根據(jù)權(quán)利要求4所述的存儲組件,其特征在于,所述存儲控制器,還用于,
7.根據(jù)權(quán)利要求2所述的存儲組件,其特征在于,所述存儲控制器,還用于向地址生成單元提供所述映射關(guān)系信息,以便所述地址生成單元根據(jù)所述映射關(guān)系信息,生成寫入地址不同的多個寫請求,多個所述寫請求用于同時發(fā)送至n個所述寫端口中不同的所述寫端口。
8.根據(jù)權(quán)利要求1所述的存儲組件,其特征在于,所述存儲控制器,用于,
9.根據(jù)權(quán)利要求8所述的存儲組件,其特征在于,所述映射關(guān)系信息中包含所述地址空間中的各個地址分別對應(yīng)的映射值,
10.根據(jù)權(quán)利要求8所述的存儲組件,其特征在于,所述存儲控制器,用于,
11.根據(jù)權(quán)利要求10所述的存儲組件,其特征在于,所述存儲控制器,還用于,
12.根據(jù)權(quán)利要求8所述的存儲組件,其特征在于,所述存儲控制器,還用于向地址生成單元提供所述映射關(guān)系信息,以便所述地址生成單元根據(jù)所述映射關(guān)系信息,生成讀取地址不沖突的多個讀請求,多個所述讀請求用于同時發(fā)送至n個所述讀端口中不同的所述讀端口。
13.根據(jù)權(quán)利要求1至12任一所述的存儲組件,其特征在于,n個所述讀端口在第一時刻同時接收到的讀請求的讀取地址,與n個所述寫端口在第二時刻同時接收到的寫請求的寫入地址相同;
14.一種數(shù)據(jù)寫入方法,其特征在于,所述方法由存儲組件中的存儲控制器執(zhí)行,所述存儲組件是如權(quán)利要求1至13任一所述的存儲組件;所述方法包括:
15.一種數(shù)據(jù)讀取方法,其特征在于,所述方法由存儲組件中的存儲控制器執(zhí)行,所述存儲組件是如權(quán)利要求1至13任一所述的存儲組件;所述方法包括:
16.一種存儲系統(tǒng),其特征在于,所述存儲系統(tǒng)包括至少一個如權(quán)利要求1至13任一所述的存儲組件。
17.根據(jù)權(quán)利要求16所述的存儲系統(tǒng),其特征在于,所述存儲系統(tǒng),還包括地址生成單元;所述地址生成單元包括地址生成器和請求控制器;
18.根據(jù)權(quán)利要求16所述的存儲系統(tǒng),其特征在于,所述存儲組件,還包括地址生成單元;所述地址生成單元包括地址生成器、讀請求隊列、以及請求選擇器;
19.根據(jù)權(quán)利要求16所述的存儲系統(tǒng),其特征在于,n的數(shù)值為2,所述存儲組件,還包括地址生成單元、讀請求重發(fā)緩存器以及選擇電路;
20.根據(jù)權(quán)利要求16所述的存儲系統(tǒng),其特征在于,n的數(shù)值為2,所述存儲組件,還包括地址生成單元、讀請求重發(fā)緩存器、第一選擇電路以及第二選擇電路;