训练触发方法、onfi phy、芯片和电子设备
技术领域
1.本发明涉及存储技术领域,具体而言,涉及一种训练触发方法、onfi phy、芯片和电子设备。
背景技术:
2.onfi phy是指符合onfi(open nand flash interface)标准的phy,即physical layer物理层接口模块,其是nand flash和soc芯片(system on chip,系统级芯片)中内存控制器的通信桥梁。为了保证nand flash的读写操作正常,通常需要调整输入方向和输出方向的延时,这个调整的过程称之为训练即training。在系统启动时需要进行一系列的初始化训练,如read training读训练、write training写训练和dcc(duty cycle correction)training占空比校正训练等等。
3.由于初始化训练完成之后,芯片内部电压和温度会随着工作状态的变化而变化,这样会导致训练的结果偏移理想值,并且严重时还会导致读写
数据错误,所以需要设定机制以触发重新进行训练。目前有采用测量周期
延迟线变化幅度的方式,也有采用vt senor即电压温度传感器监控电压和温度变化的方式,但是这两种方式的监测范围有限,比如其无法感知到nadn flash、pcb板的电压和温度变化情况;还有采用周期性重启的方式,但这会导致电压和温度变化很小时也重启,从而带来功耗损失和效率下降。
技术实现要素:
4.有鉴于此,本发明的目的在于提供一种训练触发方法、onfi phy、芯片和电子设备。
5.为了实现上述目的,本发明采用的技术方案如下:
6.第一方面,本发明提供一种训练触发方法,应用于onfi phy,
所述onfi phy分别与内存控制器和nadn flash通信连接,所述onfi phy包括通信连接的信号延迟模块、第一数据通路、第二数据通路和第三数据通路且其分别具有与训练完成后获取的有效采样窗口所匹配的初始延迟参数、第一延迟参数、第二延迟参数和第三延迟参数,所述onfi phy还包括比较模块且与所述第一数据通路、所述第二数据通路和所述第三数据通路通信连接,所述方法包括:
7.在所述nadn flash通过所述onfi phy接收到所述内存控制器发送的读命令并将读数据探针信号和读数据发送给所述onfi phy时,所述信号延迟模块基于所述读数据探针信号获得初始
时刻后,根据所述初始延迟参数对所述初始时刻进行延迟操作得到第一时刻并传输给所述第一数据通路;
8.所述第一数据通路根据所述第一延迟参数对所述第一时刻进行延迟操作得到第二时刻并按照所述第二时刻对所述读数据进行采样得到第一数据,且将所述第二时刻传输给所述第二数据通路;
9.所述第二数据通路根据所述第二延迟参数对所述第二时刻进行延迟操作得到第
三时刻并按照所述第三时刻对所述读数据进行采样得到第二数据,且将所述第三时刻传输给所述第三数据通路;
10.所述第三数据通路根据所述第三延迟参数对所述第三时刻进行延迟操作得到第四时刻并按照所述第四时刻对所述读数据进行采样得到第三数据;
11.所述比较模块获取所述第一数据、所述第二数据和所述第三数据,且若根据所述第一数据、所述第二数据和所述第三数据确定所述有效采样窗口变化超出预设阈值,则触发训练。
12.在可选的实施方式中,所述信号延迟模块包括多个延迟单元,所述初始延迟参数表示所述信号延迟模块中占用的延迟单元的个数;
13.所述信号延迟模块根据所述初始延迟参数对所述初始时刻进行延迟操作得到第一时刻,包括:
14.所述信号延迟模块通过全部占用的延迟单元,对所初始时刻进行延迟操作,得到所述第一时刻。
15.在可选的实施方式中,所述第一数据通路包括多个第一单比特延迟线,一个所述第一单比特延迟线与所述读数据中的一个比特位对应,所述第一单比特延迟线包括多个延迟单元,所述第一延迟参数表示所述第一单比特延迟线中占用的延迟单元的个数;
16.所述第一数据通路根据所述第一延迟参数对所述第一时刻进行延迟操作得到第二时刻并按照所述第二时刻对所述读数据进行采样得到第一数据,包括:
17.对于每个所述第一单比特延迟线,通过所述第一单比特延迟线中全部占用的延迟单元对所述第一时刻进行延迟操作得到所述第二时刻,并按照所述第二时刻从所述读数据中获取所述第一单比特延迟线所对应的比特位上的数据,获得每个所述第一单比特延迟线对应的数据,得到所述第一数据。
18.在可选的实施方式中,所述第二数据通路包括多个第二单比特延迟线,一个所述第二单比特延迟线与所述读数据中的一个比特位对应,所述第二单比特延迟线包括多个延迟单元,所述第二延迟参数表示所述第二单比特延迟线中占用的延迟单元的个数;
19.所述第二数据通路根据所述第二延迟参数对所述第二时刻进行延迟操作得到第三时刻并按照所述第三时刻对所述读数据进行采样得到第二数据,包括:
20.对于每个所述第二单比特延迟线,通过所述第二单比特延迟线中全部占用的延迟单元对所述第二时刻进行延迟操作得到所述第三时刻,并按照所述第三时刻从所述读数据中获取所述第二单比特延迟线所对应的比特位上的数据,获得每个所述第二单比特延迟线对应的数据,得到所述第二数据。
21.在可选的实施方式中,所述第三数据通路包括多个第三单比特延迟线,一个所述第三单比特延迟线与所述读数据中的一个比特位对应,所述第三单比特延迟线包括多个延迟单元,所述第三延迟参数表示所述第三单比特延迟线中占用的延迟单元的个数;
22.所述第三数据通路根据所述第三延迟参数对所述第三时刻进行延迟操作得到第四时刻并按照所述第四时刻对所述读数据进行采样得到第三数据,包括:
23.对于每个所述第三单比特延迟线,通过所述第三单比特延迟线中全部占用的延迟单元对所述第三时刻进行延迟操作得到所述第四时刻,并按照所述第四时刻从所述读数据中获取所述第三单比特延迟线所对应的比特位上的数据,获得每个所述第三单比特延迟线
对应的数据,得到所述第三数据。
24.在可选的实施方式中,所述第一数据通路还包括第一fifo存储器且用于存储所述第一数据,所述第二数据通路还包括第二fifo存储器且用于存储所述第二数据,所述第三数据通路还包括第三fifo存储器且用于存储所述第三数据;
25.所述比较模块获取所述第一数据、所述第二数据和所述第三数据,且若根据所述第一数据、所述第二数据和所述第三数据确定所述有效采样窗口变化,则触发训练,包括:
26.所述比较模块分别从所述第一fifo存储器、所述第二fifo存储器和所述第三fifo存储器,获取所述第一数据、所述第二数据和所述第三数据并进行比较;
27.若第一数据与所述第二数据不等或者所述第三数据与所述第二数据不等,判定所述有效采样窗口变化超出预设阈值,则触发训练。
28.在可选的实施方式中,所述方法还包括:
29.若所述第一数据、所述第二数据和所述第三数据均相等,判定所述有效采样窗口变化未超出预设阈值,则不触发训练。
30.第二方面,本发明提供一种onfi phy,所述onfi phy分别与内存控制器和nadn flash通信连接,所述onfi phy包括通信连接的信号延迟模块、第一数据通路、第二数据通路和第三数据通路且其分别具有与训练完成后获取的有效采样窗口所匹配的初始延迟参数、第一延迟参数、第二延迟参数和第三延迟参数,所述onfi phy还包括比较模块且与所述第一数据通路、所述第二数据通路和所述第三数据通路通信连接;
31.所述信号延迟模块,用于在所述nadn flash通过所述onfi phy接收到所述内存控制器发送的读命令并将读数据探针信号和读数据发送给所述onfi phy时,基于所述读数据探针信号获得初始时刻后,根据所述初始延迟参数对所述初始时刻进行延迟操作得到第一时刻并传输给所述第一数据通路;
32.所述第一数据通路,用于根据所述第一延迟参数对所述第一时刻进行延迟操作得到第二时刻并按照所述第二时刻对所述读数据进行采样得到第一数据,且将所述第二时刻传输给所述第二数据通路;
33.所述第二数据通路,用于根据所述第二延迟参数对所述第二时刻进行延迟操作得到第三时刻并按照所述第三时刻对所述读数据进行采样得到第二数据,且将所述第三时刻传输给所述第三数据通路;
34.所述第三数据通路,用于根据所述第三延迟参数对所述第三时刻进行延迟操作得到第四时刻并按照所述第四时刻对所述读数据进行采样得到第三数据;
35.所述比较模块,用于获取所述第一数据、所述第二数据和所述第三数据,且若根据所述第一数据、所述第二数据和所述第三数据确定所述有效采样窗口变化超出预设阈值,则触发训练。
36.第三方面,本发明提供一种芯片,包括内存控制器和前述实施方式所述的onfi phy,所述内存控制器与所述onfi phy通信连接。
37.第四方面,本发明提供一种电子设备,包括nadn flash和前述实施方式所述的芯片,所述nadn flash与所述芯片中的onfi phy通信连接。
38.本发明提供的训练触发方法、onfi phy、芯片和电子设备,onfi phy包括通信连接的信号延迟模块、第一数据通路、第二数据通路和第三数据通路且其分别具有与训练完成
后获取的有效采样窗口所匹配的初始延迟参数,还包括与第一数据通路、第二数据通路和第三数据通路通信连接的比较模块;在nadn flash通过onfi phy接收到内存控制器发送的读命令并将读数据探针信号和读数据发送给onfi phy时,信号延迟模块基于读数据探针信号获得初始时刻后,根据初始延迟参数对初始时刻进行延迟操作得到第一时刻并传输给第一数据通路;第一数据通路根据第一延迟参数对第一时刻进行延迟操作得到第二时刻并按照第二时刻对读数据进行采样得到第一数据,且将第二时刻传输给第二数据通路;第二数据通路根据第二延迟参数对第二时刻进行延迟操作得到第三时刻并按照第三时刻对读数据进行采样得到第二数据,且将第三时刻传输给第三数据通路;第三数据通路根据第三延迟参数对第三时刻进行延迟操作得到第四时刻并按照第四时刻对读数据进行采样得到第三数据;比较模块获取第一数据、第二数据和第三数据且若确定有效采样窗口变化超出预设阈值则触发训练。通过三个不同的数据通路以监测有效采样窗口变化是否超出预设阈值,可以感知到环境中温度和电压的变化,从而可以快速灵敏的触发训练,有效地避免了读写数据出错,确保了稳定性并且提升了训练效率。
39.为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
40.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
41.图1示出了本发明实施例提供的电子设备方框示意图;
42.图2示出了本发明实施例提供的训练触发方法的一个示例图;
43.图3示出了本发明实施例提供的onfi phy的一种结构示意图;
44.图4示出了本发明实施例提供的训练触发方法的一种流程示意图;
45.图5示出了本发明实施例提供的训练触发方法的又一个示例图。
46.图标:10-内存控制器;20-onfi phy;30-nadn flash;21-信号延迟模块;23-第一数据通路;25-第二数据通路;27-第三数据通路;29-比较模块。
具体实施方式
47.下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
48.因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
49.需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他
性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
50.请参照图1,是本发明实施例提供的一种电子设备的方框示意图。电子设备包括内存控制器10、onfi phy20和nadn flash30,其中onfi phy20分别与内存控制器10和nadn flash30通信连接,并且内存控制器10和onfi phy20集成在soc芯片上。
51.内存控制器10即memory controller是一种集成电路,具有信号处理能力,其可以向nadn flash30发送读/写命令,以从nadn flash30读取数据或者将数据写入nadn flash30。
52.onfi phy20是一种符合onfi的物理层接口模块,其可以实现内存控制器10与nadn flash30之间的通信交互。
53.nadn flash30是一种flash存储器,内部采用非线性宏单元模式,其可以存储内存控制器10发送的命令或者数据。
54.可以理解的是,图1所示的结构仅为电子设备的结构示意图,电子设备还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
55.为了便于理解,本发明实施例提供了一个示例图,请参阅图2,下面将结合图2对读写数据的流程进行介绍。
56.onfi phy20包括写通路和读通路,当内存控制器10发出写命令,写命令及其携带的待写入数据会经过onfi phy20中的写通路即write datapath,传输到芯片外部的nadn flash30;当内存控制器10发出读命令并通过onfi phy20传输给nadn flash30后,nadn flash30返回待读取数据并经过onfi phy20中的读通路即read datapath传输给内存控制器10。
57.可以理解的是,无论是写入数据还是读取数据,onfi phy20均要与内存控制器10和nadn flash30进行通信交互,并且写通路和读通路均属于onfi phy20。即数据的读写流程是在同一物理环境下进行的,所以本发明实施是通过读数据流程来感知整个环境中温度和电压的变化,以此确定是否需要重新启动训练。
58.请参阅图3,是本发明实施提供的onfi phy的一种结构示意图,其中包括信号延迟模块21、第一数据通路23、第二数据通路25和第三数据通路27和比较模块29,其中信号延迟模块21、第一数据通路23、第二数据通路25和第三数据通路27通信连接,比较模块29与第一数据通路23、第二数据通路25和第三数据通路27通信连接。
59.下面将以图3所示的onfi phy作为执行主体,对本发明实施例提供的各个方法中的各个步骤进行说明。
60.请参阅图4,图4是本发明实施例提供的一种训练触发方法的流程示意图。
61.步骤s202,在nadn flash通过onfi phy接收到内存控制器发送的读命令并将读数据探针信号和读数据发送给onfi phy时,信号延迟模块基于读数据探针信号获得初始时刻后,根据初始延迟参数对初始时刻进行延迟操作得到第一时刻并传输给第一数据通路;
62.可以理解的是,训练完成之后可以获取读通路的有效采样窗口,这个有效采样窗
口可以理解为一个周期中能够采样到有效数据的窗口长度即时间范围。也就是说,通过训练可以调整采样窗口以采样到正确的数据,而温度、电压等因素会影响有效采样窗口使其发生变化,进而导致读写数据错误。因此,本发明实施例是依据有效采样窗口变化来感知温度和电压的变化,以确定是否需要重新启动训练。
63.在本实施例中,训练完成后可以读通路的有效采样窗口,并为信号延迟模块、第一数据通路、第二数据通路和第三数据通路,分别配置与有效采样窗口匹配的延迟参数,即初始延迟参数、第一延迟参数、第二延迟参数和第三延迟参数;然后内存控制器10发出读命令并通过onfi phy20发送给nadn flash30,接着nadn flash30将读数据探针信号和对应的读数据发送给onfi phy20。
64.读数据探针信号可以理解为一个时钟信号,即onfi phy20内部的读通路是基于nadn flash30返回的读数据探针信号来采样数据。
65.onfi phy20中的信号延迟模块21接收到读数据探针信号并获得初始时刻如dqs,然后根据其延迟参数即初始延迟参数,对初始时刻dqs进行延迟操作,即得到第一时刻如dqs’,并将第一时刻传输给第一数据通路23。
66.步骤s204,第一数据通路根据第一延迟参数对第一时刻进行延迟操作得到第二时刻并按照第二时刻对读数据进行采样得到第一数据,且将第二时刻传输给第二数据通路;
67.在本实施例中,第一数据通路23接收到第一时刻dqs’,并根据其延迟参数即第一延迟参数,对第一时刻dqs’进行延迟操作,即得到第二时刻如dqs”;然后按照第二时刻dqs”对读数据进行采样,即得到第一数据如data1,并且将第二时刻传输给第二数据通路25。
68.步骤s206,第二数据通路根据第二延迟参数对第二时刻进行延迟操作得到第三时刻并按照第三时刻对读数据进行采样得到第二数据,且将第三时刻传输给第三数据通路;
69.在本实施例中,第二数据通路25接收到第二时刻dqs”,并根据其延迟参数即第二延迟参数,对第二时刻dqs”进行延迟操作,即得到第三时刻如dqs
”’
;然后按照第三时刻dqs
”’
对读数据进行采样,即得到第二数据如data2,并且将第三时刻传输给第三数据通路27。
70.步骤s208,第三数据通路根据第三延迟参数对第三时刻进行延迟操作得到第四时刻并按照第四时刻对读数据进行采样得到第三数据;
71.在本实施例中,第三数据通路27接收到第三时刻dqs
”’
,并根据其延迟参数即第三延迟参数,对第三时刻dqs
”’
进行延迟操作,即得到第四时刻如dqs
””
;然后按照第四时刻dqs
””
对读数据进行采样,即得到第三数据如data3。
72.步骤s210,比较模块获取第一数据、第二数据和第三数据,且若根据第一数据、第二数据和第三数据确定有效采样窗口变化超出预设阈值,则触发训练。
73.在本实施例中,比较模块29分别从第一数据通路23、第二数据通路25和第三数据通路27中,获取第一数据data1、第二数据data2和第三数据data3,如果根据这三个数据确定有效采样窗口变化超出预设阈值,表示当前的温度和电压变化会影响到数据读写的准确性,即需要重新启动训练则触发训练。
74.可见基于上述步骤,onfi phy包括通信连接的信号延迟模块、第一数据通路、第二数据通路和第三数据通路且其分别具有与训练完成后获取的有效采样窗口所匹配的初始延迟参数,还包括与第一数据通路、第二数据通路和第三数据通路通信连接的比较模块;在
nadn flash通过onfi phy接收到内存控制器发送的读命令并将读数据探针信号和读数据发送给onfi phy时,信号延迟模块基于读数据探针信号获得初始时刻后,根据初始延迟参数对初始时刻进行延迟操作得到第一时刻并传输给第一数据通路;第一数据通路根据第一延迟参数对第一时刻进行延迟操作得到第二时刻并按照第二时刻对读数据进行采样得到第一数据,且将第二时刻传输给第二数据通路;第二数据通路根据第二延迟参数对第二时刻进行延迟操作得到第三时刻并按照第三时刻对读数据进行采样得到第二数据,且将第三时刻传输给第三数据通路;第三数据通路根据第三延迟参数对第三时刻进行延迟操作得到第四时刻并按照第四时刻对读数据进行采样得到第三数据;比较模块获取第一数据、第二数据和第三数据且若确定有效采样窗口变化超出预设阈值则触发训练。通过三个不同的数据通路以监测有效采样窗口变化是否超出预设阈值,可以感知到环境中温度和电压的变化,从而可以快速灵敏的触发训练,有效地避免了读写数据出错,确保了稳定性并且提升了训练效率。
75.可选地,对于上述步骤s202中信号延迟模块根据初始延迟参数对初始时刻进行延迟操作得到第一时刻的过程,本发明实施例提供了一种可能的实现方式,即:信号延迟模块通过全部占用的延迟单元,对所初始时刻进行延迟操作,得到第一时刻。
76.请参阅图5,信号延迟模块21包括多个延迟单元,初始延迟参数表示信号延迟模块21中占用的延迟单元的个数。可选地,信号延迟模块21可以用read dqs delay line表示,延迟单元可以用delay element表示,初始延迟参数可以用m表示。
77.可以理解的是,信号延迟模块21包括多个延迟单元,在训练完成获取到有效采样窗口后,会基于这个有效采样窗口配置使用多少个延迟单元,即确定信号延迟模块21中占用的延迟单元的个数即初始延迟参数m。
78.在本实施例中,信号延迟模块21通过全部占用的延迟单元,对所初始时刻dqs进行延迟操作,即得到第一时刻dqs’。可以理解为信号延迟模块21是将初始时刻dqs延迟到有效采样窗口的起始时刻附近,即第一时刻dqs’接近于可以采样到有效数据的时刻。
79.可选地,对于上述步骤s204中第一数据通路根据第一延迟参数对第一时刻进行延迟操作得到第二时刻并按照第二时刻对读数据进行采样得到第一数据的过程,本发明实施例提供了一种可能的实现方式,即:
80.对于每个第一单比特延迟线,通过第一单比特延迟线中全部占用的延迟单元对第一时刻进行延迟操作得到第二时刻,并按照第二时刻从读数据中获取第一单比特延迟线所对应的比特位上的数据,获得每个第一单比特延迟线对应的数据,得到第一数据。
81.在本实施例中,读数据为8bit的数据即其包括8个比特位,可以用dq1至dq7分别表示这8个比特位上的数据。
82.请参阅图5,第一数据通路23包括8个第一单比特延迟线,一个第一单比特延迟线与读数据中的一个比特位对应。并且第一单比特延迟线包括多个延迟单元,第一延迟参数表示第一单比特延迟线中占用的延迟单元的个数。第一数据通路23还包括第一fifo存储器,其用于存储第一数据通路23采样到的数据即第一数据。
83.可选地,第一数据通路23中的采样时刻即第二时刻dqs”最早,第一数据通路23可以用min datapath表示;第一单比特延迟线可以用min per-bit delay line表示;延迟单元可以用delay element表示;第一延迟参数可以用x表示。
84.可以理解的是,第一单比特延迟线包括多个延迟单元,在训练完成获取到有效采样窗口后,会基于这个有效采样窗口配置使用多少个延迟单元,即确定第一单比特延迟线中占用的延迟单元的个数即第一延迟参数x。
85.在本实施例中,每个第一单比特延迟线进行延迟操作和获取对应数据的方式类似,所以本发明实施例是以任意一个第一单比特延迟线为例来进行说明。
86.通过第一单比特延迟线中全部占用的延迟单元,对第一时刻dqs’进行延迟操作,即得到第二时刻dqs”,并按照第二时刻dqs”从读数据中,获取第一单比特延迟线所对应的比特位上的数据以进行数据采样。按照类似的方式获得每个第一单比特延迟线对应的数据,即得到第一数据data1,并将第一数据data1存储至第一fifo存储器。
87.可选地,对于上述步骤s206中第二数据通路根据第二延迟参数对第二时刻进行延迟操作得到第三时刻并按照第三时刻对读数据进行采样得到第二数据的过程,本发明实施例提供了一种可能的实现方式,即:
88.对于每个第二单比特延迟线,通过第二单比特延迟线中全部占用的延迟单元对第二时刻进行延迟操作得到第三时刻,并按照第三时刻从读数据中获取第二单比特延迟线所对应的比特位上的数据,获得每个第二单比特延迟线对应的数据,得到第二数据。
89.请参阅图5,第二数据通路25包括8个第二单比特延迟线,一个第二单比特延迟线与读数据中的一个比特位对应。并且第二单比特延迟线包括多个延迟单元,第二延迟参数表示第二单比特延迟线中占用的延迟单元的个数。第二数据通路25还包括第二fifo存储器,其用于存储第二数据通路25采样到的数据即第二数据。
90.可选地,第二数据通路25中的采样时刻即第三时刻dqs
”’
居中,第二数据通路25可以用normal datapath表示;第二单比特延迟线可以用normal per-bit delay line表示;延迟单元可以用delay element表示;第二延迟参数可以用n表示。
91.可以理解的是,第二单比特延迟线包括多个延迟单元,在训练完成获取到有效采样窗口后,会基于这个有效采样窗口配置使用多少个延迟单元,即确定第二单比特延迟线中占用的延迟单元的个数即第二延迟参数n。
92.在本实施例中,每个第二单比特延迟线进行延迟操作和获取对应数据的方式类似,所以本发明实施例是以任意一个第二单比特延迟线为例来进行说明。
93.通过第二单比特延迟线中全部占用的延迟单元,对第二时刻dqs”进行延迟操作,即得到第三时刻dqs
”’
,并按照第三时刻dqs
”’
从读数据中,获取第二单比特延迟线所对应的比特位上的数据以进行数据采样。按照类似的方式获得每个第二单比特延迟线对应的数据,即得到第二数据data2,并将第二数据data2存储至第二fifo存储器。
94.可选地,对于上述步骤s208中第三数据通路根据第三延迟参数对第三时刻进行延迟操作得到第四时刻并按照第四时刻对读数据进行采样得到第三数据的过程,本发明实施例提供了一种可能的实现方式,即:
95.对于每个第三单比特延迟线,通过第三单比特延迟线中全部占用的延迟单元对第三时刻进行延迟操作得到第四时刻,并按照第四时刻从读数据中获取第三单比特延迟线所对应的比特位上的数据,获得每个第三单比特延迟线对应的数据,得到第三数据。
96.请参阅图5,第三数据通路27包括8个第三单比特延迟线,一个第三单比特延迟线与读数据中的一个比特位对应。并且第三单比特延迟线包括多个延迟单元,第三延迟参数
表示第三单比特延迟线中占用的延迟单元的个数。第三数据通路27还包括第三fifo存储器,其用于存储第三数据通路27采样到的数据即第三数据。
97.可选地,第三数据通路27中的采样时刻即第四时刻dqs
””
最晚,第三数据通路27可以用max datapath表示;第三单比特延迟线可以用max per-bit delay line表示;延迟单元可以用delay element表示;第三延迟参数可以用y表示。
98.可以理解的是,第三单比特延迟线包括多个延迟单元,在训练完成获取到有效采样窗口后,会基于这个有效采样窗口配置使用多少个延迟单元,即确定第三单比特延迟线中占用的延迟单元的个数即第三延迟参数y。
99.在本实施例中,每个第三单比特延迟线进行延迟操作和获取对应数据的方式类似,所以本发明实施例是以任意一个第三单比特延迟线为例来进行说明。
100.通过第三单比特延迟线中全部占用的延迟单元,对第三时刻dqs
”’
进行延迟操作,即得到第四时刻dqs
””
,并按照第四时刻dqs
””
从读数据中,获取第三单比特延迟线所对应的比特位上的数据以进行数据采样。按照类似的方式获得每个第三单比特延迟线对应的数据,即得到第三数据data3,并将第三数据data3存储至第三fifo存储器。
101.可选地,对于上述步骤s210,本发明实施例提供了一种可能的实现方式,即:
102.比较模块分别从第一fifo存储器、第二fifo存储器和第三fifo存储器,获取第一数据、第二数据和第三数据并进行比较;若第一数据与第二数据不等或者第三数据与第二数据不等,判定有效采样窗口变化超出预设阈值,则触发训练;若第一数据、第二数据和第三数据均相等,判定有效采样窗口变化未超出预设阈值,则不触发训练。
103.在本实施例中,比较模块29分别从第一fifo存储器、第二fifo存储器和第三fifo存储器,获取第一数据、第二数据和第三数据并进行比较,以基于比较结果来确定有效采样窗口变化是否超出预设阈值。
104.可以理解的是,本发明实施例中配置的初始延迟参数、第一延迟参数、第二延迟参数和第三延迟参数,分别表示信号延迟模块21、第一数据通路23、第二数据通路25和第三数据通路27中延迟单元的使用个数,并且均与有效采样窗口匹配。可以理解为这些延迟参数与获得该有效采样窗口时环境中的温度和电压匹配。而延迟单元会受到温度和电压的影响,使其延迟作用的时间长度发生变化。
105.也就是说,如果环境中的温度和电压没有变化或者变化极小,则延迟单元的延迟作用的时间长度不会变化,那么按照这些延迟参数延迟处理后所得到的采样时刻即第二时刻、第三时刻和第四时刻应该都处于有效采样窗口内。如果环境中的温度和电压发生变化或者变化较大,则延迟单元的延迟作用的时间长度产生变化,那么按照这些延迟参数延迟处理后所得到的采样时刻即第二时刻、第三时刻和第四时刻不会都处于有效采样窗口内。
106.本发明实施例是将第二数据通路25中的采样时刻即第三时刻设置为处于有效采样窗口中间的最佳采样时刻,那么按照第三时刻采样到的第二数据一定是正确的,即其一定是nadn flash30实际传输的读数据。
107.第一数据通路23中的采样时刻即第二时刻早于第三时刻,第三数据通路27中的采样时刻即第四时刻晚于第三时刻,如果有效采样窗口变化未超出预设阈值,那么按照第二时刻采样到的第一数据和按照第四时刻采样到的第三数据也一定是正确的;如果采样窗口发生了变化,那么就会导致按照第二时刻采样到的第一数据错误,或者按照第四时刻采样
到的第三数据错误。
108.基于上述原理,本发明实施例是通过比较第一数据和第三数据与第二数据是否相等,来判断有效采样窗口变化是否超出预设阈值。
109.如果第一数据与第二数据不等或者第三数据与第二数据不等,即第一数据和第三数据中至少有一个数据与第二数据不等,则表示第二时刻和第四时刻中至少有一个时刻不处于有效采样窗口内,说明环境中的温度和电压发生变化或者变化较大,导致有效采样窗口变化超出预设阈值,那么此时可能导致数据读写出现错误,所以需要重新启动训练即触发训练。
110.如果第一数据、第二数据和第三数据这三个数据相等,则表示第二时刻、第三时刻和第四时刻均处于有效采样窗口内,说明环境中的温度和电压没有变化或者变化极小,使得有效采样窗口变化未超出预设阈值,那么此时数据读写正常,所以不需要重新启动训练即不触发训练。
111.为了执行上述实施例及各个可能的方式中的相应步骤,下面给出一种onfi phy的实现方式。需要说明的是,本实施例所提供的onfi phy,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。该onfi phy包括:
112.信号延迟模块21,用于在nadn flash30通过onfi phy20接收到内存控制器10发送的读命令并将读数据探针信号和读数据发送给onfi phy20时,基于读数据探针信号获得初始时刻后,根据初始延迟参数对初始时刻进行延迟操作得到第一时刻并传输给第一数据通路;
113.第一数据通路23,用于根据第一延迟参数对第一时刻进行延迟操作得到第二时刻并按照第二时刻对读数据进行采样得到第一数据,且将第二时刻传输给第二数据通路25;
114.第二数据通路25,用于根据第二延迟参数对第二时刻进行延迟操作得到第三时刻并按照第三时刻对读数据进行采样得到第二数据,且将第三时刻传输给第三数据通路27;
115.第三数据通路27,用于根据第三延迟参数对第三时刻进行延迟操作得到第四时刻并按照第四时刻对读数据进行采样得到第三数据;
116.比较模块29,用于获取第一数据、第二数据和第三数据,且若根据第一数据、第二数据和第三数据确定有效采样窗口变化超出预设阈值,则触发训练。
117.可选地,信号延迟模块21,还用于通过全部占用的延迟单元,对所初始时刻进行延迟操作,得到第一时刻。
118.可选地,第一数据通路23,还用于对于每个第一单比特延迟线,通过第一单比特延迟线中全部占用的延迟单元对第一时刻进行延迟操作得到第二时刻,并按照第二时刻从读数据中获取第一单比特延迟线所对应的比特位上的数据,获得每个第一单比特延迟线对应的数据,得到第一数据。
119.可选地,第二数据通路25,还用于对于每个第二单比特延迟线,通过第二单比特延迟线中全部占用的延迟单元对第二时刻进行延迟操作得到第三时刻,并按照第三时刻从读数据中获取第二单比特延迟线所对应的比特位上的数据,获得每个第二单比特延迟线对应的数据,得到第二数据。
120.可选地,第三数据通路27,还用于对于每个第三单比特延迟线,通过第三单比特延
迟线中全部占用的延迟单元对第三时刻进行延迟操作得到第四时刻,并按照第四时刻从读数据中获取第三单比特延迟线所对应的比特位上的数据,获得每个第三单比特延迟线对应的数据,得到第三数据。
121.可选地,比较模块29,还用于比较模块分别从第一fifo存储器、第二fifo存储器和第三fifo存储器,获取第一数据、第二数据和第三数据并进行比较;若第一数据与第二数据不等或者第三数据与第二数据不等,判定有效采样窗口变化超出预设阈值,则触发训练。
122.可选地,比较模块29,还用于若第一数据、第二数据和第三数据均相等,判定有效采样窗口变化未超出预设阈值,则不触发训练。
123.本发明实施例还提供了一种芯片,包括内存控制器和本发明实施例提供的onfi phy,内存控制器与onfi phy通信连接。
124.本发明实施例还提供了一种电子设备,包括nadn flash和本发明实施例提供的芯片,nadn flash与芯片中的onfi phy通信连接。
125.在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
126.另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
127.以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
技术特征:
1.一种训练触发方法,其特征在于,应用于onfi phy,所述onfi phy分别与内存控制器和nadn flash通信连接,所述onfi phy包括通信连接的信号延迟模块、第一数据通路、第二数据通路和第三数据通路且其分别具有与训练完成后获取的有效采样窗口所匹配的初始延迟参数、第一延迟参数、第二延迟参数和第三延迟参数,所述onfi phy还包括比较模块且与所述第一数据通路、所述第二数据通路和所述第三数据通路通信连接,所述方法包括:在所述nadn flash通过所述onfi phy接收到所述内存控制器发送的读命令并将读数据探针信号和读数据发送给所述onfi phy时,所述信号延迟模块基于所述读数据探针信号获得初始时刻后,根据所述初始延迟参数对所述初始时刻进行延迟操作得到第一时刻并传输给所述第一数据通路;所述第一数据通路根据所述第一延迟参数对所述第一时刻进行延迟操作得到第二时刻并按照所述第二时刻对所述读数据进行采样得到第一数据,且将所述第二时刻传输给所述第二数据通路;所述第二数据通路根据所述第二延迟参数对所述第二时刻进行延迟操作得到第三时刻并按照所述第三时刻对所述读数据进行采样得到第二数据,且将所述第三时刻传输给所述第三数据通路;所述第三数据通路根据所述第三延迟参数对所述第三时刻进行延迟操作得到第四时刻并按照所述第四时刻对所述读数据进行采样得到第三数据;所述比较模块获取所述第一数据、所述第二数据和所述第三数据,且若根据所述第一数据、所述第二数据和所述第三数据确定所述有效采样窗口变化超出预设阈值,则触发训练。2.根据权利要求1所述的方法,其特征在于,所述信号延迟模块包括多个延迟单元,所述初始延迟参数表示所述信号延迟模块中占用的延迟单元的个数;所述信号延迟模块根据所述初始延迟参数对所述初始时刻进行延迟操作得到第一时刻,包括:所述信号延迟模块通过全部占用的延迟单元,对所初始时刻进行延迟5操作,得到所述第一时刻。3.根据权利要求1所述的方法,其特征在于,所述第一数据通路包括多个第一单比特延迟线,一个所述第一单比特延迟线与所述读数据中的一个比特位对应,所述第一单比特延迟线包括多个延迟单元,所述第一延迟参数表示所述第一单比特延迟线中占用的延迟单元的个数;0所述第一数据通路根据所述第一延迟参数对所述第一时刻进行延迟操作得到第二时刻并按照所述第二时刻对所述读数据进行采样得到第一数据,包括:对于每个所述第一单比特延迟线,通过所述第一单比特延迟线中全部占用的延迟单元对所述第一时刻进行延迟操作得到所述第二时刻,并按照5所述第二时刻从所述读数据中获取所述第一单比特延迟线所对应的比特位上的数据,获得每个所述第一单比特延迟线对应的数据,得到所述第一数据。4.根据权利要求1所述的方法,其特征在于,所述第二数据通路包括多个第二单比特延迟线,一个所述第二单比特延迟线与所述读数据中的一个0比特位对应,所述第二单比特延迟线包括多个延迟单元,所述第二延迟参数表示所述第二单比特延迟线中占用的延迟单元
的个数;所述第二数据通路根据所述第二延迟参数对所述第二时刻进行延迟操作得到第三时刻并按照所述第三时刻对所述读数据进行采样得到第二数据,包括:5对于每个所述第二单比特延迟线,通过所述第二单比特延迟线中全部占用的延迟单元对所述第二时刻进行延迟操作得到所述第三时刻,并按照所述第三时刻从所述读数据中获取所述第二单比特延迟线所对应的比特位上的数据,获得每个所述第二单比特延迟线对应的数据,得到所述第二数据。5.根据权利要求1所述的方法,其特征在于,所述第三数据通路包括多个第三单比特延迟线,一个所述第三单比特延迟线与所述读数据中的一个比特位对应,所述第三单比特延迟线包括多个延迟单元,所述第三延迟参数表示所述第三单比特延迟线中占用的延迟单元的个数;所述第三数据通路根据所述第三延迟参数对所述第三时刻进行延迟操作得到第四时刻并按照所述第四时刻对所述读数据进行采样得到第三数据,包括:对于每个所述第三单比特延迟线,通过所述第三单比特延迟线中全部占用的延迟单元对所述第三时刻进行延迟操作得到所述第四时刻,并按照所述第四时刻从所述读数据中获取所述第三单比特延迟线所对应的比特位上的数据,获得每个所述第三单比特延迟线对应的数据,得到所述第三数据。6.根据权利要求1所述的方法,其特征在于,所述第一数据通路还包括第一fifo存储器且用于存储所述第一数据,所述第二数据通路还包括第二fifo存储器且用于存储所述第二数据,所述第三数据通路还包括第三fifo存储器且用于存储所述第三数据;所述比较模块获取所述第一数据、所述第二数据和所述第三数据,且若根据所述第一数据、所述第二数据和所述第三数据确定所述有效采样窗口变化,则触发训练,包括:所述比较模块分别从所述第一fifo存储器、所述第二fifo存储器和所述第三fifo存储器,获取所述第一数据、所述第二数据和所述第三数据并进行比较;若第一数据与所述第二数据不等或者所述第三数据与所述第二数据不等,判定所述有效采样窗口变化,则触发训练。7.根据权利要求6所述的方法,其特征在于,所述方法还包括:若所述第一数据、所述第二数据和所述第三数据均相等,判定所述有效采样窗口变化未超出预设阈值,则不触发训练。8.一种onfi phy,其特征在于,所述onfi phy分别与内存控制器和nadn flash通信连接,所述onfi phy包括通信连接的信号延迟模块、第一数据通路、第二数据通路和第三数据通路且其分别具有与训练完成后获取的有效采样窗口所匹配的初始延迟参数、第一延迟参数、第二延迟参数和第三延迟参数,所述onfi phy还包括比较模块且与所述第一数据通路、所述第二数据通路和所述第三数据通路通信连接;所述信号延迟模块,用于在所述nadn flash通过所述onfi phy接收到所述内存控制器发送的读命令并将读数据探针信号和读数据发送给所述onfi phy时,基于所述读数据探针信号获得初始时刻后,根据所述初始延迟参数对所述初始时刻进行延迟操作得到第一时刻并传输给所述第一数据通路;所述第一数据通路,用于根据所述第一延迟参数对所述第一时刻进行延迟操作得到第
二时刻并按照所述第二时刻对所述读数据进行采样得到第一数据,且将所述第二时刻传输给所述第二数据通路;所述第二数据通路,用于根据所述第二延迟参数对所述第二时刻进行延迟操作得到第三时刻并按照所述第三时刻对所述读数据进行采样得到第二数据,且将所述第三时刻传输给所述第三数据通路;所述第三数据通路,用于根据所述第三延迟参数对所述第三时刻进行延迟操作得到第四时刻并按照所述第四时刻对所述读数据进行采样得到第三数据;所述比较模块,用于获取所述第一数据、所述第二数据和所述第三数据,且若根据所述第一数据、所述第二数据和所述第三数据确定所述有效采样窗口变化超出预设阈值,则触发训练。9.一种芯片,其特征在于,包括内存控制器和权利要求8所述的onfi phy,所述内存控制器与所述onfi phy通信连接。10.一种电子设备,其特征在于,包括nadn flash和权利要求9所述的芯片,所述nadn flash与所述芯片中的onfi phy通信连接。
技术总结
本发明涉及存储技术领域,提供一种训练触发方法、ONFI PHY、芯片和电子设备。ONFI PHY包括通信连接的信号延迟模块、第一数据通路、第二数据通路、第三数据通路和比较模块,依次通过信号延迟模块、第一数据通路、第二数据通路和第三数据通路,按照各自对应的延迟参数对NADN Flash发送的读数据探针信号进行延迟操作,分别按照第一数据通路、第二数据通路和第三数据通路经延迟操作后三个时刻采样NADN Flash发送的读数据,比较模块若基于三个时刻采样得到的数据确定有效采样窗口变化超出预设阈值则触发训练。通过监测有效采样窗口来感知环境中温度和电压的变化以快速灵敏地触发训练,确保稳定性并提升训练效率。确保稳定性并提升训练效率。确保稳定性并提升训练效率。
技术研发人员:
钟汝刚 刘小威
受保护的技术使用者:
中茵微电子(南京)有限公司
技术研发日:
2022.12.29
技术公布日:
2023/3/27