数据存储的方法及设备的制造方法_4

文档序号:8412418阅读:来源:国知局
据存储模块402分别由由多个逻辑单元号LUN组成,其中所述用户数据存储空间的LUN的分配顺序与所述校验数据存储空间的LUN分配顺序相同。
[0101]进一步的,与I旲块403,包括:
[0102]第一写单元,用于将用户数据先写入系统的高速缓冲存储器Cache的数据区,其中系统的Cache包括用于存储用户数据的数据区以及用于存储所述用户数据对应的校验数据的校验区;还用于根据用户数据计算出对应的校验数据,或获取前端用户数据生成的校验数据,并将所述校验数据写入所述cache的校验区;
[0103]第二写单元,用于将所述Cache数据区的用户数据写入所述用户数据存储模块401,同时将所述cache的校验区的校验数据写入所述校验数据存储模块402。
[0104]第二写单元具体用于:将所述Cache数据区的用户数据写入所述用户数据存储模块401的LUN中;根据所述用户数据在所述用户数据存储模块401的LUN中的地址,以及所述用户数据的地址与所述校验数据在所述校验数据存储空间的LUN中的地址的映射关系,得出所述用户数据对应的所述校验数据的地址;
[0105]根据所述校验数据地址将所述校验数据写入所述校验数据存储模块402的LUN中。
[0106]本实施例提供的数据存储设备,可以用于执行图2所示的方法实施例二的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0107]进一步的,读模块404,包括:
[0108]第一读单元,用于若接收到读请求时,在系统Cache的数据区读所述用户数据,如果在系统Cache的数据区能够读取到所述用户数据,则向主机返回所述用户数据;
[0109]第二读单元,用于如果在系统的Cache的数据区中无法读取到所述用户数据,则从所述用户数据存储模块读取所述用户数据,同时从校验数据存储模块读取所述用户数据对应的校验数据。
[0110]第二读单元具体用于:从用户数据存储模块的LUN中读取所述用户数据,并根据校验算法计算出所述用户数据对应的校验数据;根据所述用户数据在所述用户数据存储模块的LUN中的地址与所述校验数据在所述校验数据存储模块的LUN中的地址的映射关系,获取校验数据地址;根据所述校验数据地址,从校验数据模块的LUN中读出对应的校验数据,并将所述读取的校验数据与所述计算出的校验数据进行比较。
[0111]进一步的,所述用户数据在所述用户数据存储模块401的LUN中的地址与所述校验数据在所述校验数据存储模块402的LUN中的地址的映射关系如下所示:
[0112]校验数据地址=所述LUN的校验数据起始地址+(用户数据地址-所述LUN的用户数据起始地址)/m,其中m为所述LUN的用户数据存储模块容量与校验数据存储模块容量的比值。
[0113]本实施例提供的数据存储设备,可以用于执行图3所示的方法实施例三的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0114]图5为本发明数据存储设备实施例二的结构示意图。如图5所示,本实施例提供的数据存储设备50包括处理器501和存储器502,数据存储设备50还可以包括发射器503和接收器504。发射器503和接收器504可以和处理器501相连。其中,发射器503用于发送数据或消息,接收器504用于接收数据或消息,存储器502存储执行指令,当数据存储设备50运行时,处理器501与存储器502之间通信,处理器501调用存储器502中的执行指令,用于执行以下操作:
[0115]将系统中格式化后的硬盘空间划分为用户数据存储空间和校验数据存储空间,所述用户数据存储空间用于存储用户数据,所述校验数据存储空间用于存储所述用户数据对应的校验数据,其中系统的硬盘为串行高级技术SATA硬盘或与SATA硬盘混插的硬盘;
[0116]当系统接收到写请求时,将用户数据写入所述用户数据存储空间,同时将用户数据对应的校验数据写入所述校验数据存储空间;
[0117]当系统接收到读请求时,从硬盘的用户数据存储空间读取所述用户数据,同时从校验数据存储空间读取所述用户数据对应的校验数据。
[0118]可选地,所述用户数据存储空间和所述校验数据存储空间分别由多个逻辑单元号LUN组成,其中所述用户数据存储空间的LUN的分配顺序与所述校验数据存储空间的LUN分配顺序相同。
[0119]可选地,所述将用户数据写入所述用户数据存储空间,同时将用户数据对应的校验数据写入所述校验数据存储空间,包括:
[0120]将用户数据先写入系统的高速缓冲存储器Cache的数据区,其中系统的Cache包括用于存储用户数据的数据区以及用于存储所述用户数据对应的校验数据的校验区;
[0121]根据用户数据计算出对应的校验数据,或获取前端用户数据生成的校验数据,并将所述校验数据写入所述cache的校验区;
[0122]将所述Cache数据区的用户数据写入所述系统的硬盘用户数据存储空间,同时将所述cache的校验区的校验数据写入所述校验数据存储空间。
[0123]可选地,将所述Cache数据区的用户数据写入所述系统的硬盘用户数据存储空间,同时将所述cache的校验区的校验数据写入所述校验数据存储空间,包括:
[0124]将所述Cache数据区的用户数据写入所述用户数据存储空间的LUN中;
[0125]根据所述用户数据在所述用户数据存储空间的LUN中的地址,以及所述用户数据的地址与所述校验数据在所述校验数据存储空间的LUN中的地址的映射关系,得出所述用户数据对应的所述校验数据的地址;
[0126]根据所述校验数据地址将所述校验数据写入所述校验数据存储空间的LUN中。
[0127]可选地,从硬盘的用户数据存储空间读取所述用户数据,同时从校验数据存储空间读取所述用户数据对应的校验数据,包括:
[0128]若接收到读请求时,首先在系统Cache的数据区读所述用户数据,如果在系统Cache的数据区能够读取到所述用户数据,则向主机返回所述用户数据;
[0129]如果在系统的Cache的数据区中无法读取到所述用户数据,则从系统硬盘的用户数据存储空间读取所述用户数据,同时从系统硬盘的校验数据存储空间读取所述用户数据对应的校验数据。
[0130]可选地,如果在系统的Cache的数据区中无法读取到所述用户数据,从系统的硬盘用户数据存储空间读取所述用户数据,同时从校验数据存储空间读取所述用户数据对应的校验数据,包括:
[0131]从硬盘的用户数据存储空间的LUN中读取所述用户数据,并根据校验算法计算出所述用户数据对应的校验数据;
[0132]根据所述用户数据在所述用户数据存储空间的LUN中的地址与所述校验数据在所述校验数据存储空间的LUN中的地址的映射关系,获取校验数据地址;
[0133]根据所述校验数据地址,从校验数据空间的LUN中读出对应的校验数据,并将所述读取的校验数据与所述计算出的校验数据进行比较。
[0134]可选地,所述用户数据在所述用户数据存储空间的LUN中的地址与所述校验数据在所述校验数据存储空间的LUN中的地址的映射关系如下所示:
[0135]校验数据地址=所述LUN的校验数据起始地址+(用户数据地址-所述LUN的用户数据起始地址)/m,其中m为所述LUN的用户数据存储空间容量与校验数据存储空间容量的比值。
[0136]本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0137]最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1