專利名稱:減小固態(tài)硬盤寫入放大的方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及固態(tài)硬盤技術(shù),具體涉及一種減小固態(tài)硬盤寫入放大的方法及裝置。
背景技術(shù):
Nand Flash是一種非易失存儲介質(zhì),具有較高的單元密度,可以達到高存儲密度,寫入和擦除速度較快。 目前主流的固態(tài)硬盤均采用Nand Flash芯片作為存儲介質(zhì),也就是通常所說的SSD (Solid State Disk,固態(tài)硬盤),其特別之處在于沒有機械結(jié)構(gòu),利用傳統(tǒng)的NandFlash特性,以區(qū)塊寫入和抹除的方式進行讀寫,因此在讀寫的效率上,非常依賴讀寫技術(shù)上的設(shè)計。與目前的傳統(tǒng)硬盤相較,具有穩(wěn)定、輕薄、存取速度快、發(fā)熱量低等優(yōu)點。
由于Flash具有擦除次數(shù)有限、先擦后寫的特點,會帶來使用壽命有限的缺陷。寫入放大(write amplification)是影響以Nand Flash為介質(zhì)的存儲設(shè)備的隨機寫入性能及壽命的一個重要因素,所謂寫入放大參數(shù)可以定義為每寫入一頁用戶數(shù)據(jù)時,實際平均寫操作的頁數(shù),它始終是大于1的。 為延長SSD預期使用壽命,現(xiàn)有技術(shù)中提供一種采用數(shù)據(jù)塊比對方式來減少寫操作,從而減小寫入放大參數(shù)值。具體采用的方式是對當前需要寫入的數(shù)據(jù)按照Flash塊的大小進行塊的界定,將Flash對應塊中的數(shù)據(jù)讀出并保存。對保存的數(shù)據(jù)和需要寫入的數(shù)據(jù)進行比較,分塊判斷是否所有比特都不產(chǎn)生從"O"到"1"的變化,如果是,則直接將實際需要寫入的數(shù)據(jù)寫入塊內(nèi)相應位置;否則,則對需擦除的塊進行數(shù)據(jù)保護后進行塊擦除,再將實際需要寫入的數(shù)據(jù)寫入塊內(nèi)相應位置。 可見,在現(xiàn)有技術(shù)中,對數(shù)據(jù)塊的判斷需要將Flash中對應的數(shù)據(jù)塊完整地讀出,利用Flash外部的存儲空間逐個比特判斷"O"到"l"的變化,這樣的比對時間長并且會對Flash的傳輸帶寬造成影響。
發(fā)明內(nèi)容
本發(fā)明實施例提供一種減小固態(tài)硬盤寫入放大的方法及裝置,減小固態(tài)硬盤的寫
入放大,提高固態(tài)硬盤的壽命和性能。 為此,本發(fā)明實施例提供如下技術(shù)方案 —種減小固態(tài)硬盤寫入放大的方法,包括 當有新數(shù)據(jù)塊要寫入固態(tài)硬盤時,檢查所述固態(tài)硬盤中是否有與所述新數(shù)據(jù)塊相同的已存在數(shù)據(jù)塊; 如果有,則建立所述新數(shù)據(jù)塊的邏輯塊地址與所述已存在數(shù)據(jù)塊的物理塊地址的對應關(guān)系; 如果沒有,則將所述新數(shù)據(jù)塊寫入所述固態(tài)硬盤。
—種減小固態(tài)硬盤寫入放大的裝置,包括 檢查單元,用于當有新數(shù)據(jù)塊要寫入固態(tài)硬盤時,檢查所述固態(tài)硬盤中是否有與
4所述新數(shù)據(jù)塊相同的已存在數(shù)據(jù)塊; 映射關(guān)系建立單元,用于在所述檢查單元檢查到所述固態(tài)硬盤中有與所述新數(shù)據(jù) 塊相同的已存在數(shù)據(jù)塊時,建立所述新數(shù)據(jù)塊的邏輯塊地址與所述已存在數(shù)據(jù)塊的物理塊 地址的映射關(guān)系; 數(shù)據(jù)寫入單元,用于在所述檢查單元檢查到所述固態(tài)硬盤中沒有與所述新數(shù)據(jù)塊 相同的已存在數(shù)據(jù)塊時,將所述新數(shù)據(jù)塊寫入所述固態(tài)硬盤。 本發(fā)明實施例提供的減小固態(tài)硬盤寫入放大的方法及裝置,針對SSD中的寫入放 大問題,提供了一種判斷主機端寫入的數(shù)據(jù)塊與盤上已有數(shù)據(jù)塊一致性的機制。通過該機 制的判斷,一部分主機的寫入操作可以轉(zhuǎn)化為LBA(Logical Block Address,邏輯塊地址) 與PBA(Physical Block Address,物理塊地址)映射關(guān)系的修改,即當有新數(shù)據(jù)塊要寫入固 態(tài)硬盤時,如果所述固態(tài)硬盤中有與所述新數(shù)據(jù)塊相同的已存在數(shù)據(jù)塊,則建立新數(shù)據(jù)塊 的邏輯塊地址與已存在數(shù)據(jù)塊的物理塊地址的對應關(guān)系,不需要執(zhí)行實際的對Flash的寫 入操作,從而減小SSD的寫入放大,提高SSD的壽命與性能。
為了更清楚地說明本申請實施例中的技術(shù)方案,下面將對實施例描述中所需要使 用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請中記載的一些實施 例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖 獲得其他的附圖。
圖1是本發(fā)明實施例減小固態(tài)硬盤寫入放大的方法的流程圖; 圖2是本發(fā)明實施例減小固態(tài)硬盤寫入放大的方法的一種具體實現(xiàn)流程圖; 圖3是本發(fā)明實施例中Hash值按照邏輯塊地址管理時固態(tài)硬盤寫入的流程圖; 圖4是本發(fā)明實施例中Hash值按照物理塊地址管理時固態(tài)硬盤寫入的流程圖; 圖5是本發(fā)明實施例減小固態(tài)硬盤寫入放大的裝置的一種結(jié)構(gòu)示意圖; 圖6是本發(fā)明實施例減小固態(tài)硬盤寫入放大的裝置的一種具體實現(xiàn)結(jié)構(gòu)示意圖。
具體實施例方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明實施例的方案,下面結(jié)合附圖和實施 方式對本發(fā)明實施例作進一步的詳細說明。 本發(fā)明實施例提供的減小固態(tài)硬盤寫入放大的方法及裝置,針對SSD中的寫入放
大問題,提供了一種判斷主機端寫入的數(shù)據(jù)塊與盤上已有數(shù)據(jù)塊一致性的機制。通過該機
制的判斷, 一部分主機的寫入操作可以轉(zhuǎn)化為LBA與PBA映射關(guān)系的修改,不需要執(zhí)行實際
的對Flash的寫入操作,從而減小SSD的寫入放大,提高SSD的壽命與性能。 如圖1所示,是本發(fā)明實施例減小固態(tài)硬盤寫入放大的方法的流程圖,包括以下
步驟 步驟IOI,當有新數(shù)據(jù)塊要寫入固態(tài)硬盤時,檢查所述固態(tài)硬盤中是否有與所述新 數(shù)據(jù)塊相同的已存在數(shù)據(jù)塊。如果是,則執(zhí)行步驟102;否則執(zhí)行步驟103。在此,所述數(shù)據(jù) 塊相同是指兩個數(shù)據(jù)塊內(nèi)容完全一致。 步驟102,建立所述新數(shù)據(jù)塊的邏輯塊地址與所述已存在數(shù)據(jù)塊的物理塊地址的
5對應關(guān)系。 步驟103,將所述新數(shù)據(jù)塊寫入所述固態(tài)硬盤。 本發(fā)明實施例減小固態(tài)硬盤寫入放大的方法,通過檢查所述固態(tài)硬盤中是否有與 所述新數(shù)據(jù)塊相同的已存在數(shù)據(jù)塊,可以將部分對固態(tài)硬盤中Flash的寫操作轉(zhuǎn)變?yōu)橛成?關(guān)系的修改。因為作為一個存儲介質(zhì),當寫入一段數(shù)據(jù)后,當主機需要讀取這段數(shù)據(jù)時,能 夠準確將數(shù)據(jù)返給主機即可。所述映射關(guān)系就反映了主機的邏輯地址與固態(tài)硬盤盤片的物 理地址的映射關(guān)系,因此可以通過映射表來從固態(tài)硬盤讀取到主機需要的數(shù)據(jù)。因此本發(fā) 明實施例減小固態(tài)硬盤寫入放大的方法,將對Flash的寫操作轉(zhuǎn)換為映射關(guān)系修改,因為 映射關(guān)系修改的代價遠小于一次實際的對Flash的寫操作,從而減小了固態(tài)硬盤的寫入放 大,提高了固態(tài)硬盤的壽命和性能。 需要說明的是,在上述步驟101中,在檢查所述固態(tài)硬盤中是否有與所述新數(shù)據(jù) 塊相同的已存在數(shù)據(jù)塊時,可以通過直接讀取Flash中的已有數(shù)據(jù)塊的方式來實現(xiàn),當然, 也可以通過其他方式來實現(xiàn),比如通過Hash值表的方式,下面對此進行詳細說明。
在這種實現(xiàn)方式中,需要預先建立所述固態(tài)硬盤中數(shù)據(jù)塊的Hash值表,而且,相 對于傳統(tǒng)的寫入過程,增加了對數(shù)據(jù)塊的Hash值計算。 在本發(fā)明實施例中,所述Hash值表可以有多種具體實現(xiàn)方式,比如Hash值表包 括Hash值及所述Hash值對應的邏輯塊地址。當然,所述Hash值表中也可以只包含Hash 值,每個Hash值對應了一個默認的邏輯塊地址。另外,所述Hash值表也可以包括Hash值 及所述Hash值對應的物理塊地址。 在具體應用時,Hash值的計算采用的Hash函數(shù)可根據(jù)對所述固態(tài)硬盤性能的要 求以及實現(xiàn)的難度等因素的平衡來選擇。 參照圖2,是本發(fā)明實施例減小固態(tài)硬盤寫入放大的方法的一種具體實現(xiàn)流程圖, 包括以下步驟 步驟201,當有新數(shù)據(jù)塊要寫入固態(tài)硬盤時,計算所述新數(shù)據(jù)塊的Hash值。
步驟202,根據(jù)所述新數(shù)據(jù)塊的Hash值及Hash值表確定所述固態(tài)硬盤中是否有與 所述新數(shù)據(jù)塊相同的已存在數(shù)據(jù)塊。如果是,則執(zhí)行步驟203 ;否則執(zhí)行步驟204。
步驟203,建立所述新數(shù)據(jù)塊的邏輯塊地址與所述已存在數(shù)據(jù)塊的物理塊地址的 對應關(guān)系。 步驟204,將所述新數(shù)據(jù)塊寫入所述固態(tài)硬盤。 步驟205,將所述新數(shù)據(jù)塊對應的Hash值添加或更新到所述Hash值表中。
在上述步驟202中,可以檢查所述Hash值表,如果所述Hash值表有與所述新數(shù)據(jù) 塊的Hash值相同的Hash值,則確定該Hash值對應的數(shù)據(jù)塊與所述新數(shù)據(jù)塊相同;為了進 一步降低檢查所述Hash值表的時間開銷,減小對固態(tài)硬盤操作性能的影響,還可以只檢查 所述Hash值表中與所述新數(shù)據(jù)塊邏輯塊地址相同的原數(shù)據(jù)塊的Hash值,如果有與所述新 數(shù)據(jù)塊的Hash值相同的Hash值,則確定該Hash值對應的原數(shù)據(jù)塊與所述新數(shù)據(jù)塊相同。
本發(fā)明實施例減小固態(tài)硬盤寫入放大的方法,通過對Hash值的判斷來確定所述 固態(tài)硬盤中是否有與所述新數(shù)據(jù)塊相同的已存在數(shù)據(jù)塊,可以將部分對固態(tài)硬盤中Flash 的寫操作轉(zhuǎn)變?yōu)橛成潢P(guān)系的修改,從而能夠減小固態(tài)硬盤的寫入放大,提高固態(tài)硬盤的壽 命和性能;而且判斷過程簡單易實現(xiàn),帶來的額外開銷小。
6
以盤片數(shù)據(jù)按照4KB page管理為例,進一步詳細說明本發(fā)明實施例減小固態(tài)硬盤寫入放大的方法。 主機數(shù)據(jù)按照4KB對齊的方式劃分后,數(shù)據(jù)地址按照LBN (Logic BlockNumber)管理,即每個LBN對應一個4KB大小的數(shù)據(jù)。 Hash表的管理可以分為兩種方式,一種按照LBN管理,另一種按照PBN(PhysicalBlock Number)管理,所述PBN指示Flash上尋址到page的地址。
—、 Hash值按照LBN管理 如圖3所示,其中,映射表301用于存儲數(shù)據(jù)塊的邏輯塊地址與數(shù)據(jù)塊的物理塊地址的對應關(guān)系,Hash值表302中存儲了 Hash值與數(shù)據(jù)塊的邏輯塊地址的對應關(guān)系。
將主機需要寫入的數(shù)據(jù)按照4KB劃分后,得到一個LBN = 4的數(shù)據(jù)塊,計算Hash值得到hx,假設(shè)hx = h2,則有兩種情況 1、Hash值表中有hx = h2的值,如圖中帶箭頭的實線所示 311.在Hash值表中找到LBN = 2的數(shù)據(jù)塊; 312.根據(jù)Hash值表的LBN = 2,查找映射表得到PBN = c ; 313.查找Hash值表,得到原LBN = 4的PBN為c,則無需再寫入該LBN = 4的數(shù)據(jù)塊,只需將該對應關(guān)系即LBN = 4對應PBN = c寫入映射表3中即可完成此次寫操作。
11、Hash值表中沒有hx = h2的值,如圖中帶箭頭的虛線所示
321.將數(shù)據(jù)塊寫入Flash上一個新的PBN = x的塊后,改寫映射表LBN = 4對應的PBN為x ; 322.改寫Hash值表LBN = 4對應的Hash為hx即可完成此次寫操作。
二 、 Hash值按照PBN管理 如圖4所示,其中,映射表401用于存儲數(shù)據(jù)塊的邏輯塊地址與數(shù)據(jù)塊的物理塊地址的對應關(guān)系,Hash值表402中存儲了 Hash值與數(shù)據(jù)塊的邏輯塊地址的對應關(guān)系。
將主機需要寫入的數(shù)據(jù)按照4KB劃分后,得到一個LBN = 4的數(shù)據(jù)塊,計算Hash值得到hx,假設(shè)hx = h2,則有兩種情況 1、Hash值表中有hx = h2的值,如圖中帶箭頭的實線所示 411.在Hash值表中找到LBN = 2的數(shù)據(jù)塊,并得到對應的PBN = c ; 412.改寫映射表中LBN = 4最對應的PBN為c,即可完成此將寫操作。 11、Hash值表中沒有hx = h2的值,如圖中帶箭頭的虛線所示 421.將數(shù)據(jù)塊寫入Flash上一個新的PBN = x的塊后,改寫映射表中LBN = 4對
應的PBN為x ; 422.將一個PBN = x, Hash = hx的對應項添加到Hash值表中,即可完成此次寫操作。 本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,所述的程序可以存儲于一計算機可讀取存儲介質(zhì)中,所述的存儲介質(zhì),如ROM/RAM、磁碟、光盤等。 相應地,本發(fā)明實施例還提供一種減小固態(tài)硬盤寫入放大的裝置,如圖5所示,是
該裝置的一種結(jié)構(gòu)示意圖。 在該實施例中,所述裝置包括
7
檢查單元501,用于當有新數(shù)據(jù)塊要寫入固態(tài)硬盤時,檢查所述固態(tài)硬盤中是否有 與所述新數(shù)據(jù)塊相同的已存在數(shù)據(jù)塊; 映射關(guān)系建立單元502,用于在所述檢查單元501檢查到所述固態(tài)硬盤中有與所 述新數(shù)據(jù)塊相同的已存在數(shù)據(jù)塊時,建立所述新數(shù)據(jù)塊的邏輯塊地址與所述已存在數(shù)據(jù)塊 的物理塊地址的映射關(guān)系; 數(shù)據(jù)寫入單元503,用于在所述檢查單元501檢查到所述固態(tài)硬盤中沒有與所述 新數(shù)據(jù)塊相同的已存在數(shù)據(jù)塊時,將所述新數(shù)據(jù)塊寫入所述固態(tài)硬盤。 本發(fā)明實施例減小固態(tài)硬盤寫入放大的裝置,通過檢查所述固態(tài)硬盤中是否有與
所述新數(shù)據(jù)塊相同的已存在數(shù)據(jù)塊,可以將部分對固態(tài)硬盤中Flash的寫操作轉(zhuǎn)變?yōu)橛成?br>
關(guān)系的修改,從而能夠減小固態(tài)硬盤的寫入放大,提高固態(tài)硬盤的壽命和性能。 需要說明的是,所述檢查單元501在檢查所述固態(tài)硬盤中是否有與所述新數(shù)據(jù)塊
相同的已存在數(shù)據(jù)塊時,可以通過直接讀取Flash中的已有數(shù)據(jù)塊的方式來實現(xiàn),當然,也
可以通過其他方式來實現(xiàn),比如通過Hash值表的方式,下面對此進行詳細說明。 如圖6所示,是本發(fā)明實施例減小固態(tài)硬盤寫入放大的裝置的一種具體實現(xiàn)結(jié)構(gòu)
示意圖。 與圖5所示實施例不同的是,在該實施例中,所述裝置不僅包括與圖5所述實施例
中一致的檢查單元601、映射關(guān)系建立單元602和數(shù)據(jù)寫入單元603,還進一步包括 Hash值表建立單元604,用于建立所述固態(tài)硬盤中數(shù)據(jù)塊的Hash值表,所述Hash
值表包括Hash值,當然,所述Hash值表也可以包括Hash值及與所述Hash值對應的邏輯
塊地址,具體如前面所述。 所述檢查單元601包括 計算子單元611,用于計算所述新數(shù)據(jù)塊的Hash值; 比較子單元612,用于根據(jù)所述新數(shù)據(jù)塊的Hash值及所述Hash值表確定所述固態(tài) 硬盤中是否有與所述新數(shù)據(jù)塊相同的已存在數(shù)據(jù)塊。 在具體應用時,所述比較子單元612,可以檢查所述Hash值表,如果所述Hash值 表有與所述新數(shù)據(jù)塊的Hash值相同的Hash值,則確定該Hash值對應的數(shù)據(jù)塊與所述新數(shù) 據(jù)塊相同。當然,為了進一步降低檢查所述Hash值表的時間開銷,減小對固態(tài)硬盤操作性 能的影響,所述比較子單元612,還可以只檢查所述Hash值表中與所述新數(shù)據(jù)塊邏輯塊地 址相同的原數(shù)據(jù)塊的Hash值,如果有與所述新數(shù)據(jù)塊的Hash值相同的Hash值,則確定該 Hash值對應的原數(shù)據(jù)塊與所述新數(shù)據(jù)塊相同。
在該實施例中,所述裝置還可進一步包括 Hash值表修改單元605,用于在所述數(shù)據(jù)寫入單元603將所述新數(shù)據(jù)塊寫入所述
固態(tài)硬盤后,將所述新數(shù)據(jù)塊對應的Hash值添加或更新到所述Hash值表中。 本發(fā)明實施例減小固態(tài)硬盤寫入放大的裝置,通過對Hash值的判斷來確定所述
固態(tài)硬盤中是否有與所述新數(shù)據(jù)塊相同的已存在數(shù)據(jù)塊,可以將部分對固態(tài)硬盤中Flash
的寫操作轉(zhuǎn)變?yōu)橛成潢P(guān)系的修改,從而能夠減小固態(tài)硬盤的寫入放大,提高固態(tài)硬盤的壽
命和性能;而且判斷過程簡單易實現(xiàn),帶來的額外開銷小。 以上對本發(fā)明實施例進行了詳細介紹,本文中應用了具體實施方式
對本發(fā)明進行 了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及設(shè)備;同時,對于本領(lǐng)域的
8一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實施方式
及應用范圍上均會有改變之處,綜上所 述,本說明書內(nèi)容不應理解為對本發(fā)明的限制。
權(quán)利要求
一種減小固態(tài)硬盤寫入放大的方法,其特征在于,包括當有新數(shù)據(jù)塊要寫入固態(tài)硬盤時,檢查所述固態(tài)硬盤中是否有與所述新數(shù)據(jù)塊相同的已存在數(shù)據(jù)塊;如果有,則建立所述新數(shù)據(jù)塊的邏輯塊地址與所述已存在數(shù)據(jù)塊的物理塊地址的對應關(guān)系;如果沒有,則將所述新數(shù)據(jù)塊寫入所述固態(tài)硬盤。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括 預先建立所述固態(tài)硬盤中數(shù)據(jù)塊的Hash值表;所述檢查所述固態(tài)硬盤中是否有與所述新數(shù)據(jù)塊相同的已存在數(shù)據(jù)塊包括 計算所述新數(shù)據(jù)塊的Hash值;根據(jù)所述新數(shù)據(jù)塊的Hash值及所述Hash值表確定所述固態(tài)硬盤中是否有與所述新數(shù) 據(jù)塊相同的已存在數(shù)據(jù)塊。
3. 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述根據(jù)所述新數(shù)據(jù)塊的Hash值及所述 Hash值表確定所述固態(tài)硬盤中是否有與所述新數(shù)據(jù)塊相同的已存在數(shù)據(jù)塊包括檢查所述Hash值表,如果所述Hash值表有與所述新數(shù)據(jù)塊的Hash值相同的Hash值, 則確定該Hash值對應的數(shù)據(jù)塊與所述新數(shù)據(jù)塊相同。
4. 根據(jù)權(quán)利要求2所述的方法,其特征在于,根據(jù)所述新數(shù)據(jù)塊的Hash值及所述Hash 值表確定所述固態(tài)硬盤中是否有與所述新數(shù)據(jù)塊相同的已存在數(shù)據(jù)塊包括檢查所述Hash值表中與所述新數(shù)據(jù)塊邏輯塊地址相同的數(shù)據(jù)塊的Hash值,如果有與 所述新數(shù)據(jù)塊的Hash值相同的Hash值,則確定該Hash值對應的數(shù)據(jù)塊與所述新數(shù)據(jù)塊相 同。
5. 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述方法還包括將所述新數(shù)據(jù)塊寫入所述固態(tài)硬盤后,將所述新數(shù)據(jù)塊對應的Hash值添加或更新到 所述Hash值表中。
6. —種減小固態(tài)硬盤寫入放大的裝置,其特征在于,包括檢查單元,用于當有新數(shù)據(jù)塊要寫入固態(tài)硬盤時,檢查所述固態(tài)硬盤中是否有與所述 新數(shù)據(jù)塊相同的已存在數(shù)據(jù)塊;映射關(guān)系建立單元,用于在所述檢查單元檢查到所述固態(tài)硬盤中有與所述新數(shù)據(jù)塊相 同的已存在數(shù)據(jù)塊時,建立所述新數(shù)據(jù)塊的邏輯塊地址與所述已存在數(shù)據(jù)塊的物理塊地址 的映射關(guān)系;數(shù)據(jù)寫入單元,用于在所述檢查單元檢查到所述固態(tài)硬盤中沒有與所述新數(shù)據(jù)塊相同 的已存在數(shù)據(jù)塊時,將所述新數(shù)據(jù)塊寫入所述固態(tài)硬盤。
7. 根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括 Hash值表建立單元,用于建立所述固態(tài)硬盤中數(shù)據(jù)塊的Hash值表; 所述檢查單元包括計算子單元,用于計算所述新數(shù)據(jù)塊的Hash值;比較子單元,用于根據(jù)所述新數(shù)據(jù)塊的Hash值及所述Hash值表確定所述固態(tài)硬盤中 是否有與所述新數(shù)據(jù)塊相同的已存在數(shù)據(jù)塊。
8. 根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述比較子單元,用于檢查所述Hash值表,如果所述Hash值表有與所述新數(shù)據(jù)塊的 Hash值相同的Hash值,則確定該Hash值對應的數(shù)據(jù)塊與所述新數(shù)據(jù)塊相同。
9. 根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述比較子單元,用于檢查所述Hash值表中與所述新數(shù)據(jù)塊邏輯塊地址相同的數(shù)據(jù) 塊的Hash值,如果有與所述新數(shù)據(jù)塊的Hash值相同的Hash值,則確定該Hash值對應的數(shù) 據(jù)塊與所述新數(shù)據(jù)塊相同。
10. 根據(jù)權(quán)利要求6所述的裝置,其特征在于,Hash值表修改單元,用于在所述數(shù)據(jù)寫入單元將所述新數(shù)據(jù)塊寫入所述固態(tài)硬盤后, 將所述新數(shù)據(jù)塊對應的Hash值添加或更新到所述Hash值表中。
全文摘要
本發(fā)明實施例涉及固態(tài)硬盤技術(shù),公開了一種減小固態(tài)硬盤寫入放大的方法及裝置。所述方法包括當有新數(shù)據(jù)塊要寫入固態(tài)硬盤時,檢查所述固態(tài)硬盤中是否有與所述新數(shù)據(jù)塊相同的已存在數(shù)據(jù)塊;如果有,則建立所述新數(shù)據(jù)塊的邏輯塊地址與所述已存在數(shù)據(jù)塊的物理塊地址的對應關(guān)系;如果沒有,則將所述新數(shù)據(jù)塊寫入所述固態(tài)硬盤。本發(fā)明實施例可以減小固態(tài)硬盤的寫入放大,提高固態(tài)硬盤的壽命和性能。
文檔編號G06F12/02GK101719099SQ20091024671
公開日2010年6月2日 申請日期2009年11月26日 優(yōu)先權(quán)日2009年11月26日
發(fā)明者張琴, 李欣, 楊繼濤, 柯喬 申請人:成都市華為賽門鐵克科技有限公司