新聞中心

        EEPW首頁 > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于NAND FLASH的高速大容量存儲(chǔ)系統(tǒng)設(shè)計(jì)

        基于NAND FLASH的高速大容量存儲(chǔ)系統(tǒng)設(shè)計(jì)

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


        3 系統(tǒng)設(shè)計(jì)
        3.1 系統(tǒng)硬件結(jié)構(gòu)組成
        本文所設(shè)計(jì)的高速系統(tǒng)的結(jié)構(gòu)框圖如圖4所示。系統(tǒng)中芯片選用三星公司的K9WBG08U1M,陣列分為8組,采用流水線操作,每組由8片并聯(lián)共用控制線,各組對(duì)應(yīng)行的共用數(shù)據(jù)線。系統(tǒng)容量達(dá)到4×8×8=256 GB,存儲(chǔ)速度理論值為40MB/ s×8=320 MB/s。FPGA是整個(gè)系統(tǒng)的控制核心,它將產(chǎn)生各種復(fù)雜的邏輯時(shí)序來控制外圍芯片協(xié)調(diào)有序地工作,選用Altera公司StratixⅡ系列的EP2S60F484I4芯片,該芯片有48 352個(gè)邏輯單元,內(nèi)置存儲(chǔ)RAM容量達(dá)2.5 MB,滿足緩存數(shù)據(jù)的要求。USB接口電路選用CYPRESS公司的CY7C68013A,該芯片集成了一個(gè)8.5 KB片上RAM的8051核、4 KB的FIFO以及USB 2.0收發(fā)器,滿足USB2.0通信協(xié)議,是進(jìn)行USB2.0開發(fā)的常用芯片。壞塊信息存儲(chǔ)電路用于存儲(chǔ)和更新FLASH存儲(chǔ)陣列隨機(jī)出現(xiàn)的壞塊位置,它必須是非易失零出錯(cuò)的存儲(chǔ)介質(zhì),因此選用AMD公司的Am29LV800B NOR型FLASH,存儲(chǔ)容量為8 Mb,保證無壞塊。

        本文引用地址:http://www.104case.com/article/191199.htm

        e.jpg


        3.2 系統(tǒng)具體實(shí)現(xiàn)
        FPGA是整個(gè)硬件系統(tǒng)的核心,它完成電路的復(fù)雜時(shí)序控制,使系統(tǒng)有條不紊地運(yùn)行。FPGA上電后進(jìn)行初始化和加載配置信息,完成后進(jìn)入工作狀態(tài)。首先根據(jù)USB接口電壓判斷是進(jìn)入數(shù)據(jù)記錄狀態(tài)還是數(shù)據(jù)下載狀態(tài),然后分別按照各自流程進(jìn)行工作。FPGA內(nèi)部邏輯設(shè)計(jì)如圖5所示。

        f.jpg


        由于FLASH存儲(chǔ)陣列是8片并聯(lián)一起操作,因此數(shù)據(jù)總線寬度便為64位,同時(shí)由于USB的接口數(shù)據(jù)寬度為16位,因此系統(tǒng)中使用了2個(gè)FIFO分別進(jìn)行緩存。在系統(tǒng)記錄狀態(tài)下,前端接收到高速串行數(shù)據(jù)后首先進(jìn)行串/并轉(zhuǎn)換,然后為其添加一個(gè)64位的標(biāo)志頭一并存入FIFO緩存,標(biāo)識(shí)頭是用來標(biāo)記每次的加電情況,方便FLASH數(shù)據(jù)的分段下載。同時(shí)將外部NORFLASH內(nèi)所存儲(chǔ)的壞塊信息讀入FPGA內(nèi)部建立的RAM中,在總接口控制下,屏蔽FLASH存儲(chǔ)陣列內(nèi)部的壞塊,并按一定順序?qū)?shù)據(jù)寫入FLASH芯片。由于數(shù)據(jù)在存儲(chǔ)過程中會(huì)產(chǎn)生新的壞塊,因此在每頁寫操作結(jié)束后需判斷此頁編程是否成功,若編程失敗,則對(duì)照此壞塊地址更新RAM中的壞塊信息,等待FLASH的存儲(chǔ)操作結(jié)束后,再將更新后的RAM數(shù)據(jù)寫入外部NOR FLASH進(jìn)行保存。
        在系統(tǒng)下載狀態(tài)時(shí),首先對(duì)FLASH內(nèi)部的存儲(chǔ)數(shù)據(jù)進(jìn)行搜索,找到標(biāo)識(shí)頭所在存儲(chǔ)陣列中的位置并將此位置信息寫入FPGA內(nèi)部的RAM中,這樣便可知道每次加電后存儲(chǔ)數(shù)據(jù)在FLASH陣列中的起始?jí)K位置和所占?jí)K的容量。然后通過上位機(jī)軟件輸入起始位置,塊容量和下載命令后,F(xiàn)PGA內(nèi)部的總接口控制便可根據(jù)這些命令信息,同時(shí)屏蔽壞塊后將FLASH存儲(chǔ)陣列中相應(yīng)的數(shù)據(jù)寫入16位FIFO緩存中,隨后便可通過USB接口下載至計(jì)算機(jī)進(jìn)行數(shù)據(jù)分析。

        4 結(jié)語
        隨著基于技術(shù)的FLASH固態(tài)存儲(chǔ)器的快速發(fā)展,其存儲(chǔ)密度也越來越大,而體積、功耗和成本卻在減小,這使得型FLASH在高速存儲(chǔ)設(shè)備的研制中得到廣泛應(yīng)用。本文針對(duì)單片F(xiàn)LASH存儲(chǔ)速度慢的缺點(diǎn),將多片低速FLASH芯片并行起來工作,同時(shí)又運(yùn)用流水線操作節(jié)省了FLASH的自身編程時(shí)間,從而使得整個(gè)存儲(chǔ)系統(tǒng)的存儲(chǔ)速度大大提高。針對(duì) FLASH內(nèi)部存在壞塊的問題,建立了一套完善的壞塊處理機(jī)制,使得系統(tǒng)能夠準(zhǔn)確的存儲(chǔ)數(shù)據(jù),保證數(shù)據(jù)的可靠性。使用FPGA對(duì)FLASH存儲(chǔ)陣列及USB下載電路進(jìn)行控制,充分發(fā)揮了FPGA處理復(fù)雜邏輯的特點(diǎn),簡(jiǎn)化了系統(tǒng)的硬件結(jié)構(gòu)。


        上一頁 1 2 3 下一頁

        關(guān)鍵詞: FLASH NAND 大容量 存儲(chǔ)

        評(píng)論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 吉安县| 昌平区| 许昌县| 翁源县| 辽宁省| 娱乐| 化州市| 甘孜| 芜湖县| 罗定市| 无棣县| 莒南县| 惠东县| 彭州市| 定陶县| 高青县| 鄂托克前旗| 徐州市| 泽库县| 岳池县| 芜湖市| 延庆县| 昭平县| 宜兰市| 高州市| 兴安盟| 东源县| 汉阴县| 定襄县| 兴业县| 勐海县| 黔西| 杨浦区| 安宁市| 竹北市| 子长县| 芒康县| 紫阳县| 彭山县| 广东省| 潜江市|