用于高性能和低成本的闪存转换层的系统和方法

文档序号:9620835阅读:342来源:国知局
用于高性能和低成本的闪存转换层的系统和方法
【专利说明】用于高性能和低成本的闪存转换层的系统和方法
【背景技术】
[0001] 对托管闪存的性能的要求越来越高。诸如智能电话、平板设备和游戏设备之类 的紧凑型消费性电子产品要求低成本和低功率的存储解决方案。托管的否定与或与非 (negated AND or NOT AND,NAND)闪存设备的示例包括嵌入式多媒体卡(eMMC)、通用闪存 (UFS)、外部串行高级技术附件(eSATA)、球栅阵列(BGA)SATA、通用串行总线(USB)驱动器、 安全数字(SD)卡、通用用户识别模块(USIM)卡和紧凑型闪存卡。NAND设备在移动应用中 非常普及,这是因为它们是低成本和低功率的。
[0002] 现有的托管NAND闪存设备依赖于NAND闪存内包含的大型文件转换层(FTL)表, 并且只将这些表中的一小部分高速缓存在片上静态随机存取存储器(SRAM)中。对托管 NAND设备的读取和写入存取操作包括逻辑地址,必须使用来自FTL表的信息将所述逻辑地 址转换到物理NAND地址。当从NAND存储器读取FTL表条目时,将导致较长时间的延迟(具 有数十微秒的量级),这使得这些类型的存储装置的整体性能下降。因而,NAND存储器设备 的低成本和低功耗的损失是存储器存取时间性能的下降。

【发明内容】

[0003] 各个方面的方法和系统提供了提高闪存设备的闪存转换层(FTL)的性能,其包 括:通过闪存设备将该闪存设备的FTL表的副本存储在主机设备的易失性存储器中;通过 闪存设备接收对于主机设备的易失性存储器中存储的FTL表的副本的存取权限;以及作为 读取操作和写入操作中的至少一个操作的一部分,通过闪存设备存取主机设备的易失性存 储器中存储的闪存设备的FTL表的副本。示例性方法还可以包括:在闪存设备中从主机设 备接收针对FTL表的大小的查询;从闪存设备向主机设备返回该FTL表的大小;在主机设 备处,从闪存设备接收该FTL表的大小;以及通过主机设备确定该主机设备的易失性存储 器是否可以存储全部的FTL表。示例性方法还可以包括:通过主机设备对该主机设备的易 失性存储器进行细分,其中,细分部分的大小是基于FTL表的大小的;通过闪存设备接收对 于主机设备的易失性存储器中存储该FTL表的副本的细分部分的直接存储存取读取特权; 以及通过闪存设备接收对于主机设备的易失性存储器中存储该FTL表的副本的细分部分 的直接存储存取写入特权,其中,存储FTL表的副本还包括:通过闪存设备将该FTL表的副 本存储在主机设备的易失性存储器的所述细分部分中。
[0004] 在一个方面,存取FTL表的副本还可以包括:通过闪存设备对通信地连接闪存设 备和主机设备的易失性存储器的通信总线进行总线主控。
[0005] 在一个方面,存取FTL表的副本可以包括:在闪存设备中从主机设备接收针对逻 辑地址的读取操作请求;通过闪存设备发起读取操作;通过闪存设备读取FTL表的副本的 至少一部分;通过闪存设备确定与该逻辑地址相对应的物理地址;通过闪存设备取回位于 该闪存设备的存储器的所述物理地址处的数据;以及通过闪存设备向主机设备返回该数 据。
[0006] 在一个方面,存取FTL表的副本可以包括:通过闪存设备从主机设备接收针对逻 辑地址的写入操作请求;通过闪存设备发起写入操作;通过闪存设备向闪存设备的存储器 的物理地址写入数据;通过闪存设备写入FTL表的副本以更新该FTL表的副本,从而与当写 入该数据时对闪存设备的存储器做出的改变相对应;以及通过闪存设备向主机设备发送写 入操作的完成的通知。示例性方法还可以包括:通过闪存设备读取FTL表的副本的至少一 部分;以及通过闪存设备确定与该逻辑地址相对应的物理地址。示例性方法还可以包括: 通过闪存设备读取闪存设备的SRAM ;以及通过闪存设备确定用于指示闪存设备的存储器 中的空闲存储空间的位置的物理地址。示例性方法还可以包括:通过闪存设备向主机设备 发送用于指示将FTL表的副本存储在主机设备的易失性存储器中的完成的通知。示例性方 法还可以包括:通过闪存设备,基于从包括以下各项的组中选择的参数,利用FTL的副本来 更新闪存设备的FTL表:调度、可用资源、以及写入操作的完成。示例性方法还可以包括:通 过主机设备确定闪存设备是否支持将所述FTL表的副本主机高速缓存在主机设备的易失 性存储器中。示例性方法还可以包括:在主机设备中从闪存设备接收存储FTL表的副本的 完成的通知。
[0007] -个方面包括一种其上存储有处理器可执行软件指令的非暂时性处理器可读存 储介质,该处理器可执行软件指令被配置为使得系统通过执行以下各项操作来提高该系统 的闪存设备的闪存转换层的性能:通过闪存设备将该闪存设备的FTL表的副本存储在主 机设备的易失性存储器中;以及通过闪存设备接收对于主机设备的易失性存储器中存储的 FTL表的副本的存取权限。所存储的指令还可以包括:用于作为读取操作和写入操作中的 至少一个操作的一部分,通过闪存设备存取主机设备的易失性存储器中存储的该闪存设备 的FTL表的副本的指令。该非暂时性处理器可读存储介质上可以存储有被配置为使得系统 执行上面所描述的示例性方法的其它操作的处理器可执行软件指令。
[0008] -个方面包括一种计算系统,该计算系统包括主机设备和闪存设备,该主机设备 具有易失性存储器和耦合到该易失性存储器的第一处理器,其中,该系统通过执行以下各 项操作来提高闪存设备的性能:通过闪存设备将该闪存设备的FTL表的副本存储在主机设 备的易失性存储器中;通过闪存设备接收对于主机设备的易失性存储器中存储的FTL表的 副本的存取权限;以及作为读取操作和写入操作中的至少一个操作的一部分,通过闪存设 备存取主机设备的易失性存储器中存储的该闪存设备的FTL表的副本。
[0009] -个方面包括被配置为提高闪存设备的闪存转换层的性能的系统,该系统包括: 用于通过闪存设备将该闪存设备的FTL表的副本存储在主机设备的易失性存储器中的单 元。该系统还包括:用于通过闪存设备接收对于主机设备的易失性存储器中存储的FTL表 的副本的存取权限的单元;以及用于作为读取操作和写入操作中的至少一个操作的一部 分,通过闪存设备存取主机设备的易失性存储器中存储的该闪存设备的FTL表的副本的单 JL·〇
[0010] 其它方面包括一种配置为耦合到主机设备的闪存设备,该闪存设备包括闪存和耦 合到该闪存的处理器,该闪存被配置为存储包括FTL表的数据,以在逻辑地址和物理地址 之间进行转换时使用,该处理器被配置具有处理器可执行指令,以执行包括以下各项的操 作:将闪存设备的闪存转换层FTL表的副本存储在主机设备的易失性存储器中;接收对于 主机设备的易失性存储器中存储的FTL表的副本的存取权限;以及作为读取操作和写入操 作中的至少一个操作的一部分,存取主机设备的易失性存储器中存储的闪存设备的FTL表 的副本。
[0011] 其它方面包括一种被配置为耦合到主机设备的设备,该设备包括:用于将闪存设 备的FTL表的副本存储在主机设备的易失性存储器中的单元;用于接收对于主机设备的易 失性存储器中存储的FTL表的副本的存取权限的单元;以及用于作为读取操作和写入操作 中的至少一个操作的一部分,存取主机设备的易失性存储器中存储的闪存设备的FTL表的 副本的单元。
[0012] 其它方面包括一种被配置为耦合到闪存设备的主机设备,该主机设备包括易失性 存储器、通信总线和处理器,该通信总线通信地连接主机设备的易失性存储器并被配置为 当耦合到主机设备时与闪存设备进行通信,该处理器被配置具有处理器可执行指令,以执 行包括以下各项的操作:确定闪存设备是否支持将该闪存设备的FTL表的副本主机高速缓 存在易失性存储器中;分配易失性存储器的一部分以存储FTL表的副本;向闪存设备准予 经由通信总线的对于易失性存储器的该部分的直接存储存取读取特权和写入特权。
【附图说明】
[0013] 被并入本文且构成本说明书的一部分的【附图说明】了本发明的示例性方面,并且与 上文给出的概括性描述和下文给出的详细描述一起用于解释本发明的特征。
[0014] 图1是说明了根据一个方面的具有通信地连接到闪存设备的主机设备的系统的 部件框图。
[0015] 图2是适合于与各个方面一起使用的示例性移动设备的部件图。
[0016] 图3是说明了用于初始化FTL主机高速缓存的示例性方法的过程流程图。
[0017] 图4是说明了用于初始化FTL主机高速缓存的示例性方法的过程流程图。
[0018] 图5是说明了用于利用FTL主机高速缓存来执行读取操作的示例性方法的过程流 程图。
[0019] 图6是说明了用于利用FTL主机高速缓存来执行写入操作的示例性方法的过程流 程图。
[0020] 图7是说明了用于初始化FTL主机高速缓存的示例性方法的过程流程图。
[0021] 图8是说明了用于利用FTL主机高速缓存来执行读取操作的示例性方法的过程流 程图。
[0022] 图9是说明了用于利用FTL主机高速缓存来执行写入操作的示例性方法的过程流 程图。
[0023] 图10是说明了用于利用FTL主机高速缓存来执行写入操作的示例性方法的过程 流程图。
【具体实施方式】
[0024] 将参照附图对各个方面进行详细描述。只要可能,将贯穿附图使用相同的附图标 记来指代相同或相似的部分。对特定示例和实施方式的引用是出于举例说明的目的,并不 旨在限制本发明或权利要求的保护范围。
[0025] 本文中使用"示例性"一词意指"用作示例、实例或说明"。本文被描述为"示例性" 的任何实施方式不必被解释为优选的或比其它实施方式更具优势的。
[0026] 本文互换地使用术语"移动计算设备"和"移动设备"指代以下各项的任何一项 或全部:蜂窝电话、智能电话、个人或移动多媒体播放器、个人数据助理(PDA)、膝上型计算 机、平板计算机、智能本、超级本、掌上型计算机、无线电子邮件接收机、具备多媒体互联网 能力的蜂窝电话、无线游戏控制器、以及包括存储器、可编程处理器并在电池供电情形下进 行操作使得功率节省方法有益的类似个人电子设备。对于诸如具有有限的资源并运行在电 池供电之上的智能电话之类的移动计算设备而言,虽然各个方面是特别有用的,但这些方 面通常在兼容于与闪存设备一起使用的任何电子设备中也是有用的。
[0027] 本文的术语"闪存"指代可以进行电擦除和重新编程的电子非易失性计算机存储 装置或存储器。通常,闪存设备架构包括NAND和N0R类型。本文的方面通常涉及NAND类型 架构的闪存设备。闪存可以用于主存储器、存储卡、USB闪存驱动器、固态驱动器和类似产品 中,以进行数据的通常存储和传输。NAND闪存设备的示例包括嵌入式多媒体卡(eMMC)、通 用闪存(UFS)、外部串行高级技术附件(eSATA)、球栅阵列(BGA)SATA、通用串行总线(USB) 驱动器、安全数字(SD)卡、通用用户识别模块(USIM)卡和紧凑型闪存卡。
[0028] 本文的术语"闪存转换层"和"FTL"指代所生成的用于允许闪存设备的控制器将 针对逻辑地址的请求转换成实际闪存芯片中的物理地址的目录结构。该目录结构可以包括 各种数据结构中的任何一种。出于举例的目的,本文将FTL描述成具有表的形式。
[0029] -种用于提高存储器中的转换性能的技术向用于高速缓存整个转换表的固态驱 动器(SSD)或者硬盘驱动器(HDD)添加专用的动态随机存取存储器(DRAM)。由于与NAND 闪存或硬盘驱动存储器相比,可以利用近似更大三(3)个数量级的速度来存取DRAM,因此 这可以提供显著的性能提升。然而,向芯片添加DRAM将增加成本,并消耗大量的待机功率, 这是因为这额外的DRAM必须进行自我刷新以保持内容。一些膝上型计算机SSD采用这种 类型的机制来对转换表进行高速缓存,这是由于这样的计算机通常是功率不受限制的,并 且消费者预期花更多钱购买这样的设备。然而,对于诸如智能电话之类的移动计算设备而 言,具有嵌入式DRAM存储器的NAND闪存的成本增加和增加的功率耗费是明显不利的。
[0030] 各个方面包括被配置为通过使用主机设备的DRAM存储器来存储用于闪存的转换 表,以提高闪存设备操作的性能,同时使该设备的成本和功率耗费最小化的方法、系统和设 备。这可以通过包括与闪存设备进行通信的主机设备的系统来实现,其中,对主机设备和闪 存进行配置,使得闪存设备可以使用主机设备的更快速的存储资源来高速缓存该闪存设备 在对逻辑存储器地址和物理存储器地址之间进行转换时所使用的转换表。
[0031] 在一个方面,主机设备可以准予闪存设备直接存储存取其更快速的存储资源。直 接存储存取可以包括针对更快速存储资源的读取和/或写入特权。闪存设备可以使用这 样的直接存取权限,以将FTL表的副本存储在主机设备的更快速存储资源中。在允许存储 FTL表的
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1