一种光盘存储系统及光盘数据读写方法

文档序号:6766727阅读:289来源:国知局
一种光盘存储系统及光盘数据读写方法
【专利摘要】本发明适用于数据存储【技术领域】,提供一种光盘存储系统及光盘数据读写方法,所述系统包括若干光盘组、一个光盘驱动器组、光盘库控制器和前端主机,所述光盘驱动器组包含多个光盘驱动器,在前端主机控制下,光盘库控制器将其中的一个光盘组载入所述光盘驱动器组中进行并行读写,所述光盘库控制器中保存有逻辑地址与物理地址映射关系的映射表,所述光盘库控制器用于解析前端主机发出的读写指令得到逻辑地址,根据逻辑地址查找对应的光盘的物理地址读写相应光盘。本发明对批量光盘进行分组,一个光盘组作为一个数据读取单位,将批量光盘以组为单位实现整体数据组织、编码和并发存取,从而大幅度提高光盘系统整体的读写吞吐率、安全性和可靠性。
【专利说明】一种光盘存储系统及光盘数据读写方法

【技术领域】
[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日
【发明者】曹强, 姚杰, 谢长生, 彭晨 申请人:武汉光忆科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1