CN121237143B - 伪静态随机访问存储器及其访问方法、io接口、电子设备 - Google Patents
伪静态随机访问存储器及其访问方法、io接口、电子设备Info
- Publication number
- CN121237143B CN121237143B CN202511814025.XA CN202511814025A CN121237143B CN 121237143 B CN121237143 B CN 121237143B CN 202511814025 A CN202511814025 A CN 202511814025A CN 121237143 B CN121237143 B CN 121237143B
- Authority
- CN
- China
- Prior art keywords
- terminals
- interface protocol
- interface
- data
- instruction
- 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
Links
Landscapes
- Communication Control (AREA)
Abstract
本公开涉及伪静态随机访问存储器及其访问方法、IO接口和电子设备。IO接口包括:分别用于第一和第二接口协议的第一和第二组数据端子,第二组端子数量大于第一组;用于第一和第二接口协议的一组控制端子;模式寄存器缓存部,配置为缓存经由第一组数据端子或一组控制端子中第一部分端子输入的模式寄存器值,其中至少一位用作接口协议选择信号;控制逻辑部,包括分别根据第一和第二接口协议进行指令译码的第一和第二控制逻辑模块且配置为根据接口协议选择信号利用对应控制逻辑模块对指令值进行指令译码。本公开的IO接口兼容两种接口协议,其中一种可支持更大数据宽度,能实现更高带宽,还能通过协议选择信号进行协议切换,适用于更广泛的应用场景。
Description
技术领域
本公开涉及存储领域,特别是涉及一种伪静态随机访问存储器(Pseudo StaticRandom Access Memory,PSRAM)及其访问方法、IO(Input/Output,输入/输出)接口、以及包含该存储器的电子设备等。
背景技术
随着如多媒体、人工智能和高速通信场景的发展,电子设备和系统性能需求的持续增长,作为一种低功耗内存的PSRAM对高带宽的需求变得越来越多。
由此,期望能提供具有更高带宽的PSRAM。
发明内容
本公开要解决的一个技术问题是提供一种具有更高带宽的伪静态随机访问存储器。
根据本公开的第一个方面,提供了一种用于伪静态随机访问存储器的IO接口,选择性地工作在第一接口协议模式或第二接口协议模式,所述IO接口包括:
用于所述第一接口协议的第一组数据端子;
用于所述第二接口协议的第二组数据端子,其端子数量大于所述第一组数据端子的端子数量;
用于所述第一和第二接口协议的一组控制端子;
模式寄存器缓存部,被配置为缓存经由所述第一组数据端子或经由所述一组控制端子中的第一部分端子输入的模式寄存器值,其中所述模式寄存器值中的至少一位用作接口协议选择信号;
控制逻辑部,包括分别根据所述第一接口协议和所述第二接口协议进行指令译码的第一控制逻辑模块和第二控制逻辑模块,并且被配置为根据所述接口协议选择信号,利用所述第一控制逻辑模块和所述第二控制逻辑模块中的对应一个对经由所述第一组数据端子或经由所述第一部分端子输入的指令值进行指令译码处理。
可选地,所述第一组数据端子用于根据所述第一接口协议分时传输访问数据、指令值、地址值和模式寄存器值;所述第二组数据端子用于根据所述第二接口协议仅传输访问数据。
可选地,所述一组控制端子包括用于传输所述第一接口协议所需的除了指令值、地址值和模式寄存器值之外的控制信号的第一子组控制端子、和用于传输所述第二接口协议所需的全部控制信号的第二子组控制端子,其中所述第二子组控制端子包括用于根据第二接口协议分时传输指令值、地址值和模式寄存器值的指令/地址复用端子作为所述第一部分端子;
在所述IO接口工作在所述第一接口协议模式的情况下,所述模式寄存器值和所述指令值均是经由所述第一组数据端子输入的,而在所述IO接口工作在第二接口协议模式的情况下,所述模式寄存器值和所述指令值均是经由所述指令/地址复用端子输入的。
可选地,所述第一组数据端子中的至少部分还用于根据所述第二接口协议分时传输指令值、地址值和模式寄存器值;
所述一组控制端子包括用于传输所述第一接口协议所需的除了指令值、地址值和模式寄存器值之外的控制信号的第一子组控制端子,所述第一子组控制端子还用于传输所述第二接口协议所需的除了指令值、地址值和模式寄存器值之外的控制信号的至少部分;
在所述IO接口工作在所述第一接口协议模式和所述第二接口协议模式的情况下,所述模式寄存器值和所述指令值均是经由所述第一组数据端子输入的。
可选地,所述第一控制逻辑模块被配置为接收第一指令/地址值和第一时钟信号,并且根据所述第一接口协议和所述第一时钟信号,对所述第一指令/地址值中提取出的指令值进行指令译码以得到第一内部操作信号,并且从所述第一指令/地址值中提取出地址值作为第一地址信号。
可选地,所述第二控制逻辑模块被配置为接收第二指令/地址值、第二时钟信号和指定部分的模式寄存器值,并且根据所述第二接口协议和所述第二时钟信号,结合所述指定部分的模式寄存器值来对所述第二指令/地址值中提取出的指令值进行指令译码以得到第二内部操作信号,并且从所述第二指令/地址值中提取出地址值作为第二地址信号。
可选地,在所述第一组数据端子用于根据所述第一接口协议分时传输访问数据、指令值、地址值和模式寄存器值,并且所述第一部分端子用于根据所述第二接口协议分时传输指令值、地址值和模式寄存器值的第一情况下,所述第一指令/地址值是在第一组时钟沿对所述第一组数据端子的输入采样得到的多组值,所述第二指令/地址值是在第二组时钟沿对所述第一部分端子的输入采样得到的多组值;或者,在所述第一组数据端子用于根据所述第一接口协议分时传输访问数据、指令值、地址值和模式寄存器值,并且所述第一组数据端子中的至少部分还用于根据所述第二接口协议分时传输指令值、地址值和模式寄存器值的第二情况下,所述第一指令/地址值和所述第二指令/地址值分别是在第三组时钟沿和第四组时钟沿对所述第一组数据端子的输入采样得到的多组值;
所述第一时钟信号和所述第二时钟信号分别由所述一组控制端子中分别用于传输所述第一接口协议和所述第二接口协议所需的时钟信号的第一时钟端子和第二时钟端子输入,或者均由所述一组控制端子中复用于传输所述第一接口协议和所述第二接口协议所需的时钟信号的时钟端子输入。
可选地,所述第一控制逻辑模块包括:
第一指令译码器,被配置为根据所述第一接口协议对所述第一指令/地址值进行指令译码得到第一译码信号,
第一时钟门控单元,被配置为根据所述第一接口协议,将所述第一时钟信号转换为第一指令时钟信号和第一地址时钟信号,其分别指示所述第一指令/地址值中的指令值和地址值的采样时刻,
第一内部操作信号缓存单元,被配置为在所述第一指令时钟信号所指示的时刻采样并缓存所述第一译码信号作为所述第一内部操作信号,以及
第一地址缓存单元,被配置为在所述第一地址时钟信号所指示的时刻采样并缓存所述第一指令/地址值作为所述第一地址信号。
可选地,所述第二控制逻辑模块包括:
第二指令译码器,被配置为根据所述第二接口协议,结合所述指定部分的模式寄存器值来对所述第二指令/地址值进行指令译码得到第二译码信号,
第二时钟门控单元,被配置为根据所述第二接口协议,将所述第二时钟信号转换为第二指令时钟信号和第二地址时钟信号,其分别指示所述第二指令/地址值中的指令值和地址值的采样时刻,
第二内部操作信号缓存单元,被配置为在所述第二指令时钟信号所指示的时刻采样并缓存所述第二译码信号作为所述第二内部操作信号,以及
第二地址缓存单元,被配置为在所述第二地址时钟信号所指示的时刻采样并缓存所述第二指令/地址值作为所述第二地址信号。
可选地,在所述第一组数据端子用于根据所述第一接口协议分时传输访问数据、指令值、地址值和模式寄存器值,所述第一组数据端子中的至少部分还用于根据所述第二接口协议分时传输指令值、地址值和模式寄存器值,并且所述一组控制端子中的时钟端子复用于传输所述第一接口协议和所述第二接口协议所需的时钟信号的情况下,所述控制逻辑部还包括:
第一解复用器,其输入端接收在第三组时钟沿或第四组时钟沿对所述第一组数据端子的输入采样得到的指令/地址值,其控制端接收所述接口协议选择信号,并且其两个输出端分别输出所述第一指令/地址值和所述第二指令/地址值;以及
第二解复用器,其输入端接收由所述时钟端子输入的时钟信号,其控制端接收所述接口协议选择信号,并且其两个输出端分别输出所述第一时钟信号和所述第二时钟信号。
可选地,所述控制逻辑部还包括:
输出模块,被配置为接收所述第一内部操作信号、所述第二内部操作信号、所述第一地址信号和所述第二地址信号,并且输出最终内部操作信号和最终地址信号,所述最终内部操作信号等于所述第一内部操作信号和所述第二内部操作信号中的与所述接口协议选择信号对应的一个,所述最终地址信号等于所述第一地址信号和所述第二地址信号中的与所述接口协议选择信号对应的一个。
可选地,在所述最终内部操作信号指示进行模式寄存器写操作的情况下,所述最终地址信号中的至少部分被缓存到所述模式寄存器缓存部中作为最新的模式寄存器值。
可选地,所述控制逻辑部还包括:
第一开关,位于所述第一控制逻辑模块与其所用的电源电压之间;
第二开关,位于所述第二控制逻辑模块与其所用的电源电压之间;以及
电源控制模块,被配置为将所述接口协议选择信号及其反相信号分别输出到所述第一开关和所述第二开关的控制端,使得在所述接口协议选择信号指示当前选择所述第一接口协议的情况下所述第一开关导通而所述第二开关断开,并且在所述接口协议选择信号指示当前选择所述第二接口协议的情况下所述第二开关导通而所述第一开关断开。
可选地,所述IO接口还包括:IO缓冲部,耦接到所述第一组数据端子、所述第二组数据端子和所述一组控制端子,并且包括分别用于接收所述第一组数据端子、所述第二组数据端子和所述一组控制端子上输入的信号的多个接收器、以及分别用于驱动所述第一组数据端子、所述第二组数据端子、以及所述一组控制端子中的部分上输出的信号的多个驱动器。
可选地,所述IO缓冲部被配置为根据所述接口协议选择信号,将用于空闲端子的接收器和/或驱动器关闭,其中所述空闲端子为未用于传输所述接口协议选择信号所对应的接口协议所需的信号的端子。
可选地,所述IO接口还包括:
内部访问数据总线,用于在所述伪静态随机访问存储器内的存储阵列与所述第一组数据端子之间以及在所述存储阵列与所述第二组数据端子之间传输访问数据,其位数等于所述第二组数据端子的端子数量;以及
访问数据IO部,被配置为将在第五组时钟沿对所述第一组数据端子的输入采样得到的多个写数据拼接为一个内部写数据以便在同一个时刻输出到所述内部访问数据总线,并且将经由所述内部访问数据总线在同一个时刻接收的一个内部读数据拆分为多个读数据以便经由所述第一组数据端子分多次输出。
可选地,所述第一组数据端子采用DDR时序传输所述读数据和所述写数据,并且所述访问数据IO部包括:
写驱动器,被配置为将在所述第五组时钟沿中的连续两个时钟沿对所述第一组数据端子的输入采样得到的两个写数据拼接为一个中间写数据以便在同一个时刻输出;
数据接口,被配置为将连续输出的多个所述中间写数据拼接为所述一个内部写数据;
读数据缓存模块,被配置为缓存所述一个内部读数据;
读数据多路复用器,被配置为将所缓存的内部读数据拆分为多个中间读数据依次输出,其中所述中间读数据的位数为所述第一组数据端子的端子数量的两倍;以及
读驱动器,被配置为将一个所述中间读数据拆分为两个所述读数据以便经由所述第一组数据端子在连续的两个时钟沿分别输出。
可选地,所述一组控制端子包括仅用于传输所述第一接口协议所需的至少部分控制信号的第一子组控制端子和仅用于传输所述第二接口协议所需的至少部分控制信号的第二子组控制端子,或者所述一组控制端子包括至少一个复用于所述第一和第二接口协议的控制端子。
可选地,所述第一组数据端子中的至少部分还用于传输所述第二接口协议所需的至少部分控制信号和/或访问数据,或者所述第二组数据端子中的至少部分还用于传输所述第一接口协议所需的至少部分控制信号和/或访问数据。
可选地,所述第一接口协议为xSPI协议,所述第二接口协议为LPDDR协议。
可选地,所述第一组数据端子的端子数量为8,所述第二组数据端子的端子数量为64。
根据本公开的第二个方面,提供了一种伪静态随机访问存储器,包括:根据上述第一个方面中的任一方案所述的IO接口;存储阵列;访问处理部,被配置为根据所述IO接口中的所述控制逻辑部进行指令译码处理的结果,对所述存储阵列进行相应的访问操作。
根据本公开的第三个方面,提供了一种用于访问根据上述第二个方面中的任一方案所述的伪静态随机访问存储器的方法,包括:经由所述第一组数据端子或所述第一部分端子接收所述模式寄存器值;经由所述第一组数据端子或所述第一部分端子接收所述指令值;根据所述模式寄存器值中的所述接口协议选择信号,利用所述第一控制逻辑模块和所述第二控制逻辑模块中的对应一个对所述指令值进行指令译码处理;以及根据所述指令译码处理的结果,利用所述访问处理部对所述存储阵列进行相应的访问操作。
根据本公开的第四个方面,提供了一种电子设备,包括:根据上述第二个方面中的任一方案所述的伪静态随机访问存储器;以及第一主机,耦接到所述伪静态随机访问存储器中的所述IO接口中的所述第一组数据端子、以及所述一组控制端子中的用于传输所述第一接口协议所需的控制信号的第一子组控制端子,并且被配置为在访问所述伪静态随机访问存储器时经由所述第一组数据端子或所述第一部分端子向所述IO接口输入所述模式寄存器值,使得所述接口协议选择信号指示当前选择所述第一接口协议模式。
可选地,所述电子设备还包括:
第二主机,耦接到所述IO接口中的所述第二组数据端子、以及所述一组控制端子中的用于传输所述第二接口协议所需的控制信号的第二子组控制端子,并且被配置为在访问所述伪静态随机访问存储器时经由所述第一组数据端子或所述第一部分端子向所述IO接口输入所述模式寄存器值,使得所述接口协议选择信号指示当前选择所述第二接口协议模式;
其中,所述第一主机和所述第二主机分别还包括第一占用状态端子和第二占用状态端子,所述第一占用状态端子与所述第二占用状态端子耦接在一起,并且用来在所述第一主机与所述第二主机之间交互彼此对所述伪静态随机访问存储器的占用状态以保证所述第一主机和所述第二主机分时访问所述伪静态随机访问存储器。
由此,本公开实施例的IO接口设计兼容两种接口协议,其中一种接口协议可支持更大的数据宽度,从而能够实现更高的带宽,而且还能够通过协议选择信号进行接口协议之间的切换,从而适用于更广泛的应用场景。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1示出了根据本公开一些实施例的PSRAM及其中的IO接口的示例性组成示意图。
图2示出了根据本公开一些实施例的PSRAM及其中的IO接口的示例性组成示意图。
图3示出了根据本公开一些实施例的控制逻辑部的示例性组成示意图。
图4示出了根据本公开一些实施例的控制逻辑部的示例性组成示意图。
图5示出了根据本公开一些实施例的IO缓冲部的示例性组成示意图。
图6示出了根据本公开一些实施例的访问数据IO部的示例性组成示意图。
图7示出了根据本公开一些实施例的PSRAM与访问该PSRAM的主机的示例性示意图。
图8示出了根据本公开一些实施例的PSRAM的访问方法的示例性流程图。
图9示出了根据本公开一些实施例的电子设备的示例性组成示意图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
目前一般的PSRAM的最高性能是200M 的工作频率,通常采用遵循SPI(SerialPeripheral Interface,串行外设接口)协议工作的IO(Input/Output)接口。在采用DDR(Double Data Rate,双倍数据速率)时序和x8的IO接口(即IO接口的数据宽度为8,并行接收的数据为8位)的情况下,其带宽最大为400MBps,而在采用DDR时序和x16的IO接口的情况下,其带宽最大也就800MBps,这已经无法满足现在的一些高性能应用场景对PSRAM的需求。在本文中,“SPI协议”包括各种扩展的串行外设接口协议,例如多IO的SPI协议,包括QSPI(Quad Serial Peripheral Interface,四线串行外设接口)、OSPI(Octal SerialPeripheral Interface,八线串行外设接口)、xSPI(eXtended Serial PeripheralInterface,扩展串行外设接口)协议等。
由此,本公开实施例提出了一种新的用于PSRAM的IO接口设计,其兼容两种接口协议,其中一种接口协议可支持更大的数据宽度,从而实现更高的带宽,而且还能够通过协议选择信号进行接口协议之间的切换,从而适用于更广泛的应用场景。
例如,根据本公开实施例的IO接口既可以工作在PSRAM原本使用的接口协议(如SPI协议等)的模式下,还可以工作在支持更大的数据宽度的接口协议(如LPDDR(Low PowerDouble Data Rate,低功耗双倍数据速率)协议等)的模式下,从而用户可以在一般的应用场景下选择使用PSRAM原本的指令格式和接口协议,而在高带宽应用场景下选择使用具有更大的数据宽度的接口协议以达到更大的带宽。因此,能够在PSRAM产品形态上实现高带宽的性能,同时通过模式的切换保留了PSRAM原本支持的应用接口协议。
在如后所述的一些实施例中,根据本公开实施例的IO接口还可以同时支持两个采用不同接口协议的主机访问同一PSRAM,从而能够适用于更多、更复杂的应用场景。
下面将以兼容数据宽度为8的xSPI协议(对应本文所述的第一接口协议)和数据宽度为64的LPDDR协议(对应本文所述的第二接口协议)的IO接口为例来详细介绍本公开的技术方案,但是本领域技术人员均能理解,本公开不限于此,而是也能类似地应用于兼容其他两种不同接口协议的IO接口,而且两个接口协议采用的数据宽度也仅是示例性的,可以根据需要修改。
图1和图2分别示出了根据本公开实施例的两种PSRAM及其中的IO接口的示例性组成示意图,二者的主要区别在于:图1的IO接口为两个接口协议分别提供了各自独立的两套端子,而图2的IO接口中第二接口协议复用了第一接口协议的至少部分端子。下面先结合图1以及后续的一些图详细讨论本公开实施例的PSRAM及其中的IO接口,再结合图2描述该端子复用的实施例与例如图1的端子独立的实施例之间的区别。
如图1所示,PSRAM包括IO接口,其选择性地工作在第一接口协议模式或第二接口协议模式,因此,IO接口包括用于实现两个接口协议的端子。本领域技术人员可以理解,图1的IO接口中的各端子、各部或模块仅是示例性的,并非限制性的,在实际使用中可以根据情况进行增减或修改。
在例如图1所示的示例中,第一接口协议为xSPI协议,第二接口协议为LPDDR协议,而且这两个接口协议分别使用各自独立的两套端子,例如图1最右侧所示的用于第一接口协议的一套端子,以及图1最上侧所示的用于第二接口协议的一套端子。
每套端子均可被分为数据部分和控制部分,其中数据部分端子用来至少传输访问数据(即读数据和写数据),控制部分端子用来传输对应接口协议所需的除数据部分端子传输的信号之外的所有控制信号。在本文中,“控制信号”指的是对应接口协议所需的除了访问数据之外的各信号,例如,指令(Command)值、地址值(即访问数据对应的地址)、模式寄存器(Mode Register)值、时钟(Clock,CLK)信号、片选(Chip Select,CS)信号、数据选通(Data Strobe,DQS)信号、数据掩码(Data Mask,DM)信号、复位信号等。
用于第一接口协议的数据部分端子也可被称为第一组数据端子。在第一接口协议为xSPI协议或类似的协议的情况下,第一组数据端子用于根据第一接口协议分时传输访问数据、指令值、地址值和模式寄存器值。也就是说,根据第一接口协议的访问数据、指令值和地址值是分时复用同一组端子进行传输的。另外,在写模式寄存器的指令格式中,指令值和模式寄存器值也是分时复用这同一组端子进行传输的。在图1的示例中,端子A/DQ[7:0]可用作第一组数据端子,其端子数量为8。
用于第二接口协议的数据部分端子也可被称为第二组数据端子,其端子数量大于第一组数据端子的端子数量,即,根据第二接口协议并行传输访问数据的位数多于第一接口协议,因此采用第二接口协议能够实现更高的带宽。在第二接口协议为LPDDR协议或类似的协议的情况下,第二组数据端子用于根据第二接口协议仅传输访问数据。也就是说,根据第二接口协议,访问数据与指令值/地址值是各自独立地由不同的端子传输的,因此采用第二接口协议还能够实现更快的访问速度。在图1的示例中,端子DQ[63:0]可用作第二组数据端子,即可以实现64位的数据宽度,相比于x8的第一接口协议可以提高8倍的带宽;在一些情况下,端子DQ[63:0]还可以向下兼容x32或x16的第二接口协议,其也可以相应地提高4倍或2倍的带宽。
用于第一接口协议的控制部分端子和用于第二接口协议的控制部分端子也可被合称为用于第一和第二接口协议的一组控制端子,其用于传输第一接口协议和第二接口协议所需的至少部分控制信号,因为在一些情况下有部分控制信号也可由数据端子分时传输,例如前述的根据第一接口协议的指令值、地址值和模式寄存器值等。该一组控制端子可以被分成第一子组控制端子和第二子组控制端子,其中第一子组控制端子用于传输第一接口协议所需的至少部分控制信号,第二子组控制端子用于传输第二接口协议所需的至少部分控制信号。在图1例示的两个接口协议分别具有各自独立的端子的情况下,第一子组控制端子仅用于第一接口协议,而第二子组控制端子仅用于第二接口协议。在后述的图2例示的两个接口协议复用部分端子的情况下,该一组控制端子包括至少一个复用于第一和第二接口协议的控制端子。也就是说,第一子组控制端子中的至少部分还可以用于传输第二接口协议所需的至少部分控制信号,或者第二子组控制端子中的至少部分还可以用于传输第一接口协议所需的至少部分控制信号,或者在该一组控制端子全部都复用于第一和第二接口协议的情况下第一子组控制端子和第二子组控制端子完全重合。在一些情况下,除了控制端子之外或者作为替代,第一组数据端子中的至少部分还可以复用于传输第二接口协议所需的至少部分控制信号和/或访问数据,或者第二组数据端子中的至少部分还可以复用于传输第一接口协议所需的至少部分控制信号和/或访问数据。
在图1例示的示例中,第一子组控制端子用于传输第一接口协议所需的除了指令值、地址值和模式寄存器值之外的控制信号,例如图1中所示的,其可以包括分别用于传输片选信号、时钟信号、数据选通信号/数据掩码信号、复位信号的控制端子,即端子CS1#、CLK1、DQS/DM、RESET1#。
第二子组控制端子用于传输第二接口协议所需的全部控制信号,例如图1中所示的,其可以包括分别用于传输数据选通信号、指令值/地址值或模式寄存器值、时钟信号、片选信号、复位信号的控制端子,即端子DQS[7:0]、CA[5:0]、CLK2、CS2#、RESET2#。可以理解,CA[5:0]是用于根据第二接口协议分时传输指令值、地址值和模式寄存器值的指令/地址复用端子。另外,虽然图1中未示出,但是在一些示例中,第二子组控制端子还可以包括用于输入数据掩码信号的控制端子,即端子DM[7:0]。
如图1所示,除了端子DQS/DM和DQS[7:0]是既能输入信号也能输出信号的双向端子之外,其他控制端子皆为仅能输入信号的单向端子。
本领域技术人员可以理解,图1中所示的控制端子的种类和数量仅是示例性的,在实际使用时可以根据所用接口协议来设置控制端子的种类和数量。上述的第一组数据端子和第一子组控制端子可以支持xSPI的各种指令操作,第二组数据端子和第二子组控制端子可以支持LPDDR的各种指令操作,本领域技术人员均理解其具体指令格式、操作时序等,在此不再赘述。
可以采用接口协议选择信号Mode_Sel来选择IO接口工作在第一接口协议模式还是第二接口协议模式。该信号Mode_Sel可由模式寄存器中的一位的值来充当,例如,其为0时指示IO接口当前工作在第一接口协议模式,其为1时指示IO接口当前工作在第二接口协议模式。可利用信号Mode_Sel来控制IO接口中的相应部件根据对应接口协议工作,从而实现对应接口协议模式。
因此,如图1所示,IO接口还可以包括模式寄存器缓存部和控制逻辑部。
模式寄存器缓存部被配置为缓存经由第一组数据端子(例如端子A/DQ[7:0])或经由该一组控制端子中的第一部分端子(例如端子CA[5:0])输入的模式寄存器值MR,其中至少一位用作接口协议选择信号Mode_Sel,用来指示选择第一接口协议还是第二接口协议。图1中的Mode_Reg可以为MR中除了Mode_Sel之外的剩余部分。模式寄存器缓存部可以包括例如多个锁存器或寄存器等。
在一些示例中,可根据用户需要,在PSRAM出厂前将接口协议选择信号Mode_Sel固定为一个特定值,在之后用户使用时不能改变该值。例如,可以在芯片测试阶段利用第一组数据端子或上述第一部分端子进行特定的MR写操作来将接口协议选择信号Mode_Sel写入并固定在芯片中。由此,在封装该PSRAM时也可以只将对应的一个接口协议所使用的那些端子的焊盘(pad)键合(bond)到封装引脚。
在另一些示例中,可以由使用该PSRAM的主机来配置接口协议选择信号Mode_Sel的值。例如,主机可以只使用其中一个接口协议,由此只与对应接口协议的端子耦接,并且利用MR写指令写入对应的接口协议选择信号Mode_Sel的值。或者,例如,主机可以根据使用场景在这两个接口协议之间切换,因此与该PSRAM的所有端子耦接,并且利用对应的MR写指令切换接口协议选择信号Mode_Sel的值。
控制逻辑部包括分别根据第一接口协议和第二接口协议进行指令译码的第一控制逻辑模块和第二控制逻辑模块,并且被配置为根据接口协议选择信号Mode_Sel,利用第一控制逻辑模块和第二控制逻辑模块中的对应一个对经由第一组数据端子或经由第一部分端子输入的指令值进行指令译码处理。
例如,信号Mode_Sel指示选择第一接口协议时,经由第一组数据端子输入指令值,利用第一控制逻辑模块根据第一接口协议对该指令值进行指令译码,得到一组内部操作信号来控制PSRAM内的访问处理部(例如包括如图1所示的RA&CA控制逻辑模块、IO控制模块、行解码器和列访问控制模块等)对存储阵列进行相应的访问操作。其中RA和CA分别为“行地址(Row Address)”和“列地址(Column Address)”的简称。本领域技术人员可以理解,图1中示出的RA&CA控制逻辑模块、IO控制模块、行解码器和列访问控制模块仅是示例性的,根据本公开的访问处理部不限于此。该访问处理部可以被配置为根据IO接口中的控制逻辑部进行指令译码处理的结果,对存储阵列进行相应的访问操作。
例如,信号Mode_Sel指示选择第二接口协议时,经由第一部分端子输入指令值,利用第二控制逻辑模块根据第二接口协议对该指令值进行指令译码,得到一组内部操作信号来控制PSRAM内的访问处理部对存储阵列进行相应的访问操作。
在一些示例中,在当前选择了第一接口协议的情况下,可以采用第一接口协议的模式寄存器写指令格式,经由第一组数据端子输入MR;在当前选择了第二接口协议的情况下,可以采用第二接口协议的模式寄存器写指令格式,经由第一部分端子输入MR。
在一些情况下,需要由控制逻辑部对指令进行译码后才能知道本次指令格式中输入的是MR并进行MR的更新,因此在切换接口协议时,可以利用切换前的接口协议的模式寄存器写指令格式改写Mode_Sel,从而切换到当前所需的接口协议,之后就可以采用切换后的接口协议进行各种操作。在另一些情况下,也可将IO接口设计为,在切换接口协议时,采用当前所需的接口协议(即切换后的接口协议)改写Mode_Sel的值,之后即可采用切换后的接口协议进行各种操作。
在图1所示的示例中,在IO接口工作在第一接口协议模式的情况下,上述的模式寄存器值MR和指令值均是经由第一组数据端子,例如端子A/DQ[7:0]输入的,而在IO接口工作在第二接口协议模式的情况下,上述的模式寄存器值MR和指令值均是经由指令/地址复用端子,例如端子CA[5:0]输入的。
在这种指令值和地址值/模式寄存器值由同一组端子分时复用传输的情况下,可以将在指定的多个时钟沿(也可称为一组时钟沿)对该组端子的输入采样得到的多组值合称为指令/地址值。可以理解,此合称是本领域的常用表述,为了描述简洁起见,省略了“模式寄存器值”,而“指令/地址值”中的“地址值”实际包含了模式寄存器值的情况。在协议支持的各个指令格式中指定的时钟沿采样得到的值可能是指令值、地址值或者模式寄存器值。根据指令的不同,在同一时钟沿可能输入的是地址值或者是模式寄存器值。例如在访问指令中,传输启动后的第N个时钟沿处输入的是某个地址值,而在模式寄存器写指令中,同一个时钟沿处输入的是模式寄存器值。
该指定的多个时钟沿可根据接口协议(例如其采用的各种指令格式、SDR或DDR传输时序等)来确定,例如可以为片选信号有效后(即传输启动后)的连续若干个有效时钟沿。所谓“有效时钟沿”指的是根据传输时序等规定的进行采样的时钟沿。在采用DDR传输时序的情况下,在一个时钟周期进行两次采样,该有效时钟沿包括时钟信号的上升沿和下降沿。
将该指令/地址值送入控制逻辑部进行处理,控制逻辑部可在不同的时刻从中提取出指令值和地址值(或者模式寄存器值)分别进行处理。
在例如图1所示的采用两套各自独立的端子分别支持两个接口协议的示例中,存在第一指令/地址值Cmd/Addr1和第二指令/地址值Cmd/Addr2,其中第一指令/地址值是在第一组时钟沿对第一组数据端子(例如端子A/DQ[7:0])的输入(例如A/DQ[7:0]_v)采样得到的多组值,第二指令/地址值是在第二组时钟沿对第一部分端子(例如端子CA[5:0])的输入(例如CA[5:0]_v)采样得到的多组值。第一组时钟沿和第二组时钟沿分别根据第一接口协议和第二接口协议确定,其数量和对应的传输次序可能相同或不同。另外,由分别用于传输第一接口协议和第二接口协议所需的时钟信号的第一时钟端子和第二时钟端子分别输入第一时钟信号CLK1_v和第二时钟信号CLK2_v。第一组时钟沿均为第一时钟信号CLK1_v的时钟沿,而第二组时钟沿均为第二时钟信号CLK2_v的时钟沿。
在一可选实施方式中,如图1的示例所示,IO接口还可以包括指令/地址缓存部,其被配置为缓存经由第一组数据端子(例如端子A/DQ[7:0])输入的第一指令/地址值Cmd/Addr1和经由第一部分端子(例如端子CA[5:0])输入的第二指令/地址值Cmd/Addr2,并且将第一指令/地址值Cmd/Addr1和第二指令/地址值Cmd/Addr2输出到控制逻辑部。例如,在图1中,指令/地址缓存部可以接收经由端子A/DQ[7:0]输入的值A/DQ[7:0]_v以及第一控制时钟CLK1_Ctrl,并且在第一控制时钟CLK1_Ctrl的有效时钟沿,对经由端子A/DQ[7:0]输入的值A/DQ[7:0]_v进行采样并缓存,得到第一指令/地址值Cmd/Addr1,其中第一控制时钟CLK1_Ctrl可由第一IO缓冲模块根据输入的时钟CLK1_v和第一接口协议而生成。类似地,指令/地址缓存部还可以接收经由端子CA[5:0]输入的值CA[5:0]_v以及第二控制时钟CLK2_Ctrl,并且在第二控制时钟CLK2_Ctrl的有效时钟沿,对经由端子CA[5:0]输入的值CA[5:0]_v进行采样并缓存,得到第二指令/地址值Cmd/Addr2,其中第二控制时钟CLK2_Ctrl可由第二IO缓冲模块根据输入的时钟CLK2_v和第二接口协议而生成。指令/地址缓存部可以具有两个不同的缓存区域,用来分别存储第一指令/地址值Cmd/Addr1和第二指令/地址值Cmd/Addr2。
在一些示例中,第一控制逻辑模块可以被配置为接收第一指令/地址值Cmd/Addr1和第一时钟信号CLK1_v,并且根据第一接口协议和第一时钟信号CLK1_v,对第一指令/地址值Cmd/Addr1中提取出的指令值进行指令译码以得到第一内部操作信号,并且从第一指令/地址值中提取出地址值作为第一地址信号。
在一些示例(例如兼容某些LPDDR协议的示例)中,第二控制逻辑模块进行指令译码时还需考虑模式寄存器值。例如,第二控制逻辑模块基于模式寄存器设置的读取延迟(RDlatency)或写入延迟(WR latency)确定读指令或写指令对应的内部操作信号。由此,第二控制逻辑模块可以被配置为接收第二指令/地址值Cmd/Addr2、第二时钟信号CLK2_v和指定部分的模式寄存器值,并且根据第二接口协议和第二时钟信号CLK2_v,结合指定部分的模式寄存器值来对第二指令/地址值Cmd/Addr2中提取出的指令值进行指令译码以得到第二内部操作信号,并且从第二指令/地址值Cmd/Addr2中提取出地址值作为第二地址信号。该指定部分的模式寄存器值可根据第二接口协议而确定,例如可以为指定的一位或多位模式寄存器值。
在输入的指令为模式寄存器写指令,即第一内部操作信号或第二内部操作信号指示进行模式寄存器写操作的情况下,上述提取出来的地址值实际是模式寄存器值和可选的其他相关值,因此可以将相应的第一或第二地址信号中的至少部分缓存到模式寄存器缓存部中作为最新的模式寄存器值,即进行了模式寄存器值的更新。
图3示出了图1中的控制逻辑部的一个具体示例的组成示意图。
如图3所示,第一控制逻辑模块包括第一指令译码器、第一时钟门控单元、第一内部操作信号缓存单元和第一地址缓存单元。
第一指令译码器被配置为根据第一接口协议对第一指令/地址值Cmd/Addr1进行指令译码得到第一译码信号Dec1。
第一时钟门控单元被配置为根据第一接口协议,将第一时钟信号CLK1_v转换为第一指令时钟信号Cmd_Clk1和第一地址时钟信号Addr_Clk1,其分别指示第一指令/地址值Cmd/Addr1中的指令值和地址值的采样时刻。
第一内部操作信号缓存单元被配置为在第一指令时钟信号Cmd_Clk1所指示的时刻采样并缓存第一译码信号Dec1作为第一内部操作信号Internal_Oper1。
第一地址缓存单元被配置为在第一地址时钟信号Addr_Clk1所指示的时刻采样并缓存第一指令/地址值Cmd/Addr1作为第一地址信号Addr1。
类似地,第二控制逻辑模块包括第二指令译码器、第二时钟门控单元、第二内部操作信号缓存单元和第二地址缓存单元。
第二指令译码器被配置为根据第二接口协议,结合指定部分的模式寄存器值Mode_Reg_p来对第二指令/地址值Cmd/Addr2进行指令译码得到第二译码信号Dec2。
第二时钟门控单元被配置为根据第二接口协议,将第二时钟信号CLK2_v转换为第二指令时钟信号Cmd_Clk2和第二地址时钟信号Addr_Clk2,其分别指示第二指令/地址值Cmd_Clk2中的指令值和地址值的采样时刻。
第二内部操作信号缓存单元被配置为在第二指令时钟信号Cmd_Clk2所指示的时刻采样并缓存第二译码信号Dec2作为第二内部操作信号Internal_Oper2。
第二地址缓存单元被配置为在第二地址时钟信号Addr_Clk2所指示的时刻采样并缓存第二指令/地址值Cmd/Addr2作为第二地址信号Addr2。
上述的第一或第二指令译码器、第一或第二时钟门控单元都可以由数字逻辑电路实现。例如,可以根据第一或第二接口协议使用的各指令的码值与各指令所需的内部操作信号之间的对应关系,设计第一或第二指令译码器的电路。上述的第一或第二内部操作信号可以是待发送给一个或多个后续内部处理模块的一个或多个信号,用于控制这些内部处理模块进行相应的操作,以实现对应指令对PSRAM的指示。例如,在图1的示例中,控制逻辑部输出的最终内部操作信号(其等于第一或第二内部操作信号)被输入后续的RA&CA控制逻辑模块和IO控制模块。由于如后面将详述的,IO控制模块仅用于控制第一接口协议下的访问数据在其数据端子上的输入和输出,因此第二内部操作信号不会启用IO控制模块。
例如,可以根据第一或第二接口协议使用的各指令格式中传输指令值和地址值/模式寄存器值的时钟沿设置,设计第一或第二时钟门控单元的电路。例如,在采用DDR时序的第一接口协议使用的各指令格式中都是第一个和第二个有效时钟沿(即第一个时钟周期的上升沿和下降沿)传输指令值,第三个到第六个有效时钟沿(即第二个和第三个时钟周期的上升沿和下降沿)传输地址值或其中部分有效时钟沿传输模式寄存器值的情况下,可以在第一时钟门控单元中设置第一门控部分使得仅在第一个时钟周期将CLK1_v传递到其输出,成为第一指令时钟信号Cmd_Clk1,并且设置第二门控部分使得仅在第二个和第三个时钟周期将CLK1_v传递到其输出,成为第一地址时钟信号Addr_Clk1。
上述的第一或第二内部操作信号缓存单元、以及第一或第二地址缓存单元可以分别包括例如一组锁存器或寄存器,其可以例如分别在第一或第二指令时钟信号以及第一或第二地址时钟信号的有效时钟沿处采样并缓存输入其的信号,即第一或第二译码信号和第一或第二指令/地址值。例如,这些缓存单元可以在输入时钟信号的上升沿和下降沿处均能被触发采样缓存操作,即上述的时钟信号的有效时钟沿可以包括上升沿和下降沿。
另外,在一可选实施方式中,该控制逻辑部还可以包括一个输出模块,用来合并第一控制逻辑模块的输出和第二控制逻辑模块的输出。
在一个示例中,该输出模块可以被配置为接收第一内部操作信号Internal_Oper1、第二内部操作信号Internal_Oper2、第一地址信号Addr1和第二地址信号Addr2,并且输出最终内部操作信号Internal_Oper和最终地址信号Addr。
其中最终内部操作信号Internal_Oper等于第一内部操作信号Internal_Oper1和第二内部操作信号Internal_Oper2中的与接口协议选择信号Mode_Sel对应的一个,最终地址信号Addr等于第一地址信号Addr1和第二地址信号Addr2中的与接口协议选择信号Mode_Sel对应的一个。在此处,“最终的”信号指的是该输出模块输出到外部的信号。
例如,该输出模块可以包括图3所示的或门OR1和多路复用器MUX1。或门OR1的两个输入端分别接收第一内部操作信号Internal_Oper1和第二内部操作信号Internal_Oper2,其输出端输出最终内部操作信号Internal_Oper。多路复用器MUX1的两个输入端分别接收第一地址信号Addr1和第二地址信号Addr2,其控制端接收接口协议选择信号Mode_Sel,并且其输出端输出最终地址信号Addr。例如,在Mode_Sel为0时,指示选择第一接口协议,多路复用器MUX1将第一地址信号Addr1输出作为最终地址信号Addr;在Mode_Sel为1时,指示选择第二接口协议,多路复用器MUX1将第二地址信号Addr2输出作为最终地址信号Addr。可以理解,在或门OR1或多路复用器MUX1对应的两个输入均包含多个比特(bits)的情况下,或门OR1或多路复用器MUX1也包括多个或门单元或多路复用器单元,其对两个输入的对应比特进行OR(或)操作或多路选择操作。
在此情况下,不工作的控制逻辑模块输出的内部操作信号均为低电平,因此经过或门OR1得到的最终内部操作信号即为工作的控制逻辑模块输出的内部操作信号。然而,不工作的控制逻辑模块输出的地址信号不一定均为低电平,因此需要采用多路复用器,选择与接口协议选择信号Mode_Sel对应的一个输入信号进行输出。然而,在其他情况下,可以在启动前对两个控制逻辑模块均做复位处理,此时不工作的控制逻辑模块输出的地址信号也均为低电平,因此也可以对两个地址信号采用另一个或门代替多路复用器MUX1来得到最终输出的地址信号。
另外,在一可选实施方式中,还可以关掉当前不工作的控制逻辑模块的电源,以便节省功耗。
在如图3的示例中,该控制逻辑部还可以包括第一开关M1、第二开关M2和电源控制模块。可以理解,虽然图3中示出了采用PMOS(P-channel Metal-Oxide-Semiconductor,P沟道金属-氧化物-半导体)晶体管作为开关,但是本公开并不限于此,而是可以根据需要采用其他的器件来实现第一开关和第二开关。
第一开关M1位于第一控制逻辑模块与其所用的电源电压VDD之间。第二开关M2位于第二控制逻辑模块与其所用的电源电压VDD之间。例如,可以在第一或第二控制逻辑模块内部各电路器件使用的电源线与外部传输VDD的电源线之间设置该第一或第二开关。由此可以由开关的通/断来决定各控制逻辑模块是否接入电源。
电源控制模块被配置为将接口协议选择信号Mode_Sel及其反相信号分别输出到第一开关M1和第二开关M2的控制端,使得在接口协议选择信号Mode_Sel指示当前选择第一接口协议的情况下第一开关M1导通而第二开关M2断开,并且在接口协议选择信号Mode_Sel指示当前选择第二接口协议的情况下第二开关M2导通而第一开关M1断开。
例如,在图3的示例中,电源控制模块可以包括缓冲器(buffer)和反相器。将接口协议选择信号Mode_Sel输入该缓冲器和反相器,分别得到POWER_EN1和POWER_EN2,其相当于接口协议选择信号Mode_Sel及其反相信号。将POWER_EN1输出到PMOS晶体管M1的栅极,而M1的源极和漏极分别耦接到VDD和第一控制逻辑模块(例如其内部电源线)。将POWER_EN2输出到PMOS晶体管M2的栅极,而M2的源极和漏极分别耦接到VDD和第二控制逻辑模块(例如其内部电源线)。在Mode_Sel为0时,指示选择第一接口协议,此时M1导通而M2断开,因此接通第一控制逻辑模块的电源而关掉第二控制逻辑模块的电源;在Mode_Sel为1时,指示选择第二接口协议,此时M2导通而M1断开,因此接通第二控制逻辑模块的电源而关掉第一控制逻辑模块的电源。
回到图1。如图1所示,在一可选实施方式中,IO接口还可以包括IO缓冲部。在图1中为了方便图示而将IO缓冲部拆分成了第一IO缓冲模块和第二IO缓冲模块,其分别用于第一接口协议所使用的所有端子和第二接口协议所使用的所有端子。
该IO缓冲部可以耦接到上述的第一组数据端子、第二组数据端子和一组控制端子,并且包括分别用于接收第一组数据端子、第二组数据端子和一组控制端子上输入的信号的多个接收器、以及分别用于驱动第一组数据端子、第二组数据端子、以及一组控制端子中的部分上输出的信号的多个驱动器。由此,可以更好地实现IO接口与PSRAM外部的主机之间的信号传输。在一些情况下,可以采用差分信号技术来进行传输,例如利用如后续图6所示的CLK1_t和CLK1_c这一对差分信号来输入第一时钟信号CLK1_v。此时,该IO缓冲部中的接收器和/或驱动器可以相应地包括差分信号接收器和/或发送器。
在图1的示例中,对于作为双向端子的端子A/DQ[7:0]、端子DQ[63:0]、以及端子DQS/DM和DQS[7:0],该IO缓冲部为其中每个端子提供了接收器和驱动器。对于作为单向端子的其他剩余端子,该IO缓冲部为其中每个端子仅提供了接收器。
另外,为了节省功耗,还可以关闭未用于传输当前选择的(即接口协议选择信号Mode_Sel所对应的)接口协议所需的信号的端子的接收器和/或驱动器。这些端子也可被称为空闲端子。IO缓冲部可以被配置为根据接口协议选择信号Mode_Sel,将用于空闲端子的接收器和/或驱动器关闭。
例如,在当前选择第一接口协议时,比如Mode_Sel为0时,可以关闭第二IO缓冲模块,比如与前述的图3的控制逻辑部类似地,关掉第二IO缓冲模块的电源;在当前选择第二接口协议时,比如Mode_Sel为1时,可以关闭第一IO缓冲模块,比如同样类似地关掉第一IO缓冲模块的电源。
图5以双向端子A/DQ[7:0]和单向端子CS1#为例示出了根据本公开一些实施例的IO缓冲部的示例性组成示意图。
如图5所示,对于双向端子A/DQ[7:0],IO缓冲部为其中每个端子提供了接收器和驱动器以及一组ODT(On-Die Termination,芯片内置终端匹配)电阻Rttp、Rttn和Rttw。对于单向端子CS1#,IO缓冲部为其提供了接收器以及一组ODT电阻Rttp、Rttn和Rttw。电阻Rttp、Rttn和Rttw具有各自不同的电阻值。可以理解,每组ODT电阻的数量并不限于3个,而是可以根据需要确定。
另外,该IO缓冲部还包括ODT控制单元和OCD(Off-Chip Driver,片外驱动器)控制单元。ODT控制单元用于控制启用针对每个端子的一组ODT电阻中的哪个电阻,以便匹配传输线阻抗等。OCD控制单元用于控制各个驱动器的输出阻抗,以便匹配传输线阻抗等。
图5中以省略号表示了IO缓冲部中用于其余端子的部分,可以理解,其具体结构可以与上述的用于双向端子或单向端子的结构相同,在此不再赘述。
回到图1。如图1所示,在一可选实施方式中,IO接口还可以包括内部访问数据总线DBUS[63:0]和访问数据IO部。
内部访问数据总线DBUS[63:0]用于在该PSRAM内的存储阵列与端子A/DQ[7:0]之间以及在存储阵列与端子DQ[63:0]之间传输访问数据,其位数等于端子DQ[63:0]的端子数量。由此,第一接口协议和第二接口协议可以共用同一个数据总线来与存储阵列交换访问数据,而且第二接口协议的数据位宽与内部访问数据总线的位宽相同,因此避免了进行位宽的转换。
对于第一接口协议,由于其数据位宽与内部访问数据总线的位宽不匹配,因此需要访问数据IO部来进行位宽的转换。
访问数据IO部被配置为将在第五组时钟沿对第一组数据端子,例如端子A/DQ[7:0]的输入采样得到的多个写数据拼接为一个内部写数据以便在同一个时刻输出到内部访问数据总线DBUS[63:0],并且将经由内部访问数据总线DBUS[63:0]在同一个时刻接收的一个内部读数据拆分为多个读数据以便经由第一组数据端子,例如端子A/DQ[7:0]分多次输出。
例如,可以在写操作时将第一组数据端子,例如端子A/DQ[7:0]上连续输入的8个写数据依次拼接为一个64位的内部写数据,并且在读操作时将同时读出的64位的内部读数据拆分为8个读数据以便在第一组数据端子,例如端子A/DQ[7:0]上分8次连续输出。上述的第五组时钟沿可以为根据第一接口协议的写指令格式确定的8个连续的有效时钟沿。
在一些示例中,第一组数据端子,例如端子A/DQ[7:0]采用DDR时序传输访问数据,并且访问数据IO部可以包括写驱动器、数据接口、读数据缓存模块、读数据多路复用器和读驱动器。其中,写驱动器(例如后续图6所示的写驱动器和输入逻辑模块中的写驱动器)被配置为将在所述第五组时钟沿中的连续两个时钟沿对第一组数据端子,例如端子A/DQ[7:0]的输入采样得到的两个写数据拼接为一个中间写数据以便在同一个时刻输出。数据接口(例如后续图6所示的数据接口)被配置为将连续输出的多个所述中间写数据拼接为所述一个内部写数据。读数据缓存模块(例如后续图6所示的读数据FIFO(First-In First-Out,先入先出缓存器)和MUX模块中的读数据FIFO)被配置为缓存所述一个内部读数据。读数据多路复用器(例如后续图6所示的读数据FIFO和MUX模块中的MUX模块)被配置为将所缓存的内部读数据拆分为多个中间读数据依次输出,其中所述中间读数据的位数为第一组数据端子,例如端子A/DQ[7:0]的端子数量的两倍。读驱动器(例如后续图6所示的读驱动器)被配置为将一个所述中间读数据拆分为两个所述读数据以便经由第一组数据端子,例如端子A/DQ[7:0]在连续的两个时钟沿分别输出。
图6以端子A/DQ[7:0]采用DDR传输时序为例示出了根据本公开一些实施例的访问数据IO部的示例性组成示意图。
如图6所示,访问数据IO部包括写驱动器和输入逻辑模块、数据接口、读数据FIFO和MUX模块、以及读驱动器。另外,在一些示例中,访问数据IO部还可以包括DLL(Delay-Locked Loop,延迟锁相环),用于确保输出时钟CLK1_v与外部接收到的时钟同步。虽然图中示出的是DLL接收一对差分信号CLK1_t和CLK1_c,但是可以理解,如前所述,这对差分信号可以经由第一IO缓冲模块中的差分信号接收器转换为一个单端时钟信号后输入该DLL。
在写操作过程中,写驱动器和输入逻辑模块中的输入逻辑模块部分可以根据输入的时钟CLK1_v和第一接口协议确定上述的第五组时钟沿,从而控制写驱动器部分依次将其中每连续两个时钟沿对端子A/DQ[7:0]的输入采样得到的两个8位的写数据拼接为一个16位的中间写数据以便在同一个时刻输出。另外,写驱动器和输入逻辑模块还可以接收端子DQS/DM上输入的DM信号,进行相应的写数据屏蔽处理。
在从写驱动器和输入逻辑模块接收到连续的4个中间写数据后,数据接口将这4个中间写数据拼接为一个64位的内部写数据,并且输出到内部访问数据总线DBUS[63:0]。
在读操作过程中,读数据FIFO和MUX模块中的读数据FIFO(先入先出缓存器)可以从内部访问数据总线DBUS[63:0]依次接收并缓存多个64位的内部读数据,并且按照输入顺序依次将其输出到MUX模块进行拆分处理。该MUX模块将一个64位的内部读数据拆分为4个16位的中间读数据依次输出。
读驱动器将从MUX模块接收到的每一个中间读数据拆分为两个8位的读数据以便经由端子A/DQ[7:0]在连续的两个时钟沿分别输出。另外,读驱动器还可以同时输出用于同步读数据的DQS信号到端子DQS/DM上。
下面将结合图2描述部分端子复用于两个接口协议的实施例。如图2最右侧的端子所示,第二接口协议复用了第一接口协议的至少部分端子。
可以理解,本公开并不限于这种复用端子的方式,还可以例如第一接口协议复用第二接口协议的至少部分端子。如前所述,例如,所述一组控制端子可以包括至少一个复用于第一和第二接口协议的控制端子;并且/或者,第一组数据端子中的至少部分还可以用于传输第二接口协议所需的至少部分控制信号和/或访问数据,或者第二组数据端子中的至少部分还可以用于传输第一接口协议所需的至少部分控制信号和/或访问数据。
通过端子的复用,可以减少所需端子的数量,从而减少芯片尺寸,并且节省封装成本。
下面将主要描述图2中区别于图1的部分,其余相同部分可以参见上面结合图1的相关描述,在此不再赘述。
如图2所示,相比于图1,原来用于第二接口协议的端子CS2#、RESET2#、CLK2、CA[5:0]、DQS[0]均被省去,其功能分别由原来用于第一接口协议的端子CS1#、RESET1#、CLK1、A/DQ[7:0]、DQS/DM兼为实现。为了方便展示,在图2中,这些兼用于两个接口协议的端子更名为CS#、RESET#、CLK、A/DQ[7:0]/CA[5:0]、DQS/DM/DQS[0]。可以理解,CA[5:0]仅复用了A/DQ[7:0]中的6个端子,例如最低6位对应的端子。
可以说,在图2中的IO接口中,第一组数据端子中的至少部分还用于根据第二接口协议分时传输指令值、地址值和模式寄存器值,例如图2中的端子A/DQ[7:0]/CA[5:0]。因此,在图2中的IO接口工作在第一接口协议模式和第二接口协议模式的情况下,模式寄存器值和指令值均是经由第一组数据端子,例如端子A/DQ[7:0]/CA[5:0]输入的。
上述的一组控制端子包括用于传输第一接口协议所需的除了指令值、地址值和模式寄存器值之外的控制信号的第一子组控制端子,其还用于传输第二接口协议所需的除了指令值、地址值和模式寄存器值之外的控制信号的至少部分,例如包括图2中的端子CS#、RESET#、CLK、DQS/DM/DQS[0]。在图2的示例中,所述一组控制端子还可以包括用于传输第二接口协议所需的剩余控制信号的第二子组控制端子,例如包括图2中的端子DQS[7:1]。
在另一些示例中,为了更好地实现信号匹配,也可以不复用端子DQS/DM传输DQS[0],而是和DQS[7:1]一样独立地设置端子来传输DQS[0],因此上述的第二子组控制端子可以包括端子DQS[7:0]。
另外,在图2中,指令/地址缓存部仅需缓存经由第一组数据端子,例如端子A/DQ[7:0]/CA[5:0]输入的指令/地址值Cmd/Addr,并且将指令/地址值Cmd/Addr输出到控制逻辑部。可以理解,两个接口协议的指令格式不同,可能导致在不同接口协议下指令/地址值Cmd/Addr的输入时刻不同。例如,工作在第一接口协议时,对应的指令/地址值Cmd/Addr可以是在第三组时钟沿对第一组数据端子,例如端子A/DQ[7:0]/CA[5:0]的输入(例如A/DQ[7:0]/CA[5:0]_v)采样得到的多组值;工作在第二接口协议时,对应的指令/地址值Cmd/Addr可以是在第四组时钟沿对第一组数据端子,例如端子A/DQ[7:0]/CA[5:0]的输入(例如A/DQ[7:0]/CA[5:0]_v)采样得到的多组值。第三组时钟沿和第四组时钟沿可以相同或不同,其可以由控制时钟CLK_Ctrl确定,该控制时钟CLK_Ctrl可以由第一IO缓冲模块根据当前输入的时钟CLK_v和当前选择的接口协议而生成。
另外,工作在两个协议时的时钟信号也是均由复用于传输第一接口协议和第二接口协议所需的时钟信号的时钟端子CLK输入。
由此,输入到控制逻辑部的指令/地址值Cmd/Addr和时钟信号CLK_v均为复用于两个接口协议的信号,其需要在控制逻辑部中被解复用成第一和第二指令/地址值、以及第一和第二时钟信号,以便分别供第一控制逻辑模块和第二控制逻辑模块使用,例如图4所示的。
图4示出了控制逻辑部的一个具体示例的组成示意图,其与图3的区别在于:增加了第一解复用器DEMUX1和第二解复用器DEMUX2。
如图4所示,第一解复用器DEMUX1的输入端接收指令/地址值Cmd/Addr,其控制端接收接口协议选择信号Mode_Sel,并且其两个输出端分别输出第一指令/地址值Cmd/Addr1和第二指令/地址值Cmd/Addr2。如上所述,该指令/地址值Cmd/Addr是在第三组时钟沿或第四组时钟沿对第一组数据端子,例如端子A/DQ[7:0]/CA[5:0]的输入(例如A/DQ[7:0]/CA[5:0]_v)采样得到的多组值。
第二解复用器DEMUX2的输入端接收由时钟端子输入的时钟信号CLK_v,其控制端接收接口协议选择信号Mode_Sel,并且其两个输出端分别输出第一时钟信号CLK1_v和第二时钟信号CLK2_v。
例如,在Mode_Sel为0时,指示选择第一接口协议,第一解复用器DEMUX1将输入的指令/地址值Cmd/Addr输出到第一输出端作为第一指令/地址值Cmd/Addr1,第二解复用器DEMUX2将输入的时钟信号CLK_v输出到第一输出端作为第一时钟信号CLK1_v;在Mode_Sel为1时,指示选择第二接口协议,第一解复用器DEMUX1将输入的指令/地址值Cmd/Addr输出到第二输出端作为第二指令/地址值Cmd/Addr2,第二解复用器DEMUX2将输入的时钟信号CLK_v输出到第二输出端作为第二时钟信号CLK2_v。
图4的控制逻辑部的其余部分皆与图3的对应部分相同,可以参见上面结合图3的相关描述,在此不再赘述。
下面将结合图7和图8描述根据本公开实施例的PSRAM的访问方法。
如图7所示,PSRAM包括根据前述各实施例的IO接口、访问处理部以及存储阵列。其中,如前所述,访问处理部被配置为根据IO接口中的控制逻辑部进行指令译码处理的结果,对存储阵列进行相应的访问操作。IO接口的具体结构可参见前面所述的各附图及其描述,在此不再赘述。
另外,主机耦接到IO接口,以便与PSRAM进行交互,实现访问操作。主机可以根据需要耦接到IO接口中的多个端子。例如,在主机期望采用第一接口协议访问PSRAM的情况下,主机可以耦接到IO接口中的用于第一接口协议的所有端子,即第一组数据端子以及用于传输第一接口协议所需的控制信号的控制端子。在主机期望采用第二接口协议访问PSRAM的情况下,主机可以耦接到IO接口中的用于第二接口协议的所有端子,即第二组数据端子以及用于传输第二接口协议所需的控制信号的控制端子。在主机期望在第一接口协议与第二接口协议之间可切换地访问PSRAM的情况下,主机可以耦接到IO接口的所有端子。
主机经由IO接口来与PSRAM交换数据,以实现对PSRAM的访问。例如,主机经由IO接口向PSRAM发送如前所述的访问所需的各种数据并且从PSRAM接收如前所述的读取相关的数据。
图8从PSRAM一侧描述了PSRAM的访问方法,即图8的方法的执行主体为PSRAM。但可以理解,图8的方法中经由IO接口的端子交换数据的另一方为主机。图8中的操作的细节可以参见前述各附图的描述,在此不再赘述。
如图 8所示,在步骤S810处,经由IO接口中的第一组数据端子或第一部分端子接收模式寄存器值。然后,在步骤S820处,经由所述第一组数据端子或所述第一部分端子接收指令值。
然后,在步骤S830处,根据所述模式寄存器值中的所述接口协议选择信号,利用IO接口中的第一控制逻辑模块和第二控制逻辑模块中的对应一个对所述指令值进行指令译码处理。
然后,在步骤S840处,根据所述指令译码处理的结果,利用访问处理部对存储阵列进行相应的访问操作。
例如,在IO接口采用图1 中所示的结构,并且主机期望采用作为第二接口协议的LPDDR协议访问PSRAM的情况下,主机可以用LPDDR协议规定的方式经由端子CA[5:0]依次输入模式寄存器值和指令值,而相应地,PSRAM经由端子CA[5:0]依次接收模式寄存器值和指令值。根据收到的模式寄存器值中的接口协议选择信号的值,PSRAM确定接下来将采用LPDDR协议进行访问操作,因此利用对应的第二控制逻辑模块对所收到的指令值进行指令译码处理。PSRAM可将该指令译码处理的结果传输给访问处理部,以便控制访问处理部对存储阵列进行相应的访问操作。
下面将结合图9描述根据本公开的PSRAM同时支持两个主机采用不同接口协议进行访问的实施例。
图9示出了根据本公开一些实施例的电子设备的示例性组成示意图,其中该电子设备包括根据前面各实施例的PSRAM、第一主机和第二主机。
如图9所示,PSRAM中的IO接口包括用于第一接口协议的第一接口协议端子和用于第二接口协议的第二接口协议端子。其中第一接口协议端子包括前述的第一组数据端子和一组控制端子中的用于传输第一接口协议所需的控制信号的第一子组控制端子。第二接口协议端子包括前述的第二组数据端子和一组控制端子中的用于传输第二接口协议所需的控制信号的第二子组控制端子。另外,在存在复用的数据端子的情况下,第一接口协议端子还可以包括复用的第二组数据端子,并且/或者第二接口协议端子还可以包括复用的第一组数据端子;在存在复用的控制端子的情况下,上述的第一子组和第二子组可以有重合,即复用于两个协议的控制端子既属于第一子组也属于第二子组。
第一主机耦接到第一接口协议端子,并且被配置为在访问PSRAM时经由第一组数据端子或第一部分端子向IO接口输入模式寄存器值MR,使得接口协议选择信号Mode_Sel指示当前选择第一接口协议模式。第一主机可以采用第一接口协议与PSRAM进行交互,实现访问操作。
第二主机耦接到第二接口协议端子,并且被配置为在访问PSRAM时经由第一组数据端子或第一部分端子向IO接口输入模式寄存器值MR,使得接口协议选择信号Mode_Sel指示当前选择第二接口协议模式。第二主机可以采用第二接口协议与PSRAM进行交互,实现访问操作。
另外,第一主机还包括第一占用状态端子91,第二主机还包括第二占用状态端子92。第一占用状态端子91与第二占用状态端子92耦接在一起,并且用来在第一主机与第二主机之间交互彼此对PSRAM的占用状态以保证第一主机和第二主机分时访问PSRAM。对PSRAM的占用状态可以包括指示当前是否处于与PSRAM的交互过程中的信息。在一些示例中,第一占用状态端子91与第二占用状态端子92也可被称为BUSY(占用)端子,在二者之间交互BUSY信号以指示各自对PSRAM的占用状态。
例如,第一主机可在发起与PSRAM的交互之前从第二占用状态端子92获知第二主机对PSRAM的占用状态,在其未占用的情况下才能发起与PSRAM的交互。第一主机在发起与PSRAM的交互后将自身对PSRAM的占用状态改为占用,阻止第二主机与PSRAM的交互。
由此,PSRAM能够同时支持两个接口协议工作,而且通过采用分时复用办法,能够避免两个主机对PSRAM的访问冲突,确保一次只会有一个主机访问,从而能够适用于更多、更复杂的应用场景。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (19)
1.一种用于伪静态随机访问存储器的IO接口,选择性地工作在第一接口协议模式或第二接口协议模式,所述IO接口包括:
用于所述第一接口协议的第一组数据端子;
用于所述第二接口协议的第二组数据端子,其端子数量大于所述第一组数据端子的端子数量;
用于所述第一和第二接口协议的一组控制端子;
模式寄存器缓存部,被配置为缓存经由所述第一组数据端子或经由所述一组控制端子中的第一部分端子输入的模式寄存器值,其中所述模式寄存器值中的至少一位用作接口协议选择信号;
控制逻辑部,包括分别根据所述第一接口协议和所述第二接口协议进行指令译码的第一控制逻辑模块和第二控制逻辑模块,并且被配置为根据所述接口协议选择信号,利用所述第一控制逻辑模块和所述第二控制逻辑模块中的对应一个对经由所述第一组数据端子或经由所述第一部分端子输入的指令值进行指令译码处理;
其中,所述第一控制逻辑模块被配置为接收第一指令/地址值和第一时钟信号,并且根据所述第一接口协议和所述第一时钟信号,对所述第一指令/地址值中提取出的指令值进行指令译码以得到第一内部操作信号,并且从所述第一指令/地址值中提取出地址值作为第一地址信号;以及/或者,
所述第二控制逻辑模块被配置为接收第二指令/地址值、第二时钟信号和指定部分的模式寄存器值,并且根据所述第二接口协议和所述第二时钟信号,结合所述指定部分的模式寄存器值来对所述第二指令/地址值中提取出的指令值进行指令译码以得到第二内部操作信号,并且从所述第二指令/地址值中提取出地址值作为第二地址信号。
2.根据权利要求1所述的IO接口,其中,所述第一组数据端子用于根据所述第一接口协议分时传输访问数据、指令值、地址值和模式寄存器值;及
所述第二组数据端子用于根据所述第二接口协议仅传输访问数据。
3.根据权利要求2所述的IO接口,其中,所述一组控制端子包括用于传输所述第一接口协议所需的除了指令值、地址值和模式寄存器值之外的控制信号的第一子组控制端子、和用于传输所述第二接口协议所需的全部控制信号的第二子组控制端子,其中所述第二子组控制端子包括用于根据所述第二接口协议分时传输指令值、地址值和模式寄存器值的指令/地址复用端子作为所述第一部分端子;
在所述IO接口工作在所述第一接口协议模式的情况下,所述模式寄存器值和所述指令值均是经由所述第一组数据端子输入的,而在所述IO接口工作在所述第二接口协议模式的情况下,所述模式寄存器值和所述指令值均是经由所述指令/地址复用端子输入的。
4.根据权利要求2所述的IO接口,其中,所述第一组数据端子中的至少部分还用于根据所述第二接口协议分时传输指令值、地址值和模式寄存器值;
所述一组控制端子包括用于传输所述第一接口协议所需的除了指令值、地址值和模式寄存器值之外的控制信号的第一子组控制端子,所述第一子组控制端子还用于传输所述第二接口协议所需的除了指令值、地址值和模式寄存器值之外的控制信号的至少部分;
在所述IO接口工作在所述第一接口协议模式和所述第二接口协议模式的情况下,所述模式寄存器值和所述指令值均是经由所述第一组数据端子输入的。
5.根据权利要求1所述的IO接口,其中,
在所述第一组数据端子用于根据所述第一接口协议分时传输访问数据、指令值、地址值和模式寄存器值,并且所述第一部分端子用于根据所述第二接口协议分时传输指令值、地址值和模式寄存器值的第一情况下,所述第一指令/地址值是在第一组时钟沿对所述第一组数据端子的输入采样得到的多组值,所述第二指令/地址值是在第二组时钟沿对所述第一部分端子的输入采样得到的多组值;或者,在所述第一组数据端子用于根据所述第一接口协议分时传输访问数据、指令值、地址值和模式寄存器值,并且所述第一组数据端子中的至少部分还用于根据所述第二接口协议分时传输指令值、地址值和模式寄存器值的第二情况下,所述第一指令/地址值和所述第二指令/地址值分别是在第三组时钟沿和第四组时钟沿对所述第一组数据端子的输入采样得到的多组值;
所述第一时钟信号和所述第二时钟信号分别由所述一组控制端子中分别用于传输所述第一接口协议和所述第二接口协议所需的时钟信号的第一时钟端子和第二时钟端子输入,或者均由所述一组控制端子中复用于传输所述第一接口协议和所述第二接口协议所需的时钟信号的时钟端子输入。
6.根据权利要求1所述的IO接口,其中,所述第一控制逻辑模块包括:
第一指令译码器,被配置为根据所述第一接口协议对所述第一指令/地址值进行指令译码得到第一译码信号,
第一时钟门控单元,被配置为根据所述第一接口协议,将所述第一时钟信号转换为第一指令时钟信号和第一地址时钟信号,其分别指示所述第一指令/地址值中的指令值和地址值的采样时刻,
第一内部操作信号缓存单元,被配置为在所述第一指令时钟信号所指示的时刻采样并缓存所述第一译码信号作为所述第一内部操作信号,以及
第一地址缓存单元,被配置为在所述第一地址时钟信号所指示的时刻采样并缓存所述第一指令/地址值作为所述第一地址信号;并且/或者,
其中,所述第二控制逻辑模块包括:
第二指令译码器,被配置为根据所述第二接口协议,结合所述指定部分的模式寄存器值来对所述第二指令/地址值进行指令译码得到第二译码信号,
第二时钟门控单元,被配置为根据所述第二接口协议,将所述第二时钟信号转换为第二指令时钟信号和第二地址时钟信号,其分别指示所述第二指令/地址值中的指令值和地址值的采样时刻,
第二内部操作信号缓存单元,被配置为在所述第二指令时钟信号所指示的时刻采样并缓存所述第二译码信号作为所述第二内部操作信号,以及
第二地址缓存单元,被配置为在所述第二地址时钟信号所指示的时刻采样并缓存所述第二指令/地址值作为所述第二地址信号。
7.根据权利要求1所述的IO接口,其中,在所述第一组数据端子用于根据所述第一接口协议分时传输访问数据、指令值、地址值和模式寄存器值,所述第一组数据端子中的至少部分还用于根据所述第二接口协议分时传输指令值、地址值和模式寄存器值,并且所述一组控制端子中的时钟端子复用于传输所述第一接口协议和所述第二接口协议所需的时钟信号的情况下,所述控制逻辑部还包括:
第一解复用器,其输入端接收在第三组时钟沿或第四组时钟沿对所述第一组数据端子的输入采样得到的指令/地址值,其控制端接收所述接口协议选择信号,并且其两个输出端分别输出所述第一指令/地址值和所述第二指令/地址值;以及
第二解复用器,其输入端接收由所述时钟端子输入的时钟信号,其控制端接收所述接口协议选择信号,并且其两个输出端分别输出所述第一时钟信号和所述第二时钟信号。
8.根据权利要求1所述的IO接口,其中,所述控制逻辑部还包括:
输出模块,被配置为接收所述第一内部操作信号、所述第二内部操作信号、所述第一地址信号和所述第二地址信号,并且输出最终内部操作信号和最终地址信号,所述最终内部操作信号等于所述第一内部操作信号和所述第二内部操作信号中的与所述接口协议选择信号对应的一个,所述最终地址信号等于所述第一地址信号和所述第二地址信号中的与所述接口协议选择信号对应的一个。
9.根据权利要求8所述的IO接口,其中,在所述最终内部操作信号指示进行模式寄存器写操作的情况下,所述最终地址信号中的至少部分被缓存到所述模式寄存器缓存部中作为最新的模式寄存器值。
10.根据权利要求1所述的IO接口,其中,所述控制逻辑部还包括:
第一开关,位于所述第一控制逻辑模块与其所用的电源电压之间;
第二开关,位于所述第二控制逻辑模块与其所用的电源电压之间;以及
电源控制模块,被配置为将所述接口协议选择信号及其反相信号分别输出到所述第一开关和所述第二开关的控制端,使得在所述接口协议选择信号指示当前选择所述第一接口协议的情况下所述第一开关导通而所述第二开关断开,并且在所述接口协议选择信号指示当前选择所述第二接口协议的情况下所述第二开关导通而所述第一开关断开。
11.根据权利要求1所述的IO接口,还包括:
IO缓冲部,耦接到所述第一组数据端子、所述第二组数据端子和所述一组控制端子,并且包括分别用于接收所述第一组数据端子、所述第二组数据端子和所述一组控制端子上输入的信号的多个接收器、以及分别用于驱动所述第一组数据端子、所述第二组数据端子、以及所述一组控制端子中的部分上输出的信号的多个驱动器。
12.根据权利要求11所述的IO接口,其中,所述IO缓冲部被配置为根据所述接口协议选择信号,将用于空闲端子的接收器和/或驱动器关闭,其中所述空闲端子为未用于传输所述接口协议选择信号所对应的接口协议所需的信号的端子。
13.根据权利要求1所述的IO接口,还包括:
内部访问数据总线,用于在所述伪静态随机访问存储器内的存储阵列与所述第一组数据端子之间以及在所述存储阵列与所述第二组数据端子之间传输访问数据,其位数等于所述第二组数据端子的端子数量;以及
访问数据IO部,被配置为将在第五组时钟沿对所述第一组数据端子的输入采样得到的多个写数据拼接为一个内部写数据以便在同一个时刻输出到所述内部访问数据总线,并且将经由所述内部访问数据总线在同一个时刻接收的一个内部读数据拆分为多个读数据以便经由所述第一组数据端子分多次输出。
14.根据权利要求13所述的IO接口,其中,所述第一组数据端子采用DDR时序传输所述读数据和所述写数据,并且所述访问数据IO部包括:
写驱动器,被配置为将在所述第五组时钟沿中的连续两个时钟沿对所述第一组数据端子的输入采样得到的两个写数据拼接为一个中间写数据以便在同一个时刻输出;
数据接口,被配置为将连续输出的多个所述中间写数据拼接为所述一个内部写数据;
读数据缓存模块,被配置为缓存所述一个内部读数据;
读数据多路复用器,被配置为将所缓存的内部读数据拆分为多个中间读数据依次输出,其中所述中间读数据的位数为所述第一组数据端子的端子数量的两倍;以及
读驱动器,被配置为将一个所述中间读数据拆分为两个所述读数据以便经由所述第一组数据端子在连续的两个时钟沿分别输出。
15.根据权利要求1所述的IO接口,其中,所述一组控制端子包括仅用于传输所述第一接口协议所需的至少部分控制信号的第一子组控制端子和仅用于传输所述第二接口协议所需的至少部分控制信号的第二子组控制端子,或者所述一组控制端子包括至少一个复用于所述第一和第二接口协议的控制端子;并且/或者
所述第一组数据端子中的至少部分还用于传输所述第二接口协议所需的至少部分控制信号和/或访问数据,或者所述第二组数据端子中的至少部分还用于传输所述第一接口协议所需的至少部分控制信号和/或访问数据;并且/或者
所述第一接口协议为xSPI协议,所述第二接口协议为LPDDR协议;并且/或者
所述第一组数据端子的端子数量为8,所述第二组数据端子的端子数量为64。
16.一种伪静态随机访问存储器,包括:
根据权利要求1-15中任一项所述的IO接口;
存储阵列;
访问处理部,被配置为根据所述IO接口中的所述控制逻辑部进行指令译码处理的结果,对所述存储阵列进行相应的访问操作。
17.一种用于访问根据权利要求16所述的伪静态随机访问存储器的方法,包括:
经由所述第一组数据端子或所述第一部分端子接收所述模式寄存器值;
经由所述第一组数据端子或所述第一部分端子接收所述指令值;
根据所述模式寄存器值中的所述接口协议选择信号,利用所述第一控制逻辑模块和所述第二控制逻辑模块中的对应一个对所述指令值进行指令译码处理;以及
根据所述指令译码处理的结果,利用所述访问处理部对所述存储阵列进行相应的访问操作。
18.一种电子设备,包括:
根据权利要求16所述的伪静态随机访问存储器;以及
第一主机,耦接到所述伪静态随机访问存储器中的所述IO接口中的所述第一组数据端子、以及所述一组控制端子中的用于传输所述第一接口协议所需的控制信号的第一子组控制端子,并且被配置为在访问所述伪静态随机访问存储器时经由所述第一组数据端子或所述第一部分端子向所述IO接口输入所述模式寄存器值,使得所述接口协议选择信号指示当前选择所述第一接口协议模式。
19.根据权利要求18所述的电子设备,还包括:
第二主机,耦接到所述IO接口中的所述第二组数据端子、以及所述一组控制端子中的用于传输所述第二接口协议所需的控制信号的第二子组控制端子,并且被配置为在访问所述伪静态随机访问存储器时经由所述第一组数据端子或所述第一部分端子向所述IO接口输入所述模式寄存器值,使得所述接口协议选择信号指示当前选择所述第二接口协议模式;
其中,所述第一主机和所述第二主机分别还包括第一占用状态端子和第二占用状态端子,所述第一占用状态端子与所述第二占用状态端子耦接在一起,并且用来在所述第一主机与所述第二主机之间交互彼此对所述伪静态随机访问存储器的占用状态以保证所述第一主机和所述第二主机分时访问所述伪静态随机访问存储器。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202511814025.XA CN121237143B (zh) | 2025-12-03 | 2025-12-03 | 伪静态随机访问存储器及其访问方法、io接口、电子设备 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202511814025.XA CN121237143B (zh) | 2025-12-03 | 2025-12-03 | 伪静态随机访问存储器及其访问方法、io接口、电子设备 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN121237143A CN121237143A (zh) | 2025-12-30 |
| CN121237143B true CN121237143B (zh) | 2026-04-03 |
Family
ID=98151405
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202511814025.XA Active CN121237143B (zh) | 2025-12-03 | 2025-12-03 | 伪静态随机访问存储器及其访问方法、io接口、电子设备 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN121237143B (zh) |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1832028A (zh) * | 2000-12-20 | 2006-09-13 | 富士通株式会社 | 基于动态随机存取存储器核心的多端口存储器 |
| CN115427940A (zh) * | 2020-03-06 | 2022-12-02 | 美光科技公司 | 用于存储器的接口协议配置 |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2000148443A (ja) * | 1998-11-17 | 2000-05-30 | Victor Co Of Japan Ltd | 記憶装置 |
| US7725609B2 (en) * | 2005-08-05 | 2010-05-25 | Qimonda Ag | System memory device having a dual port |
| US9059906B1 (en) * | 2013-12-03 | 2015-06-16 | Barry John McCleland | Data communication interface |
| US11030128B2 (en) * | 2019-08-05 | 2021-06-08 | Cypress Semiconductor Corporation | Multi-ported nonvolatile memory device with bank allocation and related systems and methods |
| CN119694364A (zh) * | 2023-09-25 | 2025-03-25 | 兆易创新科技集团股份有限公司 | 存储器及其操作方法 |
| WO2025106273A1 (en) * | 2023-11-14 | 2025-05-22 | Rambus Inc. | Dynamically configurable multi-ported dram |
-
2025
- 2025-12-03 CN CN202511814025.XA patent/CN121237143B/zh active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1832028A (zh) * | 2000-12-20 | 2006-09-13 | 富士通株式会社 | 基于动态随机存取存储器核心的多端口存储器 |
| CN115427940A (zh) * | 2020-03-06 | 2022-12-02 | 美光科技公司 | 用于存储器的接口协议配置 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN121237143A (zh) | 2025-12-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6707756B2 (en) | System and method for translation of SDRAM and DDR signals | |
| EP2350847B1 (en) | Method and system for improving serial port memory communication latency and reliability | |
| US6272577B1 (en) | Data processing system with master and slave devices and asymmetric signal swing bus | |
| US6065092A (en) | Independent and cooperative multichannel memory architecture for use with master device | |
| US9666250B2 (en) | Memory signal buffers and modules supporting variable access granularity | |
| US6880056B2 (en) | Memory array and method with simultaneous read/write capability | |
| JP2009529754A (ja) | モード選択可能プリフェッチおよびクロック対コアタイミングを伴うメモリ装置 | |
| US11262941B2 (en) | Apparatuses and methods including memory commands for semiconductor memories | |
| US10008247B2 (en) | Memory device for performing multi-core access to bank groups | |
| US9348356B2 (en) | Embedded multimedia card (eMMC), host controlling eMMC, and method operating eMMC system | |
| JP2000030444A (ja) | ウェ―ブパイプライン構造の同期式メモリ装置 | |
| US10198200B1 (en) | Command sequence response in a memory data buffer | |
| JP2012522311A (ja) | マージドメモリコマンドプロトコルをサポートするメモリシステム、コントローラ、およびデバイス | |
| US7333908B2 (en) | Techniques for generating test patterns in high speed memory devices | |
| EP4127867B1 (en) | Improved clocking scheme to receive data | |
| US7689763B2 (en) | Method and system for reducing pin count in an integrated circuit when interfacing to a memory | |
| CN1856835A (zh) | 同步的ram存储电路 | |
| CN121237143A (zh) | 伪静态随机访问存储器及其访问方法、io接口、电子设备 | |
| CN114187942B (zh) | 时钟电路以及存储器 | |
| US20250348448A1 (en) | Deriving system clock from gated data clock | |
| KR20200078294A (ko) | 신호를 송수신 하기 위한 장치, 그것의 동작 방법, 메모리 장치 및 그것의 동작 방법 | |
| CN116501128A (zh) | eMMC卡的时钟相位动态切换方法、结构及eMMC卡 | |
| US7639768B1 (en) | Method for improving performance in a mobile device | |
| HK1178311A (zh) | 菊花链级联设备 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |