本申請涉及固態(tài)硬盤,尤其涉及一種trim命令處理方法、裝置及相關(guān)設(shè)備。
背景技術(shù):
1、在ssd(solid?state?drive,固態(tài)硬盤)與計(jì)算機(jī)連接的狀態(tài)下,當(dāng)需要刪除ssd中存儲的目標(biāo)數(shù)據(jù)時,計(jì)算機(jī)會發(fā)送trim命令至ssd。
2、在實(shí)際執(zhí)行中,ssd處理trim命令的過程包括:針對trim命令進(jìn)行解析得到lba(logical?block?address,邏輯塊地址)信息,以及根據(jù)lba信息將l2p(logical?tophysical,邏輯塊至物理塊)表中所記載的存儲有目標(biāo)數(shù)據(jù)的物理塊中的數(shù)據(jù)頁標(biāo)記為無效。在trim命令處理完畢后,ssd根據(jù)處理后的l2p表將內(nèi)存空間中被標(biāo)記無效的數(shù)據(jù)頁中的目標(biāo)數(shù)據(jù)進(jìn)行垃圾回收處理,最終實(shí)現(xiàn)目標(biāo)數(shù)據(jù)的刪除處理;其中,針對l2p表的處理過程需要在ssd的空閑時間才能處理。
3、在實(shí)際應(yīng)用中,雖然trim命令的使用有助于提高ssd的寫入性能并且能夠有效延長ssd的使用壽命,但是在ssd中針對l2p表進(jìn)行處理的優(yōu)先級低于針對讀寫請求進(jìn)行處理的優(yōu)先級,導(dǎo)致針對l2p表的處理過程很容易被打斷和延誤,由此可能因?yàn)槟繕?biāo)數(shù)據(jù)刪除的不及時導(dǎo)致寫放大增大,甚至還會導(dǎo)致影響到對讀寫請求的處理效率。
技術(shù)實(shí)現(xiàn)思路
1、有鑒于此,本申請的目的在于提供一種trim命令處理方法、裝置及相關(guān)設(shè)備,以解決現(xiàn)有技術(shù)中存在的針對l2p表的處理過程被針對讀寫請求的處理過程打斷和延誤從而導(dǎo)致目標(biāo)數(shù)據(jù)刪除的不及時的技術(shù)問題。
2、第一方面,本申請?zhí)岢隽艘环Ntrim命令處理方法,應(yīng)用于固態(tài)硬盤,所述方法包括:
3、針對接收到的trim命令進(jìn)行解析得到邏輯塊地址lba信息;
4、根據(jù)所述lba信息,針對邏輯塊至物理塊l2p表進(jìn)行處理;
5、在針對所述l2p表進(jìn)行處理的過程中,若接收到讀寫請求,根據(jù)所述讀寫請求,控制針對所述讀寫請求的處理過程和針對所述l2p表的處理過程交替進(jìn)行。
6、優(yōu)選地,所述根據(jù)所述讀寫請求,控制針對所述讀寫請求的處理過程和針對所述l2p表的處理過程交替進(jìn)行,包括:
7、根據(jù)所述讀寫請求,確定所述讀寫請求的類型;
8、其中,所述讀寫請求的類型包括:純寫、純讀和讀寫混合;
9、根據(jù)所述讀寫請求的類型,在多個交替條件中確定控制針對所述讀寫請求的處理過程和針對所述l2p表的處理過程交替進(jìn)行時所需滿足的當(dāng)前交替條件;
10、根據(jù)所述當(dāng)前交替條件,控制針對所述讀寫請求的處理過程和針對所述l2p表的處理過程交替進(jìn)行。
11、優(yōu)選地,所述lba信息指示所述固態(tài)硬盤中存儲有目標(biāo)數(shù)據(jù)的目標(biāo)物理塊中的目標(biāo)數(shù)據(jù)頁的位置信息和數(shù)據(jù)信息,所述目標(biāo)數(shù)據(jù)為所述trim命令所指示的需要在所述固態(tài)硬盤中進(jìn)行刪除的數(shù)據(jù);
12、所述針對所述讀寫請求的處理過程包括:與m個所述讀寫請求呈一一對應(yīng)的m個第一單位流程;
13、所述針對所述l2p表的處理過程包括:與n個所述目標(biāo)物理塊呈一一對應(yīng)的n個第二單位流程;
14、所述第二單位流程包括:根據(jù)所述位置信息將所述l2p表中所記載的第n個所述目標(biāo)物理塊中的所述目標(biāo)數(shù)據(jù)頁標(biāo)記為無效,根據(jù)所述數(shù)據(jù)信息將有效頁計(jì)數(shù)vpc表中所記載的第n個所述目標(biāo)物理塊中的有效數(shù)據(jù)頁的數(shù)量進(jìn)行調(diào)整,n≥n≥1;
15、所述交替條件指示每當(dāng)m′個所述第一單位流程執(zhí)行完畢后執(zhí)行n′個所述第二單位流程;其中,m≥m′≥1,n≥n′≥1。
16、優(yōu)選地,當(dāng)所述讀寫請求的類型為所述純寫時,m′與n′之間的比值為第一值;
17、當(dāng)所述讀寫請求的類型為所述純讀時,m′與n′之間的比值為第二值;
18、當(dāng)所述讀寫請求的類型為所述讀寫混合時,m′與n′之間的比值為第三值。
19、優(yōu)選地,所述第一值、所述第二值和所述第三值之間的大小關(guān)系滿足下述條件:
20、所述第二值>所述第三值>所述第一值;
21、當(dāng)所述讀寫請求的類型分別為所述純寫、所述純讀和所述讀寫混合時所對應(yīng)的n′純寫、n′純讀和n′讀寫混合之間的大小關(guān)系滿足下述條件:
22、n′純寫>n′讀寫混合>n′純讀。
23、優(yōu)選地,所述trim命令的數(shù)量為p個;所述方法還包括:
24、在交替進(jìn)行過程中的第i個所述針對所述l2p表進(jìn)行處理的過程中,若將第p個所述trim命令所對應(yīng)的np個所述第二單位流程處理完畢并且np<n′,繼續(xù)針對后序的所述p命令所對應(yīng)的至少一個所述第二單位流程進(jìn)行處理,直至第i個所述針對所述l2p表進(jìn)行處理的過程所處理完畢的所述第二單位流程的數(shù)量達(dá)至n′個;其中,i≥1;
25、其中,所述后序的所述trim命令指示在trim命令排序中位于第p個所述trim命令后序的至少一個所述trim命令,所述trim命令排序指示p個所述trim命令按照被傳送至所述固態(tài)硬盤的順序,p≥p≥1。
26、第二方面,本申請?zhí)峁┝艘环Ntrim命令處理裝置,應(yīng)用于固態(tài)硬盤,所述裝置包括:解析模塊、處理模塊和調(diào)度模塊;
27、所述解析模塊,用于針對接收到的trim命令進(jìn)行解析得到邏輯塊地址lba信息;
28、所述處理模塊,根據(jù)所述lba信息,針對邏輯塊至物理塊l2p表進(jìn)行處理;
29、所述調(diào)度模塊,用于在針對所述l2p表進(jìn)行處理的過程中,若接收到讀寫請求,根據(jù)所述讀寫請求,控制針對所述讀寫請求的處理過程和針對所述l2p表的處理過程交替進(jìn)行。
30、第三方面,本申請?zhí)峁┝艘环N電子設(shè)備,所述電子設(shè)備包括處理器和存儲器,所述存儲器用于存儲軟件程序,所述處理器通過運(yùn)行或執(zhí)行存儲在所述存儲器內(nèi)的軟件程序,以使所述電子設(shè)備實(shí)現(xiàn)如上述的trim命令處理方法。
31、第四方面,本申請?zhí)峁┝艘环N計(jì)算機(jī)可讀存儲介質(zhì),所述計(jì)算機(jī)可讀存儲介質(zhì)用于存儲處理器所執(zhí)行的程序代碼,所述程序代碼包括用于實(shí)現(xiàn)上述的trim命令處理方法。
32、第五方面,本申請?zhí)峁┝艘环N計(jì)算機(jī)程序產(chǎn)品,包括程序代碼,當(dāng)計(jì)算機(jī)運(yùn)行所述計(jì)算機(jī)程序產(chǎn)品時,使得所述計(jì)算機(jī)執(zhí)行上述的trim命令處理方法。
33、有益效果:
34、本申請?zhí)岢隽艘环Ntrim命令處理方法,應(yīng)用于固態(tài)硬盤,方法包括:針對接收到的trim命令進(jìn)行解析得到邏輯塊地址lba信息;根據(jù)lba信息,針對邏輯塊至物理塊l2p表進(jìn)行處理;在針對l2p表進(jìn)行處理的過程中,若接收到讀寫請求,根據(jù)讀寫請求,控制針對讀寫請求的處理過程和針對l2p表的處理過程交替進(jìn)行;
35、綜上可知,本申請將針對讀寫請求的處理過程和針對l2p表的處理過程進(jìn)行了調(diào)度,令針對讀寫請求的處理過程和針對l2p表的處理過程能夠交替進(jìn)行,因此當(dāng)實(shí)施本申請的技術(shù)方案后,ssd中需要刪除的目標(biāo)數(shù)據(jù)會及時刪除,避免了寫放大增大,保證了ssd對讀寫請求的處理質(zhì)量。
1.一種trim命令處理方法,其特征在于,應(yīng)用于固態(tài)硬盤,所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述讀寫請求,控制針對所述讀寫請求的處理過程和針對所述l2p表的處理過程交替進(jìn)行,包括:
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述lba信息指示所述固態(tài)硬盤中存儲有目標(biāo)數(shù)據(jù)的目標(biāo)物理塊中的目標(biāo)數(shù)據(jù)頁的位置信息和數(shù)據(jù)信息,所述目標(biāo)數(shù)據(jù)為所述trim命令所指示的需要在所述固態(tài)硬盤中進(jìn)行刪除的數(shù)據(jù);
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,當(dāng)所述讀寫請求的類型為所述純寫時,m′與n′之間的比值為第一值;
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述第一值、所述第二值和所述第三值之間的大小關(guān)系滿足下述條件:
6.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述p命令的數(shù)量為p個;所述方法還包括:
7.一種trim命令處理裝置,其特征在于,應(yīng)用于固態(tài)硬盤,所述裝置包括:解析模塊、處理模塊和調(diào)度模塊;
8.一種電子設(shè)備,其特征在于,所述電子設(shè)備包括處理器和存儲器,所述存儲器用于存儲軟件程序,所述處理器通過運(yùn)行或執(zhí)行存儲在所述存儲器內(nèi)的軟件程序,以使所述電子設(shè)備實(shí)現(xiàn)如權(quán)利要求1至6任一項(xiàng)所述的trim命令處理方法。
9.一種計(jì)算機(jī)可讀存儲介質(zhì),其特征在于,所述計(jì)算機(jī)可讀存儲介質(zhì)用于存儲處理器所執(zhí)行的程序代碼,所述程序代碼包括用于實(shí)現(xiàn)如權(quán)利要求1至6任一項(xiàng)所述的trim命令處理方法。
10.一種計(jì)算機(jī)程序產(chǎn)品,其特征在于,包括程序代碼,當(dāng)計(jì)算機(jī)運(yùn)行所述計(jì)算機(jī)程序產(chǎn)品時,使得所述計(jì)算機(jī)執(zhí)行如權(quán)利要求1至6任一項(xiàng)所述的trim命令處理方法。