專利名稱:基于固態硬盤的通訊方法及固態硬盤的制作方法
技術領域:
本發明涉及存儲技術領域,尤其涉及一種基于固態硬盤的通訊方法及固態硬盤。
背景技術:
現有單接口 SSD(Solid State Disk,固態硬盤)在多主機共享時,僅一個主機A能直接訪問SSD,其它主機等需通過代理主機A來間接訪問。間接訪問的主機等無法充分利用SSD高帶寬、低延遲的特性,而且對代理主機A的性能有額外要求。中國發明專利申請CN201010184698.9公開了一種多接口固態硬盤及其處理方法和系統,如圖1所示,所述多接口固態硬盤包括多個接口控制單元、命令調度單元、flash控制單元及flash芯片,其用于解決單接口 SSD無法同時高效地為多個主機提供服務的問題,允許各個主機獨立訪問SSD的控制通路,使得不同主機可平等、高效地利用SSD高帶寬、低響應延遲的特性。但是,CN201010184698. 9需要在不同主機之間增加額外通訊通路以實現彼此通訊,比如網絡,這會增加系統的復雜度、成本和功耗;并且對于兩個主機緊密耦合在一起的應用來說,由于空間、功耗的限制可能無法提供額外的通訊通路。綜上可知,現有固態硬盤的通訊技術在實際使用上,顯然存在不便與缺陷,所以有必要加以改進。
發明內容
針對上述的缺陷,本發明的目的在于提供一種基于固態硬盤的通訊方法及固態硬盤,其能通過在固態硬盤內部建立通訊通路來解決不同通訊接口的主機之間的通訊問題,從而降低了系統的成本、復雜度、功耗及空間要求。為了實現上述目的,本發明提供一種固態硬盤,包括有SSD單元和多個通訊接口,每個所述通訊接口分別與一主機通訊連接,所述固態硬盤還包括通訊單元,所述通訊單元分別與所述多個通訊接口和所述SSD單元通訊連接;所述通訊接口用于收到一主機請求與其他主機進行通訊的操作命令后,將所述操作命令轉發給所述通訊單元;所述通訊單元用于根據所述操作命令處理所述主機與所述其他主機之間的通訊。根據本發明所述的固態硬盤,所述通訊單元進一步包括多個通訊擴展子單元、接口間通訊子單元和通訊信息管理子單元,所述每個通訊擴展子單元分別與一所述通訊接口通訊連接;所述通訊信息管理子單元用于在上電時從所述SSD單元中加載通訊管理相關的配置信息;所述通訊擴展子單元用于建立不同通訊接口的主機之間的通訊通路,并將從所述通訊接口收到的所述操作命令轉發給所述接口間通訊子單元;所述接口間通訊子單元用于根據所述操作命令處理所述主機和所述其他主機之間的通訊。
根據本發明所述的固態硬盤,所述通訊接口用于收到對應的主機發送的通訊數據后,將所述通訊數據轉發給對應的所述通訊擴展子單元,所述通訊擴展子單元將所述通訊數據轉發給所述接口間通訊子單元;所述通訊接口用于收到對應的主機發送的通訊數據讀取命令后,將所述通訊數據讀取命令轉發給對應的所述通訊擴展子單元;所述通訊擴展子單元用于根據所述通訊數據讀取命令,從所述接口間通訊子單元中讀取指定的通訊數據并返回給所述主機。根據本發明所述的固態硬盤,所述通訊接口用于收到對應的主機發送的狀態查詢命令后,將所述狀態查詢命令轉發給對應的所述通訊擴展子單元;所述通訊擴展子單元用于根據所述狀態查詢命令,從所述接口間通訊子單元中讀取指定的狀態信息并返回給所述主機;或者所述通訊擴展子單元用于擴展所述操作命令的返回階段信息,將所述返回階段信息中增加相關狀態信息。根據本發明所述的固態硬盤,所述接口間通訊子單元用于在不同通訊接口的主機之間進行通訊時生成通訊記錄信息,并通過所述通訊信息管理單元將所述通訊記錄信息保存到所述SSD單元;所述通訊接口用于收到對應的主機發送的記錄查詢命令后,將所述記錄查詢命令經由對應的通訊擴展子單元和接口間通訊子單元轉發給所述通訊信息管理子單元;所述通訊信息管理子單元用于根據所述記錄查詢命令,從所述SSD單元中獲取指定的通訊記錄信息并返回給所述主機。本發明還提供一種基于固態硬盤的通訊方法,所述固態硬盤包括有SSD單元和多個通訊接口,每個所述通訊接口分別與一主機通訊連接,所述通訊方法包括步驟有通訊單元設置步驟,在所述固態硬盤中設置通訊單元,所述通訊單元分別與所述多個通訊接口和所述SSD單元通訊連接;操作指令接收步驟,所述通訊接口收到主機請求與其他主機進行通訊的操作命令后,將所述操作命令轉發給所述通訊單元;通訊處理步驟,所述通訊單元根據所述操作命令處理所述主機與所述其他主機之間的通訊。根據本發明所述的通訊方法,所述通訊單元設置步驟之后還包括上電時,所述通訊單元從所述SSD單元中加載通訊管理相關的配置信息;所述通訊單元建立不同通訊接口的主機之間的通訊通路。根據本發明所述的通訊方法,所述操作指令接收步驟進一步包括所述通訊接口收到對應的主機發送的通訊數據后,將所述通訊數據轉發給所述通訊單元;或者所述通訊接口收到對應的主機發送的通訊數據讀取命令后,將所述通訊數據讀取命令轉發給所述通訊單元;所述通訊處理步驟進一步包括所述通訊單元根據所述通訊數據讀取命令,讀取指定的通訊數據并返回給所述主機。根據本發明所述的通訊方法,所述操作指令接收步驟進一步包括
5
所述通訊接口收到對應的主機發送的狀態查詢命令后,將所述狀態查詢命令轉發給所述通訊單元;所述通訊處理步驟進一步包括所述通訊單元根據所述狀態查詢命令,讀取指定的狀態信息并返回給所述主機;或者所述通訊單元擴展所述操作命令的返回階段信息,將所述返回階段信息中增加相關狀態信息。根據本發明所述的通訊方法,所述通訊處理步驟之后還包括在不同通訊接口的主機之間進行通訊時,所述通訊單元生成通訊記錄信息并將所述通訊記錄信息保存到所述SSD單元;所述操作指令接收步驟進一步包括所述通訊接口收到對應的主機發送的記錄查詢命令后,將所述記錄查詢命令轉發給所述通訊單元;所述通訊處理步驟進一步包括所述通訊單元根據所述記錄查詢命令,從所述SSD單元中獲取指定的通訊記錄信息并返回給所述主機。本發明通過在固態硬盤內設置通訊單元來建立不同通訊接口的主機之間的通訊通路,當收到某主機請求與其他主機進行通訊的操作命令后,由通訊單元根據所述操作命令處理所述主機與其他主機之間的通訊。借此,本發明通過在固態硬盤內部建立通訊通路來解決不同通訊接口的主機之間的通訊問題,省去了在不同主機之間增加的額外通訊通路,從而降低了系統的成本、復雜度、功耗及空間要求。
圖1是現有技術中多接口固態硬盤的結構示意圖;圖2是本發明優選的固態硬盤的結構示意圖;圖3是本發明基于固態硬盤的通訊方法流程圖;圖4是本發明第一實施例中不同主機之間收發通訊數據的流程圖;圖5是本發明第二實施例中主機查詢通訊狀態的流程圖;以及圖6是本發明第三實施例中主機查詢記錄信息的流程圖。
具體實施例方式為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。圖2示出了本發明優選的固態硬盤的結構,所述固態硬盤100至少包括有SSD單元(Solid State Disk,固態硬盤)10、多個通訊接口 20和通訊單元30、每個通訊接口 20分別與一主機200通訊連接,即通訊接口 1 N分別對應主機1 N,所述通訊單元30分別與多個通訊接口 20和SSD單元10通訊連接,其中所述SSD單元10中可包括閃存芯片、閃存控制單元等,用于提供固態硬盤的數據存儲功能及相應管理功能,所述數據存儲功能包括存儲普通數據、通訊管理相關的配置信息以及通訊記錄信息等。所述管理功能包括操作命令的管理、緩沖區的管理、閃存操作的管理等。所述通訊接口 20中可包括物理接口、驅動模塊和控制模塊等,通訊接口 20接收對應的主機200的操作命令。在本發明中,通訊接口 20用于收到對應的主機200請求與其他主機200進行通訊的操作命令后,將所述操作命令轉發給通訊單元30 ;通訊單元30用于根據所述操作命令處理主機200與其他主機200之間的通訊。優選的是,所述通訊單元30進一步包括多個通訊擴展子單元31、接口間通訊子單元32和通訊信息管理子單元33,每個通訊擴展子單元31分別與一通訊接口 20通訊連接,即通訊接口 1 N分別對應通訊擴展子單元1 N。通訊信息管理子單元33用于在上電時從SSD單元10中加載通訊管理相關的配置信息,通訊信息管理子單元33根據所述配置信息建立初始通訊場景。通訊擴展子單元31用于建立不同通訊接口 20的主機200之間的通訊通路,并將從通訊接口 20收到的操作命令轉發給接口間通訊子單元32。由于現有技術中不能通過固態硬盤直接實現不同主機之間的通訊,因此利用通訊擴展子單元31提供通訊相關的操作命令擴展,比如通訊通路建立、狀態查詢、通訊信息收發功能等。接口間通訊子單元32用于根據所述操作命令處理主機200和其他主機200之間的通訊。接口間通訊子單元32用于提供通訊相關的緩沖區及其管理功能。緩沖區可保存通訊數據等,而管理功能包括通信管理和緩沖區管理等。本發明第一實施例中實現不同主機之間收發通訊數據。在發送通訊數據時,通訊接口 20用于收到對應的主機200發送的通訊數據后,將所述通訊數據轉發給對應的通訊擴展子單元31,該通訊擴展子單元31將通訊數據轉發給接口間通訊子單元32。在接收通訊數據時,通訊接口 20用于收到對應的主機200發送的通訊數據讀取命令后,將所述通訊數據讀取命令轉發給對應的通訊擴展子單元31 ;該通訊擴展子單元31用于根據通訊數據讀取命令,從接口間通訊子單元32中讀取指定的通訊數據并返回給發送所述通訊數據讀取命令的主機200。本發明第二實施例中實現主機查詢通訊狀態,通訊接口 20用于收到對應的主機200發送的狀態查詢命令后,將所述狀態查詢命令轉發給對應的通訊擴展子單元31 ;通訊擴展子單元31用于根據所述狀態查詢命令,從接口間通訊子單元32中讀取指定的狀態信息并返回給發送所述狀態查詢命令的主機200 ;或者通訊擴展子單元31用于擴展操作命令的返回階段信息,將返回階段信息中增加相關狀態信息,則無需另行發起狀態查詢命令。本發明第三實施例中實現主機查詢記錄(LOG)信息,接口間通訊子單元32用于在不同通訊接口 20的主機200之間進行通訊時生成通訊記錄信息,例如統計兩個主機在通信過程中成功和失敗信息,并通過通訊信息管理單元33將通訊記錄信息保存到SSD單元10。通訊接口 20還用于收到對應的主機200發送的記錄查詢命令后,將所述記錄查詢命令經由對應的通訊擴展子單元31和接口間通訊子單元32轉發給通訊信息管理子單元33 ;通訊信息管理子單元33用于根據所述記錄查詢命令,從SSD單元10中獲取指定的通訊記錄信息并返回給發送所述記錄查詢命令的主機200。
本發明在多接口的固態硬盤100中通過引入通訊單元30,實現在固態硬盤100中為不同通訊接口 20的主機200建立直接的通訊通路,即不同主機200可通過固態硬盤100直接通訊,而無需舍近求遠使用額外的通訊通路。圖3是本發明基于固態硬盤的通訊方法流程圖,所述通訊方法可以通過如圖2所示的固態硬盤100實現,至少包括步驟有步驟S301,通訊單元設置步驟在固態硬盤100中設置通訊單元30,通訊單元30分別與多個通訊接口 20和SSD單元10通訊連接。本步驟之后還可以包括上電時,通訊單元30從SSD單元10中加載通訊管理相關的配置信息,本步驟可由通訊信息管理子單元33實現;通訊單元30建立不同通訊接口 20的主機200之間的通訊通路,本步驟可由通訊擴展子單元31實現。步驟S302,操作指令接收步驟通訊接口 20收到主機200請求與其他主機200進行通訊的操作命令后,將操作命令轉發給通訊單元30。步驟S303,通訊處理步驟通訊單元30根據操作命令處理主機200與其他主機200之間的通訊。圖4是本發明第一實施例中不同主機之間收發通訊數據的流程圖,其可以通過如圖2所示的固態硬盤100實現,具體包括步驟如下步驟S401,通訊接口 20收到對應的主機200發送的通訊數據后,將所述通訊數據轉發給通訊單元30。步驟S402,通訊接口 20收到對應的主機200發送的通訊數據讀取命令后,將通訊數據讀取命令轉發給通訊單元30。步驟S403,通訊單元30根據通訊數據讀取命令,讀取指定的通訊數據并返回給發送該訊數據讀取命令的主機200。例如,主機1通過驅動發送通訊數據,通訊接口 1接收該通訊數據并將其轉交給通訊擴展子單元1,最終進入接口間通訊子單元32等待主機N來查詢并讀走相關數據。主機N通過驅動發送狀態查詢命令,或從正常接口操作命令的返回狀態中,了解到有通訊數據需要讀取。主機N通過驅動發送通訊數據讀取命令,通訊接口 2接收該通訊數據讀取命令并將其轉交給通訊擴展子單元2,通訊擴展子單元2根據所述通訊數據讀取命令從接口間通訊子單元32中讀取指定的通訊數據。圖5是本發明第二實施例中主機查詢通訊狀態的流程圖,其可以通過如圖2所示的固態硬盤100實現,具體包括步驟如下步驟S501,通訊接口 20收到對應的主機200發送的狀態查詢命令后,將所述狀態查詢命令轉發給通訊單元30。優選的是,所述通訊接口 20收到對應的主機200發送的狀態查詢命令后,將所述狀態查詢命令轉發給對應的所述通訊擴展子單元31。步驟S502,通訊單元30根據所述狀態查詢命令,讀取指定的狀態信息并返回給發送所述狀態查詢指令的主機200。優選的是,通訊擴展子單元31用于根據所述狀態查詢命令,從所述接口間通訊子單元32中讀取指定的狀態信息并返回給所述主機200。不同通訊接口 20的主機200需要定時查詢通訊狀態信息,例如是否可發送通訊數據、是否有通訊數據需要接收。為了降低通訊狀態查詢的額外開銷,通訊單元30可擴展原操作命令的返回階段信息,將返回階段信息中增加相關狀態信息,這樣在正常接口操作過程中,就可額外知道相關通訊狀態信息,無需另行發起狀態查詢命令。優選由通訊擴展子單元31擴展原操作命令的返回階段信息。圖6是本發明第三實施例中主機查詢記錄信息的流程圖,其可以通過如圖2所示的固態硬盤100實現,具體包括步驟如下步驟S601,在不同通訊接口 20的主機200之間進行通訊時,通訊單元30生成通訊記錄信息并將該通訊記錄信息保存到SSD單元10。優選的是,接口間通訊子單元32在不同通訊接口 20的主機200之間進行通訊時生成通訊記錄信息,并通過通訊信息管理單元33將通訊記錄信息保存到SSD單元10。步驟S602,通訊接口 20收到對應的主機200發送的記錄查詢命令后,將記錄查詢命令轉發給通訊單元30。優選的是,通訊接口 20收到對應的主機200發送的記錄查詢命令后,將記錄查詢命令經由對應的通訊擴展子單元31和接口間通訊子單元32轉發給通訊信息管理子單元33。步驟S603,通訊單元30根據記錄查詢命令,從SSD單元10中獲取指定的通訊記錄信息并返回給發送所述記錄查詢命令的主機200。優選的是,通訊信息管理子單元33根據記錄查詢命令,從SSD單元10中獲取指定的通訊記錄信息并返回給所述主機200。綜上所述,本發明通過在固態硬盤內設置通訊單元來建立不同通訊接口的主機之間的通訊通路,當收到某主機請求與其他主機進行通訊的操作命令后,由通訊單元根據所述操作命令處理所述主機與其他主機之間的通訊。借此,本發明通過在固態硬盤內部建立通訊通路來解決不同通訊接口的主機之間的通訊問題,省去了在不同主機之間增加的額外通訊通路,從而降低了系統的成本、復雜度、功耗及空間要求。當然,本發明還可有其它多種實施例,在不背離本發明精神及其實質的情況下,熟悉本領域的技術人員當可根據本發明作出各種相應的改變和變形,但這些相應的改變和變形都應屬于本發明所附的權利要求的保護范圍。
權利要求
1.一種固態硬盤,包括有SSD單元和多個通訊接口,每個所述通訊接口分別與一主機通訊連接,其特征在于,所述固態硬盤還包括通訊單元,所述通訊單元分別與所述多個通訊接口和所述SSD單元通訊連接;所述通訊接口用于收到一主機請求與其他主機進行通訊的操作命令后,將所述操作命令轉發給所述通訊單元;所述通訊單元用于根據所述操作命令處理所述主機與所述其他主機之間的通訊。
2.根據權利要求1所述的固態硬盤,其特征在于,所述通訊單元進一步包括多個通訊擴展子單元、接口間通訊子單元和通訊信息管理子單元,所述每個通訊擴展子單元分別與一所述通訊接口通訊連接;所述通訊信息管理子單元用于在上電時從所述SSD單元中加載通訊管理相關的配置fn息;所述通訊擴展子單元用于建立不同通訊接口的主機之間的通訊通路,并將從所述通訊接口收到的所述操作命令轉發給所述接口間通訊子單元;所述接口間通訊子單元用于根據所述操作命令處理所述主機和所述其他主機之間的通訊。
3.根據權利要求2所述的固態硬盤,其特征在于,所述通訊接口用于收到對應的主機發送的通訊數據后,將所述通訊數據轉發給對應的所述通訊擴展子單元,所述通訊擴展子單元將所述通訊數據轉發給所述接口間通訊子單元;所述通訊接口用于收到對應的主機發送的通訊數據讀取命令后,將所述通訊數據讀取命令轉發給對應的所述通訊擴展子單元;所述通訊擴展子單元用于根據所述通訊數據讀取命令,從所述接口間通訊子單元中讀取指定的通訊數據并返回給所述主機。
4.根據權利要求2所述的固態硬盤,其特征在于,所述通訊接口用于收到對應的主機發送的狀態查詢命令后,將所述狀態查詢命令轉發給對應的所述通訊擴展子單元;所述通訊擴展子單元用于根據所述狀態查詢命令,從所述接口間通訊子單元中讀取指定的狀態信息并返回給所述主機;或者所述通訊擴展子單元用于擴展所述操作命令的返回階段信息,將所述返回階段信息中增加相關狀態信息。
5.根據權利要求2所述的固態硬盤,其特征在于,所述接口間通訊子單元用于在不同通訊接口的主機之間進行通訊時生成通訊記錄信息,并通過所述通訊信息管理單元將所述通訊記錄信息保存到所述SSD單元;所述通訊接口用于收到對應的主機發送的記錄查詢命令后,將所述記錄查詢命令經由對應的通訊擴展子單元和接口間通訊子單元轉發給所述通訊信息管理子單元;所述通訊信息管理子單元用于根據所述記錄查詢命令,從所述SSD單元中獲取指定的通訊記錄信息并返回給所述主機。
6.一種基于固態硬盤的通訊方法,所述固態硬盤包括有SSD單元和多個通訊接口,每個所述通訊接口分別與一主機通訊連接,其特征在于,所述通訊方法包括步驟有通訊單元設置步驟,在所述固態硬盤中設置通訊單元,所述通訊單元分別與所述多個通訊接口和所述SSD單元通訊連接;操作指令接收步驟,所述通訊接口收到主機請求與其他主機進行通訊的操作命令后,將所述操作命令轉發給所述通訊單元;通訊處理步驟,所述通訊單元根據所述操作命令處理所述主機與所述其他主機之間的通訊。
7.根據權利要求6所述的通訊方法,其特征在于,所述通訊單元設置步驟之后還包括上電時,所述通訊單元從所述SSD單元中加載通訊管理相關的配置信息;所述通訊單元建立不同通訊接口的主機之間的通訊通路。
8.根據權利要求7所述的通訊方法,其特征在于,所述操作指令接收步驟進一步包括所述通訊接口收到對應的主機發送的通訊數據后,將所述通訊數據轉發給所述通訊單元;或者所述通訊接口收到對應的主機發送的通訊數據讀取命令后,將所述通訊數據讀取命令轉發給所述通訊單元;所述通訊處理步驟進一步包括所述通訊單元根據所述通訊數據讀取命令,讀取指定的通訊數據并返回給所述主機。
9.根據權利要求7所述的通訊方法,其特征在于,所述操作指令接收步驟進一步包括所述通訊接口收到對應的主機發送的狀態查詢命令后,將所述狀態查詢命令轉發給所述通訊單元;所述通訊處理步驟進一步包括所述通訊單元根據所述狀態查詢命令,讀取指定的狀態信息并返回給所述主機;或者所述通訊單元擴展所述操作命令的返回階段信息,將所述返回階段信息中增加相關狀態信息。
10.根據權利要求7所述的通訊方法,其特征在于,所述通訊處理步驟之后還包括在不同通訊接口的主機之間進行通訊時,所述通訊單元生成通訊記錄信息并將所述通訊記錄信息保存到所述SSD單元;所述操作指令接收步驟進一步包括所述通訊接口收到對應的主機發送的記錄查詢命令后,將所述記錄查詢命令轉發給所述通訊單元;所述通訊處理步驟進一步包括所述通訊單元根據所述記錄查詢命令,從所述SSD單元中獲取指定的通訊記錄信息并返回給所述主機。
全文摘要
本發明適用于存儲技術領域,提供了一種基于固態硬盤的通訊方法及固態硬盤,所述固態硬盤包括有SSD單元和多個通訊接口,每個通訊接口分別與一主機通訊連接,其中所述固態硬盤還包括通訊單元,通訊單元分別與多個通訊接口和SSD單元通訊連接;通訊接口用于收到一主機請求與其他主機進行通訊的操作命令后,將操作命令轉發給通訊單元;通訊單元用于根據操作命令處理主機與其他主機之間的通訊。借此,本發明能通過在固態硬盤內部建立通訊通路來解決不同通訊接口的主機之間的通訊問題,從而降低了系統的成本、復雜度、功耗及空間要求。
文檔編號G06F3/06GK102566943SQ20111045827
公開日2012年7月11日 申請日期2011年12月31日 優先權日2011年12月31日
發明者徐偉華 申請人:記憶科技(深圳)有限公司