本发明专利技术公开了一种用于数据存储的方法,该方法包括保持用于在存储设备中读出的推测性读出模式的定义,其中该存储设备被请求以读取具有数据单元尺寸的数据单元,并且作为响应,该存储设备检索包含数据单元并且具有大于数据单元尺寸的存储页面尺寸的存储页面,并保留该存储页面以为后续请求作准备。协调对推测性读出模式的激活。使用推测性读出模式来执行读出命令。
【技术实现步骤摘要】
【国外来华专利技术】
本专利技术整体涉及数据存储,并且更具体地涉及用于对被存储在非易失性存储器中的数据进行预取的方法和系统。
技术介绍
一些计算系统采用虚拟存储器(VM)技术,该虚拟存储器技术使用快速但小的易失性存储器以及大的但较慢的非易失性存储器。例如在一些移动计算设备和通信设备中,设备操作系统(OS)包括与固态驱动器(SSD)共同操作设备随机存取存储器(RAM)的VM模块。在本领域中已知使用VM的多种方法。例如,美国专利8,429,377描述了一种对存储器进行存取的系统和方法,该美国专利的公开内容以引用方式并入本文。该系统包括以虚拟地址发布对存储页面的请求的处理器设备、和用于存储一个或多个页表项的查找缓冲器,其中页表项中的每个页表项至少包括虚拟页号和物理页号。该系统还包括逻辑电路,该逻辑电路接收来自处理器的虚拟地址,并将该虚拟地址匹配到页表项中的一个页表项中的虚拟页号,以选择同一页表项中的物理页号。该页表项包括被设置为从页面中排除一个存储器范围的一个或多个位。在“Key-Study to Execute Code Using Demand Paging and NAND Flashat Smart Card Scale,”(智能卡研究和高级应用,第9届IFIP WG 8.8/11.2国际会议论文集第102-117页,CARDIS 2010,2010年4月德国帕绍)中,Geoffroy等人讨论了在小至智能卡或传感器的系统中嵌入多个应用程序所涉及的限制,该文献以引用方式并入本文。这些系统的物理限制(诸如非常小的主存储器)以及其制造成本使其实现起来非常困难。在这个研究中提出的一个解决方案是从较廉价的、较密集、但较慢的辅助存储器(诸如NAND闪存)执行代码。
技术实现思路
本专利技术的一个实施方案提供了一种方法,该方法包括保持用于在存储设备中读出的推测性读出模式的定义,其中该存储设备被请求以读取具有数据单元尺寸的数据单元,并且作为响应,该存储设备检索包含数据单元并且具有大于数据单元尺寸的存储页面尺寸的存储页面,并保留该存储页面以为后续请求作准备。协调对推测性读出模式的激活。使用推测性读出模式来执行读出命令。在一些实施方案中,协调激活包括在存储设备中接收用于读取单个数据单元的命令,并且执行读出命令包括从所保留的存储页面读取单个数据单元。在其他实施方案中,执行读出命令包括在检测到单个数据单元不在所保留的存储页面中时报告错误事件。在另外的实施方案中,执行读出命令进一步包括在所保留的存储页面中的所有数据单元已被请求之后丢弃所保留的存储页面。在一个实施方案中,执行读出命令包括在存储设备中接收用于读取所保留的存储页面中的给定数据单元的请求,并且从所保留的存储页面返回给定数据单元和所有连续数据单元。在另一个实施方案中,协调激活包括从存储设备报告存储页面尺寸。在另外一个实施方案中,该方法进一步包括在存储设备中接收用于存储尺寸等于存储页面尺寸的数据的写入命令,并且对齐存储设备的页边界来存储数据。根据本专利技术,还提供了一种存储设备,该存储设备包括非易失性存储器和处理器。该处理器被配置为保持推测性读出模式的定义,其中该存储设备被请求以读取具有数据单元尺寸的数据单元,并且作为响应,该存储设备从非易失性存储器检索包含数据单元并且具有大于数据单元尺寸的存储页面尺寸的存储页面,并保留存储页面以为后续请求作准备;协调对推测性读出模式的激活;以及使用推测性读出模式来执行读出命令。结合附图从下文中对本专利技术的实施方案的详细描述将更完全地理解本专利技术,在附图中:附图说明图1是示意性地示出了根据本专利技术的实施方案的存储系统的框图;图2-4是示意性地示出作为推测性预取的一部分的数据高速缓存和读取的示意图;图5是示意性地示出了根据本专利技术的实施方案的用于通过对齐页边界存储数据来实现推测性数据预取的方法的流程图;图6是示意性地示出根据本专利技术的实施方案的用于减小应用程序的启动持续时间的方法的流程图。具体实施方式概述本文所述的本专利技术的实施方案提供了用于虚拟存储器(VM)操作的改进的方法和系统。在许多存储系统中,操作系统(OS)在主机的易失性存储器(在本文中被称为“本地存储器”)中针对给定过程而分配的空间不足以包括该过程的完整的代码和数据。这种情形例如可能在本地存储器的总存储空间小于过程所需要的空间时或者在OS同时运行多个过程时发生。在一些实施方案中,该OS包括针对在本地存储器中运行的过程而管理存储器的虚拟存储器(VM)子系统。在本文所述的实施方案中,该VM管理本地存储器和大的非易失性存储器诸如基于闪存的固态驱动器(SSD)。该VM使得过程能够使用比由OS针对该过程分配的空间大的存储器空间。偶尔,过程可能试图访问当前本地不可用的数据。此类事件被称为页面故障事件。该VM通常通过从SSD预取所涉及的数据来对页面故障作出响应。该VM在本文中被称为数据区块或数据单元的单元中访问SSD中的数据。在检测到页面故障(或接收到页面故障指示)时,该VM通过请求相应的未命中数据所属的数据区块(也被称为未命中区块)来从SSD预取未命中数据。在一些实施方案中,为了提高对未命中数据的访问速率,该VM可被配置为除了预取未命中区块之外还预取一个或多个连续数据区块。该操作模式被称为推测性预取。然而,基于SSD的存储系统中的推测性预取可能如下文进一步所述那样是有问题的。通常,该OS进一步包括以逻辑结构(诸如文件和目录)管理对数据(例如用户数据或其他数据)的存储的文件系统(FS)子系统。FS将文件存储在SSD中。计算机程序可执行或以其他方式使用一个或多个文件。例
如,应用程序可访问大量小文件,诸如可执行文件和多媒体文件。在执行应用程序时,FS首先将相应的应用文件从SSD上载到本地存储器,并且主机然后从本地存储器执行该应用程序。上载应用程序的文件的过程被称为应用程序启动。由于应用文件应当在执行之前被上载,所以更短的应用程序启动持续时间导致更好的用户体验。在主机中,该OS的VM子系统和FS子系统通常以连续逻辑地址空间来管理存储器。该SSD通常包括以闪存存储器的物理地址来管理存储的SSD控制器。逻辑地址对应于闪存存储器中的数据区块的相应物理地址。该SSD控制器通常保持逻辑地址与物理地址之间的转换表。该SSD控制器以被称为存储页面或简称为页面的单元来将数据存储在SSD中。在一些情况下,该VM(或FS)被配置为预取比SSD的页面尺寸更小的数据区块。换句话讲,该SSD中的页面通常包括多个数据区块,VM可一次请求这些数据区块中的一个数据区块。如下文所述,存储页面与数据区块之间的尺寸不匹配可能会消除推测性预取的潜在优点。在一些实施方案中,该OS以在本文中被称为区块或区段的单元来读取数据。该区块尺寸例如可为512字节或者4千字节(KB)。另一方面,SSD中的数据是以存储页面从闪存存储器写入和检索的,存储页面的尺寸通常大于区块尺寸。示例性页面尺寸包括8KB、16KB、和32KB。在一个实施方案中,响应于页面故障事件,该VM向SSD请求相应的未命中区块(即产生页面故障的未命中数据所属的区块)。原则上,该VM可通过除了未命中区块之外还请求一个或多个连续区块来执行推测性预取。然而,该预取操作不会提高访问未命中数据的速率,因为对于每个本文档来自技高网...
【技术保护点】
一种用于数据存储的方法,包括:保持用于在存储设备中读出的推测性读出模式的定义,其中所述存储设备被请求以读取具有数据单元尺寸的数据单元,并且作为响应,所述存储设备检索包含所述数据单元并且具有大于所述数据单元尺寸的存储页面尺寸的存储页面,并保留所述存储页面以为后续请求作准备;协调对所述推测性读出模式的激活;以及使用所述推测性读出模式来执行读出命令。
【技术特征摘要】
【国外来华专利技术】2014.01.07 US 14/148,9101.一种用于数据存储的方法,包括:保持用于在存储设备中读出的推测性读出模式的定义,其中所述存储设备被请求以读取具有数据单元尺寸的数据单元,并且作为响应,所述存储设备检索包含所述数据单元并且具有大于所述数据单元尺寸的存储页面尺寸的存储页面,并保留所述存储页面以为后续请求作准备;协调对所述推测性读出模式的激活;以及使用所述推测性读出模式来执行读出命令。2.根据权利要求1所述的方法,其中协调所述激活包括在所述存储设备中接收用于读取单个数据单元的命令,并且其中执行所述读出命令包括从所保留的存储页面读取所述单个数据单元。3.根据权利要求2所述的方法,其中执行所述读出命令包括在检测到所述单个数据单元不在所保留的存储页面中时报告错误事件。4.根据权利要求2所述的方法,其中执行所述读出命令进一步包括在所保留的存储页面中的所有所述数据单元已被请求之后丢弃所保留的存储页面。5.根据权利要求1所述的方法,其中执行所述读出命令包括在所述存储设备中接收用于读取所保留的存储页面中的给定数据单元的请求,并且从所保留的存储页面返回所述给定数据单元和所有连续数据单元。6.根据权利要求1所述的方法,其中协调所述激活包括从所述存储设备报告所述存储页面尺寸。7.根据权利要求1所述的方法,并且包括在所述存储设备中接收用于存储尺寸等于所述存储页面尺寸的数据的写入命令,并且对齐所述存储设备的页边界来存储所述数据。8.一种存储设备,包括:非易失性存储器;和处理器,所述处理器被配置为:保持推测性读出模式的定义,其中所述存储设备被请求以读取具有数据单元尺寸的数据单元,并且作为响应,所述存储设备从所述非易失性存储器检索包...
【专利技术属性】
技术研发人员:C·J·萨考纳,S·奥哈尔沃,
申请(专利权)人:苹果公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。