[发明专利]存储器共享方法无效
申请号: | 200910000904.3 | 申请日: | 2009-01-21 |
公开(公告)号: | CN101739273A | 公开(公告)日: | 2010-06-16 |
发明(设计)人: | 蔡建良 | 申请(专利权)人: | 联发科技股份有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F12/02 |
代理公司: | 北京万慧达知识产权代理有限公司 11111 | 代理人: | 葛强;张一军 |
地址: | 中国台湾新竹科*** | 国省代码: | 中国台湾;71 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 存储器 共享 方法 | ||
技术领域
本发明涉及存储器共享(memory sharing)方法,尤其涉及闪存驱动程序(flash driver)的存储器共享方法,该方法用于静态随机存取存储器(StaticRandom Access Memory,SRAM)分配的堆栈存储器(stack memory)中加载闪存驱动程序。
背景技术
在嵌入式系统(embedded system)中,由于闪存驱动程序不能在其自身的闪存存储器(flash memory)中执行,因此需要将闪存驱动程序代码(code)在只读存储器(read-only memory,ROM)、静态随机存取存储器(Static RandomAccess Memory,SRAM)、动态随机存取存储器(Dynamic Random AccessMemory,DRAM)或其它闪存存储器中存储及执行。然而,若闪存驱动程序代码存储在ROM中,闪存驱动程序则会缺乏可扩充性(expandability)并使硬件成本提高。此外,很多电子装置并不具有DRAM或其它闪存存储器。因此,闪存驱动程序代码通常在SRAM中存储及执行。
将闪存驱动程序代码存储在SRAM中的传统方法的其中一种做法是为闪存驱动程序分配专用(dedicated)SRAM,但此做法会使硬件成本更高;另一种做法是最初将闪存驱动程序代码存储在硬盘(hard disk)或其它外部存储器中,当需要执行闪存驱动程序的一个程序时,则在SRAM中加载闪存驱动程序的程序代码(program code),当不再需要执行时,则从SRAM中卸载(unload)该程序代码。上述第二种方法有利于节省存储器空间,但是有效地节省存储器空间也需要一个适当的存储器分配方法。
发明内容
为了达到有效地节省存储器空间,本发明提供了存储器共享方法。
本发明所披露的存储器共享方法,包含决定出与目标闪存驱动程序相应的目标存储器的容量;以及当可用于数据存储的堆栈存储器的未使用的容量大于所述目标存储器的容量时,将所述目标闪存驱动程序所包含的目标闪存程序加载至堆栈存储器中,其中所述堆栈存储器分配于特定存储器装置内。
利用本发明所提供的存储器共享方法,为在SRAM中加载及执行闪存驱动程序代码提供了一个适当的存储器分配方法,有效地节省了存储器空间。
以下为根据多个图式对本发明的较佳实施例进行详细描述,本领域习知技艺者阅读后应可明确了解本发明的目的。
附图说明
图1为根据本发明的一个实施例表明SRAM、堆栈存储器及目标存储器之间的关系示意图。
图2为表明决定目标存储器的容量的示意图。
图3为表明堆栈存储器中不同闪存驱动程序中目标存储器的不同容量的示意图。
图4为根据本发明一个实施例的存储器共享方法流程图。
具体实施方式
由于考虑到电子装置的体积和存储器的成本,一些电子装置不具有DRAM。当要执行闪存驱动程序时,由于将闪存驱动程序代码存储在ROM中缺少扩充性,所以通常将闪存驱动程序代码存储在SRAM中。
一般来说,分配于SRAM中的堆栈存储器用于临时存储变量。根据执行程序产生的所有变量的大小,决定堆栈存储器容量,更确切地说,堆栈存储器的容量能够同时存储所有可能存储在堆栈存储器中的变量。因此,大部分时间里,堆栈存储器不是满载的,而是具有可用的存储器空间。这些可用的存储器空间被浪费了,并且也没有应用于其它程序。根据本发明的一个实施例,在堆栈存储器中存储及执行闪存驱动程序代码,以节省ROM和SRAM空间。
请参阅图1,图1为根据本发明的一个实施例表明SRAM100、堆栈存储器110及目标存储器120之间的关系示意图。如图1所示,分配于SRAM100中的堆栈存储器110,用于存储执行程序产生的变量,若需要执行闪存驱动程序,且可用目标存储器120的容量大于闪存驱动程序代码的大小,则将闪存驱动程序代码存储在堆栈存储器110的目标存储器120中。在此实施例中,当需要执行闪存驱动程序时,则将闪存驱动程序代码从其它存储装置加载并存储至堆栈存储器110的目标存储器120中,其中目标存储器120安排于堆栈存储器110中的固定存储器空间。如图1所示,当变量置入堆栈存储器110时,变量的存储方向是从所述堆栈存储器110的高地址到低地址顺序地存储的,为了防止影响其它程序的变量存储,用于存储闪存驱动程序代码的固定目标存储器空间界定在堆栈存储器110的预定地址与最低地址之间。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于联发科技股份有限公司,未经联发科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910000904.3/2.html,转载请声明来源钻瓜专利网。