一種光盤存儲系統及光盤數據讀寫方法
【專利摘要】本發明適用于數據存儲【技術領域】,提供一種光盤存儲系統及光盤數據讀寫方法,所述系統包括若干光盤組、一個光盤驅動器組、光盤庫控制器和前端主機,所述光盤驅動器組包含多個光盤驅動器,在前端主機控制下,光盤庫控制器將其中的一個光盤組載入所述光盤驅動器組中進行并行讀寫,所述光盤庫控制器中保存有邏輯地址與物理地址映射關系的映射表,所述光盤庫控制器用于解析前端主機發出的讀寫指令得到邏輯地址,根據邏輯地址查找對應的光盤的物理地址讀寫相應光盤。本發明對批量光盤進行分組,一個光盤組作為一個數據讀取單位,將批量光盤以組為單位實現整體數據組織、編碼和并發存取,從而大幅度提高光盤系統整體的讀寫吞吐率、安全性和可靠性。
【專利說明】一種光盤存儲系統及光盤數據讀寫方法
【技術領域】
[0001]本發明屬于數據存儲【技術領域】,尤其涉及一種光盤存儲系統以及光盤數據讀寫方法。
【背景技術】
[0002]大數據時代數據增長速度不讀提升,進而對于存儲容量和性能產生巨大壓力。其中越來越多重要數據需要長期保存。其中光盤存儲是一種廉價的數據長期保存方式。
[0003]光盤存儲系統是通過光盤驅動器讀寫光盤數據的計算機設備。目前光盤存儲系統包括前端主機、光盤庫控制器、光盤驅動器和光盤庫。光盤驅動器能夠讀寫光盤的數據,并通過數據接口和前端主機系統實現數據通訊。光盤的存儲空間被劃分為固定大小數據塊(2KB),作為數據組織和最小存取的單元。一旦光盤被裝載進光盤驅動器,并被前端主機所識別之后,前端主機可以通過數據請求讀寫光盤上的數據。主機向光盤驅動器發送數據請求包含數據塊起始地址和連續請求的數據塊個數,而數據塊請求范圍必須小于當前裝載光盤的數據實際容量。因此目前無論光盤驅動器還是光盤庫都是以單張光盤為單位進行數據組織。
[0004]為更好的識別和讀寫光盤上的數據,目前是在光盤上建立文件系統。通過這種方式使得主機用戶能夠以文件方式讀寫光盤上的數據。讀取光盤的過程是首先讀取光盤文件系統元數據信息,然后加載文件系統信息到內容,主機通過元數據信息確定光盤文件及其內部邏輯地址在光盤上物理位置,再發生相應的數據請求,通過光盤驅動器讀寫相關光盤上的數據塊。
[0005]單張光盤具有兩種常用的光盤格式,ISO和UDF。IS0-9660又簡稱IS0,是由國際標準化組織在1985年制定的,當前唯一通用的光盤文件系統,目前有兩個標準=Levell和Level20 Levell與DOS兼容,文件名采用傳統的8.3格式,而且所有字符只能是26個大寫英文字母、10個阿拉伯數字及下劃線。Level2則在Levell的基礎上加以改進,允許使用長文件名,但不支持DOS。ISO映像文件進行燒錄時,每次完畢后都要進行關閉區段(CloseSess1n)的操作,減少了燒錄失敗的機率。UDF是統一光盤格式(Universal Disc Format)的縮寫。它采用標準的封裝寫入技術(PW,Packet Writing)將⑶-R當作硬盤來使,用戶可以在光盤上修改和刪除文件。
[0006]基于單盤的數據組織方法限制了主機讀寫光盤的性能和范圍。讀寫性能受限于單個光盤驅動器的性能,目前其讀寫帶寬小于40MB/S ;讀寫范圍受限于光盤的容量,而目前主流單光盤容量小于200GB。
【發明內容】
[0007]鑒于上述問題,本發明的目的在于提供一種光盤存儲系統以及光盤數據讀寫方法,旨在解決現有光盤存儲系統采用單盤的數據組織方法限制了主機讀寫光盤的性能和范圍的技術問題。
[0008]一方面,所述光盤存儲系統包括:
[0009]若干光盤組、一個光盤驅動器組、光盤庫控制器和前端主機,所述光盤驅動器組包含多個光盤驅動器,所述光盤組中包含多張光盤,且數量不大于光盤驅動器數量,所述光盤庫控制器與光盤驅動器組和前端主機連接,在前端主機控制下,光盤庫控制器將其中的一個光盤組載入所述光盤驅動器組中進行并行讀寫,所述光盤庫控制器中保存有邏輯地址與物理地址映射關系的映射表,所述光盤庫控制器用于解析前端主機發出的讀寫指令得到邏輯地址,根據邏輯地址查找對應的光盤的物理地址讀寫相應光盤。
[0010]另一方面,光盤數據讀寫方法包括讀數據方法和寫數據方法,
[0011]其中,所述寫數據方法包括:
[0012]前端主機向光盤庫控制器發出寫數據指令;
[0013]光盤庫控制器解析所述讀數據指令獲取邏輯地址;
[0014]根據邏輯地址和物理地址的映射關系獲取對應的物理地址;
[0015]將所述物理地址所在的一個光盤組載入光盤驅動器組;
[0016]按照分配策略將數據塊并行刻錄所述光盤組;
[0017]其中,所述讀數據方法包括:
[0018]前端主機向光盤庫控制器發出讀數據指令;
[0019]光盤庫控制器解析所述寫數據指令獲取邏輯地址;
[0020]根據邏輯地址和物理地址的映射關系獲取對應的物理地址;
[0021]將所述物理地址所在的一個光盤組載入光盤驅動器組;
[0022]按照分配策略并行讀取所述光盤組中的數據塊。
[0023]本發明的有益效果是:本發明對批量光盤進行分組,一個光盤組作為一個數據讀取單位,將批量光盤以組為單位實現整體數據組織、編碼和并發存取,從而大幅度提高光盤系統整體的讀寫吞吐率、安全性和可靠性。
【專利附圖】
【附圖說明】
[0024]圖1是本發明第一實施例提供的光盤存儲系統的結構圖;
[0025]圖2是光盤組的物理尋址示意圖;
[0026]圖3是數據橫向分布策略的數據分布示意圖;
[0027]圖4是本發明第二實施例提供的寫數據方法流程圖;
[0028]圖5是本發明第二實施例提供的讀數據方法流程圖;
[0029]圖6是本發明第三實施例提供的寫數據方法流程圖;
[0030]圖7是本發明第三實施例提供的讀數據方法流程圖。
【具體實施方式】
[0031]為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。
[0032]為了說明本發明所述的技術方案,下面通過具體實施例來進行說明。
[0033]實施例一:
[0034]圖1示出了本發明實施例提供的光盤存儲系統的結構,為了便于說明僅示出了與本發明實施例相關的部分。
[0035]如圖1所示,所示光盤存儲系統包括若干光盤組101、一個光盤驅動器組102、光盤庫控制器103和前端主機104,所述光盤驅動器組101包含多個光盤驅動器,比如圖1中所示的光盤驅動器1-m,所述光盤組101中包含多張光盤,且數量不大于光盤驅動器數量,所述光盤庫控制器103與光盤驅動器組102和前端主機103連接,在前端主機控制下,光盤庫控制器將其中的一個光盤組載入所述光盤驅動器組中進行并行讀寫,所述光盤庫控制器中保存有邏輯地址與物理地址映射關系的映射表,所述光盤庫控制器用于解析前端主機發出的讀寫指令得到邏輯地址,根據邏輯地址查找對應的光盤的物理地址讀寫相應光盤。
[0036]在上述光盤存儲系統中,對上層用戶提供一個線性數據地址空間的訪問,整個線性地址空間大于單個光盤地址空間并且小于所有光盤容量總和構成的地址空間。假設所有光盤可用容量之和為CDV_SUM,光盤的存取單位為UNIT,則前端主機可訪問的線性地址空間范圍為O?⑶V_SUM/UNIT。前端主機訪問(包括寫數據和讀數據)光盤上的數據時,將線性的邏輯地址LPA轉化為光盤上的物理地址PLA進行訪問。
[0037]本實施例中,將批量光盤分為若干光盤組,一個光盤組為存取單位。這個光盤組中光盤數量小于等于光盤存儲系統中光盤驅動器的數目。假設有4個光盤驅動器,系統可控制4個光盤驅動器并行讀寫光盤。在本實施實例中,為利用最大可并行度,每組光盤中光盤數量為4。光盤庫控制器可控制光盤移動裝置機械臂將一組光盤放入光盤驅動器中,進行并發讀寫。
[0038]其中,所述光盤的物理地址PLA為三維空間尋址,包括光盤組號、組內的光盤號以及盤內的物理偏移地址。一個光盤組的物理尋址示意圖如圖2所示。在本實施實例中,假設在批量光盤中劃分有N個光盤組,光盤組的數目可無限制增加;每個光盤組內具有M張光盤,每張光盤的容量為CD_V,光盤數據的存取單位為UNIT,每個存取單位為一個數據塊,因此單張光盤的尋址范圍為O?CD_V/UNIT。在圖2中,CD_G為批量光盤中的光盤組號,CD_G的范圍為O?N-1 ;CD_I為一個光盤組內的光盤號,CD_I的范圍為O?M_1 ;CD_0FFSET為單張光盤上的物理地址的偏移地址,CD_0FFSET的范圍為O?CD_V/UNIT。因此物理地址PBA 由三元組(CD_G,CD_I, CD_0FFSET)構成。
[0039]所述邏輯地址與物理地址映射關系為(k,k+n),含義為k個邏輯地址的數據塊在物理光盤上對應k+n個物理地址的數據塊,其中η個數據塊為冗余校驗塊;若η為0,則表示數據塊的邏輯地址與物理地址之間存在一一對應關系,若η大于0,則引入了數據容錯機制,表示在k個數據塊中允許η個數據塊出錯,出錯的數據塊信息由容錯算法計算得出。在本實施實例中使用LBA與PBA之間的映射關系為(3,4),即3個數據塊信息產生一個數據校驗塊,當4個數據塊中有一個數據塊出錯時,根據數據校驗算法計算得出出錯數據塊的正確數據。
[0040]當需要寫數據時,所述光盤庫控制器用于按照一定分配策略將邏輯連續的數據塊并行寫入到一個光盤組的光盤中,當需要寫數據時,所述光盤庫控制器用于按照一定分配策略將邏輯連續的數據塊并行從光盤中讀取數據。所述分配策略為數據縱向分布策略或數據橫向分布策略;其中數據縱向分布策略為邏輯上連續的數據塊,在光盤上同樣是順序連續的,即邏輯地址對應的連續數據塊在物理光盤上同樣是連續分布;所述數據橫向分布策略為將一個光盤組條帶化,將連續的數據分散到多個光盤上讀寫。本實施例采用數據橫向分布策略。
[0041]如圖3所示,線性存儲空間中,在假設邏輯地址L_N? L_N+11所指向的數據塊為DO?D11,即邏輯上連續的數據塊的邏輯地址也是連續的。假設邏輯地址L_N映射到光盤組號為CD_G_X的一組光盤中,光盤號為0,并且光盤O中的偏移地址為CD_0FF_X的地址上,即邏輯地址L_N映射到的物理地址為(CD_G_X,0,CD_0FF_X)。采用數據橫向分布策略,將光盤組條帶化。邏輯上連續的數據塊,在一條條帶中是相互連續的,即邏輯上連續的三個數據塊,在橫向方向上是連續的,條帶化的方法為:一個光盤組中,各光盤的物理偏移地址相同的數據塊單元構成一個條帶。一個條帶以一個整體進行讀取。如圖3所示,數據塊信息為D0/D1/D2/P(0,1,2)所在的數據塊構成一個條帶,并且邏輯上連續的數據塊D0//D1/D2在條帶中連續。數據塊P(0,l,2)是根據數據塊D0/D1/D2數據信息以及校驗算法生成的數據校驗塊。校驗塊從最后一個光盤開始,每一條帶將校驗塊向靠近第一個光盤的方向移動。校驗方法不限。數據塊的分配方法為:連續將數據塊按光盤順序序列的分布方式分配,只在遇到寫校驗塊的光盤時,重回第一個光盤。
[0042]本實施實例中,每組光盤中有4張光盤,假設每張光盤的最大尋址地址為CD_MAX,光盤存儲系統的單元大小為UNIT,則根據所述數據橫向分布策略,一個光盤組中的實際可用容量為CD_MAX*UNIT*3,則可提供的尋址范圍大小為CD_MAX*3。假設光盤存儲系統中共有N個光盤組,則線性存儲空間的尋址范圍大小為N*CD_MAX*3,則線性地址空間的尋址范圍為 O ?N*CD_MAX*3。
[0043]因此,根據LBA與PBA之間的映射關系即可計算出邏輯地址對應的物理地址。假設計算邏輯地址L_X對應的物理地址三元組為(CD_G,CD_I, CD_0FFSET),每個光盤組的尋址范圍為CD_MAX*3,則邏輯地址L_X所在的光盤組號CD_G = L_X/ (CD_MAX*3);根據每個光盤組上的每個條帶上有3個實際數據塊,則邏輯地址L_X所在的光盤號為L_X% 3 ;若光盤號為0,則在單張光盤上的偏移地址為L_X/3-l,否則偏移地址為L_X/3。由此,可得出邏輯地址對應的物理地址。
[0044]實施例二:
[0045]本實施例提供了一種光盤數據讀寫方法,所述方法應用于如實施例一所述光盤存儲系統,所述方法包括讀數據方法和寫數據方法。
[0046]如圖4所示,所述寫數據方法包括:
[0047]步驟S401、前端主機向光盤庫控制器發出寫數據指令;
[0048]步驟S402、光盤庫控制器解析所述讀數據指令獲取邏輯地址;
[0049]步驟S403、根據邏輯地址和物理地址的映射關系獲取對應的物理地址;
[0050]步驟S404、將所述物理地址所在的一個光盤組載入光盤驅動器組;
[0051]步驟S405、按照分配策略將數據塊并行刻錄所述光盤組。
[0052]如圖5所示,所述讀數據方法包括:
[0053]步驟S501、前端主機向光盤庫控制器發出讀數據指令;
[0054]步驟S502、光盤庫控制器解析所述寫數據指令獲取邏輯地址;
[0055]步驟S503、根據邏輯地址和物理地址的映射關系獲取對應的物理地址;
[0056]步驟S504、將所述物理地址所在的一個光盤組載入光盤驅動器組;
[0057]步驟S505、按照分配策略并行讀取所述光盤組中的數據塊。
[0058]所述分配策略為數據縱向分布策略或數據橫向分布策略;其中數據縱向分布策略為邏輯上連續的數據塊,在光盤上同樣是順序連續的;所述數據橫向分布策略為將一個光盤組條帶化,將連續的數據分散到多個光盤上讀寫。
[0059]本實施例中,當需要讀寫數據時,光盤庫控制器根據讀寫控制指令解析出邏輯地址,然后根據映射關系計算出物理地址,然后通過機械手將所述物理地址所在的光盤組載入光盤驅動器組,最后根據分配策略將數據塊寫入所述光盤組或者從光盤組中讀取數據。
[0060]實施例三:
[0061]本實施例提供了一種光盤數據讀寫方法,所述方法應用于如實施例一所述光盤存儲系統,所述方法包括讀數據方法和寫數據方法。
[0062]如圖6所示,所述寫數據方法包括:
[0063]步驟S601、前端主機向光盤庫控制器發出寫數據指令;
[0064]步驟S602、光盤庫控制器解析所述讀數據指令獲取邏輯地址;
[0065]步驟S603、根據邏輯地址和物理地址的映射關系獲取對應的物理地址;
[0066]步驟S604、將所述物理地址所在的一個光盤組載入光盤驅動器組;
[0067]步驟S605、根據數據塊以及校驗算法,生成校驗數據塊;
[0068]步驟S606、按照分配策略將數據塊并行刻錄所述光盤組。
[0069]所述邏輯地址與物理地址映射關系為(k,k+n),含義為m個邏輯地址的數據塊在物理光盤上對應m+n個物理地址的數據塊,其中η個數據塊為冗余校驗塊;若η為0,則表示數據塊的邏輯地址與物理地址之間存在一一對應關系,若η大于0,則表示在m個數據塊中允許η個數據塊出錯,出錯的數據塊信息由容錯算法計算得出。實施例二中,物理地址和邏輯地址時一一對應關系,不存在光盤中不存在校驗數據塊,即η等于0,這樣容易出現讀寫數據錯誤。因此本實施例中,增加了步驟S605,在刻錄光盤前,還需根據數據塊以及校驗算法,生成校驗數據塊。避免讀寫出錯情況。
[0070]如圖7所示,所述讀數據方法包括:
[0071]步驟S701、前端主機向光盤庫控制器發出寫數據指令;
[0072]步驟S702、光盤庫控制器解析所述讀數據指令獲取邏輯地址;
[0073]步驟S703、根據邏輯地址和物理地址的映射關系獲取對應的物理地址;
[0074]步驟S704、將所述物理地址所在的一個光盤組載入光盤驅動器組;
[0075]步驟S705、讀取光盤狀態,判斷光盤上是否有數據塊損壞;
[0076]步驟S706、若存在損壞數據塊,通過光盤驅動器組并行讀取一個光盤組數據塊;
[0077]步驟S707、根據分配策略獲取數據塊與校驗數據塊;
[0078]步驟S708、按照校驗算法進行糾錯,獲取正確的數據塊;
[0079]步驟S709、若不存在損壞數據庫,通過光盤驅動器組并行讀取一個光盤組數據塊;
[0080]步驟S710、根據分配策略獲取數據塊與校驗數據塊;
[0081]步驟S711、按照校驗算法驗證數據塊的正確性和完整性。
[0082]本實施例在實施例二的基礎上進一步公開了步驟S505的優選步驟,根據判斷數據塊損壞,當數據庫損壞時通過校驗算法進行糾錯,獲取正確的數據塊;當數據塊沒有損壞時,校驗算法驗證數據塊的正確性和完整性。然后繼續讀取下張光盤直至讀取完畢。
[0083]綜上,本發明對批量光盤進行分組,一個光盤組作為一個數據讀取單位,將批量光盤以組為單位實現整體數據組織、編碼和并發存取,從而大幅度提高光盤系統整體的讀寫吞吐率、安全性和可靠性。
[0084]以上所述僅為本發明的較佳實施例而已,并不用以限制本發明,凡在本發明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發明的保護范圍之內。
【權利要求】
1.一種光盤存儲系統,其特征在于,所述系統包括若干光盤組、一個光盤驅動器組、光盤庫控制器和前端主機,所述光盤驅動器組包含多個光盤驅動器,所述光盤組中包含多張光盤,且數量不大于光盤驅動器數量,所述光盤庫控制器與光盤驅動器組和前端主機連接,在前端主機控制下,光盤庫控制器將其中的一個光盤組載入所述光盤驅動器組中進行并行讀寫,所述光盤庫控制器中保存有邏輯地址與物理地址映射關系的映射表,所述光盤庫控制器用于解析前端主機發出的讀寫指令得到邏輯地址,根據邏輯地址查找對應的光盤的物理地址讀寫相應光盤。
2.如權利要求1所述系統,其特征在于,所述光盤的物理地址為三維空間尋址,包括光盤組號、組內的光盤號以及盤內的物理偏移地址。
3.如權利要求2所述系統,其特征在于,所述邏輯地址為線性數據地址,整個線性地址空間大于單個光盤地址空間并且小于所有光盤容量總和構成的地址空間。
4.如權利要求1-3任一項所述系統,其特征在于,所述光盤庫控制器用于按照一定分配策略將邏輯連續的數據塊并行寫入到一個光盤組的光盤中,或者從光盤中讀取數據,所述分配策略為數據縱向分布策略或數據橫向分布策略;其中數據縱向分布策略為邏輯上連續的數據塊,在光盤上同樣是順序連續的;所述數據橫向分布策略為將一個光盤組條帶化,將連續的數據分散到多個光盤上讀寫。
5.如權利要求4所述系統,其特征在于,所述邏輯地址與物理地址映射關系為(k,k+n),含義為k個邏輯地址的數據塊在物理光盤上對應k+n個物理地址的數據塊,其中η個數據塊為冗余校驗塊;若η為O,則表示數據塊的邏輯地址與物理地址之間存在一一對應關系,若η大于O,則表示在k個數據塊中允許η個數據塊出錯,出錯的數據塊信息由容錯算法計算得出。
6.一種光盤數據讀寫方法,其特征在于,所述方法應用于如權利要求1-5任一項所述系統,所述方法包括讀數據方法和寫數據方法, 其中,所述寫數據方法包括: 前端主機向光盤庫控制器發出寫數據指令; 光盤庫控制器解析所述讀數據指令獲取邏輯地址; 根據邏輯地址和物理地址的映射關系獲取對應的物理地址; 將所述物理地址所在的一個光盤組載入光盤驅動器組; 按照分配策略將數據塊并行刻錄所述光盤組; 其中,所述讀數據方法包括: 前端主機向光盤庫控制器發出讀數據指令; 光盤庫控制器解析所述寫數據指令獲取邏輯地址; 根據邏輯地址和物理地址的映射關系獲取對應的物理地址; 將所述物理地址所在的一個光盤組載入光盤驅動器組; 按照分配策略并行讀取所述光盤組中的數據塊。
7.如權利要求6所述光盤數據讀寫方法,其特征在于,所述按照分配策略并行刻錄所述光盤組步驟之前,還包括: 根據數據塊以及校驗算法,生成校驗數據塊。
8.如權利要求6所述光盤數據讀寫方法,其特征在于,所述按照分配策略并行讀取所述光盤組中的數據步驟,具體包括: 讀取光盤狀態,判斷光盤上是否有數據塊損壞; 若存在損壞數據塊,通過光盤驅動器組并行讀取一個光盤組數據塊; 根據分配策略獲取數據塊與校驗數據塊; 按照校驗算法進行糾錯,獲取正確的數據塊; 若不存在損壞數據庫,通過光盤驅動器組并行讀取一個光盤組數據塊; 根據分配策略獲取數據塊與校驗數據塊; 按照校驗算法驗證數據塊的正確性和完整性。
9.如權利要求6-9任一項所述光盤數據讀寫方法,其特征在于,所述分配策略為數據縱向分布策略或數據橫向分布策略;其中數據縱向分布策略為邏輯上連續的數據塊,在光盤上同樣是順序連續的;所述數據橫向分布策略為將一個光盤組條帶化,將連續的數據分散到多個光盤上讀寫。
10.如權利要求9所述光盤數據讀寫方法,其特征在于,所述邏輯地址與物理地址映射關系為(k,k+n),含義為m個邏輯地址的數據塊在物理光盤上對應m+n個物理地址的數據塊,其中η個數據塊為冗余校驗塊;若η為0,則表示數據塊的邏輯地址與物理地址之間存在一一對應關系,若η大于0,則表示在m個數據塊中允許η個數據塊出錯,出錯的數據塊信息由容錯算法計算得出。
【文檔編號】G11B7/004GK104134447SQ201410183875
【公開日】2014年11月5日 申請日期:2014年5月4日 優先權日:2014年5月4日
【發明者】曹強, 姚杰, 謝長生, 彭晨 申請人:武漢光憶科技有限公司