CN106326132B - 存储系统、存储管理装置、存储器、混合存储装置及存储管理方法 - Google Patents
存储系统、存储管理装置、存储器、混合存储装置及存储管理方法 Download PDFInfo
- Publication number
- CN106326132B CN106326132B CN201510369175.4A CN201510369175A CN106326132B CN 106326132 B CN106326132 B CN 106326132B CN 201510369175 A CN201510369175 A CN 201510369175A CN 106326132 B CN106326132 B CN 106326132B
- Authority
- CN
- China
- Prior art keywords
- block
- memory
- logical
- data page
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Abstract
本发明提供一种存储系统、存储管理装置、存储器、混合存储装置及存储管理方法。所述存储系统,包括存储器和管理器;所述存储器包括多个物理块;所述管理器用于接收数据写请求,为待写入数据页确定逻辑块,将所述待写入数据页的逻辑地址记录至所述逻辑块中,并向所述存储器发送数据写指令,所述数据写指令携带所述待写入数据页及所述待写入数据页的逻辑空间信息;所述存储器用于接收所述数据写指令,由所述数据写指令中的所述待写入数据页的逻辑空间信息获取所述逻辑块的信息,根据所述逻辑块的信息确定所述逻辑块对应的物理块,将所述待写入数据页写入所述逻辑块对应的物理块中。使用本发明,可减少存储器的闪存转换层的工作,提升存储器的性能。
Description
技术领域
本发明涉及存储技术领域,特别涉及一种存储系统、存储管理装置、存储器、混合存储装置及存储管理方法。
背景技术
固态存储器(Solid state disk,SSD)具有高性能、低延迟、低功耗、环境适应性强等优点,同时成本也在不断降低,因此目前应用的越来越普遍,一般用作硬盘的缓存,也可以直接用作硬盘。
但由于SSD不能原地写,只能擦除原来的数据以后才能写入新的数据,且数据写入的单位为页(例如4kb),而数据擦除的单位为块(例如1024KB),这与磁盘存储器的工作原理不同,所以需要通过闪存转换层(Flash translation layer,FTL),使文件系统可以像操作磁盘存储器一样操作SSD。
一般FTL需要执行的操作有数据的写入,逻辑地址与物理地址的映射、垃圾回收、负载均衡、还需要进行SSD中的物理块的擦除等操作。如此,在使用一段时间,SSD的性能也由于垃圾回收、块的擦除等操作变差。
发明内容
本发明实施例提供存储器管理装置及方法,通过管理层管理存储器,从而提高存储器的性能。
本发明实施例第一方面提供一种存储系统,包括存储器和管理器;
所述存储器包括多个物理块;
所述管理器用于接收数据写请求,为待写入数据页确定逻辑块,将所述待写入数据页的逻辑地址记录至所述逻辑块中,并向所述存储器发送数据写指令,所述数据写指令携带所述待写入数据页及所述待写入数据页的逻辑空间信息;
所述存储器用于接收所述数据写指令,由所述数据写指令中的所述待写入数据页的逻辑空间信息获取所述逻辑块的信息,根据所述逻辑块的信息确定所述逻辑块对应的物理块,将所述待写入数据页写入所述逻辑块对应的物理块中。
结合第一方面,在第一种可能的实现方式中,所述存储器中还预先配置物理块与逻辑块的对应关系,其中,每个物理块对应一个逻辑块,每个逻辑块对应至少一个物理块;则所述存储器根据所述逻辑块信息查询所述物理块与逻辑块的对应关系确定所述逻辑块对应的物理块。
结合第一方面,在第二种可能的实现方式中,所述存储器中设置每个逻辑块分配标识信息,用于标识所述每个逻辑块是否被分配对应的物理块;
所述存储器根据所述逻辑块的信息确定所述逻辑块对应的物理块具体包括:所述存储器根据所述逻辑块的信息确定所述逻辑块的分配标识信息,根据所述逻辑块的分配标识信息确定所述逻辑块是否被分配对应的物理块,若确定所述逻辑块未被分配对应的物理块,为所述逻辑块分配物理块,并记录所分配的物理块与所述逻辑块的对应关系,其中,每个物理块对应一个逻辑块,每个逻辑块对应至少一个物理块。
结合第一方面、第一种实现方式或者第二种实现方式,在第三种可能的实现方式中,所述待写入数据页的逻辑空间信息为所述逻辑块信息。。
结合第一方面、第一种实现方式或者第二种实现方式,在第四种可能的实现方式中,所述待写入数据页的逻辑空间信息为所述待写入数据页的逻辑地址,所述存储器中记录存储器的逻辑块信息,所述存储器在接收到所述数据写指令,根据所述待写入数据页的逻辑地址及所述存储器的逻辑块信息,确定所述逻辑块的信息。
结合第一方面的第四种可能的实现方式,在第五种可能的实现方式中,所述管理器还用于根据每个逻辑块对应的数据页,确定待擦除的逻辑块,向所述存储器发送擦除指令,所述擦除指令携带所述待擦除的逻辑块的信息;
所述存储器还用于接收所述擦除指令,根据所述擦除指令中的所述待擦除的逻辑块的信息和所述物理块与逻辑块的对应关系,确定待擦除的物理块,以及擦除所述待擦除的物理块。
结合第一方面的第五种可能的实现方式,在第六种可能的实现方式中,在确定待擦除的物理块后,所述存储器为所述待擦除的逻辑块重新分配物理块,并更新所述待擦除的逻辑块的分配标识信息,之后再擦除所述待擦除的物理块。
结合第一方面的第五种或者第六种可能的实现方式,在第七种可能的实现方式中,所述管理器还用于在确定需要对已存储的数据页进行更新时,将所述已存储的数据页对应的逻辑块中记录的所述已存储的数据页的逻辑地址置为无效;
所述管理器用于根据每个逻辑块对应的数据页,确定待擦除的逻辑块具体包括:选择无效逻辑地址数量多的逻辑块作为所述待擦除的逻辑块。
结合第一方面的第七种可能的实现方式,在第八种可能的实现方式中,所述管理器在向所述存储器发送所述擦除指令之前,所述管理器还用于对所述待擦除的逻辑块中的有效的逻辑地址进行迁移,并确定所述有效的逻辑地址对应的数据页为待迁移的数据页,并向所述存储器发送数据迁移指令,所述数据迁移指令携带所述待迁移的数据页的信息;
所述存储器还用于根据所述数据迁移指令将所述存储器中所述待迁移的数据页进行迁移。
第二方面,提供一种存储管理装置,应用于包括存储器的存储系统,所述存储器包括多个物理块,所述存储管理装置包括:
逻辑块管理模块,用于接收数据写请求,为待写入数据页确定逻辑块,将所述待写入数据页的逻辑地址记录至所述逻辑块中;
写入指示模块,用于根据所述逻辑块管理模块为所述待写入数据页确定的逻辑块,向所述存储器发送数据写指令,其中,所述数据写指令携带所述待写入数据页及所述待写入数据页的逻辑空间信息;所述数据写指令用于指示所述存储器根据所述数据写指令将所述逻辑块对应的待写入数据页写入所述逻辑块对应的物理块中。
结合第二方面,在第一种可能的实现方式中,所述待写入数据页的逻辑空间信息为所述逻辑块信息。
结合第二方面,在第二种可能的实现方式中,所述待写入数据页的逻辑空间信息为所述待写入数据页的逻辑地址,所述存储器中记录存储器的逻辑块信息,所述存储器在接收到所述数据写指令,根据所述待写入数据页的逻辑地址及所述存储器的逻辑块信息,确定所述逻辑块的信息。
结合第二方面、第二方面的第一种实现方式或者第二种实现方式,所述存储管理装置还包括擦除指令模块,用于根据每个逻辑块对应的数据页,确定待擦除的逻辑块,向所述存储器发送擦除指令,所述擦除指令携带所述待擦除的逻辑块的信息,所述擦除指令用于指示所述存储器根据所述擦除指令中的所述待擦除的逻辑块的信息和所述存储器中设置的物理块与逻辑块的对应关系,确定待擦除的物理块,以及擦除所述待擦除的物理块。
结合第二方面的第三种可能的实现方式,在第四种可能的实现方式中,所述逻辑块管理模块还用于在确定需要对已存储的数据页进行更新时,将所述已存储的数据页对应的逻辑块中记录的所述已存储的数据页的逻辑地址置为无效;
所述擦除指令模块用于确定待擦除的逻辑块具体包括:选择无效逻辑地址数量多的逻辑块作为所述待擦除的逻辑块。
结合第二方面的第四种可能的实现方式,在第五种可能的实现方式中,所述存储管理装置还包括迁移指令模块,在所述擦除指令模块在向所述存储器发送所述擦除指令之前,所述迁移指令模块用于对逻辑块中有效的逻辑地址进行迁移,确定所述有效的逻辑地址对应的数据页为待迁移的数据页,并向所述存储器发送数据迁移指令,所述数据迁移指令携带所述待迁移的数据页的信息,所述数据迁移指令用于指示所述存储器将所述存储器中所述待迁移的数据页进行迁移。
第三方面,提供一种存储器,包括:
接收模块,用于接收数据写指令,所述数据写指令携带待写入数据页及所述待写入数据页的逻辑空间信息,所述数据写指令是由管理器在接收到数据写请求,为所述待写入数据页确定逻辑块,并将所述待写入数据页的逻辑地址记录至所述逻辑块之后发送的;
写入模块,用于根据所述数据写指令中的所述待写入数据页的逻辑空间信息获取逻辑块信息,根据所述逻辑块信息确定所述逻辑块对应的物理块,将所述待写入数据页写入所述逻辑块对应的物理块中。
结合第三方面,在第一种可能的实现方式中,所述存储器中还预先配置物理块与逻辑块的对应关系,其中,所述每个物理块对应一个逻辑块,每个逻辑块对应至少一个物理块;则所述存储器根据所述逻辑块信息查询所述物理块与逻辑块的对应关系确定所述逻辑块对应的物理块。
结合第三方面,在第二种可能的实现方式中,所述存储器中设置每个逻辑块的分配标识信息,用于标识所述逻辑块是否被分配对应的物理块;
所述存储器根据所述逻辑块的信息确定所述逻辑块对应的物理块具体包括:所述存储器根据所述逻辑块的信息确定所述逻辑块的分配标识信息,根据所述逻辑块的分配标识信息确定所述逻辑块是否被分配对应的物理块,若确定所述逻辑块未被分配对应的物理块,为所述逻辑块分配物理块,并记录所分配的物理块与所述逻辑块的对应关系,其中,每个物理块对应一个逻辑块,每个逻辑块对应至少一个物理块。
结合第三方面、第三方面的第一种可能实现方式或第二种可能的实现方式,在第三种可能的实现方式中,所述待写入数据页的逻辑空间信息为所述逻辑块信息。
结合第三方面、第三方面的第一种可能实现方式或第二种可能的实现方式,在第四种可能的实现方式中,所述待写入数据页的逻辑空间信息为所述待写入数据页的逻辑地址,所述存储器中记录存储器的逻辑块信息,所述存储器在接收到所述数据写指令,根据所述待写入数据页的逻辑地址及所述存储器的逻辑块信息,确定所述逻辑块的信息。
结合第三方面的第四种可能的实现,在第五种可能的实现方式中,所述接收模块还用于接收所述管理器发送的擦除指令,所述擦除指令为所述管理器确定待擦除的逻辑块后发送的,所述擦除指令携带所述待擦除的逻辑块的信息;
所述存储器还包括擦除模块,用于根据所述擦除指令中的所述待擦除的逻辑块的信息和所述物理块与逻辑块的对应关系,确定待擦除的物理块,以及擦除所述待擦除的物理块。
结合第三方面的第五种可能的实现,在第六种可能的实现方式中,在确定待擦除的物理块后,所述存储器为所述待擦除的逻辑块重新分配物理块,并更新所述待擦除的逻辑块的分配标识信息,之后,再擦除所述待擦除的物理块。
结合第三方面的第五种或者第六种可能的实现,在第七种可能的实现方式中,所述接收模块还用于接收管理器发送的数据迁移指令,所述数据迁移指令为所述管理器确定所述待擦除的逻辑块中待迁移的数据页后发送的,所述待迁移的数据页为所述待擦除的逻辑块中的有效逻辑地址对应的数据页,所述数据迁移指令携带所述待迁移的数据页的信息;
所述存储器还包括迁移模块,用于根据所述数据迁移指令将所述存储器中所述待迁移的数据页进行迁移。
第四方面,提供一种混合存储装置,包括硬盘、如第二方面的任意一种实现方式中的管理器,以及第三方面的任意一种实现方式所述的存储器,所述存储器作为所述磁盘存储器的缓存。
第五方面,提供一种存储管理方法,应用于包括存储器的存储系统,所述存储器包括多个物理块,所述方法包括:
接收数据写请求,为待写入数据页确定逻辑块;
将所述待写入数据页的逻辑地址记录至所述逻辑块中;
向所述存储器发送数据写指令,其中,所述数据写指令携带所述待写入数据页及所述待写入数据页的逻辑空间信息;所述数据写指令用于指示所述存储器根据所述数据写指令将所述逻辑块对应的待写入数据页写入所述逻辑块对应的物理块中。
结合第五方面,在第一种可能的实现方式中,所述待写入数据页的逻辑空间信息为所述逻辑块信息。
结合第五方面,在第二种可能的实现方式中,所述待写入数据页的逻辑空间信息为所述待写入数据页的逻辑地址,所述存储器中记录存储器的逻辑块信息,所述存储器在接收到所述数据写指令,根据所述待写入数据页的逻辑地址及所述存储器的逻辑块信息,确定所述逻辑块的信息。
结合第五方面的第一种或者第二种可能的实现方式中,在第三种可能的实现方式中,根据每个逻辑块对应的数据页,确定待擦除的逻辑块;
向所述存储器发送擦除指令,所述擦除指令携带所述待擦除的逻辑块的信息,所述擦除指令用于指示所述存储器根据所述擦除指令中的所述待擦除的逻辑块的信息和所述存储器中设置的物理块与逻辑块的对应关系,确定待擦除的物理块,以及擦除所述待擦除的物理块。
结合第五方面的第三种可能的实现方式,在第四种可能的实现方式中,所述方法还包在确定需要对已存储的数据页进行更新时,将所述已存储的数据页对应的逻辑块中记录的所述已存储的数据页的逻辑地址置为无效;
选择无效逻辑地址数量多的逻辑块作为所述待擦除的逻辑块。
结合第五方面的第四种可能的实现方式,在第五种可能的实现方式中,在所述向所述存储器发送所述擦除指令之前,对逻辑块中有效的逻辑地址进行迁移,确定所述有效的逻辑地址对应的数据页为待迁移的数据页;
向所述存储器发送数据迁移指令,所述数据迁移指令携带所述待迁移的数据页的信息,所述数据迁移指令用于指示所述存储器将所述存储器中所述待迁移的数据页进行迁移。
第六方面,提供一种存储管理方法,应用于存储器;包括:
接收数据写指令,所述数据写指令携带待写入数据页及所述待写入数据页的逻辑空间信息,所述数据写指令是由管理器在接收到数据写请求,为所述待写入数据页确定逻辑块,并将所述待写入数据页的逻辑地址记录至所述逻辑块之后发送的;
根据所述数据写指令中的所述待写入数据页的逻辑空间信息获取逻辑块信息,根据所述逻辑块信息确定所述逻辑块对应的物理块,将所述待写入数据页写入所述逻辑块对应的物理块中。
结合第六方面,在第一种可能的实现方式中,所述存储器中还预先配置物理块与逻辑块的对应关系,其中,所述每个物理块对应一个逻辑块,每个逻辑块对应至少一个物理块;则所述根据所述逻辑块信息确定所述逻辑块对应的物理块具体为:根据所述逻辑块信息查询所述物理块与逻辑块的对应关系确定所述逻辑块对应的物理块。
结合第六方面,在第二种可能的实现方式中,所述存储器中设置所述逻辑块的分配标识信息,用于标识所述逻辑块是否被分配物理块;
所述根据所述逻辑块信息确定所述逻辑块对应的物理块具体为:
根据所述逻辑块的信息确定所述逻辑块的分配标识信息;
根据所述逻辑块的分配标识信息确定所述逻辑块是否被分配对应的物理块;
若确定所述逻辑块未被分配对应的物理块,为所述逻辑块分配物理块,并记录所分配的物理块与所述逻辑块的对应关系,其中,每个物理块对应一个逻辑块,每个逻辑块对应至少一个物理块。
结合第六方面、第六方面的第一种可能的实现方式或者第二种可能的实现方式,在第三种可能的实现方式中,所述待写入数据页的逻辑空间信息为所述逻辑块信息。
结合第六方面、第六方面的第一种可能的实现方式或者第二种可能的实现方式,在第四种可能的实现方式中,还包括:
所述待写入数据页的逻辑空间信息为所述待写入数据页的逻辑地址,所述存储器中记录存储器的逻辑块信息,所述存储器在接收到所述数据写指令,根据所述待写入数据页的逻辑地址及所述存储器的逻辑块信息,确定所述逻辑块的信息。
结合第六方面的第一种或者第二种可能的实现方式,在第五种可能的实现方式中,所述方法还包括:
接收擦除指令,所述擦除指令为所述管理器确定待擦除的逻辑块后发送的,所述擦除指令携带所述待擦除的逻辑块的信息;
根据所述擦除指令中的所述待擦除的逻辑块的信息和所述物理块与逻辑块的对应关系,确定待擦除的物理块,以及擦除所述待擦除的物理块。
结合第六方面的第四种或者第五种可能的实现方式,在第六种可能的实现方式中,还包括接收数据迁移指令,所述数据迁移指令为管理器确定所述待擦除的逻辑块中待迁移的数据页后发送的,所述待迁移的数据页为所述待擦除的逻辑块中的有效逻辑地址所对应的数据页,所述数据迁移指令携带所述待迁移的数据页的信息;
根据所述数据迁移指令将所述存储器中所述待迁移的数据页进行迁移。
第七方面,提供一种存储管理器,包括:处理器、存储器、总线和通信接口;
所述存储器用于存储计算机执行指令,所述处理器与所述存储器通过所述总线连接,当所述计算设备运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述存储管理器如下方法:
接收数据写请求,为待写入数据页确定逻辑块;
将所述待写入数据页的逻辑地址记录至所述逻辑块中;
向所述存储器发送数据写指令,其中,所述数据写指令携带所述待写入数据页及所述待写入数据页的逻辑空间信息;所述数据写指令用于指示所述存储器根据所述数据写指令将所述逻辑块对应的待写入数据页写入所述逻辑块对应的物理块中。
第八方面,提供一种存储管理器,包括:处理器、存储器、总线和通信接口;
所述存储器用于存储计算机执行指令,所述处理器与所述存储器通过所述总线连接,当所述计算设备运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述存储管理器执行如下方法:
接收数据写指令,所述数据写指令携带待写入数据页及所述待写入数据页的逻辑空间信息,所述数据写指令是由管理器在接收到数据写请求,为所述待写入数据页确定逻辑块,并将所述待写入数据页的逻辑地址记录至所述逻辑块之后发送的;
根据所述数据写指令中的所述待写入数据页的逻辑空间信息获取逻辑块信息,根据所述逻辑块信息确定所述逻辑块对应的物理块,将所述待写入数据页写入所述逻辑块对应的物理块中。
在第九方面,提供一种计算机可读介质,包括计算机执行指令,当计算机的处理器执行所述计算机执行指令时,所述计算机执行如下方法:
接收数据写请求,为待写入数据页确定逻辑块;
将所述待写入数据页的逻辑地址记录至所述逻辑块中;
向所述存储器发送数据写指令,其中,所述数据写指令携带所述待写入数据页及所述待写入数据页的逻辑空间信息;所述数据写指令用于指示所述存储器根据所述数据写指令将所述逻辑块对应的待写入数据页写入所述逻辑块对应的物理块中。
在第十方面,提供一种计算机可读介质,包括计算机执行指令,当计算机的处理器执行所述计算机执行指令时,所述计算机执行如下方法:
接收数据写指令,所述数据写指令携带待写入数据页及所述待写入数据页的逻辑空间信息,所述数据写指令是由管理器在接收到数据写请求,为所述待写入数据页确定逻辑块,并将所述待写入数据页的逻辑地址记录至所述逻辑块之后发送的;
根据所述数据写指令中的所述待写入数据页的逻辑空间信息获取逻辑块信息,根据所述逻辑块信息确定所述逻辑块对应的物理块,将所述待写入数据页写入所述逻辑块对应的物理块中。
本发明通过对SSD划为逻辑块,并在逻辑块中记录存储在SSD中的数据页的逻辑地址,建立逻辑块与SSD中的物理块的对应关系,从而管理层可以通过对逻辑块中记录的数据页的逻辑地址对SSD中存储的数据页进行管理,从而减少了FTL所执行的操作,提升了SSD的性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中SSD作为HDD的缓存使用的系统的架构图。
图2为现有技术中SSD进行数据更新时数据地址变化的示意图。
图3为本发明实施例提供的存储系统的架构图。
图4为图3所示的实施例中逻辑块与物理块的对应关系的示意图。
图5为在图3所示的实施例中在对已存储的数据进行更新时,逻辑块中的逻辑地址变化的示意图。
图6为在图3所示的实施例中在擦除物理块之前,对待擦除物理块中的数据进行迁移的示意图。
图7为本发明实施例中提供的存储管理装置的方块图。
图8为本发明实施例中提供的SSD的结构图。
图9为本发明实施例提供的混合存储装置的结构图。
图10本发明实施例中管理器将数据写入SSD的方法的流程图。
图11为本发明实施例中管理器控制SSD进行数据擦除的方法的流程图。
图12为本发明实施例中的计算机的结构组成示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例中的存储器为包括多个物理块,擦除原来的数据才能写入新的数据,且以页为单位写入数据,而以物理块为单位擦除数据,这种存储器的代表为SSD存储器,下面的实施例中即以SSD为例进行说明。
如图1,为现有技术中SSD作为HDD的缓存使用的系统的架构图。一般将经常访问的数据存储在SSD101中,并通过管理器103对SSD101和HDD102进行统一管理。所述管理器103通过映射表记录着哪些HDD102数据缓存在SSD101中。当一个请求到达时,所述管理器103查找映射表,判断所请求的数据是否存储在SSD101上。如果数据存储在SSD101上,则从SSD101中读取数据;如果数据不在SSD101上,则从HDD102中读取数据。如果SSD101中的数据写满,则进行数据擦除,将不常用的数据替换出去。
对于图1所示的架构,当所述SSD101与所述HDD102作为混合硬盘使用时,所述管理器103可以为所述混合硬盘的控制器,当所述SSD101与所述HDD102分别作为独立的设备接入计算机时,所述管理器101可以装载在所述计算机的操作系统中或者作为独立的模块装载在所述计算机中。上述图1中SSD作为HDD的缓存使用,在其他的应用场景中,SSD也可以独立作为存储设备。本发明可以运用于如图1所示的架构中,也可以运用于SSD其它的应用场景中。
所述SSD一般为与非(not and,NAND)闪存,可以包括多个物理块(如1024个),每个物理块包括多个物理页(如64个)。其中物理页是读、写数据的基本单元,而物理块是SSD进行数据擦除的基本单元。
所述SSD包括闪存转换层(Flash translation layer,FTL),所述FTL可以用来记录数据的逻辑地址(Logical Block Address,LBA)与SSD中的物理地址(Physical BlockAddress,PBA)的对应关系,根据逻辑地址与物理地址的对应关系执行数据的读或者写操作。
另外,当需要对SSD上的数据进行更新时,所述FTL还可以把更新后的“新数据”写入到SSD10的空闲物理页并更新数据的LBA和SSD中的PBA的对应关系,并把包含“旧数据”的物理页标记为无效页。如图2所示,若所述数据更新请求为对page 0中的数据进行更新,则FTL将更新后的page0的数据写入到物理地址为n+2的物理页中,而将Page 0的所在的物理地址为n的物理页标识为无效。
在SSD写满之后,需要进行物理块的替换,FTL选择无效页数量比较多的物理块进行擦除以释放空间存储新的数据。但由于SSD所擦除的物理块中可能包括大量的有效的数据页,这就需要把这些有效页的数据页迁移到另外的空闲位置后,再对需要擦除的物理块中的数据进行擦除,这个过程即为垃圾回收。
此外,FTL还要执行负载均衡等操作。
本发明实施例所提供的技术方案旨在减少FTL所执行的操作。本发明实施例所提供的技术方案为通过对SSD划为逻辑块,并在逻辑块中记录存储在SSD中的数据页的逻辑地址,建立逻辑块与SSD中的物理块的对应关系,从而管理层可以通过对逻辑块及逻辑块中记录的数据页的逻辑地址对SSD中的物理块及物理块中存储的数据页进行管理,减少了FTL所执行的操作,从而提升了SSD的性能。
下面即通过本发明的不同的实施例对技术方案做详细的描述。
如图3所示,为本发明一实施例提供的存储系统30的架构图。所述存储系统30包括管理器301及SSD302。所述SSD302包括多个物理块303。所述管理器301接收数据写请求,为待写入数据页确定逻辑块,将所述待写入数据页的逻辑地址记录至所述逻辑块中,并向所述SSD302发送数据写指令,所述数据写指令携带所述待写入数据页及所述待写入数据页的逻辑空间信息,所述逻辑空间信息可以为所述逻辑块信息或者所述待写入数据页的逻辑地址。
所述SSD302用于接收所述数据写指令,由所述数据写指令中的所述待写入数据页的逻辑空间信息获取逻辑块信息,根据所述逻辑块信息确定所述逻辑块对应的物理块303,将所述待写入数据页写入所述逻辑块对应的物理块303中。
所述管理器301所接收的所述数据写请求用于向所述SSD302写入数据,向所述SSD302写入的数据可以为第一次被写入所述存储系统30的数据,也可以为对已存储在SSD302上的数据进行更新的数据,也可以为从硬盘(图未示)中调入所述SSD302的数据。
在所述SSD302预先配置了物理块303与逻辑块的对应关系,如图4所示,所述每个物理块303对应一个逻辑块,每个逻辑块对应至少一个物理块303。如此,在所述SSD302在接收到所述数据写指令后,可以根据所述数据写指令中的所述逻辑块的信息查询所述物理块与逻辑块的对应关系,确定所述逻辑块对应的物理块303,将所述逻辑块对应的待写入数据页写入所述逻辑块对应的物理块303中。通过上面的方式,可以使逻辑块与物理块关联起来,且通过逻辑块中记录的数据页的逻辑地址将物理块303中记录的数据页与逻辑块关联起来,即可以通过对逻辑块的管理实现对SSD302中的物理块303的管理。
在另一种实现方式中,所述逻辑块与物理块303之间的对应关系不是预先设置好的,而是动态分配的,具体为:所述存储器中设置所述逻辑块的分配标识信息,用于标识所述逻辑块是否被分配物理块303;所述存储器根据所述逻辑块信息确定所述逻辑块对应的物理块303具体为:所述存储器根据所述逻辑块信息确定所述逻辑块的分配标识信息,根据所述分配标识信息确定所述逻辑块是否被分配物理块303,若确定所述逻辑块未被分配物理块303,则为所述逻辑块分配物理块303,并记录所分配的物理块303与逻辑块的对应关系,确定所分配的物理块303为所述逻辑块对应的物理块303。
进一步地,在本实施例中,在确定需要对已存储的数据页进行更新时,将所述已存储的数据页对应的逻辑块中所记录的所述已存储的数据页的逻辑地址置为无效。如图5所示,若记录在逻辑块A中的数据页Page0、page3、page4及page 5被更新,则记录在逻辑块A中的数据页Page0、page3、page4及page 5的逻辑地址LA0、LA3、LA4、LA5被设置为无效。
进一步地,本实施例可通过管理器301控制SSD302中物理块303的擦除,具体为:所述管理器301确定待擦除的逻辑块,向所述SSD302发送擦除指令,所述擦除指令携带所述待擦除的逻辑块的信息。
所述SSD302接收所述擦除指令,根据所述擦除指令中的所述待擦除的逻辑块的信息和所述物理块303与逻辑块的对应关系,确定待擦除的物理块303,以及擦除所述待擦除的物理块303。
本实施例中,所述管理器301选择无效逻辑地址数量多的逻辑块作为所述待擦除的逻辑块。
在确定待擦除的物理块303后,所述SSD302为所述待擦除的逻辑块重新分配物理块,并更新所述待擦除的逻辑块的分配标识信息,之后再擦除所述待擦除的物理块303。这样待擦除的逻辑块可以立即被重新使用,而不需要等到物理块擦除完之后再使用,从而提高了系统的性能。
进一步地,在本实施例中,所述管理器301在向所述SSD302发送所述擦除指令之前,还迁移所述待擦除的物理块303中的有效的逻辑地址,并确定所述有效的逻辑地址对应的数据页为待迁移的数据页,并向所述SSD302发送数据迁移指令,所述数据迁移指令携带所述待迁移的数据页的信息。
所述SSD302根据所述数据迁移指令将所述SSD302中所述待迁移的数据页进行迁移。
在进行数据迁移时,所述数据迁移指令携带的所述待迁移的数据页的信息为待迁移的数据页的逻辑地址,所述SSD302在接收到所述数据迁移指令后,根据所述数据迁移指令中的所述待迁移的数据页的逻辑地址在所述待擦除的物理块中找到待迁移的数据页,然后对待迁移的数据页进行迁移。
如图7所示,若逻辑块A因为无效的逻辑页的数量比较多而被选择为待擦除的逻辑块,但在逻辑块A中还存在有效的逻辑地址LA16及LA17,则将所述有效的逻辑地址LA16及LA17迁移到逻辑块B中。
所述SSD302接收到所述数据迁移指令后,则根据逻辑地址LA16及LA17在待擦除的逻辑块A对应的待擦除的物理块B中找到待迁移的数据页page16及page17,然后将待迁移的数据页page16及page17迁移到逻辑块B所对应的物理块C中。在数据迁移完后,所述SSD302即可对待擦除的物理块A及物理块B进行擦除。
如图7所示,为本发明一实施例中提供的存储管理装置的方块图。所述存储管理装置70应用于存储系统,所述存储系统包括SSD,所述SSD包括多个物理块。所述第一存储管理装置70包括逻辑块管理模块702、写入指示模块703、擦除指示模块704及迁移指示模块705。
所述逻辑块管理模块702用于接收数据写请求,为待写入数据页确定逻辑块,将所述待写入数据页的逻辑地址记录至所述逻辑块中。
所述写入指示模块703用于根据所述逻辑块管理模块702为所述待写入数据页确定的逻辑块,向所述SSD发送数据写指令,其中,所述数据写指令携带所述待写入数据页及所述待写入数据页的逻辑空间信息;所述数据写指令用于指示所述SSD根据所述数据写指令将所述逻辑块对应的待写入数据页写入所述逻辑块对应的物理块中。
所述待写入数据页的逻辑空间信息为所述逻辑块信息或者所述待写入数据页的逻辑地址。
所述数据写指令进一步指示所述SSD根据所述数据写指令中的所述至少一个指定的逻辑块的信息查询所述SSD中设置的物理块与逻辑块的对应关系,确定所述至少一个指定的逻辑块对应的物理块,将所述至少一个指定的逻辑块对应的待写入数据页写入所述至少一个指定的逻辑块对应的物理块中。
所述擦除指示模块704用于确定待擦除的逻辑块,向所述SSD发送擦除指令,所述擦除指令携带所述待擦除的逻辑块的信息,所述擦除指令用于指示所述SSD根据所述擦除指令中的所述待擦除的逻辑块的信息和所述SSD中设置的物理块与逻辑块的对应关系,确定待擦除的物理块,以及擦除所述待擦除的物理块。
进一步地,所述逻辑块管理模块702在确定需要对已存储的数据页进行更新时,将所述已存储的数据页对应的逻辑块中所记录的所述已存储的数据页的逻辑地址置为无效;
所述擦除指示模块704选择无效逻辑地址数量多的逻辑块作为所述待擦除的逻辑块。
在所述擦除指示模块704在向所述SSD发送所述擦除指令之前,所述迁移指示模块705用于将所述待擦除的逻辑块中的有效的逻辑地址进行迁移,确定有效的逻辑地址对应的数据页为待迁移的数据页,并向所述SSD发送数据迁移指令,所述数据迁移指令携带所述待迁移的数据页的信息,所述数据迁移指令用于指示所述SSD将所述SSD中所述待迁移的数据页进行迁移。
如图8所示,为本发明一实施例提供的SSD的方块图。所述SSD80可以应用于一存储系统,所述存储系统包括管理器。所述SSD80包括接收模块802、写入模块803、擦除模块804、及迁移模块805。
所述接收模块802用于接收数据写指令,所述数据写指令携带待写入数据页及所述待写入数据页的逻辑空间信息,所述数据写指令是由管理器在接收到数据写请求,为所述待写入数据页确定逻辑块,并将所述待写入数据页的逻辑地址记录至所述逻辑块之后发送的;
所述写入模块803用于根据所述数据写指令中的所述待写入数据页的逻辑空间信息获取逻辑块信息,根据所述逻辑块信息确定所述逻辑块对应的物理块,将所述待写入数据页写入所述逻辑块对应的物理块中。
所述接收模块802还用于接收所述管理器发送的擦除指令,所述擦除指令为所述管理器确定待擦除的逻辑块后发送的,所述擦除指令携带所述待擦除的逻辑块的信息。
所述擦除模块804用于根据所述擦除指令中的所述待擦除的逻辑块的信息和所述物理块与逻辑块的对应关系,确定待擦除的物理块,以及擦除所述待擦除的物理块。
所述接收模块802还用于接收所述管理器发送的数据迁移指令,所述数据迁移指令为所述管理器确定所述待擦除的逻辑块中待迁移的数据页后发送的,所述待迁移的数据页为所述待擦除的逻辑块中有效的逻辑地址,所述数据迁移指令携带所述待迁移的数据页的信息。
所述迁移模块805用于根据所述数据迁移指令将所述SSD中所述待迁移的数据页进行迁移。
如图9所示,为本发明一实施例提供的一种混合存储装置90的结构图。所述混合存储装置90包括包括管理器901、SSD902、及HDD903,所述SSD902作为所述HDD的缓存,所述SSD902包括多个物理块904。
所述管理器901所执行的功能与所述存储系统30的管理器301所执行的功能相同,所述SSD902所执行的功能与所述存储系统30的SSD302所执行的功能相同,在此不再赘述。
本发明一实施例还提供一种存储管理方法,所述存储管理方法可以应用于存储管理系统,所述存储管理系统包括管理器及SSD,所述SSD包括多个物理块。所述存储管理方法包括三部分,第一部分为管理器将数据写入SSD的方法,第三部分所述管理器控制所述SSD进行数据擦除的方法。
如图10所示,为管理器将数据写入SSD的方法的流程图。
步骤S1001,所述管理器接收数据写请求,为待写入数据页确定逻辑块。
步骤S1002,所述管理器将所述待写入数据页的逻辑地址记录至所述逻辑块中。
步骤S1003,所述管理器向所述SSD发送数据写指令,所述数据写指令携带所述待写入数据页及所述待写入数据页的逻辑空间信息。
步骤S1004,所述SSD接收所述数据写指令,根据所述数据写指令中的所述待写入数据页的逻辑空间信息获取逻辑块信息,根据所述逻辑块信息确定所述逻辑块对应的物理块;
步骤S1005,所述SSD将所述待写入数据页写入所述逻辑块对应的物理块中。
在上述方法中,所述SSD中还预先配置物理块与逻辑块的对应关系,其中,所述每个物理块对应一个逻辑块,每个逻辑块对应至少一个物理块,则步骤S1004中根据所述逻辑块信息确定所述逻辑块对应的物理块具体为:根据所述逻辑块信息查询所述物理块与逻辑块的对应关系确定所述逻辑块对应的物理块。
可替换地,所述SSD中设置所述逻辑块的分配标识信息,用于标识所述逻辑块是否被分配物理块,则则步骤S1004中根据所述逻辑块信息确定所述逻辑块对应的物理块具体为:
根据所述逻辑块信息确定所述逻辑块的分配标识信息;
根据所述分配标识信息确定所述逻辑块是否被分配物理块;若确定所述逻辑块未被分配物理块,为所述逻辑块分配物理块,并记录所分配的物理块与逻辑块的对应关系;
确定所分配的物理块为所述逻辑块对应的物理块。
如图11所示,为所述管理器控制所述SSD进行数据擦除的方法的流程图。
步骤S1101,所述管理器确定待擦除的逻辑块。
步骤S1102,所述管理器迁移所述待擦除的逻辑块中的有效的逻辑地址,并确定所述有效的逻辑地址对应的数据页为待迁移的数据页。
步骤1103,所述管理器向所述SSD发送数据迁移指令,所述数据迁移指令携带所述待迁移的数据页的信息。
步骤1104,所述SSD接收所述数据迁移指令,根据所述数据迁移指令中的所述待迁移的数据页的信息将所述SSD中所述待迁移的数据页进行迁移。
步骤1105,所述管理器向所述SSD发送擦除指令,所述擦除指令携带所述待擦除的逻辑块的信息。
步骤1106,所述SSD接收所述擦除指令,根据所述擦除指令中的所述待擦除的逻辑块的信息和所述物理块与逻辑块的对应关系,确定待擦除的物理块,以及擦除所述待擦除的物理块。
在上述方法中,在确定待擦除的物理块后,还包括为所述待擦除的逻辑块重新分配物理块,并更新所述待擦除的逻辑块的分配标识信息,之后,再删除所述待擦除的物理块
所述管理器可以根据所述逻辑块中无效的逻辑地址的数量确定待擦除的逻辑块,其中,所述待擦除的逻辑块中包含的无效的逻辑地址的数量大于预设值。
如图12所示,为本发明实施例提供的存储管理器的结构组成示意图。本发明实施例的存储管理器可包括:
处理器1701、存储器1702、系统总线1704和通信接口1705。CPU1701、存储器1702和通信接口1705之间通过系统总线1704连接并完成相互间的通信。
处理器1701可能为单核或多核中央处理单元,或者为特定集成电路,或者为被配置成实施本发明实施例的一个或多个集成电路。
存储器1702可以为高速RAM存储器,也可以为非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。
存储器1702用于计算机执行指令1703。具体的,计算机执行指令1703中可以包括程序代码。
当存储管理器运行时,处理器1701运行计算机执行指令1703,可以执行图10或者图11所述的方法流程。
本发明实施例还提供一种计算机可读介质,包括计算机执行指令,当计算机的处理器执行所述计算机执行指令时,所述计算机执行图10或者图11所述的方法。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来请求相关的硬件来完成,所述程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
以上对本发明实施例所提供的数据配置及其回退方法和设备,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (40)
1.一种存储系统,包括存储器和管理器;
所述存储器包括多个物理块;
所述管理器用于接收数据写请求,为待写入数据页确定逻辑块,将所述待写入数据页的逻辑地址记录至所述逻辑块中,并向所述存储器发送数据写指令,所述数据写指令携带所述待写入数据页及所述待写入数据页的逻辑空间信息;
所述存储器用于接收所述数据写指令,由所述数据写指令中的所述待写入数据页的逻辑空间信息获取所述逻辑块的信息,根据所述逻辑块的信息确定所述逻辑块对应的物理块,将所述待写入数据页写入所述逻辑块对应的物理块中。
2.如权利要求1所述的存储系统,其特征在于,所述存储器中还预先配置物理块与逻辑块的对应关系,其中,每个物理块对应一个逻辑块,每个逻辑块对应至少一个物理块;则所述存储器根据所述逻辑块信息查询所述物理块与逻辑块的对应关系确定所述逻辑块对应的物理块。
3.如权利要求1所述的存储系统,其特征在于,所述存储器中设置每个逻辑块分配标识信息,用于标识所述每个逻辑块是否被分配对应的物理块;
所述存储器根据所述逻辑块的信息确定所述逻辑块对应的物理块具体包括:所述存储器根据所述逻辑块的信息确定所述逻辑块的分配标识信息,根据所述逻辑块的分配标识信息确定所述逻辑块是否被分配对应的物理块,若确定所述逻辑块未被分配对应的物理块,为所述逻辑块分配物理块,并记录所分配的物理块与所述逻辑块的对应关系,其中,每个物理块对应一个逻辑块,每个逻辑块对应至少一个物理块。
4.如权利要求1-3中任一项所述的存储系统,其特征在于,所述待写入数据页的逻辑空间信息为所述逻辑块信息。
5.如权利要求1-3中任一项所述的存储系统,其特征在于,所述待写入数据页的逻辑空间信息为所述待写入数据页的逻辑地址,所述存储器中记录存储器的逻辑块信息,所述存储器在接收到所述数据写指令,根据所述待写入数据页的逻辑地址及所述存储器的逻辑块信息,确定所述逻辑块的信息。
6.如权利要求2或3所述的存储系统,其特征在于,所述管理器还用于根据每个逻辑块对应的数据页,确定待擦除的逻辑块,向所述存储器发送擦除指令,所述擦除指令携带所述待擦除的逻辑块的信息;
所述存储器还用于接收所述擦除指令,根据所述擦除指令中的所述待擦除的逻辑块的信息和所述物理块与逻辑块的对应关系,确定待擦除的物理块,以及擦除所述待擦除的物理块。
7.如权利要求6所述的存储系统,其特征在于,在确定待擦除的物理块后,所述存储器为所述待擦除的逻辑块重新分配物理块,并更新所述待擦除的逻辑块的分配标识信息,之后再擦除所述待擦除的物理块。
8.如权利要求7所述的存储系统,其特征在于,所述管理器还用于在确定需要对已存储的数据页进行更新时,将所述已存储的数据页对应的逻辑块中记录的所述已存储的数据页的逻辑地址置为无效;
所述管理器用于根据每个逻辑块对应的数据页,确定待擦除的逻辑块具体包括:无效逻辑地址数量多的逻辑块作为所述待擦除的逻辑块。
9.如权利要求8所述的存储系统,其特征在于,所述管理器在向所述存储器发送所述擦除指令之前,所述管理器还用于对所述待擦除的逻辑块中的有效的逻辑地址进行迁移,并确定所述有效的逻辑地址对应的数据页为待迁移的数据页,并向所述存储器发送数据迁移指令,所述数据迁移指令携带所述待迁移的数据页的信息;
所述存储器还用于根据所述数据迁移指令将所述存储器中所述待迁移的数据页进行迁移。
10.一种存储管理装置,其特征在于,应用于包括存储器的存储系统,所述存储器包括多个物理块,所述存储管理装置包括:
逻辑块管理模块,用于接收数据写请求,为待写入数据页确定逻辑块,将所述待写入数据页的逻辑地址记录至所述逻辑块中;
写入指示模块,用于根据所述逻辑块管理模块为所述待写入数据页确定的逻辑块,向所述存储器发送数据写指令,其中,所述数据写指令携带所述待写入数据页及所述待写入数据页的逻辑空间信息;所述数据写指令用于指示所述存储器根据所述数据写指令将所述逻辑块对应的待写入数据页写入所述逻辑块对应的物理块中。
11.如权利要求10所述的存储管理装置,其特征在于,所述待写入数据页的逻辑空间信息为所述逻辑块信息。
12.如权利要求10所述的存储管理装置,其特征在于,所述待写入数据页的逻辑空间信息为所述待写入数据页的逻辑地址,所述存储器中记录存储器的逻辑块信息,所述存储器在接收到所述数据写指令,根据所述待写入数据页的逻辑地址及所述存储器的逻辑块信息,确定所述逻辑块的信息。
13.如权利要求10或11或12所述的存储管理装置,其特征在于,所述存储管理装置还包括擦除指令模块,用于根据每个逻辑块对应的数据页,确定待擦除的逻辑块,向所述存储器发送擦除指令,所述擦除指令携带所述待擦除的逻辑块的信息,所述擦除指令用于指示所述存储器根据所述擦除指令中的所述待擦除的逻辑块的信息和所述存储器中设置的物理块与逻辑块的对应关系,确定待擦除的物理块,以及擦除所述待擦除的物理块。
14.如权利要求13所述的存储管理装置,其特征在于,所述逻辑块管理模块还用于在确定需要对已存储的数据页进行更新时,将所述已存储的数据页对应的逻辑块中记录的所述已存储的数据页的逻辑地址置为无效;
所述擦除指令模块用于确定待擦除的逻辑块具体包括:选择无效逻辑地址数量多的逻辑块作为所述待擦除的逻辑块。
15.如权利要求14所述的存储管理装置,其特征在于,所述存储管理装置还包括迁移指令模块,在所述擦除指令模块在向所述存储器发送所述擦除指令之前,所述迁移指令模块用于对逻辑块中有效的逻辑地址进行迁移,确定所述有效的逻辑地址对应的数据页为待迁移的数据页,并向所述存储器发送数据迁移指令,所述数据迁移指令携带所述待迁移的数据页的信息,所述数据迁移指令用于指示所述存储器将所述存储器中所述待迁移的数据页进行迁移。
16.一种存储器,其特征在于,包括:
接收模块,用于接收数据写指令,所述数据写指令携带待写入数据页及所述待写入数据页的逻辑空间信息,所述数据写指令是由管理器在接收到数据写请求,为所述待写入数据页确定逻辑块,并将所述待写入数据页的逻辑地址记录至所述逻辑块之后发送的;
写入模块,用于根据所述数据写指令中的所述待写入数据页的逻辑空间信息获取逻辑块信息,根据所述逻辑块信息确定所述逻辑块对应的物理块,将所述待写入数据页写入所述逻辑块对应的物理块中。
17.如权利要求16所述的存储器,其特征在于,所述存储器中还预先配置物理块与逻辑块的对应关系,其中,每个物理块对应一个逻辑块,每个逻辑块对应至少一个物理块;则所述存储器根据所述逻辑块信息查询所述物理块与逻辑块的对应关系确定所述逻辑块对应的物理块。
18.如权利要求16所述的存储器,其特征在于,所述存储器中设置每个逻辑块的分配标识信息,用于标识所述逻辑块是否被分配对应的物理块;
所述存储器根据所述逻辑块的信息确定所述逻辑块对应的物理块具体包括:所述存储器根据所述逻辑块的信息确定所述逻辑块的分配标识信息,根据所述逻辑块的分配标识信息确定所述逻辑块是否被分配对应的物理块,若确定所述逻辑块未被分配对应的物理块,为所述逻辑块分配物理块,并记录所分配的物理块与所述逻辑块的对应关系,其中,每个物理块对应一个逻辑块,每个逻辑块对应至少一个物理块。
19.如权利要求16-18中任一项所述的存储器,其特征在于,所述待写入数据页的逻辑空间信息为所述逻辑块信息。
20.如权利要求16-18中任一项所述的存储器,其特征在于,所述待写入数据页的逻辑空间信息为所述待写入数据页的逻辑地址,所述存储器中记录存储器的逻辑块信息,所述存储器在接收到所述数据写指令,根据所述待写入数据页的逻辑地址及所述存储器的逻辑块信息,确定所述逻辑块的信息。
21.如权利要求17或18所述的存储器,其特征在于,所述接收模块还用于接收所述管理器发送的擦除指令,所述擦除指令为所述管理器确定待擦除的逻辑块后发送的,所述擦除指令携带所述待擦除的逻辑块的信息;
所述存储器还包括擦除模块,用于根据所述擦除指令中的所述待擦除的逻辑块的信息和所述物理块与逻辑块的对应关系,确定待擦除的物理块,以及擦除所述待擦除的物理块。
22.如权利要求21所述的存储器,其特征在于,在确定待擦除的物理块后,所述存储器为所述待擦除的逻辑块重新分配物理块,并更新所述待擦除的逻辑块的分配标识信息,之后,再擦除所述待擦除的物理块。
23.如权利要求22所述的存储器,其特征在于,所述接收模块还用于接收管理器发送的数据迁移指令,所述数据迁移指令为所述管理器确定所述待擦除的逻辑块中待迁移的数据页后发送的,所述待迁移的数据页为所述待擦除的逻辑块中的有效逻辑地址对应的数据页,所述数据迁移指令携带所述待迁移的数据页的信息;
所述存储器还包括迁移模块,用于根据所述数据迁移指令将所述存储器中所述待迁移的数据页进行迁移。
24.一种混合存储装置,其特征在于,包括硬盘、如权利要求10-15任一项所述的存储管理装置,以及如权利要求16-23任一项所述的存储器,所述存储器作为所述硬盘的缓存。
25.一种存储管理方法,应用于包括存储器的存储系统,所述存储器包括多个物理块,所述方法包括:
接收数据写请求,为待写入数据页确定逻辑块;
将所述待写入数据页的逻辑地址记录至所述逻辑块中;
向所述存储器发送数据写指令,其中,所述数据写指令携带所述待写入数据页及所述待写入数据页的逻辑空间信息;所述数据写指令用于指示所述存储器根据所述数据写指令将所述逻辑块对应的待写入数据页写入所述逻辑块对应的物理块中。
26.如权利要求25所述的存储管理方法,其特征在于,所述待写入数据页的逻辑空间信息为所述逻辑块信息。
27.如权利要求25所述的存储管理方法,其特征在于,所述待写入数据页的逻辑空间信息为所述待写入数据页的逻辑地址,所述存储器中记录存储器的逻辑块信息,所述存储器在接收到所述数据写指令,根据所述待写入数据页的逻辑地址及所述存储器的逻辑块信息,确定所述逻辑块的信息。
28.如权利要求25或26所述的存储管理方法,其特征在于,所述方法还包括:
根据每个逻辑块对应的数据页,确定待擦除的逻辑块;
向所述存储器发送擦除指令,所述擦除指令携带所述待擦除的逻辑块的信息,所述擦除指令用于指示所述存储器根据所述擦除指令中的所述待擦除的逻辑块的信息和所述存储器中设置的物理块与逻辑块的对应关系,确定待擦除的物理块,以及擦除所述待擦除的物理块。
29.如权利要求28所述的存储管理方法,其特征在于,所述方法还包括:
在确定需要对已存储的数据页进行更新时,将所述已存储的数据页对应的逻辑块中记录的所述已存储的数据页的逻辑地址置为无效;
选择无效逻辑地址数量多的逻辑块作为所述待擦除的逻辑块。
30.如权利要求29所述的存储管理方法,其特征在于,所述方法还包括:
在所述向所述存储器发送所述擦除指令之前,对逻辑块中有效的逻辑地址进行迁移,确定所述有效的逻辑地址对应的数据页为待迁移的数据页;
向所述存储器发送数据迁移指令,所述数据迁移指令携带所述待迁移的数据页的信息,所述数据迁移指令用于指示所述存储器将所述存储器中所述待迁移的数据页进行迁移。
31.一种存储管理方法,由存储器执行,其特征在于,包括:
接收数据写指令,所述数据写指令携带待写入数据页及所述待写入数据页的逻辑空间信息,所述数据写指令是由管理器在接收到数据写请求,为所述待写入数据页确定逻辑块,并将所述待写入数据页的逻辑地址记录至所述逻辑块之后发送的;
根据所述数据写指令中的所述待写入数据页的逻辑空间信息获取逻辑块信息,根据所述逻辑块信息确定所述逻辑块对应的物理块,将所述待写入数据页写入所述逻辑块对应的物理块中。
32.如权利要求31所述的存储管理方法,其特征在于,所述存储器中还预先配置物理块与逻辑块的对应关系,其中,每个物理块对应一个逻辑块,每个逻辑块对应至少一个物理块;则所述根据所述逻辑块信息确定所述逻辑块对应的物理块具体为:根据所述逻辑块信息查询所述物理块与逻辑块的对应关系确定所述逻辑块对应的物理块。
33.如权利要求31所述的存储管理方法,其特征在于,所述存储器中设置所述逻辑块的分配标识信息,用于标识所述逻辑块是否被分配物理块;
所述根据所述逻辑块信息确定所述逻辑块对应的物理块具体为:
根据所述逻辑块的信息确定所述逻辑块的分配标识信息;
根据所述逻辑块的分配标识信息确定所述逻辑块是否被分配对应的物理块;
若确定所述逻辑块未被分配对应的物理块,为所述逻辑块分配物理块,并记录所分配的物理块与所述逻辑块的对应关系,其中,每个物理块对应一个逻辑块,每个逻辑块对应至少一个物理块。
34.如权利要求31-33中任一项所述的存储管理方法,其特征在于,所述待写入数据页的逻辑空间信息为所述逻辑块信息。
35.如权利要求31-33中任一项所述的存储管理方法,其特征在于,所述待写入数据页的逻辑空间信息为所述待写入数据页的逻辑地址,所述存储器中记录存储器的逻辑块信息,所述存储器在接收到所述数据写指令,根据所述待写入数据页的逻辑地址及所述存储器的逻辑块信息,确定所述逻辑块的信息。
36.如权利要求32或33所述的存储管理方法,其特征在于,还包括:
接收擦除指令,所述擦除指令为所述管理器确定待擦除的逻辑块后发送的,所述擦除指令携带所述待擦除的逻辑块的信息;
根据所述擦除指令中的所述待擦除的逻辑块的信息和所述物理块与逻辑块的对应关系,确定待擦除的物理块,以及擦除所述待擦除的物理块。
37.如权利要求36所述的存储管理方法,其特征在于,在确定待擦除的物理块后,还包括:
为所述待擦除的逻辑块重新分配物理块,并更新所述待擦除的逻辑块的分配标识信息。
38.如权利要求37所述的存储管理方法,其特征在于,还包括:
接收数据迁移指令,所述数据迁移指令为管理器确定所述待擦除的逻辑块中待迁移的数据页后发送的,所述待迁移的数据页为所述待擦除的逻辑块中的有效逻辑地址所对应的数据页,所述数据迁移指令携带所述待迁移的数据页的信息;
根据所述数据迁移指令将所述存储器中所述待迁移的数据页进行迁移。
39.一种存储管理器,其特征在于,包括:处理器、存储器、总线和通信接口; 所述存储器用于存储计算机执行指令,所述处理器与所述存储器通过所述总线连接,当所述存储管理器运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述存储管理器执行如下方法:
接收数据写请求,为待写入数据页确定逻辑块;
将所述待写入数据页的逻辑地址记录至所述逻辑块中;
向所述存储器发送数据写指令,其中,所述数据写指令携带所述待写入数据页及所述待写入数据页的逻辑空间信息;所述数据写指令用于指示所述存储器根据所述数据写指令将所述逻辑块对应的待写入数据页写入所述逻辑块对应的物理块中。
40.一种存储管理器,其特征在于,包括:处理器、存储器、总线和通信接口; 所述存储器用于存储计算机执行指令,所述处理器与所述存储器通过所述总线连接,当所述存储管理器运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述存储管理器执行如下方法:
接收数据写指令,所述数据写指令携带待写入数据页及所述待写入数据页的逻辑空间信息,所述数据写指令是由管理器在接收到数据写请求,为所述待写入数据页确定逻辑块,并将所述待写入数据页的逻辑地址记录至所述逻辑块之后发送的;
根据所述数据写指令中的所述待写入数据页的逻辑空间信息获取逻辑块信息,根据所述逻辑块信息确定所述逻辑块对应的物理块,将所述待写入数据页写入所述逻辑块对应的物理块中。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510369175.4A CN106326132B (zh) | 2015-06-29 | 2015-06-29 | 存储系统、存储管理装置、存储器、混合存储装置及存储管理方法 |
PCT/CN2016/086757 WO2017000821A1 (zh) | 2015-06-29 | 2016-06-22 | 存储系统、存储管理装置、存储器、混合存储装置及存储管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510369175.4A CN106326132B (zh) | 2015-06-29 | 2015-06-29 | 存储系统、存储管理装置、存储器、混合存储装置及存储管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106326132A CN106326132A (zh) | 2017-01-11 |
CN106326132B true CN106326132B (zh) | 2020-03-27 |
Family
ID=57607790
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510369175.4A Active CN106326132B (zh) | 2015-06-29 | 2015-06-29 | 存储系统、存储管理装置、存储器、混合存储装置及存储管理方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106326132B (zh) |
WO (1) | WO2017000821A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3671423B1 (en) | 2017-12-29 | 2021-09-01 | Huawei Technologies Co., Ltd. | Data access method and storage array |
CN109725853B (zh) * | 2018-12-04 | 2022-10-04 | 浙江大华存储科技有限公司 | 一种数据回收方法及装置 |
CN113868148B (zh) * | 2020-06-30 | 2024-04-09 | 华为技术有限公司 | 一种数据写入的方法及装置 |
CN117389485B (zh) * | 2023-12-13 | 2024-03-01 | 苏州元脑智能科技有限公司 | 存储性能优化方法、装置、存储系统、电子设备和介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101477492A (zh) * | 2009-01-21 | 2009-07-08 | 华中科技大学 | 一种用于固态硬盘的循环重写闪存均衡方法 |
CN101719103A (zh) * | 2009-11-25 | 2010-06-02 | 成都市华为赛门铁克科技有限公司 | 基于存储设备的信息处理方法以及存储设备 |
CN102298555A (zh) * | 2011-08-22 | 2011-12-28 | 宜兴市华星特种陶瓷科技有限公司 | 基于nand技术的模块化闪存管理系统 |
CN102375779A (zh) * | 2010-08-16 | 2012-03-14 | 深圳市朗科科技股份有限公司 | 一种数据处理方法以及数据处理模块 |
CN102650931A (zh) * | 2012-04-01 | 2012-08-29 | 华为技术有限公司 | 一种写入数据的方法及系统 |
CN103761053A (zh) * | 2013-12-30 | 2014-04-30 | 华为技术有限公司 | 一种数据处理方法和装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8438361B2 (en) * | 2010-03-10 | 2013-05-07 | Seagate Technology Llc | Logical block storage in a storage device |
US9183134B2 (en) * | 2010-04-22 | 2015-11-10 | Seagate Technology Llc | Data segregation in a storage device |
US20120023144A1 (en) * | 2010-07-21 | 2012-01-26 | Seagate Technology Llc | Managing Wear in Flash Memory |
-
2015
- 2015-06-29 CN CN201510369175.4A patent/CN106326132B/zh active Active
-
2016
- 2016-06-22 WO PCT/CN2016/086757 patent/WO2017000821A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101477492A (zh) * | 2009-01-21 | 2009-07-08 | 华中科技大学 | 一种用于固态硬盘的循环重写闪存均衡方法 |
CN101719103A (zh) * | 2009-11-25 | 2010-06-02 | 成都市华为赛门铁克科技有限公司 | 基于存储设备的信息处理方法以及存储设备 |
CN102375779A (zh) * | 2010-08-16 | 2012-03-14 | 深圳市朗科科技股份有限公司 | 一种数据处理方法以及数据处理模块 |
CN102298555A (zh) * | 2011-08-22 | 2011-12-28 | 宜兴市华星特种陶瓷科技有限公司 | 基于nand技术的模块化闪存管理系统 |
CN102650931A (zh) * | 2012-04-01 | 2012-08-29 | 华为技术有限公司 | 一种写入数据的方法及系统 |
CN103761053A (zh) * | 2013-12-30 | 2014-04-30 | 华为技术有限公司 | 一种数据处理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106326132A (zh) | 2017-01-11 |
WO2017000821A1 (zh) | 2017-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106326133B (zh) | 存储系统、存储管理装置、存储器、混合存储装置及存储管理方法 | |
US11709597B2 (en) | Memory system and method for controlling nonvolatile memory | |
KR100823171B1 (ko) | 파티션된 플래시 변환 계층을 갖는 컴퓨터 시스템 및플래시 변환 계층의 파티션 방법 | |
US20160283124A1 (en) | Multi-streamed solid state drive | |
US10761731B2 (en) | Array controller, solid state disk, and method for controlling solid state disk to write data | |
JP6016137B2 (ja) | ソリッドステートドライブおよびその動作方法 | |
CA2673434C (en) | Memory device performance enhancement through pre-erase mechanism | |
US9183136B2 (en) | Storage control apparatus and storage control method | |
US9053007B2 (en) | Memory system, controller, and method for controlling memory system | |
KR101257691B1 (ko) | 메모리 컨트롤러 및 이의 데이터 관리방법 | |
JP2018049522A (ja) | メモリシステム及び制御方法 | |
US10048884B2 (en) | Method for erasing data entity in memory module | |
KR20130096881A (ko) | 플래시 메모리 장치 | |
CN106326132B (zh) | 存储系统、存储管理装置、存储器、混合存储装置及存储管理方法 | |
US20100318726A1 (en) | Memory system and memory system managing method | |
CN110309077B (zh) | 主机与设备协同工作的闪存转换层构建方法及装置 | |
KR20120084906A (ko) | 비휘발성 메모리 시스템 및 그 관리 방법 | |
US20170255636A1 (en) | Method and system for storing metadata of log-structured file system | |
KR20120045421A (ko) | 메모리 시스템 및 데이터 저장 장치 그리고 그것의 데이터 관리 방법 | |
JP2020123039A (ja) | メモリシステムおよび制御方法 | |
JP2021033945A (ja) | メモリシステムおよび制御方法 | |
CN116368472A (zh) | 数据处理方法及相关设备 | |
US20220091772A1 (en) | Memory system | |
KR20230011228A (ko) | 가비지 컬렉션을 위한 페이지 재배치 시스템, 방법 및 장치 | |
CN113553008A (zh) | 映射表更新方法、装置、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |