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