CN112256198B - Ssd数据读取方法、装置、可读存储介质及电子设备 - Google Patents
Ssd数据读取方法、装置、可读存储介质及电子设备 Download PDFInfo
- Publication number
- CN112256198B CN112256198B CN202011129652.7A CN202011129652A CN112256198B CN 112256198 B CN112256198 B CN 112256198B CN 202011129652 A CN202011129652 A CN 202011129652A CN 112256198 B CN112256198 B CN 112256198B
- Authority
- CN
- China
- Prior art keywords
- data
- data block
- read
- reading
- ssd
- 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
- 238000013507 mapping Methods 0.000 claims description 37
- 238000004590 computer program Methods 0.000 claims description 11
- 230000003321 amplification Effects 0.000 abstract description 8
- 238000003199 nucleic acid amplification method Methods 0.000 abstract description 8
- 238000011084 recovery Methods 0.000 abstract description 5
- 239000007787 solid Substances 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000007667 floating Methods 0.000 description 3
- 101150033824 PAA1 gene Proteins 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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/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/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开一种SSD数据读取方法、装置、计算机可读存储介质及电子设备,实时记录每一数据块对应的有效分配单元数和读计数;根据所述有效分配单元数调整其对应的数据块的固定阈值,得到动态阈值;接收读请求,确定所述读请求对应的数据块的读计数,判断所述读计数是否大于所述数据块的动态阈值,若是,则在返回所述读请求对应的数据之前将所述读请求对应的数据写到新的数据块;引入动态阈值实现在线搬移有效数据,降低了读取数据时发生读干扰的概率,避免了SSD进行不必要的垃圾回收,从而减少了垃圾回收过程中对数据块中的有效数据的后台读写,由此可以减少了对系统性能以及写放大的影响。
Description
技术领域
本发明涉及存储领域,特别是涉及一种SSD数据读取的方法、装置、可读存储介质及电子设备。
背景技术
SSD(Solid state Disk或Solid state Drive,固态驱动器,俗称固态硬盘)是由控制单元和存储单元组成,存储单元中包括多个数据块(block),是擦除的基本单元。固态硬盘的存储介质分为两种,一种是采用闪存作为存储介质,另一种是采用DRAM作为存储介质。
众所周知,闪存存在几个问题,影响着数据可靠性:首先是擦除次数,然后是dataretention(数据保存)问题,还有就是program disturb(编程干扰)和read disturb(读取干扰),顾名思义,就是读写闪存的时候,会影响数据。与data retention不同的是,读写干扰导致电子进入浮栅极,而不是浮栅极里的电子跑出来。而浮栅极中的电荷异常变化,就会导致数据丢失。
由于读干扰会影响相同block内的不同page(页)数据,常见的处理读干扰的方法有如下两种:一种是如果发现同一个block的读计数即read cnt达到一定的阈值,则将该block中的有效数据搬移至另外的block,原来的block则标记为垃圾,待垃圾回收后重新分配;另一种通过垃圾回收的方式,将整个block stripe(条带块)进行回收,来达到数据搬移的目的。
但是,上述两种搬移的方案都需要针对block中的有效数据进行后台读写,一旦运行后台搬移任务会增加系统的负担,影响SSD的访问性能,同时读写数据量对SSD的写放大也会有一定的影响。
发明内容
本发明所要解决的技术问题是:提供一种SSD数据读取方法、装置、可读存储介质和电子设备,在减少读干扰的同时减少对系统性能以及写放大的影响。
为了解决上述技术问题,本发明采用的一种技术方案为:
一种SSD数据读取方法,包括步骤:
实时记录每一数据块对应的有效分配单元数和读计数;
根据所述有效分配单元数调整其对应的数据块的固定阈值,得到动态阈值;
接收读请求,确定所述读请求对应的数据块的读计数,判断所述读计数是否大于所述数据块的动态阈值,若是,则在返回所述读请求对应的数据之前将所述读请求对应的数据写到新的数据块。
为了解决上述技术问题,本发明采用的另一种技术方案为:
一种SSD数据读取装置,包括:
记录模块,用于实时记录每一数据块对应的有效分配单元数和读计数;
调整模块,用于根据所述有效分配单元数调整其对应的数据块的固定阈值,得到动态阈值;
数据搬移模块,用于接收读请求,确定所述读请求对应的数据块的读计数,判断所述读计数是否大于所述数据块的动态阈值,若是,则在返回所述读请求对应的数据之前将所述读请求对应的数据写到新的数据块。
为了解决上述技术问题,本发明采用的另一种技术方案为:
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述SSD数据读取方法中的各个步骤。
为了解决上述技术问题,本发明采用的另一种技术方案为:
一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的一种SSD数据读取方法中的各个步骤。
本发明的有益效果在于:实时记录每一数据块对应的有效分配单元数和读计数,根据数据块对应的有效分配单元数动态调整数据块的阈值;在进行数据读取时,一旦数据块的读计数超过其对应的阈值,则在读返回的过程中,将读取到的数据写到新分配的数据块;通过在线读过程中完成数据的搬移,来实现减少读干扰的目的;同时只针对在线读的数据进行搬移,而没有被访问的数据始终保存在原来的数据块中,避免了SSD进行不必要的垃圾回收,从而减少了垃圾回收过程中对数据块中的有效数据的后台读写,由此可以减少了对系统性能以及写放大的影响。
附图说明
图1为本发明实施例的一种SSD数据读取方法的步骤流程图;
图2为本发明实施例的一种SSD数据读取装置的结构示意图;
图3为本发明实施例的一种电子设备的结构示意图;
图4为本发明实施例的一种SSD的存储结构示意图;
图5为本发明实施例的一种SSD数据读取过程中有效分配单元数计数的步骤流程图;
图6为本发明实施例的一种SSD数据读取过程中BLOCK读分布图。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
请参照图1,本发明实施例提供了一种SSD数据的读取方法,包括步骤:
实时记录每一数据块对应的有效分配单元数和读计数;
根据所述有效分配单元数调整其对应的数据块的固定阈值,得到动态阈值;
接收读请求,确定所述读请求对应的数据块的读计数,判断所述读计数是否大于所述数据块的动态阈值,若是,则在返回所述读请求对应的数据之前将所述读请求对应的数据写到新的数据块。
由上述描述可知,本发明的有益效果在于:实时记录每一数据块对应的有效分配单元数和读计数,根据数据块对应的有效分配单元数动态调整数据块的阈值;在进行数据读取时,一旦数据块的读计数超过其对应的阈值,则在读返回的过程中,将读取到的数据写到新分配的数据块;通过在线读过程中完成数据的搬移,来实现减少读干扰的目的;同时只针对在线读的数据进行搬移,而没有被访问的数据始终保存在原来的数据块中,避免了SSD进行不必要的垃圾回收,从而减少了垃圾回收过程中对数据块中的有效数据的后台读写,由此可以减少了对系统性能以及写放大的影响。
进一步的,所述根据所述有效分配单元数调整其对应的数据块的固定阈值,得到动态阈值包括:
数据块对应的动态阈值=数据块对应的固定阈值-数据块对应的有效分配单元数;
由上述描述可知,动态阈值=固定阈值-有效分配单元数,通过这种方式对每个数据块的阈值进行动态调整,能够根据各个数据块的实际读写情况适应性地对不同的数据块提前进行数据的搬移,避免对数据块中的有效数据进行后台读写的同时进行搬移任务增加系统负担,影响SSD访问性能。
进一步的,数据块的固定阈值根据待读取数据的SSD的闪存介质和闪存类型确定。
由上述描述可知,固定阈值在不同的闪存设备中并不相同,根据不同闪存设备本身的介质和固态硬盘闪存类型来确定固定阈值,保证了动态阈值能够与闪存设备本身的性能相匹配,避免超负荷运行或运行性能的浪费。
进一步的,所述实时记录每一数据块对应的有效分配单元数包括:
在批量刷新L2P映射表时,根据所述L2P映射表对所述L2P映射表涉及到的所有数据块对应的有效分配单元数进行批量更新并记录。
由上述描述可知,通过在批量刷新L2P映射表时对其涉及到的每一数据块对应的有效分配单元进行实时的计数,不需要再另外启动进程对有效分配单元数进行单独计算,提高了计数的效率,避免因需要对每个数据块进行单独计数从而影响SSD的性能。
进一步的,所述根据所述L2P映射表对所述L2P映射表涉及到的所有数据块的有效分配单元进行批量更新包括:
确定所述L2P映射表中每一映射键值对刷新前后分别对应的数据块;
对每一映射键值刷新前对应的数据块的有效分配单元数减一;
对每一映射键值刷新后对应的数据块的有效分配单元数加一。
由上述描述可知,基于L2P映射表中的每一映射键值对来对其刷新前后对应的数据块进行有效分配单元数,能够更加有序快速的进行有效分配单元数的统计,确保计数的准确性。
进一步的,所述实时记录每一数据块对应的读计数包括:
在读请求的执行过程中增加对所述读请求对应的数据块的读次数的统计并记录。
由上述描述可知,通过在读请求的执行过程中增加对其对应的数据块的读次数进行统计并记录,能够实现对数据块的读次数的实时更新,保证读次数统计的时效性和准确性。
进一步的,每执行完一次读请求,对所述读请求对应的数据块的读计数加一。
由上述描述可知,执行完读请求读计数就加一,采用这种有序的计数方式,能提高所记录读计数的准确性。
请参照图2,本发明另一实施例提供了一种SSD数据读取装置,包括:
记录模块,用于实时记录每一数据块对应的有效分配单元数和读计数;
调整模块,用于根据所述有效分配单元数调整其对应的数据块的固定阈值,得到动态阈值;
数据搬移模块,用于接收读请求,确定所述读请求对应的数据块的读计数,判断所述读计数是否大于所述数据块的动态阈值,若是,则在返回所述读请求对应的数据之前将所述读请求对应的数据写到新的数据块。
本发明另一实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述SSD数据读取方法中的各个步骤。
请参照图3,本发明另一实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述SSD数据读取方法中的各个步骤。
本发明上述SSD数据读取方法、装置、计算机可读存储介质及电子设备可以应用于任何类型的SSD,具有通用性。一个SSD是由控制单元和存储单元组成,存储单元中包括多个数据块,是擦除的基本单元,整个数据块中又包含多个page(页),是写入的基本单元,其存储结构示意图如图4所示,以下通过具体实施方式进行说明:
实施例一
请参照图1,一种SSD的读取方法,包括步骤:
S1、实时记录每一数据块对应的有效分配单元AU(Allocation Unit)数,即validcnt和读计数read cnt;
其中,按照每个数据块需要4Bytes来保持有效分配单元计数和4Bytes来保存读计数计算,假设系统中存在4K个条带块,每条条带块包含16个数据块,则需要4K*16*8Bytes=512kB的空间来存储所有数据块的有效分配单元计数和读计数;
S2、根据所述有效分配单元数调整其对应的数据块的固定阈值,得到动态阈值;
具体的,数据块的固定阈值根据待读取数据的SSD的闪存介质和闪存类型确定,其中,闪存类型包括SLC(Single-Level Cell)、MLC(Multi-Level Cell)和TLC(Trinary-Level Cell);
数据块对应的动态阈值=数据块对应的固定阈值-数据块对应的有效分配单元数;
S3、接收读请求,确定所述读请求对应的数据块的读计数,判断所述读计数是否大于所述数据块的动态阈值,若是,则在返回所述读请求对应的数据之前将所述读请求对应的数据写到新的数据块,即在根据读请求获取到对应的数据之后,如果该数据所在的数据块的读计数已经大于其动态阈值,则在返回该数据给对应的请求端之前,先将其搬移到新分配的数据块,然后再向请求端返回所述数据,其中,可以从SSD上随机选择一个可用存储空间大于或等于所述读请求对应的数据的大小的数据块作为新的数据块;
将数据写入新的数据块中,并记录新的存储地址;
将原有的数据存储地址替换为新的存储地址;
如果读计数小于或者等于所述数据块的动态阈值,则按照正常的读请求流程进行,向请求端返回所获取的数据;
在另一个可选的实施方式中,确定新的数据块的方式也可以是按照数据块本身排列的顺序进行确定,如直接采用当前数据块的同一行或同一列的相邻的数据块作为新的数据块;
通过在线读过程中完成数据的搬移,来实现减少读干扰的目的;同时只针对在线读的数据进行搬移,而没有被访问的数据始终保存在原来的数据块中,避免了SSD进行不必要的垃圾回收,从而减少了垃圾回收过程中对数据块中的有效数据的后台读写,由此可以减少对系统性能以及写放大的影响。
实施例二
本实施例与实施例一的不同在于,具体限定了如何进行有效分配单元数的计数:
在批量刷新L2P映射表时,根据所述L2P映射表对所述L2P映射表涉及到的所有数据块对应的有效分配单元数进行批量更新并记录;
所述根据所述L2P映射表对所述L2P映射表涉及到的所有数据块的有效分配单元进行批量更新包括:
确定所述L2P映射表中每一映射键值对刷新前后分别对应的数据块;
对每一映射键值刷新前对应的数据块的有效分配单元数减一;
对每一映射键值刷新后对应的数据块的有效分配单元数加一;
具体的,如图5所示,当数据存储到SSD的nand闪存后,会将元数据保存至元数据写缓存区,接着根据元数据写缓存区中的元数据批量刷新L2P映射表(Logical To PhysicalTable,逻辑地址到物理地址的映射表);
当在对批量刷新L2P映射表时,更新对应的数据块的valid cnt值,例如,原来的L2P映射表中保存的LAA0->PAA0的映射键值,当LAA0覆盖写后,新的键值对LAA0->PAA1需要更新时,需要将PAA0所在的block的valid cnt值减一,同时将PAA1所在的block的validcnt值加一。
实施例三
本实施例与实施例一或实施例二不同的在于,具体限定了如何进行读计数的统计:
在读请求的执行过程中增加对所述读请求对应的数据块的读次数的统计并记录;
每执行完一次读请求,对所述读请求对应的数据块的读计数加一;
通过上述方式能够实现对读计数的及时准确统计;
在每次读请求进行的时候更新对应数据块的读计数,假设当前读计数为i,若此时进行读请求操作则i=i+1,并对当前读计数进行更新,在之后每次进行读请求操作的时候依次对i进行加一的操作,直到读计数i的数值达到所述动态阈值,此时进行数据的在线搬移;
图6所示为在SSD数据读取的过程中SSD的block读分布图,从图中可以看到,随着时间变化,block上的valid cnt越来越少,动态阈值将接近固定阈值;而在T3时刻,读计数达到了动态阈值,则需要将本次读到的数据保存至新的block;久而久之,访问频度高的数据会被集中在相同的block,而不被访问的数据将始终保存在原来的block,直到被垃圾回收处理掉。
实施例四
请参照图2,一种SSD数据读取装置,包括:
记录模块,用于实时记录每一数据块对应的有效分配单元数和读计数;
调整模块,用于根据所述有效分配单元数调整其对应的数据块的固定阈值,得到动态阈值;
数据搬移模块,用于接收读请求,确定所述读请求对应的数据块的读计数,判断所述读计数是否大于所述数据块的动态阈值,若是,则在返回所述读请求对应的数据之前将所述读请求对应的数据写到新的数据块。
实施例五
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例一至三中任一个的一种SSD数据读取方法中的各个步骤。
实施例六
请参照图3,一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述实施例一至三中任一个的一种SSD数据读取方法中的各个步骤。
综上所述,本发明提供的一种SSD数据读取方法、装置、计算机可读存储介质及电子设备,对SSD进行数据读取时,增加对所访问数据对应的数据块的读计数的实时更新并记录,并在批量更新L2P映射表时,更新对应的数据块的有效分配单元数,通过有效分配单元数动态调整数据块的阈值,得到动态阈值,在进行数据读取时,一旦数据块的读计数超过其对应的动态阈值,则在读返回的过程中,将读取到的数据写到新分配的数据块;通过在线读过程中完成数据的搬移,来实现减少读干扰的目的;同时只针对在线读的数据进行搬移,而没有被访问的数据始终保存在原来的数据块中,避免了SSD进行不必要的垃圾回收,从而减少了垃圾回收过程中对数据块中的有效数据的后台读写,由此可以减少了对系统性能以及写放大的影响,延长了SSD的使用寿命;通过引入动态阈值实现在线搬移有效数据,有效的减少了读干扰的发生,同时解决了数据写入时写放大的产生,提高SSD的访问性能,适用性好,可用于所有SSD类型产品。
在本申请所提供的上述实施例中,应该理解到,所揭露的方法、装置、计算机可读存储介质以及电子设备,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个组件或模块可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或组件或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的组件可以是或者也可以不是物理上分开的,作为组件显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部组件来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个组件单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (3)
1.一种SSD数据读取方法,其特征在于,包括步骤:
实时记录每一数据块对应的有效分配单元数和读计数;
所述实时记录每一数据块对应的有效分配单元数包括:
在批量刷新L2P映射表时,根据所述L2P映射表对所述L2P映射表涉及到的所有数据块对应的有效分配单元数进行批量更新并记录;
所述根据所述L2P映射表对所述L2P映射表涉及到的所有数据块的有效分配单元进行批量更新包括:
确定所述L2P映射表中每一映射键值对刷新前后分别对应的数据块;
对每一映射键值刷新前对应的数据块的有效分配单元数减一;
对每一映射键值刷新后对应的数据块的有效分配单元数加一;
所述实时记录每一数据块对应的读计数包括:
在读请求的执行过程中增加对所述读请求对应的数据块的读次数的统计并记录,每执行完一次读请求,对所述读请求对应的数据块的读计数加一;
根据所述有效分配单元数调整其对应的数据块的固定阈值,得到动态阈值,数据块对应的动态阈值=数据块对应的固定阈值-数据块对应的有效分配单元数,数据块的固定阈值根据待读取数据的SSD的闪存介质和闪存类型确定;
接收读请求,确定所述读请求对应的数据块的读计数,判断所述读计数是否大于所述数据块的动态阈值,若是,则在返回所述读请求对应的数据之前将所述读请求对应的数据写到新的数据块。
2.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1所述的一种SSD数据读取方法中的各个步骤。
3.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1所述的一种SSD数据读取方法中的各个步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011129652.7A CN112256198B (zh) | 2020-10-21 | 2020-10-21 | Ssd数据读取方法、装置、可读存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011129652.7A CN112256198B (zh) | 2020-10-21 | 2020-10-21 | Ssd数据读取方法、装置、可读存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112256198A CN112256198A (zh) | 2021-01-22 |
CN112256198B true CN112256198B (zh) | 2023-12-19 |
Family
ID=74263264
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011129652.7A Active CN112256198B (zh) | 2020-10-21 | 2020-10-21 | Ssd数据读取方法、装置、可读存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112256198B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112783802B (zh) * | 2021-01-29 | 2022-11-01 | 山东华芯半导体有限公司 | 一种ssd中优化读干扰处理的方法 |
CN114356248B (zh) * | 2022-03-18 | 2022-06-14 | 苏州浪潮智能科技有限公司 | 一种数据处理方法和装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104793891A (zh) * | 2014-01-17 | 2015-07-22 | 群联电子股份有限公司 | 数据写入方法、存储器控制电路单元与存储器存储装置 |
CN106662980A (zh) * | 2014-05-29 | 2017-05-10 | 桑迪士克科技有限责任公司 | 用于非易失性存储器中的分布式计算的系统和方法 |
CN106990921A (zh) * | 2017-03-24 | 2017-07-28 | 合肥兆芯电子有限公司 | 数据写入方法、存储器存储装置与存储器控制电路单元 |
CN107368429A (zh) * | 2016-05-13 | 2017-11-21 | 慧荣科技股份有限公司 | 数据储存装置、内存控制器及其数据管理方法与数据区块管理方法 |
CN108614779A (zh) * | 2016-12-09 | 2018-10-02 | 北京京存技术有限公司 | 用于NANDflash存储设备的数据处理方法、NANDflash存储设备 |
US10303397B1 (en) * | 2017-05-25 | 2019-05-28 | Amazon Technologies, Inc. | Read disturb handling in storage devices |
CN109976671A (zh) * | 2019-03-19 | 2019-07-05 | 苏州浪潮智能科技有限公司 | 一种读干扰处理方法、装置、设备及可读存储介质 |
CN110008137A (zh) * | 2018-01-05 | 2019-07-12 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN111065997A (zh) * | 2017-06-14 | 2020-04-24 | 波利伍德有限责任公司 | 用于存储介质的协同数据迁移 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9201732B2 (en) * | 2010-01-28 | 2015-12-01 | Cleversafe, Inc. | Selective activation of memory to retrieve data in a dispersed storage network |
US9122614B1 (en) * | 2011-12-22 | 2015-09-01 | Netapp, Inc. | Modular block-allocator for data storage systems |
KR102317599B1 (ko) * | 2014-05-26 | 2021-10-26 | 삼성전자 주식회사 | 전자 장치 및 전자 장치의 단편화 분석 방법 |
TWI563507B (en) * | 2015-07-01 | 2016-12-21 | Phison Electronics Corp | Memory management method, memory control circuit unit and memry storage apparatus |
-
2020
- 2020-10-21 CN CN202011129652.7A patent/CN112256198B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104793891A (zh) * | 2014-01-17 | 2015-07-22 | 群联电子股份有限公司 | 数据写入方法、存储器控制电路单元与存储器存储装置 |
CN106662980A (zh) * | 2014-05-29 | 2017-05-10 | 桑迪士克科技有限责任公司 | 用于非易失性存储器中的分布式计算的系统和方法 |
CN107368429A (zh) * | 2016-05-13 | 2017-11-21 | 慧荣科技股份有限公司 | 数据储存装置、内存控制器及其数据管理方法与数据区块管理方法 |
CN108614779A (zh) * | 2016-12-09 | 2018-10-02 | 北京京存技术有限公司 | 用于NANDflash存储设备的数据处理方法、NANDflash存储设备 |
CN106990921A (zh) * | 2017-03-24 | 2017-07-28 | 合肥兆芯电子有限公司 | 数据写入方法、存储器存储装置与存储器控制电路单元 |
US10303397B1 (en) * | 2017-05-25 | 2019-05-28 | Amazon Technologies, Inc. | Read disturb handling in storage devices |
CN111065997A (zh) * | 2017-06-14 | 2020-04-24 | 波利伍德有限责任公司 | 用于存储介质的协同数据迁移 |
CN110008137A (zh) * | 2018-01-05 | 2019-07-12 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN109976671A (zh) * | 2019-03-19 | 2019-07-05 | 苏州浪潮智能科技有限公司 | 一种读干扰处理方法、装置、设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112256198A (zh) | 2021-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11789860B2 (en) | Logical to physical mapping management using low-latency non-volatile memory | |
US10062442B2 (en) | Method for managing data blocks and method of data management for data storage device | |
US8356152B2 (en) | Initiative wear leveling for non-volatile memory | |
US10168940B2 (en) | Data storage using SLC and TLC memory banks and data maintenance method thereof | |
US8706998B2 (en) | Method for managing flash memories having mixed memory types | |
CN112256198B (zh) | Ssd数据读取方法、装置、可读存储介质及电子设备 | |
US10922234B2 (en) | Method and system for online recovery of logical-to-physical mapping table affected by noise sources in a solid state drive | |
US20190235789A1 (en) | Method for performing writing management in a memory device, and associated memory device and controller thereof | |
US9176866B2 (en) | Active recycling for solid state drive | |
US11763899B2 (en) | Balanced three-level read disturb management in a memory device | |
CN110389712B (zh) | 数据写入方法及其装置、固态硬盘和计算机可读存储介质 | |
CN115291815B (zh) | 一种存储器及其控制方法与存储系统 | |
CN111930301A (zh) | 垃圾回收优化方法、装置、存储介质及电子设备 | |
CN112347001B (zh) | 闪存垃圾回收的校验方法、装置及电子设备 | |
US8370564B2 (en) | Access control device, information processing device, access control program and access control method | |
CN113590505B (zh) | 地址映射方法、固态硬盘控制器及固态硬盘 | |
US20130326120A1 (en) | Data storage device and operating method for flash memory | |
WO2022099441A1 (zh) | 一种存储介质的读取方法以及相关设备 | |
CN115933998B (zh) | 获取最优判决电平的方法、装置、存储设备及存储介质 | |
CN112905496A (zh) | 垃圾回收的方法、装置、可读存储介质及电子设备 | |
CN115904226A (zh) | 固态驱动器、设备及固态驱动器的操作方法 | |
Khanbadr et al. | A novel method for victim block selection for NAND flash-based solid state drives based on scoring | |
CN113419682B (zh) | 一种数据处理方法、装置和计算机闪存设备 | |
CN116469440A (zh) | 计算机可读取存储介质、使用优化读取电压表以读取数据的方法及装置 | |
CN111758086B (zh) | 用于ssd的映射表的刷新方法 |
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 |