亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種固態(tài)硬盤中寫buffer的方法及裝置與流程

文檔序號:11198913閱讀:651來源:國知局
一種固態(tài)硬盤中寫buffer的方法及裝置與流程

本發(fā)明涉及存儲技術(shù)領(lǐng)域,更具體地說,涉及一種固態(tài)硬盤中寫buffer的方法及裝置。



背景技術(shù):

隨著互聯(lián)網(wǎng)、云計算、物聯(lián)網(wǎng)等技術(shù)的發(fā)展,固態(tài)硬盤作為新的一代存儲,廣泛被應用;同時,企業(yè)級固態(tài)硬盤要求提供完整的數(shù)據(jù)保護功能,業(yè)界一般通過raid(redundantarraysofindependentdisks)方案來實現(xiàn)。具體來說,采用raid方案時,數(shù)據(jù)將會以整條帶的方式寫入nandflash中;以raid5為例,一個數(shù)據(jù)條帶的結(jié)構(gòu)形式為n+1,其中n為需要被保護的數(shù)據(jù)單元個數(shù),1為根據(jù)被保護的數(shù)據(jù)單元生成的校驗數(shù)據(jù)單元,因此要將數(shù)據(jù)條帶從內(nèi)存寫入nandflash中,需要提供n+1個數(shù)據(jù)buffer的地址,從而帶來大量傳輸開銷。

綜上所述,如何提供一種在raid方案中減少傳輸開銷的技術(shù)方案,是目前本領(lǐng)域技術(shù)人員亟待解決的問題。



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

本發(fā)明的目的是提供一種固態(tài)硬盤中寫buffer的方法及裝置,以在raid方案中減少傳輸開銷。

為了實現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:

一種固態(tài)硬盤中寫buffer的方法,包括:

預先準備多個地址連續(xù)的數(shù)據(jù)單元buffer,所述數(shù)據(jù)單元buffer的數(shù)量與數(shù)據(jù)條帶中包含的數(shù)據(jù)單元的數(shù)量相同;

接收主機下發(fā)的寫命令,并將與所述寫命令對應的數(shù)據(jù)條帶中包含的每個數(shù)據(jù)單元以一一對應的關(guān)系分別分配至多個所述數(shù)據(jù)單元buffer;

將所述數(shù)據(jù)單元buffer的首地址及目的地址發(fā)送至控制器,以指示該控制器基于所述首地址將所述數(shù)據(jù)單元buffer中分配的數(shù)據(jù)單元寫入與所述目的地址對應的nandflash中。

優(yōu)選的,將所述數(shù)據(jù)單元buffer的首地址及目的地址發(fā)送至控制器之后,還包括:

接收所述控制器返回的數(shù)據(jù)寫入完成信息,所述數(shù)據(jù)寫入完成信息為所述控制器基于所述首地址將所述數(shù)據(jù)單元buffer中分配的數(shù)據(jù)單元寫入與所述目的地址對應的nandflash后返回的。

優(yōu)選的,接收所述控制器返回的數(shù)據(jù)寫入完成信息之后,還包括:

將所述數(shù)據(jù)寫入完成信息發(fā)送至指定終端。

優(yōu)選的,還包括:

如果與所述寫命令對應的數(shù)據(jù)條帶中包含的數(shù)據(jù)單元的數(shù)量大于所述數(shù)據(jù)單元buffer的數(shù)量,則將分配失敗信息發(fā)送至指定終端。

一種固態(tài)硬盤中寫buffer的裝置,包括:

準備模塊,用于:預先準備多個地址連續(xù)的數(shù)據(jù)單元buffer,所述數(shù)據(jù)單元buffer的數(shù)量與數(shù)據(jù)條帶中包含的數(shù)據(jù)單元的數(shù)量相同;

分配模塊,用于:接收主機下發(fā)的寫命令,并將與所述寫命令對應的數(shù)據(jù)條帶中包含的每個數(shù)據(jù)單元以一一對應的關(guān)系分別分配至多個所述數(shù)據(jù)單元buffer;

寫入模塊,用于:將所述數(shù)據(jù)單元buffer的首地址及目的地址發(fā)送至控制器,以指示該控制器基于所述首地址將所述數(shù)據(jù)單元buffer中分配的數(shù)據(jù)單元寫入與所述目的地址對應的nandflash中。

優(yōu)選的,還包括:

接收模塊,用于:將所述數(shù)據(jù)單元buffer的首地址及目的地址發(fā)送至控制器之后,接收所述控制器返回的數(shù)據(jù)寫入完成信息,所述數(shù)據(jù)寫入完成信息為所述控制器基于所述首地址將所述數(shù)據(jù)單元buffer中分配的數(shù)據(jù)單元寫入與所述目的地址對應的nandflash后返回的。

優(yōu)選的,還包括:

第一發(fā)送模塊,用于:接收所述控制器返回的數(shù)據(jù)寫入完成信息之后,將所述數(shù)據(jù)寫入完成信息發(fā)送至指定終端。

優(yōu)選的,還包括:

第二發(fā)送模塊,用于:如果與所述寫命令對應的數(shù)據(jù)條帶中包含的數(shù)據(jù)單元的數(shù)量大于所述數(shù)據(jù)單元buffer的數(shù)量,則將寫入失敗信息發(fā)送至指定終端。

本發(fā)明提供了一種固態(tài)硬盤中寫buffer的方法及裝置,其中該方法包括:預先準備多個地址連續(xù)的數(shù)據(jù)單元buffer,所述數(shù)據(jù)單元buffer的數(shù)量與數(shù)據(jù)條帶中包含的數(shù)據(jù)單元的數(shù)量相同;接收主機下發(fā)的寫命令,并將與所述寫命令對應的數(shù)據(jù)條帶中包含的每個數(shù)據(jù)單元以一一對應的關(guān)系分別分配至多個所述數(shù)據(jù)單元buffer;將所述數(shù)據(jù)單元buffer的首地址及目的地址發(fā)送至控制器,以指示該控制器基于所述首地址將所述數(shù)據(jù)單元buffer中分配的數(shù)據(jù)單元寫入與所述目的地址對應的nandflash中。本發(fā)明提供的上述技術(shù)方案中,為需要寫入nandflash的數(shù)據(jù)條帶準備多個地址連續(xù)的數(shù)據(jù)單元buffer,由此將數(shù)據(jù)條帶對應數(shù)據(jù)單元分配至多個數(shù)據(jù)單元buffer后,只需將數(shù)據(jù)單元buffer的首地址及nandflash對應的目的地址發(fā)送至控制器即可,無需像現(xiàn)有技術(shù)中一樣將每個數(shù)據(jù)單元buffer的地址均發(fā)送至控制器,從而大大減小了傳輸開銷,提高了數(shù)據(jù)傳輸效率,進而提高了固態(tài)硬盤的性能。

附圖說明

為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。

圖1為本發(fā)明實施例提供的一種固態(tài)硬盤中寫buffer的方法的流程圖;

圖2為本發(fā)明實施例提供的一種固態(tài)硬盤中寫buffer的裝置的結(jié)構(gòu)示意圖。

具體實施方式

下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。

請參閱圖1,其示出了本發(fā)明實施例提供的一種固態(tài)硬盤中寫buffer的方法的流程圖,可以包括:

s11:預先準備多個地址連續(xù)的數(shù)據(jù)單元buffer,數(shù)據(jù)單元buffer的數(shù)量與數(shù)據(jù)條帶中包含的數(shù)據(jù)單元的數(shù)量相同。

需要說明的是,數(shù)據(jù)條帶中包含的數(shù)據(jù)單元的數(shù)量是可以預先獲知的,如raid5方案中數(shù)據(jù)條帶的數(shù)量為n+1;本申請中數(shù)據(jù)條帶中包含的數(shù)據(jù)單元的數(shù)量包含需要被保護的數(shù)據(jù)單元及對這些需要被保護的數(shù)據(jù)單元計算得到的校驗數(shù)據(jù)單元,而每個數(shù)據(jù)單元buffer可以存儲一個數(shù)據(jù)條帶中包含的數(shù)據(jù)單元。另外完成步驟s11后,可以完成一次或多次步驟s12和步驟s13,具體可以根據(jù)實際需要進行設(shè)定。

s12:接收主機下發(fā)的寫命令,并將與寫命令對應的數(shù)據(jù)條帶中包含的每個數(shù)據(jù)單元以一一對應的關(guān)系分別分配至多個數(shù)據(jù)單元buffer。

接收主機下發(fā)的寫命令并獲取到對應的數(shù)據(jù)單元,然后將這些數(shù)據(jù)單元依次放入數(shù)據(jù)單元buffer中。本申請中寫命令可以包含多個,而每個寫命令對應一個數(shù)據(jù)單元,具體來說該步驟可以包括:

接收主機下發(fā)的寫命令并獲取與該寫命令對應的數(shù)據(jù)單元,將該數(shù)據(jù)單元分配至多個數(shù)據(jù)單元buffer中第一個地址(即首地址)的數(shù)據(jù)單元buffer,判斷接收的數(shù)據(jù)單元數(shù)量是否達到對應數(shù)據(jù)條帶應具有的數(shù)據(jù)單元數(shù)量,如果是,則確定完成寫buffer,如果否,則接收主機下發(fā)的寫命令并獲取與該寫命令對應的數(shù)據(jù)單元,將該數(shù)據(jù)單元分配至為分配有上一個寫命令對應數(shù)據(jù)單元的數(shù)據(jù)單元buffer的地址的下一個地址對應的數(shù)據(jù)單元buffer,并返回執(zhí)行所述判斷接收的數(shù)據(jù)單元數(shù)量是否達到對應數(shù)據(jù)條帶應具有的數(shù)據(jù)單元數(shù)量的步驟。

s13:將數(shù)據(jù)單元buffer的首地址及目的地址發(fā)送至控制器,以指示該控制器基于首地址將數(shù)據(jù)單元buffer中分配的數(shù)據(jù)單元寫入與目的地址對應的nandflash中。

寫buffer完成后,將多個數(shù)據(jù)單元buffer的首地址及目的地址發(fā)送至控制器,由此控制器可根據(jù)首地址獲取多個數(shù)據(jù)單元buffer中的數(shù)據(jù)單元,并將獲取的數(shù)據(jù)單元寫入目的地址對應的nandflash中,完成全部寫步驟。

本發(fā)明提供的上述技術(shù)方案中,為需要寫入nandflash的數(shù)據(jù)條帶準備多個地址連續(xù)的數(shù)據(jù)單元buffer,由此將數(shù)據(jù)條帶對應數(shù)據(jù)單元分配至多個數(shù)據(jù)單元buffer后,只需將數(shù)據(jù)單元buffer的首地址及nandflash對應的目的地址發(fā)送至控制器即可,無需像現(xiàn)有技術(shù)中一樣將每個數(shù)據(jù)單元buffer的地址均發(fā)送至控制器,從而大大減小了傳輸開銷,提高了數(shù)據(jù)傳輸效率,進而提高了固態(tài)硬盤的性能。

本發(fā)明實施例提供的一種固態(tài)硬盤中寫buffer的方法,將數(shù)據(jù)單元buffer的首地址及目的地址發(fā)送至控制器之后,還可以包括:

接收控制器返回的數(shù)據(jù)寫入完成信息,數(shù)據(jù)寫入完成信息為控制器基于首地址將數(shù)據(jù)單元buffer中分配的數(shù)據(jù)單元寫入與目的地址對應的nandflash后返回的。

控制器完成寫入步驟后返回數(shù)據(jù)寫入完成信息,能夠使得對應終端及時獲知數(shù)據(jù)寫入的情況,進而實現(xiàn)對應的操作。其中數(shù)據(jù)寫入完成信息可以包括數(shù)據(jù)單元的標識及對應寫入位置等,具體可以根據(jù)實際需要進行設(shè)定。

本發(fā)明實施例提供的一種固態(tài)硬盤中寫buffer的方法,接收控制器返回的數(shù)據(jù)寫入完成信息之后,還可以包括:

將數(shù)據(jù)寫入完成信息發(fā)送至指定終端。

將數(shù)據(jù)寫入完成信息發(fā)送至預先根據(jù)實際需要設(shè)定的指定終端,能夠使得與指定終端對應的工作人員能夠及時獲知對應數(shù)據(jù)寫入情況,進而實現(xiàn)對應的后續(xù)處理。

本發(fā)明實施例提供的一種固態(tài)硬盤中寫buffer的方法,還可以包括:

如果與寫命令對應的數(shù)據(jù)條帶中包含的數(shù)據(jù)單元的數(shù)量大于數(shù)據(jù)單元buffer的數(shù)量,則將分配失敗信息發(fā)送至指定終端。

如果寫命令對應數(shù)據(jù)條帶中包含的數(shù)據(jù)單元數(shù)量大于數(shù)據(jù)單元buffer的數(shù)量,則很可能是對數(shù)據(jù)單元buffer的設(shè)置出錯或者是數(shù)據(jù)條帶傳輸過程出錯,此時將分配失敗信息發(fā)送至指定終端,能夠使得指定終端對應工作人員及時獲知該失敗信息以進行對應的錯誤修復等。其中分配失敗信息可以包括數(shù)據(jù)單元的標識及數(shù)據(jù)單元buffer的標識等,具體可以根據(jù)實際需要進行設(shè)定。

本發(fā)明實施例提供的上述技術(shù)方案中與現(xiàn)有技術(shù)中對應技術(shù)方案實現(xiàn)原理一致的部分并未詳細說明,以免過多贅述。

本發(fā)明實施例還提供了一種固態(tài)硬盤中寫buffer的裝置,如圖2所示,可以包括:

準備模塊11,用于:預先準備多個地址連續(xù)的數(shù)據(jù)單元buffer,數(shù)據(jù)單元buffer的數(shù)量與數(shù)據(jù)條帶中包含的數(shù)據(jù)單元的數(shù)量相同;

分配模塊12,用于:接收主機下發(fā)的寫命令,并將與寫命令對應的數(shù)據(jù)條帶中包含的每個數(shù)據(jù)單元以一一對應的關(guān)系分別分配至多個數(shù)據(jù)單元buffer;

寫入模塊13,用于:將數(shù)據(jù)單元buffer的首地址及目的地址發(fā)送至控制器,以指示該控制器基于首地址將數(shù)據(jù)單元buffer中分配的數(shù)據(jù)單元寫入與目的地址對應的nandflash中。

本發(fā)明實施例提供的一種固態(tài)硬盤中寫buffer的裝置,還可以包括:

接收模塊,用于:將數(shù)據(jù)單元buffer的首地址及目的地址發(fā)送至控制器之后,接收控制器返回的數(shù)據(jù)寫入完成信息,數(shù)據(jù)寫入完成信息為控制器基于首地址將數(shù)據(jù)單元buffer中分配的數(shù)據(jù)單元寫入與目的地址對應的nandflash后返回的。

本發(fā)明實施例提供的一種固態(tài)硬盤中寫buffer的裝置,還可以包括:

第一發(fā)送模塊,用于:接收控制器返回的數(shù)據(jù)寫入完成信息之后,將數(shù)據(jù)寫入完成信息發(fā)送至指定終端。

本發(fā)明實施例提供的一種固態(tài)硬盤中寫buffer的裝置,還可以包括:

第二發(fā)送模塊,用于:如果與寫命令對應的數(shù)據(jù)條帶中包含的數(shù)據(jù)單元的數(shù)量大于數(shù)據(jù)單元buffer的數(shù)量,則將寫入失敗信息發(fā)送至指定終端。

本發(fā)明實施例提供的一種固態(tài)硬盤中寫buffer的裝置中相關(guān)部分的說明請參見本發(fā)明實施例提供的一種固態(tài)硬盤中寫buffer的方法中對應部分的詳細說明,在此不再贅述。

對所公開的實施例的上述說明,使本領(lǐng)域技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對這些實施例的多種修改對本領(lǐng)域技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實施例中實現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1