CN111949560A - 一种数据写入方法、装置及存储设备 - Google Patents
一种数据写入方法、装置及存储设备 Download PDFInfo
- Publication number
- CN111949560A CN111949560A CN201910407383.7A CN201910407383A CN111949560A CN 111949560 A CN111949560 A CN 111949560A CN 201910407383 A CN201910407383 A CN 201910407383A CN 111949560 A CN111949560 A CN 111949560A
- Authority
- CN
- China
- Prior art keywords
- data
- garbage collection
- storage device
- data block
- reading
- 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
- 238000000034 method Methods 0.000 title claims abstract description 33
- 238000011084 recovery Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000005669 field effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000006467 substitution reaction 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
- 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
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7205—Cleaning, compaction, garbage collection, erase control
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的存储设备具有容量较大,改写速度快等优点,广泛应用于数码相机、随身听记忆卡、体积小巧的U盘中。其中,访问速度是基于NAND flash的存储设备非常关注的一项性能。
NAND flash存储设备的写单位为页,通常情况下,当用户写命令中包含的预设写入数据量并非整数页时,仍然会发起NAND flash页写,那么NAND flash中就会很快产生大量的无效数据,从而增加了无效数据的占比,这样会使NAND flash存储设备的访问速度降低。
发明内容
本发明提供一种数据写入方法、装置及存储设备,以实现降低存储设备中无效数据的占比。
第一方面,本发明实施例提供了一种数据写入方法,包括:
获取写命令;
判断写命令对应的待写入数据的数据量是否为存储设备一页所能容纳的数据量的整数倍;
若否,读取存储设备中垃圾回收数据块中的至少部分有效数据;
将写命令对应的待写入数据以及读取的存储设备的垃圾回收数据块中的至少有效数据写入存储设备中;
其中,写命令对应的待写入数据的数据量以及读取的存储设备的垃圾回收数据块中的至少部分有效数据的数据量之和为存储设备一页所能容纳的数据量的整数倍。
可选的,在读取存储设备中垃圾回收数据块中的至少部分有效数据之前还包括:
计算写命令对应的待写入数据的数据量不足以写满存储设备一页的数据量,以得到数据偏差量;
读取存储设备中垃圾回收数据块中的至少部分有效数据包括:
将数据偏差量确定为存储设备的垃圾回收数据块中的至少部分有效数据的读取量N,并读取存储设备中垃圾回收数据块中的至少部分有效数据;N为正整数。
可选的,在读取存储设备中垃圾回收数据块中的至少部分有效数据之前还包括:
获取存储设备中各个垃圾回收数据块中有效数据占比,并将有效数据占比最小的垃圾回收数据块作为目标读取垃圾回收数据块;有效数据占比是指垃圾回收数据块中有效数据与垃圾回收数据块容纳数据量的比值;
读取存储设备中垃圾回收数据块中的至少部分有效数据包括:
读取目标读取垃圾回收数据块中的至少部分有效数据。
可选的,在读取存储设备中垃圾回收数据块中的至少部分有效数据之前还包括:
获取存储设备中各个垃圾回收数据块中的擦除次数,并将擦除次数最少的垃圾回收数据块作为目标读取垃圾回收数据块;
读取存储设备中垃圾回收数据块中的至少部分有效数据包括:
读取目标读取垃圾回收数据块中的至少部分有效数据。
可选的,读取存储设备中垃圾回收数据块中的至少部分有效数据包括:
读取存储设备中至少一个垃圾回收数据块中的至少部分有效数据。
第二方面,本发明实施例还提供了一种数据写入装置,该装置包括:写命令获取模块、判断模块、有效数据读取模块和写入模块;
写命令获取模块,用于获取写命令;
判断模块,用于判断写命令对应的待写入数据的数据量是否为存储设备一页所能容纳的数据量的整数倍;
有效数据读取模块,用于在写命令对应的待写入数据的数据量不是存储设备一页所能容纳的数据量的整数倍时,读取存储设备中垃圾回收数据块中的至少部分有效数据;
写入模块,用于将写命令对应的待写入数据以及读取的存储设备的垃圾回收数据块中的至少有效数据写入存储设备中;
其中,写命令对应的待写入数据的数据量以及读取的存储设备的垃圾回收数据块中的至少部分有效数据的数据量之和为存储设备一页所能容纳的数据量的整数倍。
可选的,该装置还包括数据偏差量计算模块,数据偏差量计算模块,用于计算写命令对应的待写入数据的数据量不足以写满存储设备一页的数据量,以得到数据偏差量;
有效数据读取模块,具体用于将数据偏差量确定为存储设备的垃圾回收数据块中的至少部分有效数据的读取量N,并读取存储设备中垃圾回收数据块中的至少部分有效数据;N为正整数。
可选的,还包括第一目标读取垃圾回收数据块确定模块,第一目标读取垃圾回收数据块确定模块,用于获取存储设备中各个垃圾回收数据块中有效数据占比,并将有效数据占比最小的垃圾回收数据块作为目标读取垃圾回收数据块;有效数据占比是指垃圾回收数据块中有效数据与垃圾回收数据块容纳数据量的比值;
有效数据读取模块,具体用于读取目标读取垃圾回收数据块中的至少部分有效数据。
可选的,还包括第二目标读取垃圾回收数据块确定模块,第二目标读取垃圾回收数据块确定模块,用于获取存储设备中各个垃圾回收数据块中的擦除次数,并将擦除次数最少的垃圾回收数据块作为目标读取垃圾回收数据块;
有效数据读取模块,具体用于读取目标读取垃圾回收数据块中的至少部分有效数据。
第三方面,本发明实施例还提供了一种存储设备,该存储设备包括本发明任意实施例所述的数据写入装置。
本发明实施例提供的数据写入方法,通过在待写入数据的数据量并非存储设备一页所能容纳的数据量的整数倍时,从存储设备的垃圾回收数据块中读取至少部分有效数据,以使将待写入数据和读出的有效数据写入存储设备时刚好填满存储设备的整数页存储空间,解决现有技术中由于将不满整数页的待写入数据直接写入存储设备带来的产生大量无效数据,增加无效数据占比的问题,实现避免无效数据产生,减小无效数据占比的效果。
附图说明
图1是本发明实施例一提供的一种数据写入方法的流程图;
图2是本发明实施例二提供的一种数据写入方法的流程图;
图3是本发明实施例三提供的一种数据写入装置的结构框图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1是本发明实施例一提供的一种数据写入方法的流程图。本实施例可适用于存储设备进行数据写入的情况,该方法可以由本发明实施例中的数据写入装置来执行,该装置可以通过软件和/或硬件的方式实现,并一般可以集成在存储设备中,本发明实施例的方法具体包括如下步骤:
S110、获取写命令。
其中,存储设备可以是基于NAND flash存储器的存储设备,该存储设备包括前端层、转换层、后端层,后端层包括至少一个NAND flash存储器。前端层用于与主机进行通讯,例如,接收主机发送的控制指令,控制指令包括读命令、写命令和擦除命令;转换层用于根据控制指令进行软件操作,软件操作包括但不限于逻辑地址到物理地址的转换、地址映射表管理、损耗均衡管理和坏块管理;后端层用于根据控制指令对NAND flash存储器进行读、写或操作。具体的,前端层接收主机发送的写命令,并将该写命令中包含的起始逻辑地址和待写入数据量解读出来。
S120、判断写命令对应的待写入数据的数据量是否为存储设备一页所能容纳的数据量的整数倍。
其中,存储设备中的NAND flash存储器使用浮栅场效应管作为基本存储单元来存储数据,写操作是向浮栅注入电荷的过程,擦操作是从浮栅中挪走电荷的过程,读操作不会改变浮栅中的电荷量,并且,NAND flash存储器由多个块构成,每个块包含多个页,每页包括多个基本存储单元,写操作的单位为页。由于写操作的单位为页,因此,在写命令对应的待写入数据的数据量并非存储设备一页所能容纳的数据量的整数倍时,若直接将待写入数据写入存储设备,则待写入数据所占用的页中,存在一页,部分空间写入的是待写入数据,剩余空间写入的是无效数据,导致存储设备无效数据占比增大。
具体的,转换层在接收到前端层发送的待写入数据的数据量后,计算待写入数据的数据量与存储设备一页所能容纳的数据量的比值A,若比值A为整数,则表明写命令对应的待写入数据可直接写入存储设备,并刚好填满存储设备中的A页存储空间;若比值A为整数,则表明若直接将写命令对应的待写入数据写入存储设备将产生无效数据。
S130、若否,读取存储设备中垃圾回收数据块中的至少部分有效数据。
S140、将写命令对应的待写入数据以及读取的存储设备的垃圾回收数据块中的至少有效数据写入存储设备中。
其中,写命令对应的待写入数据的数据量以及读取的存储设备的垃圾回收数据块中的至少部分有效数据的数据量之和为存储设备一页所能容纳的数据量的整数倍。
其中,通常情况下,存储设备的某些块中,存在不再需要的数据,则将该块称为垃圾回收数据块,将垃圾回收数据块擦除之后,则可再次写入新数据。但是,由于擦操作的单位为块,因此,若垃圾回收数据块中还包含有效数据,则在进行擦操作之前需要将有效数据读取并保存至其它存储空间。有鉴于此,可以将垃圾回收块中的至少部分有效数据读取出来,再将其与待写入数据一同写入存储设备的另外的块中,并且使读出的有效数据和待写入数据刚好填满存储设备的整数页,这样设置既避免了无效数据的产生,又完成了将有效数据从垃圾回收数据块中搬移的操作。
具体的,后端层先从NAND flash存储器的垃圾回收数据块读取出至少部分有效数据,然后,将从前端层接收到待写入数据以及读取出的有效数据再写入NAND flash存储器。
本发明实施例提供的数据写入方法,通过在待写入数据的数据量并非存储设备一页所能容纳的数据量的整数倍时,从存储设备的垃圾回收数据块中读取至少部分有效数据,以使将待写入数据和读出的有效数据写入存储设备时刚好填满存储设备的整数页存储空间,解决现有技术中由于将不满整数页的待写入数据直接写入存储设备带来的产生大量无效数据,增加无效数据占比的问题,实现避免无效数据产生,减小无效数据占比的效果。
在上述技术方案的基础上,可选的,读取存储设备中垃圾回收数据块中的至少部分有效数据包括:读取存储设备中至少一个垃圾回收数据块中的至少部分有效数据。
具体的,若后端层将一个垃圾回收数据块中的有效数据全部读取出来之后,读取出的有效数据的数据量仍小于待写入数据的数据量不足以写满存储设备一页的数据量,则需要继续从另外一个垃圾回收数据块中读取有效数据,以此类推,直至从多个垃圾回收数据块中读取出的有效数据的数据量总和至少等于待写入数据的数据量不足以写满存储设备一页的数据量。这样设置的好处在于,保证读取出足够的有效数据,以使待写入数据与读取出的有效数据的数据量之和为存储设备一页所能容纳的数据量的整数倍。
实施例二
本实施例是在上述技术方案的基础上,进行具体化和优化,并且本实施例与上述实施例具有相同的发明构思,与上述实施例相同或相应的术语解释,本实施例不再赘述。
图2是本发明实施例二提供的一种数据写入方法的流程图,参见图2,本发明实施例的方法具体包括如下步骤:
S210、获取写命令。
S220、判断写命令对应的待写入数据的数据量是否为存储设备一页所能容纳的数据量的整数倍。
S230、若否,计算写命令对应的待写入数据的数据量不足以写满存储设备一页的数据量,以得到数据偏差量。
S240、将数据偏差量确定为存储设备的垃圾回收数据块中的至少部分有效数据的读取量N,并读取存储设备中垃圾回收数据块中的至少部分有效数据;N为正整数。
示例性的,若存储设备一页所能容纳的数据量为B,写命令对应的待写入数据的数据量为2.2×B,则写命令对应的待写入数据的数据量差0.8×B的数据量便可以填满存储设备的3页存储空间,即数据偏差量为0.8×B。然后从垃圾回收数据块中读取数据量为0.8×B的有效数据,并将待写入数据和读取出的有效数据写入存储设备,共占用存储设备中的3页存储空间。
可以理解的是,在上述前提下,若从垃圾回收数据块中读取出数据量为1.8×B的有效数据,则将待写入数据和读取出的有效数据写入存储设备时,共占用存储设备中的4页存储空间,同样不会产生无效数据,但是整个写访问时间相对会延长获取一页有效数据的时间,获取一页有效数据的时间包括搜索有效数据的时间和读取有效数据的时间。
本发明实施例提供的数据写入方法,通过将写命令对应的待写入数据的数据量不足以写满存储设备一页的数据量确定为垃圾回收块中要读取的有效数据的读取量,使得在保证待写入数据与读取出的有效数据的数据量之和为存储设备一页所能容纳的数据量的整数倍的前提下,较大程度地减少了整个写访问工作时间的延长。
在上述技术方案的基础上,可选的,在读取存储设备中垃圾回收数据块中的至少部分有效数据之前还包括:
获取存储设备中各个垃圾回收数据块中有效数据占比,并将有效数据占比最小的垃圾回收数据块作为目标读取垃圾回收数据块;有效数据占比是指垃圾回收数据块中有效数据与垃圾回收数据块容纳数据量的比值。
读取存储设备中垃圾回收数据块中的至少部分有效数据包括:读取目标读取垃圾回收数据块中的至少部分有效数据。
这样设置的好处在于,可以相对较快地将一个垃圾回收数据块中的全部有效数据搬移至其它的块中,以尽快对垃圾回收数据块执行擦操作,为新数据写入腾出可用空间。可以理解的是,该种确定目标读取垃圾回收数据块的方式尤其适用于当存储设备中可用空间较少,急需对一些垃圾回收数据块进行擦操作的情况。
需要说明的是,当有效数据占比最小的垃圾回收数据块具有两个及以上时,可以将其中擦除次数最少的垃圾回收数据块作为目标读取垃圾回收数据块,以均衡擦除次数。
可选的,在读取存储设备中垃圾回收数据块中的至少部分有效数据之前还包括:
获取存储设备中各个垃圾回收数据块中的擦除次数,并将擦除次数最少的垃圾回收数据块作为目标读取垃圾回收数据块。
读取存储设备中垃圾回收数据块中的至少部分有效数据包括:读取目标读取垃圾回收数据块中的至少部分有效数据。
这样设置的好处在于,可以均衡垃圾回收数据块的擦除次数,以避免存储设备中一些块被多次擦除,较快达到寿命限制。可以理解的是,该种确定目标读取垃圾回收数据块的方式尤其适用于当存储设备中擦除次数极其不平衡,急需进行负载均衡管理的情况。
同理,当擦除次数最小的垃圾回收数据块具有两个及以上时,可以将其中有效数据占比最小的垃圾回收数据块作为目标读取垃圾回收数据块,以尽快为新数据写入腾出可用空间。
实施例三
图3是本发明实施例三提供的一种数据写入装置的结构框图,参见图3,该装置包括:写命令获取模块110、判断模块120、有效数据读取模块130和写入模块140;
写命令获取模块110,用于获取写命令;
判断模块120,用于判断写命令对应的待写入数据的数据量是否为存储设备一页所能容纳的数据量的整数倍;
有效数据读取模块130,用于在写命令对应的待写入数据的数据量不是存储设备一页所能容纳的数据量的整数倍时,读取存储设备中垃圾回收数据块中的至少部分有效数据;
写入模块140,用于将写命令对应的待写入数据以及读取的存储设备的垃圾回收数据块中的至少有效数据写入存储设备中;
其中,写命令对应的待写入数据的数据量以及读取的存储设备的垃圾回收数据块中的至少部分有效数据的数据量之和为存储设备一页所能容纳的数据量的整数倍。
本发明实施例提供的数据写入方法,通过在待写入数据的数据量并非存储设备一页所能容纳的数据量的整数倍时,从存储设备的垃圾回收数据块中读取至少部分有效数据,以使将待写入数据和读出的有效数据写入存储设备时刚好填满存储设备的整数页存储空间,解决现有技术中由于将不满整数页的待写入数据直接写入存储设备带来的产生大量无效数据,增加无效数据占比的问题,实现避免无效数据产生,减小无效数据占比的效果。
在上述技术方案的基础上,可选的,该装置还包括数据偏差量计算模块,数据偏差量计算模块,用于计算写命令对应的待写入数据的数据量不足以写满存储设备一页的数据量,以得到数据偏差量;
有效数据读取模块130,具体用于将数据偏差量确定为存储设备的垃圾回收数据块中的至少部分有效数据的读取量N,并读取存储设备中垃圾回收数据块中的至少部分有效数据;N为正整数。
可选的,该装置还包括第一目标读取垃圾回收数据块确定模块,第一目标读取垃圾回收数据块确定模块,用于获取存储设备中各个垃圾回收数据块中有效数据占比,并将有效数据占比最小的垃圾回收数据块作为目标读取垃圾回收数据块;有效数据占比是指垃圾回收数据块中有效数据与垃圾回收数据块容纳数据量的比值;
有效数据读取模块130,具体用于读取目标读取垃圾回收数据块中的至少部分有效数据。
可选的,该装置还包括第二目标读取垃圾回收数据块确定模块,第二目标读取垃圾回收数据块确定模块,用于获取存储设备中各个垃圾回收数据块中的擦除次数,并将擦除次数最少的垃圾回收数据块作为目标读取垃圾回收数据块;
有效数据读取模块130,具体用于读取目标读取垃圾回收数据块中的至少部分有效数据。
可选的,有效数据读取模块130,具体用于读取存储设备中至少一个垃圾回收数据块中的至少部分有效数据。
本实施例提出的存储设备与上述实施例提出的数据写入方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见上述实施例,并且本实施例具备执行数据写入方法相同的有益效果。
实施例四
本发明实施例四还提供了一种存储设备,包括本发明任意实施例所述的数据写入装置。
该存储设备包括上述所述的任一种装置,因而该存储设备具备相应的功能和有益效果。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种数据写入方法,其特征在于,包括:
获取写命令;
判断所述写命令对应的待写入数据的数据量是否为存储设备一页所能容纳的数据量的整数倍;
若否,读取所述存储设备中垃圾回收数据块中的至少部分有效数据;
将所述写命令对应的待写入数据以及读取的所述存储设备的垃圾回收数据块中的至少有效数据写入所述存储设备中;
其中,所述写命令对应的待写入数据的数据量以及读取的所述存储设备的垃圾回收数据块中的至少部分有效数据的数据量之和为存储设备一页所能容纳的数据量的整数倍。
2.根据权利要求1所述的数据写入方法,其特征在于,在所述读取所述存储设备中垃圾回收数据块中的至少部分有效数据之前还包括:
计算所述写命令对应的待写入数据的数据量不足以写满所述存储设备一页的数据量,以得到数据偏差量;
所述读取所述存储设备中垃圾回收数据块中的至少部分有效数据包括:
将所述数据偏差量确定为所述存储设备的垃圾回收数据块中的至少部分有效数据的读取量N,并读取所述存储设备中垃圾回收数据块中的至少部分有效数据;N为正整数。
3.根据权利要求1所述的数据写入方法,其特征在于,在所述读取所述存储设备中垃圾回收数据块中的至少部分有效数据之前还包括:
获取所述存储设备中各个垃圾回收数据块中有效数据占比,并将所述有效数据占比最小的垃圾回收数据块作为目标读取垃圾回收数据块;所述有效数据占比是指所述垃圾回收数据块中有效数据与所述垃圾回收数据块容纳数据量的比值;
所述读取所述存储设备中垃圾回收数据块中的至少部分有效数据包括:
读取所述目标读取垃圾回收数据块中的至少部分有效数据。
4.根据权利要求1所述的数据写入方法,其特征在于,在所述读取所述存储设备中垃圾回收数据块中的至少部分有效数据之前还包括:
获取所述存储设备中各个垃圾回收数据块中的擦除次数,并将所述擦除次数最少的垃圾回收数据块作为目标读取垃圾回收数据块;
所述读取所述存储设备中垃圾回收数据块中的至少部分有效数据包括:
读取所述目标读取垃圾回收数据块中的至少部分有效数据。
5.根据权利要求1所述的数据写入方法,其特征在于,所述读取所述存储设备中垃圾回收数据块中的至少部分有效数据包括:
读取所述存储设备中至少一个垃圾回收数据块中的至少部分有效数据。
6.一种数据写入装置,其特征在于,包括写命令获取模块、判断模块、有效数据读取模块和写入模块;
所述写命令获取模块,用于获取写命令;
所述判断模块,用于判断所述写命令对应的待写入数据的数据量是否为存储设备一页所能容纳的数据量的整数倍;
所述有效数据读取模块,用于在所述写命令对应的待写入数据的数据量不是存储设备一页所能容纳的数据量的整数倍时,读取所述存储设备中垃圾回收数据块中的至少部分有效数据;
所述写入模块,用于将所述写命令对应的待写入数据以及读取的所述存储设备的垃圾回收数据块中的至少有效数据写入所述存储设备中;
其中,所述写命令对应的待写入数据的数据量以及读取的所述存储设备的垃圾回收数据块中的至少部分有效数据的数据量之和为存储设备一页所能容纳的数据量的整数倍。
7.根据权利要求6所述的数据写入装置,其特征在于,还包括数据偏差量计算模块,
所述数据偏差量计算模块,用于计算所述写命令对应的待写入数据的数据量不足以写满所述存储设备一页的数据量,以得到数据偏差量;
所述有效数据读取模块,具体用于将所述数据偏差量确定为所述存储设备的垃圾回收数据块中的至少部分有效数据的读取量N,并读取所述存储设备中垃圾回收数据块中的至少部分有效数据;N为正整数。
8.根据权利要求6所述的数据写入装置,其特征在于,还包括第一目标读取垃圾回收数据块确定模块;
所述第一目标读取垃圾回收数据块确定模块,用于获取所述存储设备中各个垃圾回收数据块中有效数据占比,并将所述有效数据占比最小的垃圾回收数据块作为目标读取垃圾回收数据块;所述有效数据占比是指所述垃圾回收数据块中有效数据与所述垃圾回收数据块容纳数据量的比值;
所述有效数据读取模块,具体用于读取所述目标读取垃圾回收数据块中的至少部分有效数据。
9.根据权利要求6所述的数据写入装置,其特征在于,还包括第二目标读取垃圾回收数据块确定模块;
所述第二目标读取垃圾回收数据块确定模块,用于获取所述存储设备中各个垃圾回收数据块中的擦除次数,并将所述擦除次数最少的垃圾回收数据块作为目标读取垃圾回收数据块;
所述有效数据读取模块,具体用于读取所述目标读取垃圾回收数据块中的至少部分有效数据。
10.一种存储设备,其特征在于,包括权利要求6-9任一项所述的数据写入装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910407383.7A CN111949560B (zh) | 2019-05-16 | 2019-05-16 | 一种数据写入方法、装置及存储设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910407383.7A CN111949560B (zh) | 2019-05-16 | 2019-05-16 | 一种数据写入方法、装置及存储设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111949560A true CN111949560A (zh) | 2020-11-17 |
CN111949560B CN111949560B (zh) | 2024-01-23 |
Family
ID=73335478
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910407383.7A Active CN111949560B (zh) | 2019-05-16 | 2019-05-16 | 一种数据写入方法、装置及存储设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111949560B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013137665A (ja) * | 2011-12-28 | 2013-07-11 | Toshiba Corp | 半導体記憶装置、半導体記憶装置の制御方法、およびメモリコントローラ |
CN104834477A (zh) * | 2014-02-11 | 2015-08-12 | 腾讯科技(深圳)有限公司 | 基于闪存的数据写入方法和装置 |
CN105934748A (zh) * | 2013-10-18 | 2016-09-07 | 桑迪士克科技有限责任公司 | 用于储存系统中的损耗均衡的偏置 |
CN107003809A (zh) * | 2015-11-27 | 2017-08-01 | 华为技术有限公司 | 一种存储设备存储数据的方法及存储设备 |
CN107239236A (zh) * | 2017-06-27 | 2017-10-10 | 北京小米移动软件有限公司 | 数据写入方法及装置 |
CN107506309A (zh) * | 2017-06-30 | 2017-12-22 | 深圳市硅格半导体股份有限公司 | 终端及闪存数据写入方法和计算机可读存储介质 |
CN108132890A (zh) * | 2017-12-20 | 2018-06-08 | 北京京存技术有限公司 | 存储芯片的垃圾回收方法、装置、设备及存储介质 |
US20180217928A1 (en) * | 2017-02-01 | 2018-08-02 | SK Hynix Inc. | Data storage device and operating method thereof |
CN108595115A (zh) * | 2018-03-27 | 2018-09-28 | 深圳忆联信息系统有限公司 | 一种提高ssd垃圾回收效率的方法 |
CN108959118A (zh) * | 2018-06-27 | 2018-12-07 | 郑州云海信息技术有限公司 | 一种数据写入的方法及装置 |
CN109154917A (zh) * | 2016-12-29 | 2019-01-04 | 华为技术有限公司 | 存储系统和固态硬盘 |
-
2019
- 2019-05-16 CN CN201910407383.7A patent/CN111949560B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013137665A (ja) * | 2011-12-28 | 2013-07-11 | Toshiba Corp | 半導体記憶装置、半導体記憶装置の制御方法、およびメモリコントローラ |
CN105934748A (zh) * | 2013-10-18 | 2016-09-07 | 桑迪士克科技有限责任公司 | 用于储存系统中的损耗均衡的偏置 |
CN104834477A (zh) * | 2014-02-11 | 2015-08-12 | 腾讯科技(深圳)有限公司 | 基于闪存的数据写入方法和装置 |
CN107003809A (zh) * | 2015-11-27 | 2017-08-01 | 华为技术有限公司 | 一种存储设备存储数据的方法及存储设备 |
CN109154917A (zh) * | 2016-12-29 | 2019-01-04 | 华为技术有限公司 | 存储系统和固态硬盘 |
US20180217928A1 (en) * | 2017-02-01 | 2018-08-02 | SK Hynix Inc. | Data storage device and operating method thereof |
CN107239236A (zh) * | 2017-06-27 | 2017-10-10 | 北京小米移动软件有限公司 | 数据写入方法及装置 |
CN107506309A (zh) * | 2017-06-30 | 2017-12-22 | 深圳市硅格半导体股份有限公司 | 终端及闪存数据写入方法和计算机可读存储介质 |
CN108132890A (zh) * | 2017-12-20 | 2018-06-08 | 北京京存技术有限公司 | 存储芯片的垃圾回收方法、装置、设备及存储介质 |
CN108595115A (zh) * | 2018-03-27 | 2018-09-28 | 深圳忆联信息系统有限公司 | 一种提高ssd垃圾回收效率的方法 |
CN108959118A (zh) * | 2018-06-27 | 2018-12-07 | 郑州云海信息技术有限公司 | 一种数据写入的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111949560B (zh) | 2024-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11416391B2 (en) | Garbage collection | |
US7516295B2 (en) | Method of remapping flash memory | |
US8874833B1 (en) | Sequential writes to flash memory | |
JP5728672B2 (ja) | ハイブリッドメモリ管理 | |
KR101497074B1 (ko) | 불휘발성 메모리 시스템 및 그것의 데이터 관리 방법 | |
US7536500B2 (en) | Header blocks for flash memory writes | |
US8909895B2 (en) | Memory apparatus | |
US10990325B2 (en) | Write control method, associated data storage device and controller thereof | |
US10740013B2 (en) | Non-volatile data-storage device with spare block pools using a block clearing method | |
CN109471594B (zh) | 一种mlc闪存读写方法 | |
US20170220462A1 (en) | Data storage method and system thereof | |
US8429339B2 (en) | Storage device utilizing free pages in compressed blocks | |
CN106598504B (zh) | 数据存储方法及装置 | |
US8352807B2 (en) | Semiconductor memory device, host device and semiconductor memory system | |
CN110389712B (zh) | 数据写入方法及其装置、固态硬盘和计算机可读存储介质 | |
CN112130749B (zh) | 数据储存装置以及非挥发式存储器控制方法 | |
US9001585B1 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
CN115114180A (zh) | 在快闪存储器中进行耗损平衡操作的方法和相关控制器以及储存系统 | |
CN111949560B (zh) | 一种数据写入方法、装置及存储设备 | |
US10990520B2 (en) | Method for gabage collecting for non-volatile memory | |
US11036414B2 (en) | Data storage device and control method for non-volatile memory with high-efficiency garbage collection | |
US8725930B2 (en) | Semiconductor memory device | |
CN111949559B (zh) | 一种数据写入方法、装置及存储设备 | |
CN115657948A (zh) | 闪存块管理方法、装置、设备和存储介质 | |
KR20240068115A (ko) | 소비 전력을 저감시킬 수 있는 메모리, 컨트롤러 및 컴퓨팅 시스템 |
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 |
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. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |