国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      并行閃存轉(zhuǎn)換層方法與系統(tǒng)的制作方法

      文檔序號:6363529閱讀:212來源:國知局
      專利名稱:并行閃存轉(zhuǎn)換層方法與系統(tǒng)的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及計(jì)算機(jī)存儲技術(shù)領(lǐng)域,特別涉及一種并行閃存轉(zhuǎn)換層方法與系統(tǒng)。
      背景技術(shù)
      目前,NAND閃存被廣泛應(yīng)用于移動電子產(chǎn)品,如移動電話、MP3/MP4播放器、數(shù)碼相機(jī)、掌上電腦、平板電腦、筆記本電腦等。通常閃存用于取代磁盤驅(qū)動器,作為非易失性的二級存儲介質(zhì)。與磁盤相比,閃存允許隨機(jī)訪問,具有能耗低、吞吐量高、體積小、抗沖擊和便攜性等優(yōu)點(diǎn)。移動電子設(shè)備制造商和用戶越來越重視閃存的主要原因是,NAND閃存的容量不斷增加,但其價格卻不斷下降。然而,NAND閃存寫入和擦除操作消耗的時間較長是存儲系統(tǒng)主要的性能瓶頸。閃存轉(zhuǎn)換層(FTL, Flash Translation Layer)是文件系統(tǒng)和下層閃存的一個中間層,為文件系統(tǒng)提供一個同磁盤一樣的操作接口。使用閃存轉(zhuǎn)換層可以將閃存的擦除操作延后,使應(yīng)用程序正??焖龠\(yùn)行。一般來說,閃存轉(zhuǎn)換層不能減少文件系統(tǒng)對閃存的寫操作,因?yàn)樗暮诵氖翘峁┻壿嫷刂返轿锢淼刂返挠成洹iW存轉(zhuǎn)換層可分為三類頁映射、塊映射和混合映射閃存轉(zhuǎn)換層。頁是讀寫閃存的基本數(shù)據(jù)單元。塊是閃存擦除操作的基本數(shù)據(jù)單元。頁映射閃存轉(zhuǎn)換層有較好的性能,但需要較多的內(nèi)存來存儲地址映射信息。塊映射閃存轉(zhuǎn)換層可以節(jié)省大量用于存儲映射信息的內(nèi)存空間,但他們的性能比較低?;旌嫌成溟W存轉(zhuǎn)換層提供高性能和低內(nèi)存要求的平衡, 然而通常過于復(fù)雜、不容易實(shí)現(xiàn)。傳統(tǒng)閃存轉(zhuǎn)換層很少考慮到閃存所提供的并行操作屬性,NAND閃存寫入和擦除操作消耗的時間制約了電子產(chǎn)品的閃存存儲性能。

      發(fā)明內(nèi)容
      本發(fā)明的目的旨在至少解決上述技術(shù)缺陷之一。為此,本發(fā)明的第一個目的在于提供一種并行閃存轉(zhuǎn)換層方法,該方法通過并行讀寫,充分利用并行閃存的優(yōu)良特性,減少寫入和擦除時間,從而降低復(fù)雜度,獲得高性能。 本發(fā)明的第二個目的在于提供一種并行閃存轉(zhuǎn)換層系統(tǒng)。為達(dá)到上述目的,本發(fā)明第一方面的實(shí)施例提出一種并行閃存轉(zhuǎn)換層方法,包括如下步驟建立頁組和塊為單位的混合地址映射機(jī)制,其中,頁組可分為邏輯頁組和物理頁組,塊可分為邏輯塊和物理塊;當(dāng)文件系統(tǒng)發(fā)送的I/o請求的數(shù)量超過預(yù)設(shè)請求閾值時,建立I/o請求隊(duì)列,并將超出所述預(yù)設(shè)請求閾值的I/O請求放入所述I/O請求隊(duì)列;根據(jù)所述混合地址映射機(jī)制對所述I/O請求隊(duì)列中的I/O請求分為多組I/O請求子隊(duì)列,對所述每組I/o請求子隊(duì)列并行讀寫操作,其中,每組所述I/O請求子隊(duì)列包括多個I/O請求,所述多個I/o請求可并行操作。根據(jù)本發(fā)明的并行閃存轉(zhuǎn)換層方法,充分發(fā)掘并利用并行閃存的并行屬性,能夠自動的將并行閃存上的可并行操作進(jìn)行同時處理,以此減少處理數(shù)據(jù)輸入輸出和存儲系統(tǒng)垃圾回收的時間,并且減少用于存儲映射信息的內(nèi)存空間,從而降低復(fù)雜度,提升存儲系統(tǒng)的效率,獲得高性能。在本發(fā)明的一個實(shí)施例中,所述建立頁組和塊為單位的混合地址映射機(jī)制,進(jìn)一步包括將并行閃存劃分為多個物理塊,以及將每個所述物理塊劃分為多個物理頁組;將邏輯塊數(shù)據(jù)劃分為多個邏輯頁組;在所述并行閃存的物理塊上將所述物理頁組分配至所述邏輯頁組;當(dāng)所述邏輯頁組更新時,重新將對應(yīng)的所述物理塊上的所述物理頁組分配至所述邏輯頁組。在本發(fā)明的一個實(shí)施例中,如果所述邏輯塊更新后的數(shù)據(jù)超過對應(yīng)的所述物理塊的所述物體頁組的存儲容量后,對所述邏輯塊分配新的物理塊。在本發(fā)明的一個實(shí)施例中,對同一個所述邏輯頁組的多個所述物理頁組設(shè)置標(biāo)示符,其中,所述標(biāo)示符用于指示所述物理頁組為有效數(shù)據(jù)或無效數(shù)據(jù)。在本發(fā)明的一個實(shí)施例中,其特征在于,設(shè)置每個所述頁組的大小為2-4千字節(jié), 且每個所述塊的大小為128-256千字節(jié)。在本發(fā)明的一個實(shí)施例中,所述對所述每組I/O請求子隊(duì)列中的I/O請求并行讀寫操作在可并行的存儲電子板上執(zhí)行。在本發(fā)明的一個實(shí)施例中,所述可并行的存儲電子板大小為256或512兆字節(jié)。在本發(fā)明的一個實(shí)施例中,所述的并行閃存轉(zhuǎn)換層方法還包括如下步驟根據(jù)所述物理頁組的標(biāo)示符,回收標(biāo)記為無效數(shù)據(jù)最多的數(shù)據(jù)塊,建立回收塊集合;從所述回收塊集合中查找可并行擦除的物理塊,并對所述可并行擦除的物理塊進(jìn)行并行擦除操作。在本發(fā)明的一個實(shí)施例中,并行閃存轉(zhuǎn)換層方法還包括如下步驟設(shè)置空閑塊列表,其中,所述空閑塊列表存儲有擦除后的物理塊;從所述空閑塊列表中選取空閑的物理塊分配給所述邏輯塊。本發(fā)明第二方面的實(shí)施例提出一種并行閃存轉(zhuǎn)換層系統(tǒng),包括建立模塊,所述混建立模塊用于建立頁組和塊為單位的混合地址映射機(jī)制,其中,頁組可分為邏輯頁組和物理頁組,塊可分為邏輯塊和物理塊;請求處理模塊,所述請求處理模塊用于當(dāng)文件系統(tǒng)發(fā)送的I/o請求的數(shù)量超過預(yù)設(shè)請求閾值時,建立I/O請求隊(duì)列,并將超出所述預(yù)設(shè)請求閾值的 I/o請求放入所述I/O請求隊(duì)列;并行操作模塊,所述并行操作模塊用于根據(jù)所述混合地址映射機(jī)制對所述I/o請求隊(duì)列中的I/O請求分為多組I/O請求子隊(duì)列,對所述每組I/O請求子隊(duì)列并行讀寫操作,其中,每組所述I/o請求子隊(duì)列包括多個I/O請求,所述多個I/O 請求可并行操作。根據(jù)本發(fā)明的并行閃存轉(zhuǎn)換層系統(tǒng),充分發(fā)掘并利用并行閃存的并行屬性,能夠自動的將并行閃存上的可并行操作進(jìn)行同時處理,以此減少處理數(shù)據(jù)輸入輸出和存儲系統(tǒng)垃圾回收的時間,并且減少用于存儲映射信息的內(nèi)存空間,從而降低復(fù)雜度,提升存儲系統(tǒng)的效率,獲得高性能。在本發(fā)明的一個實(shí)施例中,所述建立模塊建立頁組和塊為單位的混合地址映射機(jī)制,進(jìn)一步包括所述建立模塊將并行閃存劃分為多個物理塊,并將每個所述物理塊劃分為多個物理頁組,以及將邏輯塊數(shù)據(jù)劃分為多個邏輯頁組,在所述并行閃存的物理塊上將所述物理頁組分配至所述邏輯頁組,并當(dāng)所述邏輯頁組更新時,重新將對應(yīng)的所述物理塊上的所述物理頁組分配至所述邏輯頁組。在本發(fā)明的一個實(shí)施例中,如果所述邏輯塊更新后的數(shù)據(jù)超過對應(yīng)的所述物理塊的所述物體頁組的存儲容量后,則所述建立模塊對所述邏輯塊分配新的物理塊。在本發(fā)明的一個實(shí)施例中,所述建立模塊對同一個所述邏輯頁組的多個所述物理頁組設(shè)置標(biāo)示符,其中,所述標(biāo)示符用于指示所述物理頁組為有效數(shù)據(jù)或無效數(shù)據(jù)。在本發(fā)明的一個實(shí)施例中,所述建立模塊設(shè)置每個所述頁組的大小為2-4千字節(jié),且每個所述塊的大小為128-256千字節(jié)。在本發(fā)明的一個實(shí)施例中,所述請求處理模塊對所述每組I/O請求子隊(duì)列中的I/ O請求并行讀寫操作在可并行的存儲電子板上執(zhí)行。在本發(fā)明的一個實(shí)施例中,所述可并行的存儲電子板大小為256或512兆字節(jié)。在本發(fā)明的一個實(shí)施例中,還包括如下模塊回收模塊,所述回收模塊用于回收具有最多無效數(shù)據(jù)的數(shù)據(jù)塊,建立回收塊集合;擦除模塊,所述擦除模塊用于從所述回收塊集合中查找可以并行擦除的物理塊, 將可以并行擦除的物理塊同時進(jìn)行擦除操作。在本發(fā)明的一個實(shí)施例中,還包括如下模塊空閑列表模塊,所述空閑列表模塊用于將擦除后的物理塊放入到系統(tǒng)的空閑塊列表中,當(dāng)系統(tǒng)需要分配新的所述物理塊給所述邏輯塊的時候,從所述空閑塊列表中選擇空閑的物理塊進(jìn)行分配。本發(fā)明附加的方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發(fā)明的實(shí)踐了解到。


      本發(fā)明上述的和/或附加的方面和優(yōu)點(diǎn)從下面結(jié)合附圖對實(shí)施例的描述中將變得明顯和容易理解,其中圖I為根據(jù)本發(fā)明實(shí)施例的并行閃存轉(zhuǎn)換層方法的流程框圖;圖2為根據(jù)本發(fā)明實(shí)施例的并行閃存轉(zhuǎn)換層方法與系統(tǒng)的處理流程圖;圖3為根據(jù)本發(fā)明實(shí)施例的并行閃存轉(zhuǎn)換層方法的擴(kuò)展流程框圖;以及圖4為根據(jù)本發(fā)明實(shí)施例的并行閃存轉(zhuǎn)換層系統(tǒng)的結(jié)構(gòu)示意圖。
      具體實(shí)施例方式下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實(shí)施例是示例性的,僅用于解釋本發(fā)明,而不能解釋為對本發(fā)明的限制。參照下面的描述和附圖,將清楚本發(fā)明的實(shí)施例的這些和其他方面。在這些描述和附圖中,具體公開了本發(fā)明的實(shí)施例中的一些特定實(shí)施方式,來表示實(shí)施本發(fā)明的實(shí)施例的原理的一些方式,但是應(yīng)當(dāng)理解,本發(fā)明的實(shí)施例的范圍不受此限制。相反,本發(fā)明的實(shí)施例包括落入所附加權(quán)利要求書的精神和內(nèi)涵范圍內(nèi)的所有變化、修改和等同物。下面參考圖I和圖2描述根據(jù)本發(fā)明實(shí)施例的并行閃存轉(zhuǎn)換層方法。步驟SllO :建立頁組和塊為單位的混合地址映射機(jī)制,其中,頁組可分為邏輯頁組和物理頁組,塊可分為邏輯塊和物理塊。在本發(fā)明的一個實(shí)施例中,設(shè)置每個頁組的大小為2 4千字節(jié),每個塊的大小為128 256千字節(jié)??梢岳斫獾氖?,上述頁組和塊的大小僅出于示例的目的,本發(fā)明實(shí)施例并不限于此。下面對建立頁組和塊為單位的混合地址映射機(jī)制的過程進(jìn)行詳細(xì)描述。步驟Slll :將并行閃存劃分為多個物理塊,以及將每個物理塊劃分為多個物理頁組。如圖2所示的并行閃存可以劃分為四個物理塊,編號分別為1、2、3、4??梢岳斫獾氖牵瑘D2所示的劃分僅為本發(fā)明的一個實(shí)施例,本發(fā)明的實(shí)施例并不限于此。將每個物理塊劃分為多個物理頁組,例如,將物理塊I劃分為η個物理頁組,物理塊2 4可以依次類推,在此不再贅述。步驟S112 :將邏輯塊數(shù)據(jù)劃分為多個邏輯頁組;步驟S113 :在并行閃存的物理塊上將物理頁組分配至邏輯頁組;將步驟Slll中劃分得到的物理頁組分配至步驟S112中得到的邏輯頁組。步驟S114 :當(dāng)邏輯頁組更新時,重新將對應(yīng)的物理塊上的物理頁組分配至邏輯頁組。每個物理塊的存儲容量是有限的。當(dāng)邏輯塊中的邏輯頁發(fā)生多次更新后,如果更新后的數(shù)據(jù)超過對應(yīng)的物理塊的物體頁組的存儲容量,該邏輯塊原先分配的物理塊無法存儲該邏輯塊的數(shù)據(jù),則需要對對該邏輯塊分配新的物理塊。由于物理頁組中的數(shù)據(jù)包括無效數(shù)據(jù)和有效數(shù)據(jù),為了對上述數(shù)據(jù)進(jìn)行區(qū)分,需要對對同一個邏輯頁組的多個物理頁組設(shè)置標(biāo)示符,其中,標(biāo)示符用于指示物理頁組為有效數(shù)據(jù)或無效數(shù)據(jù)。例如,將存放無效數(shù)據(jù)的物理頁組標(biāo)記為0,將存放有效數(shù)據(jù)的物理頁組標(biāo)記為I??梢岳斫獾氖牵鲜鲈O(shè)置的標(biāo)示符O和I僅是出于示例的目的,本發(fā)明實(shí)施例并不限于此。S120 :建立I/O請求隊(duì)列,將超出預(yù)設(shè)請求閾值的I/O請求放入I/O請求隊(duì)列。如圖2所示,文件系統(tǒng)通過輸入、輸出接口傳輸數(shù)據(jù)。當(dāng)文件系統(tǒng)發(fā)送的I/O請求的數(shù)量超過預(yù)設(shè)請求閾值時,建立I/o請求隊(duì)列,并將超出預(yù)設(shè)請求閾值的I/O請求放入I/ O請求隊(duì)列。需要說明的是,當(dāng)文件系統(tǒng)發(fā)送的I/o請求的數(shù)據(jù)超過預(yù)設(shè)請求閾值時,可以認(rèn)為當(dāng)前系統(tǒng)的I/o請求出于密集狀態(tài)。在本發(fā)明的一個實(shí)施例中,預(yù)設(shè)請求閾值可以由系統(tǒng)管理員根據(jù)系統(tǒng)狀態(tài)進(jìn)行設(shè)置。S130 :根據(jù)混合地址映射機(jī)制將I/O請求隊(duì)列中的I/O請求分為多組I/O請求子隊(duì)列。從請求隊(duì)列的第一個I/o請求開始,尋找可以并行操作的I/O請求,將其分入同組。 對每組I/O請求子隊(duì)列并行讀寫操作,將處理過的請求從I/O請求隊(duì)列中移除。其中,每組 I/o請求子隊(duì)列包括多個I/O請求,多個I/O請求可并行操作。通過上述方式,可以預(yù)先對可并行執(zhí)行的I/O請求進(jìn)行分組,對可并行操作的I/O 請求進(jìn)行處理,從而可以提高閃存的操作效率,進(jìn)而提高整個系統(tǒng)處理數(shù)據(jù)的速度。
      在本發(fā)明的一個實(shí)施例中,對每組I/O請求子隊(duì)列并行讀寫操作在可并行的存儲電子板上執(zhí)行,可并行的存儲電子板大小為256或512兆字節(jié)。如圖2所示,并行閃存轉(zhuǎn)換層還需要對并行閃存進(jìn)行并行垃圾回收控制。因?yàn)殡S著物理塊被分配和使用,需要對其進(jìn)行回收和清理,擦除被標(biāo)記為O的無效數(shù)據(jù)塊以便再利用。下面結(jié)合圖3進(jìn)行詳細(xì)說明。步驟S140 :回收具有最多無效數(shù)據(jù)的數(shù)據(jù)塊,建立回收集合。該步驟進(jìn)一步可以分為如下兩步步驟S141 :根據(jù)物理頁組的標(biāo)示符,即有效數(shù)據(jù)標(biāo)識符I或者無效數(shù)據(jù)標(biāo)識符0, 回收標(biāo)記為無效數(shù)據(jù)(數(shù)據(jù)標(biāo)識符為O)最多的數(shù)據(jù)塊,建立回收塊集合;步驟S142 :從回收塊集合中查找可并行擦除的物理塊,并對可并行擦除的物理塊進(jìn)行并行擦除操作。步驟S150 :設(shè)置空閑塊列表,其中,空閑塊列表存儲有擦除后的物理塊;從空閑塊列表中選取空閑的物理塊分配給邏輯塊。根據(jù)本發(fā)明的并行閃存轉(zhuǎn)換層方法充分發(fā)掘、利用并行閃存的并行屬性,能夠自動的將并行閃存上的可并行操作進(jìn)行同時處理,以此減少處理數(shù)據(jù)輸入輸出和存儲系統(tǒng)垃圾回收的時間,并且減少用于存儲映射信息的內(nèi)存空間,從而降低復(fù)雜度,提升存儲系統(tǒng)的效率,獲得高性能。如圖3所示,本發(fā)明實(shí)施例提供了一種并行閃存轉(zhuǎn)換層系統(tǒng),包括建立模塊100 混合地址映射機(jī)制建立模塊用于建立頁組和塊為單位的混合地址映射機(jī)制,其中,頁組可分為邏輯頁組和物理頁組,塊可分為邏輯塊和物理塊;請求處理模塊110 :請求處理模塊 110用于當(dāng)文件系統(tǒng)發(fā)送的I/O請求的數(shù)量超過預(yù)設(shè)請求閾值時,建立I/O請求隊(duì)列,并將超出預(yù)設(shè)請求閾值的I/O請求放入I/O請求隊(duì)列;并行操作模塊120 :并行操作模塊用于根據(jù)混合地址映射機(jī)制對I/O請求隊(duì)列中的I/O請求分為多組I/O請求子隊(duì)列,對多組I/O 請求子隊(duì)列并行讀寫操作,其中,每組I/o請求子隊(duì)列包括多個I/O請求,多個I/O請求可并行操作。建立模塊100用于建立頁組和塊為單位的混合地址映射機(jī)制,進(jìn)一步功能包括 建立模塊100將并行閃存劃分為多個物理塊,以及將每個物理塊劃分為多個物理頁組。如圖2所示的并行閃存可以劃分為四個物理塊,編號分別為1、2、3、4??梢岳斫獾氖?,圖2所示的劃分僅為本發(fā)明的一個實(shí)施例,本發(fā)明的實(shí)施例并不限于此。建立模塊100將每個物理塊劃分為多個物理頁組,例如,將物理塊I劃分為η個物理頁組,物理塊2 4可以依次類推,在此不再贅述。建立模塊100將邏輯塊數(shù)據(jù)劃分為多個邏輯頁組;在并行閃存的物理塊上將物理頁組分配至邏輯頁組;當(dāng)邏輯頁組更新時,建立模塊100重新將對應(yīng)的物理塊上的物理頁組分配至邏輯頁組。每個物理塊的存儲容量是有限的。當(dāng)邏輯塊中的邏輯頁發(fā)生多次更新后,如果更新后的數(shù)據(jù)超過對應(yīng)的物理塊的物體頁組的存儲容量,該邏輯塊原先分配的物理塊無法存儲該邏輯塊的數(shù)據(jù),則建立模塊100對該邏輯塊分配新的物理塊。建立模塊100設(shè)置每個頁組的大小為2 4千字節(jié),且每個塊的大小為128 256 千字節(jié)??梢岳斫獾氖?,上述頁組和塊的大小僅出于示例的目的,本發(fā)明實(shí)施例并不限于此。由于物理頁組中的數(shù)據(jù)包括無效數(shù)據(jù)和有效數(shù)據(jù),為了對上述數(shù)據(jù)進(jìn)行區(qū)分,建立模塊100需要對同一個邏輯頁組的多個物理頁組設(shè)置標(biāo)示符,其中,標(biāo)示符用于指示物理頁組為有效數(shù)據(jù)或無效數(shù)據(jù)。例如,建立模塊100將存放無效數(shù)據(jù)的物理頁組標(biāo)記為0, 將存放有效數(shù)據(jù)的物理頁組標(biāo)記為I??梢岳斫獾氖?,上述設(shè)置的標(biāo)示符O和I僅是出于示例的目的,本發(fā)明實(shí)施例并不限于此。請求處理模塊110用于當(dāng)文件系統(tǒng)發(fā)送的I/O請求的數(shù)量超過預(yù)設(shè)請求閾值時, 建立I/O請求隊(duì)列,并將超出預(yù)設(shè)請求閾值的I/O請求放入I/O請求隊(duì)列。需要說明的是, 當(dāng)文件系統(tǒng)發(fā)送的數(shù)據(jù)請求的數(shù)據(jù)超過預(yù)設(shè)請求閾值時,可以認(rèn)為當(dāng)前系統(tǒng)的I/o請求出于密集狀態(tài)。在本發(fā)明的一個實(shí)施例中,請求處理模塊110中的預(yù)設(shè)請求閾值可以由系統(tǒng)管理員根據(jù)系統(tǒng)狀態(tài)進(jìn)行設(shè)置。并行操作模塊120根據(jù)混合地址映射機(jī)制將I/O請求隊(duì)列中的I/O請求分為多組 I/o請求子隊(duì)列。并行操作模塊120從請求隊(duì)列的第一個I/O請求開始,尋找可以并行操作的I/O請求,將其分入同組。并行操作模塊120對每組I/O請求子隊(duì)列并行讀寫操作,將處理過的請求從I/O請求隊(duì)列中移除。其中,每組I/O請求子隊(duì)列包括多個I/O請求,多個 I/o請求可并行操作。通過上述方式,并行操作模塊120可以預(yù)先對可并行執(zhí)行的I/O請求進(jìn)行分組,對可并行操作的I/o請求進(jìn)行處理,從而可以提高閃存的操作效率,進(jìn)而提高整個系統(tǒng)處理數(shù)據(jù)的速度。在本發(fā)明的一個實(shí)施例中,并行操作模塊120對每組I/O請求子隊(duì)列并行讀寫操作在可并行的存儲電子板上執(zhí)行,可并行的存儲電子板大小為256或512兆字節(jié)。以上模塊完成了對并行閃存的并行讀寫操作,隨著物理塊被標(biāo)記為無效數(shù)據(jù)的數(shù)量增多,系統(tǒng)需要對并行閃存中的物理塊進(jìn)行回收和清理。系統(tǒng)采用模塊130-150完成此功能?;厥漳K130 :用于回收具有最多無效數(shù)據(jù)的數(shù)據(jù)塊,建立回收塊集合。回收模塊 130根據(jù)物理頁組的標(biāo)示符,即有效數(shù)據(jù)標(biāo)識符I或者無效數(shù)據(jù)標(biāo)識符0,回收模塊130回收標(biāo)記為無效數(shù)據(jù)(數(shù)據(jù)標(biāo)識符為O)最多的數(shù)據(jù)塊,建立回收塊集合;擦除模塊140 :用于從回收塊集合中查找可以并行擦除的物理塊,將可以并行擦除的物理塊同時進(jìn)行擦除操作。空閑列表模塊150 :用于將擦除后的物理塊放入到系統(tǒng)的空閑塊列表中,當(dāng)系統(tǒng)需要分配新的物理塊給邏輯塊的時候,空閑列表模塊150從空閑塊列表中選擇空閑的物理塊進(jìn)行分配。根據(jù)本發(fā)明的并行閃存轉(zhuǎn)換層系統(tǒng)充分發(fā)掘、利用并行閃存的并行屬性,能夠自動的將并行閃存上的可并行操作進(jìn)行同時處理,以此減少處理數(shù)據(jù)輸入輸出和存儲系統(tǒng)垃圾回收的時間,并且減少用于存儲映射信息的內(nèi)存空間,從而降低復(fù)雜度,提升存儲系統(tǒng)的效率,獲得高性能。流程圖中或在此以其他方式描述的任何過程或方法描述可以被理解為,表示包括一個或更多個用于實(shí)現(xiàn)特定邏輯功能或過程的步驟的可執(zhí)行指令的代碼的模塊、片段或部分,并且本發(fā)明的優(yōu)選實(shí)施方式的范圍包括另外的實(shí)現(xiàn),其中可以不按所示出或討論的順序,包括根據(jù)所涉及的功能按基本同時的方式或按相反的順序,來執(zhí)行功能,這應(yīng)被本發(fā)明的實(shí)施例所屬技術(shù)領(lǐng)域的技術(shù)人員所理解。在流程圖中表示或在此以其他方式描述的邏輯和/或步驟,例如,可以被認(rèn)為是用于實(shí)現(xiàn)邏輯功能的可執(zhí)行指令的定序列表,可以具體實(shí)現(xiàn)在任何計(jì)算機(jī)可讀介質(zhì)中,以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備(如基于計(jì)算機(jī)的系統(tǒng)、包括處理器的系統(tǒng)或其他可以從指令執(zhí)行系統(tǒng)、裝置或設(shè)備取指令并執(zhí)行指令的系統(tǒng))使用,或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設(shè)備而使用。就本說明書而言,"計(jì)算機(jī)可讀介質(zhì)"可以是任何可以包含、存儲、通信、 傳播或傳輸程序以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設(shè)備而使用的裝置。計(jì)算機(jī)可讀介質(zhì)的更具體的示例(非窮盡性列表)包括以下具有一個或多個布線的電連接部(電子裝置),便攜式計(jì)算機(jī)盤盒(磁裝置),隨機(jī)存取存儲器(RAM),只讀存儲器(R0M),可擦除可編輯只讀存儲器(EPR0M或閃速存儲器),光纖裝置,以及便攜式光盤只讀存儲器(⑶ROM)。另外,計(jì)算機(jī)可讀介質(zhì)甚至可以是可在其上打印所述程序的紙或其他合適的介質(zhì),因?yàn)榭梢岳缤ㄟ^對紙或其他介質(zhì)進(jìn)行光學(xué)掃描,接著進(jìn)行編輯、解譯或必要時以其他合適方式進(jìn)行處理來以電子方式獲得所述程序,然后將其存儲在計(jì)算機(jī)存儲器中。應(yīng)當(dāng)理解,本發(fā)明的各部分可以用硬件、軟件、固件或它們的組合來實(shí)現(xiàn)。在上述實(shí)施方式中,多個步驟或方法可以用存儲在存儲器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件或固件來實(shí)現(xiàn)。例如,如果用硬件來實(shí)現(xiàn),和在另一實(shí)施方式中一樣,可用本領(lǐng)域公知的下列技術(shù)中的任一項(xiàng)或他們的組合來實(shí)現(xiàn)具有用于對數(shù)據(jù)信號實(shí)現(xiàn)邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(PGA),現(xiàn)場可編程門陣列(FPGA)等。本技術(shù)領(lǐng)域的普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法攜帶的全部或部分步驟是可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計(jì)算機(jī)可讀存儲介質(zhì)中,該程序在執(zhí)行時,包括方法實(shí)施例的步驟之一或其組合。此外,在本發(fā)明各個實(shí)施例中的各功能單元可以集成在一個處理模塊中,也可以是各個單元單獨(dú)物理存在,也可以兩個或兩個以上單元集成在一個模塊中。上述集成的模塊既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能模塊的形式實(shí)現(xiàn)。所述集成的模塊如果以軟件功能模塊的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時,也可以存儲在一個計(jì)算機(jī)可讀取存儲介質(zhì)中。上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。在本說明書的描述中,參考術(shù)語“一個實(shí)施例”、“一些實(shí)施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)包含于本發(fā)明的至少一個實(shí)施例或示例中。在本說明書中,對上述術(shù)語的示意性表述不一定指的是相同的實(shí)施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)可以在任何的一個或多個實(shí)施例或示例中以合適的方式結(jié)合。盡管已經(jīng)示出和描述了本發(fā)明的實(shí)施例,對于本領(lǐng)域的普通技術(shù)人員而言,可以理解在不脫離本發(fā)明的原理和精神的情況下可以對這些實(shí)施例進(jìn)行多種變化、修改、替換和變型,本發(fā)明的范圍由所附權(quán)利要求及其等同限定。
      權(quán)利要求
      1.一種并行閃存轉(zhuǎn)換層方法,其特征在于,包括建立頁組和塊為單位的混合地址映射機(jī)制,其中,所述頁組可分為邏輯頁組和物理頁組,所述塊可分為邏輯塊和物理塊;當(dāng)文件系統(tǒng)發(fā)送的I/o請求的數(shù)量超過預(yù)設(shè)請求閾值時,建立I/O請求隊(duì)列,并將超出所述預(yù)設(shè)請求閾值的I/o請求放入所述I/O請求隊(duì)列;根據(jù)所述混合地址映射機(jī)制對所述I/o請求隊(duì)列中的I/O請求分為多組I/O請求子隊(duì)列,對所述每組I/o請求子隊(duì)列并行讀寫操作,其中,每組所述I/O請求子隊(duì)列包括多個I/ O請求,所述多個I/O請求可并行操作。
      2.如權(quán)利要求I所述的并行閃存轉(zhuǎn)換層方法,其特征在于,所述建立頁組和塊為單位的混合地址映射機(jī)制,進(jìn)一步包括將并行閃存劃分為多個物理塊,以及將每個所述物理塊劃分為多個物理頁組;將邏輯塊數(shù)據(jù)劃分為多個邏輯頁組;在所述并行閃存的物理塊上將所述物理頁組分配至所述邏輯頁組;當(dāng)所述邏輯頁組更新時,重新將對應(yīng)的所述物理塊上的所述物理頁組分配至所述邏輯頁組。
      3.如權(quán)利要求2所述的并行閃存轉(zhuǎn)換層方法,其特征在于,如果所述邏輯塊更新后的數(shù)據(jù)超過對應(yīng)的所述物理塊的所述物體頁組的存儲容量后,對所述邏輯塊分配新的物理塊。
      4.如權(quán)利要求I所述的并行閃存轉(zhuǎn)換層方法,其特征在于,對同一個所述邏輯頁組的多個所述物理頁組設(shè)置標(biāo)示符,其中,所述標(biāo)示符用于指示所述物理頁組為有效數(shù)據(jù)或無效數(shù)據(jù)。
      5.如權(quán)利要求2-4中任一項(xiàng)所述的并行閃存轉(zhuǎn)換層方法,其特征在于,設(shè)置每個所述頁組的大小為2 4千字節(jié),且每個所述塊的大小為128 256千字節(jié)。
      6.如權(quán)利要求I所述的并行閃存轉(zhuǎn)換層方法,其特征在于,所述對所述每組I/O請求子隊(duì)列中的I/o請求并行讀寫操作在可并行的存儲電子板上執(zhí)行。
      7.如權(quán)利要求6所述的并行閃存轉(zhuǎn)換層方法,其特征在于,所述可并行的存儲電子板大小為256或512兆字節(jié)。
      8.如權(quán)利要求4所述的并行閃存轉(zhuǎn)換層方法,其特征在于,還包括如下步驟根據(jù)所述物理頁組的標(biāo)示符,回收標(biāo)記為無效數(shù)據(jù)最多的數(shù)據(jù)塊,建立回收塊集合; 從所述回收塊集合中查找可并行擦除的物理塊,并對所述可并行擦除的物理塊進(jìn)行并行擦除操作。
      9.如權(quán)利要求8所述的并行閃存轉(zhuǎn)換層方法,其特征在于,還包括如下步驟設(shè)置空閑塊列表,其中,所述空閑塊列表存儲有擦除后的物理塊;從所述空閑塊列表中選取空閑的物理塊分配給所述邏輯塊。
      10.一種并行閃存轉(zhuǎn)換層系統(tǒng),其特征在于,包括建立模塊,所述建立模塊用于建立頁組和塊為單位的混合地址映射機(jī)制,其中,所述頁組可分為邏輯頁組和物理頁組,所述塊可分為邏輯塊和物理塊;請求處理模塊,所述請求處理模塊用于當(dāng)文件系統(tǒng)發(fā)送的I/o請求的數(shù)量超過預(yù)設(shè)請求閾值時,建立I/o請求隊(duì)列,并將超出所述預(yù)設(shè)請求閾值的I/O請求放入所述I/O請求隊(duì)列;并行操作模塊,所述并行操作模塊用于根據(jù)所述混合地址映射機(jī)制對所述I/O請求隊(duì)列中的I/o請求分為多組I/O請求子隊(duì)列,對所述每組I/O請求子隊(duì)列并行讀寫操作,其中,每組所述I/o請求子隊(duì)列包括多個I/O請求,所述多個I/O請求可并行操作。
      11.如權(quán)利要求10所述的并行閃存轉(zhuǎn)換層系統(tǒng),其特征在于,所述建立模塊將并行閃存劃分為多個物理塊,并將每個所述物理塊劃分為多個物理頁組,以及將邏輯塊數(shù)據(jù)劃分為多個邏輯頁組,在所述并行閃存的物理塊上將所述物理頁組分配至所述邏輯頁組,并當(dāng)所述邏輯頁組更新時,所述建立模塊重新將對應(yīng)的所述物理塊上的所述物理頁組分配至所述邏輯頁組。
      12.如權(quán)利要求11所述的并行閃存轉(zhuǎn)換層系統(tǒng),其特征在于,如果所述邏輯塊更新后的數(shù)據(jù)超過對應(yīng)的所述物理塊的所述物體頁組的存儲容量后,則所述建立模塊對所述邏輯塊分配新的物理塊。
      13.如權(quán)利要求10所述的并行閃存轉(zhuǎn)換層系統(tǒng),其特征在于,所述建立模塊對同一個所述邏輯頁組的多個所述物理頁組設(shè)置標(biāo)示符,其中,所述標(biāo)示符用于指示所述物理頁組為有效數(shù)據(jù)或無效數(shù)據(jù)。
      14.如權(quán)利要求11-13中任一項(xiàng)所述的并行閃存轉(zhuǎn)換層系統(tǒng),其特征在于,所述建立模塊設(shè)置每個所述頁組的大小為2 4千字節(jié),且每個所述塊的大小為128 256千字節(jié)。
      15.如權(quán)利要求10所述的并行閃存轉(zhuǎn)換層系統(tǒng),其特征在于,所述對所述每組I/O請求子隊(duì)列中的I/O請求并行讀寫操作在可并行的存儲電子板上執(zhí)行。
      16.如權(quán)利要求15所述的并行閃存轉(zhuǎn)換層系統(tǒng),其特征在于,所述可并行的存儲電子板大小為256或512兆字節(jié)。
      17.如權(quán)利要求13所述的并行閃存轉(zhuǎn)換層系統(tǒng),其特征在于,還包括如下模塊回收模塊,所述回收模塊用于回收具有最多無效數(shù)據(jù)的數(shù)據(jù)塊,建立回收塊集合;擦除模塊,所述擦除模塊用于從所述回收塊集合中查找可以并行擦除的物理塊,將可以并行擦除的物理塊同時進(jìn)行擦除操作。
      18.如權(quán)利要求14所述的并行閃存轉(zhuǎn)換層系統(tǒng),其特征在于,還包括如下模塊空閑列表模塊,所述空閑列表模塊用于將擦除后的物理塊放入到系統(tǒng)的空閑塊列表中,當(dāng)系統(tǒng)需要分配新的所述物理塊給所述邏輯塊的時候,從所述空閑塊列表中選擇空閑的物理塊進(jìn)行分配。
      全文摘要
      本發(fā)明提出一種并行閃存轉(zhuǎn)換層方法,包括建立頁組和塊為單位的混合地址映射機(jī)制,其中,頁組可分為邏輯頁組和物理頁組,塊可分為邏輯塊和物理塊;當(dāng)文件系統(tǒng)發(fā)送的I/O請求的數(shù)量超過預(yù)設(shè)請求閾值時,建立I/O請求隊(duì)列,并將超出預(yù)設(shè)請求閾值的I/O請求放入I/O請求隊(duì)列;根據(jù)混合地址映射機(jī)制對I/O請求隊(duì)列中的I/O請求分為多組I/O請求子隊(duì)列,對每組I/O請求子隊(duì)列并行讀寫操作,其中,每組I/O請求子隊(duì)列包括多個I/O請求,多個I/O請求可并行操作。該方法通過并行讀寫,充分利用并行閃存的優(yōu)良特性,減少寫入和擦除時間,從而降低復(fù)雜度,獲得高性能。本發(fā)明還公開了一種并行閃存轉(zhuǎn)換層系統(tǒng)。
      文檔編號G06F12/02GK102609218SQ201210016918
      公開日2012年7月25日 申請日期2012年1月18日 優(yōu)先權(quán)日2012年1月18日
      發(fā)明者廖學(xué)良, 白石, 胡事民, 談鑒鋒 申請人:清華大學(xué)
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1