存储数据访问方法及相关的控制器、设备、主机和系统的制作方法_2

文档序号:9597135阅读:来源:国知局
一种eMMC芯片。该eMMC芯片可 以作为智能终端的内置存储芯片。如图1所示,该存储设备(例如eMMC芯片)包括eMMC 存储控制器110和Nand闪存颗粒120(以下也简称闪存颗粒)。其中,eMMC存储控制器110 包括中央处理器(Central Processing Unit,CPU) 111、随机存取存储器(Random Access Memory,RAM) 112、只读存储器(Read Only Memory,ROM) 113、eMMC 接口 114 和 Nand 接口 115〇
[0040] eMMC接口 114用于与主机Host连接,从而实现存储设备100和主机的连接。通过 eMMC接口 114, Host可以发送eMMC协议规定的命令信息以及该命令信息对应的地址和数 据。本发明实施例中的主机Host可以为终端设备中的处理器,例如智能手机中的CPU等。
[0041] Nand接口 115可以用于连接eMMC存储控制器110与Nand闪存颗粒120,Nand闪 存颗粒120可以有一个或者多个,为了说明方便图中只标识出了一个。具体地,eMMC存储 控制器110可以通过Nand接口 115向Nand闪存颗粒120发送命令信息来完成访问操作。 该访问操作可以为对Nand闪存颗粒120的数据的读操作,写操作,也可以为擦除操作等。
[0042] eMMC存储控制器110可以通过FTL算法管理Nand闪存颗粒120。经过FTL算法 的映射,存储设备100对于主机来说呈现的都是逻辑地址。也就是说,现有技术在主机在访 问时,看不到实际的物理地址。
[0043] 另外,在现有的eMMC芯片的固件中,还会提供垃圾回收(Garbage Collection, GC)和磨损均衡(Wear Leveling,WL)等功能,以提高Nand Flash颗粒的可靠性和寿命。 然而,这些算法在eMMC芯片的使用过程中是自动运行的,主机感知不到。而且,为了降低功 耗,主机在不需要读写存储空间时,会让eMMC芯片进行休眠。在休眠时,上述算法都不会运 行。这样,eMMC芯片没有足够的时间进行GC和WL等操作,使用一段时间之后导致芯片的 性能下降,用户体验变差。而且,主机对eMMC芯片的内部实现不可见,当出现故障时难以定 位。这也是现有eMMC芯片的其他弊端。
[0044] 此外,其他类似的架构也有基于SD (Secure Digital)卡应用,基于SD卡的应用场 景与图1类似,只需要将图1中的eMMC接口换成SD接口,将图1中的eMMC控制器换成SD 控制器即可。
[0045] 实施例一
[0046] 基于上述现有的硬件结构,参见图2,本发明实施例一提供了一种访问存储设备数 据的方法,包括如下步骤:
[0047] S11、位于主机中的软件底层的逻辑地址处理模块接收位于主机中的软件上层的 逻辑地址发送模块发送的逻辑地址;
[0048] 主机在软件层面一般可以包括以下几个部分:最上层是应用,依次往下是文件系 统以及内核。通常,软件底层是指"内核"层,本步骤中的逻辑地址处理模块可以位于内核, 即在主机层面,相比于现有技术,需要修改内核层的代码。相应地,软件上层通常是指"应 用"以及"文件系统"这两层,即逻辑地址发送模块可以指位于应用或者文件系统中用于发 送逻辑地址的软件模块。一般来说,一个相对完善的操作系统都会包括文件系统,用来组织 管理系统中的文件,来自应用层的、用于访问存储设备的请求会先发给文件系统,然后由文 件系统再转发给逻辑地址处理模块,此时,文件系统中用于发送逻辑地址的软件模块就可 以认为是"逻辑地址发送模块"。如果没有文件系统,也可以应用直接发送逻辑地址给逻辑 地址处理模块,则应用中用于发送逻辑地址的模块称为"逻辑地址发送模块"。
[0049] 同时,可以理解的是,软件上层发送逻辑地址的最终目的是为了访问存储设备,为 了达到这个目的,结合不同的访问类型,以及采用的不同的访问协议,实际中,可能还需要 增加其他一些额外的信息来达到最终的目的。例如,采用eMMC协议进行访问时,还需要操 作类型(如读、写)、操作数、长度等一些基本操作信息以及校验位、起始位、结束位等一些 协议定义的信息)。这些都属于本领域技术人员所公知的技术,这里不详细描述,本实施例 中,重点针对逻辑地址相关的处理进行详细说明。
[0050] S12、逻辑地址处理模块判断收到的逻辑地址属于操作系统数据对应的地址还是 属于用户数据对应的地址;
[0051] 本实施例中,主机需要管理存储设备的物理地址空间以及逻辑地址空间,即主机 要知道存储设备有哪些物理地址空间并且需要进行物理地址与逻辑地址之间的映射。同 时,主机还需要对存储设备的物理地址空间进行划分,将其中一部分用于存储操作系统数 据,另一部分存储用户数据。其中,操作数据包括操作系统软件本身的数据以及操作系统在 运行过程中产出的一些数据(如:日志文件、文件系统相关的文件);用户数据是指在安装 完操作系统后,由用户写到存储设备中的数据,典型的如用户安装的一些应用软件,以及这 些应用软件在运行过程中产生的数据。
[0052] 现有技术中,管理存储设备地址空间(包括逻辑地址以及物理地址)是全部由存 储控制器来完成的,本实施例中,相当于让主机也具有这部分的功能,主机和存储控制器各 完成一部分地址转换的功能。主机完成这部分功能的方法跟现有技术中存储控制器完成这 部分功能的方法类似,以存储设备包括16G物理地址空间、主机与存储控制器基于eMMC协 议通信为例,主要包括以下几个步骤:
[0053] S301、主机向存储控制器发送命令(如CMD 6命令)来配置相关的寄存器,定义逻 辑地址空间的范围是〇_2G(对应于操作系统数据);
[0054] S302、存储控制器根据寄存器将一部分物理地址映射到0-2G逻辑地址(由于需要 一部分管理信息,这部分物理地址会大于2G,如2. 5G);
[0055] S303、存储控制器将剩下可用的物理地址空间(如13. 5G,对应于用户数据)的范 围配置到另一相关的寄存器;
[0056] S304、主机读取另一相关的寄存器(如通过CMD 8命令来读取)来知道多少物理 地址可用,并将这些物理地址与逻辑地址进行映射;
[0057] 其中,这部分的配置的具体实现(如命令的具体格式,寄存器的选择等)都是本领 域技术人员所公知的技术,这里不再赘述。同时,本领域技术人员也知道如果基于其他协议 时,可以根据其他协议的特性进行适应性修改,来完成类似的功能。
[0058] 通过上述步骤可以看到,对于逻辑地址为0-2G地址空间,由存储控制器来完成逻 辑地址与物理之间的映射,主机并不参与;即主机只能知道0-2G的逻辑地址,但并不了解 0-2G逻辑地址映射到了哪些物理地址;
[0059] 反之,对于剩下部分的物理地址(如剩下的13. 5G空间),由主机来完成逻辑地址 到物理地址之间的映射,存储控制器并不参与;即主机知道这部分哪些逻辑地址被映射到 了哪些物理地址,但存储控制器并不知道。
[0060] 需要说明的是,本实施例中,并不需要对应用、文件系统等软件模块进行修改,因 此,能够最大化地兼容现有的系统,便于实现。
[0061] S13、当判断逻辑地址属于操作系统数据对应的地址时,将逻辑地址发送给存储控 制器,并向存储控制器发送第一标识信息;
[0062] 这个步骤可简单理解成将逻辑地址"透传"给存储控制器,即逻辑地址处理模块 "不对逻辑地址进行处理",而直接传给了存储控制器。当然,这里的"不对逻辑地址进行处 理"是一个相对的(相比S14中涉及的将逻辑地址转成物理地址的步骤)、并且口语化的概 念,实际当中,严格来说,由于涉及到具体的接口协议,需要调用对应协议中的命令来传递 "逻辑地址",而并不是不进行任何处理后转发,不过由于这个过程是属于基于协议进行标 准化操作的一个过程,并不涉及对真正要传输的数据进行更改,因此,通常这个过程都被认 为是没有更改数据,而是"透传"的一个过程。
[0063] 需要说明的是,上述"命令"可以是一种通信双方用于交互的信息,在有些协议中 可能并不叫命令,而是被称为"报文"、"消息"之类的术语。本领域技术人员都了解这些东 西本质上都是用于按照某些约定的格式进行信息传递,因此,后续涉及基于某种特定协议 进行相互交互的过程(如传递命令或者传递报文,或者传递消息等)在本实施例中就不进 行详述。
[0064] 本步骤中的"第一标识信息"中的"第一"仅用于与其他标识信息进行区分,并不 代表特殊的含义,同理,本实施例中出现的其他含"第一"(如第一物理地址)、"第二"(如 第二物理地址)也都表示类似的含义。
[0065] 此外,还需要说明的是,本步骤中,发送逻辑地址以及发送第一标识信息的两个过 程并不严格按先后顺序执行,可以其中一个先发,另一个后发,或者也可以同时通过一个协 议定义消息或者命令或者报文等形式进行发送。
[0066] S14、当判断逻辑地址属于用户数据对应的地址时,将逻辑地址转换成第二物理地 址后发送给所述存储控制器,并向存储控制器发送第二标识信息;
[0067] 本步骤为跟S13并列的一个分支,当判断属于用户数据对应的地址时,就不能像 S13那样进行"透传",而是将逻辑地址转成第二物理地址后再发送给存储控制器(当然,也 会涉及到步骤13中介绍的基于具体协议的一些标准化的命令的封装、发送等操作)。
[0068] 具体如何转换的方法跟现有技术实现转换的方法类似,本实施例并不对此进行详 细描述。
[0069] 需要说明的是,与S13类似,本步骤中,发送第二物理地
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1