一种存储设备的控制方法及相关装置的制作方法

文档序号:6385942阅读:157来源:国知局
专利名称:一种存储设备的控制方法及相关装置的制作方法
技术领域
本发明涉及存储技术领域,尤其涉及一种存储设备的控制方法及相关装置。
背景技术
固态存储设备(Solid State Disk,SSD)由于没有机械转动部件、芯片的工作温度范围很宽等优点,现已广泛应用于从消费级到企业级等存储领域。对于现有技术的利用SSD的服务器、PC和存储阵列等数据处理系统主机,其包括一个或多个SSD,数据处理系统主机的控制器与SSD的控制器分离,它们之间通过标准协议进行交互,但是,数据处理系统主机的控制器和SSD的控制器根据协议分别对数据进行封装和解析,造成了性能损耗,每个SSD的控制器对其各自的FLASH进行管理,资源不能自上而下进行统一管控和优化。

发明内容
有鉴于此,本发明实施例提供了一种存储设备的控制方法及相关装置,以期由数据处理系统主机对存储设备的FLASH进行自上而下的统一管控,实现资源的优化。第一方面,本发明提供一种存储设备的控制方法,所述存储设备设置于数据处理系统主机,所述存储设备包括闪存FLASH和数据接口,所述数据处理系统主机的控制器通过所述数据接口对所述FLASH进行控制,其特征在于,所述控制方法包括当接收到数据处理系统主机的数据写入请求时,所述数据处理系统主机的控制器查找所述数据写入请求包含的第一目标逻辑地址对应的第一物理地址,并将所请求的待写数据写入所述第一物理地址对应的FLASH中;当接收到所述数据处理系统主机的数据读取请求时,所述数据处理系统主机的控制器查找所述数据读取请求包含的第二目标逻辑地址对应的第二物理地址,从所述第二物理地址对应的FLASH中读取所请求的待读数据,并将读取的所述数据返回至所述数据处理系统主机。在第一种可能的实现方式中,所述数据处理系统主机包括个人计算机、服务器或存储阵列。结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述存储设备包括至少两个FLASH插卡,所述FLASH插卡上设有至少一个所述FLASH。结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式,在第三种可能的实现方式中,在接收到数据处理系统主机的数据写入请求或数据读取请求之前,还包括建立所述FLASH的物理地址和逻辑地址的映射关系;采用地址映射表存储所述FLASH的物理地址和逻辑地址的映射关系,以使得所述数据处理系统主机的控制器在接收到数据处理系统主机的数据写入请求或数据读取请求时,从所述地址映射表中查找所述数据写入/读取请求包含的目标逻辑地址对应的物理地址。结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式或第一方面的第三种可能的实现方式,在第四种可能的实现方式中,所述方法还包括所述数据处理系统主机的控制器对所述存储设备的FLASH进行调度处理。结合第一方面的第四种可能的实现方式,在第五种可能的实现方式中,所述数据处理系统主机的控制器对所述存储设备的FLASH进行调度处理,包括当任一个FLASH中包含坏块时,所述数据处理系统主机的控制器查找任一个所述FLASH的冗余块;所述数据处理系统主机的控制器读取所述坏块的数据,将所述数据写入查找到的所述几余块;所述数据处理系统主机的控制器更新所述地址映射表,将所述坏块的逻辑地址对应所述冗余块的物理地址。结合第一方面的第四种可能的实现方式,在第六种可能的实现方式中,所述数据处理系统主机的控制器对所述存储设备的FLASH进行调度处理,还包括当其中一个所述FLASH插卡损坏时,所述数据处理系统主机的控制器将所述损坏的FLASH插卡的FLASH中的数据备份至所述存储设备的其它FLASH插卡的FLASH ;当将一个新的FLASH插卡替换所述损坏的FLASH插卡时,所述数据处理系统主机的控制器将所述其它FLASH插卡的FLASH中备份的数据写入所述新的FLASH插卡的FLASH。结合第一方面的第四种可能的实现方式或第一方面的第五种可能的实现方式或第一方面的第六种可能的实现方式,在第七种可能的实现方式中,所述数据处理系统主机的控制器对所述存储设备的FLASH进行调度处理,还包括当进行数据写入操作时,所述数据处理系统主机的控制器检测待写入的FLASH的块的磨损次数;当所述待写入的FLASH的块的磨损次数高于任意一个FLASH的块的磨损次数时,所述数据处理系统主机的控制器选择低于所述待写入的FLASH的块的磨损次数的FLASH的块;所述数据处理系统主机的控制器将待写入的数据写入所述选择的FLASH的块;所述数据处理系统主机的控制器更新所述地址映射表,将所述待写入的FLASH的块的逻辑地址对应所述选择的FLASH的块的物理地址。第二方面,本发明提供一种控制器,所述控制器位于数据处理系统主机,所述数据处理系统主机包括存储设备,所述存储设备包括闪存FLASH和数据接口,所述控制器通过所述存储设备的数据接口控制所述FLASH,其特征在于,所述控制器包括第一查找单元,用于当接收到数据处理系统主机的数据写入请求时,查找所述数据写入请求包含的第一目标逻辑地址对应的第一物理地址;第一写入单元,用于将所请求的待写数据写入所述第一物理地址对应的FLASH中;所述第一查找单元还用于当接收到所述数据处理系统主机的数据读取请求时,查找所述数据读取请求包含的第二目标逻辑地址对应的第二物理地址;第一读取单元,用于从所述第二物理地址对应的FLASH中读取所请求的待读数据,并将读取的所述数据返回至所述数据处理系统主机。在第一种可能的实现方式中,所述数据处理系统主机包括个人计算机、服务器或存储阵列。结合第二方面或第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述存储设备包括至少两个FLASH插卡,所述FLASH插卡上设有至少一个所述FLASH。结合第二方面或第二方面的第一种可能的实现方式或第二方面的第二种可能的实现方式,在第三种可能的实现方式中,所述控制器还包括建立单元,用于建立所述FLASH的物理地址和逻辑地址的映射关系;存储单元,用于采用地址映射表存储所述FLASH的物理地址和逻辑地址的映射关系,以使得所述数据处理系统主机的控制器在接收到数据处理系统主机的数据写入请求或数据读取请求时,从所述地址映射表中查找所述数据写入/读取请求包含的目标逻辑地址对应的物理地址。结合第二方面或第二方面的第一种可能的实现方式或第二方面的第二种可能的实现方式或第二方面的第三种可能的实现方式,在第四种可能的实现方式中,所述控制器还包括调度处理单元,用于对所述存储设备的FLASH进行调度处理。结合第二方面的第四种可能的实现方式,在第五种可能的实现方式中,所述调度处理单元包括第二查找单元,用于当任一个FLASH中包含坏块时,查找任一个所述FLASH的冗余块;第二读取单元,用于读取所述坏块的数据;第二写入单元,用于将所述数据写入查找到的所述冗余块;第一更新单元,用于更新所述地址映射表,将所述坏块的逻辑地址对应所述冗余块的物理地址。结合第二方面的第四种可能的实现方式,在第六种可能的实现方式中,所述调度处理单元还包括备份单元,用于当其中一个所述FLASH插卡损坏时,将所述损坏的FLASH插卡的FLASH中的数据备份至所述存储设备的其它FLASH插卡的FLASH ;第三写入单元,用于当将一个新的FLASH插卡替换所述损坏的FLASH插卡时,将所述其它FLASH插卡的FLASH中备份的数据写入所述新的FLASH插卡的FLASH。结合第二方面的第四种可能的实现方式或第二方面的第五种可能的实现方式或第二方面的第六种可能的实现方式,在第七种可能的实现方式中,所述调度处理单元还包括检测单元,用于当进行数据写入操作时,检测待写入的FLASH的块的磨损次数;选择单元,用于当所述待写入的FLASH的块的磨损次数高于任意一个FLASH的块的磨损次数时,选择低于所述待写入的FLASH的块的磨损次数的FLASH的块;第四写入单元,用于将待写入的数据写入所述选择的FLASH的块;第二更新单元,用于更新所述地址映射表,将所述待写入的FLASH的块的逻辑地址对应所述选择的FLASH的块的物理地址。
本发明第三方面提供一种存储系统,其特征在于,所述存储系统包括存储设备和本发明第二方面提供的数据处理系统主机的控制器,所述存储设备设置于数据处理系统主机,所述存储设备包括数据接口和闪存FLASH ;所述FLASH通过所述数据接口与数据处理系统主机的控制器相连;所述数据处理系统主机的控制器执行如下步骤当接收到数据处理系统主机的数据写入请求时,所述数据处理系统主机的控制器查找所述数据写入请求包含的第一目标逻辑地址对应的第一物理地址,并将所请求的待写数据写入所述第一物理地址对应的FLASH中;当接收到所述数据处理系统主机的数据读取请求时,所述数据处理系统主机的控制器查找所述数据读取请求包含的第二目标逻辑地址对应的第二物理地址,从所述第二物理地址对应的FLASH中读取所请求的待读数据,并将读取的所述数据返回至所述数据处理系统主机。在第一种可能的实现方式中,所述数据处理系统主机包括个人计算机、服务器或存储阵列。结合第三方面或第三方面的第一种可能的实现方式,在第二种可能的实现方式中,所述存储设备包括至少两个FLASH插卡,所述FLASH插卡上设有至少一个所述FLASH。结合第三方面或第三方面的第一种可能的实现方式或第三方面的第二种可能的实现方式,在第三种可能的实现方式中,所述数据处理系统主机的控制器在执行接收到数据处理系统主机的数据写入请求或数据读取请求的步骤之前,还执行如下步骤建立所述FLASH的物理地址和逻辑地址的映射关系;采用地址映射表存储所述FLASH的物理地址和逻辑地址的映射关系,以使得所述数据处理系统主机的控制器在接收到数据处理系统主机的数据写入请求或数据读取请求时,从所述地址映射表中查找所述数据写入/读取请求包含的目标逻辑地址对应的物理地址。结合第三方面或第三方面的第一种可能的实现方式或第三方面的第二种可能的实现方式或第三方面的第三种可能的实现方式,在第四种可能的实现方式中,所述数据处理系统主机的控制器还执行如下步骤对所述存储设备的FLASH进行调度处理。结合第三方面的第四种可能的实现方式,在第五种可能的实现方式中,所述数据处理系统主机的控制器执行对所述存储设备的FLASH进行调度处理的步骤包括当任一个FLASH中包含坏块时,所述数据处理系统主机的控制器查找任一个所FLASH的冗余块;所述数据处理系统主机的控制器读取所述坏块的数据,将所述数据写入查找到的所述几余块;所述数据处理系统主机的控制器更新所述地址映射表,将所述坏块的逻辑地址对应所述冗余块的物理地址。结合第三方面的第四种可能的实现方式,在第六种可能的实现方式中,所述数据处理系统的控制器执行对所述存储设备的FLASH进行调度处理的步骤还包括当其中一个所述FLASH插卡损坏时,所述数据处理系统主机的控制器将所述损坏的FLASH插卡的FLASH中的数据备份至所述存储设备的其它FLASH插卡的FLASH ;当将一个新的FLASH插卡替换所述损坏的FLASH插卡时,所述数据处理系统主机的控制器将所述其它FLASH插卡的FLASH中备份的数据写入所述新的FLASH插卡的FLASH。结合第三方面的第四种可能的实现方式或第三方面的第五种可能的实现方式或第三方面的第六种可能的实现方式,在第七种可能的实现方式中,所述数据处理系统主机的控制器执行对所述固态存储设备的FLASH进行调度处理的步骤还包括当进行数据写入操作时,所述数据处理系统主机的控制器检测待写入的FLASH的块的磨损次数;当所述待写入的FLASH的块的磨损次数高于任意一个FLASH的块的磨损次数时,所述数据处理系统主机的控制器选择低于所述待写入的FLASH的块的磨损次数的FLASH的块;所述数据处理系统主机的控制器将待写入的数据写入所述选择的FLASH的块;所述数据处理系统主机的控制器更新所述地址映射表,将所述待写入的FLASH的块的逻辑地址对应所述选择的FLASH的块的物理地址。采用本发明提供的一种存储设备的控制方法及相关装置的技术方案,由数据处理系统主机的控制器直接对存储设备的FLASH进行统一管理,可以实现对存储设备的FLASH进行自上而下的统一管控,有利于实现资源的优化。



为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
I为本发明提供的一种存储设备的控制方法的一个实施例的方法流程2为本发明提供的一种存储设备的控制方法的另一个实施例的方法流程3为对图2中步骤S205的进一步细化的一个实施方式的方法流程4为对图2中步骤S205的进一步细化的另一个实施方式的方法流程5为对图2中步骤S205的进一步细化的又一个实施方式的方法流程6为本发明提供的一种控制器的一个实施例的结构不意7为本发明提供的一种控制器的另一个实施例的结构示意8为对图7中调度处理单元206进一步细化的一个实施方式的结构示意9为对图7中调度处理单元206进一步细化的另一个实施方式的结构示意图;10为对图7中调度处理单元206进一步细化的另一个实施方式的结构示意图;11为本发明提供的一种存储系统的实施例的结构示意图。图










具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。图1为本发明提供的一种存储设备的控制方法的一个实施例的方法流程图。存储设备设置于数据处理系统主机,该存储设备包括闪存FLASH和数据接口,数据处理系统主机的控制器通过数据接口对FLASH进行控制,如图1所示,该控制方法包括以下步骤步骤S101,当接收到数据处理系统主机的数据写入请求时,数据处理系统主机的控制器查找所述数据写入请求包含的第一目标逻辑地址对应的第一物理地址,并将所请求的待写数据写入所述第一物理地址对应的闪存FLASH中。在本发明中,数据处理系统主机包括个人计算机、服务器或存储阵列等,数据处理系统主机的控制器通过存储设备的数据接口直接与存储介质相连,该存储介质可以为FLASH,该FLASH可以设置在FLASH插卡上,当然不局限于插卡形式,存储设备包括至少两个FLASH插卡,该FLASH插卡上设有至少一个FLASH。数据处理系统主机的控制器接收到数据处理系统主机的数据写入请求时,直接解析该请求,查找数据写入请求包含的第一目标逻辑地址对应的第一物理地址,并将所请求的待写数据写入第一物理地址对应的闪存FLASH中。数据处理系统主机中存储有表示逻辑地址与物理地址的映射关系的地址映射表或逻辑地址与物理地址的固定关系,通过该地址映射表或逻辑地址与物理地址的固定关系,可以查找到第一目标逻辑地址对应的第一物理地址。步骤S102,当接收到所述数据处理系统主机的数据读取请求时,数据处理系统主机的控制器查找所述数据读取请求包含的第二目标逻辑地址对应的第二物理地址,从所述第二物理地址对应的FLASH中读取所请求的待读数据,并将读取的所述数据返回至所述数据处理系统主机。当接收到数据处理系统主机的数据读取请求时,直接解析该请求,查找该数据读取请求包含的第二目标逻辑地址对应的第二物理地址,从该第二物理地址对应的FLASH中读取所请求的待读数据,并将读取的数据返回至数据处理系统主机。值得说明的是,步骤SlOl中的第一目标逻辑地址和第一物理地址与步骤S102中的第二目标逻辑地址和第二物理地址并不是特指,第一目标逻辑地址可以与第二目标逻辑地址相同或不相同,相应的第一物理地址可以与第二物理地址相同或不相同。在现有技术中,例如存储阵列,存储阵列本身有一个主控制器,而各个部分FLASH又有一个SSD的控制器对该部分FLASH进行控制,各个部分的FLASH和SSD的控制器构成一个单盘,即一个SSD,当接收到数据写入请求时,存储阵列的主控制器对该请求进行协议封装,并将封装好的请求发送给该请求针对的单盘的控制器,由单盘的控制器解析请求,并对FLASH进行操作。而在本发明中,由数据处理系统主机例如个人计算机、服务器或存储阵列本身的控制器对FLASH进行操作,而不像现有技术中的SSD,其FLASH由SSD的控制器控制,SSD的控制器解析数据处理系统主机的控制器发送的指令,现有技术中的数据处理系统主机下如果有多个SSD,每个SSD的FLASH由其各自的SSD控制器控制,数据处理系统无法对所有SSD的存储资源进行统一管理,而本发明中数据处理系统主机通过自身的控制器对整个FLASH进行统一管理,可以实现资源的优化。该数据处理系统主机具有操作系统,由操作系统统一管理FLASH,对FLASH进行读写操作。
根据本发明提供的一种存储设备的控制方法的一个实施例,由数据处理系统主机的控制器直接对存储设备的FLASH进行统一管理,可以实现对存储设备的FLASH进行自上而下的统一管控,有利于实现资源的优化。图2为本发明提供的一种存储设备的控制方法的另一个实施例的方法流程图。存储设备设置于数据处理系统主机,该存储设备包括闪存FLASH和数据接口,数据处理系统主机的控制器通过数据接口对FLASH进行控制,如图2所示,该方法包括以下步骤步骤S201,建立闪存FLASH的物理地址和逻辑地址的映射关系。在本发明中,数据处理系统主机包括个人计算机、服务器或存储阵列等,数据处理系统主机的控制器通过存储设备的数据接口直接与存储介质相连,该存储介质可以为FLASH,该FLASH可以设置在FLASH插卡上,当然不局限于插卡形式,存储设备包括至少两个FLASH插卡,该FLASH插卡上设有至少一个FLASH。建立FLASH的物理地址和逻辑地址的一一映射关系,存储设备可以对其逻辑地址对应的物理地址所在的任意的FLASH进行操作,该FLASH可以位于任意FLASH插卡上。步骤S202,采用地址映射表存储所述FLASH的物理地址和逻辑地址的映射关系,以使得所述数据处理系统主机的控制器在接收到数据处理系统主机的数据写入请求或数据读取请求时,从所述地址映射表中查找所述数据写入/读取请求包含的目标逻辑地址对应的物理地址。采用地址映射表存储FLASH的物理地址和逻辑地址的映射关系,可以方便进行读写操作时查找逻辑地址所对应的物理地址。步骤S203,当接收到数据处理系统主机的数据写入请求时,所述数据处理系统主机的控制器从地址映射表中查找所述数据写入请求包含的第一目标逻辑地址对应的第一物理地址,并将所请求的待写数据写入所述第一物理地址对应的FLASH中。数据处理系统主机的控制器接收到数据处理系统主机的数据写入请求时,直接解析该请求,从地址映射表中查找数据写入请求包含的第一目标逻辑地址对应的第一物理地址,并将所请求的待写数据写入第一物理地址对应的闪存FLASH中。该第一物理地址对应的闪存FLASH可以位于任意FLASH插卡上。步骤S204,当接收到所述数据处理系统主机的数据读取请求时,所述数据处理系统主机的控制器从地址映射表中查找所述数据读取请求包含的第二目标逻辑地址对应的第二物理地址,从所述第二物理地址对应的FLASH中读取所请求的待读数据,并将读取的所述数据返回至所述数据处理系统主机。数据处理系统主机的控制器接收到数据处理系统的数据读取请求时,直接解析该请求,从地址映射表中查找该数据读取请求包含的第二目标逻辑地址对应的第二物理地址,从该第二物理地址对应的FLASH中读取所请求的待读数据,并将读取的数据返回至数据处理系统。该第二物理地址对应的FLASH可以位于任意的FLASH插卡上。值得说明的是,步骤S204中的第一目标逻辑地址和第一物理地址与步骤S205中的第二目标逻辑地址和第二物理地址并不是特指,第一目标逻辑地址可以与第二目标逻辑地址相同或不相同,相应的第一物理地址可以与第二物理地址相同或不相同。在现有技术中,例如存储阵列,存储阵列本身有一个主控制器,而各个部分FLASH又有一个SSD的控制器对该部分FLASH进行控制,各个部分的FLASH和SSD的控制器构成一个单盘,即一个SSD,当接收到数据写入请求时,存储阵列的主控制器对该请求进行协议封装,并将封装好的请求发送给该请求针对的单盘的控制器,由单盘的控制器解析请求,并对FLASH进行操作。而在本发明中,由数据处理系统主机例如个人计算机、服务器或存储阵列本身的控制器对FLASH进行操作,而不像现有技术中的SSD,其FLASH由SSD的控制器控制,SSD的控制器解析数据处理系统主机的控制器发送的指令,现有技术中的数据处理系统主机下如果有多个SSD,每个SSD的FLASH由其各自的SSD控制器控制,数据处理系统无法对所有SSD的存储资源进行统一管理,而本发明中数据处理系统主机通过自身的控制器对整个FLASH进行统一管理,可以实现资源的优化。该数据处理系统主机具有操作系统,由操作系统统一管理FLASH,对FLASH进行读写操作。步骤S205,所述数据处理系统主机的控制器对所述存储设备的FLASH进行调度处理。为对存储设备进行磨损均衡、坏块统一处理、更换FLASH插卡等优化操作,对存储设备的各个FLASH插卡上的FLASH进行统一调度处理,即可利用其它FLASH插卡上的FLASH进行数据备份、搬迁等。根据本发明提供的一种存储设备的控制方法的另一个实施例,由数据处理系统主机的控制器直接对存储设备的FLASH进行统一管理,可以实现对存储设备的FLASH进行自上而下的统一管控,且对存储设备的FLASH进行调度处理,有利于实现资源的优化。图3为对图2中步骤S205的进一步细化的一个实施方式的方法流程图。如图3所示,步骤S205具体包括以下步骤步骤S301,当任一个FLASH中包含坏块时,所述数据处理系统主机的控制器查找任一个所述FLASH的冗余块。FLASH介质在使用过程中会产生坏块,为解决性能与可靠性问题,在FLASH上会留有一部分冗余块作为冗余空间。一个FLASH由若干块组成,当任一个FLASH中包含坏块时,可以查找任一个FLASH的冗余块。步骤S302,所述数据处理系统主机的控制器读取所述坏块的数据,将所述数据写入查找到的所述冗余块。先将冗余块擦除,读取坏块中的数据,将该数据写入查找到的冗余块中。步骤S303,所述数据处理系统主机的控制器更新所述地址映射表,将所述坏块的逻辑地址对应所述冗余块的物理地址。由于坏块中的数据已经全部写入到冗余块,其坏块中的数据的物理地址发生了改变,因此,需要更新地址映射表,将原来坏块的逻辑地址对应现在数据所在的冗余块的物理地址。现有技术中,在某个单盘坏块达到一定程度后,会单盘失效,影响可靠性,增加维护成本,也浪费物料,而采用本实施例的坏块统一处理方法,在处理坏块时可以将插卡A的坏块替换至其它插卡,使插卡与存储设备继续使用,减少后期成本浪费。图4为对图2中步骤S205的进一步细化的另一个实施方式的方法流程图。如图4所示,步骤S205具体包括以下步骤
步骤S401,当其中一个所述FLASH插卡损坏时,所述数据处理系统主机的控制器将所述损坏的FLASH插卡的FLASH中的数据备份至所述存储设备的其它FLASH插卡的FLASH。由于损坏的FLASH插卡与其它FLASH插卡由存储设备统一管理,因此,可将损坏的FLASH插卡的FLASH中的数据备份至其它FLASH插卡的FLASH中。步骤S402,当将一个新的FLASH插卡替换所述损坏的FLASH插卡时,所述数据处理系统主机的控制器将所述其它FLASH插卡的FLASH中备份的数据写入所述新的FLASH插卡的 FLASH。由于本发明的存储设备分离了原有控制器,只以FLASH插卡形式存在,可以降低整体故障率,若单个插卡损坏,则直接更换即可,减少后期维护成本,且为工业设计提供更大的空间。图5为对图2中步骤S205的进一步细化的又一个实施方式的方法流程图。如图5所示,步骤S205具体包括以下步骤步骤S501,当进行数据写入操作时,所述数据处理系统主机的控制器检测待写入的FLASH的块的磨损次数。本实施例涉及磨损均衡技术,存储设备的特性决定了必须使用磨损均衡策略,以保证存储可靠性。进行数据写入操作,包括接收数据处理系统的写入请求进行写入操作、对FLASH本身的坏块统一处理、更换FLASH插卡等。进行FLASH数据写操作时,必须先进行擦写操作,而FLASH有限定的擦写次数,例如,有的FLASH的擦写次数为10万次,因此,进行一次擦写即记为一次磨损,系统中有进行磨损次数统计的部件。因此,为保证磨损均衡,当进行数据写入操作时,先检测待写入的FLASH的块的磨损次数。步骤S502,当所述待写入的FLASH的块的磨损次数高于任意一个FLASH的块的磨损次数时,所述数据处理系统主机的控制器选择低于所述待写入的FLASH的块的磨损次数的FLASH的块。由于存储设备对FLASH进行统一管理,因此,当待写入的FLASH的块的磨损次数高于任意一个FLASH的块的磨损次数时,可以任意选择低于待写入的FLASH的块的磨损次数的FLASH的块。步骤S503,所述数据处理系统主机的控制器将待写入的数据写入所述选择的FLASH的块。步骤S504,所述数据处理系统主机的控制器更新所述地址映射表,将所述待写入的FLASH的块的逻辑地址对应所述选择的FLASH的块的物理地址。由于待写入的FLASH的块的数据的物理地址发生了改变,因此,需要更新地址映射表,将待写入的FLASH的块的原先的逻辑地址对应当前所选择的FLASH的块的物理地址。从整个存储设备来看,单盘的磨损均衡无法满足整体要求,采用本实施例的磨损均衡方案,存储设备在分配写入数据地址的时候就可以针对不同的插卡中的FLASH根据磨损次数进行分配与映射,可以最大限度的减少插卡间的数据搬移,减少对性能与可靠性的影响。图6为本发明提供的一种的控制器的一个实施例的结构示意图。所述控制器位于数据处理系统主机,所述数据处理系统主机包括存储设备,所述存储设备包括闪存FLASH和数据接口,所述控制器通过所述存储设备的数据接口控制所述FLASH,如图6所示,该控制器1000包括第一查找单元101,用于当接收到数据处理系统主机的数据写入请求时,查找所述数据写入请求包含的第一目标逻辑地址对应的第一物理地址。第一写入单元102,用于将所请求的待写数据写入所述第一物理地址对应的闪存FLASH 中。在本发明中,数据处理系统主机包括个人计算机、服务器或存储阵列等,数据处理系统主机的控制器通过存储设备的数据接口直接与存储介质相连,该存储介质可以为FLASH,该FLASH可以设置在FLASH插卡上,当然不局限于插卡形式,存储设备包括至少两个FLASH插卡,该FLASH插卡上设有至少一个FLASH。数据处理系统主机的控制器接收到数据处理系统主机的数据写入请求时,直接解析该请求,查找数据写入请求包含的第一目标逻辑地址对应的第一物理地址,并将所请求的待写数据写入第一物理地址对应的闪存FLASH中。数据处理系统主机中存储有表示逻辑地址与物理地址的映射关系的地址映射表或逻辑地址与物理地址的固定关系,通过该地址映射表或逻辑地址与物理地址的固定关系,可以查找到第一目标逻辑地址对应的第一物理地址。所述第一查找单元101还用于当接收到所述数据处理系统的数据读取请求时,从地址映射表中查找所述数据读取请求包含的第二目标逻辑地址对应的第二物理地址。第一读取单元103,用于从所述第二物理地址对应的FLASH中读取所请求的待读数据,并将读取的所述数据返回至所述数据处理系统。接收到数据处理系统主机的数据读取请求时,直接解析该请求,查找该数据读取请求包含的第二目标逻辑地址对应的第二物理地址,从该第二物理地址对应的FLASH中读取所请求的待读数据,并将读取的数据返回至数据处理系统主机。值得说明的是,数据写入请求包含的第一目标逻辑地址和第一物理地址与数据读取请求包含的第二目标逻辑地址和第二物理地址并不是特指,第一目标逻辑地址可以与第二目标逻辑地址相同或不相同,相应的第一物理地址可以与第二物理地址相同或不相同。在现有技术中,例如存储阵列,存储阵列本身有一个主控制器,而各个部分FLASH又有一个SSD的控制器对该部分FLASH进行控制,各个部分的FLASH和SSD的控制器构成一个单盘,即一个SSD,当接收到数据写入请求时,存储阵列的主控制器对该请求进行协议封装,并将封装好的请求发送给该请求针对的单盘的控制器,由单盘的控制器解析请求,并对FLASH进行操作。而在本发明中,由数据处理系统主机例如个人计算机、服务器或存储阵列本身的控制器对FLASH进行操作,而不像现有技术中的SSD,其FLASH由SSD的控制器控制,SSD的控制器解析数据处理系统主机的控制器发送的指令,现有技术中的数据处理系统主机下如果有多个SSD,每个SSD的FLASH由其各自的SSD控制器控制,数据处理系统无法对所有SSD的存储资源进行统一管理,而本发明中数据处理系统主机通过自身的控制器对整个FLASH进行统一管理,可以实现资源的优化。该数据处理系统主机具有操作系统,由操作系统统一管理FLASH,对FLASH进行读写操作。根据本发明提供的一种控制器的一个实施例,由数据处理系统主机的控制器直接对存储设备的FLASH进行统一管理,可以实现对存储设备的FLASH进行自上而下的统一管控,有利于实现资源的优化。图7为本发明提供的一种控制器的另一个实施例的结构示意图。如图7所示,该控制器2000包括建立单元201,用于建立闪存FLASH的物理地址和逻辑地址的映射关系。在本发明中,数据处理系统主机包括个人计算机、服务器或存储阵列等,数据处理系统主机的控制器通过存储设备的数据接口直接与存储介质相连,该存储介质可以为FLASH,该FLASH可以设置在FLASH插卡上,当然不局限于插卡形式,存储设备包括至少两个FLASH插卡,该FLASH插卡上设有至少一个FLASH。建立单元201建立FLASH的物理地址和逻辑地址的——映射关系,存储设备可以对其逻辑地址对应的物理地址所在的任意的FLASH进行操作,该FLASH可以位于任意FLASH插卡上。存储单元202,用于采用地址映射表存储所述FLASH的物理地址和逻辑地址的映射关系,以使得所述数据处理系统主机的控制器在接收到数据处理系统主机的数据写入请求或数据读取请求时,从所述地址映射表中查找所述数据写入/读取请求包含的目标逻辑地址对应的物理地址。具体地,存储单元202采用地址映射表存储FLASH的物理地址和逻辑地址的映射关系,可以方便进行读写操作时查找逻辑地址所对应的物理地址。第一查找单元203,用于当接收到数据处理系统主机的数据写入请求时,从地址映射表中查找所述数据写入请求包含的第一目标逻辑地址对应的第一物理地址。第一写入单元204,用于将所请求的待写数据写入所述第一物理地址对应的闪存FLASH 中。数据处理系统主机的控制器接收到数据处理系统主机的数据写入请求时,直接解析该请求,从地址映射表中查找数据写入请求包含的第一目标逻辑地址对应的第一物理地址,并将所请求的待写数据写入第一物理地址对应的闪存FLASH中。该第一物理地址对应的闪存FLASH可以位于任意FLASH插卡上。所述第一查找单元203还用于当接收到所述数据处理系统主机的数据读取请求时,从地址映射表中查找所述数据读取请求包含的第二目标逻辑地址对应的第二物理地址。第一读取单元205,用于从所述第二物理地址对应的FLASH中读取所请求的待读数据,并将读取的所述数据返回至所述数据处理系统。数据处理系统主机的控制器接收到数据处理系统的数据读取请求时,直接解析该请求,从地址映射表中查找该数据读取请求包含的第二目标逻辑地址对应的第二物理地址,从该第二物理地址对应的FLASH中读取所请求的待读数据,并将读取的数据返回至数据处理系统。该第二物理地址对应的FLASH可以位于任意的FLASH插卡上。值得说明的是,数据写入请求包含的第一目标逻辑地址和第一物理地址与数据读取请求包含的第二目标逻辑地址和第二物理地址并不是特指,第一目标逻辑地址可以与第二目标逻辑地址相同或不相同,相应的第一物理地址可以与第二物理地址相同或不相同。在现有技术中,例如存储阵列,存储阵列本身有一个主控制器,而各个部分FLASH又有一个SSD的控制器对该部分FLASH进行控制,各个部分的FLASH和SSD的控制器构成一个单盘,即一个SSD,当接收到数据写入请求时,存储阵列的主控制器对该请求进行协议封装,并将封装好的请求发送给该请求针对的单盘的控制器,由单盘的控制器解析请求,并对FLASH进行操作。而在本发明中,由数据处理系统主机例如个人计算机、服务器或存储阵列本身的控制器对FLASH进行操作,而不像现有技术中的SSD,其FLASH由SSD的控制器控制,SSD的控制器解析数据处理系统主机的控制器发送的指令,现有技术中的数据处理系统主机下如果有多个SSD,每个SSD的FLASH由其各自的SSD控制器控制,数据处理系统无法对所有SSD的存储资源进行统一管理,而本发明中数据处理系统主机通过自身的控制器对整个FLASH进行统一管理,可以实现资源的优化。该数据处理系统主机具有操作系统,由操作系统统一管理FLASH,对FLASH进行读写操作。调度处理单元206,用于对所述存储设备的FLASH进行调度处理。为对存储设备进行磨损均衡、坏块统一处理、更换FLASH插卡等优化操作,调度处理单元206对存储设备的各个FLASH插卡上的FLASH进行统一调度处理,即可利用其它FLASH插卡上的FLASH进行数据备份、搬迁等。根据本发明提供的一种控制器的另一个实施例,由数据处理系统主机的控制器直接对存储设备的FLASH进行统一管理,可以实现对存储设备的FLASH进行自上而下的统一管控,且对存储设备的FLASH进行调度处理,有利于实现资源的优化。图8为对图7中调度处理单元206进一步细化的一个实施方式的结构示意图。如图8所示,该调度处理单元206包括第二查找单元2061,用于当任一个FLASH中包含坏块时,查找任一个所述FLASH的几余块。FLASH介质在使用过程中会产生坏块,存储设备为解决性能与可靠性问题在FLASH上会留有一部分冗余块作为冗余空间。一个FLASH由若干块组成,当任一个FLASH中包含坏块时,可以查找任一个FLASH的冗余块。第二读取单元2062,用于读取所述坏块的数据。第二写入单元2063,用于将所述数据写入查找到的所述冗余块。先将冗余块擦除,第二读取单元2062读取坏块中的数据,第二写入单元2063将该数据写入查找到的冗余块中。第一更新单元2064,用于更新所述地址映射表,将所述坏块的逻辑地址对应所述冗余块的物理地址。由于坏块中的数据已经全部写入到冗余块,其坏块中的数据的物理地址发生了改变,因此,需要更新地址映射表,将原来坏块的逻辑地址对应现在数据所在的冗余块的物理地址。现有技术中,在某个单盘坏块达到一定程度后,会单盘失效,影响可靠性,增加维护成本,也浪费物料,而采用本实施例的坏块统一处理方法,在处理坏块时可以将插卡A的坏块替换至其它插卡,使插卡与存储设备继续使用,减少后期成本浪费。图9为对图7中调度处理单元206进一步细化的另一个实施方式的结构示意图。如图9所示,该调度处理单元206包括备份单元2065,用于当其中一个所述FLASH插卡损坏时,将所述损坏的FLASH插卡的FLASH中的数据备份至所述存储设备的其它FLASH插卡的FLASH。由于损坏的FLASH插卡与其它FLASH插卡由存储设备统一管理,因此,可将损坏的FLASH插卡的FLASH中的数据备份至其它FLASH插卡的FLASH中。第三写入单元2066,用于当将一个新的FLASH插卡替换所述损坏的FLASH插卡时,将所述其它FLASH插卡的FLASH中备份的数据写入所述新的FLASH插卡的FLASH。由于本发明的存储设备分离了原有控制器,只以FLASH插卡形式存在,可以降低整体故障率,若单个插卡损坏,则直接更换即可,减少后期维护成本,且为工业设计提供更大的空间。图10为对图7中调度处理单元206进一步细化的另一个实施方式的结构示意图。如图10所示,该调度处理单元206包括检测单元2067,用于当进行数据写入操作时,检测待写入的FLASH的块的磨损次数。本实施例涉及磨损均衡技术,存储设备的特性决定了必须使用磨损均衡策略,以保证存储可靠性。进行数据写入操作,包括接收数据处理系统的写入请求进行写入操作、对FLASH本身的坏块统一处理、更换FLASH插卡等。进行FLASH数据写操作时,必须先进行擦写操作,而FLASH有限定的擦写次数,例如,有的FLASH的擦写次数为10万次,因此,进行一次擦写即记为一次磨损,系统中有进行磨损次数统计的部件。因此,为保证磨损均衡,当进行数据写入操作时,先检测待写入的FLASH的块的磨损次数。选择单元2068,用于当所述待写入的FLASH的块的磨损次数高于任意一个FLASH的块的磨损次数时,选择低于所述待写入的FLASH的块的磨损次数的FLASH的块。由于存储设备对FLASH进行统一管理,因此,当待写入的FLASH的块的磨损次数高于任意一个FLASH的块的磨损次数时,可以任意选择低于待写入的FLASH的块的磨损次数的FLASH的块。第四写入单元2069,用于将待写入的数据写入所述选择的FLASH的块。第二更新单元2070,用于更新所述地址映射表,将所述待写入的FLASH的块的逻辑地址对应所述选择的FLASH的块的物理地址。由于待写入的FLASH的块的数据的物理地址发生了改变,因此,需要更新地址映射表,将待写入的FLASH的块的原先的逻辑地址对应当前所选择的FLASH的块的物理地址。从整个存储设备来看,单盘的磨损均衡无法满足整体要求,采用本实施例的磨损均衡方案,存储设备在分配写入数据地址的时候就可以针对不同的插卡中的FLASH根据磨损次数进行分配与映射,可以最大限度的减少插卡间的数据搬移,减少对性能与可靠性的影响。图11为本发明提供的一种存储系统的实施例的结构示意图。如图11所示,该存储系统包括存储设备3000和前述实施例描述的数据处理系统主机4000的控制器302,该存储设备设置于数据处理系统主机4000,该存储设备3000包括数据接口 301和FLASH303。其中,存储设备3000通过数据接口 301与数据处理系统4000的控制器302相连。控制器302执行如下步骤
当接收到数据处理系统主机的数据写入请求时,控制器302查找所述数据写入请求包含的第一目标逻辑地址对应的第一物理地址,并将所请求的待写数据写入所述第一物理地址对应的闪存FLASH中。当接收到所述数据处理系统主机的数据读取请求时,查找所述数据读取请求包含的第二目标逻辑地址对应的第二物理地址,从所述第二物理地址对应的FLASH中读取所请求的待读数据,并将读取的所述数据返回至所述数据处理系统主机。优选地,数据处理系统主机4000包括个人计算机、服务器或存储阵列。优选地,存储设备3000包括至少两个FLASH插卡,所述FLASH插卡上设有至少一个 FLASH。进一步地,控制器302在执行接收到数据处理系统的数据写入请求或数据读取请求的步骤之前,还执行如下步骤建立所述FLASH的物理地址和逻辑地址的映射关系。采用地址映射表存储所述FLASH的物理地址和逻辑地址的映射关系,以使得所述数据处理系统主机的控制器在接收到数据处理系统主机的数据写入请求或数据读取请求时,从所述地址映射表中查找所述数据写入/读取请求包含的目标逻辑地址对应的物理地址。进一步地,控制器302还执行如下步骤对所述存储设备的FLASH进行调度处理。作为一种实施方式,控制器302执行对所述存储设备的FLASH进行调度处理的步骤包括当任一个FLASH中包含坏块时,查找任一个所述FLASH的冗余块。读取所述坏块的数据,将所述数据写入查找到的所述冗余块。更新所述地址映射表,将所述坏块的逻辑地址对应所述冗余块的物理地址。作为另一种实施方式,控制器302执行对所述存储设备的FLASH进行调度处理的步骤还包括当其中一个所述FLASH插卡损坏时,将所述损坏的FLASH插卡的FLASH中的数据备份至所述存储设备的其它FLASH插卡的FLASH。当将一个新的FLASH插卡替换所述损坏的FLASH插卡时,将所述其它FLASH插卡的FLASH中备份的数据写入所述新的FLASH插卡的FLASH。作为又一种实施方式,控制器302执行对所述存储设备的FLASH进行调度处理的步骤还包括当进行数据写入操作时,检测待写入的FLASH的块的磨损次数。当所述待写入的FLASH的块的磨损次数高于任意一个FLASH的块的磨损次数时,选择低于所述待写入的FLASH的块的磨损次数的FLASH的块。将待写入的数据写入所述选择的FLASH的块。更新所述地址映射表,将所述待写入的FLASH的块的逻辑地址对应所述选择的FLASH的块的物理地址。根据本发明提供的一种存储系统的实施例,由数据处理系统主机的控制器直接对存储设备的FLASH进行统一管理,可以实现对存储设备的FLASH进行自上而下的统一管控,有利于实现资源的优化。在现有技术中,例如存储阵列,存储阵列本身有一个主控制器,而各个部分FLASH又有一个SSD的控制器对该部分FLASH进行控制,各个部分的FLASH和SSD的控制器构成一个单盘,即一个SSD,当接收到数据写入请求时,存储阵列的主控制器对该请求进行协议封装,并将封装好的请求发送给该请求针对的单盘的控制器,由单盘的控制器解析请求,并对FLASH进行操作。而在本发明中,由数据处理系统主机例如个人计算机、服务器或存储阵列本身的控制器对FLASH进行操作,而不像现有技术中的SSD,其FLASH由SSD的控制器控制,SSD的控制器解析数据处理系统主机的控制器发送的指令,现有技术中的数据处理系统主机下如果有多个SSD,每个SSD的FLASH由其各自的SSD控制器控制,数据处理系统无法对所有SSD的存储资源进行统一管理,而本发明中数据处理系统主机通过自身的控制器对整个FLASH进行统一管理,可以实现资源的优化。该数据处理系统主机具有操作系统,由操作系统统一管理FLASH,对FLASH进行读写操作。以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
权利要求
1.一种存储设备的控制方法,所述存储设备设置于数据处理系统主机,所述存储设备包括闪存FLASH和数据接口,所述数据处理系统主机的控制器通过所述数据接口对所述FLASH进行控制,其特征在于,所述控制方法包括 当接收到数据处理系统主机的数据写入请求时,所述数据处理系统主机的控制器查找所述数据写入请求包含的第一目标逻辑地址对应的第一物理地址,并将所请求的待写数据写入所述第一物理地址对应的FLASH中; 当接收到所述数据处理系统主机的数据读取请求时,所述数据处理系统主机的控制器查找所述数据读取请求包含的第二目标逻辑地址对应的第二物理地址,从所述第二物理地址对应的FLASH中读取所请求的待读数据,并将读取的所述数据返回至所述数据处理系统主机。
2.如权利要求1所述的方法,其特征在于,所述数据处理系统主机包括个人计算机、服务器或存储阵列。
3.如权利要求1或2所述的方法,其特征在于,所述存储设备包括至少两个FLASH插卡,所述FLASH插卡上设有至少一个所述FLASH。
4.如权利要求1-3任意一项所述的方法,其特征在于,在接收到数据处理系统主机的数据写入请求或数据读取请求之前,还包括 建立所述FLASH的物理地址和逻辑地址的映射关系; 采用地址映射表存储所述FLASH的物理地址和逻辑地址的映射关系,以使得所述数据处理系统主机的控制器在接收到数据处理系统主机的数据写入请求或数据读取请求时,从所述地址映射表中查找所述数据写入/读取请求包含的目标逻辑地址对应的物理地址。
5.如权利要求1-4任意一项所述的方法,其特征在于,还包括所述数据处理系统主机的控制器对所述存储设备的FLASH进行调度处理。
6.如权利要求5所述的方法,其特征在于,所述数据处理系统主机的控制器对所述存储设备的FLASH进行调度处理,包括 当任一个FLASH中包含坏块时,所述数据处理系统主机的控制器查找任一个所述FLASH的冗余块; 所述数据处理系统主机的控制器读取所述坏块的数据,将所述数据写入查找到的所述几余块; 所述数据处理系统主机的控制器更新所述地址映射表,将所述坏块的逻辑地址对应所述冗余块的物理地址。
7.如权利要求5所述的方法,其特征在于,所述数据处理系统主机的控制器对所述存储设备的FLASH进行调度处理,还包括 当其中一个所述FLASH插卡损坏时,所述数据处理系统主机的控制器将所述损坏的FLASH插卡的FLASH中的数据备份至所述存储设备的其它FLASH插卡的FLASH ; 当将一个新的FLASH插卡替换所述损坏的FLASH插卡时,所述数据处理系统主机的控制器将所述其它FLASH插卡的FLASH中备份的数据写入所述新的FLASH插卡的FLASH。
8.如权利要求5-7任意一项所述的方法,其特征在于,所述数据处理系统主机的控制器对所述存储设备的FLASH进行调度处理,还包括 当进行数据写入操作时,所述数据处理系统主机的控制器检测待写入的FLASH的块的磨损次数; 当所述待写入的FLASH的块的磨损次数高于任意一个FLASH的块的磨损次数时,所述数据处理系统主机的控制器选择低于所述待写入的FLASH的块的磨损次数的FLASH的块;所述数据处理系统主机的控制器将待写入的数据写入所述选择的FLASH的块; 所述数据处理系统主机的控制器更新所述地址映射表,将所述待写入的FLASH的块的逻辑地址对应所述选择的FLASH的块的物理地址。
9.一种控制器,所述控制器位于数据处理系统主机,所述数据处理系统主机包括存储设备,所述存储设备包括闪存FLASH和数据接口,所述控制器通过所述存储设备的数据接口控制所述FLASH,其特征在于,所述控制器包括 第一查找单元,用于当接收到数据处理系统主机的数据写入请求时,查找所述数据写入请求包含的第一目标逻辑地址对应的第一物理地址; 第一写入单元,用于将所请求的待写数据写入所述第一物理地址对应的FLASH中;所述第一查找单元还用于当接收到所述数据处理系统主机的数据读取请求时,查找所述数据读取请求包含的第二目标逻辑地址对应的第二物理地址; 第一读取单元,用于从所述第二物理地址对应的FLASH中读取所请求的待读数据,并将读取的所述数据返回至所述数据处理系统主机。
10.如权利要求9所述的控制器,其特征在于,所述数据处理系统主机包括个人计算机、服务器或存储阵列。
11.如权利要求9或10所述的控制器,其特征在于,所述存储设备包括至少两个FLASH插卡,所述FLASH插卡上设有至少一个所述FLASH。
12.如权利要求9-11任意一项所述的控制器,其特征在于,还包括 建立单元,用于建立所述FLASH的物理地址和逻辑地址的映射关系; 存储单元,用于采用地址映射表存储所述FLASH的物理地址和逻辑地址的映射关系,以使得所述数据处理系统主机的控制器在接收到数据处理系统主机的数据写入请求或数据读取请求时,从所述地址映射表中查找所述数据写入/读取请求包含的目标逻辑地址对应的物理地址。
13.如权利要求9-12任意一项所述的控制器,其特征在于,还包括 调度处理单元,用于对所述存储设备的FLASH进行调度处理。
14.如权利要求13所述的控制器,其特征在于,所述调度处理单元包括 第二查找单元,用于当任一个FLASH中包含坏块时,查找任一个所述FLASH的冗余块; 第二读取单元,用于读取所述坏块的数据; 第二写入单元,用于将所述数据写入查找到的所述冗余块; 第一更新单元,用于更新所述地址映射表,将所述坏块的逻辑地址对应所述冗余块的物理地址。
15.如权利要求13所述的控制器,其特征在于,所述调度处理单元还包括 备份单元,用于当其中一个所述FLASH插卡损坏时,将所述损坏的FLASH插卡的FLASH中的数据备份至所述存储设备的其它FLASH插卡的FLASH ; 第三写入单元,用于当将一个新的FLASH插卡替换所述损坏的FLASH插卡时,将所述其它FLASH插卡的FLASH中备份的数据写入所述新的FLASH插卡的FLASH。
16.如权利要求13-15任意一项所述的控制器,其特征在于,所述调度处理单元还包括 检测单元,用于当进行数据写入操作时,检测待写入的FLASH的块的磨损次数; 选择单元,用于当所述待写入的FLASH的块的磨损次数高于任意一个FLASH的块的磨损次数时,选择低于所述待写入的FLASH的块的磨损次数的FLASH的块; 第四写入单元,用于将待写入的数据写入所述选择的FLASH的块; 第二更新单元,用于更新所述地址映射表,将所述待写入的FLASH的块的逻辑地址对应所述选择的FLASH的块的物理地址。
17.一种存储系统,其特征在于,所述存储系统包括存储设备和权利要求9-16所述的数据处理系统主机的控制器,所述存储设备设置于所述数据处理系统主机,所述存储设备包括数据接口和闪存FLASH ; 所述FLASH通过所述数据接口与所述数据处理系统主机的控制器相连; 所述数据处理系统主机的控制器执行如下步骤 当接收到数据处理系统主机的数据写入请求时,所述数据处理系统主机的控制器查找所述数据写入请求包含的第一目标逻辑地址对应的第一物理地址,并将所请求的待写数据写入所述第一物理地址对应的FLASH中; 当接收到所述数据处理系统主机的数据读取请求时,所述数据处理系统主机的控制器查找所述数据读取请求包含的第二目标逻辑地址对应的第二物理地址,从所述第二物理地址对应的FLASH中读取所请求的待读数据,并将读取的所述数据返回至所述数据处理系统主机。
18.如权利要求17所述的存储设备,其特征在于,所述数据处理系统主机包括个人计算机、服务器或存储阵列。
19.如权利要求17或18所述的存储系统,其特征在于,所述存储设备包括至少两个FLASH插卡,所述FLASH插卡上设有至少一个所述FLASH。
20.如权利要求17-19任意一项所述的存储系统,其特征在于,所述数据处理系统主机的控制器在执行接收到数据处理系统主机的数据写入请求或数据读取请求的步骤之前,还执行如下步骤 建立所述FLASH的物理地址和逻辑地址的映射关系; 采用地址映射表存储所述FLASH的物理地址和逻辑地址的映射关系,以使得所述数据处理系统主机的控制器在接收到数据处理系统主机的数据写入请求或数据读取请求时,从所述地址映射表中查找所述数据写入/读取请求包含的目标逻辑地址对应的物理地址。
21.如权利要求17-20任意一项所述的存储系统,其特征在于,所述数据处理系统主机的控制器还执行如下步骤 对所述存储设备的FLASH进行调度处理。
22.如权利要求21所述的存储系统,其特征在于,所述数据处理系统主机的控制器执行对所述存储设备的FLASH进行调度处理的步骤包括 当任一个FLASH中包含坏块时,所述数据处理系统主机的控制器查找任一个所述FLASH的冗余块; 所述数据处理系统主机的控制器读取所述坏块的数据,将所述数据写入查找到的所述几余块; 所述数据处理系统主机的控制器更新所述地址映射表,将所述坏块的逻辑地址对应所述冗余块的物理地址。
23.如权利要求21所述的存储系统,其特征在于,所述数据处理系统的控制器执行对所述存储设备的FLASH进行调度处理的步骤还包括 当其中一个所述FLASH插卡损坏时,所述数据处理系统主机的控制器将所述损坏的FLASH插卡的FLASH中的数据备份至所述存储设备的其它FLASH插卡的FLASH ; 当将一个新的FLASH插卡替换所述损坏的FLASH插卡时,所述数据处理系统主机的控制器将所述其它FLASH插卡的FLASH中备份的数据写入所述新的FLASH插卡的FLASH。
24.如权利要求21-23任意一项所述的存储系统,所述数据处理系统主机的控制器执行对所述固态存储设备的FLASH进行调度处理的步骤还包括 当进行数据写入操作时,所述数据处理系统主机的控制器检测待写入的FLASH的块的磨损次数; 当所述待写入的FLASH的块的磨损次数高于任意一个FLASH的块的磨损次数时,所述数据处理系统主机的控制器选择低于所述待写入的FLASH的块的磨损次数的FLASH的块; 所述数据处理系统主机的控制器将待写入的数据写入所述选择的FLASH的块; 所述数据处理系统主机的控制器更新所述地址映射表,将所述待写入的FLASH的块的逻辑地址对应所述选择的FLASH的块的物理地址。
全文摘要
本发明公开了一种存储设备的控制方法及相关装置,该存储设备设置于数据处理系统主机,由数据处理系统主机的控制器直接对存储设备的FLASH进行统一管理,可以实现对存储设备的FLASH进行自上而下的统一管控,有利于实现资源的优化。
文档编号G06F3/06GK103064795SQ20121058602
公开日2013年4月24日 申请日期2012年12月31日 优先权日2012年12月31日
发明者柯乔, 杨朔 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1