读写闪存中数据的方法、装置及用户设备制造方法及图纸

技术编号:13005642 阅读:75 留言:0更新日期:2016-03-10 17:17
一种读写闪存中数据的方法、装置及用户设备,包括:接收读取数据的指令,其中,所述读取数据的指令包括:待读取数据的大小和所述待读取数据在所述闪存上的物理地址;从缓存中查找所述物理地址;当未从所述缓存中查找到所述物理地址时,根据所述待读取数据的大小和所述闪存的实际物理块大小,从内存中划分出缓存数据区;根据所述物理地址,从所述闪存中读取所述待读取数据,将所述待读取数据缓存在所述缓存数据区中。由此可以解决闪存的读写效率低,使用寿命短的问题。

【技术实现步骤摘要】
【国外来华专利技术】读写闪存中数据的方法、装置及用户设备
本专利技术涉及数据处理领域,尤其涉及一种读写闪存中数据的方法、装置及用户设备。
技术介绍
目前内嵌式多媒体卡(embeddedMultiMediaCard,eMMC)作为手机的主要存储介质广为使用,eMMC内部存储器件是非线性闪存(NANDFlash),简称闪存。NANDflash以页为单位读写数据,而以块为单位擦除数据。最初NANDflash的一个页是512字节,而随之NANDFlash工艺的发展,NANDFlash的容量越来越大,页大小也增大到8kilobyte(简称8KB,或者8K)或者16K。eMMC是一个标准的统一的协议,规定的读写单位是512字节。因此造成了写放大系数的增大,影响eMMC的操作效率和使用寿命。现有技术中,为了兼容不同厂家和类型的eMMC,linux系统中,eMMC驱动统一了物理块的大小,举例为512字节,这样由于NANDFlash的读写单位是页,即8K或者16K,因此即使eMMC读写512字节,对NANDFlash部分而言操作都已经放大到了8K或者16K,从而导致eMMC的读写效率低,使用寿命短的问题。
技术实现思路
本专利技术实施例提供了一种读写闪存中数据的方法、装置及用户设备,可以解决闪存的读写效率低,使用寿命短的问题。第一方面,提供了一种读取闪存中数据的方法,该方法包括:接收读取数据的指令,其中,所述读取数据的指令包括:待读取数据的大小和所述待读取数据在所述闪存上的物理地址;从缓存中查找所述物理地址;当未从所述缓存中查找到所述物理地址时,根据所述待读取数据的大小和所述闪存的实际物理块大小,从内存中划分出缓存数据区;根据所述物理地址,从所述闪存中读取所述待读取数据,将所述待读取数据缓存在所述缓存数据区中。结合第一方面,在第一方面的第一种实现方式中,所述缓存数据区的大小大于所述待读取数据的大小,并且所述缓存数据区的大小为所述闪存的实际物理块大小的整数倍。结合第一方面,在第一方面的第二种实现方式中,所述缓存数据区的大小等于所述待读取数据的大小,并且所述缓存数据区的大小为所述闪存的实际物理块大小的整数倍。结合第一方面的第一种实现方式或者第一方面的第二种实现方式,在第一方面的第三种实现方式中,在所述从内存中划分出缓存数据区之后,在所述根据所述物理地址,从所述闪存中读取所述待读取数据之前,所述方法还包括:从所述内存中划分出与所述缓存数据区对应的缓存头部,将所述缓存数据区的属性信息和所述物理地址缓存在所述缓存头部,其中,所述缓存数据区的属性信息包括所述缓存数据区的地址和大小。结合第一方面或者第一方面的上述三种实现方式中的任一种实现方式,在第一方面的第四种实现方式中,在所述闪存的实际物理块大小是根据所述闪存的标识信息CID,由所述闪存的驱动层从闪存的标识信息CID与闪存的实际物理块大小的对应关系表中获取到的。结合第一方面,在第一方面的第五种实现方式中,在所述接收读取数据的指令之前,所述方法还包括:接收所述闪存的驱动层经过所述闪存的块设备层发送的所述闪存的实际物理块大小。第二方面,提供了一种向闪存中写入数据的方法,该方法包括:接收写数据的指令,其中,所述写数据的指令包括:待写入数据、所述待写入数据的大小和所述待写入数据在所述闪存上的物理地址;根据所述待写入数据的大小和所述闪存的实际物理块大小,从内存中划分出缓存数据区,并划分出与所述缓存数据区对应的缓存头部;将所述待写入数据缓存在所述缓存数据区中,将所述缓存数据区的属性信息和所述物理地址缓存在所述缓存头部,其中,所述缓存数据区的属性信息包括所述缓存数据区的地址和大小;根据所述物理地址,将所述待写入数据写入所述闪存中。结合第二方面,在第二方面的第一种实现方式中,所述方法还包括:为所述缓存数据区添加标识信息,当所述缓存数据区中的数据与所述闪存中的数据不一致时,将所述标识信息标识为表示脏数据的信息;当所述内存的占用率大于预设的第一阈值时,将所述标识信息为表示脏数据的信息对应的缓存数据区中的数据写入所述闪存中;或者,当所述缓存数据区驻留的时间大于预设的第二阈值时,将所述标识信息为表示脏数据的信息对应的缓存数据区中的数据写入所述闪存中。第三方面,提供了一种读取闪存中数据的装置,该装置包括:接收单元、查找单元、划分单元和缓存单元;所述接收单元,用于接收读取数据的指令,其中,所述读取数据的指令包括:待读取数据的大小和所述待读取数据在所述闪存上的物理地址;所述查找单元,用于从缓存中查找所述接收单元接收的所述物理地址;所述划分单元,用于当所述查找单元未从所述缓存中查找到所述物理地址时,根据所述待读取数据的大小和所述闪存的实际物理块大小,从内存中划分出缓存数据区;所述缓存单元,用于根据所述物理地址,从所述闪存中读取所述待读取数据,将所述待读取数据缓存在所述划分单元划分的所述缓存数据区中。结合第三方面,在第三方面的第一种实现方式中,所述划分单元还用于:从所述内存中划分出与所述缓存数据区对应的缓存头部,将所述缓存数据区的属性信息和所述物理地址缓存在所述缓存头部,其中,所述缓存数据区的属性信息包括所述缓存数据区的地址和大小;所述缓存数据区的大小大于所述待读取数据的大小,并且所述缓存数据区的大小为所述闪存的实际物理块大小的整数倍;或者,所述缓存数据区的大小等于所述待读取数据的大小,并且所述缓存数据区的大小为所述闪存的实际物理块大小的整数倍;所述闪存的实际物理块大小是根据所述闪存的标识信息CID,由所述闪存的驱动层从闪存的标识信息CID与闪存的实际物理块大小的对应关系表中获取到的。结合第三方面或第三方面的第一种实现方式,在第三方面的第二种实现方式中,所述接收单元还用于:接收所述闪存的驱动层经过所述闪存的块设备层发送的所述闪存的实际物理块大小。第四方面,提供了一种向闪存中写入数据的装置,该装置包括:接收单元、划分单元、缓存单元和写入单元;所述接收单元,用于接收写数据的指令,其中,所述写数据的指令包括:待写入数据、所述待写入数据的大小和所述待写入数据在所述闪存上的物理地址;所述划分单元,用于根据所述接收单元接收的所述待写入数据的大小和所述闪存的实际物理块大小,从内存中划分出缓存数据区,并划分出与所述缓存数据区对应的缓存头部;所述缓存单元,用于将所述待写入数据缓存在所述划分单元划分的所述缓存数据区中,将所述缓存数据区的属性信息和所述物理地址缓存在所述划分单元划分的所述缓存头部,其中,所述缓存数据区的属性信息包括所述缓存数据区的逻辑地址和大小;所述写入单元,用于根据所述物理地址,将所述待写入数据写入所述闪存中。结合第四方面,在第四方面的第一种实现方式中,所述装置还包括:添加单元,用于为所述缓存数据区添加标识信息,当所述缓存数据区中的数据与所述闪存中的数据不一致时,将所述标识信息标识为表示脏数据的信息;所述写入单元,还用于当所述内存的占用率大于预设的第一阈值时,将所述添加单元添加的所述标识信息为表示脏数据的信息对应的缓存数据区中的数据写入所述闪存中;或者,当所述缓存数据区驻留的时间大于预设的第二阈值时,将所述添加单元添加的所述标识信息为表示脏数据的信息对应的缓存数据区中的数据写入所述闪存中。第五方面,提供了一种用户设备,该设备包括:网络本文档来自技高网...

【技术保护点】
PCT国内申请,权利要求书已公开。

【技术特征摘要】
【国外来华专利技术】1.一种读取闪存中数据的方法,其特征在于,所述方法包括:接收读取数据的指令,其中,所述读取数据的指令包括:待读取数据的大小和所述待读取数据在所述闪存上的物理地址;从缓存中查找所述物理地址;当未从所述缓存中查找到所述物理地址时,根据所述待读取数据的大小和所述闪存的实际物理块大小,从内存中划分出缓存数据区;根据所述物理地址,从所述闪存中读取所述待读取数据,将所述待读取数据缓存在所述缓存数据区中;其中,所述缓存数据区的大小大于所述待读取数据的大小,并且所述缓存数据区的大小为所述闪存的实际物理块大小的整数倍;或者,所述缓存数据区的大小等于所述待读取数据的大小,并且所述缓存数据区的大小为所述闪存的实际物理块大小的整数倍。2.根据权利要求1所述的方法,其特征在于,在所述从内存中划分出缓存数据区之后,在所述根据所述物理地址,从所述闪存中读取所述待读取数据之前,所述方法还包括:从所述内存中划分出与所述缓存数据区对应的缓存头部,将所述缓存数据区的属性信息和所述物理地址缓存在所述缓存头部,其中,所述缓存数据区的属性信息包括所述缓存数据区的地址和大小。3.根据权利要求1或2所述的方法,其特征在于,所述闪存的实际物理块大小是根据所述闪存的标识信息CID,由所述闪存的驱动层从闪存的标识信息CID与闪存的实际物理块大小的对应关系表中获取到的。4.根据权利要求1所述的方法,其特征在于,在所述接收读取数据的指令之前,所述方法还包括:接收所述闪存的驱动层经过所述闪存的块设备层发送的所述闪存的实际物理块大小。5.一种向闪存中写入数据的方法,其特征在于,所述方法包括:接收写数据的指令,其中,所述写数据的指令包括:待写入数据、所述待写入数据的大小和所述待写入数据在所述闪存上的物理地址;根据所述待写入数据的大小和所述闪存的实际物理块大小,从内存中划分出缓存数据区,并划分出与所述缓存数据区对应的缓存头部;将所述待写入数据缓存在所述缓存数据区中,将所述缓存数据区的属性信息和所述物理地址缓存在所述缓存头部,其中,所述缓存数据区的属性信息包括所述缓存数据区的地址和大小;根据所述物理地址,将所述待写入数据写入所述闪存中;其中,所述缓存数据区的大小大于所述待写入数据的大小,并且所述缓存数据区的大小为所述闪存的实际物理块大小的整数倍;或者,所述缓存数据区的大小等于所述待写入数据的大小,并且所述缓存数据区的大小为所述闪存的实际物理块大小的整数倍。6.根据权利要求5所述的方法,其特征在于,所述方法还包括:为所述缓存数据区添加标识信息,当所述缓存数据区中的数据与所述闪存中的数据不一致时,将所述标识信息标识为表示脏数据的信息;当所述内存的占用率大于预设的第一阈值时,将所述标识信息为表示脏数据的信息对应的缓存数据区中的数据写入所述闪存中;或者,当所述缓存数据区驻留的时间大于预设的第二阈值时,将所述标识信息为表示脏数据的信息对应的缓存数据区中的数据写入所述闪存中。7.一种读取闪存中数据的装置,其特征在于,所述装置包括:接收单元、查找单元、划分单元和缓存单元;所述接收单元,用于接收读取数据的指令,其中,所述读取数据的指令包括:待读取数据的大小和所述待读取数据在所述闪存上的物理地址;所述查找单元,用于从缓存中查找所述接收单元接收的所述物理地址;所述划分单元,用于当所述查找单元未从所述缓存中查找到所述物理地址时,根据所述待读取数据的大小和所述闪存的实际物理块大小,从内存中划分出缓存数据区;所述缓存单元,用于根据所述物理地址,从所述闪存中读取所述待读取数据,将所述待读取数据缓存在所述划分单元划分的所述缓存数据区中;其中,所述缓存数据区的大小大于所述待读取数据的大小,并且所述缓存数据区的大小为所述闪存的实际物理块大小的整数倍;或者,所述缓存数据区的大小等于所述待读取数据的大小,并且所述缓存数据区的大小为所述闪存的实际物理块大小的整数倍。8.根据权利要求7所述的装置,其特征在于,所述划分单元还用于:从所述内存中划分出与所述缓存数据区对应的缓存头部,将所述缓存数据区的属性信息和所述物理地址缓存在所述缓存头部,其中,所述缓存数据区的属性信息包括所述缓存数据区的地址和大小。9.根据权利要求7所述的装置,其特征在于,所述闪存的实际物理块大小是根据所述闪存的标识信息CID,由所述闪存的驱动层从闪存的标识信息CID与闪存的实际物理块大小的对应关系表中获取到的。10.根据权利要求7至9任一项所述的装置,其特征在于,所述接收单元还用于:接收所述闪存的驱动层经过所述闪存的块设备层发送的所述闪存的实际物理块大小。11.一种向闪存中写入数据的装置,其特征在于,所述装置包括:接收单元、划分单元、缓存单元和写入单元;所述接收单元,用于接收...

【专利技术属性】
技术研发人员:李志刚施国军赵迎春
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

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

1