色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于FPGA的K9F4G08 Flash控制器設(shè)計(jì)

          基于FPGA的K9F4G08 Flash控制器設(shè)計(jì)

          作者: 時(shí)間:2010-06-23 來源:網(wǎng)絡(luò) 收藏

            2.1 匹配表

            出廠后可能存在壞塊,使用中也有可能會(huì)再出現(xiàn)新的壞塊。制造商保證每個(gè)芯片中的壞塊不多于80個(gè),同時(shí)保證第0個(gè)塊肯定是好的,且保證擦寫1 000次不壞[1]。當(dāng)進(jìn)行連續(xù)地址的數(shù)據(jù)讀寫時(shí)有可能遇到壞塊,壞塊無法進(jìn)行操作,會(huì)導(dǎo)致數(shù)據(jù)的丟失。因此必須建立一個(gè)匹配表,當(dāng)遇到壞塊時(shí),將其匹配到好塊的地址上。

            實(shí)際的數(shù)據(jù)讀寫中只使用4 000個(gè)塊,根據(jù)這些要求設(shè)計(jì)了這樣的匹配表:長度512 B,存放在第0個(gè)塊的第0個(gè)頁(B0P0)。具體內(nèi)容見表2。

          基于FPGA的K9F4G08 Flash控制器設(shè)計(jì)

            一個(gè)塊的地址用2 B的16進(jìn)制數(shù)表示。256 B可以存儲(chǔ)128個(gè)塊地址。0~255與256~512中存儲(chǔ)的塊地址是一一對應(yīng)的,當(dāng)使用到0~255中的塊地址時(shí),需要從256~511中尋找對應(yīng)的塊地址進(jìn)行替換。

            在中生成一個(gè)512 B的ram:ram_512,專門用于存放匹配表,當(dāng)系統(tǒng)上電復(fù)位后,狀態(tài)機(jī)會(huì)自動(dòng)將B0P0的數(shù)據(jù)讀出,并將前512 B的數(shù)據(jù)存入該ram_512中,以便后面匹配時(shí)使用[4]。

            2.2 全擦與部分擦指令

            該指令用于擦除所有的塊,建立新的匹配表。由于壞塊會(huì)導(dǎo)致擦除不成功,狀態(tài)機(jī)在擦除過程中會(huì)記錄下1~4 000個(gè)塊中擦除失敗的壞塊的地址、4 000~4 095個(gè)塊中好塊的地址,先按照匹配表規(guī)定的順序?qū)懭雛am_512,全部擦除完成后將ram_512中的數(shù)據(jù)寫入B0P0。由于數(shù)據(jù)量不足2 KB,因此后面補(bǔ)零。其流程圖如圖2所示。

          基于FPGA的K9F4G08 Flash控制器設(shè)計(jì)

            部分擦除與全擦類似,執(zhí)行這條指令需要給定起始與結(jié)尾的塊地址,controller_4G08可以完成對2個(gè)塊地址之間所有塊的擦除。當(dāng)擦除過程中擦到壞塊時(shí),狀態(tài)機(jī)會(huì)從匹配表中尋找該壞塊對應(yīng)的好塊,并擦除。若沒有尋找到該壞塊的匹配塊,則出現(xiàn)了新的壞塊,會(huì)產(chǎn)生一個(gè)報(bào)錯(cuò)的標(biāo)志位,提示主狀態(tài)機(jī)需要進(jìn)行全擦,以便建立新的匹配表。



          關(guān)鍵詞: FPGA Flash K9F4G08

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉