CN100583067C - 用于访问信息的方法、存储控制器和信息处理系统 - Google Patents
用于访问信息的方法、存储控制器和信息处理系统 Download PDFInfo
- Publication number
- CN100583067C CN100583067C CN200710146623A CN200710146623A CN100583067C CN 100583067 C CN100583067 C CN 100583067C CN 200710146623 A CN200710146623 A CN 200710146623A CN 200710146623 A CN200710146623 A CN 200710146623A CN 100583067 C CN100583067 C CN 100583067C
- Authority
- CN
- China
- Prior art keywords
- queue
- address
- memory
- stored
- controller
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- 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/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1642—Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
Abstract
一种存储控制器,包括具有地址队列位置的地址队列,所述地址队列位置可以扩展以存储指向存储器中相继位置的地址命令。用该方式,多个地址命令可以合并到一个共同的扩展地址队列位置。在一个实施例中,每个地址队列位置包括一个主信息部分和一个补充信息部分。所述补充信息部分小于所述主信息部分。所述主信息部分存储第一地址命令的目标地址信息。当地址队列接收的地址命令的目标地址与第一命令的目标地址相继时,所述补充信息部分存储第二命令的目标地址的子集。
Description
技术领域
本发明一般地涉及存储器系统,并且更特别地,涉及信息处理系统使用的存储器系统的指令或命令队列。
背景技术
信息处理系统(IHS)可以包括一个或多个地址队列,其存储指定IHS应访问的存储器位置的信息。存储器可以包括易失性存储器如系统存储器和非易失性存储器如介质驱动器。对于易失性存储器如系统存储器,IHS典型地包括具有地址队列的存储控制器。地址队列一般地包括多个锁存器,每个锁存器存储各队列条目如存储器访问命令。队列中的每个存储器访问命令包括指向存储控制器应访问的系统存储器中各目标地址或位置的地址信息。地址队列设计者通常希望队列尽可能大以便存储最大数量的可执行存储器访问命令。然而,较大的队列比较小的队列需要更大的功率来运行。而且,较大队列比较小的队列要消耗数量更多的贵重半导体晶片材料。
典型的地址队列包括接收队列条目的输入和提供队列条目用于执行的输出。更特别地,所述地址队列输入接收队列条目并且将队列条目存储在各锁存器中。队列条目在执行之前从队列输入移动到队列输出的过程中在队列中从一个锁存器转移(percolate)到另一个锁存器。当系统存储器包括多个页或组时,页模式逻辑可以将地址队列的输出与系统存储器连接。如果从地址队列输出退出的两个存储器访问命令指向同一组和行的系统存储器,则页模式逻辑可以将该两个存储器访问命令结合以更有效地访问存系统存储器。这种页模式逻辑配置可以提高存储器访问效率,但并没有解决物理上较大的地址队列的大小问题。
需要一种地址队列装置和方法解决上述问题。
发明内容
相应地,在一个实施例中,公开了一种访问存储器中信息的方法。该方法包括提供包括多个队列条目位置的地址队列,每个队列条目位置包括一个主信息位置和一个补充信息位置。该方法也包括由队列控制器测试第一和第二存储器访问命令以确定第一和第二存储器访问命令是否指向存储器中相继的位置。该方法进一步包括:如果该测试步骤确定第一和第二存储器访问命令指向存储器中相继的位置,则将第一存储器访问命令存储在特定队列条目位置的主信息位置,并将第二存储器访问命令的一部分存储在同一队列条目位置的补充信息位置。该方法还进一步包括:如果该测试步骤确定第一和第二存储器访问命令并不指向存储器中相继的位置,则将第一存储器访问命令和第二存储器访问命令分别存储在存储器队列的不同队列条目位置。
在另一个实施例中,公开了一种访问存储器中信息的方法。该方法包括提供包含多个队列条目位置的地址队列,每个队列条目位置包括一个主信息位置和一个补充信息位置。该方法也包括由队列控制器接收多个存储器访问命令,包括指向目标地址的新存储器访问命令。该方法进一步包括:如果新存储器访问命令的目标地址对应于存储在特定队列条目位置的主信息位置的另一个存储器访问命令的目标地址,则由队列控制器将该新存储器访问命令的目标地址的子集存储在该特定队列条目位置的补充信息位置。该方法还进一步包括:否则队列控制器将新存储器访问命令的完整目标地址存储在该特定的队列条目位置以外的一个队列条目位置的主信息位置。
在另一个实施例中,公开了一种存储控制器,其包括队列控制器,该队列控制器接收多个存储器访问命令,其中包括指向目标地址的新存储器访问命令。该存储控制器也包括连接到该队列控制器的地址队列,该地址队列包括多个队列条目位置,每个队列条目位置包括一个主信息位置和一个补充信息位置。在这个实施例中,如果该新存储器访问命令的目标地址对应于存储在特定队列条目位置的主信息位置的另一个存储器访问命令的目标地址,则该队列控制器将该新存储器访问命令的目标地址的子集存储在该特定队列条目位置的补充信息位置。否则,该队列控制器将该新存储器访问命令的完整目标地址存储在该特定的队列条目位置以外的一个队列条目位置的主信息位置。
附图说明
附图所示仅为本发明的示例性实施例,并且因此不限制本发明的范围,因为本发明的概念也适用于其他具有相同效果的实施例。
图1示出了所公开的存储控制器和地址队列方法的一个实施例。
图2示出了图1中地址队列的更为详细的配置。
图3示出了描述了所公开地址队列方法的一个实施例的处理流程的流程图。
图4示出了使用所公开的存储控制器和地址队列的代表性的信息处理系统。
具体实施方式
图1示出了存储器访问系统100的一个实施例,该系统包括连接到系统存储器110的存储控制器105。系统存储器110包括组1,2,...,一起构成存储器的页。系统存储器110包括多个存储器位置或条,每个位置对应于各个地址。存储器的页是系统存储器110提供的地址空间的细分。
在一个实施例中,系统100在输入100A接收存储器访问命令的序列,例如存储器写命令。每个存储器写命令包括一个存储器写地址,该存储器写地址指定存储控制器105应在系统存储器110中写入数据或信息的位置。该存储器写命令也包括存储控制器105应写入系统存储器110中指定地址的数据的指示。尽管在该特定的例子中系统100执行写操作,但同样的方法也适用于读操作。术语“存储器访问命令”包括存储器写命令和存储器读命令。存储器访问命令也称为地址命令。
存储控制器105包括连接到地址队列120的输入120A的队列条目处理器107A。地址队列120接收包括地址命令如存储器访问命令的命令或指令流。地址队列120包括用于存储地址命令的多个队列地址位置Q0,Q1,Q2,...Q7,称为地址条目。每个地址位置包括一个主信息位置和一个较小的补充信息位置。例如,地址位置Q0包括一个45位的主信息位置Q0-M和一个5位的补充信息位置Q0-S。地址队列120的主信息位置Q0-M,Q1-M,Q2-M,...Q7-M和补充信息位置Q0-S,Q1-S,Q2-S,...Q7-S可以采取比本例中更大或更小的位数,但只要该主信息位置比补充信息位置包括更多的位。在一个实施例中,每个主信息位置呈现相同的位数并且该补充信息位置呈现相同的较少的位数。尽管在该特定的实施例中,地址队列120包括8个队列条目位置,但根据特定的应用,地址队列120可以包括多于或少于8个的队列条目位置。
存储控制器105能够将两个相邻的地址命令合并到单个地址队列位置例如地址队列位置Q0。为此,队列条目处理器107A测试所通过的每个地址命令以确定该地址命令是否指向一个系统存储器目标地址,该系统存储器目标地址与该地址命令指令流中另一个命令所指向的系统存储器目标地址相邻或相继。例如,在一个实施例中,队列条目处理器107A接收输入100A提供给队列条目处理器107A的地址命令流中的第一地址命令,其后跟随第二地址命令。由于在地址命令流中第一地址命令紧随第二地址命令,因此第一和第二地址命令是相邻命令。如果队列条目处理器107A确定第一地址命令和第二地址命令引用或指向系统存储器110中的相继地址,则队列条目处理器107A将第一地址命令存储在地址队列120的主信息位置Q0-M,并且将第二地址命令的一部分存储在较小的补充信息位置Q0-S。由于第二地址命令指向与第一地址命令指向的地址空间相继的地址空间,补充信息位置Q0-S无需存储整个地址命令。在一个实施例中,补充信息位置Q0-S存储完整地址命令的子集,也就是地址命令的最低有效位(LSB)。这提供最小数量的信息,存储控制器可以用该信息与主信息位置的地址一起指定第二地址命令的目标地址。补充信息位置如Q0-S可以存储比第二地址命令的LSB更多的信息,例如命令的目标地址的存储器组、级、行和列信息,但是并不需要如此。补充信息位置Q0-S越小,晶片材料和包含此电路的晶片的功耗的效率越高。在上述例子中,存储控制器105由此在地址队列的同一条目即条目Q0中存储了两个地址命令。
该压缩方法对于流数据最有效,即相邻指令指向系统存储器的相邻或相继地址的地址命令指令流。如果队列条目处理器107A确定第一和第二地址命令并不指向系统存储器110的相继地址,则第一和第二地址命令不能够如前文所述压缩到同一个队列条目位置。替代地,队列条目处理器107A将第一地址命令存储在主信息位置Q0-M并且将第二地址命令存储在另一个主信息位置Q1-M。在此情况下,存储控制器105由此将两个地址命令存储在不同的地址队列条目中,即条目或队列地址位置Q0和Q1。
随着时间过去,地址队列120存储的该地址命令从输入120A移动到输出120B。换句话说,当队列条目处理器107A在队列条目Q0中加入新地址命令时,以前在队列地址位置Q0中的地址命令移动到队列地址位置Q1。随着更多地址命令流入地址队列120,该过程继续,并且地址命令最终到达队列输出120B,随后在队列输出120B发生指定的存储器访问。写组忙逻辑130连接在地址队列120和系统存储器110之间。写组忙逻辑130测试以确认所有存储器计时要求是否满足以便向存储器组发出更多命令。页模式逻辑125连接在地址队列输出120B和系统存储器110之间。页模式逻辑125检测到达系统存储器110同一页的命令并且允许不经过存储器组预充电时间就连续发出这样的命令。这允许存储控制器105更好地利用存储器。
图2示出存储控制器105及其地址队列120的更多实施细节。图2和图1相比较时相同的元件采用相同的参考标号。存储控制器105包括队列控制器107,队列控制器107包括队列条目处理器107A,队列加载器逻辑107B和比较器组107C。地址队列120中每个队列地址位置Q0,Q1...Q7都包括一个输入和一个输出。一个地址队列位置的输出馈入其下紧邻的地址位置队列的输入。例如,如馈线120-1所示,队列地址位置Q0的输出馈入队列地址位置Q1的输入。如馈线120-2所示,队列地址位置Q1的输出馈入队列地址位置Q2的输入;如馈线120-3所示,队列地址位置Q2的输出馈入队列地址位置Q3的输入,等等,直至队列地址位置Q7,地址队列结束为止。随着地址条目退出队列地址位置Q7,存储控制器105访问该条目的目标地址所对应的系统存储器110中的信息。
新存储器访问命令是描述进入队列控制器107的队列条目处理器107A的地址命令的术语。地址队列120可能已经在其条目Q0,Q1,...Q7中存储了一个或多个地址命令。队列条目处理器107A确定地址队列120是否在地址队列120的主信息位置或补充信息位置存储了一个新进入的存储器访问命令。队列控制器107包括队列加载器逻辑107B,队列加载器逻辑107B使用比较器组107C的信息做出此判断。如所示出的那样,比较器组107C包括分别连接到每个队列地址位置Q0,Q1,...Q7的比较器C0,C1,...C7。该比较器监视每个队列地址位置Q0,Q1,...Q7的输出以确定地址队列输入120A的新存储器访问命令的目标地址是否与队列地址位置Q0,Q1,...Q7已经存储的任何目标地址匹配。在一个实施例中,该比较器在比较过程中排除列地址。比较器组107C由此通知队列加载器逻辑107B是否地址队列120显示有命中,即新存储器访问命令的目标地址的非列地址部分与地址队列120中已经存储的目标地址的非列地址部分匹配。比较器组107C还通知队列加载器逻辑107B是否地址队列120显示未命中,即新存储器访问命令的目标地址的非列地址部分与地址队列120中已经存储的目标地址的非列地址部分不匹配。在命中的情况下,则队列加载器逻辑107B使队列条目处理器107A将当前存储器访问命令的目标地址的子集存储在所命中的条目Q0-S,Q1-S,...Q7-S的特定补充信息位置。
更详细地,比较器组107C的每个比较器都包括一个连接到队列条目处理器107A的输出的公共输入,使所有比较器都接收到队列条目处理器107A提供的新存储器写地址。如所示出的那样,比较器C0,C1,...C7的其他输入分别连接到队列地址位置Q0,Q1,...Q7的输出。比较器C0,C1,...C7的输出连接到队列加载器逻辑107B使得队列加载器逻辑107B可以控制存储器队列条目处理器107A何时能够在补充信息位置Q0-S,Q1-S,...Q7-S存储补充信息。换句话说,队列加载器逻辑107B监视比较器C0,C1,...C7以确定指示队列条目处理器107A将地址队列120中的每个新条目加载到何处。
比较器C0,C1,...C7集合地动作,将每个进入地址队列120的新存储器写地址的非列地址部分与任何已经存储在主信息位置Q0-M,Q1-M,...Q7-M的存储器写地址的非列地址部分相比较。如果比较器C0,C1,...C7之一的输出变成激活状态,这种状态改变即构成命中。该命中表明新存储器写地址包括与主信息位置Q0-M,Q1-M,...Q7-M之一已经存储的一个存储器写地址相同的地址信息。例如,如果比较器C0的输出变成激活状态,该命中表明来自处理器107A的新存储器写地址包括与主信息位置Q0-M存储的存储器写地址相同的地址信息。该命中情况造成队列加载器逻辑107B指示队列条目处理器107A将来自新存储器写地址的地址信息存储在系统存储器110中与主信息位置Q0-M将在系统存储器110中存储的信息相继的地址位置。更特别地,当发生这种命中的情况时,队列条目处理器107A并不将新存储器写地址所引用的整个地址或完整地址存储在主存储信息位置Q0-M,而是将新存储器写地址的子集存储在补充信息位置Q0-S。如前文所述,该子集可以包括新存储器写地址的最低有效位(LSB),即新存储器写地址中不同于主信息位置Q0-M所存储的地址的那些位。这样,这种情况的结果是将多个存储器访问命令合并到单个发生命中的地址队列位置,在该特定的例子中即地址位置Q0。在一个实施例中,当对应主信息位置Q0-M和补充信息位置Q0-S的条目最终退出地址队列120时,存储控制器105将这些条目的数据存储在系统存储器110的相继地址。
然而,如果上述比较操作中没有命中的结果,这种情况表明该新存储器写地址并不引用系统存储器110中与主信息位置QO-M,Q1-M,...Q7-M所存储的地址之一相继或相邻的地址空间。在此情况下,地址队列120将新存储器写地址作为一个完整目标地址条目存储在队列地址位置Q1,即其主信息位置Q1-M。替代地,地址队列120将位置Q0-M中的存储器地址命令推进到位置Q1-M并且将新存储器写地址存储在位置Q0-M。与前述情况相比,该情况不会带来将多个存储器访问命令或条目合并到单一地址队列位置的结果。在此特定情况下,两个寻址到系统存储器110中不相继地址空间的存储器访问命令的结果是将所引用的地址分别存储在不同的队列地址位置Q0和Q1。
上文提到地址队列120中每个地址队列位置的输出连接到其下紧邻的地址队列位置的输入。如图2所示,每个地址队列位置的输出也连接到比较器组107C的各个比较器。为方便说明,图2将连接到下一个位置的地址队列位置的输出与该地址队列位置连接到各个比较器的输出单独示出。然而实际上示出的这两个输出可以代表一个地址队列位置的同一个物理输出。例如,馈入线120-1和比较器C0的较低输入实际上可以连接到地址队列位置Q0的同一个物理输出。
图3是一个流程图,示出了存储控制器105用于地址队列120的处理存储器访问命令的方法的一个实施例。处理流程开始于起始步骤300。如步骤305,在信息处理系统(IHS)中,处理器或系统总线向存储控制器提供新存储器访问命令。为了讨论目的,地址队列120已经充满了来自以前的存储器访问命令如以前的写操作的地址或条目。地址队列120存储的每个地址命令或条目可以指定系统存储器110中不同的目标地址。该新存储器访问命令是跟随在地址队列中已经产生条目的指令序列中的地址命令之后的下一个存储器访问命令。
在步骤310,队列条目处理器107A接收新存储器访问命令。比较器C0,C1,...C7从队列条目处理器107A接收该新存储器访问命令的目标地址。在步骤315,比较器C0,C1,...C7将该新存储器访问命令的目标地址的非列地址部分与地址队列中每个主信息位置QO-M,Q1-M,...Q7-M的目标地址的非列地址部分相比较。在步骤320,如果比较操作的结果是命中,则该新存储器访问命令的目标地址的非列地址部分与该地址队列的主信息位置中一个已存在条目的目标地址例如第一队列条目Q0-M中的目标地址的非列地址部分相匹配。在步骤325,该匹配或命中表明新存储器访问命令的目标地址与Q0-M中存储的地址命令的目标地址相继。在这种情况下,该地址队列无需存储该新存储器访问命令的整个目标地址。该地址队列将该新存储器访问命令的目标地址的子集存储在匹配发生的地址队列条目Q0的补充信息位置Q0-S。随后处理流程回到步骤305,其中存储控制器105接收下一个新存储器访问命令并且重复该处理。
然而,如果步骤320没有发生命中,则该新存储器访问命令的目标地址与地址队列120已经存储的任何地址命令条目都不相继。在此情况下,第一地址队列位置Q0的地址命令条目移动到第二地址队列位置Q1并且随后地址队列120将该新存储器访问命令的完整目标地址存储在队列地址位置Q0,即Q0-M。处理流程随后继续回到步骤305,其中存储控制器105接收下一个新存储器访问命令并且重复该处理。
在一个实施例中,比较操作315检查确定该新存储器访问命令是否指向位于与已经存储于地址队列中一个主信息位置的条目相同的存储器行中的存储器目标地址。在另一个实施例中,比较操作315检查确定该新存储器访问命令是否指向位于与已经存储于地址队列中一个主信息位置的条目相同的存储器页上的存储器目标地址。如果该比较操作确定该新存储器访问命令确实指向位于与已经存储于地址队列中一个主信息位置的条目相同的页上的存储器目标地址,则在判定步骤320发生一个命中。在发生该命中的情况下,地址队列120将该新存储器访问指令的整个列地址作为地址队列的一个条目存储。尽管该步骤增加了地址队列中补充信息位置的大小,但也增加了地址队列使用补充信息位置的机会。在一个实施例中,地址队列120存储整个命令,包括目标地址、类型位和标签位。
图4示出了信息处理系统(IHS)400,该系统使用包括地址队列120的存储控制器105以提供更有效的信息处理。IHS 400例如包括处理器402如单核或多核处理器。IHS 400包括将处理器402连接到系统存储器110和视频图形控制器420的总线410。显示器425连接到视频图形控制器420。非易失性存储器430例如硬盘驱动器、CD驱动器、DVD驱动器、介质驱动器或其他非易失性存储器连接到总线410以向IHS 400提供永久的信息存储。操作系统435加载到存储器110以管理IHS 400的操作。I/O设备440例如键盘和鼠标指示设备连接到总线410。一个或多个扩展总线445例如USB、IEEE 1394总线、ATA、SATA、PCI、PCIE和其他总线连接到总线410以促进外围设备和设备到IHS 400的连接。网络适配器450连接到总线410使得HIS 400有线地或无线地连接到网络和其他信息处理系统。尽管图4示出了一个采用存储控制器105的IHS,IHS也可以采取很多形式。例如,IHS 400可以采用台式机、服务器、便携式计算机、膝上型计算机、笔记本计算机或其他规格的计算机或数据处理系统的形式。IHS 400可以采取其他规格例如游戏装置、个人数字助理(PDA)、便携式电话装置、通信装置或包括处理器和存储器的其他装置。IHS 400从非易失性存储器430将应用软件460加载到存储器110供处理器402执行。
前文公开了一种存储控制器系统,在一个实施例中,其在地址队列内对指向存储器中相继位置的地址命令进行组合。这些地址命令或存储器访问命令可以包括写操作例如存储操作。这些地址命令或存储器访问命令也可以包括读操作例如加载操作。在一个实施例中,该存储控制器将显示相继目标地址的地址命令合并到地址队列内的同一个队列地址位置或条目中。在其他实施例中该存储控制器将包括在存储器同一页内的目标地址的相关地址命令合并在一个队列地址位置或队列条目位置。该方法对于指令经常地引用相继目标地址的指令流执行得特别好,例如在流数据的情况下。通过提供具有主信息位置和补充信息位置的扩展队列地址,地址队列可以将多个地址命令合并到一个队列地址位置或条目中。上述特定的例子示出了用于对存储器访问命令例如写命令进行排队的方法,该方法也适用于读操作。尽管所示出的特定的实施例涉及系统存储器的存储控制器的地址队列,该方法也应用于其他地址队列。例如,该方法适用于介质驱动器例如磁或光介质驱动器、闪存驱动器的地址控制器的地址队列,和其他易失性及非易失性存储器的地址队列。实际上,图1的存储器110可以采取这些能够从本文该排队方法获益的不同的存储器形式。
本领域的技术人员通过本说明可以理解本发明可以进行变更和变化。相应地,本说明书向本领域的技术人员说明了实现本发明的方式,并且仅作为阐释目的。所示出和所描述的本发明的形式构成了本实施例。本领域的技术人员可以在形式、尺寸和部分设置上采取各种变化。例如,本领域的技术人员可以采用对等元件替代本文所示和所描述的元件。而且,本领域的技术人员通过本发明的本说明,在不背离本发明范围的情况下可以独立于其他特性的使用而使用本发明的某些特性。
Claims (19)
1.一种访问存储器中信息的方法,所述方法包括:
提供包括多个队列条目位置的地址队列,每个队列条目位置包括一个主信息位置和一个补充信息位置;
由队列控制器测试第一和第二存储器访问命令以确定所述第一和第二存储器访问命令是否指向存储器中相继的存储器位置;
如果所述测试步骤确定所述第一和第二存储器访问命令指向所述存储器中相继的存储器位置,将所述第一和第二存储器访问命令存储在所述地址队列的同一队列条目位置,其中将所述第一存储器访问命令存储在特定队列条目位置的主信息位置,并将所述第二存储器访问命令的一部分存储在同一队列条目位置的补充信息位置;并且
如果所述测试步骤确定该第一和第二存储器访问命令不指向所述存储器中相继的存储器位置,将所述第一存储器访问命令和所述第二存储器访问命令分别存储在所述地址队列的不同队列条目位置。
2.根据权利要求1的方法,其中所述队列条目位置的补充信息位置比所述队列条目位置的主信息位置存储的位数少。
3.根据权利要求1的方法,其中所述将所述第一存储器访问命令和所述第二存储器访问命令分别存储在所述地址队列的不同队列条目位置的步骤包括:
将所述第一存储器访问命令存储在特定队列条目位置的主信息位置;并且
将所述第二存储器访问命令存储在所述地址队列的另一个队列条目位置的主信息位置。
4.根据权利要求1的方法,其中所述地址队列的所述队列条目位置的每个主信息位置都能够存储各存储器访问命令的完整目标地址,并且所述地址队列的每个所述补充信息位置都能够存储所述目标地址的子集。
5.一种访问存储器中信息的方法,所述方法包括:
提供包括多个队列条目位置的地址队列,每个队列条目位置包括一个主信息位置和一个补充信息位置;
由队列控制器接收多个存储器访问命令,包括一个指向目标地址的新存储器访问命令;
如果所述新存储器访问命令的目标地址与存储于特定队列条目位置的主信息位置中的另一个存储器访问命令的目标地址匹配,则所述队列控制器将所述新存储器访问命令的目标地址的子集存储在所述特定队列条目位置的补充信息位置;并且
否则,所述队列控制器将所述新存储器访问命令的完整目标地址存储在所述特定队列条目位置以外的队列条目位置的主信息位置。
6.根据权利要求5的方法,其中所述队列条目位置的补充信息位置比所述队列条目位置的主信息位置存储的位数少。
7.根据权利要求5的方法,其中所述第一存储步骤进一步包括:
将所述新存储器访问命令的目标地址的非列地址部分和存储在所述地址队列的所述队列条目位置的主信息位置的目标地址的非列地址部分相比较。
8.根据权利要求5的方法,其中所述存储器访问命令包括存储器写命令。
9.根据权利要求5的方法,其中所述存储器访问命令包括存储器读命令。
10.一种存储控制器,包括:
队列控制器,接收多个存储器访问命令,包括指向一个目标地址的新存储器访问命令;
地址队列,连接到所述队列控制器,所述地址队列包括多个队列条目位置,每个队列条目位置包括一个主信息位置和一个补充信息位置;
其中如果所述新存储器访问命令的目标地址与存储于特定队列条目位置的主信息位置中的另一个存储器访问命令的目标地址匹配,则所述队列控制器将所述新存储器访问命令的目标地址的子集存储在所述特定队列条目位置的补充信息位置;否则,所述队列控制器将所述新存储器访问命令的完整目标地址存储在所述特定队列条目位置以外的队列条目位置的主信息位置。
11.根据权利要求10的存储控制器,其中所述地址队列配置为使得所述队列条目位置的补充信息位置比所述队列条目位置的主信息位置存储的位数少。
12.根据权利要求10的存储控制器,其中所述队列控制器包括一组比较器,所述比较器将所述新存储器访问命令的目标地址的非列地址部分和存储在所述地址队列的所述队列条目位置的主信息位置的目标地址的非列地址部分相比较。
13.根据权利要求10的存储控制器,其中所述存储器访问命令包括存储器写命令。
14.根据权利要求10的存储控制器,其中所述存储器访问命令包括存储器读命令。
15.一种信息处理系统,包括:
处理器;
存储器;以及
连接到处理器和存储器用于控制存储器的存储器操作的存储控制器,所述存储控制器包括:
队列控制器,接收多个存储访问命令,包括指向一个目标地址的新存储器访问命令;
地址队列,连接到所述队列控制器,所述地址队列包括多个队列条目位置,每个队列条目位置包括一个主信息位置和一个补充信息位置;
其中如果所述新存储器访问命令的目标地址与存储于特定队列条目位置的主信息位置中的另一个存储器访问命令的目标地址匹配,则所述队列控制器将所述新存储器访问命令的目标地址的子集存储在所述特定队列条目位置的补充信息位置;否则,所述队列控制器将所述新存储器访问命令的完整目标地址存储在所述特定队列条目位置以外的队列条目位置的主信息位置。
16.根据权利要求15的信息处理系统,其中所述地址队列被配置为使得所述队列条目位置的补充信息位置比所述队列条目位置的主信息位置存储的位数少。
17.根据权利要求15的信息处理系统,其中所述队列控制器包括一组比较器,所述比较器将所述新存储器访问命令的目标地址的非列地址部分和存储在所述地址队列的队列条目位置的主信息位置的目标地址的非列地址部分相比较。
18.根据权利要求15的信息处理系统,其中所述存储器访问命令包括存储器写命令和存储器读命令。
19.根据权利要求15的信息处理系统,其中所述存储器是易失性存储器和非易失性存储器之一。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/549,429 | 2006-10-13 | ||
US11/549,429 US7493456B2 (en) | 2006-10-13 | 2006-10-13 | Memory queue with supplemental locations for consecutive addresses |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101162446A CN101162446A (zh) | 2008-04-16 |
CN100583067C true CN100583067C (zh) | 2010-01-20 |
Family
ID=39297371
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200710146623A Expired - Fee Related CN100583067C (zh) | 2006-10-13 | 2007-08-23 | 用于访问信息的方法、存储控制器和信息处理系统 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7493456B2 (zh) |
CN (1) | CN100583067C (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7840537B2 (en) | 2006-12-22 | 2010-11-23 | Commvault Systems, Inc. | System and method for storing redundant information |
US7996599B2 (en) * | 2007-04-25 | 2011-08-09 | Apple Inc. | Command resequencing in memory operations |
JP2009116834A (ja) * | 2007-11-09 | 2009-05-28 | Sony Corp | データ記録装置,データ記録装置の内部制御方法及びデータ記録システム |
EP2329378A4 (en) | 2008-09-26 | 2015-11-25 | Commvault Systems Inc | SYSTEMS AND METHODS FOR MANAGING SINGLE-INSTANCE DATA |
US9015181B2 (en) * | 2008-09-26 | 2015-04-21 | Commvault Systems, Inc. | Systems and methods for managing single instancing data |
US8549209B2 (en) * | 2008-11-04 | 2013-10-01 | Mosaid Technologies Incorporated | Bridging device having a configurable virtual page size |
US8412677B2 (en) | 2008-11-26 | 2013-04-02 | Commvault Systems, Inc. | Systems and methods for byte-level or quasi byte-level single instancing |
US8401996B2 (en) | 2009-03-30 | 2013-03-19 | Commvault Systems, Inc. | Storing a variable number of instances of data objects |
US8578120B2 (en) | 2009-05-22 | 2013-11-05 | Commvault Systems, Inc. | Block-level single instancing |
US9021192B1 (en) * | 2010-09-21 | 2015-04-28 | Western Digital Technologies, Inc. | System and method for enhancing processing of memory access requests |
WO2012045023A2 (en) | 2010-09-30 | 2012-04-05 | Commvault Systems, Inc. | Archiving data objects using secondary copies |
CN102073605B (zh) * | 2010-12-27 | 2012-11-21 | 深圳市创新科信息技术有限公司 | 一种绕过Bio层访问磁盘驱动的存储接口的方法 |
US9020890B2 (en) | 2012-03-30 | 2015-04-28 | Commvault Systems, Inc. | Smart archiving and data previewing for mobile devices |
US9633022B2 (en) | 2012-12-28 | 2017-04-25 | Commvault Systems, Inc. | Backup and restoration for a deduplicated file system |
US10324897B2 (en) | 2014-01-27 | 2019-06-18 | Commvault Systems, Inc. | Techniques for serving archived electronic mail |
US10310923B1 (en) | 2014-08-28 | 2019-06-04 | Seagate Technology Llc | Probabilistic aging command sorting |
US10324914B2 (en) | 2015-05-20 | 2019-06-18 | Commvalut Systems, Inc. | Handling user queries against production and archive storage systems, such as for enterprise customers having large and/or numerous files |
US10831403B2 (en) | 2017-05-19 | 2020-11-10 | Seagate Technology Llc | Probabalistic command aging and selection |
US11748622B1 (en) * | 2019-03-04 | 2023-09-05 | Amazon Technologies, Inc. | Saving intermediate outputs of a neural network |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5644786A (en) * | 1990-11-08 | 1997-07-01 | At&T Global Information Solutions Company | Method for scheduling the execution of disk I/O operations |
US5450600A (en) | 1991-11-08 | 1995-09-12 | Mitsubishi Denki Kabushiki Kaisha | Integrated command recognition apparatus and method for selecting an optimal command among numerous commands |
US5513135A (en) | 1994-12-02 | 1996-04-30 | International Business Machines Corporation | Synchronous memory packaged in single/dual in-line memory module and method of fabrication |
US5613155A (en) * | 1995-06-07 | 1997-03-18 | International Business Machines Corporation | Bundling client write requests in a server |
US6226695B1 (en) | 1995-09-29 | 2001-05-01 | International Business Machines Corporation | Information handling system including non-disruptive command and data movement between storage and one or more auxiliary processors |
US6173382B1 (en) | 1998-04-28 | 2001-01-09 | International Business Machines Corporation | Dynamic configuration of memory module using modified presence detect data |
US6101568A (en) | 1998-08-25 | 2000-08-08 | Stmicroelectronics, Inc. | Bus interface unit having dual purpose transaction buffer |
US6587912B2 (en) | 1998-09-30 | 2003-07-01 | Intel Corporation | Method and apparatus for implementing multiple memory buses on a memory module |
JP2001312373A (ja) * | 2000-04-21 | 2001-11-09 | Internatl Business Mach Corp <Ibm> | データの書き込み方法およびディスクドライブ装置 |
US6510100B2 (en) | 2000-12-04 | 2003-01-21 | International Business Machines Corporation | Synchronous memory modules and memory systems with selectable clock termination |
US6801620B2 (en) | 2001-06-21 | 2004-10-05 | Lucent Technologies Inc. | Enhanced agent automatic call distribution control |
US6931501B1 (en) | 2001-10-26 | 2005-08-16 | Adaptec, Inc. | Method and apparatus for merging contiguous like commands |
US6807588B2 (en) | 2002-02-27 | 2004-10-19 | International Business Machines Corporation | Method and apparatus for maintaining order in a queue by combining entry weights and queue weights |
US6934769B2 (en) * | 2002-07-29 | 2005-08-23 | Lsi Logic Corporation | Methods and structure for SCSI/IDE translation in a storage subsystem |
US20050005261A1 (en) | 2003-07-02 | 2005-01-06 | Severin William B. | Component integration engine |
US7162550B2 (en) * | 2003-07-21 | 2007-01-09 | Intel Corporation | Method, system, and program for managing requests to an Input/Output device |
US7299324B2 (en) * | 2003-11-05 | 2007-11-20 | Denali Software, Inc. | Reactive placement controller for interfacing with banked memory storage |
US7739418B2 (en) | 2004-04-12 | 2010-06-15 | Hewlett-Packard Development Company, L.P. | Resource management system |
US7392333B2 (en) * | 2004-11-30 | 2008-06-24 | Xyratex Technology Limited | Fibre channel environment supporting serial ATA devices |
-
2006
- 2006-10-13 US US11/549,429 patent/US7493456B2/en not_active Expired - Fee Related
-
2007
- 2007-08-23 CN CN200710146623A patent/CN100583067C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US7493456B2 (en) | 2009-02-17 |
US20080091881A1 (en) | 2008-04-17 |
CN101162446A (zh) | 2008-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100583067C (zh) | 用于访问信息的方法、存储控制器和信息处理系统 | |
US8244962B2 (en) | Command processor for a data storage device | |
US9442867B2 (en) | Interrupted write memory operation in a serial interface memory with a portion of a memory address | |
US7937523B2 (en) | Memory system with nonvolatile semiconductor memory | |
US8433845B2 (en) | Data storage device which serializes memory device ready/busy signals | |
CN103677665B (zh) | 嵌入式多媒体卡、控制其的主机及操作其系统的方法 | |
US9417794B2 (en) | Including performance-related hints in requests to composite memory | |
JP4429780B2 (ja) | 記憶制御装置、制御方法、および制御プログラム。 | |
US20130013853A1 (en) | Command executing method, memory controller and memory storage apparatus | |
CN104572478A (zh) | 数据存取方法和数据存取装置 | |
CN101627372A (zh) | 选择性地利用多个异类固态存储位置 | |
CN102063943A (zh) | Nand闪存参数自动检测系统 | |
CN104866428A (zh) | 数据存取方法和数据存取装置 | |
CN111459844A (zh) | 数据储存装置及用于存取逻辑至物理地址映射表的方法 | |
US11210226B2 (en) | Data storage device and method for first processing core to determine that second processing core has completed loading portion of logical-to-physical mapping table thereof | |
US8583890B2 (en) | Disposition instructions for extended access commands | |
US9245613B2 (en) | Storage interface apparatus for solid state drive tester | |
CN100580669C (zh) | 在Flash存储介质上的关于文件分配表的缓存实现方法 | |
US8521946B2 (en) | Semiconductor disk devices and related methods of randomly accessing data | |
US10628045B2 (en) | Internal data transfer management in a hybrid data storage device | |
US9990134B2 (en) | Command tunneling in a hybrid data storage device | |
US11003391B2 (en) | Data-transfer-based RAID data update system | |
US20100217923A1 (en) | Storage device with flash memory | |
CN103176912A (zh) | 随机写的方法和转换器 | |
US20050273530A1 (en) | Combined optical storage and flash card reader apparatus using sata port and accessing method thereof |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100120 |