CN103946818A - 用于应用的执行的存储量 - Google Patents

用于应用的执行的存储量 Download PDF

Info

Publication number
CN103946818A
CN103946818A CN201180074947.1A CN201180074947A CN103946818A CN 103946818 A CN103946818 A CN 103946818A CN 201180074947 A CN201180074947 A CN 201180074947A CN 103946818 A CN103946818 A CN 103946818A
Authority
CN
China
Prior art keywords
application
segmentation
nonvolatile memory
memory
data
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
CN201180074947.1A
Other languages
English (en)
Inventor
W.A.加斯帕德
F.C.托马斯三世
C.W.苏
C.J.格拉哈姆
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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of CN103946818A publication Critical patent/CN103946818A/zh
Pending legal-status Critical Current

Links

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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • G06F9/4451User profiles; Roaming

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

示例公开了基于对与应用相关联的数据的检查来确定与用户偏好相关联的用于应用的执行的存储量。此外,该示例公开了向非易失性存储器传送分配对应于用于应用的执行的存储量的分段的请求。此外,该示例还公开了接收对分段来说可用的存储量的响应以及针对应用的执行而预留分段的部分。

Description

用于应用的执行的存储量
背景技术
计算设备上的应用在过去若干年中已变得数目众多,然而,计算装置具有有限的能力来高效地执行这些应用。存储在磁盘驱动器中的应用被存储在栈中,因此,为了访问该应用,必须按先入先出顺序进行该访问,因此花费许多时间来访问应用,产生更长的响应时间以呈现给用户。频繁访问的应用可以被保存以通过高速缓存更快速访问,然而,这可能变得成本过高,因为高速缓冲存储器是更昂贵的。此外,存储器在大小上受限制,并且照此,高速缓存整个应用占用许多空间,盖写现存的高速缓存的应用且减慢计算装置的效率。另外,可以根据操作系统来保存应用,这可能导致用户可能不期望高速缓存的应用被高速缓存。
此外,限制与要高速缓存的应用有关的数据要求来自用户的用于理解如何高速缓存该数据的技术知识和可用的存储容量。例如,用户可能想要高速缓存应用的执行文件而不是整个应用,但是这要求用户知道该应用和/或存储器的组件的理解以供用户手动完成。
附图说明
在附图中,相似的数字指代相似的组件或块。后面的详细描述参考附图,附图中:
图1是用于针对应用的执行而预留分段的部分的示例性计算装置的框图;
图2是与应用有关的示例性数据的框图;
图3是具有固态驱动器和磁盘驱动器的用于通过计算装置或服务器检查与应用有关的数据的示例性计算装置的框图;
图4是在计算装置上执行的用于确定存储量以预留非易失性存储器的分段的部分的示例性方法的流程图;
图5是在计算装置上执行的用于高速缓存与应用有关的数据的示例性方法的流程图;以及
图6是用于基于对与应用有关的数据的检查来确定存储量的示例性计算装置的框图。
具体实施方式
存储器限制(诸如成本和空间)引起低效率的应用执行和计算装置性能。为了解决这些问题,本文中公开的各个示例提供了基于对与应用有关的数据的检查来确定与用户偏好相关联的用于应用的执行的存储量并预留存储器。所确定的用于应用的执行的存储量被认为比针对整个应用预留空间在大小上更小。这允许非易失性存储器为了应用的更高效执行而针对与应用有关的数据预留存储器空间。
此外,本文中公开的确定与用户偏好相关联的存储量的各个示例在非易失性存储器中提供与应用有关的数据的保存以用于对用户的立即响应。在保存数据时,允许对要保存哪些应用和附加数据以用于对应用的更快速访问的用户控制。
具体来说,示例提供了与用户偏好相关联的计算装置以基于对与应用有关的数据的检查来确定存储量。另外,计算装置向非易失性存储器传送分配对应于存储量的分段的请求。此外,计算装置接收对分段来说可用的存储量的响应,并基于这个响应,针对应用的执行而预留分段的部分。与应用有关的数据包括逻辑块地址和/或文件。该文件的实施例包括应用代码、库、介质、可配置文件和/或可执行文件。
在一个实施例中,计算装置还可以在非易失性存储器的分段的部分中高速缓存与应用有关的数据。在另一实施例中,用户偏好包括运行时分析、读写操作计数或用户界面中的至少一个。在这点上,用户偏好允许用户控制要保存哪个应用执行以用于更快速访问。例如,用户可能期望对特定应用的更快速访问。针对应用执行从非易失性存储器的检索比从磁盘驱动器花费更短的时间段,产生更多的响应时间以把应用呈现给用户。在这些示例中,从用户的角度优化有限的非易失性存储器空间以高效地运行和保存这些应用以用于更快速访问。
现在参见附图,图1是示例性计算装置100的框图,示例性计算装置100用于确定存储量并针对应用104的执行而在非易失性存储器112内预留分段114的部分118。计算装置100包括存储器控制器102、应用104和非易失性存储器112。计算装置100的实施例包括客户端装置、个人计算机、台式计算机、膝上型计算机、移动装置、便携式装置或适合于包括组件102、104和112的其它计算装置。另外,要理解的是,虽然计算装置100包括所描绘的组件102、104和112,但是它不应当被限制到包含图1中的组件。例如,除了存储器控制器102和/或附加存储器,计算装置100还可以包含处理器。在另一实施例中,计算装置100包括保持应用104的硬盘驱动器。
存储器控制器102检查与应用104有关的数据106以确定用于应用104的执行的存储量。另外,存储器控制器102根据对与用户偏好108相关联的数据106的检查来确定存储量。此外,存储器控制器102向非易失性存储器112传送分配对应于所确定的存储量的分段114的请求110。另外,存储器控制器102从非易失性存储器112接收关于对分段114来说可用的存储量的响应116。基于这个响应116,存储器控制器102针对应用执行而预留分段114的部分118。存储器控制器102的实施例包括中央处理单元(CPU)、微处理器、处理器图形处理单元(GPU)、视觉处理单元(VPU)、或者适合于检查与应用104有关的数据106、传送请求110和接收响应116的其它可编程装置。
应用104包括与应用104有关的数据106。应用104的实施例包括用于使计算装置100能够执行任务的软件、程序、指令、过程或算法。应用104的另外实施例包括执行和操作应用所需的数据106。例如,应用104包括图形、介质、库、启动文件、可执行文件和逻辑块地址。而应用104的另一实施例包括具有用于执行和操作应用104的数据106的所有组件的整个应用。
与应用104有关的数据106被用于检查,以确定非易失性存储器112中的用于应用104的执行的存储量。将数据106用于检查,针对应用104执行而不是整个应用104预留更小存储量,这还允许对要把什么预留和/或高速缓存到非易失性存储器112中的指导。例如,整个应用可以包括用于执行和操作的所有有关数据,而与应用104有关的数据106的实施例包括用于应用104的执行的逻辑块地址或文件。逻辑块地址可以用于指定供应用104执行的数据块在存储器上的位置。文件可以包括应用代码、可执行文件、启动文件、介质和/或库,如在后面的图中所见。检查作为逻辑块地址或文件的数据106实现对用于应用104的执行的存储器空间的量的确定。另外,除了应用104的执行外,数据106还可以包括附加组件。例如,在游戏应用104中,数据106可以包括针对执行和图形的文件。因为数据106是用于应用104的执行和操作的组件,所以数据106被认为与应用104有关。在实施例中,数据106可以包括指定用于应用104的执行的数据块的位置的逻辑块地址。在另一实施例中,数据106可以包括用于应用104的执行的与应用104有关的文件。另外,在另一实施例中,数据106还可以包括用于应用104的执行的文件和用于优化应用104的性能的附加文件,诸如库或介质。例如,在游戏应用104中,要呈现给用户的与游戏有关的介质可以对应用104的性能来说有益。应用104的有益性能包括通过预留和/或高速缓存与应用104有关的数据106,应用执行和变得对用户来说可访问的响应时间可以被减小并针对用户创建积极体验。
存储器控制器102确定用于应用104的执行的存储量。所确定的存储量是要被预留和/或被高速缓存在非易失性存储器112中的空间的量。该所确定的用于应用104的执行的存储量与用户偏好108相关联。用户偏好108是从用户的角度优化非易失性存储器112中的空间的量以高效地运行和保存应用104的执行以更快速访问的方式。用户偏好108的实施例包括运行时分析、读写操作计数或用户界面。读写操作计数跟踪应用104可被检索和写入到硬盘驱动器或磁盘驱动器的次数。利用运行时分析或读写操作计数作为用户偏好108可以包括达到特定阈值,并且一旦达到阈值,存储器控制器102就确定用于应用104的执行的存储量。达到特定阈值可以是特定应用104应当被保存在非易失性存储器112中以更快速访问的指示。用户界面可以包括图形用户界面,供用户与之交互来控制哪个应用104执行要被预留在非易失性存储器112中。在另一实施例中,用户界面是允许计算装置的用户控制哪些应用和与应用104有关的哪些文件可以被预留以用于高速缓存到非易失性存储器112中的输入。虽然用户偏好108被图示为处于计算装置100的外部,但是它不应当被限制到这个实施例。例如,用户偏好108可以包括读写操作计数以跟踪多久从磁盘驱动器访问与应用104有关的数据106一次。在这个示例中,从计算装置100本地从处理器或存储器控制器102接收用户偏好108。作为另一示例,计算装置100的用户可以与图形用户界面交互以确定用于与应用104有关的数据106的存储量。在这个示例中,计算装置100的用户可以拖放来自应用104的启动文件以确定用于启动文件的存储量。
存储器控制器102把请求110传送到非易失性存储器112。请求110是分配与所确定的用于应用104的执行的存储量相对应的分段114的、到非易失性存储器112的传送。在检查与应用104有关的数据106之后,确定存储量。请求110的实施例包括通信、传送、电信号、指令、数字信号、模拟信号、或者用于分配与所确定的用于应用104的执行的存储量相对应的分段114的其它类型的通信。
非易失性存储器112接收分配与所确定的用于应用104的执行的存储量相对应的分段114的请求110。非易失性存储器112是即使在未被供电时也能够保持所存储的信息的存储器。非易失性存储器112的实施例包括非易失性储存器、只读存储器(ROM)、闪存、记忆电阻器、铁电随机存取存储器(RAM)、硬盘、软盘、硬盘驱动器、磁阻随机存取存储器(MRAM)、纳米驱动器、固态驱动器、或者用于接收针对存储量分配分段114的请求110且传送关于对分段114来说可用的存储器的响应116的其它适合组件。
分段114与根据对与应用106有关的数据106的检查而确定的存储量相对应。分段114涉及非易失性存储器112内的对与应用104有关的数据106来说可用的空间。因此,可以针对与应用104有关的数据106预留和/或高速缓存分段114。不同于在存储器中预配置的数据块,分段114以动态方式操作来配置非易失性存储器112中的用于执行应用104的空间的量。例如,游戏应用可以包括占用非易失性存储器112的较大分段104的数据106,与可能占用非易失性存储器112的较小分段104的文字处理文档应用相对。相应地,为了执行文字处理文档应用,分段114在大小上比执行游戏应用的分段114小。
针对应用104的执行而预留部分118。部分118的实施例包括与分段114类似的存储器空间,其它实施例描绘了使用比分段114更少的存储器空间的部分118。在这点上,根据对与应用104有关的数据116的检查而确定的、用于应用104的执行的存储量在空间存储上可以小于针对分段114分配的存储量。在另一实施例中,部分118可以包括处于分段114内的一个或若干个部分118。
非易失性存储器112把响应116传送到存储器控制器102。响应116是到存储器控制器102的传送,包括非易失性存储器112中可供分段114执行应用104所用的存储量。响应116的实施例116包括通信、传送、电信号、指令、或者关于对分段114来说可用的存储器的其它类型的通信。在响应116的另一实施例中,对分段114来说可用的空间在存储器空间上可以比在请求110中大。在这个实施例中,除应用104的执行外的文件(诸如,库)也可以被预留到分段114。
现在转到图2,与应用有关的示例性数据206的框图被描绘,包括逻辑块地址208和/或文件210。数据206包括如在图1中讨论的数据106的功能。具体来说,图2图示了文件210可以包括以下各项中的至少一个:应用代码212、库214、可执行文件216、介质218和启动文件220。此外,图2描绘了不考虑位置的数据206,因此,数据206可以被定位在非易失性存储器112上或与如图1中的应用104一起定位。检查逻辑块地址208和/或文件210,针对应用的执行而确定存储量。所确定的存储量对应于用于应用的执行的非易失性存储器的空间的量。检查逻辑块地址208和/或文件210,用于执行应用的存储量可以包括整个应用或与应用有关的特定文件210,诸如启动文件220。例如,不是确定应用的整个存储量,而是启动文件220可以执行应用,并且照此,可以检查启动文件220或指定启动文件220的存储器的块的逻辑块地址208以确定存储量。
逻辑块地址208是用于指定文件210在数据块内的位置的方案。检查逻辑块地址208确定用于执行应用的存储量或与应用有关的特定数据,诸如可执行文件216。逻辑块地址208的实施例包括柱面-磁头-扇区方案、基于扇区的寻址、物理块地址、映射地址、磁盘扇区、或者适合于表示用于应用的执行的存储量的其它地址208。
与应用有关的数据206可以包括逻辑块地址208和/或文件210中的至少一个。检查文件210或逻辑块地址208确定用于应用的执行的存储量。例如,与应用有关的文件210可以包括启动文件220,并且照此,在检查之后,启动文件220占用更小存储量,而不是整个应用。在数据206的另一实施例中包括与应用有关的用于优化应用的性能的其它组件,诸如介质218和/或库220。
文件210可以包括以下各项中的至少一个:应用代码212、库214、可执行文件216、介质218和/或启动文件220。此外,文件210可以包括212、214、216、218和220中的任一个或组合。文件210包括与应用有关的文件。例如,为了应用执行,它可以包括作为文件210的一部分的启动文件220。
移到图3,其是具有固态驱动器312和磁盘驱动器310的示例性计算装置300的框图。图3还描绘了用于通过计算装置300或具有存储器分配数据322的服务器320检查与应用304有关的数据306的计算装置300。计算装置300包括如上阐述的图1中的计算装置100的功能。
与用户偏好308相关联的存储器控制器302基于对与应用304有关的数据306的检查来确定用于应用304的执行的存储量。所确定的存储量的实施例可以是从服务器320检索的,而在其它实施例中,存储器控制器确定存储量。另外,存储器控制器302把基于所确定的存储量分配分段314的请求310传送到固态驱动器312。此外,存储器控制器302从固态驱动器312接收指示对分段314来说可用的存储量的响应316。存储器控制器102包括如上在图1中阐述的存储器控制器102的功能。
磁盘驱动器310包括与应用304有关的数据306。磁盘驱动器310是保持应用304的非易失性随机存取数据储存器。在一个实施例中,与应用304有关的数据306被从磁盘驱动器310磁读取且向磁盘驱动器310磁写入,因此存储器控制器302跟踪数据306到磁盘驱动器310的读取和写入的计数,用户偏好308的实施例。例如,计算装置300的用户越经常期望执行应用304,数据306到磁盘驱动器310的读取和写入的计数就越高,因此它可以达到阈值计数并指示用户偏好308。
被保持在磁盘驱动器310处的应用304包括与应用304有关的数据306。应用304包括如上在图1中阐述的应用104的功能。与应用304有关的数据306被检查以确定用于应用304的执行的存储量。数据306包括如上在图1和图2中阐述的数据106和206的功能。
确定固态驱动器312中的用于应用304的执行的存储量基于用户偏好308。用户偏好308包括如上在图1中阐述的用户偏好108的功能。用户偏好308的实施例包括运行时分析、读写操作计数和用户界面。对与应用304有关的数据306的检查确定用于应用304的执行的存储量。在一个实施例中,存储器控制器302确定存储量,而在另一实施例中,存储器控制器302通过与服务器320通信来检查数据306以确定存储量。例如,存储器控制器302可以查询用于执行文字处理应用304的存储量。照此,计算装置300与服务器320通信以获得所确定的用于执行文字处理应用304的存储量。
服务器320包括存储器分配数据322。服务器320跨越网络提供服务并可以包括例如web服务器、网络服务器、局域网(LAN)服务器、文件服务器、或者适合于保持存储器分配数据322的任何其它计算装置。服务器320保持存储器分配数据322,存储器分配数据322指定用于应用304的执行的存储量。在对与应用304有关的数据306的检查期间,存储器控制器302与服务器320通信以获得存储器分配数据322。
存储器分配数据322可以被存储和/或保持在服务器320上。存储器分配数据322指定用于特定应用304的执行的空间的量。与在先示例保持一致,文字处理应用304,计算装置300与服务器320通信以确定用于执行的存储量。存储器分配数据322的实施例包括与服务器320通信的数据库,而在另一实施例中,存储器分配数据322处于服务器320上的存储区域内。在这两个实施例中,服务器320都具有特定应用304和存储器分配数据322的知识。
请求310被存储器控制器102传送到固态驱动器312以分配与针对应用304的执行而确定的存储量相对应的分段314。请求310包括如上在图1中阐述的请求116的功能。
固态驱动器312是使用固态存储器接收请求310且分配分段314的数据储存器。不同于磁盘驱动器310,固态驱动器312利用集成电路来保持数据,且不包含物理上移动的组件。在固态驱动器312的实施例中包括用于应用304的执行的高速缓冲存储器。固态驱动器312包括如图1中所见的非易失性存储器112的功能。
分段314是固态驱动器312内的存储区域并包括部分318。分段314包括如上在图1中阐述的分段114的功能。依赖于响应316,分段314的部分318可以被存储器控制器302针对应用304的执行而预留。预留部分318的实施例包括钉住数据306、高速缓存数据306、对部分318进行标记、或者限制对部分318的与应用304有关的数据316或文件的访问。部分318包括如上在图1中阐述的部分118的功能。
响应316包括固态驱动器312中的对分段314来说可用的存储量。基于响应316,存储器控制器302针对应用304的执行而预留分段314的部分318。例如,如果不存在对分段314来说可用的存储器,则存储器控制器102将不能针对应用304的执行而预留分段314的部分318。响应316包括如上在图1中阐述的响应116的功能。
现在转到图4,在计算装置上执行以确定用于应用的执行的存储量的示例性方法的流程图。虽然图4被描述为在如图1中的计算装置100上执行,但是对本领域技术人员来说将显而易见的是,它也可以在其它适合的组件上执行。例如,图4可以被实施为机器可读存储介质(诸如存储器112)上的可执行指令的形式。
执行操作404,使得结合计算装置操作的控制器可以确定用于应用的执行的存储量。具体来说,操作404包括:确定与用户偏好相关联的用于应用的执行的存储量。此外,操作404包括:基于对与应用有关的数据的检查来确定存储量。操作404的实施例包括:具有非易失性存储器的计算装置检查与应用有关的数据以确定存储量;而操作404的另一实施例包括:从包含存储器分配数据的服务器确定存储量。确定用于应用的执行的存储量的实施例包括应用的部分执行或应用的整个执行,并照此可以包括用于执行应用的所有数据或用于应用的执行的单个文件。用户偏好的实施例包括以下至少一个:运行时分析、读写操作计数和用户界面。
在操作406,存储器控制器传送分配非易失性存储器的分段的请求。分段对应于如在操作404确定的、用于应用的执行的非易失性存储量。分段涉及非易失性存储器内的对与应用有关的文件和/或数据来说可用的空间。因此,可以针对与应用有关的数据和/或文件预留和/或高速缓存分段。
在操作408,存储器控制器从非易失性存储器接收可用的存储量的响应。响应指示非易失性存储器中的对分段来说可用的存储器空间的量。操作408的实施例包括:如果不存在对分段来说足够可用的空间,则操作在408停止且不会针对应用的执行而预留可用的空间。
在操作410,基于在操作408接收的响应,针对应用的执行而预留分段的部分。具体来说,非易失性存储器内的分段的部分被存储器控制器预留。在操作410的实施例中,如果响应指示不存在对分段来说可用的足够空间,则方法在操作408停止。在这个实施例中,非易失性存储器的分段的部分的预留基于在操作408接收的响应,该响应指示非易失性存储器上可用的存储器。在操作410的另一实施例中,针对应用的执行而高速缓存与应用有关的数据的文件,而操作410的另一实施例包括钉住文件到非易失性存储器的分段。而在操作410的另外实施例中包括钉住数据、高速缓存数据、对部分进行标记、或者限制非易失性存储器的部分的与应用有关的数据或文件的访问。
现在参见图5,在计算装置上执行以在非易失性存储器内的分段的部分中高速缓存与应用有关的数据的示例性方法的流程图。虽然图5被描述为在如图1中的计算装置100上执行,但是对本领域技术人员来说将显而易见的是,它还可以在其它适合的组件上执行。例如,图5可以被实施为机器可读存储介质(诸如非易失性存储器112)上的可执行指令的形式。
在操作504-510,计算装置基于对与应用有关的数据的检查来确定与用户偏好相关联的用于应用的执行的存储量。另外,在操作504-510,计算装置传送分配非易失性存储器的分段的请求,并接收非易失性存储器中的对分段来说可用的存储量的响应。此外,在操作504-510,计算装置针对应用的执行而预留非易失性存储器的分段。操作504-510的实施例包括如图4中所见的操作404-410的功能。
在操作512,计算装置在非易失性存储器的分段的部分中高速缓存与应用有关的数据。操作512的实施例包括在分段的部分中高速缓存与应用有关的文件。例如,在如通过达到阈值水平或来自用户界面的输入而指示的用户偏好之后,可以确定用于文字处理应用的存储量。在这个示例中,检查与文字处理应用有关的执行文件以确定用于执行的存储量,因此,可以针对向用户的立即响应而高速缓存这个应用。此外,使用这个示例,请求被发送到非易失性存储器以分配与所确定的大小相对应的分段,并且从非易失性存储器接收关于对分段来说可用的空间的量的响应。一旦来自非易失性存储器的响应指示存在用于分段的足够空间,计算装置就针对文字处理应用的执行文件而预留分段的部分,且然后在非易失性存储器的分段的部分中高速缓存执行文件。在操作510的另一实施例中,如果对分段来说可用的空间的量容纳与用于执行的应用有关的数据,则与应用有关的附加文件(诸如库或介质)也被高速缓存在非易失性存储器的分段中。
现在参见图6,用于基于对与应用有关的数据的检查来确定用于应用的执行的存储量并且在非易失性存储器中针对应用的执行而预留分段的部分的示例性计算装置602的框图。虽然计算装置602包括处理器604和机器可读存储介质606,但是它还可以包括对于本领域技术人员来说将适合的其它组件。例如,计算装置602可以包括如图1中的非易失性存储器112。此外,计算装置602包括如上在图1和图3中阐述的计算装置100和300的功能。
处理器604可以取回、解码和执行指令608、610、612和614。处理器614包括如上在图1和图3中阐述的控制器102和302的功能。具体来说,处理器604执行:指令608,确定与用户偏好相关联的用于应用的执行的存储量;指令610,传送分配分段的请求,其中分段对应于用于应用的执行的存储量;指令612,接收关于非易失性存储器中可用的存储量的响应;以及指令614,基于该响应,针对与应用的执行有关的文件而预留分段的部分。
机器可读存储介质606可以包括供处理器604取回、解码和执行的指令608、610、612和614。机器可读存储介质606可以是电子、磁、光学、存储器、闪存驱动器、或者包含或存储可执行指令的其它物理装置。因此,机器可读存储介质606可以例如包括随机存取存储器(RAM)、电可擦除可编程只读存储器(EEPROM)、储存驱动器、存储器高速缓存、网络储存器、光盘只读存储器(CD-ROM)等等。照此,机器可读存储介质606可以包括应用和/或固件,该应用和/或固件可以被独立地和/或结合处理器604利用以取回、解码和/或执行机器可读存储介质606上的指令。应用和/或固件可以被存储在机器可读存储介质606上和/或被存储在计算装置602的另一位置上。
本文中详细描述的实施例基于对与应用有关的数据的检查来确定与用户偏好相关联的存储量并针对应用的执行而在非易失性存储器中预留分段的部分。

Claims (15)

1.一种方法,包括:
基于对与应用有关的数据的检查来确定与用户偏好相关联的用于应用的执行的存储量;
传送分配非易失性存储器的分段的请求,所述分段对应于用于应用的执行的存储量;
从所述非易失性存储器接收对分段来说可用的存储量的响应;以及
基于所述响应,针对应用的执行而预留所述非易失性存储器的分段的部分。
2.根据权利要求1的方法,其中所述用户偏好包括运行时分析、读写操作计数和用户界面中的至少一个。
3.根据权利要求1的方法,其中与应用相关联的数据包括文件和逻辑块地址中的至少一个。
4.根据权利要求3的方法,其中所述文件包括以下各项中的至少一个:应用代码、库、介质、启动文件和可执行文件。
5.根据权利要求1的方法,其中对与应用相关联的数据的检查是由包含所述非易失性存储器的计算装置完成的检查或从包含存储器分配数据的量的服务器完成的检查。
6.根据权利要求1的方法,其中所述非易失性存储器是固态驱动器。
7.根据权利要求1的方法,进一步包括:
在所述非易失性存储器的分段的所述部分中高速缓存与应用有关的数据。
8.一种计算装置,包括:
存储器控制器,用于:
    检查与应用有关的数据,以确定与用户偏好相关联的用于应用的执行的存储量;
    向非易失性存储器传送分配与所述存储量相对应的分段的请求;
    基于来自所述非易失性存储器的响应,针对应用的执行而在所述非易失性存储器的所述分段的部分上高速缓存与应用有关的数据;
非易失性存储器,用于:
    接收分配所述分段的请求并且把对所述分段来说可用的存储量分配给所述存储器控制器。
9.根据权利要求8的计算装置,其中所述用户偏好包括至少运行时分析、读写操作计数和用户界面。
10.根据权利要求8的计算装置,进一步包括:
第二非易失性存储器,用于存储与应用有关的数据。
11.根据权利要求9的计算装置,其中所述非易失性存储器是固态驱动器,并且所述第二非易失性存储器是磁盘驱动器。
12.根据权利要求8的计算装置,其中检查与应用有关的数据由所述计算装置完成或从包含存储器分配数据的量的服务器完成。
13.一种非瞬变机器可读存储介质,利用处理器可执行的指令而编码,该存储介质包括用于执行下述操作的指令:
基于对与应用有关的数据的检查来确定与用户偏好相关联的用于应用的执行的存储量;
传送分配非易失性存储器的分段的请求,其中所述分段对应于应用的执行所需的存储量;
从所述非易失性存储器接收所需存储量的响应;以及
基于所述响应,针对与应用的执行有关的文件而预留所述非易失性存储器的所述分段的部分。
14.根据权利要求13的包括指令的非瞬变机器可读存储介质,其中所述用户偏好包括至少运行时分析、读写操作计数和用户界面。
15.根据权利要求13的包括指令的非瞬变可读存储介质,其中对与应用有关的数据的检查由包含所述非易失性存储器的计算装置完成或从包含存储器分配数据的量的服务器完成。
CN201180074947.1A 2011-11-21 2011-11-21 用于应用的执行的存储量 Pending CN103946818A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2011/061689 WO2013077842A1 (en) 2011-11-21 2011-11-21 An amount of memory for execution of an application

Publications (1)

Publication Number Publication Date
CN103946818A true CN103946818A (zh) 2014-07-23

Family

ID=48470154

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180074947.1A Pending CN103946818A (zh) 2011-11-21 2011-11-21 用于应用的执行的存储量

Country Status (4)

Country Link
US (1) US20140325133A1 (zh)
EP (1) EP2783290A4 (zh)
CN (1) CN103946818A (zh)
WO (1) WO2013077842A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106560795A (zh) * 2015-10-01 2017-04-12 佳能株式会社 信息处理装置及信息处理方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10437470B1 (en) * 2015-06-22 2019-10-08 Amazon Technologies, Inc. Disk space manager
US10001922B2 (en) 2016-02-19 2018-06-19 International Business Machines Corporation High performance optical storage system for protection against concurrent data loss

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040117744A1 (en) * 2002-12-13 2004-06-17 Lsi Logic Corporation Automated selection and placement of memory during design of an integrated circuit
CN1760874A (zh) * 2004-10-13 2006-04-19 惠普开发有限公司 基于模式识别来分配文件存储器
US20080208936A1 (en) * 2007-02-28 2008-08-28 Research In Motion Limited System and method for managing media for a portable media device
US20100095055A1 (en) * 2001-09-28 2010-04-15 Lexar Media, Inc. Memory system for data storage and retrieval

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020198991A1 (en) * 2001-06-21 2002-12-26 International Business Machines Corporation Intelligent caching and network management based on location and resource anticipation
US6799186B2 (en) * 2001-10-11 2004-09-28 International Business Machines Corporation SLA monitor calendar buffering
US8010985B2 (en) * 2004-06-01 2011-08-30 General Instrument Corporation Method and system for resource management in a video on-demand server
KR101128234B1 (ko) * 2006-08-23 2012-03-23 엘지전자 주식회사 메모리 접근 제어 장치 및 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100095055A1 (en) * 2001-09-28 2010-04-15 Lexar Media, Inc. Memory system for data storage and retrieval
US20040117744A1 (en) * 2002-12-13 2004-06-17 Lsi Logic Corporation Automated selection and placement of memory during design of an integrated circuit
CN1760874A (zh) * 2004-10-13 2006-04-19 惠普开发有限公司 基于模式识别来分配文件存储器
US20080208936A1 (en) * 2007-02-28 2008-08-28 Research In Motion Limited System and method for managing media for a portable media device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106560795A (zh) * 2015-10-01 2017-04-12 佳能株式会社 信息处理装置及信息处理方法
US10534702B2 (en) 2015-10-01 2020-01-14 Canon Kabushiki Kaisha Information processing apparatus, information processing method, and storage medium

Also Published As

Publication number Publication date
EP2783290A4 (en) 2016-06-08
US20140325133A1 (en) 2014-10-30
EP2783290A1 (en) 2014-10-01
WO2013077842A1 (en) 2013-05-30

Similar Documents

Publication Publication Date Title
US11714553B2 (en) Namespaces allocation in non-volatile memory devices
KR102457071B1 (ko) 다중 계층 메모리 시스템에서의 예측 데이터 오케스트레이션
US11640242B2 (en) Namespace management in non-volatile memory devices
CN109582599B (zh) 数据储存装置以及非挥发式存储器操作方法
US11561845B2 (en) Memory access communications through message passing interface implemented in memory systems
KR20210019576A (ko) 메모리 액세스 가속화를 위한 예측 페이징
US11675709B2 (en) Reading sequential data from memory using a pivot table
CN104714893A (zh) 用于缩放垃圾收集的方法和系统
US20230393753A1 (en) Wear leveling in solid state drives
US10929303B2 (en) Data storage device utilizing virtual blocks to improve performance and data storage method thereof
KR102347841B1 (ko) 메모리제어장치 및 메모리제어장치의 동작 방법
KR102349381B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
CN115756312A (zh) 数据访问系统、数据访问方法和存储介质
CN103946818A (zh) 用于应用的执行的存储量
CN111625482B (zh) 顺序流检测方法与装置
CN111381776A (zh) 用于存储器装置的方法、系统和计算机可读媒体
CN111610931B (zh) 数据储存装置以及非挥发式存储器控制方法
KR20220139410A (ko) 메모리 서브시스템에 대한 대기열 유지
CN107003811B (zh) 减少在固态驱动器中输入和输出操作的混杂
US11269534B2 (en) Data storage device and non-volatile memory control method
CN113010448B (zh) 维持用于存储器子系统的媒体管理的序列性
CN110032333B (zh) 存储器系统及其操作方法
US20110138108A1 (en) Method of active flash management, and associated memory device and controller thereof

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20140723