具有用于并发接口操作的单向端口的集成电路存储器设备的制作方法

文档序号:36428809发布日期:2023-12-21 01:16阅读:36来源:国知局
具有用于并发接口操作的单向端口的集成电路存储器设备的制作方法
具有用于并发接口操作的单向端口的集成电路存储器设备


背景技术:

1.现代计算机系统通常包括数据存储设备,诸如存储器组件或设备

存储器组件可以是例如随机存取存储器
(ram)
或动态随随机存取存储器
(dram)。
存储器设备包括由存储器单元组成的存储器存储体,存储器控制器或存储器客户端通过存储器设备内的命令接口和数据接口来访问这些存储器单元

附图说明
2.本公开在附图的图中以示例而非限制的方式进行说明

3.图1是根据至少一个实施例的具有用于并发接口操作的单向端口的集成电路存储器设备的框图

4.图
2a
是示出根据至少一个实施例的在输入端口上的具有命令和写入数据的交错输入的时序图

5.图
2b
是示出根据至少一个实施例的在输入端口上的具有命令和写入数据的交错输入的时序图

6.图3示出了根据至少一个实施例的具有单向端口的集成电路存储器设备的引脚输出

7.图4是示出根据至少一个实施例的具有具有单向端口的
dram
设备和串行数据缓冲器
(sdb)
设备的存储器模块的框图

8.图5是示出根据至少一个实施例的具有具有单向端口的
dram
设备
、sdb
设备

以及光电
(o2e)
转换器和
e2o
转换器的存储器模块的框图

9.图6是示出根据至少一个实施例的具有具有单向端口的
dram
设备和光学
sdb
设备的存储器模块的框图

10.图7是根据一个实施例的用于操作具有单向端口的存储器设备的方法的流程图

11.图8是根据一个实施例的用于操作具有接收命令和写入数据的输入端口的存储器设备的方法的流程图

12.图9是根据至少一个实施例的具有用于并发接口操作的单向端口的集成电路控制器设备的框图

具体实施方式
13.以下描述阐述了很多具体细节,诸如特定系统

组件

方法等的示例,以提供对本公开的若干实施例的良好理解

然而,对于本领域技术人员来说很清楚的是,本公开的至少一些实施例可以在没有这些具体细节的情况下实践

在其他情况下,为了避免不必要地混淆本公开,公知的组件或方法没有被详细描述,或者以简单的框图格式呈现

因此,所阐述的具体细节仅仅是示例性的

特定实现可以与这些示例性细节不同,并且仍然被认为在本公开的范围内

14.本公开涉及具有用于并发接口操作的单向端口的集成电路存储器设备的实施例

本公开还涉及具有用于并发接口操作的单向端口的集成电路控制器设备的实施例

本公开的各方面可以将接口操作分离为下游操作和上游操作,从而为存储器提供替代附接点

例如,下游操作可以包括接收交错或多路复用输入,包括命令和写入数据,并且上游操作可以包括发送读取数据

写入确认

状态数据

错误等

本公开的各方面可以提高平均延迟,简化从串行协议到本地存储器协议的转换,降低缓冲和调度逻辑的复杂性,并且允许向光互连的转变

本公开的各方面可以分离输入和输出引脚
(
或其他类型的端子
)
,以允许并行接口操作并且更紧密地匹配主机侧串行下游
/
上游带宽

读取和写入传送可以同时发生在分离的输入和输出引脚上

由于读取和写入传送可以在相同时间

同时或并发发生,因此没有周转延迟

由于没有周转延迟,因此总体延迟减少

由于端口是单向的,因此本公开的各方面可以增加引脚频率

引脚裕度或这两者

例如,由于输入端口是单向的,所以输入端口
(
例如,接收器焊盘
)
处没有驱动器

因此,与具有共享相同引脚的接收器和驱动器的双向端口相比,输入端口可以具有较低电容

15.在至少一个实施例中,一种集成电路存储器设备包括输入端口

控制端口和输出端口

输入端口接收交错输入和第一定时参考

交错输入包括命令或写入数据

控制端口接收指定交错输入是一个命令或多个命令或者是写入数据的一个或多个控制信号

输出端口传输读取数据和第二定时参考

下面参考图1的实施例描述集成电路存储器设备的附加细节

16.图1是根据至少一个实施例的具有用于并发接口操作的单向端口的集成电路存储器设备
100
的框图

集成电路存储器设备
100(
下文中称为“存储器设备
100”)
包括下游串行接口
102、
上游串行接口
104
和存储器阵列
106。
下游串行接口
102
包括输入端口
108
和控制端口
110。
上游串行接口
104
包括输出端口
112
和控制端口
114。
在至少一个实施例中,输入端口
108、
控制端口
110
和输出端口
112
是单向端口

17.在至少一个实施例中,输入端口
108
接收交错输入
101
和第一定时参考
103。
第一定时参考
103
可以是差分时钟选通
(
例如,
wck[1:0]_t/c)。
第一定时参考
103
可以是单端时钟信号或选通

交错输入
101
可以包括命令
(
例如,读取命令

写入命令
)
和写入数据

控制端口
110
接收指定交错输入是一个命令或多个命令或者是写入数据的一个或多个控制信号

如图1所示,控制端口
110
接收指定交错输入
101
是命令的第一命令信号
105(ccs)、
或指定交错输入
101
是写入数据的第二信号
107(dcs)。
第一命令信号
105
可以是芯片选择类型信号

选通信号

使能信号

命令使能信号等

在至少一个实施例中,第一命令信号
105
和第二命令信号
107
可以作为同一信号的不同电平被通信

使用两个命令信号允许使用四个状态,例如,包括命令状态

数据状态

状态状态
(
例如,第一命令信号
105
和第二命令信号
107
都被断言
)
和保留状态

[0018]
在至少一个实施例中,输出端口
112
传输输出数据
109
和第二定时参考
111。
输出数据
109
可以是读取数据

状态数据

错误数据

写入确认等

第二定时参考
111
可以是时钟信号,诸如差分时钟选通
(
例如,
rdqs[1:0]_t/c)。
第二定时参考
111
可以是差分时钟信号或单端时钟信号或选通

在至少一个实施例中,输入端口
108
接收写入数据,并且输出端口
112
并发地传输读取数据

在至少一个实施例中,输入端口
108
接收命令数据,并且输出端口
112
并发地传输读取数据

控制端口
114
传输指定输出端口
112
被启用或准备好读取数据的一个或多个控制信号

如图1所示,控制端口
114
传输指定输出端口
112
被启用用于读取数据的输出
使能信号
113(qcs)。
输出使能信号
113
可以是芯片选择类型信号

选通信号

使能信号

命令使能信号等

[0019]
在至少一个实施例中,输入端口
108
和输出端口
112
允许并发接口操作,诸如并发地或在相同时间传送写入数据和读取数据

输入端口
108
和输出端口
112
允许与主机侧串行下游和串行上游带宽更紧密地匹配

使用单独的输入端口
108
和输出端口
112
,不存在周转延迟,因为读取和写入传送可以同时发生

这可以减少存储器设备
100
的总体延迟

[0020]
在至少一个实施例中,交错输入
101
包括作为写入数据分组的命令分组的输入分组

替代地,输入分组可以包括命令或数据和纠错码
(ecc)
数据

交错输入
101
可以包括以下分组示例,
《cmd:data》

《cmd:data:ecc》。
也就是说,输入分组可以包括命令或数据

在至少一个实施例中,输出数据
109
包括输出分组

输出分组可以包括读取数据

状态数据

数据和
ecc
数据

或状态数据和
ecc。
输出数据
109
可以包括以下分组示例
《data》

《status》、《data:ecc》

《status:ecc》。
应当注意,
ecc
数据可以以不同方式来实现

例如,
ecc
数据可以在相关分组之后立即发送,作为一组比特在一个或多个专用通道中发送,或者以固定规则重复模式作为一组专用比特来发送,以独立于分组边界来保护先前块

[0021]
在至少一个实施例中,输出端口
112
耦合到或包括驱动电路系统

驱动电路系统用于驱动输出端口
112
上的信号

在至少一个实施例中,驱动电路系统传输读取数据或其他输出数据
109。
在至少一个实施例中,驱动电路系统传输输出数据
109
和第二定时参考
111。
相反,双向端口包括驱动器和接收器两者

双向端口在驱动器与接收器之间可以存在信号干扰

在至少一个实施例中,输入端口
108
是耦合到接收器电路系统的单向端口,并且不包括驱动电路系统

这可以减少输入端口
108
上的电容

减小输入端口
108
上的电容可以增加接收器的裕度,并且允许它们以更高频率操作

在至少一个实施例中,输入端口
108
的接收器可以在与输出端口
112
的传输器不同的频率下操作

例如,在一个实施例中,接收器可以在比传输器高的频率下操作

在其他实施例中,接收器和传输器可以在相同频率下操作

在至少一个实施例中,存储器设备
100
与联合电子器件工程委员会
(jedec)
存储器标准兼容

例如,存储器设备
100
可以具有与双倍数据速率
(ddr)dram
存储器设备相同的引脚输出

存储器设备可以可选地以双模态操作

双模态可以是可配置的

然而,引脚可以被分配给相应单向端口,诸如下面关于图3更详细地描述的

[0022]
在至少一个实施例中,输入端口
108、
输出端口
112、
控制端口
110
和控制端口
114
耦合到串行数据缓冲器
(sdb)
设备,该
sdb
设备耦合到下游串行链路和上游串行链路
。sdb
设备可以耦合到多个下游串行链路和多个上游串行链路,以支持多个存储器设备

在至少一个实施例中,
sdb
设备包括用于与主机
(
也称为主机计算设备
)
通信的下游串行接口和上游串行接口

下游串行接口包括接收器,并且上游串行接口包括传输器

下游串行接口可以包括差分接收器对,并且上游串行接口可以包括差分传输器对

例如,耦合到两个存储器设备的
sdb
可以具有两个差分传输器对和两个差分接收器对

在至少一个实施例中,下游串行链路包括差分接收器线路对,并且上游串行链路包括差分传输器线路对

在至少一个实施例中,下游串行链路可以包括将光信号转换为电信号的光电
(o2e)
转换器

上游串行链路可以包括将电信号转换为光信号的电光
(e2o)
转换器

在另一实施例中,
sdb
设备可以是具有耦合到与主机的光链路的光接口和耦合到存储器设备
100
的电接口的光学
sdb
设备

以下参考图
4-图8描述
sdb
设备的附加细节

[0023]
在存储器设备
100
的操作期间,交错输入
101
可以包括具有第一命令的第一输入分组和具有第一写入数据的第二输入分组

第一定时参考
103
包括用于写入数据的定时的写入时钟信号
(wck)。
写入时钟信号可以是一个或两个输入选通
(
例如,当时钟信号是差分时钟信号时的两个输入选通
)。
当交错输入
101
是第一命令时,存储器设备
100
接收第一命令信号
105
,并且当交错输入是第一写入数据时,存储器设备
100
接收第二命令信号
107。
第一命令信号
105
和第二命令信号
107
指定传入分组是命令还是写入数据

在至少一个实施例中,存储器设备
100
包括命令解码器
116
和写入缓冲器
118(
例如,写入先进先出
(fifo)
缓冲器
)。
命令解码器
116
响应于第一命令信号
105
而被加载有第一命令

写入缓冲器
118
响应于第二命令信号
107
而被加载有第一写入数据

[0024]
在存储器设备
100
的操作期间,输出数据
109
可以包括具有第一读取数据的第一输出分组

第二定时参考
111
可以包括读取时钟信号

读取时钟信号可以是一个或两个读取时钟选通
(
例如,当读取时钟信号是差分时钟信号时的
rdqs[1:0]_t/c)。
输出数据
109
还可以包括具有第一状态数据

写入确认

错误等的第二输出分组

存储器设备
100
传输输出使能信号
113。
输出使能信号
113
可以指定第一读取数据在输出端口
112
上被启用

替代地,存储器设备
100
传输输出使能信号
113
以指定状态数据

错误数据等在输出端口
112
上准备好或被启用

[0025]
在至少一个实施例中,存储器设备
100
包括用于存储写入延迟
(wl)
值的寄存器
120。wl
值指定写入命令在输入端口
108
处被接收到的时刻与对应写入数据被传送到存储器阵列
106
的时刻之间的时间量
。wl
值是可编程的

在另一实施例中,存储器设备
100
可以具有指定写入数据准备好被传送到存储器阵列
106
所花费的时间量的
wl
参数,并且
wl
值可以是从
wl
参数加上或减去的偏移值,以指定写入数据何时从写入缓冲器
118
被传送到存储器列阵列
106。
[0026]
在至少一个实施例中,
wl
值可以用于将加载到写入缓冲器
118
中的任何数据传送到存储器阵列
106。
在另一实施例中,写入数据必须在指定
wl
值到期之前被预加载到写入缓冲器
118


在另一实施例中,“发布”的数据在写入命令时被立即提交到存储器阵列
106——
写入缓冲器
118
中的任何数据在写入指令时被加载到存储器阵列
106


在需要发送新的写入数据之前,不需要
dram
写入命令

应当注意,在这种情况下,应当防止对完全相同的位置的读取操作

在另一实施例中,任何中间
wl
值都可以被预加载到存储器设备
100


[0027]
在至少一个实施例中,交错输入
101
包括具有第一读取命令的第三输入分组

第三输入分组可以在第一输入分组与第二输入分组之间被接收,如图
2a-图
2b
所示

[0028]

2a
是示出根据至少一个实施例的在输入端口上的具有命令和写入数据的交错输入
101
的时序图
200。
时序图
200
示出了由图1的存储器设备
100
接收和从其发送的信号

时序图
200
包括时钟信号
201。
时钟信号
201
可以用于在图1的存储器设备
100
上执行的操作

时序图
200
包括结合交错输入
101
来使用的第一定时参考
103(
例如,写入时钟
)。
时序图
200
还包括第一命令信号
105(ccs)
和第二命令信号
107(dcs)。
交错输入
101
包括第一写入命令
203、
第一写入数据
205、
第一读取命令
207、
第二写入数据
209、
第二读取命令
211、
第二写入命令
213、
第三读取命令
215、
第三写入数据
217
和第四写入数据
219。
第一写入数据
205
和第二写入数据
209
可以对应于第一写入命令
203
,并且第三写入数据
217
和第四写入数据
219

以对应于第二写入命令
213。
[0029]
如图
2a
所示,当第一命令信号
105(ccs)
在第一情况下有效时,交错输入
101
是第一写入命令
203。
在下一情况下,第一命令信号
105
有效,并且交错输入
101
是第一读取命令
207。
当第二命令信号
107(dcs)
在第一情况下有效时,交错输入
101
是第一写入数据
205。
在下一情况下,第二命令信号
107
有效,并且交错输入
101
是第二写入数据
209。
类似地,当第一命令信号
105
有效时,命令在输入端口上被接收

当第二命令信号
107
有效时,写入数据在输入端口上被接收

[0030]
如图
2a
所示,在第一写入命令
203
在输入端口处被接收到之后,写入延迟
(wl)
计数器可以被启动

例如,第一
wl

221
可以指定在第二写入命令
213
在输入端口上被发出之前的时间量
(
例如,最短时间量
)。
一旦第二写入命令
213
被发出,第二
wl

223
可以指定在另一写入命令在输入端口上被发出之前的时间量

如本文所述,
wl
值可以是写入命令在输入端口处被接收到的时刻与对应写入数据被传送到存储器阵列的时刻之间的时间量

在至少一个实施例中,写入数据
(
例如,第一写入数据
205
和第二写入数据
209)
必须在
wl
计数器中的第一
wl

221
到期之前被预加载到写入中

在另一实施例中,在写入缓冲器中加载的任何写入数据都在写入命令处被传送

当后续写入命令的新的写入数据被发送时,可能会发生这种情况

在另一种情况下,
wl
值可以是在存储器设备
100
的寄存器中指定的中间值

在至少一个实施例中,第一命令信号
105
加载命令解码器,并且第二命令信号
107
加载写入缓冲器

在至少一个实施例中,以
wl
值加载到写入缓冲器中的任何数据都被传送到存储器阵列

[0031]
如图
2a
所示,在第一读取命令
207
在输入端口上被接收到之后,在读取命令被接收到与输出端口上的数据可用之间存在读取延迟

当输出端口上的输出数据
109
准备好时,输出使能信号
113(qcs)
有效

例如,当输出使能信号
113
有效时,第一读取数据
225
在输出端口上可用

由于输出端口不与写入数据共享,因此输出端口可以继续使读取数据可用,诸如图
2a
所示

输出使能信号
113
保持有效,并且第二读取数据
227
在输出端口上可用

在至少一个实施例中,第二定时参考
111(

2a
中未示出
)
类似于第一定时参考
103。
在另一实施例中,第一定时参考
103
和第二定时参考
111
是不同频率,如本文所述

[0032]

2b
是示出根据至少一个实施例的在输入端口上的具有命令和写入数据的交错输入的时序图
250。
时序图
200
类似于时序图
200
,如通过类似的附图标记所示

时序图
200
用于为
16
的突发长度,并且时序图
250
用于为8的突发长度

这样,交错输入
101
和读取数据
(
输出数据
109)
在时序图
250
中是不同的

[0033]
如图
2b
所示,交错输入
101
包括第一写入命令
253
,随后是第一写入数据
255。
交错输入
101
包括在第一写入命令
253
与第一写入数据
255
之间的中间第一读取命令
257。
交错输入
101
还包括第二读取命令
261、
第二写入数据
269、
第三读取命令
265、
第二写入命令
263、
第四读取命令
267、
第三写入数据
269
,第四读取命令
271
和第四写入数据
273。
[0034]
如图
2b
所示,当第一命令信号
105(ccs)
在第一情况下有效时,交错输入
101
是第一写入命令
253
和第一读取命令
257。
在下一情况下,第一命令信号
105
有效,并且交错输入
101
是第二读取命令
261。
在下一情况下,第一命令信号
105
有效,并且交错输入
101
是第三读取命令
265、
第二写入命令
263
和第四读取命令
257。
当第二命令信号
107(dcs)
在第一情况下有效时,交错输入
101
是第一写入数据
255。
在下一情况下,第二命令信号
107
有效,并且交错输入
101
是第二写入数据
259。
在下一情况下,第二命令信号
107
有效,并且交错输入
101
是第三
写入数据
269。
类似地,当第一命令信号
105
有效时,命令在输入端口上被接收

当第二命令信号
107
有效时,写入数据在输入端口上被接收

[0035]
如图
2b
所示,在第一写入命令
253
在输入端口处被接收到之后,写入延迟
(wl)
计数器可以被启动

例如,第一
wl

293
可以指定在第二写入命令
263
在输入端口上被发出之前的时间量
(
例如,最短时间量
)。
一旦第二写入命令
263
被发出,第二
wl

295
可以指定在另一写入命令在输入端口上被发出之前的时间量

如本文所述,
wl
值可以是写入命令在输入端口处被接收到的时刻与对应写入数据被传送到存储器阵列的时刻之间的时间量

在至少一个实施例中,写入数据
(
例如,第一写入数据
255
和第二写入数据
259)
必须在
wl
计数器中的第一
wl

293
到期之前被预加载到写入缓冲器中

在另一实施例中,在写入缓冲器中加载的任何写入数据都在写入命令处被传送

当后续写入命令的新的写入数据被发送时,可能会发生这种情况

在另一种情况下,
wl
值可以是在存储器设备
100
的寄存器中指定的中间值

在至少一个实施例中,第一命令信号
105
加载命令解码器,并且第二命令信号
107
加载写入缓冲器

在至少一个实施例中,以
wl
值加载到写入缓冲器中的任何数据都被传送到存储器阵列

[0036]
如图
2b
所示,在第一读取命令
257
在输入端口上被接收到之后,在读取命令被接收到与输出端口上有数据可用之间存在读取延迟

当输出端口上的输出数据
109
准备好时,输出使能信号
113(qcs)
有效

例如,当输出使能信号
113
有效时,第一读取数据
285
在输出端口上可用

由于输出端口不与写入数据共享,因此输出端口可以继续使读取数据可用,诸如图
2b
所示

输出使能信号
113
保持有效,并且第二读取数据
287、
第三读取数据
289
和第四读取数据
291
在输出端口上可用

在至少一个实施例中,第二定时参考
111(

2b
中未示出
)
类似于第一定时参考
103。
在另一实施例中,第一定时参考
103
和第二定时参考
111
是不同频率,如本文所述

[0037]
图3示出了根据至少一个实施例的具有单向端口的集成电路存储器设备的引脚输出
300。
引脚输出
300
包括q引脚
、d
引脚

以及控制和定时引脚

[0038]q引脚
302-316
可以用于发送读取数据

控制引脚
318-320
可以用于发送用于在q引脚
302-308
上发送读取数据的一部分
(
例如,第一半字节
)
的选通信号,并且控制引脚
322-324
可以用于发送用于在q引脚
310-316
上发送读取数据的另一部分
(
如,第二半字节
)
的选通信号

控制引脚
326(qcs)
可以用于发送用于在q引脚
302-316
上读取数据的使能信号

也就是说,
qcs
信号可以作为输出与数据信号一起在q引脚
302-316
上发送

[0039]d引脚
328-342
可以用于接收交错输入,包括命令
(
例如,读取或写入命令
)
或写入数据

控制引脚
344-346
可以用于接收用于在q引脚
328-334
上接收交错输入的一部分
(
例如,第一半字节
)
的选通信号,并且控制引脚
348-350
可以用于接收用于在q引脚
336-342
上接收交错输入的另一部分
(
例如,第二半字节
)
的选通信号

控制引脚
352-354
可以用于指定交错数据是命令还是写入数据

特别地,控制引脚
352
可以启用d引脚
328-342
上的数据输入,并且控制引脚
354
可以启用d引脚
328-342
上的命令输入

[0040]
在至少一个实施例中,引脚输出
300
具有与
ddr
存储器设备
(
诸如
ddr5)
的引脚输出相同数目的引脚

引脚输出
300
可以具有与
ddr5
类似的引脚分配

例如,
ddr5
的数据总线
(dq)
引脚可以是q引脚
302-316
,并且命令和地址
(ca)
引脚中的一些可以是d引脚
328-342
,并且其他
ca
引脚可以用于控制引脚

替代地,具有单向输入和输出端口的其他引脚可以用
于存储器设备

[0041]
图4是示出根据至少一个实施例的具有具有单向端口的
dram
设备
402
和串行数据缓冲器
(sdb)
设备
404
的存储器模块
400
的框图

存储器模块
400
包括多个
dram
设备
402
和多个
sdb
设备
404。
存储器模块
400
可以经由上游和下游串行链路耦合到一个或多个主机计算设备
(
图4中未示出
)。
在一个实施例中,存储器模块
400
包括下游串行接口
401
和上游串行接口
403、
以及耦合到下游串行接口
401
和上游串行接口
403
的多个
sdb
设备
404。
多个
dram
设备
402
耦合到
sdb
设备
404。
[0042]
如图4所示,两个
dram
设备
402
耦合到
sdb
设备
404
,并且每个
sdb
设备耦合到主机计算系统的存储器控制器

特别地,第一
sdb
设备
404(1)
耦合到下游串行接口
406(1)
和上游串行接口
408(1)
,并且第一
dram
设备
402(1)
耦合到第一
sdb
设备
404(1)。
第一
dram
设备
402(1)
包括耦合到输入线路
410(d
线路
)
的输入端口和耦合到输出线路
412(q
线路
)
的输出端口

第一
dram
设备
402(1)
的输入端口接收交错输入,该交错输入包括输入线路
410
上的命令或写入数据

第一
dram
设备
402(1)
的输出端口在输出线路
412
上传输读取数据

第一
dram
设备
402(1)
可以包括控制端口,该控制端口接收一个或多个定时参考信号和一个或多个控制信号,该一个或多个控制信号指定交错输入是输入线路
410
上的命令或写入数据

第二
dram
设备
402(2)
也耦合到第一
sdb
设备
404(1)。
第二
dram
设备
402(2)
包括耦合到输入线路
414(d
线路
)
的输入端口和耦合到输出线路
416(q
线路
)
的输出端口

第二
dram
设备
402(2)
的输入端口接收交错输入,该交错输入包括输入线路
414
上的命令或写入数据

第二
dram
设备
402(2)
的输出端口在输出线路
416
上传输读取数据

第二
dram
设备
402(2)
可以包括控制端口,该控制端口接收一个或多个定时参考信号和一个或多个控制信号,该一个或多个控制信号指定交错输入是输入线路
414
上的命令或写入数据

[0043]
如图4所示,存储器模块
400
包括耦合到下游串行接口
401
和上游串行接口
403
的第二
sdb
设备
404(2)。
第三
dram
设备
402(3)
和第四
dram
设备
402(4)
耦合到第二
sdb
设备
404(2)
,并且包括与第一
dram
设备和第二
dram
设备类似的端口

类似地,其他
dram
设备成对地耦合到其他
sdb
设备

如图4所示,
dram
设备
402

sdb
设备
404
被组织为作为对耦合到第一组的五个
sdb
设备的第一组的十个
dram
设备以及作为对耦合到第二组的五个
sdb
设备的第二组的十个
dram
设备

替代地,耦合
dram
设备和
sdb
设备的其他配置也是可能的

[0044]
sdb
设备
404
中的每个包括差分接收器对和差分传输器对

下游串行接口
401
可以包括十对差分接收器线路,并且上游串行接口
403
可以包括十对差分传输器线路

第一
sdb
设备
404(1)
可以在差分接收器对上串行地接收输入,并且在输入线路
410
上将串行输入作为并行输入传递到第一
dram
设备
402(1)。
第一
sdb
设备
404(1)
可以在输出线路
412
上接收来自第一
dram
设备
402(1)
的输出数据,并且在差分传输器对上将输出数据作为串行数据传递

[0045]
图5是示出根据至少一个实施例的具有具有单向端口的
dram
设备
402、sdb
设备
404、o2e
转换器
502

e2o
转换器
504
的存储器模块
500
的框图

存储器模块
500
类似于存储器模块
400
,如通过类似的附图标记所示

如图5所示,存储器模块
500
包括下游串行接口
501
和上游串行接口
503。
下游串行接口
501
和上游串行接口
503
是包括光链路和电链路的光到电接口

多个
sdb
设备
404
经由
o2e
转换器
502

e2o
转换器
504
耦合到下游串行接口
501
和上游串行接口
503。o2e
转换器将光信号转换为电信号,并且
e2o
转换器将电信号转换为光信号

在至少一个实施例中,第一
o2e
转换器经由下游串行接口
406(1)
耦合到第一
sdb
设备
404(1)
,并且第一
e2o
转换器经由上游串行接口
408(1)
耦合到第一
sdb
设备
404(1)。
[0046]
图6是示出根据至少一个实施例的具有具有单向端口的
dram
设备
402
和光学
sdb
设备
604(1)
的存储器模块
600
的框图

存储器模块
600
类似于存储器模块
400
,如通过类似的附图标记所示

如图6所示,存储器模块
600
包括下游串行接口
601
和上游串行接口
603
,其每个包括耦合到多个光学
sdb
设备
604
的光链路

[0047]
图7是根据一个实施例的用于操作具有单向端口的存储器设备的方法
700
的流程图

方法
700
可以由处理逻辑来执行,该处理逻辑可以包括硬件
(
例如,电路系统

专用逻辑

可编程逻辑

微码等
)、
软件
(
例如,在处理设备上运行以执行硬件模拟的指令
)
或其组合

在一个实施例中,方法
700
由图1的存储器设备
100
执行

在另一实施例中,方法
700
由图
5-图7的
dram
设备
402
中的任何一个执行

[0048]
参考图7,在框
702
,方法
700
开始于处理逻辑在存储器设备的输入端口处接收交错输入和第一定时参考

交错输入包括写入数据和一个命令或多个命令

在一个实施例中,交错输入是写入命令

在另一实施例中,交错输入是读取命令

在另一实施例中,交错输入是写入数据

替代地,交错输入是写入命令,并且读取命令先前在输入端口处被接收

在框
704
,处理逻辑在存储器设备的控制端口处接收指定交错输入是一个命令或多个命令或者是写入数据的一个或多个控制信号

在一个实施例中,一个或多个控制信号指定交错输入是与在框
702
之前接收的写入命令相关联的写入数据

在另一实施例中,一个或多个控制信号指定交错输入是写入命令或读取命令

在框
706
,处理逻辑在存储器设备的输出端口处传输读取数据和第二定时参考

在该实施例中,响应于在框
706
之前接收的读取命令,诸如从先前命令序列,读取数据被传输

在至少一个实施例中,写入数据是在传输读取数据的同时接收的

在另一实施例中,写入或读取命令是在传输读取数据的同时接收的

[0049]
图8是根据一个实施例的用于操作具有接收命令和写入数据的输入端口的存储器设备的方法
800
的流程图

方法
800
可以由解码逻辑来执行,该解码逻辑可以包括硬件
(
例如,电路系统

专用逻辑

可编程逻辑

微码等
)、
软件
(
例如,在处理设备上运行以执行硬件模拟的指令
)
或其组合

在一个实施例中,方法
800
由图1的存储器设备
100
执行

在另一实施例中,方法
800
由图
5-图7的任何
dram
设备
402
执行

[0050]
参考图8,在框
802
,方法
800
开始于解码逻辑在存储器设备的输入端口处接收交错输入和第一定时参考

交错输入包括命令或写入数据

在框
804
,解码逻辑在存储器设备的控制端口处接收指定交错输入是一个命令或多个命令或者是写入数据的一个或多个控制信号

在框
806
,处理逻辑确定交错输入是命令还是写入数据

如果在框
806
处交错输入是命令,则解码逻辑为命令解码器加载命令
(

808)
,并且返回到框
802
以接收附加交错输入

如果在框
806
处交错输入是写入数据,则解码逻辑为写入缓冲器加载写入数据
(

810)。
解码逻辑以写入延迟
(wl)
将写入数据从写入缓冲器传送到存储器阵列
(

812)
,并且返回到框
802
以接收附加交错输入

[0051]
例如,在第一情况下,解码逻辑可以在框
802
处接收具有第一命令的第一输入分组,而在第二情况下,解码逻辑可以在框
802
处接收具有第一写入数据的第二输入分组

在框
802
,解码逻辑接收一个或多个写入时钟选通

在框
804
,解码逻辑可以接收在第一情况下指定交错输入是第一命令的第一命令信号和在第二情况下指定交错输入是第一写入数据
的第二命令信号

在至少一个实施例中,解码逻辑在框
806
处确定第一命令信号或第二命令信号是否被接收到,以确定交错输入是第一命令还是第一写入数据

第一命令可以是读取命令或写入命令

尽管图8中未示出,但解码逻辑可以在命令和写入数据在输入端口上被接收的同时在输出端口上传输读取数据和第二定时参考

在至少一个实施例中,读取命令在写入命令与其对应写入数据之间被接收

在另一实施例中,解码逻辑在输出端口上传输状态数据或错误数据

[0052]
在至少一个实施例中,解码逻辑接收
wl
值并且将其存储在寄存器中
。wl
值可以指定写入命令被接收到的时刻与写入数据被传送到存储器阵列的时刻之间的时间量

尽管本文中的方法的操作以特定顺序示出和描述,但是每个方法的操作的顺序可以改变,使得某些操作可以以相反顺序执行,或者使得某些操作至少部分可以与其他操作并发执行

在某些实现中,不同操作的指令或子操作可以是间歇和
/
或交替的方式

[0053]
图9是根据至少一个实施例的具有用于并发接口操作的单向端口的集成电路控制器设备
900
的框图

集成电路控制器设备
900(
下文中称为“控制器设备
900”)
包括下游串行接口
902
和上游串行接口
904。
下游串行接口
902
包括输出端口
908
和控制端口
910。
上游串行接口
904
包括输入端口
912
和控制端口
914。
在至少一个实施例中,输出端口
908、
控制端口
910
和输入端口
912
是单向端口

[0054]
在至少一个实施例中,输出端口
908
将交错输入
101
和第一定时参考
103
传输到存储器设备
(
例如,
100)。
如上所述,第一定时参考
103
可以是差分时钟选通
(
例如,
wck[1:0]_t/c)。
第一定时参考
103
可以是单端时钟信号或选通

交错输入
101
可以包括命令
(
例如,读取命令

写入命令
)
和写入数据

控制端口
910
向存储器设备
(
例如,
100)
传输指定交错输入是一个命令或多个命令或者是写入数据的一个或多个控制信号

如图9所示,控制端口
910
发送指定交错输入
101
是命令的第一命令信号
105(ccs)、
或指定交错输入
101
是写入数据的第二信号
107(dcs)。
第一命令信号
105
可以是芯片选择类型信号

选通信号

使能信号

命令使能信号等

在至少一个实施例中,第一命令信号
105
和第二命令信号
107
可以作为同一信号的不同电平被通信

使用两个命令信号允许使用四个状态,例如,包括命令状态

数据状态

状态状态
(
例如,第一命令信号
105
和第二命令信号
107
都被断言
)
和保留状态

[0055]
在至少一个实施例中,输入端口
912
从存储器设备
(
例如,
100)
接收输出数据
109
和第二定时参考
111。
输出数据
109
可以是读取数据

状态数据

错误数据

写入确认等

第二定时参考
111
可以是时钟信号,诸如差分时钟选通
(
例如,
rdqs[1:0]_t/c)。
第二定时参考
111
可以是差分时钟信号或单端时钟信号或选通

在至少一个实施例中,输出端口
908
传输写入数据,并且输入端口
912
并发地接收读取数据

在至少一个实施例中,输出端口
908
传输命令数据,并且输入端口
912
并发地接收读取数据

控制端口
914
接收指定输入端口
912
被启用或准备好读取数据的一个或多个控制信号

如图9所示,控制端口
914
接收指定输入端口
912
被启用用于读取数据的输出使能信号
113(qcs)。
输出使能信号
113
可以是芯片选择类型信号

选通信号

使能信号

命令使能信号等

[0056]
在至少一个实施例中,输出端口
908
和输入端口
912
允许并发接口操作,诸如并发地或在相同时间传送写入数据和读取数据

使用单独的输出端口
908
和输入端口
912
,存储器设备没有周转延迟,因为读取和写入传送可以同时发生

这可以减少存储器设备的总体延迟

[0057]
在控制器设备
900
的操作期间,交错输入
101
可以包括具有第一命令的第一输入分组和具有第一写入数据的第二输入分组

第一定时参考
103
包括用于写入数据的定时的写入时钟信号
(wck)。
写入时钟信号可以是一个或两个输入选通
(
例如,当时钟信号是差分时钟信号时的两个输入选通
)。
当交错输入
101
是第一命令时,控制器设备
900
发送第一命令信号
105
,并且当交错输入是第一写入数据时,控制器设备
900
发送第二命令信号
107。
第一命令信号
105
和第二命令信号
107
指定传出分组是命令还是写入数据

在至少一个实施例中,控制器设备
900
包括命令编码器
916。
命令编码器
916
被启用并且输出第一命令和第一命令信号
105
,第一命令信号
105
指定交错输入
101
是命令
(
例如,写入命令

读取命令等
)。
当交错输入
101
是写入数据时,命令编码器
916
被禁用

写入数据和第二命令信号
107
在输出端口
908
上被传输

[0058]
在控制器设备
900
的操作期间,输出数据
109
可以包括具有第一读取数据的第一输出分组

第二定时参考
111
可以包括读取时钟信号

读取时钟信号可以是一个或两个读取时钟选通
(
例如,当读取时钟信号是差分时钟信号时的
rdqs[1:0]_t/c)。
输出数据
109
还可以包括具有第一状态数据

写入确认

错误等的第二输出分组

控制器设备
900
接收输出使能信号
113。
输出使能信号
113
可以指定第一读取数据在输入端口
912
上被启用

替代地,控制器设备
900
接收输出使能信号
113
以指定状态数据

错误数据等在输入端口
912
上准备好或被启用

[0059]
在至少一个实施例中,交错输入
101
包括具有第一读取命令的第三输入分组

第三输入分组可以由控制器设备
900
在第一输入分组与第二输入分组之间发送并且由存储器设备
100
接收,如图
2a-图
2b
所示

[0060]
在至少一个实施例中,控制器设备
900
可以对存储器设备
100
的寄存器
120
进行编程,以存储写入延迟
(wl)

。wl
值指定写入命令在存储器设备
100
的输入端口
108
处被接收的时刻到与对应写入数据被传送到存储器阵列
106
的时刻之间的时间量

在另一实施例中,存储器设备
100
可以具有指定写入数据准备好被传送到存储器阵列
106
所花费的时间量的
wl
参数,并且
wl
值可以是从
wl
参数加上或减去的偏移值,以指定写入数据何时从写入缓冲器
118
被传送到存储器列阵列
106。
在本实施例中,控制器设备
900
对寄存器
120
中的
wl
值进行编程,以用作到
wl
参数的偏移

[0061]
在至少一个实施例中,控制器设备
900
的功能可以集成到关于图
4-图6描述和说明的
sdb
设备中

[0062]
应当理解,以上描述旨在说明而非限制

在阅读和理解以上描述后,很多其他实现对于本领域技术人员将是很清楚的

因此,本公开的范围应当参考所附权利要求以及这些权利要求所享有的等同物的全部范围来确定

[0063]
在以上描述中,阐述了很多细节

然而,对于本领域技术人员来说很清楚的是,本公开的各方面可以在没有这些具体细节的情况下实践

在一些情况下,为了避免混淆本公开,公知的结构和设备以框图的形式而不是详细地示出

[0064]
以上详细描述的一些部分是根据计算机存储器内数据位的操作的算法和符号表示来呈现的

这些算法描述和表示是数据处理领域的技术人员用来最有效地将其工作的实质传达给本领域其他技术人员的手段

这里,算法通常被认为是导致期望结果的自洽步骤序列

这些步骤需要对物理量进行物理操作

通常,尽管不一定,这些量采取能够被存储




组合

比较和以其他方式操纵的电信号或磁信号的形式

事实证明,有时将这些信号称为位



元素

符号

字符

术语

数字等是很方便的,主要是出于常用的原因

[0065]
然而,应当记住,所有这些和类似的术语都与适当的物理量相关联,并且只是应用于这些量的方便标签

除非另有特别说明,从以下讨论中可以明显看出,在整个描述中,使用诸如“接收”、“确定”、“选择”、“存储”、“设置”等术语的讨论是指计算机系统或类似电子计算设备的动作和过程,其将被表示为计算机系统的寄存器和存储器内的物理
(
电子
)
量的数据操纵和变换为类似地表示为计算机系统的存储器或寄存器或其他这样的信息存储

传输或显示设备内的物理量的其他数据

[0066]
本公开还涉及一种用于执行本文中的操作的装置

该装置可以被专门构造用于所需要的目的,或者它可以包括由存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机

这样的计算机程序可以存储在计算机可读存储介质中,诸如但不限于任何类型的盘,包括软盘

光盘
、cd-rom
和磁光盘

只读存储器
(rom)、
随机存取存储器
(ram)、eprom、eeprom、
磁卡或光卡

或适合于存储电子指令的任何类型的介质,其每个耦合到计算机系统总线

[0067]
本文中提出的算法和显示并不固有地与任何特定计算机或其他设备相关

各种通用系统可以与根据本文中教导的程序一起使用,或者可以证明,构造更专业的装置以执行所需要的方法步骤是方便的

各种这些系统所需要的结构将如说明书中所述出现

此外,不参考任何特定编程语言来描述本公开的各方面

将理解的是,本文中描述的本公开的教导可以使用各种编程语言来实现

[0068]
本公开的各方面可以作为计算机程序产品或软件提供,该计算机程序产品或软件可以包括其上存储有指令的机器可读介质,该指令可以用于对计算机系统
(
或其他电子设备
)
进行编程以执行根据本公开的过程

机器可读介质包括用于以机器
(
例如,计算机
)
可读的形式存储或传输信息的任何过程

例如,机器可读
(
例如,计算机可读
)
介质包括机器
(
例如,计算机
)
可读存储介质
(
例如,只读存储器
(“rom”)、
随机存取存储器
(“ram”)、
磁盘存储介质

光存储介质

闪存设备等
)。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1