CN101038571A - 一种块传输的多端口存储控制器 - Google Patents
一种块传输的多端口存储控制器 Download PDFInfo
- Publication number
- CN101038571A CN101038571A CN 200710098503 CN200710098503A CN101038571A CN 101038571 A CN101038571 A CN 101038571A CN 200710098503 CN200710098503 CN 200710098503 CN 200710098503 A CN200710098503 A CN 200710098503A CN 101038571 A CN101038571 A CN 101038571A
- Authority
- CN
- China
- Prior art keywords
- port
- conflict
- multiport
- transmission
- ports
- 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
Images
Landscapes
- Multi Processors (AREA)
Abstract
本发明公开了一种基于块传输的多端口存储控制器。所述多端口存储控制器由检测地址选择单元、冲突检测单元、多个端口对应的冲突处理单元、多个端口对应的选择器和多个模块选择器组成。所述多端口存储控制器接收来自多个独立端口的块传输请求,并对请求进行冲突检测和冲突处理,之后控制多路请求以同步并行方式无冲突访问存储器。利用所述多端口存储控制器和多个现有单端口存储芯片构成的多端口存储器,支持来自多个端口同步并行的块传输,与其他现有多端口存储器相比该多端口存储器具有成本低、可扩充性好、维护性能好及共享率高的特点。该多端口存储器可以用作多机系统中各结点间的数据通道,提供高速、低延迟的通信。
Description
技术领域
本发明涉及一种基于块传输的多端口存储控制器。将该多端口存储控制器与多片单端口存储芯片连接可以构建多端口存储器。该多端口存储器与其他多端口存储器相比具有更好的可扩充性、可维护性及共享性,而且制作成本较低。因而特别适合于作为多机系统中的共享存储器,为各结点间进行高速、低延迟通信提供高性能数据通道。
背景技术
随着高性能计算及大规模信号处理需求的增加,多机系统的规模越来越大,以至于系统中各结点间及结点与存储系统间的通信变得越来越困难。系统中各结点间的连接方式成为整个系统构建的核心内容,也是影响系统整体性价比的关键。多端口存储器的多个端口可以同时连接多机系统中的多个结点,作为各结点的共享存储器,为各结点提供高性能数据通道。由于多端口存储器的多个端口同时并行的与所连接的多个结点进行通信,因而具有较高的数据传输率。而且与其他连接方式比较而言,多端口存储器对结点间通信的冲突处理及更多的通信控制集中到了存储器控制端,从而使得结点间通信延迟更低。但目前通用的多端口存储器主要是商用的多端口存储芯片,其成本较高而且不易进行容量扩充、可维护性较差,因而限制了多端口存储器的应用。
发明内容
本发明的目的是提供一种低成本、易控制、可扩充性好、可维护性好的多端口存储器,从而提高多端口存储器在各个领域的应用,充分利用多端口存储器的高数据传输率、低延迟性能。
本发明包括检测地址选择单元、冲突检测单元和多个端口对应的冲突处理单元、多个端口对应的选择器和多个模块选择器。
所述多端口存储控制器可以接收来自多个独立端口的块传输请求,并对请求进行冲突检测和冲突处理,最终控制多路请求以同步并行的方式同时顺序、交叉的访问多个存储芯片。
所述的冲突检测单元是对存储芯片的总线进行冲突检测。
所述的端口冲突处理单元是通过延迟输出优先级较低的端口的访问信息(地址、数据、r/w信号)来解决冲突现象的;延迟时间的长短由不同的冲突情况决定,最坏的情况是多个请求全部冲突,这时只有优先级最高的端口的访问信息被立即送入对应存储模块中进行读写,其他端口的信息由优先级别决定分别延迟一到多个时钟周期后输出;采用的优先级策略是固定优先级原则结合先访问端口优先的原则。
所构成的多端口存储器其存储阵列由单端口存储芯片以地址交叉方式组织而成,来自于多个独立端口的请求在所述的存储控制器的控制下以时间和空间混合并行的方式同时交叉的与多个单端口存储芯片进行信息块的传输。
构建多端口存储器时所使用单端口存储芯片数大于等于控制器设置的端口数。
该多端口存储器由多端口存储控制器和存储阵列组成。该存储器系统的存储阵列由多片单端口存储芯片以交叉编址方式连接而成,请求源可以通过所述多端口存储控制器设置的多个独立端口提出通信请求,并在其控制下以时间和空间混合并行的方式与存储阵列进行信息块的传输,使得多端口存储器的共享率达到最大。
本发明的多端口存储控制器,可采用下述设计方案。包括:检测地址选择单元[20]、冲突检测单元[21]、多个端口对应的冲突处理单元[22]、多个端口对应的选择器[23]和多个模块选择器[23]。所述检测地址选择单元[20]用来选择参与冲突检测的端口地址,其一个输入端连接多个端口冲突处理单元[22]的输出端,输出端连接冲突检测单元[21]的输入端;所述冲突检测单元[21]通过比较检测地址判断是否存在总线冲突现象,其输入端连接检测地址选择单元[20]的输出端,输出端分别连接多个冲突处理单元[22]的输入端。所述每个冲突处理单元[22]分别对应一个端口。每一个冲突处理单元[22]根据冲突检测的结果决定本端口请求信息的送出时刻,其输入端连接冲突检测电路[21]的输出,输出端分别连接检测地址选择单元[20]的输入端和多个模块选择器[23]的输入端。所述每个端口选择器[23]分别对应一个端口,用来根据该端口访问地址从来自多个存储模块的读出数据中选择本端口的数据,其输入端连接存储模块的数据输出端,输出端连接请求源的数据缓冲区。每个模块选择器[23]分别对应一个存储芯片,用来根据访问地址从来自多个端口的访问信息(访问地址、读写信号、写入数据)中选择对应本存储芯片的信息送入模块中响应,其输入端连接多个端口冲突处理单元[22],输出端连接对应存储模块。
本发明的优点是提供一种低成本、易控制、可扩充性好、可维护性好的多端口存储器,从而提高多端口存储器在各个领域的应用,充分利用多端口存储器的高数据传输率、低延迟性能。
附图说明
图1-块传输存储控制器管脚图
图2-存储器工作时空图
图3-存储控制器顶层结构图
图4-冲突检测单元基本原理图
图5-冲突处理单元原理图
具体实施方式
下面结合附图和实施例对本发明做进一步说明。
本发明实施方式以存储控制器设置四个访问端口、存储器系统的存储阵列由四片单端口存储芯片组成为例,但不仅限于此例。
图1所述的四端口存储控制器设置了四个独立的访问端口,同一时刻最多四个请求源分别通过四个端口提出块传输请求。请求源需通过端口的set信号端12提出请求(一个读写周期的高电平有效),提出请求的同时给出如下访问信息:初始访问地址14ad、访问块长11len、读写信号16r/w、传输数据17d。端口的set信号端12同时作为锁存该访问信息的控制信号。四端口存储控制器接收到来自四个独立端口的最多四路的块传输请求后,对各路访问进行冲突检测及处理后,将无冲突的请求信息ad,r/w,d分别送入各个模块选择器[23]中,由模块选择器[23]根据访问地址的低两位从中选择访问本模块的信息,并送入对应存储芯片响应。某一端口的传输结束后,可以接收新的传输请求。系统设有系统复位信号reset 10,可以将系统中各单元复位。
图2给出了由所述四端口存储控制器和四片单端口存储芯片(又名存储模块)构建的四端口存储器的工作时空图。最多四个请求源通过四个端口p0,p1,p2,p3同时提出请求,四个请求由四端口存储控制器接收并进行冲突检测及处理后最终以同步并行的方式同时顺序、交叉的读写四个存储模块。对同一个存储模块而言,各端口请求分时共享该模块;在同一个时刻,四个端口请求以并行的方式同时访问四个存储模块,在空间上共享四个模块。
检测地址选择单元20根据每个端口set信号端的状态从各个端口的初始访问地址14及由端口冲突处理单元22反馈回来的下一个访问地址15中选择一个作为该端口参与冲突检测的地址送入冲突检测单元21中,选择的依据是:新提出请求的端口参与冲突检测的地址为初始访问地址,正在访问的端口参与检测的地址是下一个访问地址。
冲突检测单元21通过比较各个端口参与检测的地址的低两位判断是否存在多个端口同时访问同一存储模块(并非同一存储单元)的总线冲突现象:若检测地址中存在低两位地址相同的现象则发生总线冲突;否则无冲突现象。若存在冲突则利用一定的优先级原则向优先级高的端口的冲突处理单元22送出“立即输出该端口请求信息”的信号8,并同时向优先级低的端口的冲突处理单元送出“延迟n个周期输出端口请求信息”的信号8。图4以p0有新请求(初始访问地址为A)同时p1、p2正在使用(下一个访问地址分别为B、C)为例给出了冲突检测单元的基本原理图,主要由比较器、加减法器组成。将port0的初始地址A的最低两位与正在读写的port1、port2的下一个访问地址B、C的最低两位分别比较,若与其中的一个相同则存在冲突现象,这时根据port1、port2下一个要读写的模块的相对位置决定port0的访问信息需等待一个(w10)还是两个(w20)时钟周期再输出;若都不相同,则给出立即输出port0访问信息的信号clr0。
各端口冲突处理单元22接收到冲突检测单元21的信号后会立即或延迟n个周期后输出对应本端口的请求信息:访问地址15、数据19、读写信号17。对于基于块传输的四端口存储器而言,延迟时间最多为3个周期,最坏情况下(四个端口同时冲突),三个周期后,各端口会以同步并行的方式同时顺序、交叉的访问四个存储模块,直到端口块传输结束。对应每个存储模块设有选择器[23],每个模块的选择器[23]同时接收来自四个端口的地址15、数据19、读写信号17,并根据访问地址的低两位选择对应本模块的端口信息送入存储模块中响应。对应每个端口设有端口选择器[23],每个端口选择器同时接收来自四个存储模块的数据,并根据端口访问地址从中选择本端口的读出数据送回端口数据缓冲区中。
图5给出了各端口冲突处理单元22的原理图。端口冲突处理单元22由端口时钟使能单元1、端口时钟产生单元2、块长计数器3、地址计数器4、读写信号锁存器5、输入数据延迟缓冲器6组成。端口时钟使能单元1是一个具有根据系统时钟信号7自减一功能的寄存器。该单元会根据接收到的冲突检测单元关于本端口访问信息的处理意见将初始寄存值设置为0或1或2或3:对应立即送出端口访问信息或延迟一个系统时钟周期7后送出端口访问信息或延迟两个系统时钟周期送出端口访问信息或延迟三个系统时钟周期送出端口访问信息。之后在系统时钟7的作用下将初始设置值自减一,直到减为零,则向端口时钟产生单元2送出使能信号。端口时钟产生单元2只有接收到使能信号后才会向端口冲突处理单元22中的其他部件提供端口时钟信号9。端口地址寄存器4在请求信号12set的作用下将初始访问地址14锁存,并在接收到端口时钟信号9后在每一个时钟信号的上升沿自动产生下一个访问地址15送入各个模块选择器[23]供选择。块长计数器3在请求信号12set作用下将访问块长11锁存,并在地址计数器4每送出一个访问地址15时将锁存的块长自动减1,当块长减为零时,块长计数器给出清零信号13将端口时钟信号产生单元清零,表明传输结束。读写信号寄存器5用来锁存端口读写信号16,并在接收到端口时钟信号9后与其他端口访问信息同时送到各个模块选择器[23]中。输入数据延迟缓冲器6由三级缓冲寄存器组成,用来锁存端口的写入数据,最多可以锁存三个字长的输入数据18,避免本端口信息被延迟输出时前几个周期写入数据的丢失。工作原理是根据接收到的冲突检测单元关于本端口信息是否延迟输出的意见决定数据是从哪一级缓冲寄存器输出。“立即输出本端口访问信息”的信号控制数据延迟缓冲寄存器6从第一级缓冲寄存器输出数据、“延迟n个周期输出本端口信息”的信号控制延迟缓冲寄存器从第n级缓冲寄存器输出数据,并在接收到端口时钟信号后会将锁存的数据19顺序送入各个模块选择器[23]中。
Claims (6)
1.一种块传输的多端口存储控制器,其特征在于:包括检测地址选择单元、冲突检测单元和多个端口对应的冲突处理单元、多个端口对应的选择器和多个模块选择器。
2.如权利要求1所述的一种块传输的多端口存储控制器,其特征在于:所述多端口存储控制器用来接收来自多个独立端口的块传输请求,并对请求进行冲突检测和冲突处理,最终控制多个请求源以同步并行的方式同时顺序的与多个单端口存储芯片进行交叉的块信息传输。
3.如权利要求1所述的一种块传输的多端口存储控制器,其特征在于:用冲突检测单元来对存储芯片的总线进行冲突检测。
4.如权利要求1所述的一种块传输的多端口存储控制器,其特征在于:所述的端口冲突处理单元是通过延迟输出优先级较低的端口的访问信息(地址、数据、r/w信号)来解决冲突现象;延迟时间的长短由不同的冲突情况决定,最坏的情况是多个请求全部冲突,这时只有优先级最高的端口的访问信息被立即送入对应存储模块中进行读写,其他端口的信息由优先级别决定分别延迟一到多个时钟周期后输出;采用的优先级策略是固定优先级原则结合先访问端口优先的原则。
5.如权利要求1所述的一种块传输的多端口存储控制器,其特征在于:所构成的多端口存储器其存储阵列由单端口存储芯片以地址交叉方式组织而成,来自于多个独立端口的请求在存储控制器的控制下以时间和空间混合并行的方式同时顺序、交叉的与多个单端口存储芯片进行信息块的传输。
6.如权利要求1所述的一种块传输的多端口存储控制器,其特征在于:构建多端口存储器时所使用单端口存储芯片数大于等于控制器设置的端口数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200710098503 CN101038571A (zh) | 2007-04-19 | 2007-04-19 | 一种块传输的多端口存储控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200710098503 CN101038571A (zh) | 2007-04-19 | 2007-04-19 | 一种块传输的多端口存储控制器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101038571A true CN101038571A (zh) | 2007-09-19 |
Family
ID=38889483
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200710098503 Pending CN101038571A (zh) | 2007-04-19 | 2007-04-19 | 一种块传输的多端口存储控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101038571A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102622192A (zh) * | 2012-02-27 | 2012-08-01 | 北京理工大学 | 一种弱相关多端口并行存储控制器 |
CN102708079A (zh) * | 2012-05-15 | 2012-10-03 | 钜泉光电科技(上海)股份有限公司 | 应用于微控制器的控制数据传输的方法及系统 |
CN103699388A (zh) * | 2013-12-30 | 2014-04-02 | 北京控制工程研究所 | 基于绝对地址汇聚的数据访问冲突检测方法 |
CN104360966A (zh) * | 2014-11-21 | 2015-02-18 | 浪潮(北京)电子信息产业有限公司 | 对块数据进行输入输出操作的方法和装置 |
CN105849688A (zh) * | 2014-12-01 | 2016-08-10 | 华为技术有限公司 | 数据写入的方法、装置、设备和存储系统 |
CN106528464A (zh) * | 2016-11-08 | 2017-03-22 | 英业达科技有限公司 | 内存访问冲突控制的计算机系统 |
CN106776377A (zh) * | 2016-12-12 | 2017-05-31 | 中国航空工业集团公司西安航空计算技术研究所 | 一种用于并发读取多个存储单元的地址合并处理电路 |
CN113254373A (zh) * | 2021-06-16 | 2021-08-13 | 上海矽久微电子有限公司 | 支持同时读写的类双口存储器实现方法、类存储器及芯片结构 |
-
2007
- 2007-04-19 CN CN 200710098503 patent/CN101038571A/zh active Pending
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102622192A (zh) * | 2012-02-27 | 2012-08-01 | 北京理工大学 | 一种弱相关多端口并行存储控制器 |
CN102708079B (zh) * | 2012-05-15 | 2015-09-30 | 钜泉光电科技(上海)股份有限公司 | 应用于微控制器的控制数据传输的方法及系统 |
CN102708079A (zh) * | 2012-05-15 | 2012-10-03 | 钜泉光电科技(上海)股份有限公司 | 应用于微控制器的控制数据传输的方法及系统 |
CN103699388A (zh) * | 2013-12-30 | 2014-04-02 | 北京控制工程研究所 | 基于绝对地址汇聚的数据访问冲突检测方法 |
CN103699388B (zh) * | 2013-12-30 | 2015-07-08 | 北京控制工程研究所 | 基于绝对地址汇聚的数据访问冲突检测方法 |
CN104360966B (zh) * | 2014-11-21 | 2017-12-12 | 浪潮(北京)电子信息产业有限公司 | 对块数据进行输入输出操作的方法和装置 |
CN104360966A (zh) * | 2014-11-21 | 2015-02-18 | 浪潮(北京)电子信息产业有限公司 | 对块数据进行输入输出操作的方法和装置 |
CN105849688A (zh) * | 2014-12-01 | 2016-08-10 | 华为技术有限公司 | 数据写入的方法、装置、设备和存储系统 |
CN105849688B (zh) * | 2014-12-01 | 2019-10-22 | 华为技术有限公司 | 数据写入的方法、装置、设备和存储系统 |
CN106528464A (zh) * | 2016-11-08 | 2017-03-22 | 英业达科技有限公司 | 内存访问冲突控制的计算机系统 |
CN106776377A (zh) * | 2016-12-12 | 2017-05-31 | 中国航空工业集团公司西安航空计算技术研究所 | 一种用于并发读取多个存储单元的地址合并处理电路 |
CN106776377B (zh) * | 2016-12-12 | 2020-04-28 | 中国航空工业集团公司西安航空计算技术研究所 | 一种用于并发读取多个存储单元的地址合并处理电路 |
CN113254373A (zh) * | 2021-06-16 | 2021-08-13 | 上海矽久微电子有限公司 | 支持同时读写的类双口存储器实现方法、类存储器及芯片结构 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101038571A (zh) | 一种块传输的多端口存储控制器 | |
CN100489809C (zh) | 适合向多处理器提供专用或共享存储器的存储器及其方法 | |
CN100507874C (zh) | 用于存储器系统性能监视的存储器集线器和方法 | |
CN100580643C (zh) | 包括多个存储器集线器模块的多处理器系统和方法 | |
US6751703B2 (en) | Data storage systems and methods which utilize an on-board cache | |
CN100592276C (zh) | 在不同芯片中命令控制不同的操作 | |
CN102187323B (zh) | 多核存储器模块中的功率下降模式的动态利用 | |
EP2313891B1 (en) | Independently controlled virtual memory devices in memory modules | |
EP2313890B1 (en) | Independently controllable and reconfigurable virtual memory devices in memory modules that are pin-compatible with standard memory modules | |
CN103246625B (zh) | 一种数据与地址共用引脚自适应调整访存粒度的方法 | |
US20150261698A1 (en) | Memory system, memory module, memory module access method, and computer system | |
CN1688980A (zh) | 具有内部行高速缓存的内存集线器及访问方法 | |
CN102622192B (zh) | 一种弱相关多端口并行存储控制器 | |
CN101300558B (zh) | 具有映射到存储体组的端口的多端口存储器 | |
US8341344B2 (en) | Techniques for accessing a resource in a processor system | |
CN102866980B (zh) | 用于多核微处理器片上互连网络的网络通信胞元 | |
CN1195272C (zh) | 用于网络处理器的动态随机存取存储器数据存储和移动 | |
CN101706760A (zh) | 矩阵转置自动控制电路系统及矩阵转置方法 | |
CN206946471U (zh) | 一种多通道共享读写sdram的电路装置 | |
CN102402422A (zh) | 处理器组件及该组件内存共享的方法 | |
JP2002525737A (ja) | メモリシステム | |
CN110413536B (zh) | 一种多数据格式高速并行NandFlash存储装置 | |
CN103246622B (zh) | 一种扩展内存的方法、内存节点、主节点及系统 | |
CN111611180A (zh) | 一种支持多协议的动态共享缓冲区 | |
US7856527B2 (en) | Raid system and data transfer method in raid system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |