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

文档序号:8412418阅读:来源:国知局
数据存储空间和校验数据存储空间的比例m。当系统使标准的TlOIP时,每个LUN用户数据存储空间和校验数据存储空间的比例m是固定的,当扇区大小为4KB时,m=4096/8=512,扇区大小为512 字节时,m=512/8=64。
[0061]步骤103、当系统接收到读请求时,从硬盘的用户数据存储空间读取所述用户数据,同时从校验数据存储空间读取所述用户数据对应的校验数据。
[0062]在本实施例中,当系统接收到主机发送的读请求时,根据读请求,从硬盘的用户数据存储空间的LUN中读取用户数据,同时并根据校验算法计算出对应的校验数据,然后根据用户数据在用户数据存储空间的LUN中的地址与校验数据在校验数据存储空间的LUN中的地址的映射关系,得到校验数据地址,最后根据校验数据地址从校验数据存储空间的LUN中读取用户数据对应的校验数据,将读取的校验数据与计算的校验数据进行比较,如果两个数据相同,将用户数据返回给主机,如果不相同,贝1J通过磁盘阵列(Redundant Arrays ofIndependent Disks,简称:RAID)恢复错误数据,然后再将用户数据返回主机。
[0063]在本实施例中,步骤102、步骤103可以同时进行,或者先执行步骤103,然后执行步骤102,所以在本实施例中,步骤102、步骤103的顺序不加以限制。
[0064]本发明实施例提供的数据存储方法,该方法通过将系统的硬盘空间划分为用户数据存储空间和校验数据存储空间,用户数据存储空间用于存储用户数据,校验数据存储空间用于存储用户数据对应的校验数据,当接收到读/写请求时,分别从用户数据存储空间读或写用户数据,从校验数据存储空间读或写校验数据,解决了现有技术中为了读取校验数据而导致的系统性能降低的问题,而且通过统一格式化降低了 SATA盘混插的存储系统对数据处理的复杂度。
[0065]图2A为本发明数据存储方法实施例二的流程示意图,图2B为图2A对应的结构示意图,在上述实施例的基础上,如图2A和2B所示,在本实施例中,在上述步骤102中包括:
[0066]步骤1021:接收主机发起的写请求;
[0067]步骤1022:将用户数据写入系统的Cache的数据区;
[0068]在本实施例中,系统的Cache包括用于存储用户数据的数据区以及用于存储所述用户数据对应的校验数据的校验区,在用户数据写入系统的Cache的数据区之前,存储系统的Cache首先准备好用户数据页面和校验数据页面,然后将用户数据写入系统的Cache的数据区。
[0069]步骤1023:判断接收到的用户数据是否带有校验数据,若带校验数据,执行步骤1025,若没有带校验数据,执行步骤1024。
[0070]步骤1024:根据校验算法,计算出户数据对应的校验数据;
[0071]步骤1025:将校验数据写入Cache的校验区;
[0072]步骤1026:将系统Cache数据区的用户数据写入用户数据存储空间;
[0073]在本实施例中,系统Cache数据区的用户数据写入系统硬盘的用户数据存储空间的LUN中,具体的可以参见上述实施例的步骤102。
[0074]步骤1027:根据用户数据在用户数据存储空间的地址,计算出校验数据存储地址;
[0075]将用户数据写入用户数据存储空间的LUN中,获得一用户数据地址,根据用户数据地址与校验数据在校验数据存储空间的LUN中的地址的映射关系,计算得出校验数据存储地址,具体的参见上述实施例的步骤102。
[0076]步骤1028:根据校验数据存储地址将校验数据写入校验数据存储空间。
[0077]根据校验数据存储地址,将校验数据写入校验数据存储空间对应的LUN中。
[0078]本发明实施例提供的数据存储方法,该方法通过将系统的硬盘空间划分为用户数据存储空间和校验数据存储空间,当接收到写请求时,将用户数据先写入Cache的数据区,且将校验数据写入Cache的校验区,然后再将Cache的数据区的用户数据写入用户数据存储空间,Cache的校验区的校验数据写入校验数据存储空间,解决了现有技术中为了写入校验数据而导致的系统性能降低的问题,而且通过统一格式化降低了 SATA盘混插的存储系统对数据处理的复杂度,同时写入用户数据时写入校验数据,保证了用户数据的完整性。
[0079]图3为本发明数据存储方法实施例三的流程示意图,其中图3所示的方法可以采用图2B所示的结构实现。在上述实施例的基础上,如图3所述,在本实施例中,在上述步骤103中包括:
[0080]步骤1031:接收主机发起的读请求;
[0081]步骤1032:判断用户数据是否在系统的Cache的数据区,若在执行步骤1038,若否,则执行步骤1033;
[0082]在本实施例中,系统的Cache分为存储用户数据的数据区以及存储用户数据对应的校验数据的校验区,当主机发起读请求时,首先从系统的Cache进行读取,若无法在Cache数据区读取到用户数据时,系统再从硬盘空间的用户数据存储空间进行读取操作。
[0083]步骤1033:从系统硬盘的用户数据存储空间读取用户数据,并根据校验算法,计算出校验数据;
[0084]在本实施例中,从系统硬盘的用户数据存储空间的LUN中读取用户数据,且将读取的用户数据通过校验算法,计算出读取的用户数据对应的校验数据。
[0085]步骤1034:根据用户数据地址以及用户数据地址与校验数据地址的映射关系,得出校验数据地址;
[0086]在本实施例中,用户数据地址与校验数据地址的映射关系参见上述实施例步骤102中的详细内容。
[0087]步骤1035:根据校验数据地址,读取校验数据;
[0088]步骤1036:判断读取的校验数据与计算出的校验数据是否一致,若是,则执行步骤1038,若否,则执行步骤1037 ;
[0089]在本实施例中,若计算出的校验数据与读取的校验数据不一致的,则表明读取的用户数据发生错误,数据不完整了,此时,需要恢复正确的用户数据。
[0090]步骤1037:利用RAID恢复正确的用户数据;
[0091]在本实施例中,RAID将相同的数据存储在多个硬盘的不同的地方,对用户数据进行了逻辑数据备份,所以当一个硬盘中的数据发生错误时,通过RAID可以恢复正确的用户数据。
[0092]步骤1038:将用户数据返回给主机。
[0093]本发明实施例提供的数据存储方法,该方法通过将系统的硬盘空间划分为用户数据存储空间和校验数据存储空间,当接收到读请求时,先从系统的Cache数据区读用户数据,若没有读取到,则从系统硬盘的用户数据存储空间读取用户数据,并计算出校验数据,同时从系统硬盘的校验数据存储空间读取校验数据,将校验数据与计算出的校验数据进行比较,最后返回用户数据,解决了现有技术中为了读取校验数据而导致的系统性能降低的问题,而且通过统一格式化降低了 SATA盘混插的存储系统对数据处理的复杂度,同时通过对校验数据的比较,保证了用户数据的完整性。
[0094]图4为本发明数据存储设备实施例一的结构示意图,如图4所示,本实施例提供的数据存储设备40包括:用户数据存储模块401、校验数据存储模块402、写模块403、读模块404。
[0095]其中,用户数据存储模块401,用于存储用户数据。
[0096]校验数据存储模块402用于,存储用户数据对应的校验数据。
[0097]写模块403,用于当系统接收到写请求时,将用户数据写入所述用户数据存储模块,同时将用户数据对应的校验数据写入所述校验数据存储模块;
[0098]读模块404,用于当系统接收到读请求时,从硬盘的用户数据存储空间读取所述用户数据,同时从校验数据存储空间读取所述用户数据对应的校验数据。
[0099]本实施例提供的数据存储设备,可以用于执行图1所示的方法实施例一的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0100]进一步的,用户数据存储模块401和所述校验数
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1