CN112783802A - 一种ssd中优化读干扰处理的方法 - Google Patents
一种ssd中优化读干扰处理的方法 Download PDFInfo
- Publication number
- CN112783802A CN112783802A CN202110125761.XA CN202110125761A CN112783802A CN 112783802 A CN112783802 A CN 112783802A CN 202110125761 A CN202110125761 A CN 202110125761A CN 112783802 A CN112783802 A CN 112783802A
- Authority
- CN
- China
- Prior art keywords
- write
- data
- cache
- timer
- back cache
- 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
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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开一种SSD中优化读干扰处理的方法,本方法设置一个回写缓存,回写缓存是一个用于保存读干扰数据的缓存。当固件监测到需要回写数据时,先判断当前写请求状态,如果写请求非空闲并且回写缓存没满,数据写入回写缓存。SSD运行时开启定时器Timer Tcb,如果在定时器Timer Tcb触发之前,写请求空闲,把回写缓存中最老的有效数据搬到写缓存。如果回写缓存满,则将回写缓存中最老的有效数据搬到写缓存,需要回写数据搬入回写缓存,同时不停的将最老的有效数据从回写缓存搬到写缓存,直到定时器Timer Tfull触发或者数据量降至回写缓存的一半。本发明可以有效提升此场景下的写入性能,并使写性能保持在一个相对稳定的水平。
Description
技术领域
本发明公开一种SSD中优化读干扰处理的方法,属于存储器技术领域。
背景技术
使用NAND Flash作为存储介质的SSD都需要面对读干扰(read disturb)问题,严重的读干扰会导致存储的数据出现不可纠正的错误。处理读干扰的方式很多,其中一种方式是判断当前的读次数,根据设置的阈值进行回写或者回收,但是该处理方式会影响SSD写性能。
回写处理是一种读干扰的处理方法,指在SSD运行过程中,固件监测当前读取的数据所对应的block的读取次数,根据设置的读取次数阈值判断当前block数据是否需要进行回写或者回收处理。常规的回写方法是直接将读取的数据写入NAND Flash,或者将读取的数据当做Host写直接搬移到写缓存中。
在大量读写混合同时读干扰现象大量发生的情况下,目前的回写方法将数据直接放入写缓存,会影响写入性能。
发明内容
针对现有技术的缺陷,本发明提供一种SSD中优化读干扰处理的方法,增加回写缓存,适用于大压力的回写处理场景,可以有效提升此场景下的写入性能,并使写性能保持在一个相对稳定的水平。
为了解决所述技术问题,本发明采用的技术方案是:一种SSD中优化读干扰处理的方法,包括以下步骤:
S01)、设置回写缓存,回写缓存是一个用于保存读干扰数据的缓存;
S02)、固件监测当前读取的数据所对应的block的读取次数,根据设置的读取次数阈值判断当前block数据是否需要进行回写,当固件判断到读取的数据达到读干扰次数要求,需要回写数据时,先判断当前写请求状态,如果写请求空闲或者写请求小于一定数量情况下,回写数据直接搬入写缓存;
S03)、如果写请求非空闲,对回写缓存是否满进行判断,如果回写缓存没满,数据写入回写缓存,SSD运行时开启定时器Timer Tcb,如果在定时器Timer Tcb触发之前,写请求空闲,根据先入先出算法并通过检查数据有效位把回写缓存中最老的有效数据搬到写缓存,Tcb触发时将回写缓存中最老的有效数据搬到写缓存;
S04)、如果回写缓存满,则将回写缓存中最老的有效数据搬到写缓存,需要回写数据搬入回写缓存,同时开启定时器Timer Tfull,在定时器Tfull触发期间,不停的将最老的有效数据从回写缓存搬到写缓存,直到定时器Timer Tfull触发或者数据量降至回写缓存的一半。
进一步的,定时器Timer Tcb在SSD运行过程中一直开启,定时器Timer Tful仅在回写缓存满时开启,触发一次后关闭。
本发明的有益效果:本方法在传统回写策略基础上,增加回写缓存,适用于大压力的回写处理场景,可以有效提升此场景下的写入性能,并使写性能保持在一个相对稳定的水平。
附图说明
图1为实施例1的流程图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步的说明。
实施例1
本实施例公开一种SSD中优化读干扰处理的方法,本方法在传统回写策略基础上,增加回写缓存,适用于大压力的回写处理场景,可以有效提升此场景下的写入性能,并使写性能保持在一个相对稳定的水平。
具体的,SSD开始运行后设置定时器Timer Tcb,该定时器一直执行。当SSD判断到需要进行回写处理时,开始本发明的流程。
1、判断是否需要回写,如果是执行2,如果不是执行1;
2、判断当前写请求是否空闲,如果是执行3,如果不是执行4;
3、将数据搬入写缓存,然后执行1;
4、判断回写缓存是否已满,如果是执行5,如果不是执行10;
5、设置定时器Timer Tfull,执行步骤6;
6、将回写缓存中最老的有效数据搬入写缓存,然后执行步骤7;
7、将需要回写的数据搬入回写缓存,执行步骤8;
8、判断回写缓存数据量是否降至一半,如果是执行步骤1,如果不是执行步骤6,执行当前步骤时,如果定时器Tfull被触发执行步骤9;
9、关闭定时器Tfull,执行步骤8的判断条件设置为是,然后执行步骤8;
10、将数据搬入回写缓存,执行步骤11;
11、判断当前写请求是否空闲,如果是执行3,如果不是执行12;
12、等待定时器Tcb触发,当Tcb触发时,执行步骤3。
定时器Timer Tcb在SSD运行过程中一直开启,定时器Timer Tful仅在回写缓存满时开启,触发一次后关闭。Timer Tcb和Timer Tfull的具体间隔根据实际情况设置。
通过控制回写缓存的大小以及Timer Tcb间隔,使整个回写过程处在一个平衡状态,保证SSD的整体读写性能。
本实施例中,回写缓存大小可以根据实际情况确定,假设SSD的读干扰处理数据单元为4KB,那么回写缓存的大小是4KB的整数倍,另外为了减少回写缓存的资源占用,一般把回写缓存控制为写缓存的1/n 。Tcb不是固定值,根据SSD对读干扰的处理要求以及回写缓存的大小设置,假如回写缓存较小,而且需要尽快处理读干扰,Tcb可以设置间隔较小,反之则可以设置间隔较大,一般按n毫秒设置。另外Tfull也是要根据读干扰处理要求,因为它是在大量读干扰需要被处理的情况下才会设置,如果需要尽快将回写缓存清空到一半,Tfull间隔可以设置较大,反之则可以设置较小,一般按n*0.5毫秒设置。
以上描述的仅是本发明的基本原理和优选实施例,本领域技术人员根据本发明做出的改进和替换,属于本发明的保护范围。
Claims (2)
1.一种SSD中优化读干扰处理的方法,其特征在于:包括以下步骤:
S01)、设置回写缓存,回写缓存是一个用于保存读干扰数据的缓存;
S02)、固件监测当前读取的数据所对应的block的读取次数,根据设置的读取次数阈值判断当前block数据是否需要进行回写,当固件判断到读取的数据达到读干扰次数要求,需要回写数据时,先判断当前写请求状态,如果写请求空闲或者写请求小于一定数量情况下,回写数据直接搬入写缓存;
S03)、如果写请求非空闲,对回写缓存是否满进行判断,如果回写缓存没满,数据写入回写缓存,SSD运行时开启定时器Timer Tcb,如果在定时器Timer Tcb触发之前,写请求空闲,根据先入先出算法并通过检查数据有效位把回写缓存中最老的有效数据搬到写缓存,Tcb触发时将回写缓存中最老的有效数据搬到写缓存;
S04)、如果回写缓存满,则根据先入先出算法并通过检查数据有效位将回写缓存中最老的有效数据搬到写缓存,需要回写数据搬入回写缓存,同时开启定时器Timer Tfull,在定时器Tfull触发期间,不停的将最老的有效数据从回写缓存搬到写缓存,直到定时器Timer Tfull触发或者数据量降至回写缓存的一半。
2.根据权利要求1所述的SSD中优化读干扰处理的方法,其特征在于:定时器Timer Tcb在SSD运行过程中一直开启,定时器Timer Tful仅在回写缓存满时开启,触发一次后关闭。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110125761.XA CN112783802B (zh) | 2021-01-29 | 2021-01-29 | 一种ssd中优化读干扰处理的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110125761.XA CN112783802B (zh) | 2021-01-29 | 2021-01-29 | 一种ssd中优化读干扰处理的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112783802A true CN112783802A (zh) | 2021-05-11 |
CN112783802B CN112783802B (zh) | 2022-11-01 |
Family
ID=75759717
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110125761.XA Active CN112783802B (zh) | 2021-01-29 | 2021-01-29 | 一种ssd中优化读干扰处理的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112783802B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104503707A (zh) * | 2014-12-24 | 2015-04-08 | 华为技术有限公司 | 读取数据的方法以及装置 |
CN106201916A (zh) * | 2016-07-25 | 2016-12-07 | 中国人民解放军国防科学技术大学 | 一种面向ssd的非易失缓存机制 |
KR20170096444A (ko) * | 2016-02-16 | 2017-08-24 | 단국대학교 산학협력단 | 플래시 메모리의 읽기 간섭 오류 감소를 위한 데이터 분산이주 방법 및 그 장치 |
US20180129429A1 (en) * | 2015-09-08 | 2018-05-10 | Huawei Technologies Co., Ltd. | Method and apparatus for writing data into cache |
CN109976671A (zh) * | 2019-03-19 | 2019-07-05 | 苏州浪潮智能科技有限公司 | 一种读干扰处理方法、装置、设备及可读存储介质 |
CN110659217A (zh) * | 2019-08-30 | 2020-01-07 | 苏州浪潮智能科技有限公司 | 一种固态硬盘的垃圾回收方法、装置、设备及存储介质 |
CN111797033A (zh) * | 2020-06-23 | 2020-10-20 | 山东华芯半导体有限公司 | 一种SSD中处理NAND Flash读干扰的方法 |
CN112256198A (zh) * | 2020-10-21 | 2021-01-22 | 成都佰维存储科技有限公司 | Ssd数据读取方法、装置、可读存储介质及电子设备 |
-
2021
- 2021-01-29 CN CN202110125761.XA patent/CN112783802B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104503707A (zh) * | 2014-12-24 | 2015-04-08 | 华为技术有限公司 | 读取数据的方法以及装置 |
US20180129429A1 (en) * | 2015-09-08 | 2018-05-10 | Huawei Technologies Co., Ltd. | Method and apparatus for writing data into cache |
KR20170096444A (ko) * | 2016-02-16 | 2017-08-24 | 단국대학교 산학협력단 | 플래시 메모리의 읽기 간섭 오류 감소를 위한 데이터 분산이주 방법 및 그 장치 |
CN106201916A (zh) * | 2016-07-25 | 2016-12-07 | 中国人民解放军国防科学技术大学 | 一种面向ssd的非易失缓存机制 |
CN109976671A (zh) * | 2019-03-19 | 2019-07-05 | 苏州浪潮智能科技有限公司 | 一种读干扰处理方法、装置、设备及可读存储介质 |
CN110659217A (zh) * | 2019-08-30 | 2020-01-07 | 苏州浪潮智能科技有限公司 | 一种固态硬盘的垃圾回收方法、装置、设备及存储介质 |
CN111797033A (zh) * | 2020-06-23 | 2020-10-20 | 山东华芯半导体有限公司 | 一种SSD中处理NAND Flash读干扰的方法 |
CN112256198A (zh) * | 2020-10-21 | 2021-01-22 | 成都佰维存储科技有限公司 | Ssd数据读取方法、装置、可读存储介质及电子设备 |
Non-Patent Citations (2)
Title |
---|
SARAN TARNOI: "《Adaptive probabilistic caching technique for caching networks with dynamic content popularity》", 《COMPUTER COMMUNICATIONS》 * |
张剑: "《一种针对时间局部性访问的固态硬盘缓存算法》", 《计算机与数字工程》 * |
Also Published As
Publication number | Publication date |
---|---|
CN112783802B (zh) | 2022-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8285940B2 (en) | Method and apparatus for high speed cache flushing in a non-volatile memory | |
US7814276B2 (en) | Data cache architecture and cache algorithm used therein | |
US8880775B2 (en) | System and method of garbage collection in a memory device | |
US8174912B2 (en) | Systems and methods for circular buffering control in a memory device | |
CN111708713B (zh) | 一种固态硬盘智能垃圾回收与调度方法 | |
US20190227926A1 (en) | Method for managing flash memory module and associated flash memory controller and electronic device | |
US11176035B2 (en) | Data storage devices and data processing methods | |
US10416907B2 (en) | Storage system, storage control apparatus, and method of controlling a storage device | |
US11204864B2 (en) | Data storage devices and data processing methods for improving the accessing performance of the data storage devices | |
KR101127686B1 (ko) | 반도체 기억 장치 | |
CN110597457A (zh) | 一种固态硬盘、固态硬盘的控制方法及控制器 | |
US9201799B2 (en) | Method for disk defrag handling in solid state drive caching environment | |
CN109815166B (zh) | 一种存储数据的动态回收处理方法及存储装置 | |
CN113835614A (zh) | 一种基于分布式文件存储客户端的ssd智能缓存方法和系统 | |
CN113031866B (zh) | 一种应用于SSD的Trim管理方法 | |
CN111580757B (zh) | 数据写入方法、系统和固态硬盘 | |
CN112347001B (zh) | 闪存垃圾回收的校验方法、装置及电子设备 | |
CN112783802B (zh) | 一种ssd中优化读干扰处理的方法 | |
CN110275678B (zh) | 一种基于stt-mram的固态存储器件随机访问性能提升方法 | |
US11556276B2 (en) | Memory system and operating method thereof | |
CN115840542B (zh) | 一种硬盘的请求处理方法、系统、存储介质和电子设备 | |
US20190258422A1 (en) | Methods and apparatus for controlling flash translation layer recycle from host | |
CN109388343A (zh) | 一种数据存储方法及存储器 | |
CN110209356A (zh) | 一种提高ssd读写性能的方法及其系统 | |
CN115079959B (zh) | 一种文件管理的方法、装置及电子设备 |
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 |