CN102486837B - 一种向SD memory卡读写私有数据的方法 - Google Patents
一种向SD memory卡读写私有数据的方法 Download PDFInfo
- Publication number
- CN102486837B CN102486837B CN201010570211.0A CN201010570211A CN102486837B CN 102486837 B CN102486837 B CN 102486837B CN 201010570211 A CN201010570211 A CN 201010570211A CN 102486837 B CN102486837 B CN 102486837B
- Authority
- CN
- China
- Prior art keywords
- private data
- memory card
- write
- read
- data
- 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
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明涉及一种向SD memory卡读写私有数据的方法,包括:在SD memory卡中建立私有数据读、写文件,将私有数据读文件的地址保存到SD memory卡的存储空间并常驻内存,所述私有数据读、写文件的FAT表可写、目录可写、数据区可写;写私有数据时SD memory卡判断SD标准写命令中是否有私有数据写标识符,若有则执行私有数据写操作;读私有数据时SD memory卡判断SD标准读命令的地址是否与自身保存的私有数据读文件的地址相匹配,若匹配则进行私有数据读操作。使用本发明的向SD memory卡读写私有数据的方法,可以在SD memory卡量产时建立的读文件文件在被删除之后、被编辑之后或SD memory卡被格式化之后还能够实现私有数据的读写。
Description
技术领域
本发明涉及通信领域,尤其涉及一种向SD memory卡读写私有数据的方法。
背景技术
现有技术中,SD memory卡通过下述的方案来实现私有数据的读写:
第一种方案:量产工具在SD memory卡上创建读写文件,该读写文件的地址是由量产工具和SD memory卡固件协商好的某个地址或地址范围,SDmemory卡固件把和量产工具协商好的读写文件文件的地址或地址范围记录下来,但是这些地址或地址范围不可以更新。读私有数据时,SD memory卡固件会将标准SD读命令的地址与SD memory卡固件记录的地址相比较,若标准SD读命令的地址与SD memory卡固件记录的地址相等或在SD memory卡固件记录的地址范围内说明该读命令是私有数据读操作,否则为正常读操作。这样如果这些读文件被删除再去创建这些读文件,则再次创建的读文件的地址可能就和SD memory卡固件记录的地址不相等或不在SD memory卡记录的地址范围内,这样SD memory卡就不能再识别出私有数据读操作了。本方案中私有数据写操作有2种:1、写私有数据时在SD标准写命令中加入私有数据写标识符,SD memory卡判断SD标准写命令中是否有私有数据写标识符,若有则执行私有数据写操作;2、写文件的地址是由量产工具和SD memory卡固件协商好的某个地址或地址范围,SD memory卡固件把和量产工具协商好的写文件的地址或地址范围记录下来,但是这些地址或地址范围不可以更新,私有数据写操作室,SD memory卡固件会将标准SD写命令的地址与SDmemory卡固件记录的地址相比较,若标准SD写命令的地址与SD memory卡固件记录的地址相等或在SD memory卡固件记录的地址范围内说明该命令是私有数据写操作,否则为正常写操作。
第二种方案:量产工具在SD memory卡上创建读写文件,该读写文件的地址是由量产工具和SD memory卡固件协商好的某个地址或地址范围,SDmemory卡固件把和量产工具协商好的读写文件的地址或地址范围记录下来,并且SD memory卡固件会对这些读写文件的地址进行保护,即SD memory卡固件阻止对这些读写文件的地址进行写操作,也就是SD memory卡不允许对这些读写文件进行删除,且不允许对SD memory卡格式化操作。
本文中,私有数据包括私有命令和私有数据。
综上所述,现有技术中对SD memory卡读写私有数据的方案中存在这样的问题:量产时建立的读写文件不允许被删除、不允许被格式化操作;或者量产时建立的读写文件在被删除之后、被编辑之后或SD memory卡被格式化之后不能再通过该读写文件来实现私有数据的读写。
发明内容
本发明所要解决的技术问题是提供一种向SD memory卡读写私有数据的方法,使得SD memory卡量产时建立的读文件文件在被删除之后、被编辑之后或SD memory卡被格式化之后还能够实现私有数据的读写。
为解决上述技术问题,本发明提出了一种向SD memory卡读写私有数据的方法,包括:
在SD memory卡中建立私有数据读、写文件,并将私有数据读文件的地址保存到SD memory卡的存储空间,SD memory卡上电时从存储空间中读出私有数据读文件的地址并常驻内存,所述私有数据读、写文件的FAT表可写、目录可写、数据区可写;
写私有数据时终端向SD memory卡发出私有数据写命令,所述私有数据写命令是在SD标准写命令中加入私有数据写标识符而形成,SD memory卡判断SD标准写命令中是否有私有数据写标识符,若有则执行私有数据写操作;
读私有数据时SD memory卡判断SD标准读命令的地址是否与自身保存的私有数据读文件的地址相匹配,若匹配则进行私有数据读操作,SD memory卡在返回给终端的数据包中加入私有数据读标识符,形成私有数据读命令,所述终端根据该私有数据读标识符判断SD memory卡返回的数据为私有数据;
在进行私有数据的读写操作前,终端检查SD memory卡中私有数据读和/或写文件是否完整,若不完整则重新建立私有数据读和/或写文件,并重新保存私有数据读文件的地址到SD memory卡的存储空间。
进一步地,上述方法还可具有以下特点,所述在SD标准写命令中加入私有数据写标识符具体为:在SD标准写命令的起始位置加入私有数据写标识符。
进一步地,上述方法还可具有以下特点,所述在SD memory卡中建立私有数据读、写文件具体为:量产时生产厂家使用生产工具在SD memory卡中建立私有数据读、写文件。
进一步地,上述方法还可具有以下特点,所述在SD memory卡中建立私有数据读、写文件具体为:量产后终端用户使用终端应用工具在SD memory卡中建立私有数据读、写文件。
进一步地,上述方法还可具有以下特点,若SD标准读命令的地址与SDmemory卡内地址列表中保存的地址相等或在SD memory卡内地址列表保存的地址范围内,则SD标准读命令的地址与SD memory卡自身保存的私有数据读文件的地址相匹配。
进一步地,上述方法还可具有以下特点,所述私有数据写命令的数据格式如下表所示:
该表中各项的含义如下表所示:
进一步地,上述方法还可具有以下特点,所述私有数据读命令的数据格式如下表所示:
该表中各项的含义如下表所示:
使用本发明的向SD memory卡读写私有数据的方法,可以在SD memory卡量产时建立的读文件文件在被删除之后、被编辑之后或SD memory卡被格式化之后还能够实现私有数据的读写。
附图说明
图1为本发明实施例中私有数据写操作流程图;
图2为本发明实施例中私有数据读操作流程图。
具体实施方式
本发明的主要构思是,在SD memory卡中建立专用于读写私有数据的私有数据读写文件,终端通过读写这些私有数据读写文件的方式实现对SDmemory卡进行私有命令及数据的读写,以实现一些特殊应用,例如把终端通过私有命令发下来的数据透传到安全算法芯片以及将从安全算法芯片读取的数据通过私有命令透传到终端,以实现在智能手机上建立安全身份认证的SD key的数据通路的功能。其中,安全算法芯片可以是SD memory卡内部的安全算法模块,也可以是SD memory卡通过智能卡或其他接口相连的外部的安全算法芯片。
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
本发明向SD memory卡读写私有数据的方法具体为:
在SD memory卡中建立私有数据读、写文件,并将私有数据读文件的地址保存到SD memory卡的存储空间,SD memory卡每次上电时从存储空间中读出私有数据读文件的地址并常驻内存;
写私有数据时终端向SD memory卡发出私有数据写命令,所述私有数据写命令是在SD标准写命令中加入私有数据写标识符而形成,SD memory卡判断SD标准写命令中是否有私有数据写标识符,若有则执行私有数据写操作;
读私有数据时SD memory卡判断SD标准读命令的地址是否与自身保存的私有数据读文件的地址相匹配,若匹配则进行私有数据读操作,SD memory卡在返回给终端的数据包中加入私有数据读标识符,形成私有数据读命令,终端根据该私有数据读标识符判断SD memory卡返回的数据为私有数据。
这里,特别说明一下本发明中私有数据写和读的区别:私有数据写是数据从终端发给SD memory卡,私有数据写标识符由终端加入,SD memory卡通过检查数据包中是否有私有数据写标识符判断是否为私有数据写命令;私有数据读是数据从SD memory卡读到终端,私有数据读标识符由SD memory卡端加入,终端通过检查SD memory卡返回的数据包中是否有私有数据读标识符判断SD memory卡返回的数据是否为私有数据;这样构成终端和SDmemory卡端的私有数据交互。
其中,在SD memory卡中建立私有数据读、写文件既可以在量产时由生产厂家使用生产工具在SD memory卡中建立,也可以在量产后由终端用户使用终端应用工具在SD memory卡中建立。
其中,写私有数据时在SD标准写命令中加入私有数据写标识符一般是在SD标准写命令的起始位置加入私有数据写标识符,当然也可以将私有数据写标识符放在SD标准写命令的其他位置。
其中,判断SD标准读命令的地址是否与SD memory卡自身保存的私有数据读文件的地址相匹配可以为,若SD标准读命令的地址与SD memory卡内地址列表中保存的地址相等或在SD memory卡内地址列表保存的地址范围内,则SD标准读命令的地址与SD memory卡自身保存的私有数据读文件的地址相匹配,否则不匹配。
此外,为了保证读写私有数据时SD memory卡中的私有数据读写文件存在,可以在进行私有数据的读写操作前,由终端检查SD memory卡中私有数据读、写文件是否完整,若不完整则重新建立私有数据读、写文件,并重新保存私有数据读文件的地址到SD memory卡的存储空间。
本发明中,私有数据写命令的数据格式可以如表1所示:
表1
表1中各项的含义如表2所示:
表2
私有数据读命令的数据格式可以如表3所示:
表3
表3中各项的含义如表4所示:
表4
这里需要说明的是,私有数据写命令是从该命令的内容上来说的,在形式上看,私有数据写命令仍然是SD标准写命令,SD memory卡通过检查SD标准写命令的数据包中是否有私有数据写标识符来判断是否是私有数据写命令;同样,私有数据读命令是从该命令的内容上来说的,在形式上看,私有数据读命令仍然是SD标准读命令,SD memory卡通过检查SD标准读命令的地址是否与自身保存的私有数据读文件的地址相匹配来判断是否是私有数据读命令。
本发明中,对私有数据读写文件的创建方式说明如下:
私有数据读写文件在SD memory卡量产时由生产厂家使用生产工具创建,或者是在SD memory卡量产后由终端用户使用终端应用工具创建;
实现私有数据写只创建一个NanzCommand\Wr.bin文件,该文件的属性为隐藏,大小和磁盘簇(Cluster)大小相同,该文件的FAT表可写、目录可写、数据区可写,即文件可以被删除,该文件形态为Driver:\NanzCommand\Wr.bin;由于每一次私有数据写操作的数据包都不同(每次数据包都产生随机数Tag),因此不需担心缓存的问题;NanzCommand\Wr.bin文件可写的目的是使SD memory卡可以被格式化操作;
实现私有数据读操作需在SD memory卡的NanzResponse目录下创建512文件,分别命名为Rd0.bin、Rd1.bin、Rd2.bin、Rd3.bin…Rdxxx.bin…Rd511.bin,属性为隐藏,大小和磁盘簇大小相同,该文件的FAT表可写、目录可写、数据区可写,文件形态为Driver:\NanzResponse\RdXX.bin;读操作时建立一系列文件的目的是为了减少出现Cache读的问题;文件可写的目的是使磁盘可以被格式化操作;在创建读文件Rdxxx.bin时,终端在文件起始地址封装成私有数据写操作的的私有数据格式,把该数据写入Rdxxx.bin,SD memory卡固件判断SD标准写命令的数据的前32字节是否是Write Identification code,如果是再判断Cmd是否是创建文件的命令,如果是创建文件的命令则记录该SD标准写命令的逻辑地址(该逻辑地址就是该文件的地址,因为终端是在文件起始地址封装成私有数据格式),这样512个文件就有对应的512个逻辑地址,把这些逻辑地址保存至SD memory卡的存储空间中。
SD memory卡插入终端时需要从自身的存储空间中加载512个文件的逻辑地址常驻内存;终端应用软件打开时需要去检测SD memory卡中私有数句读文件的Rd0.bin、Rd1.bin、Rd2.bin、Rd3.bin…Rdxxx.bin…Rd511.bin是否完整,如果512个文件中有些文件不存在则终端需要去创建。
下面结合附图分别对私有数据的读、写操作进行说明。
图1为本发明实施例中私有数据写操作流程图。如图1所示,本发明实施例中,私有数据写操作流程包括:
步骤101,终端打开Driver:\NanzCommand\Wr.bin文件;
步骤102,终端判断Wr.bin文件是否存在,是则执行步骤104,否则执行步骤103;
步骤103,创建Driver:\NanzCommand\Wr.bin文件;
步骤104,将数据封包成私有命令封包,并执行WriteFile写文件操作;
步骤105,SD卡判断SD标准写命令的第一个Block中前32字节WriteIdentification Code,看是否为私有数据写操作;
步骤106,SD卡判断是否为私有数据写操作,是则执行步骤107,否则执行步骤108;
步骤107,SD卡执行私有数据写操作,结束;
步骤108,SD卡写正常文件至存储空间,结束。
图2为本发明实施例中私有数据读操作流程图。如图2所示,本发明实施例中,私有数据读操作流程包括:
步骤201,终端打开Driver:\Response\RdXXX.bin文件;
步骤202,判断RdXXX.bin文件存在,是则执行步骤207,否则执行步骤203;
步骤203,创建Driver:\Response\RdXXX.bin文件;
步骤204,数据封包成私有数据封包,并执行WriteFile写文件操作;
步骤205,SD卡判断SD标准写命令的第一个Block中前32字节WriteIdentification Code,看是否为私有数据写操作,并判断Cmd看是否为创建RdXXX.bin文件;
步骤206,如为创建RdXXX.bin文件,则记录RdXXX.bin文件的逻辑地址,并更新到存储空间中;
步骤207,发出私有数据读命令;
步骤208,SD卡通过读命令的地址判断是否为私有数据读操作;
步骤209,判断是否为私有数据读操作,是则执行步骤210,否则执行步骤211;
步骤210,执行该私有数据读操作,返回私有数据,结束;
步骤211,返回该文件中的实际数据,结束。
使用本发明的向SD memory卡读写私有数据的方法,可以在SD memory卡量产时建立的读文件文件在被删除之后、被编辑之后或SD memory卡被格式化之后还能够实现私有数据的读写。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种向SD memory卡读写私有数据的方法,其特征在于,包括:
在SD memory卡中建立私有数据读、写文件,并将私有数据读文件的地址保存到SD memory卡的存储空间,SD memory卡上电时从存储空间中读出私有数据读文件的地址并常驻内存,所述私有数据读、写文件的FAT表可写、目录可写、数据区可写;
写私有数据时终端向SD memory卡发出私有数据写命令,所述私有数据写命令是在SD标准写命令中加入私有数据写标识符而形成,SD memory卡判断SD标准写命令中是否有私有数据写标识符,若有则执行私有数据写操作;
读私有数据时SD memory卡判断SD标准读命令的地址是否与自身保存的私有数据读文件的地址相匹配,若匹配则进行私有数据读操作,SD memory卡在返回给终端的数据包中加入私有数据读标识符,形成私有数据读命令,所述终端根据该私有数据读标识符判断SDmemory卡返回的数据为私有数据;
在进行私有数据的读写操作前,终端检查SD memory卡中私有数据读和/或写文件是否完整,若不完整则重新建立私有数据读和/或写文件,并重新保存私有数据读文件的地址到SD memory卡的存储空间。
2.根据权利要求1所述的向SD memory卡读写私有数据的方法,其特征在于,所述在SD标准写命令中加入私有数据写标识符具体为:在SD标准写命令的起始位置加入私有数据写标识符。
3.根据权利要求1所述的向SD memory卡读写私有数据的方法,其特征在于,所述在SD memory卡中建立私有数据读、写文件具体为:量产时生产厂家使用生产工具在SD memory卡中建立私有数据读、写文件。
4.根据权利要求1所述的向SD memory卡读写私有数据的方法,其特征在于,所述在SD memory卡中建立私有数据读、写文件具体为:量产后终端用户使用终端应用工具在SD memory卡中建立私有数据读、写文件。
5.根据权利要求1所述的向SD memory卡读写私有数据的方法,其特征在于,若SD标准读命令的地址与SD memory卡内地址列表中保存的地址相等或在SD memory卡内地址列表保存的地址范围内,则SD标准读命令的地址与SD memory卡自身保存的私有数据读文件的地址相匹配。
6.根据权利要求1所述的向SD memory卡读写私有数据的方法,其特征在于,所述私有数据写命令的数据格式包括WriteIdentification code、Tag、Cmd、Date out length、Data五项;
各项的含义如下所示:
Write Identification code,私有命令写操作身份识别码,位于第0-31字节,字节长度为32;
Tag,终端生成的同步随机数,每条写命令采用唯一随机数,读命令时SDmemory需返回该数据给终端,位于第32-35字节,字节长度为4;
Cmd,命令操作,位于第36-39字节,字节长度为4;
Date out length,终端发送的实际数据字节长度,位于第40-43字节,字节长度为4;
Data,终端发送的实际数据,作为特殊应用数据,位于第40字节至第44加上DoLen字节,字节长度为DoLen。
7.根据权利要求1所述的向SD memory卡读写私有数据的方法,其特征在于,所述私有数据读命令的数据格式包括ReadIdentification code、Tag、Date out length、Data四项:
各项的含义如下所示:
Read Identification code,私有命令读操作身份识别码,位于第0-31字节,字节长度为32;
Tag,和私有命令写操作时Tag相同,位于第32-35字节,字节长度为4;
Date out length,终端接收的实际数据字节长度,位于第36-39字节,字节长度为4;
Data,终端接收的实际数据,作为特殊应用数据,位于第40字节至第44加上DiLen字节,字节长度为DiLen。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010570211.0A CN102486837B (zh) | 2010-12-02 | 2010-12-02 | 一种向SD memory卡读写私有数据的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010570211.0A CN102486837B (zh) | 2010-12-02 | 2010-12-02 | 一种向SD memory卡读写私有数据的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102486837A CN102486837A (zh) | 2012-06-06 |
CN102486837B true CN102486837B (zh) | 2015-01-07 |
Family
ID=46152328
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010570211.0A Active CN102486837B (zh) | 2010-12-02 | 2010-12-02 | 一种向SD memory卡读写私有数据的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102486837B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107145308B (zh) * | 2017-05-04 | 2021-06-22 | 惠州Tcl移动通信有限公司 | 移动终端、及其sd卡操作控制方法、系统、存储装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2824155Y (zh) * | 2005-09-27 | 2006-10-04 | 周志华 | 具有广告功能的自动售货机 |
CN101211319A (zh) * | 2006-12-31 | 2008-07-02 | 深圳市朗科科技有限公司 | 一种用于存储装置的程序文件保护方法及保护装置 |
CN101315674A (zh) * | 2007-05-31 | 2008-12-03 | 深圳市江波龙电子有限公司 | 保护及访问存储卡发行数据的方法 |
-
2010
- 2010-12-02 CN CN201010570211.0A patent/CN102486837B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2824155Y (zh) * | 2005-09-27 | 2006-10-04 | 周志华 | 具有广告功能的自动售货机 |
CN101211319A (zh) * | 2006-12-31 | 2008-07-02 | 深圳市朗科科技有限公司 | 一种用于存储装置的程序文件保护方法及保护装置 |
CN101315674A (zh) * | 2007-05-31 | 2008-12-03 | 深圳市江波龙电子有限公司 | 保护及访问存储卡发行数据的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102486837A (zh) | 2012-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8918579B2 (en) | Storage device and method for selective data compression | |
KR100380955B1 (ko) | 파일 시스템, 데이터 관리 방법 및 기록 매체 | |
CN102063377B (zh) | 存储介质的数据存取管理方法及存储控制器 | |
CN100561452C (zh) | 一种卡片操作系统对数据文件进行操作的方法及智能卡 | |
US8996787B2 (en) | Storage device aware of I/O transaction and stored data | |
US20100070707A1 (en) | Portable electronic device and data processing method in portable electronic device | |
EP2535846A1 (en) | Method and apparatus for partitioning sd card, sd card and terminal devices | |
US20140156913A1 (en) | Data processing method, memory controller and memory storage apparatus | |
US20130205068A1 (en) | Storage Device and Method for Utilizing Unused Storage Space | |
US20080320062A1 (en) | Method of transferring file system, file system transference program, and file system transference device | |
CN102486837B (zh) | 一种向SD memory卡读写私有数据的方法 | |
US7314180B2 (en) | Memory card and reproducing apparatus | |
KR101538619B1 (ko) | 일반 io 디바이스에 대한 보안 데이터 전송 애플리케이션의 통합 | |
CN103218300A (zh) | 数据处理方法、存储器控制器与存储器储存装置 | |
CN103177019B (zh) | Usb存储设备及其驱动方法 | |
CN110187837B (zh) | 一种文件存取方法、装置及文件系统 | |
CN102598015B (zh) | 通过存储设备实施文件保护策略 | |
US20040003166A1 (en) | Portable electronic medium issuing system and issuing method and portable electronic medium | |
CN101587427B (zh) | 一种通过扩展sd/mmc协议实现数码设备对存储卡控制的方法 | |
CN114661243A (zh) | 一种适ssd的可见容量调整的方法、装置、设备及介质 | |
JPWO2006006388A1 (ja) | ホスト機器、記憶装置、及び記憶装置へのアクセス方法 | |
CN210776642U (zh) | 一种多个tf卡自动拼盘装置 | |
EP2515237A1 (en) | Portable secure device providing storage service | |
CN113312000B (zh) | 硬盘以及存储系统 | |
MXPA03004842A (es) | Metodo para controlar la propagacion de elementos de metadatos. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |