对安全数码卡进行异常恢复的方法及设备技术

技术编号:11590441 阅读:69 留言:0更新日期:2015-06-10 23:10
本发明专利技术公开了对安全数码卡SD进行异常恢复的方法及设备,其中,该方法包括:确定安全数码卡SD出现异常;持续向SD发送组合信息,所述组合信息包括时钟信号和空闲状态命令;确定发送组合信息的时间大于设定时间,执行SD驱动初始化过程;向SD进行读写测试,若接收到来自SD的响应信息,则确定恢复成功。本发明专利技术方案不受设备自身结构的限制,能够不对SD进行重新上电而实现异常恢复。

【技术实现步骤摘要】

本专利技术涉及信息处理技术,尤其涉及对安全数码卡进行异常恢复的方法及设备
技术介绍
安全数码卡(SD,Secure Digital Memory Card)是一种基于半导体快闪记忆器的新一代记忆设备,按照封装的不同分为SD、miniSD等,外形有差异,但并无本质区别。将SD连接至主机后,主机可进行读写操作,从SD读取数据或写入数据。在读写操作中,可能出现操作异常的情况,具体地:主机(Host)向SD发出读写命令后,等待一段时间,SD还是不对主机进行响应,此时,对SD的DATA0引脚进行测量,其总是低电平;根据SD协议,低电平指示SD处于繁忙(busy)状态,SD协议中也提到,发出关于某一数据包的读写指令后,500毫秒内便可完成;由此可获知,如果超出500毫秒后的一段时间内DATA0引脚仍处于busy状态,则可确定SD处于异常状态。下面对SD的异常恢复进行说明。主机的处理器与SD之间通过多个IO接口进行连接,其中包括控制SD重新启动的电源IO接口。这类设备中,SD电源和处理器电源各自独立,且不相连通。当出现SD异常时,主机通过电源IO接口控制SD进行重新上电,这样,通过对SD的重新启动实现SD的异常恢复。实际应用中,由于IO接口比较紧缺,很多设备的处理器不具备足够多的IO接口用于异常恢复的重上电。对于这种情况,SD电源与处理器电源并不采用独立设置的方式,而采用直接连通的方式;对于这类情况,当SD处于异常状态时,处理器无法控制SD重启,不能恢复异常,若采用对主机和SD都进行重新启动的方式,其速度慢,并且也将影响主机的其他业务,其可实施性较差。综上,很多设备受其自身结构的限制,并不支持在异常状态下对SD单独上电重启,导致无法完成异常恢复。
技术实现思路
本专利技术提供了一种对安全数码卡进行异常恢复的方法,该方法不受设备自身结构的限制,能够不对SD进行重新上电而实现异常恢复。本专利技术提供了一种对安全数码卡进行异常恢复的设备,该设备不受自身结构的限制,能够不对SD进行重新上电而实现异常恢复。一种对安全数码卡进行异常恢复的方法,该方法包括:确定安全数码卡SD出现异常;持续向SD发送组合信息,所述组合信息包括时钟信号和空闲状态命令;确定发送组合信息的时间大于设定时间,执行SD驱动初始化过程;向SD进行读写测试,若接收到来自SD的响应信息,则确定恢复成功。一种对安全数码卡进行异常恢复的设备,该设备包括异常确定模块、组合信息发送及初始化模块和测试确定模块;所述异常确定模块,确定SD出现异常,向所述组合信息发送及初始化模块发送组合信息发送指令;所述组合信息发送及初始化模块,接收组合信息发送指令,持续向SD发送组合信息,所述组合信息包括时钟信号和空闲状态命令;确定发送组合信息的时间大于设定时间,执行SD驱动初始化过程,向所述测试确定模块发送测试指令;所述测试确定模块,接收来自所述组合信息发送及初始化模块的测试指令,向SD进行读写测试,若接收到来自SD的响应信息,则确定恢复成功。从上述方案可以看出,本专利技术中,确定SD出现异常后,持续向SD发送组合信息;确定发送组合信息的时间大于设定时间,执行SD驱动初始化过程;向SD进行读写测试,若接收到来自SD的响应信息,则确定恢复成功。本专利技术方案不对SD进行重新上电而实现异常恢复,这样,不再受设备自身结构的限制,可应用于任何主机。附图说明图1为本专利技术对安全数码卡进行异常恢复的方法示意性流程图;图2为本专利技术对安全数码卡进行异常恢复的方法流程图实例;图3为本专利技术对安全数码卡进行异常恢复的设备结构示意图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本专利技术进一步详细说明。现有对SD进行异常恢复的方案,只适用于处理器提供了控制SD重新启动的电源IO接口的主机设备,该方案受到结构限制。针对该缺陷,本专利技术结合SD协议的特点,采用持续向SD发送组合信息以激发SD初始化的方式,实现SD的异常恢复。参见图1,为本专利技术对安全数码卡进行异常恢复的方法示意性流程图,其包括以下步骤:步骤101,确定SD出现异常。确定SD出现异常,可采用现有方案实现,也就是,发出关于某一数据包的读写指令后,如果超出500毫秒后的一段时间内DATA0引脚仍处于busy状态,则确定SD处于异常状态。SD异常的确定不仅限于现有的方案,例如,还可采用如下方式实现:所述确定SD出现异常之前,该方法还包括:向SD进行数据包读写操作,对读写的数据包进行校验,若出现错误,向SD重复进行出错数据包的读写操作,确定读写的数据包仍然出错,判断重复次数是否大于重复阈值,如果大于,则确定SD出现异常,并对出错的数据包进行标记;如果不大于,则对重复次数进行累加,返回执行所述向SD重复进行出错数据包的读写操作的步骤。所述重复阈值可根据实际情况设置,为可能出现异常的经验值。步骤102,持续向SD发送组合信息,所述组合信息包括时钟信号和空闲状态命令。时钟信号(CLK,Clock),为处理器或总线等数字电路工作时的时间间隔信号,是一种方波信号,使数字计算机的所有操作都按顺序进行。并且,SD协议有一空闲状态(CMD0)命令,即GO_IDLE_STATE命令;通过此条命令,SD卡会进入空闲(IDLE)状态,且该命令在任何状态下都可以发起。但是,专利技术人在实际应用环境中发现,当SD出现异常时,单次对其发送CMD0命令,并不能使SD进入IDLE状态。而命令的同时需要向SD提供时钟。基于以上情况,本专利技术提供了一种向SD发送多组组合信息的方式来激活SD,使其进入空闲状态。如果能使SD从异常状态进入空闲状态,则可继续对其进行读写操作,而无需通过电源重启的方式进行恢复。向SD发送组合信息的实现方式有多种,具体如:拉高SD的CMD引脚,向SD发送至少74个时钟信号;向SD发送空闲状态命令。发送时钟信号需要拉高SD的CMD引脚;而发送空闲状态命令时,不对CMD引脚作特别处理,可自然进行命令的传送。步骤103,确定发送组合信息的时间大于设定时间,执行SD驱动初始化过程。专利技术人在实际应用中发现,通常地,向SD单次发起组合命令,并不能使SD进入IDLE状态,因此,本专利技术中采用了多次发送的方式,所述设定时间可根据需要设置,例如为2秒中。步骤104,向SD进行读写测试,若接收到来自SD的响应信息,则确定恢复成功。向SD进行读写操作时,会本文档来自技高网
...
对安全数码卡进行异常恢复的方法及设备

【技术保护点】
一种对安全数码卡进行异常恢复的方法,其特征在于,该方法包括:确定安全数码卡SD出现异常;持续向SD发送组合信息,所述组合信息包括时钟信号和空闲状态命令;确定发送组合信息的时间大于设定时间,执行SD驱动初始化过程;向SD进行读写测试,若接收到来自SD的响应信息,则确定恢复成功。

【技术特征摘要】
1.一种对安全数码卡进行异常恢复的方法,其特征在于,该方法包括:
确定安全数码卡SD出现异常;
持续向SD发送组合信息,所述组合信息包括时钟信号和空闲状态命令;
确定发送组合信息的时间大于设定时间,执行SD驱动初始化过程;
向SD进行读写测试,若接收到来自SD的响应信息,则确定恢复成功。
2.如权利要求1所述的方法,其特征在于,所述确定SD出现异常之前,该方法
还包括:
向SD进行数据包读写操作,对读写的数据包进行校验,若出现错误,向SD重复
进行出错数据包的读写操作,确定读写的数据包仍然出错,判断重复次数是否大于重
复阈值,如果大于,则确定SD出现异常,并对出错的数据包进行标记;如果不大于,
则对重复次数进行累加,返回执行所述向SD重复进行出错数据包的读写操作的步骤。
3.如权利要求2所述的方法,其特征在于,所述确定恢复成功之后,该方法还包
括:
如果数据包读写操作为读操作,则继续从SD读取标记的数据包;
如果数据包读写操作为写操作,则从标记的数据开始继续向SD进行数据写入。
4.如权利要求1、2或3所述的方法,其特征在于,所述执行SD驱动初始化过
程包括:
初始化主机内的SD模块;
向SD发送初始化命令,SD进行初始化。
5.如权利要求4所述的方法,其特征在于,所述向SD发送组合信息包括:
拉高SD的CMD引脚,向SD发送至少74个时钟信号;
向SD发送空闲状态命令。
6.一种对安全数码卡进行异常恢复的设备,其特征在于,该设备包括异常确定模
块、组合信息发送及初始化模块和测试确定模块;
所述异常确定模块,确定SD出现异常,向所述组合信息发送及初始化模块发送
组合信息发送指令;
所述组合信息发送及初始化模块,接收组合信息发送指令,持续向SD发送组合
信息,所述组合信息包括时钟信号和空闲状...

【专利技术属性】
技术研发人员:刘宁陈仙超
申请(专利权)人:杭州海康威视数字技术股份有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1