一种eMMC的数据存储方法、控制器及可读存储介质技术

技术编号:37812210 阅读:10 留言:0更新日期:2023-06-09 09:42
本申请涉及数据处理技术领域,特别涉及一种eMMC的数据存储方法、控制器及可读存储介质;eMMC包括用于缓存数据的SLC区域和用于存储数据的TLC区域,数据存储方法包括当接收到读写请求,判断当前SLC区域和TLC区域之间是否正在执行GC操作,并输出判断结果;当判断结果表示SLC区域和TLC区域之间正在执行GC操作,根据读写请求的优先级保持或者中断当前的GC操作;当判断结果表示SLC区域和TLC区域之间没有执行GC操作,执行读写请求。通过判断结果控制GC操作的开关,有效避免读写卡顿问题;通过读写请求的优先级保持或中断当前的GC操作,提高GC操作的灵活调节性,确保数据存储有序进行。确保数据存储有序进行。确保数据存储有序进行。

【技术实现步骤摘要】
一种eMMC的数据存储方法、控制器及可读存储介质


[0001]本申请涉及数据处理
,特别涉及一种eMMC的数据存储方法、控制器及可读存储介质。

技术介绍

[0002]相关技术中,当eMMC接收到读写请求时先将数据写入SLC区域,并直接启动GC操作,将SLC区域的数据直接搬移到TLC区域中,但是当SLC区域和TLC区域之间正在做GC操作时,HOST突然发出读写命令,会出现卡顿的情况;也就是说,HOST无法预知当前是否在执行GC操作,无法及时调节GC操作。若正在执行GC操作时HOST读写大容量数据,使得eMMC运行速度降低并伴随卡顿,严重时还会导致数据损坏。

技术实现思路

[0003]以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
[0004]本申请旨在至少解决现有技术中存在的技术问题之一。为此,本申请实施例提供了一种eMMC的数据存储方法、控制器及可读存储介质,有利于解决读写数据的过程中出现卡顿的情况;本申请通过在接收到读写请求后判断SLC区域和TLC区域之间是否正在执行GC操作,并根据判断结果控制GC操作的开关,有效避免读写卡顿问题,提高了运行速度;另外,本申请通过读写请求的优先级保持或中断当前的GC操作,提高了GC操作的灵活调节性。
[0005]第一方面,本申请实施例提供了一种eMMC的数据存储方法,所述eMMC包括用于缓存数据的SLC区域和用于存储数据的TLC区域,所述数据存储方法包括:当接收到读写请求,判断当前所述SLC区域和所述TLC区域之间是否正在执行GC操作,并输出判断结果;当所述判断结果表示所述SLC区域和所述TLC区域之间正在执行GC操作,根据所述读写请求的优先级保持或者中断当前的GC操作;当所述判断结果表示所述SLC区域和所述TLC区域之间没有执行GC操作,执行所述读写请求。
[0006]本申请上述第一方面的技术方案至少具有如下的优点或有益效果之一:通过在接收到读写请求后判断SLC区域和TLC区域之间是否正在执行GC操作,并根据判断结果控制GC操作的开关,有效避免读写卡顿问题,提高了运行速度;另外,本申请通过读写请求的优先级确定GC操作的开关,提高了GC操作的灵活调节性,同时能够确保数据存储的有序运行。
[0007]进一步,所述根据所述读写请求的优先级保持或者中断当前的GC操作,包括:判断接收到的读写请求的优先级和当前的GC操作对应的读写请求的优先级,并输出优先级的判断结果;当所述优先级的判断结果表示所述接收到的读写请求的优先级比所述当前的GC操作对应的读写请求的优先级高,中断所述当前的GC操作;
执行所述接收到的读写请求。
[0008]进一步,所述方法还包括:当所述优先级的判断结果表示所述当前的GC操作对应的读写请求的优先级比所述接收到的读写请求的优先级高,将所述接收到的读写请求加入待处理队列;继续执行所述当前的GC操作。
[0009]进一步,所述方法还包括:当所述当前的GC操作完成后,读取所述待处理队列中各个读写请求的优先级;执行所述待处理队列中优先级最高的读写请求。
[0010]进一步,所述中断所述当前的GC操作之后,方法还包括:记录被中断的GC操作过程中的数据中断地址和尾地址,将所述中断地址和所述尾地址存储在所述SLC区域中的预设区域。
[0011]进一步,所述方法还包括:当执行完所述接收到的读写请求后;根据所述中断地址和所述尾地址恢复所述被中断的GC操作。
[0012]进一步,所述预设区域占所述SLC区域的0.5%的容量并且不用于缓存任一读写请求的数据,或者,所述预设区域在中断所述当前的GC操作时由所述SLC区域临时划分得到。
[0013]进一步,在所述预设区域是由所述SLC区域临时划分得到的情况下,所述方法还包括:在恢复所述被中断的GC操作后,删除所述预设区域。
[0014]第二方面,本申请实施例提供了一种控制器,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行如上述第一方面的技术方案中所述的eMMC的数据存储方法。
[0015]第三方面,本申请实施例了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如第一方面的技术方案中所述的eMMC的数据存储方法。
附图说明
[0016]图1是本申请实施例提供的第一种eMMC的数据存储方法的步骤流程图;图2是图1中S200的一种步骤流程图;图3是图1中S200的另一种步骤流程图;图4是本申请实施例提供的第二种eMMC的数据存储方法的步骤流程图;图5是本申请实施例提供的第三种eMMC的数据存储方法的步骤流程图;图6是本申请实施例提供的第四种eMMC的数据存储方法的步骤流程图;图7是本申请实施例提供的一种控制器的结构示意图。
具体实施方式
[0017]为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
[0018]在本申请的描述中,多个指的是两个以上。如果有描述到第一、第二只是用于区分
技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
[0019]相关技术中,当eMMC接收到读写请求时先将数据写入SLC区域,并直接启动GC操作,将SLC区域的数据直接搬移到TLC区域中,但是当SLC区域和TLC区域之间正在做GC操作时,HOST突然发出读写命令,会出现卡顿的情况;也就是说,HOST无法预知当前是否在执行GC操作,无法及时调节GC操作。若正在执行GC操作时HOST读写大容量数据,使得eMMC运行速度降低并伴随卡顿,严重时还会导致数据损坏。
[0020]为此,本申请实施例提供了一种eMMC的数据存储方法、控制器及可读存储介质,有利于解决读写数据的过程中出现卡顿的情况;本申请通过在接收到读写请求后判断SLC区域和TLC区域之间是否正在执行GC操作,并根据判断结果控制GC操作的开关,有效避免读写卡顿问题,提高了运行速度;另外,本申请通过读写请求的优先级确定GC操作的开关,提高了GC操作的灵活调节性。
[0021]参照图1,图1是本申请实施例提供的第一种eMMC的数据存储方法的步骤流程图,其中,eMMC包括用于缓存数据的SLC区域和用于存储数据的TLC区域,数据存储方法包括步骤S100至S300,具体地,S100:当接收到读写请求,判断当前SLC区域和TLC区域之间是否正在执行GC操作,并输出判断结果;S200:当判断结果表示SLC区域和TLC区域之间正在执行GC操作,根据读写请求的优先级保持或者中断当前的GC操作;S300:当判断结果表示SLC区域和TLC区域之间没有执行GC操作,执行读写请求。
[0022]当接收到读写请求时,HOST判断当前的SLC区域和T本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种eMMC的数据存储方法,所述eMMC包括用于缓存数据的SLC区域和用于存储数据的TLC区域,其特征在于,所述数据存储方法包括:当接收到读写请求,判断当前所述SLC区域和所述TLC区域之间是否正在执行GC操作,并输出判断结果;当所述判断结果表示所述SLC区域和所述TLC区域之间正在执行GC操作,根据所述读写请求的优先级保持或者中断当前的GC操作;当所述判断结果表示所述SLC区域和所述TLC区域之间没有执行GC操作,执行所述读写请求。2.根据权利要求1所述的eMMC的数据存储方法,其特征在于,所述根据所述读写请求的优先级保持或者中断当前的GC操作,包括:判断接收到的读写请求的优先级和当前的GC操作对应的读写请求的优先级,并输出优先级的判断结果;当所述优先级的判断结果表示所述接收到的读写请求的优先级比所述当前的GC操作对应的读写请求的优先级高,中断所述当前的GC操作;执行所述接收到的读写请求。3.根据权利要求2所述的eMMC的数据存储方法,其特征在于,所述方法还包括:当所述优先级的判断结果表示所述当前的GC操作对应的读写请求的优先级比所述接收到的读写请求的优先级高,将所述接收到的读写请求加入待处理队列;继续执行所述当前的GC操作。4.根据权利要求3所述的eMMC的数据存储方法,其特征在于,所述方法还包括:当所述当前的GC操作完成后,读取所述待处理队列中各个读写请求的优先级;执行所述...

【专利技术属性】
技术研发人员:宋魏杰赖鼐龚晖
申请(专利权)人:珠海妙存科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1