本申请涉及数据处理,特别涉及一种emmc的数据存储方法、控制器及可读存储介质。
背景技术:
1、相关技术中,当emmc接收到读写请求时先将数据写入slc区域,并直接启动gc操作,将slc区域的数据直接搬移到tlc区域中,但是当slc区域和tlc区域之间正在做gc操作时,host突然发出读写命令,会出现卡顿的情况;也就是说,host无法预知当前是否在执行gc操作,无法及时调节gc操作。若正在执行gc操作时host读写大容量数据,使得emmc运行速度降低并伴随卡顿,严重时还会导致数据损坏。
技术实现思路
1、以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
2、本申请旨在至少解决现有技术中存在的技术问题之一。为此,本申请实施例提供了一种emmc的数据存储方法、控制器及可读存储介质,有利于解决读写数据的过程中出现卡顿的情况;本申请通过在接收到读写请求后判断slc区域和tlc区域之间是否正在执行gc操作,并根据判断结果控制gc操作的开关,有效避免读写卡顿问题,提高了运行速度;另外,本申请通过读写请求的优先级保持或中断当前的gc操作,提高了gc操作的灵活调节性。
3、第一方面,本申请实施例提供了一种emmc的数据存储方法,所述emmc包括用于缓存数据的slc区域和用于存储数据的tlc区域,所述数据存储方法包括:
4、当接收到读写请求,判断当前所述slc区域和所述tlc区域之间是否正在执行gc操作,并输出判断结果;
5、当所述判断结果表示所述slc区域和所述tlc区域之间正在执行gc操作,根据所述读写请求的优先级保持或者中断当前的gc操作;
6、当所述判断结果表示所述slc区域和所述tlc区域之间没有执行gc操作,执行所述读写请求。
7、本申请上述第一方面的技术方案至少具有如下的优点或有益效果之一:通过在接收到读写请求后判断slc区域和tlc区域之间是否正在执行gc操作,并根据判断结果控制gc操作的开关,有效避免读写卡顿问题,提高了运行速度;另外,本申请通过读写请求的优先级确定gc操作的开关,提高了gc操作的灵活调节性,同时能够确保数据存储的有序运行。
8、进一步,所述根据所述读写请求的优先级保持或者中断当前的gc操作,包括:
9、判断接收到的读写请求的优先级和当前的gc操作对应的读写请求的优先级,并输出优先级的判断结果;
10、当所述优先级的判断结果表示所述接收到的读写请求的优先级比所述当前的gc操作对应的读写请求的优先级高,中断所述当前的gc操作;
11、执行所述接收到的读写请求。
12、进一步,所述方法还包括:当所述优先级的判断结果表示所述当前的gc操作对应的读写请求的优先级比所述接收到的读写请求的优先级高,将所述接收到的读写请求加入待处理队列;
13、继续执行所述当前的gc操作。
14、进一步,所述方法还包括:当所述当前的gc操作完成后,读取所述待处理队列中各个读写请求的优先级;
15、执行所述待处理队列中优先级最高的读写请求。
16、进一步,所述中断所述当前的gc操作之后,方法还包括:
17、记录被中断的gc操作过程中的数据中断地址和尾地址,将所述中断地址和所述尾地址存储在所述slc区域中的预设区域。
18、进一步,所述方法还包括:当执行完所述接收到的读写请求后;
19、根据所述中断地址和所述尾地址恢复所述被中断的gc操作。
20、进一步,所述预设区域占所述slc区域的0.5%的容量并且不用于缓存任一读写请求的数据,或者,所述预设区域在中断所述当前的gc操作时由所述slc区域临时划分得到。
21、进一步,在所述预设区域是由所述slc区域临时划分得到的情况下,所述方法还包括:
22、在恢复所述被中断的gc操作后,删除所述预设区域。
23、第二方面,本申请实施例提供了一种控制器,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行如上述第一方面的技术方案中所述的emmc的数据存储方法。
24、第三方面,本申请实施例了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如第一方面的技术方案中所述的emmc的数据存储方法。
1.一种emmc的数据存储方法,所述emmc包括用于缓存数据的slc区域和用于存储数据的tlc区域,其特征在于,所述数据存储方法包括:
2.根据权利要求1所述的emmc的数据存储方法,其特征在于,所述根据所述读写请求的优先级保持或者中断当前的gc操作,包括:
3.根据权利要求2所述的emmc的数据存储方法,其特征在于,所述方法还包括:
4.根据权利要求3所述的emmc的数据存储方法,其特征在于,所述方法还包括:
5.根据权利要求3所述的emmc的数据存储方法,其特征在于,所述中断所述当前的gc操作之后,方法还包括:
6.根据权利要求5所述的emmc的数据存储方法,其特征在于,所述方法还包括:
7.根据权利要求5所述的emmc的数据存储方法,其特征在于,所述预设区域占所述slc区域的0.5%的容量并且不用于缓存任一读写请求的数据,或者,所述预设区域在中断所述当前的gc操作时由所述slc区域临时划分得到。
8.根据权利要求7所述的emmc的数据存储方法,其特征在于,在所述预设区域是由所述slc区域临时划分得到的情况下,所述方法还包括:
9.一种控制器,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行如权利要求1至8中任意一项所述的emmc的数据存储方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如权利要求1至8中任意一项所述的emmc的数据存储方法。