专利名称:存储信息的方法和系统的制作方法
背景技术:
计算系统可以包括多个或各种不同的存储器。确定在特定系统内存储信息的适当方法和存储装置是有问题的。在设计特定系统时,可能要考虑各种因素,如存储装置的成本、特定存储装置对系统性能的影响等等。
因此,一直存在着这样的需求,即需要存储信息的可替换方法。
在说明书的结尾部分具体指出并清楚地要求了本发明的主题。但是,通过与附图一起参阅下面的详细描述,可以最佳地理解所要求保护的主题,所述主题涉及结构和操作方法,及其目的、特征和优点。其中图1为根据所要求保护的主题的实施方案的计算系统的方框图;以及图2为根据所要求保护的主题的实施方案的存储信息方法的流程图。
应理解的是,为了说明的简单和清楚,附图中说明的元件不必要画成与其实际尺寸一样。例如,为了清楚起见,某些元件的尺寸相对于其他元件被放大了。此外,在认为合适的地方,在几幅附图中重复使用附图标记,以表明相应或相似的元件。
具体实施例方式
在接下来的详细说明中,为了提供对所要求保护的主题的完整理解,给出了多个特定的细节。但是,应理解的是,对于本领域的技术人员,所要求保护的主题可以不用这些特定的细节来实现。在其他方面,没有详细描述公知的方法、过程、元件和电路,从而不会模糊了所要求保护的主题。
所要求保护的主题的实施方案可以包括用于执行本文的操作的装置。该装置可以针对所需要的目的来特殊地构成,或者该装置可以包括通用计算设备,所述通用计算设备由存储在设备中的程序选择性地激活或重新配置。这样的程序可存储在存储介质上,比如,但不局限于,任何类型的盘,包括软盘、光盘、CD-ROMs、磁光盘、机电盘,只读存储器(ROMs),随机存取存储器(RAMs),电可编程只读存储器(EPROMs),电可擦除和可编程只读存储器(EEPROMs),闪存,磁或光卡,或者其他任何类型的适用于存储电子指令和数据的媒体。
所要求保护的主题的实施方案没有参考任何特定的程序设计语言来进行描述。应理解的是,各种程序设计语言都可以用来实现本文所描述的所要求保护的主题的教导。例如,可以用高级程序、面向目标的、汇编或机器程序设计语言来实现所要求保护的主题。
在接下来的描述和权利要求中,可以使用术语“耦合”和“连接”以及它们的派生词。应该理解的是,这些术语不是要作为彼此的同义词。更确切地说,在特定的实施方案中,“连接”可以用来表示两个或更多元件是互相直接物理或电接触。“耦合”可表示两个或更多元件是直接物理或电接触。但是,“耦合”也可表示两个或多个元件彼此间不直接接触,但彼此间仍相互合作或相互作用。
参见图1,图1说明了计算系统100的实施方案。计算系统100可以用在各种如下的应用中,例如,个人数字助理(PDA)、双向寻呼机、蜂窝电话、便携式计算机、台式计算机、工作站或服务器。但应该指出,所要求保护的主题的范围和应用决不局限于这些在这个实施方案中,计算系统100可以包括经由总线160相互耦合的处理器110、信息控制器120、存储器130、存储器140和存储器150。总线160可以是数据通路,该数据通路包括,例如,将数据从计算系统100的一个部分传输给另一其他部分的数据线路的集合。
尽管所要求保护的主题的范围并不局限在这方面,但处理器110可以包括,例如,一个或多个微处理器、数字信号处理器、微控制器或类似设备。处理器110可以执行这样的软件过程(software process),例如,软件程序或操作系统,其中该软件过程可以使用这样的数字信息,例如,数据和/或指令。
在某些实施方案中,信息控制器120与处理器110一起可以控制存储器130、140和150。例如,信息控制器120可以控制计算系统100内的信息传递,例如在处理器110、信息控制器120和存储器130、140和150之间的信息传递。信息控制器120可以与处理器110集成在一起(“单片的”(“on-chip”))。在可替换的实施方案中,信息控制器120可以是分立元件或专用芯片,其中信息控制器120在处理器110的外面(“在芯片以外”(“off-chip”))。在其他的实施方案中,信息控制器120的功能性部分可以在处理器110中以例如软件应用程序、模块或例程的方式来实现。信息控制器120也可以称作存储控制器或数据控制器。
存储器130、140和150可以称作存储设备,并且可适用于存储这样的信息,例如,可由处理器110执行的操作系统或软件程序所使用的指令或数据。存储器130、140和150可以具有如此不同的物理特性、属性或性质,例如,不同的存取时间、功率消耗、读周期限制和/或写周期限制。
存取时间可指将信息存储到存储器或从存储器读取信息所花费的时间量。作为一个实施例,存储器130相对于存储器140和150可以是相对更快的存储器,即存储器130的存取时间可以比存储器140和150的存取时间短,但所要求保护的主题的范围并不局限在这个方面。在一个实施方案中,存储器130的存取时间可以小于一微秒,例如,近似为10纳秒。与存储器130相比,存储器140可具有相对较慢的存取时间,至少为一微秒,例如近似为10微秒。与存储器130和140相比,存储器150可具有相对更慢的存取时间,至少为一毫秒,例如近似为10毫秒。
在可替代的实施方案中,尽管所要求保护的主题的范围并不局限在这个方面,但存储器130的存取时间可小于十纳秒,例如近似为一纳秒。与存储器130相比,存储器140可具有相对较慢的存取时间,至少为十纳秒,例如近似为50纳秒。与存储器130和140相比,存储器150可具有相对更慢的存取时间,至少为100纳秒,例如近似为200纳秒。
存储器的功率消耗或功率耗散可以根据在存储器以预定的电压电势工作的过程中由存储器消耗的电流来定义。在一个实施例中,存储器130、140和150可以耦合到电源(图中未示出),该电源提供近似为3伏的电源电压电势。在这个实施例中,存储器130在读或写操作过程中可以使用大约5毫安(mA)的电流。在可替代的实施方案中,存储器140和150的功率消耗可小于存储器130的功率消耗。例如,尽管所要求保护的主题的范围并不局限在这个方面,但存储器140和150可在读或写操作过程中分别使用大约一毫安(mA)和大约三毫安(mA)的电流。而且,存储器的功率消耗根据它的工作电压电势可以改变。在某些实施方案中,存储器130、140和150可以工作在不同的工作电压电势下。
写周期限制可以是存储器的持久性(endurance)的表示,并且可以表示可以对存储器执行的写操作的阈值数目(threshold number)。在某些实施方案中,如果执行了超过预定数目的写操作,则可能降低存储器存储信息的能力。例如,存储器130的写周期限制可以近似为106。在这个实施例中,如果将信息写到存储器130中的次数超过大约106次,则可能降低存储器130存储信息的能力,例如,可能出现存储错误。在可替代的实施方案中,存储器140和150的写周期限制可以分别近似为108和1012,但所要求保护的主题的范围并不局限在这个方面。
存储器130、140和150可具有读周期限制,该读周期限制表示可从存储器执行的读操作的阈值数目。例如,存储器130、140和150的读周期限制可以分别近似为1012、1018和1020,但所要求保护的主题的范围并不局限在这个方面。
在某些实施方案中,存储器130、140和150可具有相同或基本上相同的功率消耗性质和存取时间,但可具有不同的读/写周期特性,但所要求保护的主题的范围并不局限在这个方面。在可替代的实施放案中,存储器130、140和150可具有相同或基本上相同的功率消耗性质和读/写周期特性,但可具有不同的存取时间。
尽管所要求保护的主题的范围并不局限在这个方面,但与存储器140和150相比,存储器130可以是相对更小的存储器,例如,存储器130的存储容量可小于存储器140和150的存储容量。例如,存储器130可具有小于32兆位,例如近似为16兆位的存储容量。与存储器130相比,存储器140可具有相对更大的存储容量,至少为32兆位,例如近似为64兆位。与存储器130和140相比,存储器150可具有相对更大的存储容量,至少为100兆字节,例如近似为500兆字节。在可替代的实施方案中,作为另一个实施例,存储器130可具有小于256兆位,例如近似为64兆位的存储容量。与存储器130相比,存储器140可具有相对更大的存储容量,至少为100兆字节,例如近似为一吉字节。与存储器130和140相比,存储器150可具有相对更大的存储容量,至少为一吉字节,例如近似为100吉字节或近似为一太字节(terabyte)。
在某些实施方案中,存储器130可以作为用于存储器140和/或用于存储器150的高速缓冲存储器或磁盘高速缓冲存储器进行工作。例如,如在上面所说明的某些实施方案中,与存储器140和150相比,存储器130可以是相对更小且更快类型的存储器。在计算系统100的工作过程中,存储器130可以高速缓存来自存储器140和150的频繁存取信息,但所要求保护的主题的范围并不局限于此。由于对频繁存取信息的请求来自存储器140和150,而所述信息在存储器130中可以获得,从而避免在存储器140和150中相对更长时间的搜索和取数据。因此,通过在存储器130中高速缓存信息,可以改善整体系统的性能。
在某些实施方案中,存储器130、140和150可以是易失性存储器,如例如,静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM),但所要求保护的主题的范围并不局限在这个方面。在可替代供选择的实施方案中,存储器130、140和150可以是非易失性存储器,例如,电可编程只读存储器(EPROM)、电可擦和可编程只读存储器(EEPROM)、闪存(NAND或NOR型,每个单元包括多个位数)、铁电随机存取存储器(FRAM)、聚合物铁电随机存取存储器(PFRAM)、磁随机存取存储器(MRAM)、奥弗辛斯基电效应统一存储器(Ovonics Unified Memory(OUM)),盘存储器,例如,机电硬盘、光盘、磁盘,或者其他任意一种能够存储指令和/或数据的设备。其他类型的非易失性存储器也可以在所要求保护的主题的范围内,包括具有备用电池的易失性存储器,因为当主电源断开时,电池可以防止存储器丢失其内容。
参见图2,图2描述了根据所要求保护的主题的实施方案的存储信息方法200。可以参考计算系统100(图1)说明该方法。在某些实施方案中,处理器110和/或信息控制器120可以包括电路、软件或电路和软件的组合,以实现图2中所描述的方法。
该实施方案可以从接收存储器130、140和150的属性(框210)开始。这些属性可以称作为特性或性质,并可以是存储器的如下物理属性,例如,存取时间、功率消耗和/或读/写周期信息。在一个实施方案中,这些属性可以存储在存储器130、140或150中,并可以根据信息控制器120的请求来提供这些属性。在这个实施方案中,每个存储器都可以包括某存储器所专有的属性。可供选择地,这些属性可以存储在属性列表中,该属性列表可以中心地定位于所述多个存储器中的一个的或计算系统100的另一个部分中(例如,在信息控制器120内)。
可以产生用于在计算系统100中存储信息的层级(框220)。例如,可以指定存储器130为用于存储信息的主存储器。同样地,可以指定存储器140和150为用于存储信息的次存储器,使得如果主存储器不可利用或没有被选择来存储信息时,信息可以存储在次存储器中。可以通过软件过程或操作系统来做出这种指定,并且这种指定是可以基于如下不同的因素,例如根据物理属性,如存取时间或功率消耗。
图2中所说明的实施方案可进一步包括产生存储参数用以存储信息(框230)。这个存储参数可以通过系统设计者或软件程序设计员来产生,或者可以通过一软件过程在执行所述软件过程中产生。该存储参数可以被传达到信息控制器120,并且可以表示在存储信息过程中有用的、与存储相关的信息特性。例如,存储参数可以表示信息是指令还是数据。换句话说,存储参数可以表示该信息是代码还是非代码数据。在另一个实施方案中,存储参数可以表示信息是否相对较频繁地被写入存储器或从存储器读出。例如,存储参数可以表示通过例如软件过程将所述信息传输给存储器或传输来自存储器的所述信息的速率(所述速率即每单位时间写或读的数量)。
在可替代的实施方案中,存储参数可以指定信息为性能相关或性能关键的信息。例如,存储参数可以表示信息的处理对系统性能的改变大于预定量。换句话说,存储参数可以表示处理所指定的性能相关信息对系统性能的影响超过了预定量。信息处理可以指通过软件过程使用信息和/或在存储器中存储信息。在一个实施方案中,计算系统的性能可以通过执行预定的软件程序或一组预定的软件程序来测量,以通过例如计算在预定软件程序或程序组的执行过程中所执行的操作或指令来确定计算系统的处理效率。
可以影响系统性能的一个因素是信息的处理,如执行指令或将数据和/或指令写到存储器和从存储器读取。系统性能可以被传达到信息控制器120。在这个实施例中,如果使用信息的有效过程正在使系统工作在预定性能水平或低于预定性能水平,则信息控制器120可以改变信息的存储。信息控制器120可以通过将信息的存储从一个存储器转移到另一个存储器来改变信息的存储。
在可替代供选择的实施方案中,存储参数可以表示通过软件过程使用信息,该软件过程例如是通过处理器110来执行。例如,存储参数可以表示信息是通过软件过程执行的指令,或者可以表示信息是通过软件过程使用的非指令数据。作为另一个实施例,存储参数可以表示信息通过软件过程被传输给存储器至少预定的次数,或传输来自存储器的信息至少预定的次数,或者存储参数可以表示信息通过软件过程被写到存储器或从存储器读出的频率或速率。
图2中所说明的实施方案可以进一步包括至少部分根据存储器130、140和150的属性和存储参数来确定可以选择存储器130、140和150中的哪个存储器来存储信息(框240)。可以通过信息控制器120来做出该确定。
至少部分根据存储器130、140和150的属性和存储参数,存储信息可以被传输给存储器130、140和150中的一个(框250)。在一个实施方案中,信息控制器120可以确定存储器130的存取时间比存储器140和150的存取时间短。在这个实施方案中,如果存储参数表示信息是指令,且存储器130的存取时间比存储器140和150的存取时间短,则信息控制器120可将信息传输给存储器130。如可以理解的那样,在某些计算系统中,将软件指令存储在具有相对较快存取时间的存储器中可以是有利的。可供选择地,在某些计算系统中,将非性能关键数据存储在具有相对较慢存取时间的存储器中可以是有利的。在这些实施方案中,如果存储参数表示信息是数据,且存储器130的存取时间比存储器140和150的存取时间长,则信息控制器120可将信息传输给存储器130。在这些实施方案中,信息控制器120可请求存储器130、140和150的存取时间信息,并可以接收存储信息和对应的存储参数。信息控制器120可以检查存取时间信息和存储参数,以确定哪个存储器最适合于存储信息。
在某些实施方案中,如果存储参数表示存储信息传输给存储器的速率,且该速率为预定阈值水平或超过预定阈值水平,那么如果存储器130的存取时间比存储器140和150的存取时间短,则信息控制器120可以将信息传输给存储器130。如可以理解的那样,在某些计算系统中,将频繁写入的信息存储到具有相对较快存取时间的存储器中可以是有利的。
在其他的实施方案中,如果存储参数表示存储信息传输给存储器的速率,并且表示该速率为预定水平或超过预定水平,那么如果存储器130的写周期限制高于存储器140和150的写周期限制,则信息控制器120可将信息传输给存储器130。如可以理解的那样,在某些计算系统中,将频繁写入的信息存储到具有相对较高写周期限制的存储器中可以是有利的。
在替代的实施方案中,如果存储参数表示从存储器存取或读出存储信息的速率,并且表示该速率为预定水平或超过预定水平,那么如果存储器130的读周期限制高于存储器140和150的读周期限制,则信息控制器120可将信息传输给存储器130。如可以理解的那样,在某些计算系统中,将频繁读出的信息存储到具有相对较高读周期限制的存储器中可以是有利的。
在某些实施方案中,如果存储参数表示存储信息写到存储器或从存储器读出的次数,并且表示该次数等于或大于预定数目,那么如果存储器130在读和写操作过程中消耗的功率小于存储器140和150,则信息控制器120可将信息传输给存储器130。如可以理解的那样,在某些计算系统中,将频繁读出和写入的信息存储到具有相对较低功率消耗性质的存储器中可以是有利的。在从电池接收其工作电压电势的计算系统中,减小计算系统工作过程中的功率消耗可以延长电池寿命。
在替代的实施方案中,可以用如下其他的因素,例如,用于存储信息的存储器的层级来确定用哪个存储器来存储信息,但所要求保护的主题的范围并不局限在这个方面。例如,计算系统100中用于存储信息的层级可以传达到信息控制器120。在这个实施例中,除了考虑与存储信息有关联的存储参数和存储器属性,信息控制器120还可以检查层级信息,用以确定用哪个存储器来存储所述存储信息。
尽管本文中已经说明并描述了本发明的某些特征,但现在对于本领域的技术人员可以设想许多变形、置换、改变和等效替换。因此,应当理解的是,所附的权利要求书意在覆盖所有落入本发明实际精神内的这些变形和改变。
权利要求
1.一种方法,包括产生存储参数以存储信息,其中所述存储参数表示所述信息是指令还是数据;以及将所述信息传输给至少两个存储设备中的一个,所述传输至少部分基于所述存储参数和所述两个存储设备的属性。
2.如权利要求1的方法,其中所述属性是存取时间,并且该方法进一步包括,如果所述至少两个存储器中的第一存储器的存取时间比所述至少两个存储器中的第二存储器的存取时间短,并且如果所述存储参数表示该信息是指令,则将所述信息传输给所述至少两个存储器中的第一存储器。
3.如权利要求1的方法,其中所述属性是存取时间,并且所述方法进一步包括,如果所述至少两个存储器中的第一存储器的存取时间比所述至少两个存储器中的第二存储器的存取时间长,并且如果所述存储参数表示所述信息是数据,则将所述信息传输给所述至少两个存储器中的第一存储器。
4.如权利要求1的方法,进一步包括请求所述两个存储设备中的第一存储器的物理属性,以及请求所述两个存储设备中的第二存储器的物理属性。
5.如权利要求4的方法,其中所述请求第一存储器的物理属性的步骤包括请求所述第一存储器的功率消耗信息,并且请求第二存储器的物理属性的步骤包括请求所述第二存储器的功率消耗信息。
6.如权利要求4的方法,其中所述请求第一存储器的物理属性的步骤包括请求所述第一存储器的读周期限制信息,并且所述请求第二存储器的物理属性的步骤包括请求所述第二存储器的读周期限制信息。
7.一种方法,包括产生参数以存储信息,其中所述参数表示将信息传输给存储器的速率;以及至少部分根据存储参数和至少两个存储器的特性将所述信息传输给至少两个存储器中的一个。
8.如权利要求7的方法,其中所述特性是存取时间,并且所述方法进一步包括,如果所述至少两个存储器中的第一存储器的存取时间比所述至少两个存储器中的第二存储器的存取时间短,并且如果所述存储参数表示所述速率为预定水平或超过预定水平,则将所述信息传输给所述至少两个存储器中的第一存储器。
9.如权利要求7的方法,其中所述属性是写周期限制信息,并且所述方法进一步包括,如果所述至少两个存储器中的第一存储器的写周期限制高于所述至少两个存储器中的第二存储器的写周期限制,并且如果所述存储参数表示所述速率为预定水平或超过预定水平,则将所述信息传输给所述至少两个存储器中的第一存储器。
10.如权利要求7的方法,其中所述属性是功率消耗信息,并且所述方法进一步包括,如果所述至少两个存储器中的第一存储器在写操作过程中消耗的功率小于所述至少两个存储器中的第二存储器,并且如果所述存储参数表示所述速率为预定水平或超过预定水平,则将所述信息传输给所述至少两个存储器中的第一存储器。
11.一种方法,包括产生存储参数以存储信息,其中所述存储参数表示通过软件过程来使用信息;以及至少部分根据存储参数、第一存储设备的物理特性和第二存储设备的物理特性确定是将所述信息存储在第一存储设备中还是存储在第二存储设备中。
12.如权利要求11的方法,其中所述存储参数表示所述信息是由所述软件过程执行的指令。
13.如权利要求11的方法,其中所述存储参数表示所述信息是由所述软件过程使用的数据。
14.如权利要求11的方法,其中所述存储参数表示通过软件过程将所述信息传输给存储器或传输来自存储器的所述信息至少预定的次数。
15.如权利要求11的方法,其中所述存储参数表示通过所述软件过程将所述信息写到存储设备的速率。
16.如权利要求11的方法,进一步包括检查所述第一存储设备的物理特性和所述第二存储设备的物理特性。
17.如权利要求16的方法,其中所述检查所述第一存储设备的物理特性的步骤包括检查所述第一存储设备的存取时间,并且所述检查所述第二存储设备的物理特性的步骤包括检查所述第二存储设备的存取时间。
18.如权利要求16的方法,其中所述检查所述第一存储设备的物理特性的步骤包括检查第一存储设备的功率耗散,并且检查第二存储设备的物理特性包括检查第二存储设备的功率耗散。
19.如权利要求16的方法,其中所述检查所述第一存储设备的物理特性的步骤包括检查所述第一存储设备的读或写周期信息,并且所述检查所述第二存储设备的物理特性的步骤包括检查所述第二存储设备的读或写周期信息。
20.一种将信息存储在系统中的方法,包括产生存储参数以存储信息,其中所述存储参数表示所述信息的处理改变系统的性能大于预定量;以及至少部分根据存储参数和两个存储器的特性将所述信息传输给至少两个存储器中的一个。
21.如权利要求20的方法,其中所述传输步骤包括至少部分基于所述存储参数以及至少部分基于所述至少两个存储器的存取时间、所述至少两个存储器的功率消耗、所述至少两个存储器的读周期特性或所述至少两个存储器的写周期特性将所述信息传输给所述至少两个存储器中的一个。
22.如权利要求20的方法,进一步包括确定所述至少两个存储器的所述特性。
23.如权利要求22的方法,其中所述确定步骤包括确定所述至少两个存储器中第一存储器的存取时间和所述至少两个存储器中第二存储器的存取时间。
24.如权利要求23的方法,进一步包括如果第一存储器的存取时间比第二存储器的存取时间短,则将所述信息传输给第一存储器。
25.一种物品,包括存储介质,所述存储介质具有在其上存储的指令,当由计算平台执行存储的指令时,导致产生存储参数以存储信息,其中所述存储参数表示所述信息是指令还是数据;以及至少部分基于所述存储参数和所述两个存储设备的属性将所述信息传输给至少两个存储设备中的一个。
26.如权利要求25的物品,其中所述属性是存取时间,并且,其中当执行这些指令时,进一步导致如果所述至少两个存储设备中的第一存储设备的存取时间比所述至少两个存储器中的第二存储设备的存取时间短,并且如果所述存储参数表示所述信息是指令,则将所述信息传输给所述至少两个存储设备中的第一存储设备。
27.如权利要求25的物品,其中所述传输步骤包括至少部分基于所述至少两个存储设备的存取时间、所述至少两个存储设备的功率消耗、所述至少两个存储设备的读周期特性或所述至少两个存储设备的写周期特性将所述信息传输给所述至少两个存储设备中的一个。
28.一种系统,包括适合于执行软件过程并且传达存储参数以存储信息的处理器,其中所述存储参数表示由所述软件过程来使用信息;具有物理特性的第一非易失性存储器;具有物理特性的第二非易失性存储器,其中所述第一非易失性存储器的物理特性与所述第二非易失性存储器的物理特性不同;以及控制器,所述控制器适合于至少部分基于所述存储参数、所述第一非易失性存储器的物理特性和所述第二非易失性存储器的物理特性将所述信息传输给所述第一非易失性存储器或所述第二非易失性存储器。
29.如权利要求28的系统,进一步包括第三非易失性存储器,其中所述控制器进一步适合于至少部分基于所述第三非易失性存储器的物理特性将所述信息传输给所述第一非易失性存储器、所述第二非易失性存储器或所述第三非易失性存储器。
30.如权利要求28的系统,其中所述存储参数表示所述信息是由所述软件过程执行的指令。
31.如权利要求28的系统,其中所述第一非易失性存储器的物理特性是所述第一非易失性存储器的存取时间。
32.如权利要求28的系统,其中所述第一非易失性存储器的物理特性是所述第一非易失性存储器的功率消耗。
33.如权利要求28的系统,其中所述第一非易失性存储器的物理特性是所述第一非易失性存储器的读周期特性。
34.如权利要求28的系统,其中所述第一非易失性存储器的物理特性是所述第一非易失性存储器的写周期特性。
全文摘要
根据本发明的实施例,简要地提供了存储信息的方法,其中所述方法包括产生存储参数以存储信息,其中所述存储参数表示由软件过程来使用信息,所述方法还包括将信息传输给至少两个存储器中的一个,所述传输至少部分基于所述存储参数和所述两个存储器的特性。
文档编号G06F12/06GK1662886SQ03813978
公开日2005年8月31日 申请日期2003年4月11日 优先权日2002年4月18日
发明者彼得·南格尔 申请人:英特尔公司