CN103399827B - 存储装置、执行访问操作的系统和方法 - Google Patents

存储装置、执行访问操作的系统和方法 Download PDF

Info

Publication number
CN103399827B
CN103399827B CN201310314520.5A CN201310314520A CN103399827B CN 103399827 B CN103399827 B CN 103399827B CN 201310314520 A CN201310314520 A CN 201310314520A CN 103399827 B CN103399827 B CN 103399827B
Authority
CN
China
Prior art keywords
memory
bus
port
direct
access operation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310314520.5A
Other languages
English (en)
Other versions
CN103399827A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201310314520.5A priority Critical patent/CN103399827B/zh
Publication of CN103399827A publication Critical patent/CN103399827A/zh
Priority to EP14176469.6A priority patent/EP2829988B1/en
Priority to US14/330,938 priority patent/US9483428B2/en
Application granted granted Critical
Publication of CN103399827B publication Critical patent/CN103399827B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1647Handling requests for interconnection or transfer for access to memory bus based on arbitration with interleaved bank access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1684Details of memory controller using multiple buses

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Memory System (AREA)

Abstract

本发明实施例提供了一种存储装置、执行访问操作的系统和方法。该装置包括交织总线,N个存储器组和K直连总线组,K小于等于N;其中,该交织总线包括M个主接口和S个从接口,所述M小于等于S,该M个主接口中的每一个主接口用于接收地址连续的访问操作;该N个存储器组中的每个存储器组包括与该S个从接口分别连接的S个存储器,该交织总线用于将该地址连续的访问操作按照交织的方式译码到该N个存储器组中的至少一个存储器组;该K直连总线组中的第一直连总线组接收地址离散的访问操作,并将地址离散的访问操作接入到N个存储器组中的至少一个存储器组。本发明实施例可以保证访问操作的效率。

Description

存储装置、执行访问操作的系统和方法
技术领域
本发明涉及电子技术领域,并且更具体地,涉及一种存储装置、执行访问操作的系统和方法。
背景技术
总线的设计从地址译码的角度可以分为交织的总线设计和非交织的总线设计,现有的总线设计绝大多数基于非交织的总线设计。为了让软件更灵活的使用存储资源,交织的总线设计正在越来越多的被采用;交织总线可以对各个主设备发送的大块数据访问操作实现流水式操作,可以充分的利用整个系统的带宽;但如果有主设备发出离散的单个操作时,使得流水式操作无法正常进行,交织总线的带宽利用率大大降低,最恶劣情况下,效率下降为原先的1/M(M为总线的主接口的个数)。
发明内容
本发明实施例提供了一种存储装置、执行访问操作的系统和方法,可以保证访问操作的效率。
第一方面,提供了一种存储装置,包括交织总线,N个存储器组和K个直连总线组,K小于等于N,N和K均为正整数;其中,该交织总线包括M个主接口和S个从接口,该M个主接口中的每一个主接口用于接收地址连续的访问操作,该M小于等于S,M和S均为正整数;该N个存储器组中的每个存储器组包括与该S个从接口分别连接的S个存储器,其中,该每个存储器组中的S个存储器的地址是连续的,且该每个存储器组中的S个存储器中的任一个存储器的两个存储单元的地址相差S的整数倍,该交织总线用于将该地址连续的访问操作译码并接入到该N个存储器组中的至少一个存储器组;该K个直连总线组中的每个直连总线组分别连接该N个存储器组中的至少一个存储器组,该每个直连总线组中的每个直连总线的一端用于接收地址离散的访问操作,该每个直连总线的另一端分别连接该至少一个存储器组中的每个存储器,其中,不同的直连总线组连接的存储器组不同,且该K个直连总线组中的该每个直连总线组用于将该地址离散的访问操作接入到该N个存储器组中的至少一个存储器组。
结合第一方面,在第一方面的第一种可能的实现方式中,在该N个存储器组中,共有L个存储器组与该直连总线组连接,L小于等于N且大于等于K;该L个存储器组包括单口存储器、双口存储器和两口存储器中的至少一种;其中,该两口存储器或双口存储器的一端口用于连接该交织总线,该两口存储器或双口存储器的另一端口用于连接该K个直连总线组中的一个直连总线;该单口存储器用于连接与该交织总线和该K个直连总线组中的一个直连总线连接的仲裁器。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,该L个存储器组中的T个存储器组包括的存储器为双口存储器或两口存储器,T为小于等于L的整数,L等于K;该T个存储器组中的每个存储器组中的任一存储器通过两个端口中的一个端口与该S个从接口中的一个从接口连接,并通过两个端口中的另一个端口与该K个直连总线组中的一个直连总线组中的一个直连总线连接。
结合第一方的第一种可能的实现方式,在第一方面的第三种可能的实现方式中,该L个存储器组中的P个存储器组包括的存储器为单口存储器,该存储装置还包括P组仲裁器,P为小于等于L的整数,L等于K;该P个存储器组通过该P组仲裁器与该K个直连总线组中的P个直连总线组连接,并与该S个从接口连接,其中,该P个存储器组中的一个存储器组中的一个单口存储器通过该P组仲裁器中的一组仲裁器中的一个仲裁器与该P个直连总线组中的一个直连总线组中的一个直连总线连接、且与该S个从接口中的一个从接口连接。
结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,该P组仲裁器中的仲裁器用于根据所连接的该交织总线和直连总线的权重值,或根据该交织总线和直连总线的优先级次序或基于公平轮询的方式,对该地址连续的访问操作中由该交织总线向该仲裁器连接的存储器接入的访问操作和该地址离散的访问操作中由该直连总线向该仲裁器连接的存储器接入的访问操作进行仲裁。
结合第一方面,或第一方面的第一种至第四种中任一种可能的实现方式,在第一方面的第五种可能的实现方式中,该M个主接口中的每一个主接口耦合至第一主设备,该第一主设备用于生成该地址连续的访问操作;该每个直连总线组中的每个直连总线的一端耦合至第二主设备,该第二主设备用于生成该地址离散的访问操作。
第二方面,提供了一种执行访问操作的系统,包括存储装置、第一主设备和第二主设备;其中,
该存储装置,包括交织总线,N个存储器组和K个直连总线组,K小于等于N,N和K均为正整数;该交织总线包括M个主接口和S个从接口,该M个主接口中的每一个主接口耦合至该第一主设备,该M小于等于该S,M和S均为正整数;该N个存储器组中的每个存储器组包括与该S个从接口分别连接的S个存储器,其中,该每个存储器组中的S个存储器的地址是连续的,且该每个存储器组中的S个存储器中的任一个存储器的两个存储单元的地址相差S的整数倍;该K个直连总线组中的每个直连总线组分别连接该N个存储器组中的至少一个存储器组,该每个直连总线组中的每个直连总线的一端耦合至该第二主设备,该每个直连总线的另一端分别连接该至少一个存储器组中的每个存储器,其中,不同的直连总线组连接的存储器组不同;
该第一主设备用于通过交织总线的M个主接口中的任一主接口向该交织总线发送地址连续的访问操作,该交织总线用于将该地址连续的访问操作译码并接入到该N个存储器组中的至少一个存储器组;
该第二主设备用于向该K个直连总线组中的任一个直连总线组发送地址离散的访问操作,该任一个直连总线组用于将该地址离散的访问操作接入到该N个存储器组中的至少一个存储器组。
结合第二方面,在第二方面的第二种可能的实现方式中,在该N个存储器组中,共有L个存储器组与该直连总线组连接,L小于等于N且大于等于K;该L个存储器组包括单口存储器、双口存储器和两口存储器中的至少一种;其中,该两口存储器或双口存储器的一端口用于连接该交织总线,该两口存储器或双口存储器的另一端口用于连接该K个直连总线组中的一个直连总线;该单口存储器用于连接与该交织总线和该K个直连总线组中的一个直连总线连接的仲裁器。
第三方面,提供了一种执行访问操作的方法,包括:交织总线通过M个主接口中的任一主接口接收地址连续的访问操作,并将该地址连续的访问操作译码并通过S个从接口接入到N个存储器组中的至少一个存储器组,其中,该N个存储器组中的每个存储器组包括与该S个从接口分别连接的S个存储器,该N个存储器组中每个存储器组中的S个存储器的地址是连续的,且该每个存储器组中的S个存储器中的任一个存储器的两个存储单元的地址相差S的整数倍,该M小于等于S,M、S和N均为正整数;第一直连总线组接收地址离散的访问操作,并将该地址离散的访问操作接入到该N个存储器组中的至少一个存储器组,其中,该第一直连总线组是K个直连总线组中的任一直连总线组,该K个直连总线组中的每个直连总线组分别连接该N个存储器组中的至少一个存储器组,不同的直连总线组连接的存储器组不同,并且K小于等于N,K为正整数。
结合第三方面,在第三方面的第一种可能的实现方式中,被该第一直连总线组接入该地址离散的访问操作的至少一个存储器组和被该交织总线接入该地址连续的访问操作的至少一个存储器组均包括第一存储器组,且该第一存储器组包括的存储器为双口或两口存储器;该将该地址连续的访问操作通过S个从接口译码并接入到N个存储器组中的至少一个存储器组,包括:该交织总线通过该第一存储器组中的第一双口或两口存储器的第一端口将该地址连续的访问操作中该第一双口或两口存储器对应的访问操作译码并接入到该第一双口或两口存储器;该将该地址离散的访问操作接入到该N个存储器组中该第一直连总线组的至少一个存储器组,包括:该第一直连总线组通过该第一双口或两口存储器的第二端口将该地址离散的访问操作中该第一双口或两口存储器对应的访问操作接入到该第一双口或两口存储器。
结合第三方面,在第三方面的第二种可能的实现方式中,被该第一直连总线组接入该地址离散的访问操作的至少一个存储器组和被该交织总线接入该地址连续的访问操作的至少一个存储器组均包括第一存储器组,且该第一存储器组包括的存储器为单口存储器;该方法还包括:在该交织总线与该第一直连总线组同时向该第一存储器组中的第一单口存储器接入访问操作时,仲裁器对该交织总线和该第一直连总线组分别向该第一单口存储器接入的访问操作进行仲裁,以获取仲裁结果;
该仲裁器按照该仲裁结果,将该交织总线向该第一单口存储器接入的访问操作与该第一直连总线组向该第一单口存储器接入的访问操作接入到该第一单口仲裁器。
结合第三方面的第二种可能的实现方式,在第三方面的第三种可能的实现方式中,该仲裁器对该交织总线和该第一直连总线组分别向该第一单口存储器接入的访问操作进行仲裁,包括:根据该交织总线和直连总线的权重值,或根据该交织总线和直连总线的优先级次序或基于公平轮询的方式,该仲裁器对该交织总线和该第一直连总线组分别向该第一单口存储器接入的访问操作进行仲裁。
结合第三方面,或第三方面的第一种至第三种中任一种可能的实现方式,在第三方面的第四种可能的实现方式中,该交织总线通过M个主接口中的任一主接口接收地址连续的访问操作包括:该交织总线通过M个主接口中的该任一主接口接收第一主设备发送的该地址连续的访问操作;该第一直连总线组接收地址离散的访问操作,包括:该第一直连总线组接收第二主设备发送的该地址离散的访问操作。
因此,本发明实施例的存储装置包括与N个存储器组连接的交织总线,以及分别与N个存储器组中的至少一个存储器组连接的K直连总线组,从而可以通过交织总线对N个存储器组中的一个或多个存储器组执行连续访问操作,并可以通过K直连总线组中任一直连总线组对N个存储器组中的至少一个存储器组执行离散访问操作,从而可以利用交织总线对连续访问操作的高访问带宽,保证连续访问操作的效率,利用直连总线的访问效率高的特点,保证离散访问操作的效率,并可以尽可能降低地址离散的访问操作和地址连续的访问操作的相互影响,为系统提高尽可能大的带宽。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了根据本发明实施例的存储装置的示意性图。
图2示出了根据本发明另一实施例的存储装置的示意性图。
图3示出了根据本发明另一实施例的存储装置的示意性图。
图4示出了根据本发明另一实施例的存储装置的示意性图。
图5示出了根据本发明实施例的执行访问操作的系统的示意性图。
图6示出了根据本发明实施例的执行访问操作的方法的示意性流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
图1是根据本发明实施例的存储装置100的示意性图。如图1所示,该存储装置100可以包括:交织总线110、N个存储器组120和K个直连总线组130,K小于等于N,N和K均为整数;其中,
该交织总线110包括M个主接口111和S个从接口112,该M个主接口111中的每一个主接口111接收地址连续的访问操作,M小于等于S,M和S均为整数;
该N个存储器组120中的每个存储器组120包括与该S个从接口112连接的S个存储器121,该S个存储器中的不同的存储器121连接该S个从接口112中的不同的从接口112,其中,基于所连接的从接口的顺序,该N个存储器组120中每个存储器组120中的S个存储器121的地址是连续的,且该N个存储器组120中每个存储器组120中的S个存储器121中的任一个存储器的两个存储单元的地址相差S的整数倍,该交织总线110用于将该地址连续的访问操作译码并接入到该N个存储器组120中的至少一个存储器组120;
该K个直连总线组130中的每个直连总线组130分别连接N个存储器组中的至少一个存储器组,每个直连总线组中的每个直连总线的一端用于接收地址离散的访问操作,另一端用于分别连接该至少一个存储器组120中的每个存储器121,其中,该K个直连总线组中的该每个直连总线组用于将该地址离散的访问操作接入到该N个存储器组中的至少一个存储器组。
在本发明实施例中,每个直连总线组可以连接至少一个存储器组,不同的直连总线组连接的存储器组是互不重合的;每个直连总线组中的一个直连总线可以只连接一个存储器。
因此,本发明实施例的存储装置包括与N个存储器组连接的交织总线,以及分别与N个存储器组中的至少一个存储器组连接的K个直连总线组,从而可以通过交织总线对N个存储器组中的一个或多个存储器组执行地址连续的访问操作,并可以通过K个直连总线组中任一直连总线组对N个存储器组中的至少一个存储器组执行地址离散的访问操作,从而可以利用交织总线针对地址连续的访问操作的高访问带宽,保证地址连续的访问操作的效率,利用直连总线的访问效率高的特点,保证地址离散的访问操作的效率,并可以尽可能降低地址离散的访问操作和地址连续的访问操作的相互影响,为系统提高尽可能大的带宽。
在本发明实施例中,交织总线的M个主接口中的每一个主接口可以耦合至第一主设备,该第一主设备用于生成地址连续的访问操作;每个直连总线组中的每个直连总线的一端可以耦合至第二主设备,该第二主设备用于生成地址离散的访问操作。
在本发明实施例中,在某一直连总线组连接多个存储器组时,主设备通过该某一直连总线组发送的地址离散的访问操作可以只涉及该多个存储器组中的一个存储器组,也可以涉及该多个存储器组中的至少两个存储器组。其中,在直连总线组接收到的地址离散的访问操作需要涉及两个或两个以上的存储器组时,该直连总线组可以具有译码的功能,将该地址离散的访问操作译码并接入到该两个或两个以上的存储器组。
应理解,在本发明实施例中,同一主设备可以通过不同的接口连接直连总线组和交织总线;在需要进行地址离散的访问操作时,该同一主设备可以将地址离散的访问操作发送给直连总线组,在需要进行地址连续的访问操作时,该同一设备可以将地址连续的访问操作发送至交织总线。
在本发明实施例中,交织总线的主接口的个数通常小于从接口的个数,即M小于S;为了总线译码的实现,S的值可以为2的整数次幂。
在本发明实施例中,N个存储器组中每个存储器组中的S个存储器的地址是连续的,且N个存储器组中每个存储器组中的S个存储器中的任一个存储器的两个存储单元的地址相差S的整数倍是指N个存储器组中每个存储器组中的存储器的地址是交织的,交织总线可以按照交织地址将地址连续的访问操作依次译码并接入到一个或多个存储器组中的存储器。
在本发明实施例中,存储器中存储单元的地址也可以称作为该存储单元的编号,一个存储阵列中的存储单元的地址是相互不同的,可以从0开始,依次编号为0,1,2,3....。
例如,如表1所示,表1中示出了4个存储器组的交织地址,其中,4个存储器组中每一个存储器组包括4个存储器,每个存储器可以包括128个存储单元。交织总线按照表中示出的地址顺序将地址连续的访问操作中的访问操作依次译码到相应的存储器。例如,当第一主设备发出起始地址是0且地址按照总线位宽连续的16次操作时,交织总线会将这16次总线操作依次译码到ram0_0(地址0),ram0_1(地址1),ram0_2(地址2),ram0_3(地址3),ram0_4(地址4),ram0_5(地址5),ram0_6(地址6),ram0_7(地址7),ram0_0(地址8),ram0_1(地址9),ram0_2(地址10),ram0_3(地址11),ram0_4(地址12),ram0_5(地址13),ram0_6(地址14),ram0_7(地址15)。在接收到多个主设备分别发送的地址连续的访问操作时,交织总线110可以对该多个主设备发出的访问操作进行仲裁,并根据仲裁结果对多个主设备发出的访问操作译码并接入到相应的存储器,从而可以实现流水线式的访问操作。
表1
ram0_0addr ram0_1addr ram0_2addr ram0_3addr ram0_4addr ram0_5addr ram0_6addr ram0_7addr
0 1 2 3 4 5 6 7
8 9 10 11 12 13 14 15
16 17 18 19 20 21 22 23
24 25 26 27 28 29 30 31
1016 1017 1018 1019 1020 1021 1022 1023
ram1_0addr ram1_1addr ram1_2addr ram1_3addr ram1_4addr ram1_5addr ram1_6addr ram1_7addr
1024 1025 1026 1027 1028 1029 1030 1031
1032 1033 1034 1035 1036 1037 1038 1039
2040 2041 2042 2043 2044 2045 2046 2047
ram2_0addr ram2_1addr ram2_2addr ram2_3addr ram2_4addr ram2_5addr ram2_6addr ram2_7addr
2048 2049 2050 2051 2052 2053 2054 2055
2056 2057 2058 2059 2060 2061 2062 2063
3064 3065 3066 3067 3068 3069 3070 3071
ram3_0addr ram3_1addr ram3_2addr ram3_3addr ram3_4addr ram3_5addr ram3_6addr ram3_7addr
3072 3073 3074 3075 3076 3077 3078 3079
3080 3081 3082 3083 3084 3085 3086 3087
4088 4089 4090 4091 4092 4093 4094 4095
应理解,虽然上述实施例以交织总线包括S个从接口以及S个从接口分别连接存储器组中的S个存储器,该S个存储器是交织的为例进行说明,但是本发明实施例的交织总线还可以包括另外多个从接口,该另外多个从接口连接的存储器的地址是交织的。但是应理解,交织总线所包括的全部主接口的数量小于等于所包括的所有从接口的数量,且所包括的所有从接口的数量可以为2的整数次幂。
本发明实施例中的第一主设备和第二主设备可以是中央处理单元(CenterProcessingUnit,CPU),直接内存存取(DirectMemoryAccess,DMA)控制器等。应理解,在本发明实施例中,第一主设备也可以通过交织总线发送地址离散的访问操作。第二主设备也可以通过直连总线发送地址连续的访问操作,在第二主设备对某一存储器组发出地址连续的访问操作时,则该地址连续的访问操作对应的访问地址也是交织的。在本发明实施例中,存储器中存储单元的地址对于第一主设备和第二主设备都是适用的。
在本发明实施例中,在存储装置所具有的N个存储器组中,共有L个存储器组与该直连总线组连接,L小于等于N且大于等于K;该L个存储器组中的存储器可以全部为单口存储器,也可以全部是双口或两口存储器,也可以是部分是单口类存储器,部分是双口或两口存储器。
在本发明实施例中,单口存储器是指该存储器只有一个端口(一个读写口),在同一时刻,一个单口存储器只能被读或者写,即同一时刻不能同时读写同一个单口存储器。双口存储器具有两个端口(两个读写口),在同一时刻,每个端口都可以被读或者写,即同一时刻可以通过两个端口同时访问一个双口存储器。两口存储器也具有两个端口,其中的一个端口为读口,另一个端口为写口,同一时刻,可以通过两个端口中的读口对存储器进行读取,通过两个端口中的写口对存储器进行写入。在本发明实施例中,对于两口存储器,是读口连接直连总线,写口连接交织总线,还是读口连接交织总线,写口连接直连总线,可以根据实际需要而定,本发明实施例并不对此作任何限定。
本发明实施例中所述的存储器可以是随机存储器(RandomAccessMemory,RAM),当然,也可以是其它类型的存储器,虽然本发明的附图中的存储器为RAM,但本发明并不限于此。其中,在本发明实施例中,双口或两口存储器的一端口用于连接交织总线,另一端口用于连接一个直连总线;单口存储器用于连接与交织总线和直连总线连接的仲裁器。
在本发明实施例中,上述L个存储器组120中的T个存储器组120包括的存储器为双口存储器或两口存储器;该T个存储器组120中的每个存储器组120中的任一存储器通过两个端口中的一个端口与该S个从接口112中的一个接口连接,并通过两个端口中的另一端口与该K个直连总线组130中的一个直连总线组130中的一个直连总线连接,其中,T为小于等于L的整数,L等于K,也就是说一个直连总线组只连接了一个存储器组。
例如,如图2所示,图中示出了三个直连总线组,相对于图1,在图2对应实施例中,该三个直连总线组连接的存储器均具体为双口RAM或两口RAM,双口RAM或两口RAM的一个端口可以与直连总线连接,另一个端口可以与交织总线的从接口连接。其中,该三个直连总线组连接的存储器可以全部是双口RAM,全部是两口RAM,也可以部分是双口RAM,部分是两口RAM。
在本发明实施例中,如图3所示,与图2不同,该图3中L个存储器组120中的P个存储器组120包括的存储器为单口存储器,该存储装置还包括P组仲裁器140,P为小于等于L的整数,L等于K,也就是说一个直连总线组只连接了一个存储器组。
其中,该P个存储器组120可以通过该P组仲裁器140与该L个直连总线组130中的P个直连总线组130连接,并与该S个从接口112连接,其中,该K个存储器组120中的一个存储器组120中的一个存储器通过该P组仲裁器140中的一组仲裁器140中的一个仲裁器141与该P个直连总线组130中的一个直连总线组130中的一个直连总线连接且与该S个从接口112中的一个从接口112连接。
在本发明实施例中,仲裁器可以用于根据交织总线和直连总线的权重值,或根据交织总线和直连总线的优先级次序或基于公平轮询的方式,对所述地址连续的访问操作中由所述交织总线向所述仲裁器连接的存储器接入的访问操作和所述地址离散的访问操作中由所述直连总线向所述仲裁器连接的存储器接入的访问操作进行仲裁。
具体地说,仲裁器在接收到交织总线和直连总线同时向存储器接入的访问操作时,仲裁器可以根据预置的直连总线和交织总线权重值或优先级次序,或基于公平轮询的方式,对该交织总线接入的访问操作和直连总线接入的访问操作进行仲裁。其中,权重值可以指示在预定时间内相应的总线可以执行访问操作的次数;优先级则可以指示在规定的时间内相应的总线可以执行访问操作的顺序。
应理解,仲裁器接收到交织总线和直连总线同时向存储器接入的访问操作可以不是时间上的绝对同时。例如,在仲裁器接收到直连总线发的访问操作后且没来得及对直连总线发出的该访问操作进行处理,又接收到了交织总线发出的访问操作,也可以称作为仲裁器接收到了交织总线和直连总线同时向存储器接入的访问操作。
在本发明实施例中,N个存储器组可以即包括单口存储器,又包括双口或两口存储器。例如,如图4所示,第N排存储器组中的存储器为双口或两口存储器;而第一排存储器组、第二排存储器组和第三排存储器组中的存储器为单口存储器,单口存储器可以通过仲裁器与直连总线与交织总线连接。
应理解,虽然图2、图3和图4中示出的一个存储器组包括的存储器全部是单口存储器,或者全部是双口或两口存储器。但是本发明实施例中的N个存储器组中的任一个存储器组也可以即包括双口或两口存储器,并同时包括单口存储器。
因此,本发明实施例的存储装置包括与N个存储器组连接的交织总线,以及分别与N个存储器组中的至少一个存储器组连接的K个直连总线组,从而可以通过交织总线对N个存储器组中的一个或多个存储器组执行地址连续的访问操作,并可以通过K个直连总线组中任一直连总线组对N个存储器组中的至少一个存储器组执行地址离散的访问操作,从而可以利用交织总线针对地址连续的访问操作的高访问带宽,保证地址连续的访问操作的效率,利用直连总线的访问效率高的特点,保证地址离散的访问操作的效率,并可以尽可能降低地址离散的访问操作和地址连续的访问操作的相互影响,为系统提高尽可能大的带宽。
图5示出了根据本发明实施例的执行访问操作的系统200的示意性图。如图5所示,该系统200包括存储装置210,第一主设备220和第二主设备230。其中,该存储装置210可以对应于上文所述的存储装置100,第一主设备220可以对应于上文所述的第一主设备,第二主设备230可以对应于上文所述的第二主设备,为了简洁,在此不再赘述。
因此,本发明实施例的执行访问操作的系统包括的存储装置包括与N个存储器组连接的交织总线,以及分别与N个存储器组中的至少一个存储器组连接的K个直连总线组,从而第一主设备可以通过交织总线对N个存储器组中的一个或多个存储器组执行地址连续的访问操作,第二主设备可以通过K个直连总线组中任一直连总线组对N个存储器组中的至少一个存储器组执行地址离散的访问操作,从而可以利用交织总线针对地址连续的访问操作的高访问带宽,保证地址连续的访问操作的效率,利用直连总线的访问效率高的特点,保证离散访问操作的效率,并可以尽可能降低地址离散的访问操作和地址连续的访问操作的相互影响,为系统提高尽可能大的带宽。
图6示出了根据本发明实施例的执行访问操作的方法300的示意性流程图。如图6所示,该方法300包括:
S310,交织总线通过M个主接口中的任一主接口接收地址连续的访问操作,并将该地址连续的访问操作通过S个从接口译码并接入到N个存储器组中的至少一个存储器组,其中,该N个存储器组中的每个存储器组包括与该S个从接口分别连接的S个存储器,该N个存储器组中每个存储器组中的S个存储器的地址是连续的,且该每个存储器组中的S个存储器中的任一个存储器的两个存储单元的地址相差S的整数倍,该M小于等于S,M、S和N均为整数;
S320,第一直连总线组接收地址离散的访问操作,并将该地址离散的访问操作接入到该N个存储器组中的至少一个存储器组,其中,该第一直连总线组是K个直连总线组中的任一直连总线组,该K个直连总线组中的每个直连总线组分别连接该N个存储器组中的至少一个存储器组,不同的直连总线组连接的存储器组不同,并且K小于等于N,K为整数。
可选地,被该第一直连总线组接入该地址离散的访问操作的至少一个存储器组和被该交织总线接入该地址连续的访问操作的至少一个存储器组均包括第一存储器组,且该第一存储器组包括的存储器为双口存储器或两口存储器;上述将该地址连续的访问操作译码并通过S个从接口接入到N个存储器组中的至少一个存储器组,包括:该交织总线通过该第一存储器组中的第一双口或两口存储器的第一端口将该地址连续的访问操作中该第一双口或两口存储器对应的访问操作译码并接入到该第一双口或两口存储器;上述将该地址离散的访问操作接入到该N个存储器组中该第一直连总线组连接的至少一个存储器组,包括:该第一直连总线组通过该第一双口或两口存储器的第二端口将该地址离散的访问操作中该第一双口或两口存储器对应的访问操作接入到该第一双口或两口存储器。
可选地,被该第一直连总线组接入该地址离散的访问操作的至少一个存储器组和被该交织总线接入该地址连续的访问操作的至少一个存储器组均包括第一存储器组,且该第一存储器组包括的存储器为单口存储器;
相应地,该方法300还包括:在该交织总线与该第一直连总线组同时向该第一存储器组中的第一单口存储器接入访问操作时,仲裁器对该交织总线和该第一直连总线组分别向该第一单口存储器接入的访问操作进行仲裁,以获取仲裁结果;该仲裁器按照该仲裁结果,将该交织总线向该第一单口存储器接入的访问操作与该第一直连总线组向该第一单口存储器接入的访问操作接入到该第一单口仲裁器。
可选地,上述仲裁器对该交织总线和该第一直连总线组分别向该第一单口存储器接入的访问操作进行仲裁,包括:根据该交织总线和直连总线的权重值,或根据该交织总线和直连总线的优先级次序或基于公平轮询的方式,该仲裁器对该交织总线和该第一直连总线组分别向该第一单口存储器接入的访问操作进行仲裁。
可选地,上述交织总线通过M个主接口中的任一主接口接收地址连续的访问操作包括:该交织总线通过M个主接口中的该任一主接口接收第一主设备发送的该地址连续的访问操作;上述第一直连总线组接收地址离散的访问操作,包括:该第一直连总线组接收第二主设备发送的该地址离散的访问操作。
因此,在本发明实施例中,可以通过交织总线对N个存储器组中的一个或多个存储器组执行地址连续的访问操作,可以直连总线组对一个或多个存储器组执行地址离散的访问操作,从而可以利用交织总线针对地址连续的访问操作的高访问带宽,保证地址连续的访问操作的效率,利用直连总线的访问效率高的特点,保证离散访问操作的效率,并可以尽可能降低地址离散的访问操作和地址连续的访问操作的相互影响,为系统提高尽可能大的带宽。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内。

Claims (13)

1.一种存储装置,其特征在于,包括交织总线,N个存储器组和K个直连总线组,K小于等于N,N和K均为正整数;其中,
所述交织总线包括M个主接口和S个从接口,所述M个主接口中的每一个主接口用于接收地址连续的访问操作,所述M小于等于S,M和S均为正整数;
所述N个存储器组中的每个存储器组包括与所述S个从接口分别连接的S个存储器,其中,所述每个存储器组中的S个存储器的地址是连续的,且所述每个存储器组中的S个存储器中的任一个存储器的两个存储单元的地址相差S的整数倍,所述交织总线用于将所述地址连续的访问操作译码并接入到所述N个存储器组中的至少一个存储器组;
所述K个直连总线组中的每个直连总线组分别连接所述N个存储器组中的至少一个存储器组,所述每个直连总线组中的每个直连总线的一端用于接收地址离散的访问操作,所述每个直连总线的另一端分别连接所述至少一个存储器组中的每个存储器,其中,不同的直连总线组连接的存储器组不同,且所述K个直连总线组中的所述每个直连总线组用于将所述地址离散的访问操作接入到所述N个存储器组中的至少一个存储器组。
2.根据权利要求1所述的存储装置,其特征在于,在所述N个存储器组中,共有L个存储器组与所述直连总线组连接,L小于等于N且大于等于K;
所述L个存储器组包括单口存储器、双口存储器和两口存储器中的至少一种;其中,所述两口存储器或双口存储器的一端口用于连接所述交织总线,所述两口存储器或双口存储器的另一端口用于连接所述K个直连总线组中的一个直连总线;所述单口存储器用于连接与所述交织总线和所述K个直连总线组中的一个直连总线连接的仲裁器。
3.根据权利要求2所述的存储装置,其特征在于,所述L个存储器组中的T个存储器组包括的存储器为双口存储器或两口存储器,T为小于等于L的整数,L等于K;
所述T个存储器组中的每个存储器组中的任一存储器通过两个端口中的一个端口与所述S个从接口中的一个从接口连接,并通过两个端口中的另一个端口与所述K个直连总线组中的一个直连总线组中的一个直连总线连接。
4.根据权利要求2所述的存储装置,其特征在于,所述L个存储器组中的P个存储器组包括的存储器为单口存储器,所述存储装置还包括P组仲裁器,P为小于等于L的整数,L等于K;
所述P个存储器组通过所述P组仲裁器与所述K个直连总线组中的P个直连总线组连接,并与所述S个从接口连接,其中,所述P个存储器组中的一个存储器组中的一个单口存储器通过所述P组仲裁器中的一组仲裁器中的一个仲裁器与所述P个直连总线组中的一个直连总线组中的一个直连总线连接、且与所述S个从接口中的一个从接口连接。
5.根据权利要求4所述的存储装置,其特征在于,所述P组仲裁器中的仲裁器用于根据所连接的所述交织总线和直连总线的权重值,或根据所述交织总线和直连总线的优先级次序或基于公平轮询的方式,对所述地址连续的访问操作中由所述交织总线向所述仲裁器连接的存储器接入的访问操作和所述地址离散的访问操作中由所述直连总线向所述仲裁器连接的存储器接入的访问操作进行仲裁。
6.根据权利要求1至5中任一项所述的存储装置,其特征在于,所述M个主接口中的每一个主接口耦合至第一主设备,所述第一主设备用于生成所述地址连续的访问操作;
所述每个直连总线组中的每个直连总线的一端耦合至第二主设备,所述第二主设备用于生成所述地址离散的访问操作。
7.一种执行访问操作的系统,其特征在于,包括存储装置、第一主设备和第二主设备;其中,
所述存储装置,包括交织总线,N个存储器组和K个直连总线组,K小于等于N,N和K均为正整数;所述交织总线包括M个主接口和S个从接口,所述M个主接口中的每一个主接口耦合至所述第一主设备,所述M小于等于所述S,M和S均为正整数;所述N个存储器组中的每个存储器组包括与所述S个从接口分别连接的S个存储器,其中,所述每个存储器组中的S个存储器的地址是连续的,且所述每个存储器组中的S个存储器中的任一个存储器的两个存储单元的地址相差S的整数倍;所述K个直连总线组中的每个直连总线组分别连接所述N个存储器组中的至少一个存储器组,所述每个直连总线组中的每个直连总线的一端耦合至所述第二主设备,所述每个直连总线的另一端分别连接所述至少一个存储器组中的每个存储器,其中,不同的直连总线组连接的存储器组不同;
所述第一主设备用于通过交织总线的M个主接口中的任一主接口向所述交织总线发送地址连续的访问操作,所述交织总线用于将所述地址连续的访问操作译码并接入到所述N个存储器组中的至少一个存储器组;
所述第二主设备用于向所述K个直连总线组中的任一个直连总线组发送地址离散的访问操作,所述任一个直连总线组用于将所述地址离散的访问操作接入到所述N个存储器组中的至少一个存储器组。
8.根据权利要求7所述的系统,其特征在于,在所述N个存储器组中,共有L个存储器组与所述直连总线组连接,L小于等于N且大于等于K;
所述L个存储器组包括单口存储器、双口存储器和两口存储器中的至少一种;其中,所述两口存储器或双口存储器的一端口用于连接所述交织总线,所述两口存储器或双口存储器的另一端口用于连接所述K个直连总线组中的一个直连总线;所述单口存储器用于连接与所述交织总线和所述K个直连总线组中的一个直连总线连接的仲裁器。
9.一种执行访问操作的方法,其特征在于,包括:
交织总线通过M个主接口中的任一主接口接收地址连续的访问操作,并将所述地址连续的访问操作译码并通过S个从接口接入到N个存储器组中的至少一个存储器组,其中,所述N个存储器组中的每个存储器组包括与所述S个从接口分别连接的S个存储器,所述N个存储器组中每个存储器组中的S个存储器的地址是连续的,且所述每个存储器组中的S个存储器中的任一个存储器的两个存储单元的地址相差S的整数倍,所述M小于等于S,M、S和N均为正整数;
第一直连总线组接收地址离散的访问操作,并将所述地址离散的访问操作接入到所述N个存储器组中的至少一个存储器组,其中,所述第一直连总线组是K个直连总线组中的任一直连总线组,所述K个直连总线组中的每个直连总线组分别连接所述N个存储器组中的至少一个存储器组,不同的直连总线组连接的存储器组不同,并且K小于等于N,K为正整数。
10.根据权利要求9所述的方法,其特征在于,被所述第一直连总线组接入所述地址离散的访问操作的至少一个存储器组和被所述交织总线接入所述地址连续的访问操作的至少一个存储器组均包括第一存储器组,且所述第一存储器组包括的存储器为双口或两口存储器;
所述将所述地址连续的访问操作译码并通过S个从接口接入到N个存储器组中的至少一个存储器组,包括:所述交织总线通过所述第一存储器组中的第一双口或两口存储器的第一端口将所述地址连续的访问操作中所述第一双口或两口存储器对应的访问操作译码并接入到所述第一双口或两口存储器;
所述将所述地址离散的访问操作接入到所述N个存储器组中所述第一直连总线组的至少一个存储器组,包括:所述第一直连总线组通过所述第一双口或两口存储器的第二端口将所述地址离散的访问操作中所述第一双口或两口存储器对应的访问操作接入到所述第一双口或两口存储器。
11.根据权利要求9所述的方法,其特征在于,被所述第一直连总线组接入所述地址离散的访问操作的至少一个存储器组和被所述交织总线接入所述地址连续的访问操作的至少一个存储器组均包括第一存储器组,且所述第一存储器组包括的存储器为单口存储器;
所述方法还包括:
在所述交织总线与所述第一直连总线组同时向所述第一存储器组中的第一单口存储器接入访问操作时,仲裁器对所述交织总线和所述第一直连总线组分别向所述第一单口存储器接入的访问操作进行仲裁,以获取仲裁结果;
所述仲裁器按照所述仲裁结果,将所述交织总线向所述第一单口存储器接入的访问操作与所述第一直连总线组向所述第一单口存储器接入的访问操作接入到所述第一单口仲裁器。
12.根据权利要求11所述的方法,其特征在于,所述仲裁器对所述交织总线和所述第一直连总线组分别向所述第一单口存储器接入的访问操作进行仲裁,包括:
根据所述交织总线和直连总线的权重值,或根据所述交织总线和直连总线的优先级次序或基于公平轮询的方式,所述仲裁器对所述交织总线和所述第一直连总线组分别向所述第一单口存储器接入的访问操作进行仲裁。
13.根据权利要求9至12中任一项所述的方法,其特征在于,
所述交织总线通过M个主接口中的任一主接口接收地址连续的访问操作包括:所述交织总线通过M个主接口中的所述任一主接口接收第一主设备发送的所述地址连续的访问操作;
所述第一直连总线组接收地址离散的访问操作,包括:所述第一直连总线组接收第二主设备发送的所述地址离散的访问操作。
CN201310314520.5A 2013-07-25 2013-07-25 存储装置、执行访问操作的系统和方法 Active CN103399827B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201310314520.5A CN103399827B (zh) 2013-07-25 2013-07-25 存储装置、执行访问操作的系统和方法
EP14176469.6A EP2829988B1 (en) 2013-07-25 2014-07-10 Storage apparatus, and system and method for executing access operations
US14/330,938 US9483428B2 (en) 2013-07-25 2014-07-14 Storage apparatus, and system and method for executing access operations

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310314520.5A CN103399827B (zh) 2013-07-25 2013-07-25 存储装置、执行访问操作的系统和方法

Publications (2)

Publication Number Publication Date
CN103399827A CN103399827A (zh) 2013-11-20
CN103399827B true CN103399827B (zh) 2015-11-25

Family

ID=49563459

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310314520.5A Active CN103399827B (zh) 2013-07-25 2013-07-25 存储装置、执行访问操作的系统和方法

Country Status (3)

Country Link
US (1) US9483428B2 (zh)
EP (1) EP2829988B1 (zh)
CN (1) CN103399827B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110908938B (zh) * 2016-07-01 2021-08-31 北京忆芯科技有限公司 Sram控制器及控制方法
US9971691B2 (en) * 2016-09-12 2018-05-15 Intel Corporation Selevtive application of interleave based on type of data to be stored in memory
US10409760B1 (en) * 2018-03-09 2019-09-10 Samsung Electronics Co., Ltd. Adaptive interface high availability storage device
CN115441991B (zh) * 2022-08-26 2023-08-04 武汉市聚芯微电子有限责任公司 数据传输方法、装置、电子设备和计算机存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5113506A (en) * 1986-02-06 1992-05-12 Mips Computer Systems, Inc. System having an address generating unit and a log comparator packaged as an integrated circuit seperate from cache log memory and cache data memory
US5590299A (en) * 1994-10-28 1996-12-31 Ast Research, Inc. Multiprocessor system bus protocol for optimized accessing of interleaved storage modules
CN1437728A (zh) * 1999-12-27 2003-08-20 格里高里·V·朱德诺夫斯基 多组、容错、高性能存储器寻址系统及其方法
CN102084346A (zh) * 2008-07-03 2011-06-01 诺基亚公司 用于存储器的多路访问的地址生成

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7197575B2 (en) * 1997-12-17 2007-03-27 Src Computers, Inc. Switch/network adapter port coupling a reconfigurable processing element to one or more microprocessors for use with interleaved memory controllers
US7336700B2 (en) * 2001-09-20 2008-02-26 Lockheed Martin Corporation System bus transceiver interface
TWI331717B (en) * 2007-05-21 2010-10-11 Etron Technology Inc Control system and data fetching method for a memory
KR20100100395A (ko) * 2009-03-06 2010-09-15 삼성전자주식회사 복수의 프로세서를 포함하는 메모리 시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5113506A (en) * 1986-02-06 1992-05-12 Mips Computer Systems, Inc. System having an address generating unit and a log comparator packaged as an integrated circuit seperate from cache log memory and cache data memory
US5590299A (en) * 1994-10-28 1996-12-31 Ast Research, Inc. Multiprocessor system bus protocol for optimized accessing of interleaved storage modules
CN1437728A (zh) * 1999-12-27 2003-08-20 格里高里·V·朱德诺夫斯基 多组、容错、高性能存储器寻址系统及其方法
CN102084346A (zh) * 2008-07-03 2011-06-01 诺基亚公司 用于存储器的多路访问的地址生成

Also Published As

Publication number Publication date
EP2829988B1 (en) 2015-12-09
US9483428B2 (en) 2016-11-01
CN103399827A (zh) 2013-11-20
US20150032926A1 (en) 2015-01-29
EP2829988A1 (en) 2015-01-28

Similar Documents

Publication Publication Date Title
CN111258935B (zh) 数据传输装置和方法
CN101326504B (zh) 存储器访问请求仲裁
CN103399827B (zh) 存储装置、执行访问操作的系统和方法
CN111209232B (zh) 访问静态随机存取存储器的方法、装置、设备和存储介质
CN102622192A (zh) 一种弱相关多端口并行存储控制器
CN103377154A (zh) 存储器的访存控制装置及方法、处理器及北桥芯片
WO2020257748A1 (en) Dma-scatter and gather operations for non-contiguous memory
CN104765701A (zh) 数据访问方法及设备
CN111124995A (zh) 通过人工智能处理器处理一维复数数组的方法和设备
CN111258769B (zh) 数据传输装置和方法
CN103425434A (zh) 一种多通道读/写ram的电路和方法
CN106776390A (zh) 多设备访问存储器的实现方法
US9767054B2 (en) Data transfer control device and memory-containing device
CN111143766A (zh) 人工智能处理器处理二维复数矩阵的方法和设备
CN110780803A (zh) 改进主机总线适配器后面的sata存储装置上的读取性能
CN104123254B (zh) 一种节省硬件资源的配置寄存器访问方法
CN105446935A (zh) 共享存储并发访问处理方法及装置
CN113157602B (zh) 一种对内存进行分配的方法、设备及计算机可读存储介质
CN109471612B (zh) 运算装置及方法
US11010661B2 (en) Neural network chip, method of using neural network chip to implement de-convolution operation, electronic device, and computer readable storage medium
CN113220608A (zh) 一种NVMe命令处理器及其处理方法
CN102629190A (zh) 一种寄存器的读写方法及装置
CN106897021A (zh) 一种读写数据的方法和装置
CN111026686B (zh) 一种基于fpga的pci总线控制器及控制方法
CN104750640A (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
C14 Grant of patent or utility model
GR01 Patent grant