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

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

3天内不再提示

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

吕辉 来源:jf_40298777 作者:jf_40298777 2024-09-07 10:58 次阅读

本章提供了长擦除的指导原则和计算擦除超时值的方法

擦除单元速度类规范定义了一个新的管理单元AU(分配单元)。擦除超时计算被定义为AU的基础。SD存储卡支持块擦除,但擦除块需要更多的时间,这是AU(部分擦除AU)的一部分。在这种情况下,主机应该在以AU为基础计算的超时结果中添加250毫秒。当开始和结束块位于相同的部分擦除AU时,应添加500ms。

擦除时间特性案例分析

下图显示了擦除特性的示例,擦除的AU数量与擦除时间的关系。擦除时间是通过使用一个Erase命令擦除指定数量的au得来的。假设擦除是在AU基础上进行的,其擦除特性可以近似为一条直线。图中线A为典型特征。红线表示主机应该使用的擦除超时值。超时值可由a行确定。如果擦除超时小于1秒,则主机应使用1秒作为超时。如果超时大于1秒,主机应该使用行A确定的值。寄存器参数Nerase, Terase和Toffset定义线的形状。TERASE表示从TOFFSET中擦除NERASE AUs的超时时间。TERASE和NERASE决定直线的斜率。ToFFSET通过在上方平行移动来调整线条。卡制造商应确定这些参数,使线路始终大于任何AUs的擦除时间。实际擦除时间为始终小于擦除超时时间,线的斜率应小于3秒每AU。

wKgaombae6mACceEAACeTB7PUeo821.png

下图中的行B是擦除特性的另一个示例。红线表示主机应该使用的擦除超时值。由于超时大于1秒,红线和B线是等效的。

AU的擦除时间不得超过3秒。ToFFSET主要用于调整AU的擦除超时时间。

wKgZombae7uAcq4BAACa8_MkcR8754.png

SD NAND 或SD卡 大面积擦除方法

多个AUs计算的擦除超时时间可能与实际擦除时间相比太大擦除超时的计算不准确,因为计算的超时包括空白。每个AU的余量会累积,并且为大量AU计算超时的结果将包含较大的余量。这样的计算是没有意义的,因为差额的范围可能以分钟为单位。因此,应一次擦除少量au。这使主机能够以更少的错误计算更小的超时。

应用说明:当大面积擦除时,主机应在AU边界处将其划分为小区域,并使用小区域擦除超时时间连续擦除小区域。擦除一个大的区域可能需要很长时间,因此主机应该通知用户擦除的进度,否则用户可能会中止擦除的执行。

通过参数寄存器计算擦除超时时间

X AU的Erase Timeout可由式(6)计算。

wKgaombae8-Aa41-AAAl39SgGHs504.png

擦除超时时间由以下步骤确定:

(1)计算式(6)。

(2)如果(1)的结果小于1秒,则将超时时间设置为1秒。

(3)对于每个部分擦除AU,应在(2)的结果上增加250 ms。当开始和结束块处于部分擦除au时,将(2)的结果增加500 ms。

设置块计数命令

CMD12用于停止多块读/写操作。然而,CMD12是定时依赖的,很难控制定时以精确定时发出CMD12。由于UHS104卡时钟和数据之间的延迟变化较大,CMD23可以代替CMD12,用于主机停止多个读写操作。主机不需要控制CMD12的定时。该命令适用于始终为512字节块长度的读写操作,此时SDSc卡不支持此命令。UHS104卡必须支持CMD23。

在SCR中定义了对CMD23的支持。CMD23的响应类型为R1,未显示忙。l CMD23在传输状态下被接受,对CMD23后面的多块读/写命令(CMD18或CMD25)有效。如果CMD23后面有其他命令,则取消设置块计数(包括CMD13)。如果发生命令CRC错误,卡不返回R1响应CMD23。此时Set block count无效,需要重试CMD23。如果发布了多个CMD23,最后一个有效。

CMD23的定义如下图所示。如果参数中的块计数设置为0。CMD23无效。CMD23设置的块计数值不被卡检查,然后CMD23在响应中不指示任何错误(CMD23的响应中指示先前的命令错误)。如果设置了非法块计数,读写时会出现超出范围错误(例如,在用户区边界处停止传输数据)。

如果在CMD18和CMD25操作中检测到任何错误,主机需要发出CMD12。如果一个CMD25被终止,并且传输的数据量小于前一个CMD23所指示的数据量,则CMD23所指定的未写入区域可能包含未定义数据。如果传输的数据量大于前面CMD23所指示的数据量,则不写入额外的数据。

wKgZombae-aARqXkAADTAaCOk-k549.png

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

    关注

    16

    文章

    1681

    浏览量

    136121
  • 存储卡
    +关注

    关注

    0

    文章

    252

    浏览量

    28181
  • SD
    SD
    +关注

    关注

    1

    文章

    163

    浏览量

    33666
收藏 人收藏

    评论

    相关推荐

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

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

    SD NAND:儿童玩具的多功能存储神器

    儿童玩具的发展一直在不断创新,而SD NAND作为一种多功能存储器,为儿童玩具带来了全新的应用体验。无论是音乐和故事播放器,还是教育游戏和应用,甚至是图像和视频
    的头像 发表于 01-31 16:47 697次阅读
    <b class='flag-5'>SD</b> <b class='flag-5'>NAND</b>:儿童玩具的多<b class='flag-5'>功能</b><b class='flag-5'>存储</b>神器

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

    ACMD41的功能;争论中的HCS和回应中的CCS(卡容量状态)。 HCS被卡忽略,卡对CMD8没有反应。 但是,如果卡没有返回CMD8响应,主机应该将HCS设置为0。标准容量SD存储卡忽略HCS。如果
    的头像 发表于 07-22 10:54 355次阅读
    <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应用存储功能描述(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 287次阅读
    <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)读写数据

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

    多块写操作之前的预擦除设置 设置预擦除的写块数量(ACMD23)将使后续的多块写操作比不使用ACMD23的相同操作更快。主机将使用这个命令来定义在下一次写操作中要发送多少个写块。如果主机将在
    的头像 发表于 08-07 10:36 310次阅读
    <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存储功能描述(9)切换功能

    开关功能状态 开关功能状态是返回的数据块,其中包含功能和当前消耗信息。块长度预定义为512位,不需要使用SET_BLK_LEN命令。状态数据结构如下表所示。响应的状态位包含功能组的信息
    的头像 发表于 08-09 10:15 260次阅读
    <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存储功能描述(11)命令系统CMD8

    高速模式(25mb /秒接口速度) 虽然Rev 1.01 SD存储卡支持高达12.5 MB/秒的接口速度,但为了支持主机不断增长的性能需求和内存大小持续增长,25 MB/秒的速度是必要的。为了实现
    的头像 发表于 08-12 16:03 389次阅读
    <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存储功能描述(13)读写擦除超时

    读、写、擦除超时条件 如果主机在给定的超时时间内没有收到任何响应,则应假定该卡不会响应,并尝试恢复(例如重置卡,电源周期,拒绝等)。 Read 对于标准容量SD
    的头像 发表于 08-18 13:43 316次阅读
    <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>(13)读写<b class='flag-5'>擦除</b><b class='flag-5'>超时</b>

    瀚海SD NAND存储功能描述(14)命令类a

    的类总是被设置为1。具有特定功能的卡可能需要支持一些可选命令。 例如,Combo Card应该支持CMD5。等级0、2、4、5和8是强制性的,所有SD存储卡都应支持。除CMD40外,SDHC和SDXC是强制性的。其他类是可选的。
    的头像 发表于 08-19 10:26 282次阅读
    <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>(14)命令类a

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

    SD存储SD 状态 SD状态包含与SD存储卡专有特性相关的状态位,并且可能用于未来特定应用程序
    的头像 发表于 08-26 10:00 312次阅读
    <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存储功能描述(21)数据读写

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

    瀚海SD NAND存储功能描述(22)Timing Values

    Timing Values 块读取Gap 在读取操作过程中,由于主机缓冲区已满,主机需要通过停止SDCLK来停止从卡中读取数据的输出。考虑到使用采样时钟调优方法,主机需要在块间隙停止SDCLK,而不是在数据传输过程中停止SDCLK。 由于数据的变化,DAT[3:0]应该被认为是与SDCLK异步的。因此,通过检测数据块的结束位来停止SDCLK需要很少的时钟,因为需要同步。最小块间隙时钟(Nac)定义为8,以便主机可以在卡开始输出下一个数据块之前停止SDcLK。 下图给出了在块间隙处停止
    的头像 发表于 09-04 11:20 264次阅读
    <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>(22)Timing Values

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

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

    寄存器中的CSD STRUCTURE字段表示其结构版本。 CSD结构的版本号如下表所示。   以下部分描述CSD字段和相关
    的头像 发表于 09-18 10:17 462次阅读
    <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存储功能描述(28)RCA Registers

    CMD7将所有卡设置为standby状态。 DSR register (Optional) 后面的内容会详细描述了16位驱动级寄存器。它可以选择性地用于改善扩展操作条件下的总线性能(取决于总线长度、传输
    的头像 发表于 09-23 10:15 202次阅读
    <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