支持改进的部分阵列自刷新的同时用于非对称大小通道或排的有效DRAM交错的制作方法
未命名
09-24
阅读:52
评论:0
支持改进的部分阵列自刷新的同时用于非对称大小通道或排的有效dram交错
1.相关申请的交叉引用
2.本技术要求于2021年2月11日提交的美国专利申请第17/174,073号的优先权;该申请的全部内容通过引用并入本文。
背景技术:
3.动态随机存取存储器(dram)排(rank)交错或散列通过将指向单个排的事务跨多个排分散来提高dram的使用效率。然而,当前的dram排交错方案不准许使用非对称大小的dram排的系统在所有dram排中实现dram使用效率的增加。另外,dram排交错的当前方案将未使用的交错块分配给排中的扇区,这导致针对部分阵列自刷新和部分阵列自动刷新的昂贵开销。
技术实现要素:
4.各种所公开的方面可以包括用于非对称大小的dram排的排交错的设备和方法。各种方面可以包括一种用于存储器的非对称大小的存储器部分的部分交错的方法,包括:确定针对第一交错单元的非对称存储器部分指派,其中非对称存储器部分指派是对第一非对称存储器部分的,确定对于存储器的已消耗的地址空间的已消耗的地址空间偏移量,使用已消耗的地址空间偏移量修改第一交错单元的地址以及以紧凑方式使用经修改的地址将第一交错单元指派给第一非对称存储器部分中的第一交错区组,使得在将另一交错单元映射到另一交错区组之前,在第一交错区组具有未使用的空间时,将第一交错单元指派给第一交错区组。
5.在一些方面,确定针对存储器的已消耗的地址空间的已消耗的地址空间偏移量可以包括:确定针对至少第二非对称存储器部分的已消耗的地址空间的已消耗的地址空间偏移量。
6.在一些方面,使用已消耗的地址空间偏移量修改第一交错单元的地址可以包括:从第一交错单元的地址中减去已消耗的地址空间偏移量。
7.在一些方面,确定对于第一交错单元的非对称存储器部分指派可以包括:确定包括第一非对称存储器部分的非对称大小存储器部分的非对称存储器部分容量比率,确定非对称大小存储器部分的组合的非对称存储器部分容量,使用第一交错单元的地址和组合的非对称存储器部分容量来确定函数的值以及将该函数的值与非对称大小存储器部分的非对称存储器部分容量比率的值进行比较,该非对称大小存储器部分的非对称存储器部分容量比率的值表示非对称大小存储器部分中的一非对称大小存储器部分。
8.一些方面还可以包括接收存储器中的存储器访问请求的地址,将该地址映射到第一非对称存储器部分中的第一交错单元以及在第一非对称存储器部分内在经映射的地址处实现存储器访问请求。
9.在一些方面,以紧凑方式使用经修改的地址将第一交错单元指派给第一非对称存
储器部分中的第一交错区组可以包括:相对被指派给第一非对称存储器部分中的第一交错区组的第二交错单元线性地,将第一交错单元指派给第一非对称存储器部分中的第一交错区组。
10.在一些方面,以紧凑方式使用经修改的地址将第一交错单元指派给第一非对称存储器部分中的第一交错区组可以包括:相对被指派给第一非对称存储器部分中的第一交错区组的第二交错单元非线性地,将第一交错单元指派给第一非对称存储器部分中的第一交错区组。
11.在一些方面,以紧凑方式使用经修改的地址将第一交错单元指派给第一非对称存储器部分中的第一交错区组,使得在将另一交错单元映射到另一交错区组之前,在第一交错区组具有未使用的空间时,将第一交错单元指派给第一交错区组,可以包括将第一交错单元指派给第一非对称存储器部分中的第一交错区组,使得在将另一交错单元映射到另一非对称存储器部分中的另一交错区组之前,在第一交错区组具有未使用的空间时,将第一交错单元指派给该第一交错区组。
12.一些方面还可以包括:启用具有所指派的第一交错单元的第一刷新段的刷新,并且禁用不具有所指派的交错单元的第二刷新段的刷新。
13.在一些方面,第一交错区组可以与用于动态随机存取存储器刷新控制策略的刷新段具有相同的大小。
14.各种方面可以包括用于存储器的非对称大小存储器部分的部分交错的方法,该方法包括:接收存储器中的存储器存取请求的地址;将该地址映射到第一非对称存储器部分中的第一交错区组;在将另一交错单元指派给另一交错区组之前,在第一交错区组具有未使用空间的同时将接续的交错单元指派给第一交错区组,其中接续的交错单元中的至少第一交错单元对应于该地址;以及在第一非对称存储器部分内在经映射的地址处实现存储器访问请求。
15.在一些方面,将地址映射到第一非对称存储器部分中的第一交错区组可以包括:确定针对第二非对称存储器部分中的存储器的已消耗的地址空间的已消耗的地址空间偏移量以及使用已消耗的地址空间偏移量来修改地址。
16.在一些方面,使用已消耗的地址空间偏移量来修改地址可以包括:从地址中减去已消耗的地址空间偏移量。
17.在一些方面,将地址映射到第一交错区组可以包括:确定地址的非对称存储器部分指派。
18.在一些方面,确定地址的非对称存储器部分指派可以包括:确定包括第一非对称存储器部分的非对称大小存储器部分的非对称存储器部分容量比率,确定非对称大小存储器部分的组合的非对称存储器部分容量,使用地址和组合的非对称存储器部分容量确定函数的值以及将函数的值与非对称大小存储器部分的非对称存储器部分容量比率的值进行比较,非对称大小存储器部分的非对称存储器部分容量比率的值表示非对称大小存储器部分中的一非对称大小存储器部分。
19.在一些方面,将接续的交错单元指派给第一交错区组可以包括:相对接续的交错单元中的第二交错单元线性地指派接续的交错单元中的第一接续的交错单元。
20.在一些方面,将接续的交错单元指派给第一交错区组可以包括:相对接续的交错
单元中的第二交错单元非线性地指派接续的交错单元中的第一接续的交错单元。
21.在一些方面,将接续的交错单元指派给第一交错区组可以包括:在将另一交错单元指派给另一刷新段之前,在第一刷新段具有未使用的空间时,将接续的交错单元指派给用于动态随机存取存储器刷新控制策略的刷新段。
22.另外的方面包括计算设备,该计算设备具有处理设备,该处理设备被配置为执行以上概述的任何方法的操作。另外的方面包括计算设备,该计算设备具有用于执行以上概述的任何方法的功能的部件。另外的方面包括非暂态处理器可读介质,该非暂态处理器可读介质具有存储在其上的处理器可执行指令,该处理器可执行指令被配置为使得计算设备的处理器和其他组件执行以上概述的任何方法的操作。
附图说明
23.并入本文并且构成本说明书一部分的附图图示了各种实施例的示例实施例,并且与上文给出的一般描述和下文给出的详细描述一起用于解释权利要求的特征。
24.图1是图示适合于实现各种实施例的示例计算设备的组件框图。
25.图2a至图2c是图示适合于实现各种实施例的示例动态随机存取存储器(dram)系统的组件框图。
26.图3a和图3b是图示现有的线性到交错的非对称dram排映射的示例的框图。
27.图4a至图4d是图示适合于实现各种实施例的对于非对称大小的dram部分的dram部分交错的示例的框图。
28.图5是图示根据实施例的用于非对称大小的dram部分的dram部分交错的方法的过程流程图。
29.图6是图示根据实施例的用于以紧凑方式将接续的交错单元指派给非对称dram部分的方法的过程流程图。
30.图7是图示根据实施例的用于以紧凑方式将地址映射到非对称dram部分的方法的过程流程图。
31.图8是图示根据实施例的用于将地址映射到指派的非对称dram部分的方法的过程流程图。
32.图9是图示适合于实现各种实施例的示例移动计算设备的组件框图。
33.图10是图示适合于实现各种实施例的示例移动计算设备的组件框图。
34.图11是图示适合于实现各种实施例的示例服务器的组件框图。
具体实施方式
35.将参考附图详细描述各种实施例。贯穿附图尽可能使用相同的附图标记来指代相同或相似的部分。对特定示例和实现方式的参考是出于说明性目的,并且不旨在限制权利要求的范围。
36.各种实施例包括用于非对称大小的dram部分的动态随机存取存储器(dram)部分交错的方法和实现此类方法的计算设备。实施例可以包括按序列顺序将接续的交错单元指派给每个非对称dram部分,诸如dram通道和/或dram排。一些实施例可以包括以接续的交错单元被指派给同一刷新段的方式将地址映射到非对称的dram部分。一些实施例可以包括在
非对称dram部分内的刷新段内以紧凑方式将地址映射到非对称dram部分。
37.术语“计算设备”和“移动计算设备”在本文中可互换地使用以指代包括存储器和可编程处理器的蜂窝电话、智能手机、个人或移动多媒体播放器、个人数字助理(pda)、膝上型计算机、平板计算机、可转换膝上型计算机/平板(2合1计算机)、智能本、超极本、上网本、掌上计算机、无线电子邮件接收器、支持多媒体互联网的蜂窝电话、移动游戏控制台、无线游戏控制器以及类似个人电子设备中的任一者或全部。术语“计算设备”还可以指固定计算设备,包括个人计算机、台式计算机、一体式计算机、工作站、超级计算机、大型计算机、嵌入式计算机(诸如在车辆和其他较大系统中)、服务器、多媒体计算机和游戏控制台。
38.本文使用的术语“dram部分”是指dram通道和dram排中的任一者或全部。本文所描述的使用术语“dram部分”、“dram通道”和“dram排”的示例可以类似地应用于这些术语中的任一者。
39.排交错通过基于指定的区组(诸如一定量的存储器)改变排,将dram地址空间分散在dram的多个排之上。类似地,排散列可以基于地址位的指定部分的函数来改变dram的排,并且该函数可以以对应于一定量的存储器的方式来配置。每个dram排可以是dram的不同裸片。交错单元可以是指派给dram排的dram地址空间的一部分,诸如一定量的存储器和/或一定范围的地址。为了清楚和易于解释,根据dram部分交错描述了各种实施例;然而,这些描述并不旨在限制权利要求的范围,这些描述可以类似地应用于dram部分。
40.通常对同等大小的dram排实现排交错。排交错以同等交替的方式分配dram中同等大小的dram排的交错单元,使得来自每个dram排的交错单元在来自dram排中的每个dram排的另一交错单元被分配之前被分配。通过使用排交错,通过跨多个dram排分散指向dram的事务,提高了dram使用效率。因此,对dram的事务的一些部分可以使用不同的dram排同时实现,而不是按顺序使用单个dram排。
41.对于非对称大小的dram排,进一步实现了排交错。排交错以相等的交替的方式在dram中分配非对称大小的dram排的一些交错单元并且以线性方式分配一些交错单元。例如,较小的非对称dram排的交错单元和较大的非对称dram排的同等数目的交错单元以同等交替的方式分配,并且较大的非对称dram排的剩余存储器空间以线性方式分配。使用交替的dram排以同样交替的方式分配的dram部分可以通过应用与同等大小的dram排的排交错相同的原理来实现dram使用效率的提高。然而,使用单个dram排以线性方式分配的dram部分将不会实现dram使用效率的提高,因为指向dram排的线性部分内的dram的事务是按顺序执行的。
42.也可以用dram刷新控制策略(诸如部分阵列自刷新(pasr)和/或部分阵列自动刷新(paar))来实现排或通道交错dram。在dram中实现pasr和/或paar以禁止刷新dram的未使用部分。在dram中实现pasr和/或paar以确保仅刷新存储在dram中的有用数据,从而降低刷新操作中的功耗。pasr和/或paar方案的区组基于dram的可以大于交错单元的部分(本文称为刷新段)。排或通道交错将交错单元跨刷新段分散,在刷新段被填充之前将交错单元分配给多个刷新段。因此,排或通道交错可能使dram排中的多个刷新段的部分未被分配。无论刷新段的所有存储器空间是否都分配有交错单元,都可以对刷新段执行刷新。刷新需要能量来实现,并且对没有完全分配有交错单元的刷新段(即,具有未分配的存储器空间)实现刷新是能量的浪费。因此,排或通道交错通过将交错单元跨多个部分填充的刷新段分散来限
制pasr和/或paar的有效性。
43.本文所描述的各种实施例可以通过以允许dram的所有部分实现dram使用效率提高并且潜在地降低刷新功耗的方式分配交错单元,来实现大小非对称的dram部分的dram部分交错。在一些实施例中,可以为非对称大小的dram部分分配交错单元,使得分配给至少两个非对称大小的dram部分中的每个dram部分的交错单元在分配给非对称大小的dram部分的交错单元的数目上不相等或非对称。在一些实施例中,指派给不同非对称大小的dram部分的交错单元的数目可以基于dram部分的大小。贯穿dram部分的交错单元的非对称交错可以将指向dram的事务跨多个dram部分分散并且避免指向dram的事务在dram部分的线性部分内按顺序执行。
44.此外,在一些实施例中,对dram部分的每个交错单元的分配可以被分配在同一刷新段内,直到刷新段被填充,或完全分配有交错单元。在一些实施例中,可以将交错单元分配给dram部分中的接续刷新段。与现有的排或通道交错相比,将交错单元分配给dram部分中的接续刷新段可以压缩为每个dram部分中的交错单元分配的存储器空间。通过将dram中的地址映射到dram部分中的刷新段的地址,可以将交错单元分配给特定的刷新段。刷新段可以是可以被刷新的最小单位容量。例如,刷新段可以是dram容量除以6或8。dram部分中接续分配的存储器空间可以通过增加刷新段的使用并且减少需要刷新的总存储器空间来增加pasr和/或paar的效率,允许pasr和/或paar对于dram的较大未使用部分被禁用。通过在将交错单元分配给其他刷新段之前,在刷新段的存储器空间中分配更多的交错单元来减少刷新段中未分配的存储器空间的量,可以增加刷新段的使用率。更紧凑地使用dram中的存储器空间可以减少交错单元跨dram的分散,从而减少需要刷新的总存储器空间。禁用一些刷新段的刷新可以节省与关闭的刷新段的总容量除以总dram容量成比例的能量。
45.除非另有说明,术语“存储器”和“dram”可互换地使用来描述各种实施例。为了清楚和易于解释,各种实施例是根据dram来描述的,但是不限制权利要求和说明书的范围。本文所描述的各种实施例可以类似地实现为配置有多个非对称部分(诸如排和/或通道)的任何存储器。
46.图1图示了包括适合用于各种实施例的计算设备100的系统。计算设备100可以包括具有中央处理单元104、存储器106、通信接口108、存储器接口110、外围设备接口120和处理设备124的soc 102。计算设备100还可以包括通信组件112,诸如有线或无线调制解调器、存储器114、用于建立无线通信链路的天线116和/或外围设备122。处理器124可以包括多种处理设备中的任一种,例如多个处理器核。
47.术语“片上系统”或“soc”在本文中用于指代一组互连的电子电路,通常但不排他地包括处理设备、存储器和通信接口。处理设备可以包括多种不同类型的处理器124和/或处理器核,诸如通用处理器、中央处理单元(cpu)104、数字信号处理器(dsp)、图形处理单元(gpu)、加速处理单元(apu)、安全处理单元(spu)、知识产权单元(ipu)、计算设备的特定组件的子系统处理器,诸如用于相机子系统的图像处理器或用于显示器的显示处理器、辅助处理器、外围设备处理器、单核处理器、多核处理器、控制器和/或微控制器。处理设备还可以体现为其他硬件和硬件组合,诸如现场可编程门阵列(fpga)、专用集成电路(asic)、其他可编程逻辑设备、分立门逻辑、晶体管逻辑、性能监测硬件、看门狗硬件和/或时间参考。集成电路可以被配置为使得集成电路的组件驻留在单片半导体材料(诸如硅)上。
48.soc 102可以包括一个或多个cpu 104和处理器124。计算设备100可以包括一个以上的soc 102,从而增加了cpu 104、处理器124和处理器核的数目。计算设备100还可以包括不与soc 102相关联的cpu 104和处理器124。单独的cpu 104和处理器124可以是多核处理器。cpu 104和处理器124可以各自被配置用于可以与计算设备100的其他cpu 104和处理器124相同或不同的特定目的。相同或不同配置的一个或多个cpu 104、处理器124和处理器核可以被分组在一起。一组cpu 104、处理器124或处理器核可以被称为多处理器集群。
49.soc 102的存储器106可以是易失性或非易失性存储器,该易失性或非易失性存储器被配置用于存储供cpu 104、处理器124或soc102的其他组件访问的数据和处理器可执行代码。计算设备100和/或soc 102可以包括为各种目的配置的一个或多个存储器106。一个或多个存储器106可以包括易失性存储器,诸如随机存取存储器(ram)或主存储器,或高速缓冲存储器。这些存储器106可以被配置为临时保存从数据传感器或子系统接收到的有限数目的数据、从非易失性存储器请求的、基于多种因素预期未来访问而从非易失性存储器加载到存储器106的数据和/或处理器可执行代码指令、和/或由cpu 104和/或处理器124产生的中间处理数据和/或处理器可执行代码指令,并且临时存储用于未来快速访问,而不存储在非易失性存储器中。在一些实施例中,任何数目的存储器106及其组合可以包括一次性可编程或只读存储器。
50.存储器106可以被配置为至少暂时地存储数据和处理器可执行代码,该数据和处理器可执行代码从另一存储器设备(诸如另一存储器106或存储器114)加载到存储器106以供cpu 104、处理器124或soc 102的其他组件中的一个或多个访问。加载到存储器106的数据或处理器可执行代码可以响应于cpu 104、处理器124或soc 102的其他组件对功能的执行而被加载。响应于功能的执行将数据或处理器可执行代码加载到存储器106可能是由于对存储器106的存储器访问请求不成功或“未命中”,因为所请求的数据或处理器可执行代码不位于存储器106中。响应于未命中,可以做出对另一存储器106或存储器114的存储器访问请求以将所请求的数据或处理器可执行代码从另一存储器106或存储器114加载到存储器106。响应于功能的执行将数据或处理器可执行代码加载到存储器106可以由对另一存储器106或存储器114的存储器访问请求产生,并且数据或处理器可执行代码可以被加载到存储器106以供以后访问。
51.存储器接口110和存储器114可以协同工作以允许计算设备100将数据和处理器可执行代码存储在易失性和/或非易失性存储介质上,并且从易失性和/或非易失性存储介质中检取数据和处理器可执行代码。存储器114可以被配置为非常类似于存储器106的实施例,其中存储器114可以存储供cpu 104、处理器124或soc 102的其他组件中的一个或多个访问的数据或处理器可执行代码。在一些实施例中,非易失性的存储器114可以在计算设备100的电源关闭后保留信息。当重新打开电源并且计算设备100重新启动时,存储在存储器114上的信息对于计算设备100是可用的。在一些实施例中,易失性的存储器114在计算设备100的电源关闭后可能不会保留信息。存储器接口110可以控制对存储器114的访问并且允许cpu 104、处理器124或soc 12的其他组件从存储器114读取数据和向存储器114写入数据。
52.计算设备100和/或soc 102的一些或所有组件可以不同地布置和/或组合,同时仍然服务于各种实施例的功能。计算设备100可以不限于组件中的每个组件中的一个组件,并
且组件中的每个组件的多个实例可以被包括在计算设备100的各种配置中。
53.图2a至图2c图示了适合于实现一些实施例的计算设备(例如,图1中的计算设备100)的组件。参考图1至图2c,计算设备可以包括被配置为实现dram系统200a、200b、200c的组件,该组件可以包括任意数目的存储器控制器202a、202b以及任意数目的dram排204a(“存储器排0”)、204b(“存储器排n”)、204c(“存储器排0”)、204d(“存储器排m”)。存储器控制器202a、202b可以被实现为计算设备的独立组件和/或可以是计算设备的另一组件的集成组件,诸如soc(例如,图1中的soc 102)、cpu(例如,图1中的cpu 104)、处理器(例如,图1中的处理器124)、和/或存储器接口(例如,图1中的存储器接口110)。dram排204a、204b、204c、204d可以被实现为计算设备的独立组件和/或可以是计算设备的另一组件的集成组件,诸如soc和/或存储器(例如,存储器106、114)。在一些实施例中,每个dram排204a、204b、204c、204d可以是dram集成电路的单个裸片。
54.在一些实施例中,dram系统200a可以是单通道系统,在图2a中图示了其示例。在一些实施例中,dram系统200b、200c可以是具有任意数目的dram通道214a、214b的多通道系统,在图2b和图2c中图示了该多通道系统的示例。存储器控制器202a、202b可以被配置为通过控制通信总线(诸如命令和地址总线206a、206b以及数据总线208a、208b)上的信号来控制对dram排204a、204b、204c、204d的存储器读取访问和写入访问。同一dram通道214a、214b的dram排204a、204b、204c、204d可以共享通信总线206a、206b、208a、208b。存储器控制器202a、202b可以被配置为通过控制每个dram排204a、204b、204c、204d的专用芯片选择线210a、210b、210c、210d来控制对同一dram通道214a、214b的dram排204a、204b、204c、204d的存储器读取访问和写入访问。例如,存储器控制器202a、202b可以向dram排204a、204b、204c、204d发信号通知对命令和地址总线206a、206b上的特定存储器地址的存储器写入访问以及数据总线208a、208b上的对应写入数据。存储器控制器202a、202b可以通过向dram排204a、204b、204c、204d的专用芯片选择线210a、210b、210c、210d上的特定dram排204a、204b、204c、204d发信号来指示dram排204a、204b、204c、204d中的哪一个dram排可实现存储器写入访问。作为另一示例,存储器控制器202a、202b可以向dram排204a、204b、204c、204d发信号通知命令和地址总线206a、206b上的特定存储器地址处的存储器读取访问。存储器控制器202a、202b可以通过向dram排204a、204b、204c、204d的专用芯片选择线210a、210b、210c、210d上的特定dram排204a、204b、204c、204d发信号来指示dram排204a、204b、204c、204d中的哪一个dram排可实现存储器读取访问。实现存储器读取访问的dram排204a、204b、204c、204d可以在数据总线208a、208b上返回读取数据。存储器控制器202a、202b可以通过控制芯片选择线210a、210b、210c、210d上的信令来管理dram排204a、204b、204c、204d的并发存储器访问。例如,可以使用命令和地址总线206a打开dram排204a上的页面,同时可以使用数据总线208a对dram排204b进行数据访问。
55.在一些实施例中,在图2a中图示了其示例,存储器控制器202a可以包括非对称排交错组件212a,本文也称为非对称dram部分交错组件。非对称排交错组件212a可以用软件、固件和/或硬件的任意组合来实现。非对称排交错组件212a可以使得存储器控制器202a通过以允许dram的所有部分实现dram使用效率提高并且通过降低刷新功率来增加pasr和/或paar的效率的方式分配交错单元,来实现用于非对称大小的dram排204a、204b的dram部分交错,如本文进一步描述的。
56.在一些实施例中,dram系统200b可以是具有任意数目的dram通道214a、214b的多通道系统并且可以包括非对称通道交错组件216,在图2b中图示了其示例。非对称通道交错组件216在本文也被称为非对称dram部分交错组件。非对称信道交错组件216可以用软件、固件和/或硬件的任意组合来实现。非对称信道交错组件216可以被实现为计算设备的独立组件和/或可以是计算设备的另一组件的集成组件,诸如soc和/或存储器(例如,存储器106、114)。非对称通道交错组件216可以被配置为通过控制通信总线218a、218b上的信号来控制对通道214a、214b的存储器读取访问和写入访问。例如,非对称通道交错组件216可以在通信总线218a上向通道214a发送存储器读取访问和写入访问,并且在通信总线218b上向通道214b发送存储器读取访问和写入访问。非对称通道交错组件216可以通过以允许dram的所有部分实现dram使用效率提高并且通过降低刷新功率来提高pasr和/或paar的效率的方式分配交错单元,来实现用于非对称大小的dram通道214a、214b的dram部分交错,如本文中进一步描述的。
57.在一些实施例中,dram系统200c可以是具有任意数目的dram通道214a、214b和任意数目的dram排204a、204b、204c、204d的多通道系统,在图2c中图示了该多通道系统的示例。通道214a、214b可以包括任意数目的dram排204a、204b、204c、204d。非对称通道交错组件216可以为非对称大小的dram通道214a、214b实现dram部分交错,并且非对称排交错组件212a、212b可以使存储器控制器202a、202b为非对称大小的dram排204a、204b、204c、204d实现dram部分交错,如本文进一步描述的。
58.图3a和图3b图示了现有的线性到交错的非对称dram排映射的示例。根据两个非对称大小的dram排(包括大dram排和小dram排,其中大dram排比小dram排具有更大的存储器容量)来描述此示例。如图3a和图3b中的阴影表示非对称大小的dram排的全部和/或部分。图3a图示了线性非对称dram排映射的示例,其包括大dram排302到存储器空间300的线性映射和小dram排304到存储器空间300的线性映射。图3b图示了交错的非对称dram排映射的示例,其包括非对称dram排310、314到存储器空间300的交错映射以及大dram排312到存储器空间300的线性映射。
59.线性非对称dram排映射使用大dram排302到存储器空间300的线性映射来接续地映射整个大dram排并且使用小dram排304到存储器空间300的线性映射来接续地映射整个小dram排。线性非对称dram排映射还接续地将整个大dram排和整个小dram排相互映射。
60.交错的非对称dram排映射使用非对称dram排310的交错映射以交错的方式将大dram排和小dram排的相等大小的第一部分映射到存储器空间300。使用非对称dram排314的交错映射以交错方式将大dram排和小dram排的相等大小的第二部分映射到存储器空间300。大dram排和小dram排的第一部分和第二部分的相等大小的交错单元以相等交替的方式被映射,使得来自每个dram排的交错单元在来自dram排中的每个dram排的另一交错单元被映射之前被映射。大dram排和小dram排的第一部分和第二部分彼此大小相等。交错的非对称dram排映射还使用大dram排312的线性映射来映射大dram排的第三部分。大dram排的第三部分是大dram排超过小dram排的存储器容量的量。
61.通过使用排交错,通过跨多个dram排分散指向dram的事务,提高了dram使用效率。因此,对dram的事务的一些部分可以使用不同的交错的dram排同时实现,而不是按顺序使用单个dram排。然而,使用单个dram排以线性方式映射的dram部分将不会实现dram使用效
率的提高,因为指向dram排的线性部分内的dram的事务是按顺序执行的。
62.图4a至图4d图示了适合于实现各种实施例的对于非对称大小的dram部分的部分交错的示例。参考图1至图2c,根据两个非对称大小的dram部分来描述这些示例,该两个非对称大小的dram部分包括大dram部分和小dram部分(例如,图2a至图2c中的dram排204a、204b、204c、204d、dram通道214a、214b),其中大dram部分比小dram部分具有更大的存储器容量。如图4a和图4b以及图4c和图4d中的阴影表示大小非对称的dram部分的部分。
63.图4a和图4c图示了映射到存储器空间400的交错的非对称dram部分的示例,该交错的非对称dram部分可以包括映射到存储器空间400的大dram部分402a、402b、402c、406a、406b、406c的交错部分和映射到存储器空间400的小dram部分404a、404b、408a、408b的交错部分。图4b和图4d图示了映射到大dram部分存储器空间410的交错的非对称dram部分的示例,该交错的非对称dram部分可以包括在交错区组412a、412b、412c、412d、414a、414b、414c、414d的组中映射到大dram部分存储器空间410的大dram部分的交错单元402a-402c、406a-406c,本文称为交错区组。该示例还包括映射到小dram部分存储器空间420的非对称dram部分,该非对称dram部分可以包括在交错区组422a、422b、422c、422d、424a、424b、424c、424d的组中映射到小dram部分存储器空间420的小dram部分的交错单元404a、404b、408a、408b,本文称为交错区组。用于非对称大小的dram部分的部分交错的实施例可以应用于任意数目的非对称大小的dram部分及其组合,其中至少两个dram部分是非对称大小的。根据两个非对称大小的dram部分描述的实施例旨在作为非限制性示例并且不旨在将权利要求的范围限制于仅两个非对称大小的dram部分。
64.用于非对称大小的dram部分的部分交错的各种实施例可以使用对于不同的dram部分可以不同的交错区组。非对称dram部分的交错区组可以是与非对称dram部分容量比率(r0:r1)相同的比率。大dram部分的交错区组412a-412d、414a-414d和小dram部分的交错区组422a-422d、424a-424d可以基于非对称dram部分容量比率来确定大小。例如,dram部分的交错区组412a-412d、414a-414d、422a-422d、424a-424d可以包括r0或r1交错单元402a-402c、404a、404b、406a-406c、408a、408b。
65.在一些实施例中,如图4a和图4b所示,用于非对称大小的dram部分的部分交错可以将r0个接续的交错单元402a-402c、404a、404b、406a-406c、408a、408b指派给存储器空间400并且将r1个接续的交错单元402a-402c、404a、404b、406a-406c、408a、408b指派给存储器空间400。在一些实施例中,用于非对称大小的dram部分的部分交错可以将r0个接续的交错单元402a-402c、406a-406c指派给大dram部分存储器空间410并且将r1个接续的交错单元404a、404b、408a、408b指派给小dram部分存储器空间420。在一些实施例中,用于非对称大小的dram部分的部分交错可以将r0个接续的交错单元404a、404b、408a、408b指派给小dram部分存储器空间420并且将r1个接续的交错单元402a-402c、406a-406c指派给大dram部分存储器空间410。将r0或r1个接续的交错单元402a-402c、404a、404b、406a-406c、408a、408b指派给存储器空间400、410、420还可以包括将交错单元402a-402c、404a、404b、406a-406c、408a、408b指派给交错区组412a-412d、414a-414d、422a-422a中的dram部分存储器空间410、420。
66.如本文进一步描述的,每个存储器空间400、410、420内的交错单元402a-402c、404a、404b、406a-406c、408a、408b的地址可以线性地增加,使得在交错单元402a-402c、
404a、404b、406a-406c、408a、408b之间的存储器空间400、410、420中没有留下未使用的存储器空间。交错单元402a-402c、404a、404b、406a-406c、408a、408b的地址可以以在dram部分存储器空间410、420内线性地增加地址的方式从存储器空间400映射到dram部分存储器空间410、420。交错单元402a-402c、404a、404b、406a-406c、408a、408b和/或交错区组412a-412d、414a-414d、422a-422d、424a-424d对存储器空间400、410、420的连续指派可以以类似的方式继续。
67.在一些实施例中,如图4c和图4d所示,用于非对称大小的dram部分的部分交错可以将r0个非接续的交错单元402a-402c、404a、404b、406a-406c、408a、408b指派给存储器空间400并且将r1个非接续的交错单元402a-402c、404a、404b、406a-406c、408a、408b指派给存储器空间400。在一些实施例中,用于非对称大小的dram部分的部分交错可以将r0个非接续的交错单元402a-402c、406a-406c指派给大dram部分存储器空间410,并且将r1个非接续的交错单元404a、404b、408a、408b指派给小dram部分存储器空间420。在一些实施例中,用于非对称大小的dram部分的部分交错可以将r0个非接续的交错单元404a、404b、408a、408b指派给小dram部分存储器空间420,并且将r1个非接续的交错单元402a-402c、406a-406c指派给大dram部分存储器空间410。将r0或r1个非接续的交错单元402a-402c、404a、404b、406a-406c、408a、408b指派给存储器空间400、410、420还可以包括将交错单元402a-402c、404a、404b、406a-406c、408a、408b指派给交错区组412a-412d、414a-414d、422a-422a中的dram部分存储器空间410、420。
68.如本文进一步描述的,每个存储器空间400、410、420内的交错区组412a-412d、414a-414d、422a-422d、424a-424d的地址可以线性地增加,使得在交错区组412a-412d、414a-414d、422a-422d、424a-424d之间的存储器空间400、410、420中没有留下未使用的存储器空间。交错单元402a-402c、404a、404b、406a-406c、408a、408b的地址可以以在dram部分存储器空间410、420内线性地增加交错区组412a-412d、414a-414d、422a-422d、424a-424d的地址的方式从存储器空间400映射到dram部分存储器空间410、420。例如,该组交错区组412a-412d、414a-414d、422a-422d、424a-424d可以以任何顺序包括交错单元402a-402c、404a、404b、406a-406c、408a、408b,而交错区组412a-412d、414a-414d、422a-422d、424a-424d的地址线性地增加。交错区组402a-402c、404a、404b、406a-406c、408a、408b对存储器空间400、410、420的连续指派可以以类似的方式继续。
69.使用大dram部分存储器空间410与小dram部分存储器空间420的3∶2非对称dram部分容量比率来解释本文所描述的示例,否则该非对称dram部分容量比率可以是任何非对称dram部分容量比率并且不将权利要求或说明书的范围限制为用于非对称dram部分容量比率的非对称dram部分的大小或顺序。在该示例中,大dram部分412a-412d、414a-414d的交错区组的大小使得它们各自包括分配给大dram部分存储器空间410的三个交错单元402a-402c、406a-406c,并且小dram部分422a-422d、424a-424d的交错区组的大小使得它们各自包括分配给小dram部分存储器空间420的两个交错区组404a、404b、408a、408b。所有交错单元402a-402c、404a、404b、406a-406c、408a、408b可以具有相同的大小。
70.在一些实施例中,如图4a和图4b所示,用于大dram部分的交错单元402a-402c、406a-406c和用于小dram部分的交错单元404a、404b、408a、408b可以以对应于在dram部分存储器空间410、420之间交替的交错区组412a-412d、414a-414d、422a-422d、424a-424d的
方式被指派给存储器空间400。交错单元402a-402c、404a、404b、406a-406c、408a、408b可以以这种方式指派给存储器空间400,其中对应于交错区组412a-412d、414a-414d、422a-422d、424a-424d的交错单元402a-402c、404a、404b、406a-406c、408a、408b的地址线性地增加。可以完成存储器空间的指派,使得在交错单元402a-402c、404a、404b、406a-406c、408a、408b之间的存储器空间400中不存在未使用的存储器空间。
71.在存储器空间400中指派的用于大dram部分的交错单元402a-402c、406a-406c可以被映射到大dram部分存储器空间410。存储器空间400中的用于大dram部分的交错单元402a-402c、406a-406c的地址可以被映射到大dram部分存储器空间410,使得大dram部分存储器空间410中的交错单元402a-402c、406a-406c的地址线性地增加。在存储器空间400中指派的用于大dram部分的交错单元402a-402c、406a-406c可以被映射到大dram部分存储器空间410中的交错区组412a-412d、414a-414d。存储器空间400中的用于大dram部分的交错单元402a-402c、406a-406c的地址可以被映射,使得大dram部分存储器空间410中的交错区组412a-412d、414a-414d的地址线性地增加。可以完成存储器空间的指派,使得在交错单元402a-402c、406a-406c之间以及交错区组412a-412d、414a-414d之间的大dram部分存储器空间410中不存在未使用的存储器空间。
72.在存储器空间400中指派的用于小dram部分的交错单元404a、404b、408a、408b可以被映射到小dram部分存储器空间420。存储器空间400中的用于小dram部分的交错单元404a、404b、408a、408b的地址可以被映射,使得小dram部分存储器空间420中的交错单元404a、404b、408a、408b的地址线性地增加。在存储器空间400中指派的用于小dram部分的交错单元404a、404b、408a、408b可以被映射到小dram部分存储器空间420中的交错区组422a-422d、424a-424d。存储器空间400中的用于小dram部分的交错单元404a、404b、408a、408b的地址可以被映射,使得小dram部分存储器空间420中的交错区组422a-422d、424a-424d的地址线性地增加。可以完成存储器空间的指派,使得在交错单元404a、404b、408a、408b之间以及交错区组422a-422d、424a-424d之间的小dram部分存储器空间420中不存在未使用的存储器空间。
73.在一些实施例中,如图4c和图4d所示,用于大dram部分的交错单元402a-402c、406a-406c和用于小dram部分的交错单元404a、404b、408a、408b可以以不对应于dram部分存储器空间410、420中的交错区组412a-412d、414a-414d、422a-422d、424a-424d的方式被指派给存储器空间400。交错单元402a-402c、404a、404b、406a-406c、408a、408b可以以交错单元的地址线性地增加的方式被指派给存储器空间400。可以完成存储器空间的指派,使得在交错单元402a-402c、404a、404b、406a-406c、408a、408b之间的存储器空间400中不存在未使用的存储器空间。
74.在存储器空间400中指派的用于大dram部分的交错单元402a-402c、406a-406c可以被映射到大dram部分存储器空间410。存储器空间400中的用于大dram部分的交错单元402a-402c、406a-406c的地址可以被映射,使得大dram部分存储器空间410中的交错区组412a-412d、414a-414d的地址线性地增加。映射在交错区组412a-412d、414a-414d中的交错单元402a-402c、406a-406c可以以任何顺序映射。例如,交错单元402a-402c、406a-406c可以被线性地映射到交错区组412a-412d、414a-414d。对于另一示例,交错单元402a-402c、406a-406c可以被非线性地映射到交错区组412a-412d、414a-414d。可以完成存储器空间的
指派,使得在交错区组412a-412d、414a-414d之间的大dram部分存储器空间410中不存在未使用的存储器空间。
75.在存储器空间400中指派的用于小dram部分的交错单元404a、404b、408a、408b可以被映射到小dram部分存储器空间420。存储器空间400中的用于小dram部分的交错单元404a、404b、408a、408b的地址可以被映射,使得小dram部分存储器空间420中的交错区组422a-422d、424a-424d的地址线性地增加。映射在交错区组422a-422d、424a-424d中的交错单元404a、404b、408a、408b可以以任何顺序映射。例如,交错单元404a、404b、408a、408b可以线性地映射到交错区组422a-422d、424a-424d。对于另一示例,交错单元404a、404b、408a、408b可以非线性地映射到交错区组422a-422d、424a-424d。可以完成存储器空间的指派,使得在交错区组422a-422d、424a-424d之间的小dram部分存储器空间420中不存在未使用的存储器空间。
76.存储器管理方案可以映射存储器空间400中大于交错区组412a-412d、422a-422d、414a-414d、424a-424d的刷新段。如此,每个刷新段可以包括任意数目的交错区组412a-412d、422a-422d、414a-414d、424a-424d。刷新段也可以跨大dram部分存储器空间410和小dram部分存储器空间420。与当前的非对称dram排或dram通道交错方案相比,对于相同的数据量和相同的存储器事务,实现用于非对称大小的dram部分的部分交错的实施例可以将更多的交错区组412a-412d、422a-422d、414a-414d、424a-424d压缩到存储器空间400、410、420的更小部分中。
77.使用pasr的存储器管理方案可以对存储器空间400、410、420中不包括任何交错单元402a-402c、404a、404b、406a-406c、408a、408b或交错区组412a-412d、422a-422d、414a-414d、424a-424d的刷新段禁用刷新。与现有的交错的非对称dram排或dram通道映射相比,实现用于非对称大小的dram部分的部分交错的实施例可以将更多的交错单元402a-402c、404a、404b、406a-406c、408a、408b压缩或将区组412a-412d、422a-422d、414a-414d、424a-424d交错成更少的刷新段。通过从刷新段中排除未使用的存储器空间,对于较少的刷新段可能需要刷新较少的存储器空间400、410、420。使用pasr来禁用没有任何交错单元402a-402c、404a、404b、406a-406c、408a、408b或交错区组412a-412d、422a-422d、414a-414d、424a-424d的刷新段的刷新,和/或减少要刷新的刷新段的数目,减少了用于刷新存储器空间400、410、420的未使用部分的浪费的能量。类似的存储器管理方案(诸如paar)可以类似地受益于消除对具有未使用的存储器空间的刷新段的刷新和/或减少要刷新的刷新段的数目。
78.通过使用dram排或dram通道交错,通过跨多个dram排或dram通道分散指向dram的事务,提高了dram使用效率。如此,对dram的事务的一些部分可以使用不同的dram排或dram通道同时实现,而不是按顺序使用单个dram排或dram通道。用于非对称大小的dram部分的部分交错的实施例可以通过在整个dram中提供交错来允许dram的所有使用部分实现dram使用效率的提高。
79.图5图示了根据实施例的用于非对称大小的dram部分的部分交错的方法500。参考图1至图2c和图4a至图5,方法500可以在计算设备(例如,图1中的计算设备100)中、在硬件(例如,图1中的soc 102、cpu 104、存储器106、114、存储器接口110、处理器124,图2a至图2c中的存储器控制器202a、202b、dram排204a、204b、204c、204d、非对称排交错组件212a、
212b、非对称通道交错组件216)中、在处理器(例如,图2a至图2c中的存储器控制器202a、202b、非对称排交错组件212a、212b、dram通道214a、214b、非对称排交错组件216)中执行的软件中、或者在软件配置的处理器和包括其他单独组件和各种存储器/高速缓存控制器(例如,图2中的存储器控制器202a、202b)的专用硬件(例如,图2a至图2c中的存储器控制器202a、202b、非对称排交错组件212a、212b、非对称排交错组件216)的组合中实现。为了涵盖在各种实施例中实现的替代配置,实现方法500的硬件在本文中被称为“存储器控制设备”。
80.在框502中,存储器控制设备可以接收存储器访问请求的地址。存储器控制设备可以接收存储器访问请求的地址以及对存储器的存储器访问请求,该存储器可以包括dram。在一些实施例中,在框502中接收存储器访问请求的地址的存储器控制设备可以是cpu、处理器、存储器控制器、非对称排交错组件和/或非对称通道交错组件。
81.在框504中,存储器控制设备可以在非对称存储器部分内以紧凑方式将地址映射到非对称存储器部分。在一些实施例中,将地址映射到非对称存储器部分可以涉及使用该地址的函数。在一些实施例中,由函数使用的地址可以是在框502中接收到的地址,不包括地址的列地址部分和库地址部分。在一些实施例中,由函数使用的地址可以是地址的多个位。例如,由函数使用的地址可以是地址的8个或9个最高有效位。对于另一示例,由函数使用的地址可以是地址的行地址部分的3到4个最高有效位以及地址的存储体地址部分之后的3或4个最高有效位。如参考图6至图8在方法600、700、800中进一步描述的,存储器控制设备可以在非对称存储器部分内以紧凑方式将地址映射到非对称存储器部分。在一些实施例中,在框504中以紧凑方式将地址映射到非对称存储器内的非对称存储器部分的存储器控制设备可以是cpu、处理器和/或存储器控制器。
82.在框506中,存储器控制设备可以按序列顺序将接续的交错单元指派给(一个或多个)非对称存储器部分(例如,图2a至图2c中的dram排204a、204b、204c、204d、dram通道214a、214b)。如参考图8在方法800中进一步描述的,存储器控制设备可以按序列顺序将接续的交错单元指派给(一个或多个)非对称存储器部分。在一些实施例中,在框504中接收按序列顺序将接续的交错单元指派给(一个或多个)非对称存储器部分的存储器控制设备可以是cpu、处理器、存储器控制器、非对称排交错组件和/或非对称通道交错组件。
83.在框508中,存储器控制设备可以在非对称存储器部分内的映射地址处实现存储器访问请求。存储器控制设备可以在非对称存储器部分内的地址映射地址处实施例如读取和/或写入存储器访问请求。在一些实施例中,存储器控制设备可以向通信总线(例如,图2b和图2c中的通信总线218a、218b)上的非对称存储器通道发送命令、映射的地址和/或数据。存储器控制设备可以在命令和地址总线(例如,图2b和图2c中的命令和地址总线206a、20b)上将命令和/或映射的地址发送到非对称存储器通道的(一个或多个)存储器排。存储器控制设备可以在数据总线(例如,图2b和图2c中的数据总线208a、208b)上向非对称存储器通道的(一个或多个)存储器排发送数据和/或从非对称存储器通道的存储器排接收数据。在一些实施例中,存储器控制设备可以在专用芯片选择线(例如,图2c中的专用芯片选择线210a、210b、210c、210d)上向非对称存储器通道的存储器排发送芯片选择信号,该非对称存储器通道被配置为控制该存储器排是否接收命令、映射地址和/或数据。在一些实施例中,存储器控制设备可以在命令和地址总线(例如,图2a中的命令和地址总线206a)上向非对称存储器排发送命令和/或映射的地址。存储器控制设备可以在数据总线(例如,图2a中的数
据总线208a)上向非对称存储器排发送数据和/或从非对称存储器排接收数据。存储器控制设备可以在专用芯片选择线(例如,图2a中的专用芯片选择线210a、210b)上向非对称存储器排发送芯片选择信号,该非对称存储器排被配置为控制非对称存储器排是否接收命令、映射的地址和/或数据。在一些实施例中,在框508中在非对称存储器部分内的映射地址处实现存储器访问请求的存储器控制设备可以是cpu、处理器、存储器控制器、非对称排交错组件和/或非对称通道交错组件。
84.图6图示了根据实施例的用于以紧凑方式将接续的交错单元指派给非对称dram部分的方法600。参考图1至图2c和图4a至图6,方法600可以在计算设备(例如,图1中的计算设备100)中、在硬件(例如,图1中的soc 102、cpu 104、存储器106、114、存储器接口110、处理器124,图2a至图2c中的存储器控制器202a、202b、dram排204a、204b、204c、204d、非对称排交错组件212a、212b、非对称通道交错组件216)中、在处理器(例如,图2a至图2c中的存储器控制器202a、202b、非对称排交错组件212a、212b、dram通道214a、214b、非对称排交错组件216)中执行的软件中、或者在软件配置的处理器和包括其他单独组件和各种存储器/高速缓存控制器(例如,图2中的存储器控制器202a、202b)的专用硬件(例如,图2a至图2c中的存储器控制器202a、202b、非对称排交错组件212a、212b、非对称排交错组件216)的组合中实现。为了涵盖在各种实施例中实现的替代配置,实现方法600的硬件在本文中被称为“存储器控制设备”。
85.在框602中,存储器控制设备可以确定非对称存储器部分容量比率。在一些实施例中,多个非对称存储器部分(例如,图2a至图2c中的dram排204a、204b、204c、204d、dram通道214a、214b)的容量可以是存储器控制设备已知的,诸如存储在可访问的存储器中。例如,非对称存储器部分的容量可以存储在只读存储器上,该只读存储器可以是具有和/或包括在非对称存储器部分中的存储器(例如,图1中的存储器106、114)的组成部分。在一些实施例中,多个非对称存储器部分的容量可以由存储器控制设备来确定。存储器控制设备可以比较非对称存储器部分的大小以确定非对称存储器部分容量比率。在一些实施例中,非对称存储器部分容量比率可以是存储器控制设备已知的,诸如存储在可访问的存储器中,并且由存储器控制设备检取以确定非对称存储器部分容量比率。例如,非对称存储器部分容量比率可以预先确定,诸如在本文参考图7描述的方法700的框702中,存储到寄存器或缓冲器中,该寄存器或缓冲器可以是存储器的一部分。在一些实施例中,第一非对称存储器部分的非对称存储器部分容量可以被表示为“r0”,第二非对称存储器部分的非对称存储器部分容量可以表示为“r1”,并且非对称存储器部分容量比率可以等于r0∶r1。在一些实施例中,在框602中确定非对称存储器部分容量比率的存储器控制设备可以是cpu、处理器、存储器控制器、非对称排交错组件和/或非对称通道交错组件。
86.在框604中,存储器控制设备可以确定非对称存储器部分的交错区组大小。非对称存储器部分的交错区组大小可以对应于非对称存储器部分容量比率。例如,非对称存储器部分的交错区组大小可以是表示非对称存储器部分的容量的非对称存储器部分容量比率的值的函数。非对称存储器部分的交错区组大小可以是表示非对称存储器部分容量的非对称存储器部分容量比率的值的函数的结果的交错单元的数目(例如,图4a和图4c中的交错单元402a-402c、404a、404b、406a-406c、408a、408b)和/或存储器的数目。在一些实施例中,在框604中确定非对称存储器部分的交错区组大小的存储器控制设备可以是cpu、处理器、
存储器控制器、非对称排交错组件和/或非对称通道交错组件。
87.在框606中,存储器控制设备可以确定组合的非对称存储器部分容量。在一些实施例中,组合的非对称存储器部分容量可以是存储器控制设备已知的,诸如存储在可访问的存储器中,并且由存储器控制设备检取以确定组合的非对称存储器部分容量。例如,组合的非对称存储器部分容量可以存储在只读存储器上,该只读存储器可以是具有和/或包括在非对称存储器部分中的存储器的组成部分。在一些实施例中,组合的非对称存储器部分容量可以由存储器控制设备确定。存储器控制设备可以组合非对称存储器部分的大小以确定组合的非对称存储器部分容量比率。在一些实施例中,组合的非对称存储器部分容量比率可以表示为“rsum”,其中rsum=r0+r1。在一些实施例中,在框606中确定组合的非对称存储器部分容量的存储器控制设备可以是cpu、处理器、存储器控制器、非对称排交错组件和/或非对称通道交错组件。
88.在框608中,存储器控制设备可以确定交错单元的非对称存储器部分指派。在一些实施例中,在框608中确定交错单元的非对称存储器部分指派的存储器控制设备可以是cpu、处理器、存储器控制器、非对称排交错组件和/或非对称通道交错组件。在一些实施例中,交错单元的非对称存储器部分指派可以取决于交错区组大小。由于交错区组的大小可以被设定为对应于非对称存储器部分容量比率,因此某些交错区组可能适合于某些非对称存储器部分。特别地,对于使用表示非对称存储器部分的容量的非对称存储器部分容量比率的值的函数来确定大小的交错区组,该交错区组可以适用于非对称存储器部分。用于非对称存储器部分的交错区组的大小可以被确定为使得特定数目的交错单元适合在交错区组内。一旦在一个非对称存储器部分中指派了多个交错单元,则下一个交错单元可以被指派给具有另一交错区组大小的另一非对称存储器部分。
89.在一些实施例中,对应于存储器(例如,图1中的存储器106、114)的存储器空间(例如,图4a和图4c中的存储器空间400)的地址可以被映射到对应于单个非对称存储器部分的单个非对称存储器部分存储器空间(例如,图4b和图4d中的dram部分存储器空间410、420)。在一些实施例中,对应于组合的非对称存储器部分容量“rsum”和非对称存储器部分容量比率的函数,可以在非对称存储器部分之间划分存储器空间的地址。例如,指派给非对称存储器部分存储器空间的存储器空间的地址量可以是表示非对称存储器部分的容量的非对称存储器部分容量比率的值的函数。例如,指派给第一非对称存储器部分存储器空间的存储器空间的地址量可以等于存储器空间的r0/rsum并且指派给第二非对称存储器部分存储器空间的存储器空间的地址量可以等于存储器空间的r1/rsum。在一些实施例中,组合的非对称存储器部分容量可以是存储器控制设备已知的,诸如存储在可访问的存储器中,并且由存储器控制设备检取以确定交错单元的非对称存储器部分指派。例如,组合的非对称存储器部分容量可以被预先确定,诸如在本文参考图7描述的方法700的框704中,如存储到寄存器或缓冲器中,该寄存器或缓冲器可以是存储器的一部分。在一些实施例中,可以根据组合的非对称存储器部分容量、非对称存储器部分的容量和/或非对称存储器部分容量比率来确定非对称存储器部分的特定地址指派。
90.基于将存储器空间的地址映射到非对称存储器部分,可以将交错单元“iuaddress”的地址映射到非对称存储器部分。对于特定的非限制性示例,地址模组合的非对称存储器部分容量的模数mod=iuaddress%rsum可以与非对称存储器部分的非对称存
储器部分容量比率值进行比较以确定将交错单元指派给哪个非对称存储器部分。例如,小于非对称存储器部分的非对称存储器部分容量比率值的模数可以向存储器控制设备指示交错单元可以被指派给非对称存储器部分。例如,mod《r0可以向存储器控制设备指示交错单元可以被指派给第一非对称存储器部分。对于两个非对称存储器部分,不小于非对称存储器部分的非对称存储器部分容量比率值的模数可以向存储器控制设备指示交错单元可以被指派给非对称存储器部分中的另一非对称存储器部分。例如,mod≥r0可以向存储器控制设备指示交错单元可以被指派给第二非对称存储器部分。对于两个以上的非对称存储器部分,与非对称存储器部分的非对称存储器部分容量比率值的进一步模数比较可以向存储器控制设备指示交错单元可以被指派给特定的非对称存储器部分。在一些实施例中,对于参考图5描述的方法500的框502中接收到的存储器访问请求的地址,交错单元的非对称存储器部分指派可以与参考图7描述的方法700的框706中确定的非对称存储器部分指派相同。
91.在框610中,存储器控制设备可以确定已消耗的地址空间偏移量。在一些实施例中,在框610中确定已消耗的地址空间偏移量的存储器控制设备可以是cpu、处理器、存储器控制器、非对称排交错组件和/或非对称通道交错组件。可以基于对应于存储器的存储器空间来寻址交错单元。然而,与存储器空间相比,对应于单个非对称存储器部分的每个非对称存储器部分存储器空间可以被不同地寻址。此外,由于存储器空间被划分在多个非对称存储器部分存储器空间中,所消耗的存储器空间的量可能不对应于消耗的非对称存储器部分存储器空间的量。为了以紧凑方式将基于存储器空间的地址的交错单元映射到非对称存储器部分存储器空间,可以考虑不对应的所消耗的存储器空间。例如,可以移除与非对称存储器部分存储器空间的已消耗存储器不对应的存储器空间的已消耗存储器的量以确定非对称存储器部分存储器空间中要将存储器空间的交错单元映射到的地址。在一些实施例中,与非对称存储器部分存储器空间的已消耗存储器不对应的存储器空间的已消耗存储器的量可以是不同非对称存储器部分存储器空间的已消耗存储器的量。此不对应的消耗的存储器的量可以是已消耗的地址空间偏移量。
92.对于特定且非限制性示例,存储器空间“iuaddress”中的交错单元的地址(诸如下界(lower bound)地址),可以除以组合的非对称存储器部分容量rsum。所得的商“div”可以用于函数中以确定已消耗的地址空间偏移量。例如,div=iuaddress/rsum。在一些实施例中,如在框608中所确定的,该函数可以基于对应于交错单元的地址被指派给哪个非对称存储器部分来使用不同的变量。例如,对于指派给非对称存储器部分的交错单元的地址的已消耗的地址空间偏移量“偏移量”可以是商乘以表示不同非对称存储器部分的容量的非对称存储器部分容量比的值的乘积(如框602中所确定的),再加上模数的函数(如框608中所确定的)。例如,offset=(portion0)?(div*r1+mod》》1):(div*r0+mod》》1+1)。在一些实施例中,可以以可以表示所消耗的存储器空间的各种其他方式来确定偏移量。
93.在框612中,存储器控制设备可以使用在框610中确定的已消耗的地址空间偏移量“偏移量”来修改交错单元“iuaddress”的地址。在一些实施例中,可以基于在框608中交错单元被指派给的非对称存储器部分的所消耗的存储器空间的量,将地址修改为所指派的非对称存储器部分存储器空间内的地址和/或地址的范围。在一些实施例中,在框608中,交错单元的地址可以被修改为该交错单元被指派给的非对称存储器部分存储器空间内的地址
和/或地址的范围。在一些实施例中,交错单元的地址可以被修改为交错区组(例如,图4b和图4d中的交错区组412a-412d、414a-414d)内的地址和/或地址的范围,交错单元被指派给的非对称存储器部分存储器空间的非对称存储器部分存储器空间的数目,为非对称存储器部分存储器空间的交错区组大小,如在框604中所确定的。可以修改多个交错单元的地址以便以任何顺序映射到交错区组。例如,可以修改多个交错单元的地址以便以非线性方式映射到交错区组。作为另一示例,可以修改多个交错单元的地址以便以线性方式映射到交错区组。交错单元的地址可以继续被修改以映射到交错区组,直到交错区组是满的。例如,全交错区组可以在交错单元之间没有未使用的非对称存储器部分存储器空间。在一些实施例中,可以不修改交错单元的地址以映射到任何非对称存储器部分存储器空间的另一交错区组,直到交错区组是满的。与现有的排或通道交错相比以此类方式修改交错单元的地址可以减少用于多个交错单元的刷新段的数目。像pasr或paar的刷新方案可以对较少的刷新段启用刷新并且对更多未使用的刷新段禁用刷新。在完全利用先前启用刷新的刷新段之后,可以为刷新段启用刷新。
94.在一些实施例中,可以修改交错单元的地址以对应于它被指派给的非对称存储器部分的所消耗的存储器空间的量。在一些实施例中,交错单元的地址可以被修改为在交错单元被指派给的非对称存储器部分存储器空间的交错区组的地址的范围内,该地址与非对称存储器部分的所消耗的存储器空间线性地连续或接续。在一些实施例中,交错单元的地址的此类修改在交错区组的地址的范围内可以是非线性的。例如,对于非对称存储器部分存储器空间,交错单元的地址可以被修改为与交错区组中和/或交错区组之间的先前映射的交错单元非线性。因此,非对称存储器部分存储器空间的多个交错区组可以是线性的,在非对称存储器部分存储器空间的交错区组之间没有任何未使用的存储器空间,而非对称存储器部分存储器空间的每个连续的交错区组可以以非线性方式填充。
95.在一些实施例中,交错单元的地址可以被修改为与其被指派给的非对称存储器部分的所消耗的存储器空间线性地连续或接续。因此,非对称存储器部分存储器空间的多个交错单元可以是线性的,在非对称存储器部分存储器空间的交错单元之间没有任何未使用的存储器空间。例如,交错单元的地址可以被修改为与先前映射的交错单元成线性关系。通过扩展,非对称存储器部分存储器空间的多个交错区组可以是线性的,在非对称存储器部分存储器空间的交错区组之间没有任何未使用的存储器空间,而非对称存储器部分存储器空间的每个连续的交错区组可以以线性方式填充。例如,交错单元的修改地址“mapiuaddress”可以是交错单元的地址和已消耗的地址空间偏移量之间的差。例如,mapiuaddress=iuaddress-偏移量。在一些实施例中,可以以可考虑所消耗的存储器空间的各种其他方式来确定mapiuaddress。在一些实施例中,在框612中使用已消耗的地址空间偏移量来修改交错单元的地址的存储器控制设备可以是cpu、处理器、存储器控制器、非对称排交错组件和/或非对称通道交错组件。
96.在框614中,存储器控制设备可以将交错单元指派给非对称存储器部分。如框608中所确定的,存储器控制设备可以将交错单元指派给非对称存储器部分。如框612中所确定的,存储器控制设备可以将交错单元指派给非对称存储器部分存储器空间中的交错单元的修改地址。在一些实施例中,存储器控制设备可以以非线性方式将交错单元指派给非对称存储器部分以指派给非对称存储器部分中先前指派的存储器交错单元。在一些实施例中,
存储器控制设备可以以线性方式将交错单元指派给非对称存储器部分以指派给非对称存储器部分中先前指派的存储器交错单元。在一些实施例中,在线性地指派的交错单元之间可能不存在未使用的非对称存储器部分存储器空间。在一些实施例中,在框614中将交错单元指派给非对称存储器部分的存储器控制设备可以是cpu、处理器、存储器控制器、非对称排交错组件和/或非对称通道交错组件。
97.在一些实施例中,参考图6描述的方法600的任意数目的框602至图614及其组合可以为存储器空间(例如,图4a和图4c中的存储器空间400)中任意数目的接续的交错单元(例如,图4a和图4c中的交错单元402a-402c、404a、404b、406a-406c、408a、408b)实现。交错单元可以对应于存储器空间中的地址。因此,交错单元可以被指派给非对称存储器部分存储器空间(例如,图4b和图4d中的dram部分存储器空间410、420)中的交错区组(例如,图4b和图4d中的交错区组412a-412d、414a-414d)。在一些实施例中,来自存储器空间的接续的交错单元可以被按顺序指派给交错区组。在一些实施例中,可以以将地址映射到交错区组的方式来指派接续的交错单元。例如,可以在交错区组内以任何顺序指派接续的交错单元。作为另一示例,可以在交错区组内以线性顺序地指派交错单元。在一些实施例中,可以将交错单元指派给交错区组,直到该交错区组被填充并且在将任何交错单元指派给同一非对称存储器部分存储器中的另一交错区组之前。在一些实施例中,可以将交错单元指派给交错区组,直到该交错区组被填充并且在将任何交错单元指派给同一非对称存储器部分存储器或另一非对称存储器部分存储器中的另一交错区组之前。
98.图7图示了根据实施例的用于在非对称dram部分内以紧凑方式将地址映射到非对称dram部分的方法700。参考图1至图2c和图4a至图7,方法700可以在计算设备(例如,图1中的计算设备100)中、在硬件(例如,图1中的soc 102、cpu 104、存储器106、114、存储器接口110、处理器124,图2a至图2c中的存储器控制器202a、202b、dram排204a、204b、204c、204d、非对称排交错组件212a、212b、非对称通道交错组件216)中、在处理器(例如,图2a至图2c中的存储器控制器202a、202b、非对称排交错组件212a、212b、dram通道214a、214b、非对称排交错组件216)中执行的软件中、或者在软件配置的处理器和包括其他单独组件和各种存储器/高速缓存控制器(例如,图2中的存储器控制器202a、202b)的专用硬件(例如,图2a至图2c中的存储器控制器202a、202b、非对称排交错组件212a、212b、非对称排交错组件216)的组合中实现。为了涵盖在各个实施例中启用的替代配置,实现方法700的硬件在本文中被称为“存储器控制设备”。
99.在框702中,存储器控制设备可以确定非对称存储器部分容量比率。在一些实施例中,多个非对称存储器部分(例如,图2a至图2c中的dram排204a、204b、204c、204d、dram通道214a、214b)的容量可以是存储器控制设备已知的,诸如存储在可访问的存储器中。例如,非对称存储器部分的容量可以存储在只读存储器上,该只读存储器可以是具有和/或包括在非对称存储器部分中的存储器(例如,图1中的存储器106、114)的组成部分。在一些实施例中,多个非对称存储器部分的容量可以由存储器控制设备来确定。存储器控制设备可以比较非对称存储器部分的大小以确定非对称存储器部分容量比率。在一些实施例中,非对称存储器部分容量比率可以是存储器控制设备已知的,诸如存储在可访问的存储器中,并且由存储器控制设备检取以确定非对称存储器部分容量比率。例如,非对称存储器部分容量比率可以预先确定,诸如在本文参考图6描述的方法600的框602中,存储到寄存器或缓冲器
中,该寄存器或缓冲器可以是存储器的一部分。在一些实施例中,第一非对称存储器部分的非对称存储器部分容量可以表示为“r0”,第二非对称存储器部分的非对称存储器部分容量可以表示为“r1”,并且非对称存储器部分容量比率可以等于r0∶r1。在一些实施例中,在框702中确定非对称存储器部分容量比率的存储器控制设备可以是cpu、处理器、存储器控制器、非对称排交错组件和/或非对称通道交错组件。
100.在框704中,存储器控制设备可以确定组合的非对称存储器部分容量。在一些实施例中,组合的非对称存储器部分容量可以是存储器控制设备已知的,诸如存储在可访问的存储器中,并且由存储器控制设备检取以确定组合的非对称存储器部分容量。例如,组合的非对称存储器部分容量可以被存储在只读存储器上,该只读存储器可以是具有和/或包括在非对称存储器部分中的存储器的组成部分。在一些实施例中,组合的非对称存储器部分容量可以由存储器控制设备确定。存储器控制设备可以组合非对称存储器部分的大小以确定组合的非对称存储器部分容量比率。在一些实施例中,组合的非对称存储器部分容量比率可以表示为“rsum”,其中rsum=r0+r1。在一些实施例中,组合的非对称存储器部分容量可以是存储器控制设备已知的,诸如存储在可访问的存储器中,并且由存储器控制设备检取以确定组合的非对称存储器部分容量。例如,组合的非对称存储器部分容量可以被预先确定,诸如在本文参考图6描述的方法600的框606中,如存储到寄存器或缓冲器中,该寄存器或缓冲器可以是存储器的一部分。在一些实施例中,在框704中确定组合的非对称存储器部分容量的存储器控制设备可以是cpu、处理器、存储器控制器、非对称排交错组件和/或非对称通道交错组件。
101.在框706中,存储器控制设备可以确定地址的非对称存储器部分指派(例如,在参考图5描述的方法500的框502中接收到的存储器访问请求的地址)。在一些实施例中,在框706中确定地址的非对称存储器部分指派的存储器控制设备可以是cpu、处理器、存储器控制器、非对称排交错组件和/或非对称通道交错组件。对应于存储器(例如,图1中的存储器106、114)的存储器空间(例如,图4a和图4c中的存储器空间400)的地址可以映射到对应于单个非对称存储器部分的单个非对称存储器部分存储器空间(例如,图4b和图4d中的dram部分存储器空间410、420)。在一些实施例中,对应于组合的非对称存储器部分容量和非对称存储器部分容量比率的函数,可以在非对称存储器部分之间划分存储器空间的地址。例如,指派给非对称存储器部分存储器空间的存储器空间的地址量可以是表示非对称存储器部分的容量的非对称存储器部分容量比率的值的函数。例如,指派给第一非对称存储器部分存储器空间的存储器空间的地址量可以等于存储器空间的r0/rsum并且指派给第二非对称存储器部分存储器空间的存储器空间的地址量可以等于存储器空间的r1/rsum。在一些实施例中,可以根据组合的非对称存储器部分容量、非对称存储器部分的容量和/或非对称存储器部分容量比率来确定非对称存储器部分的特定地址指派。
102.基于存储器空间的地址到非对称存储器部分的映射,存储器访问请求的地址可以被映射到非对称存储器部分。作为特定的非限制性示例,可以将地址模组合的非对称存储器部分容量的模数mod=address%rsum与非对称存储器部分的非对称存储器部分容量比率值进行比较以确定将地址指派给哪个非对称存储器部分。例如,小于非对称存储器部分的非对称存储器部分容量比率值的模数可以向存储器控制设备指示该地址可以被指派给非对称存储器部分。例如,mod《r0可以向存储器控制设备指示该地址可以被指派给第一非
对称存储器部分。对于两个非对称存储器部分,不小于非对称存储器部分的非对称存储器部分容量比率值的模数可以向存储器控制设备指示地址可以被指派给非对称存储器部分中的另一非对称存储器部分。例如,mod≥r0可以向存储器控制设备指示该地址可以被指派给第二非对称存储器部分。对于两个以上的非对称存储器部分,与非对称存储器部分的非对称存储器部分容量比率值的进一步模数比较可以向存储器控制设备指示该地址可以被指派给特定的非对称存储器部分。
103.在框708中,存储器控制设备可以将地址映射到所指派的非对称存储器部分。在一些实施例中,可以以紧凑方式将地址映射到所指派的非对称存储器部分的地址空间。例如,如框706中所确定的,该地址可以被映射到所指派的非对称存储器部分的地址空间中的地址,使得该地址与先前映射的地址在所指派的非对称存储器部分的同一交错区组(例如,图4b和图4d中的交错区组412a-412d、414a-414d)内。如参考图6描述的方法600的框604中所确定的,交错区组可以是地址被指派给的非对称存储器部分存储器空间的非对称存储器部分存储器空间的交错区组大小的量。在一些实施例中,在所指派的非对称存储器部分的地址空间中,在交错区组之间可以不存在未使用的地址空间。在一些实施例中,一旦交错区组被填充,地址可以被映射到非对称存储器部分的其他交错区组。对于另一示例,可以以非线性方式将地址映射到所指派的非对称存储器部分的地址空间。换句话说,该地址可以被映射到所指派的非对称存储器部分的地址空间中的地址,使得该地址可以与所指派的非对称存储器部分的地址空间中的先前映射的地址不接续。该地址可以在与先前映射的地址相同的交错区组内以非线性方式映射。对于另一示例,可以以线性方式将地址映射到所指派的非对称存储器部分的地址空间。换句话说,该地址可以被映射到所指派的非对称存储器部分的地址空间中的地址,使得该地址与先前映射的地址接续,使得在所指派的非对称存储器部分的地址空间中,在映射的地址和先前映射的地址之间不存在未使用的地址。该地址可以在与先前映射的地址相同的交错区组内以线性方式映射。将地址映射到所指派的非对称存储器部分可以如参考图8在方法800中进一步描述的那样来实现。在一些实施例中,在框708中将地址映射到所指派的非对称存储器部分的存储器控制设备可以是cpu、处理器、存储器控制器、非对称排交错组件和/或非对称通道交错组件。
104.图8图示了根据一些实施例的用于将地址映射到指派的非对称dram部分的方法800。参考图1至图2c和图4a至图8,方法800可以在计算设备(例如,图1中的计算设备100)中、在硬件(例如,图1中的soc 102、cpu 104、存储器106、114、存储器接口110、处理器124,图2a至图2c中的存储器控制器202a、202b、dram排204a、204b、204c、204d、非对称排交错组件212a、212b、非对称通道交错组件216)中、在处理器(例如,图2a至图2c中的存储器控制器202a、202b、非对称排交错组件212a、212b、dram通道214a、214b、非对称排交错组件216)中执行的软件中、或者在软件配置的处理器和包括其他单独组件和各种存储器/高速缓存控制器(例如,图2中的存储器控制器202a、202b)的专用硬件(例如,图2a至图2c中的存储器控制器202a、202b、非对称排交错组件212a、212b、非对称排交错组件216)的组合中实现。为了涵盖在各个实施例中启用的替代配置,实现方法800的硬件在本文中被称为“存储器控制设备”。
105.在可选框802中,存储器控制设备可以确定已消耗的地址空间偏移量。在一些实施例中,在框802中确定已消耗的地址空间偏移量的存储器控制设备可以是cpu、处理器、存储
器控制器、非对称排交错组件和/或非对称通道交错组件。可以基于对应于存储器(例如,图1中的存储器106、114)的存储器空间(例如,图4a和图4c中的存储器空间400)来寻址存储器访问请求。然而,与存储器空间相比,对应于单个非对称存储器部分(例如,图2a至图2c中的dram排204a、204b、204c、204d、dram通道214a、214b)的每个非对称存储器部分存储器空间(例如,图4b和图4d中的dram部分存储器空间410、420)可以被不同地寻址。此外,由于存储器空间被划分在多个非对称存储器部分存储器空间之中,所消耗的存储器空间的量可能不对应于所消耗的非对称存储器部分存储器空间的量。为了以紧凑方式将基于存储器空间的地址的地址(例如,在本文参考图5描述的方法500的框502中接收到的存储器访问请求的地址)映射到非对称存储器部分存储器空间,可以考虑不对应的所消耗的存储器空间。例如,可以移除与非对称存储器部分存储器空间的已消耗存储器不对应的存储器空间的已消耗存储器的量以确定非对称存储器部分存储器空间中要将存储器空间的地址映射到的地址。在一些实施例中,与非对称存储器部分存储器空间的已消耗存储器不对应的存储器空间的已消耗存储器的量可以是不同非对称存储器部分存储器空间的已消耗存储器的量。此不对应的消耗的存储器的量可以是已消耗的地址空间偏移量。
106.作为特定且非限制性的示例,存储器空间中的存储器访问请求的地址可以除以组合的非对称存储器部分容量,诸如在参考图7描述的方法700的框704中确定的。所得的商“div”可以用于函数中以确定已消耗的地址空间偏移量。例如,div=address/rsum。在一些实施例中,如参考图7描述的方法700的框706中所确定的,该函数可以基于地址被指派给的非对称存储器部分来使用不同的变量。例如,对于指派给非对称存储器部分的地址的所消耗的地址空间偏移量“偏移量”可以是商乘以表示不同非对称存储器部分的容量的非对称存储器部分容量比的值的乘积(如参考图7所述的方法700的框702中所确定的),再加上模数的函数(如参考图7所述的方法700的框706中所确定的)。例如,offset=(portion0)?(div*r1+mod》》1):(div*r0+mod》》1+1)。在一些实施例中,可以以可以表示所消耗的存储器空间的各种其他方式来确定偏移量。
107.在框804中,存储器控制设备可以使用已消耗的地址空间偏移量“offset”来修改地址。在一些实施例中,“offset”可以是在可选框802中确定的值。在一些实施例中,“offset”可以是在本文参考图6描述的方法600的框610中确定的值。在一些实施例中,可以将该地址修改为非对称存储器部分存储器空间中的交错区组(例如,图4b和图4d中的交错区组412a-412d、414a-414d)内的在本文参考图7描述的方法700的框706中指派给该非对称存储器部分存储器空间的地址和/或地址的范围。如参考图6描述的方法600的框604中所确定的,交错区组可以是地址被指派给的非对称存储器部分存储器空间的非对称存储器部分存储器空间的交错区组大小的量。在一些实施例中,地址可以被修改为映射到在框706中地址被指派给的非对称存储器部分存储器空间的交错单元(例如,图4a和图4c中的交错单元402a-402c、404a、404b、406a-406c、408a、408b)内的地址和/或地址的范围。如框610中所确定的,可以基于非对称存储器部分的所消耗的存储器空间的量,将交错单元映射到非对称存储器部分的存储器空间。多个地址可以以任何顺序映射到交错单元。例如,地址可以以非线性方式映射到交错单元。作为另一示例,地址可以以线性方式映射到交错单元。可继续将地址映射到交错区组的交错单元,直到交错区组是满的。例如,全交错区组可以在交错单元之间没有未使用的非对称存储器部分存储器空间。在一些实施例中,可以不修改存储器访
414d)和/或交错单元(例如,图4a和图4c中的交错单元402a-402c、404a、404b、406a-406c、408a、408b)。在一些实施例中,来自存储器空间的接续地址可以被按顺序映射到交错区组和/或交错单元。例如,接续地址可以在交错区组和/或交错单元内以任何顺序映射。作为另一示例,地址可以在交错区组和/或交错单元内以线性顺序地映射。在一些实施例中,可以将地址指派给交错区组,直到该交错区组被填充并且在将任何地址指派给同一非对称存储器部分存储器中的另一交错区组之前。在一些实施例中,可以将地址指派给交错区组,直到该交错区组被填充并且在将任何地址指派给同一非对称存储器部分存储器或另一非对称存储器部分存储器中的另一交错区组之前。
112.根据各种实施例(包括但不限于以上参考图1至图8描述的实施例)的系统可以在包括移动计算设备的各种计算系统中实现,图9中图示了适合用于各种实施例的示例。移动计算设备900可以包括处理器902,该处理器耦合到触摸屏控制器904和内部存储器906。处理器902可以是被指定用于一般或特定处理任务的一个或多个多核集成电路。内部存储器906可以是易失性或非易失性存储器,并且也可以是安全和/或加密的存储器,或不安全和/或未加密的存储器,或它们的任意组合。可以被利用的存储器类型的示例包括但不限于ddr、lpddr、gddr、wideio、ram、sram、dram、p-ram、r-ram、m-ram、stt-ram和嵌入式dram。触摸屏控制器904和处理器902还可以被耦合到触摸屏面板912,诸如电阻感测触摸屏、电容感测触摸屏、红外感测触摸屏等。另外,移动计算设备900的显示器不需要具有触摸屏能力。
113.移动计算设备900可以具有一个或多个无线电信号收发器908(例如,peanut、蓝牙、zigbee、wi-fi、rf无线电)和天线910以用于发送和接收通信,该一个或多个无线电信号收发器和天线彼此耦合和/或耦合到处理器902。收发器908和天线910可以与上述电路系统一起使用以实现各种无线传输协议栈和接口。移动计算设备900可以包括蜂窝网络无线调制解调器芯片916,其使得能够经由蜂窝网络进行通信并且耦合到处理器。
114.移动计算设备900可以包括耦合到处理器902的外围设备连接接口918。外围设备连接接口918可以被单独被配置为接受一种类型的连接,或可以被配置为接受各种类型的、公共的或专有的物理和通信连接,诸如通用串行总线(usb)、火线、雷电或pcie。外围设备连接接口918也可以耦合到类似配置的外围设备连接端口(未示出)。
115.移动计算设备900还可以包括用于提供音频输出的扬声器914。移动计算设备900还可以包括由塑料、金属或材料组合构成的壳体920,用于容纳本文所描述的所有或一些组件。移动计算设备900可以包括耦合到处理器902的电源922,诸如一次性电池或可再充电电池。可再充电电池也可以耦合到外围设备连接端口以接收来自移动计算设备900外部的源的充电电流。移动计算设备900还可以包括用于接收用户输入的物理按钮924。移动计算设备900还可以包括用于打开和关闭移动计算设备900的电源按钮924。
116.根据各种实施例(包括但不限于上面参考图1至图8描述的实施例)的系统可以在包括膝上型计算机1000的各种计算系统中实现,在图10中图示了该系统的示例。许多膝上型计算机包括用作计算机定点装备的触摸板触摸表面1017,并且因此可以接收类似于在配备有触摸屏显示器的计算装备上实现的并且如上面所描述的拖动、滚动和轻击手势。膝上型计算机1000通常包括处理器1002,该处理器耦合到易失性存储器1012和大容量非易失性存储器,诸如快闪存储器的磁盘驱动器1013。另外,计算机1000可以具有用于发送和接收电磁辐射的一个或多个天线1008,该一个或多个天线可以连接到无线数据链路和/或耦合到
处理器1002的蜂窝式电话收发器1016。计算机1000还可以包括耦合到处理器1002的软盘驱动器1014和光盘(cd)驱动器1015。在笔记本配置中,计算机壳体包括全部耦合到处理器1002的触摸板1017、键盘1018和显示器1019。计算设备的其他配置可以包括(例如,经由usb输入)耦合到处理器的计算机鼠标或轨迹球,如众所周知的,其也可结合各种实施例使用。
117.根据多种实施例(包括但不限于上面参考图1至图8描述的实施例)的系统也可以在固定计算系统中实现,诸如多种商业上可用的服务器中的任一种。图12中图示了示例服务器1100。此类服务器1100通常包括一个或多个多核处理器组件1101,该一个或多个多核处理器组件耦合到易失性存储器1102和大容量非易失性存储器(诸如磁盘驱动器1104)。如图12所示,可以通过将多核处理器组件1101插入到组件的机架中来将多核处理器组件添加到服务器1100。服务器1100还可以包括耦合到处理器1101的软盘驱动器、压缩光盘(cd)或数字多功能光盘(dvd)驱动器1106。服务器1100还可以包括耦合到多核处理器组件1101的网络接入端口1103以用于建立与耦合到其他广播系统计算机和服务器的网络1105(诸如,局域网、互联网、公共交换电话网络和/或蜂窝数据网络(例如,cdma、tdma、gsm、pcs、3g、4g、lte、5g或任何其他类型的蜂窝数据网络))的网络接口连接。
118.在以下段落中描述了实现方式示例。尽管根据示例方法描述了一些以下实现方式示例,但是进一步的示例实现方式可以包括:由包括配置有处理器可执行指令以执行示例方法的操作的处理设备的计算设备实现的在以下段落中讨论的示例方法;以下段落中讨论的示例方法由包括用于执行示例方法的功能的器件的计算设备实现;并且在以下段落中讨论的示例方法被实现为其上存储有被配置为使得计算设备的处理器执行示例方法的操作的处理器可执行指令的非暂态处理器可读存储介质。
119.示例1.一种用于存储器的非对称大小的存储器部分的部分交错的方法,包括:确定针对第一交错单元的非对称存储器部分指派,其中非对称存储器部分指派是对第一非对称存储器部分的,确定针对存储器的已消耗的地址空间的已消耗的地址空间偏移量,使用已消耗的地址空间偏移量修改第一交错单元的地址以及以紧凑方式使用经修改的地址将第一交错单元指派给第一非对称存储器部分中的第一交错区组,使得在将另一交错单元映射到另一交错区组之前,在第一交错区组具有未使用的空间时,将第一交错单元指派给第一交错区组。
120.示例2.根据示例1所述的方法,其中确定针对该存储器的已消耗的地址空间的已消耗的地址空间偏移量包括:确定针对至少第二非对称存储器部分的已消耗的地址空间的已消耗的地址空间偏移量。
121.示例3.根据示例2所述的方法,其中使用已消耗的地址空间偏移量来修改第一交错单元的地址包括:从第一交错单元的地址中减去已消耗的地址空间偏移量。
122.示例4.根据示例1至3中任一者所述的方法,其中确定针对第一交错单元的非对称存储器部分指派包括:确定包括第一非对称存储器部分的非对称大小存储器部分的非对称存储器部分容量比率,确定非对称大小存储器部分的组合的非对称存储器部分容量,使用第一交错单元的地址和组合的非对称存储器部分容量确定函数的值以及将函数的值与非对称大小存储器部分的非对称存储器部分容量比率的值进行比较,非对称大小存储器部分的非对称存储器部分容量比率的值表示非对称大小存储器部分中的一非对称大小存储器部分。
123.示例5.根据示例1至4中任一者所述的方法,还包括接收存储器中的存储器访问请求的地址,将该地址映射到第一非对称存储器部分中的第一交错单元以及在第一非对称存储器部分中在经映射的地址处实现存储器访问请求。
124.示例6.根据示例1至5中任一者所述的方法,其中以紧凑方式使用经修改的地址将第一交错单元指派给第一非对称存储器部分中的第一交错区组包括:相对被指派给第一非对称存储器部分中的第一交错区组的第二交错单元线性地,将第一交错单元指派给第一非对称存储器部分中的第一交错区组。
125.示例7.根据示例1至5中任一者所述的方法,其中以紧凑方式使用经修改的地址将第一交错单元指派给第一非对称存储器部分中的第一交错区组包括:相对被指派给第一非对称存储器部分中的第一交错区组的第二交错单元非线性地,将第一交错单元指派给第一非对称存储器部分中的第一交错区组。
126.示例8.根据示例1至7中任一个所述的方法,其中以紧凑方式使用经修改的地址将第一交错单元指派给第一非对称存储器部分中的第一交错区组,使得在将另一交错单元映射到另一交错区组之前,在第一交错区组具有未使用的空间时,将第一交错单元指派给第一交错区组,包括:将第一交错单元指派给第一非对称存储器部分中的第一交错区组,使得在将另一交错单元映射到另一非对称存储器部分中的另一交错区组之前,在第一交错区组具有未使用的空间时,第一交错单元被指派给该第一交错区组。
127.示例9.根据示例1至8中任一者所述的方法,还包括启用具有所指派的第一交错单元的第一刷新段的刷新,以及禁用不具有所指派的交错单元的第二刷新段的刷新。
128.示例10.根据示例1至9中任一者所述的方法,其中该第一交错区组与用于动态随机存取存储器刷新控制策略的刷新段具有相同的大小。
129.示例11.一种用于存储器的非对称大小存储器部分的部分交错的方法,该方法包括:接收存储器中的存储器存取请求的地址;将该地址映射到第一非对称存储器部分中的第一交错区组;在将另一交错单元指派给另一交错区组之前,在第一交错区组具有未使用空间的同时将接续的交错单元指派给第一交错区组,其中接续的交错单元中的至少第一交错单元对应于该地址;以及在第一非对称存储器部分内的映射地址处实现存储器访问请求。
130.示例12.根据示例11所述的方法,其中将地址映射到第一非对称存储器部分中的第一交错区组包括:确定针对第二非对称存储器部分中的存储器的已消耗的地址空间的已消耗的地址空间偏移量以及使用已消耗的地址空间偏移量修改地址。
131.示例13.根据示例12所述的方法,其中使用已消耗的地址空间偏移量修改地址包括:从地址中减去已消耗的地址空间偏移量。
132.示例14.根据示例11至13中任一者所述的方法,其中将地址映射到第一交错区组包括:确定地址的非对称存储器部分指派。
133.示例15.根据示例14所述的方法,其中确定地址的非对称存储器部分指派包括:确定包括第一非对称存储器部分的非对称大小存储器部分的非对称存储器部分容量比率,确定非对称大小存储器部分的组合的非对称存储器部分容量,使用地址和组合的非对称存储器部分容量确定函数的值以及将函数的值与非对称大小存储器部分的非对称存储器部分容量比率的值进行比较,该非对称大小存储器部分的非对称存储器部分容量比率的值表示
非对称大小存储器部分中的一非对称大小存储器部分。
134.示例16.根据示例11至15中任一者所述的方法,其中将接续的交错单元指派给第一交错区组包括:相对接续的交错单元中的第二交错单元线性地指派接续的交错单元中的第一接续的交错单元。
135.示例17.根据示例11至15中任一者所述的方法,其中将接续的交错单元指派给第一交错区组包括:相对接续的交错单元中的第二交错单元非线性地指派接续的交错单元中的第一接续的交错单元。
136.示例18.根据示例11至17中任一者所述的方法,其中将接续的交错单元指派给第一交错区组包括:在将另一交错单元指派给另一刷新段之前,在第一刷新段具有未使用的空间时,将接续的交错单元指派给用于动态随机存取存储器刷新控制策略的刷新段。
137.用于在可编程处理器上执行以实现各种实施例的操作的计算机程序代码或“程序代码”可以用高级编程语言编写,诸如c、c++、c#、smalltalk、java、javascript、visualbasic、结构化查询语言(例如,transact-sql)、perl或各种其他编程语言。本技术中使用的存储在计算机可读存储介质上的程序代码或程序可以指其格式可被处理器理解的机器语言代码(诸如目标代码)。
138.前述方法描述和过程流程图仅作为说明性示例提供并且不旨在要求或暗示各种实施例的操作必须以所呈现的顺序来执行。如本领域技术人员应理解的,前述实施例中的操作的顺序可以以任何顺序执行。诸如“此后”、“然后”、“下一个”等词语不旨在限制操作的顺序;这些词语只是用来引导读者通过方法的描述。此外,对单数形式的权利要求元素的任何引用,例如使用冠词“一”、“一个”或“该”不应被解释为将该要素限制为单数。
139.结合各种实施例描述的各种说明性逻辑块、模块、电路和算法操作可以实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的此可互换性,各种说明性的组件、框、模块、电路和操作已经在上面根据它们的功能进行了一般描述。此类功能是否实现为硬件或软件取决于特定的应用和对整个系统施加的设计约束。熟练的技术人员可以针对每个特定的应用以不同的方式实现所描述的功能,但是此类实现决定不应被解释为导致脱离权利要求的范围。
140.用于实现结合本文公开的实施例描述的各种说明性逻辑、逻辑块、模块和电路的硬件可以用通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或其他可编程逻辑设备、分立门或晶体管逻辑、分立硬件部件或设计成执行本文所描述的功能的其任意组合来实现或执行。通用处理器可以是微处理器,但是在替代方案中,该处理器可以是任何常规处理器、控制器、微控制器或状态机。处理器也可以被实现为计算设备的组合,例如dsp和微处理器的组合、多个微处理器、一个或多个微处理器与dsp核的结合,或任何其他此类配置。替代地,一些操作或方法可以由特定于给定功能的电路系统来执行。
141.在一个或多个实施例中,所描述的功能可以用硬件、软件、固件或其任意组合来实现。如果在软件中实现,这些功能可以作为一个或多个指令或代码被存储在非暂态计算机可读介质或非暂态处理器可读介质上。本文公开的方法或算法的操作可以在处理器可执行软件模块中实施,该处理器可执行软件模块可以驻留在非暂态计算机可读或处理器可读存储介质上。非暂态计算机可读或处理器可读存储介质可以是可以由计算机或处理器访问的
任何存储介质。作为示例而非限制,此类非暂态计算机可读或处理器可读介质可以包括ram、rom、eeprom、快闪存储器、cd-rom或其他光盘存储器、磁盘存储器或其他磁存储设备,或可以用于以指令或数据结构的形式存储期望的程序代码并且可以由计算机访问的任何其他介质。本文使用的磁盘和光盘包括压缩光盘(cd)、激光光盘、光盘、数字多功能光盘(dvd)、软盘和蓝光光盘,其中磁盘通常磁性地再现数据,而光盘用激光光学地再现数据。上述的组合也包括在非暂态计算机可读和处理器可读介质的范围内。另外,方法或算法的操作可以作为代码和/或指令的一个或任意组合或集合驻留在可以结合到计算机程序产品中的非暂态处理器可读介质和/或计算机可读介质上。
142.提供所公开的实施例的前述描述是为了使本领域的任何技术人员能够制作或使用权利要求。对这些实施例的各种修改对于本领域技术人员来说将是显而易见的,并且在不脱离权利要求的范围的情况下,本文定义的一般原理可以应用于其他实施例和实现方式。因此,本公开不旨在限于本文所描述的实施例和实现方式,而是符合与以下权利要求和本文公开的原理和新颖特征一致的最宽范围。
技术特征:
1.一种针对存储器的非对称大小存储器部分的部分交错的方法,包括:确定针对第一交错单元的非对称存储器部分指派,其中所述非对称存储器部分指派是对第一非对称存储器部分的;确定针对所述存储器的已消耗的地址空间的已消耗的地址空间偏移量;使用所述已消耗的地址空间偏移量来修改所述第一交错单元的地址;以及以紧凑方式使用经修改的所述地址将所述第一交错单元指派给所述第一非对称存储器部分中的第一交错区组,使得在将另一交错单元映射到另一交错区组之前,在所述第一交错区组具有未使用的空间时,将所述第一交错单元指派给所述第一交错区组。2.根据权利要求1所述的方法,其中确定针对所述存储器的已消耗的地址空间的所述已消耗的地址空间偏移量包括:确定针对至少第二非对称存储器部分的已消耗的地址空间的所述已消耗的地址空间偏移量。3.根据权利要求2所述的方法,其中使用所述已消耗的地址空间偏移量来修改所述第一交错单元的所述地址包括:从所述第一交错单元的所述地址中减去所述已消耗的地址空间偏移量。4.根据权利要求1所述的方法,其中确定针对所述第一交错单元的所述非对称存储器部分指派包括:确定包括所述第一非对称存储器部分的非对称大小存储器部分的非对称存储器部分容量比率;确定所述非对称大小存储器部分的组合的非对称存储器部分容量;使用所述第一交错单元的所述地址和所述组合的非对称存储器部分容量来确定函数的值;以及将所述函数的所述值与非对称大小存储器部分的所述非对称存储器部分容量比率的值进行比较,所述非对称大小存储器部分的所述非对称存储器部分容量比率的所述值表示所述非对称大小存储器部分中的一非对称大小存储器部分。5.根据权利要求1所述的方法,还包括:接收所述存储器中的存储器访问请求的地址;将所述地址映射到所述第一非对称存储器部分中的所述第一交错单元;以及在所述第一非对称存储器部分内在经映射的所述地址处实现所述存储器访问请求。6.根据权利要求1所述的方法,其中以所述紧凑方式使用经修改的所述地址将所述第一交错单元指派给所述第一非对称存储器部分中的所述第一交错区组包括:相对被指派给所述第一非对称存储器部分中的所述第一交错区组的第二交错单元线性地,将所述第一交错单元指派给所述第一非对称存储器部分中的所述第一交错区组。7.根据权利要求1所述的方法,其中以所述紧凑方式使用经修改的所述地址将所述第一交错单元指派给所述第一非对称存储器部分中的所述第一交错区组包括:相对被指派给所述第一非对称存储器部分中的所述第一交错区组的第二交错单元非线性地,将所述第一交错单元指派给所述第一非对称存储器部分中的所述第一交错区组。8.根据权利要求1所述的方法,其中以所述紧凑方式使用经修改的所述地址将所述第一交错单元指派给所述第一非对称存储器部分中的所述第一交错区组,使得在将另一交错单元映射到另一交错区组之前,在所述第一交错区组具有未使用的空间时,所述第一交错
单元被指派给所述第一交错区组,包括:将所述第一交错单元指派给所述第一非对称存储器部分中的所述第一交错区组,使得在将另一交错单元映射到另一非对称存储器部分中的另一交错区组之前,在所述第一交错区组具有未使用的空间时,所述第一交错单元被指派给所述第一交错区组。9.根据权利要求1所述的方法,还包括:启用具有所指派的所述第一交错单元的第一刷新段的刷新;以及禁用不具有所指派的交错单元的第二刷新段的刷新。10.根据权利要求1所述的方法,其中所述第一交错区组与用于动态随机存取存储器刷新控制策略的刷新段具有相同的大小。11.一种计算设备,包括处理设备,所述处理设备被配置为执行包括以下的操作:确定针对第一交错单元的非对称存储器部分指派,其中所述非对称存储器部分指派是对第一非对称存储器部分的;确定针对存储器的已消耗的地址空间的已消耗的地址空间偏移量;使用所述已消耗的地址空间偏移量来修改所述第一交错单元的地址;以及以紧凑方式使用经修改的所述地址将所述第一交错单元指派给所述第一非对称存储器部分中的第一交错区组,使得在将另一交错单元映射到另一交错区组之前,在所述第一交错区组具有未使用的空间时,所述第一交错单元被指派给所述第一交错区组。12.根据权利要求11所述的计算设备,其中所述处理设备被配置为执行操作,使得确定针对所述存储器的所述已消耗的地址空间的所述已消耗的地址空间偏移量包括确定针对至少第二非对称存储器部分的已消耗的地址空间的所述已消耗的地址空间偏移量。13.根据权利要求12所述的计算设备,其中所述处理设备被配置为执行操作,使得使用所述已消耗的地址空间偏移量来修改所述第一交错单元的地址包括:从所述第一交错单元的地址中减去所述已消耗的地址空间偏移量。14.根据权利要求11所述的计算设备,其中所述处理设备被配置为执行操作,使得确定针对所述第一交错单元的所述非对称存储器部分指派包括:确定包括所述第一非对称存储器部分的非对称大小存储器部分的非对称存储器部分容量比率;确定所述非对称大小存储器部分的组合的非对称存储器部分容量;使用所述第一交错单元的所述地址和所述组合的非对称存储器部分容量来确定函数的值;以及将所述函数的所述值与非对称大小存储器部分的所述非对称存储器部分容量比率的值进行比较,所述非对称大小存储器部分的所述非对称存储器部分容量比率的所述值表示所述非对称大小存储器部分中的一非对称大小存储器部分。15.根据权利要求11所述的计算设备,其中所述处理设备被配置为执行还包括以下的操作:接收所述存储器中的存储器访问请求的地址;将所述地址映射到所述第一非对称存储器部分中的所述第一交错单元;以及在所述第一非对称存储器部分内在经映射的所述地址处实现所述存储器访问请求。16.根据权利要求11所述的计算设备,其中所述处理设备被配置为执行操作,使得以所
述紧凑方式使用经修改的所述地址将所述第一交错单元指派给所述第一非对称存储器部分中的所述第一交错区组包括:相对被指派给所述第一非对称存储器部分中的所述第一交错区组的第二交错单元线性地,将所述第一交错单元指派给所述第一非对称存储器部分中的所述第一交错区组。17.根据权利要求11所述的计算设备,其中所述处理设备被配置为执行操作,使得以所述紧凑方式使用经修改的所述地址将所述第一交错单元指派给所述第一非对称存储器部分中的所述第一交错区组包括:相对被指派给所述第一非对称存储器部分中的所述第一交错区组的第二交错单元非线性地,将所述第一交错单元指派给所述第一非对称存储器部分中的所述第一交错区组。18.根据权利要求11所述的计算设备,其中所述处理设备被配置为执行操作,使得以紧凑方式使用经修改的所述地址将所述第一交错单元指派给所述第一非对称存储器部分中的所述第一交错区组,使得在将另一交错单元映射到另一交错区组之前,在所述第一交错区组具有未使用的空间时,所述第一交错单元被指派给所述第一交错区组,包括:将所述第一交错单元指派给所述第一非对称存储器部分中的所述第一交错区组,使得在将另一交错单元映射到另一非对称存储器部分中的另一交错区组之前,在所述第一交错区组具有未使用的空间时,所述第一交错单元被指派给所述第一交错区组。19.根据权利要求11所述的计算设备,其中所述处理设备被配置为执行还包括以下的操作:启用具有所指派的所述第一交错单元的第一刷新段的刷新;以及禁用不具有所指派的交错单元的第二刷新段的刷新。20.根据权利要求11所述的计算设备,其中所述处理设备被配置为执行操作,使得所述第一交错区组与用于动态随机存取存储器刷新控制策略的刷新段具有相同的大小。21.一种计算设备,包括:用于确定针对第一交错单元的非对称存储器部分指派的部件,其中所述非对称存储器部分指派是对第一非对称存储器部分的;用于确定针对存储器的已消耗的地址空间的已消耗的地址空间偏移量的部件;用于使用所述已消耗的地址空间偏移量来修改所述第一交错单元的地址的部件;以及用于以紧凑方式使用经修改的所述地址将所述第一交错单元指派给所述第一非对称存储器部分中的所述第一交错区组以使在将另一交错单元映射到另一交错区组之前、在所述第一交错区组具有未使用的空间时所述第一交错单元被指派给所述第一交错区组的部件。22.根据权利要求21所述的计算设备,其中用于确定针对所述存储器的已消耗的地址空间的所述已消耗的地址空间偏移量的部件包括:用于确定针对至少第二非对称存储器部分的已消耗的地址空间的所述已消耗的地址空间偏移量的部件。23.根据权利要求22所述的计算设备,其中用于使用所述已消耗的地址空间偏移量来修改所述第一交错单元的所述地址的部件包括:用于从所述第一交错单元的所述地址中减去所述已消耗的地址空间偏移量的部件。24.根据权利要求21所述的计算设备,其中用于确定针对所述第一交错单元的所述非对称存储器部分指派的部件包括:
用于确定包括所述第一非对称存储器部分的非对称大小存储器部分的非对称存储器部分容量比率的部件;用于确定所述非对称大小存储器部分的组合的非对称存储器部分容量的部件;用于使用所述第一交错单元的所述地址和所述组合的非对称存储器部分容量来确定函数的值的部件;以及用于将所述函数的所述值与非对称大小存储器部分的所述非对称存储器部分容量比率的值进行比较的部件,所述非对称大小存储器部分的所述非对称存储器部分容量比率的所述值表示所述非对称大小存储器部分中的一非对称大小存储器部分。25.根据权利要求21所述的计算设备,还包括:用于接收所述存储器中的存储器访问请求的地址的部件;用于将所述地址映射到所述第一非对称存储器部分中的所述第一交错单元的部件;以及用于在所述第一非对称存储器部分内在经映射的所述地址处实现所述存储器访问请求的部件。26.根据权利要求21所述的计算设备,其中用于以所述紧凑方式使用经修改的所述地址将所述第一交错单元指派给所述第一非对称存储器部分中的所述第一交错区组的部件包括:用于相对被指派给所述第一非对称存储器部分中的所述第一交错区组的第二交错单元线性地,将所述第一交错单元指派给所述第一非对称存储器部分中的所述第一交错区组的部件。27.根据权利要求21所述的计算设备,其中用于以所述紧凑方式使用经修改的所述地址将所述第一交错单元指派给所述第一非对称存储器部分中的所述第一交错区组的部件包括:用于相对被指派给所述第一非对称存储器部分中的所述第一交错区组的第二交错单元非线性地,将所述第一交错单元指派给所述第一非对称存储器部分中的所述第一交错区组的部件。28.根据权利要求21所述的计算设备,其中用于以所述紧凑方式使用经修改的所述地址将所述第一交错单元指派给所述第一非对称存储器部分中的所述第一交错区组以使在将另一交错单元映射到另一交错区组之前、在所述第一交错区组具有未使用的空间时所述第一交错单元被指派给所述第一交错区组的部件包括:用于将所述第一交错单元指派给所述第一非对称存储器部分中的所述第一交错区组以使在将另一交错单元映射到另一非对称存储器部分中的另一交错区组之前、在所述第一交错区组具有未使用的空间时所述第一交错单元被指派给所述第一交错区组的部件。29.根据权利要求21所述的计算设备,还包括:用于启用具有所指派的所述第一交错单元的第一刷新段的刷新的部件;以及用于禁用不具有所指派的交错单元的第二刷新段的刷新的部件。30.根据权利要求21所述的计算设备,其中所述第一交错区组与用于动态随机存取存储器刷新控制策略的刷新段具有相同的大小。31.一种非暂态处理器可读介质,具有存储在其上的处理器可执行指令,所述处理器可执行指令被配置为使处理设备执行包括以下的操作:确定针对第一交错单元的非对称存储器部分指派,其中所述非对称存储器部分指派是
对第一非对称存储器部分的;确定针对存储器的已消耗的地址空间的已消耗的地址空间偏移量;使用所述已消耗的地址空间偏移量来修改所述第一交错单元的地址;以及以紧凑方式使用经修改的所述地址将所述第一交错单元指派给所述第一非对称存储器部分中的第一交错区组,使得在将另一交错单元映射到另一交错区组之前,在所述第一交错区组具有未使用的空间时,所述第一交错单元被指派给所述第一交错区组。32.根据权利要求31所述的非暂态处理器可读介质,其中所存储的所述处理器可执行指令被配置为使所述处理设备执行操作,使得确定针对所述存储器的已消耗的地址空间的所述已消耗的地址空间偏移量包括:确定针对至少第二非对称存储器部分的已消耗的地址空间的所述已消耗的地址空间偏移量。33.根据权利要求32所述的非暂态处理器可读介质,其中所存储的所述处理器可执行指令被配置为使所述处理设备执行操作,使得使用已消耗的地址空间偏移量来修改所述第一交错单元的所述地址包括:从所述第一交错单元的所述地址中减去所述已消耗的地址空间偏移量。34.根据权利要求31所述的非暂态处理器可读介质,其中所存储的所述处理器可执行指令被配置为使所述处理设备执行操作,使得确定针对所述第一交错单元的所述非对称存储器部分指派包括:确定包括所述第一非对称存储器部分的非对称大小存储器部分的非对称存储器部分容量比率;确定所述非对称大小存储器部分的组合的非对称存储器部分容量;使用所述第一交错单元的所述地址和所述组合的非对称存储器部分容量来确定函数的值;以及将所述函数的所述值与非对称大小存储器部分的所述非对称存储器部分容量比率的值进行比较,所述非对称大小存储器部分的所述非对称存储器部分容量比率的所述值表示所述非对称大小存储器部分中的一非对称大小存储器部分。35.根据权利要求31所述的非暂态处理器可读介质,其中所存储的所述处理器可执行指令被配置为使所述处理设备执行还包括以下的操作:接收所述存储器中的存储器访问请求的地址;将所述地址映射到所述第一非对称存储器部分中的所述第一交错单元;以及在所述第一非对称存储器部分内在经映射的所述地址处实现所述存储器访问请求。36.根据权利要求31所述的非暂态处理器可读介质,其中所存储的所述处理器可执行指令被配置为使所述处理设备执行操作,使得以所述紧凑方式使用经修改的所述地址来将所述第一交错单元指派给所述第一非对称存储器部分中的所述第一交错区组包括:相对被指派给所述第一非对称存储器部分中的所述第一交错区组的第二交错单元线性地,将所述第一交错单元指派给所述第一非对称存储器部分中的所述第一交错区组。37.根据权利要求31所述的非暂态处理器可读介质,其中所存储的所述处理器可执行指令被配置为使所述处理设备执行操作,使得以所述紧凑方式使用经修改的所述地址将所述第一交错单元指派给所述第一非对称存储器部分中的所述第一交错区组包括:相对被指派给所述第一非对称存储器部分中的所述第一交错区组的第二交错单元非线性地,将所述
第一交错单元指派给所述第一非对称存储器部分中的所述第一交错区组。38.根据权利要求31所述的非暂态处理器可读介质,其中所存储的所述处理器可执行指令被配置为使所述处理设备执行操作,使得以所述紧凑方式使用经修改的所述地址将所述第一交错单元指派给所述第一非对称存储器部分中的所述第一交错区组,使得在将另一交错单元映射到另一交错区组之前,在所述第一交错区组具有未使用的空间时,所述第一交错单元被指派给所述第一交错区组,包括:将所述第一交错单元指派给所述第一非对称存储器部分中的所述第一交错区组,使得在将另一交错单元映射到另一非对称存储器部分中的另一交错区组之前,在所述第一交错区组具有未使用的空间时,所述第一交错单元被指派给所述第一交错区组。39.根据权利要求31所述的非暂态处理器可读介质,其中所存储的所述处理器可执行指令被配置为使所述处理设备执行还包括以下的操作:启用具有所指派的所述第一交错单元的第一刷新段的刷新;以及禁用不具有所指派的交错单元的第二刷新段的刷新。40.根据权利要求31所述的非暂态处理器可读介质,其中所存储的所述处理器可执行指令被配置为使所述处理设备执行操作,使得所述第一交错区组与用于动态随机存取存储器刷新控制策略的刷新段具有相同的大小。41.一种用于存储器的非对称大小存储器部分的部分交错的方法,包括:接收所述存储器中的存储器访问请求的地址;将所述地址映射到第一非对称存储器部分中的第一交错区组;在将另一交错单元指派给另一交错区组之前,在所述第一交错区组具有未使用的空间时,将接续的交错单元指派给所述第一交错区组,其中所述接续的交错单元中的至少第一交错单元对应于所述地址;以及在所述第一非对称存储器部分内在经映射的所述地址处实现所述存储器访问请求。42.根据权利要求41所述的方法,其中将所述地址映射到所述第一非对称存储器部分中的所述第一交错区组包括:确定针对第二非对称存储器部分中的所述存储器的已消耗的地址空间的已消耗的地址空间偏移量;以及使用所述已消耗的地址空间偏移量来修改所述地址。43.根据权利要求42所述的方法,其中使用所述已消耗的地址空间偏移量来修改所述地址包括:从所述地址中减去所述已消耗的地址空间偏移量。44.根据权利要求41所述的方法,其中将所述地址映射到所述第一交错区组包括:确定所述地址的非对称存储器部分指派。45.根据权利要求44所述的方法,其中确定所述地址的所述非对称存储器部分指派包括:确定包括所述第一非对称存储器部分的非对称大小存储器部分的非对称存储器部分容量比率;确定所述非对称大小存储器部分的组合的非对称存储器部分容量;使用所述地址和所述组合的非对称存储器部分容量来确定函数的值;以及将所述函数的所述值与非对称大小存储器部分的所述非对称存储器部分容量比率的
值进行比较,所述非对称大小存储器部分的所述非对称存储器部分容量比率的所述值表示所述非对称大小存储器部分中的一非对称大小存储器部分。46.根据权利要求41所述的方法,其中将接续的交错单元指派给所述第一交错区组包括:相对所述接续的交错单元的第二交错单元线性地指派所述接续的交错单元的第一接续的交错单元。47.根据权利要求41所述的方法,其中将接续的交错单元指派给所述第一交错区组包括:相对所述接续的交错单元中的第二交错单元非线性地指派所述接续的交错单元中的第一接续的交错单元。48.根据权利要求41所述的方法,其中将接续的交错单元指派给所述第一交错区组包括:在将另一交错单元指派给另一刷新段之前,在第一刷新段具有未使用的空间时,将所述接续的交错单元指派给用于动态随机存取存储器刷新控制策略的所述第一刷新段。49.一种计算设备,包括处理设备,所述处理设备被配置为执行包括以下的操作:接收存储器中的存储器访问请求的地址;将所述地址映射到第一非对称存储器部分中的第一交错区组;在将另一交错单元指派给另一交错区组之前,在所述第一交错区组具有未使用的空间时,将接续的交错单元指派给所述第一交错区组,其中所述接续的交错单元中的至少第一交错单元对应于所述地址;以及在所述第一非对称存储器部分内在经映射的所述地址处实现所述存储器访问请求。50.根据权利要求49所述的计算设备,其中所述处理设备被配置为执行操作,使得将所述地址映射到所述第一非对称存储器部分中的所述第一交错区组包括:确定针对第二非对称存储器部分中的所述存储器的已消耗的地址空间的已消耗的地址空间偏移量;以及使用所述已消耗的地址空间偏移量来修改所述地址。51.根据权利要求50所述的计算设备,其中所述处理设备被配置为执行操作,使得使用所述已消耗的地址空间偏移量来修改所述地址包括:从所述地址中减去所述已消耗的地址空间偏移量。52.根据权利要求49所述的计算设备,其中所述处理设备被配置为执行操作,使得将所述地址映射到所述第一交错区组包括确定所述地址的非对称存储器部分指派。53.根据权利要求52所述的计算设备,其中所述处理设备被配置为执行操作使得确定所述地址的所述非对称存储器部分指派包括:确定包括所述第一非对称存储器部分的非对称大小存储器部分的非对称存储器部分容量比率;确定所述非对称大小存储器部分的组合的非对称存储器部分容量;使用所述地址和所述组合的非对称存储器部分容量来确定函数的值;以及将所述函数的所述值与非对称大小存储器部分的所述非对称存储器部分容量比率的值进行比较,所述非对称大小存储器部分的所述非对称存储器部分容量比率的所述值表示所述非对称大小存储器部分中的一非对称大小存储器部分。54.根据权利要求49所述的计算设备,其中所述处理设备被配置为执行操作,使得将接续的交错单元指派给所述第一交错区组包括:相对所述接续的交错单元中的第二交错单元
线性地指派所述接续的交错单元中的第一接续的交错单元。55.根据权利要求49所述的计算设备,其中所述处理设备被配置为执行操作,使得将接续的交错单元指派给所述第一交错区组包括:相对所述接续的交错单元中的第二交错单元非线性地指派所述接续的交错单元中的第一接续的交错单元。56.根据权利要求49所述的计算设备,其中所述处理设备被配置为执行操作,使得将接续的交错单元指派给所述第一交错区组包括:在将另一交错单元指派给另一刷新段之前,在第一刷新段具有未使用的空间时,将所述接续的交错单元指派给用于动态随机存取存储器刷新控制策略的所述第一刷新段。57.一种计算设备,包括:用于接收存储器中的存储器访问请求的地址的部件;用于将所述地址映射到第一非对称存储器部分中的第一交错区组的部件;用于在将另一交错单元指派给另一交错区组之前、在所述第一交错区组具有未使用的空间时将接续的交错单元指派给所述第一交错区组的部件,其中所述接续的交错单元中的至少第一交错单元对应于所述地址;以及用于在所述第一非对称存储器部分内在经映射的所述地址处实现所述存储器访问请求的部件。58.根据权利要求57所述的计算设备,其中用于将所述地址映射到所述第一非对称存储器部分中的所述第一交错区组的部件包括:用于确定针对第二非对称存储器部分中的所述存储器的已消耗的地址空间的已消耗的地址空间偏移量的部件;以及用于使用所述已消耗的地址空间偏移量来修改所述地址的部件。59.根据权利要求58所述的计算设备,其中用于使用所述已消耗的地址空间偏移量来修改所述地址的部件包括:用于从所述地址中减去所述已消耗的地址空间偏移量的部件。60.根据权利要求57所述的计算设备,其中用于将所述地址映射到所述第一交错区组的部件包括:用于确定所述地址的非对称存储器部分指派的部件。61.根据权利要求60所述的计算设备,其中用于确定所述地址的所述非对称存储器部分指派的部件包括:用于确定包括所述第一非对称存储器部分的非对称大小存储器部分的非对称存储器部分容量比率的部件;用于确定所述非对称大小存储器部分的组合的非对称存储器部分容量的部件;用于使用所述地址和所述组合的非对称存储器部分容量来确定函数的值的部件;以及用于将所述函数的所述值与非对称大小存储器部分的所述非对称存储器部分容量比率的值进行比较的部件,所述非对称大小存储器部分的所述非对称存储器部分容量比率的所述值表示所述非对称大小存储器部分中的一非对称大小存储器部分。62.根据权利要求57所述的计算设备,其中用于将接续的交错单元指派给所述第一交错区组的部件包括:用于相对所述接续的交错单元中的第二交错单元线性地指派所述接续的交错单元中的第一接续的交错单元的部件。63.根据权利要求57所述的计算设备,其中用于将接续的交错单元指派给所述第一交错区组的部件包括:用于相对所述接续的交错单元中的第二交错单元非线性地指派所述接
续的交错单元中的第一接续的交错单元的部件。64.根据权利要求57所述的计算设备,其中用于将接续的交错单元指派给所述第一交错区组的部件包括:用于在将另一交错单元指派给另一刷新段之前,在第一刷新段具有未使用的空间时,将所述接续的交错单元指派给用于动态随机存取存储器刷新控制策略的所述第一刷新段的部件。65.一种非暂态处理器可读介质,具有存储在其上的处理器可执行指令,所述处理器可执行指令被配置为使处理设备执行包括以下的操作:接收存储器中的存储器访问请求的地址;将所述地址映射到第一非对称存储器部分中的第一交错区组;在将另一交错单元指派给另一交错区组之前,在所述第一交错区组具有未使用的空间时,将接续的交错单元指派给所述第一交错区组,其中所述接续的交错单元中的至少第一交错单元对应于所述地址;以及在所述第一非对称存储器部分内在经映射的所述地址处实现所述存储器访问请求。66.根据权利要求65所述的非暂态处理器可读介质,其中所存储的所述处理器可执行指令被配置为使所述处理设备执行操作,使得将所述地址映射到所述第一非对称存储器部分中的所述第一交错区组包括:确定针对第二非对称存储器部分中的所述存储器的已消耗的地址空间的已消耗的地址空间偏移量;以及使用所述已消耗的地址空间偏移量来修改所述地址。67.根据权利要求66所述的非暂态处理器可读介质,其中所存储的所述处理器可执行指令被配置为使所述处理设备执行操作,使得使用所述已消耗的地址空间偏移量来修改所述地址包括:从所述地址中减去所述已消耗的地址空间偏移量。68.根据权利要求65所述的非暂态处理器可读介质,其中所存储的所述处理器可执行指令被配置为使所述处理设备执行操作,使得将所述地址映射到所述第一交错区组包括:确定所述地址的非对称存储器部分指派。69.根据权利要求68所述的非暂态处理器可读介质,其中所存储的所述处理器可执行指令被配置为使所述处理设备执行操作,使得确定所述地址的所述非对称存储器部分指派包括:确定包括所述第一非对称存储器部分的非对称大小存储器部分的非对称存储器部分容量比率;确定所述非对称大小存储器部分的组合的非对称存储器部分容量;使用所述地址和所述组合的非对称存储器部分容量来确定函数的值;以及将所述函数的所述值与非对称大小存储器部分的所述非对称存储器部分容量比率的值进行比较,所述非对称大小存储器部分的所述非对称存储器部分容量比率的所述值表示所述非对称大小存储器部分中的一非对称大小存储器部分。70.根据权利要求65所述的非暂态处理器可读介质,其中所存储的所述处理器可执行指令被配置为使所述处理设备执行操作,使得将接续的交错单元指派给所述第一交错区组包括:相对所述接续的交错单元中的第二交错单元线性地指派所述接续的交错单元中的第一接续的交错单元。
71.根据权利要求65所述的非暂态处理器可读介质,其中所存储的所述处理器可执行指令被配置为使所述处理设备执行操作,使得将接续的交错单元指派给所述第一交错区组包括:相对所述接续的交错单元中的第二交错单元非线性地指派所述接续的交错单元中的第一接续的交错单元。72.根据权利要求65所述的非暂态处理器可读介质,其中所存储的所述处理器可执行指令被配置为使所述处理设备执行操作,使得将接续的交错单元指派给所述第一交错区组包括:在将另一交错单元指派给另一刷新段之前,在第一刷新段具有未使用的空间时,将所述接续的交错单元指派给用于动态随机存取存储器刷新控制策略的所述第一刷新段。
技术总结
各种实施例包括用于非对称大小存储器部分的部分交错的方法和设备。实施例可以包括确定针对交错单元的非对称存储器部分指派,确定针对存储器的已消耗的地址空间的已消耗的地址空间偏移量,使用已消耗的地址空间偏移量来修改交错单元的地址以及在将另一交错单元指派给另一交错区组之前,使用经修改的地址以紧凑方式将交错单元指派给非对称存储器部分中的交错区组。实施例可以包括在存储器中接收存储器访问请求的地址,将该地址映射到非对称存储器部分中的交错区组,在将另一交错单元指派给另一交错区组之前,在该交错区组具有未使用的空间时,将该接续的交错单元指派给该交错区组以及在经映射的地址处实现该存储器访问请求。求。求。
技术研发人员:K
受保护的技术使用者:高通股份有限公司
技术研发日:2022.01.10
技术公布日:2023/9/23
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:油分离器及超低温制冷机用压缩机的制作方法 下一篇:自适应传感器滤波的制作方法