具体实施方式
以下参照附图详细说明本发明的实施方式。在实施方式中,构成各块的电路元件无特别限定,通过公知的CMOS(互补型MOS晶体管)等集成电路技术形成在单晶硅这样的一个半导体基板上。
(第1实施方式)
图1表示作为适用了本发明的第1实施方式的、由信息处理装置CPU_CHIP和存储模块MEM构成的信息处理系统。以下分别进行说明。
信息处理装置CPU_CHIP由信息处理电路CPU0、CPU1、CPU2、CPU3和存储控制电路CON构成。存储控制电路CON包括:请求队列RqQ、响应队列RsQ、引导设备ID寄存器BotID、末端设备ID寄存器EndID、请求号码生成电路RqN、请求号码生成寄存器RqNR。在CPU0、CPU1、CPU2、CPU3中,通过存储控制电路CON,从存储模块MEM读出并执行OS、应用程序及在应用程序中进行处理的数据。
请求队列RqQ存储用于输出到存储模块MEM的由CPU0、CPU1、CPU2、CPU3所执行的应用程序的结果等。响应队列RsQ存储用于输出到CPU0、CPU1、CPU2、CPU3的从存储模块MEM读出的应用程序等。
存储模块MEM由存储芯片M0、M1、M2构成。并且,信息处理装置CPU CHIP和存储芯片M0、M1、M2串联连接。存储芯片M0是易失性存储器,存储芯片M1及M2是非易失性存储器。代表性的易失性存储器包括:存储器阵列使用动态随机存取存储单元的DRAM及模拟静态随机存取存储器PSRAM、使用了静态随机存取存储单元的SRAM等,本发明中可利用所有易失性存储单元。在本实施方式中,说明存储阵列中使用动态随机存取存储单元的例子。
非易失性存储器可使用ROM(只读存储器)、EEPROM(电可擦写可编程ROM)、闪存、相变存储器、磁性随机存取存储器MRAM、变阻随机存取存储器ReRAM等。在本实施方式中,以闪存为例来说明。
并且,代表性的闪存包括NOR型闪存、AND型闪存、NAND型闪存、ORNAND型闪存,本发明中可使用全部闪存。本发明中可使用全部闪存。在本实施方式中,以NOR型闪存和NAND型闪存为例进行说明。
虽不特别限定,但作为存储芯片M0使用的典型的易失性存储器是利用了动态存储单元的动态随机存取存储器,读出时间为15ns左右,具有约1G比特的存储容量。虽不特别限定,但存储芯片M0作为在信息处理装置CPU_CHIP中执行应用程序的暂时性的工作存储器而使用。
虽不特别限定,但作为存储芯片M1而使用的典型的闪存利用NOR型闪存单元,读出时间为80ns左右,具有约1G比特的较大的存储容量。虽不特别限定,但存储芯片M1中存储在信息处理装置CPU_CHIP中执行的OS、引导代码、引导设备ID值、末端设备ID值及应用程序等。
虽不特别限定,但作为存储芯片M2而使用的典型的闪存利用NAND型闪存单元,读出时间为25μs左右,具有约4G比特的存储容量。虽不特别限定,但存储芯片M2中主要存储用于在信息处理装置CPU_CHIP中进行重放、录音及录像处理的必要的声音数据、静态图像数据、动态图像数据等。
存储芯片M0由初始设定电路INIT、请求接口电路ReqIF、响应接口电路ResIF、存储电路MemVL构成。请求接口电路ReqIF由请求时钟控制电路RqCkC、及请求队列控制电路RqCT构成。响应接口电路ResIF由响应时钟控制电路RsCkC、及响应队列控制电路RqCT构成。存储电路MemVL无特别限定,是易失性存储器,是利用了动态随机存取存储单元的动态随机存取存储器。请求时钟控制电路RqCkC由时钟驱动电路Drv1及时钟分频电路Div1构成。存储芯片M1由初始设定电路INIT、请求接口电路ReqIF、响应接口电路ResIF、存储电路MemNV1构成。
请求接口电路ReqIF由请求时钟控制电路RqCkC、及请求队列控制电路RqCT构成。
响应接口电路ResIF由响应时钟控制电路RsCkC及响应队列控制电路RqCT构成。
虽不特别限定,但各存储芯片的请求队列控制电路RqCT中主要安装:可存储多个请求的请求队列ReqQ、ID寄存器IDR、延时值输出设定寄存器LRG、响应顺序设定寄存器RRG、请求号码设定电路RNB等,响应队列控制电路RqCT中主要安装:可存储多个响应的响应队列ResQ、延时计算电路LA及响应号码表TB等。
存储芯片M1由初始设定电路INIT1、请求接口电路ReqIF、响应接口电路ResIF、存储电路MemNV1构成。
请求接口电路ReqIF由请求时钟控制电路RqCkC及请求队列控制电路RqCT构成。响应接口电路ResIF由响应时钟控制电路RsCkC及响应队列控制电路RqCT构成。存储电路MemNV1无特别限定,是非易失性存储器,是利用了NOR型闪存单元的NOR型闪存。请求时钟控制电路RqCkC由时钟驱动电路Drv1及时钟分频电路Div1构成。
请求接口电路ReqIF及响应接口电路ResIF的构成和存储芯片M0相同。
存储芯片M2由初始设定电路INIT、请求接口电路ReqIF、响应接口电路ResIF、存储电路MemNV2构成。存储芯片M2在串联连接的存储芯片中表示最末端的存储芯片,因此虽不特别限定,但使RqEn3、RsMux3、RqCk3接地(gnd)。
请求接口电路ReqIF由请求时钟控制电路RqCkC及请求队列控制电路RqCT构成。响应接口电路ResIF由响应时钟控制电路RsCkC及响应队列控制电路RqCT构成。存储电路MemNV2无特别限定,是非易失性存储器,是利用了NAND型闪存单元的NAND型闪存。请求时钟控制电路RqCkC由时钟驱动电路Drv1及时钟分频电路Div1构成。
请求接口电路ReqIF及响应接口电路ResIF的构成和存储芯片M0相同。
存储芯片M0、M1及M2的初始设定电路INIT在接通电源之后,对各存储芯片进行初始设定。存储芯片M0、M1及M2的请求队列控制电路RqCT中设有存储各存储芯片的ID号码的ID寄存器。接通电源之后,首先通过初始设定电路INIT进行初始设定,接着通过信息处理装置CPU_CHIP确定存储芯片M0、M1、M2的ID号码,ID号码存储到各存储芯片内的ID寄存器。
存储芯片M0、M1及M2虽无特别限定,但分别具有引导设备识别信号Bsig,当该引导设备识别信号Bsig接地(gnd)时,表示该存储芯片是存储了用于进行电源接通之后的动作的引导程序的引导设备。当引导设备识别信号Bsig连接到电源(vdd)时,表示该存储芯片不是引导设备。虽无特别限定,但存储芯片M1是引导设备,存储芯片M0及M2不设定为引导设备。并且,通过引导设备识别信号Bsig,可进行编程以使某个芯片作为引导设备。
RqCk0、RqCk1及RqCk2是请求时钟,RsCk0、RsCk1及RsCk2是响应时钟。RqEN0、RqEN1及RqEN2是请求允许(ResponseEnabled)信号,RsEN0、RsEN1及RsEN2是响应允许信号。RqMux0、RqMux1及RqMux2是请求信号,RsMux0、RsMux1及RsMux2是响应信号。
存储芯片M0虽无特别限定,但如果可接收来自信息处理装置CPU_CHIP的请求,则使RqEN0为高电平(High),如不可接收则使RqEN0为低电平(Low)。存储芯片M1虽无特别限定,但如果可接收来自存储芯片M0的请求,则使RqEN1为高电平,如不可接收则使RqEN1为低电平。存储芯片M2虽无特别限定,但如果可接收来自存储芯片M1的请求,则使RqEN2为高电平,如不可接收则使RqEN2为低电平。
RqMux0、RqMux1及RqMux2是请求信号,通过这些请求信号发送的请求虽无特别限定,但ID值、命令、地址、请求号码及写入数据等多重化,和各自的请求时钟RqCk0、RqCk1及RqCk2同步发送。RsMux0、RsMux1及RsMux2是响应信号,通过这些响应信号发送的响应虽无特别限定,但ID值、响应号码、读出数据的延时值或延时电平值及读出数据等多重化,与各自的响应时钟RsCk0、RsCk1及RsCk2同步发送。
以下说明本信息处理系统的动作。首先说明电源接通时及电源接通后的动作。
(电源接通后的动作说明)(电源接通时的初始程序)
首先,参照图1及图2说明电源接通时的本信息处理系统的动作的一例。
图2表示本信息处理系统装置的电源接通时的初始程序的一例。
在T1期间(PwON),对信息处理装置CPU_CHIP和存储模块MEM内的存储芯片M0、M1及M2进行电源接通,在T2期间(Reset)进行复位。复位方法没有特别限定,可以是通过各内置电路自动复位的方法,或者是外部具有复位端子,通过该复位信号进行复位动作。
在T2的复位期间(Reset),初始设定信息处理装置CPU_CHIP、存储芯片M0、M1及M2的内部状态。以下列举一例。
信息处理装置CPU_CHIP将引导设备ID寄存器BotID初始设定为1,将末端设备ID寄存器EndID初始设定为0。
存储芯片M0中,本身的初始设定电路INIT初始设定本身的请求队列控制电路RqCT、响应队列控制电路RqCT、请求控制电路RqCke、响应时钟控制电路RsCkC、时钟分频电路Div1、Div2及存储电路MemVL。ID寄存器IDR具有的ID值初始设定为0,ID有效位初始设定为低电平。
延时输出寄存器LRG具有的延时值输出标记信息LRGFlag值及ID信息值初始设定为0。
响应顺序设定寄存器RRG具有的请求号码选择标记RSELFlag值、响应顺序标记RRGFlag值、ID信息值初始设定为0。
关于响应队列控制电路RqCT具有的响应调制电路的响应优先顺序初始设定为,存储芯片M0的响应优先顺序为1,存储芯片M1的响应优先顺序为2,存储芯片M2的响应优先顺序为3。时钟分频电路Div1及Div2的分频比初始设定为1。
存储芯片M1中,本身的初始设定电路INIT初始设定本身的请求队列控制电路RqCT、响应队列控制电路RqCT、请求控制电路RqCkc、响应时钟控制电路RsCkC、时钟分频电路Div1、Div2及存储电路MemNV1。ID寄存器IDR具有的ID值初始设定为0,ID有效位初始设定为低电平。延时输出寄存器LRG具有的延时值输出标记信息LRGFlag值及ID信息值初始设定为0。
响应顺序设定寄存器RRG具有的请求号码选择标记RSELFlag值、响应顺序标记RRGFlag值、及ID信息值初始设定为0。关于存储芯片M1的响应队列控制电路RqCT具有的响应调制电路的响应优先顺序初始设定为,存储芯片M1的响应优先顺序为1,存储芯片M2的响应优先顺序为2。时钟分频电路Div1及Div2的分频比初始设定为1。
存储芯片M2中,本身的初始设定电路INIT初始设定本身的请求队列控制电路RqCT、响应队列控制电路RqCT、请求控制电路RqCkc、响应时钟控制电路RsCkC、时钟分频电路Div1、Div2及存储电路MemNV2。ID寄存器IDR具有的ID值初始设定为0,ID有效位初始设定为低电平。延时输出寄存器LRG具有的延时值输出标记信息LRGFlag值及ID信息值初始设定为0。
响应顺序设定寄存器RRG具有的请求号码选择标记RSELFlag值、响应顺序标记RRGFlag值、及ID信息值初始设定为0。关于存储芯片M2的响应队列控制电路RqCT具有的响应调制电路的响应优先顺序初始设定为,存储芯片M2的响应优先顺序为1。时钟分频电路Div1及Div2的分频比初始设定为1。
在T2的复位期间(Reset)结束后的T3的期间(LinkEn)内,进行信息处理装置CPU_CHIP、存储芯片M0、M1及M2的信号的连接确认。以下列举一例。
请求时钟RqCk0从信息处理装置CPU_CHIP输入到存储芯片M0,通过存储芯片M0的时钟驱动器Drv1,作为时钟分频电路Div1及时钟信号ck1而输出到时钟分频电路Div2。输入到时钟分频电路Div1的时钟通过请求时钟RqCk1输出到存储芯片M1。输入到时钟分频电路Div1的时钟从时钟信号ck2输出,并且通过请求时钟RqCk1输出到存储芯片M2。输入到时钟分频电路Div2的时钟从时钟信号ck3输出,并且通过响应时钟RsCk0输出到信息处理装置CPU_CHIP。输入到存储芯片M1的时钟驱动器Drv1的时钟作为时钟分频电路Div1及时钟信号ck1而输出到时钟分频电路Div2。输入到时钟分频电路Div1的时钟从时钟信号ck2输出,并且通过请求时钟RqCk1输出到存储芯片M2。输入到时钟分频电路Div2的时钟从时钟信号ck3输出,并且通过响应时钟RsCk1输出到存储芯片M0。通过响应时钟RsCk1输入到存储芯片M0的时钟驱动器Drv2的时钟输出到时钟信号ck4。输入到存储芯片M2的时钟驱动器Drv1的时钟作为时钟分频电路Div1及时钟信号ck1而输出到分频电路Div2。输入到时钟分频电路Div2的时钟从时钟信号ck3输出,并且通过请求时钟RqCk1输出到存储芯片M2。通过响应时钟RsCk2输入到存储芯片M1的时钟驱动器Drv2的时钟输出到时钟信号ck4。
接着,存储芯片M0因引导设备识别信号Bsig连接到电源vdd,识别到本身不是引导设备。存储芯片M1因引导设备识别信号Bsig接地gnd,识别到本身是引导设备,将本身的存储电路MemNV1保存的引导设备ID值1设定到ID寄存器,使ID有效位为高电平。存储芯片M2因引导设备识别信号Bsig连接到电源,识别到本身不是引导设备。存储芯片M2通过RqEn3、RsMux3、RqCk3接地(gnd),识别是串联的存储芯片的最末端的存储芯片,使请求允许信号RqEn2为高电平。
接着,存储芯片M1确认请求允许信号RqEn2为高电平,使响应允许信号ReEn2及请求允许信号RqEn1为高电平。接着,存储芯片M0确认请求允许信号RqEn1为高电平,使响应允许信号ReEn1及请求允许信号RqEn0为高电平。最后,信息处理装置CPU_CHIP确认请求允许信号RqEn0为高电平,获知确认了各存储芯片的信号连接,使响应允许信号ReEn0为高电平。这样一来,可确认信息处理装置CPU_CHIP及存储芯片M0、M1、M2串联连接。
在T3期间结束后的T4的期间(BootRd)内,信息处理装置CPU_CHIP从存储芯片M1读出引导数据。以下列举动作一例。
信息处理装置CPU_CHIP读出引导设备ID寄存器BotID的值1,通过请求信号RqMux0,将使ID值1、库激活(Bank active)命令BA、库地址BK0、页地址Page0多重化了的请求ReqBAm1与时钟信号RqCk0同步,传送到存储芯片M0。
接着,通过请求信号RqMux0,将使ID值1、读出命令RD、库地址BK0、列地址Col多重化了的请求ReqRDm1与时钟信号RqCk0同步,传送到存储芯片M0。
存储芯片M0依次将来自信息处理装置CPU_CHIP的请求ReqBAm1和ReqRDm1存储到本身的请求队列控制电路RqCT。
存储芯片M0依次比较请求ReqBAm1和ReqRDm1中含有的ID值1和本身的ID寄存器的值2。因比较结果不一致,因此存储芯片M0判断ReqBAm1和ReqRD16m1不是对本身的请求,通过请求信号RqMux1依次传送到存储芯片M1。
存储芯片M1将来自存储芯片M0的请求ReqBAm1和ReqRDm1存储到本身的请求队列控制电路RqCT。
存储芯片M1的请求队列控制电路RqCT比较请求ReqBAm1中含有的ID值1和本身的ID寄存器的值1。因双方一致,所以请求队列控制电路RqCT将请求ReqBA1发送到存储电路MemVL。存储电路MemVL向请求ReqBAm1通过库激活命令BA、库地址BK0、页地址Page0,使指定的1页(无特别限定,为1k比特)的引导数据传送到缓冲器BUF0。引导数据中含有引导程序和最末端设备ID号码3。
存储芯片M1的请求队列控制电路RqCT比较请求ReqRDm1中含有的ID值1和本身的ID地址的值1。因双方一致,所以请求队列控制电路RqCT将请求ReqRDm1发送到存储电路MemVL。
从存储芯片M1的存储电路MemNV1中,通过请求ReqRDm1中含有的读出命令RD16、库地址BK0、列地址Col,读出含有缓冲器BUF0内的最末端设备ID号码3的引导数据,包括ID寄存器值1在内,作为响应RsRDm1而传送到响应队列控制电路RsCT。
存储芯片M1的响应队列控制电路RsCT通过响应信号RsMux0将响应RsRDm1输出到存储芯片M0。存储芯片M0接收响应RsRDm1,输出到信息处理装置CPU_CHIP。
信息处理装置CPU_CHIP将响应ResRDm1存储到响应队列RsQ。通过响应ResBRD1中含有的ID值1,可获知引导数据从存储芯片M1发送。最末端设备ID值3保存到存储控制电路CON内的最末端设备ID寄存器EndID。
在T4期间结束后的T5的期间(InitID)中,信息处理装置CPU_CHIP通过引导程序启动本身,接着对各存储芯片M0、M1、M2进行ID号码分配。以下列举一个动作示例。
信息处理装置CPU_CHIP根据引导代码首先对各存储芯片附加ID号码。信息处理装置CPU_CHIP通过请求信号RqMux0将ID号码2和ID设定命令传送到存储芯片M0。在存储芯片M0中,因ID有效位为低电平,因此尚未进行ID号码附加。因此存储芯片M0通过ID号码2和ID设定命令对ID寄存器设定ID号码2,使ID有效位为高电平。ID有效位变为高电平,表示ID号码附加完成。当存储芯片M0的ID号码附加完成后,存储芯片M0通过响应信号RsMux0,输出存储芯片M0的ID值2及ID号码附加完成信息。信息处理装置CPU_CHIP接收存储芯片M0的ID值2及ID号码附加完成信息,获知存储芯片M0的ID号码附加完成。
接着,信息处理装置CPU_CHIP通过请求信号RqMux0将使ID号码3和ID设定命令多重化了的请求ReqID3传送到存储芯片M0。存储芯片M0比较本身的ID号码2和请求ReqID3中含有的ID号码3,因其不一致,所以将请求ReqID3传送到存储芯片M1。
存储芯片M1比较本身的ID号码1和请求ReqID3中含有的ID号码3,因其不一致,所以将请求ReqID3传送到存储芯片M2。在存储芯片M2中,因ID有效位为低电平,所以尚未进行ID号码附加。因此,存储芯片M2通过请求ReqID3中含有的ID号码3和ID设定命令对存储芯片M2的ID寄存器设定ID号码3,使ID有效位为高电平。当最末端的存储芯片M2的ID号码附加完成后,存储芯片M2通过响应信号RqMux2,将使存储芯片M2的ID值3及ID号码附加完成信息多重化了的响应ResID3输出到存储芯片M1。存储芯片M1通过响应信号RqMux1将响应ResID3输出到存储芯片M0。存储芯片M0通过响应信号RqMux0将响应ResID3传送到信息处理装置CPU_CHIP。信息处理装置CPU_CHIP接收响应ResID3,接收该响应ResID3中含有的存储芯片M2的ID值3及ID号码附加完成信息,获知存储芯片M2的ID号码附加完成。进一步,信息处理装置CPU_CHIP比较传送的存储芯片M2的ID值3及存储控制电路CON内的最末端设备ID寄存器EndID中设定的最末端设备ID值3,当双方一致时,确认ID号码附加进行到最末端的存储芯片为止。
T5期间结束后的T6的期间(Idle)之后,存储模块MEM变为空闲状态,变为等待来自信息处理装置CPU_CHIP的请求的状态。
因此,当电源接通之后,通过进行串联连接的确认动作,可切实确认存储器之间连接。进一步,通过明示引导设备及最末端的存储芯片,自动进行对各存储器的ID附加,可容易地连接必要的存储芯片,扩展存储容量。
(寄存器设定延时值输出设定寄存器LRG)
参照图3说明电源接通时的初始程序结束后,对存储芯片M0、M1及M2的延时值输出寄存器LREG进行的数据设定动作。
虽无特别限定,但在延时值输出设定寄存器LRG中,可设定要输出来自存储芯片M0、M1及M2中的哪个存储芯片的响应所相关的延时值。
虽无特别限定,但存储芯片M0、M1、M2各自的ID寄存器值设定为2、1及3。
图3是表示对存储芯片M0、M1及M2的延时值输出寄存器LREG设定数据的动作的一例的流程图。
虽无特别限定,但存储芯片M0、M1、M2各自的ID寄存器值设定为2、1及3。
首先说明对存储芯片M0的延时值输出寄存器LREG的数据设定动作。
信息处理装置CPU_CHIP通过请求信号RqMux0,将使ID值2、延时值输出寄存器设定命令LRGSet、对延时值输出寄存器LRG的设定值LRGData0多重化了的请求ReqLRGSet0,与时钟信号RqCK0同步,传送到存储芯片M0(图3:步骤1)。对延时输出寄存器LRG的设定值LRGData0中,含有延时值输出标记信息LRGFlag值1、ID值2、ID值1、ID值3。
存储芯片M0的请求队列控制电路RqCT存储请求ReqLRGSet0(图3:步骤2)。
接着,存储芯片M0的请求控制电路RqCT比较请求ReqLRGSet0中含有的ID值2和本身的ID寄存器的值2(图3:步骤3)。
因双方一致,所以对存储芯片M0的延时值输出寄存器LRG设定设定值LRGData0(图3:步骤4)。
接着说明对存储芯片M1的延时值输出寄存器LREG的数据设定动作。
信息处理装置CPU_CHIP通过请求信号RqMux0,将使ID值1、延时值输出寄存器设定命令LRGSet、对延时值输出寄存器LRG的设定值LRGData1多重化了的请求ReqLRGSet1,与时钟信号RqCK0同步,传送到存储芯片M0(图3:步骤1)。设定值LRGData1中,含有延时值输出标记信息LRGFlag值1、ID值2、ID值1、ID值3。
存储芯片M0的请求队列控制电路RqCT存储请求ReqLRGSet1(图3:步骤2)。
接着,存储芯片M0的请求控制电路RqCT比较请求ReqLRGSet1中含有的ID值1和本身的ID寄存器的值2(图3:步骤3)。
因双方不一致,所以存储芯片M0的请求队列控制电路RqCT将请求ReqLRGSet1传送到请求队列电路RqQXO,传送到存储芯片M1(图3:步骤5)。
存储芯片M1的请求队列控制电路RqCT存储请求ReqLRGSet1(图3:步骤2)。
接着,存储芯片M1的请求队列控制电路RqCT比较请求ReqLRGSet1中含有的ID值和本身的ID寄存器的值1(图3:步骤3)。
因双方一致,所以向存储芯片M1的延时值输出寄存器LRG设定设定值LRGData1(图3:步骤4)。
对存储芯片M2的延时值输出寄存器LREG的数据设定动作和存储芯片M1进行同样的动作。
图4表示存储芯片M0、M1及M2的延时值输出寄存器LREG的设定值的一例。
通过存储芯片M0的延时值输出寄存器M0_LREG的设定值,存储芯片M0输出对本身的请求的响应、对存储芯片M1的请求、对存储芯片M2的请求所相关的延时值。
通过存储芯片M1的延时值输出寄存器M1_LREG的设定值,存储芯片M1输出对本身的请求的响应、对存储芯片M2的请求所相关的延时值。
通过存储芯片M2的延时值输出寄存器M2_LREG的设定值,存储芯片M2输出对本身的请求的响应所相关的延时值。
因此,在输出数据前,输出表示该数据何时输出的延时值,从而使信息处理装置CPU_CHIP可预先知道数据的到达时间。因此,信息处理装置CPU_CHIP在数据到达前可进行必要的其他处理,提高了性能。
(寄存器设定响应顺序设定寄存器RRG)
图5是表示对存储芯片M0、M1及M2的响应顺序设定寄存器RRG设定数据的动作的一例的流程图。
首先说明对存储芯片M0的响应顺序设定寄存器RRG的数据设定动作。
信息处理装置CPU_CHIP通过响应信号RqMux0,将使ID值2、响应顺序设定寄存器设定命令RRGSet、对响应顺序设定寄存器RRG的设定值RRGData0多重化了的请求ReqRRGSet0,与时钟信号RqCK0同步,传送到存储芯片M0(图5:步骤1)。设定值RRGData0中,含有请求号码选择标记信息RSELFlag值、响应顺序标记RRGFlag信息、ID值。
存储芯片M0的请求队列控制电路RqCT存储请求ReqRRGSet0(图5:步骤2)。
接着,存储芯片M0的请求队列控制电路RqCT比较请求ReqRRGSet0中含有的ID值2和本身的ID寄存器的值2(图5:步骤3)。
因双方一致,所以向存储芯片M0的响应顺序设定寄存器RRG设定设定值RRGData0(图5:步骤4)。
接着说明对存储芯片M1的数据设定动作。
信息处理装置CPU_CHIP通过请求信号RqMux0,将使ID值1、响应顺序设定寄存器设定命令RRGSet、对响应顺序设定寄存器RRG的设定值RRGData1多重化了的请求ReqRRGSet1,与时钟信号RqCK0同步,传送到存储芯片M0(图5:步骤1)。
设定值RRGData1中,含有请求号码选择标记信息RSELFlag值1、响应顺序标记RRGFlag值1、ID值2。
存储芯片M0的请求队列控制电路RqCT存储请求ReqRRGSet1(图5:步骤2)。
接着,存储芯片M0的请求队列控制电路RqCT比较请求ReqRRGSet1中含有的ID值1和本身的ID寄存器的值2(图5:步骤3)。
因双方不一致,所以存储芯片M0的请求队列控制电路RqCT将请求ReqRRGSet1传送到请求队列电路RqQXO,发送到存储芯片M1(图5:步骤5)。
存储芯片M1的请求队列控制电路RqCT存储请求ReqRRGSet1(图5:步骤2)。
接着,存储芯片M1的请求队列控制电路RqCT比较ReqRRGSet1中含有的ID值1和本身的ID寄存器的值1(图5:步骤3)。
因双方一致,所以对存储芯片M1的响应顺序设定寄存器RRG设定设定值RRGData1(图5:步骤4)。
存储芯片M2的响应顺序设定寄存器RRG设定动作以和存储芯片M1同样的动作进行。
图6(a)及(b)表示存储芯片M0、M1及M2的响应顺序设定寄存器RRG的设定值的一例。M0_RRG是存储芯片M0的响应顺序设定寄存器RRG。M1_RRG是存储芯片M1的响应顺序设定寄存器RRG。M2_RRG是存储芯片M2的响应顺序设定寄存器RRG。
虽无特别限定,但当请求号码选择标记信息RSELFlag值为0时,利用从信息处理装置CPU_CHIP发送到存储模块MEM的请求中含有的请求号码,确定响应顺序,并且当请求号码选择标记信息RSELFlag值是1时,存储芯片生成和从信息处理装置CPU_CHIP发送到存储模块MEM的请求对应的请求号码,利用该生成的请求号码,确定响应顺序。
并且,虽无特别限定,但当响应顺序标记信息RRGFlag值为0时,不受输入到存储模块MEM的请求顺序的限制,从可尽快发送的响应开始发送,并且,当响应顺序标记信息RRGFlag值为1时,按照输入到存储芯片MEM的请求顺序发送响应。
通过图6(a)所示的响应顺序设定寄存器RRG的设定值,存储芯片M0对于对本身的请求,利用存储芯片M0本身生成的请求号码,按照输入的请求顺序发送响应。并且,存储芯片M0,在本身的响应与从存储芯片M1或M2输入到存储芯片M0的响应之间,与请求的输入顺序无关地,可尽快发送的响应不等待较慢的响应,可发送到信息处理装置CPU_CHIP。
存储芯片M1对于对本身的请求,利用存储芯片M1本身生成的请求号码,按照输入的请求顺序发送响应。并且,存储芯片M1,在本身的响应与从存储芯片M2输入到存储芯片M1的响应之间,与请求的输入顺序无关地,可尽快发送的响应不等待较慢的响应,可发送到存储芯片M0。
存储芯片M2对于对本身的请求,利用存储芯片M2本身生成的请求号码,按照输入的请求顺序将响应发送到存储芯片M1。
通过图6(b)所示的响应顺序设定寄存器RRG的设定值,存储芯片M0对于对本身的请求,利用从信息处理装置CPU_CHIP发送的请求号码,与请求的输入顺序无关地,可尽快发送的响应不等待较慢的响应,可发送到信息处理装置CPU_CHIP。并且,存储芯片M0,在本身的响应与从存储芯片M1或M2输入到存储芯片M0的响应之间,与请求的输入顺序无关地,可尽快发送的响应不等待较慢的响应,可发送到信息处理装置CPU_CHIP。
存储芯片M1对于对本身的请求,利用从信息处理装置CPU_CHIP发送的请求号码,与请求的输入顺序无关地,可尽快发送的响应不等待较慢的响应,可发送到存储芯片M0。并且,存储芯片M1,在本身的响应与从存储芯片M2输入到存储芯片M1的响应之间,与请求的输入顺序无关地,可尽快发送的响应不等待较慢的响应,可发送到存储芯片M0。
存储芯片M2对于对本身的请求,利用从信息处理装置CPU_CHIP发送的请求号码,与请求的输入顺序无关地,可尽快发送的响应不等待较慢的响应,可发送到存储芯片M1。
并且,通过设定多个和响应顺序设定寄存器RRG的响应顺序标记信息RRGFlag对应的ID值,当然可设定多个存储芯片间的响应顺序。
如上所述,通过响应顺序设定寄存器RRG,在各存储芯片、芯片之间,按照输入的请求顺序发送响应,或者不受输入的请求的顺序的限制,可从可快速发送的响应开始发送,因此根据处理的系统,可灵活应对信息处理装置CPU_CHIP要求的各种OS、引导程序及应用程序等在存储芯片中的配置方法,提高性能。
(普通动作的说明:延时值的输出)
参照图1和图7说明存储模块MEM和信息处理装置CPU_CHIP之间的、包含延时值的输出的数据的传送。
虽无特别限定,但存储芯片M0、M1、M2各自的ID寄存器值设定为2、1及3。
虽无特别限定,但存储芯片M0、M1及M2的延时值输出寄存器LRG设定为图4所示的值,响应顺序设定寄存器RRG设定为图6(a)所示的值。
虽无特别限定,但说明以下情况下的数据传送:在存储芯片M0、M1、M2的响应队列控制电路RqCT中存在两个请求队列,处于请求未进入的状态,存储芯片M0的响应队列控制电路RsCT中存在两个响应队列,该响应队列中已经进入了一个响应。
虽无特别限定,但一个请求队列可存储1字节的ID值、1字节的请求号码、1字节的命令、2字节的地址、32字节的写入数据,1个响应队列可存储1字节的ID值、1字节的请求号码、32字节的读出数据。
并且,虽无特别限定,但存储芯片M0、M1、M2各自的存储电路MemVL、MemNV1、MemNV2由8个存储库构成,一个存储库中安装一个读出放大电路(Sense amplifier circuit)。
存储芯片M0在本身的请求队列中没有来自信息处理装置CPU_CHIP的请求,因此使请求允许信号RqEn0为高电平,通知信息处理装置CPU_CHIP可接收请求。
信息处理装置CPU_CHIP通过请求信号RqMux0,将使ID值2、库激活命令BA、库地址BK0、行地址Row0多重化了的请求ReqBAm01,与时钟信号RqCK0同步,传送到存储芯片M0。
接着,通过请求信号RqMux0,将使ID值2、16字节读出命令RD、库地址BK0、列地址Col31多重化了的请求ReqRDm16,与时钟信号RqCK0同步,传送到存储芯片M0(图7:步骤1)。
存储芯片M0将来自信息处理装置CPU_CHIP的请求ReqBAm01和ReqRDm16依次存储到本身的请求队列控制电路RqCT(图7:步骤2)。
这样一来,请求队列控制电路RqCT内的所有请求队列被进入,无法接收来自信息处理装置CPU_CHIP的新的请求,因此使请求允许信号RqEn0为低电平。
因请求允许信号RqEn0为低电平,因此信息处理装置CPU_CHIP可知存储芯片M0无法接收请求。
之后,请求队列控制电路RqCT比较请求ReqBAm01中含有的ID值2和本身的ID寄存器的值2。因请求ReqBA1中含有的ID值2和存储芯片M0的ID寄存器值2一致,因此请求队列控制电路RqCT将请求ReqBA1发送到存储电路MemVL。存储电路MemVL对请求ReqBAm01,通过库激活命令BA、库地址BK0、行地址Row0,使库0内的行0所连接的1页(无特别限定,为8192比特)的存储单元激活,传送到读出放大器。
请求ReqBAm01被处理,从而使请求队列控制电路RqCT内的请求队列空出一个,因此存储芯片M0使请求允许信号RqEn0为高电平,通知信息处理装置CPU_CHIP可接收新的请求。
接着,请求队列控制电路RqCT比较请求ReqRDm16中含有的ID值2和本身的ID寄存器的值2(图7:步骤3)。因请求ReqRDm16中含有的ID值2和存储芯片M0的ID寄存器值2一致,因此请求队列控制电路RqCT将请求ReqRDm16发送到存储电路MemVL。
并且,请求队列控制电路RqCT将读出请求ReqRDm16发送到存储电路MemVL时,根据延时值输出寄存器LRG的设定,将请求ReqRDm04中含有的ID值2和延时值输出寄存器LRG内的延时值输出标记信息LRGFlag值1发送到响应队列控制电路RsCT内的延时计算电路LA。
延时计算电路LA确认接收的延时值输出标记信息LRGFlag值是1(图7:步骤4),对请求ReqRDm16的数据通过响应信号RsMux0计算输出到信息处理装置CPU_CHIP为止的延时值LaRd(图7:步骤5)。接着,响应队列控制电路RsCT使含有ID值2及计算的延时值LaRd的响应RsLa通过响应信号RsMux0,发送到信息处理装置CPU_CHIP(图7:步骤6)。
如果延时计算电路LA在接收到延时值输出信息LRGFlag值是0时,不执行延时计算而结束(图7:步骤8)。
信息处理装置CPU_CHIP的存储控制电路CON使响应队列RsQ接收响应RsLa。信息处理装置CPU_CHIP通过发送到响应队列RsQ的响应RsLa中含有的ID值2及延时值LaRd,可预先确认与响应RqRDm04对应的数据何时从存储芯片M0发送。
接着,从存储电路MemVL,通过请求ReqRDm16中含有的16字节读出命令RD16、库地址BK0、列地址Col31,在由存储电路MemVL的库0的读出放大器保存的数据中,读出将列地址Col31作为开始地址的16字节的数据,包括ID寄存器值2在内,作为响应ResRDm16而传送到响应队列控制电路RsCT。
响应队列控制电路RsCT通过响应信号RsMux0,将响应RsRDm16输出到信息处理装置CPU_CHIP。信息处理装置CPU_CHIP的存储控制电路CON使响应队列RsQ接收响应RsRDm16。信息处理装置CPU_CHIP通过发送到响应队列RsQ的响应RsRDm04中含有的ID值2,可确认与请求RqRDm16对应的数据正确地从存储芯片M0发送。
响应队列控制电路RsCT中的延时的计算方法无特别限定,但也可以是Tinitial+Sum(Tcycle)。
从请求ReqRDm16发送到存储电路MemVL后到读出所需的数据并作为响应ResRDm16而输入到响应控制电路RsCT为止的时间,无特别限定,为3时钟周期左右。
Sum(Tcycle)在安装了响应队列控制电路RsCT的响应队列内,对于已经保存了响应数据的响应队列,是为输出所有响应数据而所需的数据传送时钟周期数Tcycle的总和。
在安装了响应队列控制电路RsCT的响应队列内,响应数据已经由一个响应队列保存,设该响应数据的数据传送时钟周期数为16时,对响应ReqRDm16的输出数据的延时值LaRd为3+16=19周期。
其中,存储芯片M0输出的延时值以具体的时钟周期数为例进行了说明,但延时值也可以是和时钟周期数对应的电平值。
以上说明了存储芯片M0中的数据的读出,当然对于存储芯片M1、M2也可进行同样的动作。
虽无特别限定,但输入到响应队列RsQ的数据通过信息处理电路CPU0、CPU1、CPU2及CPU3的任意一个进行数据处理。
接着说明信息处理装置CPU CHIP和存储芯片M1的数据传送。
虽无特别限定,但存储芯片M0、M1、M2的请求队列控制电路RqCT中存在两个请求队列,是请求未进入的状态。并且说明以下情况下的数据传送:存储芯片M0、M1、M2的响应队列控制电路RsCT中存在两个响应队列,存储芯片M0及M1的响应队列中已经进入了一个响应。
信息处理装置CPU_CHIP通过请求信号RqMux0,将使ID值1、库激活命令BA、库地址BK0、页地址Page0多重化了的请求ReqBAm1,与时钟信号RqCK0同步,传送到存储芯片M0。
接着,通过请求信号RqMux0,将使ID值1、16字节读出命令RD16、库地址BK0、列地址Col31多重化了的请求ReqRD16m1,与时钟信号RqCK0同步,传送到存储芯片M0(图7:步骤1)。
存储芯片M0将来自信息处理装置CPU_CHIP的请求ReqBAm1和ReqRD16m1依次存储到本身的请求队列控制电路RqCT(图7:步骤2)。
存储芯片M0比较请求ReqBAm1及ReqRD16m1中含有的ID值1和本身的ID寄存器的值2(图7:步骤3)。因比较结果不一致,所以存储芯片M0判断请求ReqBAm1及ReqRD16m1不是对本身的请求,通过请求信号RqMux1依次传送到存储芯片M1(图7:步骤7)。
存储芯片M1将来自存储芯片M0的请求ReqBAm1及ReqRD16m1存储到本身的请求队列控制电路RqCT(图7:步骤2)。
存储芯片M1的请求队列控制电路RqCT比较请求ReqBAm1中含有的ID值1和本身的ID寄存器的值1(图7:步骤3)。因双方一致,所以请求队列控制电路RqCT将请求ReqBA1发送到存储电路MemVL。存储电路MemVL对请求ReqBAm1,通过库激活命令BA、库地址BK0、页地址Row0,使指定的1页(无特别限定,为1k字节)的存储单元激活,传送到读出放大器。
接着,存储芯片M1的请求队列控制电路RqCT比较请求ReqRD16m1中含有的ID值和本身的ID寄存器的值1。因双方一致,所以请求队列控制电路RqCT将请求ReqRDm16发送到存储电路MemVL。
并且,存储芯片M1的请求队列控制电路RqCT将读出请求ReqRD16m1发送到存储电路MemVL时,根据延时值输出寄存器LRG的设定,将请求ReqRD16m1中含有的ID值1和延时值输出寄存器LRG内的延时值输出标记信息LRGFlag值1发送到响应队列控制电路RsCT内的延时计算电路LA。
延时计算电路LA确认取得的延时值输出标记信息LRGFlag值为1(图7:步骤4),对请求ReqRD16m1的数据通过响应信号RsMux0,计算输出到信息处理装置CPU_CHIP为止的延时值LaRd1(图7:步骤5)。接着,响应队列控制电路RsCT使含有ID值1和计算的延时值LaRd1的响应RsLa1通过响应信号RsMux0传送到存储芯片M0(图7:步骤6)。
接收到响应RsLa1的存储芯片M0的响应队列控制电路RsCT根据响应RsLa1中含有的延时值LaRd1,计算输出到信息处理装置CPU_CHIP为止的延时值LaRd2,使包括响应RsLa1中含有的ID值1和计算的延时值LaRd2的响应RsLa2,通过响应信号RsMux0传送到信息处理装置CPU_CHIP。
信息处理装置CPU_CHIP的存储控制电路CON使响应队列RsQ接收响应RsLa2。信息处理装置CPU_CHIP通过发送到响应队列RsQ的响应RsLa2中含有的ID值1及延时值LaRd2,可预先确认何时从存储芯片M1发送数据。
接着,从存储芯片M1的存储电路MemNV1,通过请求ReqRD16m1中含有的16字节读出命令RD16、库地址BK0、列地址Col31,在存储电路MemNV1的库0的读出放大器保存的数据中,读出以列地址Col31为开始地址的16字节的数据,包括ID寄存器值1在内,作为响应RsRD16m1而传送到响应队列控制电路RsCT。
存储芯片M1的响应控制电路RsCT通过响应信号RsMux0,将响应RsRD16m1输出到存储芯片M0。存储芯片M0接收响应RsRD16m1,输出到信息处理装置CPU_CHIP。
信息处理装置CPU_CHIP的存储控制电路CON使响应队列RsQ接收响应RsRD16m1。信息处理装置CPU_CHIP通过发送到响应队列RsQ的响应RsRD16m1中含有的ID值1,可确认与响应RsRD16m1对应的数据正确地从存储芯片M0发送。
说明存储芯片M1的响应队列控制电路RsCT中的、延时值LaRd1的计算方法。虽无特别限定,但延时值LaRd1也可以是Tinitial+Sum(Tcycle)。
从请求ReqNRD4m1发送到存储电路MemNV1后,到读出所需的数据并作为响应ResRD16m1而输入到响应控制电路RsCT为止的时间,无特别限定,为80ns左右,因此是40时钟周期左右。
Sum(Tcycle)在安装了响应队列控制电路RsCT的响应队列内,对于已经保存了响应数据的响应队列,是为输出所有响应数据而所需的数据传送时钟周期数Tcycle的总和。
在安装了存储芯片M1的响应队列控制电路RsCT的响应队列内,响应数据已经由一个响应队列保存,设该响应数据的数据传送时钟周期数为16时,对响应ReqRD16m1的输出数据的延时值LaRd1为40+16=56周期。
接着说明从存储芯片M1接收延时值LaRd2时的、存储芯片M0的响应队列控制电路RsCT中的延时值LaRd2的计算方法。虽无特别限定,但延时值LaRd2也可以是延时值LaRd1+Sum(Tcycle)。
在安装了存储芯片M0的响应队列控制电路RsCT的响应队列内,响应数据已经由一个响应队列保存,设该响应数据的数据传送时钟周期数为8时,延时值LaRd2为56+8=62周期。
其中,存储芯片M0及M1输出的延时值以具体的时钟周期数为例进行了说明,但延时值也可以是和延时的周期数对应的电平值。
虽无特别限定,输入到响应队列RsQ的数据通过信息处理电路CPU0、CPU1、CPU2及CPU3的任意一个进行数据处理。
接着说明信息处理装置CPU_CHIP和存储芯片M2的数据传送。虽无特别限定,但存储芯片M2是利用了NAND型闪存单元的NAND型闪存。NAND型闪存很少发生以下情况,即因反复改写,导致可靠性下降,使写入时写入的数据在读出时变为不同的数据、或改写时未写入数据的情况,因此512字节的数据及该512字节的数据中产生错误时用于校正该错误的16字节的ECC代码作为1页(512字节+16字节)的数据而被管理。
虽无特别限定,但存储芯片M0、M1、M2的请求队列控制电路RqCT中存在两个请求队列,是请求未进入的状态。并且说明以下情况下的数据传送:存储芯片M0、M1、M2的响应队列控制电路RsCT中存在两个响应队列,存储芯片M0、M1及M2的响应队列中已经进入了一个响应。
信息处理装置CPU_CHIP通过请求信号RqMux0,将使ID值3、库激活命令BA、库地址BK0、扇区地址Sadd0多重化了的请求ReqBAm2,与时钟信号RqCK0同步,传送到存储芯片M0。
接着,通过请求信号RqMux0,将使ID值3、页数据读出命令RDp1、库地址BK0、页地址Padd0多重化了的请求ReqRDp1m2,与时钟信号RqCK0同步,传送到存储芯片M0(图7:步骤1)。
存储芯片M0将来自信息处理装置CPU_CHIP的请求ReqBAm2和ReqRDp1m2依次存储到本身的请求队列控制电路RqCT(图7:步骤2)。
存储芯片M0比较请求ReqBAm2及ReqRDp1m2中含有的ID值3和本身的ID寄存器的值2(图7:步骤3)。因比较结果不一致,所以存储芯片M1判断请求ReqBAm2及ReqRDp1m2不是对本身的请求,通过请求信号RqMux1依次传送到存储芯片M1(图7:步骤7)。
存储芯片M1将来自存储芯片M0的请求ReqBAm2及ReqRDp1m2存储到本身的请求队列控制电路RqCT(图7:步骤2)。
存储芯片M1依次比较请求ReqBAm2及ReqRDp1m2中含有的ID值3和本身的ID寄存器的值3(图7:步骤3)。因比较结果不一致,所以存储芯片M1判断请求ReqBAm2及ReqRDp1m2不是对本身的请求,通过请求信号RqMux1依次传送到存储芯片M2(图7:步骤7)。
存储芯片M2的请求队列控制电路RqCT比较请求ReqBAm2中含有的ID值3和本身的ID寄存器的值3(图7:步骤3)。因双方一致,所以请求队列控制电路RqCT将请求ReqBmA2发送到存储电路MemNV2。
存储电路MemNV2对请求ReqBAm2,通过库激活命令BA、库地址BK0、扇区地址Sadd0,使指定的1扇区的数据传送到缓冲器BUF0。虽无特别限定,但1扇区的数据由4页(无特别限定,2k字节)数据构成。虽无特别限定,但为将1扇区的数据传送到缓冲器BUF0而所需的时间为25usec左右。
接着,存储芯片M1的请求队列控制电路RqCT比较请求ReqRDp1m2中含有的ID值3和本身的ID寄存器的值3。因双方一致,所以存储芯片M1的请求队列控制电路RqCT判断请求ReqRDp1m2是对本身的请求。
1扇区的数据从存储电路MemNV2传送到缓冲器BUF0后,存储芯片M1的请求队列控制电路RqCT将请求ReqRDp1m2发送到存储电路MemNV2。
并且,存储芯片M1的请求队列控制电路RqCT将读出请求ReqRDp1m2发送到存储电路MemVL时,根据延时值输出寄存器LRG的设定,将请求ReqRDp1m2中含有的ID值3和延时值输出寄存器LRG内的延时值输出标记信息LRGFlag值1发送到响应队列控制电路RsCT内的延时计算电路LA。
延时计算电路LA确认取得的延时值输出标记信息LRGFlag值为1(图7:步骤4),对请求ReqRDp1m2的数据通过响应信号RsMux2,计算输出到存储芯片M1为止的延时值LaRdm2(图7:步骤5)。接着,响应队列控制电路RsCT使含有ID值3和计算的延时值LaRdm2的响应RsLam2通过响应信号RsMux2传送到存储芯片M1(图7:步骤6)。
接收到响应RsLam2的存储芯片M1的响应队列控制电路RsCT根据响应RsLam2中含有的延时值LaRdm2,计算输出到存储芯片M0为止的延时值LaRdm21,使包括响应RsLam2中含有的ID值3和计算的延时值LaRdm21的响应RsLam21,通过响应信号RsMux0传送到存储芯片M0。
接收到响应RsLam21的存储芯片M0的响应队列控制电路RsCT根据响应RsLam21中含有的延时值LaRdm21,计算输出到信息处理装置CPU_CHIP为止的延时值LaRdm210,使包括响应RsLam21中含有的ID值3和计算的延时值LaRdm21的响应RsLam210,通过响应信号RsMux0传送到信息处理装置CPU_CHIP。
信息处理装置CPU_CHIP的存储控制电路CON使响应队列RsQ接收响应RsLa210。信息处理装置CPU_CHIP通过发送到响应队列RsQ的响应RsLa2中含有的ID值1及延时值LaRd210,可预先确认何时从存储芯片M2发送数据。
响应队列控制电路RsCT从传送到数据寄存器DREG0的数据中,将由ReqRDp1m2中含有的1页读出命令RDp1、库地址BK0及页地址Padd0指定的1页(512字节+16字节)数据,以32字节单位,包括ID寄存器值3在内,作为响应ResNDRDp1m2-0~响应ResNDRDp1m2-7而依次读出,传送到存储芯片M1。最后,读出页地址1内的16字节的ECC代码,包括ID寄存器值3在内,作为响应ResNDRDp1m2ECC,通过响应信号RsMux2传送到M1。从数据寄存器DREG0内的数据读出到响应队列为止的时间没有特别限定,为50ns左右。
响应ResNDRDp1m2-0、ResNDRDp1m2-1、ResNDRDp1m2-2、ResNDRDp1m2-3、ResNDRDp1m2-4、ResNDRDp1m2-5、ResNDRDp1m2-6、ResNDRDp1m2-7及响应ResNDRDp1m2ECC依次传送到存储芯片M1后,通过响应信号RsMux1传送到存储芯片M0,进一步通过响应信号RsMux0传送到信息处理装置CPU_CHIP。
信息处理装置CPU_CHIP的存储控制电路CON依次使响应ResNDRDp1m2-0、ResNDRDp1m2-1、ResNDRDp1m2-2、ResNDRDp1m2-3、ResNDRDp1m2-4、ResNDRDp1m2-5、ResNDRDp1m2-6、ResNDRDp1m2-7及响应ResNDRDp1m2ECC由响应队列RsQ接收。信息处理装置CPU_CHIP通过响应队列RsQ发送的这些响应中含有的ID值2,可确认这些响应是从存储芯片M2发送的。
信息处理装置CPU_CHIP对从存储芯片M2发送的数据,通过信息处理电路CPU0、CPU1、CPU2、CPU3的任意一个,利用ECC代码进行错误检测。如无错误,则信息处理电路CPU0、CPU1、CPU2、CPU3的任意一个对该数据进行数据处理。如有错误,则通过信息处理电路CPU0、CPU1、CPU2、CPU3的任意一个进行错误校正后,由信息处理电路CPU0、CPU1、CPU2、CPU3的任意一个对进行了错误校正的数据进行数据处理。
说明存储芯片M2中的响应队列控制电路RsCT中的、延时值LaRdm2的计算方法。虽无特别限定,但延时值LaRdm2也可以是Tinitial+sum(Tcycle)。
从响应ReqRDp1m2发送到存储电路MemNV1后,到所需的数据从数据寄存器DREG0被读出并作为响应ResNDRDp1m2-0而输入到响应队列控制电路RsCT为止的时间,没有特别限定,是50ns左右,因此为25时钟周期左右。
Sum(Tcycle),在安装了响应队列控制电路RsCT的响应队列内,对于已经保存了响应数据的响应队列,是为输出所有响应数据而所需的数据传送时钟周期数Tcycle的总和。
在安装了存储芯片M2的响应队列控制电路RsCT的响应队列内,响应数据已经由一个响应队列保存,该响应数据的数据传送时钟周期数为16时,对响应ResNDRDp1m2-0的输出数据的延时值LaRdm2为25+16=41周期。
接着说明存储芯片M1的响应队列电路RsCT中的、延时值LaRdm21的计算方法。虽无特别限定,但延时值LaRdm21也可以是延时值LaRdm2+Sum(Tcycle)。
Sum(Tcycle),在安装了响应队列控制电路RsCT的响应队列内,对于已经保存了响应数据的响应队列,是为输出所有响应数据而所需的数据传送时钟周期数Tcycle的总和。
在安装了存储芯片M1的响应队列控制电路RsCT的响应队列内,响应数据已经由三个响应队列保存,该响应数据的数据传送时钟周期数为16×3时,延时值LaRdm21为41+48=89周期。
接着说明从存储芯片M1接收延时值LaRdm21时的、存储芯片M0的响应队列控制电路RsCT中的延时值LaRdm210的计算方法。虽无特别限定,但延时值LaRdm210也可以是延时值LaRdm21+Sum(Tcycle)。
Sum(Tcycle),在安装了响应队列控制电路RsCT的响应队列内,对于已经保存了响应数据的响应队列,是为输出所有响应数据而所需的数据传送时钟周期数Tcycle的总和。
在安装了存储芯片M0的响应队列控制电路RsCT的响应队列内,响应数据已经由三个响应队列保存,设该响应数据的数据传送时钟周期数为16×3时,延时值LaRdm210为89+48=137周期。
其中,存储芯片M0、M1及M2输出的延时值以具体的时钟周期数为例进行了说明,但延时值也可以是和延时的周期数对应的电平值。
以上说明了存储芯片M2中的数据读出,对于存储芯片M0及M1也可进行同样的动作。
虽无特别限定,但输入到响应队列RsQ的数据通过信息处理电路CPU0、CPU1、CPU2及CPU3的任意一个进行数据处理。
如上所述,将对从信息处理装置CPU_CHIP到存储模块MEM的读出请求的响应的延时,在该响应从存储模块MEM输出到信息处理装置CPU_CHIP前,预先从存储模块MEM发送到信息处理装置CPU_CHIP,从而使信息处理装置CPU_CHIP可预先获知数据的到达时刻,在数据到达前可灵活对应什么处理进行到什么程度,可提高处理性能。
(通常动作的说明:队列的预约)
根据信息处理装置CPU_CHIP执行的应用程序的不同,存在该应用程序执行过程中需要保证读出数据的最大延时的情况。参照图1及图8说明用于保证该读出数据的最大延时的请求队列及响应队列的预约方法。
说明对安装了存储模块MEM内的存储器M0、M1及M2的请求队列及响应队列中、处于空置状态的队列的预约方法的一例。
虽无特别限定,但说明为了对存储芯片M1的请求及响应优先且顺利处理而进行的请求队列及响应队列的预约方法。
虽无特别限定,但存储芯片M0、M1、M2各自的ID寄存器值设定为2、1及3。
首先,信息处理装置CPU_CHIP,在位于本身的响应队列RsQ的响应队列中,无特别限定地预约一个用于从存储芯片M1开始的专门存储响应的处于空置状态的响应队列。如果没有处于空置状态的响应队列,则直到有空置状态的响应队列为止进行等待。
之后,信息处理装置CPU_CHIP为了预约队列,通过请求信号RqMux0,将使ID值1、队列预约命令QRv、预约的队列的个数QRvN值多重化了的请求ReqNQRv传送到存储芯片M0(图8:步骤1)。
存储芯片M0将响应ReqNQRv存储到本身的响应队列控制电路RqCT(图8:步骤2)。
之后,存储芯片M0的请求队列控制电路RqCT比较请求ReqNQRv中含有的ID值1和本身的ID寄存器的值2(图8:步骤3)。因双方不一致,所以存储芯片M0的请求队列控制电路RqCT通过请求ReqNQRv中含有的ID值1、队列预约命令QRv、及QRvN值1,预约一个专门存储对存储芯片M1的请求的处于空置状态的请求队列。如果无处于空置状态的请求队列,则直到出现空置状态的请求队列为止等待,并进行预约(图8:步骤7)。
进一步,请求队列控制电路RqCT传送到请求ReqNQRv的响应队列控制电路RsC。
存储芯片M0的响应队列控制电路RsCT通过请求ReqNQRv中含有的ID值1、队列预约命令QRv、及QRvN值1,预约一个专门存储含有输入到存储芯片M0的来自存储芯片M1的读出数据的响应的、处于空置状态的响应队列。如果无处于空置状态的响应队列,则直到出现空置状态的响应队列为止等待,并进行预约(图8:步骤8)。
存储芯片M0完成空置状态的请求队列及响应队列的预约后,通过响应ReqNQRv中含有的ID值1,将请求ReqNQRv通过请求信号RqMux1传送到存储芯片M1(图8:步骤9)。
存储芯片M1将响应ReqNQRv存储到本身的请求队列控制电路RqCT(图8:步骤2)。之后,存储芯片M1的请求队列控制电路RqCT比较请求ReqNQRv中含有的ID值1和本身的ID寄存器的值1(图8:步骤3)。因双方一致,所以存储芯片M1的请求队列控制电路RqCT通过请求ReqNQRv中含有的ID值1、队列预约命令QRv、及QRvN值1,预约一个专门存储对存储芯片M1的请求的处于空置状态的请求队列。如果无处于空置状态的请求队列,则直到出现空置状态的请求队列为止等待,并进行预约(图8:步骤4)。
进一步,请求队列控制电路RqCT传送到请求ReqNQRv的响应队列控制电路RsC。
存储芯片M1的响应队列控制电路RsCT通过请求ReqNQRv中含有的ID值1、队列预约命令QRv、及QRvN值1,预约一个专门存储来自存储芯片M1的响应的、处于空置状态的响应队列。如果无处于空置状态的响应队列,则直到出现空置状态的响应队列为止等待,并进行预约(图8:步骤5)。
存储芯片M1在完成空置状态的请求队列及响应队列的预约后,将预约完成信号RvFlg通过响应信号RsMux1传送到存储芯片M0(图8:步骤6)。
存储芯片M0将接收的预约完成信号RvFlg通过响应信号RsMux0传送到信息处理装置CPU_CHIP。
信息处理装置CPU_CHIP接收预约完成信号RvFlg,可获知请求ReqNQRv的队列预约完成。
说明队列预约完成后,信息处理装置CPU_CHIP进行对存储芯片M1的数据读出请求时的动作。
信息处理装置CPU_CHIP通过请求信号RqMux0,将使ID值1、16字节数据读出命令NRD16、地址Add63多重化了的请求ReqNRD16m1传送到存储芯片M0。
存储芯片M0中,因用于接收对存储芯片M1的请求的空置状态的请求队列已经被预约,所以将请求ReqNRD16m1存储到该预约的请求队列中。接着存储芯片M0比较请求ReqNRD16m1中含有的ID值1和本身的ID寄存器的值2。因结果不一致,所以请求ReqNRD16m1通过请求信号RqMux1传送到存储芯片M1。
在存储芯片M1中,因用于接收对存储芯片M1的请求的空置状态的请求队列已经被预约,所以将请求ReqNRD16m1存储到该预约的请求队列中。接着存储芯片M1比较请求ReqNRD16m1中含有的ID值1和本身的ID寄存器的值1,确认结果一致。进一步,因用于接收和请求ReqNRD16m1对应的数据的、处于空置状态的响应队列已经被预约,所以请求ReqNRD16m1立刻发送到存储电路MemNV1,与该请求ReqNRD16m1对应的数据从存储电路MemNV1读出,和ID值1一起存储到作为响应ResNRD16m1而预约的响应队列中。
存储芯片M1从响应信号RsMux1将响应ResNRD16m1输出到存储芯片M0。
在存储芯片M0中,因用于接收来自存储芯片M1的响应的空置状态的响应队列已经被预约,所以将响应ResNRD16m1立刻存储到该预约的请求队列中。之后,存储芯片M0立刻从响应信号RsMux0将响应ResNRD16m1输出到信息处理装置CPU_CHIP。
在信息处理装置CPU_CHIP中,因用于接收来自存储芯片M0的响应的空置状态的响应队列已经被预约,所以将响应ResNRD16m1立刻存储到该预约的响应队列。
说明了与对存储芯片M1的请求及响应相关的队列的预约方法及预约后的数据传送动作,但对于存储芯片M0及M2也可用同样的方法进行队列的预约,能够以同样的动作进行数据传送。
如上所述,通过预约空置状态的请求队列及响应队列,可进行作为对象的请求及响应的优先且顺利的处理,在执行应用程序时需要的情况下,可保证读出数据的最大延时。
进一步,对处于空置状态的请求队列及响应队列的预约可对任意的存储芯片进行,并且该预约的请求队列及响应队列的个数也可任意变更,可灵活对应和各种系统。
(普通动作的说明:排序动作:芯片内,失序动作:芯片间)
信息处理装置CPU_CHIP将执行程序所需的程序代码、数据分配到存储芯片M0、M1、M2时,为了提高程序的执行速度,可设定适于其分配方法的存储芯片M0、M1及M2的响应顺序设定寄存器RRG的值而使之动作。
存储器M0中存储程序A和数据A,存储器M1中存储程序B和数据B,存储器M2中存储程序C和数据C。程序A和程序B及程序C是完全独立动作的程序,数据A是和程序A相关的数据,数据B是和程序B相关的数据,数据C是和程序C相关的数据。
图6(a)表示将程序代码及数据分配到存储芯片M0、M1、M2时的、对存储芯片M0、M1、M2的响应顺序设定寄存器RRG的设定值。
以下说明下述情况下的数据传送:信息处理装置CPU_CHIP向存储模块MEM内的存储芯片M1的库1发送数据读出请求,向存储芯片M0的的库0发送数据写入请求,接着向存储芯片M0的库0发送数据读出请求,进一步连续向存储芯片M0的库1发送数据读出请求。
虽无特别限定,但存储芯片M0、M1、M2各自的ID寄存器值设定为2、1及3。
信息处理装置CPU_CHIP通过请求信号RqMux0,将使ID值1、16字节数据读出命令RD16、库地址BK1、列地址Col31多重化了的请求ReqRD16b1m1传送到存储芯片M0。
接着,将使ID值2、32字节数据写入命令WT32、库地址BK0、列地址Col63、及32字节的写入数据多重化了的请求ReqWT32b0m0传送到存储芯片M0。
接着,将使ID值2、32字节数据读出命令RD32、库地址BK0、列地址Col32多重化了的请求ReqRD32b0m0传送到存储芯片M0。
进一步,将使ID值2、16字节数据读出命令RD16、库地址BK1、列地址Col32多重化了的请求ReqRD16b1m0传送到存储芯片M0。
存储芯片M0依次将来自信息处理装置CPU_CHIP的请求ReqRD16b1m1、请求ReqWT32b0m0、请求ReqRD32b0m0、请求ReqRD16b1m0存储到本身的请求队列控制电路RqCT。并且,请求队列控制电路RqCT的请求号码设定电路RNB存储这些请求时,按照请求的输入顺序附加和请求对应的请求号码ReqN。
虽无特别限定,但按照请求的输入顺序,请求ReqRD16b1m1上附加请求号码ReqN值1,请求ReqWT32b0m0上附加请求号码ReqN值2、请求ReqRD32b0m0上附加请求号码ReqN值3、请求ReqRD16b1m0上附加请求号码ReqN值4。
存储芯片M0的请求队列控制电路RqCT比较请求ReqRD16b1m1中含有的ID值1和本身的ID寄存器的值2。因比较结果不一致,所以请求ReqRD16b1m1及与该请求对应的请求号码ReqN值1通过请求信号RqMux1传送到存储芯片M1。
接着,存储芯片M0的请求队列控制电路RqCT比较请求ReqWT32b0m0中含有的ID值2和本身的ID寄存器的值2,因其一致,所以将请求ReqWT32b0m0发送到本身的存储电路MemVL。
在存储芯片M0的存储电路MemVL中,根据请求ReqWT32b0m0中含有的32字节写入命令WT32、库地址BK0、列地址Co63,通过存储电路MemVL的存储库0的读出放大器,向存储库0开始以列地址63为开始地址的32字节数据的写入动作。
接着,存储芯片M0的请求队列控制电路RqCT比较请求ReqRD32b0m0及请求ReqRD16b1m0中含有的、各自的ID值2和本身的ID寄存器的值2,因其一致,所以请求ReqRD32b0m0的请求号码ReqN值3及请求ReqRD16b1m0的请求号码ReqN值4传送到响应控制电路RsCT。
存储芯片M0的响应队列控制电路RsCT将请求号码ReqN值3作为响应号码ResTN值3,并将请求号码ReqN值4作为响应号码ResTN值4,依次进入到响应号码表TB。
这样一来,与响应号码ResTN值3对应的请求号码ReqN值3相关的响应变为最初的响应,与响应号码ResTN值4对应的请求号码ReqN值4相关的响应变为第2个响应。
紧接着请求ReqWT32b0m0的请求ReqRD32b0m0包括对存储芯片M0的存储电路MemVL的存储库0的读出命令RD32,是对和进行请求ReqWT32b0m0的写入动作的存储库0相同的存储库的数据读出,因此需要等待对存储库0的数据写入动作完成。
请求ReqRD32b1m0包括对存储芯片M0的存储电路MemVL的存储库1的读出命令RD32,是对和进行请求ReqWT32b0m0的写入动作的存储库0不同的存储库的数据读出,因此无需等待对存储库0的数据写入动作的完成。因此,存储芯片M0的请求队列控制电路RqCT将请求ReqRD32b1m0发送到存储电路MemVL。
从存储芯片M0的存储电路MemVL,通过请求ReqRD32b1m0中含有的32字节读出命令RD32、库地址BK1、列地址Col32,在由存储电路MemVL的库1的读出放大器保存的数据中,读出以列地址32为开始地址的32字节的数据。
包括读出的32字节的数据、和请求号码ReqN值4对应的响应号码ResN值4、ID寄存器值2的响应RsRD32b1m0传送到响应队列控制电路RsCT。
存储芯片M0的响应队列控制电路RsCT比较最初进入到响应号码表TB的响应号码ResTN值3、及响应号码ResN值4。因两者不一致,所以等待和响应号码ResTN值3对应的响应。
对存储芯片M0的存储电路MemVL的存储库0的数据写入完成后,请求ReqRD32b0m0发送到存储电路MemVL。
从存储芯片M0的存储电路MemVL,通过请求ReqRD32b0m0中含有的32字节读出命令RD32、库地址BK0、列地址Col32,在由存储电路MemVL的库0的读出放大器保存的数据中,读出以列地址32为开始地址的32字节的数据。
包括读出的32字节的数据、和请求号码ReqN值3对应的响应号码ResN值3、ID寄存器值2的响应RsRD32b0m0传送到响应队列控制电路RsCT。
存储芯片M0的响应队列控制电路RsCT比较最早进入到响应号码表TB的响应号码ResTN值3及响应号码ResN值3。
因两者一致,所以存储芯片M0的响应控制电路RsCT通过响应信号RsMux0,将含有ID寄存器值2、32字节数据的响应RsRD32b0m0发送到信息处理装置CPU_CHIP。此时,进入到存储芯片M0的响应号码表TB的响应号码ResTN值3变得无效,响应号码ResTN值4变为最早的响应号码。
在请求ReqRD32b0m0之前输入到存储芯片M0的请求ReqRD16b1m1发送到存储芯片M1,和该请求ReqRD16b1m1对应的响应不输入到存储芯片M0,因此和请求ReqRD32b0m0对应的响应RsRD32b0m0不等待和请求ReqRD16b1m1对应的响应,发送到信息处理装置CPU_CHIP。
接着,存储芯片M0的响应队列控制电路RsCT比较响应RsRD32b1m0的响应号码ResN值4、及现在最早进入到响应号码表TB的响应号码ResTN值4。
因两者一致,因此存储芯片M0的响应队列控制电路RsCT通过响应信号RsMux0将含有ID寄存器值2、32字节数据的响应RsRD32b1m0发送到信息处理装置CPU_CHIP。
此时,进入到存储芯片M0的响应号码表TB的响应号码ResTN值4变得无效。
在请求ReqRD32b1m0之前输入到存储芯片M0的请求ReqRD16b1m1发送到存储芯片M1,和该请求ReqRD16b1m1对应的响应不输入到存储芯片M0,因此和请求ReqRD32b1m0对应的响应RsRD32b1m0不等待和请求ReqRD16b1m1对应的响应,发送到信息处理装置CPU_CHIP。
因此,通过存储芯片M0的响应顺序设定寄存器RRG的设定,存储芯片M0生成和对本身的请求对应的请求号码,利用该生成的请求号码,按照输入的请求顺序进行发送响应的动作。
进一步,通过存储芯片M0的响应顺序设定寄存器RRG的设定,存储芯片M0,在本身的响应与从存储芯片M1或M2输入到存储芯片M0的响应之间,与请求的输入顺序无关地,可尽快发送的响应不等待较慢的响应,可发送到信息处理装置CPU_CHIP。
接着说明存储芯片M1的动作。
在存储芯片M1中,将已经从存储芯片M0发送的请求ReqRD16b1m1及与该请求对应的请求号码ReqN值1存储到请求队列控制电路RqCT,与在存储芯片M0中进行的数据写入及读出并行地,进行数据的读出动作。
存储芯片M1的请求队列控制电路RqCT比较请求ReqRD16b1m1中含有的ID值1和本身的ID寄存器值1。
因两者一致,所以请求队列控制电路RqCT将和读出请求ReqRD16b1m1对应的请求号码ReqN值1传送到请求队列控制电路RsCT。
请求队列控制电路RsCT将该请求号码ReqN值1作为响应号码ResTN值1,保存到响应号码表。这样一来,和响应号码ResTN值1对应的请求ReqRD16b1m1的响应变为从存储芯片M1最先发送的响应。接着将请求ReqRD16b1m1发送到存储电路MemNV1。
存储芯片M1的存储电路MemNV1通过请求ReqRD16b1m1中含有的16字节读出命令RD16、库地址BK1、列地址Col32,在由存储电路MemNV1的库1的读出放大器保存的数据中,读出以列地址32为开始地址的16字节的数据。
含有该读出的16字节数据、与请求号码ReqN值1对应的响应号码ResN值1、及ID寄存器值1的响应RsRD16b1m0传送到响应队列控制电路RsCT。
存储芯片M1的响应队列控制电路RsCT比较最初进入到响应号码表的响应号码ResTN值1和响应号码ResN值1。因两者一致,所以存储芯片M1的响应队列控制电路RsCT通过响应信号RsMux1,将含有ID寄存器值1、响应号码ResN值1、及16字节数据的响应RsRD16b1m1发送到存储芯片M0。此时,进入到响应号码表的响应号码ResTN值1变得无效。
存储芯片M0的响应队列控制电路RsCT接收并存储响应RsRD16b1m1。接着,比较响应号码表TB内变得有效的响应号码ResTN和响应号码ResN值1。
因不存在响应号码表TB内变得有效的响应号码ResTN,所以存储芯片M0的响应队列控制电路RsCT通过响应信号RsMux0,将含有ID寄存器值1和16字节数据的响应RsRD16b1m1发送到信息处理装置CPU_CHIP。
如上所述,通过存储芯片M0的响应顺序设定寄存器RRG的设定,存储芯片M0按照输入的请求顺序,生成和该请求对应的请求号码,利用该请求号码,按照输入的请求顺序将响应发送到信息处理装置CPU_CHIP。这样一来,信息处理装置CPU_CHIP可获知是否发送了对同一芯片的请求的响应,可进行所需的处理。
并且,通过存储芯片M0的响应顺序设定寄存器RRG的设定,存储芯片M0,在本身的响应与从存储芯片M1或M2输入到存储芯片M0的响应之间,与请求的输入顺序无关地,可尽快发送的响应不等待较慢的响应,可发送到信息处理装置CPU_CHIP,实现高速化。
并且,根据处理的系统,可灵活应对信息处理装置CPU_CHIP要求的各种OS、引导程序及应用程序等在存储芯片中的配置方法,提高性能。
进一步,通过向请求附加ID,请求切实地传送到要求目标,并且通过向响应附加ID,即使在请求的输入顺序和读出数据的顺序不同的情况下,信息处理装置CPU_CHIP也可获知传送源的存储芯片,因此通过信息处理装置CPU_CHIP及存储芯片的串联连接,可减少连接信号数,并且信息处理装置CPU_CHIP可进行所需的处理。
并且,以上说明了存储芯片M0及M1所相关的数据传送动作,存储芯片M0、M1及M2所相关的数据传送也可同样地进行。
(普通动作的说明:读写同时进行)
接着说明信息处理装置CPU_CHIP紧跟着数据读出请求、将数据写入请求发送到存储模块MEM时的数据传送。
信息处理装置CPU_CHIP通过请求信号RqMux0,将使ID值2、8字节数据读出命令RD8、库地址BK1、列地址Col15多重化了的请求ReqRD8b1m0传送到存储芯片M0。接着,通过请求信号RqMux0,将使ID值2、8字节数据写入命令WT8、库地址BK1、列地址Col31及8字节的写入数据多重化了的请求ReqWT8b1m0传送到存储芯片M0。
存储芯片M0将来自信息处理装置CPU_CHIP的请求ReqRD8b1m0和请求ReqWT8b1m0依次存储到本身的请求队列控制电路RqCT。请求队列控制电路RqCT比较请求ReqRD8b1m0中含有的ID值2和本身的ID寄存器值2,因其一致,所以将请求ReqRD8b1m0发送到存储电路MemVL。
存储电路MemVL通过请求ReqRD8b1m0中含有的8字节读出命令RD8、库地址BK1、列地址Col31,在存储电路MemVL的库1的读出放大器保存的数据中,读出以列地址15为开始地址的8字节的数据,包括ID寄存器值2在内,作为响应ReqRD8b1m0而传送到响应队列控制电路RsCT。
响应队列控制电路RsCT通过响应信号RsMux0,将含有ID寄存器值2及8字节数据的响应ReqRD8b1m0输出到信息处理装置CPU_CHIP。
通过处理请求ReqRD8b1m0,请求控制电路RqCT比较请求ReqWT8b1m0中含有的ID值2和本身的ID寄存器值2,因其一致,所以将请求ReqWT8b1m0发送到存储电路MemVL。
存储电路MemVL通过请求ReqWT8b1m0中含有的8字节写入命令WT8、库地址BK1、列地址Col31,向存储电路MemVL的库1的读出放大器写入以列地址31为开始地址的8字节数据,进一步写入到存储库1。
请求队列控制电路RqCT和响应队列控制电路RsCT分别独立动作,因此即使在和请求ReqRD8b1m0对应的响应RsRD8b1m0正在输出到信息处理装置CPU_CHIP时,也可进行请求ReqWT8b1m0的写入动作。
如上所述,由于请求接口电路ReIF和响应接口电路可独立动作,因此可同时进行数据的读出动作和写入动作,可提高数据传送性能。以上说明了存储芯片M0中的数据的读出及写入,在其他存储芯片M1及M2中当然也可进行同样的动作。进一步,在各存储芯片中,请求接口电路ReIF和响应接口电路可独立动作,所以即使产生对不同的存储芯片的数据读出及写入请求时,也可独立、并列地处理各请求,可提高数据传送性能。
(普通动作的说明:请求号码)
信息处理装置CPU_CHIP在对存储模块MEM的请求上附加固有的请求号码,并将含有请求号码的请求发送到存储模块MEM时,存储模块MEM利用由信息处理装置CPU_CHIP发送的请求号码,与请求的输入顺序无关地,可从尽快发送的响应开始发送,实现高速化。以下说明其动作。并且,图6(b)表示存储芯片M0、M1、M2的响应顺序设定寄存器RRG的设定值。
说明以下情况下的数据传送:信息处理装置CPU_CHIP向存储模块MEM内的存储芯片M1的库1发送数据读出请求,向存储芯片M0的库0发送数据写入请求,接着向存储芯片M0的库0发送数据读出请求,进一步连续向存储芯片M0的库1发送数据读出请求。
虽无特别限定,但存储芯片M0、M1、M2的各自的ID寄存器值设定为2、1及3。
信息处理装置CPU_CHIP将请求号码生成寄存器RqNR的值设定为1时,请求号码生成电路RqN通过请求信号RqMux0生成与输出的请求对应的请求号码ReqN。接着,信息处理装置CPU_CHIP通过请求信号RqMux0,将使ID值1、请求号码ReqN值1、16字节数据读出命令RD16、库地址BK1、列地址Col31多重化了的请求ReqRD16b1m1传送到存储芯片M0。
接着,将使ID值2、请求号码ReqN值2、32字节数据写入命令WT32、库地址BK0、列地址Col63、及32字节写入数据多重化了的请求ReqWT32b0m0传送到存储芯片M0。
接着,将使ID值2、请求号码ReqN值3、32字节数据读出命令RD32、库地址BK0、列地址Col32多重化了的请求ReqRD32b0m0传送到存储芯片M0。
进一步,将使ID值2、请求号码ReqN值4、16字节数据读出命令RD16、库地址BK1、列地址Col32多重化了的请求ReqRD16b1m0传送到存储芯片M0。
存储芯片M0依次将来自信息处理装置CPU_CHIP的请求ReqRD16b1m1、请求ReqWT32b0m0、请求ReqRD32b0m0、请求ReqRD16b1m0存储到本身的请求队列控制电路RqCT。
存储芯片M0的请求队列控制电路RqCT比较请求ReqRD16b1m1中含有的ID值1和本身的ID寄存器的值2。因比较结果不一致,所以请求ReqRD16b1m1通过请求信号RqMux1传送到存储芯片M1。
接着,存储芯片M0的请求队列控制电路RqCT比较请求ReqWT32b0m0中含有的ID值2和本身的ID寄存器的值2,因其一致,所以将请求ReqWT32b0m0发送到本身的存储电路MemVL。
在存储芯片M0的存储电路MemVL中,根据请求ReqWT32b0m0中含有的32字节写入命令WT32、库地址BK0、列地址Co63,通过存储电路MemVL的存储库0的读出放大器,向存储库0开始进行以列地址63为开始地址的32字节的数据的写入动作。
紧接着请求ReqWT32b0m0的请求ReqRD32b0m0包括对存储芯片M0的存储电路MemVL的存储库0的读出命令RD32,是对和进行请求ReqWT32b0m0的写入动作的存储库0相同的存储库的数据读出,因此需要等待对存储库0的数据写入动作完成。
请求ReqRD32b1m0包括对存储芯片M0的存储电路MemVL的存储库1的读出命令RD32,是对和进行请求ReqWT32b0m0的写入动作的存储库0不同的存储库的数据读出,因此无需等待对存储库0的数据写入动作完成。因此,存储芯片M0的请求队列控制电路RqCT将请求ReqRD32b1m0发送到存储电路MemVL。
从存储芯片M0的存储电路MemVL,通过请求ReqRD32b1m0中含有的32字节读出命令RD32、库地址BK1、列地址Col32,在由存储电路MemVL的库1的读出放大器保存的数据中,读出以列地址32为开始地址的32字节的数据。
包括读出的32字节的数据、和请求号码ReqN值4相同的响应号码ResN值4、ID寄存器值2的响应RsRD32b1m0传送到响应队列控制电路RsCT,发送到信息处理装置CPU_CHIP。
接着,对存储芯片M0的存储电路MemVL的存储库0的数据写入完成后,请求ReqRD32b0m0发送到存储电路MemVL。
从存储芯片M0的存储电路MemVL,通过请求ReqRD32b0m0中含有的32字节读出命令RD32、库地址BK0、列地址Col32,在由存储电路MemVL的库0的读出放大器保存的数据中,读出以列地址32为开始地址的32字节的数据。
包括读出的32字节的数据、和请求号码ReqN值3相等的响应号码ResN值3、ID寄存器值2的响应RsRD32b1m0传送到响应队列控制电路RsCT,发送到信息处理装置CPU_CHIP。
因此,请求ReqRD32b0m0后输入到存储芯片M0的请求ReqRD32b1m0比请求ReqRD32b0m0早处理,因此请求ReqRD32b0m0的响应不用等待请求ReqRD32b0m0的慢的响应,可发送到存储芯片M0。
并且,输入到存储芯片M0的请求ReqRD16b1m1传送到存储芯片M1,和该请求ReqRD16b1m1对应的响应未输入到存储芯片M0,因此请求ReqRD32b1m0的响应RsRD32b1m0及请求ReqRD32b0m0的响应RsRD32b0m0不等待和请求ReqRD16b1m1对应的响应而传送到信息处理装置CPU_CHIP。
接着说明存储芯片M1的动作。
在存储芯片M1中,将含有已经从存储芯片M0发送的请求号码ReqN值1的请求ReqRD16b1m1存储到请求队列控制电路RqCT,与在存储芯片M0中进行的数据写入及读出并行地进行数据的读出动作。
存储芯片M1的请求队列控制电路RqCT比较请求ReqRD16b1m1中含有的ID值1和本身的ID寄存器值1。
因两者一致,所以将请求ReqRD16b1m1发送到存储电路MemNV1。
存储芯片M1的存储电路MemNV1通过请求ReqRD16b1m1中含有的16字节读出命令RD16、库地址BK1、列地址Col32,在由存储电路MemNV1的库1的读出放大器保存的数据中,读出以列地址32为开始地址的16字节的数据。
含有该读出的16字节数据、与请求号码ReqN值1相等的响应号码ResN值1、及ID寄存器值1的响应RsRD16b1m0传送到响应队列控制电路RsCT,并传送到存储芯片M0。
存储芯片M1的响应队列控制电路RsCT接收含有响应号码ResN值1的响应RsRD16b1m1,通过响应信号RsMux0,发送到信息处理装置CPU_CHIP。
如上所述,存储模块MEM利用从信息处理装置CPU_CHIP发送的请求中含有的请求号码,生成响应号码,可将含有该响应号码的响应传送到信息处理装置CPU_CHIP,从而在各存储芯片及存储芯片之间,与请求的输入顺序无关地,可快速发送的响应不用等待较慢的响应,可立刻发送,实现高速化。进一步,即使在以和请求的输入顺序不同的顺序发送响应时,信息处理装置CPU_CHIP也可获知发送了对哪个请求的响应,信息处理装置CPU_CHIP可高速进行所需的处理。
并且,以上说明了存储芯片M0及M1所相关的数据传送动作,但对存储芯片M0、M1及M2相关的数据传送当然也可同样地进行。
(时钟控制)
接着说明和存储模块MEM相关的时钟控制。虽无特别限制,但存储模块MEM用于移动设备时,存储模块MEM内的存储芯片M0、M1及M2不会总是同时动作。因此,为了实现移动设备的低耗电,本存储模块MEM在需要数据传送时,以必要的频率产生时钟,当不产生数据传送时,则可停止时钟。
说明从存储芯片M0输出的响应时钟信号RsCk0的频率控制。首先说明使从存储芯片M0输出的响应时钟信号RsCk0的时钟频率为二分之一的情况,但不限于此。信息处理装置CPU_CHIP从请求信号RqMux0输入存储芯片M0的ID值2和响应时钟分频命令2。
存储芯片M0通过请求队列控制电路RqCT将响应时钟分频命令2发送到存储芯片M0的时钟分频电路Div2时,响应时钟信号RsCk0的频率变为二分之一。降低时钟的动作频率时,为了防止由噪声造成的错误动作,逐渐降低频率,最后以所需频率动作即可。
接着说明停止从存储芯片M0输出的响应时钟信号RsCk0的情况。信息处理装置CPU_CHIP从响应信号RqMux0输入存储芯片M0和ID值2和响应时钟停止命令。存储芯片M0通过请求队列控制电路RqCT,将响应时钟停止命令发送到存储芯片M0内的时钟分频电路Div2时,响应时钟信号RsCk0停止。停止时钟时,为了防止由噪声造成的错误动作,逐渐降低频率,最后停止即可。
接着说明使停止的响应时钟信号RsCk0再次动作的情况。信息处理装置CPU_CHIP从请求信号RqMux0输入存储芯片M0的ID值2和响应时钟重开命令。存储芯片M0通过请求队列控制电路RqCT,将响应时钟重开命令发送到存储芯片M0内的时钟分频电路Div2时,停止的响应时钟信号RsCk0再次开始动作。使时钟再动作时,为了防止由噪声造成的错误动作,逐渐提高频率,最后以所需频率动作即可。
说明从存储芯片M1输出的响应时钟信号RsCk1的频率控制。首先说明使从存储芯片M1输出的响应时钟信号RsCk1的时钟频率为四分之一的情况,但不限于此。信息处理装置CPU_CHIP从请求信号RqMux0输入存储芯片M1的ID值1和响应时钟分频命令4时,通过存储芯片M0,向存储芯片M1发送ID值1和响应分频命令4。存储芯片M1通过请求队列控制电路RqCT,将响应时钟分频命令4发送到存储芯片M1内的时钟分频电路Div2时,响应时钟信号RsCk1的频率变为四分之一。降低时钟的动作频率时,为了防止由噪声造成的错误动作,逐渐降低频率,最后以所需频率动作即可。
接着说明停止从存储芯片M1输出的响应时钟信号RsCk1的情况。信息处理装置CPU_CHIP从响应信号RqMux0输入存储芯片M1的ID值1和响应时钟停止命令时,通过存储芯片M0,向存储芯片M1发送ID值1和响应时钟分频命令4。存储芯片M1通过请求队列控制电路RqCT,将响应时钟停止命令发送到存储芯片M1内的时钟分频电路Div2时,响应时钟信号RsCk1停止。停止时钟时,为了防止由噪声造成的错误动作,逐渐降低频率,最后停止即可。
接着说明使停止的响应时钟信号RsCk1再次动作的情况。信息处理装置CPU_CHIP从请求信号RqMux0输入存储芯片M1的ID值1和响应时钟重开命令。通过存储芯片M0,向存储芯片M1发送ID值1和响应时钟重开命令。存储芯片M1通过请求队列控制电路RqCT,将响应时钟重开命令发送到存储芯片M1内的时钟分频电路Div2时,停止的响应时钟信号RsCk1再次开始动作。使时钟再动作时,为了防止由噪声造成的错误动作,逐渐提高频率,最后以所需频率动作即可。
说明从存储芯片M2输出的响应时钟信号RsCk2的频率控制。首先说明使从存储芯片M2输出的响应时钟信号RsCk2的时钟频率为八分之一的情况,但不限于此。信息处理装置CPU_CHIP从请求信号RqMux0输入存储芯片M2的ID值3和响应时钟分频命令8时,通过存储芯片M0及M1,向存储芯片M2发送ID值3和响应分频命令8。存储芯片M2通过本身的请求队列控制电路RqCT,将响应时钟分频命令8发送到存储芯片M2内的时钟分频电路Div2时,响应时钟信号RsCk2的频率变为八分之一。降低时钟的动作频率时,为了防止由噪声造成的错误动作,逐渐降低频率,最后以所需频率动作即可。
接着说明停止从存储芯片M2输出的响应时钟信号RsCk2的情况。信息处理装置CPU_CHIP从请求信号RqMux0输入存储芯片M2的ID值3和响应时钟停止命令时,通过存储芯片M0及M1,向存储芯片M2发送ID值3和响应时钟分频命令。存储芯片M2通过本身的请求队列控制电路RqCT,将响应时钟停止命令发送到存储芯片M2内的时钟分频电路Div2时,响应时钟信号RsCk2停止。停止时钟时,为了防止由噪声造成的错误动作,逐渐降低频率,最后停止即可。
接着说明使停止的响应时钟信号RsCk2再次动作的情况。信息处理装置CPU_CHIP从请求信号RqMux0输入存储芯片M2的ID值3和响应时钟重开命令。通过存储芯片M0及M1,向存储芯片M2发送ID值3和响应时钟重开命令。存储芯片M2通过请求队列控制电路RqCT,将响应时钟重开命令发送到存储芯片M2的时钟分频电路Div2时,停止的响应时钟信号RsCk2再次开始动作。使时钟再动作时,为了防止由噪声造成的错误动作,逐渐提高频率,最后以所需频率动作即可。
说明从存储芯片M0输出的请求时钟信号RsCk1的频率控制。首先说明使从存储芯片M0输出的请求时钟信号RqCk1的时钟频率为二分之一的情况,但不限于此。信息处理装置CPU_CHIP从请求信号RqMux0输入存储芯片M0的ID值2和请求时钟分频命令2。存储芯片M0通过请求队列控制电路RqCT将请求时钟分频命令2发送到存储芯片M0的时钟分频电路Div1时,该时钟分频电路Div1产生具有请求时钟信号RqCk0的时钟频率的二分之一的频率的时钟,从请求时钟信号RqCk1开始输出。请求时钟信号RqCk1输入到存储芯片M1,通过存储芯片M1的时钟驱动器Drv2及时钟分频电路Div2,作为响应时钟信号RsCk1而输出。降低时钟的动作频率时,为了防止由噪声造成的错误动作,逐渐降低频率,最后以所需频率动作即可。
接着说明停止从存储芯片M0输出的请求时钟信号RsCk1的情况。信息处理装置CPU_CHIP从请求信号RqMux0输入存储芯片M0的ID值2和请求时钟停止命令。存储芯片M0通过请求队列控制电路RqCT将请求时钟停止命令发送到存储芯片M0的时钟分频电路Div1时,该时钟分频电路Div1停止请求时钟信号RqCk1。请求时钟信号RqCk1输入到存储芯片M1,通过存储芯片M1的时钟驱动器Drv2及时钟分频电路Div2,作为响应时钟信号RsCk1而输出,因此响应时钟信号RsCk1也停止。停止时钟时,为了防止由噪声造成的错误动作,逐渐降低频率,最后停止即可。
接着说明使停止的请求时钟信号RsCk1再次动作的情况。信息处理装置CPU_CHIP从请求信号RqMux0输入存储芯片M0的ID值2和请求时钟重开命令。存储芯片M0通过请求队列控制电路RqCT将请求时钟重开命令发送到存储芯片M0的时钟分频电路Div1时,该时钟分频电路Div1使停止的请求时钟信号RqCk1再次动作。请求时钟信号RqCk1输入到存储芯片M1,通过存储芯片M1的时钟驱动器Drv2及时钟分频电路Div2,作为响应时钟信号RsCk1而输出,因此响应时钟信号RsCk1也再次动作。使时钟再次动作时,为了防止由噪声造成的错误动作,逐渐提高频率,最后以所需的频率动作即可。
说明从存储芯片M1输出的请求时钟信号RsCk2的频率控制。首先说明使从存储芯片M1输出的请求时钟信号RqCk2的时钟频率为四分之一的情况,但不限于此。信息处理装置CPU_CHIP从请求信号RqMux0输入存储芯片M1的ID值1和请求时钟分频命令4时,通过存储芯片M0,ID值1和请求时钟分频命令4发送到存储芯片M1。存储芯片M1通过请求队列控制电路RqCT将请求时钟分频命令4发送到本身的时钟分频电路Div1时,该时钟分频电路Div1产生具有请求时钟信号RqCk0的时钟频率的四分之一的频率的时钟,从请求时钟信号RqCk2输出。请求时钟信号RqCk2输入到存储芯片M2,通过存储芯片M2的时钟驱动器Drv2及时钟分频电路Div2,作为响应时钟信号RsCk2而输出。降低时钟的动作频率时,为了防止由噪声造成的错误动作,逐渐降低频率,最后以所需频率动作即可。
接着说明停止从存储芯片M1输出的请求时钟信号RsCk2的情况。信息处理装置CPU_CHIP从请求信号RqMux0输入存储芯片M1的ID值1和请求时钟停止命令时,通过存储芯片M0,ID值1和请求时钟停止命令发送到存储芯片M1。存储芯片M1通过本身的请求队列控制电路RqCT将请求时钟停止命令发送到本身的时钟分频电路Div1时,该时钟分频电路Div1停止请求时钟信号RqCk2。请求时钟信号RqCk2输入到存储芯片M2,通过存储芯片M2的时钟驱动器Drv2及时钟分频电路Div2,作为响应时钟信号RsCk2而输出,因此响应时钟信号RsCk2也停止。
停止时钟时,为了防止由噪声造成的错误动作,逐渐降低频率,最后停止即可。
接着说明使停止的请求时钟信号RsCk2再次动作的情况。信息处理装置CPU_CHIP从请求信号RqMux0输入存储芯片M1的ID值1和请求时钟重开命令时,通过存储芯片M0,ID值1和请求时钟重开命令发送到存储芯片M1。存储芯片M1通过本身的请求队列控制电路RqCT将请求时钟重开命令发送到本身的时钟分频电路Div1时,该时钟分频电路Div1使停止的请求时钟信号RqCk2再次动作。请求时钟信号RqCk2输入到存储芯片M2,通过存储芯片M2的时钟驱动器Drv2及时钟分频电路Div2,作为响应时钟信号RsCk1而输出,因此响应时钟信号RsCk2也再次动作。使时钟再次动作时,为了防止由噪声造成的错误动作,逐渐提高频率,最后以所需的频率动作即可。
(存储映射的说明)
图9表示对信息处理装置CPU_CHIP所管理的存储模块MEM的存储映射的一例。在本实施方式中,虽无特别限定,但以存储芯片M0的存储区域为1G比特,存储芯片M1的记录区域为1G比特,存储芯片M2的存储区域为4G比特+128M比特(128M比特是替代区域)的存储模块为例,说明代表性的存储映射。
虽无特别限定,但存储芯片M0是易失性存储器,是利用了动态随机存取存储单元的动态随机存取存储器,读出时间为15ns左右。虽无特别限定,但存储芯片M1是非易失性存储器,是利用了NOR型闪存的NOR型闪存,读出时间为80ns左右。虽无特别限定,但存储芯片M2是非易失性存储器,是利用了NAND型闪存的NAND型闪存,读出时间为25usec左右。虽无特别限定,但存储芯片M1分为:引导设备ID存储区域BotID-AREA、最末端设备ID存储区域EndID-AREA、初始程序区域InitPR-AREA、程序存储区域OSAP-AREA。
引导设备ID存储区域BotID-AREA中存储引导设备的ID信息。最末端设备ID存储区域EndID-AREA中存储与串联连接的存储模块MEM相关的最末端存储设备ID信息。初始程序区域InitPR-AREA中存储引导程序,但不限于此。程序存储区域OSAP-AREA中存储操作系统、应用程序等,但不限于此。虽无特别限定,存储芯片M0分为:复制区域COPY-AREA、工作区域WORKAREA。工作区域WORK-AREA作为程序执行时的工作存储器而使用,复制区域COYP-AREA作为复制来自存储芯片M1及M2的程序、数据的存储器而使用。虽无特别限定,但存储芯片M2分为:数据区域DATAAREA、替代区域REP-AREA。数据区域DATA-AREA中存储音乐数据、声音数据、动态图像数据、静态图像数据等数据,但不限于此。
并且,闪存很少存在以下情况:因反复改写,可靠性下降,使写入时写入的数据在读出时变为不同的数据,或改写时未写入数据的情况。替代区域REP-AREA用于将这种不良数据转换到新的区域而设置。替代区域REP-AREA的大小无特别限定,确定为具有能够确保存储芯片M2的可靠性即可。
(电源接通后的动作)
说明从电源接通之后的存储芯片M1到信息处理装置CPU_CHIP的数据传送。电源接通后,信息处理装置CPU_CHIP将本身具有的引导设备ID寄存器BotID设定为1。存储芯片M1从引导设备ID存储区域BotID-AREA读出引导设备的ID信息1,向本身的ID寄存器设定1。这样一来,引导设备确定为存储芯片M1。
接着,信息处理装置CPU_CHIP为了读出作为引导设备的存储芯片M1中存储的引导程序及最末端存储设备ID信息,将存储芯片M1的ID号码1和读出命令传送到存储模块MEM。存储模块MEM根据ID号码1和读出命令,从存储芯片M1的初始程序区域InitPR-AREA读出引导程序,从最末端设备ID存储区域EndID-AREA读出最末端存储设备ID信息,发送到信息处理装置CPU_CHIP。因此,在电源接通后,通过初始设定引导设备的ID,可确定由存储芯片的串联连接来实现的存储模块MEM内的引导设备,大幅减少信息处理装置CPU_CHIP和存储模块MEM之间的连接信号数量,并且信息处理装置CPU_CHIP可迅速、切实地从引导设备读出引导程序及最末端存储设备ID,启动信息处理装置CUP_CHIP及存储模块MEM。
(数据复制动作的说明)
存储芯片M0的数据读出时间和存储芯片M2的读出时间相比大幅缩短。因此,如预先将必要的图像数据从存储芯片M2传送到存储芯片M0,则在信息处理装置CPU_CHIP中可进行高速的图像处理。虽无特别限定,但说明存储芯片M0、M1、M2各自的ID寄存器值设定为2、1及3时的、从存储芯片M2到存储芯片M0的数据传送。
信息处理装置CPU_CHIP为了将数据从存储芯片M2的数据区域DATA-AREA读出,将存储芯片M2的ID号码3和1页(512字节的数据+16字节的ECC代码)数据读出命令发送到存储模块MEM。存储模块MEM根据ID号码3和1页数据读出命令,从存储芯片M2的数据区域DATA-AREA读出1页数据,附加ID号码3,传送到信息处理装置CPU_CHIP。
信息处理装置CPU_CHIP中,对从存储芯片M2发送的1页数据进行错误检测。如无错误,则将1页数据传送到存储芯片M0的复制区域COPY-AREA,因此信息处理装置CPU_CHIP将存储芯片M0的ID号码2和1页数据读出命令发送到存储模块MEM。如有错误,在进行校正后,将1页数据传送到存储芯片M0的复制区域COYP-AREA,因此信息处理装置CPU_CHIP将存储芯片M0的ID号码2和1页数据读出命令传送到存储模块MEM。存储模块MEM根据ID号码2和1页数据读出命令,向存储芯片M0的复制区域COPY-AREA数据区域写入1页数据。
接着说明:从信息处理装置CPU_CHIP向存储芯片M0高速写入图像数据,根据需要将该图像数据保存到存储芯片M2时的、从存储芯片M0到存储芯片M2的数据传送。信息处理装置CPU_CHIP为了从存储芯片M0的复制区域COPY-AREA读出数据,将存储芯片M0的ID号码2和1页(512字节)数据读出命令发送到存储模块MEM。存储模块MEM根据ID号码0和1页数据读出命令,从存储芯片M0的复制区域COPY-AREA读出1页数据,附加ID号码2,并发送到信息处理装置CPU_CHIP。信息处理装置CPU_CHIP为了将从存储芯片M0发送的1页数据传送到存储芯片M2的数据区域DATA-AREA,将存储芯片M2的ID号码2和1页数据写入命令发送到存储模块MEM。
存储模块MEM通过存储芯片M0及M1向存储芯片M2发送ID号码2和1页数据写入命令时,存储芯片M2向本身的数据区域DATA-AREA写入1页数据。存储芯片M2检查数据写入是否成功,如成功则结束写入处理。如写入失败时,存储芯片M2发送ID号码2和写入错误信息,通过存储芯片M1及存储芯片M0,向信息处理装置CPU_CHIP通知写入错误。信息处理装置CPU_CHIP接收到ID号码2和写入错误信息后,为了对存储芯片M2中预先准备好的替代区域REP-AREA的新地址进行写入,将存储芯片M2的ID号码2和1页数据写入命令发送到存储模块MEM。存储模块MEM通过存储芯片M0及M1将ID号码2和1页数据写入命令发送到存储芯片M2时,存储芯片M2向本身的替代区域REP-AREA写入1页数据。并且,信息处理装置CPU_CHIP进行替代处理时,保管并保存不良地址及对不良地址的哪个地址进行了替代处理的地址信息。
如上所述,在存储芯片内确保可复制存储芯片M2的一部分数据的区域,预先从存储芯片M2将数据传送到存储芯片M0,从而可以与存储芯片M0同样的速度读出存储芯片M2的数据,可实现信息处理装置CPU_CHIP的高速处理。并且,将数据写入到存储芯片M2时,可暂时将数据写入到存储芯片M0,根据需要再写回到存储芯片M2,因此数据的写入也可高速化。进一步,从存储芯片M2读出时,进行错误检测和校正,写入时对未正确进行写入的不良地址进行替代处理,因此可保持可靠性。
(存储芯片M0的说明)
图10是存储芯片M0的构成图的一例。
存储芯片M0由请求接口电路ReqIF、响应接口电路ResIF、初始化电路INIT、存储电路MemVL构成。请求接口电路ReqIF由请求时钟控制电路RqCkC及请求队列控制电路RqCT构成。请求时钟控制电路RqCkC由时钟驱动器Drv1及时钟分频电路Div1构成。
请求队列控制电路RqCT由请求队列电路RqQI、请求队列电路RqQXI、请求队列电路RqQXO、ID寄存器电路IDR、ID比较电路CPQ、延时值输出设定寄存器电路LRG、响应顺序设定寄存器电路RRG、请求号码设定电路RNB构成。
虽无特别限定,但请求队列电路RqQI由四个请求队列构成,请求队列电路RqQX由四个请求队列构成,请求队列电路RqQXO由四个请求队列构成。响应接口电路ResIF由响应时钟控制电路RsCkC及响应队列控制电路RsCT构成。响应时钟控制电路RsCkC由时钟驱动器Drv2及时钟分频电路Div2构成。
响应队列控制电路RsCT由响应队列电路RsQo、响应队列电路RsQp、状态寄存器电路STReg、响应排序电路(Response Schedule)SCH、延时计算电路LA、响应号码表TB构成。
虽无特别限定,但响应队列电路RsQo由四个响应队列构成,响应队列电路RsQp由四个响应队列构成。
虽无特别限定,但存储电路MemVL是易失性存储器,是利用了动态随机存取存储单元的动态随机存取存储器。初始化电路INIT在向存储芯片M0开始电源供给时进行存储芯片M0的初始化。请求时钟控制电路RqCkC将从时钟信号RqCk0输入的时钟通过内部时钟ck1传送到请求队列控制电路RqCT及响应时钟控制电路RqCkC。并且,请求时钟控制电路RqCkC将从请求时钟信号RqCk0输入的时钟经由时钟驱动器Drv1及时钟分频电路Div1,通过时钟信号RqCk1进行输出。并且,请求时钟控制电路RqCkC根据通过请求信号RqMux0输入的命令,可降低时钟信号ck2及请求时钟RqCk1的时钟频率,或停止时钟,或使时钟重新动作。
响应时钟控制电路RsCkC将从内部时钟信号ck1输入的时钟通过内部时钟信号ck3输出到响应队列控制电路RsCT。并且,响应时钟控制电路RsCkC将从内部时钟信号ck1输入的时钟通过时钟分频电路Div2从时钟信号RsCk0输出。并且,响应时钟控制电路RsCkC将从时钟信号RsCK1输入的时钟通过时钟驱动器Div2,从时钟信号ck4输出到响应队列控制电路RsCT。进一步,响应时钟控制电路RsCkC根据通过响应信号RqMux0输入的命令,可降低响应时钟RsCk0的时钟频率,或停止时钟,或使时钟重新动作。
响应顺序设定寄存器电路RRG在上述命令是响应顺序设定寄存器设定命令时,存储写入数据中含有的请求号码选择标记信息RSELFlag值、响应顺序标记RRGFlag信息、ID值。
延时值输出设定寄存器电路LRG在上述命令是延时值输出设定寄存器设定命令时,存储写入数据中含有的延时值输出标记信息LRGFlag值和ID值。
请求号码设定电路RNB在请求号码选择标记信息RSELFlag值是1时,生成和输入到请求队列电路RqQI的请求对应的请求号码ReqN,在请求号码选择标记信息RSELFlag值是1时,将通过请求信号RqMux0输入的请求号码ReqN作为请求号码ReqN。
请求队列电路RqQI通过请求信号RqMux0,存储将使ID值、请求号码ReqN、地址及写入数据等多重化并输入到存储芯片M0的请求,生成和请求号码Reqn相同号码的响应号码ResN,发送到响应队列控制电路RsCT。
ID寄存器电路IDR存储存储芯片M0的ID值。
ID比较电路CPQ比较请求队列电路RqQI中存储的ID值、及ID寄存器电路IDR中存储的ID值。
请求队列电路RqQXI及请求队列电路RqQXO存储从请求队列电路RqQI传送的请求。
响应队列电路RsQo存储从存储芯片M0的存储电路MemVL读出的数据、从ID寄存器电路IDR读出的ID值、响应号码ResN。
响应队列电路RsQp通过响应信号RsMux1,存储输入的ID值、响应号码ResN、读出数据及错误信息和状态信息。
延时计算电路LA在延时值输出设定寄存器LRG的延时值输出标记信息LRGFlag值是1时,计算读出数据的延时值,当延时值输出标记信息LRGFlag值是0时,不计算读出数据的延时值。
响应号码表TB根据响应顺序设定寄存器的设定,确定读出数据的发送顺序。
状态寄存器电路STRReg虽无特别限定,但存储表示响应存储到了响应队列电路RsQo及响应队列电路RsQp中的未处理响应信息等。
响应排序电路SCH用于进行以下调制:确定存储到响应队列电路RsQo的响应、存储到响应队列电路RsQp的响应的响应优先顺序,将优先顺序高的响应从响应信号RsMux0输出。响应优先顺序通过从响应队列电路RsQo输出的响应次数、从响应队列电路RsQp输出的响应次数,使响应排序电路SCH动态地变化。
接着说明本存储芯片M0的动作。
首先说明电源接通时的动作。
电源接通到存储芯片M0时,初始化电路INIT进行存储芯片M0的初始化。首先,ID寄存器电路IDR具有的ID寄存器的值初始设定为0、ID有效位设定为低电平。
延时输出寄存器LRG具有的延时值输出标记信息LRGFlag值及ID信息值初始设定为0。
响应顺序设定寄存器RRG具有的请求号码选择标记RESLFlag值、响应顺序标记RRGFlag值、ID信息值初始设定为0。
接着,使输入到响应排序电路SCH具有的响应队列电路RsQo的响应的优先顺序为1、来自输入到响应队列电路RsQp的存储芯片M1的响应的优先顺序为2、来自存储芯片M2的响应的优先顺序为3。初始化电路INIT的初始设定结束后,存储芯片M0进行通信确认动作,确认在信息处理装置CPU_CHIP和存储芯片M1之间可进行通信。存储芯片M0确认请求允许信号RqEn1变为高电平,使响应允许信号RsEn1及请求允许信号RqEn0为高电平。
接着,信息处理装置CPU_CHIP确认请求允许信号RqEn0变为高电平,获知确认了各存储芯片的信号连接,使响应允许信号ReEn0为高电平。通信确认动作结束后,从信息处理装置CPU_CHIP通过请求信号RqMux0,ID号码2和ID设定命令传送到存储芯片M0。在存储芯片M0中,因ID有效位为低电平,所以判断尚未进行ID号码附加,向ID寄存器设定ID号码2,将ID有效位设定为高电平,完成ID号码附加。接着,存储芯片M0通过响应信号RsMux0,输出存储芯片M0的ID值2及ID号码附加完成信息,向信息处理装置CPU_CHIP通知存储芯片M0的ID号码附加完成。
接着说明电源接通后的动作结束之后的动作。
首先说明对存储芯片M0的延时值输出寄存器LREG的数据设定动作。
信息处理装置CPU_CHIP通过请求信号RqMux0,将使ID值2、延时值输出寄存器设定命令LRGSet、对延时值输出寄存器LRG的设定值LRGData0多重化了的请求ReqLRGSet0,与时钟信号RqCK0同步,传送到存储芯片M0。
虽无特别限定,但对延时值输出寄存器LRG的设定值LRGData0中包括延时值输出信息LRGFlag值和ID值。
存储芯片M0的请求队列控制电路RqCT存储请求ReqLRGSet0。
接着,存储芯片M0的请求队列控制电路RqCT比较请求ReqLRGSet0中含有的ID值2和本身的ID寄存器的值2。因双方一致,所以对存储芯片M0的延时值输出寄存器LRG设定设定值LRGData0。图4表示设定到存储芯片M0的延时值输出寄存器LRG的值的一例。
说明对存储芯片M0的响应顺序设定寄存器RRG的数据设定动作。
信息处理装置CPU_CHIP通过请求信号RqMux0,将使ID值2、响应顺序设定寄存器设定命令RRGSet、对响应顺序设定寄存器RRG的设定值RRGData0多重化了的请求ReqRRGSet0,与时钟信号RqCK0同步,传送到存储芯片M0。设定值RRGData0中含有请求号码选择标记信息RSELFlag值、响应顺序标记RRGFlag信息、ID值。
存储芯片M0的请求队列控制电路RqCT存储请求ReqRRGSet0。
接着,存储芯片M0的请求队列控制电路RqCT比较请求ReqRRGSet0中含有的ID值2和本身的ID寄存器的值2。因双方一致,所以对存储芯片M0的响应顺序设定寄存器RRG设定设定值RRGData0。图6表示设定到存储芯片M0的延时值输出寄存器RRG的值的一例。
说明存储芯片M0的延时值输出寄存器LRG设定为图4所示的值、响应顺序设定寄存器RRG设定为图6所示的值时,从信息处理装置CPU_CHIP向存储芯片M0产生请求时的动作。
存储芯片M0的请求队列电路RqQI虽无特别限定,但由两个请求队列RqQI-0及RqQI-1构成。并且,存储芯片M0因请求未进入到请求队列RqQI-0及RqQI-1,因此使请求允许信号RqEn0为高电平,将可接收请求的情况通知给信息处理装置CPU_CHIP。存储芯片M0的请求队列电路RqQo无特别限定,但由两个请求队列RqQo-0及RqQo-1构成。
存储芯片M0的响应队列电路RqQp虽无特别限定,但由两个响应队列RqQp-0及RqQp-1构成。
信息处理装置CPU_CHIP使响应允许信号RsEn0为高电平,将可接收响应的情况通知给存储芯片M0。信息处理装置CPU_CHIP通过请求信号RqMux0,将使ID值2、请求号码ReqN值1、库激活命令BA、库地址BK1、行地址Row多重化了的请求ReqBAb0m0与时钟信号RqCk0同步,传送到存储芯片M0(图11:步骤1)。
接着,通过请求信号RqMux0,将使ID值2、请求号码ReqN值2、32字节数据读出命令RD32、库地址BK0、列地址Col255多重化了的请求ReqRD32b0m0与时钟信号RqCk0同步,传送到存储芯片M0(图11:步骤1)。
如请求允许信号RqEn0为低电平(图11:步骤2),则来自信息处理装置CPU_CHIP的请求不存储到存储芯片M0的请求队列电路RqQI。如请求允许信号RqEn0为高电平(图11:步骤2),则到存储芯片M0的请求ReqBAb0m0和请求ReqRD32b0m0依次存储到存储芯片M0的、请求队列电路RqQI的请求队列RqQI-0及RqQI-1(图11:步骤3)。
因此,请求队列电路RqQI的全部请求队列被进入,不可能接收来自信息处理装置CPU_CHIP的新的请求,因此使请求允许信号RqEn0为低电平。通过请求允许信号RqEn0变为低电平,信息处理装置CPU_CHIP可获知存储芯片M0无法接收请求。
之后,ID比较电路CPQ比较进入到请求队列RqQI-0的请求ReqBAb0m0中含有的ID值2、及由ID寄存器电路IDR保存的ID值2(图11:步骤4)。因比较结果一致,所以请求ReqBAb0m0传送到请求队列电路RqQXI(图11:步骤5)。当比较结果不一致时,含有ID值和请求号码ReqN值的请求传送到请求队列电路RqQXO,并传送到存储芯片M1(图11:步骤12)。
接着,请求队列电路RqQXI检查所存储的请求是否含有读出命令(图11:步骤6)。含有读出命令时,请求队列电路RqQXI检查响应队列电路RsQo的响应队列RqQp-0及RqQp-1中是否有空间(图11:步骤7)。请求ReqBAb0m0不含有读出命令,所以请求队列电路RqQXI将存储的请求ReqBAb0m0传送到存储电路MemVL(图11:步骤10)。存储电路MemVL根据请求ReqBAb0m0进行动作(图11:步骤11)。具体而言,存储电路MemVL通过请求ReqBAb0m0中含有的库激活命令BA、库地址BK0、行地址Row63,激活与库0内的行63连接的1k字节的存储单元,传送到库0内的读出放大器(图11:步骤11)。
请求ReqBAb0m0被处理,从而使请求队列RqQI-0空出一个,因此存储芯片M0使请求允许信号RqEn0为高电平,通知信息处理装置CPU_CHIP可接收新的请求。信息处理装置CPU_CHIP确认存储芯片M0的请求允许信号RqEn0变为高电平,作为新的请求,通过请求信号RqMux0,将使ID值2、请求号码ReqN值3、32字节写入命令WT、库地址BK0、列地址Col127、32字节写入数据多重化了的请求ReqWT23b0m0与时钟信号RqCk0同步,传送到存储芯片M0(图11:步骤1)。
检查请求允许信号RqEn0(图11:步骤2),因请求允许信号RqEn0为高电平,因此存储芯片M0将来自信息处理装置CPU_CHIP的请求ReqWT23b0m0存储到本身的请求队列控制电路RqCT内的请求队列RqQI-0(图11:步骤3)。
存储芯片M0可与将新的请求ReqWT23b0m0存储到本身的请求队列电路RqQI内的请求队列RqAI-0(图11:步骤3)独立且并行地进行对已经存储到请求队列RqQI-1的请求ReqRD32b0m0的处理(图11:步骤4之后)。
接着说明已经存储到请求队列RqQI-1的请求ReqRD32b0m0的动作。
ID比较电路CPQ比较进入到请求队列RqQI-1的请求ReqRD32b0m0中含有的ID值2及由ID寄存器电路IDR保存的ID值2(图11:步骤4)。因比较结果一致,所以请求ReqRD32b0m0传送到请求队列电路RqQXI(图11:步骤5)。当比较结果不一致时,请求ReqRD32b0m0传送到请求队列电路RqQXO,并传送到存储芯片M1(图11:步骤12)。接着,请求队列电路RqQXI检查存储的请求是否含有读出命令(图11:步骤6)。
由于含有请求ReqRD32b0m0读出命令,因此请求队列电路RqQXI检查响应队列电路RsQo的响应队列RqQp-0及RqQp-1中是否有空间(图11:步骤7)。响应队列电路RsQo的响应队列RqQp-0及RqQp-1中如无空间,则直到有空间为止,请求队列电路RqQXI中断请求ReqRD32b0m0的传送。响应队列电路RsQo的响应队列RqQp-0及RqQp-1中如有空间,则请求队列电路RqQXI将存储的请求ReqRD32b0m0传送到存储电路MemVL(图11:步骤8)。存储电路MemVL根据请求ReqRD32b0m0进行动作(图11:步骤9)。具体而言,存储电路MemVL通过请求ReqRD32b0m0中含有的ID值2、请求号码ReqN值2、32字节数字读出命令RD、库地址BK0、列地址Col255,在库0的读出放大器保存的数据中,读出以列地址255为开始地址的32字节数据(图11:步骤9),包括ID寄存器值2、与请求号码ReqN值2相等的响应号码ResN值2在内,作为响应ResRD32b0m0而进入到响应队列控制电路RsCT内的响应队列RsQo的响应队列RsQo-0(图12:步骤13)。
响应进入到响应队列电路RsQo及响应队列电路RsQp时,进行对该响应的延时(图12:步骤4)。接着,检查响应允许信号RsEn0(图12:步骤15),当响应允许信号RsEn0为高电平时,将响应号码ResN和延时值发送到信息处理装置CPU_CHIP(图12:步骤16)。
响应排序电路SCH将进入到响应队列电路RsQo及响应队列电路RsQp的响应数保存到状态寄存器STReg(图12:步骤17)。进一步,确定对进入到响应队列电路RsQo及响应队列电路RsQp的响应的响应优先顺序(图12:步骤18)。接着,检测响应允许信号RsEn0(图12:步骤19),当响应允许信号RsEn0为高电平时,使响应优先顺序最高的响应通过响应信号RsMux0发送到信息处理装置CPU_CHIP(图12:步骤20)。如响应允许信号RsEn0为低电平时,不向信息处理装置CPU_CHIP进行发送。
当响应队列电路RsQo及响应队列电路RsQp的一个响应完全发送到信息处理装置CPU_CHIP时,响应排序电路SCH检查进入到响应队列电路RsQo及响应队列电路RsQp的响应数,将最新的响应数保存到状态寄存器STReg(图12:步骤21)。
其中,响应允许信号RsEn0为高电平,进入到响应队列电路RsQo及响应队列电路RsQp的响应仅是响应ResRD32b0m0,因此计算对响应ResRD32b0m0的延时值Lat32b0m0,将响应ResRD32b0m0中含有的响应号码ResN值2和延时值Lat32b0m0发送到信息处理装置CPU_CHIP。
信息处理装置CPU_CHIP接收和请求ReqRD32b0m0的请求号码ReqN值2对应的响应号码值2和延时值Lat32b0m0,从而可确认响应ResRD32b0m0输入到信息处理装置CPU_CHIP为止的延时值。
接着,响应排序电路SCH将响应数1保存到状态寄存器STReg,进一步将响应ResRD32b0m0的响应优先顺序设定为最高位,将响应ResRD32b0m0发送到信息处理装置CPU_CHIP。
响应ResRD32b0m0中含有ID寄存器值2、与请求号码ReqN值2相等的响应号码值2、32字节的数据。
信息处理装置CPU_CHIP接收和请求ReqRD32b0m0的请求号码ReqN值2对应的响应号码值2,从而可确认响应ResRD32b0m0是请求ReqRD32b0m0的响应。
响应ResRD32b0m0发送到信息处理装置CPU_CHIP后,响应排序电路SCH因为不存在输入到响应队列电路RsQo及响应队列电路RsQp的响应,因此将响应数0保存到状态寄存器STRge。
和请求ReqRD32b0m0对应的响应ResRD32b0m0输入到响应队列电路RsQo时,即使响应ResRD32b0m0正在输出到信息处理装置CPU_CHIP,也可进行对请求ReqWT23b0m0的处理(图11:步骤4之后)。
接着说明对已经存储到请求队列RqQI-0的请求ReqWT23b0m0的动作。ID比较电路CPQ比较输入到请求队列RqQI-0的请求ReqWT23b0m0中含有的ID值2、及由ID寄存器电路IDR保存的ID值2(图11:步骤4)。因比较结果一致,所以请求ReqWT23b0m0传送到请求队列电路RqQXI(图11:步骤5)。当比较结果不一致时,请求ReqWT23b0m0传送到请求队列电路RqQXO,并传送到存储芯片M1(图11:步骤12)。
接着,请求队列电路RqQXI检查存储的响应是否含有读出命令(图11:步骤6)。含有读出命令时,请求队列电路RqQXI检查响应队列电路RsQo的响应队列RqQp-0及RqQp-1中是否有空间(图11:步骤7)。请求ReqWT23b0m0不含有读出命令,所以请求队列电路RqQXI将存储的请求ReqWT23b0m0传送到存储电路MemVL(图11:步骤10)。存储电路MemVL根据请求ReqWT23b0m0进行动作(图11:步骤11)。具体而言,存储电路MemVL通过请求ReqWT23b0m0中含有的ID值2、32字节写入命令WT、库地址BK0、列地址Col127及32字节的写入数据,向存储库0的读出放大器写入以列地址127为开始地址的32字节的数据。
图13是表示从存储芯片M1向存储芯片M0发生响应时的动作的一例的流程图。
从响应信号RsMuxl,与响应时钟信号RqCK1同步地,含有响应号码ResN值15和延时值Latm1的响应ResLatm1发送到存储芯片M0时(图13:步骤1),如响应允许信号ResEn1为低电平(图13:步骤2),则不存储到存储芯片M0的响应队列电路RsQp。如响应允许信号ResEn1为高电平(图13:步骤2),则存储到存储芯片M0的响应队列电路RsQp(图13:步骤3)。
当响应ResLatm1输入到响应队列电路RsQp时,对该响应的延时根据延时值Latm1计算,求出延时值Latm1m0(图13:步骤4)。接着,检查响应允许信号RsEn0(图13:步骤5),当响应允许信号ResEn0为高电平时,含有响应号码ResN值15和延时值Latm1m0的响应ResLatm1m0发送到信息处理装置CPU_CHIP(图13:步骤6)。
信息处理装置CPU_CHIP通过接收响应号码ResN值15和延时值Latm1m0,可确认对具有请求号码ReqN值15的请求的、具有响应号码ResN值15的响应输入到信息处理装置CPU_CHIP为止的延时值。
向存储芯片M0发送含有响应号码ResN值20和读出数据RDdata的响应ResRDm1m0时(图13:步骤7),如响应允许信号ResEn1为低电平(图13:步骤8),则不存储到存储芯片M0的响应队列电路RsQp。如响应允许信号ResEn1为高电平(图13:步骤8),则存储到存储芯片M0的响应队列电路RsQp(图13:步骤9)。
当响应ResRDm1m0进入到响应队列电路RsQp时,响应排序电路SCH将进入到响应队列电路RsQo及响应队列电路RsQp的响应数保存到状态寄存器STReg(图13:步骤10)。进一步,确定对进入到响应队列电路RsQo及响应队列电路RsQp的响应的响应优先顺序(图13:步骤11)。接着,检查响应允许信号RsEn0(图13:步骤12),当响应允许信号RsEn0为高电平时,将响应优先顺序最高的响应从响应信号RsMux0发送到信息处理装置CPU_CHIP(图13:步骤13)。如响应允许信号RsEn0为低电平,则不进行对信息处理装置CPU_CHIP的发送。
信息处理装置CPU_CHIP通过接收具有响应号码ResN值15的响应ResRDm1m0,可确认该响应是对具有响应号码ReqN值15的请求的响应。
当响应队列电路RsQo及响应队列电路RsQp的一个响应完全发送到信息处理装置CPU_CHIP时,响应排序电路SCH检查进入到响应队列电路RsQo及响应队列电路RsQp的响应数,将最新的响应数保存到状态寄存器STReg(图13:步骤14)。
说明响应排序电路SCH的动作。
图14是表示响应排序电路SCH的动作的流程图。在响应排序电路SCH中,首先检查响应是否进入到响应队列电路RsQo及响应队列电路RsQp(步骤1)。在响应队列电路RsQo及响应队列电路RsQp中无任何响应进入,则再次检查到响应队列电路RsQo及响应队列电路RsQp的输入。如在响应队列电路RsQo及响应队列电路RsQp的任意一个中有响应进入,则检查响应的优先顺序,进行具有最高位响应优先顺序的响应的发送准备(步骤2)。
接着,检查响应允许信号RsEn0(步骤3),在是低电平时不输出响应,响应允许信号ReEn0具有高电平响应允许信号RsEn0具有高电平。响应允许信号ReEn0为高电平时,输出具有最高位的响应优先顺序的响应(步骤4)。输出响应后,改变响应所相关的输出优先顺序(步骤5)。
说明通过存储芯片M0的响应排序电路SCH进行的响应优先顺序的变更动作的一例。图15表示装备了存储芯片M0的响应排序电路SCH进行的动态响应优先顺序的控制。
首先说明存储芯片M0中的、响应优先顺序的控制。在电源接通后的初始设定(Initial)中,进入到响应队列电路RsQo的存储芯片M0的响应的优先顺序(PRsQo(M0))设定为1,进入到响应队列电路RsQp的存储芯片M1的响应的优先顺序(PRsQp(M1))设定为2,进入到响应队列电路RsQp的存储芯片M2的响应的优先顺序(PRsQp(M2))设定为3。虽无特别限定,但响应顺序小的响应顺序高。进入到响应队列电路RsQo的存储芯片M0的响应(RsQo(M0))输出Ntime次时,进入到响应队列电路RsQo的存储芯片M0的响应的优先顺序(PRsQo(M0))是最低的3,存储芯片M1的响应的优先顺序(PRsQp(M1))是最高的1,进入到响应电路RsQP的存储芯片M2的响应的优先顺序(PRsQp(M2))是2。
进入到响应队列电路RsQp的存储芯片M1的响应(PRsQp(M1))输出Mtime次时,进入到响应队列电路RsQp的存储芯片M1的响应的优先顺序(PRsQp(M1))是最低的3,进入到响应电路RsQP的存储芯片M2的响应的优先顺序(PRsQp(M1))是最高的1,进入到响应队列电路RsQPo的存储芯片M0的响应的优先顺序(PrsQo(M0))是2。
其次,进入到响应队列电路RsQp的存储芯片M2的响应(PRsQp(M2))输入Ltime次时,进入到响应队列电路RsQP的存储芯片M2的响应的优先顺序(PRsQp(M2))是最低的3,进入到响应电路RsQPo的存储芯片M0的响应的优先顺序(PrsQo(M0))是最高的1。进入到响应队列电路RsQP的存储芯片M2的响应的优先顺序(PRsQo(M1))是2。用于变更来自进入到响应队列电路RsQo的存储芯片M0的响应的响应优先顺序的响应输出次数Ntime、用于变更来自进入到响应队列电路RsQp的存储芯片M1的响应的响应优先顺序的响应输出次数Mtime、用于变更来自进入到响应队列电路RsQp的存储芯片M2的响应的响应优先顺序的响应输出次数Ltime,在电源接通后的初始设定(Initial)中,虽无特别限定,但设定为10次、2次、1次。
进一步,响应输出次数Ntime、Mtime、Ltime可由信息处理装置CPU_CHIP设定,对应于利用本发明的移动设备等系统构成,为了实现高性能化,可对它们分别设定。
(时钟控制)
图16(a)是停止从存储芯片M0输出的响应时钟信号RsCk0的动作的一例。信息处理装置CPU_CHIP为了确认进入到响应队列电路RsQo及响应队列电路RsQp的响应数ResN,从请求信号RqMux0输入使存储芯片M0的ID值2和响应数确认命令多重化了的请求ReqRNo(步骤2)。存储芯片M0的请求队列电路RqQI存储请求ReqRNo。接着,ID比较电路CPQ比较存储到请求队列电路RqQI的请求ReqRNo中含有的ID值2、及由ID寄存器电路IDR保存的ID值2,因其一致,所以请求ReqBAb0m0传送到请求队列电路RqQXI。
请求队列电路RqQXI使请求ReqBAb0m0输入到状态寄存器电路STReg。状态寄存器电路STReg包括ID值2在内,将响应数ResN发送到响应队列电路RsQo,响应队列电路RsQo通过响应信号RsMux0,将ID值2及响应数ResN发送到信息处理装置CPU_CHIP(步骤3)。接着,接收到ID值2及响应数ResN的信息处理装置CPU_CHIP检查响应数ResN是否是0(步骤4)。响应数ResN不是0时,还存在进入到响应队列电路RsQo及响应队列电路RsQp的响应,因此再次将响应数确认命令发送到存储芯片M0(步骤2)。
响应数ResN是0时,不存在保持到响应队列电路RsQo及响应队列电路RsQp的响应,因此从请求信号RqMux0将响应时钟信号RsCk0的停止命令发送到存储芯片M0(步骤5)。从请求信号RqMux0,作为请求,将ID值2、响应时钟停止命令多重化了的请求ReqStop2输入到存储芯片M0。存储芯片M0将请求ReqStop2存储到本身的请求队列控制电路RqCT内的请求队列。之后,请求队列控制电路RqCT内的ID比较电路比较请求ReqStop2中含有的ID值2和本身的ID寄存器的值2。比较结果一致,请求队列控制电路RqCT将请求ReqStop2发送到响应时钟控制电路RsCkC内的时钟分频电路Div2(步骤5)。
时钟分频电路Div2根据请求ReqStop2,逐渐降低响应时钟信号RsCK0的时钟频率,在响应时钟信号RsCK0的停止准备做好的时候,通过响应排序电路SCH,从响应信号RsMux0将ID值2及响应时钟停止通知信息发送到信息处理装置CPU_CHIP(步骤6)。之后,时钟分频电路Div2停止时钟信号ck3及响应时钟信号RsCK0(步骤7)。
图16(b)是降低从存储芯片M0输出的响应时钟信号RsCk0的时钟频率的动作的一例。图16(b)的步骤1到步骤4为止的动作和图16(a)相同,因此从步骤5说明。从请求信号RqMux0,作为请求,将ID值2、响应时钟分频命令、及分频比8多重化了的请求ReqDIV8发送到存储芯片M0(步骤5)。存储芯片M0在本身的请求队列控制电路RqCT内的ID比较电路中,比较请求ReqDIV8中含有的ID值2和本身的ID寄存器的值2。比较结果一致,因此请求ReqDIV8发送到请求时钟控制电路RqCkC内的时钟分频电路Div2(步骤5)。
时钟分频电路Div2根据请求ReqDIV8,逐渐降低响应时钟信号RsCK0的时钟频率,最终将使请求时钟信号RqC2进行八分之一分频的时钟从时钟CK3及响应时钟信号RsCk2输出(步骤6)。响应时钟信号RsCK0的时钟频率变更为所需的频率后,时钟分频电路Div2通过响应排序电路SCH,从响应信号RsMux0将ID值2及响应时钟分频完成信息发送到信息处理装置CPU_CHIP(步骤7)。
图16(c)是使频率、停止的响应时钟信号RsCk0再次以和请求时钟信号RqCk0相同的频率动作时的动作的一例。是用于降低从存储芯片M0输出的响应时钟信号RsCk0的时钟频率的动作的一例。从请求信号RqMux0,作为请求,将ID值2、响应时钟重开命令多重化了的请求ReqStart2输入存储芯片M0。
存储芯片M0将请求ReqStart2存储到本身的请求队列控制电路RqCT内的请求队列(步骤2)。之后,请求队列控制电路RqCT内的ID比较电路比较请求ReqStart2中含有的ID值2和本身的ID寄存器的值2。比较结果一致,因此将请求ReqDIV4判断为对本身的请求。请求队列控制电路RqCT将请求ReqStart2传送到响应时钟控制电路RsCkC内的时钟分频电路Div2(步骤2)。时钟分频电路Div3根据请求ReqStart2,逐渐提高时钟频率,最终将具有和请求时钟信号RqCk0同样的频率的时钟从时钟ck3及响应时钟信号RsCK0输出(步骤3)。
响应时钟信号RsCK0的时钟频率变更为所需的频率后,时钟分频电路Div2通过响应排序电路SCH,从响应信号RsMux0将ID值2及响应时钟重开完成信息发送到信息处理装置CPU_CHIP(步骤4)。以上说明了响应时钟信号RsCk0的时钟控制方法,当然对请求时钟信号RqCk1的时钟控制也可同样进行。
(存储电路MemVL)
图17是存储芯片M0具有的存储电路MemVL的电路框图的一例。
存储电路MemVL由命令解码器CmdDec、控制电路ContLogic、刷新计数器RefC、温度计Thmo、写入数据缓冲器WdataLat、读出数据缓冲器RdataLat、数据控制电路DataCont、及存储库BANK0~BANK7构成。
并且,各存储库BANK0~BANK7由行地址缓冲器RadLat、列地址缓冲器CadLat、行解码器RowDec、列解码器CodDec、读出放大器SenseAmp、存储电路MBank0~MBank7构成。
说明存储电路MemVL的读出动作。
向请求队列RqQXI存储库地址7、行地址5,库激活命令BA从命令信号Command发送,库地址7及行地址5从地址信号Address传送到存储电路MemVL。命令解码器CmdDec解读库激活命令BA,通过控制电路ContLogic选择存储库BANK7,向存储库BANK7的行地址缓冲器RadLat存储行地址5,输入到列解码器RowDec。之后,与存储电路MBank7内的行地址5连接的存储单元激活,1k字节的数据传送到读出放大器SenseAmp。
接着,向请求队列RqQXI存储8字节数据读出命令RD8、库地址7、列地址64,8字节数据读出命令RD8从命令信号Command发送,库地址7及列地址63从地址信号Address发送到存储电路MemVL。
命令解码器CmdDec解读8字节数据读出命令RD8,通过控制电路ContLogic选择存储库BANK7,向存储库BANK7的列地址缓冲器CAddLat存储列地址63,输入到列解码器ColDec。
之后,以列地址64作为开始地址,8字节的数据从读出放大器SenseAmp读出,通过数据控制电路DataCont传送并存储到读出数据缓冲器RDataLat。之后,读出的8字节的数据传送到响应队列电路RsQo。
接着说明存储电路MemVL的写入动作。向请求队列RqQXI存储8字节数据读出命令WT8、库地址7、列地址128,8字节的数据读出命令RD8从命令信号Command发送,库地址7及列地址127从地址信号Address发送,8字节的数据从写入数据信号WData发送到存储电路MemVL。
命令解码器CmdDec解读8字节数据写入命令8,通过控制电路ContLogic向存储库BANK7的列地址缓冲器CAddLat存储列地址128,输入到列解码器ColDec,8字节的写入数据存储到写入数据缓冲器WDataLat。
之后,以列地址128作为开始地址,8字节的数据从写入放大器WDataLat通过数据控制电路DataCont传送到存储库Bank7内的读出放大器SenseAmp,并写入到存储电路Mbank7。
各存储库BANK0~BANK7独立动作,因此在不同的库之间,可同时进行读出动作和写入动作,可实现高速化。
接着说明刷新动作。存储电路MemVL是易失性存储器,因此为了保存数据,需要定期进行刷新动作。存储到请求队列RqQXI的刷新命令REF从命令信号Command输入。命令解码器CmdDec解读刷新命令REF,命令控制电路ContLogic指示刷新计数器RefC进行刷新动作。刷新计数器RefC根据控制电路ContLogic的指示,进行刷新动作。
接着说明自动刷新动作。当对存储电路MemVL的请求长时间不发生时,切换动作模式到自动刷新状态,存储电路MemVL可自己进行刷新动作。
存储到请求队列RqQXI中的自动刷新/进入命令SREF从命令信号Command输入。命令解码器CmdDec解读自动刷新/进入命令SREF,控制电路ContLogic进行动作模式切换,使全部电路为自动刷新状态。进一步,指示命令刷新计数器RefC自动、定期地进行自动刷新动作。刷新计数器RefC根据控制电路ContLogic的命令,自动、定期地进行自动刷新动作。
在此时的自动刷新动作中,可通过温度改变自动刷新的频率。
一般情况下,在易失性存储器中,温度高时数据保存时间变短,温度低时变长。因此,通过温度计检测温度,当温度高时缩短自动刷新的周期,当温度低时延长自动刷新的周期,进行自动刷新动作。这样一来,可减少无用的自动刷新动作,降低耗电。
从自动刷新状态脱离时,可通过从命令信号Command输入自动刷新/解除命令SREFX来实现。脱离自动刷新状态后的、数据保存动作通过刷新命令REF进行。
(存储芯片M1的说明)
图18是存储芯片M1的构成图的一例。
存储芯片M1由请求接口电路ReqIF、响应接口电路ResIF、初始化电路INIT、存储电路MemNV1构成。请求接口电路ReqIF由请求时钟控制电路RqCkC及请求队列控制电路RqCT构成。请求队列控制电路RqCkC由时钟驱动器Drv1及时钟分频电路Div1构成。
请求队列控制电路RqCT由请求队列电路RqQI、请求队列电路RqQXI、请求队列电路RqQXO、ID寄存器电路IDR、ID比较电路CPQ、延时值输出设定寄存器电路LRG、响应顺序设定寄存器电路RRG、请求号码设定电路RNB构成。
虽无特别限定,但请求队列电路RqQI由4个请求队列构成,请求队列电路RqQXI由4个请求队列构成,请求队列电路RqQXO由4个请求队列构成。响应接口电路ResIF由响应时钟控制电路RsCkC及响应队列控制电路RsCT构成。响应时钟控制电路RsCkC由时钟驱动器Drv2及时钟分频电路Div2构成。
响应队列控制电路RsCT由响应队列电路RsQo、响应队列电路RsQp、状态寄存器电路STReg、响应排序电路SCH、延时计算电路LA、响应号码表TB构成。
虽无特别限定,但响应电路RsQo由4个响应队列构成,响应队列电路RsQp由4个响应队列构成。
响应时钟控制电路RsCkC由时钟驱动器Drv2及时钟分频电路Div2构成。响应队列控制电路RsCT由响应队列电路RsQo、响应队列电路RsQp、状态寄存器电路STReg、响应排序电路SCH构成。
存储电路MemNV1虽无特别限定,但其是非易失性存储器,是利用了NOR型闪存单元的NOR型闪存。存储电路MemNV1中存储引导设备ID值BotID及末端设备ID值EndI。存储电路MemNV1及初始化电路INITI以外的、构成存储芯片M1的电路及数据读出、数据写入等动作和图10的存储芯片M0相同。
说明本存储芯片M1电源接通时的动作。电源接通到存储芯片M1时,初始化电路INIT1进行存储芯片M1的初始化。存储芯片M1因引导设备识别信号Bsig接地gnd,因此认识到本身是引导设备,将自己的存储电路MemNV1保存的引导设备ID值1设定到ID寄存器IDR,使ID有效位为高电平。
接着,将响应排序电路SCH具有的响应队列电路RsQo中输入的响应的优先顺序设定为1,来自输入到响应队列RsQo的存储芯片M2的响应的优选顺序设定为2。时钟分频电路Div1及Div2的分频比设定为1。初始化电路INIT1的初始设定结束后,存储芯片M1进行确认存储芯片M1和存储芯片M2之间可通信的通信确认动作。存储芯片M1确认请求允许信号RqEn2变为高电平,使响应允许信号RsEn2及请求允许信号RqEn1为高电平。
接着,存储芯片M0确认请求允许信号RqEn1变为高电平,使响应允许信号RsEn1为高电平。通信确认动作结束后,从存储电路MemNV1读出引导数据,通过存储芯片M0,发送到信息处理装置CPU_CHIP。接着说明存储芯片M1中的响应优先顺序的控制。
图19表示存储芯片M1具有的响应排序电路SCH进行的动态响应优先顺序的控制。
如图1所示,在对存储芯片M1不产生存储芯片M0的响应的连接构成下,仅对存储芯片M1的响应及存储芯片M2的响应附加响应优先顺序。在电源接通后的初始设定(Initial)中,来自进入到响应队列电路RsQo的存储电路MemVL1的响应的优先顺序(PRsQo(M1))设定为1,来自进入到响应队列电路RsQp的存储芯片M2的响应的优先顺序(PRsQp(M2))设定为2。虽无特别限定,但响应顺序小的响应顺序越高。
接着,进入到响应队列电路RsQo的存储电路MemNV1的响应(RsQo(M1))输出M1time次时,进入到响应队列电路RsQo的响应的优先顺序(PRsQo(M1))为最低的2,存储芯片M2的响应的优先顺序(PRsQp(M2))为最高的1。
接着,来自进入到响应队列电路RsQp的存储芯片M2的响应PRsQp(M2)输出L1time次时,来自进入到响应队列电路RsQp的存储芯片M2的响应的优先顺序(PRsQp(M2))为最低的2,进入到响应队列电路RsQo的响应的优先顺序(PrsQp(M1))变为最高的1。用于变更来自进入到响应队列电路RsQo的存储电路MemNV1的响应的响应优先顺序的响应输出次数M1time、用于变更来自进入到响应队列电路RsQp的存储芯片M2的响应的响应优先顺序的响应输出次数L1time在电源接通后的初始设定(Initial)中,虽无特别限定,但设定为10次、1次。进一步,响应输出次数M1time、L1time可由信息处理装置CPU_CHIP设定,对应于利用本发明的移动设备等系统构成,为了实现高性能化,可对它们分别设定。
并且,存储芯片M1具有的响应排序电路SCH进行的动态响应优先顺序的控制和图14所示的动作相同。并且,请求时钟信号RqCk2及响应时钟信号RsCk1的时钟控制方法和图16所示的时钟控制方法相同。
(存储电路MemNV1)
图20是存储芯片M0具有的存储电路MemNV1的电路框图的一例。
存储电路MemNV1由命令解码器CmdDec、控制电路ContLogic、写入数据缓冲器WDataLat、读出数据缓冲器RDataLat、数据控制电路DataCont、及存储库NV1BANK0~NV1BANK7构成。
并且,各存储库NV1BANK0~NV1BANK7由页地址缓冲器PadLat、列地址缓冲器CadLat、页解码器PageDec、列解码器ColDec、数据缓冲器DataLat、存储单元电路NV1BK0~NV1BK7构成。
说明存储电路MemNV1的读出动作。
向请求队列RqQXI存储库地址7、行地址5,库激活命令BA从命令信号Command发送,库地址7及页地址5从地址信号Address发送到存储电路MemNV1。命令解码器CmdDec解读库激活命令BA,通过控制电路ContLogic选择存储库NV1BANK7,向存储库NV1BANK7的页地址缓冲器PadLat存储页地址5,输入到页解码器PageDec。之后,与存储单元电路NV1Bank7内的页地址5连接的存储被激活,虽无特别限定,但1k字节的数据传送到数据缓冲器DataLat。
接着,向请求队列RqQXI存储8字节数据读出命令RD8、库地址7、列地址64,8字节数据读出命令RD8从命令信号Command发送,库地址7及列地址63从地址信号Address发送到存储电路MemNV1。
命令解码器CmdDec解读8字节数据读出命令RD8,通过控制电路ContLogic选择存储库NV1BANK7,向存储库NV1BANK7的列地址缓冲器CAddLat存储列地址63,输入到列解码器ColDec。
之后,以列地址64作为开始地址,8字节的数据从数据缓冲器DataLat读出,通过数据控制电路DataCont传送并存储到读出数据缓冲器RDataLat。之后,读出的8字节的数据传送到响应队列电路RsQo。
接着说明存储电路MemNV1的写入动作。向请求队列RqQXI存储8字节数据写入命令WT8、库地址7、列地址128,8字节的数据写入命令RD8从命令信号Command发送,库地址7及列地址127从地址信号Address发送,8字节数据从写入数据信号WData发送到存储电路MemNV1。
命令解码器CmdDec解读8字节数据写入命令WT8,通过控制电路ContLogic选择存储库NV1BANK7,向存储库NV1BANK7的列地址缓冲器CAddLat存储列地址128,输入到行解码器ColDec。
并且,通过控制电路ContLogic,8字节的写入数据存储到写入数据缓冲器WDataLat。
之后,以列地址128作为开始地址,8字节的数据从写入缓冲器WDataLat通过数据控制电路DataCont传送到存储库NV1Bank7内的数据缓冲器DataLat,并写入到存储电路NV1BK7。
各存储库NV1BANK0~NV1BANK7独立动作,因此在不同的库之间,可同时进行读出动作和写入动作,可实现高速化。
(存储芯片M2的说明)
图21是存储芯片M2的构成图的一例。
存储芯片M2由请求接口电路ReqIF、响应接口电路ResIF、初始化电路INIT、存储电路MemNV1构成。请求接口电路ReqIF由请求时钟控制电路RqCkC及请求队列控制电路RqCT构成。请求队列控制电路RqCkC由时钟驱动器Drv1及时钟分频电路Div1构成。
请求队列控制电路RqCT由请求队列电路RqQI、请求队列电路RqQXI、请求队列电路RqQXO、ID寄存器电路IDR、ID比较电路CPQ、延时值输出设定寄存器电路LRG、响应顺序设定寄存器电路RRG、请求号码设定电路RNB构成。
虽无特别限定,但请求队列电路RqQI由4个请求队列构成,请求队列电路RqQXI由4个请求队列构成,请求队列电路RqQXO由4个请求队列构成。响应接口电路ResIF由响应时钟控制电路RsCkC及响应队列控制电路RsCT构成。响应时钟控制电路RsCkC由时钟驱动器Drv2及时钟分频电路Div2构成。
响应队列控制电路RsCT由响应队列电路RsQo、响应队列电路RsQp、状态寄存器电路STReg、响应排序电路SCH、延时计算电路LA、响应号码表TB构成。
虽无特别限定,但响应电路RsQo由4个响应队列构成,响应队列电路RsQp由4个响应队列构成。
响应时钟控制电路RsCkC由时钟驱动器Drv2及时钟分频电路Div2构成。响应队列控制电路RsCT由响应队列电路RsQo、响应队列电路RsQp、状态寄存器电路STReg、响应排序电路SCH构成。
存储电路MemNV2虽无特别限定,但其是非易失性存储器,是利用了NAND型闪存单元的NAND型闪存。存储电路MemNV2及初始化电路INIT2以外的、构成存储芯片M2的电路、数据读出及数据写入等动作和图10的存储芯片M0相同。
说明本存储芯片M2的电源接通时的动作。电源接通到存储芯片M2时,初始化电路INIT2进行存储芯片M2的初始化。首先,将ID寄存器电路IDR具有的ID寄存器的值初始设定为0,将ID有效位设定为低电平。接着将输入到响应排序电路SCH具有的响应队列电路RsQo的响应的优先顺序设定为1。时钟分频电路Div1及Div2的分频比设定为1。初始化电路INIT2的初始设定结束后,存储芯片M2进行确认与存储芯片M1之间可通信的通信确认动作。存储芯片M2通过使RqEn3、RsMux3、RqCk3接地(gnd),确认是串联连接的存储芯片的最末端的存储芯片,使请求允许信号RqEn2为高电平。
接着,存储芯片M1确认请求允许信号RqEn2变为高电平,使响应允许信号RsEn2及请求允许信号RqEn1为高电平。接着说明存储芯片M2中的响应优先顺序的控制。
图22表示存储芯片M2具有的响应排序电路SCH进行的动态响应优先顺序的控制。如图1所示,存储芯片M2是串联连接的最终芯片时,不对存储芯片M2产生存储芯片0及存储芯片M1的响应。
因此,仅对存储芯片M2的响应附加响应的优先顺序。因此,在电源接通后的初始设定(Initial)中,进入到响应队列电路RsQO的存储芯片M2的响应的优先顺序(PRsQO(M2))设定为1后不变化。不会变更进入到响应队列电路RsQo的存储电路NV2的响应的优先顺序(PRsQO(M2)),所以用于变更来自进入到响应队列RsQo的存储芯片M2的响应的响应优先顺序的、响应输出次数,在电源接通后的初始设定(Initial)中,虽无特别限定,但设定为0次,并无需变更。并且,响应时钟信号RsCk2的时钟控制方法和图16所示的时钟控制方法相同。
(存储电路MemNV2)
图23是存储芯片M0具有的存储电路MemNV2的电路框图的一例。
存储电路MemNV1由命令解码器CmdDec、控制电路ContLogic、写入数据缓冲器WDataLat、读出数据缓冲器RDataLat、数据控制电路DataCont、及存储库NV1BANK0~NV1BANK7构成。
并且,各存储库NV1BANK0~NV1BANK7由页地址缓冲器PadLat、列地址缓冲器CadLat、页解码器PageDec、列解码器CodDec、数据缓冲器DataLat、存储电路NV1BK0~NV1BK7构成。
说明存储电路MemNV1的读出动作。
向请求队列RqQXI存储库地址7、页地址5,库激活命令BA从命令信号Command发送,库地址7及页地址5从地址信号Address传送到存储电路MemNV2。命令解码器CmdDec解读库激活命令BA,通过控制电路ContLogic选择存储库NV2BANK7,向存储库NV1BANK7的页地址缓冲器PadLat存储页地址5,输入到页解码器PageDec。之后,与存储电路NV2Bank7内的页地址5连接的存储单元被激活,虽无特别限定,但2k字节的数据传送到数据缓冲器DataLat。
接着,向请求队列RqQXI存储32字节数据读出命令RD32、库地址7、列地址64,32字节数据读出命令RD32从命令信号Command发送,库地址7及列地址64从地址信号Address发送到存储电路MemNV2。
命令解码器CmdDec解读32字节数据读出命令RD32,通过控制电路ContLogic选择存储库NV1BANK7,向存储库NV1BANK7的列地址缓冲器CAddLat存储列地址64,输入到列解码器ColDec。
之后,以列地址64作为开始地址,32字节的数据从数据缓冲器DataLat读出,通过数据控制电路DataCont传送并存储到读出数据缓冲器RDataLat。之后,读出的32字节的数据传送到响应队列电路RsQo。
接着说明存储电路MemNV2的写入动作。向请求队列RqQXI存储8字节数据写入命令WT32、库地址7、列地址128,32字节的数据写入命令RD32从命令信号Command发送,库地址7及列地址127从地址信号Address发送,32字节的数据从写入数据信号WData发送到存储电路MemNV2。
命令解码器CmdDec解读32字节数据写入命令32,通过控制电路ContLogic选择存储库NV2BANK7,向存储库NV2BANK7的列地址缓冲器CAddLat存储列地址128,输入到列解码器ColDec。
并且,通过控制电路ContLogic,32字节的写入数据存储到写入数据缓冲器WDataLat。
之后,以列地址128作为开始地址,32字节的数据从写入数据缓冲器WDataLat通过数据控制电路DataCont传送到存储库NV2Bank7内的数据缓冲器DataLat,并写入到存储电路NV2BK7。
各存储库NV2BANK0~NV2BANK7独立动作,因此在不同的库之间,可同时进行读出动作和写入动作,可实现高速化。
图24是表示从信息处理装置CPU_CHIP发送到存储模块MEM的请求中含有的ID值与存储芯片M0、M1及M2的ID寄存器值均不一致、发生错误时的动作的一例的流程图。请求和ID值从信息处理装置CPU_CHIP发送到存储模块MEM(步骤1)。如请求允许信号RqEn0为低电平(步骤2),则来自信息处理装置CPU_CHIP的请求不存储到存储芯片M0的请求队列电路RqQI。如请求允许信号RqEn0为高电平(步骤2),则存储到存储芯片M0的、请求队列电路RqQI(步骤3)。
之后,ID比较电路CPQ比较进入到响应队列电路RqQI的请求中含有的ID值和ID寄存器电路IDR中保存的ID值(步骤4)。如比较结果一致,则进入到请求队列电路RqQI的请求传送到请求队列电路RqQXI(步骤5)。比较结果不一致时,检查存储芯片M0是否是最末端的存储芯片(步骤6)。因存储芯片M0不是最末端的设备,所以进入到请求队列电路RqQI的请求传送到请求队列电路RqQXO,进一步传送到下一存储芯片M1(步骤9)。在存储芯片M1中,反复步骤1到步骤9。在存储芯片M2中,进行步骤1到步骤4。如步骤4中的比较结果一致,则进入到请求队列电路RqQI的请求传送到请求队列电路RqQXI(步骤5)。当比较结果不一致时,检查存储芯片M0是否是最末端的存储芯片(步骤6)。
存储芯片M2是最末端的存储芯片,因此从信息处理装置CPU_CHIP发送到存储模块MEM的请求中含有的ID值与存储芯片M0、M1及M2的ID寄存器值均不一致,ID错误(步骤7)。ID错误从最末端的存储芯片M2经由存储芯片M1及M2传送到信息处理装置CPU_CHIP。
接着说明输入到存储模块MEM的请求的动作波形。图25及图26是信息处理装置CPU_CHIP发送到存储模块MEM的请求的动作波形、及从存储模块MEM到信息处理装置CPU_CHIP的响应的动作波形的一例。
图25(a)是包括到存储芯片M0的库激活命令BA在内的库激活请求的一例。虽无特别限定,但库激活请求在请求允许信号RqEN0为高电平时,与请求时钟信号RqCk0同步,使存储芯片M0的ID2、库激活命令BA、地址AD20及AD2多重化,输入到存储芯片M0。地址AD20及AD21中,含有库地址及行地址。通过该库激活请求,存储芯片M0内的存储库之一激活。
图25(b)是包括到存储芯片M0的4字节数据读出命令RD4在内的读出请求的一例。虽无特别限定,但读出请求在请求允许信号RqEN0为高电平时,与请求时钟信号RqCk0同步,使存储芯片M0的ID2、读出命令RD4、地址AD22及AD23多重化,输入到存储芯片M0。地址AD22及AD23中,含有库地址及列地址。通过该读出请求,从存储芯片M0内的激活的存储库读出数据。
图25(c)是发送来自存储芯片M0的响应的延时值的延时响应的一例。虽无特别限定,但延时响应中含有存储芯片M0的ID值ID2、延时发送标记LF、延时值Lat。
延时响应在响应允许信号RsEN0为高电平时,与响应时钟信号RsCk0的上升及下降同步,输入到信息处理装置CPU_CHIP。
图25(d)是含有存储芯片M0的ID值及从存储芯片M0读出的数据的读出响应。虽无特别限定,但读出响应在响应允许信号RsEN0为高电平时,与响应时钟信号RsCk0的上升及下降同步,存储芯片M0的ID值ID2、4字节数据D0、D1、D2及D3多重化,输入到信息处理装置CPU_CHIP。
图26(a)是包括到存储芯片M0的库激活命令BA在内的库激活请求的另一例。虽无特别限定,但库激活请求在请求允许信号RqEN0为高电平时,与请求时钟信号RqCk0同步,使存储芯片M0的ID值ID2、请求号码RqN1、库激活命令BA、地址AD20及AD2多重化,输入到存储芯片M0。地址AD20及AD21中,含有库地址及行地址。通过该库激活请求,存储芯片M0内的存储库之一激活。
图26(b)是包括到存储芯片M0的4字节数据读出命令RD4在内的读出请求的另一例。虽无特别限定,但读出请求在请求允许信号RqEN0为高电平时,与请求时钟信号RqCk0同步,使存储芯片M0的ID2、请求号码RqN2、读出命令RD4、地址AD22及AD23多重化,输入到存储芯片M0。地址AD22及AD23中,含有库地址及列地址。通过该读出请求,从存储芯片M0内的激活的存储库读出数据。
图26(c)是发送来自存储芯片M0的响应的延时值的延时响应的另一例。虽无特别限定,但延时响应中含有请求号码RqN2、延时发送标记LF、延时值Lat。
延时响应在响应允许信号RsEN0为高电平时,与响应时钟信号RsCk0的上升及下降同步,输入到信息处理装置CPU_CHIP。
图26(d)是含有从存储芯片M0读出的数据的读出响应的另一例。虽无特别限定,但读出响应在响应允许信号RsEN0为高电平时,与响应时钟信号RsCk0的上升及下降同步,请求号码RqN2、4字节数据D0、D1、D2及D3多重化,输入到信息处理装置CPU_CHIP。
图27(a)是包括到存储芯片M0的1字节数据的写入命令WT2在内的写入请求的一例。虽无特别限定,但写入请求在请求允许信号RqEN0为高电平时,与请求时钟信号RqCk0同步,使存储芯片M0的ID2、写入命令WT1、地址AD24及AD25多重化,输入到存储芯片M0。地址AD22及AD23中,含有库地址及列地址。通过该写入请求,数据写入到存储芯片M0。
图27(b)是包括到存储芯片M0的1字节数据写入命令WT2在内的写入请求的另一例。虽无特别限定,但写入请求在请求允许信号RqEN0为高电平时,与请求时钟信号RqCk0同步,使存储芯片M0的ID值ID2、请求号码RqN3、写入命令WT1、地址AD24及AD25多重化,输入到存储芯片M0。地址AD22及AD23中,含有库地址及列地址。通过该写入请求,数据写入到存储芯片M0。
图28(a)是用于预约到存储芯片M0的请求队列及响应队列的队列预约请求ReqNQRv的一例。
虽无特别限定,但队列预约请求ReqNQRv在请求允许信号RqEN0为高电平时,与请求时钟信号RqCk0同步,将使ID值ID2、队列预约命令QRv、预约的队列的数QRvN多重化了的请求ReqNQRv传送到存储芯片M0。通过该请求,存储芯片M0的请求队列及响应队列分别预约了由QRvN值指定的数量。
图28(b)是通知到存储芯片M0的队列的预约完成的预约完成响应。
虽无特别限定,但预定完成响应在响应允许信号ReEN0为高电平时,与响应时钟信号RsCk0的上升及下降同步,将使ID值ID2、预约完成信号RvFlg多重化了的预约完成响应输入到信息处理装置CPU_CHIP。信息处理装置CPU_CHIP通过接收预约完成响应,可确认队列的预约完成。
图28(c)是用于预约到存储芯片M0的请求队列及响应队列的队列预约请求ReqNQRv的另一例。
虽无特别限定,但队列预约请求ReqNQRv在请求允许信号RqEN0为高电平时,与请求时钟信号RqCk0同步,将使ID值ID2、请求号码RqN5、队列预约命令QRv、预约的队列的数QRvN值多重化了的请求ReqNQRv传送到存储芯片M0。通过该请求,存储芯片M0的请求队列及响应队列分别预约了由QRvN值指定的数量。
图28(d)是通知到存储芯片M0的队列的预约完成的预约完成响应。
虽无特别限定,但预定完成响应在响应允许信号ReEN0为高电平时,与响应时钟信号RsCk0的上升及下降同步,将使响应号码RsN5、预约完成信号RvFlg多重化了的预约完成响应输入到信息处理装置CPU_CHIP。信息处理装置CPU_CHIP通过接收预约完成响应,可确认队列的预约完成。
图29(a)是含有从信息处理装置CPU_CHIP通过存储芯片M0输入到存储芯片M1的库激活命令BA的库激活请求的一例。虽无特别限定,但库激活请求在请求允许信号RqEN1为高电平时,与请求时钟信号RqCk0同步,存储芯片M0的ID值ID1、库激活命令BA、地址AD20及AD21多重化,输入到存储芯片M1。地址AD20及AD21中,含有库地址及页地址。通过该库激活请求,存储芯片M1内的存储库之一激活。
图29(b)是含有从信息处理装置CPU_CHIP通过存储芯片M0输入到存储芯片M1的4字节数据读出命令RD4的读出请求的一例。虽无特别限定,但读出请求在请求允许信号RqEN1为高电平时,与请求时钟信号RqCk1同步,存储芯片M0的ID值ID1、读出命令RD4、地址AD22及AD23多重化,输入到存储芯片M1。地址AD22及AD23中,含有库地址及列地址。通过该读出请求,从存储芯片M1内激活的存储库读出数据。
图29(c)是发送来自存储芯片M1的响应的延时值的延时响应的一例。虽无特别限定,但延时响应中含有存储芯片M1的ID值ID1、延时发送标记LF、延时值Lat。
延时响应在延时允许信号RsEN1为高电平时,与响应时钟信号RsCk1的上升及下降同步,发送到存储芯片M0,进一步发送到信息处理装置CPU_CHIP。
图29(d)是含有存储芯片M1的ID值及从存储芯片M1读出的数据的读出响应。虽无特别限定,但读出响应在响应允许信号RsEN1为高电平时,与响应时钟信号RsCk1的上升及下降同步,存储芯片M1的ID值ID1、4字节数据D0、D1、D2及D3多重化,发送到存储芯片M0,并进一步发送信息处理装置CPU_CHIP。
图30(a)是含有从信息处理装置CPU_CHIP通过存储芯片M0输入到存储芯片M1的库激活命令BA的库激活请求的另一例。虽无特别限定,但库激活请求在请求允许信号RqEN1为高电平时,与请求时钟信号RqCk1同步,存储芯片M1的ID值ID1、请求号码RqN1、库激活命令BA、地址AD20及AD21多重化,输入到存储芯片M1。地址AD20及AD21中,含有库地址及行地址。通过该库激活请求,存储芯片M1内的存储库之一激活。
图30(b)是含有从信息处理装置CPU_CHIP通过存储芯片M0输入到存储芯片M1的4字节数据读出命令RD4的读出请求的另一例。虽无特别限定,但读出请求在请求允许信号RqEN1为高电平时,与请求时钟信号RqCk1同步,存储芯片M1的ID值ID1、请求号码RqN2、读出命令RD4、地址AD22及AD23多重化,输入到存储芯片M1。地址AD22及AD23中,含有库地址及列地址。通过该读出请求,从存储芯片M1内激活的存储库读出数据。
图30(c)是发送来自存储芯片M1的响应的延时值的延时响应的另一例。虽无特别限定,但延时响应中含有请求号码RqN2、延时发送标记LF、延时值Lat。
延时响应在延时允许信号RsEN1为高电平时,与响应时钟信号RsCk1的上升及下降同步,发送到存储芯片M0,进一步发送到信息处理装置CPU_CHIP。
图30(d)是含有从存储芯片M1读出的数据的读出响应的另一例。虽无特别限定,但读出响应在响应允许信号RsEN1为高电平时,与响应时钟信号RsCk1的上升及下降同步,请求号码RqN2、4字节数据D0、D1、D2及D3多重化,发送到存储芯片M0,并进一步发送信息处理装置CPU_CHIP。
图31(a)是含有从信息处理装置CPU_CHIP通过存储芯片M0输入到存储芯片M1的1字节数据的写入命令WT2的写入请求的一例。虽无特别限定,但写入请求在请求允许信号RqEN1为高电平时,与请求时钟信号RqCk1同步,存储芯片M1的ID值ID1、写入命令WT1、地址AD24及AD25多重化,输入到存储芯片M1。地址AD22及AD23中,含有库地址及列地址。通过该写入请求,数据写入到存储芯片M1。
图31(b)是含有从信息处理装置CPU_CHIP通过存储芯片M0输入到存储芯片M1的1字节数据的写入命令WT2的写入请求的另一例。虽无特别限定,但写入请求在请求允许信号RqEN1为高电平时,与请求时钟信号RqCk1同步,存储芯片M1的ID值ID1、请求号码RqN3、写入命令WT1、地址AD24及AD25多重化,输入到存储芯片M1。地址AD22及AD23中,含有库地址及列地址。通过该写入请求,数据写入到存储芯片M1。
图32(a)是用于预约从信息处理装置CPU_CHIP通过存储芯片M0到存储芯片M1的请求队列及响应队列的队列预约请求ReqNQRv的一例。
虽无特别限定,但队列预约请求ReqNQRv在请求允许信号RqEN1为高电平时,与请求时钟信号RqCk1同步,将使ID值ID1、队列预约命令QRv、预约的队列的数QRvN多重化了的请求ReqNQRv传送到存储芯片M0。通过该请求,存储芯片M1的请求队列及响应队列分别预约了由QRvN值指定的数量。
图32(b)是通知到存储芯片M1的队列的预约完成的预约完成响应。虽无特别限定,但预定完成响应在响应允许信号RsEN1为高电平时,与响应时钟信号RsCk1的上升及下降同步,将使ID值ID1、预约完成信号RvFlg多重化了的预约完成响应发送到存储芯片M0,进一步发送到信息处理装置CPU_CHIP。信息处理装置CPU_CHIP通过接收预约完成响应,可确认队列的预约完成。
图32(c)是用于预约从信息处理装置CPU_CHIP通过存储芯片M0到存储芯片M1的请求队列及响应队列的队列预约请求ReqNQRv的另一例。
虽无特别限定,但队列预约请求ReqNQRv在请求允许信号RqEN0为高电平时,与请求时钟信号RqCk1同步,将使ID值ID1、请求号码RqN5、队列预约命令QRv、预约的队列的数QRvN值多重化了的请求ReqNQRv传送到存储芯片M1。通过该请求,存储芯片M1的请求队列及响应队列分别预约了由QRvN值指定的数量。
图32(d)是通知到存储芯片M1的队列的预约完成的预约完成响应。
虽无特别限定,但预定完成响应在响应允许信号RsEN1为高电平时,与响应时钟信号RsCk1的上升及下降同步,将使响应号码RsN5、预约完成信号RvFlg多重化了的预约完成响应发送到存储芯片M0,进一步发送到信息处理装置CPU_CHIP。信息处理装置CPU_CHIP通过接收预约完成响应,可确认队列的预约完成。
图33(a)是含有从信息处理装置CPU_CHIP通过存储芯片M0及存储芯片M1输入到存储芯片M2的库激活命令BA的库激活请求的一例。虽无特别限定,但库激活请求在请求允许信号RqEN2为高电平时,与请求时钟信号RqCk2同步,存储芯片M2的ID值ID3、库激活命令BA、地址AD20及AD21多重化,输入到存储芯片M1。地址AD20及AD21中,含有库地址及页地址。通过该库激活请求,存储芯片M3内的存储库之一激活。
图33(b)是含有从信息处理装置CPU_CHIP通过存储芯片M0及存储芯片M1输入到存储芯片M2的4字节数据读出命令RD4的读出请求的一例。虽无特别限定,但读出请求在请求允许信号RqEN2为高电平时,与请求时钟信号RqCk2同步,存储芯片M2的ID值ID3、读出命令RD4、地址AD22及AD23多重化,输入到存储芯片M2。地址AD22及AD23中,含有库地址及列地址。通过该读出请求,从存储芯片M3内激活的存储库读出数据。
图33(c)是发送来自存储芯片M2的响应的延时值的延时响应的另一例。虽无特别限定,但延时响应中含有存储芯片M2的ID值ID3、延时发送标记LF、延时值Lat。
延时响应在延时允许信号RsEN2为高电平时,与响应时钟信号RsCk2的上升及下降同步,发送到存储芯片M1,进一步通过存储芯片M0发送到信息处理装置CPU_CHIP。
图33(d)是含有存储芯片M2的ID值及从存储芯片M2读出的数据的读出响应。虽无特别限定,但读出响应在响应允许信号RsEN2为高电平时,与响应时钟信号RsCk2的上升及下降同步,存储芯片M2的ID值ID3、4字节数据D0、D1、D2及D3多重化,发送到存储芯片M1,并进一步通过存储芯片M0发送信息处理装置CPU_CHIP。
图34(a)是含有从信息处理装置CPU_CHIP通过存储芯片M0及存储芯片M1输入到存储芯片M2的库激活命令BA的库激活请求的另一例。虽无特别限定,但库激活请求在请求允许信号RqEN2为高电平时,与请求时钟信号RqCk2同步,存储芯片M2的ID值ID1、请求号码RqN1、库激活命令BA、地址AD20及AD21多重化,输入到存储芯片M2。地址AD20及AD21中,含有库地址及行地址。通过该库激活请求,存储芯片M2内的存储库之一激活。
图34(b)是含有从信息处理装置CPU_CHIP通过存储芯片M0及存储芯片M1输入到存储芯片M2的4字节数据读出命令RD4的读出请求的另一例。虽无特别限定,但读出请求在请求允许信号RqEN2为高电平时,与请求时钟信号RqCk2同步,存储芯片M2的ID值ID3、请求号码RqN2、读出命令RD4、地址AD22及AD23多重化,输入到存储芯片M2。地址AD22及AD23中,含有库地址及列地址。通过该读出请求,从存储芯片M2内激活的存储库读出数据。
图34(c)是发送来自存储芯片M2的响应的延时值的延时响应的另一例。虽无特别限定,但延时响应中含有响应号码RqN2、延时发送标记LF、延时值Lat。
延时响应在延时允许信号RsEN1为高电平时,与响应时钟信号RsCk2的上升及下降同步,发送到存储芯片M1,进一步通过存储芯片M0发送到信息处理装置CPU_CHIP。
图34(d)是含有从存储芯片M2读出的数据的读出响应的另一例。虽无特别限定,但读出响应在响应允许信号RsEN2为高电平时,与响应时钟信号RsCk2的上升及下降同步,请求号码RqN2、4字节数据D0、D1、D2及D3多重化,发送到存储芯片M1,并进一步通过存储芯片M0发送信息处理装置CPU_CHIP。
图35(a)是含有从信息处理装置CPU_CHIP通过存储芯片M0及存储芯片M1输入到存储芯片M2的1字节数据的写入命令WT2的写入请求的一例。虽无特别限定,但写入请求在请求允许信号RqEN2为高电平时,与请求时钟信号RqCk2同步,存储芯片M1的ID值ID3、写入命令WT1、地址AD24及AD25多重化,输入到存储芯片M1。地址AD22及AD23中,含有库地址及列地址。通过该写入请求,数据写入到存储芯片M2。
图35(b)是含有从信息处理装置CPU_CHIP通过存储芯片M0及存储芯片M1输入到存储芯片M2的1字节数据写入命令WT2的写入请求的另一例。虽无特别限定,但写入请求在请求允许信号RqEN2为高电平时,与请求时钟信号RqCk2同步,存储芯片M2的ID值ID3、请求号码RqN3、写入命令WT1、地址AD24及AD25多重化,输入到存储芯片M1。地址AD22及AD23中,含有库地址及列地址。通过该写入请求,数据写入到存储芯片M2。
图36(a)是用于预约从信息处理装置CPU_CHIP通过存储芯片M0及存储芯片M1输入到存储芯片M2的请求队列及响应队列的队列预约请求ReqNQRv的一例。
虽无特别限定,但队列预约请求ReqNQRv在请求允许信号RqEN2为高电平时,与请求时钟信号RqCk2同步,将使ID值ID3、队列预约命令QRv、预约的队列的数QRvN多重化了的请求ReqNQRv传送到存储芯片M0。通过该请求,存储芯片M2的请求队列及响应队列分别预约了由QRvN值指定的数量。
图36(b)是通知存储芯片M2的队列的预约完成的预约完成响应。虽无特别限定,但预定完成响应在响应允许信号RsEN2为高电平时,与响应时钟信号RsCk1的上升及下降同步,将使ID值ID3、预约完成信号RvFlg多重化了的预约完成响应发送到存储芯片M1,进一步经由存储芯片M0发送到信息处理装置CPU_CHIP。信息处理装置CPU_CHIP通过接收预约完成响应,可确认队列的预约完成。
图36(c)是用于预约从信息处理装置CPU_CHIP通过存储芯片M0及存储芯片M1输入到存储芯片M2的请求队列及响应队列的队列预约请求ReqNQRv的另一例。
虽无特别限定,但队列预约请求ReqNQRv在请求允许信号RqEN2为高电平时,与请求时钟信号RqCk1同步,将使ID值ID3、请求号码RqN5、队列预约命令QRv、预约的队列的数QRvN值多重化了的请求ReqNQRv传送到存储芯片M2。通过该请求,存储芯片M2的请求队列及响应队列分别预约了由QRvN值指定的数量。
图36(d)是通知到存储芯片M2的队列的预约完成的预约完成响应。
虽无特别限定,但预定完成响应在响应允许信号RsEN2为高电平时,与响应时钟信号RsCk2的上升及下降同步,将使响应号码RsN5、预约完成信号RvFlg多重化了的预约完成响应发送到存储芯片M2,进一步通过存储芯片M0发送到信息处理装置CPU_CHIP。信息处理装置CPU_CHIP通过接收预约完成响应,可确认队列的预约完成。
以上说明了含有库激活命令、读出命令、写入命令、队列预约命令等信息的请求及含有读出数据、延时值等信息的响应的动作,当然对含有除此之外的信息在内的请求、响应也可进行同样的动作。
图37表示从信息处理装置CPU_CHIP到存储芯片M1产生读出请求,并连续地对存储芯片M0产生请求时的数据传送波形。
信息处理装置CPU_CHIP通过请求信号RqMux0,将使ID值1、2字节数据读出命令NRD2及地址AD0、AD1多重化了的请求ReqNRD2传送到存储芯片M0。
接着,通过请求信号RqMux0,将使ID值2、2字节数据读出命令RD2、地址AD0、AD1多重化了的请求ReqRD2发送到存储芯片M0。
向存储芯片M0的请求队列RqQI输入请求ReqNRD2及请求ReqRD2。
请求ReqNRD2为了对存储芯片M1的请求而传送到存储芯片M0的请求队列RqQXO。并且,请求ReqNRD2通过请求信号RqMux1传送到存储芯片M1。
请求ReqNRD2输入到存储芯片M1的请求队列RqQI,接着传送到请求队列RqQXI。和请求ReqNRD2对应的数据从存储芯片M1的存储电路MemNV1读出,包括ID寄存器值1在内,作为响应RsNRD2而输入到响应队列RsQo。
输入到响应队列RsQo的响应RsNRD2通过响应信号RqMux1传送,存储到存储芯片M0的响应队列RsQp。存储到响应队列RsQp的响应RsNRD2通过响应信号ResMux0,作为ID值1和读出数据而输出。
响应ReqRD2为了对存储芯片M0的请求而传送到存储芯片M0的请求队列RqQXI。
和请求ReqRD2对应的数据从存储芯片M0的存储电路MemVL读出,包括ID寄存器值2在内,作为响应RsRD2而输入到响应队列RsQo。
输入到响应队列RsQo的响应RsRD2通过响应信号RqMux0,作为ID值2和读出数据而输出。
请求ReqRD2输入到存储芯片M0的请求队列RqQI,对该请求的响应ResRD2从响应信号ResMux0输出的时间约为15ns。
另一方面,响应ReqNRD2输入到存储芯片M1的请求队列RqQI,对该请求的响应ResRD2从响应信号ResMux0输出的时间为约70ns。
因此,虽然请求ReqRD2在请求ReqNRD2之后输入,但可先输出。
在本实施方式中,以数据读出为中心进行了说明,但在数据写入动作中当然也可进行同样的动作。
并且,在本实施方式中,说明了存储芯片M0和M1的数据传送动作,但M1和其他的存储芯片当然也可进行同样的数据传送动作。
(第1实施方式的效果)
以下对上述实施方式的构成和效果进行总结。
(1)电源接通后,进行串联连接的确认动作,从而可确认存储器之间是否切实连接。进一步,明确引导设备及最末端的存储芯片,自动进行对各存储器的ID附加,从而能够容易地仅连接所需量的存储芯片,并扩展存储容量。
(2)通过向请求附加ID,从信息处理装置CPU_CHIP可切实地向各存储芯片M0、M1及M2传送请求。并且,通过对信息处理装置CPU_CHIP的响应附加ID,可确认从各存储器正确地进行了数据传送,通过信息处理装置CPU_CHIP及存储芯片M0、M1、M2的串联连接,可减少连接信号数量,并且信息处理装置CPU_CHIP可进行所需的处理。
(3)在发送数据前,发送该数据的延时值,从而信息处理装置CPU_CHIP可获知数据的到达时间,在数据到达前可进行必要的处理,提高性能。
(4)向请求附加请求号码,并且向响应附加响应号码,从而即使在为了提高数据传送性能而以和请求的输入顺序不同的顺序发送响应时,信息处理装置CPU_CHIP也可知晓从存储芯片发送了对哪个请求的响应,可高速进行所需处理。
(5)因请求接口电路ReIF和响应接口电路可独立动作,因此可同时进行数据的读出动作和写入动作,提高数据传送性能。
(6)与请求的输入顺序无关地,早读出的数据不用等待读出晚的数据,可立刻读出,因此可实现高速化。
(7)可根据需要使各存储芯片M0、M1及M2的时钟以低速动作,或停止,或恢复,因此可实现低耗电。
(8)从存储芯片M2读出时,进行错误检查和校正,写入时对写入未正确进行的不良地址进行替代处理,因此可保证可靠性。
并且,在本实施方式中,说明了存储模块MEM中含有一个易失性存储器、一个NOR型闪存、一个NAND型闪存的例子,但在存储模块中含有多个易失性存储器、多个NOR型闪存及NAND型闪存时,当然也可实现本发明。
(第2实施方式)
图38是本发明的第2实施方式。是表示由信息处理装置CPU_CHIP和存储模块MEM24构成的信息处理系统的实施方式。
存储模块MEM24由动态随机存取存储器DRAM0及DRAM1、NOR型闪存NOR及NAND型闪存NAND构成。
信息处理装置CPU_CHIP和图1所示的结构相同。动态随机存取存储器DRAM0和DRAM1与图10所示的存储器相同。NOR型闪存NOR和图18所示的存储器相同。NAND型闪存NAND和图21所示的存储器相同。
在本发明中,能够容易地连接多个动态随机存取存储器,可有意识地扩展信息处理装置CPU_CHIP所需的工作区域及复制区域,可进行高速处理。
在本实施方式中,说明了动态随机存取存储器的多个连接,但NOR型闪存NOR、NAND型闪存NAND根据需要也可连接多个,容易扩展程序区域、数据区域,可灵活地对应移动设备的系统构成。
(第3实施方式)
图39是本发明的第3实施方式。是表示由信息处理装置CPU_CHIP和存储模块MEM25构成的信息处理系统的实施方式。信息处理装置CPU_CHIP和图1所示的结构相同。NOR型闪存NOR和图18所示的相同。动态随机存取存储器DRAM和图10所示的存储器相同。NAND型闪存NAND和图21所示的存储器相同。
存储模块MEM25中,构成该存储模块MEM25的存储器的连接顺序按照距离信息处理装置CPU_CHIP从近到远的顺序为:利用了NOR型闪存的NOR型闪存NOR、利用了动态存储单元的动态随机存取存储器DRAM、利用了NAND型闪存的NAND型闪存NADN。
在移动电话中,等待接收电话及邮件时,主流是对存储了OS、通信用程序的NOR型闪存NOR进行间歇性存取。因此,在将作为非易失性存储器的NOR型闪存NOR连接成与信息处理装置CPU_CHIP最近的本实施方式中,使动态随机存取存储器DRAM为自动刷新状态,并停止对动态随机存取存储器DRAM及NAND型闪存NAND的请求时钟(RqCk1及RqCk0)、响应时钟(RsCk1、RsCk2),可仅使NOR型闪存NOR动作,降低等待接收电话及邮件时的耗电。
(第4实施方式)
图40表示由信息处理装置CPU_CHIP和存储模块MEM26构成的信息处理系统。存储模块MEM26由动态随机存取存储器DRAM、NAND型闪存NAND0及NAND1构成。信息处理装置CPU_CHIP和图1所示的结构相同。动态随机存取存储器DRAM和图10所示的相同。NAND型闪存NAND0及NAND1和图21所示的存储器相同。NAND型闪存NAND0及NAND1和NOR型闪存相比,容量大且成本低。通过替代NOR型闪存而利用NAND型闪存NAND0,可向NAND型闪存NAND0存储OS、应用程序,实现大容量且低成本的信息处理系统。进一步,通过将存储到NAND型闪存NAND0的OS、应用程序预先传送到动态随机存取存储器DRAM,可实现信息处理系统的高性能化。
(第5实施方式)
图41表示由信息处理装置CPU_CHIP和存储模块MEM27构成的信息处理系统。存储模块MEM27由动态随机存取存储器DRAM、NOR型闪存NOR、NAND型闪存NAND及硬盘HDD构成。信息处理装置CPU_CHIP和图1所示的结构相同。动态随机存取存储器DRAM和图10所示的存储器相同。NOR型闪存NOR和图18所示的存储器相同。NAND型闪存NAND和图21所示的存储器相同。硬盘HDD和NAND型闪存NAND相比,容量大且成本低。
数据的读出单位、地址管理方法、错误检测校正方法由闪存延用在硬盘HDD中实现的数据的读出单位、地址管理方法、错误检测校正方法等,因此容易增加并连接硬盘HDD,实现大容量低成本的存储模块。
(第6实施方式)
图42表示由信息处理装置CPU_CHIP和存储模块MEM28构成的信息处理系统。存储模块MEM28由第1非易失性存储器MRAM、第2非易失性存储器NOR、第3非易失性存储器NAND构成。信息处理装置CPU_CHIP和图1所示的结构相同。第1非易失性存储器MRAM是图10所示的存储电路MemVL由非易失性磁性存储单元构成的磁性随机存取存储器MRAM。第2非易失性存储器NOR和图18所示的NOR型闪存相同。第3非易失性存储器NAND和图21所示的NAND型闪存NAND相同。
通过替代易失性动态随机存取存储器DRAM而使用非易失性磁性随机存取存储器MRAM,无需定期进行存储电路内的数据保存动作,因此可实现低耗电。并且,第2非易失性存储器M280也可以是图12所示的存储电路NV1由非易失性的相变存储器构成的相变存储器。
(第7实施方式)
图43表示本发明中的第7实施方式。图43(A)是俯视图,图43(B)是沿着俯视图所示的A-A’线的部分的剖视图。
本实施方式的多芯片模块在通过球形触点阵列(BGA)安装到装置上的基板(例如由玻璃环氧基板做成的印刷电路板)PCB上搭载有CHIPM1、CHIPM2、CHIPM3。虽无特别限定,但CHIPM1是第1非易失性存储器,CHIPM2是第2非易失性存储器,CHIPM3是第1易失性存储器。
通过该多芯片模块,可将图1所示的存储模块MEM、图39所示的存储模块MEM25、图40所示的存储模块MEM26、图42所示的存储模块MEM28集成到一个封装体上。
CHIPM1和基板PCB上的焊垫由焊线(PATH2)连接,CHIPM2和基板PCB上的焊垫由焊线(PATH1)连接。CHIPM3和基板PCB上的焊垫由焊线(PATH4)连接。CHIPM1和CHIPM2由焊线(PATH3)连接,CHIPM2和CHIPM3由焊线(PATH5)连接。
搭载了芯片的基板PCB的上表面进行树脂铸模,保护各芯片和连接布线。此外,在其上也可使用金属、陶瓷或树脂的罩(COVER)。
在本实施方式中,因在印刷电路板PCB上直接搭载裸芯片,所以可构成安装面积小的存储模块。并且,由于可层叠各芯片,所以可缩短芯片和基板PCB之间的布线长度,减小安装面积。将芯片间的布线及各芯片和基板之间的布线统一为焊线方式,能够以较少的步骤制造存储模块。
进一步,通过用焊线直接布线在芯片之间,可减少基板上的焊垫个数和焊线根数,以较少的步骤制造存储模块。使用树脂罩时,可构成坚韧的存储模块。使用陶瓷、金属罩时,除了强度外,还可实现具有良好散热性、屏蔽效果的存储模块。
(第8实施方式)
图44表示本发明中的第8实施方式。图44(A)是其俯视图,图44(B)是沿着俯视图所示的A-A’线的部分的剖视图。
本实施方式的多芯片模块在通过球形触点阵列(BGA)安装到装置上的基板(例如由玻璃环氧基板做成的印刷电路板)PCB上搭载有CHIPM1、CHIPM2、CHIPM3。虽无特别限定,但CHIPM1是第1非易失性存储器,CHIPM2是第2非易失性存储器,CHIPM3是随机存取存储器。通过该多芯片模块,可将图1所示的存储模块MEM、图39所示的存储模块MEM25、图40所示的存储模块MEM26、图42所示的存储模块MEM28集成到一个封装体上。
CHIPM1和基板PCB上的焊垫由焊线(PATH2)连接,CHIPM2和基板PCB上的焊垫由焊线(PATH1)连接。CHIPM1和CHIPM2由焊线(PATH3)连接。并且,CHIPM3的安装及布线使用球形触点阵列。
在该安装方法中,可层叠3个芯片,因此可使安装面积较小。进一步,不需要CHIPM3和基板间的焊接,可减少焊接布线的根数,因此可减少组装步骤,并且可实现高可靠性的多芯片模块。
(第9实施方式)
图45表示本发明涉及的多芯片模块的第9实施方式。图45(A)是俯视图,图45(B)是沿着俯视图所示的A-A’线的部分的剖视图。
本实施方式的存储模块在通过球形触点阵列(BGA)安装到装置上的基板(例如由玻璃环氧基板做成的印刷电路板)PCB上,搭载有CHIPM1、CHIPM2、CHIPM3、CHIPM4。CHIPM1及CHIPM2是非易失性存储器,CHIPM3是随机存取存储器。
CHIPM4是信息处理装置CPU_CHIP。在本安装方法中,可将图1所示的信息处理系统、图39所示的信息处理系统、图40所示的信息处理系统、图42所示的信息处理系统集成到一个封装体上。
CHIPM1和基板PCB上的焊垫由焊线(PATH2)连接,CHIPM2和基板PCB上的焊垫由焊线(PATH4)连接。CHIPM3和基板PCB上的焊垫由焊线(PATH1)连接。
CHIPM1和CHIPM3由焊线(PATH3)连接,CHIPM2和CHIPM3由焊线(PATH5)连接。CHIPM4的安装及布线使用球形触点阵列(BGA)。在本安装方法中,在印刷电路板PCB上直接搭载裸芯片,因此可构成安装面积小的存储模块。并且,可使各芯片靠近配置,因此可缩短芯片间的布线长度。
在芯片之间用焊线直接布线,从而可减少基板上的焊垫数和焊线根数,以较少的步骤制造存储模块。进一步,CHIPM4和基板间的焊接不再需要,可减少焊接布线的根数,可减少组装步骤,并可实现高可靠性的多芯片模块。
(第10实施方式)
图46表示本发明涉及的存储系统的第10实施方式。图46(A)是俯视图,图46(B)是沿着俯视图所示的A-A’线的部分的剖视图。
本实施方式的存储模块在通过球形触点阵列(BGA)安装到装置上的基板(例如由玻璃环氧基板做成的印刷电路板)PCB上,搭载有CHIPM1、CHIPM2、CHIPM3。CHIPM1及CHIPM2是非易失性存储器,CHIPM3是随机存取存储器。
将芯片间的布线及各芯片和基板之间的布线统一为焊线方式,能够以较少的步骤制造存储模块。在本安装方法中,可将图1所示的存储模块MEM、图39所示的存储模块MEM25、图40所示的存储模块MEM26、图42所示的存储模块MEM28集成到一个封装体。
CHIPM1和基板PCB上的焊垫由焊线(PATH2)连接,CHIPM2和基板PCB上的焊垫由焊线(PATH1)连接,CHIPM3和基板PCB上的焊垫由焊线(PATH3)连接。在本实施方式中,在印刷电路板PCB上直接搭载裸芯片,因此可构成安装面积小的存储模块。并且,可使各芯片靠近配置,因此可缩短芯片间的布线长度。
将各芯片和基板间的布线统一为焊线方式,能够以较少的步骤制造存储模块。
(第11实施方式)
图47表示本发明涉及的存储系统的第11实施方式。图47(A)是俯视图,图47(B)是沿着俯视图所示的A-A’线的部分的剖视图。
本实施方式的存储模块在通过球形触点阵列(BGA)安装到装置上的基板(例如由玻璃环氧基板做成的印刷电路板)PCB上搭载有CHIPM1、CHIPM2、CHIPM3、CHIPM4。CHIPM1及CHIPM2是非易失性存储器,CHIPM3是随机存取存储器。CHIPM4是信息处理装置CPU_CHIP。
在本安装方法中,可将图1所示的信息处理系统、图39所示的信息处理系统、图40所示的信息处理系统及图42所示的信息处理系统集成到一个封装体。
CHIPM1和基板PCB上的焊垫由焊线(PATH2)连接,CHIPM2和基板PCB上的焊垫由焊线(PATH1)连接,CHIPM3和基板PCB上的焊垫由焊线(PATH3)连接。CHIPM4的安装及布线使用球形触点阵列(BGA)。
在本实施方式中,在印刷电路板PCB上直接搭载裸芯片,因此可构成安装面积小的存储模块。并且,可使各芯片靠近配置,因此可缩短芯片间的布线长度。CHIPM4和基板间的焊接不再需要,可减少焊接布线的根数,可减少组装步骤,并可实现高可靠性的多芯片模块。
(第12实施方式)
图48表示利用了本发明涉及的存储模块的移动电话的第12实施方式。移动电话由天线ANT、无线块RF、声音编译码器块SP、扬声器SK、麦克风MK、信息处理装置CPU、液晶显示部LCD、键盘KEY及本发明的存储模块MSM构成。信息处理装置CPU_MAIN具有多个信息处理电路,其中的一个信息处理电路CPU0作为基带处理电路BB,其余中的至少一个信息处理电路CPU1作为应用程序处理器AP而动作。
说明通话时的动作。通过天线ANT接收的声音由无线块RF放大,输入到信息处理装置CPU0。在信息处理装置CPU0中,将声音的模拟信号变换为数字信号,进行错误校正和解码处理,输出到声音编译码器块SP。声音编译码器块SP将数字信号变换为模拟信号并输出到扬声器SK时,从扬声器可听到对方的声音。
从移动电话访问因特网的主页,下载音乐数据,重放并欣赏,最后保存下载的音乐数据,对进行上述一系列的作业时的动作进行说明。
存储模块MEM中存储OS、应用程序(邮件、Web浏览器、音乐重放程序、动作重放程序、游戏程序等)、声音数据、静态图像数据、动态图像数据等。
通过键盘命令起动Web浏览器时,存储到存储模块MSM内的NOR型闪存的Web浏览器的程序由信息处理电路CPU1读出并执行,在液晶显示LCD上显示Web浏览器。访问所需的主页,通过键盘KEY命令下载满意的音乐数据时,音乐数据通过天线ANT被接收,由无线块RF放大,输入到信息处理装置CPU0。在信息处理装置CPU0中,将作为模块信号的音乐数据变换为数字信号,进行错误校正和解码处理。数字信号化的音乐数据暂时由存储模块MSM内的动态随机存取存储器DRAM保存,最终传送并存储到存储模块MEM的NAND型闪存。
接着,通过键盘KEY命令起动音乐重放程序时,存储到存储模块MSM内的NOR型闪存的音乐重放程序由信息处理电路CPU1读出并执行,在液晶显示LCD上显示音乐重放程序。
通过键盘KEY命令欣赏下载到存储模块内NAND型闪存的音乐数据时,信息处理电路CPU1执行音乐重放程序,处理保存在NAND型闪存的音乐数据,最终从扬声器SK听取音乐。本发明的存储模块MSM内的NOR型闪存中,存储Web浏览器和音乐重放程序、电子邮件程序等多个程序,信息处理装置CPU_MAIN具有多个信息处理电路CPU0~CPU3,因此可同时执行多个程序。
等待接收电话及电子邮件时,信息处理装置CPU_MAIN能够以最小限度的频率使到存储模块MSM的时钟动作,可使耗电极其小。
因此,通过使用本发明涉及的存储模块,可存储大量的邮件、音乐重放、应用程序、音乐数据、静态图像数据、动态图像数据等,进一步可同时执行多个程序。
(第13实施方式)
图49表示利用了本发明涉及的存储系统的移动电话的第13实施方式。移动电话由天线ANT、无线块RF、声音编译码器块SP、扬声器SK、麦克风MK、液晶显示部LCD、键盘KEY、及将存储模块MSM和信息处理装置CPU_MAIN集成到一个封装体的本发明的信息处理系统SLP构成。
通过使用本发明的信息处理系统SLP,可减少配件个数,因此可实现低成本化,提高移动电话的可靠性,减小构成移动电话的配件的安装面积,实现移动电话的小型化。
(第14实施方式)
图51是本发明的第14实施方式。是表示由信息处理装置CPU_CHIP0、CPU_CHIP1、CPU_CHIP2、CPU_CHIP3和存储模块MEM30、MEM31、MEM32、MEM33构成的信息处理系统的实施方式。
信息处理装置CPU_CHIP0、CPU_CHIP1、CPU_CHIP2、CPU_CHIP3和图1所示的信息处理装置CPU_CHIP相同。存储模块MEM30、MEM31、MEM32、MEM33和图1所示的存储模块MEM相同。
RqC0到RqC7是请求时钟,RsC0到RsC7是响应时钟。RqE0到RqE7是请求允许信号,RsE0到RsEN7是响应允许信号。RqM0到RqM7是请求信号,RsM0到RsM7是响应信号。
在本发明中,容易连接多个信息处理装置,可进行高速处理。进一步,根据移动设备的系统构成、所需的性能,可灵活连接信息处理装置及存储模块。
在本实施方式中,表示了图1所示的存储模块MEM的连接例,但也可连接图38至图42所示的存储模块。