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
    主站蜘蛛池模板: 精品久久久久久无码专区不卡| 日韩亚洲AV无码一区二区不卡 | 未满十八18禁止免费无码网站| 亚洲中文字幕不卡无码| 日韩精品真人荷官无码| 无码喷水一区二区浪潮AV| 亚洲熟妇无码AV| 狠狠躁天天躁中文字幕无码 | 台湾无码一区二区| 国产精品亚洲а∨无码播放麻豆 | 永久免费av无码不卡在线观看 | 18禁超污无遮挡无码免费网站| 日韩乱码人妻无码系列中文字幕 | 西西人体444www大胆无码视频| 人妻少妇乱子伦无码专区| 亚洲日韩一区二区一无码 | 精品久久久久久无码专区不卡 | 亚洲精品无码不卡在线播HE| 无遮掩无码h成人av动漫| 精品无码久久久久国产| 无码人妻精品一区二区在线视频 | 亚洲综合无码AV一区二区 | 无码国产激情在线观看| 色综合AV综合无码综合网站| 亚洲熟妇无码AV在线播放| 久久人妻少妇嫩草AV无码蜜桃| 国产成人精品无码一区二区老年人| 无码乱肉视频免费大全合集| 无码精品视频一区二区三区| 国产v亚洲v天堂无码网站| 一本一道AV无码中文字幕| 国产成人无码久久久精品一| 一本加勒比HEZYO无码人妻| 亚洲精品无码AV人在线播放| 在线高清无码A.| 欧洲人妻丰满av无码久久不卡| 精品无码一区二区三区爱欲 | 亚洲AV无码一区二区三区牛牛| 无码A级毛片免费视频内谢| 老司机亚洲精品影院无码| 无码av人妻一区二区三区四区|