CN111984547B - 一种地址映射表管理装置、方法、系统及计算机存储介质 - Google Patents
一种地址映射表管理装置、方法、系统及计算机存储介质 Download PDFInfo
- Publication number
- CN111984547B CN111984547B CN202010850288.7A CN202010850288A CN111984547B CN 111984547 B CN111984547 B CN 111984547B CN 202010850288 A CN202010850288 A CN 202010850288A CN 111984547 B CN111984547 B CN 111984547B
- Authority
- CN
- China
- Prior art keywords
- address mapping
- mapping table
- control module
- backed
- address
- 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
- 238000013507 mapping Methods 0.000 title claims abstract description 275
- 238000000034 method Methods 0.000 title claims abstract description 17
- 238000007726 management method Methods 0.000 claims description 36
- 238000004590 computer program Methods 0.000 claims description 5
- 230000002035 prolonged effect Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 6
- 239000007787 solid Substances 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请公开了一种地址映射表管理装置、方法、系统及计算机介质,包括:存储设备,与存储设备连接的操作系统,与操作系统连接的Flash存储控制器;其中,操作系统在接收到Flash存储控制器发送的待备份地址映射表的写操作后,将待备份地址映射表备份至存储设备;操作系统在接收到Flash存储控制器发送的已备份地址映射表的读操作后,在存储设备中读取已备份地址映射表,并将已备份地址映射表发送至Flash存储控制器。本申请中,操作系统将地址映射表备份至外接的存储设备中,这样即使Flash存储控制器受擦除等操作被影响使用寿命后,仍然可以在存储设备中读取到完整备份的地址映射表,便于对地址映射表进行稳定管理。
Description
技术领域
本申请涉及存储技术领域,更具体地说,涉及一种地址映射表管理装置、方法、系统及计算机存储介质。
背景技术
基于Flash存储器的固态硬盘的使用寿命受擦除次数限制,为了减少固有缺陷对其性能影响,Flash存储器需要有效的管理方式支持,比如通过FTL(Flash TranslationLayer,闪存转换层)提供块设备访问接口,其中闪存转换层的主要功能包括地址映射、磨损均衡、垃圾回收、坏块管理、掉电保护及ECC校验等。Flash存储器转换层实现对Flash存储器的管理时,最基本和关键的是地址映射策略管理。地址映射是指从文件系统发出的虚拟逻辑地址到Flash存储器中真实物理地址之间的映射关系。地址映射表是否正确直接影响到数据能否被正确的读出。然而,由于Flash存储器寿命受擦除次数限制,且极易损坏,使得地址映射表难以稳定存储在Flash存储器,影响Flash存储器的稳定读写。
综上所述,如何稳定对地址映射表进行管理是目前本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种地址映射表管理装置,其能在一定程度上解决如何稳定对地址映射表进行管理的技术问题。本申请还提供了一种地址映射表管理方法、系统及计算机可读存储介质。
为了实现上述目的,本申请提供如下技术方案:
一种地址映射表管理装置,包括:存储设备,与所述存储设备连接的操作系统,与所述操作系统连接的Flash存储控制器;
其中,所述操作系统在接收到所述Flash存储控制器发送的待备份地址映射表的写操作后,将所述待备份地址映射表备份至所述存储设备;所述操作系统在接收到所述Flash存储控制器发送的已备份地址映射表的读操作后,在所述存储设备中读取所述已备份地址映射表,并将所述已备份地址映射表发送至所述Flash存储控制器。
优选的,所述存储设备包括地址映射表备份区域与备份信息存储区域;
其中,所述地址映射表备份区域用于存储备份的地址映射表,所述备份信息存储区域用于存储备份的逻辑地址与物理地址的映射关系。
优选的,所述Flash存储控制器包括:
与所述操作系统连接的备份控制模块;
与所述备份控制模块连接的可靠性控制模块;
与所述可靠性控制模块连接的FTL控制模块;
其中,所述可靠性控制模块向所述FTL控制模块发送操作请求,并接收到所述FTL控制模块返回的表征地址映射表错误的消息后,向所述备份控制模块发送所述读操作;所述备份控制模块接收到所述已备份地址映射表后,将所述已备份地址映射表发送至所述可靠性控制模块;所述可靠性控制模块接收到所述写操作后,将所述写操作发送至所述备份控制模块和所述FTL控制模块,以使所述备份控制模块将所述写操作发送至所述操作系统,使所述FTL控制模块将所述待备份地址映射表写回至Flash存储阵列的地址映射表区域。
优选的,所述Flash存储控制器包括:
与所述备份控制模块连接的地址映射模块;
分别与所述地址映射模块和所述可靠性控制模块连接的CAM匹配替换模块;
与所述CAM匹配替换模块连接的缓存RAM;
其中,所述CAM匹配替换模块根据最近最少使用原则,增加或者替换缓存RAM中的地址映射表;所述CAM匹配替换模块收到所述地址映射模块的读操后,查询所述缓存RAM是否存储有所述地址映射模块的读操作对应的逻辑地址跟物理地址的映射关系,若有,则直接返回所述逻辑地址跟物理地址的映射关系至所述地址映射模块,若无,则向所述可靠性控制模块发送所述地址映射模块的读操作;所述CAM匹配替换模块收到所述地址映射模块的写操作后,向所述可靠性控制模块请求将缓存RAM存储的地址映射表写回至所述Flash存储阵列的地址映射表区域。
优选的,所述Flash存储控制器包括:
分别与所述地址映射模块、所述CAM匹配替换模块及所述FTL控制模块连接的磨损均衡模块;
其中,所述磨损均衡模块基于预设的磨损均衡算法,根据目标逻辑地址申请对应的目标物理地址,基于所述目标逻辑地址及所述目标物理地址生成写请求,并发送至所述地址映射模块和所述CMA匹配替换模块;所述CMA匹配替换模块接收到所述磨损均衡模块的写请求后,若所述缓存RAM不满,则直接将所述目标逻辑地址及所述目标物理地址存入所述缓存RAM,若所述缓存RAM已存满,则根据最近最少使用原则,将所述缓存RAM中满足的逻辑地址跟物理地址的映射关系替换出,基于替换出的所述逻辑地址跟物理地址的映射关系生成写请求并发送至所述可靠性控制模块。
优选的,所述操作系统还用于:发送地址映射表备份操作至所述备份控制模块;
所述备份控制模块还用于:接收到所述地址映射表备份操作之后,通知所述地址映射模块将缓存的地址映射表写回至所述Flash存储阵列的地址映射表区域,并接收到所述地址映射模块返回的表征地址映射表已写完的消息之后,通知所述操作系统执行地址映射表备份操作。
优选的,所述存储设备和所述操作系统间通过预设高速接口相连接,所述操作系统与所述Flash存储控制器通过所述预设高速接口相连接。
一种地址映射表管理方法,应用于操作系统,包括:
接收到所述操作系统连接的Flash存储控制器发送的待备份地址映射表的写操作后,将所述待备份地址映射表备份至所述操作系统连接的存储设备;
接收到所述Flash存储控制器发送的已备份地址映射表的读操作后,在所述存储设备中读取所述已备份地址映射表,并将所述已备份地址映射表发送至所述Flash存储控制器。
一种地址映射表管理系统,应用于操作系统,包括:
第一备份单元,用于接收到所述操作系统连接的Flash存储控制器发送的待备份地址映射表的写操作后,将所述待备份地址映射表备份至所述操作系统连接的存储设备;
第一读取单元,用于接收到所述Flash存储控制器发送的已备份地址映射表的读操作后,在所述存储设备中读取所述已备份地址映射表,并将所述已备份地址映射表发送至所述Flash存储控制器。
一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的地址映射表管理方法的步骤。
本申请提供的一种地址映射表管理装置,包括:存储设备,与存储设备连接的操作系统,与操作系统连接的Flash存储控制器;其中,操作系统在接收到Flash存储控制器发送的待备份地址映射表的写操作后,将待备份地址映射表备份至存储设备;操作系统在接收到Flash存储控制器发送的已备份地址映射表的读操作后,在存储设备中读取已备份地址映射表,并将已备份地址映射表发送至Flash存储控制器。本申请中,操作系统将地址映射表备份至外接的存储设备中,这样即使Flash存储控制器受擦除等操作被影响使用寿命后,仍然可以在存储设备中读取到完整备份的地址映射表,便于对地址映射表进行稳定管理。本申请提供的一种地址映射表管理方法、系统及计算机可读存储介质也解决了相应技术问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的地址映射表管理装置的结构示意图;
图2为本申请实施例提供的一种地址映射表管理装置的另一结构示意图;
图3为本申请实施例提供的一种地址映射表管理方法的流程图;
图4为本申请实施例提供的一种地址映射表管理系统的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参阅图1,图1为本申请实施例提供的地址映射表管理装置的结构示意图。
本申请实施例提供的一种地址映射表管理装置,可以包括:存储设备11,与存储设备11连接的操作系统12,与操作系统12连接的Flash存储控制器13;
其中,操作系统12在接收到Flash存储控制器13发送的待备份地址映射表的写操作后,将待备份地址映射表备份至存储设备11;操作系统12在接收到Flash存储控制器13发送的已备份地址映射表的读操作后,在存储设备11中读取已备份地址映射表,并将已备份地址映射表发送至Flash存储控制器13。
本申请中,存储设备是独立于Flash存储控制器的设备,这样,操作系统将待备份地址映射表备份至存储设备中后,即使Flash存储控制器因寿命影响无法读取到自身备份的地址映射表,Flash存储控制器仍然可以借助操作系统从存储设备中读取所需的地址映射表,便于稳定的对地址映射表进行管理。
应当指出,存储设备的类型可以根据实际需要确定,比如存储设备可以为硬盘、TF(Micro SD Card)卡、SD卡(Secure Digital Memory Card/SD card,安全数码卡)等。
本申请提供的一种地址映射表管理装置,包括:存储设备,与存储设备连接的操作系统,与操作系统连接的Flash存储控制器;其中,操作系统在接收到Flash存储控制器发送的待备份地址映射表的写操作后,将待备份地址映射表备份至存储设备;操作系统在接收到Flash存储控制器发送的已备份地址映射表的读操作后,在存储设备中读取已备份地址映射表,并将已备份地址映射表发送至Flash存储控制器。本申请中,操作系统将地址映射表备份至外接的存储设备中,这样即使Flash存储控制器受擦除等操作被影响使用寿命后,仍然可以在存储设备中读取到完整备份的地址映射表,便于对地址映射表进行稳定管理。
请参阅图2,图2为本申请实施例提供的一种地址映射表管理装置的另一结构示意图。
本申请实施例提供的一种地址映射表管理装置,存储设备11可以包括地址映射表备份区域与备份信息存储区域;
其中,地址映射表备份区域用于存储备份的地址映射表,备份信息存储区域用于存储备份的逻辑地址与物理地址的映射关系。
也即本申请中,存储设备可以包括存储备份的地址映射表的地址映射表备份区域,以及存储备份的逻辑地址与物理地址的映射关系的备份信息存储区域,这样,可以借助备份信息存储区域快速判断某个地址映射表是否已被备份,可以借助地址映射表备份区域查找到具体备份的地址映射表。
具体应用场景中,为了便于存储相应数据,地址映射表备份区域的存储格式可以为{ECC,Valid,物理地址N,逻辑地址N,…,物理地址0,逻辑地址0};备份信息存储区域的存储格式可以为{ECC,Valid,映射关系N,地址N段,…,映射关系0,地址0段},其中,每段地址可以对应Flash存储阵列中的1页的映射关系,且ECC(Error Correcting Code)表示错误纠正码,用于验证相应的地址映射表是否正确。
请参阅图2,本申请实施例提供的一种地址映射表管理装置,Flash存储控制器13可以包括:
与操作系统12连接的备份控制模块131;
与备份控制模块131连接的可靠性控制模块132;
与可靠性控制模块132连接的FTL控制模块133;
其中,可靠性控制模块132向FTL控制模块133发送操作请求,并接收到FTL控制模块133返回的表征地址映射表错误的消息后,向备份控制模块131发送读操作;备份控制模块131接收到已备份地址映射表后,将已备份地址映射表发送至可靠性控制模块132;可靠性控制模块132接收到写操作后,将写操作发送至备份控制模块131和FTL控制模块133,以使备份控制模块131将写操作发送至操作系统12,使FTL控制模块133将待备份地址映射表写回至Flash存储阵列的地址映射表区域。
也即实际应用中,操作系统可以借助备份控制模块与Flash存储控制器相连接;且在具体应用场景中,可以是可靠性控制模块在接收到度操作或者写操作的操作请求后,可靠性控制模块先从FTL控制模块中查询相应的地址映射表,若接收到FTL控制模块133返回的表征地址映射表错误的消息后,即在FTL控制模块中无法查找到所需的地址映射表之后,可靠性控制模块再向备份控制模块发送读操作,以便借助操作系统从存储设备中读取相应的地址映射表;此外,可靠性控制模块在接收到写操作之后,需要将写操作发送至备份控制模块和FTL控制模块,以使备份控制模块将写操作发送至操作系统,进而使操作系统将所对应的地址映射表备份至存储设备,相应的,可以使FTL控制模块将待备份地址映射表写回至Flash存储阵列的地址映射表区域,以便下次可以直接通过FTL控制模块查找到所需的地址映射表。
请参阅图2,本申请实施例提供的一种地址映射表管理装置,Flash存储控制器可以包括:
与备份控制模块131连接的地址映射模块134;
分别与地址映射模块134和可靠性控制模块132连接的CAM匹配替换模块135;
与CAM匹配替换模块135连接的缓存RAM136;
其中,CAM匹配替换模块135根据最近最少使用原则,增加或者替换缓存RAM136中的地址映射表;CAM匹配替换模块135收到地址映射模块134的读操后,查询缓存RAM(RandomAccess Memory,随机存取存储器)136是否存储有地址映射模块134的读操作对应的逻辑地址跟物理地址的映射关系,若有,则直接返回逻辑地址跟物理地址的映射关系至地址映射模块134,若无,则向可靠性控制模块132发送地址映射模块的读操作;CAM匹配替换模块135收到地址映射模块134的写操作后,向可靠性控制模块135请求将缓存RAM136存储的地址映射表写回至Flash存储阵列的地址映射表区域。
也即实际应用中,为了使得Flash存储控制器可以快速返回所需的地址映射表,Flash存储控制器中可以设置CAM匹配替换模块及缓存RAM,借助CAM匹配替换模块和缓存RAM对最近最少使用的地址映射表进行管理,以便借助CAM快速返回所需的地址映射表;比如CAM匹配替换模块在接收到地址映射模块的读操作后,查询缓存RAM是否存储有地址映射模块的读操作对应的逻辑地址跟物理地址的映射关系,若有,则直接返回逻辑地址跟物理地址的映射关系至地址映射模块,若无,则向可靠性控制模块发送地址映射模块的读操作,以便借助可靠性控制模块从FTL控制模块或者存储设备中读取所需的地址映射表;且CAM匹配替换模块在收到地址映射模块的写操作后,可以向可靠性控制模块请求将缓存RAM存储的地址映射表写回至Flash存储阵列的地址映射表区域,以便真正保存缓存RAM存储的地址映射表。
应当指出,具体应用场景中,地址映射模块可以通过接口模块与外接设备相连接。
请参阅图2,本申请实施例提供的一种地址映射表管理装置,Flash存储控制器可以包括:
分别与地址映射模块134、CAM匹配替换模块135及FTL控制模块133连接的磨损均衡模块137;
其中,磨损均衡模块137基于预设的磨损均衡算法,根据目标逻辑地址申请对应的目标物理地址,基于目标逻辑地址及目标物理地址生成写请求,并发送至地址映射模块134和CMA匹配替换模块135;CMA匹配替换模块135接收到磨损均衡模块137的写请求后,若缓存RAM136不满,则直接将目标逻辑地址及目标物理地址存入缓存RAM136,若缓存RAM136已存满,则根据最近最少使用原则,将缓存RAM136中满足的逻辑地址跟物理地址的映射关系替换出,基于替换出的逻辑地址跟物理地址的映射关系生成写请求并发送至可靠性控制模块132。
也即本申请中,为了维护NANDFlash存储阵列的地址块的擦写次数,尽可能保证每块地址的擦写次数一致,可以在Flash存储控制器中设置磨损均衡模块,磨损均衡模块基于预设的磨损均衡算法,根据目标逻辑地址申请对应的目标物理地址,基于目标逻辑地址及目标物理地址生成写请求,并发送至地址映射模块和CMA匹配替换模块;相应的,CMA匹配替换模块接收到磨损均衡模块的写请求后,若缓存RAM不满,则直接将目标逻辑地址及目标物理地址存入缓存RAM,若缓存RAM已存满,则根据最近最少使用原则,将缓存RAM中满足的逻辑地址跟物理地址的映射关系替换出,基于替换出的逻辑地址跟物理地址的映射关系生成写请求并发送至可靠性控制模块,以便借助可靠性控制模块将替换出的逻辑地址跟物理地址的映射关系保存在FTL控制模块和/或存储设备。
本申请实施例提供的一种地址映射表管理装置,操作系统还可以用于:发送地址映射表备份操作至备份控制模块;
备份控制模块还可以用于:接收到地址映射表备份操作之后,通知地址映射模块将缓存的地址映射表写回至Flash存储阵列的地址映射表区域,并接收到地址映射模块返回的表征地址映射表已写完的消息之后,通知操作系统执行地址映射表备份操作。
也即本申请中,为了避免新的地址映射表影响地址映射表的备份过程,操作系统还可以发送地址映射表备份操作至备份控制模块;相应的,备份控制模块接收到地址映射表备份操作之后,通知地址映射模块将缓存的地址映射表写回至Flash存储阵列的地址映射表区域,并接收到地址映射模块返回的表征地址映射表已写完的消息之后,通知操作系统执行地址映射表备份操作。
本申请实施例提供的一种地址映射表管理装置,存储设备和操作系统间可以通过预设高速接口相连接,操作系统与Flash存储控制器也可以通过预设高速接口相连接。预设高度接口的类型可以根据实际需要确定,比如可以为PCIE(peripheral componentinterconnect express,高速串行计算机扩展总线标准)接口、USB(Universal SerialBus,通用串行总线)接口等。
请参阅图3,图3为本申请实施例提供的一种地址映射表管理方法的流程图。
本申请实施例提供的一种地址映射表管理方法,应用于操作系统,可以包括以下步骤:
步骤S101:接收到操作系统连接的Flash存储控制器发送的待备份地址映射表的写操作后,将待备份地址映射表备份至操作系统连接的存储设备。
步骤S102:接收到Flash存储控制器发送的已备份地址映射表的读操作后,在存储设备中读取已备份地址映射表,并将已备份地址映射表发送至Flash存储控制器。
本申请实施例提供的一种地址映射表管理方法中相应步骤的描述可以参阅上述实施例,在此不再赘述。
请参阅图4,图4为本申请实施例提供的一种地址映射表管理系统的结构示意图。
本申请实施例提供的一种地址映射表管理系统,应用于操作系统,可以包括:
第一备份单元101,用于接收到操作系统连接的Flash存储控制器发送的待备份地址映射表的写操作后,将待备份地址映射表备份至操作系统连接的存储设备;
第一读取单元102,用于接收到Flash存储控制器发送的已备份地址映射表的读操作后,在存储设备中读取已备份地址映射表,并将已备份地址映射表发送至Flash存储控制器。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:
接收到操作系统连接的Flash存储控制器发送的待备份地址映射表的写操作后,将待备份地址映射表备份至操作系统连接的存储设备;
接收到Flash存储控制器发送的已备份地址映射表的读操作后,在存储设备中读取已备份地址映射表,并将已备份地址映射表发送至Flash存储控制器
本申请所涉及的计算机可读存储介质包括随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质。
本申请实施例提供的地址映射表管理方法、系统及计算机可读存储介质中相关部分的说明请参见本申请实施例提供的地址映射表管理装置中对应部分的详细说明,在此不再赘述。另外,本申请实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (9)
1.一种地址映射表管理装置,其特征在于,包括:存储设备,与所述存储设备连接的操作系统,与所述操作系统连接的Flash存储控制器;
其中,所述操作系统在接收到所述Flash存储控制器发送的待备份地址映射表的写操作后,将所述待备份地址映射表备份至所述存储设备;所述操作系统在接收到所述Flash存储控制器发送的已备份地址映射表的读操作后,在所述存储设备中读取所述已备份地址映射表,并将所述已备份地址映射表发送至所述Flash存储控制器;
其中,所述Flash存储控制器包括:
与所述操作系统连接的备份控制模块;
与所述备份控制模块连接的可靠性控制模块;
与所述可靠性控制模块连接的FTL控制模块;
其中,所述可靠性控制模块向所述FTL控制模块发送操作请求,并接收到所述FTL控制模块返回的表征地址映射表错误的消息后,向所述备份控制模块发送所述读操作;所述备份控制模块接收到所述已备份地址映射表后,将所述已备份地址映射表发送至所述可靠性控制模块;所述可靠性控制模块接收到所述写操作后,将所述写操作发送至所述备份控制模块和所述FTL控制模块,以使所述备份控制模块将所述写操作发送至所述操作系统,使所述FTL控制模块将所述待备份地址映射表写回至Flash存储阵列的地址映射表区域。
2.根据权利要求1所述的装置,其特征在于,所述存储设备包括地址映射表备份区域与备份信息存储区域;
其中,所述地址映射表备份区域用于存储备份的地址映射表,所述备份信息存储区域用于存储备份的逻辑地址与物理地址的映射关系。
3.根据权利要求1所述的装置,其特征在于,所述Flash存储控制器包括:
与所述备份控制模块连接的地址映射模块;
分别与所述地址映射模块和所述可靠性控制模块连接的CAM匹配替换模块;
与所述CAM匹配替换模块连接的缓存RAM;
其中,所述CAM匹配替换模块根据最近最少使用原则,增加或者替换缓存RAM中的地址映射表;所述CAM匹配替换模块收到所述地址映射模块的读操后,查询所述缓存RAM是否存储有所述地址映射模块的读操作对应的逻辑地址跟物理地址的映射关系,若有,则直接返回所述逻辑地址跟物理地址的映射关系至所述地址映射模块,若无,则向所述可靠性控制模块发送所述地址映射模块的读操作;所述CAM匹配替换模块收到所述地址映射模块的写操作后,向所述可靠性控制模块请求将缓存RAM存储的地址映射表写回至所述Flash存储阵列的地址映射表区域。
4.根据权利要求3所述的装置,其特征在于,所述Flash存储控制器包括:
分别与所述地址映射模块、所述CAM匹配替换模块及所述FTL控制模块连接的磨损均衡模块;
其中,所述磨损均衡模块基于预设的磨损均衡算法,根据目标逻辑地址申请对应的目标物理地址,基于所述目标逻辑地址及所述目标物理地址生成写请求,并发送至所述地址映射模块和所述CAM匹配替换模块;所述CAM匹配替换模块接收到所述磨损均衡模块的写请求后,若所述缓存RAM不满,则直接将所述目标逻辑地址及所述目标物理地址存入所述缓存RAM,若所述缓存RAM已存满,则根据最近最少使用原则,将所述缓存RAM中满足的逻辑地址跟物理地址的映射关系替换出,基于替换出的所述逻辑地址跟物理地址的映射关系生成写请求并发送至所述可靠性控制模块。
5.根据权利要求3所述的装置,其特征在于,所述操作系统还用于:发送地址映射表备份操作至所述备份控制模块;
所述备份控制模块还用于:接收到所述地址映射表备份操作之后,通知所述地址映射模块将缓存的地址映射表写回至所述Flash存储阵列的地址映射表区域,并接收到所述地址映射模块返回的表征地址映射表已写完的消息之后,通知所述操作系统执行地址映射表备份操作。
6.根据权利要求1至5任一项所述的装置,其特征在于,所述存储设备和所述操作系统间通过预设高速接口相连接,所述操作系统与所述Flash存储控制器通过所述预设高速接口相连接。
7.一种地址映射表管理方法,其特征在于,应用于操作系统,包括:
接收到所述操作系统连接的Flash存储控制器发送的待备份地址映射表的写操作后,将所述待备份地址映射表备份至所述操作系统连接的存储设备;
接收到所述Flash存储控制器发送的已备份地址映射表的读操作后,在所述存储设备中读取所述已备份地址映射表,并将所述已备份地址映射表发送至所述Flash存储控制器;
其中,所述Flash存储控制器包括:与所述操作系统连接的备份控制模块;与所述备份控制模块连接的可靠性控制模块;与所述可靠性控制模块连接的FTL控制模块;
其中,所述可靠性控制模块向所述FTL控制模块发送操作请求,并接收到所述FTL控制模块返回的表征地址映射表错误的消息后,向所述备份控制模块发送所述读操作;所述备份控制模块接收到所述已备份地址映射表后,将所述已备份地址映射表发送至所述可靠性控制模块;所述可靠性控制模块接收到所述写操作后,将所述写操作发送至所述备份控制模块和所述FTL控制模块,以使所述备份控制模块将所述写操作发送至所述操作系统,使所述FTL控制模块将所述待备份地址映射表写回至Flash存储阵列的地址映射表区域。
8.一种地址映射表管理系统,其特征在于,应用于操作系统,包括:
第一备份单元,用于接收到所述操作系统连接的Flash存储控制器发送的待备份地址映射表的写操作后,将所述待备份地址映射表备份至所述操作系统连接的存储设备;
第一读取单元,用于接收到所述Flash存储控制器发送的已备份地址映射表的读操作后,在所述存储设备中读取所述已备份地址映射表,并将所述已备份地址映射表发送至所述Flash存储控制器;
其中,所述Flash存储控制器包括:与所述操作系统连接的备份控制模块;与所述备份控制模块连接的可靠性控制模块;与所述可靠性控制模块连接的FTL控制模块;
其中,所述可靠性控制模块向所述FTL控制模块发送操作请求,并接收到所述FTL控制模块返回的表征地址映射表错误的消息后,向所述备份控制模块发送所述读操作;所述备份控制模块接收到所述已备份地址映射表后,将所述已备份地址映射表发送至所述可靠性控制模块;所述可靠性控制模块接收到所述写操作后,将所述写操作发送至所述备份控制模块和所述FTL控制模块,以使所述备份控制模块将所述写操作发送至所述操作系统,使所述FTL控制模块将所述待备份地址映射表写回至Flash存储阵列的地址映射表区域。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求7所述的地址映射表管理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010850288.7A CN111984547B (zh) | 2020-08-21 | 2020-08-21 | 一种地址映射表管理装置、方法、系统及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010850288.7A CN111984547B (zh) | 2020-08-21 | 2020-08-21 | 一种地址映射表管理装置、方法、系统及计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111984547A CN111984547A (zh) | 2020-11-24 |
CN111984547B true CN111984547B (zh) | 2022-11-11 |
Family
ID=73443642
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010850288.7A Active CN111984547B (zh) | 2020-08-21 | 2020-08-21 | 一种地址映射表管理装置、方法、系统及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111984547B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113204315B (zh) * | 2021-04-27 | 2023-03-14 | 山东英信计算机技术有限公司 | 一种固态硬盘读写方法和装置 |
CN113742132B (zh) * | 2021-07-28 | 2023-08-11 | 苏州浪潮智能科技有限公司 | 一种存储系统故障修复方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109240943A (zh) * | 2018-09-26 | 2019-01-18 | 郑州云海信息技术有限公司 | 地址映射关系反馈方法、装置、设备及可读存储介质 |
CN109800110A (zh) * | 2019-01-30 | 2019-05-24 | 郑州云海信息技术有限公司 | 数据备份方法、系统及电子设备、存储介质和备份装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101678911B1 (ko) * | 2010-03-12 | 2016-11-23 | 삼성전자주식회사 | 데이터 저장 장치 및 그것을 포함하는 컴퓨팅 시스템 |
-
2020
- 2020-08-21 CN CN202010850288.7A patent/CN111984547B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109240943A (zh) * | 2018-09-26 | 2019-01-18 | 郑州云海信息技术有限公司 | 地址映射关系反馈方法、装置、设备及可读存储介质 |
CN109800110A (zh) * | 2019-01-30 | 2019-05-24 | 郑州云海信息技术有限公司 | 数据备份方法、系统及电子设备、存储介质和备份装置 |
Non-Patent Citations (1)
Title |
---|
NAND Flash转换层算法的研究与实现;徐岚等;《信息技术》;20180625(第06期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111984547A (zh) | 2020-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108399134B (zh) | 存储装置及存储装置的操作方法 | |
CN102576332B (zh) | 用于电力中断管理的方法和包含电力中断管理的存储器系统 | |
US8301861B2 (en) | Startup reconstruction of logical-to-physical address translation data for solid state disks | |
JP5525605B2 (ja) | フラッシュメモリモジュール | |
US8909883B2 (en) | Storage system and storage control method | |
CN111274061B (zh) | 处理大容量存储器中的不可纠正的数据错误的系统和方法 | |
CN104854554A (zh) | 储存转换层 | |
KR101077904B1 (ko) | 페이지 단위 매핑 기법을 이용한 플래시 메모리 관리 장치 및 방법 | |
CN109344094B (zh) | 地址映射关系反馈方法、装置、设备及可读存储介质 | |
WO2014110095A1 (en) | Method and system for data storage | |
CN101482837B (zh) | 闪存文件系统纠错方法和装置 | |
US10459803B2 (en) | Method for management tables recovery | |
US11354250B2 (en) | Apparatus for transmitting map information in memory system | |
CN111984547B (zh) | 一种地址映射表管理装置、方法、系统及计算机存储介质 | |
CN109558333B (zh) | 具有可变额外存储空间的固态存储设备命名空间 | |
US10127099B2 (en) | Bad sector repair method and apparatus | |
US11029867B2 (en) | Apparatus and method for transmitting map information and read count in memory system | |
KR20200058867A (ko) | 메모리 시스템의 복구 동작 중 비휘발성 메모리 블록의 반복 접근을 줄이는 방법 및 장치 | |
CN110865945B (zh) | 存储设备的扩展地址空间 | |
US8935488B2 (en) | Storage system and storage control method | |
CN111752475B (zh) | 在存储服务器中进行数据存取管理的方法与装置 | |
CN111142792A (zh) | 一种存储装置的掉电保护方法 | |
US11663139B2 (en) | Apparatus for transmitting map information in memory system | |
US20240095163A1 (en) | Memory system including nonvolatile memory and method of controlling the same | |
US11366611B2 (en) | Apparatus for transmitting map information in a memory system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |