0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

瀚海微SD NAND存储功能描述(13)读写擦除超时

吕辉 来源:jf_40298777 作者:jf_40298777 2024-08-18 13:43 次阅读

读、写、擦除超时条件

如果主机在给定的超时时间内没有收到任何响应,则应假定该卡不会响应,并尝试恢复(例如重置卡,电源周期,拒绝等)。

Read

对于标准容量SD存储卡,读取操作的超时条件发生的时间(与卡无关)要么比下面给出的这些操作的典型访问时间长100倍,要么长100毫秒(两者中较低者)。读访问时间定义为CSD参数TAAC和NSAC给出的两个时间之和。在单读操作的情况下,这些卡参数定义了read命令的结束位和数据块的开始位之间的典型延迟。在多读操作的情况下,它们还定义了数据块的结束位和下一个数据块的开始位之间的典型延迟High Capacity SD Memory Card和Extended Capacity SD Memory Card表示TAAC和NSA作为固定值。对于单个和多个读操作,主机应该使用100毫秒的超时(最小),而不是使用TAAC和NSAC。

Write

写对于标准容量SD存储卡,发生写操作的超时条件的时间(与卡无关)要么比下面给出的这些操作的典型程序时间长90倍,要么长250毫秒(两者中较低的一个)。CSD中的R2w FACTOR字段用于计算读访问时间乘以该因子得到的典型块程序时间,它适用于所有写命令(e.g. SET(CLR)_ write PROTEGT ,program_CSD和the block write commands)。

High Capacity SD Memory Card和Extended Capacity SD Memory Card的R2W_FACTOR为固定值。

对于高容量SD存储卡,所有写操作的最大繁忙长度定义为250ms。

在SDXC卡的情况下,该卡应该尽量保持写操作的忙指示不超过250ms,如果该卡无法维持250ms的忙操作,则该卡可以在以下场景中显示高达500ms的写忙指示,包括单块和多块写:

a)任何写操作中最长500ms的最后一次繁忙,包括单块和多块写。

b)当CMD12停止多个块写时,CMD12响应的繁忙时间高达500ms。

c) CMD23停止写多个块时,最后一个数据块后的繁忙时间高达500ms。

d)除以下情况外,多块写入时块间隙的忙指示最长可达250ms。当卡连续执行两个块写(2*512Bytes)并且跨越物理块边界时,每个块后的繁忙时间可显示为500ms。

特别是无论上述定义如何,CMD20指定的速度级写入模式在任何情况下都应保持写忙,最长可达250ms,直到指示速度级写入结束。

在多块写操作中有两种类型的业务。

(1) block qap(不带CMD12)写忙最大250ms

(2) CMD12后写忙最大250ms (SDXC为500ms)

如果在多块写操作繁忙期间发出CMD12,则主机超时计数器为从CMD12的响应中测量250ms (SDXC为500ms)的超时时间。

应用注意:

主机应该为写操作使用固定超时,而不是使用从R2W FACTOR参数计算的超时。

强烈建议主机实现超过500ms的超时值,即使显示卡显示的繁忙长度为250ms。

即使卡支持Speed Class,任何多块写操作都可能表示一个繁忙的时间段,最长可达250ms。一个AU上的繁忙时段的总和受速度等级的限制。

Erase

如果卡在SD Status中支持擦除超时计算参数,主机应该使用这些参数来确定擦除超时。如果卡不支持这些参数,则可以通过块写延迟来估计擦除超时。

一个erase命令的持续时间可以用需要擦除的写块(write_BL)的数量乘以250ms来估计。

Commands

命令类型

有四种命令定义来控制SD存储卡:

广播命令(bc),无响应-广播特性仅在主机中的所有CMD行连接在一起时才会出现。如果它们是分开的,那么每一张牌将轮流单独接受它。

带响应的广播命令(bcr)所有卡同时响应-由于SD存储卡中没有Open Drain模式,这种类型的命令只能在所有CMD行分开时使用-该命令将被每个卡单独接受和响应。

寻址(点对点)命令(ac)在DAT上没有数据传输地址

(点对点)数据传输命令(adtc)数据在DAT上传输所有命令和响应都通过SD存储卡的CMD行发送。的command传输总是从与命令码字对应的位串的左位开始。

命令格式

所有命令都有固定的48位代码长度,需要1.92 us@ 25 MHz和0.96 us@ 50 MHz的传输时间。

wKgZombBiduAL5f_AAB1DLLcs7E853.png

命令总是以起始位(always 0)开始,然后是指示传输方向的位(host= 1)。接下来的6位表示命令的索引,该值被解释为二进制编码数(0到63之间)。一些命令需要一个参数(例如地址),它是由32位编码的。

上表中以“x”表示的值表示该变量依赖于命令。所有的命令都受到CRC的保护。每个命令码字以结束位(always 1)结束。

所有命令及其参数可以参考SD NAND存储功能描述(14)命令

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 存储
    +关注

    关注

    13

    文章

    4265

    浏览量

    85675
  • SDIO接口
    +关注

    关注

    0

    文章

    8

    浏览量

    2282
  • SD NAND
    +关注

    关注

    0

    文章

    81

    浏览量

    1215
收藏 人收藏

    评论

    相关推荐

    Arduino程序:实现SD NAND(贴片sd卡)的读写功能

      单片机上传程序的时候,有时候感觉它的rom和 ram有时直接限制了他的使用,之前使用eeprom,和sd卡模块. []()   然后最近看到了出的SD NAND 就是下面这个
    发表于 11-07 17:45

    国产安路FPGA SD NAND FLASH 初步描述

    说起SD NAND FLASH常被联想到SD卡,SD NAND FLASH具备当前SD卡的基本
    发表于 10-16 18:12

    瀚海SD NAND存储功能描述(28)RCA Registers

    CMD7将所有卡设置为standby状态。 DSR register (Optional) 后面的内容会详细描述了16位驱动级寄存器。它可以选择性地用于改善扩展操作条件下的总线性能(取决于总线长度、传输
    的头像 发表于 09-23 10:15 182次阅读
    <b class='flag-5'>瀚海</b><b class='flag-5'>微</b><b class='flag-5'>SD</b> <b class='flag-5'>NAND</b><b class='flag-5'>存储</b><b class='flag-5'>功能</b><b class='flag-5'>描述</b>(28)RCA Registers

    瀚海SD NAND存储功能描述(26)CSD Registers

    寄存器中的CSD STRUCTURE字段表示其结构版本。 CSD结构的版本号如下表所示。   以下部分描述CSD字段和相关
    的头像 发表于 09-18 10:17 393次阅读
    <b class='flag-5'>瀚海</b><b class='flag-5'>微</b><b class='flag-5'>SD</b> <b class='flag-5'>NAND</b><b class='flag-5'>存储</b><b class='flag-5'>功能</b><b class='flag-5'>描述</b>(26)CSD Registers

    瀚海SD NAND存储功能描述(25)SD Registers

    寄存器是存储实际配置参数的配置寄存器。为了使将来的扩展成为可能,该卡应在寄存器的保留位中返回0。 OCR寄存器 32位操作条件寄存器存储卡的Vpo电压剖面。此外,这个寄存器还包括状态信息位。如果卡上电过程已经完成,则设置一个状态位。这个寄存器包括另一个状态位,在设置上电状
    的头像 发表于 09-14 09:53 250次阅读
    <b class='flag-5'>瀚海</b><b class='flag-5'>微</b><b class='flag-5'>SD</b> <b class='flag-5'>NAND</b><b class='flag-5'>存储</b><b class='flag-5'>功能</b><b class='flag-5'>描述</b>(25)<b class='flag-5'>SD</b> Registers

    瀚海SD NAND存储功能描述(24)擦除超时计算

    擦除单元速度类规范定义了一个新的管理单元AU(分配单元)。擦除超时计算被定义为AU的基础。SD存储卡支持块
    的头像 发表于 09-07 10:58 434次阅读
    <b class='flag-5'>瀚海</b><b class='flag-5'>微</b><b class='flag-5'>SD</b> <b class='flag-5'>NAND</b><b class='flag-5'>存储</b><b class='flag-5'>功能</b><b class='flag-5'>描述</b>(24)<b class='flag-5'>擦除</b><b class='flag-5'>超时</b>计算

    瀚海SD NAND存储功能描述(21)数据读写

    数据读取 注:数据线表示数据总线(1位或4位)。 单块读取 主机选择一张卡进行CMD7的数据读取操作,并设置CMD16面向块的数据传输的有效块长度。读操作的基本总线时序如下图所示。该序列从单个块读取命令(CMD17)开始,该命令在参数字段中指定起始地址。响应像往常一样在CMD行上发送。 卡的数据传输开始于从读命令结束位开始的访问延时Nac之后。在最后一个数据位之后,CRC校验位的后缀允许主机检查传输错误。 多块读取 在多块读取模式下,卡按照主机的
    的头像 发表于 09-03 10:14 251次阅读
    <b class='flag-5'>瀚海</b><b class='flag-5'>微</b><b class='flag-5'>SD</b> <b class='flag-5'>NAND</b><b class='flag-5'>存储</b><b class='flag-5'>功能</b><b class='flag-5'>描述</b>(21)数据<b class='flag-5'>读写</b>

    瀚海SD NAND存储功能描述(18)命令类e

    总线传输到主机。 作为对ACMD13 (CMD55后接CMD13)的响应,SD Status通过DAT总线发送给主机。ACMD13只能发送到“传输状态”的卡(卡被选中)。
    的头像 发表于 08-26 10:00 274次阅读
    <b class='flag-5'>瀚海</b><b class='flag-5'>微</b><b class='flag-5'>SD</b> <b class='flag-5'>NAND</b><b class='flag-5'>存储</b><b class='flag-5'>功能</b><b class='flag-5'>描述</b>(18)命令类e

    瀚海SD NAND存储功能描述(11)命令系统CMD8

    高速模式(25mb /秒接口速度) 虽然Rev 1.01 SD存储卡支持高达12.5 MB/秒的接口速度,但为了支持主机不断增长的性能需求和内存大小持续增长,25 MB/秒的速度是必要的。为了实现
    的头像 发表于 08-12 16:03 350次阅读
    <b class='flag-5'>瀚海</b><b class='flag-5'>微</b><b class='flag-5'>SD</b> <b class='flag-5'>NAND</b><b class='flag-5'>存储</b><b class='flag-5'>功能</b><b class='flag-5'>描述</b>(11)命令系统CMD8

    瀚海SD NAND存储功能描述(9)切换功能

    开关功能状态 开关功能状态是返回的数据块,其中包含功能和当前消耗信息。块长度预定义为512位,不需要使用SET_BLK_LEN命令。状态数据结构如下表所示。响应的状态位包含功能组的信息
    的头像 发表于 08-09 10:15 234次阅读
    <b class='flag-5'>瀚海</b><b class='flag-5'>微</b><b class='flag-5'>SD</b> <b class='flag-5'>NAND</b><b class='flag-5'>存储</b><b class='flag-5'>功能</b><b class='flag-5'>描述</b>(9)切换<b class='flag-5'>功能</b>

    瀚海SD NAND应用存储功能描述(7)擦除和写保护

    多块写操作之前的预擦除设置 设置预擦除的写块数量(ACMD23)将使后续的多块写操作比不使用ACMD23的相同操作更快。主机将使用这个命令来定义在下一次写操作中要发送多少个写块。如果主机将在
    的头像 发表于 08-07 10:36 274次阅读
    <b class='flag-5'>瀚海</b><b class='flag-5'>微</b><b class='flag-5'>SD</b> <b class='flag-5'>NAND</b>应用<b class='flag-5'>存储</b><b class='flag-5'>功能</b><b class='flag-5'>描述</b>(7)<b class='flag-5'>擦除</b>和写保护

    瀚海SD NAND应用存储功能描述(6)读写数据

    宽总线选择/取消 选择宽总线(4位总线宽度)操作模式可以使用AcMD6选择/取消选择。默认总线上电或GO IDLE (CMDO)后的宽度为1位总线宽度。 要改变母线宽度需要满足两个条件: a)卡处于“传输状态”。 b)卡未锁定被锁定的卡将响应ACMD6为非法命令。 2GB卡 要制作2GByte卡,最大块长度(READ BL LEN- write BL LEN)应设置为1024字节。但是,CMD16设置的块长度最多为512字节,以保持与512字节最大块长度卡(小于等于2GByte卡)的一致性。 数据读取 当没有数据传输时,通过上拉使数
    的头像 发表于 08-06 14:21 269次阅读
    <b class='flag-5'>瀚海</b><b class='flag-5'>微</b><b class='flag-5'>SD</b> <b class='flag-5'>NAND</b>应用<b class='flag-5'>存储</b><b class='flag-5'>功能</b><b class='flag-5'>描述</b>(6)<b class='flag-5'>读写</b>数据

    瀚海SD NAND应用之SD协议存储功能描述2 初始化命令

    ACMD41的功能;争论中的HCS和回应中的CCS(卡容量状态)。 HCS被卡忽略,卡对CMD8没有反应。 但是,如果卡没有返回CMD8响应,主机应该将HCS设置为0。标准容量SD存储卡忽略HCS。如果
    的头像 发表于 07-22 10:54 333次阅读
    <b class='flag-5'>瀚海</b><b class='flag-5'>微</b><b class='flag-5'>SD</b> <b class='flag-5'>NAND</b>应用之<b class='flag-5'>SD</b>协议<b class='flag-5'>存储</b><b class='flag-5'>功能</b><b class='flag-5'>描述</b>2 初始化命令

    SD NAND和SPI NAND的区别

    SD NAND和SPI NAND各有优缺点,适用于不同的应用场景。SD NAND提供更高的读写
    的头像 发表于 06-04 14:26 1800次阅读

    什么是SD NAND存储芯片?

    控制、移动设备等。在这些应用中, SD NAND能提供高可靠性、高速读写、低功耗和高度集成等特点, 为新一代的嵌入式存储解决方案引领市场趋势。   总结   对这款产品优点总结为一
    发表于 01-05 17:54