CN106055279A - 管理固态硬盘的地址映射表的方法、装置及固态硬盘 - Google Patents

管理固态硬盘的地址映射表的方法、装置及固态硬盘 Download PDF

Info

Publication number
CN106055279A
CN106055279A CN201610409461.3A CN201610409461A CN106055279A CN 106055279 A CN106055279 A CN 106055279A CN 201610409461 A CN201610409461 A CN 201610409461A CN 106055279 A CN106055279 A CN 106055279A
Authority
CN
China
Prior art keywords
address mapping
mapping table
page
value
solid state
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.)
Granted
Application number
CN201610409461.3A
Other languages
English (en)
Other versions
CN106055279B (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.)
Inspur Beijing Electronic Information Industry Co Ltd
Original Assignee
Inspur Beijing Electronic Information Industry 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 Inspur Beijing Electronic Information Industry Co Ltd filed Critical Inspur Beijing Electronic Information Industry Co Ltd
Priority to CN201610409461.3A priority Critical patent/CN106055279B/zh
Publication of CN106055279A publication Critical patent/CN106055279A/zh
Application granted granted Critical
Publication of CN106055279B publication Critical patent/CN106055279B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes

Abstract

本发明公开了管理固态硬盘的地址映射表的方法,包括:载入并初始化bitmap表;监测地址映射表页,确定被修改的地址映射表页;判断被修改的地址映射表页是否写入Flash中;若是,将被修改的地址映射表页在bitmap表中对应的位的值设置为已保存值;若否,将被修改的地址映射表页在bitmap表中对应的位的值设置为未保存值;该方法能够根据bitmap表中的位的值可以确定被修改过的地址映射表页,这样可以保证系统掉电或者恢复时,可以准确的将修改过的地址映射表页进行保存和同步,从而保证地址映射表的完整性和数据的同步;本发明还公开了管理固态硬盘的地址映射表的装置及固态硬盘,具有上述效果。

Description

管理固态硬盘的地址映射表的方法、装置及固态硬盘
技术领域
本发明涉及电子技术领域,特别涉及一种管理固态硬盘的地址映射表的方法、装置及固态硬盘。
背景技术
目前大容量的固态硬盘为了提高效率一般采用全页面映射的方法,但此方法会使地址映射表巨大,占用很大的内存空间。在系统突然掉电的情况下,很难在系统板载电容的支持下把整个固态硬盘的地址映射表完整的刷新到Flash中,这样会导致被修改的映射表项丢失,即使在系统上电时也无法将丢失的映射表项恢复,这样会导致系统数据的不一致,严重可能导致系统无法启动。并且系统再次启动时,为了保证数据的一致性,系统需要重构固态盘的地址转换表;通常需要从头扫描固态硬盘的物理页,导致系统启动缓慢。
因此,如何确保被修改的页面在系统突然掉电的情况下可以被快速的刷新到Flash存储器中,进一步在系统启动重构地址映射表时减少扫描页面的数量,加快系统启动速度,是本领域技术人员需要解决的技术问题。
发明内容
本发明的目的是提供一种管理固态硬盘的地址映射表的方法、装置及固态硬盘,能够根据bitmap表中的位的值可以确定被修改过的地址映射表页,以保证系统掉电或者恢复时,可以准确的将修改过的地址映射表页进行保存和同步,从而保证地址映射表的完整性和数据的同步。
为解决上述技术问题,本发明提供一种管理固态硬盘的地址映射表的方法,包括:
载入并初始化bitmap表;其中,地址映射表页与所述bitmap表中的位一一对应;
监测所述地址映射表页,确定被修改的地址映射表页;
判断所述被修改的地址映射表页是否写入Flash中;
若是,则将所述被修改的地址映射表页在所述bitmap表中对应的位的值设置为已保存值;
若否,则将所述被修改的地址映射表页在所述bitmap表中对应的位的值设置为未保存值。
其中,所述bitmap表的构建方法,包括:
将地址映射表按照设定每页内存值进行分页,形成地址映射表页;
将每一页所述地址映射表页与初始bitmap表中的对应位建立映射关系,形成bitmap表。
其中,监测所述地址映射表页,确定被修改的地址映射表页之后,还包括:
判断所述被修改的地址映射表页是否在所述bitmap表的映射范围内;
若不在,则提示出错并重新计算。
其中,在系统掉电后,还包括:
扫描所述bitmap表,确定所述bitmap表中位的值为未保存值所对应的地址映射表页;
将所述所对应的地址映射表页保存到Flash中,并将所述bitmap表同步到Flash中。
其中,在系统重新启动后,还包括:
载入同步到Flash中的所述bitmap表;
扫描所述bitmap表,重构所述bitmap表中位的值为未保存值所对应的地址映射表页。
本发明还提供一种管理固态硬盘的地址映射表的装置,包括:
初始化模块,用于载入并初始化bitmap表;其中,地址映射表页与所述bitmap表中的位一一对应;
监测模块,用于监测所述地址映射表页,确定被修改的地址映射表页;
第一判断模块,用于判断所述被修改的地址映射表页是否写入Flash中;
修改模块,用于若是,则将所述被修改的地址映射表页在所述bitmap表中对应的位的值设置为已保存值;若否,则将所述被修改的地址映射表页在所述bitmap表中对应的位的值设置为未保存值。
其中,还包括:
第二判断模块,用于判断所述被修改的地址映射表页是否在所述bitmap表的映射范围内;
提示模块,用于若不在,则提示出错并重新计算。
其中,还包括:
扫描模块,用于在系统掉电后扫描所述bitmap表,确定所述bitmap表中位的值为未保存值所对应的地址映射表页;
同步保存模块,用于将所述所对应的地址映射表页保存到Flash中,并将所述bitmap表同步到Flash中。
其中,还包括:
载入模块,用于在系统重新启动后载入同步到Flash中的所述bitmap表;
重构模块,用于扫描所述bitmap表,重构所述bitmap表中位的值为未保存值所对应的地址映射表页。
本发明还提供一种固态硬盘,包括:上述任一项所述的管理固态硬盘的地址映射表的装置。
本发明所提供的管理固态硬盘的地址映射表的方法,包括:载入并初始化bitmap表;监测地址映射表页,确定被修改的地址映射表页;判断被修改的地址映射表页是否写入Flash中;若是,将被修改的地址映射表页在bitmap表中对应的位的值设置为已保存值;若否,将被修改的地址映射表页在bitmap表中对应的位的值设置为未保存值;
可见,该方法能够根据bitmap表中的位的值可以确定被修改过的地址映射表页,这样可以保证系统掉电或者恢复时,可以准确的将修改过的地址映射表页进行保存和同步,从而保证地址映射表的完整性和数据的同步;本发明还公开了管理固态硬盘的地址映射表的装置及固态硬盘,具有上述效果,在此不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例所提供的管理固态硬盘的地址映射表的方法的流程图;
图2为本发明实施例所提供的bitmap表与地址映射表页的映射关系示意图;
图3为本发明实施例所提供的管理固态硬盘的地址映射表的装置的结构框图;
图4为本发明实施例所提供的另一管理固态硬盘的地址映射表的装置的结构框图;
图5为本发明实施例所提供的又一管理固态硬盘的地址映射表的装置的结构框图。
具体实施方式
本发明的核心是提供一种管理固态硬盘的地址映射表的方法、装置及固态硬盘,能够根据bitmap表中的位的值可以确定被修改过的地址映射表页,以保证系统掉电或者恢复时,可以准确的将修改过的地址映射表页进行保存和同步,从而保证地址映射表的完整性和数据的同步。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1为本发明实施例所提供的管理固态硬盘的地址映射表的方法的流程图;该方法可以包括:
S100、载入并初始化bitmap表;其中,地址映射表页与所述bitmap表中的位一一对应;
其中,该步骤从Flash中载入并初始化bitmap表,利用bitmap追踪修改的地址映射表页,即根据bitmap表中的位的值可以确定被修改过的地址映射表页。
这里bitmap表中的位与地址映射表页存在一一对应的关系,即每一个地址映射表页对应bitmap表中的一位;地址映射表页的获得是将地址映射表进行分页得到。分页的依据可以是按照每页存储的大小确定,也可以是根据每页存储的内容进行确定,总之是将地址映射表分为若干页(大于一页)。可选的所述bitmap表的构建方法,包括:
将地址映射表按照设定每页内存值进行分页,形成地址映射表页;
将每一页所述地址映射表页与初始bitmap表中的对应位建立映射关系,形成bitmap表。
其中,每页内存值可以根据实际需要进行确定,这里并不对每页内存值的具体数值进行限定,地址映射表页大小可以是4KB,每一页地址映射表页对应bitmap表中的一位。这样可以对地址映射表页的每一个操作进行追踪,并将其记录到bitmap表中。
这里bitmap表中的位数可以大于等于地址映射表页的个数,只要满足每一个地址映射表页都在bitmap表中存在一位与其对应即可。Bitmap表可以作为映射表的一部分保存在Flash上,当系统启动时,被加载到内存中。
列举一个具体实施例,请参考图2,bitmap表中每一位对应一页地址映射表页。
S110、监测所述地址映射表页,确定被修改的地址映射表页;
S120、判断所述被修改的地址映射表页是否写入Flash中;
S130、若是,则将所述被修改的地址映射表页在所述bitmap表中对应的位的值设置为已保存值;
S140、若否,则将所述被修改的地址映射表页在所述bitmap表中对应的位的值设置为未保存值。
其中,这里的步骤S120和步骤S140与步骤S120并不存在先后关系,无论是当存在被修改的地址映射表页时,立即将其对应的bitmap表中的位的值设置为未保存值,之后再跟踪到其是否写入Flash中,若写入,则将其对应的bitmap表中的位的值设置为已保存值;若未写入,则不改变其对应的bitmap表中的位的值;还是先判断被修改的地址映射表页是否写入Flash中,若是,则将被修改的地址映射表页在bitmap表中对应的位的值设置为已保存值;若否,则将被修改的地址映射表页在bitmap表中对应的位的值设置为未保存值;这两种形式都是可以的,只要可以实现在bitmap表中对修改的地址映射表页的操作进行跟踪并记录即可。
这里的已保存值和未保存值的具体设置情况可以根据用户的实际情况进行确定,这里并不对具体的设置情况进行限定,只要可以区分被修改的地址映射表页是否写入Flash中即可。
例如可以用1表示未保存值即修改过且没有写入Flash中,可以用1表示已保存值即修改过且写入Flash中,或未修改过。也可以是用0表示未保存值即修改过且没有写入Flash中,可以用1表示已保存值即修改过且写入Flash中,或未修改过。当然也可以用其数值,或者标志位进行区分。
列举一个具体实施例,请参考图2,bitmap表中每一位对应一页地址映射表页,其中,bitmap表中第5,91,94位对应的地址映射表页存在修改,因此bitmap表中第5,91,94位的数值设置为1且没有写入Flash中。即表明未保存值为1,已保存值为0。
基于上述技术方案,该实施例提供的管理固态硬盘的地址映射表的方法,该方法能够根据bitmap表中的位的值可以确定被修改过的地址映射表页,可以快速的对已修改过的地址映射表页进行跟踪。可以实现修改过的地址映射表页的快速定位和获取;进一步这样可以保证系统掉电或者恢复时,可以准确的将修改过的地址映射表页进行保存和同步,从而保证地址映射表的完整性和数据的同步。
基于上述技术方案,监测所述地址映射表页,确定被修改的地址映射表页之后,还包括:
判断所述被修改的地址映射表页是否在所述bitmap表的映射范围内;
若不在,则提示出错并重新计算。
其中,该步骤可以放在步骤S110之后,或者步骤S120之后;即为了提高准确性,判断被修改的地址映射表页是否在bitmap表的映射范围内,若不在,则证明被修改的地址映射表页与bitmap表的映射关系出现错误,对用户进行提醒,以便快速发现错误且自动重新计算,防止由于计算出错导致的被修改的地址映射表页是否在bitmap表的映射范围内的情况的出现。
下面列举一个具体实施例,当地址映射表页被修改时,先判断是否将此被修改的地址映射表页写回到Flash中,如果未写回,再判断被修改的地址映射表页是否在bitmap表的映射范围内,如果在范围内,将bitmap表中对应位置1;直到该被修改的地址映射表页被刷新到Flash中,则将bitmap表中对应位清零。如果写回,同样判断被修改的地址映射表页是否在bitmap表映射范围内,如果是将bitmap表对应位置清零。
基于上述技术方案,为了在系统掉电后板载电容只能保证系统工作几十毫秒的情况下,把修改过的地址映射表页迅速刷新到Flash中,保证地址映射表的完整性和数据的同步。即可以确保被修改的地址映射表页在系统突然掉电的情况下可以被快速的刷新到Flash存储器中,该方法在系统掉电后,还包括:
扫描所述bitmap表,确定所述bitmap表中位的值为未保存值所对应的地址映射表页;
将所述所对应的地址映射表页保存到Flash中,并将所述bitmap表同步到Flash中。
其中,上述过程即系统掉电后,在系统板载电容的支持下,系统快速扫描bitmap表,找到对应位为未保存值例如1的地址映射表页(即修改过的地址映射表页还没有被刷新到Flash),并将修改过的地址映射表页保存到Flash中,最后同步bitmap表到Flash中。即掉电只对脏页保存,加快了FTL表即地址映射表掉电保存的速度,提高了系统的可靠性。
基于上述技术方案,为了在系统启动重构地址映射表时减少扫描页面的数量,加快系统启动速度,该方法在系统重新启动后,还包括:
载入同步到Flash中的所述bitmap表;
扫描所述bitmap表,重构所述bitmap表中位的值为未保存值所对应的地址映射表页。
其中,上述具体过程可以是系统重新启动后,系统首先载入bitmap表,扫描bitmap表的每一位,找到对应位为未保存值例如1(即掉电时,尚未及时保存的地址映射表页),并重构此地址映射表页,直至bitmap表扫描完毕。加电只对脏页进行重构,加快了系统启动速度。即通过bitmap表对修改的映射表页进行追踪,可以加速脏页(修改未被保存的映射表页)的保存速度,并可以加快重构地址映射表的速度,加快系统的启动速度。
下面通过具体实施例说明上述技术方案,将FTL表进行分页,每页4KB,bitmap表中的每一位代表FTL表中一页的状态,如果一页中的表项修改即被修改过,则将bitmap表中的对应位置1,由于操作系统的延时写入机制,此后一定时机,脏页需要写回Flash,此时同步将bitmap表中的对应位清零。bitmap表中保存的总是脏页的状态。假设500MB的FTL表,如果每个bit描述映射表中的4K内存页面的话,bitmap表大小为15KB左右,bitmap表中脏页(被修改的映射表页)对应偏移量被置1。掉电时,扫描bitmap表的状态,将脏页快速刷入Flash。重构时,读出上次掉电保存的bitmap表,找到需要重构的映射表页,由于系统的局部性原理,通过bitmap表和映射表的关系,只需将少量的脏页重构即可。
基于上述技术方案,该实施例提供的管理固态硬盘的地址映射表的方法,通过bitmap表追踪修改的地址映射表页,掉电时,依靠SSD内的电容,代码快速扫描bitmap表将脏页面在几十ms时间内迅速写入Flash。掉电后没来得及下盘的脏页被丢掉,重启之后,需要将这些丢掉的表页面从Flash Page中重构出来,系统必须保证有哪些脏页上次没有刷的信息保存到Flash,采用bitmap表追踪每一笔对地址映射表的更新并同步刷入bitmap表,并将bitmap表保存到Flash。重启后FTL表代码从Flash将bitmap表读出,并根据bitmap表和映射表的关系扫描,重构FTL表。
本发明实施例提供了管理固态硬盘的地址映射表的方法,能够根据bitmap表中的位的值可以确定被修改过的地址映射表页。
下面对本发明实施例提供的管理固态硬盘的地址映射表的装置及固态硬盘进行介绍,下文描述的管理固态硬盘的地址映射表的装置及固态硬盘与上文描述的管理固态硬盘的地址映射表的方法可相互对应参照。
请参考图3,图3为本发明实施例所提供的管理固态硬盘的地址映射表的装置的结构框图;该装置可以包括:
初始化模块100,用于载入并初始化bitmap表;其中,地址映射表页与所述bitmap表中的位一一对应;
监测模块200,用于监测所述地址映射表页,确定被修改的地址映射表页;
第一判断模块300,用于判断所述被修改的地址映射表页是否写入Flash中;
修改模块400,用于若是,则将所述被修改的地址映射表页在所述bitmap表中对应的位的值设置为已保存值;若否,则将所述被修改的地址映射表页在所述bitmap表中对应的位的值设置为未保存值。
其中,还可以包括:bitmap表构建模块,用于将地址映射表按照设定每页内存值进行分页,形成地址映射表页;将每一页所述地址映射表页与初始bitmap表中的对应位建立映射关系,形成bitmap表。
该装置还可以包括:
第二判断模块,用于判断所述被修改的地址映射表页是否在所述bitmap表的映射范围内;
提示模块,用于若不在,则提示出错并重新计算。
基于上述任意实施例,请参考图4,该装置还包括:
扫描模块500,用于在系统掉电后扫描所述bitmap表,确定所述bitmap表中位的值为未保存值所对应的地址映射表页;
同步保存模块600,用于将所述所对应的地址映射表页保存到Flash中,并将所述bitmap表同步到Flash中。
基于上述实施例,请参考图5,该装置还包括:
载入模块700,用于在系统重新启动后载入同步到Flash中的所述bitmap表;
重构模块800,用于扫描所述bitmap表,重构所述bitmap表中位的值为未保存值所对应的地址映射表页。
本发明实施例还提供一种固态硬盘,包括:上述任一项实施例所述的管理固态硬盘的地址映射表的装置。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的管理固态硬盘的地址映射表的方法、装置及固态硬盘进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

Claims (10)

1.一种管理固态硬盘的地址映射表的方法,其特征在于,包括:
载入并初始化bitmap表;其中,地址映射表页与所述bitmap表中的位一一对应;
监测所述地址映射表页,确定被修改的地址映射表页;
判断所述被修改的地址映射表页是否写入Flash中;
若是,则将所述被修改的地址映射表页在所述bitmap表中对应的位的值设置为已保存值;
若否,则将所述被修改的地址映射表页在所述bitmap表中对应的位的值设置为未保存值。
2.如权利要求1所述的管理固态硬盘的地址映射表的方法,其特征在于,所述bitmap表的构建方法,包括:
将地址映射表按照设定每页内存值进行分页,形成地址映射表页;
将每一页所述地址映射表页与初始bitmap表中的对应位建立映射关系,形成bitmap表。
3.如权利要求2所述的管理固态硬盘的地址映射表的方法,其特征在于,监测所述地址映射表页,确定被修改的地址映射表页之后,还包括:
判断所述被修改的地址映射表页是否在所述bitmap表的映射范围内;
若不在,则提示出错并重新计算。
4.如权利要求1至3任一项所述的管理固态硬盘的地址映射表的方法,其特征在于,在系统掉电后,还包括:
扫描所述bitmap表,确定所述bitmap表中位的值为未保存值所对应的地址映射表页;
将所述所对应的地址映射表页保存到Flash中,并将所述bitmap表同步到Flash中。
5.如权利要求4所述的管理固态硬盘的地址映射表的方法,其特征在于,在系统重新启动后,还包括:
载入同步到Flash中的所述bitmap表;
扫描所述bitmap表,重构所述bitmap表中位的值为未保存值所对应的地址映射表页。
6.一种管理固态硬盘的地址映射表的装置,其特征在于,包括:
初始化模块,用于载入并初始化bitmap表;其中,地址映射表页与所述bitmap表中的位一一对应;
监测模块,用于监测所述地址映射表页,确定被修改的地址映射表页;
第一判断模块,用于判断所述被修改的地址映射表页是否写入Flash中;
修改模块,用于若是,则将所述被修改的地址映射表页在所述bitmap表中对应的位的值设置为已保存值;若否,则将所述被修改的地址映射表页在所述bitmap表中对应的位的值设置为未保存值。
7.如权利要求6所述的管理固态硬盘的地址映射表的装置,其特征在于,还包括:
第二判断模块,用于判断所述被修改的地址映射表页是否在所述bitmap表的映射范围内;
提示模块,用于若不在,则提示出错并重新计算。
8.如权利要求6或7所述的管理固态硬盘的地址映射表的装置,其特征在于,还包括:
扫描模块,用于在系统掉电后扫描所述bitmap表,确定所述bitmap表中位的值为未保存值所对应的地址映射表页;
同步保存模块,用于将所述所对应的地址映射表页保存到Flash中,并将所述bitmap表同步到Flash中。
9.如权利要求8所述的管理固态硬盘的地址映射表的装置,其特征在于,还包括:
载入模块,用于在系统重新启动后载入同步到Flash中的所述bitmap表;
重构模块,用于扫描所述bitmap表,重构所述bitmap表中位的值为未保存值所对应的地址映射表页。
10.一种固态硬盘,其特征在于,包括:如权利要求6至9任一项所述的管理固态硬盘的地址映射表的装置。
CN201610409461.3A 2016-06-12 2016-06-12 管理固态硬盘的地址映射表的方法、装置及固态硬盘 Active CN106055279B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610409461.3A CN106055279B (zh) 2016-06-12 2016-06-12 管理固态硬盘的地址映射表的方法、装置及固态硬盘

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610409461.3A CN106055279B (zh) 2016-06-12 2016-06-12 管理固态硬盘的地址映射表的方法、装置及固态硬盘

Publications (2)

Publication Number Publication Date
CN106055279A true CN106055279A (zh) 2016-10-26
CN106055279B CN106055279B (zh) 2019-05-10

Family

ID=57171165

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610409461.3A Active CN106055279B (zh) 2016-06-12 2016-06-12 管理固态硬盘的地址映射表的方法、装置及固态硬盘

Country Status (1)

Country Link
CN (1) CN106055279B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107832237A (zh) * 2017-11-22 2018-03-23 深圳忆联信息系统有限公司 一种快速重建未映射表的方法及固态硬盘
CN108614665A (zh) * 2016-12-09 2018-10-02 北京京存技术有限公司 基于NANDflash的映射表数据更新方法和装置
CN108664418A (zh) * 2017-03-27 2018-10-16 慧荣科技股份有限公司 数据储存装置以及其操作方法
CN108804033A (zh) * 2018-05-18 2018-11-13 记忆科技(深圳)有限公司 基于断电重续的全盘扫描方法、装置、计算机设备及介质
CN109902031A (zh) * 2017-12-07 2019-06-18 爱思开海力士有限公司 存储系统及其操作方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6826563B1 (en) * 2001-05-29 2004-11-30 Oracle International Corporation Supporting bitmap indexes on primary B+tree like structures
US20080155317A1 (en) * 2006-10-02 2008-06-26 Samsung Electronics Co. Ltd. Apparatus, memory device controller and method of controlling a memory device
CN101546249A (zh) * 2008-03-26 2009-09-30 中兴通讯股份有限公司 磁盘阵列在线容量扩展方法
CN102306128A (zh) * 2011-09-16 2012-01-04 北京星网锐捷网络技术有限公司 磁盘管理方法、装置及网络设备
CN104090730A (zh) * 2014-07-08 2014-10-08 飞天诚信科技股份有限公司 一种对存储设备进行数据读写的方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6826563B1 (en) * 2001-05-29 2004-11-30 Oracle International Corporation Supporting bitmap indexes on primary B+tree like structures
US20080155317A1 (en) * 2006-10-02 2008-06-26 Samsung Electronics Co. Ltd. Apparatus, memory device controller and method of controlling a memory device
CN101546249A (zh) * 2008-03-26 2009-09-30 中兴通讯股份有限公司 磁盘阵列在线容量扩展方法
CN102306128A (zh) * 2011-09-16 2012-01-04 北京星网锐捷网络技术有限公司 磁盘管理方法、装置及网络设备
CN104090730A (zh) * 2014-07-08 2014-10-08 飞天诚信科技股份有限公司 一种对存储设备进行数据读写的方法及装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108614665A (zh) * 2016-12-09 2018-10-02 北京京存技术有限公司 基于NANDflash的映射表数据更新方法和装置
CN108614665B (zh) * 2016-12-09 2021-04-02 北京兆易创新科技股份有限公司 基于NAND flash的映射表数据更新方法和装置
CN108664418A (zh) * 2017-03-27 2018-10-16 慧荣科技股份有限公司 数据储存装置以及其操作方法
CN107832237A (zh) * 2017-11-22 2018-03-23 深圳忆联信息系统有限公司 一种快速重建未映射表的方法及固态硬盘
CN109902031A (zh) * 2017-12-07 2019-06-18 爱思开海力士有限公司 存储系统及其操作方法
CN109902031B (zh) * 2017-12-07 2023-12-08 爱思开海力士有限公司 存储系统及其操作方法
CN108804033A (zh) * 2018-05-18 2018-11-13 记忆科技(深圳)有限公司 基于断电重续的全盘扫描方法、装置、计算机设备及介质
CN108804033B (zh) * 2018-05-18 2021-04-20 记忆科技(深圳)有限公司 基于断电重续的全盘扫描方法、装置、计算机设备及介质

Also Published As

Publication number Publication date
CN106055279B (zh) 2019-05-10

Similar Documents

Publication Publication Date Title
CN106055279A (zh) 管理固态硬盘的地址映射表的方法、装置及固态硬盘
CN104461391B (zh) 一种存储设备元数据管理处理方法及系统
CN103914393B (zh) 一种基于mcu的flash不丢失更新存储方法
TWI645404B (zh) 資料儲存裝置以及非揮發式記憶體操作方法
CN107728937B (zh) 一种使用非易失性内存介质的键值对持久存储方法及系统
CN103019890B (zh) 一种块级别的磁盘数据保护系统及其方法
CN103577121A (zh) 一种基于nand flash的高可靠线性文件存取方法
RU2014145359A (ru) Способ отправки данных, способ приема данных и устройство хранения данных
CN106294019A (zh) 一种操作系统镜像保存和恢复方法及装置
CN107643880A (zh) 基于分布式文件系统的文件数据迁移的方法及装置
CN108694231A (zh) 使用nvm并通过多个日志记录缓冲器来预写式日志记录
CN103608866A (zh) 用于闪存存储器的数据擦除方法及装置
CN104166601B (zh) 一种存储数据的备份方法和装置
CN103577574A (zh) 一种基于nand flash的高可靠线性文件系统
CN106371763A (zh) 一种存储快照的方法、装置、磁盘及计算机
US20240020240A1 (en) Method for storing l2p table, system, device, and medium
GB2543392A (en) Methods and systems for improving storage journaling
CN101794261B (zh) 映射表数据恢复方法及装置
KR20170098900A (ko) 트랜잭션 처리 방법, 장치 및 컴퓨터 시스템
CN105138426B (zh) 一种基于快照的业务级数据一致性保护方法及装置
CN104899114A (zh) 一种固态硬盘上的连续时间数据保护方法
CN109144754A (zh) 一种可靠性测试方法及装置
CN104391802A (zh) 一种精简池元数据节点刷新一致性保护方法
CN107545022B (zh) 磁盘管理方法及装置
CN102063365B (zh) 一种记录单板运行信息的方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant