CN105190561A - 双主机嵌入式共享装置控制器 - Google Patents

双主机嵌入式共享装置控制器 Download PDF

Info

Publication number
CN105190561A
CN105190561A CN201480013506.4A CN201480013506A CN105190561A CN 105190561 A CN105190561 A CN 105190561A CN 201480013506 A CN201480013506 A CN 201480013506A CN 105190561 A CN105190561 A CN 105190561A
Authority
CN
China
Prior art keywords
processor
shadow register
access
semaphore
sharing means
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
Application number
CN201480013506.4A
Other languages
English (en)
Other versions
CN105190561B (zh
Inventor
A·沙查姆
A·吉尔
E·特斯东
Y·李
A·杜兹尼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN105190561A publication Critical patent/CN105190561A/zh
Application granted granted Critical
Publication of CN105190561B publication Critical patent/CN105190561B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1075Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for multiport memories each having random access ports and serial ports, e.g. video RAM
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • G06F1/3225Monitoring of peripheral devices of memory devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/461Saving or restoring of program or task context
    • G06F9/462Saving or restoring of program or task context with multiple register sets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/461Saving or restoring of program or task context
    • G06F9/463Program control block organisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Quality & Reliability (AREA)
  • Multi Processors (AREA)

Abstract

本发明描述了使用多端口共享非易失性存储器的有效技术,其减小了例如调制解调器控制处理器的专用功能特定处理器的存储器存取的延时。调制解调器处理器抢先于正从多端口共享非易失性存储器闪存装置中存取数据的主机处理器,从而允许所述调制解调器处理器迅速存取所述闪存装置中的数据。抢先过程使用由寻求存取的处理器发起的门铃中断,并且中断正被抢先的处理器。在抢先之后,主机处理器可再继续或重新开始所述数据存取。所述处理器的存取控制利用硬件信号量原子控制机制。共享非易失性存储器模块的电力控制包含至少一个不活动定时器,以指示到所述共享非易失性存储器模块的供电电压何时可以安全减小或关闭。电源可以由共享所述存储器的所述处理器中的任一者重新启动,从而允许快速存取所述数据。

Description

双主机嵌入式共享装置控制器
优先权申请
本申请要求于2013年3月13日提交的题为“双主机嵌入式共享装置控制器(DUALHOSTEMBEDDEDSHAREDDEVICECONTROLLER)”的美国专利申请序列号13/798,803的优先权,该申请以其整体通过引用并入本文。
技术领域
本公开一般涉及多处理器领域,并且特别涉及由双主机共享装置控制器提供的功能。
背景技术
许多便携式产品例如蜂窝电话、膝上型计算机、个人数据助理(PDA)等利用执行程序例如通信程序和多媒体程序的处理系统。用于此类产品的处理系统可包含多个处理器、用于存储指令和数据的包含多级高速缓存的复合存储器系统、控制器、外围装置例如通信接口,以及配置在例如单个芯片上的固定功能逻辑块。
在包含智能手机、平板计算机等的多处理器便携式系统中,可使用应用处理器协调在数个嵌入式处理器之间的操作。主应用处理器也可提供对存储元件例如嵌入式或可移除非易失性存储器模块和磁盘驱动器的存取端口。其它嵌入式处理器可专用于特定的实时操作,例如调制解调器控制处理器、音频信号处理器等。嵌入式处理器中的每个可操作它们自身的文件系统,它们自身的文件系统可具有与其专用功能关联的特定时间约束。此类多处理器系统也可被要求共享存储器存储,例如嵌入式存储器和可移除非易失性存储器模块或磁盘驱动器。然而,由于在子系统之间的相关性提高和进程间通信(IPC)开销增加,因此在共享非易失性存储器存储装置各自具有通过主控制处理器可存取的单端口的系统中,在来自特定处理器中的专用功能的存储器存取中可经历过度过多延时。而且,在此类系统中的调试可变得不可接受地复杂。
发明内容
在其几个方面之间,本公开认识到提供用于每个嵌入式处理器的更有效的方法和设备是有利的,从而能够直接独立存取非易失性存储器,而无需使通过应用处理器使存取集中。而且,提供用于通过第二处理器进行一个处理器的握手和抢先操作的更有效的方法和设备是有利的,以处理时间临界事件。为此,本发明的实施例提出了用于由第二处理器抢先于第一处理器的方法。第一处理器从非易失性存储器装置中存取数据块,共享非易失性存储器装置通过直接存取由第一处理器和第二处理器共享。向第一处理器发布门铃中断,以请求抢先于第一处理器对共享非易失性存储器装置的操作。抢先于第一处理器的数据块存取,以发起第二处理器的存储器存取。
另一个实施例提出了允许两个处理器独立存取共享装置的设备。第一处理器耦合到共享装置并且经配置具有对第一组影子寄存器的独占存取权限。第二处理器耦合到共享装置并且经配置具有对第二组影子寄存器的独占存取权限。具有信号量状态机的共享装置控制器经配置以在授予信号量给所述第一处理器时,将第一组影子寄存器映射到共享地址空间,并且在授予信号量给第二处理器时,将第二组影子寄存器映射到共享地址空间。
另一个实施例提出了用于两个处理器独立存取共享装置的方法。响应第一处理器获取信号量,将第一影子寄存器映射到共享地址,其中第一处理器将第一值写入在共享地址处的第一影子寄存器。响应在第一处理器对共享装置的第一操作完成时信号量被释放,去除第一影子寄存器与共享地址的链接。响应第二处理器获取信号量,将第二影子寄存器映射到共享地址,其中第二处理器将第二值写入在共享地址处的第二影子寄存器。响应在第二处理器对共享装置的第二操作完成时信号量被释放,去除第二影子寄存器与共享地址的链接,其中在第二操作完成时,第一值在第一影子寄存器中无变化,并且第二值在第二影子寄存器中无变化。
另一个实施例提出了用于电力控制的方法。响应接收到缺乏对在第一处理器控制下且由多个处理器共享的存储器装置的存取权限的指示,减小对存储器装置的供电电压。响应接收到多个处理器中的另一个处理器的存储器存取请求,将供电电压返回到处于第一处理器控制下的操作电平。
另一个实施例提出了用计算机可读程序数据和代码编码的计算机可读非暂时性媒体。响应第一处理器获取信号量,将第一影子寄存器映射到共享地址,其中第一处理器将第一值写入在共享地址处的第一影子寄存器。响应在第一处理器对共享装置的第一操作完成时信号量被释放,去除第一影子寄存器与共享地址的链接。响应第二处理器获取信号量,将第二影子寄存器映射到共享地址,其中第二处理器将第二值写入在共享地址处的第二影子寄存器。响应在第二处理器对共享装置的第二操作完成时信号量被释放,去除第二影子寄存器与共享地址的链接,其中在第二操作完成时,第一值在第一影子寄存器中无变化,并且第二值在第二影子寄存器中无变化。
另一个实施例提出了用计算机可读程序数据和代码编码的计算机可读非暂时性媒体。由第一处理器从非易失性存储器装置中存取数据块,共享非易失性存储器装置通过直接存取由第一处理器和第二处理器共享。向第一处理器发出门铃中断,以请求抢先于第一处理器对共享非易失性存储器装置的操作。抢先于第一处理器的数据块存取,以发起第二处理器的存储器存取。
进一步的实施例提出了允许两个处理器独立存取共享装置的设备。用于第一处理器的装置使第一处理器存取共享装置并且具有对第一组影子寄存器的独占存取权限。用于第二处理器的装置使第二处理器存取共享装置并且具有对第二组影子寄存器的独占存取权限。用于共享装置控制器的装置使共享装置控制器在授予信号量给第一处理器时将第一组影子寄存器映射到共享地址空间,且在授予信号量给第二处理器时将第二组影子寄存器映射到共享地址空间。
应理解,所属领域的技术人员从以下详细描述将容易明白本发明的其它实施例,其中借助于说明来展示和描述本发明的各种实施例。将认识到,本发明能够具有其它及不同实施例且其若干细节能够在各种其它方面加以修改,以上所有均不脱离本发明的精神及范围。因此,附图和具体实施方式应被视为本质上是说明性的而不是限制性的。
附图说明
本发明的各方面在附图中以实例方式说明并且不是以限制方式说明,其中:
图1示出在可有利采用的调制解调器子系统中满足实时约束的多处理器子系统的实施例;
图2A示出在多处理器数据事务中存取数据的进程的实施例;
图2B示出在多处理器子系统中抢先数据事务以便服务于实时任务的进程的实施例;
图3示出支持数据事务抢先以便服务于实时任务的信号量状态机的实施例;以及
图4示出具有处理器复合体的便携式装置,处理器复合体经配置满足调制解调器子系统的实时要求。
具体实施方式
下文结合附图阐述的具体实施方式旨在作为对本发明的各种示例性实施例的描述,且并非旨在表示可在其中实践本发明的仅有实施例。为提供对本发明的全面理解的目的,具体实施方式包含特定细节。然而,本领域的技术人员将明白,可在无这些特定细节的情况下实践本发明。在某些情况下,为避免模糊本发明的概念,以框图形式来展示众所周知的结构和组件。
为解决问题例如在来自专用功能特定处理器的存储器存取中的过多延时,可以为共享非易失性存储器模块实施多端口存储器软件和硬件设计。例如,具有临界延时要求的专用处理器,例如调制解调器控制处理器,可存取与主机控制处理器的存储器存取端口分离的第二存储器端口。由于不要求在单存取端口设计中的调制解调器控制处理器通过主机控制处理器进行用管线传送的存取,多端口设计减小了从共享非易失性存储器模块中存取数据的延时,并且因此避免了耗时的进程间通信(IPC)程序。
另外,共享存储器模块的多个处理器可使用请求页面调度和其它此类快速存取技术。例如,系统操作情境可包含主机控制处理器,当在调制解调器处理器中发生时间临界事件时,主机控制处理器从可移除存储器模块中存取大数据块。在多端口存储器系统中,调制解调器处理器抢先于主机控制处理器,允许调制解调器处理器快速存取在可移除存储器模块中的数据,从而减少时间临界事件的存储器存取时间。抢先可有利地使用由寻求存取的处理器请求并在被抢先的处理器中发起的门铃中断。与无门铃中断的请求大量IPC相比,使用门铃中断使得实现来自应用进程的更快的响应。而且,共享非易失性存储器参数例如装置状态和操作模式信息可存储在可由寻求存取的处理器存取的单独存储器中,用于在已经授予存取权限之后使用。在抢先之后,存取权限归还给应用(主机控制)处理器,并且主机控制处理器可再继续存取或者可重新开始大数据块的存取。处理器的存取控制利用由信号量原子控制机制支持的硬件,如下文更详细描述。
使用先进先出(FIFO)存储器,或优先队列,例如为用于存储器存取的在处理器之间的更快的转换提供硬件支持,也可缓冲在多个处理器之间的存取请求。共享非易失性存储器模块的电力控制包含至少一个不活动定时器,以指示对共享非易失性存储器模块的供电电压何时可以安全减小或关闭。通过共享存储器的处理器中的任一者,电源可重新启动,从而允许快速存取数据。具有不同长度的第二不活动定时器可用于支持错误恢复过程。在多处理器系统中,在具有信号量锁的处理器存取共享非易失性存储器装置,并且第二不活动定时器已经超时的指示被接收在控制处理器中的情况下,控制处理器发起对非易失性存储器控制器的错误恢复过程,以自由存取共享非易失性存储器装置。复位具有信号量锁的处理器,释放信号量锁,并且任选地,重新初始化共享非易失性存储器装置。
在具有调制解调器子系统的处理器中可适当地采用本发明的实施例。图1示出在调制解调器子系统中满足实时约束的多处理器子系统100的实施例。多处理器子系统100包含装置系统核心102,装置系统核心102包含子系统控制器104和共享装置106,例如闪存存储器、磁盘驱动器,或在两或多个处理器之间共享的其它装置。子系统控制器104包含应用处理器子系统(APPS)108、配置有MSS处理器的调制解调器子系统(MSS)110、系统总线112和共享装置控制器114,例如闪存控制器。根据产品要求,APPS108可配置有一个、两或多个处理器。APPS108和MSS110通过系统总线112存取共享装置106并且如由共享装置控制器114所控制。共享装置106也可包含可移除的闪存存储器或者也可以为嵌入式存储器。应注意,在装置系统核心102中,共享装置106可与子系统控制器104集成在一起。
共享装置控制器114包括在下文更详细描述的共享主机控制器接口(HCI)120、双主机共享缓冲器122、多个原子存取信号量124、APPS影子寄存器126、MSS影子寄存器128、到共享装置106的存取路径129、短定时器130,以及长定时器132。APPS的中断(INT)信号包含门铃中断(DBINT)140、信号量中断(SEMINT)141和定时器中断(TIMINT)142。MSS的中断(INT)信号包含门铃中断(DBINT)144、信号量中断(SEMINT)145和定时器中断(TIMINT)146。共享HCI120使用单地址区域提供对一组共享寄存器和两个影子寄存器组(126和128)的存取。信号量支配在任意给定的时间将哪一个影子寄存器组映射到HCI地址区域。每个处理器使用相同的地址空间发布事务。
应用处理器子系统(APPS)108具有对APPS影子寄存器126的独占存取权限,并且调制解调器子系统(MSS)110具有对MSS影子寄存器128的独占存取权限。例如,在APPS108和MSS110中的存取控制可经建立提供强制执行独占存取权限的装置。在替代实施例中,APPS影子寄存器126可配置有仅到APPS108的存取路径,并且MSS影子寄存器128可配置有仅到MSS110的存取路径,从而提供强制实施独占存取权限的装置。在任一种情况下,均提供使得APPS108不应存取MSS影子寄存器128并且MSS110不应存取APPS影子寄存器126的装置。信号量进一步强制该规则支配对影子寄存器的存取。有利地,直接存取共享装置106例如非易失性存储器的每个处理器均配置有相应的控制机制以保证独占存取权限。
当来自APPS108或来自MSS110的预期响应过度延迟时,短不活动定时器130用于生成错误恢复的中断。例如,当APPS108试图获取信号量,但MSS110在一段时间例如100ms之后未能将其释放时,这种接收预期响应的缺乏为MSS软件不响应当前任务的指示。在这种情况下,短不活动定时器130到期,从而向APPS108指示需要错误恢复过程。当共享装置控制器114指示空闲状态达长计数周期(例如5秒)时,长不活动定时器132用于生成电力控制的中断。每当共享装置控制器114变得忙碌,长不活动定时器复位,并且计数周期重新开始。在已经达到长计数周期后,共享装置控制器114和共享装置106置于低电力状态中。APPS108或MSS110的存取为共享装置控制器114和共享装置106带来电力备份。
图2A示出了在多处理器数据事务中存取数据的进程200的实施例。进程200以在应用处理器子系统(APPS)202与非易失性存储器主机控制器(NVMHC)206之间,在调制解调器子系统(MSS)204与NVMHC206之间,和在NVMHC206与闪存装置208之间的一系列事务示出。APPS202通过共享寄存器和APPS影子寄存器126存取NVMHC206,并且MSS204通过共享寄存器和MSS影子寄存器128存取NVMHC206。通常,控制存取通过共享寄存器实现,但在一些模式中,数据也可通过影子寄存器传送。对于在图2A和2B中所示的事务,假定装置已经初始化、可操作,并且不处于减小的电力模式。而且,共享缓冲器122用随后事务可需要的初始化数据填充。闪存装置208为嵌入式闪存存储器或具有嵌入式闪存存储器的可移除的安全数据卡。
示出第一组事务201用于在APPS202与闪存装置208之间的数据事务。在事务210,APPS202发送请求到NVMHC206以获取信号量。在事务212,NVMHC206授予信号量请求,并且发送响应到APPS202,指示已经获取信号量。在事务214,APPS202发送第一命令(第一CMD)到NVMHC206,以用闪存装置208发起操作。在事务216,NVMHC206用闪存装置208执行第一命令,例如读取数据命令。在事务218,闪存装置208开始用所请求数据响应NVMHC206。在事务220,在已经读取所有所请求数据之后,NVMHC206发送闪存操作完成消息到APPS202。
所示第二组事务221用于在MSS204与闪存装置208之间的数据事务,其中在发生MSS204事务时,APPS202试图获取低优先级命令的存取信号量。在事务222,MSS204发送请求到NVMHC206以获取信号量。在事务224,NVMHC206授予信号量请求,并且发送响应到MSS204,指示已经获取信号量。在事务226,MSS204发送第二命令(第二CMD)到NVMHC206,以用闪存装置208发起操作。在事务228,NVMHC206使用闪存装置208执行第二命令,例如读取数据命令。在事务230,闪存装置208开始用所请求数据响应NVMHC206。在事务232,APPS202发送低优先级请求到NVMHC206以获取信号量。在事务234,APPS消息被发送回到APPS202,指示现在不可以授予用于信号量的APPS请求,并且由于MSS204具有高于低优先级APPS请求的优先级,所以用于信号量的APPS请求处于未决状态,并且在此情况下,MSS204不可以被抢先。在事务236,已经完成所请求数据的闪存装置208回复空闲消息到NVMHC206。在事务238,在已经读取所有所请求数据后,NVMHC206发送闪存装置操作完成消息到MSS204。在事务240,NVMHC206授予未决的APPS信号量请求,并且发布中断以通知APPS202已经获取未决的APPS存取信号量。在事务242,APPS发送第三命令(第三CMD)到NVMHC206。在事务244,NVMHC206对闪存装置208执行第三命令,例如读取数据命令。在事务246,闪存装置开始用所请求数据响应NVMHC206。在事务248,在已经读取所有所请求数据后,NVMHC206发送闪存操作完成消息到APPS202。
图2B示出在多处理器子系统中抢先数据事务以便服务于实时任务的进程250的实施例。进程250以在应用处理器子系统(APPS)202与安全数字卡之间,或者在非易失性存储器主机控制器(NVMHC)206与闪存装置208之间的一系列事务示出,进程250通过调制解调器子系统(MSS)204的高优先级请求被中断。对于这些事务,假定装置已经初始化、可操作,并且不处于减小的电力模式。闪存装置208为嵌入式闪存存储器或具有嵌入式闪存存储器的可移除的安全数据卡。在事务252,APPS202发送请求到NVMHC206以获取信号量。在事务254,NVMHC206授予信号量请求,并且发送响应到APPS202,指示已经获取信号量。在事务256,APPS202发送第一命令(第一CMD)到NVMHC206,以用闪存装置208发起操作。在事务258,NVMHC206用闪存装置208执行第一命令,例如读取数据命令。在事务260,闪存装置208开始用所请求数据响应NVMHC206。
在事务262并且在完成APPS数据事务之前,MSS204发送请求到NVMHC206以获取信号量。在事务264,消息被发送回到MSS204,指示现在不可授予用于信号量的MSS请求,并且该MSS请求处于未决状态。在事务266,由于MSS204试图高优先级存取闪存装置208,所以MSS204发送停止请求到NVMHC206。在事务268,NVMHC206发送被称为门铃中断的高优先级中断到APPS202,以通知APPS202高优先级MSS请求。在事务270,APPS202响应门铃中断并且发送消息到NVMHC206以停止执行第一命令。在事务272,NVMHC206停止执行第一命令。在事务274,闪存装置208指示其空闲。在事务276,NVMHC206发送程序已经被抢先并且已经暂停执行第一命令的消息到APPS202。在事务278,NVMHC206发布门铃中断到MSS204,以通知MSS204其已经获取未决的信号量。在事务280,MSS204发送第二命令(第二CMD)到NVMHC206。在事务282,NVMHC206用闪存装置208执行第二命令,例如读取数据命令。在事务284,闪存装置208开始用所请求数据响应NVMHC206。在事务286并且在完成所请求数据事务后,NVMHC206发送闪存操作完成到MSS204,并且在事务287,MSS释放信号量。在事务288,NVMHC206发布APPS202应重新开始或者继续执行第一命令的中断到APPS202。在事务289,APPS202响应授予的信号量,并且在一个实施例中,APPS202从开始处重新开始第一命令,并且在不同的实施例中,APPS从其在事务276被抢先的点继续执行第一命令。
图3示出支持数据事务抢先以便服务于实时任务的信号量状态机300的实施例。信号量状态机300支配APPS108和MSS110对共享装置控制器114的存取。当状态机300处于空闲状态304时,APPS108或MSS110可获取对状态机300的控制存取权限,并且从而获得对共享装置控制器114的存取权限。通过接收来自APPS108或MSS220的请求,状态机300转换到已取得状态,例如已取得APPS信号量状态306或已取得MSS信号量状态308。当状态机300处于状态306或状态308,并且其它主机试图获取以抢先于在其它主机上的现有操作时,例如,状态机300转换到已取得状态和未决状态,例如已取得APPS信号量和未决MSS请求状态310,或者已取得MSS信号量和未决APPS请求状态312。例如,在状态机300处于已取得APPS信号量状态306的情况下,在接受来自MSS的请求时,状态机300转换到相应的已取得APPS信号量和未决MSS请求状态310。在状态310,当持有信号量的APPS将信号量释放时,状态机300转换326到已取得MSS信号量状态308。该状态机300用于加速在两个主机之间的控制切换。
图2B的转换可与在图3的状态机300中所示的状态转换关联。例如,APPS202请求信号量事务252对应于转换320,并且APPS202获取由授予的APPS信号量事务254指示的信号量对应于状态306。MSS204试图用对应于转换324的请求MSS信号量事务262来获取。由于请求未被立即接受,因此发生对应于状态310的MSS请求未决事务264。在事务278授予信号量给MSS204,这对应于转换326。接下来,MSS204在事务287释放信号量对应于返回到空闲状态304的转换332。APPS202在事务289响应已授予的信号量对应于已取得APPS信号量状态306的转换320。以类似的方式,MSS204从空闲状态304请求信号量对应于转换330,并且MSS204获取信号量对应于状态308。APPS202试图获取,这对应于转换334。如果请求未被立即接受,则系统保持在已取得MSS信号量,其中在状态312中APPS请求未决。当APPS请求被授予时,MSS204释放信号量,并且授予存取权限给APPS202,这对应于到状态306的转换336,状态306指示APPS202已经取得信号量。
关于影子寄存器,NVMHC206包含数个寄存器,其软件预期在例如应用程序初始化时配置一次,并且依赖于它们的值在应用程序的操作期间保持不变。在多个主机处理器情境中,每个主机处理器可需要分配不同的值给相同的寄存器,同时期望它们保持那些值。为解决此类存储容量的提供,每个主机分配一组影子寄存器。每个主机的一组影子寄存器映射到如由信号量控制的单个地址空间。当信号量授予主机A时,主机A的软件可用由主机A先前配置的值存取影子寄存器组A。在稍后的时间,当信号量授予主机B时,主机B的软件可存取影子寄存器组B,同时将影子寄存器组A存储用于进一步的使用。例如,APPS影子寄存器组和MSS影子寄存器组被复位成相同的初始状态。软件可对其读写存取的一组影子寄存器由信号量的状态确定。当APPS获取信号量时,APPS影子寄存器的值映射到地址空间,通过多路复用装置例如在共享装置控制器114内的硬件多路复用器,该地址空间对APPS软件可见。信号量控制硬件多路复用器,使得当APPS获取信号量时,多路复用器使APPS影子寄存器对APPS软件可见,并且当MSS获取信号量时,由硬件多路复用器提供的装置使MSS影子寄存器对MSS软件可见。因此,为第一处理器、APPS提供装置以存取共享装置并且具有对第一组影子寄存器的独占存取权限,并且为第二处理器、MSS提供装置以存取共享装置并且具有对第二组影子寄存器的独占存取权限。APPS软件可读取值、重新配置任意值,或者在其APPS影子寄存器内留下未改变的值。当MSS软件稍后获取信号量时,MSS影子寄存器的存储值映射到对MSS软件可见的地址空间,并且APPS影子寄存器变得不可存取。因此,为共享装置控制器提供装置以在授予信号量给第一处理器、APPS时,将第一组影子寄存器映射到共享地址空间,并且在授予信号量给第二处理器、MSS时,将第二组影子寄存器映射到共享地址空间。如果信号量处于空闲状态,则APPS影子寄存器可映射到地址空间,并且可作为默认设置被APPS软件存取。
下表示出影子寄存器在三次数据传送的情境中的使用,三次数据传送以第一的APPS传送数据开始,随后是第二的MSS传送数据,并且然后是第三的APPS传送数据。
在以上情境中,如果MSS在步骤11之后重新获取信号量,则存储DMA通道#7的MSS影子寄存器映射到共享地址空间,并且MSS软件无须重写DMA通道,直到MSS软件经编程改变DMA通道。这种主机特定设置的保存用映射到相同地址空间的其它影子寄存器维持。此类控制寄存器无须为了与非易失性存储器或在两个主机处理器之间共享的任何其它装置的每项事务被重新配置。
图4示出具有处理器复合体的便携式装置400,处理器复合体经配置满足调制解调器子系统的实时要求。便携式装置400可以为无线电子装置,并且包含系统核心404,系统核心404包含耦合到具有软件指令410的系统存储器408的处理器复合体406。便携式装置400包括电源414、天线416、输入装置418例如键盘、显示器420例如液晶显示器LCD、具有视频能力的一或两个照相机422、扬声器424和扩音器426。系统核心404也包含无线接口428、显示器控制器430、照相机接口432和编码解码器434。处理器复合体406可包含双核布置的应用处理器子系统(APPS)454,APPS454包含两个中央处理单元,即具有本地1级指令和数据(L1I&D)的高速缓存449的APPSCPU1436,以及具有本地1级指令和数据(L1I&D)的高速缓存450的APPSCPU2438。APPS454可对应于图1的APPS108。处理器复合体406也可包含调制解调器子系统440、闪存控制器444、闪存装置446、多媒体子系统448、2级高速缓存451和存储器控制器452。闪存装置446可包含可移除的闪存存储器或者也可包括嵌入式存储器。调制解调器子系统440可对应于图1的MSS110,闪存控制器444可对应于图1的共享装置控制器114,并且闪存装置446可对应于图1的共享装置106。
在示例性实例中,系统核心404根据在图1、2A、2B和3中所示的或与图1、2A、2B和3关联的实施例中的任一者操作。例如,如图4所示,APPS454双核处理器经配置存取存储在它们的关联双核处理器的L1I&D高速缓存、L2高速缓存451的存储器中,以及系统存储器408中的数据或程序指令,以提供如图2A和2B所示的数据事务。
无线接口428可耦合到处理器复合体406和无线天线416,使得经由天线416和无线接口428接收的无线数据可提供给MSS440并且与APPS454共享。照相机接口432耦合到处理器复合体406,并且也耦合到一或多个照相机,例如具有视频能力的照相机422。显示器控制器430耦合到处理器复合体406和显示器装置420。编码器/解码器(CODEC)434也耦合到处理器复合体406。可包括一对立体声扬声器的扬声器424和扩音器426耦合到CODEC434。外围装置和它们的关联结构为示例性的并且在数量或能力上不受限制。例如,输入装置418可包含可在特定装置中单独实施或在不同装置中组合实施的通用串行总线(USB)接口等、QWERTY类型的键盘、字母数字键盘和数字小键盘。
APPS454经配置执行软件指令410,软件指令410存储在非暂时性计算机可读媒体例如系统存储器408中,并且可执行使计算机例如双核处理器436和438暂停,以执行提供如图2A和2B所示的数据事务的程序。APPSCPU1436和APPSCPU2438经配置执行从不同级的高速缓存存储器和系统存储器408存取的软件指令。
在特定实施例中,系统核心404在系统级封装中或在片上系统装置上被物理组织。在特定实施例中,如图4所示,组织为片上系统装置的系统核心404物理耦合到电源414、无线天线416、输入装置418、显示器装置420、照相机或多个照相机422、扬声器424、扩音器426,并且可耦合到可移除闪存装置446。
根据本文所述实施例的便携式装置400可并入各种电子装置,例如机顶盒、娱乐单元、导航装置、通信装置、个人数字助理(PDA)、固定位置数据单元、移动位置数据单元、移动电话、蜂窝电话、计算机、便携式计算机、平板计算机、监视器、计算机监视器、电视机、调谐器、收音机、卫星收音机、音乐播放器、数字音乐播放器、便携式音乐播放器、视频播放器、数字视频播放器、数字视频盘(DVD)播放器、便携式数字视频播放器,存储或检索数据或计算机指令的任何其它装置,或其任何组合。
可用通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑组件、分立门或晶体管逻辑、分立硬件组件或其经设计以执行本文所描述功能的任一组合来实施或执行结合本文揭示的实施例描述的各种示例性逻辑块、模块、电路、元件或组件。通用处理器可为微处理器,但在替代方案中,处理器可为任何常规的处理器、控制器、微控制器或状态机。还可将处理器实施为计算组件的组合,例如DSP与微处理器的组合、多个微处理器、一或多个微处理器与DSP核心的联合,或适合于所要应用的任何其它此类配置。
例如,图1的APPS108或图4的双核处理器436和438可经配置执行指令,以在多处理器系统中允许抢先数据事务以便服务于在程序控制下的实时任务。存储在计算机可读非暂时性存储媒体上的程序或者与处理器复合体406直接本地关联,例如可通过指令高速缓存可用,或者可通过特定输入装置418或无线接口428存取处理器复合体406。例如,输入装置418或无线接口428也可存取存在于存储器装置中的数据,存储器装置与处理器直接本地关联,例如处理器本地数据高速缓存,或者可从系统存储器408存取。与本文揭示的各种实施例结合描述的方法可直接在硬件中实施,在具有由处理器执行的一或多个程序的软件模块中实施,或者在硬件和软件两者的结合中实施。软件模块可存在于随机存取存储器(RAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、闪存存储器、只读存储器(ROM)、可擦写可编程只读存储器(EPROM)、电可擦写可编程只读存储器(EEPROM)、硬盘、可移除磁盘、光盘(CD)-ROM、数字视频光盘(DVD)或在本领域中已知的任何其它形式的非暂时性存储媒体。非暂时性存储媒体可耦合到处理器,使得处理器可从存储媒体读取信息,或者将信息写入存储媒体。在替代方案中,存储媒体可与处理器成一体式。
尽管本发明在用于处理器系统的示例性实施例的上下文中揭示,但应该认识到本领域的技术人员可采用与以上讨论及附随权利要求一致的各种实施。例如,固定功能实施也可利用本发明的各种实施例。

Claims (21)

1.一种用于由第二处理器抢先于第一处理器的方法,所述方法包括:
由第一处理器从非易失性存储器装置中存取数据块,所述非易失性存储器装置通过直接存取由所述第一处理器和第二处理器共享;
向所述第一处理器发出门铃中断,以请求抢先于所述第一处理器对所述共享非易失性存储器装置的操作;以及
抢先于所述第一处理器的所述数据块存取,以发起所述第二处理器的存储器存取。
2.根据权利要求1所述的方法,其中所述非易失性存储器装置为闪存驱动器或磁盘驱动器。
3.根据权利要求1所述的方法,其中所述第一处理器包括第一组影子寄存器,所述第一处理器经配置具有对所述第一组影子寄存器的独占存取权限,并且所述第二处理器包括第二组影子寄存器,所述第二处理器经配置具有对所述第二组影子寄存器的独占存取权限。
4.根据权利要求1所述的方法,其中由所述第一处理器和所述第二处理器共享的单独存储器存储被授予对所述共享非易失性存储器装置的存取权限的所述处理器正确地存取数据所需的存储器参数。
5.根据权利要求1所述的方法,其进一步包括:
完成所述第二处理器的所述存储器存取;以及
再继续所述第一处理器的所述数据块存取。
6.根据权利要求1所述的方法,其进一步包括:
授予信号量锁到所述第二处理器,以开始对所述共享非易失性存储器装置的所述存储器存取;以及
在所述第二处理器已经完成所述存储器存取之后,将所述信号量锁返回给所述第一处理器,以再继续所述数据块存取。
7.一种允许两个处理器独立存取共享装置的设备,所述设备包括:
第一处理器,其耦合到所述共享装置并且经配置具有对第一组影子寄存器的独占存取权限;
第二处理器,其耦合到所述共享装置并且经配置具有对第二组影子寄存器的独占存取权限;以及
共享装置控制器,其具有信号量状态机,所述信号量状态机经配置以在授予信号量给所述第一处理器时将所述第一组影子寄存器映射到共享地址空间,并且在授予所述信号量给所述第二处理器时将所述第二组影子寄存器映射到所述共享地址空间。
8.根据权利要求7所述的设备,其中所述信号量状态机响应于抢先于所述第一处理器对所述共享装置的操作的请求,以授予存取权限给所述第二处理器,从而抢先于所述第一处理器的所述操作,并且允许所述第二处理器存取所述共享装置。
9.根据权利要求7所述的设备,其中所述第一处理器请求的事务利用存储在所述第一组影子寄存器中的信息,且所述第二处理器请求的事务利用存储在所述第二组影子寄存器中的信息。
10.根据权利要求7所述的设备,其进一步包括:
共享地址多路复用器,以将所述第一组影子寄存器和所述第二组影子寄存器映射到如通过所述授予所述信号量控制的同一地址空间。
11.根据权利要求7所述的设备,其中抢先于所述第一处理器的与所述共享装置关联的操作是通过授予信号量锁給所述第二处理器以开始与所述共享装置关联的操作,且在完成所述第二处理器的所述操作时,所述信号量锁被返回给所述第一处理器以再继续其对所述共享装置的操作。
12.一种用于两个处理器独立存取共享装置的方法,所述方法包括:
响应于第一处理器对信号量的获取,将第一影子寄存器映射到共享地址,其中所述第一处理器将第一值写入在所述共享地址处的所述第一影子寄存器;
响应于在所述第一处理器对共享装置的第一操作完成时所述信号量被释放,去除所述第一影子寄存器与所述共享地址的链接;
响应于第二处理器对所述信号量的获取,将第二影子寄存器映射到所述共享地址,其中所述第二处理器将第二值写入在所述共享地址处的所述第二影子寄存器;以及
响应于在所述第二处理器对所述共享装置的第二操作完成时所述信号量被释放,去除所述第二影子寄存器与所述共享地址的链接,其中在所述第二操作完成时,所述第一值在所述第一影子寄存器中无变化,并且所述第二值在所述第二影子寄存器中无变化。
13.根据权利要求12所述的方法,其中所述第一操作为根据所述第一值的从所述共享装置到所述第一处理器的数据传送。
14.根据权利要求12所述的方法,其中所述第二操作为根据所述第二值的从所述共享装置到所述第二处理器的数据传送。
15.根据权利要求12所述的方法,其中所述第一操作为被所述第二处理器抢先以实现所述第二操作的所述第一处理器的较长操作的一部分,且在所述第二操作完成时,所述第一处理器重新获取所述信号量,以使用如前所写入的所述第一值完成所述较长操作。
16.一种用于电力控制的方法,所述方法包括:
响应于接收到缺乏对在第一处理器控制下且由多个处理器共享的存储器装置的存取权限的指示,减小对所述存储器装置的供电电压;以及
响应于接收到所述多个处理器中的另一个处理器的存储器存取请求,将所述供电电压返回到处于所述第一处理器控制下的操作电平。
17.根据权利要求16所述的方法,其中响应于在第一不活动周期结束时接收到第一空闲指示,将所述供电电压减小到截止电平以最小化对所述存储器装置的供电。
18.根据权利要求16所述的方法,其进一步包括:
响应于在第二不活动周期结束时接收到第二空闲指示,发起错误恢复过程,所述第二不活动周期比第一不活动周期长;
将所述多个处理器中的最后具有用于存取所述存储器装置的信号量锁的处理器复位;以及
将所述存储器装置和所述信号量锁初始化到自由状态。
19.一种用计算机可读程序数据和代码编码的计算机可读非暂时性媒体,所述程序数据和代码在执行时可操作用来:
响应于第一处理器对信号量的获取,将第一影子寄存器映射到共享地址,其中所述第一处理器将第一值写入在所述共享地址处的所述第一影子寄存器;
响应于在所述第一处理器对共享装置的第一操作完成时所述信号量被释放,去除所述第一影子寄存器与所述共享地址的链接;
响应于第二处理器对所述信号量的获取,将第二影子寄存器映射到所述共享地址,其中所述第二处理器将第二值写入在所述共享地址处的所述第二影子寄存器;以及
响应于在所述第二处理器对共享装置的第二操作完成时所述信号量被释放,去除所述第二影子寄存器与所述共享地址的链接,其中在所述第二操作完成时,所述第一值在所述第一影子寄存器中无变化,并且所述第二值在所述第二影子寄存器中无变化。
20.一种使用计算机可读程序数据和代码编码的计算机可读非暂时性媒体,所述程序数据和代码在执行时可操作用来:
由第一处理器从非易失性存储器装置中存取数据块,所述非易失性存储器装置通过直接存取由所述第一处理器和第二处理器共享;
向所述第一处理器发出门铃中断,以请求抢先于所述第一处理器对所述共享非易失性存储器装置的操作;以及
抢先于所述第一处理器的所述数据块存取,以发起所述第二处理器的存储器存取。
21.一种允许两个处理器独立存取共享装置的设备,所述设备包括:
用于使第一处理器存取所述共享装置且具有对第一组影子寄存器的独占存取权限的装置;
用于使第二处理器存取所述共享装置且具有对第二组影子寄存器的独占存取权限的装置;以及
用于使共享装置控制器在授予信号量到所述第一处理器时将所述第一组影子寄存器映射到共享地址空间,且在授予所述信号量到所述第二处理器时将所述第二组影子寄存器映射到所述共享地址空间的装置。
CN201480013506.4A 2013-03-13 2014-03-07 双主机嵌入式共享装置控制器 Expired - Fee Related CN105190561B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/798,803 2013-03-13
US13/798,803 US9431077B2 (en) 2013-03-13 2013-03-13 Dual host embedded shared device controller
PCT/US2014/021834 WO2014164310A1 (en) 2013-03-13 2014-03-07 Dual host embedded shared device controller

Publications (2)

Publication Number Publication Date
CN105190561A true CN105190561A (zh) 2015-12-23
CN105190561B CN105190561B (zh) 2018-04-20

Family

ID=50473781

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480013506.4A Expired - Fee Related CN105190561B (zh) 2013-03-13 2014-03-07 双主机嵌入式共享装置控制器

Country Status (5)

Country Link
US (1) US9431077B2 (zh)
EP (1) EP2972860B1 (zh)
JP (1) JP6181844B2 (zh)
CN (1) CN105190561B (zh)
WO (1) WO2014164310A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107357666A (zh) * 2017-06-26 2017-11-17 西安微电子技术研究所 一种基于硬件保护的多核并行系统处理方法
CN109154916A (zh) * 2016-08-22 2019-01-04 惠普发展公司,有限责任合伙企业 连接的设备的信息
CN113835757A (zh) * 2021-09-29 2021-12-24 深圳大普微电子科技有限公司 多主机共享寄存器模型的方法、装置及电子设备

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE49652E1 (en) 2013-12-16 2023-09-12 Qualcomm Incorporated Power saving techniques in computing devices
IT201700034731A1 (it) 2017-03-29 2018-09-29 St Microelectronics Srl Modulo e metodo di gestione dell'accesso ad una memoria
US10769092B2 (en) * 2018-12-20 2020-09-08 Dell Products, L.P. Apparatus and method for reducing latency of input/output transactions in an information handling system using no-response commands
TWI716167B (zh) * 2019-10-29 2021-01-11 新唐科技股份有限公司 儲存裝置及其映射方法
US11561912B2 (en) 2020-06-01 2023-01-24 Samsung Electronics Co., Ltd. Host controller interface using multiple circular queue, and operating method thereof
US11755518B2 (en) * 2021-06-28 2023-09-12 Dell Products L.P. Control of Thunderbolt/DisplayPort multiplexor for discrete USB-C graphics processor
CN114020659A (zh) * 2021-10-29 2022-02-08 浙江万胜智能科技股份有限公司 一种基于应用层驱动液晶显示的能源控制器系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6163831A (en) * 1997-11-14 2000-12-19 Lucent Technologies, Inc. Minimum refractory period in a multiple agent resource sharing environment
US20040034642A1 (en) * 2002-08-15 2004-02-19 Microsoft Corporation Priority differentiated subtree locking
CN101331454A (zh) * 2005-10-20 2008-12-24 高通股份有限公司 用于清除信号量保留的方法及设备
US20100058001A1 (en) * 2008-08-29 2010-03-04 Nec Electronics Corporation Distributed shared memory multiprocessor and data processing method
CN102640138A (zh) * 2009-11-13 2012-08-15 高通股份有限公司 突发存取协议及第二处理器的优先初始化
WO2012134431A1 (en) * 2011-03-25 2012-10-04 Research In Motion Limited Dynamic power management of cache memory in a multi-core processing system

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1984004190A1 (en) 1983-04-15 1984-10-25 Convergent Technologies Inc Multi-computer computer architecture
US6018785A (en) 1993-12-30 2000-01-25 Cypress Semiconductor Corp. Interrupt-generating hardware semaphore
US5854638A (en) * 1996-02-02 1998-12-29 Opti Inc. Unified memory architecture with parallel access by host and video controller
US6006303A (en) * 1997-08-28 1999-12-21 Oki Electric Industry Co., Inc. Priority encoding and decoding for memory architecture
US6314501B1 (en) 1998-07-23 2001-11-06 Unisys Corporation Computer system and method for operating multiple operating systems in different partitions of the computer system and for allowing the different partitions to communicate with one another through shared memory
US6393590B1 (en) 1998-12-22 2002-05-21 Nortel Networks Limited Method and apparatus for ensuring proper functionality of a shared memory, multiprocessor system
JP2001216284A (ja) * 1999-11-25 2001-08-10 Denso Corp 電子制御装置
DE10048732A1 (de) 2000-09-29 2002-04-18 Philips Corp Intellectual Pty Multiprozessor-Anordnung
US6874049B1 (en) 2001-02-02 2005-03-29 Cradle Technologies, Inc. Semaphores with interrupt mechanism
JP3704573B2 (ja) 2001-03-14 2005-10-12 東芝ソリューション株式会社 クラスタシステム
US7979048B2 (en) 2005-09-15 2011-07-12 Silicon Laboratories Inc. Quasi non-volatile memory for use in a receiver
US8209527B2 (en) 2006-10-26 2012-06-26 Samsung Electronics Co., Ltd. Memory system and memory management method including the same
US7512723B2 (en) * 2006-12-29 2009-03-31 Freescale Semiconductor, Inc. Queued interface devices, multi-core peripheral systems, and methods for sharing a peripheral in a multi-core system
US8185685B2 (en) * 2007-12-14 2012-05-22 Hitachi Global Storage Technologies Netherlands B.V. NAND flash module replacement for DRAM module
KR20090095955A (ko) 2008-03-07 2009-09-10 삼성전자주식회사 불휘발성 메모리의 공유 구조에서 다이렉트 억세스 기능을제공하는 멀티포트 반도체 메모리 장치 및 그를 채용한멀티 프로세서 시스템
JP2009277007A (ja) * 2008-05-14 2009-11-26 Mitsubishi Electric Corp 計算機装置及びプログラム
KR20100041309A (ko) * 2008-10-14 2010-04-22 삼성전자주식회사 각 프로세서들의 어플리케이션 기능을 모두 활용 가능한 멀티 프로세서 시스템
WO2010077923A2 (en) 2008-12-16 2010-07-08 The Regents Of The University Of Michigan Computer energy conservation with a scalable psu configuration
KR20110013867A (ko) 2009-08-04 2011-02-10 삼성전자주식회사 메모리 링크 아키텍쳐에서 플래시 레스 부팅 기능을 갖는 멀티 프로세서 시스템
JP2011232956A (ja) * 2010-04-27 2011-11-17 Clarion Co Ltd コンピュータシステムとプログラム
US8850262B2 (en) 2010-10-12 2014-09-30 International Business Machines Corporation Inter-processor failure detection and recovery
US8438416B2 (en) 2010-10-21 2013-05-07 Advanced Micro Devices, Inc. Function based dynamic power control
US8745427B2 (en) 2011-08-10 2014-06-03 Intel Corporation Memory link power management
US9400677B2 (en) * 2013-01-02 2016-07-26 Apple Inc. Adaptive handling of priority inversions using transactions

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6163831A (en) * 1997-11-14 2000-12-19 Lucent Technologies, Inc. Minimum refractory period in a multiple agent resource sharing environment
US20040034642A1 (en) * 2002-08-15 2004-02-19 Microsoft Corporation Priority differentiated subtree locking
CN101331454A (zh) * 2005-10-20 2008-12-24 高通股份有限公司 用于清除信号量保留的方法及设备
US20100058001A1 (en) * 2008-08-29 2010-03-04 Nec Electronics Corporation Distributed shared memory multiprocessor and data processing method
CN102640138A (zh) * 2009-11-13 2012-08-15 高通股份有限公司 突发存取协议及第二处理器的优先初始化
WO2012134431A1 (en) * 2011-03-25 2012-10-04 Research In Motion Limited Dynamic power management of cache memory in a multi-core processing system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109154916A (zh) * 2016-08-22 2019-01-04 惠普发展公司,有限责任合伙企业 连接的设备的信息
CN107357666A (zh) * 2017-06-26 2017-11-17 西安微电子技术研究所 一种基于硬件保护的多核并行系统处理方法
CN113835757A (zh) * 2021-09-29 2021-12-24 深圳大普微电子科技有限公司 多主机共享寄存器模型的方法、装置及电子设备
CN113835757B (zh) * 2021-09-29 2023-08-15 深圳大普微电子科技有限公司 多主机共享寄存器模型的方法、装置及电子设备

Also Published As

Publication number Publication date
JP6181844B2 (ja) 2017-08-16
JP2016512361A (ja) 2016-04-25
US9431077B2 (en) 2016-08-30
WO2014164310A1 (en) 2014-10-09
CN105190561B (zh) 2018-04-20
US20140281283A1 (en) 2014-09-18
EP2972860A1 (en) 2016-01-20
EP2972860B1 (en) 2021-03-03

Similar Documents

Publication Publication Date Title
CN105190561A (zh) 双主机嵌入式共享装置控制器
KR100899951B1 (ko) 캐시 메모리 버스트 싸이클 동안 버스 중재를 제어하는시스템 및 방법
US11599491B2 (en) System on chip having semaphore function and method for implementing semaphore function
KR20160096279A (ko) 가상화 기능을 지원하는 스토리지 장치 및 사용자 장치
KR20160148689A (ko) 비휘발성 이중 인-라인 메모리 모듈을 위한 제어기와 통신하기 위한 기법들
KR20210038313A (ko) 레이턴시에 중점을 둔 판독 동작과 대역폭에 중점을 둔 판독 동작 사이의 동적 변경
EP3803663B1 (en) Watchdog timer hierarchy
WO2017105741A1 (en) Single-stage arbiter/scheduler for a memory system comprising a volatile memory and a shared cache
CN102646446A (zh) 硬件动态高速缓存电源管理
KR20170013882A (ko) 플래시 메모리 기반 저장 디바이스의 멀티 호스트 전력 제어기(mhpc)
JP2008009817A (ja) 半導体装置及びデータ転送方法
JP5551201B2 (ja) メモリ制御装置
CN111209244A (zh) 数据处理装置及相关产品
WO2014063329A1 (zh) 共享闪存的方法、控制器及系统
EP4071583A1 (en) Avoiding processor stall when accessing coherent memory device in low power
US11157206B2 (en) Multi-die system capable of sharing non-volatile memory
CN113934677A (zh) 数据处理方法、装置、电子设备和存储介质
US20220058062A1 (en) System resource allocation for code execution
US11314686B2 (en) Hardware for supporting time triggered load anticipation in the context of a real time OS
CN115640255A (zh) 片上系统和用于操作该片上系统的方法
CN116244247A (zh) 控制方法及装置、设备
JPH0410159A (ja) マルチcpuシステム
JPS59108162A (ja) マルチプロセツサ階層制御装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180420

Termination date: 20210307

CF01 Termination of patent right due to non-payment of annual fee