加速SD卡读写速度的方法和电路技术

技术编号:9765542 阅读:70 留言:0更新日期:2014-03-15 09:14
本发明专利技术公开了一种加速安全数码卡SD读写速度的方法,采用一SRAM,用于数据缓存,使得数据传输中的源端和目的端能同时访问,从而源端和目的端能并行操作;采用一接收计数器,其工作在双时钟域,在写操作的软件流程的控制下实现加“1”和复位操作,在硬件流程的控制下实现减“1”操作,用于表示SRAM中有多少空间还可以用于数据接收;采用一发送计数器,其工作在双时钟域,在读操作的软件流程的控制下实现加“1”和复位操作,在硬件流程的控制下实现减“1”操作,用于表示SRAM中有多少数据可以发送。本发明专利技术还公开了一种加速安全数码卡SD读写速度的电路。本发明专利技术使SD卡能保证数据的正确性,良好的兼容性,又能有非常好的速度性能。

【技术实现步骤摘要】
加速SD卡读写速度的方法和电路
本专利技术涉及SD卡领域,特别是涉及一种加速SD (安全数码卡Secure DigitalMemory Card)卡读写速度的方法。本专利技术还涉及一种加速SD卡读写速度的电路。
技术介绍
SD卡是一种基于半导体快闪记忆器的新一代记忆设备。SD卡由日本松下、东芝及美国SanDisk公司于1999年8月共同开发研制。SD卡重量轻,体积小,但却拥有高记忆容量、快速数据传输率和极大的移动灵活性。目前被越来越广泛地应用在数码相机、数码摄像机、个人数码助理、多媒体播放器和笔记本等多种便携式数码产品中。随着SD卡的广泛应用,SD卡的容量也越来越大,目前符合SD2.0协议的高容量卡最大容量已经到了 32G字节。因此对SD卡的速度要求也越来越高。通常的SD卡都是由一个控制器芯片加上片外的大容量存储器组成,数据的读写实质上就是数据流从来源端(读操作时指片外存储器,写操作时指SD主机)流向目的端(读操作时指SD主机,写操作时指片外存储器),但是,数据流的来源端和目的端在数据的格式以及数据流的控制方式存在着很大差异,所以需要一个控制器芯片的存在。控制器芯片就是用于接收来源端数据并按照目的端的要求调整数据格式以及调整数据流的控制方式,使得数据流可以正确地从来源端传输到目的端。而且,在目前的SD卡设计中,控制器芯片对数据格式和数据流控制方式的调整都是通过控制器芯片中的片上软件系统实现的。由此可见,对SD卡读写速度的提高主要体现在如何让来源端和目的端的数据流并行流动,以及如何让硬件对数据流的处理和软件对数据流的处理并行。
技术实现思路
本专利技术要解决的技术问题是提供一种加速SD卡读写速度的方法,使SD卡能保证数据的正确性,良好的兼容性,又能有非常好的速度性能;为此,本专利技术还要提供一种加速SD卡读写速度的电路。为解决上述技术问题,本专利技术的加速SD卡读写速度的方法是采用如下技术方案实现的:采用一个双端口的静态随机存储器SRAM,用于数据缓存;使得数据传输中的源端和目的端能同时访问,从而源端和目的端能并行操作;采用一个接收计数器,其工作在双时钟域,在写操作的软件流程的控制下实现加“I”和复位操作;在硬件流程的控制下实现减“I”操作;用于表示静态随机存储器SRAM中有多少空间还可以用于数据接收;采用一个发送计数器,其工作在双时钟域,在读操作的软件流程的控制下实现加“I”和复位操作;在硬件流程的控制下实现减“I”操作;用于表示静态随机存储器SRAM中有多少数据可以发送。所述加速安全数码卡SD读写速度的电路,包括:一双端口的静态随机存储器SRAM,用于数据缓存;使得数据传输中的源端和目的端能同时访问,从而源端和目的端能并行操作;一接收计数器,其工作在双时钟域,在写操作的软件流程的控制下实现加“ I ”和复位操作;在硬件流程的控制下实现减“I”操作;用于表示静态随机存储器SRAM中有多少空间能用于数据接收;一发送计数器,其工作在双时钟域,在读操作的软件流程的控制下实现加“ I ”和复位操作;在硬件流程的控制下实现减“I”操作;用于表示静态随机存储器SRAM中有多少数据能发送。所述接收计数器中每个单位表示安全数码卡SD —个数据包的长度,该长度为512字节;接收计数器的最大值等于静态随机存储器SRAM的容量大小,最小值为零;当接收计数器的值不为零时,表示静态随机存储器SRAM的空余空间,至少可以接收一个安全数码卡SD数据包;当接收计数器的值为零时,表示静态随机存储器SRAM的空间不满一个数据包,这时安全数码卡SD会停止接收数据并通知安全数码卡SD主机,要求安全数码卡SD主机停止发送数据,直到接收计数器的值变为非零状态。所述发送计数器中每个单位表示安全数码卡SD —个数据包的长度,该长度为512字节;该发送计数器的最大值等于静态随机存储器SRAM的容量大小,最小值为零;当发送计数器的值不为零时,表示静态随机存储器SRAM至少有一个数据包,可以发送到安全数码卡SD主机;当发送计数器的值为零时,表示静态随机存储器SRAM中的数据不满一个数据包,这时安全数码卡SD会停止发送,直到发送计数器的值变为非零状态。所述双时钟域分别是安全数码卡SD时钟域和系统时钟域;在安全数码卡SD时钟域,处理与数据传输相关的部分;在系统时钟域,处理片上软件系统处理的部分;加“1”和复位操作,在系统时钟域实现,减“I”操作,在安全数码卡SD时钟域实现。当安全数码卡SD的一个数据包接收后,由硬件将所述接收计数器的值减“1”,表示静态随机存储器SRAM中的一个数据包的空间被占用;当软件系统在静态随机存储器SRAM释放出一个数据包长度的空间时,将接收计数器的值加“I”;当安全数码卡SD接收到安全数码卡SD主机的复位命令和中止命令时,将接收计数器的值复位到零。当安全数码卡SD的一个数据包发送完成后,由硬件将发送计数器的值减“1”,表示静态随机存储器SRAM中的一个数据包被发送;当软件系统在静态随机存储器SRAM增加了一个数据包长度的数据时,将发送计数器的值加“I”;当安全数码卡SD接收到安全数码卡主机的复位命令和中止命令时,将发送计数器的值复位到零。读操作时软件流程和硬件流程如下:软件保持发送计数器的值为零;硬件接收安全数码卡SD主机的读命令,通知软件系统,同时等待发送计数器的值变为非零;软件从外部存储器中读入数据到静态随机存储器SRAM,在一个数据包读入后,软件将发送计数器加“I”;硬件在发送计数器的值非零时,开始发送数据;同时软件从外部存储器继续读入数据;满一个数据包时,软件将发送计数器加“ I ” ;在静态随机存储器SRAM满的情况下,软件会暂停读取数据;硬件在一个数据包发送完成后,将发送计数器减“ I” ;减“ I”后,如果发送计数器的值为零,硬件停止发送并等待发送计数器的值变为非零,如果发送计数器的值非零,硬件继续发送下一个数据包;在接收到安全数码卡SD主机的中止命令或者复位命令前,软件的工作是读入数据,在数据满一个数据包长度时将发送计数器加“ I ”,硬件的工作是发送数据,完成后将发送计数器减“I” ;当接收到安全数码卡SD主机的中止命令和复位命令后,软件将发送计数器复位,读操作完成。写操作时软件流程和硬件流程如下:软件在SD卡进入数据传输状态时,将接收计数器的值写为“I” ;硬件接收安全数码卡SD主机的写命令,通知软件系统,同时接收第一个数据包;[0031 ] 硬件在一个数据包接收完成,将接收计数器减“ I ”;减“ I ”后,如果接收计数器的值为零,硬件停止接收并在数据端返回低电平,表示安全数码卡SD处于忙状态,忙状态一直延续到接收计数器的值变为非零;如果接收计数器的值非零,硬件继续接收下一个数据包;软件在将数据写入到外部存储器,同时根据静态随机存储器SRAM空间的具体情况,将接收计数器加“ I ”,并且有可能多次进行加“ I ”操作;在接收到安全数码卡SD主机的中止命令或者复位命令前,软件的工作是将数据写入到外部存储器,同时根据静态随机存储器SRAM空闲空间的大小将接收计数器加“1”,硬件的工作是接收数据,完成后将接收计数器减“I” ;当接收到安全数码卡SD主机的中止命令和复位命令后,软件将接收计数器复位,写操作完成。本专利技术本文档来自技高网...

【技术保护点】
一种加速安全数码卡SD读写速度的方法,其特征在于:采用一个双端口的静态随机存储器SRAM,用于数据缓存;使得数据传输中的源端和目的端能同时访问,从而源端和目的端能并行操作;采用一个接收计数器,其工作在双时钟域,在写操作的软件流程的控制下实现加“1”和复位操作;在硬件流程的控制下实现减“1”操作;用于表示静态随机存储器SRAM中有多少空间能用于数据接收;采用一个发送计数器,其工作在双时钟域,在读操作的软件流程的控制下实现加“1”和复位操作;在硬件流程的控制下实现减“1”操作;用于表示静态随机存储器SRAM中有多少数据能发送。

【技术特征摘要】
1.一种加速安全数码卡SD读写速度的方法,其特征在于: 采用一个双端口的静态随机存储器SRAM,用于数据缓存;使得数据传输中的源端和目的端能同时访问,从而源端和目的端能并行操作; 采用一个接收计数器,其工作在双时钟域,在写操作的软件流程的控制下实现加“ I ”和复位操作;在硬件流程的控制下实现减“I”操作;用于表示静态随机存储器SRAM中有多少空间能用于数据接收; 采用一个发送计数器,其工作在双时钟域,在读操作的软件流程的控制下实现加“ I ”和复位操作;在硬件流程的控制下实现减“I”操作;用于表示静态随机存储器SRAM中有多少数据能发送。2.如权利要求1所述的方法,其特征在于:所述接收计数器中每个单位表示安全数码卡SD —个数据包的长度,该长度为512字节;接收计数器的最大值等于静态随机存储器SRAM的容量,最小值为零;当接收计数器的值不为零时,表示静态随机存储器SRAM的空余空间,至少能接收一个安全数码卡SD数据包;当接收计数器的值为零时,表示静态随机存储器SRAM的空间不满一个数据包,这时安全数码卡SD会停止接收数据并通知安全数码卡SD主机,要求安全数码卡SD主机停止发送数据,直到接收计数器的值变为非零状态。3.如权利要求1所述的方法,其特征在于:所述发送计数器中每个单位表示安全数码卡SD —个数据包的长度,该长度为512字节;该发送计数器的最大值等于静态随机存储器SRAM的容量,最小值为零;当发送计数器的值不为零时,表示静态随机存储器SRAM至少有一个数据包,能发送到安全数码卡SD主机;当发送计数器的值为零时,表示静态随机存储器SRAM中的数据不满一个数据包,这时安全数码卡SD会停止发送,直到发送计数器的值变为非零状态。4.如权利要求1所述的方法,其特征在于:所述双时钟域分别是安全数码卡SD时钟域和系统时钟域;在安全数码卡SD时`钟域,处理与数据传输相关的部分;在系统时钟域,处理片上软件系统处理的部分;加“1”和复位操作,在系统时钟域实现;减“1”操作,在安全数码卡SD时钟域实现。5.如权利要求1或2所述的方法,其特征在于:当安全数码卡SD的一个数据包接收后,由硬件将所述接收计数器的值减“1”,表示静态随机存储器SRAM中的一个数据包的空间被占用;当软件系统在静态随机存储器SRAM释放出一个数据包长度的空间时,将接收计数器的值加“I”;当安全数码卡SD接收到安全数码卡SD主机的复位命令和中止命令时,将接收计数器的值复位到零。6.如权利要求1或3所述的方法,其特征在于:当安全数码卡SD的一个数据包发送完成后,由硬件将发送计数器的值减“1”,表示静态随机存储器SRAM中的一个数据包被发送;当软件系统在静态随机存储器SRAM增加了一个数据包长度的数据时,将发送计数器的值加“I”;当安全数码卡SD接收到安全数码卡主机的复位命令和中止命令时,将发送计数器的值复位到零。7.如权利要求1所述的方法,其特征在于:读操作时软件流程和硬件流程如下: 软件保持发送计数器的值为零; 硬件接收安全数码卡SD主机的读命令,通知软件系统,同时等待发送计数器的值变为非零;软件从外部存储器中读入数据到静态随机存储器SRAM,在一个数据包读入后,软件将发送计数器加“I”; 硬件在发送计数器的值非零时,开始发送数据;同时软件从外部存储器继续读入数据;满一个数据包时,软件将发送计数器加“ I ”;在静态随机存储器SRAM满的情况下,软件会暂停读取数据; 硬件在一个数据包发送完成后,将发送计数器减“ I” ;减“ I”后,如果发送计数器的值为零,硬件停止发送并等待发送计数器的值变为非零,如果发送计数器的值非零,硬件继续发送下一个数据包; 在接收到安全数码卡SD主机的中止命令或者复位命令前,软件的工作是读入数据,在数据满一个数据包长度时将发送计数器加“ I ”,硬件的工作是发送数据,完成后将发送计数器减“I”;当接收到安全数码卡SD主机的中止命令和复位命令后,软件将发送计数器复位,读操作完成。8.如权利要求1所述的方法,其特征在于:写操作时软件流程和硬件流程如下: 软件在SD卡进入数据传输状态时,将接收计数器的值写为“I” ; 硬件接收安全数码卡SD主机的写命令,通知软件系统,同时接收第一个数据包; 硬件在一个数据包接收完成,将接收计数器减“ I” ;减“ I”后,如果接收计数器的值为零,硬件停止接收并在数据端返回低电平,表示安全数码卡SD处于忙状态,忙状态一直延续到接收计数器的值变为非零;如果接收计数器的值非零,硬件继续接收下一个数据包; 软件在将数据写入到外部存储器,同时根据静态随机存储器SRAM空间的具体情况,将接收计数器加“ I ”,并且可根据需要多次进行加“ I ”操作; 在接收到安全数码卡SD主机的中`止命令或者复位命令前,软件的工作是将数据写入到外部存储器,同时根据静态随机存储器SRAM空闲空间的大小将接收计数器加“1”,硬件的工作是接收数据,完成后将接收计数器减“I”;当接收到安全数码卡SD主机的中止命令和复位命令后,软件将接收计数器复位,写操作完成。9...

【专利技术属性】
技术研发人员:叶国平汤晓岚
申请(专利权)人:上海华虹集成电路有限责任公司
类型:发明
国别省市:

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

1