一种数据转换方法及装置、数据读写方法及装置制造方法及图纸

技术编号:37123177 阅读:20 留言:0更新日期:2023-04-01 05:19
本申请涉及芯片技术领域,公开一种数据转换方法及装置、数据读写方法及装置,其中,所述数据转换方法,包括:根据用户自定义的块block的容量和数量,确定Flash中block区域总共所占用的页page的数量;根据block区域总共所占用的page的数量,从Flash的内存中划分出作为block区域的连续Flash空间;在Flash的内存中确定出block区域的地址范围;根据单个page所能容纳的block的数量,对所述地址范围中的每个page进行划分,以在所述block区域中建立block与page之间的映射关系。block与page之间的映射关系。block与page之间的映射关系。

【技术实现步骤摘要】
一种数据转换方法及装置、数据读写方法及装置


[0001]本申请涉及芯片
,例如涉及一种数据转换方法及装置、数据读写方法及装置。

技术介绍

[0002]目前,Flash是存储芯片的一种,也是芯片内部非常重要的组成模块之一,不仅具备电子可擦除可编程的性能,还可以快速读取数据,使数据不会因为断电而丢失。Flash的最小存储单元以页(page)为最小读写单位,即对Flash的一次读写最小容量是1个page(不同Flash型号的page大小是不一样的,例如512字节或256字节),与此同时,不同的应用程序对Flash存储有不同的需求,当应用需要以与page的数据容量不同的块(block)为最小数据块单元读写Flash时,以page为最小单元的Flash则不满足应用需求。在相关技术中,通过不同的寄存器配置形成固定的page和block之间的容量比对应关系,从而通过硬件方式,实现以page或block为最小单元的方式进行访问。
[0003]在实现本公开实施例的过程中,发现相关技术中至少存在如下问题:
[0004]硬件方式需要明确page和block之间的容量比对应关系,一旦芯片流片就会使得容量比便不可更改,block的数量和容量大小也不可修改,导致难以满足众多用户的不同需求,同时,硬件方式的生产成本高,提高了芯片的价格,降低了芯片的竞争力。
[0005]需要说明的是,在上述
技术介绍
部分公开的信息仅用于加强对本申请的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
专利技术内容
[0006]为了对披露的实施例的一些方面有基本的理解,下面给出了简单的概括。所述概括不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围,而是作为后面的详细说明的序言。
[0007]本公开实施例提供了一种数据转换方法及装置、数据读写方法及装置、计算设备和存储介质,通过软件算法,实现可重复划分使用的Flash逻辑page和用户定义的block之间的映射关系。
[0008]在一些实施例中,所述数据转换方法,包括:
[0009]根据用户自定义的块block的容量和数量,确定Flash中block区域总共所占用的页page的数量;
[0010]根据block区域总共所占用的page的数量,从Flash的内存中划分出作为block区域的连续Flash空间;
[0011]在Flash的内存中确定出block区域的地址范围;
[0012]根据单个page所能容纳的block的数量,对所述地址范围中的每个page进行划分,以在所述block区域中建立block与page之间的映射关系
[0013]在一些实施例中,所述数据读写方法,应用于如本申请所述的包含block区域的连
续Flash空间,包括:
[0014]根据用户设定的数据包中的第一个block的索引值L,以及数据包中包含的块block数量R,计算第k个block所在的页page的索引值calcPageIdx(k)和第k个block在Flash空间中的首地址calcBlockStartAddr(k);
[0015]根据calcPageIdx(k)和calcBlockStartAddr(k),将第k个block写入Flash空间中对应的page中;或者,
[0016]根据calcBlockStartAddr(k),从Flash空间中的第k个block开始,连续读取R个block。
[0017]在一些实施例中,所述数据转换装置,包括:
[0018]page数量计算模块,被配置为根据用户自定义的块block的容量和数量,确定Flash中block区域总共所占用的页page的数量;
[0019]Flash空间划分模块,被配置为根据block区域总共所占用的page的数量,从Flash的内存中划分出作为block区域的连续Flash空间;
[0020]地址分配模块,被配置为在Flash的内存中确定出block区域的地址范围;
[0021]page

block映射模块,被配置为根据单个page所能容纳的block的数量,对所述地址范围中的每个page进行划分,以在所述block区域中建立block与page之间的映射关系
[0022]在一些实施例中,所述数据读写装置,包括:
[0023]参数计算模块,被配置为根据用户设定的数据包中的第一个block的索引值L,以及数据包中包含的块block数量R,计算第k个block所在的页page的索引值calcPageIdx(k)和第k个block在Flash空间中的首地址calcBlockStartAddr(k);
[0024]数据写入模块,被配置为根据calcPageIdx(k)和calcBlockStartAddr(k),将第k个block写入Flash空间中对应的page中;
[0025]数据读取模块,被配置为根据calcBlockStartAddr(k),从Flash空间中的第k个block开始,连续读取R个block。
[0026]在一些实施例中,所述计算设备,包括处理器和存储有程序指令的存储器,所述处理器被配置为在运行所述程序指令时,执行如本申请所述的数据转换方法或数据读写方法。
[0027]在一些实施例中,所述存储介质,存储有程序指令,所述程序指令在运行时,执行如本申请所述的数据转换方法或数据读写方法。
[0028]本公开实施例提供的数据转换方法及装置、数据读写方法及装置、计算设备和存储介质,可以实现以下技术效果:
[0029]本申请采用软件方式,可在初始化阶段,为用户提供接口程序,根据用户需求的block单元容量及数量等参数,划分Flash中的适当区域作为用户使用的block区域,并建立Flash逻辑page和用户定义的block之间的映射关系,且可重复划分使用,极大满足了不同用户的使用需求。同时,软件方式的生产成本低,降低了芯片的价格,提高了芯片的竞争力。
[0030]此外,本申请可减少对Flash的写次数,降低对Flash寿命的损耗,提高了数据写入的效率。
[0031]以上的总体描述和下文中的描述仅是示例性和解释性的,不用于限制本申请。
附图说明
[0032]一个或多个实施例通过与之对应的附图进行示例性说明,这些示例性说明和附图并不构成对实施例的限定,附图中具有相同参考数字标号的元件示为类似的元件,附图不构成比例限制,并且其中:
[0033]图1是本公开实施例提供的一个数据转换方法的示意图;
[0034]图2是本公开实施例提供的一个page

block映射关系的示意图;
[0035]图3是本公开实施例提供的另一个数据转换方法的示意图;
[0036]图4是本公开实施例提供的单个page划分为block的示意图;
[003本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据转换方法,其特征在于,包括:根据用户自定义的块block的容量和数量,确定Flash中block区域总共所占用的页page的数量;根据block区域总共所占用的page的数量,从Flash的内存中划分出作为block区域的连续Flash空间;在Flash的内存中确定出block区域的地址范围;根据单个page所能容纳的block的数量,对所述地址范围中的每个page进行划分,以在所述block区域中建立block与page之间的映射关系。2.根据权利要求1所述的数据转换方法,其特征在于,所述根据用户自定义的块block的容量和数量,确定Flash中block区域总共所占用的页page的数量,包括:计算确定Flash中block区域总共所占用的page的数量M;其中,Q为用户自定义的块block的数量,T为用户自定义的块block的容量,G为单个页page的容量,表示向下取整,表示向上取整。3.根据权利要求2所述的数据转换方法,其特征在于,所述根据block区域总共所占用的page的数量,从Flash的内存中划分出作为block区域的连续Flash空间,包括:根据block区域总共所占用的page的数量M和Flash的内存中全部page的数量page max,从Flash的内存中为用户划分出包括page[MS,(MS+M)]个连续的page在内的Flash空间;其中,MS为连续的Flash空间中的首个page的索引值,page MS为block区域的首个page,page(MS+M)为block区域的最后一个page。4.根据权利要求3所述的数据转换方法,其特征在于,所述在Flash的内存中确定出block区域的地址范围,包括:根据block区域的首个block的首地址或page MS的首地址,确定出block区域的首地址BlkMemAddrStart=FlsAddrStart+MS
×
G,其中,FlsAddrStart为连续的Flash空间的起始地址;根据block区域的最后一个block的末尾地址或page(MS+M)的首地址,确定出block区域的终止地址域的终止地址其中,block区域的首地址BlkMemAddrStart和block区域的终止地址BlkMemAddrEnd均包含在Flash的内存的地址范围内。5.根据权利要求4所述的数据转换方法,其特征在于,所述根据单个page所能容纳的block的数量,对所述地址范围中的每个page进行划分,包括:根据单个page所能容纳的block的数量N,将第page(MS+j)个page划分为blockjN至block((j+1)N-1);其中,j为block区域的第j个page的索引值。6.一种数据读写方法,其特征在于,应用于如权利要求1至5任一项所述的包含block区域的连续Flash空间,包括:
根据用户设定的数据包中的第一个block的索引值L,以及数据包中包含的块block数量R,...

【专利技术属性】
技术研发人员:黄钧
申请(专利权)人:北京紫光芯能科技有限公司
类型:发明
国别省市:

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

1