半导体存储装置的制作方法

文档序号:6776001阅读:180来源:国知局
专利名称:半导体存储装置的制作方法
技术领域
本发明涉及一种半导体存储装置。
背景技术
一些半导体存储装置使用铁电存储器。该铁电存储器是使用铁电膜的残余极化作为数据存储装置的非易失性存储器(见USP 4,873,664)。公知的是铁电存储器的寿命与数据读出次数密切相关。作为用于延长使用铁电存储器的半导体存储装置的寿命的技术,已经提出了一种使用高速缓存存储器和铁电存储器的半导体存储装置(例如,日本专利申请公开物No.6-215589)。在该半导体存储装置中,存储在铁电存储器中的数据部分复制到高速缓存存储器中。且主要从该高速缓存存储器读出数据,以及只有当所需的数据段没有存储在高速缓存存储器中时(只有发生高速缓存误击(mishit)时),所需的数据段才从铁电存储器读出。利用该结构,降低了从铁电存储器读出数据的次数,导致半导体存储装置的寿命的延长。
同时,当将高速缓存存储器结合到半导体存储装置中时存在一个待确定的设计项。其为置换算法。该置换算法用于确定当高速缓存存储器不具有足够的空间存储新的数据块时用新的数据块代替哪一个现存的数据块。前述的日本专利申请公开物No.6-215589公开了一种高速缓存存储器的结合,但不是置换算法。通常使用的置换算法包括LRU(最近最少使用)和NRU(非最近使用)。该LRU选择最近最少使用的数据块作为将用新的数据块代替的数据块。NRU选择最近没有使用的数据块作为将被新的数据块代替的数据块。
然而,在获得这种置换算法中存在的问题是必须管理存储在高速缓存存储器中的数据的使用状态,其使得硬件结构复杂。例如,在LRU的情况下,需要提供以存取顺序排列数据块、并再排列每次存取数据的数据块的硬件部件。而且,在NRU的情况下,要求具有管理每个数据块的存取、并更新每次存取数据的管理信息的硬件部件。

发明内容
因此,本发明的目的是提供一种半导体存储装置,其比常规技术具有更简单的硬件结构。
上述目的通过半导体存储装置来实现,其包括铁电存储器,其包括在其中存储数据的多个单元存储区域;高速缓存存储器,其包括多个单元存储区域,该多个单元存储区域中的每一个存储了存储在铁电存储器的单元存储区域中的数据的副本,且该多个单元存储区域数量上少于包括在铁电存储器中的该多个单元存储区域;计数器,其可操作用于表示对应于在高速缓存存储器中的该多个单元存储区域中的一个的计数值;判断单元,其可操作用于判断需要从铁电存储器的单元存储区域读出的数据块是否存储在高速缓存存储器的单元存储区域中,作为该数据块的副本;存储控制单元,其可操作用于,如果判断单元的判断结果是否定的,则执行控制从铁电存储器读出所需的数据块并将该读出的数据块的副本存储到对应于由计数器表示的计数值的高速缓存存储器中的单元存储区域中;以及计数器控制单元,其可操作用于使导在每次判断单元的判断结果为否定时计数器更新计数值。
利用上述结构,如果发生高速缓存误击,则将读出的数据作为副本存储到由计数器表示的高速缓存存储器的单元存储区域中。也就是说,确定将用新的数据块代替的高速缓存存储器中的数据块,而不管在高速缓存存储器中存储的数据的使用状态。与常规技术如LRU或NRU相比,该技术简化了硬件结构。
在上述的半导体存储装置中,在根据从存储器读出数据的次数来确定存储器的寿命的前提下,高速缓存存储器具有比铁电存储器长的寿命。
利用上述结构,可以延长半导体存储装置的寿命。在上述的半导体存储装置中,计数器可以是异步计数器。
在硬件结构中,异步计数器比同步计数器简单。结果,利用上述结构,可以进一步简化半导体存储装置的硬件结构。
上述半导体存储装置可进一步包括铁电存储器,其包括在其中存储数据的多个单元存储区域;高速缓存存储器,其包括多个单元存储区域,该多个单元存储区域中的每一个存储了存储在铁电存储器的单元存储区域中的数据的副本,且该多个单元存储区域在数量上比包括在铁电存储器中的该多个单元存储区域少;以及存储控制单元,其可操作用于执行控制将要被写入到铁电存储器的改写请求所请求的数据块存储到铁电存储器的单元存储区中,并执行控制将所需数据块的副本存储到高速缓存存储器的单元存储区域中。
利用上述结构,改写请求所请求的将被写入到存储器的数据块总是按照要求被写入到铁电存储器,且所请求的数据块的副本总是写入到高速缓存存储器,而不管将被所请求的数据块代替的数据块的副本是否已经存储在高速缓存存储器中。这消除了对判断将被所请求的数据块代替的数据块的副本是否已经存储在高速缓存存储器中的需要,简化了硬件结构。通常,最新写入到存储器的数据块易于在改写后不久被读出。因此,其中所请求的数据块的副本总是写入到高速缓存存储器中的上述结构降低了稍后发生误击的可能性。这导致半导体存储装置的寿命的延长。上述结构进一步将所请求的数据块存储到作为非易失性存储器的铁电存储器以及高速缓存存储器中。这防止了数据因不希望有的中断等而被删除。
上述半导体存储装置可进一步包括判断单元,其可操作用于判断将被所请求的数据块代替的数据块是否存储在高速缓存存储器的单元存储区域中作为其副本,其中如果判断单元的判断结果是否定的,则存储控制单元不执行对将所请求的数据块的副本存储到高速缓存存储器的单元存储区域中的控制。
利用上述结构,如果应该用所请求的数据块来代替的数据块副本已经存储在高速缓存存储器中,则可以停止将数据存储到高速缓存存储器中。这降低了在半导体存储装置中的功耗。
上述半导体存储装置可进一进包括接收单元,其可操作用于接收节省功率模式或非节省功率模式的指定;判断单元,其可操作用于判断将用所请求的数据块代替的数据块是否存储在高速缓存存储器的单元存储区域中作为其副本,其中如果判断单元的判断结果是否定的,且接收单元接收节省功率模式的指定,那么存储控制单元不执行对将所请求的数据块的副本存储到高速缓存存储器的单元存储区域中的控制。
利用上述结构,当在执行改写请求中检测到高速缓存误击时可以将所请求的数据块复制到高速缓存存储器中。这降低了稍后发生误击的可能性。这导致半导体存储装置的寿命的延长。另一方面,利用上述结构,当在执行改写请求中检测到高速缓存误击时,也可以不将所请求的数据块复制到高速缓存存储器中。这使得可以停止将数据存储到高速缓存存储器中并降低了在半导体存储装置中的功耗。也就是说,上述结构根据需要提供能够在节省功率模式和非节省功率模式之间切换的半导体存储装置,其中可选择非节省功率模式以将重心放在延长寿命上,并且可选择节省功率模式以将重心放在降低功耗上。例如当将半导体存储装置用在移动终端中时,当剩余的电池水平大于预定水平时,该半导体存储装置可以以将重心放在延长寿命上的非节省功率模式操作,以及当剩余的电池水平小于预定水平时,可以以将重心放在降低功耗上的节省功率模式操作。
上述半导体存储装置可进一步包括计数器,其可操作用于表示对应于在高速缓存存储器中的该多个单元存储区域中的一个的计数值;判断单元,其可操作用于判断将用所请求的数据块来代替的数据块是否存储在高速缓存存储器的单元存储区域中作为其副本;以及计数器控制单元,其可操作用于使得每次判断单元的判断结果为否定的时计数器更新计数值,其中如果通过判断单元的判断结果是肯定的,则在高速缓存存储器中,存储控制单元执行控制用所请求的数据块的副本代替将被代替的数据块的副本,并执行控制用所请求的数据块代替存储在铁电存储器的单元存储区域中的数据块,且如果判断单元的判断结果为否定的时,存储控制单元执行控制将所请求的数据块的副本存储到对应于由计数器表示的计数值的高速缓存存储器的单元存储区域中,并执行控制用所请求的数据块代替存储在铁电存储器的单元存储区域中的数据块。
利用上述结构,如果发生高速缓存误击,则将被请求以通过改写请求重写到存储器的数据作为副本存储到由计数器表示的高速缓存存储器的单元存储区域中。也就是说,确定将用新的数据块代替的高速缓存存储器中的数据块,不管存储在高速缓存存储器中的数据的使用状态。与常规技术如LRU或NRU相比,该技术简化了硬件结构。
可通过半导体存储装置来实现上述目的,其包括快闪存储器;铁电存储器,其包括多个单元存储区域,在其每一个中存储相互对应的快闪存储器的物理地址和逻辑地址;高速缓存存储器,其包括多个单元存储区域,在其每一个中用其间的相应性表示来存储快闪存储器的物理地址的副本和逻辑地址的副本,该高速缓存存储器包括在数量上比铁电存储器少的单元存储区域;计数器,其可操作用于表示对应于在高速缓存存储器中的该多个单元存储区域中的一个的计数值;判断单元,其可操作用于判断由请求从快闪存储器读出数据的读出请求指定的逻辑地址的副本是否存储在高速缓存存储器的单元存储区域中;存储控制单元,其可操作用于在判断单元的判断结果为否定的时,执行控制读出与由来自铁电存储器的读出请求指定的逻辑地址对应的物理地址,使用读出的物理地址从快闪存储器读出所请求的数据,并利用由读出请求指定的逻辑地址的副本和读出的物理地址的副本之间的对应性表示,将由读出请求所指定的逻辑地址的副本和读出的物理地址的副本存储到在与由计数器表示的计数值相对应的高速缓存存储器中的单元存储区域中;以及计数器控制单元,其可操作用于使得计数器在每次判断单元的判断结果为否定的时更新计数值。
具有上述结构的半导体存储装置使用快闪存储器作为存储介质,并将该快闪存储器的地址转换表存储在铁电存储器中。与需要管理数据的使用状态的常规技术如LRU或NRU相比,该技术简化了硬件结构。
也可通过下述半导体存储装置来实现上述目的,该半导体存储装置包括第一存储器,其在其中存储第一类型数据;第二存储器,其包括多个单元存储区域,在其每一个中存储用于从第一存储器读出第一类型数据块的第二类型数据段;第三存储器,其包括多个单元存储区域,在其每一个中存储第二类型数据段的副本,该第三存储器包括在数量上比第二存储器少的单元存储区域;判断单元,其可操作用于判断由请求从第一存储器读出数据的读出请求指定的第二类型数据段的副本是否存储在第三存储器的单元存储区域中;以及存储控制单元,其可操作用于当判断单元的判断结果为否定的时,执行控制从第二存储器读出用于读出所请求的第一类型数据块的第二类型数据段,使用读出的第二类型数据段从第一存储器读出所请求的第一类型数据块,并将读出的第二类型数据段的副本存储到在第三存储器中的单元存储区域中。
也可通过下述半导体存储装置来实现上述目的,该半导体存储装置包括第一存储器,其在其中存储第一类型数据;第二存储器,其包括多个单元存储区域,在其每一个中存储用于改写存储在第一存储器中的第一类型数据块的第二类型数据段;第三存储器,其包括多个单元存储区域,在其每一个中存储第二类型数据段的副本,第三存储器包括在数量上比第二存储器少的单元存储区域;计数器,其可操作用于表示与在第三存储器中的该多个单元存储区域中的一个相对应的计数值;判断单元,其可操作用于判断按照改写请求所请求的将用第二类型数据块代替的第二类型数据块的副本是否存储在第三存储器的单元存储区域中;以及存储控制单元,其可操作用于当判断单元的判断结果为肯定的时,执行控制用所请求的第二类型数据块的副本代替存储在第三存储器的单元存储区域中的第二类型数据块的副本,并执行控制用所请求的第二类型数据块代替存储在第二存储器的单元存储区域中的第二类型数据块,以及如果判断单元的判断结果为否定的时执行控制将所请求的第二类型数据块的副本存储到与由计数器表示的计数值相对应的第三存储器的单元存储区域中,并执行控制用所请求的第二类型数据块代替存储在第二存储器的单元存储区域中的第二类型数据块;以及计数器控制单元,其可操作用于使得计数器在每次判断单元的判断结果为否定的时更新计数值。
与需要管理数据的使用状态的常规技术如LRU或NRU相比,上述结构简化了硬件结构。


结合示出了本发明具体实施例的附图、根据本发明的以下描述,本发明的这些以及其它目的、优点和特征将变得显而易见。在图中
图1示出了实施例1中的半导体存储装置的概略结构;图2示出了实施例1中的高速缓存系统103的结构;图3示出了选择单元40的详细结构的实例;图4是示出实施例1中的半导体存储装置的操作程序的流程图;图5是在实施例1中的高速缓存系统接收了读出请求之后进行的操作的时序图;图6是在实施例1中的高速缓存系统接收了改写请求之后进行的操作的时序图;图7示出了实施例2中的半导体存储装置的概略结构;图8示出了实施例2中的高速缓存系统203的结构;图9是示出实施例2中的半导体存储装置的操作程序的流程图;图10是在实施例2中的高速缓存系统接收了读出请求之后进行的操作的时序图;图11是在实施例2中的高速缓存系统接收了改写请求之后进行的操作的时序图;图12示出了实施例2中的地址转换操作;图13示出了实施例3中的高速缓存系统203的结构;图14是在实施例3中的半导体存储装置接收了改写请求之后进行的操作的时序图;图15示出了在实施例3中的地址转换操作;以及图16是在本修改中的半导体存储装置接收了读出请求之后进行的操作的时序图。
具体实施例方式
以下参考附图描述了本发明的优选实施例。
实施例1<结构>
图1示出了实施例1中的半导体存储装置的概略结构。
半导体存储装置101包括铁电存储器102、高速缓存系统103、控制器104、地址总线105、数据总线106和控制总线107。铁电存储器102、高速缓存系统103和控制器104通过地址总线105、数据总线106和控制总线107互相连接。
铁电存储器102包括其中存储了数据的多个单元存储区域。刚一通过控制总线107接收表示读出请求的控制信号时,铁电存储器102就经由数据总线106输出存储在通过地址总线105指定的单元存储区域中的数据。而且,刚一通过控制总线107接收表示改写请求的控制信号时,铁电存储器102就用经由数据总线106接收的数据代替存储在通过地址总线105指定的单元存储区域中的数据。
高速缓存系统103包括其中存储了存储在铁电存储器102中的数据的副本的多个单元存储区域。通常,高速缓存系统103包括少于铁电存储器102的单元存储区域。
控制器104使铁电存储器102和高速缓存系统103进行数据的读出和改写。
稍后将描述高速缓存系统103和控制器104的操作。
图2示出了实施例1中的高速缓存系统103的结构。
高速缓存系统103包括CAM(内容可寻址存储器)40、地址解码器20、SRAM(静态随机存取存储器)30、选择单元40、和控制单元50。
CAM 10包括寄存器11、块(B1、B2、…Bn)、和逻辑加法电路15。
寄存器11存储通过地址总线105接收的地址数据。该地址数据指定了包括在铁电存储器102中的单元存储区域。
块(B1、B2、…Bn)中的每一个包括寄存器12、比较电路13和逻辑乘法电路14,并具有将存储在寄存器11中的地址数据存储到寄存器12中的功能,以及将存储在寄存器11中的地址数据与存储在寄存器12中的地址数据相比较以判断两个地址数据段是否相互匹配的功能。图2示出了块B1的细节并省略了其它块的细节,因为这些块具有相同的结构。每个块输出比较结果信号(Sc1、Sc2、…Scn),其均表示存储在寄存器11中的地址数据是否与存储在寄存器12中的地址数据相匹配。比较结果信号从每个块的比较电路13输出。表示为“1”的比较结果信号表示比较结果是匹配的,以及表示为“0”的比较结果信号表示比较结果是不匹配的。
逻辑加法电路15对比较结果信号(Sc1、Sc2、…Scn)进行逻辑加法,并输出逻辑加法的结果作为表示高速缓存击中或高速缓存误击的击中信号HS。表示为“1”的击中信号HS表示高速缓存击中,以及表示为“0”的击中信号HS表示高速缓存误击。
地址解码器20把在CAM 10中的块(B1、B2、…Bn)和在SRAM 30中的单元存储区域D1、D2、…Dn)一对一地联系起来。
SRAM 30包括单元存储区域(D1、D2、…Dn)。每一个单元存储区域(D1、D2、…Dn)存储了存储在铁电存储器102的单元存储区域中的数据的副本。
选择单元40包括计数器41和解码器42。计数器41是m位计数器,并将计数值输出到解码器42,其中“m”满足表示为“n=2m”的关系。解码器42将选择信号(Ss1、Ss2、…Ssn)分别提供给在CAM 10中的块(B1、B2、…Bn)。表示为“1”的选择信号表示“被选择的”,以及表示为“0”的选择信号表示“未被选择的”。
控制单元50包括存储控制单元51和计数器控制单元52。存储控制单元51输出允许写入信号WE1和WE2、锁存信号AL、误击发生信号MS和总线控制信号BS。计数器控制单元52输出向上计数信号CU。
允许写入信号WE1表示对于每个块是否允许改写。表示为“1”的允许写入信号WE1表示允许改写,以及表示为“0”的允许写入信号WE1表示不允许改写。
允许写入信号WE2表示是否允许将数据改写到SRAM 30。表示为“1”的允许写入信号WE2表示允许改写,以及表示为“0”的允许写入信号WE2表示不允许改写。
锁存信号AL表示CAM 10的寄存器11从地址总线105获得地址的时序。在此,假设当锁存信号AL上升时寄存器11从地址总线105获得地址。
误击发生信号MS用于通知铁电存储器102和控制器104已经发生高速缓存误击。
总线控制信号BS用于控制数据总线106、铁电存储器102和SRAM 30之间的连接状态。
向上计数信号CU用于增加计数器41的计数值。
图3示出了选择单元40的详细结构的实例。
计数器41是包括m个触发器(FF1、FF2、…FFm)的异步计数器。解码器42包括n个逻辑乘法电路(A1、A2、…An)。利用这种结构,选择单元40将选信号(Ss1、Ss2、…Ssn)中的一个设置为“1”,且将剩余的选择信号设置为“0”。也可以根据所接收的向上计数信号CU将设置为“1”的选择信号从一个切换到另一个。
<操作>
图4是示出了实施例1中的半导体存储装置的操作程序的流程图。
当将半导体存储装置101通上电时,其将存储在铁电存储器102中的数据的预定部分复制到高速缓存系统103中。为了实现这个,半导体存储装置101将指定了在铁电存储器102中的预定单元存储区域的地址数据段复制到在CAM 10中的块中,且半导体存储装置101将存储在铁电存储器102的预定单元存储区域中的数据复制到SRAM 30的单元存储区域中(步骤S101)。
刚一接收到读出请求,半导体存储装置101就判断由读出请求指定的地址数据是否与存储在CAM 10的块中的地址数据中的任一个相匹配(步骤S102)。
如果判断为肯定(步骤S102中的‘是’),则半导体存储装置101从SRAM30的单元存储区域读出数据,其对应于存储了与由读出请求所指定的地址数据相匹配的地址数据的块(步骤S103)。
如果判断为否定(步骤S102中的‘否’),则半导体存储装置101从铁电存储器102的单元存储区域读出数据,其由读出请求所指定的地址表示(步骤S104)。
当在步骤S102中判断出由读出请求所指定的地址数据与存储在CAM 10的块中的地址数据中的任一个都不相匹配时,半导体存储装置101将由读出请求指定的地址数据进一步复制到所选的块中,其选择由选择信号表示(步骤S105),并将在步骤S104中读出的数据复制到与所选块相对应的SRAM 30的单元存储区域中(步骤S106)。
然后半导体存储装置101增加计数器41的计数值(步骤S107)。利用该操作,选择与目前为止已经被选择的块不同的块。当半导体存储装置101重复上述操作时,逐个选择存储在CAM 10中的n个块。
应当注意到,在此,步骤S104、S105和S106可以按顺序执行,或者可以同时全部执行。
以下参考时序图详细描述图4中示出的半导体存储装置101的操作。
图5是在实施例1中的高速缓存系统接收读出请求之后进行的操作的时序图。
刚一接收读出请求,控制器104就将表示读出请求的控制信号输出到控制总线107。高速缓存系统103和铁电存储器102接收控制信号并开始读出操作。控制器104将由读出请求指定的地址数据进一步输出到地址总线105。图5示出了其中按照由读出请求指定的地址数据顺序地接收Addr1、Addr2和Addr3的示例情况。在此,假定分别对应于地址数据Addr1和Addr3的”数据1”和”数据3”已经预先复制到高速缓存系统103中,并且对应于地址数据Addr2的数据”数据2”没有被复制高速缓存系统103中。
<时间t1>
在时间t1处,锁存信号AL上升,且寄存器11从地址总线105获得地址数据Addr1,并将所获得的地址数据存储于其中。
在该时间点处,在CAM 10中的每个块比较存储在寄存器12中的地址数据和存储在寄存器11中的地址数据Addr1,并输出比较结果信号(Sc1、Sc2、…Scn)。在该阶段,仅有从存储了地址数据Addr1的块输出的对比结果信号表示为“1”,并且从剩余块输出的比较结果信号表示为“0”。
在该阶段,击中信号HS变为“1”,因为至少一个比较结果信号表示为“1”。
<时间t2>
在时间t2处,地址解码器20确定从其中输出表示为“1”的比较结果信号的块,并指定对应于所确定的块的SRAM 30中的单元存储区域。确认允许写入信号WE2表示为“0”的SRAM 30将存储在指定的单元存储区域中的数据”数据1”输出到数据总线106。控制器104从数据总线106获得数据”数据1”并将其输出至外部。
如上所述,数据”数据1”不从铁电存储器102读出,而是从高速缓存系统103读出,然后输出至外部。
<时间t3>
在时间t3处,锁存信号AL上升,且CAM 10的寄存器11从地址总线105获得地址数据Addr2并将获得的地址数据存储于其中。
在该时间点处,在CAM 10中的每个块比较存储在寄存器12中的地址数据和存储在寄存器11中的地址数据Addr2,并输出比较结果信号(Sc1、Sc2、…Scn)。在该阶段,不存在存储地址数据Addr2的块。结果,所有输出比较结果信号都表示“0”。
在该阶段,由于所有比较结果信号都已表示为“0”,因此击中信号HS也变为“0”。
确认击中信号HS已经变为“0”,存储控制单元51就将误击发生信号MS设置为“1”。刚一接收已变成“1”的误击发生信号MS,铁电存储器102就被通知发生了高速缓存误击。
<时间t4>
在时间t4处,存储控制单元51将允许写入信号WE1设置为“1”。这导致其选择由选择信号表示的所选块的寄存器12获得存储在寄存器11中的地址数据Addr2,并将获得的地址数据Addr2存储于其中。未由选择信号表示的未被选择的块的寄存器12没有获得存储在寄存器11中的地址数据Addr2,即使允许写入信号WE1变为“1”。
当地址数据Addr2存储在任一块的寄存器12中时,从该块输出的比较结果信号表示为“1”,因为存储在寄存器11中的地址信号Addr2与存储在寄存器12中的地址数据Addr2相匹配。
地址解码器20确定从其输出表示为“1”的比较结果信号的块,并指定对应于所确定的块的SRAM 30的单元存储区域。
在此,由于比较结果信号已表示为“1”,因此击中信号HS变为“1”。
<时间t5>
在时间t5处,铁电存储器102响应于在时间t3处误击发生信号MS变成“1”,将存储在由地址数据Addr2指定的单元存储区域中的地址数据Addr2输出到数据总线106。控制器104从数据总线106获得数据“数据2”,并将获得的数据“数据2”输出到外部。
<时间t6>
在时间t6处,存储控制单元51将允许写入信号WE2设置为“1”。响应于此,SRAM 30从数据总线106获取数据“数据2”,并将所获得的数据“数据2”存储在所选的单元存储区域中。
这能使当在接收到读出请求之后发生高速缓存误击时将数据“数据2”复制到高速缓存系统103中。
<时间t7>
在时间t7处,计数器控制单元52产生向上计数信号CU。响应于此,计数器41将计数值增加了“1”。由该操作确定接下来将被选择的块。
<时间t8>
在时间t8处,锁存信号AL上升,且寄存器11从地址总线105获得地址数据Addr3,并将获得的地址数据存储于其中。
在该时间点处,在CAM 10中的每个块比较存储在寄存器12中的地址数据和存储在寄存器11中的地址数据Addr3,并输出比较结果信号(Sc1、Sc2、…Scn)。在该阶段,仅有从存储地址数据Addr3的块输出的比较结果信号表示为“1”,且从剩余块输出的比较结果信号表示为“0”。
在此,由于比较结果信号已表示为“1”,因此击中信号HS变为“1”。
<时间t9>
在时间t9处,地址解码器20确定从其输出表示为“1”的比较结果信号的块,并指定对应于所确定的块的SRAM 30中的单元存储区域。确认允许写入信号WE2表示为“0”,SRAM 30就将存储在所指定的单元存储区域中的数据“数据3”输出至数据总线106。控制器104从数据总线106获得数据“数据3”,并将其输出到外部。
如上所述,数据“数据3”不是从铁电存储器102读出的,而是从高速缓存系统103读出的,并然后输出到外部。
图6是在实施例1中的高速缓存系统接收改写请求之后进行的操作的时序图。
刚一接收改写请求,控制器104就将表示改写请求的控制信号输出到控制总线107。高速缓存系统103和铁电存储器102接收该控制信号,并开始改写操作。控制器104进一步将由改写请求所指定的地址数据输出到地址总线105。图6示出了其中按照由改写请求指定的地址数据顺序地接收Addr1、Addr2和Addr3的示例情况。在此假定分别对应于地址数据Addr1和Addr3的数据“数据1”和“数据3”已经预先复制到高速缓存系统103中,并且对应于地址数据Addr2的数据“数据2”没有被复制到高速缓存系统103中。
<时间t1>
在时间t1处,锁存信号AL上升,并且寄存器11从地址总线105获得地址数据Addr1并将所获得的地址数据存储于其中。
在该时间点处,在CAM 10中的每个块比较存储在寄存器12中的地址数据和存储在寄存器11中的地址数据Addr1,并输出比较结果信号(Sc1、Sc2、…Scn)。在该阶段,仅从存储了地址数据Addr1的块输出的比较结果信号表示为“1”,且从剩余块输出的比较结果信号表示为“0”。
在该阶段,由于比较结果信号已表示为“1”,因此击中信号HS变为“1”。
<时间t2>
在时间t2处,存储控制单元51将允许写入信号WE2设置为“1”。地址解码器20确定从其输出表示为“1”的比较器果信号的块,并指定对应于所确定的块的SRAM30中的单元存储区域。SRAM 30从数据总线106获得数据“数据1”,并将其存储在所指定的单元存储区域中。
在此假定,在该阶段,铁电存储器102也将由改写请求指定的数据“数据1”存储到对应于地址数据Addr1的单元存储区域中。
<时间t3>
在时间t3处,锁存信号AL上升,且CAM 10的寄存器11从地址总线105获得地址数据Addr2,并将所获得的地址数据存储于其中。
在该时间点处,在CAM 10中的每个块比较存储在寄存器12中的地址数据和存储在寄存器11中的地址数据Addr2,并输出比较结果信号(Sc1、Sc2、…Scn)。在该阶段,不存在存储了地址数据Addr2的块。结果,所有输出比较结果信号都表示为“0”。
在该阶段,由于所有比较结果信号已表示为“0”,因此击中信号HS变为“0”。
<时间t4>
在时间t4处,存储控制单元51将允许写入信号WE1设置成“1”。这使得其选择由选择信号表示的所选块的寄存器12获得存储在寄存器11中的地址数据Addr2,并将所获得的地址数据Addr2存储于其中。未被选择信号表示的未选择的块的寄存器12没有获得存储在寄存器11中的地址数据Addr2,即使允许写入信号WE1变为“1”。
当地址数据Addr2存储在任一块的寄存器12中时,由于存储在寄存器11中的地址数据Addr2与存储在寄存器12中的地址数据Addr2相匹配,因此从该块输出的比较结果信号表为“1”。
地址解码器20确定从其输出表示为“1”比较结果信号的块,并指定对应于所确定的块的SRAM 30中的单元存储区域。
在此,由于比较结果果信号已表示为“1”,因此击中信号HS变为“1”。
<时间t5>
在时间t5处,存储控制单元51将允许写入信号WE2设置为“1”。响应于此,SRAM 30从数据总线106获得数据“数据2”,并将获得的数据“数据2”存储到所选的单元存储区域中。
在此假定,在该阶段,铁电存储器102也将数据“数据2”存储到对应于地址数据Addr2的单元存储区域中。
<时间t6>
在时间t6处,计数器控制单元52产生向上计数信号CU。响应于此,计数器41将计数值加“1”。通过该操作确定接下来将选择的块。
<时间t7>
在时间t7处,锁存信号AL上升,且寄存器11从地址总线105获得地址数据Addr3并将获得的地址数据存储于其中。
在该时间点处,在CAM 10中的每个块比较存储在寄存器12中的地址数据和存储在寄存器11中的地址数据Addr3,并输出比较结果信号(Sc1、Sc2、…Scn)。在该阶段,仅从存储了地址数据Addr3的块输出的比较结果信号表示为“1”,以及从剩余块输出的比较结果信号表示为“0”。
在该阶段,由于比较结果信号已表示为“1”,因此击中信号HS变为“1”。
<时间t8>
在时间t8处,存储控制单元51将允许写入信号WE2设置为“1”。地址解码器20确定从其输出表示为“1”的比较结果信号的块,并指定对应于所确定的块的SRAM30中的单元存储区域。SRAM 30从数据总线106获得数据“数据3”,并将其存储在所指定的单元存储区域中。
在此假定,在该阶段,铁电存储器102也将由改写请求指定的数据“数据3”存储到对应于地址数据Addr3的单元存储区域中。
实施例2<结构>
图7示出了在实施例2中的半导体存储装置的概略结构。
半导体存储装置201包括铁电存储器202、高速缓存系统203、快闪控制器(flashcontroller)204、地址总线205a和205b、数据总线206、控制总线207和快闪存储器208。
在实施例2中的半导体存储装置使用快闪存储器208作为存储数据的存储介质,并使用铁电存储器202作为存储地址转换表的存储介质。地址转换表示出快闪存储器208的物理地址和逻辑地址之间的对应。
通常,在快闪存储器中,将数据改写到数据块的单元中。当改写数据块中的所有数据时,其仅要求重写该数据块。然而,当在数据块中的数据部分地被改写时,将该数据从该块转移到另一个块,且将该数据部分地改写。因此,在快闪存储器中,以相对高的频率进行数据转移。且每当发生这种数据转移时,需要更新地址转换表。在实施例2中,地址转换表存储在铁电存储器202中。这使得可以大大地降低更新地址转换表所需的时间,因为铁电存储器202的改写速度比快闪存储器208的改写速度快一千倍到十万倍。
铁电存储器202包括多个单元存储区域,在其每一个中存储了相互对应的物理地址和逻辑地址。刚一通过控制总线207接收到表示读出请求的控制信号,铁电存储器202就通过地址总线205b输出对应于经由逻辑地址总线205a接收的逻辑地址的物理地址。
高速缓存系统203包括多个单元存储区域,其中存储了存储在铁电存储器202中的数据的副本。通常,包括在高速缓存系统203中的单元存储区域的数量小于包括在铁电存储器202中的单元存储区域的数量。
快闪控制器204引起铁电存储器202和高速缓存系统203进行数据的读出和改写。
稍后将描述高速缓存系统203和快闪控制器204的操作。
图8示出了在实施例2中的高速缓存系统203的结构。
在实施例2中,在CAM 10中的每个块存储了逻辑地址LBA,且在SRAM30中的每个单元存储区域存储了快闪存储器的物理地址PBA。高速缓存系统203的其它结构与在实施例1中的高速缓存系统103的那些相同,且省略了其描述。
<操作>
图9是示出了实施例2中的半导体存储装置的操作程序的流程图。
当将半导体存储装置201通上电时,其就将存储在铁电存储器202中的逻辑和物理地址的预定部分复制到高速缓存系统203中。为了实现该操作,半导体存储装置201将铁电存储器202的预定的一个或多个逻辑地址复制到在CAM 10中的一个或多个块中,并将预定的一个或多个物理地址复制到在SRAM 30中的一个或多个单元存储区域中(步骤S201)。
刚一接收到存取快闪存储器208的请求,半导体存储装置201就判断由存取请求指定的逻辑地址是否与存储在CAM 10中的块中的任一逻辑地址相匹配(步骤S202)。
如果判断为肯定(在步骤S202中的‘是’),则半导体存储装置201从对应于存储了与由存取请求指定的地址匹配的地址的块的SRAM 30中的单元存储区域读出物理地址(步骤S203)。半导体存储装置201通过物理地址总线205b将在步骤S203中读出的物理地址转移到快闪存储器208(步骤S204),并从在该物理地址处在快闪存储器208中的单元存储区域读出数据(步骤S205)。
如果判断为否定(步骤S202中的‘否’),则半导体存储装置201从铁电存储器202读出与逻辑地址相对应的物理地址(步骤S206)。该半导体存储装置201将在步骤S206读出的物理地址通过物理地址总线205b转移到快闪存储器208(步骤S207),并从在该物理地址处在快闪存储器208中的单元存储区域读出数据(步骤S208)。
当在步骤S202中判断出由存取请求指定的逻辑地址不与存储在CAM 10中的块中的逻辑地址中的任一个相匹配时,半导体存储装置201进一步将由存取请求指定的逻辑地址复制到其选择由选择信号表示的所选块中(步骤S209),且将在步骤S206中读出的物理地址复制到与所选块相对应的SRAM 30中的单元存储区域中(步骤S210)。
然后半导体存储装置201增加计数器41的计数值(步骤S211)。利用该操作,选择与目前为止已经选择的块不同的块。当半导体存储装置201重复上述操作时,一个接一个地选择存储在CAM 10中的n个块。
在此,应当注意,步骤S206、S209、和S210可按顺序执行,或者可以同时全部执行。
以下将参考时序图详细描述图9中示出的半导体存储装置201的操作。
图10是在实施例2中的高速缓存系统接收到读出请求之后进行的操作的时序图。
快闪控制器204将表示读出请求的控制信号输出到控制总线207。高速缓存系统203和铁电存储器202接收该控制信号,并开始读出操作。快闪控制器204进一步将由读出请求指定的逻辑地址输出到逻辑地址总线205a。图10示出了其中按照由读出请求指定的逻辑地址顺序地接收L1、L2和L3的示例情况。在此假定分别对应于逻辑地址L1和L3的物理地址P1和P3已经预先复制到高速缓存系统203中,并且对应于逻辑地址L2的物理地址P2没有复制到高速缓存系统203中。
<时间t1>
在时间t1处,锁存信号AL上升,且寄存器11从逻辑地址总线205a获得逻辑地址L1,并将获得的逻辑地址存储于其中。
在该时间点处,在CAM 10中的每个块比较存储在寄存器12中的逻辑地址和存储在寄存器11中的逻辑地址L1,并输出比较结果信号(Sc1、Sc2、…Scn)。在该阶段,仅有从存储了逻辑地址L1的块输出的比较结果信号表示为“1”,且从剩余的块输出的比较结果信号表示为“0”。
在该阶段,由于比较结果信号已表示为“1”,因此击中信号HS变为“1”。
<时间t2>
在时间t2处,地址解码器20确定从其输出表示为“1”的比较结果信号的块,并指定对应于所确定的块的SRAM 30中的单元存储区域。确认允许写入信号WE2表示为“0”,SRAM 30将存储在所指定的单元存储区域中的物理地址P1输出到物理地址总线205b。快闪存储器208将存储在由物理地址P1指定的单元存储区域中的数据输出到数据总线206。快闪控制器204从数据总线206获得数据,并将获得的数据输出到外部。
如上所述,物理地址P1不是从铁电存储器202读出,而是从高速缓存系统203读出。
<时间t3>
在时间t3处,锁存信号AL上升,且CAM 10的寄存器11从逻辑地址总线205a获得逻辑地址L2,并将获得的逻辑地址存储于其中。
在该时间点处,在CAM 10中的每个块比较存储在寄存器12中的逻辑地址和存储在寄存器11中的逻辑地址L2,并输出比较结果信号(Sc1、Sc2、…Scn)。在该阶段,不存在存储逻辑地址L2的块。结果,所有输出比较结果信号都表示为“0”。
在该阶段,由于所有比较结果信号都表示为“0”,因此击中信号HS变为“0”。
确认击中信号HS变为“0”,存储控制单元51就将误击发生信号MS设置为“1”。刚一接收到变为“1”的误击发生信号MS,铁电存储器202就被通知发生了高速缓存误击。
<时间t4>
在时间t4处,存储控制单元51将允许写入信号WE1设置为“1”。这导致其选择由选择信号表示的所选块的寄存器12获得存储在寄存器11中的逻辑地址L2,并将获得的逻辑地址L2存储于其中。未被选择信号表示的未被选择的块的寄存器12没有获得存储在寄存器11中的逻辑地址L2,即使允许写入信号WE1变为“1”。
当逻辑地址L2存储在任一个块的寄存器12中时,由于存储在寄存器11中的逻辑地址L2与存储在寄存器12中的逻辑地址L2相匹配,因此从该块输出的比较结果信号表示为“1”。
地址解码器20确定从其输出表示为“1”的比较结果信号的块,并指定对应于所确定的块的SRAM 30中的单元存储区域。
在此,由于比较结果信号表示为“1”,因此击中信号HS变为“1”。
<时间t5>
在时间t5处,铁电存储器202响应于在时间t3处误击发生信号MS变成“1”,将存储在由逻辑地址L2指定的单元存储区域中的物理地址P2输出到物理地址总线205b。快闪存储器208将存储在由物理地址P2指定的单元存储区域中的数据输出到数据总线206。快闪控制器204从数据总线206获得数据,并将获得的数据输出到外部。
<时间t6>
在时间t6处,存储控制单元51将允许写入信号WE2设置为“1”。响应于此,SRAM 30从物理地址总线205b获得物理地址P2,并将获得的物理地址P2存储到所选的单元存储区域中。
当在接收到读出请求之后发生高速缓存误击时,这能使物理地址P2复制到高速缓存系统203中。
<时间t7>
在时间t7处,计数器控制单元52接收向上计数信号CU。响应于此,计数器41将计数值增加“1”。通过该操作来确定接下来将选择的块。
<时间t8>
在时间t8处,锁存信号AL上升,且寄存器11从地址总线105获得逻辑地址L3,并将获得的逻辑地址L3存储于其中。
在该时间点处,在CAM 10中的每个块比较存储在寄存器12中的逻辑地址与存储在寄存器11中的逻辑地址L3,并输出比较结果信号(Sc1、Sc2、…Scn)。在该阶段,仅有从存储了逻辑地址L3的块输出的比较结果信号表示为“1”,且从剩余块输出的比较结果信号表示为“0”。
在此,由于比较结果信号表示为“1”,因此击中信号HS变为“1”。
<时间t9>
在时间t9处,地址解码器20确定从其输出表示为“1”的比较结果信号的块,并指定对应于所确定的块的SRAM 30中的单元存储区域。确认允许写入信号WE2表示为“0”,SRAM 30将存储在所指定的单元存储区域中的物理地址P3输出到物理地址总线205b。快闪存储器208将存储在由物理地址P3指定的单元存储区域中的数据输出到数据总线206。快闪控制器204从数据总线206获得数据,并将获得的数据输出到外部。
如上所述,物理地址P3不是从铁电存储器202读出,而是从高速缓存系统203读出。
图11是在实施例2中的高速缓存系统接收到改写请求之后进行的操作的时序图。
刚一接收到改写请求,快闪控制器204就将表示改写请求的控制信号输出到控制总线207。高速缓存系统203和铁电存储器202接收该控制信号,并开始改写操作。快闪控制器204进一步将由改写请求指定的逻辑地址输出到逻辑地址总线205a。图11示出了其中按照由改写请求指定的逻辑地址顺序地接收L1、L2和L3的示例情况。在此假定,分别对应于逻辑地址L1和L3的物理地址P1和P3已经预先复制到高速缓存系统203中,并且对应于逻辑地址L2的物理地址P2没有复制到高速缓存系统203中。
<时间t1>
在时间t1处,锁存信号AL上升,且寄存器11从逻辑地址总线205a获得逻辑地址L1,并将获得逻辑地址L1存储于其中。
在该时间点处,在CAM 10中的每个块比较存储在寄存器12中的逻辑地址和存储在寄存器11中的逻辑地址L1,并输出比较结果信号(Sc1、Sc2、…Scn)。在该阶段,仅有从存储了逻辑地址L1的块输出的比较结果信号表示为“1”,且从剩余块输出的比较结果信号表示为“0”。
在该阶段,由于比较结果信号表示为“1”,因此击中信号HS变为“1”。
<时间t2>
在时间t2处,存储控制单元51将允许写入信号WE2设置为“1”。地址解码器20确定从其输出表示为“1”的比较结果信号的块,并指定对应于所确定的块的SRAM30中的单元存储区域。SRAM 30从物理地址总线205b获得物理地址P1,并将获得的物理地址P1存储在所指定的单元存储区域中。
在此假定,在该阶段,铁电存储器202也将由改写请求指定的物理地址P1存储到对应于逻辑地址L1的单元存储区域中。
<时间t3>
在时间t3处,锁存信号AL上升,且CAM10的寄存器11从逻辑地址总线205a获得逻辑地址L2。
在该时间点处,在CAM 10中的每个块比较存储在寄存器12中的逻辑地址和存储在寄存器11中的逻辑地址L2,并且输出比较结果信号(Sc1、Sc2、…Scn)。在该阶段,不存在存储了逻辑地址L2的块。结果,所有的输出比较结果信号都表示为“0”。
在该阶段,由于所有的比较结果信号都表示为“0”,因此击中信号HS变为“0”。
<时间t4>
在时间t4处,存储控制单元51将允许写入信号WE1设置为“1”。这导致其选择由选择信号表示的所选块的寄存器12获得存储在寄存器11中的逻辑地址L2,并将获得的逻辑地址L2存储于其中。未被选择信号表示的未被选择的块的寄存器12没有获得存储在寄存器11中的逻辑地址L2,即使允许写入信号WE1变为“1”。
当逻辑地址L2存储在任一个块的寄存器12中时,由于存储在寄存器11中的逻辑地址L2与存储在寄存器12中的逻辑地址L2相匹配,因此从该块输出的比较结果信号表示为“1”。
地址解码器20确定从其输出表示为“1”的比较结果信号的块,并指定对应于所确定的块的SRAM 30中的单元存储区域。
在此,由于比较结果信写表示为“1”,因此击中信号HS变为“1”。
<时间t5>
在时间t5处,存储控制单元51将允许写入信号WE2设置为“1”。响应于此,SRAM 30从物理地址总线205b获得物理地址P2,并将获得的物理地址P2存储在所选的单元存储区域中。
在此假定,在该阶段,铁电存储器202也将物理地址P2存储到对应于逻辑地址L2的单元存储区域中。
<时间t6>
在时间t6处,计数器控制单元52产生向上计数信号CU。响应于此,计数器41将计数值增加“1”。通过该操作确定接下来将选择的块。
<时间t7>
在时间t7处,锁存信号AL上升,且寄存器11从逻辑地址总线205a获得逻辑地址L3,并将获得的逻辑地址L3存储在其中。
在该时间点处,在CAM 10中的每个块比较存储在寄存器12中的逻辑地址和存储在寄存器11中的逻辑地址L3,并输出比较结果信号(Sc1、Sc2、…Scn)。在该阶段,仅有从存储了逻辑地址L3的块输出的比较结果信号表示为“1”,且从剩余块输出的比较结果信号表示为“0”。
在该阶段,由于比较结果信号表示为“1”,因此击中信号HS变为“1”。
<时间t8>
在时间t8处,存储控制单元51将允许写入信号WE2设置为“1”。地址解码器20确定从其输出表示为“1”的比较结果信号的块,并指定对应于所确定的块的SRAM30中的单元存储区域。该SRAM 30从物理地址总线205b获得物理地址P3,并将获得的物理地址P3存储在指定的单元存储区域中。
在此假定,在该阶段,铁电存储器202也将物理地址P3存储到对应于逻辑地址L3的单元存储区域中。
图12示出了在实施例2中的地址转换操作。
当接收到读出请求以读出物理地址PBA且检测到高速缓存击中时,从高速缓存系统203输出物理地址PBA。
当接收到读出请求以读出物理地址PBA且检测到高速缓存误击时,从铁电存储器202输出物理地址PBA。并且,将从铁电存储器202输出的物理地址PBA存储到高速缓存系统203中。
当接收到改写请求以改写物理地址PBA并检测到高速缓存击中时,将物理地址PBA存储到高速缓存系统203以及铁电存储器202中。
当接收到改写请求以改写物理地址PBA并检测到高速缓存误击时,将物理地址PBA存储在高速缓存系统203和铁电存储器202中。
实施例3<结构>
图13示出了实施例3中的高速缓存系统203的结构。
在实施例3中,快闪存储器208用作在半导体存储装置中的存储介质,如同在实施例2中。实施例3与实施例2的区别仅在于控制单元60。其它结构与实施例2的那些相同,且省略了其描述。
控制单元60从快闪控制器204接收模式切换信号MSS。模式切换信号MSS用于表示普通模式(非节省功率模式),或者处于节省功率模式,其中当接收到改写物理地址PBA的请求且检测到高速缓存误击时执行操作。在普通模式中,高速缓存系统203和铁电存储器202存储物理地址PBA,其是与实施例2中的相同的操作。另一方面,在节省功率模式中,高速缓存系统203不存储物理地址PBA,且仅有铁电存储器202存储物理地址PBA。在节省功率模式中,不操作高速缓存系统203。因此,功耗在节省功率模式中比在普通模式中小。控制单元60的其它结构与实施例2中的那些相同。
<操作>
图14是在实施例3中的半导体存储装置接收到改写请求之后进行的操作的时序图。
当接收到读出请求时进行的操作与实施例2中的操作相同,且由此省略了其描述。而且,当接收到改写请求时在普通模式中进行的操作与实施例2中的操作相同。因此,在此仅描述当接收到改写请求以改写物理地址PBA时在节省功率模式中进行的操作。
刚一接收到改写请求,快闪控制器204就将表示改写请求的控制信号输出到控制总线207。高速缓存系统203和铁电存储器202接收该控制信号,并开始改写操作。快闪控制器204进一步将由改写请求指定的逻辑地址输出到逻辑地址总线205a。图14示出了其中按照由改写请求指定的逻辑地址顺序地接收L1、L2、和L3的示例情况。在此假定,分别对应于逻辑地址L1和L3的物理地址P1和P3已经预先复制到高速缓存系统203中,并且对应于逻辑地址L2的物理地址P2没有复制到高速缓存系统203中。
<时间t1>
在时间t1处,锁存信号AL上升,且寄存器11从逻辑地址总线205a获得逻辑地址L1,并将获得的逻辑地址L1存储于其中。
在该时间点处,在CAM 10中的每个块比较存储在寄存器12中的逻辑地址和存储在寄存器11中的逻辑地址L1,并输出比较结果信号(Sc1、Sc2、…Scn)。在该阶段,仅有从存储了逻辑地址L1的块输出的比较结果信号表示为“1”,且从剩余块输出的比较结果信号表示为“0”。
在该阶段,由于比较结果信号表示为“1”,因此击中信号HS变为“1”。
<时间t2>
在时间t2处,存储控制单元61将允许写入信号WE2设置为“1”。地址解码器20确定从其输出表示为“1”的比较结果信号的块,并指定对应于所确定的块的SRAM30中的单元存储区域。SRAM 30从物理地址总线205b获得物理地址P1,并将获得的物理地址P1存储在所指定的单元存储区域中。
在此假定,在该阶段,铁电存储器202也将由改写请求指定的物理地址P1存储在对应于逻辑地址L1的单元存储区域中。
<时间t3>
在时间t3处,锁存信号AL上升,且CAM 10的寄存器11从逻辑地址总线205a获得逻辑地址L2。
在该时间点处,在CAM 10中的每个块比较存储在寄存器12中的逻辑地址和存储在寄存器11中的逻辑地址L2,并输出比较结果信号(Sc1、Sc2、…Scn)。在该阶段,不存在存储了逻辑地址L2的块。结果,所有输出比较结果信号都表示为“0”。
在该阶段,由于所有比较结果信号表示为“0”,因此击中信号HS变为“0”。
在节省功率模式中,即使击中信号HS变为“0”,存储控制单元61也不将误击发生信号MS或允许写入信号WE1或WE2改变为“1”。
而且,在节省功率模式中,即使击中信号HS变为“0”,计数器控制单元62也不将向上计数信号CU改变为“1”。
这导致高速缓存系统203停止操作。
在此假定,在该阶段,铁电存储器202将物理地址P1存储到对应于逻辑地址L1的单元存储区域中。
<时间t4>
在时间t4处,锁存信号AL上升,且寄存器11从逻辑地址总线205a获得逻辑地址L3,并将获得的逻辑地址L3存储到其中。
在该时间点处,在CAM 10中的每个块比较存储在寄存器12中的逻辑地址和存储在寄存器11中的逻辑地址L3,并输出比较结果信号(Sc1、Sc2、…Scn)。在该阶段,仅从存储了逻辑地址L3的块输出的比较结果信号表示为“1”,且从剩余的块输出的比较结果信号表示为“0”。
在该阶段,由于比较结果信号表示为“1”,因此击中信号HS变为“1”。
<时间t5>
在时间t2处,存储控制单元61将允许写入信号WE2设置为“1”。地址解码器20确定从其输出表示为“1”的比较结果信号的块,并指定了对应于所确定的块的SRAM 30中的单元存储区域。SRAM 30从物理地址总线205b获得物理地址P3,并将获得的物理地址P3存储在指定的单元存储区域中。
在此假定,在该阶段,铁电存储器202也将物理地址P3存储到对应于逻辑地址L3的单元存储区域中。
图15示出了在实施例3中的地址转换操作。
当接收到读出请求以读出物理地址PBA且检测到高速缓存击中时,物理地址PBA从高速缓存系统203输出。
当接收到读出请求以读出物理地址PBA并检测到高速缓存误击时,从铁电存储器202输出物理地址PBA。且将从铁电存储器202输出的物理地址PBA存储在高速缓存系统203中。
当接收到改写请求以改写物理地址PBA并检测到高速缓存击中时,将物理地址PBA存储在高速缓存系统203和铁电存储器202中。
当接收到改写请求以改写物理地址PBA并检测到高速缓存误击时;在普通模式中,将物理地址PBA存储在高速缓存系统203和铁电存储器202中;以及在节省功率模式中,仅将物理地址PBA存储在铁电存储器202中。
到现在为止,已经通过其实施例描述了本发明的半导体存储装置。然而,本发明不限于这些实施例,而是可以以多种方式修改。以下描述了一些修改。
(1)在上述实施例中,计数器增加该值。然而,计数器可以减小该值。
(2)在上述实施例中,当发生高速缓存误击时,将数据存储在根据计数器值选择的块中,并然后计数器增加该值。然而,不限于此,计数器可首先增加该值,并然后可将数据存储在根据该计数器值所选择的块中。
图16是在本修改中的半导体存储装置接收了读出请求之后进行的操作的时序图。
在本修改中的计数器控制单元在击中信号HS变为“1”之后立即将向上计数信号CU改变为“1”。响应于此,在时间t3处,向上计数信号CU上升。这导致计数器将计数值增加“1”。
然后,在时间t4处,存储控制单元将允许写入信号WE1设置为“1”。这样的结果是,在块(B1、B2、…Bn)当中表示为“1”的选择信号表示的块存储了存储在寄存器11中的地址Addr2。
(3)在上述实施例中,SRAM用作高速缓存存储器。然而,不限于此,可以使用任何存储器,例如DRAM(动态随机存取存储器)、MRAM(磁随机存取存储器)、RRAM(电阻随机存取存储器)或PRAM(相位变化随机存取存储器),只要其基于读出次数具有比铁电存储器长的寿命。
(4)在上述实施例中,根据来自外部的指令来选择非节省功率模式或节省功率模式。然而,不限于此,半导体存储装置201可根据其自己的判断来选择模式。例如,当半导体存储装置201的电源是电池时,电源电压随着剩余的电池水平的降低而降低。为了解决这个问题,半导体存储装置201可被提供有电源电压监控电路,以便当电源电压比预定值高时,选择非节省功率模式,并当电源电压不高于预定值时,选择节省功率模式。
(5)在实施例2中,当接收到改写请求并检测到高速缓存击中时,将与改写请求相关的数据存储到高速缓存存储器和铁电存储器中。然而,不限于此,例如,当接收到改写请求且检测到高速缓存击中时,与改写请求相关的数据可仅存储在铁电存储器中。利用该结构,由于不操作高速缓存存储器,因此降低了功耗。当在进行了数据写入之后立即进行数据读出可能性很小时,该结构尤其有效。
(6)将实施例3解释为对实施例2的修改。然而,不限于此,实施例3可以与实施例1相结合来应用。
尽管已经借助于实例参考附图全面描述了本发明,但是应当注意,对于本领域技术人员来讲多种改变和修改将是显而易见的。因此,除非这些改变和修改脱离了本发明的范围,否则它们都应被解释为包括于其中。
权利要求
1.一种半导体存储装置,包括铁电存储器,其包括在其中存储数据的多个单元存储区域;高速缓存存储器,其包括多个单元存储区域,其每一个存储了存储在铁电存储器的单元存储区域中的数据的副本,且其在数量上比包括在铁电存储器中的该多个单元存储区域少;计数器,其可操作用于表示与在高速缓存存储器中的该多个单元存储区域中的一个相对应的计数值;判断单元,其可操作用于判断被请求从铁电存储器的单元存储区域读出的数据块是否存储在高速缓存存储器的单元存储区域中,作为该数据块的副本;存储控制单元,其可操作用于,如果判断单元的判断结果为否定时,执行控制以从铁电存储器读出所请求的数据块,并将读出的数据块的副本存储在与由计数器表示的计数值相对应的高速缓存存储器中的单元存储区域中;以及计数器控制单元,其可操作用于导致每当判断单元的判断结果为否定时计数器更新计数值。
2.根据权利要求1的半导体存储装置,其中在存储器的寿命根据从该存储器读出数据的次数来确定的前提下,高速缓存存储器具有比铁电存储器长的寿命。
3.根据权利要求1的半导体存储装置,其中该计数器是异步计数器。
4.一种半导体存储装置,包括铁电存储器,其包括在其中存储数据的多个单元存储区域;高速缓存存储器,其包括多个单元存储区域,其每一个存储了存储在铁电存储器的单元存储区域中的数据的副本,且其在数量上比包括在铁电存储器中的该多个单元存储区域少;以及存储控制单元,其可操作用于执行控制以将被改写请求请求写入到铁电存储器的数据块存储到铁电存储器的单元存储区域中,以及执行控制以将所请求的数据块的副本存储到高速缓存存储器的单元存储区域中。
5.根据权利要求4的半导体存储装置,还包括判断单元,其可操作用于判断将用所请求的数据块代替的数据块是否存储在高速缓存存储器的单元存储区域中作为其副本,其中如果判断单元的判断结果为否定,则存储控制单元不执行将所请求的数据块的副本存储到高速缓存存储器的单元存储区域中的控制。
6.根据权利要求4的半导体存储装置,还包括接收单元,其可操作用于接收节省功率模式或非节省功率模式的指定;以及判断单元,其可操作用于判断将用所请求的数据块代替的数据块是否存储在高速缓存存储器的单元存储区域中作为其副本,其中如果判断单元的判断结果为否定且接收单元接收节省功率模式的指定,则存储控制单元不执行将所请求的数据块的副本存储到高速缓存存储器的单元存储区域中的控制。
7.根据权利要求4的半导体存储装置,还包括计数器,其可操作用于表示与在高速缓存存储器中的该多个单元存储区域中的一个相对应的计数值;判断单元,其可操作用于判断将用所请求的数据块代替的数据块是否存储在高速缓存存储器的单元存储区域中作为其副本;以及计数器控制单元,其可操作用于导致每当判断单元的判断结果为否定时计数器更新计数值,其中如果判断单元的判断结果是肯定的,则存储控制单元执行控制以在高速缓存存储器中用所请求的数据块的副本代替将被代替的数据块的副本,并执行控制以用所请求的数据块代替存储在铁电存储器的单元存储区域中的数据块,以及如果判断单元的判断结果是否定的,则存储控制单元执行控制以将所请求的数据块的副本存储到与由计数器表示的计数值相对应的高速缓存存储器的单元存储区域中,并执行用所请求的数据块代替存储在铁电存储器的单元存储区域中的数据块的控制。
8.一种半导体存储装置,包括快闪存储器;铁电存储器,其包括多个单元存储区域,在其每一个中存储相互对应的快闪存储器的物理地址和逻辑地址;高速缓存存储器,其包括多个单元存储区域,在其每一个中利用其间的对应的表示存储快闪存储器的物理地址的副本和逻辑地址的副本,该高速缓存存储器包括在数量上比铁电存储器少的单元存储区域;计数器,其可操作用于表示与在高速缓存存储器中的该多个单元存储区域中的一个相对应的计数值;判断单元,其可操作用于判断由请求从快闪存储器读出数据的读出请求指定的逻辑地址的副本是否存储在高速缓存存储器的单元存储区域中;存储控制单元,其可操作用于,如果判断单元的判断结果为否定时,执行控制以从铁电存储器读出与由读出请求指定的逻辑地址对应的物理地址,使用读出的物理地址从快闪存储器读出请求的数据,并利用在由读出请求指定的逻辑地址的副本和读出的物理地址的副本之间的对应的表示,将由读出请求所指定的逻辑地址的副本和读出的物理地址的副本存储到对应于由计数器表示的计数值的高速缓存存储器中的单元存储区域中;以及计数器控制单元,其可操作用于导致每当判断单元的判断结果为否定时计数器更新计数值。
9.一种半导体存储装置,包括第一存储器,其在其中存储第一类型数据;第二存储器,其包括多个单元存储区域,在其每一个中存储用于从第一存储器读出第一类型数据块的第二类型数据段;第三存储器,其包括多个单元存储区域,在其每一个中存储第二类型数据段的副本,该第三存储器包括在数量上比第二存储器少的单元存储区域;判断单元,其可操作用于判断由请求从第一存储器读出数据的读出请求所指定的第二类型数据段的副本是否存储在第三存储器的单元存储区域中;以及存储控制单元,其可操作用于,如果判断单元的判断结果为否定的,则执行控制以从第二存储器读出用于读出所请求的第一类型数据块的第二类型数据段,使用读出的第二类型数据段从第一存储器读出所请求的第一类型数据块,并将读出的第二类型数据段的副本存储到在第三存储器中的单元存储区域中。
10.根据权利要求9的半导体存储装置,还包括计数器,其可操作用于表示与第三存储器中的该多个单元存储区域中的一个相对应的计数值,其中存储控制单元可操作用于执行控制以将读出的第二类型数据段的副本存储在与由计数器表示的计数值相对应的第三存储器中的单元存储区域中。
11.根据权利要求10的半导体存储装置,其中第二类型数据是用于管理第一存储器的管理数据。
12.根据权利要求11的半导体存储装置,其中管理数据是第一存储器的地址数据。
13.根据权利要求12的半导体存储装置,其中每一个管理数据段包括相互对应的第一存储器的物理地址和逻辑地址。
14.根据权利要求9的半导体存储装置,其中第一存储器是快闪存储器,第二存储器是铁电存储器,以及第三存储器是静态随机存取存储器。
15.一种半导体存储装置,包括第一存储器,其在其中存储第一类型数据;第二存储器,其包括多个单元存储区域,在其每一个中存储用于改写存储在第一存储器中的第一类型数据块的第二类型数据段;第三存储器,其包括多个单元存储区域,在其每一个中存储第二类型数据段的副本,该第三存储器包括在数量上比第二存储器少的单元存储区域;计数器,其可操作用于表示与在第三存储器中的该多个单元存储区域中的一个相对应的计数值;判断单元,其可操作用于判断将用如由改写请求所请求的第二类型数据块所代替的第二类型数据块的副本是否存储在第三存储器的单元存储区域中;以及存储控制单元,其可操作用于,如果判断单元的判断结果为肯定的,则执行控制以用所请求的第二类型数据块的副本代替存储在第三存储器的单元存储区域中的第二类型数据块的副本,并执行控制以用所请求的第二类型数据块代替存储在第二存储器的单元存储区域中的第二类型数据块,以及如果判断单元的判断结果为否定的,则执行控制以将所请求的第二类型数据块的副本存储到与由计数器所表示的计数值相对应的第三存储器的单元存储区域中,并执行控制以用所请求的第二类型数据块代替存储在第二存储器的单元存储区域中的第二类型数据块;以及计数器控制单元,其可操作用于导致每当判断单元的判断结果为否定时计数器更新计数值。
16.根据权利要求15的半导体存储装置,其中第二类型数据是用于管理第一存储器的管理数据。
17.根据权利要求16的半导体存储装置,其中该管理数据是第一存储器的地址数据。
18.根据权利要求17的半导体存储装置,其中每一个管理数据段包括第一存储器的相互对应的物理地址和逻辑地址。
19.根据权利要求15的半导体存储装置,其中第一存储器是快闪存储器,第二存储器是铁电存储器,以及第三存储器是静态随机存取存储器。
全文摘要
一种半导体存储装置,包括铁电存储器;SRAM 30;计数器41;CAM 10,其判断被请求从铁电存储器读出的数据块是否存储在SRAM 30中;存储控制单元51,如果判断结果为否定,则其执行控制以从铁电存储器读出所请求的数据块,并将读出的数据块的副本存储到与由计数器41所表示的计数值相对应的SRAM 30中的单元存储区域中;以及计数器控制单元52,其导致计数器41在每次判断结果为否定时更新计数值。
文档编号G11C7/10GK1991798SQ200610172858
公开日2007年7月4日 申请日期2006年9月12日 优先权日2005年9月12日
发明者岩成俊一, 五宝靖, 加藤刚久 申请人:松下电器产业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1