一种数据处理方法及电子设备与流程

文档序号:11864281阅读:213来源:国知局
一种数据处理方法及电子设备与流程

本发明涉及通信技术,尤其涉及一种数据处理方法及电子设备。



背景技术:

固态硬盘(SSD)存储在PC消费领域、在服务器领域以及移动电子设备中使用的越来越多,对性能要求也越来越高。

SSD的接口标准从串行高级技术附件(SATA)2、SATA3演变到高级外设部件互连标准第2代(PCIe G2),PCIe第3代(PCIe G3),SSD的数据吞吐量越来越大,这就要求处于SSD的控制器(包括CPU以及相关接口如PCIe接口)中的CPU也要具有非常强的数据处理能力,导致CPU的功耗居高不下,这对电子设备尤其是移动设备的续航产生不利影响。

对于如何降低SSD中的CPU因数据吞吐量较大执行频繁读写操作而导致功耗较大的问题,相关技术尚无有效解决方案。



技术实现要素:

本发明实施例提供一种数据处理方法及电子设备,能够降低CPU功耗,提升系统性能。

本发明实施例的技术方案是这样实现的:

一方面,本发明实施例提供一种数据处理方法,包括:

接收来自主机端的第一命令;所述第一命令用于指示进行目标数据的读/写操作;

对所述第一命令进行重组得到至少一个第二命令;每个所述第二命令指示操作的数据量相同;

查找对应所述第二命令的空闲的命令通道,为所述空闲的命令通道分配所述第二命令;

基于所述空闲的命令通道执行分配的所述第二命令。

上述方案中,所述对所述第一命令进行重组得到至少一个第二命令,包括:

分析得到所述第一命令所请求操作的目标数据的数据量;

确定所述数据量大于预设的进行数据操作的单位数据量时,基于所述单位数据量将所述第一命令拆分为至少两个第二命令;

确定所述数据量小于预设的进行数据操作的单位数据量时,将与所述第一命令相同类型的命令合并为至少一个第二命令;

其中,所述第二命令指示操作所述目标数据中对应所述单位数据量的数据。

上述方案中,所述基于所述空闲的命令通道执行分配的所述第二命令,包括:

确定所述第二命令为写命令时,将所述第二命令指示写入的数据存储至缓存单元,在所述缓存单元中形成数据量与所述单位数据量对应的组合数据;

基于所述空闲的命令通道,将所述缓存单元中的所述组合数据写入数据存储单元。

上述方案中,所述基于所述空闲的命令通道执行分配的所述第二命令,包括:

确定所述第二命令为读命令时,基于所述空闲的命令通道,从数据存储单元读取所述第二命令指示读取的数据至缓存单元,在所述缓存单元中形成数据量与所述单位数据量对应的组合数据;

将所述缓存单元中的所述组合数据发送至所述主机端。

上述方案中,所述方法还包括:

基于对应所述第二命令的空闲的命令通道,生成对应所述第二命令的命令描述符;所述命令描述符用作基于所述空闲的命令通道执行分配的所述第二命令的依据;

所述命令描述符包括以下至少之一:

所述第二命令对应的数据操作类型;

所述第二命令对应的命令标识;

所述第二命令对应的数据操作的逻辑地址;

所述第二命令对应的数据操作的物理地址;

所述第二命令对应的数据操作的目标数据在缓存单元中的存储地址;

所述第二命令对应的命令完成状态。

上述方案中,所述基于所述空闲的命令通道执行分配的所述第二命令之后,所述方法还包括:

基于所述第二命令对应的命令标识,更新所述命令描述符中所述第二命令对应的命令完成状态,以释放所述第二命令对应的命令通道。

上述方案中,所述方法还包括:

检测到存在至少一个未被执行的第二命令,且当前没有第二命令被执行,触发对未被执行的第二命令的执行。

另一方面,本发明实施例还提供一种电子设备,包括:

接口处理单元,用于接收来自主机端的第一命令;所述第一命令用于指示进行目标数据的读/写操作;

命令重组单元,用于对所述第一命令进行重组得到至少一个第二命令;每个所述第二命令指示操作的数据量相同;

命令控制单元,用于查找对应所述第二命令的空闲的命令通道,为所述空闲的命令通道分配所述第二命令;

闪存控制单元,用于基于所述空闲的命令通道执行分配的所述第二命令。

上述方案中,所述命令重组单元,还用于分析得到所述第一命令所请求操作的目标数据的数据量;

以及,确定所述数据量大于预设的进行数据操作的单位数据量时,基于所述单位数据量将所述第一命令拆分为至少两个第二命令;

以及,确定所述数据量小于预设的进行数据操作的单位数据量时,将与所述第一命令相同类型的命令合并为至少一个第二命令;

其中,所述第二命令指示操作所述目标数据中对应所述单位数据量的数据。

上述方案中,所述电子设备还包括缓存单元及数据存储单元;

所述命令重组单元,还用于确定所述第二命令为写命令时,将所述第二命令指示写入的数据存储至缓存单元,在所述缓存单元中形成数据量与所述单位数据量对应的组合数据;

所述闪存控制单元,还用于基于所述空闲的命令通道,将所述缓存单元中的所述组合数据写入数据存储单元。

上述方案中,所述电子设备还包括缓存单元及数据存储单元;

所述闪存控制单元,还用于确定所述第二命令为读命令时,基于所述空闲的命令通道,从数据存储单元读取所述第二命令指示读取的数据至缓存单元,在所述缓存单元中形成数据量与所述单位数据量对应的组合数据;

所述命令重组单元,还用于将缓存单元中的所述组合数据通过所述接口控制单元发送至所述主机端。

上述方案中,所述命令控制单元,还用于基于对应所述第二命令的空闲的命令通道,生成对应所述第二命令的命令描述符;所述命令描述符用作基于所述空闲的命令通道执行分配的所述第二命令的依据;

所述命令描述符包括以下至少之一:

所述第二命令对应的数据操作类型;

所述第二命令对应的命令标识;

所述第二命令对应的数据操作的逻辑地址;

所述第二命令对应的数据操作的物理地址;

所述第二命令对应的数据操作的目标数据在缓存单元中的存储地址;

所述第二命令对应的命令完成状态。

上述方案中,所述闪存控制单元,还用于基于所述第二命令对应的命令标识,更新所述命令描述符中所述第二命令对应的命令完成状态,以使所述命令重组单元基于所述命令完成状态释放所述第二命令对应的命令通道。

上述方案中,所述命令控制单元,还用于检测到存在至少一个未被执行的第二命令,且当前没有第二命令被执行,触发所述闪存控制单元对未被执行的第二命令的执行。

本发明实施例中,接收来自主机端的第一命令;所述第一命令用于指示进行目标数据的读/写操作;对所述第一命令进行重组得到至少一个第二命令;每个所述第二命令指示操作的数据量相同;查找对应所述第二命令的空闲的命令通道,为所述空闲的命令通道分配所述第二命令;基于所述空闲的命令通道执行分配的所述第二命令;如此,命令信息与数据块数据并行处理,互不影响,速度快;且数据处理处理过程中只需要SSD中的CPU少量参与,大量工作都由硬件自动完成,降低CPU负载,并提升系统性能。

附图说明

图1为本发明实施例中数据处理方法的实现流程示意图一;

图2为本发明实施例中电子设备的组成结构示意图一;

图3为本发明实施例中地址映射表的示意图;

图4为本发明实施例中命令描述符的信息结构示意图;

图5为本发明实施例中数据处理方法的实现流程示意图二;

图6为本发明实施例中数据处理方法的逻辑框图;

图7为本发明实施例中电子设备的组成结构示意图。

具体实施方式

下面结合附图和具体实施例对本发明作进一步详细说明。

实施例一

图1为本发明实施例中数据处理方法的实现流程示意图,应用与电子设备,所述电子设备的一种组成结构示意图如图2所示,如图1、图2所示,本发明实施例中数据处理方法包括:

步骤101:接收来自主机端的第一命令;所述第一命令用于指示进行目标数据的读/写操作。

在实际实施时,电子设备中的接口处理单元接收来自主机(Host)端的第一命令,该接口处理单元是电子设备与主机相连的接口,可以是SSD控制器芯片中的一个接口模块,如USB、SATA、PCIe等。

来自主机的第一命令指示电子设备进行目标数据的读操作或写操作,也即指示读取SSD中数据存储单元的目标数据至主机,或将来自主机目标数据写入SSD中数据存储单元。

步骤102:对所述第一命令进行重组得到至少一个第二命令;每个所述第二命令指示操作的数据量相同。

这里,对主机端的第一命令进行重组的目的是重组(组合/拆分)成适合Flash操作的第二命令,主要依据Flash颗粒的特性(页大小)及SSD芯片中软件处理的要求(单页操作还是双页或多页操作)而定;比如:Flash颗粒大小是16K字节,软件按双页操作,则会对主机来的数据进行重组,重组成以32K字节为单位的数据块;也即,第一命令指示操作的数据块小的,则将多个命令合成一个新命令供后续操作,而第一命令指示操作的数据块大的,则将第一命令拆成多个新命令供后面的流程处理。

具体的,在实际实施时,电子设备的命令重组单元接收到来自接口处理单元的第一命令后,分析得到所述第一命令所请求操作的目标数据的数据量,然后,若确定所述数据量大于预设的进行数据操作的单位数据量时,基于所述单位数据量将所述第一命令拆分为至少两个第二命令;若确定所述数据量小于预设的进行数据操作的单位数据量时,将与所述第一命令相同类型的命令合并为至少一个第二命令;

其中,所述第二命令指示操作所述目标数据中对应所述单位数据量的数据;

与所述第一命令相同类型的命令指的是均为读/写操作,且指示进行数据操作的物理地址指向同一Flash芯片的命令;

这里所述的进行数据操作的单位数据量,即为依据依据Flash页大小及页操作要求(单页操作或双页操作或多页操作)决定的每次进行数据操作的数据量;如按照单页操作,页大小是16K字节,则进行数据操作的单位数据量为16K;如果按双页操作,页大小是16K字节,则进行数据操作的单位数据量为32K字节。

由于主机的第一命令指示操作的数据量很有可能与进行数据操作的单位数据量不同,如所述单位数据量为16K,第一命令指示操作的数据量为32K,则对第一命令进行重组可得到两个指示操作目标数据中对应单位数据量的数据的第二命令。

步骤103:查找对应所述第二命令的空闲的命令通道,为所述空闲的命令通道分配所述第二命令。

在实际应用中,通常存在多个Flash通道,每个Flash通道与SSD中的一个Flash芯片对应;本实施例中所述命令通道通常也存在多个,但命令通道与Flash通道不同,可以一个命令通道支持(对应)一个Flash通道,也可以一个命令通道支持(对应)多个Flash通道,或者多个命令通道支持(对应)一个Flash通道。

由于每个命令通道指向特定的Flash芯片,因此,电子设备中的命令控制单元依据第二命令指示操作的数据的物理地址查找所述第二命令对应的命令通道的通道状态(如空闲、被占用),当对应的命令通道空闲时将该空闲的命令通道分配所述第二命令,以基于该空闲的命令通道执行分配的第二命令。

然而在实际实施时,第二命令指示操作的数据的物理地址为:依据预设的映射策略(地址映射表)对所述第二命令的逻辑操作地址进行映射得到;这里,所述第二命令的逻辑操作地址为面向主机的逻辑地址,通过地址映射表查找逻辑操作地址相对应Flash中的物理地址;其中,所述地址映射表如图3所示。

在具体实施时,当查找对应第二命令的空闲的命令通道时,所述方法还包括:

命令控制单元基于对应所述第二命令的空闲的命令通道,生成对应所述第二命令的命令描述符,并负责对命令描述符的维护;所述命令描述符包括以下至少之一:

所述第二命令对应的数据操作类型;即指示数据读操作或写操作;

所述第二命令对应的命令标识;即命令ID,在实际实施时,若第二命令由第一命令拆分而来,则拆分得到的多个第二命令的命令ID相同且与所述被拆分的第一命令的命令ID相同;若第二命令由第一命令和另外一个类型相同的命令组合而来,则第二命令的命令ID包括两部分,分别为第一命令的命令ID及另一个类型相同的命令的命令ID;所述第二命令的命令ID用于进行数据操作过程中的识别和跟踪,即可识别来自主机的第一命令是否完成,以对主机进行响应;

所述第二命令对应的数据操作的逻辑地址;

所述第二命令对应的数据操作的物理地址;

所述第二命令对应的数据操作的目标数据在缓存单元中的存储地址;

所述第二命令对应的命令完成状态;所述第二命令的初始状态为未完成,当该第二命令被执行完成时,即已完成相关Flash操作时,该命令完成状态被更新为完成;

所述命令描述符的示意图如图4所示,需要说明的是,命令描述符包括的信息的顺序非固定,可依据需要进行调整,且包括的内容还可根据实际需要进行扩展,并不限于上述信息;其中,图4中的数据存储状态描述包括数据的存储位置、长度等信息,通过链表结构(如图3)支持多个数据段的拼接(针对主机的写操作)或分散发送(针对主机的读操作)。

步骤104:基于所述空闲的命令通道执行分配的所述第二命令。

基于本发明上述实施例,在实际应用中,闪存控制单元,用于基于所述空闲的命令通道执行分配的所述第二命令;

具体地,当第二命令为写命令时,命令重组单元将所述第二命令指示写入的数据存储至缓存单元,在所述缓存单元中形成数据量与所述单位数据量对应的组合数据,闪存控制单元基于所述第二命令对应的空闲的命令通道,将缓存单元中的所述组合数据写入数据存储单元(Flash存储体);

当第二命令为读命令时,闪存控制单元基于所述第二命令对应的空闲的命令通道,从数据存储单元读取所述第二命令指示读取的数据至缓存单元,在所述缓存单元中形成数据量与所述单位数据量对应的组合数据,以使命令重组单元将缓存单元中的所述组合数据通过接口处理单元发送至主机端。

在实际实施时,所述方法还包括:

闪存控制单元基于所述第二命令对应的命令标识,更新所述命令描述符中所述第二命令对应的命令完成状态,以使所述命令重组单元基于所述命令完成状态确定该命令通道的命令已执行完时,通知主机命令已完成,并释放所述第二命令对应的命令通道。

在实际实施时,所述方法还包括:

命令控制单元检测到存在至少一个未被执行的第二命令,且当前没有第二命令被执行,也即当前的闪存控制单元空闲,触发所述闪存控制单元执行未被执行的第二命令。

需要说明的是,本发明实施例电子设备中的各功能单元,除了数据存储单元及缓存单元,均使用CPLD、FPGA方式独立于SSD中的CPU实现,从而实现降低CPU功耗的目的。

应用本发明上述实施例,对主机的第一命令进行重组得到至少一个第二命令,每个第二命令指示操作的数据量相同,如此,可对主机端零散数据按Flash芯片特性通过链表进行重组,方便写入或读出;为第二命令分配空闲的命令通道,然后基于所述空闲的命令通道执行分配的所述第二命令;如此,命令信息与数据块数据并行处理,互不影响,速度快;且数据处理处理过程中只需要SSD中的CPU少量参与,大量工作都由硬件自动完成,降低CPU负载,并提升系统性能。

实施例二

图5为本发明实施例中数据处理方法的实现流程示意图,图6为本发明实施例中数据处理方法的逻辑框图,应用与电子设备,在本实施例中的电子设备设置于SSD中,独立于CPU单独存在,可由CPLD、FPGA等集成电路实现;所述电子设备的一种组成结构示意图如图2所示,如图5、图2、图6所示,本发明实施例中数据处理方法包括:

首先,接口处理单元接收来自Host端的第一命令,该命令指示进行目标数据的读操作或写操作;所述接口处理单元是电子设备与主机相连的接口,可以是SSD控制器芯片中的一个接口模块,如USB、SATA、PCIe等。

然后,命令重组单元根据预设的映射策略,对Host端的第一命令进行重组,得到至少一个第二命令;

这里,对主机端的第一命令进行重组的目的是重组(组合/拆分)成适合Flash操作的第二命令,主要依据Flash颗粒的特性(页大小)及SSD芯片中软件处理的要求(单页操作还是双页或多页操作)而定;比如:Flash颗粒大小是16K字节,软件按双页操作,则进行数据操作的单位数据量为32K,而主机的第一命令指示进行操作的数据量为16K,则会对第一命令与其它与其类型相同的命令进行组合,重组成指示操作的单位数据量为32K字节的命令;也即,第一命令指示操作的数据块小的,则将多个命令合成一个新命令供后续操作,而第一命令指示操作的数据块大的,则将第一命令拆成多个新命令供后面的流程处理。

然后,命令控制单元查找对应第二命令的可用(空闲)的命令通道,为空闲的命令通道分配所述第二命令,并生成对应所述第二命令的命令描述符;

在具体实施时,通常存在多个Flash通道,每个Flash通道与SSD中的一个Flash芯片对应;本实施例中所述命令通道通常也存在多个,但命令通道与Flash通道不同,可以一个命令通道支持(对应)一个Flash通道,也可以一个命令通道支持(对应)多个Flash通道,或者多个命令通道支持(对应)一个Flash通道。而这多个命令通道可以设置成不同的优先级,根据处理策略,可以将多个第二命令分成不同的优先级,写进不同的命令通道内。

由于每个命令通道指向特定的Flash芯片,因此,电子设备中的命令控制单元依据第二命令指示操作的数据的物理地址查找所述第二命令对应的命令通道的通道状态(如空闲、被占用),当对应的命令通道空闲时将该空闲的命令通道分配所述第二命令,以基于该空闲的命令通道执行分配的第二命令。

然而在实际实施时,第二命令指示操作的数据的物理地址为:依据预设的映射策略(地址映射表)对所述第二命令的逻辑操作地址进行映射得到;这里,所述第二命令的逻辑操作地址为面向主机的逻辑地址,通过地址映射表查找逻辑操作地址相对应Flash中的物理地址;其中,所述地址映射表如图3所示。

在本实施例中,命令控制单元生成的命令描述符包括以下信息:

所述第二命令对应的数据操作类型;即指示数据读操作或写操作;指原始的主机发来的读命令、写命令、或其他管理命令;

所述第二命令对应的命令标识;即命令ID,在实际实施时,若第二命令由第一命令拆分而来,则拆分得到的多个第二命令的命令ID相同且与所述被拆分的第一命令的命令ID相同;若第二命令由第一命令和另外一个类型相同的命令组合而来,则第二命令的命令ID包括两部分,分别为第一命令的命令ID及另一个类型相同的命令的命令ID;所述第二命令的命令ID用于进行数据操作过程中的识别和跟踪,即可识别来自主机的第一命令是否完成,以对主机进行响应;

所述第二命令对应的数据操作的逻辑地址;这里的逻辑地址为面向主机的逻辑地址,主机访问的逻辑地址与实际写到Flash中的物理地址不是一一对应关系,而是需要通过一个映射表(如图3)来实现;为方便处理、提高处理效率及对不用厂家Flash芯片的兼容性支持,不同的设计者(芯片厂商)可采用不同的地址映射策略。例如,简单的一级地址映射:采用16K字节地址映射以应对16K字节的页访问;或者采用二级映射:第一级采用4K字节映射,第二级再根据不同的Flash页大小进行灵活调整,如16K页操作的Flash就采用16K字节地址映射。

所述第二命令对应的数据操作的物理地址;这里指与逻辑地址对应的针对Nand的物理地址,可通过映射单元完成逻辑地址到物理地址的映射过程;

所述第二命令对应的数据存储状态;这里所述的数据存储状态包括目标数据在缓存单元中的存储地址、数据长度、数据校验格式等;

所述第二命令对应的命令完成状态;所述第二命令的初始状态为未完成,当该第二命令被执行完成时,即已完成相关Flash操作时,该命令完成状态被更新为完成;

所述命令描述符的示意图如图4所示,需要说明的是,命令描述符包括的信息的顺序非固定,可依据需要进行调整,且包括的内容还可根据实际需要进行扩展,并不限于上述信息;例如还可以包括针对Nand的除物理地址以外的相关信息(采取何种校验算法、校验码码率、校验数据长度等;以及是否保存主机传过来的ECC数据、ECC数据长度等信息),以及操作控制信息(即指命令处理过程中的可能用到的具体控制信息,如数据在操作过程中是否允许其他命令打断;当前命令的操作的优先级等)。

然后,闪存控制单元(NFC,Nand Flash Controller)基于所述空闲的命令通道执行分配的所述第二命令,是控制器芯片内部的一个主要模块,负责完成对Nand具体命令的解析和处理;

具体地,当第二命令为写命令时,命令重组单元将所述第二命令指示写入的数据存储至缓存单元,在所述缓存单元中形成数据量与所述单位数据量对应的组合数据,闪存控制单元基于所述第二命令对应的空闲的命令通道,将缓存单元中的所述组合数据写入数据存储单元(Flash存储体);

当第二命令为读命令时,闪存控制单元基于所述第二命令对应的空闲的命令通道,从数据存储单元读取所述第二命令指示读取的数据至缓存单元,在所述缓存单元中形成数据量与所述单位数据量对应的组合数据,以使命令重组单元将缓存单元中的所述组合数据通过接口处理单元发送至主机端。

当闪存控制单元有执行完的第二命令的时候,更新命令控制单元中对应命令ID的命令完成状态,以使所述命令重组单元(NVMe)基于所述命令完成状态确定该命令通道的命令已执行完时,通过接口处理单元通知主机命令已完成,并释放所述第二命令对应的命令通道。

在实际实施时,命令控制单元检测到存在未被执行(待处理)的第二命令,且当前没有第二命令被执行,也即当前的闪存控制单元空闲,触发所述闪存控制单元执行未被执行的第二命令,即读取待处理的第二命令给闪存控制单元执行。

需要说明的是,本发明实施例电子设备中的各功能单元,除了数据存储单元及缓存单元,均使用CPLD、FPGA方式独立于SSD中的CPU实现,从而实现降低CPU功耗的目的。

在本发明上述实施例中,数据处理处理过程中只需要SSD中的CPU少量参与,大量工作都由硬件自动完成,降低CPU负载;并提升系统性能;命令处理与数据处理同时进行,即命令流与数据流分离,速度快;Host端数据处理与Flash端数据处理并行工作;采用链表方式(如图3所示)重组命令或数据,灵活方便,如此,可对主机端零散数据按Flash芯片特性通过链表进行重组,方便写入或读出;且本实施例中,只做数据连接(即以链表的形式拼接数据),不做数据的搬移和整合,降低对硬件带宽的要求,提升效率并降低功耗;用户数据(来自PC端的用户需要读取的数据或者用户需要写入SSD的数据)只做最初的写入(从主机写过来的数据,可以存在DDR中,也可以存放在SRAM中)和最后的读出(针对Flash Program命令执行前的用户数据),中途不做搬移。

实施例三

图7为本发明实施例中电子设备的组成结构示意图,如图7所示,本发明实施例中电子设备的组成包括:接口处理单元71、命令重组单元72、命令控制单元73及闪存控制单元74;其中,

接口处理单元71,用于接收来自主机端的第一命令;所述第一命令用于指示进行目标数据的读/写操作;

命令重组单元72,用于对所述第一命令进行重组得到至少一个第二命令;每个所述第二命令指示操作的数据量相同;

命令控制单元73,用于查找对应所述第二命令的空闲的命令通道,为所述空闲的命令通道分配所述第二命令;

闪存控制单元74,用于基于所述空闲的命令通道执行分配的所述第二命令。

在一实施例中,所述命令重组单元72,还用于分析得到所述第一命令所请求操作的目标数据的数据量;

以及,确定所述数据量大于预设的进行数据操作的单位数据量时,基于所述单位数据量将所述第一命令拆分为至少两个第二命令;

以及,确定所述数据量小于预设的进行数据操作的单位数据量时,将与所述第一命令相同类型的命令合并为至少一个第二命令;

其中,所述第二命令指示操作所述目标数据中对应所述单位数据量的数据。

在一实施例中,所述电子设备还包括缓存单元75及数据存储单元76;

所述命令重组单元72,还用于确定所述第二命令为写命令时,将所述第二命令指示写入的数据存储至缓存单元75,在所述缓存单元75中形成数据量与所述单位数据量对应的组合数据;

所述闪存控制单元74,还用于基于所述空闲的命令通道,将所述缓存单元中的所述组合数据写入数据存储单元76。

在一实施例中,所述电子设备还包括缓存单元75及数据存储单元76;

所述闪存控制单元74,还用于确定所述第二命令为读命令时,基于所述空闲的命令通道,从数据存储单元76读取所述第二命令指示读取的数据至缓存单元75,在所述缓存单元75中形成数据量与所述单位数据量对应的组合数据;

所述命令重组单元72,还用于将缓存单元75中的所述组合数据通过所述接口控制单元71发送至所述主机端。

在一实施例中,所述命令控制单元73,还用于基于对应所述第二命令的空闲的命令通道,生成对应所述第二命令的命令描述符;所述命令描述符用作基于所述空闲的命令通道执行分配的所述第二命令的依据;

所述命令描述符包括以下至少之一:

所述第二命令对应的数据操作类型;

所述第二命令对应的命令标识;

所述第二命令对应的数据操作的逻辑地址;

所述第二命令对应的数据操作的物理地址;

所述第二命令对应的数据操作的目标数据在缓存单元中的存储地址;

所述第二命令对应的命令完成状态。

在一实施例中,所述闪存控制单元74,还用于基于所述第二命令对应的命令标识,更新所述命令描述符中所述第二命令对应的命令完成状态,以使所述命令重组单元72基于所述命令完成状态释放所述第二命令对应的命令通道。

在一实施例中,所述命令控制单元73,还用于检测到存在至少一个未被执行的第二命令,且当前没有第二命令被执行,触发所述闪存控制单元74对未被执行的第二命令的执行。

这里需要指出的是:以上涉及电子设备的描述,与上述方法描述是类似的,同方法的有益效果描述,不做赘述。对于本发明所述电子设备实施例中未披露的技术细节,请参照本发明方法实施例的描述。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序命令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干命令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1