CN103064795B - 一种存储设备的控制方法及相关装置 - Google Patents

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

Info

Publication number
CN103064795B
CN103064795B CN201210586024.0A CN201210586024A CN103064795B CN 103064795 B CN103064795 B CN 103064795B CN 201210586024 A CN201210586024 A CN 201210586024A CN 103064795 B CN103064795 B CN 103064795B
Authority
CN
China
Prior art keywords
flash
main frame
handling system
system main
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201210586024.0A
Other languages
English (en)
Other versions
CN103064795A (zh
Inventor
柯乔
杨朔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201210586024.0A priority Critical patent/CN103064795B/zh
Publication of CN103064795A publication Critical patent/CN103064795A/zh
Application granted granted Critical
Publication of CN103064795B publication Critical patent/CN103064795B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)

Abstract

本发明公开了一种存储设备的控制方法及相关装置,该存储设备设置于数据处理系统主机,由数据处理系统主机的控制器直接对存储设备的FLASH进行统一管理,可以实现对存储设备的FLASH进行自上而下的统一管控,有利于实现资源的优化。

Description

一种存储设备的控制方法及相关装置
技术领域
本发明涉及存储技术领域,尤其涉及一种存储设备的控制方法及相关装置。
背景技术
固态存储设备(SolidStateDisk,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进行自上而下的统一管控,有利于实现资源的优化。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种存储设备的控制方法的一个实施例的方法流程图;
图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中读取所请求的待读数据,并将读取的数据返回至数据处理系统主机。
值得说明的是,步骤S101中的第一目标逻辑地址和第一物理地址与步骤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进行读写操作。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

Claims (12)

1.一种存储设备的控制方法,其特征在于,所述存储设备设置于数据处理系统主机,所述存储设备包括闪存FLASH和数据接口,所述数据处理系统主机的控制器通过所述数据接口对所述FLASH进行控制,所述存储设备包括至少两个FLASH插卡,所述FLASH插卡上设有至少一个所述FLASH,所述控制方法包括:
当接收到数据处理系统主机的数据写入请求时,所述数据处理系统主机的控制器查找所述数据写入请求包含的第一目标逻辑地址对应的第一物理地址,并将所请求的待写数据写入所述第一物理地址对应的FLASH中;
当接收到所述数据处理系统主机的数据读取请求时,所述数据处理系统主机的控制器查找所述数据读取请求包含的第二目标逻辑地址对应的第二物理地址,从所述第二物理地址对应的FLASH中读取所请求的待读数据,并将读取的所述数据返回至所述数据处理系统主机;
所述数据处理系统主机的控制器对所述存储设备的FLASH进行调度处理,包括:
当其中一个所述FLASH插卡损坏时,所述数据处理系统主机的控制器将所述损坏的FLASH插卡的FLASH中的数据备份至所述存储设备的其它FLASH插卡的FLASH;
当将一个新的FLASH插卡替换所述损坏的FLASH插卡时,所述数据处理系统主机的控制器将所述其它FLASH插卡的FLASH中备份的数据写入所述新的FLASH插卡的FLASH;
当任一个FLASH中包含坏块时,所述数据处理系统主机的控制器查找任一个所述FLASH的冗余块;
所述数据处理系统主机的控制器读取所述坏块的数据,将所述数据写入查找到的所述冗余块;
所述数据处理系统主机的控制器更新所述地址映射表,将所述坏块的逻辑地址对应所述冗余块的物理地址。
2.如权利要求1所述的方法,其特征在于,所述数据处理系统主机包括:个人计算机、服务器或存储阵列。
3.如权利要求1-2任意一项所述的方法,其特征在于,在接收到数据处理系统主机的数据写入请求或数据读取请求之前,还包括:
建立所述FLASH的物理地址和逻辑地址的映射关系;
采用地址映射表存储所述FLASH的物理地址和逻辑地址的映射关系,以使得所述数据处理系统主机的控制器在接收到数据处理系统主机的数据写入请求或数据读取请求时,从所述地址映射表中查找所述数据写入/读取请求包含的目标逻辑地址对应的物理地址。
4.如权利要求1所述的方法,其特征在于,所述数据处理系统主机的控制器对所述存储设备的FLASH进行调度处理,还包括:
当进行数据写入操作时,所述数据处理系统主机的控制器检测待写入的FLASH的块的磨损次数;
当所述待写入的FLASH的块的磨损次数高于任意一个FLASH的块的磨损次数时,所述数据处理系统主机的控制器选择低于所述待写入的FLASH的块的磨损次数的FLASH的块;
所述数据处理系统主机的控制器将待写入的数据写入所述选择的FLASH的块;
所述数据处理系统主机的控制器更新所述地址映射表,将所述待写入的FLASH的块的逻辑地址对应所述选择的FLASH的块的物理地址。
5.一种控制器,其特征在于,所述控制器位于数据处理系统主机,所述数据处理系统主机包括存储设备,所述存储设备包括闪存FLASH和数据接口,所述控制器通过所述存储设备的数据接口控制所述FLASH,所述存储设备包括至少两个FLASH插卡,所述FLASH插卡上设有至少一个所述FLASH,所述控制器包括:
第一查找单元,用于当接收到数据处理系统主机的数据写入请求时,查找所述数据写入请求包含的第一目标逻辑地址对应的第一物理地址;
第一写入单元,用于将所请求的待写数据写入所述第一物理地址对应的FLASH中;
所述第一查找单元还用于当接收到所述数据处理系统主机的数据读取请求时,查找所述数据读取请求包含的第二目标逻辑地址对应的第二物理地址;
第一读取单元,用于从所述第二物理地址对应的FLASH中读取所请求的待读数据,并将读取的所述数据返回至所述数据处理系统主机;
调度处理单元,用于对所述存储设备的FLASH进行调度处理;
所述调度处理单元包括:
备份单元,用于当其中一个所述FLASH插卡损坏时,将所述损坏的FLASH插卡的FLASH中的数据备份至所述存储设备的其它FLASH插卡的FLASH;
第三写入单元,用于当将一个新的FLASH插卡替换所述损坏的FLASH插卡时,将所述其它FLASH插卡的FLASH中备份的数据写入所述新的FLASH插卡的FLASH;
第二查找单元,用于当任一个FLASH中包含坏块时,查找任一个所述FLASH的冗余块;
第二读取单元,用于读取所述坏块的数据;
第二写入单元,用于将所述数据写入查找到的所述冗余块;
第一更新单元,用于更新所述地址映射表,将所述坏块的逻辑地址对应所述冗余块的物理地址。
6.如权利要求5所述的控制器,其特征在于,所述数据处理系统主机包括:个人计算机、服务器或存储阵列。
7.如权利要求5或6所述的控制器,其特征在于,还包括:
建立单元,用于建立所述FLASH的物理地址和逻辑地址的映射关系;
存储单元,用于采用地址映射表存储所述FLASH的物理地址和逻辑地址的映射关系,以使得所述数据处理系统主机的控制器在接收到数据处理系统主机的数据写入请求或数据读取请求时,从所述地址映射表中查找所述数据写入/读取请求包含的目标逻辑地址对应的物理地址。
8.如权利要求5所述的控制器,其特征在于,所述调度处理单元还包括:
检测单元,用于当进行数据写入操作时,检测待写入的FLASH的块的磨损次数;
选择单元,用于当所述待写入的FLASH的块的磨损次数高于任意一个FLASH的块的磨损次数时,选择低于所述待写入的FLASH的块的磨损次数的FLASH的块;
第四写入单元,用于将待写入的数据写入所述选择的FLASH的块;
第二更新单元,用于更新所述地址映射表,将所述待写入的FLASH的块的逻辑地址对应所述选择的FLASH的块的物理地址。
9.一种存储系统,其特征在于,所述存储系统包括存储设备和权利要求5-8任意一项所述的数据处理系统主机的控制器,所述存储设备设置于所述数据处理系统主机,所述存储设备包括数据接口和闪存FLASH,所述存储设备包括至少两个FLASH插卡,所述FLASH插卡上设有至少一个所述FLASH;
所述FLASH通过所述数据接口与所述数据处理系统主机的控制器相连;
所述数据处理系统主机的控制器执行如下步骤:
当接收到数据处理系统主机的数据写入请求时,所述数据处理系统主机的控制器查找所述数据写入请求包含的第一目标逻辑地址对应的第一物理地址,并将所请求的待写数据写入所述第一物理地址对应的FLASH中;
当接收到所述数据处理系统主机的数据读取请求时,所述数据处理系统主机的控制器查找所述数据读取请求包含的第二目标逻辑地址对应的第二物理地址,从所述第二物理地址对应的FLASH中读取所请求的待读数据,并将读取的所述数据返回至所述数据处理系统主机;
对所述存储设备的FLASH进行调度处理,包括:
当其中一个所述FLASH插卡损坏时,所述数据处理系统主机的控制器将所述损坏的FLASH插卡的FLASH中的数据备份至所述存储设备的其它FLASH插卡的FLASH;
当将一个新的FLASH插卡替换所述损坏的FLASH插卡时,所述数据处理系统主机的控制器将所述其它FLASH插卡的FLASH中备份的数据写入所述新的FLASH插卡的FLASH;
当任一个FLASH中包含坏块时,所述数据处理系统主机的控制器查找任一个所述FLASH的冗余块;
所述数据处理系统主机的控制器读取所述坏块的数据,将所述数据写入查找到的所述冗余块;
所述数据处理系统主机的控制器更新所述地址映射表,将所述坏块的逻辑地址对应所述冗余块的物理地址。
10.如权利要求9所述的存储系统,其特征在于,所述数据处理系统主机包括:个人计算机、服务器或存储阵列。
11.如权利要求9所述的存储系统,其特征在于,所述数据处理系统主机的控制器在执行接收到数据处理系统主机的数据写入请求或数据读取请求的步骤之前,还执行如下步骤:
建立所述FLASH的物理地址和逻辑地址的映射关系;
采用地址映射表存储所述FLASH的物理地址和逻辑地址的映射关系,以使得所述数据处理系统主机的控制器在接收到数据处理系统主机的数据写入请求或数据读取请求时,从所述地址映射表中查找所述数据写入/读取请求包含的目标逻辑地址对应的物理地址。
12.如权利要求9所述的存储系统,所述数据处理系统主机的控制器执行对所述存储设备的FLASH进行调度处理的步骤还包括:
当进行数据写入操作时,所述数据处理系统主机的控制器检测待写入的FLASH的块的磨损次数;
当所述待写入的FLASH的块的磨损次数高于任意一个FLASH的块的磨损次数时,所述数据处理系统主机的控制器选择低于所述待写入的FLASH的块的磨损次数的FLASH的块;
所述数据处理系统主机的控制器将待写入的数据写入所述选择的FLASH的块;
所述数据处理系统主机的控制器更新所述地址映射表,将所述待写入的FLASH的块的逻辑地址对应所述选择的FLASH的块的物理地址。
CN201210586024.0A 2012-12-31 2012-12-31 一种存储设备的控制方法及相关装置 Active CN103064795B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210586024.0A CN103064795B (zh) 2012-12-31 2012-12-31 一种存储设备的控制方法及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210586024.0A CN103064795B (zh) 2012-12-31 2012-12-31 一种存储设备的控制方法及相关装置

Publications (2)

Publication Number Publication Date
CN103064795A CN103064795A (zh) 2013-04-24
CN103064795B true CN103064795B (zh) 2015-12-02

Family

ID=48107427

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210586024.0A Active CN103064795B (zh) 2012-12-31 2012-12-31 一种存储设备的控制方法及相关装置

Country Status (1)

Country Link
CN (1) CN103064795B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103984662B (zh) * 2014-05-29 2017-03-15 华为技术有限公司 一种读、写数据的方法及设备、存储系统
CN105988724B (zh) * 2015-02-12 2019-02-26 华为技术有限公司 多副本写入存储设备的方法及存储设备
CN105630705B (zh) * 2015-06-10 2019-09-17 上海磁宇信息科技有限公司 数据存储装置及使用块替换表的读写方法
CN105824667A (zh) * 2016-03-15 2016-08-03 深圳市硅格半导体股份有限公司 存储设备的管理方法、装置及系统
CN106708433A (zh) * 2016-12-06 2017-05-24 深圳市深信服电子科技有限公司 存储数据的读写方法及装置
KR20180080589A (ko) * 2017-01-04 2018-07-12 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
CN108536389A (zh) * 2017-03-06 2018-09-14 北京兆易创新科技股份有限公司 基于nand闪存的列替换方法、装置和nand存储设备
CN109032965B (zh) * 2017-06-12 2021-01-12 华为技术有限公司 一种数据读取方法、主机及存储设备
US10430117B2 (en) * 2017-10-23 2019-10-01 Micron Technology, Inc. Host accelerated operations in managed NAND devices
CN109344094B (zh) * 2018-09-26 2021-10-29 郑州云海信息技术有限公司 地址映射关系反馈方法、装置、设备及可读存储介质
CN109240943B (zh) * 2018-09-26 2021-10-29 郑州云海信息技术有限公司 地址映射关系反馈方法、装置、设备及可读存储介质
CN109800179B (zh) * 2019-01-31 2021-06-22 维沃移动通信有限公司 获取数据的方法、发送数据的方法、主机和内嵌式存储器

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101281493A (zh) * 2008-05-26 2008-10-08 中兴通讯股份有限公司 与非闪存器及其管理方法
CN102262774A (zh) * 2010-05-29 2011-11-30 英特尔公司 用于图形硬件的非易失性存储

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101281493A (zh) * 2008-05-26 2008-10-08 中兴通讯股份有限公司 与非闪存器及其管理方法
CN102262774A (zh) * 2010-05-29 2011-11-30 英特尔公司 用于图形硬件的非易失性存储

Also Published As

Publication number Publication date
CN103064795A (zh) 2013-04-24

Similar Documents

Publication Publication Date Title
CN103064795B (zh) 一种存储设备的控制方法及相关装置
US9678666B2 (en) Techniques to configure a solid state drive to operate in a storage mode or a memory mode
CN102460405B (zh) 用于通过存储器装置来控制主机存储器存取的方法及系统
CN102843396A (zh) 一种分布式缓存系统中的数据写入及读取方法及装置
CN101504594B (zh) 一种数据存储方法和装置
CN103838521B (zh) 一种数据处理方法及装置
CN105659208A (zh) 处理多个线程的数据处理装置及方法
CN110427284A (zh) 数据处理方法、分布式系统、计算机系统和介质
CN101627372A (zh) 选择性地利用多个异类固态存储位置
CN103955441A (zh) 一种设备管理系统、方法及一种io扩展接口
CN101710252B (zh) 一种存储系统的供电方法和供电装置
CN104246719A (zh) 预先布置数据以提交到非易失性存储器
CN102308274A (zh) 一种访问关机硬盘的方法、网卡和硬盘卡
CN103324582A (zh) 一种内存迁移方法、装置及设备
CN105335309A (zh) 一种数据传输方法及计算机
CN103559124A (zh) 故障快速检测方法及装置
CN104424122A (zh) 一种电子设备及内存划分方法
US9600187B2 (en) Virtual grouping of memory
CN104205780A (zh) 一种存储数据的方法和装置
CN104104705A (zh) 分布式存储系统的接入方法和设备
CN102567225A (zh) 一种管理系统内存的方法及装置
CN102622274A (zh) 计算机装置及其中断任务分配方法
CN104731577A (zh) 多系统和启动所述多系统的方法
CN101178933A (zh) 一种闪存阵列装置
CN104750547A (zh) 虚拟机的输入输出io请求处理方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant