本发明涉及存储装置,特别涉及一种计算机可读取存储介质、调度和执行主机数据更新命令的方法及装置。
背景技术:
1、闪存通常分为nor闪存与nand闪存。nor闪存为随机存取装置,中央处理器(host)可于地址引脚上提供任何存取nor闪存的地址,并及时地从nor闪存的数据引脚上获得存储于该地址上的数据。相反地,nand闪存并非随机存取,而是串行存取。nand闪存无法像nor闪存一样,可以存取任何随机地址,中央处理器反而需要写入串行的组字节(bytes)的值到nand闪存中,用于定义请求命令(command)的类型(如,读取、写入、擦除等),以及用在此命令上的地址。地址可指向一个页面(闪存中写入操作的最小数据块)或一个区块(闪存中擦除操作的最小数据块)。然而,为了提升闪存模块的数据更新效能,主机数据更新命令的执行顺序可能和主机端发出的用于更新数据的相应主机命令的顺序不同,因而可能发生脏写入(dirty write)的情况。因此.本发明提出一种计算机可读取存储介质、调度和执行主机数据更新命令的方法及装置,用于避免脏写入的错误。
技术实现思路
1、有鉴于此,如何减轻或消除上述相关领域的缺陷,实为有待解决的问题。
2、本发明涉及一种调度和执行主机数据更新命令的方法,由处理单元执行,包含:依据从主机端接收的用于更新数据的主机命令的类型和参数,产生第三主机数据更新命令,并且标记为第一类型的主机数据更新命令;响应第三主机数据更新命令中的第三逻辑地址相同于第一队列中的多个第一主机数据更新命令中的一个的第一逻辑地址的情况,推出并执行第一队列中的所有第一主机数据更新命令;响应第三逻辑地址相同于第二队列中的多个第二主机数据更新命令中的一个的第二逻辑地址的情况,推出并执行第一队列中的所有第一主机数据更新命令和第二队列中的所有第二主机数据更新命令;以及将第三主机更新命令推入第一队列。
3、本发明还涉及一种计算机可读取存储介质,用于存储能够被处理单元加载并执行的程序代码,并且所述程序代码被所述处理单元执行时实现如上所述的调度和执行主机数据更新命令的方法。
4、本发明还涉及一种调度和执行主机数据更新命令的装置,包含:随机存取存储器,配置空间给第一队列和第二队列;以及处理单元,耦接随机存取存储器。处理单元用于依据从主机端接收的用于更新数据的主机命令的类型和参数,产生第三主机数据更新命令,并且标记为第一类型的主机数据更新命令;响应第三主机数据更新命令中的第三逻辑地址相同于第一队列中的多个第一主机数据更新命令中的一个的第一逻辑地址的情况,推出并执行第一队列中的所有第一主机数据更新命令;响应第三逻辑地址相同于第二队列中的多个第二主机数据更新命令中的一个的第二逻辑地址的情况,推出并执行第一队列中的所有第一主机数据更新命令和第二队列中的所有第二主机数据更新命令;以及将第三主机更新命令推入第一队列。
5、上述实施例的优点之一,通过如上所述的调度和执行主机数据更新命令的方法,可避免因为主机数据更新命令的执行顺序和主机端发出的用于更新数据的相应主机命令的顺序不同,而发生脏写入的错误。
6、本发明的其他优点将配合以下的说明和附图进行更详细的解说。
1.一种调度和执行主机数据更新命令的方法,其由处理单元执行,其特征在于,所述调度和执行主机数据更新命令的方法包含:
2.如权利要求1所述的调度和执行主机数据更新命令的方法,其特征在于,所述第一类型的主机数据更新命令为顺序主机更新命令,以及所述第二类型的主机更新命令为随机主机更新命令。
3.如权利要求2所述的调度和执行主机数据更新命令的方法,其特征在于,所述顺序主机更新命令的逻辑区块地址长度大于1,以及所述随机主机更新命令的逻辑区块地址长度等于1。
4.如权利要求1所述的调度和执行主机数据更新命令的方法,其特征在于,所述第一类型的主机数据更新命令为随机主机更新命令,以及所述第二类型的主机更新命令为顺序主机更新命令。
5.如权利要求4所述的调度和执行主机数据更新命令的方法,其特征在于,所述顺序主机更新命令的逻辑区块地址长度大于1,以及所述随机主机更新命令的逻辑区块地址长度等于1。
6.如权利要求1所述的调度和执行主机数据更新命令的方法,其特征在于,包含:
7.如权利要求6所述的调度和执行主机数据更新命令的方法,其特征在于,所述第一队列为顺序更新命令队列或随机更新命令队列。
8.一种计算机可读取存储介质,用于存储能够被处理单元执行的程序代码,其特征在于,所述程序代码被所述处理单元执行时实现如权利要求1至7中任一项所述的调度和执行主机数据更新命令的方法。
9.一种调度和执行主机数据更新命令的装置,其特征在于,包含:
10.如权利要求9所述的调度和执行主机数据更新命令的装置,其特征在于,所述第一类型的主机数据更新命令为顺序主机更新命令,以及所述第二类型的主机更新命令为随机主机更新命令。
11.如权利要求10所述的调度和执行主机数据更新命令的装置,其特征在于,所述顺序主机更新命令的逻辑区块地址长度大于1,以及所述随机主机更新命令的逻辑区块地址长度等于1。
12.如权利要求9所述的调度和执行主机数据更新命令的装置,其特征在于,所述第一类型的主机数据更新命令为随机主机更新命令,以及所述第二类型的主机更新命令为顺序主机更新命令。
13.如权利要求12所述的调度和执行主机数据更新命令的装置,其特征在于,所述顺序主机更新命令的逻辑区块地址长度大于1,以及所述随机主机更新命令的逻辑区块地址长度等于1。
14.如权利要求9所述的调度和执行主机数据更新命令的装置,其特征在于,所述处理单元用于响应所述第一队列已满的情况,推出并执行所述第一队列中的所有所述第一主机数据更新命令。
15.如权利要求14所述的调度和执行主机数据更新命令的装置,其特征在于,所述主机命令为主机写入命令、主机丢弃命令或者主机擦除命令。