CN111247507A - 从持久性存储器中进行资产处理 - Google Patents
从持久性存储器中进行资产处理 Download PDFInfo
- Publication number
- CN111247507A CN111247507A CN201780096106.8A CN201780096106A CN111247507A CN 111247507 A CN111247507 A CN 111247507A CN 201780096106 A CN201780096106 A CN 201780096106A CN 111247507 A CN111247507 A CN 111247507A
- Authority
- CN
- China
- Prior art keywords
- asset
- application
- memory device
- persistent memory
- video game
- 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.)
- Granted
Links
- 230000002085 persistent effect Effects 0.000 title claims abstract description 134
- 238000000034 method Methods 0.000 claims abstract description 34
- 238000012545 processing Methods 0.000 claims description 30
- 238000013507 mapping Methods 0.000 claims description 3
- 238000004321 preservation Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 12
- 238000009434 installation Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000007654 immersion Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000007774 longterm Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000011084 recovery Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000009987 spinning Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/90—Constructional details or arrangements of video game devices not provided for in groups A63F13/20 or A63F13/25, e.g. housing, wiring, connections or cabinets
- A63F13/95—Storage media specially adapted for storing game information, e.g. video game cartridges
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0871—Allocation or management of cache space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/22—Employing cache memory using specific memory technology
- G06F2212/222—Non-volatile memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/31—Providing disk cache in a specific location of a storage system
- G06F2212/311—In host system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/46—Caching storage objects of specific type in disk cache
- G06F2212/463—File
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/46—Caching storage objects of specific type in disk cache
- G06F2212/464—Multimedia object, e.g. image, video
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/46—Caching storage objects of specific type in disk cache
- G06F2212/466—Metadata, control data
Abstract
在根据本公开的一个示例中,描述了一种方法。根据所述方法,在应用程序的执行期间,当调用应用程序资产时,在存储在持久性存储器设备中的资产映射图中搜索与所述应用程序资产相关联的资产标识符。使用此资产标识符,定位存储在持久性存储器设备中的应用程序资产。所述持久性存储器设备由执行所述应用程序的处理器直接访问。处理器从所述应用程序资产在所述持久性存储器设备中的位置来处理所述应用程序资产。
Description
背景技术
计算应用程序的大小持续增长,并且在功能及向用户提供的服务方面正变得越来越全面。视频游戏是近年来发展迅猛的计算应用程序的一个示例。视频游戏行业是一个大型行业,视频游戏变得更加身临其境,并且质量不断提高。例如,一些高级视频游戏提供高质量的现实主义艺术资产(asset),诸如高清图像、视频和声音。
附图说明
附图图示了本文所描述原理的不同示例并且是本说明书的一部分。所图示的示例仅出于说明的目的给出,而不限制权利要求的范围。
图1是根据本文所描述原理的示例的用于从持久性存储器(memory)中进行资产处理的计算系统的框图。
图2是根据本文所描述原理的示例的用于从持久性存储器中进行资产处理的方法的流程图。
图3是根据本文所描述原理的示例的用于从持久性存储器中进行资产处理的计算系统的框图。
图4是根据本文所描述原理的示例的用于从持久性存储器中处理资产的环境的简图。
图5是根据本文所描述原理的示例的用于从持久性存储器中进行资产处理的资产映射图(map)的简图。
图6是根据本文所描述原理的示例的用于从持久性存储器中进行资产处理的方法的流程图。
图7是根据本文所描述原理的示例的用于从持久性存储器中进行资产处理的非暂态机器可读存储介质(storage medium)的简图。
在整个附图中,相同的附图标记指代相似但不一定相同的元件。附图不一定成比例,并且可以放大一些零件的尺寸以更清楚地图示所示出的示例。此外,附图提供了与描述一致的示例和/或实施方式;然而,描述不限于附图中提供的示例和/或实施方式。
具体实施方式
计算应用程序的大小持续增长,并且在功能及可以向用户提供的服务方面正变得更加全面。视频游戏是近年来发展迅猛的计算应用程序的一个示例。视频游戏产业是大型产业,其中视频游戏变得更加身临其境,并且质量不断提高。例如,一些高级视频游戏提供了高质量的现实主义艺术资产,诸如高清图像、视频和声音。
尽管这样的应用程序、并且特别是视频游戏已经取得了很大进展,但是其他技术的进步可以为视频游戏提供更完整的使用。例如,这一部分(segment)的客户期望高度身临其境的游戏体验。因此,当今的视频游戏依赖于通过高清图像、视频和声音创建高度逼真的环境的资产。这些逼真的环境占用大量数据并可能导致较长的游戏加载时间和保存时间,这破坏了用户的沉浸感,从而造成沮丧和不满。
因此,本说明书提供了一种用于减少游戏加载时间和保存时间、从而增强用户体验并提高客户满意度的方法和系统。具体地,将诸如在视频游戏中使用的图像资产、纹理资产、角色资产的应用程序资产以及其他资产存储在由执行应用程序的处理器直接访问的持久性存储器设备(memory device)中。因此,在一些示例中,处理器可以直接访问持久性存储器中的资产,而不是将资产从诸如硬盘驱动器或旋转磁盘的长期存储设备(storagedevice)复制或移动到缓存中。此外,由于持久性存储器是非易失性的,因此即使在没有向相应的系统供电的情况下,也可以将信息存储在那里,从而再次避免了将信息复制到诸如动态随机存取存储器(DRAM)的易失性存储器结构。避免复制或移动资产的持久性存储器设备因此提供了更快的访问速度,从而减少了加载和保存应用程序资产的处理滞后。
具体地,本说明书描述了一种方法。根据所述方法,在诸如视频游戏等应用程序的执行期间,并且当调用应用程序资产时,在资产映射图中搜索与所述应用程序资产相关联的资产标识符。所述资产映射图被存储在持久性存储器设备上。使用此资产标识符,定位同样存储在所述持久性存储器设备上的应用程序资产。由于所述持久性存储器设备由执行所述应用程序的处理器直接访问,因此可以从所述应用程序资产在所述持久性存储器设备上的位置来处理所述应用程序资产。
本说明书还描述了一种系统,所述系统包括处理器,所述处理器用于直接访问存储在持久性存储器设备中的应用程序资产。所述持久性存储器设备是非易失性的并且由所述处理器直接访问。资产映射图布置在所述持久性存储器设备上,并且包括所述持久性存储器设备上的应用程序资产位置与所述应用程序资产的资产标识符之间的映射。所述持久性存储器设备还包括至少一个应用程序资产,所述至少一个应用程序资产布置在所述持久性存储器设备上、将由所述处理器从所述应用程序资产在所述持久性存储器设备上的位置进行直接访问。
本说明书还描述了一种利用可由处理器执行的指令编码的非暂态机器可读存储介质。所述机器可读存储介质包括用于进行以下操作的指令:在视频游戏的设置阶段期间:1)标识要在所述视频游戏的执行期间调用的多个视频游戏资产;2)为所述多个视频游戏资产中的每个视频游戏资产分配唯一资产标识符;3)将所述多个视频游戏资产中的每个视频游戏资产从存储设备复制到持久性存储器设备中,所述持久性存储器设备由处理器直接访问用于执行所述视频游戏;以及4)在存储在所述持久性存储器设备中的资产映射图中插入条目,所述资产映射图将每个视频游戏资产与其唯一资产标识符相关联。所述机器可读存储介质还包括用于进行以下操作的指令:在所述视频游戏的加载阶段期间:1)在所述资产映射图中搜索与所述视频游戏资产相关联的资产标识符;2)使用所述资产标识符,在所述持久性存储器设备中定位所述视频游戏资产;以及3)由所述处理器从所述视频游戏资产在所述持久性存储器设备中的位置来处理所述视频游戏资产。所述机器可读存储介质还包括用于进行以下操作的指令:在所述视频游戏的保存阶段期间:1)在所述持久性存储器设备中对事务进行初始化;2)更新如存储在所述持久性存储器设备中的多个视频游戏资产,所述多个视频游戏资产中的至少一个视频游戏资产包括用户特定的信息;以及3)提交所述事务。
总之,使用这样的资产处理系统:1)通过减少游戏加载时间和保存时间增强了技术性能;2)增强了用户体验;3)减少了用户沉浸中的“中断”;并且4)有助于提高功率,并增加数据传输量。然而,设想到的是,本文所公开的设备在多种技术领域中可能引起其他问题和缺陷。
如在本说明书和所附权利要求中所使用的,术语“多个”或类似语言应被广义地理解为包括1到无穷大的任何正数。
在以下说明中,出于解释的目的,阐述了许多具体细节以提供对本系统和方法的透彻理解。然而,对本领域技术人员将明显的是,可以在没有这些具体细节的情况下实践本设备、系统和方法。说明书中对“示例”或类似语言的引用意味着结合该示例描述的具体特征、结构或特性如所描述被包括在内,但是可以包括或不包括在其他示例中。
现在转向附图,图1是根据本文所描述原理的示例的用于从持久性存储器中进行应用程序资产(108)处理的计算系统(100)的框图。计算系统(100)可以是包括处理器(102)的任何类型的计算设备。计算系统(100)的示例包括台式计算机、膝上型计算机、诸如游戏控制台等控制台、以及移动设备。在一些示例中,计算系统(100)可以专门用于执行视频游戏。例如,计算系统(100)可以是专门设计的台式或膝上型计算机、游戏控制台、或增强现实计算系统(100)。
计算系统(100)包括处理器(102)。处理器(102)是指至少一个处理器以及用于处理经编程指令的其他资源。例如,处理器(102)可以是多个中央处理单元(CPU)、微处理器、和/或适合于取得并执行指令的其他硬件设备。在一个示例中,处理器(102)可以包括多个电子电路,所述电子电路包括用于执行多个指令集的功能的多个电子部件。
计算系统还包括持久性存储器设备(104)。持久性存储器设备(104)是由处理器(102)直接访问的非易失性存储器设备。即,持久性存储器设备(104)是非易失性的并且由诸如CPU等处理器(102)直接访问,而不是依赖于诸如缓存等易失性存储器设备或其他中间易失性存储器系统来从长期非易失性存储设备取得数据。使用持久性存储器设备(104),由于不存在将数据从非易失性存储设备复制或移动到易失性存储器设备中的情况,因此资产访问可以更快。持久性存储器设备(104)可以是任何类型的持久性存储器设备(104),包括相变随机存取存储器(PCRAM)、磁阻式随机存取存储器(MRAM)、自旋转移矩随机存取存储器(SSTRAM)、电阻式随机存取存储器(RRAM)和忆阻器存储器等。在一个示例中,持久性存储器设备(104)由处理器(102)以字节-字粒度(byte-word granularity)直接访问。在这样的示例中,包括持久性存储器设备(104)的计算系统(100)可以不具有易失性CPU缓存。
如上所述,持久性存储器设备(104)由处理器(102)直接访问,从而通过避免块I/O层、绕过页面缓存以及去除与间接从存储设备取得信息相关联的附加操作来提高效率。
持久性存储器设备(104)包括资产映射图(106)。资产映射图(106)存储在持久性存储器设备(104)上,并且包括资产标识符与存储在持久性存储器设备(104)上的应用程序资产(108)之间的映射。当在应用程序的执行期间调用了应用程序资产(108)时,从资产映射图(106)标识资产位置,并直接从持久性存储器设备(104)处理应用程序资产(108)。无需将应用程序资产(108)移动或复制到另一存储器位置(诸如缓存)即可完成此操作。这样做的效率更高,因为避免了从旋转介质(诸如DVD盘、盘、硬盘驱动器、固态驱动器或闪存驱动器等)进行昂贵且复杂的取得。下面结合图5来描述资产映射图(106)的示例。
持久性存储器设备(104)还包括在应用程序的执行期间被处理的多个应用程序资产(108)。与持久性存储器设备(104)上的其他资源一样,应用程序资产(108)由处理器(102)(诸如CPU)直接访问,并且在由CPU单独处理时无需移动或复制。
应用程序资产(108)是指应用程序在执行期间所依赖的任何资产。例如,用于视频游戏应用程序的视频游戏资产(108)包括但不限于纹理、动画、视频、声音、角色数据、用户数据、地图和声音等。尽管具体参照了与视频游戏应用程序有关的特定应用程序资产(108),但是仍可以将与任何类型的应用程序相关联的任何数量和类型的应用程序资产(108)存储在持久性存储器设备(104)上。
因此,通过将应用程序资产(108)存储在非易失性持久性存储器设备(104)上而不是存储在易失性存储器设备上,增强了如本文所述的系统(100)的操作。此外,在应用程序的执行期间,即在游戏过程期间,当前系统(100)通过直接从非易失性持久性存储器设备(104)取得应用程序资产(108)来增强性能,而不是间接从长期存储设备取得所述应用程序资产并将其存储在中间位置上。
即,一些计算系统将所保存的游戏和数字艺术资产(诸如图像、视频和声音)存储在存储介质(诸如磁驱动器/闪存驱动器和光盘)中。因此,每当开始/恢复(resume)游戏时,将所有资产都从存储介质加载到所述资产可以由处理器直接访问的易失性存储器。然而,本系统(100)在包含游戏或其他应用程序资产(图1的108)的持久性存储器设备(104)中采用数据结构,在所述持久性存储器设备中,所述应用程序资产由处理器(102)、以及在一些情况下由图形处理器直接访问。这些应用程序资产(108)可以在设置阶段(即,游戏安装)中从存储介质加载到持久性存储器设备(104)。从此时开始,应用程序资产(108)由处理器(102)在持久性存储器设备(104)中直接访问。在一些示例中,这样做无需复制和/或移动数据。
图2是根据本文所描述原理的示例的用于从持久性存储器中进行应用程序资产(图1的108)处理的方法(200)的流程图。作为一般说明,方法(200,600)可以在下面被描述为由特定的计算设备(即,计算系统(图1的100))来执行(executed)或完成(performed)。也可以使用其他合适的系统和/或控制器。方法(200,600)可以以可执行指令的形式来实施,所述可执行指令存储在至少一个设备的至少一个机器可读存储介质上并且由至少一个设备的至少一个处理器来执行。可替代地或另外,方法(200,600)可以以电子电路(例如,硬件)的形式来实施。虽然图2和图6描绘了以特定顺序发生的操作,但是方法(200,600)的多个操作可以同时执行或以与图2和图6所示不同的顺序执行。在一些示例中,方法(200,600)可以包括比图2和图6所示更多或更少的操作。在一些示例中,方法(200,600)的多个操作可以在特定时间进行和/或可以重复。
根据方法(200),搜索(框201)资产映射图(图1的106)。更具体地,当执行诸如视频游戏等应用程序时,使用不同的应用程序资产(图1的108)。例如,视频游戏依赖于地图、动画、角色资产、图像、声音和视频来生成游戏环境。因此,在不同的时间点,可以加载不同的应用程序资产(图1的108)以创建游戏环境。此资产映射图(图1的106)存储在持久性存储器设备(图1的104)上,以使得可以由处理器(图1的102)(诸如CPU)直接从非易失性源取得所述资产映射图,而无需通过易失性存储器设备。在一些示例中,资产标识符可以是由游戏用于标识资产类型的标识符。例如,每个资产标识符可以具有特定的报头、或者指示其是什么类型的应用程序资产(图1的108)的其他标识符。这可以是用于该应用程序资产(图1的108)的资产标识符。在另一示例中,资产标识符包括应用程序资产(图1的108)的位置。在任一示例中,资产标识符都可以包括诸如内容类型、大小、及其所属的应用程序等信息。
使用在资产映射图(图1的106)中找到的资产标识符来定位(框202)应用程序资产(图1的108)。即,连同资产标识符一起,资产映射图(图1的106)可以包括在持久性存储器设备(图1的104)内存储应用程序资产(图1的108)的存储器地址。如所指出的,持久性存储器设备(图1的104)由处理器(图1的102)直接访问。因此,然后从应用程序资产(图1的108)在持久性存储器设备(图1的104)中的位置来处理(框203)所述应用程序资产。在示例中,应用程序资产(图1的108)不会从其在持久性存储器设备(图1的104)上的非易失性位置移动和/或复制。
这种方法(200)允许将应用程序资产(图1的108)容易地存储在非易失性介质(即,持久性存储器设备(图1的104))上,而不必将其加载到中间易失性存储器设备。避免将数据复制到这种中间易失性存储器设备上增加了存储器访问时间,并且从而减少了应用程序的加载和保存。
图3是根据本文所描述原理的示例的用于从持久性存储器中进行应用程序资产(108)处理的计算系统(100)的框图。在本示例中,计算系统(100)包括如上所述的处理器(102)、持久性存储器设备(104)、资产映射图(106)和应用程序资产(108)。在该特定示例中,计算系统(100)还包括提高视频和图形的质量的图形处理器(310)。当使用时,图形处理器(310)减轻了处理器(102)的工作,并产生更快的视频和图形。
在一些示例中,如图4所描绘的,图形处理器(310)共享对持久性存储器设备(104)的访问。然而,在其他示例中,图形处理器(310)不共享对持久性存储器设备(104)的访问。在本示例中,当由图形处理器(310)(诸如GPU)对应用程序资产(108)进行操作时,可以复制所述应用程序资产,但是当由处理器(102)(诸如CPU)对所述应用程序资产进行操作时,不移动所述应用程序资产。
图4是根据本文所描述原理的示例的用于从持久性存储器中处理应用程序资产(图1的108)的环境的简图。在初始设置阶段期间,例如,在计算系统(图1的100)上的游戏安装期间,应用程序和应用程序资产(图1的108)可以从诸如旋转磁盘或其他存储介质等存储设备(412)加载到持久性存储器设备(104)。这样做时,为特定的应用程序资产(图1的108)分配资产标识符。这些资产标识符以及相应的应用程序资产(图1的108)在持久性存储器设备(104)上的位置被创建为资产映射图(图1的106)中的条目。然后,在应用程序的加载和保存期间,这些应用程序资产(图1的108)由正在执行应用程序的处理器(102)调用。
如上所述,计算系统(图1的100)还包括提高视频和图形的质量的图形处理器(310)。当使用时,图形处理器(310)减轻了处理器(102)的工作,并产生更快的视频和图形。在一些示例中,如图4所描绘的,图形处理器(310)共享对持久性存储器设备(104)的访问。因此,不仅通过不必经由中间易失性存储装置从非易失性存储装置进行加载提高了处理器(102)的性能,而且还通过类似地不必经由中间易失性存储装置从非易失性存储装置进行加载提高了图形处理器(310)的性能。
图5是根据本文所描述原理的示例的用于从持久性存储器中进行应用程序资产(108)处理的资产映射图(106)的简图。如上所述,持久性存储器设备(104)包括资产映射图(106)和多个应用程序资产(108)两者。资产映射图(106)包括多个资产标识符(516),所述多个资产标识符指向持久性存储器设备(104)中的存储相应应用程序资产(108)的位置。例如,第一资产标识符(516-1)包括指向如存储在持久性存储器设备(104)中的第一资产(108-1)的指针。类似地,第二资产标识符(516-2)、第三资产标识符(516-3)和第n资产标识符(516-n)包括指向如存储在持久性存储器设备(104)中的第二资产(108-2)、第三资产(108-3)和第n资产(108-n)的指针。
仍进一步如上所述,资产标识符(516)可以指代已经由应用程序使用的标识符,所述标识符指示所引用的应用程序资产(图1的108)的类型。当最初设置应用程序时(例如在视频游戏安装期间),可以将应用程序资产(108)存储到持久性存储器设备(104)。然后针对此应用程序资产(108)生成资产标识符(516),所述资产标识符(516)可以对于计算系统(图1的100)是唯一的,或者可以是已经由应用程序使用的标识符(516)。然后,将应用程序资产(108)的存储器地址和资产标识符(516)一起作为条目存储在资产映射图(106)内。将资产映射图(106)和应用程序资产(108)本身两者存储在持久性存储器设备(104)中通过允许更快的加载和保存、从而减少了用户沉浸时的中断而提升了用户体验。
图6是根据本文所描述原理的示例的用于从持久性存储器进行应用程序资产(图1的108)处理的方法(600)的流程图。所述方法(600)可以被分组为多个阶段;具体为设置阶段、加载阶段和保存阶段。
在设置阶段期间,从诸如硬盘驱动器、固态驱动器、旋转介质、闪存驱动器或联网的存储装置(storage)等的存储设备(图4的412)复制应用程序资产(图1的108)并将其放置在由处理器(图1的102)直接访问的持久性存储器设备(图1的104)中的数据结构中。
根据所述方法(600),在此设置阶段期间,标识(框601)要在应用程序执行期间调用的多个应用程序资产(图1的108)。这种应用程序资产(图1的108)的示例包括图像、纹理视频、动画、地图、等级和角色、以及在视频游戏中使用的其他应用程序资产。仍在设置阶段期间,对于每个应用程序资产(图1的108),为应用程序资产(图1的108)中的每个应用程序资产分配(框602)唯一资产标识符(图5的516)。如上所述,应用程序标识符(图5的516)可以是专门为持久性存储器设备(图1的104)创建的,或者可以是特定应用程序资产(图1的108)的现有标识符。
将应用程序资产(图1的108)从存储设备(图3的310)复制(框603)到持久性存储器设备(图1的104),并且然后在资产映射图(图1的106)中插入(框604)条目,所述条目将应用程序资产(图1的108)的位置与唯一资产标识符(图5的516)相关联。如所描述的,可以在诸如初始游戏安装的设置阶段期间执行框601、602、603和604中描述的操作。然而,在一些示例中,可以在其他时间执行这些操作。例如,持久性存储器设备(图1的104)上可以有有限数量的可用的持久性存储器,并且持久性存储器设备上可能已经存储有用于多个不同应用程序的多个应用程序资产(图1的108)。因此,在某个时刻,可以将应用程序资产(图1的108)从持久性存储器设备(图1的104)移回到存储设备(图4的412),并且可以将不同的应用程序资产(图1的108)从存储设备(图4的412)调用到持久性存储器设备(图1的104)。在本示例中,这种基于有限的持久性存储器设备(图1的104)的空间的移除和加载可以在游戏加载和/或保存以外的时间进行。
在应用程序设置之后,应用程序可以进入加载阶段,在所述加载阶段中加载应用程序资产(图1的108)。这种加载阶段可以在开始视频游戏或在保存操作之后恢复视频游戏时发生。由于应用程序资产(图1的108)是直接从持久性存储器设备(图1的104)获得的,因此这种加载速度很快。在此加载阶段期间,在资产映射图(图1的106)中搜索(框606)与由处理器(图1的102)调用的应用程序资产(图1的108)相关联的资产标识符(图5的516)。这可以如以上关于图2所描述的执行。
然后确定(框606)是否在持久性存储器设备(图1的104)中找到了应用程序资产(图1的108)。如果在持久性存储器设备(图1的104)中未找到应用程序资产(图1的108)(框606,确定为否),则在存储设备(图4的412)上标识(框601)应用程序资产(图1的108),为所述应用程序资产(图1的108)分配(框602)唯一标识符(图5的516),将所述应用程序资产复制(框603)到持久性存储器设备(图1的104),并且针对所述应用程序资产(图1的108)插入(框604)条目。然后可以再次搜索(框605)资产映射图(图1的106)以找到资产标识符(图5的516)。
如果在持久性存储器设备(图1的104)中找到了应用程序资产(图1的108)(框606,确定为是),则定位(框607)应用程序资产(图1的108),并且从所述应用程序资产在持久性存储器设备(图1的104)中的位置来处理(框608)所述应用程序资产。这可以如以上结合图2所描述的执行。如所描述的,可以在诸如游戏加载或恢复的加载阶段期间执行框605、606、607和608中描述的操作。
在应用程序的执行期间,或者在应用程序的执行之后,例如为了在游戏过程之后或在游戏过程期间保存游戏,可以进入保存阶段,使得可以在以后的时间点恢复所述应用程序,例如视频游戏。在这样的保存操作期间,对事务进行初始化(框609)。在事务期间,同时进行在特定时间段期间对应用程序进行的所有更新。例如,当事务激活时,记录所有修改,而一旦事务关闭,则提交所有修改。如果仅更新了应用程序资产(图1的108)中的一些应用程序资产,则在恢复时可能会加载不正确的应用程序环境。换言之,在保存阶段期间,构成应用程序当前状态(即,游戏过程)的所有数据元素都在持久性存储器设备(图1的104)中存储并直接访问。这不仅包括艺术资产(图1的108),还包括游戏过程信息,所述游戏过程信息包括角色资产、对象资产以及位置和碰撞信息等。这种信息以容错方式(即,事务性地)来保存,以使得功率损耗、系统崩溃或游戏执行的任何其他意外情况将使游戏过程信息在持久性存储器设备(图1的104)中保持为一致、可恢复的状态。
在对事务的初始化(框609)之后,更新(框610)如存储在持久性存储器设备(图1的104)中的多个应用程序资产(图1的108)。如上所述,这些应用程序资产(图1的108)中的一些应用程序资产可以是用户特定的,诸如角色简档(character profile)。一旦更新(框610)了应用程序资产(图1的108),就提交(框611)事务,即,将事务作为一个代码块(block)保存到持久性存储器设备(图1的104)。
在一些示例中,此保存阶段可以独立于应用程序中的提示显式保存指令。即,诸如视频游戏的一些应用程序在不同的点提示用户保存游戏,这可能会导致时间滞后。然而,通过将经由更新应用程序资产(图1的108)而得到的游戏过程数据保存到持久性存储器设备(图1的104),可以避免这种滞后,并且每秒多次进入保存阶段。换言之,通过此保存阶段,避免出现显式保存游戏提示是可能的,并且替代地可以从中断的点处立即还原(restore)上次的游戏状态。如所描述的,可以在保存阶段期间执行框609、610和611中描述的操作。在一些示例中,可以基于使用信息将应用程序资产(图1的108)移除(框612)到存储设备(图4的412)。即,在应用程序执行之外,可以确定某一组应用程序执行的最频繁,并且可以将相应的应用程序资产(图1的108)加载到持久性存储器设备(图1的104)。然后,经由用户输入或统计分析,可以移除(框612)那些应用程序资产(图1的108),以支持属于另一应用程序的应用程序资产(图1的108)。
图7是根据本文所描述原理的示例的用于从持久性存储器中进行应用程序资产(图1的108)处理的非暂态机器可读存储介质(720)的简图。为了实现其期望功能,计算系统包括各种硬件部件。具体地,计算系统包括处理器。机器可读存储介质(720)通信地耦接到处理器。机器可读存储介质(720)包括用于执行指定功能的多个指令集(722,724,726,728,730,732,734,736,738,740)。机器可读存储介质(720)使处理器执行指令集(722,724,726,728,730,732,734,736,738,740)的指定功能。
尽管以下描述涉及单个机器可读存储介质(720),但是这些描述也可以应用于多个机器可读存储介质。在这样的示例中,指令集(722,724,726,728,730,732,734,736,738,740)可以跨多个机器可读存储介质分布(例如,存储)。
处理器是指至少一个处理器以及用于处理经编程指令的其他资源。例如,处理器可以是多个中央处理单元(CPU)、微处理器、和/或适合于取得并执行存储在机器可读存储介质(720)中的指令的其他硬件设备。处理器可以获取、解码并执行指令(722,724,726,728,730,732,734,736,738,740)以用于从持久性存储器中进行应用程序资产(图1的108)处理。在一个示例中,处理器可以包括多个电子电路,所述多个电子电路包括用于执行机器可读存储介质(720)中的多个指令的功能的多个电子部件。关于本文所描述和示出的可执行指令、表示(例如,框),应当理解,在替代示例中,包括在一个框内的部分或全部可执行指令和/或电子电路可以被包括在附图所示的不同框中或未示出的不同框中。
机器可读存储介质(720)通常表示能够存储数据的任何存储器,所述数据诸如由计算系统使用的经编程指令或数据结构。机器可读存储介质(720)包括包含用于使任务由处理器执行的机器可读程序代码的机器可读存储介质。机器可读存储介质(720)可以是有形和/或非暂态存储介质。机器可读存储介质(720)可以是不属于传输存储介质(transmission storage medium)的任何适当的存储介质。例如,机器可读存储介质(720)可以是存储可执行指令的任何电子、磁性、光学或其他物理存储设备。因此,机器可读存储介质(720)可以是例如随机存取存储器(RAM)、存储驱动器、光盘等。机器可读存储介质(720)可以布置在计算系统内。在这种情况下,可执行指令可以“安装”在计算系统上。在一个示例中,机器可读存储介质(720)可以是便携式的、外部或远程存储介质,例如,其允许计算系统从便携式/外部/远程存储介质下载指令。在这种情况下,可执行指令可以是“安装包”的一部分。如本文所述,机器可读存储介质(720)可以利用可执行指令来编码,以用于在持久性存储器中进行应用程序资产(图1的108)处理。
参照图7,标识指令(722)当由处理器执行时可以使计算系统标识要在视频游戏的执行期间调用的多个应用程序资产(图1的108)。分配指令(724)当由处理器执行时可以使计算系统为多个应用程序资产(图1的108)中的每个应用程序资产分配唯一资产标识符(图5的516)。复制指令(726)当由处理器执行时可以使计算系统将多个应用程序资产(图1的108)中的每个应用程序资产从存储设备(图4的412)复制到持久性存储器设备(图1的104)。插入指令(728)当由处理器执行时可以使计算系统在存储在持久性存储器设备(图1的104)中的资产映射图(图1的106)中插入条目,所述资产映射图(图1的106)将每个应用程序资产(图1的108)与其唯一资产标识符(图5的516)相关联。
机器可读存储介质(720)还包括在计算机游戏的执行期间执行的指令。具体地,搜索指令(730)当由处理器执行时可以使计算系统在资产映射图(图1的106)中搜索与应用程序资产(图1的108)相关联的资产标识符(图5的516)。定位指令(732)当由处理器执行时可以使计算系统使用资产标识符(图5的516)在持久性存储器设备(图1的104)中定位应用程序资产(图1的108)。处理指令(734)当由处理器执行时可以使计算系统通过处理器(图1的102)从应用程序资产(图1的108)在持久性存储器设备(图1的104)中的位置来处理所述应用程序资产。
机器可读存储介质(720)还包括在计算机游戏的保存期间执行的指令。具体地,初始化指令(736)当由处理器执行时可以使计算系统在持久性存储器设备(图1的104)中对事务进行初始化。更新指令(738)当由处理器执行时可以使计算系统更新如存储在持久性存储器设备(图1的104)中的多个应用程序资产(图1的108)。提交指令(740)当由处理器执行时可以使计算系统提交事务。
在一些示例中,处理器和机器可读存储介质(720)位于同一物理部件(诸如服务器或网络部件)内。机器可读存储介质(720)可以是物理部件的主存储器、缓存、寄存器、非易失性存储器、或物理部件的存储器层次结构中其他地方的一部分。在一个示例中,机器可读存储介质(720)可以通过网络与处理器通信。因此,计算系统可以在用户设备、服务器、服务器集合、或其组合上被实施。
总之,使用这样的资产处理系统:1)通过减少游戏加载时间和保存时间增强了技术性能;2)增强了用户体验;3)减少了用户沉浸时的“中断”;并且4)有助于提高功率,并增加数据传输量。然而,设想到的是,本文所公开的设备可能引起多种技术领域中的其他问题和缺陷。
呈现前述说明以图示和描述所描述原理的示例。此说明不旨在是穷尽性的或将这些原理限制为所公开的任何精确形式。鉴于以上教导,许多修改和变型都是可能的。
Claims (15)
1.一种方法,包括:
在应用程序的执行期间,当调用应用程序资产时,在存储在持久性存储器设备中的资产映射图中搜索与所述应用程序资产相关联的资产标识符;
使用所述资产标识符,在所述持久性存储器设备中定位所述应用程序资产,所述持久性存储器设备由执行所述应用程序的处理器直接访问;以及
由所述处理器从所述应用程序资产在所述持久性存储器设备中的位置来处理所述应用程序资产。
2.如权利要求1所述的方法,进一步包括:在所述应用程序的设置阶段期间:
标识要在所述应用程序的执行期间调用的多个应用程序资产;
为所述多个应用程序资产中的每个应用程序资产分配唯一资产标识符;
将所述多个应用程序资产中的每个应用程序资产从存储设备复制到所述持久性存储器设备;以及
在所述资产映射图中插入条目,所述资产映射图将每个应用程序资产与其唯一资产标识符相关联。
3.如权利要求1所述的方法,进一步包括:在保存阶段期间:
在所述持久性存储器设备中对事务进行初始化;
更新存储在所述持久性存储器设备中的多个应用程序资产,其中,所述多个应用程序资产中的至少一个应用程序资产包括用户特定的信息;以及
提交所述事务。
4.如权利要求1所述的方法,其中,由所述处理器从所述应用程序资产在所述持久性存储器设备中的位置来处理所述应用程序资产是在不将所述应用程序资产移动到所述处理器的另一存储器设备的情况下进行的。
5.如权利要求1所述的方法,进一步包括:由图形处理器从所述应用程序资产在所述持久性存储器设备中的位置来处理所述应用程序资产。
6.如权利要求1所述的方法,进一步包括:基于使用信息,将与特定应用程序有关的多个应用程序资产从所述持久性存储器设备移除到存储设备。
7.一种系统,包括:
处理器,所述处理器用于直接访问存储在持久性存储器设备中的应用程序资产;
所述持久性存储器设备,所述持久性存储器设备是非易失性的并且由所述处理器直接访问;
布置在所述持久性存储器设备上的资产映射图,包括在所述持久性存储器设备上的应用程序资产位置与用于所述应用程序资产的资产标识符之间的映射;以及
布置在所述持久性存储器设备上的应用程序资产,所述应用程序资产待由所述处理器从所述应用程序资产在所述持久性存储器设备上的位置直接访问。
8.如权利要求7所述的系统,其中:
所述应用程序是视频游戏应用程序;并且
所述应用程序资产是在所述视频游戏的执行期间使用的视频游戏资产。
9.如权利要求7所述的系统,进一步包括用于处理所述应用程序资产的一部分的图形处理器。
10.如权利要求9所述的系统,其中,所述系统的所述图形处理器共享对所述持久性存储器设备的访问。
11.如权利要求9所述的系统,其中,由所述图形处理器处理的所述应用程序资产的所述一部分独立于所述持久性存储器设备存储在存储器设备中。
12.一种利用能够由处理器执行的指令编码的非暂态机器可读存储介质,所述机器可读存储介质包括:
在视频游戏的设置阶段期间:
用于标识待在所述视频游戏的执行期间调用的多个视频游戏资产的指令;
用于为所述多个视频游戏资产中的每个视频游戏资产分配唯一资产标识符的指令;
用于将所述多个视频游戏资产中的每个视频游戏资产从存储设备复制到持久性存储器设备的指令,所述持久性存储器设备能够由处理器直接访问以执行所述视频游戏;以及
用于在存储在所述持久性存储器设备中的资产映射图中插入条目的指令,所述资产映射图将每个视频游戏资产与其唯一资产标识符相关联;
在所述视频游戏的加载阶段期间:
用于在所述资产映射图中搜索与所述视频游戏资产相关联的资产标识符的指令;
用于使用所述资产标识符在所述持久性存储器设备中定位所述视频游戏资产的指令;以及
用于由所述处理器从所述视频游戏资产在所述持久性存储器设备中的位置来处理所述视频游戏资产的指令;以及
在所述视频游戏的保存阶段期间:
用于在所述持久性存储器设备中对事务进行初始化的指令;
用于更新存储在所述持久性存储器设备中的多个视频游戏资产的指令,所述多个视频游戏资产中的至少一个视频游戏资产包括用户特定的信息;以及
用于提交所述事务的指令。
13.如权利要求12所述的非暂态机器可读存储介质,其中,所述视频游戏的所述设置阶段在将所述视频游戏加载到计算设备上的期间发生。
14.如权利要求12所述的非暂态机器可读存储介质,其中,所述保存阶段独立于所述视频游戏中的提示保存指令发生。
15.如权利要求12所述的非暂态机器可读存储介质,其中,由所述处理器从所述视频游戏资产在所述持久性存储器设备中的位置来处理所述视频游戏资产是在不将所述视频游戏资产复制到所述处理器的另一存储器设备的情况下进行的。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2017/058582 WO2019083538A1 (en) | 2017-10-26 | 2017-10-26 | TREATMENT OF ASSETS FROM PERSISTENT MEMORY |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111247507A true CN111247507A (zh) | 2020-06-05 |
CN111247507B CN111247507B (zh) | 2023-12-05 |
Family
ID=66247571
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780096106.8A Active CN111247507B (zh) | 2017-10-26 | 2017-10-26 | 应用程序资产处理方法和系统及非暂态机器可读存储介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11169733B2 (zh) |
EP (1) | EP3673354A4 (zh) |
CN (1) | CN111247507B (zh) |
WO (1) | WO2019083538A1 (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040054952A1 (en) * | 2002-09-13 | 2004-03-18 | Morrow James W. | Device verification system and method |
CA2648100A1 (en) * | 2006-04-13 | 2007-10-25 | Igt | Remote content management and resource sharing on a gaming machine and method of implementing same |
CN101467183A (zh) * | 2006-04-13 | 2009-06-24 | Igt公司 | 游戏机上的远程内容管理及资源共享及其实施方法 |
US20140337901A1 (en) * | 2013-05-07 | 2014-11-13 | Ericsson Television Inc. | Network personal video recorder system, method and associated subscriber device |
US20150006834A1 (en) * | 2013-06-29 | 2015-01-01 | Subramanya R. DULLOOR | Method and apparatus for store durability and ordering in a persistent memory architecture |
US20170050111A1 (en) * | 2015-08-19 | 2017-02-23 | Sony Computer Entertainment America Llc | User save data management in cloud gaming |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7749076B2 (en) * | 2002-09-13 | 2010-07-06 | Bally Gaming, Inc. | System and method for an alterable storage media in a gaming machine |
US20090203430A1 (en) * | 2008-02-07 | 2009-08-13 | Igt | Hybrid memory system and spin-buffer journaling in a gaming machine |
US20090280905A1 (en) * | 2008-05-12 | 2009-11-12 | Weisman Jordan K | Multiplayer handheld computer game system having tiled display and method of use |
US9773344B2 (en) | 2012-01-11 | 2017-09-26 | Nvidia Corporation | Graphics processor clock scaling based on idle time |
US9104560B2 (en) * | 2012-06-13 | 2015-08-11 | Caringo, Inc. | Two level addressing in storage clusters |
US9630115B2 (en) | 2013-01-23 | 2017-04-25 | Zynga Inc. | Shared social asset in game |
WO2016014603A1 (en) | 2014-07-22 | 2016-01-28 | Sony Computer Entertainment America Llc | Save game load time reduction for cloud gaming |
US10154072B2 (en) * | 2014-09-17 | 2018-12-11 | Microsoft Technology Licensing, Llc | Intelligent streaming of media content |
US10315108B2 (en) | 2015-08-19 | 2019-06-11 | Sony Interactive Entertainment America Llc | Local application quick start with cloud transitioning |
JP6646319B2 (ja) | 2015-09-30 | 2020-02-14 | ソニー・インタラクティブエンタテインメント エルエルシー | クラウドゲームのためのマルチユーザデモストリーミングサービス |
WO2017117645A1 (en) * | 2016-01-08 | 2017-07-13 | Flybits Inc. | Technologies for providing user centric interfaces |
WO2018118040A1 (en) * | 2016-12-21 | 2018-06-28 | Hewlett-Packard Development Company, L.P. | Persistent memory updating |
US10661169B1 (en) * | 2017-03-06 | 2020-05-26 | Amazon Technologies, Inc. | Game content playback |
-
2017
- 2017-10-26 EP EP17929462.4A patent/EP3673354A4/en not_active Withdrawn
- 2017-10-26 CN CN201780096106.8A patent/CN111247507B/zh active Active
- 2017-10-26 US US16/605,188 patent/US11169733B2/en active Active
- 2017-10-26 WO PCT/US2017/058582 patent/WO2019083538A1/en unknown
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040054952A1 (en) * | 2002-09-13 | 2004-03-18 | Morrow James W. | Device verification system and method |
CA2648100A1 (en) * | 2006-04-13 | 2007-10-25 | Igt | Remote content management and resource sharing on a gaming machine and method of implementing same |
CN101467183A (zh) * | 2006-04-13 | 2009-06-24 | Igt公司 | 游戏机上的远程内容管理及资源共享及其实施方法 |
US20140337901A1 (en) * | 2013-05-07 | 2014-11-13 | Ericsson Television Inc. | Network personal video recorder system, method and associated subscriber device |
US20150006834A1 (en) * | 2013-06-29 | 2015-01-01 | Subramanya R. DULLOOR | Method and apparatus for store durability and ordering in a persistent memory architecture |
US20170050111A1 (en) * | 2015-08-19 | 2017-02-23 | Sony Computer Entertainment America Llc | User save data management in cloud gaming |
Non-Patent Citations (1)
Title |
---|
ZIQI FAN: "I/O-Cache: A Non-volatile Memory Based Buffer Cache Policy to Improve Storage Performance" * |
Also Published As
Publication number | Publication date |
---|---|
US20210149589A1 (en) | 2021-05-20 |
WO2019083538A1 (en) | 2019-05-02 |
CN111247507B (zh) | 2023-12-05 |
EP3673354A4 (en) | 2021-04-07 |
EP3673354A1 (en) | 2020-07-01 |
US11169733B2 (en) | 2021-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8793528B2 (en) | Dynamic hypervisor relocation | |
CN111819545A (zh) | 分布式计算系统中的虚拟机的动态迁移 | |
CN101131671A (zh) | 控制对非易失性存储器的访问 | |
US20150095585A1 (en) | Consistent and efficient mirroring of nonvolatile memory state in virtualized environments | |
US8799611B2 (en) | Managing allocation of memory pages | |
US10140212B2 (en) | Consistent and efficient mirroring of nonvolatile memory state in virtualized environments by remote mirroring memory addresses of nonvolatile memory to which cached lines of the nonvolatile memory have been flushed | |
US8984267B2 (en) | Pinning boot data for faster boot | |
US11182084B2 (en) | Restorable memory allocator | |
TW201941197A (zh) | 混合式記憶體系統 | |
JP2021517307A (ja) | ハイブリッドメモリシステム | |
US10417010B2 (en) | Disk sector based remote storage booting | |
US9069677B2 (en) | Input/output de-duplication based on variable-size chunks | |
US9170931B2 (en) | Partitioning a memory into a high and a low performance partitions | |
EP3869343B1 (en) | Storage device and operating method thereof | |
KR20110052902A (ko) | 컴퓨팅 시스템 및 컴퓨팅 시스템의 메모리 관리 방법 | |
CN111247507B (zh) | 应用程序资产处理方法和系统及非暂态机器可读存储介质 | |
US10140029B2 (en) | Method and apparatus for adaptively managing data in a memory based file system | |
US20110314203A1 (en) | Resource adjustment methods and systems for virtual machines | |
US11928510B2 (en) | Increasing page sharing on non-uniform memory access (NUMA)-enabled host systems | |
CN111868678B (zh) | 混合存储器系统 | |
CN111868679B (zh) | 混合存储器系统 | |
AU2015100549A4 (en) | Pinning boot data for faster boot | |
CN111919201B (zh) | 混合式存储器系统 | |
CN113849346A (zh) | 一种数据备份方法、装置及设备 | |
CN115756961A (zh) | 全量数据恢复方法、装置、电子设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |