CN101231616B - 存储器共享方法 - Google Patents

存储器共享方法 Download PDF

Info

Publication number
CN101231616B
CN101231616B CN2007101803708A CN200710180370A CN101231616B CN 101231616 B CN101231616 B CN 101231616B CN 2007101803708 A CN2007101803708 A CN 2007101803708A CN 200710180370 A CN200710180370 A CN 200710180370A CN 101231616 B CN101231616 B CN 101231616B
Authority
CN
China
Prior art keywords
static ram
module
memory
functional module
sharing method
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.)
Active
Application number
CN2007101803708A
Other languages
English (en)
Other versions
CN101231616A (zh
Inventor
陈志卿
杜立群
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.)
Hefei Jie FA Technology Co., Ltd.
Original Assignee
MediaTek 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
Priority claimed from US11/625,349 external-priority patent/US7743221B2/en
Application filed by MediaTek Inc filed Critical MediaTek Inc
Publication of CN101231616A publication Critical patent/CN101231616A/zh
Application granted granted Critical
Publication of CN101231616B publication Critical patent/CN101231616B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Static Random-Access Memory (AREA)

Abstract

本发明提供一种用于目标模块以及模块群组的存储器共享方法,其中模块群组包含至少一功能模块,功能模块包含有至少一静态随机存取存储器。存储器共享方法包含有:计算功能模块的存储器容量;如果模块群组的总存储器容量满足目标模块的存储器容量需求,则根据该目标模块需求的存储器的地址数及位数与该模块群组的功能模块中的静态随机存取存储器的地址数及位数分配模块群组的功能模块中的静态随机存取存储器;利用目标模块来存取模块群组的功能模块的静态随机存取存储器。本发明提供的存储器共享方法,可减少片上***装置中所需要配置的静态随机存取存储器的数量,从而减小存储器区块占据的片上***装置的面积,并降低生产成本。

Description

存储器共享方法
技术领域
本发明是有关于存储器共享技术,特别指一种在片上***(system-on-chip,SOC)装置中让多个功能模块可以共享静态随机存取存储器的存储器共享方法。
背景技术
一般而言,虽然片上***装置的发展已经大幅地降低了电子装置的制造成本,然而,由于片上***装置包含有多个功能模块(functional module),并且这些功能模块各自包含有相对应的存储器,因此片上***装置的制造成本仍然居高不下。此外,在片上***装置中,全部存储器占据了大部分芯片面积,举例来说,片上***装置内部的存储器区块可能会占据大约百分之七十的芯片面积。
在片上***装置的相关技术中,一般都是将一个静态随机存取存储器(static random access memory,SRAM)分配给一个片上***装置中的一个功能模块,并且存储器的分配是根据这些功能模块的特性(例如所需的存储器大小以及数据位长度)来完成,此外,每一个静态随机存取存储器都包含有多个存储器单元(memory cell),其中每一个存储器单元一般都仅储存有一位的信息。
上述这种片上***装置会出现一种问题,就是分布于不同功能模块中的多个静态随机存取存储器一般来说并非同时会被存取,因此造成一些闲置的静态随机存取存储器维持在未被使用的状态。
发明内容
为减少存储器在片上***装置中占据的面积,本发明提供了一种存储器共享方法。
依据本发明的权利要求,其是揭示一种用于目标模块与模块群组的存储器共享方法,其中模块群组包含至少一功能模块,功能模块包含有至少一静态随机存取存储器,该存储器共享方法包含有:计算功能模块的存储器容量;如果模块群组的总存储器容量满足目标模块的存储器容量需求,则根据该目标模块需求的存储器的地址数及位数与该模块群组的功能模块中的静态随机存取存储器的地址数及位数分配模块群组的功能模块中的静态随机存取存储器;利用目标模块来存取模块群组的功能模块的静态随机存取存储器。
本发明提供一种应用于片上***装置的存储器共享方法,该方法使***中多个模块共用静态随机存取存储器,减少片上***装置中所需要配置的静态随机存取存储器的数量,从而减小存储器区块占据的片上***装置的面积,并降低生产成本。
附图说明
图1所示为依据本发明的第一实施例说明在片上***装置中用于目标模块与至少一功能模块的存储器共享***。
图2所示为举例说明图1中的目标模块的存储器共享配置设定的示意图。
图3所示为概述本发明提供图1所示的存储器共享***的方法流程图。
图4所示的为依据本发明的第二实施例说明在片上***装置中用于目标模块与至少一功能模块的存储器共享***。
图5所示为举例说明图4中的目标模块的存储器共享配置设定的示意图。
图6所示为概述本发明提供图4所示的存储器共享***的方法流程图。
图7所示为依据本发明的第三实施例说明在片上***装置中用于目标模块与至少一功能模块的存储器共享***。
图8所示为图7中屏蔽装置的示意图。
图9所示为利用本发明的写入屏蔽装置来举例说明第一功能模块的数据
图10所示为利用本发明的读取屏蔽装置来举例说明第一功能模块的数据读取操作的示意图。
图11所示为概述利用本发明的屏蔽装置来存取第一功能模块中的第一静态随机存取存储器的方法流程图。
具体实施方式
在本说明书以及权利要求书当中使用了某些词汇来指称特定的***组件,而所属领域中的相关技术人员应可理解,消费电子设备制造商可能会用不同的名词来称呼同一个组件,本说明书及权利要求书并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则,在通篇说明书及后续的请求项当中所提及的“包含有”为一个开放式的用语,故应解释成“包含有但不限定于”,此外,“耦接”一词在此表示任何直接及间接的电气连接手段,因此,若文中描述第一装置耦接于第二装置,则代表第一装置可以直接电气连接于第二装置,或通过其它装置或连接手段间接地电气连接至第二装置。
请参考图1,图1所示为依据本发明的第一实施例说明在片上***装置中用于目标模块102与至少一功能模块(即本实施例中的两个功能模块104、106)的存储器共享***100。第一功能模块104包含有第一静态随机存取存储器110,第二功能模块106包含有第二静态随机存取存储器112,存储器共享***100包含有计算装置114、存储器分配装置116以及存储器控制装置101。其中,计算装置114用于计算功能模块104、106的存储器容量;而如果模块群组(module group)的总存储器容量满足目标模块102的存储器容量需求,则存储器分配装置116会分配模块群组的静态随机存取存储器,其中模块群组包含有至少一功能模块;存储器控制装置101用于存取模块群组中功能模块的静态随机存取存储器。在此请注意,为了能够更清楚地描述本发明的精神, 在本实施例中,模块群组仅包含有上述的第一功能模块104以及第二功能模块106,然而,在另一实施例中,模块群组则可以包含有目标模块102、第一功能模块104以及第二功能模块106。每一静态随机存取存储器的容量等于地址的数量与数据位的数量的乘积。在本实施例中,目标模块102本身没有配置任何内部的静态随机存取存储器,并且存储器控制装置101用来让目标模块102可以共享分别被分配给第一功能模块104以及第二功能模块106的第一静态随机存取存储器110以及第二静态随机存取存储器112。另外,在此请注意,上述的实施例中所设置的模块的数量以及静态随机存取存储器的数量仅作为本发明的范例说明,更明确地来说,一个目标模块仅共享两个静态随机存取存储器并不是本发明的限制条件。接着,本说明书将在以下段落中利用一个范例来说明共享存储器的操作细节。
请再参考图1,在片上***装置的正常操作模式中,目标模块102需要一个大小为(110×20)的存储器容量,第一功能模块104需要一个大小为(162×12)的存储器容量,第二功能模块106需要一个大小为(128×9)的存储器容量,其中,上述数值110、162以及128分别为地址的数量,数值20、12以及9分别为数据位的数量。此外,目标模块102、第一功能模块104以及第二功能模块106并不是同时被启动。
为了确认在第一功能模块104以及第二功能模块106中的总存储器容量符合目标模块102的存储器容量需求,计算装置114会计算第一静态随机存取存储器110以及第二静态随机存取存储器112的存储器容量,其分别为162×12以及128×9,并且得到总存储器容量为162×12+128×9。接着,计算装置114会将目标模块102所需要的存储器容量110×20与总存储器容量162×12+128×9进行比较,并且得知总存储器容量162×12+128×9不小于目标模块102所需要的存储器容量110×20,即(162×12+128×9)≥110×20。因此,由于第一功能模块104以及第二功能模块106中的总存储器容量符合目标模块102的存储器容量需求,所以本发明的存储器共享方法便可以在存 储器共享***100中进行操作。
接着,计算装置114会进一步分别计算第一静态随机存取存储器110以及第二静态随机存取存储器112的地址的数量与数据位的数量,以决定本发明用于存储器共享***100中的存储器共享机制。由于第一功能模块104以及第二功能模块106的地址的数量均大于110,并且上述两个功能模块的数据位的数量均小于20,而上述两个功能模块的数据位的数量的总和(即12+9=21)并不小于20,这意味着当第一功能模块104以及第二功能模块106还没被启动时,目标模块102的数据可以被直接存取到第一静态随机存取存储器110以及第二静态随机存取存储器112。因此,存储器分配装置116将第一静态随机存取存储器110(即具有大小为(162×12)的存储器容量的单一存储器芯片)分配到第一功能模块104,以及将第二静态随机存取存储器112(即具有大小为(128×9)的存储器容量的单一存储器芯片)分配到第二功能模块106。
当第一功能模块104以及第二功能模块106还没被启动时,片上***装置先启动目标模块102以及存储器控制装置101,然后再启动该存储器共享机制。
请参考图2,图2所示为举例说明图1中的目标模块102的存储器共享机制配置设定的示意图。如前所述,目标模块102的操作需要一个大小为(110×20)的存储器容量,其中110个地址中的每一个地址均对应于20个数据位。如图2所示,存储器控制装置101将第一静态随机存取存储器110以及第二静态随机存取存储器112虚拟合并来提供目标模块102所需的适合的存储器容量。在本实施例中,存储器控制装置101直接将目标模块102所请求的地址传送给第一静态随机存取存储器110以及第二静态随机存取存储器112,来分别存取M1个数据位(例如12个数据位)以及N1个数据位(例如8个数据位)。在此请注意,M1以及N1的总和(即M1+N1)等于20,此外,根据各种不同的设计需求,M1以及N1的数值为可弹性设定的,同时被选择用 来跟目标模块102一起共享的数据位也是可弹性设定的。换句话说,在M1+N1=20的情况下,任何M1个数据位都可以从第一功能模块104的第一静态随机存取存储器110中选出,任何N1个数据位都可以从第二功能模块106的第二静态随机存取存储器112中选出,举例来说,11个数据位可以从第一功能模块104的第一静态随机存取存储器110的任一部分中选出,以及另外9个数据位可以从第二功能模块106的第二静态随机存取存储器112的任一部分中选出,以响应由目标模块102所传送出的特定地址的请求,如此一来,没有配置内部静态随机存取存储器的目标模块102便可以通过该存储器共享机制来正常地操作。
请参考图3,图3所示为概述本发明提供图1所示的存储器共享***100的方法流程图。假如实质上可以得到相同的结果,则流程中的步骤不一定需要照图3所示的顺序来执行,该步骤也不一定需要是连续的,也就是说,这些步骤之间可以***其它的步骤。本发明的方法包含有下列步骤:
步骤302:决定需要进行存储器共享操作的目标模块102,其中目标模块102需要大小为(110×20)的存储器容量。
步骤304:定义包含有至少第一功能模块104以及第二功能模块106的模块群组,其中第一功能模块104具有大小为(162×12)的存储器容量,以及第二功能模块106具有大小为(128×9)的存储器容量。
步骤306:计算第一功能模块104以及第二功能模块106的存储器容量,以确认该存储器容量符合目标模块102的存储器容量需求,即(162×12+128×9)≥110×20。
步骤308:检查第一功能模块104以及第二功能模块106的地址数量是否均大于110,以及第一功能模块104以及第二功能模块106的数据位数量是否均小于20,以及第一功能模块104以及第二功能模块106的数据位数量的总和是否不小于20。
步骤310:分别将第一静态随机存取存储器110以及第二静态随机存取存 储器112分配给第一功能模块104以及第二功能模块106,其中第一静态随机存取存储器110的存储器容量为(162×12),以及第二静态随机存取存储器112的存储器容量为(128×9)。
步骤312:当第一功能模块104以及第二功能模块106都还没被启动时,启动目标模块102。
步骤314:当第一功能模块104以及第二功能模块106都还没被启动时,分别将M1个数据位(即12个数据位)以及N1个数据位(即8个数据位)分配给分别被分配到第一功能模块104以及第二功能模块106的第一静态随机存取存储器110以及第二静态随机存取存储器112。
步骤316:参考由目标模块102所请求的特定地址来相应地存取分别被分配到第一功能模块104以及第二功能模块106的第一静态随机存取存储器110以及第二静态随机存取存储器112中的M1个数据位以及N1个数据位。
请参考图4,图4所示为依据本发明的第二实施例说明在片上***装置中用于目标模块402与至少一功能模块(即本实施例中的两个功能模块404、406)的存储器共享***400。与第一实施例相似,其中第一功能模块404包含有第一静态随机存取存储器410,第二功能模块406包含有第二静态随机存取存储器412。存储器共享***400包含有计算装置414、存储器分配装置416以及存储器控制装置401。由于计算装置414、存储器分配装置416以及存储器控制装置401分别具有与第一实施例中的计算装置114、存储器分配装置116以及存储器控制装置101相同的功能,所以就不在多加赘述其详细内容。在本实施例中,目标模块402中没有配置任何内部的静态随机存取存储器,并且存储器控制装置401用来让目标模块402可以共享分别被分配到第一功能模块404以及第二功能模块406的第一静态随机存取存储器410以及第二静态随机存取存储器412。另外,在此请注意,上述的实施例中所设置的模块的数量以及静态随机存取存储器的数量仅作为本发明的范例说明,更明确地来说,一个目标模块仅共享两个静态随机存取存储器并不是本发明的限制条件,接 着,本说明书将在以下段落中利用一个范例来说明共享存储器的操作细节。
请再参考图4,在该片上***装置的正常操作模式中,目标模块402需要一个大小为(110×24)的存储器容量,并且第一功能模块404需要一个大小为(162×12)的存储器容量,以及第二功能模块406需要一个大小为(128×9)的存储器容量,其中,上述数值110、162以及128分别为地址的数量,而数值24、12以及9则分别为数据位的数量,此外,目标模块402、第一功能模块404以及第二功能模块406并非同时被启动。
与第一实施例相似,计算装置414会将目标模块402所需要的存储器容量110×24与第一功能模块404以及第二功能模块406的总存储器容量162×12+128×9进行比较,并且得到总存储器容量162×12+128×9不小于目标模块402所需要的存储器容量110×24,即(162×12+128×9)≥110×24。
接着,计算装置414会进一步分别计算第一静态随机存取存储器410以及第二静态随机存取存储器412的地址的数量与数据位的数量,以决定本发明用于存储器共享***400中的存储器共享机制。由于第一功能模块404以及第二功能模块406的地址的数量均大于110,并且上述两个功能模块404、406的数据位的数量均小于24,上述两个功能模块的数据位的数量的总和(即21)也小于24,这意味着当第一功能模块404以及第二功能模块406还没被启动时,目标模块402的数据并无法被直接存取到第一静态随机存取存储器410以及第二静态随机存取存储器412。然而,由于在第一功能模块404以及第二功能模块406中的总存储器容量符合目标模块402的存储器容量需求,即(162×12+128×9)≥110×24,因此,存储器分配装置416将第一静态随机存取存储器410(其是由实体上各自独立的多个静态随机存取存储器芯片所构成,且具有大小为(162×12)的总存储器容量)分配到第一功能模块404,以及将第二静态随机存取存储器412(其是由实体上各自独立的多个静态随机存取存储器芯片所构成,且具有大小为(128×9)的总存储器容量)分配到第二功能模块406。
用来组成第一静态随机存取存储器410的静态随机存取存储器芯片的数量通过进行无条件进位(roundup)操作来决定,也就是由计算装置414来计算一个大于但最接近的整数。该无条件进位操作根据等于目标模块402所需要的存储器容量的数据位数量(即24)除以第一功能模块404所需要的存储器容量的数据位数量(即12)的数值来进行。用于组成第二静态随机存取存储器412的静态随机存取存储器芯片的数量通过进行根据等于目标模块402所需要的存储器容量的数据位数量(即24)除以第二功能模块406所需要的存储器容量的数据位数量(即9)的数值的无条件进位操作来决定。
因此第一静态随机存取存储器410便可以具有一个大小为(162×12)的总存储器容量,并且这是由两个分别具有大小为(81×12)的存储器容量的独立静态随机存取存储器芯片所构成,而这些存储器被分配到第一功能模块404。此外,具有大小为(128×9)的总存储器容量,并且由三个分别具有大小为(43×9)的存储器容量的独立静态随机存取存储器芯片所构成的第二静态随机存取存储器412被分配到第二功能模块406。在此请注意,在第一静态随机存取存储器410中,每一存储器芯片的地址数量(即81)以及在第二静态随机存取存储器412中每一存储器芯片的地址数量(即43)的总和不应该小于目标模块402所需要的地址数量。另外,请注意,在本发明中,第一静态随机存取存储器410以及第二静态随机存取存储器412并不限制于使用实体上各自独立的多个静态随机存取存储器芯片,本领域的相关技术人员应该能了解在这方面也可以利用存储器分配装置416来将第一静态随机存取存储器410程序化分割为多个虚拟独立的静态随机存取存储器芯片,并且同样具有上述的存储器容量,另外,第二静态随机存取存储器412也同样可以进行如此处理。
当第一功能模块404以及第二功能模块406还没被启动时,片上***装置启动目标模块402,存储器控制装置401开始使能存储器共享机制。
请参考图5,图5所示为举例说明图4中目标模块402的存储器共享机制 配置设定的示意图。第一静态随机存取存储器410以及第二静态随机存取存储器412分别具有实体上各自独立的多个静态随机存取存储器芯片,并且这些静态随机存取存储器芯片可以被重新排列以组成如图5所示的存储器配置设定。换句话说,第一静态随机存取存储器410对应于大小为(81×24)的存储器容量,以及第二静态随机存取存储器412对应于大小为(43×27)的存储器容量。因此,存储器控制装置401将第一静态随机存取存储器410以及第二静态随机存取存储器412虚拟合并来提供目标模块402所需的适合的存储器容量。在本实施例中,存储器控制装置401直接将M3个地址(例如81个地址)分配给第一静态随机存取存储器410以及将N3个地址(例如29个地址)分配给第二静态随机存取存储器412,其中M3以及N3的总和(即M3+N3)等于110。在此请注意,M3以及N3的数值能够根据各种不同的设计需求而弹性地设定,同时被选择用来与目标模块402一起共享的地址也是可弹性地设定的。换句话说,在M3+N3=110的情况下,任何M3个地址都可以从第一功能模块404的第一静态随机存取存储器410中选出,以及任何N3个地址都可以从第二功能模块406的第二静态随机存取存储器412中选出,如图5所示,并且当接收到由目标模块402所请求的特定地址时,存储器控制装置401参考该特定地址来存取第一静态随机存取存储器410或是第二静态随机存取存储器412以处理所要的24个数据位。如此一来,尽管目标模块402本身不具有任何内部静态随机存取存储器,目标模块402仍然可以通过存储器共享机制来进行正常的操作。
请参考图6,图6所示为概述本发明提供图4所示的存储器共享***400的方法流程图。假如实质上可以得到相同的结果,则流程中的步骤不一定需要照图6所示的顺序来执行,也不一定需要是连续的,也就是说,这些步骤之间可以***其它的步骤。本发明的方法包含有下列步骤:
步骤602:决定需要进行存储器共享操作的目标模块402,其中目标模块402需要大小为(110×24)的存储器容量。
步骤604:定义包含有至少第一功能模块404以及第二功能模块406的模块群组,其中第一功能模块404需要大小为(162×12)的存储器容量,以及第二功能模块406需要大小为(128×9)的存储器容量。
步骤606:计算第一功能模块404以及第二功能模块406的存储器容量,以确认该存储器容量符合目标模块402的存储器容量需求,即(162×12+128×9)≥110×24。
步骤608:检查第一功能模块404和第二功能模块406的地址数量是否均大于110,以及第一功能模块404和第二功能模块406的数据位数量是否均小于24,还有第一功能模块404和第二功能模块406的数据位数量的总和是否也小于24。
步骤610:进行无条件进位(roundup)操作,以分别将第一静态随机存取存储器410以及第二静态随机存取存储器412分配给第一功能模块404以及第二功能模块406,其中第一静态随机存取存储器410的存储器容量由两个分别具有大小为(81×12)的存储器容量的实体上彼此独立的静态随机存取存储器芯片所构成,以及第二静态随机存取存储器412的存储器容量由三个分别具有大小为(43×9)的存储器容量的实体上彼此独立的静态随机存取存储器芯片所构成,此外,目标模块402需要一个大小为(110×24)的存储器容量,并且第一功能模块404需要一个大小为(162×12)的存储器容量,以及第二功能模块406需要一个大小为(128×9)的存储器容量。
步骤612:当第一功能模块404以及第二功能模块406都还没被启动时,启动目标模块402。
步骤614:当第一功能模块404以及第二功能模块406都还没被启动时,重新设定这些存储器芯片的组态,并且分别将M3个地址以及N3个地址分配给分别被分配到第一功能模块404以及第二功能模块406的第一静态随机存取存储器410以及第二静态随机存取存储器412。
步骤616:参考由目标模块402所请求的特定地址来相对应地存取被分配 到第一功能模块404的第一静态随机存取存储器410或是被分配到第二功能模块406的第二静态随机存取存储器412。
当与该存储器容量中特定地址相关的目标数据由目标模块402所请求,并且目标模块402被设计为具有较为宽松的数据存取时间限制时,存储器控制装置401就可允许在多个频率周期循环内通过参考特定地址来完成存取与特定地址相关的静态随机存取存储器装置,举例来说,在响应目标模块402的请求时,存储器控制装置401可以在两个频率周期循环存取第一静态随机存取存储器410以获得前面81个地址中所需要的24个数据位,以及可以在三个频率周期循环存取第二静态随机存取存储器412以获得剩下29个地址中所需要的24个数据位。
请参考图7,图7所示为依据本发明的第三实施例说明在片上***装置中用于目标模块702与至少一功能模块(即本实施例中的两个功能模块704、706)的存储器共享***700。第一功能模块704包含有第一静态随机存取存储器710,并且第二功能模块706包含有第二静态随机存取存储器712,存储器共享***700包含有计算装置715、存储器分配装置716以及存储器控制装置701。由于计算装置715、存储器分配装置716以及存储器控制装置701分别具有与第一实施例中的计算装置114、存储器分配装置116以及存储器控制装置101相同的功能,所以就不再赘述其详细内容。在本实施例中,目标模块702并没有配置任何内部的静态随机存取存储器,存储器控制装置701用来让目标模块702可以共享分别被分配到第一功能模块704以及第二功能模块706的第一静态随机存取存储器710以及第二静态随机存取存储器712。另外,在此请注意,上述的实施例中所设置的模块的数量以及静态随机存取存储器的数量仅作为本发明的范例说明,更明确地来说,一个目标模块仅共享两个静态随机存取存储器并不是本发明的限制条件,接着,本说明书将在以下段落中利用一个范例来说明共享存储器的操作细节。
该片上***装置的存储器容量需求与上述的图4中的第二实施例实质上 相同,所以就不在多加赘述关于计算装置715所执行的计算操作的详细内容,然而,在本实施例中,存储器分配装置716仅分配单一存储器芯片来建立第一静态随机存取存储器710,以及分配另一个单一存储器芯片来建立第二静态随机存取存储器712。对于第一静态随机存取存储器710而言,具有大小为(81×24)的存储器容量的单一存储器芯片被视为分别具有大小为(81×12)的存储器容量的两个读/写区块,其中,在目标模块702共享第一功能模块704的静态随机存取存储器时,这两个读/写区块的采用依循应用于上述第二实施例的规则。同样地,对于第二静态随机存取存储器712而言,具有大小为(43×27)的存储器容量的单一存储器芯片被视为分别具有大小(43×9)的存储器容量的三个读/写区块。第一静态随机存取存储器710的数据位的总数以及第二静态随机存取存储器712的数据位的总数分别为24与27,如图7所示,这等于或大于目标模块702所需要的数据位的总数24。此外,第一静态随机存取存储器710以及第二静态随机存取存储器712的地址的总数为124,其大于目标模块702所需要的地址的总数110,而两个分别具有大小为(81×12)的存储器容量的存储器芯片的整体芯片面积大于具有大小为(81×24)的存储器容量的单一存储器芯片的整体芯片面积,因此,相较于第二实施例,本发明的第三实施例提供一个成本较低的解决方案。
另一方面,当目标模块702还没被启动,而第一功能模块704或第二功能模块706被启动时(例如第一功能模块704被启动时),在第一功能模块704中的第一静态随机存取存储器710需要被第一功能模块704所存取,然而,由于第一静态随机存取存储器710的存储器容量为(81×24),而不是(162×12),所以应该在存储器共享***700中使用一种屏蔽机制(maskingmechanism),如此一来,为了使得第一功能模块704以及第二功能模块706能够分别正确地存取第一静态随机存取存储器710以及第二静态随机存取存储器712,屏蔽装置714被使用。图8所示为图7中的屏蔽装置714的示意图,在此请注意,虽然图7中的屏蔽装置714屏蔽了第一功能模块704,但是这仅 作为本发明的范例说明,而不是本发明的限制条件,换句话说,当具有特定地址的所要的数据位分别被第一功能模块704与第二功能模块706所请求时,屏蔽装置714用于分别参考第一功能模块704以及第二功能模块706中的第一静态随机存取存储器710以及第二静态随机存取存储器712。屏蔽装置714包含有写入屏蔽装置714a以及读取屏蔽装置714b,其中写入屏蔽装置714a用于利用特定地址的至少一最低位来屏蔽第一静态随机存取存储器710及/或第二静态随机存取存储器712,以写入所需要的数据位到第一静态随机存取存储器710以及第二静态随机存取存储器712;而读取屏蔽装置714b用于利用特定地址的至少一最低位来屏蔽第一静态随机存取存储器710及/或第二静态随机存取存储器712,以使存储器控制装置701从第一静态随机存取存储器710以及第二静态随机存取存储器712中读取所需要的数据位。本说明书将在以下段落中详细说明关于这部分的实施方式。
在实施例中,两个与门(AND gate)720与722用来作为写入屏蔽装置714a,2对1多任务器(2-to-1 multiplexer)724用来作为读取屏蔽装置714b,其中第一与门720的第一输入端耦接于特定地址的最低位,第二输入端耦接于所需要的数据位,输出端耦接于第一静态随机存取存储器710以及第二静态随机存取存储器712;而第二与门722的第一输入端耦接于特定地址中最低位的反相,第二输入端耦接于所需要的数据位,输出端耦接于第一静态随机存取存储器710以及第二静态随机存取存储器712。
当第一功能模块704将数据DATAin写入第一静态随机存取存储器710时,其中数据DATAin为12位的数据并且具有地址ADR,则地址ADR的最低位ADR_A[0]会被输入到第一与门720的第一输入端,反相的最低位~ADR_A[0]会被输入到第二与门722的第一输入端,因此,当数据DATAin被写入第一静态随机存取存储器710时,第一与门720以及第二与门722的其中之一就会被开启。请参考图9,图9所示为利用本发明的写入屏蔽装置714a来举例说明第一功能模块704的数据写入操作的示意图。为了简单说明 起见,图8与图9中只有显示应用于第一功能模块704的电路组件,然而,屏蔽装置714另包含有其它类似的电路组件(未显示)应用于第二功能模块706。其中,当第一功能模块704在操作时,其相对应的写入屏蔽装置714a依据最低地址位ADR_A[0]来屏蔽24个数据位的前半部分或后半部分(即如图9中所示的710a或710b的部分),以将数据DATAin写入第一静态随机存取存储器710,因此,从第一功能模块704的方面来看,通过写入屏蔽装置的帮助,第一静态随机存取存储器710等于具有存储器容量(162×12)的静态随机存取存储器。举例来说,请参考图9,当第一功能模块704将数据写入第一静态随机存取存储器710时,如果与写入请求相关的地址ADR_A[0]的最低位为1,则与24个数据位的前半部分的相对应的12位数据就会被写入到对应于该地址的前面12个数据位(即710a的部分);然而,当第一功能模块704将数据写入第一静态随机存取存储器710时,如果该地址的最低位为0,则与24个数据位的后半部分的相对应的12位数据就会被写入到对应于该地址的后面12个数据位(即710b的部分)。
另一方面,当第一功能模块704从第一静态随机存取存储器710中读取数据DATAout时,其中数据DATAout为12位的数据并且具有地址ADR,但是第一静态随机存取存储器710所输出的数据为24个位,所以地址ADR的最低位ADR_A[0]’被输入到多任务器724中,并且最低位ADR_A[0]’决定多任务器724要输出数据DATAout中所需的12个位数据。如图10所示,图10所示为利用本发明的读取屏蔽装置714b来举例说明第一功能模块704的数据读取操作的示意图。对于读取屏蔽装置714b而言,读取屏蔽装置714b用于依据与读取请求相关的最低地址位ADR_A[0]’来屏蔽24个数据位的前半部分或后半部分以作为输出数据DATAout。请参考图10,当第一功能模块704读取第一静态随机存取存储器710时,对应于与读取请求相关的地址704c的全部24个数据位会从第一静态随机存取存储器710中读取出来,同样地,全部24个数据位是从图10中所示的710a与710b的部分输出。如果该相关地址的 最低位ADR_A[0]’为1,则多任务器724就会依据710a的部分中24个数据位的前半部分的地址来输出前面的12个数据位,而如果该相关地址的最低位ADR_A[0]’为0,则多任务器724就会依据710b的部分中24个数据位的后半部分的地址来输出后面的12个数据位。在此请注意,本发明并不限制利用相关地址的最低位来判断哪个部分会被存取。同样地,第二功能模块706也是利用写入屏蔽装置714a以及读取屏蔽装置714b来存取第二静态随机存取存储器712,其中,写入屏蔽装置714a是参考最低的两个地址位来将9位数据写入到高、中、低各9个数据位其中之一,并且读取屏蔽装置714b是参考最低的两个地址位来从高、中、低各9个数据位中选择其中之一来输出数据。然而,当第一功能模块704以及第二功能模块706还没被启动时,片上***装置先启动目标模块702以及存储器控制装置701,然后再使能存储器共享机制,同样地,本发明并不限制利用相关地址的最低两个位来判断哪个部分会被存取。
请参考图11,图11所示为概述利用本发明的屏蔽装置714来存取第一功能模块704中的第一静态随机存取存储器710的方法流程图。为了简单说明起见,在图11中所示的方法仅用于存取第一功能模块704中的第一静态随机存取存储器710,然而,本领域的相关技术人员在阅读上述说明内容之后应该可以了解该方法通过适当地修改之后也可以应用于第二功能模块706。假如实质上可以得到相同的结果,则流程中的步骤不一定需要照图11所示的顺序来执行,也不一定需要是连续的,也就是说,这些步骤之间可以***其它的步骤。本发明的方法包含有下列步骤:
步骤802:不启动目标模块702。
步骤804:当特定地址被分配到第一功能模块704时,启动第一功能模块704中的第一静态随机存取存储器710。
步骤806:决定第一功能模块704中的第一静态随机存取存储器710的操作,如果该特定地址所需要的数据位需要被写入到第一静态随机存取存储器 710中,则进行步骤808;如果对应于该特定地址的数据位需要被从第一静态随机存取存储器710中读取出来,则进行步骤812。
步骤808:利用该特定地址的最低位ADR_A[0]来决定与该特定地址相关的哪一部分的12个数据位中会被存取。
步骤810:如果最低位ADR_A[0]为1,则将12个数据位写入到24个数据位的前半部分(即710a的部分);如果最低位ADR_A[0]为0,则将12个数据位写入到24个数据位的后半部分(即710b的部分)。
步骤812:利用该特定地址的最低位ADR_A[0]’来决定与该特定地址相关的哪一部分的12个数据位会被选取。
步骤814:如果最低位ADR_A[0]’为1,则从24个数据位的前半部分(即710a的部分)中选取12个数据位;如果最低位ADR_A[0]’为0,则从24个数据位的后半部分(即710b的部分)中选取12个数据位。
同样地,对于存取第二功能模块706的情况,本发明方法是参考最低的两个地址位来将9位数据输入到高、中、低各9个数据位其中之一,并且读取屏蔽装置714b参考最低的两个地址位来从高、中、低各9个数据位中选择其中之一来输出数据。
在此请注意,虽然在上述的实施例中,目标模块与功能模块不是同时被启动,但这并不是本发明的限制条件,换句话说,目标模块与功能模块的其中一些功能模块是可以同时被启动的。
以上所述仅为本发明的较佳实施例,凡依本发明权利要求范围所做的均等变化与修饰,皆应属本发明的涵盖范围。

Claims (17)

1.一种存储器共享方法,适用于目标模块与模块群组,其中该模块群组包含至少一功能模块,该功能模块包含有至少一静态随机存取存储器,该存储器共享方法包含有:
a、计算该功能模块的存储器容量;
b、如果该模块群组的总存储器容量满足该目标模块的存储器容量需求,则根据该目标模块需求的存储器的地址数及位数与该模块群组的该功能模块中的该静态随机存取存储器的地址数及位数分配该模块群组的该功能模块中的该静态随机存取存储器;以及
c、利用该目标模块来存取该模块群组的功能模块中的该静态随机存取存储器。
2.如权利要求1所述的存储器共享方法,其特征在于,该目标模块与该功能模块不是同时被启动。
3.如权利要求1所述的存储器共享方法,其特征在于,该模块群组另包含有该目标模块。
4.如权利要求1所述的存储器共享方法,其特征在于,该目标模块的该存储器容量需求为地址数X与位数Y的乘积,而在该模块群组中的功能模块数量为m,且在该模块群组中实体上彼此独立的静态随机存取存储器数量为n,而第i个静态随机存取存储器具有地址数Xi与位数Yi,该第i个静态随机存取存储器的容量为Xi与Yi的乘积,并且i不大于n。
5.如权利要求4所述的存储器共享方法,其特征在于,当每一个静态随机存取存储器i的地址数Xi不小于X,以及每一个静态随机存取存储器i的位数Yi的总和不小于Y时,其中i的取值为1~n,步骤b包含有:
将至少一个静态随机存取存储器i的一部分设定为被分配的静态随机存取存储器,其具有位数Yi_first以及该地址数X,以满足该目标模块的该存储器容量需求,其中所述位数Yi_first的总和等于Y,并且i不大于n。
6.如权利要求5所述的存储器共享方法,其特征在于,当具有特定地址的目标数据被该目标模块所选择时,对应于该特定地址的被分配的静态随机存取存储器被选择。
7.如权利要求4所述的存储器共享方法,其特征在于,步骤b包含有:
将每个静态随机存取存储器i分配为ni个被分配的静态随机存取存储器,而该ni个被分配的静态随机存取存储器中的每一个均具有位数Yij以及地址数Xi_first,且该地址数Xi_first等于Xi/ni,其中i的取值为1~n,j的取值为1~ni,而至少其中一个ni大于2,且每个静态随机存取存储器i的所有位数Yij的总和不小于Y,以及所有地址数Xi_first总和不小于X。
8.如权利要求7所述的存储器共享方法,其特征在于,每一个静态随机存取存储器i的地址数Xi不小于X,以及每一个静态随机存取存储器的位数Yi的总和不小于Y。
9.如权利要求7所述的存储器共享方法,其特征在于,该ni个被分配的静态随机存取存储器的每一个的位数Yij具有相同的数值。
10.如权利要求7所述的存储器共享方法,其特征在于,该ni个被分配的静态随机存取存储器实体上彼此独立。
11.如权利要求7所述的存储器共享方法,其特征在于,当具有位数Y以及特定地址的目标数据被该目标模块所选择时,在特定静态随机存取存储器中的被分配的静态随机存取存储器是依据该特定地址而被选择,该目标数据是在频率周期循环内被读取。
12.如权利要求7所述的存储器共享方法,其特征在于,当具有位数Y以及特定地址的目标数据被该目标模块所选择时,在特定静态随机存取存储器中的至少一被分配的静态随机存取存储器是依据该特定地址而被选择,且该目标数据的一部分是在频率周期循环中被读取,该目标数据是利用将在多个频率周期循环中分别被读取的该目标数据的多个部分结合后而得到。
13.如权利要求1所述的存储器共享方法,其特征在于,该目标模块的该存储器容量需求为地址数X与位数Y的乘积,而在该模块群组中的功能模块数量为m,且在每一功能模块中的每一静态随机存取存储器都是实体上彼此独立的,而第i个静态随机存取存储器具有地址数Xi与位数Yi,以及该第i个静态随机存取存储器的该存储器容量为Xi与Yi的乘积,并且Yi不小于Y,Xi小于X,而该模块群组的所有被分配的静态随机存取存储器的存储器容量的总和不小于该目标模块的该存储器容量需求,以及步骤b包含有:
将每个静态随机存取存储器i分配为ni个被分配的静态随机存取存储器,而该ni个被分配的静态随机存取存储器的每一个具有位数Y以及地址数Xi_used,并且每个静态随机存取存储器i的地址数Xi_used的总和不小于X。
14.如权利要求13所述的存储器共享方法,其特征在于,该ni个被分配的静态随机存取存储器是集成于单一静态随机存取存储器中。
15.如权利要求13所述的存储器共享方法,其特征在于,当具有特定地址的目标数据被该目标模块所选择时,对应于该特定地址的被分配的静态随机存取存储器被选择,并且这些被选择到的被分配的静态随机存取存储器是依据各自目标的位数而被存取。
16.如权利要求15所述的存储器共享方法,其特征在于,另包含有:
将该模块群组中的至少一功能模块的静态随机存取存储器启动;以及
当该已启动的功能模块请求具有特定地址的所需要的数据位时,参考该特定地址来存取该已启动的功能模块中的已启动的静态随机存取存储器。
17.如权利要求16所述的存储器共享方法,其特征在于,参考该特定地址来存取该已启动的功能模块中的该已启动的静态随机存取存储器的步骤包含有:
利用该特定地址的最低至少一位来决定要存取与该特定地址相关的数据位中的哪一部分。
CN2007101803708A 2007-01-22 2007-10-23 存储器共享方法 Active CN101231616B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/625,349 2007-01-22
US11/625,349 US7743221B2 (en) 2006-07-03 2007-01-22 Memory sharing method for sharing SRAM in an SOC device

Publications (2)

Publication Number Publication Date
CN101231616A CN101231616A (zh) 2008-07-30
CN101231616B true CN101231616B (zh) 2010-12-22

Family

ID=39898110

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007101803708A Active CN101231616B (zh) 2007-01-22 2007-10-23 存储器共享方法

Country Status (1)

Country Link
CN (1) CN101231616B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4550368A (en) * 1982-07-02 1985-10-29 Sun Microsystems, Inc. High-speed memory and memory management system
US5535364A (en) * 1993-04-12 1996-07-09 Hewlett-Packard Company Adaptive method for dynamic allocation of random access memory to procedures having differing priorities based on first and second threshold levels of free RAM
CN1193776A (zh) * 1997-03-13 1998-09-23 国际商业机器公司 静态映射在统一存储器体系结构中的智能型媒体存储器
CN1574660A (zh) * 2003-05-14 2005-02-02 摩托罗拉公司 存储分配的设备和方法
CN1815987A (zh) * 2005-02-02 2006-08-09 乐金电子(沈阳)有限公司 家庭网络联网家电设备共用存储器的方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4550368A (en) * 1982-07-02 1985-10-29 Sun Microsystems, Inc. High-speed memory and memory management system
US5535364A (en) * 1993-04-12 1996-07-09 Hewlett-Packard Company Adaptive method for dynamic allocation of random access memory to procedures having differing priorities based on first and second threshold levels of free RAM
CN1193776A (zh) * 1997-03-13 1998-09-23 国际商业机器公司 静态映射在统一存储器体系结构中的智能型媒体存储器
CN1574660A (zh) * 2003-05-14 2005-02-02 摩托罗拉公司 存储分配的设备和方法
CN1815987A (zh) * 2005-02-02 2006-08-09 乐金电子(沈阳)有限公司 家庭网络联网家电设备共用存储器的方法

Also Published As

Publication number Publication date
CN101231616A (zh) 2008-07-30

Similar Documents

Publication Publication Date Title
US11182074B2 (en) Apparatuses and methods for concurrently accessing multiple memory planes of a memory during a memory access operation
CN102187323B (zh) 多核存储器模块中的功率下降模式的动态利用
CN101595528B (zh) 存储器装置架构和操作
KR100419462B1 (ko) 반도체회로 및 그 제어방법
US7558941B2 (en) Automatic detection of micro-tile enabled memory
CN103597460B (zh) 用于利用存储命令的***和方法
US5627786A (en) Parallel processing redundancy scheme for faster access times and lower die area
CN101473438A (zh) 具有单个接口的混合存储器设备
US20020024088A1 (en) Non-volatile semiconductor memory device
US7356434B2 (en) Method of specifying pin states for a memory chip
US20050265106A1 (en) Compact decode and multiplexing circuitry for a multi-port memory having a common memory interface
CN106066833A (zh) 存取多端口存储器模块的方法及相关的存储器控制器
CN101231616B (zh) 存储器共享方法
US20030179637A1 (en) Flexible integrated memory
US7743221B2 (en) Memory sharing method for sharing SRAM in an SOC device
US6324122B1 (en) RAM synchronized with a signal
CN101937703B (zh) 用于具有新型位单元实施的寄存器堆的装置
JP3060812B2 (ja) 情報処理装置
US9773543B1 (en) Effective clamshell mirroring for memory interfaces
US7356746B2 (en) Embedded testing circuit for testing a dual port memory
KR20070080044A (ko) 멀티 뱅크 반도체 메모리 장치 및 그 병렬 비트 테스트방법
US20030051106A1 (en) Multi-memory architecture and access controller therefor
JP2005332506A (ja) メモリテスト装置
JP2005129220A (ja) 半導体メモリのレイアウト方法及び半導体メモリ
JPH0989994A (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
C14 Grant of patent or utility model
GR01 Patent grant
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20160516

Address after: Hefei City, Anhui province 230000 Wangjiang Road No. 800 building 10 layer A3 Innovation Industrial Park

Patentee after: Smart technology (Hefei) Co., Ltd.

Address before: Hsinchu Science Park, Taiwan, China

Patentee before: MediaTek.Inc

CP01 Change in the name or title of a patent holder

Address after: Hefei City, Anhui province 230000 Wangjiang Road No. 800 building 10 layer A3 Innovation Industrial Park

Patentee after: Hefei Jie FA Technology Co., Ltd.

Address before: Hefei City, Anhui province 230000 Wangjiang Road No. 800 building 10 layer A3 Innovation Industrial Park

Patentee before: Smart technology (Hefei) Co., Ltd.

CP01 Change in the name or title of a patent holder