CN108646984A - 一种dqs位置调整方法和装置 - Google Patents
一种dqs位置调整方法和装置 Download PDFInfo
- Publication number
- CN108646984A CN108646984A CN201810468980.6A CN201810468980A CN108646984A CN 108646984 A CN108646984 A CN 108646984A CN 201810468980 A CN201810468980 A CN 201810468980A CN 108646984 A CN108646984 A CN 108646984A
- Authority
- CN
- China
- Prior art keywords
- allowance
- data
- dqs
- effective width
- center
- 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
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/22—Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management
- G11C7/222—Clock generating, synchronizing or distributing circuits within memory device
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/028—Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/32—Timing circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/022—Detection or location of defective auxiliary circuits, e.g. defective refresh counters in I/O circuitry
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/023—Detection or location of defective auxiliary circuits, e.g. defective refresh counters in clock generator or timing circuitry
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/50—Marginal testing, e.g. race, voltage or current testing
- G11C29/50012—Marginal testing, e.g. race, voltage or current testing of timing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
- G11C7/1066—Output synchronization
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
- G11C7/1093—Input synchronization
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/4076—Timing circuits
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Memory System (AREA)
- Dram (AREA)
- Read Only Memory (AREA)
Abstract
公开了一种数据锁存信号DQS位置调整方法和装置,所述方法包括:获取传输总线上所有数据信号DQ的裕量有效宽度,根据所述裕量有效宽度确定左边界,以及确定右边界,所述左边界为所有DQ的裕量有效宽度最小值中的最大值,所述右边界为所有DQ在以所述左边界对齐的情况下,对应的所有裕量有效宽度最大值中的最小值;根据所述左边界和所述右边界计算第一中心位置,所述第一中心位置为读数据训练时,对齐所有DQ后的最小裕量有效宽度的中心;调整所述DQS的延迟线DL至所述第一中心位置。本方法以第一中心位置DQS采样获得的数据信号的建立时间和保持时间的裕量最大,从而避免数据读写时发生误码,提高了数据读写操作的可靠性。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种DQS位置调整方法和装置。
背景技术
随着ICT(Information Communications Technology,信息、通信和技术)行业的不断发展,客户对海量数据的存储要求响应快、延时低,即对存储系统的每秒读写(I/O)操作的次数(Input/Output Operations Per Second,IOPS)性能要求更高。此外,闪存技术迅猛发展,闪存的应用成为趋势,为了达到IOPS的高性能需求,一种途径是考虑提高存储控制器和新型闪存介质之间的非易失性闪存接口(Nand Flash Interface,NFI)总线速率,因为该NFI总线速率是存储设备性能提升的关键点。
随着NFI总线速率的持续提升,时序占比的问题会越来越突出,目前影响系统时序占比的因素有:控制器、板级互连和NAND Flash(flash存储器的一种)。随着NFI总线速率从266MT/S向533MT/S演进,总线速率越高,对应的板级互连的时序占比空间越小(0.34->0.1)。
以典型存储系统为例,比如2.5寸固态硬盘、标卡及其他型态SSD等大容量场景,由于布线拓扑、布线长度、布线阻抗等影响,接收端(对应信号传输的目的地)接收到的信号的有效宽度和相位都会发生较大的变化,导致数据信号(Data signal,DQ)的有效宽度减少,接收端在通过数据锁存信号(Data strobe signal,DQS)锁存DQ的建立时间或者保持时间的裕量不足,进而导致读写数据时出现误码,造成数据丢失。
发明内容
本发明实施例提供了一种裕量有效宽度的中心位置的调整方法,即数据锁存信号DQS的位置确定方法,适用于控制器和NAND Flash之间的连接总线,主要通过在控制器内部集成延迟锁相环DLL和延迟线DL模块,定义一种时序裕量的训练的方法,从而实现NFI总线上,DQ与DQ之间、DQS与DQ之间的时序关系的自动调整,使得调整后接收端信号的裕量有效宽度最大、建立时间和保持时间裕量也最大,避免高速读写时数据丢失。
第一方面,本申请提供了一种数据锁存信号DQS位置调整方法,方法包括:
获取传输总线上所有数据信号DQ的裕量有效宽度,所述裕量有效宽度为预设数据在发送端的理想信号宽度经过传输到达接收端时,被所述接收端正确采样的信号宽度;根据所述裕量有效宽度确定左边界,以及确定右边界,所述左边界为所有DQ的裕量有效宽度最小值中的最大值,所述右边界为所有DQ在以所述左边界对齐的情况下,对应的所有裕量有效宽度最大值中的最小值;根据所述左边界和所述右边界计算第一中心位置,所述第一中心位置为读数据训练时,对齐所有DQ后的最小裕量有效宽度的中心;调整所述DQS的延迟线DL至所述第一中心位置。
结合第一方面,在第一方面的一种实现方式中,所述确定左边界的方法具体包括:设置DQS的第一位置,所述第一位置对应的采样数据不产生误码;以N个步进长度为单位向左调整所述第一位置,并判断每次调整后的第一位置对应的采样数据是否产生误码;直至所述调整后的第一位置对应的采样数据产生误码,确定所述左边界值为所述调整后且产生误码的第一位置,再向右调整M个步进长度后的位置,其中,1≤M≤N。
可选的,在第一方面的第一种实现方式中,所述确定左边界的过程包括:设置所述第一位置为预设左边界,可以用a表示,另外,还包括预设右边界,可以用b表示,且a和b为步进长度N的整数倍,N为大于1的自然数;
以所述预设左边界a为初始位置,判断所述初始位置的数据锁存信号DQS采样的数据是否产生误码;如果不产生误码,则确定所述左边界值为所述预设左边界a;如果产生误码,则将所述初始位置先向右以N个单位的步进长度粗调DQS位置,然后再向左以最小步进长度为1单位细调整,并且每调整一个位置后都要检验该DQS位置对应的数据是否产生误码,如果没有误码,则继续向左调整DQS,直到调整后的DQS位置所对应的数据产生误码,则确定所述左边界为当前产生误码的DQS位置再加上1个步进长度所对应的刻度值。
本实现方式中,以预设左边界为DQS初始位置,在该初始位置不产生误码时,能够快速地确定该预设左边界为左边界,从而节约了调整DQS的时间,提高训练效率。
可选的,在第一方面的第二种实现方式中,所述确定左边界的过程包括:设置所述第一位置为DQS周期的1/4时间延迟后的位置;以所述第一位置为起始点逐渐向左调整DQS的位置,并逐一检测每个DQS位置对应的数据是否产生误码,当调整某一位置后出现第一个误码时,确定当前调整的DQS位置为所述左边界。
本实现方式中,先将调整DQS的位置至DQS的1/4周期位置,使得第一位置相对于所有DQ位于大概中心的位置,从而便于以该中心位置向左和向右分别调整和确定DQS的位置,进而能够快速地确定左边界,节约了调整时间。
结合第一方面,在第一方面的一种实现方式中,所述确定左边界的方法具体包括:
设置DQS的第二位置,所述第二位置对应的采样数据产生误码;以P个步进长度为单位向右调整所述第二位置,并判断每次调整后的第二位置对应的采样数据是否产生误码;进一步地,根据步进长度P的大小可以分为以下两种情况:
如果P≥2,则调整所述第二位置直至所述调整后的第二位置对应的采样数据不产生误码,确定所述左边界值为当前调整后且不产生误码的第二位置,再向左调整Q个步进长度后的位置,其中,1≤Q≤P;
如果P=1,则调整所述第二位置直至调整后的位置对应的采样数据不产生误码,确定所述左边界值为当前所述调整后的位置。
结合第一方面,在第一方面的又一种实现方式中,所述确定右边界的方法具体包括:
以所述左边界为基准,调整所有DQ的DL,使所有DQ的裕量有效宽度最小值与所述左边界相等;其中,保持所有DQ的裕量有效宽度不变,确定所述传输总线上所有DQ中最小的裕量有效宽度;确定所述右边界为所述最小裕量有效宽度的最大值,即对齐后的最小裕量有效宽度的最大刻度值。
可选的,在将所有DQ的裕量有效宽度左对齐之后,确定所述右边界的过程还包括:
从所述左边界开始逐渐向右调整DQS位置,例如每次调整以N个单位为步进长度,然后逐一检测每个调整后的DQS位置是否产生误码,当调整所述DQS位置后第一次出现误码时,确定所述右边界为当前第一次出现误码的DQS位置再减去1个单位步进长度之后的刻度值。
其中,所述第一次出现误码的DQS位置为左对齐后所有裕量有效宽度的最大值中最小的一个。
结合第一方面,在第一方面的又一种实现方式中,所述方法还包括:控制器按照正常速率写入、和读取所述预设数据;确定第二中心位置,所述第二中心位置为写数据训练时,对齐所有DQ后的最小裕量有效宽度的中心;调整所述DQS的DL至所述第二中心位置;将所述第一中心位置和所述第二中心位置赋予到DQS寄存器,以及将每个DQ相对于所述第一中心位置和所述第二中心位置调整的DL长度赋予到DQ寄存器。
具体地,所述确定第二中心位置的过程与上述确定第一中心位置的过程相似,先调整DQS信号的DL,使DQS信号边沿与DQ信号的裕量有效宽度的左边界对齐,然后自动调整所有DQ的DL,使所有DQ的左边界与DQS当前位置对齐,确定出左边界,然后再调整DQS的DL,使DQS的边沿与DQ信号的裕量有效宽度的右边界对齐,确定出右边界,最后计算出左边界和右边界的平均值,作为第二中心位置。
结合第一方面,在第一方面的又一种实现方式中,所述获取传输总线上所有DQ的裕量有效宽度之前,所述方法还包括:上电或复位时,对所述传输总线上的终端匹配电阻进行校准操作;在所述终端匹配电阻校准操作完成后,检测所述传输总线上的总线速率是否大于阈值;如果大于所述阈值,则执行所述根据所述裕量有效宽度确定左边界,以及确定右边界的步骤;如果小于等于所述阈值,则进入正常工作状态。
结合第一方面,在第一方面的又一种实现方式中,所述获取传输总线上所有DQ的裕量有效宽度之前,所述方法还包括:获取非易失性闪存接口NFI总线的工作模式;根据所述NFI总线模式,以及所述NFI总线模式与总线速率之间的对应关系,确定所述NFI总线模式下的最低速率;按照所述最低速率将所述预设数据写入到NAND Flash的数据寄存器上;从所述NAND Flash的数据寄存器上获取所述预设数据。
第二方面,本申请还提供了一种数据锁存信号DQS位置调整装置,所述该装置包括用于执行第一方面及第一方面各实现方式中步骤的单元。
可选的,所述装置包括获取单元,处理单元和发送单元,此外,还可以包括存储单元等其他功能模块或单元,本申请对此不予限定。
第三方面,本申请还提供了一种控制器,所述控制器包括控制电路、驱动电路和存储介质等,其中,控制电路与驱动电路相连接,所述驱动电路包括flash I/O接口用于实现控制器与flash颗粒之间的数据传输。
进一步地,所述控制电路用于执行以下功能:
获取传输总线上所有数据信号DQ的裕量有效宽度,所述裕量有效宽度为预设数据在发送端的理想信号宽度经过传输到达接收端时,被所述接收端正确采样的信号宽度;
根据所述裕量有效宽度确定左边界,以及确定右边界,所述左边界为所有DQ的裕量有效宽度最小值中的最大值,所述右边界为所有DQ在以所述左边界对齐的情况下,对应的所有裕量有效宽度最大值中的最小值;根据所述左边界和所述右边界计算第一中心位置,所述第一中心位置为读数据训练时,对齐所有DQ后的最小裕量有效宽度的中心;以及调整所述DQS的延迟线DL至所述第一中心位置。
结合第三方面,在第三方面的一种实现方式中,所述控制电路,具体用于设置DQS的第一位置,所述第一位置对应的采样数据不产生误码;以N个步进长度为单位向左调整所述第一位置,并判断每次调整后的第一位置对应的采样数据是否产生误码;直至所述调整后的第一位置对应的采样数据产生误码,确定所述左边界值为所述调整后且产生误码的第一位置,再向右调整M个步进长度后的位置,其中,1≤M≤N。
结合第三方面,在第三方面的另一种实现方式中,所述控制电路,具体用于设置DQS的第二位置,所述第二位置对应的采样数据产生误码;以P个步进长度为单位向右调整所述第二位置,并判断每次调整后的第二位置对应的采样数据是否产生误码;以及,
如果P≥2,则调整所述第二位置直至所述调整后的第二位置对应的采样数据不产生误码,确定所述左边界值为当前调整后且不产生误码的第二位置,再向左调整Q个步进长度后的位置,其中,1≤Q≤P;
如果P=1,则调整所述第二位置直至调整后的位置对应的采样数据不产生误码,确定所述左边界值为当前所述调整后的位置。
结合第三方面,在第三方面的又一种实现方式中,所述控制电路,具体用于以所述左边界为基站,调整所有DQ的DL,使所有DQ的裕量有效宽度最小值与所述左边界相等;确定所述传输总线上所有DQ中最小的裕量有效宽度;确定所述右边界为所述最小裕量有效宽度的最大值。
结合第三方面,在第三方面的又一种实现方式中,所述控制电路,还用于按照正常速率写入、和读取所述预设数据;确定第二中心位置,所述第二中心位置为写数据训练时,对齐所有DQ后的最小裕量有效宽度的中心;调整所述DQS的DL至所述第二中心位置;将所述第一中心位置和所述第二中心位置赋予到DQS寄存器,以及将每个DQ相对于所述第一中心位置和所述第二中心位置调整的DL长度赋予到DQ寄存器。
结合第三方面,在第三方面的又一种实现方式中,所述控制电路,还用于在获取传输总线上所有DQ的裕量有效宽度之前,上电或复位时,对所述传输总线上的终端匹配电阻进行校准操作;在所述终端匹配电阻校准操作完成后,检测所述传输总线上的总线速率是否大于阈值;如果大于所述阈值,则执行所述根据所述裕量有效宽度确定左边界,以及确定右边界的步骤;如果小于等于所述阈值,则进入正常工作状态。
结合第三方面,在第三方面的又一种实现方式中,所述控制电路,还用于在获取传输总线上所有DQ的裕量有效宽度之前,获取非易失性闪存接口NFI总线的工作模式;根据所述NFI总线模式,以及所述NFI总线模式与总线速率之间的对应关系,确定所述NFI总线模式下的最低速率;按照所述最低速率将所述预设数据写入到NAND Flash的数据寄存器上;从所述NAND Flash的数据寄存器上获取所述预设数据。
结合第三方面,在第三方面的又一种实现方式中,所述控制电路中包括DQ0至DQ7寄存器、DQS寄存器、DQS_N寄存器,若干个DL模块和一个DLL模块,其中,DQ0至DQ7寄存器用于寄存各个DQ需要延迟的DL值,DL1模块用于延迟读方向上DQ0至DQ7的8个数据信号被触发的时间点,DL2模块用于延迟写方向上DQ0至DQ7的8个数据信号的被触发的时间点,DL3模块用于延迟读方向上DQS触发的时间点,DL4模块用于延迟写方向上DQS的触发的时间点;DLL模块用于获取DQS的周期。
第四方面,本申请还提供了一种网络设备,所述网络设备包括:收发器、控制器和存储器,所述控制器包括控制器用于读取存储器中存储的指令,进而实现第一方面以及第一方面各种实现方式中的DQS位置调整方法。
可选的,所述控制器包括处理器,例如CPU。
第五方面,本申请还提供了一种计算机存储介质,该计算机存储介质可存储有程序,该程序执行时可实现包括本申请提供的DQS位置调整方法各实施例中的部分或全部步骤。
第六方面,本申请还提供了一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行前述各种实现方式中所述的方法。
本申请提供的方法,通过将所有DQ的裕量有效宽度宽度左边界对齐,然后选取裕量有效宽度最小的一个的中心作为第一中心位置,进而调整所述DQS的延迟线位于该第一中心位置,从而使得在该中心位置DQS采样数据信号的建立时间和保持时间的裕量最大,避免数据读写时发生误码,提高了数据读写操作的可靠性。
另外,本方法还能够极大地提高采样点寻优精度和效率,确保传输链路在不同的工艺角、电压和温度等状态下能够可靠地工作,并支持更高的传输速率。
附图说明
图1为本申请提供的一种NFI总线的示意图;
图2为本申请提供的一种发送端理想的时序示意图;
图3为本申请提供的一种接收端实际的时序示意图;
图4为本申请提供的一种裕量有效宽度的示意图;
图5为本申请提供的一种理想信号宽度和实际信号有效宽度的示意图;
图6为本申请提供的一种控制器的DLL/DL模块的结构示意图;
图7为本申请提供的一种时序裕量训练方法的流程图;
图8为本申请自定义时序训练数据列表的示意图;
图9为本申请提供的一种NAND Flash颗粒的示意图;
图10为本申请提供的一种DQS位置调整方法的流程图;
图11为本申请提供的利用第一种方式确定左右边界值的流程图;
图12a为本申请提供的一种确定左边界值的示意图;
图12b为本申请提供的一种确定右边界值的示意图;
图13为本申请提供的一种读方向确定左边界值的流程示意图;
图14为本申请提供的一种读方向训练左对齐的流程示意图;
图15为本申请提供的一种读方向确定右边界值的流程示意图;
图16为本申请提供的利用第二种方式确定左右边界值的流程图;
图17为本申请提供的一种读方向时序裕量训练方法的示意图;
图18为本申请提供的利用第三种方式确定左右边界值的流程图;
图19为本申请提供的另一种读方向时序裕量训练方法的示意图;
图20为本申请提供的一种DQS位置调整装置的结构示意图;
图21为本申请提供的一种控制器的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请实施例中的技术方案,并使本申请实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本申请实施例中的技术方案作进一步详细的说明。
在对本申请实施例的技术方案说明之前,首先结合附图对本申请实施例的应用场景和相关概念进行说明。
本申请技术方案的应用场景可以是采用NFI总线控制领域,比如控制器和NandFlash颗粒之间场景,如图1所示,目的是提升控制器和NAND Flash之间的NFI总线时序裕量,其中,所述NAND Flash可以是包括以下各种形式的存储介质,例如SSD盘、AIC卡、NGFF(M.2)、SD Card(Secure Digital Card)、eMMC(embedded Multi Media Card)、UFS(Universal Flash Storage)以及自定义型态等各类闪存设备。
进一步地,所述Nand Flash为Flash存储器的一种,其内部采用非线性宏单元模式,为固态大容量内存的实现提供了廉价有效的解决方案。Nand flash具有容量大,改写速度快等优点,适用于大量数据的存储,并且应用广泛,如嵌入式产品中包括数码相机、MP3随身听记忆卡、体积小巧的U盘等。
所述时序裕量是指:在满足接收端的建立时间和保持时间的要求外,剩余的时间可称为时序裕量。换句话说,如果数据信号在时钟边沿触发前后持续的时间分别超过建立时间和保持时间,那么这部分超过的分量分别称为建立时间裕量和保持时间裕量。
所述建立时间(Setup time)是指:触发器的时钟信号上升沿到来以前,数据稳定不变的时间。输入信号应提前时钟上升沿(如上升沿有效)T时间到达芯片,这个T就是建立时间。若不满足建立时间,则数据就不能在当前时钟周期被记录于触发器中,只有在下一个时钟上升沿时,该数据才能被打入到触发器。换言之,为了将数据信号正确地锁存至器件内部,就必须要使得信号提前于时钟边沿到达接收端。即所述接收端的建立时间就是指:数据被时钟沿触发之前必须在输入端有效存在的时间。
所述保持时间(hold time)是指:触发器的时钟信号上升沿到来以后,数据稳定不变的时间(数据保持不变以便能够稳定读取)。换言之,数据信号要想正确无误地被锁存,必须在输入缓冲端持续存在一段时间,这样时钟沿才能有足够的时间触发存取,这段最少持续时间的就可称为保持时间。
概况地说,所述建立时间就是在脉冲信号到来时,输入信号已经稳定等待的时间;而保持时间是信号脉冲到来后,而输入信号还没有到达下降沿的时间。
所述数据信号(Data signal,DQ):指NFI总线的一组数据信号,比如NFI总线包括8条线路,每条线路可用于传输一路DQ,将所述NFI总线的8条线路按照从0开始编号,生成一组DQ信号,如图2所示,8条数据线路依次为DQ0至DQ7。
时序占比:各时序参数与一个理想数据宽度的比值。
数据锁存信号(Data strobe signal,DQS),或称数据选取脉冲:它是双向信号;在控制器读NAND Flash上的数据时,由NAND Flash产生,DQS的上升沿或下降沿(统称边沿)与数据的沿对齐;控制器将数据写入NAND Flash时,DQS由控制器产生,DQS的边沿与数据中心位置对齐,即此时DQS边沿处于时序裕量的中心位置。
下面介绍在接收端信号的有效宽度和相位都会发生较大的变化时,导致DQ的有效宽度减少,DQS锁存DQ的建立时间或者保持时间的裕量不足的问题,其原理阐述如下:
在数据存储中包括两个方向的操作:写方向(或称写操作)和读方向(或称读操作)。其中,写方向(写操作):是指控制器将数据传输或加载给NAND Flash的操作过程;读方向(读操作):是指NAND Flash将数据传输给控制器的操作过程。
参见图2,在写方向时,NFI总线写方向发送端(控制器侧)的所有初始DQ之间边沿对齐,DQS与DQ的中心对齐;在读方向时,读方向发送端(NAND Flash侧)的所有初始DQ之间边沿对齐,DQS与DQ的边沿对齐。
DQ和DQS经过控制器、板级互连和NAND Flash的传输链路后,接收端信号的有效宽度和相位通常会发生了较大的变化,例如受PVT(Process,voltage,temperature,工艺角,电压,温度)等环境的影响,并且由于控制器本身不能自动调整DQS及DQ的相位,因此呈现出来的每个DQ的有效宽度不同,各个DQ之间的边沿也不再对齐。
同理地,如图3所示,写方向,在接收端(NAND Flash侧)的DQS边沿与DQ的出现中心不对齐现象;读方向,接收端(控制器侧)的DQS边沿和DQ也出现边沿不对齐的现象。即在接收端,数据建立时间(Data setup time,Tds)可能大于或者小于数据保持时间(Dataholdtime,Tdh)。
另外,在各个接收的DQ的有效宽度之间,不对齐的最大偏差可以通过“最大相位差”来表征。
具体地,下面对有效宽度和裕量有效宽度的概念进行说明。
所述有效宽度可以定义为:发送端理想宽度的数据在经过传输通道衰减后达到接收端时,接收端实际获得的信号宽度。所述裕量有效宽度是指预设数据在发送端的理想信号宽度经过传输到达接收端时,被所述接收端正确采样的信号宽度。相比于有效宽度,所述裕量有效宽度除去了数据建立时间Tds和数据保持时间Tdh后剩余的时间,如图4所示。
例如,在一个DQS周期内能够传输总共n个比特,比如以传输速率400Mbps,即每秒传输4×108个比特,那么传输每个比特所占用的时间是1s/(4×108)=2.5ns,即每个比特所对应的理想信号宽度为2.5ns,经过传输通道达到接收端后,理想信号宽度缩小,被接收端实际正确接收的有效信号宽度为2ns,如图5所示。
其中,bps是比特率(bit rate)的单位,所述比特率是指信号(用数字二进制位表示)通过系统(设备、无线电波或导线)处理或传送的速率,即单位时间内处理或传输的数据量。单位“比特每秒”(bit/s或bps)。在通信领域可以用于表示连接速度、传输速度、信道容量、最大吞吐量和数字带宽容量等,本申请可用于表示控制器和NAND Flash之间用于传输的总线速率。
另外,所述“裕量有效宽度”相当于前述的“时序裕量”区别仅在于本申请为了对“时序裕量”进行衡量,所以定义一个“裕量有效宽度”的概念。其中,“裕量”可以翻译为“margin”,本申请中“margin”可以指“裕量有效宽度”。
由于在接收端信号的有效宽度和相位的值不固定,例如,可能存在两个DQ信号之间的相位差过大,进而会产生DQS相对于DQ最佳采样的时间点偏移量过大的问题(Tds≠Tdh),导致接收端的建立时间或保持时间裕量不足,从而使得读写数据时有误码或出现误码,造成数据丢失。
本申请实施例提供了上述问题的解决方案,通过在控制器内部集成延迟锁相环(Delay locked loop,DLL)和延迟线(Delay Line,DL)模块,如图6框线处所示,软件定义一套时序训练(Training)方法,来实现NFI总线上,DQ与DQ之间、DQS与DQ之间的时序关系的自动调整,使得接收端信号的裕量有效宽度最大、建立时间和保持时间裕量最大,从而满足规格要求,避免读写数据时出现误码,导致数据丢失。
如图7所示,本申请的技术方案的原理为:控制器上电(power up)/复位后,对控制器和延迟线长度传输总线上的终端匹配电阻进行校准(ZQ Calibration)操作,在ZQCalibration完成后,检测当前传输总线上的总线速率是否超过阈值(例如400Mbps),如果超过阈值,则分别对预定义数据进行读方向和写方向的时序训练,确定DQS锁存DQ的时间点或锁存DQ的位置,使DQ有效宽度最大,并寻找DQS相对于DQ的最佳采样点位置,进而实现接收端的建立时间和保持时间裕量最大。
其中,控制器如果检测总线速率小于等于该阈值,则直接进入正常工作状态。
进一步地,本申请提供的方法流程主要包括以下步骤:①训练数据写入;②读方向裕量时序训练,得到第一中心位置;③写方向裕量时序训练,得到第二中心位置。具体实施细节如下:
①控制器写入用于时序训练的预设数据(write Pattern)。
控制器获取非易失性闪存接口(Nand Flash Interface,NFI)总线的工作模式,根据所述NFI总线的工作模式,以及所述工作模式与速率的对应关系,确定所述NFI总线模式下的最低速率。然后控制器再以所述模式对应的低速率将预设数据写入到NAND Flash的数据寄存器上,最后再从所述NAND Flash的数据寄存器上获取所述预设数据。
具体地,如表1所示,NFI总线包括四种工作模式或运行模式,分别是:SDR、NV-DDR、NV-DDR2和NV-DDR3,并且每种模式下对应不同的总线速率范围不同,例如在SDR模式下对应的总线速率为10~50Mpbs,则可以确定以SDR模式下的最低速率10Mpbs写入预设数据。
其中,需要说明的是,在选择低速率写入的过程中,还需要满足该最低速率均为控制器和Nand Flash所支持,如果其中任一设备不支持最低速率,则需要重新选择较高的速率。例如,如果控制器支持的最小速率是20Mpbs,不支持最低的速率10Mpbs,则控制器会确定将20Mpbs作为写入训练数据的最低速率,以避免总线上由于板级互连等因素导致数据错误,因此采用低速率写入以保证读写操作数据的准确性。
此外,控制器写入的预设数据或自定义数据的一种表现形式可以参考图8所示,例如0x5AA55AA5…,表示将预设数据“5AA55AA5”写入至NAND Flash的数据寄存器(Cacheregister)中,如图9示出了一种NAND Flash颗粒的示意图,预设数据写完之后,控制器将NFI总线恢复到正常工作频率(例如400Mpbs)。
工作模式 | 速率(Mpbs) |
SDR | 10~50 |
NV-DDR | 40~200 |
NV-DDR2 | 66~800 |
NV-DDR3 | 66~1200 |
表1
②控制器对预设数据做读方向裕量时序训练(Read Training),得到第一中心位置。
控制器读取第①步写入NAND Flash的数据寄存器里的数据,并执行读方向时序训练(training),得到裕量有效宽度的第一中心位置。
详细过程如图10所示,具体包括以下步骤:
步骤101:控制器获取传输总线上所有数据信号(简称DQ)的裕量有效宽度,所述裕量有效宽度为预设数据在发送端的理想信号宽度经过传输到达接收端时,能够被所述接收端正确采样的信号宽度,其中,所述裕量有效宽度是除去Tds和Tdh之后剩余的时间长度。
其中,所述正确采样,是指接收端对接收到采样的数据检测均不出误码。
步骤102:控制器根据所述裕量有效宽度确定左边界(L_Boundary),以及确定右边界(R_Boundary),所述左边界为所有DQ的裕量有效宽度最小值中的最大值,所述右边界为所有DQ在以所述左边界对齐的情况下,对应的所有裕量有效宽度最大值中的最小值。
步骤103:根据所述左边界和所述右边界计算第一中心位置,所述第一中心位置为读数据训练时,对齐所有DQ后的最小裕量有效宽度的中心。
其中,所述第一中心位置为所述左边界和右边界的平均值,即Centring=-(L_Boundary-R_Boundary)/2。
步骤104:调整所述DQS的延迟线DL至所述第一中心位置,使DQS信号边沿位于DQ裕量有效宽度的中心点(Centring)。
另外,所述方法还包括:控制器将第一中心位置对应的延迟线DL值赋给DQS寄存器;将每个DQ的DL值赋给对应的DQ寄存器,其中所述每个DQ的DL值是指每个DQ与DQS边沿对齐所需要调整的长度,再转换成DQ对应的刻度单位后的值。
可选的,DQS的刻度与DQ的刻度不同,具体地,所述DQS信号的刻度值较多,比如tapnumber共有1024个,单位刻度代表的时间由DQS周期确定,即将DLL测量到的DQS周期除以1024。所述DQ信号的刻度值较少,比如tap number共有20个,单位刻度代表的时间固定(由硬件电路精度决定),进一步地,所述刻度单位可以设置为5ps、10ps、20ps等。
③控制器做写方向裕量时序训练(Write Training),得到第二中心位置。
控制器在做完读方向训练之后,会以正常速率写入预设数据或自定义数据,然后再发送读命令读取刚写入的数据,并执行写方向上的时序训练。
其中,所述写入的预设数据或自定义数据可以与读方向上预设数据相同,也可以不相同,不申请实施例不予限制。
写方向训练完成之后,将所述第二中心位置对应的延迟线DL赋给DQS寄存器,以及将每个DQ的DL值赋给对应的DQ寄存器,其中所述每个DQ的DL值是指每个DQ与DQS边沿对齐所需要调整的长度,再转换成DQ对应的刻度单位后的值。
本实施例提供的方法,控制器以低速率写入训练数据,再发送读命令读取该训练数据,并执行读方向时序训练,利用传输总线上各个DQ的裕量有效宽度的左、右边界值,确定出读训练方向的第一中心位置,并自动调整控制器侧DQ信号的延迟线,使所有DQ信号的裕量有效宽度最大,将所述DQS信号的延迟线调整至所述第一中心位置,使DQS信号边沿位于DQ信号的最佳采样点,进而避免数据读写时发生误码,提高了数据读写操作的可靠性。
控制器以正常速率写入自定义数据,再发送读命令读取刚写入的数据,并执行写方向时序训练,确定第二中心位置,再自动调整控制器的DQ信号的延迟线,使所有接收的DQ信号的裕量有效宽度最大,并且控制器将所述DQS信号的延迟线调整至所述第二中心位置,使NAND Flash接收端接收的DQS信号边沿位于DQ信号的最佳采样点。
另外,本方法还能够极大地提高采样点寻优精度和效率,确保传输链路在不同的工艺角、电压和温度等状态下能够可靠地工作,并支持更高的传输速率。
本申请实施例在步骤②中,控制器确定所述左边界和右边界的过程中,提供了三种具体的实现方式,分别是:
第一种方式,以设置的预设边界范围[a,b]来确定左边界和右边界;
第二种方式:以DQS周期的1/4为起始位置向左和向右调整DQS的位置来确定左边界和右边界;
第三种方式:从初始刻度值开始逐渐地从左到右调整DQS位置,来确定左边界和右边界。
下面分别就上述三种方式进行详细说明,首先为了方便表示DQS的位置,利用刻度值(tap number)来表示。具体地,可通过DL硬件电路来来划分DQS的周期,以及控制DQS的DL延时位置,例如将DQS的周期划分为1024个单位刻度值,并按照从左到右顺序编号,进而在DQS周期的某一采样时刻就可以通过划分的一个刻度值来表示采样的位置。
其中,所述DQS周期可以通过DLL测量获得。
此外,类似地,每个DQ的DL值也可以通过刻度值来表示,且DQ的刻度值可以与DQS的刻度值单位相同,还可以比DQS的一个刻度单位更小,或者也可以根据时间情况确定DQ的刻度值大小,本申请对此不予限制。
第一种方式
如图11所示,方法包括以下步骤:
步骤201:控制器设置预设边界范围[a,b],其中a表示预设左边界(startcase),b表示预设右边界(endcase),且a和b为步进长度N的整数倍,N为大于1的自然数。
步骤202:控制器以所述预设左边界a为初始位置,且该初始位置对应的采样数据不产生误码,则确定所述左边界为所述预设左边界a。
其中,步骤202中包括检测DQS所在位置采样读取的数据是否与预先写入的数据相同,如果读取的数据与预先写入的数据不同,则确定数据产生误码;如果与预设数据相同,则确定数据正确(不产生误码)。
具体地,例如,控制器预先在NAND Flash上写入的数据是“1010”,如果接收端接收到/读取到的数据是“1100”,与之前写入的“1010”不同,则认为发生误码。进一步地,检测初始位置i处的数据发生误码可以理解为:被检测的DQS位置对应的建立时间小于所述预设建立时间。
如图12a所示,在DQS位置Xn采样数据时,DQ的裕量有效宽度与DQS位置没有交点,则有误码;增加一个单位步进长度之后,DQS位置Xn+1与该DQ的裕量有效宽度的左端点相交,则表示不产生误码。
如图11所示,方法还包括:
如果有误码,则将所述第一位置先向右以N个步进长度为单位调整第一位置,然后再判断每次调整后的第一位置所对应的采样数据是否出现误码,如果不出现误码,则继续向有以N个步进长度向右调整DQS的,当调整到某一位置后产生误码,则在当前位置继续向左调整DQS的位置,例如以最小步进长度1为单位逐次向左调整,以确定所有裕量有效宽度的最小值,具体地,如果调整DQS的位置在Xn时,采样的数据从不产生误码变化为产生误码,则确定所述左边界为Xn+1。
具体地,步骤203确定左边界值的过程包括:
将所述初始位置向右调整步进长度N得到第一位置X1,X1=a+N;
判断所述第一位置X1是否大于所述预设右边界b;
如果X1≤b,则判断所述第一位置X1采样的数据是否有误码,如果无误码,则将所述第一位置X1向左调整1个步进长度得到第三位置X3,X3=X1-1;如果有误码,则进一步判断X1是否能够被N整除,如果能,则将当前DQS的位置X1再增加一个步进长度N,直到调整后的DQS位置小于等于预设右边界b,且在该调整后的DQS位置读取的数据无误码时,执行将DQS位置向左方向细调的步骤。
在上述X1无误码向左调整1个步进长度得到第三位置X3的情况下,判断所述第三位置X3是否大于等于所述预设左边界a;
如果X3≥a,则在所述第三位置X3不能整除步进长度N时,判断所述第三位置X3采样的数据是否有误码,并且在检测无误码的情况下执行逐渐减1向左微调的过程,直到检测出当前位置Xn的数据出现误码且不能整除步进长度N时,确定所述左边界值为所述当前位置Xn+1。
可选的,在判断所述第一位置X1是否大于所述预设右边界b的步骤中,如果X1>b,则表明调节的步进长度N过大,超过预设范围的右边界b,则需要重新调整步长,控制器报错。
步骤203:以所述左边界为基准,调整所有数据信号的裕量有效宽度的最小值与所述左边界对齐;
步骤204:以所述预设边界值b为初始位置,判断DQS在预设边界值b读取的数据是否产生误码;
步骤205:如果不产生误码,则确定所述右边界为所述预设右边界b;
如果产生误码,则将所述初始位置先向左调整步进长度N得到第二位置,再将所述第二位置以1为步进长度逐次向右调整,直到向右调整后的位置产生误码且不能被步进长度N整除,则确定所述右边界为所述向右调整后的位置-1。
具体地,步骤205确定右边界值的过程包括:
将所述初始位置向左调整步进长度N得到第二位置X2,X2=X1-N;
判断所述第二位置X2是否小于所述预设右边界a;
如果否,即X2≥a,则判断所述第二位置X2所对应的采样数据是否产生误码;
如果不产生误码,则将第二位置X2向右调整1个步进长度得到第四位置X4(X4=X3+1);
判断所述第四位置X4是否小于等于所述预设边界值b;如果是,X4≤b,则在所述第四位置X4不能整除步进长度N时,判断所述第四位置X4采样的数据是否产生误码,并且在检测不产生误码的情况下,执行将DQS位置逐渐地以最小步进长度1为单位向右微调的过程,直到检测出当前位置Xm的数据产生误码且不能整除步进长度N时,确定所述右边界为所述当前位置Xm-1。
如果所述第四位置大于预设右边界值b,即X4>b,则将预设边界值b作为所述右边界值。
可选的,如果DQS在第二位置X2读取的数据产生误码,则在第二位置X2能够整除N的情况下,再向左调整以步进长度N为单位调整DQS的位置,得到调整后的DQS的位置为X2-N,并继续判断其是否小于预设边界值a。
可选的,在上述判断所述第二位置X2是否小于预设右边界a的过程中,如果是,X2<a,则表明调节的步进长度N过大,超过预设范围的左边界a,则需要重新调整步长,同时控制器会报错。
本实施例提供的方法,通过设置预设边界范围[a,b],并将预设范围的一端a或b作为一个边界值来调整另一端,可以快速地确定裕量有效宽度的最大值和最小值,即确定左边界和右边界,并根据所述左边界和右边界计算中心位置,本方法加快了收敛速度,提高了调整效率。
另外,本方式提供的方法,在确定左边界为预设边界值a之后,向右方向调整DQS位置确定右边界值时,先按照大单位步进长度N向右粗调整,再按照最小单位步进长度1向左细微调整,进而达到了快速收敛并确定边界值的有益效果。
此外,需要说明的是,本实施例所述的第一种方式,还可以先将预设边界值b作为DQS的初始位置,然后再向左调整来确定左边界值,具体地调整方法与前述步骤201至步骤206相似,不再赘述。
其中,在上述方法的步骤203中:如果判断所述初始位置的DQS采样的数据不产生误码,则确定所述左边界值为所述预设左边界a,包括以下两种情况:
情况一
DQS信号在初始位置DQS(预设左边界a)采样的8个数据(对应8个DQ)都不产生误码,即预设边界范围[a,b]在所有DQ的数据裕量有效宽度之间时,即所有DQ的裕量有效宽度的最小值都小于等于预设边界值a,确定所述左边界为预设左边界a。
情况二
DQS信号在初始位置DQS(或预设左边界a)采样的8个数据(对应8个DQ)中有一个或一个以上出现误码,即有一个或一个以上DQ的裕量有效宽度的最小值大于预设边界值a,则需要从所述出现误码的DQ中确定最后一个出现误码的DQ,并将该DQ的裕量有效宽度的最小值作为所述左边界。并且将其余所有裕量有效宽度的最小值向右调整至该最后一个出现误码的DQ的值位置对齐,即De-skew的过程。
在一个具体的实施例中,详细介绍利用上述第一种方式确定目标数据信号的有效裕量宽度的左边界值和右边界值的过程,并根据所述左边界值和右边界值确定第一位置中心的过程。具体如下:
例如对于总线速率为400Mpbs,(1)假设裕量(margin)有效宽度的预设边界范围[a,b],其中a表示预设左边界,b表示预设右边界;(2)假设步进长度N取值为16(粗调刻度),N为大于1的自然数。
可选的,为快速收敛确定中心位置,设定的预设边界范围的边界值是N的整数倍,即上述预设范围[48,272]分别为步进长度N的[3N,17N]。
控制器以所述预设左边界a为初始位置,判断所述初始位置的数据锁存信号DQS采样的数据是否有误码;
如图13所示,步骤1301:控制器设置初始位置i,例如i=Startcase=预设边界值a=48,
步骤1302:控制器读取所述初始位置i处的采样数据;其中,所述采样数据包括共8个数据,分别对应DQ0至DQ7共8条线路。
步骤1303:控制器检测所述初始位置i=48时的数据是否有误码;如果无误码则为Yes,跳转至步骤1304。如果有误码则为No,跳转至步骤1309,本次检测假设没有误码,跳转至步骤1304。
其中,所述检测初始位置i处的数据产生误码可以理解为:被检测的DQS位置对应的建立时间小于所述预设建立时间。
步骤1304:以最小步进长度1为单位向左调整初始位置至延迟i=i-1=48-1=47;
步骤1305:判断当前调整的位置i=47是否小于预设边界值a;
步骤1306:47<48(Startcase),则确定所述左边界为所述预设边界值a,即左边界值为48。
可选的,如果预设边界值i=48在步骤1303的判断中产生误码,则执行步骤1309:判断i=48是否能被步进长度16整除;如果能整除N,则执行步骤1310,本例中将预设左边界作为初始位置且是N的整数倍,所以能够整除N,余数为0,执行步骤1310;
步骤1310:在X1=48能够整除N且余数为0的情况下,控制器以步进长度N=16为单位向右粗调得到第一位置X1=delayi+N=48+16=64(刻度值)。
步骤1311:判断X1=64是否大于预设边界值b(Endcase=272),如果否(即X1≤b),则跳转至步骤1302,在X1位置读取预设数据,并检测该位置的预设数据是否有误码;如果是(X1>b),则说明调整后的DQS位置超出预设范围的右边界,即粗调步进长度N太大,比如粗调步进长度N为230,则X0+N=48+230=278>272,控制器会报错Error(步骤1312),此时,控制器需要重新调整步进长度N。
本实施例中,i+N=64<272(预设右边界b),所以跳转至步骤1302。
步骤1302:控制器读取64所对应的数据。
步骤1303:判断64所对应的数据是否有误码,如果无误码,则执行步骤1304,继续以1为单位向左调整DQS的刻度值;如果有误码,则跳转至步骤1309。此次假设无误码,跳转至步骤1304。
此时,说明左边界范围在48至64之间,循环执行步骤1302至步骤1307的过程,直到在某一位置刻度值时对应数据有误码,例如假设在减小至DQS的位置i=51时产生误码,且不能被N整除时,如图13所示,则确定将当前位置DQS的刻度值加1时,即51+1=52对应的数据无误码,即确定所述左边界值为当前位置DQS的刻度值Xn+1,如图12a所示,(L-boundarydelay i=delay i+1),本例中左边界值为52。
具体地过程如下:
步骤1303:检测DQS的当前位置X1=48+16=64时采样的数据不出现误码,执行步骤1304;
步骤1304:调整DQS的当前位置为64-1=63;
步骤1305:判断63是否小于预设边界值48,如果不小于,则跳转至步骤1307;
步骤1307:判断63是否能够整除16,如果不能整除,跳转至步骤1302;
步骤1302:执行;
步骤1303:检测63是否出现误码,如果不出现误码,则跳转至步骤1304;
步骤1304:调整DQS的当前位置为63-1=62;
以此类推,直到当前DQS位置调整至51时;
步骤1303:判断该位置i的刻度值51有误码,则跳转至步骤1309;
步骤1309:判断51是否能够整除16余数为零,如果不能整除,则跳转至步骤1313;
步骤1313:确定所述左边界为51+1=52;
结束。
可选的,在上述方法中,循环执行步骤1302至步骤1307时,如果DQS的位置调整至49,则在i=49时采样的数据无误码,继续调整DQS的位置为48(步骤1304),此时i=48等于预设边界值a,则执行步骤1307,判断是否能被步进长度16整除,如果能整除,则执行步骤1308,确定所述左边界值为48+1=49。
可选的,步骤1303:判断刻度值64读取的预设数据是否产生误码时,如果产生误码,则64能够被N整除,则再增加步进长度N,得到当前DQS的位置为64+16=80,然后再执行步骤1311的判断步骤,并在当前DQS位置为80小于272(预设右边界b)的情况下,跳转至步骤1302,并循环执行步骤1303至步骤1307,或者步骤1303至步骤1311的方法流程。
总结上述,在调整DQS位置确定左边界值的过程中,通过预先设置边界范围[a,b],如果以步进长度N增加DQS的刻度值超过预设边界值b,则减小步进长度N,重新确定左边界;如果当前调整的DQS的刻度值小于预设边界值a,则将预设边界值a作为左边界值;如果当前调整的DQS位于预设范围a和b之间,可根据预设边界范围以及是否有误码来确定当前DQS的位置为左边界值,进而实现了对DQS信号的DL的自动调整,提高了调整效率。
确定目标数据信号的裕量有效宽度的左边界之后,所述方法还包括:将所有数据信号的裕量有效宽度的左端点对齐,即调整所有DQ的DL,使DQ信号的左边界与DQS信号边沿对齐(De-skew)。
一种具体的实现方式是,如图14所示,具体步骤包括:
步骤1401:控制器确定左边界并以该左边界为基准调整DQ信号的延迟线DL,一般地,所述左边界的刻度值用i表示;
步骤1402:设置所有DQ信号的裕量有效宽度为解锁状态;
步骤1403:将每个DQ信号的裕量有效宽度的左端点以步进长度为1的单位刻度增加,即将所有DQ的裕量有效宽度向右调整;
步骤1404:获取调整后的各个DQ的裕量有效宽度的最小值,并判断各个最小值对应的数据是否产生误码;如果否,则跳转至步骤1403,继续增加1个单位步进长度,并再次检测对应的数据是否产生误码;如果不产生误码则继续以1个步进单位向右调整直到检测到产生误码的位置时,跳转至步骤1404;
步骤1405:如果是,检测数据有误码,则将当前位置的刻度值减去1个单位步进长度,并设置成锁定状态,表示当前DQ的裕量有效宽度的最小值减去1之后的位置与DQS边沿对齐;
步骤1406:检测所有DQ的裕量有效宽度的最小值是否都已经与DQS边沿对齐;如果是,则结束;如果否,则跳转至步骤1403,继续增加所述最小值的刻度值直到所有DQ信号的最小值都与所述左边界对应的刻度值相同为止。
左对齐所有DQ的裕量有效宽度后,控制器需要确定右边界,一种具体的实现过程如图15所示,包括以下步骤:
设置预设范围为[a,b],其中,a为预设左边界a(startcase),b为预设右边界b(endcase)。
步骤1501:控制器设置DQS位置所对应的刻度值为i,其中i=预设边界值b(endcase)。其中,所述预设右边界b可根据不同的速率来设置,例如400Mbps速率时预设边界值b为272。
步骤1502:读取DQS位置位于所述预设边界值b时写入的预设数据;
步骤1503:判断在所述预设边界值b时写入的预设数据是否有误码;如果无误码,则跳转至步骤1504;如果有误码,则跳转至步骤1509;
其中,在所述预设数据都无误码的情况下,确定所述右边界为预设边界值b,或者执行步骤1504。
步骤1504:以步进长度1为单位向右调整DQS的位置,即delay i=i+1=272+1=273;
步骤1505:判断delay i是否大于预设边界值b;
步骤1508:delay i=273>272(预设边界值b),则确定所述右边界为预设边界值b=272。
另一方面,在步骤1503中,如果检测DQS位置i=272时写入的预设数据有误码,则执行步骤1509;
步骤1509:检测DQS位置i=272能否被N整除无余数,由于预设右边界b为N的整数倍,所以能整除N,执行步骤1510;
步骤1510:以步进长度N为单位向左粗调,减小DQS的刻度值得到第二位置X2=delayi-N=272-16=256,此过程为粗调节过程;
步骤1511:判断第二位置delay i-N=256是否小于预设边界值a=48(startcase);如果i-N<a,则跳转至步骤1512;
步骤1512:在i-N<a时,表明在步骤1510中调节的步进长度N过大,超过预设范围的预设左边界a,则需要重新调整步长,控制器报错;
如果delay i-N≥a,则跳转至步骤1502;本实施例中,256≥48,则执行步骤1502;
步骤1502:读取第二位置X2=delay i-N=256时写入的预设数据;
步骤1503:判断第二位置X2=256写入的预设数据是否有误码;
步骤1504:如果无误码,则以步进长度1为单位向右细调DQS位置,即delay256+1=257,表示所述右边界值范围在[256,272]之间。
步骤1505:判断当前调整的DQS位置的刻度值257是否大于预设边界值b(Endcase),如果大于b则执行步骤1506;如果小于等于b则执行步骤1507;本例中,257<272,则执行步骤1507;
步骤1507:判断当前DQS位置257是否能被N整除,N=16;如果不能被16整除,则跳转至步骤1502,继续读取和检测调整后的位置写入的预设数据是否有误码;并在判断无误码的情况下,循环执行步骤1504至步骤1507,以最小步进长度1逐渐增加DQS的刻度值。
本例中,步骤1507检测的位置257不能整除16,所以跳转至步骤1502;
步骤1503:循环执行步骤1502至步骤1506,以1为步进长度逐渐增加DQS的刻度值,使其向右微调,直到在步骤1503中检测某一位置所对应的数据出现误码时,可确定右边界。
例如,在调整到DQS的位置为261时,出现误码,则执行步骤1509:判断该261是否能够被N整除,
如果不能整除,则执行步骤1513:确定所述右边界为数据出现误码且不能整除步进长度N时的位置Xm-1,即261-1=260,此时DQS的位置在260时对应的采样数据不出现误码,即所述右边界为260,如图12b所示。
另外,在步骤1503的判断过程中,如果第二位置X2=256写入的预设数据有误码,则执行步骤1509和步骤1510,将DQS位置向左再调整N个刻度值,即得到DQS位置为256-16=240,此时DQS位置延迟i为delay 240,然后执行步骤1511以及步骤1502,直到得到的delayi所写入的数据不产生误码时,粗调过程结束,然后执行步骤1504至步骤1507向右细调整DQS的位置。
结束
本方法在确定右边界的过程中,控制器既能够以较大单位的步进长度N对DQS位置向左进行粗调整,还可以通过较小单位的步进长度1对DQS位置进行细调整,进而达到自动调节DQS和确定右边界的有益效果。
此外,通过设置边界范围,还能够快速确定出右边界,进一步地提高了收敛效率。
控制器根据所述左边界和右边界计算平均值得到第一中心位置之后,所述方法还包括:控制器保存并记录所述第一中心位置,以便下一次触发DQS时直接将DQS调整到所述第一中心位置,以保证采样的所有DQ的裕量有效宽度最大,即裕量建立时间和裕量保持时间充足,进而避免读数据时出现误码和丢失。
第二种方式
如图16所示,以DQS周期的1/4为起始位置向左和向右调整DQS的位置来确定左边界和右边界的过程包括:
步骤301:控制器设置DQS的第一位置,所述第一位置对应的采样数据不产生误码。
其中,所述DQS的第一位置为从初始时刻起经DQS周期的1/4时间延迟后的位置,由于DQS信号是双沿采样所以对于一个DQ信号有效宽度的相对位置中心为一个DQS周期的1/4(1/4T Delay)。
此外,可选的,还可以设置DQS周期的其它值作为所述初始位置,本申请对此不予限制。
步骤302:以N个步进长度为单位向左调整所述第一位置,并判断每次调整后的第一位置对应的采样数据是否产生误码。
步骤303:直至所述调整后的第一位置对应的采样数据产生误码,确定所述左边界值为所述调整后且产生误码的第一位置,再向右调整M个步进长度后的位置,其中,1≤M≤N。
具体地,可以将DQS从第一位置起逐渐向左调整刻度值,直到调整至所有数据信号中第一个产生误码的数据信号,将所述第一个产生误码的DQ的裕量有效宽度的最小值再向右增加1个步进长度后的位置做为所述左边界。如图12a所示,第一个产生误码的裕量有效宽度的最小值是Xn,如果按照最小步进单位1调整,则所述左边界为Xn+1。
步骤304:以所述左边界为基准,调整所有DQ的DL,使所有DQ的裕量有效宽度最小值与所述左边界相等。
具体左对齐的过程可以参见前述实施例的步骤1401至步骤1406的过程,如图14所示,本实施例不详细赘述。
步骤305:确定所述传输总线上所有DQ中最小的裕量有效宽度,确定所述右边界为所述最小裕量有效宽度的最大值。
具体地,从所述左边界开始向右扫描所有DQ的裕量有效宽度,并确定裕量有效宽度最小的DQ,以及将所述裕量有效宽度最小的DQ的最大值作为所述右边界。
如图17所述,为本实施例中利用第二种方式确定左右边界值的流程示意图,可以包括以下步骤:
第1步,设置DQS的初始位置i为DQS周期的1/4,例如,DQS周期对应的1024个刻度值的1/4位置;所述初始位置i位于所有DQ信号裕量有效宽度的相对中心位置;
其中,所述DQS周期可以通过延迟锁相环DLL测量获得,并发送给控制器。
第2步,控制器以所述初始位置i为起始点向左调整DQS的位置,并确定第一个产生误码的DQ为左边界,具体确定所述左边界值的过程可以参见附图13及前述实施例步骤1301至步骤1313,不详细赘述。
本例中,确定所述左边界为DQ5的裕量有效宽度的最小值。
第3步,以所述左边界为基准,调整其余所有DQ的DL(即最小值)与所述左边界对齐。
第4步,从所述左边界开始向右扫描所有DQ的裕量有效宽度,并确定裕量有效宽度最小的DQ,以及将所述裕量有效宽度最小的DQ的最大值作为右边界值。
本例中,在左对齐的情况下,裕量有效宽度最小的DQ为DQ1,则确定DQ1的裕量有效宽度的最大值为所述右边界。
第5步,根据左边界和右边界计算中心位置,并对齐其余所有DQ的裕量有效宽度中心,例如,确定DQ1的裕量有效宽度的中心为所述第一中心位置,该第一中心位置对应的延迟线DL长度即为控制器需要寄存的数据,并且将该数据保存在对应的DQS寄存器中。
此外,在第3步左对齐的过程中,控制器还记录了其余各个DQ调整至左边界的DL,并将这些DL保存在对应的DQ寄存器中。
本实施例中,以DQS周期的1/4作为初始位置调节确定左右边界,相比于从DQ信号的初始左端点值调整和确定第一中心位置而言,能够较快速地查找到左右边界,提高了调整效率。
第三种方式
本方式确定DQS的左边界和右边界的过程与前述第一种方式相似,区别在于,控制器从初始刻度值0开始逐渐增加DQS的刻度值,扫描直到最后一个不产生误码的DQ的裕量有效宽度的最小值,并将该最小值作为左边界,然后左对齐所有DQ并向右方向逐渐调整DQS的位置确定出右边界,最后将所有DQ的裕量有效宽度的中心对齐。
具体地,如图18所示,方法包括以下步骤:
步骤401:控制器设置DQS的初始位置,所述初始位置对应的采样数据均产生误码。
可选的,所述初始位置为初始刻度值0。
步骤402:以P个步进长度为单位向右调整所述DQS的初始位置,并判断每次调整后的初始位置所对应的采样数据是否产生误码。
步骤403:如果P≥2,则调整所述初始位置直至所述调整后的初始位置对应的采样数据不产生误码,确定所述左边界值为当前调整后且不产生误码的初始位置,再向左调整Q个步进长度后的位置,其中,1≤Q≤P。
或者,如果P=1,则调整所述初始位置直至调整后的位置对应的采样数据不产生误码,确定所述左边界值为当前所述调整后的位置。
步骤404:以所述左边界为基准,调整每个DQ的裕量有效宽度的最小值,使其与所述左边界对齐。
步骤405:从所述左边界开始向右扫描所有DQ的裕量有效宽度,直到扫描出所有DQ的裕量有效宽度的最大值均出现误码,并将最后一个出现误码的裕量有效宽度的最大值作为所述右边界。
步骤406:计算其余每个DQ的裕量有效宽度与最大的裕量有效宽度之间的差值;
步骤407:计算所述最大裕量有效宽度的中心为第一中心位置,按照各个所述差值的1/2调整其余所有DQ的DL,使得其余DQ的裕量有效宽度的中心均与所述第一中心位置对齐,即所有DQ的裕量有效宽度的中心都与DQS的位置对齐。
具体地,如图19所示,方法包括:控制器将DQS的位置从初始刻度值开始,逐渐向右调整,其中,在所述初始刻度值时检测的数据均产生误码,以P为1的步进长度调整DQS的位置,对应检测的数据会逐渐不产生误码,当最后一个DQ不产生误码时,确定当前DQS的位置为左边界,即所有DQ的裕量有效宽度的最大值。
然后向右调整其余7个DQ的裕量有效宽度的最小值,使的所有最小值均与确定的左边界对齐,此时DQS的位置与8个DQ的裕量有效宽度的最小值对齐。扫描每个DQ的裕量有效宽度,并确定出裕量有效宽度最长的DQ(即最后一个产生误码的DQ),本例中,裕量有效宽度最长的DQ为DQ2,计算其余各个DQ与DQ2之间的裕量有效宽度的差值(delta,△),比如,计算DQ1与DQ2之间的裕量有效宽度的差值为△,则相对于DQ2的裕量有效宽度中心需要调整DQ1△/2长度,即将DQ1的DL向右增加△/2刻度值,使DQ1的中心点与DQ2的中心点对齐。
同理地,其它各DQ的位置按照与DQ3的中心点位置之间的差值,相应地调整,使得所有DQ的裕量有效宽度的中心都与DQ2的中心对齐,进而所述中心对齐的位置为所述第一中心位置,即DQS采样DQ信号的最佳位置。
在本实施例提供的对齐DQ和DQS的方法,将所有DQ的中心都与DQS边沿对齐,在这种情况下,任意一个DQ的裕量有效宽度的中心都为所述第一中心位置。
需要说明的是,除了本实施例举出的三种方式之外,还可以通过其它方式调整DQS并确定左边界和右边界,以及调整DQ的裕量有效宽度的中心与DQS边沿对齐,本申请对以上三种方式的各种变形和组合等其它方式,不予限定。
采用第三种方法利用计算的DQ的裕量有效宽度之间的差值,能够将所有DQ的裕量有效宽度的中心对齐,使得接收端DQS边沿位于所有DQ信号的最佳采样位置,使接收端信号的建立时间和保持时间裕量最大,进而保证数据读写操作的高可靠性。
在如图7所示的流程图中,在控制器做完读方向裕量时序训练之后,执行第③步,控制器对数据进行写方向的裕量时序训练,得到第二中心位置,其中第③步的过程与前述第②步的读方向时序训练过程相似,控制器可以直接设置DQS初始位置为预设左边界值或预设右边界值,并以该初始位置为基准调整DQS的位置,进而来确定写方向时,目标裕量有效宽度的左边界和右边界。
此外,控制器还可以采用上述第二种方式和第三种方式来确定所述第二中心位置。其中,可选的,在控制器利用第二种方式确定所述左边界和右边界时,可直接从初始刻度值0开始逐渐调整DQS的位置,或者按照前述实施例图13至图15所示方法流程,确定左、右边界值,以及计算第二中心位置,其中所述第二中心位置为所述左边界值和右边界值的平均值,具体过程本实施例不详细赘述。。
其中,在计算获取第二中心位置时,由于接收端和发送端的干扰环境不同,导致确定第一中心位置和第二中心位置时的目标裕量有效宽度不同,即目标数据信号也可能不同,但需要满足的条件都是,将最小DQ的裕量有效宽度的左边界和右边界作为计算中心位置的必要条件。
以上实施例提供的方法包括如下的有益效果:
第一、控制器自定义训练数据,上电时刻,控制器以低速率写入自定义的数据至NANDFlash的寄存器中,保证时序训练前写入数据的准确性。
第二、控制器读取上一步以低速率写入的自定义数据,并执行读方向时序训练,自动调整控制器侧DQ信号的DL,使所有DQ信号的有效宽度最大,自动调整控制器侧DQS信号的DL,使DQS信号边沿位于DQ信号的最佳采样点。
第三、控制器以正常速率写入自定义数据,再发送读命令读取刚写入的数据,并执行写方向时序训练。自动调整控制器侧DQ信号的DL,使所有NAND Flash接收端DQ信号的有效宽度最大;此外,自动调整控制器侧DQS的DL,使NAND Flash接收端DQS信号边沿位于DQ信号的最佳采样点,进而避免数据读写时发生误码,提高了数据读写操作的可靠性。
另外,本方法还能够极大地提高采样点寻优精度和效率,确保传输链路在不同的工艺角、电压和温度等状态下能够可靠地工作,并支持更高的传输速率。
参见图20,为本申请实施例提供的一种DQS位置调整装置的结构示意图。该装置包括:获取单元2001和处理单元2002,另外,还可以包括其它功能单元,例如发送单元和存储单元等。
其中,获取单元2001,用于获取传输总线上所有数据信号DQ的裕量有效宽度,所述裕量有效宽度为预设数据在发送端的理想信号宽度经过传输到达接收端时,被所述接收端正确采样的信号宽度;
处理单元2002,用于根据所述裕量有效宽度确定左边界,以及确定右边界,所述左边界为所有DQ的裕量有效宽度最小值中的最大值,所述右边界为所有DQ在以所述左边界对齐的情况下,对应的所有裕量有效宽度最大值中的最小值;根据所述左边界和所述右边界计算第一中心位置,所述第一中心位置为读数据训练时,对齐所有DQ后的最小裕量有效宽度的中心;以及调整所述DQS的延迟线DL至所述第一中心位置。
可选的,在本实施例的一种具体的实现方式中,所述处理单元2002,具体用于设置DQS的第一位置X1,所述第一位置X1对应的采样数据不产生误码;以N个步进长度为单位向左调整所述第一位置X1,并判断每次调整后的第一位置X1对应的采样数据是否产生误码;直至所述调整后的第一位置X1对应的采样数据产生误码,确定所述左边界值为所述调整后且产生误码的第一位置X1,再向右调整M个步进长度后的位置,其中,1≤M≤N。
可选的,在本实施例的另一种具体的实现方式中,所述处理单元2002,具体用于设置DQS的第二位置X2,所述第二位置X2对应的采样数据产生误码;以P个步进长度为单位向右调整所述第二位置X2,并判断每次调整后的第二位置X2对应的采样数据是否产生误码;以及,
如果P≥2,则调整所述第二位置X2直至所述调整后的第二位置X2对应的采样数据不产生误码,确定所述左边界值为当前调整后且不产生误码的第二位置X2,再向左调整Q个步进长度后的位置,其中,1≤Q≤P;
如果P=1,则调整所述第二位置X2直至调整后的位置对应的采样数据不产生误码,确定所述左边界值为当前所述调整后的位置。
可选的,在本实施例的另一种具体的实现方式中,所述处理单元2002,确定右边界时可以执行以下功能:以所述左边界为基准,调整所有DQ的DL,使所有DQ的裕量有效宽度最小值与所述左边界相等;确定所述传输总线上所有DQ中最小的裕量有效宽度;确定所述右边界为所述最小裕量有效宽度的最大值。
可选的,在本实施例的又一种具体的实现方式中,所述处理单元2002,还用于按照正常速率写入、和读取所述预设数据;确定第二中心位置,所述第二中心位置为写数据训练时,对齐所有DQ后的最小裕量有效宽度的中心;调整所述DQS的DL至所述第二中心位置;将所述第一中心位置和所述第二中心位置赋予到DQS寄存器,以及将每个DQ相对于所述第一中心位置和所述第二中心位置调整的DL长度赋予到DQ寄存器。
可选的,在本实施例的又一种具体的实现方式中,所述处理单元2002,还用于在获取传输总线上所有DQ的裕量有效宽度之前,上电或复位时,对所述传输总线上的终端匹配电阻进行校准操作;在所述终端匹配电阻校准操作完成后,检测所述传输总线上的总线速率是否大于阈值;如果大于所述阈值,则执行所述根据所述裕量有效宽度确定左边界,以及确定右边界的步骤;如果小于等于所述阈值,则进入正常工作状态。
可选的,在本实施例的又一种具体的实现方式中,所述处理单元2002,还用于在获取传输总线上所有DQ的裕量有效宽度之前,获取非易失性闪存接口NFI总线的工作模式;根据所述NFI总线模式,以及所述NFI总线模式与总线速率之间的对应关系,确定所述NFI总线模式下的最低速率;按照所述最低速率将所述预设数据写入到NAND Flash的数据寄存器上;从所述NAND Flash的数据寄存器上获取所述预设数据。
在具体实现层面,上述实施例所提供的装置可以配置在控制器中,如图21所示,提供了一种控制器,所述控制器包括:控制电路2101和驱动电路2102,此外,还包括终端匹配电阻校准(ZQ)模块,其中,控制电路2101用于实现前述各个实施例中的方法步骤,所述驱动电路2102用于通过NFI总线与NAND Flash连接。
具体地,所述控制电路2101,用于获取传输总线上每个数据信号的裕量有效宽度,所述裕量有效宽度为预设数据在发送端的理想信号宽度经过传输到达接收端时,被所述接收端正确采样的信号宽度;控制电路210,还用于根据所述裕量有效宽度确定左边界,以及确定右边界,所述左边界为所有DQ的裕量有效宽度最小值中的最大值,所述右边界为所有DQ在以所述左边界对齐的情况下,对应的所有裕量有效宽度最大值中的最小值;根据所述左边界和所述右边界计算第一中心位置,所述第一中心位置为读数据训练时,对齐所有DQ后的最小裕量有效宽度的中心;调整所述DQS的延迟线DL至所述第一中心位置。
可选的,在本实施例的另一种具体的实现方式中,控制电路2101,具体用于执行以下功能步骤:
设置预设边界范围[a,b],其中a表示预设左边界,b表示预设右边界,且a和b为步进长度N的整数倍,N为大于1的自然数;以所述预设左边界a为初始位置,判断所述初始位置的数据锁存信号DQS采样的数据是否产生误码;
如果无误码,则确定所述左边界值为所述预设左边界a;
如果有误码,则将所述初始位置先向右调整步进长度N得到第一位置,再将所述第一位置以1为步进长度逐次向左调整,直到向左调整后的位置产生误码且不能被步进长度N整除,则确定所述左边界值为所述向左调整后的位置+1;
以所述左边界值为基准,调整所有数据信号的初始位置与所述左边界值对齐;以所述预设边界值b为初始位置,判断所述初始位置的数据锁存信号DQS采样的数据是否有误码;
如果无误码,则确定所述右边界值为所述预设右边界b;如果有误码,则将所述初始位置先向左调整步进长度N得到第二位置,再将所述第二位置以1为步进长度逐次向右调整,直到向右调整后的位置有误码且不能被步进长度N整除,则确定所述右边界值为所述向右调整后的位置-1。
可选的,在本实施例的另一种具体的实现方式中,控制电路2101,具体用于实现以下功能:将所述初始位置向右调整步进长度N得到第一位置X1(X1=a+N);
判断所述第一位置X1是否大于所述预设右边界b,
如果X1≤b,则判断所述第一位置X1所对应的采样数据是否有误码,如果无误码,则将所述第一位置X1向左调整1个步进长度得到第三位置X3(X3=X1-1);
判断所述第三位置X3是否大于等于所述预设左边界a;如果X3≥a,则在所述第三位置X3不能整除步进长度N时,判断所述第三位置X3采样的数据是否有误码,并且在检测无误码的情况下执行逐渐减1向左微调的过程,直到检测出当前位置Xn的数据出现误码且不能整除步进长度N时,确定所述左边界值为所述当前位置Xn+1。
可选的,在本实施例的另一种具体的实现方式中,控制电路2101,具体还用于实现:
将所述初始位置向左调整步进长度N得到第二位置X2(X2=X1-N);判断所述第二位置X2是否小于所述预设右边界a,如果X2≥a,则判断所述第二位置X2所对应的采样数据是否有误码,如果无误码,则将所述第二位置X2向右调整1个步进长度得到第四位置X4(X4=X3+1);
判断所述第四位置X4是否小于等于所述预设边界值b;如果X4≤b,则在所述第四位置X4不能整除步进长度N时,判断所述第四位置X4采样的数据是否有误码,并且在检测无误码的情况下执行逐渐加1向右微调的过程,直到检测出当前位置Xm的数据出现误码且不能整除步进长度N时,确定所述右边界值为所述当前位置Xm-1。
可选的,在本实施例的另一种具体的实现方式中,控制电路2101,具体还用于实现:设置DQS的初始位置,所述DQS的初始位置为:经过DQS周期的1/4时间延迟后的位置;以所述初始位置为起始点逐渐向左调整DQS的位置,直到调整至所有数据信号中第一个产生误码的数据信号,将所述最后一个产生误码的DQ的裕量有效宽度的最小值设为左边界;以所述左边界为基准,调整其余DQ的DL与所述左边界对齐;从所述左边界开始向右扫描所有DQ的裕量有效宽度,并确定裕量有效宽度最小的DQ,以及将所述裕量有效宽度最小的DQ的最大值作为右边界。
可选的,在本实施例的另一种具体的实现方式中,控制电路210,具体还用于实现:从初始刻度值开始向右调整DQS的位置,直到检测出所有DQ中最后一个无误码的DQ裕量有效宽度的最小值;设置该最小值为左边界值,以所述左边界值为基准,调整所有DQ的DL与所述左边界对齐;从所述左边界开始向右扫描所有DQ的裕量有效宽度,直到扫描出所有DQ的裕量有效宽度的最大值均出现误码,并将所述最后一个有误码的DQ的最大值作为右边界值。
可选的,在本实施例的另一种具体的实现方式中,控制电路2101,具体还用于实现:
计算每个DQ的裕量有效宽度与所述最后一个有误码的DQ的裕量有效宽度之间的差值;以所述最后一个有误码的数据信号的裕量有效宽度的中心为第一中心位置,按照各个所述差值的1/2调整其余所有DQ的裕量有效宽度的中心与所述第一中心位置对齐,使所有DQ的裕量有效宽度的中心都与DQS的位置对齐。
可选的,在本实施例的另一种具体的实现方式中,控制电路2101,具体还用于实现:
按照正常速率写入、以及读取所述预设数据;根据所述预设数据对应的所述裕量有效宽度确定第二中心位置,所述第二中心位置为写数据训练时第二目标数据信号对应的裕量有效宽度的中心,所述目标数据信号为传输总线上所有数据信号中裕量有效宽度最小的数据信号;将所述第一中心位置和所述第二中心位置赋予到对应的DQS寄存器,以及将每个数据信号相对于所述第一中心位置和所述第二中心位置调整的延迟线长度赋予到对应的DQ寄存器。
可选的,在本实施例的另一种具体的实现方式中,控制电路2101,在获取传输总线上每个数据信号的裕量有效宽度之前,还用于:上电或复位时,对所述传输总线上的终端匹配电阻进行校准操作;在所述终端匹配电阻校准操作完成后,检测所述传输总线上的总线速率是否大于阈值;如果大于所述阈值,则执行所述获取传输总线上每个数据信号的裕量有效宽度的步骤;如果小于等于所述阈值,则进入正常工作状态。
可选的,在本实施例的另一种具体的实现方式中,控制电路2101在获取传输总线上每个数据信号的裕量有效宽度之前,还用于:获取非易失性闪存接口NFI总线的工作模式;根据所述NFI总线模式以及所述NFI总线模式与速率的对应关系,确定所述NFI总线模式下的最低速率;按照所述最低速率将所述预设数据写入到NAND Flash的数据寄存器上;从所述NANDFlash的数据寄存器上获取所述预设数据。
进一步地,在具体实现层面,所述控制电路2101中包括DQ0至DQ7寄存器、DQS寄存器、DQS_N寄存器,若干个DL模块和一个DLL模块,例如图21示出了四个DL模块,分别表示为DL1、DL2、DL3和DL4,其中,DQ0至DQ7寄存器用于寄存各个DQ需要延迟的DL值,DL1模块用于延迟读方向上DQ0至DQ7的8个数据信号被触发的时间点,DL2模块用于延迟写方向上DQ0至DQ7的8个数据信号的被触发的时间点。
同理地,DL3模块用于延迟读方向上DQS触发的时间点,DL4模块用于延迟写方向上DQS的触发的时间点;DLL模块用于获取DQS的周期。
此外,该控制器中还可以包括其它电路和模块,例如PHY CMDLANE模块等。
所述驱动电路220包括Flash接口,用于与NFI总线进行数据传输。其中,所述驱动电路220中还与ZQ模块相连接,所述ZQ模块用于对控制器和NFI总线上的终端匹配电阻进行校准(ZQ Calibration)操作。
进一步地,本实施例提供的控制器可以适用于固态硬盘(Solid State Drive,SSD)、AIC卡、NGFF(M.2)或自定义型态等各类闪存设备。
另外,所述控制器中还可以包括收发器等更多或更少的部件,或者组合某些部件,或者不同的部件布置,本申请对此不进行限定。
此外,在具体实现中,本申请还提供一种计算机存储介质,该计算机存储介质可存储有程序,该程序执行时可包括本申请提供的DQS位置确定方法的各实施例中的部分或全部步骤,其中,所述存储介质可以存储在存储器中,所述控制器或者控制电路可以执行存储介质中的程序指令,进而执行上述各实施例中的方法流程,以便实现对DQS位置的自动调整,提高采样精度,避免在数据读写时发生误码。。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于第二种方式和第三种方式来确定左右边界值的方法实施例而言,由于其基本相似于第一种方式的实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
另外,本申请附图8中的自定义时序训练数据列表中描述的数据码型只是本申请的一种具体实现方案,不同的数据码型拆分、合并或部分应用而产生的不同具体实现方案,都属于本发明的保护范围。
本申请附图7中的时序裕量训练方法示意图中描述的自动调整步骤只是本申请的一种具体实现方案,不同的步骤拆分、合并或部分应用而产生的不同具体实现方案,也都属于本发明的保护范围。
以上所述的本申请实施方式并不构成对本申请保护范围的限定。
Claims (15)
1.一种数据锁存信号DQS位置调整方法,其特征在于,方法包括:
获取传输总线上所有数据信号DQ的裕量有效宽度,所述裕量有效宽度为预设数据在发送端的理想信号宽度经过传输到达接收端时,被所述接收端正确采样的信号宽度;
根据所述裕量有效宽度确定左边界,以及确定右边界,所述左边界为所有DQ的裕量有效宽度最小值中的最大值,所述右边界为所有DQ在以所述左边界对齐的情况下,对应的所有裕量有效宽度最大值中的最小值;
根据所述左边界和所述右边界计算第一中心位置,所述第一中心位置为读数据训练时,对齐所有DQ后的最小裕量有效宽度的中心;
调整所述DQS的延迟线DL至所述第一中心位置。
2.根据权利要求1所述的方法,其特征在于,所述确定左边界,包括:
设置DQS的第一位置,所述第一位置对应的采样数据不产生误码;
以N个步进长度为单位向左调整所述第一位置,并判断每次调整后的第一位置对应的采样数据是否产生误码;
直至所述调整后的第一位置对应的采样数据产生误码,确定所述左边界值为所述调整后且产生误码的第一位置,再向右调整M个步进长度后的位置,其中,1≤M≤N。
3.根据权利要求1所述的方法,其特征在于,所述确定左边界,包括:
设置DQS的第二位置,所述第二位置对应的采样数据产生误码;
以P个步进长度为单位向右调整所述第二位置,并判断每次调整后的第二位置对应的采样数据是否产生误码;
如果P≥2,则调整所述第二位置直至所述调整后的第二位置对应的采样数据不产生误码,确定所述左边界值为当前调整后且不产生误码的第二位置,再向左调整Q个步进长度后的位置,其中,1≤Q≤P;
如果P=1,则调整所述第二位置直至调整后的位置对应的采样数据不产生误码,确定所述左边界值为当前所述调整后的位置。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述确定右边界,包括:
以所述左边界为基准,调整所有DQ的DL,使所有DQ的裕量有效宽度最小值与所述左边界相等;
确定所述传输总线上所有DQ中最小的裕量有效宽度;
确定所述右边界为所述最小裕量有效宽度的最大值。
5.根据权利要求1至3任一项所述的方法,其特征在于,所述方法还包括:
按照正常速率写入、和读取所述预设数据;
确定第二中心位置,所述第二中心位置为写数据训练时,对齐所有DQ后的最小裕量有效宽度的中心;
调整所述DQS的DL至所述第二中心位置;
将所述第一中心位置和所述第二中心位置赋予到DQS寄存器,以及将每个DQ相对于所述第一中心位置和所述第二中心位置调整的DL长度赋予到DQ寄存器。
6.根据权利要求1至3任一项所述的方法,其特征在于,所述获取传输总线上所有DQ的裕量有效宽度之前,所述方法还包括:
上电或复位时,对所述传输总线上的终端匹配电阻进行校准操作;
在所述终端匹配电阻校准操作完成后,检测所述传输总线上的总线速率是否大于阈值;
如果大于所述阈值,则执行所述根据所述裕量有效宽度确定左边界,以及确定右边界的步骤;
如果小于等于所述阈值,则进入正常工作状态。
7.根据权利要求1至3任一项所述的方法,其特征在于,所述获取传输总线上所有DQ的裕量有效宽度之前,所述方法还包括:
获取非易失性闪存接口NFI总线的工作模式;
根据所述NFI总线模式,以及所述NFI总线模式与总线速率之间的对应关系,确定所述NFI总线模式下的最低速率;
按照所述最低速率将所述预设数据写入到NAND Flash的数据寄存器上;
从所述NAND Flash的数据寄存器上获取所述预设数据。
8.一种数据锁存信号DQS位置调整装置,其特征在于,包括:
获取单元,用于获取传输总线上所有数据信号DQ的裕量有效宽度,所述裕量有效宽度为预设数据在发送端的理想信号宽度经过传输到达接收端时,被所述接收端正确采样的信号宽度;
处理单元,用于根据所述裕量有效宽度确定左边界,以及确定右边界,所述左边界为所有DQ的裕量有效宽度最小值中的最大值,所述右边界为所有DQ在以所述左边界对齐的情况下,对应的所有裕量有效宽度最大值中的最小值;根据所述左边界和所述右边界计算第一中心位置,所述第一中心位置为读数据训练时,对齐所有DQ后的最小裕量有效宽度的中心;以及调整所述DQS的延迟线DL至所述第一中心位置。
9.根据权利要求8所述的装置,其特征在于,
所述处理单元,具体用于设置DQS的第一位置,所述第一位置对应的采样数据不产生误码;以N个步进长度为单位向左调整所述第一位置,并判断每次调整后的第一位置对应的采样数据是否产生误码;直至所述调整后的第一位置对应的采样数据产生误码,确定所述左边界值为所述调整后且产生误码的第一位置,再向右调整M个步进长度后的位置,其中,1≤M≤N。
10.根据权利要求8所述的装置,其特征在于,
所述处理单元,具体用于设置DQS的第二位置,所述第二位置对应的采样数据产生误码;以P个步进长度为单位向右调整所述第二位置,并判断每次调整后的第二位置对应的采样数据是否产生误码;以及,
如果P≥2,则调整所述第二位置直至所述调整后的第二位置对应的采样数据不产生误码,确定所述左边界值为当前调整后且不产生误码的第二位置,再向左调整Q个步进长度后的位置,其中,1≤Q≤P;
如果P=1,则调整所述第二位置直至调整后的位置对应的采样数据不产生误码,确定所述左边界值为当前所述调整后的位置。
11.根据权利要求8至10任一项所述的装置,其特征在于,
所述处理单元,具体用于以所述左边界为基准,调整所有DQ的DL,使所有DQ的裕量有效宽度最小值与所述左边界相等;确定所述传输总线上所有DQ中最小的裕量有效宽度;确定所述右边界为所述最小裕量有效宽度的最大值。
12.根据权利要求8至10任一项所述的装置,其特征在于,
所述处理单元,还用于按照正常速率写入、和读取所述预设数据;确定第二中心位置,所述第二中心位置为写数据训练时,对齐所有DQ后的最小裕量有效宽度的中心;调整所述DQS的DL至所述第二中心位置;将所述第一中心位置和所述第二中心位置赋予到DQS寄存器,以及将每个DQ相对于所述第一中心位置和所述第二中心位置调整的DL长度赋予到DQ寄存器。
13.根据权利要求8至10任一项所述的装置,其特征在于,
所述处理单元,还用于在获取传输总线上所有DQ的裕量有效宽度之前,上电或复位时,对所述传输总线上的终端匹配电阻进行校准操作;在所述终端匹配电阻校准操作完成后,检测所述传输总线上的总线速率是否大于阈值;如果大于所述阈值,则执行所述根据所述裕量有效宽度确定左边界,以及确定右边界的步骤;如果小于等于所述阈值,则进入正常工作状态。
14.根据权利要求8至10任一项所述的装置,其特征在于,
所述获取单元,还用于在获取传输总线上所有DQ的裕量有效宽度之前,获取非易失性闪存接口NFI总线的工作模式;根据所述NFI总线模式,以及所述NFI总线模式与总线速率之间的对应关系,确定所述NFI总线模式下的最低速率;按照所述最低速率将所述预设数据写入到NAND Flash的数据寄存器上;从所述NAND Flash的数据寄存器上获取所述预设数据。
15.一种控制器,其特征在于,所述控制器包括:控制电路,
所述控制电路用于执行存储介质中的指令,以便实现如权利要求1至7任一项所述的数据锁存信号DQS位置调整方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810468980.6A CN108646984B (zh) | 2018-05-16 | 2018-05-16 | 一种dqs位置调整方法和装置 |
PCT/CN2019/076675 WO2019218753A1 (zh) | 2018-05-16 | 2019-03-01 | 一种dqs位置调整方法和装置 |
EP19802826.8A EP3779991A4 (en) | 2018-05-16 | 2019-03-01 | METHOD AND DEVICE FOR ADJUSTING THE DQS POSITION |
US17/097,680 US11430494B2 (en) | 2018-05-16 | 2020-11-13 | DQS position adjustment method, controller and network device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810468980.6A CN108646984B (zh) | 2018-05-16 | 2018-05-16 | 一种dqs位置调整方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108646984A true CN108646984A (zh) | 2018-10-12 |
CN108646984B CN108646984B (zh) | 2020-01-03 |
Family
ID=63756290
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810468980.6A Active CN108646984B (zh) | 2018-05-16 | 2018-05-16 | 一种dqs位置调整方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11430494B2 (zh) |
EP (1) | EP3779991A4 (zh) |
CN (1) | CN108646984B (zh) |
WO (1) | WO2019218753A1 (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110070906A (zh) * | 2019-04-10 | 2019-07-30 | 晶晨半导体(上海)股份有限公司 | 一种存储系统的信号调试方法 |
CN110109509A (zh) * | 2019-03-27 | 2019-08-09 | 北京比特大陆科技有限公司 | 延迟校正方法、电路、装置、设备及计算机可读存储介质 |
WO2019218753A1 (zh) * | 2018-05-16 | 2019-11-21 | 华为技术有限公司 | 一种dqs位置调整方法和装置 |
CN110928736A (zh) * | 2019-12-06 | 2020-03-27 | 迈普通信技术股份有限公司 | 内存参数调试方法及装置 |
CN111128269A (zh) * | 2019-11-21 | 2020-05-08 | 深圳市国微电子有限公司 | 一种ddr比特延迟对齐方法、装置及存储介质 |
CN111506527A (zh) * | 2020-04-13 | 2020-08-07 | 天津飞腾信息技术有限公司 | 数字高速并行总线自适应区间校正方法、装置及存储介质 |
CN112820344A (zh) * | 2019-11-18 | 2021-05-18 | 华为技术有限公司 | 数据信号的裕量检测方法、装置及存储设备 |
CN113178223A (zh) * | 2021-04-27 | 2021-07-27 | 珠海全志科技股份有限公司 | 存储器的数据训练方法、计算机装置及计算机可读存储介质 |
WO2022068524A1 (zh) * | 2020-09-30 | 2022-04-07 | 华为技术有限公司 | 一种内存训练方法、内存控制器、处理器和电子设备 |
CN114496047A (zh) * | 2021-12-29 | 2022-05-13 | 深圳市紫光同创电子有限公司 | 双向数据选通采样信号dqs相位的调整方法及装置 |
CN114896186A (zh) * | 2022-05-23 | 2022-08-12 | 北京计算机技术及应用研究所 | 一种基于预训练的fpga与外部总线数据交互方法 |
WO2022179368A1 (zh) * | 2021-02-26 | 2022-09-01 | 华为技术有限公司 | 优化闪存颗粒的方法和相关装置 |
CN117253520A (zh) * | 2023-01-18 | 2023-12-19 | 北京忆芯科技有限公司 | 区分操作nvm芯片的读时钟与编程时钟及方法 |
CN117408219A (zh) * | 2023-12-14 | 2024-01-16 | 西安智多晶微电子有限公司 | 一种DDR信号Rtt端接PCB板级布局布线约束方法及电子设备 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113672442B (zh) * | 2021-08-18 | 2023-04-07 | 长鑫存储技术有限公司 | 一种信号测试方法、装置及存储介质 |
CN116665731B (zh) * | 2023-08-02 | 2023-10-03 | 成都智多晶科技有限公司 | 一种ddr存储器采样校准方法及ddr存储器 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1862701A (zh) * | 2005-05-04 | 2006-11-15 | 英飞凌科技股份公司 | 用于使信号与时钟信号同步的集成半导体存储设备 |
CN101425331A (zh) * | 2007-11-02 | 2009-05-06 | 海力士半导体有限公司 | 时钟控制电路及包括该时钟控制电路的数据对齐电路 |
CN101714399A (zh) * | 2008-09-30 | 2010-05-26 | 恩益禧电子股份有限公司 | 存储器接口及其操作方法 |
US20100205386A1 (en) * | 2009-02-06 | 2010-08-12 | Nec Electronics Corporation | Memory controller and memory control method |
US7818528B2 (en) * | 2006-09-19 | 2010-10-19 | Lsi Corporation | System and method for asynchronous clock regeneration |
CN101897119A (zh) * | 2007-12-14 | 2010-11-24 | 莫塞德技术公司 | 具有多个装置的系统中的时钟再生和时序方法以及具有可变数据对准的存储器控制器 |
CN103839573A (zh) * | 2012-11-27 | 2014-06-04 | 阿尔特拉公司 | 具有改进时序余量的存储器接口电路 |
CN105679355A (zh) * | 2014-12-05 | 2016-06-15 | 马维尔以色列(M.I.S.L.)有限公司 | 使用可配置个体时间延迟对数据总线信号的最佳采样 |
CN107393578A (zh) * | 2016-05-16 | 2017-11-24 | 中国长城科技集团股份有限公司 | 一种内存训练的方法和装置 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7171321B2 (en) * | 2004-08-20 | 2007-01-30 | Rambus Inc. | Individual data line strobe-offset control in memory systems |
US7443741B2 (en) * | 2005-07-07 | 2008-10-28 | Lsi Corporation | DQS strobe centering (data eye training) method |
US7924637B2 (en) * | 2008-03-31 | 2011-04-12 | Advanced Micro Devices, Inc. | Method for training dynamic random access memory (DRAM) controller timing delays |
US20120284576A1 (en) * | 2011-05-06 | 2012-11-08 | Housty Oswin E | Hardware stimulus engine for memory receive and transmit signals |
US8565033B1 (en) * | 2011-05-31 | 2013-10-22 | Altera Corporation | Methods for calibrating memory interface circuitry |
US8588014B1 (en) * | 2011-05-31 | 2013-11-19 | Altera Corporation | Methods for memory interface calibration |
US8565034B1 (en) * | 2011-09-30 | 2013-10-22 | Altera Corporation | Variation compensation circuitry for memory interface |
US9158330B1 (en) * | 2011-11-15 | 2015-10-13 | Marvell Israel (M.I.S.L) Ltd. | Apparatus and method to compensate for data skew for multiple memory devices and adjust delay for individual data lines based on an optimized critical window |
US20140089573A1 (en) | 2012-09-24 | 2014-03-27 | Palsamy Sakthikumar | Method for accessing memory devices prior to bus training |
US9401189B1 (en) * | 2013-03-15 | 2016-07-26 | Altera Corporation | Methods and apparatus for performing runtime data eye monitoring and continuous data strobe calibration |
BR102014024441A2 (pt) * | 2014-03-26 | 2016-08-02 | Mediatek Inc | método para otimização de parâmetro em inicialização de sistema e aparelho utilizando o mesmo |
US9437326B2 (en) | 2014-06-12 | 2016-09-06 | Freescale Semiconductor, Inc. | Margin tool for double data rate memory systems |
KR102273191B1 (ko) * | 2017-09-08 | 2021-07-06 | 삼성전자주식회사 | 스토리지 장치 및 그것의 데이터 트레이닝 방법 |
KR102378384B1 (ko) * | 2017-09-11 | 2022-03-24 | 삼성전자주식회사 | 불휘발성 메모리 장치의 동작 방법 및 메모리 컨트롤러의 동작 방법 |
CN108646984B (zh) * | 2018-05-16 | 2020-01-03 | 华为技术有限公司 | 一种dqs位置调整方法和装置 |
KR20200052562A (ko) * | 2018-11-07 | 2020-05-15 | 삼성전자주식회사 | 스토리지 장치 |
-
2018
- 2018-05-16 CN CN201810468980.6A patent/CN108646984B/zh active Active
-
2019
- 2019-03-01 WO PCT/CN2019/076675 patent/WO2019218753A1/zh unknown
- 2019-03-01 EP EP19802826.8A patent/EP3779991A4/en active Pending
-
2020
- 2020-11-13 US US17/097,680 patent/US11430494B2/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1862701A (zh) * | 2005-05-04 | 2006-11-15 | 英飞凌科技股份公司 | 用于使信号与时钟信号同步的集成半导体存储设备 |
US7818528B2 (en) * | 2006-09-19 | 2010-10-19 | Lsi Corporation | System and method for asynchronous clock regeneration |
CN101425331A (zh) * | 2007-11-02 | 2009-05-06 | 海力士半导体有限公司 | 时钟控制电路及包括该时钟控制电路的数据对齐电路 |
CN101897119A (zh) * | 2007-12-14 | 2010-11-24 | 莫塞德技术公司 | 具有多个装置的系统中的时钟再生和时序方法以及具有可变数据对准的存储器控制器 |
CN101714399A (zh) * | 2008-09-30 | 2010-05-26 | 恩益禧电子股份有限公司 | 存储器接口及其操作方法 |
US20100205386A1 (en) * | 2009-02-06 | 2010-08-12 | Nec Electronics Corporation | Memory controller and memory control method |
CN103839573A (zh) * | 2012-11-27 | 2014-06-04 | 阿尔特拉公司 | 具有改进时序余量的存储器接口电路 |
CN105679355A (zh) * | 2014-12-05 | 2016-06-15 | 马维尔以色列(M.I.S.L.)有限公司 | 使用可配置个体时间延迟对数据总线信号的最佳采样 |
CN107393578A (zh) * | 2016-05-16 | 2017-11-24 | 中国长城科技集团股份有限公司 | 一种内存训练的方法和装置 |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019218753A1 (zh) * | 2018-05-16 | 2019-11-21 | 华为技术有限公司 | 一种dqs位置调整方法和装置 |
US11430494B2 (en) | 2018-05-16 | 2022-08-30 | Huawei Technologies Co., Ltd. | DQS position adjustment method, controller and network device |
CN110109509A (zh) * | 2019-03-27 | 2019-08-09 | 北京比特大陆科技有限公司 | 延迟校正方法、电路、装置、设备及计算机可读存储介质 |
CN110070906A (zh) * | 2019-04-10 | 2019-07-30 | 晶晨半导体(上海)股份有限公司 | 一种存储系统的信号调试方法 |
CN112820344A (zh) * | 2019-11-18 | 2021-05-18 | 华为技术有限公司 | 数据信号的裕量检测方法、装置及存储设备 |
CN112820344B (zh) * | 2019-11-18 | 2023-04-18 | 华为技术有限公司 | 数据信号的裕量检测方法、装置及存储设备 |
CN111128269A (zh) * | 2019-11-21 | 2020-05-08 | 深圳市国微电子有限公司 | 一种ddr比特延迟对齐方法、装置及存储介质 |
CN111128269B (zh) * | 2019-11-21 | 2023-05-23 | 深圳市国微电子有限公司 | 一种ddr比特延迟对齐方法、装置及存储介质 |
CN110928736A (zh) * | 2019-12-06 | 2020-03-27 | 迈普通信技术股份有限公司 | 内存参数调试方法及装置 |
CN111506527B (zh) * | 2020-04-13 | 2022-03-18 | 飞腾信息技术有限公司 | 数字高速并行总线自适应区间校正方法、装置及存储介质 |
CN111506527A (zh) * | 2020-04-13 | 2020-08-07 | 天津飞腾信息技术有限公司 | 数字高速并行总线自适应区间校正方法、装置及存储介质 |
WO2022068524A1 (zh) * | 2020-09-30 | 2022-04-07 | 华为技术有限公司 | 一种内存训练方法、内存控制器、处理器和电子设备 |
CN114356206A (zh) * | 2020-09-30 | 2022-04-15 | 华为技术有限公司 | 一种内存训练方法、内存控制器、处理器和电子设备 |
EP4206893A4 (en) * | 2020-09-30 | 2024-03-06 | Huawei Tech Co Ltd | MEMORY TRAINING METHOD, MEMORY CONTROLLER, PROCESSOR AND ELECTRONIC DEVICE |
WO2022179368A1 (zh) * | 2021-02-26 | 2022-09-01 | 华为技术有限公司 | 优化闪存颗粒的方法和相关装置 |
CN113178223A (zh) * | 2021-04-27 | 2021-07-27 | 珠海全志科技股份有限公司 | 存储器的数据训练方法、计算机装置及计算机可读存储介质 |
CN114496047A (zh) * | 2021-12-29 | 2022-05-13 | 深圳市紫光同创电子有限公司 | 双向数据选通采样信号dqs相位的调整方法及装置 |
CN114496047B (zh) * | 2021-12-29 | 2023-08-29 | 深圳市紫光同创电子有限公司 | 双向数据选通采样信号dqs相位的调整方法及装置 |
CN114896186A (zh) * | 2022-05-23 | 2022-08-12 | 北京计算机技术及应用研究所 | 一种基于预训练的fpga与外部总线数据交互方法 |
CN114896186B (zh) * | 2022-05-23 | 2023-09-26 | 北京计算机技术及应用研究所 | 一种基于预训练的fpga与外部总线数据交互方法 |
CN117253520A (zh) * | 2023-01-18 | 2023-12-19 | 北京忆芯科技有限公司 | 区分操作nvm芯片的读时钟与编程时钟及方法 |
CN117253520B (zh) * | 2023-01-18 | 2024-05-28 | 北京忆芯科技有限公司 | 区分操作nvm芯片的读时钟与编程时钟及方法 |
CN117408219A (zh) * | 2023-12-14 | 2024-01-16 | 西安智多晶微电子有限公司 | 一种DDR信号Rtt端接PCB板级布局布线约束方法及电子设备 |
CN117408219B (zh) * | 2023-12-14 | 2024-03-26 | 西安智多晶微电子有限公司 | 一种DDR信号Rtt端接PCB板级布局布线约束方法及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
EP3779991A1 (en) | 2021-02-17 |
WO2019218753A1 (zh) | 2019-11-21 |
CN108646984B (zh) | 2020-01-03 |
US20210065757A1 (en) | 2021-03-04 |
US11430494B2 (en) | 2022-08-30 |
EP3779991A4 (en) | 2021-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108646984A (zh) | 一种dqs位置调整方法和装置 | |
US10496332B2 (en) | Data path training and timing signal compensation for non-volatile memory device interface | |
JP6274683B2 (ja) | 不一致信号受信機のための周期的なトレーニング | |
US8638619B2 (en) | High speed interface for multi-level memory | |
CN101546758B (zh) | 半导体器件和半导体集成电路 | |
CN101131859A (zh) | 接口电路 | |
EP1573741A2 (en) | Two dimensional data eye centering for source synchronous data transfers | |
CN113330685B (zh) | 占空比调整方法、控制器芯片及闪存设备 | |
CN101606365A (zh) | 对过零点附近进行采样的电压偏移和时钟偏移的修正 | |
WO2023116366A1 (zh) | 一种闪存控制器、延迟调整方法及存储设备 | |
CN102460194A (zh) | 测试装置、校正方法及程序 | |
US7783954B2 (en) | System for controlling high-speed bidirectional communication | |
CN104380273B (zh) | 基于环形缓冲器的数据的自适应偏移同步 | |
KR20210040707A (ko) | 메모리 장치 및 이를 포함하는 메모리 시스템 | |
US9285828B2 (en) | Memory system with improved bus timing calibration | |
CN113064844B (zh) | 存储器写入的训练方法和系统 | |
TWI453588B (zh) | 取樣相位校正方法,使用此取樣相位校正方法的儲存系統 | |
CN103870203B (zh) | 便携储存装置及动态调整其工作模式的方法 | |
US9407427B2 (en) | Technique for optimizing the phase of a data signal transmitted across a communication link | |
US6317417B1 (en) | Method and apparatus for dynamic signal modification on a parallel bus | |
WO2022179368A1 (zh) | 优化闪存颗粒的方法和相关装置 | |
US11671143B2 (en) | Transmitter, data communication device including same, and data transmission method | |
US11996162B2 (en) | Synchronous input buffer enable for DFE operation | |
CN112397109A (zh) | 内存信号线时延补偿方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |