用于多流垃圾收集的方法技术

技术编号:19319616 阅读:17 留言:0更新日期:2018-11-03 10:33
公开了一种固态驱动器(SSD)和用于多流垃圾收集的方法。所述SSD可包括用于数据的存储和用于从主机机器接收请求的主机接口逻辑。SSD还可包括SSD控制器,其响应于所述请求,管理从所述存储中读数据或者将数据写入所述存储。所述SSD控制器可包括:闪存转换层,其将逻辑地址转换为物理地址;垃圾收集逻辑,其在擦除块上执行垃圾收集,所述擦除块包括有效页;流逻辑,其管理有效页中的数据的流特性;以及再流化器逻辑,其基于流特性将有效页分配至新块。

Method for multi stream garbage collection

A solid state driver (SSD) and a method for multi stream garbage collection are disclosed. The SSD can include storage for data and host interface logic for receiving requests from the host machine. SSD may also include an SSD controller that manages to read or write data from the storage in response to the request. The SSD controller may include: a flash conversion layer that converts logical addresses to physical addresses; a garbage collection logic that performs garbage collection on erasure blocks that include valid pages; a flow logic that manages the flow characteristics of data in valid pages; and a reflow logic that will valid pages based on flow characteristics. Assign to new block.

【技术实现步骤摘要】
用于多流垃圾收集的方法相关申请的交叉引用本申请要求于2017年9月21日提交的美国临时专利申请序列No.62/561,674的利益,针对所有目的以引用方式将该申请并入本文。本申请是于2017年6月12日提交的美国专利申请序列No.15/620,814的部分继续申请,该申请要求于2017年4月25日提交的美国临时专利申请序列No.62/490,027的利益,针对所有目的以引用方式将这两项申请并入本文。本申请涉及于2017年4月27日提交现在待审的美国专利申请序列No.15/499,877,其要求于2017年2月13日提交的美国临时专利申请序列No.62/458,566和于2017年3月14日提交的美国临时专利申请序列No.62/471,350的利益;其为于2016年11月4日提交现在待审的美国专利申请序列No.15/344,422的部分继续申请,该专利申请要求于2016年9月2日提交的美国临时专利申请序列No.62/383,302的利益,并且是于2016年5月2日提交现在待审的美国专利申请序列No.15/144,588的部分继续申请,该申请要求于2015年10月22日提交的美国临时专利申请序列No.62/245,100和于2015年7月13日提交的美国临时专利申请序列No.62/192,045的利益;并且其为于2016年4月5日提交现在待审的美国专利申请序列No.15/090,799的部分继续申请,该申请要求于2015年10月22日提交的美国临时专利申请序列No.62/245,100和于2015年7月13日提交的美国临时专利申请序列No.62/192,045的利益,针对所有目的以引用方式将所有这些申请并入本文。本申请涉及于2017年3月14日提交现在待审的美国专利申请序列No.15/458,968,该申请要求于2017年1月20日提交的美国临时专利申请序列No.62/448,958和于2016年10月26日提交的美国临时专利申请序列No.62/413,177的利益,针对所有目的以引用方式将所有这些申请并入本文。本申请涉及于2016年5月27日提交的美国专利申请序列No.15/167,974,该申请要求于2016年3月16日提交的美国临时专利申请序列No.62/309,446的利益,针对所有目的以引用方式将这两个申请并入本文。本申请涉及于2016年5月4日提交现在授权的美国专利申请序列No.15/146,708,该申请要求于2016年3月1日提交的美国临时专利申请序列No.62/302,162的利益,并且是于2016年2月17日提交现在授权的15/046,439的部分继续申请,该申请要求于2015年11月30日提交的美国临时专利申请序列No.62/261,303的利益,针对所有目的以引用方式将所有这些申请并入本文。
本专利技术构思整体涉及存储装置,并且更具体地,涉及提高存储装置中的垃圾收集性能。
技术介绍
多流化是一种创新的固态驱动器(SSD)控制器技术,其通过在同一擦除块中存储相关数据或类似的生存期数据来减少或消除SSD中的垃圾收集。多流化在T10和快速非易失性存储器(NVMe)标准组织中被标准化,并被行业SSD制造商实施。多流化依赖于主机的提示来指示哪些数据写入彼此关联或具有相似的生存期。自动流化是多流化技术的扩展,在SSD或主机中运行的算法分析输入数据写入,并自动确定哪些数据写入相互关联或具有相似的生存期,并相应地分配流。当前的多流化和自动流化的实施的局限在于,每个数据写入的特定流ID不与数据一起写入存储。因此,如果一些数据需要进行垃圾收集,则不知道该数据的原始流ID,因此无法将其与其它数据相关联。还需要一种利用多流化或自动流化来提高存储装置中垃圾收集的性能的方法。
技术实现思路
示例实施例提供了一种固态驱动器(SSD),其可包括用于数据的存储和用于从主机机器接收输入/输出(I/O)请求的主机接口逻辑。所述SSD还可包括SSD控制器,其响应于所述I/O请求管理从所述存储中读数据或者将数据写入所述存储。所述SSD控制器可包括闪存转换层、垃圾收集逻辑、流逻辑和再流化器逻辑。闪存转换层可将I/O请求中的逻辑地址转换为存储中的物理地址。垃圾收集逻辑可在擦除块上执行垃圾收集,擦除块包括含有效数据的有效页。流逻辑可管理在I/O请求中写入到所述存储的有效数据的流特性。再流化器逻辑可响应于有效数据的流特性将有效页分配至新块。另一示例实施例提供了一种方法,其可包括以下步骤:识别用于垃圾收集的固态驱动器(SSD)中的擦除块;识别擦除块中的含有效数据的有效页;确定有效页的流特性,所述流特性存储在SSD上;以及利用所述流特性将有效页编程至SSD中的新块。又一示例实施例提供了一种方法,其可包括以下步骤:从主机机器接收数据;利用用于所述数据的流ID选择用于写入数据的块;将数据写入所述块中的有效页中;以及存储与用于所述数据的流ID关联的流特性。附图说明图1示出了根据本专利技术构思的实施例的能够支持垃圾收集多流化方法的固态驱动器(SSD)的机器。图2示出了图1的机器的额外细节。图3示出了向图1的SSD发送输入/输出(I/O)请求的图1的机器。图4示出了图1的SSD的细节。图5示出了图1的SSD中的存储页面和存储块。图6示出了可存储在图1的SSD中的流的流特性的细节。图7示出了图4的闪存转换层中的物理块地址表的逻辑块地址。图8示出了图4的流逻辑的细节。图9示出了图4的再流化器逻辑的细节。图10A-图10C示出了根据本专利技术构思的实施例的向图1的SSD写入数据和存储流信息的示例程序的流程图。图11示出了根据本专利技术构思的实施例的在对图1的SSD执行垃圾收集并对有效页编程时使用存储的流信息的示例程序的流程图。图12示出了根据本专利技术构思的实施例的确定用于在垃圾收集期间被编程的图1的SSD中的有效页的流标识符(ID)的示例程序的流程图。图13示出了根据本专利技术构思的实施例的用于在垃圾收集期间用于在图1中的SSD中对有效页编程的流中读取流特性的示例程序的流程图。具体实施方式现在将详细介绍本专利技术构思的实施例,其示例在附图中示出。在下面的详细描述中,列出了许多特定细节,以便能够透彻理解本专利技术构思。然而,应当理解,本领域普通技术人员可在没有这些具体细节的情况下实施本专利技术构思。在其他情况下,不详细描述熟知的方法、程序、组件、电路和网络,以免使实施例的各方面不必要地模糊。应该理解的是,虽然本文可以使用术语第一、第二等来描述各个元件,但这些元件不应受到这些术语的限制。这些术语仅用于将一个元件于另一个进行区分。例如,第一模块可被称为第二模块,类似地,第二模块可被称为第一模块,而不脱离本专利技术构思的范围。本文中本专利技术构思的描述中使用的术语仅用于描述特定实施例,而不旨在限制本专利技术构思。如在本专利技术构思的描述和权利要求中所用的,除非上下文另有明确说明,否则单数形式也旨在包括复数形式。还应理解,本文所用的术语“和/或”指代并涵盖一个或多个相关联的列出项目的任意和所有可能的组合。还应该理解,术语“包括”、“包含”当用于本说明书中时,指明存在所列特征、整体、步骤、操作、元件和/或组件,但不排除存在或增加一个或多个其它特征、整体、步骤、操作、元件、组件和/或它们的组。附图的组件本文档来自技高网
...

【技术保护点】
1.一种固态驱动器,包括:用于数据的存储;主机接口逻辑,其用于从主机机器接收输入/输出请求;以及固态驱动器控制器,其响应于所述输入/输出请求来管理从所述存储中读取数据或者将数据写入所述存储,所述固态驱动器控制器包括:闪存转换层,其将所述输入/输出请求中的逻辑地址转换为所述存储中的物理地址;垃圾收集逻辑,其在擦除块上执行垃圾收集,所述擦除块包括含有效数据的有效页;流逻辑,其管理在所述输入/输出请求中写入到所述存储的所述有效数据的流特性;以及再流化器逻辑,其响应于所述有效数据的流特性将有效页分配至新块。

【技术特征摘要】
2017.04.25 US 62/490,027;2017.06.12 US 15/620,814;1.一种固态驱动器,包括:用于数据的存储;主机接口逻辑,其用于从主机机器接收输入/输出请求;以及固态驱动器控制器,其响应于所述输入/输出请求来管理从所述存储中读取数据或者将数据写入所述存储,所述固态驱动器控制器包括:闪存转换层,其将所述输入/输出请求中的逻辑地址转换为所述存储中的物理地址;垃圾收集逻辑,其在擦除块上执行垃圾收集,所述擦除块包括含有效数据的有效页;流逻辑,其管理在所述输入/输出请求中写入到所述存储的所述有效数据的流特性;以及再流化器逻辑,其响应于所述有效数据的流特性将有效页分配至新块。2.根据权利要求1所述的固态驱动器,其中:所述流逻辑包括逻辑块地址-流标识符表,其用于将与所述有效数据关联的逻辑地址映射至流标识符;并且所述再流化器逻辑操作以响应于所述流标识符将所述有效页分配至所述新块。3.根据权利要求2所述的固态驱动器,其中,所述逻辑块地址-流标识符表包括块体-流标识符表,其用于将关于与所述有效数据关联的逻辑地址的块体映射至流标识符。4.根据权利要求1所述的固态驱动器,其中,所述再流化器逻辑操作以读取所述擦除块中的流页中的流特性。5.根据权利要求1所述的固态驱动器,其中,所述流逻辑包括缓存器,在所述擦除块被充满之前,所述缓存器存储与所述流标识符关联的流特性。6.根据权利要求5所述的固态驱动器,其中,所述缓存器操作以针对所述擦除块中的页存储与多个流标识符关联的多个流特性。7.根据权利要求6所述的固态驱动器,其中,流页将所述擦除块中的页映射至所述多个流标识符中的至少一个。8.根据权利要求1所述的固态驱动器,其中:所述再流化器逻辑包括损耗级别确定器,其用于确定多个新块的多个损耗级别;并且所述再流化器逻辑操作以响应于所述有效数据的流特性和所述多个新块的所述多个损耗级别将所述有效页分配至所述新块。9.一种用于多流垃圾收集的方法,包括以下步骤:识别用于垃圾收集的固态驱动器中的擦除块;识别所述擦除块中的含有效数据的有效页;确定所述有效页的流特性,所述流特性存储在所述固态驱动器上;以及利用所述流特性将所述有效页编程至所述固态驱动器中的新块。10.根据权利要求9所述的方法,其中:确定所述有效页的流特性,所述流特性存储在所述固态驱...

【专利技术属性】
技术研发人员:斯蒂芬·菲舍尔崔昌晧杰森·马蒂诺拉吉尼坎斯·潘杜拉安甘
申请(专利权)人:三星电子株式会社
类型:发明
国别省市:韩国,KR

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

1