存储器管理方法、装置、电子设备及存储介质与流程

文档序号:23468617发布日期:2020-12-29 12:55阅读:107来源:国知局
存储器管理方法、装置、电子设备及存储介质与流程

本发明涉及存储介质技术领域,尤其涉及一种存储器管理方法、装置、电子设备及存储介质。



背景技术:

flash闪存是一种非易失内存器件,能够在没有电流供应的条件下长久地保持数据。nand-flash是flash闪存的一种,由于其具有容量大、读写速度快等特点,已得到越来越广泛的应用,例如:嵌入式产品中的数码相机、体积较小的u盘等。nand-flash是以页为单位读写数据,以块为单位擦除数据,现有技术中,通常根据nand-flash的页容量配置相应的nand-flash控制器,以保证包含nand-flash的设备能够正常运行。

当nand-flash控制器与nand-flash不兼容时,将导致整个设备处于不可用状态,因此,如何打破上述硬件约束,实现灵活配置,是亟需解决的问题。



技术实现要素:

本发明提供一种存储器管理方法、装置、电子设备及存储介质,以实现打破现有技术中的硬件约束,实现存储控制器和存储器的灵活配置。

第一方面,本发明提供一种存储器管理方法,该方法包括:

接收用户设备发送的操作命令,其中,所述操作命令至少包括操作命令类型、第一物理页的起始地址以及物理页的容量;

根据存储控制器单次传输数据的最大容量、所述第一物理页的起始地址以及所述物理页的容量,对第一物理页进行划分,获取与所述第一物理页对应的多个第二物理页;其中,所述存储控制器单次传输数据的最大容量为预先获取的参数;

对所述多个第二物理页,执行与所述操作命令类型相对应的操作。

可选地,所述根据存储控制器单次传输数据的最大容量、所述第一物理页的起始地址以及所述物理页的容量,对第一物理页进行划分,获取与所述第一物理页对应的多个第二物理页之前,还包括:

获取所述存储控制器单次传输数据的最大容量。

可选地,当所述第一物理页包括数据块区域和空闲区域,所述操作命令还包括:操作区域标记;

其中,所述操作区域标记包括:数据块区域标记和/或空闲区域标记。

可选地,若所述操作区域标记为数据块区域标记,所述根据所述存储控制器单次传输数据的最大容量、所述第一物理页的起始地址以及所述物理页的容量,获取与所述第一物理页对应的多个第二物理页,包括:

根据所述操作区域标记,确定所述第一物理页中目标操作区域的容量为所述数据块区域的容量;

根据所述存储控制器单次传输数据的最大容量以及所述数据块区域的容量,确定第二物理页的个数n,其中,n为正整数;

根据所述第二物理页的个数n,对所述数据块区域进行划分,获取与所述数据块区域对应的n个第二物理页。

可选地,若所述操作区域标记包括数据块区域和空闲区域标记,所述根据所述存储控制器单次传输数据的最大容量、所述第一物理页的起始地址以及所述物理页的容量,获取与所述第一物理页对应的多个第二物理页,包括:

根据所述操作区域标记,确定所述第一物理页中目标操作区域的容量为所述第一物理页的容量;

根据所述存储控制器单次传输数据的最大容量以及所述第一物理页的容量,确定第二物理页的个数n,其中,n为正整数;

根据所述第二物理页的个数n,对所述第一物理页进行划分,生成与所述第一物理页对应的n个第二物理页。

可选地,所述对所述多个第二物理页,执行与所述操作命令类型相对应的操作之前,还包括:

对数据缓冲区的第三物理页进行划分,获取与所述第三物理页对应的多个第四物理页,以使所述第四物理页的容量与所述第二物理页的容量相同。

可选地,若所述操作命令类型为读操作,则所述对所述多个第二物理页,执行与所述操作命令类型相对应的操作,包括:

根据所述第一物理页的起始地址以及多个所述第二物理页对应的页内偏移地址,依次读取多个所述第二物理页中的数据,其中,所述页内偏移地址为所述第二物理页的起始地址相对所述第一物理页的起始地址之间的偏移量;

将读出的多个所述第二物理页中的数据按照读取顺序分别缓存至多个所述第四物理页中,以便所述用户设备通过所述数据缓冲区读取数据。

可选地,若所述操作命令类型为写操作,则所述对所述多个第二物理页,执行与所述操作命令类型相对应的操作,包括:

根据所述第四物理页的容量将待写入数据进行拆分,并将拆分后的多个数据块分别缓存至多个所述第四物理页中;

根据所述第一物理页的起始地址以及多个所述第二物理页的页内偏移地址,将多个所述第四物理页中的数据按照写入顺序分别写入多个所述第二物理页中,其中,所述页内偏移地址为所述第二物理页的起始地址相对所述第一物理页的起始地址之间的偏移量。

第二方面,本发明提供一种存储器管理装置,该装置包括:

接收模块,用于接收用户设备发送的操作命令,其中,所述操作命令至少包括操作命令类型、第一物理页的起始地址以及物理页的容量;

第一划分模块,用于根据存储控制器单次传输数据的最大容量、所述第一物理页的起始地址以及所述物理页的容量,对第一物理页进行划分,获取与所述第一物理页对应的多个第二物理页;其中,所述存储控制器单次传输数据的最大容量为预先获取的参数;

执行模块,用于对所述多个第二物理页,执行与所述操作命令类型相对应的操作。

第三方面,本发明提供一种电子设备,包括:存储器、处理器以及计算机程序指令;

所述存储器存储所述计算机程序指令;

所述处理器执行所述计算机程序指令,以执行第一方面所述的方法。

第四方面,本发明提供一种存储介质,包括:程序;

所述程序在被处理器执行时,以执行第一方面所述的方法。

本发明提供一种存储器管理方法、装置、电子设备及存储介质,其中,该方法包括:接收用户设备发送的操作指令,其中,所述操作指令至少包括操作命令类型、第一物理页的起始地址以及物理页的容量;根据存储控制器单次传输数据的最大容量、第一物理页的起始地址以及物理页的容量,对第一物理页进行划分,获取与第一物理页对应的多个第二物理页;进一步,对多个第二物理页,执行与所述操作命令类型相对应的操作。本发明实施例通过根据存储控制器单次传输数据的最大容量,将第一物理页进行逻辑拆分得到拆分后的多个第二物理页,而拆分后的第二物理页的容量与存储控制器单次传输数据的最大容量保持一致,从而存储控制器通过对多个第二物理页进行多次访问,实现数据的写入或读出,使得支持能力较弱的存储控制器获得较强的兼容能力,打破现有技术中的硬件约束,实现存储控制器与存储器的灵活配置。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明提供的存储器管理方法实施例一的流程示意图;

图2为存储器的抽象结构示意图;

图3为本发明提供的存储器管理方法实施例二的流程示意图;

图4为本发明提供的存储器管理装置实施例一的结构示意图;

图5为本发明提供的存储器管理装置实施例二的结构示意图;

图6为本发明提供的电子设备实施例一的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

存储器是现代信息技术中用于保存信息的一种记忆设备,例如:内存条、一些没有实物形式的具有存储功能的电路等。在计算机系统中,存储器按照用途可以分为主存储器(也常称为:内存或内部存储器)和辅存储器(也常称为:外存或外部存储器),主存储器用于存放当前正在执行的数据和程序,辅存储器可用于存放暂时不用的数据和程序。

flash闪存是属于内存器件的一种,由于其在没有电流供应的条件下也能够长久地保存数据,nand-flash是flash闪存的一种,由于其具有容量大、读写速度快等特点,已得到越来越广泛的应用,例如:嵌入式产品中的数码相机、体积较小的u盘等。nand-flash根据存储原理可分为单阶存储单元(single-levelcell,简称:slc)、二阶存储单元(multi-levelcell,简称:mlc)以及三阶存储单元(triple-levelcell,简称:tlc)。

下面对slc、tlc、mlc分别进行介绍:

单阶存储单元slc,即1个存储单元存放1bit位的数据,只存0和1两个充电值。在slc技术中,在浮置闸极与源极之间的氧化薄膜更薄,其数据的写入是通过对浮置闸极的电荷进行加压,然后可以透过源极将存储的电荷消除,藉由这样的方式,便可存储一个个信息位,这种单一位细胞方式能提供快速的程序编程与读取。

二阶存储单元mlc,即1个存储单元存放2bit位的数据,将两个比特位的信息存入一个存储单元中。在mlc技术中,具体通过精确控制浮动栅(floatinggate)上的电荷数量,使其呈现出4种不同的存储状态,每种状态代表两个二进制数值。

三阶存储单元tlc,即1个存储单元存放3bit位的数据,将三个比特位的信息存入一个存储单元中。与mlc技术类似,其具体通过精确控制浮动栅上的电荷数量,使其呈现出8种不同的存储状态,每种状态代表两个二进制数值。

上述任一种结构的nand-flash,在实际应用中,为其配置的nand-flash控制器的单次传输数据的最大容量与nand-flash的页容量保持一致。但是,当nand-flash控制器与nand-flash的页容量不一致时,即nand-flash控制器单次传输数据的最大容量小于nand-flash的页容量时,将会导致nand-flash控制器与nand-flash不兼容,包含nand-flash的设备处于不可用状态。

因此,如何打破上述硬件约束,实现存储器与存储控制器的灵活配置,是亟需解决的问题。

图1为本发明提供的存储器管理方法实施例一的流程示意图。如图1所示,本实施例提供的存储器管理方法的执行主体可以为本发明实施例提供的存储器管理装置,该装置可以通过任意的软件和/或硬件的方式实现。

如图1所示,本实施例的方法包括:

s101、接收用户设备发送的操作命令。

一种可能的实现方式,用户设备中安装有应用程序,用户通过使用应用程序,从而由用户设备根据该应用程序的运行生成相应的操作命令,并将该操作命令发送至存储器管理装置。另一种可能的实现方式,用户也可通过操作用户设备的操作系统,生成相应的操作命令,用户设备将操作命令发送至存储器管理装置。可以理解的是,这里所指的发送可以是在用户设备内部进行的操作,即存储器管理装置可以位于上述用户设备内部。

本步骤中,操作命令至少包括操作命令类型、第一物理页的起始地址以及物理页的容量。

其中,操作命令类型可以为读操作、或者写操作,读操作表示读取第一物理页中存储数据,写操作表示将待处理数据写入第一物理页中。

第一物理页即为存储器中的目标操作页,第一物理页的起始地址即为存储器中的目标操作页的起始地址。

在本步骤中,物理页的容量与第一物理页的容量相等,在实际应用中,通常存储器中每个物理页的容量大小是相同的,第一物理页是存储器中多个物理页中的一个,因此,根据本步骤中存储器中物理页的容量可确定第一物理页的容量,第一物理页的容量是如何应用的,在后文中将进行详细介绍。

示例性地,操作命令包括:command、page_address、page_size;其中,command即表示操作命令类型,page_address表示第一物理页的起始地址,page_size表示物理页的容量(即第一物理页的容量)。

可选地,在实际应用中,常会将存储器的物理页划分为数据块区域和空闲区域,数据块区域通常为进行读操作或写操作的主要操作区域,空闲区域也可被称为冗余区域,该空闲区域用于存放数据的校验值,但是,空闲区域的实质还是可以进行数据的读出以及写入的,空闲区域的具体用途是根据需求设定。在目前关于存储器的设计中,空闲区域的存储空间相对较小,例如,32kb、64kb大小。

为使本发明实施例更加清楚,下面以nand-flash为例,详细说明存储器的结构,图2为本发明中存储器的抽象结构示意图。参照图2所示,nand-flash的结构为物理页连续排布,每个物理页的容量相同,且每个物理页中包含数据块区域和空闲区域,数据块区域和空闲区域均可进行数据读出或写入。

由于在存储器中每个物理页均包括数据块区域和空闲区域,为明确第一物理页中的目标操作区域,可根据数据块区域和空闲区域分别设定相应的标记,那么,操作命令中还可以包括操作区域标记,操作区域标记为:数据块区域标记和/或空闲区域标记。

操作命令中的操作区域标记可以包括数据块区域标记、数据块区域标记和空闲区域标记、空闲区域标记三种情况。若操作区域标记为数据块区域,也就是说,第一物理页中的目标操作区域为第一物理页中的数据块区域,若操作区域标记包括数据块区域标记和空闲区域标记,也就是说,第一物理页中的目标操作区域为整个第一物理页,若操作区域标记为空闲区域,也就是说,第一物理页中的目标操作区域为第一物理页中的空闲区域。

但是,由于空闲区域的存储空间相对较小,存储控制器单次传输数据的最大容量通常会大于空闲区域的存储空间,因此,在实际应用中,较少出现操作区域标记仅包括空闲区域标记的情况。

可选地,针对物理页包括数据块区域和空闲区域的情况,为减小操作命令的复杂度,当操作命令中不包含操作区域标记时,可认为目标操作区域为默认区域,该默认区域可以为数据块区域,也可以为整个第一物理页。

示例性地,操作命令包括:command、page_address、page_size、flags,其中,command即表示操作命令类型,page_address表示第一物理页的起始地址,page_size表示物理页的容量(即第一物理页的容量),flags表示操作区域标记。

s102、根据存储器单次传输数据的最大容量、第一物理页的起始地址以及物理页的容量,对第一物理页进行划分,获取与第一物理页对应的多个第二物理页。

本步骤中,对第一物理页的划分仅是逻辑上的划分,第一物理页的物理结构在划分前后并无变化。

具体地,根据操作命令中的第一物理页的起始地址,以及操作区域标记,确定第一物理页中目标操作区域的容量。进一步,根据存储控制器单次传输数据的最大容量,确定将第一物理页中的目标操作区域划分为几个第二物理页,即确定第二物理页的个数n,其中,n为正整数;之后,再根据第二物理页的个数n,将第一物理页中的目标操作区域进行逻辑上的重新划分,获得与第一物理页中的目标操作区域对应的n个第二物理页,生成的第二物理页的容量与存储控制器单次传输数据的最大容量保持一致。

接下来,针对操作区域标记为数据块区域标记和操作区域标记为数据块区域标记和空闲区域标记两种情况下,如何对第一物理页的目标操作区域进行划分,分别进行详细说明:

一、操作区域标记为数据块区域标记

步骤一:根据操作区域标记,确定第一物理页中目标操作区域为数据块区域,那么,第一物理页中目标操作区域的容量即为数据块区域的容量,该数据块区域的容量可从设备的操作系统获得。一种可能的实现方式,在用户设备中的除存储器之外其他存储设备(如用户设备的内存)中有维护存储器标识与存储器配置参数的对应关系,存储器配置参数包括:存储器型号、存储器页容量、存储器数据块区域容量等信息,存储器管理装置根据存储器标识,根据其他存储设备中维护的对应关系进行查询,获得数据块区域的容量。另一种可能的实现方式,将存储器配置参数预先存储至存储器管理装置中,存储器管理装置可直接根据存储器配置参数确定数据块区域的容量;

步骤二:将数据块区域的容量与存储控制器单次传输数据的最大容量进行相除,若商为n,且n为整数,则第二物理页的个数为n,若商不是整数,则向上取整,将向上取整后的结果n确定为第二物理页的个数;

步骤三:再根据第二物理页的个数n,对数据块区域进行划分,若步骤二中所得的商为整数,那么,将数据块区域进行平均划分即可,n个第二物理页的容量均与存储控制器单次传输数据的最大容量相等;若步骤二中的商不是整数,那么,将数据块区域进行划分时,前n-1个第二物理页与存储控制器单次传输数据的最大容量相等,第n个第二物理页的容量小于存储控制器单次传输数据的最大容量。

二、操作区域标记为数据块区域标记和空闲区域标记

步骤一:根据操作区域标记,确定第一物理页中目标操作区域为整个第一物理页,那么,第一物理页中目标操作区域的容量即为第一物理页的容量,该第一物理页的容量即为数据块区域和空闲区域的容量之和;

步骤二:将第一物理页的容量与存储控制器单次传输数据的最大容量相除,若商为n,且n为整数,则第二物理页的个数为n,若商不是整数,则向上取整,将向上取整后的结果n确定为第二物理页的个数;

步骤三:根据第二物理页的个数n,对整个第一物理页进行划分,生成与第一物理页对应的多个第二物理页。其中,若步骤二中所得的商为整数,那么,将第一物理页进行平均划分即可,n个第二物理页的容量均与存储控制器单次传输数据的最大容量相等;若步骤二中的商不是整数,那么,将第一物理页进行划分时,前n-1个第二物理页与存储控制器单次传输数据的最大容量相等,第n个第二物理页的容量小于存储控制器单次传输数据的最大容量。

例如,某nand-flash中第一物理页包括数据块区域和空闲区域,其中,数据块区域为4096kb,空闲区域为64kb,存储控制器单次传输数据的最大容量为1024kb。若存储器管理装置接收到的操作命令中,操作区域标记为数据块区域标记,那么,根据存储控制器单次传输数据的最大容量1024kb和第一物理页中数据块区域的容量4096kb,确定将第一物理页中数据块区域划分为4个第二物理页,每个第二物理页的容量为1024kb。

若存储器管理装置接收到的操作命令中,操作区域标记为数据块区域和空闲区域,那么,根据存储控制器单次传输数据的最大容量1024kb和第一物理页的总容量4096kb+64kb,确定将第一物理页划分为5个第二物理页,前4个第二物理页的容量均与存储控制器单次传输数据的最大容量保持一致,第5个第二物理页的容量仅为64kb。

需要说明的是,在执行本步骤之前,还需获取存储控制器单次传输数据的最大容量。其中,存储控制器单次传输数据的最大容量能够反映存储控制器的数据传输性能,这是存储控制器的基本配置,在存储控制器生产过程中便配置好的,在使用的过程中无法进行更改,因此,可根据存储控制器型号,通过生产厂商提供的该型号的存储控制器对应的配置参数,确定数据传输性能参数,该数据传输性能参数即为存储控制器单次传输数据的最大容量。一种可能的实现方式,存储器管理装置在开机时便获取存储控制器单次传输数据的最大容量,之后,将该存储控制器单次传输数据的最大容量进行存储,在使用时直接调用即可。另一种可能的实现方式,在每次执行本实施例中步骤s102之前,获取存储控制器单次传输数据的最大容量。

s103、对多个第二物理页,执行与操作命令类型相对应的操作。

具体地,若操作命令类型为读操作,那么,通过对第一物理页进行多次访问,按照顺序依次访问多个第二物理页,从而实现将第一物理页中存储的数据读出;若操作命令类型为写操作,那么,通过对该第一物理页进行多次访问,按照顺序依次访问多个第二物理页,从而实现将要写入的数据写入第一物理页中。

本实施例中,通过接收用户设备发送的操作指令,其中,操作指令至少包括操作命令类型、第一物理页的起始地址以及物理页的容量;根据存储控制器单次传输数据的最大容量、第一物理页的起始地址以及物理页的容量,对第一物理页进行划分,获取与第一物理页对应的多个第二物理页;进一步,对多个第二物理页,执行与所述操作命令类型相对应的操作。本实施例通过根据存储控制器单次传输数据的最大容量,将第一物理页进行逻辑拆分得到拆分后的多个第二物理页,而拆分后的第二物理页的容量与存储控制器单次传输数据的最大容量保持一致,从而存储控制器通过对多个第二物理页进行多次访问,实现数据的写入或读出,使得支持能力较弱的存储控制器获得较强的兼容能力,打破现有技术中的硬件约束,实现存储控制器与存储器的灵活配置。

图3为本发明提供的存储器管理方法实施例二的流程示意图。如图3所示,本实施例的方法包括:

s301、接收用户设备发送的操作命令。

s302、根据存储器单次传输数据的最大容量、第一物理页的起始地址以及物理页的容量,对第一物理页进行划分,获取与第一物理页对应的多个第二物理页。

本实施例中,步骤s301、步骤s302,分别与图1所示实施例中步骤s101、步骤s102类似,可参照图1所示实施例中的详细描述,此处不再赘述。

s303、对数据缓冲区的第三物理页进行重新划分,生成与第三物理页对应的多个第四物理页。

由于在数据处理的过程中,数据到达速度与数据离开速度不一致时,可能降低设备的运行速度以及降低资源的利用率,因此,通过设置数据缓冲区解决上述问题。可选地,数据缓冲区位于存储器的存储区域之外,也就是说,数据缓冲区不在存储器的存储区域内。

本步骤中,数据缓冲区包含多个第三物理页,根据对第一物理页进行划分的具体实现方式,对数据缓冲区中的至少一个第三物理页进行重新划分,获得与第三物理页对应的多个第四物理页,第四物理页的容量与存储控制器单次传输数据的最大容量保持一致,以使存储控制器单次传输数据的最大容量、第二物理页的容量、第四物理页的容量保持一致。

需要说明的是,步骤s302与步骤s303可并行执行,也可顺序执行,本发明实施例仅为示例性描述,并不是对步骤s302和步骤s303执行顺序的限制。

s304、对多个第二物理页,执行与操作命令类型相对应的操作。

在设置数据缓冲区的基础上,不同的操作命令类型,对存储器中第一物理页的操作时序不同。

具体地,若操作命令类型为读操作,那么,首先根据第一物理页的起始地址以及多个第二物理页的页内偏移地址,确定每个第二物理页的起始地址,根据每个第二物理页的起始地址依次对多个第二物理页进行访问,依次读取多个第二物理页中的数据,进一步,将读出的多个第二物理页中的数据按照读取顺序分别缓存至数据缓冲区的多个第四物理页中,以便用户设备通过数据缓冲区读取数据。

若操作命令类型为写操作,那么,首先根据第四物理页的容量将待写入数据进行拆分,得到多个数据块,每个数据块的大小与第四物理页的容量相等,并将拆分后多个的数据块分别缓存至多个第四物理页中,其中,每个第四物理页中缓存一个数据块,进一步,根据第一物理页的起始地址以及多个第二物理页的页内偏移地址,确定每个第二物理页的起始地址,根据每个爹物理页的起始地址依次对多个第二物理页进行访问,依次将多个第四物理页中缓存的数据按照写入顺序分别写入多个第二物理页中,其中,这里的写入顺序可以理解为从数据缓冲区中读出数据的顺序。

需要说明的是,无论是读操作还是写操作,页内偏移地址表示第二物理页的起始地址相对于第一物理页的起始地址的偏移量,该页内偏移地址可根据第二物理页的容量确定。示例性地,第一个第二物理页的起始地址即为第一物理页的起始地址,且第一个第二物理页的页内偏移量为0;第二个第二物理页的起始地址为第一物理页的起始地址加上偏移量,偏移量为第二物理页的容量;第三个第二物理页的起始地址为第一物理页的起始地址加上偏移量,偏移量为两个第二物理页的容量;依次类推,可确定第n个第二物理页的页内偏移地址为n-1个第二物理页的容量。因此,在获得第一物理页的起始地址、第二物理页的容量(存储控制器单次传输数据的最大容量)以及第二物理页的数量时,便可根据第n个第二物理页的页内偏移地址为n-1个第二物理页的容量,确定每个第二物理页的页内偏移地址。

本实施例中,通过接收用户通过用户设备发送的操作指令,其中,所述操作指令至少包括操作命令类型、第一物理页的起始地址以及物理页的容量;根据存储控制器单次传输数据的最大容量、第一物理页的起始地址以及物理页的容量,对第一物理页进行划分,获取与第一物理页对应的多个第二物理页;接着,对数据缓冲区的第三物理页进行重新划分,生成与第三物理页对应的多个第四物理页;对多个第二物理页,执行与所述操作命令类型相对应的操作。

本实施例的有益效果在于:通过根据存储控制器单次传输数据的最大容量,将第一物理页进行逻辑拆分得到拆分后的多个第二物理页,而拆分后的第二物理页的容量与存储控制器单次传输数据的最大容量保持一致,从而存储控制器通过对多个第二物理页进行多次访问,实现数据的写入或读出,使得支持能力较弱的存储控制器获得较强的兼容能力,打破现有技术中的硬件约束,实现存储控制器与存储器的灵活配置。进一步,通过设置数据缓冲区解决了数据达到速度与数据离开速度不匹配的问题,有效提高设备的运行速度,提高设备的资源利用率。

图4为本发明提供的存储器管理装置实施例一的结构示意图。如图4所示,本实施例的装置40包括:接收模块41、第一划分模块42、以及执行模块43。

其中,接收模块41,用于接收用户通过用户设备发送的操作命令,其中,所述操作命令至少包括操作命令类型、第一物理页的起始地址以及物理页的容量。

可选地,所述第一物理页包括数据块区域和空闲区域,相应地,所述操作区域标记包括:数据块区域标记和/或空闲区域标记。

第一划分模块42,用于根据存储控制器单次传输数据的最大容量、所述第一物理页的起始地址以及所述物理页的容量,对第一物理页进行划分,获取与所述第一物理页对应的多个第二物理页。其中,存储控制器单次传输数据的最大容量为预先获取的参数。

若所述操作区域标记为数据块区域标记,第一划分模块42,具体用于:

根据所述操作区域标记,确定所述第一物理页中目标操作区域的容量为所述数据块区域的容量;根据所述存储控制器单次传输数据的最大容量以及所述数据块区域的容量,确定第二物理页的个数n,其中,n为正数;根据所述第二物理页的个数n,对所述数据块区域进行划分,获取与所述数据块区域对应的n个第二物理页。

若所述操作区域标记包括数据块区域和空闲区域标记,第一划分模块42,具体用于:

根据所述操作区域标记,确定所述第一物理页中目标操作区域的容量为所述第一物理页的容量;根据所述存储控制器单次传输数据的最大容量以及所述第一物理页的容量,确定第二物理页的个数n,其中,n为正数;根据所述第二物理页的个数n,对所述第一物理页进行划分,获取与所述第一物理页对应的n个第二物理页。

执行模块43,用于对所述多个第二物理页,执行与所述操作命令类型相对应的操作。

本实施例的装置,可以用于执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

可选地,在图1所示实施例的基础上,还包括:获取模块(图1中未示出),获取模块具体用于获取所述存储控制器单次传输数据的最大容量。

图5为本发明提供的存储器管理装置实施例二的结构示意图。如图5所示,本实施例提供的装置50在图4所示实施例的基础上,还包括:第二划分模块44。

其中,第二划分模块44,用于对数据缓冲区的第三物理页进行划分,获取与所述第三物理页对应的多个第四物理页,以使所述第四物理页的容量与所述第二物理页的容量相同。

在一些实施例中,若操作命令类型为读操作,执行模块43,具体用于:

根据所述第一物理页的起始地址以及多个所述第二物理页对应的页内偏移地址,依次读取多个所述第二物理页中的数据,其中,所述页内偏移地址为所述第二物理页的起始地址相对所述第一物理页的起始地址之间的偏移量;将读出的多个所述第二物理页中的数据按照读取顺序分别缓存至多个所述第四物理页中,以便所述用户设备通过所述数据缓冲区读取数据。

在另一些实施例中,若操作命令类型为写操作,执行模块43,具体用于:

根据所述第四物理页的容量将待写入数据进行拆分,并将拆分后的多个数据块分别缓存至所述多个第四物理页中;根据所述第一物理页的起始地址以及多个所述第二物理页的页内偏移地址,将多个所述第四物理页中缓存的数据块分别写入多个第二物理页中,其中,所述页内偏移地址为所述第二物理页的起始地址相对所述第一物理页的起始地址之间的偏移量。

本实施例的装置,可以用于执行图3所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

图6为本发明提供的电子设备实施例一的结构示意图。如图6所示,本实施例的电子设备60包括:存储器61、处理器62以及计算机程序。

其中,计算机程序存储在存储器61中,并被配置为由处理器62执行以实现图1或图3任一实施例所示的存储器管理方法。相关说明可以对应参见图1以及图3的步骤所对应的相关描述和效果进行理解,此处不做过多赘述。

其中,本实施例中,存储器61和处理器62通过总线63连接。

本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行以实现本发明图1或图3任一实施例所示的存储器管理方法。

在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。

作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。

用于实施本发明的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。

在本发明的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。

最后应说明的是:尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

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