CN105531682A - 管理多通道存储设备以具有改进的通道切换响应时间的方法及相关的存储控制系统 - Google Patents
管理多通道存储设备以具有改进的通道切换响应时间的方法及相关的存储控制系统 Download PDFInfo
- Publication number
- CN105531682A CN105531682A CN201580001797.XA CN201580001797A CN105531682A CN 105531682 A CN105531682 A CN 105531682A CN 201580001797 A CN201580001797 A CN 201580001797A CN 105531682 A CN105531682 A CN 105531682A
- Authority
- CN
- China
- Prior art keywords
- memory
- channel
- access
- channel pattern
- storage space
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0284—Multiple user address space allocation, e.g. using different base addresses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1694—Configuration of memory controller to different memory types
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0635—Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/25—Using a specific main memory architecture
- G06F2212/251—Local memory within processor subsystem
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Static Random-Access Memory (AREA)
- Memory System (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
一种管理多通道存储设备的方法包括至少下述步骤:当控制多通道存储设备运行在M-通道模式时,预留多通道存储设备的跨N个存储通道的部分存储空间,其中在M-通道模式下不使用已预留的部分存储空间,M及N为正整数,以及M小于N;以及当控制多通道存储设备从M-通道模式切换至N-通道模式时,在已预留的部分存储空间中存取数据,已预留的部分存储空间跨N-通道模式下使用的N个存储通道。
Description
相关申请的交叉引用
本申请要求美国临时申请号为62/037,842、申请日为2014年8月15日的优先权,其被合并引用到该申请中。
技术领域
本发明所公开的实施例涉及存取存储设备,以及更具体地,涉及一种管理多通道存储设备(multi-channelmemorydevice)以具有改进的通道切换响应时间的方法及相关的存储控制系统。
背景技术
计算机技术以卓越的速度不断进步,对计算机系统中的处理器系统及存储系统的性能都做出了众多改进。例如,响应于更快更高效的计算机系统的需求,处理器系统可设计为具有更高的计算能力,以及更快地运行以处理更多任务。如果存储系统的运行能力不能满足带宽需求,存储器系统将变成性能瓶颈。因而将注意力导向增加存储系统的吞吐量。
可使用多通道存储设备以满足带宽需求。以双通道存储设备为例,其具有同时运行的两个并行存储通道,由此提供较大的数据吞吐量。当多通道存储设备中使用的存储通道的数量较大时,这意味着功率损耗较高。而且,计算机系统并不总需要大的存储带宽。当在计算机系统只需要较小的存储带宽的情况下,多通道存储设备激活其所有的存储通道时,不会优化功率使用。如果计算机系统是由电池设备供电的便携式设备(例如,智能手机),由于存储系统增加的功率损耗,电池寿命将会缩短。因而,需要一种新颖的设计,能够有效地管理多通道存储在低功率损耗模式及高存储带宽模式之间切换。
发明内容
根据本发明示例的实施例,提出一种管理多通道存储设备以具有改进的通道切换响应时间的方法及相关的存储控制系统。
根据本发明的第一方面,公开一种管理多通道存储设备的示例方法。该示例方法包括:当控制多通道存储设备运行在M-通道模式时,预留多通道存储设备的跨N个存储通道的部分存储空间,其中在M-通道模式下不使用已预留的部分存储空间,M及N为正整数,以及M小于N;以及当控制多通道存储设备从M-通道模式切换至N-通道模式时,在跨N个存储通道的已预留的部分存储空间中存取数据,其中N个存储通道在N-通道模式中使用。
根据本发明的第二方面,公开一种管理多通道存储设备的示例方法。该示例方法包括:当控制多通道存储设备从M-通道模式切换至N-通道模式时,在控制M-通道模式下使用的经由M个存储通道存取的存储区域上的部分存储空间中的至少一个第二存储区段的数据,迁移至M-通道模式下不使用的经由L个存储通道存取的存储区域上的部分存储空间之前,控制M-通道模式下使用的经由M个存储通道存取的存储区域上的部分存储空间中的至少一个第一存储区段的数据,迁移至M-通道模式下不使用的经由L个存储通道存取的存储区域上的部分存储空间;其中M、L及N为正整数,以及M小于N;以及至少一个第一存储区段所关联的带宽需求高于至少一个第二存储区段所关联的带宽需求。
根据本发明的第三方面,公开一种用于管理多通道存储设备的示例存储控制系统。该示例存储控制系统包括模式控制模块及存储器存取控制电路。模式控制模块,用于控制多通道存储设备运行在M-通道模式以及控制多通道存储设备从M-通道模式切换至N-通道模式,其中M及N为正整数,以及M小于N。当控制多通道存储设备运行在M-通道模式时,存储器存取控制电路用于预留多通道存储设备的跨N个存储通道的部分存储空间,其中在M-通道模式下不使用已预留的部分存储空间;以及当控制多通道存储设备从M-通道模式切换至N-通道模式时,存储器存取控制电路用于在跨N个存储通道的已预留的部分存储空间中执行数据存取,其中N个存储通道在N-通道模式中使用。
根据本发明的第四方面,公开一种用于管理多通道存储设备的示例存储控制系统。该示例存储控制系统包括模式控制模块及存储器存取控制电路。模式控制模块,用于控制多通道存储设备从M-通道模式切换至N-通道模式,其中M及N为正整数,以及M小于N。当控制多通道存储设备从M-通道模式切换至N-通道模式时,存储器存取控制电路用于在控制M-通道模式下使用的经由M个存储通道存取的存储区域上的部分存储空间中至少一个第二存储区段中数据,迁移至M-通道模式下不使用的经由L个存储通道存取的存储区域上的部分存储空间之前,控制M-通道模式下使用的经由M个存储通道存取的存储区域上的部分存储空间中的至少一个第一存储区段中的数据,迁移至M-通道模式下不使用的经由L个存储通道存取的存储区域上的部分存储空间,其中L为正整数,以及至少一个第一存储区段所关联的带宽需求高于至少一个第二存储区段所关联的带宽需求。
在阅读下面的显示在不同附图中的优选实现方式的详细描述后,对于本领域普通技术人员来说,本发明的这些和其它目的将变得显而易见。
附图说明
图1是根据本发明一个实施例的存储系统的示意方块图。
图2是根据本发明第一实施例的管理多通道存储设备的例子的示意图。
图3是根据本发明第二实施例的管理多通道存储设备的一个例子的示意图。
图4-5是根据本发明第三实施例的管理多通道存储设备的一个例子的示意图。
具体实施方式
下面整个说明书和权利要求用一些术语说明特定元件。如本领域技术人员将理解,制造商可以用不同的名字说明一个元件。本文档并不意图用不同的名字区分不同的元件,而是用不同的功能区分不同的元件。在下面的说明书和权利要求中,术语“包括”和“包含”用于开放式的方式,因此应解释为表示“包括,但不限于…”。此外,术语“耦接”意图表示间接的或直接的电子连接。相应地,如果一个设备耦接至另一设备,该连接可以为通过直接的电子连接,或者通过经由其它设备的间接的电子连接。
本发明提出一种存储系统设计,其能够改变多通道存储设备中使用的激活存储通道的数量,而不劣化使用计算机系统的用户体验。例如,可执行数据迁移,以使已存储的数据从第二存储通道上的第二存储空间迁移至第一存储通道上的第一存储空间。如果完成数据迁移之后,第二存储空间中没有有效的数据,第二存储通道和/或关联的存储控制器可断电或进入功率节约模式(例如,自刷新模式或功率损耗低于正常模式的其它运行模式)以节约功率。另外,因为完成数据迁移之后,可降低同时激活的存储通道的数量,存储控制器可不需要同时经由所有存储通道来控制数据存取。因而可降低功率损耗。如果在一些特定场景中计算机系统需要较多的存储带宽,可控制多通道存储设备具有通道切换,以支持更大的存储带宽。因此可执行数据迁移,以使已存储的数据从第一存储通道上的第一存储空间迁移至第二存储通道上的第二存储空间,因而使能第一存储通道上的第一存储空间及第二存储通道上的第二存储空间的同步数据存取。然而,由于数据迁移的时间损耗,所需的存储带宽可能不可立即可用。本发明因而提出一种新颖的存储系统设计,其能够在较短的通道切换时间内提供有效的存储带宽。这样,可执行通道切换而不让用户察觉数据迁移的时延。也就是说,计算机系统的用户不能轻易察觉通道切换操作所引起的系统响应时延。所提出的存储系统设计的进一步细节如下文所述。
图1是根据本发明一个实施例的存储系统的示意方块图。存储系统100可以为计算机系统的一部分。例如,存储系统100可以实现在便携式设备中,例如平板、智能手机或可穿戴设备。存储系统100可包括存储控制系统101及多通道存储设备(例如,动态随机存取存储器(DynamicRandomAccessMemory,DRAM))102。存储控制系统101可包括存储器存取控制电路103及模式控制模块108,其中存储器存取控制电路103可包括多个存储控制器104_1-104_K及直接内存存取(DirectMemoryAccess,DMA)控制器106。模式控制模块108可用专用硬件实现,或可用运行在处理器上的软件或固件实现。在该实施例中,多通道存储设备102可具有多个存储区域(memoryarea)110_1-110_K,分别经由多个存储通道109_1-109_K存取。存储控制器104_1-104_K可分别用于控制存储区域110_1-110_K的数据存取(即,读及写)。因而,存储控制器104_1-104_K的数量可等于存储区域110_1-110_K的数量,以及也可等于存储通道109_1-109_K的数量。可替换地,存储控制器的数量可小于存储区域的数量,以及也可小于存储通道的数量。也就是说,一个存储控制器可用于经由多于一个的存储通道控制多于一个的存储区域的数据存取(即,读及写)。这也落在本发明的保护范围内。
应注意,K的数值可以为不小于2的任意正数。换句话说,可根据实际的设计考虑,调整K的数值。例如,当K=2,可实现双通道存储设备。对于另一例子,当K=4,可实现四通道存储设备。每个存储区域110_1-110_K可具有多个由不同存储地址进行访问的存储区段(memoryregion)112。多通道存储设备102可包括一个或多个存储晶粒(dies)/芯片。在一个实施例中,每个存储区域110_1-110_K可包括一个或多个存储晶粒/芯片。
存储系统100可由一个或多个高带宽引擎(engine)10及一个或多个低带宽引擎12用以存储数据,其中每个高带宽引擎10的带宽需求可高于每个低带宽引擎12的带宽需求。在该实施例中,模式控制模块108可用于检测系统负荷状态和/或显示屏开/关状态,以确定使用存储系统100的计算机系统需要较高的存储带宽(例如,系统负荷重和/或显示屏开启)还是较低的存储带宽(例如,系统负荷轻和/或显示屏关闭),以及可根据检测结果控制多通道存储设备102运行在多个不同模式中的一个模式,包括M-通道模式(例如,低功率损耗/存储带宽模式)及N-通道模式(例如,高功率损耗/存储带宽模式)。M及N的数值可以为任意正整数(即,M≧1及N≧1),M的数值可小于N的数值,以及N的数值可以小于或等于K的数值。在一个示例的设计中,N的数值可等于K的数值,以及可为M的数值的整数倍。例如,N=K=4以及M=2。
换句话说,模式控制模块108可控制多通道存储设备102在具有不同激活存储通道数量的运行模式之间切换。例如,当使用存储系统100的计算机系统不需要高的存储带宽,模式控制模块108可通过禁止(例如,断电)部分存储通道109_1-109_K及关联的存储控制器104_1-104_K,来使能M-通道模式,因而只允许激活M个存储通道及关联的M个存储控制器。这样,可以有效地降低存储系统100的功率损耗。对于另一例子,当使用存储系统100的计算机系统需要高的存储带宽,模式控制模块108可通过使能较多的存储通道109_1-109_K及较多的关联存储控制器104_1-104_K,来使能N-通道模式,因而允许激活N个存储通道及关联的N个存储控制器。这样,存储设备102可满足高带宽需求。
关于DMA控制器106,其可作为数据迁移控制电路,用以响应于通道切换操作,执行数据迁移。DMA控制器106以DMA方式控制已存储数据的数据迁移。因而,当需要存储系统100运行在第一通道数量时,DMA控制器106可执行数据迁移,以使已存储的数据从第二存储通道上的部分存储空间迁移至第一存储通道上的部分存储空间,以及当需要存储系统100运行在不同于第一通道数量的第二通道数量时,DMA控制器106可执行数据迁移,以使已存储的数据从第一存储通道上的部分存储空间迁移至第二存储通道上的部分存储空间。在该实施例中,DMA控制器106及模式控制模块108显示为分立的功能模块。可替换地,DMA控制器106可与模式控制模块108集成。也就是说,单个电路可用于执行模式控制模块108及DMA控制器106的功能。
如上文所述的,当控制多通道存储设备从M-通道模式切换至N-通道模式,由于数据迁移的时间损耗,所需的存储带宽可能不可立即可用。本发明因而提出一种新颖的存储管理设计,其可在较短的通道切换时间内提供有效的存储带宽。为了更好地理解本发明的技术特征,如下详细描述管理多通道存储设备102以具有改进的通道切换响应时间的若干例子。为了清楚及简单起见,下文假设N=K=4及M=2。然而,这只是说明的目的,而不意图限制本发明。也就是说,可对不同的多通道存储设备应用相同的理念。这些可替换的设计都落在本发明的范围内。
图2是根据本发明第一实施例的管理多通道存储设备102的例子的示意图。如图2所示,多通道存储设备102可包括四个存储区域110_1-110_K(K=4),该四个存储区域可经由四个存储通道109_1-109_K(K=4)存取。当控制多通道存储设备102运行在M-通道模式(例如,M=2的双通道模式),存储区域110_1-110_2及关联的存储通道109_1-109_2可被激活,而存储区域110_3-110_4及关联的存储通道109_3-109_4可被禁止(例如,断电)或进入功率节约模式(例如,自刷新模式或功率损耗低于正常模式的其它运行模式)。也就是说,在M-通道模式(例如,M=2的双通道模式)下,多通道存储设备102可部分激活。当控制多通道存储设备102运行在N-通道模式(例如,N=K=4=2xM的四通道模式),存储区域110_1-110_4及关联的存储通道109_1-109_4可被激活。也就是说,在N-通道模式(例如,N=K=4=2xM的四通道模式)下,多通道存储设备102可完全激活。
如图2所示,存储区域110_1可包括多个存储区段R0,R4,R8,…,R92;存储区域110_2可包括多个存储区段R1,R5,R9,…,R93;存储区域110_3可包括多个存储区段R2,R6,R10,…,R94;以及存储区域110_4可包括多个存储区段R3,R7,R11,…,R95。当控制多通道存储设备102运行在N-通道模式(例如,N=K=4=2xM的四通道模式),可在四通道模式中使用由存储区段R0-R35组成的四通道存储空间,其中可根据由多个存储地址组成的存储地址集,并行地存取四个存储区段。关于四通道模式,每个存储地址集可包括四个相邻的存储地址,该四个相邻的存储地址可被相同的偏移量均匀隔开,其中可根据实际的设计考虑,调整偏移量。例如,可用由多个存储地址(例如,被相同的偏移量均匀隔开的四个相邻存储地址)组成的存储地址集存取四个存储区段R0-R3,可用由多个存储地址(例如,被相同的偏移量均匀隔开的四个相邻存储地址)组成的存储地址集存取四个存储区段R4-R7,以及可用由多个存储地址(例如,被相同的偏移量均匀隔开的四个相邻存储地址)组成的存储地址集存取四个存储区段R8-R11。因而,可分别在存储区段R0-R35中存取数据D0-D35。
当控制多通道存储设备102从N-通道模式(例如,N=K=4=2xM的四通道模式)切换到M-通道模式(例如,M=2的双通道模式)时,存储器存取控制电路103(特别地,DMA控制器106)可控制经由L个存储通道存取的存储区域上的一部分存储空间(如果L为诸如2的正整数,其可跨存储通道109_3及109_4,以及可由存储区段R2,R3,R6,R7,…,R34,R35组成)中的有效数据,迁移至经由M个存储通道存取的存储区域上的另一部分存储空间(如果M=2,其可跨存储通道109_1及109_2,以及可由存储区段R36,R37,R40,R41,…,R68,R69组成)。例如,假设存储区段R2,R3,R6,R7,…,R34,R35中的所有已存储的数据D2,D3,D6,D7,…,D34,D35可为有效数据,如图2的左部分所示的,可控制已存储的数据D2,D3,D6,D7,…,D34,D35迁移至存储区段R36,R37,R40,R41,…,R68,R69。关于双通道模式,每个存储地址集可包括两个相邻的存储地址,该两个相邻的存储地址可被相同的偏移量均匀隔开,其中可根据实际的设计考虑,调整该偏移量。因而,可用两个不同的存储地址集存取一组数据D0,D1,D2,D3,该两个不同的存储地址集包括指向存储区段R0及R1的一个存储地址集以及指向存储区段R36及R37的另一存储地址集。相似地,可用两个不同的存储地址集存取一组数据D4,D5,D6,D7,该两个不同的存储地址集包括指向存储区段R4及R5的一个存储地址集以及指向存储区段R40及R41的另一存储地址集;以及可用两个不同的存储地址集存取一组数据D32,D33,D34,D35,该两个不同的存储地址集包括指向存储区段R32及R33的一个存储地址集,以及指向存储区段R68及R69的另一存储地址集。
在该实施例中,当控制多通道存储设备102运行在M-通道模式(例如,M=2的双通道模式)时,存储器存取控制电路103预留部分存储空间202(其可跨存储通道109_1-109_4以及可由存储区段R72-R95组成)。在M-通道模式(例如,M=2的双通道模式),可阻止使用部分存储空间202,以及在N-通道模式(例如,N=4的四通道模式),可允许使用部分存储空间202。当控制多通道存储设备102运行在M-通道模式(例如,M=2的双通道模式)时,已预留的部分存储空间202中可不存储有效数据。因为使能N-通道模式(例如,N=4的四通道模式)时,已预留的部分存储空间202是空白的,已预留的部分存储空间202可随时满足高存储带宽需求。例如,已预留的部分存储空间202可随时服务高带宽引擎12发出的存储器存取请求。
例如,在控制多通道存储设备102从N-通道模式(例如,N=4的四通道模式)切换至M-通道模式(例如,M=2的双通道模式)时、之前或之后,可在部分存储空间202上执行数据迁移,以便于控制部分存储空间202中的任意有效数据迁移至由诸如未使用的存储区段(例如,R36,R37,R40,R41,…,R68,R69)组成的部分存储空间。这样,当控制多通道存储设备102运行在M-通道模式(例如,M=2的双通道模式)时,部分存储空间202可变成空白的部分存储空间。
当控制多通道存储设备102从M-通道模式(例如,M=2的双通道模式)切换至N-通道模式(例如,N=4的四通道模式)时,存储器存取控制电路103可在已预留的部分存储空间202中执行数据存取,以满足高存储带宽需求(例如,高带宽引擎10发出的存储器存取请求)。作为例子而非限制,高带宽引擎10可包括显示屏引擎(displayengine)及处理引擎(processingengine)等,显示屏引擎用于处理存储在多通道存储设备中的图像数据及驱动显示屏,处理引擎用于处理相机输出及将已处理的相机输出存储至多通道存储设备。换句话说,当控制多通道存储设备102从M-通道模式(例如,M=2的双通道模式)切换至N-通道模式(例如,N=4的四通道模式)时,模式控制模块108可指示第一引擎(例如,高带宽引擎10)在已预留的跨存储通道109_1-109_4的部分存储空间202中存取数据,以及可不指示第二引擎(例如,低带宽引擎12)在已预留的跨存储通道109_1-109_4的部分存储空间202中存取数据,其中第一引擎的带宽需求高于第二引擎的带宽需求。
另外,当控制多通道存储设备102从M-通道模式(例如,M=2的双通道模式)切换至N-通道模式(例如,N=4的四通道模式)时,存储器存取控制电路103(特别地,DMA控制器106)可控制经由M个存储通道存取的存储区域上的一部分存储空间(如果M=2,其可跨存储通道109_1及109_2,以及可由存取区段R36,R37,R40,R41,…,R68,R69组成)中的有效数据,迁移至经由L个存储通道存取的存储区域上的另一部分存储空间(如果L=2,其可跨存储通道109_3及109_4,以及可由存取区段R2,R3,R6,R7,…,R34,R35组成)。考虑到存储在存储区段R52及R53中的数据D18及D19还没迁移到存储区段R18及R19的情况,高带宽引擎10请求存储在存储区段R16,R17,R52,R53中的一组数据D16,D17,D18,D19。如图2的右部分所示,高带宽引擎10可先存取两个存储地址集Addr1及Addr2上的存储区段R16,R17,R52,R53中存储的旧数据D16,D17,D18,D19,以及接着存取单个存储地址集Addr3上的存储区段R72,R73,R74,R75中的后续数据D16,D17,D18,D19。考虑到另一情况,其中在M-通道模式(例如,M=2的双通道模式)切换至N-通道模式(例如,N=4的四通道模式)时,可控制存储区段R16,R17,R52,R53中已存储的数据D16,D17,D18,D19迁移至已预留的部分存储空间202,高带宽引擎10可存取所请求的单个存储地址集Addr3上的数据D16,D17,D18,D19。在另一例子中,在M-通道模式(例如,M=2的双通道模式)切换至N-通道模式(例如,N=4的四通道模式)时或之前,可将数据D16,D17,D18,D19拷贝至已预留的部分存储空间202,以便于高带宽引擎10可存取已预留的部分存储空间202上的所请求的数据D16,D17,D18,D19。
应注意,控制M-通道模式下使用的经由M个存储通道存取的存储区域上的一部分存储空间中的数据,迁移至M-通道模式下不使用的经由L个存储通道存取的存储区域上的另一部分存储空间时,存储器存取控制电路103可在已预留的部分存储空间202中执行数据存取,已预留的部分存储空间202跨N-通道模式下使用的N个存储通道,其中M,N及L可以为正整数,以及M个存储通道及L个存储通道可包括在N个存储通道中。尽管还没完成已存储的数据的数据迁移,高带宽引擎10可在短时间内得到已预留的部分存储空间202提供的所需存储带宽。
图3是根据本发明第二实施例的管理多通道存储设备102的一个例子的示意图。如图3所示,多通道存储设备102可包括可经由四个存储通道109_1-109_K(K=4)存取的四个存储区域110_1-110_K(K=4)。当控制多通道存储设备102运行在M-通道模式(例如,M=2的双通道模式)时,存储区域110_1-110_2及关联的存储通道109_1-109_2可被激活,然而存储区域110_3-110_4及关联的存储通道109_3-109_4可被禁止(例如,断电)或进入功率节约模式(例如,自刷新模式或功率损耗低于正常模式的其它运行模式)。也就是说,在M-通道模式(例如,M=2的双通道模式)下,多通道存储设备102可部分激活。当控制多通道存储设备102运行在N-通道模式(例如,N=K=4=2xM的四通道模式)时,存储区域110_1-110_4及关联的存储通道109_1-109_4可被激活。也就是说,在N-通道模式(例如,N=K=4=2xM的四通道模式)下,多通道存储设备102可完全激活。
如图3所示,存储区域110_1可包括多个存储区段R0,R4,R8,…,R92;存储区域110_2可包括多个存储区段R1,R5,R9,…,R93;存储区域110_3可包括多个存储区段R2,R6,R10,…,R94;以及存储区域110_4可包括多个存储区段R3,R7,R11,…,R95。在该实施例中,四通道模式中可使用由存储区段R0-R47组成的四通道存储空间,其中可根据存储地址集并行地存取四个存储区段。关于四通道模式,每个存储地址集可包括四个相邻的存储地址,该四个相邻的存储地址被相同的偏移量均匀隔开,其中可根据实际的设计考虑,调整该偏移量。例如,可用一个存储地址集存取四个存储区段R0-R3,可用一个存储地址集存取四个存储区段R4-R7,以及可用一个存储地址集存取四个存储区段R8-R11。因此,当控制多通道存储设备102运行在N-通道模式(例如,N=4的四通道模式)时,可分别在存储区段R0-R47存取数据D0-D47。
当控制多通道存储设备102从N-通道模式(例如,N=4的四通道模式)切换至M-通道模式(例如,M=2的双通道模式)时,存储器存取控制电路103(特别地,DMA控制器106)可控制经由L个存储通道存取的存储区域上的一部分存储空间(如果L=2,其跨存储通道109_3及109_4,以及可由存储区段R2,R3,R6,R7,…,R46,R47组成)中的有效数据,迁移至经由M个存储通道存取的存储区域上的另一部分存储空间(如果M=2,其可跨存储通道109_1及109_2,以及可由存储区段R48,R49,R52,R53,…,R92,R93组成)。例如,假设存储区段R2,R3,R6,R7,…,R46,R47中的所有已存储的数据D2,D3,D6,D7,…,D46,D47可为有效数据,如图3的左部分所示,可控制已存储的数据D2,D3,D6,D7,…,D46,D47迁移至存储区段R48,R49,R52,R53,…,R92,R93。关于双通道模式,每个存储地址集可包括两个相邻的存储地址,该两个相邻的存储地址可被相同的偏移量均匀隔开,其中可根据实际的设计考虑,调整该偏移量。因而,可用两个不同的存储地址集存取一组数据D0,D1,D2,D3,该两个不同的存储地址集包括指向存储区段R0及R1的一个存储地址集以及指向存储区段R48及R49的另一存储地址集。相似地,可用两个不同的存储地址集存取一组数据D4,D5,D6,D7,该两个不同的存储地址集包括指向存储区段R4及R5的一个存储地址集以及指向存储区段R52及R53的另一存储地址集;以及可用两个不同的存储地址集存取一组数据D44,D45,D46,D47,该两个不同的存储地址集包括指向存储区段R44及R45的一个存储地址集以及指向存储区段R92及R93的另一存储地址集。
在该实施例中,当控制多通道存储设备102运行在M-通道模式(例如,M=2的双通道模式),存储器存取控制电路103可记录与高存储带宽需求关联的存储区段(例如,高带宽引擎10存取的存储区段和/或存取频率高于阈值的存储区段)的存储地址。例如,在M-通道模式(例如,M=2的双通道模式)下,高带宽引擎10可存取存储区段R8,R9,R56,R57中存储的一组数据D8,D9,D10,D11及存储区段R12,R13,R60,R61中存储的另一组数据D12,D13,D14,D15;以及在M-通道模式(例如,M=2的双通道模式)下,另一高带宽引擎10可存取存储区段R28,R29,R76,R77中存储的一组数据D28,D29,D30,D31及存储区段R32,R33,R80,R81中存储的另一组数据D32,D33,D34,D35。因而,DMA控制器106可将存储地址集Addr5-Addr8记录在内部存储设备(例如,静态随机存取存储器(StaticRandomAccessMemory,SRAM)、寄存器等)或外部存储设备(例如,DRAM)中,其中每个存储地址集由多个存储地址组成。
当控制多通道存储设备102从M-通道模式(例如,M=2的双通道模式)切换至N-通道模式(例如,N=4的四通道模式)时,在控制经由M个存储通道存取的存储区域上的一个部分存储空间(如果M=2,其可由存储区段R48,R49,R52,R53,…,R92,R93组成,以及可跨M-通道模式下使用的M个存储通道109_1,109_2)中的至少一个第二存储区段中的数据,迁移至经由L个存储通道存取的存储区域上的另一个部分存储空间(如果L=2,其可由存储区段R2,R3,R6,R7,…,R46,R47组成,以及可跨M-通道模式下不使用的另外的M个存储通道109_3,109_4)之前,存储器存取控制电路103可控制经由M个存储通道存取的存储区域上的一个部分存储空间(如果M=2,其可由存储区段R48,R49,R52,R53,…,R92,R93组成,以及可跨M-通道模式下使用的M个存储通道109_1,109_2)中的至少一个第一存储区段中的数据迁移至经由L个存储通道存取的存储区域上的另一个部分存储空间(如果L=2,其可由存储区段R2,R3,R6,R7,…,R46,R47组成,以及可跨M-通道模式下不使用的L个存储通道109_3,109_4),其中至少一个第一存储区段关联的带宽需求高于至少一个第二存储区段关联的带宽需求。例如,第一引擎(例如,高带宽引擎10)存取至少一个第一存储区段,第二引擎(例如,低带宽引擎12)存取至少一个第二存储区段,以及第一引擎的带宽需求高于第二引擎的带宽需求。
如图3的右部分所示,存储器存取控制电路103(特别地,DMA控制器106)可根据所记录的存储地址集Addr7-Addr8,对存储区段R76,R77,R80,R81中存储的数据D30,D31,D34,D35的执行数据迁移,其中,每个存储地址集Addr7-Addr8由多个存储地址组成,存储区段R76,R77,R80,R81通过所记录的存储地址集Addr7-Addr8被访问,以及接着根据所记录的存储地址集Addr5-Addr6,对存储区段R56,R57,R60,R61中存储的数据D10,D11,D14,D15执行数据迁移,其中,每个地址集Addr5-Addr6由多个存储地址组成,存储区段R56,R57,R60,R61通过所记录的存储地址集Addr7-Addr8被访问。因为可将存储地址集Addr5-Addr8上的数据D10-D11,D14-D15,D30-D31,D34-D35视为高带宽数据,数据迁移可优先于迁移低带宽数据,来迁移高带宽数据。根据提出的存储管理设计,当控制多通道存储设备102从M-通道模式(例如,M=2的双通道模式)切换至N-通道模式(例如,N=4的四通道模式)时,执行与高存储带宽需求关联的存储区段(例如,高带宽引擎10存取的存储区段和/或存取频率高于阈值的存储区段)上的数据迁移的优先级,可高于执行与低存储带宽需求关联的存储区段(例如,低带宽引擎12存取的存储区段和/或存取频率不高于阈值的存储区段)上的数据迁移的优先级。这样,可在短时间内满足高带宽需求。例如,高带宽引擎可在短时间内获得所需的存储带宽。
图4及图5是根据本发明第三实施例的管理多通道存储设备102的一个例子的示意图。如图4所示,多通道存储设备102可包括四个存储区域110_1-110_K(K=4),该四个存储区域可经由四个存储通道109_1-109_K(K=4)存取。当控制多通道存储设备102运行在M-通道模式(例如,M=2的双通道模式)时,存储区域110_1-110_2及关联的存储通道109_1-109_2可被激活,而存储区域110_3-110_4及关联的存储通道109_3-109_4可被禁止(例如,断电)或进入功率节约模式(例如,自刷新模式或功率损耗低于正常模式的其它运行模式)。也就是说,在M-通道模式(例如,M=2的双通道模式)下,多通道存储设备102可部分激活。当控制多通道存储设备102运行在N-通道模式(例如,N=K=4=2xM的四通道模式)时,存储区域110_1-110_4及关联的存储通道109_1-109_4可被激活。也就是说,在N-通道模式(例如,N=K=4=2xM的四通道模式),多通道存储设备102可完全激活。
如图4所示,存储区域110_1可包括多个存储区段R0,R4,R8,…,R92;存储区域110_2可包括多个存储区段R1,R5,R9,…,R93;存储区域110_3可包括多个存储区段R2,R6,R10,…,R94;以及存储区域110_4可包括多个存储区段R3,R7,R11,…,R95。在该实施例中,在四通道模式中可使用由存储区段R0-R47组成的四通道存储空间,其中可根据存储地址集并行地存取四个存储区段。关于四通道模式,每个存储地址集可包括四个相邻的存储地址集,该四个相邻的存储地址集被相同的偏移量均匀隔开,其中可根据实际的设计考虑,调整该偏移量。例如,可用一个存储地址集存取四个存储区段R0-R3,可用一个存储地址集存取四个存储区段R4-R7,以及可用一个存储地址集存取四个存储区段R8-R11。因此,当控制多通道存储设备102运行在N-通道模式(例如,N=4的四通道模式)时,可分别在存储区段R0-R47存取数据D0-D47。
当控制多通道存储设备102从N-通道模式(例如,N=4的四通道模式)切换至M-通道模式(例如,M=2的双通道模式)时,存储器存取控制电路103(特别地,DMA控制器106)可控制经由L个存储通道存取的存储区域上的一个部分存储空间(如果L=2,其可跨存储通道109_3及109_4,以及可由存储区段R2,R3,R6,R7,…,R46,R47组成)中的有效数据,迁移至经由M个存储通道存取的存储区域上的另一个部分存储空间(如果M=2,其可跨存储通道109_1及109_2,以及可由存储区段R48,R49,R52,R53,…,R92,R93组成)。例如,假设存储区段R2,R3,R6,R7,…,R46,R47中所有的已存储的数据D2,D3,D6,D7,…,D46,D47可为有效数据,如图4的左部分所示,可控制已存储的数据D2,D3,D6,D7,…,D46,D47迁移至存储区段R48,R49,R52,R53,…,R92,R93。关于双通道模式,每个存储地址集可包括两个相邻的存储地址,该两个相邻的存储地址集被相同的偏移量均匀隔开,其中可根据实际的设计考虑,调整该偏移量。因而,可用两个不同的存储地址集存取一组数据D0,D1,D2,D3,该两个不同的存储地址集可包括指向存储区段R0及R1的一个存储地址集以及指向存储区段R48及R49的另一存储地址集。相似地,可用两个不同的存储地址集存取一组数据D4,D5,D6,D7,该两个不同的存储地址集可包括指向存储区段R4及R5的一个存储地址集以及指向存储区段R52及R53的另一存储地址集;以及可用两个不同的存储地址集存取一组数据D44,D45,D46,D47,该两个不同的存储地址集可包括指向存储区段R44及R45的一个存储地址集以及指向存储区段R92及R93的另一存储地址集。
控制多通道存储设备102进入M-通道模式(例如,M=2的双通道模式)之前,任一高带宽引擎10或低带宽引擎12可发出读/写请求,用以存取可由存储区段R0-R47组成以及可跨存储通道109_1-109_4的存储空间。另外,当控制多通道存储设备102运行在M-通道模式(例如,M=2的双通道模式)时,任一高带宽引擎10或低带宽引擎12可发出读/写请求,用以存取可由存储区段R0,R1,R4,R5,…,R92,R93组成以及可跨存储通道109_1及109_2的存储空间。作为例子而非限制,当多通道存储设备102在N-通道模式(例如,N=4的四通道模式)时,可执行所提出的排序操作(sortingoperation),当多通道存储设备102在M-通道模式(例如,M=2的双通道模式)时,可执行所提出的排序操作,或当多通道存储设备102从N-通道模式(例如,N=4的四通道模式)切换至M-通道模式(例如,M=2的双通道模式)时,可执行所提出的排序操作。因而,在控制多通道存储设备运行在M-通道模式时、之前或之后,可执行提出的排序操作,以根据带宽需求顺序,排序存储空间的存储区段中已存储的数据。简单地说,可在任何时间执行所提出的排序操作,只要其在多通道存储设备102从M-通道模式(例如,M=2的双通道模式)切换至N-通道模式(例如,N=4的四通道模式)之前完成。为了清楚及简便起见,下面假设多通道存储设备102在M-通道模式(例如,M=2的双通道模式)时,可执行所提出的排序操作。然而,这仅是示意的目的,而不意图限制本发明。
在该实施例中,当控制多通道存储设备102运行在M-通道模式(例如,M=2的双通道模式),存储器存取控制电路103(特别地,DMA控制器106)可根据带宽需求顺序BR,对跨M-通道模式下使用的M个存储通道109_1,109_2的存储空间中的存储区段R0,R1,R4,R5,…,R92,R93的数据执行排序操作。例如,带宽需求顺序BR可以为降序,以便于可控制在地址为较高存储地址的存储区段中,存储由高带宽引擎存取的数据和/或具有较高存取频率的数据,以及可控制在地址为较低存储地址的存储区段中,存储由低带宽引擎存取的数据和/或可具有较低存取频率的数据。对于另一例子,带宽需求顺序BR可以为升序,以便于可控制在地址为较高存储地址的存储区段中,存储由低带宽引擎存取的数据和/或具有较低存取频率的数据,以及可控制在地址为较低存储地址的存储区段中,存储由高带宽引擎存取的数据和/或具有较高存取频率的数据。简单地说,可根据实际的设计考虑,调整带宽需求顺序BR。在一个例子中,可动态执行排序操作。在另一例子中,排序操作可至少部分地由能够运行软件的任意单元执行。
为了清楚及简便起见,如图4的右部分所示,下面假设带宽需求顺序BR可以设为降序。因而,关于存储区段R0,R1,R4,R5,…,R44,R45,DMA控制器106执行的排序操作可确保高带宽引擎10存取的数据和/或与较高存取频率关联的数据,存储在地址为较高存储地址的存储区段,以及低带宽引擎12存取的数据和/或与较低存取频率关联的数据,存储在地址为较低存储地址的存储区段。相似地,关于存储区段R48,R49,R52,R53,…,R92,R93,DMA控制器106也可确保高带宽引擎10存取的数据和/或与较高存取频率关联的数据,存储在地址为较高存储地址的存储区段,以及低带宽引擎12存取的数据和/或与较低存取频率关联的数据,存储在地址为较低存储地址的存储区段。例如,在执行排序操作之前,存储区段R8,R9,R56,R57中存储的一组数据D8,D9,D10,D11及存储区段R12,R13,R60,R61中存储的另一组数据D12,D13,D14,D15,可由高带宽引擎10存取和/或可与较高的存取频率关联;以及存储区段R28,R29,R76,R77中存储的一组数据D28,D29,D30,D31及存储区段R32,R33,R80,R81中存储的另一组数据D32,D33,D34,D35可由另一高带宽引擎10存取和/或与较高的存取频率关联。在执行排序操作之后,该组数据D8,D9,D10,D11可存储在存储区段R32,R33,R80,R81中,该组数据D12,D13,D14,D15可存储在存储区段R36,R37,R84,R85中,该组数据D28,D29,D30,D31可存储在存储区段R40,R41,R88,R89中,以及该组数据D32,D33,D34,D35可存储在存储区段R44,R45,R92,R93中。
当控制多通道存储设备102从M-通道模式(例如,M=2的双通道模式)切换至N-通道模式(例如,N=4的四通道模式)时,存储器存取控制电路103可控制一部分存储空间(如果M=2,其可由存储区段R48,R49,R52,R53,…,R92,R93组成,以及可跨M-通道模式下使用的M个存储通道109_1,109_2)中的存储区段的数据迁移至另一部分存储空间(如果L=2,其可由存储区段R2,R3,R6,R7,…,R46,R47组成,以及可在M-通道模式下不使用的L个存储通道109_3,109_4上)。在该实施例中,DMA控制器106可根据存储区段R48,R49,R52,R53,…,R92,R93的预定存储地址顺序MR,在部分存储空间的存储区段(如果M=2,其可由存储区段R48,R49,R52,R53,…,R92,R93组成,以及可跨M-通道模式下使用的M个存储通道109_1,109_2)中执行数据迁移。例如,前述带宽需求顺序BR可匹配存储地址顺序MR。
如图5的右部分所示,在第一时间点T1处,存储器存取控制电路103(特别地,DMA控制器106)对存储区段R92,R93中存储的数据D34,D35执行数据迁移,在紧随第一时间点T1之后的第二时间点T2处,可对存储区段R88,R89中存储的数据D30,D31执行数据迁移,在紧随第二时间点T2之后的第三时间点T3处,可对存储区段R84,R85中存储的数据D14,D15执行数据迁移,以及可在紧随第三时间点T3之后的第四时间点T4处,对存储区段R80,R81中存储的数据D10,D11执行数据迁移。这样,可在短时间内满足高带宽需求。例如,高带宽引擎可在短时间内获得所需的存储带宽。
所提出的图2所示的存储管理技术、所提出的图3所示的存储管理技术以及所提出的图4-5所示的存储管理技术中的每个可用于降低通道切换响应时间。在上述示例的实施例中,存储系统仅使用其中一个提出的存储管理技术。然而,这仅是用于示例的目的,而不意图限制本发明。可替换地,存储系统100可修改为使用多于一个的所提出的存储管理技术。例如,所提出的图2所示的存储管理技术及所提出的图3所示的存储管理技术都可用于相同的存储系统。又例如,所提出的图2所示的存储管理技术及所提出的图4-5所示的存储管理技术都可用于相同的存储系统。这些可替换的设计都落在本发明的范围内。
本领域技术人员将容易地看到,可在保留本发明教导的同时,做出设备和方法的许多修改和替换。因此,上述公开内容应理解为仅由所附权利要求书的界限和范围限制。
Claims (20)
1.一种管理多通道存储设备的方法,包含:
当控制所述多通道存储设备运行在M-通道模式时,预留所述多通道存储设备的跨N个存储通道的部分存储空间,其中在所述M-通道模式下不使用已预留的部分存储空间,M及N为正整数,以及M小于N;以及
当控制所述多通道存储设备从所述M-通道模式切换至N-通道模式时,在跨所述N个存储通道的所述已预留的部分存储空间中存取数据,其中所述N个存储通道在所述N-通道模式中使用。
2.如权利要求1所述的方法,其中在已预留的所述部分存储空间中存取数据,包含:
当控制所述M-通道模式下使用的经由M个存储通道存取的存储区域上的部分存储空间中的数据,迁移至所述M-通道模式下不使用的经由L个存储通道存取的存储区域上的部分存储空间时,在跨所述N个存储通道的所述已预留的部分存储空间中存取数据,所述N个存储通道在所述N-通道模式中使用,其中L为正整数,以及所述M个存储通道及所述L个存储通道包括在所述N个存储通道中。
3.如权利要求1所述的方法,其中当控制所述多通道存储设备运行在所述M-通道模式时,所述已预留的部分存储空间中没有存储有效数据。
4.如权利要求1所述的方法,其中N是M的整数倍。
5.如权利要求1所述的方法,其中当控制所述多通道存储设备从所述M-通道模式切换至所述N-通道模式时,引擎先存取所述经由M个存储通道存取的存储区域上的部分存储空间中的旧数据,以及接着存取跨所述N个存储通道的所述已预留的部分存储空间中的新数据。
6.如权利要求1所述的方法,其中当控制所述多通道存储设备从所述M-通道模式切换至所述N-通道模式时,指示第一引擎存取跨所述N个存储通道的所述已预留的部分存储空间中的数据,以及不指示第二引擎存取跨所述N个存储通道的所述已预留的部分存储空间中的所述数据,其中所述第一引擎的带宽需求高于所述第二引擎的带宽需求。
7.一种管理多通道存储设备的方法,包含:
当控制所述多通道存储设备从M-通道模式切换至N-通道模式时,在控制所述M-通道模式下使用的经由M个存储通道存取的存储区域上的部分存储空间中的至少一个第二存储区段的数据,迁移至所述M-通道模式下不使用的经由L个存储通道存取的存储区域上的部分存储空间之前,控制所述M-通道模式下使用的所述经由M个存储通道存取的存储区域上的所述部分存储空间中的至少一个第一存储区段的数据,迁移至所述M-通道模式下不使用的所述经由L个存储通道存取的存储区域上的所述部分存储空间;
其中M、L及N为正整数,以及M小于N;以及所述至少一个第一存储区段所关联的带宽需求高于所述至少一个第二存储区段所关联的带宽需求。
8.如权利要求7所述的方法,其中所述M个存储通道及所述L个存储通道包括在所述N-通道模式下使用的N个存储通道中。
9.如权利要求7所述的方法,还包含:
在所述M-通道模式下,记录所述至少一个第一存储区段的存储地址;
其中,控制所述M-通道模式下使用的所述经由M个存储通道存取的存储区域上的所述部分存储空间中的所述至少一个第一存储区段中的数据,包含:
根据所记录的所述至少一个第一存储区段的存储地址,对所述经由M个存储通道存取的存储区域上的所述部分存储空间中的所述至少一个第一存储区段执行数据迁移。
10.如权利要求7所述的方法,还包含:
控制所述多通道存储设备运行在所述M-通道模式之时或之前,根据带宽需求顺序,排序存储空间中的存储区段的已存储的数据;
其中,控制所述M-通道模式下使用的经由M个存储通道存取的存储区域上的所述部分存储空间中的所述至少一个第一存储区段的数据,包含:
根据所述存储区段的预定存储地址顺序,对所述经由M个存储通道存取的存储区域上的所述部分存储空间中的存储区段执行数据迁移。
11.一种用于管理多通道存储设备的存储控制系统,包含:
模式控制模块,用于控制所述多通道存储设备运行在M-通道模式以及还用于控制所述多通道存储设备从所述M-通道模式切换至N-通道模式,其中M及N为正整数,以及M小于N;以及
存储器存取控制电路,其中当控制所述多通道存储设备运行在所述M-通道模式时,所述存储器存取控制电路用于预留所述多通道存储设备的跨N个存储通道的部分存储空间,其中在所述M-通道模式下不使用已预留的部分存储空间;以及当控制所述多通道存储设备从所述M-通道模式切换至所述N-通道模式时,所述存储器存取控制电路用于在跨所述N个存储通道的所述已预留的部分存储空间中执行数据存取,其中所述N个存储通道在所述N-通道模式中使用。
12.如权利要求11所述的存储控制系统,其中当控制所述M-通道模式下使用的经由M个存储通道存取的存储区域上的部分存储空间中的数据,迁移至所述M-通道模式下不使用的经由L个存储通道存取的存储区域上的部分存储空间时,所述存储器存取控制电路在跨所述N个存储通道的所述已预留的部分存储空间中存取数据,所述N个存储通道在所述N-通道模式中使用,其中L为正整数,以及所述M个存储通道及所述L个存储通道包括在所述N个存储通道中。
13.如权利要求11所述的存储控制系统,其中当控制所述多通道存储设备运行在所述M-通道模式时,所述已预留的部分存储空间中没有存储有效数据。
14.如权利要求11所述的存储控制系统,其中N是M的整数倍。
15.如权利要求11所述的存储控制系统,其中当控制所述多通道存储设备从所述M-通道模式切换至所述N-通道模式时,引擎先经由所述存储器存取控制电路存取所述经由M个存储通道存取的存储区域上的部分存储空间中的旧数据,以及接着经由所述存储器存取控制电路存取跨所述N个存储通道的所述已预留的部分存储空间中的新数据。
16.如权利要求11所述的存储控制系统,其中当控制所述多通道存储设备从所述M-通道模式切换至所述N-通道模式,指示第一引擎存取跨所述N个存储通道的所述已预留的部分存储空间中的所述数据,以及不指示第二引擎存取已预留的跨所述N个存储通道的部分存储空间中的数据,其中所述第一引擎的带宽需求高于所述第二引擎的带宽需求。
17.一种用于管理多通道存储设备的存储控制系统,包含:
模式控制模块,用于控制所述多通道存储设备从M-通道模式切换至N-通道模式,其中M及N为正整数,以及M小于N;以及
存储器存取控制电路,其中当控制所述多通道存储设备从所述M-通道模式切换至所述N-通道模式时,所述存储器存取控制电路用于在控制所述M-通道模式下使用的经由M个存储通道存取的存储区域上的部分存储空间中的至少一个第二存储区段中的数据,迁移至所述M-通道模式下不使用的经由L个存储通道存取的存储区域上的部分存储空间之前,控制所述M-通道模式下使用的所述经由M个存储通道存取的存储区域上的所述部分存储空间中的至少一个第一存储区段中的数据,迁移至所述M-通道模式下不使用的所述经由L个存储通道存取的存储区域上的所述部分存储空间,其中L为正整数,以及所述至少一个第一存储区段所关联的带宽需求高于所述至少一个第二存储区段所关联的带宽需求。
18.如权利要求17所述的存储控制系统,其中所述M个存储通道及所述L个存储通道包括在所述N-通道模式下使用的所述N个存储通道中。
19.如权利要求17所述的存储控制系统,其中所述存储器存取控制电路还用于在所述M-通道模式下,记录所述至少一个第一存储区段的存储地址;以及所述存储器存取控制电路根据所记录的至少一个第一存储区段的存储地址,对所述经由M个存储通道存取的存储区域上的所述部分存储空间中的所述至少一个第一存储区段执行数据迁移。
20.如权利要求17所述的存储控制系统,其中控制所述多通道存储设备运行在所述M-通道模式之时或之前,所述存储器存取控制电路还用于根据带宽需求顺序,排序存储空间中的存储区段的已存储的数据,其中所述存储器存取控制电路根据所述存储区段的预定存储地址顺序,对所述经由M个存储通道存取的存储区域上的所述部分存储空间中的存储区段执行数据迁移。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462037842P | 2014-08-15 | 2014-08-15 | |
US62/037,842 | 2014-08-15 | ||
PCT/CN2015/087009 WO2016023519A1 (en) | 2014-08-15 | 2015-08-14 | Method for managing multi-channel memory device to have improved channel switch response time and related memory control system |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105531682A true CN105531682A (zh) | 2016-04-27 |
Family
ID=55303888
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580001797.XA Pending CN105531682A (zh) | 2014-08-15 | 2015-08-14 | 管理多通道存储设备以具有改进的通道切换响应时间的方法及相关的存储控制系统 |
CN201610126203.4A Withdrawn CN106469023A (zh) | 2014-08-15 | 2016-03-07 | 管理多通道存储设备的方法及相关的存储控制系统 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610126203.4A Withdrawn CN106469023A (zh) | 2014-08-15 | 2016-03-07 | 管理多通道存储设备的方法及相关的存储控制系统 |
Country Status (3)
Country | Link |
---|---|
US (2) | US9965384B2 (zh) |
CN (2) | CN105531682A (zh) |
WO (1) | WO2016023519A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113535079A (zh) * | 2020-04-17 | 2021-10-22 | 爱思开海力士有限公司 | 存储器控制器以及具有存储器控制器的存储装置 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10033995B2 (en) | 2015-03-01 | 2018-07-24 | Nextvr Inc. | Methods and apparatus for supporting content generation, transmission and/or playback |
JP2018077787A (ja) * | 2016-11-11 | 2018-05-17 | 富士通株式会社 | ストレージ制御装置およびストレージ制御プログラム |
TWI645288B (zh) * | 2017-07-04 | 2018-12-21 | 慧榮科技股份有限公司 | 資料儲存裝置以及其操作方法 |
KR20190052315A (ko) * | 2017-11-08 | 2019-05-16 | 에스케이하이닉스 주식회사 | 메모리 장치 및 그것을 포함하는 메모리 시스템 |
KR102482896B1 (ko) * | 2017-12-28 | 2022-12-30 | 삼성전자주식회사 | 이종 휘발성 메모리 칩들을 포함하는 메모리 장치 및 이를 포함하는 전자 장치 |
KR20200075565A (ko) * | 2018-12-18 | 2020-06-26 | 에스케이하이닉스 주식회사 | 스마트 카 시스템 |
CN110750328A (zh) * | 2019-09-23 | 2020-02-04 | 东软集团股份有限公司 | 一种设备访问方法、装置及终端设备 |
US11449346B2 (en) * | 2019-12-18 | 2022-09-20 | Advanced Micro Devices, Inc. | System and method for providing system level sleep state power savings |
CN111526315B (zh) * | 2020-04-28 | 2023-03-14 | 杭州海康威视数字技术股份有限公司 | 视频数据的存储方法、装置、系统及设备 |
US11200112B1 (en) | 2020-08-24 | 2021-12-14 | International Business Machines Corporation | Method and apparatus to reduce bandwidth overhead of CRC protection on a memory channel |
CN115687196B (zh) * | 2022-12-30 | 2023-04-14 | 摩尔线程智能科技(北京)有限责任公司 | 用于对多通道存储器进行控制的方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1588335A (zh) * | 2004-07-08 | 2005-03-02 | 威盛电子股份有限公司 | 存储装置存取方法及相关装置 |
CN102541770A (zh) * | 2010-11-16 | 2012-07-04 | 美光科技公司 | 具有嵌入式通道选择的多通道存储器 |
CN102959530A (zh) * | 2010-06-25 | 2013-03-06 | 高通股份有限公司 | 多通道多端口存储器 |
US20130304981A1 (en) * | 2012-05-08 | 2013-11-14 | Marvell World Trade Ltd. | Computer System and Method of Memory Management |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6178517B1 (en) * | 1998-07-24 | 2001-01-23 | International Business Machines Corporation | High bandwidth DRAM with low operating power modes |
TW200719141A (en) | 2005-11-07 | 2007-05-16 | Cheertek Inc | Flash memory access method and circuit of an embedded system |
US20080005516A1 (en) | 2006-06-30 | 2008-01-03 | Meinschein Robert J | Memory power management through high-speed intra-memory data transfer and dynamic memory address remapping |
DE112011106032B4 (de) * | 2011-12-22 | 2022-06-15 | Intel Corporation | Energieeinsparung durch Speicherkanal-Abschaltung |
-
2015
- 2015-08-14 CN CN201580001797.XA patent/CN105531682A/zh active Pending
- 2015-08-14 US US14/915,893 patent/US9965384B2/en active Active
- 2015-08-14 WO PCT/CN2015/087009 patent/WO2016023519A1/en active Application Filing
- 2015-11-03 US US14/930,665 patent/US10037275B2/en active Active
-
2016
- 2016-03-07 CN CN201610126203.4A patent/CN106469023A/zh not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1588335A (zh) * | 2004-07-08 | 2005-03-02 | 威盛电子股份有限公司 | 存储装置存取方法及相关装置 |
CN102959530A (zh) * | 2010-06-25 | 2013-03-06 | 高通股份有限公司 | 多通道多端口存储器 |
CN102541770A (zh) * | 2010-11-16 | 2012-07-04 | 美光科技公司 | 具有嵌入式通道选择的多通道存储器 |
US20130304981A1 (en) * | 2012-05-08 | 2013-11-14 | Marvell World Trade Ltd. | Computer System and Method of Memory Management |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113535079A (zh) * | 2020-04-17 | 2021-10-22 | 爱思开海力士有限公司 | 存储器控制器以及具有存储器控制器的存储装置 |
CN113535079B (zh) * | 2020-04-17 | 2024-01-26 | 爱思开海力士有限公司 | 存储器控制器以及具有存储器控制器的存储装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2016023519A1 (en) | 2016-02-18 |
US10037275B2 (en) | 2018-07-31 |
US20160054947A1 (en) | 2016-02-25 |
US9965384B2 (en) | 2018-05-08 |
US20160217072A1 (en) | 2016-07-28 |
CN106469023A (zh) | 2017-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105531682A (zh) | 管理多通道存储设备以具有改进的通道切换响应时间的方法及相关的存储控制系统 | |
KR101366075B1 (ko) | 멀티코어 플랫폼에서의 태스크 이동 방법 및 장치 | |
US10002072B2 (en) | Method and apparatus for controlling data migration in multi-channel memory device | |
EP4239473A1 (en) | Container-based application management method and apparatus | |
WO2016160165A1 (en) | Cost optimized single level cell mode non-volatile memory for multiple level cell mode non-volatile memory | |
US20170199814A1 (en) | Non-volatile random access system memory with dram program caching | |
KR20200016809A (ko) | 솔리드-스테이트 스토리지 미디어의 격리 영역들의 가상화 | |
US9740437B2 (en) | Mechanism to adapt garbage collection resource allocation in a solid state drive | |
US11556469B2 (en) | Method and apparatus for using a storage system as main memory | |
KR101901587B1 (ko) | 연성 실시간 운영체제의 실시간성을 확보하는 방법 및 장치 | |
CN1963762A (zh) | 堆栈管理系统及方法 | |
US8914571B2 (en) | Scheduler for memory | |
US20130086352A1 (en) | Dynamically configurable storage device | |
US20220413919A1 (en) | User interface based page migration for performance enhancement | |
CN115543530A (zh) | 一种虚拟机迁移方法以及相关装置 | |
US20140372734A1 (en) | User-Level Hardware Branch Records | |
CN110618872B (zh) | 混合内存动态调度方法及系统 | |
CN112654965A (zh) | 动态模块的外部分页和交换 | |
US10509727B1 (en) | Method and apparatus for performing task-level cache management in electronic device | |
US20100211704A1 (en) | Data Processing Apparatus | |
TW202209122A (zh) | 記憶體共享 | |
JP6115564B2 (ja) | データ処理システム、半導体集積回路およびその制御方法 | |
CN110297784B (zh) | 一种虚拟权重存储器系统及数据处理方法 | |
CN115729851A (zh) | 一种数据预取方法以及相关设备 | |
CN110809754A (zh) | 用于计算设备中的动态缓冲器大小设定的系统和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160427 |