CN103902013A - 存储器控制装置及方法 - Google Patents

存储器控制装置及方法 Download PDF

Info

Publication number
CN103902013A
CN103902013A CN201310039110.4A CN201310039110A CN103902013A CN 103902013 A CN103902013 A CN 103902013A CN 201310039110 A CN201310039110 A CN 201310039110A CN 103902013 A CN103902013 A CN 103902013A
Authority
CN
China
Prior art keywords
address
group
mapping
address group
configuration
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
CN201310039110.4A
Other languages
English (en)
Other versions
CN103902013B (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.)
Industrial Technology Research Institute ITRI
Original Assignee
Industrial Technology Research Institute ITRI
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 Industrial Technology Research Institute ITRI filed Critical Industrial Technology Research Institute ITRI
Publication of CN103902013A publication Critical patent/CN103902013A/zh
Application granted granted Critical
Publication of CN103902013B publication Critical patent/CN103902013B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40615Internal triggering or timing of refresh, e.g. hidden refresh, self refresh, pseudo-SRAMs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40622Partial refresh of memory arrays
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/401Indexing scheme relating to cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C2211/406Refreshing of dynamic cells
    • G11C2211/4067Refresh in standby or low power modes
    • 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)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Dram (AREA)
  • Memory System (AREA)

Abstract

一种存储器控制装置及方法,用以控制具有部分阵列自我更新(Partial Array Self Refresh,PASR)功能且具有多个存储段的存储器。根据一实施范例,存储器控制装置包括PASR组态缓存器、地址映射器、地址译码器以及地址选择器。PASR组态缓存器存储PASR组态。地址映射器依据地址偏移将输入地址组转换成映射地址组,映射地址组包括连续或落于限定范围内的至少一映射地址。地址译码器在写入时更新PASR组态。地址选择器在休眠或待命模式时,依据PASR组态缓存器产生更新地址组以设定存储器的至少一模式缓存器,以让存储器自我更新对应的至少一存储段。

Description

存储器控制装置及方法
技术领域
本发明是关于一种存储器控制装置,用以控制具有部分阵列自我更新(Partial Array Self Refresh,PASR)功能的存储器的存储器控制装置。
背景技术
便携设备功能持续增加,效能与电池续航力也必须对应地提升。设计这些装置中面临如何降低功耗使其延长电池寿命及待机时间的问题。从另一趋势来看,智能手机市场同时也带动存储器出货量的成长。在未来便携设备的存储器容量需求将愈来愈大,因此如何降低存储器功耗课题更加受到重视。
对于便携设备的存储器功耗,目前尚未存在有效地利用部分阵列自我更新(Partial Array Self Refresh,PASR)功能降低存储器功耗的技术。
发明内容
本发明提供了配置于一计算器的一种存储器控制装置,其用以控制计算器中具有部分阵列自我更新(Partial Array Self Refresh,PASR)功能且具有多个存储段(segment)的存储器。计算器可操作于一正常模式以及一休眠或待命模式(sleep or standby mode)。
根据一实施范例,存储器控制装置包括一PASR组态缓存器(PASRconfiguration register)、一地址映射器(address remapper)、一地址译码器以及一地址选择器(address selector)。
PASR组态缓存器用以存储一PASR组态,PASR组态包括多个PASR组态位,且PASR组态位与存储段分别对应。地址映射器用以接收一输入地址组,将输入地址组转换成一映射地址组(mapped address set),并输出映射地址组。其中映射地址组包括连续或落于一限定范围内的至少一映射地址。
根据一实施范例,地址映射器在正常模式时接收输入地址组以及一地址偏移(address offset)。而地址映射器可依据地址偏移将输入地址组转换成映射地址组。
地址译码器耦接于PASR组态缓存器以及地址映射器。地址译码器用以在正常模式时接收映射地址组以及PASR组态,依据映射地址组去更新PASR组态,且将更新完的PASR组态回存于PASR组态缓存器。地址选择器耦接存储器、PASR组态缓存器以及地址映射器。地址选择器用以在正常模式时,接收映射地址组并据以产生用以存取存储器的一更新地址组。地址选择器用以在休眠或待命模式时,接收更新完的PASR组态并据以产生更新地址组。地址选择器并依据更新地址组设定存储器的至少一模式缓存器,以让存储器自我更新PASR组态对应的至少一个存储段。
根据另一实施范例,地址映射器用以在正常模式时接收输入地址组、多个预设地址以及多个查找地址,依据输入地址组、预设地址以及这些查找地址将输入地址组转换成映射地址组,并输出映射地址组。其中映射地址组包括连续或落于限定范围内的至少一个映射地址。
地址译码器耦接于PASR组态缓存器以及地址映射器。地址译码器用以在正常模式时接收输入地址组以及PASR组态,并依据输入地址组以及PASR组态更新PASR组态,且将更新完的PASR组态回存于PASR组态缓存器。
地址选择器耦接存储器、PASR组态缓存器以及地址映射器。地址选择器用以在正常模式时,接收映射地址组并据以产生用以存取存储器的更新地址组。且地址选择器用以在休眠或待命模式时,接收更新完的PASR组态并据以产生更新地址组,并依据更新地址组设定存储器的至少一个模式缓存器,以让存储器自我更新对应的至少一个存储段。
根据又一实施范例,存储器控制装置包括一备份存储单元、一休眠标识、PASR组态缓存器、一控制器、地址译码器以及地址选择器。休眠标识用以记录包含存储器的计算器是否处在休眠或待命模式或是正常模式。PASR组态缓存器用以存储PASR组态,PASR组态包括多个PASR组态位,PASR组态位与存储段分别对应。控制器耦接存储器、休眠标识、地址选择器、地址译码器以及备份存储单元。控制器用以在休眠或待命模式时,产生用来存取存储器的控制器输出地址组,并将控制器输出地址组对应的至少一个存储段的内容复制到备份存储单元。
地址译码器耦接于休眠标识、控制器以及PASR组态缓存器。地址译码器用以在休眠或待命模式时更新PASR组态中与控制器输出地址组对应的至少一个PASR组态位,并将更新完的PASR组态回存于PASR组态缓存器。地址选择器耦接存储器、PASR组态缓存器以及控制器。
地址选择器耦接存储器、PASR组态缓存器以及控制器。地址选择器用以在休眠或待命模式时,接收控制器输出地址组或更新完的PASR组态并据以产生更新地址组,以让存储器依据更新地址组自我更新PASR组态对应的至少一个存储段。
此外,本发明并提供一存储器控制方法,用以控制计算器中具有PASR功能的存储器。其中计算器可操作在正常模式以及休眠或待命模式,存储器包括多个存储段。存储器控制方法包括以下步骤。接收输入地址组。将输入地址组转换成映射地址组,其中映射地址组包括连续或落于限定范围内的至少一个映射地址。
当在正常模式时,存储器控制方法执行以下步骤。依据映射地址组更新PASR组态,其中PASR组态包括多个PASR组态位,这些PASR组态位与存储段分别对应。将更新完的PASR组态回存。依据映射地址组产生用以存取存储器的更新地址组。
而当在休眠或待命模式时,存储器控制方法执行以下步骤。依据更新完的PASR组态产生更新地址组。依据更新地址组设定存储器的至少一个模式缓存器。依据模式缓存器让存储器自我更新PASR组态对应的至少一个存储段。
综上所述,可以通过将写入数据集中存放于连续或限定范围的存储段,或是通过备份数据的方式,减少休眠或待命模式时需要进行自我更新的存储段或存储组的数量,进而降低存储器在计算器休眠或待命模式所耗费的功耗。
附图说明
图1为一实施范例的存储器控制装置的方块示意图。
图2为一实施范例的存储器控制装置的方块示意图。
图3A为一实施范例的地址映射器的示意图。
图3B为一实施范例的地址映射器的示意图。
图3C为一实施范例的地址映射器的示意图。
图3D为一实施范例的地址映射器的示意图。
图4A为一实施范例的存储器地址存取及输入地址组的示意图。
图4B为一实施范例的存储器地址存取及映射地址组的示意图。
图5A为一实施范例的地址译码器的示意图。
图5B为一实施范例的地址译码器的示意图。
图5C为一实施范例的地址译码器的示意图。
图6为一实施范例的地址选择器的示意图。
图7为一实施范例的存储器控制装置的方块示意图。
图8为一实施范例的存储器控制装置的方块示意图。
图9A为一实施范例的地址映射器的示意图。
图9B为一实施范例的地址映射器的示意图。
图9C为一实施范例的地址映射器的示意图。
图9D为一实施范例的地址映射器的示意图。
图10A为一实施范例的地址译码器的示意图。
图10B为一实施范例的地址译码器的示意图。
图10C为一实施范例的地址译码器的示意图。
图11为一实施范例的地址选择器的示意图。
图12为一实施范例的地址映射器的示意图。
图13为一实施范例的存储器控制方法的流程示意图。
图14为一实施范例的步骤S120的流程示意图。
图15为一实施范例的步骤S120的流程示意图。
图16为一实施范例的步骤S120的流程示意图。
图17为一实施范例的步骤S120的流程示意图。
图18为一实施范例的步骤S120的流程示意图。
图19为一实施范例的步骤S120的流程示意图。
图20为一实施范例的步骤S120的流程示意图。
图21为一实施范例的步骤S170的流程示意图。
图22为一实施范例的存储器控制装置的方块示意图。
图23为一实施范例的存储器控制装置的方块示意图。
图24为一实施范例的地址译码器的示意图。
图25为一实施范例的地址选择器的示意图。
【主要元件符号说明】
30                存储器控制装置;
31                PASR组态缓存器;
32                地址映射器;
321               第一运算单元;
322               第一与门;
323               屏蔽缓存器;
324_1~324_m×n   第二与门;
325               第一译码器;
326_1~326_m      第一或门;
327_1~327_m      第三与门;
328               第二或门;
329               第一加法器;
33                地址译码器;
331               第一多任务器;
34                地址选择器;
341_1~341_m      第四与门;
342_1~342_n      第五与门;
343               第二多任务器;
344               第三多任务器;
35                控制器;
40                存储器;
41、41_1~41_m    存储组;
42、42_1~42_n    存储段;
43                模式缓存器;
50                处理器;
52                外部总线;
60                储器控制装置;
61                PASR组态缓存器;
62                地址映射器;
621               查找缓存器;
622               映射缓存器;
623               第四多任务器;
624               第五多任务器;
625               屏蔽缓存器;
626               第一译码器;
627_1~627_8      第一或门;
628_1~628_8      第三与门;
629               第二或门;
620               第一加法器;
63                地址译码器;
631               第一多任务器;
64                地址选择器;
641_1~641_m      第四与门;
642_1~642_n      第五与门;
643               第二多任务器;
644               第三多任务器;
65                控制器;
71                PASR组态缓存器;
72                地址映射器;
721               查找缓存器;
722               映射缓存器;
723_1             第六多任务器;
723_2             第七多任务器;
723_3             第八多任务器;
724               屏蔽缓存器;
725_1~725_64     第六与门;
726               第一译码器;
727_1~727_8      第一或门;
728_1~728_8      第三与门;
729               第二或门;
720               第一加法器;
80                存储器控制装置;
81                PASR组态缓存器;
83                地址译码器;
831               第一多任务器;
84                地址选择器;
841_1~841_m      第四与门;
842_1~842_n      第五与门;
843               第二多任务器;
844               第三多任务器;
85                控制器;
86                备份存储单元;
87                休眠标识;
88                屏蔽缓存器;
c_addr            控制器输出地址组;
in_addr           输入地址组;
re_addr           映射地址组;
re_addr1          转送的映射地址组;
u_addr            更新地址组;
op_out            运算输出信号;
addr_offset       地址偏移;
p_config          PASR组态;
p_config1         PASR组态更新信号;
m_config          屏蔽组态;
s_config          映射组态;
s_config1         映射组态更新信号;
1st_default       第一预设信号;
2nd_default       第二预设信号;
3rd_default       第三预设信号;
WR                读写信号;
match             匹配信号;
add_out           更新存储组个数;
reset             重置信号;
w_data            写入数据;
r_data            读取数据;
ctrl              控制信号;
status            状态信号;
access_data       存取数据。
具体实施方式
以下在实施方式中详细叙述本发明的详细特征以及优点,其内容足以使本领域技术人员了解本发明的技术内容并据以实施,且根据本说明书所揭露的内容、权利要求及附图,任何本领域技术人员可轻易地理解本发明相关的目的及优点。
本发明提供一种存储器控制装置,其用以控制具有部分阵列自我更新(Partial Array Self Refresh,PASR)功能且具有多个存储段(segment)的存储器。
首先请参照「图1」,其为一实施范例的存储器控制装置的方块示意图。根据一实施范例,存储器控制装置30包括一PASR组态缓存器(PASRconfiguration register)31、一地址映射器(address remapper)32、一地址译码器33以及一地址选择器(address selector)34。存储器40可以例如是具有PASR功能的动态随机存取存储器(Dynamic Random AccessMemory,DRAM)、同步动态随机存取存储器(Synchronous DynamicRandom Access Memory,SDRAM)或是混合动态随机存取存储器及静态随机存取存储器(Static Random Access Memory,SRAM)。
存储器控制装置30以及存储器40可配置于一计算器(computer),计算器可以是可携式(portable)或是不可携式;且计算器可操作于一正常模式以及一休眠或待命模式(sleep or stand-by mode,或sleep or idle mode)。
PASR组态缓存器31用以存储一PASR组态p_config。PASR组态p_config包括多个PASR组态位,且这些PASR组态位与存储器40的存储段42分别对应。更详细地说,存储段42可以是存储器40所使用的最小存取单位,而这些PASR组态位分别与这些存储器40的最小存取单位对应。
PASR组态位的值可以是0或1,一般而言,PASR组态位的值为0代表对应的存储段42在有包含存储器40及存储器控制装置30的计算器进入休眠或待命模式时需要进行自我更新,PASR组态位的值为1代表对应的存储段42在进入休眠或待命模式时不需要进行自我更新。此外,PASR组态缓存器31也可以以有限状态机(Finite State Machine,FSM)实现。
地址映射器32耦接于地址译码器33及地址选择器34。地址映射器32在正常模式时接收一输入地址组(input address set)in_addr,且输入地址组in_addr可包括至少一输入地址,表示原先预定将数据写入哪一个存储段42。地址映射器32将输入地址组in_addr转换成一映射地址组(mappedaddress set)re_addr,并输出映射地址组re_addr。其中映射地址组re_addr包括连续或落于一限定范围内的至少一映射地址。
根据一实施范例,地址映射器32可以是利用一算术逻辑(ArithmeticLogic)电路实现。地址映射器32在正常模式时接收输入地址组in_addr以及一地址偏移(address offset)addr_offset。而地址映射器32可依据地址偏移address_offset将输入地址组in_addr转换成映射地址组re_addr。在本实施范例中,所有PASR组态位的初始值可以是1;代表存储器40刚启动时所有的存储段42中都还没有存储数据,因此都不需执行自我更新。
地址译码器33耦接于PASR组态缓存器31以及地址映射器32。地址译码器33用以在写入数据时接收映射地址组re_addr以及PASR组态p_config,依据映射地址组re_addr输出PASR组态更新信号p_config1去更新PASR组态缓存器31目前内存的PASR组态p_config。在地址映射器32产生映射地址组re_addr之后,地址译码器33也可依据输入地址组in_addr被映射的情况输出PASR组态更新信号p_config1去更新PASR组态缓存器31目前内存的PASR组态p_config,进而控制哪些存储段42需要在计算器进入休眠或待命模式时进行自我更新。
地址选择器34耦接存储器40、地址映射器32以及PASR组态缓存器31。地址选择器34在计算器处于正常模式时,接收映射地址组re_addr并据以产生用以存取存储器40的一更新地址组u_addr。地址选择器34在休眠或待命模式时,接收更新完的PASR组态p_config并据以产生更新地址组u_addr。地址选择器34并设定存储器40的至少一模式缓存器43,以让存储器40自我更新对应的至少一个存储段42。
简而言之,地址映射器32可以被用来产生用以存取存储器40的地址。且通过产生连续或是落于限定范围内的映射地址组re_addr,使得数据能被写入连续的存储段42或是特定的存储段42。因此就存储器40整体来看,数据会被集中在特定的一个或多个存储段42。因此其余未写入任何数据的存储段42不需在休眠或待命模式中进行自我更新,而可予以断电以节省存储器40在系统休眠或待命模式中的功率消耗。
根据一实施范例,存储器控制装置30另可包括一控制器35,如「图2」所示。控制器35可耦接存储器40、地址映射器32以及地址选择器34。存储器40可包括m个存储组(bank)41_1到41_m(以下简称存储组41),一个存储组41可包括n个存储段42_1到42_n,其中m与n都是大于1的正整数。
控制器35可用以从地址映射器32接收映射地址组re_addr,并输出转送的映射地址组re_addrl,以将接收的映射地址组re_addr转送给地址选择器34。地址选择器34在正常模式时,接收转送的映射地址组re_addrl并据以产生用以存取存储器40的更新地址组u_addr。而在休眠或待命模式时,地址选择器34可接收更新完的PASR组态p_config并据以产生更新地址组u_addr,以设定存储器40的模式缓存器43以让存储器40自我更新对应的至少一个存储段42。
且控制器35可在计算器于正常模式时对存储器40进行数据的读写。换句话说,存储器40在进行一般性的数据写入或读取时都是属于正常模式。控制器35可具有一般的一地址队列(queue)、一命令队列、一写入数据队列、一读取数据队列、一存储器有限状态机控制单元、一地址产生器、一命令产生器、一写入数据先进先出(First In First Out,FIFO)缓冲器以及一读取数据FIFO缓冲器。
存储器控制装置30可通过一外部总线(bus)52与一处理器50耦接,并从处理器50接收输入地址组in_addr以及一读写信号WR。依据读写信号WR,可将存储器40设定成正常模式下的一写入模式或是一读取模式。需注意的是,正常模式以及休眠或待命模式为计算器的工作模式;而写入模式以及读取模式为存储器40的工作模式。
存储器控制装置30并可通过外部总线52从处理器50接收一写入数据w_data的信号、一控制信号ctrl以及一重置信号reset;也可通过外部总线52将一读取数据r_data的信号以及一状态信号status传送给处理器50。而处理器50可以是一中央处理器(Central Processing Unit,CPU)。
请参照「图3A」,其为一实施范例的地址映射器的示意图。在本实施范例中,地址映射器32可包括一第一运算单元321。第一运算单元321可以用以将输入地址组in_addr以及地址偏移addr_offset相加成为映射地址组re_addr,并将映射地址组re_addr输出给控制器35。如此一来,输入地址组in_addr会经由平移(shift)或旋转(rotation)运算被转换成映射地址组re_addr。
其中第一运算单元321可以以组合电路(combinational circuit)的方式实现;更进一步地说,第一运算单元321可以是一个加法器(adder)。若以实现为加法器,可不管进位或溢位,只留下与输入地址组in_addr和地址偏移addr_offset相同的位计数。且输入地址组in_addr可以是处理器50用以存取存储器40用的一控制地址组,或是只是控制地址组的一部分。
例如控制地址组中的每一控制地址的长度可能是16位,但可以只取其中用以指定存储段42的最后10位或6位进行运算。且第一运算单元321也可以从运算得到映射地址组re_addr中只取部分的位提供控制器35。假设存储器40中一共有64个存储段42,则只需要6位的地址就可以特定任何一个存储段42,因此地址映射器32最终可以只输出6位的映射地址组re_addr。
第一运算单元321并可将输入地址组in_addr的部分信号作为其余给控制器35的控制地址。假设控制地址的长度是16位,而依据上述方式得到6位的映射地址组re_addr。第一运算单元321可从输入地址组in_addr中取出位置不与映射地址组re_addr对应的10位,并将取出的10位补入映射地址组re_addr作为输出给控制器35的控制地址。
而地址偏移addr_offset可以依据存储器40的系统配置,或是依据计算器使用的操作系统开机及执行的应用程序而定(例如,Android操作系统及An3DBenchXL应用程序)。举例而言,如「图4A」上方所示,Android操作系统开机(booting)时将存取存储器40的存储组B0、B5、B6以及B7内的数据。而存储组B0、B5、B6以及B7可对应「图2」中的存储组41_1、41_6、41_7以及41_8(图中未标记存储组41_6到41_8,但可理解为存储组41_1到41_n之间的3个存储组41)。
而如「图4B」上方所示,在执行开机及执行An3DBenchXL之后,存储器40的存储组B0、B4、B5、B6以及B7则会被存取。而存储组B0、B4、B5、B6以及B7可对应「图2」中的存储组41_1、41_5、41_6、41_7以及41_8(图中未标记存储组41_5到41_8,但可理解为存储组41_1到41_n之间的4个存储组41)。从「图4A」以及「图4B」可知,我们可以将用以存取存储器40地址做地址偏移运算使其数据能集中在连续的存储组41或存储段42。当计算器进入休眠或待命模式时,存储器40能够有机会自我更新较少数目的存储段42。
举例而言,如「图4A」下方所示,若存储器40地址0x0~0x3及0x8~0xF地址范围内有存储数据而存储器40地址0x4~0x7地址范围内没有存储数据;地址偏移运算所使用的地址偏移addr_offset能被设定为0xF-0x3=0xC。则映射地址组re_addr的各映射地址等于输入地址组in_addr的各输入地址加上0xC。如此一来,存储器40中0x0~0x3地址范围所占的存储器区域就会被空出来(如「图4B」下方所示),而存储器40中0xC~0xF及0x4~0xB则会拿来存储数据。因此,存储器40中0x0~0x3地址范围所占的存储器区域则不需要在计算器进入休眠或待命模式时进行自我更新。
虽然实现第一运算单元321时可能会需要较多的逻辑门(logic gate),但由于第一运算单元321可以以算术逻辑运算的方式直接产生映射地址组re_addr,因此可以快速地得到映射地址组re_addr而较不会有运算延迟(delay)。
请参照「图3B」,其为一实施范例的地址映射器的示意图。在本实施范例中,地址映射器32除了第一运算单元321之外,还包括一第一与门(AND gate)322。第一与门322可用以将第一运算单元321的运算输出信号op_out与一第一预设信号1st_default进行及运算(AND operation),并将及运算的结果作为映射地址组re_addr,再将映射地址组re_addr输出给控制器35。其中第一预设信号1st_default是用以设定映射地址组re_addr的位数。例如若要取4位的映射地址组re_addr时,可将第一预设信号1st_default设为0xF;若要取8位的映射地址组re_addr时,可将第一预设信号1st_default设为0xFF。
且如上所述,存储器控制装置30可依据读写信号WR得知存储器40是否要被写入数据。以下都假设若读写信号WR的值为1时表示写入模式,若读写信号WR的值为0时表示读取模式。在存储器40写入时,地址映射器32可根据输入地址组in_addr及地址偏移产生连续或是落于限定范围内的映射地址组。控制器35并将写入数据w_data写入映射地址组re_addr对应的至少一个存储段42,使得数据被集中写入于特定的存储段42。而在存储器40读取时,也可先由地址映射器32产生对应于输入地址组in_addr的映射地址组re_addr,再由控制器35从映射地址组re_addr对应的至少一个存储段42读取所需的读取数据r_data。
接着请配合参照「图5A」,其为一实施范例的地址译码器的示意图。地址译码器33可包括一第一多任务器331,用以在写入时依据映射地址组re_addr输出PASR组态更新信号p_config1去更新PASR组态缓存器31目前内存的PASR组态p_config。另外,第一多任务器331依据映射地址组re_addr、PASR组态p_config以及读写信号WR去更新PASR组态,其中读写信号WR用以表示现在是正常模式下的写入模式或是读取模式。而以下所述的「在写入时」以及「在读取时」均是表示「当存储器40处于写入模式时」以及「当存储器40处于读取模式时」。
更新完的每一个PASR组态位可以是一第二预设信号2nd_default,或是对应的更新前的PASR组态位。若PASR组态位的值为0代表对应的存储段42在计算器进入休眠或待命模式时需要进行自我更新,可将第二预设信号2nd_default设为0。由于在写入模式时控制器35接着会将写入数据w_data写入映射地址组re_addr所对应的存储器40的存储段42,因此与映射地址组re_addr对应的所有PASR组态位都需改为0。因此在写入模式时,对应映射地址组re_addr的更新完的PASR组态位的值被设为0,不对应映射地址组re_addr的更新完的PASR组态位的值则仍为更新前的PASR组态位的值。
举例而言,假设输入地址组in_addr具有一个输入地址0x00,经映射后得到映射地址为0x0C。若在写入时,则将映射地址0x0C所特定的存储段42所对应的PASR组态位的值更新为0。
而在读取模式时,由于不会改变任何存储段42存储的内容,因此当读写信号WR为0时可以不更新PASR组态p_config。
请参照「图3C」以及「图5B」,其为一实施范例的地址映射器以及地址译码器的示意图。在本实施范例中,地址映射器32除了第一运算单元321以及第一与门322之外,另可包括一屏蔽缓存器(mask register)323以及(m×n)个第二与门324_1~324_m×n。屏蔽缓存器323可用以存储一屏蔽组态m_config,屏蔽组态可包括多个屏蔽组态位,如「图3C」中的位b_1~b_m×n。屏蔽组态位与PASR组态位分别对应,并用以表示对应的PASR组态位或存储段42是否允许映射。在下述说明中,值为0的屏蔽组态位表示对应的PASR组态位或存储段42允许映射,而值为1的屏蔽组态位表示不允许映射。
由于存储器40中可能有特定区域用以存储操作系统的开机程序或是修复程序等存放位置不该被更改的特殊数据,因此可对应存储这种数据的存储段42设定屏蔽组态m_config。根据一实施范例,存储器40可以包括m个存储组41,且每一个存储组41可包括n个存储段42,其中m与n是正整数。而PASR组态位、屏蔽组态位以及所有的存储段42可以互相分别对应。因此单一个PASR组态位或屏蔽组态位可以指定其中一个存储组41的其中一个存储段42。
而(m×n)个第二与门324_1~324_m×n可用以将所有对应的PASR组态位以及反向(NOT)的屏蔽组态位进行及运算;且(m×n)个第二与门324_1~324_m×n的输出可用以控制第一运算单元321。换句话说,在写入时,第一运算单元321可依据这(m×n)个第二与门324_1~324_m×n的及运算结果将输入地址组in_addr以及地址偏移addr_offset相加成为映射地址组re_addr。
类似地,地址译码器33的第一多任务器331也可依据映射地址组re_addr、读写信号WR以及(m×n)个第二与门324_1~324_m×n的及运算结果输出PASR组态更新信号p_config1去更新PASR组态缓存器31目前内存的PASR组态p_config。
因此在写入时,地址映射器32可先判断每个输入地址对应的屏蔽组态位的值是否为1。若对应的屏蔽组态位的值为1,表示对应的存储段42不允许映射,因此输出的映射地址会与输入地址相同。对于同时与映射地址以及值为1的屏蔽组态位所对应的PASR组态位,由于其对应的存储段42接着会写入数据w_data,因此此PASR组态位会被设为0。
而若对应的屏蔽组态位的值为0,表示对应的存储段42允许映射;地址映射器32可进行映射并可能输出与输入地址不同的映射地址。对于同时与映射地址以及值为0的屏蔽组态位所对应的PASR组态位,由于其对应的存储段42接着会写入数据w_data,因此此PASR组态位也会被设为0。另外,屏蔽缓存器323可由存储器40外部的其他单元去设定其存储的屏蔽组态。
请参照「图3D」以及「图5C」,其为一实施范例的地址映射器以及地址译码器的示意图。
在本实施范例中,地址映射器32另可包括一第一译码器325、m个第一或门(OR gate)326_1~326_m、m个第三与门327_1~327_m、一第二或门328以及一第一加法器329。而这些另外包括的元件可组成一判断电路,用以判断目前已被写入有数据的存储组41的个数是否已大于一门限值。
第一译码器325可用以依据输入地址组in_addr产生一译码地址组,其中第一译码器325的输入位个数以及输出位个数可依据m进行设定。在本实施范例中,第一译码器325可以是3位转8位的译码器。
m个第一或门326_1~326_m可用以将反向的属于相同的存储组41的n个存储段42所对应的n个PASR组态位进行或运算(OR operation)。例如第一或门326_1可对应第一个存储组41;而若第一个存储组41中的任一存储段42对应的PASR组态位是0就表示第一个存储组41中已被写入,而需在计算器进入休眠或待命模式时进行自我更新。第一加法器329可用以将这m个第一或门326_1~326_m的或运算结果相加成为一更新存储组个数add_out,以表示目前有几个存储组41中存有数据而需在计算器进入休眠或待命模式时进行自我更新。
m个第三与门327_1~327_m可用以分别将这m个第一或门326_1~326_m的或运算结果与译码地址组进行及运算。第二或门328则可用以将这m个第三与门327_1~327_m的及运算结果进行或运算成为一匹配信号match。若匹配信号match的值为0,以表示输入地址组in_addr对应到的存储组41尚未存储任何数据;若匹配信号match的值为1,则表示输入地址组in_addr对应到已存有数据的存储组41。
第一运算单元321可依据匹配信号match以及更新存储组个数add_out,将输入地址组in_addr以及地址偏移addr_offset相加成为映射地址组re_addr。类似地,地址译码器33的第一多任务器331可依据映射地址组re_addr、读写信号WR、匹配信号match、更新存储组个数add_out以及屏蔽组态m_config去输出PASR组态更新信号p_config1去更新PASR组态缓存器31目前内存的PASR组态p_config。
更详细地说,地址映射器32可先依据匹配信号match判断个别输入地址是否对应到已存有数据的存储组41。若是,则不需进行映射,可直接将输入地址作为映射地址,并将对应的PASR组态位设为0。反之若匹配信号match的值是0,则进一步判断更新存储组个数add_out是否大于门限值。地址译码器33可先依据匹配信号match判断个别输入地址是否对应到已存有数据的存储组41。若是,可直接将输入地址作为映射地址。若更新存储组个数add_out小于门限值,也可直接将输入地址作为映射地址,地址译码器33并将对应的PASR组态位设为0。
但若更新存储组个数add_out大于或等于门限值,表示目前已有相当程度的存储组41已被使用。为了减少使用的存储组41个数,可将输入地址映射到对应于已使用的存储组41的映射地址,地址译码器33再将对应于此映射地址的PASR组态位设为0。换句话说,映射地址可以都落在已使用的存储组41所对应的限定范围。
根据一实施范例,可将这m个第一或门326_1~326_m的或运算结果直接提供给地址映射器32。地址映射器32可依据这m个第一或门326_1~326_m的或运算结果得知各存储组41的使用情形,再据以决定是否要进行映射。例如假设想要将未使用的存储段42集中在低地址区域,则可将限定范围设定成相反的高地址区域。若有输入地址对应到低地址区域,就将输入地址映射成对应高地址区域的映射地址,再将写入数据w_data写入高地址区域。
请参照「图6」,其为一实施范例的地址选择器的示意图。地址选择器34可在计算器处于正常模式(存储器40处于读取模式或写入模式)时接收映射地址组re_addr,并输出更新地址组u_addr以对存储器40进行存储器存取。而在计算器处于休眠或待命模式时,地址选择器34可依据PASR组态产生更新地址组u_addr。且根据更新地址组u_addr,地址选择器34可设定存储器40的至少一个模式缓存器43以让存储器40自我更新对应的至少一个存储段42。
地址选择器34可包括m个第四与门341_1~341_m(也统称第四与门341)、n个第五与门342_1~342_n(也统称第五与门342)、一第二多任务器343以及一第三多任务器344。
m个第四与门341_1~341_m可用以将属于相同的存储组41的n个存储段42所对应的n个更新完的PASR组态位进行及运算。当一个存储组41中有任何存储段42对应的更新完的PASR组态位的值为0时(表示需要自我更新),此存储组41对应的第四与门341的输出就会是0。
n个第五与门342_1~342_n可用以将m个存储组41中属于相同的存储段42的一索引(index)的m个存储组41所对应的m个更新完的PASR组态位进行及运算。换句话说,第i个第五与门342可将每个存储组41中的第i个存储段42(共m个)所对应的m个更新完的PASR组态位进行及运算(其中i为整数且1≤i≤n)。例如当所有存储组41的第i个存储段42之中有任何一个其对应的更新完的PASR组态位的值为0时,第i个存储段42对应的第五与门342的输出就会是0。
第二多任务器343可用以依据这m个第四与门341_1~341_m以及这n个第五与门342_1~342_n的及运算结果,输出一第一信号。而第三多任务器344可用以依据第一信号以及映射地址组re_addr产生更新地址组u_addr。其中更新地址组u_addr可包括至少一更新地址。地址选择器34用以在正常模式时,接收映射地址组re_addr并据以产生用以存取存储器40的控制地址组。而在休眠或待命模式时,地址选择器34接收第二多任务器343的输出信号并据以产生更新地址组u_addr,以设定存储器40的至少一个模式缓存器43以让存储器40自我更新对应的至少一个存储段42。
通过这些元件,存储器控制装置30可根据PASR组态p_config得知各个存储组41以及存储段42的设定信息,并可通过地址选择器34与控制器35设定执行PASR功能的命令。控制器35并可发送执行PASR功能的命令给存储器40,以使存储器40进入一PASR模式并依据更新地址组u_addr去设定存储器40的至少一个模式缓存器43以执行自我更新。
综上所述,在读取时,不会更改PASR组态p_config。在读取时,地址映射器32依据输入地址产生映射地址,地址选择器34以及控制器35依据映射地址从存储器40中读取出读取数据r_data并回传给外部总线52。
在写入时,地址映射器32依据输入地址产生映射地址,地址译码器33依据映射地址输出PASR组态更新信号p_config1以更新PASR组态缓存器31目前存储的PASR组态p_config。控制器35从外部总线52接收写入数据w_data,地址选择器34以及控制器35再依据映射地址将写入数据w_data写入存储器40中。
在休眠或待命模式时,地址选择器34依据PASR组态p_config以设定存储器40的至少一个模式缓存器43,以让存储器40自我更新对应的至少一个存储段42。控制器35并能发出命令给存储器40,以让存储器40进入PASR模式而自动更新PASR组态p_config所对应的存储段42。
接下来请参照「图7」,其为一实施范例的存储器控制装置的方块示意图。根据一实施范例,存储器控制装置60包括PASR组态缓存器61、地址映射器62、地址译码器63以及地址选择器64,且地址映射器62可以是利用查表的方式实现。
PASR组态缓存器61可存储PASR组态p_config。PASR组态p_config包括多个PASR组态位,PASR组态位与存储段42分别对应。
地址映射器62耦接于地址译码器63以及地址选择器64。地址映射器62在正常模式时接收输入地址组in_addr以及多个预设地址,依据输入地址组in_addr将输入地址组in_addr、多个预设地址以及多个查找地址转换成映射地址组re_addr,并输出映射地址组re_addr。其中映射地址组re_addr包括连续或落于限定范围内的至少一个映射地址。
地址译码器63耦接于PASR组态缓存器61以及地址映射器62。地址译码器63用以在写入时接收输入地址组in_addr、PASR组态p_config以及映射组态,并依据输入地址组in_addr、PASR组态p_config以及映射组态输出PASR组态更新信号p_config1以更新PASR组态缓存器61目前存储的PASR组态p_config。
地址选择器64耦接存储器40、PASR组态缓存器61以及地址映射器62。计算器在正常模式时(存储器40处于读取模式或写入模式),地址选择器64接收地址组re_addr并据以产生用以存取存储器40的更新地址组u_addr。地址选择器64在计算器处于休眠或待命模式时,接收更新完的PASR组态p_config并据以产生更新地址组u_addr。地址选择器64并可依据更新地址组u_addr设定存储器40的至少一个模式缓存器43,以让存储器40自我更新对应的至少一个存储段42。
存储器控制装置60与存储器控制装置30最大的差异在于地址映射器62是以查表的方式进行地址映射。而PASR组态缓存器61、地址译码器63以及地址选择器64的运作与PASR组态缓存器31、地址译码器33以及地址选择器34类似,因此于此不再赘述。
请参照「图8」,其为一实施范例的存储器控制装置的方块示意图。
存储器控制装置60另可包括控制器65,且控制器65的运作与前述控制器35类似。控制器65可耦接地址映射器62与地址选择器64之间,并耦接存储器40。控制器65可用以从地址映射器62接收映射地址组re_addr,并将转送的映射地址组re_addr1给地址选择器64。计算器处在正常模式时(存储器40处于读取模式或写入模式),地址选择器64接收转送的映射地址组re_addr1并据以产生用以存取存储器40的更新地址组u_addr。在休眠或待命模式时,地址选择器64接收更新完的PASR组态p_config并据以产生更新地址组u_addr。地址选择器64并可依据更新地址组u_addr设定存储器40的至少一个模式缓存器43,以让存储器40自我更新对应的至少一个存储段42。
而存储器40可以包括m个存储组41,且每一个存储组41可包括n个存储段42,其中m与n是正整数。且存储段42可以是存储器40所使用的最小存取单位。
请参照「图9A」,其为一实施范例的地址映射器的示意图。地址映射器62可包括一查找缓存器621、一映射缓存器622以及一第四多任务器623。
查找缓存器621可用以存储一查找地址组,查找地址组包括至少一查找地址。查找地址可以是之前已经由地址映射器62映射得到的映射地址,被存储在查找缓存器621中以供后续读取或写入时使用。在本实施范例中,查找缓存器621可视为一个查找表(Look-Up Table,LUT);存储器控制装置60可以以输入地址作为索引查询得到对应的映射地址。
映射缓存器622可用以存储一映射组态s_config,映射组态s_config可包括多个映射组态位。映射组态位与查找地址的一索引分别对应,表示对应查找地址是否已经过映射的处理。例如当一个映射组态位为1时,表示此一映射组态位对应的查找地址是已经被映射过的,因此对应的查找地址可能不同于当初产生此查找地址的输入地址。而每个查找地址可具有一个唯一个索引,例如查找地址0x00到0x3f分别对应的索引可以1到64。
根据一实施范例,查找地址组的所有查找地址的初始值可以是与索引值相同。若地址映射器62将一个输入地址映射到映射地址,就可以将映射地址作为此输入地址对应的查找地址,并将此输入地址对应的映射组态位设为1。
第四多任务器623可用以依据映射组态位以及输入地址组in_addr将输入地址组in_addr、预设地址以及查找地址转换成映射地址组re_addr,并将映射地址组re_addr输出给控制器65。第四多任务器623另可依据映射地址组re_addr更新查找地址组,且将更新完的查找地址组回存于查找缓存器621。
其中这些预设地址可以与存储器40中的所有存储段42分别对应。例如假设m与n都是8,则一共有64个存储段42,且预设地址可以是0x00~0x3f。根据一实施范例,第四多任务器623可从预设地址中从低地址到高地址依序选择连续的地址作为新的映射地址。假设第四多任务器623收到具有0x00、0x10以及0x30三个输入地址的输入地址组in_addr,可选择0x00、0x01以及0x02作为对应的映射地址。
地址映射器62收到输入地址组in_addr时,可先依据每个输入地址对应的映射组态位判断输入地址是否之前已被映射过。若一个输入地址对应的映射组态位为1表示之前已被映射过,因此第四多任务器623可以从查找缓存器621中取出与此输入地址对应的查找地址,并将此查找地址作为映射地址输出。
若一个输入地址对应的映射组态位为0表示之前尚未被映射过,第四多任务器623可依据映射组态s_config判断目前已有哪些预设地址被使用过,并从尚未被使用过的预设地址中选择最低地址的预设地址作为映射地址输出。类似地,若多个输入地址对应的映射组态位都为0,则可从尚未被使用过的预设地址中选择连续多个最低地址的预设地址作为映射地址输出。
接着请参照「图9B」,其为一实施范例的地址映射器的示意图。地址映射器62另可包括一第五多任务器624。第五多任务器624可用以依据映射组态s_config、读写信号WR以及输入地址组in_addr去输出映射组态更新信号s_config1,以更新映射缓存器622存储的映射组态s_config。当地址映射器62接收尚未映射过的输入地址时,可产生对应的映射地址,并将此输入地址对应的映射组态位设为1作为更新。
请配合参照「图10A」,其为一实施范例的地址译码器的示意图。地址译码器63可包括第一多任务器631,并可用以依据输入地址组in_addr、映射组态s_config以及读写信号WR,去将目前存储的PASR组态p_config转换成PASR组态更新信号p_config1以更新PASR组态缓存器61目前存储的PASR组态p_config。其中更新完的每一个PASR组态位可以是第二预设信号2nd_default或是对应的更新前的PASR组态位。
在本实施范例中,所有PASR组态位的初始值可以是1;代表存储器40刚启动时所有的存储段42都不需执行自我更新,而第二预设信号2nd_default可被设为0。在写入模式时,对应映射地址组re_addr的更新完的PASR组态位的值被设为0。在读取模式时,可以不更新PASR组态p_config。
以下为地址映射的处理结果的一数值例。
假设输入地址组in_addr对应的存储组41以及存储段42如下表一:
b1 b2 b3 b4 b5 b6 b7 b8
s1 1 2 6
s2 3 4 5
s3 7 8 11
s4 12
s5 9
s6
s7 13
s8 14 10 15
(表一)
其中b1~b8表示第一个到第八个存储组41,s1~s8表示第一个到第八个存储段42,表中的1~15表示被存取的顺序。也就是说,第一个输入地址对应b1s1,第二个输入地址对应b4s1,第十五个输入地址对应b3s8,依此类推。由表一可见,若按照输入地址组in_addr将写入数据w_data写入存储器40中,每个存储组41都会被用到;从存储段42来看,也只有各存储组41的第六个存储段42都没有被用到。因此在休眠或待命模式时,各存储组41的第六个存储段42以外都需维持供电以执行PASR的功能。
但经地址映射器62产生映射地址组re_addr,并按照映射地址组re_addr将写入数据w_data写入存储器40后的结果如下表二:
b1 b2 b3 b4 b5 b6 b7 b8
s1 1 2 3 4 5 6 7 8
s2 9 10 11 12 13 14 15
s3
s4
s5
s6
s7
s8
(表二)
其中第二到五笔以及第七到十五笔的输入地址与其对应的映射地址不同。由表二可见,若从存储段42来看,只有第一至第七个存储组41的第一个以及第二个存储段42有被用到以及第八个存储组41的第一个存储段42有被用到。因此在休眠或待命模式时,可以以对应各存储组41的存储段42为单位,停止供电给所有的第三个到第八个存储段42以减少休眠或待命状态时的耗电量。
请参照「图9C」以及「图10B」,其为一实施范例的地址映射器以及地址译码器的示意图。地址映射器62另可包括屏蔽缓存器625,以保护特定的系统数据。屏蔽缓存器625可用以存储屏蔽组态m_config,而各屏蔽组态位可表示对应的PASR组态位是否允许映射。另外,屏蔽缓存器625可由外部去设定其存储的屏蔽组态。第四多任务器623可依据映射组态s_config、读写信号WR、输入地址组in_addr以及屏蔽组态m_config,将输入地址组in_addr、预设地址以及查找缓存器621转换成映射地址组re_addr。而第五多任务器624可以依据映射组态s_config、读写信号WR、输入地址组in_addr以及屏蔽组态m_config去输出映射组态更新信号s_config1,以更新映射缓存器622目前存储的映射组态s_config。
而地址译码器63可包括第一多任务器631,以依据输入地址组in_addr、读写信号WR以及屏蔽组态m_config去输出PASR组态更新信号p_config1以更新PASR组态缓存器61目前存储的PASR组态p_config。
请参照「图9D」以及「图10C」,其为一实施范例的地址映射器以及地址译码器的示意图。其中m与n都是8。地址映射器62另可包括第一译码器626、8个第一或门627_1~627_8、8个第三与门628_1~628_8、第二或门629以及第一加法器620。利用此判断电路,存储器控制装置60可只在目前已被写入有数据的存储组41的个数大于或等于门限值时,才依据预设地址产生映射地址。
第一译码器626、8个第一或门627_1~627_8、8个第三与门628_1~628_8、第二或门629以及第一加法器620的运作类似于前述第一译码器325、m个第一或门326_1~326_m、m个第三与门327_1~327_m、第二或门328以及第一加法器329,因此在此不再赘述。而地址译码器63的第一多任务器631可依据输入地址组in_addr、读写信号WR、映射组态s_config、匹配信号match以及更新存储组个数add_out去输出PASR组态更新信号p_config1,以更新PASR组态缓存器61目前存储的PASR组态p_config。
以下为地址映射的处理结果的另一数值例。
假设输入地址组in_addr对应的存储组41以及存储段42如上表一。假设更新存储组个数add_out的门限值设为4,而经地址映射器62产生映射地址组re_addr,并按照映射地址组re_addr将写入数据w_data写入存储器40后的结果如下表三:
b1 b2 b3 b4 b5 b6 b7 b8
s1 1 6 2
s2 3 4 5
s3 8 11 7
s4 12
s5 9
s6
s7 13
s8 14 10 15
(表三)
其中第六笔、第八笔、第十一笔以及第十五笔的输入地址与其对应的映射地址不同。由表三可见,由于可通过设定门限值限定存储组41的使用数目,因此被使用到的存储组41集中于b1、b2、b4以及b7。因此在休眠或待命模式时,可以直接停止供电给b3、b5、b6以及b8的存储组41以减少休眠或待命状态时的耗电量。
请参照「图11」,其为一实施范例的地址选择器的示意图。
地址选择器64可包括m个第四与门641_1~641_m、n个第五与门642_1~642_n、第二多任务器643以及第三多任务器644,其运作类似于地址选择器34的m个第四与门341_1~341_m、n个第五与门342_1~342_n、一第二多任务器343以及一第三多任务器344。地址选择器64在正常模式时,接收映射地址组re_addr并据以产生用以存取存储器40的更新地址组u_addr。地址选择器64在休眠或待命模式时,接收更新完的PASR组态p_config并据以产生更新地址组u_addr。且地址选择器64可依据更新地址组u_addr设定存储器40的至少一个模式缓存器43,以让存储器40自我更新对应的至少一个存储段42。
综上所述,在存储器40读取时,不会更改PASR组态p_config,且控制器65可依据映射地址从存储器40中读取出一存取数据access_data并作为读取数据r_data回传给外部总线52。在存储器40写入时,地址映射器62依据输入地址产生连续或落于限定范围中的映射地址,且地址译码器63依据输入地址更新PASR组态p_config。控制器35则可从外部总线52接收写入数据w_data并将其依据映射地址写入存储器40中。
在休眠或待命模式时,地址选择器64依据PASR组态p_config并据以产生更新地址组u_addr,以设定存储器40的至少一个模式缓存器43以让存储器40自我更新对应的至少一个存储段42。控制器65并能发出命令给存储器40,以让存储器40进入PASR模式而自动更新PASR组态p_config所对应的存储段42。
此外,地址映射器62以及地址译码器63的逻辑电路可以合并。「图12」中的地址映射器72可同时具有「图9D」中的地址映射器62以及「图10C」中的地址译码器63的功能。在「图12」的实施范例中,m与n都是8。
地址映射器72可耦接于PASR组态缓存器71,并可包括查找缓存器721、映射缓存器722、一第六多任务器723_1、一第七多任务器723_2、一第八多任务器723_3、屏蔽缓存器724、(8×8)个第六与门725_1~725_8×8、第一译码器726、8个第一或门727_1~727_8、8个第三与门728_1~728_8、第二或门729以及第一加法器720。
依据映射组态s_config、查找缓存器721、读写信号WR、输入地址组in_addr、预设地址、匹配信号match以及更新存储组个数add_out以及这(m×n)个第六与门725_1~725_8×8的输出,第六多任务器723_1可产生映射地址组re_addr并更新查找缓存器721。
依据映射组态s_config、输入地址组in_addr、读写信号WR、匹配信号match、更新存储组个数add_out以及这(8×8=64)个第六与门725_1~725_m×n的输出,第七多任务器723_2输出PASR组态更新信号p_config1以更新PASR组态缓存器71目前存储的PASR组态p_config。而依据映射组态s_config、读写信号WR、输入地址组in_addr、匹配信号match、更新存储组个数add_out以及这(8×8=64)个第六与门725_1~725_64的输出,第八多任务器723_3输出映射组态更新信号s_config1以更新映射缓存器722目前存储的映射组态s_config。
本发明并提供一存储器控制方法,以产生映射地址组re_addr的方式减少于休眠或待命模式时需要进行自我更新的存储组41或存储段42的个数。请先参照「图13」,其为一实施范例的存储器控制方法的流程示意图。
存储器控制装置30或60接收输入地址组in_addr(步骤S110),地址映射器32或62并将输入地址组in_addr转换成映射地址组re_addr(步骤S120)。其中映射地址组re_addr包括连续或落于限定范围内的至少一个映射地址。存储器控制装置30或60可通过标识(flag)或有限状态机的目前状态等信息判断计算器目前处于正常模式或是休眠或待命模式(步骤S130)。
当计算器处于正常模式时,可执行以下步骤S140到步骤S160。地址译码器33或63依据映射地址组re_addr更新PASR组态p_config(步骤S140),并将更新完的PASR组态p_config回存(步骤S150)。其中PASR组态p_config包括多个PASR组态位,这些PASR组态位与存储段42分别对应。且更新完的每一个PASR组态位可以是一个第二预设信号或是对应的更新前的PASR组态位。而地址选择器34或64依据映射地址组re_addr产生用以存取存储器40的更新地址组u_addr(步骤S160)。
当计算器处于休眠或待命模式时,可执行以下步骤S170到步骤S190。地址选择器34或64依据更新完的PASR组态p_config产生更新地址组u_addr(步骤S170),并依据更新地址组u_addr设定存储器40的模式缓存器43(步骤S180)。接着存储器控制装置30或60可依据模式缓存器43让存储器40自我更新PASR组态p_config对应的存储段42(步骤S190)。
根据不同实施范例,本发明对于步骤S120提供多种产生连续或落于限定范围内的映射地址的方式。以下「图14」至「图20」分别为不同实施范例的步骤S120的流程示意图。
根据一实施范例,地址映射器32可依据地址偏移addr_offset将输入地址组in_addr转换成映射地址组re_addr。例如可将输入地址组in_addr以及地址偏移addr_offset直接相加成为映射地址组re_addr。
根据「图3B」以及「图14」的实施范例,地址映射器32可先将输入地址组in_addr以及地址偏移addr_offset相加并产生一相加结果(即运算输出信号op_out)(步骤S201),再将相加结果与第一预设信号1st_default进行及运算以产生第一及运算结果,并将第一及运算结果作为映射地址组re_addr(步骤S202)。如此一来,可利用第一预设信号1st_default控制映射地址组re_addr的映射地址的位个数。
根据「图3C」以及「图15」的实施范例,存储器40包括m个存储组41,每一个存储组41包括n个存储段42,m与n是正整数,且PASR组态位的个数是(m×n)个。地址映射器32可接收屏蔽组态m_config(步骤S301),其中屏蔽组态m_config包括多个屏蔽组态位,屏蔽组态位与PASR组态位分别对应。
地址映射器32可先将对应的PASR组态位以及反向的屏蔽组态位进行及运算并产生(m×n)个第二及运算结果(步骤S302),再依据此(m×n)个第二及运算结果将输入地址组in_addr以及地址偏移addr_offset相加成为映射地址组re_addr(步骤S303)。此外,地址映射器32也可将步骤S303产生的结果再与第一预设信号1st_default进行及运算,才将此及运算的结果作为最后输出的映射地址组re_addr。
根据「图3D」以及「图16」的实施范例,地址映射器32的第一译码器325可依据输入地址组产生译码地址组(步骤S401)。第一或门326_1~326_m分别将反向的属于相同的存储组41的n个存储段42所对应的n个PASR组态位进行或运算并产生m个第一或运算结果(步骤S402)。
接着第三与门327_1~327_m分别将此m个第一或运算结果与译码地址组进行及运算并产生m个第三及运算结果(步骤S403),第二或门328再将此m个第三及运算结果进行或运算成为匹配信号match(步骤S404)。第一加法器329可将此m个第一或运算结果相加成为更新存储组个数add_out(步骤S405)。而第一运算单元321以及第一与门322可依据匹配信号match以及更新存储组个数add_out,将输入地址组in_addr以及地址偏移addr_offset相加成为映射地址组re_addr(步骤S406)。
此外,地址译码器33的第一多任务器331可依据映射地址组re_addr以及屏蔽组态m_config更新PASR组态p_config,其中更新完的每一个PASR组态位可以是第二预设信号或是对应的更新前的PASR组态位。
根据一实施范例,地址映射器62可依据输入地址组in_addr、多个预设地址以及多个查找地址将输入地址组in_addr转换成映射地址组re_addr。
根据「图9A」以及「图17」的实施范例,地址映射器62的第四多任务器623可接收包括多个查找地址的查找地址组(步骤S501),并接收具有多个映射组态位的映射组态s_config(步骤S502)。接着第四多任务器623可依据映射组态s_config的映射组态位以及输入地址组in_addr将输入地址组in_addr、预设地址以及查找地址转换成映射地址组re_addr(步骤S503),并依据映射地址组re_addr更新查找地址组(步骤S504)。
根据「图9B」以及「图18」的实施范例,在步骤S120之中除了执行上述步骤S501至步骤S504之外,地址映射器62的第五多任务器624可依据映射组态s_config的映射组态位以及输入地址组in_addr更新映射组态位(步骤S505)。
根据「图9C」以及「图19」的实施范例,地址映射器62的第四多任务器623另可接收屏蔽组态m_config(步骤S506)。第四多任务器623并可依据映射组态s_config的映射组态位、输入地址组in_addr、预设地址、查找地址以及屏蔽组态m_config,将输入地址组in_addr转换成映射地址组re_addr(步骤S503’),再依据映射地址组re_addr更新查找地址组(步骤S504)。
在「图9D」以及「图20」的实施范例,m与n等于8。地址映射器62的第一译码器626可依据输入地址组in_addr产生译码地址组(步骤S507)。第一或门627_1~627_8可分别将反向的属于相同的存储组41的n个(8个)存储段42所对应的n个PASR组态位进行或运算并产生m个(8个)第一或运算结果(步骤S508)。第三与门628_1~628_8可分别将此m个第一或运算结果与译码地址组进行及运算并产生m个第三及运算结果(步骤S509),接着第二或门629可将此m个第三及运算结果进行或运算成为匹配信号match(步骤S510)。第一加法器620则可将此m个第一或运算结果相加成为更新存储组个数add_out(步骤S511)。
而除了查找地址组以及映射组态s_config之外,地址映射器62的第四多任务器623另可接收匹配信号match以及更新存储组个数add_out,并依据映射组态位、输入地址组in_addr、匹配信号match以及更新存储组个数add_out将输入地址组in_addr、预设地址以及查找地址转换成映射地址组re_addr(步骤S503”),再依据映射地址组re_addr更新查找地址组(步骤S504)。
此外,地址译码器63的第一多任务器631可依据输入地址组in_addr、匹配信号match以及更新存储组个数add_out更新PASR组态p_config;其中更新完的每一个PASR组态位可以是第二预设信号或是对应的更新前的PASR组态位。
接着请参照「图21」,其为一实施范例的步骤S170的流程示意图,地址选择器34或64可据以产生更新地址组u_addr。
首先m个第四与门341_1~341_m或641_1~641_m可分别将属于相同的存储组41的n个存储段42所对应的n个更新完的PASR组态位进行及运算,并产生m个第四及运算结果(步骤S601)。接着第五与门342_1~342_n或642_1~642_n可分别将m个存储组41中属于相同的存储段42的索引的m个存储段42所对应的m个更新完的PASR组态位进行及运算,并产生n个第五及运算结果(步骤S602)。第二多任务器343或643可依据此m个第四及运算结果以及此n个第五及运算结果产生第一信号(步骤S603),而第三多任务器344或644可再依据第一信号以及映射地址组re_addr产生更新地址组u_addr(步骤S604)。
接下来请参照「图22」,其为一实施范例的存储器控制装置的示意图。存储器控制装置80包括PASR组态缓存器81、地址译码器83、地址选择器84、控制器85、一备份存储单元86及一休眠标识87。
PASR组态缓存器81可用以存储PASR组态p_config。PASR组态p_config包括多个PASR组态位,且PASR组态位与存储器40的存储段42分别对应。在本实施范例中,所有PASR组态位的初始值可以是0;代表存储器40刚启动时所有的存储段42都被预设为需执行自我更新。
备份存储单元86可以是非挥发性存储器,例如闪存(flash memory)或是电子可擦除可编程只读存储器(Electrically Erasable ProgrammableRead Only Memory,EEPROM)。因此即使在计算器在休眠或待命模式中停止供电给备份存储单元86,备份存储单元86中存储的数据也不会被消除。
休眠标识87可用以记录包含存储器40及存储器控制装置80的计算器是否处于正常模式或处于休眠或待命模式,而休眠标识87的值可以由处理器50所设定。例如当休眠标识87的值为0时表示计算器目前不是休眠或待命模式(可视为处于正常模式),当休眠标识87的值为1时表示计算器目前是在休眠或待命模式。
控制器85耦接存储器40、地址选择器84、地址译码器83以及备份存储单元86,也可耦接到休眠标识87。在休眠或待命模式时,控制器85可用以将一备份地址组对应的至少一个存储段42的内容复制到备份存储单元86。在休眠或待命模式时,控制器85可产生用来存取存储器40的一控制器输出地址组c_addr,并将控制器输出地址组c_addr对应的至少一个存储段42的内容复制到备份存储单元86。而在正常模式时,控制器85可接收输入地址组并据以产生用此存取存储器40的控制器输出地址组c_addr。
地址译码器83耦接于休眠标识87、控制器85以及PASR组态缓存器81。在休眠或待命模式,且需要数据从存储器40复制到备份存储单元86时,地址译码器83可输出PASR组态更新信号p_config1以更新PASR组态缓存器81目前存储的PASR组态p_config。在此情况,至少一个PASR组态位与备份地址组作对应。
地址选择器84耦接存储器40、PASR组态缓存器81以及控制器85。计算器处于正常模式时(存储器40处于读取模式或写入模式),地址选择器84接收来自控制器85的控制器输出地址组c_addr并据以产生用以存取存储器40的更新地址组u_addr。在休眠或待命模式时,地址选择器84接收控制器输出地址组或更新完的PASR组态p_config并据以产生更新地址组u_addr,以让存储器40依据更新地址组自我更新PASR组态p_config对应的至少一个存储段42。
更进一步地说,在休眠或待命模式并且需要作备份时,地址选择器84可接收控制器输出地址组c_addr并据以产生更新地址组u_addr,以依据更新地址组u_addr将至少一个存储段42的内容复制到备份存储单元86。
而在休眠或待命模式并且需要设定存储器40的至少一个模式缓存器43时,地址选择器84可接收更新完的PASR组态p_config并据以产生更新地址组u_addr。接着地址选择器84可依据更新地址组u_addr设定至少一个模式缓存器43。地址选择器84并依据更新地址组u_addr设定存储器40的至少一个模式缓存器43,以让存储器40自我更新对应的至少一个存储段42。
根据一实施范例,控制器85可以定时确认休眠标识87的值,以决定是否要将进行备份。当侦测到休眠标识87的值从0变成1时,控制器85可依据备份存储单元86的容量以及存储器40中存储的数据量对存储器40进行备份。例如当前存储器40中存储的数据量小于或等于备份存储单元86的容量时,就可将所有数据备份到备份存储单元86中,并停止供电给整个存储器40以及备份存储单元86。
若当前存储器40中存储的数据量大于备份存储单元86的容量时,控制器85可优先备份系统相关的关键数据,也可直接按照存储段42的顺序进行备份。控制器85可将已将数据备份去备份存储单元86的存储段42的地址作为备份地址组。由于存在备份存储单元86中的数据不会遗失,因此地址译码器83可将备份地址组对应的PASR组态位的值设为1,表示已完成备份的存储段42可不执行自我更新,也可以不用供电。
当侦测到休眠标识87的值再从1变成0时,表示结束休眠或待命模式。控制器85可利用备份存储单元86中的数据恢复存储段42原先存储的内容,地址译码器83也可将恢复内容的存储段42所对应的PASR组态位再度设为0。
请参照「图23」,其为一实施范例的存储器控制装置的示意图。
存储器控制装置80另可包括屏蔽缓存器88。屏蔽缓存器88可用以存储屏蔽组态m_config,且屏蔽组态m_config可包括多个屏蔽组态位。屏蔽组态位可以与PASR组态位分别对应,表示对应的PASR组态位是否允许备份。另外,屏蔽缓存器88可由外部去设定其存储的屏蔽组态m_config。若屏蔽组态位的值为1,表示对应的存储段42不允许备份,因此在计算器处于进入休眠或待命模式下得要执行自我更新。控制器85可依据屏蔽组态m_config产生备份地址组;换句话说,控制器85可依据屏蔽组态m_config决定要备份哪些存储段42。
请参照「图24」,其为一实施范例的地址译码器的示意图。
地址译码器83可包括第一多任务器831,且第一多任务器831可用以依据备份地址组更新PASR组态p_config。其中更新完的每一个PASR组态位可以是一第三预设信号3rd_default或是对应的更新前的PASR组态位。若更新完的PASR组态位是第三预设信号3rd_default,表示对应的存储段42已备份因此不需要进行自我更新。在本实施范例中,第三预设信号3rd_default为1。
接着请参照「图25」,其为一实施范例的地址选择器的示意图。
地址选择器84可包括m个第四与门841_1~841_m、n个第五与门842_1~842_n、第二多任务器843以及第三多任务器844,其运作类似于地址选择器34的m个第四与门341_1~341_m、n个第五与门342_1~342_n、一第二多任务器343以及一第三多任务器344,因此在此不再赘述。
计算器处于正常模式时(存储器40处于读取模式或写入模式),地址选择器84接收来自控制器85的控制器输出地址组c_addr并据以产生用以存取存储器40的更新地址组u_addr。地址选择器84在休眠或待命模式时,接收更新完的PASR组态p_config并据以产生更新地址组u_addr。地址选择器84,并可依据更新地址组u_addr设定存储器40的至少一个模式缓存器43,以让存储器40自我更新对应的至少一个存储段42。更进一步地说,存储器40自我更新没有被备份的存储段42。
综上所述,计算器处于正常模式,而存储器40进行一般的读取或写入时都不会更改PASR组态p_config,控制器85可依据处理器50所发出的控制信号ctrl去存取存储器40。而计算器进入休眠或待命模式时,控制器85可将至少一个存储段42的内容备份到备份存储单元86,地址选择器84依据PASR组态p_config以设定存储器40的至少一个模式缓存器43,以让存储器40自我更新对应的至少一个存储段42。控制器85并能发出命令给存储器40,以让存储器40进入PASR模式而自动更新PASR组态p_config所对应的存储段42。
上述各种实施方式乃通过将写入数据集中存放或是备份的方式,减少计算器在休眠或待命模式时需要进行自我更新的存储段42或存储组41的数量。如此一来可以降低存储器在休眠或待命模式所耗费的电力(功耗),延长配置有存储器以及存储器控制装置的计算器的待命期间。

Claims (44)

1.一种存储器控制装置,其特征在于,配置于一计算器,用以控制该计算器中具有部分阵列自我更新功能的一存储器,该计算器可操作于一正常模式以及一休眠或待命模式,该存储器包括多个存储段,该存储器控制装置包括:
一PASR组态缓存器,用以存储一PASR组态,该PASR组态包括多个PASR组态位,该些PASR组态位与该些存储段分别对应;
一地址映射器,用以接收一输入地址组,将该输入地址组转换成一映射地址组,输出该映射地址组,其中该映射地址组包括连续或落于一限定范围内的至少一映射地址;
一地址译码器,耦接于该PASR组态缓存器以及该地址映射器,用以在该正常模式时接收该映射地址组以及该PASR组态,并依据该映射地址组更新该PASR组态,且将更新完的该PASR组态回存于该PASR组态缓存器;以及
一地址选择器,耦接该存储器、该地址映射器以及该PASR组态缓存器,用以在该正常模式时,接收该映射地址组并据以产生用以存取该存储器的一更新地址组,且用以在该休眠或待命模式时,接收更新完的该PASR组态并据以产生该更新地址组,依据该更新地址组设定该存储器的至少一模式缓存器,并依据该至少一模式缓存器以让该存储器自我更新该PASR组态对应的该至少一存储段。
2.根据权利要求1所述的存储器控制装置,其特征在于,其中该地址映射器接收该输入地址组以及一地址偏移,并依据该地址偏移将该输入地址组转换成该映射地址组。
3.根据权利要求2所述的存储器控制装置,其特征在于,还包括:
一控制器,耦接该存储器、该地址映射器以及该地址选择器,用以从该地址映射器接收该映射地址组,将该映射地址组传送给该地址选择器,并用以控制及存取该存储器。
4.根据权利要求3所述的存储器控制装置,其特征在于,其中该地址映射器包括:
一第一运算单元,用以将该输入地址组以及该地址偏移相加成为该映射地址组,并将该映射地址组输出给该控制器。
5.根据权利要求3所述的存储器控制装置,其特征在于,其中该地址映射器包括:
一第一运算单元,用以将该输入地址组以及该地址偏移相加;以及
一第一与门,用以将该第一运算单元的输出信号与一第一预设信号进行及运算,将及运算的结果作为该映射地址组,并将该映射地址组输出给该控制器。
6.根据权利要求5所述的存储器控制装置,其特征在于,其中该存储器包括m个存储组,每一该存储组包括n个该些存储段,m与n是正整数,且该地址映射器还包括:
一屏蔽缓存器,用以存储一屏蔽组态,该屏蔽组态包括多个屏蔽组态位,该些屏蔽组态位与该些PASR组态位分别对应;以及
(m×n)个第二与门,用以将对应的该些PASR组态位以及反向的该些屏蔽组态位进行及运算;
其中该第一运算单元依据该(m×n)个第二与门的及运算结果将该输入地址组以及该地址偏移相加成为该映射地址组。
7.根据权利要求6所述的存储器控制装置,其特征在于,其中该地址译码器包括:
一第一多任务器,用以依据该映射地址组以及该(m×n)个第二与门的及运算结果更新该PASR组态,其中更新完的每一该PASR组态位为一第二预设信号或是对应的更新前的该PASR组态位。
8.根据权利要求5所述的存储器控制装置,其特征在于,其中该存储器包括m个存储组,每一该存储组包括n个该些存储段,m与n是正整数,该地址映射器还包括:
一第一译码器,用以依据该输入地址组产生一译码地址组;
m个第一或门,用以将反向的属于相同的该存储组的该n个存储段所对应的n个该PASR组态位进行或运算;
m个第三与门,用以分别将该m个第一或门的或运算结果与该译码地址组进行及运算;
一第二或门,用以将该m个第三与门的及运算结果进行或运算成为一匹配信号;以及
一第一加法器,用以将该m个第一或门的或运算结果相加成为一更新存储组个数;
其中该第一运算单元依据该匹配信号以及该更新存储组个数,将该输入地址组以及该地址偏移相加成为该映射地址组。
9.根据权利要求8所述的存储器控制装置,其特征在于,其中该地址译码器包括:
一第一多任务器,用以依据该映射地址组、该匹配信号以及该更新存储组个数更新该PASR组态,其中更新完的每一该PASR组态位为一第二预设信号或是对应的更新前的该PASR组态位。
10.根据权利要求1所述的存储器控制装置,其特征在于,其中该地址映射器于该正常模式时接收该输入地址组、多个预设地址以及多个查找地址,并依据该输入地址组、该些预设地址以及该些查找地址将该输入地址组转换成该映射地址组。
11.根据权利要求10所述的存储器控制装置,其特征在于,还包括:
一控制器,耦接该存储器、该地址映射器以及该地址选择器,用以从该地址映射器接收该映射地址组,将该映射地址组传送给该地址选择器,并用以控制及存取该存储器。
12.根据权利要求11所述的存储器控制装置,其特征在于,其中该地址映射器包括:
一查找缓存器,用以存储一查找地址组,该查找地址组包括该些查找地址;
一映射缓存器,用以存储具有多个映射组态位的一映射组态,该些映射组态位与该些查找地址的一索引分别对应,表示该些查找地址是否已被拿来作映射使用;以及
一第四多任务器,用以依据该些映射组态位以及该输入地址组将该输入地址组、该些预设地址以及该些查找地址转换成该映射地址组,将该映射地址组输出给该控制器,依据该映射地址组更新该查找地址组,且将更新完的该查找地址组回存于该查找缓存器。
13.根据权利要求12所述的存储器控制装置,其特征在于,其中该地址映射器还包括:
一第五多任务器,用以依据该些映射组态位以及该输入地址组更新该些映射组态位,且将更新完的该些映射组态位回存于该映射缓存器。
14.根据权利要求12所述的存储器控制装置,其特征在于,其中该存储器包括m个存储组,每一该存储组包括n个该些存储段,m与n是正整数,且该地址映射器还包括:
一屏蔽缓存器,用以存储一屏蔽组态,该屏蔽组态包括多个屏蔽组态位,该些屏蔽组态位与该些PASR组态位分别对应;
其中该第四多任务器依据该些映射组态位、该输入地址组、该些预设地址、该些查找地址以及该屏蔽组态将该输入地址组转换成该映射地址组。
15.根据权利要求12所述的存储器控制装置,其特征在于,其中该存储器包括m个存储组,每一该存储组包括n个该些存储段,m与n是正整数,该地址映射器还包括:
一第一译码器,用以依据该输入地址组产生一译码地址组;
m个第一或门,用以将反向的属于相同的该存储组的该n个存储段所对应的n个该PASR组态位进行或运算;
m个第三与门,用以分别将该m个第一或门的或运算结果与该译码地址组进行及运算;
一第二或门,用以将该m个第三与门的及运算结果进行或运算成为一匹配信号;以及
一第一加法器,用以将该m个第一或门的或运算结果相加成为一更新存储组个数;
其中该第四多任务器依据该些映射组态位、该输入地址组、该匹配信号以及该更新存储组个数将该输入地址组、该些预设地址以及该些查找地址转换成该映射地址组。
16.根据权利要求15所述的存储器控制装置,其特征在于,其中该地址译码器包括:
一第一多任务器,用以依据该输入地址组、该匹配信号以及该更新存储组个数更新该PASR组态,其中更新完的每一该PASR组态位为一第二预设信号或是对应的更新前的该PASR组态位。
17.根据权利要求1所述的存储器控制装置,其特征在于,其中该地址译码器包括:
一第一多任务器,用以依据该映射地址组更新该PASR组态,其中更新完的每一该PASR组态位为一第二预设信号或是对应的更新前的该PASR组态位。
18.根据权利要求1所述的存储器控制装置,其特征在于,其中该存储器包括m个存储组,每一该存储组包括n个该些存储段,m与n是正整数,该地址选择器包括:
m个第四与门,用以将属于相同的该存储组的该n个存储段所对应的n个更新完的该PASR组态位进行及运算;
n个第五与门,用以将该m个存储组中属于相同的该存储段的一索引的该m个存储段所对应的m个更新完的该PASR组态位进行及运算;
一第二多任务器,用以依据该m个第四与门以及该n个第五与门的及运算结果,输出一第一信号;以及
一第三多任务器,用以依据该第一信号以及该映射地址组产生该更新地址组。
19.一种存储器控制方法,其特征在于,用以控制一计算器中具有部分阵列自我更新功能的一存储器,该计算器可操作于一正常模式以及一休眠或待命模式,该存储器包括多个存储段,该存储器控制方法包括:
接收一输入地址组;
将该输入地址组转换成一映射地址组,其中该映射地址组包括连续或落于一限定范围内的至少一映射地址;
当在该正常模式时,执行以下步骤:
依据该映射地址组更新一PASR组态,其中该PASR组态包括多个PASR组态位,该些PASR组态位与该些存储段分别对应;
将更新完的该PASR组态回存;以及
依据该映射地址组产生用以存取该存储器的一更新地址组;以及
当在该休眠或待命模式时,执行以下步骤:
依据更新完的该PASR组态产生该更新地址组;
依据该更新地址组设定该存储器的至少一模式缓存器;以及
依据该至少一模式缓存器让该存储器自我更新该PASR组态对应的该至少一存储段。
20.根据权利要求19所述的存储器控制方法,其特征在于,其中在该将该输入地址组转换成该映射地址组的步骤中,依据一地址偏移将该输入地址组转换成该映射地址组。
21.根据权利要求20所述的存储器控制方法,其特征在于,其中在该将该输入地址组转换成该映射地址组的步骤中,将该输入地址组以及该地址偏移相加成为该映射地址组。
22.根据权利要求21所述的存储器控制方法,其特征在于,其中该将该输入地址组转换成该映射地址组的步骤包括:
将该输入地址组以及该地址偏移相加并产生一相加结果;以及
将该相加结果与一第一预设信号进行及运算以产生一第一及运算结果,并将第一及运算结果作为该映射地址组。
23.根据权利要求21所述的存储器控制方法,其特征在于,其中该存储器包括m个存储组,每一该存储组包括n个该些存储段,m与n是正整数,该些PASR组态位的个数是(m×n)个,且该将该输入地址组转换成该映射地址组的步骤包括:
接收一屏蔽组态,该屏蔽组态包括多个屏蔽组态位,该些屏蔽组态位与该些PASR组态位分别对应;
将对应的该些PASR组态位以及反向的该些屏蔽组态位进行及运算并产生(m×n)个第二及运算结果;以及
依据该(m×n)个第二及运算结果将该输入地址组以及该地址偏移相加成为该映射地址组。
24.根据权利要求23所述的存储器控制方法,其特征在于,其中在该依据该映射地址组更新该PASR组态的步骤中,依据该映射地址组以及该屏蔽组态更新该PASR组态,其中更新完的每一该PASR组态位为一第二预设信号或是对应的更新前的该PASR组态位。
25.根据权利要求21所述的存储器控制方法,其特征在于,其中该存储器包括m个存储组,每一该存储组包括n个该些存储段,m与n是正整数,且该将该输入地址组转换成该映射地址组的步骤包括:
依据该输入地址组产生一译码地址组;
将反向的属于相同的该存储组的该n个存储段所对应的n个该PASR组态位进行或运算并产生m个第一或运算结果;
将该m个第一或运算结果与该译码地址组进行及运算并产生m个第三及运算结果;
将该m个第三及运算结果进行或运算成为一匹配信号;
将该m个第一或运算结果相加成为一更新存储组个数;以及
依据该匹配信号以及该更新存储组个数,将该输入地址组以及该地址偏移相加成为该映射地址组。
26.根据权利要求25所述的存储器控制方法,其特征在于,其中在该依据该映射地址组更新该PASR组态的步骤中,依据该映射地址组、该匹配信号以及该更新存储组个数更新该PASR组态,其中更新完的每一该PASR组态位为一第二预设信号或是对应的更新前的该PASR组态位。
27.根据权利要求19所述的存储器控制方法,其特征在于,其中在该将该输入地址组转换成该映射地址组的步骤中,依据该输入地址组、多个预设地址以及多个查找地址将该输入地址组转换成该映射地址组。
28.根据权利要求27所述的存储器控制方法,其特征在于,其中该将该输入地址组转换成该映射地址组的步骤包括:
接收一查找地址组,该查找地址组包括该些查找地址;
接收具有多个映射组态位的一映射组态,该些映射组态位与该些查找地址的一索引分别对应,表示该些查找地址是否已被拿来作映射使用;
依据该些映射组态位以及该输入地址组将该输入地址组、该些预设地址以及该些查找地址转换成该映射地址组;以及
依据该映射地址组更新该查找地址组。
29.根据权利要求28所述的存储器控制方法,其特征在于,其中该将该输入地址组转换成该映射地址组的步骤还包括:
依据该些映射组态位以及该输入地址组更新该些映射组态位。
30.根据权利要求28所述的存储器控制方法,其特征在于,其中该存储器包括m个存储组,每一该存储组包括n个该些存储段,m与n是正整数,该将该输入地址组转换成该映射地址组的步骤还包括:
接收一屏蔽组态,该屏蔽组态包括多个屏蔽组态位,该些屏蔽组态位与该些PASR组态位分别对应;
且在该依据该些映射组态位以及该输入地址组将该输入地址组、该些预设地址以及该些查找地址转换成该映射地址组的步骤中,是依据该些映射组态位、该输入地址组、该些预设地址、该些查找地址以及该屏蔽组态将该输入地址组转换成该映射地址组。
31.根据权利要求28所述的存储器控制方法,其特征在于,其中该存储器包括m个存储组,每一该存储组包括n个该些存储段,m与n是正整数,该将该输入地址组转换成该映射地址组的步骤还包括:
依据该输入地址组产生一译码地址组;
将反向的属于相同的该存储组的该n个存储段所对应的n个该PASR组态位进行或运算并产生m个第一或运算结果;
将该m个第一或运算结果与该译码地址组进行及运算并产生m个第三及运算结果;
将该m个第三及运算结果进行或运算成为一匹配信号;
将该m个第一或运算结果相加成为一更新存储组个数;以及
且在该依据该些映射组态位以及该输入地址组将该输入地址组、该些预设地址以及该些查找地址转换成该映射地址组的步骤中,依据该些映射组态位、该输入地址组、该匹配信号以及该更新存储组个数将该输入地址组、该些预设地址以及该些查找地址转换成该映射地址组。
32.根据权利要求31所述的存储器控制方法,其特征在于,其中在该依据该映射地址组更新该PASR组态的步骤中,依据该输入地址组、该匹配信号以及该更新存储组个数更新该PASR组态,其中更新完的每一该PASR组态位为一第二预设信号或是对应的更新前的该PASR组态位。
33.根据权利要求19所述的存储器控制方法,其特征在于,其中更新完的每一该PASR组态位为一第二预设信号或是对应的更新前的该PASR组态位。
34.根据权利要求19所述的存储器控制方法,其特征在于,其中该存储器包括m个存储组,每一该存储组包括n个该些存储段,m与n是正整数,且该依据更新完的该PASR组态产生该更新地址组的步骤包括:
将属于相同的该存储组的该n个存储段所对应的n个更新完的该PASR组态位进行及运算并产生m个第四及运算结果;
将该m个存储组中属于相同的该存储段的一索引的该m个存储段所对应的m个更新完的该PASR组态位进行及运算并产生n个第五及运算结果;
用以依据该m个第四及运算结果以及该n个第五及运算结果产生一第一信号;以及
依据该第一信号以及该映射地址组产生该更新地址组。
35.一种存储器控制装置,其特征在于,配置于一计算器,用以控制该计算器中具有PASR功能的一存储器,该存储器包括多个存储段,该存储器控制装置包括:
一备份存储单元;
一休眠标识,用以记录包含该存储器的该计算器是否处于一正常模式或是一休眠或待命模式;
一PASR组态缓存器,用以存储一PASR组态,该PASR组态包括多个PASR组态位,该些PASR组态位与该些存储段分别对应;
一控制器,耦接该存储器、该休眠标识以及该备份存储单元,用以在该休眠或待命模式时,产生用来存取该存储器的一控制器输出地址组,并将该控制器输出地址组对应的至少一该存储段的内容复制到该备份存储单元;
一地址译码器,耦接该休眠标识、该控制器以及该PASR组态缓存器,用以在该休眠或待命模式时更新该PASR组态中与该控制器输出地址组对应的该至少一PASR组态位,并将更新完的该PASR组态回存于该PASR组态缓存器;以及
一地址选择器,耦接该存储器、该PASR组态缓存器以及该控制器,用以在该休眠或待命模式,接收该控制器输出地址组或更新完的该PASR组态并据以产生一更新地址组,以让该存储器依据该更新地址组自我更新该PASR组态对应的该至少一存储段。
36.根据权利要求35所述的存储器控制装置,其特征在于,其中该控制器在该正常模式时,接收一输入地址组并据以产生用此存取该存储器的该控制器输出地址组。
37.根据权利要求35所述的存储器控制装置,其特征在于,其中该地址选择器在该正常模式时,接收该控制器输出地址组并据以产生用以存取该存储器的该更新地址组。
38.根据权利要求37所述的存储器控制装置,其特征在于,其中该地址选择器在该休眠或待命模式时,接收该控制器输出地址组并据以产生该更新地址组,以依据该更新地址组将至少一该存储段的内容复制到该备份存储单元。
39.根据权利要求38所述的存储器控制装置,其特征在于,其中该地址选择器在该休眠或待命模式时,接收更新完的该PASR组态并据以产生该更新地址组,并依据该更新地址组以设定至少一模式缓存器。
40.根据权利要求35所述的存储器控制装置,其特征在于,其中该备份存储单元为非挥发性存储器。
41.根据权利要求35所述的存储器控制装置,其特征在于,其中该PASR组态预设为所有该些存储段都要执行自我更新。
42.根据权利要求35所述的存储器控制装置,其特征在于,其中该存储器包括m个存储组,每一该存储组包括n个该些存储段,m与n是正整数,且该存储器控制装置还包括:
一屏蔽缓存器,用以存储一屏蔽组态;
其中该控制器依据该屏蔽组态产生该备份地址组。
43.根据权利要求35所述的存储器控制装置,其特征在于,其中该地址译码器包括:
一第一多任务器,用以依据该备份地址组以及该休眠标识以更新该PASR组态,其中更新完的每一该PASR组态位为一第三预设信号或是对应的更新前的该PASR组态位。
44.根据权利要求35所述的存储器控制装置,其特征在于,其中该存储器包括m个存储组,每一该存储组包括n个该些存储段,m与n是正整数,该地址选择器包括:
m个第四与门,用以将属于相同的该存储组的该n个存储段所对应的n个更新完的该PASR组态位进行及运算;
n个第五与门,用以将该m个存储组中属于相同存储段的一索引的该m个存储段所对应的m个更新完的该PASR组态位进行及运算;
一第二多任务器,用以依据该m个第四与门以及该n个第五与门的及运算结果,输出一第一信号;以及
一第三多任务器,用以依据该第一信号以及该控制器输出地址组产生该更新地址组。
CN201310039110.4A 2012-12-27 2013-01-31 存储器控制装置及方法 Active CN103902013B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW101150622A TWI503662B (zh) 2012-12-27 2012-12-27 記憶體控制裝置及方法
TW101150622 2012-12-27

Publications (2)

Publication Number Publication Date
CN103902013A true CN103902013A (zh) 2014-07-02
CN103902013B CN103902013B (zh) 2016-12-28

Family

ID=50993385

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310039110.4A Active CN103902013B (zh) 2012-12-27 2013-01-31 存储器控制装置及方法

Country Status (3)

Country Link
US (1) US9165635B2 (zh)
CN (1) CN103902013B (zh)
TW (1) TWI503662B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107203336A (zh) * 2016-03-17 2017-09-26 联发科技股份有限公司 管理存储器功耗的方法及其系统

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9432214B2 (en) * 2013-05-15 2016-08-30 Eaton Corporation Load panel including an aggregator component and a number of electrical switching apparatus assigning unique addresses thereto
KR20160011015A (ko) * 2014-07-21 2016-01-29 에스케이하이닉스 주식회사 어드레스 생성회로 및 이를 포함하는 메모리 장치
EP3321767B1 (en) 2015-12-30 2020-04-15 Huawei Technologies Co., Ltd. Method for reducing power consumption of memory and computer device
US10152276B2 (en) * 2016-07-18 2018-12-11 Winbond Electronics Corporation Memory device including data processor and program method of same
US10332582B2 (en) 2017-08-02 2019-06-25 Qualcomm Incorporated Partial refresh technique to save memory refresh power
US20190074051A1 (en) * 2017-09-07 2019-03-07 Mediatek Inc. Memory system and refresh control method thereof
EP4078587A4 (en) 2019-12-20 2024-01-24 Rambus Inc. REFRESH TIME CONTROL FOR PARTIAL ARRAY
KR20230025554A (ko) * 2021-08-12 2023-02-22 삼성전자주식회사 호스트 장치 및 스토리지 장치의 구동 방법 및 스토리지 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1384506A (zh) * 2001-05-07 2002-12-11 三星电子株式会社 半导体存储装置中执行部分阵列自更新操作的系统和方法
US7149140B2 (en) * 2004-11-15 2006-12-12 Hynix Semiconductor Inc. Method of refreshing a memory device utilizing PASR and piled refresh schemes
CN101149640A (zh) * 2006-10-31 2008-03-26 威盛电子股份有限公司 低功耗电脑操作系统及方法
CN102760485A (zh) * 2006-04-28 2012-10-31 莫塞德技术公司 具有完全独立的部分阵列刷新功能的动态随机存取存储器

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6738861B2 (en) 2001-09-20 2004-05-18 Intel Corporation System and method for managing data in memory for reducing power consumption
US6650587B2 (en) 2001-11-19 2003-11-18 Micron Technology, Inc. Partial array self-refresh
KR100474551B1 (ko) 2003-02-10 2005-03-10 주식회사 하이닉스반도체 셀프 리프레쉬 장치 및 방법
KR100611774B1 (ko) * 2004-06-03 2006-08-10 주식회사 하이닉스반도체 반도체 기억 소자의 뱅크 베이스드 부분 어레이 셀프 리프레쉬 장치 및 방법
US7342841B2 (en) 2004-12-21 2008-03-11 Intel Corporation Method, apparatus, and system for active refresh management
DE602007013901D1 (de) 2006-07-05 2011-05-26 Nxp Bv Elektronische vorrichtung, system auf einem chip und verfahren zur überwachung eines datenverkehrs
US7757039B2 (en) 2007-09-18 2010-07-13 Nikos Kaburlasos DRAM selective self refresh
US8095725B2 (en) 2007-12-31 2012-01-10 Intel Corporation Device, system, and method of memory allocation
EP2343657A4 (en) 2008-09-24 2016-05-25 Fujitsu Ltd POWER CONSUMPTION CONTROL METHOD IN A MULTI-CORE CPU, POWER CONSUMPTION PROGRAM, AND INFORMATION PROCESSING SYSTEM
US20100274960A1 (en) 2009-04-24 2010-10-28 Lee Kun-Bin Memory control method of memory device and memory control system thereof
US8468295B2 (en) 2009-12-02 2013-06-18 Dell Products L.P. System and method for reducing power consumption of memory
KR20110100466A (ko) 2010-03-04 2011-09-14 삼성전자주식회사 휘발성 메모리 장치를 구비하는 시스템의 파워다운 방법
US20110296095A1 (en) 2010-05-25 2011-12-01 Mediatek Inc. Data movement engine and memory control methods thereof
US20110296098A1 (en) 2010-06-01 2011-12-01 Dell Products L.P. System and Method for Reducing Power Consumption of Memory

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1384506A (zh) * 2001-05-07 2002-12-11 三星电子株式会社 半导体存储装置中执行部分阵列自更新操作的系统和方法
US7149140B2 (en) * 2004-11-15 2006-12-12 Hynix Semiconductor Inc. Method of refreshing a memory device utilizing PASR and piled refresh schemes
CN102760485A (zh) * 2006-04-28 2012-10-31 莫塞德技术公司 具有完全独立的部分阵列刷新功能的动态随机存取存储器
CN101149640A (zh) * 2006-10-31 2008-03-26 威盛电子股份有限公司 低功耗电脑操作系统及方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107203336A (zh) * 2016-03-17 2017-09-26 联发科技股份有限公司 管理存储器功耗的方法及其系统

Also Published As

Publication number Publication date
TW201426304A (zh) 2014-07-01
TWI503662B (zh) 2015-10-11
US20140189230A1 (en) 2014-07-03
US9165635B2 (en) 2015-10-20
CN103902013B (zh) 2016-12-28

Similar Documents

Publication Publication Date Title
CN103902013A (zh) 存储器控制装置及方法
US11126584B2 (en) Method for transferring request in storage device and method for issuing command in host
CN109690508B (zh) 带虚拟控制器模式的存储器控制器
US8812784B2 (en) Command executing method, memory controller and memory storage apparatus
US20140258761A1 (en) Asynchronous management of access requests to control power consumption
CN103116551B (zh) 应用于CLB总线的NorFLASH存储接口模块
US20100180145A1 (en) Data accessing method for flash memory, and storage system and controller system thereof
CN101464834B (zh) 闪存数据写入方法及使用此方法的控制器
US20070113013A1 (en) Microprocessor having a power-saving instruction cache way predictor and instruction replacement scheme
CN109783411B (zh) 一种基于fpga的flash阵列控制方法及控制器
KR102114109B1 (ko) 데이터 저장 장치
US8606982B2 (en) Derivative logical output
CN103235760B (zh) 基于CLB总线的高利用率NorFLASH存储接口芯片
US11682445B2 (en) Memory context restore, reduction of boot time of a system on a chip by reducing double data rate memory training
EP3142015A1 (en) Low-power memory-access method and associated apparatus
WO2014031255A1 (en) Multiport memory emulation using single-port memory devices
TWI224728B (en) Method and related apparatus for maintaining stored data of a dynamic random access memory
CN103729306A (zh) 经由地址范围检查的多cpu块无效操作绕过
CN104115230A (zh) 高效pcms刷新机制背景
CN105045335A (zh) 一种内嵌8051ip核的fpga信息处理系统
CN109992525A (zh) 快闪存储器控制器
CN105404591A (zh) 处理器系统及其存储器控制方法
CN116149554B (zh) 一种基于risc-v及其扩展指令的数据存储处理系统及其方法
CN102855162B (zh) 一种数据更新方法、数据更新系统及存储器
US9910823B2 (en) Stack processor using a ferroelectric random access memory (F-RAM) having an instruction set optimized to minimize memory fetch

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