CN101719380A - 存储模块以及存储用辅助模块 - Google Patents
存储模块以及存储用辅助模块 Download PDFInfo
- Publication number
- CN101719380A CN101719380A CN200910177393A CN200910177393A CN101719380A CN 101719380 A CN101719380 A CN 101719380A CN 200910177393 A CN200910177393 A CN 200910177393A CN 200910177393 A CN200910177393 A CN 200910177393A CN 101719380 A CN101719380 A CN 101719380A
- Authority
- CN
- China
- Prior art keywords
- mentioned
- address
- place
- pattern
- memory controller
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0615—Address space extension
- G06F12/0623—Address space extension for memory modules
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Dram (AREA)
Abstract
本发明提供一种存储模块以及存储用辅助模块。在存储模块中,即使从存储控制器输出的存储体地址、行地址、列地址的位数分别与用于确定成为访问对象的存储单元的存储体地址、行地址、列地址的位数不匹配的情况下,也能够访问存储模块的所有的存储单元,并且使存储模块正常进行动作。在存储模块(100)中,地址生成电路(120)使用从存储控制器(12)输出的行地址的最高位,生成确定成为访问对象的存储单元时所不足的存储体地址的最高位(BA2),将该最高位(BA2)输出到SDRAM(110)。动作模式检测部(130)检测存储控制器(12)的动作模式。开关控制部(140)根据所检测出的动作模式来切换开关(128)。
Description
技术领域
本发明涉及一种存储模块(memory module)以及存储用辅助模块。
背景技术
以往,普及一种如下的存储模块:将多个半导体存储芯片安装到基板上并进行配线,并设置了用于连接到计算机上的连接端子。作为该存储模块所具备的存储器而存在SDRAM(Synchronous Dynamic Random Access Memory:同步动态随机存取存储器)。并且,在SDRAM中,内部被分割为多个存储体(bank),各存储体能够分别独立进行动作。在该SDRAM中,根据从计算机所具备的存储控制器输出的存储体地址(bankaddress)、行地址(row address)、列地址(column address)来确定成为访问对象的存储单元(memory cell)。此外,存储体地址通过存储体地址用信号线被输入到SDRAM,行地址以及列地址通过共用信号线被输入到SDRAM。另外,行地址以及列地址按照行地址、列地址的顺序而分两次输入到SDRAM。
另外,伴随着存储模块中的存储器的大容量化,存储单元的数量增加,因此用于确定成为访问对象的存储单元的存储体地址的位数、行地址的位数、列地址的位数发生变化。例如,如果存储体的数量成为两倍,则存储体地址的位数增加1位。因此,在将具备大容量的存储器的存储模块连接到具备与该存储模块不对应的存储控制器的计算机的情况下,即,在存储控制器所输出的各地址的位数与用于确定成为访问对象的存储单元的各地址的位数不匹配的情况下,存在计算机(存储控制器)只能访问存储模块的一部分存储单元这种问题。
因此,提出了一种如下技术:在存储模块中,即使在从存储控制器输出的各地址的位数分别与用于确定成为访问对象的存储单元的各地址的位数不匹配的情况下也能够访问存储模块的所有存储单元(例如,参照以下专利文献1、2)。
专利文献1:日本特开2005-62914号公报
专利文献2:日本特开2004-94785号公报
发明内容
发明要解决的问题
但是,即使在上述专利文献所记载的技术中,也存在无法使存储模块正常动作的情况。
本发明是为了解决上述问题而完成的,其目的在于,在存储模块中即使在从存储控制器输出的存储体地址的位数、行地址的位数、列地址的位数分别与用于确定成为访问对象的存储单元的存储体地址的位数、行地址的位数、列地址的位数不匹配的情况下也能够访问存储模块的所有存储单元,并且能够使存储模块正常进行动作。
用于解决问题的方案
为了解决上述问题的至少一部分,能够将本发明实现为以下方式或者应用例。
[应用例1]一种存储模块,具备:存储器,其具有多个存储体,该存储体具备以矩阵状排列的多个存储单元,该存储器根据从存储控制器输入的规定位数的存储体地址、规定位数的行地址、规定位数的列地址,来确定成为访问对象的存储单元;地址生成电路,其在从上述存储控制器输出的存储体地址的位数、行地址的位数、列地址的位数的总和与用于确定成为上述访问对象的存储单元的存储体地址的位数、行地址的位数、列地址的位数的总和相等,并且,从上述存储控制器输出的行地址的位数比用于确定成为上述访问对象的存储单元的行地址的位数多1位,并且,从上述存储控制器输出的存储体地址的位数比用于确定成为上述访问对象的存储单元的存储体地址的位数少1位时,能够使用从上述存储控制器输出的行地址的最高位来生成用于确定成为上述访问对象的存储单元的存储体地址的最高位,并输出到上述存储器;动作模式检测部,其检测从上述存储控制器访问上述存储器的动作模式是第一动作模式还是第二动作模式;以及控制部,其根据由上述动作模式检测部检测出的动作模式,控制上述地址生成电路。
在应用例1的存储模块中,从存储控制器输出的存储体地址的位数、行地址的位数、列地址的位数的总和与用于确定成为访问对象的存储单元的存储体地址的位数、行地址的位数、列地址的位数的总和相等,并且,从存储控制器输出的行地址的位数比用于确定成为访问对象的存储单元的行地址的位数多1位,并且,从存储控制器输出的存储体地址的位数比用于确定成为访问对象的存储单元的存储体地址的位数少1位时,利用地址生成电路能够生成确定成为访问对象的存储单元时所不足的存储体地址的最高位,并将所生成的该存储体地址的最高位输出到存储器。因而,即使在从存储控制器输出的各地址的位数分别与用于确定成为访问对象的存储单元的各地址的位数不匹配的情况下,在上述条件下,也能够从存储控制器访问存储模块的所有存储单元,并且能够使存储模块正常进行动作。
此外,由上述地址生成电路生成并输出上述存储体地址的最高位需要规定时间,因此在从存储控制器访问存储器的动作模式为能够比较高速地进行访问的动作模式的情况下,来不及生成并输出上述存储体地址的最高位,从而产生无法正常地从存储控制器访问存储器的情况。因此,在从存储控制器访问存储器的动作模式为能够比较高速地进行访问的动作模式的情况下,控制地址生成电路使得地址生成电路不进行上述存储体地址的最高位的生成、输出,即,优选的是切换地址生成电路的控制模式。在此,控制地址生成电路意味着切换是否进行上述生成或者是否进行上述输出。
应用例1的存储模块具备上述动作模式检测部和控制部,因此不需要用户自己判断是否需要切换地址生成电路的控制模式,而能够根据从存储控制器访问存储器的动作模式为第一动作模式还是第二动作模式来进行上述切换。
[应用例2]是应用例1所述的存储模块,上述第一动作模式是从上述存储控制器发出的指令能够按从上述存储控制器输出的时钟信号的每个周期变更的动作模式,上述第二动作模式是从上述存储控制器发出的指令能够按从上述存储控制器输出的时钟信号的每两个周期变更的动作模式,在由上述动作模式检测部检测出的动作模式为上述第一动作模式时,上述控制部控制上述地址生成电路,使得禁止上述存储体地址的最高位输出到上述存储器,在由上述动作模式检测部检测出的动作模式为上述第二动作模式时,上述控制部控制上述地址生成电路,使得将上述存储体地址的最高位输出到上述存储器。
[应用例3]是应用例1或2所述的存储模块,上述地址生成电路具备:寄存器,其暂时存储从上述存储控制器输出的行地址的最高位;输出选择部,其将从上述存储控制器输出的行地址的最高位或者存储在上述寄存器中的上述行地址的最高位作为用于确定成为上述访问对象的存储单元的存储体地址的最高位而输出到上述存储器;以及指令解析部,其根据从上述存储控制器输出的行地址选通信号、列地址选通信号、写入使能信号,解析用于指定对上述存储器的访问方法的指令,将所解析的该指令输出到上述寄存器以及上述输出选择部,上述寄存器根据从上述指令解析部输入的指令来进行上述行地址的最高位的存储或复位,上述输出选择部根据从上述指令解析部输入的指令来输出从上述存储控制器输出的行地址的最高位或者存储在上述寄存器中的上述行地址的最高位。
[应用例4]一种存储模块,具备:存储器,其具有多个存储体,该存储体具备以矩阵状排列的多个存储单元,该存储器根据从存储控制器输入的规定位数的存储体地址、规定位数的行地址、规定位数的列地址,确定成为访问对象的存储单元;地址生成电路,其在从上述存储控制器输出的存储体地址的位数、行地址的位数、列地址的位数的总和与用于确定成为上述访问对象的存储单元的存储体地址的位数、行地址的位数、列地址的位数的总和相等,并且,从上述存储控制器输出的行地址的位数比用于确定成为上述访问对象的存储单元的行地址的位数多1位,并且,从上述存储控制器输出的列地址的位数比用于确定成为上述访问对象的存储单元的列地址的位数少1位时,能够使用从上述存储控制器输出的行地址的最高位来生成用于确定成为上述访问对象的存储单元的列地址的最高位,并输出到上述存储器;动作模式检测部,其检测从上述存储控制器访问上述存储器的动作模式是第一动作模式还是第二动作模式;以及控制部,其根据由上述动作模式检测部检测出的动作模式,控制上述地址生成电路。
在应用例4的存储模块中,从存储控制器输出的存储体地址的位数、行地址的位数、列地址的位数的总和与用于确定成为访问对象的存储单元的存储体地址的位数、行地址的位数、列地址的位数的总和相等,并且,从存储控制器输出的行地址的位数比用于确定成为访问对象的存储单元的行地址的位数多1位,并且,从存储控制器输出的列地址的位数比用于确定成为访问对象的存储单元的列地址的位数少1位时,利用地址生成电路能够生成确定成为访问对象的存储单元时所不足的列地址的最高位,并将所生成的该列地址输出到存储器。因而,即使在从存储控制器输出的各地址的位数分别与用于确定成为访问对象的存储单元的各地址的位数不匹配的情况下,在上述条件下,也能够从存储控制器访问存储模块的所有存储单元,并且能够使存储模块正常进行动作。
此外,由上述地址生成电路生成并输出上述列地址的最高位需要规定时间,因此在从存储控制器访问存储器的动作模式为能够比较高速地进行访问的动作模式的情况下,来不及生成并输出上述列地址的最高位,从而产生无法正常地从存储控制器访问存储器的情况。因此,在从存储控制器访问存储器的动作模式为能够比较高速地进行访问的动作模式的情况下,控制地址生成电路使得地址生成电路不进行上述列地址的最高位的生成、输出,即,优选的是切换地址生成电路的控制模式。在此,控制地址生成电路意味着切换是否进行上述生成或者是否进行上述输出。
应用例4的存储模块具备上述动作模式检测部和控制部,因此不需要用户自己判断是否需要切换地址生成电路的控制模式,而能够根据从存储控制器访问存储器的动作模式为第一动作模式还是第二动作模式来进行上述切换。
[应用例5]是应用例4所述的存储模块,上述第一动作模式是从上述存储控制器发出的指令能够按从上述存储控制器输出的时钟信号的每个周期变更的动作模式,上述第二动作模式是从上述存储控制器发出的指令能够按从上述存储控制器输出的时钟信号的每两个周期变更的动作模式,在由上述动作模式检测部检测出的动作模式为上述第一动作模式时,上述控制部控制上述地址生成电路,使得禁止上述列地址的最高位输出到上述存储器,在由上述动作模式检测部检测出的动作模式为上述第二动作模式时,上述控制部控制上述地址生成电路,使得将上述列地址的最高位输出到上述存储器。
[应用例6]是应用例4或5所述的存储模块,上述地址生成电路具备:寄存器,其暂时存储从上述存储控制器输出的行地址的最高位;输出选择部,其将从上述存储控制器输出的行地址的最高位或者存储在上述寄存器中的上述行地址的最高位作为用于确定成为上述访问对象的存储单元的列地址的最高位而输出到上述存储器;以及指令解析部,其根据从上述存储控制器输出的行地址选通信号、列地址选通信号、写入使能信号,解析用于指定对上述存储器的访问方法的指令,将所解析的该指令输出到上述寄存器以及上述输出选择部,上述寄存器根据从上述指令解析部输入的指令来进行上述行地址的最高位的存储或复位,上述输出选择部根据从上述指令解析部输入的指令来输出从上述存储控制器输出的行地址的最高位或者存储在上述寄存器中的上述行地址的最高位。
[应用例7]是应用例1至6中的任一项所述的存储模块,还具备非易失性存储器,该非易失性存储器存储与由上述动作模式检测部检测出的动作模式相对应的规定的参数值,上述控制部读出存储在上述非易失性存储器中的参数值,根据该参数值来控制上述地址生成电路。
在应用例7的存储模块中,根据存储在非易失性存储器(例如,EEPROM(Electrically Erasable and Programmable Read OnlyMemory:电可擦可编程只读存储器)等)中的上述参数值,能够切换上述地址生成电路的控制模式。此外,作为上述参数值例如可以使用上述地址生成电路的控制模式,也可以使用上述动作模式。
[应用例8]是应用例7所述的存储模块,在上述存储模块被安装到计算机之后,在该计算机初次被启动时,上述控制部将上述参数值存储到上述非易失性存储器,在上述计算机第二次被启动及以后被启动时,读出上述参数值。
在存储模块被安装到计算机之后、即被连接在存储控制器之后,只要计算机中的存储控制器、存储模块的结构没有较大的变更,就通常固定从存储控制器访问存储器的动作模式。
在应用例8的存储模块中,在存储模块被安装到计算机之后,如果进行一次上述动作模式的检测,则之后即使不检测动作模式,也能够正常地从存储控制器访问存储器。此外,在上述非易失性存储器中,预先存储有在存储模块被安装到计算机之后且在计算机最初被启动时所使用的默认参数值,在存储模块被安装到计算机之后,在计算机最初被启动时,使用默认参数值。
[应用例9]是应用例1至8中的任一项所述的存储模块,上述动作模式检测部根据从上述存储控制器输出的时钟信号、片选信号(chip select signal)、行地址选通信号、列地址选通信号、写入使能信号来检测上述动作模式是第一动作模式还是第二动作模式。
[应用例10]是应用例9所述的存储模块,上述动作模式检测部在每个上述时钟信号的上升沿获取上述片选信号、上述行地址选通信号、上述列地址选通信号、上述写入使能信号,并且保持各信号,在获取到的上述片选信号为低电平时所获取的行地址选通信号、列地址选通信号、写入使能信号中的至少一个与上一次获取到的行地址选通信号、列地址选通信号、写入使能信号不同的情况下,检测出上述动作模式为上述第一动作模式,在获取到的上述片选信号为低电平时所获取的行地址选通信号、列地址选通信号、写入使能信号分别与上一次获取到的行地址选通信号、列地址选通信号、写入使能信号相等并且上一次获取到的行地址选通信号、列地址选通信号、写入使能信号中的至少一个与上一次的上一次所获取到的行地址选通信号、列地址选通信号、写入使能信号不同的情况下,检测出上述动作模式为上述第二动作模式。
通过应用例10的模块,能够使用时钟信号、片选信号、行地址选通信号、列地址选通信号、写入使能信号来比较容易地检测上述动作模式。
[应用例11]是应用例10所述的存储模块,上述动作模式检测部多次检测上述动作模式,在上述第一动作模式的检测次数或者上述第二动作模式的检测次数为规定次数时,将被检测到该规定次数的动作模式确定为上述动作模式,其中,上述规定次数比上述多次的一半多。
通过应用例11的模块,能够高精度地确定上述动作模式。
[应用例12]一种存储用辅助模块,与存储模块和存储控制器相连接,对上述存储控制器与上述存储模块之间的信号以及数据的交换进行中继,其中,上述存储模块具备存储器,该存储器具有多个存储体,该存储体具备以矩阵状排列的多个存储单元,该存储器根据从上述存储控制器输入的规定位数的存储体地址、规定位数的行地址、规定位数的列地址,来确定成为访问对象的存储单元,在从上述存储控制器输出的存储体地址的位数、行地址的位数、列地址的位数的总和与用于确定成为上述访问对象的存储单元的存储体地址的位数、行地址的位数、列地址的位数的总和相等,并且,从上述存储控制器输出的行地址的位数比用于确定成为上述访问对象的存储单元的行地址的位数多1位,并且,从上述存储控制器输出的存储体地址的位数比用于确定成为上述访问对象的存储单元的存储体地址的位数少1位时,利用上述存储用辅助模块,上述存储用辅助模块具备:地址生成电路,其能够使用从上述存储控制器输出的行地址的最高位来生成用于确定成为上述访问对象的存储单元的存储体地址的最高位,并输出到上述存储模块;动作模式检测部,其检测从上述存储控制器访问上述存储器的动作模式是第一动作模式还是第二动作模式;以及控制部,其根据由上述动作模式检测部检测出的动作模式,控制上述地址生成电路。
在应用例12的存储用辅助模块中,从存储控制器输出的存储体地址的位数、行地址的位数、列地址的位数的总和与用于确定成为访问对象的存储单元的存储体地址的位数、行地址的位数、列地址的位数的总和相等,并且,从存储控制器输出的行地址的位数比用于确定成为访问对象的存储单元的行地址的位数多1位,并且,从存储控制器输出的存储体地址的位数比用于确定成为访问对象的存储单元的存储体地址的位数少1位时,利用地址生成电路能够生成确定成为访问对象的存储单元时所不足的存储体地址的最高位,并将所生成的该存储体地址的最高位输出到存储模块。因而,即使在从存储控制器输出的各地址的位数分别与用于确定成为访问对象的存储单元的各地址的位数不匹配的情况下,在上述条件下,也能够从存储控制器访问存储模块的所有存储单元,并且能够使存储模块正常进行动作。并且,不需要用户自己判断是否需要切换地址生成电路的控制模式,而能够根据从存储控制器访问存储器的动作模式为第一动作模式还是第二动作模式来进行上述切换。此外,在应用例12的存储用辅助模块中,也与上述应用例1的存储模块同样地,能够应用前面示出的各种附加要素。
[应用例13]一种存储用辅助模块,与存储模块和存储控制器相连接,对上述存储控制器与上述存储模块之间的信号以及数据的交换进行中继,其中,上述存储模块具备存储器,该存储器具有多个存储体,该存储体具备以矩阵状排列的多个存储单元,该存储器根据从上述存储控制器输入的规定位数的存储体地址、规定位数的行地址、规定位数的列地址,来确定成为访问对象的存储单元,在从上述存储控制器输出的存储体地址的位数、行地址的位数、列地址的位数的总和与用于确定成为上述访问对象的存储单元的存储体地址的位数、行地址的位数、列地址的位数的总和相等,并且,从上述存储控制器输出的行地址的位数比用于确定成为上述访问对象的存储单元的行地址的位数多1位,并且,从上述存储控制器输出的列地址的位数比用于确定成为上述访问对象的存储单元的列地址的位数少1位时,利用上述存储用辅助模块,上述存储用辅助模块具备:地址生成电路,其能够使用从上述存储控制器输出的行地址的最高位来生成用于确定成为上述访问对象的存储单元的列地址的最高位,并输出到上述存储模块;动作模式检测部,其检测从上述存储控制器访问上述存储器的动作模式是第一动作模式还是第二动作模式;以及控制部,其根据由上述动作模式检测部检测出的动作模式,控制上述地址生成电路。
在应用例13的存储用辅助模块中,从存储控制器输出的存储体地址的位数、行地址的位数、列地址的位数的总和与用于确定成为访问对象的存储单元的存储体地址的位数、行地址的位数、列地址的位数的总和相等,并且,从存储控制器输出的行地址的位数比用于确定成为访问对象的存储单元的行地址的位数多1位,并且,从存储控制器输出的列地址的位数比用于确定成为访问对象的存储单元的列地址的位数少1位时,利用地址生成电路,能够生成用于确定成为访问对象的存储单元时所不足的列地址的最高位,并将所生成的该列地址的最高位输出到存储模块。因而,即使在从存储控制器输出的各地址的位数分别与用于确定成为访问对象的存储单元的各地址的位数不匹配的情况下,在上述条件下,也能够从存储控制器访问存储模块的所有存储单元,并且能够使存储模块正常进行动作。并且,不需要用户自己判断是否需要切换地址生成电路的控制模式,而能够根据从存储控制器访问存储器的动作模式为第一动作模式还是第二动作模式来进行上述切换。此外,在应用例13的存储用辅助模块中,也与上述应用例4的存储模块同样地,能够应用前面示出的各种附加要素。
发明的效果
能够适当地组合上述各种特征的一部分来构成本发明。例如,构成具备应用例1的存储模块中的地址生成电路和应用例4的存储模块中的地址生成电路两者的存储模块,也可以适当地分开使用两者。
附图说明
图1是表示作为本发明的第一实施例的存储模块100的概要结构的说明图。
图2是表示作为本发明的第一实施例的存储模块100的概要结构的说明图。
图3是表示512兆位(64兆字×8位)的DDR2SDRAM的存储体结构的说明图。
图4是表示1千兆位(64兆字×16位)的DDR2SDRAM(SDRAM 110)的存储体结构的说明图。
图5是表示存储模块100中的初始化例程的流程的流程图。
图6是表示存储模块100中的普通动作例程的流程的一例的流程图。
图7是表示1T动作以及2T动作的说明图。
图8是表示与各种情况相应的存储模块100的动作状况的说明图。
图9是表示基于存储控制器的动作模式(1T动作/2T动作)的存储模块100的控制模式的设定流程的流程图。
图10是表示存储控制器的动作模式的检测方法的说明图。
图11是表示作为本发明的第二实施例的存储用辅助模块200的概要结构的说明图。
附图标记说明
10、12:存储控制器;100、100A:存储模块;110:SDRAM;120:地址生成电路;122:寄存器;124:输出选择部;126:指令解析部;128:开关;130:动作模式检测部;140:开关控制部;150:EEPROM;200:存储用辅助模块。
具体实施方式
下面,根据实施例说明本发明的实施方式。
A.第一实施例:
图1以及图2是表示作为本发明的第一实施例的存储模块100的概要结构的说明图。图1示出存储模块100被连接在存储控制器10时的样子。另外,图2示出存储模块100被连接在存储控制器12时的样子。后述它们的差异。
如图所示,该存储模块100具备SDRAM 110、地址生成电路120、动作模式检测部130、开关控制部140以及EEPROM 150。首先说明存储模块100中的SDRAM 110、地址生成电路120以及它们的典型动作,然后说明动作模式检测部130、开关控制部140、EEPROM 150以及它们的动作。
在本实施例中,设为使用1吉位(64兆字×16位)的DDR2(Double Data Rate 2:双倍数据速率版本2)SDRAM作为SDRAM 110。如后面所说明的那样,该S DRAM 110的内部被分割成8个存储体,各存储体能够分别独立地进行动作。并且,3位的存储体地址(BA0~BA2)、13位的行地址(A0~A12)、10位的列地址(A0~A9)被输入到SDRAM 110,根据这些地址来确定成为访问对象的存储单元。行地址以及列地址通过共用的信号线以行地址、列地址的顺序而分两次输入到SDRAM 110,因此行地址以及列地址的附图标记的开头附加了共同的“A”。
此外,除了上述各地址以外,片选信号(CS:chip select)、行地址选通信号(RAS:row address strobe)、列地址选通信号(CAS:column address strobe)、写入使能信号(WE:write enable)、未图示的时钟信号、时钟使能信号等的使用于SDRAM 110的动作的各种信号也被输入到SDRAM 110。另外,存储模块100还具备用于在存储控制器与SDRAM 110之间进行数据的输入输出的未图示的数据输入输出引脚以及配线。
如图1以及图2所示,本实施例的存储模块100能够连接到存储控制器10或者存储控制器12。
存储控制器10与1吉位(64兆字×16位)的DDR2SDRAM(SDRAM 110)对应,如图1所示,输出3位的存储体地址(BA0~BA2)、13位的行地址(A0~A12)、10位的列地址(A0~A9)等。也就是说,从存储控制器10输出的各地址的位数与用于确定成为访问对象的存储单元的各地址的位数匹配。
另一方面,存储控制器12与内部被分割为4个存储体的、512兆位(64兆字×8位)的DDR2SDRAM对应,如图2所示,输出2位的存储体地址(BA0、BA1)、14位的行地址(A0~A13)、10位的列地址(A0~A9)等。也就是说,从存储控制器12输出的各地址的位数与用于确定成为访问对象的存储单元的各地址的位数不匹配,从存储控制器12输出的各地址的位数的总和与在SDRAM 110中用于确定成为访问对象的存储单元的各地址的位数的总和相等,并且,从存储控制器12输出的行地址的位数比用于确定成为访问对象的存储单元的行地址的位数多1位,并且,从存储控制器12输出的存储体地址的位数比用于确定成为访问对象的存储单元的存储体地址的位数少1位。在存储模块100被连接在存储控制器12时,存储模块100所具备的地址生成电路120用于消除从存储控制器12输出的各地址与输入到SDRAM 110的各地址之间的位数的不匹配。
地址生成电路120具备寄存器122、输出选择部124、指令解析部126以及开关128。
指令解析部126根据从存储控制器12输出的行地址选通信号(RAS)、列地址选通信号(CAS)、写入使能信号(WE)来解析用于指定对SDRAM 110的访问方法的指令,将解析出的指令输出到寄存器122以及输出选择部124。该指令为使用于SDRAM的动作控制的公知的指令,作为指令例如可列举出全部存储体预充电、指定存储体预充电、刷新(refresh)、模式寄存器设置(moderegister set)、激活(active)、读取、写入等。
寄存器122根据从指令解析部126输入的指令来对从存储控制器12输出的行地址的最高位(A13)进行暂时存储或者复位。另外,时钟信号(CLK)以及片选信号(CS)被输入到寄存器122,在被输入的片选信号(CS)为“L”(低电平)时,寄存器122在时钟信号(CLK)的上升沿确定从指令解析部126输入的指令。此外,如后面所说明的那样,存储控制器12将SDRAM 110的8个存储体作为4个存储体进行处理,因此省略了图示,但是地址生成电路120具备分别与这些4个存储体对应的4个寄存器122。
输出选择部124根据从指令解析部126输入的指令,将从存储控制器12输出的行地址的最高位或者存储在寄存器122中的行地址的最高位作为确定成为访问对象的存储单元时所不足的存储体地址的最高位(BA2)而输出到SDRAM 110。更具体地说,进行如下处理。
存储控制器12所发出的指令中的“激活”指令伴随有行地址的指定。在从指令解析部126输入的指令(与存储控制器12所发出的指令对应)为“激活”指令的情况下,输出选择部124将从存储控制器12输出的行地址的最高位作为存储体地址的最高位(BA2)而输出到SDRAM 110。
另一方面,当输出“模式寄存器设置”指令、“读取”指令以及“写入”指令时,存储控制器12不指定行地址。因此,当这些指令被输出时,输出选择部124无法从存储控制器12接收行地址来将该行地址的最高位作为存储体地址的最高位(BA2)而输出到SDRAM 110。因此,在从指令解析部126输入的指令(与存储控制器12所发出的指令对应)为“模式寄存器设置”指令、“读取”指令或“写入”指令的情况下,输出选择部124将存储在寄存器122中的行地址的最高位作为存储体地址的最高位而输出到SDRAM 110。此外,在寄存器122中存储有当发出“激活”指令时从存储控制器12输出的行地址的最高位。后面说明这些动作。
通过存储模块100具备这种地址生成电路120,即使在存储模块100连接在与SDRAM 110(1吉位(64兆字×16位)的DDR2SDRAM)不对应的存储控制器12的情况下,也能够与连接在存储控制器10的情况同样地,用于确定成为访问对象的存储单元的各地址全部被输入到SDRAM 110,因此SDRAM 110能够正常进行动作。
此外,在本实施例中,如图2所示,将向SDRAM 110输出由地址生成电路120生成的存储体地址的最高位BA2的存储模块100的控制模式称为“虚拟模式(virtual mode)”。另外,如图1所示,将不向SDRAM 110输出由地址生成电路120生成的存储体地址的最高位BA2的存储模块100的控制模式称为“正常模式(normal mode)”。
图3是表示512兆位(64兆字×8位)的DDR2SDRAM的存储体结构的说明图。如图所示,SDRAM的内部被分割成4个存储体(Bank0~Bank3)。此外,每个存储体具备未图示的行解码器、列解码器、读出放大器(sense amplifier)等,使得各存储体能够分别进行动作。并且,存储控制器12根据2位的存储体地址BA0、BA1来从4个存储体中确定具有成为访问对象的存储单元的存储体,并且,根据行地址以及列地址来确定所确定的存储体内的存储单元。
图4是表示1吉位(64兆字×16位)的DDR2SDRAM(SDRAM110)的存储体结构的说明图。如图所示,SDRAM 110的内部被分割成8个存储体(Bank0~Bank7)。此外,每个存储体具备未图示的行解码器、列解码器、读出放大器等,使得各存储体能够分别独立地进行动作。在将这种SDRAM 110直接连接到存储控制器12的情况下,如前面所说明的那样,从存储控制器12输出的各地址的位数与用于确定成为访问对象的存储单元的各地址的位数不匹配,因此存储控制器12无法使SDRAM 110正常进行动作。与此相对,在本实施例中,存储模块100具备前面所说明的地址生成电路120,由此存储控制器12与连接有图3示出的具备内部被分割为4个存储体的512兆位(64兆字×8位)的DDR2SDRAM的存储模块时同样地,能够访问存储模块100所具备的SDRAM 110。
即,在本实施例中,存储控制器12能够将SDRAM 110内部的由Bank0和Bank4构成的块、由Bank1和Bank5构成的块、由Bank2和Bank6构成的块、由Bank3和Bank7构成的块作为4个存储体来进行处理。例如,在从存储控制器12输出的存储体地址BA0、BA1分别为BA0=0、BA1=0的情况下,存储控制器12能够将由Bank0和Bank4构成的块作为一个存储体进行处理。另一方面,在SDRAM 110中,根据从存储控制器12输出的存储体地址B0、B1来确定块,并且,根据从地址生成电路120输出的存储体地址BA2(从存储控制器12输出的行地址的最高位A13)来确定块内的某一个存储体。
图5是表示存储模块100中的初始化例程的流程的流程图。每当对存储模块100接通电源时执行该初始化例程。在此,说明存储模块100连接在存储控制器12时的初始化例程。
首先,当从存储控制器12发出“全部存储体预充电”指令时,SDRAM 110进行全部存储体的预充电(步骤S100)。此时,根据从指令解析部126输入的指令(“全部存储体预充电”指令),地址生成电路120所具备的寄存器122的值复位为零。接着,当从存储控制器12发出“刷新”指令时,SDRAM 110进行刷新动作(步骤S110)。接着,当从存储控制器12发出“模式寄存器设置”指令时,SDRAM 110按照所输入的地址的位排列,进行动作模式的切换(步骤S120)。此时,地址生成电路120所具备的输出选择部124根据从指令解析部126输入的指令(“模式寄存器设置”指令)将寄存器122的值(零)作为BA2输出到SDRAM 110。通过以上动作,结束初始化例程,SDRAM 110成为空闲(idle)状态。
图6是表示存储模块100中的普通动作例程的流程的一例的流程图。在上述初始化例程结束之后执行该普通动作例程。在此,说明存储模块100被连接在存储控制器12时的普通动作例程。
首先,当从存储控制器12发出“激活”指令时,SDRAM 110根据从存储控制器12输出的存储体地址BA0、BA1以及行地址A0~A12和从地址生成电路120所具备的输出选择部124输出的存储体地址BA2(从存储控制器12输出的行地址的最高位A13),进行激活(步骤S20O)。此时,地址生成电路120所具备的寄存器122根据从指令解析部126输入的指令(“激活”指令),存储从存储控制器12输出的行地址的最高位A13。即,此后由输出选择部124从寄存器122读出的位是当“激活”指令被发出时从存储控制器12输出的行地址的最高位。
接着,当从存储控制器12发出“读取”指令或者“写入”指令时,SDRAM 110根据从存储控制器12输出的存储体地址BA0、BA1以及列地址A0~A9和从地址生成电路120所具备的输出选择部124输出的存储体地址BA2(存储在寄存器122中的行地址的最高位A13),读出来自被确定为访问对象的存储单元的数据,或者向被确定为访问对象的存储单元写入数据(步骤S210)。
接着,当从存储控制器12发出“指定存储体预充电”指令时(步骤S220:“是”),SDRAM 110根据从存储控制器12输出的存储体地址BA0、BA1和从地址生成电路120所具备的输出选择部124输出的存储体地址BA2(存储在寄存器122中的行地址的最高位A13),对所指定的存储体进行预充电(步骤S230)。另外,当从存储控制器12发出“全部存储体预充电”指令时(步骤S220:“是”),SDRAM 110对全部存储体进行预充电(步骤S230)。此时,地址生成电路120所具备的寄存器122的值根据从指令解析部126输入的指令(“全部存储体预充电”指令)而复位为零。在步骤S230的动作结束时,SDRAM 110成为空闲状态。此外,接着步骤S210,当从存储控制器12发出“读取”指令或者“写入”指令的情况下(步骤S220:“否”),返回到步骤S210。
根据以上说明的第一实施例的存储模块100,从存储控制器12输出的存储体地址的位数(2位)、行地址的位数(14位)、列地址的位数(10位)的总和(26位)与用于确定成为访问对象的存储单元的存储体地址的位数(3位)、行地址的位数(13位)、列地址的位数(10位)的总和(26位)相等,并且,从存储控制器12输出的行地址的位数比用于确定成为访问对象的存储单元的行地址的位数多1位,并且,从存储控制器12输出的存储体地址的位数比用于确定成为访问对象的存储单元的存储体地址的位数少1位时,利用地址生成电路120能够生成用于确定成为访问对象的存储单元时所不足的存储体地址的最高位BA2,并将所生成的该存储体地址的最高位BA2输出到SDRAM 110。因而,即使在从存储控制器输出的各地址的位数分别与用于确定成为访问对象的存储单元的各地址的位数不匹配的情况下,在上述条件下,也能够从存储控制器访问存储模块100的所有存储单元,并且能够使存储模块100正常进行动作。
另外,从存储控制器10、12访问存储模块100所具备的SDRAM 110的动作模式中有1T动作以及2T动作。
图7是表示1T动作以及2T动作的说明图。如图7的(a)所示,1T动作是能够按时钟信号(CLK)的每个周期来变更指令地址(RAS、CAS、WE)的动作模式,是能够比较高速地进行访问的动作模式。从指令地址的切换到确定为止的空余(margin)比较少,因此仅在相同的存储信道中只安装有一个存储模块时能够进行该1T动作。另一方面,如图7的(b)所示,2T动作是能够按时钟信号(CLK)的每两个周期来变更指令地址的动作模式,是访问速度比较慢的动作模式。从指令地址的切换到确定为止的空余比较多,因此即使在相同的存储信道中安装有多个存储模块的情况下,预计稳定地进行该2T动作。
在本实施例的存储模块100中,利用地址生成电路120能够生成前面所说明的不足的存储体地址的最高位BA2,并输出到SDRAM 110,地址生成电路120的动作需要规定时间,因此在存储控制器10、12的动作模式为1T动作的情况下,如果将存储模块100的控制模式设为虚拟模式,则来不及生成并输出不足的存储体地址的最高位BA2,从而产生无法正常访问SDRAM 110的情况。
另一方面,在搭载有不允许将具备1吉位SDRAM的存储模块和具备512兆位的SDRAM的存储模块混在一起进行连接的存储控制器的PC(个人计算机)上,将具备1吉位SDRAM的存储模块100和具备512兆位的SDRAM的存储模块混在一起进行连接的情况下,当将存储模块100的控制模式设为正常模式时,512兆位的SDRAM不被识别。但是,正常进行对1吉位SDRAM的访问。因此,在本实施例中,如下面所说明的那样,能够根据各种情况来适当地切换存储模块100的动作、即存储模块100的控制模式。
图8是表示与各种情况相应的存储模块100的动作状况的说明图。此外,该图的最上段的“环境”的项目中的“可混在一起PC”表示搭载有允许将具备1吉位SDRAM的存储模块和具备512兆位的SDRAM的存储模块混在一起进行连接的存储控制器的PC(个人计算机)。在“可混在一起PC”中,在地址生成电路120中不需要进行将从存储控制器12输出的行地址的最高位A13作为存储体地址的最高位BA2而输出到SDRAM 110的处理(基于虚拟模式的处理)。
另外,图8的最上段的“环境”项目中的“不可混在一起PC”表示搭载有不允许将具备1吉位SDRAM的存储模块和具备512兆位的SDRAM的存储模块混在一起进行连接的存储控制器的PC(个人计算机)。在“不可混在一起PC”中,如果不进行基于虚拟模式的处理,则连接在“不可混在一起PC”上的具备1吉位SDRAM的存储模块和具备512兆位的SDRAM的存储模块中的具备512兆位的SDRAM的存储模块不被识别。
将存储模块100以及具备512兆位的SDRAM的存储模块混在一起而安装在“可混在一起PC”上,在存储控制器的动作模式为1T动作的情况下(情况1),在存储模块100的控制模式为正常模式的情况下,正常进行动作。但是,在存储模块100的控制模式为虚拟模式的情况下,如前面所说明的那样,地址生成电路120的动作跟不上,从而异常进行动作(挂起(hang-up)等)。因而,在情况1中,必须将存储模块100的控制模式设为正常模式。
另外,将存储模块100以及具备512兆位的SDRAM的存储模块混在一起而安装在“可混在一起PC”上,在存储控制器的动作模式为2T动作的情况下(情况2),不管在存储模块100的控制模式是正常模式还是虚拟模式的情况下,都正常进行动作。
另外,将存储模块100以及具备512兆位的SDRAM的存储模块混在一起而安装在“不可混在一起PC”上,在存储控制器的动作模式为1T动作的情况下(情况3),在存储模块100的控制模式为正常模式的情况下,作为PC正常进行动作,但是,存在不识别具备512兆位的SDRAM的存储模块这种问题。但是,在存储模块100的控制模式为虚拟模式的情况下,如前面所说明的那样,地址生成电路120的动作跟不上,从而异常进行动作(挂起等)。因而,在情况3中,必须将存储模块100的控制模式设为正常模式。
另外,将存储模块100以及具备512兆位的SDRAM的存储模块混在一起而安装在“不可混在一起PC”上,在存储控制器的动作模式为2T动作的情况下(情况4),在存储模块100的控制模式为正常模式的情况下,作为PC正常进行动作,但是,存在不识别具备512兆位的SDRAM的存储模块这种问题。另一方面,在存储模块100的控制模式为虚拟模式的情况下,正常进行动作。因而,在情况4中,必须将存储模块100的控制模式设为虚拟模式。
根据以上情况可知,与具备512兆位的SDRAM的存储模块混在一起安装了存储模块100的PC不管是“可混在一起PC”还是“不可混在一起PC”,如果在存储控制器的动作模式为1T动作的情况下,将存储模块100的控制模式设为正常模式,在存储控制器的动作模式为2T动作的情况下,将存储模块100的控制模式设为虚拟模式,则在所有情况下都能够正常进行动作。
图9是表示基于存储控制器的动作模式(1T动作/2T动作)的存储模块100的控制模式的设定流程的流程图。
首先,在存储模块100被安装到计算机之后,当最初接通电源时(步骤S300),利用开关控制部140来读出预先存储在EEPROM 150中的默认控制模式(=正常模式)(步骤S310),根据该默认控制模式来控制开关128(步骤S320)。即,将存储模块100的控制模式设定为正常模式。将默认控制模式作为正常模式是因为:如前面所说明的那样,当存储控制器进行1T动作时,在将存储模块100的控制模式设为虚拟模式的情况下,变成挂起等异常动作,但是在设为正常模式的情况下,作为PC而不存在挂起等可能性而能够启动。
接着,由动作模式检测部130检测存储控制器的动作模式(步骤S330)。
图10是表示存储控制器的动作模式的检测方法的说明图。在本实施例中,动作模式检测部130在每个时钟信号(CLK)的上升沿依次获取片选信号(CS)以及指令地址(RAS、CAS、WE),保持三次的指令地址,通过依次对这些指令地址进行比较来检测存储控制器的动作模式。
即,如图10的(a)所示,动作模式检测部130在获取到的片选信号(CS)为“L”的时刻t(0)所获取的指令地址与上一次时刻t(-1)所获取的指令地址不同的情况下,判断为存储控制器的动作模式为1T动作(t(0)的指令地址≠t(-1)的指令地址→1T动作)。另外,如图10的(b)所示,动作模式检测部130在获取到的片选信号(CS)为“L”的时刻t(0)所获取的指令地址与上一次时刻t(-1)所获取到的指令地址相同、并且在上一次时刻t(-1)所获取到的指令地址与上一次的上一次时刻t(-2)所获取的指令地址不同的情况下,判断为存储控制器的动作模式为2T动作(t(0)的指令地址=t(-1)的指令地址,并且t(-1)的指令地址≠t(-2)的指令地址→2T动作)。
并且,在本实施例中,动作模式检测部130进行多次上述判断,当任一个动作模式的检测次数为规定次数时,将被检测到规定次数的动作模式确定为存储控制器的动作模式,其中,所述规定次数比多次的一半多(例如,5次中的3次)。由此,能够高精确度地确定存储控制器的动作模式。
返回图9,说明存储模块100的控制模式的设定。在步骤S330中检测(确定)出存储控制器的动作模式时,开关控制部140根据所检测出的动作模式将下一次的控制模式存储到EEPROM150(步骤S340)。在所检测出的动作模式为1T动作的情况下,开关控制部140将与1T动作对应的正常模式(参照图8)存储到EEPROM 150来作为下一次的动作模式。另一方面,在所检测出的动作模式为2T动作的情况下,开关控制部140存储与2T动作对应的虚拟模式(参照图8)来作为下一次的动作模式。
之后,当由用户再次启动计算机时(步骤S350),开关控制部140从EEPROM 150读出作为下一次的控制模式而存储的控制模式(步骤S360),根据所读出的控制模式来控制开关128(步骤S370)。
根据以上说明的第一实施例的存储模块100,不需要用户自己判断是否需要切换开关128,而检测存储控制器的动作模式是1T动作还是2T动作,根据所检测出的动作模式,能够适当地切换开关128、即存储模块100的控制模式。
B.第二实施例:
图11是表示作为本发明的第二实施例的存储用辅助模块200的概要结构的说明图。
如图所示,当用户想要通过与SDRAM 110不对应的存储控制器12来使存储模块100A所具备的SDRAM 110进行动作时,为了中继存储控制器12与存储模块100A之间的信号以及数据的交换,将该存储用辅助模块200与存储控制器12和存储模块100A进行连接。并且,存储模块100A是从第一实施例的存储模块100中去掉地址生成电路120、动作模式检测部130、开关控制部140以及EEPROM 150的模块。另外,存储用辅助模块200是具备第一实施例的存储模块100中的地址生成电路120、动作模式检测部130、开关控制部140以及EEPROM 150的适配器(adapter)。
此外,在第二实施例中,存储用辅助模块200所具备的地址生成电路120、动作模式检测部130、开关控制部140、EEPROM150的动作与第一实施例的存储模块100相同。因而,在本实施例中,省略说明这些动作。
根据以上说明的第二实施例的存储用辅助模块200,从存储控制器12输出的存储体地址的位数(2位)、行地址的位数(14位)、列地址的位数(10位)的总和(26位)与用于确定成为访问对象的存储单元的存储体地址的位数(3位)、行地址的位数(13位)、列地址的位数(10位)的总和(26位)相等,并且,从存储控制器12输出的行地址的位数比用于确定成为访问对象的存储单元的行地址的位数多1位,并且,从存储控制器12输出的存储体地址的位数比用于确定成为访问对象的存储单元的存储体地址的位数少1位时,利用地址生成电路120能够生成用于确定成为访问对象的存储单元时所不足的存储体地址的最高位BA2,并将所生成的该存储体地址的最高位BA2输出到存储模块100A。因而,即使在从存储控制器输出的各地址的位数分别与用于确定成为访问对象的存储单元的各地址的位数不匹配的情况下,在上述条件下,也能够从存储控制器访问存储模块100A的所有存储单元,并且能够使存储模块100A正常进行动作。
另外,根据第二实施例的存储用辅助模块200,与第一实施例的存储模块100同样地,不需要用户自己判断是否需要切换开关128,而检测存储控制器的动作模式是1T动作还是2T动作,根据所检测出的动作模式,能够适当地切换开关128、即存储用辅助模块200的控制模式。
C.变形例:
以上,说明了本发明的几个实施方式,但是本发明并不限定于这些实施方式,在不脱离其宗旨的范围内能够以各种方式进行实施。例如,能够进行以下那样的变形。
C1.变形例1:
在上述实施例中,说明了从存储控制器输出的存储体地址的位数、行地址的位数、列地址的位数的总和与用于确定成为访问对象的存储单元的存储体地址的位数、行地址的位数、列地址的位数的总和相等,并且,从存储控制器输出的行地址的位数比用于确定成为访问对象的存储单元的行地址的位数多1位,并且,从存储控制器输出的存储体地址的位数比用于确定成为访问对象的存储单元的存储体地址的位数少1位,但是本发明并不限于此。省略图示以及详细说明,但是在从存储控制器输出的存储体地址的位数、行地址的位数、列地址的位数的总和与用于确定成为访问对象的存储单元的存储体地址的位数、行地址的位数、列地址的位数的总和相等,并且,从存储控制器输出的行地址的位数比用于成为访问对象的存储单元的确定的行地址的位数多1位,并且,从存储控制器输出的列地址的位数比用于确定成为访问对象的存储单元的列地址的位数少1位时也能够应用本发明。在这种情况下,只要地址生成电路能够使用从存储控制器输出的行地址的最高位来生成用于确定成为访问对象的存储单元时所不足的列地址的最高位,并将所生成的该列地址的最高位输出到SDRAM即可。由此,也与上述实施例同样地,即使在从存储控制器输出的各地址的位数分别与用于确定成为访问对象的存储单元的各地址的位数不匹配的情况下,在上述条件下,也能够从存储控制器访问存储模块的所有存储单元,并且能够使存储模块正常进行动作。
C2.变形例2:
在上述实施例中,在地址生成电路120中,设为开关128被设置在输出选择部124的后级,但是本发明并不限于此。只要地址生成电路120能够使用从存储控制器输出的行地址的最高位来生成用于确定成为访问对象的存储单元的存储体地址的最高位,并输出到SDRAM 110即可,也可以将开关128设置在其它部位。
C3.变形例3:
在上述实施例的存储模块100中,作为SDRAM 110使用DDR2SDRAM,但是本发明并不限于此。代替DDR2SDRAM,例如也可以使用DDRSDRAM、DDR3SDRAM等的具有多个存储体的其它SDRAM。
Claims (13)
1.一种存储模块,具备:
存储器,其具有多个存储体,该存储体具备以矩阵状排列的多个存储单元,该存储器根据从存储控制器输入的规定位数的存储体地址、规定位数的行地址、规定位数的列地址,来确定成为访问对象的存储单元;
地址生成电路,其在从上述存储控制器输出的存储体地址的位数、行地址的位数、列地址的位数的总和与用于确定成为上述访问对象的存储单元的存储体地址的位数、行地址的位数、列地址的位数的总和相等,并且,从上述存储控制器输出的行地址的位数比用于确定成为上述访问对象的存储单元的行地址的位数多1位,并且,从上述存储控制器输出的存储体地址的位数比用于确定成为上述访问对象的存储单元的存储体地址的位数少1位时,能够使用从上述存储控制器输出的行地址的最高位来生成用于确定成为上述访问对象的存储单元的存储体地址的最高位,并输出到上述存储器;
动作模式检测部,其检测从上述存储控制器访问上述存储器的动作模式是第一动作模式还是第二动作模式;以及
控制部,其根据由上述动作模式检测部检测出的动作模式,控制上述地址生成电路。
2.根据权利要求1所述的存储模块,其特征在于,
上述第一动作模式是从上述存储控制器发出的指令能够按从上述存储控制器输出的时钟信号的每个周期变更的动作模式,
上述第二动作模式是从上述存储控制器发出的指令能够按从上述存储控制器输出的时钟信号的每两个周期变更的动作模式,
在由上述动作模式检测部检测出的动作模式为上述第一动作模式时,上述控制部控制上述地址生成电路,使得禁止上述存储体地址的最高位输出到上述存储器,
在由上述动作模式检测部检测出的动作模式为上述第二动作模式时,上述控制部控制上述地址生成电路,使得将上述存储体地址的最高位输出到上述存储器。
3.根据权利要求1或2所述的存储模块,其特征在于,
上述地址生成电路具备:
寄存器,其暂时存储从上述存储控制器输出的行地址的最高位;
输出选择部,其将从上述存储控制器输出的行地址的最高位或者存储在上述寄存器中的上述行地址的最高位作为用于确定成为上述访问对象的存储单元的存储体地址的最高位而输出到上述存储器;以及
指令解析部,其根据从上述存储控制器输出的行地址选通信号、列地址选通信号、写入使能信号,解析用于指定对上述存储器的访问方法的指令,将所解析的该指令输出到上述寄存器以及上述输出选择部,
上述寄存器根据从上述指令解析部输入的指令来进行上述行地址的最高位的存储或复位,
上述输出选择部根据从上述指令解析部输入的指令来输出从上述存储控制器输出的行地址的最高位或者存储在上述寄存器中的上述行地址的最高位。
4.一种存储模块,具备:
存储器,其具有多个存储体,该存储体具备以矩阵状排列的多个存储单元,该存储器根据从存储控制器输入的规定位数的存储体地址、规定位数的行地址、规定位数的列地址,确定成为访问对象的存储单元;
地址生成电路,其在从上述存储控制器输出的存储体地址的位数、行地址的位数、列地址的位数的总和与用于确定成为上述访问对象的存储单元的存储体地址的位数、行地址的位数、列地址的位数的总和相等,并且,从上述存储控制器输出的行地址的位数比用于确定成为上述访问对象的存储单元的行地址的位数多1位,并且,从上述存储控制器输出的列地址的位数比用于确定成为上述访问对象的存储单元的列地址的位数少1位时,能够使用从上述存储控制器输出的行地址的最高位来生成用于确定成为上述访问对象的存储单元的列地址的最高位,并输出到上述存储器;
动作模式检测部,其检测从上述存储控制器访问上述存储器的动作模式是第一动作模式还是第二动作模式;以及
控制部,其根据由上述动作模式检测部检测出的动作模式,控制上述地址生成电路。
5.根据权利要求4所述的存储模块,其特征在于,
上述第一动作模式是从上述存储控制器发出的指令能够按从上述存储控制器输出的时钟信号的每个周期变更的动作模式,
上述第二动作模式是从上述存储控制器发出的指令能够按从上述存储控制器输出的时钟信号的每两个周期变更的动作模式,
在由上述动作模式检测部检测出的动作模式为上述第一动作模式时,上述控制部控制上述地址生成电路,使得禁止上述列地址的最高位输出到上述存储器,
在由上述动作模式检测部检测出的动作模式为上述第二动作模式时,上述控制部控制上述地址生成电路,使得将上述列地址的最高位输出到上述存储器。
6.根据权利要求4或5所述的存储模块,其特征在于,
上述地址生成电路具备:
寄存器,其暂时存储从上述存储控制器输出的行地址的最高位;
输出选择部,其将从上述存储控制器输出的行地址的最高位或者存储在上述寄存器中的上述行地址的最高位作为用于确定成为上述访问对象的存储单元的列地址的最高位而输出到上述存储器;以及
指令解析部,其根据从上述存储控制器输出的行地址选通信号、列地址选通信号、写入使能信号,解析用于指定对上述存储器的访问方法的指令,将所解析的该指令输出到上述寄存器以及上述输出选择部,
上述寄存器根据从上述指令解析部输入的指令来进行上述行地址的最高位的存储或复位,
上述输出选择部根据从上述指令解析部输入的指令来输出从上述存储控制器输出的行地址的最高位或者存储在上述寄存器中的上述行地址的最高位。
7.根据权利要求1至6中的任一项所述的存储模块,其特征在于,
还具备非易失性存储器,该非易失性存储器存储与由上述动作模式检测部检测出的动作模式相对应的规定的参数值,
上述控制部读出存储在上述非易失性存储器中的参数值,根据该参数值来控制上述地址生成电路。
8.根据权利要求7所述的存储模块,其特征在于,
在上述存储模块被安装到计算机之后,在该计算机初次被启动时,上述控制部将上述参数值存储到上述非易失性存储器,
在上述计算机第二次被启动及以后被启动时,读出上述参数值。
9.根据权利要求1至8中的任一项所述的存储模块,其特征在于,
上述动作模式检测部根据从上述存储控制器输出的时钟信号、片选信号、行地址选通信号、列地址选通信号、写入使能信号来检测上述动作模式是第一动作模式还是第二动作模式。
10.根据权利要求9所述的存储模块,其特征在于,
上述动作模式检测部在每个上述时钟信号的上升沿获取上述片选信号、上述行地址选通信号、上述列地址选通信号、上述写入使能信号,并且保持各信号,
在获取到的上述片选信号为低电平时所获取的行地址选通信号、列地址选通信号、写入使能信号中的至少一个与上一次获取到的行地址选通信号、列地址选通信号、写入使能信号不同的情况下,检测出上述动作模式为上述第一动作模式,
在获取到的上述片选信号为低电平时所获取的行地址选通信号、列地址选通信号、写入使能信号分别与上一次获取到的行地址选通信号、列地址选通信号、写入使能信号相等并且上一次获取到的行地址选通信号、列地址选通信号、写入使能信号中的至少一个与上一次的上一次所获取到的行地址选通信号、列地址选通信号、写入使能信号不同的情况下,检测出上述动作模式为上述第二动作模式。
11.根据权利要求10所述的存储模块,其特征在于,
上述动作模式检测部多次检测上述动作模式,在上述第一动作模式的检测次数或者上述第二动作模式的检测次数为规定次数时,将被检测到该规定次数的动作模式确定为上述动作模式,其中,上述规定次数比上述多次的一半多。
12.一种存储用辅助模块,与存储模块和存储控制器相连接,对上述存储控制器与上述存储模块之间的信号以及数据的交换进行中继,其中,上述存储模块具备存储器,该存储器具有多个存储体,该存储体具备以矩阵状排列的多个存储单元,该存储器根据从上述存储控制器输入的规定位数的存储体地址、规定位数的行地址、规定位数的列地址,来确定成为访问对象的存储单元,
在从上述存储控制器输出的存储体地址的位数、行地址的位数、列地址的位数的总和与用于确定成为上述访问对象的存储单元的存储体地址的位数、行地址的位数、列地址的位数的总和相等,并且,从上述存储控制器输出的行地址的位数比用于确定成为上述访问对象的存储单元的行地址的位数多1位,并且,从上述存储控制器输出的存储体地址的位数比用于确定成为上述访问对象的存储单元的存储体地址的位数少1位时,利用上述存储用辅助模块,
上述存储用辅助模块具备:
地址生成电路,其能够使用从上述存储控制器输出的行地址的最高位来生成用于确定成为上述访问对象的存储单元的存储体地址的最高位,并输出到上述存储模块;
动作模式检测部,其检测从上述存储控制器访问上述存储器的动作模式是第一动作模式还是第二动作模式;以及
控制部,其根据由上述动作模式检测部检测出的动作模式,控制上述地址生成电路。
13.一种存储用辅助模块,与存储模块和存储控制器相连接,对上述存储控制器与上述存储模块之间的信号以及数据的交换进行中继,其中,上述存储模块具备存储器,该存储器具有多个存储体,该存储体具备以矩阵状排列的多个存储单元,该存储器根据从上述存储控制器输入的规定位数的存储体地址、规定位数的行地址、规定位数的列地址,来确定成为访问对象的存储单元,
在从上述存储控制器输出的存储体地址的位数、行地址的位数、列地址的位数的总和与用于确定成为上述访问对象的存储单元的存储体地址的位数、行地址的位数、列地址的位数的总和相等,并且,从上述存储控制器输出的行地址的位数比用于确定成为上述访问对象的存储单元的行地址的位数多1位,并且,从上述存储控制器输出的列地址的位数比用于确定成为上述访问对象的存储单元的列地址的位数少1位时,利用上述存储用辅助模块,
上述存储用辅助模块具备:
地址生成电路,其能够使用从上述存储控制器输出的行地址的最高位来生成用于确定成为上述访问对象的存储单元的列地址的最高位,并输出到上述存储模块;
动作模式检测部,其检测从上述存储控制器访问上述存储器的动作模式是第一动作模式还是第二动作模式;以及
控制部,其根据由上述动作模式检测部检测出的动作模式,控制上述地址生成电路。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008-261521 | 2008-10-08 | ||
JP2008261521A JP5481823B2 (ja) | 2008-10-08 | 2008-10-08 | メモリモジュール、および、メモリ用補助モジュール |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101719380A true CN101719380A (zh) | 2010-06-02 |
CN101719380B CN101719380B (zh) | 2012-10-31 |
Family
ID=42076717
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009101773932A Expired - Fee Related CN101719380B (zh) | 2008-10-08 | 2009-09-30 | 存储模块以及存储用辅助模块 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8103818B2 (zh) |
JP (1) | JP5481823B2 (zh) |
CN (1) | CN101719380B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112905505A (zh) * | 2017-08-31 | 2021-06-04 | 美光科技公司 | 用于频率模式检测和实施的系统和方法 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5621409B2 (ja) * | 2010-08-23 | 2014-11-12 | 株式会社バッファロー | メモリモジュール |
KR20120132278A (ko) * | 2011-05-26 | 2012-12-05 | 삼성전자주식회사 | 메모리 칩, 메모리 시스템, 및 메모리 칩에 대한 액세스 방법 |
US11216373B2 (en) | 2020-05-29 | 2022-01-04 | Advanced Micro Devices, Inc. | Memory access commands with near-memory address generation |
US20230195618A1 (en) * | 2021-12-21 | 2023-06-22 | Advanced Micro Devices, Inc. | Approach for performing efficient memory operations using near-memory compute elements |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5737566A (en) * | 1993-12-20 | 1998-04-07 | Motorola, Inc. | Data processing system having a memory with both a high speed operating mode and a low power operating mode and method therefor |
US5761694A (en) * | 1995-11-30 | 1998-06-02 | Cirrus Logic, Inc. | Multi-bank memory system and method having addresses switched between the row and column decoders in different banks |
JPH09293015A (ja) * | 1996-04-24 | 1997-11-11 | Mitsubishi Electric Corp | メモリシステムおよびそれに用いられる半導体記憶装置 |
JP2004094785A (ja) | 2002-09-03 | 2004-03-25 | Buffalo Inc | メモリモジュールおよびメモリ用補助モジュール |
US7234099B2 (en) * | 2003-04-14 | 2007-06-19 | International Business Machines Corporation | High reliability memory module with a fault tolerant address and command bus |
JP4346369B2 (ja) * | 2003-08-08 | 2009-10-21 | 株式会社メルコホールディングス | メモリモジュールおよびメモリ用補助モジュール |
US7136322B2 (en) * | 2004-08-05 | 2006-11-14 | Analog Devices, Inc. | Programmable semi-fusible link read only memory and method of margin testing same |
US7755967B2 (en) * | 2008-09-29 | 2010-07-13 | Qimonda North America Corp. | Memory device refresh method and apparatus |
-
2008
- 2008-10-08 JP JP2008261521A patent/JP5481823B2/ja not_active Expired - Fee Related
-
2009
- 2009-09-30 CN CN2009101773932A patent/CN101719380B/zh not_active Expired - Fee Related
- 2009-10-02 US US12/572,886 patent/US8103818B2/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112905505A (zh) * | 2017-08-31 | 2021-06-04 | 美光科技公司 | 用于频率模式检测和实施的系统和方法 |
CN112905505B (zh) * | 2017-08-31 | 2022-05-13 | 美光科技公司 | 用于频率模式检测和实施的系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
US20100088487A1 (en) | 2010-04-08 |
CN101719380B (zh) | 2012-10-31 |
US8103818B2 (en) | 2012-01-24 |
JP5481823B2 (ja) | 2014-04-23 |
JP2010092261A (ja) | 2010-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5505802B2 (ja) | メモリ装置を動作する方法 | |
KR101798920B1 (ko) | 다중 주기 셀프 리프레쉬를 수행하는 반도체 메모리 장치 및이의 검증 방법 | |
US20160148668A1 (en) | Cell array, memory, and memory system including the same | |
KR100546362B1 (ko) | 메모리 클럭 신호의 주파수를 선택적으로 가변시키는메모리 컨트롤러 및 이를 이용한 메모리의 데이터 독출동작 제어방법 | |
EP1880295B1 (en) | System and method for decoding commands based on command signals and operating state | |
US10083090B2 (en) | Nonvolatile dual in-line memory module and method for operating the same | |
KR20030014629A (ko) | 반도체기억장치 | |
CN101719380B (zh) | 存储模块以及存储用辅助模块 | |
JP2007095054A (ja) | 命令によるメモリ装置の調停 | |
US20170277464A1 (en) | Nonvolatile memory module and operating method for the same | |
CN104183264A (zh) | 存储器及包括其的存储系统 | |
KR20160063726A (ko) | 메모리 장치 및 이를 포함하는 메모리 시스템 | |
EP1858022B1 (en) | Semiconductor memory and operating method of same | |
TW584857B (en) | Semiconductor memory | |
US10073744B2 (en) | Power-down interrupt of nonvolatile dual in-line memory system | |
US20170277463A1 (en) | Nonvolatile memory module and operating method for the same | |
JP4229958B2 (ja) | メモリ制御システムおよびメモリ制御回路 | |
JP4187084B2 (ja) | 半導体メモリ | |
KR100953607B1 (ko) | 반도체 메모리 및 메모리 시스템 | |
KR20150020477A (ko) | 메모리 장치, 이를 포함하는 메모리 시스템 및 그 동작 방법 | |
US20220374168A1 (en) | Memory with memory-initiated command insertion, and associated systems, devices, and methods | |
JPH11339469A (ja) | 半導体記憶装置 | |
US20040184337A1 (en) | Memory module having a plurality of integrated memory components | |
CN102077180B (zh) | 存储器模块以及存储器用辅助模块 | |
US7360036B2 (en) | Data memory circuit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20121031 Termination date: 20180930 |
|
CF01 | Termination of patent right due to non-payment of annual fee |