CN102591807A - 一种固态硬盘掉电和写异常处理方法及*** - Google Patents
一种固态硬盘掉电和写异常处理方法及*** Download PDFInfo
- Publication number
- CN102591807A CN102591807A CN2011104556200A CN201110455620A CN102591807A CN 102591807 A CN102591807 A CN 102591807A CN 2011104556200 A CN2011104556200 A CN 2011104556200A CN 201110455620 A CN201110455620 A CN 201110455620A CN 102591807 A CN102591807 A CN 102591807A
- Authority
- CN
- China
- Prior art keywords
- page
- map section
- leaf
- data
- write
- 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
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
一种固态硬盘掉电和写异常处理方法,包括如下步骤:步骤100,对闪存阵列进行扫描,获取存储的管理信息,提取管理信息后进行初始化,生成多个映射区,动态调整映射区,管理MLC到SLC的转换;步骤200,进行数据读写,读取时,通过两个映射区,找到相应物理地址,读取闪存上的数据;步骤300,当写入数据时,如果发生第一映射区已经无空闲低位页,那么启动垃圾页回收管理和磨损均衡管理,磨损均衡管理根据第一映射区映射表中的信息,优先回收垃圾页后,再进行空闲页分配后,将数据写入第一映射区;步骤400,当发生掉电或者写异常的情况,多个映射区进行相应操作恢复数据。
Description
技术领域
本发明涉及固态硬盘领域,尤其涉及一种固态硬盘掉电和写异常处理方法及***。
背景技术
随着MLC(multi level cell)型NAND FLASH大量应用,固态硬盘所用NAND FLASH也主要选择了MLC型NAND FLASH.而对于大多数MLC型NAND FLASH而言,具有显著的特点:即如附图1,同单元里面的两个位被分配在不同的两个页中,即高位页(Upper page)和低位页(Lower page),从而这两个页之间具有强耦合性。其中的写入操作会有两个阶段:低位页写入(1st round)和高位页写入(2nd round),如果高位页写入操作异常,那么低位页的数据也将被损毁。而反之,低位页写入操作异常,则对高位页无影响。
目前固态硬盘都通过多个NAND FLASH控制器作为多个通道并行使用,从而达到采用高数据吞吐量,那么同一时刻存在大量的NAND FLASH读写操作。在***意外掉电时,由于同一时刻存在大量的NAND FLASH写操作,当电源不能保证NAND FLASH写操作的完成时,不仅会破坏当前写入页的数据完整性,必然会破坏跟当前页耦合的低位页中的数据。为了解决该问题,出现了通过备份相关低位页的数据,从而达到抗掉电保护。图2为一种抗掉电和写异常处理技术结构示意图。当固态硬盘***中的备份检测模块101发现需要备份时,通过存储管理模块102,将数据先写入备份存储器104,然后将数据写入主数据存储器103中。一般而言,备份存储器104一般是SLC(single level cell)型NAND FLASH或者NOR FLASH,这类存储器没有耦合页问题,所以不会发生耦合页数据被破坏问题。当主数据存储器103中,发生因写入高位页操作异常,而导致低位页数据被破坏时,该数据可以从备份存储器中恢复出来。
另一发明为快闪存存储器数据写入方法及其快闪存存储器控制器(200810003152.1)中需要额外的备份存储器,这无疑增加了硬件成本和软件设计复杂度,所以又出现了将主数据区划分出一部分区域作为备份区的技术方案。该技术方案在不增加硬件成本情况下解决了耦合页中低位页数据被破坏的问题。
如图3所示,该技术方案将205闪存存储器分为多个区域,包括程序存放区,主数据区,数据备份区。其中主数据区作为用户数据存储区域,其占用205闪存存储器的90%以上的区域,程序存放区是用于存放***程序代码,对用户不可见,而数据备份区是用于备份低位页数据所有。201用于控制***整体运行,202用数据暂存,203是用于管理MLC NAND Flash的指令解析,判断是否需要备份数据,数据备份恢复等作用。
图4A描述了该技术方案使用的数据写入时的流程图。当步骤302收到写入指令后,步骤303会根据写入数据所对应的地址是否为耦合页中的低位页,如果是,则首先对数据进行备份,并且记录所备份数据的所在图2的205中的物理地址和逻辑地址的关系。然后将该数据写入到图2的205中主数据区。
图4B描述了该技术方案使用的上电恢复数据的流程图。当***启动后,图2的201和203会扫描所有205的所有主数据区域和备份区域。通过记录在页内的结构信息和ECC保护机制,可以如步骤402恢复出所有映射关系表,以及如步骤403可以获得上次掉电时写入的最后一个页的数据。步骤404会判断是否数据被损坏,如果无损坏,则无需做数据恢复。如果步骤404发现最后页数据被损坏,则在步骤405判断是否高位页数据被破坏,如果是高位页在通过203得到相应的备份区地址,步骤406读取备份数据后,步骤407写入主数据区。如果405判断,则无备份数据即无需恢复数据,结束恢复数据。
由于该技术方案引入了“备份数据区”和“数据备份策略”,虽然解决了耦合页数据被破坏的问题,也无需额外存储器和设计复杂度。但是由于备份数据区的存在,必然引出用户数据区大小被减少的问题,和数据的备份操作,如304,406,407的操作,也必然引出写放大(Write Amplification)增加的问题,该问题会降低固态硬盘性能,同时由于备份区的读写次数远大于主数据区的读写次数,导致备份区数据块容易老化,降低了整体的磨损均衡(Wear-Leveling),影响了固态硬盘的寿命。另外有更多的方案是通过外加超级电容或者备用电池来防止掉电情况的发生,从而阻止在写高位页操作异常。这类技术方案都集中解决***中缓存的数据如何写入闪存的问题,且只能降低电源失效而导致数据破坏的几率,没有真正解决耦合页的数据被破坏的问题。事实上,主机***允许缓存或者最后一次意外掉电导致丢失当前的数据,但是绝对不允许丢失以往写入的数据。所以如何保护以往数据不被破坏,才是固态硬盘掉电保护的关键。
发明内容
为解决上述问题,本发明公开一种固态硬盘掉电和写异常处理方法及***。发明目的在于本发明通过动态的管理低位页,将低位页作为独立的地址映射区,主机输入的数据只会写入该区域,而且无需另外把数据写入备份区。当该区域耗尽时,启用普通存储区,同时进行垃圾页回收(Garbage Collection),这样不仅保持低位页的区域的大小,保证数据在没有被正确写入高位页时,不会删除低位页的数据。这样在不增加硬件设计成本和复杂度的基础上,不仅解决因电源失效导致写异常产生的低位页的数据被破坏的问题,而且解决了如何无需备份数据即可达到保护低位页数据,减低写放大,提高固态硬盘的性能。
本发明公开一种固态硬盘掉电和写异常处理方法,包括如下步骤:
步骤100,对闪存阵列进行扫描,获取存储的管理信息,提取管理信息后进行初始化,生成多个映射区,动态调整映射区,管理MLC到SLC的转换;
步骤200,进行数据读写,读取时,通过两个映射区,找到相应物理地址,读取闪存上的数据;当数据写入时,通过第一映射区获取一个新的空闲低位页,将数据写入该低位页,并且把映射关系同时带入低位页内,同时更新映射表用于后续读取;
步骤300,当写入数据时,如果发生第一映射区已经无空闲低位页,那么启动垃圾页回收管理和磨损均衡管理;
步骤400,当发生掉电或者写异常的情况,多个映射区进行相应操作恢复数据。
所述步骤100,还包括:
步骤110,通过动态地将一部分MLC转换为SLC使用,***会将这部分区域作为第一映射区,将剩余部分的存储区作为第二映射区,其中第一映射区大小是根据额外提供区和第二映射区的大小进行动态调整,还用于对回收的垃圾页,进行统一管理再分配,根据磨损程度不同,分配给不同的映射区。
所述步骤200,还包括:
步骤210,***开始初始化,执行步骤220;
步骤220,接收写入指令之后,执行步骤230;
步骤230,判断第一映射区是否有空闲页,如果有空闲页,执行步骤,240;
步骤240,获取一个低位页后,直接写入数据,即将数据写入第一映射区,然后完成写操作;当步骤230发现第一映射区没有空闲页时,执行步骤250;
步骤250,查看是否第一映射区是否有无效页,如果有无效页回收第一映射区的无效页,获得低位页,将数据写入后完成操作;如果发现第一映射区无无效页,执行步骤260;
步骤260,启动第二映射区,将第一映射区的部分数据搬移至第二映射区,进行第二映射区目标页判断,直到写入高位页时,回收第一映射区的无效页,执行步骤270;
步骤270,完成回收后,从第一映射区获得一个空闲的低位页,完成数据写入操作。
所述步骤300,还包括:
步骤310,磨损均衡管理根据第一映射区映射表中的信息,优先回收垃圾页后,再进行空闲页分配后,将数据写入第一映射区;如果回收后,仍然无法获得足够的空闲页,那么将一定数量的有效数据搬移至第二映射区,从而第一映射区可获取空闲页后,将数据写入第一映射区;
步骤320,当搬移过程发生写时,当写入目标页为低位页时,不立即释放第一映射区的有效页,一直到跟该低位页相耦合的高位页也被安全的写入完成后,回收掉该低位页对应的第一映射区的无效页。
所述的固态硬盘掉电和写异常处理方法,在发生掉电和写异常情况下所述步骤400,还包括:
步骤410,上电完成初始化后,首先通过扫描闪存内的管理信息,执行步骤420;
步骤420,恢复映射表,执行步骤430;
步骤430,通过判断第二映射区内是否有损毁的数据页,如果有损毁的数据页,执行步骤440,如果没有损毁的数据页,执行步骤470;
步骤440,通过第一映射区映射表查找到相应的数据页后,执行步骤450;
步骤450,获取第二映射区的空闲页,然后执行步骤460;
步骤460,将数据从第一映射区搬移到第二映射区,并设置第一映射区的对应页为无效页后结束;
步骤470,判断是否存在第一映射区与第二映射区映射重叠,如果存在,执行步骤480;
步骤480,设置第一映射区内的对应页为无效页,然后结束恢复操作。
所述步骤100中动态调整映射区,还包括如下步骤:
步骤120,查看第二映射表的对应空闲页状态,执行步骤130;
步骤130,查看第二映射区的空闲页是否达到阈值,执行步骤140,如果未达阈值,执行步骤150;
步骤140,如果大于最大阈值,则增加第一映射区大小,如果小于最小阈值,则减小第一映射区大小;
步骤150,额外提供区是否大于阈值,如果大于阈值,则增加第一映射区,如果小于阈值,执行步骤160;
步骤160,进行回收垃圾页,根据磨损均衡算法,对回收的垃圾页再分配,从而完成调整映射区的大小。
本发明还公开一种固态硬盘掉电和写异常处理***,包括:
缓存管理模块,用于存储对闪存阵列进行扫描后获取的管理信息,并提取管理信息后进行初始化,生成多个映射区,动态调整映射区,管理MLC到SLC的转换;
数据读写模块,当数据读取时,通过两个映射区进行数据读取。当数据写入时,通过第一映射区获取一个新的空闲低位页,将数据写入该低位页,并且把映射关系同时带入低位页内,同时更新映射表用于后续读取;
垃圾回收管理模块,用于当写入数据时,如果发生第一映射区已经无空闲低位页,那么启动垃圾页回收管理和磨损均衡管理;
数据恢复模块,用于当发生掉电或者写异常的情况,多个映射区进行相应操作恢复数据。
所述的固态硬盘掉电和写异常处理***,还包括:
磨损均衡管理模块,用于通过动态地将一部分MLC转换为SLC使用,***会将这部分区域作为第一映射区,将剩余部分的存储区作为第二映射区,其中第一映射区大小是根据额外提供区和第二映射区的大小进行动态调整,还用于对回收的垃圾页,进行统一管理再分配,根据磨损程度不同,分配给不同的映射区。
所述数据读写模块还包括:
初始化模块,用于***开始初始化;
写入指令模块,用于接收写入指令;
判断空闲页模块,用于判断第一映射区是否有空闲页;
写入数据模块,用于获取一个低位页后,直接写入数据,即将数据写入第一映射区,然后完成写操作;
无效页判断模块,用于查看第一映射区是否有无效页,如果有无效页回收第一映射区的无效页,获得低位页,将数据写入后完成操作;
数据搬移模块,用于启动第二映射区,将第一映射区的部分数据搬移至第二映射区,进行第二映射区目标页判断,直到写入高位页时,回收第一映射区的无效页;
完成写入模块,用于完成回收后,从第一映射区获得一个空闲的低位页,完成数据写入操作。
所述垃圾回收管理模块还包括:
映射区释放模块,用于磨损均衡管理根据第一映射区映射表中的信息,优先回收垃圾页,再进行空闲页分配后,将数据写入第一映射区;如果回收后,仍然无法获得足够的空闲页,那么将一定数量的有效数据搬移至第二映射区,从而第一映射区可获取空闲页后,将数据写入第一映射区;
回收释放模块,用于当搬移过程发生写时,当写入目标页为低位页时,不立即释放第一映射区的有效页,一直到跟该低位页相耦合的高位页也被安全的写入完成后,回收掉该低位页对应的第一映射区的无效页。
所述的固态硬盘掉电和写异常处理***,在发生掉电和写异常情况下所述数据恢复模块,还包括:
管理信息模块,用于上电完成初始化后,首先通过扫描闪存内的管理信息;
恢复映射表模块,用于恢复映射表;
损毁判断模块,用于通过判断第二映射区内是否有损毁的数据页;
映射表查找模块,用于通过第一映射区映射表查找到相应的数据页后;
获取空闲页模块,用于获取第二映射区的空闲页;
数据映射设置模块,用于将数据写入第二映射区,并设置第一映射区的对应页为无效页后结束;
映射重叠判断模块,用于判断是否存在第一映射区与第二映射区映射重叠;
无效页设置模块,用于设置第一映射区内的对应页为无效页,然后结束恢复操作。
所述缓存管理模块中动态调整映射区,还包括:
查看空闲页模块,用于查看第二映射表的对应空闲页状态;
阈值判断模块,用于查看第二映射区的空闲页是否大于阈值
极限阈值判断模块,用于如果大于最大阈值,则增加第一映射区大小,如果小于最小阈值,则减小第一映射区大小;
额外提供区阈值判断模块,用于额外提供区是否大于阈值,如果大于阈值,则增加第一映射区,如果小于阈值,进行回收垃圾页,从而完成调整映射区的大小。
本发明的有益效果在于,由于本发明引入了“多映射区技术”,“映射区切换技术”和“动态调整映射区技术”,从另一种思路解决了写异常或者掉电而引起的低位页数据被破坏的问题,同时利用“映射区切换技术”避免了数据备份区的出现,而利用“动态调整映射区技术”有效控制写放大的发生,从而减少固态硬盘性能损失。
附图说明
图1为现有技术中MLC型NAND FLASH存储数据示意图;
图2为一现有技术中固态硬盘抗掉电和写异常处理技术结构示意图;
图3为另一现有技术中固态硬盘抗掉电和写异常处理技术结构示意图;
图4A为另一现有技术中固态硬盘抗掉电和写异常处理流程图;
图4B为另一现有技术中固态硬盘抗掉电和写异常处理流程图;
图5为本发明结构示意图;
图6为本发明数据写入方式的实施流程图;
图7为本发明当第二映射区低位页数据被破坏时恢复数据的流程图;
图8为本发明动态调整第一映射区的示意图
图9为本发明方法流程图。
具体实施方式
下面给出本发明的具体实施方式,结合附图对本发明做出进一步的描述。
如图9所示本发明公开一种固态硬盘掉电和写异常处理方法,包括如下步骤:步骤100,对闪存阵列进行扫描,获取存储的管理信息,提取管理信息后进行初始化,生成多个映射区,动态调整映射区,管理MLC到SLC的转换。
所述步骤100,还包括:
步骤110,通过动态地将一部分MLC转换为SLC使用,***会将这部分区域作为第一映射区,将剩余部分的存储区作为第二映射区,其中第一映射区大小是根据额外提供区和第二映射区的大小进行动态调整,还用于对回收的垃圾页,进行统一管理再分配,根据磨损程度不同,分配给不同的映射区。
所述步骤100中动态调整映射区,还包括如下步骤:
步骤120,查看第二映射表的对应空闲页状态,执行步骤130;
步骤130,查看第二映射区的空闲页是否达到阈值,执行步骤140,如果未达阈值,执行步骤150;
步骤140,如果大于最大阈值,则增加第一映射区大小,如果小于最小阈值,则减小第一映射区大小;
步骤150,额外提供区是否大于阈值,如果大于阈值,则增加第一映射区,如果小于阈值,执行步骤160;
步骤160,进行回收垃圾页,根据磨损均衡算法,对回收的垃圾页再分配,从而完成调整映射区的大小。
本发明公开了无需专门备份数据实现固态硬盘防掉电和写异常处理的方法和***。该方案首先通过MLC转为SLC技术,动态地将一部分MLC转换为类似SLC使用,其中这部分存储区大小是根据额外提供区(Over Provision)动态调整,***会将MLC转换为类似SLC的区域作为第一映射区(Mapping)。将剩余部分的存储区作为第二映射区。当第一映射区耗尽时,通过高效的垃圾页回收(Garbage Collection)技术,将释放出第一映射区的无效区域和搬移部分有效区至第二映射区。即通过两映射区的方式,可以实现无需备份区,实现MLC闪存的写异常导致数据被破坏的问题,同时在映射区切换时,在垃圾回收时,实现数据的搬移,减少写放大。通过动态调整映射区,实现磨损均衡。
如图5所示,507为所用的MLC NAND FLASH,被分为多个区域,其中区域0被当作SLC使用,所用映射区为低位页,如508所示。区域1是作为普通MLC使用,即如509所示,所有映射区为包括高位页和低位页。区域2为额外提供区(Over Provision),区域3为其他使用区。区域0,区域1和区域2都是指逻辑区域,即不是固定的对应的物理地址,是动态映射分配的,对于区域0和区域1其大小是根据区域2,以及垃圾页回收(Garbage Collection)和磨损均衡管理(Wear-Leveling)(垃圾回收和磨损均衡管理是统一管理的,即对区域1和区域2统一实现管理)而确定其大小。当固态硬盘上电之后,微处理器501对整个***进行初始化和上电数据恢复流程,即通过缓存管理模块502存储对整个闪存阵列进行扫描后获取的管理信息,提取管理的相关信息后进行初始化第一映射区503和第二映射区504管理表。
步骤200,进行数据读写,读取时,通过两个映射区,找到相应物理地址,读取闪存上的数据;当数据写入时,通过第一映射区获取一个新的空闲低位页,将数据写入该低位页,并且把映射关系同时带入低位页内,同时更新映射表用于后续读取。
所述步骤200,还包括:
步骤210,***开始初始化,执行步骤220;
步骤220,接收写入指令之后,执行步骤230;
步骤230,判断第一映射区是否有空闲页,如果有空闲页,执行步骤,240;
步骤240,获取一个低位页后,直接写入数据,即将数据写入第一映射区,然后完成写操作;当步骤230发现第一映射区没有空闲页时,执行步骤250;
步骤250,查看是否第一映射区是否有无效页,如果有无效页回收第一映射区的无效页,获得低位页,将数据写入后完成操作;如果发现第一映射区无无效页,执行步骤260;
步骤260,启动第二映射区,将第一映射区的部分数据搬移至第二映射区,进行第二映射区目标页判断,直到写入高位页时,回收第一映射区的无效页,执行步骤270;
步骤270,完成回收后,从第一映射区获得一个空闲的低位页,完成数据写入操作。
当固态硬盘开始工作时,当数据读取时,根据第一映射区503,第二映射区504的映射表,获得所对应的数据区,然后从507中将数据读取。当数据写入时,通过第一映射区503获取一个新的空闲低位页,将数据写入该低位页,并且把映射关系同时带入低位页内,同时更新映射表用于后续读取。
由于第一映射区内的存储器是类似SLC的性质(是指把MLC当成SLC使用,即通过NAND FLASH提供的命令和转变流程,或者通过软件技术在MLC中分离出低位页单独使用,从而在MLC中实现SLC的性质),所以不会发生在写操作异常时,破坏以往的数据。
当写入数据时,如果发生第一映射区已经无空闲低位页,那么启动垃圾页回收管理505(Garbage Collection)管理磨损均衡管理模块506,磨损均衡管理模块506根据第一映射区503映射表中的信息,优先回收垃圾页,由506进行垃圾页再分配。如果回收后,仍然无法获得足够的空闲页,那么进行将一定数量的有效数据搬移至第二映射区。(所述一定数量根据设定的阈值来确定,并不固定。要根据性能和写放大需求而定。)当搬移过程发生写时,当写入目标页为低位页时,不立即释放第一映射区的有效页,一直到跟该低位页相耦合的高位页也被安全的写入完成后,回收掉该低位页对应的第一映射区的有效页。这样可以保证搬移过程,出现写高位页操作异常时,与之对应的低位页数据被破坏,但是对应的数据仍保留在第一映射区,从而恢复该页数据。
所以在本发明中,对于***异常掉电时,如果***处于写入第一映射区操作,那么无需考虑以往低位页数据被破坏的问题。如果***处于写入第二映射区操作,那么由于第一映射区的数据并未被擦除,那么当***重新上电时,必然可以恢复出被破坏的低位页内的数据。
附图6为本发明一个数据写入方式的实施流程图,含有映射区切换过程。***开始初始化完成步骤601,执行步骤602接受写入指令之后,通过步骤603判断第一映射区是否有空闲页,如果有空闲页,执行步骤604则获取一个低位页后,执行步骤605直接写入数据,即将数据写入第一映射区,然后执行步骤611完成写操作。当步骤603发现第一映射区没有空闲页时,通过步骤606查看是否第一映射区是否有无效页,如果有无效页执行步骤607回收第一映射区的无效页,获得低位页,将数据写入后完成操作。如果步骤606发现第一映射区无无效页,则通过步骤608启动第二映射区,将第一映射区的部分数据搬移至第二映射区,当步骤609操作时,通过步骤610进行第二映射区目标页判断,直到写入高位页时,才回收第一映射区的对应无效页数据。完成回收后,从第一映射区获得一个空闲的低位页,完成数据写入操作。
步骤300,当写入数据时,如果发生第一映射区已经无空闲低位页,那么启动垃圾页回收管理和磨损均衡管理;
所述步骤300,还包括:
步骤310,磨损均衡管理根据第一映射区映射表中的信息,优先回收垃圾页后,再进行空闲页分配后,将数据写入第一映射区;如果回收后,仍然无法获得足够的空闲页,那么将一定数量的有效数据搬移至第二映射区,从而第一映射区可获取空闲页后,将数据写入第一映射区;
步骤320,当搬移过程发生写时,当写入目标页为低位页时,不立即释放第一映射区的有效页,一直到跟该低位页相耦合的高位页也被安全的写入完成后,回收掉该低位页对应的第一映射区的无效页。
步骤400,当发生掉电或者写异常的情况,多个映射区进行相应操作恢复数据。
在发生掉电和写异常情况下所述步骤400,还包括:
步骤410,上电完成初始化后,首先通过扫描闪存内的管理信息,执行步骤420;
步骤420,恢复映射表,执行步骤430;
步骤430,通过判断第二映射区内是否有损毁的数据页,如果有损毁的数据页,执行步骤440,如果没有损毁的数据页,执行步骤470;
步骤440,通过第一映射区映射表查找到相应的数据页后,执行步骤450;
步骤450,获取第二映射区的空闲页,然后执行步骤460;
步骤460,将数据从第一映射区搬移到第二映射区,并设置第一映射区的对应页为无效页后结束;
步骤470,判断是否存在第一映射区与第二映射区映射重叠,如果存在,执行步骤480;
步骤480,设置第一映射区内的对应页为无效页,然后结束恢复操作。
附图7是本发明一个当第二映射区低位页数据发生被破坏时,恢复数据的流程图。当步骤701上电完成初始化后,首先通过扫描闪存内的管理信息完成步骤702恢复映射表,通过步骤703判断第二映射区内是否有损毁的数据页,如果有,执行步骤704,通过第一映射表查找到相应的数据页后,执行步骤705,获取第二映射区的空闲页,然后执行步骤706,将数据写入第二映射区,根据图6写入流程把该数据写入第二映射区,并设置第一映射区的对应页为无效页后结束。如果步骤703没有损毁的数据页,需要步骤707判断是否存在映射重叠,如果存在,执行步骤708设置第一映射区内的对应页为无效页,然后结束恢复操作。
图8是本发明一个动态调整第一映射区的示意图。开始工作后,步骤802检查第二映射区的映射表的对应空闲页状态,步骤803查看第二映射区的空闲页是否大于阈值,如果大于最大阈值,则增加第一映射区大小,如果小于最小阈值,则减小第一映射区大小。如果未达阈值,额外提供区(Over Provision)是否大于阈值,如果大于阈值,则增加第一映射区。如果小于阈值,则进行回收垃圾页,从而完成调整映射区的大小。回收时,并不区分是来自第一映射区还是第二映射区,在垃圾页回收处理之后,这些成为额外提供区(OverProvision),统一作为空闲页对两个映射区进行分配。
本发明所公开的固态硬盘掉电和写异常处理***,包括:缓存管理模块,用于存储对闪存阵列进行扫描后获取的管理信息,并提取管理信息后进行初始化,生成多个映射区,动态调整映射区,管理MLC到SLC的转换;数据读写模块,当数据读取时,通过两个映射区进行数据读取。当数据写入时,通过第一映射区获取一个新的空闲低位页,将数据写入该低位页,并且把映射关系同时带入低位页内,同时更新映射表用于后续读取;垃圾回收管理模块,用于当写入数据时,如果发生第一映射区已经无空闲低位页,那么启动垃圾页回收管理和磨损均衡管理;数据恢复模块,用于当发生掉电或者写异常的情况,多个映射区进行相应操作恢复数据。
所述的固态硬盘掉电和写异常处理***,还包括:
磨损均衡管理模块,用于通过动态地将一部分MLC转换为SLC使用,***会将这部分区域作为第一映射区,将剩余部分的存储区作为第二映射区,其中第一映射区大小是根据额外提供区和第二映射区的大小进行动态调整,还用于对回收的垃圾页,进行统一管理再分配,根据磨损程度不同,分配给不同的映射区。
所述的固态硬盘掉电和写异常处理***,所述数据读写模块还包括:
初始化模块,用于***开始初始化;
写入指令模块,用于接收写入指令;
判断空闲页模块,用于判断第一映射区是否有空闲页;
写入数据模块,用于获取一个低位页后,直接写入数据,即将数据写入第一映射区,然后完成写操作;
无效页判断模块,用于查看第一映射区是否有无效页,如果有无效页回收第一映射区的无效页,获得低位页,将数据写入后完成操作;
数据搬移模块,用于启动第二映射区,将第一映射区的部分数据搬移至第二映射区,进行第二映射区目标页判断,直到写入高位页时,回收第一映射区的无效页;
完成写入模块,用于完成回收后,从第一映射区获得一个空闲的低位页,完成数据写入操作。
所述的固态硬盘掉电和写异常处理***,所述垃圾回收管理模块还包括:
映射区释放模块,用于磨损均衡管理根据第一映射区映射表中的信息,优先回收垃圾页,再进行空闲页分配后,将数据写入第一映射区;如果回收后,仍然无法获得足够的空闲页,那么将一定数量的有效数据搬移至第二映射区,从而第一映射区可获取空闲页后,将数据写入第一映射区;
回收释放模块,用于当搬移过程发生写时,当写入目标页为低位页时,不立即释放第一映射区的有效页,一直到跟该低位页相耦合的高位页也被安全的写入完成后,回收掉该低位页对应的第一映射区的无效页。
所述的固态硬盘掉电和写异常处理***,在发生掉电和写异常情况下所述数据恢复模块,还包括:
管理信息模块,用于上电完成初始化后,首先通过扫描闪存内的管理信息;
恢复映射表模块,用于恢复映射表;
损毁判断模块,用于通过判断第二映射区内是否有损毁的数据页;
映射表查找模块,用于通过第一映射区映射表查找到相应的数据页后;
获取空闲页模块,用于获取第二映射区的空闲页;
数据映射设置模块,用于将数据写入第二映射区,并设置第一映射区的对应页为无效页后结束;
映射重叠判断模块,用于判断是否存在第一映射区与第二映射区映射重叠;
无效页设置模块,用于设置第一映射区内的对应页为无效页,然后结束恢复操作。
所述的固态硬盘掉电和写异常处理***,所述缓存管理模块中动态调整映射区,还包括:
查看空闲页模块,用于查看第二映射表的对应空闲页状态;
阈值判断模块,用于查看第二映射区的空闲页是否大于阈值
极限阈值判断模块,用于如果大于最大阈值,则增加第一映射区大小,如果小于最小阈值,则减小第一映射区大小;
额外提供区阈值判断模块,用于额外提供区是否大于阈值,如果大于阈值,则增加第一映射区,如果小于阈值,进行回收垃圾页,从而完成调整映射区的大小。
本发明的有益效果为:
1、本发明可应用于固态硬盘的“多映射区技术”,依据MLC型NAND FLASH可以转化SLC型NAND FLASH使用的特点。把该部分的存储块作为第一映射区,该区没有耦合页相互影响的缺点,即可以解决低位页数据在高位页写操作异常时被破坏的问题,同时由于这部分区域是作为逻辑映射区的,那么无需额外的区域作为备份区。把其余普通MLC型NAND FLASH作为第二映射区,解决如果只有第一映射区,那么闪存类型转换会导致容量减少的问题。
2、本发明可应用于固态硬盘的“映射区切换技术”,根据写入数据对应的第一映射区耗尽时,通过垃圾页回收的方式,将第一映射区的无效页回收或者部分有效数据移至第二映射区。把数据的搬移和垃圾回收结合在一起,从而避免了专用的数据备份过程,减少写放大。在映射区转换时,同时解决了第二映射区低位页数据被破坏的问题。
3、本发明可应用于固态硬盘的“动态调整映射区技术”,为了避免第一映射区的老化快于第二映射区,采用动态调整映射区的方式和统一回收垃圾页和分配空闲页,从而达到整体磨损均衡(Wear-Leveling)。通过动态调整映射区大小,以适应固态硬盘在其不同生命期的性能。
本领域的技术人员在不脱离权利要求书确定的本发明的精神和范围的条件下,还可以对以上内容进行各种各样的修改。因此本发明的范围并不仅限于以上的说明,而是由权利要求书的范围来确定的。
Claims (12)
1.一种固态硬盘掉电和写异常处理方法,其特征在于,包括如下步骤:
步骤100,对闪存阵列进行扫描,获取存储的管理信息,提取管理信息后进行初始化,生成多个映射区,动态调整映射区,管理MLC到SLC的转换;
步骤200,进行数据读写,读取时,通过两个映射区,找到相应物理地址,读取闪存上的数据;当数据写入时,通过第一映射区获取一个新的空闲低位页,将数据写入该低位页,并且把映射关系同时带入低位页内,同时更新映射表用于后续读取;
步骤300,当写入数据时,如果发生第一映射区已经无空闲低位页,那么启动垃圾页回收管理和磨损均衡管理;
步骤400,当发生掉电或者写异常的情况,多个映射区进行相应操作恢复数据。
2.如权利要求1所述的固态硬盘掉电和写异常处理方法,其特征在于,所述步骤100,还包括:
步骤110,通过动态地将一部分MLC转换为SLC使用,***会将这部分区域作为第一映射区,将剩余部分的存储区作为第二映射区,其中第一映射区大小是根据额外提供区和第二映射区的大小进行动态调整,还用于对回收的垃圾页,进行统一管理再分配,根据磨损程度不同,分配给不同的映射区。
3.如权利要求1所述的固态硬盘掉电和写异常处理方法,其特征在于,所述步骤200,还包括:
步骤210,***开始初始化,执行步骤220;
步骤220,接收写入指令之后,执行步骤230;
步骤230,判断第一映射区是否有空闲页,如果有空闲页,执行步骤,240;
步骤240,获取一个低位页后,直接写入数据,即将数据写入第一映射区,然后完成写操作;当步骤230发现第一映射区没有空闲页时,执行步骤250;
步骤250,查看是否第一映射区是否有无效页,如果有无效页回收第一映射区的无效页,获得低位页,将数据写入后完成操作;如果发现第一映射区无无效页,执行步骤260;
步骤260,启动第二映射区,将第一映射区的部分数据搬移至第二映射区,进行第二映射区目标页判断,直到写入高位页时,回收第一映射区的无效页,执行步骤270;
步骤270,完成回收后,从第一映射区获得一个空闲的低位页,完成数据写入操作。
4.如权利要求1所述的固态硬盘掉电和写异常处理方法,其特征在于,所述步骤300,还包括:
步骤310,磨损均衡管理根据第一映射区映射表中的信息,优先回收垃圾页后,再进行空闲页分配后,将数据写入第一映射区;如果回收后,仍然无法获得足够的空闲页,那么将一定数量的有效数据搬移至第二映射区,从而第一映射区可获取空闲页后,将数据写入第一映射区;
步骤320,当搬移过程发生写时,当写入目标页为低位页时,不立即释放第一映射区的有效页,一直到跟该低位页相耦合的高位页也被安全的写入完成后,回收掉该低位页对应的第一映射区的无效页。
5.如权利要求1所述的固态硬盘掉电和写异常处理方法,其特征在于,在发生掉电和写异常情况下所述步骤400,还包括:
步骤410,上电完成初始化后,首先通过扫描闪存内的管理信息,执行步骤420;
步骤420,恢复映射表,执行步骤430;
步骤430,通过判断第二映射区内是否有损毁的数据页,如果有损毁的数据页,执行步骤440,如果没有损毁的数据页,执行步骤470;
步骤440,通过第一映射区映射表查找到相应的数据页后,执行步骤450;
步骤450,获取第二映射区的空闲页,然后执行步骤460;
步骤460,将数据从第一映射区搬移到第二映射区,并设置第一映射区的对应页为无效页后结束;
步骤470,判断是否存在第一映射区与第二映射区映射重叠,如果存在,执行步骤480;
步骤480,设置第一映射区内的对应页为无效页,然后结束恢复操作。
6.如权利要求1所述的固态硬盘掉电和写异常处理方法,其特征在于,所述步骤100中动态调整映射区,还包括如下步骤:
步骤120,查看第二映射表的对应空闲页状态,执行步骤130;
步骤130,查看第二映射区的空闲页是否达到阈值,执行步骤140,如果未达阈值,执行步骤150;
步骤140,如果大于最大阈值,则增加第一映射区大小,如果小于最小阈值,则减小第一映射区大小;
步骤150,额外提供区是否大于阈值,如果大于阈值,则增加第一映射区,如果小于阈值,执行步骤160;
步骤160,进行回收垃圾页,根据磨损均衡算法,对回收的垃圾页再分配,从而完成调整映射区的大小。
7.一种固态硬盘掉电和写异常处理***,其特征在于,包括:
缓存管理模块,用于存储对闪存阵列进行扫描后获取的管理信息,并提取管理信息后进行初始化,生成多个映射区,动态调整映射区,管理MLC到SLC的转换;
数据读写模块,当数据读取时,通过两个映射区进行数据读取。当数据写入时,通过第一映射区获取一个新的空闲低位页,将数据写入该低位页,并且把映射关系同时带入低位页内,同时更新映射表用于后续读取;
垃圾回收管理模块,用于当写入数据时,如果发生第一映射区已经无空闲低位页,那么启动垃圾页回收管理和磨损均衡管理;
数据恢复模块,用于当发生掉电或者写异常的情况,多个映射区进行相应操作恢复数据。
8.如权利要求7所述的固态硬盘掉电和写异常处理***,其特征在于,还包括:
磨损均衡管理模块,用于通过动态地将一部分MLC转换为SLC使用,***会将这部分区域作为第一映射区,将剩余部分的存储区作为第二映射区,其中第一映射区大小是根据额外提供区和第二映射区的大小进行动态调整,还用于对回收的垃圾页,进行统一管理再分配,根据磨损程度不同,分配给不同的映射区。
9.如权利要求7所述的固态硬盘掉电和写异常处理***,其特征在于,所述数据读写模块还包括:
初始化模块,用于***开始初始化;
写入指令模块,用于接收写入指令;
判断空闲页模块,用于判断第一映射区是否有空闲页;
写入数据模块,用于获取一个低位页后,直接写入数据,即将数据写入第一映射区,然后完成写操作;
无效页判断模块,用于查看第一映射区是否有无效页,如果有无效页回收第一映射区的无效页,获得低位页,将数据写入后完成操作;
数据搬移模块,用于启动第二映射区,将第一映射区的部分数据搬移至第二映射区,进行第二映射区目标页判断,直到写入高位页时,回收第一映射区的无效页;
完成写入模块,用于完成回收后,从第一映射区获得一个空闲的低位页,完成数据写入操作。
10.如权利要求8所述的固态硬盘掉电和写异常处理***,其特征在于,所述垃圾回收管理模块还包括:
映射区释放模块,用于磨损均衡管理根据第一映射区映射表中的信息,优先回收垃圾页,再进行空闲页分配后,将数据写入第一映射区;如果回收后,仍然无法获得足够的空闲页,那么将一定数量的有效数据搬移至第二映射区,从而第一映射区可获取空闲页后,将数据写入第一映射区;
回收释放模块,用于当搬移过程发生写时,当写入目标页为低位页时,不立即释放第一映射区的有效页,一直到跟该低位页相耦合的高位页也被安全的写入完成后,回收掉该低位页对应的第一映射区的无效页。
11.如权利要求7所述的固态硬盘掉电和写异常处理***,其特征在于,在发生掉电和写异常情况下所述数据恢复模块,还包括:
管理信息模块,用于上电完成初始化后,首先通过扫描闪存内的管理信息;
恢复映射表模块,用于恢复映射表;
损毁判断模块,用于通过判断第二映射区内是否有损毁的数据页;
映射表查找模块,用于通过第一映射区映射表查找到相应的数据页后;
获取空闲页模块,用于获取第二映射区的空闲页;
数据映射设置模块,用于将数据写入第二映射区,并设置第一映射区的对应页为无效页后结束;
映射重叠判断模块,用于判断是否存在第一映射区与第二映射区映射重叠;
无效页设置模块,用于设置第一映射区内的对应页为无效页,然后结束恢复操作。
12.如权利要求7所述的固态硬盘掉电和写异常处理***,其特征在于,所述缓存管理模块中动态调整映射区,还包括:
查看空闲页模块,用于查看第二映射表的对应空闲页状态;
阈值判断模块,用于查看第二映射区的空闲页是否大于阈值
极限阈值判断模块,用于如果大于最大阈值,则增加第一映射区大小,如果小于最小阈值,则减小第一映射区大小;
额外提供区阈值判断模块,用于额外提供区是否大于阈值,如果大于阈值,则增加第一映射区,如果小于阈值,进行回收垃圾页,从而完成调整映射区的大小。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110455620.0A CN102591807B (zh) | 2011-12-30 | 2011-12-30 | 一种固态硬盘掉电和写异常处理方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110455620.0A CN102591807B (zh) | 2011-12-30 | 2011-12-30 | 一种固态硬盘掉电和写异常处理方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102591807A true CN102591807A (zh) | 2012-07-18 |
CN102591807B CN102591807B (zh) | 2015-03-11 |
Family
ID=46480492
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110455620.0A Active CN102591807B (zh) | 2011-12-30 | 2011-12-30 | 一种固态硬盘掉电和写异常处理方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102591807B (zh) |
Cited By (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102681792A (zh) * | 2012-04-16 | 2012-09-19 | 华中科技大学 | 一种固态盘内存分区方法 |
CN103116550A (zh) * | 2013-01-11 | 2013-05-22 | 深圳市硅格半导体有限公司 | 切换闪存中物理块工作模式的方法和装置 |
WO2014101375A1 (zh) * | 2012-12-31 | 2014-07-03 | 记忆科技(深圳)有限公司 | 固态存储***、装置及数据写入方法 |
CN104503707A (zh) * | 2014-12-24 | 2015-04-08 | 华为技术有限公司 | 读取数据的方法以及装置 |
CN105373491A (zh) * | 2014-08-26 | 2016-03-02 | 扬智科技股份有限公司 | 多通道存储器 |
CN105740171A (zh) * | 2014-12-09 | 2016-07-06 | 航天信息股份有限公司 | 一种ftl数据回收时掉电保护的方法 |
CN105808371A (zh) * | 2014-12-31 | 2016-07-27 | 深圳市硅格半导体有限公司 | 数据备份与恢复方法、控制芯片及存储装置 |
CN106155935A (zh) * | 2016-07-05 | 2016-11-23 | 深圳市瑞耐斯技术有限公司 | 固态硬盘闪存的垃圾回收方法及装置 |
CN106687935A (zh) * | 2014-09-02 | 2017-05-17 | 桑迪士克科技有限责任公司 | 用于通过变更编码格式来减小存储设备的声明容量的过程和装置 |
CN106933705A (zh) * | 2015-12-31 | 2017-07-07 | 北京京存技术有限公司 | 闪存***及其快速备份lsb页的方法和装置 |
CN106935259A (zh) * | 2015-12-31 | 2017-07-07 | 北京京存技术有限公司 | 闪存***及其避免冗余备份lsb页的方法和装置 |
CN106933499A (zh) * | 2015-12-31 | 2017-07-07 | 北京京存技术有限公司 | 一种提高mlc闪存***性能的方法和装置 |
CN107025178A (zh) * | 2015-09-22 | 2017-08-08 | 三星电子株式会社 | 存储器控制器、非易失性存储器***及其操作方法 |
CN107291381A (zh) * | 2017-05-18 | 2017-10-24 | 记忆科技(深圳)有限公司 | 一种固态硬盘动态加速区的实现方法及固态硬盘 |
CN107305478A (zh) * | 2016-04-21 | 2017-10-31 | 慧荣科技股份有限公司 | 储存装置及其控制单元、可用于储存装置的数据储存方法 |
TWI607312B (zh) * | 2016-10-07 | 2017-12-01 | 慧榮科技股份有限公司 | 資料儲存裝置及其資料寫入方法 |
CN107506137A (zh) * | 2017-08-11 | 2017-12-22 | 记忆科技(深圳)有限公司 | 一种提升固态硬盘写性能的方法 |
CN107943713A (zh) * | 2017-11-22 | 2018-04-20 | 深圳忆联信息***有限公司 | 一种提升固态硬盘读性能的方法及固态硬盘 |
CN108255630A (zh) * | 2017-11-29 | 2018-07-06 | 深圳忆联信息***有限公司 | 一种降低固态硬盘异常掉电处理时间的方法 |
CN108733575A (zh) * | 2017-04-20 | 2018-11-02 | 立而鼎科技(深圳)有限公司 | 一种断电重启后逻辑对物理映像表的重建方法、固态硬盘 |
CN108804344A (zh) * | 2018-05-18 | 2018-11-13 | 记忆科技(深圳)有限公司 | 带文件***的闪存存储方法及装置 |
CN108804026A (zh) * | 2018-03-27 | 2018-11-13 | 深圳忆联信息***有限公司 | 一种固态硬盘全盘扫描方法及固态硬盘 |
CN110209356A (zh) * | 2019-06-03 | 2019-09-06 | 深圳忆联信息***有限公司 | 一种提高ssd读写性能的方法及其*** |
WO2020087211A1 (en) * | 2018-10-29 | 2020-05-07 | Micron Technology, Inc. | Slc cache allocation |
CN111597066A (zh) * | 2020-05-14 | 2020-08-28 | 深圳忆联信息***有限公司 | Ssd修复方法、装置、计算机设备及存储介质 |
CN113641532A (zh) * | 2020-04-27 | 2021-11-12 | 宇瞻科技股份有限公司 | 基于分页模式的固态硬盘数据备份还原方法 |
CN114327258A (zh) * | 2021-11-30 | 2022-04-12 | 苏州浪潮智能科技有限公司 | 一种固态硬盘处理方法、***、设备及计算机存储介质 |
CN115495287A (zh) * | 2022-11-16 | 2022-12-20 | 珠海妙存科技有限公司 | 一种mlc nand的备份数据方法、装置及电子设备 |
CN116610512A (zh) * | 2023-07-20 | 2023-08-18 | 合肥康芯威存储技术有限公司 | 一种存储测试设备及其测试方法 |
CN117539692A (zh) * | 2024-01-09 | 2024-02-09 | 武汉麓谷科技有限公司 | 一种zns固态硬盘数据集管理命令实现方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1170228C (zh) * | 2000-11-13 | 2004-10-06 | 松下电器产业株式会社 | 信息处理装置和信息处理方法 |
US20050182892A1 (en) * | 2003-03-19 | 2005-08-18 | Kenichi Nakanishi | Data storage device, method for updating management information in data storage device, and computer program |
CN101425338A (zh) * | 2007-10-29 | 2009-05-06 | 群联电子股份有限公司 | 非易失性存储器的写入方法及使用此方法的控制器 |
CN101483067A (zh) * | 2008-01-11 | 2009-07-15 | 群联电子股份有限公司 | 快闪存储器数据写入方法及其快闪存储器控制器 |
-
2011
- 2011-12-30 CN CN201110455620.0A patent/CN102591807B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1170228C (zh) * | 2000-11-13 | 2004-10-06 | 松下电器产业株式会社 | 信息处理装置和信息处理方法 |
US20050182892A1 (en) * | 2003-03-19 | 2005-08-18 | Kenichi Nakanishi | Data storage device, method for updating management information in data storage device, and computer program |
CN101425338A (zh) * | 2007-10-29 | 2009-05-06 | 群联电子股份有限公司 | 非易失性存储器的写入方法及使用此方法的控制器 |
CN101483067A (zh) * | 2008-01-11 | 2009-07-15 | 群联电子股份有限公司 | 快闪存储器数据写入方法及其快闪存储器控制器 |
Cited By (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102681792B (zh) * | 2012-04-16 | 2015-03-04 | 华中科技大学 | 一种固态盘内存分区方法 |
CN102681792A (zh) * | 2012-04-16 | 2012-09-19 | 华中科技大学 | 一种固态盘内存分区方法 |
US9639441B2 (en) | 2012-12-31 | 2017-05-02 | Ramaxel Technology (Shenzhen) Limited | Solid-state storage system, apparatus and method of writing data |
WO2014101375A1 (zh) * | 2012-12-31 | 2014-07-03 | 记忆科技(深圳)有限公司 | 固态存储***、装置及数据写入方法 |
CN103116550A (zh) * | 2013-01-11 | 2013-05-22 | 深圳市硅格半导体有限公司 | 切换闪存中物理块工作模式的方法和装置 |
CN105373491A (zh) * | 2014-08-26 | 2016-03-02 | 扬智科技股份有限公司 | 多通道存储器 |
CN106687935A (zh) * | 2014-09-02 | 2017-05-17 | 桑迪士克科技有限责任公司 | 用于通过变更编码格式来减小存储设备的声明容量的过程和装置 |
CN105740171A (zh) * | 2014-12-09 | 2016-07-06 | 航天信息股份有限公司 | 一种ftl数据回收时掉电保护的方法 |
CN105740171B (zh) * | 2014-12-09 | 2020-06-12 | 航天信息股份有限公司 | 一种ftl数据回收时掉电保护的方法 |
WO2016101828A1 (zh) * | 2014-12-24 | 2016-06-30 | 华为技术有限公司 | 读取数据的方法以及装置 |
US10261906B2 (en) | 2014-12-24 | 2019-04-16 | Huawei Technologies Co., Ltd. | Data accessing method and apparatus |
CN104503707B (zh) * | 2014-12-24 | 2018-03-06 | 华为技术有限公司 | 读取数据的方法以及装置 |
CN104503707A (zh) * | 2014-12-24 | 2015-04-08 | 华为技术有限公司 | 读取数据的方法以及装置 |
CN105808371A (zh) * | 2014-12-31 | 2016-07-27 | 深圳市硅格半导体有限公司 | 数据备份与恢复方法、控制芯片及存储装置 |
CN107025178A (zh) * | 2015-09-22 | 2017-08-08 | 三星电子株式会社 | 存储器控制器、非易失性存储器***及其操作方法 |
US11243878B2 (en) | 2015-09-22 | 2022-02-08 | Samsung Electronics Co., Ltd. | Simultaneous garbage collection of multiple source blocks |
CN106933499A (zh) * | 2015-12-31 | 2017-07-07 | 北京京存技术有限公司 | 一种提高mlc闪存***性能的方法和装置 |
CN106935259A (zh) * | 2015-12-31 | 2017-07-07 | 北京京存技术有限公司 | 闪存***及其避免冗余备份lsb页的方法和装置 |
CN106933705A (zh) * | 2015-12-31 | 2017-07-07 | 北京京存技术有限公司 | 闪存***及其快速备份lsb页的方法和装置 |
CN106933499B (zh) * | 2015-12-31 | 2020-01-17 | 北京京存技术有限公司 | 一种提高mlc闪存***性能的方法和装置 |
CN107305478B (zh) * | 2016-04-21 | 2021-01-12 | 慧荣科技股份有限公司 | 储存装置及其控制单元、可用于储存装置的数据储存方法 |
CN107305478A (zh) * | 2016-04-21 | 2017-10-31 | 慧荣科技股份有限公司 | 储存装置及其控制单元、可用于储存装置的数据储存方法 |
CN106155935A (zh) * | 2016-07-05 | 2016-11-23 | 深圳市瑞耐斯技术有限公司 | 固态硬盘闪存的垃圾回收方法及装置 |
TWI607312B (zh) * | 2016-10-07 | 2017-12-01 | 慧榮科技股份有限公司 | 資料儲存裝置及其資料寫入方法 |
US10061512B2 (en) | 2016-10-07 | 2018-08-28 | Silicon Motion, Inc. | Data storage device and data writing method thereof |
CN107918588A (zh) * | 2016-10-07 | 2018-04-17 | 慧荣科技股份有限公司 | 数据储存装置及其数据写入方法 |
CN108733575A (zh) * | 2017-04-20 | 2018-11-02 | 立而鼎科技(深圳)有限公司 | 一种断电重启后逻辑对物理映像表的重建方法、固态硬盘 |
CN107291381A (zh) * | 2017-05-18 | 2017-10-24 | 记忆科技(深圳)有限公司 | 一种固态硬盘动态加速区的实现方法及固态硬盘 |
CN107291381B (zh) * | 2017-05-18 | 2020-04-28 | 记忆科技(深圳)有限公司 | 一种固态硬盘动态加速区的实现方法及固态硬盘 |
CN107506137A (zh) * | 2017-08-11 | 2017-12-22 | 记忆科技(深圳)有限公司 | 一种提升固态硬盘写性能的方法 |
CN107943713A (zh) * | 2017-11-22 | 2018-04-20 | 深圳忆联信息***有限公司 | 一种提升固态硬盘读性能的方法及固态硬盘 |
CN108255630A (zh) * | 2017-11-29 | 2018-07-06 | 深圳忆联信息***有限公司 | 一种降低固态硬盘异常掉电处理时间的方法 |
CN108804026A (zh) * | 2018-03-27 | 2018-11-13 | 深圳忆联信息***有限公司 | 一种固态硬盘全盘扫描方法及固态硬盘 |
CN108804026B (zh) * | 2018-03-27 | 2022-02-18 | 深圳忆联信息***有限公司 | 一种固态硬盘全盘扫描方法及固态硬盘 |
CN108804344A (zh) * | 2018-05-18 | 2018-11-13 | 记忆科技(深圳)有限公司 | 带文件***的闪存存储方法及装置 |
US11341048B2 (en) | 2018-10-29 | 2022-05-24 | Micron Technology, Inc. | SLC cache allocation |
WO2020087211A1 (en) * | 2018-10-29 | 2020-05-07 | Micron Technology, Inc. | Slc cache allocation |
US11620216B2 (en) | 2018-10-29 | 2023-04-04 | Micron Technology, Inc. | SLC cache allocation |
CN110209356A (zh) * | 2019-06-03 | 2019-09-06 | 深圳忆联信息***有限公司 | 一种提高ssd读写性能的方法及其*** |
CN113641532A (zh) * | 2020-04-27 | 2021-11-12 | 宇瞻科技股份有限公司 | 基于分页模式的固态硬盘数据备份还原方法 |
CN113641532B (zh) * | 2020-04-27 | 2023-06-20 | 宇瞻科技股份有限公司 | 基于分页模式的固态硬盘数据备份还原方法 |
CN111597066B (zh) * | 2020-05-14 | 2023-06-06 | 深圳忆联信息***有限公司 | Ssd修复方法、装置、计算机设备及存储介质 |
CN111597066A (zh) * | 2020-05-14 | 2020-08-28 | 深圳忆联信息***有限公司 | Ssd修复方法、装置、计算机设备及存储介质 |
CN114327258A (zh) * | 2021-11-30 | 2022-04-12 | 苏州浪潮智能科技有限公司 | 一种固态硬盘处理方法、***、设备及计算机存储介质 |
CN114327258B (zh) * | 2021-11-30 | 2023-08-15 | 苏州浪潮智能科技有限公司 | 一种固态硬盘处理方法、***、设备及计算机存储介质 |
CN115495287A (zh) * | 2022-11-16 | 2022-12-20 | 珠海妙存科技有限公司 | 一种mlc nand的备份数据方法、装置及电子设备 |
CN115495287B (zh) * | 2022-11-16 | 2024-04-09 | 珠海妙存科技有限公司 | 一种mlc nand的备份数据方法、装置及电子设备 |
CN116610512A (zh) * | 2023-07-20 | 2023-08-18 | 合肥康芯威存储技术有限公司 | 一种存储测试设备及其测试方法 |
CN116610512B (zh) * | 2023-07-20 | 2023-10-03 | 合肥康芯威存储技术有限公司 | 一种存储测试设备及其测试方法 |
CN117539692A (zh) * | 2024-01-09 | 2024-02-09 | 武汉麓谷科技有限公司 | 一种zns固态硬盘数据集管理命令实现方法 |
CN117539692B (zh) * | 2024-01-09 | 2024-03-15 | 武汉麓谷科技有限公司 | 一种zns固态硬盘数据集管理命令实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102591807B (zh) | 2015-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102591807B (zh) | 一种固态硬盘掉电和写异常处理方法及*** | |
US8838918B2 (en) | Information processing apparatus and data backup method | |
CN101169751B (zh) | 具有闪存设备的***及其数据恢复方法 | |
CN101483067B (zh) | 快闪存储器数据写入方法及其快闪存储器控制器 | |
US20190220392A1 (en) | Method for reusing destination block related to garbage collection in memory device, associated memory device and controller thereof, and associated electronic device | |
US8706989B2 (en) | Data storage device with power-off recovery system and method thereof | |
CN103577121B (zh) | 一种基于Nand Flash的高可靠线性文件存取方法 | |
CN103136116A (zh) | 存储器存储***及其中控装置、管理方法与断电恢复方法 | |
CN100462944C (zh) | 基于非易失性存储器两个以上连续逻辑块的掉电保护方法 | |
TWI524183B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
CN102508788B (zh) | Ssd及ssd垃圾回收方法和装置 | |
CN101673243B (zh) | 数据储存装置与方法 | |
CN100533408C (zh) | 一种闪存的安全读写方法 | |
CN102591748A (zh) | 固态硬盘及其掉电保护方法、*** | |
CN101494085B (zh) | 防止非易失性存储器发生读取干扰的方法及其控制器 | |
CN102841851A (zh) | 闪存管理方法和闪存设备 | |
CN101923448A (zh) | 一种nand闪存的转换层读写方法 | |
CN101963891A (zh) | 数据存储处理方法与装置、固态硬盘***与数据处理*** | |
CN104281538A (zh) | 一种存储设备的扩容及快照方法和存储设备 | |
CN103744798A (zh) | 固态硬盘的垃圾回收方法 | |
CN102073600B (zh) | 数据备份方法、闪存控制器及闪存储存*** | |
CN102004706A (zh) | 一种基于ftl的闪存擦写掉电保护方法 | |
CN102591790A (zh) | 基于固态硬盘的数据存储快照实现方法及固态硬盘 | |
CN108874574B (zh) | 一种垃圾回收处理方法及相关装置 | |
CN102890655A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |