System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術屬于存儲,具體涉及基于固件與芯片微內核的占位數據補齊方法及系統。
技術介紹
1、隨著半導體存儲技術的飛速發展,固態硬盤(solid?state?drives,?ssd)已成為高性能存儲系統的核心。在固態硬盤中,數據通常按照4k或8k(分別記為p4k或p8k)的數據塊進行管理。為了提高固態硬盤的寫入效率,通常采用多重寫入(multi-write)的方式,將多個p4k或p8k數據塊組合成一個更大的寫入單元,稱為編程單元(programming?unit,prou),該單元是實際寫入固態硬盤nand閃存的最小數據單位。
2、在這種環境下,有效管理和維護固態硬盤寫入數據的完整性變得尤為重要。在某些情況下,如數據不頻繁更新或遭遇異常斷電時,固態硬盤中的數據塊(p4k或p8k)可能無法湊齊成為最小寫入單元(program?unit,?prou)。這種不完整的數據單元需暫存于內存,未能及時寫入nand閃存,將導致內存資源浪費和數據丟失的風險。對于這種情況,可在不完整的數據單元中補齊相應的占位數據(dummy?data)來得到完整的編程單元(programmingunit,?prou)寫入nand閃存。
3、傳統的補齊占位數據(dummy?data)的方法是通過純軟件的方式實現的:1.結合定時器(timer),在定時器的回調函數中檢查編程單元是否已經組成完整;2.在檢測到編程單元不完整時,需要通過軟件反復申請多個p4k大小的內存,并將這些虛擬數據與原有數據在內存中組合成編程單元后,再寫入nand閃存。這種傳統方
技術實現思路
1、本專利技術的目的是提供基于固件與芯片微內核的占位數據補齊方法及系統,用以解決現有技術中存在的上述問題。
2、為了實現上述目的,本專利技術采用以下技術方案:
3、第一方面,提供基于固件與芯片微內核的占位數據補齊方法,應用于固態硬盤主控芯片的微內核,方法包括:
4、接收固態硬盤主控芯片的中央處理器所發送的配置信息,所述配置信息包括緩存區地址、編程單元結構參數和預定時間段;
5、基于編程單元結構參數檢測在預定時間段內固態硬盤所有待寫入的編程單元中是否存在未湊齊的編程單元;
6、在檢測到存在未湊齊的編程單元時,生成中斷信號,并根據編程單元結構參數確定對應編程單元所缺少的數據塊數量;
7、將中斷信號傳輸至中央處理器,并接收中央處理器反饋的寫入命令;
8、基于寫入命令調取緩存區地址,并根據緩存區地址訪問預置的緩存區,從緩存區內讀取預存的占位數據塊;
9、根據對應編程單元所缺少的數據塊數量將占位數據塊重復寫入對應編程單元,以補齊對應編程單元,得到完整編程單元;
10、將完整編程單元寫入固態硬盤閃存芯片。
11、在一個可能的設計中,所述編程單元包含若干個4k數據塊,所述占位數據塊為4k數據塊,所述緩存區為4k大小的緩存區。
12、在一個可能的設計中,所述編程單元結構參數包含完整編程單元的4k數據塊數量。
13、第二方面,提供基于固件與芯片微內核的占位數據補齊方法,應用于固態硬盤主控芯片的中央處理器,方法包括:
14、創建緩存區和占位數據塊,將占位數據塊存入緩存區內,確定緩存區的緩存區地址;
15、獲取編程單元結構參數和預定時間段;
16、將緩存區地址、編程單元結構參數和預定時間段組成配置信息,將配置信息發送至固態硬盤主控芯片的微內核,以使微內核基于編程單元結構參數檢測在預定時間段內固態硬盤所有待寫入的編程單元中是否存在未湊齊的編程單元,以及在檢測到存在未湊齊的編程單元時生成中斷信號,根據編程單元結構參數確定對應編程單元所缺少的數據塊數量;
17、接收微內核反饋的中斷信號,并響應中斷信號生成寫入命令;
18、將寫入命令發送至微內核,以使微內核基于寫入命令調取緩存區地址,根據緩存區地址訪問預置的緩存區,從緩存區內讀取預存的占位數據塊,根據對應編程單元所缺少的數據塊數量將占位數據塊重復寫入對應編程單元,補齊對應編程單元,得到完整編程單元,將完整編程單元寫入固態硬盤閃存芯片。
19、在一個可能的設計中,所述編程單元包含若干個4k數據塊,所述占位數據塊為4k數據塊,所述緩存區為4k大小的緩存區。
20、在一個可能的設計中,所述編程單元結構參數包含完整編程單元的4k數據塊數量。
21、第三方面,提供基于固件與芯片微內核的占位數據補齊方法,應用于固態硬盤主控芯片,方法包括:
22、創建緩存區和占位數據塊,將占位數據塊存入緩存區內,確定緩存區的緩存區地址;
23、獲取編程單元結構參數和預定時間段;
24、基于編程單元結構參數檢測在預定時間段內固態硬盤所有待寫入的編程單元中是否存在未湊齊的編程單元;
25、在檢測到存在未湊齊的編程單元時,根據編程單元結構參數確定對應編程單元所缺少的數據塊數量;
26、調取緩存區地址,并根據緩存區地址訪問預置的緩存區,從緩存區內讀取預存的占位數據塊;
27、根據對應編程單元所缺少的數據塊數量將占位數據塊重復寫入對應編程單元,以補齊對應編程單元,得到完整編程單元;
28、將完整編程單元寫入固態硬盤閃存芯片。
29、在一個可能的設計中,所述編程單元包含若干個4k數據塊,所述占位數據塊為4k數據塊,所述緩存區為4k大小的緩存區。
30、在一個可能的設計中,所述編程單元結構參數包含完整編程單元的4k數據塊數量。
31、第四方面,提供基于固件與芯片微內核的占位數據補齊系統,包括固態硬盤主控芯片和固態硬盤閃存芯片,所述固態硬盤主控芯片設有中央處理器和微內核,其中:
32、中央處理器,用于創建緩存區和占位數據塊,將占位數據塊存入緩存區內,確定緩存區的緩存區地址;獲取編程單元結構參數和預定時間段;將緩存區地址、編程單元結構參數和預定時間段組成配置信息,將配置信息發送至固態硬盤主控芯片的微內核;接收微內核反饋的中斷信號,并響應中斷信號生成寫入命令;以及將寫入命令發送至微內核;
33、微內核,用于接收中央處理器所發送的配置信息;基于編程單元結構參數檢測在預定時間段內固態硬盤所有待寫入的編程單元中是否存在未湊齊的編程單元;在檢測到存在未湊齊的編程單元時,生成中斷信號,并根據編程單元結構參數確定對應編程單元所缺少的數據塊數量;將中斷信號傳輸至中央處理器,并接收中央處理器反饋的寫入命令;基于寫入命令調取緩存區地址,并根據緩存區地址訪問預置的緩存區,從緩存區內讀取預存的占位數據塊;根據對應編程單元所缺少的數據塊數量將占位數據塊重復寫入對應編程本文檔來自技高網...
【技術保護點】
1.基于固件與芯片微內核的占位數據補齊方法,應用于固態硬盤主控芯片的微內核,其特征在于,包括:
2.基于固件與芯片微內核的占位數據補齊方法,應用于固態硬盤主控芯片的中央處理器,其特征在于,包括:
3.基于固件與芯片微內核的占位數據補齊方法,應用于固態硬盤主控芯片,其特征在于,包括:
4.根據權利要求1-3任一所述的基于固件與芯片微內核的占位數據補齊方法,其特征在于,所述編程單元包含若干個4K數據塊,所述占位數據塊為4K數據塊,所述緩存區為4K大小的緩存區。
5.根據權利要求4所述的基于固件與芯片微內核的占位數據補齊方法,其特征在于,所述編程單元結構參數包含完整編程單元的4K數據塊數量。
6.基于固件與芯片微內核的占位數據補齊系統,其特征在于,包括固態硬盤主控芯片和固態硬盤閃存芯片,所述固態硬盤主控芯片設有中央處理器和微內核,其中:
7.根據權利要求6所述的基于固件與芯片微內核的占位數據補齊系統,其特征在于,所述微內核部署于相應的硬件加速器內,所述硬件加速器包括配置寄存器和狀態寄存器,所述配置寄存器用于存儲配置
8.根據權利要求6所述的基于固件與芯片微內核的占位數據補齊系統,其特征在于,所述固態硬盤閃存芯片為Nand-flash存儲器。
...【技術特征摘要】
1.基于固件與芯片微內核的占位數據補齊方法,應用于固態硬盤主控芯片的微內核,其特征在于,包括:
2.基于固件與芯片微內核的占位數據補齊方法,應用于固態硬盤主控芯片的中央處理器,其特征在于,包括:
3.基于固件與芯片微內核的占位數據補齊方法,應用于固態硬盤主控芯片,其特征在于,包括:
4.根據權利要求1-3任一所述的基于固件與芯片微內核的占位數據補齊方法,其特征在于,所述編程單元包含若干個4k數據塊,所述占位數據塊為4k數據塊,所述緩存區為4k大小的緩存區。
5.根據權利要求4所述的基于固件與芯片微內核的占位數據補齊方法,其特征在于,所述編...
【專利技術屬性】
技術研發人員:鄒飛,邱杰,黃澤誠,
申請(專利權)人:四川云海芯科微電子科技有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。