1、扩容原理
首先对实现扩容卡的原理做下介绍,有以下几种可能:
1、只修改了相关寄存器或其它方面的数值,使得SD卡显示容量大于实际容量,超出实际容量的地址完全无法写入数据;
2、另一种实现扩容卡的方式是,不仅从数值上改变了容量,还将超出实际容量的地址映射到备份分区,使得超出实际容量的部分数据仍旧能够正常读写;
(SD卡除了已用的物理存储空间外,还保留有一段存储空间作为备份分区,用来替换SD卡使用中产生的坏块)
3、另一种比较高级的方式是,将超出实际容量的地址重复映射到实际物理存储空间中;这样在写数据时,会动态覆盖之前写入的数据,使得超出实际容量的数据能够正常读写,但会损坏旧的数据。
2、检测原理:
SD卡很多用于智能设备存储,例如家用语音摄像头,一般在设备上格式化后会被设备写入一些其自身可识别的索引,设备检测到了自己可以认识的索引,就知道卡是可写入的,不会报格式化或初始化的提示,因此一些厂商会用这部分自己写入的索引信息检测SD卡是否为扩容卡,便于提示用户卡是否正常,下面为某厂商的网络摄像头SD卡存储内容,以此为例介绍下目前主要为三种检测方法:1、寄存器信息检测;2、索引检测;3、读写数据检测;
1、寄存器信息检测
Card Identification Register (CID)有16字节长,它包含了SD卡的唯一识别信息,标准的设计要求每张卡片的CID都不相同(之前我们有接到一例几张卡CID完全一致的现场)。这些信息是在卡的生产期间被烧录,主控制器不能修改它们的