独立链路和体选择的制作方法

文档序号:6781517阅读:365来源:国知局
专利名称:独立链路和体选择的制作方法
技术领域
0002本发明涉及具有多个链路和多个存储体的存储器系统。
背景技术
0003当前消费电子装置使用存储器装置。例如,诸如数码照相机、 便携式数字助理、便携式音频/视频播放器和移动终端的移动电子装置一直 以来要求大容量存储器,优选的是具有不断增加容量和速度能力的非易失性 存储器。由于在没有电力的情况下非易失性存储器和硬盘驱动器可以保持数 据,因此延长了电池寿命,从而非易失性存储器和硬盘驱动器是优先的。
0004虽然,现有存储器装置以对于许多当前的消费电子装置足够的 速度运行,但是这样的存储器装置用于要求高数据速率的未来电子装置和其 他装置中可能并不足够。例如,记录高分辨率移动图像的移动多媒体装置可 能要求存储模块比使用当前存储器技术的存储器模块具有更大的编程吞吐 量。但是这样的高频率的信号质量存在问题,其在存储器的工作频率上设定 了实际的限制。存储器使用一组并行输入/输出(I/O)引脚和其它部件通信, 引脚的数量依赖于具体实现。I/O引脚接收命令指令和输入数据并且提供输 出数据。这通常被称为并行接口。例如,高速操作可以导致诸如串扰、信号 扭曲和信号衰减的通信退化效应,其降低信号质量。
0005为了在系统板上实现较高密度和较快速操作的结合,存在两种 设计技术串行互连配置和诸如多点的并行互连配置。这些设计技术可以被用来克服决定硬盘与存储器系统之间存储器交换的成本和操作效率的密度 问题。但是,多点配置相对于串行互连配置具有缺陷。例如,如果多点存储 器系统的点的数量增加,则由于每一引脚的负载效应,延迟时间也增加,从 而削弱了多点存储器系统的总的性能。这是由于存储器装置的金属线电阻器 -电容器负载和引脚电容量。诸如存储器装置的装置中的串行链路可以使用 单个引脚输入,其串行接收所有的地址、命令和数据。串行链路可以提供串 行互连配置来通过配置有效地控制命令位、地址位和数据位。配置中的装置 可以是存储器装置,例如动态随机存取存储器(DR雄)、静态随机存取存储
器(SRAM)和闪烁存储器。

发明内容
0006本发明提供了用于具有多个存储体和多个链路的存储器系统 中的方法和系统。所述系统允许从任意链路对任意体的读出和写存取,但 提供电路来防止无效存取尝试。当从多个链路对同一个体同时或者交迭读 或者写存取时,存在无效的存取尝试。当从同一个链路对多个体同时或者 交迭读或者写存取时,存在无效的存取尝试。 一些实现以用于对每一链路 执行切换的公共电路为其特征,从而简化了制造。通过这样的实现,切换 电路的每一实例被配置以反映其在整个系统中的位置的特定方式来运行。
0007根据一个主要方面,本发明提供一种存储器系统,包括多 个存储体;多个链路控制器,每一链路控制器具有用于接收控制和数据的 至少一个输入并具有用于输出所述数据的至少一个输出;对于每一存储体 的第一切换逻辑,用于接收用于每一链路控制器的至少一个输出,并且用 于传递仅一个链路控制器的至少一个输出到所述存储体;对于每一链路控 制器的第二切换逻辑,用于接收每一存储体的输出,并且用于传递仅一个 存储体的输出到所述链路控制器;和切换控制器逻辑,用于控制所述第一 切换逻辑和所述第二切换逻辑二者的操作,来防止多个链路控制器对同一 存储体的同时或者交迭存取,并且用于防止由同一链路控制器对多个体的 同时或者交迭存f^。
0008在有些实施例中,所述第一切换逻辑包括多个切换元件,用 于每一链路控制器的对应的多个输出。
0009在有些实施例中,所述第二切换逻辑包括单个切换元件,用 于从每一存储体接收串行输出。0010在有些实施例中,所述多个存储体包括两个存储体并且所述 多个链路控制器包括两个链路控制器。
0011在有些实施例中,所述切换控制器逻辑包括对于每一存储 体的各自的切换控制器。
0012在有些实施例中,所述切换控制器具有实质相同的电路实现, 其中,每一切换控制器包括链路识别逻辑,用于接收所述切换控制器将
根据所述切换控制器在所述系统中的多个可能位置的所选择的 一 个来操 作的指令。
0013在有些实施例中,所述多个存储体包括第一存储体和第二存 储体并且所述切换控制器逻辑包括第一链路控制器和第二链路控制器,并
且其中所述切换控制器在所述系统中的多个可能位置包括所述切换控制 器对于所述第 一体控制第 一切换逻辑并且对于所述第 一链路控制器控制 第二切换逻辑的第一位置;和所述切换控制器对于所述第二体控制第一切 换逻辑并且对于所述第二链路控制器控制第二切换逻辑的第二位置。
0014在有些实施例中,所述存储器系统还包括用于选择单个链 路操作的输入;其中,在通过所述输入确立单个链路操作后,所述存储器 系统如同仅存在一个链路控制器一样操作。
0015在有些实施例中,所述存储器系统还包括无效检查逻辑, 用于从每一链路控制器接收体选择输出并且用于确定是否存在同一链路 控制器对多个体的同时或者交迭存取,如果存在则生成无效性信号。
0016在有些实施例中,每一切换控制器还包括保持电路,用于 在同 一链路控制器对多个体的同时或者交迭存取事件中和多个链路对同 一体的同时或者交迭存取事件中保持先前的控制输出。
0017在有些实施例中,每一切换控制器可操作地生成输出包括 链路体选择信号,用于选择哪个链路输出将被传递到所述体;和体选择信 号,用于选择哪个体输出将被传递到所述链路控制器。
0018在有些实施例中,每一个链路控制器包括输入緩冲器,用 于接收传入的命令和数据;串行到并行寄存器,用于转换传入的命令和数 据为并行格式;和命令解释器控制逻辑,用于解释传入的命令。
0019在有些实施例中,每一链路控制器可操作地输出用于所述切 换控制器逻辑的输出体选择信号。
0020根据另一个主要方面,本发明提供一种方法,包括接收多个输入;输出多个输出;可选择地传递在多个输入接收的信号到多个存储 体的存储体输入;可选择地传递从存储体输出接收的信号到所述多个输 出;并且控制可选择地传递在多个输入接收的信号到存储体输入和可选择 地传递从存储体输出接收的信号到所述多个输出,来防止从多个输入对同 一存储体的同时或者交迭存取,并且防止从多个体到同 一输出的同时或者 交迭输出。
0021在有些实施例中,所述可选择地传递在多个输入接收的信号 到多个存储体的存储体输入包括对于从所述多个输入的给定输入到所述 多个存储体的给定存储体的给定存取,连接所述给定存储体来从所述给定 输入接收信号。
0022在有些实施例中,所述方法可选4奪地传递从存储体输出接收 的信号到所述多个输出包括对于给定存储体和给定体,连接给定存储体 的输出来发送信号到所述给定输出。
0023在有些实施例中,由多个同样的切换控制器执行所述控制, 所述方法还包括配置多个同样的切换控制器的每一个来以对于其在整个 存储器系统内的位置具体的方式运转。
0024在有些实施例中,所述方法还包括无效存取尝试发生后, 从多个输入对同 一存储体的同时或者交迭存取或者从多个体对同 一输出 的同时或者交迭输出包括维持之前的存取状态。
0025在有些实施例中,所述方法还包括通过检验形成多个输入 中每一个的一部分的体选择信号来检查无效存取尝试。
0026在有些实施例中,所述多个输入和所述多个输出包括对于多 个链路控制器中每一个的各自的至少一个输入和各自的至少 一个输出。


0027现在仅通过示例,并参考附图对本发明的实施例进行描述,其

图1为多个独立串行链路存储器系统的框图2为示出对于多个独立串行链路存储器系统的控制和数据信号传输的 详细框图3到图6示出对于图2的系统的各种有效存^f诸器存取配置; 图7为示出图2的链路控制器的细节的框图;图8示出具有不同体的有效的一组同时链路存取;
图9示出无效的链接的体存取的两个示例;
图10示出用于控制和数据并且用于读出数据的切换元件;
图IIA为示出使用linLID来配置切换控制器的框图11B为示出链路控制器和切换控制器之间的体选择信号的互连的框
图12为切换控制器的详细框图13为在两个链路模式中操作的图12的部分逻辑的真值表;和 图14为在单个链路模式中操作的图12的部分逻辑的真值表。
具体实施例方式
0028MISL (多个独立串行链路)存储器系统具有一组链路和一组存 储体,并且具有使得从任意链路端口存取任意体的特征。参考图1,示出两 个MISL存储器系统的概念框图。第一个示例总地标以30并且描述双端口配 置。其中有两个链路,LinkO 10和Linkl l2,还有两个体,BankO l8和 Bankl 20。还有将LinklO、 12和Bank 18、 20互连的切换逻辑16。控制逻 辑标以14。切换逻辑16能够互连LinkO 10到BankO 18或者Bankl 20,如 以24所标示的。相同地,切换逻辑16能够互连Linkl 12到BankO 18或者 Bankl 20,如以26所标示的。单端口配置标以32,除了不使用第二链路Linkl 12之外,其与双端口配置30大体相同。
0029为了处理上面描述的MISL的双链路配置的情况,提供电路 来确保两个链路端口能够存取两个体用于读和写操作,从而防止无效的存 取情况,诸如从两个链路对一个体的同时存取。控制信号和数据使用由体 地址决定的^各径和用于被存取的体的所存取链路端口 。
0030在说明的示例中,存在两个链路10、 12和两个体18、 20。 随后的示例也假设存在两个体和两个链路。但是,更一般地,存在任意多 个链路和任意多个体。将意识到可以预期此处披露的特征的变化和修改用 于使用任意合适数量的链路和任意合适数量的体的实现。
0031以下描述的本发明的实施例支持下面的特征
1、 防止从多个《连路端口对同一个体的同时存取;
2、 单个链路存取作为可选特征;
3 、从链路控制到体控制块的短的切换路径;4、 对于每一链路控制块的相同的逻辑实现;
5、 当同一体随后从不同的链路端口被存取时,维持之前的体存取;

6、 用于链路对体存取(写和控制信号)和体对链路存取(读数据) 的各自逻辑。
但是,可以理解一些实现仅支持这些特征的一部分。更一4i地,实现 可以支持这些特征中的任意个。
0032图2示出使用多个切换器的链路和体之间的连接的示例,与 图1的两个链路和两个体的示例一致。在此示例中,两个体18、 20在切 换控制器48、 50的控制下通过切换器40、 42、 44、 46连接到两个独立链 路LinkO 10和Linkl 12。
0033图2中所示的连接包括用于控制的以下内容
控制输入Bnk0<l:0> 49,作为输入从Link0 10连接到切换控制器48、 50,用作体选择控制;
Lnkjs—BnkO—Ctrl—enable 53,从切换控制器48到切换器40,其启用 来自Link0将应用到BankO的控制、地址和数据;
Lnk一os—Bnk0一ctr1—enable 60,从切换控制器48到切换器40,其启用 来自Linkl将应用到BankO的控制、地址和数据;
LnkO—Bnk—slct<l:0>输出64,从切换控制器48到切换器42,用于当 从页面緩冲器到对于LinkO的链路逻辑块执行读出相关操作时选择体;
控制输入BnkKl:0 51,作为输入从Linkl 12连接到切换控制器48、 50,用作体选择控制;
Lnk一is—Bnkl一ctrl一enable 63,从切换控制器50到切换器44,其启用 来自Linkl将应用到Bankl的控制、地址和数据;
Lnk—os—Bnkl—Ctrl—enable 65,从切换控制器50到切换器44,其启用 来自LinkO将应用到Bankl的控制、地址和数据;和
Lnkl—Bnk_slct<l:0>输出66,从切换控制器50到切换器46,用于当 从页面緩冲器到对于Linkl的链路逻辑块执行读出相关操作时选择体。
0034用于此描述的目的,每一个体具有"内部,,链路和"外部" 链路。对于此实现方案,给定体的内部链路为具有到该体的对应位置的链 路,并且外部链路为剩余的链路。因此,对于BankO的内部链路为LinkO, 并且对于BankO的外部链路为Linkl。对于Bankl的内部链路为Linkl,
1并且对于Bankl的外部链路为Link0。在以上标记方案中,"Lnkjs"是指 所谓的"内部链路",并且"Lnk—os"是指所谓的"外部链路"。
0035切换控制器48、 50接收控制输入49、 51,并且产生控制输 出Lnk—is—BnkO—Ctrl—enable53 ,Lnk—os_BnkO—ctrl—enable60 , LnkO—Bnk—slct<l:0〉 64 , Lnkis_Bnkl—Ctrl—enable 63 , Lnk—os—Bnkl—Ctrl—enable 65, Lnkl—Bnk—slct<l:0> 66,以此方式来防止链 路/体存取的所禁止的组合。具体地,在交迭的时间间隔期间,两个链路不 允许来存取同一体,并且切换控制器48、 50运行来防止这样的事件。
0036图2所示的数据连接包括下面的用于读出操作的数据路径 所示连接到切换器42、 46中的每一个的BankO输出60;该输出可以 是并行输出,例如依据特定设计的4、 8或者16位,与在链路块中执行的 转换并行;可选择地,如果在BankO中存在用于读出存取的内建并行到串 行转换器,则该输出可以是串行输出;在说明书以下部分假设其是8位并 行输出;
所示连接到切换器42、 46的每一个的Bankl输出62;关于此l俞出的 说明类似于如上对于输出62的描述;
互连切换器42和LinkO 10的连接67;和 互连切换器46和Linkl 12的连接68。
0037图2中所示的连接包括用于控制和写操作的以下内容
来自LinkO 10的多个输出70,每一个连接到切换器40的各自切换元 件和切换器44的各自切换元件;
来自Linkl 12的多个输出72,每一个连接到切换器40的各自切换元 件和切换器44的各自切换元件;
从切换器40的每一切换元件连接到BankO 10的各自输出,这些输出 共同地;才示以74;和
从切换器44的每一切换元件连接到Bankl 12的各自输出,这些输出 共同标以76。
0038在操作中,在LinkO 10和Linkl 12处接收命令,并且每一命 令将和其中一个体相关联。对于LinkO 10,所选择的体#1标记为BnkO<l:0> 49并且被传播到切换控制器48、 50,而对于Linkl 12,所选择的体被标 记为Bnkl<l:0> 51并且也被传播到切换控制器48、 50。切换控制器48、 50进行操作来防止多个链路对于同 一体的竟争。不会导致多个链路对同一体的争用的存取尝试被称为有效存取尝试。以下进一步描述对于防止无效 尝试的详细电路。
0039在一些实施例中,为了在两个体之间有效切换两个链路,而
不会带来由于附加逻辑路径的性能退化,在串行数据到并行转换之后通过
每一链路10、 12中的指定寄存器执行数据传送来产生该组输出70、 72。 下面参照图7将描述示出串行到并行转换的具体实现的示例。
0040参考图2,现在将描述不同的存取情况。以下描述的存取情 况包括Link0对BankO存取,Link0对Bankl存取,Linkl对Bankl存耳又 和Linkl对Bank0存取。
0041在Link0 10的有效存取尝试期间,如果选择Bank0 18,则切 换控制器48将控制切换器40,使得LinkO的输出70被传播到BankO 18, 从而建立写数据路径和控制路径。切换控制器48将控制切换器42,使得 来自BankO 18的输出60沿输出67传播到LinkO 10,从而建立读出数据路 径。
0042在LinkO 10的有效存取尝试期间,如果选4奪Bankl 20,则切 换控制器50将控制切换器44,使得Link0 10的输出70被传播到Bankl, 从而建立写数据路径和控制路径。切换控制器50将控制切换器42,使得 来自Bankl 20的输出62沿输出67传播到LinkO 10,从而建立读出数据路 径。
0043在Linkl 12的有效存取尝试期间,如果选择Bank120,则切 换控制器50将控制切换器44,使得Linkl 12的输出72被传播到Bankl 20, 从而建立写数据路径和控制路径。切换控制器50将控制切换器46,使得 来自Bankl 20的输出62沿输出68传4番到Linkl 12,从而建立读出数据路 径。
0044在Linkl 12的有效存取尝试期间,如果选择BankO 18,则切 换控制器48将控制切换器40,使得Linkl 12的输出72被传播到BankO, 从而建立写数据路径和控制路径。切换控制器50将控制切换器46,使得 来自BankO 18的输出60沿输出68传播到Linkl 12,从而建立读出数据路 径。
0045以上所描述的不同的存取情况特定于图2所示的实现。注意 到如果存在附加的体和/或链路,则附加的存取情况是可能的。对于不同的 实现,存取情况可以不同。图3到图6将用于描述对于可替代的实现的不同存取情况。在每一个图中,示出之前所讨论的控制信号,即
用于LinkO的LnkO—Bank—slct<0>, 用于每一 LinkO的LnkO—Bank—slct<l>, 用于Linkl的Lnkl—Bank—slct<0>, 用于每一 Linkl的Lnkl—Bank—slct<l>, Lnk一is—Bnk0—ctrl一 enable, Lnk—os—BnkO_ctrl—enable , Lnk一is—Bnk 1 —Ctrl—enable, 和 Lnk一os—Bnk 1 —Ctrl—enable 。
以下描述的不同存取情况包括LinkO对BankO存取,LinkO对Bankl 存取,Linkl对Bankl存取和Linkl对BankO存取。
0046参考图3,示出LinkO对BankO存取的另一个示例。在LinkO 和BankO之间的切换多路复用器中仅包括LinkO控制信号。对于此示例, LinkO对BankO存取是内部操作,不需要任何来自外部的信号。启用链路 选择Lnk—is—BnkO—Ctrl—enable来允许来自LinkO的数据和控制输入被传递 到BankO,并且LnkO_Bnk—slctO〉跃迁为高状态,从而选择BankO用于读 出操作,直到确立新的命令。
0047参考图4,存在从Linkl到LinkO的Bankl的连接的切换, 使得在获取来自SIPO(链路0端口 )的体信息之后Lnk—os—Bnkl—Ctrl—enable 发生高跃迁。代替Linkl连接,LinkO控制信号经由置于Bankl和Linkl 之间的切换传送到Bankl。 Lnk—os—BnkO—ctrl—enable跃迁为高来使得来自 LinkO的数据和控制输入传递到Bankl ,并且LnkO—Bnk—slcKl〉跃迁为高 来选择Bankl用于读出存取。
0048参考图5,示出Linkl对Bankl存取的另一个示例。Linkl 和Bankl的情况类似于参考图3描述的LinkO和BankO的示例。无需LinkO (或者Linkl )和Bankl ( BankO )之间的控制和数据路径切换,置于Linkl 和Bankl 的中间的所有切换传递数据和控制到 Bankl 。 Lnk—is—Bnkl—Ctrl—enable跃迁为高,使得来自Linkl的数据和控制输入传 递到Bankl,并且Lnk1—Bnk—slct〈l〉跃迁为高来选择Bankl用于读出存取。
0049参考图6,示出Linkl对BankO存取的另一个示例。对于此 示例,存在从LinkO到Linkl的BankO的连接的切换,使得在获取来自SIPO (链路0端口 )的体信息之后Lnk_os_BnkO—Ctrl—enable发生高跃迁。代替LinkO连接,Linkl控制信号经由置于BankO和LinkO之间的切换传送到 BankO。 Lnk—os—Bnk—ctri_enable跃迁为高来使得来自Linkl的数据和控制 输入传递到BankO,并且Lnkl—Bnk—slct〈l〉跃迁为高来选择BankO用于读 出存取。
0050对于读出操作的输出结果,全局数据线<7:0>被用于从页面 缓沖器发送数据到Linkl 。 Lnk—os—BnkO—Ctrl—enable跃迁为高,使得来自 Link 1的数据和控制输入传递到BankO,并且Lnk—Bnk—slct《〉跃迁为高来 选择BankO用于读出存取。
0051现在参考图7,描述对于图2的一些功能性的具体实现的示 例。再次示出LinkO 10、 Linkl 12、 BankO 18和Bankl 20。切换器40、 44 (图2中示出的单独的切换元件)将链路10、 12互连到体18、 20并且由 切换控制器48、 50控制。Link0 10的输出70连接到切换器40、 44二者, 并且Linkl的输出72连接到切换器40、 44二者。在图7的示例中,来自 LinkO IO的控制输出92被输入到切换控制器48,并且来自linkl 12的控 制输出94被输入到切换控制器50。 LinkO 10具有输入緩沖器80、允许串 行到并行转换的串行数据捕获寄存器82和命令解释器控制逻辑84。类似 地,Linkl 12具有输入緩沖器86、串行数据捕获寄存器88和命令解释器 控制逻辑90。
0052为了在确立命令之前捕捉来自SIP(串行输入端口 )(未示出) 的体地址并且生成上述的切换控制信号,具有DN (设备号)的体地址首 先被输入来选择哪个设备(假设串行互连存储器系统)。基于该体地址, 每一链路传送数据位到所选择的体地址位。在两个体和两个链路的系统中 不可忽略切换逻辑延迟。但是,由于在寄存器82的串行到并行转换之间 的时间裕度,当输入数据正被顺序锁存时延迟被隐藏。在锁存体地址和做 出切换逻辑的相关控制信号之后执行命令解释器控制逻辑84中的命令解 码,使得不发生切换的切换控制信号和输入数据之间的任何竟争时间问 题。根据逻辑实现,能够改变切换逻辑。在此处描述的具体电路中,使用 2输入与非门来执行多路复用功能。
0053当没有时间差的情况下使用两个链路时,不同的链路应该具 有有效的不同的体存取。通过图8中的示例示出,其中,在存取两个体之 间没有时间差。第 一个示例总地标以800。在此示例中,存在LinkO对BankO 和Linkl对Bankl的有效同时存取,之后是Linkl对BankO和LinkO对Bankl的有效同时存取。第二个示例总地标以802。在此示例中,存在Linkl对 BankO和LinkO对Bankl的有效同时存取,之后是LinkO对BankO和Linkl 对Bankl的有效同时存取。当存在两个链路对同 一体的同时存取时,发生 另一个无效存取状态。图9示出这样的无效存取的示例。在示例中总地标 以900,两个链路同时尝试存取BankO 。在示例中总地标以901,两个链路 同时尝试存耳又Bankl 。
0054体与激活字线和位线路径的专用逻辑块物理隔离。使用灵活 的链路和体连接,获得独立的操作。做出有效和无效决定取决于如图9中 示出的两个链路的时间差。如果在对于同 一体的链路操作的时间之间存在 一些差值(即,不是如图8的示例那种情况的同时),则允许第一存取, 并且随后的存取无效并被忽略。时间差可以通过PVT (工艺/电压/温度) 改变。在一些实现中,使用至少两个周期的时间差来确保来自任意链路输 入端口的第 一输入流的有效操作。该时间差对于 一种实现是特定的。
0055总之,当存在两个链路对同一体的顺序存耳又时,第一存耳又有 效并且第二存取无效。图9示出这个示例,总地标以902。存在从Linkl 对BankO的第 一有效存取,之后是从LinkO对BankO的在后的无效存取。
0056在图10中,总地标以101的是切换器40或者切换器44中 的单个切换元件的示例。切换元件101具有第一与非门100,其接收输入 In—A并且也4妾收《连路选4奪信号Lnk—isJBnki—Ctrl—enable( i=0用于切换控制 器48控制的切换器,i=l用于切换控制器50控制的切换元件)。切换元件 IOI具有第二与非门102,其从Linkl接收输入In_B并且也接收链路选择 信号Lnk—os—Bnki—Ctrl—enable (i=0用于切换控制器48控制的切换器,i=l 用于切换控制器50控制的切换元件)。对于切换控制器48控制的切换元 件,i=0,所以In—A为来自LinkO的输入并且In_B为来自Linkl的输入。 对于切换控制器50控制的切换元件,i=l,所以Ir^A为来自Linkl的输入 并且In—B为来自LinkO的输入。两个与非门100、 102的输出^t输入到第 三个与非门104,其将它们组合来产生切换输出outO 105。对于切换器48 控制的切换元件,outO 105作为输入连接到BankO。对于切换器50控制的 切换元件,outO 105作为输入连接到Bankl 。
0057在图10中,总地标以103的是切换器42或者切换器46中 的单个切换元件的示例。切换元件103具有第一与非门110,其接收来自 BankO的输入BankO—in并且也接收体选择信号Lnk—Bnk—slct<0>。切换元件103具有第二与非门102,其从Bankl接收Bankl—in并且也接收体选择 信号Lnk— Bnk—slct<l>。对于切换控制器48控制的切换元件,LnkO— Bnk—slct〈l:0〉涉及LinkO。对于切换控制器50控制的切换元件,Lnkl— Bnk—slcKl:O涉及Linkl 。两个与非门IIO、 112的输出被输入到第三与非 门114,其将它们组合来产生切换输出outl 115。对于切换器48, out0 115 作为输入连接到LinkO。对于切换器50, outO 115作为输入连接到Linkl。
0058切换元件101、 103以具体逻辑部件示出。在其他实现中, 切换元件101、 103具有可替代逻辑部件,其组合来获取类似的功能性。 切换元件IOI、 103不必具有任何与非门。其它实现是可能的。
0059在一些实施例中,系统具有附加的输入,例如额外输入引脚, 使得实现同样的切换控制器电路用于对于所有链路的切换控制逻辑。这样 的输入可以被用于识别切换控制逻辑起作用的链路。
0060用于说明link—id功能性的逻辑的概要在图11A中标以400。 而且示出LinkO 12、 Linkl 12、 BankO 18、 Bankl 20和切换器42、 44、 46 和48。切换控制器48使用link—id连接到VSS,从而选择其用作对于LinkO 10的切换控制器。切换控制器48产生LnkO_Bnk—slct<l:0>,并且产生 Lnk—is—BnkO—Ctrl—enable和Lnk—os—BnkOl—Ctrl—enable。切换控制器50 4吏 用link—id连接到VDD,从而选择其用作对于Linkl 12的切换控制器。切 换控制器50产生Lnkl—Bnk—slct<l:0>,并且产生Lnk—os—BnkO—Ctrl—enable 禾口 Lnk—is_Bnkl—ctrl_enable。
0061在一些实施例中,系统具有附加的输入,例如额外的输入引 脚,允许在单个链路配置和多个链路配置之间选择。在以下图12所包括 的具体示例中,实施Singlejink输入。如果使用单个链路配置,该引脚为 高。对于多个链路配置(所示示例中的双链路),该引脚设置为低。
0062用于说明体选择互连的逻辑的示例在图11B中标以401。而 且示出LinkO 10、 Linkl 12、 BankO 18、 Bankl 20和切换器42、 44、 46和 48。如前所述,LinkO输出体选择信号BkO<l:0〉 49,而Linkl输出体选择 信号Bkl<l:0> 51。每一个切换控制器48、 50具有用于接收Bkb<l:0>和 Bka〈l:0〉的输入。"Bka〈l:0〉"和"Bkb<l:0〉,,的后缀"a"和"b,,意思 是指两个不同的链路,并且<1:0>是体的号,<0>是指BankO并且<1>是指 Bankl。根据逻辑系统的位置,做出这些输入到LinkO、 Linkl的体选择输 出的连接。具体地,对于切换控制器48 (LinkO侧),Bka<l:0>=BkO<l:0>并且Bkb〈l:0〉二BkKl:O。对于切换控制器50 ( Linkl侧),连接相反,使 得Bka〈l:0〉Bkl〈l:0〉并且Bkb<l:0>=BkO<l:0>。
0063图12示出切换控制器的示例性实现的详细图。应该理解该 实现仅用于具体示例目的。所示特定示例被设计来允许其用作对于连接到 任意体或者从任意体连接的切换器的切换控制器。总地标以300的电路生 成四个控制信号Ink—is、 Ink—os、 bk一slct0和bk—slctl,其,皮用于打开和关 闭将链路连接到体的切换器。这些切换器可以使用任意合适逻辑电路实 现,例如图IO所示的具有2输入与非门的电if各。
0064链;洛识别逻辑305接收link_id输入。例如,如果该逻辑系统 被包括在link0块中,则为"0",否则为"1"。该逻辑允许电路300来识 别在切换控制操作开始时哪个链路控制块包含其自身。链路识别逻辑具有 所连接的反相器402来接收linkjd输入。反相器402的输出被输入到三输 入与非门400的一个输入。与非门400的其他输入包括单个链路输出 slink—b和Bkb<0〉。
0065在操作中,当电路300被配置如图2的切换控制器48操作 (link—id=0)时,输出信号lnkjs和Ink—os用作对于切换控制器48的 Lnk—is—BnkO—Ctrl—enable和Lnk—os_BnkO—Ctrl—enable,并且其叶也两个输出 bk—slctO和bk—slctl为切换控制器48的LnkO—Bnk_slct<l :0>信号。当电路 300被配置如图2的切换控制器50操作(link—id=l )时,两个输出信号Ink—is 和Ink—os用作对于切换控制器50的Lnkjs—Bnkl_ctrl—enable和 Lnk—os—Bnkl—Ctrl—enable,并且其他两个输出bk—slctO和bk_slctl为切换 控制器50的Lnkl—Bnk—slct〈l:0〉信号。
0066电路包括第一无效检查逻辑301。该逻辑被提供来防止同时 通过一个链路的两个体存取。电路具有包括输入BkaO〉和Bka〈l〉的第一 与非门370和包括输入BkbO和Bkb〈l〉的第二与非门372。两个与非门 370和372的输出被输入到第三与非门374,其输出被反相器反相来产生 invalid—b输出。
0067在操作中,如果两个体被一个链路选择,则无效检查逻辑301 产生为高的Invalid—b输出。具体地,如果BkaO和BkaO都为高,意味 着两个体被同一个链路选4奪,则InvalidJ)输出为高,表示无效情况;如果 BkbO和BktKl〉都为高,意味着两个体被同一个链路选择,则Invalid—b 输出为高,表示无效情况0068如果两个输入(BkaO和Bka<l〉)或者(BkbO〉或Bkb<l>) 具有0状态,则意味着由于不存在对于给定链路的体的选择而没有操作。
0069单个链路配置电路302被提供来允许之前讨论的单个链路操 作的选择。虽然两个链路对于两个体的存储器系统更有效,但是单个链路 也被支持为具有所述电路的存储器系统的可用配置。如果使用单个链路配 置,"Single—link"信号变成高,而且"slink—b,,将具有低状态。当"slink—b" 具有低状态,根据体地址,"Ink—is"变成低并且仅有"Ink—is"具有有效 状态。对于两个链3各配置,"single—link"具有低状态,使得输出"Ink—is" 和"lnk_os"都有效。在所示示例中,单个链路配置电路302仅仅是反相 器403。
0070电^各300具有包括标以303A和303B的功能性的第二无效賴r 查逻辑。电路303A具有接收BkaO和BkbO的与非门350。与非门350 的输出连接到另一个与非门352的输入,另一个与非门352也接收之前所 涉及的I羅lid一b。与非门352的输出hld0由反相器354反相,来产生输出 hld0—b。电路303B具有接收Bka〈l〉和BktKl〉的与非门356。与非门356 的输出连接到另一个与非门358的输入,另一个与非门358也接收之前所 涉及的Invalid—b。与非门358的输出hldl由反相器360反相,来产生输出 hldl一b。
0071在操作中,当两个链路偶然同时存取同一体并且当单个链路 尝试同时存取两个体时,这些电路303A、 303B提供数据保持功能来分别 保持Ink—is和Ink—os的之前的状态(由Invalid—b所表示的)。对于电路 303A,如果输入BkaO和BkbO都具有"0"状态或者其中一个输入具 有"0"状态,输出hld0和hld0—b分别具有高和低状态。如果输入BkaO〉 和BkbO都具有T状态,输出hld0和hld0—b分别具有低和高状态。 如果两个链路都正试图存取BankO则发生这种情况。这是一个保持状态, 其也发生在同一链路尝试存取两个体的情况下,如Invalid一b输入所表示 的。hld0和hldO—b输出被保持逻辑306A使用来保持lnk_is为之前的值, 如下面进一步描述。
0072在电路303B中,如果Bka〈l〉和Bkb〈l〉都具有"0"状态或 者其中一个输入具有"0"状态,则输出hldl和hldl—b分别具有高和低状 态。类似地,如果Bka〈l〉和BkbO都具有'T,状态,则输出hldl和hldl—b 分别具有低和高状态。如果两个链路都正试图存取Bank 1则发生这种情况。这是一个保持状态,其也发生在同一链路尝试存取两个体的情况下,如
Invalid—b输入所表示的。hld0和hld0—b输出被保持逻辑306B用来保持 Ink—os为之前的值,如下面进一步描述。
0073切换逻辑304A、 304B用来控制取决于link—id的逻辑。在 Link0的情况下,link—id为0,则使得反相器402的输出为高并且启用与 非门380。当出现这种情况时,贝'J Bka<0>,实际上BkOO>,成为Ink—is 的丰lT入源。另一方面,在Linkl的情况下,link—id为高并且这启用与非门 388,使得Bka<l>,实际上Bkl<l〉,成为Ink—is的输入源。切换逻辑304A、 304B的纟喿作能够被总结如下
LinkO位置(link—id=0) ^与非380输出影响"Ink—is"的结果,与非 388逻辑上不具有任何影响。结果是从linkO的BankO存取—链路内部 (304A)。
Linkl位置(link—id=l)—与非388输出影响"Ink—is"的结果。与非 380逻辑上不具有任何影响。结果是从linkl的Bankl存取—链路内部 (304A)。
LinkO位置(link—id=0 )~>与非400输出影响"Ink—os"的结果。■> Bkl<0> 逻辑连接到与非392作为一个输入。结果是从linkl的BankO存取—链路 外部(304B)。
Linkl位置(link—id=l )—与非390输出影响"Ink—os"的结果。—BkO<l> 逻辑连接到与非392作为一个输入。结果是从linkO的Bankl存取—链路 外部(304B)。
0074切换逻辑304A具有接收BkaO和反相的linkjd的第一与 非门380。与非门380的输出作为输入连接到与非门382。与非门382的 第二输入来自形成下述切换逻辑304B —部分的与非门388的输出。切换 逻辑304A的总的输出标以aaO。
0075切换逻辑304B具有接收Bka〈l〉和link—id的第一与非门388。 与非门388的输出作为输入连接到形成上述切换逻辑304A —部分的与非 门382。逻辑304B还包括具有三个输入Bkb<l>、 slink—b和link—id的第 二与非门390。与非门390的输出被输入到具有从形成链路识别逻辑305 一部分的与非门400的输出接收的第二输入的第三与非门392。切换逻辑 3 04B的总的输出标以aa 1 。
0076切换逻辑304A、 304B根据图13的真值表用于两个链路操作并且根据图14的真值表用于单个链路操作。在图13中,表的上半部分1300 表示对于Link—id=0的状况,而表的下半部分1302表示对于Link—id=l的 状况。逻辑304A的输出称为aaO,而逻辑304B的输出称为aal。输出为 "0"表示取消选择,为"1"表示选择,或者为"Hold"表示维持之前的 输出。注意到,图13中未示出的逻辑组合涉及被无效检查逻辑所防止的 无效情况。
0077除非hld0为低并且hld0—b为高,在这种情况中lnkjs保持 其之前的状态,否则保持电路306A用于接收切换逻辑304A的输出aaO 并且将其传递到输出Ink—is。类似地,除非hldO为低并且hld0—b为高,在 这种情况中lnk一os保持其之前的状态,否则保持电路306B用于接收切换 逻辑304B的输出aal并且将其传递到输出Ink—os。
0078最后,存在体选择逻辑307A、 307B用于读出数据路径。该 逻辑被用于选择哪个体现在连接到所存取的链路控制块。逻辑307A具有 接收BkaO和Invalid—b作为输入的与非门404。与非门404的输出被反 相器406反相来产生bk—slct0。逻辑307B具有接收BkaO和Invalid—b作 为输入的与非门408 。与非门408的输出被反相器410反相来产生bk—slct 1 。
0079在操作中,其它当存在由无效检查逻辑301通知的无效状态 时,BkaO和BkaO逻辑值由电路传递给"bk—slctO"和"bk—slctl"输 出端口。输出bk—slctO和bk一slctl为切换控制器48和50的其中一个的 Lnk_Bnk_slct<l :0>信号。
0080在上述实施例中,为了简化,装置元件和电路以如图所示互相 连接。在本发明的实际应用中,元件和电路等可以互相直接连接。同样,如 果对于设备和装置的操作有必要,元件和电路等也可以通过其他元件和电路 等间接互相连接。因此,在实际配置中,电路元件和电路等互相直接或者间 接耦合或者连接。
0081本发明的上述实施例仅用于示例,对于本领域技术人员,在 不脱离所附的权利要求所单独限定的本发明保护范围之内,可以对具体实 施例进行各种替换、修改和变更。
权利要求
1、一种存储器系统,包括多个存储体;多个链路控制器,每一链路控制器具有用于接收控制和数据的至少一个输入并具有用于输出所述数据的至少一个输出;第一切换逻辑,对于每一存储体其用于接收用于每一链路控制器的至少一个输出,并且用于传递仅一个链路控制器的至少一个输出到所述存储体;第二切换逻辑,对于每一链路控制器其用于接收每一存储体的输出,并且用于传递仅一个存储体的输出到所述链路控制器;和切换控制器逻辑,用于控制所述第一切换逻辑和所述第二切换逻辑二者的操作,来防止多个链路控制器对同一存储体的同时或者交迭的存取,并且防止由同一链路控制器对多个体的同时或者交迭存取。
2、 权利要求1所述的存储器系统,其中,所述第一切换逻辑包括用 于每一链路控制器的对应的多个输出的多个切换元件。
3、 权利要求1和2的任意一项所述的存储器系统,其中,所述第二 切换逻辑包括用于从每一存储体接收串行输出的单个切换元件。
4、 权利要求1到3的任意一项所述的存储器系统,其中,所述多个 存储体包括两个存储体并且所述多个链路控制器包括两个链路控制器。
5、 权利要求1到4的任意一项所述的存储器系统,其中,所述切换 控制器逻辑包括对于每一存储体的各自的切换控制器。
6、 权利要求5所述的存储器系统,其中,所述切换控制器具有实质 相同的电路实现,其中,每一切换控制器包括链路识别逻辑,用于接收所述切换控制器将根据所述切换控制器在所 述系统中的多个可能位置的所选择的一个来操作的指令。
7、 权利要求6所述的存储器系统,其中,所述多个存储体包括第一 存储体和第二存储体并且所述切换控制器逻辑包括第一链路控制器和第二链路控制器,并且其中所述切换控制器在所述系统中的多个可能位置包 括所述切换控制器对于所述第一体控制第一切换逻辑并且对于所述第 一链路控制器控制第二切换逻辑的第一位置;和所述切换控制器对于所述第二体控制第一切换逻辑并且对于所述第 二链路控制器控制第二切换逻辑的第二位置。
8、 权利要求1到7的任意一项所述的存储器系统,还包括 用于选择单个链路搡作的输入;其中,在通过所述输入确立单个链路搡作后,所述存储器系统如同仅 存在一个链路控制器一样操作。
9、 权利要求1到8任意一项所述的存储器系统,还包括 无效检查逻辑,用于从每一链路控制器接收体选择输出并且用于确定是否存在同 一链路控制器对多个体的同时或者交迭存取,并且如果存在则 生成无效性信号。
10、 权利要求5所述的存储器系统,其中,每一切换控制器还包括 保持电路,用于在同 一链路控制器对多个体的同时或者交迭存取事件中和多个链路对同 一体的同时或者交迭存取事件中保持先前的控制输出。
11、 权利要求5所述的存储器系统,其中,每一切换控制器可操作地 生成输出包括链路体选择信号,用于选择哪个链路输出将被传递到所述体;和 体选择信号,用于选择哪个体输出将被传递到所述链路控制器。
12、 权利要求1到11任意一项所述的存储器系统,其中,每一个链 路控制器包括输入緩冲器,用于接收传入的命令和数据;串行到并行寄存器,用于转换传入的命令和数据为并行格式;和命令解释器控制逻辑,用于解释传入的命令。
13、 权利要求1到12任意一项所述的存储器系统,其中,每一链路 控制器可操作地输出用于所述切换控制器逻辑的输出体选择信号。
14、 一种方法,包括 接收多个输入; 输出多个输出;可选择地传递在多个输入接收的信号到多个存储体的存储体输入;可选择地传递从存储体输出接收的信号到所述多个输出;并且控制可选择地传递在多个输入接收的信号到存储体输入和可选择地传递从存储体输出接收的信号到所述多个输出,来防止从多个输入对同一 存储体的同时或者交迭存取,并且来防止从多个体到同 一输出的同时或者 交迭输出。
15、 权利要求14所述的方法,其中,所述可选择地传递在多个输入接收的信号到多个存储体的存储体输入包括对于从所述多个输入的给定输入到所述多个存储体的给定存储体的 给定存取,连接所述给定存储体来从所述给定输入接收信号。
16、 权利要求14到15任意一项所述的方法,可选择地传递从存储体 输出接收的信号到所述多个输出包括对于给定存储体和给定体,连接给定存储体的输出来发送信号到所述 纟合定输出。
17、 权利要求14到16任意一项所述的方法,其中,由多个同样的切 换控制器执行所述控制,所述方法还包括配置多个同样的切换控制器的每一个来以特定于其在整个存储器系 统内的位置的方式运转。
18、 权利要求14到17任意一项所述的方法,还包括无效存取尝试 发生时,从多个输入对同 一存储体的同时或者交迭存取或者从多个体对同 一输出的同时或者交迭输出包括维持之前的存取状态。
19、 权利要求18所述的方法,还包括通过检验形成多个输入中每一个的 一部分的体选择信号来检查无效 存取尝试。
20、 权利要求14到19任意一项所述的方法,其中,所述多个输入和 所述多个输出包括对于多个链路控制器中每 一 个的相应的至少 一 个输入 和相应的至少一个^T出。
全文摘要
提供的一种存储器系统具有多个存储体和多个链路控制器。对于每一存储体,存在第一切换逻辑,用于接收用于每一链路控制器的输出,并且用于传递仅一个链路控制器的输出到所述存储体。对于每一链路控制器,存在第二切换逻辑,用于接收每一存储体的输出,并且用于传递仅一个存储体的输出到所述链路控制器。根据本发明的实施例,存在切换控制器逻辑,用于控制所述第一切换逻辑和所述第二切换逻辑二者的操作,来防止多个链路控制器对同一存储体的同时或者交迭的存取,并且用于防止由同一链路控制器对多个体的同时或者交迭存取。
文档编号G11C29/26GK101611453SQ200780051575
公开日2009年12月23日 申请日期2007年12月21日 优先权日2006年12月22日
发明者吴学俊, 潘弘柏, 金镇祺 申请人:莫塞德技术公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1