欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種事務提交的方法和裝置的制造方法

文檔序號:9865420閱讀:225來源:國知局
一種事務提交的方法和裝置的制造方法
【技術領域】
[0001]本發(fā)明涉及計算機領域,尤其涉及一種事務提交的方法和裝置。
【背景技術】
[0002]傳統(tǒng)的基于DRAM (Dynamic Random Access Memory,動態(tài)隨機存取存儲器,簡稱DRAM)的內存由于其在擴容能力上的限制,使其越來越成為制約系統(tǒng)計算性能提高的一個重要障礙。一種阻抗性存儲設備(Resistive Memory)逐步呈現出取代現有內存的趨勢。阻抗性存儲設備通過介質不同的阻抗狀態(tài)來存儲分別存儲“O”和“I”的信息。比較有代表性的阻抗性存儲設備包括——相變存儲器(PCM,Phase Change Memory)、磁性隨機存儲器(MRAM, Magnetic Random Access Memory)、自旋轉移力矩隨機存取存儲器(STT-RAM,SpinTorque Transfer Random Access Memory)等。然而,絕大多數的阻抗性存儲設備的寫性能與DRAM有較大差距和壽命也不能達到對Memory所要求的10~15的要求。另外,為了充分發(fā)揮SCM的性能特點,對SCM(Storage Class Memory,存儲級內存,簡稱SCM)中數據訪問方式與傳統(tǒng)的磁盤以及SSD不同,應盡量避免OS (Operat1n System,操作系統(tǒng),簡稱OS)參與,而由應用程序自己控制和維護。
[0003]應用程序對數據的維護需要Transact1n來保證其數據的一致性,在SCM上做事務Transact1n對系統(tǒng)性能和SCM的壽命會產生較大影響。其影響主要表現在三個方面:1、維護原子性會產生的冗余寫,這些冗余寫既降低SCM壽命也影響性能。2、高并發(fā)的Transact1n會導致碰撞,取消的Transact1n中已經寫入SCM的數據也將作廢,對SCM的壽命也會產生影響。3、保證數據的持久性,需要穿過Cache,使用mfence指令和clflush指令分多次將數據寫入SCM中,頻繁的刷寫嚴重降低了 SCM性能。

【發(fā)明內容】

[0004]本發(fā)明實施例所要解決的技術問題在于,提供一種事務提交的方法??山鉀Q現有技術中提交事務時數據刷寫次數過多的問題。
[0005]為了解決上述技術問題,本發(fā)明實施例提供了一種事務提交的方法,包括:
[0006]接收用于向外部存儲器提交事務關聯的M個數據塊的提交請求;其中,所述外部存儲器劃分為N個組,每個組包括I個空閑的存儲單元,M和N為整數,O < M < N ;
[0007]若所述外部存儲器的每個組上待寫入的數據塊的數量均滿足小于2,獲取所述M個數據塊中每個數據塊的元數據;
[0008]確定每個數據塊寫入的組,并將每個數據塊和關聯的元數據分別寫入對應的組的空閑的存儲單元中。
[0009]結合第一方面,在第一種可能的實現方式中,所述若所述外部存儲器的每個組上待寫入的數據塊的數量均滿足小于2,獲取所述M個數據塊中每個數據塊的元數據,還包括:
[0010]獲取版本號計數器的當前計數值;
[0011]將所述當前計數值賦予所述事務作為提交版本號,并將所述版本號計時器的當前計數值加I。
[0012]結合第一方面或第一種可能的實現方式,在第二種可能的實現方式中,所述若所述外部存儲器的每個組上待寫入的數據塊的數量均滿足小于2包括:
[0013]獲取寫入所述外部存儲器的寫操作地址;
[0014]計算每個寫操作地址所屬的組的組號,若計算得到的組號不重復,則確定每個組上待寫入的數據塊的數量滿足小于2。
[0015]結合第一方面的第二種可能的實現方式,在第三種可能的實現方式中,所述確定每個數據塊寫入的組,并將每個數據塊和關聯的元數據分別寫入對應的組的空閑的存儲單元中還包括:
[0016]將第X個數據塊的指針指向第X+1個數據塊所在的組的組物理地址,其中,第M個數據塊的指針指向第I個數據塊所在的組的組物理地址,M為整數,O < X ^M-1o
[0017]結合第一方面的第三種可能的實現方式,在第四種可能的實現方式中,還包括:
[0018]獲取所述外部存儲器的組中占用的存儲單元的組物理地址和組邏輯地址,并將組物理地址和組邏輯地址進行關聯后存儲至動態(tài)隨機訪問存儲器DRAM的映射表中。
[0019]結合第一方面的第四種可能的實現方式,在第五種可能的實現方式中,所述確定每個數據塊寫入的組,并將每個數據塊和關聯的元數據分別寫入對應的組的空閑的存儲單元中之后,還包括:
[0020]接收用于查詢所述外部存儲器中的目標數據塊的查詢請求,所述查詢請求攜帶所述目標數據塊的物理地址;
[0021]根據所述物理地址計算得到所述目標數據塊所在的組的組號和組邏輯地址,并從所述DRAM的映射表中查詢所述目標數據塊所在的組的組邏輯地址關聯的組物理地址;
[0022]根據所述目標數據塊所在的組的組物理地址和組號定位所述外部存儲器中的所述目標數據塊。
[0023]結合第一方面至第五種可能的實現方式中的任意一種,在第六種可能的實現方式中,所述事務關聯的M個數據塊在向所述外部存儲器提交之前存儲在DRAM中。
[0024]相應地,本發(fā)明實施例第二方面還提供了一種事務提交的裝置,包括:
[0025]接收模塊,用于接收用于向外部存儲器提交事務關聯的M個數據塊的提交請求;其中,所述外部存儲器劃分為N個組,每個組包括I個空閑的存儲單元,M和N為整數,O< M ^ N ;
[0026]獲取模塊,用于若所述外部存儲器的每個組上待寫入的數據塊的數量均滿足小于2,獲取所述M個數據塊中每個數據塊的元數據;
[0027]寫入模塊,用于確定每個數據塊寫入的組,并將每個數據塊和關聯的元數據分別寫入對應的組的空閑的存儲單元中。
[0028]結合第二方面,在第一種可能的實現方式中,所述獲取模塊還用于獲取版本號計數器的當前計數值;將所述當前計數值賦予所述事務作為提交版本號,并將所述版本號計時器的當前計數值加I。
[0029]結合第二方面或第一種可能的實現方式,在第二種可能的實現方式中,所述獲取模塊包括:
[0030]獲取單元,用于獲取寫入所述外部存儲器的寫操作地址;
[0031]確定單元,用于計算每個寫操作地址所屬的組的組號,若計算得到的組號不重復,則確定每個組上待寫入的數據塊的數量滿足小于2。
[0032]結合第二種可能的實現方式,在第三種可能的實現方式中,所述寫入模塊還用于將第X個數據塊的指針指向第X+1個數據塊所在的組的物理地址,其中,第M個數據塊的指針指向第I個數據塊所在的組的物理地址,M為整數,O < X ^M-10
[0033]結合第二方面的第三種可能的實現方式,在第四種可能的實現方式中,還包括:
[0034]映射模塊,用于獲取所述外部存儲器的組中占用的存儲單元的組物理地址和組邏輯地址,并將組物理地址和組邏輯地址進行關聯后存儲至動態(tài)隨機訪問存儲器DRAM的映射表中。
[0035]結合第二方面的第四種可能的實現方式,在第五種可能的實現方式中,還包括:
[0036]定位模塊,用于接收用于查詢所述外部存儲器中的目標數據塊的查詢請求,所述查詢請求攜帶所述目標數據塊的物理地址;根據所述物理地址計算得到所述目標數據塊所在的組的組號和組邏輯地址,并從所述DRRM的映射表中查詢所述目標數據塊所在的組的組邏輯地址關聯的組物理地址;根據所述目標數據塊所在的組的組物理地址和組號定位所述外部存儲器中的所述目標數據塊。
[0037]結合第二方面至第五種可能的實現方式中的任意一種,在第六種可能的實現方式中,所述事務關聯的M個數據塊在向所述外部存儲器提交之前存儲在DRAM中。
[0038]實施本發(fā)明實施例,具有如下有益效果:
[0039]外部存儲器劃分為多個組,每個組包括I個空閑的存儲單元,當需要提交事務時,判斷外部存儲器的每個組上待寫入的數據塊的數據是否滿足小于2,若為是,將事務關聯的多個數據塊一次性寫入各自對應的組的空閑的存儲單元中,這樣有效的減少事務提交過程中對外部存儲器的刷寫次數,提高了事務提交的吞吐量。
【附圖說明】
[0040]為了更清楚地說明本發(fā)明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
[0041]圖1是為本發(fā)明第一實施例提供的一種事務提交的方法的流程示意圖;
當前第1頁1 2 3 4 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
清水县| 安康市| 秦皇岛市| 蓬安县| 鲁山县| 开原市| 金坛市| 布尔津县| 安仁县| 遵义县| 新巴尔虎左旗| 枣阳市| 兴宁市| 尖扎县| 都兰县| 开化县| 西华县| 遂溪县| 济南市| 黄大仙区| 宁化县| 石景山区| 广宗县| 万宁市| 思茅市| 宁晋县| 玛沁县| 重庆市| 东安县| 岳西县| 航空| 勃利县| 漳浦县| 青神县| 英超| 招远市| 北碚区| 普兰县| 延川县| 武威市| 榆树市|