CN112820344B - 数据信号的裕量检测方法、装置及存储设备 - Google Patents

数据信号的裕量检测方法、装置及存储设备 Download PDF

Info

Publication number
CN112820344B
CN112820344B CN201911128368.5A CN201911128368A CN112820344B CN 112820344 B CN112820344 B CN 112820344B CN 201911128368 A CN201911128368 A CN 201911128368A CN 112820344 B CN112820344 B CN 112820344B
Authority
CN
China
Prior art keywords
data
time
voltage
edge
margin
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.)
Active
Application number
CN201911128368.5A
Other languages
English (en)
Other versions
CN112820344A (zh
Inventor
李永耀
王国宇
喻军
李由
刘家武
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201911128368.5A priority Critical patent/CN112820344B/zh
Priority to EP20890953.1A priority patent/EP4053708A4/en
Priority to PCT/CN2020/097788 priority patent/WO2021098210A1/zh
Publication of CN112820344A publication Critical patent/CN112820344A/zh
Priority to US17/746,652 priority patent/US20220276788A1/en
Application granted granted Critical
Publication of CN112820344B publication Critical patent/CN112820344B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/022Detection or location of defective auxiliary circuits, e.g. defective refresh counters in I/O circuitry
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital 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/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4076Timing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/021Detection or location of defective auxiliary circuits, e.g. defective refresh counters in voltage or current generators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/023Detection or location of defective auxiliary circuits, e.g. defective refresh counters in clock generator or timing circuitry
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • G11C5/147Voltage reference generators, voltage or current regulators; Internally lowered supply levels; Compensation for voltage drops
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1093Input synchronization
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • G11C7/222Clock generating, synchronizing or distributing circuits within memory device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • G11C2029/5004Voltage
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2254Calibration
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Memory System (AREA)

Abstract

本申请提供了一种数据信号的裕量检测方法、装置及存储设备,属于通信技术领域。数据信号的接收端可以基于参考电压集合包括的多个参考电压,调整参考电源端的电压;并基于参考时刻集合包括的多个参考时刻,调整数据信号的发送端传输的数据锁存信号的边沿所处的时刻;在调整过程中,对于每个参考电压和每个参考时刻,可以确定在参考电源端的电压为该参考电压,且数据锁存信号的边沿所处的时刻为该参考时刻时,对数据信号进行解码得到的数据是否存在误码,从而得到该数据信号在每个参考电压下的时序裕量,以及在每个参考时刻下的电压裕量。该数据信号的接收端实现了对数据信号的时序裕量和电压裕量的自动检测,检测的效率和准确率较高。

Description

数据信号的裕量检测方法、装置及存储设备
技术领域
本申请涉及通信技术领域,特别涉及一种数据信号的裕量检测方法、装置及存储设备。
背景技术
存储设备一般包括存储控制器和非易失性闪存(nand flash)介质,该存储控制器通过非易失性闪存接口(nand flash Interface,NFI)总线与该nand flash介质连接,并可以通过该NFI总线向nand flash介质写入数据,或者从nand flash介质中读取数据。其中,存储控制器向nand flash介质写入数据时,存储控制器为数据的发送端,nand flash介质为数据的接收端;存储控制器从nand flash介质中读取数据时,nand flash介质为数据的发送端,存储控制器为数据的接收端。
在读取和写入数据的过程中,数据的发送端会通过NFI总线向接收端发送数据信号(data signal,DQ)和数据锁存信号(data strobe signal,DQS)。数据的接收端可以在DQS的边沿处对DQ进行采样,并基于参考电源端提供的参考电压(也称为判决电平)对该采样得到的电压进行判决,从而解码得到数据。为了确保接收端能够正确采样DQ,发送端发送的DQS的边沿需与DQ的边沿或中心位置对齐。但随着NFI总线的数据传输速率的持续提升,DQS和DQ的周期减小,DQS和DQ经NFI总线传输到接收端后,DQS的边沿出现的偏差对DQ的采样精度的影响较大,导致存储控制器读写数据时容易出现误码。
相关技术中,一般通过示波器的余辉测试功能测试接收端接收到的DQ的信号眼图,然后基于该眼图量测DQ的时序裕量,该时序裕量是指DQ在每个周期内有效存在于接收端的时间范围。也即是,当DQS的边沿所处的时刻位于该时序裕量的范围内时,均可以确保能够正确解码DQ。然后,开发人员可以基于量测得到的DQ的时序裕量,对存储设备的相关参数(例如,DQS的时序或参考电压等)进行校准,以确保存储控制器读写数据的可靠性。但是,基于示波器测试得到的信号眼图量测DQ的时序裕量的方式效率较低。
发明内容
本申请提供了一种DQ的裕量检测方法、装置及存储设备,可以解决相关技术中通过示波器检测时序裕量时效率较低的问题,技术方案如下:
一方面,提供了一种DQ的裕量检测方法,应用于该DQ的接收端,该方法可以包括如下步骤。
基于参考电压集合包括的多个参考电压,调整该参考电源端的电压。并基于参考时刻集合包括的多个参考时刻,调整该DQ的发送端传输的DQS的边沿所处的时刻。在调整过程中,对于每个参考电压以及每个参考时刻,可以确定在该参考电源端的电压为该参考电压,且该DQS的边沿所处的时刻为该参考时刻时,对该DQ进行解码得到的数据是否存在误码,得到该DQ在每个参考电压下的时序裕量,以及在每个参考时刻下的电压裕量。其中,该时序裕量为该多个参考时刻中,使得该解码得到的数据不存在误码的参考时刻的范围,该电压裕量为该多个参考电压中,使得该解码得到的数据不存在误码的参考电压的范围。
本申请提供的方法,DQ的接收端可以通过调整参考电源端的电压,以及DQS的时序,实现对DQ的时序裕量和电压裕量的自动检测,该检测过程无需外接其他检测设备,有效提高了检测的效率。
可选的,该接收端可以包括:寄存器和分压电路,该分压电路的控制端与该寄存器连接,该分压电路的输出端与该参考电源端连接;该接收端可以通过调整该寄存器的值,以调整该分压电路的输出电压。
通过在DQ的接收端中设置与参考电源端连接的分压电路,可以实现对该参考电源的电压的灵活调节,从而便于检测DQ在不同参考电压下的时序裕量。
可选的,该接收端还可以包括:延迟线,该延迟线分别与用于锁存所述数据锁存信号的锁存器以及该接收端的输入输出接口连接;该接收端可以通过调整该延迟线的参数,从而调整DQ的发送端传输的DQS的边沿所处的时刻。
通过在DQ的接收端中设置延迟线,可以实现对DQS的时序的灵活调节。
可选的,检测DQ在每个参考电压下的时序裕量,以及在每个参考时刻下的电压裕量的过程可以包括:
调整该参考电源端的电压为该参考电压集合中的一个参考电压。在该参考时刻集合包括的多个参考时刻的范围内,调整该发送端传输的DQS的边沿所处的时刻,并检测基于当前的参考电压,以及调整后的该DQS对该DQ进行解码得到的数据是否存在误码,以从该多个参考时刻中分别确定该DQ的时序裕量的起始边界时刻和结束边界时刻。重复上述调整电压和确定时序裕量的操作,直至该参考电源端的电压遍历该参考电压集合。其中,该起始边界时刻为该多个参考时刻中,使得该解码得到的数据不存在误码的最小参考时刻。该结束边界时刻为该多个参考时刻中,使得该解码得到的数据不存在误码的最大参考时刻。
在本申请实施例中,可以先固定参考电源端的电压为参考电压,并调整DQS的时序,从而得到每个参考电压下的时序裕量。
可选的,该多个参考时刻可以按照递增的顺序排列,则确定该DQ的时序裕量的起始边界时刻的过程可以包括:
调整该发送端传输的DQS的边沿所处的时刻为该多个参考时刻中的第一目标参考时刻,该第一目标参考时刻为多个参考时刻中的第X个参考时刻,X为小于M/2的正整数,M为参考时刻集合包括的参考时刻的总数;检测基于当前的参考电压,以及调整后的该DQS对该DQ进行解码得到的数据是否存在误码;若存在误码,则以第一步进长度增加该DQS的边沿所处的时刻,直至基于当前的参考电压,以及调整后的该DQS解码得到的数据不存在误码;以第二步进长度减小该DQS的边沿所处的时刻,直至基于当前的参考电压,以及调整后的该DQS解码得到的数据存在误码;将调整后的该DQS的边沿所处的时刻的下一个参考时刻确定为该DQ的时序裕量的起始边界时刻;其中,该第二步进长度等于相邻两个该参考时刻的时间差,该第一步进长度大于该第二步进长度,且为该第二步进长度的整数倍。
在确定起始边界时刻的过程中,先以较大的第一步进长度粗调DQS的时序,再以较小的第二步进长度细调DQS的时序,可以有效提高确定该起始边界时刻的效率。
可选的,该确定该DQ的时序裕量的结束边界时刻的过程可以包括:
调整该发送端传输的DQS的边沿所处的时刻为该多个参考时刻中的第二目标参考时刻,该第二目标参考时刻为多个参考时刻中的第Y个参考时刻,Y为大于M/2的正整数,M为参考时刻集合包括的参考时刻的总数。检测基于当前的参考电压,以及调整后的该DQS对该DQ进行解码得到的数据是否存在误码。若存在误码,则以第一步进长度减小该DQS的边沿所处的时刻,直至基于当前的参考电压,以及调整后的该DQS解码得到的数据不存在误码。以第二步进长度增大该DQS的边沿所处的时刻,直至基于当前的参考电压,以及调整后的该DQS解码得到的数据存在误码。将调整后的该DQS的边沿所处的时刻的上一个参考时刻确定为该DQ的时序裕量的结束边界时刻。其中,该第二步进长度等于相邻两个该参考时刻的时间差,该第一步进长度大于该第二步进长度,且为该第二步进长度的整数倍。
在确定结束边界时刻的过程中,先以较大的第一步进长度粗调DQS的时序,再以较小的第二步进长度细调DQS的时序,可以有效提高确定该结束边界时刻的效率。
可选的,检测DQ在每个参考电压下的时序裕量,以及在每个参考时刻下的电压裕量的过程可以包括:
调整该DQ的发送端传输的DQS的边沿所处的时刻为该多个参考时刻中的一个参考时刻。在该参考电压集合包括的多个参考电压的范围内,调整该参考电源端的电压,并检测基于当前的参考时刻,以及调整后的该参考电源端的电压对该DQ进行解码得到的数据是否存在误码,以从该多个参考电压中分别确定DQ的电压裕量的起始边界电压和结束边界电压。重复上述调整时刻和确定电压裕量的操作,直至该DQS的边沿所处的时刻遍历该参考时刻集合。其中,该起始边界电压为该多个参考电压中,使得该解码得到的数据不存在误码的最小参考电压,该结束边界电压为该多个参考电压中,使得该解码得到的数据不存在误码的最大参考电压。
在本申请实施例中,也可以先固定DQS的边沿所处的时刻为参考时刻,并调整参考电源端的电压,从而得到每个参考时刻下的电压裕量。
可选的,该接收端可以为存储控制器,该发送端可以为存储介质,且该存储控制器可以通过接口总线与该存储介质连接;在调整该DQ的发送端传输的DQS的边沿所处的时刻之前,该方法还可以包括:
按照目标速率向该存储介质中写入测试数据;向该存储介质发送针对该测试数据的读取指令;接收该存储介质传输的携带有该测试数据的该DQ以及该DQS;其中,该目标速率为该接口总线的工作速率,或者为该接口总线的工作模式所对应的总线速率范围的下限速率。
在本申请实施例中,若存储控制器需要对读取到的DQ的裕量进行检测,则该目标速率可以为该接口总线的工作模式所对应的总线速率范围的下限速率。按照该下限速率写入测试数据,可以确保该测试数据能够正确写入存储介质,进而可以确保对该读取到的DQ的裕量进行检测得到检测结果的可靠性。若存储控制器需要对写入至存储介质的DQ的裕量进行检测,则可以按照正常的工作速率写入测试数据,以确保检测结果能够反映存储设备的实际运行情况。
可选的,基于参考电压集合包括的多个参考电压,调整该参考电源端的电压的过程可以包括:响应于检测指令,基于参考电压集合包括的多个参考电压,调整该参考电源端的电压;或者,若检测到存储设备的物理参数满足检测触发条件,基于参考电压集合包括的多个参考电压,调整该参考电源端的电压。
在本申请实施例中,DQ的接收端可以在检测指令的指示下,触发DQ的裕量检测流程,或者,也可以在检测到物理参数满足检测触发条件时,自动触发DQ的裕量检测流程。
另一方面,提供了一种数据信号的裕量检测装置,该装置包括一个或多个模块,该一个或多个模块可以用于实现上述方面所提供的DQ的裕量检测方法。
又一方面,提供了一种数据信号的裕量检测装置,该装置包括:存储器,处理器及存储在该存储器上并可在该处理器上运行的计算机程序,该处理器执行该计算机程序时实现如上述方面所提供的DQ的裕量检测方法。
再一方面,提供了一种非易失性存储介质,该非易失性存储介质中存储有指令,当该非易失性存储介质在处理器上运行时,使得处理器执行如上述方面所提供的DQ的裕量检测方法。
再一方面,提供了一种芯片,该芯片包括:可编程逻辑电路和/或程序指令,当该芯片运行时用于实现如上述方面所提供的DQ的裕量检测方法。
再一方面,提供了一种包含指令的计算机程序产品,当该计算机程序产品在处理器上运行时,使得处理器执行上述方面所提供的DQ的裕量检测方法。
再一方面,提供了一种存储设备,该存储设备包括:存储控制器以及存储介质,该存储控制器通过接口总线与该存储介质连接,且该存储控制器和/或该存储介质包括如上述方面提供的数据信号的裕量检测装置或芯片。
本申请实施例提供了一种数据信号的裕量检测方法、装置及存储设备,该数据信号的接收端可以通过调整参考电源端的电压,以及DQS的时序,实现对DQ的时序裕量以及电压裕量的自动检测。由于该检测过程无需外接其他检测设备,有效提高了检测的效率。并且,由于该时序裕量和电压裕量是由数据信号的接收端基于实际解码得到的数据是否存在误码确定的,因此可以确保检测结果的可靠性。
附图说明
图1是本申请实施例提供的一种存储设备的结构示意图;
图2是本申请实施例提供的一种DQS和DQ的时序图;
图3是本申请实施例提供的一种存储控制器的结构示意图;
图4是本申请实施例提供的另一种存储控制器的结构示意图;
图5是本申请实施例提供的一种DQ的裕量检测方法的流程图;
图6是本申请实施例提供的另一种DQ的裕量检测方法的流程图;
图7是本申请实施例提供的一种DQ的二维裕量的示意图;
图8是本申请实施例提供的又一种DQ的裕量检测方法的流程图;
图9是本申请实施例提供的再一种DQ的裕量检测方法的流程图;
图10是本申请实施例提供的一种存储介质的结构示意图;
图11是本申请实施例提供的一种确定第一DQ的时序裕量的起始边界时刻的方法流程图;
图12是本申请实施例提供的一种调整DQS的时序的示意图;
图13是本申请实施例提供的一种确定第一DQ的时序裕量的结束边界时刻的方法流程图;
图14是本申请实施例提供的另一种调整DQS的时序的示意图;
图15是本申请实施例提供的一种确定第一DQ的时序裕量的起始边界时刻的算法流程图;
图16是本申请实施例提供的一种确定第一DQ的时序裕量的结束边界时刻的算法流程图;
图17是本申请实施例提供的另一种DQ的二维裕量的示意图;
图18是本申请实施例提供的一种数据信号的裕量检测装置的结构框图;
图19是本申请实施例提供的一种检测模块的结构示意图;
图20是本申请实施例提供的另一种检测模块的结构示意图;
图21是本申请实施例提供的另一种数据信号的裕量检测装置的结构框图。
具体实施方式
下面结合附图详细介绍本申请实施例提供的数据信号的裕量检测方法、装置及存储设备。
图1是本申请实施例提供的一种存储设备的结构示意图,如图1所示,该存储设备可以包括存储控制器01,以及一个或多个存储介质02。例如,图1中仅示出了一个存储介质02。其中,每个存储介质02可以为nand flash介质,也可以称为nand flash芯片或者nandflash颗粒,该nand flash介质具有容量大,改写速度快等优点,适用于大量数据的存储。该存储控制器01中可以设置有多个输入输出(Input/Output,IO)接口011,每个存储介质02中也设置有一个IO接口021,每个存储介质02的IO接口021可以通过一条NFI总线03与该存储控制器01的一个IO接口011连接。
可选的,该存储设备可以为不同尺寸的固态硬盘(solid state drive,SSD)、插卡(add in card,AIC)设备、小型串行高级技术附件(mini serial advanced technologyattachment,mSATA)接口固态硬盘、下一代模组(next generation form factor,NGFF)或者其他自定义板卡等。
在本申请实施例中,该NFI接口总线03可以包括多条数据线路,每条数据线路可以用于传输一路DQ,则该多条数据线路可以并行传输多路DQ。例如,NFI接口总线03可以包括8条数据线路,该8条数据线路可以并行传输8路DQ:DQ0至DQ7。
图2是本申请实施例提供的一种DQS和DQ的时序图,参考图2可以看出,该DQS为差分信号,其包括DQS_P和DQS_N两个信号。接收端接收到发送端发送的DQS和携带有数据的DQ后,可以在该DQS的边沿对DQ进行采样,并可以将解码得到的电压与参考电源端VREF提供的参考电压Vref进行对比。若该采样电压大于参考电压Vref,则可以确定接收到的数据为1,若采样电压小于参考电压Vref,则可以确定接收到的数据为0,由此实现对DQ的解码。其中,DQS的边沿可以是指DQS的上升沿或下降沿。
为了确保接收端能够基于DQS正确采样DQ,如图2所示,需确保DQ在DQS的边沿到来之前到达接收端,且在DQS的边沿到来之后在接收端稳定保持一段时间。其中,在DQS的边沿到来之前,DQ有效存在于接收端的时长tds可以称为建立时间(setup time)。在DQS的边沿到来之后,DQ在接收端有效保持的时长tdh可以称为保持时间(hold time)。
对于低电平的DQ,当接收端接收到的DQ的电压小于或等于VIL(ac)max时,可以确定该DQ有效,且在DQ的电压大于VIL(dc)max时,可以确定该DQ无效。对于高电平的DQ,当接收端接收到的DQ的电压大于或等于VIH(dc)min时,可以确定该DQ有效,且在DQ的电压小于VIH(ac)min时,可以确定该DQ无效。其中,VIL(ac)max、VIL(dc)max、VIH(dc)min和VIH(ac)min均为协议规定的阈值电压。
在本申请实施例中,可以将DQ到达接收端后在该接收端有效保持的时间范围称为DQ的时序裕量(margin),该时序裕量也可以称为DQ的有效宽度或者有效窗口的长度。当DQS的边沿所处的时刻在该时序裕量内变化时,均可以确保正确解码DQ。结合图2可以看出,该时序裕量可以为该建立时间与保持时间之和。并且,在本申请实施例中,可以将能够确保DQ正确解码的参考电压的变化范围称为DQ的电压裕量。也即是,在该电压裕量内调节参考电源端VREF的电压,均可以确保正确解码DQ。
在存储控制器01从存储介质02中读取数据时,即该存储控制器01作为接收端时,该DQS由存储介质02产生,且DQS的边沿与DQ的沿对齐,以确保存储控制器01能有效读取该存储介质02传输的数据。在存储控制器01将数据写入存储介质02时,即该存储介质02作为接收端时,DQS由存储控制器01产生,且DQS的边沿与DQ的中心位置对齐,以确保存储介质02能够有效存储该存储控制器01写入的数据。其中,存储控制器01向存储介质02中写入数据的操作也可以称为写操作,或写方向的操作。存储控制器01从存储介质02中读取数据的操作也可以称为读操作,或读方向的操作。
但是,DQ和DQS经过传输链路达到接收端后,其相位通常会发生较大的变化。例如受工艺角,电压,温度(Process corner,voltage,temperature,PVT)等环境因素的影响,可能会导致接收端接收到的各个DQ的有效宽度不同,各个DQ之间的边沿也不再对齐,且DQS的边沿也不再与DQ的边沿或中心位置对齐,进而导致存储控制器01无法准确读写数据。并且,随着信息和通信技术(information and communication technology,ICT)行业的不断发展,客户对存储设备的每秒读写操作的次数(Input/Output operations per second,IOPS)的要求越来越高。由于存储控制器01与存储介质之间的NFI总线03的数据传输速率是影响IOPS的关键因素,因此NFI总线03的数据传输速率也不断提升。由此,导致DQ的有效宽度进一步减小,存储控制器01读写数据时更容易出现误码。因此,如何准确测试NFI总线03传输的DQ的时序裕量和电压裕量,进而确保全链路设计裕量足够,成为了存储设备可靠应用的关键。
相关技术中,一方面可以通过示波器的余辉测试功能测试接收端接收到的DQS和DQ的信号眼图,然后量测并确定DQ的时序裕量和电压裕量。但是,该测试过程需要大量的时间、人力和物力,测试效率较低,增加了项目开发成本和周期。并且,该测试方法只能测试接收端的引脚(pin)处的信号波形,无法测试接收端的内核(die)实际接收到的信号的波形,测试准确性较低。此外,对于存储介质02在板卡上正反贴的场景,当存储介质02作为接收端进行测试时,需焊掉板卡上的一个存储介质02,导致测试链路负载减小,测试结果失真。而且该测试往往仅能针对单样本进行测试,无法覆盖不同工艺角的样本,可能会将不达标风险遗留到后续的大样本量的摸底和鉴定试验中,造成风险拦截滞后和测试资源浪费等问题。
另一方面,还可以通过拉偏测试是否出现不可纠正(Uncorrectable,UNC)的错误数据的手段来判断DQ的时序裕量和电压裕量的大小。例如可以拉偏频率、时序、温度和电压等参数进行测试。但是该方法是通过间接的测试方法来粗略估算时序裕量和电压裕量,无法实现对时序裕量和电压裕量的准确量化,测试准确性较低。并且,该测试方法需要测试人员手动调整测试参数,测试过程中需要大量的时间、人力和物力,效率较低,增加了项目开发成本和周期。
本申请实施例提供了一种DQ的裕量检测方法、装置及存储设备,该存储设备中数据信号的接收端可以实现对DQ的裕量的自动检测,检测效率和准确率均较高。其中,该接收端可以为存储控制01,也可以为存储介质02。假设该接收端为存储控制器01,则如图3所示,该存储控制器01的IO接口011中可以设置有分压电路0111,该存储控制器01的物理层中还可以设置有寄存器012。该分压电路0111分别与该寄存器012和参考电源端VREF连接,该参考电源端VREF还与存储介质02的IO接口021连接。该参考电源端VREF提供的参考电压可以作为该存储控制器01和存储介质02对接收到的DQ进行解码时的判决电平。
其中,存储控制器01内部的处理电路(图3中未示出)可以配置该寄存器012的参数,以调节该寄存器012的值,进而实现对分压电路0111的输出电压的调节。例如,参考图3,处理电路可以对寄存器012的REFSEL0、REFSEL1、REFRANGE0、REFRANGE1、REFRANGE2和REFRANGE3等参数进行配置,以调节该寄存器012的值。由于该存储控制器01中新增了分压电路0111,因此可以通过该分压电路0111对该参考电源端VREF的电压进行灵活调节,以检测DQ的电压裕量。
图4是本申请实施例提供的一种存储控制器的物理层(physical,PHY)的结构示意图,如
图4所示,该存储控制器01中还可以设置有用于锁存DQ和DQS的锁存器013、延迟锁相环(delay-locked loop,DLL)、延迟线(delay Line)以及DLL控制器(DLL CTRL)。该DLL分别与该锁存器013、DL和DLL CTRL连接,该DL还与存储控制器的IO接口011连接。该DLL用于在DLL CTRL的控制下检测DQS的周期。存储控制器01内部的处理电路可以基于DLL检测到的DQS的周期,确定参考时刻集合包括的参考时刻的个数,并可以将该DQS的周期划分为多个参考时刻,也即是,处理电路可以基于DQS的周期确定出参考时刻集合。该处理电路还可以通过调整DL的参数,来调整DQS的时序,即调整DQS的边沿所处的时刻,以便检测DQ的时序裕量。
参考图4,存储控制器的物理层可以通过nand flash控制(nand flash control,NFC)接口与该处理电路连接。该存储控制器01中还可以设置有控制链路(command lane,CMDLANE)014。该控制链路014用于提供地址锁闭功能启用(address latch enable,ALE)信号,指令锁存使能(command latch enable,CLE)信号、读使能(read enable,REN)信号和写使能(write enable,WEN)信号等。DLL可以通过时钟复位发生器(clock reset generator,CRG)与锁存器013连接。如图4所示,物理层中还设置有ZQ电阻,存储控制器在上电(powerup)或者复位后,需要对该ZQ电阻进行校准操作。
图5是本申请实施例提供的一种DQ的裕量检测方法的流程图,该方法可以应用于存储设备中数据信号的接收端中,例如可以应用于存储控制器中。下文以该方法应用于存储控制器为例进行说明。参考图5,该方法可以包括:
步骤101、基于参考电压集合包括的多个参考电压,调整参考电源端的电压。
在本申请实施例中,该存储控制器中可以预先存储有包括多个参考电压的参考电压集合,该多个参考电压可以为开发人员预先配置的待检测的电压。
可选的,如3所示,该存储控制器01可以通过处理电路调整寄存器012的值,以调整分压电路0111的输出电压,从而实现对该参考电源端VREF的电压的调节。
示例的,参考图3,该分压电路0111可以为电阻分压电路,该分压电路0111可以等效为串联在第一电源端VDD和第二电源端VSS之间的两个电阻R1和R2,参考电源端VREF可以与该两个电阻R1和R2之间的连接点连接。处理电路可以通过调整寄存器012的值,实现对该两个电阻R1和R2中至少一个电阻的阻值的调节,从而可以改变该分压电路0111输出至参考电源端VREF的输出电压。
步骤102、基于参考时刻集合包括的多个参考时刻,调整DQS的边沿所处的时刻。
该DQS为存储介质向存储控制器发送DQ时同步发送的。该存储控制器中可以预先存储有包括多个参考时刻的参考时刻集合,该多个参考时刻可以是存储控制器根据检测到的DQS的周期确定的,或者也可以为开发人员预先配置的待检测的时刻。如图4所示,该存储控制器01可以通过DL调整存储介质传输的DQS的时序,从而使得该DQS的边沿所处的时刻与不同的参考时刻对齐。
可选的,该多个参考时刻可以是对DQS的周期进行等分确定的,该DQS的周期由NFI总线的数据传输速率决定,且可以通过DLL检测得到。例如,存储控制器可以将DQS的周期等分为1023份,从而确定出1024个参考时刻。其中,每个参考时刻可以采用一个刻度值表示,比如可以采用1至1024表示该1024个参考时刻。
步骤103、对于每个参考电压,以及每个参考时刻,确定在该参考电源端的电压为该参考电压,且该DQS的边沿所处的时刻为该参考时刻时,对DQ进行解码得到的数据是否存在误码,得到该DQ在每个该参考电压下的时序裕量,以及在每个该参考时刻下的电压裕量。
其中,该时序裕量为该多个参考时刻中,使得该解码得到的数据不存在误码的参考时刻的范围,该电压裕量为该多个参考电压中,使得该解码得到的数据不存在误码的参考电压的范围。
由于在本申请实施例中,存储控制器01既可以执行读方向的操作也可以执行写方向的操作,因此该存储控制器01可以分别对读方向的DQ的裕量,以及写方向的DQ的裕量进行检测。当然,若该存储设备中的存储介质02也具备裕量检测的功能,则也可以由该存储介质02对写方向的DQ的裕量进行检测。
其中,存储控制器01在对读方向的DQ的裕量进行检测时,可以先以较低的数据传输速率向存储介质02写入测试数据,以确保写入的测试数据的准确性。然后,存储控制器01可以向存储介质发送针对该测试数据的读取指令。存储介质02进而可以响应于该读取指令,向存储控制器01传输携带有该测试数据的DQ,以及DQS。存储控制器01进而可以基于该DQS,对该读方向的DQ的裕量进行检测。
存储控制器01在对写方向的DQ的裕量进行检测之前,存储控制器01或者开发人员可以先基于读方向的DQ的裕量的检测结果,对存储设备的相关参数(例如DL的参数或者参考电源端VREF的电压)进行校准,以确保读方向的DQ的裕量能够确保数据的正确解码,即确保存储控制器01能够正确读取数据。之后,存储控制器01可以按照正常的数据传输速率向存储介质02写入测试数据,并向存储介质02发送针对该测试数据的读取指令。存储介质02可以响应于该读取指令,向存储控制器01传输携带有该测试数据的DQ,以及DQS。存储控制器01进而可以基于接收到的DQS,对该DQ的裕量进行检测。由于已经可以确保存储控制器读01取到的测试数据是准确的,也即,存储控制器01读取到的测试数据即为实际写入至存储介质02中的测试数据,因此存储控制器01可以基于该存储介质02传输的DQ,实现对存储控制器01传输至存储介质02的DQ(即写方向的DQ)的裕量检测。
综上所述,本申请实施例提供了一种数据信号的裕量检测方法,DQ的接收端可以通过调整参考电源端的电压,以及DQS的时序,实现对DQ的时序裕量以及电压裕量的自动检测。由于该检测过程无需外接其他检测设备,也无需人工调整参数,因此有效提高了检测的效率,缩减了检测成本。并且,由于该时序裕量和电压裕量是由存储控制器基于实际解码得到的数据是否存在误码确定的,因此可以确保检测结果的可靠性。
此外,本申请实施例提供的方法可以根据检测结果直接判断当前所测的存储设备样本的裕量是否满足要求,减弱了对样片数量和类型的依赖,解决了当前测试流程无法覆盖不同工艺角的样本而导致的样本量和数据量少的问题,有效提高了裕量检测的精度和效率,确保了存储设备能可靠地工作在不同的PVT状态下,且可以支持更高的数据传输速率。
作为一种可选的实现方式,如图6所示,该DQ的裕量检测方法可以包括如下流程:
步骤201、存储控制器将参考电源端VREF的电压设置为参考电压集合中的第一个参考电压,并标记A=1。
其中,A可以用于表示当前参考电源端VREF的电压已扫描的参考电压集合中的参考电压的个数。
步骤202、存储控制器检测A是否小于等于N。若A小于等于N,则执行步骤203;若A不小于N,则执行步骤208。
其中,N为该参考电压集合包括的参考电压的总数,且N为大于1的整数。当A≤N时,存储控制器可以确定该参考电源端VREF的电压还未遍历参考电压集合,因此可以执行步骤203;若A>N,则可以确定参考电源端VREF的电压已遍历参考电压集合,因此可以执行步骤207。
步骤203、存储控制器以低数据传输速率写入训练数据。
在本申请实施例中,存储控制器可以采用较低的数据传输速率向存储介质写入训练数据,以确保训练数据的正确写入。其中,该训练数据可以是存储控制器中预先存储的数据,例如可以是开发人员自定义的数据。
步骤204、存储控制器进行读方向的DQ的时序裕量检测。
存储控制器可以向存储介质发送针对该训练数据的读取指令,并通过NFI总线接收该存储介质发送携带有训练数据的DQ,以及DQS。存储控制器可以在该参考时刻集合包括的多个参考时刻的范围内,调整该DQS的边沿所处的时刻(即调整DQS的时序),并检测基于当前的参考电压,以及调整时序后的该DQS对DQ进行解码得到的数据是否存在误码,从而得到读方向的DQ在当前参考电压下的时序裕量。
需要说明的是,在上述步骤204之后,存储控制器或者开发人员可以先基于读方向的DQ的时序裕量的检测结果,对存储设备的相关参数进行校准,以确保读方向的DQ的时序裕量能够确保数据的正确解码,即确保存储控制器能够正确读取数据。
步骤205、存储控制器以正常数据传输速率写入训练数据。
存储控制器可以再次以正常数据传输速率向存储介质写入训练数据。该正常数据传输速率是指存储控制器正常工作时,向存储介质写入数据时的数据传输速率。
步骤206、存储控制器进行写方向的DQ的时序裕量检测。
存储控制器可以再次从存储介质中读取该训练数据。由于在上述步骤204之后,基于参数调整操作可以确保存储控制器读取到的训练数据的可靠性,因此存储控制器可以通过读取到的训练数据,检测写入的训练数据是否存在误码,即实现写方向的DQ的时序裕量检测。
步骤207、存储控制器将参考电源端VREF的电压设置为参考电压集合中的下一个参考电压,并更新A=A+1。执行步骤202。
存储控制器可以循环执行上述步骤202至步骤207,直至A>N。
步骤208、存储控制器生成二维裕量示意图。
在上述步骤202中,若存储控制器检测到A>N,则可以确定已完成对参考电压集合的遍历,因此可以基于检测得到的不同参考电压下的读方向的DQ的时序裕量和写方向的DQ的时序裕量,分别生成读方向的DQ的二维裕量示意图,以及写方向的DQ的二维裕量示意图。
其中,该二维裕量示意图的横轴可以用于指示DQS的边沿所处的时刻,纵轴可以用于指示参考电源端VREF的电压,示意图中的每个坐标处可以采用不同的图示表示基于该坐标处的参数解码得到的数据是否存在误码。
示例的,假设对读方向的DQ的裕量进行检测,参考电压集合包括参考电压V1至参考电压V10共10个参考电压,参考时刻集合包括T1至T15共15个参考时刻,则存储控制器最终生成的读方向的DQ的二维裕量示意图可以如图7所示。该示意图中,白色圆圈表示有误码,黑色圆圈表示无误码。参考图7,若参考电源端VREF的电压为参考电压V3,则当DQS的边沿所处的时刻为参考时刻T7至参考时刻T11时,对DQ进行解码得到的数据不存在误码,即DQ在参考电压V3下的时序裕量为T7至T11。从图7可以看出,参考电源端VREF的电压为参考电压V6时,DQ的时序裕量最大。若DQS的边沿所处的时刻为参考时刻T6,则当参考参考电源端VREF的电压为参考电压V4至参考电压V8时,对DQ进行解码得到的数据不存在误码,即DQ在参考时刻T6下的电压裕量为V4至V8。从图7可以看出,DQS的边沿所处的时刻为参考时刻T9时,DQ的电压裕量最大。
存储控制器生成的二维裕量示意图能够直观体现不同参考电压下DQ的时序裕量,便于工作人员基于该示意图调整存储设备的相关参数。
根据上文描述可知,在该实现方式中,存储控制器可以将参考电源端VREF的电压依次调整为参考电压集合中的每个参考电压,使得该参考电源端VREF的电压遍历该参考电压集合。并且,在每次调整后,均可以对该参考电压下,读方向的DQ的时序裕量,以及写方向的DQ的时序裕量进行检测。最后即可基于检测得到的各个参考电压下的时序裕量,生成二维裕量示意图。
需要说明的是,图6所示的方法流程中,步骤205和步骤206也可以删除,即存储控制器可以仅对读方向的DQ的时序裕量进行检测。相应的,步骤203也可以在步骤201之前执行,即存储控制器可以先写入训练数据,再调节参考电压端的电压和DQS的时序,以进行读方向的DQ的时序裕量的检测。
同理,步骤203和步骤204也可以删除,即存储控制器可以仅对写方向的DQ的时序裕量进行检测。相应的,步骤205也可以在步骤201之前执行,即存储控制器可以先写入训练数据,再调节参考电压端的电压和DQS的时序,以进行写方向的DQ的时序裕量的检测。
作为另一种可选的实现方式,如图8所示,该DQ的裕量检测方法还可以包括如下流程:
步骤301、存储控制器以低数据传输速率写入训练数据。
在本申请实施例中,存储控制器可以采用较低的数据传输速率向存储介质写入训练数据。
步骤302、存储控制器将读方向的DQS的边沿调整为参考时刻集合中的第一个参考时刻,并标记B=1。
其中,B可以用于表示当前DQS的边沿所扫描的参考时刻集合中的参考时刻的个数。
可选的,存储控制器可以向存储介质发送针对上述步骤301中写入的训练数据的读取指令,并通过NFI总线接收该存储介质发送携带有训练数据的DQ,以及DQS。之后,存储控制器即可调整该DQS的时序,使其边沿所处的时刻为参考时刻集合中的第一个参考时刻,即使其边沿与第一个参考时刻对齐。
步骤303、存储控制器检测B是否小于等于M。若B小于等于M,则执行步骤304;若B不小于M,则执行步骤306。
其中,M为该参考时刻集合包括的参考时刻的总数,且M为大于1的整数。当B≤M时,存储控制器可以确定该DQS的边沿所处的时刻还未遍历参考时刻集合,因此可以执行步骤304;若B>M,则可以确定DQS的边沿所处的时刻已遍历参考时刻集合,因此可以执行步骤306。
步骤304、存储控制器进行读方向的DQ的电压裕量检测。
存储控制器可以在该参考电压集合包括的多个参考电压的范围内,调整该参考电源端VREF的电压,并检测基于当前的参考时刻,以及调整后的电压对DQ进行解码得到的数据是否存在误码,从而得到读方向的DQ在当前参考时刻下电压裕量的起始边界电压和结束边界电压。
其中,该起始边界电压为该多个参考电压中,使得该解码得到的数据不存在误码的最小参考电压,该结束边界电压为该多个参考电压中,使得该解码得到的数据不存在误码的最大参考电压。
步骤305、存储控制器将DQS的边沿调整为参考时刻集合中的下一个参考时刻,并更新B=B+1。执行步骤303。
存储控制器可以循环执行上述步骤303至步骤305,直至B>M。
步骤306、存储控制器生成读方向的DQ的二维裕量示意图。
在上述步骤303中,若存储控制器检测到B>M,则可以确定已完成对参考时刻集合的遍历,因此可以基于检测得到的不同参考时刻下的读方向的DQ的电压裕量,生成读方向的DQ的二维裕量示意图。
需要说明的是,在本申请实施例中,存储控制器完成读方向的DQ的电压裕量检测后,存储控制器或者开发人员可以先基于读方向的DQ的时序裕量的检测结果,对存储设备的相关参数进行校准,以确保读方向的DQ的时序裕量能够确保数据的正确解码,即确保存储控制器能够正确读取数据。
步骤307、存储控制器以正常数据传输速率写入训练数据。
存储控制器可以再次以正常数据传输速率向存储介质写入训练数据,并向存储介质发送针对该训练数据的读取命令,以指示存储介质发送携带有该训练数据的DQ以及读方向的DQS。由于在上述步骤306之后,基于参数调整操作可以确保存储控制器读取到的训练数据的可靠性,因此存储控制器可以通过读取到的训练数据,检测写入的训练数据是否存在误码,即实现写方向的DQ的电压裕量检测。
步骤308、存储控制器将写方向的DQS的边沿调整为参考时刻集合中的第一个参考时刻,并标记B=1。
存储控制器可以将存储介质发送的读方向的DQS作为写方向的DQS进行时序调整。
步骤309、存储控制器检测B是否小于等于M。若B小于等于M,则执行步骤310;若B不小于M,则执行步骤312。
步骤310、存储控制器进行写方向的DQ的电压裕量检测。
步骤311、存储控制器将DQS的边沿调整为参考时刻集合中的下一个参考时刻,并更新B=B+1。执行步骤309。
步骤312、存储控制器生成写方向的DQ的二维裕量示意图。
上述步骤308至步骤312的实现过程可以参考步骤302至步骤306中的相关描述,此处不再赘述。
根据上文描述可知,在该实现方式中,存储控制器可以将DQS的边沿所处的时刻依次调整为参考时刻集合中的每个参考时刻,使得该DQS的边沿所处的时刻遍历该参考时刻集合。并且,在每次调整后,均可以对该参考时刻下,读方向的DQ的电压裕量,以及写方向的DQ的电压裕量进行检测。最后即可基于检测得到的各个参考时刻下的电压裕量,生成二维裕量示意图。
下文以该方法应用于存储控制器,并以先确定参考电压集合中每个参考电压下的时序裕量,进而确定DQ的二维裕量为例,对该DQ的裕量检测方法进行说明。如图9所示,该方法可以包括:
步骤401、在业务运行过程中,检测存储设备的物理参数是否满足检测触发条件。
在本申请实施例中,存储控制器可以在业务运行过程中,实时获取存储设备的物理参数,并检测该物理参数是否满足检测触发条件。若满足检测触发条件,则可以执行步骤402,即继续进行裕量检测。若该物理参数不满足检测触发条件,则可以继续运行业务,而无需继续执行下述步骤。
可选的,该物理参数可以包括存储控制器自身的物理参数和该存储介质的物理参数中的一种或多种。例如,该物理参数可以包括PVT参数,比如可以包括温度、湿度、工作电压、数据传输速率以及数据传输量中的一种或多种。相应的,该检测触发条件可以包括下述条件中的一种或多种:
温度的变化量大于温度阈值;湿度的变化量大于湿度阈值;工作电压的变化量大于电压阈值;数据传输速率大于速率阈值;以及,数据传输量大于业务量阈值。
其中,该温度阈、湿度阈值、电压阈值、速率阈值和业务量阈值均可以是存储控制器中预先配置的,且可以是开发人员根据存储设备的应用需求配置的。
需要说明的是,在本申请实施例中,针对DQ的裕量检测流程也可以由测试人员人工触发。例如可以将安装有调试软件的测试设备通过串口与该存储控制器连接,测试人员可以通过调试软件向存储控制器发送检测指令,该存储控制器进而可以响应于该检测指令,执行下述步骤402。或者,存储控制器也可以在每次上电启动后,均执行对该DQ的裕量检测流程,即存储控制器可以在每次上电后,自动触发检测指令。
步骤402、调整参考电源端的电压为参考电压集合中的一个参考电压。
其中,该参考电压集合可以包括多个不同的参考电压,该多个不同的参考电压可以为开发人员预先配置的待检测的电压。在本申请实施例中,参考图3,该存储控制器可以通过处理电路调整寄存器012的值,以调整分压电路0111的输出电压,从而实现对该参考电源端VREF的电压的调节。
在设计开发该存储控制器01的过程中,可以根据寄存器012的位数,确定该寄存器012的值的可调个数。然后可以根据该可调个数确定参考电压集合包括的参考电压的个数N,该参考电压的个数N可以大于1,且小于或等于该可调个数。例如N可以等于该可调个数。之后,即可根据参考电源端VREF的电压变化范围以及该参考电压的个数N,确定出N个参考电压的电压值,也即是,可以将该参考电源端VREF的电压变化范围划分为N个不同的档位。最后,可以对该处理电路、寄存器012和分压电路0111进行配置,使得处理电路中存储与N个参考电压一一对应的N个寄存器012的值,该处理电路调整寄存器012的值为N个值中的一个时,分压电路0111向参考电源端VREF输出的电压可以为与该值对应的参考电压。
示例的,假设该寄存器012为n位寄存器,n为大于1的整数,则该寄存器的值的可调范围可以为1至2n,该参考电压集合包括的参考电压的个数N也可以为2n
步骤403、检测参考电源端的电压是否遍历参考电压集合。
若未遍历该参考电压集合,则执行步骤404,若已遍历该参考电压集合,则可以执行步骤412。
可选的,为了提高检测的效率,存储控制器可以从参考电压集合中的第一个参考电压开始,依次调整该参考电源端的电压,直至最后一个参考电压。例如,存储控制器可以按照参考电压由高到低,或者由低到高的顺序依次调整参考电源端的电压。
并且,为了便于统计,存储控制器中可以记录有标记位A,该标记位A的初始值可以为0。存储控制器每调整一次参考电源端的电压,可以更新标记位A为A+1。相应的,在检测参考电源端的电压是否遍历参考电压集合时,存储控制器可以直接检测该标记位A是否小于等于N。若A小于等于N,则可以确定还未完成遍历;若A大于N,则可以确定已完成遍历。
步骤404、按照第一目标速率向存储介质中写入第一测试数据。
在本申请实施例中,存储控制器可以先检测读方向的DQ的时序裕量。由于该读方向的DQ是由存储介质基于存储控制器写入的数据生成的,为了确保检测的可靠性,需保证存储控制器写入至存储介质的数据是准确的。因此,在本申请实施例中,存储控制器可以按照较低的数据传输速率向存储介质写入第一测试数据。该第一测试数据可以是存储控制器中预先存储的,且可以是开发人员自定义的数据。
可选的,存储控制器可以先确定其与该存储介质之间的接口总线的工作模式,然后基于预先存储的工作模式与总线速率范围的对应关系,确定该接口总线的工作模式所对应的总线速率范围。进而可以将该确定出的总线速率范围的下限速率作为写入第一测试数据的第一目标速率。
示例的,假设该接口总线为NFI总线,且如表1所示,NFI总线的工作模式可以包括单倍速率(single data rate,SDR)模式,非易失性双数据速率(non-volatile dual datarate,NV-DDR)模式,NV-DDR2(第2代NV-DDR)模式以及NV-DDR3(第3代NV-DDR)模式。其中,SDR模式对应的总线速率范围为10至50兆比特每秒(million bits per second,Mbps),NV-DDR模式对应的总线速率范围为40至200Mbps。
表1
工作模式 总线速率范围(Mbps)
SDR 10~50
NV-DDR 40~200
NV-DDR2 66~800
NV-DDR3 66~1200
若存储控制器确定NFI总线当前的工作模式为NV-DDR模式,则该存储控制器可以确定第一目标速率为40Mbps,并可以按照该40Mbps的数据传输速率向存储介质中写入第一测试数据。
假设该NFI总线包括8条线路,该8条线路每次可以并行传输8个比特(即一个字节)的数据。如表2所示,该第一测试数据可以包括4个字节:BYTE0至BYTE3,该4个字节采用十六进制(hexadecimal,Hex)可以表示为:0x5AA55AA5。其中,第一个字节BYTE0和第三个字节BYTE2均为5A,第二个字节BYTE1和第四个字节BYTE3均为A5。
在并行传输第一个字节BYTE0时,该8条线路并行传输的8路DQ:DQ0至DQ7中所携带的二进制(binary,Bin)数据可以分别为:0、1、0、1、1、0、1和0。在并行传输第一个字节BYTE1时,该8条线路并行传输的8路DQ:DQ0至DQ7中所携带的二进制数据可以分别为:1、0、1、0、0、1、0和1。
表2
Figure BDA0002277563880000141
图10是本申请实施例提供的一种存储介质的结构示意图,如图10所示,该存储介质还可以包括控制逻辑(control logic)电路022、地址寄存器(address register)023、状态寄存器(status register)024、命令寄存器(command register)025、闪存阵列(flasharray)026、数据寄存器(data register)027以及缓存寄存器(cache register)028。存储控制器01可以将第一测试数据写入至该缓存寄存器028中。并且,写入的第一测试数据的长度可以不大于一个闪存页(page)的长度。
步骤405、向存储介质发送针对该第一测试数据的读取指令。
该读取指令可以用于指示存储介质向存储控制器发送该第一测试数据。
步骤406、接收该存储介质传输的携带有该第一测试数据的第一DQ,以及第一DQS。
在本申请实施例中,存储介质可以响应于该读取指令,生成携带有该第一测试数据的第一DQ,以及第一DQS。其中,该第一DQ可以包括多路DQ,例如可以包括8路DQ,该多路DQ的边沿对齐,且该第一DQS的边沿也与该多路DQ的边沿对齐。
步骤407、在参考时刻集合包括的多个参考时刻的范围内,调整该第一DQS的边沿所处的时刻,并检测基于当前的参考电压,以及调整时序后的该第一DQS对第一DQ进行解码得到的数据是否存在误码,以从该多个参考时刻中分别确定该第一DQ的时序裕量的起始边界时刻和结束边界时刻。
其中,该起始边界时刻为该多个参考时刻中,使得该解码得到的数据不存在误码的最小参考时刻,该结束边界时刻为该多个参考时刻中,使得该解码得到的数据不存在误码的最大参考时刻。
图11是本申请实施例提供的一种确定第一DQ的时序裕量的起始边界时刻的方法流程图,参考图11,该方法可以包括:
步骤4071a、调整该第一DQS的边沿所处的时刻为该多个参考时刻中的第一目标参考时刻。
可选的,该参考时刻集合包括的多个参考时刻可以按照递增的顺序排列,该第一目标参考时刻可以为该多个参考时刻中的第X个参考时刻,X为小于M/2的正整数,M为该参考时刻集合包括的参考时刻的总数。也即是,该第一目标参考时刻可以为多个参考时刻中较小的参考时刻,例如可以为最小的参考时刻,即X可以等于1。该第一目标参考时刻可以作为初始的起始边界时刻。
在本申请实施例中,该多个参考时刻可以是对DQS的周期进行划分得到的。若相邻两个参考时刻之间的时间差固定,即时间的刻度单位固定,则接口总线的数据传输速率越高,该DQS的周期越短,该参考时刻集合包括的参考时刻的个数越少。
示例的,假设NFI总线的数据传输速率为400Mbps,则DQS的周期为2.5纳秒(ns),该2.5ns的周期可以划分为320个参考时刻,该第一目标参考时刻可以为第24个参考时刻,即参考时刻24。当然,也可以为第一个参考时刻,即参考时刻1。
步骤4072a、检测基于当前的参考电压,以及调整后的该第一DQS对该第一DQ进行解码得到的数据是否存在误码。
在本申请实施例中,存储控制器可以基于当前参考电源端VREF提供的参考电压,以及调整时序后的第一DQS对该第一DQ包括的多路DQ均进行解码,并检测对该第一DQ包括的多路DQ进行解码得到的数据是否存在误码。若对第一DQ中的任一路DQ进行解码得到的数据存在误码,则存储控制器可以执行步骤4073a。若对第一DQ中的每一路DQ进行解码得到的数据均不存在误码,则存储控制器可以执行步骤4074a。
示例的,假设存储控制器写入至存储介质的第一测试数据为“01011010”,存储控制器对第一DQ包括的8路DQ:DQ0至DQ7进行解码得到的数据为“11011010”,则由于该解码得到的数据存在误码,因此存储控制器可以执行步骤4073a。
步骤4073a、以第一步进长度增加该第一DQS的边沿所处的时刻。执行步骤4072a。
在本申请实施例中,若存储控制器基于当前的参考电压,以及调整后的该第一DQS对该第一DQ进行解码得到的数据存在误码,则可以确定该第一DQS的边沿所处的时刻位于该第一DQ的时序裕量的范围之外,因此可以以第一步进长度为单位增加该第一DQS的边沿所处的时刻,即可以向右调整该第一DQS的时序。之后,该存储控制器可以继续执行步骤4072a,也即是,存储控制器可以以第一步进长度为单位,逐步向右调整该第一DQS的时序,直至基于当前的参考电压,以及调整后的第一DQS对第一DQ进行解码得到的数据不存在误码。
步骤4074a、以第二步进长度减小该第一DQS的边沿所处的时刻,直至基于当前的参考电压,以及调整后的该第一DQS解码得到的数据存在误码。
若存储控制器基于当前的参考电压,以及调整后的该第一DQS对该第一DQ进行解码得到的数据不存在误码,则可以确定该第一DQS的边沿所处的时刻位于该第一DQ的时序裕量的范围之内,因此可以以第二步进长度为单位,逐步减小该第一DQS的边沿所处的时刻,即可以向左调整该第一DQS的时序。
其中,该第二步进长度可以等于相邻两个参考时刻的时间差,该第一步进长度可以大于该第二步进长度,且可以为该第二步进长度的整数倍。也即是,该第二步进长度可以等于对该参考时刻进行划分时的刻度单位,该第一步进长度可以为该刻度单位的若干倍。示例的,该第一步进长度可以为该第二步进长度的8倍。
步骤4075a、将调整后的该第一DQS的边沿所处的时刻的下一个参考时刻确定为该第一DQ的时序裕量的起始边界时刻。
存储控制器检测到基于当前的参考电压,以及调整后的该第一DQS解码得到的数据存在误码时,可以确定当前该第一DQS的边沿所处的时刻的下一个参考时刻(也即是调整前该第一DQS的边沿所处的时刻)为该多个参考时刻中,使得该解码得到的数据不存在误码的最小参考时刻,即该下一个参考时刻为该第一DQ的时序裕量的起始边界时刻。
示例的,参考图12,存储控制器可以先以第一步进长度K为单位向右粗调第一DQS的边沿所处的时刻,然后再以第二步进长度1为单位向左细调第一DQS的边沿所处的时刻,直至确定出使得DQ0至DQ7解码得到的数据均不存在误码的最小参考时刻。
图13是本申请实施例提供的一种确定第一DQ的时序裕量的结束边界时刻的方法流程图,参考图13,该方法可以包括:
步骤4071b、调整该第一DQS的边沿所处的时刻为该多个参考时刻中的第二目标参考时刻。
可选的,该第二目标参考时刻可以为该多个参考时刻中的第Y个参考时刻,Y为大于M/2的正整数。也即是,该第二目标参考时刻可以为该多个参考时刻中较大的参考时刻,例如可以为最大的参考时刻。该第二目标参考时刻即为初始的结束边界时刻。
示例的,假设NFI总线的数据传输速率为400Mbps,则DQS的周期为2.5ns,该2.5ns的周期可以划分为320个参考时刻,该第一目标参考时刻可以为第24个参考时刻,该第二目标参考时刻可以为第320个参考时刻,即参考时刻320。
步骤4072b、检测基于当前的参考电压,以及调整后的该第一DQS对该第一DQ进行解码得到的数据是否存在误码。
若存在误码,则存储控制器可以执行步骤4073b。若不存在误码,则存储控制器可以执行步骤4074b。
步骤4073b、以第一步进长度减小第一DQS的边沿所处的时刻。执行步骤4072b。
若存储控制器基于当前的参考电压,以及调整后的该第一DQS对该第一DQ进行解码得到的数据存在误码,则可以确定该第一DQS的边沿所处的时刻位于该第一DQ的时序裕量的范围之外,因此可以以第一步进长度为单位,减小该第一DQS的边沿所处的时刻,即可以向左调整该第一DQS的时序。之后,该存储控制器可以继续执行步骤4072b,也即是,存储控制器可以以第一步进长度为单位,逐步向左调整该第一DQS的时序,直至基于当前的参考电压,以及调整后的该第一DQS解码得到的数据不存在误码。
步骤4074b、以第二步进长度增大该第一DQS的边沿所处的时刻,直至基于当前的参考电压,以及调整后的该第一DQS解码得到的数据存在误码。
若存储控制器基于当前的参考电压,以及调整后的该第一DQS对该第一DQ进行解码得到的数据不存在误码,则可以确定该第一DQS的边沿所处的时刻位于该第一DQ的时序裕量的范围之内,因此可以以第二步进长度为单位,逐步增大该第一DQS的边沿所处的时刻,即可以向右调整该第一DQS的时序。
步骤4075b、将调整后的该第一DQS的边沿所处的时刻的上一个参考时刻确定为该第一DQ的结束边界时刻。
其中,该第二步进长度可以等于相邻两个参考时刻的时间差,该第一步进长度可以大于该第二步进长度,且可以为该第二步进长度的整数倍。
示例的,参考图14,存储控制器可以先以第一步进长度K为单位,向左粗调两次第一DQS的边沿所处的时刻,使得该第一DQS的边沿所处的时刻位于第一DQ的时序裕量的范围之内。然后再以第二步进长度1为单位向右细调第一DQS的边沿所处的时刻,直至确定出使得DQ0至DQ7解码得到的数据均不存在误码的最大参考时刻。
根据上述确定初始边界时刻和结束边界时刻的流程可知,若基于当前的参考电压,以及调整后的该第一DQS对该第一DQ进行解码得到的数据存在误码,则存储控制器可以采用第一步进长度对第一DQS的时序进行粗调,直至该第一DQS的边沿所处的时刻处于第一DQ的时序裕量的范围内。之后,可以再以第二步进长度对第一DQS的时序进行细调,从而精准确定该第一DQ的时序裕量的起始边界时刻和结束边界时刻。上述调整方式可以有效提高确定时序裕量的边界时刻的效率。
图15是本申请实施例提供的一种确定第一DQ的时序裕量的起始边界时刻的算法流程图。该算法以第一目标参考时刻为a,第二目标参考时刻为b,第一步进长度为K,且第二步进长度为1为例进行说明。参考图15,该算法可以包括:
步骤4071c、将第一DQS的边沿所处的时刻dly调整为第一目标参考时刻a,并将标志位F的初始值设置为0。执行步骤4072c。
该标志位F可以用于指示该第一DQS的边沿所处的时刻dly在调整前是否位于该第一DQ的时序裕量的范围内。其中,F=0表示该第一DQS的边沿所处的时刻dly在调整前未位于该第一DQ的时序裕量的范围内;F=1表示该第一DQS的边沿所处的时刻dly在调整前位于该第一DQ的时序裕量的范围内。
示例的,假设a=24,则存储控制器可以调整第一DQS的时序,使其边沿与参考时刻24对齐,也即是,使得dly=a=24。
步骤4072c、基于当前的参考电压,以及调整后的第一DQS对第一DQ进行采样。执行步骤4073c。
步骤4073c、检测对第一DQ进行解码得到的数据是否存在误码。
存储控制器对第一DQ进行采样得到采样电压后,可以将参考电源端VREF当前提供的电压作为判决电平对该采样电压进行判决,从而解码得到该第一DQ所携带的数据。
若存储控制器检测到该解码得到的数据存在误码,则可以确定当前该第一DQS的边沿所处的时刻dly不位于该第一DQ的时序裕量的范围内,因此可以继续判断该第一DQS的边沿所处的时刻dly在调整前是否位于该第一DQ的时序裕量的范围内,即执行步骤4074c。
若存储控制器检测到该解码得到的数据不存在误码,则可以确定当前该第一DQS的边沿所处的时刻dly位于该第一DQ的时序裕量的范围内,因此可以对该第一DQS的时序进行进一步的细调,即执行步骤4077c。
步骤4074c、检测标志位F是否等于1。若F不等于1,则执行步骤4075c,若F=1,则执行步骤4079c。
步骤4075c、将第一DQS的边沿所处的时刻dly调整为dly+K。执行步骤4076c。
若在上述步骤4074c中,存储控制器检测到F不等于1,则可以确定当前该第一DQS的边沿所处的时刻dly不位于该第一DQ的时序裕量的范围内,且在调整之前也不位于该第一DQ的时序裕量的范围内,因此可以先以第一步进长度K为单位对该第一DQS的边沿所处的时刻进行粗调。
示例的,假设K=8,且第一DQS的边沿所处的时刻dly=24时,对第一DQ进行采样得到的采用数据存在误码,则存储控制器可以向右粗调第一DQS的时序,使其边沿所处的时刻dly更新为:dly=24+8=32。
步骤4076c、检测调整后的第一DQS的边沿所处的时刻dly是否大于参考时刻集合中的最大参考时刻c。
若dly>c,则存储控制器可以确定该调整后的第一DQS的边沿所处的时刻dly超出了预设的参考时刻集合,即该第一步进长度K设置的过大,此时存储控制器可以报错(Error),并可以重新调整第一步进长度K。
若dly≤c,则存储控制器可以继续执行上述步骤4072c,即基于当前的参考电压,以及调整后的第一DQS继续对第一DQ进行采样,并判断解码得到的数据是否存在误码。
示例的,假设c=320,则由于更新后的dly=32,小于该最大参考时刻c,则存储控制器可以继续执行步骤4072c。若第一步进长度K=300,则由于更新后的dly=24+300=324,大于该最大参考时刻c,则存储控制器可以报错。
步骤4077c、将标志位F更新为1。执行步骤4078c。
若在上述步骤4073c中,存储控制器检测到解码得到的数据不存在误码,则可以确定当前第一DQS的边沿所处的时刻dly位于该第一DQ的时序裕量的范围内,因此可以将标志位F更新为1。
步骤4078c、将第一DQS的边沿所处的时刻dly调整为dly-1。执行步骤4072c。
存储控制器确定当前第一DQS的边沿所处的时刻dly位于该第一DQ的时序裕量的范围内之后,即可以第二步进长度1为单位,对该第一DQS的边沿所处的时刻dly进行细调。之后,再继续执行步骤4072c。
示例的,假设在第一DQS的边沿所处的时刻dly=32时对第一DQ进行解码得到的数据不存在误码,则存储控制器可以确定该第一DQ的左边界位于24和32之间,因此可以将F更新为1,并继续以第一步进长度1向左细调该第一DQS的边沿所处的时刻。
步骤4079c、确定第一DQ的时序裕量的起始边界时刻L_dly=dly+1。
在上述步骤4074c中,若存储控制器确定该标志位F等于1,则可以确定当前该第一DQS的边沿所处的时刻dly不位于该第一DQ的时序裕量的范围内,且该第一DQS的边沿所处的时刻dly在调整之前位于该第一DQ的时序裕量的范围,进而可以确定在调整之前该第一DQS的边沿所处的时刻dly即为起始边界时刻。由此,可以将该起始边界时刻L_dly确定为:L_dly=dly+1。
示例的,假设存储控制器将上述步骤4072c、4073c、4077c和4078c重复执行多次后,将第一DQS的边沿所处的时刻dly以第二步进长度1为单位逐步调整为dly=28。若此时检测到对第一DQ进行解码得到的数据存在误码,则由于当前标志位F=1,因此存储控制器可以确定该第一DQS的边沿所处的时刻dly在调整之前(即dly=29时)位于该第一DQ的时序裕量的范围内,进而可以确定该第一DQS的边沿所处的时刻dly在调整之前即为第一DQ的时序裕量的起始边界时刻L_dly,也即是可以确定L_dly=28+1=29。
图16是本申请实施例提供的一种确定第一DQ的时序裕量的结束边界时刻的算法流程图。该算法以第一目标参考时刻为a,第二目标参考时刻为b,第一步进长度为K,且第二步进长度为1为例进行说明。参考图16,该算法可以包括:
步骤4071d、将第一DQS的边沿所处的时刻dly调整为第二目标参考时刻b,并将标志位F的初始值设置为0。执行步骤4072d。
该标志位F可以用于指示该第一DQS的边沿所处的时刻dly在调整前是否位于该第一DQ的时序裕量的范围内。其中,F=0表示该第一DQS的边沿所处的时刻dly在调整前未位于该第一DQ的时序裕量的范围内;F=1表示该第一DQS的边沿所处的时刻dly在调整前位于该第一DQ的时序裕量的范围内。
示例的,假设b=320,则存储控制器可以调整第一DQS的时序,使其边沿与参考时刻320对齐,也即是,使得dly=b=320。
步骤4072d、基于当前的参考电压,以及调整后的第一DQS对第一DQ进行采样。执行步骤4073d。
步骤4073d、检测对第一DQ进行解码得到的数据是否存在误码。
存储控制器对第一DQ进行采样得到采样电压后,可以将参考电源端VREF提供的电压作为判决电平对该采样电压仅判决,从而解码得到该第一DQ所携带的数据。
若存储控制器检测到该解码得到的数据存在误码,则可以确定当前该第一DQS的边沿所处的时刻dly不位于该第一DQ的时序裕量的范围内,因此可以继续判断该第一DQS的边沿所处的时刻dly在调整前是否位于该第一DQ的时序裕量的范围内,即执行步骤4074d。
若存储控制器检测到该解码得到的数据不存在误码,则可以确定当前该第一DQS的边沿所处的时刻dly位于该第一DQ的时序裕量的范围内,因此可以对该第一DQS的时序进行进一步的细调,即执行步骤4077d。
步骤4074d、检测标志位F是否等于1。若F不等于1,则执行步骤4075d,若F=1,则执行步骤4079d。
步骤4075d、将第一DQS的边沿所处的时刻dly调整为dly-K。执行步骤4076d。
若在上述步骤4074d中,存储控制器检测到F不等于1,则可以确定当前该第一DQS的边沿所处的时刻dly不位于该第一DQ的时序裕量的范围内,且在调整之前也不位于该第一DQ的时序裕量的范围内,因此可以先以第一步进长度K为单位对该第一DQS的边沿所处的时刻进行粗调。
示例的,假设K=8,且第一DQS的边沿所处的时刻dly=320时,对第一DQ进行采样得到的采用数据存在误码,则存储控制器可以向左粗调第一DQS的时序,使其边沿所处的时刻dly更新为:dly=320-8=312。
步骤4076d、检测调整后的第一DQS的边沿所处的时刻dly是否小于参考时刻集合中的最小参考时刻d。
若dly<d,则存储控制器可以确定该调整后的第一DQS的边沿所处的时刻dly超出了预设的参考时刻集合,即该第一步进长度K设置的过大,此时存储控制器可以报错(Error),并可以重新调整第一步进长度K。
若dly≥d,则存储控制器可以继续执行上述步骤4072d,即基于当前的参考电压,以及调整后的第一DQS继续对第一DQ进行采样,并判断解码得到的数据是否存在误码。
示例的,假设d=20,则由于更新后的dly=312,大于该最小参考时刻d,则存储控制器可以继续执行步骤4072d。若第一步进长度K=310,则由于更新后的dly=320-310=10,小于该最小参考时刻d,则存储控制器可以报错。
步骤4077d、将标志位F更新为1。执行步骤4078d。
若在上述步骤4073d中,存储控制器检测到解码得到的数据不存在误码,则可以确定当前第一DQS的边沿所处的时刻dly位于该第一DQ的时序裕量的范围内,因此可以将标志位F更新为1。
步骤4078d、将第一DQS的边沿所处的时刻dly调整为dly+1。执行步骤4072d。
存储控制器确定当前第一DQS的边沿所处的时刻dly位于该第一DQ的时序裕量的范围内之后,即可以第二步进长度1为单位,对该第一DQS的边沿所处的时刻dly进行细调。之后,再继续执行步骤4072d。
示例的,假设存储控制器通过两次执行步骤4075b将第一DQS的边沿所处的时刻dly调整为dly=304后,对第一DQ进行解码得到的数据不存在误码,则存储控制器可以确定该第一DQ的左边界位于304和312之间,因此可以将F更新为1,并继续以第一步进长度1向右细调该第一DQS的边沿所处的时刻。
步骤4079d、确定第一DQ的时序裕量的结束边界时刻L_dly=dly-1。
在上述步骤4074d中,若存储控制器确定该标志位F等于1,则可以确定当前该第一DQS的边沿所处的时刻dly不位于该第一DQ的时序裕量的范围内,且该第一DQS的边沿所处的时刻dly在调整之前位于该第一DQ的时序裕量的范围,进而可以确定在调整之前该第一DQS的边沿所处的时刻dly即为结束边界时刻。由此,可以将该结束边界时刻L_dly确定为:L_dly=dly-1。
示例的,假设存储控制器将上述步骤4072d、4073d、4077d和4078d重复执行多次后,将第一DQS的边沿所处的时刻dly以第二步进长度1为单位逐步调整为dly=308。若此时检测到对第一DQ进行解码得到的数据存在误码,则由于当前标志位F=1,因此存储控制器可以确定该第一DQS的边沿所处的时刻dly在调整之前(即dly=307时)位于该第一DQ的时序裕量的范围内,进而可以确定该第一DQS的边沿所处的时刻dly在调整之前即为第一DQ的时序裕量的结束边界时刻L_dly,也即是可以确定L_dly=308-1=307。
需要说明的是,存储控制器在通过上述步骤407所示的方法完成对读方向的第一DQ的时序裕量的检测后,可以基于该第一DQ的时序裕量,对存储设备的相关参数进行校准,以确保读方向的DQ的时序裕量能够确保数据的正确解码,即确保存储控制器能够正确读取数据。
还需要说明的是,若存储控制器在确定DQ的裕量的过程中,先将DQS的边沿所处的时刻固定为一个参考时刻,再对该参考时刻下的DQ的电压裕量进行检测,则在确定该电压裕量的起始边界电压时,也可以参考上述步骤4071a至步骤4075a所示的方法,或者步骤4071c至步骤4079c所示的方法进行确定。在确定电压裕量的结束边界电压时,也可以参考上述步骤4071b至步骤4075b所示的方法,或者步骤4071d至步骤4079d所示的方法进行确定。本申请实施例对此不再赘述。
步骤408、按照第二目标速率向存储介质中写入第二测试数据。
在完成对读方向的第一DQ的时序裕量的检测后,存储控制器可以继续对写方向的DQ的时序裕量进行检测。在本申请实施例中,存储控制器可以先确定当前NFI总线正常工作时的数据传输速率,然后可以将该正常工作时的数据传输速率作为第二目标速率,向存储介质中写入第二测试数据。该第二测试数据也可以是存储控制器中预先存储的,且可以是开发人员自定义的数据。并且,该第二测试数据与第一测试数据可以相同,也可以不同。
步骤409、向存储介质发送针对该第二测试数据的读取指令。
步骤410、接收该存储介质传输的携带有该第二测试数据的第二DQ,以及第二DQS。
步骤411、在参考时刻集合包括的多个参考时刻的范围内,调整该第二DQS的边沿所处的时刻,并检测基于当前的参考电压,以及调整后的该第二DQS对第二DQ进行解码得到的数据是否存在误码,以从该多个参考时刻中分别确定该第二DQ的时序裕量的起始边界时刻和结束边界时刻。执行步骤402。
由于在上述步骤407之后,基于参数调整操作可以确保存储控制器读取到的训练数据的可靠性,因此存储控制器可以通过读取到的训练数据,检测写入的第二训练数据是否存在误码。也即是,存储控制器可以检测对第二DQ进行解码得到的数据是否存在误码,实现写方向的DQ的时序裕量检测。
上述步骤408至步骤411所示的对第二DQ的时序裕量的检测过程,可以参考上文步骤404至步骤407所示的对第一DQ的时序裕量的检测过程,此处不再赘述。
存储控制器在确定第二DQ的时序裕量之后,可以继续执行步骤402,即继续调整参考电源端VREF的电压,并继续检测第一DQ和第二DQ的时序裕量,直至将该参考电源端VREF的电压遍历该参考电压集合。存储控制器在将该参考电源端VREF的电压遍历该参考电压集合后,可以得到该参考电压集合中每个参考电压所对应的第一DQ(即读方向的DQ)的时序裕量,以及第二DQ(即写方向的DQ)的时序裕量。
步骤412、分别生成第一DQ的二维裕量示意图和第二DQ的二维裕量示意图。
其中,该二维裕量示意图的横轴可以用于指示DQS的边沿所处的时刻,纵轴可以用于指示参考电源端VREF的电压,示意图中的每个坐标处可以采用不同的图示表示该坐标处解码得到的数据是否存在误码。
示例的,假设参考电压集合包括的35个参考电压:V1至V35,则存储控制器生成的第一DQ的二维裕量示意图可以如图17所示。该示意图中采用“*”表示解码得到的数据不存在误码,采用“-”表示解码得到的数据存在误码。参考图17可以看出,参考电源端VREF的电压为参考电压V19时,第一DQ的时序裕量的范围最大。
需要说明的是,由于存储控制器01可以通过多条NFI总线03与多个存储介质02连接,因此在上述步骤401中,存储控制器01可以分别对每条NFI总线03及其连接的存储介质02的物理参数进行检测,并对满足检测触发条件的存储介质02进行检测。其他不满足检测触发条件的存储介质02则可以正常读写,以确保业务不中断。
还需要说明的是,本申请实施例提供的DQ的裕量检测方法的步骤的先后顺序可以进行适当调整,步骤也可以根据情况进行相应增减。例如,步骤412可以根据情况删除。或者,步骤408至步骤411可以在步骤412之后执行。也即是,可以先生成第一DQ的二维裕量示意图,然后再执行步骤402、步骤403以及步骤408至步骤412,以生成第二DQ的二维裕量示意图。又或者,若仅对第一DQ的二维裕量进行检测,则步骤404也可以在步骤402之前执行;同理,若仅对第二DQ的二维裕量进行检测,则步骤408也可以在步骤402之前执行。任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本申请的保护范围之内,因此不再赘述。
综上所述,本申请实施例提供了一种数据信号的裕量检测方法,DQ的接收端可以通过调整参考电源端的电压,以及DQS的时序,实现对DQ的时序裕量以及电压裕量的自动检测。由于该检测过程无需外接其他检测设备,也无需人工调整参数,因此有效提高了检测的效率,缩减了检测成本。并且,由于该时序裕量和电压裕量是由存储控制器基于实际解码得到的数据是否存在误码确定的,因此可以确保检测结果的可靠性。
图18是本申请实施例提供的一种数据信号的裕量检测装置的结构框图,该装置可以配置于存储设备中数据信号的接收端中。例如,参考图1,可以配置于该存储控制器01中。如图18所示,该装置可以包括:检测模块501,该检测模块501可以用于实现上述方法实施例中步骤101至步骤103所示的方法。
图19是本申请实施例提供的一种检测模块的结构示意图,如图19所示,该检测模块501可以包括:
第一调整子模块5011,可以用于实现上述方法实施例中步骤201或者步骤402所示的方法。
第一确定子模块5012,可以用于实现上述方法实施例中步骤204和步骤206,或者步骤407和步骤411所示的方法。
第一检测子模块5013,用于指示该第一调整子模块5011和第一确定子模块5012重复执行上述调整电压和确定时序裕量的操作,直至该参考电源端的电压遍历参考电压集合。该第一检测子模块5013的功能实现可以参考上述方法实施例中步骤202或者步骤403的相关描述。
可选的,该第一确定子模块5012,可以用于实现上述方法实施例中步骤4071a至步骤4075a所示的方法,步骤4071b至步骤4075b所示的方法,步骤4071c至步骤4079c所示的方法,以及步骤4071d至步骤4079d所示的方法。
图20是本申请实施例提供的另一种检测模块的结构示意图,如图20所示,该检测模块501可以包括:
第二调整子模块5014,用于调整该存储介质传输的数据锁存信号的边沿所处的时刻为该多个参考时刻中的一个参考时刻。该第二调整子模块5014的功能实现可以参考上述方法实施例中步骤302和步骤308中的相关描述。
第二确定子模块5015,用于在该参考电压集合包括的多个参考电压的范围内,调整该参考电源端的电压,并检测基于当前的参考时刻,以及调整后的该参考电源端的电压对该存储介质传输的数据信号进行解码得到的数据是否存在误码,得到该数据信号的电压裕量的起始边界电压和结束边界电压。
其中,该起始边界电压为该多个参考电压中,使得该解码得到的数据不存在误码的最小参考电压,该结束边界电压为该多个参考电压中,使得该解码得到的数据不存在误码的最大参考电压。
该第二确定子模块5015的功能实现可以参考上述方法实施例中步骤304和步骤310中的相关描述。
第二检测子模块5016,用于指示该第二调整子模块5014和该第二确定子模块5015重复执行上调整时刻和确定电压裕量的操作,直至该数据锁存信号的边沿所处的时刻遍历该参考时刻集合。
该第二检测子模块5016的功能实现可以参考上述方法实施例中步骤303和步骤309中的相关描述。
可选的,该接收端可以为存储控制器,该发送端可以为存储介质,该存储控制器通过接口总线与存储介质连接。参考图18,该装置还可以包括:
写入模块502,可以用于实现上述方法实施例中步骤203和步骤205,或者步骤301和步骤307,或者步骤404和步骤408所示的方法。
发送模块503,可以用于实现上述方法实施例中步骤405和步骤409所示的方法。
接收模块504,可以用于实现上述方法实施例中步骤406和步骤410所示的方法。
可选的,该检测模块501的功能实现还可以参考上述方法实施例中步骤401中的相关描述。
综上所述,本申请实施例提供了一种数据信号的裕量检测装置,该装置可以通过调整参考电源端的电压,以及DQS的时序,实现对DQ的时序裕量以及电压裕量的自动检测。由于该检测过程无需外接其他检测设备,也无需人工调整参数,因此有效提高了检测的效率,缩减了检测成本。并且,由于该时序裕量和电压裕量是由存储控制器基于实际解码得到的数据是否存在误码确定的,因此可以确保检测结果的可靠性。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
应理解的是,本申请实施例的数据信号的裕量检测装置还可以用专用集成电路(application-specific integrated circuit,ASIC)实现,或可编程逻辑器件(programmable logic device,PLD)实现,上述PLD可以是复杂程序逻辑器件(complexprogrammable logical device,CPLD),现场可编程门阵列(field-programmable gatearray,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。也可以通过软件实现上述方法实施例提供的DQ的裕量检测方法,当通过软件实现上述方法实施例提供的DQ的裕量检测方法时,该数据信号的裕量检测装置中的各个模块也可以为软件模块。
图21是本申请实施例提供的另一种数据信号的裕量检测装置的结构框图,参考图21,该装置可以包括:处理器1201、存储器1202、接口1203和总线1204。其中,总线1204用于连接处理器1201、存储器1202和接口1203。通过接口1203(可以是有线或者无线)可以实现与其他器件之间的通信连接。存储器1202中存储有计算机程序12021,该计算机程序12021用于实现各种应用功能。
应理解,在本申请实施例中,处理器1201可以是CPU,该处理器1201还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、GPU或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。
存储器1202可以是非易失性存储器。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。
总线1204除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线1204。
处理器1201被配置为执行存储器1202中存储的计算机程序,处理器1201通过执行该计算机程序12021来实现上述方法实施例中的步骤。
本申请实施例还提供了一种芯片,该芯片可以包括:可编程逻辑电路和/或程序指令,当该芯片运行时用于实现如上述方法实施例所提供的DQ的裕量检测方法。
本申请实施例还提供了一种包含指令的计算机程序产品,当该计算机程序产品在处理器上运行时,使得处理器执行上述方法实施例中的步骤。
本申请实施例还提供了一种存储设备,如图1所示,该存储设备可以包括存储控制器01,以及一个或多个存储介质02。每个存储介质02的IO接口021可以通过一条NFI总线03与该存储控制器01的一个IO接口011连接,并且该存储控制器01的参考电源端VREF可以与每个存储介质02连接。
其中,该存储控制器01和/或该存储介质02可以包括上述实施例提供的DQ的裕量检测装置,或者可以为上述实施例提供的芯片。
需要说明的是,在本申请实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (21)

1.一种数据信号的裕量检测方法,其特征在于,应用于数据信号的接收端,所述接收端为存储控制器;所述方法包括:
基于参考电压集合包括的多个参考电压,调整参考电源端的电压;
基于参考时刻集合包括的多个参考时刻,调整所述数据信号的发送端传输的数据锁存信号的边沿所处的时刻,所述发送端为存储介质,所述存储控制器通过接口总线与所述存储介质连接,所述多个参考时刻是所述接收端将检测的所述数据锁存信号的周期进行划分得到的,且所述数据锁存信号的周期由所述接口总线的数据传输速率决定;
对于每个所述参考电压,以及每个所述参考时刻,确定在所述参考电源端的电压为所述参考电压,且所述数据锁存信号的边沿所处的时刻为所述参考时刻时,对所述数据信号进行解码得到的数据是否存在误码,得到所述数据信号在每个所述参考电压下的时序裕量,以及在每个所述参考时刻下的电压裕量;
其中,所述时序裕量为所述多个参考时刻中,使得所述解码得到的数据不存在误码的参考时刻的范围,所述电压裕量为所述多个参考电压中,使得所述解码得到的数据不存在误码的参考电压的范围。
2.根据权利要求1所述的方法,其特征在于,所述接收端包括:寄存器和分压电路,所述分压电路的控制端与所述寄存器连接,所述分压电路的输出端与所述参考电源端连接;所述调整参考电源端的电压,包括:
调整所述寄存器的值,以调整所述分压电路的输出电压。
3.根据权利要求1或2所述的方法,其特征在于,所述接收端包括:延迟线,所述延迟线分别与用于锁存所述数据锁存信号的锁存器以及所述接收端的输入输出接口连接;所述调整所述数据信号的发送端传输的数据锁存信号的边沿所处的时刻,包括:
调整所述延迟线的参数,以调整所述数据信号的发送端传输的数据锁存信号的边沿所处的时刻。
4.根据权利要求1或2所述的方法,其特征在于,所述基于参考电压集合包括的多个参考电压,调整参考电源端的电压;基于参考时刻集合包括的多个参考时刻,调整所述数据信号的发送端传输的数据锁存信号的边沿所处的时刻;对于每个所述参考电压,以及每个所述参考时刻,确定在所述参考电源端的电压为所述参考电压,且所述数据锁存信号的边沿所处的时刻为所述参考时刻时,对所述数据信号进行解码得到的数据是否存在误码,得到所述数据信号在每个所述参考电压下的时序裕量,以及在每个所述参考时刻下的电压裕量,包括:
调整参考电源端的电压为所述参考电压集合中的一个参考电压;
在所述参考时刻集合包括的多个参考时刻的范围内,调整所述数据信号的发送端传输的数据锁存信号的边沿所处的时刻,并检测基于当前的参考电压,以及调整后的所述数据锁存信号对所述数据信号进行解码得到的数据是否存在误码,以从所述多个参考时刻中分别确定所述数据信号的时序裕量的起始边界时刻和结束边界时刻;
重复上述调整电压和确定时序裕量的操作,直至所述参考电源端的电压遍历所述参考电压集合;
其中,所述起始边界时刻为所述多个参考时刻中,使得所述解码得到的数据不存在误码的最小参考时刻,所述结束边界时刻为所述多个参考时刻中,使得所述解码得到的数据不存在误码的最大参考时刻。
5.根据权利要求4所述的方法,其特征在于,所述多个参考时刻按照递增的顺序排列,在所述参考时刻集合包括的多个参考时刻的范围内,调整所述数据信号的发送端传输的数据锁存信号的边沿所处的时刻,并检测基于当前的参考电压,以及调整后的所述数据锁存信号对所述数据信号进行解码得到的数据是否存在误码,以从所述多个参考时刻中确定所述数据信号的时序裕量的起始边界时刻,包括:
调整所述数据信号的发送端传输的数据锁存信号的边沿所处的时刻为所述多个参考时刻中的第一目标参考时刻,所述第一目标参考时刻为所述多个参考时刻中的第X个参考时刻,所述X为小于M/2的正整数,所述M为所述参考时刻集合包括的参考时刻的总数;
检测基于当前的参考电压,以及调整后的所述数据锁存信号对所述数据信号进行解码得到的数据是否存在误码;
若存在误码,则以第一步进长度增加所述数据锁存信号的边沿所处的时刻,直至基于当前的参考电压,以及调整后的所述数据锁存信号解码得到的数据不存在误码;
以第二步进长度减小所述数据锁存信号的边沿所处的时刻,直至基于当前的参考电压,以及调整后的所述数据锁存信号解码得到的数据存在误码;
将调整后的所述数据锁存信号的边沿所处的时刻的下一个参考时刻确定为所述数据信号的时序裕量的起始边界时刻;
其中,所述第二步进长度等于相邻两个所述参考时刻的时间差,所述第一步进长度大于所述第二步进长度,且为所述第二步进长度的整数倍。
6.根据权利要求4所述的方法,其特征在于,所述多个参考时刻按照递增的顺序排列,在所述参考时刻集合包括的多个参考时刻的范围内,调整所述数据信号的发送端传输的数据锁存信号的边沿所处的时刻,并检测基于当前的参考电压,以及调整后的所述数据锁存信号对所述数据信号进行解码得到的数据是否存在误码,以从所述多个参考时刻中确定所述数据信号的时序裕量的结束边界时刻,包括:
调整所述数据信号的发送端传输的数据锁存信号的边沿所处的时刻为所述多个参考时刻中的第二目标参考时刻,所述第二目标参考时刻为所述多个参考时刻中的第Y个参考时刻,所述Y为大于M/2的正整数,所述M为所述参考时刻集合包括的参考时刻的总数;
检测基于当前的参考电压,以及调整后的所述数据锁存信号对所述数据信号进行解码得到的数据是否存在误码;
若存在误码,则以第一步进长度减小所述数据锁存信号的边沿所处的时刻,直至基于当前的参考电压,以及调整后的所述数据锁存信号解码得到的数据不存在误码;
以第二步进长度增大所述数据锁存信号的边沿所处的时刻,直至基于当前的参考电压,以及调整后的所述数据锁存信号解码得到的数据存在误码;
将调整后的所述数据锁存信号的边沿所处的时刻的上一个参考时刻确定为所述数据信号的时序裕量的结束边界时刻;
其中,所述第二步进长度等于相邻两个所述参考时刻的时间差,所述第一步进长度大于所述第二步进长度,且为所述第二步进长度的整数倍。
7.根据权利要求1或2所述的方法,其特征在于,所述基于参考电压集合包括的多个参考电压,调整参考电源端的电压;基于参考时刻集合包括的多个参考时刻,调整所述数据信号的发送端传输的数据锁存信号的边沿所处的时刻;对于每个所述参考电压,以及每个所述参考时刻,确定在所述参考电源端的电压为所述参考电压,且所述数据锁存信号的边沿所处的时刻为所述参考时刻时,对所述数据信号进行解码得到的数据是否存在误码,得到所述数据信号在每个所述参考电压下的时序裕量,以及在每个所述参考时刻下的电压裕量,包括:
调整所述数据信号的发送端传输的数据锁存信号的边沿所处的时刻为所述多个参考时刻中的一个参考时刻;
在所述参考电压集合包括的多个参考电压的范围内,调整参考电源端的电压,并检测基于当前的参考时刻,以及调整后的所述参考电源端的电压对所述数据信号进行解码得到的数据是否存在误码,以从所述多个参考电压中分别确定所述数据信号的电压裕量的起始边界电压和结束边界电压;
重复上述调整时刻和确定电压裕量的操作,直至所述数据锁存信号的边沿所处的时刻遍历所述参考时刻集合;
其中,所述起始边界电压为所述多个参考电压中,使得所述解码得到的数据不存在误码的最小参考电压,所述结束边界电压为所述多个参考电压中,使得所述解码得到的数据不存在误码的最大参考电压。
8.根据权利要求1或2所述的方法,其特征在于,在调整所述数据信号的发送端传输的数据锁存信号的边沿所处的时刻之前,所述方法还包括:
按照目标速率向所述存储介质中写入测试数据;
向所述存储介质发送针对所述测试数据的读取指令;
接收所述存储介质传输的携带有所述测试数据的所述数据信号,以及所述数据锁存信号;
其中,所述目标速率为所述接口总线的工作速率,或者为所述接口总线的工作模式所对应的总线速率范围的下限速率。
9.根据权利要求1或2所述的方法,其特征在于,所述基于参考电压集合包括的多个参考电压,调整参考电源端的电压,包括:
响应于检测指令,基于参考电压集合包括的多个参考电压,调整参考电源端的电压;
或者,若检测到存储设备的物理参数满足检测触发条件,基于参考电压集合包括的多个参考电压,调整参考电源端的电压。
10.一种数据信号的裕量检测装置,其特征在于,应用于数据信号的接收端,所述接收端为存储控制器;所述装置包括:检测模块;所述检测模块,用于:
基于参考电压集合包括的多个参考电压,调整参考电源端的电压;
基于参考时刻集合包括的多个参考时刻,调整所述数据信号的发送端传输的数据锁存信号的边沿所处的时刻,所述发送端为存储介质,所述存储控制器通过接口总线与所述存储介质连接,所述多个参考时刻是所述接收端将检测的所述数据锁存信号的周期进行划分得到的,且所述数据锁存信号的周期由所述接口总线的数据传输速率决定;
对于每个所述参考电压,以及每个所述参考时刻,确定在所述参考电源端的电压为所述参考电压,且所述数据锁存信号的边沿所处的时刻为所述参考时刻时,对所述传输的数据信号进行解码得到的数据是否存在误码,得到所述数据信号在每个所述参考电压下的时序裕量,以及在每个所述参考时刻下的电压裕量;
其中,所述时序裕量为所述多个参考时刻中,使得所述解码得到的数据不存在误码的参考时刻的范围,所述电压裕量为所述多个参考电压中,使得所述解码得到的数据不存在误码的参考电压的范围。
11.根据权利要求10所述的装置,其特征在于,所述接收端包括:寄存器和分压电路,所述分压电路的控制端与所述寄存器连接,所述分压电路的输出端与所述参考电源端连接;所述检测模块,用于:
调整所述寄存器的值,以调整所述分压电路的输出电压。
12.根据权利要求10或11所述的装置,其特征在于,所述接收端包括:延迟线,所述延迟线分别与用于锁存所述数据锁存信号的锁存器以及所述接收端的输入输出接口连接;所述检测模块,用于:
调整所述延迟线的参数,以调整所述数据信号的发送端传输的数据锁存信号的边沿所处的时刻。
13.根据权利要求10或11所述的装置,其特征在于,所述检测模块,包括:
第一调整子模块,用于调整参考电源端的电压为所述参考电压集合中的一个参考电压;
第一确定子模块,用于在所述参考时刻集合包括的多个参考时刻的范围内,调整所述数据信号的发送端传输的数据锁存信号的边沿所处的时刻,并检测基于当前的参考电压,以及调整后的所述数据锁存信号对所述数据信号进行解码得到的数据是否存在误码,以从所述多个参考时刻中分别确定所述数据信号的时序裕量的起始边界时刻和结束边界时刻;
第一检测子模块,用于指示所述第一调整子模块和所述第一确定子模块重复执行上述调整电压和确定时序裕量的操作,直至所述参考电源端的电压遍历所述参考电压集合;
其中,所述起始边界时刻为所述多个参考时刻中,使得所述解码得到的数据不存在误码的最小参考时刻,所述结束边界时刻为所述多个参考时刻中,使得所述解码得到的数据不存在误码的最大参考时刻。
14.根据权利要求13所述的装置,其特征在于,所述多个参考时刻按照递增的顺序排列,所述第一确定子模块,用于:
调整所述数据信号的发送端传输的数据锁存信号的边沿所处的时刻为所述多个参考时刻中的第一目标参考时刻,所述第一目标参考时刻为所述多个参考时刻中的第X个参考时刻,所述X为小于M/2的正整数,所述M为所述参考时刻集合包括的参考时刻的总数;
检测基于当前的参考电压,以及调整后的所述数据锁存信号对所述数据信号进行解码得到的数据是否存在误码;
若存在误码,则以第一步进长度增加所述数据锁存信号的边沿所处的时刻,直至基于当前的参考电压,以及调整后的所述数据锁存信号解码得到的数据不存在误码;
以第二步进长度减小所述数据锁存信号的边沿所处的时刻,直至基于当前的参考电压,以及调整后的所述数据锁存信号解码得到的数据存在误码;
将调整后的所述数据锁存信号的边沿所处的时刻的下一个参考时刻确定为所述数据信号的时序裕量的起始边界时刻;
其中,所述第二步进长度等于相邻两个所述参考时刻的时间差,所述第一步进长度大于所述第二步进长度,且为所述第二步进长度的整数倍。
15.根据权利要求13所述的装置,其特征在于,所述多个参考时刻按照递增的顺序排列,所述第一确定子模块,用于:
调整所述数据信号的发送端传输的数据锁存信号的边沿所处的时刻为所述多个参考时刻中的第二目标参考时刻,所述第二目标参考时刻为所述多个参考时刻中的第Y个参考时刻,所述Y为大于M/2的正整数,所述M为所述参考时刻集合包括的参考时刻的总数;
检测基于当前的参考电压,以及调整后的所述数据锁存信号对所述数据信号进行解码得到的数据是否存在误码;
若存在误码,则以第一步进长度减小所述数据锁存信号的边沿所处的时刻,直至基于当前的参考电压,以及调整后的所述数据锁存信号解码得到的数据不存在误码;
以第二步进长度增大所述数据锁存信号的边沿所处的时刻,直至基于当前的参考电压,以及调整后的所述数据锁存信号解码得到的数据存在误码;
将调整后的所述数据锁存信号的边沿所处的时刻的上一个参考时刻确定为所述数据信号的时序裕量的结束边界时刻;
其中,所述第二步进长度等于相邻两个所述参考时刻的时间差,所述第一步进长度大于所述第二步进长度,且为所述第二步进长度的整数倍。
16.根据权利要求10或11所述的装置,其特征在于,所述检测模块,包括:
第二调整子模块,用于调整所述数据信号的发送端传输的数据锁存信号的边沿所处的时刻为所述多个参考时刻中的一个参考时刻;
第二确定子模块,用于在所述参考电压集合包括的多个参考电压的范围内,调整所述参考电源端的电压,并检测基于当前的参考时刻,以及调整后的所述参考电源端的电压对所述数据信号进行解码得到的数据是否存在误码,以从所述多个参考电压中分别确定所述数据信号的电压裕量的起始边界电压和结束边界电压;
第二检测子模块,用于指示所述第二调整子模块和所述第二确定子模块重复执行上调整时刻和确定电压裕量的操作,直至所述数据锁存信号的边沿所处的时刻遍历所述参考时刻集合;
其中,所述起始边界电压为所述多个参考电压中,使得所述解码得到的数据不存在误码的最小参考电压,所述结束边界电压为所述多个参考电压中,使得所述解码得到的数据不存在误码的最大参考电压。
17.根据权利要求10或11所述的装置,其特征在于,所述装置还包括:
写入模块,用于按照目标速率向所述存储介质中写入测试数据;
发送模块,用于向所述存储介质发送针对所述测试数据的读取指令;
接收模块,用于接收所述存储介质传输的携带有所述测试数据的所述数据信号,以及所述数据锁存信号;
其中,所述目标速率为所述接口总线的工作速率,或者为所述接口总线的工作模式所对应的总线速率范围的下限速率。
18.根据权利要求10或11所述的装置,其特征在于,所述检测模块,用于:
响应于检测指令,基于参考电压集合包括的多个参考电压,调整参考电源端的电压;
或者,若检测到存储设备的物理参数满足检测触发条件,基于参考电压集合包括的多个参考电压,调整参考电源端的电压。
19.一种非易失性存储介质,其特征在于,所述非易失性存储介质中存储有指令,当所述非易失性存储介质在处理器上运行时,使得处理器执行如权利要求1至9任一所述的数据信号的裕量检测方法。
20.一种芯片,其特征在于,所述芯片包括:可编程逻辑电路和/或程序指令,当所述芯片运行时用于实现如权利要求1至9任一所述的数据信号的裕量检测方法。
21.一种存储设备,其特征在于,所述存储设备包括:存储控制器以及存储介质,所述存储控制器通过接口总线与所述存储介质连接;
所述存储控制器和/或所述存储介质包括如权利要求10至18任一所述的装置;
或者,所述存储控制器和/或所述存储介质为如权利要求20所述的芯片。
CN201911128368.5A 2019-11-18 2019-11-18 数据信号的裕量检测方法、装置及存储设备 Active CN112820344B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201911128368.5A CN112820344B (zh) 2019-11-18 2019-11-18 数据信号的裕量检测方法、装置及存储设备
EP20890953.1A EP4053708A4 (en) 2019-11-18 2020-06-23 DATA SIGNAL MARGIN DETECTION METHOD AND APPARATUS AND STORAGE DEVICE
PCT/CN2020/097788 WO2021098210A1 (zh) 2019-11-18 2020-06-23 数据信号的裕量检测方法、装置及存储设备
US17/746,652 US20220276788A1 (en) 2019-11-18 2022-05-17 Method and apparatus for detecting margins of data signal and storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911128368.5A CN112820344B (zh) 2019-11-18 2019-11-18 数据信号的裕量检测方法、装置及存储设备

Publications (2)

Publication Number Publication Date
CN112820344A CN112820344A (zh) 2021-05-18
CN112820344B true CN112820344B (zh) 2023-04-18

Family

ID=75852522

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911128368.5A Active CN112820344B (zh) 2019-11-18 2019-11-18 数据信号的裕量检测方法、装置及存储设备

Country Status (4)

Country Link
US (1) US20220276788A1 (zh)
EP (1) EP4053708A4 (zh)
CN (1) CN112820344B (zh)
WO (1) WO2021098210A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113140250B (zh) * 2021-06-22 2021-09-21 北京智芯微电子科技有限公司 一种固态硬盘擦除方法、装置和固态硬盘
CN114397561B (zh) * 2022-03-24 2022-07-12 龙芯中科技术股份有限公司 时序错误检测电路、方法以及电子设备
CN114844603A (zh) * 2022-04-26 2022-08-02 长鑫存储技术有限公司 一种信号检测方法、装置及存储器

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105701042A (zh) * 2016-03-02 2016-06-22 珠海全志科技股份有限公司 内存控制接口信号质量的优化方法和系统
CN108646984A (zh) * 2018-05-16 2018-10-12 华为技术有限公司 一种dqs位置调整方法和装置
CN108763115A (zh) * 2018-04-03 2018-11-06 郑州云海信息技术有限公司 一种提升NandFlash总线时序裕量的方法
CN108922570A (zh) * 2018-07-13 2018-11-30 豪威科技(上海)有限公司 读dqs信号的相位偏移检测方法、训练方法、电路及系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7036053B2 (en) * 2002-12-19 2006-04-25 Intel Corporation Two dimensional data eye centering for source synchronous data transfers
US7688656B2 (en) * 2007-10-22 2010-03-30 Freescale Semiconductor, Inc. Integrated circuit memory having dynamically adjustable read margin and method therefor
US8456928B2 (en) * 2010-05-24 2013-06-04 International Business Machines Corporation Dynamic adjustment of reference voltage in a computer memory system
CN103941788B (zh) * 2014-04-24 2016-08-24 华为技术有限公司 芯片自适应电压调整器及方法
US9665289B1 (en) * 2015-12-04 2017-05-30 Inphi Corporation Eye scan for memory channel
US9715907B1 (en) * 2016-05-09 2017-07-25 Invecas, Inc. Optimal data eye for improved Vref margin
US10014899B2 (en) * 2016-07-15 2018-07-03 Texas Instruments Incorporated System and method for built-in self-test of electronic circuits
US10447512B2 (en) * 2017-08-07 2019-10-15 Micron Technology, Inc. Channel equalization for multi-level signaling
US10693686B2 (en) * 2018-08-30 2020-06-23 Christopher P. Maiorana DFE open loop training for DDR data buffer and registered clock driver
CN110223722B (zh) * 2019-07-05 2021-04-27 晶晨半导体(上海)股份有限公司 获取数据接口门限电压的方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105701042A (zh) * 2016-03-02 2016-06-22 珠海全志科技股份有限公司 内存控制接口信号质量的优化方法和系统
CN108763115A (zh) * 2018-04-03 2018-11-06 郑州云海信息技术有限公司 一种提升NandFlash总线时序裕量的方法
CN108646984A (zh) * 2018-05-16 2018-10-12 华为技术有限公司 一种dqs位置调整方法和装置
CN108922570A (zh) * 2018-07-13 2018-11-30 豪威科技(上海)有限公司 读dqs信号的相位偏移检测方法、训练方法、电路及系统

Also Published As

Publication number Publication date
WO2021098210A1 (zh) 2021-05-27
EP4053708A1 (en) 2022-09-07
CN112820344A (zh) 2021-05-18
EP4053708A4 (en) 2022-11-23
US20220276788A1 (en) 2022-09-01

Similar Documents

Publication Publication Date Title
CN112820344B (zh) 数据信号的裕量检测方法、装置及存储设备
CN108646984B (zh) 一种dqs位置调整方法和装置
US9811273B1 (en) System and method for reliable high-speed data transfer in multiple data rate nonvolatile memory
CN109493907B (zh) 非易失性存储设备的操作方法和存储器控制器的操作方法
US10496332B2 (en) Data path training and timing signal compensation for non-volatile memory device interface
US7852099B1 (en) Frequency trimming for internal oscillator for test-time reduction
US10326622B2 (en) Equalizer tuning method, signal receiving circuit and a memory storage device
TW200937202A (en) Memory system
US10324124B2 (en) Apparatus and method for testing pad capacitance
US9134750B2 (en) Embedded multimedia card (eMMC), eMMC system, and methods of operation
EP2359372A1 (en) Error detection method and a system including one or more memory devices
US20120173798A1 (en) Memory controller, memory device and method for determining type of memory device
WO2023116366A1 (zh) 一种闪存控制器、延迟调整方法及存储设备
CN113330685A (zh) 占空比调整方法、控制器芯片及闪存设备
US10749728B1 (en) Signal calibration circuit, memory storage device and signal calibration method
US6661717B1 (en) Dynamically centered setup-time and hold-time window
CN117608883A (zh) 原型验证中计算机系统启动故障的检测方法及系统
CN109284238B (zh) 增强eMMC接口稳定性的方法及系统
US11636902B2 (en) Signal modulation apparatus, memory storage apparatus, and signal modulation method
TWI525415B (zh) 參考頻率設定方法、記憶體控制器及記憶體儲存裝置
CN115565572A (zh) 信号校准方法、存储器存储装置及存储器控制电路单元
CN112634952A (zh) 存储器装置及其数据读取方法
CN113643733B (zh) 信号调制装置、存储器存储装置及信号调制方法
TWI842436B (zh) 時脈控制電路模組、記憶體儲存裝置及時脈控制方法
US11650898B2 (en) On-die logic analyzer

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