用于由不同主机对非易失性存储器的非干扰访问的存储器控制器以及相关系统和方法与流程

阅读: 评论:0


用于由不同主机对非易失性存储器的非干扰访问的存储器控制器以及相关系统和方法
1.相关申请的交叉引用
2.本技术是于2019年12月18日提交的美国专利申请第16/719,465号的国际申请,该申请要求于2019年8月5日提交的序列第62/883,019号的美国临时专利申请的权益,这两项申请均通过引用整体并入本文。
技术领域
3.本公开内容整体地涉及具有访问同一非易失性存储器装置的多个主装置和进程的系统。


背景技术:



4.许多控制系统可以包括控制不同子系统的多个进程(例如,核)。在许多情况下,期望这样的进程访问非易失性存储器(nvm)装置。nvm装置可以确保关键数据在没有电力的情况下被存储。例如,汽车可以包括具有多个处理器核的控制器,每个核专用于特定系统或功能。处理器核可以从相应的nvm装置读取数据并将数据存储在相应的nvm装置中。
5.常规系统的一个缺点可能是延迟。如果多个进程竞争同一nvm装置,则必须采用某种仲裁进程来对访问区分优先级。在没有这样的仲裁的情况下,可能出现不同进程之间的冲突,从而导致访问中不可预测的延迟,或者当进程利用优先访问请求中断其他进程时导致差的性能。
6.解决对nvm装置的访问时这样的可变延迟的一种方式可以是增加nvm装置的数量,将一些nvm装置专用于特定进程。这样的方法可以确保某些进程的延迟,但是会大大增加所得到的系统的成本和规模。
附图说明
7.图1a和图1b是示出根据实施方式的由处理器装置对非易失性存储器(nvm)装置的时分复用(tdm)访问的图。
8.图2是根据实施方式的系统的框图。
9.图3a和图3b是示出根据实施方式的针对处理器装置的tdm时隙分配和存储体分配的表格。
10.图4a和图4b是示出根据实施方式的数据访问时间的图。
11.图5a至图5c是示出根据实施方式的对处理器装置的处理核的存储体分配的示例的图。
12.图6a和图6b是示出根据实施方式的由处理器装置进行的nvm访问的时序图。
13.图7是示出根据实施方式的处理器装置的各种配置的表格。
14.图8a至图8d是示出根据各种实施方式的处理器访问的图。
15.图9是示出根据实施方式的处理器装置的数据访问性能的表格。
16.图10是根据实施方式的方法的流程图。
17.图11是根据实施方式的汽车控制系统的图。
18.图12a和图12b是示出可以包括在实施方式中的读取命令的图。
19.图13是可以包括在实施方式中的nvm装置的框图。
20.图14是根据实施方式的汽车系统的图。
具体实施方式
21.根据实施方式,控制器装置可以包括多个处理电路(例如,核)。每个处理电路都可以发出访问nvm装置的存储体(bank)的请求。可以在时分复用(tdm)布置中将时隙分配给这样的访问请求。然后,存储器控制器电路可以以tdm顺序将请求作为命令地址值通过命令地址总线发送到nvm装置。在读取请求的情况下,随后可以在单向双倍数据速率(ddr)数据总线中也以tdm方式接收读取的数据。在特定的tdm时隙中接收到的读取数据可以对应于请求进程。
22.在一些实施方式中,每个进程可以被分配nvm装置中的至少一个nvm,并且该进程将仅访问其分配的nvm存储体。
23.在一些实施方式中,每个进程可以分配给nvm装置中的不多于两个nvm存储体。
24.在一些实施方式中,如果进程在一个tdm时隙中访问nvm存储体,则不同进程可能不会在紧随其后的tdm时隙中访问同一nvm存储体。
25.在一些实施方式中,控制器装置可以通过并行存储器接口访问nvm装置。并行存储器接口可以与jedec颁布的lpddr4标准兼容。
26.在以下各种实施方式中,相同的项目由相同的附图标记表示,但前导数字对应于图号。
27.图1a和图1b是示出根据实施方式的处理器装置100和操作的框图。处理器装置100可以包括多个处理核102-0至102-3、多路复用器(mux)104、解复用器(dmux)106、核分配数据107-0、tdm分配数据107-1和并行ddr存储器控制器108。核(102-0至102-3)可以包括可以专用于单独处理任务的处理电路。根据实施方式,核(102-0至102-3)可以被分配给对应的nvm装置112的一个或更多个nvm存储体(未示出)。因此,一旦核(102-0至102-3)被分配给nvm存储体,它不会请求对未分配的存储体的访问。虽然图1a/图1b示出了四个核,但是处理器装置可以包括更多或更少数量的核。
28.mux 104可以接收来自核(102-0至102-3)的访问请求并将它们分配给tdm布置中的预定tdm命令时隙。根据实施方式,核(102-0至102-3)可以被分配给多于一个tdm命令时隙,但是多个核(102-0至102-3)可以不被分配给同一个tdm命令时隙。tdm命令布置可以以预定顺序循环。在一些实施方式中,如果在正确的tdm命令时隙之前在mux 104处接收到访问请求,则mux 104可以等待直到适当的时隙来为该请求提供服务。此外,如果没有对于给定的tdm命令时隙的访问请求,则mux 104可以不发出请求。
29.mux 104可以采用任何合适的形式。mux 104可以包括专用电路,例如接收访问请求并将它们存储在与tdm命令时隙对应的位置处、然后在适当的时间输出访问请求的数据缓冲器。然而,mux 104也可以是在每个核(102-0至102-3)上运行的协调进程。每个核(102-0至102-3)将访问请求限制到其专用tdm时隙。这些只是不应被解释为限制的两个示例。本
领域技术人员可以想出各种其他的mux配置。
30.dmux 106可以采用任何合适的形式。如在mux 104的情况下,dmux 106可以包括专用电路,例如接收读取数据、将它们存储在与tdm时隙对应的位置处的数据缓冲器。这样的读取数据然后可以由相应的核(102-0至102-3)读取。可替选地,核(102-0至102-3)可以协调对读取数据的访问,仅在其分配的tdm读取时隙中读取数据。
31.核分配数据107-0可以记录哪些nvm存储体被分配给哪些核(102-0至102-3)。核分配数据107-0可以存储在包括配置寄存器的处理器装置100的存储器电路中。在所示的特定实施方式中,核0被分配给nvm存储体0和存储体1两者,核1被分配给nvm存储体1,核2被分配给nvm存储体2,并且核3被分配给nvm存储体2和3。tdm分配数据107-1可以记录哪些核具有哪些tdm命令时隙。tdm分配数据107-1可以存储在包括配置寄存器的处理器装置100的存储器电路中。在所示的特定实施方式中,核3被给予tdm时隙0,核0被给予tdm时隙1,核2被给予tdm时隙2,并且核1被给予tdm时隙3。虽然如稍后所示,图1a/图1b示出了四个tdm时隙,但是其他实施方式可以包括不同数量的tdm时隙。
32.存储器控制器电路108可以包括用于访问nvm装置112的存储体的控制器电路。根据实施方式,存储器控制器电路108可以通过命令地址总线110将命令和地址数据作为并行位的序列发出。读取数据可以通过单向读取数据总线114以并行位的集合接收。这样的读取数据可以与数据时钟的下降沿和上升沿同步地成组(例如,突发)接收。
33.图1a示出了根据实施方式的读取操作的开始的一个示例。
34.如圆圈1所示,核(102-0至102-3)可以向各个存储体发出读取请求。在图1a的示例中,核102-0发出对nvm存储体0的读取请求,核102-1发出对nvm存储体1的读取请求,核102-2发出对nvm存储体2的读取请求,核102-3发出对nvm存储体3的读取请求。这样的请求是适当的,因为它们符合核分配数据107-0。各种读取请求可以在各种时间和各种顺序发生。
35.如圆圈2所示,mux 104可以基于tdm分配数据107-1对核(102-0至102-3)发出的请求进行排序。无论核(102-0至102-3)何时发出读取请求,读取请求都根据tdm分配数据107-1进行排序。因此,可以按照以下顺序向存储器控制器电路108发出读取请求:对存储体3的读取(由核2发出)(即,tdm时隙0);对存储体0的读取(由核0发出)(即,tdm时隙1);对存储体2的读取(由核2发出)(即,tdm时隙2);以及对存储体1的读取(由核1发出)(即,tdm时隙3)。
36.如圆圈3所示,存储器控制器电路108可以在分配的tdm时隙中在命令地址总线110上生成适当的命令和地址数据。
37.图1b示出了根据实施方式的图1a中所示的读取操作的结束。
38.如圆圈4所示,响应于处理器装置100发出的命令和地址数据,nvm装置112可以按照命令和地址数据被接收的顺序输出所得到的读取数据。可以以ddr格式在单向数据总线114上输出这样的读取数据。
39.如圆圈5所示,存储器控制器电路108可以从nvm装置接收读取数据并将其提供给dmux 106。可以在具有由tdm分配数据107-1设置的顺序的tdm读取时隙中接收每组读取数据。
40.如圆圈6所示,dmux 106可以基于这样的读取数据何时被接收(即,读取数据的tdm读取时隙)来对读取数据进行排序以供核(102-0至102-3)访问。
41.以此方式,可以确保同一处理装置的不同核经由tdm读取访问及所得到的读取数
据对同一存储器装置的不同存储体的访问。
42.图2是根据实施方式的系统250的框图。系统250可以包括处理器装置200和nvm装置212。处理器装置200可以从多个进程(例如,核)接收命令/地址值(以及可选地,写入数据值)。在所示的实施方式中,可以以六个并行位216-0至216-5(ax[0]至ax[5])的集合接收命令/地址数据。命令/地址值(ax[0]至ax[5])可以从不同进程接收或由来自不同的进程的请求生成。此外,进程可以分配给一个或更多个特定的存储体。对存储体的访问可以由在命令/地址值(ax[0]至ax[5])中接收到的更高阶地址位决定。
[0043]
tdm命令mux 204可以以预定的tdm命令顺序将命令地址值(ax[0]至ax[5])施加到物理接口(phy)208,其中tdm时隙专用于特定进程(例如,核)。在本文中将更加详细地描述各种可能的tdm分配的示例。
[0044]
phy 208可以将命令/地址值(ax[0]至ax[5])转换成在命令地址总线210(即,六个命令地址线)上驱动的相应的信号。这样的信令可以与现有的并行数据接口标准兼容,并且在一些实施方式中,可以与lpddr4标准兼容。命令/地址值(ax[0]至ax[5])可以构成与现有标准兼容的命令。然而,在一些实施方式中,命令/地址值(ax[0]至ax[5])可以是自定义命令。即,可以根据标准利用信令接收命令,但是所传输的位值不是现有标准的一部分。
[0045]
nvm装置212可以包括多个存储体228-0至228-7、互连230、命令队列224、读取数据队列226和存储器phy 222。存储体(228-0至228-7)可以各自包括多个nvm单元。nvm单元可以是以非易失性方式存储数据的任何合适类型的非易失性存储器单元。在一些实施方式中,nvm存储单元可以是具有nor类型架构的“闪存”类型的存储单元。在每个存储体(228-0至228-7)内,nvm单元可以布置成一个或更多个阵列,并可通过行地址和列地址访问。存储体(228-0至228-7)可以是单独可寻址的。即,nvm装置212的物理寻址可以针对每个存储体(228-0至228-7)具有单独的存储体地址。所有存储体(228-0至228-7)可以连接至互连230。
[0046]
互连230可以使能对存储体(228-0至228-7)的访问,并且可以包括任何合适的电路,例如解码器、编程电路和读取电路(例如,读出放大器(sense amplifier)),仅作为几个示例。在所示实施方式中,互连230可以从命令队列224接收命令/地址值,并且作为响应,访问寻址存储体中的nvm单元。互连230还可以从存储体(228-0至228-7)接收读取数据并将读取数据提供给读取数据队列226。
[0047]
命令队列224可以接收和存储提供给互连230的命令/地址值。在一些实施方式中,命令队列224可以在先进先出的基础上提供命令/地址值。然而,可以理解,命令/地址数据可以以由处理器装置200决定的tdm顺序接收。读取数据队列226可以从互连230接收读取数据并将其提供给存储器phy 222。在一些实施方式中,读取数据队列226可以以与接收到的命令/地址值相同的顺序提供读取数据。因此,读取数据可以遵循由处理器装置200决定的相同的tdm顺序。
[0048]
存储器phy 222可以是与处理器装置200的phy 208对应的phy。因此,存储器phy 222可以接收在命令地址总线210上传输的命令地址值,并且在ddr数据总线214上输出读取数据。如在处理器phy 208的情况下,存储器phy 222可以生成与现有并行数据接口标准例如lpddr4标准(仅作为一个示例)兼容的信号。
[0049]
返回参考处理器装置200,可以由phy 208接收来自nvm装置212的读取数据。所得到的数据值可以被提供给tdm读取数据dmux 206。tdm数据dmux 206可以以与tdm命令相同
的顺序将读取数据值(dx[0]至dx[15])提供给相应的进程。
[0050]
图3a是示出根据实施方式的tdm命令时隙分配的表格。图3a示出了如何根据所期望的访问类型创建任何数量的tdm时隙。例如,一个主机(例如,核0获得时隙0和4)可以分配给比另一个主机多的tdm命令时隙(例如,核0获得时隙0和4,而核2仅获得时隙2)。这样的布置为一个核提供了比另一个核高的带宽。图3a示出了使用六个tdm命令时隙的示例,但是可以根据需要增加或减少命令时隙的数量。虽然tdm命令分配可以是相对固定的(例如,通过寄存器上电或复位时建立),但在其他实施方式中,处理器装置可以包括可以动态分配tdm命令时隙的活动tdm控制。
[0051]
tdm命令时隙可以分配给任何合适的进程,因此可以根据核或线程(仅作为两个示例)进行分配。
[0052]
图3b是示出根据实施方式的存储体分配的表格。每个进程(在本示例中为核)都可以分配到同一nvm装置中的特定地址范围,其中地址范围包括可单独访问的存储体。以此方式,访问可以是或可以被调度为非干扰的。这可以确保可以在某个最大延迟内为进程提供服务。在所示示例中,核0和核1可以访问同一存储体(存储体0)的不同区域。核2可以单独访问三个存储体(存储体1、存储体2、存储体3)并且访问存储体4的一部分。核3可以访问存储体4的另一部分并且单独访问存储体5至存储体7。在一些实施方式中,对同一存储体的访问不能在连续的tdm命令时隙上发生。
[0053]
以这种方式,可以将进程分配给nvm装置的不同地址空间,从而确保由核进行的所有访问都是非干扰的,并且可以具有固定的最大延迟。
[0054]
图4a是示出可以提供给处理器装置或由处理器装置确定的延迟值的表格。延迟值可以是tdm输入至tdm输出(tdm in

tdm out)值,其可以指示命令/地址值的施加(对应于读取访问)与所得到的读取数据之间有多少个周期。这样的值可以使得处理器装置能够针对相应的tdm命令时隙建立适当的tdm读取时隙。
[0055]
图4b示出了根据实施方式的读取操作的延迟。处理器装置可以发出读取命令(cmd/add in)。在延迟ljn之后,命令和地址值可以到达nvm装置。nvm装置具有其自己的访问延迟l_nvm,对应于处理命令和地址数据,访问存储体,并且驱动输出总线上的读取数据。在延迟l_out之后,读取数据可以被处理器装置接收,并且可用于请求进程。总时间可以是访问时间t_access。如本文中将更详细地示出,可以以比访问时间(t_access)更快的速率发出命令/地址值,因为对不同存储体的访问可以在时间上交叠。
[0056]
可以理解,除了t_access之外,总延迟还可能包括核的tdm时隙变得可用的时间。由于tdm命令调度重复,如果核在当前tdm轮中错过了其时隙,它将在下一个tdm轮中得到服务。也就是说,重复的tdm顺序确保核将以一定的延迟得到服务。
[0057]
图5a至图5c是示出根据实施方式的各种存储体分配的图。图5a至图5c假设系统将四个核(核0至核3)分配给nvm装置的八个存储体(存储体0到存储体7)。
[0058]
图5a示出了每个核被分配整个存储体的布置。即,核0被分配存储体0/1,核1被分配存储体2/3,核2被分配存储体4/5以及核3被分配存储体6/7。在这样的布置中,没有访问具有干扰的可能性,因此tdm命令访问对访问顺序没有限制。
[0059]
图5b示出了类似于图3b中所示的布置的布置。核0和核1被分配存储体0的不同部分。核2被分配存储体1、存储体2和存储体3的全部。此外,核2和核3被分配存储体4的不同部
分。核3也被分配存储体5、存储体6和存储体7的全部。在这样的布置中,可以通过以tdm命令顺序共享存储体的核对之间进行交替来避免冲突。
[0060]
图5c示出了核(核2)被分配给两个以上的存储体的布置。特别地,核2被分配给存储体1的一部分、存储体2和存储体3的全部、以及存储体4的一部分。在这样的布置中,处理器装置可以采用动态tdm调度。例如,核2的访问不能立即跟随(发生在下一个tdm时隙中)核1的访问,除非不是对存储体1的访问,反之亦然。类似地,核2和核3对存储体4的访问不能立即彼此跟随。要注意的是,这样的动态调度可能会导致可变的延迟时间,因为tdm顺序中的核位置不是固定的。
[0061]
图6a是示出根据实施方式的对nvm装置的tdm访问的调度的时序图。图6a示出了对类似于图5a的布置的访问,其中每个核都被分配了整个(和不同的)存储体。假设可以同时访问nvm装置的不同存储体(但多个核可能不会同时访问同一存储体)。
[0062]
图6a示出了从控制器装置输出(到nvm装置)的命令和地址输入(命令/地址),以及对寻址存储体的访问操作(存储体读取)。存储体读取由相应的核标识,但被理解为指向不同的存储体。
[0063]
在时间t0处,可以针对核0发出访问请求。
[0064]
在大约t1处,如在存储体读取中的核0所示,对核0的访问请求可以开始由nvm装置处理。在大约同一时间处,可以针对核!发出下一访问请求。
[0065]
在大约时间t2处,针对核0的存储体访问可以继续,但此外,针对核1的存储体访问可以开始。由于这样的访问是针对不同的存储体,因此它们可以同时发生。这由在时间t2与时间t3之间交叠的核0和核1的存储体访问示出。同样在大约时间t2处,可以针对核2发出访问请求。
[0066]
在大约时间t3处,针对核0的存储体访问可以结束。针对核1的存储体访问可以继续,针对核2的存储体访问可以开始。针对核1和核2的存储体访问可以在时间t3与t4之间同时发生。同样在大约时间t3处,可以针对核3发出访问。
[0067]
核访问可以相对于时间以交叠的方式继续,直到所有存储体访问完成。
[0068]
仍然参照图6a,注意到命令地址事务(命令/地址)的时间可以比存储体访问时间更快的速率发生。这可以允许高数据吞吐量操作。此外,如本文所述,由于tdm顺序的重复性质,可以以固定的最大延迟为所有访问请求提供服务。
[0069]
图6b是示出根据另一实施方式的对nvm装置的tdm访问的调度的时序图。图6b示出了对类似于图5b的布置的访问,其中核0和核1可以共享存储体,并且核2和核3共享存储体。调度图6b示出了在相邻的tdm时隙中不能发生共享存储体的核的访问的限制。这是由tdm顺序确保的,该tmd顺序示出核0之后是核2(而不是核1),并且核2之后是核1(而不是核3)。
[0070]
图6b的调度具有与图6a相同的高吞吐量操作和固定的最大延迟,但具有增加的tdm顺序限制(在共享同一nvm存储体的核的对之间交替)。
[0071]
如本文所述,根据实施方式,tdm命令时隙可以变化以达到针对进程的不同带宽分配。也就是说,带宽可以针对某些进程(例如,核)增加,而针对其他进程减少,以实现期望的性能。在这样的方法中,由于采用了tdm调度,所以可以保证每个进程以一定的封顶的或固定的延迟访问nvm装置。
[0072]
在图7中,“核”示出了进程的数量,“时隙”示出了tdm时隙的数量,“带宽”示出了每
个核的整体存储器带宽(四舍五入),“最差延迟”示出了每个核的最差情况延迟(在tdm时隙),“tdm调度”示出了按核顺序(从左到右)的tdm时隙。图7示出了三个示例732-0至732-2。这样的示例不应被解释为限制性的。
[0073]
第一示例732-0示出了类似于图6a的布置的布置。在tdm调度中核被给予偶数访问时间。tdm调度包括四个tdm时隙。针对每个核,最差延迟可以相同。
[0074]
第二示例732-1示出了核0和核1被给予比核2和核3更多(是核2和核3两倍)的访问的布置。tdm调度包括六个tdm时隙。如图所示,那些具有较大带宽的核具有较小的最差情况延迟,因为它们在tdm序列中的位置会更频繁地出现。
[0075]
第三示例732-2示出了核0被给予四倍于核2和核3的带宽并且两倍于核1的带宽的带宽的布置。tdm调度包括八个tdm时隙。同样,较高带宽的核具有较好的最差情况延迟。
[0076]
以这种方式,可以分配tdm访问以增加某些进程的带宽而不是其他进程的带宽。
[0077]
图8a至图8d示出了由处理器装置使用本文所述的tdm命令时隙进行的各种nvm访问。在所示的各种示例中,假设对nvm装置的读取访问可以响应于在命令时钟(未示出)的四个时钟上传输的命令/地址值而发生。图8a至图8d中的每一个示出了命令/地址值(命令/地址)、nvm装置中所得到的存储体访问(存储体访问)以及来自nvm装置的所得到的数据输出(数据输出)。数据输出值可以是ddr输出,每个时钟周期并行提供数据两次(例如,x16)。此外,访问可以以比nvm装置内的存储体访问更快的速率发生。
[0078]
图8a示出了以与存储体访问速度相同的速率发出访问请求的布置。命令/地址值可以在四个时钟内发出(每个值示出为“a”)。所得到的存储体访问可能需要大约八个时钟。因为命令/地址值没有以比存储体访问值更快的速率接收,所以存储体访问不必在时间上交叠。数据可以以8个突发(每个突发示出为d)从每个存储体输出。可以理解,突发可以是多个位(例如,x16)。在图8a所示的布置中,命令的发出与所有数据的输出之间的时间(事务延迟,trn)可以是28个时钟周期。最差情况延迟(twc)可以是60个时钟周期。因此,平均延迟可以是大约44个时钟周期。在图8a的布置中,核可以访问任何存储体并且共享任何存储体。在特定示例中,接口时钟速度(接收命令序列的速度)可以是800mhz,而nvm装置的内部速度可以是100mhz(即,每10ns提供数据突发)。
[0079]
图8b示出了可以以比存储体访问速度更快的速率发出访问请求的布置。命令/地址值可以在连续的四个时钟时间周期内发出。因此,存储体访问在时间上交叠。在图8b中,数据可以以8个突发(ddr速率下的四个周期)输出。在这样的布置中,事务延迟(trn)可以是24个时钟周期。最差情况延迟(twc)可以是40个时钟周期。因此,平均延迟可以是大约32个时钟周期。在图8b所示的布置中,后续访问不能是对同一存储体。在特定示例中,接口时钟速度可以是800mhz,而nvm装置的有效内部速度可以是200mhz(即,每5ns提供一次数据突发)。
[0080]
图8c和图8d示出了与图8a和图8b的示例相比,命令/地址值可以相对于存储体访问时间以更快的速率输入的布置。
[0081]
图8c示出了以两倍于存储体访问的速度的速度发出访问请求的布置。命令/地址值可以在四个时钟周期内发出,并且所得到的存储体访问可能需要大约十六个时钟周期。数据可以以八个突发从每个存储体输出。在图8c的布置中,事务延迟(trn)可以是44个时钟周期。最差情况延迟(twc)可以是80个时钟周期。因此,平均延迟可以是大约60个时钟周期。
在图8c的布置中,后续访问不能是对同一存储体。在特定示例中,接口时钟速度可以是1600mhz,而nvm装置的有效内部速度可以是200mhz。
[0082]
图8d示出了可以以四倍于存储体访问速度的速度发出访问请求的布置。命令/地址值可以在连续的四个时钟时间周期内发出。因此,对不同的存储体的存储体访问在时间上交叠。在图8d中,数据可以以八个突发输出。在这样布置中,事务延迟(trn)可以是44个时钟周期。最差情况延迟(twc)可以是60个时钟周期。因此,平均延迟可以是大约52个时钟周期。在图8d的布置中,核之间不能存在存储体共享。在特定示例中,接口时钟速度可以是1600mhz,而nvm装置的有效内部速度可以是200mhz。
[0083]
图9是示出根据各种实施方式的处理器装置的性能参数的表格。图9示出了速度为800mfiz和1600mfiz(也以mt/s和时钟周期持续时间(以ns)示出)的接口的各种示例的值。读取突发(数据输出)可以以并行x16和ddr形式。读取突发可以是十六个(256b)的突发或八个(128b)的突发。示出了用于示例的存储体共享可能性,包括由两个核或由四个核共享nvm存储体。总事务延迟的各个部件示出为:地址传送(命令地址数据被计时到装置中的时间)、发出的延迟(由nvm装置处理命令和地址数据的时间)、阵列读取(访问nvm阵列的时间)、数据输出的延迟(获得从阵列到nvm输出电路的数据的时间)和数据输出(计时数据从装置输出的时间)。
[0084]
图9也示出了针对由核共享各种带宽(即50%tdm时隙、33%tdm时隙、25%tdm时隙、12.5%tdm时隙)的最差情况延迟和平均延迟。
[0085]
如图所示,相对于核必须竞争对nvm存储器的访问的系统,多个核可以具有对同一nvm装置的高吞吐量访问,其中具有短的最坏情况延迟和小的平均延迟。
[0086]
图10是根据实施方式的方法1034的流程图。方法1034可以包括开始在处理器装置与nvm装置之间的tdm操作1034-0。这样的动作可以包括在处理器装置中开始特定模式和/或配置nvm装置。在一些实施方式中,这样的动作可以包括将主机分配给特定的tdm时隙。主机可以是在具有访问nvm存储位置的需求的处理器装置上运行的不同进程。此外,这样的动作可以包括向主机分配地址范围(例如,存储体)。
[0087]
一旦tdm操作开始,方法1034就可以确定何时从主机接收到命令地址数据1034-1。接收到的命令地址数据可以基于主机(即命令/地址的来源)分配给特定的tdm时隙1034-2。
[0088]
当方法1034循环通过tdm时隙时,它可以确定当前tdm时隙是否是分配给接收到的命令地址数据的时隙1034-3。如果当前tdm时隙是分配的tdm时隙(来自1034-3的y),则方法1034可以将命令地址数据传输至nvm装置1034-4。如果当前tdm时隙不是分配的tdm时隙(来自1034-3的n),则方法1034可以前进到下一个tdm时隙1034-5。如果tdm操作没有结束(来自1034-6的n),方法1034可以返回以从主机接收命令地址数据1034-1。
[0089]
一旦tdm操作开始,方法1034也可以启动tdm输入输出延迟定时器1034-7。这样的计时器可以指示何时开始tdm读取数据序列。如果在tdm读取数据时隙中检测到读取数据(来自1034-8的y),则可以基于其tdm读取时隙编号将数据读取到所分配的位置1034-9。如果未检测到读取数据(来自1034-8的n),则方法可以前进到下一个tdm读取数据时隙1034-10。如果tdm操作没有结束(来自1034-11的n),则方法1034可以前进到下一个tdm读取数据时隙。
[0090]
图11是根据另一实施方式的汽车控制系统1150的框图。系统1150可以是图1a/图
1b或图2中所示的系统的一个示例。系统1150可以包括处理核1102-0至1102-3、mux 1104和dmux 1106、存储器控制器1108以及系统i/o 1136。核(1102-0至1102-3)可以包括处理器和相关联的电路(例如,高速缓存、总线等)。在一些实施方式中,一些核(1102-1至1102-3)可以专用于处理针对汽车的一个或更多个系统的任务(1136-1至1136-3),而一个或更多个其他核(1102-0)可以执行监督功能1136-0以监督和/或监视系统1150的各种操作。存储器控制器1108可以连接至命令地址总线1110和数据总线1114。系统i/o 1138可以连接至各种汽车系统以从这样的其他汽车系统接收数据和/或向这样的其他汽车系统发送数据。系统i/o可以包括用于任何合适的总线系统的接口,包括但不限于控制器局域网(can)类型总线。
[0091]
命令地址总线1110可以包括片选cs、输入时钟ck_t和命令地址数据ca。数据总线可以包括与第一数据时钟dqs0_t同步输出数据的第一组数据i/o dq[7:0],以及与第二数据时钟dqs1_t同步输出数据的第二组数据i/o dq[15:8]。
[0092]
nvm装置1112可以包括lpddr4 i/f 1122、控制电路1140和多个单独的可访问的nvm存储体1128-0至1128-7。nvm装置1112可以采用与本文描述的任何nvm装置和等效物相同的形式和/或以相同的方式操作。控制电路1140可以包括命令队列1124和数据队列1126。
[0093]
在操作中,可以根据本文描述的任何实施方式或等效物给核1102-0至1102-3分配nvm存储体1128-0至1128-7。此外,可以根据它们的处理要求(包括一些核具有比其他核更大的带宽)给核(1102-0至1102-3)分配tdm时隙。特别地,可以执行监督功能1136-0的核1140-0可以被分配适合其监督需要(包括确保预定延迟)的带宽。
[0094]
在汽车控制器1100内,进程1136-0到1136-3可以根据需要发出存储器读取请求。这样的请求可以由mux 1104在分配的tdm时隙中输出。存储器控制器1108可以在cs激活的情况下在命令地址总线ca上输出这样的请求。ca上的数据可以与输入时钟ck_t同步在命令序列中输出。在一些实施方式中,可以在两个ck_t周期上输入每个命令。命令地址总线1110上的信号可以与lpddr4标准兼容。
[0095]
在nvm装置1112内,tdm请求可以被lpddr4 i/f 1122接收并且存储在命令队列1124中。然后可以根据这样的请求访问nvm存储体(1128-0至1128-7)。nvm存储体(1128-0至1128-7)可以如针对本文的实施方式所描述的那样单独访问。响应于来自汽车控制器1100的接收到的请求,nvm装置1112可以将数据输出到数据队列1126。数据队列1126中的数据可以由数据总线1114上的lpddr4 i/f 1122驱动。特别地,dq[7:0]上的数据可以在上升沿和下降沿或数据时钟dqs0_t上输出,dq[15:8]上的数据可以在上升沿和下降沿或数据时钟dqs1_t上输出。
[0096]
在汽车控制器1100内,在数据总线1114上接收的读取数据可以被组织到tdm读取时隙中。进程(1136-0到1136-3)可以从它们所分配的tdm读取时隙读取数据。
[0097]
图12a和图12b是示出根据实施方式的可以由处理器装置生成的存储器请求操作的图。图12a是示出根据实施方式的通过lpddr4接口的一种类型的读取访问的时序图。图12a包括输入时钟(ck_t)、片选cs、命令地址值(ca)、相应的命令(命令)(由ca值生成)、数据时钟dq_t和数据值dq的波形,它们被理解为并行数据值(例如,字节、字、双字等)的集合。
[0098]
图12a示出了可以使访问比标准lpddr4序列更快的自定义读取命令的示例。如图所示,在ck_t的四个周期(向整体延迟增加三个周期)内,lpddr4接口可以接收两个命令(nvr-1至nvr-2)。在读取延迟和时钟偏移时间段(rl+tskw)之后,数据(dq)可以与数据时钟
(dq_t)同步地以双倍数据速率输出。在所示实施方式中,数据可以以八或更大(例如,16)个突发序列输出。
[0099]
在一些实施方式中,用于访问nvm单元的读取延迟(rl)可以以非常高的速度(小于20ns或大约17.5ns)实现。tskw值可以小于4ns,或大约2.5ns。因此,对于800mhz的时钟(ck_t)速度,从第一命令部分的锁存到数据的输出可以少至19个时钟周期(t_cmd=3个周期,rl=14个周期,tskw=2个周期)。如图12a所示的快速命令序列可以使得快速访问能够一个接一个地执行。
[0100]
图12b是示出在实施方式中可以由处理器装置生成的用于访问nvm单元(例如,存储体)的命令序列的表格。命令序列可以仅包括两个命令:nvr-1和nvr-2。这与可以包括四个命令(activate1

activate2

read1

cas2)的常规的lpddr4读取命令形成对比。图12包括标识命令类型的列命令、标识片选值的cs、命令/地址总线值(ca0至ca5)和时钟值ck。如图所示,每个命令包括应用于相同类型(例如,上升沿)的第一时钟转换(ck=1)和紧随其后的下一个时钟转换(ck=2)的位值的集合。这样的命令可以在lpddr4可兼容的接口上接收并采用lpddr4命令的一般形式。然而,nvr-1和nvr-2不是lpddr4标准的一部分。
[0101]
在所示的特定实施方式中,第一命令nvr-1可以包括较高阶地址值(例如,存储体和行值),而第二命令nvr-2可以包括较低阶地址值(例如,行值和列值)。然而,命令的特定位格式不应被解释为限制。
[0102]
图13是可以包括在根据实施方式的系统中的nvm装置1312的框图。nvm装置1312可以是本文实施方式中所示的那些nvm装置的一种实现方式。nvm装置1312可以包括lpddr4可兼容的phy(称为lpddr4 phy)1322、qspi可兼容的phy(称为qspi phy)1340、多个存储体1328-0至1328-7、用于每个存储体(1328-0至1328-7)的第一访问路径1342-0至1342-7、用于每个存储体(1328-0至1328-7)的第二访问路径1344-0至1344-7、存储体访问寄存器1346和嵌入式操作部1348。
[0103]
lpddr4 phy 1322可以接收片选cs、时钟输入ck_t、命令地址ca输入,输出第一数据输出dq[7:0]及对应的数据时钟输出dqs0_t、以及第二数据输出dq[15:8]及对应的数据时钟输出dqs1_t。在一些实施方式中,lpddr4 phy 1322可以处理一些lpddr4可兼容的命令,但不处理lpddr4写入命令。lpddr4 phy 1322可以经由第一总线系统1352连接至存储体(1328-0至1328-7)。经由lpddr4 phy 1322的读取数据传送速率可以比经由qspi phy 1340的读取数据传送速率更快。在一些实施方式中,lpddr4 phy 1322可以与嵌入式操作部1348通信以经由lpddr4 phy 1322用信号发送访问请求。
[0104]
qspi phy 1340可以处理通过串行数据线接收的接收命令。这样的命令可以包括读和写(例如,程序)命令。
[0105]
存储体访问寄存器1346可以针对可以控制对存储体的访问的每个存储体(1328-0至1328-7)存储存储体访问数据。在一些实施方式中,如果存储体(1328-0至1328-7)的存储体访问数据具有一个值,则该存储体可以经由qspi phy 1340访问并且不被lpddr4 phy 1322访问。如果存储体访问数据具有另一个值,则存储体可以由lpddr4 phy 1322访问,而不能由qspi phy 1340访问。
[0106]
每个存储体(1328-0至1328-7)可以包括布置成行和列的nvm单元,并且可以经由唯一的存储体地址单独访问。在一些实施方式中,nvm单元可以是组可擦除的(例如,闪存类
型单元)。读取路径(1342-0至1342-7)可以启用从lpddr4 phy 1322经由第一总线系统1352对其相应的存储体(1328-0至1328-7)的读取访问。读取/写入路径(1344-0至1344-7)可以启用从qspi phy 1340经由第二总线系统1354对其相应的存储体(1328-0至1328-7)的读取访问或写入访问。在一些实施方式中,读取路径(1342-0至1342-7)和读取/写入路径(1344-0至1344-7)可以根据存储体访问值被启用或禁用。不同的存储体(1328-0至1328-7)可以同时被访问。
[0107]
嵌入式操作部1348可以包括写入缓冲器1348-0、命令处理器1348-1和处理器部1348-2。写入缓冲器1348-0可以接收和存储来自qspi phy 1340的写入数据,用于随后编程到寻址的存储体(1328-0至1328-7)中。命令处理器1348-1可以对在qspi phy 1340上接收的命令数据进行解码并且生成适当的控制信号来执行该命令。处理器部1348-2可以包括一个或更多个中央处理单元(cpu)来执行nvm装置1312的各种功能。这样的功能可以包括设置存储体访问值。此外,处理器部分1348-2可以提供以下项中的任何:维护nvm单元(例如,损耗均衡)、扇区访问控制(引导扇区)、加密/解密,仅作为一些示例。
[0108]
图14示出了根据实施方式的汽车系统1460。汽车系统1460可以具有多个子系统,包括但不限于主控制子系统1478-0、发动机-动力传动系控制系统1478-1、悬架-轮胎控制系统1478-2、车身控制系统1478-3。主控制子系统1478-0可以包括根据本文公开的实施方式或等效物的处理器装置1400和nvm装置1412。主控制子系统1478-0可以控制信息娱乐功能(导航、通信、娱乐装置、数据存储、数字音频广播)以及所有其他系统的监督监视。在一些实施方式中,主控制子系统1478-0可以是图11中所示的一种实现方式。在这样的布置中,处理器装置1400可以具有多个进程,所述进程可以以tdm布置访问nvm装置1412的存储体并且以tdm布置从nvm装置1412接收读取数据,如本文所描述的和等同物。特别地,监督进程可以在某个最大延迟内对nvm装置1412具有相对快速的访问(lpddr4可兼容信令)。
[0109]
应当理解,贯穿本说明书对“一个实施方式”或“一种实施方式”的引用意味着结合该实施方式描述的特定特征、结构或特性包括在本发明的至少一个实施方式中。因此,强调并应当理解,在本说明书的各个部分中对“一种实施方式”或“一个实施方式”或“替代实施方式”的两次或更多次引用不一定都指代相同的实施方式。此外,特定特征、结构或特性可以在本发明的一个或更多个实施方式中适当地组合。
[0110]
类似地,应当理解,在本发明的示例性实施方式的前述描述中,有时将本发明的各种特征一起组合在单个实施方式、图或对其的描述中,目的在于简化本公开内容,帮助理解各种创造性方面中的一个或更多个。然而,公开内容的这种方法不应被解释为反映权利要求需要比每个权利要求中明确叙述的特征更多的特征的意图。而是,创造性方面在于少于单个前述公开的实施方式的所有特征。因此,具体实施方式之前的权利要求在此明确地合并到该具体实施方式中,其中每个权利要求独立作为本发明的单独实施方式。

技术特征:


1.一种装置,包括:多个处理源;多路复用器(mux),其被配置成将来自所述多个处理源的读取请求分配给预定的时分多路复用(tdm)命令时隙;存储器控制器,其被配置成:在单向命令地址总线上,在分配给从所述多路复用器接收的读取请求的时分多路复用命令时隙期间,根据所述读取请求生成非易失性存储器(nvm)命令和地址数据,所述地址数据至少包括存储体地址,以及与接收到的数据时钟的上升沿和下降沿同步地在单向并行数据总线上接收读取数据,所述读取数据是在具有预定顺序的时分多路复用读取时隙中接收的;以及解复用器(dmux),其被配置成按所述预定顺序基于时分多路复用读取时隙位置将每个时分多路复用读取时隙的读取数据提供给所述处理源之一。2.根据权利要求1所述的装置,所述处理源是单个主装置的不同处理核。3.根据权利要求1所述的装置,其中:每个处理源仅向非易失性存储器装置的所分配的存储体的地址发出读取请求;以及存储体被分配给不多于两个处理源。4.根据权利要求3所述的装置,其中,所述多路复用器被配置成防止不同的处理源被分配连续的时分多路复用读取时隙用于对同一存储体的访问。5.根据权利要求1所述的装置,其中:所述多个处理源是子系统控制进程,所述子系统控制进程各自控制较大系统的子系统;以及所述处理源中的至少一个处理源是监视所述子系统控制进程的监督进程。6.根据权利要求5所述的装置,其中,所述装置是汽车控制器并且所述子系统是汽车的子系统。7.根据权利要求1所述的装置,其中,所述命令地址总线和所述并行数据总线与根据lpddr4标准的信令兼容。8.一种方法,包括:将至少一个非易失性存储器(nvm)存储体分配给控制器装置的不同控制进程,每个控制进程仅向所分配的非易失性存储器存储体发出访问请求;将来自所述进程的访问请求复用到预定的时分多路复用(tdm)命令时隙;通过所述控制器装置的存储器控制器电路的操作:在单向命令地址总线上,在所分配的时分多路复用命令时隙期间,根据从多路复用器接收到的访问请求生成命令和地址数据,以及与接收到的数据时钟的上升沿和下降沿同步地在单向并行数据总线上接收读取数据,所述读取数据是在具有预定顺序的时分多路复用读取时隙中接收的;以及按所述预定顺序基于时分多路复用读取时隙位置将来自每个时分多路复用读取时隙的读取数据解复用到所述进程之一。9.根据权利要求8所述的方法,其中,每个控制进程包括由处理器核执行的进程。10.根据权利要求8所述的方法,其中,在存储体被分配给多于一个控制进程的情况下,
由不同的所分配的控制进程对该存储体的访问请求不会在连续的时分多路复用命令时隙上发生。11.根据权利要求8所述的方法,其中,所述存储器控制器利用与lpddr4标准兼容的信令来接收和发送数据。12.根据权利要求8所述的方法,其中:所述命令和地址数据作为命令的序列传输,每个命令包括在输入时钟的两个时钟周期内传输的命令和/或地址值;以及生成命令和地址数据包括利用不多于两个命令对存储体执行读取操作。13.根据权利要求8所述的方法,其中:所述时分多路复用命令时隙随时间重复;以及所述控制进程中的至少一个控制进程被分配给比所述控制进程中的另一控制进程多的时分多路复用命令时隙。14.根据权利要求8所述的方法,其中:所述控制器装置是汽车控制器装置;多个所述控制进程被配置成控制汽车的子系统;以及至少一个控制进程是监视其他控制进程的监督进程。15.一种系统,包括:处理器装置,其包括:多个处理器核,多路复用器(mux),其被配置成将来自每个处理器核的读取请求分配给预定的时分多路复用(tdm)命令时隙,存储器控制器,其被配置成:响应于来自所述多路复用器的读取请求,生成非易失性存储器(nvm)命令和地址数据,以及在时分多路复用读取时隙中接收读取数据,以及解复用器(dmux),其被配置成将每个时分多路复用读取时隙的读取数据提供给所述处理器核之一;非易失性存储器装置,其包括多个可单独寻址的存储体;单向命令地址总线,其被配置成将所述命令和地址数据从所述处理器装置传输至所述非易失性存储器装置;以及单向数据总线,其被配置成将所述读取数据从所述非易失性存储器装置传输至所述处理器装置。16.根据权利要求15所述的系统,其中:所述时分多路复用命令时隙具有相同的持续时间;所述非易失性存储器装置具有存储体访问时间,所述存储体访问时间包括命令地址数据的接收与相应的读取数据的输出之间的持续时间;以及所述时分多路复用命令时隙持续时间小于所述存储体访问时间。17.根据权利要求15所述的系统,其中,所述非易失性存储器装置被配置成:响应于在连续的时分多路复用命令时隙上接收到来自所述处理器装置的对不同存储
体的读取请求,访问能够单独寻址的存储体中的第一存储体,同时访问能够单独寻址的存储体中的第二存储体。18.根据权利要求15所述的系统,其中:所述处理器装置包括配置存储电路,所述配置存储电路将所述非易失性存储器装置的能够单独寻址的存储体分配给不多于两个处理器核;以及所述处理器装置被配置成:限制每个处理器核只访问所分配的能够单独寻址的存储体中的一个存储体,以及防止将连续的时分多路复用命令时隙中的访问发出到同一能够单独寻址的存储体。19.根据权利要求15所述的系统,其中:所述处理器装置是汽车控制器装置;所述多个处理器核中的每一个处理器核被配置成执行子系统控制进程以控制汽车子系统;以及至少一个处理器核被配置为监视所述子系统控制进程的监督进程,所述监督进程具有至少一个专用的时分多路复用命令时隙。20.根据权利要求15所述的系统,其中,所述单向命令地址总线和所述单向数据总线与lpddr4标准兼容。

技术总结


一种装置可以包括:多个处理源;多路复用器(MUX),其被配置成将来自处理源的读取请求分配给预定的时分多路复用(TDM)命令时隙。存储器控制器可以在单向命令地址总线上在分配给从MUX接收的读取请求的TDM命令时隙期间,根据该读取请求生成非易失性存储器(NVM)命令和地址数据。地址数据可以至少包括一个存储体地址。该装置还可以与接收到的数据时钟的上升沿和下降沿同步地在单向并行数据总线上接收读取数据。读取数据可以在具有预定顺序的TDM读取时隙中接收。解复用器可以按预定顺序基于TDM读取时隙位置将每个TDM读取时隙的读取数据提供给处理源之一。还公开了相关的方法和系统。统。统。


技术研发人员:

汉斯

受保护的技术使用者:

赛普拉斯半导体公司

技术研发日:

2020.08.03

技术公布日:

2022/3/18

本文发布于:2022-11-28 01:57:19,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/4/9200.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:命令   数据   装置   所述
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图