读取操作重定向制造技术

技术编号:21374478 阅读:48 留言:0更新日期:2019-06-15 12:23
示例实现方式涉及读取操作重定向。例如,根据本公开的系统可以包括可由主机访问的数据存储设备。该系统可以包括主机的操作系统的输入/输出过滤器。输入/输出过滤器可以监控从主机到数据存储设备的读取操作和写入操作。输入/输出过滤器可以响应于对数据存储设备的部分的所监控的读取操作超过阈值,将该部分拷贝到主机内的随机存取存储器(RAM)缓冲器。输入/输出过滤器可以将被寻址到数据存储设备的部分的连续读取操作重定向到RAM缓冲器中的该部分的拷贝。

Read operation redirection

The example implementation involves reader operation redirection. For example, a system according to the present disclosure may include a data storage device accessible by a host. The system may include input/output filters of the host operating system. Input/output filters can monitor read and write operations from the host to the data storage device. The input/output filter may copy the portion of the data storage device to a random access memory (RAM) buffer in the host in response to a read operation that exceeds the threshold value monitored on the portion of the data storage device. The input/output filter can redirect the continuous read operation of the portion addressed to the data storage device to a copy of the portion in the RAM buffer.

【技术实现步骤摘要】
【国外来华专利技术】读取操作重定向
技术介绍
数据存储设备可以包括固态驱动器(SSD)。SSD可以包括:固态存储设备,其利用集成电路组装件作为存储器来持久地存储数据。主机设备可以包括由操作系统支持的计算设备。可以从主机传送对SSD的命令。例如,从主机到SSD的命令可以请求对SSD中的地址的读取操作和/或写入操作。对SSD的闪速存储器单元的读取和/或写入可能影响单元上和/或相邻单元上的所存储的电荷。附图说明图1图示了根据本公开的用于读取操作重定向的系统的示例的图解。图2是根据本公开的用于读取操作重定向的系统的示例的框图。图3图示了根据本公开的用于读取操作重定向的示例方法。具体实施方式数据存储设备可以包括用于数字地存储可以由计算设备读取的数据的组件。数据存储设备可以包括:固态存储装置,其用于在不涉及机械部件的情况下利用电子电路来非易失性地存储和/或取回数字信息。固态驱动器(也被称为SSD)可以包括:数据存储设备,其利用集成电路组装件作为存储器来持久地存储数据(例如,在断电时保留数据)。SSD可以包括存储数据的存储器元件。例如,SSD可以包括非易失性与非(NAND)存储器配置。也就是说,SSD可以包括利用NAND单元作为存储介质的非易失性存储器部分。NAND单元可以利用NAND逻辑门来存储信息比特。NAND存储器管芯的物理层级可以被分解成平面、块和页。NAND管芯可以包含多个平面,每个平面可以被划分成块,并且每个块可以包含N个页。例如,NAND管芯可以具有2个平面、约4K个块以及每块256个页。页可以是可被编程(例如,写入)的最小单元,并且块可以是可被擦除的最小单元。SSD可以包括控制器。控制器可以包含将NAND存储器组件与诸如主机计算设备、应用、数据库等之类的主机桥接的电子器件。控制器可以在一端上接受主机命令,并且在另一端上将该命令传送到NAND存储器。主机命令可以被定向到SSD存储器的部分。主机命令可以包括从主机对SSD发出的输入/输出(I/O)请求。例如,主机命令可以包括:执行读取操作的请求,其可以包括向主机读出来自SSD存储器的特定部分的数据。示例还可以包括:执行程序或写入操作的请求,其可以包括将数据写入SSD的特定部分。进一步的示例可以包括:执行擦除操作以擦除SSD的特定部分的请求。然而,可以在对SSD存储器的特定部分进行寻址中利用抽象(abstraction)方案。例如,可以在对SSD存储器进行寻址中利用逻辑块寻址抽象方案。利用逻辑块寻址抽象方案可以包括:利用逻辑块地址(LBA),通过使NAND阵列中固有的更复杂的存储器管理操作对于消费较低级别系统的服务的更高级别(例如,主机设备)不可见,来简化较低级别系统(例如,SSD存储器)的复杂管理。例如,NAND阵列管理可以包括:出于各种原因而对管芯内的数据块的物理位置的频繁改变。管芯内的数据块的物理位置可以被称为物理块地址(PBA)。逻辑块寻址抽象方案可以避免在每一次物理块地址改变时向主机通知块的新物理块地址。例如,主机可以在不知道其PBA的情况下向特定块的LBA发出命令。SSD可以将LBA映射到其对应的PBA并且保持该映射更新。SSD控制器可以利用该映射来准确地协调命令的执行。例如,SSD控制器可以利用转换表来标识与在主机的I/O请求中标识的LBA相对应的SSD的物理部分(例如,PBA)。SSD存储器在它们耗尽(wearout)并且变得不可用之前可能具有有限数量的编程擦除(P/E)周期。附加地,用于读取NAND存储器的方法可能使相同存储块中的相邻单元随时间而改变。例如,在对单元的重复读取操作之后,相邻单元中可能发生电谐振错误。如果错误变得太多以致无法利用错误校正码(ECC)来校正,则相邻单元的内容中的这种干扰可能产生可导致数据丢失的错误。当错误计数超过阈值时,控制器可以对受困扰的块进行干预并且将该受困扰的块拷贝到新的块,以便避免由ECC无法校正的错误。每次读取来自块的单元时,控制器可以检查整个块的内容以确定错误计数。出乎意料地,对块的重复读取操作也可能引起与重复读取的块相邻的块的单元中的改变。如本文使用的,相邻单元可以包括:物理上靠近正被读取和/或写入的单元的单元、物理上邻接正被读取和/或写入的单元的单元、足够接近地物理邻近于正被读取和/或写入的单元的单元,对该正被读取的单元的重复读取操作可能导致相邻单元中的电谐振错误。类似地,这些改变可能导致相邻的块内的错误,使得相邻的块由于错误变得太多以致无法利用ECC来校正而受到数据丢失的影响。如上所描述,每次从块进行读取时,控制器可以检查整个块的内容以确定与该块相关联的错误计数。然而,每次从块进行读取时,控制器可能并不检查所有相邻的块的内容。替代地,控制器将偶尔对整个介质执行读取扫描,以检查与所有块相关联的错误计数。与上述单个块的检查相比,该扫描可以花费几分钟来执行并且被相对不频繁地执行。因此,与频繁读取的块相邻的块中的错误可能未被检测到并且未被校正,从而导致数据丢失。这种发生的事件可能会加剧,这是由于来自块的相同频繁读取可能消耗控制器的资源,并且进一步延迟了整个介质的读取扫描,这可能会以其它方式发现相邻单元中的上升的错误计数。相比之下,本公开中包括的示例利用错误计数不可知(count-agnostic)系统,以在不直接调整或控制主机应用的行为的情况下标识并减轻引起上述意外问题的出现的状况。本公开中包括的示例可以利用操作系统的I/O过滤器系统来监控从主机到数据存储设备的读取操作和写入操作。这些示例可以包括:将连续读取操作重定向到主机内的RAM缓冲器中的数据存储设备的频繁读取的部分的拷贝,以便避免加剧相邻单元中的错误的发生,并且允许控制器时间进行诸如读取扫描之类的操作。图1图示了根据本公开的用于读取操作重定向的系统100的示图。系统100可以包括主机102。主机102可以包括计算设备,诸如膝上型计算机、台式机、平板和/或处理资源,以执行存储在计算机可读介质上的指令。主机102可以包括操作系统,其充当用户、硬件与指令之间的接口。操作系统可以包括:可由主机处理器执行以管理硬件资源、指令资源和/或为服务于主机102的计算应用提供公共服务的指令。主机102可以包括应用和/或可以有权访问远离主机的应用。应用可以包括:指令集合,该指令在由处理资源执行时执行特定任务。主机102可以包括驱动器。驱动器可以包括:可由处理资源执行以操作和/或控制与主机102通信的特定类型的设备的一组指令。驱动器可以充当在主机102、主机应用和/或主机操作系统与硬件设备之间转换输入和/或输出的抽象层。驱动器可以在与操作系统内核相同的权限级别上操作。驱动器可以是主机102的操作系统的部分。系统100可以包括数据存储设备108。数据存储设备108可以与主机102通信。数据存储设备108可以物理地连接到主机102。数据存储设备108可以是主机102设备外部的外围设备。可替换地,数据存储设备108可以与主机102容纳在相同设备中。例如,数据存储设备108可以与主机102容纳在相同壳体中,该壳体诸如计算设备外壳。数据存储设备108可以是固态设备。固态设备可以包括:电子设备,其中电流流过固体半导体晶体并且其中利用电子或其他电荷载流子来存储数据,该电子或其他电荷载流子被本文档来自技高网...

【技术保护点】
1.一种系统,其包括:可由主机访问的数据存储设备;主机的操作系统的输入/输出过滤器系统,以便:监控从主机到数据存储设备的读取操作和写入操作;响应于对数据存储设备的部分的所监控的读取操作超过阈值,将所述部分拷贝到主机内的随机存取存储器(RAM)缓冲器;以及将被寻址到数据存储设备的所述部分的连续读取操作重定向到所述RAM缓冲器中的所述部分的拷贝。

【技术特征摘要】
【国外来华专利技术】1.一种系统,其包括:可由主机访问的数据存储设备;主机的操作系统的输入/输出过滤器系统,以便:监控从主机到数据存储设备的读取操作和写入操作;响应于对数据存储设备的部分的所监控的读取操作超过阈值,将所述部分拷贝到主机内的随机存取存储器(RAM)缓冲器;以及将被寻址到数据存储设备的所述部分的连续读取操作重定向到所述RAM缓冲器中的所述部分的拷贝。2.如权利要求1所述的系统,其中所述输入/输出过滤器系统包括操作系统内的一组驱动器。3.如权利要求1所述的系统,其中要监控读取操作和写入操作包括:拦截从主机上的应用到数据存储设备的底层控制器的请求。4.如权利要求1所述的系统,其中要监控读取操作包括:在文件系统级别上标识在每个监控读取操作中正被读取的数据存储设备的部分。5.如权利要求1所述的系统,其中要监控读取操作包括:在块访问级别上标识在每个监控读取操作中正被读取的数据存储设备的部分。6.如权利要求1所述的系统,其中要监控读取操作和写入操作包括:基于正被读取的数据存储设备的部分的地址和正被读取的所述部分的大小,来对读取操作进行计数和核对。7.如权利要求1所述的系统,其中所述阈值是针对位置的用户可配置读取频率阈值。8.一种非暂时性计算机可读介质,其包含指令,所述指令可由处理器执行以使所述处理器来:利用主机操作系统内的输入/输出过滤器来监控从主机操作系统到固态驱动器(SSD)的读取操作和写入操作;响应于被寻址到SSD的存储器的块的读取操作超过阈值,将所述块拷贝到主机内的随机存取存储器(RAM)缓冲器;以及将被寻址到所述块的连续读取操作重定向到所述RAM缓冲器中的所拷贝的块。9.如权利要求8所述的非暂时性计算机可读介质,其中所述SS...

【专利技术属性】
技术研发人员:V·Q·埃雷拉C·格雷厄姆T·J·弗林
申请(专利权)人:惠普发展公司有限责任合伙企业
类型:发明
国别省市:美国,US

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

1