專利名稱:一種基于ssd的ip san實現(xiàn)方法、系統(tǒng)及服務(wù)器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及固態(tài)存儲技術(shù)領(lǐng)域,尤其涉及一種基于SSD的IP SAN實現(xiàn)方法、系統(tǒng)及服務(wù)器。
背景技術(shù):
隨著Flash (閃存)存儲芯片容量上升及價格的下降,使得通過Flash存儲芯片實現(xiàn)大容量固態(tài)硬盤成為可能。SSD (solid state disk,固態(tài)硬盤)的高性能、高可靠性使得固態(tài)硬盤成為企業(yè)級存儲中的新亮點。同時固態(tài)硬盤的控制器由軟件、固件以及邏輯等實現(xiàn),可以隨意定制讀寫命令格式,使得固態(tài)硬盤的應(yīng)用方案可以更加靈活。在現(xiàn)有的IP SAN( Internet protocol storage area network,以太網(wǎng)存儲區(qū)域網(wǎng) 絡(luò))方案中,一般采用傳統(tǒng)硬盤作為存儲介質(zhì)。而傳統(tǒng)硬盤只支持標準格式的命令,如SCSI (Small Computer System Interface,小型計算機系統(tǒng)接ロ)命令,因此IP SAN上傳輸?shù)氖莍SCSI (Internet Small Computer System Interface,互聯(lián)網(wǎng)小型計算機系統(tǒng)接 ロ)命令。而在現(xiàn)有采用固態(tài)硬盤作為存儲介質(zhì)的IP SAN方案中,也采用傳統(tǒng)的工作模式。其工作模式如圖I所示,應(yīng)用服務(wù)器進行數(shù)據(jù)讀寫時,其具體的工作步驟為應(yīng)用服務(wù)器上的應(yīng)用程序進行讀寫操作(發(fā)起讀寫請求);讀寫請求由文件系統(tǒng)或數(shù)據(jù)庫模塊轉(zhuǎn)換為操作系統(tǒng)可以識別的標準格式,如request或bio ;Request或bio經(jīng)過SCSI系統(tǒng)變?yōu)镾CSI格式命令;SCSI格式命令由iSCSI啟動器加上TCP/IP (TransmissionControl Protocol/Internet Protocol,傳輸控制協(xié)議)報文頭,此時命令變?yōu)榘司W(wǎng)絡(luò)報文頭的SCSI命令,即iSCSI格式命令;iSCSI命令經(jīng)過以太網(wǎng),傳輸?shù)綌?shù)據(jù)服務(wù)器端;數(shù)據(jù)服務(wù)器端的iSCSI目標器將收到的iSCSI命令去掉TCP/IP報文頭,此時命令變回為SCSI命令;SCSI子系統(tǒng)將SCSI發(fā)送給SSD驅(qū)動;SSD驅(qū)動將SCSI命令轉(zhuǎn)化為SSD控制器可以識別的格式下發(fā)給SSD控制器,至此,一個讀寫請求就下發(fā)完成了。在請求下發(fā)后,數(shù)據(jù)服務(wù)器會給應(yīng)用服務(wù)器返回一個響應(yīng)表示讀寫是否成功,如果是讀請求的話還會帶回需要讀的數(shù)據(jù)。具體步驟包括=SSD控制器返回響應(yīng)給SSD驅(qū)動;SSD驅(qū)動將該響應(yīng)返回給SCSI系統(tǒng);iSCSI目標器收到響應(yīng)后將之加上TCP/IP報文頭,經(jīng)過以太網(wǎng)發(fā)送給iSCSI啟動器;iSCSI啟動器將響應(yīng)返回給SCSI系統(tǒng);SCSI系統(tǒng)將響應(yīng)返回給文件系統(tǒng)或數(shù)據(jù)庫;文件系統(tǒng)或數(shù)據(jù)庫將響應(yīng)返回給應(yīng)用程序。在該方案中,數(shù)據(jù)讀寫請求下發(fā)和完成時需要經(jīng)過SCSI子系統(tǒng)轉(zhuǎn)化為SCSI命令,系統(tǒng)消耗較大。綜上可知,現(xiàn)有的IP SAN在實際使用上顯然存在不便與缺陷,所以有必要加以改迸。
發(fā)明內(nèi)容
針對上述的缺陷,本發(fā)明的目的在于提供一種基于SSD的IP SAN實現(xiàn)方法、系統(tǒng)及服務(wù)器,能夠節(jié)省數(shù)據(jù)操作命令的處理時間,提高處理效率,降低系統(tǒng)消耗。為了實現(xiàn)上述目的,本發(fā)明提供一種基于SSD的IP SAN實現(xiàn)方法,所述方法包括
一種基于SSD的IP SAN實現(xiàn)方法,其特征在于,所述方法包括應(yīng)用服務(wù)器將應(yīng)用程序發(fā)起的數(shù)據(jù)操作請求轉(zhuǎn)換為SSD控制器可識別的格式請求,并加上TCP/IP報文頭形成網(wǎng)絡(luò)控制命令發(fā)送到數(shù)據(jù)服務(wù)器;數(shù)據(jù)服務(wù)器接收網(wǎng)絡(luò)控制命令后,去掉所述網(wǎng)絡(luò)控制命令的TCP/IP報文頭將其恢復(fù)成SSD控制器可識別的格式請求后發(fā)送給 所述SSD控制器,SSD控制器執(zhí)行相應(yīng)的數(shù)據(jù)操作并返回相應(yīng)的操作信息。根據(jù)本發(fā)明的實現(xiàn)方法,“應(yīng)用服務(wù)器將應(yīng)用程序發(fā)起的數(shù)據(jù)操作請求轉(zhuǎn)換為SSD控制器可識別的格式請求”具體為將應(yīng)用服務(wù)器將應(yīng)用程序發(fā)起的數(shù)據(jù)操作請求通過文件系統(tǒng)或數(shù)據(jù)庫轉(zhuǎn)換為操作系統(tǒng)可識別的標準格式請求,所述標準格式請求為request、bio或者IRP。根據(jù)本發(fā)明的實現(xiàn)方法,所述是西安方法還包括所述數(shù)據(jù)服務(wù)器將所述SSD控制器返回的操作信息加上TCP/IP報文頭,并發(fā)送給所述應(yīng)用服務(wù)器;應(yīng)用服務(wù)器接收所述操作信息后,去掉TCP/IP報文頭后返回給所述應(yīng)用程序。根據(jù)本發(fā)明的實現(xiàn)方法,“應(yīng)用服務(wù)器將應(yīng)用程序發(fā)起的數(shù)據(jù)操作請求轉(zhuǎn)換為SSD控制器可識別的格式請求”的步驟之前還包括SSD控制器定制數(shù)據(jù)操作請求的格式。本發(fā)明相應(yīng)提供一種基于SSD的IP SAN實現(xiàn)系統(tǒng),IP存儲區(qū)域網(wǎng)絡(luò)包括應(yīng)用服務(wù)器以及數(shù)據(jù)服務(wù)器,所述應(yīng)用服務(wù)器包括程序接口,用于將應(yīng)用程序發(fā)起的數(shù)據(jù)操作請求轉(zhuǎn)發(fā)給格式轉(zhuǎn)換模塊;格式轉(zhuǎn)換模塊,用于將所述數(shù)據(jù)讀寫請求轉(zhuǎn)換為SSD控制器可識別的格式請求;啟動器,用于將所述SSD控制器可識別的格式請求加上TCP/IP報文頭形成網(wǎng)絡(luò)控制命令;第一網(wǎng)絡(luò)協(xié)議棧,用于將所述網(wǎng)絡(luò)控制命令發(fā)送到數(shù)據(jù)服務(wù)器,所述數(shù)據(jù)服務(wù)器包括第二網(wǎng)絡(luò)協(xié)議棧,用于接收來自所述應(yīng)用服務(wù)器的網(wǎng)絡(luò)控制命令,并發(fā)送給目標器;目標器,用于去掉所述網(wǎng)絡(luò)控制命令的TCP/IP報文頭將其恢復(fù)成所述SSD控制器可識別的格式請求,并轉(zhuǎn)發(fā)給SSD控制器;SSD控制器,用于根據(jù)所述數(shù)據(jù)操作請求執(zhí)行相應(yīng)的數(shù)據(jù)操作并返回相應(yīng)的操作信息。根據(jù)本發(fā)明的實現(xiàn)系統(tǒng),所述格式轉(zhuǎn)換模塊為操作系統(tǒng)的文件系統(tǒng)或數(shù)據(jù)庫,用于將應(yīng)用服務(wù)器將應(yīng)用程序發(fā)起的數(shù)據(jù)操作請求通過文件系統(tǒng)或數(shù)據(jù)庫轉(zhuǎn)換為操作系統(tǒng)可識別的標準格式請求,所述標準格式請求為request、bio或者IRP。根據(jù)本發(fā)明的實現(xiàn)系統(tǒng),所述數(shù)據(jù)服務(wù)器還用于將所述SSD控制器返回的操作信息加上TCP/IP報文頭,并發(fā)送給所述應(yīng)用服務(wù)器;所述應(yīng)用服務(wù)器還用于接收所述操作信息后,去掉TCP/IP報文頭后返回給所述應(yīng)用程序。根據(jù)本發(fā)明的實現(xiàn)系統(tǒng),所述數(shù)據(jù)服務(wù)器的SSD控制器還包括格式定制模塊,用于定制數(shù)據(jù)操作請求的格式。本發(fā)明還提供一種應(yīng)用服務(wù)器,用于IP存儲區(qū)域網(wǎng)絡(luò),所述IP存儲區(qū)域網(wǎng)絡(luò)包括應(yīng)用服務(wù)器以及數(shù)據(jù)服務(wù)器,所述應(yīng)用服務(wù)器包括程序接口,用于將應(yīng)用程序發(fā)起的數(shù)據(jù)操作請求轉(zhuǎn)發(fā)給文件系統(tǒng)或數(shù)據(jù)庫;格式轉(zhuǎn)換模塊,用于將所述數(shù)據(jù)讀寫請求轉(zhuǎn)換為SSD控制器可識別的格式請求;啟動器,用于將所述SSD控制器可識別的格式請求加上TCP/IP報文頭形成網(wǎng)絡(luò)控制命令;第一網(wǎng)絡(luò)協(xié)議棧,用于將所述網(wǎng)絡(luò)控制命令發(fā)送到數(shù)據(jù)服務(wù)器。本發(fā)明還提供一種數(shù)據(jù)服務(wù)器,用于IP存儲區(qū)域網(wǎng)絡(luò),所述IP存儲區(qū)域網(wǎng)絡(luò)包括應(yīng)用服務(wù)器以及數(shù)據(jù)服務(wù)器,所述數(shù)據(jù)服務(wù)器包括第二網(wǎng)絡(luò)協(xié)議棧,用于接收來自所述應(yīng)用服務(wù)器的網(wǎng)絡(luò)控制命令,并發(fā)送給目標器;目標器,用于去掉所述網(wǎng)絡(luò)控制命令的TCP/IP報文頭將其恢復(fù)成所述SSD控制器可識別的格式請求,并轉(zhuǎn)發(fā)給SSD控制器;SSD控制器,用于根據(jù)所述數(shù)據(jù)操作請求執(zhí)行相應(yīng)的數(shù)據(jù)操作并返回相應(yīng)的操作信息。本發(fā)明通過在應(yīng)用服務(wù)器端將數(shù)據(jù)操作請求轉(zhuǎn)換為SSD控制器可識別的格式請求后,直接加上TCP/IP報文頭形成網(wǎng)絡(luò)控制命令發(fā)送到數(shù)據(jù)服務(wù)器,在數(shù)據(jù)服務(wù)器端接收到網(wǎng)絡(luò)控制命令后,通過目標器去掉網(wǎng)絡(luò)控制命令的TCP/IP報文頭后轉(zhuǎn)發(fā)給SSD控制器,SSD控制器執(zhí)行相應(yīng)的數(shù)據(jù)操作并返回相應(yīng)的操作信息。本發(fā)明的方案不需經(jīng)過SCSI子系統(tǒng)將標準格式請求轉(zhuǎn)化為SCSI命令,從而應(yīng)用服務(wù)器和數(shù)據(jù)服務(wù)器的讀寫請求和響應(yīng)可以不經(jīng)過SCSI系統(tǒng)。從而節(jié)省數(shù)據(jù)操作命令處理的時間,提高處理效率,降低系統(tǒng)消耗。借此,本發(fā)明能夠節(jié)省數(shù)據(jù)操作命令的處理時間,提高處理效率,降低系統(tǒng)消耗。
圖I是現(xiàn)有IP SAN的工作模式的示意圖;圖2是本發(fā)明一種基于SSD的IP SAN實現(xiàn)系統(tǒng)的原理結(jié)構(gòu)圖;圖3是本發(fā)明一種基于SSD的IP SAN實現(xiàn)方法的流程圖;圖4是本發(fā)明中ー種數(shù)據(jù)讀寫操作的具體實施例的流程圖。
具體實施例方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進行進ー步詳細說明。應(yīng)當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。如圖2所示,本發(fā)明ー種基于SSD的IP SAN實現(xiàn)系統(tǒng)100,IP存儲區(qū)域網(wǎng)絡(luò)包括應(yīng)用服務(wù)器10以及數(shù)據(jù)服務(wù)器20,應(yīng)用服務(wù)器10通過以太網(wǎng)與數(shù)據(jù)服務(wù)器20連接。該系統(tǒng)設(shè)置于應(yīng)用服務(wù)器10和數(shù)據(jù)服務(wù)器20內(nèi)的軟件單元,硬件単元或軟硬件結(jié)合單元。應(yīng)用服務(wù)器10包括程序接ロ 11、格式轉(zhuǎn)換模塊12、啟動器13以及第ー網(wǎng)絡(luò)協(xié)議棧14。程序接ロ 11,用于將應(yīng)用程序發(fā)起的數(shù)據(jù)讀寫請求轉(zhuǎn)發(fā)給格式轉(zhuǎn)換模塊12。文件系統(tǒng)是服務(wù)器的操作系統(tǒng)用于明確磁盤或分區(qū)上的文件的方法和數(shù)據(jù)結(jié)構(gòu)。格式轉(zhuǎn)換模塊12,用于將數(shù)據(jù)讀寫請求轉(zhuǎn)換為SSD控制器可識別的格式請求。優(yōu)選的是,該格式轉(zhuǎn)換模塊12為服務(wù)器上的文件系統(tǒng)或數(shù)據(jù)庫,用于將應(yīng)用服務(wù)器將應(yīng)用程序發(fā)起的數(shù)據(jù)操作請求通過文件系統(tǒng)或數(shù)據(jù)庫轉(zhuǎn)換為操作系統(tǒng)可識別的標準格式請求。該標準格式請求為Iinux系統(tǒng)可以識別的請求命令格式,如request、bio等;或者為windows系統(tǒng)可識別的請求命令格式,如IRP (10 request package, IO請求包)等。數(shù)據(jù)讀寫請求轉(zhuǎn)換為其他格式,不一定需要被操作系統(tǒng)識別,只要該格式請求包括以下和操作相關(guān)的關(guān)鍵信息讀寫對象(即哪個盤)、讀寫的地址、讀寫長度等。該格式轉(zhuǎn)換模塊12可以是設(shè)置在服務(wù)器的軟件單元,硬件単元或軟硬件結(jié)合單元。啟動器13,用于將SSD控制器可識別的格式請求加上TCP/IP報文頭形成網(wǎng)絡(luò)控制命令發(fā)送到數(shù)據(jù)服務(wù)器。以標準格式請求為Request或bio為例,Request或bio經(jīng)過啟動器,啟動器給他們加上TCP/IP報文頭,此時命令變?yōu)榘司W(wǎng)絡(luò)報文頭的request或bio,稱之為網(wǎng)絡(luò)控制命令(internet command),網(wǎng)絡(luò)控制命令包含了 TCP/IP報文頭,可以經(jīng)過以太網(wǎng)進行傳輸。第一網(wǎng)絡(luò)協(xié)議棧14,用于將網(wǎng)絡(luò)控制命令傳輸?shù)綌?shù)據(jù)服務(wù)器20。數(shù)據(jù)服務(wù)器20包括第二網(wǎng)絡(luò)協(xié)議棧21、目標器22以及SSD控制器24。第二網(wǎng)絡(luò)協(xié)議棧21,用于接收來自數(shù)據(jù)服務(wù)器20網(wǎng)絡(luò)控制命令。目標器22,用于去掉網(wǎng)絡(luò)控制命令的TCP/IP報文頭將其恢復(fù)成SSD控制器可識別的格式請求,并轉(zhuǎn)發(fā)給SSD控制器24。SSD控制器24,用于根據(jù)所述數(shù)據(jù)操作請求執(zhí)行相應(yīng)的數(shù)據(jù)讀寫操作并返回相應(yīng) 的操作信息。SSD控制器24包含硬件(控制芯片)、固件(運行在芯片上的代碼,即firmware)或邏輯(一般是FPGA,可編程門電路),其中,硬件是必需的,固件和邏輯兩者只要一個就可對控制芯片進行操作。其中,數(shù)據(jù)服務(wù)器20還包括SSD驅(qū)動23,SSD驅(qū)動23運行在數(shù)據(jù)服務(wù)器20的操作系統(tǒng)上,讓操作系統(tǒng)可以識別SSD控制器24。用于將目標器22發(fā)來的請求下發(fā)給SSD控制器24。 如圖I所示,數(shù)據(jù)服務(wù)器20完成數(shù)據(jù)操作請求后,還需要向應(yīng)用服務(wù)器10返回操作信息,例如讀寫是否成功,如果是讀請求的話還會返回需要讀的數(shù)據(jù)。因此,數(shù)據(jù)服務(wù)器20還用于將SSD控制器24返回的操作信息加上TCP/IP報文頭,并發(fā)送給應(yīng)用服務(wù)器10 ;應(yīng)用服務(wù)器10還用于接收操作信息后,去掉TCP/IP報文頭返回給應(yīng)用程序。其具體實現(xiàn)過程如下SSD控制器24返回將讀寫是否成功和數(shù)據(jù)(如果是讀數(shù)據(jù)請求)返回給SSD驅(qū)動23 ;SSD驅(qū)動23將操作信息返回給目標器22 ;目標器22收到操作信息后將之加上TCP/IP報文頭,經(jīng)過以太網(wǎng)發(fā)送給應(yīng)用服務(wù)器的啟動器13 ;啟動器13將該操作信息返回給格式轉(zhuǎn)換模塊12 ;格式轉(zhuǎn)換模塊12將響應(yīng)返回給程序接口 11。由于傳統(tǒng)的硬盤一般只支持標準格式的命令,如SCSI命令,因此IP SAN上傳輸?shù)氖莍SCSI命令;SSD控制器24可以定制數(shù)據(jù)操作請求命令格式,只要包含足夠的信息(如讀寫地址、長度、內(nèi)存地址等信息)即可,所以在傳輸時不一定傳輸iSCSI,可只傳輸本發(fā)明中加上了 TCP/IP報文頭的SSD控制器24可識別的格式請求命令。當然由于SSD控制器24可以定制數(shù)據(jù)操作請求命令格式,也可使數(shù)據(jù)服務(wù)器20和應(yīng)用服務(wù)器10之間傳輸?shù)拿畈捎肧SD控制器24定制的數(shù)據(jù)操作請求命令格式。從而,數(shù)據(jù)服務(wù)器20的SSD控制器24還可包括格式定制模塊,用于定制數(shù)據(jù)操作請求的命令格式;應(yīng)用服務(wù)器的格式轉(zhuǎn)換模塊12在工作時按照SSD控制器24定制的格式進行轉(zhuǎn)換。本發(fā)明通過在應(yīng)用服務(wù)器端將數(shù)據(jù)操作請求轉(zhuǎn)換為SSD控制器可識別的格式請求后,直接加上TCP/IP報文頭形成網(wǎng)絡(luò)控制命令發(fā)送到數(shù)據(jù)服務(wù)器,在數(shù)據(jù)服務(wù)器端接收到網(wǎng)絡(luò)控制命令后,通過目標器去掉網(wǎng)絡(luò)控制命令的TCP/IP報文頭后轉(zhuǎn)發(fā)給SSD控制器,SSD控制器執(zhí)行相應(yīng)的數(shù)據(jù)操作并返回相應(yīng)的操作信息。本發(fā)明的方案不需經(jīng)過SCSI子系統(tǒng)將標準格式請求轉(zhuǎn)化為SCSI命令,從而應(yīng)用服務(wù)器和數(shù)據(jù)服務(wù)器的讀寫請求和響應(yīng)可以不經(jīng)過SCSI系統(tǒng)。從而節(jié)省數(shù)據(jù)操作命令處理的時間,提高處理效率,降低系統(tǒng)消耗。借此,本發(fā)明能夠節(jié)省數(shù)據(jù)操作命令的處理時間,提高處理效率,降低系統(tǒng)消耗。如圖3所示,本發(fā)明相應(yīng)提供一種基于SSD的IP SAN實現(xiàn)方法,其通過圖2所示的系統(tǒng)實現(xiàn),該方法包括如下步驟步驟S301,應(yīng)用服務(wù)器將應(yīng)用程序發(fā)起的數(shù)據(jù)操作請求轉(zhuǎn)換為SSD控制器可識別的格式請求,并加上TCP/IP報文頭形成網(wǎng)絡(luò)控制命令發(fā)送到數(shù)據(jù)服務(wù)器。SSD控制器可識別的格式請求可以為SSD定制的格式請求或者現(xiàn)有的標準格式請求,該標準格式請求如Iinux系統(tǒng)可以識別的請求命令格式,request、bio等;或者為windows系統(tǒng)可識別的請求命令格式,如IRP (10 request package, IO請求包)等。SSD控制器可識別的格式請求需包括以下關(guān)鍵信息讀寫對象(即哪個盤)、讀寫的地址、讀寫長度等。本步驟通過應(yīng)用服務(wù)器10實現(xiàn)。步驟S302,數(shù)據(jù)服務(wù)器接收網(wǎng)絡(luò)控制命令后,去掉網(wǎng)絡(luò)控制命令的TCP/IP報文頭將其恢復(fù)成SSD控制器可識別的格式請求后發(fā)送給SSD控制器,SSD控制器執(zhí)行相應(yīng)的數(shù)據(jù)操作并返回相應(yīng)的操作信息。操作信息具體為讀寫是否成功,如果是讀請求的話還會返回需要讀的數(shù)據(jù)。本步驟通過數(shù)據(jù)服務(wù)器20實現(xiàn)。優(yōu)選的是,在步驟S302之后還包括數(shù)據(jù)服務(wù)器20將SSD控制器24返回的操作信息加上TCP/IP報文頭,并發(fā)送給所述應(yīng)用服務(wù)器10 ;應(yīng)用服務(wù)器10接收操作信息后,去掉TCP/IP報文頭后返回給應(yīng)用程序。
由于SSD控制器24可以定制數(shù)據(jù)操作請求命令格式,也可使數(shù)據(jù)服務(wù)器20和應(yīng)用服務(wù)器10之間傳輸?shù)拿畈捎肧SD控制器24定制的數(shù)據(jù)操作請求命令格式。優(yōu)選的是,在步驟S301之前還包括SSD控制器定制數(shù)據(jù)操作請求的命令格式,本步驟通過SSD控制器24的格式定制模塊實現(xiàn);在步驟S301中還包括將所述標準格式請求的格式轉(zhuǎn)換為SSD控制器定制的數(shù)據(jù)操作請求命令格式,本步驟通過啟動器13的格式轉(zhuǎn)換模塊實現(xiàn)。圖4是本發(fā)明中ー種數(shù)據(jù)讀寫操作的具體實施例的流程圖,其主要包括如下步驟步驟S401,應(yīng)用服務(wù)器上的應(yīng)用程序進行讀寫操作。步驟S402,讀寫操作請求經(jīng)過文件系統(tǒng)或者數(shù)據(jù)庫模塊變?yōu)閞equest或bio(linux系統(tǒng)可以識別的請求命令格式,包含如下信息讀寫對象、讀寫的地址以及讀寫長度等)。在本實施例中,應(yīng)用服務(wù)器以及數(shù)據(jù)服務(wù)器均采用Iinux操作系統(tǒng)。步驟S403,啟動器給Request或bio加上TCP/IP報文頭,成為iCMD (internetcommand,網(wǎng)絡(luò)控制)命令。此時命令變?yōu)榘司W(wǎng)絡(luò)報文頭的request或bio,就可以經(jīng)過以太網(wǎng)進行傳輸了。步驟S404,iCMD命令通過以太網(wǎng)傳輸?shù)綌?shù)據(jù)服務(wù)器。步驟S405,數(shù)據(jù)服務(wù)器端的目標器將收到的iCMD命令去掉TCP/IP報文頭,命令變回為 request 或 bio。步驟S406,SSD驅(qū)動將request或bio轉(zhuǎn)化為SSD控制器可以識別的格式下發(fā)給SSD控制器。至此,一個讀寫請求就完成了,在請求下發(fā)后,數(shù)據(jù)服務(wù)器會給應(yīng)用程序服務(wù)器返回一個響應(yīng)表示讀寫是否成功,如果是讀請求的話還會帶回需要讀的數(shù)據(jù)。步驟S407,SSD控制器將讀寫是否成功和數(shù)據(jù)返回給SSD驅(qū)動。步驟S408,SSD驅(qū)動將讀寫是否成功和數(shù)據(jù)返回給目標器。步驟S409,目標器收到響應(yīng)后將之加上TCP/IP報文頭,經(jīng)過以太網(wǎng)發(fā)送給應(yīng)用服務(wù)器的啟動器。
步驟S410,應(yīng)用服務(wù)器的啟動器將響應(yīng)返回給文件系統(tǒng)或數(shù)據(jù)庫。步驟S411,文件系統(tǒng)或數(shù)據(jù)庫將響應(yīng)返回給應(yīng)用程序。從上述實施例可以看出,本發(fā)明和傳統(tǒng)的IP SAN方案相比,應(yīng)用服務(wù)器10和數(shù)據(jù)服務(wù)器20的讀寫請求和響應(yīng)可以不經(jīng)過SCSI系統(tǒng),在太網(wǎng)上傳輸?shù)氖莍CMD命令,從而在數(shù)據(jù)讀寫過程中可以節(jié)省命令在SCSI系統(tǒng)中的處理時間。本發(fā)明還提供一種應(yīng)用服務(wù)器,用于IP存儲區(qū)域網(wǎng)絡(luò),IP存儲區(qū)域網(wǎng)絡(luò)包括應(yīng)用服務(wù)器以及數(shù)據(jù)服務(wù)器,應(yīng)用服務(wù)器包括程序接口,用于將應(yīng)用程序發(fā)起的數(shù)據(jù)操作請求轉(zhuǎn)發(fā)給文件系統(tǒng)或數(shù)據(jù)庫; 格式轉(zhuǎn)換模塊,用于將所述數(shù)據(jù)讀寫請求轉(zhuǎn)換為SSD控制器可識別的格式請求;啟動器,用于將所述SSD控制器可識別的格式請求加上TCP/IP報文頭形成網(wǎng)絡(luò)控制命令;第一網(wǎng)絡(luò)協(xié)議棧,用于將所述網(wǎng)絡(luò)控制命令發(fā)送到數(shù)據(jù)服務(wù)器。本發(fā)明還提供一種數(shù)據(jù)服務(wù)器,用于IP存儲區(qū)域網(wǎng)絡(luò),IP存儲區(qū)域網(wǎng)絡(luò)包括應(yīng)用服務(wù)器以及數(shù)據(jù)服務(wù)器,所述數(shù)據(jù)服務(wù)器包括第二網(wǎng)絡(luò)協(xié)議棧,用于接收來自所述應(yīng)用服務(wù)器的網(wǎng)絡(luò)控制命令,并發(fā)送給目標器;目標器,用于去掉所述網(wǎng)絡(luò)控制命令的TCP/IP報文頭將其恢復(fù)成所述SSD控制器可識別的格式請求,并轉(zhuǎn)發(fā)給SSD控制器;SSD控制器,用于根據(jù)所述數(shù)據(jù)操作請求執(zhí)行相應(yīng)的數(shù)據(jù)操作并返回相應(yīng)的操作信息。綜上所述,本發(fā)明通過在應(yīng)用服務(wù)器端將數(shù)據(jù)操作請求轉(zhuǎn)換為SSD控制器可識別的格式請求后,直接加上TCP/IP報文頭形成網(wǎng)絡(luò)控制命令發(fā)送到數(shù)據(jù)服務(wù)器,在數(shù)據(jù)服務(wù)器端接收到網(wǎng)絡(luò)控制命令后,通過目標器去掉網(wǎng)絡(luò)控制命令的TCP/IP報文頭后轉(zhuǎn)發(fā)給SSD控制器,SSD控制器執(zhí)行相應(yīng)的數(shù)據(jù)操作并返回相應(yīng)的操作信息。本發(fā)明的方案不需經(jīng)過SCSI子系統(tǒng)將標準格式請求轉(zhuǎn)化為SCSI命令,從而應(yīng)用服務(wù)器和數(shù)據(jù)服務(wù)器的讀寫請求和響應(yīng)可以不經(jīng)過SCSI系統(tǒng)。從而節(jié)省數(shù)據(jù)操作命令處理的時間,提高處理效率,降低系統(tǒng)消耗。借此,本發(fā)明能夠節(jié)省數(shù)據(jù)操作命令的處理時間,提高處理效率,降低系統(tǒng)消耗。當然,本發(fā)明還可有其它多種實施例,在不背離本發(fā)明精神及其實質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員當可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護范圍。
權(quán)利要求
1.一種基于SSD的IP SAN實現(xiàn)方法,其特征在于,所述方法包括 應(yīng)用服務(wù)器將應(yīng)用程序發(fā)起的數(shù)據(jù)操作請求轉(zhuǎn)換為SSD控制器可識別的格式請求,并加上TCP/IP報文頭形成網(wǎng)絡(luò)控制命令發(fā)送到數(shù)據(jù)服務(wù)器; 數(shù)據(jù)服務(wù)器接收網(wǎng)絡(luò)控制命令后,去掉所述網(wǎng)絡(luò)控制命令的TCP/IP報文頭將其恢復(fù)成SSD控制器可識別的格式請求后發(fā)送給所述SSD控制器,SSD控制器執(zhí)行相應(yīng)的數(shù)據(jù)操作并返回相應(yīng)的操作信息。
2.根據(jù)權(quán)利要求I所述的實現(xiàn)方法,其特征在干,“應(yīng)用服務(wù)器將應(yīng)用程序發(fā)起的數(shù)據(jù)操作請求轉(zhuǎn)換為SSD控制器可識別的格式請求”具體為 將應(yīng)用服務(wù)器將應(yīng)用程序發(fā)起的數(shù)據(jù)操作請求通過文件系統(tǒng)或數(shù)據(jù)庫轉(zhuǎn)換為操作系統(tǒng)可識別的標準格式請求,所述標準格式請求為request、bio或者IRP。
3.根據(jù)權(quán)利要求I所述的實現(xiàn)方法,其特征在于,所述方法還包括 所述數(shù)據(jù)服務(wù)器將所述SSD控制器返回的操作信息加上TCP/IP報文頭,并發(fā)送給所述應(yīng)用服務(wù)器; 應(yīng)用服務(wù)器接收所述操作信息后,去掉TCP/IP報文頭后返回給所述應(yīng)用程序。
4.根據(jù)權(quán)利要求I所述的實現(xiàn)方法,其特征在干,“應(yīng)用服務(wù)器將應(yīng)用程序發(fā)起的數(shù)據(jù)操作請求轉(zhuǎn)換為SSD控制器可識別的格式請求”的步驟之前還包括SSD控制器定制數(shù)據(jù)操作請求的格式。
5.一種基于SSD的IP SAN實現(xiàn)系統(tǒng),IP存儲區(qū)域網(wǎng)絡(luò)包括應(yīng)用服務(wù)器以及數(shù)據(jù)服務(wù)器,其特征在干, 所述應(yīng)用服務(wù)器包括 程序接ロ,用于將應(yīng)用程序發(fā)起的數(shù)據(jù)操作請求轉(zhuǎn)發(fā)給格式轉(zhuǎn)換模塊; 格式轉(zhuǎn)換模塊,用于將所述數(shù)據(jù)讀寫請求轉(zhuǎn)換為SSD控制器可識別的格式請求; 啟動器,用于將所述SSD控制器可識別的格式請求加上TCP/IP報文頭形成網(wǎng)絡(luò)控制命令; 第一網(wǎng)絡(luò)協(xié)議棧,用于將所述網(wǎng)絡(luò)控制命令發(fā)送到數(shù)據(jù)服務(wù)器, 所述數(shù)據(jù)服務(wù)器包括 第二網(wǎng)絡(luò)協(xié)議棧,用于接收來自所述應(yīng)用服務(wù)器的網(wǎng)絡(luò)控制命令,并發(fā)送給目標器; 目標器,用于去掉所述網(wǎng)絡(luò)控制命令的TCP/IP報文頭將其恢復(fù)成所述SSD控制器可識別的格式請求,并轉(zhuǎn)發(fā)給SSD控制器; SSD控制器,用于根據(jù)所述數(shù)據(jù)操作請求執(zhí)行相應(yīng)的數(shù)據(jù)操作并返回相應(yīng)的操作信息。
6.根據(jù)權(quán)利要求5所述的實現(xiàn)系統(tǒng),其特征在于,所述格式轉(zhuǎn)換模塊為操作系統(tǒng)的文件系統(tǒng)或數(shù)據(jù)庫,用于將應(yīng)用服務(wù)器將應(yīng)用程序發(fā)起的數(shù)據(jù)操作請求通過文件系統(tǒng)或數(shù)據(jù)庫轉(zhuǎn)換為操作系統(tǒng)可識別的標準格式請求,所述標準格式請求為request、bio或者IRP。
7.根據(jù)權(quán)利要求5所述的實現(xiàn)系統(tǒng),其特征在干, 所述數(shù)據(jù)服務(wù)器還用于將所述SSD控制器返回的操作信息加上TCP/IP報文頭,并發(fā)送給所述應(yīng)用服務(wù)器; 所述應(yīng)用服務(wù)器還用于接收所述操作信息后,去掉TCP/IP報文頭后返回給所述應(yīng)用程序。
8.根據(jù)權(quán)利要求5所述的實現(xiàn)系統(tǒng),其特征在于,所述數(shù)據(jù)服務(wù)器的SSD控制器還包括格式定制模塊,用于定制數(shù)據(jù)操作請求的格式。
9.一種應(yīng)用服務(wù)器,用于IP存儲區(qū)域網(wǎng)絡(luò),所述IP存儲區(qū)域網(wǎng)絡(luò)包括應(yīng)用服務(wù)器以及數(shù)據(jù)服務(wù)器,其特征在于,所述應(yīng)用服務(wù)器包括 程序接口,用于將應(yīng)用程序發(fā)起的數(shù)據(jù)操作請求轉(zhuǎn)發(fā)給文件系統(tǒng)或數(shù)據(jù)庫; 格式轉(zhuǎn)換模塊,用于將所述數(shù)據(jù)讀寫請求轉(zhuǎn)換為SSD控制器可識別的格式請求; 啟動器,用于將所述SSD控制器可識別的格式請求加上TCP/IP報文頭形成網(wǎng)絡(luò)控制命令; 第一網(wǎng)絡(luò)協(xié)議棧,用于將所述網(wǎng)絡(luò)控制命令發(fā)送到數(shù)據(jù)服務(wù)器。
10.一種數(shù)據(jù)服務(wù)器,用于IP存儲區(qū)域網(wǎng)絡(luò),所述IP存儲區(qū)域網(wǎng)絡(luò)包括應(yīng)用服務(wù)器以及數(shù)據(jù)服務(wù)器,其特征在于,所述數(shù)據(jù)服務(wù)器包括 第二網(wǎng)絡(luò)協(xié)議棧,用于接收來自所述應(yīng)用服務(wù)器的網(wǎng)絡(luò)控制命令,并發(fā)送給目標器; 目標器,用于去掉所述網(wǎng)絡(luò)控制命令的TCP/IP報文頭將其恢復(fù)成所述SSD控制器可識別的格式請求,并轉(zhuǎn)發(fā)給SSD控制器; SSD控制器,用于根據(jù)所述數(shù)據(jù)操作請求執(zhí)行相應(yīng)的數(shù)據(jù)操作并返回相應(yīng)的操作信息。
全文摘要
本發(fā)明適用于固態(tài)存儲技術(shù)領(lǐng)域,提供了一種基于SSD的IP SAN實現(xiàn)方法、系統(tǒng)及服務(wù)器,該實現(xiàn)方法包括應(yīng)用服務(wù)器將應(yīng)用程序發(fā)起的數(shù)據(jù)操作請求轉(zhuǎn)換為SSD控制器可識別的格式請求,并加上TCP/IP報文頭形成網(wǎng)絡(luò)控制命令發(fā)送到數(shù)據(jù)服務(wù)器;數(shù)據(jù)服務(wù)器接收網(wǎng)絡(luò)控制命令后,去掉所述網(wǎng)絡(luò)控制命令的TCP/IP報文頭將其恢復(fù)成SSD控制器可識別的格式請求后發(fā)送給所述SSD控制器,SSD控制器執(zhí)行相應(yīng)的數(shù)據(jù)操作并返回相應(yīng)的操作信息。借此,本發(fā)明能夠節(jié)省數(shù)據(jù)操作命令的處理時間,提高處理效率,降低系統(tǒng)消耗。
文檔編號H04L29/08GK102780761SQ20121020981
公開日2012年11月14日 申請日期2012年6月25日 優(yōu)先權(quán)日2012年6月25日
發(fā)明者金明 申請人:記憶科技(深圳)有限公司