本发明专利技术涉及一种闪存设备及其管理方法、数据读写方法及读写装置。一种闪存设备的管理方法,包括以下步骤:建立逻辑块和物理块的块映射表,所述块映射表中记录逻辑块和物理块的对应关系;根据第一条写命令中的起始逻辑地址和写入长度计算并记录页偏移量;将逻辑块中的逻辑页数加1,并根据所述页偏移量计算逻辑块中第一个逻辑页和最后一个逻辑页所占扇区数,对所述逻辑块与物理块中的页映射表进行修改;所述页映射表记录一个逻辑块中逻辑页和物理页的对应关系。上述闪存设备的管理方法,将逻辑块和物理块的页映射表进行修改,从而可以在后续的数据写入中有效减少因闪存页不对齐而造成的频繁的进行数据搬移操作,提高了闪存设备的数据写入效率。
【技术实现步骤摘要】
本专利技术涉及存储装置,特别是涉及一种闪存设备及其管理方法、数据读写方法及读写装置。
技术介绍
闪存设备在日常生活中应用越来越普遍,闪存设备的写入速度成为衡量闪存设备性能的重要指标,提高闪存设备的写入速度将大大提高数据处理效率,有利于扩展闪存设备的应用。闪存的物理构成为每个封装片内包含一个或多个晶粒;每个晶粒中包含多个块;每个块中包含多个页;每个页中一般被用户划分成一个或多个扇区。块是闪存中的最小擦除单位,页是最小写入单位。物理上,闪存是以页为单位管理的,而逻辑上则是以扇区 为单位管理,一个页以一个或多个扇区为一组,分组存放在闪存芯片中。现有的文件管理系统(例如FAT文件系统)对闪存设备写入数据的过程是先写目录区、FAT区等隐藏区,再写数据区。而闪存设备是以页为最小单位进行管理的,要写入的数据往往不是从闪存设备的页开头开始,而是从某页的中部开始写,又在某页的中间结束。由于闪存的特性,对某页写数据如果不是从该页的开头开始写,就要把该页以及该页所在的块上保存的原有数据搬移到一个临时块,把要写的数据也写到该临时块对应的页,再把该页所在的块擦除,然后将原有数据和新写数据一起写入该块,整个过程非常耗时影响数据的写入效率,还增加了闪存块的磨损。如图I所示,闪存芯片中每个闪存块(block)包括128个闪存页(page),每个闪存页包括16个扇区(sector),假设主机给闪存设备发送一个写命令,所述写命令中的起始逻辑地址的页偏移量为4个扇区,写入长度为32个扇区,则如图I中所示,因闪存设备中最小写入单位为页,因此在写入时需先将PageO的前4个扇区的旧数据写入该页,然后再写入新数据,写完新数据后还需写入page2的后12个扇区的旧数据,才算完整的执行了该写命令,由上可知,由于闪存页不对齐,在写入过程中需不断的进行旧数据的拷贝搬移操作,降低了闪存设备的数据写入效率。
技术实现思路
基于此,有必要针对现有的闪存设备在进行数据写入操作时写入速度慢的问题,提供一种能提高数据写入效率的闪存设备的管理方法。一种闪存设备的管理方法,包括以下步骤建立逻辑块和物理块的块映射表,所述块映射表中记录逻辑块和物理块的对应关系;根据第一条写命令中的起始逻辑地址和写入长度计算并记录页偏移量;将逻辑块中的逻辑页数加1,并根据所述页偏移量计算逻辑块中第一个逻辑页和最后一个逻辑页所占扇区数,对所述逻辑块与物理块中的页映射表进行修改;所述页映射表记录一个逻辑块中逻辑页和物理页的对应关系。在其中一个实施例中,所述根据第一条写命令中的起始逻辑地址和写入长度计算并记录页偏移量的步骤包括 将所述起始逻辑地址对每页扇区数取余,得到起始逻辑地址在块中的扇区偏移;将所述起始逻辑地址在块中的扇区偏移和写入扇区长度求和,再将所述和对每页扇区数取余,得到所述页偏移量。在其中一个实施例中,所述对所述逻辑块与物理块中的页映射表进行修改步骤包括以下步骤将逻辑块中的逻辑页数加I ;将逻辑块中的最后一个逻辑页和第一个逻辑页映射到物理块中的最后一个物理页,其中,逻辑块中的最后一个逻辑页映射到物理块中最后一个物理页的前部分,所述最后一个逻辑页所占的扇区数等于页偏移量,第一个逻辑页位于最后一个物理页的后部分,所 述第一个逻辑页所占的扇区数等于每页扇区数减去页偏移量;逻辑块中的其他逻辑页映射到物理块中的上一个物理页。此外,还有必要提供一种闪存设备的数据写入方法。一种闪存设备的数据写入方法,包括以下步骤获取建立逻辑块和物理块的块映射表后第一个写命令中的起始逻辑地址和写入扇区长度,计算出页偏移量;将逻辑块中的逻辑页数加1,根据所述页偏移量计算逻辑块中第一个逻辑页及最后一个逻辑页所占扇区数;将第一个逻辑页的数据写入临时块,其他数据按页顺序写入顺序块;当顺序块只剩最后一个物理页时,将第一个逻辑页和最后一个逻辑页合并,写入顺序块的最后一个物理页,当前写命令中还未写入的数据写入下一个逻辑块。在其中一个实施例中,当在数据写入的时候出现页偏移量和旧块中的页偏移量不一致时,按照新建立的块映射表后计算出的页偏移量进行写入。此外,还有必要提供一种闪存设备的数据读出方法。一种闪存设备的数据读出方法,包括如下步骤根据读命令中的起始逻辑地址和读出扇区长度确定读出数据所在的逻辑块,以及根据预先读出的扇区的数据确定页偏移量;获取块映射表,根据块映射表找到逻辑块对应的物理块,再根据所述页偏移量和块映射表计算逻辑页;获取页映射表,根据计算出的逻辑页和页映射表,找到对应的物理页,读出数据。在其中一个实施例中,所述物理块为旧块、顺序块或临时块,所述旧块为存储旧数据的块;所述顺序块为当前顺序写入数据的块;所述临时块为临时存储数据的块所述根据页偏移量和块映射表计算逻辑页的步骤包括位于顺序块的数据按照顺序块的页偏移量计算逻辑页,位于旧块的数据按照旧块的页偏移量计算逻辑页。此外,还有必要提供一种闪存设备。一种闪存设备,包括建立模块,用于建立逻辑块和物理块的块映射表,所述块映射表中记录逻辑块和物理块的对应关系;计算模块,用于根据第一条写命令中的起始逻辑地址和写入长度计算并记录页偏移量;更新模块,用于将逻辑块中的逻辑页数加1,并根据页偏移量计算逻辑块中第一个逻辑页和最后一个逻辑页所占扇区数,对所述逻辑块与物理块中的页映射表进行修改;所述页映射表记录一个逻辑块中逻辑页和物理页的对应关系。在其中一个实施例中,所 述计算模块还用于将所述起始逻辑地址对每页扇区数取余,得到起始逻辑地址在块中的扇区偏移,以及将所述起始逻辑地址在块中的扇区偏移和写入扇区长度求和,再将所述和对每页扇区数取余,得到所述页偏移量。在其中一个实施例中,所述更新模块包括变更逻辑页数模块,用于将逻辑块中的逻辑页数加I ;第一映射模块,用于将逻辑块中的最后一个逻辑页和第一个逻辑页映射到物理块中的最后一个物理页,其中,逻辑块中的最后一个逻辑页映射到物理块中最后一个物理页的前部分,所述最后一个逻辑页所占的扇区数等于页偏移量,第一个逻辑页位于最后一个物理页的后部分,所述第一个逻辑页所占的扇区数等于每页扇区数减去页偏移量;第二映射模块,用于将逻辑块中的其他逻辑页映射到物理块中的上一个物理页。此外,还有必要提供一种闪存设备的数据写入装置。一种闪存设备的数据写入装置,包括页偏移量计算模块,用于获取建立逻辑块和物理块的块映射表后第一个写命令中的起始逻辑地址和写入扇区长度,计算出页偏移量;扇区数确定模块,将逻辑块中的逻辑页数加I,根据页偏移量计算逻辑块中第一个逻辑页及最后一个逻辑页所占扇区数;数据写入模块,用于将第一个逻辑页的数据写入临时块,其他数据按页顺序写入顺序块;合并模块,用于当顺序块只剩最后一个物理页时,将第一个逻辑页和最后一个逻辑页合并;所述数据写入模块还用于将合并后的第一个逻辑页和最后一个逻辑页写入顺序块的最后一个物理页,以及将当前写命令中还未写入的数据写入下一个逻辑块。此外,还有必要提供一种闪存设备的数据读出装置。一种闪存设备的数据读出装置,包括逻辑块确定模块,用于根据读命令中的起始逻辑地址和读出扇区长度确定读出数据所在的逻辑块,以及根据预先读出的扇区的数据确定页偏移量;逻辑页计算模块,用于获取块映射表,根据块映射表找到逻辑块对应的物理块,再根据页偏移量和块映射表计算逻辑页本文档来自技高网...
【技术保护点】
一种闪存设备的管理方法,包括以下步骤:建立逻辑块和物理块的块映射表,所述块映射表中记录逻辑块和物理块的对应关系;根据第一条写命令中的起始逻辑地址和写入长度计算并记录页偏移量;将逻辑块中的逻辑页数加1,并根据所述页偏移量计算逻辑块中第一个逻辑页和最后一个逻辑页所占扇区数,对所述逻辑块与物理块中的页映射表进行修改;所述页映射表记录一个逻辑块中逻辑页和物理页的对应关系。
【技术特征摘要】
【专利技术属性】
技术研发人员:郭丹,
申请(专利权)人:深圳市江波龙电子有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。