发明内容
本发明所要解决的技术问题是提供一种存储芯片的读写系统和方法,能够在执行Write操作的同时执行Read操作,不仅能够保证Write操作的性能,而且还能够提高Read操作的速度。
为了解决上述问题,本发明公开了一种存储芯片的读写系统,包括:
至少两套模块资源,其中的每套模块资源用于协助读操作或者写操作的执行;
读操作响应装置,用于在接收到针对所述存储芯片中簇的读操作信号时,判断该簇的接口是否被写操作占用,若是,则不响应所述读操作信号,否则,响应所述读操作信号;
写装置,用于在针对某簇的写操作信号得到响应时,应用一套模块资源针对该簇进行写操作;及
读装置,用于在针对某簇的读操作信号得到响应时,应用一套模块资源针对该簇进行读操作。
优选的,所述读操作响应装置包括:
状态机,位于该存储芯片内部,用于接收操作指令,并根据其中的写操作指令,更新相应簇的写操作状态;
地址译码模块,用于依据簇的当前写操作状态,对该簇的地址进行译码得到相应的写选通信号;及
多个接口模块,数量与该存储芯片内部的簇一一对应,包括:
操作选通单元,用于根据所述写选通信号,选通针对相应簇的读操作信号或写操作信号;及
高压选通单元,用于根据所述写选通信号,选通针对相应簇的读操作高电压或写操作高电压;
所述写装置,具体用于在选通针对某簇的写操作信号,以及,选通针对某簇的写操作高电压时,应用一套模块资源针对该簇进行写操作;及
所述读装置,具体用于在选通针对某簇的读操作信号,以及,选通针对某簇的读操作高电压时,应用一套模块资源针对该簇进行读操作。
优选的,所述状态机,具体用于判断某簇是否接受写操作,若是,则更新该簇的写操作状态为忙碌状态,否则,更新该簇的写操作状态为闲置状态;
所述地址译码模块,具体用于判断簇的写操作状态,若为忙碌,则对该簇的地址进行译码得到所述写选通信号有效,否则,对该簇的地址进行译码得到所述写选通信号无效;
所述操作选通单元,具体用于在所述写选通信号为有效时,选通写操作信号,以及,在所述写选通信号为无效时,选通读操作信号;
所述高压选通单元,具体用于在所述写选通信号为有效时,选通写操作高电压,以及,在所述写选通信号为无效时,选通读操作高电压。
优选的,针对所述写装置和所述读装置,在二者的工作时间存在重合且针对不同的簇进行操作时,二者应用不同的模块资源。
优选的,所述系统还包括:
判断装置,用于依据所有簇的写选通信号,比较当前写操作和当前读操作的地址,若二者处于同一簇,则输出无效的控制开关信号,否则,输出有效的控制开关信号;
第一三态总线驱动器,用于在所述控制开关信号为无效时,断开该存储芯片内部与读总线之间的逻辑连接,以及,在所述控制开关信号为有效时,接通该存储芯片内部与读总线之间的逻辑连接。
优选的,所述第一三态总线驱动器,具体用于在该存储芯片内部与读总线之间的逻辑连接接通时,将所述读装置读出的数据推到读总线。
优选的,所述系统还包括:
第二三态总线驱动器,用于在所述控制开关信号为无效时,接通所述状态机与读总线之间的逻辑连接,同时将所述状态机的当前状态推到所述读总线。
优选的,所述每套模块资源位于该存储芯片内部,或者,位于簇内部。
优选的,所述每套模块资源包括译码模块、电压传输模块、读出放大模块和控制电路。
另一方面,本发明还公开了一种存储芯片的读写方法,包括:
在接收到针对所述存储芯片中簇的读操作信号时,判断该簇的接口是否被写操作占用,若是,则不响应所述读操作信号,否则,响应所述读操作信号;
在针对某簇的写操作信号得到响应时,应用所述存储芯片中的一套模块资源针对该簇进行写操作,其中,所述存储芯片包括至少两套模块资源,其中的每套模块资源用于协助读操作或者写操作的执行;
在针对某簇的读操作信号得到响应时,应用所述存储芯片中的一套模块资源针对该簇进行读操作。
优选的,所述判断该簇的接口是否被写操作占用的步骤,包括:
接收操作指令,并根据其中的写操作指令,更新相应簇的写操作状态;
依据簇的当前写操作状态,对该簇的地址进行译码得到相应的写选通信号;
根据所述写选通信号,选通针对相应簇的读操作信号或写操作信号;
根据所述写选通信号,选通针对相应簇的读操作高电压或写操作高电压;
所述写操作为,在选通针对某簇的写操作信号,以及,选通针对某簇的写操作高电压时,应用其中的所述一套模块资源针对该簇进行写操作;
所述读操作为,在选通针对某簇的读操作信号,以及,选通针对某簇的读操作高电压时,应用所述一套模块资源针对该簇进行读操作。
优选的,所述更新相应簇的写操作状态的步骤为,判断某簇是否接受写操作,若是,则更新该簇的写操作状态为忙碌状态,否则,更新该簇的写操作状态为闲置状态;
所述对该簇的地址进行译码得到相应的写选通信号的步骤为,判断簇的写操作状态,若为忙碌,则对该簇的地址进行译码得到写选通信号有效,否则,对该簇的地址进行译码得到写选通信号无效;
所述选通针对相应簇的读操作信号或写操作信号的步骤为,在所述写选通信号为有效时,选通写操作信号,以及,在所述写选通信号为无效时,选通读操作信号;
所述选通针对相应簇的读操作高电压或写操作高电压的步骤为,在所述写选通信号为有效时,选通写操作高电压,以及,在所述写选通信号为无效时,选通读操作高电压。
优选的,针对所述写操作和所述读操作,在二者的工作时间存在重合且针对不同的簇时,二者应用不同的模块资源。
优选的,所述方法还包括:
依据所有簇的写选通信号,比较当前写操作和当前读操作的地址,若二者处于同一簇,则输出无效的控制开关信号,否则,输出有效的控制开关信号;
在所述控制开关信号为无效时,断开该存储芯片内部与读总线之间的逻辑连接,以及,在所述控制开关信号为有效时,接通该存储芯片内部与读总线之间的逻辑连接。
优选的,在该存储芯片内部与读总线之间的逻辑连接接通时,将所述读装置读出的数据推到读总线。
优选的,所述方法还包括:
在所述控制开关信号为无效时,接通所述状态机与读总线之间的逻辑连接,同时将所述状态机的当前状态推到所述读总线。
优选的,所述每套模块资源位于该存储芯片内部,或者,位于簇内部。
优选的,所述每套模块资源包括译码模块、电压传输模块、读出放大模块和控制电路。
与现有技术相比,本发明具有以下优点:
本发明在存储芯片内部设计至少两套模块资源,针对该存储芯片的每个Bank都设计一个接口,以及,设计Read操作信号的优先级小于Write操作信号的优先级;进一步,在当前Bank的接口接收到Read操作信号时,通过判断该接口是否被Write操作占用来确定是否响应所述Read操作信号。这样,能够同时针对该存储芯片中的两个Bank进行操作,其中一个进行Write操作,另一个进行Read操作;因此,相对于现有技术等待Write操作结束或者不停地中断Write操作,本发明在执行Write操作的同时执行Read操作,不仅能够保证Write操作的性能,而且还能够提高Read操作的速度,从而在整体上提高存储芯片的读写性能。
再者,本发明还可以根据Read操作信号的地址判断,当前Read操作是的响应结果,也即,从一个未接受Write操作的Bank中读出数据,还是对一个正在接受Write操作的Bank进行轮询,并把相应的数据通过三态总线驱动器送到读总线,方便用户获取所述响应结果。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
由于MCP芯片内部只有一套模块资源,而执行Write操作和Read操作均需要占用仅有的一套模块资源,因此,现有技术中MCP芯片在同一时刻只能支持Write操作和Read操作中的一种操作。
本发明实施例的核心构思之一在于,在存储芯片内部设计至少两套模块资源,针对该存储芯片的每个Bank都设计一个接口,以及,设计Read操作信号的优先级小于Write操作信号的优先级;进一步,在当前Bank的接口接收到Read操作信号时,通过判断该接口是否被Write操作占用来确定是否响应所述Read操作信号。这样,能够同时针对该存储芯片中的两个Bank进行操作,其中一个进行Write操作,另一个进行Read操作;因此,相对于现有技术等待Write操作结束或者不停地中断Write操作,本发明在执行Write操作的同时执行Read操作,不仅能够保证Write操作的性能,而且还能够提高Read操作的速度,从而在整体上提高存储芯片的读写性能。
参照图1,示出了本发明一种存储芯片的读写系统实施例的结构图,具体可以包括:
至少两套模块资源101,其中的每套模块资源用于协助读操作或者写操作的执行;
读操作响应装置102,用于在接收到针对所述存储芯片中簇的读操作信号时,判断该簇的接口是否被写操作占用,若是,则不响应所述读操作信号,否则,响应所述读操作信号;
写装置103,用于在针对某簇的写操作信号得到响应时,应用一套模块资源针对该簇进行写操作;及
读装置104,用于在针对某簇的读操作信号得到响应时,应用一套模块资源针对该簇进行读操作。
本发明可以应用于MCP芯片等各种具有双簇(Bank)或多簇结构的存储芯片,为简便起见,在本发明的具体实施例中均采用MCP芯片为具体应用环境进行介绍,但其并不应作为本发明的应用限制,其它存储芯片请参照即可。
至少两套模块资源101、
本发明实施例在存储芯片中设计至少两套模块资源101,以解决同时执行Read和Write两个操作带来的模块资源竞争问题,也即,为两个操作的同时执行提供足够的模块资源。
在具体实现中,所述每套模块资源可以位于该存储芯片内部,还可以位于簇内部。假设MCP芯片的Bank编号为:Bank0~Bank3,且在MCP芯片中设计了两套模块资源,则所述两套模块资源可以均位于该MCP芯片内部,或者,均位于Bank0的内部,或者,其中的一套位于Bank0而另一套位于Bank1,或者,其中的一套位于该MCP内部而另一套位于Bank1的内部;本发明对所述每套模块资源的位置不加以限制。
另外,为了达到方便应用所述每套模块资源的目的,在本发明的一些实施例中,可以针对每个Bank设计一套模块资源。
在本发明的一种应用示例中,所述每套模块资源可以包括译码模块、电压传输模块、读出放大模块和控制电路等结构;可以理解,本发明可以适用于各种协助读操作或者写操作的执行的一套模块资源,故对每套模块资源的具体结构不加以限制。
读操作响应装置102、
在模块资源足够的基础上,本发明针对该存储芯片的每个Bank都设计一个接口,这样,相对于现有技术中的操作颗粒度(操作对象的细化程度)为整个MCP芯片,本发明将操作颗粒度细化到MCP芯片中的Bank。
进一步,本发明专利发明人在比较Read和Write两个操作时,发现Write操作的执行时间远远大于Read操作,故在实际应用中,出现的通常是Read操作等待Write操作的情形,而很少甚至不会出现Write操作等待Read操作的情形;因此,本发明设计Read操作信号的优先级小于Write操作信号的优先级,并以此作为响应Read操作信号的依据。
另外,为了实现同时执行Read和Write两个操作的目标,还需要满足如下条件:
条件1、Read和Write操作的地址和控制信号能够被选择输入;
条件2、Read和Write操作时的不同高压能够独立产生,并且被选择输入。
为满足上述两个条件,参照图2,在本发明的一种优选实施例中,所述读操作响应装置102具体可以包括:
状态机121,位于该存储芯片内部,用于接收操作指令,并根据其中的写操作指令,更新相应簇的写操作状态;
地址译码模块122,用于依据簇的当前写操作状态,对该簇的地址进行译码得到相应的写选通信号;及
多个接口模块123,数量与该存储芯片内部的簇一一对应,具体可以包括:
操作选通单元1231,用于根据所述写选通信号,选通针对相应簇的读操作信号或写操作信号;及
高压选通单元1232,用于根据所述写选通信号,选通针对相应簇的读操作高电压或写操作高电压。
以下通过步骤,更详细地说明所述读操作响应装置102中模块121-模块123的工作过程,具体可以包括:
步骤A1、所述状态机121判断某簇是否接受写操作,若是,则更新该簇的写操作状态为忙碌状态,否则,更新该簇的写操作状态为闲置状态;
步骤A2、所述地址译码模块122判断簇的写操作状态,若为忙碌,则对该簇的地址进行译码得到写选通信号有效,否则,对该簇的地址进行译码得到写选通信号无效;
步骤A3、所述操作选通单元1231在所述写选通信号为有效时,选通写操作信号,以及,在所述写选通信号为无效时,选通读操作信号;
步骤A4、所述高压选通单元1232在所述写选通信号为有效时,选通写操作高电压,以及,在所述写选通信号为无效时,选通读操作高电压。
写装置103和读装置104、
所述写装置103和读装置104均可应用一套模块资源针对MCP芯片中的Bank执行操作。
这里,“均可应用一套模块资源工作”可以理解为,在二者的工作时间没有交叉时,二者可以应用相同的一套模块资源;但是,在二者的工作时间存在重合且不在同一个簇地址时,二者应使用不同的一套模块资源。
例如,MCP芯片中具有3套模块资源:第1套模块资源、第2套模块资源和第3套模块资源,该MCP芯片的Bank编号为:Bank0~Bank3,则所述写装置103和读装置104的一种工作示例可以包括:
步骤B1、在T0时刻,所述写装置103应用第1套模块资源针对Bank0执行写操作;
步骤B2、在T0+T1时刻,所述读装置104应用第2套模块资源针对Bank1执行读操作;
步骤B3、在T0+T2时刻,所述读装置104针对Bank1的读操作结束;
步骤B4、在T0+T3时刻,所述读装置104应用第3套模块资源针对Bank2执行读操作;
步骤B5、在T0+T4时刻,所述写装置103针对Bank0的写操作结束;
步骤B6、在T0+T5时刻,所述写装置103应用第2套模块资源针对Bank3执行写操作。
其中,T0~T5均用于说明所述写装置103和读装置104运行写、读操作的时间顺序,这里,对T0~T5的具体取值不加以限制。
另外,需要说明的是,本发明实施例的重点在于应用读操作响应装置102进行读操作信号的响应,因而,在实施本发明时,可以采用任一种现有技术对于写操作信号作出响应,例如,对应图2的读操作响应装置102结构,所述写装置103,可具体用于在选通针对某簇的写操作信号,以及,选通针对某簇的写操作高电压时,应用一套模块资源针对该簇进行写操作。
对应图2的读操作响应装置102结构,所述读装置104,可具体用于在选通针对某簇的读操作信号,以及,选通针对某簇的读操作高电压时,应用一套模块资源针对该簇进行读操作。
根据上述读操作响应装置102的相关说明,其对于读操作信号的操作可以有两种结果:响应和不响应,为使用户得到这两种结果,在本发明的一种优选实施例中,本专利发明人提出如下构思:
根据Read操作信号的地址判断,当前的Read操作是从一个未接受Write操作的Bank中读出数据,还是对一个正在接受Write操作的Bank进行轮询(polling),并把相应的数据送到读总线(RD_BUS)上。
针对上述构思,所述系统还可以包括:
判断装置,用于依据所有簇的写选通信号,比较当前写操作和当前读操作的地址,若二者处于同一簇,则输出无效的控制开关信号,否则,输出有效的控制开关信号;
第一三态总线驱动器(TRI_BUF),用于在所述控制开关信号为无效时,断开该存储芯片内部与读总线之间的逻辑连接,以及,在所述控制开关信号为有效时,接通该存储芯片内部与读总线之间的逻辑连接。
具体地,所述第一三态总线驱动器,可具体用于在该存储芯片内部与读总线之间的逻辑连接接通时,将所述读装置读出的数据推到读总线。也即,在当前的Read操作是从一个未接受Write操作的Bank中读出数据时,所述第一三态总线驱动器能够将所述读出的数据推到RD_BUS。
更为优选的,在对一个正在接受Write操作的Bank进行轮询时,所述系统还可以包括:
第二三态总线驱动器,用于在所述控制开关信号为无效时,接通所述状态机与读总线之间的逻辑连接,同时将所述状态机的当前状态推到所述读总线。
为使本领域技术人员更好地理解本发明,以下通过图3所示的电路结构图对存储芯片的读写系统进行说明,具体可以包括:
状态机301,位于该存储芯片内部,用于接收操作指令,并根据其中的写操作指令,更新相应簇的写操作状态;
地址译码模块302,用于依据簇的当前写操作状态,对该簇的地址进行译码得到相应的写选通信号;
图中BANK_WRSEL<3:0>表示写选通信号。
多个操作选通单元303,数量与该存储芯片内部的簇一一对应,用于根据所述写选通信号,选通针对相应簇的读操作信号或写操作信号;
这里的信号可以包括Read和Write操作的地址和控制信号。
多个高压选通单元304,数量与该存储芯片内部的簇一一对应,用于根据所述写选通信号,选通针对相应簇的读操作高电压或写操作高电压。
判断装置305,用于依据所有簇的写选通信号,比较当前写操作和当前读操作的地址,若二者处于同一簇,则输出无效的控制开关信号,否则,输出有效的控制开关信号;
多个第一TRI_BUF306,用于在所述控制开关信号为无效时,断开该存储芯片内部与读总线之间的逻辑连接,以及,在所述控制开关信号为有效时,接通该存储芯片内部与读总线之间的逻辑连接;
第二TRI_BUF307,数量与该存储芯片内部的簇一一对应,用于在所述控制开关信号为无效时,接通所述状态机与读总线之间的逻辑连接,同时将所述状态机的当前状态推到所述读总线;
模块资源,具体可以包括译码模块308、电压传输模块309和读出放大模块310;
写装置311,用于在选通针对某簇的写操作信号,以及,选通针对某簇的写操作高电压时,应用一套模块资源针对该簇中的单元阵列进行写操作;及
读装置312,在选通针对某簇的读操作信号,以及,选通针对某簇的读操作高电压时,应用一套模块资源针对该簇中的单元阵列进行读操作。
图3所示存储芯片的读写系统的一个工作过程示例可以包括:
步骤S1、状态机301接收针对Bank0的Write操作指令后,开始启动Write操作,同时更新Bank0的写操作状态为忙碌状态;
步骤S2、地址译码模块302译码得到有效的写选通信号Bank_wrse1<0>;
步骤S3、与Bank0相应的操作选通单元303根据Bank_wrse1<0>,选通针对Bank0的写操作信号;
步骤S4、与Bank0相应的高压选通单元304根据Bank_wrse1<0>,选通针对Bank0的写操作高电压;
步骤S5、写装置应用一套模块资源针对Bank0中的单元阵列进行写操作;
步骤S6、接收到Read操作信号:
步骤S7、判断装置305依据所有簇的写选通信号,比较当前Write操作和当前Read操作的地址,若二者处于同一Bank内部,则输出无效的控制开关信号,所述Read操作被忽略;同时把当前状态机的Status通过第二TRI_BUF307推到读总线上;
步骤S8、若二者不处于同一个Bank内部,则响应所述Read操作,该Read操作需要的模块被启动,同时Read地址对应的Bank中把Read的控制信号和地址选通进去。这个Bank内部的模块资源启动,把数据Read出来;相应的第一TRI_BUF306根据有效的控制开关信号,将读出的数据送至读总线。
综上,本发明实现了同时针对两个Bank进行操作,其中一个进行Write操作,另一个进行Read操作。这样不仅大大提高了Read的相应速度,而且不用不断suspend,也提高了写操作的性能,从而在整体上提高存储芯片的性能。
与前述系统实施例相应,本发明还公开了一种存储芯片的读写方法,参照图4,具体可以包括:
步骤401、在接收到针对所述存储芯片中簇的读操作信号时,判断该簇的接口是否被写操作占用,若是,则不响应所述读操作信号,否则,响应所述读操作信号;
在本发明的一种优选实施例中,所述步骤401可以进一步包括:
子步骤D1、接收操作指令,并根据其中的写操作指令,更新相应簇的写操作状态;
子步骤D2、依据簇的当前写操作状态,对该簇的地址进行译码得到相应的写选通信号;
子步骤D3、根据所述写选通信号,选通针对相应簇的读操作信号或写操作信号;
子步骤D4、根据所述写选通信号,选通针对相应簇的读操作高电压或写操作高电压;
更为优选的,所述更新相应簇的写操作状态的步骤可以为,判断某簇是否接受写操作,若是,则更新该簇的写操作状态为忙碌状态,否则,更新该簇的写操作状态为闲置状态;
所述对该簇的地址进行译码得到相应的写选通信号的步骤可以为,判断簇的写操作状态,若为忙碌,则对该簇的地址进行译码得到写选通信号有效,否则,对该簇的地址进行译码得到写选通信号无效;
所述选通针对相应簇的读操作信号或写操作信号的步骤可以为,在所述写选通信号为有效时,选通写操作信号,以及,在所述写选通信号为无效时,选通读操作信号;
所述选通针对相应簇的读操作高电压或写操作高电压的步骤可以为,在所述写选通信号为有效时,选通写操作高电压,以及,在所述写选通信号为无效时,选通读操作高电压。
步骤402、在针对某簇的写操作信号得到响应时,应用所述存储芯片中的一套模块资源针对该簇进行写操作,其中,所述存储芯片包括至少两套模块资源,其中的每套模块资源用于协助读操作或者写操作的执行;
在本发明实施例中,所述每套模块资源可位于该存储芯片内部,或者,位于簇内部。例如,所述每套模块资源可以包括译码模块、电压传输模块、读出放大模块和控制电路。
在具体实现中,所述写操作可以为,在选通针对某簇的写操作信号,以及,选通针对某簇的写操作高电压时,应用其中的所述一套模块资源针对该簇进行写操作;
步骤403、在针对某簇的读操作信号得到响应时,应用所述存储芯片中的一套模块资源针对该簇进行读操作。
例如,所述读操作的实现过程可以为,在选通针对某簇的读操作信号,以及,选通针对某簇的读操作高电压时,应用所述一套模块资源针对该簇进行读操作。
根据上述说明,其对于读操作信号的操作可以有两种结果:响应和不响应,为使用户得到这两种结果,在本发明的一种优选实施例中,所述方法还可以包括:
步骤E1、依据所有簇的写选通信号,比较当前写操作和当前读操作的地址,若二者处于同一簇,则输出无效的控制开关信号,否则,输出有效的控制开关信号;
步骤E2、在所述控制开关信号为无效时,断开该存储芯片内部与读总线之间的逻辑连接,以及,在所述控制开关信号为有效时,接通该存储芯片内部与读总线之间的逻辑连接。
其中,在该存储芯片内部与读总线之间的逻辑连接接通时,将所述读装置读出的数据推到读总线。
更为优选的,所述方法还可以包括:
步骤E3、在所述控制开关信号为无效时,接通所述状态机与读总线之间的逻辑连接,同时将所述状态机的当前状态推到所述读总线。
本发明实施例中,由于针对所述写操作和所述读操作,在二者的工作时间存在重合且针对不同的簇时,二者可以应用不同的模块资源;因此,相对于现有技术等待Write操作结束或者不停地中断Write操作,本发明可以在执行Write操作的同时执行Read操作,不仅能够保证Write操作的性能,而且还能够提高Read操作的速度,从而在整体上提高存储芯片的读写性能。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于方法实施例而言,由于其与系统实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上对本发明所提供的一种存储芯片的读写系统和方法,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。