一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于数据移动的可编程引擎的制作方法

2022-05-21 14:35:22 来源:中国专利 TAG:

用于数据移动的可编程引擎
1.相关申请
2.本技术要求2019年9月17日提交且标题为“用于数据移动的可编程引擎(programmable engine for data movement)”的第16/573,785号美国专利申请的优先权,所述美国专利申请的全部公开内容由此以引用的方式并入本文中。
技术领域
3.本文公开的至少一些实施例涉及一种具有用于数据移动的可编程引擎的存储器芯片。另外,本文公开的至少一些实施例涉及将此类存储器芯片用于灵活预配存储器芯片串以形成存储器。


背景技术:

4.计算系统的存储器可以是分级的。通常称为计算机架构中的存储器层级的存储器层级可基于例如响应时间、复杂度、容量、持久性和存储器带宽等某些因素来将计算机存储器分为层级。此类因素可以是相关的且可能通常是各种折衷,这进一步突出了存储器层级的有用性。
5.通常,存储器层级会影响计算机系统中的性能。使存储器带宽和速度优先于其它因素可能需要考虑存储器层级的限制,例如响应时间、复杂度、容量和持久性。为了管理此类优先级排序,可组合不同类型的存储器芯片以使较快的芯片与较可靠的或具成本效益的芯片达到平衡等。各种芯片中的每一者可被视为存储器层级的部分。并且,例如为了减少较快芯片上的时延,存储器芯片组合中的其它芯片可通过填充缓冲器且接着传信以激活芯片之间的数据传送来进行响应。
6.存储器层级可由具有不同类型的存储器单元的芯片构成。举例来说,存储器单元可以是动态随机存取存储器(dram)单元。dram是将每个数据位存储在存储器单元中的一种随机存取半导体存储器,所述存储器单元通常包含电容器和金属氧化物半导体场效应晶体管(mosfet)。电容器可经充电或放电,表示位的两个值“0”和“1”。在dram中,电容器上的电荷会泄漏,因此dram需要外部存储器刷新电路,所述外部存储器刷新电路通过恢复每个电容器的原始电荷来周期性地重写电容器中的数据。另一方面,对于静态随机存取存储器(sram)单元,不需要刷新特征。另外,dram被视为易失性存储器,因为当移除电力时,dram会快速地失去其数据。这不同于快闪存储器和其它类型的非易失性存储器,例如其中数据存储更持久的非易失性随机存取存储器(nvram)。
7.一种nvram是3d xpoint存储器。对于3d xpoint存储器,存储器单元结合可堆叠交叉网格化数据存取阵列而基于体电阻的改变来存储位。3d xpoint存储器可比dram更具成本效益,但不如快闪存储器具有成本效益。
8.快闪存储器是另一类型的非易失性存储器。快闪存储器的优点是,其可以电方式擦除和重新编程。快闪存储器被视为具有两个主要类型:nand型快闪存储器和nor型快闪存储器,其依照可实施快闪存储器的存储器单元的nand和nor逻辑门来命名。快闪存储器单元
或多个快闪存储器单元展现与对应的门的内部特性类似的内部特性。nand型快闪存储器包含nand门。nor型快闪存储器包含nor门。nand型快闪存储器可按可小于整个装置的块来写入和读取。nor型快闪存储器准许将单个字节写入到经擦除位置或被独立读取。由于nand型快闪存储器的优点,此类存储器通常用于存储卡、usb快闪驱动器和固态驱动器。然而,与例如dram和nvram等其它类型的存储器相比,一般使用快闪存储器的主要折衷是,它在特定块中仅能够进行相对较少数目的写入循环。
附图说明
9.根据下文给出的详细描述和本公开的各种实施例的附图,将更充分地理解本公开。
10.图1说明根据本公开的一些实施例的经配置以提供多层存储器的灵活预配的实例存储器系统。
11.图2说明根据本公开的一些实施例的经配置以提供多层存储器的灵活预配的实例存储器系统和处理器芯片。
12.图3说明根据本公开的一些实施例的经配置以提供多层存储器的灵活预配的实例存储器系统和存储器控制器芯片。
13.图4说明根据本公开的一些实施例的经配置以提供具有各自包含多个存储器芯片的层的多层存储器的灵活预配的实例存储器系统。
14.图5说明根据本公开的一些实施例的实例计算装置的实例部分。
15.图6说明根据本公开的一些实施例的包含具有集成数据移动器的存储器芯片的实例系统。
16.图7说明根据本公开的一些实施例的实例系统,其包含图6中展示的存储器芯片以及接收从数据移动器传送的数据且具有用于映射接收到的数据的逻辑到物理映射的微芯片或装置。
17.图8说明根据本公开的一些实施例的包含图6中展示的存储器芯片的实例系统,还展示所述存储器芯片具有加密和认证电路系统。
18.图9说明根据本公开的一些实施例的包含存储器芯片的实例系统,所述存储器芯片具有用于数据移动的可编程引擎以及到处理器芯片和第二存储器芯片的直接连接。
19.图10说明根据本公开的一些实施例的包含图9中展示的存储器芯片的实例系统,所述存储器芯片具有可编程引擎、到第二存储器芯片的直接连接和经由总线到处理器芯片的连接。
20.图11说明根据本公开的一些实施例的包含图9中展示的存储器芯片的实例系统,所述存储器芯片具有可编程引擎以及到第二和第三存储器芯片的直接连接。在图11中,所述存储器芯片处于第二存储器芯片与第三存储器芯片之间。
具体实施方式
21.本文公开的至少一些实施例涉及一种存储器芯片(例如,参看图9到11中展示的第一存储器芯片902),其包含用于数据移动的可编程引擎(例如,参看图9到11中展示的可编程引擎910)。具有可编程引擎的存储器芯片的一或多个实例可作为一或多个存储器芯片用
于灵活预配存储器芯片串以形成存储器(例如,参看图1到3中展示的存储器芯片串102以及图4中展示的存储器芯片串402)。另外,具有可编程引擎的存储器芯片可以是具有数据移动器的存储器芯片、包含具有数据移动器的存储器芯片或被包含在具有数据移动器的存储器芯片中(例如,参看图6到8中展示的存储器芯片602)。举例来说,可编程引擎可提供数据移动器。
22.可编程引擎可具有逻辑电路,可经由具有所述可编程引擎的存储器芯片的存储器区或经由连接到具有所述可编程引擎的存储器芯片的存储器芯片的存储器区对所述逻辑电路进行编程。基于存储器区中的内容,可编程引擎可执行不同操作以将数据移动到下游存储器芯片,例如下游快闪存储器芯片。举例来说,处理器(例如芯片上系统(soc))可将数据存储在存储器芯片中的两个预定存储器地址中以标识要移动到下游存储器芯片中的存储器区。并且,处理器可在存储器芯片中的第三预定存储器地址处写入命令(例如,执行命令)。
23.引擎的可编程性可在于要移动的存储器区的大小、要移动的存储器区的位置、移动的方向(例如,移动到下游快闪存储器芯片或从下游快闪存储器芯片移动)。返回参考先前实例,当可编程引擎检测到存储器芯片中的命令时,其移动存储在芯片中的数据。在命令的执行期间,可编程引擎可清除第三存储器地址,使得其不会重复操作。
24.在一些实施例中,可编程引擎可执行呈指令形式的一组命令,这在一定程度上类似于常规处理器。在一些实施例中,可编程引擎可包含寄存器,所述寄存器可保持用于将数据从存储器芯片移动到下游存储器芯片的参数。举例来说,寄存器可包含用于限定存储要移动的数据的存储器区的相应寄存器,以及用于移动操作的命令。
25.处理器芯片(例如,soc)可直接连接到具有可编程引擎的存储器芯片(例如,参看图9中展示的处理器芯片924)。另外,处理器芯片可通过总线(例如,参看图10中展示的总线1004)连接到具有可编程引擎的存储器芯片。或者,处理器芯片可通过另一存储器芯片连接到具有可编程引擎的存储器芯片(例如,参看图1中展示的处理器芯片1112和第三存储器芯片1102)。在处理器芯片与具有可编程引擎的存储器芯片之间存在间接连接的实施例中,两个芯片之间的另一存储器芯片可包含用于具有可编程引擎的所述存储器芯片的高速缓存(例如,参看图11中展示的用于第一存储器芯片902的高速缓存1114)。
26.处理器芯片可通过将数据存储在具有可编程引擎的存储器芯片中的预定义存储器区(例如,参看图9到11中展示的预定义存储器区908)中来对所述可编程引擎进行编程。预定义存储器区可包含被配置为用于可编程引擎的命令队列(例如,参看图9到11中展示的命令队列912)的部分。因此,处理器芯片可控制具有可编程引擎的存储器芯片以通过将数据写入到预定义存储器区而将数据移入或移出存储器芯片。并且,一些写入的数据控制命令队列。根据可编程引擎,数据可通过可编程引擎从存储器芯片移动到第二存储器芯片(例如,参看第二存储器芯片926)。
27.在一些实施例中,存储器芯片可包含经配置以存储从微芯片传输的程序数据的预定义存储器区。并且,存储器芯片还可包含可编程引擎,所述可编程引擎经配置以促进对第二存储器芯片进行存取以根据存储在预定义存储器区中的程序数据从第二存储器芯片读取数据以及将数据写入到第二存储器芯片。在此类实施例中,预定义存储器区可包含被配置为用于可编程引擎的命令队列的部分,且可编程引擎可经配置以促进根据所述命令队列
对第二存储器芯片进行存取。此外,存储的程序数据的一部分可经配置以控制命令队列。并且,存储器部分可经配置以存储要移动到第二存储器芯片的数据,且存储在所述存储器部分中的数据可根据命令队列而移动。
28.包含用于数据移动的可编程引擎的存储器芯片可具有用于相应地分别连接到处理器和存储器微芯片的单独两组引脚(例如,参看图9中展示的多组引脚904和906),或用于相应地分别连接到两个不同存储器芯片的单独两组引脚(例如,参看图11中展示的多组引脚1104和906)。处理器还可具有用于连接到至少两个不同存储器芯片(包含连接到具有可编程引擎的存储器芯片)的单独两组引脚(图中未描绘)。在一些实施例中,处理器不必具有单独的多组引脚来存取多个存储器芯片。为了节省处理器上的引脚,多个存储器芯片可经由总线连接到处理器。在此类实施例中,处理器可经由总线(例如,参见图10中展示的总线1004)经由具有引擎的存储器芯片中的读取或写入存储器数据来存取可编程引擎。另外,在一些实例中,为了节省存储器芯片的引脚,多个存储器芯片可经由总线彼此连接。
29.包含可编程引擎的存储器芯片可以是非易失性随机存取存储器(nvram)芯片,因为所述存储器芯片包含多个nvram单元。并且,在一些实施例中,所述多个nvram单元可包含多个3d xpoint存储器单元。替代地,包含可编程引擎的存储器芯片可以是动态随机存取存储器(dram)芯片,因为所述存储器芯片包含多个dram单元。另外,包含可编程引擎的存储器芯片可以是快闪存储器芯片,因为所述存储器芯片包含多个快闪存储器单元。所述多个快闪存储器单元可包含多个nand型快闪存储器单元。
30.存储在具有可编程引擎的存储器芯片中的存储器部分中的数据可由处理器芯片直接或间接存取(例如,参看图9到11中展示的存储器部分914)。并且,处理器芯片可从具有可编程引擎的存储器芯片读取数据以及将数据写入到所述存储器芯片。可从存储器芯片中的所述存储器部分读取数据以及将数据写入到所述存储器部分。
31.在一些实施例中,连接到具有可编程引擎的存储器芯片的第二存储器芯片(例如,参看第二存储器芯片926)是dram芯片。在一些实施例中,第二存储器芯片是nvram芯片。在一些实施例中,第二存储器芯片是快闪存储器芯片(例如,nand型快闪存储器芯片)。
32.存储在连接到具有可编程引擎的存储器芯片的第二存储器芯片的存储器部分中的数据(例如,参看图9中展示的存储器部分930)可由或通过具有可编程引擎的存储器芯片存取。另外,当存储在第二存储器芯片的所述部分中的数据可通过所述存储器芯片存取时,所述数据有时被另一存储器芯片或处理器芯片(例如图9到10中展示的处理器芯片924)存取。并且,具有可编程引擎的存储器芯片可从第二存储器芯片读取数据以及将数据写入到第二存储器芯片。可从第二存储器芯片中的所述存储器部分读取数据以及将数据写入到所述存储器部分。
33.本文中所描述的一些实施例可包含一种系统,所述系统包含第一存储器芯片、第二存储器芯片和微芯片。在此类实施例中,第一存储器芯片可包含经配置以存储从微芯片传输的程序数据的预定义存储器区。第一存储器芯片还可包含可编程引擎,所述可编程引擎经配置以促进对第二存储器芯片进行存取以根据存储在预定义存储器区中的程序数据从第二存储器芯片读取数据以及将数据写入到第二存储器芯片。另外,在此类实施例中,微芯片可经配置以通过将数据写入第一存储器芯片中的预定义存储器区中而对可编程引擎进行编程。
34.本文所描述的一些实施例可包含一种系统,所述系统包含第一存储器芯片、第二存储器芯片、第三存储器芯片和经由第三存储器芯片连接到第一存储器芯片的处理器芯片。在此类实施例中,第一存储器芯片可包含预定义存储器区,所述预定义存储器区经配置以存储经由第三存储器芯片从处理器芯片传输的程序数据。第一存储器芯片还可包含可编程引擎,所述可编程引擎经配置以促进对第二存储器芯片进行存取以根据存储在预定义存储器区中的程序数据从第二存储器芯片读取数据以及将数据写入到第二存储器芯片。处理器芯片可经配置以经由第三存储器芯片通过将数据写入第一存储器芯片中的预定义存储器区中而对可编程引擎进行编程。
35.另外,本文公开的至少一些实施例涉及一种具有集成数据移动器的存储器芯片(例如,参看图6到8以及本文中的对应文字)。并且,本文公开的至少一些实施例涉及将此类存储器芯片用于灵活预配存储器芯片串以形成存储器(例如,参看图1到8以及本文中的对应文字)。例如,图6到8中描绘的存储器芯片的一或多个实例可作为一或多个存储器芯片用于灵活预配图1到3中展示的存储器芯片串102以及图4中展示的存储器芯片串402。
36.出于本公开的目的,数据移动器是存储器芯片或装置中管理数据到另一存储器芯片或装置的传送的电路。此类数据移动器可在存储器层级中的存储器芯片或装置的群组中使用。因此,数据移动器可促进将数据从一个存储器芯片或装置移动到存储器层级中的另一存储器芯片或装置。
37.包含集成数据移动器(例如,参看数据移动器608)的存储器芯片(例如,参看存储器芯片602)可具有用于相应地分别连接到第一微芯片或装置(例如,参看图6到8中展示的第一微芯片或装置624)和第二微芯片或装置(例如,参看图6到8中展示的第二微芯片或装置626)的单独两组引脚(例如,参看图6到8中展示的多组引脚604和606)。第一微芯片或装置可以是处理器,例如芯片上系统(soc)或另一存储器芯片。第二微芯片或装置可以是另一存储器芯片或存储器装置,例如大容量存储装置。
38.在一些实施例中,除了数据移动器之外,存储器芯片可包含加密引擎(例如,参看图8中展示的加密引擎802)以保护要移动到第二微芯片或装置的数据。另外,在此类实施例和其它实施例中,存储器芯片可包含网守装置(例如,参看图8中展示的网守804),所述网守装置可针对存储在第二微芯片或装置中的数据的存取执行认证。
39.数据移动器可使用各种策略将存储在存储器芯片中的数据(例如,参看具有可由第一微芯片或装置624存取的数据的存储器部分610,如图6到8中展示)沿路组合到第二微芯片或装置。这可提高第二微芯片或装置的写入性能和耐久性。
40.总的来说,存储器芯片可包含第一组引脚、第二组引脚和集成数据移动器。所述第一组引脚可经配置以允许存储器芯片经由第一布线耦合到第一微芯片或装置。所述第二组引脚可经配置以允许存储器芯片经由与第一布线分开的第二布线耦合到第二微芯片或装置。数据移动器可经配置以促进经由第二组引脚存取第二微芯片或装置以从第二微芯片或装置读取数据以及将数据写入到第二微芯片或装置。
41.存储器芯片可以是非易失性随机存取存储器(nvram)芯片,因为存储器芯片包含多个nvram单元。并且,在一些实施例中,所述多个nvram单元可包含多个3d xpoint存储器单元。另外,存储器芯片可以是动态随机存取存储器(dram)芯片,因为存储器芯片包含多个dram单元。另外,存储器芯片可以是快闪存储器芯片,因为存储器芯片包含多个快闪存储器
单元。所述多个快闪存储器单元可包含多个nand型快闪存储器单元。
42.第一微芯片或装置可以是另一存储器芯片或存储器装置,或处理器芯片或处理器装置。在一些实施例中,例如,第一微芯片或装置为soc。在一些实施例中,例如,第一微芯片或装置为dram芯片。在一些实施例中,例如,第一微芯片或装置为nvram芯片。存储在存储器芯片的一部分中的数据可由或通过第一微芯片或装置经由第一组引脚存取。另外,当存储在存储器芯片的所述部分中的数据可通过第一微芯片或装置存取时,所述数据正被另一存储器芯片或装置或处理器芯片或装置存取。并且,第一微芯片或装置可从存储器芯片读取数据以及将数据写入到存储器芯片中。
43.第二微芯片或装置可以是另一存储器芯片或存储器装置。在一些实施例中,例如,第二微芯片或装置为dram芯片。在一些实施例中,例如,第二微芯片或装置为nvram芯片。在一些实施例中,例如,第二微芯片或装置为快闪存储器芯片(例如,nand型快闪存储器芯片)。存储在第二微芯片或装置的一部分中的数据可由或通过存储器芯片经由第二组引脚存取。另外,当存储在第二微芯片或装置的所述部分中的数据可通过存储器芯片存取时,所述数据正被另一存储器芯片或装置或处理器芯片或装置(例如,第一微芯片或装置)存取。并且,存储器芯片可从第二微芯片或装置读取数据以及将数据写入到第二微芯片或装置。
44.数据移动器可经配置以通过将数据按块移动到第二微芯片或装置来组合存储在存储器芯片的一部分中的数据。举例来说,数据移动器可经配置以通过将数据按块移动到第二微芯片或装置来组合存储在存储器芯片的所述部分中的数据,所述数据可由或通过第一微芯片或装置经由第一组引脚存取。通过按块移动数据的数据移动器可增大第二微芯片或装置的写入性能和耐久性,且存储器芯片上的顺序存取或块存取比存储器芯片上的随机存取快几个数量级。
45.在一些实施例中,所述块处于比最初存储在存储器芯片的一部分中的数据更粗的粒度。举例来说,块的粒度比最初存储在存储器芯片的所述部分中的可由或通过第一微芯片或装置经由第一组引脚存取的数据粗。粒度比存储器芯片中预分块的数据(例如待由第一微芯片或装置存取的数据)粗的块可降低数据写入到第二微芯片或装置的频率。
46.数据移动器还可经配置以缓冲对存储在存储器芯片的一部分中的数据改变的移动,所述数据例如第一微芯片或装置可存取的存储在存储器芯片的所述部分中的数据。并且,在此类实施例中,归因于数据移动器进行的缓冲,数据移动器还可经配置而以合适的大小向第二微芯片或装置发送写入请求。当第二微芯片或装置是第二微芯片或装置且对第二微芯片或装置的写入因数据移动器进行的缓冲而处于合适的大小时,第二微芯片或装置可在第二微芯片或装置中根据所述写入擦除块且对块进行编程,而无需在第二微芯片或装置中进行进一步处理或最小处理。这是集成在存储器芯片中的数据移动器可提高第二微芯片或装置的写入性能和耐久性的一个实例方式。另外,通过数据移动器进行的缓冲,且当对存储器芯片的一部分中的数据(例如第一微芯片或装置可存取的芯片部分中的数据)作出频繁和/或随机改变时,不必频繁地以与存储器芯片的所述部分中发生的改变对应的方式擦除和重新编程第二微芯片或装置。
47.当第二微芯片或装置是快闪存储器芯片时,数据移动器进行的缓冲更加有益,因为缓冲可消除或至少限制快闪存储器中发生的写入放大效应。通过缓冲可减少甚至消除写入放大,因为通过缓冲,存储器芯片发送的写请求可被修改到接收方快闪存储器芯片预期
的合适大小或粒度。因此,快闪存储器芯片可根据写入请求擦除块且对块进行编程,而不对写入进行可能的重复,且因此避免在第二微芯片或装置中进行进一步处理。
48.数据移动器还可经配置以将改变的地址捆绑(bundle)到对存储在存储器芯片的一部分中的数据(例如第一微芯片或装置可存取的存储器芯片的所述部分中的数据)的改变中。在此类实施例中,数据移动器还可经配置以经由到第二微芯片或装置的写入请求将捆绑的改变的地址写入到存储器芯片的另一部分中以移动到第二微芯片或装置。数据移动器的这些特征可改进数据移动器进行的缓冲以及根据缓冲对写入请求的发送,因为数据移动器可控制改变的地址的捆绑以对应于接收方第二微芯片或装置预期的合适大小或粒度。
49.在一些实施例中,存储器芯片还可包含用于第二微芯片或装置的逻辑到物理映射(例如,参看图6中展示的逻辑到物理映射612)。并且,用于第二微芯片或装置的逻辑到物理映射可经配置以使用捆绑的改变的地址作为输入。在一些其它实施例中,第二微芯片或装置可包含用于自身的逻辑到物理映射(例如,参看图7中展示的逻辑到物理映射712),所述逻辑到物理映射经配置以在捆绑的改变的地址在写入请求中发送到第二微芯片或装置时使用所述捆绑的改变的地址作为输入。
50.本文中描述的一些实施例可包含一种系统,其包含中间存储器芯片(例如,参看存储器芯片602)、第一存储器芯片(例如,参看第一微芯片或装置624)和第二存储器芯片(例如,参看第二微芯片或装置626)。在此类实施例中,中间存储器芯片可以是nvram芯片(例如,3d xpoint存储器芯片),第二存储器芯片可以是快闪存储器芯片(例如,nand型快闪存储器芯片),且第一存储器芯片可以是dram芯片。本文中描述的一些其它实施例可包含一种系统,其包含中间存储器芯片(例如,参看存储器芯片602)、第二存储器芯片(例如,参看第二微芯片或装置626)和处理器芯片,例如soc(例如,参看第一微芯片或装置624)。在此类实施例中,中间存储器芯片可以是nvram芯片(例如,3dxpoint存储器芯片)或dram芯片,且第二存储器芯片可以是快闪存储器芯片(例如,nand型快闪存储器芯片)或nvram芯片。
51.另外,本公开的至少一些方面涉及灵活预配存储器芯片串以形成用于处理器芯片或芯片上系统(soc)的存储器,例如参看图1到5以及本文中的对应文字。从接线到存储器的处理器芯片或soc的角度,存储器的存储器芯片串看起来与单存储器芯片实施方案无异;然而,通过灵活预配,使用存储器芯片串的益处得以实现。举例来说,通过灵活预配,可实现使用具有存储器层级的存储器芯片串的益处。
52.处理器芯片或soc可直接接线到串中的第一存储器芯片,且可与第一存储器芯片交互而无需感知所述串中在第一存储器芯片下游的存储器芯片。在存储器中,第一存储器芯片可直接接线到第二存储器芯片且可与第二存储器芯片交互,使得处理器芯片或soc获得第一和第二存储器芯片的串的益处而无需感知第二存储器芯片。并且,第二存储器芯片可直接接线到第三存储器芯片,诸如此类,使得处理器芯片或soc获得多个存储器芯片的串的益处而无需感知第一存储器芯片下游的多个存储器芯片且与之交互。另外,在一些实施例中,串中的每个芯片感知所述串中的紧邻上游芯片和下游芯片且与其交互,而无需感知所述串中的更上游或下游的芯片。
53.在一些实施例中,串中的第一存储器芯片可以是dram芯片。在串中紧接在第一芯片下游的第二存储器芯片可以是nvram芯片(例如,3d xpoint存储器芯片)。在串中紧接在第二芯片下游的第三存储器芯片可以是快闪存储器芯片(例如,nand型快闪存储器芯片)。
另外,举例来说,所述串可以是dram到dram到nvram,或dram到nvram到nvram,或dram到快闪存储器到快闪存储器;但dram到nvram到快闪存储器可针对灵活地预配存储器芯片串为多层存储器提供更有效的解决方案。另外,为了理解本文公开的存储器芯片串的灵活预配,实例将通常涉及三芯片存储器芯片串;然而,应理解,存储器芯片串可包含多于三个存储器芯片。
54.另外,出于本公开的目的,应理解,dram、nvram、3d xpoint存储器和快闪存储器是用于个别存储器单元的技术,且用于本文所描述的存储器芯片中的任一者的存储器芯片可包含用于命令和地址解码的逻辑电路以及dram、nvram、3d xpoint存储器或快闪存储器的存储器单元阵列。举例来说,本文所描述的dram芯片包含用于命令和地址解码的逻辑电路以及dram的存储器单元阵列。另外,举例来说,本文所描述的nvram芯片包含用于命令和地址解码的逻辑电路以及nvram的存储器单元阵列。并且,举例来说,本文所描述的快闪存储器芯片包含用于命令和地址解码的逻辑电路以及快闪存储器的存储器单元阵列。
55.另外,用于本文所描述的存储器芯片中的任一者的存储器芯片可包含用于传入和/或传出数据的高速缓存或缓冲存储器。在一些实施例中,实施高速缓存或缓冲存储器的存储器单元可不同于托管所述高速缓存或缓冲存储器的芯片上的单元。举例来说,实施高速缓存或缓冲存储器的存储器单元可以是sram的存储器单元。
56.存储器芯片串中的每个芯片可经由布线连接到紧邻的下游和/或上游芯片,所述布线例如外围组件互连高速(pcie)或串行高级技术附件(sata)。存储器芯片串中的芯片之间的每个连接可通过布线顺序地连接,且所述连接可彼此分开。存储器芯片串中的每个芯片可包含一或多组引脚以用于连接到串中的上游芯片和/或下游芯片。在一些实施例中,存储器芯片串中的每个芯片可包含围封在集成电路(ic)封装内的单个ic。在此类实施例中,ic封装可包含处于封装的边界上的多组引脚。
57.用于处理器芯片或soc的存储器的存储器芯片串中的第一存储器芯片(例如,dram芯片)可包含可例如由处理器芯片或soc配置为用于存储器芯片串中的第二存储器芯片(例如,nvram芯片)的高速缓存的部分。第一存储器芯片中的存储器单元的一部分可用作用于第二存储器芯片的高速缓存存储器。
58.用于处理器芯片或soc的存储器的存储器芯片串中的第二存储器芯片可包含可例如直接由第一存储器芯片和间接由处理器芯片或soc配置为用于存取存储器芯片串中的第三存储器芯片(例如,快闪存储器芯片)的缓冲器的部分。第二存储器芯片中的存储器单元的一部分可用作用于存取第三存储器芯片的缓冲器。另外,第二存储器芯片可包含可例如直接由第一存储器芯片和间接由处理器芯片或soc配置为用于逻辑到物理地址映射的表(逻辑到物理表)或一般的逻辑到物理地址映射的部分。第二存储器芯片中的存储器单元的一部分可用于逻辑到物理地址映射。
59.用于处理器芯片或soc的存储器的存储器芯片串中的第三存储器芯片可包含控制器,所述控制器可使用第二存储器芯片中的逻辑到物理地址映射来管理第三存储器芯片的转换层(例如,快闪转换层功能)。第三存储器芯片的转换层可包含逻辑到物理地址映射,例如第二存储器芯片中的逻辑到物理地址映射的副本或衍生本(derivative)。
60.另外,在一些实施例中,连接到存储器的处理器芯片或soc可通过将数据写入到第一存储器芯片中来配置第一存储器芯片中的高速缓存的位置和大小、第二存储器芯片中的
缓冲器和逻辑到物理地址映射,以及第一芯片中的高速缓存策略参数(例如,透写与回写)。并且,处理器芯片或soc进行的前述配置和设置可委托给第二数据处理芯片,使得此类任务从处理器芯片或soc移除。举例来说,具有存储器芯片串的存储器可具有与处理器芯片或soc分开的专用控制器,所述专用控制器经配置以提供且控制所述存储器的前述配置和设置。
61.总的来说,通过本文中所描述的提供多层存储器的灵活预配的技术,在芯片串中的某些存储器芯片上分配存储器单元的一部分作为高速缓存或缓冲器的灵活性在于如何配置存储器芯片(例如,dram、nvram和快闪存储器芯片)以使连接性可行且灵活。高速缓存和缓冲器操作允许不同大小和/或不同类型的下游存储器装置连接到上游装置,反之亦然。在某种意义上,存储器控制器的一些功能实施于存储器芯片中以实现存储器芯片中的高速缓存和缓冲器的操作。
62.图1说明根据本公开的一些实施例的经配置以提供多层存储器的灵活预配的实例存储器系统100。存储器系统100包含存储器的存储器芯片串102中的第一存储器芯片104。存储器系统100还包含存储器芯片串102中的第二存储器芯片106和存储器芯片串中的第三存储器芯片108。
63.在图1中,第一存储器芯片104直接接线到第二存储器芯片106(例如,参看布线124)且经配置以直接与第二存储器芯片交互。另外,第二存储器芯片106直接接线到第三存储器芯片108(例如,参看布线126)且经配置以直接与第三存储器芯片交互。
64.另外,存储器芯片串102中的每个芯片可包含一或多组引脚以用于连接到串中的上游芯片和/或下游芯片(例如,参看多组引脚132、134、136和138)。在一些实施例中,存储器芯片串(例如,参看存储器芯片串102或图4中展示的存储器芯片群组串402)中的每个芯片可包含围封于ic封装内的单个ic。举例来说,一组引脚132是第一存储器芯片104的部分,且经由布线124和作为第二存储器芯片106的部分的一组引脚134将第一存储器芯片104连接到第二存储器芯片106。布线124连接两组引脚132和134。另外,举例来说,一组引脚136是第二存储器芯片106的部分,且经由布线126和作为第三存储器芯片108的部分的一组引脚138将第二存储器芯片106连接到第三存储器芯片108。布线126连接两组引脚136和138。
65.另外,如所展示,第一存储器芯片104包含用于第二存储器芯片106的高速缓存114。并且,第二存储器芯片106包含用于第三存储器芯片108的缓冲器116以及用于第三存储器芯片108的逻辑到物理映射118。
66.用于第二存储器芯片106的高速缓存114可由处理器芯片或存储器控制器芯片(例如,参看图2中展示的处理器芯片202和图3中展示的存储器控制器芯片302)配置。第一存储器芯片104中的高速缓存114的位置和大小可通过处理器或存储器控制器芯片将对应数据写入到第一存储器芯片中而由处理器芯片或存储器控制器芯片配置。另外,第一存储器芯片104中的高速缓存114的高速缓存策略参数可通过处理器或存储器控制器芯片将对应数据写入到第一存储器芯片中而由处理器或存储器控制器芯片配置。
67.用于第三存储器芯片108的缓冲器116可由处理器芯片或存储器控制器芯片(例如,参看图2中展示的处理器芯片202和图3中展示的存储器控制器芯片302)配置。第二存储器芯片106中的缓冲器116的位置和大小可通过处理器或存储器控制器芯片例如间接地经由第一存储器芯片104将对应数据写入到第二存储器芯片中而由处理器芯片或存储器控制
器芯片配置。另外,第二存储器芯片106中的缓冲器116的缓冲器策略参数可通过处理器或存储器控制器芯片例如间接地经由第一存储器芯片104将对应数据写入到第二存储器芯片中而由处理器或存储器控制器芯片配置。
68.用于第三存储器芯片108的逻辑到物理映射118可由处理器芯片或存储器控制器芯片(例如,参看图2中展示的处理器芯片202和图3中展示的存储器控制器芯片302)配置。第二存储器芯片106中的逻辑到物理映射118的位置和大小可通过处理器或存储器控制器芯片例如间接地经由第一存储器芯片104将对应数据写入到第二存储器芯片中而由处理器芯片或存储器控制器芯片配置。另外,第二存储器芯片106中的逻辑到物理映射118的缓冲器策略参数可通过处理器或存储器控制器芯片例如间接地经由第一存储器芯片104将对应数据写入到第二存储器芯片中而由处理器或存储器控制器芯片配置。
69.在一些实施例中,第三存储器芯片108可具有串中的芯片的最低存储器带宽。在一些实施例中,第一存储器芯片104可具有串中的芯片的最高存储器带宽。在此类实施例中,第二存储器芯片106可具有串中的芯片的次最高存储器带宽,使得第一存储器芯片104具有串中的芯片的最高存储器带宽且第三存储器芯片108具有串中的芯片的最低存储器带宽。
70.在一些实施例中,第一存储器芯片104是或包含dram芯片。在一些实施例中,第一存储器芯片104是或包含nvram芯片。在一些实施例中,第二存储器芯片106是或包含dram芯片。在一些实施例中,第二存储器芯片106是或包含nvram芯片。在一些实施例中,第三存储器芯片108是或包含dram芯片。在一些实施例中,第三存储器芯片108是或包含nvram芯片。并且,在一些实施例中,第三存储器芯片108是或包含快闪存储器芯片。
71.在具有一或多个dram芯片的实施例中,dram芯片可包含用于命令和地址解码的逻辑电路以及dram的存储器单元阵列。并且,本文所描述的dram芯片可包含用于传入和/或传出数据的高速缓存或缓冲存储器。在一些实施例中,实施高速缓存或缓冲存储器的存储器单元可与托管所述高速缓存或缓冲存储器的芯片上的dram单元不同。举例来说,在dram芯片上实施高速缓存或缓冲存储器的存储器单元可以是sram的存储器单元。
72.在具有一或多个nvram芯片的实施例中,nvram芯片可包含用于命令和地址解码的逻辑电路以及例如3d xpoint存储器的单元等nvram的存储器单元阵列。另外,本文所描述的nvram芯片可包含用于传入和/或传出数据的高速缓存或缓冲存储器。在一些实施例中,实施高速缓存或缓冲存储器的存储器单元可与托管所述高速缓存或缓冲存储器的芯片上的nvram单元不同。举例来说,在nvram芯片上实施高速缓存或缓冲存储器的存储器单元可以是sram的存储器单元。
73.在一些实施例中,nvram芯片可包含非易失性存储器单元的交叉点阵列。非易失性存储器的交叉点阵列可结合可堆叠交叉网格化数据存取阵列基于体电阻的改变来执行位存储。另外,与许多基于快闪的存储器相比,交叉点非易失性存储器可执行就地写入操作,其中可在不预先擦除非易失性存储器单元的情况下对非易失性存储器单元进行编程。
74.如本文所提及,nvram芯片可以是或包含交叉点存储和存储器装置(例如,3dxpoint存储器)。交叉点存储器装置使用无晶体管存储器元件,所述无晶体管存储器元件中的每一者具有在一起堆叠成列的存储器单元和选择器。存储器元件列经由两个垂直线材层连接,其中一个层处于存储器元件列上方,且另一层处于存储器元件列下方。可在两个层中的每一层上的一个线材的交叉点处个别地选择每个存储器元件。交叉点存储器装置是快
速且非易失性的,且可用作统一存储器池以供处理和存储。
75.在具有一或多个快闪存储器芯片的实施例中,快闪存储器芯片可包含用于命令和地址解码的逻辑电路以及例如nand型快闪存储器单元等快闪存储器的存储器单元阵列。另外,本文所描述的快闪存储器芯片可包含用于传入和/或传出数据的高速缓存或缓冲存储器。在一些实施例中,实施高速缓存或缓冲存储器的存储器单元可与托管所述高速缓存或缓冲存储器的芯片上的快闪存储器单元不同。举例来说,在快闪存储器芯片上实施高速缓存或缓冲存储器的存储器单元可以是sram的存储器单元。
76.另外,举例来说,存储器芯片串的实施例可包含dram到dram到nvram,或dram到nvram到nvram,或dram到快闪存储器到快闪存储器;然而,dram到nvram到快闪存储器可针对灵活地预配存储器芯片串为多层存储器提供更有效的解决方案。
77.另外,出于本公开的目的,应理解,dram、nvram、3d xpoint存储器和快闪存储器是用于个别存储器单元的技术,且用于本文所描述的存储器芯片中的任一者的存储器芯片可包含用于命令和地址解码的逻辑电路以及dram、nvram、3d xpoint存储器或快闪存储器的存储器单元阵列。举例来说,本文所描述的dram芯片包含用于命令和地址解码的逻辑电路以及dram的存储器单元阵列。举例来说,本文所描述的nvram芯片包含用于命令和地址解码的逻辑电路以及nvram的存储器单元阵列。举例来说,本文所描述的快闪存储器芯片包含用于命令和地址解码的逻辑电路以及快闪存储器的存储器单元阵列。
78.另外,用于本文所描述的存储器芯片中的任一者的存储器芯片可包含用于传入和/或传出数据的高速缓存或缓冲存储器。在一些实施例中,实施高速缓存或缓冲存储器的存储器单元可不同于托管所述高速缓存或缓冲存储器的芯片上的单元。举例来说,实施高速缓存或缓冲存储器的存储器单元可以是sram的存储器单元。
79.图2说明根据本公开的一些实施例的经配置以提供多层存储器的灵活预配的实例存储器系统100和处理器芯片202。在图2中,处理器芯片202直接接线(例如,参看布线204)到第一存储器芯片104且经配置以与第一存储器芯片直接交互。
80.在一些实施例中,处理器芯片202包含或是soc。本文所描述的soc可以是或包含集成了计算装置中的任何两个或更多个组件的集成电路或芯片。所述两个或更多个组件可包含中央处理单元(cpu)、图形处理单元(gpu)、存储器、输入/输出端口和辅助存储装置中的至少一或多者。举例来说,本文所描述的soc还可包含单个电路裸片上的cpu、gpu、图形和存储器接口、硬盘、usb连接、随机存取存储器、只读存储器、辅助存储装置或其任何组合。另外,在处理器芯片202是soc的情况下,soc至少包含cpu和/或gpu。
81.对于本文所描述的soc,所述两个或更多个组件可嵌入在单个衬底或微芯片(芯片)上。通常,soc不同于常规的基于主板的架构,因为soc将其所有组件集成到单个集成电路中;而主板容纳和连接可拆卸或可更换组件。由于两个或更多个组件集成在单个衬底或芯片上,因此与具有等同功能的多芯片设计相比,soc功耗更低且占用的面积更小。因此,在一些实施例中,本文所描述的存储器系统可与移动计算装置(例如,在智能手机中)、嵌入式系统和物联网装置中的soc连接或可以是所述soc的一部分。
82.处理器芯片202可经配置以对用于第二存储器芯片106的高速缓存114进行配置。处理器芯片202还可经配置以通过将对应数据写入到第一存储器芯片104中来配置高速缓存114的位置和大小。处理器芯片202还可经配置以通过将对应数据写入到第一存储器芯片
104中来配置高速缓存策略参数。
83.另外,处理器芯片202可经配置以对用于第三存储器芯片108的缓冲器116和/或用于第三存储器芯片的逻辑到物理映射118进行配置。处理器芯片202还可经配置以通过将对应数据写入到第一存储器芯片104中来配置缓冲器116的位置和大小。处理器芯片202还可经配置以通过将对应数据写入到第一存储器芯片104中来配置逻辑到物理映射118的位置和大小。
84.图3说明根据本公开的一些实施例的经配置以提供多层存储器的灵活预配的实例存储器系统100和存储器控制器芯片302。在图3中,存储器控制器芯片302直接接线(例如,参看布线304)到第一存储器芯片104,且经配置以直接与第一存储器芯片交互。
85.在一些实施例中,存储器控制器芯片302包含或是soc。此类soc可以是或包含集成了计算装置中的任何两个或更多个组件的集成电路或芯片。所述两个或更多个组件可至少包含单独存储器、输入/输出端口和单独辅助存储装置中的一或多者。举例来说,soc可包含单个电路裸片上的存储器接口、硬盘、usb连接、随机存取存储器、只读存储器、辅助存储装置或其任何组合。另外,在存储器控制器芯片302是soc的情况下,所述soc至少包含数据处理单元。
86.存储器控制器芯片302可经配置以对用于第二存储器芯片106的高速缓存114进行配置。存储器控制器芯片302还可经配置以通过将对应数据写入到第一存储器芯片104中来配置高速缓存114的位置和大小。存储器控制器芯片302还可经配置以通过将对应数据写入到第一存储器芯片104中来配置高速缓存策略参数。
87.另外,存储器控制器芯片302可经配置以对用于第三存储器芯片108的缓冲器116和/或用于第三存储器芯片的逻辑到物理映射118进行配置。存储器控制器芯片302还可经配置以通过将对应数据写入到第一存储器芯片104中来配置缓冲器116的位置和大小。存储器控制器芯片302还可经配置以通过将对应数据写入到第一存储器芯片104中来配置逻辑到物理映射118的位置和大小。
88.图4说明根据本公开的一些实施例的经配置以提供具有各自包含多个存储器芯片的层的多层存储器的灵活预配的实例存储器系统400。存储器系统400包含存储器芯片群组串402。存储器芯片群组串402包含第一存储器芯片群组,所述第一存储器芯片群组包含第一类型的存储器芯片(例如,参看作为相同类型的芯片的存储器芯片404a和404b)。存储器芯片群组串402包含第二存储器芯片群组,所述第二存储器芯片群组包含第一类型的存储器芯片或第二类型的存储器芯片(例如,参看作为相同类型的芯片的存储器芯片406a和406b)。存储器芯片群组串402还包含第三存储器芯片群组,所述第三存储器芯片群组包含第一类型的存储器芯片、第二类型的存储器芯片或第三类型的存储器芯片(例如,参看作为相同类型的芯片的存储器芯片408a和408b)。第一类型的存储器芯片可以是或包含dram芯片。第二类型的存储器芯片可以是或包含nvram芯片。第三类型的存储器芯片可以是或包含快闪存储器芯片。
89.另外,如图4中所展示,第一存储器芯片群组中的芯片经由布线424直接接线到第二存储器芯片群组中的芯片,且经配置以直接与第二存储器芯片群组中的芯片中的一或多个芯片交互。另外,如图4中所展示,第二存储器芯片群组中的芯片经由布线426直接接线到第三存储器芯片群组中的芯片,且经配置以直接与第三存储器芯片群组中的芯片中的一或
多个芯片交互。
90.另外,如图4中所展示,第一存储器芯片群组中的每个芯片包含用于第二存储器芯片群组的高速缓存(例如,参看高速缓存414)。并且,第二存储器芯片群组中的每个芯片包含用于第三存储器芯片群组的缓冲器416以及用于第三存储器芯片群组的逻辑到物理映射418。
91.在一些实施例中,第三存储器芯片群组中的每个芯片(例如,参看存储器芯片408a和408b)可相对于存储器芯片群组串402中的其它芯片具有最低存储器带宽。在一些实施例中,第一存储器芯片群组中的每个芯片(例如,参看存储器芯片404a和404b)可相对于存储器芯片群组串402中的其它芯片具有最高存储器带宽。在此类实施例中,第二存储器芯片群组中的每个芯片(例如,参看存储器芯片406a和406b)可相对于存储器芯片群组串402中的其它芯片具有次最高存储器带宽,使得第一存储器芯片群组中的每个芯片具有最高存储器带宽并且第三存储器芯片群组中的每个芯片具有最低存储器带宽。
92.在一些实施例中,第一存储器芯片群组(例如,参看存储器芯片404a和404b)可包含dram芯片或nvram芯片。在一些实施例中,第二存储器芯片群组(例如,参看存储器芯片406a和406b)可包含dram芯片或nvram芯片。在一些实施例中,第三存储器芯片群组(例如,参看存储器芯片408a和408b)可包含dram芯片、nvram芯片或快闪存储器芯片。
93.如图1到4中展示,本公开涉及存储器芯片串(例如,参看图1到3中展示的存储器芯片串102或图4中展示的存储器芯片群组串402)的灵活预配。并且,存储器芯片串的灵活预配形成存储器(例如,参看图2中展示的存储器系统100或图4中展示的存储器系统400)。
94.本文所公开的存储器系统,例如,存储器系统100或400,可以是其自身的设备或在其自身的封装内。
95.在一些实施例中,本文公开的存储器系统,例如存储器系统100或400,可与处理器芯片或soc组合且用于处理器芯片或soc(例如,参看图2)。当与处理器芯片或soc组合且用于处理器芯片或soc时,存储器系统和处理器芯片或soc可以是单个设备的部分和/或组合成单个封装。
96.另外,在一些实施例中,本文公开的存储器系统,例如存储器系统100或400,可与存储器控制器芯片(例如,参看图3)组合。当与存储器控制器芯片组合时,存储器系统和存储器控制器芯片可以是单个设备的部分和/或组合成单个封装。替代地,芯片串中的每个芯片,或至少第一存储器芯片和第二存储器芯片,可包含提供与图3中展示的存储器控制器芯片类似的功能的相应存储器控制器。
97.从接线到存储器的处理器芯片或soc(例如,参看图2中展示的处理器芯片202)或存储器控制器芯片(例如,参看图3中展示的存储器控制器芯片302)的角度,存储器的存储器芯片串看起来与单存储器芯片实施方案无异;然而,通过灵活预配,使用存储器芯片串的益处得以实现。在此类实施例中,处理器芯片或soc
‑‑
或存储器控制器芯片
‑‑
可直接接线(例如,参看图2中展示的布线204或图3中展示的布线304)到存储器芯片串102中的第一存储器芯片(例如,参看第一存储器芯片104),且可与第一存储器芯片交互而无需感知串中在第一存储器芯片下游的存储器芯片(例如,参看在第一存储器芯片104下游的第二存储器芯片106和第三存储器芯片108)。
98.在存储器(例如,参看存储器系统100或400)中,第一存储器芯片(例如,参看第一
存储器芯片104或存储器芯片404a或404b中的一者)可直接接线到第二存储器芯片(例如,参看第二存储器芯片106或存储器芯片406a或406b中的一者)且可与第二存储器芯片交互,使得处理器芯片、soc或存储器控制器芯片(例如,参看处理器芯片202和存储器控制器芯片302)获得第一和第二存储器芯片的串的益处而无需感知第二存储器芯片。并且,第二存储器芯片(例如,参看第一存储器芯片104或存储器芯片404a或404b中的一者)可直接接线到第三存储器芯片(例如,参看第三存储器芯片108或存储器芯片408a或408b中的一者)诸如此类,使得处理器芯片、soc或存储器控制器芯片获得多个存储器芯片的串(例如,参看存储器芯片串102或存储器芯片群组串402)的益处而无需感知在第一存储器芯片下游的多个存储器芯片且与之交互。另外,在一些实施例中,串中的每个芯片感知所述串中的紧邻上游芯片和下游芯片且与其交互,而无需感知所述串中的更上游或下游的芯片。
99.如所提及,通过灵活预配,可实现使用具有存储器层级的存储器芯片串的益处。因此,举例来说,在一些实施例中,串中的第一存储器芯片(例如,参看第一存储器芯片104)可以是存储器中具有最高存储器带宽的芯片。串中紧接在第一芯片下游的第二存储器芯片(例如,参看第二存储器芯片106)可以是存储器的具有次最高存储器带宽的芯片(其可具有其它益处,例如比第一芯片的制造更便宜或在存储数据方面比第一芯片更可靠或持久)。串中紧接在第二芯片下游的第三存储器芯片(例如,参看第三存储器芯片108)(或在串具有多于三个存储器芯片的情况下,串中的最终下游芯片)可具有最低存储器带宽。此类实例中的第三存储器芯片(或在具有多于三个存储器芯片的其它实例中的最终下游芯片)可以是用于存储数据的最有成本效益的芯片或最可靠或持久的芯片。
100.在一些实施例中,串中的第一存储器芯片可以是dram芯片。在此类实施例中,在串中紧接在第一芯片下游的第二存储器芯片可以是nvram芯片(例如,3d xpoint存储器芯片)。并且,在此类实施例中,在串中紧接在第二芯片下游的第三存储器芯片可以是快闪存储器芯片(例如,nand型快闪存储器芯片)。
101.如所提及,为了理解此处所公开的存储器芯片串的灵活预配,实例通常涉及三芯片存储器芯片串(例如,参看图1到3中展示的存储器芯片串102和图4中展示的存储器芯片群组串402);然而,应理解,存储器芯片串可包含多于三个存储器芯片或多于三个芯片群组,其中每个群组是一层芯片。
102.如所提及,存储器芯片串的一些实施例可包含作为串中的第一芯片的dram存储器芯片、作为串中的第二芯片的nvram芯片,以及作为串中的第三芯片且可用作串中的大容量存储器芯片的快闪存储器芯片(例如,nand型快闪存储器芯片)。在此类实施例中以及在具有存储器芯片类型的其它布置的其它实施例中,存储器芯片串中的每个芯片经由布线(例如,pcie或sata)连接到紧邻的下游和/或上游芯片。存储器芯片串中的芯片之间的每个连接可通过布线顺序地连接,且所述连接可彼此分开(例如,参看布线124和126以及布线424和426)。另外,存储器芯片串中的每个芯片可包含用于连接到串中的上游芯片和/或下游芯片的一或多组引脚(例如,参看图1所描绘的多组引脚132、134、136和138)。在一些实施例中,存储器芯片串(例如,参看存储器芯片串102或存储器芯片群组串402)中的每个芯片可包含围封于ic封装内的单个ic。在此类实施例中,ic封装可包含处于封装的边界上的多组引脚(例如多组引脚132、134、136和138)。
103.用于处理器芯片或soc的存储器的存储器芯片串中的第一存储器芯片(例如,dram
芯片)可包含可例如由处理器芯片或soc配置为用于串中的第二存储器芯片(例如,nvram芯片)的高速缓存(例如,参看用于第二存储器芯片的高速缓存114)的部分。第一存储器芯片中的存储器单元的一部分可用作用于第二存储器芯片的高速缓存存储器。
104.用于处理器芯片或soc的存储器的存储器芯片串中的第二存储器芯片可包含可例如直接由第一存储器芯片和间接由处理器芯片或soc配置为用于存取串中的第三存储器芯片(例如,快闪存储器芯片)的缓冲器(例如,参看用于第三存储器芯片的缓冲器116)的部分。第二存储器芯片中的存储器单元的一部分可用作用于存取第三存储器芯片的缓冲器。另外,第二存储器芯片可包含可例如直接由第一存储器芯片和间接由处理器芯片或soc配置为用于逻辑到物理地址映射的表(逻辑到物理表)或一般的逻辑到物理地址映射(例如,参看逻辑到物理映射118)的部分。第二存储器芯片中的存储器单元的一部分可用于逻辑到物理地址映射。
105.用于处理器芯片或soc的存储器的存储器芯片串中的第三存储器芯片可包含控制器(例如,参看控制器128),所述控制器可使用第二存储器芯片中的逻辑到物理地址映射来管理第三存储器芯片的转换层(例如,快闪转换层功能)(例如,参看转换层130)。第三存储器芯片的转换层可包含逻辑到物理地址映射,例如第二存储器芯片中的逻辑到物理地址映射的副本或衍生本(derivative)。
106.另外,在一些实施例中,连接到存储器的处理器芯片或soc(例如,参看处理器芯片202)可通过将数据写入到第一存储器芯片(例如,参看第一存储器芯片104)中来配置第一存储器芯片中的高速缓存的位置和大小、第二存储器芯片中的缓冲器和逻辑到物理地址映射以及第一芯片中的高速缓存策略参数(例如,透写与回写)。并且,处理器芯片或soc进行的前述配置和设置可委托给第二数据处理芯片,使得此类任务从处理器芯片或soc移除(例如,参看图3中展示的存储器控制器芯片302)。举例来说,具有存储器芯片串的存储器可具有与处理器芯片或soc分开的专用控制器,所述专用控制器经配置以提供且控制所述存储器的前述配置和设置(例如,参看存储器控制器芯片302)。
107.出于本公开的目的,应理解,存储器芯片串中的存储器芯片可替换为类似存储器芯片的群组,使得串包含类似芯片的群组串(例如,参看图4中展示的存储器芯片群组串402)。在此类实例中,类似芯片的每个群组是串中的节点。另外,在一些实施例中,存储器芯片串的节点可由单芯片节点和多芯片节点的组合构成(附图中未描绘)。举例来说,在存储器芯片串中,第一存储器芯片(例如,dram芯片)可替换为类似存储器芯片的群组(例如,dram芯片群组),第二存储器芯片(例如,nvram芯片)可替换为类似存储器芯片的群组(例如,nvram芯片群组),第三存储器芯片(例如,快闪存储器芯片)可替换为类似存储器芯片的群组(例如,快闪存储器芯片群组),或其某一组合。
108.图5说明根据本公开的一些实施例的实例计算装置500的实例部分。计算装置500可经由图5中展示的计算机网络502以通信方式耦合到其它计算装置。计算装置500至少包含总线504、处理器506(例如cpu和/或图2中展示的处理器芯片202)、主存储器508、网络接口510和数据存储系统512。总线504以通信方式耦合处理器506、主存储器508、网络接口510和数据存储系统512。计算装置500包含计算机系统,所述计算机系统至少包含处理器506、主存储器508(例如,只读存储器(rom)、快闪存储器、例如同步dram(sdram)或rambus dram(rdram)等dram、nvram、sram等)以及数据存储系统512,它们经由总线504(其可包含多个总
线和布线)彼此通信。
109.主存储器508可包含图1中描绘的存储器系统100。另外,主存储器508可包含图4中描绘的存储器系统400。在一些实施例中,数据存储系统512可包含图1中描绘的存储器系统100。并且,数据存储系统512可包含图4中描绘的存储器系统400。
110.处理器506可表示一或多个通用处理装置,例如微处理器、中央处理单元等。处理器506可以是或包含图2中描绘的处理器202。处理器506可以是复杂指令集计算(cisc)微处理器、精简指令集计算(risc)微处理器、超长指令字(vliw)微处理器,或实施其它指令集的处理器,或实施指令集的组合的处理器。处理器506还可以是一或多个专用处理装置,例如专用集成电路(asic)、现场可编程门阵列(fpga)、数字信号处理器(dsp)、网络处理器、存储器中的处理器(pim)等。处理器506可经配置以执行指令以用于执行本文中所论述的操作和步骤。处理器506可进一步包含网络接口装置,例如网络接口510,以通过例如网络502之类的一或多个通信网络进行通信。
111.数据存储系统512可包含机器可读存储媒体(也称为计算机可读媒体),其上存储有体现本文所描述的任何一或多个方法或功能的一或多个指令集或软件。指令还可在其由计算机系统执行的期间完全或至少部分地驻存在主存储器508内和/或处理器506内,主存储器508和处理器506也构成机器可读存储媒体。
112.虽然存储器、处理器以及数据存储装置部分在实例实施例中各自展示为单个部分,但每个部分都应被认为包含可存储指令且执行其相应操作的单个部分或多个部分。术语“机器可读存储媒体”还应被认为包含能够存储或编码供机器执行且使机器执行本公开的任何一或多个方法的指令集的任何媒体。因此,应认为术语“机器可读存储媒体”包含但不限于固态存储器、光学媒体以及磁性媒体。
113.返回参考具有数据移动器的存储器芯片,图6说明根据本公开的一些实施例的包含具有集成数据移动器608的存储器芯片602的实例系统600。在图6中,存储器芯片602包含第一组引脚604,所述第一组引脚经配置以允许存储器芯片602经由第一布线634耦合到第一微芯片或装置624。还展示第一微芯片或装置624具有一组引脚605,此组引脚经配置以允许第一微芯片或装置624经由第一布线634耦合到存储器芯片602。存储器芯片602还包含第二组引脚606,所述第二组引脚经配置以允许存储器芯片602经由与第一布线634分开的第二布线636耦合到第二微芯片或装置626。还展示第二微芯片或装置626具有一组引脚607,此组引脚经配置以允许第二微芯片或装置626经由第二布线636耦合到存储器芯片602。存储器芯片602还包含数据移动器608,所述数据移动器经配置以促进经由第二组引脚606存取第二微芯片或装置626以从第二微芯片或装置626读取数据以及将数据写入到第二微芯片或装置626。
114.通常,数据移动器608可使用各种策略将存储在存储器芯片602中的数据沿路组合到第二微芯片或装置626。这可提高第二微芯片或装置626的写入性能和耐久性。举例来说,存储器芯片上的顺序存取或块存取比存储器芯片上的随机存取快几个数量级。在一些实施例中,存储在存储器芯片602的存储器部分610中的数据可由或通过第一微芯片或装置624经由第一组引脚604存取。并且,在此类实施例中,数据移动器608经配置以通过将数据按块移动到第二微芯片或装置626来组合存储在存储器芯片602的存储器部分610中的数据。因此,第二微芯片或装置626的写入性能和耐久性得到提高。
115.另外,在此类实施例和其它实施例中,所述块可处于比存储在存储器芯片602的存储器部分610中的数据更粗的粒度。粒度比存储器芯片602中预分块的数据(例如待由第一微芯片或装置存取的数据)粗的块可降低数据写入到第二微芯片或装置的频率。
116.在一些实施例中,例如图6中展示,存储在存储器芯片602的存储器部分610中的数据可由或通过第一微芯片或装置624经由第一组引脚604存取。另外,当存储在存储器芯片602的存储器部分610中的数据可通过第一微芯片或装置624存取时,所述数据正被另一存储器芯片或装置或处理器芯片或装置存取(未在图6中描绘,但在图2和3中在某一程度上展示,其中第二存储器芯片106充当存储器芯片602)。并且,第一微芯片或装置624可从存储器芯片602读取数据且将数据写入到存储器芯片602。
117.在一些实施例中,例如图6中展示,存储在第二微芯片或装置626的存储器部分630中的数据可由或通过存储器芯片602经由第二组引脚606存取。另外,当存储在第二微芯片或装置626的存储器部分630中的数据可通过存储器芯片602存取时,所述数据正被另一存储器芯片或装置或处理器芯片或装置(例如第一微芯片或装置624)存取。并且,存储器芯片602可从第二微芯片或装置626读取数据以及将数据写入到第二微芯片或装置626。
118.在一些实施例中,例如图6中展示,数据移动器608经配置以缓冲对存储在存储器芯片602的存储器部分610中的数据的改变的移动。另外,归因于数据移动器608进行的缓冲,数据移动器608还经配置而以合适的大小向第二微芯片或装置626发送写入请求。
119.当对第二微芯片或装置626的写入因数据移动器608进行的缓冲而处于合适的大小时,所述第二微芯片或装置可在第二微芯片或装置中根据所述写入擦除块且对块进行编程,而无需在第二微芯片或装置中进行进一步处理或最小处理。这是集成在存储器芯片602中的数据移动器608可提高第二微芯片或装置的写入性能和耐久性的一个实例方式。另外,通过数据移动器608进行的缓冲,且当对存储器芯片602的一部分中的数据(例如第一微芯片或装置可存取的存储器部分610中的数据)作出频繁和/或随机改变时,不必以与存储器芯片602中发生的改变对应的方式频繁地擦除和重新编程第二微芯片或装置626。
120.当第二微芯片或装置626是快闪存储器芯片时,数据移动器608进行的缓冲更加有益,因为缓冲可消除或至少限制快闪存储器中发生的写入放大效应。通过缓冲可减少甚至消除写入放大,因为通过缓冲,存储器芯片602发送的写请求可被修改到接收方快闪存储器芯片预期的合适大小或粒度。因此,快闪存储器芯片可根据写入请求擦除块且对块进行编程,而不对写入进行可能的重复,且因此避免在第二微芯片或装置626中进行进一步处理。
121.另外,数据移动器608可经配置以将改变的地址捆绑到对存储在存储器芯片602的存储器部分610中的数据的改变中。并且,数据移动器608可经配置以经由到第二微芯片或装置626的写入请求将捆绑的改变的地址写入到存储器芯片602的另一部分中以移动到第二微芯片或装置626。数据移动器608进行的捆绑可改进数据移动器进行的缓冲以及根据缓冲对写入请求的发送,因为数据移动器可控制改变的地址的捆绑以对应于接收方第二微芯片或装置626预期的合适大小或粒度。
122.在一些实施例中,例如图6中所展示,存储器芯片602包含用于第二微芯片或装置626的逻辑到物理映射612,所述逻辑到物理映射可经配置以使用捆绑的改变的地址作为输入。
123.图7说明根据本公开的一些实施例的实例系统700,其包含图6中展示的存储器芯
片602以及接收从数据移动器传送的数据且具有用于映射接收到的数据的逻辑到物理映射(例如,参看逻辑到物理映射712)的微芯片或装置。系统700类似于系统600,不同之处在于在系统700中,在第二微芯片或装置626中提供用于第二微芯片或装置626的逻辑到物理映射712。这代替了在存储器芯片602上提供用于第二微芯片或装置的逻辑到物理映射(例如,参看图6中所描绘的逻辑到物理映射612)。
124.在类似于系统700的实施例中,第二微芯片或装置626包含用于自身的逻辑到物理映射712。并且,逻辑到物理映射712经配置以在对第二微芯片或装置626的写入请求中从存储器芯片602的数据移动器608发送捆绑的改变的地址后使用所述捆绑的改变的地址作为输入。换句话说,一旦第二微芯片或装置626在对第二微芯片或装置626的写入请求中从存储器芯片602的数据移动器608接收到捆绑的改变的地址,逻辑到物理映射712经配置以使用所述捆绑的改变的地址作为输入。
125.图8说明根据本公开的一些实施例的包含图6中展示的存储器芯片602的实例系统800,还展示所述存储器芯片具有加密和认证电路系统(例如,参看加密引擎802和网守804)。如图8中所展示,在一些实施例中,存储器芯片602包含加密引擎802,所述加密引擎经配置以保护要移动到第二微芯片或装置626以供长期存储的数据。另外,如所展示,在此类实施例中,存储器芯片602包含网守804,所述网守经配置以针对存储在第二微芯片或装置626中的受保护数据的存取提供认证过程。另外,网守804可经配置以根据认证过程对受保护数据进行解密。在一些其它实施例中,加密引擎可被托管在另一芯片或装置上,而不是托管在存储器芯片602上。
126.图7和8还描绘了图6中说明的其它组件。举例来说,图7和8描绘了存储器芯片602,所述存储器芯片包含第一组引脚604,所述第一组引脚经配置以允许存储器芯片602经由第一布线634耦合到第一微芯片或装置624。还在图7和8中展示,第一微芯片或装置624具有一组引脚605,此组引脚经配置以允许第一微芯片或装置624经由第一布线634耦合到存储器芯片602。还在图7和8中展示,存储器芯片602还包含第二组引脚606,所述第二组引脚经配置以允许存储器芯片602经由与第一布线634分开的第二布线636耦合到第二微芯片或装置626。还展示第二微芯片或装置626具有一组引脚607,此组引脚经配置以允许第二微芯片或装置626经由第二布线636耦合到存储器芯片602。存储器芯片602还包含数据移动器608,所述数据移动器经配置以促进经由第二组引脚606存取第二微芯片或装置626以从第二微芯片或装置626读取数据以及将数据写入到第二微芯片或装置626。
127.关于图6到8中展示的系统,存储器芯片602可以是nvram芯片,且在此类实施例中,存储器芯片602包含多个nvram单元。在此类实例中,所述多个nvram单元可以是或包含多个3d xpoint存储器单元。替代地,存储器芯片602可以是动态dram芯片,且在此类实施例中,存储器芯片602包含多个dram单元。另外,存储器芯片602可以是快闪存储器芯片,且在此类实施例中,存储器芯片602包含多个快闪存储器单元。在此类实施例中,所述多个快闪存储器单元可以是或包含多个nand型快闪存储器单元。
128.第二微芯片或装置626可以是另一存储器芯片或存储器装置。在一些实施例中,例如,第二微芯片或装置626是dram芯片。在一些实施例中,例如,第二微芯片或装置626是nvram芯片。在一些实施例中,例如,第二微芯片或装置626是快闪存储器芯片(例如,nand型快闪存储器芯片)。
129.一些实施例可包含一种系统,其具有中间存储器芯片(例如,参看图6中展示的存储器芯片602)、第一存储器芯片(例如,参看第一微芯片或装置624)和第二存储器芯片(例如,参看第二微芯片或装置626)。并且,在此类实施例中,中间存储器芯片包含第一组引脚(例如,参看第一组引脚604),所述第一组引脚经配置以允许中间存储器芯片经由第一布线(例如,参看布线634)耦合到第一存储器芯片。中间存储器芯片还可包含第二组引脚(例如,参看第二组引脚606),所述第二组引脚经配置以允许中间存储器芯片经由与第一布线分开的第二布线(例如,参看布线636)耦合到第二存储器芯片。并且,中间存储器芯片可包含数据移动器(例如,参看数据移动器608),所述数据移动器经配置以促进经由第二组引脚存取第二存储器芯片以从第二存储器芯片读取数据以及将数据写入到第二存储器芯片。
130.在此类实施例中,中间存储器芯片可以是nvram芯片,其中所述nvram芯片包含多个nvram单元。替代地,中间存储器芯片可以是dram芯片,其中所述dram芯片包含多个dram单元。在此类实例中,所述多个nvram单元可以是或包含多个3d xpoint存储器单元。
131.另外,在此类实施例中,第二存储器芯片可以是快闪存储器芯片,其中所述快闪存储器芯片包含多个快闪存储器单元。在此类实施例中,所述多个快闪存储器单元可以是或包含多个nand型快闪存储器单元。替代地,第二存储器芯片可以是nvram芯片,其中所述nvram芯片包含多个nvram单元。在此类实例中,所述多个nvram单元可以是或包含多个3d xpoint存储器单元。另外,第二存储器芯片可以是dram芯片,其中所述dram芯片包含多个dram单元。
132.另外,在此类实施例中,第一存储器芯片可以是dram芯片,其中所述dram芯片包含多个dram单元。替代地,第一存储器芯片可以是nvram芯片,其中所述nvram芯片包含多个nvram单元。在此类实例中,所述多个nvram单元可以是或包含多个3d xpoint存储器单元。
133.一些实施例可包含一种系统,其具有中间存储器芯片(例如,参看图6中展示的存储器芯片602)、第二存储器芯片(例如,参看第二微芯片或装置626)和处理器芯片,例如soc(例如,参看第一微芯片或装置624)。在此类实施例中,中间存储器芯片包含第一组引脚(例如,参看第一组引脚604),所述第一组引脚经配置以允许中间存储器芯片经由第一布线(例如,参看布线634)耦合到处理器芯片。另外,中间存储器芯片还可包含第二组引脚(例如,参看第二组引脚606),所述第二组引脚经配置以允许中间存储器芯片经由与第一布线分开的第二布线(例如,参看布线636)耦合到第二存储器芯片。并且,中间存储器芯片可包含数据移动器(例如,参看数据移动器608),所述数据移动器经配置以促进经由第二组引脚和第二布线存取第二存储器芯片以从第二存储器芯片读取数据以及将数据写入到第二存储器芯片。
134.在一些实施例中,存储器芯片602的一或多个实例(例如图6到8中展示的存储器芯片602的不同实例)可作为一或多个存储器芯片用于灵活预配图1到3中展示的存储器芯片串102。另外,存储器芯片602的一或多个实例可作为一或多个存储器芯片用于灵活预配图4中展示的存储器芯片串402。
135.另外,在图1到3中展示的存储器芯片串102中可包含具有中间存储器芯片(例如,参看图6中展示的存储器芯片602)、第一存储器芯片(例如,参看第一微芯片或装置624)和第二存储器芯片(例如,参看第二微芯片或装置626)的系统。举例来说,存储器芯片602可以是或包含第二存储器芯片106,第一微芯片或装置624可以是或包含第一存储器芯片104,且
第二微芯片或装置626可以是或包含第三存储器芯片108。
136.在一些实施例中,存储器芯片602可以是或包含存储器芯片串102中的第一存储器芯片104。在此类实施例中,例如,第一微芯片或装置624可以是或包含图2中展示的处理器芯片202或图3中展示的存储器控制器芯片302。另外,在此类实施例中,第二微芯片或装置626可以是或包含存储器芯片串102中的第二存储器芯片106。
137.在一些实施例中,在图5中展示的主存储器508和/或数据存储系统512中可包含系统600、700和800中的任何一或多者。在此类实施例和其它实施例中,第一微芯片或装置624可以是处理器506、可以是所述处理器的一部分,或包含所述处理器。
138.类似于存储器芯片602,本文中描述的任何其它存储器芯片(例如,参看存储器芯片104、106和108)可包含加密引擎和/或认证网守以用于保护移动到所述存储器芯片或通过所述存储器芯片移动的数据(例如,参看图8中展示的加密引擎802和网守804)。另外,类似于存储器芯片602,本文中描述的任何其它存储器芯片(例如,参看存储器芯片104、106和108)可包含数据移动器,例如数据移动器608。
139.返回参考具有用于数据移动的可编程引擎的存储器芯片,图9说明根据本公开的一些实施例的包含第一存储器芯片902的实例系统900,所述第一存储器芯片具有用于数据移动的可编程引擎910以及到处理器芯片924(例如,soc)和第二存储器芯片926的直接连接。
140.在图9中,第一存储器芯片902包含第一组引脚904,所述第一组引脚经配置以允许第一存储器芯片902经由第一布线934耦合到处理器芯片924。还展示处理器芯片924具有一组引脚905,此组引脚经配置以允许处理器芯片924经由第一布线934耦合到第一存储器芯片902。第一存储器芯片902还包含第二组引脚906,所述第二组引脚经配置以允许第一存储器芯片902经由与第一布线934分开的第二布线936耦合到第二存储器芯片926。还展示第二存储器芯片926具有一组引脚907,此组引脚经配置以允许第二存储器芯片926经由第二布线936耦合到第一存储器芯片902。第一存储器芯片902还包含预定义存储器区908,所述预定义存储器区经配置以存储经由各组引脚904和905以及布线934从处理器芯片924传输的程序数据。第一存储器芯片902还包含可编程引擎910,所述可编程引擎经配置以促进对第二存储器芯片926的存取以根据存储在预定义存储器区908中的程序数据从第二存储器芯片926读取数据以及将数据写入到第二存储器芯片926。对第二存储器芯片926的存取经由多组引脚906和907以及布线936发生。
141.如图9中所展示,预定义存储器区908可包含被配置为用于可编程引擎910的命令队列912的部分。在此类实施例中,可编程引擎910可经配置以根据命令队列912来促进对第二存储器芯片926的存取。存储在预定义存储器区908中的程序数据的一部分可经配置以控制命令队列912。另外,第一存储器芯片902可包含存储器部分914,所述存储器部分经配置以存储要移动到第二存储器芯片926的数据。存储在存储器部分914中的数据可根据命令队列912移动到第二存储器芯片926。存储在存储器部分914中的数据可由处理器芯片924经由多组引脚904和905以及布线934写入到所述部分。
142.可编程引擎910可经配置以促进经由多组引脚906和907以及布线936存取第二存储器芯片926,以从第二存储器芯片926读取数据以及将数据写入到第二存储器芯片926。存储在第二存储器芯片926的存储器部分930中的数据可由或通过具有可编程引擎910的第一
存储器芯片902存取。当通过第一存储器芯片902可存取存储在第二存储器芯片926的存储器部分930中的数据时,所述数据被处理器芯片924存取。第一存储器芯片902可经由多组引脚906和907以及布线936从第二存储器芯片926的存储器部分930读取数据以及将数据写入到第二存储器芯片926的存储器部分930。
143.在一些实施例中,第一存储器芯片902可以是或包含nvram芯片,所述nvram芯片包含多个nvram单元。所述多个nvram单元可以是或包含多个3d xpoint存储器单元。在一些实施例中,第一存储器芯片902可以是或包含dram芯片,所述dram芯片包含多个dram单元。在一些实施例中,第一存储器芯片902可以是或包含快闪存储器芯片,所述快闪存储器芯片包含多个快闪存储器单元。所述多个快闪存储器单元可以是或包含多个nand型快闪存储器单元。
144.在一些实施例中,第二存储器芯片926可以是或包含nvram芯片,所述nvram芯片包含多个nvram单元。所述多个nvram单元可以是或包含多个3d xpoint存储器单元。在一些实施例中,第二存储器芯片926可以是或包含快闪存储器芯片,所述快闪存储器芯片包含多个快闪存储器单元。所述多个快闪存储器单元可以是或包含多个nand型快闪存储器单元。
145.图10说明根据本公开的一些实施例的包含图9中展示的第一存储器芯片902的实例系统1000,所述第一存储器芯片具有可编程引擎910、到第二存储器芯片926的直接连接和经由总线1004到处理器芯片924的连接。总线1004可以是图5中展示的总线504、包含所述总线或被包含在所述总线中。另外,系统1000包含图9中展示的第二存储器芯片926。
146.在图10中,展示第一存储器芯片902包含第二组引脚906,所述第二组引脚经配置以允许第一存储器芯片902经由第二布线936耦合到第二存储器芯片926。还展示具有一组引脚907的第二存储器芯片926,此组引脚经配置以允许第二存储器芯片926经由第二布线936耦合到第一存储器芯片902。在图10中,还展示第一存储器芯片902,其包含预定义存储器区908、可编程引擎910以及被配置为用于可编程引擎910的命令队列912的部分。然而,在图10中展示的实施例中,存储在存储器部分914中的数据可由处理器芯片924经由总线1004写入到所述部分。同样在图10中展示与第一存储器芯片902分开的第三存储器芯片1002。第三存储器芯片1002经由总线1004耦合到处理器芯片924。
147.类似于图9中展示的实施例,在图10中展示的系统1000中,可编程引擎910可经配置以促进经由多组引脚906和907以及布线936存取第二存储器芯片926,以从第二存储器芯片926读取数据以及将数据写入到第二存储器芯片926。存储在第二存储器芯片926的存储器部分930中的数据可由或通过具有可编程引擎910的第一存储器芯片902存取。然而,当存储在第二存储器芯片926的存储器部分930中的数据可通过第一存储器芯片902存取时,所述数据由处理器芯片924经由总线1004存取。
148.类似于图9中展示的实施例,在图10中展示的系统1000中,第一存储器芯片902可经由多组引脚906和907以及布线936从第二存储器芯片926的存储器部分930读取数据以及将数据写入到第二存储器芯片926的存储器部分930。然而,在系统1000中,第一存储器芯片902(或处理器芯片924)经由总线1004从第三存储器芯片1002的存储器部分读取数据,以及经由总线1004将数据写入到第三存储器芯片1002的存储器部分。
149.在一些实施例中,第三存储器芯片1002可以是或包含nvram芯片,所述nvram芯片包含多个nvram单元。所述多个nvram单元可以是或包含多个3d xpoint存储器单元。在一些
实施例中,第三存储器芯片1002可以是或包含dram芯片,所述dram芯片包含多个dram单元。在一些实施例中,第三存储器芯片1002可以是或包含快闪存储器芯片,所述快闪存储器芯片包含多个快闪存储器单元。所述多个快闪存储器单元可以是或包含多个nand型快闪存储器单元。
150.图11说明根据本公开的一些实施例的包含图9中展示的第一存储器芯片902的实例系统1100,所述第一存储器芯片具有可编程引擎910以及到第二存储器芯片926和第三存储器芯片1102的直接连接。在图11中,第一存储器芯片902在第二存储器芯片926与第三存储器芯片1102之间且将所述第二存储器芯片与所述第三存储器芯片分开。系统1100包含处理器芯片1112,所述处理器芯片可以是soc、包含soc或被包含在soc中。处理器芯片1112直接连接到第三存储器芯片1102。第三存储器芯片1102直接连接到处理器芯片1112和第一存储器芯片902。并且,第三存储器芯片1102在第一存储器芯片902与处理器芯片1112之间且将所述第一存储器芯片与所述处理器芯片分开。换句话说,在四个微芯片串中,处理器芯片1112是第一节点,第三存储器芯片1102是第二节点,第一存储器芯片902是第三节点,且第二存储器芯片926是第四节点。
151.在图11中,第一存储器芯片902包含一组引脚1104,此组引脚经配置以允许第一存储器芯片902经由布线1106耦合到第三存储器芯片1102。还展示,第三存储器芯片1102具有一组引脚1105,此组引脚经配置以允许第三存储器芯片1102经由布线1106耦合到第一存储器芯片902。类似于图9和10中展示的实施例,第一存储器芯片902还包含第二组引脚906,所述第二组引脚经配置以允许第一存储器芯片902经由与布线1106分开的第二布线936耦合到第二存储器芯片926。还展示,第三存储器芯片1102具有一组引脚1108,此组引脚经配置以允许第三存储器芯片1102经由布线1110耦合到处理器芯片1112。并且,处理器芯片1112具有一组引脚1109,此组引脚经配置以允许处理器芯片112经由布线1110耦合到第三存储器芯片1102。
152.在一些实施例中,第三存储器芯片1102可以是或包含nvram芯片,所述nvram芯片包含多个nvram单元。所述多个nvram单元可以是或包含多个3d xpoint存储器单元。在一些实施例中,第三存储器芯片1102可以是或包含dram芯片,所述dram芯片包含多个dram单元。
153.换句话说,系统1100包含呈微芯片串的第一存储器芯片902、第二存储器芯片926、第三存储器芯片1102和处理器芯片1112。在微芯片串中,处理器芯片1112经由第三存储器芯片1102连接到第一存储器芯片902。并且,第一存储器芯片902处于第二存储器芯片与第三存储器芯片之间。第一存储器芯片902包含预定义存储器区908,所述预定义存储器区经配置以存储经由第三存储器芯片1102从处理器芯片1112传输的程序数据。第一存储器芯片902还包含可编程引擎910,所述可编程引擎经配置以促进对第二存储器芯片926的存取以根据存储在预定义存储器区908中的程序数据从第二存储器芯片926读取数据以及将数据写入到第二存储器芯片926。处理器芯片1112可经配置以经由第三存储器芯片1102通过将数据写入第一存储器芯片902中的预定义存储器区908中而对可编程引擎910进行编程。
154.另外,如图11中展示,第三存储器芯片1102可包含用于第一存储器芯片902的高速缓存1114。在此类实施例中,处理器芯片1112可经配置以经由用于第一存储器芯片902的高速缓存1114通过在预定义存储器区908中写入数据而对可编程引擎910进行编程。
155.总的来说,关于图9到11中展示的实施例以及其它实施例,第一存储器芯片902包
含经配置以存储从微芯片(例如,参看图9到10中展示的处理器芯片924和图11中展示的第三存储器芯片1102)传输的程序数据的预定义存储器区908。第一存储器芯片902还包含可编程引擎910,所述可编程引擎经配置以促进对第二存储器芯片926的存取以根据存储在预定义存储器区908中的程序数据从第二存储器芯片926读取数据以及将数据写入到第二存储器芯片926。在此类实施例中,预定义存储器区908可包含被配置为用于可编程引擎910的命令队列912的部分,且可编程引擎910可经配置以促进根据命令队列912对第二存储器芯片926的存取。另外,第一存储器芯片902可包含存储在预定义存储器区908中的程序数据的一部分,所述部分经配置以控制命令队列912。第一存储器芯片902还可包含经配置以存储要移动到第二存储器芯片926的数据的存储器部分914,且存储在存储器部分914中的数据可根据命令队列912移动。
156.总的来说,关于图9到11中展示的实施例以及其它实施例,例如系统900、1000或1100中的一者的系统包含第一存储器芯片902、第二存储器芯片926和微芯片(例如,参看图9到10中展示的处理器芯片924和图11中展示的第三存储器芯片1102)。在此类实施例中,第一存储器芯片902包含经配置以存储从微芯片传输的程序数据的预定义存储器区908,以及经配置以促进对第二存储器芯片926的存取以根据存储在预定义存储器区908中的程序数据从第二存储器芯片926读取数据以及将数据写入到第二存储器芯片926的可编程引擎910。微芯片经配置以通过在第一存储器芯片902中的预定义存储器区908中写入数据而对可编程引擎910进行编程。类似地,在此类实施例中,预定义存储器区908可包含被配置为用于可编程引擎910的命令队列912的部分,且可编程引擎910可经配置以促进根据所述命令队列912对第二存储器芯片926的存取。另外,存储在预定义存储器区908中的程序数据的一部分可经配置以控制命令队列912。并且,第一存储器芯片902可包含经配置以存储要移动到第二存储器芯片926的数据的存储器部分914,且存储在存储器部分914中的数据可根据命令队列912移动。
157.在此类实施例中,微芯片是处理器芯片(例如,参看处理器芯片924)或第三存储器芯片(例如,参看第三存储器芯片1102)。当微芯片是第三存储器芯片时,处理器芯片(例如,参看处理器芯片1112)可经配置以经由第三存储器芯片(例如,参看第三存储器芯片1102)通过将数据写入第一存储器芯片902中的预定义存储器区908中来对可编程引擎910进行编程。在此类实例中,第三存储器芯片可包含用于第一存储器芯片902的高速缓存(例如,参看用于第一存储器芯片902的高速缓存1114),且处理器芯片可经配置以经由用于第一存储器芯片902的高速缓存1114通过将数据写入第一存储器芯片902中的预定义存储器区908中而对可编程引擎910进行编程。
158.在一些实施例中,第一存储器芯片902的一或多个实例(例如图9到11中展示的第一存储器芯片902的不同实例)可作为一或多个存储器芯片用于灵活预配图1到3中展示的存储器芯片串102。另外,第一存储器芯片902的一或多个实例可作为一或多个存储器芯片用于灵活预配图4中展示的存储器芯片串402。此外,具有可编程引擎910的第一存储器芯片902可以是具有图6到8中展示的数据移动器608的存储器芯片602、包含所述存储器芯片或被包含在所述存储器芯片中。举例来说,可编程引擎910可提供数据移动器608。
159.另外,图1到3中展示的存储器芯片串102中可包含系统900、1000和1100的至少部分。
160.在一些实施例中,第一存储器芯片902可以是或包含存储器芯片串102中的第一存储器芯片104或第二存储器芯片106。在此类实施例中,例如,处理器芯片924或1112可以是或包含图2中展示的处理器芯片202或图3中展示的存储器控制器芯片302。另外,在一些实施例中,第三存储器芯片1102可以是或包含存储器芯片串102中的第一存储器芯片104或第二存储器芯片106。在此类实施例中,例如,处理器芯片924或1112可以是或包含图2中展示的处理器芯片202或图3中展示的存储器控制器芯片302。
161.在一些实施例中,可在图5中展示的主存储器508和/或数据存储系统512中包含系统900、1000和1100中的任何一或多个系统的存储器芯片。在此类实施例和其它实施例中,系统900、1000和1100中的任何一或多个系统的处理器芯片可以是图5中展示的处理器506、所述处理器的一部分或包含所述处理器。
162.类似于存储器芯片602,系统900、1000和1100中的任何一或多个系统的任何一或多个存储器芯片可包含加密引擎和/或认证网守以用于保护移动到所述存储器芯片或通过所述存储器芯片移动的数据(例如,参看图8中展示的加密引擎802和网守804)。另外,类似于存储器芯片602,系统900、1000和1100中的任何一或多个系统的任何一或多个存储器芯片可包含数据移动器,例如数据移动器608。
163.另外,本文中所描述的存储器芯片中的任一者可包含图9到11中展示的第一存储器芯片902的一或多个方面。举例来说,本文中描述的存储器芯片中的任何一或多者可包含预定义存储器区908、可编程引擎910和命令队列912。
164.在前述说明书中,已参考其特定实例实施例描述了本公开的实施例。应显而易见的是,可在不脱离如所附权利要求书中阐述的本公开的实施例的更广精神和范围的情况下对本公开进行各种修改。因此,应在说明性意义上而非限制性意义上看待说明书和附图。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献