本申請(qǐng)實(shí)施例涉及半導(dǎo)體,尤其涉及一種主控芯片、數(shù)據(jù)處理方法、固態(tài)硬盤(pán)及計(jì)算機(jī)系統(tǒng)。
背景技術(shù):
1、主控芯片(即ssd控制器)是固態(tài)硬盤(pán)(ssd,solid?state?drive)中的關(guān)鍵組件,負(fù)責(zé)管理數(shù)據(jù)的存儲(chǔ)、訪問(wèn)和維護(hù)等操作。隨著固態(tài)硬盤(pán)的寫(xiě)性能越來(lái)越高,主控芯片為了應(yīng)對(duì)越來(lái)越高的寫(xiě)帶寬,需要更頻繁的進(jìn)行數(shù)據(jù)的寫(xiě)入和讀取操作,從而使得固態(tài)硬盤(pán)的整體功耗增加,同時(shí)對(duì)主控芯片訪問(wèn)外部緩存帶寬增加。在此背景下,如何提供技術(shù)方案,在保證主控芯片可靠工作的前提下,以降低主控芯片對(duì)外部緩存的訪問(wèn)帶寬,降低主控芯片的整體功耗,成為了本領(lǐng)域技術(shù)人員亟需解決的技術(shù)問(wèn)題。
技術(shù)實(shí)現(xiàn)思路
1、有鑒于此,本申請(qǐng)實(shí)施例提供一種主控芯片、數(shù)據(jù)處理方法、固態(tài)硬盤(pán)及計(jì)算機(jī)系統(tǒng),在保證主控芯片可靠工作的前提下,以降低主控芯片對(duì)外部緩存的訪問(wèn)帶寬,降低主控芯片的整體功耗。
2、為實(shí)現(xiàn)上述目的,本申請(qǐng)實(shí)施例提供如下技術(shù)方案。
3、第一方面,本申請(qǐng)實(shí)施例提供一種主控芯片,包括:
4、閃存主機(jī)接口控制器,包括分配地址獲取模塊和命令執(zhí)行模塊;
5、所述分配地址獲取模塊,用于獲取基于數(shù)據(jù)寫(xiě)命令對(duì)應(yīng)分配的第一緩存地址和第二緩存地址,所述第一緩存地址為位于所述主控芯片的內(nèi)部的緩存空間地址,所述第二緩存地址為位于所述主控芯片的外部的緩存空間地址;
6、所述命令執(zhí)行模塊,用于將所述數(shù)據(jù)寫(xiě)命令中的寫(xiě)數(shù)據(jù)寫(xiě)入至所述第一緩存地址,以及將所述數(shù)據(jù)寫(xiě)命令中的寫(xiě)數(shù)據(jù)寫(xiě)入至所述第二緩存地址;
7、其中,所述主控芯片基于第一緩存地址中的寫(xiě)數(shù)據(jù)進(jìn)行編程操作,在主控芯片對(duì)第一緩存地址中的寫(xiě)數(shù)據(jù)進(jìn)行數(shù)據(jù)一致性確認(rèn)后釋放第二緩存地址中的寫(xiě)數(shù)據(jù)。
8、第二方面,本申請(qǐng)實(shí)施例提供一種數(shù)據(jù)處理方法,應(yīng)用于第一方面所述的主控芯片,包括:
9、獲取基于數(shù)據(jù)寫(xiě)命令對(duì)應(yīng)分配的第一緩存地址和第二緩存地址,所述第一緩存地址為位于所述主控芯片的內(nèi)部的緩存空間地址,所述第二緩存地址為位于所述主控芯片的外部的緩存空間地址;
10、將所述數(shù)據(jù)寫(xiě)命令中的寫(xiě)數(shù)據(jù)寫(xiě)入至所述第一緩存地址,以及將所述數(shù)據(jù)寫(xiě)命令中的寫(xiě)數(shù)據(jù)寫(xiě)入至所述第二緩存地址;
11、其中,所述主控芯片基于第一緩存地址中的寫(xiě)數(shù)據(jù)進(jìn)行編程操作,在主控芯片對(duì)第一緩存地址中的寫(xiě)數(shù)據(jù)進(jìn)行數(shù)據(jù)一致性確認(rèn)后釋放第二緩存地址中的寫(xiě)數(shù)據(jù)。
12、第三方面,本申請(qǐng)實(shí)施例提供一種固態(tài)硬盤(pán),包括:
13、如第一方面所述的主控芯片。
14、第四方面,本申請(qǐng)實(shí)施例提供一種計(jì)算機(jī)系統(tǒng),包括:
15、如第三方面所述的固態(tài)硬盤(pán)。
16、本申請(qǐng)實(shí)施例提供的主控芯片,包括:閃存主機(jī)接口控制器,包括分配地址獲取模塊和命令執(zhí)行模塊;所述分配地址獲取模塊,用于獲取基于數(shù)據(jù)寫(xiě)命令對(duì)應(yīng)分配的第一緩存地址和第二緩存地址,所述第一緩存地址為位于所述主控芯片的內(nèi)部的緩存空間地址,所述第二緩存地址為位于所述主控芯片的外部的緩存空間地址;所述命令執(zhí)行模塊,用于將所述數(shù)據(jù)寫(xiě)命令中的寫(xiě)數(shù)據(jù)寫(xiě)入至所述第一緩存地址,以及將所述數(shù)據(jù)寫(xiě)命令中的寫(xiě)數(shù)據(jù)寫(xiě)入至所述第二緩存地址;其中,所述主控芯片基于第一緩存地址中的寫(xiě)數(shù)據(jù)進(jìn)行編程操作,在主控芯片對(duì)第一緩存地址中的寫(xiě)數(shù)據(jù)進(jìn)行數(shù)據(jù)一致性確認(rèn)后釋放第二緩存地址中的寫(xiě)數(shù)據(jù)。
17、可以看出,本申請(qǐng)實(shí)施例所提供的技術(shù)方案,通過(guò)利用主控芯片實(shí)現(xiàn),針對(duì)于一個(gè)數(shù)據(jù)寫(xiě)命令同時(shí)獲取兩個(gè)緩存地址,即第一緩存地址和第二緩存地址。且第一緩存地址是位于主控芯片的內(nèi)部的緩存空間地址,第二緩存地址是位于主控芯片的外部的緩存空間地址,同時(shí)第一緩存地址中寫(xiě)入的寫(xiě)數(shù)據(jù)是主控芯片用于進(jìn)行編程操作的數(shù)據(jù)。由于主控芯片執(zhí)行編程操作時(shí),是對(duì)緩存空間地址中寫(xiě)入的寫(xiě)數(shù)據(jù)進(jìn)行再次讀取后實(shí)現(xiàn)的;因此,本申請(qǐng)實(shí)施例中主控芯片可以不再對(duì)位于主控芯片外部的第二緩存地址中寫(xiě)入的寫(xiě)數(shù)據(jù)進(jìn)行讀操作,而是直接基于第一緩存地址寫(xiě)入的寫(xiě)數(shù)據(jù),在主控芯片的內(nèi)部的緩存空間地址中獲取到寫(xiě)數(shù)據(jù)。也就是說(shuō),本申請(qǐng)實(shí)施例提供的主控芯片對(duì)位于其外部的緩存空間地址僅進(jìn)行一次寫(xiě)操作,從而可以減少主控芯片對(duì)外部緩存空間地址的訪問(wèn)帶寬;同時(shí),由于主控芯片對(duì)內(nèi)部的緩存空間地址的訪問(wèn)產(chǎn)生的功耗是遠(yuǎn)小于,訪問(wèn)其外部的緩存空間地址的訪問(wèn)產(chǎn)生的功耗的,因此可以減少主控芯片的功耗。并且,本申請(qǐng)實(shí)施例提供的主控芯片中,第二緩存地址中的寫(xiě)數(shù)據(jù)是在主控芯片對(duì)第一緩存地址中的寫(xiě)數(shù)據(jù)進(jìn)行數(shù)據(jù)一致性確認(rèn)后釋放的,由于主控芯片在處理第一緩存地址中的寫(xiě)數(shù)據(jù)的過(guò)程中存在數(shù)據(jù)處理錯(cuò)誤的情況;數(shù)據(jù)一致性的確認(rèn)則可以說(shuō)明主控芯片在對(duì)寫(xiě)入到第一緩存地址中的數(shù)據(jù)進(jìn)行處理的過(guò)程中(例如數(shù)據(jù)編程過(guò)程),第一緩存地址中的寫(xiě)數(shù)據(jù)始終是正確的;如果數(shù)據(jù)一致性驗(yàn)證失敗,由于第二緩存地址中存儲(chǔ)的寫(xiě)數(shù)據(jù)與第一緩存地址中存儲(chǔ)的寫(xiě)數(shù)據(jù)一致,因此可以利用第二緩存地址中的寫(xiě)數(shù)據(jù)確保主控芯片對(duì)數(shù)據(jù)進(jìn)行快速、可靠和安全的處理;因此,在確定第一緩存地址中的寫(xiě)數(shù)據(jù)具有數(shù)據(jù)一致性后釋放第二緩存地址中的寫(xiě)數(shù)據(jù),可以確保主控芯片對(duì)第一緩存地址中的寫(xiě)數(shù)據(jù)的正確可靠的處理,數(shù)據(jù)的讀和寫(xiě)直接在主控芯片內(nèi)部進(jìn)行,降低主控芯片處理復(fù)雜度,可以實(shí)現(xiàn)在保證主控芯片可靠工作的前提下,以降低主控芯片對(duì)外部緩存的訪問(wèn)帶寬,降低主控芯片的整體功耗。同時(shí),由于可以降低主控芯片對(duì)外部緩存的訪問(wèn)帶寬,因此還可以避免主控芯片增加更多的外部緩存訪問(wèn)接口以及頻率,降低主控芯片的成本。
1.一種主控芯片,其中,包括:
2.如權(quán)利要求1所述的主控芯片,其中,所述閃存主機(jī)接口控制器還包括:緩存地址申請(qǐng)模塊,所述緩存地址申請(qǐng)模塊,用于基于獲取的數(shù)據(jù)寫(xiě)命令發(fā)出緩存地址申請(qǐng)請(qǐng)求;
3.如權(quán)利要求2所述的主控芯片,其中,所述閃存主機(jī)接口控制器還包括命令上報(bào)模塊,用于在確定所述命令執(zhí)行模塊完成數(shù)據(jù)寫(xiě)命令的執(zhí)行后,上報(bào)所述數(shù)據(jù)寫(xiě)命令;
4.如權(quán)利要求3所述的主控芯片,其中,所述閃存控制器還包括:
5.如權(quán)利要求1-4任一項(xiàng)所述的主控芯片,其中,還包括:
6.一種數(shù)據(jù)處理方法,其中,應(yīng)用于如權(quán)利要求1-5任一項(xiàng)所述的主控芯片,包括:
7.如權(quán)利要求6所述的數(shù)據(jù)處理方法,其中,在所述獲取基于數(shù)據(jù)寫(xiě)命令對(duì)應(yīng)分配的第一緩存地址和第二緩存地址的步驟之前,還包括:
8.如權(quán)利要求7所述的數(shù)據(jù)處理方法,其中,在所述將所述數(shù)據(jù)寫(xiě)命令中的寫(xiě)數(shù)據(jù)寫(xiě)入至所述第一緩存地址,以及將所述數(shù)據(jù)寫(xiě)命令中的寫(xiě)數(shù)據(jù)寫(xiě)入至所述第二緩存地址的步驟之后,還包括:
9.如權(quán)利要求8所述的數(shù)據(jù)處理方法,其中,在所述基于所述編程操作請(qǐng)求攜帶的第一緩存地址,從所述第一緩存地址中讀取寫(xiě)入的寫(xiě)數(shù)據(jù)的步驟之后,還包括:
10.一種固態(tài)硬盤(pán),其中,包括:
11.如權(quán)利要求10所述的固態(tài)硬盤(pán),其中,還包括;
12.一種計(jì)算機(jī)系統(tǒng),其中,包括:
13.如權(quán)利要求12所述的計(jì)算機(jī)系統(tǒng),其中,還包括: