存储器存取系统和存储器存取方法与流程

文档序号:25732704发布日期:2021-07-06 18:41阅读:62来源:国知局
存储器存取系统和存储器存取方法与流程

本发明涉及一种存储器存取系统和存储器存取方法。



背景技术:

单一电子装置可配置有多个微控制单元(microcontrolunit,mcu)以及分别对应于不同微控制单元的多个存储器装置,用以执行不同的任务。图1是配置了多个微控制单元以及闪存(flashmemory)的电子装置50的示意图。电子装置50包括微控制单元11以及微控制单元21、其中微控制单元11可耦接至对应的闪存装置12,并且微控制单元21可耦接至对应于微控制单元21的闪存装置22。微控制单元与闪存装置之间可通过串行外设接口闪存接口(serialperipheralinterfaceflashinterface,spifi)来进行数据传输。举例来说,微控制单元11与闪存装置12可通过串行外设接口闪存接口31来与彼此进行通信。另一方面,微控制单元之间的通信则需借由集成电路总线(inter-integratedcircuitbus,i2cbus)实现。举例来说,微控制单元11可通过集成电路总线32通信连接至微控制单元21,从而通过微控制单元21存取闪存装置22的数据。

然而,集成电路总线的传输速率较慢。因此,由微控制单元11使用集成电路总线32来存取对应于微控制单元21的闪存装置22,并不是十分有效率。

“背景技术”段落只是用来帮助了解本

技术实现要素:
,因此在“背景技术”段落所揭露的内容可能包含一些没有构成本领域技术人员所知道的现有技术。在“背景技术”段落所揭露的内容,不代表该内容或者本发明一个或多个实施例所要解决的问题,在本发明申请前已被本领域技术人员所知晓或认知。

发明内容

本发明提供一种存储器存取系统和存储器存取方法,使得处理器可在不使用集成电路总线的情况下,对另一处理器对应的存储器空间进行存取。

本发明的存储器存取系统包括易失性存储器、非易失性存储器、处理器以及可编程逻辑器件(programmablelogicdevice,pld)。可编程逻辑器件耦接处理器、易失性存储器以及非易失性存储器,其中可编程逻辑器件在存储器存取系统启动时将储存于非易失性存储器中的数据储存至易失性存储器。处理器经由可编程逻辑器件存取来自易失性存储器的数据。

本发明的存储器存取方法,适用于存储器存取系统。存储器存取系统包括可编程逻辑器件、处理器、易失性存储器以及非易失性存储器,且可编程逻辑器件配置在处理器、易失性存储器以及非易失性存储器之间。存储器存取方法包括:由可编程逻辑器件在存储器存取系统启动时,将储存于非易失性存储器中的数据储存至易失性存储器;以及由处理器经由可编程逻辑器件存取来自易失性存储器的数据。

基于上述,本发明的存储器存取系统可使处理器通过可编程逻辑器件来对对应于第二处理器的存储器的分区进行存取,其中所述处理器与存储器的分区之间并不具有集成电路总线。换句话说,处理器与存储器的分区之间的数据传输并不会因集成电路总线的原因而导致传输速率降低。

为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并结合附图作详细说明如下。

附图说明

图1是配置了多个微控制单元以及闪存的现有的电子装置的示意图。

图2是根据本发明的实施例绘示的存储器存取系统的示意图。

图3是根据本发明的实施例绘示的存储器存取方法的流程图。

具体实施方式

为了使本发明的内容可以被更容易明了,以下特举实施例做为本发明确实能够据以实施的范例。另外,凡可能之处,在附图及实施方式中使用相同标号的元件/构件/步骤,代表相同或类似部件。

图2是根据本发明的实施例绘示的存储器存取系统10的示意图。存储器存取系统10包括可编程逻辑器件100、易失性存储器200、非易失性存储器300以及一或多个处理器,其中所述一或多个处理器包括处理器400、处理器500以及处理器600。须注意的是,处理器的数量可依照使用者的需求调整,本发明并不限于此。

可编程逻辑器件100例如是可编程阵列逻辑(programmablearraylogic,pal)、通用阵列逻辑(genericarraylogic,gal)、复杂型可编程逻辑器件(complexpld,cpld)或现场可编程逻辑门阵列(fieldprogrammablegatearray,fpga),本发明不限于此。可编程逻辑器件100耦接至易失性存储器200、非易失性存储器300、处理器400、处理器500以及处理器600。

易失性存储器200例如是随机存取存储器(randomaccessmemory,ram)、动态随机存取存储器(dynamicrandomaccessmemory,dram)或静态随机存取存储器(staticrandomaccessmemory,sram),本发明不限于此。易失性存储器200可包括对应于处理器400的分区210、对应于处理器500的分区220以及对应于处理器600的分区230。处理器400、处理器500以及处理器600可分别通过可编程逻辑器件100来存取分区210、分区220或分区230中的数据。

非易失性存储器300例如是只读存储器(read-onlymemory,rom)、闪存(flashmemory)、硬盘(harddiskdrive,hdd)或固态硬盘(solidstatedrive,ssd),本发明不限于此。非易失性存储器300可通过串行外设接口闪存接口(serialperipheralinterfaceflashinterface,spifi)或是并行总线(parallelbus)700的其中之一通信连接至可编程逻辑器件100以与可编程逻辑器件100进行数据传输。

处理器400、处理器500或处理器600例如是中央处理单元(centralprocessingunit,cpu),或是其他可编程的一般用途或特殊用途的微控制单元(mcu)、微处理器(microprocessor)、数字信号处理器(digitalsignalprocessor,dsp)、特殊应用集成电路(applicationspecificintegratedcircuit,asic)、图形处理器(graphicsprocessingunit,gpu)或其他类似元件或上述元件的组合。处理器400、处理器500以及处理器600可分别通过串行外设接口闪存接口700通信连接至可编程逻辑器件100,从而通过可编程逻辑器件100对易失性存储器200或非易失性存储器300进行存取。

非易失性存储器300储存对应于各个处理器的数据。举例来说,非易失性存储器300可储存分别对应于处理器400、处理器500以及处理器600的固件。在存储器存取系统10启动时,可编程逻辑器件100可将储存在非易失性存储器300的固件储存至(或移动至)易失性存储器200。处理器400、处理器500或处理器600可通过可编程逻辑器件100存取储存于易失性存储器200中的对应固件以进行固件更新。

易失性存储器200可用以进行处理器之间的数据传输。举例来说,若处理器400想要将数据传送至处理器500时,处理器400并不需要通过集成电路总线来传送数据至处理器500。处理器400可通过传输速率快于集成电路总线的串行外设接口闪存接口700来传送所述数据至可编程逻辑器件100,从而由可编程逻辑器件100将数据储存于易失性存储器200的分区220之中。而后,处理器500便可读取对应于处理器500的分区220以取得来自处理器400的数据。因此,借由本发明的存储器存取系统10,处理器之间的数据传输将因为未使用集成电路总线而被加快,也不会需要同时消耗两个处理器的处理能力来进行所述数据的存取。

在一实施例中,可编程逻辑器件100可接收来自处理器400的更新数据并据以更新非易失性存储器300中的数据。当可编程逻辑器件100更新非易失性存储器300中的数据时,可编程逻辑器件100并不会根据更新数据来更新易失性存储器200中的数据。各个处理器(即:处理器400、处理器500或处理器600)与易失性存储器200之间的数据传输并不会中断。

当使用者想要更新处理器500(或处理器600)的固件时,使用者可先将固件的更新数据410输入至处理器400中。接着,处理器400可通过可编程逻辑器件100将更新数据410传送至非易失性存储器300,从而由非易失性存储器300根据更新数据410来更新储存于非易失性存储器300中的数据,借以产生经更新的数据420。

在处理器400接收到更新数据410至存储器存取系统10重新启动的期间,经更新的数据420并不会被加载到易失性存储器200之中,故处理器500(或处理器600)并无法读取到经更新的数据420。因此,处理器500(或处理器600)将不会进行固件更新而使得正在进行中的任务被迫中断。待存储器存取系统10重新启动时,可编程逻辑器件100会将经更新的数据420储存至(或移动至)易失性存储器200中,使得处理器500(或是处理器600、处理器400)得以根据经更新的数据420来进行固件更新。换句话说,存储器存取系统10的用户可以在不中断处理器500(或处理器600)正执行的任务的情况下,将用于更新一个或多个处理器500、处理器600或处理器400的固件的更新数据410预先加载到非易失性存储器300,使得对应的一个或多个处理器500、处理器600或处理器400能自动地在存储器存取系统10重新启动时进行固件更新。

在一实施例中,存储器存取系统10为投影机系统,处理器500为数字微镜装置芯片(digitalmicromirrordevice,dmd),并且处理器600为图像解析(imageresolution)芯片,其中处理器400至少用以接收并处理更新数据、易失性存储器200的分区220储存处理器500的固件并且分区230储存处理器600的固件。数字微镜装置芯片用以管理投影机系统的图像显示功能。举例来说,数字微镜装置芯片可控制设置在其表面上的多个微镜以反射光线并形成图像。图像解析芯片用以管理投影机系统的用户接口或参数调整功能。举例来说,图像解析芯片可预存校正图像以在投影机系统启动时投射所述校正图像,使得用户可根据校正图像来调整投影机系统所投射的图像的参数,所述参数例如是明亮度或图像尺寸等参数。上述处理器的种类及功能不局限于此,举例而言,处理器400可进一步负责投影机系统电源控制。

请继续参考图2,处理器500、处理器600或处理器400在使用上可能分别需要与不同类型的非易失性存储器或易失性存储器配合使用以存取数据。举例而言,处理器500、处理器600或处理器400在使用上需与闪存配合以存取数据,而可编程逻辑器件100可以与易失性存储器200或非易失性存储器300搭配以仿真闪存的读写时的输入输出设定。如此一来,本发明的存储器存取系统10,可达成使用单一种类的易失性存储器200或非易失性存储器300替代多种类的易失性存储器或非易失性存储器,可有效提升处理器400、处理器500以及处理器600对存储器的存取速度,也可避免因存储器存取系统10中处理器与存储器之间的不兼容问题而衍生出额外修改工作负担。此外,在维护存储器存取系统10的硬件时,因应于易失性存储器或非易失性存储器的缺货,用户可使用不同的非易失性存储器或非易失性存储器来替代故障的易失性存储器200或非易失性存储器300。

关于可编程逻辑器件100可以与易失性存储器200搭配以仿真闪存的读写时的输入输出设定的详细描述如下。

在一实施例中,可编程逻辑器件100储存对应于不同的非易失性存储器的设定。举例来说,可编程逻辑器件100可储存对应于非易失性存储器300例如是闪存的第一设定以及对应于不同于非易失性存储器300的非易失性存储器(以下称之为“第二非易失性存储器”)例如是固态硬盘的第二设定。

具体而言,当存储器存取系统10所使用的非易失性存储器为非易失性存储器300时,处理器400(或处理器500、处理器600)可经由以第一设定配置的可编程逻辑器件100来对非易失性存储器300进行存取。当用户将存储器存取系统10的非易失性存储器300变更为第二非易失性存储器时,处理器400(或处理器500、处理器600)可经由以第二设定配置的可编程逻辑器件100来对第二非易失性存储器进行存取。处理器400(或处理器500、处理器600)的参数并不需被调整以适应新的第二非易失性存储器。如此,在维护存储器存取系统10的硬件时,因应于非易失性存储器300的型号发生缺货,使用者可使用不同型号的非易失性存储器来替代故障的非易失性存储器300。值得注意的是,上述的第二设定可预存于可编程逻辑器件100,或由用户对可编程逻辑器件100进行编码而产生。

在一实施例中,可编程逻辑器件100储存对应于不同的易失性存储器的设定。举例来说,可编程逻辑器件100可储存对应于易失性存储器200例如是动态随机存取存储器的第一设定以及对应于不同于易失性存储器200的易失性存储器(以下称之为“第二易失性存储器”)例如是静态随机存取存储器的第二设定。当存储器存取系统10所使用的易失性存储器为易失性存储器200时,处理器400(或处理器500、处理器600)可经由以第一设定配置的可编程逻辑器件100来对易失性存储器200进行存取。

具体而言,当用户将存储器存取系统10的易失性存储器200变更为第二易失性存储器时,处理器400(或处理器500、处理器600)可经由以第二设定配置的可编程逻辑器件100来对第二易失性存储器进行存取。处理器400(或处理器500、处理器600)的参数并不需被调整以适应新的第二易失性存储器。如此,在维护存储器存取系统10的硬件时,因应于易失性存储器200的型号发生缺货,使用者可使用不同型号的易失性存储器来替代故障的易失性存储器200。值得注意的是,上述的第二设定可预存于可编程逻辑器件100,或由用户对可编程逻辑器件100进行编码而产生。

在一实施例中,为了进一步提高处理器对存储器进行存取的速度以提升运作效能,可选用速度较快的易失性存储器200例如是动态随机存取存储器来替代速度较慢的非易失性存储器例如是闪存,以使处理器400、处理器500以及处理器600可分别通过可编程逻辑器件100来存取易失性存储器200内分区210、分区220或分区230中的数据,而当存储器存取系统10关闭时,用户可依需求设计可编程逻辑器件100可将储存在易失性存储器200内的必要信息搬移至非易失性存储器300储存。

具体而言,处理器500、处理器600或处理器400在使用上需与闪存配合以存取数据时,当存储器存取系统10所使用的易失性存储器为动态随机存取存储器时,处理器400(或处理器500、处理器600)可经由以第一设定配置的可编程逻辑器件100来存取动态随机存取存储器(易失性存储器200)。在本实施例中,当存储器存取系统10所使用的非易失性存储器300为闪存时,当处理器400接收到固件的更新数据410时,处理器400可经由以第二设定配置的可编程逻辑器件100来将更新数据410传送至非易失性存储器300。

如此一来,本发明的存储器存取系统10,处理器400(或处理器500、处理器600)的参数并不需被调整以适应动态随机存取存储器,即达成使用较快速的易失性存储器200替代速度较慢的非易失性存储器,可有效提升处理器400、处理器500以及处理器600对存储器的存取速度,也可避免因存储器存取系统10中处理器与存储器之间的不兼容问题而衍生出额外修改工作负担。图3是根据本发明的实施例绘示的存储器存取方法的流程图,其中存储器存取方法可由如图2所示的存储器存取系统10实施。在步骤s301,由可编程逻辑器件在存储器存取系统启动时,将储存于非易失性存储器中的数据储存至易失性存储器。在步骤s302,由处理器经由可编程逻辑器件存取来自易失性存储器的数据。

综上所述,本发明的存储器存取系统可以在启动后将储存于非易失性存储器的数据加载到易失性存储器之中,使得各个处理器可通过易失性存储器中的对应分区来进行数据传输。由于易失性存储器的数据传输速率高于非易失性存储器,故本发明的存储器存取系统可显著地改善处理器在执行任务时的效率。另一方面,处理器与存储器的分区之间并不具有集成电路总线。换句话说,处理器与存储器的分区之间的数据传输并不会因集成电路总线的原因而导致传输速率降低。再者,可编程逻辑器件可以在存储器存取系统处于启动状态的情况下,更新非易失性存储器所储存的数据。因此,处理器可以在存储器存取系统重新启动后随即取得更新的数据。

以上所述,仅为本发明的优选实施例而已,当不能以此限定本发明实施的范围,即大凡依本发明权利要求及发明说明内容所作的简单的等效变化与修饰,皆仍属本发明专利涵盖的范围内。另外本发明的任一实施例或权利要求不须达成本发明所揭露的全部目的或优点或特点。此外,摘要部分和标题仅是用来辅助专利文件搜寻之用,并非用来限制本发明的权利范围。此外,本说明书或权利要求中提及的“第一”、“第二”等用语仅用以命名元件(element)的名称或区别不同实施例或范围,而并非用来限制元件数量上的上限或下限。

虽然本发明已以实施例揭露如上,然其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,故本发明的保护范围当视后附的权利要求所界定者为准。

符号说明

11、21:微控制单元

12、22:闪存装置

31:串行外设接口闪存接口

32:集成电路总线

50:电子装置

10:存储器存取系统

100:可编程逻辑器件

200:易失性存储器

210、220、230:分区

300:非易失性存储器

400、500、600:处理器

410:更新数据

420:经更新的数据

700:串行外设接口闪存接口

s301、s303:步骤。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1