CN106155580A - 一种基于嵌入式多媒体卡eMMC的存储方法及系统 - Google Patents
一种基于嵌入式多媒体卡eMMC的存储方法及系统 Download PDFInfo
- Publication number
- CN106155580A CN106155580A CN201510204376.9A CN201510204376A CN106155580A CN 106155580 A CN106155580 A CN 106155580A CN 201510204376 A CN201510204376 A CN 201510204376A CN 106155580 A CN106155580 A CN 106155580A
- Authority
- CN
- China
- Prior art keywords
- data
- storage
- emmc
- type
- write request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明实施例公开了一种基于嵌入式多媒体卡eMMC的存储方法及系统,该方法包括应用程序层向文件系统层发送数据写入请求,其中,该数据写入请求包括应用程序需要写入eMMC存储器件层的数据,文件系统层响应该数据写入请求确定该数据的数据类型,eMMC块设备驱动程序层根据该数据类型设置写命令参数中的数据标签以及可靠写标志位,eMMC存储器件层根据该数据标签以及该可靠写标志位从预先存储的存储列表中确定出针对该数据的目标存储空间,并将该数据存储在该目标存储空间中,其中,该存储列表包括每个存储空间的存储类型以及每个存储空间的老化程度。实施本发明实施例能够提高eMMC存储数据的灵活性。
Description
技术领域
本发明涉及数据存储技术领域,具体涉及一种基于嵌入式多媒体卡eMMC的存储方法及系统。
背景技术
嵌入式多媒体卡(eMMC,embedded Multi Media Card)是当前手机、平板电脑等移动终端中的主要存储器件,其以NAND闪存为存储介质存储移动终端中的软件及数据等,且其功能与性能遵循国际标准规范JESD84,JESD84规范规定了很多存储特性,如性能指标、数据安全、存储可靠性、分区划分、通讯协议及读写控制等。由于不同软件获取/生成的数据具有不同的数据属性,不同数据属性的数据对可靠性的要求也不同,为了提供不同的可靠性,eMMC允许设置多个存储区域并为不同存储区域设置不同的可靠性,且为了保护已存储的数据不被破坏,JESD84规范中还定义了可靠写的功能。但是,eMMC的老化、NAND闪存的磨损不均以及为不同存储区域设置不同可靠性的方式使得eMMC内部的不同存储区域的可靠性存在很大的差异,这将影响存储区域存储的数据的可靠性,此外,突然掉电、系统崩溃等因素也常常导致NAND闪存中的数据损坏、丢失甚至存储介质损坏。
为了缓解eMMC的性能、可靠性及安全性之间的矛盾,按照JESD84规范,当前的eMMC按照如图1所示方式划分存储区域以适用于不同的存储目的,如图1所示,eMMC的存储区域被划分为存储系统启动代码的启动分区,存储对安全性要求较高的加密分区,存储移动终端的出厂数据及关键系统数据的通用分区,以及存储用户的App、图片、视频及文档等数据且对用户可见的用户数据分区,同时在用户数据分区内指定一定的区域作为增强型用户数据分区并开启特殊的保护措施以提高该增强型用户存储区域内的操作与数据的可靠性。但是,图1所示的存储区域划分方式是静态以及粗粒度的,这种存储区域划分方式仍然不能很好的适配数据可靠性要求的差异,降低了eMMC存储数据的灵活性。
发明内容
本发明实施例公开了一种基于嵌入式多媒体卡eMMC的存储方法及系统,能够提高eMMC存储数据的灵活性。
本发明实施例第一方面公开了一种基于嵌入式多媒体卡eMMC的存储系统,所述系统包括应用程序层、文件系统层、eMMC块设备驱动程序层以及eMMC存储器件层,其中:
所述应用程序层,用于向所述文件系统层发送数据写入请求,所述数据写入请求包括应用程序需要写入所述eMMC存储器件层的数据;
所述文件系统层,用于响应所述数据写入请求并确定所述数据的数据类型;
所述eMMC块设备驱动程序层,用于根据所述数据类型设置写命令参数中的数据标签以及可靠写标志位;
所述eMMC存储器件层,用于根据所述数据标签以及所述可靠写标志位从预先存储的存储列表中确定出针对所述数据的目标存储空间,并将所述数据存储在所述目标存储空间中,所述存储列表包括每个存储空间的存储类型以及每个所述存储空间的老化程度。
在本发明实施例第一方面的第一种可能的实现方式中,所述数据写入请求还包括所述数据的数据属性;
所述文件系统层响应所述数据写入请求并确定所述数据的数据类型的具体方式为:
响应所述数据写入请求,根据所述数据属性识别出所述数据的数据类型。
结合本发明实施例第一方面,在本发明实施例第一方面的第二种可能的实现方式中,所述数据写入请求还包括所述应用程序的应用程序类型;
所述文件系统层响应所述数据写入请求确定所述数据的数据类型的具体方式为:
响应所述数据写入请求,根据所述应用程序类型识别出所述数据的数据类型。
结合本发明实施例第一方面、本发明实施例第一方面的第一种可能的实现方式或本发明实施例第一方面的第二种可能的实现方式,在本发明实施例第一方面第三种可能的实现方式中,所述存储类型包括一个单元存储一位二进制数据SLC的存储类型、一个单元存储两位二进制数据MLC的存储类型以及一个单元存储三位二进制数据TLC的存储类型中的任意一种。
结合本发明实施例第一方面的第三种可能的实现方式,在本发明实施例第一方面的第四种可能的实现方式中,所述数据类型包括元数据、结构化用户数据以及不同错误容忍级别对应的不同非结构化用户数据中的任意一种。
本发明实施例第二方面公开了一种基于嵌入式多媒体卡eMMC的存储方法,所述方法包括:
应用程序层向文件系统层发送数据写入请求,所述数据写入请求包括应用程序需要写入eMMC存储器件层的数据;
所述文件系统层响应所述数据写入请求并确定所述数据的数据类型;
eMMC块设备驱动程序层根据所述数据类型设置写命令参数中的数据标签以及可靠写标志位;
所述eMMC存储器件层根据所述数据标签以及所述可靠写标志位从预先存储的存储列表中确定出针对所述数据的目标存储空间,并将所述数据存储在所述目标存储空间中,所述存储列表包括每个存储空间的存储类型以及每个所述存储空间的老化程度。
在本发明实施例第二方面的第一种可能的实现方式中,所述数据写入请求还包括所述数据的数据属性;
所述文件系统层响应所述数据写入请求并确定所述数据的数据类型,包括:
响应所述数据写入请求,根据所述数据属性识别出所述数据的数据类型。
结合本发明实施例第二方面,在本发明实施例第二方面的第二种可能的实现方式中,所述数据写入请求还包括所述应用程序的应用程序类型;
所述文件系统层响应所述数据写入请求并确定所述数据的数据类型,包括:
响应所述数据写入请求,根据所述应用程序类型识别出所述数据的数据类型。
结合本发明实施例第二方面、本发明实施例第二方面的第一种可能的实现方式或本发明实施例第二方面的第二种可能的实现方式,在本发明实施例第二方面的第三种可能的实现方式中,所述存储类型包括一个单元存储一位二进制数据SLC的存储类型、一个单元存储两位二进制数据MLC的存储类型以及一个单元存储三位二进制数据TLC的存储类型中的任意一种。
结合本发明实施例第二方面的第三种可能的实现方式,在本发明实施例第二方面的第四种可能的实现方式中,所述数据类型包括元数据、结构化用户数据以及不同错误容忍级别对应的不同非结构化用户数据中的任意一种。
本发明实施例中,应用程序层向文件系统层发送数据写入请求,其中,该数据写入请求包括应用程序需要写入eMMC存储器件层的数据,文件系统层响应该数据写入请求确定该数据的数据类型,eMMC块设备驱动程序层根据该数据类型设置写命令参数中的数据标签以及可靠写标志位,eMMC存储器件层根据该数据标签以及该可靠写标志位从预先存储的存储列表中确定出针对该数据的目标存储空间,并将该数据存储在该目标存储空间中,其中,该存储列表包括每个存储空间的存储类型以及每个存储空间的老化程度。实施本发明实施例能够按照需要存储数据的数据类型,将数据的可靠性需求与eMMC内存储介质提供的可靠性进行动态适配,提高了eMMC存储数据的灵活性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术的eMMC存储器件中存储区域分区的结构示意图;
图2是本发明实施例公开的一种基于嵌入式多媒体卡eMMC的存储系统的结构示意图;
图3是本发明实施例公开的一种基于嵌入式多媒体卡eMMC的存储方法的流程示意图;
图4是本发明实施例公开的另一种基于嵌入式多媒体卡eMMC的存储方法的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种基于嵌入式多媒体卡eMMC的存储方法及系统,能够按照需要存储数据的数据类型,将数据的可靠性需求与存储介质提供的可靠性进行动态适配,提高了eMMC存储数据的灵活性。以下分别进行详细说明。
请参阅图2,图2是本发明实施例公开的一种基于嵌入式多媒体卡eMMC的存储系统的结构示意图。其中,图2所示的系统可以应用于智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(MobileInternet Devices,MID)、PAD等使用eMMC存储器件的终端中,且eMMC存储器件包括eMMC控制器以及一个或多个NAND闪存芯片,其中,一个或多个NAND闪存芯片为存储数据的存储介质,eMMC控制器负责对内对外的控制与通讯,对内主要是控制对存储介质的读、写、擦除操作以及地址空间管理等,对外主要负责与主机进行通讯,接收并响应主机的命令,实现将主机要存储的数据存储到对应的存储介质上以及将主机要读取的数据从对应的存储介质上取出并发送给主机。如图2所示,该基于嵌入式多媒体卡eMMC的存储系统可以包括应用程序层201、文件系统层202、eMMC块设备驱动程序层203以及eMMC存储器件层204,其中:
应用程序层201,用于向文件系统层202发送数据写入请求。
本发明实施例中,该数据写入请求可以包括应用程序需要写入eMMC存储器件层204的数据。
文件系统层202,用于响应上述数据写入请求并确定上述数据的数据类型。
本发明实施例中,上述数据的数据类型可以包括但不限于元数据、结构化用户数据以及不同错误容忍级别对应的不同非结构化用户数据(如错误容忍级别高的非结构化用户数据以及错误容忍级别低的非结构化用户数据等)中的任意一种,本发明实施例不做限定。其中,元数据是文件系统的关键数据且对可靠性要求高,因此,元数据被定义为对可靠性要求最高的数据,即元数据为可靠性级别最高的数据;结构化用户数据(如关系型数据库系统等)为要求存放正确无误的数据,且其对可靠性的要求相对于元数据对可靠性的要求较低;非结构化用户数据(如音视频数据等)是少量错误并不影响全局的数据,其对可靠性的要求最低,且错误容忍级别越高的非结构化用户数据对可靠性的要求就越低。
作为一种可选的实施方式,上述数据写入请求还可以包括上述数据的数据属性,则文件系统层202响应上述数据写入请求并确定上述数据的数据类型的具体方式可以为:
响应上述数据写入请求,根据上述数据的数据属性识别出上述数据的数据类型。
作为另一种可选的实施方式,上述数据写入请求还可以包括上述应用程序的应用程序类型,则文件系统层202响应上述数据写入请求并确定上述数据的数据类型的具体方式可以为:
响应上述数据写入请求,根据上述应用程序的应用程序类型识别出上述数据的数据类型。
eMMC块设备驱动程序层203,用于根据文件系统层202确定出的数据类型设置写命令参数中的数据标签Do_data_tag以及可靠写标志位Do_rel_wr。
本发明实施例中,数据标签Do_data_tag以及可靠写标志位Do_rel_wr是写命令参数中的两个标志位,且数据标签Do_data_tag以及可靠写标志位Do_rel_wr机制只针对写操作,此外,由于NAND闪存采取的是非原位置更新,因此,数据标签Do_data_tag以及可靠写标志位Do_rel_wr机制可应用于包括写入新数据以及更新旧数据的全部写操作。其中,数据标签Do_data_tag为eMMC存储器件的一个特性,其允许eMMC存储器件从主机获取需要存储数据的数据类型、时间戳以及配置参数等,以作为eMMC存储器件层204为需要存储的数据分配存储空间的决策依据。可靠写标志位Do_rel_wr用于标识是否对上述数据进行可靠写,可靠写也是eMMC存储器件的一个特性,且其是带有一定约束条件的原子性写操作,它要求保证之前已经可靠写入的数据在突然掉电或系统崩溃时不被损坏。
本发明实施例中,举例来说,当文件系统层202确定出的上述数据的数据类型为元数据(如文件系统元数据等)时,eMMC块设备驱动程序层203可以将数据标签Do_data_tag以及可靠写标志位Do_rel_wr均置为1,这表示该元数据的可靠性级别最高,即其对可靠性要求最高;当文件系统层202确定出的上述数据的数据类型为结构化用户数据(如手机银行重要数据等)时,eMMC块设备驱动程序层203可以将数据标签Do_data_tag置为0,并将可靠写标志位Do_rel_wr置为1,这表示该结构化用户数据的可靠性级别次高,即其对可靠性要求次高;当文件系统层202确定出的上述数据的数据类型为错误容忍级别低的非结构化用户数据(如游戏数据或社交数据等)时,eMMC块设备驱动程序层203可以将数据标签Do_data_tag置为1,并将可靠写标志位Do_rel_wr置为0,这表示该错误容忍级别低的非结构化用户数据的可靠性级别低,即其对可靠性要求低;当文件系统层202确定出的上述数据的数据类型为错误容忍级别高的非结构化用户数据(如不重要的缓存数据或交换数据等)时,eMMC块设备驱动程序层203可以将数据标签Do_data_tag置为0,并将可靠写标志位Do_rel_wr置为0,这表示该错误容忍级别高的非结构化用户数据的可靠性级别最低,即其对可靠性要求最低。
eMMC存储器件层204,用于根据上述数据标签Do_data_tag以及上述可靠写标志位Do_rel_wr从预先存储的存储列表中确定出针对上述数据的目标存储空间,并将上述数据存储在确定出的目标存储空间中。
本发明实施例中,eMMC存储器件层204内部控制器的Firmware(固件)可以维护一个存储列表,该存储列表可以包括每个存储空间的存储类型以及每个存储空间的老化程度,其中,每个存储空间的老化程度可以由每个存储空间的已擦除次数以及磨损程度决定,可选的,该存储列表还可以包括每个存储空间的空闲状态,如每个存储空间的剩余空间(即空闲空间)容量或每个存储空间的剩余空间容量占该存储空间总空间容量的比值等,本发明实施例不做限定。
可选的,每个存储空间的存储类型可以包括但不限于一个单元存储一位二进制数据SLC(Single-Level Cell)的存储类型、一个单元存储两位二进制数据MLC(Multi-Level Cell)的存储类型以及一个单元存储三位二进制数据TLC(Trinary-Level Cell)的存储类型中的任意一种,本发明实施例不做限定。且相同存储类型的存储空间可以根据每个存储空间的老化程度被定义为不同的可靠性级别,如存储类型为SLC的存储空间可以被划分为老化程度低的SLC型存储空间以及老化程度高的SLC型存储空间等不同老化程度的SLC型存储空间,存储类型为MLC的存储空间可以被划分为老化程度低的MLC型存储空间以及老化程度高的MLC型存储空间等不同老化程度的MLC型存储空间,存储类型为TLC的存储空间可以被划分为老化程度低的TLC型存储空间以及老化程度高的TLC型存储空间等不同老化程度的TLC型存储空间,且对于相同存储类型的存储空间而言,其老化程度越低,其可靠性级别就越高。
具体的,eMMC存储器件层204可以将元数据以及结构化用户数据存储在SLC型的存储空间中并实施可靠写操作,且可以将非结构化用户数据存储在MLC型的存储空间中,进一步的,eMMC存储器件层204可以将错误容忍级别高的非结构化用户数据存储在老化程度较高的MLC型的存储空间中,且将错误容忍级别低的非结构化用户数据存储在老化程度较低的MLC型的存储空间中。
本发明实施例中,举例来说,假设上述存储列表如下表1所示且上述数据的数据类型为元数据、结构化用户数据、错误容忍级别低的非结构化用户数据或错误容忍级别高的非结构化用户数据,则当文件系统层202确定出的上述数据的数据类型为元数据时,eMMC存储器件层204优先为上述数据选择老化程度最低的SLC型存储空间,若SLC型存储空间中无空闲空间,则eMMC存储器件层204为上述数据选择老化程度最低的MLC型存储空间,若MLC型存储空间中也无空闲空间,则分配失败;当文件系统层202确定出的上述数据的数据类型为结构化用户数据时,eMMC存储器件层204优先为上述数据选择老化程度最高的SLC型存储空间,若SLC型存储空间中无空闲空间,则eMMC存储器件层204为上述数据选择老化程度最低的MLC型存储空间,若MLC型存储空间中也无空闲空间,则分配失败;当文件系统层202确定出的上述数据的数据类型为错误容忍级别低的非结构化用户数据时,eMMC存储器件层204优先为上述数据选择老化程度最低的MLC型存储空间,若MLC型存储空间中无空闲空间,则eMMC存储器件层204为上述数据选择老化程度最高的SLC型存储空间,若SLC型存储空间中也无空闲空间,则分配失败;当文件系统层202确定出的上述数据的数据类型为错误容忍级别高的非结构化用户数据时,eMMC存储器件层204优先为上述数据选择老化程度最高的MLC型存储空间,若MLC型存储空间中无空闲空间,则eMMC存储器件层204为上述数据选择老化程度最高的SLC型存储空间,若SLC型存储空间中也无空闲空间,则分配失败,其中,表1为:
表1存储列表
存储类型 | 老化程度 |
SLC型 | 低 |
SLC型 | 高 |
MLC型 | 低 |
MLC型 | 高 |
实施本发明实施例能够按照需要存储数据的数据类型,将数据的可靠性需求与eMMC内存储介质提供的可靠性进行动态适配,提高了eMMC存储数据的灵活性,且能够将不同可靠性需求的数据存储在不同可靠性级别的存储空间中,确保了数据的可靠性需求。
请参阅图3,图3是本发明实施例公开的一种基于嵌入式多媒体卡eMMC的存储方法的流程示意图。其中,图3所示的方法可以应用于图2所示的系统中。如图3所示,该基于嵌入式多媒体卡eMMC的存储方法可以包括以下步骤:
S301、应用程序层向文件系统层发送数据写入请求。
本发明实施例中,该数据写入请求可以包括应用程序需要写入eMMC存储器件层的数据。
S302、文件系统层响应上述数据写入请求并确定需要写入的数据的数据类型。
本发明实施例中,上述数据的数据类型可以包括但不限于元数据、结构化用户数据以及不同错误容忍级别对应的不同非结构化用户数据(如错误容忍级别高的非结构化用户数据以及错误容忍级别低的非结构化用户数据等)中的任意一种,本发明实施例不做限定。其中,元数据是文件系统的关键数据且对可靠性要求高,因此,元数据被定义为对可靠性要求最高的数据,即元数据为可靠性级别最高的数据;结构化用户数据(如关系型数据库系统等)为要求存放正确无误的数据,且其对可靠性的要求相对于元数据对可靠性的要求较低;非结构化用户数据(如音视频数据等)是少量错误并不影响全局的数据,其对可靠性的要求最低,且错误容忍级别越高的非结构化用户数据对可靠性的要求就越低。
作为一种可选的实施方式,上述数据写入请求还可以包括上述数据的数据属性,则文件系统层响应上述数据写入请求并确定上述数据的数据类型可以包括:
响应上述数据写入请求,根据上述数据的数据属性识别出上述数据的数据类型。
作为另一种可选的实施方式,上述数据写入请求还可以包括上述应用程序的应用程序类型,则文件系统层响应上述数据写入请求并确定上述数据的数据类型可以包括:
响应上述数据写入请求,根据上述应用程序的应用程序类型识别出上述数据的数据类型。
S303、eMMC块设备驱动程序层根据上述数据类型设置写命令参数中的数据标签Do_data_tag以及可靠写标志位Do_rel_wr。
本发明实施例中,数据标签Do_data_tag以及可靠写标志位Do_rel_wr是写命令参数中的两个标志位,且数据标签Do_data_tag以及可靠写标志位Do_rel_wr机制只针对写操作,此外,由于NAND闪存采取的是非原位置更新,因此,数据标签Do_data_tag以及可靠写标志位Do_rel_wr机制可应用于包括写入新数据以及更新旧数据的全部写操作。其中,数据标签Do_data_tag为eMMC存储器件的一个特性,其允许eMMC存储器件从主机获取需要存储数据的数据类型、时间戳以及配置参数等,以作为eMMC存储器件层为需要存储的数据分配存储空间的决策依据。可靠写标志位Do_rel_wr用于标识是否对上述数据进行可靠写,可靠写也是eMMC存储器件的一个特性,且其是带有一定约束条件的原子性写操作,它要求保证之前已经可靠写入的数据在突然掉电或系统崩溃时不被损坏。
本发明实施例中,举例来说,当文件系统层确定出的上述数据的数据类型为元数据(如文件系统元数据等)时,eMMC块设备驱动程序层可以将数据标签Do_data_tag以及可靠写标志位Do_rel_wr均置为1,这表示该元数据的可靠性级别最高,即其对可靠性要求最高;当文件系统层确定出的上述数据的数据类型为结构化用户数据(如手机银行重要数据等)时,eMMC块设备驱动程序层可以将数据标签Do_data_tag置为0,并将可靠写标志位Do_rel_wr置为1,这表示该结构化用户数据的可靠性级别次高,即其对可靠性要求次高;当文件系统层确定出的上述数据的数据类型为错误容忍级别低的非结构化用户数据(如游戏数据或社交数据等)时,eMMC块设备驱动程序层可以将数据标签Do_data_tag置为1,并将可靠写标志位Do_rel_wr置为0,这表示该错误容忍级别低的非结构化用户数据的可靠性级别低,即其对可靠性要求低;当文件系统层确定出的上述数据的数据类型为错误容忍级别高的非结构化用户数据(如不重要的缓存数据或交换数据等)时,eMMC块设备驱动程序层可以将数据标签Do_data_tag置为0,并将可靠写标志位Do_rel_wr置为0,这表示该错误容忍级别高的非结构化用户数据的可靠性级别最低,即其对可靠性要求最低。
S304、eMMC存储器件层根据上述数据标签以及上述可靠写标志位从预先存储的存储列表中确定出针对上述数据的目标存储空间,并将上述数据存储在该目标存储空间中。
本发明实施例中,eMMC存储器件层内部控制器的Firmware(固件)可以维护一个存储列表,该存储列表可以包括每个存储空间的存储类型以及每个存储空间的老化程度,其中,每个存储空间的老化程度可以由每个存储空间的已擦除次数以及磨损程度决定,可选的,该存储列表还可以包括每个存储空间的空闲状态,如每个存储空间的剩余空间(即空闲空间)容量或每个存储空间的剩余空间容量占该存储空间总空间容量的比值等,本发明实施例不做限定。
可选的,每个存储空间的存储类型可以包括但不限于一个单元存储一位二进制数据SLC(Single-Level Cell)的存储类型、一个单元存储两位二进制数据MLC(Multi-Level Cell)的存储类型以及一个单元存储三位二进制数据TLC(Trinary-Level Cell)的存储类型中的任意一种,本发明实施例不做限定。且相同存储类型的存储空间可以根据每个存储空间的老化程度被定义为不同的可靠性级别,如存储类型为SLC的存储空间可以被划分为老化程度低的SLC型存储空间以及老化程度高的SLC型存储空间等不同老化程度的SLC型存储空间,存储类型为MLC的存储空间可以被划分为老化程度低的MLC型存储空间以及老化程度高的MLC型存储空间等不同老化程度的MLC型存储空间,存储类型为TLC的存储空间可以被划分为老化程度低的TLC型存储空间以及老化程度高的TLC型存储空间等不同老化程度的TLC型存储空间,且对于相同存储类型的存储空间而言,其老化程度越低,其可靠性级别就越高。
具体的,eMMC存储器件层可以将元数据以及结构化用户数据存储在SLC型的存储空间中并实施可靠写操作,且可以将非结构化用户数据存储在MLC型的存储空间中,进一步的,eMMC存储器件层可以将错误容忍级别高的非结构化用户数据存储在老化程度较高的MLC型的存储空间中,且将错误容忍级别低的非结构化用户数据存储在老化程度较低的MLC型的存储空间中。
本发明实施例中,应用程序层向文件系统层发送数据写入请求,其中,该数据写入请求包括应用程序需要写入eMMC存储器件层的数据,文件系统层响应该数据写入请求确定该数据的数据类型,eMMC块设备驱动程序层根据该数据类型设置写命令参数中的数据标签以及可靠写标志位,eMMC存储器件层根据该数据标签以及该可靠写标志位从预先存储的存储列表中确定出针对该数据的目标存储空间,并将该数据存储在该目标存储空间中,其中,该存储列表包括每个存储空间的存储类型以及每个存储空间的老化程度。实施本发明实施例能够按照需要存储数据的数据类型,将数据的可靠性需求与eMMC内存储介质提供的可靠性进行动态适配,提高了eMMC存储数据的灵活性,且能够将不同可靠性需求的数据存储在不同可靠性级别的存储空间中,确保了数据的可靠性需求。
请参阅图4,图4是本发明实施例公开的另一种基于嵌入式多媒体卡eMMC的存储方法的流程示意图。其中,图4是以需要写入的数据为元数据、结构化用户数据、错误容忍级别低的非结构化用户数据以及错误容级别高的非结构化用户数据中的任意一种且存储列表如表1所示为例的基于嵌入式多媒体卡eMMC的存储方法的流程示意图。如图4所示,该基于嵌入式多媒体卡eMMC的存储方法可以包括以下步骤:
S401、应用程序层向文件系统层发送数据写入请求。
S402、文件系统层响应上述数据写入请求,确定上述数据写入请求中包括的需要写入的数据的数据类型。
本发明实施例中,当步骤S402中确定出的数据的数据类型为元数据时,由eMMC块设备驱动程序层执行步骤S403;当步骤S402中确定出的数据的数据类型为结构化用户数据时,由eMMC块设备驱动程序层执行步骤S405;当步骤S402中确定出的数据的数据类型为错误容忍级别低的非结构化用户数据时,由eMMC块设备驱动程序层执行步骤S407;当步骤S402中确定出的数据的数据类型为错误容忍级别高的非结构化用户数据时,由eMMC块设备驱动程序层执行步骤S409。
S403、eMMC块设备驱动程序层将写命令参数中的数据标签Do_data_tag以及可靠写标志位Do_rel_wr均置为1。
S404、eMMC存储器件层确定出针对元数据的目标存储空间为老化程度最低的SLC型存储空间,并将元数据存储在该老化程度最低的SLC型存储空间。
本发明实施例中,若SLC型存储空间中无空闲空间,则eMMC存储器件层为元数据选择老化程度最低的MLC型存储空间,若MLC型存储空间中也无空闲空间,则分配失败。
S405、eMMC块设备驱动程序层将写命令参数中的数据标签Do_data_tag置为0,并将可靠写标志位Do_rel_wr置为1。
S406、eMMC存储器件层确定出针对结构化用户数据的目标存储空间为老化程度最高的SLC型存储空间,并将结构化用户数据存储在该老化程度最高的SLC型存储空间。
本发明实施例中,若SLC型存储空间中无空闲空间,则eMMC存储器件层为结构化用户数据选择老化程度最低的MLC型存储空间,若MLC型存储空间中也无空闲空间,则分配失败。
S407、eMMC块设备驱动程序层将写命令参数中的数据标签Do_data_tag置为1,并将可靠写标志位Do_rel_wr置为0。
S408、eMMC存储器件层确定出针对错误容忍级别低的非结构化用户数据的目标存储空间为老化程度最低的MLC型存储空间,并将错误容忍级别低的非结构化用户数据存储在该老化程度最低的MLC型存储空间。
本发明实施例中,若MLC型存储空间中无空闲空间,则eMMC存储器件层为错误容忍级别低的非结构化用户数据选择老化程度最高的SLC型存储空间,若SLC型存储空间中也无空闲空间,则分配失败。
S409、eMMC块设备驱动程序层将数据标签Do_data_tag置为0,并将可靠写标志位Do_rel_wr置为0。
S410、eMMC存储器件层确定出针对错误容忍级别高的非结构化用户数据的目标存储空间为老化程度最高的MLC型存储空间,并将错误容忍级别高的非结构化用户数据存储在该老化程度最高的MLC型存储空间。
本发明实施例中,若MLC型存储空间中无空闲空间,则eMMC存储器件层为错误容忍级别高的非结构化用户数据选择老化程度最高的SLC型存储空间,若SLC型存储空间中也无空闲空间,则分配失败。
实施本发明实施例能够按照需要存储数据的数据类型,将数据的可靠性需求与eMMC内存储介质提供的可靠性进行动态适配,提高了eMMC存储数据的灵活性,且能够将不同可靠性需求的数据存储在不同可靠性能力的存储空间中,确保了数据的可靠性需求。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
以上对本发明实施例所提供的一种基于嵌入式多媒体卡eMMC的存储方法及系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种基于嵌入式多媒体卡eMMC的存储系统,其特征在于,所述系统包括应用程序层、文件系统层、eMMC块设备驱动程序层以及eMMC存储器件层,其中:
所述应用程序层,用于向所述文件系统层发送数据写入请求,所述数据写入请求包括应用程序需要写入所述eMMC存储器件层的数据;
所述文件系统层,用于响应所述数据写入请求并确定所述数据的数据类型;
所述eMMC块设备驱动程序层,用于根据所述数据类型设置写命令参数中的数据标签以及可靠写标志位;
所述eMMC存储器件层,用于根据所述数据标签以及所述可靠写标志位从预先存储的存储列表中确定出针对所述数据的目标存储空间,并将所述数据存储在所述目标存储空间中,所述存储列表包括每个存储空间的存储类型以及每个所述存储空间的老化程度。
2.根据权利要求1所述的系统,其特征在于,所述数据写入请求还包括所述数据的数据属性;
所述文件系统层响应所述数据写入请求并确定所述数据的数据类型的具体方式为:
响应所述数据写入请求,根据所述数据属性识别出所述数据的数据类型。
3.根据权利要求1所述的系统,其特征在于,所述数据写入请求还包括所述应用程序的应用程序类型;
所述文件系统层响应所述数据写入请求确定所述数据的数据类型的具体方式为:
响应所述数据写入请求,根据所述应用程序类型识别出所述数据的数据类型。
4.根据权利要求1~3任一项所述的系统,其特征在于,所述存储类型包括一个单元存储一位二进制数据SLC的存储类型、一个单元存储两位二进制数据MLC的存储类型以及一个单元存储三位二进制数据TLC的存储类型中的任意一种。
5.根据权利要求4所述的系统,其特征在于,所述数据类型包括元数据、结构化用户数据以及不同错误容忍级别对应的不同非结构化用户数据中的任意一种。
6.一种基于嵌入式多媒体卡eMMC的存储方法,其特征在于,所述方法包括:
应用程序层向文件系统层发送数据写入请求,所述数据写入请求包括应用程序需要写入eMMC存储器件层的数据;
所述文件系统层响应所述数据写入请求并确定所述数据的数据类型;
eMMC块设备驱动程序层根据所述数据类型设置写命令参数中的数据标签以及可靠写标志位;
所述eMMC存储器件层根据所述数据标签以及所述可靠写标志位从预先存储的存储列表中确定出针对所述数据的目标存储空间,并将所述数据存储在所述目标存储空间中,所述存储列表包括每个存储空间的存储类型以及每个所述存储空间的老化程度。
7.根据权利要求6所述的方法,其特征在于,所述数据写入请求还包括所述数据的数据属性;
所述文件系统层响应所述数据写入请求并确定所述数据的数据类型,包括:
响应所述数据写入请求,根据所述数据属性识别出所述数据的数据类型。
8.根据权利要求6所述的方法,其特征在于,所述数据写入请求还包括所述应用程序的应用程序类型;
所述文件系统层响应所述数据写入请求并确定所述数据的数据类型,包括:
响应所述数据写入请求,根据所述应用程序类型识别出所述数据的数据类型。
9.根据权利要求6~8任一项所述的方法,其特征在于,所述存储类型包括一个单元存储一位二进制数据SLC的存储类型、一个单元存储两位二进制数据MLC的存储类型以及一个单元存储三位二进制数据TLC的存储类型中的任意一种。
10.根据权利要求9所述的方法,其特征在于,所述数据类型包括元数据、结构化用户数据以及不同错误容忍级别对应的不同非结构化用户数据中的任意一种。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510204376.9A CN106155580B (zh) | 2015-04-27 | 2015-04-27 | 一种基于嵌入式多媒体卡eMMC的存储方法及系统 |
PCT/CN2016/080077 WO2016173470A1 (zh) | 2015-04-27 | 2016-04-22 | 一种基于嵌入式多媒体卡eMMC的存储方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510204376.9A CN106155580B (zh) | 2015-04-27 | 2015-04-27 | 一种基于嵌入式多媒体卡eMMC的存储方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106155580A true CN106155580A (zh) | 2016-11-23 |
CN106155580B CN106155580B (zh) | 2019-04-12 |
Family
ID=57198976
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510204376.9A Active CN106155580B (zh) | 2015-04-27 | 2015-04-27 | 一种基于嵌入式多媒体卡eMMC的存储方法及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106155580B (zh) |
WO (1) | WO2016173470A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108513197A (zh) * | 2018-04-11 | 2018-09-07 | 四川斐讯信息技术有限公司 | 一种智能耳机的数据存储系统及数据存储方法 |
CN108595123A (zh) * | 2018-04-26 | 2018-09-28 | 青岛海信移动通信技术股份有限公司 | 移动终端的数据存储方法及装置 |
CN109324762A (zh) * | 2018-10-11 | 2019-02-12 | 郑州云海信息技术有限公司 | 一种存储系统的构建方法、装置、设备及存储介质 |
CN110289039A (zh) * | 2018-03-19 | 2019-09-27 | 北京兆易创新科技股份有限公司 | 一种eMMC的调试方法和装置 |
CN114489487A (zh) * | 2021-12-29 | 2022-05-13 | 深圳星火半导体科技有限公司 | 一种数据存储保护方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130173855A1 (en) * | 2012-01-03 | 2013-07-04 | Samsung Electronics Co., Ltd. | Method of operating storage device including volatile memory and nonvolatile memory |
CN103221927A (zh) * | 2010-11-24 | 2013-07-24 | 索尼爱立信移动通讯有限公司 | 用于电子设备的可动态配置的嵌入式闪存 |
CN103488578A (zh) * | 2012-12-28 | 2014-01-01 | 晶天电子(深圳)有限公司 | 虚拟存储设备(vmd)应用/驱动器 |
CN104347104A (zh) * | 2013-07-26 | 2015-02-11 | 艾弗伦茨科技公司 | 一种大容量存储设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102301369B (zh) * | 2011-05-30 | 2013-06-05 | 华为终端有限公司 | 数据存储设备访问方法及装置 |
CN102799484B (zh) * | 2012-07-11 | 2017-11-03 | 中兴通讯股份有限公司 | 移动终端运行多操作系统的方法及装置 |
KR101919903B1 (ko) * | 2012-09-14 | 2018-11-19 | 삼성전자 주식회사 | 임베디드 멀티미디어 카드, 이를 제어하는 호스트, 및 이들의 동작 방법 |
CN103280238B (zh) * | 2013-06-27 | 2017-02-08 | 山东量子科学技术研究院有限公司 | 基于FPGA的eMMC控制器及其工作方法 |
-
2015
- 2015-04-27 CN CN201510204376.9A patent/CN106155580B/zh active Active
-
2016
- 2016-04-22 WO PCT/CN2016/080077 patent/WO2016173470A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103221927A (zh) * | 2010-11-24 | 2013-07-24 | 索尼爱立信移动通讯有限公司 | 用于电子设备的可动态配置的嵌入式闪存 |
US20130173855A1 (en) * | 2012-01-03 | 2013-07-04 | Samsung Electronics Co., Ltd. | Method of operating storage device including volatile memory and nonvolatile memory |
CN103488578A (zh) * | 2012-12-28 | 2014-01-01 | 晶天电子(深圳)有限公司 | 虚拟存储设备(vmd)应用/驱动器 |
CN104347104A (zh) * | 2013-07-26 | 2015-02-11 | 艾弗伦茨科技公司 | 一种大容量存储设备 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110289039A (zh) * | 2018-03-19 | 2019-09-27 | 北京兆易创新科技股份有限公司 | 一种eMMC的调试方法和装置 |
CN110289039B (zh) * | 2018-03-19 | 2021-07-27 | 北京兆易创新科技股份有限公司 | 一种eMMC的调试方法和装置 |
CN108513197A (zh) * | 2018-04-11 | 2018-09-07 | 四川斐讯信息技术有限公司 | 一种智能耳机的数据存储系统及数据存储方法 |
CN108595123A (zh) * | 2018-04-26 | 2018-09-28 | 青岛海信移动通信技术股份有限公司 | 移动终端的数据存储方法及装置 |
CN109324762A (zh) * | 2018-10-11 | 2019-02-12 | 郑州云海信息技术有限公司 | 一种存储系统的构建方法、装置、设备及存储介质 |
CN114489487A (zh) * | 2021-12-29 | 2022-05-13 | 深圳星火半导体科技有限公司 | 一种数据存储保护方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106155580B (zh) | 2019-04-12 |
WO2016173470A1 (zh) | 2016-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9645895B2 (en) | Data storage device and flash memory control method | |
US9239785B2 (en) | Stochastic block allocation for improved wear leveling | |
CN106155580A (zh) | 一种基于嵌入式多媒体卡eMMC的存储方法及系统 | |
US9037824B2 (en) | Password accessible microelectronic memory | |
US9582416B2 (en) | Data erasing method, memory control circuit unit and memory storage apparatus | |
US9619380B2 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
CN103578552A (zh) | 用可变存储单元状态定义的非易失性存储器件和操作方法 | |
US8478963B2 (en) | Method of dynamically switching partitions, memory card controller and memory card storage system | |
CN104715796A (zh) | 多位存储单元非易失性存储器的写入方法及系统 | |
CN104239096A (zh) | Android系统实现安全数据区的方法及装置 | |
CN108052287A (zh) | 一种非易失性存储器的分区数据管理方法、机顶盒及介质 | |
CN107402719B (zh) | 可用于数据储存装置的数据储存方法与数据回复方法、以及采用这些方法的数据储存装置 | |
CN106775474A (zh) | 一种Nand Flash磨损均衡方法、装置及存储器 | |
CN103996412A (zh) | 一种用于智能卡非易失性存储器的掉电保护方法 | |
US20110055430A1 (en) | Method for establishing a communication channel between a host device and a memory device, associated memory device and controller thereof, and associated host device and host device application | |
CN104834477A (zh) | 基于闪存的数据写入方法和装置 | |
CN109521944A (zh) | 数据储存装置以及数据储存方法 | |
CN115437580B (zh) | 一种数据存储设备的管理方法、系统及数据存储设备 | |
CN107958690B (zh) | 数据存储装置及其操作方法 | |
CN105988950B (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
US10176876B2 (en) | Memory control method and apparatus for programming and erasing areas | |
TW201110126A (en) | Method for managing a plurality of blocks of a flash memory, and associated memory device and controller thereof | |
CN103106148B (zh) | 区块管理方法、存储器控制器与存储器存储装置 | |
US11016914B2 (en) | Data processing system including memory systems coupled through internal channel | |
CN105718328B (zh) | 存储器坏区的数据备份方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |