CN115509965A - 存储器控制器与链接识别方法 - Google Patents
存储器控制器与链接识别方法 Download PDFInfo
- Publication number
- CN115509965A CN115509965A CN202110757085.8A CN202110757085A CN115509965A CN 115509965 A CN115509965 A CN 115509965A CN 202110757085 A CN202110757085 A CN 202110757085A CN 115509965 A CN115509965 A CN 115509965A
- Authority
- CN
- China
- Prior art keywords
- link
- memory controller
- host interface
- target device
- microprocessor
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/2221—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test input/output devices or peripheral units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/2236—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2284—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by power-on test, e.g. power-on self test [POST]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/263—Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/263—Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
- G06F11/2635—Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers using a storage for the test inputs, e.g. test ROM, script files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/273—Tester hardware, i.e. output processing circuits
- G06F11/2733—Test interface between tester and unit under test
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Communication Control (AREA)
Abstract
本发明涉及一种存储器控制器与链接识别方法,耦接一存储器装置,用以控制存储器装置的存取操作,包括一主机接口以及一微处理器。微处理器耦接主机接口,用以于存储器控制器被供电后将一既定参数设定为一特殊数值,并且开始执行一链接建立流程,用以尝试透过主机接口建立一传输链接。既定参数为主机接口的多个能力参数之一者,并且既定参数与主机接口的接收相关。于链接建立流程完成后,微处理器还根据与传输链接相关联的多个属性参数之至少一者及特殊数值识别与主机接口建立传输链接的一目标装置。
Description
技术领域
本发明有关于一种适用于产品测试流程的链接识别方法及实施该链接识别方法的存储器控制器。
背景技术
随着数据储存装置的科技在近几年快速地成长,许多数据储存装置,如符合安全数位(Secure Digital,缩写为SD)/多媒体卡(Multi Media Card,缩写为MMC)规格、复合式快闪存储器(Compact flash,缩写为CF)规格、记忆条(Memory Stick,缩写为MS)规格与极数位(Extreme Digital,缩写为XD)规格的记忆卡、固态硬碟、嵌入式多媒体记忆卡(embedded Multi Media Card,缩写为eMMC)以及通用快闪存储器储存(Universal FlashStorage,缩写为UFS)已经广泛地被应用在多种用途上。因此,各领域对于数据储存装置的需求也大幅成长。
数据储存装置的供应商通常可为其客户提供测试服务。例如,客户端于将数据储存装置的芯片依其需求封装后,可再交由供应商对封装后的芯片进行测试。于测试流程中,待测试的芯片可能需于不同的测试阶段/测试站连接至不同的装置,或者待测试的芯片的传输接口可依照测试项目而有不同的连接方式。此外,待测试的芯片的传输接口于测试流程中因测试需求亦可能需与对应的接口建立链接。为了于测试流程中能正确地识别与待测试的芯片的传输接口建立链接的对象,以避免因链接识别错误而导致测试流程无法完成,需要一种有效的链接识别方法。
发明内容
本发明的一目的在于于测试流程中能正确地识别与待测试的芯片的传输接口建立链接的对象,以避免因链接识别错误而导致测试流程无法完成。
根据本发明的一实施例,一种存储器控制器,耦接一存储器装置,用以控制存储器装置的存取操作,包括一主机接口以及一微处理器。微处理器耦接主机接口,用以于存储器控制器被供电后将一既定参数设定为一特殊数值,并且开始执行一链接建立流程,用以尝试透过主机接口建立一传输链接。既定参数为主机接口的多个能力参数之一者,并且既定参数与主机接口的接收相关。于链接建立流程完成后,微处理器还根据与传输链接相关联的多个属性参数之至少一者及特殊数值识别与主机接口建立传输链接的一目标装置。
根据本发明的一实施例,一种链接识别方法,适用于一存储器控制器,存储器控制器耦接一存储器装置用以控制存储器装置的存取操作,链接识别方法包括:于存储器控制器被供电后将存储器控制器的一既定参数设定为一特殊数值,其中既定参数为存储器控制器的多个能力参数之一者,并且既定参数与存储器控制器的一主机接口的接收相关;执行一链接建立流程以尝试透过主机接口建立一传输链接;以及于链接建立流程完成后根据与传输链接相关联的多个属性参数之至少一者及特殊数值识别与主机接口建立传输链接的一目标装置。
附图说明
图1是显示根据本发明的一实施例所述的数据储存装置的示意图。
图2是显示根据本发明的一实施例所述的安装有待测装置的测试装置的示意图。
图3是显示根据本发明的一实施例所述的链接识别方法流程图。
图4是显示根据本发明的一实施例所述的应用链接识别方法的测试方法流程图。
【符号说明】
100,200:数据储存装置
110:存储器控制器
112:微处理器
112C:程序码
112M:只读存储器
114:存储器接口
116:缓冲存储器
118,218:主机接口
120:存储器装置
130:主机装置
132:编码器
134:解码器
250:测试装置
251:连接器
31,32:走线
P_TX0,P_TX1:传送针脚
P_RX0,P_RX1:接收针脚
具体实施方式
在下文中,描述了许多具体细节以提供对本发明实施例的透彻理解。然而,本领域技术人员仍将理解如何在缺少一个或多个具体细节或依赖于其他方法、元件或材料的情况下实施本发明。在其他情况下,未详细示出或描述公知的结构、材料或操作,以避免模糊本发明的主要概念。
在整个说明书中对“一个实施例”、“一实施例”、“一个范例”或“一范例”的引用意味着结合该实施例或范例所描述的特定特征、结构或特性包括于本发明的多个实施例的至少一个实施例中。因此,贯穿本说明书在各个地方出现的短语“在一个实施例中”、“在一实施例中”、“在一个范例中”或“在一范例中”不一定都指到相同的实施例或范例。此外,特定特征、结构或特性可以在一个或多个实施例或范例中以任何合适的组合和/或子组合进行结合。
此外,为让本发明的目的、特征和优点能更明显易懂,下文特举出本发明的具体实施例,并配合附图,作详细说明如下。目的在于说明本发明的精神而非用以限定本发明的保护范围,应理解下列实施例可经由软件、硬体、固件、或上述任意组合来实现。
图1是显示根据本发明的一实施例所述的数据储存装置100的示意图。数据储存装置100可包括一存储器装置120与一存储器控制器110。存储器控制器110用以存取(Access)存储器装置120及控制存储器装置120的运作。存储器装置120可为一非挥发性(non-volatile,缩写为NV)存储器装置(例如,一快闪存储器(flash memory)),并且可包括一或多个记忆元件(例如,一或多个快闪存储器晶粒、一或多个快闪存储器芯片、或其他类似元件)。
根据本发明一实施例,存储器控制器110包含一微处理器112、一只读存储器(ReadOnly Memory,ROM)112M、一存储器接口114、一缓冲存储器116、与一主机接口118。只读存储器112M用以储存一程序码112C,程序码112C可包含一或多个程序模块,例如开机载入器(boot loader)码,于主机装置130供电给数据储存装置100时,微处理器112可执行程序码112C来进行初始化运作,以从存储器装置120载入一群系统内编程(In-SystemProgramming,缩写为ISP)码(图未绘示)。微处理器112可执行该群ISP码,使数据储存装置100具备各种功能。依据本实施例,该群ISP码可包含(但不限于)关于存取(例如读取、写入及抹除)的多个程序模块,诸如一读取操作模块、一查表模块、一耗损平均(wear leveling)模块、一读取刷新(ead refresh)模块、一读取回收(read reclaim)模块、一垃圾收集(garbage collection)模块、一突然断电回复(sudden power off recovery,缩写为SPOR)模块以及一不可更正错误更正码(uncorrectable error correction code,缩写为UECC)模块,以供分别进行读取、查表、耗损平均、读取刷新、读取回收、垃圾收集、突然断电回复以及针对UECC错误的错误处置。存储器接口114包含了一编码器132与一解码器134。编码器132用以对写入到存储器装置120中的数据进行编码以产生对应的校验码(或称,错误更正码(Error Correction Code),ECC)。解码器134用以将从存储器装置120所读出的数据进行解码。
存储器控制器110可利用其本身内部的元件来进行诸多控制运作,例如:利用存储器接口114来控制存储器装置120的存取运作(尤其是对至少一区块或至少一数据页的存取运作)、利用缓冲存储器116进行所需的缓冲处理、以及利用主机接口118来与一主机装置(Host Device)130沟通。
主机装置130可对数据储存装置100发出指令,例如,读取指令或写入指令,用以存取存储器装置120所储存的数据,或者进一步控制、管理数据储存装置100。
在一实施例中,缓冲存储器116是以随机存取存储器(Random Access Memory,缩写为RAM)来实施。例如,缓冲存储器116可以是静态随机存取存储器(Static RAM,缩写为SRAM),但本发明不限于此。于其它实施例中,缓冲存储器116可以是动态随机存取存储器(Dynamic RAM,缩写为DRAM)。
在一实施例中,主机接口118可为具有对应的固件/软件设计的一硬体接口,用以于存储器控制器110与主机装置130之间传递沟通讯号、传递写入/读取的数据、以及控制工作排程等。例如,存储器控制器110/微处理器112可藉由执行对应的固件或软件使主机接口118执行上述操作。
在一实施例中,存储器控制器110透过主机接口118并使用一标准通讯协定与主机装置130沟通。举例而言,上述的标准通讯协定包含(但不限于):通用序列汇流排(Universal Serial Bus,缩写为USB)标准、安全数位(SD)接口标准、超高速一代(UltraHigh Speed-I,缩写为UHS-I)接口标准、超高速二代(Ultra High Speed-II,缩写为UHS-II)接口标准、复合式快闪存储器(CF)接口标准、多媒体卡(Multimedia Card,缩写为MMC)接口标准、嵌入式多媒体卡(Embedded Multimedia Card,缩写为eMMC)接口标准、通用快闪存储器(UFS)接口标准、高技术组态(Advanced Technology Attachment,缩写为ATA)标准、序列高技术组态(Serial ATA,缩写为SATA)标准、快捷外设互联标准(PeripheralComponent Interconnect Express,缩写为PCI-E)标准、并列先进附件(ParallelAdvanced Technology Attachment,缩写为PATA)标准。
如上所述,存储器控制器110或数据储存装置100的制造商或供应商可对封装后的芯片或装置进行测试。于测试流程中,待测试的芯片或装置可能需于不同的测试阶段/测试站连接至不同的装置,或者待测试的芯片或装置的传输接口可依照测试项目而有不同的连接方式。此外,待测试的芯片或装置的传输接口于测试流程中因测试需求亦可能需与一同级(peer)装置的对应接口建立链接。
例如,一既定的测试流程可能涉及两测试阶段/测试站,于第一测试阶段中,待测试的芯片或装置(例如,可以是包含存储器控制器110或数据储存装置100的一芯片)(为简洁说明,以下简称为待测装置)可与一主机装置(例如,图1所示的主机装置130)连接,由主机装置将测试流程所需的软件/固件程序码载入待测装置,并且为待测装置设定测试流程所需的相关参数或暂存器。于第一测试阶段中,可藉由上述操作测试主机接口118与主机装置130之间的沟通是否正常运作。于第二测试阶段中,待测装置不与任一主机装置连接,而是被安装于一测试装置中进行测试,此测试装置可以是一装配架(jig)或者一特定治具。因此,于第二测试阶段中,测试装置应无视任何来自主机装置的指令(若有)。于第二测试阶段中,测试装置将进行返回(loopback)测试,并且藉由存储器控制器110的控制执行自我测试,例如,测试存储器装置120的读取、写入、清除等操作是否正常,藉此测试存储器控制器110与存储器装置120之间的沟通是否正常运作。
需注意的是,待测装置于第一测试阶段中所连接的主机装置与待测装置最终成为一产品时所连接的主机装置通常为不同的装置。于测试流程中,与数据储存装置100所连接的主机装置130可以是专为执行产品测试所设计的一芯片。而当数据储存装置100最终成为一产品时,例如,在一些实施例中数据储存装置100可以是可携式存储器装置(例如:符合SD/MMC、CF、MS、XD标准的记忆卡),此时主机装置130为一可与数据储存装置连接的电子装置,例如手机、笔记型电脑、桌上型电脑…等等。又例如,在另一些实施例中数据储存装置100可以是固态硬碟或符合UFS或eMMC规格的嵌入式储存装置,并且可被设置在一电子装置中,例如设置在手机、笔记型电脑、桌上型电脑之中,而此时主机装置130可以是该电子装置的一处理器
图2是显示根据本发明的一实施例所述的安装有待测装置的测试装置的示意图。于此实施例中,待测装置为数据储存装置200,而数据储存装置200可以是如图1所示的数据储存装置100。测试装置250可包括一插槽(图未示),数据储存装置200可藉由被插入该插槽而被安装于测试装置250中。此外,测试装置250可至少包括一或多个传送针脚,例如,传送针脚P_TX0与P_TX1、一或多个接收针脚,例如,接收针脚P_RX0与P_RX1、以及一连接器251。测试装置250可透过连接器251获取电力。例如,连接器251可以是一USB插头,测试装置250可藉由连接器251被插入另一可供电的USB插槽而取得电力。于此实施例中,数据储存装置200的主机接口218可以是两线道(two lane)的设计,即,主机接口218可包括两个传送端TX0与TX1及两个接收端RX0与RX1。传送针脚P_TX0与P_TX1用以分别连接主机接口218的传送端TX0与TX1,接收针脚P_RX0与P_RX1用以分别连接主机接口218的接收端RX0与RX1。需注意的是,图2所标示的符号218是用以表示传送端TX0与TX1与接收端RX0与RX1包含于主机接口218,但非用以限定主机接口218所包含的元件内容。孰悉此技艺者均可理解,一主机接口当可包含其他图中未示的元件,以实施对应操作。
于本发明的实施例中,为了使数据储存装置200可执行返回(loopback)测试,测试装置250可具有返回布局(loopback layout)。如图所示,测试装置250可布有走线31与32。走线31连接传送针脚P_TX0与接收针脚P_RX0,走线32连接传送针脚P_TX1与接收针脚P_RX1。当数据储存装置200被安装于测试装置250中时,传送针脚P_TX0与传送端TX0连接,接收针脚P_RX0与接收端RX0连接,使得传送端TX0可透过走线31与接收端RX0连接。同样地,当数据储存装置200被安装于测试装置250中时,传送针脚P_TX1与传送端TX1连接,接收针脚P_RX1与接收端RX1连接,使得传送端TX1可透过走线32与接收端RX1连接。于第二测试阶段中,数据储存装置200可利用此返回布局进行返回测试,以测试主机接口的两线道上的传送与接收是否正常运作。
一般而言,数据储存装置100/200于被供电后,会执行一链接建立流程,用以尝试透过主机接口与与一同级(peer)装置的对应接口建立起传输链接。例如,当数据储存装置100/200被实施为符合UFS规格的数据储存装置时,因UFS使用行动产业处理器接口(MobileIndustry Processor Interface,缩写为MIPT)联盟所开发的实体层M-PHY,数据储存装置100/200于被供电后需依循由MIPI联盟所制定的标准化通讯协定(Unified Protocol,通常称为UniPro)执行链接建立流程(Link Flow)。
然而,由于待测装置(例如,数据储存装置)于第一测试阶段中与一主机装置连接,于第二测试阶段中透过测试装置250的返回布局与自己的传输接口连接,因此,待测装置于两个测试阶段的链接建立流程中都可能成功地建立起传输链接。因此,仅根据传输链接是否已被成功建立并不足以识别出待测装置目前是与哪个装置建立起链接。若待测装置无法于测试流程中正确地做出区别,将发生因链接识别错误而导致测试流程无法完成的问题。
为了于测试流程中能正确地识别与待测装置的传输接口(例如,主机接口118/218)建立链接的对象,以避免前述因链接识别错误而无法完成测试流程的问题,需要一种有效的链接识别方法。
图3是显示根据本发明的一实施例所述的链接识别方法流程图,包括以下步骤:
步骤S302:于数据储存装置100/200及/或存储器控制器110被供电后,将一既定参数设定为一特殊数值。根据本发明的一实施例,既定参数为存储器控制器110的多个能力参数之一者,例如,与主机接口118/218的接收相关的能力参数。此外,根据本发明的一实施例,于此步骤中所选择做特殊数值的设定的参数是尔后于执行链接建立流程中会被交换的能力参数。例如,此传输链接的传送端与接收端分别会于沟通的过程中将其能力参数提供给对方做为后续参数设定时的参考。
步骤S304:执行一链接建立流程以尝试透过主机接口建立一传输链接。需注意的是,于本发明的实施例中,步骤S302的执行必须早于步骤S304。即,对既定参数作特殊数值的设定必须于开始执行链接建立流程前完成。此外,根据本发明的一实施例,数据储存装置100/200可依循前述标准化通讯协定(UniPro)执行链接建立流程(Link Flow)。
步骤S306:于链接建立流程完成后,根据与传输链接相关联的多个属性参数之至少一者及前述特殊数值识别与主机接口建立传输链接的一目标装置。如上所述,于链接建立流程中,此传输链接的传送端与接收端分别会将其能力参数提供给对方,并且传送端与接收端将依循相同规则分别根据自身与对方的能力参数设定与此传输链接相关联的多个属性参数。于属性参数设定完成后,可利用多个属性参数之中与前述既定参数相关的属性参数最终被设定的数值判断与数据储存装置100/200建立传输链接的对象是否为另一同级的主机装置,或者为数据储存装置100/200本身。
根据本发明的一实施例,链接识别方法可还包括:于识别出与主机接口建立传输链接的目标装置后,根据目标装置的一识别结果决定次一操作。
更具体的说,根据本发明的一实施例,微处理器112于存储器控制器110被供电后将前述既定参数设定为特殊数值,例如,将之设定为可被允许的最大值,并且开始执行一链接建立流程,用以尝试透过主机接口建立一传输链接。根据本发明的一实施例,前述既定参数可以是与主机接口118/218所需的作业时间相关的能力参数,例如,前述既定参数可以是接收端的能力参数RX_Hibern8Time_Capability,此参数是用以具体指定接收端于进入休眠(Hibernate)模式后须停留在休眠模式的最短时间。又例如,前述既定参数可以是接收端的能力参数RX_Min_ActivateTime_Capability,此参数是用以具体指定接收端自被唤醒(Wakeup)后到开始第一个动作所需的时间。根据本发明的另一实施例,前述既定参数也可以是与主机接口118/218所使用的一同步图样相关的参数,例如,前述既定参数可以是接收端的参数RX_HS_G1_SYNC_LENGTH(其中的G1代表高速(High Speed,缩写为HS)模式的第一速度档位Gear 1,并且可被延伸至由MIPI所定义的其他速度档位),此参数是用以具体指定接收端所使用的同步图样长度。
需注意的是,以上介绍的参数仅为可实施本发明的数个范例,本发明实际上并不限于仅能使用以上参数。如上所述,于本发明的实施例中,微处理器可自与主机接口118/218的接收端相关的多个能力参数或者与存储器控制器110及/或主机接口118/218的接收操作相关的多个参数中选择出一或多者做特殊数值的设定。此外,于此所选择做特殊数值的设定的参数是尔后于执行链接建立流程时会在传送端与接收端之间交换的参数。
于特殊数值的参数设定完成后,微处理器112可开始一链接建立流程。下表一为UniPro规格书所规范的链接流程(Link Flow),其中的英文缩写PA是指物理适配(PHYadapter)层。
表一:链接流程(Link Flow)范例
有关链接流程的详细说明,可进一步参考UniPro规格书第1.61版,第5.6.3章。
于链接流程的阶段5,传送端与接收端进行能力参数的交换,并且以降级的方式应用所得的能力参数。例如,UniPro规格书中定义了属性参数PA_Hibern8Time的设定方法为:
PA_Hibern8Time=max(TX_Hibern8Time_Capability,peer_RX_Hibern8Time_Capability)式(1)
其中参数PA_Hibern8Time是用以具体指定于进入休眠(Hibernate)模式后须停留在休眠模式的最短时间,max(A,B)为于A、B两者之间取最大值的运算,参数TX_Hibern8Time_Capability为传送端于进入休眠模式后须停留在休眠模式的最短时间,参数peer_RX_Hibern8Time_Capability为(传送端经由参数交换所取得之)同级接收端于进入休眠模式后须停留在休眠模式的最短时间。一般而言,因自休眠模式返回正常模式所需的时间越短代表装置的反应速度越快,因此对于速度较快的一方,藉由取最大值的运算来设定参数相当于以降级的方式应用所得的能力参数。
举另一例,UniPro规格书中定义了属性参数PA_TActivate的设定方法为:
PA_TActivate=peer_RX_Min_ActivateTime_Capability 式(2)
其中参数PA_TActivate是用以具体指定自被唤醒后到开始第一个动作所需的时间,参数peer_RX_Hibern8Time_Capability为(传送端经由参数交换所取得之)同级接收端被唤醒后到开始第一个动作所需的时间。
再举另一例,UniPro规格书中定义了属性参数PA_TxHsG1SyncLength的设定方法为:
PA_TxHsG1SyncLength=peer_RX_HS_G1_SYNC_LENGTH 式(3)
其中参数PA_TxHsG1SyncLength是用以具体指定于高速模式下的第一速度档位所使用的同步图样长度,参数peer_RX_HS_G1_SYNC_LENGTH为(传送端经由参数交换所取得之)同级接收端于高速模式下的第一速度档位所使用的同步图样长度。
于本发明的实施例中,微处理器112可于链接建立流程开始前,对于所选的既定参数(例如但不限于,前述的参数RX_Hibern8Time_Capability、RX_Min_ActivateTime_Capability、及/或RX_HS_G1_SYNC_LENGTH)之至少一者作特殊数值的设定,例如,将之设定为极大的特殊值(例如,十六进位的0x7D)。
于执行链接建立流程时,透过参数交换,传送端将取得接收端的能力参数,并且可如以上范例根据传送端及/或接收端的能力参数设定与此传输链接相关联的多个属性参数。例如,假设目前处于第一测试阶段,数据储存装置100/200与主机装置130连接,因为此时数据储存装置100会与主机装置130于链接建立流程中进行参数交换,则以上范例中的参数peer_RX_Hibern8Time_Capability、peer_RX_Min_ActivateTime_Capability以及peer_RX_HS_G1_SYNC_LENGTH栏位被带入的数值会是主机装置130所设定的参数RX_Hibern8Time_Capability、RX_Hibern8Time_Capability以及RX_HS_G1_SYNC_LENGTH。相对地,假设目前处于第二测试阶段,数据储存装置100/200透过测试装置250的返回布局与自己的传输接口连接,则因为此时数据储存装置100会与自己于链接建立流程中进行参数交换,以上范例中的参数peer_RX_Hibern8Time_Capability、peer_RX_Min_ActivateTime_Capability以及peer_RX_HS_G1_SYNC_LENGTH栏位被带入的数值将会数据储存装置100/200本身所设定的参数RX_Hibern8Time_Capability、RX_Hibern8Time_Capability以及RX_HS_G1_SYNC_LENGTH。
如此一来,微处理器112便可藉由与前述既定参数相关的属性参数最终被设定的数值判断与数据储存装置100/200建立传输链接的对象是否为另一同级的主机装置,或者为数据储存装置100/200本身。更具体的说,当微处理器112选择能力参数RX_Hibern8Time_Capability作为既定参数作特殊数值的设定时,若微处理器112判断式(1)中的属性参数PA_Hibern8Time于链接建立流程结束后被设定为此特殊数值,便可判断出目前与主机接口118/218建立传输链接的对象为存储器控制器110本身。另一方面,若微处理器112判断式(1)中的属性参数PA_Hibern8Time于链接建立流程结束后并不等于此特殊数值,则可判断出目前与主机接口118/218建立传输链接的对象并非存储器控制器110本身,而是一主机装置。
类似地,当微处理器112选择能力参数RX_Min_ActivateTime_Capability、及/或RX_HS_G1_SYNC_LENGTH作为既定参数作特殊数值的设定时,若微处理器112判断式(2)及/或式(3)的属性参数被设定为特殊数值,可判断出目前与主机接口118/218建立传输链接的对象为存储器控制器110本身。若微处理器112判断式(2)及/或式(3)中的属性参数于链接建立流程结束后并不等于特殊数值,则可判断出目前与主机接口118/218建立传输链接的对象并非存储器控制器110本身,而是一主机装置。
于微处理器112识别出目标装置(即,上述判断出目前与主机接口118/218建立传输链接的对象为存储器控制器110本身或者一主机装置)之后,微处理器112可更根据目标装置的识别结果决定次一操作。
图4是显示根据本发明的一实施例所述的应用链接识别方法的测试方法流程图,包括以下步骤:
步骤S402:待测装置(例如,数据储存装置100/200)于上电后开始执行测试固件。
步骤S404:将至少一既定参数设定为对应的一特殊数值。
步骤S406:开始链接建立流程,以尝试利用主机接口与另一方(例如,存储器控制器110本身或者一主机装置)建立一传输链接。
步骤S408:链接建立流程完成。
步骤S410:判断与此传输链接相关联的多个属性参数之中与步骤S404中所使用的既定参数相关的属性参数是否被设定为特殊数值,以识别与主机接口建立传输链接的一目标装置。若否,代表目标装置为主机装置,待测装置执行步骤S412。若是,代表目标装置为非主机装置,待测装置执行步骤S414。
步骤S412:等待来自目标装置(主机装置)的指令。
步骤S414:执行一测试流程。如上所述,若判断待测装置并非与一主机装置连接,可判定测试装置目前处于第二测试阶段/测试站中,此时测试装置应无视任何来自主机装置的指令(若有)而直接执行第二测试阶段中所设定的测试流程,例如前述的自我测试与返回测试。
于传统技术中,为了使第二测试阶段可单纯地执行自我测试,因此将返回测试安排于第一测试阶段,以及将返回布局设置于第一测试站中。于此安排下,待测装置于第二测试阶段中无法成功建立传输链接,因此可根据传输链接是否已被成功建立来判断测试装置目前处于哪个测试阶段/测试站中。然而,于第一测试站中安排的返回布局可能额外造成些许的链接错误问题。为避免链接错误的产生,将返回布局改为设置于第二测试站中,并且将返回测试改为安排于第二测试阶段。然而,如上所述,由于待测装置于两个测试阶段的链接建立流程中都可能成功地建立起传输链接。因此,仅根据传输链接是否已被成功建立已不足以识别出待测装置目前是与哪个装置建立起链接。若待测装置无法于测试流程中正确地做出区别,将发生因链接识别错误而导致测试流程无法完成的问题。例如,于图4的流程中,若省略步骤S404,而仅于步骤S410中判断传输链接是否已被成功建立,则无论测试装置目前处于哪个测试阶段,最终都只会执行步骤S412。
不同于传统技术,于本发明所提出的链接识别方法中,藉由特殊的参数值设定,使微处理器112可简单且正确地辨识出测试装置目前处于哪个测试阶段,如此可有效解决传统技术的问题。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
Claims (13)
1.一种存储器控制器,耦接一存储器装置,用以控制该存储器装置的存取操作,包括:
一主机接口;以及
一微处理器,耦接该主机接口,用以于该存储器控制器被供电后将一既定参数设定为一特殊数值,并且开始执行一链接建立流程,用以尝试透过该主机接口建立一传输链接,
其中该既定参数为该主机接口的多个能力参数之一者,并且该既定参数与该主机接口的接收相关,并且
于该链接建立流程完成后,该微处理器还根据与该传输链接相关联的多个属性参数之至少一者及该特殊数值识别与该主机接口建立该传输链接的一目标装置。
2.如权利要求1所述的存储器控制器,其特征在于,于该链接建立流程中,该微处理器还取得该目标装置的多个能力参数,并且根据该主机接口及/或该目标装置的这些能力参数设定与该传输链接相关联的这些属性参数。
3.如权利要求2所述的存储器控制器,其特征在于,于该链接建立流程完成后,该微处理器藉由所述与该传输链接相关联的这些属性参数之至少一者是否被设定为该特殊数值判断该目标装置是否为该存储器控制器本身。
4.如权利要求1所述的存储器控制器,其特征在于,于该微处理器识别出该目标装置后,该微处理器还根据该目标装置的一识别结果决定次一操作。
5.如权利要求4所述的存储器控制器,其特征在于,当该微处理器根据该识别结果判断与该主机接口建立该传输链接的该目标装置为该存储器控制器本身时,该微处理器开始执行一测试流程。
6.如权利要求4所述的存储器控制器,其特征在于,当该微处理器根据该识别结果判断与该主机接口建立该传输链接的该目标装置非该存储器控制器本身时,该微处理器等待来自该目标装置的指令。
7.一种测试装置,包括如权利要求1所述的存储器控制器,其特征在于,该存储器控制器被安装于该测试装置中,并且该测试装置包括:
一传送针脚,耦接该主机接口的一传送端;
一接收针脚,耦接该主机接口的一接收端;以及
一走线,连接该传送针脚与该接收针脚。
8.一种链接识别方法,适用于一存储器控制器,该存储器控制器耦接一存储器装置用以控制该存储器装置的存取操作,该链接识别方法包括:
于该存储器控制器被供电后将该存储器控制器的一既定参数设定为一特殊数值,其中该既定参数为该存储器控制器的多个能力参数之一者,并且该既定参数与该存储器控制器的一主机接口的接收相关;
执行一链接建立流程以尝试透过该主机接口建立一传输链接;以及
于该链接建立流程完成后根据与该传输链接相关联的多个属性参数之至少一者及该特殊数值识别与该主机接口建立该传输链接的一目标装置。
9.如权利要求8所述的链接识别方法,其特征在于,执行一链接建立流程以尝试透过该主机接口建立一传输链接的步骤还包括:
取得该目标装置的多个能力参数;以及
根据该主机接口及/或该目标装置的这些能力参数设定与该传输链接相关联的这些属性参数。
10.如权利要求9所述的链接识别方法,其特征在于,于该链接建立流程完成后根据与该传输链接相关联的多个属性参数之至少一者及该特殊数值识别与该主机接口建立该传输链接的一目标装置的步骤还包括:
判断与该传输链接相关联的这些属性参数之其中一者是否被设定为该特殊数值;以及
当所述与该传输链接相关联的这些属性参数之其中一者被设定为该特殊数值时,判断该目标装置为该存储器控制器本身;以及
当所述与该传输链接相关联的这些属性参数之其中一者未被设定为该特殊数值时,判断该目标装置非该存储器控制器本身。
11.如权利要求8所述的链接识别方法,其特征在于,于识别出该目标装置后,该链接识别方法还包括:
根据该目标装置的一识别结果决定该存储器控制器的次一操作。
12.如权利要求11所述的链接识别方法,其特征在于,当该识别结果显示该目标装置为该存储器控制器本身时,该链接识别方法还包括:
开始执行一测试流程。
13.如权利要求11所述的链接识别方法,其特征在于,当该识别结果显示该目标装置非该存储器控制器本身时,该链接识别方法还包括:
等待来自该目标装置的指令。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW110122761A TWI773395B (zh) | 2021-06-22 | 2021-06-22 | 記憶體控制器與連結識別方法 |
TW110122761 | 2021-06-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115509965A true CN115509965A (zh) | 2022-12-23 |
Family
ID=83807036
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110757085.8A Pending CN115509965A (zh) | 2021-06-22 | 2021-07-05 | 存储器控制器与链接识别方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11755439B2 (zh) |
CN (1) | CN115509965A (zh) |
TW (1) | TWI773395B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7381519B2 (ja) * | 2021-06-09 | 2023-11-15 | アンリツ株式会社 | 誤り率測定装置および誤り率測定方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009026296A (ja) * | 2007-06-21 | 2009-02-05 | Toshiba Corp | 電子デバイス、メモリデバイス、ホスト装置 |
KR101451369B1 (ko) * | 2011-04-29 | 2014-10-16 | 엘에스아이 코포레이션 | 암호화된 전송 고체 상태 디스크 제어기 |
KR101522848B1 (ko) * | 2011-10-05 | 2015-05-26 | 엘에스아이 코포레이션 | 비휘발성 스토리지에 대한 셀프-저널링 및 계층적 일치성 |
US10803970B2 (en) * | 2011-11-14 | 2020-10-13 | Seagate Technology Llc | Solid-state disk manufacturing self test |
US9526122B2 (en) * | 2012-07-13 | 2016-12-20 | Electronics And Telecommunications Research Institute | Methods for uniquely identifying communication links between communication devices |
WO2014065879A1 (en) * | 2012-10-22 | 2014-05-01 | Venkatraman Iyer | High performance interconnect physical layer |
US9904651B2 (en) * | 2014-07-31 | 2018-02-27 | Samsung Electronics Co., Ltd. | Operating method of controller for setting link between interfaces of electronic devices, and storage device including controller |
CN105721514A (zh) * | 2014-12-01 | 2016-06-29 | 财团法人资讯工业策进会 | 使用者装置、云端服务器及其分享链接辨识方法 |
US9720838B2 (en) * | 2015-03-27 | 2017-08-01 | Intel Corporation | Shared buffered memory routing |
US10720224B2 (en) * | 2018-07-18 | 2020-07-21 | Micron Technology, Inc. | Protocol independent testing of memory devices using a loopback |
US11307782B2 (en) * | 2020-06-03 | 2022-04-19 | Micron Technology, Inc. | Host identification and verification system and method for a memory system |
KR20220062843A (ko) * | 2020-11-09 | 2022-05-17 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
-
2021
- 2021-06-22 TW TW110122761A patent/TWI773395B/zh active
- 2021-07-05 CN CN202110757085.8A patent/CN115509965A/zh active Pending
-
2022
- 2022-03-22 US US17/700,514 patent/US11755439B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20220405179A1 (en) | 2022-12-22 |
US11755439B2 (en) | 2023-09-12 |
TWI773395B (zh) | 2022-08-01 |
TW202301136A (zh) | 2023-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10108373B2 (en) | Host, system, and methods for transmitting commands to non-volatile memory card | |
US7397717B2 (en) | Serial peripheral interface memory device with an accelerated parallel mode | |
US20140089568A1 (en) | Embedded multimedia card (emmc), host for controlling the emmc, and methods of operating the emmc and the host | |
US10304546B2 (en) | External storage device and method of setting reference frequency for the same | |
TWI760615B (zh) | 用於進行記憶裝置之寫保護指令之偵測控制的方法、控制晶片以及電子裝置 | |
US9092388B2 (en) | Bus width negotiation | |
US20190155517A1 (en) | Methods and apparatus for memory controller discovery of vendor-specific non-volatile memory devices | |
US8883521B2 (en) | Control method of multi-chip package memory device | |
CN106649137B (zh) | 一种Nand Flash坏块管理方法、装置及存储器 | |
US11755439B2 (en) | Memory controller, test device and link identification method | |
CN115273955A (zh) | 一种eMMC busy时间内掉电的数据测试方法及装置 | |
CN112799887A (zh) | 一种芯片ft测试系统以及测试方法 | |
CN216250003U (zh) | 一种闪存测试板及测试装置 | |
CN103680638B (zh) | 快闪存储器控制器和快闪存储器控制方法 | |
CN107301872B (zh) | 半导体存储器装置的操作方法 | |
US20070145363A1 (en) | Testing memory integrated circuits | |
KR20150070528A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US7369958B1 (en) | System and method for setting motherboard testing procedures | |
CN116148627A (zh) | 电路板中PCIe CEM连接接口的检测系统及其方法 | |
CN112382334A (zh) | 用于行动内存的测试装置以及测试方法 | |
JP4291368B2 (ja) | メモリバスチェック手順 | |
CN220252843U (zh) | 一种电子保险丝操作逻辑的验证装置 | |
CN115061558B (zh) | 一种pcie设备的热复位方法、装置、存储介质及pcie设备 | |
CN113111323B (zh) | 一种基于sha-1身份认证的ft2232h程序烧写设备及方法 | |
US20230305716A1 (en) | Data storage system and parameter margin evaluation method |
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 |