CN111949558B - 一种垃圾数据回收方法、装置和存储设备 - Google Patents
一种垃圾数据回收方法、装置和存储设备 Download PDFInfo
- Publication number
- CN111949558B CN111949558B CN201910407379.0A CN201910407379A CN111949558B CN 111949558 B CN111949558 B CN 111949558B CN 201910407379 A CN201910407379 A CN 201910407379A CN 111949558 B CN111949558 B CN 111949558B
- Authority
- CN
- China
- Prior art keywords
- data
- alternate
- writing
- proportion
- data block
- 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 52
- 238000011084 recovery Methods 0.000 title claims abstract description 44
- 238000004064 recycling Methods 0.000 claims description 15
- 238000001514 detection method Methods 0.000 claims description 9
- 238000003780 insertion Methods 0.000 abstract 1
- 230000037431 insertion Effects 0.000 abstract 1
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 3
- 230000035515 penetration Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000013480 data collection Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
Abstract
本发明实施例公开了一种垃圾数据回收方法、装置和存储设备。该垃圾数据回收方法包括:获取写入操作命令;获取垃圾回收指令;检测并确定所述垃圾回收指令对应的原始数据块中的无效数据占比;根据所述无效数据占比确定穿插交替写入比例,并以所述穿插交替写入比例将用户写入操作命令对应的至少部分新数据和所述原始数据块中的至少部分有效数据穿插交替写入。本发明实施例解决了现有的垃圾回收与用户新数据穿***例控制较为粗糙的问题,使得垃圾回收时原始数据块中的有效数据可以更加精确地控制写入比例,避免了垃圾回收时容易造成垃圾回收量过多或用户访问量过多的情况,能够在保证正常的用户访问下进行及时地垃圾回收。
Description
技术领域
本发明实施例涉及存储技术领域,尤其涉及一种存储芯片的垃圾数据回收方法、装置和存储设备。
背景技术
在基于NAND flash的存储设备中,垃圾回收(Garbage Collection,GC)是指对flash存储空间上的有效旧数据进行整合。GC的过程是选择一个旧的数据块,将其中的有效数据整合写入到另一个新的数据块。
通常GC访问的过程穿插在用户访问时写入新数据的过程中,且GC访问与用户访问时穿插写入的比例在某次新数据写入的过程中或者在写入某个新数据块的过程中是固定的。但由于GC和用户新数据穿插写入比例的确定多取决于存在无效数据的旧数据块的数量,而真正穿插写入新数据块的是其中的有效数据,因此GC与用户新数据的穿插写入比例不能得到精确地控制,GC穿插写入的控制比较粗糙,容易造成GC访问量过多或用户访问量过多的情况,影响用户访问或GC操作。
发明内容
本发明提供一种存储芯片的垃圾数据回收方法、装置和存储设备,以更加精确地控制垃圾回收时原始数据块中的有效数据的写入比例。
第一方面,本发明实施例提供了一种垃圾数据回收方法,包括:
获取写入操作命令;
获取垃圾回收指令;
检测并确定所述垃圾回收指令对应的原始数据块中的无效数据占比;
根据所述无效数据占比确定穿插交替写入比例,并以所述穿插交替写入比例将用户写入操作命令对应的至少部分新数据和所述原始数据块中的至少部分有效数据穿插交替写入。
可选地,所述获取垃圾回收指令之前,还包括:
确定需要进行垃圾回收的原始数据块数量和位置;
所述垃圾回收指令包括依次回收原始数据块指令。
可选地,所述检测并确定垃圾回收指令对应的原始数据块中的无效数据占比,包括:
检测并确定垃圾回收指令对应的当前原始数据块中的无效数据占比;
所述根据所述无效数据占比确定穿插交替写入比例,并以所述穿插交替写入比例将用户写入操作命令对应的至少部分新数据和所述原始数据块中的至少部分有效数据穿插交替写入,包括:
根据所述无效数据占比确定当前原始数据块穿插交替写入比例,并以所述当前原始数据块穿插交替写入比例将用户写入操作对应的至少部分新数据和当前的所述原始数据块中的至少部分有效数据穿插交替写入。
可选地,所述根据所述无效数据占比确定穿插交替写入比例,并以所述穿插交替写入比例将用户写入操作命令对应的至少部分新数据和所述原始数据块中的至少部分有效数据穿插交替写入,包括:
根据所述无效数据占比确定穿插交替写入比例,并以所述穿插交替写入比例将用户写入操作命令对应的部分新数据和所述原始数据块中的全部有效数据穿插交替写入;
在所述根据所述无效数据占比确定穿插交替写入比例,并以所述穿插交替写入比例将用户写入操作命令对应的部分新数据和所述原始数据块中的全部有效数据穿插交替写入之后,还包括:
将用户写入操作对应的剩余新数据写入。
可选地,所述根据所述无效数据占比确定穿插交替写入比例,并以所述穿插交替写入比例将用户写入操作命令对应的至少部分新数据和所述原始数据块中的至少部分有效数据穿插交替写入,包括:
根据所述无效数据占比确定穿插交替写入比例,并以所述穿插交替写入比例将用户写入操作命令对应的全部新数据和所述原始数据块中的部分有效数据穿插交替写入;
在所述根据所述无效数据占比确定穿插交替写入比例,并以所述穿插交替写入比例将用户写入操作命令对应的全部新数据和所述原始数据块中的部分有效数据穿插交替写入之后,还包括:
将所述原始数据块中的剩余有效数据与下一次写入操作命令对应的至少部分新数据按照当前原始数据块穿插交替写入比例写入。
可选地,所述以所述穿插交替写入比例将用户写入操作对应的至少部分新数据和所述原始数据块中的至少部分有效数据穿插交替写入,包括:
以所述穿插交替写入比例将用户写入操作对应的至少部分新数据和所述原始数据块中的至少部分有效数据穿插交替写入同一目标数据块。
可选地,所述穿插交替写入比例≤所述无效数据占比。
可选地,所述以所述穿插交替写入比例将用户写入操作对应的至少部分新数据和所述原始数据块中的至少部分有效数据穿插交替写入,包括:
以所述穿插交替写入比例将用户写入操作对应的至少部分新数据和所述原始数据块中的至少部分有效数据穿插交替分别写入新数据目标数据块和垃圾回收目标数据块。
可选地,所述穿插交替写入比例大于或等于所述无效数据占比的90%。
第二方面,本发明实施例还提供了一种垃圾数据回收装置,包括:
获取模块,用于获取写入操作命令和垃圾回收指令;
检测模块,用于检测并确定所述垃圾回收指令对应的原始数据块中的无效数据占比;
处理模块,用于根据所述无效数据占比确定穿插交替写入比例,并以所述穿插交替写入比例将用户写入操作对应的至少部分新数据和所述原始数据块中的至少部分有效数据穿插交替写入。
第三方面,本发明实施例还提供了一种存储设备,包括如第二方面所述的垃圾数据回收装置。
本发明实施例提供的存储芯片的垃圾数据回收方法、装置和存储设备,通过获取写入操作命令和垃圾回收指令,并检测和确定垃圾回收指令对应的原始数据块中的无效数据占比,然后根据无效数据占比确定穿插交替写入比例,并以穿插交替写入比例将用户写入操作命令对应的至少部分新数据和原始数据块中的至少部分有效数据穿插交替写入,可以将原始数据块中的有效数据按照确定的穿插交替写入比例写入新的数据块中,从而解决了现有的垃圾回收与用户新数据穿***例控制较为粗糙的问题,使得垃圾回收时原始数据块中的有效数据可以更加精确地控制写入比例,避免了垃圾回收时容易造成垃圾回收量过多或用户访问量过多的情况,能够在保证正常的用户访问下进行及时地垃圾回收。
附图说明
图1是本发明实施例一提供了一种垃圾数据回收方法的流程图;
图2是本发明实施例二提供的一种垃圾数据回收方法的流程图;
图3是本发明实施例三提供的一种垃圾数据回收方法的流程图;
图4是本发明实施例四提供的一种垃圾数据回收方法的流程图;
图5是本发明实施例提供的一种垃圾数据回收装置的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1是本发明实施例一提供了一种垃圾数据回收方法的流程图,本实施例可适用于存储设备进行数据回收的情况,该方法可以由本发明实施例中的数据垃圾数据回收装置来执行,该装置可以通过软件和/或硬件的方式实现,并一般可以集成在存储设备中,参考图1,该垃圾数据回收方法包括:
S110、获取写入操作命令;
其中,存储设备可以是基于NAND flash的存储设备,具体地,基于NNAD flash的存储设备可包括前端层、转换层和后端层,前端层用于与主机进行通讯,例如,接收主机发送的控制指令,控制指令包括读命令、写命令和擦除命令;转换层用于根据控制指令进行软件操作,软件操作包括但不限于逻辑地址到物理地址的转换、地址映射表管理、损耗均衡管理和坏块管理;后端层用于根据控制指令对NAND flash存储器进行读、写或擦除操作。该存储设备可通过前端层接受用户的操作指令进行读、写、擦除等操作,写入操作命令则为用户写入新数据而产生的操作指令。
S120、获取垃圾回收指令;
用户将存储设备中的文件进行删除等操作时,在存储设备内部仅仅是通过在文件表中标记该文件已删除,而存储设备中的数据块的数据仍存在但已为无效数据,在检测到存储设备中的垃圾数据块数量较多时,则可触发垃圾回收指令,以清除无效数据。
S130、检测并确定垃圾回收指令对应的原始数据块中的无效数据占比;
在获取到垃圾回收指令时则意味着存储设备中的垃圾数据块需要清理,具体地需要检测和确定垃圾回收指令对应的原始数据块,即存在无效数据的垃圾数据块,并确定这些原始数据块中的无效数据量和有效数据量,获得无效数据在该原始数据块中的占比。
S140、根据无效数据占比确定穿插交替写入比例,并以穿插交替写入比例将用户写入操作命令对应的至少部分新数据和原始数据块中的至少部分有效数据穿插交替写入。
其中用户需要写入的新数据与原始数据块中的有效数据会在数据量的维度上交替穿插写入存储数据块中,而穿插交替写入比例则为在数据量维度上的穿插交替写入比例,示例性地,穿插交替写入的过程为先写入10kb新数据,然后写入20kb原始数据块中的有效数据,继而再写入10kb新数据,并依次交替穿插写入。在确定原始数据块中的无效数据占比后,即可以该无效数据占比作为参照设置新写入的新数据的比例,即确定穿插交替写入比例,从而明确写入的新数据的数据量和有效数据的比例。需要说明的是,由于存在无效数据的原始数据块不止一个,因此,每一原始数据块均存在一个无效数据占比,在写入一原始数据块中的有效数据时,则参照当前原始数据块的无效数据占比确定有效数据和新数据的穿插交替写入比例。
本发明实施例一提供的存储芯片的垃圾数据回收方法,通过获取写入操作命令和垃圾回收指令,并检测和确定垃圾回收指令对应的原始数据块中的无效数据占比,然后根据无效数据占比确定穿插交替写入比例,并以穿插交替写入比例将用户写入操作命令对应的至少部分新数据和原始数据块中的至少部分有效数据穿插交替写入,可以将原始数据块中的有效数据按照确定的穿插交替写入比例写入新的数据块中,从而解决了现有的垃圾回收与用户新数据穿***例控制较为粗糙的问题,使得垃圾回收时原始数据块中的有效数据可以更加精确地控制写入比例,避免了垃圾回收时容易造成垃圾回收量过多或用户访问量过多的情况,能够在保证正常的用户访问下进行及时地垃圾回收。
需要说明的是,本实施例提供的垃圾数据回收方法中,步骤S110、获取写入操作命令和步骤S120、获取垃圾回收指令,并无不限定前后顺序,写入操作命令和垃圾回收命令仅为进行穿插交替写入模式进行垃圾回收的必要条件。
另外可选地,在步骤S140中,以穿插交替写入比例将用户写入操作对应的至少部分新数据和原始数据块中的至少部分有效数据穿插交替写入时,其写入的地址可以位于同一新的数据块中,也可以分别写入两个新的数据块中,但其穿插写入时应按照穿插交替写入比例进行。具体可选地,以穿插交替写入比例将用户写入操作对应的至少部分新数据和原始数据块中的至少部分有效数据穿插交替写入时可写入同一目标数据块中,也可以分别写入新数据目标数据块和垃圾回收目标数据块。
具体地,在将新数据和原始数据块中的有效数据穿插交替写入同一目标数据块中,可以按照同一数据块地址进行写入,使穿插交替写入时寻址更简单。但在读取数据时,会因为新数据和原始数据块中的有效数据存储位置交替排布,而导致读取时需要进行数据识别,使读取步骤变得繁琐。将新数据和原始数据块中的有效数据穿插交替着分别写入两个目标数据块时,尽管需要分别寻址,但在读取新数据或读取原始数据块中的有效数据时,则可直接连续读取,节省了读取数据的时间。
进一步地,为了保证一原始数据块中的有效数据位于同一个目标数据块中,则目标数据块中写入的新数据应不大于原始数据块中的无效数据,故而原始数据块中的无效数据占比应大于或等于新数据的穿插交替写入比例。
另外,需要说明的是,优选将写入同一目标块中的新数据等于原始数据块中有效数据对应的无效数据量。而由于实际的写入过程可能因需要增加其他数据,使得实际写入的原始数据块中有效数据量会变少,因此可选地,穿插交替写入比例大于或等于无效数据占比的90%。
实施例二
针对于存储设备中存在较多数据块中含有无效数据时,均需要进行垃圾回收处理,并且多个原始数据块中的无效数据量并不相同。针对于此,本实施例二提供了一种具体的垃圾数据回收方法,图2是本发明实施例二提供的一种垃圾数据回收方法的流程图,参考图2,本发明实施例的方法具体包括如下步骤:
S210、获取写入操作命令;
S220、确定需要进行垃圾回收的原始数据块数量和位置;垃圾回收指令包括依次回收原始数据块指令;
其中,在获取垃圾回收指令之前,存储设备的转换层可对数据块进行管理,其中包括对包含无效数据的垃圾数据块的检测,即对需要进行垃圾回收的原始数据块的检测,在确定包含无效数据的原始数据块的数量和位置后,即可发出垃圾回收指令。该步骤中的垃圾回收指令通常由存储设备的管理软件经自动检测后发出,并且会根据需要回收的原始数据块的位置,确定原始数据块的回收顺序,发出依次回收原始数据块指令,保证垃圾数据块的回收按序进行。
S230、获取垃圾回收指令;
S240、检测并确定垃圾回收指令对应的当前原始数据块中的无效数据占比;
S250、根据无效数据占比确定当前原始数据块穿插交替写入比例,并以当前原始数据块穿插交替写入比例将用户写入操作对应的至少部分新数据和当前的原始数据块中的至少部分有效数据穿插交替写入。
本发明实施例二提供的垃圾数据回收方法,通过在确定需要进行垃圾回收的原始数据块数量和位置之后,获取垃圾回收指令,另外通过获取写入操作命令,检测和确定垃圾回收指令对应的原始数据块中的无效数据占比,然后根据无效数据占比确定穿插交替写入比例,并以穿插交替写入比例将用户写入操作命令对应的至少部分新数据和原始数据块中的至少部分有效数据穿插交替写入,可以将原始数据块中的有效数据按照确定的穿插交替写入比例写入新的数据块中,从而解决了现有的垃圾回收与用户新数据穿***例控制较为粗糙的问题,使得垃圾回收时原始数据块中的有效数据可以更加精确地控制写入比例,避免了垃圾回收时容易造成垃圾回收量过多或用户访问量过多的情况,能够在保证正常的用户访问下进行及时地垃圾回收。
实施例三
本实施例是在上述技术方案基础上进行的完善和优化,具体地,针对垃圾回收过程中,用户新写入的数据量较大而原始数据块中的有效数据量较少时,本发明实施例三提供了一种垃圾数据回收方法,图3是本发明实施例三提供的一种垃圾数据回收方法的流程图,参考图3,本发明实施例的方法具体包括如下步骤:
S310、获取写入操作命令;
S320、获取垃圾回收指令;
S330、检测并确定垃圾回收指令对应的原始数据块中的无效数据占比;
S340、根据无效数据占比确定穿插交替写入比例,并以穿插交替写入比例将用户写入操作命令对应的部分新数据和原始数据块中的全部有效数据穿插交替写入;
S350、将用户写入操作对应的剩余新数据写入。
其中,由于用户新写入的数据量较大而原始数据块中的有效数据量较少,原始数据块中的有效数据在穿插交替写入的过程中完全移动至新的数据块中,此时存在剩余的新数据未能与原始数据块中的有效数据穿插写入,此时可将剩余的新数据直接写入新数据块中即可。
本发明实施例三提供的垃圾数据回收方法,通过获取写入操作命令和垃圾回收指令,并检测和确定垃圾回收指令对应的原始数据块中的无效数据占比,然后根据无效数据占比确定穿插交替写入比例,并以穿插交替写入比例将用户写入操作命令对应的至少部分新数据和原始数据块中的全部有效数据穿插交替写入,可以将原始数据块中的有效数据按照确定的穿插交替写入比例写入新的数据块中,从而解决了现有的垃圾回收与用户新数据穿***例控制较为粗糙的问题,使得垃圾回收时原始数据块中的有效数据可以更加精确地控制写入比例,避免了垃圾回收时容易造成垃圾回收量过多或用户访问量过多的情况,能够在保证正常的用户访问下进行及时地垃圾回收。
实施例四
本实施例同样是在上述技术方案基础上进行的完善和优化,具体地,针对垃圾回收过程中,同样可能存在用户新写入的数据量较小而原始数据块中的有效数据量较多的情况,故本发明实施例四提供了一种垃圾数据回收方法,图4是本发明实施例四提供的一种垃圾数据回收方法的流程图,参考图4,本发明实施例的方法具体包括如下步骤:
S410、获取写入操作命令;
S420、获取垃圾回收指令;
S430、检测并确定垃圾回收指令对应的原始数据块中的无效数据占比;
S440、根据无效数据占比确定穿插交替写入比例,并以穿插交替写入比例将用户写入操作命令对应的全部新数据和原始数据块中的部分有效数据穿插交替写入;
S450、将原始数据块中的剩余有效数据与下一次写入操作命令对应的至少部分新数据按照当前原始数据块穿插交替写入比例写入。
其中,由于用户新写入的数据量较小而原始数据块中的有效数据量较多,原始数据块中的有效数据在穿插交替写入的过程中会完全消耗掉新数据,也即用户新写入的新数据完全写入新数据库中,而仍存在部分原始数据块中有效数据未能写入新数据块中,此时可将剩余的有效数据留至下次,并同样按照与用户写入的新数据穿插交替写入的方式写入新的数据块中,直至垃圾数据块完全回收。
本发明实施例四提供的垃圾数据回收方法,通过获取写入操作命令和垃圾回收指令,并检测和确定垃圾回收指令对应的原始数据块中的无效数据占比,然后根据无效数据占比确定穿插交替写入比例,并以穿插交替写入比例将用户写入操作命令对应的全部新数据和原始数据块中的至少部分有效数据穿插交替写入,可以将原始数据块中的有效数据按照确定的穿插交替写入比例写入新的数据块中,并将原始数据块中的剩余有效数据与下一次写入操作命令对应的至少部分新数据按照当前原始数据块穿插交替写入比例写入,解决了现有的垃圾回收与用户新数据穿***例控制较为粗糙的问题,使得垃圾回收时原始数据块中的有效数据可以更加精确地控制写入比例,避免了垃圾回收时容易造成垃圾回收量过多或用户访问量过多的情况,能够在保证正常的用户访问下进行及时地垃圾回收。
实施例五
本发明实施例还提供了一种垃圾数据回收装置,图5是本发明实施例提供的一种垃圾数据回收装置的结构示意图,参考图5,该装置包括:获取模块10、检测模块20和处理模块30;获取模块10用于获取写入操作命令和垃圾回收指令;检测模块20用于检测并确定垃圾回收指令对应的原始数据块中的无效数据占比;处理模块30用于根据无效数据占比确定穿插交替写入比例,并以穿插交替写入比例将用户写入操作对应的至少部分新数据和原始数据块中的至少部分有效数据穿插交替写入。
本发明实施例提供的垃圾数据回收装置,通过设置获取模块、检测模块和处理模块,通过获取模块接收用户的写入操作命令以及垃圾回收指令,利用检测模块将检测和确定垃圾回收指令对应的原始数据块中的无效数据占比,然后通过处理模块根据无效数据占比确定穿插交替写入比例,并以穿插交替写入比例将用户写入操作命令对应的至少部分新数据和原始数据块中的至少部分有效数据穿插交替写入,本发明实施例提供的垃圾数据回收装置可以将原始数据块中的有效数据按照确定的穿插交替写入比例写入新的数据块中,从而解决了现有的垃圾回收与用户新数据穿***例控制较为粗糙的问题,使得垃圾回收时原始数据块中的有效数据可以更加精确地控制写入比例,避免了垃圾回收时容易造成垃圾回收量过多或用户访问量过多的情况,能够在保证正常的用户访问下进行及时地垃圾回收。
进一步地,垃圾数据回收装置还包括垃圾数据块确定模块,用于确定需要进行垃圾回收的原始数据块数量和位置;垃圾回收指令包括依次回收原始数据块指令。
进一步地,检测模块20用于检测并确定垃圾回收指令对应的当前原始数据块中的无效数据占比,处理模块30则用于根据无效数据占比确定当前原始数据块穿插交替写入比例,并以当前原始数据块穿插交替写入比例将用户写入操作对应的至少部分新数据和当前的原始数据块中的至少部分有效数据穿插交替写入。
进一步地,处理模块30还用于根据无效数据占比确定穿插交替写入比例,并以穿插交替写入比例将用户写入操作命令对应的部分新数据和原始数据块中的全部有效数据穿插交替写入。并且在根据无效数据占比确定穿插交替写入比例,并以穿插交替写入比例将用户写入操作命令对应的部分新数据和原始数据块中的全部有效数据穿插交替写入之后,还用于将用户写入操作对应的剩余新数据写入。
或者,处理模块30还用于根据无效数据占比确定穿插交替写入比例,并以穿插交替写入比例将用户写入操作命令对应的全部新数据和原始数据块中的部分有效数据穿插交替写入。并且,在根据无效数据占比确定穿插交替写入比例,并以穿插交替写入比例将用户写入操作命令对应的全部新数据和原始数据块中的部分有效数据穿插交替写入之后,还用于将原始数据块中的剩余有效数据与下一次写入操作命令对应的至少部分新数据按照当前原始数据块穿插交替写入比例写入。
处理模块30还用于以穿插交替写入比例将用户写入操作对应的至少部分新数据和原始数据块中的至少部分有效数据穿插交替写入同一目标数据块,或者以穿插交替写入比例将用户写入操作对应的至少部分新数据和原始数据块中的至少部分有效数据穿插交替分别写入新数据目标数据块和垃圾回收目标数据块。其中可选地,穿插交替写入比例大于或等于无效数据占比的90%。
进一步地,在处理模块30以穿插交替写入比例将用户写入操作对应的至少部分新数据和原始数据块中的至少部分有效数据穿插交替写入同一目标数据块时,穿插交替写入比例≤无效数据占比。
本发明实施例所提供的页面主题色调的调整装置可执行本发明任意实施例所提供的页面主题色调的调整方法,具备执行页面主题色调的调整方法相应的功能模块和有益效果。
实施例六
本发明实施例六还提供了一种存储设备,该存储设备包括本发明任意实施例的数据读取装置。
该存储设备包括上述的任一种装置,因而该存储设备具备相应的功能和有益效果。该存储设备例如可以是基于NAND flash的存储硬盘等。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整、相互结合和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (11)
1.一种垃圾数据回收方法,其特征在于,包括:
获取写入操作命令;
获取垃圾回收指令;
检测并确定所述垃圾回收指令对应的原始数据块中的无效数据占比;
根据所述无效数据占比确定穿插交替写入比例,并以所述穿插交替写入比例将用户写入操作命令对应的至少部分新数据和所述原始数据块中的至少部分有效数据穿插交替写入。
2.根据权利要求1所述的垃圾数据回收方法,其特征在于,所述获取垃圾回收指令之前,还包括:
确定需要进行垃圾回收的原始数据块数量和位置;
所述垃圾回收指令包括依次回收原始数据块指令。
3.根据权利要求2所述的垃圾数据回收方法,其特征在于,所述检测并确定垃圾回收指令对应的原始数据块中的无效数据占比,包括:
检测并确定垃圾回收指令对应的当前原始数据块中的无效数据占比;
所述根据所述无效数据占比确定穿插交替写入比例,并以所述穿插交替写入比例将用户写入操作命令对应的至少部分新数据和所述原始数据块中的至少部分有效数据穿插交替写入,包括:
根据所述无效数据占比确定当前原始数据块穿插交替写入比例,并以所述当前原始数据块穿插交替写入比例将用户写入操作对应的至少部分新数据和当前的所述原始数据块中的至少部分有效数据穿插交替写入。
4.根据权利要求1所述的垃圾数据回收方法,其特征在于,所述根据所述无效数据占比确定穿插交替写入比例,并以所述穿插交替写入比例将用户写入操作命令对应的至少部分新数据和所述原始数据块中的至少部分有效数据穿插交替写入,包括:
根据所述无效数据占比确定穿插交替写入比例,并以所述穿插交替写入比例将用户写入操作命令对应的部分新数据和所述原始数据块中的全部有效数据穿插交替写入;
在所述根据所述无效数据占比确定穿插交替写入比例,并以所述穿插交替写入比例将用户写入操作命令对应的部分新数据和所述原始数据块中的全部有效数据穿插交替写入之后,还包括:
将用户写入操作对应的剩余新数据写入。
5.根据权利要求1所述的垃圾数据回收方法,其特征在于,所述根据所述无效数据占比确定穿插交替写入比例,并以所述穿插交替写入比例将用户写入操作命令对应的至少部分新数据和所述原始数据块中的至少部分有效数据穿插交替写入,包括:
根据所述无效数据占比确定穿插交替写入比例,并以所述穿插交替写入比例将用户写入操作命令对应的全部新数据和所述原始数据块中的部分有效数据穿插交替写入;
在所述根据所述无效数据占比确定穿插交替写入比例,并以所述穿插交替写入比例将用户写入操作命令对应的全部新数据和所述原始数据块中的部分有效数据穿插交替写入之后,还包括:
将所述原始数据块中的剩余有效数据与下一次写入操作命令对应的至少部分新数据按照当前原始数据块穿插交替写入比例写入。
6.根据权利要求1所述的垃圾数据回收方法,其特征在于,所述以所述穿插交替写入比例将用户写入操作对应的至少部分新数据和所述原始数据块中的至少部分有效数据穿插交替写入,包括:
以所述穿插交替写入比例将用户写入操作对应的至少部分新数据和所述原始数据块中的至少部分有效数据穿插交替写入同一目标数据块。
7.根据权利要求6所述的垃圾数据回收方法,其特征在于,所述穿插交替写入比例≤所述无效数据占比。
8.根据权利要求1所述的垃圾数据回收方法,其特征在于,所述以所述穿插交替写入比例将用户写入操作对应的至少部分新数据和所述原始数据块中的至少部分有效数据穿插交替写入,包括:
以所述穿插交替写入比例将用户写入操作对应的至少部分新数据和所述原始数据块中的至少部分有效数据穿插交替分别写入新数据目标数据块和垃圾回收目标数据块。
9.根据权利要求1所述的垃圾数据回收方法,其特征在于,所述穿插交替写入比例大于或等于所述无效数据占比的90%。
10.一种垃圾数据回收装置,其特征在于,包括:
获取模块,用于获取写入操作命令和垃圾回收指令;
检测模块,用于检测并确定所述垃圾回收指令对应的原始数据块中的无效数据占比;
处理模块,用于根据所述无效数据占比确定穿插交替写入比例,并以所述穿插交替写入比例将用户写入操作对应的至少部分新数据和所述原始数据块中的至少部分有效数据穿插交替写入。
11.一种存储设备,其特征在于,包括如权利要求10所述的垃圾数据回收装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910407379.0A CN111949558B (zh) | 2019-05-16 | 2019-05-16 | 一种垃圾数据回收方法、装置和存储设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910407379.0A CN111949558B (zh) | 2019-05-16 | 2019-05-16 | 一种垃圾数据回收方法、装置和存储设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111949558A CN111949558A (zh) | 2020-11-17 |
CN111949558B true CN111949558B (zh) | 2023-11-21 |
Family
ID=73335541
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910407379.0A Active CN111949558B (zh) | 2019-05-16 | 2019-05-16 | 一种垃圾数据回收方法、装置和存储设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111949558B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114996173B (zh) * | 2022-08-04 | 2022-11-18 | 合肥康芯威存储技术有限公司 | 一种管理存储设备写操作的方法和装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101231617A (zh) * | 2008-01-21 | 2008-07-30 | 中兴通讯股份有限公司 | 闪存设备的数据处理方法 |
CN102667738A (zh) * | 2009-10-09 | 2012-09-12 | 提琴存储器公司 | 具有多个raid组分条的内存***及其方法 |
CN103365788A (zh) * | 2013-08-06 | 2013-10-23 | 山东大学 | 实时闪存转换层使用的自适应局部垃圾回收方法 |
KR101363422B1 (ko) * | 2012-10-04 | 2014-02-14 | 주식회사 디에이아이오 | 비휘발성 메모리 시스템 |
JP2016192025A (ja) * | 2015-03-31 | 2016-11-10 | 日本電気株式会社 | Ssdストレージシステム、書き込みレスポンス低下防止制御方法およびそのプログラム |
CN107797772A (zh) * | 2017-11-27 | 2018-03-13 | 郑州云海信息技术有限公司 | 一种基于闪存介质的垃圾回收***及方法 |
CN107967125A (zh) * | 2017-12-20 | 2018-04-27 | 北京京存技术有限公司 | 闪存转换层的管理方法、装置及计算机可读存储介质 |
CN108415853A (zh) * | 2018-03-15 | 2018-08-17 | 深圳市江波龙电子有限公司 | 一种垃圾回收的方法、装置及存储设备 |
CN109413166A (zh) * | 2018-10-09 | 2019-03-01 | 浙江明度智控科技有限公司 | 一种工业网关及其数据管理方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011192239A (ja) * | 2010-03-17 | 2011-09-29 | Sony Corp | 記憶装置および記憶システム |
-
2019
- 2019-05-16 CN CN201910407379.0A patent/CN111949558B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101231617A (zh) * | 2008-01-21 | 2008-07-30 | 中兴通讯股份有限公司 | 闪存设备的数据处理方法 |
CN102667738A (zh) * | 2009-10-09 | 2012-09-12 | 提琴存储器公司 | 具有多个raid组分条的内存***及其方法 |
KR101363422B1 (ko) * | 2012-10-04 | 2014-02-14 | 주식회사 디에이아이오 | 비휘발성 메모리 시스템 |
CN103365788A (zh) * | 2013-08-06 | 2013-10-23 | 山东大学 | 实时闪存转换层使用的自适应局部垃圾回收方法 |
JP2016192025A (ja) * | 2015-03-31 | 2016-11-10 | 日本電気株式会社 | Ssdストレージシステム、書き込みレスポンス低下防止制御方法およびそのプログラム |
CN107797772A (zh) * | 2017-11-27 | 2018-03-13 | 郑州云海信息技术有限公司 | 一种基于闪存介质的垃圾回收***及方法 |
CN107967125A (zh) * | 2017-12-20 | 2018-04-27 | 北京京存技术有限公司 | 闪存转换层的管理方法、装置及计算机可读存储介质 |
CN108415853A (zh) * | 2018-03-15 | 2018-08-17 | 深圳市江波龙电子有限公司 | 一种垃圾回收的方法、装置及存储设备 |
CN109413166A (zh) * | 2018-10-09 | 2019-03-01 | 浙江明度智控科技有限公司 | 一种工业网关及其数据管理方法 |
Non-Patent Citations (4)
Title |
---|
Tiny-Tail Flash: Near-Perfect Elimination of Garbage Collection Tail Latencies in NAND SSDs;SHIQIN YAN et al.;ACM Transactions on Storage;第13卷(第3期);第22:1-22:26页 * |
一种快速Nand Flash垃圾回收策略;桑龙 等;航空计算技术;第41卷(第6期);第95-96页 * |
基于NAND Flash的嵌入式文件***的改进与优化;杨春林 等;计算机应用;第27卷(第12期);第3102-3104页 * |
弱一致性模型下的分布式垃圾回收算法RRDGC;吴俊敏 等;小型微型计算机***;第27卷(第7期);第1304-1307页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111949558A (zh) | 2020-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100843543B1 (ko) | 플래시 메모리 장치를 포함하는 시스템 및 그것의 데이터복구 방법 | |
US8423710B1 (en) | Sequential writes to flash memory | |
DE102019117787B4 (de) | Speichervorrichtung und Betriebsverfahren derselben | |
CN109977034B (zh) | 数据储存装置以及非挥发式存储器操作方法 | |
US20080147998A1 (en) | Method and apparatus for detecting static data area, wear-leveling, and merging data units in nonvolatile data storage device | |
US20110131365A1 (en) | Data Storage System and Method | |
CN105868122A (zh) | 快闪存储设备的数据处理方法及装置 | |
CN103279406B (zh) | 一种内存的隔离方法和装置 | |
CN104077197B (zh) | ***恢复方法、装置、固态硬盘和电子设备 | |
US8762810B2 (en) | Semiconductor recording device, control method of semiconductor recording device, and semiconductor recording system | |
CN111880723B (zh) | 数据储存装置与数据处理方法 | |
CN102063266A (zh) | 非易失存储器控制器与用于将当前数据写入非易失存储器的方法 | |
CN103970669A (zh) | 用于加速在固态设备中的回收操作的物理到逻辑地址映射 | |
EP1701358A1 (en) | Data write-in method for flash memory | |
CN111930301A (zh) | 垃圾回收优化方法、装置、存储介质及电子设备 | |
KR20160071703A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
CN111949558B (zh) | 一种垃圾数据回收方法、装置和存储设备 | |
CN112347001B (zh) | 闪存垃圾回收的校验方法、装置及电子设备 | |
CN112905496A (zh) | 垃圾回收的方法、装置、可读存储介质及电子设备 | |
US20110107056A1 (en) | Method for determining data correlation and a data processing method for a memory | |
CN109086001B (zh) | 一种NAND Flash垃圾回收方法及*** | |
TWI792534B (zh) | 以局部清理操作來進行垃圾回收的方法與相關控制器和儲存系統 | |
CN115472206B (zh) | 存储器的坏块检测方法、测试设备及存储介质 | |
CN114400037B (zh) | Nand擦除方法、装置及可读存储介质 | |
CN108614664B (zh) | 基于NAND flash的读错误处理方法和装置 |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Room 101, Floor 1-5, Building 8, Yard 9, Fenghao East Road, Haidian District, Beijing 100094 Applicant after: Zhaoyi Innovation Technology Group Co.,Ltd. Address before: 100083 12 Floors, Block A, Tiangong Building, Science and Technology University, 30 College Road, Haidian District, Beijing Applicant before: GIGADEVICE SEMICONDUCTOR(BEIJING) Inc. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |