CN103907095A - 移动存储器高速缓存读取优化 - Google Patents

移动存储器高速缓存读取优化 Download PDF

Info

Publication number
CN103907095A
CN103907095A CN201280043687.6A CN201280043687A CN103907095A CN 103907095 A CN103907095 A CN 103907095A CN 201280043687 A CN201280043687 A CN 201280043687A CN 103907095 A CN103907095 A CN 103907095A
Authority
CN
China
Prior art keywords
order
visit order
memory devices
visit
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201280043687.6A
Other languages
English (en)
Inventor
K·迈利
M·弗洛芒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nokia Oyj
Memory Technologies LLC
Original Assignee
Memory Technologies LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Memory Technologies LLC filed Critical Memory Technologies LLC
Publication of CN103907095A publication Critical patent/CN103907095A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1024Latency reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/16General purpose computing application
    • G06F2212/161Portable computer, e.g. notebook
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/6026Prefetching based on access pattern detection, e.g. stride based prefetch
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

一种用于为移动存储器设备启用高速缓存读取优化的方法。该方法包括在存储器设备处从主机接收一个或者多个访问命令,一个或者多个访问命令指令存储器设备访问至少两个数据块。访问至少两个数据块。该方法还包括由存储器设备至少部分地基于访问至少两个数据块的顺序来生成用于至少两个数据块的预取信息。也描述一种装置和计算机可读介质。

Description

移动存储器高速缓存读取优化
技术领域
本发明的示例而非限制的实施方式总体涉及存储器设备,并且更具体地涉及用于为移动存储器设备提供高速缓存读取优化。
背景技术
本节旨在于提供在权利要求中记载的本发明的背景或者环境。这里的说明书可以包括如下概念,这些概念可以被探求、但是未必是先前已经设想、实施或者描述的概念。因此,除非这里另有指示,否则在本节中描述的内容不是在本申请中的说明书和权利要求书之前的现有技术,并且不因包含于本节中而被承认为现有技术。
可以在说明书和/或附图中发现的以下缩写词由此定义如下:
DB       数据库
DRAM     动态随机存取存储器
ECC      纠错码
e-MMC    嵌入式多媒体卡
eNB      E-UTRAN节点B(演进节点B))
FW       固件
HW       硬件
Node B   基站
OS       操作系统
PC       个人计算机
SBC(-3)  SCSI块命令
SCSI     小型计算机系统接口
SSD      固态盘
SW       软件
UE       用户设备、比如移动站或者移动终端
UFS      通用快闪存储装置
移动设备、比如UE可以将存储器用于存储用户数据、例如音乐、图片、应用、地图等。在移动设备中存储的用户数据量正在增加,并且将继续增长。一些高端设备提供基于非易失性存储器、比如NAND存储器技术(也称为闪存)的用户数据存储。NAND存储器使用已经扩展到中等范围设备。
在通常移动管理的NAND设备中,由于成本和功率优化而无实际高速缓存存储器存在。可能存在一些存储器控制器SRAM和NAND本身的缓冲存储器。然而这些是用于在向NAND存储器中编程或者向主机递送数据之前缓冲数据的暂时存储装置。在一些PC市场中,管理的NAND设备如SSD可以具有在存储器设备中包括的通常为DRAM的高速缓存存储器存储装置。在SSD中,可以在向NAND存储装置冲刷数据之前向DRAM高速缓存存储数据达更长时间段。
标准化的高速缓存定义和性能提高主要适用于写入操作。现有标准化的预取/打包命令机制是基于主机知道接下来应当取读哪个数据以便向设备预先提供地址的。然而情况并非总是这样。
需要的是一种用于改进NAND存储器设备中的存储器读取的方式。
发明内容
以下发明内容这一节旨在于仅举例说明而非限制。
通过使用本发明的示例实施例来克服前述和其它问题并且实现其它优点。
本发明的一个示例实施例在其第一方面中提供一种用于为移动存储器设备启用高速缓存读取优化的方法。该方法包括在存储器设备从主机(例如在处理器处)接收一个或者多个访问命令,一个或者多个访问命令指令存储器设备访问至少两个数据块。也包括访问至少两个数据块。该方法包括存储器设备至少部分地基于访问至少两个数据块的顺序来生成用于至少两个数据块的预取信息。
本发明的一个示例实施例在其又一方面中提供一种用于为移动存储器设备启用高速缓存读取优化的装置。该装置包括:一个或者多个处理器;以及包括计算机程序代码的一个或者多个存储器,一个或者多个存储器和计算机程序代码被配置用于利用一个或者多个处理器使该装置执行动作。动作包括在存储器设备处从主机接收一个或者多个访问命令,一个或者多个访问命令指令存储器设备访问至少两个数据块。访问至少两个数据块。动作也包括由存储器设备至少部分地基于访问至少两个数据块的顺序来生成用于至少两个数据块的预取信息。
本发明的一个示例实施例在其另一方面中提供一种用于为移动存储器设备启用高速缓存读取优化的计算机可读介质。该计算机可读介质用可由处理器执行以执行动作的计算机程序来有形地编码。动作包括在存储器设备处从主机接收一个或者多个访问命令,一个或者多个访问命令指令存储器设备访问至少两个数据块。访问至少两个数据块。动作也包括由存储器设备至少部分地基于访问至少两个数据块的顺序来生成用于至少两个数据块的预取信息。
本发明的一个示例实施例在其又一方面中提供一种用于为移动存储器设备启用高速缓存读取优化的装置。该装置包括:用于在存储器设备处从主机接收一个或者多个访问命令的装置,一个或者多个访问命令指令存储器设备访问至少两个数据块;用于访问至少两个数据块的装置;以及用于由存储器设备至少部分地基于访问至少两个数据块的顺序来生成用于至少两个数据块的预取信息的装置。
附图说明
本发明的示例实施例的前述和其它方面在结合附图阅读时的以下具体实施方式中变得更清楚,在附图中:
图1示出适合于在实践本发明的各种示例实施例时使用的示例电子设备的简化框图。
图2示出示例用户设备、比如在图1示出的用户设备的更具体框图。
图3示出示例存储器设备、比如在图1和图2示出的存储器设备的更具体框图。
图4示出示例存储器单元、比如在图3示出的存储器单元的更具体框图。
图5图示根据本发明的示例存储器写入操作。
图6是逻辑流程图,该逻辑流程图图示根据本发明的各种示例实施例的示例方法的操作和在计算机可读存储器上体现的计算机程序指令的执行结果。
具体实施方式
由于NAND读取访问时间可以在数十微秒级,所以将有利的是可以在对于下一数据的请求之前在有纠错码纠正时至少向NAND设备的缓冲器或者向控制器的缓冲器/高速缓存预先取读数据,从而在主机请求下一数据时,可以从高速缓存递送它。这可以增加读取操作的平均速度而未给主机处理器带来负担。此外,由于更快地服务于访问请求,所以可以将存储器模块更快置于低功率状态从而提供功率消耗优化的度量。此外,可以改进数据链接以便保证取读正确数据。
在进一步具体描述本发明的各种示例实施例之前,参照图1,该图用于图示适合于在实践本发明的示例实施例时使用的各种电子设备和装置的简化框图。
在图1的无线系统230中,无线网络235适于通过无线链路232经由网络接入节点——比如节点B(基站),并且更具体为eNB220——与装置(比如可以称为UE210的移动通信设备)通信。
UE210包括控制器、比如计算机或者数据处理器(DP)214、被具体化为存储计算机指令程序(PROG)218的存储器(MEM)216的计算机可读存储器介质和适当无线接口、比如用于经由一个或者多个天线与eNB220双向无线通信的射频(RF)收发器212。UE210也可以包括一个或者多个专用处理器、例如存储器处理器215。
假设PROG218包括在由相关联DP214执行时使设备能够根据如以下将更具体讨论的本发明的示例实施例操作的程序指令。
也就是说,本发明的各种示例实施例可以至少部分由UE210的DP214可执行的计算机软件或者由硬件或者由软件与硬件(和固件)的组合来实施。
一般而言,UE210的各种实施例可以包括、但不限于蜂窝电话、具有无线通信能力的个人数字助理(PDA)、具有无线通信能力的便携计算机、图像捕获设备如数字相机、游戏设备、音乐存储和回放装置、允许无线因特网接入和浏览的因特网装置以及并入这样的功能的组合的便携单元或者终端。
计算机可读MEM216可以是适合于本地技术环境的任何类型并且可以使用任何适当数据存储技术、比如基于半导体的存储器设备、快闪存储器、磁存储器设备和系统、光存储器设备和系统、固定存储器和可移除存储器来实施。DP214可以是适合于本地技术环境的任何类型并且可以包括作为非限制示例的通用计算机、专用计算机、微处理器、数字信号处理器(DSP)和基于多核处理器架构的处理器中的一项或者多项。无线接口(例如RF收发器212)可以是适合于本地技术环境的任何类型并且可以使用任何适当通信技术、比如个体发送器、接收器、收发器或者这样的部件的组合来实施。
图2在平面图(左)和截面图(右)二者中图示示例UE的进一步细节,并且可以在这些更特定于功能的部件中的一个部件或者某个组合中具体化本发明。在图2,UE210具有图形显示界面320和用户界面322,该图形显示界面和该用户界面被图示为键区、但是被理解为也涵盖在图形显示界面320的触屏技术和在麦克风324接收的语音识别技术。功率致动器326控制设备由用户接通和关断。示例UE210可以具有相机328,该相机被示出为向前(例如用于视频呼叫),但是可以备选地或者附加地向后(例如用于捕获图像和视频以用于本地存储)。相机328由快门致动器330并且可选地由缩放致动器332控制,该缩放致动器可以备选地在相机328未在活跃模式中时充当扬声器334的音量调整。
在图2的截面图内看见通常用于蜂窝通信的多个发送/接收天线336。天线336可以是多频带,以用于与在UE中的其它无线电使用。阴影线示出用于天线336的可操作接地平面为跨越UE壳包围的整个空间,但是在一些实施例中,接地平面可以限于比如在功率核片338形成于其上的印刷布线板上设置的更小区域。功率芯片338控制在发送的信道上和/或在使用空间分集时跨越同时发射的天线的功率放大,并且放大接收的信号。功率芯片338向射频(RF)芯片340输出放大的接收的信号,该RF芯片解调和降频转换信号以用于基带处理。基带(BB)芯片342检测信号,该信号然后被转换成比特流并且最终被解码。相似处理对于在装置210中生成并且从它发送的信号倒序地出现。
去往和来自相机338的信号经过编码和解码各种图像帧的图像/视频处理器344传递。分离的音频处理器346也可以存在,用于控制去往和来自扬声器334和麦克风324的信号。如用户界面芯片350控制的那样从帧存储器348刷新图形显示界面320,该用户界面芯片可以处理去往和来自显示界面320的信号,和/或附加地处理来自键区322和别处的用户输入。
UE210的某些实施例也可以包括一个或者多个次无线电、比如无线局域网无线电WLAN337和蓝牙
Figure BDA0000474222400000061
无线电339,该一个或者多个次无线电可以并入片上天线或者耦合到片外天线。在整个装置内有各种存储器、比如随机存取存储器RAM343、只读存储器ROM345并且在一些实施例中有可移除存储器、比如所示存储器卡347。各种程序218可以存储于快闪333、例如NAND、eMMC、UFS、SSD等中的一个或者多个部件中。在UE210内的所有这些部件由便携功率供应、比如电池349正常供电。
处理器338、340、342、344、346、350如果在UE210内被具体化为分离实体则可以在与主存储器214的从属关系中操作,该主处理器然后可以处于对于它们的主控关系中。本发明的实施例与存储器模块(333、343、345、347、348)的控制器最相关,尽管注意到其它实施例无需设置于这里、但是可以如图所示跨越各种芯片和存储器来设置或者设置于另一处理器内,该另一处理器组合以上对于图2描述的功能中的一些功能。图2的这些各种处理器中的任何或者所有处理器访问可以与处理器在片上或者从处理器分离的各种存储器中的一个或者多个存储器。
注意以上描述的各种芯片(例如338、340、342等)可以组合成比描述的数目更少的数目并且在最紧凑情况下可以都物理地具体化于单个芯片内。
图3示出示例存储器设备、比如在图1和2示出的存储器设备、例如MEM216、RAM343、ROM345、快闪333和存储器卡347的更具体框图。MEM410包括存储器控制器(MC)420并且如图所示包括两个个体存储器单元MEM430和MEM440。在另一示例实施例中,可以有一个或者多个存储器单元。MC420被配置用于处理读取/写入请求并且向MEM430和MEM440相应地发送指令。
MEM430和MEM440可以是相同类型的存储器设备(例如均使用NAND存储器技术)或者它们可以是不同类型(例如MEM430可以使用NAND存储器技术而440可以是光驱动存储器技术)。此外,可以使用存储器单元(MEM430、440)中的一个或者多个存储器单元作为用于MC420的本地高速缓存存储器。
图4示出示例存储器单元、比如在图3示出的存储器单元的更具体框图。将MEM430划分成各种存储器区域(432、434、436盒438)。示出四个区域作为非限制示例;然而可以有任何数目的区域(例如1、2、4、8等)。
区域的分离可以是物理或者虚拟/逻辑分离。可以通过向区域指派各种存储器地址来执行虚拟分离。在区域中的单元可以或者可以不物理地邻接。每个区域可以被MC420分离地对待或者被组合成单个实体。
作为非限制示例,可以将MEM430分离成大量区域,每个区域代表存储器页面或者存储器块(例如512字节的块)。
在根据本发明的第一示例实施例中,将预取/高速缓存连结到索引标识符(例如eMMC的上下文ID特征)。无论主机何时向索引标识符(例如索引#1)写入,在对应NAND块中写入的数据可以包括指向下一索引#1数据的链接。这样,主机可以如同向单个索引中写入数据(例如软件(SW)、图片/音乐数据或者数据库信息)那样操作,并且在读取数据(例如甚至使用若干依次或者单个块读取访问)时,可以预取下一数据而无附加主机工作。在一个非限制示例中,可以使用eMMC的数据标记概念或者SCSI SBC-3的组编号方案从而将数据连结在一起以求优化的读取高速缓存。
如果主机以后向存储器中写入新数据,则它可以使用(例如在产生用于写入OS时)更早使用的相同索引。为了支持有限数目的动态索引,每当打开新索引时,仅用于该索引的最新数据将被链接在一起。因此,任何干预写入命令可以防止在具有相同索引之间的写入命令之间的预取链接,因为这些索引可以或者可以不对应于相同数据。
备选地,也可以固定索引,从而如果以后向更早关闭的索引写入新数据(例如重新打开索引),则这一新数据将链接到先前写入的末尾。可以将索引固定达无限时间,或者可以暂时固定索引(例如固定达一段时间,直至系统空闲预定量的时间、响应于命令等)。
链接会话可以代表何时链接来自具有相同索引信息的写入命令的数据。在使用先前使用的索引、但是来自先前使用的块将不被链接到新块(例如先前使用的最后块未链接到新使用的第一个块)时开始新会话。
此外,可以由于多个情形中的任一情形而结束链接会话。
1)在从链接会话(例如有限窗口)的初始开始起的一段时间之后,
2)在从上次访问操作起的一段时间之后(例如在空闲时段之后的超时),
3)基于存储器设备的状态(例如在eMMC中:传送状态或者待机状态,在UFS中:链接到功率模式或者活跃LU等)或者
4)改变在主机控制的技术中的行为的控制寄存器。
在一个由存储器设备驱动的实施例中,主机无需利用任何标签或者索引,实际上是存储器设备控制预取。在第一示例中,存储器设备实行向缓冲器/高速缓存预取下一逻辑数据或者物理地址数据。这将对于用‘写入多个块’命令(例如eMMC的Write_Multiple_Blocks命令)向依次(逻辑)地址中写入的数据是高效的。设备也可以将这样的数据链接在一起以用于读取预取。
备选地,可以在先前写入多个块命令的最后地址和下一写入多个块命令的第一地址属于相同依次文件的假设之下将该最后地址连结到该第一地址(例如通常将数据/文件的兆字节切割成更小段以用于写入)。
在根据本发明的又一示例实施例中,存储器设备可以将相似“随机”访问链接在一起。例如其中介质的文件系统被大量分段并且在整个存储器介质内在很小段(小分配单位粒度)中写入数据。
存储器设备可以在使用数据(例如其中限制主机交互)期间确定链接。在存储器设备链接(例如对块A和B的)两个连续写入访问时,块可以实际属于不同文件/实体、因此在依次预取时创建“高速缓存未命中”。可以在使用期间检测这些不正确链接,例如其中存储器设备检测到在A的最后地址之后无B的第一地址的随后读取,这指示可以去除在A与B之间的链接。
此外,如果存储器设备确定在访问A的最后地址之后读取C的第一地址,则可以在运行时期间构建这一链接。
在又一示例实施例中,可以向高速缓存预取多于一个潜在下一地址。例如,如果随后访问根据存储器设备可能未知的某个规则定期地改变,则并不清楚预取哪个数据将是最有利的。
可以用多种方式存储在第一个块与第二个块之间的链接信息。例如可以在第一个块中存储链接信息作为指向第二个块的指针。第二个块也可以存储指向第一个块的指针。备选地,可以在分离位置保存链接信息例如作为在整个存储器内的链接列表的一部分。
块也可以例如记录指示多个块的链接信息,其中紧接在第一个块之后写入第二个块并且在第一个块之后读取第三个块,或者其中随后读取操作在有限集合的块之间交替。
链接信息也可以包括附加数据。可以使用每当读取给定的块并且在给定的时间内未随后读取块时的计数以便确定何时中断(或者去除)指向随后块的链接。也可以保持用于链接的每个块的计数,该计数代表随后读取具体块的次数。这一计数可以用来确定预取哪个(哪些)块,例如在预取仅一个块时,可以使用具有最多后续读取的块。
在一些实施例中,主机可以在写入阶段中或者在读取阶段中启用/禁用链接地址(例如通过显式信令)以便在访问时间比对功率之间优化。预取操作可以(例如被主机)启用/禁用或者通过用于整个介质或者每分区或者逻辑单位的固定设置来建立。
主机也可以例如通过改变在消息中的位标志来指令存储器设备停止预取操作。在非限制示例中,位标志是放弃预取(ABPF)位。
此外,主机可以指令存储器设备是否跨越物理存储器设备链接(或者预取)数据。因此,存储器设备在一个设置中可以链接向分离物理设备(例如两个不同NAND存储器)写入的数据块,而在第二设置中,将未生成链接信息。
图5图示根据本发明的示例存储器写入操作。
在第一示例(1)中,主机发出第一写入多个块命令(例如组合的CMD23和CMD25),并且存储器返回响应(RESP)。在这一场景中,主机未提供上下文ID、标记(TAG)或者具体规则。第一写入命令指令存储器向存储器中写入两个512字节的块(或者页面)。块可以包括循环冗余校验(CRC),或者可以向另一位置写入对应CRC。写入过程创建将最新近写入的块(第一个块)链接到第二个块的第一指示符A(预取链接)。相似地,在主机发出创建第三个块的第二写入命令时,存储器设备创建将最新近写入的块(第二个块)链接到第三个块的第二指示符B。
在第二示例(2)中,主机提供上下文ID或者标记。在第一部分中,第一写入命令使用第一标识符(例如#ID=1、标记=x等)来指令存储器向存储器中写入两个512字节的块(或者页面)。在主机使用相同标识符来发出第二写入命令时,存储器设备创建将具有相同标识符的最新近写入的块(第二个块)链接到第三个块的指示符C。在第二部分(在虚线右侧)中,每个写入命令无论它们是否共享标识符都是分离程序会话。如图所示,在向标识符(例如#ID=2、标记=Y等)写入时,省略指示符D从而由于关闭程序会话而在预取链路中创建中断。
在第三示例(3)中,主机同样提供上下文ID或者标记。如在示例2中那样,创建将具有相同标识符的最新近写入的块(第二个块)链接到第三个块的指示符C。该过程即使在执行具有不同标识符的其它写入命令(例如第三写入命令)时仍然可以创建在块之间的链接。因此,在主机使用与前两个写入命令相同的标识符来发出第四写入命令时,存储器设备创建将具有相同标识符的最新近写入的块(第四个块)链接到第七个块的指示符E。
尽管在示例2和3中未示出,但是响应于单个写入命令执行的两个块可以(或者可以未)具有链接它们的指示符。这些指示符可以不同于链接不同写入命令写入的块的指示符。
基于前文应当清楚,本发明的示例实施例提供一种用于为移动存储器设备提供高速缓存读取优化的方法、装置和计算机程序。
图6是逻辑流程图,该逻辑流程图图示根据本发明的示例实施例的方法的操作和计算机程序指令的执行结果。根据这些示例实施例,一种方法在块610执行在存储器设备从主机接收至少一个写入命令的步骤。至少一个写入命令指令存储器设备存储至少两个数据块。在块620存储至少两个数据块。在块630,存储器设备至少部分基于存储至少两个数据块的顺序生成用于至少两个数据块的预取信息。
图6中所示各种块可以视为方法步骤和/或视为计算机程序代码的操作所产生的操作,和/或视为被构造用于执行相关联功能的多个耦合的逻辑电路单元。
一般而言,可以在硬件或者专用电路、软件、逻辑或者其任何组合中实施各种示例实施例。例如可以在硬件中实施一些方面,而可以在可以由控制器、微处理器或者其它计算设备执行的固件或者软件中实施其它方面,但是本发明不限于此。尽管本发明的示例实施例的各种方面可以图示和描述为框图、流程图或者使用某个其它图形表示来图示和描述,但是合理地理解,可以在作为非限制示例的硬件、软件、固件、专用电路或者逻辑、通用硬件或者控制器或者其它计算设备或者其某个组合中实施这里描述的这些块、装置、系统、技术或者方法。
在根据本发明的一个示例实施例中,提供一种用于为移动存储器设备启用高速缓存读取优化的方法。该方法包括在存储器设备处(例如在处理器处)从主机接收一个或者多个访问命令,一个或者多个访问命令指令存储器设备访问至少两个数据块。也包括(例如由处理器)访问至少两个数据块。该方法包括存储器设备至少部分地基于访问至少两个数据块的顺序(例如由处理器)来生成用于至少两个数据块的预取信息。
在以上方法的又一示例实施例中,生成预取信息还基于由主机提供的信息和/或用于存储器设备的控制器中的规则。
在以上方法中的任一方法的另一示例实施例中,一个或者多个访问命令中的每个访问命令与包括上下文标识符、任务标签、预取标识符和/或组编号的索引信息相关联。可以与访问命令或者在分离消息中发送索引信息。
在以上方法的又一示例实施例中,一个或者多个访问命令包括第一访问命令和第二访问命令。第一访问命令和第二访问命令包括相同索引信息。
在以上方法的另一示例实施例中,接收一个或者多个访问命令包括:在第一时间接收包括第一索引信息的第一访问命令,在第一时间之后的第二时间接收第二访问命令,其中第二访问命令包括与第一索引信息不同的第二索引信息,以及在第二时间之后的第三时间接收包括第一索引信息的第三访问命令。
在以上方法的又一示例实施例中,生成预取信息包括将响应于第一访问命令而访问的最后数据块链接到响应于第三访问命令而访问的第一数据块。
在以上方法的另一示例实施例中,生成预取信息包括开始用于响应于第三访问命令而访问的第一数据块的新链接数据会话。响应于具有同一索引信息的访问命令而访问的数据块在链接数据会话期间被链接。
在以上方法的又一示例实施例中,响应于具有相匹配索引信息的访问命令而访问的数据块在链接数据会话期间被链接,并且该方法还包括响应于在具有相匹配索引信息的先前访问命令之后流逝预定时间、在链接数据会话开始之后流逝一时间或者控制寄存器的改变来开始新链接数据会话。
在以上方法中的任一方法的另一示例实施例中,生成预取信息包括将至少两个数据块中的第一数据块链接到至少两个数据块中的下一随后访问的数据块。
在以上方法中的任一方法的又一示例实施例中。一个或者多个访问命令包括读取命令和/或写入命令。
在以上方法中的任一方法的另一示例实施例中,预取信息包括用于在读取第一个块时预取至少两个块的指令。
在以上方法中的任一方法的又一示例实施例中,接收指令存储器设备向主机提供第一读取数据块的第一读取命令;向主机提供第一读取数据块;基于预取信息确定随后读取数据块;预取随后读取数据块;在预取随后读取数据块之后,接收指令存储器设备向主机提供随后读取数据块的第二读取命令;以及向主机提供预取的随后读取数据块。
在以上方法的另一示例实施例中,该方法也包括:接收用于停止生成用于存储器设备的至少一部分的预取信息的命令;并且阻止在访问存储器设备的一部分中的数据块时生成预取信息。
在以上方法的又一示例实施例中,该方法也包括:该方法也包括:接收指令存储器设备访问两个或者更多数据块中的一个或者多个数据块的一个或者多个附加访问命令;以及基于响应于一个或者多个访问命令而访问的数据块的顺序来去除预取信息。
在以上方法中的任一方法的另一示例实施例中,存储器设备包括一个或者多个NAND存储器存储设备。
在根据本发明的另一示例实施例中,提供一种用于为移动存储器设备实现高速缓存读取优化的装置。该装置包括:一个或者多个处理器;以及包括计算机程序代码的一个或者多个存储器,一个或者多个存储器和计算机程序代码被配置用于利用一个或者多个处理器使该装置执行动作。动作包括:在存储器设备处从主机接收一个或者多个访问命令,一个或者多个访问命令指令存储器设备访问至少两个数据块。访问至少两个数据块。动作也包括由存储器设备至少部分地基于访问至少两个数据块的顺序生成用于至少两个数据块的预取信息。
在以上装置的另一示例实施例中,生成预取信息还基于主机提供的信息和/或用于存储器设备的控制器中的规则。
在以上装置中的任一装置的又一示例实施例中,一个或者多个访问命令中的每个访问命令与包括上下文标识符、任务标签、预取标识符和/或组编号的索引信息相关联。
在以上装置的另一示例实施例中,一个或者多个访问命令包括第一访问命令和第二访问命令,并且第一访问命令和第二访问命令包括相同索引信息。
在以上装置的又一示例实施例中,在接收一个或者多个访问命令时,一个或者多个存储器和计算机程序代码还被配置用于使该装置:在第一时间接收包括第一索引信息的第一访问命令,在第一时间之后的第二时间接收第二访问命令,其中第二访问命令包括与第一索引信息不同的第二索引信息,以及在第二时间之后的第三时间接收包括第一索引信息的第三访问命令。
在以上装置的另一示例实施例中,在生成预取信息时,一个或者多个存储器和计算机程序代码还被配置用于使该装置将响应于第一访问命令而访问的最后数据块链接到响应于第三访问命令而访问的第一数据块。
在以上装置的又一示例实施例中,在生成预取信息时,一个或者多个存储器和计算机程序代码还被配置用于使该装置开始用于响应于第三访问命令而访问的第一数据块的新链接数据会话。响应于具有同一索引信息的访问命令而访问的数据块在链接数据会话期间被链接。
在以上装置的另一示例实施例中,响应于具有同一索引信息的访问命令而访问的数据块在链接数据会话期间被链接,并且所述至少一个存储器和所述计算机程序代码还被配置用于使所述装置响应于以下各项之一开始新链接数据会话:在具有所述相匹配索引信息的先前访问命令之后流逝预定时间、在所述链接数据会话开始之后流逝一时间和控制寄存器的改变。
在以上装置中的任一装置的又一示例实施例中,在生成预取信息时,一个或者多个存储器和计算机程序代码还被配置用于使该装置将至少两个数据块中的第一数据块链接到至少两个数据块中的下一随后访问的数据块。
在以上装置中的任一装置的另一示例实施例中,一个或者多个访问命令包括读取命令和/或写入命令。
在以上装置中的任一装置的又一示例实施例中,预取信息包括用于在读取第一个块时预取至少两个块的指令。
在以上装置中的任一装置的另一示例实施例中,一个或者多个存储器和计算机程序代码还被配置用于使该装置:接收指令存储器设备向主机提供第一读取数据块的第一读取命令;向主机提供第一读取数据块;基于预取信息确定随后读取数据块;预取随后读取数据块;在预取随后读取数据块之后,接收指令存储器设备向主机提供随后读取数据块的第二读取命令;以及向主机提供预取的随后读取数据块。
在以上装置的又一示例实施例中,一个或者多个存储器和计算机程序代码还被配置用于使该装置接收用于停止生成用于存储器设备的至少一部分的预取信息的命令;以及阻止访问在存储器设备的一部分中的数据块时生成预取信息。
在以上装置中的任一装置的另一示例实施例中,一个或者多个存储器和计算机程序代码还被配置用于使该装置接收指令存储器设备访问两个或者更多数据块中的一个或者多个数据块的一个或者多个附加访问命令;以及基于响应于一个或者多个访问命令访问的数据块的顺序来去除预取信息。
在以上装置中的任一装置的又一示例实施例中,在集成电路中具体化该装置。
在根据本发明的另一示例实施例中,提供一种有形编码有计算机程序的计算机可读介质。该计算机可读介质用可由处理器执行以执行动作的计算机程序来有形地编码。动作包括在存储器设备处从主机接收一个或者多个访问命令,一个或者多个访问命令指令存储器设备访问至少两个数据块。访问至少两个数据块。动作也包括由存储器设备至少部分地基于访问至少两个数据块的顺序生成用于至少两个数据块的预取信息。
在以上计算机可读介质的又一示例实施例中,生成预取信息还基于主机提供的信息和/或用于存储器设备的控制器中的规则。
在以上计算机可读介质中的任一计算机可读介质的另一示例实施例中,一个或者多个访问命令中的每个访问命令与上下文标识符、任务标签、预取标识符和/或组编号的索引信息相关联。
在以上计算机可读介质的又一示例实施例中,一个或者多个访问命令包括第一访问命令和第二访问命令,并且第一访问命令和第二访问命令包括相同索引信息。
在以上计算机可读介质的另一示例实施例中,接收一个或者多个访问命令包括:在第一时间接收包括第一索引信息的第一访问命令,在第一时间之后的第二时间接收第二访问命令,其中第二访问命令包括与第一索引信息不同的第二索引信息,并且在第二时间之后的第三时间接收包括第一索引信息的第三访问命令。
在以上计算机可读介质的又一示例实施例中,生成预取信息包括将响应于第一访问命令而访问的最后数据块链接到响应于第三访问命令而访问的第一数据块。
在以上计算机可读介质的另一示例实施例中,生成预取信息包括开始用于响应于第三访问命令而访问的第一数据块的新链接数据会话。响应于具有同一索引信息的访问命令而访问的数据块在链接数据会话期间被链接。
在以上计算机可读介质的又一示例实施例中,响应于具有相匹配索引信息的访问命令而访问的数据块在链接数据会话期间被链接,并且所述动作还包括响应于以下各项之一开始新链接数据会话:在具有所述相匹配索引信息的先前访问命令之后流逝预定时间、在所述链接数据会话开始之后流逝一时间和控制寄存器的改变。
在以上计算机可读介质中的任一计算机可读介质的另一示例实施例中,其中生成预取信息包括将至少两个数据块中的第一数据块链接到至少两个数据块中的下一随后访问的数据块。
在以上计算机可读介质中的任一计算机可读介质的又一示例实施例中,一个或者多个访问命令包括读取命令和/或写入命令。
在以上计算机可读介质中的任一计算机可读介质的另一示例实施例中,预取信息包括用于在读取第一个块时预取至少两个块的指令。
在以上计算机可读介质中的任一计算机可读介质的又一示例实施例中,动作还包括:接收指令存储器设备向主机提供第一读取数据块的第一读取命令;向主机提供第一读取数据块;基于预取信息确定随后读取数据块;预取随后读取数据块;在预取随后读取数据块之后,接收指令存储器设备向主机提供随后读取数据块的第二读取命令;以及向主机提供预取的随后读取数据块。
在以上计算机可读介质的另一示例实施例中,动作还包括:接收用于停止生成用于存储器设备的至少部分的预取信息的命令;以及阻止在访问存储器设备的一部分中的数据块时生成预取信息。
在以上计算机可读介质的又一示例实施例中,动作还包括:接收指令存储器设备访问两个或者更多数据块中的一个或者多个数据块的一个或者多个附加访问命令;以及基于响应于一个或者多个访问命令访问的数据块的顺序来去除预取信息。
在以上计算机可读介质的另一示例实施例中,存储器设备包括一个或者多个NAND存储器存储设备。
在以上计算机可读介质的又一示例实施例中,计算机可读介质为非瞬态计算机可读介质(例如RAM、ROM、CD-ROM、闪存等)。
在根据本发明的另一示例实施例中,提供一种用于为移动存储器设备启用高速缓存读取优化的装置。该装置包括:用于在存储器设备(例如处理器)处从主机接收一个或者多个访问命令的装置,一个或者多个访问命令指令存储器设备访问至少两个数据块;用于(例如处理器)访问至少两个数据块的装置;以及用于由存储器设备(例如处理器)至少部分地基于访问至少两个数据块的顺序来生成用于至少两个数据块的预取信息的装置。
在以上装置的另一示例实施例中,生成装置用于基于主机提供的信息和/或用于存储器设备的控制器中的规则生成预取信息。
在以上装置中的任一装置的又一示例实施例中,一个或者多个访问命令中的每个访问命令与包括上下文标识符、任务标签、预取标识符和/或组编号的索引信息相关联。
在以上装置的另一示例实施例中,一个或者多个访问命令包括第一访问命令和第二访问命令,并且第一访问命令和第二访问命令包括相同索引信息。
在以上装置的又一示例实施例中,接收装置包括:用于在第一时间接收包括第一索引信息的第一访问命令的装置,用于在第一时间之后的第二时间接收第二访问命令的装置,其中第二访问命令包括与第一索引信息不同的第二索引信息,以及用于在第二时间之后的第三时间接收包括第一索引信息的第三访问命令的装置。
在以上装置的另一示例实施例中,生成装置包括用于将响应于第一访问命令而访问的最后数据块链接到响应于第三访问命令而访问的第一数据块的装置。
在以上装置的又一示例实施例中,生成装置包括用于开始用于响应于第三访问命令而访问的第一数据块的新链接数据会话的装置。响应于具有同一索引信息的访问命令而访问的数据块在链接数据会话期间被链接。
在以上装置的另一示例实施例中,响应于具有相匹配索引信息的访问命令而访问的数据块在链接数据会话期间被链接,并且该装置还包括用于响应于以下各项开始新链接数据会话的装置:在具有所述相匹配索引信息的先前访问命令之后流逝预定时间、在所述链接数据会话开始之后流逝一时间和控制寄存器的改变。
在以上装置中的任一装置的另一示例实施例中,生成装置包括用于将至少两个数据块中的第一数据块链接到至少两个数据块中的下一随后访问的数据块的装置。
在以上装置中的任一装置的又一示例实施例中,一个或者多个访问命令包括读取命令和/或写入命令。
在以上装置中的任一装置的另一示例实施例中,预取信息包括用于在读取第一个块时预取至少两个块的指令。
在以上装置中的任一装置的又一示例实施例中,该装置还包括:用于接收指令存储器设备向主机提供第一读取数据块的第一读取命令的装置;用于向主机提供第一读取数据块的装置;用于基于预取信息确定随后读取数据块的装置;用于预取随后读取数据块的装置;用于在预取随后读取数据块之后接收指令存储器设备向主机提供随后读取数据块的第二读取命令的装置;以及用于向主机提供预取的随后读取数据块的装置。
在以上装置的另一示例实施例中,该装置也包括:用于接收用于停止生成用于存储器设备的至少一部分的预取信息的命令的装置;以及用于阻止在访问存储器设备的一部分中的数据块时生成预取信息的装置。
在以上装置的又一示例实施例中,该装置也包括:用于接收指令存储器设备访问两个或者更多数据块中的一个或者多个数据块的一个或者多个附加访问命令的装置;以及用于基于响应于一个或者多个访问命令而访问的数据块的顺序来去除预取信息的装置。
因此应当理解,可以在各种部件、比如集成电路核片和模块中实现本发明的示例实施例的至少一些方面,并且可以在体现为集成电路的装置中实现本发明的示例实施例。该一个或者多个集成电路可以包括电路装置(以及可能包括固件),该电路装置(以及可能该固件)用于体现可被配置用于根据本发明的示例实施例操作的一个或者多个数据处理器、一个或者多个数字信号处理器、基带电路装置和射频电路装置中的至少一项或者多项。
对本发明的前述示例实施例的各种修改和适配鉴于在与附图结合阅读时的前文描述可以变得为相关领域技术人员所清楚。然而任何和所有修改仍将落入本发明的非限制和示例实施例的范围内。
应当注意,术语“连接”、“耦合”或者其任何变体意味着在两个或者更多单元之间的任何直接或者间接连接或者耦合并且可以涵盖一个或者多个中间单元存在于“连接”或者“耦合”在一起的两个单元之间。在单元之间的耦合或者连接可以是物理的、逻辑的或者其组合。如这里运用的那样,作为若干非限制和非穷举示例,可以考虑通过使用一个或者多个接线、线缆和/或印刷电连接以及通过使用电磁能、比如具有在射频区域、微波区域和光学(可见光和不可见光二者)区域中的波长的电磁能将两个单元“连接”或者“耦合”在一起。
另外,用于描述的参数的各种名称(例如ID、标记等)并非旨在于在任何方面限制,因为这些参数可以由任何适当名称标识。
另外,本发明的各种非限制和示例实施例的特征中的一些特征在未对应使用其它特征时仍可有利地加以使用。这样,前文描述应当视为仅举例说明而非限制本发明的原理、教导和示例实施例。

Claims (59)

1.一种方法,包括:
在存储器设备处从主机接收至少一个访问命令,所述至少一个访问命令指令所述存储器设备访问至少两个数据块;
访问所述至少两个数据块;以及
由所述存储器设备至少部分地基于访问所述至少两个数据块的顺序来生成用于所述至少两个数据块的预取信息。
2.根据权利要求1所述的方法,其中生成所述预取信息还基于以下各项中的至少一项:由所述主机提供的信息,以及用于所述存储器设备的控制器中的规则。
3.根据权利要求1或者2中的任一权利要求所述的方法,其中所述至少一个访问命令中的每个访问命令与包括以下各项中的至少一项的索引信息相关联:上下文标识符、任务标签、预取标识符和组编号。
4.根据权利要求3所述的方法,其中所述至少一个访问命令包括第一访问命令和第二访问命令,并且
所述第一访问命令和所述第二访问命令包括相同索引信息。
5.根据权利要求3所述的方法,其中接收所述至少一个访问命令包括:
在第一时间接收包括第一索引信息的第一访问命令,
在所述第一时间之后的第二时间接收第二访问命令,其中所述第二访问命令包括与所述第一索引信息不同的第二索引信息,以及
在所述第二时间之后的第三时间接收包括所述第一索引信息的第三访问命令。
6.根据权利要求5所述的方法,其中生成所述预取信息包括将响应于所述第一访问命令而访问的最后数据块链接到响应于所述第三访问命令而访问的第一数据块。
7.根据权利要求5所述的方法,其中生成所述预取信息包括开始用于响应于所述第三访问命令而访问的第一数据块的新链接数据会话,
其中响应于具有同一索引信息的访问命令而访问的数据块在链接数据会话期间被链接。
8.根据权利要求3所述的方法,其中响应于具有相匹配索引信息的访问命令而访问的数据块在链接数据会话期间被链接,并且所述方法还包括响应于以下各项之一开始新链接数据会话:在具有所述相匹配索引信息的先前访问命令之后流逝预定时间、在所述链接数据会话开始之后流逝一时间和控制寄存器的改变。
9.根据权利要求1至4中的任一权利要求所述的方法,其中生成所述预取信息包括将所述至少两个数据块中的第一数据块链接到所述至少两个数据块中的下一随后访问的数据块。
10.根据前述权利要求中的任一权利要求所述的方法,其中所述至少一个访问命令包括读取命令和写入命令中的至少一个命令。
11.根据权利要求1至10中的任一权利要求所述的方法,其中所述预取信息包括用于在读取第一个块时预取至少两个块的指令。
12.根据前述权利要求中的任一权利要求所述的方法,还包括:
接收指令所述存储器设备向所述主机提供第一读取数据块的第一读取命令;
向所述主机提供所述第一读取数据块;
基于所述预取信息确定随后读取数据块;
预取所述随后读取数据块;
在预取所述随后读取数据块之后,接收指令所述存储器设备向所述主机提供所述随后读取数据块的第二读取命令;以及
向所述主机提供预取的所述随后读取数据块。
13.根据权利要求1所述的方法,还包括:接收用于停止生成用于所述存储器设备的至少一部分的预取信息的命令;以及
阻止在访问所述存储器设备的所述一部分中的数据块时生成预取信息。
14.根据权利要求1所述的方法,还包括:接收指令所述存储器设备访问所述至少两个数据块中的至少一个数据块的至少一个附加访问命令;以及
基于响应于所述至少一个附加访问命令而访问的数据块的顺序来去除所述预取信息。
15.根据前述权利要求中的任一权利要求所述的方法,其中所述存储器设备包括至少一个NAND存储器存储设备。
16.一种装置,包括:至少一个处理器;以及包括计算机程序代码的至少一个存储器,所述至少一个存储器和所述计算机程序代码被配置用于利用所述至少一个处理器使所述装置至少执行以下操作:
在存储器设备处从主机接收至少一个访问命令,所述至少一个访问命令指令所述存储器设备访问至少两个数据块;
访问所述至少两个数据块;以及
由所述存储器设备至少部分地基于访问所述至少两个数据块的顺序来生成用于所述至少两个数据块的预取信息。
17.根据权利要求16所述的装置,其中生成所述预取信息还基于以下各项中的至少一项:所述主机提供的信息,以及用于所述存储器设备的控制器中的规则。
18.根据权利要求16或者17中的任一权利要求所述的装置,其中所述至少一个访问命令中的每个访问命令与包括以下各项中的至少一项的索引信息相关联:上下文标识符、任务标签、预取标识符和组编号。
19.根据权利要求18所述的装置,其中所述至少一个访问命令包括第一访问命令和第二访问命令,并且
所述第一访问命令和所述第二访问命令包括相同索引信息。
20.根据权利要求18所述的装置,其中在接收所述至少一个访问命令时,所述至少一个存储器和所述计算机程序代码还被配置用于使所述装置:
在第一时间接收包括第一索引信息的第一访问命令,
在所述第一时间之后的第二时间接收第二访问命令,其中所述第二访问命令包括与所述第一索引信息不同的第二索引信息,以及
在所述第二时间之后的第三时间接收包括所述第一索引信息的第三访问命令。
21.根据权利要求20所述的装置,其中在生成所述预取信息时,所述至少一个存储器和所述计算机程序代码还被配置用于使所述装置将响应于所述第一访问命令而访问的最后数据块链接到响应于所述第三访问命令而访问的第一数据块。
22.根据权利要求20所述的装置,其中在生成所述预取信息时,所述至少一个存储器和所述计算机程序代码还被配置用于使所述装置开始用于响应于所述第三访问命令而访问的第一数据块的新链接数据会话,
其中响应于具有同一索引信息的访问命令而访问的数据块在链接数据会话期间被链接。
23.根据权利要求18所述的装置,其中响应于具有相匹配索引信息的访问命令而访问的数据块在链接数据会话期间被链接,并且所述至少一个存储器和所述计算机程序代码还被配置用于使所述装置响应于以下各项之一开始新链接数据会话:在具有所述相匹配索引信息的先前访问命令之后流逝预定时间、在所述链接数据会话开始之后流逝一时间和控制寄存器的改变。
24.根据权利要求16至19中的任一权利要求所述的装置,其中在生成所述预取信息时,所述至少一个存储器和所述计算机程序代码还被配置用于使所述装置将所述至少两个数据块中的第一数据块链接到所述至少两个数据块中的下一随后访问的数据块。
25.根据前述权利要求中的任一权利要求所述的装置,其中所述至少一个访问命令包括读取命令和写入命令中的至少一个命令。
26.根据权利要求16至25中的任一权利要求所述的装置,其中所述预取信息包括用于在读取第一个块时预取至少两个块的指令。
27.根据前述权利要求中的任一权利要求所述的装置,所述至少一个存储器和所述计算机程序代码还被配置用于使所述装置:
接收指令所述存储器设备向所述主机提供第一读取数据块的第一读取命令;
向所述主机提供所述第一读取数据块;
基于所述预取信息确定随后读取数据块;
预取所述随后读取数据块;
在预取所述随后读取数据块之后,接收指令所述存储器设备向所述主机提供所述随后读取数据块的第二读取命令;以及
向所述主机提供预取的所述随后读取数据块。
28.根据权利要求16所述的装置,所述至少一个存储器和所述计算机程序代码还被配置用于使所述装置接收用于停止生成用于所述存储器设备的至少一部分的预取信息的命令;以及
阻止在访问所述存储器设备的所述一部分中的数据块时生成预取信息。
29.根据权利要求16所述的装置,所述至少一个存储器和所述计算机程序代码还被配置用于使所述装置接收指令所述存储器设备访问所述至少两个数据块中的至少一个数据块的至少一个附加访问命令;以及
基于响应于所述至少一个访问命令而访问的数据块的顺序来去除所述预取信息。
30.根据前述权利要求中的任一权利要求所述的装置,其中在集成电路中具体化所述装置。
31.一种有形编码有计算机程序的计算机可读介质,所述计算机程序可由处理器执行以执行动作,所述动作包括:
在存储器设备处从主机接收至少一个访问命令,所述至少一个访问命令指令所述存储器设备访问至少两个数据块;
访问所述至少两个数据块;以及
由所述存储器设备至少部分地基于访问所述至少两个数据块的顺序来生成用于所述至少两个数据块的预取信息。
32.根据权利要求31所述的计算机可读介质,其中生成所述预取信息还基于以下各项中的至少一项:所述主机提供的信息,以及用于所述存储器设备的控制器中的规则。
33.根据权利要求31或者32中的任一权利要求所述的计算机可读介质,其中所述至少一个访问命令中的每个访问命令与包括以下各项中的至少一项的索引信息相关联:上下文标识符、任务标签、预取标识符和组编号。
34.根据权利要求33所述的计算机可读介质,其中所述至少一个访问命令包括第一访问命令和第二访问命令,并且
所述第一访问命令和所述第二访问命令包括相同索引信息。
35.根据权利要求33所述的计算机可读介质,其中接收所述至少一个访问命令包括:
在第一时间接收包括第一索引信息的第一访问命令,
在所述第一时间之后的第二时间接收第二访问命令,其中所述第二访问命令包括与所述第一索引信息不同的第二索引信息,以及
在所述第二时间之后的第三时间接收包括所述第一索引信息的第三访问命令。
36.根据权利要求35所述的计算机可读介质,其中生成所述预取信息包括将响应于所述第一访问命令而访问的最后数据块链接到响应于所述第三访问命令而访问的第一数据块。
37.根据权利要求35所述的计算机可读介质,其中生成所述预取信息包括开始用于响应于所述第三访问命令而访问的第一数据块的新链接数据会话,
其中响应于具有同一索引信息的访问命令而访问的数据块在链接数据会话期间被链接。
38.根据权利要求33所述的计算机可读介质,其中响应于具有相匹配索引信息的访问命令而访问的数据块在链接数据会话期间被链接,并且所述动作还包括响应于以下各项之一开始新链接数据会话:在具有所述相匹配索引信息的先前访问命令之后流逝预定时间、在所述链接数据会话开始之后流逝一时间和控制寄存器的改变。
39.根据权利要求31至34中的任一权利要求所述的计算机可读介质,其中生成所述预取信息包括将所述至少两个数据块中的第一数据块链接到所述至少两个数据块中的下一随后访问的数据块。
40.根据前述权利要求中的任一权利要求所述的计算机可读介质,其中所述至少一个访问命令包括读取命令和写入命令中的至少一个命令。
41.根据权利要求31至40中的任一权利要求所述的计算机可读介质,其中所述预取信息包括用于在读取第一个块时预取至少两个块的指令。
42.根据前述权利要求中的任一权利要求所述的计算机可读介质,其中所述动作还包括:
接收指令所述存储器设备向所述主机提供第一读取数据块的第一读取命令;
向所述主机提供所述第一读取数据块;
基于所述预取信息确定随后读取数据块;
预取所述随后读取数据块;
在预取所述随后读取数据块之后,接收指令所述存储器设备向所述主机提供所述随后读取数据块的第二读取命令;以及
向所述主机提供预取的所述随后读取数据块。
43.根据权利要求31所述的计算机可读介质,其中所述动作还包括:接收用于停止生成用于所述存储器设备的至少一部分的预取信息的命令;以及
阻止在访问所述存储器设备的所述一部分中的数据块时生成预取信息。
44.根据权利要求31所述的计算机可读介质,其中所述动作还包括:接收指令所述存储器设备访问所述至少两个数据块中的至少一个数据块的至少一个附加访问命令;以及
基于响应于所述至少一个访问命令而访问的数据块的顺序来去除所述预取信息。
45.根据前述权利要求中的任一权利要求所述的计算机可读介质,其中所述存储器设备包括至少一个NAND存储器存储设备。
46.一种装置,包括:
用于在存储器设备处从主机接收至少一个访问命令的装置,所述至少一个访问命令指令所述存储器设备访问至少两个数据块;
用于访问所述至少两个数据块的装置;以及
用于由所述存储器设备至少部分地基于访问所述至少两个数据块的顺序来生成用于所述至少两个数据块的预取信息的装置。
47.根据权利要求46所述的装置,其中所述生成装置用于基于以下各项中的至少一项来生成所述预取信息:由所述主机提供的信息,以及用于所述存储器设备的控制器中的规则。
48.根据权利要求46或者47中的任一权利要求所述的装置,其中所述至少一个访问命令中的每个访问命令与包括以下各项中的至少一项的索引信息相关联:上下文标识符、任务标签、预取标识符和组编号。
49.根据权利要求48所述的装置,其中所述至少一个访问命令包括第一访问命令和第二访问命令,并且
所述第一访问命令和所述第二访问命令包括相同索引信息。
50.根据权利要求48所述的装置,其中所述接收装置包括:
用于在第一时间接收包括第一索引信息的第一访问命令的装置,
用于在所述第一时间之后的第二时间接收第二访问命令的装置,其中所述第二访问命令包括与所述第一索引信息不同的第二索引信息,以及
用于在所述第二时间之后的第三时间接收包括所述第一索引信息的第三访问命令的装置。
51.根据权利要求50所述的装置,其中所述生成装置包括用于将响应于所述第一访问命令而访问的最后数据块链接到响应于所述第三访问命令而访问的第一数据块的装置。
52.根据权利要求50所述的装置,其中所述生成装置包括用于开始用于响应于所述第三访问命令而访问的第一数据块的新链接数据会话的装置,
其中响应于具有同一索引信息的访问命令而访问的数据块在链接数据会话期间被链接。
53.根据权利要求48所述的装置,其中响应于具有相匹配索引信息的访问命令而访问的数据块在链接数据会话期间被链接,并且还包括用于响应于以下各项之一开始新链接数据会话的装置:在具有所述相匹配索引信息的先前访问命令之后流逝预定时间、在所述链接数据会话开始之后流逝一时间和控制寄存器的改变。
54.根据权利要求46至49中的任一权利要求所述的装置,其中所述生成装置包括用于将所述至少两个数据块中的第一数据块链接到所述至少两个数据块中的下一随后访问的数据块的装置。
55.根据前述权利要求中的任一权利要求所述的装置,其中所述至少一个访问命令包括读取命令和写入命令中的至少一个命令。
56.根据权利要求46至55中的任一权利要求所述的装置,其中所述预取信息包括用于在读取第一个块时预取至少两个块的指令。
57.根据前述权利要求中的任一权利要求所述的装置,还包括:
用于接收指令所述存储器设备向所述主机提供第一读取数据块的第一读取命令的装置;
用于向所述主机提供所述第一读取数据块的装置;
用于基于所述预取信息确定随后读取数据块的装置;
用于预取所述随后读取数据块的装置;
用于在预取所述随后读取数据块之后接收指令所述存储器设备向所述主机提供所述随后读取数据块的第二读取命令的装置;以及
用于向所述主机提供预取的所述随后读取数据块的装置。
58.根据权利要求46所述的装置,还包括:用于接收用于停止生成用于所述存储器设备的至少一部分的预取信息的命令的装置;以及
用于阻止在访问所述存储器设备的所述一部分中的数据块时生成预取信息的装置。
59.根据权利要求46所述的装置,还包括:用于接收指令所述存储器设备访问所述至少两个数据块中的至少一个数据块的至少一个附加访问命令的装置;以及
用于基于响应于所述至少一个访问命令而访问的数据块的顺序来去除所述预取信息的装置。
CN201280043687.6A 2011-07-11 2012-06-13 移动存储器高速缓存读取优化 Pending CN103907095A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/179,689 US8560778B2 (en) 2011-07-11 2011-07-11 Accessing data blocks with pre-fetch information
US13/179,689 2011-07-11
PCT/FI2012/050592 WO2013007870A1 (en) 2011-07-11 2012-06-13 Mobile memory cache read optimization

Publications (1)

Publication Number Publication Date
CN103907095A true CN103907095A (zh) 2014-07-02

Family

ID=47505558

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280043687.6A Pending CN103907095A (zh) 2011-07-11 2012-06-13 移动存储器高速缓存读取优化

Country Status (7)

Country Link
US (3) US8560778B2 (zh)
EP (1) EP2732374B1 (zh)
JP (1) JP2014523046A (zh)
KR (1) KR20140045553A (zh)
CN (1) CN103907095A (zh)
HK (1) HK1199664A1 (zh)
WO (1) WO2013007870A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111813711A (zh) * 2020-08-31 2020-10-23 腾讯科技(深圳)有限公司 训练样本数据的读取方法和装置、存储介质及电子设备
CN113934666A (zh) * 2020-07-14 2022-01-14 美光科技公司 数据接口桥的预取

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140149650A1 (en) * 2012-11-29 2014-05-29 Jason Caulkins Caching Program Optimization
US9547457B1 (en) * 2013-09-27 2017-01-17 Veritas Technologies Llc Detection of file system mounts of storage devices
WO2015089488A1 (en) 2013-12-12 2015-06-18 Memory Technologies Llc Channel optimized storage modules
US9489226B2 (en) * 2014-06-06 2016-11-08 PernixData, Inc. Systems and methods to manage write commands in a cache
US10824335B2 (en) 2014-07-14 2020-11-03 Western Digital Technologies, Inc. Device and method to store predicted data at a host memory
CN104571951B (zh) * 2014-12-19 2018-04-20 上海新储集成电路有限公司 Emmc/ufs卡及其提高emmc/ufs卡读性能的方法
US10152237B2 (en) 2016-05-05 2018-12-11 Micron Technology, Inc. Non-deterministic memory protocol
US10534540B2 (en) 2016-06-06 2020-01-14 Micron Technology, Inc. Memory protocol
US10585624B2 (en) 2016-12-01 2020-03-10 Micron Technology, Inc. Memory protocol
CN109871181A (zh) * 2017-12-01 2019-06-11 航天信息股份有限公司 一种对象存取方法及装置
US10445076B1 (en) * 2018-05-07 2019-10-15 Sap Se Cache efficient reading of result values in a column store database
US11372762B2 (en) 2020-07-14 2022-06-28 Micron Technology, Inc. Prefetch buffer of memory sub-system
KR102472330B1 (ko) * 2021-11-15 2022-11-30 삼성전자주식회사 컨텍스트 기반 프리페치를 수행하는 분산 메모리 시스템의 구동 방법 및 이를 수행하는 메모리 시스템

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6378031B1 (en) * 1998-07-07 2002-04-23 Matsushita Electric Industrial Co., Ltd. Data processing apparatus and file management method therefor
US20020057708A1 (en) * 2000-07-31 2002-05-16 Galbi Duane E. Enhancing performance by pre-fetching and caching data directly in a communication processor's register set
US20060031635A1 (en) * 2004-08-09 2006-02-09 Ofir Zohar System method and circuit for retrieving into cache data from one or more mass data storage devices
US20060112232A1 (en) * 2004-08-09 2006-05-25 Xiv Ltd. Method and apparatus for managing a cache memory in a mass-storage system
WO2007138585A1 (en) * 2006-05-29 2007-12-06 Sandisk Il Ltd. Predictive data-loader
CN101120326A (zh) * 2005-02-15 2008-02-06 麦斯韦尔技术股份有限公司 有效利用电子系统中的处理器高速缓存器的方法
KR20090007084A (ko) * 2007-07-13 2009-01-16 한국과학기술원 디스크 어레이 매스 프리페칭 방법
US20090198904A1 (en) * 2008-02-01 2009-08-06 Arimilli Ravi K Techniques for Data Prefetching Using Indirect Addressing with Offset
US20100082890A1 (en) * 2008-09-30 2010-04-01 Jin Gyu Heo Method of managing a solid state drive, associated systems and implementations

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0646382B2 (ja) 1987-10-05 1994-06-15 日本電気株式会社 プリフェッチキュー制御方式
JPH0490038A (ja) * 1990-08-02 1992-03-24 Agency Of Ind Science & Technol データ処理装置
JP3183993B2 (ja) * 1993-03-31 2001-07-09 株式会社東芝 ディスク制御システム
US5778436A (en) 1995-03-06 1998-07-07 Duke University Predictive caching system and method based on memory access which previously followed a cache miss
US5896517A (en) * 1997-08-18 1999-04-20 Bull Hn Information Systems Inc. High performance processor employing background memory move mechanism
US5948095A (en) 1997-12-31 1999-09-07 Intel Corporation Method and apparatus for prefetching data in a computer system
JP3522527B2 (ja) * 1998-03-27 2004-04-26 富士通株式会社 入出力制御装置および入出力制御方法
US6247107B1 (en) * 1998-04-06 2001-06-12 Advanced Micro Devices, Inc. Chipset configured to perform data-directed prefetching
US6341370B1 (en) 1998-04-24 2002-01-22 Sun Microsystems, Inc. Integration of data prefetching and modulo scheduling using postpass prefetch insertion
JP3741870B2 (ja) 1998-08-07 2006-02-01 富士通株式会社 命令及びデータの先読み方法、マイクロコントローラ、疑似命令検出回路
US7181574B1 (en) * 2003-01-30 2007-02-20 Veritas Operating Corporation Server cluster using informed prefetching
KR100546403B1 (ko) * 2004-02-19 2006-01-26 삼성전자주식회사 감소된 메모리 버스 점유 시간을 가지는 시리얼 플레쉬메모리 컨트롤러
US7443848B2 (en) * 2004-09-29 2008-10-28 Intel Corporation External device-based prefetching mechanism
US20070067698A1 (en) * 2005-09-19 2007-03-22 King Steven R Techniques to perform prefetching of content in connection with integrity validation value determination
US9798528B2 (en) * 2006-09-13 2017-10-24 International Business Machines Corporation Software solution for cooperative memory-side and processor-side data prefetching
JP4643667B2 (ja) 2008-03-01 2011-03-02 株式会社東芝 メモリシステム
US7822731B1 (en) * 2008-03-28 2010-10-26 Emc Corporation Techniques for management of information regarding a sequential stream
JP2010186524A (ja) * 2009-02-13 2010-08-26 Toshiba Storage Device Corp 情報記憶装置及びデータの記録再生方法
US8255633B2 (en) * 2009-11-13 2012-08-28 International Business Machines Corporation List based prefetch
US8291172B2 (en) * 2010-04-27 2012-10-16 Via Technologies, Inc. Multi-modal data prefetcher
US8683136B2 (en) * 2010-12-22 2014-03-25 Intel Corporation Apparatus and method for improving data prefetching efficiency using history based prefetching

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6378031B1 (en) * 1998-07-07 2002-04-23 Matsushita Electric Industrial Co., Ltd. Data processing apparatus and file management method therefor
US20020057708A1 (en) * 2000-07-31 2002-05-16 Galbi Duane E. Enhancing performance by pre-fetching and caching data directly in a communication processor's register set
US20060031635A1 (en) * 2004-08-09 2006-02-09 Ofir Zohar System method and circuit for retrieving into cache data from one or more mass data storage devices
US20060112232A1 (en) * 2004-08-09 2006-05-25 Xiv Ltd. Method and apparatus for managing a cache memory in a mass-storage system
CN101120326A (zh) * 2005-02-15 2008-02-06 麦斯韦尔技术股份有限公司 有效利用电子系统中的处理器高速缓存器的方法
WO2007138585A1 (en) * 2006-05-29 2007-12-06 Sandisk Il Ltd. Predictive data-loader
KR20090007084A (ko) * 2007-07-13 2009-01-16 한국과학기술원 디스크 어레이 매스 프리페칭 방법
US20090198904A1 (en) * 2008-02-01 2009-08-06 Arimilli Ravi K Techniques for Data Prefetching Using Indirect Addressing with Offset
US20100082890A1 (en) * 2008-09-30 2010-04-01 Jin Gyu Heo Method of managing a solid state drive, associated systems and implementations

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113934666A (zh) * 2020-07-14 2022-01-14 美光科技公司 数据接口桥的预取
CN113934666B (zh) * 2020-07-14 2024-04-26 美光科技公司 数据接口桥的预取
CN111813711A (zh) * 2020-08-31 2020-10-23 腾讯科技(深圳)有限公司 训练样本数据的读取方法和装置、存储介质及电子设备
CN111813711B (zh) * 2020-08-31 2020-12-29 腾讯科技(深圳)有限公司 训练样本数据的读取方法和装置、存储介质及电子设备

Also Published As

Publication number Publication date
WO2013007870A1 (en) 2013-01-17
EP2732374A4 (en) 2015-04-15
EP2732374B1 (en) 2020-09-30
US8560778B2 (en) 2013-10-15
US20130019065A1 (en) 2013-01-17
US9223707B2 (en) 2015-12-29
EP2732374A1 (en) 2014-05-21
KR20140045553A (ko) 2014-04-16
US20160085680A1 (en) 2016-03-24
JP2014523046A (ja) 2014-09-08
HK1199664A1 (zh) 2015-07-10
US20140006719A1 (en) 2014-01-02

Similar Documents

Publication Publication Date Title
CN103907095A (zh) 移动存储器高速缓存读取优化
US11782647B2 (en) Managing operational state data in memory module
CN110312156B (zh) 一种视频缓存方法、装置及可读存储介质
KR102219845B1 (ko) 어드레스를 압축하기 위한 방법 및 장치
CN100481028C (zh) 一种利用缓存实现数据存储的方法和装置
CN104246726A (zh) 用于维持高速缓存一致性的只写无数据状态
US20150143045A1 (en) Cache control apparatus and method
CN106030549A (zh) 用于对晶片外高速缓存存储器的标签集高速缓存的方法、装置和系统
US9003107B2 (en) Method for adjusting storage space of partition of embedded multimedia card and terminal
JP2016502716A (ja) 電子書籍ドキュメント処理方法、端末、電子機器、プログラム及び記録媒体
CN105430478A (zh) 一种网络视频缓冲播放方法、装置及电视机
JP2017519294A (ja) フラッシュメモリベースストレージデバイスのマルチホスト電力コントローラ(mhpc)
CN109710396A (zh) 一种信息采集及内存释放的方法及装置
CN106528638A (zh) 删除备份数据的方法及移动终端
CN103823851B (zh) 网页显示方法和装置
US9483195B2 (en) Response reading method and data transmission system
CN108132757B (zh) 数据的存储方法、装置及电子设备
CN102023822B (zh) 对主机清缓存的方法及系统
CN101382724B (zh) 一种文档投影管理装置和方法
KR101823446B1 (ko) 압축된 무선 펌웨어 백업
US20130097381A1 (en) Management apparatus, management method, and program
CN117289874A (zh) 地址映射关系存储方法、安全访问方法及存储设备
CN104598497A (zh) 用于在电子设备中构成汉字的方法和装置
KR20130081806A (ko) 휴대 단말기에서 데이터 수신의 오류 복구 방법 및 장치
CN104142894A (zh) 一种数据读写方法、存储控制器及计算机

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1199664

Country of ref document: HK

C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20140702

REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1199664

Country of ref document: HK