CN113805795A - 用于管理访问随机存取存储器的请求的方法和对应系统 - Google Patents
用于管理访问随机存取存储器的请求的方法和对应系统 Download PDFInfo
- Publication number
- CN113805795A CN113805795A CN202110652275.3A CN202110652275A CN113805795A CN 113805795 A CN113805795 A CN 113805795A CN 202110652275 A CN202110652275 A CN 202110652275A CN 113805795 A CN113805795 A CN 113805795A
- Authority
- CN
- China
- Prior art keywords
- value
- request
- memory
- duration associated
- processing unit
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 23
- 230000015654 memory Effects 0.000 claims abstract description 87
- 238000012545 processing Methods 0.000 claims abstract description 71
- 230000004044 response Effects 0.000 claims abstract 2
- 230000001960 triggered effect Effects 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 7
- 108700012361 REG2 Proteins 0.000 description 6
- 101150108637 REG2 gene Proteins 0.000 description 6
- 101100120298 Rattus norvegicus Flot1 gene Proteins 0.000 description 6
- 101100412403 Rattus norvegicus Reg3b gene Proteins 0.000 description 6
- 102100023882 Endoribonuclease ZC3H12A Human genes 0.000 description 5
- 101710112715 Endoribonuclease ZC3H12A Proteins 0.000 description 5
- 101000589407 Homo sapiens Membrane progestin receptor gamma Proteins 0.000 description 5
- 102100032334 Membrane progestin receptor gamma Human genes 0.000 description 5
- QGVYYLZOAMMKAH-UHFFFAOYSA-N pegnivacogin Chemical compound COCCOC(=O)NCCCCC(NC(=O)OCCOC)C(=O)NCCCCCCOP(=O)(O)O QGVYYLZOAMMKAH-UHFFFAOYSA-N 0.000 description 5
- 238000007726 management method Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000003247 decreasing effect Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 238000004377 microelectronic Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000001627 detrimental effect Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1689—Synchronisation and timing concerns
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/22—Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management
- G11C7/222—Clock generating, synchronizing or distributing circuits within memory device
-
- 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
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4234—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
- G06F13/4243—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
-
- 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/0614—Improving the reliability of storage 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0622—Securing storage systems in relation to access
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3404—Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
- G11C7/1063—Control signal output circuits, e.g. status or busy flags, feedback command signals
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
- G11C7/1069—I/O lines read out arrangements
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
- G11C7/1096—Write circuits, e.g. I/O line write drivers
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Memory System (AREA)
- Telephonic Communication Services (AREA)
- Exchange Systems With Centralized Control (AREA)
- Power Sources (AREA)
- Read Only Memory (AREA)
Abstract
本公开的实施例涉及用于管理访问随机存取存储器的请求的方法和对应系统。随机存取存储器借助存储器接口而被连接到处理单元。对随机存取存储器的访问由进程来控制。存储器接口接收由处理单元发出的对存储器进行访问的请求。响应于请求,存储器接口向处理单元指示存储器在不可用持续时间期间不可用于接收另一访问请求。该持续时间可以根据所接收的请求是写入请求还是读取请求来区分。与写入请求相关联的不可用持续时间的值以及与读取请求相关联的不可用持续时间的值可彼此独立地单独编程。
Description
相关申请的交叉引用
本申请要求于2020年6月12日提交的法国专利申请No.2006167的优先权,其内容在法律允许的最大范围内通过引用整体并入本文。
技术领域
实施例和实现方式涉及微电子领域,并且更具体地涉及对例如,随机存取存储器(“RAM”)类型、动态随机存取存储器(“DRAM”)类型或者静态随机存取存储器(“SRAM”)类型的随机存取存储器的访问进行管理的领域。
背景技术
常规的电子设备包括例如借助总线和存储器接口而被连接到随机存取存储器的处理器。处理器可以经由总线和存储器接口来向随机存取存储器发出旨在读取或写入的访问请求。
通常,特别是由于读取和写入访问次数的增加,随机存取存储器的性能随着电源电压的降低而降低。
为了不影响处理器的频率性能,存储器接口实现了等待状态机制,等待状态机制允许接口在接收到访问请求之后,向处理器指示随机存取存储器在固定数目的时钟周期内不可用。
结果,由处理器执行的一些操作持续时间更长,这在消耗方面不利,特别是在旨在具有更低消耗的低电压操作模式中不利。
因此需要改善这样的电子设备的低电压性能。
发明内容
已观察到,在随机存取存储器中写入内容的访问时间与读取内容的访问时间相比对存储器电源电压的变化不那么灵敏,并且因此,特别是在低电压下,在随机存取存储器中写入内容的访问时间比读取内容的访问时间更短。
根据一个实现方式和实施例,因此提出了根据随机存取存储器中内容的读取或写入来选择性地调整在两个访问请求之间的等待时间。
这具体地允许不强制处理器等待相同的时间,以能够在对存储器的写入请求之后执行操作,这是因为当存储器确实已可用时,在对存储器的读取请求之后能够执行操作。
根据一个方面,提供了用于管理对借助存储器接口连接到处理单元的随机存取存储器的访问的方法。
根据该方面的方法包括:在存储器接口接收到由处理单元发出的对存储器的访问请求时,由存储器接口向处理单元指示存储器在不可用持续时间期间不可用于接收另一访问请求,不可用持续时间可以根据所接收的请求是写入请求还是读取请求来区分。
此外,与写入请求相关联的不可用持续时间的值以及与读取请求相关联的不可用持续时间的值可以彼此独立地单独编程。
这些可编程的不可用持续时间与由存储器本身在内部执行的写入和/或读取操作的固有持续时间不同。
例如根据所考虑的应用的特征(诸如,期望的电源电压和操作频率),读取和写入不可用持续时间的这些值可以例如由微控制器的用户来彼此独立地编程。
凭借该编程,例如通过将这些值存储在寄存器中,用户可以独立于由存储器本身执行的写入和/或读取操作的固有持续时间,选择这些不可用持续时间的值。
例如,用户可以施加存储器将被处理单元视为不可用的非零数目的(一个或多个)时钟周期(对应于不可用持续时间),这允许保证由存储器执行的写入或读取操作将在接收到另一访问请求之前完成,并且因此考虑到所考虑的频率,可以保证微控制器的正确操作。
不可用(例如,写入不可用)持续时间被编程为零值意味着考虑到所考虑的频率,考虑所考虑的操作(例如,写入操作)的固有持续时间与微控制器的正确操作兼容。
因此,在该情况下,用户不施加任何事务并且使得存储器和存储器接口以常规方式操作。
由于已观察到特别是在低电压下,在随机存取存储器中写入内容的访问时间比读取内容的访问时间更短,与写入请求相关联的不可用持续时间然后可以被有利地选择为比与读取请求相关联的不可用持续时间更少。
这然后支持限制处理单元在请求写入存储器之后无法执行操作的持续时间,从而允许更低的消耗(处理单元不执行任何操作的时钟周期更少)以及一些操作的更高执行速度。
根据所考虑的情况,例如如果例如在低电压操作期间以及在低频率下,读取和/或写入操作的固有持续时间(即使增加)对微控制器的正确操作无害,这些可编程值可以均非零,或者一个为零而另一个非零,或者两个均为零。
同样,在某些情况下,特别是在没有“等待状态”的情况下,与写入请求相关联的不可用持续时间可以被选择为等于与读取请求相关联的不可用持续时间。
根据一个实现方式,处理单元由时钟信号定时,并且与写入请求相关联的不可用持续时间的值以及与读取请求相关联的不可用持续时间的值可以如上所示地与随机存取存储器的电源电压值和时钟信号的频率相关。
实际上,如上所述,即使对存储器的访问时间随着电源电压的下降而增加,如果例如处理单元的定时频率保持低,这也可能不是问题。用户然后可以决定不将存储器的不可用持续时间增加超过低电压存储器固有的访问时间。
根据一个实现方式,如果电源电压小于第一阈值并且如果频率大于第二阈值,则与读取请求相关联的不可用持续时间的值非零,以及如果电源电压小于第三阈值并且如果频率大于第四阈值,则与写入请求相关联的不可用持续时间非零。
第一阈值和第三阈值可以相同也可以不同。
然而,通常第一阈值大于第三阈值。
例如,对于大于1伏的电源电压,对于给定频率,与读取请求相关联的不可用持续时间的值以及与写入请求相关联的不可用持续时间的值可以均被选择为零。
另一方面,如果电源电压介于0.8伏与1伏之间,则与读取请求相关联的不可用持续时间的值将被选择为非零,而与写入请求相关联的不可用持续时间的值将被始终选择为零。
对于小于0.8伏的电源电压,与读取请求相关联的不可用持续时间的值以及与写入请求相关联的不可用持续时间的值可以均被选择为非零。
第二阈值和第四阈值也可以相同或不同。
通常,较高的期望频率导致非零的不可用持续时间。
因此,具有可单独自定义的读取或写入阈值来触发不可用时间段支持考虑与电源电压和频率相关的读取和写入访问时间演变的差。
如前所述,根据一个实现方式,当处理单元由时钟信号定时时,与写入请求相关联的不可用持续时间的值对应于时钟信号的第一数目的周期,并且与读取请求相关联的不可用持续时间的值对应于时钟信号的第二数目的周期。
这允许使用计数器来实现这些不可用持续时间的值。
根据另一方面,提出了系统,系统包括借助存储器接口而被连接到处理单元的随机存取存储器。
所述存储器接口包括:接收电路,被配置为接收由处理单元发射的对存储器的访问请求;以及处理电路,被连接到接收电路并且被配置为向处理单元指示随机存取存储器在不可用持续时间期间不可用于接收另一访问请求,不可用持续时间可以根据所接收的请求是写入请求还是读取请求来区分。
系统还包括编程电路,编程电路被配置为对与写入请求相关联的不可用持续时间的值以及与读取请求相关联的不可用持续时间的值进行彼此独立地单独编程。
根据一个实施例,处理单元由时钟信号定时,并且与写入请求相关联的不可用持续时间的值以及与读取请求相关联的不可用持续时间的值与随机存取存储器的电源电压值以及时钟信号的频率相关。
根据一个实施例,如果电源电压小于第一阈值并且如果频率大于第二阈值,则与读取请求相关联的不可用持续时间的值非零,以及如果电源电压小于第三阈值并且如果频率大于第四阈值,则与写入请求相关联的不可用持续时间的值非零。
根据一个实施例,与写入请求相关联的不可用持续时间小于或等于与读取请求相关联的不可用持续时间。
根据一个实施例,处理单元由时钟信号定时,与写入请求相关联的不可用持续时间的值对应于时钟信号的第一数目的周期并且与读取请求相关联的不可用持续时间的值对应于时钟信号的第二数目的周期。
根据一个实施例,处理电路包括:第一计数器,由时钟信号定时并且具有与写入请求相关联的不可用持续时间的值相对应的第一计数结束值;第二计数器,由时钟信号定时并且具有与读取请求相关联的不可用持续时间的值相对应的第二计数结束值;以及状态机,被配置为如果第一计数结束值或者第二计数结束值分别非零,则触发第一计数器或第二计数器,在计数器中的一个计数器被触发时,向处理单元输出存储器不可用信号,并且当被触发的计数器达到其计数结束值时,向处理单元输出存储器可用信号。
根据一个实施例,编程电路包括:第一可编程存储器电路,被连接到处理电路并且旨在包含第一指示,第一指示表示与写入请求相关联的不可用持续时间的值;以及第二可编程存储器电路,被连接到处理电路并且旨在包含第二指示,第二指示表示与读取请求相关联的不可用持续时间的值。
根据一个实施例,所述第一指示是第一计数结束值并且所述第二指示是第二计数结束值。
根据一个实施例,系统形成微控制器。
附图说明
本发明的其他优点和特征在检查实施例和实现方式的详细描述以及附图之后将变得显而易见,这些实施例和实现方式绝不是限制性的,其中:
图1图示了包括随机存取存储器的系统;
图2图示了状态机的操作流程图;以及
图3图示了参考图1所示的系统操作的时序图的示例。
具体实施方式
图1图示了系统SYS,系统SYS包括随机存取存储器MM,通常是静态或动态随机存取存储器,随机存取存储器MM借助存储器接口MM_IF而被连接到中央处理单元CPU,例如,处理器。术语“随机存取存储器”在此处以一般方式来理解,即,随机存取存储器MM可以例如由一个或多个随机存取存储器组成。随机存取存储器MM由电源电压Vdd供电。
处理单元CPU由具有频率Freq的时钟信号HCLK来定时。
在处理单元CPU与存储器接口MM_IF之间的连接通过例如“高级高性能总线”AHB类型的总线BS来实现,或者更一般地通过与“高级微控制器总线架构”(AMBA)标准相对应的总线来实现。
同样,在存储器接口MM_IF与随机存取存储器MM之间的连接通过存储器总线BS_MM来实现。
如此形成的系统SYS可以是例如集成到诸如移动电话的移动设备中的微控制器,例如由意法半导体(STMicroelectronics)公司销售的STM32系列的微控制器。
在系统SYS操作期间,处理单元CPU经由BS、BS_MM总线来发出旨在用于随机存取存储器MM的读取或写入访问请求RQT(图2)。
为此,存储器接口MM_IF包括被配置为接收这样的访问请求RQT的接收电路MRC。
在一些应用中,人们通常寻求将系统SYS的功耗最小化,并且具体的,降低随机存取存储器MM的功耗是有利的,随机存取存储器MM通常是微电子学器件中最耗能的组件之一。
此外,还存在低消耗模式,其中有意地降低存储器的电源电压Vdd。
然而,降低随机存取存储器MM的电源电压Vdd的结果是增加了对随机存取存储器的读取和写入访问时间。
当随机存取存储器MM处理当前访问请求RQT并且在存储器尚未完成由当前请求所需的数据的写入或读取时接收到新访问请求时,会出现问题。
存储器接口MM_IF因此包括被配置为实现“等待状态”机制的处理电路MT,等待状态机制向处理单元CPU指示随机存取存储器MM在被称为不可用持续时间的持续时间内不可用。
为此,处理电路MT包括能够生成可用信号HREADYout(图2)的状态机SM,可用信号经由总线BS而被通信到处理单元CPU。
可用信号HREADYout例如是二进制信号,其指示在高状态下,存储器MM可用,而在低状态下,存储器MM不可用。当由处理单元CPU接收的可用信号HREADYout处于低状态时,则向随机存取存储器MM发出新访问请求被禁止。
有利地,状态机SM支持根据访问请求RQT是读取访问请求还是写入访问请求来选择性地调整随机存取存储器MM不可用持续时间的操作。
与读取请求相关联的不可用持续时间被称为VAL_R,并且与写入请求相关联的不可用持续时间被称为VAL_W。
不可用持续时间VAL_R和VAL_W可以相同或不同,并且它们是可编程的,例如由系统SYS的用户进行编程。
处理电路MT包括由处理单元CPU的时钟信号HCLK定时的第一计数器CT1和第二计数器CT2。
第一计数器CT1包括与不可用持续时间VAL_W相对应的计数结束值。第二计数器CT2包括与不可用持续时间VAL_R相对应的计数结束值。
如将关于图2更详细地说明,在写入请求之后并且假设VAL_W不为零,第一计数器CT1被配置为以时钟信号HCLK的速率递增,直到写入不可用持续时间的值VAL_W。
在读取请求之后并且假设VAL_R不为零,第二计数器CT2被配置为以时钟信号HCLK的速率递增,直至读取不可用持续时间的值VAL_R。
此外,系统SYS还包括编程电路PROG,编程电路PROG包括编程控制电路MPRG,以便允许用户如上所述地对读取和写入不可用持续时间的值VAL_W和VAL_R进行单独编程。
编程电路PROG还包括:第一存储器(或数据存储)电路REG1(例如,寄存器),用于存储写入不可用持续时间的值VAL_W;以及第二存储器(或数据存储)电路REG2(例如,寄存器),用于存储读取不可用持续时间的值VAL_R。第一存储器电路REG1和第二存储器电路REG2被分别连接到处理电路MT的第一计数器CT1和第二计数器CT2。
读取写入不可用持续时间的值VAL_R和写入不可用持续时间的值VAL_W根据处理单元CPU的频率Freq(即,时钟信号HCLK的频率)和随机存取存储器MM的电源电压Vdd来确定。
为了确定不可用持续时间,用户可以例如根据随机存取存储器MM的电源电压Vdd以及处理单元CPU的频率Freq的值的范围,来定义第一写入计数结束值集合VAL_Wi以及第二读取计数结束值集合VAL_Rj。
对此,用户例如可以使用第一电源电压阈值TH1、第二频率阈值TH2、第三电源电压阈值TH3和第四频率阈值TH4。
当然,根据预期应用,阈值的数目可以不同于四个。
因此,例如,如果电源电压Vdd小于第一阈值TH1并且如果频率Freq大于第二阈值TH2,则与读取请求相关联的不可用持续时间的值可以非零。
另一方面,如果电源电压Vdd小于第一阈值TH1但处理单元CPU工作缓慢,则与读取请求相关联的不可用持续时间可以为零,也就是说等待状态机制不会被使用(没有“等待状态”)。
同样地,如果电源电压Vdd小于第三阈值TH3,第三阈值TH3实际上小于第一阈值TH1,以及如果频率Freq大于第四阈值TH4,则与写入请求相关联的不可用持续时间的值可以非零。
另一方面,如果电源电压大于第三阈值TH3,则与写入请求相关联的不可用持续时间可以为零。
例如,对于小于或等于0.9伏(TH1)的电源电压Vdd和小于12MHz(TH2)的工作频率,读取不可用的持续时间VAL_R和写入不可用的持续时间VAL_W为零(无“等待状态”)。
对于小于或等于0.9伏(TH1)但大于0.7伏(TH3)的电源电压Vdd以及大于12MHz(TH2)的工作频率,读取不可用持续时间VAL_R可以例如等于两个或三个时钟周期HCLK并且写入不可用持续时间VAL_W可以保持为零(无“等待状态”)。
对于小于或等于0.7伏(TH3)的电源电压和大于12MHz的工作频率(TH2=TH4),读取不可用持续时间VAL_R可以例如等于两个或三个时钟周期HCLK并且写入不可用持续时间VAL_W可以等于一个时钟周期HCLK。
用户因此可以在考虑这些阈值的情况下,对不同阈值THi以及不同的读取计数结束值VAL_Rj和写入计数结束值VAL_Wi进行编程。
所有计数结束值VAL_Rj、VAL_Wi以及阈值均被存储在存储器电路(例如,寄存器)中。
编程控制电路MPRG然后被配置为根据存储器MM的电源电压Vdd和时钟信号HCLK的频率来选择合适的计数结束值对VAL_Rj、VAL_Wi并且将它们分别存储在寄存器REG2和RGEG1中。
如上所述,这两个寄存器的内容指示两个计数器CT1和CT2的计数结束值。
当寄存器REG1、REG2中存储的不可用持续时间的值VAL_W和/或VAL_R分别为零时,等待状态机制在写入和/或读取中禁用。
编程控制电路MPRG可以例如在系统初始化时,例如根据预期的操作模式,选择合适的计数结束值对VAL_Wi、VAL_Rj,并且将它们分别存储在寄存器REG1、REG2中。
编程控制电路MPRG还可以进一步被配置为根据电源电压Vdd和频率Freq的当前值来动态地调整读取和/或写入不可用持续时间的值VAL_R、VAL_W。
实际上,在系统SYS操作期间,如果电源电压Vdd和/或频率Freq在一个方向或另一方向上超过阈值Thi(TH1、TH2、TH3、TH4)之一,例如当从全消耗模式到低消耗模式、反之亦然,则编程控制电路MPRG将(一个或多个)寄存器REG1、REG2中存储的(一个或多个)值修改为对应于由用户针对这些新的电源电压Vdd和频率Freq值编程的计数结束值VAL_Wi、VAL_Rj。
图2图示了在参考图1所示的存储器接口MM_IF中实现的状态机SM的操作流程图。
在步骤S1之前,流程图因此包括未示出的初始化步骤,在初始化步骤期间,编程电路PROG如上所述确定与写入请求相关联的不可用持续时间的值VAL_W,以及与读取请求相关联的不可用持续时间的值VAL_R,并且因此确定计数器CT1和CT2的计数结束值。
在步骤S1中,因为可用信号HREADYout处于高状态,存储器接口MM_IF向处理单元CPU指示随机存取存储器MM可用。
处理单元CPU经由总线BS而向随机存取存储器MM发射访问请求RQT,访问请求RQT由存储器接口MM_IF接收。
在下一步骤S2中,状态机SM确定所接收的访问请求RQT是否旨在读取或写入随机存取存储器MM中的内容。
为了确定访问请求RQT是读取请求还是写入请求,状态机分析例如在总线BS上输出的信号HWRITE(图3),信号HWRITE以高状态指示写入请求并且以低状态下指示读取请求。
根据在步骤S2中确定的结果,如果访问请求RQT是写入请求,则下一步骤是步骤S2-1,或者如果访问请求RQT是读取请求,则下一步骤是步骤S2-2。
从步骤S2-1、S2-2,流程图被分成两个并行分支,第一分支包括专用于管理写入请求的步骤,并且第二分支包括专用于管理读取请求的步骤。
在接下来的步骤S2-1或S2-2中,状态机SM通过应用常规的写入或读取协议,经由存储器总线BS_MM而将访问请求RQT传输到随机存取存储器MM。
更具体地,如图3的时序图所示,写入协议包括对常规和已知CEN(“芯片使能”)、WEN(“写入使能”)信号的转换,以及对待写入数据及其地址的发送。
同样,读取协议包括对常规和已知的CEN(“芯片使能”)、WEN(“写入使能”)信号的转换,以及对待读取的数据地址的发送。
在下一步骤S3-1或S3-2中,不可用持续时间值(计数结束值)与零值进行比较。
如果不可用持续时间的值为零,则随机存取存储器MM以常规方式来处理写入和/或读取访问请求RQT,即,不实现等待状态机制。例如,对于新请求,信号HREADYout可以保持高状态。
另一方面,如果读取或写入不可用持续时间的值不为零,则在对应的步骤S4-1或S4-2中,处理电路MT向处理单元CPU指示随机存取存储器MM不可以通过将可用信号HREADYout切换到低状态来使用。
在步骤S5-1或者相应地S5-2中,如果请求RQT是写入请求,则状态机SM触发第一计数器CT1,或者如果请求RQT是写入请求,则状态机SM触发第二计数器CT2,使得仅相关的计数器递增。
步骤S6-1或S6-2对应于在时钟信号HCLK的每个周期测试相关计数器CT1或CT2的增量,直至计数结束值。
在步骤S7-1或S7-2中,不可用持续时间终于到期,并且随机存取存储器MM可以处理来自处理单元CPU的新的访问请求。
处理电路MT再次通过将可用信号HREADYout升高到高状态来指示随机存取存储器MM可用。
图3图示了参考图1所示的系统SYS的操作的时序图的示例。
时序图图示了系统SYS对数据写入访问请求的管理,例如地址0005FFCC处的数据11111111(这两个值为十六进制),紧接着是数据读取访问请求的管理,例如先前写入同一地址的数据。与请求管理有关的信号因此在总线BS和存储器总线BS_MM上通过系统SYS传输。在总线BS和BS_MM上流动的信号由时钟信号HCLK定时。
在总线BS上,由处理单元CPU发出的信号包括:激活随机存储器MM的选择信号HSEL;表征读取或写入请求HWRITE的信号;以及指定在随机存取存储器MM中待读取或写入的地址的地址信息HADDR。
此外,作为写入请求的一部分,待写入随机存取存储器MM中的数据HWDATA在总线BS上由处理单元CPU传输到存储器接口MM_IF。
仍然在总线BS上,由存储器接口MM_IF发射的信号包括:指示随机存取存储器MM可用或不可用的可用信号HREADYout;以及作为读取请求的一部分,在存储器中读取、由存储器接口MM_IF传输至处理单元CPU的数据HRDATA。
在存储器总线BS_MM上,由随机存取存储器MM发出或接收的数据包括:与地址信息HADDR相对应的地址A;与待写入的数据HWDATA相对应、待写入存储器的输入数据D;以及存储器中读取、与返回至处理单元CPU的读取数据HRDATA相对应的输出数据Q。
仍然在存储器总线BS_MM上,由存储器接口MM_IF向随机存储器MM生成的信号包括:芯片使能CEN信号;表征读取或写入WEN的信号;以及从时钟信号HCLK生成的存储器时钟信号CLK。不规则生成存储器时钟信号CLK的方法通过被称为脉冲跳跃方法的方法来获得,脉冲跳跃方法支持通过减少影响随机存取存储器MM状态的时钟周期数来限制功耗。
最后,计数器CT2的当前值被示出在时序图上。为了简化起见,仅示出了与读取相关联的第二计数器CT2的当前值。实际上,在所示示例中,只有读取访问请求的管理实现了等待状态机制。第一计数器CT1的计数结束值在此处为零。
时序图首先表示由处理单元CPU发出将数据HWDATA写入随机存取存储器MM中的地址HADDR处的写入访问请求。
写入访问请求的特征在于由处理单元CPU生成选择信号HSEL的高状态和信号HWRITE的高状态。
存储器接口MM_IF因此在时刻T1处生成芯片使能CEN信号的低状态和WEN信号的低状态。这两个信号被随机存取存储器MM接收并且发起写入。
随机存取存储器MM然后处理写入访问请求,在时间T1与时间T2之间,输入数据D取待写入数据HWDATA的值,数据HWDATA被写入表示地址信息HADDR的地址A处。
写入访问请求由系统SYS处理,在该示例中,在时钟信号HCLK的单个周期中处理,而不使用由等待状态机制产生的任何等待周期。
可用信号HREADYout在整个数据写入过程中保持高状态,以向处理单元CPU指示随机存取存储器MM在下一时钟信号HCLK周期可用。
读取访问请求因此可以在下一时钟信号HCLK周期中被立即处理。
对此,处理单元CPU发出访问请求,以读取地址HADDR中存储的随机存取存储器MM的内容。
读取访问请求的特征在于处理单元CPU生成选择信号HSEL的高状态和信号HWRITE的低状态。
存储器接口MM_IF在T3时刻处,通过生成芯片使能CEN信号的低状态和WEN信号的高状态来传输读取访问请求。这两个信号由随机存取存储器MM接收,随机存取存储器MM在信号CLK的下一上升沿发起读取过程,并且可用信号HREADYout从时刻T3开始切换到低状态,直到时刻T4为止。
计数器CT2被触发,并且其当前值递增到由用户编程的计数结束值,此处为与三个时钟周期相对应的值2。
因此,与读取请求相关联的不可用持续时间是三个时钟信号HCLK周期。
因此,可用信号HREADYout在不可用持续时间的三个时钟周期期间保持在低状态中。由处理单元CPU发射新的访问请求在这三个时钟周期期间被禁止。
在此期间,随机存取存储器MM处理读取访问请求,并且将数据Q返回到存储器接口MM_IF,存储器接口MM_IF将读取数据HRDATA传输至处理单元。
Claims (16)
1.一种用于管理对随机存取存储器的访问的方法,所述随机存取存储器通过存储器接口而被连接到处理单元,所述方法包括:
响应于在所述存储器接口处接收到由所述处理单元发出的访问所述存储器的请求,通过所述存储器接口向所述处理单元发送所述存储器在不可用持续时间期间不可用于接收另一访问请求的指示;
其中所述不可用持续时间根据所接收的请求是写入请求还是读取请求而不同;以及
其中与写入请求相关联的所述不可用持续时间的值以及与读取请求相关联的所述不可用持续时间的值被彼此独立地单独编程。
2.根据权利要求1所述的方法,还包括:
通过时钟信号来对所述处理单元进行定时;
其中与所述写入请求相关联的所述不可用持续时间的所述值以及与所述读取请求相关联的所述不可用持续时间的所述值各自与用于所述随机存取存储器的电源电压的值以及所述时钟信号的频率相关。
3.根据权利要求2所述的方法,其中如果所述电源电压小于第一阈值并且如果所述频率大于第二阈值,则与所述读取请求相关联的所述不可用持续时间的所述值非零。
4.根据权利要求2所述的方法,其中如果所述电源电压小于第三阈值并且如果所述频率大于第四阈值,则与所述写入请求相关联的所述不可用持续时间的所述值非零。
5.根据权利要求1所述的方法,其中与所述写入请求相关联的所述不可用持续时间的所述值小于或等于与所述读取请求相关联的所述不可用持续时间的所述值。
6.根据权利要求1所述的方法,还包括:
通过时钟信号来对所述处理单元进行定时;
其中与所述写入请求相关联的所述不可用持续时间的所述值对应于所述时钟信号的第一数目的周期;以及
其中与所述读取请求相关联的所述不可用持续时间的所述值对应于所述时钟信号的第二数目的周期。
7.一种系统,包括:
随机存取存储器;
处理单元,通过存储器接口而被连接到所述随机存取存储器;
其中所述存储器接口包括:
接收电路,被配置为接收由所述处理单元发出的访问所述存储器的请求;以及
处理电路,被连接到所述接收电路并且被配置为向所述处理单元指示所述随机存取存储器在不可用持续时间期间不可用于接收另一访问请求,其中所述不可用持续时间根据所接收的请求是写入请求还是读取请求来区分;以及
编程电路,被配置为对与所述写入请求相关联的所述不可用持续时间的值以及与所述读取请求相关联的所述不可用持续时间的值进行彼此独立地单独编程。
8.根据权利要求7所述的系统,其中所述处理单元由时钟信号定时,并且其中与所述写入请求相关联的所述不可用持续时间的所述值以及与所述读取请求相关联的所述不可用持续时间的所述值各自与所述随机存取存储器的电源电压的值以及所述时钟信号的频率相关。
9.根据权利要求8所述的系统,其中如果所述电源电压小于第一阈值并且如果所述频率大于第二阈值,则与所述读取请求相关联的所述不可用持续时间的所述值非零。
10.根据权利要求8所述的系统,其中如果所述电源电压小于第三阈值并且如果所述频率大于第四阈值,则与所述写入请求相关联的所述不可用持续时间的所述值非零。
11.根据权利要求7所述的系统,其中与所述写入请求相关联的所述不可用持续时间的所述值小于或等于与所述读取请求相关联的所述不可用持续时间的所述值。
12.根据权利要求7所述的系统,其中所述处理单元由时钟信号来定时,并且
其中与所述写入请求相关联的所述不可用持续时间的所述值对应于所述时钟信号的第一数目的周期;以及
其中与所述读取请求相关联的所述不可用持续时间的所述值对应于所述时钟信号的第二数目的周期。
13.根据权利要求12所述的系统,其中所述处理电路包括:
第一计数器,由所述时钟信号定时并且具有第一计数结束值,所述第一计数结束值对应于与所述写入请求相关联的所述不可用持续时间的所述值;
第二计数器,由所述时钟信号定时并且具有第二计数结束值,所述第二计数结束值对应于与所述读取请求相关联的所述不可用持续时间的所述值;以及
状态机,被配置为:如果所述第一计数结束值非零,则触发所述第一计数器,或者如果所述第二计数结束值非零,则触发所述第二计数器;当所述第一计数器和所述第二计数器中的一个计数器被触发时,向所述处理单元输出存储器不可用信号;以及当所述第一计数器和所述第二计数器中已被触发的所述一个计数器已达到计数结束值时,向所述处理单元输出存储器可用信号。
14.根据权利要求13所述的系统,其中所述编程电路包括:
第一可编程存储器电路,被连接到所述处理电路并且被配置为存储第一指示,所述第一指示表示与所述写入请求相关联的所述不可用持续时间的值;以及
第二可编程存储器电路,被连接到所述处理电路并且被配置为存储第二指示,所述第二指示表示与所述读取请求相关联的所述不可用持续时间的值。
15.根据权利要求14所述的系统,其中所述第一指示是所述第一计数结束值并且所述第二指示是所述第二计数结束值。
16.根据权利要求7所述的系统,形成微控制器。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR2006167 | 2020-06-12 | ||
FR2006167A FR3111439B1 (fr) | 2020-06-12 | 2020-06-12 | Procédé de gestion des requêtes d’accès à une mémoire vive et système correspondant |
US17/336,841 | 2021-06-02 | ||
US17/336,841 US11495275B2 (en) | 2020-06-12 | 2021-06-02 | Method for managing requests for access to random access memory and corresponding system |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113805795A true CN113805795A (zh) | 2021-12-17 |
Family
ID=73497833
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110652275.3A Pending CN113805795A (zh) | 2020-06-12 | 2021-06-11 | 用于管理访问随机存取存储器的请求的方法和对应系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11495275B2 (zh) |
EP (1) | EP3923150B1 (zh) |
CN (1) | CN113805795A (zh) |
FR (1) | FR3111439B1 (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5944835A (en) * | 1996-05-31 | 1999-08-31 | Sgs-Thomson Microelectronics S.A. | Method and programmable device for generating variable width pulses |
CN1838327A (zh) * | 2005-03-24 | 2006-09-27 | 尔必达存储器股份有限公司 | 半导体存储器件和半导体存储器件测试方法 |
CN1848042A (zh) * | 2005-04-14 | 2006-10-18 | 冲电气工业株式会社 | 芯片启动控制电路,存储器控制电路和数据处理系统 |
CN101025822A (zh) * | 2006-06-05 | 2007-08-29 | 威盛电子股份有限公司 | 具有独立输出的交换开关系统及其方法 |
US20090089538A1 (en) * | 2007-09-27 | 2009-04-02 | Integrated Device Technology, Inc. | Synchronous Address And Data Multiplexed Mode For SRAM |
CN104981789A (zh) * | 2013-03-15 | 2015-10-14 | 美光科技公司 | 用于可变延时存储器操作的设备及方法 |
CN105027085A (zh) * | 2013-03-14 | 2015-11-04 | 美光科技公司 | 选择性自参考读取 |
CN107544237A (zh) * | 2016-06-29 | 2018-01-05 | 意法半导体(克洛尔2)公司 | 长时间常数电路级的测试电路和对应的测试方法 |
CN108197045A (zh) * | 2016-12-08 | 2018-06-22 | 三星电子株式会社 | 接收差分数据选通信号的存储器控制器及存储器系统 |
CN111223514A (zh) * | 2018-11-23 | 2020-06-02 | 爱思开海力士有限公司 | 具有数据保持保护的电子设备及其操作方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6356987B1 (en) * | 1999-03-10 | 2002-03-12 | Atmel Corporation | Microprocessing device having programmable wait states |
US8078791B1 (en) * | 2007-04-16 | 2011-12-13 | Juniper Networks, Inc. | Ordering refresh requests to memory |
US8285908B2 (en) * | 2010-01-24 | 2012-10-09 | Freescale Semiconductor, Inc. | Bus bridge and method for interfacing out-of-order bus and multiple ordered buses |
US9405720B2 (en) * | 2013-03-15 | 2016-08-02 | Atmel Corporation | Managing wait states for memory access |
US11409436B2 (en) * | 2018-08-08 | 2022-08-09 | Micron Technology, Inc. | Buffer management in memory systems for read and write requests |
US10901617B2 (en) * | 2018-09-12 | 2021-01-26 | Apple Inc. | Memory access scheduling using category arbitration |
-
2020
- 2020-06-12 FR FR2006167A patent/FR3111439B1/fr active Active
-
2021
- 2021-06-01 EP EP21177016.9A patent/EP3923150B1/fr active Active
- 2021-06-02 US US17/336,841 patent/US11495275B2/en active Active
- 2021-06-11 CN CN202110652275.3A patent/CN113805795A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5944835A (en) * | 1996-05-31 | 1999-08-31 | Sgs-Thomson Microelectronics S.A. | Method and programmable device for generating variable width pulses |
CN1838327A (zh) * | 2005-03-24 | 2006-09-27 | 尔必达存储器股份有限公司 | 半导体存储器件和半导体存储器件测试方法 |
CN1848042A (zh) * | 2005-04-14 | 2006-10-18 | 冲电气工业株式会社 | 芯片启动控制电路,存储器控制电路和数据处理系统 |
CN101025822A (zh) * | 2006-06-05 | 2007-08-29 | 威盛电子股份有限公司 | 具有独立输出的交换开关系统及其方法 |
US20090089538A1 (en) * | 2007-09-27 | 2009-04-02 | Integrated Device Technology, Inc. | Synchronous Address And Data Multiplexed Mode For SRAM |
CN105027085A (zh) * | 2013-03-14 | 2015-11-04 | 美光科技公司 | 选择性自参考读取 |
CN104981789A (zh) * | 2013-03-15 | 2015-10-14 | 美光科技公司 | 用于可变延时存储器操作的设备及方法 |
CN107544237A (zh) * | 2016-06-29 | 2018-01-05 | 意法半导体(克洛尔2)公司 | 长时间常数电路级的测试电路和对应的测试方法 |
CN108197045A (zh) * | 2016-12-08 | 2018-06-22 | 三星电子株式会社 | 接收差分数据选通信号的存储器控制器及存储器系统 |
CN111223514A (zh) * | 2018-11-23 | 2020-06-02 | 爱思开海力士有限公司 | 具有数据保持保护的电子设备及其操作方法 |
Also Published As
Publication number | Publication date |
---|---|
FR3111439A1 (fr) | 2021-12-17 |
FR3111439B1 (fr) | 2023-06-30 |
EP3923150B1 (fr) | 2024-03-20 |
US11495275B2 (en) | 2022-11-08 |
EP3923150A1 (fr) | 2021-12-15 |
US20210390990A1 (en) | 2021-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5629819B2 (ja) | 通信ポートに可変クロックゲーティングヒステリシスを使用する装置および方法 | |
CN1742458B (zh) | 在调试过程中用于控制数据处理系统的方法和设备 | |
TWI403899B (zh) | 快取記憶體之動態重新配置方法及其電腦裝置 | |
US5491814A (en) | Apparatus using a state machine for generating selectable clock frequencies and a fixed frequency for operating a computer bus | |
US6829689B1 (en) | Method and system for memory access arbitration for minimizing read/write turnaround penalties | |
US8117428B2 (en) | Apparatus and method for automatically saving and restoring pad configuration registers implemented in a core power domain | |
US8433835B2 (en) | Information processing system and control method thereof | |
US20070038795A1 (en) | Asynchronous bus interface and processing method thereof | |
US5109493A (en) | Structure and method for tying down an unused multi-user bus | |
US8015329B2 (en) | Data transfer coherency device and methods thereof | |
US20020041633A1 (en) | Bus precharge during a phase of a clock signal to eliminate idle clock cycle | |
CN113805795A (zh) | 用于管理访问随机存取存储器的请求的方法和对应系统 | |
JP2008015876A (ja) | データアクセスシステム、データアクセス装置、データアクセス集積回路及びデータアクセス方法 | |
US7403446B1 (en) | Single late-write for standard synchronous SRAMs | |
US9003217B2 (en) | Semiconductor integrated circuit apparatus | |
US7315928B2 (en) | Apparatus and related method for accessing page mode flash memory | |
US7876641B2 (en) | Semiconductor integrated circuit | |
CN112100098B (zh) | Ddr控制系统及ddr存储系统 | |
US11404134B2 (en) | Memory device test circuit and memory device test method | |
JP3583844B2 (ja) | キャッシュメモリ方式 | |
KR20210108466A (ko) | 시퀀스 프로세싱 유닛이 있는 메모리 제어 시스템 | |
CN116974963B (zh) | 一种访问存储器的装置及其方法、芯片、存储介质 | |
US11782613B1 (en) | Memory system and method | |
EP0896278A1 (en) | Semiconductor apparatus having internal cache memory | |
JP4007122B2 (ja) | バス信号処理装置とその方法ならびにデータ処理装置 |
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 |