欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

數(shù)據(jù)存儲(chǔ)方法及裝置與流程

文檔序號(hào):12718535閱讀:229來(lái)源:國(guó)知局
數(shù)據(jù)存儲(chǔ)方法及裝置與流程

本公開(kāi)涉及計(jì)算機(jī)技術(shù)領(lǐng)域,具體地,涉及一種數(shù)據(jù)存儲(chǔ)方法及裝置。



背景技術(shù):

隨著數(shù)據(jù)存儲(chǔ)技術(shù)的高速發(fā)展,諸如SSD(Solid State Drives,固態(tài)硬盤)等等數(shù)據(jù)存儲(chǔ)裝置由于具有讀寫速度快、抗震動(dòng)、低功耗、無(wú)噪音、低熱量、以及質(zhì)量輕等特點(diǎn),已被廣泛應(yīng)用于軍事、車載、工業(yè)、醫(yī)療、和航空等領(lǐng)域。

目前,為了提高數(shù)據(jù)存儲(chǔ)裝置(比如SSD)的讀寫效率,可以為SSD配置多個(gè)處理器,比如可以配置三個(gè)或以上的處理器。在多處理器的環(huán)境下,分配方式通常是分別為每個(gè)處理器平均地分配一個(gè)或多個(gè)存儲(chǔ)單元(比如計(jì)算機(jī)閃存設(shè)備(NAND)),那么SSD的多個(gè)處理器將分別各自管理分配的NAND。

然而,由于NAND存在有壞塊,且壞塊并不是均勻分布的,因此有的NAND壞塊多,有的NAND壞塊少,這將使得管理壞塊較多的處理器讀寫的負(fù)載較低,管理壞塊較少的處理器讀寫的負(fù)載較高。可見(jiàn),現(xiàn)有的管理NAND的方式可能導(dǎo)致數(shù)據(jù)存儲(chǔ)裝置的處理器負(fù)載不均衡。



技術(shù)實(shí)現(xiàn)要素:

本公開(kāi)的目的是提供一種數(shù)據(jù)存儲(chǔ)方法及裝置,用于解決數(shù)據(jù)存儲(chǔ)裝置的處理器負(fù)載不均衡的技術(shù)問(wèn)題。

第一方面,提供一種數(shù)據(jù)存儲(chǔ)方法,包括:

所述數(shù)據(jù)存儲(chǔ)裝置接收寫入數(shù)據(jù)的請(qǐng)求;

所述數(shù)據(jù)存儲(chǔ)裝置包括的至少兩個(gè)處理器中的第一處理器獲取所述數(shù)據(jù)存儲(chǔ)裝置的數(shù)據(jù)寫入狀態(tài)參數(shù);

所述第一處理器根據(jù)所述數(shù)據(jù)寫入狀態(tài)參數(shù),確定寫入所述數(shù)據(jù)的地址;

所述數(shù)據(jù)存儲(chǔ)裝置將所述數(shù)據(jù)寫入所述地址對(duì)應(yīng)的存儲(chǔ)空間。

可選的,所述至少兩個(gè)處理器包括所述第一處理器和至少一個(gè)第二處理器,所述第一處理器與所述至少一個(gè)第二處理器中的每個(gè)處理器相連,

所述數(shù)據(jù)存儲(chǔ)裝置接收用于寫入數(shù)據(jù)的請(qǐng)求,包括:

所述至少一個(gè)第二處理器中的目標(biāo)第二處理器接收用于寫入所述數(shù)據(jù)的請(qǐng)求;

所述目標(biāo)第二處理器根據(jù)接收的用于寫入所述數(shù)據(jù)的請(qǐng)求,生成請(qǐng)求信息;

所述目標(biāo)第二處理器向所述第一處理器發(fā)送所述請(qǐng)求信息,以請(qǐng)求所述第一處理器獲取所述數(shù)據(jù)存儲(chǔ)裝置的數(shù)據(jù)寫入狀態(tài)參數(shù)。

可選的,在所述第一處理器根據(jù)所述數(shù)據(jù)寫入狀態(tài)參數(shù),確定寫入所述數(shù)據(jù)的地址之后,所述方法還包括:

所述第一處理器將所述地址發(fā)送給所述目標(biāo)第二處理器。

可選的,所述第一處理器獲取所述數(shù)據(jù)存儲(chǔ)裝置的數(shù)據(jù)寫入狀態(tài)參數(shù),包括:

所述第一處理器獲取所述數(shù)據(jù)存儲(chǔ)裝置包括的各個(gè)存儲(chǔ)單元中每個(gè)存儲(chǔ)塊當(dāng)前的塊編程時(shí)間、塊擦除時(shí)間、塊讀取錯(cuò)誤率、以及所述各個(gè)存儲(chǔ)單元的壞塊分布情況中的至少一者。

可選的,所述方法還包括:

所述第一處理器根據(jù)所述數(shù)據(jù)存儲(chǔ)裝置的數(shù)據(jù)寫入狀態(tài)參數(shù),新建磁盤陣列RAID條帶結(jié)構(gòu);或,

所述第一處理器根據(jù)所述數(shù)據(jù)存儲(chǔ)裝置的數(shù)據(jù)寫入狀態(tài)參數(shù),以及歷史創(chuàng)建的RAID條帶結(jié)構(gòu),新建RAID條帶結(jié)構(gòu)。

可選的,所述數(shù)據(jù)存儲(chǔ)裝置將所述數(shù)據(jù)寫入所述地址對(duì)應(yīng)的存儲(chǔ)空間,包括:

所述第一處理器將所述數(shù)據(jù)寫入所述地址對(duì)應(yīng)的存儲(chǔ)空間,或,所述目標(biāo)第二處理器將所述數(shù)據(jù)寫入所述地址對(duì)應(yīng)的存儲(chǔ)空間。

第二方面,提供一種數(shù)據(jù)存儲(chǔ)裝置,包括:

至少一個(gè)存儲(chǔ)單元;

至少兩個(gè)處理器,用于接收寫入數(shù)據(jù)的請(qǐng)求;通過(guò)所述至少兩個(gè)處理器中的第一處理器獲取所述數(shù)據(jù)存儲(chǔ)裝置的數(shù)據(jù)寫入狀態(tài)參數(shù);通過(guò)所述第一處理器根據(jù)所述數(shù)據(jù)寫入狀態(tài)參數(shù),確定寫入所述數(shù)據(jù)的地址;將所述數(shù)據(jù)寫入所述至少一個(gè)存儲(chǔ)單元中對(duì)應(yīng)于所述地址的存儲(chǔ)空間。

可選的,所述至少兩個(gè)處理器包括所述第一處理器和至少一個(gè)第二處理器,所述第一處理器與所述至少一個(gè)第二處理器中的每個(gè)處理器相連,所述至少一個(gè)第二處理器用于:

通過(guò)所述至少一個(gè)第二處理器中的目標(biāo)第二處理器接收用于寫入所述數(shù)據(jù)的請(qǐng)求;

通過(guò)所述目標(biāo)第二處理器根據(jù)接收的用于寫入所述數(shù)據(jù)的請(qǐng)求,生成請(qǐng)求信息;

通過(guò)所述目標(biāo)第二處理器向所述第一處理器發(fā)送所述請(qǐng)求信息,以請(qǐng)求所述第一處理器獲取所述數(shù)據(jù)存儲(chǔ)裝置的數(shù)據(jù)寫入狀態(tài)參數(shù)。

可選的,所述至少兩個(gè)處理器還用于:

在所述第一處理器根據(jù)所述數(shù)據(jù)寫入狀態(tài)參數(shù),確定寫入所述數(shù)據(jù)的地址之后,通過(guò)所述第一處理器將所述地址發(fā)送給所述目標(biāo)第二處理器。

可選的,所述至少兩個(gè)處理器用于:

通過(guò)所述第一處理器獲取所述數(shù)據(jù)存儲(chǔ)裝置包括的各個(gè)存儲(chǔ)單元中每個(gè)存儲(chǔ)塊當(dāng)前的塊編程時(shí)間、塊擦除時(shí)間、塊讀取錯(cuò)誤率、以及所述各個(gè)存儲(chǔ)單元的壞塊分布情況中的至少一者。

可選的,所述至少兩個(gè)處理器還用于:

通過(guò)所述第一處理器根據(jù)所述數(shù)據(jù)存儲(chǔ)裝置的數(shù)據(jù)寫入狀態(tài)參數(shù),新建磁盤陣列RAID條帶結(jié)構(gòu);或,

通過(guò)所述第一處理器根據(jù)所述數(shù)據(jù)存儲(chǔ)裝置的數(shù)據(jù)寫入狀態(tài)參數(shù),以及歷史創(chuàng)建的RAID條帶結(jié)構(gòu),新建RAID條帶結(jié)構(gòu)。

可選的,所述至少兩個(gè)處理器用于:

通過(guò)所述第一處理器將所述數(shù)據(jù)寫入所述地址對(duì)應(yīng)的存儲(chǔ)空間,或,通過(guò)所述目標(biāo)第二處理器將所述數(shù)據(jù)寫入所述地址對(duì)應(yīng)的存儲(chǔ)空間。

本公開(kāi)實(shí)施例中,數(shù)據(jù)存儲(chǔ)裝置在接收到主機(jī)發(fā)出的用于寫入數(shù)據(jù)的請(qǐng)求時(shí),可以由數(shù)據(jù)存儲(chǔ)裝置包括的第一處理器獲取數(shù)據(jù)存儲(chǔ)裝置的數(shù)據(jù)寫入狀態(tài)參數(shù),然后根據(jù)數(shù)據(jù)寫入狀態(tài)參數(shù)確定寫入數(shù)據(jù)的地址,再將請(qǐng)求寫入的數(shù)據(jù)寫入確定的地址所對(duì)應(yīng)的存儲(chǔ)空間。通過(guò)上述技術(shù)方案,可以單獨(dú)通過(guò)一個(gè)處理器(即第一處理器)根據(jù)整個(gè)數(shù)據(jù)存儲(chǔ)裝置的數(shù)據(jù)寫入狀態(tài)參數(shù)來(lái)確定要將數(shù)據(jù)寫入的位置,由于第一處理器管理的可以是數(shù)據(jù)存儲(chǔ)裝置包括的全部存儲(chǔ)單元,避免了因給不同處理器分配存儲(chǔ)單元而導(dǎo)致的負(fù)載不均衡的問(wèn)題,提升了數(shù)據(jù)存儲(chǔ)裝置存儲(chǔ)數(shù)據(jù)的能力。

本公開(kāi)的其他特征和優(yōu)點(diǎn)將在隨后的具體實(shí)施方式部分予以詳細(xì)說(shuō)明。

附圖說(shuō)明

附圖是用來(lái)提供對(duì)本公開(kāi)的進(jìn)一步理解,并且構(gòu)成說(shuō)明書(shū)的一部分,與下面的具體實(shí)施方式一起用于解釋本公開(kāi),但并不構(gòu)成對(duì)本公開(kāi)的限制。在附圖中:

圖1為本公開(kāi)實(shí)施例中數(shù)據(jù)存儲(chǔ)裝置的結(jié)構(gòu)示意圖;

圖2為本公開(kāi)實(shí)施例中數(shù)據(jù)存儲(chǔ)方法的流程圖。

具體實(shí)施方式

以下結(jié)合附圖對(duì)本公開(kāi)的具體實(shí)施方式進(jìn)行詳細(xì)說(shuō)明。應(yīng)當(dāng)理解的是,此處所描述的具體實(shí)施方式僅用于說(shuō)明和解釋本公開(kāi),并不用于限制本公開(kāi)。

首先對(duì)本公開(kāi)的數(shù)據(jù)存儲(chǔ)裝置進(jìn)行介紹。

本公開(kāi)實(shí)施例中,數(shù)據(jù)存儲(chǔ)裝置例如可以是SSD,即,用固態(tài)電子存儲(chǔ)芯片陣列制成的硬盤。目前,SSD的存儲(chǔ)介質(zhì)一般可以有兩種,一種是采用閃存(FLASH)芯片作為存儲(chǔ)介質(zhì),另外一種是采用動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(Dynamic Random Access Memory,DRAM)作為存儲(chǔ)介質(zhì)。其中,采用FLASH芯片作為存儲(chǔ)介質(zhì)的SSD,它的外觀可以被制作成多種模樣,例如:筆記本硬盤、微硬盤、存儲(chǔ)卡等樣式。

例如請(qǐng)參見(jiàn)圖1,數(shù)據(jù)存儲(chǔ)裝置10可以包括至少一個(gè)存儲(chǔ)單元11和至少兩個(gè)處理器12。圖1以包括四個(gè)存儲(chǔ)單元11、三個(gè)處理器12(處理器121、處理器122及處理器123)為例,當(dāng)然數(shù)據(jù)存儲(chǔ)裝置包括的也可以是其他數(shù)量的存儲(chǔ)單元11和其他數(shù)量的處理器12,本公開(kāi)實(shí)施例對(duì)此均不作限定。

存儲(chǔ)單元11例如可以是SSD中的存儲(chǔ)介質(zhì),比如為NAND芯片或者DRAM,可以用于存儲(chǔ)數(shù)據(jù)。

處理器12例如可以是SSD中的處理器芯片,處理器芯片是SSD的大腦,其作用比如包括合理調(diào)配數(shù)據(jù)在SSD中的各個(gè)NAND芯片上的負(fù)荷、承擔(dān)了整個(gè)數(shù)據(jù)中轉(zhuǎn),連接NAND芯片和外部SATA(Serial Advanced Technology Attachment,串行硬盤接口技術(shù))接口,等等。

圖2是根據(jù)一示例性實(shí)施例示出的一種數(shù)據(jù)存儲(chǔ)方法的流程圖,如圖2所示,該數(shù)據(jù)存儲(chǔ)方法可以應(yīng)用于數(shù)據(jù)存儲(chǔ)裝置10中,包括以下步驟。

步驟S21:數(shù)據(jù)存儲(chǔ)裝置10接收寫入數(shù)據(jù)的請(qǐng)求。

步驟S22:數(shù)據(jù)存儲(chǔ)裝置10包括的至少兩個(gè)處理器12中的第一處理器12獲取數(shù)據(jù)存儲(chǔ)裝置10的數(shù)據(jù)寫入狀態(tài)參數(shù)。

步驟S23:第一處理器12根據(jù)數(shù)據(jù)寫入狀態(tài)參數(shù),確定寫入數(shù)據(jù)的地址。

步驟S24:數(shù)據(jù)存儲(chǔ)裝置10將數(shù)據(jù)寫入地址對(duì)應(yīng)的存儲(chǔ)空間。

數(shù)據(jù)存儲(chǔ)裝置10例如是安裝在計(jì)算機(jī)中的SSD,寫入數(shù)據(jù)的請(qǐng)求可以是由計(jì)算機(jī)的主機(jī)發(fā)出的,用于將數(shù)據(jù)寫入數(shù)據(jù)存儲(chǔ)裝置10的存儲(chǔ)單元11中的請(qǐng)求。

可選的,至少兩個(gè)處理器12可以包括第一處理器12和至少一個(gè)第二處理器12,第一處理器12與至少一個(gè)第二處理器12中的每個(gè)處理器12相連,數(shù)據(jù)存儲(chǔ)裝置10接收用于寫入數(shù)據(jù)的請(qǐng)求,可以是至少一個(gè)第二處理器12中的目標(biāo)第二處理器12接收用于寫入數(shù)據(jù)的請(qǐng)求,然后目標(biāo)第二處理器12根據(jù)接收的用于寫入數(shù)據(jù)的請(qǐng)求,生成請(qǐng)求信息,目標(biāo)第二處理器12向第一處理器12發(fā)送請(qǐng)求信息,以請(qǐng)求第一處理器12獲取數(shù)據(jù)存儲(chǔ)裝置的數(shù)據(jù)寫入狀態(tài)參數(shù)。

也就是說(shuō),本公開(kāi)實(shí)施例中,接收主機(jī)發(fā)出的用于寫入數(shù)據(jù)請(qǐng)求的可以是數(shù)據(jù)存儲(chǔ)裝置10中的目標(biāo)第二處理器12,再由目標(biāo)第二處理器12請(qǐng)求第一處理器12獲取存儲(chǔ)裝置10的數(shù)據(jù)寫入狀態(tài)參數(shù)。第一處理器12可以根據(jù)目標(biāo)第二處理器12發(fā)送的請(qǐng)求信息,獲取數(shù)據(jù)存儲(chǔ)裝置10的數(shù)據(jù)寫入狀態(tài)參數(shù),當(dāng)然,第一處理器1也可以直接獲取數(shù)據(jù)存儲(chǔ)裝置10的數(shù)據(jù)寫入狀態(tài)參數(shù)。

可選的,對(duì)于數(shù)據(jù)寫入狀態(tài)參數(shù)究竟包括哪些參數(shù),本公開(kāi)實(shí)施例不作限定,例如,可以包括的各個(gè)存儲(chǔ)單元11中每個(gè)存儲(chǔ)塊當(dāng)前的塊編程時(shí)間、塊擦除時(shí)間、塊讀取錯(cuò)誤率、以及各個(gè)存儲(chǔ)單元11的壞塊分布情況中的至少一者。通過(guò)獲取上述參數(shù),可以較好地評(píng)估各個(gè)存儲(chǔ)單元11的健康狀況,進(jìn)而自適應(yīng)地分配均衡寫入負(fù)載,提高數(shù)據(jù)存儲(chǔ)裝置10的數(shù)據(jù)寫入能力。

請(qǐng)繼續(xù)參見(jiàn)圖1,由于第一處理器12能夠獲取存儲(chǔ)裝置10的數(shù)據(jù)寫入狀態(tài)參數(shù),因此第一處理器12可以是圖1中的處理器123,處理器123與全部的存儲(chǔ)單元11均相連,進(jìn)而能獲取全部存儲(chǔ)單元11的狀態(tài)。至少一個(gè)第二處理器12可以是圖1中的處理器121和處理器122,接收主機(jī)發(fā)送的寫入數(shù)據(jù)的目標(biāo)第二處理器12可以是其中的任一個(gè),本公開(kāi)實(shí)施例對(duì)此不作限定。

第一處理器12可以專門用來(lái)管理全部的存儲(chǔ)單元11的處理器,至少一個(gè)第二處理器12可以是管理FTL(Flash Translation Layer,閃存轉(zhuǎn)換層)的處理器,可以用于實(shí)現(xiàn)地址映射管理、垃圾回收等功能。本公開(kāi)實(shí)施例中,由目標(biāo)第二處理器12來(lái)接收主機(jī)發(fā)出的寫入數(shù)據(jù)的請(qǐng)求,由第一處理器根據(jù)數(shù)據(jù)存儲(chǔ)裝置10包括的全部存儲(chǔ)單元11的數(shù)據(jù)寫入狀態(tài)參數(shù)來(lái)分配地址的,可以通過(guò)第一處理器12均衡至少一個(gè)第二處理器12的負(fù)載,避免了將存儲(chǔ)單元?jiǎng)澐纸o各個(gè)處理器分別進(jìn)行管理導(dǎo)致的負(fù)載不均衡的狀況。同時(shí),數(shù)據(jù)存儲(chǔ)裝置10還可以包括緩存芯片,那么數(shù)據(jù)在進(jìn)入緩存時(shí),數(shù)據(jù)存儲(chǔ)裝置10就可以向主機(jī)返回命令完成的指示,因此,使用一個(gè)第一處理器12來(lái)管理全部的存儲(chǔ)單元11并不會(huì)造成寫操作的延時(shí),在進(jìn)行讀操作時(shí),也可以由至少一個(gè)第二處理器12,比如管理FTL的處理器直接查詢映射表而不通過(guò)第一處理器12將讀命令發(fā)送給存儲(chǔ)單元11,同樣不會(huì)造成讀操作的延時(shí)。

可選的,在第一處理器12根據(jù)數(shù)據(jù)寫入狀態(tài)參數(shù),確定寫入數(shù)據(jù)的地址之后,第一處理器12還可以將地址發(fā)送給目標(biāo)第二處理器12。

第一處理器12將根據(jù)數(shù)據(jù)存儲(chǔ)裝置10的數(shù)據(jù)寫入狀態(tài)參數(shù)確定的寫入數(shù)據(jù)的地址反饋給目標(biāo)第二處理器12,可以實(shí)現(xiàn)目標(biāo)第二處理器12對(duì)地址進(jìn)行管理,在進(jìn)行讀操作時(shí),便可以直接由目標(biāo)第二處理器12向存儲(chǔ)單元11發(fā)送讀命令。當(dāng)然,第一處理器12在確定地址之后也可以反饋給除目標(biāo)第二處理器12外的其他第二處理器12,本公開(kāi)實(shí)施例對(duì)此不作限定。

可選的,第一處理器12可以根據(jù)數(shù)據(jù)存儲(chǔ)裝置10的數(shù)據(jù)寫入狀態(tài)參數(shù),新建RAID(Redundant Arrays of Independent Disks,磁盤陣列)條帶結(jié)構(gòu);或,第一處理器12可以根據(jù)數(shù)據(jù)存儲(chǔ)裝置的數(shù)據(jù)寫入狀態(tài)參數(shù),以及歷史創(chuàng)建的RAID條帶結(jié)構(gòu),新建RAID條帶結(jié)構(gòu)。

RAID條帶是指把連續(xù)的數(shù)據(jù)分割成相同大小的數(shù)據(jù)塊,把每段數(shù)據(jù)分別寫入到陣列中的不同磁盤上的方法。本公開(kāi)實(shí)施例中的第一處理器12可以根據(jù)能夠體現(xiàn)數(shù)據(jù)存儲(chǔ)裝置10當(dāng)前健康狀態(tài)的數(shù)據(jù)寫入狀態(tài)參數(shù),自適應(yīng)地決定RAID條帶的構(gòu)成,這種RAID條帶非常的靈活,在存儲(chǔ)單元11健康狀態(tài)較好時(shí),可以有盡可能多的存儲(chǔ)粒子(一種存儲(chǔ)單位,存儲(chǔ)單元11由存儲(chǔ)粒子組成)構(gòu)成條帶,以增加用戶空間;在存儲(chǔ)單元11磨損較大,健康狀態(tài)較差時(shí)減少構(gòu)成條帶的存儲(chǔ)粒子的數(shù)量,進(jìn)而提高系統(tǒng)可靠性。另外,由于數(shù)據(jù)寫入狀態(tài)參數(shù)可以包括多個(gè)反應(yīng)存儲(chǔ)單元11健康狀態(tài)的參數(shù),因此可以在多個(gè)健康狀態(tài)維度中實(shí)時(shí)調(diào)整RAID結(jié)構(gòu),在保證系統(tǒng)可用空間的前提下,最大限度生成可靠性最高的RAID結(jié)構(gòu)。

在新建RAID條帶時(shí),如果是第一次建立RAID條帶結(jié)構(gòu),那么根據(jù)數(shù)據(jù)存儲(chǔ)裝置10當(dāng)前的數(shù)據(jù)寫入狀態(tài)建立即可;如果不是第一次建立RAID條帶結(jié)構(gòu),可以根據(jù)數(shù)據(jù)存儲(chǔ)裝置10當(dāng)前的數(shù)據(jù)寫入狀態(tài)以及歷史創(chuàng)建的RAID條帶結(jié)構(gòu)來(lái)新建RAID條帶。第一處理器12在新建RAID條帶后,可以將新建的RAID條帶結(jié)構(gòu)記錄在數(shù)據(jù)區(qū),作為下次重建RAID條帶的基礎(chǔ)。

例如,通過(guò)數(shù)據(jù)寫入狀態(tài)參數(shù),比如包括各個(gè)存儲(chǔ)單元11中每個(gè)存儲(chǔ)塊當(dāng)前的塊編程時(shí)間、塊擦除時(shí)間、塊讀取錯(cuò)誤率、以及各個(gè)存儲(chǔ)單元11的壞塊分布情況,從多個(gè)維度全面分析當(dāng)前寫入點(diǎn)的健康狀況,并將多個(gè)維度全面分析得到的健康狀況作為變量,通過(guò)歷史RAID結(jié)果調(diào)整每個(gè)維度的權(quán)重從而生成當(dāng)前RAID條帶結(jié)構(gòu)。對(duì)于維度權(quán)重調(diào)整算法究竟為何種算法,本公開(kāi)實(shí)施例不作限定,比如可以是根據(jù)計(jì)算能力使用簡(jiǎn)單的貪婪算法,也可以使用負(fù)載的多層神經(jīng)網(wǎng)絡(luò)算法,等等。每次出現(xiàn)需要RAID重建的Block(數(shù)據(jù)庫(kù)中最小存儲(chǔ)和處理單位),算法需要重新分析這個(gè)Block的健康參數(shù),找出哪一個(gè)或幾個(gè)參數(shù)是引起B(yǎng)lock健康狀態(tài)變差的主要原因,然后根據(jù)當(dāng)前Block的健康狀態(tài)調(diào)整引起B(yǎng)lock健康狀態(tài)變差參數(shù)的權(quán)重,生成新的RAID結(jié)構(gòu),最大限度的保護(hù)健康狀態(tài)變差的Block,提高系統(tǒng)可靠性。

可選的,可以由第一處理器12將數(shù)據(jù)寫入地址對(duì)應(yīng)的存儲(chǔ)空間,或,目標(biāo)第二處理器12將數(shù)據(jù)寫入地址對(duì)應(yīng)的存儲(chǔ)空間。

本公開(kāi)實(shí)施例中,由第一處理器12寫入數(shù)據(jù),也就是說(shuō),第一處理器12能夠根據(jù)數(shù)據(jù)存儲(chǔ)裝置10的數(shù)據(jù)寫入狀態(tài)參數(shù)分配地址,還能進(jìn)行寫操作,由于至少一個(gè)第二處理器12可能還需執(zhí)行一些其他的操作,比如管理地址映射、垃圾回收,等等,因此,通過(guò)第一處理器12完成寫入數(shù)據(jù)的操作,分擔(dān)了至少一個(gè)第二處理器12的負(fù)載,提升了數(shù)據(jù)存儲(chǔ)裝置10的性能。當(dāng)然,也可以由目標(biāo)第二處理器12進(jìn)行寫操作,本公開(kāi)實(shí)施例對(duì)此不作限定。

本公開(kāi)實(shí)施例中,數(shù)據(jù)存儲(chǔ)裝置10在接收到主機(jī)發(fā)出的用于寫入數(shù)據(jù)的請(qǐng)求時(shí),可以由數(shù)據(jù)存儲(chǔ)裝置10包括的第一處理器12獲取數(shù)據(jù)存儲(chǔ)裝置10的數(shù)據(jù)寫入狀態(tài)參數(shù),然后根據(jù)數(shù)據(jù)寫入狀態(tài)參數(shù)確定寫入數(shù)據(jù)的地址,再將請(qǐng)求寫入的數(shù)據(jù)寫入確定的地址所對(duì)應(yīng)的存儲(chǔ)空間。通過(guò)上述技術(shù)方案,可以單獨(dú)通過(guò)一個(gè)處理器(即第一處理器12)根據(jù)整個(gè)數(shù)據(jù)存儲(chǔ)裝置10的數(shù)據(jù)寫入狀態(tài)參數(shù)來(lái)確定要將數(shù)據(jù)寫入的位置,由于第一處理器12管理的可以是數(shù)據(jù)存儲(chǔ)裝置10包括的全部存儲(chǔ)單元11,避免了因給不同處理器分配存儲(chǔ)單元而導(dǎo)致的負(fù)載不均衡的問(wèn)題,提升了數(shù)據(jù)存儲(chǔ)裝置10存儲(chǔ)數(shù)據(jù)的能力。

所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡(jiǎn)潔,僅以上述各功能模塊的劃分進(jìn)行舉例說(shuō)明,實(shí)際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即將數(shù)據(jù)存儲(chǔ)裝置10的內(nèi)部結(jié)構(gòu)劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。上述描述的裝置的具體工作過(guò)程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過(guò)程,在此不再贅述。

在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的裝置和方法,可以通過(guò)其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述模塊或單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過(guò)一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。

所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。

另外,在本申請(qǐng)各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。

所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本申請(qǐng)的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得數(shù)據(jù)存儲(chǔ)裝置(可以是固態(tài)硬盤等設(shè)備)執(zhí)行本申請(qǐng)各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤、移動(dòng)硬盤、只讀存儲(chǔ)器(ROM,Read-Only Memory)、隨機(jī)存取存儲(chǔ)器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。

具體來(lái)講,本申請(qǐng)實(shí)施例中的一種數(shù)據(jù)存儲(chǔ)方法對(duì)應(yīng)的計(jì)算機(jī)程序指令可以被存儲(chǔ)在光盤,硬盤,U盤等存儲(chǔ)介質(zhì)上,當(dāng)存儲(chǔ)介質(zhì)中的與一種數(shù)據(jù)存儲(chǔ)方法對(duì)應(yīng)的計(jì)算機(jī)程序指令被一數(shù)據(jù)存儲(chǔ)裝置讀取或被執(zhí)行時(shí),包括如下步驟:

所述數(shù)據(jù)存儲(chǔ)裝置接收寫入數(shù)據(jù)的請(qǐng)求;

所述數(shù)據(jù)存儲(chǔ)裝置包括的至少兩個(gè)處理器中的第一處理器獲取所述數(shù)據(jù)存儲(chǔ)裝置的數(shù)據(jù)寫入狀態(tài)參數(shù);

所述第一處理器根據(jù)所述數(shù)據(jù)寫入狀態(tài)參數(shù),確定寫入所述數(shù)據(jù)的地址;

所述數(shù)據(jù)存儲(chǔ)裝置將所述數(shù)據(jù)寫入所述地址對(duì)應(yīng)的存儲(chǔ)空間。

可選的,所述至少兩個(gè)處理器包括所述第一處理器和至少一個(gè)第二處理器,所述第一處理器與所述至少一個(gè)第二處理器中的每個(gè)處理器相連,所述存儲(chǔ)介質(zhì)中存儲(chǔ)的與步驟:所述數(shù)據(jù)存儲(chǔ)裝置接收用于寫入數(shù)據(jù)的請(qǐng)求,對(duì)應(yīng)的計(jì)算機(jī)指令在被執(zhí)行過(guò)程中,包括:

所述至少一個(gè)第二處理器中的目標(biāo)第二處理器接收用于寫入所述數(shù)據(jù)的請(qǐng)求;

所述目標(biāo)第二處理器根據(jù)接收的用于寫入所述數(shù)據(jù)的請(qǐng)求,生成請(qǐng)求信息;

所述目標(biāo)第二處理器向所述第一處理器發(fā)送所述請(qǐng)求信息,以請(qǐng)求所述第一處理器獲取所述數(shù)據(jù)存儲(chǔ)裝置的數(shù)據(jù)寫入狀態(tài)參數(shù)。

可選的,所述存儲(chǔ)介質(zhì)中存儲(chǔ)的與步驟:所述第一處理器根據(jù)所述數(shù)據(jù)寫入狀態(tài)參數(shù),確定寫入所述數(shù)據(jù)的地址,對(duì)應(yīng)的計(jì)算機(jī)指令在被執(zhí)行之后,還包括:

所述第一處理器將所述地址發(fā)送給所述目標(biāo)第二處理器。

可選的,所述存儲(chǔ)介質(zhì)中存儲(chǔ)的與步驟:述第一處理器獲取所述數(shù)據(jù)存儲(chǔ)裝置的數(shù)據(jù)寫入狀態(tài)參數(shù),對(duì)應(yīng)的計(jì)算機(jī)指令在被執(zhí)行過(guò)程中,包括:

所述第一處理器獲取所述數(shù)據(jù)存儲(chǔ)裝置包括的各個(gè)存儲(chǔ)單元中每個(gè)存儲(chǔ)塊當(dāng)前的塊編程時(shí)間、塊擦除時(shí)間、塊讀取錯(cuò)誤率、以及所述各個(gè)存儲(chǔ)單元的壞塊分布情況中的至少一者。

可選的,所述存儲(chǔ)介質(zhì)中還存儲(chǔ)有另外一些步驟,所述另外一些步驟在被執(zhí)行過(guò)程中,還包括:

所述第一處理器根據(jù)所述數(shù)據(jù)存儲(chǔ)裝置的數(shù)據(jù)寫入狀態(tài)參數(shù),新建磁盤陣列RAID條帶結(jié)構(gòu);或,

所述第一處理器根據(jù)所述數(shù)據(jù)存儲(chǔ)裝置的數(shù)據(jù)寫入狀態(tài)參數(shù),以及歷史創(chuàng)建的RAID條帶結(jié)構(gòu),新建RAID條帶結(jié)構(gòu)。

可選的,所述存儲(chǔ)介質(zhì)中存儲(chǔ)的與步驟:所述數(shù)據(jù)存儲(chǔ)裝置將所述數(shù)據(jù)寫入所述地址對(duì)應(yīng)的存儲(chǔ)空間,對(duì)應(yīng)的計(jì)算機(jī)指令在被執(zhí)行過(guò)程中,包括:

所述第一處理器將所述數(shù)據(jù)寫入所述地址對(duì)應(yīng)的存儲(chǔ)空間,或,所述目標(biāo)第二處理器將所述數(shù)據(jù)寫入所述地址對(duì)應(yīng)的存儲(chǔ)空間。

以上所述,以上實(shí)施例僅用以對(duì)本公開(kāi)的技術(shù)方案進(jìn)行了詳細(xì)介紹,但以上實(shí)施例的說(shuō)明只是用于幫助理解本公開(kāi)的方法及其核心思想,不應(yīng)理解為對(duì)本公開(kāi)的限制。本技術(shù)領(lǐng)域的技術(shù)人員在本公開(kāi)揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本公開(kāi)的保護(hù)范圍之內(nèi)。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
安泽县| 开鲁县| 阜平县| 望谟县| 灵石县| 大同县| 墨玉县| 乐平市| 华池县| 凌源市| 社旗县| 揭西县| 武鸣县| 隆回县| 大埔区| 石泉县| 中宁县| 福海县| 华容县| 台南市| 新沂市| 商洛市| 齐河县| 扶风县| 巴彦县| 浦县| 定襄县| 兴隆县| 阳江市| 屏东县| 仪陇县| 哈巴河县| 尉犁县| 惠来县| 临沂市| 江城| 通榆县| 崇左市| 贺州市| 昌都县| 通海县|