1.一種寫數(shù)據(jù)的方法,其特征在于,所述方法應(yīng)用于存儲設(shè)備中,所述存儲設(shè)備包括控制器和磁盤,所述控制器包括處理器和緩存,所述緩存包括若干個數(shù)據(jù)塊,每個數(shù)據(jù)塊的大小與所述緩存的最小組成單位相同,所述方法由所述處理器執(zhí)行,包括:
接收寫請求,所述寫請求包括待寫入數(shù)據(jù)以及所述待寫入數(shù)據(jù)的地址;
根據(jù)所述地址確定所述緩存中所述地址對應(yīng)的數(shù)據(jù)塊;
在確定所述地址對應(yīng)的數(shù)據(jù)塊的狀態(tài)是刷盤狀態(tài)時,將所述數(shù)據(jù)塊的狀態(tài)更新為取消狀態(tài),并且將所述待寫入數(shù)據(jù)寫入所述緩存;其中,所述刷盤狀態(tài)表示所述數(shù)據(jù)塊中的數(shù)據(jù)正在被寫入所述磁盤,所述取消狀態(tài)用于在將所述數(shù)據(jù)塊中的數(shù)據(jù)寫入所述磁盤后,根據(jù)所述取消狀態(tài)確定停止執(zhí)行刪除所述數(shù)據(jù)塊中的數(shù)據(jù)的操作。
2.如權(quán)利要求1所述的方法,其特征在于,所述方法還包括:
在確定所述地址對應(yīng)的數(shù)據(jù)塊的狀態(tài)是刷盤狀態(tài)時,若將所述數(shù)據(jù)塊中的數(shù)據(jù)寫入所述磁盤的過程還未啟動,則停止執(zhí)行將所述數(shù)據(jù)塊中的數(shù)據(jù)寫入所述磁盤。
3.如權(quán)利要求1所述的方法,其特征在于,在接收所述寫請求之前,所述方法還包括:
若需要將所述數(shù)據(jù)塊中的數(shù)據(jù)寫入所述磁盤,則確定所述數(shù)據(jù)塊當(dāng)前的狀態(tài);
若所述數(shù)據(jù)塊的狀態(tài)為等待刷盤狀態(tài),則將所述數(shù)據(jù)塊的狀態(tài)更新為刷盤狀態(tài),且將所述數(shù)據(jù)塊中的數(shù)據(jù)寫入所述磁盤;所述等待刷盤狀態(tài)用于指示數(shù)據(jù)塊中的數(shù)據(jù)等待被寫入所述磁盤。
4.如權(quán)利要求1或3所述的方法,其特征在于,在將所述數(shù)據(jù)塊中的數(shù)據(jù)寫入所述磁盤之后,還包括:
確定所述數(shù)據(jù)塊的狀態(tài)是取消狀態(tài)時,獲取所述數(shù)據(jù)塊中包括的數(shù)據(jù)的狀態(tài),以確定所述數(shù)據(jù)塊中新寫入的數(shù)據(jù);
停止執(zhí)行刪除所述新寫入的數(shù)據(jù)的操作,以及,刪除所述數(shù)據(jù)塊中原有的數(shù)據(jù)。
5.一種存儲設(shè)備,其特征在于,包括控制器和磁盤,所述控制器包括處理器和緩存,所述緩存包括若干個數(shù)據(jù)塊,每個數(shù)據(jù)塊的大小與所述緩存的最小組成單位相同;其中,所述處理器用于:
接收寫請求,所述寫請求包括待寫入數(shù)據(jù)以及所述待寫入數(shù)據(jù)的地址;
根據(jù)所述地址確定所述緩存中所述地址對應(yīng)的數(shù)據(jù)塊;
在確定所述地址對應(yīng)的數(shù)據(jù)塊的狀態(tài)是刷盤狀態(tài)時,將所述數(shù)據(jù)塊的狀態(tài)更新為取消狀態(tài),并且將所述待寫入數(shù)據(jù)寫入所述緩存;其中,所述刷盤狀態(tài)表示所述數(shù)據(jù)塊中的數(shù)據(jù)正在被寫入所述磁盤,所述取消狀態(tài)用于在將所述數(shù)據(jù)塊中的數(shù)據(jù)寫入所述磁盤后,根據(jù)所述取消狀態(tài)確定停止執(zhí)行刪除所述數(shù)據(jù)塊中的數(shù)據(jù)的操作。
6.如權(quán)利要求5所述的存儲設(shè)備,其特征在于,所述處理器還用于:
在確定所述地址對應(yīng)的數(shù)據(jù)塊的狀態(tài)是刷盤狀態(tài)時,若將所述數(shù)據(jù)塊中的數(shù)據(jù)寫入所述磁盤的過程還未啟動,則停止執(zhí)行將所述數(shù)據(jù)塊中的數(shù)據(jù)寫入所述磁盤。
7.如權(quán)利要求5所述的存儲設(shè)備,其特征在于,所述處理器還用于:
在接收所述寫請求之前,若需要將所述數(shù)據(jù)塊中的數(shù)據(jù)寫入所述磁盤,則確定所述數(shù)據(jù)塊當(dāng)前的狀態(tài);
若所述數(shù)據(jù)塊的狀態(tài)為等待刷盤狀態(tài),則將所述數(shù)據(jù)塊的狀態(tài)更新為刷盤狀態(tài),且將所述數(shù)據(jù)塊中的數(shù)據(jù)寫入所述磁盤;所述等待刷盤狀態(tài)用于指示數(shù)據(jù)塊中的數(shù)據(jù)等待被寫入所述磁盤。
8.如權(quán)利要求5或7所述的存儲設(shè)備,其特征在于,所述處理器還用于:
在將所述數(shù)據(jù)塊中的數(shù)據(jù)寫入所述磁盤之后,確定所述數(shù)據(jù)塊的狀態(tài)是取消狀態(tài)時,獲取所述數(shù)據(jù)塊中包括的數(shù)據(jù)的狀態(tài),以確定所述數(shù)據(jù)塊中新寫入的數(shù)據(jù);
停止執(zhí)行刪除所述新寫入的數(shù)據(jù)的操作,以及,刪除所述數(shù)據(jù)塊中原有的數(shù)據(jù)。
9.一種存儲系統(tǒng),其特征在于,包括主機(jī)以及存儲設(shè)備;其中:
所述主機(jī),用于向所述存儲設(shè)備發(fā)送寫請求;所述寫請求包括待寫入數(shù)據(jù)以及所述待寫入數(shù)據(jù)的地址;
所述存儲設(shè)備,包括控制器和磁盤,所述控制器包括處理器和緩存,所述緩存包括若干個數(shù)據(jù)塊,每個數(shù)據(jù)塊的大小與所述緩存的最小組成單位相同;其中,所述處理器用于:接收所述寫請求;根據(jù)所述地址確定所述緩存中所述地址對應(yīng)的數(shù)據(jù)塊;在確定所述地址對應(yīng)的數(shù)據(jù)塊的狀態(tài)是刷盤狀態(tài)時,將所述數(shù)據(jù)塊的狀態(tài)更新為取消狀態(tài),并且將所述待寫入數(shù)據(jù)寫入所述緩存;其中,所述刷盤狀態(tài)表示所述數(shù)據(jù)塊中的數(shù)據(jù)正在被寫入所述磁盤,所述取消狀態(tài)用于在將所述數(shù)據(jù)塊中的數(shù)據(jù)寫入所述磁盤后,根據(jù)所述取消狀態(tài)確定停止執(zhí)行刪除所述數(shù)據(jù)塊中的數(shù)據(jù)的操作。