存储设备的数据读取方法、装置、终端设备和存储介质制造方法及图纸

技术编号:19008908 阅读:32 留言:0更新日期:2018-09-22 08:49
本发明专利技术涉及存储设备技术领域,提出一种存储设备的数据读取方法、装置、终端设备和计算机存储介质。所述数据读取方法包括:获取上位机下发的多条数据读取命令;对所述多条数据读取命令进行解析,分别得到每条所述数据读取命令对应的物理地址,所述物理地址包括flash的片选地址和存储单元地址;按照先遍历所述片选地址、后遍历所述存储单元地址的顺序将所述数据读取命令提交至所述flash的控制器,以使所述控制器依次执行接收到的所述数据读取命令。本发明专利技术通过将数据读取命令按照先遍历片选地址、后遍历存储单元地址的顺序排序,使得flash的每个片选存储区域都能及时开始数据准备工作,显著提高了存储设备的数据读取效率。

Data reading method, device, terminal device and storage medium of storage device

The invention relates to the technical field of storage devices, and provides a data reading method, device, terminal device and computer storage medium for storage devices. The data reading method comprises acquiring a plurality of data reading commands issued by the upper computer, parsing the plurality of data reading commands, obtaining the physical addresses corresponding to each of the data reading commands, the physical addresses including the chip selected address and the storage unit address of the flash, and traversing the chip selected address according to the first step. The data reading command is submitted to the flash controller in order to enable the controller to execute the received data reading command in turn. By sorting the data reading commands according to the order of first traversing the chip selected address and then traversing the memory cell address, each chip selected storage area of the flash can start data preparation in time, and the data reading efficiency of the storage device is significantly improved.

【技术实现步骤摘要】
存储设备的数据读取方法、装置、终端设备和存储介质
本专利技术涉及存储设备
,尤其涉及一种存储设备的数据读取方法、装置、终端设备和计算机存储介质。
技术介绍
在目前的存储设备比如SSD中,存储芯片一般采用flash,当读取数据时,由于flash读数据是一个异步操作的过程,即首先由上位机给flash发送数据读取命令,然后需要等flash把数据准备好上位机才能开始接收数据。针对这个特性,目前通常采用交叉存取技术(Interleaving)来提高数据的读取效率,即在flash的多个通道和多个片选存储区域之间采用交叉存取技术来抵消flash的数据准备时间。然而,由于上位机发送的一连串数据读取命令所对应的存储单元地址是随机乱序的,即很可能出现连续的多条数据读取命令作用在flash的同一个片选存储区域,这就导致flash的其它片选存储区域无法及时开始数据准备工作,产生时间资源的浪费。因此,采用传统的交叉存取技术对于存储设备的数据读取效率的提高效果并不显著。
技术实现思路
有鉴于此,本专利技术实施例提供了一种存储设备的数据读取方法、装置、终端设备和计算机存储介质,能够显著提高存储设备的数据读取效率。本专利技术实施例的第一方面提供了一种存储设备的数据读取方法,包括:获取上位机下发的多条数据读取命令;对所述多条数据读取命令进行解析,分别得到每条所述数据读取命令对应的物理地址,所述物理地址包括flash的片选地址和存储单元地址;按照先遍历所述片选地址、后遍历所述存储单元地址的顺序将所述数据读取命令提交至所述flash的控制器,以使所述控制器依次执行接收到的所述数据读取命令。本专利技术实施例的第二方面提供了一种存储设备的数据读取装置,包括:数据读取命令获取模块,用于获取上位机下发的多条数据读取命令;数据读取命令解析模块,用于对所述多条数据读取命令进行解析,分别得到每条所述数据读取命令对应的物理地址,所述物理地址包括flash的片选地址和存储单元地址;数据读取命令提交模块,用于按照先遍历所述片选地址、后遍历所述存储单元地址的顺序将所述数据读取命令提交至所述flash的控制器,以使所述控制器依次执行接收到的所述数据读取命令。本专利技术实施例的第三方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如本专利技术实施例的第一方面提供的存储设备的数据读取方法的步骤。本专利技术实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如本专利技术实施例的第一方面提供的存储设备的数据读取方法的步骤。本专利技术实施例提出的存储设备的数据读取方法包括:获取上位机下发的多条数据读取命令;对所述多条数据读取命令进行解析,分别得到每条所述数据读取命令对应的物理地址,所述物理地址包括flash的片选地址和存储单元地址;按照先遍历所述片选地址、后遍历所述存储单元地址的顺序将所述数据读取命令提交至所述flash的控制器,以使所述控制器依次执行接收到的所述数据读取命令。上述过程通过将上位机下发的数据读取命令按照先遍历片选地址、后遍历存储单元地址的顺序排序,能够保证排序后相邻的数据读取命令分别作用在flash的不同片选存储区域,从而使得flash的每个片选存储区域都能及时开始数据准备工作。通过这样设置,当某个片选存储区域在传输数据时,其它片选存储区域在准备数据;当该片选存储区域传输完数据时,其它片选存储区域的数据准备工作也基本完成,能够开始传输数据,从而有效避免时间资源的浪费,显著提高了存储设备的数据读取效率。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例提供的一种存储设备的数据读取方法的第一个实施例的流程图;图2是本专利技术实施例提供的一种存储设备的数据读取方法的第二个实施例的流程图;图3是本专利技术实施例提供的一种存储设备的数据读取方法的第三个实施例的流程图;图4是本专利技术实施例提供的一种存储设备的数据读取装置的一个实施例的结构图;图5是本专利技术实施例提供的一种终端设备的示意图。具体实施方式以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本专利技术实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本专利技术。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本专利技术的描述。本专利技术实施例提供了一种存储设备的数据读取方法、装置、终端设备和计算机存储介质,能够显著提高存储设备的数据读取效率。请参阅图1,本专利技术实施例中一种存储设备的数据读取方法的第一个实施例包括:101、获取上位机下发的多条数据读取命令;在本专利技术实施例中,所述存储设备指包含flash存储器件的各种存储设备,比如SSD。当上位机下发数据读取命令给存储设备后,该存储设备的主控芯片能够获取到这些数据读取命令,并将这些数据读取命令提交给该存储设备的flash芯片,以读取flash芯片中保存的数据。102、对所述多条数据读取命令进行解析,分别得到每条所述数据读取命令对应的物理地址,所述物理地址包括flash的片选地址和存储单元地址;在获取到上位机下发的多条数据读取命令之后,存储设备的主控芯片对这些数据读取命令进行解析,分别得到每条所述数据读取命令对应的物理地址,所述物理地址包括flash的片选地址和存储单元地址。存储设备的flash一般分为多个通道,每个通道包括多个片选存储区域,每个片选存储区域包括多个存储单元。每条数据读取命令都会指向某个存储单元,可以通过查找映射表的方式将数据读取命令中的逻辑地址转换为flash的物理地址。在主控芯片对上位机下发的数据读取命令进行解析后,可以将解析得到的包含物理地址信息的数据读取命令称作flash命令。103、按照先遍历所述片选地址、后遍历所述存储单元地址的顺序将所述数据读取命令提交至所述flash的控制器,以使所述控制器依次执行接收到的所述数据读取命令。在得到每条所述数据读取命令对应的物理地址之后,按照先遍历所述片选地址、后遍历所述存储单元地址的顺序将所述数据读取命令(即各个flash命令)提交至所述flash的控制器,以使所述控制器依次执行接收到的所述数据读取命令。需要指出的是,本实施例主要针对物理地址指向flash同一个通道的一连串数据读取命令。传统的存储设备数据读取方式为:主控芯片将获取到的数据读取命令提交给flash的控制器,flash的控制器依次执行接收到的数据读取命令,即flash执行命令的顺序与上位机下发命令的顺序相同。而在本实施例中,在获取到上位机下发的命令后会重新进行排序,即按照先遍历所述片选地址、后遍历所述存储单元地址的顺序将所述数据读取命令提交至所述flash的控制器,flash执行命令的顺序为排序后的顺序。假设主控芯片依次获取到10条数据读取命令,分别为A、B、C、D、E、F、G、H、I和J,这些命令的物理地址都本文档来自技高网...
存储设备的数据读取方法、装置、终端设备和存储介质

【技术保护点】
1.一种存储设备的数据读取方法,其特征在于,包括:获取上位机下发的多条数据读取命令;对所述多条数据读取命令进行解析,分别得到每条所述数据读取命令对应的物理地址,所述物理地址包括flash的片选地址和存储单元地址;按照先遍历所述片选地址、后遍历所述存储单元地址的顺序将所述数据读取命令提交至所述flash的控制器,以使所述控制器依次执行接收到的所述数据读取命令。

【技术特征摘要】
1.一种存储设备的数据读取方法,其特征在于,包括:获取上位机下发的多条数据读取命令;对所述多条数据读取命令进行解析,分别得到每条所述数据读取命令对应的物理地址,所述物理地址包括flash的片选地址和存储单元地址;按照先遍历所述片选地址、后遍历所述存储单元地址的顺序将所述数据读取命令提交至所述flash的控制器,以使所述控制器依次执行接收到的所述数据读取命令。2.如权利要求1所述的存储设备的数据读取方法,其特征在于,所述物理地址还包括flash的通道地址,所述按照先遍历所述片选地址、后遍历所述存储单元地址的顺序将所述数据读取命令提交至所述flash的控制器具体为:按照先遍历所述通道地址、然后遍历所述片选地址、最后遍历所述存储单元地址的顺序将所述数据读取命令提交至所述flash的控制器。3.如权利要求1或2所述的存储设备的数据读取方法,其特征在于,在对所述多条数据读取命令进行解析,分别得到每条所述数据读取命令对应的物理地址之后,还包括:将所述多条数据读取命令依次排入预设的命令队列中的空余节点,每个空余节点排入一条数据读取命令;将所述命令队列中的数据读取命令依次按照对应的物理地址缓存到所述flash的各个存储单元的链表中,所述flash的各个存储单元的链表在flash的初始化过程中创建;所述将所述数据读取命令提交至所述flash的控制器具体为:将所述各个存储单元的链表中缓存的数据读取命令提交至所述flash的控制器。4.如权利要求3所述的存储设备的数据读取方法,其特征在于,所述将所述各个存储单元的链表中缓存的数据读取命令提交至所述flash的控制器包括:判断所述flash的所有存储单元的链表中缓存的数据读取命令的总数量是否大于第一阈值;若所述总数量大于第一阈值,则将目标存储单元的链表中缓存的第一条数据读取命令提交至所述flash的控制器,所述目标存储单元为按照所述遍历顺序确定的当前应当提交数据读取命令的存储单元。5.如权利要求3所述的存储设备...

【专利技术属性】
技术研发人员:唐江梁小庆李志雄邓恩华
申请(专利权)人:中山市江波龙电子有限公司
类型:发明
国别省市:广东,44

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

1