一种数据读写方法及存储设备技术

技术编号:11593982 阅读:75 留言:0更新日期:2015-06-11 02:32
本发明专利技术实施例公开了一种数据读写方法及存储设备。本发明专利技术实施例公开的数据读写方法应用于存储设备中,存储设备包括控制器和存储器,方法包括:控制器获取存储器中的任意一个数据读写的源地址(A,B,C);根据预设的并行度将源地址中的Bank地址A划分为高位A1和低位A2;控制器将划分后的源地址按照预定的移位规则移位得到与该源地址对应的目标地址;控制器根据待读取数据的目标地址从对应的源地址读取待读取数据或根据待写入数据的目标地址将待写入数据写入对应的源地址。本发明专利技术实施例能够充分利用闪存Bank级别的并行特性,提高IO性能,降低数据读写延迟,且能够避免双重映射的开销。

【技术实现步骤摘要】

本专利技术实施例涉及计算机
,尤其涉及一种数据读写方法及存储设备
技术介绍
随着计算机技术的不断发展,输入输出(Input Output, 10)已成为整个计算机系 统性能提升的瓶颈,传统的硬盘受限于其机械式的物理设计结构,IO性能提升已达到极限, 新型存储介质的引入是未来的趋势。目前,作为机械式硬盘的一种补充和替代,固态硬盘已 经在计算机领域取得了较为广泛的应用。 固态硬盘一般采用闪存(Flash)作为存储介质,由于材料本身的特性,固态硬盘与 机械式硬盘相比有着明显的差异。Flash介质以页为最小的写入单位,通常为4kb或8kb, 而现有操作系统读写数据都是按照机械硬盘的扇区进行的,通常为512Byte,而且Flash以 块为最小擦除单位,一个块通常包括32、64或128个页,在数据更新时,未擦除就无法写入。 因此,在引入固态硬盘作为存储介质时,为了能够更好的兼容现有的操作系统,闪存控制器 中通常需要一个闪存转换层(Flash translation layer, FTL),FTL中维护了一个映射表, 实现逻辑块地址(Logical Block Address, LBA)到物理块地址(Physical Block Address, PBA)的转换,这样,操作系统就可以像原来一样直接操作逻辑块地址LBA,从而实现了对闪 存介质的访问。 我们知道一个闪存的物理块地址通常由三部分组成:Bank地址、块地址和页地 址。一个Bank内有很多个块,不同的Bank中的数据访问在设备上使用的是不同的数据传 输通路,数据传输是并行的,相互之间不影响,而在同一个Bank内的数据访问则是串行的。 系统软件的很多10操作都是对一段地址连续数据的访问,这些数据所对应连续闪存页面 通常是物理上的同一个Bank,因此,数据的访问在硬件上是串行的。现有技术中,例如在闪 存中写入一段地址连续数据,数据分布会如图6所示,即一段地址连续的数据会写入到闪 存中同一个Bank的同一块中,也就是说,这种方式没有充分利用闪存Bank的并行特性,增 加了闪存访问的读写延迟。 另外,虽然FTL使得闪存设备能够很好的兼容现有的操作系统,但是也存在很多 问题,比如FTL地址映射成为闪存访问性能提升的瓶颈,此外,FTL的引入使得文件系统和 闪存设备之间存在"双重地址映射"开销,增加了系统对于元数据的管理和存储开销。因此, 有必要提供一种新的方法解决上述问题。
技术实现思路
本专利技术实施例提供了一种数据读写方法及存储设备,能够提高10性能,降低数据 读写延迟,且能够避免双重映射的开销。 本专利技术实施例第一方面提供了一种数据读写方法,所述数据读写方法应用于存储 设备中,所述存储设备包括控制器和存储器,所述方法包括: 所述控制器获取所述存储器中的任意一个数据读写的源地址(A,B,C),其中A为 Bank地址,B为块地址,C为页面地址; 所述控制器根据预设的并行度将所述源地址中的Bank地址A划分为高位Al和低 位A2,所述预设的并行度指的是预设的将目标地址连续的数据写入所述存储器时同时写入 的Bank的数量和读出所述目标地址连续的数据时从所述存储器中同时读取的Bank的数 量; 所述控制器将划分后的源地址按照预定的移位规则进行移位得到与所述源地址 对应的目标地址; 所述控制器根据待读取数据的目标地址从对应的源地址读取所述待读取数据或 根据待写入数据的目标地址将所述待写入数据写入对应的源地址。 结合本专利技术实施例的第一方面,在本专利技术实施例第一方面的第一种实施方式中, 所述划分后的源地址为(A1,A2,B,C),所述预定的移位规则为(B,A1,C,A2)。 结合本专利技术实施例的第一方面,或第一方面的第一种实施方式,在本专利技术实施例 第一方面的第二种实施方式中,所述源地址中的Bank地址A的位数为IogT,其中m为所述 存储器中的Bank的总数量,m的取值为2的整数次幂。 结合本专利技术实施例第一方面的第二种实施方式,在本专利技术实施例第一方面的第三 种实施方式中,所述低位A2的位数为l〇g〗,其中η为所述预设的并行度,η的取值为2的整 数次幂,所述高位Al的位数为log『与log〗的差值。 结合本专利技术实施例第一方面的第三种实施方式,在本专利技术实施例第一方面的第四 种实施方式中,所述预设的并行度η小于或等于所述存储器中的Bank的总数量m。 本专利技术实施例第二方面提供了一种存储设备,包括: 获取单元,用于获取存储器中的任意一个数据读写的源地址(A,B,C),其中A为 Bank地址,B为块地址,C为页面地址; 位数划分单元,用于根据预设的并行度将所述源地址中的Bank地址A划分为高 位Al和低位A2,所述预设的并行度指的是预设的将目标地址连续的数据写入所述存储器 时同时写入的Bank的数量和读出所述目标地址连续的数据时从所述存储器中同时读取的 Bank的数量; 处理单元,用于将划分后的源地址按照预定的移位规则进行移位得到与所述源地 址对应的目标地址; 数据读写单元,用于根据待读取数据的目标地址从对应的源地址读取所述待读取 数据或根据待写入数据的目标地址将所述待写入数据写入对应的源地址。 结合本专利技术实施例的第二方面,在本专利技术实施例第二方面的第一种实施方式中, 所述划分后的源地址为(A1,A2,B,C),所述预定的移位规则为(B,A1,C,A2)。 结合本专利技术实施例的第二方面,或第二方面的第一种实施方式,在本专利技术实施例 第二方面的第二种实施方式中,所述源地址中的Bank地址A的位数为log'丨,其中m为所述 存储设备中的Bank的总数量,m的取值为2的整数次幂。 结合本专利技术实施例第二方面的第二种实施方式,在本专利技术实施例第二方面的第三 种实施方式中,所述低位A2的位数为kg〗,其中η为所述预设的并行度,η的取值为2的整 数次幂,所述高位Al的位数为log?与log]的差值。 结合本专利技术实施例第二方面的第三种实施方式,在本专利技术实施例第二方面的第四 种实施方式中,所述预设的并行度η小于或等于所述存储器中的Bank的总数量m。 从以上技术方案可以看出,本专利技术实施例具有以下优点: 本专利技术实施例中,控制器首先获取存储器中的任意一个数据读写的源地址(A,B, C);根据预设的并行度将源地址中的Bank地址A划分为高位Al和低位A2 ;将划分后的源 地址按照预定的移位规则进行移位得到与该源地址对应的目标地址;根据待读取数据的目 标地址从对应的源地址读取待读取数据或根据待写入数据的目标地址将待写入数据写入 对应的源地址。本专利技术实施例中,控制器会预先建立存储器中的数据读写源地址与数据读 写目标地址之间的一一对应关系,在将地址连续的数据写入存储器时,控制器会按照预先 设置的并行度将数据同时写入多个Bank,在读取地址连续的数据时,控制器会按照预先设 置的并行度同时从多个Bank读取数据,充分利用了 Bank的并行特性,提高了 IO性能,降低 了数据读写延迟,且能够避免双重映射的开销。【附图说明】 为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 专利技术的一些实施例,对于本领域普通技术本文档来自技高网
...
一种数据读写方法及存储设备

【技术保护点】
一种数据读写方法,所述数据读写方法应用于存储设备中,所述存储设备包括控制器和存储器,其特征在于,所述方法包括:所述控制器获取所述存储器中的任意一个数据读写的源地址(A,B,C),其中A为Bank地址,B为块地址,C为页面地址;所述控制器根据预设的并行度将所述源地址中的Bank地址A划分为高位A1和低位A2,所述预设的并行度指的是预设的将目标地址连续的数据写入所述存储器时同时写入的Bank的数量和读出所述目标地址连续的数据时从所述存储器中同时读取的Bank的数量;所述控制器将划分后的源地址按照预定的移位规则进行移位得到与所述源地址对应的目标地址;所述控制器根据待读取数据的目标地址从对应的源地址读取所述待读取数据或根据待写入数据的目标地址将所述待写入数据写入对应的源地址。

【技术特征摘要】

【专利技术属性】
技术研发人员:舒继武王维王元钢
申请(专利权)人:华为技术有限公司清华大学
类型:发明
国别省市:广东;44

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

1