读写闪存中数据的方法、装置及用户设备与流程

文档序号:18600433发布日期:2019-09-03 22:35阅读:来源:国知局

技术特征:

1.一种读取闪存中数据的方法,其特征在于,所述方法包括:

接收读取数据的指令,其中,所述读取数据的指令包括:待读取数据的大小和所述待读取数据在所述闪存上的物理地址;

从缓存中查找所述物理地址;

当未从所述缓存中查找到所述物理地址时,根据所述待读取数据的大小和所述闪存的实际物理块大小,从内存中划分出缓存数据区;

根据所述物理地址,从所述闪存中读取所述待读取数据,将所述待读取数据缓存在所述缓存数据区中;

其中,所述缓存数据区的大小大于所述待读取数据的大小,并且所述缓存数据区的大小为所述闪存的实际物理块大小的整数倍;或者,

所述缓存数据区的大小等于所述待读取数据的大小,并且所述缓存数据区的大小为所述闪存的实际物理块大小的整数倍。

2.根据权利要求1所述的方法,其特征在于,在所述从内存中划分出缓存数据区之后,在所述根据所述物理地址,从所述闪存中读取所述待读取数据之前,所述方法还包括:

从所述内存中划分出与所述缓存数据区对应的缓存头部,将所述缓存数据区的属性信息和所述物理地址缓存在所述缓存头部,其中,所述缓存数据区的属性信息包括所述缓存数据区的地址和大小。

3.根据权利要求1或2所述的方法,其特征在于,所述闪存的实际物理块大小是根据所述闪存的标识信息CID,由所述闪存的驱动层从闪存的标识信息CID与闪存的实际物理块大小的对应关系表中获取到的。

4.根据权利要求1所述的方法,其特征在于,在所述接收读取数据的指令之前,所述方法还包括:接收所述闪存的驱动层经过所述闪存的块设备层发送的所述闪存的实际物理块大小。

5.一种向闪存中写入数据的方法,其特征在于,所述方法包括:

接收写数据的指令,其中,所述写数据的指令包括:待写入数据、所述待写入数据的大小和所述待写入数据在所述闪存上的物理地址;

根据所述待写入数据的大小和所述闪存的实际物理块大小,从内存中划分出缓存数据区,并划分出与所述缓存数据区对应的缓存头部;

将所述待写入数据缓存在所述缓存数据区中,将所述缓存数据区的属性信息和所述物理地址缓存在所述缓存头部,其中,所述缓存数据区的属性信息包括所述缓存数据区的地址和大小;

根据所述物理地址,将所述待写入数据写入所述闪存中;

其中,所述缓存数据区的大小大于所述待写入数据的大小,并且所述缓存数据区的大小为所述闪存的实际物理块大小的整数倍;或者,

所述缓存数据区的大小等于所述待写入数据的大小,并且所述缓存数据区的大小为所述闪存的实际物理块大小的整数倍。

6.根据权利要求5所述的方法,其特征在于,所述方法还包括:

为所述缓存数据区添加标识信息,当所述缓存数据区中的数据与所述闪存中的数据不一致时,将所述标识信息标识为表示脏数据的信息;

当所述内存的占用率大于预设的第一阈值时,将所述标识信息为表示脏数据的信息对应的缓存数据区中的数据写入所述闪存中;或者,

当所述缓存数据区驻留的时间大于预设的第二阈值时,将所述标识信息为表示脏数据的信息对应的缓存数据区中的数据写入所述闪存中。

7.一种读取闪存中数据的装置,其特征在于,所述装置包括:接收单元、查找单元、划分单元和缓存单元;

所述接收单元,用于接收读取数据的指令,其中,所述读取数据的指令包括:待读取数据的大小和所述待读取数据在所述闪存上的物理地址;

所述查找单元,用于从缓存中查找所述接收单元接收的所述物理地址;

所述划分单元,用于当所述查找单元未从所述缓存中查找到所述物理地址时,根据所述待读取数据的大小和所述闪存的实际物理块大小,从内存中划分出缓存数据区;

所述缓存单元,用于根据所述物理地址,从所述闪存中读取所述待读取数据,将所述待读取数据缓存在所述划分单元划分的所述缓存数据区中;

其中,所述缓存数据区的大小大于所述待读取数据的大小,并且所述缓存数据区的大小为所述闪存的实际物理块大小的整数倍;或者,

所述缓存数据区的大小等于所述待读取数据的大小,并且所述缓存数据区的大小为所述闪存的实际物理块大小的整数倍。

8.根据权利要求7所述的装置,其特征在于,所述划分单元还用于:

从所述内存中划分出与所述缓存数据区对应的缓存头部,将所述缓存数据区的属性信息和所述物理地址缓存在所述缓存头部,其中,所述缓存数据区的属性信息包括所述缓存数据区的地址和大小。

9.根据权利要求7所述的装置,其特征在于,所述闪存的实际物理块大小是根据所述闪存的标识信息CID,由所述闪存的驱动层从闪存的标识信息CID与闪存的实际物理块大小的对应关系表中获取到的。

10.根据权利要求7至9任一项所述的装置,其特征在于,所述接收单元还用于:接收所述闪存的驱动层经过所述闪存的块设备层发送的所述闪存的实际物理块大小。

11.一种向闪存中写入数据的装置,其特征在于,所述装置包括:接收单元、划分单元、缓存单元和写入单元;

所述接收单元,用于接收写数据的指令,其中,所述写数据的指令包括:待写入数据、所述待写入数据的大小和所述待写入数据在所述闪存上的物理地址;

所述划分单元,用于根据所述接收单元接收的所述待写入数据的大小和所述闪存的实际物理块大小,从内存中划分出缓存数据区,并划分出与所述缓存数据区对应的缓存头部;

所述缓存单元,用于将所述待写入数据缓存在所述划分单元划分的所述缓存数据区中,将所述缓存数据区的属性信息和所述物理地址缓存在所述划分单元划分的所述缓存头部,其中,所述缓存数据区的属性信息包括所述缓存数据区的逻辑地址和大小;

所述写入单元,用于根据所述物理地址,将所述待写入数据写入所述闪存中;

其中,所述缓存数据区的大小大于所述待写入数据的大小,并且所述缓存数据区的大小为所述闪存的实际物理块大小的整数倍;或者,

所述缓存数据区的大小等于所述待写入数据的大小,并且所述缓存数据区的大小为所述闪存的实际物理块大小的整数倍。

12.根据权利要求11所述的装置,其特征在于,所述装置还包括:添加单元,用于为所述缓存数据区添加标识信息,当所述缓存数据区中的数据与所述闪存中的数据不一致时,将所述标识信息标识为表示脏数据的信息;

所述写入单元,还用于当所述内存的占用率大于预设的第一阈值时,将所述添加单元添加的所述标识信息为表示脏数据的信息对应的缓存数据区中的数据写入所述闪存中;或者,

当所述缓存数据区驻留的时间大于预设的第二阈值时,将所述添加单元添加的所述标识信息为表示脏数据的信息对应的缓存数据区中的数据写入所述闪存中。

13.一种用户设备,其特征在于,所述设备包括:

网络接口;

一个或多个处理器;

存储器,所述存储器包括内存和闪存;

一个或多个程序存储在存储器中,并被配置为由一个或多个处理器执行,一个或多个程序包括:

接收读取数据的指令,其中,所述读取数据的指令包括:待读取数据的大小和所述待读取数据在所述闪存上的物理地址;

从缓存中查找所述物理地址;

当未从所述缓存中查找到所述物理地址时,根据所述待读取数据的大小和所述闪存的实际物理块大小,从所述内存中划分出缓存数据区;

根据所述物理地址,从所述闪存中读取所述待读取数据,将所述待读取数据缓存在所述缓存数据区中;

其中,所述缓存数据区的大小大于所述待读取数据的大小,并且所述缓存数据区的大小为所述闪存的实际物理块大小的整数倍;或者,

所述缓存数据区的大小等于所述待读取数据的大小,并且所述缓存数据区的大小为所述闪存的实际物理块大小的整数倍。

14.根据权利要求13所述的设备,其特征在于,所述一个或多个程序还包括:从所述内存中划分出与所述缓存数据区对应的缓存头部,将所述缓存数据区的属性信息和所述物理地址缓存在所述缓存头部,其中,所述缓存数据区的属性信息包括所述缓存数据区的地址和大小。

15.根据权利要求13或14所述的设备,其特征在于,所述闪存的实际物理块大小是根据所述闪存的标识信息CID,由所述闪存的驱动层从闪存的标识信息CID与闪存的实际物理块大小的对应关系表中获取到的。

16.根据权利要求13所述的设备,其特征在于,所述一个或多个程序还包括:接收所述闪存的驱动层经过所述闪存的块设备层发送的所述闪存的实际物理块大小。

17.一种用户设备,其特征在于,所述设备包括:

网络接口;

一个或多个处理器;

存储器,所述存储器包括内存和闪存;

一个或多个程序存储在存储器中,并被配置为由一个或多个处理器执行,一个或多个程序包括:

接收写数据的指令,其中,所述写数据的指令包括:待写入数据、所述待写入数据的大小和所述待写入数据在所述闪存上的物理地址;

根据所述待写入数据的大小和所述闪存的实际物理块大小,从内存中划分出缓存数据区,并划分出与所述缓存数据区对应的缓存头部;

将所述待写入数据缓存在所述缓存数据区中,将所述缓存数据区的属性信息和所述物理地址缓存在所述缓存头部,其中,所述缓存数据区的属性信息包括所述缓存数据区的地址和大小;

根据所述物理地址,将所述待写入数据写入所述闪存中;

其中,所述缓存数据区的大小大于所述待写入数据的大小,并且所述缓存数据区的大小为所述闪存的实际物理块大小的整数倍;或者,

所述缓存数据区的大小等于所述待写入数据的大小,并且所述缓存数据区的大小为所述闪存的实际物理块大小的整数倍。

18.根据权利要求17所述的设备,其特征在于,所述一个或多个程序还包括:

为所述缓存数据区添加标识信息,当所述缓存数据区中的数据与所述闪存中的数据不一致时,将所述标识信息标识为表示脏数据的信息;

当所述内存的占用率大于预设的第一阈值时,将所述标识信息为表示脏数据的信息对应的缓存数据区中的数据写入所述闪存中;或者,

当所述缓存数据区驻留的时间大于预设的第二阈值时,将所述标识信息为表示脏数据的信息对应的缓存数据区中的数据写入所述闪存中。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1