存儲(chǔ)系統(tǒng)、存儲(chǔ)設(shè)備及數(shù)據(jù)存儲(chǔ)方法
【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種存儲(chǔ)系統(tǒng)、存儲(chǔ)設(shè)備及數(shù)據(jù)存儲(chǔ)方法,屬于數(shù)據(jù)存儲(chǔ)領(lǐng)域。所述存儲(chǔ)系統(tǒng)包括:前端接口、控制器和存儲(chǔ)設(shè)備;存儲(chǔ)設(shè)備包括:緩存單元和非易失性存儲(chǔ)單元;前端接口向存儲(chǔ)設(shè)備的緩存單元發(fā)送業(yè)務(wù)數(shù)據(jù);存儲(chǔ)設(shè)備接收業(yè)務(wù)數(shù)據(jù)并緩存到緩存單元;當(dāng)外部電源掉電時(shí),啟動(dòng)備用電源為存儲(chǔ)設(shè)備供電并將緩存單元中的業(yè)務(wù)數(shù)據(jù)寫(xiě)入非易失性存儲(chǔ)單元。本發(fā)明通過(guò)前端接口將接收到的業(yè)務(wù)數(shù)據(jù)發(fā)送給存儲(chǔ)設(shè)備中的緩存單元,當(dāng)外部電源掉電時(shí),存儲(chǔ)設(shè)備啟動(dòng)備用電源,并將緩存單元中的業(yè)務(wù)數(shù)據(jù)寫(xiě)入非易失性存儲(chǔ)單元,解決了現(xiàn)有技術(shù)中因備份電源的電量耗盡之前外部電源依然沒(méi)有恢復(fù)供電而導(dǎo)致內(nèi)存中的數(shù)據(jù)丟失的問(wèn)題,達(dá)到提高保護(hù)性能的效果。
【專(zhuān)利說(shuō)明】存儲(chǔ)系統(tǒng)、存儲(chǔ)設(shè)備及數(shù)據(jù)存儲(chǔ)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)存儲(chǔ)領(lǐng)域,特別涉及一種存儲(chǔ)系統(tǒng)、存儲(chǔ)設(shè)備及數(shù)據(jù)存儲(chǔ)方法。
【背景技術(shù)】
[0002]為了提高I/O (In put/Out put,輸入/輸出)應(yīng)對(duì)能力,現(xiàn)有的存儲(chǔ)系統(tǒng)中通常設(shè)置有一級(jí)高速緩存(Cache)。在寫(xiě)入數(shù)據(jù)時(shí),存儲(chǔ)系統(tǒng)首先通過(guò)Cache快速接收并緩存前端業(yè)務(wù)發(fā)送的數(shù)據(jù),再將數(shù)據(jù)搬移到寫(xiě)入速度較慢的存儲(chǔ)器中。
[0003]由于高速緩存Cache為易失性存儲(chǔ)單元,在系統(tǒng)斷電時(shí),其中緩存的數(shù)據(jù)也會(huì)丟失。為了在系統(tǒng)斷電時(shí)能夠有效保護(hù)緩存中的數(shù)據(jù),現(xiàn)有的存儲(chǔ)系統(tǒng)通常對(duì)中央處理器和內(nèi)存部分設(shè)置備份電源,并將一部分內(nèi)存劃分為存儲(chǔ)器的Cache,當(dāng)系統(tǒng)外部電源斷電時(shí),啟動(dòng)備份電源為中央處理器和內(nèi)存單獨(dú)供電,中央處理器控制內(nèi)存進(jìn)入自刷新模式,從而避免內(nèi)存中的數(shù)據(jù)丟失。
[0004]現(xiàn)有技術(shù)至少存在以下問(wèn)題:
[0005]首先,受限于備份電源的電量,內(nèi)存的自刷新模式通常只能維持一段時(shí)間,若在備份電源的電量耗盡之前外部電源依然沒(méi)有恢復(fù)供電,則內(nèi)存中的數(shù)據(jù)同樣會(huì)丟失,保護(hù)性能較低;其次,系統(tǒng)中的內(nèi)存容量有限,劃分為Cache的部分更少,無(wú)法滿足大容量存儲(chǔ)器的緩存需求,從而限制了存儲(chǔ)系統(tǒng)的容量擴(kuò)展。
【發(fā)明內(nèi)容】
[0006]為了解決現(xiàn)有技術(shù)中備份電源的電量耗盡之前外部電源依然沒(méi)有恢復(fù)供電而導(dǎo)致內(nèi)存中的數(shù)據(jù)丟失的問(wèn)題,以及系統(tǒng)中的內(nèi)存容量有限,無(wú)法滿足大容量的非易失性存儲(chǔ)單元的緩存需求,從而限制了存儲(chǔ)系統(tǒng)的容量擴(kuò)展的問(wèn)題,本發(fā)明實(shí)施例提供了一種存儲(chǔ)系統(tǒng)、存儲(chǔ)器、數(shù)據(jù)保護(hù)方法及控制單元。所述技術(shù)方案如下:
[0007]第一方面,提供了一種存儲(chǔ)系統(tǒng),所述存儲(chǔ)系統(tǒng)包括:前端接口、控制器和若干個(gè)存儲(chǔ)設(shè)備;外部電源為所述前端接口、所述控制器和所述存儲(chǔ)設(shè)備供電;每個(gè)所述存儲(chǔ)設(shè)備包括:緩存單元和非易失性存儲(chǔ)單元;其中,所述控制器的緩存由所述若干個(gè)存儲(chǔ)設(shè)備的緩存單元組成;
[0008]所述前端接口,用于接收業(yè)務(wù)數(shù)據(jù),并向所述若干個(gè)存儲(chǔ)設(shè)備中的至少一個(gè)存儲(chǔ)設(shè)備的緩存單元發(fā)送所述業(yè)務(wù)數(shù)據(jù);
[0009]所述至少一個(gè)存儲(chǔ)設(shè)備,用于接收所述業(yè)務(wù)數(shù)據(jù),并緩存到所述至少一個(gè)存儲(chǔ)設(shè)備的緩存單元;當(dāng)所述外部電源掉電時(shí),啟動(dòng)所述至少一個(gè)存儲(chǔ)設(shè)備的備用電源為所述至少一個(gè)存儲(chǔ)設(shè)備供電,將所述至少一個(gè)存儲(chǔ)設(shè)備的緩存單元中的所述業(yè)務(wù)數(shù)據(jù)寫(xiě)入所述至少一個(gè)存儲(chǔ)設(shè)備的非易失性存儲(chǔ)單元。
[0010]在第一方面的第一種可能實(shí)現(xiàn)方式中,所述前端接口向所述若干個(gè)存儲(chǔ)設(shè)備中的至少一個(gè)存儲(chǔ)設(shè)備的緩存單元發(fā)送所述業(yè)務(wù)數(shù)據(jù),具體包括:
[0011 ] 所述前端接口向所述控制器發(fā)送所述業(yè)務(wù)數(shù)據(jù),所述控制器將所述業(yè)務(wù)數(shù)據(jù)發(fā)送至所述至少一個(gè)存儲(chǔ)設(shè)備的緩存單元;
[0012]或者,
[0013]所述前端接口通過(guò)直接內(nèi)存訪問(wèn)形式將所述業(yè)務(wù)數(shù)據(jù)發(fā)送至所述少一個(gè)存儲(chǔ)設(shè)備的緩存單元。
[0014]在第一方面的第二種可能實(shí)現(xiàn)方式中,每個(gè)所述備用電源為一個(gè)所述存儲(chǔ)設(shè)備供電。
[0015]在第一方面的第三種可能實(shí)現(xiàn)方式中,所述至少一個(gè)存儲(chǔ)設(shè)備,用于在將所述業(yè)務(wù)數(shù)據(jù)完全寫(xiě)入所述至少一個(gè)存儲(chǔ)設(shè)備的非易失性存儲(chǔ)單元后,關(guān)閉所述至少一個(gè)存儲(chǔ)設(shè)備的備用電源。
[0016]在第一方面的第四種可能實(shí)現(xiàn)方式中,所述至少一個(gè)存儲(chǔ)設(shè)備,用于當(dāng)所述外部電源恢復(fù)供電時(shí),將所述業(yè)務(wù)數(shù)據(jù)緩存至所述至少一個(gè)存儲(chǔ)設(shè)備的緩存單元。
[0017]第二方面,提供了一種存儲(chǔ)設(shè)備,所述存儲(chǔ)設(shè)備用于如上所述的存儲(chǔ)系統(tǒng),所述存儲(chǔ)設(shè)備包括:緩存單元、非易失性存儲(chǔ)單元、數(shù)據(jù)接收模塊、第一緩存模塊、電源啟動(dòng)模塊以及寫(xiě)入模塊;
[0018]所述數(shù)據(jù)接收模塊,用于接收前端接口發(fā)送的業(yè)務(wù)數(shù)據(jù);
[0019]所述第一緩存模塊,用于將所述業(yè)務(wù)數(shù)據(jù)緩存至所述緩存單元;
[0020]所述電源啟動(dòng)模塊,用于當(dāng)外部電源掉電時(shí),啟動(dòng)所述存儲(chǔ)設(shè)備的備用電源為所述存儲(chǔ)設(shè)備供電;
[0021]所述寫(xiě)入模塊,用于將所述緩存單元中的所述業(yè)務(wù)數(shù)據(jù)寫(xiě)入所述非易失性存儲(chǔ)單
J Li ο
[0022]在第二方面的第一種可能實(shí)現(xiàn)方式中,所述數(shù)據(jù)接收模塊具體
[0023]用于接收控制器發(fā)送的所述業(yè)務(wù)數(shù)據(jù),所述數(shù)據(jù)業(yè)務(wù)由所述前端接口發(fā)送給所述控制器;或者,
[0024]具體用于接收所述前端接口通過(guò)直接內(nèi)存訪問(wèn)形式發(fā)送的所述業(yè)務(wù)數(shù)據(jù)。
[0025]在第二方面的第二種可能實(shí)現(xiàn)方式中,所述存儲(chǔ)設(shè)備還包括:
[0026]電源關(guān)閉模塊,用于在所述寫(xiě)入模塊將所述業(yè)務(wù)數(shù)據(jù)完全寫(xiě)入所述非易失性存儲(chǔ)單元后,關(guān)閉所述備用電源。
[0027]在第二方面的第三種可能實(shí)現(xiàn)方式中,所述存儲(chǔ)設(shè)備還包括:
[0028]第二緩存模塊,用于當(dāng)所述外部電源恢復(fù)供電時(shí),將所述業(yè)務(wù)數(shù)據(jù)緩存至所述緩存單元。
[0029]第三方面,提供了一種數(shù)據(jù)存儲(chǔ)方法,所述方法用于如上所述的存儲(chǔ)設(shè)備中,所述存儲(chǔ)設(shè)備包含有緩存單元和非易失性存儲(chǔ)單元;所述方法包括:
[0030]接收前端接口發(fā)送的業(yè)務(wù)數(shù)據(jù);
[0031 ] 將所述業(yè)務(wù)數(shù)據(jù)緩存至所述緩存單元;
[0032]當(dāng)外部電源掉電時(shí),啟動(dòng)所述存儲(chǔ)設(shè)備的備用電源為所述存儲(chǔ)設(shè)備供電,并將所述緩存單元中的所述業(yè)務(wù)數(shù)據(jù)寫(xiě)入所述非易失性存儲(chǔ)單元。
[0033]在第三方面的第一種可能實(shí)現(xiàn)方式中,所述接收前端接口發(fā)送的業(yè)務(wù)數(shù)據(jù),包括:
[0034]接收控制器發(fā)送的所述業(yè)務(wù)數(shù)據(jù),所述數(shù)據(jù)業(yè)務(wù)由所述前端接口發(fā)送給所述控制器;
[0035]或者,
[0036]接收所述前端接口通過(guò)直接內(nèi)存訪問(wèn)形式發(fā)送的所述業(yè)務(wù)數(shù)據(jù)。
[0037]在第三方面的第二種可能實(shí)現(xiàn)方式中,所述方法還包括:
[0038]在將所述業(yè)務(wù)數(shù)據(jù)完全寫(xiě)入所述非易失性存儲(chǔ)單元后,關(guān)閉所述備用電源。
[0039]在第三方面的第三種可能實(shí)現(xiàn)方式中,所述方法還包括:
[0040]當(dāng)所述外部電源恢復(fù)供電時(shí),將所述業(yè)務(wù)數(shù)據(jù)緩存至所述緩存單元。
[0041]本發(fā)明實(shí)施例提供的技術(shù)方案帶來(lái)的有益效果是:
[0042]首先,通過(guò)前端接口將接收到的業(yè)務(wù)數(shù)據(jù)發(fā)送給存儲(chǔ)設(shè)備中的緩存單元,當(dāng)所述外部電源掉電時(shí),存儲(chǔ)設(shè)備啟動(dòng)該存儲(chǔ)設(shè)備的備用電源,并將緩存單元中的業(yè)務(wù)數(shù)據(jù)寫(xiě)入非易失性存儲(chǔ)單元,解決了現(xiàn)有技術(shù)中因備份電源的電量耗盡之前外部電源依然沒(méi)有恢復(fù)供電而導(dǎo)致內(nèi)存中的數(shù)據(jù)丟失的問(wèn)題,達(dá)到提高保護(hù)性能的效果。
[0043]其次,通過(guò)將控制器的緩存設(shè)置由各個(gè)存儲(chǔ)設(shè)備的緩存單元組成,將緩存單元作為存儲(chǔ)設(shè)備中的非易失性存儲(chǔ)單元的Cache,存儲(chǔ)系統(tǒng)只需要增加存儲(chǔ)設(shè)備的數(shù)目即可以對(duì)存儲(chǔ)容量進(jìn)行擴(kuò)展,解決了現(xiàn)有技術(shù)中存儲(chǔ)系統(tǒng)的內(nèi)存容量有限,無(wú)法滿足大容量的非易失性存儲(chǔ)單元的緩存需求的問(wèn)題,達(dá)到提高存儲(chǔ)系統(tǒng)擴(kuò)展性能的效果。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0044]為了更清楚地說(shuō)明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0045]圖1是本發(fā)明一個(gè)實(shí)施例提供的存儲(chǔ)系統(tǒng)的系統(tǒng)構(gòu)成圖;
[0046]圖2是本發(fā)明另一實(shí)施例提供的存儲(chǔ)系統(tǒng)的系統(tǒng)構(gòu)成圖;
[0047]圖3是本發(fā)明一個(gè)實(shí)施例提供的存儲(chǔ)設(shè)備的結(jié)構(gòu)示意圖;
[0048]圖4是本發(fā)明另一實(shí)施例提供的存儲(chǔ)設(shè)備的結(jié)構(gòu)示意圖;
[0049]圖5是本發(fā)明一個(gè)實(shí)施例提供的數(shù)據(jù)存儲(chǔ)方法的方法流程圖;
[0050]圖6是本發(fā)明另一實(shí)施例提供的數(shù)據(jù)存儲(chǔ)方法的方法流程圖。
【具體實(shí)施方式】
[0051]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施方式作進(jìn)一步地詳細(xì)描述。
[0052]請(qǐng)參考圖1,其示出了本發(fā)明一個(gè)實(shí)施例提供的存儲(chǔ)系統(tǒng)的系統(tǒng)構(gòu)成圖。該存儲(chǔ)系統(tǒng)可以包括:前端接口 102、控制器104和若干個(gè)存儲(chǔ)設(shè)備106 ;外部電源108為所述前端接口 102、所述控制器104和所述存儲(chǔ)設(shè)備106供電;每個(gè)所述存儲(chǔ)設(shè)備106包括:緩存單元106a和非易失性存儲(chǔ)單元106b ;其中,所述控制器104的緩存由所述若干個(gè)存儲(chǔ)設(shè)備106的緩存單元組成106a ;
[0053]所述前端接口 102,用于接收業(yè)務(wù)數(shù)據(jù),并向所述若干個(gè)存儲(chǔ)設(shè)備106中的至少一個(gè)存儲(chǔ)設(shè)備106的緩存單元106a發(fā)送所述業(yè)務(wù)數(shù)據(jù);[0054]所述至少一個(gè)存儲(chǔ)設(shè)備106,用于接收所述業(yè)務(wù)數(shù)據(jù),并緩存到所述至少一個(gè)存儲(chǔ)設(shè)備106的緩存單元106a ;當(dāng)所述外部電源108掉電時(shí),啟動(dòng)所述至少一個(gè)存儲(chǔ)設(shè)備106的備用電源110為所述至少一個(gè)存儲(chǔ)設(shè)備106供電,將所述至少一個(gè)存儲(chǔ)設(shè)備106的緩存單元106a中的所述業(yè)務(wù)數(shù)據(jù)寫(xiě)入所述至少一個(gè)存儲(chǔ)設(shè)備106的非易失性存儲(chǔ)單元106b。
[0055]綜上所述,本發(fā)明實(shí)施例提供的存儲(chǔ)系統(tǒng),通過(guò)前端接口將接收到的業(yè)務(wù)數(shù)據(jù)發(fā)送給存儲(chǔ)設(shè)備中的緩存單元,當(dāng)所述外部電源掉電時(shí),存儲(chǔ)設(shè)備啟動(dòng)該存儲(chǔ)設(shè)備的備用電源,并將緩存單元中的業(yè)務(wù)數(shù)據(jù)寫(xiě)入非易失性存儲(chǔ)單元,解決了現(xiàn)有技術(shù)中因備份電源的電量耗盡之前外部電源依然沒(méi)有恢復(fù)供電而導(dǎo)致內(nèi)存中的數(shù)據(jù)丟失的問(wèn)題,達(dá)到提高保護(hù)性能的效果。
[0056]其次,本發(fā)明實(shí)施例提供的存儲(chǔ)系統(tǒng),通過(guò)將控制器的緩存設(shè)置由各個(gè)存儲(chǔ)設(shè)備的緩存單元組成,將緩存單元作為存儲(chǔ)設(shè)備中的非易失性存儲(chǔ)單元的Cache,存儲(chǔ)系統(tǒng)只需要增加存儲(chǔ)設(shè)備的數(shù)目即可以對(duì)存儲(chǔ)容量進(jìn)行擴(kuò)展,解決了現(xiàn)有技術(shù)中存儲(chǔ)系統(tǒng)的內(nèi)存容量有限,無(wú)法滿足大容量的非易失性存儲(chǔ)單元的緩存需求的問(wèn)題,達(dá)到提高存儲(chǔ)系統(tǒng)擴(kuò)展性能的效果。
[0057]請(qǐng)參考圖2,其示出了本發(fā)明一個(gè)實(shí)施例提供的存儲(chǔ)系統(tǒng)的系統(tǒng)構(gòu)成圖。該存儲(chǔ)系統(tǒng)可以包括:前端接口 202、控制器204和若干個(gè)存儲(chǔ)設(shè)備206 ;外部電源208為所述前端接口 202、所述控制器204和所述存儲(chǔ)設(shè)備206供電;每個(gè)所述存儲(chǔ)設(shè)備206包括:緩存單元206a和非易失性存儲(chǔ)單元206b ;其中,所述控制器204的緩存由所述若干個(gè)存儲(chǔ)設(shè)備206的緩存單元組成206a ;
[0058]其中,存儲(chǔ)系統(tǒng)的控制器(比如中央處理器CPU)可以不設(shè)置獨(dú)立的緩存,而是將控制器的緩存分布到各個(gè)存儲(chǔ)設(shè)備中,由各個(gè)存儲(chǔ)設(shè)備中的緩存單元承擔(dān)控制器的緩存的作用。具體的,在存儲(chǔ)系統(tǒng)初始化時(shí),可以將各個(gè)存儲(chǔ)設(shè)備的緩存單元設(shè)置為可預(yù)取的內(nèi)存空間,以便控制器可以對(duì)各個(gè)存儲(chǔ)設(shè)備的緩存單元中的地址進(jìn)行直接訪問(wèn),比如,CPU可以直接向緩存單元中的指定地址寫(xiě)入數(shù)據(jù),或者,CPU也可以直接讀取緩存單元的指定地址中的數(shù)據(jù)。
[0059]所述前端接口 202,用于接收業(yè)務(wù)數(shù)據(jù),并向所述若干個(gè)存儲(chǔ)設(shè)備206中的至少一個(gè)存儲(chǔ)設(shè)備206的緩存單元206a發(fā)送所述業(yè)務(wù)數(shù)據(jù);
[0060]在存儲(chǔ)系統(tǒng)中,前端接口可以將同一份業(yè)務(wù)數(shù)據(jù)發(fā)送給兩個(gè)或者兩個(gè)以上的存儲(chǔ)設(shè)備,在一個(gè)存儲(chǔ)設(shè)備中的數(shù)據(jù)丟失時(shí),可以啟用其它存儲(chǔ)設(shè)備中的備份數(shù)據(jù),從而提高數(shù)據(jù)的安全性。
[0061]其中,所述前端接口 202可以向所述控制器204發(fā)送所述業(yè)務(wù)數(shù)據(jù),所述控制器204將所述業(yè)務(wù)數(shù)據(jù)發(fā)送至所述至少一個(gè)存儲(chǔ)設(shè)備206的緩存單元206b ;或者,所述前端接口 202也可以通過(guò)直接內(nèi)存訪問(wèn)形式將所述業(yè)務(wù)數(shù)據(jù)發(fā)送至所述少一個(gè)存儲(chǔ)設(shè)備206的緩存單元206b。
[0062]具體的,前端接口向存儲(chǔ)設(shè)備發(fā)送業(yè)務(wù)數(shù)據(jù)時(shí),可以先將業(yè)務(wù)數(shù)據(jù)發(fā)送給控制器,由控制器將業(yè)務(wù)數(shù)據(jù)寫(xiě)入存儲(chǔ)設(shè)備中的緩存單元,或者,前端接口也可以通過(guò)DMA (DirectMemory Access,直接內(nèi)存訪問(wèn))引擎向控制器查詢(xún)存儲(chǔ)設(shè)備包含的緩存單元的地址,并根據(jù)查詢(xún)到的地址將業(yè)務(wù)數(shù)據(jù)直接發(fā)送給存儲(chǔ)設(shè)備。
[0063]所述至少一個(gè)存儲(chǔ)設(shè)備206,用于接收所述業(yè)務(wù)數(shù)據(jù),并緩存到所述至少一個(gè)存儲(chǔ)設(shè)備206的緩存單元206a ;當(dāng)所述外部電源208掉電時(shí),啟動(dòng)所述至少一個(gè)存儲(chǔ)設(shè)備206的備用電源210為所述至少一個(gè)存儲(chǔ)設(shè)備206供電,將所述至少一個(gè)存儲(chǔ)設(shè)備206的緩存單元206a中的所述業(yè)務(wù)數(shù)據(jù)寫(xiě)入所述至少一個(gè)存儲(chǔ)設(shè)備206的非易失性存儲(chǔ)單元206b。
[0064]其中,備用電源在初始時(shí)可以為關(guān)閉狀態(tài),當(dāng)控制器檢測(cè)出外部電源掉點(diǎn)后,可以控制該備用電源開(kāi)啟,開(kāi)始為存儲(chǔ)設(shè)備供電;或者,也可以將備用電源的電壓設(shè)置為略低于外部電源的電壓,備用電源始終處于開(kāi)啟狀態(tài),由于外部電源電壓略高,所以當(dāng)外部電源正常工作時(shí),存儲(chǔ)設(shè)備由外部電源供電,當(dāng)外部電源掉電后,備用電源才開(kāi)始供電。
[0065]在存儲(chǔ)系統(tǒng)的外部電源,比如AC/DC (Alternating Current/Direct Current,交流輸入/直流輸出)電源斷電時(shí),控制器可以向各個(gè)存儲(chǔ)設(shè)備發(fā)送斷電通知,存儲(chǔ)設(shè)備接收到該斷電通知后,將緩存單元中的數(shù)據(jù)轉(zhuǎn)移到非易失性存儲(chǔ)單元中,以避免緩存單元中的數(shù)據(jù)在備用電源電量耗盡后丟失。
[0066]其中,緩存單元可以由靜態(tài)隨機(jī)存儲(chǔ)芯片組成,也可以由動(dòng)態(tài)隨即存儲(chǔ)芯片,比如DDR (Double Data Rate Synchronous Dynamic Random Access Memory,雙倍速率同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器)2、DDR3或者DDR4顆粒組成。緩存單元容量相比非易失性存儲(chǔ)單元較小,但讀寫(xiě)速度快。
[0067]其中,每個(gè)所述備用電源210為一個(gè)所述存儲(chǔ)設(shè)備206供電。
[0068]為了進(jìn)一步提高備用電源的備份效果,可以將存儲(chǔ)設(shè)備都設(shè)置由單獨(dú)的備用電源供電,當(dāng)其中一個(gè)備用電源失效時(shí),只影響該備用電源對(duì)應(yīng)的存儲(chǔ)設(shè)備,而其它存儲(chǔ)設(shè)備依然可以工作。
[0069]所述至少一個(gè)存儲(chǔ)設(shè)備206,用于在將所述業(yè)務(wù)數(shù)據(jù)完全寫(xiě)入所述至少一個(gè)存儲(chǔ)設(shè)備206的非易失性存儲(chǔ)單元206b后,關(guān)閉所述至少一個(gè)存儲(chǔ)設(shè)備206的備用電源210。
[0070]其中,備用電源通常使用電池來(lái)存儲(chǔ)電量,而電池在放電過(guò)程中,若在超過(guò)放電的終止電壓值時(shí)繼續(xù)放電,則可能會(huì)造成電池內(nèi)壓升高,正、負(fù)極活性物質(zhì)的可逆性遭到損壞,從而使電池的容量產(chǎn)生明顯減少。為了避免備用電源因?yàn)檫^(guò)放電而損壞,提高器件使用壽命,存儲(chǔ)設(shè)備在檢測(cè)到緩存單元中存儲(chǔ)的數(shù)據(jù)已經(jīng)全部轉(zhuǎn)移到非易失性存儲(chǔ)單元中之后,可以控制備用電源停止供電。
[0071]所述至少一個(gè)存儲(chǔ)設(shè)備206,用于當(dāng)所述外部電源210恢復(fù)供電時(shí),將所述業(yè)務(wù)數(shù)據(jù)緩存至所述至少一個(gè)存儲(chǔ)設(shè)備的緩存單元206a。
[0072]其中,緩存單元中緩存的業(yè)務(wù)數(shù)據(jù)可能是存儲(chǔ)系統(tǒng)中的控制器待訪問(wèn)的數(shù)據(jù),因此,在外部電源恢復(fù)供電時(shí),存儲(chǔ)設(shè)備可以將緩存單元在斷電之前存儲(chǔ)的業(yè)務(wù)數(shù)據(jù)再次寫(xiě)回緩存單元,以便控制器快速訪問(wèn)讀取。具體比如,當(dāng)存儲(chǔ)系統(tǒng)的外部電源恢復(fù)供電時(shí),控制器向各個(gè)存儲(chǔ)設(shè)備發(fā)送供電恢復(fù)通知,存儲(chǔ)設(shè)備接收到該供電恢復(fù)通知后,檢測(cè)出外部電源恢復(fù)供電,則開(kāi)始進(jìn)一步檢測(cè)存儲(chǔ)系統(tǒng)是否完全恢復(fù)正常,若檢測(cè)出存儲(chǔ)系統(tǒng)完全恢復(fù)正常,則開(kāi)始將斷電前緩存單元中的存儲(chǔ)的業(yè)務(wù)數(shù)據(jù)重新從非易失性存儲(chǔ)單元中寫(xiě)回緩存單元。控制單元在將數(shù)據(jù)寫(xiě)回緩存單元完成后,通知存儲(chǔ)系統(tǒng)恢復(fù)數(shù)據(jù)存儲(chǔ)或者數(shù)據(jù)讀取業(yè)務(wù);或者,控制單元也可以在接收到供電恢復(fù)通知后即將斷電前緩存單元中的存儲(chǔ)的業(yè)務(wù)數(shù)據(jù)重新從非易失性存儲(chǔ)單元中寫(xiě)回緩存單元。
[0073]存儲(chǔ)設(shè)備206,還用于在檢測(cè)出外部電源208恢復(fù)供電后,控制備用電源210開(kāi)始充電。[0074]綜上所述,本發(fā)明實(shí)施例提供的存儲(chǔ)系統(tǒng),通過(guò)前端接口將接收到的業(yè)務(wù)數(shù)據(jù)發(fā)送給存儲(chǔ)設(shè)備中的緩存單元,當(dāng)所述外部電源掉電時(shí),存儲(chǔ)設(shè)備啟動(dòng)該存儲(chǔ)設(shè)備的備用電源,并將緩存單元中的業(yè)務(wù)數(shù)據(jù)寫(xiě)入非易失性存儲(chǔ)單元,解決了現(xiàn)有技術(shù)中因備份電源的電量耗盡之前外部電源依然沒(méi)有恢復(fù)供電而導(dǎo)致內(nèi)存中的數(shù)據(jù)丟失的問(wèn)題,達(dá)到提高保護(hù)性能的效果。
[0075]其次,本發(fā)明實(shí)施例提供的存儲(chǔ)系統(tǒng),通過(guò)將控制器的緩存設(shè)置由各個(gè)存儲(chǔ)設(shè)備的緩存單元組成,將緩存單元作為存儲(chǔ)設(shè)備中的非易失性存儲(chǔ)單元的Cache,存儲(chǔ)系統(tǒng)只需要增加存儲(chǔ)設(shè)備的數(shù)目即可以對(duì)存儲(chǔ)容量進(jìn)行擴(kuò)展,解決了現(xiàn)有技術(shù)中存儲(chǔ)系統(tǒng)的內(nèi)存容量有限,無(wú)法滿足大容量的非易失性存儲(chǔ)單元的緩存需求的問(wèn)題,達(dá)到提高存儲(chǔ)系統(tǒng)擴(kuò)展性能的效果。
[0076]另外,本發(fā)明實(shí)施例提供的存儲(chǔ)系統(tǒng),存儲(chǔ)設(shè)備還用于在檢測(cè)出數(shù)據(jù)完全寫(xiě)入非易失性存儲(chǔ)單元后,控制備用電源停止供電,避免備用電源過(guò)放電,達(dá)到提高器件使用壽命的效果。
[0077]請(qǐng)參考圖3,其示出了本發(fā)明一個(gè)實(shí)施例提供的存儲(chǔ)設(shè)備的結(jié)構(gòu)示意圖。該存儲(chǔ)設(shè)備可以是硬盤(pán)等通用存儲(chǔ)設(shè)備,用于如上述圖1或圖2所示的數(shù)據(jù)存儲(chǔ)系統(tǒng)中。其中,該存儲(chǔ)系統(tǒng)包括:前端接口、控制器和若干個(gè)存儲(chǔ)設(shè)備;外部電源為前端接口、控制器和存儲(chǔ)設(shè)備供電;該存儲(chǔ)設(shè)備可以包括:緩存單元301、非易失性存儲(chǔ)單元302、數(shù)據(jù)接收模塊303、第一緩存模塊304、電源啟動(dòng)模塊305以及寫(xiě)入模塊306 ;控制器的緩存由若干個(gè)存儲(chǔ)設(shè)備的緩存單元組成;
[0078]所述數(shù)據(jù)接收模塊303,用于接收前端接口發(fā)送的業(yè)務(wù)數(shù)據(jù);
[0079]所述第一緩存模塊304,用于將所述業(yè)務(wù)數(shù)據(jù)緩存至所述緩存單元301 ;
[0080]所述電源啟動(dòng)模塊305,用于當(dāng)外部電源掉電時(shí),啟動(dòng)所述存儲(chǔ)設(shè)備的備用電源為所述存儲(chǔ)設(shè)備供電;
[0081]所述寫(xiě)入模塊306,用于將所述緩存單元301中的所述業(yè)務(wù)數(shù)據(jù)寫(xiě)入所述非易失性存儲(chǔ)單元302。
[0082]綜上所述,本發(fā)明實(shí)施例提供的存儲(chǔ)設(shè)備,通過(guò)接收前端接口發(fā)送的業(yè)務(wù)數(shù)據(jù)并緩存的緩存單元,當(dāng)外部電源掉電時(shí),存儲(chǔ)設(shè)備啟動(dòng)該存儲(chǔ)設(shè)備的備用電源,并將緩存單元中的業(yè)務(wù)數(shù)據(jù)寫(xiě)入非易失性存儲(chǔ)單元,解決了現(xiàn)有技術(shù)中因備份電源的電量耗盡之前外部電源依然沒(méi)有恢復(fù)供電而導(dǎo)致內(nèi)存中的數(shù)據(jù)丟失的問(wèn)題,達(dá)到提高保護(hù)性能的效果。
[0083]其次,本發(fā)明實(shí)施例提供的存儲(chǔ)設(shè)備,通過(guò)將存儲(chǔ)設(shè)備的緩存單元設(shè)置為控制器的緩存的組成部分,將緩存單元作為非易失性存儲(chǔ)單元的Cache,存儲(chǔ)系統(tǒng)只需要增加存儲(chǔ)設(shè)備的數(shù)目即可以對(duì)存儲(chǔ)容量進(jìn)行擴(kuò)展,解決了現(xiàn)有技術(shù)中存儲(chǔ)系統(tǒng)的內(nèi)存容量有限,無(wú)法滿足大容量的非易失性存儲(chǔ)單元的緩存需求的問(wèn)題,達(dá)到提高存儲(chǔ)系統(tǒng)擴(kuò)展性能的效果O
[0084]請(qǐng)參考圖4,其示出了本發(fā)明一個(gè)實(shí)施例提供的存儲(chǔ)設(shè)備的結(jié)構(gòu)示意圖。該存儲(chǔ)設(shè)備可以是硬盤(pán)等通用存儲(chǔ)設(shè)備,用于如上述圖1或圖2所示的數(shù)據(jù)存儲(chǔ)系統(tǒng)中。其中,該存儲(chǔ)系統(tǒng)包括:前端接口、控制器和若干個(gè)存儲(chǔ)設(shè)備;外部電源為前端接口、控制器和存儲(chǔ)設(shè)備供電;該存儲(chǔ)設(shè)備可以包括:緩存單元401、非易失性存儲(chǔ)單元402、數(shù)據(jù)接收模塊403、第一緩存模塊404、電源啟動(dòng)模塊405以及寫(xiě)入模塊406 ;控制器的緩存由若干個(gè)存儲(chǔ)設(shè)備的緩存單元組成;
[0085]所述數(shù)據(jù)接收模塊403,用于接收前端接口發(fā)送的業(yè)務(wù)數(shù)據(jù);
[0086]所述第一緩存模塊404,用于將所述業(yè)務(wù)數(shù)據(jù)緩存至所述緩存單元401 ;
[0087]所述電源啟動(dòng)模塊405,用于當(dāng)外部電源掉電時(shí),啟動(dòng)所述存儲(chǔ)設(shè)備的備用電源為所述存儲(chǔ)設(shè)備供電;
[0088]所述寫(xiě)入模塊406,用于將所述緩存單元401中的所述業(yè)務(wù)數(shù)據(jù)寫(xiě)入所述非易失性存儲(chǔ)單元402。
[0089]在圖1或圖2所示的存儲(chǔ)系統(tǒng)中,控制器(比如中央處理器CPU)可以不設(shè)置獨(dú)立的緩存,而是將控制器的緩存分布到各個(gè)存儲(chǔ)設(shè)備中,由各個(gè)存儲(chǔ)設(shè)備中的緩存單元承擔(dān)控制器的緩存的作用。具體的,在存儲(chǔ)系統(tǒng)初始化時(shí),可以將各個(gè)存儲(chǔ)設(shè)備的緩存單元設(shè)置為可預(yù)取的內(nèi)存空間,以便控制器可以對(duì)各個(gè)存儲(chǔ)設(shè)備的緩存單元中的地址進(jìn)行直接訪問(wèn),比如,CPU可以直接向緩存單元中的指定地址寫(xiě)入數(shù)據(jù),或者,CPU也可以直接讀取緩存單元的指定地址中的數(shù)據(jù)。
[0090]所述數(shù)據(jù)接收模塊403具體用于接收控制器發(fā)送的所述業(yè)務(wù)數(shù)據(jù),所述數(shù)據(jù)業(yè)務(wù)由所述前端接口發(fā)送給所述控制器;或者具體用于接收所述前端接口通過(guò)直接內(nèi)存訪問(wèn)形式發(fā)送的所述業(yè)務(wù)數(shù)據(jù)。
[0091]具體的,前端接口向存儲(chǔ)設(shè)備發(fā)送業(yè)務(wù)數(shù)據(jù)時(shí),可以先將業(yè)務(wù)數(shù)據(jù)發(fā)送給控制器,由控制器將業(yè)務(wù)數(shù)據(jù)寫(xiě)入存儲(chǔ)設(shè)備中的緩存單元,或者,前端接口也可以通過(guò)DMA (DirectMemory Access,直接內(nèi)存訪問(wèn))引擎向控制器查詢(xún)存儲(chǔ)設(shè)備包含的緩存單元的地址,并根據(jù)查詢(xún)到的地址將業(yè)務(wù)數(shù)據(jù)直接發(fā)送給存儲(chǔ)設(shè)備。
[0092]其中,備用電源在初始時(shí)可以為關(guān)閉狀態(tài),當(dāng)控制器檢測(cè)出外部電源掉點(diǎn)后,可以控制該備用電源開(kāi)啟,開(kāi)始為存儲(chǔ)設(shè)備供電;或者,也可以將備用電源的電壓設(shè)置為略低于外部電源的電壓,備用電源始終處于開(kāi)啟狀態(tài),由于外部電源電壓略高,所以當(dāng)外部電源正常工作時(shí),存儲(chǔ)設(shè)備由外部電源供電,當(dāng)外部電源掉電后,備用電源才開(kāi)始供電。
[0093]在存儲(chǔ)系統(tǒng)的外部電源,比如AC/DC (Alternating Current/Direct Current,交流輸入/直流輸出)電源斷電時(shí),控制器可以向各個(gè)存儲(chǔ)設(shè)備發(fā)送斷電通知,存儲(chǔ)設(shè)備接收到該斷電通知后,將緩存單元中的數(shù)據(jù)轉(zhuǎn)移到非易失性存儲(chǔ)單元中,以避免緩存單元中的數(shù)據(jù)在備用電源電量耗盡后丟失。
[0094]其中,緩存單元可以由靜態(tài)隨機(jī)存儲(chǔ)芯片組成,也可以由動(dòng)態(tài)隨即存儲(chǔ)芯片,比如DDR (Double Data Rate Synchronous Dynamic Random Access Memory,雙倍速率同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器)2、DDR3或者DDR4顆粒組成。緩存單元容量相比非易失性存儲(chǔ)單元較小,但讀寫(xiě)速度快。
[0095]其中,每個(gè)備用電源只為一個(gè)存儲(chǔ)設(shè)備供電。
[0096]為了進(jìn)一步提高備用電源的備份效果,可以將存儲(chǔ)設(shè)備都設(shè)置由單獨(dú)的備用電源供電,當(dāng)其中一個(gè)備用電源失效時(shí),只影響該備用電源對(duì)應(yīng)的存儲(chǔ)設(shè)備,而其它存儲(chǔ)設(shè)備依然可以工作。
[0097]所述存儲(chǔ)設(shè)備還包括:
[0098]電源關(guān)閉模塊407,用于在所述寫(xiě)入模塊406將所述業(yè)務(wù)數(shù)據(jù)完全寫(xiě)入所述非易失性存儲(chǔ)單元402后,關(guān)閉所述備用電源。[0099]其中,備用電源通常使用電池來(lái)存儲(chǔ)電量,而電池在放電過(guò)程中,若在超過(guò)放電的終止電壓值時(shí)繼續(xù)放電,則可能會(huì)造成電池內(nèi)壓升高,正、負(fù)極活性物質(zhì)的可逆性遭到損壞,從而使電池的容量產(chǎn)生明顯減少。為了避免備用電源因?yàn)檫^(guò)放電而損壞,提高器件使用壽命,存儲(chǔ)設(shè)備在檢測(cè)到緩存單元中存儲(chǔ)的數(shù)據(jù)已經(jīng)全部轉(zhuǎn)移到非易失性存儲(chǔ)單元中之后,可以控制備用電源停止供電。
[0100]所述存儲(chǔ)設(shè)備還包括:
[0101]第二緩存模塊408,用于當(dāng)所述外部電源恢復(fù)供電時(shí),將所述業(yè)務(wù)數(shù)據(jù)緩存至所述緩存單元401。
[0102]其中,緩存單元中緩存的業(yè)務(wù)數(shù)據(jù)可能是存儲(chǔ)系統(tǒng)中的控制器待訪問(wèn)的數(shù)據(jù),因此,在外部電源恢復(fù)供電時(shí),存儲(chǔ)設(shè)備可以將緩存單元在斷電之前存儲(chǔ)的業(yè)務(wù)數(shù)據(jù)再次寫(xiě)回緩存單元,以便控制器快速訪問(wèn)讀取。具體比如,當(dāng)存儲(chǔ)系統(tǒng)的外部電源恢復(fù)供電時(shí),控制器向各個(gè)存儲(chǔ)設(shè)備發(fā)送供電恢復(fù)通知,存儲(chǔ)設(shè)備接收到該供電恢復(fù)通知后,檢測(cè)出外部電源恢復(fù)供電,則開(kāi)始進(jìn)一步檢測(cè)存儲(chǔ)系統(tǒng)是否完全恢復(fù)正常,若檢測(cè)出存儲(chǔ)系統(tǒng)完全恢復(fù)正常,則開(kāi)始將斷電前緩存單元中的存儲(chǔ)的業(yè)務(wù)數(shù)據(jù)重新從非易失性存儲(chǔ)單元中寫(xiě)回緩存單元。控制單元在將數(shù)據(jù)寫(xiě)回緩存單元完成后,通知存儲(chǔ)系統(tǒng)恢復(fù)數(shù)據(jù)存儲(chǔ)或者數(shù)據(jù)讀取業(yè)務(wù);或者,控制單元也可以在接收到供電恢復(fù)通知后即將斷電前緩存單元中的存儲(chǔ)的業(yè)務(wù)數(shù)據(jù)重新從非易失性存儲(chǔ)單元中寫(xiě)回緩存單元。
[0103]綜上所述,本發(fā)明實(shí)施例提供的存儲(chǔ)設(shè)備,通過(guò)接收前端接口發(fā)送的業(yè)務(wù)數(shù)據(jù)并緩存的緩存單元,當(dāng)外部電源掉電時(shí),存儲(chǔ)設(shè)備啟動(dòng)該存儲(chǔ)設(shè)備的備用電源,并將緩存單元中的業(yè)務(wù)數(shù)據(jù)寫(xiě)入非易失性存儲(chǔ)單元,解決了現(xiàn)有技術(shù)中因備份電源的電量耗盡之前外部電源依然沒(méi)有恢復(fù)供電而導(dǎo)致內(nèi)存中的數(shù)據(jù)丟失的問(wèn)題,達(dá)到提高保護(hù)性能的效果。
[0104]其次,本發(fā)明實(shí)施例提供的存儲(chǔ)設(shè)備,通過(guò)將存儲(chǔ)設(shè)備的緩存單元設(shè)置為控制器的緩存的組成部分,將緩存單元作為非易失性存儲(chǔ)單元的Cache,存儲(chǔ)系統(tǒng)只需要增加存儲(chǔ)設(shè)備的數(shù)目即可以對(duì)存儲(chǔ)容量進(jìn)行擴(kuò)展,解決了現(xiàn)有技術(shù)中存儲(chǔ)系統(tǒng)的內(nèi)存容量有限,無(wú)法滿足大容量的非易失性存儲(chǔ)單元的緩存需求的問(wèn)題,達(dá)到提高存儲(chǔ)系統(tǒng)擴(kuò)展性能的效果O
[0105]另外,本發(fā)明實(shí)施例提供的存儲(chǔ)設(shè)備,在檢測(cè)出數(shù)據(jù)完全寫(xiě)入非易失性存儲(chǔ)單元后,控制備用電源停止供電,避免備用電源過(guò)放電,達(dá)到提高器件使用壽命的效果。
[0106]請(qǐng)參考圖5,其示出了本發(fā)明一個(gè)實(shí)施例提供的數(shù)據(jù)存儲(chǔ)方法的方法流程圖。該數(shù)據(jù)存儲(chǔ)方法可以用于在圖3或圖4所示的存儲(chǔ)設(shè)備中避免高速緩存中的數(shù)據(jù)在外部電源斷電時(shí)丟失。該存儲(chǔ)設(shè)備可以是硬盤(pán)等通用存儲(chǔ)設(shè)備,可以用于大容量的數(shù)據(jù)存儲(chǔ)系統(tǒng)中。如圖1或圖2所示,該存儲(chǔ)系統(tǒng)包括:前端接口、控制器和若干個(gè)存儲(chǔ)設(shè)備;外部電源為前端接口、控制器和存儲(chǔ)設(shè)備供電;存儲(chǔ)設(shè)備包括:緩存單元和非易失性存儲(chǔ)單元;控制器的緩存由若干個(gè)存儲(chǔ)設(shè)備的緩存單元組成。該數(shù)據(jù)存儲(chǔ)方法可以包括:
[0107]步驟502,接收前端接口發(fā)送的業(yè)務(wù)數(shù)據(jù);
[0108]步驟504,將該業(yè)務(wù)數(shù)據(jù)緩存至緩存單元;
[0109]步驟506,當(dāng)外部電源掉電時(shí),啟動(dòng)該存儲(chǔ)設(shè)備的備用電源為該存儲(chǔ)設(shè)備供電,并將該緩存單元中的該業(yè)務(wù)數(shù)據(jù)寫(xiě)入非易失性存儲(chǔ)單元。
[0110]綜上所述,本發(fā)明實(shí)施例提供的數(shù)據(jù)存儲(chǔ)方法,通過(guò)接收前端接口發(fā)送的業(yè)務(wù)數(shù)據(jù)并緩存的緩存單元,當(dāng)外部電源掉電時(shí),存儲(chǔ)設(shè)備啟動(dòng)該存儲(chǔ)設(shè)備的備用電源,并將緩存單元中的業(yè)務(wù)數(shù)據(jù)寫(xiě)入非易失性存儲(chǔ)單元,解決了現(xiàn)有技術(shù)中因備份電源的電量耗盡之前外部電源依然沒(méi)有恢復(fù)供電而導(dǎo)致內(nèi)存中的數(shù)據(jù)丟失的問(wèn)題,達(dá)到提高保護(hù)性能的效果。
[0111]請(qǐng)參考圖6,其示出了本發(fā)明一個(gè)實(shí)施例提供的數(shù)據(jù)存儲(chǔ)方法的方法流程圖。該數(shù)據(jù)存儲(chǔ)方法可以用于在圖3或圖4所示的存儲(chǔ)設(shè)備中避免高速緩存中的數(shù)據(jù)在外部電源斷電時(shí)丟失。該存儲(chǔ)設(shè)備可以是硬盤(pán)等通用存儲(chǔ)設(shè)備,可以用于大容量的數(shù)據(jù)存儲(chǔ)系統(tǒng)中。如圖1或圖2所示,該存儲(chǔ)系統(tǒng)包括:前端接口、控制器和若干個(gè)存儲(chǔ)設(shè)備;外部電源為前端接口、控制器和存儲(chǔ)設(shè)備供電;存儲(chǔ)設(shè)備包括:緩存單元和非易失性存儲(chǔ)單元;控制器的緩存由若干個(gè)存儲(chǔ)設(shè)備的緩存單元組成。該數(shù)據(jù)存儲(chǔ)方法可以包括:
[0112]步驟602,接收前端接口發(fā)送的業(yè)務(wù)數(shù)據(jù),將該業(yè)務(wù)數(shù)據(jù)緩存至緩存單元;
[0113]具體的,可以接收控制器發(fā)送的該業(yè)務(wù)數(shù)據(jù),該數(shù)據(jù)業(yè)務(wù)由前端接口發(fā)送給控制器;或者,可以接收前端接口通過(guò)直接內(nèi)存訪問(wèn)形式發(fā)送的業(yè)務(wù)數(shù)據(jù)。
[0114]具體的,前端接口向存儲(chǔ)設(shè)備發(fā)送業(yè)務(wù)數(shù)據(jù)時(shí),可以先將業(yè)務(wù)數(shù)據(jù)發(fā)送給控制器,由控制器將業(yè)務(wù)數(shù)據(jù)寫(xiě)入存儲(chǔ)設(shè)備中的緩存單元,或者,前端接口也可以通過(guò)DMA (DirectMemory Access,直接內(nèi)存訪問(wèn))引擎向控制器查詢(xún)存儲(chǔ)設(shè)備包含的緩存單元的地址,并根據(jù)查詢(xún)到的地址將業(yè)務(wù)數(shù)據(jù)直接發(fā)送給存儲(chǔ)設(shè)備。
[0115]步驟604,當(dāng)外部電源掉電時(shí),啟動(dòng)該存儲(chǔ)設(shè)備的備用電源為該存儲(chǔ)設(shè)備供電,并將該緩存單元中的該業(yè)務(wù)數(shù)據(jù)寫(xiě)入非易失性存儲(chǔ)單元;
[0116]其中,備用電源在初始時(shí)可以為關(guān)閉狀態(tài),當(dāng)控制器檢測(cè)出外部電源掉點(diǎn)后,可以控制該備用電源開(kāi)啟,開(kāi)始為存儲(chǔ)設(shè)備供電;或者,也可以將備用電源的電壓設(shè)置為略低于外部電源的電壓,備用電源始終處于開(kāi)啟狀態(tài),由于外部電源電壓略高,所以當(dāng)外部電源正常工作時(shí),存儲(chǔ)設(shè)備由外部電源供電,當(dāng)外部電源掉電后,備用電源才開(kāi)始供電。
[0117]在存儲(chǔ)系統(tǒng)的外部電源,比如AC/DC (Alternating Current/Direct Current,交流輸入/直流輸出)電源斷電時(shí),控制器可以向各個(gè)存儲(chǔ)設(shè)備發(fā)送斷電通知,存儲(chǔ)設(shè)備接收到該斷電通知后,將緩存單元中的數(shù)據(jù)轉(zhuǎn)移到非易失性存儲(chǔ)單元中,以避免緩存單元中的數(shù)據(jù)在備用電源電量耗盡后丟失。
[0118]其中,緩存單元可以由靜態(tài)隨機(jī)存儲(chǔ)芯片組成,也可以由動(dòng)態(tài)隨即存儲(chǔ)芯片,比如DDR (Double Data Rate Synchronous Dynamic Random Access Memory,雙倍速率同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器)2、DDR3或者DDR4顆粒組成。緩存單元容量相比非易失性存儲(chǔ)單元較小,但讀寫(xiě)速度快。
[0119]為了進(jìn)一步提高備用電源的備份效果,可以將存儲(chǔ)設(shè)備都設(shè)置由單獨(dú)的備用電源供電,即每個(gè)備用電源只為一個(gè)存儲(chǔ)設(shè)備供電。當(dāng)其中一個(gè)備用電源失效時(shí),只影響該備用電源對(duì)應(yīng)的存儲(chǔ)設(shè)備,而其它存儲(chǔ)設(shè)備依然可以工作。
[0120]步驟606,在將該業(yè)務(wù)數(shù)據(jù)完全寫(xiě)入非易失性存儲(chǔ)單元后,關(guān)閉備用電源;
[0121]其中,備用電源通常使用電池來(lái)存儲(chǔ)電量,而電池在放電過(guò)程中,若在超過(guò)放電的終止電壓值時(shí)繼續(xù)放電,則可能會(huì)造成電池內(nèi)壓升高,正、負(fù)極活性物質(zhì)的可逆性遭到損壞,從而使電池的容量產(chǎn)生明顯減少。為了避免備用電源因?yàn)檫^(guò)放電而損壞,提高器件使用壽命,存儲(chǔ)設(shè)備在檢測(cè)到緩存單元中存儲(chǔ)的數(shù)據(jù)已經(jīng)全部轉(zhuǎn)移到非易失性存儲(chǔ)單元中之后,可以控制備用電源停止供電。[0122]步驟608,當(dāng)外部電源恢復(fù)供電時(shí),將該業(yè)務(wù)數(shù)據(jù)緩存至該緩存單元。
[0123]其中,緩存單元中緩存的業(yè)務(wù)數(shù)據(jù)可能是存儲(chǔ)系統(tǒng)中的控制器待訪問(wèn)的數(shù)據(jù),因此,在外部電源恢復(fù)供電時(shí),存儲(chǔ)設(shè)備可以將緩存單元在斷電之前存儲(chǔ)的業(yè)務(wù)數(shù)據(jù)再次寫(xiě)回緩存單元,以便控制器快速訪問(wèn)讀取。具體比如,當(dāng)存儲(chǔ)系統(tǒng)的外部電源恢復(fù)供電時(shí),控制器向各個(gè)存儲(chǔ)設(shè)備發(fā)送供電恢復(fù)通知,存儲(chǔ)設(shè)備接收到該供電恢復(fù)通知后,檢測(cè)出外部電源恢復(fù)供電,則開(kāi)始進(jìn)一步檢測(cè)存儲(chǔ)系統(tǒng)是否完全恢復(fù)正常,若檢測(cè)出存儲(chǔ)系統(tǒng)完全恢復(fù)正常,則開(kāi)始將斷電前緩存單元中的存儲(chǔ)的業(yè)務(wù)數(shù)據(jù)重新從非易失性存儲(chǔ)單元中寫(xiě)回緩存單元??刂茊卧趯?shù)據(jù)寫(xiě)回緩存單元完成后,通知存儲(chǔ)系統(tǒng)恢復(fù)數(shù)據(jù)存儲(chǔ)或者數(shù)據(jù)讀取業(yè)務(wù);或者,控制單元也可以在接收到供電恢復(fù)通知后即將斷電前緩存單元中的存儲(chǔ)的業(yè)務(wù)數(shù)據(jù)重新從非易失性存儲(chǔ)單元中寫(xiě)回緩存單元。
[0124]綜上所述,本發(fā)明實(shí)施例提供的數(shù)據(jù)存儲(chǔ)方法,通過(guò)接收前端接口發(fā)送的業(yè)務(wù)數(shù)據(jù)并緩存的緩存單元,當(dāng)外部電源掉電時(shí),存儲(chǔ)設(shè)備啟動(dòng)該存儲(chǔ)設(shè)備的備用電源,并將緩存單元中的業(yè)務(wù)數(shù)據(jù)寫(xiě)入非易失性存儲(chǔ)單元,解決了現(xiàn)有技術(shù)中因備份電源的電量耗盡之前外部電源依然沒(méi)有恢復(fù)供電而導(dǎo)致內(nèi)存中的數(shù)據(jù)丟失的問(wèn)題,達(dá)到提高保護(hù)性能的效果。
[0125]其次,本發(fā)明實(shí)施例提供的數(shù)據(jù)存儲(chǔ)方法,在檢測(cè)出數(shù)據(jù)完全寫(xiě)入非易失性存儲(chǔ)單元后,控制備用電源停止供電,避免備用電源過(guò)放電,達(dá)到提高器件使用壽命的效果。
[0126]需要說(shuō)明的是:上述實(shí)施例提供的存儲(chǔ)設(shè)備在進(jìn)行數(shù)據(jù)的存儲(chǔ)時(shí),僅以上述各功能模塊的劃分進(jìn)行舉例說(shuō)明,實(shí)際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即將設(shè)備的內(nèi)部結(jié)構(gòu)劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。另外,上述實(shí)施例提供的存儲(chǔ)設(shè)備與數(shù)據(jù)存儲(chǔ)方法實(shí)施例屬于同一構(gòu)思,其具體實(shí)現(xiàn)過(guò)程詳見(jiàn)方法實(shí)施例,這里不再贅述。
[0127]上述本發(fā)明實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。
[0128]本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例的全部或部分步驟可以通過(guò)硬件來(lái)完成,也可以通過(guò)程序來(lái)指令相關(guān)的硬件完成,所述的程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,上述提到的存儲(chǔ)介質(zhì)可以是只讀存儲(chǔ)器,磁盤(pán)或光盤(pán)等。
[0129]以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種存儲(chǔ)系統(tǒng),其特征在于,所述存儲(chǔ)系統(tǒng)包括:前端接口、控制器和若干個(gè)存儲(chǔ)設(shè)備;外部電源為所述前端接口、所述控制器和所述存儲(chǔ)設(shè)備供電;每個(gè)所述存儲(chǔ)設(shè)備包括:緩存單元和非易失性存儲(chǔ)單元;其中,所述控制器的緩存由所述若干個(gè)存儲(chǔ)設(shè)備的緩存單元組成; 所述前端接口,用于接收業(yè)務(wù)數(shù)據(jù),并向所述若干個(gè)存儲(chǔ)設(shè)備中的至少一個(gè)存儲(chǔ)設(shè)備的緩存單元發(fā)送所述業(yè)務(wù)數(shù)據(jù); 所述至少一個(gè)存儲(chǔ)設(shè)備,用于接收所述業(yè)務(wù)數(shù)據(jù),并緩存到所述至少一個(gè)存儲(chǔ)設(shè)備的緩存單元;當(dāng)所述外部電源掉電時(shí),啟動(dòng)所述至少一個(gè)存儲(chǔ)設(shè)備的備用電源為所述至少一個(gè)存儲(chǔ)設(shè)備供電,將所述至少一個(gè)存儲(chǔ)設(shè)備的緩存單元中的所述業(yè)務(wù)數(shù)據(jù)寫(xiě)入所述至少一個(gè)存儲(chǔ)設(shè)備的非易失性存儲(chǔ)單元。
2.根據(jù)權(quán)利要求1所述的存儲(chǔ)系統(tǒng),其特征在于,所述前端接口向所述若干個(gè)存儲(chǔ)設(shè)備中的至少一個(gè)存儲(chǔ)設(shè)備的緩存單元發(fā)送所述業(yè)務(wù)數(shù)據(jù),具體包括: 所述前端接口向所述控制器發(fā)送所述業(yè)務(wù)數(shù)據(jù),所述控制器將所述業(yè)務(wù)數(shù)據(jù)發(fā)送至所述至少一個(gè)存儲(chǔ)設(shè)備的緩存單元; 或者, 所述前端接口通過(guò)直接內(nèi)存訪問(wèn)形式將所述業(yè)務(wù)數(shù)據(jù)發(fā)送至所述少一個(gè)存儲(chǔ)設(shè)備的緩存單元。
3.根據(jù)權(quán)利要求1所述的存儲(chǔ)系統(tǒng),其特征在于,每個(gè)所述備用電源為一個(gè)所述存儲(chǔ)設(shè)備供電。
4.根據(jù)權(quán)利要求1所述的存儲(chǔ)系統(tǒng),其特征在于,所述至少一個(gè)存儲(chǔ)設(shè)備,用于在將所述業(yè)務(wù)數(shù)據(jù)完全寫(xiě)入所述至少一個(gè)存儲(chǔ)設(shè)備的非易失性存儲(chǔ)單元后,關(guān)閉所述至少一個(gè)存儲(chǔ)設(shè)備的備用電源。
5.根據(jù)權(quán)利要求1所述的存儲(chǔ)系統(tǒng),其特征在于,所述至少一個(gè)存儲(chǔ)設(shè)備,用于當(dāng)所述外部電源恢復(fù)供電時(shí),將所述業(yè)務(wù)數(shù)據(jù)緩存至所述至少一個(gè)存儲(chǔ)設(shè)備的緩存單元。
6.一種存儲(chǔ)設(shè)備,其特征在于,所述存儲(chǔ)設(shè)備用于如權(quán)利要求1至5任一所述的存儲(chǔ)系統(tǒng),所述存儲(chǔ)設(shè)備包括:緩存單元、非易失性存儲(chǔ)單元、數(shù)據(jù)接收模塊、第一緩存模塊、電源啟動(dòng)模塊以及寫(xiě)入模塊; 所述數(shù)據(jù)接收模塊,用于接收前端接口發(fā)送的業(yè)務(wù)數(shù)據(jù); 所述第一緩存模塊,用于將所述業(yè)務(wù)數(shù)據(jù)緩存至所述緩存單元; 所述電源啟動(dòng)模塊,用于當(dāng)外部電源掉電時(shí),啟動(dòng)所述存儲(chǔ)設(shè)備的備用電源為所述存儲(chǔ)設(shè)備供電; 所述寫(xiě)入模塊,用于將所述緩存單元中的所述業(yè)務(wù)數(shù)據(jù)寫(xiě)入所述非易失性存儲(chǔ)單元。
7.根據(jù)權(quán)利要求6所述的存儲(chǔ)設(shè)備,其特征在于,所述數(shù)據(jù)接收模塊具體用于接收控制器發(fā)送的所述業(yè)務(wù)數(shù)據(jù),所述數(shù)據(jù)業(yè)務(wù)由所述前端接口發(fā)送給所述控制器;或者, 具體用于接收所述前端接口通過(guò)直接內(nèi)存訪問(wèn)形式發(fā)送的所述業(yè)務(wù)數(shù)據(jù)。
8.根據(jù)權(quán)利要求6所述的存儲(chǔ)設(shè)備,其特征在于,所述存儲(chǔ)設(shè)備還包括: 電源關(guān)閉模塊,用于在所述寫(xiě)入模塊將所述業(yè)務(wù)數(shù)據(jù)完全寫(xiě)入所述非易失性存儲(chǔ)單元后,關(guān)閉所述備用電源。
9.根據(jù)權(quán)利要求6所述的存儲(chǔ)設(shè)備,其特征在于,所述存儲(chǔ)設(shè)備還包括:第二緩存模塊,用于當(dāng)所述外部電源恢復(fù)供電時(shí),將所述業(yè)務(wù)數(shù)據(jù)緩存至所述緩存單元。
10.一種數(shù)據(jù)存儲(chǔ)方法,其特征在于,所述方法用于如權(quán)利要求6至10任一所述的存儲(chǔ)設(shè)備中,所述存儲(chǔ)設(shè)備包含有緩存單元和非易失性存儲(chǔ)單元;所述方法包括: 接收前端接口發(fā)送的業(yè)務(wù)數(shù)據(jù); 將所述業(yè)務(wù)數(shù)據(jù)緩存至所述緩存單元; 當(dāng)外部電源掉電時(shí),啟動(dòng)所述存儲(chǔ)設(shè)備的備用電源為所述存儲(chǔ)設(shè)備供電,并將所述緩存單元中的所述業(yè)務(wù)數(shù)據(jù)寫(xiě)入所述非易失性存儲(chǔ)單元。
11.根據(jù)權(quán)利要求10所述的方法,其特征在于,所述接收前端接口發(fā)送的業(yè)務(wù)數(shù)據(jù),包括: 接收控制器發(fā)送的所述業(yè)務(wù)數(shù)據(jù),所述數(shù)據(jù)業(yè)務(wù)由所述前端接口發(fā)送給所述控制器; 或者, 接收所述前端接口通過(guò)直接內(nèi)存訪問(wèn)形式發(fā)送的所述業(yè)務(wù)數(shù)據(jù)。
12.根據(jù)權(quán)利要求10所述的方法,其特征在于,所述方法還包括: 在將所述業(yè)務(wù)數(shù)據(jù)完全寫(xiě)入所述非易失性存儲(chǔ)單元后,關(guān)閉所述備用電源。
13.根據(jù)權(quán)利要求10所述的方法,其特征在于,所述方法還包括: 當(dāng)所述外部電源恢復(fù)供電時(shí),將所述業(yè)務(wù)數(shù)據(jù)緩存至所述緩存單元。
【文檔編號(hào)】G06F12/16GK103942160SQ201410133653
【公開(kāi)日】2014年7月23日 申請(qǐng)日期:2014年4月3日 優(yōu)先權(quán)日:2014年4月3日
【發(fā)明者】張洪崠, 王娜 申請(qǐng)人:華為技術(shù)有限公司