李晓强
摘要:为了让固态硬盘(SSD)产品拥有更快的读写速度,闪存控制器都有多个通道及很多个片选来控制非易失性闪存(Flash),达到并行操作非易失性闪存的效果。通过闪存控制器中自带的固件来控制通道和片选之间的并行,需要大量的软件代码来保证通道和片选之间的并行性,但是软件代码容易出现缺陷,且需要调试时间,并且执行过程非常占用中央处理器的资源,本研究提供一种固态硬盘数据的并行处理方法。
关键词:固态硬盘;可读存储介质;装置;并行处理;方法
现有技术中,为了让固态硬盘(SSD)产品拥有更快的读写速度,闪存控制器都有多个通道及很多个片选来控制非易失性闪存(Flash),达到并行操作非易失性闪存的效果。通过闪存控制器中自带的固件来控制通道和片选之间的并行,需要大量的软件代码来保证通道和片选之间的并行性,但是软件代码容易出现缺陷,且需要调试时间,并且执行过程非常占用中央处理器的资源。
为解决现有技术中通过固件实现控制通道和片选之间的并行容易出现缺陷的问题,本研究提供一种固态硬盘数据的并行处理方法。
一、本研究固态硬盘组成
包括闪存控制器及闪存阵列,闪存控制器具有与闪存阵列连接的多个通道,每个通道包括多个片选,且闪存控制器包括控制缓存区及链表,链表包括链表缓存区及多个链表头。(见图1.图2)
二、固态硬盘数据的并行处理方法步骤(见图3-图9)
1.当目标通道的当前片选执行完對应的操作后,以当前片选为起点,按照预设顺序循环检测目标通道中是否有片选处于空闲状态;
2.当检测到有片选处于空闲状态时,则从处于空闲状态的片选对应的链表头中获取下一操作对应的映射地址;
3.根据映射地址获取所述下一操作对应的在链表缓存区中的相对偏移值,并根据相对偏移值获取下一操作在控制缓存区的操作信息,并控制处于空闲状态的片选执行下一操作。
4.从处于空闲状态的片选对应的链表头中获取下一操作对应的映射地址的步骤之前,还包括:判断处于空闲状态的片选对应的链表头是否为空、向控制缓存区中的相对偏移位置写入对闪存阵列的操作信息。
5.操作信息包括通道信息、片选信息、行地址、列地址、要操作的数据量及操作命令。
6.向控制缓存区中的相对偏移位置写入对闪存阵列的操作信息的步骤之后,将控制缓存区中的相对偏移值写入链表缓存区的空闲节点中。
7.扫描控制缓存区中的通道及片选,从片选对应的链表头中获取链表缓存区的当前的最后节点位置,将空闲节点作为当前的最后节点。
8.释放下一操作在控制缓存区、链表缓存区所占用的空间并更改链表关系。
9.向当前片选连接的闪存阵列中的存储单元发送问询指令;
10.根据所述存储单元的反馈指令判断当前片选是处于繁忙状态还是空闲状态。
三、固态硬盘数据的并行处理装置特征
固态硬盘数据的并行处理装置包括:存储器、处理器及存储在所述存储器上并可在处理器上运行的固态硬盘数据的并行处理程序,固态硬盘数据的并行处理程序被处理器执行时实现如上的固态硬盘数据的并行处理方法的步骤。
四、本计算机可读存储介质特征
计算机可读存储介质上存储有固态硬盘数据的并行处理程序,固态硬盘数据的并行处理程序被处理器执行时实现如上固态硬盘数据的并行处理方法的步骤。
五、本研究优点
通过在片选执行完一次操作后,按照预设顺序检测当前片选及其余片选的状态,在有片选为空闲状态时,通过片选的链表头、链表缓冲区及控制缓冲区找到下一操作的操作信息,通过链表数据结构,得到操作的最佳的执行顺序,避免通过固件的大量代码对操作信息进行排序,避免出现缺陷,减少程序员的调试时间,同时减少固件的负担。
六、结论
本研究的技术方案本质上对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本研究各个实施例的方法,解决现有技术中通过固件实现控制通道和片选之间的并行容易出现缺陷的问题。