System.ArgumentOutOfRangeException: 索引和長(zhǎng)度必須引用該字符串內(nèi)的位置。 參數(shù)名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 无码中文av有码中文a,日韩精品久久无码中文字幕,亚洲国产精品无码第一区二区三区
  • 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    一種緩存斷電恢復(fù)方法、系統(tǒng)及其存儲(chǔ)介質(zhì)技術(shù)方案

    技術(shù)編號(hào):44426662 閱讀:2 留言:0更新日期:2025-02-28 18:40
    本申請(qǐng)?zhí)峁┝艘环N緩存斷電恢復(fù)方法、系統(tǒng)及其存儲(chǔ)介質(zhì),通過(guò)獲取Flash閃存發(fā)生斷電后的目標(biāo)閃存分區(qū),依次掃描目標(biāo)閃存分區(qū)中各個(gè)區(qū)塊的起始物理頁(yè),并分別獲取各個(gè)起始物理頁(yè)的第一帶外數(shù)據(jù),然后,根據(jù)各個(gè)塊類型數(shù)據(jù),將屬于已使用類型的區(qū)塊確定為第一待恢復(fù)區(qū)塊,并將第一待恢復(fù)區(qū)塊存放至第一區(qū)塊鏈表,接著,依次掃描第一區(qū)塊鏈表中各個(gè)第一待恢復(fù)區(qū)塊的最后一個(gè)物理頁(yè),并且根據(jù)第一待恢復(fù)區(qū)塊中最后一個(gè)物理頁(yè)的數(shù)據(jù)存儲(chǔ)情況,對(duì)第一待恢復(fù)區(qū)塊進(jìn)行數(shù)據(jù)恢復(fù)處理,以及在待重建空間中確定并重建目標(biāo)工作區(qū)塊,進(jìn)而通過(guò)第一次區(qū)塊掃描和第二次區(qū)塊掃描,能夠迅速對(duì)區(qū)塊進(jìn)行斷電恢復(fù),提高了斷電恢復(fù)的效率。

    【技術(shù)實(shí)現(xiàn)步驟摘要】

    本申請(qǐng)涉及計(jì)算機(jī)緩存領(lǐng)域,尤其涉及一種緩存斷電恢復(fù)方法、系統(tǒng)及其存儲(chǔ)介質(zhì)


    技術(shù)介紹

    1、隨著物聯(lián)網(wǎng)、智能家居和移動(dòng)互聯(lián)網(wǎng)的發(fā)展,嵌入式系統(tǒng)和移動(dòng)設(shè)備的普及程度不斷增加,這些設(shè)備通常需要使用flash存儲(chǔ)來(lái)存儲(chǔ)數(shù)據(jù)和程序。而flash存儲(chǔ)具有高速、低功耗和可靠性等優(yōu)點(diǎn),因此在嵌入式和移動(dòng)設(shè)備中得到了廣泛應(yīng)用,然而,flash存儲(chǔ)的管理對(duì)于不同的硬件平臺(tái)和操作系統(tǒng)環(huán)境中存在挑戰(zhàn),例如:如何在flash存儲(chǔ)器斷電后數(shù)據(jù)恢復(fù)等問(wèn)題。

    2、現(xiàn)有技術(shù)中,大多數(shù)的斷電恢復(fù)機(jī)制往往需要斷電后全面掃描各個(gè)區(qū)塊的所有物理頁(yè),然后,根據(jù)所有區(qū)塊的所有物理頁(yè)數(shù)據(jù)去確定哪些區(qū)塊需要數(shù)據(jù)恢復(fù),哪些區(qū)塊不需要數(shù)據(jù)恢復(fù),而全面掃描各個(gè)區(qū)塊的所有物理頁(yè)這一步驟往往是耗費(fèi)時(shí)間過(guò)長(zhǎng),進(jìn)而使得斷電恢復(fù)的效率大大降低,同時(shí),在斷電數(shù)據(jù)恢復(fù)之后還可能出現(xiàn)區(qū)塊無(wú)法正常寫(xiě)入的問(wèn)題。


    技術(shù)實(shí)現(xiàn)思路

    1、本申請(qǐng)實(shí)施例的主要目的在于提出一種緩存斷電恢復(fù)方法、系統(tǒng)及其存儲(chǔ)介質(zhì),通過(guò)第一帶外數(shù)據(jù)在第一次區(qū)塊掃描中快速縮小并確定待恢復(fù)區(qū)塊的讀取范圍,然后再對(duì)待恢復(fù)區(qū)塊的最后一個(gè)物理頁(yè)進(jìn)行全面掃描,進(jìn)而能夠準(zhǔn)確、迅速對(duì)待恢復(fù)區(qū)塊進(jìn)行斷電恢復(fù),提高了緩存斷電恢復(fù)的效率,同時(shí),通過(guò)重建目標(biāo)工作區(qū)塊還確保了斷電恢復(fù)之后的區(qū)塊能夠正常寫(xiě)入。

    2、為實(shí)現(xiàn)上述目的,本申請(qǐng)實(shí)施例的第一方面提出了一種緩存斷電恢復(fù)方法,包括:

    3、獲取flash閃存發(fā)生斷電后的目標(biāo)閃存分區(qū);

    4、依次掃描目標(biāo)閃存分區(qū)中各個(gè)區(qū)塊的起始物理頁(yè),并分別獲取各個(gè)起始物理頁(yè)的第一帶外數(shù)據(jù),第一帶外數(shù)據(jù)包含用于表征區(qū)塊類型的塊類型數(shù)據(jù),區(qū)塊類型包括已使用類型;

    5、根據(jù)各個(gè)塊類型數(shù)據(jù),將屬于已使用類型的區(qū)塊確定為第一待恢復(fù)區(qū)塊,并將第一待恢復(fù)區(qū)塊存放至第一區(qū)塊鏈表,第一區(qū)塊鏈表用于存儲(chǔ)需要進(jìn)行數(shù)據(jù)恢復(fù)的區(qū)塊;

    6、依次掃描第一區(qū)塊鏈表中各個(gè)第一待恢復(fù)區(qū)塊的最后一個(gè)物理頁(yè),并且根據(jù)第一待恢復(fù)區(qū)塊中最后一個(gè)物理頁(yè)的數(shù)據(jù)存儲(chǔ)情況,對(duì)第一待恢復(fù)區(qū)塊進(jìn)行數(shù)據(jù)恢復(fù)處理,以及在待重建空間中確定并重建目標(biāo)工作區(qū)塊;

    7、其中,數(shù)據(jù)恢復(fù)處理是對(duì)所有已使用塊進(jìn)行邏輯頁(yè)到物理頁(yè)映射關(guān)系的數(shù)據(jù)恢復(fù),即恢復(fù)邏輯映射表數(shù)據(jù),以用作下次執(zhí)行讀寫(xiě)操作處理;待重建空間用于存儲(chǔ)所有物理頁(yè)未被寫(xiě)滿用戶數(shù)據(jù)的區(qū)塊,目標(biāo)工作區(qū)塊用于作為下次執(zhí)行寫(xiě)入操作時(shí)的數(shù)據(jù)存儲(chǔ)區(qū)塊。

    8、進(jìn)一步,在一些實(shí)施例當(dāng)中,待重建空間設(shè)有第一存儲(chǔ)節(jié)點(diǎn)和第二存儲(chǔ)節(jié)點(diǎn),在待重建空間中確定并重建目標(biāo)工作區(qū)塊,包括:

    9、判斷第一存儲(chǔ)節(jié)點(diǎn)和第二存儲(chǔ)節(jié)點(diǎn)是否為空;

    10、當(dāng)?shù)谝淮鎯?chǔ)節(jié)點(diǎn)和第二存儲(chǔ)節(jié)點(diǎn)均為空時(shí),則從第三區(qū)塊鏈表的頭部獲取一個(gè)空閑區(qū)塊,并將空閑區(qū)塊確定為目標(biāo)工作區(qū)塊并重建,其中,第三區(qū)塊鏈表用于存儲(chǔ)處于空閑狀態(tài)的區(qū)塊;

    11、或者,當(dāng)?shù)诙鎯?chǔ)節(jié)點(diǎn)為空時(shí),則將第一存儲(chǔ)節(jié)點(diǎn)存儲(chǔ)的區(qū)塊確定為目標(biāo)工作區(qū)塊并重建;

    12、或者,當(dāng)?shù)谝淮鎯?chǔ)節(jié)點(diǎn)和第二存儲(chǔ)節(jié)點(diǎn)均不為空時(shí),分別獲取第一存儲(chǔ)節(jié)點(diǎn)存儲(chǔ)的區(qū)塊的第一已使用次數(shù)以及第二存儲(chǔ)節(jié)點(diǎn)存儲(chǔ)的區(qū)塊的第二已使用次數(shù),根據(jù)第一已使用次數(shù)和第二已使用次數(shù)確定目標(biāo)工作區(qū)塊并重建。

    13、進(jìn)一步,在一些實(shí)施例當(dāng)中,根據(jù)第一已使用次數(shù)和第二已使用次數(shù)確定目標(biāo)工作區(qū)塊并重建,包括:

    14、若第一已使用次數(shù)小于第二已使用次數(shù)時(shí),則將第一存儲(chǔ)節(jié)點(diǎn)存儲(chǔ)的區(qū)塊確定為目標(biāo)工作區(qū)塊并重建;

    15、若第一已使用次數(shù)大于或者等于第二已使用次數(shù)時(shí),則將第二存儲(chǔ)節(jié)點(diǎn)存儲(chǔ)的區(qū)塊確定為目標(biāo)工作區(qū)塊并重建。

    16、進(jìn)一步,在一些實(shí)施例當(dāng)中,根據(jù)第一待恢復(fù)區(qū)塊中最后一個(gè)物理頁(yè)的數(shù)據(jù)存儲(chǔ)情況,對(duì)第一待恢復(fù)區(qū)塊進(jìn)行數(shù)據(jù)恢復(fù)處理,包括:

    17、將所有物理頁(yè)均不為空的第一待恢復(fù)區(qū)塊確定為第二待恢復(fù)區(qū)塊;

    18、根據(jù)第二待恢復(fù)區(qū)塊中最后一個(gè)物理頁(yè)的數(shù)據(jù)存儲(chǔ)情況,對(duì)第二待恢復(fù)區(qū)塊進(jìn)行數(shù)據(jù)恢復(fù)處理。

    19、進(jìn)一步,在一些實(shí)施例當(dāng)中,根據(jù)第二待恢復(fù)區(qū)塊中最后一個(gè)物理頁(yè)的數(shù)據(jù)存儲(chǔ)情況,對(duì)第二待恢復(fù)區(qū)塊進(jìn)行數(shù)據(jù)恢復(fù),包括:

    20、讀取flash閃存的閃存工作狀態(tài),以及第二待恢復(fù)區(qū)塊中最后一個(gè)物理頁(yè)的第二帶外數(shù)據(jù)和第一映射數(shù)據(jù),第二帶外數(shù)據(jù)包含用于表征物理頁(yè)類型的頁(yè)類型數(shù)據(jù),第一映射數(shù)組包含用于映射第二待恢復(fù)區(qū)塊中除最后一個(gè)物理頁(yè)之外的各個(gè)物理頁(yè)的物理映射數(shù)據(jù),第一映射數(shù)組存儲(chǔ)于第二待恢復(fù)區(qū)塊的最后一個(gè)物理頁(yè)中;

    21、根據(jù)flash閃存工作狀態(tài)確定第二待恢復(fù)區(qū)塊是否觸發(fā)過(guò)ecc錯(cuò)誤;

    22、若第二待恢復(fù)區(qū)塊觸發(fā)過(guò)ecc錯(cuò)誤,則確立獲取第一映射數(shù)組無(wú)效,并讀取第二待恢復(fù)區(qū)塊中除最后一個(gè)物理頁(yè)之外的各個(gè)物理頁(yè)的第三帶外數(shù)據(jù),根據(jù)各個(gè)第三帶外數(shù)據(jù)重建第二待恢復(fù)區(qū)塊在邏輯映射表中的映射數(shù)據(jù),以及將第二待恢復(fù)區(qū)塊放至第二區(qū)塊鏈表的末尾,其中,第二區(qū)塊鏈表用于存儲(chǔ)需要進(jìn)行垃圾回收的區(qū)塊;

    23、或者,若第二待恢復(fù)區(qū)塊沒(méi)有觸發(fā)過(guò)ecc錯(cuò)誤,則根據(jù)第二帶外數(shù)據(jù)和第一映射數(shù)組,對(duì)第一待恢復(fù)區(qū)塊進(jìn)行數(shù)據(jù)恢復(fù)處理。

    24、進(jìn)一步,在一些實(shí)施例當(dāng)中,根據(jù)第二帶外數(shù)據(jù)和第一映射數(shù)組,確定第二待恢復(fù)區(qū)塊中所有物理頁(yè)是否均被寫(xiě)滿用戶數(shù)據(jù),包括:

    25、根據(jù)第二帶外數(shù)據(jù)的頁(yè)類型數(shù)據(jù),確定第二待恢復(fù)區(qū)塊中除最后一個(gè)物理頁(yè)之外的各個(gè)物理頁(yè)是否均被寫(xiě)滿用戶數(shù)據(jù);

    26、若第二待恢復(fù)區(qū)塊中除最后一個(gè)物理頁(yè)之外的各個(gè)物理頁(yè)均被寫(xiě)滿用戶數(shù)據(jù),則根據(jù)第一映射數(shù)組,重建第二待恢復(fù)區(qū)塊在邏輯映射表中的映射數(shù)據(jù);

    27、或者,若第二待恢復(fù)區(qū)塊中除最后一個(gè)物理頁(yè)之外的各個(gè)物理頁(yè)未均被寫(xiě)滿用戶數(shù)據(jù),則根據(jù)第二待恢復(fù)區(qū)塊更新待重建空間,并讀取第二待恢復(fù)區(qū)塊中除最后一個(gè)物理頁(yè)之外的各個(gè)物理頁(yè)的第三帶外數(shù)據(jù),以及根據(jù)各個(gè)第三帶外數(shù)據(jù)重建第二待恢復(fù)區(qū)塊在邏輯映射表中的映射數(shù)據(jù)。

    28、進(jìn)一步,在一些實(shí)施例當(dāng)中,根據(jù)第二帶外數(shù)據(jù)的頁(yè)類型數(shù)據(jù),確定第二待恢復(fù)區(qū)塊中所有物理頁(yè)是否均被寫(xiě)滿用戶數(shù)據(jù),包括:

    29、當(dāng)頁(yè)類型數(shù)據(jù)的物理頁(yè)類型為物理映射頁(yè)類型,則確定第二待恢復(fù)區(qū)塊中除最后一個(gè)物理頁(yè)之外的各個(gè)物理頁(yè)均被寫(xiě)滿用戶數(shù)據(jù);

    30、或者,當(dāng)頁(yè)類型數(shù)據(jù)的物理頁(yè)類型為非物理映射頁(yè)類型或者頁(yè)類型數(shù)據(jù)為空數(shù)據(jù),則確定第二待恢復(fù)區(qū)塊中除最后一個(gè)物理頁(yè)之外的各個(gè)物理頁(yè)未均被寫(xiě)滿用戶數(shù)據(jù)。

    31、進(jìn)一步,在一些實(shí)施例當(dāng)中,根據(jù)第二待恢復(fù)區(qū)塊更新待重建空間,包括:

    32、判斷第一存儲(chǔ)節(jié)點(diǎn)是否為空;

    33、當(dāng)?shù)谝淮鎯?chǔ)節(jié)點(diǎn)為空,將第二待恢復(fù)區(qū)塊放至第一存儲(chǔ)節(jié)點(diǎn);

    34、當(dāng)?shù)谝淮鎯?chǔ)節(jié)點(diǎn)不為空,判斷第二存儲(chǔ)節(jié)點(diǎn)是否為空;

    35、當(dāng)?shù)诙鎯?chǔ)節(jié)點(diǎn)為空時(shí),將第二待恢復(fù)區(qū)塊放至第二存儲(chǔ)節(jié)點(diǎn);

    36、當(dāng)?shù)诙鎯?chǔ)節(jié)點(diǎn)不為空時(shí),將第一存儲(chǔ)節(jié)點(diǎn)存儲(chǔ)的區(qū)塊放至第二區(qū)塊鏈表的末尾,將第二存儲(chǔ)節(jié)點(diǎn)本文檔來(lái)自技高網(wǎng)...

    【技術(shù)保護(hù)點(diǎn)】

    1.一種緩存斷電恢復(fù)方法,其特征在于,包括:

    2.根據(jù)權(quán)利要求1所述的緩存斷電恢復(fù)方法,其特征在于,所述待重建空間設(shè)有第一存儲(chǔ)節(jié)點(diǎn)和第二存儲(chǔ)節(jié)點(diǎn),所述在待重建空間中確定并重建所述目標(biāo)工作區(qū)塊,包括:

    3.根據(jù)權(quán)利要求2所述的緩存斷電恢復(fù)方法,其特征在于,所述根據(jù)所述第一已使用次數(shù)和所述第二已使用次數(shù)確定所述目標(biāo)工作區(qū)塊并重建,包括:

    4.根據(jù)權(quán)利要求2所述的緩存斷電恢復(fù)方法,其特征在于,所述根據(jù)所述第一待恢復(fù)區(qū)塊中最后一個(gè)物理頁(yè)的數(shù)據(jù)存儲(chǔ)情況,對(duì)所述第一待恢復(fù)區(qū)塊進(jìn)行數(shù)據(jù)恢復(fù)處理,包括:

    5.根據(jù)權(quán)利要求4所述的緩存斷電恢復(fù)方法,其特征在于,所述根據(jù)所述第二待恢復(fù)區(qū)塊中所有物理頁(yè)的數(shù)據(jù)存儲(chǔ)情況,對(duì)所述第二待恢復(fù)區(qū)塊進(jìn)行數(shù)據(jù)恢復(fù),包括:

    6.根據(jù)權(quán)利要求5所述的緩存斷電恢復(fù)方法,其特征在于,所述根據(jù)所述第二帶外數(shù)據(jù)和所述第一映射數(shù)組,對(duì)所述第一待恢復(fù)區(qū)塊進(jìn)行數(shù)據(jù)恢復(fù)處理,包括:

    7.根據(jù)權(quán)利要求6所述的緩存斷電恢復(fù)方法,其特征在于,所述根據(jù)所述第二帶外數(shù)據(jù)的頁(yè)類型數(shù)據(jù),確定所述第二待恢復(fù)區(qū)塊中所有物理頁(yè)是否均被寫(xiě)滿用戶數(shù)據(jù),包括:

    8.根據(jù)權(quán)利要求6所述的緩存斷電恢復(fù)方法,其特征在于,所述根據(jù)所述第二待恢復(fù)區(qū)塊更新所述待重建空間,包括:

    9.一種緩存斷電恢復(fù)系統(tǒng),其特征在于,包括:

    10.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述存儲(chǔ)介質(zhì)存儲(chǔ)有計(jì)算機(jī)程序,其特征在于,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)權(quán)利要求1至8任意一項(xiàng)所述的緩存斷電恢復(fù)方法。

    ...

    【技術(shù)特征摘要】

    1.一種緩存斷電恢復(fù)方法,其特征在于,包括:

    2.根據(jù)權(quán)利要求1所述的緩存斷電恢復(fù)方法,其特征在于,所述待重建空間設(shè)有第一存儲(chǔ)節(jié)點(diǎn)和第二存儲(chǔ)節(jié)點(diǎn),所述在待重建空間中確定并重建所述目標(biāo)工作區(qū)塊,包括:

    3.根據(jù)權(quán)利要求2所述的緩存斷電恢復(fù)方法,其特征在于,所述根據(jù)所述第一已使用次數(shù)和所述第二已使用次數(shù)確定所述目標(biāo)工作區(qū)塊并重建,包括:

    4.根據(jù)權(quán)利要求2所述的緩存斷電恢復(fù)方法,其特征在于,所述根據(jù)所述第一待恢復(fù)區(qū)塊中最后一個(gè)物理頁(yè)的數(shù)據(jù)存儲(chǔ)情況,對(duì)所述第一待恢復(fù)區(qū)塊進(jìn)行數(shù)據(jù)恢復(fù)處理,包括:

    5.根據(jù)權(quán)利要求4所述的緩存斷電恢復(fù)方法,其特征在于,所述根據(jù)所述第二待恢復(fù)區(qū)塊中所有物理頁(yè)的數(shù)據(jù)存儲(chǔ)情況,對(duì)所述第二待恢復(fù)區(qū)塊進(jìn)行數(shù)據(jù)...

    【專利技術(shù)屬性】
    技術(shù)研發(fā)人員:江澈李明烽原順
    申請(qǐng)(專利權(quán))人:廣東匠芯創(chuàng)科技有限公司
    類型:發(fā)明
    國(guó)別省市:

    網(wǎng)友詢問(wèn)留言 已有0條評(píng)論
    • 還沒(méi)有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。

    1
    主站蜘蛛池模板: 精品久久久久久无码中文字幕漫画| 国产99久久九九精品无码| (无码视频)在线观看| 亚洲AV无码久久精品蜜桃| 无码av高潮喷水无码专区线| 亚洲综合无码一区二区| 国产在线拍揄自揄拍无码视频| 人妻丰满熟AV无码区HD| 国产∨亚洲V天堂无码久久久| 日韩欧精品无码视频无删节| 毛片一区二区三区无码| 亚洲精品无码精品mV在线观看 | 亚洲精品~无码抽插| 中文无码喷潮在线播放| 亚洲精品无码专区| 亚洲精品无码久久久久sm| 亚洲午夜无码AV毛片久久| 精品亚洲AV无码一区二区| 亚洲 另类 无码 在线| 亚洲AV无码精品蜜桃| 国产成人无码精品一区二区三区| 无码丰满熟妇juliaann与黑人 | 无码 免费 国产在线观看91| 亚洲国产精品成人精品无码区在线| 亚洲av永久无码嘿嘿嘿 | 免费无码精品黄AV电影| 国产无遮挡无码视频免费软件| 亚洲性无码一区二区三区| 无码精品久久久久久人妻中字 | 国产成人无码一二三区视频 | 中文午夜乱理片无码| 国产成人无码a区在线观看视频免费| 四虎成人精品无码| 亚洲AV无码成人专区片在线观看| 久久久久无码精品| 精品人妻无码专区中文字幕| 久久美利坚合众国AV无码| 亚洲日韩一区二区一无码| 亚洲ⅴ国产v天堂a无码二区| 国产a级理论片无码老男人| 久久人妻少妇嫩草AV无码蜜桃 |