本發(fā)明涉及固態(tài)硬盤技術領域,尤其涉及一種基于FTL的具有版本管理功能的固態(tài)硬盤及其實現(xiàn)方法。
背景技術:
版本管理是軟件配置管理的基礎,它管理并保護開發(fā)者的軟件資源,主要有以下功能兩方面的功能:
一、集中管理檔案,檔案集中地存放存儲器上,用戶通過檢入和檢出的方式訪問存儲器上的文件;
二、每次檢入在存儲器上都會生成新的版本,任何版本都可以隨時檢出編輯。
但在現(xiàn)有的版本管理方式中,是采用上層軟件的方式管理的,對平臺有較嚴重的依賴,且文件版本管理的安全性不高。
技術實現(xiàn)要素:
本發(fā)明要解決的技術問題是提供一種基于FTL的具有版本管理功能的固態(tài)硬盤及其實現(xiàn)方法。
本發(fā)明的目的在于提供一種基于FTL的具有版本管理功能的固態(tài)硬盤,包括:版本管理模塊、映射表管理模塊;
所述版本管理模塊,用于為每一個版本的數(shù)據(jù)提供一個映射表,記錄所述版本的邏輯數(shù)據(jù)地址和物理數(shù)據(jù)地址的對應關系,在FTL軟件中間層收到寫操作時,用于為所述版本的邏輯數(shù)據(jù)地址分配版本號;
所述映射表管理模塊,用于根據(jù)所述版本管理模塊為所述版本的邏輯數(shù)據(jù)地址分配的版本號,查找并調(diào)度對應的映射表,并更新當前邏輯數(shù)據(jù)地址的映射關系到對應的映射表中,以及記錄更新后的映射表到Flash的特殊區(qū)域中。
其中,所述映射表管理模塊,還用于在FTL軟件中間層收到讀操作時,根據(jù)所帶版本號,查找并調(diào)度對應的映射表,并通過查找所述對應的映射表找到對應的數(shù)據(jù)。
本發(fā)明的目的在于還提供一種基于FTL的具有版本管理功能的固態(tài)硬盤的實現(xiàn)方法,所述固態(tài)硬盤,包括版本管理模塊、映射表管理模塊,包括:
版本管理模塊為每一個版本的數(shù)據(jù)提供一個映射表,記錄所述版本的邏輯數(shù)據(jù)地址和物理數(shù)據(jù)地址的對應關系,在FTL軟件中間層收到寫操作時,為所述版本的邏輯數(shù)據(jù)地址分配版本號;
映射表管理模塊根據(jù)版本管理模塊為所述版本的邏輯數(shù)據(jù)地址分配的版本號,查找并調(diào)度對應的映射表,并更新當前邏輯數(shù)據(jù)地址的映射關系到對應的映射表中,以及記錄更新后的映射表到Flash的特殊區(qū)域中。
其中,在映射表管理模塊根據(jù)版本管理模塊為所述版本的邏輯數(shù)據(jù)地址分配的版本號,查找并調(diào)度對應的映射表,并更新當前邏輯數(shù)據(jù)地址的映射關系到對應的映射表中,以及記錄更新后的映射表到Flash的特殊區(qū)域中之后,還包括:
映射表管理模塊在FTL軟件中間層收到讀操作時,根據(jù)所帶版本號,查找并調(diào)度對應的映射表。
其中,在映射表管理模塊在FTL軟件中間層收到讀操作時,根據(jù)所帶版本號,查找并調(diào)度對應的映射表之后,還包括:
映射表管理模塊通過查找所述對應的映射表找到對應的數(shù)據(jù)。
本發(fā)明提供的基于FTL的具有版本管理功能的固態(tài)硬盤,包括:版本管理模塊,用于為每一個版本的數(shù)據(jù)提供一個映射表,記錄該版本的邏輯數(shù)據(jù)地址和物理數(shù)據(jù)地址的對應關系,在FTL軟件中間層收到寫操作時,用于為該版本的邏輯數(shù)據(jù)地址分配版本號;映射表管理模塊,用于根據(jù)版本管理模塊為該版本的邏輯數(shù)據(jù)地址分配的版本號,查找并調(diào)度對應的映射表,并更新當前邏輯數(shù)據(jù)地址的映射關系到對應的映射表中,以及記錄更新后的映射表到Flash的特殊區(qū)域中;當固態(tài)硬盤接收到來自主機端的寫操作時,版本管理模塊分配并記錄該邏輯地址的版本號,映射表管理模塊調(diào)度并更新相應版本的映射表。但是并不廢棄(回收)之前的數(shù)據(jù)及版本號,如此在固態(tài)硬盤內(nèi)可以同時保存同一邏輯地址的多份不同版本的數(shù)據(jù),可以方便的實現(xiàn)數(shù)據(jù)的回退及版本跟蹤;在后續(xù)的固態(tài)硬盤接收到讀命令時,則根據(jù)讀命令之前提供的版本號讀出相對應的數(shù)據(jù),從存儲的角度看實現(xiàn)了硬盤級別的數(shù)據(jù)文件版本的管理與維護,提高了數(shù)據(jù)文件版本管理的可靠性與安全性。
本發(fā)明提供的基于FTL的具有版本管理功能的固態(tài)硬盤的實現(xiàn)方法,包括:版本管理模塊為每一個版本的數(shù)據(jù)提供一個映射表,記錄該版本的邏輯數(shù)據(jù)地址和物理數(shù)據(jù)地址的對應關系,在FTL軟件中間層收到寫操作時,為該版本的邏輯數(shù)據(jù)地址分配版本號;映射表管理模塊根據(jù)版本管理模塊為該版本的邏輯數(shù)據(jù)地址分配的版本號,查找并調(diào)度對應的映射表,并更新當前邏輯數(shù)據(jù)地址的映射關系到對應的映射表中,以及記錄更新后的映射表到Flash的特殊區(qū)域中;當固態(tài)硬盤接收到來自主機端的寫操作時,版本管理模塊分配并記錄該邏輯地址的版本號,映射表管理模塊調(diào)度并更新相應版本的映射表。但是并不廢棄(回收)之前的數(shù)據(jù)及版本號,如此在固態(tài)硬盤內(nèi)可以同時保存同一邏輯地址的多份不同版本的數(shù)據(jù),可以方便的實現(xiàn)數(shù)據(jù)的回退及版本跟蹤;在后續(xù)的固態(tài)硬盤接收到讀命令時,則根據(jù)讀命令之前提供的版本號讀出相對應的數(shù)據(jù),從存儲的角度看實現(xiàn)了硬盤級別的數(shù)據(jù)文件版本的管理與維護,提高了數(shù)據(jù)文件版本管理的可靠性與安全性。
附圖說明
圖1,為本發(fā)明基于FTL的具有版本管理功能的固態(tài)硬盤的示意圖;
圖2,為本發(fā)明基于FTL的具有版本管理功能的固態(tài)硬盤的實現(xiàn)方法的示意圖;
圖3,為基于FTL的具有版本管理功能的固態(tài)硬盤及其實現(xiàn)方法的映射示意圖。
具體實施方式
本發(fā)明提供一種基于FTL的具有版本管理功能的固態(tài)硬盤及其實現(xiàn)方法,應用于固態(tài)硬盤技術領域,本發(fā)明基于FTL的具有版本管理功能的固態(tài)硬盤,包括:版本管理模塊,用于為每一個版本的數(shù)據(jù)提供一個映射表,記錄該版本的邏輯數(shù)據(jù)地址和物理數(shù)據(jù)地址的對應關系,在FTL軟件中間層收到寫操作時,用于為該版本的邏輯數(shù)據(jù)地址分配版本號;映射表管理模塊,用于根據(jù)版本管理模塊為該版本的邏輯數(shù)據(jù)地址分配的版本號,查找并調(diào)度對應的映射表,并更新當前邏輯數(shù)據(jù)地址的映射關系到對應的映射表中,以及記錄更新后的映射表到Flash的特殊區(qū)域中;當固態(tài)硬盤接收到來自主機端的寫操作時,版本管理模塊分配并記錄該邏輯地址的版本號,映射表管理模塊調(diào)度并更新相應版本的映射表。但是并不廢棄(回收)之前的數(shù)據(jù)及版本號,如此在固態(tài)硬盤內(nèi)可以同時保存同一邏輯地址的多份不同版本的數(shù)據(jù),可以方便的實現(xiàn)數(shù)據(jù)的回退及版本跟蹤;在后續(xù)的固態(tài)硬盤接收到讀命令時,則根據(jù)讀命令之前提供的版本號讀出相對應的數(shù)據(jù),從存儲的角度看實現(xiàn)了硬盤級別的數(shù)據(jù)文件版本的管理與維護,提高了數(shù)據(jù)文件版本管理的可靠性與安全性。
為了使本發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,以下結合附圖及實施例,對本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
本發(fā)明提供一種基于FTL的具有版本管理功能的固態(tài)硬盤。
請參見圖1,圖1為本發(fā)明基于FTL的具有版本管理功能的固態(tài)硬盤的示意圖,本發(fā)明基于FTL的具有版本管理功能的固態(tài)硬盤10,包括:版本管理模塊101、映射表管理模塊102;
版本管理模塊101,用于為每一個版本的數(shù)據(jù)提供一個映射表,記錄該版本的邏輯數(shù)據(jù)地址和物理數(shù)據(jù)地址的對應關系,在FTL軟件中間層收到寫操作時,用于為該版本的邏輯數(shù)據(jù)地址分配版本號;
映射表管理模塊102,用于根據(jù)版本管理模塊101為該版本的邏輯數(shù)據(jù)地址分配的版本號,查找并調(diào)度對應的映射表,并更新當前邏輯數(shù)據(jù)地址的映射關系到對應的映射表中,以及記錄更新后的映射表到Flash的特殊區(qū)域中。
其中,映射表管理模塊102,還用于在FTL軟件中間層收到讀操作時,根據(jù)所帶版本號,查找并調(diào)度對應的映射表,并通過查找該對應的映射表找到對應的數(shù)據(jù)。
本發(fā)明還提供一種基于FTL的具有版本管理功能的固態(tài)硬盤的實現(xiàn)方法。
請參見圖2,圖2為本發(fā)明基于FTL的具有版本管理功能的固態(tài)硬盤的實現(xiàn)方法的示意圖,該固態(tài)硬盤,包括:版本管理模塊、映射表管理模塊,本發(fā)明基于FTL的具有版本管理功能的固態(tài)硬盤的實現(xiàn)方法,包括:
S21、版本管理模塊為每一個版本的數(shù)據(jù)提供一個映射表,記錄該版本的邏輯數(shù)據(jù)地址和物理數(shù)據(jù)地址的對應關系,在FTL軟件中間層收到寫操作時,為該版本的邏輯數(shù)據(jù)地址分配版本號;
S22、映射表管理模塊根據(jù)版本管理模塊為該版本的邏輯數(shù)據(jù)地址分配的版本號,查找并調(diào)度對應的映射表,并更新當前邏輯數(shù)據(jù)地址的映射關系到對應的映射表中,以及記錄更新后的映射表到Flash的特殊區(qū)域中。
其中,在映射表管理模塊根據(jù)版本管理模塊為該版本的邏輯數(shù)據(jù)地址分配的版本號,查找并調(diào)度對應的映射表,并更新當前邏輯數(shù)據(jù)地址的映射關系到對應的映射表中,以及記錄更新后的映射表到Flash的特殊區(qū)域中之后,還包括:
映射表管理模塊在FTL軟件中間層收到讀操作時,根據(jù)所帶版本號,查找并調(diào)度對應的映射表。
其中,在映射表管理模塊在FTL軟件中間層收到讀操作時,根據(jù)所帶版本號,查找并調(diào)度對應的映射表之后,還包括:
映射表管理模塊通過查找該對應的映射表找到對應的數(shù)據(jù)。
其中,請參見圖3,圖3為基于FTL的具有版本管理功能的固態(tài)硬盤及其實現(xiàn)方法的映射示意圖。
本發(fā)明提供的基于FTL的具有版本管理功能的固態(tài)硬盤10,包括:版本管理模塊101,用于為每一個版本的數(shù)據(jù)提供一個映射表,記錄該版本的邏輯數(shù)據(jù)地址和物理數(shù)據(jù)地址的對應關系,在FTL軟件中間層收到寫操作時,用于為該版本的邏輯數(shù)據(jù)地址分配版本號;映射表管理模塊102,用于根據(jù)版本管理模塊101為該版本的邏輯數(shù)據(jù)地址分配的版本號,查找并調(diào)度對應的映射表,并更新當前邏輯數(shù)據(jù)地址的映射關系到對應的映射表中,以及記錄更新后的映射表到Flash的特殊區(qū)域中;當固態(tài)硬盤接收到來自主機端的寫操作時,版本管理模塊101分配并記錄該邏輯地址的版本號,映射表管理模塊102調(diào)度并更新相應版本的映射表。但是并不廢棄(回收)之前的數(shù)據(jù)及版本號,如此在固態(tài)硬盤內(nèi)可以同時保存同一邏輯地址的多份不同版本的數(shù)據(jù),可以方便的實現(xiàn)數(shù)據(jù)的回退及版本跟蹤;在后續(xù)的固態(tài)硬盤接收到讀命令時,則根據(jù)讀命令之前提供的版本號讀出相對應的數(shù)據(jù),從存儲的角度看實現(xiàn)了硬盤級別的數(shù)據(jù)文件版本的管理與維護,提高了數(shù)據(jù)文件版本管理的可靠性與安全性。
本發(fā)明提供的基于FTL的具有版本管理功能的固態(tài)硬盤的實現(xiàn)方法,包括:版本管理模塊為每一個版本的數(shù)據(jù)提供一個映射表,記錄該版本的邏輯數(shù)據(jù)地址和物理數(shù)據(jù)地址的對應關系,在FTL軟件中間層收到寫操作時,為該版本的邏輯數(shù)據(jù)地址分配版本號;映射表管理模塊根據(jù)版本管理模塊為該版本的邏輯數(shù)據(jù)地址分配的版本號,查找并調(diào)度對應的映射表,并更新當前邏輯數(shù)據(jù)地址的映射關系到對應的映射表中,以及記錄更新后的映射表到Flash的特殊區(qū)域中;當固態(tài)硬盤接收到來自主機端的寫操作時,版本管理模塊分配并記錄該邏輯地址的版本號,映射表管理模塊調(diào)度并更新相應版本的映射表。但是并不廢棄(回收)之前的數(shù)據(jù)及版本號,如此在固態(tài)硬盤內(nèi)可以同時保存同一邏輯地址的多份不同版本的數(shù)據(jù),可以方便的實現(xiàn)數(shù)據(jù)的回退及版本跟蹤;在后續(xù)的固態(tài)硬盤接收到讀命令時,則根據(jù)讀命令之前提供的版本號讀出相對應的數(shù)據(jù),從存儲的角度看實現(xiàn)了硬盤級別的數(shù)據(jù)文件版本的管理與維護,提高了數(shù)據(jù)文件版本管理的可靠性與安全性。
需要說明的是,在本文中,諸如第一和第二等之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或者操作之間存在任何這種實際的關系或者順序。而且,術語“包含”、“包括”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系統(tǒng)要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個、、、、、、”限定的要素,并不排除在包括所述要素的過程、方法、物品、設備或者裝置中還存在另外的相同要素。
對于本發(fā)明基于FTL的具有版本管理功能的固態(tài)硬盤及其實現(xiàn)方法,實現(xiàn)的形式是多種多樣的。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。