CN109189337B - 一种选择数据块的方法、装置、设备及可读存储介质 - Google Patents
一种选择数据块的方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN109189337B CN109189337B CN201810954400.4A CN201810954400A CN109189337B CN 109189337 B CN109189337 B CN 109189337B CN 201810954400 A CN201810954400 A CN 201810954400A CN 109189337 B CN109189337 B CN 109189337B
- Authority
- CN
- China
- Prior art keywords
- data block
- written
- target data
- solid state
- selecting
- 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
- 238000000034 method Methods 0.000 title claims abstract description 42
- 239000007787 solid Substances 0.000 claims abstract description 80
- 230000005012 migration Effects 0.000 claims description 10
- 238000013508 migration Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 9
- 230000000694 effects Effects 0.000 abstract description 2
- 238000007726 management method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 229920006395 saturated elastomer Polymers 0.000 description 1
Images
Classifications
-
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0617—Improving the reliability of storage systems in relation to availability
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- 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/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
Abstract
本发明公开了一种选择数据块的方法,包括:当固态硬盘由未通电状态转换为通电状态时,按照预设的未写满标识判断固态硬盘中是否存在未写满数据块,未写满标识用于标记未写满数据块;若是,则按照预设的规则选择未写满数据块作为目标数据块,以便在执行写操作时,写入数据至目标数据块。该方法在确定固态硬盘中存在未写满数据块时,选择未写满数据块作为目标数据块,以便在执行写操作时,写入数据至目标数据块,从而使数据块尽可能保持写满状态,以提高数据块的存储性能和固态硬盘的产品性能。相应地,本发明公开的一种选择数据块的装置、设备及可读存储介质,也同样具有上述技术效果。
Description
技术领域
本发明数据存储技术领域,更具体地说,涉及一种选择数据块的方法、装置、设备及可读存储介质。
背景技术
固态硬盘SSD(Solid State Drives)又称固盘,是用固态电子存储芯片阵列而制成的硬盘,其中包括多个存储数据的数据块(block),每个数据块预先设置有相应的存储空间,数据块由众多电子元器件构成。
一般地,当固态硬盘的数据块中存在有效数据时,将其标注为已使用(USED_BLOCK),当数据块中不存在有效数据,即数据块为空闲时,将其标注为已擦除(ERASED)。需要说明的是,数据块被写满时,其存储数据的性能将达到最佳。那么当某一数据块中存在有效数据,但其中仍然剩余可用空间,即数据块未被写满时,此种状态下的数据块若长时间放置,会导致其中的数据不够稳定,影响固态硬盘的存储性能。其中,不稳定的原因在于:未被写满的数据块内的电荷量未达到饱和,与未充电的电子元器件(MOS管或二极管)相邻的已充电的电子元器件上的电荷可能出现游离,从而导致数据不稳定,影响数据的准确性。
在现有技术中,当固态硬盘由通电状态转换为未通电状态时,若当前操作的数据块未被写满,则将其标记为已使用(USED_BLOCK)并放置于链表后端,当固态硬盘由未通电状态再次转换为通电状态时,直接选择已擦除数据块执行写操作,如此放置于链表后端的未写满数据块将被搁置,长时间搁置的情况下可能导致其中存储的数据不稳定,从而影响数据块的存储性能。
因此,如何提高数据块的存储性能,是本领域技术人员需要解决的问题。
发明内容
本发明的目的在于提供一种选择数据块的方法、装置、设备及可读存储介质,以提高数据块的存储性能。
为实现上述目的,本发明实施例提供了如下技术方案:
一种选择数据块的方法,包括:
当固态硬盘由未通电状态转换为通电状态时,按照预设的未写满标识判断所述固态硬盘中是否存在未写满数据块,所述未写满标识用于标记所述未写满数据块;
若是,则按照预设的规则选择所述未写满数据块作为目标数据块,以便在执行写操作时,写入数据至所述目标数据块。
其中,所述按照预设的未写满标识判断所述固态硬盘中是否存在未写满数据块,包括:
根据所述未写满标识判断是否存在未写满链表;
若是,则判断所述未写满链表中是否存在所述未写满数据块。
其中,当所述未写满链表中不存在所述未写满数据块时,还包括:
根据预设的已擦除标识判断是否存在已擦除链表;
若是,则判断所述已擦除链表中是否存在已擦除数据块,当所述已擦除链表中存在已擦除数据块时,按照已擦除数据块的标号确定所述目标数据块,以便写入数据至所述目标数据块。
其中,还包括:
当写入数据至所述目标数据块后,所述固态硬盘由通电状态转换为未通电状态时,判断所述目标数据块是否存在可用空间;
若是,则采用未写满标识标记所述目标数据块,并将所述目标数据块添加至所述未写满链表。
其中,当所述目标数据块不存在可用空间时,还包括:
采用已写满标识标记所述目标数据块,并将所述目标数据块添加至已写满链表。
其中,所述采用未写满标识标记所述目标数据块,包括:
将无效数据写入所述目标数据块,并采用未写满标识标记所述目标数据块。
其中,还包括:
判断所述固态硬盘中的可用空间是否低于预设的阈值;
若是,则启动数据迁移进程,将多个未写满数据块中的有效数据迁移至同一目的数据块,并采用已擦除标识标记迁移有效数据后的多个数据块。
一种选择数据块的装置,包括:
判断模块,用于当固态硬盘由未通电状态转换为通电状态时,按照预设的未写满标识判断所述固态硬盘中是否存在未写满数据块,所述未写满标识用于标记所述未写满数据块;
选择模块,用于当所述固态硬盘中存在未写满数据块时,按照预设的规则选择所述未写满数据块作为目标数据块,以便在执行写操作时,写入数据至所述目标数据块。
一种选择数据块的设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述任意一项所述的选择数据块的方法的步骤。
一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的选择数据块的方法的步骤。
通过以上方案可知,本发明实施例提供的一种选择数据块的方法,包括:当固态硬盘由未通电状态转换为通电状态时,按照预设的未写满标识判断所述固态硬盘中是否存在未写满数据块,所述未写满标识用于标记所述未写满数据块;若是,则按照预设的规则选择所述未写满数据块作为目标数据块,以便在执行写操作时,写入数据至所述目标数据块。
基于现有技术可知,为了提高数据块的存储性能,需要尽可能地使数据块保持写满状态。那么为了尽可能使数据块保持写满状态,上述方法在确定固态硬盘中存在未写满数据块时,即时选择未写满数据块作为目标数据块,以便在执行写操作时,写入数据至目标数据块,从而使数据块尽可能保持写满状态,以提高数据块的存储性能,从而提升固态硬盘的产品性能。
相应地,本发明实施例提供的一种选择数据块的装置、设备及可读存储介质,也同样具有上述技术效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例公开的一种选择数据块的方法流程图;
图2为本发明实施例公开的另一种选择数据块的方法流程图;
图3为本发明实施例公开的一种选择数据块的装置示意图;
图4为本发明实施例公开的一种选择数据块的设备示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种选择数据块的方法、装置、设备及可读存储介质,以提高数据块的存储性能。
参见图1,本发明实施例提供的一种选择数据块的方法,包括:
S101、将固态硬盘由未通电状态转换为通电状态;
S102、按照预设的未写满标识判断固态硬盘中是否存在未写满数据块;若是,则执行S103;若否,则执行S104;
其中,未写满标识用于标记未写满数据块,未写满数据块即为其中存储有数据,而且仍然存在可用空间的数据块。
S103、按照预设的规则选择未写满数据块作为目标数据块,以便在执行写操作时,写入数据至目标数据块;
在本实施例中,采用未写满标识标记未写满数据块,采用已擦除标识标记已擦除数据块,那么当固态硬盘由未通电状态转换为通电状态,即固态硬盘上电时,便可以按照未写满标识首先选择未写满数据块作为目标数据块,以便在执行写操作时,率先写入数据至未写满数据块,从而减少固态硬盘中的未写满数据块,提高固态硬盘中的数据块的存储性能。
S104、按照预设的已擦除标识判断固态硬盘中是否存在已擦除数据块;若是,则执行S105;若否,则执行S106;
其中,已擦除标识用于标记已擦除数据块,已擦除数据块即为空闲数据块,其中未存储数据。
S105、按照预设的规则选择已擦除数据块作为目标数据块,以便在执行写操作时,写入数据至目标数据块;
S106、反馈固态硬盘已写满的提示信息至管理端并进行可视化展示。
需要说明的是,固态硬盘中的未写满数据块和已擦除数据块的个数为一个或多个,而当存在多个未写满数据块或存在多个已擦除数据块时,就需要选择其中一个未写满数据块或其中一个已擦除数据块作为目标数据块。此时就需要按照预设的规则进行选择。
优选地,预设的规则为随机规则或顺序规则。具体的,当按照随机规则选择数据块时,可以采用随机函数等方式实现;当按照顺序规则选择数据块时,则可预先为数据块进行标号,标号的顺利可以与操作的执行顺序一致,即:先被执行操作的数据块的标号在先,后被执行操作的数据块的标号顺序记录。而再次需要对数据块执行操作时,则按照标号的顺序或倒序选择数据块。
当固态硬盘中既不存在未写满数据块,又不存在已擦除数据块时,表明当前固态硬盘已达到存储上限,即当前固态硬盘不存在可用空间,那么反馈固态硬盘已写满的提示信息至管理端并进行可视化展示,以便于管理人员查看管理。
可见,本实施例提供了一种选择数据块的方法,该方法为了尽可能使数据块保持写满状态,当固态硬盘上电后,当确定出固态硬盘中存在未写满数据块时,即时选择未写满数据块作为目标数据块,以便在执行写操作时,写入数据至目标数据块,从而使数据块尽可能保持写满状态,以提高数据块的存储性能,从而提升固态硬盘的产品性能。
本发明实施例公开了另一种选择数据块的方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。
参见图2,本发明实施例提供的另一种选择数据块的方法,包括:
S201、将固态硬盘由未通电状态转换为通电状态;
S202、根据未写满标识判断是否存在未写满链表;若是,则执行S203;若否,则执行S205;其中,未写满标识用于标记未写满数据块;
S203、判断未写满链表中是否存在未写满数据块;若是,则执行S204;若否,则执行S205;
S204、按照预设的规则选择未写满数据块作为目标数据块,以便在执行写操作时,写入数据至目标数据块;
S205、根据预设的已擦除标识判断是否存在已擦除链表;若是,则执行S206;若否,则执行S208;其中,已擦除标识用于标记已擦除数据块,
S206、判断已擦除链表中是否存在已擦除数据块;若是,则执行S207;若否,则执行S208;
S207、按照已擦除数据块的标号确定目标数据块,以便写入数据至目标数据块;
S208、反馈固态硬盘已写满的提示信息至管理端并进行可视化展示。
在本实施例中,将固态硬盘中的未写满数据块和已擦除数据块分别用链表标记在一起,即:未写满数据块集中联系在未写满链表中,已擦除数据块集中联系在已擦除链表中,如此可进一步提高执行效率。
其中,未写满链表中的未写满数据块,以及已擦除链表中的已擦除数据块分别按照标号顺序标记,以便于后续选择。
可见,本实施例提供了另一种选择数据块的方法,该方法为了尽可能使数据块保持写满状态,当固态硬盘上电后,当确定存在未写满链表,且未写满链表中存在未写满数据块时,即时选择未写满数据块作为目标数据块,以便在执行写操作时,写入数据至目标数据块,从而使数据块尽可能保持写满状态,以提高数据块的存储性能,从而提升固态硬盘的产品性能。
基于上述任意实施例,需要说明的是,当写入数据至所述目标数据块后,所述固态硬盘由通电状态转换为未通电状态时,判断所述目标数据块是否存在可用空间;
若是,则采用未写满标识标记所述目标数据块,并将所述目标数据块添加至所述未写满链表。
其中,当所述目标数据块不存在可用空间时,还包括:
采用已写满标识标记所述目标数据块,并将所述目标数据块添加至已写满链表。
具体的,当数据块被写满时,则采用已写满标识标记数据块,并将标记后的数据块添加至已写满链表;当数据块在执行写操作后仍然未写满时则采用未写满标识标记数据块,并将标记后的数据块添加至未写满链表。
其中,所述采用未写满标识标记所述目标数据块,包括:将无效数据写入所述目标数据块,并采用未写满标识标记所述目标数据块。具体的,当未写满数据块较多且当前固态硬盘的使用率较低时,表明未写满数据块被放置的时间可能较长,那么为了保障未写满数据块中的数据不被损坏,可以将无效数据写入未写满数据块,以使未写满数据块呈现出写满状态,从而提高未写满数据块的存储性能。当需要使用存储有无效数据的未写满数据块时,首先将其中的无效数据删除,进而再进行相应的操作。
基于上述任意实施例,需要说明的是,还包括:
判断所述固态硬盘中的可用空间是否低于预设的阈值;
若是,则启动数据迁移进程,将多个未写满数据块中的有效数据迁移至同一目的数据块,并采用已擦除标识标记迁移有效数据后的多个数据块。
具体的,当固态硬盘中的未写满数据块较多,且当前固态硬盘中的可用空间低于预设的阈值时,则执行迁移操作。
例如:若当前固态硬盘中的未写满数据块为10个,且每个未写满数据块中存储的数据量为10,假设每个数据块最多可存储的数据量为100;并且当前固态硬盘中的可用空间已低于预设的阈值,那么可以将这10个未写满数据块中的数据集中迁移至同一数据块中,从而便可以存在一个已写满数据块,和9个已擦除数据块,从而可提高固态硬盘的产品性能。其中,所述阈值的大小可根据固态硬盘的总存储空间进行预设并灵活调整,故本说明书在此不做具体限定。
基于上述任意实施例,需要说明的是,由于固态硬盘中的数据块可分为用户数据块(Host Block)和垃圾回收数据块(Garbage Collection Block)。其中,用户数据块即为用户可执行相应操作的数据块,垃圾回收数据块即为执行迁移操作时的目的数据块。
所以若分别标记用户数据块和垃圾回收数据块,可以采用下述方式进行。
针对用户数据块:将“HOST_WRITE_PEND”作为未写满标识,将“USED_BLOCK”作为已写满标识,将“ERASED_BLOCK”作为已擦除标识。
针对垃圾回收数据块,将“GC_WRITE_PEND”作为未写满标识,将“USED_BLOCK”作为已写满标识,将“ERASED_BLOCK”作为已擦除标识。
其中,已写满数据块和已擦除数据块可不做区别。需要说明的是,用户数据块和垃圾回收数据块仅是针对当前数据块被执行的操作状态而拟定的名称,其都是固态硬盘中的正常数据块,并无分别。
基于上述描述,可设计如下数据块标记过程:
(1)针对用户数据块:
固态硬盘下电时,正在执行的写操作对应的用户数据块需要关闭,此时判断此用户数据块是否被写满;若是,则标记为:USED_BLOCK;若否,则标记为HOST_WRITE_PEND;当固态硬盘下次上电时,优先选择标记为HOST_WRITE_PEND的数据块执行写操作。
(2)针对垃圾回收数据块:
固态硬盘下电时,正在执行的写操作对应的垃圾回收数据块(指迁移的目的数据块)需要关闭,此时判断此垃圾回收数据块是否被写满;若是,则标记为:USED_BLOCK;若否,则标记为GC_WRITE_PEND;当固态硬盘下次上电,且需要执行迁移操作时,优先选择标记为GC_WRITE_PEND的数据块执行迁移操作。
下面对本发明实施例提供的一种选择数据块的装置进行介绍,下文描述的一种选择数据块的装置与上文描述的一种选择数据块的方法可以相互参照。
参见图3,本发明实施例提供的一种选择数据块的装置,包括:
判断模块301,用于当固态硬盘由未通电状态转换为通电状态时,按照预设的未写满标识判断所述固态硬盘中是否存在未写满数据块,所述未写满标识用于标记所述未写满数据块;
选择模块302,用于当所述固态硬盘中存在未写满数据块时,按照预设的规则选择所述未写满数据块作为目标数据块,以便在执行写操作时,写入数据至所述目标数据块。
其中,所述判断模块包括:
第一判断单元,用于根据所述未写满标识判断是否存在未写满链表;
第二判断单元,用于当不存在未写满链表时,判断所述未写满链表中是否存在所述未写满数据块。
其中,所述判断模块还包括:
第三判断单元,用于根据预设的已擦除标识判断是否存在已擦除链表;
第四判断单元,用于当不存在已擦除链表时,判断所述已擦除链表中是否存在已擦除数据块,当所述已擦除链表中存在已擦除数据块时,按照已擦除数据块的标号确定所述目标数据块,以便写入数据至所述目标数据块。
其中,还包括:
可用空间判断模块,用于当写入数据至所述目标数据块后,所述固态硬盘由通电状态转换为未通电状态时,判断所述目标数据块是否存在可用空间;
第一标记模块,用于当目标数据块存在可用空间时,采用未写满标识标记所述目标数据块,并将所述目标数据块添加至所述未写满链表。
其中,还包括:
第二标记模块,用于当所述目标数据块不存在可用空间时,采用已写满标识标记所述目标数据块,并将所述目标数据块添加至已写满链表。
其中,所述第一标记模块具体用于:
将无效数据写入所述目标数据块,并采用未写满标识标记所述目标数据块。
其中,还包括:
阈值判断模块,用于判断所述固态硬盘中的可用空间是否低于预设的阈值;
迁移模块,用于当固态硬盘中的可用数据块的数量低于预设的阈值时,启动数据迁移进程,将多个未写满数据块中的有效数据迁移至同一目的数据块,并采用已擦除标识标记迁移有效数据后的多个数据块。
可见,本实施例提供了一种选择数据块的装置,包括:判断模块以及选择模块。当固态硬盘由未通电状态转换为通电状态时,判断模块按照预设的未写满标识判断固态硬盘中是否存在未写满数据块,未写满标识用于标记未写满数据块;当存在未写满数据块时,选择模块按照预设的规则选择未写满数据块作为目标数据块,以便在执行写操作时,写入数据至目标数据块。如此判断模块和选择模块之间分工合作,各司其职,可使数据块尽可能保持写满状态,以此提高数据块的存储性能和固态硬盘的产品性能。
下面对本发明实施例提供的一种选择数据块的设备进行介绍,下文描述的一种选择数据块的设备与上文描述的一种选择数据块的方法及装置可以相互参照。
参见图4,本发明实施例提供的一种选择数据块的设备,包括:
存储器401,用于存储计算机程序;
处理器402,用于执行所述计算机程序时实现上述任意实施例所述的选择数据块的方法的步骤。
下面对本发明实施例提供的一种可读存储介质进行介绍,下文描述的一种可读存储介质与上文描述的一种选择数据块的方法、装置及设备可以相互参照。
一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任意实施例所述的选择数据块的方法的步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种选择数据块的方法,其特征在于,包括:
当固态硬盘由未通电状态转换为通电状态时,按照预设的未写满标识判断所述固态硬盘中是否存在未写满数据块,所述未写满标识用于标记所述未写满数据块;
若是,则按照预设的规则选择所述未写满数据块作为目标数据块,以便在执行写操作时,写入数据至所述目标数据块;
其中,还包括:
当写入数据至所述目标数据块后,所述固态硬盘由通电状态转换为未通电状态时,判断所述目标数据块是否存在可用空间;
若是,则将无效数据写入所述目标数据块,采用未写满标识标记所述目标数据块,并将所述目标数据块添加至未写满链表;未写满链表用于集中标记未写满数据块。
2.根据权利要求1所述的选择数据块的方法,其特征在于,所述按照预设的未写满标识判断所述固态硬盘中是否存在未写满数据块,包括:
根据所述未写满标识判断是否存在未写满链表;
若是,则判断所述未写满链表中是否存在所述未写满数据块。
3.根据权利要求2所述的选择数据块的方法,其特征在于,当所述未写满链表中不存在所述未写满数据块时,还包括:
根据预设的已擦除标识判断是否存在已擦除链表;
若是,则判断所述已擦除链表中是否存在已擦除数据块,当所述已擦除链表中存在已擦除数据块时,按照已擦除数据块的标号确定所述目标数据块,以便写入数据至所述目标数据块。
4.根据权利要求1所述的选择数据块的方法,其特征在于,当所述目标数据块不存在可用空间时,还包括:
采用已写满标识标记所述目标数据块,并将所述目标数据块添加至已写满链表。
5.根据权利要求1-4任意一项所述的选择数据块的方法,其特征在于,还包括:
判断所述固态硬盘中的可用空间是否低于预设的阈值;
若是,则启动数据迁移进程,将多个未写满数据块中的有效数据迁移至同一目的数据块,并采用已擦除标识标记迁移有效数据后的多个数据块。
6.一种选择数据块的装置,其特征在于,包括:
判断模块,用于当固态硬盘由未通电状态转换为通电状态时,按照预设的未写满标识判断所述固态硬盘中是否存在未写满数据块,所述未写满标识用于标记所述未写满数据块;
选择模块,用于当所述固态硬盘中存在未写满数据块时,按照预设的规则选择所述未写满数据块作为目标数据块,以便在执行写操作时,写入数据至所述目标数据块:
其中,还包括:
可用空间判断模块,用于当写入数据至所述目标数据块后,所述固态硬盘由通电状态转换为未通电状态时,判断所述目标数据块是否存在可用空间;
第一标记模块,用于当目标数据块存在可用空间时,将无效数据写入所述目标数据块,采用未写满标识标记所述目标数据块,并将所述目标数据块添加至未写满链表;未写满链表用于集中标记未写满数据块。
7.一种选择数据块的设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1-5任意一项所述的选择数据块的方法的步骤。
8.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-5任意一项所述的选择数据块的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810954400.4A CN109189337B (zh) | 2018-08-21 | 2018-08-21 | 一种选择数据块的方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810954400.4A CN109189337B (zh) | 2018-08-21 | 2018-08-21 | 一种选择数据块的方法、装置、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109189337A CN109189337A (zh) | 2019-01-11 |
CN109189337B true CN109189337B (zh) | 2021-12-17 |
Family
ID=64919156
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810954400.4A Active CN109189337B (zh) | 2018-08-21 | 2018-08-21 | 一种选择数据块的方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109189337B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113032414B (zh) * | 2021-04-21 | 2022-09-23 | 杭州海康威视系统技术有限公司 | 数据管理方法、装置、系统、计算设备及存储介质 |
CN113625947B (zh) * | 2021-06-28 | 2023-08-25 | 苏州浪潮智能科技有限公司 | 一种数据纠错方法、装置、设备及计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104699416A (zh) * | 2013-12-10 | 2015-06-10 | 杭州海康威视系统技术有限公司 | 一种数据存储系统以及一种数据存储方法 |
CN105739911A (zh) * | 2014-12-12 | 2016-07-06 | 华为技术有限公司 | 存储数据的分配方法、装置以及存储系统 |
CN106775477A (zh) * | 2016-12-19 | 2017-05-31 | 湖南国科微电子股份有限公司 | SSD主控BE Buffer、SSD主控、数据传输管理装置及方法 |
CN107817947A (zh) * | 2016-09-14 | 2018-03-20 | 北京金山云网络技术有限公司 | 一种数据存储方法、装置及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102543183B (zh) * | 2010-12-21 | 2015-05-20 | 群联电子股份有限公司 | 数据写入方法、存储器控制器与储存装置 |
TWI467372B (zh) * | 2011-07-06 | 2015-01-01 | Phison Electronics Corp | 指令執行方法、記憶體控制器與記憶體儲存裝置 |
WO2015196470A1 (zh) * | 2014-06-27 | 2015-12-30 | 华为技术有限公司 | 一种将数据写入闪存装置的方法、闪存装置和存储系统 |
EP3220275B1 (en) * | 2015-12-03 | 2020-11-04 | Huawei Technologies Co., Ltd. | Array controller, solid state disk and data writing control method for solid state disk |
-
2018
- 2018-08-21 CN CN201810954400.4A patent/CN109189337B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104699416A (zh) * | 2013-12-10 | 2015-06-10 | 杭州海康威视系统技术有限公司 | 一种数据存储系统以及一种数据存储方法 |
CN105739911A (zh) * | 2014-12-12 | 2016-07-06 | 华为技术有限公司 | 存储数据的分配方法、装置以及存储系统 |
CN107817947A (zh) * | 2016-09-14 | 2018-03-20 | 北京金山云网络技术有限公司 | 一种数据存储方法、装置及系统 |
CN106775477A (zh) * | 2016-12-19 | 2017-05-31 | 湖南国科微电子股份有限公司 | SSD主控BE Buffer、SSD主控、数据传输管理装置及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109189337A (zh) | 2019-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104091617B (zh) | 一种闪存存储设备检测的方法及装置 | |
CN102508787B (zh) | 混合结构内存的内存分配系统及方法 | |
RU2008140263A (ru) | Способы и устройства для упреждающего управления памятью | |
US9524212B2 (en) | Method, device and operating system for processing and using burn data of NAND flash | |
CN107818269B (zh) | 一种基于Flash的文件保存方法及系统 | |
CN109189337B (zh) | 一种选择数据块的方法、装置、设备及可读存储介质 | |
KR20100113083A (ko) | 셀당 단일 비트 nand 플래시 메모리를 에뮬레이팅하기 위한 셀당 다수 비트 nand 플래시 메모리에 대한 제어기 | |
US20120166709A1 (en) | File system of flash memory | |
CN107609014A (zh) | 一种行车记录仪及其视频存储方法、存储介质 | |
CN109284252B (zh) | 一种通信设备中轻量级文件系统管理方法 | |
TW201508749A (zh) | 資料儲存裝置以及快閃記憶體控制方法 | |
CN107491272B (zh) | 一种数据迁移的方法、装置、设备及存储介质 | |
WO2023116346A1 (zh) | 异常掉电下Trim数据的恢复方法、系统及固态硬盘 | |
CN108874309A (zh) | 一种管理固态硬盘中物理块的方法和装置 | |
CN103176920A (zh) | Nor flash掉电保护方法及装置 | |
TW201505028A (zh) | 資料儲存裝置以及快閃記憶體控制方法 | |
CN111414138B (zh) | 一种固态硬盘磨损均衡方法和装置 | |
CN103677893B (zh) | 开机的映像文件的大小缩减方法及运算装置 | |
JP2010124221A5 (zh) | ||
CN104391804B (zh) | 一种nand flash数据存储方法 | |
KR101258589B1 (ko) | 저널링 파일 시스템에 따라 데이터를 기록한 정보저장매체,저널링 파일 시스템을 이용해서 데이터를 기록/복구하는방법 및 장치 | |
CN109325373B (zh) | 一种元数据的保存方法、装置、设备及可读存储介质 | |
CN104461379A (zh) | 提高nand闪存的稳定性的方法和nand闪存 | |
CN101777077B (zh) | 嵌入式设备文件系统实现方法 | |
CN107632880B (zh) | 导出excel数据的方法、存储介质及电子设备 |
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 |