<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

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

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

          摘要:為了解決目前記錄系統(tǒng)容量小、速度低的問題,采用性能優(yōu)良的固態(tài)介質(zhì),大規(guī)模集成電路FPGA為控制核心,通過使用并行處理技術(shù)和流水線技術(shù)實現(xiàn)了多片低速時高速數(shù)據(jù)的,提高了整個系統(tǒng)的存儲容量和存儲速度。針對內(nèi)部存在壞塊的自身缺陷,建立一套查詢、更新和屏蔽壞塊的處理機制,有效的提高了數(shù)據(jù)存儲的可靠性。
          關(guān)鍵詞:高速;流水線;FLASH;FPGA

          0 引言
          在數(shù)據(jù)采集存儲系統(tǒng)中,往往需要對采集后的數(shù)據(jù)進行存儲以方便后續(xù)分析處理。隨著我國航空電子技術(shù)和雷達成像技術(shù)的快速發(fā)展,分辨率和采樣率大幅提升,由此便帶來了高速數(shù)據(jù)的存儲問題。同時存儲系統(tǒng)又要求掉電存儲數(shù)據(jù)并具有良好的抗振動能力,因此存儲電路通常采用非易失的電路芯片構(gòu)成,而傳統(tǒng)的DOC,E2PROM等存儲技術(shù)由于容量小、速度低等缺點已經(jīng)不適用高速數(shù)據(jù)的存儲。快速發(fā)展的閃速存儲器(FLASH MEMORY)因其具有體積小、成本低、功耗小、壽命長、抗振動和寬溫度適應(yīng)范圍等特點,逐漸成為高速存儲系統(tǒng)設(shè)計的主流方案。

          1 FLASH的控制邏輯
          目前FLASH芯片主要分為NOR型和型。NOR型具有可靠性高,隨機讀取速度快等優(yōu)點,適用于程序代碼的存儲。型是一種線性存儲設(shè)備,適用于大容量數(shù)據(jù)和文件的存儲。 K9WBG08U1M是三星公司推出的一款NAND型FLASH芯片,存儲容量達到4 GB,它內(nèi)部由兩片2 GB的FLASH構(gòu)成,通過片選信號CE1/CE2進行選擇控制,每片F(xiàn)LASH由8 192個塊組成,每塊有64頁,每頁能存儲(4 096+128)個字節(jié)的數(shù)據(jù)。因此,訪問芯片需要5個地址周期,其中3個周期的行地址用來確定某一頁,2個周期的列地址用來確定每頁的某個字節(jié)。對FLASH進行的操作主要有:存儲、讀取和擦除。由于指令、地址和數(shù)據(jù)復(fù)用芯片的8個I/O口,因此需要2個控制信號CLE和ALE分別鎖存指令和地址。
          存儲操作一般使用基于頁的連續(xù)存儲模式,所有的命令字、地址、數(shù)據(jù)都是在的下降沿將數(shù)據(jù)驅(qū)動到I/O總線輸出。
          擦除操作與存儲、讀取操作略有不同,它是以塊為單位進行的,因此只需要3個周期的地址即可。在輸入擦除命令后,芯片便自動進行擦除操作,將存儲體內(nèi)的數(shù)據(jù)全部恢復(fù)為“FF狀態(tài),隨后也可通過輸入讀狀態(tài)命令字70H判斷端口輸出是否為0來檢測此次擦除操作的成功性。

          2 系統(tǒng)存儲關(guān)鍵技術(shù)
          K9WBG08U1M一頁的存儲容量是4KB,最短25ns時間寫入一個字節(jié)。因此,芯片接口的寫入速度最高為40MB/s。芯片的存儲時間分為加載時間和編程時間兩部分,寫滿一頁所需的命令、地址和數(shù)據(jù)的加載時間總共為102.5μs,編程時間的典型值為200μs,最大編程時間為700μ-s。為了減小數(shù)據(jù)在存儲過程中出錯的概率,設(shè)計中使用最大的編程時間進行計算,因此對單片F(xiàn)LASH而言,存儲速度最高可達5.1MB/s。
          2.1 并行總線處理技術(shù)
          按照操作FLASH的傳統(tǒng)方法,存儲完一片F(xiàn)LASH后,再進行下一片F(xiàn)LASH的操作,這樣最高存儲速度也只是單片F(xiàn)LASH的存儲速度即5.1 MB/s,顯然無法適用于高速數(shù)據(jù)傳輸存儲的場合。通過并行處理技術(shù)可以很直觀的提高存儲速度,具體實現(xiàn)方法是:將N片低速FLASH芯片并聯(lián)起來,使用相同的控制線、片選線和讀寫信號線,構(gòu)成一個多位寬的FLASH組。這樣N片F(xiàn)LASH并行工作,進行相同的操作,存儲量可達到單片F(xiàn)LASH的N倍,所以理論上存儲速度也是單片F(xiàn)LASH的N倍。
          2.2 流水線技術(shù)
          流水線技術(shù)在計算機領(lǐng)域得到廣泛運用,它是在程序執(zhí)行時多條指令重疊進行操作的一種準并行處理實現(xiàn)技術(shù)。借鑒這種技術(shù)在進行FLASH存儲時可以大大節(jié)省存儲時間,提高存儲速度。FLASH每頁數(shù)據(jù)的加載時間和編程時間是器件本身所決定的,當加載完一頁數(shù)據(jù)后,F(xiàn)LASH就進入忙狀態(tài),此時需要等待加載的數(shù)據(jù)自動編程,即將數(shù)據(jù)從寄存器中寫入存儲單元內(nèi),這期間不能進行其余的操作,當編程結(jié)束后,F(xiàn)LASH才恢復(fù)空閑狀態(tài),此后才能進行下一頁數(shù)據(jù)的加載,然后再進行編程。因此如果可以善加利用編程時間,使FLASH在進行本頁數(shù)據(jù)編程的同時去執(zhí)行下一頁數(shù)據(jù)的加載,這樣便可節(jié)省存儲時間,提高速度。加載完一頁數(shù)據(jù)的時間約為102.5μs,最大編程時間為700μs,這樣在每頁的編程時間內(nèi)可以完成7次的FLASH加載操作(700/102.5≈7),由此畫出8級流水操作的時序圖如圖1所示。

          本文引用地址:http://www.ex-cimer.com/article/191199.htm

          c.jpg


          圖1中每片F(xiàn)LASH都分為加載時間和編程時間,當?shù)谝黄現(xiàn)LASH完成第一頁的數(shù)據(jù)加載后進入數(shù)據(jù)編程階段。此時第二片F(xiàn)LASH開始進行第一頁數(shù)據(jù)加載,加載完成后也進入數(shù)據(jù)編程階段。然后依次對第三片到第八片F(xiàn)LASH進行相同的操作,當?shù)诎似現(xiàn)LASH也完成了第一頁數(shù)據(jù)的加載后,此時系統(tǒng)耗費的總時間約為7×102.5=717.5μs,大于單片F(xiàn)LASH的最大編程時間700μs即第一片F(xiàn)LASH已經(jīng)完成了數(shù)據(jù)編程,可以接著進行第二頁的數(shù)據(jù)加載。當?shù)诙摂?shù)據(jù)加載完成后,第三片F(xiàn)LASH便完成了第一頁的數(shù)據(jù)編程,可以接著進行隨后操作。這種循環(huán)流水操作,使FLASH在高速存儲過程中不必去考慮頁編程是否完成,節(jié)省了頁編程時間,從而使存儲速度近似達到芯片接口寫入速度即40 MB/s。由此可見,運用流水操作技術(shù)的存儲速度將是單片F(xiàn)LASH存儲速度的8倍,實現(xiàn)了FLASH的快速高效無丟失存儲。


          上一頁 1 2 3 下一頁

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

          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();