本章提供了長(zhǎng)擦除的指導(dǎo)原則和計(jì)算擦除超時(shí)值的方法。
擦除單元速度類規(guī)范定義了一個(gè)新的管理單元AU(分配單元)。擦除超時(shí)計(jì)算被定義為AU的基礎(chǔ)。SD存儲(chǔ)卡支持塊擦除,但擦除塊需要更多的時(shí)間,這是AU(部分擦除AU)的一部分。在這種情況下,主機(jī)應(yīng)該在以AU為基礎(chǔ)計(jì)算的超時(shí)結(jié)果中添加250毫秒。當(dāng)開始和結(jié)束塊位于相同的部分擦除AU時(shí),應(yīng)添加500ms。
擦除時(shí)間特性案例分析
下圖顯示了擦除特性的示例,擦除的AU數(shù)量與擦除時(shí)間的關(guān)系。擦除時(shí)間是通過使用一個(gè)Erase命令擦除指定數(shù)量的au得來的。假設(shè)擦除是在AU基礎(chǔ)上進(jìn)行的,其擦除特性可以近似為一條直線。圖中線A為典型特征。紅線表示主機(jī)應(yīng)該使用的擦除超時(shí)值。超時(shí)值可由a行確定。如果擦除超時(shí)小于1秒,則主機(jī)應(yīng)使用1秒作為超時(shí)。如果超時(shí)大于1秒,主機(jī)應(yīng)該使用行A確定的值。寄存器參數(shù)Nerase, Terase和Toffset定義線的形狀。TERASE表示從TOFFSET中擦除NERASE AUs的超時(shí)時(shí)間。TERASE和NERASE決定直線的斜率。ToFFSET通過在上方平行移動(dòng)來調(diào)整線條??ㄖ圃焐虘?yīng)確定這些參數(shù),使線路始終大于任何AUs的擦除時(shí)間。實(shí)際擦除時(shí)間為始終小于擦除超時(shí)時(shí)間,線的斜率應(yīng)小于3秒每AU。
下圖中的行B是擦除特性的另一個(gè)示例。紅線表示主機(jī)應(yīng)該使用的擦除超時(shí)值。由于超時(shí)大于1秒,紅線和B線是等效的。
AU的擦除時(shí)間不得超過3秒。ToFFSET主要用于調(diào)整AU的擦除超時(shí)時(shí)間。
SD NAND 或SD卡 大面積擦除方法
多個(gè)AUs計(jì)算的擦除超時(shí)時(shí)間可能與實(shí)際擦除時(shí)間相比太大擦除超時(shí)的計(jì)算不準(zhǔn)確,因?yàn)橛?jì)算的超時(shí)包括空白。每個(gè)AU的余量會(huì)累積,并且為大量AU計(jì)算超時(shí)的結(jié)果將包含較大的余量。這樣的計(jì)算是沒有意義的,因?yàn)椴铑~的范圍可能以分鐘為單位。因此,應(yīng)一次擦除少量au。這使主機(jī)能夠以更少的錯(cuò)誤計(jì)算更小的超時(shí)。
應(yīng)用說明:當(dāng)大面積擦除時(shí),主機(jī)應(yīng)在AU邊界處將其劃分為小區(qū)域,并使用小區(qū)域擦除超時(shí)時(shí)間連續(xù)擦除小區(qū)域。擦除一個(gè)大的區(qū)域可能需要很長(zhǎng)時(shí)間,因此主機(jī)應(yīng)該通知用戶擦除的進(jìn)度,否則用戶可能會(huì)中止擦除的執(zhí)行。
通過參數(shù)寄存器計(jì)算擦除超時(shí)時(shí)間
X AU的Erase Timeout可由式(6)計(jì)算。
擦除超時(shí)時(shí)間由以下步驟確定:
(1)計(jì)算式(6)。
(2)如果(1)的結(jié)果小于1秒,則將超時(shí)時(shí)間設(shè)置為1秒。
(3)對(duì)于每個(gè)部分擦除AU,應(yīng)在(2)的結(jié)果上增加250 ms。當(dāng)開始和結(jié)束塊處于部分擦除au時(shí),將(2)的結(jié)果增加500 ms。
設(shè)置塊計(jì)數(shù)命令
CMD12用于停止多塊讀/寫操作。然而,CMD12是定時(shí)依賴的,很難控制定時(shí)以精確定時(shí)發(fā)出CMD12。由于UHS104卡時(shí)鐘和數(shù)據(jù)之間的延遲變化較大,CMD23可以代替CMD12,用于主機(jī)停止多個(gè)讀寫操作。主機(jī)不需要控制CMD12的定時(shí)。該命令適用于始終為512字節(jié)塊長(zhǎng)度的讀寫操作,此時(shí)SDSc卡不支持此命令。UHS104卡必須支持CMD23。
在SCR中定義了對(duì)CMD23的支持。CMD23的響應(yīng)類型為R1,未顯示忙。l CMD23在傳輸狀態(tài)下被接受,對(duì)CMD23后面的多塊讀/寫命令(CMD18或CMD25)有效。如果CMD23后面有其他命令,則取消設(shè)置塊計(jì)數(shù)(包括CMD13)。如果發(fā)生命令CRC錯(cuò)誤,卡不返回R1響應(yīng)CMD23。此時(shí)Set block count無效,需要重試CMD23。如果發(fā)布了多個(gè)CMD23,最后一個(gè)有效。
CMD23的定義如下圖所示。如果參數(shù)中的塊計(jì)數(shù)設(shè)置為0。CMD23無效。CMD23設(shè)置的塊計(jì)數(shù)值不被卡檢查,然后CMD23在響應(yīng)中不指示任何錯(cuò)誤(CMD23的響應(yīng)中指示先前的命令錯(cuò)誤)。如果設(shè)置了非法塊計(jì)數(shù),讀寫時(shí)會(huì)出現(xiàn)超出范圍錯(cuò)誤(例如,在用戶區(qū)邊界處停止傳輸數(shù)據(jù))。
如果在CMD18和CMD25操作中檢測(cè)到任何錯(cuò)誤,主機(jī)需要發(fā)出CMD12。如果一個(gè)CMD25被終止,并且傳輸?shù)臄?shù)據(jù)量小于前一個(gè)CMD23所指示的數(shù)據(jù)量,則CMD23所指定的未寫入?yún)^(qū)域可能包含未定義數(shù)據(jù)。如果傳輸?shù)臄?shù)據(jù)量大于前面CMD23所指示的數(shù)據(jù)量,則不寫入額外的數(shù)據(jù)。
-
NAND
+關(guān)注
關(guān)注
16文章
1719瀏覽量
137810 -
存儲(chǔ)卡
+關(guān)注
關(guān)注
0文章
260瀏覽量
28532 -
SD
+關(guān)注
關(guān)注
1文章
167瀏覽量
34311
發(fā)布評(píng)論請(qǐng)先 登錄
國(guó)產(chǎn)安路FPGA SD NAND FLASH 初步描述
SD NAND:兒童玩具的多功能存儲(chǔ)神器

瀚海微SD NAND應(yīng)用之SD協(xié)議存儲(chǔ)功能描述2 初始化命令

瀚海微SD NAND應(yīng)用存儲(chǔ)功能描述(6)讀寫數(shù)據(jù)

瀚海微SD NAND應(yīng)用存儲(chǔ)功能描述(7)擦除和寫保護(hù)

瀚海微SD NAND存儲(chǔ)功能描述(9)切換功能

瀚海微SD NAND存儲(chǔ)功能描述(11)命令系統(tǒng)CMD8

瀚海微SD NAND存儲(chǔ)功能描述(13)讀寫擦除超時(shí)

瀚海微SD NAND存儲(chǔ)功能描述(14)命令類a

瀚海微SD NAND存儲(chǔ)功能描述(18)命令類e

瀚海微SD NAND存儲(chǔ)功能描述(21)數(shù)據(jù)讀寫

瀚海微SD NAND存儲(chǔ)功能描述(22)Timing Values

瀚海微SD NAND存儲(chǔ)功能描述(25)SD Registers

瀚海微SD NAND存儲(chǔ)功能描述(26)CSD Registers

瀚海微SD NAND存儲(chǔ)功能描述(28)RCA Registers

評(píng)論