具有开关的相变存储器(pcms)的元数据管理和支持的制作方法

文档序号:6763895阅读:108来源:国知局
具有开关的相变存储器(pcms)的元数据管理和支持的制作方法
【专利摘要】本发明描述与PCM(具有开关的相变存储器)装置的元数据的管理和/或支持相关的方法和设备。在一个实施例中,PCMS控制器基于元数据来允许对PCMS装置的访问。元数据可用来提供效率、耐久性、纠错等,如本发明中所述。还公开并且要求保护其它实施例。
【专利说明】具有开关的相变存储器(PCMS)的元数据管理和支持
【技术领域】
[0001]一般来说,本公开涉及电子领域。更具体来说,本发明的一些实施例一般涉及PCMS(具有开关的相变存储器)装置的元数据的管理和/或支持。
【背景技术】
[0002]随着处理能力在处理器中得到增强,一个问题是可由处理器来访问存储器的速度。例如,为了处理数据,处理器可需要首先从存储器来取数据。在处理完成之后,结果可需要存储在存储器中。因此,存储器速度能够对整体系统性能具有直接影响。
[0003]另一个重要考虑因素是功率消耗。例如,在依靠电池电力的移动计算装置中,非常重要的是降低功率消耗,以便允许装置在移动的同时进行操作。功率消耗对于非移动计算装置也是重要的,因为过度功率消耗可增加成本(例如,由于附加电力使用,增加冷却要求等)、缩短组件寿命、限制可使用装置的位置等。
[0004]硬盘驱动器提供较低成本的存储解决方案,并且在许多计算装置中用来提供非易失性存储。但是,与闪速存储器相比,磁盘驱动器使用许多电力,因为磁盘驱动器需要以较高速度使其磁盘自旋,并且相对于自旋磁盘来移动磁盘磁头以读取/写入数据。所有这种物理移动生成热量,并且增加功率消耗。为此,一些高端移动装置正朝非易失性的闪速存储器装置迁移。但是,闪速存储器具有多个缺点,包括例如改变位状态的较大电压电平要求、因电荷泵斜升的要求引起的写入时间的延迟、每次必须擦除单元块等。
【专利附图】

【附图说明】
[0005]参照附图提供详细描述。附图中,参考标号最左边的数字标识首次出现该参考标号的附图。不同附图中的相同参考标号的使用表示相似或相同项。
[0006]图1、图6和图7示出计算系统的实施例的框图,其可用来实现本文所述的各个实施例。
[0007]图2示出按照一些实施例、可用来在SMA与PCMS地址之间进行转化的组件的框图。
[0008]图3示出按照一个实施例的存储系统的部分。
[0009]图4示出按照一个实施例的地址乘法器逻辑。
[0010]图5示出按照一个实施例、两个PCMS管芯上的数据布局。
【具体实施方式】
[0011]在以下描述中,提出许多具体细节,以便提供对各个实施例的透彻了解。但是,即使没有具体细节也可实施本发明的各个实施例。在其它情况下,没有详细描述众所周知的方法、过程、组件和电路,以免影响对本发明的具体实施例的理解。此外,可使用诸如集成半导体电路(“硬件”)、组织为一个或多个程序的计算机可读指令(“软件”)或者硬件和软件的某种组合之类的各种部件,来执行本发明的实施例的各个方面。为了便于本公开,对“逻辑”的提法将表示硬件、软件或者它们的某种组合。
[0012]具有开关的相变存储器(PCMS)是另一种类型的非易失性存储器,其与闪速存储器装置相比,可提供较高性能和/或耐久性。例如,PCMS允许在无需首先擦除整个单元块的情况下改变单个位,PCMS结构可更缓慢地降级,PCMS数据状态可保留较长期间,并且PCMS是更为可缩放的。
[0013]一些实施例涉及PCMS装置的元数据的管理和/或支持。但是,本文所述的实施例并不局限于PCMS,而是可适用于任何类型的就地(in place)写入非易失性存储器、例如相变存储器(PCM)。相应地,术语“PCMS”和“PCM”在本文中是可互换的。在一个实施例中,PCMS装置访问经过地址间接表(AIT)来转化。除了到PCMS地址的转化,AIT表可提供例如可适用于转化的元数据信息的存储。元数据可包括与PCMS中被引用的数据的类型和使用有关的信息,例如以帮助管理PCMS装置。
[0014]在一些实施例中,PCMS的某些特定用途使用PCMS所提供的独特能力(例如其加载/存储能力)来改进存储解决方案的性能。例如,在混合存储装置中,PCMS用于元数据存储,并且将比较廉价的NAND用于数据存储。
[0015]在一个实施例中,元数据用于PCMS实现中的纠错。例如,执行地址计算,以将所请求数据位置转换成装置地址。这个灵活实施例可根据所需的基本块以及所要求的ECC保护等级来增长或调整。
[0016]在一些实施例中,提供用于对PCMS盘缓存的原子元数据支持的提供的技术。对于盘缓存,原子元数据的使用可解决对回写缓存的断电问题。这种上下文中的原子元数据定义为被存储的η字节的缓存算法元数据连同NVM介质确保的m字节的用户数据按照断电安全方式来写入。
[0017]此外,本文所述的存储器技术可在各种计算系统(例如包括智能电话、平板、便携游戏终端、超级移动个人计算机(UMPC)等)中提供,例如参照图1-7所述的那些计算系统。更具体来说,图1示出按照本发明的一个实施例的计算系统100的框图。系统100可包括一个或多个处理器102-1至102-N(本文中一般称作“多个处理器102”或“处理器102”)。处理器102可经由互连或总线104进行通信。各处理器可包括各种组件,为了清楚起见,仅参照处理器102-1来论述其中一部分。因此,其余处理器102-2至102-N的每个可包括参照处理器102-1所述的相同或相似组件。
[0018]在一个实施例中,处理器102-1可包括一个或多个处理器核心106-1至106-M(本文中称作“多个核心106”或更一般的“核心106”)、缓存108 (其在各个实施例中可以是共享缓存或专用缓存)和/或路由器110。处理器核心106可在单个集成电路(IC)芯片上实现。此外,芯片可包括一个或多个共享和/或专用缓存(例如缓存108)、总线或互连(例如总线或互连112)、存储器控制器(例如参照图6-7所述的那些存储器控制器)或其它组件。
[0019]在一个实施例中,路由器110可用来在处理器102-1和/或系统100的各种组件之间进行通信。另外,处理器102-1可包括一个以上路由器110。另外,多个路由器110可进行通信,以便实现处理器102-1的内部或外部的各种组件之间的数据路由选择。
[0020]缓存108可存储数据(例如包括指令),其由处理器102-1的一个或多个组件、例如核心106来使用。例如,缓存108可本地缓存在存储器114中存储的数据,以供处理器102的组件进行更快的访问。如图1所示,存储器114可经由互连104与处理器102进行通信。在一个实施例中,缓存108 (其可被共享)可具有各个级,例如,缓存108可以是中间级缓存和/或最后一级缓存(LLC)。核心106的每个还可包括第I级(LI)缓存(116-1)(本文中一般称作“LI缓存116”)。处理器102-1的各种组件可直接、经过总线(例如总线112)和/或存储器控制器或集线器来与缓存108进行通信。
[0021]如图1所示,存储器114可经过存储器控制器120耦合到系统100的其它组件。存储器114可包括非易失性存储器,例如一些实施例中的PCMS存储器。即使存储器控制器120示为耦合在互连102与存储器114之间,存储器控制器120也可位于系统100中的其它位置。例如,在一些实施例中,存储器控制器120或者其部分可设置在处理器102之一中。另外,在一些实施例中,系统100可包括逻辑(例如PCMS控制器逻辑125),以便按照最佳方式向存储器114发出读或写请求。
[0022]在一些实施例中,PCMS作为存储器是可寻址的,但是由于它的有限写耐久、读漂移等的装置特定特性,PCMS装置可要求软件生成系统存储器地址(SMA)到非易失性存储器地址(NVMA)(本文中又称作PCMS地址)的重新映射。地址间接表(AIT)在一个实施例中用来通过控制器(例如图1的逻辑125)来实现这种重新映射。在一个实施例中,AIT中的各条目包括对应于被重新映射的系统存储器地址的NVM地址和元数据信息(例如通过软件所提供)。AIT中存储的信息由逻辑125来访问,以便提供PCMS装置的最佳管理。
[0023]图2示出按照一些实施例、可用来在SMA与PCMS地址之间进行转化的组件200的框图。如所示,与对具有“O”元数据的SMA2写入的访问以及对同一个(SMA2)的读取的重新映射相比,示出访问具有元数据的NVM (SMAl)的重新映射,其避免对NVM/PCMS存储器204的访问。
[0024]在一个实施例中,元数据可通过软件使用新指令集架构(ISA)来提供,或者备选地从当前指令集架构来推断。元数据信息可从CPU 102 (本文中又可互换地称作“处理器”)发送给PCMS控制器逻辑125,其使用AIT 202来重新映射地址。元数据可为逻辑125提供与在NVM/PCMS地址的数据有关的一些语义,它可使用其来进行与装置管理有关的更优判定。
[0025]按照一些实施例,元数据可以是:
(I)零一要在NVM地址写入的数据值为O。这可以是对存储器清零的ISA中的新指令,其由CPU 102作为元数据传递给控制器125。这可由控制器125用来避免对PCMS装置204实际写入O值,并且因而节省装置磨损以及后续读取的等待时间。控制器125而是当存在对SMA的访问时具有返回O的选项,而无需实际上将它重新映射到NVM访问。备选地,可存在具有O数据的NVMA (对其重新映射具有O元数据的所有AIT条目)。由于最多的存储器状态为0,所以这极大地降低PCMS装置中产生于写入O的磨损。
[0026](2)重复数据:要在NVM地址写入的数据值可以是重复数据值,并且元数据则是这个数据值。至少一个ISA中的字符串移动指令(例如,rep movs*)可确定重复值是否经过对齐并且填充重新映射粒度的大小,以及如果是的话,则将重复数据值作为元数据存储在AIT202中,而不是对PCMS装置写入数据。这节省装置磨损以及后续读取的等待时间。PCMS控制器逻辑125可在SMA被读取时返回数据模式,而无需实际上重新映射和访问NVMA。
[0027](3)只读数据:这是来自CPU的元数据(例如使用页类型信息或者采用新指令),其指示SMA用于只读或运行数据。如果PCMS控制器逻辑125实现具有基于DRAM的缓存的2级存储器,则它可使用这个元数据来绕过DRAM缓存,并且因而允许专用于读-写SMA的更小高速缓存大小。
[0028](4)加密数据:这个元数据指示SMA处的数据在被写到PCMS装置之前需要加密。
[0029](5)缓存优先级:这个元数据可由监控模式软件、例如使用新指令来提供。如果PCMS控制器逻辑125实现具有基于DRAM的缓存的二级存储器,则它可使用这个元数据来确定缓存分配和逐出策略。
[0030]在一些实施例中,PCMS的特定用途使用PCMS所提供的独特能力(例如其加载/存储能力)来改进存储解决方案的性能。PCMS引入新的特性,其可按照与NAND和传统的基于文件系统的方式不同的新方式来使用。例如,在混合存储装置中,PCMS用于元数据存储,并且将比较廉价的NAND用于数据存储。
[0031]在一个实施例中,基于PCMS的存储解决方案的性能对于元数据操作可得到改进。另外,可使主存储器要求为最小(因为对元数据操作可直接访问PCMS,而无需例如首先将数据缓存在DRAM中)。这类实施例可用于基于PCMS的装置中,其要求映射或转化(例如参照图2所述,包括例如SSD (固态驱动器)、外设部件接口 express (PCIe)存储装置或者其它存储器装置)。
[0032]一般来说,在基于PCMS的存储解决方案中,可要求映射,其中前端(例如在主存储器中)的逻辑块映射到后端(例如在PCMS)中的物理块。这种映射可经过元数据来管理,元数据在一个实施例中也存储在存储介质上。问题则变成,设计是否将整个映射信息保持在主控制器的存储器中,或者是否它在需要时(当引用逻辑块并且因此需要映射时)动态引入元数据。在基于NAND的解决方案中,按需映射可严重阻碍性能,因为块引用要求两个串行NAND访问(以便首先取元数据,并且其次执行预期操作)。相反,PCMS采用随机存取存储器(RAM)的访问方法来提供NAND的持久性。PCMS引入其它问题(例如受罚席(penaltybox),其限制短时长写入之后的读取),但是为少量数据提供加载/存储语义。
[0033]给定PCMS可就地来读取或写入(即,无需首先将数据缓存在本地存储器中),可对某些情况来优化元数据操作。例如,如图3所示,主机装置可保持区域表302,其如所示将区域映射到元数据304。元数据(和数据)可缓存在主存储器306中,或者存储在后端存储装置308中。NAND/DISK与PCMS之间的一个差别在于,对于PCMS,元数据可就地来读取。这意味着,对PCMS不要求元数据缓存步骤(首先将元数据读入主存储器中),这减少读操作的等待时间。在不写入元数据条目的情况下,写操作也可获益于此。但是,给定PCMS的基于XOR的保护,在一些实施例中实施例中仍然假定带写入(band write),这排除对PCMS中的较小写入。
[0034]此外,许多NAND闪速装置采取最简单方式,并且将所有元数据保持在存储器中。虽然简单并且有效,但是它是高费用的,因为它对主控制器增加相当大的存储器量要求。这种解决方案也不完全缩放,因为增加后端的容量增加主控制器的存储器要求,并且增加附加成本。
[0035]基于盘的存储装置上的文件系统可使用按需元数据管理(根据需要来取元数据块)。虽然在主存储器上更为有效,但是这种方式因对后端的附加访问而增加等待时间。为此,一个实施例利用PCMS的加载/存储能力来使与元数据操作相关的开销为最小(例如从PCMS直接读取元数据,以避免对存储器的缓存操作)。[0036]又参照图3,按照一个实施例,示出使用PCMS和分级元数据管理方式的示例存储系统300。顶部标识主存储器中存在的那些结构和数据,以及底部标识PCMS中存在的那些结构和数据。如所示,存储器内结构引用存储器内结构和数据以及PCMS内结构和数据。如所示,PCMS内结构不引用存储器内结构或数据。对于所示的给定区域,根级元数据页可引用数据或其它元数据页(例如用于给定块序列)。因此,元数据页的内容可引用其它元数据页(例如按照分级方式以支持大区域大小)或者直接数据页引用。另外,虽然图3中示出4k页,但是在各个实施例中可使用其它页大小。
[0037]对于NAND技术,常常存在提供附加装置元数据以便用于纠错的要求。对于PCMS,情况不是这样。因此,PCMS装置可实现“大量位(sea of bits)”。但是,对PCMS装置的访问仍然具有需要纠正的差错概率。为此,一个实施例允许用于纠错的元数据将在“大量位”PCMS实现中使用。
[0038]一般来说,纠错要求附加元数据提供有根据需要进行检查和纠正的数据(被纠正)。因此,64字节的数据的请求可必须转换为用于必要的检测和纠正要求的80字节的请求。对于NAND装置,附加元数据存储可在装置中提供,因此不要求特殊寻址。同样,对于DRAM,可对访问宽度附加位(例如,从64位宽访问转到72位宽),以便提供ECC (纠错码)。一个问题在于,PCMS只是大量位,并且不存在用于这个信息的特殊存储位置。因此,附加存储需要取自系统的总容量。
[0039]在一个实施例中,执行地址计算,以将所请求数据位置转换成装置地址(例如参照图4,其中示出按照一个实施例的地址乘法器逻辑400)。如图4所示,地址计算可通过算术转换(例如,其可由独立逻辑或者控制器逻辑125中的逻辑进行)来执行。这个灵活ECC实施例可根据所需的基本块以及所要求的ECC保护等级来增长或调整。其它实现可在实现时来固定这个方面。
[0040]参照图4,通过将“入局地址”乘以“(数据块大小+所需ECC字节)/数据块大小”来确定出局地址。另外,通过将“入局请求长度”乘以“(数据块大小+所需ECC字节)/数据块大小”来确定出局请求长度。
[0041]相应地,可改变请求的地址和数据大小,以提供与数据传递一致的ECC信息。作为图示,以下列假设开始:
基本数据块大小=128字节 对128数据有效载荷所需的ECC=16字节
给定A的入局块地址,该地址与“(数据+元数据)/数据字节”的比率或在该情况中与9/8相乘。这可始终作为地址的移位和加法进行。128字节请求扩展相同比率,或者在本例中扩展到144字节。如果进入装置的地址A比如是OxAAAASO,则所产生的装置地址是9/8*A=0xBFFFD0,以及对装置的访问是自OxBFFFDO至0xC0005F(包括两端)。
[0042]在一些实施例中,提供用于对PCMS盘缓存的原子元数据支持的提供的技术。对于盘缓存,原子元数据的使用可解决对回写缓存的断电问题。这种上下文中的原子元数据定义为被存储的η字节的缓存算法元数据连同NVM介质确保的m字节的用户数据按照断电安全方式来写入。
[0043]对于NAND装置,一种解决方案是保留NAND页中的某个备用区(NAND的原子写入单位)供元数据使用。由于PCMS—般不支持页的相同概念,所以需要采用不同的解决方案。为此,在一个实施例中,足够的电容和缓冲可设计到该设计中,使得用户数据和元数据均以原子方式写到PCMS介质。要这样做,控制器逻辑125首先将数据和元数据传递到缓冲器(例如,控制器逻辑内部的缓冲器)中。一旦完成,则控制器逻辑125开始对PCMS介质的写操作。如果在写操作正在进行的同时发生断电,则板载电容继续向PCMS装置供电,直到写操作完成。
[0044]虽然上述实施例对于需要例如每512字节扇区的原子元数据的企业应用是充分的(例如按照国际信息技术标准委员会的TlO技术委员会所发布的指南支持TlO数据完整性特征(DIF)),但是对于低成本客户端缓存应用,另一个实施例提供低成本技术。此外,客户端缓存通常使用缓存线或帧边界上的元数据(例如,8K),并且同时先前所述解决方案可用来提供原子元数据,它们在一些情况下的性能和/或成本方面是未达最佳标准的。
[0045]此外,元数据保护的用户数据大小可受到限制,以确保良好服务时间,并且使存储盘(例如SSD)中的缓冲和电容为最小。例如,可为每512字节的用户数据提供16字节的元数据。虽然这是用于需要原子元数据(例如对TlO DIF的支持)企业应用的一种可能解决方案,但是对于低成本客户端高速缓存,每512字节的用户数据的16字节的增加开销会是昂贵的。对于这些低成本解决方案,在期望支付较少元数据开销的情况下,元数据可分布于较大量的用户数据。为此,另一个实施例在写操作开始时采用元数据、以及在写操作结束时采用元数据的冗余副本来格式化用户数据。作为一个示例,缓存策略可将16字节的元数据用于每8K的用户数据。在PCMS SSD上,这个8K的用户数据则剥离为对2个PCMS装置(例如,其可在同一管芯上或者在两个不同管芯上)的两个4K写操作,以获得增加的写性倉泛。
[0046]参照图5,不出按照一个实施例、两个PCMS管芯上的数据布局。使用这种布局和下面的伪代码,控制器逻辑125例如将8K的用户数据和16字节的元数据写到NVM介质。因为在用户数据之前和之后写入元数据,所以控制器逻辑125不需要具有缓冲器空间或电容来缓冲整个8K的用户数据。它而是可将缓冲器和电容确定大小为最节省成本大小。另外,对后续读操作,控制器逻辑125可使用以下技术来确定是否以原子方式写入元数据和数据。
[0047]在一个实施例中,下列伪代码可用于写入原子元数据:
1.将元数据I和3设置成全零
2.并行地,将元数据O和元数据2分别写到管芯O和I
3.并行地,将扇区0-7和8-15分别写到管芯O和I
4.并行地,将元数据I和3分别写到管芯O和I
在一个实施例中,下列伪代码可用于确定是否以原子方式写入数据和元数据:
1.读取元数据0、1、2、3
2.如果(元数据0==元数据I==元数据2==元数据3),则返回用户数据和元数据
3.否则,返回扇区0-15中的写数据期间断电不一致
图6示出按照本发明的一个实施例的计算系统600的框图。计算系统600可包括一个或多个中央处理单元(CPU)602或处理器,其经由互连网络(或总线)604进行通信。处理器602可包括通用处理器、网络处理器(其处理通过计算机网络603所传递数据)、应用处理器(例如蜂窝电话、智能电话等中使用的应用处理器)或者其它类型的处理器(包括简化指令集计算机(RISC)处理器或复杂指令集计算机(CISC))。可利用各种类型的计算机网络803,包括有线(例如以太网、千兆位、光纤等)或者无线网络(例如蜂窝、3G(第三代蜂窝电话技术或者第三代无线论坛(UWCC))、4G、低功率嵌入(LPE)等)。此外,处理器602可具有单核或多核设计。具有多核设计的处理器602可将不同类型的处理器核心集成在同一个集成电路(IC)管芯上。具有多核设计的处理器602还可实现为对称或不对称多处理器。
[0048]在一个实施例中,处理器602的一个或多个可与图1的处理器102相同或相似。例如,处理器602的一个或多个可包括核心106和/或缓存108的一个或多个。另外,可由系统600的一个或多个组件来执行参照图1-5所述的操作。
[0049]芯片组606还可与互连网络604进行通信。芯片组606可包括图形和存储器控制集线器(GMCH) 608。GMCH 608可包括存储器控制器610 (其在一个实施例中可与图1的存储器控制器120相同或相似,例如包括逻辑125),其与存储器114进行通信。存储器114可存储数据,包括由CPU 602或者计算系统600中包含的任何其它装置所运行的指令序列。在本发明的一个实施例中,存储器114可包括一个或多个易失性存储装置(或存储器),例如随机存取存储器(RAM)、动态RAM(DRAM)、同步DRAM (SDRAM)、静态RAM(SRAM)或者其它类型的存储装置。还可利用非易失性存储器、例如硬盘。附加装置可经由互连网络604进行通信,例如多个CPU和/或多个系统存储器。
[0050]GMCH 608还可包括与图形加速器616进行通信的图形接口 614。在本发明的一个实施例中,图形接口 614可经由加速图形端口(AGP)与图形加速器616进行通信。在本发明的一个实施例中,显示器617(例如平板显示器、触摸屏等)可经过例如信号转换器与图形接口 614进行通信,其中信号转换器将存储装置、例如视频存储器或系统存储器中存储的图像的数字表示转化为由显示器来解释和显示的显示信号。显示装置所产生的显示信号可在由显示器617进行解释并且随后在显示器617上显示之前经过各种控制装置。
[0051]集线器接口 618可允许GMCH 608和输入/输出控制集线器(ICH) 620进行通信。ICH 620可提供到I/O装置(其与计算系统600进行通信)的接口。ICH 620可经过诸如外设部件互连(PCI)桥接器、通用串行总线(USB)控制器或者其它类型的外设桥接器或控制器之类的外设桥接器(或控制器)624来与总线622进行通信。桥接器624可提供CPU 602与外设装置之间的数据通路。可利用其它类型的拓扑。另外,多个总线可经过多个桥接器或控制器来与ICH 620进行通信。此外,在本发明的各个实施例中,与ICH 620进行通信的其它外设可包括电子集成驱动器(IDE)或者(一个或多个)小型计算机系统接口(SCSI)硬盘驱动器、(一个或多个)USB端口、键盘、鼠标、(一个或多个)并行端口、( 一个或多个)串行端口、(一个或多个)软盘驱动器、数字输出支持(例如数字视频接口(DVI))或者其它装置。
[0052]总线622可与音频装置626、一个或多个盘驱动器628和网络接口装置630 (其例如经由有线或无线接口来与计算机网络603进行通信)进行通信。如所示,网络接口装置630可耦合到天线631,以便与网络603无线(例如,经由电气和电子工程师协会(IEEE)802.11 接口 (包括 IEEE 802.lla/b/g/n 等)、蜂窝节点、3G、4G、LPE 等)通信。其它装置可经由总线622进行通信。另外,在本发明的一些实施例中,各种组件(例如网络接口装置630)可与GMCH 608进行通信。此外,处理器602和GMCH 608可以相结合以形成单个芯片。另外,在本发明的其它实施例中,图形加速器616可包含在GMCH 608中。
[0053]此外,计算系统600可包括易失性和/或非易失性存储器(或存储装置)。例如,非易失性存储器可包括下列一个或多个:只读存储器(ROM),可编程ROM(PROM),可擦PROM (EPROM),电EPROM (EEPROM),盘驱动器(例如628),软盘,光盘ROM(CD-ROM),数字多功能光盘(DVD),闪速存储器,磁-光盘,或者能够存储电子数据(例如包括指令)的其它类型的非易失性机器可读介质。
[0054]图7示出按照本发明的一个实施例、按照点对点(PtP)配置来设置的计算系统700。具体来说,图7示出一种系统,其中处理器、存储器和输入/输出装置通过多个点对点接口来互连。参照图1-6所述的操作可由系统700的一个或多个组件来执行。
[0055]如图7所示,系统700可包括若干处理器,为了清楚起见仅示出其中的两个,即处理器702和704。处理器702、704各可包括本地存储器控制器集线器(MCH) 706和708,以实现与存储器710和712的通信。存储器710和/或712可存储各种数据,例如参照图1和/或图6的存储器114所述的那些数据。另外,在一些实施例中,MCH 706和708可包括图1的存储器控制器120和/或逻辑125。
[0056]在一个实施例中,处理器702和704可以是参照图6所述的处理器602其中之一。处理器702和704可分别使用点对点(PtP)接口电路716和718、经由PtP接口 714来交换数据。另外,处理器702和704可各使用点对点接口电路726、728、730和732、经由单独PtP接口 722和724来与芯片组720交换数据。芯片组720还可例如使用PtP接口电路737、经由高性能图形接口 736来与高性能图形电路734交换数据。如参照图6所述,在一些实施例中,图形接口 736可耦合到显示装置(例如显示器617)。
[0057]如图7所示,图1的核心106和/或缓存108的一个或多个可位于处理器702和704中。但是,本发明的其它实施例可存在于图7的系统700的其它电路、逻辑单元或装置中。此外,本发明的其它实施例可分布于图7所示的若干电路、逻辑单元或装置上。
[0058]芯片组720可使用PtP接口电路741来与总线740进行通信。总线740可具有与其通信的一个或多个装置,例如总线桥接器742和I/O装置743。经由总线744,总线桥接器743可与诸如键盘/鼠标745、通信装置746 (例如调制解调器、网络接口装置或者可与计算机网络603进行通信的其它通信装置,如参照网络接口装置630所述,包括经由天线631)、音频I/O装置和/或数据存储装置748之类的其它装置进行通信。数据存储装置748可存储代码749,其可由处理器702和/或704来运行。
[0059]在本发明的各个实施例中,本文中例如参照图1-7所述的操作可实现为硬件(例如电路)、软件、固件、微码或者它们的组合,其可作为计算机程序产品来提供,例如包括有形(例如非暂时)机器可读或计算机可读介质,其上存储了用来将计算机编程为执行本文所述过程的指令(或软件过程)。另外,术语“逻辑”作为举例可包括软件、硬件或者软件和硬件的组合。机器可读介质可包括存储装置,例如针对图1-7所述的存储装置。
[0060]另外,这类有形计算机可读介质可作为计算机程序产品来下载,其中程序可通过数据信号(例如在载波或其它传播介质中)、经由通信链路(例如总线、调制解调器或网络连接)从远程计算机(例如服务器)传递到请求计算机(例如客户端)。
[0061]本说明书中提到“一个实施例”或“实施例”表示结合该实施例所述的具体特征、结构或特性可包含在至少一个实现中。词语“在一个实施例中”在本说明书的各个位置的出现可以或者可以不是全部指同一个实施例。
[0062]在描述和权利要求书中,还可使用术语“耦合”和“连接”及其派生。在本发明的一些实施例中,“连接”可用于表示两个或更多元件相互直接物理或电接触。“耦合”可表示两个或更多元件直接物理或电接触。但是,“耦合”也可表示两个或更多元件可以不是相互直接接触,但仍然可相互配合或交互。
[0063]因此,虽然已经通过结构特征和/或方法动作特定的语言来描述了本发明的实施例,但是要理解,要求保护的主题可以并不局限于所述的特定特征或动作。特定特征和动作而是作为实现要求保护的主题的示例形式来公开。
【权利要求】
1.一种设备,包括: 具有开关的相变存储器(PCMS)控制器逻辑,控制对PCMS装置的访问;以及 存储器,存储地址间接表(AIT), 其中所述AIT存储要在系统存储器地址与PCMS地址之间进行转化的信息, 其中所述AIT表包括与所述PCMS装置中存储的数据的类型对应的元数据,以及其中所述PCMS控制器逻辑基于所述AIT中存储的所述信息来提供对所述PCMS装置的访问。
2.如权利要求1所述的设备,其中,所述元数据为所述PCMS控制器逻辑提供与所述PCMS装置中存储的数据有关的信息,以准许所述PCMS控制器逻辑响应来自处理器的请求,而无需首先访问所述PCMS装置。
3.如权利要求1所述的设备,其中,所述元数据为下列之一:零、重复数据、只读数据、加密数据和缓存优先级。
4.如权利要求1所述的设备,其中,处理器将所述元数据传送给所述PCMS控制器逻辑。
5.如权利要求1所述的设备,其中,所述元数据经过指令来提供。
6.如权利要求1所述的设备,其中,所述PCMS控制器逻辑、存储器、PCMS装置和处理器核心中的一个或多个处于同一集成电路管芯上。
7.—种设备,包括: 具有开关的相变存储器(PCMS)控制器逻辑,控制对PCMS装置的访问;以及 主存储器,存储将存储器区域映射到元数据的区域表, 其中所述PCMS控制器逻辑基于所述PCMS装置中存储的所述元数据的直接读取来提供对所述PCMS装置的访问。
8.如权利要求7所述的设备,其中,所述元数据的至少一部分存储在所述主存储器中。
9.如权利要求7所述的设备,其中,所述主存储器中存储的一个或多个结构引用所述主存储器中存储的一个或多个其它结构和数据以及所述MCMS装置中存储的一个或多个结构和数据。
10.如权利要求7所述的设备,其中,所述PCMS装置中存储的一个或多个结构仅引用所述PCMS装置中存储的一个或多个其它结构和数据。
11.如权利要求7所述的设备,其中,所述PCMS控制器逻辑、主存储器、PCMS装置和处理器核心中的一个或多个处于同一集成电路管芯上。
12.—种设备,包括: 具有开关的相变存储器(PCMS)控制器逻辑,控制对PCMS装置的访问;以及 确定与所述PCMS装置中存储的纠错元数据对应的出局请求长度以及出局地址的逻辑。
13.如权利要求12所述的设备,其中,所述逻辑基于入局地址、数据块大小和纠错码(ECC)的字节数量来确定出局地址。
14.如权利要求12所述的设备,其中,所述逻辑基于入局请求长度、数据块大小和纠错码(ECC)的字节数量来确定出局请求长度。
15.如权利要求12所述的设备,其中,所述PCMS控制器逻辑包括确定所述出局地址和所述出局请求长度的逻辑。
16.如权利要求12所述的设备,其中,所述PCMS控制器逻辑、确定所述出局地址和所述出局请求长度的逻辑、PCMS装置和处理器核心中的一个或多个处于同一集成电路管芯上。
17.—种设备,包括: 具有开关的相变存储器(PCMS)控制器逻辑,控制对PCMS装置的访问, 其中所述PCMS控制器逻辑在将数据和元数据存储到缓冲器之后将所述数据写到所述PCMS装置。
18.如权利要求17所述的设备,其中,在所述数据丢失的情况下使用所述元数据。
19.如权利要求17所述的设备,其中,所述PCMS控制器逻辑、PCMS装置和处理器核心中的一个或多个处于同一集成电路管芯上。
20.—种设备,包括: 一个或多个具有开关的相变存储器(PCMS)控制器逻辑,控制对第一 PCMS管芯和第二PCMS管芯中的一个或多个的访问, 其中所述一个或多个PCMS控制器逻辑将具有第一元数据的至少两个副本的第一第一数据集写到所述第一 PCMS管芯。
21.如权利要求20所述设备,其中,所述一个或多个PCMS控制器逻辑将具有第二元数据的至少两个副本的第二数据集写到所述第二 PCMS管芯。
22.如权利要求21所述的设备,其中,所述第二数据集按顺序包括第二元数据、第二用户数据以及所述第二元数据的冗余副本。
23.如权利要求20所述的设备,其中,所述第一数据集按顺序包括所述第一元数据、第一用户数据以及所述第一元数据的冗余副本。
24.如权利要求20所述的设备,其中,在所述第一或第二数据集丢失的情况下使用所述元数据。
25.如权利要求20所述的设备,其中,所述一个或多个PCMS控制器逻辑、第一PCMS管芯、第二 PCMS管芯和处理器核心中的一个或多个处于同一集成电路装置上。
26.—种系统,包括: PCMS装置; 处理器,经由PCMS控制器逻辑来访问所述PCMS装置上存储的数据;以及 存储器,存储与所述PCMS装置上存储的所述数据对应的元数据, 其中所述PCMS控制器逻辑基于所述元数据来允许对所述PCMS装置的访问。
27.如权利要求26所述的系统,其中,所述存储器存储地址间接表(AIT),其中所述AIT存储要在系统存储器地址与PCMS地址之间进行转化的信息,以及其中所述AIT表包括与所述PCMS装置中存储的数据的类型对应的所述元数据,以及其中所述PCMS控制器逻辑基于所述AIT中存储的所述信息来提供对所述PCMS装置的访问。
28.如权利要求26所述的系统,其中,所述存储器包括主存储器,以存储将存储器区域映射到所述元数据的区域表。
29.如权利要求26所述的系统,还包括确定与将要用于纠错的所述元数据对应的出局请求长度以及出局地址的逻辑。
30.如权利要求26所述的系统,其中,所述PCMS控制器逻辑在将数据和所述元数据存储到缓冲器之后 将所述数据写到所述PCMS装置。
【文档编号】G11C13/02GK103999057SQ201180076011
【公开日】2014年8月20日 申请日期:2011年12月30日 优先权日:2011年12月30日
【发明者】L.K.普蒂耶达思, M.T.琼斯, S.R.特特里克, R.J.小罗耶, R.K.拉马努彦, G.J.欣顿, B.芬宁, R.S.吉廷斯, M.A.施米索伊尔, F.T.哈迪, R.W.法伯 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1