首页 / 专利库 / 空中管制 / 许可 / 集成电路存储器分配方法、装置、介质以及系统

集成电路存储器分配方法、装置、介质以及系统

阅读:902发布:2020-05-11

专利汇可以提供集成电路存储器分配方法、装置、介质以及系统专利检索,专利查询,专利分析的服务。并且一种用于操作计算设备的方法包括基于工作负载或来自不同类型的应用的 请求 来动态管理至少两种类型的 存储器 。第一类型的存储器可以是高性能存储器,它相比于计算设备中的第二类型的存储器而言可具有更高带宽、更低存储器等待时间和/或更低的功耗。在一个 实施例 中,计算设备包括片上系统(SoC),其包括与一个或多个处理器核一起 定位 的宽I/O DRAM。低功率双 数据速率 3动态 随机存取存储器 (LPDDR3 DRAM)存储器外部地连接到SoC或是SoC的嵌入部分。在各实施例中,计算设备至少可以被包括在蜂窝电话、移动设备、 嵌入式系统 、视频游戏、媒体控制台、膝上型计算机、台式计算机、 服务器 和/或 数据中心 中。,下面是集成电路存储器分配方法、装置、介质以及系统专利的具体信息内容。

1.一种将一种类型的集成电路存储器分配给由计算设备处理的应用的方法,所述方法包括:
确定所述计算设备中所述应用可用的集成电路存储器的类型,其中可用的各类集成电路存储器包括第一类型的集成电路存储器和第二类型的集成电路存储器;
从所述应用接收要使用集成电路存储器的请求
将与所述应用相关联的属性信息与所述计算设备中所存储的应用清单的属性信息进行比较以确定所述应用是否请求使用所述第一类型的集成电路存储器;以及响应于来自所述应用的所述请求并且响应于所述比较,分配要被所述应用使用的集成电路存储器;
其中确定所述计算设备中所述应用可用的集成电路存储器的类型包括:通过向不同类型的集成电路存储器写入和从不同类型的集成电路存储器读取来测量实际带宽和存储器等待时间中的一个或多个。
2.如权利要求1所述的方法,其特征在于,所述第一类型的集成电路存储器具有相比于所述第二类型的集成电路存储器更好的至少一个或多个性能特征。
3.如权利要求1所述的方法,其特征在于,所述第一类型的集成电路存储器具有相比于所述第二类型的集成电路存储器更高的带宽、更低的存储器等待时间或更低的功耗中的至少一个。
4.如权利要求1所述的方法,其特征在于,所述确定包括从存储器的性能特征列表访问所述第一和第二类型的集成电路存储器的性能特征。
5.如权利要求4所述的方法,其特征在于,所述性能特征列表是通过互联网获取的,并且其中所述性能特征列表是以处理器可读格式存储的。
6.如权利要求1所述的方法,其特征在于,所述接收包括读取应用清单上的指示来自所述应用的请求包括使用所述第一类型的集成电路存储器的请求的属性信息。
7.如权利要求1所述的方法,其特征在于,所述分配包括将所述请求传送到存储器控制器的虚拟存储器分配器或物理存储器分配器中的至少一个,所述存储器控制器管理存储器页到所述计算设备中的物理存储器区域的分配。
8.如权利要求1所述的方法,其特征在于,还包括监视存储器位置以及在所述第一类型的集成电路存储器处的所述应用的使用。
9.如权利要求1所述的方法,其特征在于,
其中,如果所存储的应用列表是白名单则分配要被所述应用使用的所述第一类型的集成电路存储器,而如果所存储的应用列表是黑名单则分配要被所述应用使用的所述第二类型的集成电路存储器其中当所述应用使用将超过所述第一类型的集成电路存储器的物理存储器空间时,分配所述第一类型的集成电路存储器由分配要被所述应用使用的所述第二类型的集成电路存储器来代替。
10.如权利要求1所述的方法,其特征在于,还包括将所述第一类型的集成电路存储器作为所述应用可访问的高速缓存存储器来分配。
11.如权利要求1所述的方法,其特征在于,所述确定包括向第一和第二类型的集成电路存储器发起对关于所述集成电路存储器的信息的请求,其中关于所述集成电路存储器的所述信息选自存储器配置或功率管理之一。
12.一种装置,包括:
一个或多个处理器;
具有第一性能特征的第一处理器可读存储器;
具有第二性能特征的第二处理器可读存储器,其中所述第一性能特征优于所述第二性能特征;
一个或多个软件应用;以及
包括处理器可读指令的操作系统,其中所述一个或多个处理器执行所述操作系统的所述处理器可读指令以:
通过将与一个或多个软件应用相关联的属性信息与所述装置所存储的应用清单的属性信息进行比较来确定所述一个或多个软件应用是否请求所述第一处理器可读存储器的使用,
确定所述一个或多个软件应用使用的处理器可读存储器的量,以及
响应于对使用所述第一处理器可读存储器的请求以及所述一个或多个软件应用使用的处理器可读存储器的量,允许所述一个或多个软件应用中的至少一个访问所述第一处理器可读存储器,其余的软件应用访问所述第二处理器可读存储器;
其中所述第一性能特征和二性能特征是通过向所述第一和第二处理器可读存储器写入和从所述第一和第二处理器可读存储器读取来测量的。
13.如权利要求12所述的装置,其特征在于,所述第一和第二性能特征选自带宽、存储器等待时间或功耗中的一个。
14.如权利要求12所述的装置,其特征在于,所述一个或多个处理器和第一处理器可读存储器被集成到由第一封装安置的单个半导体管芯中,并且其中所述第二处理器可读存储器被包括在由第二封装安置的第二半导体管芯中。
15.如权利要求12所述的装置,其特征在于,所述一个或多个处理器被包括在第一半导体管芯上,且所述第一处理器可读存储器被包括在第二半导体管芯上,其中所述第一和第二半导体管芯由第一封装安置,并且其中所述第二处理器可读存储器被包括在由第二封装安置的第三半导体管芯中。
16.一种具有指令的计算机可读存储介质,当所述指令被执行时使得机器执行如权利要求1-11中任一权利要求所述的方法。
17.一种计算机系统,包括用于执行如权利要求1-11中任一权利要求所述的方法的装置。

说明书全文

集成电路存储器分配方法、装置、介质以及系统

[0001] 背景
[0002] 操作系统(OS)包括处理器可读指令,其管理计算机硬件资源并为其他具有处理器可读指令的计算程序,诸如应用程序(应用),提供通用服务。典型地,OS作为应用和计算机硬件之间的中介。OS通常安排任务来高效使用计算资源。OS通常执行基础任务,诸如识别来自键盘的输入、向显示屏发送输出、保持对文件和目录的跟踪,并控制外围设备,诸如打印机和盘驱动。
[0003] 概述
[0004] 一种用于操作计算设备的方法包括基于工作负载或来自不同类型的应用的请求来动态管理至少两种类型的存储器(异类存储器)。第一类型的存储器可以是高性能存储器,它相比于计算设备中的第二类型的存储器而言可具有更高带宽、更低存储器等待时间、在磨损前更多的写入次数和/或更低的功耗。在一个实施例中,计算设备包括片上系统(SoC),其包括位于邻近一个或多个处理器核的宽I/O DRAM(更高性能的存储器的示例)。低功率双数据速率3 动态随机存取存储器(LPDDR3 DRAM)内存(传统存储器的示例)内部地或外部地连接到SoC。在各实施例中,计算设备至少可以被包括在蜂窝电话、移动设备、嵌入式系统、视频游戏控制台、媒体控制台、膝上型计算机、台式计算机、服务器和/或数据中心中。
[0005] 在一个实施例中,OS将更高性能的存储器分配给具有特定工作负载或功能 (例如,射线跟踪、/视频缓冲、NUI(自然用户界面)数据缓冲)的指定应用。当新数据需要占据更高性能的存储器时,OS可将数据从更高性能的存储器传送。OS和一个或多个处理器,连同存储器控制器逻辑硬件和/或软件,也执行错误更正以保护数据完整性。为了确定不同类型的存储器的能和/或性能特征的目的,存储器特性的在线(web)处理器可读目录可被OS访问
[0006] 在一个实施例中,应用具有应用清单中的属性标志或信息,其向OS指示特定应用得益于使用高性能存储器。当发出请求的应用不在应用清单上时,或当发出请求的应用要求大于可用的量的高性能存储器时,OS可不允许对高性能存储器的访问。在一个实施例中,OS监视应用的执行并保持对存储器位置访问和使用模式的跟踪。在各实施例中,OS可将属性标志或信息传递到虚拟或物理存储器分配器,诸如存储器控制器或存储器管理器。
[0007] 在一个实施例中,高性能存储器可被用作虚拟高速缓存存储器或高速缓存存储器。
[0008] 在各实施例中,OS或存储器控制器还可询问不同类型的存储器以获得存储器操作细节以及周期性地询问不同类型的存储器关于健康和性能信息。OS或存储器控制器还可管理不同类型存储器的功耗状态。
[0009] 一方法实施例将一种类型的存储器分配给由计算设备处理的一应用。该方法包括,确定该计算设备中可用的集成电路存储器的类型。各类可用的集成电路存储器包括第一高性能类型的存储器和非高性能存储器的第二类型的存储器。来自应用的对使用高性能存储器的请求被接收。响应于该请求,高性能存储器被分配给该应用。
[0010] 一装置实施例包括一个或多个处理器和具有第一性能特征的第一处理器可读存储器。该装置还包括具有第二性能特征的第二处理器可读存储器。第一性能特征优于第二性能特征。一个或多个处理器执行OS的处理器可读指令以确定一个或多个软件应用是否请求使用第一处理器可读存储器以及该一个或多个应用使用的处理器可读存储器的量。响应于对使用第一处理器可读存储器的请求以及该一个或多个应用使用的处理器可读存储器的量,一个或多个处理器执行OS的处理器可读指令以允许该一个或多个应用中的至少一个访问第一处理器可读存储器。
[0011] 在另一实施例中,一个或多个处理器可读存储器设备包括指令,该指令在执行时使得一个或多个处理器执行将高性能存储器分配给应用的方法。来自应用的对使用高性能存储器的请求以及应用将使用的存储器的量被接收。作出关于可用高性能存储器的量的判定。响应于应用将使用的存储器的量以及可用高性能存储器的量,将高性能存储器分配给应用。
[0012] 提供概述以便以简化形式介绍将在以下详细描述中进一步描述的一些概念的选集。该概述不意图标识所要求保护的主题的关键特征或基本特征,也不意图被用来帮助确定所要求保护的主题的范围。
[0013] 附图简述
[0014] 图1是计算设备的示例硬件体系结构的高级别框图
[0015] 图2是访问不同类型的存储器的示例软件体系结构的高级别框图。
[0016] 图3A是访问不同类型的存储器的示例OS体系结构的高级别框图。
[0017] 图3B是异类存储器软件的示例动态管理的高级别框图。
[0018] 图4是用于将不同类型的存储器分配给一个或多个应用的示例方法的流程图
[0019] 图5A是将高性能存储器用作虚拟高速缓存的示例方法的流程图。
[0020] 图5B是将高性能存储器用作高速缓存的示例方法的流程图。
[0021] 图6A是用于查询不同类型的存储器以获得包括配置、性能和健康的存储器信息的示例方法的流程图。
[0022] 图6B是管理不同类型的存储器功率的示例方法的流程图。
[0023] 图7是示例性游戏和媒体系统的立体图。
[0024] 图8是图7中所示的游戏和媒体系统的组件的示例性功能框图。
[0025] 详细描述
[0026] SoC(也称为SOC)是将计算设备或其他电子系统的电子组件和/或子系统集成到安置在单个封装内的单个半导体基板和/或单个芯片中的集成电路 (IC)。例如,先前在个人计算机(PC)中的存储器模子系统中的存储器现在可被包括在SoC中。类似地,存储器控制逻辑可被包括在SoC的处理器中而不是包括在分开地封装的存储器控制器中。
[0027] SoC的一个或多个处理器还可具有对具有不同类型的存储器特征的不同类型的存储器的访问。存储器特征或性能参数可包括,但不限于,带宽、存储器等待时间、功耗、磨损前的写入次数和/或热生成。高性能存储器,诸如具有较高带宽(或相比于其他存储器每单位时间周期可发送或接收更多数据)的存储器,可能更昂贵并且可能不能用作不具有特定高性能特征的存储器。
[0028] 图1是计算设备实施例的示例硬件体系结构的高级别框图。在各实施例中,计算设备100至少可以被包括在蜂窝电话、移动设备、嵌入式系统、视频游戏控制台、媒体控制台、膝上型计算机、台式计算机、服务器和/或数据中心中。
[0029] 在一个实施例中,计算设备100包括SoC 101和存储器104。SoC是将计算设备或其他电子系统的各组件集成到单个芯片或半导体基板中的IC。SoC 101 包括一个或多个处理器核103和高性能存储器102。(诸)处理器核103通过内部信号路径106的方式与高性能存储器102进行通信。在一个实施例中,高性能存储器102包括耦合到信号路径106的接口102a。(诸)处理器核103还通过外部信号路径105的方式与外部存储器104进行通信。在一个实施例中,信号路径106和105是由OS和嵌入在SoC 101内的存储器控制器控制的分开的信号路径。
[0030] 在一个实施例中,存储器104在SoC 101外部,并且可被配置作为印刷线路板(诸如母板)上的存储器模块或焊接组件。在一个实施例中,存储器104 包括耦合到信号路径105的接口,其包括在印刷线路板上的至少一条迹线或信号线。在一个实施例中,SoC 101还耦合到包括信号路径105的相同印刷线路板。
[0031] 如本领域普通技术人员将理解的,其他电子组件可以被包括在SoC 101中。 SoC 101可以包括数字的、模拟的、混合信号的,和/或射频电路——在单个半导体基板上的一个或多个。SoC 101可以包括振荡器相环、计数器-计时器、实时计时器、加电复位发电机、外部接口(例如,通用串行总线(USB)、IEEE 1394接口(火线)、以太网、通用异步接收机/发射机(USART)和串行外围总线(SPI))、模拟接口、电压调节器和/或电源管理电路。
[0032] 在替换的实施例中,SoC 101可以被系统级封装(SiP)或层叠封装(PoP) 替换。在SiP中,多个芯片或半导体基板被安置在单个封装中。在SiP实施例中,(诸)处理器核103将可以在一个半导体基板上,而高性能存储器102将可以在第二半导体基板上,二者都被安置在单个封装中。在一个实施例中,第一半导体基板通过线结合耦合至第二半导体基板。
[0033] 在PoP实施例中,(诸)处理器核103将可以在布置在第一封装中的一个半导体管芯上,而高性能存储器102将可以在布置在第二不同封装中的第二半导体管芯上。第一封装和第二封装随后将通过标准接口被堆叠以在各封装(具体而言在各半导体管芯)间路由信号。在一个实施例中,所堆叠的封装接着可被耦合到将存储器104作为组件的印刷线路板。
[0034] 在各实施例中,(诸)处理器核103包括执行(或读取)存储在存储器中的处理器(或机器)可读指令的一个或多个处理器。处理器可读指令的示例可包括计算设备100的OS和/或应用软件程序(应用)(诸如图2所示的OS 205 和应用202-204)。响应于执行OS和应用的处理器可读指令,(诸)处理器核103使用高性能存储器102和存储器104。在一个实施例中,(诸)处理器核103可包括处理器和存储器控制器,或替换地,也执行与存储器控制器执行的类似的存储器管理功能的处理器。(诸)处理器核103还可以包括控制器、中央处理单元(CPU)、图形处理单元(GPU)、数字信号处理器(DSP)和/ 或现场可编程阵列(FPGA)。在一个实施例中,高性能存储器102被定位在(诸)处理器核103的上方。
[0035] 在一个实施例中,高性能存储器102至少有一个或多个在性能方面优于存储器102的存储器特征,诸如带宽、存储器等待时间、热生成、在磨损前的写入次数和/或功耗。例如,高性能存储器102可以是具有比存储器104更高带宽的宽I/O DRAM。存储器104可以是低功率双数据速率3动态随机存取存储器(LPDDR3 DRAM)内存(也被称为低功率DDR、移动DDR(MDDR)或mDDR)。在一个实施例中,存储器接口102a是在信号路径106上传送和接收信号的宽 I/O DRAM接口;而存储器接口104是在信号路径105上传送和接收信号的 LPDDR3 DRAM接口。
[0036] 在各实施例中,高性能存储器102和存储器104可以包括设置在分开的半导体基板上的IC中的存储器单元的一个或多个阵列。在一个实施例中,高性能存储器102和存储器104被包括在容纳在分开封装的设备中的各自的集成的整体电路。在各实施例中,高性能存储器102和存储器104可以包括易失性和 /或非易失性存储器
[0037] 易失性存储器的类型包括但不限于动态随机存取存储器(DRAM)、基于分子电荷的(ZettaCore)DRAM、浮体DRAM和静态随机存取存储器 (“SRAM”)。DRAM的特定类型包括双倍数据速率SDRAM(“DDR”),或晚一代SDRAM(例如,“DDRn)。”
[0038] 非易失性存储器的类型包括但不限于以下类型:电可擦除可编程只读存储器 (“EEPROM”)、闪存(包括NAND和NOR闪存)、ONO闪存、磁阻或磁性 RAM(“MRAM”)、电RAM(“FRAM”)、全息介质、奥弗辛斯基效应的 /相变纳米晶体、纳米管RAM(NRAM-Nantero)、MEMS扫描探针系统、MEMS 悬臂式开关聚合物、分子、纳米浮栅和单电子。
[0039] 在各实施例中,信号路径105/106是传输信号的介质,诸如互连、传导元件、触头、引脚、半导体基板中的区域、引线、金属迹线/信号线或光电导体个体或其组合。在一个实施例中,多个信号路径可以替代图中所示的单个信号路径,并且单个信号路径可以替代图中所示的多个信号路径。在各实施例中,信号路径可以包括总线和/或点到点连接。在一实施例中,信号路径包括控制和数据信号线。在替换的实施例中,信号路径包括数据信号线或控制信号线。在又一些其他实施例中,信号路径是单向的(信号在一个方向上传播)或双向的 (信号在两个方向上传播)或者是单向信号线和双向信号线两者的组合。
[0040] 图2是访问不同类型的存储器的示例软件体系结构200的高级别框图。OS 205,以及具体而言异类存储器的动态管理(DMHM)308确定,除了其它功能外,哪些应用202-204被分配高性能存储器208以及哪些应用202-204被分配存储器209。在各实施例中,高性能存储器208对应于高性能存储器102,而存储器209对应于本文中描述的并在图1中示出的存储器104。DMHM 308至少基于应用202-204之一是否请求高性能存储器,通过属性标志或信息的方式确定应用202-204中的哪些将具有对高性能存储器208的访问。一旦确定特定应用将被分配特定存储器类型(高性能存储器208或存储器209),则合适的设备驱动器206与OS 205一起使用。
[0041] OS 205,具体而言DMHM 308还使用高级配置和电源接口(ACPI)驱动器、寄存器、基本输入输出系统(BIOS)以及表格(统称ARBT)207来执行其他功能,诸如,监视高性能存储器208和存储器209的健康、功率和性能,如在此详细描述的。ACPI驱动器发现、配置、功率管理以及监视硬件组件,诸如存储器。例如,OS 205可使用ACPI驱动器来在外围设备不使用时关闭外围设备。 BIOS是固件中的一组计算机指令,其控制一般存储在非易失性存储器中的输入和输出操作。在一个实施例中,ACPI驱动器允许OS 205与BIOS进行通信并指令BIOS来关闭外围设备。
[0042] 图3A是访问不同类型的存储器的示例OS体系结构300的高级别框图。在一个实施例中,OS 205包括图3A中所示的一个或多个软件组件。在一个实施例中,软件组件可包括软件程序、软件对象、软件功能、软件子例程、软件方法、软件实例、脚本和/或代码片段,单独地或组合地。例如,OS 205包括以下中的一个或多个:进程管理301、存储器管理302、I/O设备管理303、文件管理304、网络管理304、用户接口306和保护307。以下描述了可由各种OS 软件组件来执行的一个或多个示例功能。在替换实施例中,可使用以下描述的更多或更少软件组件和/或软件组件的功能。
[0043] 在各实施例中,OS 205的至少部分被存储在处理器可读存储设备中。在一个实施例中,OS 205的至少部分被存储在图1示出的高性能存储器102和/ 或存储器104中。
[0044] 进程管理301负责创建并删除用户和系统进程。进程管理301还可负责进程的挂起和恢复。进程管理301还可负责进程的同步和通信。进程管理301还可负责死锁处理。
[0045] 存储器管理302负责跟踪各种类型的存储器中的哪个部分存储器当前被特定软件组件或应用使用。存储器管理302还决定在存储器空间变得可用时,哪些进程被加载到存储器中。存储器管理还按需分配存储器空间和解除存储器空间的分配。
[0046] 在一个实施例中,异类存储器的动态管理(DMHM)308被包括在存储器管理302中。DMHM 308负责,但不限于,确定可用存储器的类型、将特定类型的储存器分配给特定应用、监视应用的存储器使用、执行错误检测和更正、确定可用的高速缓存、将存储器用作实际或虚拟高速缓存、监视存储器的性能、健康以及配置,并管理不同类型的存储器的功率。在一个实施例中,执行DMHM 308 的一个或多个功能的软件组件在图3B中示出。
[0047] 在一个实施例中,DMHM 308包括图3B中所示的一个或多个以下的软件组件:存储器类型310、分配311、监视使用312、检测和错误更正313、高速缓存管理314、监视性能、健康和配置315和/或管理功率316。
[0048] 存储器类型310负责确定什么类型的存储器在计算环境中可用。在一个实施例中,存储器类型310查询计算环境来确定什么类型的存储器可用。在一个实施例中,存储器类型310确定是否任何高性能存储器可用。在一个实施例中,为了确定在计算环境(诸如计算设备100中)与所列应用相关联的各类型的存储器的能力和/或性能特征的目的,存储器类型
310通过互联网访问应用特征的在线(web)目录。当特定存储器具有合适于应用的某些能力和/或性能特征(诸如具有高于预定阈值的带宽)时,存储器类型310将把特定存储器作为高性能存储器来分派。当存储器不具有符合预定阈值的特定能力和/或性能特征时,存储器类型310不将该存储器作为高性能来分派。在一个实施例中,当新存储器设备变得可用时,存储器能力和/或性能特征的在线目录被更新/修改。在一个实施例中,OS跟踪并测量存储器的与存储器标识相关的性能特征,并将所测的性能特征经由互联网上传到在线目录。在一个实施例中,用户可以通过姿势、触摸或声音向控制台1002提供输入。在一个实施例中,光学I/O接口1135接收并转换用户的姿势。在另一个实施例中,控制台1002包括自然用户界面(NUI)以接收并转换来自用户的声音和姿势输入。在一个替换的实施例中,前面板子组件
1142包括触摸表面和话筒以用于接收并转换用户的触摸或声音(诸如声音命令)。在又一个实施例中,存储器能力和/或性能特征的目录被本地地存储在永久存储器中。
[0049] 分配311负责将特定类型的存储器,诸如高性能存储器,分配给可能已经请求了高性能存储器的特定应用。在一个实施例中,可从高性能存储器中受益的应用具有请求高性能存储器的属性标志或信息。分配311在将应用分派给特定类型的存储器之前检查属性信息。在一个实施例中,分配311包括应用的属性信息列表,并将所存储的列表中的特定应用的属性信息与可能在应用的清单中的属性信息进行比较。
[0050] 在一个实施例中,分配311可将属性信息递送到虚拟存储器分配器,其管理存储器页到物理存储器区域的分配。在另一个实施例中,分配311可将属性信息通过存储器控制器递送到物理存储器分配器。
[0051] 在一个实施例中,分配311将确定请求高性能存储器的特定应用将使用的存储器的量,并在高性能存储器的足够量不可用时拒绝请求。在另一个实施例中,分配311将把全部运行或执行应用的运行时优先级进行比较,并在一个实施例中当高性能存储器被映射到具有较高优先级的应用时拒绝请求。
[0052] 在一个实施例中,分配311还将请求高性能存储器的应用与列表进行比较,以确定是否将该应用分配到高性能存储器。在一实施例中,分配311包括黑名单应用列表,目的是阻止特定应用访问较高性能的存储器。可替换地,分配311 包括白名单应用的列表,其可使用更高性能的存储器,即使应用的属性信息不请求高性能存储器。这个应用列表可本地地存在于分配311中,或在线通过互联网可访问,其他地方的处理器可读形式,并可被更新。在一个实施例中,因应用不具备合适的属性信息或该应用已经因在黑名单上而被阻塞而未被分配高性能存储器的应用,将被分配非高性能的存储器。
[0053] 由于更高性能的存储器可能更快(更大带宽、更低存储器等待时间),且更加功率高效,因此当高性能存储器可用时,即使当应用不具备合适的属性信息也将高性能存储器分配给特定应用,使得计算设备可更加功率高效。
[0054] 监视使用312负责监视已经被分配了特定类型的存储器的应用的存储器使用。存储器使用312监视正被使用的存储器的量,因此它将不超过计算环境中可用的物理可用存储器。监视使用312还标识高性能存储器何时可用,使得分配311可将应用分配到高性能存储器。在一个实施例中,监视使用312使用存储器控制器或驱动器来管理并跟踪特定应用使用的高性能存储器的量。在一个实施例中,监视使用312可编译所访问的存储器的应用使用的概览并将该应用使用的概览存储在永久存储器中,偶尔将所存储的信息通过互联网上传到在线目录。
[0055] 错误检测和更正313负责在特定应用使用分配的类型的存储器时检测并更正错误。在各个实施例中,不同类型的检测和错误更正方法可被使用。例如,可以使用散列功能或校验和方法。在另一个实施例中,奇偶校验位方法可被使用在错误更正代码(ECC)或前向错误更正(FEC)方法中。
[0056] 高速缓存管理314负责将高性能存储器用作一个或多个处理器的高速缓存。在替换实施例中,高速缓存管理315将高性能存储器用作虚拟高速缓存。
[0057] 在一个实施例中,高性能存储器被使用以创建L1/L2/L3高速缓存存储器的虚拟化的保留空间或虚拟高速缓存。这允许高速缓存存储器更大并允许L1/L2/L3高速缓存存储器储备可用存储器空间用作其自己的目的。在一个实施例中,高速缓存管理315使用投机获取将可能要被L1/L2/L3高速缓存存储器使用的数据存储在高性能存储器(虚拟高速缓存)中。
[0058] 高速缓存管理315将虚拟高速缓存存储器带宽(速度)低于典型的L1/L2/L3 高速缓存带宽考虑在内。在一个实施例中,使用投机地将数据预读到更高性能的存储器中的缓解方法。高速缓存管理315还标识何时高性能存储器被抽干数据以馈送到L1/L2/L3高速缓存。
[0059] 在替换实施例中,更高性能的存储器可被用作更高级别高速缓存。例如,宽I/O DRAM将扮演相比于SoC 101中的L3高速缓存而言更高级别高速缓存的色,并因此执行任务以提升性能。
[0060] 监视性能、健康和配置(监视性能)315负责监视特定类型的存储器的性能,诸如带宽、健康和配置,诸如存储器排名。在一个实施例中,监视性能315 在开机时和/或周期性查询每个类型的存储器以获得存储器细节,诸如带宽和 /或热。在一个实施例中,监视性能315在开机时还将查询不同类型的存储器以寻找特定存储器配置。在一个实施例中,监视性能315使用如图2所示的ACPI 驱动器以监视各种类型的存储器的性能、健康和配置。在一个实施例中,存储性能315编译与环境参数相关的特定存储器的健康简档,并周期性地将这样的健康简档经由互联网上传到在线目录。
[0061] 管理功率316负责管理不同类型的存储器的功率。在一个实施例中,管理功率316管理具有可管理功率的存储器类型的功率。在一个实施例中,管理功率316将减少和/或增加提供给不同类型的存储器的功率的量,这取决于它们的状态和/或配置。在一个实施例中,(诸)处理器核103中的嵌入式存储器控制器将管理施加到高性能存储器102上的功率。在一个实施例中,管理功率 316使用如图2所示的ACPI驱动器以管理各种类型的存储器。
[0062] 尽管DMHM 308被描述为被实现在OS 205中,但是在替换实施例中,DMHM 308可被编码在计算设备100的固件中。
[0063] 返回到OS 205的其他软件组件,I/O设备管理303负责管理I/O设备。在一个实施例中,特定硬件的特点向用户隐藏。在一个实施例中,设备驱动器知道特定设备的特点。例如,I/O设备管理303可负责盘管理功能,诸如空闲空间管理、存储器分配、碎片、移除和头部调度。
[0064] 文件管理304负责创建并删除文件和目录。文件管理304可支持分层文件系统。文件管理304还可将文件备份到次级存储器上。
[0065] 网络管理305负责与网络通信,包括提供连接/路由方法。网络管理305 还可负责数据/进程迁移到其他计算设备。
[0066] 用户界面306向用户提供特征和/或图形用户界面,并负责接收输入并向用户提供输出。
[0067] 保护307负责控制程序、进程,和/或用户的对计算设备的资源的访问。例如,保护307负责控制对诸如CPU循环、存储器、文件,和/或I/O设备等资源的访问。保护307还负责用户认证和通信。
[0068] 图4-6B是示出动态管理异类存储器的示例方法的流程图。在各实施例中,图4-6B中所示的步骤表示硬件(例如,处理器、存储器、电路)、软件(例如,OS、应用、驱动器、机器/处理器可执行指令)或用户的操作个体或其组合。如本领域普通技术人员将理解的,各实施例可以包括比示出的更多或更少的步骤。
[0069] 图4是用于将不同类型的存储器分配给一个或多个软件应用的示例方法的流程图。步骤400示出了确定计算设备(诸如图1中所示的计算设备100)中的可用的存储器类型。在一个实施例中,DMHM 308中的存储器类型310确定计算设备中可用的存储器类型。在一个实施例中,存储器类型310确定是否存在可用的高性能存储器或可用的执行存储器的不同类型的分层结构。
[0070] 步骤401示出了从应用接收对服务和存储器类型的请求。在一个实施例中,应用向OS 205请求服务和DMHM 308,并且在特定分配311中,确定请求服务的应用是否还请求高性能存储器。在一个实施例中,分配311读取相关联的应用清单以确定发出请求的应用是否还请求高性能存储器。在一个实施例中,发出请求的应用请求如图1所示的高性能存储器102。
[0071] 步骤402示出获取与发出请求的应用相关联的属性信息,并将该信息与来自应用的清单的属性信息进行比较。在一个实施例中,分配311读取与存储在 ARBT 207中的应用(具体而言应用表格)相关联的属性,并将该属性信息与在发出请求的应用的清单中的信息进行比较。
[0072] 响应于步骤402中的比较,步骤403接着确定应用是否在请求高性能存储器。当发出请求的应用的应用清单中的属性信息与ARBT 207中的属性信息相匹配时,在高性能存储器可用时且在应用不在黑名单(包括在ARBT 207中的黑名单表格)上时(如步骤404和405中所示的),并且当发出请求的应用不请求比可用的存储器更多的存储器时(如步骤406中所示并在此描述的),发出请求的应用将被分配高性能存储器。
[0073] 步骤404示出了确定发出请求的应用将使用多少存储器。在一个实施例中,监视使用312监视计算设备的存储器中的应用的使用。
[0074] 步骤405确定发出请求的应用是否在白名单或黑名单上。当发出请求的应用在白名单上时,只要高性能存储器可用且应用不需要比可用的高性能存储器更多的高性能存储器时,就把高性能存储器分配给该应用,即使应用的属性信息不这样指示。在一个实施例中,当应用在黑名单上时,不管高性能存储器是否可用,拒绝向应用分配高性能存储器。在一个实施例中,黑名单和白名单被存储在ARBT 207的表中。在替换实施例中,不使用黑名单和白名单。
[0075] 步骤406示出了确定高性能存储器是否可用。在一个实施例中,监视使用 312关于高性能存储器的可用性来更新分配311。
[0076] 步骤407示出了在发出请求的应用具有1)合适的属性信息,2)不在黑名单上(或在白名单上,在一个实施例中在白名单上优先于缺乏合适的属性信息),3)高性能存储器可用以及4)可用的高性能存储器的量大于将被发出请求的应用使用的量大时,向发出请求的应用分配高性能存储器。在一个实施例中,分配311在上面的条件满足时将高性能存储器分配给发出请求的应用。在一个实施例中,少于上面的条件可被满足以将高性能存储器分配给发出请求的应用。否则,分配311将非高性能的存储器(替换存储器)分配给发出请求的应用。在一个实施例中,在高性能存储器未被分配时存储器104被分配。
[0077] 在一个实施例中,分配来自应用的对一定量的存储器的请求的任务包括定位一块足够大小的未使用存储器。通过分配来自被知晓为“堆”的存储器的大池的部分来满足存储器请求。在任何给定时间,堆的一些部分在使用,而一些为“空闲”(未使用)并且因此为未来的分配可用。
[0078] 步骤408示出了监视计算设备中不同类型的存储器的使用的DMHM 308。具体而言,监视使用312监视正被一个或多个应用使用的高性能存储器的使用以及不是高性能的其他类型的存储器的使用。在一个实施例中,当在高性能存储器及其他类型的存储器中的存储器空间变得可用时,监视使用312通知分配 311。
[0079] 步骤409示出了当一个或多个应用正在使用各种类型的存储器时执行错误检测和更正。在一个实施例中,DMHM 308中的错误检测和更正313执行该功能。
[0080] 图5A是将高性能存储器用作虚拟高速缓存存储器的示例方法的流程图。步骤500示出了确定在计算设备中可用的存储器的类型。在一个实施例中,步骤500是类似于在此描述的步骤400而执行的。在一个实施例中,存储器类型 310和/或高速缓存管理314作出该确定。
[0081] 步骤501示出了确定高速缓存存储器是否可用。在一个实施例中,高速缓存管理314确定高速缓存存储器是否可用以及可用的高速缓存存储器的量。步骤501接着确定高性能存储器作为虚拟高速缓存存储器是否将提升计算设备的性能。在一个实施例中,高速缓存管理314将可用的高速缓存存储器的量与预定阈值进行比较。当可用的高速缓存存储器的量小于预定阈值时,高速缓存管理314接着将高性能存储器作为虚拟高速缓存存储器来分派,如步骤502中所示。在替换实施例中,当可从这样的分派受益的特定应用向OS 302请求服务时,高速缓存管理314将高性能存储器分派作为虚拟高速缓存存储器。
[0082] 步骤503示出了将数据存储在用作可能要被使用的虚拟高速缓存存储器的高性能存储器中。在一个实施例中,使用投机获取。
[0083] 步骤504示出了缓解相比实际高速缓存存储器而言用作虚拟高速缓存存储器的高性能存储器的相对慢的速度。在一个实施例中,使用投机地将数据预读到更高性能的存储器中的缓解方法。
[0084] 图5B是将高性能存储器用作高速缓存存储器的示例方法的流程图。类似于步骤500,步骤510示出了确定高速缓存存储器是否可用。在一个实施例中,高速缓存管理314确定高速缓存存储器是否可用以及可用的高速缓存存储器的量。步骤511接着确定高性能存储器作为高速缓存存储器是否将提升计算设备的性能。在一个实施例中,高速缓存管理314将可用的高速缓存存储器的量与预定阈值进行比较。当可用的高速缓存存储器的量小于预定阈值时,高速缓存管理314接着将高性能存储器作为高速缓存存储器来分派,如步骤512中所示。在替换实施例中,当可从这样的分派受益的特定应用向OS 302请求服务时,高速缓存管理314将高性能存储器分派作为高速缓存存储器。
[0085] 步骤513和514类似于步骤503和504执行,除了高性能存储器被用作高速缓存存储器而不是虚拟高速缓存存储器。
[0086] 图6A是用于查询不同类型的存储器以获得包括配置、性能和健康的存储器信息的示例方法的流程图。步骤600示出了查询计算设备中不同类型的存储器的每一个以寻找存储器配置信息。在各实施例中,存储器配置可包括与类型、大小、带宽、宽度、排名、等待时间、时钟、计时参数和/或其他存储器配置参数相关的信息。在一个实施例中,未驻留在各种不同类型的存储器(诸如系统或配置存储器)上的具有配置信息的存储位置被查询,而不是实际存储器它们本身。
[0087] 在一个实施例中,一个或多个处理器执行OS 205,且具体地DMHM 308,以获得存储器配置信息。在一个实施例中,监视性能315负责获得每个类型的存储器的配置信息。在一个实施例中,(诸)处理器核103执行OS 205以在信号路径106和105上生成对高性能存储器102和存储器104的控制信号。响应于该控制信号,每个存储器接着返回配置信息。在一个实施例中,控制信号可包括在信号路径105和106上分开的命令输出。在一个实施例中,控制信号在开始时和/或周期性地输出。
[0088] 步骤601示出了监视计算设备中不同类型的存储器的性能。在一个实施例中,类似于步骤600,(诸)处理器核103执行OS 205以获得性能信息,诸如实际的带宽和/或实际的存储器等待时间。在替换实施例中,OS 205且具体地 DMHM 308中的监视性能315,通过向不同类型的存储器写入和从不同类型的存储器读取来测量实际带宽和/或存储器等待时间。测试图案可被写入存储器并接着读出,同时对各类型的存储器的性能特征进行测量和/或计时。
[0089] 步骤602示出了从计算设备中不同类型的存储器获取健康或状态信息。在一个实施例中,类似于步骤600和601,(诸)处理器核103执行OS 205以获得健康信息,诸如不同类型的存储器的温度(热)和/或功耗。响应于来自(诸) 处理器核103的在信号路径105和106上的控制信号,各存储器可在由各类型的存储器输出的状态信息中提供包括温度和所消耗的功率的健康信息。类似于上面的,这些控制信号可在开始时和/或周期性地被生成。同样类似于上面的,测试图案可被写入到并读取自不同类型的存储器,并与被发送的测试图案进行比较,以确定存储器是否正确存储并输出数据(错误检测)。
[0090] 图6B是管理计算设备中的不同类型的存储器的功率的示例方法的流程图。步骤610示出了从计算设备中的不同类型的存储器的获取功率管理信息。在一个实施例中,类似于上述步骤,(诸)处理器核103执行OS 205以获得关于特定类型的存储器设备是否可具有可被管理的功率的功率信息。在一个实施例中,各类型的存储器的功率管理信息被存储在不驻留在各类型的存储器上的存储器(诸如系统或配置存储器)中,并且可如上面所述的被检索。
[0091] 步骤611示出了管理计算设备中不同类型的存储器的功率。在一个实施例中,当在步骤610中作出特定存储器可具有可管理的功率的判定时,所标识的存储器设备的功率被DMHM 308中的管理功率316管理。例如,在存储设备不需要功率(诸如在睡眠或休眠模式)时,执行管理功率316的(诸)处理器核 103输出将减少对功率可控制存储设备的功率的控制信号。
[0092] 在一个实施例中,计算设备100中的一个或多个可以是但不限于是视频游戏和/或媒体控制台。图7现在将被用来描述示例性视频游戏和媒体控制台,或者更一般而言,将被用来描述包括游戏和媒体控制台的示例性游戏和媒体系统 1000。对图7的以下讨论旨在提供对可以实现本文中所提出的概念的合适计算设备的简要概括描述。可以理解,图7的系统仅仅作为示例。在其他示例中,本文中所述的各实施例可以经由驻留在客户端计算设备上并由客户端计算设备执行的浏览器应用或软件应用使用各种客户端计算设备来实现。如图7所示,游戏和媒体系统1000包括游戏和媒体控制台(此后被称为“控制台”)1002。一般而言,控制台1002是一种类型的客户端计算设备。控制台1002被配置成适配一个或多个无线控制器,如由控制器10041和控制器10042所表示的。控制台1002配备有内部硬盘驱动器和支持如光学存储盘1008所表示的各种形式的便携式存储介质的便携式介质驱动器1006。合适的便携式存储介质的示例包括 DVD、CD-ROM、游戏盘等。控制台1002还包括用于容纳可移动闪存型存储器单元1040的两个存储器单元卡插槽10251和10252。控制台1002上的命令按钮
1035启用和禁用无线外围支持。
[0093] 如图7所描绘的,控制台1002还包括用于与一个或多个设备进行无线通信的光学端口1030和支持针对附加控制器或其他外围设备的有线连接的两个 USB端口10101和10102。在某些实现中,可修改附加端口的数量和安排。电源按钮1012和弹出按钮1014也位于控制台1002的正面。电源按钮1012被选择来对游戏控制台供电,且还可以提供对其它特征和控件的访问,而弹出按钮 1014交替地打开和关闭便携介质驱动器1006的托盘以允许光学存储盘1008的插入和取出。
[0094] 控制台1002经由A/V接口电缆1020连接到电视机或其他显示器(如监视器1050)。在一个实现中,控制台1002配备有被配置成用于使用A/V电缆1020 (例如,适用于耦合到高清晰度显示器1050或其它显示设备上的高清晰度多媒体接口“HDMI”端口的A/V电缆)来进行内容受保护的数字通信的专用A/V 端口。电源电缆1022向游戏控制台供电。控制台1002可进一步被配置成具有如电缆或调制解调器连接器1024所表示的宽带能力以便于访问诸如因特网等网络。还可通过诸如无线保真(Wi-Fi)网络等宽带网络来无线地提供宽带能力。
[0095] 每一控制器1004经由有线或无线的接口耦合到控制台1002。在示出的实现中,控制器1004是USB兼容的并且经由无线或USB端口1010耦合到控制台1002。控制台1002可配备各种用户交互机制中的任何一种。在图7中示出的示例中,每个控制器1004都配备有两个拇指摇杆(thumb stick)10321和 10322、D垫1034、按钮1036以及两个触发器1038。这些控制器仅为代表性的,且其他已知游戏控制器可替换或被添加到图7中示出的那些控制器。在一个实施例中,用户可以通过姿势、触摸或声音向控制台1002键入输入。在一个实施例中,光学I/O接口1135接收并转换用户的姿势。在另一个实施例中,控制台1002包括自然用户界面(NUI)以接收并转换来自用户的声音和姿势输入。在一个替换的实施例中,前面板子组件1142包括触摸表面和话筒以用于接收并转换用户的触摸或声音(诸如声音命令)。
[0096] 在一个实现中,还可以将存储器单元(MU)1040插入到控制器1004中以提供附加和便携的存储。便携MU允许用户存储游戏参数以供在其它控制台上玩时使用。在此实现中,每一控制器被配置成适应两个MU 1040,但是也可采用多于或少于两个MU。
[0097] 游戏和媒体系统1000通常被配置成玩存储在存储器介质上的游戏,以及被配置成下载并玩游戏、和被配置成从电子和硬介质来源再现预先录制的音乐和视频。使用不同的存储供应,可从硬盘驱动器、从光存储盘介质(例如,1008)、从在线源、或从MU 1040播放项。游戏和媒体系统1000能够播放的媒体的类型的示例包括:
[0098] 从CD、DVD或高容量盘、从硬盘驱动器、或从在线来源播放的游戏项。
[0099] 从便携介质驱动器1006中的CD、从硬盘驱动器或固态盘上的文件(例如,媒体格式的音乐)或从在线流送来源播放数字音乐。
[0100] 从便携介质驱动器1006中的DVD盘、从硬盘驱动器上的文件(例如,活动流送格式(Active Streaming Format))、或从在线流传送来源播放的数字音频/视频。
[0101] 在操作期间,控制台1002被配置成接收来自控制器1004的输入并在显示器1050上显示信息。例如,控制台1002可在显示器1050上显示用户界面以便允许用户使用控制器1004来选择游戏并且显示状态可解性信息,如以下将描述的。
[0102] 图8是游戏与媒体系统1000的功能框图并且更详细地示出游戏与媒体系统1000的各功能组件。控制台1002具有CPU 1100以及促成处理器访问各种类型存储器的存储器控制器1102,各种类型存储器包括闪存ROM 1104、RAM 1106、硬盘驱动器或固态驱动器1108,以及便携式媒体驱动器1006。在一种实现中,CPU 1100包括1级高速缓存1110和2级高速缓存1112,这些高速缓存临时存储数据并因此减少对硬盘驱动器1108进行的存储器访问周期的数量,从而提高了处理速度和吞吐量。
[0103] CPU 1100、存储器控制器1102以及各种存储器设备经由一个或多个总线互连。在此实现中所使用的总线的细节对理解此处所讨论的关注主题不是特别相关。然而,应该理解,这样的总线可以包括串行和并行总线、存储器总线、外围总线、使用各种总线体系结构中的任何一种的处理器或局部总线中的一个或多个。作为示例,这样的架构可以包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)局部总线、以及也称为夹层总线的外围部件互连(PCI)总线。
[0104] 在一个实现中,CPU 1100、存储器控制器1102、ROM 1104、以及RAM 1106 被集成到公用模块1114上。在此实现中,ROM 1104被配置为经由PCI总线和 ROM总线(两者都没有示出)连接到存储器控制器1102的闪存ROM。RAM 1106被配置为多个双倍数据速率同步动态RAM(DDR SDRAM)或更快数据速率DRAM模块,它们被存储器控制器1102经由分开的总线被独立地控制。硬盘驱动器1108和便携式媒体驱动器1006被示为通过PCI总线和AT附加 (ATA)总线1116连接到存储器控制器1102。然而,在其他实现中,也可以备选地应用不同类型的专用数据总线结构。
[0105] 在另一个实施例中,至少CPU 1100、1级高速缓存1110、2级高速缓存 1112、存储器控制器1102和RAM存储器1106被包括在SoC(诸如图1中示出并在本文中描述的SoC 101)中。在一个实施例中,RAM存储器1106被诸如宽I/O DRAM的高性能存储器替代,并且存储器控制器1102的功能由处理器核103执行。另一类型的非高性能存储器的存储器,诸如LPDDR3 DRAM,将随后被耦合到如在此描述的SoC 101。类似地,OS 205被如在此描述的控制台1002中的SoC 101使用。
[0106] 三维图形处理单元1120和视频编码器1122构成了视频处理流线,用于进行高速度和高分辨率(例如,高清晰度)图形处理。数据经由数字视频总线从图形处理单元1120传输到视频编码器1122。音频处理单元1124和音频编解码器(编码器/解码器)1126构成了对应的音频处理流水线,用于对各种数字音频格式进行多通道音频处理。音频数据经由通信链路在音频处理单元1124 与音频编解码器1126之间传输。视频和音频处理流水线向A/V(音频/视频) 端口1128输出数据,以便传输到电视机或其它显示器。在所示出的实现中,视频和音频处理组件1120-1128安装在模块1114上。
[0107] 图8示出了包括USB主控制器1130和网络接口1132的模块1114。USB 主控制器1130被示为经由总线(例如,PCI总线)与CPU 1100和存储器控制器1102进行通信,并充当外围控制器10041-10044的主机。网络接口1132提供对网络(例如因特网、家庭网络等)的访问,并且可以是包括以太网卡、调制解调器、无线接入卡、蓝牙模块、电缆调制解调器等各种有线或无线接口组件中的任一种。
[0108] 在图8中描绘的实现中,控制台1002包括用于支持四个控制器10041-10044的控制器支持子组件1140。控制器支持子组件1140包括支持与诸如,例如,媒体和游戏控制器之类的外部控制设备的有线和无线操作的任何硬件和软件组件。前面板I/O子组件1142支持电源按钮1012、弹出按钮1014,以及任何 LED(发光二极管)或暴露在控制台1002的外表面上的其它指示器等多个功能。子组件1140和1142通过一个或多个电缆组件1144与模块1114进行通信。在其他实现中,控制台1002可以包括另外的控制器子组件。所示出的实现还示出了被配置成发送和接收可以传递到模块1114的信号的光学I/O接口1135。
[0109] MU 10401和10402被示为能够分别连接到MU端口“A”10301和“B”10302。附加MU(例如,MU 10403-10406)被示为能够连接到控制器10041和10043,即,每一控制器两个MU。控制器10042和10044还可以被配置成接收MU。每一个MU 1040都提供附加存储,在其上面可以存储游戏、游戏参数、及其它数据。在一些实现中,其它数据可以包括数字游戏组件、可执行的游戏应用,用于扩展游戏应用的指令集、以及媒体文件中的任何一种。当被插入到控制台 1002或控制器中时,MU 1040可以被存储器控制器1102访问。
[0110] 系统供电模块1150向游戏系统1000的组件供电。扇1152冷却控制台 1002内的电路。
[0111] 包括处理器可读指令的应用1160被存储在硬盘驱动器1108上。当控制台 1002被接通电源时,应用1160的各个部分被加载到RAM 1106和/或高速缓存1110以及1112中以在CPU 1100上执行,其中应用1160是一个这样的示例。各种应用可以存储在硬盘驱动器1108上以用于在CPU 1100上执行。在一个实施例中,应用1160包括请求特定类型的存储器(如在此描述的高性能存储器) 的使用的属性信息。
[0112] 控制台1002还被示为包括通信子系统1170,其被配置成将控制台1002与一个或多个其他计算设备(例如,其他控制台)在通信上耦合。通信子系统1170 可包括与一个或多个不同的通信协议相兼容的有线和/或无线通信设备。作为非限制性示例,通信子系统1170可被配置成用于经由无线电话网络或者有线或无线局域网或广域网来进行通信。在某些实施例中,通信子系统1170可允许控制台1002经由网络(诸如因特网)向其他设备发送消息和/或从其他设备接收消息。在特定的实施例中,通信系统1170可以被用来与协调器和/或其他计算设备通信,以供发送下载请求和实现对数字内容的下载与上传。更一般而言,通信子系统1170可以使控制台1002能够参与对等通信。
[0113] 可以通过简单地将系统连接到显示器1050(图7)、电视机、视频投影仪或其他显示设备来将游戏与媒体系统1000作为独立系统来操作。在此独立模式下,游戏和媒体系统1000允许一个或多个玩家玩游戏或欣赏数字媒体,例如观看电影或欣赏音乐。然而,随着通过网络接口1132(或者更一般地通信系统1170)使宽带连接的集成成为可能,游戏和媒体系统1000还可以作为更大的网络游戏社区(诸如对等网络)的参与者来操作。
[0114] 上述控制台1002仅仅是参考图1及各其他附图所讨论的计算设备100的一个示例。如上所解释的,存在本文中所述的各实施例可以使用的各种其他类型的计算设备。
[0115] 本发明系统的前述详细描述是出于说明和描述的目的而提供的。这并不旨在穷举本发明系统或将本发明系统限于所公开的精确形式。鉴于上述教导,许多修改和变型都是可能的。选择所述实施例以最好地解释本发明系统的原理及其实践应用,从而允许本领域技术人员能够在各种实施例中并采用各种适于所构想的特定用途的修改来最好地利用本发明系统。本发明系统的范围旨在由所附权利要求书来定义。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈