CN114860329A - 动态一致性偏置配置引擎及方法 - Google Patents
动态一致性偏置配置引擎及方法 Download PDFInfo
- Publication number
- CN114860329A CN114860329A CN202210060393.XA CN202210060393A CN114860329A CN 114860329 A CN114860329 A CN 114860329A CN 202210060393 A CN202210060393 A CN 202210060393A CN 114860329 A CN114860329 A CN 114860329A
- Authority
- CN
- China
- Prior art keywords
- access
- host
- storage area
- accesses
- current
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 230000015654 memory Effects 0.000 claims abstract description 132
- 238000012544 monitoring process Methods 0.000 claims abstract description 49
- 238000012545 processing Methods 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 19
- 238000005516 engineering process Methods 0.000 description 19
- 239000000872 buffer Substances 0.000 description 12
- 230000003068 static effect Effects 0.000 description 6
- 238000007796 conventional method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 239000003795 chemical substances by application Substances 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0632—Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3034—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0888—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/62—Details of cache specific to multiprocessor cache arrangements
- G06F2212/621—Coherency control relating to peripheral accessing, e.g. from DMA or I/O device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本公开涉及动态一致性偏置配置的引擎和方法。动态一致性偏置配置引擎可以包括控制逻辑、主机阈值寄存器和设备阈值寄存器以及多个存储区监控单元。存储区监控单元可以包括起始页码寄存器、结束页码寄存器、主机访问寄存器和设备访问寄存器。动态一致性偏置配置引擎可以利用存储区监控单元将存储空间的相应部分配置为设备偏置模式或主机偏置模式。本公开基于动态的主机/设备偏置的存储一致性技术,识别每个存储区所需的一致性偏置模式,从而优化系统性能。
Description
技术领域
本公开涉及计算机领域,具体而言,涉及一种动态一致性偏置配置引擎、用于动态配置存储一致性偏置的方法以及计算机可读介质。
背景技术
计算机系统的共同之处在于,需要对被主机以及一个或多个设备共享的数据进行访问和缓存。参见图1,其示出了根据常规技术的计算机系统。计算机系统100可以包括主机105以及一个或多个设备110,主机105与一个或多个设备110通过一个或多个通信链路115耦合。在一个示例中,主机105与一个或多个设备110可以根据协议标准通信耦合在一起,协议标准例如为CXL(Compute Express Link,计算快速链路)协议。计算机系统100还可以包括耦合至主机105的主存储器120。计算机系统100还可选择性地包括设备存储器125,该设备存储器125耦合至一个或多个设备110。
主机105可包括多个核130和135、一致性与缓存逻辑140、通信逻辑145、一个或多个通信接口150、一个或多个通信输入/输出装置155等。一个或多个设备110可以包括设备逻辑160、一致性与缓存逻辑165、一个或多个通信接口170等。主机105的核130、135以及一个或多个设备的设备逻辑160可以生成存储访问请求,该存储访问请求对应于可存储在主存储器120、设备存储器125和/或缓存(cache)中的数据,且可以包括读请求和写请求。主机105的通信接口150以及一个或多个设备110的通信接口170可用于输入/输出发现(discovery)、输入/输出寄存器访问、输入/输出配置、输入/输出初始化、输入/输出中断处理、直接存储访问(direct memory access,DMA)以及地址转译服务(address translationservices,ATS)。主机105的通信接口150以及一个或多个设备110的通信接口170、还可用于实现缓存一致性(cache coherency)和缓存-存储流(cache-memory flow)。主机105的通信接口150以及一个或多个设备110的通信接口170还可以用于实现存储流控制。
现参见图2,其示出了根据常规技术的用于将一个或多个设备耦合到主机的示例性通信协议。如图2所示,该示例性通信协议可以是CXL协议。通信协议可以包括事务层、链路层和物理层。事务层可以包括,例如,PCIe(Peripheral Component InterconnectExpress,快速外设组件互连)事务层205、CXL事务层210和CXL缓存/存储事务层215。链路层可以包括PCIe链路层220、CXL链路层225和CXL缓存/存储层230。PCIe链路层220可以与PCIe事务层205耦合,CXL链路层225可以与CXL事务层210耦合,且缓存/存储链路层230可以与缓存/存储事务层215耦合。物理层可以包括PCIe/CXL逻辑物理层235、PCIe/CXL模拟物理层240、静态多路器(static multiplexor)245和CXL动态多路器(dynamic multiplexor)250。CXL动态多路器250用于将来自CXL链路层225和CXL缓存/存储链路层230的通信多路传输至静态多路器245,反之亦然,即CXL动态多路器250也可用于将来自静态多路器245的通信多路传输至CXL链路层225和CXL缓存/存储链路层230。静态多路器245进一步用于将来自PCIe链路层220的通信多路传输至PCIe/CXL逻辑物理层235和PCIe/CXL模拟物理层240,反之亦然,即静态多路器245也可用于将来自PCIe/CXL逻辑物理层235和PCIe/CXL模拟物理层240的通信多路传输至PCIe链路层220。
现参见图3至5,其示出了基于CXL协议的不同设备类型。如图3所示,CXL协议可以包括第1类设备,该第1类设备包括缓存器、加速器等。第1类设备可以包括处理器310和加速器NIC(network interface card,网络接口卡)320。处理器310可以包括处理器的附设存储器330、340以及缓存器350。加速器NIC 320可以包括缓存器360。第1类设备可用于分区全局地址空间(partitioned global address space,PGAS)NIC、NIC原子(atomic)等。第1类设备采用CXL.io和CXL.cache协议。
CXL协议还可以包括第2类设备,其包括处理器410和加速器420。如图4所示,处理器410可以包括处理器的附设存储器430、440和缓存器450。加速器420可以包括加速器的附设高带宽存储器(High Bandwidth Memory,HBM)460、470和缓存器480。第2类设备可用于图形处理单元、密集计算(dense computation)等。第2类设备可以采用CXL.io、CXL.cache和CXL.memory协议。
如图5所示,CXL协议还可以包括第3类设备,其包括处理器510和存储缓冲器520。处理器510可以包括处理器的附设存储器530、540和缓存器550。存储缓冲器520还可以包括存储缓冲器的附设存储器560至590以及缓存器595。第3类设备可用于存储带宽扩展、存储容量扩展、存储级存储器等。第3类设备可以采用CXL.io和CXL.memory协议。
发明内容
通过参考以下描述和附图,可以最好地理解本技术。以下描述和附图用于对本技术提出的用于动态存储一致性偏置的系统和方法的实施例进行说明。
在一个实施例中,动态一致性偏置配置引擎可以包括多个存储区监控单元和控制逻辑。每个存储区监控单元可以被配置以用于:对主机对相应的被监控存储区的访问次数、设备对相应的被监控存储区的访问次数进行跟踪。所述控制逻辑可以被配置以用于:从被指定的存储区监控单元中确定第一当前访问次数和第二当前访问次数,所述第一当前访问次数是主机对指定存储区的当前访问次数,所述第二当前访问次数是设备对所述指定存储区的当前访问次数,所述被指定的存储区监控单元是所述多个存储区监控单元中与所述指定存储区对应的存储区监控单元。在所述第一当前访问次数小于主机访问阈值且所述第二当前访问次数大于设备访问阈值的情况下,所述指定存储区可以被所述控制逻辑配置以具有设备偏置。在所述第一当前访问次数大于主机访问阈值且所述第二当前访问次数小于设备访问阈值的情况下,所述指定存储区可以被所述控制逻辑配置以具有主机偏置。在所述第一当前访问次数大于主机访问阈值且所述第二当前访问次数大于设备访问阈值的情况下,所述指定存储区可以被所述控制逻辑配置以具有主机偏置。在所述第一当前访问次数小于主机访问阈值且所述第二当前访问次数小于设备访问阈值的情况下,所述控制逻辑还可以重新分配所述指定的存储区监控单元。
所述控制逻辑还可被配置以用于接收存储访问,并确定接收到的存储访问的地址是否对应于所述多个被监控存储区之一。所述控制逻辑可以被配置为:在接收到的存储访问的地址对应于所述多个被监控存储区之一的情况下,确定接收到的存储访问是来自主机还是来自设备。在接收到的存储访问来自主机的情况下,所述控制逻辑可以增加与所述存储访问的地址相对应的被监控存储区所对应的主机访问次数的计数值。在接收到的存储访问来自设备的情况下,所述控制逻辑可以增加与所述存储访问的地址相对应的被监控存储区所对应的设备访问次数的计数值。
在另一实施例中,用于动态配置存储一致性偏置的方法可以包括:确定第一当前访问次数和第二当前访问次数,所述第一当前访问次数是主机对指定存储区的当前访问次数,所述第二当前访问次数是设备对所述指定存储区的当前访问次数。在所述第一当前访问次数小于主机访问阈值且所述第二当前访问次数大于设备访问阈值的情况下,所述指定存储区可以被配置以具有设备偏置。在所述第一当前访问次数大于主机访问阈值且所述第二当前访问次数小于设备访问阈值的情况下,所述指定存储区可以被配置以具有主机偏置。在所述第一当前访问次数大于主机访问阈值且所述第二当前访问次数大于设备访问阈值的情况下,所述指定存储区还可以被配置以具有主机偏置。
用于动态配置存储一致性偏置的方法还可以包括:接收存储访问,并确定接收到的存储访问的地址是否对应于多个被监控存储区之一。在接收到的存储访问的地址对应于所述多个被监控存储区之一的情况下,可以确定接收到的存储访问是来自主机还是来自设备。在接收到的存储访问来自主机的情况下,可以增加与所述存储访问的地址对应的所述被监控存储区所对应的主机访问次数的计数值。在接收到的存储访问来自所述设备时,可以增加与所述存储访问的地址对应的所述被监控存储区所对应的设备访问次数的计数值。
通过上述方案,基于动态的主机/设备偏置的存储一致性技术,识别每个存储区所需的一致性偏置模式,从而优化系统性能。
提供本发明内容是为了以简化的形式选择性地引入概念,下面的详细描述会对这些概念进行进一步说明。本发明内容不用于确定本技术所要求保护的主题的关键特征或基本特征,也不用于限制本技术所要求保护的主题的范围。
附图说明
通过示例的方式而非限制的方式,本技术的实施例在附图中示出,其中相同的附图标记表示相似的元件,其中:
图1示出了根据常规技术的计算机系统;
图2示出了根据常规技术的用于将一个或多个设备耦合至主机的示例性通信协议;
图3示出了根据常规技术的第1类CXL(compute express link,计算快速链路)设备的示意图;
图4示出了根据常规技术的第2类CXL设备;
图5示出了根据常规技术的第3类CXL设备;
图6示出了根据本技术各实施例的计算机系统;
图7示出了根据本技术各实施例的计算机系统;
图8示出了根据本技术各实施例的动态一致性偏置配置引擎的示意图;
图9示出了根据本技术各实施例的存储区监控方法的流程示意图;
图10示出了根据本技术各实施例的用于动态配置存储一致性偏置的方法的流程示意图。
具体实施方式
现将详细参考本技术的各种实施例对本技术进行描述,各实施例的示例在附图中示出。尽管结合这些实施例对本技术进行了描述,但应当理解,提出这些实施例的目的并不是要将本技术限制于这些实施例。相反,本发明旨在涵盖可包括在由如所附权利要求所定义的本发明范围内的替代、修改和等同方案。此外,在本技术的以下详细描述中,阐述了许多具体细节,以使本技术能够被透彻地理解。然而,需要理解的是,本技术可以在没有这些具体细节的情况下实施。另一方面,下文没有对公知的方法、过程、组件和电路进行详细描述,以避免不必要地模糊本技术的各方面。
下文描述的本技术的一些实施例是根据一个或多个电子设备内的例程、模块、逻辑块以及数据操作的其它符号表示来呈现的。采用这种描述和表示的方式,本领域技术人员能够最有效地将其工作的实质传达给本领域的其他技术人员。本公开中,例程、模块、逻辑块和/或类似物通常被认为是导致期望结果的有条理的一系列步骤或指令。这些步骤包括对物理量的物理操作。通常,尽管不是必须的,这些物理操作表现为能够在电子设备中存储、传输、比较和以其他方式被操作的电或磁信号的形式。为了方便描述并参考常规用法,这些信号在本公开实施例中被称为数据、比特、值、元素、符号、字符、术语、数字、字符串和/或类似物。
然而,应当了解,采用这些术语仅仅是为了方便标记,这些术语被解释为用于指代物理操作和物理量,且应当可以根据本领域中常用的术语被进一步解释。除非在以下讨论中另外有明确的说明,否则应当理解,在整个本公开中,使用诸如“接收”和/或类似术语的描述指的是电子设备(例如用于操作和转换数据的电子计算机设备)执行的动作或步骤。数据被表示为在电子设备的逻辑电路、寄存器、存储器和/或类似物中的物理量(例如,电子量),且可以被转换成可类似地表示为电子设备中的物理量的其它数据。
在本申请中,对各特征进行分别描述也意味着这些特征可以相互结合。使用定冠词或不定冠词并不是为了表示基数。特别地,对“所述”对象或“一个”对象的引用也意在表示其可能为多个这样的对象中的一个。“包括”、“包含”、“具有”等词汇用于指定所声明的元素的存在,但不用于将一个或多个其他元素及其组合的存在或附加排除在外。还应理解,尽管“第一”、“第二”等词汇可在此用于描述各种元素,但这些元素不应当受这些词汇的限制。在本公开中采用这些词汇是用于将一个元素与另一个元素区分开。例如,第一元素可以被称为第二元素,且类似地,第二元素也可以被称为第一元素,而不会超出本公开实施例的范围。还应当理解,当一个元素被描述为“耦合”至另一个元素时,该元素可以直接或间接地连接到所述另一个元素,或者该元素与所述另一个元素之间还可以存在一个中间元素。相比而言,当一个元素被描述为“直接连接”到另一个元素时,二者之间不存在中间元素。还应当理解,词汇“和/或”包括一个或多个相关联元素的任意组合。还应当理解,本公开采用的短语和术语是为了对本发明进行描述,而不应被视为对本发明的限制。
参见图6和7,其示出了根据本技术各实施例的计算机系统。在一种实现方式中,计算机系统600可以是第2类CXL(Compute Express Link,计算快速链路)设备。CXL(计算快速链路)是一种开放标准互连,其用于支持高速处理器到设备的互连、处理器到存储器的互连及其他相似的互连。计算机系统600可包括主机处理器/主机设备605(以下简称为主机)、主机附设存储器610、设备615和被主机管理的设备存储器620。主机附设存储器610可以通信耦合至主机605。同样,设备615可以通信耦合至主机605。被主机管理的设备存储器620可以通过设备615通信耦合至主机605。主机605可以包括缓存器(cache)625以及一致性与缓存逻辑。在一种实现方式中,主机605的一致性与缓存逻辑可以包括一致性桥(coherencybridge)630和归属代理(home agent)635。设备615可以包括缓存器640以及一致性与缓存逻辑。在一种实现方式中,设备615的一致性与缓存逻辑可以包括设备一致性(devicecoherency,DCOH)引擎645。
图6示出了计算机系统600的基于主机偏置的存储一致性配置。在主机偏置配置中,对主机605和设备615的存储访问都是对称的。主机605可以对来自主机附设存储器610和被主机管理的设备存储器620的数据进行缓存。类似地,设备615可以对来自主机附设存储器610和被主机管理的设备存储器620的数据进行缓存。当访问被主机管理的设备存储器620时,设备615向主机605发送相应的请求650以解决一致性问题。若一致性得到解决,相应的请求650通过设备615从主机605发送回被主机管理的设备存储器620,以进行服务。
现参考图7,其示出了根据本技术各实施例的计算机系统的基于设备偏置的存储一致性配置。在设备偏置配置中,主机605不对来自被主机管理的设备存储器620的数据进行缓存。因此,设备615可以直接访问被主机管理的设备存储器620中的数据755,而不需要向主机605发送访问请求。
如图8所示,主机605和设备615的一致性与缓存逻辑可以包括动态一致性偏置配置引擎。根据本技术各实施例,动态一致性偏置配置引擎800可包括多个存储区监控单元(memory region monitoring unit,MRMU)810a至810x、主机阈值寄存器820、设备阈值寄存器830和控制逻辑840。存储区监控单元可以包括起始页码寄存器850、结束页码寄存器860、主机访问寄存器870和设备访问寄存器880。每个存储区监控单元可以被配置以用于对主机605对指定的被监控存储区的访问次数(ACC_h)和设备615对该指定的被监控存储区的访问次数(ACC_d)进行监控。指定的被监控存储区可以由存储在各个起始页码寄存器850和结束页码寄存器860中的起始页码和结束页码来标识。主机访问寄存器870可以对主机605对指定的被监控存储区的访问次数进行计数。类似地,设备访问寄存器880可以对设备615对指定的被监控存储区的访问次数进行计数。主机阈值寄存器820可被配置以用于存储主机访问阈值,设备阈值寄存器830可被配置以用于存储设备访问阈值。在初始化阶段中,主机访问阈值和设备访问阈值可以由用户设定。可选地,主机访问阈值和设备访问阈值可以在运行时操作期间被改变。
参考图9并结合图6至8,下面将进一步描述计算机系统600的工作过程。图9示出了用于监控存储区的方法。该方法起始于对多个被监控存储区的初始化,见步骤910。在一种实现方式中,主机附设存储器610的存储地址空间可以按照主机605中一致性与缓存逻辑的动态一致性偏置配置引擎800的存储区监控单元810a至810x的数量来划分,被主机管理的设备存储器620的存储地址空间可以按照设备615中一致性与缓存逻辑的动态一致性偏置配置引擎800的存储区监控单元810a至810x的数量来划分。存储地址空间按照存储监控单元的数量被划分为多个部分,基于此,各个存储区监控单元810a至810x的起始页码寄存器820和结束页码寄存器830可以分别被设置为与存储地址空间划分出的各个部分相对应。通过将存储区监控单元810a至810x中的每个存储区监控单元的主机访问寄存器870的值和设备访问寄存器880的值设置为零,可以进一步对存储区监控单元810a至810x进行初始化。在步骤920,主机访问阈值和设备访问阈值可以被设置为相应的预定值。在一种实现方式中,用户设定的主机访问阈值可以被加载到主机阈值寄存器820中,用户设定的设备访问阈值可以被加载到动态一致性偏置配置引擎800的设备阈值寄存器830中。
之后,该方法可以进一步接收存储访问,见步骤930。在一种实现方式中,主机605和设备615的一致性与缓存逻辑可以分别从主机605和设备615接收存储访问请求。存储访问请求可以包括主机605和设备615对被主机管理的设备存储器620和主机附设存储器610进行的各种读操作和写操作。
在步骤940,确定接收到的存储访问的地址是否对应于多个被监控存储区之一。在一种实现方式中,动态一致性偏置配置引擎800可以确定接收到的存储访问对应的存储地址是否处于存储在多个存储区监控单元810a至810x之一的起始页码和结束页码所限定的地址范围内。
在步骤950,当接收到的存储访问的地址与各个被监控存储区均不对应时,可以对多个存储区监控单元810a至810x中可用的一个存储区监控单元进行初始化,以使其与接收到的存储访问的存储地址对应。在一种实现方式中,通过将与接收到的存储访问的地址相关联的起始页码和结束页码分别加载到多个存储区监控单元810a至810x中可用的一个存储区监控单元的起始页码寄存器820和结束页码寄存器830中,可以对该可用的存储区监控单元进行初始化。
在步骤960,当接收到的存储访问的地址对应于多个被监控存储区之一时,确定接收到的存储访问是来自主机605还是来自设备615。在一种实现方式中,动态一致性偏置配置引擎800可以确定指定的存储访问是从主机605接收到的还是从设备615接收到的。
在步骤970,当接收到的存储访问来自主机605时,可增加第一当前访问次数的计数值,该第一当前访问次数是主机对多个被监控存储区中相应的一个被监控存储区的访问次数。在一种实现方式中,当接收到的存储访问来自主机605时,主机访问寄存器870中的值会增加。
在步骤980,当接收到的存储访问来自设备630时,可增加第二当前访问次数的计数值,该第二当前访问次数是设备对多个被监控存储区中相应的一个被监控存储区的访问次数。在一种实现方式中,当接收到的存储访问来自设备615时,设备访问寄存器880中的值会增加。
参考图10并结合图6至9,下面进一步描述了计算机系统600的工作过程。图10示出了根据本技术各实施例的用于动态配置存储一致性偏置的方法流程示意图。该方法可以包括:在步骤1010,确定主机605的当前访问次数和设备615的当前访问次数。在一种实现方式中,动态一致性偏置配置引擎800可以针对每个当前指定的监控存储区单元810a至810x周期性地获取主机访问寄存器870的当前值和设备访问寄存器880的当前值。
在步骤1020,如果主机605的当前访问次数小于主机访问阈值,且设备615的当前访问次数小于设备访问阈值,则可对用于监控当前存储区的参数进行重新分配。在一种实现方式中,动态一致性偏置配置引擎800可以将主机访问寄存器中的当前值与预设的主机访问阈值进行比较,并将设备访问寄存器中的当前值与预设的设备访问阈值进行比较。在主机访问寄存器中的当前值小于主机访问阈值且设备访问寄存器中的当前值小于设备访问阈值的情况下,动态一致性偏置配置引擎800可以重新分配相应的被监控存储区单元。
在步骤1030,如果主机605的当前访问次数小于主机访问阈值且设备615的当前访问次数大于设备访问阈值,则相应的被监控存储区可以被配置为具有设备偏置。在一种实现方式中,动态一致性偏置配置引擎800可以将主机访问寄存器中的当前值与预设的主机访问阈值进行比较,将设备访问寄存器中的当前值与预设的设备访问阈值进行比较。在主机访问寄存器中的当前值小于主机访问阈值且设备访问寄存器中的当前值大于设备访问阈值的情况下,动态一致性偏置配置引擎800可以将相应的被监控存储区单元所对应的存储区配置为具有设备偏置配置。在设备比主机更多地访问相应的存储区的情况下,设备偏置配置可以有利地提高性能。设备偏置配置使得设备615能够在相对高的带宽下访问其本地存储器,而不会因解决一致性问题而导致显著开销(例如对主机缓存器进行监视而带来的开销)。在设备偏置配置中,主机605不对来自被主机管理的设备存储器620的数据进行缓存。因此,设备615可以直接访问被主机管理的设备存储器620中的数据755,而不需要向主机605发送访问请求。
在步骤1040,如果主机605的当前访问次数大于主机访问阈值且设备615的当前访问次数小于设备访问阈值,则对应的被监控存储区可以被配置为具有主机偏置。在一种实现方式中,动态一致性偏置配置引擎800可以将主机访问寄存器中的当前值与预设的主机访问阈值进行比较,并将设备访问寄存器中的当前值与预设的设备访问阈值进行比较。在主机访问寄存器中的当前值大于主机访问阈值且设备访问寄存器中的当前值小于设备访问阈值的情况下,动态一致性偏置配置引擎800可以将相应的被监控存储区单元所对应的存储区配置为具有主机偏置配置。在主机605比设备615更多地访问相应的存储区的情况下,主机偏置配置可以有利地提高性能。在主机偏置配置中,对主机605和设备615的存储访问是对称的。主机605可以对来自主机附设存储器610和被主机管理的设备存储器620的数据进行缓存。类似地,设备615可以对来自主机附设存储器610和被主机管理的设备存储器620两者的数据进行缓存。当访问被主机管理的设备存储器620时,设备615向主机605发送相应的请求650以解决一致性问题。若一致性得到解决,相应的请求650通过设备615从主机605发送回被主机管理的设备存储器620,以进行服务。
在步骤1050,如果主机的当前访问次数大于主机访问阈值且设备的当前访问次数大于设备访问阈值,则对应的被监控存储区可以被配置为具有主机偏置。在一种实现方式中,动态一致性偏置配置引擎800可以将主机访问寄存器中的当前值与预设的主机访问阈值进行比较,并将设备访问寄存器中的当前值与预设的设备访问阈值进行比较。在主机访问寄存器中的当前值大于主机访问阈值且设备访问寄存器中的当前值大于设备访问阈值的情况下,动态一致性偏置配置引擎800可以将相应的被监控存储区单元所对应的存储区配置为具有主机偏置配置。同样,在主机605比设备615更多地访问相应的存储区的情况下,主机偏置配置可以有利地增加性能。在主机偏置配置中,对主机605和设备615的存储访问是对称的。主机605可以对来自主机附设存储器610和被主机管理的设备存储器620的数据进行缓存。类似地,设备615可以对来自主机附设存储器610和被主机管理的设备存储器620的数据进行缓存。当访问被主机管理的设备存储器620时,设备615向主机605发送相应的请求650,以解决一致性问题。若一致性得到解决,相应的请求650通过设备615从主机605发送回被主机管理的设备存储器620,以进行服务。
步骤1010至1050的处理过程可以周期性地重复以调整存储器一致性偏置,从而针对主机605和设备615的存储空间利用率的变化进行调整。此外,在步骤1020中被重新分配的存储区监控单元可用于监控存储空间中的其他区域。例如,若初始指定的存储区为闲置(inactive)状态,可由动态一致性偏置配置引擎800重新分配一存储区监控单元(该存储区监控单元被初始化以对存储空间中的一个指定存储区进行监控),使得存储空间中的另一存储区可以被监控。类似地,动态一致性偏置配置引擎800可以分离出活动(active)状态的被监控存储区,并将一指定的存储区监控单元(MRMU)重新分配给分离出的存储区,以提供更具细粒度的存储一致性偏置配置。此外,上述存储一致性偏置的动态配置可以与任意基于软件实现的偏置一致性管理方案相结合。
根据本技术各实施例的基于动态的主机/设备偏置的存储一致性技术有利于保持设备的缓存一致性。本技术各实施例可以有利地识别每个存储区所需的一致性偏置模式,从而可以优化系统性能。通过重新分配和/或调整被监控存储区的大小,和/或改变主机访问阈值和/或设备访问阈值,主机/设备偏置配置可以有利地被动态配置。
为了对本技术进行说明和描述,前文已呈现了对本技术具体实施例的描述。这些具体实施例并不旨在详尽描述本技术或将本技术限制于本文所公开的各精确形式之内,这些具体实施例可以显而易见地在上文的启发下进行许多修改和变化。选择和描述这些实施例是为了对本技术的原理及其实际应用进行最好的解释,以使本领域的其他技术人员能够最好地利用可具有适合于预期具体用途的各种变化的各种实施例和本技术。本发明的范围由所附的权利要求及其等同物来定义。
Claims (15)
1.一种动态一致性偏置配置引擎,包括:
多个存储区监控单元,每个存储区监控单元被配置以用于对主机对相应的被监控存储区的访问次数和设备对所述相应的被监控存储区的访问次数进行跟踪;以及
控制逻辑,被配置为:
从被指定的存储区监控单元中确定第一当前访问次数和第二当前访问次数,所述第一当前访问次数是所述主机对指定存储区的当前访问次数,所述第二当前访问次数是所述设备对所述指定存储区的当前访问次数,所述被指定的存储区监控单元是所述多个存储区监控单元中与所述指定存储区相对应的存储区监控单元;
当所述第一当前访问次数小于主机访问阈值且所述第二当前访问次数大于设备访问阈值时,将所述指定存储区配置为具有设备偏置;
当所述第一当前访问次数大于所述主机访问阈值且所述第二当前访问次数小于所述设备访问阈值时,将所述指定存储区配置为具有主机偏置;以及
当所述第一当前访问次数大于所述主机访问阈值且所述第二当前访问次数大于所述设备访问阈值时,将所述指定存储区配置为具有主机偏置。
2.根据权利要求1所述的动态一致性偏置配置引擎,其中,所述多个存储区监控单元包括:起始页码寄存器,用于存储相应的被监控存储区的起始页码;以及结束页码寄存器,用于存储所述相应的被监控存储区的结束页码;
所述控制逻辑还被配置为:将存储访问请求所对应的所述指定存储区的地址与存储在一个或多个所述存储区监控单元的起始页码寄存器中的起始页码和结束页码寄存器中的结束页码进行比较,以确定与所述指定存储区相对应的所述指定的存储区监控单元。
3.根据权利要求1所述的动态一致性偏置配置引擎,还包括:
主机阈值寄存器,用于存储所述主机访问阈值;以及
设备阈值寄存器,用于存储所述设备访问阈值,
其中,所述多个存储区监控单元包括:
主机访问寄存器,用于将所述主机对所述相应的被监控存储区的当前访问次数存储为所述第一当前访问次数;以及
设备访问寄存器,用于将所述设备对所述相应的被监控存储区的当前访问次数存储为所述第二当前访问次数,
所述控制逻辑还被配置为:
将所述主机访问寄存器中存储的所述第一当前访问次数与存储在所述主机阈值寄存器中的所述主机访问阈值进行比较;以及
将所述设备访问寄存器中存储的所述第二当前访问次数与存储在所述设备阈值寄存器中的所述设备访问阈值进行比较。
4.根据权利要求3所述的动态一致性偏置配置引擎,其中,所述控制逻辑还被配置为:当所述第一当前访问次数小于所述主机访问阈值且所述第二当前访问次数小于所述设备访问阈值时,重新分配所述指定的存储区监控单元。
5.根据权利要求3所述的动态一致性偏置配置引擎,其中,所述控制逻辑还被配置为:
接收存储访问;
确定接收到的所述存储访问的地址是否对应于多个被监控存储区之一;
在接收到的所述存储访问的地址对应于所述多个被监控存储区之一的情况下,确定接收到的所述存储访问是来自所述主机还是来自所述设备;
在接收到的所述存储访问来自所述主机的情况下,增加相应的所述存储区监控单元的所述主机访问寄存器中来自所述主机的所述第一当前访问次数;以及
在接收到的所述存储访问来自所述设备的情况下,增加所述相应的存储区监控单元的所述设备访问寄存器中来自所述设备的所述第二当前访问次数。
6.根据权利要求5所述的动态一致性偏置配置引擎,其中,所述控制逻辑还被配置为:
在接收所述存储访问之前,对所述主机访问阈值和所述设备访问阈值,以及与所述多个被监控存储区相关联的监控参数进行初始化;以及
在接收到的所述存储访问的地址与所述多个被监控存储区均不对应的情况下,针对接收到的所述存储访问,对相应的所述被监控存储区的监控参数进行配置。
7.一种用于动态配置存储一致性偏置的方法,其中,包括:
确定第一当前访问次数和第二当前访问次数,所述第一当前访问次数是主机对指定存储区的当前访问次数,所述第二当前访问次数是设备对所述指定存储区的当前访问次数;
在所述第一当前访问次数小于主机访问阈值且所述第二当前访问次数大于设备访问阈值的情况下,将所述指定存储区配置为具有设备偏置;
在所述第一当前访问次数大于所述主机访问阈值且所述第二当前访问次数小于所述设备访问阈值的情况下,将所述指定存储区配置为具有主机偏置;以及
在所述第一当前访问次数大于所述主机访问阈值且所述第二当前访问次数大于所述设备访问阈值的情况下,将所述指定存储区配置为具有主机偏置。
8.根据权利要求7所述的方法,其中,还包括:
在所述第一当前访问次数小于所述主机访问阈值且所述第二当前访问次数小于所述设备访问阈值的情况下,对所述指定存储区的监控进行重新分配。
9.根据权利要求7所述的方法,其中,还包括:
接收存储访问;
确定接收到的所述存储访问的地址是否对应于多个被监控存储区之一;
在接收到的所述存储访问的地址对应于所述多个被监控存储区中的一个相应的被监控存储区的情况下,确定接收到的所述存储访问是来自所述主机还是来自所述设备;
在接收到的所述存储访问来自所述主机的情况下,增加第一计数值,所述第一计数值表示所述主机对所述相应的被监控存储区的访问次数;以及
在接收到的所述存储访问来自所述设备的情况下,增加第二计数值,所述第二计数值表示所述设备对所述相应的被监控存储区的访问次数。
10.根据权利要求9所述的方法,其中,还包括:
在接收所述存储访问之前,对所述主机访问阈值和所述设备访问阈值,以及与所述多个被监控存储区相关联的监控参数进行初始化;以及
在接收到的所述存储访问的地址与所述多个被监控存储区均不对应的情况下,针对接收到的所述存储访问,对相应的所述被监控存储区的监控参数进行配置。
11.根据权利要求9所述的方法,其中,在所述指定存储区具有主机偏置的情况下,所述设备在访问所述指定存储区之前检查与所述主机的缓存一致性;以及在所述指定存储区具有设备偏置的情况下,所述设备直接访问所述指定存储区。
12.一种计算机可读介质,其上存储有指令,其中,所述指令被一个或多个处理单元执行,以实现用于动态配置存储一致性偏置的方法,所述方法包括:
在主机对指定存储区的当前访问次数小于主机访问阈值且设备对所述指定存储区的当前访问次数大于设备访问阈值的情况下,将所述指定存储区配置为具有设备偏置;
在所述主机对所述指定存储区的当前访问次数大于所述主机访问阈值且所述设备对所述指定存储区的当前访问次数小于所述设备访问阈值的情况下,将所述指定存储区配置为具有主机偏置;以及
在所述主机对所述指定存储区的当前访问次数大于所述主机访问阈值且所述设备对所述指定存储区的当前访问次数大于所述设备访问阈值的情况下,将所述指定存储区配置为具有主机偏置。
13.根据权利要求12所述的计算机可读介质,其中,所述方法还包括:在所述主机对所述指定存储区的当前访问次数小于所述主机访问阈值且所述设备对所述指定存储区的当前访问次数小于所述设备访问阈值的情况下,对所述指定存储区的监控进行重新分配。
14.根据权利要求12所述的计算机可读介质,其中,所述方法还包括:
接收存储访问;
确定接收到的所述存储访问的地址是否对应于多个被监控存储区之一;
在接收到的所述存储访问的地址对应于所述多个被监控存储区中的一个相应的被监控存储区的情况下,确定接收到的所述存储访问是来自主机还是来自设备;
在接收到的所述存储访问来自所述主机的情况下,增加第一计数值,所述第一计数值表示所述主机对所述相应的被监控存储区的访问次数;以及
在接收到的所述存储访问来自所述设备的情况下,增加第二计数值,所述第二计数值表示所述设备对所述相应的被监控存储区的访问次数。
15.根据权利要求14所述的计算机可读介质,其中,所述方法还包括:
在接收到的所述存储访问的地址与所述多个被监控存储区均不对应的情况下,针对接收到的所述存储访问,对所述多个被监控存储区中相应的一个被监控存储区的监控参数进行配置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/166,975 US20220244870A1 (en) | 2021-02-03 | 2021-02-03 | Dynamic memory coherency biasing techniques |
US17/166,975 | 2021-02-03 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114860329A true CN114860329A (zh) | 2022-08-05 |
CN114860329B CN114860329B (zh) | 2023-10-31 |
Family
ID=82612528
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210060393.XA Active CN114860329B (zh) | 2021-02-03 | 2022-01-19 | 动态一致性偏置配置引擎及方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20220244870A1 (zh) |
CN (1) | CN114860329B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210311871A1 (en) * | 2020-04-06 | 2021-10-07 | Samsung Electronics Co., Ltd. | System and method for aggregating server memory |
US11940935B2 (en) * | 2021-04-19 | 2024-03-26 | Mellanox Technologies, Ltd. | Apparatus, method and computer program product for efficient software-defined network accelerated processing using storage devices which are local relative to a host |
US11899589B2 (en) * | 2021-06-22 | 2024-02-13 | Samsung Electronics Co., Ltd. | Systems, methods, and devices for bias mode management in memory systems |
US20230393783A1 (en) * | 2022-06-02 | 2023-12-07 | Micron Technology, Inc. | Access heatmap generation at a memory device |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101770397A (zh) * | 2008-12-30 | 2010-07-07 | 英特尔公司 | 扩展高速缓存一致性协议以支持本地缓冲的数据 |
CN102890621A (zh) * | 2011-07-22 | 2013-01-23 | 弗森-艾奥公司 | 确定固态存储介质配置参数的装置、系统和方法 |
US20150121001A1 (en) * | 2013-10-24 | 2015-04-30 | Fujitsu Limited | Storage control device and storage control method |
CN105677248A (zh) * | 2015-12-31 | 2016-06-15 | 华为技术有限公司 | 一种数据访问方法和装置 |
US20170315737A1 (en) * | 2016-04-27 | 2017-11-02 | Micron Technology, Inc. | Data caching |
US20180068736A1 (en) * | 2016-09-05 | 2018-03-08 | SK Hynix Inc. | Memory system and method for operating the memory system |
US20180137921A1 (en) * | 2010-09-23 | 2018-05-17 | Micron Technology, Inc. | Access line management in a memory device |
JP2018088212A (ja) * | 2016-11-30 | 2018-06-07 | 日本電気株式会社 | 情報制御装置、情報制御方法、及び、プログラム |
CN108154054A (zh) * | 2016-12-02 | 2018-06-12 | Arm 有限公司 | 过滤一致性协议事务 |
CN108694688A (zh) * | 2017-04-07 | 2018-10-23 | 英特尔公司 | 用于在图形处理架构中管理数据偏置的设备和方法 |
CN109582605A (zh) * | 2017-09-29 | 2019-04-05 | 英特尔公司 | 通过PCIe的一致性存储器设备 |
CN109597684A (zh) * | 2017-09-30 | 2019-04-09 | 英特尔公司 | 处理器中的动态性能偏置 |
US20190251043A1 (en) * | 2018-02-13 | 2019-08-15 | Samsung Electronics Co., Ltd. | Memory device for adjusting memory capacity per channel and memory system including the same |
CN112214161A (zh) * | 2019-07-09 | 2021-01-12 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN112306500A (zh) * | 2020-11-30 | 2021-02-02 | 上海交通大学 | 一种针对粗粒度可重构结构的降低多类访存冲突编译方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180292988A1 (en) * | 2017-04-07 | 2018-10-11 | GM Global Technology Operations LLC | System and method for data access in a multicore processing system to reduce accesses to external memory |
US11030126B2 (en) * | 2017-07-14 | 2021-06-08 | Intel Corporation | Techniques for managing access to hardware accelerator memory |
US20190370177A1 (en) * | 2018-02-08 | 2019-12-05 | Nutanix, Inc. | Hardware-assisted page access tracking |
US11372757B2 (en) * | 2020-09-04 | 2022-06-28 | Microsoft Technology Licensing, Llc | Tracking repeated reads to guide dynamic selection of cache coherence protocols in processor-based devices |
US20210011864A1 (en) * | 2020-09-25 | 2021-01-14 | Francesc Guim Bernat | System, apparatus and methods for dynamically providing coherent memory domains |
-
2021
- 2021-02-03 US US17/166,975 patent/US20220244870A1/en active Pending
-
2022
- 2022-01-19 CN CN202210060393.XA patent/CN114860329B/zh active Active
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101770397A (zh) * | 2008-12-30 | 2010-07-07 | 英特尔公司 | 扩展高速缓存一致性协议以支持本地缓冲的数据 |
US20180137921A1 (en) * | 2010-09-23 | 2018-05-17 | Micron Technology, Inc. | Access line management in a memory device |
CN102890621A (zh) * | 2011-07-22 | 2013-01-23 | 弗森-艾奥公司 | 确定固态存储介质配置参数的装置、系统和方法 |
US20150121001A1 (en) * | 2013-10-24 | 2015-04-30 | Fujitsu Limited | Storage control device and storage control method |
CN105677248A (zh) * | 2015-12-31 | 2016-06-15 | 华为技术有限公司 | 一种数据访问方法和装置 |
CN109154909A (zh) * | 2016-04-27 | 2019-01-04 | 美光科技公司 | 数据高速缓存 |
US20170315737A1 (en) * | 2016-04-27 | 2017-11-02 | Micron Technology, Inc. | Data caching |
US20180068736A1 (en) * | 2016-09-05 | 2018-03-08 | SK Hynix Inc. | Memory system and method for operating the memory system |
JP2018088212A (ja) * | 2016-11-30 | 2018-06-07 | 日本電気株式会社 | 情報制御装置、情報制御方法、及び、プログラム |
CN108154054A (zh) * | 2016-12-02 | 2018-06-12 | Arm 有限公司 | 过滤一致性协议事务 |
CN108694688A (zh) * | 2017-04-07 | 2018-10-23 | 英特尔公司 | 用于在图形处理架构中管理数据偏置的设备和方法 |
CN109582605A (zh) * | 2017-09-29 | 2019-04-05 | 英特尔公司 | 通过PCIe的一致性存储器设备 |
CN109597684A (zh) * | 2017-09-30 | 2019-04-09 | 英特尔公司 | 处理器中的动态性能偏置 |
US20190251043A1 (en) * | 2018-02-13 | 2019-08-15 | Samsung Electronics Co., Ltd. | Memory device for adjusting memory capacity per channel and memory system including the same |
CN112214161A (zh) * | 2019-07-09 | 2021-01-12 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
US20210011651A1 (en) * | 2019-07-09 | 2021-01-14 | SK Hynix Inc. | Memory system and operating method thereof |
CN112306500A (zh) * | 2020-11-30 | 2021-02-02 | 上海交通大学 | 一种针对粗粒度可重构结构的降低多类访存冲突编译方法 |
Also Published As
Publication number | Publication date |
---|---|
US20220244870A1 (en) | 2022-08-04 |
CN114860329B (zh) | 2023-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114860329B (zh) | 动态一致性偏置配置引擎及方法 | |
US20230367711A1 (en) | Systems and methods for scalable and coherent memory devices | |
US6775750B2 (en) | System protection map | |
US8250254B2 (en) | Offloading input/output (I/O) virtualization operations to a processor | |
US8230179B2 (en) | Administering non-cacheable memory load instructions | |
US6170070B1 (en) | Test method of cache memory of multiprocessor system | |
US9864687B2 (en) | Cache coherent system including master-side filter and data processing system including same | |
US20080109624A1 (en) | Multiprocessor system with private memory sections | |
US20040107329A1 (en) | Memory pool configuration system | |
GB2404760A (en) | Providing updated system locality information | |
KR20180027646A (ko) | I/o 패킷 압축을 위한 레지스터 파일 | |
US11157191B2 (en) | Intra-device notational data movement system | |
CN116028455A (zh) | 一种数据处理方法、装置、存储介质及电子设备 | |
US20080294864A1 (en) | Memory class based heap partitioning | |
US6425071B1 (en) | Subsystem bridge of AMBA's ASB bus to peripheral component interconnect (PCI) bus | |
CN113138851B (zh) | 一种数据管理方法、相关装置及系统 | |
WO2023124304A1 (zh) | 芯片的缓存系统、数据处理方法、设备、存储介质及芯片 | |
US20180181372A1 (en) | Electronic devices and operation methods of the same | |
US10936219B2 (en) | Controller-based inter-device notational data movement system | |
KR102485999B1 (ko) | 마스터-사이드 필터를 포함하는 캐시 코히런트 시스템과 이를 포함하는 데이터 처리 시스템 | |
US11281612B2 (en) | Switch-based inter-device notational data movement system | |
CN113297111B (zh) | 人工智能芯片及其操作方法 | |
US11422963B2 (en) | System and method to handle uncompressible data with a compression accelerator | |
US20220317925A1 (en) | Methods and apparatus for offloading tiered memories management | |
CN117827449A (zh) | 服务器的物理内存扩展架构、服务器、方法、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |