当前位置: 首页 > 专利查询>LSI公司专利>正文

用于改进的固态介质顺序读的动态映射预取制造技术

技术编号:11169384 阅读:156 留言:0更新日期:2015-03-19 04:15
本发明专利技术涉及用于改进的固态介质顺序读的动态映射预取。所描述的实施例提供了包括介质控制器和固态介质的固态驱动器(SSD)。介质控制器的控制处理器确定与从主机设备接收的读请求相关联的逻辑地址、传输大小和基于逻辑地址和传输大小的映射数据。基于逻辑地址和根据一个或多个先前的读请求而定义的顺序区,控制处理器确定所接收的读请求是否是顺序读。基于所接收的读请求的传输大小和所接收的读请求是否是顺序读而调整映射数据预取大小。映射数据的相对应部分从固态介质传输到耦合于控制处理器的映射高速缓存,所传输的部分的大小等于经调整的映射数据预取大小。

【技术实现步骤摘要】
用于改进的固态介质顺序读的动态映射预取 相关申请的交叉引用 本申请是2013年9月10日提交的美国专利申请第14/022781号的部分接续并要 求其申请日的权益,该申请的教示通过引用整体结合于此。 本申请的主题相关于2012年5月4日提交的美国专利申请第13/464433号、2012 年8月4日提交的第13/567025号、2012年8月31日提交的第13/600464号、2012年12 月28日提交的第13/729966号、2013年1月23日提交的第13/748260号和2013年8月9 日提交的第13/963074号,所有这些申请的教示通过引用整体结合于此。
技术介绍
快闪(Flash)存储器是一种特定类型的电可擦除可编程只读存储器(EEPROM)的 非易失性存储器(NVM)。一类普遍采用的快闪存储器技术是NAND快闪存储器。NAND快闪 存储器要求每单元小芯片面积,并通常划分成一个或多个库(bank)或层(plane)。每个库 划分成区块(block);每个区块划分成页(page)。每个页包括用于存储用户数据、错误更正 码(ECC)信息或者二者的数个字节。 NAND设备有三种基本操作:读、写和擦除。读和写操作是在逐页的基础上执行的。 页大小一般是2N字节的用户数据(加上用于ECC信息的附加字节),其中N是整数,典型的用 户数据页大小是例如每页2048字节(2KB)、4096字节(4KB)、8192字节(8KB)或更多。读 单元是可以从NVM读取并由ECC更正的最小量的数据和相对应的ECC信息,并通常可以在 4K位和32K位之间(例如,一般每页有整数数量的读单元)。页通常安排在区块中,并且擦 除操作是在逐区块的基础上执行的。典型的区块大小是例如每区块64、128或更多页。页 必须顺序地写,通常是在区块内从低地址到高地址。直到区块被擦除才能重写较低的地址。 与每个页相关联的是一般用于存储ECC信息和/或用于存储器管理的其它元数据的空闲区 域(通常是100-640字节XECC信息一般用来检测和更正存储在页中的用户数据中的错误。 硬盘由主机设备基于逻辑区块地址(LBA)访问。对于硬盘写操作,老数据由新数 据在同一物理LBA盖写。NVM是基于逻辑页号(LPN)访问的。然而,由于NAND设备要求在 将新数据写到区块之前擦除该区块的数据,每个页通常仅可以写一次。因此,对于NAND设 备,为了将新数据写到给定LBA,新数据是写到经擦除的页中,该经擦除的页是与先前用于 该LBA的页不同的物理页。因此,NAND设备要求设备驱动器软件或带固件的单独的控制器 芯片以维护每个LBA到存储它的数据的当前页号的逻辑到物理映射的记录。映射数据也可 以用来执行垃圾收集以擦除陈旧或过时的数据。而且,因为在设备故障之前NVM块 仅可以被擦除有限次,映射数据也可以用来在NVM的操作寿命内(例如,在NAND快闪的额定 数量的编程/擦除(P/E)周期内)跟踪故障区块。 对于将映射数据存储在NVM的SSD,从NVM检索映射数据可以在典型主机工作负载 下频繁发生,并且因此,当信道(多个)被用于传输映射数据时,会负面地影响可用来向/从 NVM传输实际用户数据的带宽。因此,需要用于从NVM检索映射数据的改进机制。
技术实现思路
提供本概述以便以简化的形式介绍将在以下详细描述中进一步描述的一些概念。 本
技术实现思路
并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要 求保护主题的范围。 所描述实施例提供了包括介质控制器和固态介质的固态驱动器(SSD )。介质控制 器的控制处理器确定与从主机设备接收的读请求相关联的逻辑地址、传输大小和基于所确 定的逻辑地址和传输大小的映射数据。基于所确定的逻辑地址和根据一个或多个先前的读 请求而定义的顺序区,控制处理器确定所接收的读请求是否是顺序读请求。基于所接收的 读请求的传输大小和所接收的读请求是否是顺序读请求而调整映射数据预取大小。映射数 据的相对应部分从固态介质传输到耦合于控制处理器的映射高速缓存,所传输的部分的大 小等于经调整的映射数据预取大小。基于映射数据,确定与逻辑地址和传输大小相关联的 固态介质的介质地址,且将用户数据从介质地址传输到主机设备。 附图简述 所描述实施例的其它方面、特征和优点将通过以下【具体实施方式】、所附的权利要 求书和附图而变得更加显而易见,附图中类似的附图标记标识相似或相同的元素。 图1示出了根据示例性实施例的快闪存储器存储系统的框图; 图2示出了图1的快闪存储器存储系统的逻辑区块号(LBA)的逻辑页号(LPN)部 分的示例性映射的框图; 图3示出了图1的快闪存储器存储系统的示例性两级映射结构的框图; 图4示出了由图1的快闪存储器存储系统采用的主机读请求操作的示例性流程 图; 图5示出了图4的主机读请求操作的顺序操作检测步骤的附加细节; 图6示出了根据图4的采用固定的映射数据读大小的读请求操作的示例性时序 图;以及 图7示出了根据图4的采用动态调整大小的映射数据读大小的读请求操作的示例 性时序。 【具体实施方式】 所描述实施例提供了包括介质控制器和固态介质的固态驱动器(SSD )。介质控制 器的控制处理器确定与从主机设备接收的读请求相关联的逻辑地址、传输大小和基于所确 定的逻辑地址和传输大小的映射数据。基于所确定的逻辑地址和根据一个或多个先前的读 请求而定义的顺序区,控制处理器确定所接收的读请求是否是顺序读请求。基于所接收的 读请求的传输大小和所接收的读请求是否是顺序读请求而调整映射数据预取大小。映射数 据的相对应部分从固态介质传输到耦合于控制处理器的映射高速缓存,所传输的部分的大 小等于经调整的映射数据预取大小。基于映射数据,确定与逻辑地址和传输大小相关联的 固态介质的介质地址,且将用户数据从介质地址传输到主机设备。 表1定义了贯穿本说明书所采用的缩写的列表,以帮助理解所述实施例:本文档来自技高网
...

【技术保护点】
一种固态驱动器(SSD),所述固态驱动器包括媒体控制器和固态介质,所述介质控制器与主机设备通信,所述介质控制器包括:映射高速缓存;控制处理器,所述控制处理器耦合到所述映射高速缓存并被配置为:确定与从所述主机设备接收的当前读请求相关联的逻辑地址、传输大小和基于所述经确定的逻辑地址和传输大小的映射数据;基于所述经确定的逻辑地址和根据一个或多个先前的读请求而定义的顺序区,确定所述当前读请求是否是顺序读请求;基于所述当前读请求的所述传输大小和所述当前读请求是否是顺序读请求,调整映射数据预取大小;将所述映射数据的相对应部分从所述固态介质传输到所述映射高速缓存,所传输的部分的大小等于所述经调整的映射数据预取大小;基于所述相对应的映射数据,确定与所确定的逻辑地址和传输大小相关联的所述固态介质的一个或多个介质地址;以及将用户数据从所述固态介质的所述一个或多个经确定的介质地址传输到所述主机设备。

【技术特征摘要】
2013.09.10 US 14/022,781;2013.12.03 US 14/094,8461. 一种固态驱动器(SSD),所述固态驱动器包括媒体控制器和固态介质,所述介质控 制器与主机设备通信,所述介质控制器包括: 映射高速缓存; 控制处理器,所述控制处理器耦合到所述映射高速缓存并被配置为: 确定与从所述主机设备接收的当前读请求相关联的逻辑地址、传输大小和基于所述经 确定的逻辑地址和传输大小的映射数据; 基于所述经确定的逻辑地址和根据一个或多个先前的读请求而定义的顺序区,确定所 述当前读请求是否是顺序读请求; 基于所述当前读请求的所述传输大小和所述当前读请求是否是顺序读请求,调整映射 数据预取大小; 将所述映射数据的相对应部分从所述固态介质传输到所述映射高速缓存,所传输的部 分的大小等于所述经调整的映射数据预取大小; 基于所述相对应的映射数据,确定与所确定的逻辑地址和传输大小相关联的所述固态 介质的一个或多个介质地址;以及 将用户数据从所述固态介质的所述一个或多个经确定的介质地址传输到所述主机设 备。2. 如权利要求1所述的介质控制器,其特征在于,为了调整所述映射数据预取大小,所 述控制处理器被配置为: 当所述当前读请求是顺序读请求时: 通过将所述当前读请求的所述传输大小和所述一个或多个先前的读请求的聚集传输 大小相累积,更新所述顺序读请求的聚集传输大小;以及 将所述映射数据预取大小设为等于所述聚集传输大小,以减少所述固态介质和处理所 述顺序读请求的所述映射高速缓存之间的数个映射数据传输。3. 如权利要求2所述的介质控制器,其特征在于,通过将所述映射数据预取大小设为 等于所述聚集传输大小,所述媒体控制器被配置为达到至少10%的数据吞吐量的增加。4. 如权利要求1所述的介质控制器,其特征在于,为了调整所述映射数据预取大小,所 述控制处理器被配置为: 当所述当前读请求是非顺序读请求时: 将所述映射数据预取大小设为等于基于所述当前读请求的所述传输大小的预定义的 大小,以减少在所述固态介质和处理所述当前读请求的所述映射高速缓存之间传输的映射 数据的量。5. 如权利要求4所述的介质控制器,其特征在于,所述预定义的大小包括处理所述当 前读请求的整个传输大小所需要的最小量的数据。6. 如权利要求1所述的介质控制器,其特征在于,为了将包括所述相对应的映射数据 的映射数据从所述固态介质传输到所述介质控制器的映射高速缓存,所述介质控制器被配 置为: 基于所述至少一个逻辑地址和传输大小,确定所述相对应的映射数据是否存储在所述 映射高速缓存中; 如果所要求的映射数据是存储在所述映射高速缓存中,则所述映射高速缓存被配置为 将存储所要求的映射数据的映射高速缓存条目的高速缓存索引返回给所述控制处理器。7. 如权利要求6所述的介质控制器,其特征在于,如果所述相对应的映射数据不是存 储在所述映射高速缓存中,则所述控制处理器被配置为: 分配所述映射高速缓存中的数个条目以存储所述相对应的映射数据,所分配的条目的 数量是基于所述经调整的映射数据预取大小; 将包括所述相对应的映射数据的映射数据从所述固态介质的逻辑单元传输到所述固 态介质的本地高速缓存,所述传输的大小等于所述经调整的映射数据预取大小;以及 将包括所述相对应的映射数据的映射数据从所述固态介质的本地高速缓存传输到所 述介质控制器的所述映射高速缓存,所述传输的大小等于所述经调整的映射数据预取大 小。8. 如权利要求1所述的介质控制器,其特征在于,为了将用户数据从所述固态介质的 所述一个或多个介质地址传输到所述主机设备,所述介质控制器被配置为: 将所述用户数据从所述固态介质的逻辑单元中的所述介质地址传输到所述固态介质 的本地高速缓存; 将所述用户数据从所述固态介质的所述本地高速缓存传输到所述介质控制器的缓冲 器;以及 形成一个或多个主机协议分组,以通过根据所述主机协议操作的通信链接将所述用户 数据从所述缓冲器传输到所述主机设备。9. 如权利要求8所述的介质控制器,其特征在于,所述介质控制器被配置为: 当读请求的全部所述用户数据被传输到所述主机设备时,向所述主机设备报告所述读 请求的完成。10. 如权利要求1所述的介质控制器,其特征在于,所述控制处理器被配置为: 确定是否从所述主机设备接收到后续读请求;以及 将所述后续读请求作为所述当前读请求处理。11. 如权利要求1所述的介质控制器,其特征在于,所述映射数据包括具有多个叶级映 射页的多级映射,所述多个叶级映射页存储在所述固态介质中,每个叶级映射页包括多个 映射条目,每个条目与所述固态介质的一个或多个物理地址相关联。12. 如权利要求1所述的介质控制器,其特征在于,所述映射数据包括多级映射,所述 多级映射包括: 第二级映射,所述第二级映射具有多个第二级映射页,所述第二级映射页的每一个具 有多个条目,每个条目被配置为存储所述固态介质的一个物理地址;以及 第一级映射,所述第一级映射具有多个条目,每个条目与一个第二级映射页相关联,所 述第一级映射被配置为将所述至少一个逻辑地址和地址范围与所述第二级映射页的至少 一个相关联。13. 如权利要求1所述的介质控制器,其特征在于,所述顺序区是基于所述一个或多个 先前的读请求而定义的,并且如果所述当前读请求的所述经确定的逻辑地址在所述一个或 多个先前的读请求的所述逻辑地址范围内,则所述当前读请求在所述顺序区内。14. 如权利要求1所述的介质控制器,其特征在于,所述介质控制器被实现为片上系统 (SoC)。15. -种由包括介质控制器和固态介质的固态驱动器(SSD)处理从主机设备接收的请 求的方法,所述方法包括: 由所述介质控制器的控制处理器确定与从所述主机设备接收的当前读请求相关联的 逻辑地址、传输大小和基于所述经确定的逻辑...

【专利技术属性】
技术研发人员:L·巴瑞乌丁张志青宋欣谭云顺陈林峰
申请(专利权)人:LSI公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1