一种emmc busy时间内掉电的数据测试方法及装置
技术领域
1.本发明属于存储技术领域,尤其涉及一种emmc busy时间内掉电的数据测试方法及装置。
背景技术:2.emmc(embedded multi media card) 是mmc协会订立,主要针对手机或平板电脑等产品的内嵌式标准规格。emmc由一个嵌入式存储解决方案组成,带有mmc(多媒体卡)接口、nand闪存以及主控制器。所有都在一个小型的bga封装。接口速度高达每秒400mbytes,emmc具有速度快,可升级的特性。同时其接口电压可以是1.8v或者是3.3v。
3.根据emmc协议的描述,emmc在进行写操作的过程中每写一笔数据,data0数据总线会拉低进入busy状态,这一段时间,emmc主控正在向flash 编程,若是在busy的这段时间内突然掉电,emmc出现读出数据不正确、无法识别甚至损坏等严重错误的概率大增,因此在emmc busy的时间段内掉电来测试emmc的数据一致性和稳定性十分必要。因为emmc 进入busy的时间特别短,最多只有几个毫秒,因此业内没有好的方法对这一情况进行测试,通常只是随机性的异常掉电,很难精准碰到emmc busy时刚好断电的情况。
技术实现要素:4.本发明旨在解决上述问题,提供一种emmc busy时间内掉电的数据测试方法及装置。
5.第一方面,本发明提供一种emmc busy时间内掉电的数据测试方法,包括:获取测试主机从发出写命令开始,到emmc进入busy的间隔时间time_busy;获取测试主机发出掉电指令开始,至开关电源真正断开的间隔时间time_off;测试主机对time_busy与time_off进行比较判断,使得emmc在进入busy的时间段内实现掉电;具体包括:若time_busy大于time_off,则测试主机在向emmc发送写命令之后的时刻发出掉电指令;若time_busy小于time_off,则测试主机在向emmc发送写命令之前的时刻发出掉电指令;若time_busy等于time_off,则测试主机在向emmc发送写命令的同时发出掉电指令。
6.使emmc重新上电,测试主机对emmc进行初始化,验证emmc能否被正常初始化并进入工作模式;emmc初始化成功后,测试主机对emmc在断电之前写入数据的地址进行读取并校验,验证在emmc busy时间内掉电后数据是否一致。
7.进一步,本发明所述emmc busy时间内掉电的数据测试方法,所述掉电指令的发出时刻与写命令发送的时刻的差值的绝对值小于等于5毫秒;通过对掉电指令发出时刻的限制,确保emmc芯片掉电时正好处于emmc busy时间段内,从而进一步提高本发明所述测试方法的测试精准度。
8.第二方面,本发明提供一种emmc busy时间内掉电的数据测试装置,包括测试主机、开关电源和emmc测试座;所述测试主机与emmc测试座相连接;所述开关电源设置有两路输出和一路输入;所述两路输出中的一路与前述测试主机相连接,另一路与前述emmc测试座相连接;所述一路输入与前述测试主机相连接。
9.进一步,本发明所述emmc busy时间内掉电的数据测试装置,所述测试主机为可搭载emmc芯片的嵌入式开发板;所述测试主机通过emmc接口与前述emmc测试座相连接;所述测试主机通过一路gpio与前述开关电源的一路输入相连接。
10.进一步,本发明所述emmc busy时间内掉电的数据测试装置,其特征在于:所述emmc测试座设置有emmc协议总线。
11.进一步,本发明所述emmc busy时间内掉电的数据测试装置,其特征在于:所述开关电源设置两路输出和一路输入;所述两路输出包括一路输出为5v用于给测试主机供电;另一路输出为3.3/1.8v用于给emmc测试座供电;所述一路输入用于检测测试主机通过gpio发出的电平信号,控制开关电源给emmc测试座的供/断电。
12.进一步,本发明所述emmc busy时间内掉电的数据测试装置,所述测试主机内存储有计算机程序;所述计算机程序运行时测试主机可执行第一方面所述的测试方法。
13.本发明所述emmc busy时间内掉电的数据测试方法及装置,具有以下技术效果:1. 通过测试主机 gpio直接控制开关电源,具有控制时间短,开关电反应快的优点;2. 测试主机采用嵌入式开发板,集成操作系统,具有软硬件成熟,容易开发的优点;3. 本发明所述测试装置不仅可实现emmc busy情况下断电后数据一致性与稳定性的测试,同时也可扩展出针对其他情况的掉电测试,例如上电情况,读数据情况等,适用范围广,适于推广应用。
附图说明
14.图1为本发明实施例所述emmc busy时间内掉电的数据测试装置示意图;图2为本发明实施例所述测试主机与开关电源及emmc测试座连接结构示意图;图3为本发明实施例所述emmc测试座电路结构示意图;图4为本发明实施例所述开关电源结构示意图。
具体实施方式
15.下面通过附图及实施例对本发明所述emmc busy时间内掉电的数据测试方法及装置进行详细说明。
16.实施例一本公开实施例公开一种emmc busy时间内掉电的数据测试装置,如图1所示,该测试装置包括测试主机(emmc host)、emmc测试座和开关电源。
17.在本公开实施例中,由一个可搭载emmc芯片的嵌入式开发板作为对emmc进行测试的测试主机(emmc host),开发板集成有linux系统,开发板通过emmc接口与emmc相连接,如图2所示,测试主机预留一路gpio(p_en)与开关电源相连,通过输出高低电平控制开关电源对emmc断电和上电操作。
18.本公开实施例所述emmc测试座,如图3所示,具有emmc协议总线的测试卡座,数据和命令总线与开发板相连接,由稳压源3.3/1.8v 一路输出供电,可将bga封装的待测emmc装入其中,方便emmc的灵活拆卸。
19.本公开实施例所述开关电源,如图4所示,设置有两路输出,其中一路给开发板供电输出5v,另一路给emmc测试座供电输出3.3/1.8v;还设置有一路输入,用来检测emmc host gpio发来的高低电平信号,若检测到高电平,则3.3/1.8v这一路断开停止给emmc供电,若检测到低电平,则3.3/1.8v这一路连通,开始给emmc供电。
20.实施例二本公开实施例公开一种emmc busy时间内掉电的数据测试方法,本公开实施例所述测试方法基于实施例一所述的测试装置上进行实施。
21.本公开实施例公开的emmc busy时间内掉电的数据测试方法包括如下具体步骤:步骤s201、启动装置,测试主机(emmc host)开发板运行linux系统,连接开关电源的gpio上电默认低电平,开关电源3.3/1.8v处于打开状态,开发板识别到emmc,并对emmc进行初始化。
22.步骤s202、在开发板linux emmc驱动运行中,测量从发写命令开始,到emmc进入busy的间隔时间time_busy。
23.步骤s203、在开发板linux gpio驱动运行中,通过控制gpio输出高电平,控制开关电源断开,测量出linux驱动发送gpio拉高指令到开关电源3.3/1.8v正真断开的间隔时间time_off。
24.步骤s204、根据测量出的time_busy与time_off计算时间差,在linux驱动中设置程序,在写测试过程中任一随机时刻,若time_busy大于time_off,开发板向emmc发送写命令之后(time_busy-time_off)的时刻5毫秒内进行gpio的拉高;若time_busy小于time_off,开发板向emmc发送写命令之前(time_off-time_busy)的时刻5毫秒内进行gpio的拉高;若time_busy等于time_off,开发板向emmc发送写命令的同时进行gpio的拉高。
25.步骤s205、gpio拉高之后开关电源3.3/1.8v刚好在emmc进入busy的状态中断开,使得emmc在进入busy的时间段内掉电。
26.步骤s206、开发板设置gpio再次拉低,开关电源3.3/1.8v重新连通,emmc重新上电,开发板重新对emmc进行识别和初始化过程,验证emmc是否总能被正常的识别并初始化进入工作模。
27.步骤s207、若初始化成功,开发板对emmc在断电之前写入数据的地址进行读取并校验,验证emmc busy时间内掉电之后数据是否一致。
28.本实施例所述emmc busy时间内掉电的数据测试方法及装置,不仅可方便测试emmc在写数据过程中总线进入busy状态突然断电的情况下的数据一致性和稳定性,解决业内测试方法很难覆盖这种情况的问题;同时也可在上电、读数据等情况下针对其他情况的掉电测试。
技术特征:1. 一种emmc busy时间内掉电的数据测试方法,其特征在于包括:获取测试主机从发出写命令开始,到emmc进入busy的间隔时间time_busy;获取测试主机发出掉电指令开始,至开关电源真正断开的间隔时间time_off;测试主机对time_busy与time_off进行比较判断,使得emmc在进入busy的时间段内实现掉电;具体包括:若time_busy大于time_off,则测试主机在向emmc发送写命令之后的时刻发出掉电指令;若time_busy小于time_off,则测试主机在向emmc发送写命令之前的时刻发出掉电指令;若time_busy等于time_off,则测试主机在向emmc发送写命令的同时发出掉电指令;使emmc重新上电,测试主机对emmc进行初始化,验证emmc能否被正常初始化并进入工作模式;emmc初始化成功后,测试主机对emmc在断电之前写入数据的地址进行读取并校验,验证在emmc busy时间内掉电后数据是否一致。2. 根据权利要求1所述emmc busy时间内掉电的数据测试方法,其特征在于:所述掉电指令的发出时刻与写命令发送的时刻的差值的绝对值小于等于5毫秒。3. 一种emmc busy时间内掉电的数据测试装置,包括测试主机、开关电源和emmc测试座;所述测试主机与emmc测试座相连接;其特征在于:所述开关电源设置有两路输出和一路输入;所述两路输出中的一路与前述测试主机相连接,另一路与前述emmc测试座相连接;所述一路输入与前述测试主机相连接。4. 根据权利要求3所述emmc busy时间内掉电的数据测试装置,其特征在于:所述测试主机为可搭载emmc芯片的嵌入式开发板;所述测试主机通过emmc接口与前述emmc测试座相连接;所述测试主机通过一路gpio与前述开关电源的一路输入相连接。5. 根据权利要求4所述emmc busy时间内掉电的数据测试装置,其特征在于:所述emmc测试座设置有emmc协议总线。6. 根据权利要求5所述emmc busy时间内掉电的数据测试装置,其特征在于:所述开关电源设置两路输出和一路输入;所述两路输出包括一路输出为5v用于给测试主机供电;另一路输出为3.3/1.8v用于给emmc测试座供电;所述一路输入用于检测测试主机通过gpio发出的电平信号,控制开关电源给emmc测试座的供/断电。7. 根据权利要求3或6所述emmc busy时间内掉电的数据测试装置,其特征在于:所述测试主机内存储有计算机程序;所述计算机程序运行时测试主机可执行权利要求1所述的测试方法。
技术总结一种eMMC busy时间内掉电的数据测试方法及装置,其特征在于包括:获取测试主机从发出写命令开始,到eMMC进入busy的间隔时间;获取测试主机发出掉电指令开始,至开关电源真正断开的间隔时间;测试主机进行比较判断,使得eMMC在进入busy的时间段内实现掉电。通过测试主机GPIO直接控制开关电源,具有控制时间短,开关电反应快的优点;测试主机采用嵌入式开发板,集成操作系统,具有软硬件成熟,容易开发的优点;本发明所述测试装置不仅可实现eMMC busy情况下断电后数据一致性与稳定性的测试,同时也可扩展出针对其他情况的掉电测试,例如上电情况,读数据情况等,适用范围广,适于推广应用。应用。应用。
技术研发人员:杨柱 王腾腾 唐伟 李帅 韩延良 王勇
受保护的技术使用者:尧云科技(西安)有限公司
技术研发日:2022.06.21
技术公布日:2022/11/1