国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種面向嵌入式系統(tǒng)的NandFlash塊冗余存儲(chǔ)控制電路的制作方法

      文檔序號(hào):6396457閱讀:282來源:國知局
      專利名稱:一種面向嵌入式系統(tǒng)的Nand Flash塊冗余存儲(chǔ)控制電路的制作方法
      技術(shù)領(lǐng)域
      本實(shí)用新型屬于數(shù)據(jù)存儲(chǔ)技術(shù)領(lǐng)域,尤其是涉及一種面向嵌入式系統(tǒng)的NandFlash塊冗余存儲(chǔ)控制電路。
      背景技術(shù)
      隨著半導(dǎo)體電子技術(shù)和工藝的迅猛發(fā)展,憑借存儲(chǔ)密度大、功耗低、壽命長、成本低等特點(diǎn),Nand Flash存儲(chǔ)芯片在嵌入式系統(tǒng)的存儲(chǔ)領(lǐng)域得到了廣泛應(yīng)用,典型的嵌入式處理器(如Power PC、ARM、DSP等)均支持Nand Flash存儲(chǔ)器接口。由于本身存在固有缺陷,Nand Flash存儲(chǔ)芯片是一種數(shù)據(jù)正確性非理想的器件,在Nand Flash存儲(chǔ)芯片出廠和使用過程中會(huì)產(chǎn)生一定數(shù)量的壞塊,從而導(dǎo)致存儲(chǔ)數(shù)據(jù)的錯(cuò)誤或丟失。因此,為了提高NandFlash存儲(chǔ)單元的可靠性進(jìn)而保證嵌入式系統(tǒng)的可靠運(yùn)行,基于Nand Flash的數(shù)據(jù)冗余存儲(chǔ)顯得尤為必要。目前,針對(duì)Flash的冗余存儲(chǔ),具體有以下幾種方法:(I)冗余編碼。該方法是采用一定編碼方式生成冗余編碼并將其存入預(yù)留的數(shù)據(jù)冗余空間中,當(dāng)存儲(chǔ)數(shù)據(jù)出現(xiàn)錯(cuò)誤時(shí),利用冗余編碼糾正錯(cuò)誤。專利200910053399“一種大規(guī)模Flash存儲(chǔ)陣列的多層次數(shù)據(jù)冗余方法”即是在頁級(jí)、Flash芯片級(jí)、Flash芯片組級(jí)三個(gè)層次采用冗余編碼的方法對(duì)數(shù)據(jù)進(jìn)行冗余。此方法增加了軟件運(yùn)算量和數(shù)據(jù)存儲(chǔ)控制的復(fù)雜度,并且當(dāng)出現(xiàn)壞塊無法讀取數(shù)據(jù)時(shí),冗余編碼失去意義。(2)建立數(shù)據(jù)備份區(qū)。該方法是在Flash存儲(chǔ)單元內(nèi)部劃分?jǐn)?shù)據(jù)備份區(qū),當(dāng)原始數(shù)據(jù)區(qū)出現(xiàn)存儲(chǔ)壞塊時(shí)讀取數(shù)據(jù)備份區(qū)的數(shù)據(jù)。專利200810029685“Flash存儲(chǔ)器的二級(jí)備份方法”即是采用數(shù)據(jù)備份的方式進(jìn)行冗余存儲(chǔ)。由于原始數(shù)據(jù)區(qū)與備份區(qū)并非對(duì)等冗余,因此,此方法在數(shù)據(jù)存儲(chǔ)時(shí)增加了存儲(chǔ)控制程序的復(fù)雜度,并降低了數(shù)據(jù)存取效率。(3)硬件級(jí)冗余存儲(chǔ)。該方法是在硬件上包含兩個(gè)互為冗余的數(shù)據(jù)存儲(chǔ)區(qū)域,當(dāng)其中一區(qū)域的某數(shù)據(jù)塊出現(xiàn)故障時(shí),可從另一區(qū)域的相應(yīng)數(shù)據(jù)塊中恢復(fù)數(shù)據(jù)。專利201120005567“一種數(shù)據(jù)冗余保護(hù)Flash固態(tài)盤”即包含兩個(gè)對(duì)等的互為冗余的存儲(chǔ)陣列和數(shù)據(jù)存儲(chǔ)控制器以提高固態(tài)盤存儲(chǔ)數(shù)據(jù)的可靠性及完整性,但是該專利僅限應(yīng)用于Flash存儲(chǔ)陣列及固態(tài)盤的設(shè)計(jì),不支持嵌入式處理器的Nand Flash接口,不能直接用于嵌入式系統(tǒng)的主存儲(chǔ)器單元設(shè)計(jì)中。
      發(fā)明內(nèi)容本實(shí)用新型的目的是針對(duì)現(xiàn)有基于Nand Flash的冗余存儲(chǔ)電路的不足,提供一種面向嵌入式系統(tǒng)的Nand Flash塊冗余存儲(chǔ)控制電路,采用硬件級(jí)冗余存儲(chǔ)方法實(shí)現(xiàn)基于Nand Flash的冗余存儲(chǔ),并采用現(xiàn)場(chǎng)可編程邏輯門陣列FPGA (Field Programmable GateArray)器件作為控制芯片,實(shí)現(xiàn)冗余存儲(chǔ)單元的并行操作并提供與嵌入式處理器直接相連接的Nand Flash存儲(chǔ)器接口,可適用于對(duì)數(shù)據(jù)存儲(chǔ)可靠性要求較高的嵌入式系統(tǒng)主存儲(chǔ)器單元。[0008]本實(shí)用新型一種面向嵌入式系統(tǒng)的Nand Flash塊冗余存儲(chǔ)控制電路,包括:NandFlash存儲(chǔ)芯片(I)、Nand Flash存儲(chǔ)芯片(2)和控制芯片(3)。Nand Flash存儲(chǔ)芯片(I)與Nand Flash存儲(chǔ)芯片(2)采用相同的存儲(chǔ)芯片構(gòu)成兩個(gè)互為冗余的存儲(chǔ)單元??刂菩酒?3)的IO引腳5至12,10引腳17,10引腳21,10引腳22,10引腳23,10引腳24,10引腳26、IO引腳27分別與Nand Flash存儲(chǔ)芯片(I)的引腳1/00至1/07、CLE、ALE、RE #、WE #、CE#、R/B#、WP #相連接,控制芯片(3)的IO引腳78至85、IO引腳92、IO引腳93、IO引腳94,10引腳95,10引腳97,10引腳98,10引腳99分別與Nand Flash存儲(chǔ)芯片(2)的引腳 1/00 至 I/07、CLE、ALE、RE #、WE #、CE#、R/B#、WP #相連接,控制芯片(3)的 IO 引腳114 至 121、IO 引腳 126、IO 引腳 127、IO 引腳 131、IO 引腳 132、IO 引腳 133、IO 引腳 134分別與外部主處理器的Nand Flash接口引腳1/00至1/07、CLE、ALE、RE #、WE #、CE#、R/B#相連接。所述Nand Flash存儲(chǔ)芯片(I)和Nand Flash存儲(chǔ)芯片(2)采用的是三星公司的K9K8G08U0M。所述控制芯片(3)采用的FPGA芯片是賽靈思公司XC6SLX4TQG144。控制芯片(3)實(shí)現(xiàn)Nand Flash塊冗余存儲(chǔ)控制功能,將外部主處理器發(fā)出的Nand Flash控制命令采用冗余機(jī)制處理后對(duì)Nand Flash存儲(chǔ)芯片(I)及Nand Flash存儲(chǔ)芯片(2)進(jìn)行相應(yīng)操作。本實(shí)用新型應(yīng)用上述芯片型號(hào),但不局限于上述型號(hào),凡是可滿足相同功能需求的芯片型號(hào)均可互相替代。所述外部主處理器指的是內(nèi)置Nand Flash控制器且含Nand Flash存儲(chǔ)器接口的嵌入式處理器。本實(shí)用新型中采用的Nand Flash塊冗余存儲(chǔ)控制方法,包括上電壞塊自檢過程、數(shù)據(jù)存儲(chǔ)過程、數(shù)據(jù)讀取過程和數(shù)據(jù)擦除過程。上電壞塊自檢過程包括以下步驟:SI Nand Flash存儲(chǔ)芯片(I)和Nand Flash存儲(chǔ)芯片(2)為兩個(gè)互為冗余的存儲(chǔ)單元,每片Nand Flash存儲(chǔ)芯片包含η個(gè)存儲(chǔ)塊(Block),分別編號(hào)O至(η — I);S2上電后控制芯片(3)同時(shí)對(duì)Nand Flash存儲(chǔ)芯片(I)及Nand Flash存儲(chǔ)芯片
      (2)進(jìn)行壞塊掃描,并建立壞塊信息列表。數(shù)據(jù)存儲(chǔ)過程包括以下步驟:SI控制芯片(3)通過Nand Flash接口接收來自外部主處理器的數(shù)據(jù)存儲(chǔ)命令和數(shù)據(jù);S2控制芯片(3)根據(jù)命令中的行地址提取當(dāng)前操作存儲(chǔ)塊的塊地址編號(hào)m ;S3控制芯片(3)根據(jù)壞塊信息列表檢測(cè)Nand Flash存儲(chǔ)芯片(I)及Nand Flash存儲(chǔ)芯片(2)的第m個(gè)存儲(chǔ)塊是否為壞塊,并且僅將數(shù)據(jù)寫入第m塊為正常塊的存儲(chǔ)芯片中,若兩個(gè)存儲(chǔ)芯片的第m塊均為壞塊時(shí),則控制芯片(3)向外部主處理器返回寫入不成功應(yīng)答。數(shù)據(jù)讀取過程包括以下步驟:SI控制芯片(3)通過Nand Flash接口接收來自外部主處理器的數(shù)據(jù)讀取命令;S2控制芯片(3)根據(jù)命令中的行地址提取當(dāng)前操作存儲(chǔ)塊的塊地址編號(hào)m ;S3控制芯片(3)根據(jù)壞塊信息列表檢測(cè)Nand Flash存儲(chǔ)芯片(I)及Nand Flash存儲(chǔ)芯片(2)的第m個(gè)存儲(chǔ)塊是否為壞塊,當(dāng)Nand Flash存儲(chǔ)芯片(I)的第m塊為正常塊時(shí),讀取Nand Flash存儲(chǔ)芯片(I)的數(shù)據(jù)返回至外部主處理器,否則,讀取Nand Flash存儲(chǔ)芯片(2)的數(shù)據(jù),若兩個(gè)存儲(chǔ)芯片的第m塊均為壞塊時(shí),則讀取頁寄存器默認(rèn)值返回至外部主處理器;S4當(dāng)讀取數(shù)據(jù)成功時(shí),根據(jù)命令中行列地址判斷讀取的當(dāng)前頁是否為第m塊的含壞塊信息頁(通常為第I頁),若讀取的是含壞塊信息頁的數(shù)據(jù)則更新第m塊的壞塊信息。數(shù)據(jù)擦除過程包括以下步驟:SI控制芯片(3)通過Nand Flash接口接收來自外部主處理器的數(shù)據(jù)擦除命令;S2控制芯片(3)根據(jù)命令中的行地址提取當(dāng)前操作存儲(chǔ)塊的塊地址編號(hào)m ;S3控制芯片(3)同時(shí)對(duì)Nand Flash存儲(chǔ)芯片(I)和Nand Flash存儲(chǔ)芯片(2)的第m塊執(zhí)行擦除操作。本實(shí)用新型所產(chǎn)生的有益效果是:本實(shí)用新型提供的一種面向嵌入式系統(tǒng)的NandFlash塊冗余存儲(chǔ)控制電路可直接與外部主處理器的Nand Flash存儲(chǔ)器接口連接,外部主處理器的Nand Flash接口驅(qū)動(dòng)程序無需額外開銷即可實(shí)現(xiàn)嵌入式主處理器的數(shù)據(jù)冗余存儲(chǔ);控制芯片采用FPGA芯片,可實(shí)現(xiàn)冗余存儲(chǔ)單元的數(shù)據(jù)并行讀寫及擦除操作,提高了嵌入式系統(tǒng)中Nand Flash冗余存儲(chǔ)單元的讀寫速度;采用硬件級(jí)冗余存儲(chǔ)的方法,有效降低了 Nand Flash存儲(chǔ)芯片的壞塊對(duì)數(shù)據(jù)存儲(chǔ)的影響。

      圖1為本實(shí)用新型的結(jié)構(gòu)框圖;圖2為本實(shí)用新型的電原理圖;圖3為控制芯片F(xiàn)PGA內(nèi)部結(jié)構(gòu)框圖;圖4為上電壞塊自檢過程流程圖;圖5為數(shù)據(jù)存儲(chǔ)過程流程圖;圖6為數(shù)據(jù)讀取過程流程圖;圖7為數(shù)據(jù)擦除過程流程圖。
      具體實(shí)施方式
      以下結(jié)合附圖對(duì)本實(shí)用新型做進(jìn)一步的詳細(xì)說明。附圖1是本實(shí)用新型的結(jié)構(gòu)框圖,描述了各個(gè)部件之間的連接關(guān)系。本實(shí)用新型包括控制芯片(3)、互為冗余存儲(chǔ)單元的Nand Flash存儲(chǔ)芯片(I)和Nand Flash存儲(chǔ)芯片
      (2)。控制芯片(3)分別與Nand Flash存儲(chǔ)芯片(I)和Nand Flash存儲(chǔ)芯片(2)相連接,控制芯片(3)還與外部主處理器的Nand Flash接口相連接。附圖2是本實(shí)用新型的電原理圖。附圖2顯示了 Nand Flash存儲(chǔ)芯片、控制芯片和其它配置芯片。Nand Flash存儲(chǔ)芯片(I)采用的是三星公司的K9K8G08U0M (Ul), Nand Flash存儲(chǔ)芯片(2)同樣采用的是三星公司的K9K8G08U0M (U2)??刂菩酒?3)采用的FPGA芯片是賽靈思公司的XC6SLX4TQG144 (U3)。[0045]控制芯片(3)的IO引腳5至12、10引腳17、10引腳21、10引腳22、10引腳23、10引腳24,10引腳26,10引腳27分別與Nand Flash存儲(chǔ)芯片(I)的引腳1/00至I/07,CLE,ALE、RE #、WE #、CE#、R/B#、WP #相連接,控制芯片(3)的 IO 引腳 78 至 85、IO 引腳 92、IO引腳93、IO引腳94、IO引腳95、IO引腳97、IO引腳98、IO引腳99分別與Nand Flash存儲(chǔ)芯片(2)的引腳1/00至1/07、CLE、ALE、RE #、WE #、CE#、R/B#、WP #相連接,控制芯片(3)的IO引腳114至121、IO引腳126、IO引腳127、IO引腳131、IO引腳132、IO引腳133、IO引腳134分別與外部主處理器的Nand Flash接口引腳1/00至1/07、CLE、ALE、RE#、WE #、CE#、R/B# 相連接。附圖3是控制芯片F(xiàn)PGA內(nèi)部結(jié)構(gòu)框圖??刂菩酒?3)FPGA內(nèi)部結(jié)構(gòu)框圖包括外部主處理器Nand Flash接口控制子模塊、命令譯碼及塊地址提取模塊、寫入Nand Flash子模塊、讀取Nand Flash子模塊、擦除NandFlash子模塊、存儲(chǔ)芯片選擇子模塊、上電壞塊自檢子模塊、壞塊信息列表、存儲(chǔ)芯片INandFlash接口控制子模塊、存儲(chǔ)芯片2Nand Flash接口控制子模塊和數(shù)字頻率管理器模塊。控制芯片(3)首先通過Nand Flash接口接收來自外部主處理器的指令,通過命令譯碼選擇Nand Flash當(dāng)前操作子模塊,通過塊地址提取并結(jié)合壞塊信息選擇當(dāng)前操作存儲(chǔ)芯片,最后通過存儲(chǔ)芯片的Nand Flash接口控制子模塊對(duì)所選Nand Flash存儲(chǔ)芯片執(zhí)行當(dāng)前操作。附圖4是上電壞塊自檢過程流程圖。上電壞塊自檢過程包括以下步驟:SI Nand Flash 存儲(chǔ)芯片(I)和 Nand Flash 存儲(chǔ)芯片(2)均為 K9K8G08U0M,每片Nand Flash存儲(chǔ)芯片包含8192個(gè)存儲(chǔ)塊(Block),分別編號(hào)O至8191 ;S2上電后控制芯片(3)同時(shí)對(duì)Nand Flash存儲(chǔ)芯片(I)及Nand Flash存儲(chǔ)芯片
      (2)進(jìn)行壞塊掃描,建立壞塊信息列表。Nand Flash存儲(chǔ)芯片的壞塊信息判斷方法是:判斷每一塊的第一頁的第2048字節(jié)的數(shù)據(jù)是否為FFh,若非FFh則該塊為壞塊。壞塊信息是Nand Flash存儲(chǔ)芯片(I)壞塊信息與Nand Flash存儲(chǔ)芯片(2)壞塊信息邏輯相與的結(jié)果,當(dāng)且僅當(dāng)兩個(gè)存儲(chǔ)芯片的當(dāng)前塊均為壞塊時(shí)才判定當(dāng)前塊為壞塊。附圖5是數(shù)據(jù)存儲(chǔ)過程流程圖。數(shù)據(jù)存儲(chǔ)過程包括以下步驟:SI控制芯片(3)通過Nand Flash接口接收來自外部主處理器的數(shù)據(jù)存儲(chǔ)命令和數(shù)據(jù);S2控制芯片(3)根據(jù)命令中的行地址提取當(dāng)前操作存儲(chǔ)塊的塊地址編號(hào)m ;S3控制芯片(3)根據(jù)壞塊信息列表檢測(cè)Nand Flash存儲(chǔ)芯片(I)及Nand Flash存儲(chǔ)芯片(2)的第m個(gè)存儲(chǔ)塊是否為壞塊;當(dāng)兩個(gè)存儲(chǔ)芯片的第m塊均為正常時(shí),則同時(shí)將數(shù)據(jù)存儲(chǔ)至Nand Flash存儲(chǔ)芯片
      (I)和Nand Flash存儲(chǔ)芯片(2);當(dāng)Nand Flash存儲(chǔ)芯片(I)的第m塊為壞塊時(shí),則僅將數(shù)據(jù)存儲(chǔ)至Nand Flash存儲(chǔ)芯片(2);當(dāng)Nand Flash存儲(chǔ)芯片(2)的第m塊為壞塊時(shí),則僅將數(shù)據(jù)存儲(chǔ)至Nand Flash存儲(chǔ)芯片(I);當(dāng)Nand Flash存儲(chǔ)芯片(I)及Nand Flash存儲(chǔ)芯片(2)的第m塊均為壞塊時(shí),則向外部主處理器返回寫入不成功應(yīng)答。附圖6是數(shù)據(jù)讀取過程流程圖。數(shù)據(jù)讀取過程包括以下步驟:SI控制芯片(3)通過Nand Flash接口接收來自外部主處理器的數(shù)據(jù)讀取命令;[0061]S2控制芯片(3)根據(jù)命令中的行地址提取當(dāng)前操作存儲(chǔ)塊的塊地址編號(hào)m ;S3控制芯片(3)根據(jù)壞塊信息列表檢測(cè)Nand Flash存儲(chǔ)芯片(I)及Nand Flash存儲(chǔ)芯片(2)的第m個(gè)存儲(chǔ)塊是否為壞塊,當(dāng)Nand Flash存儲(chǔ)芯片(I)的第m塊為正常塊時(shí),讀取Nand Flash存儲(chǔ)芯片(I)的數(shù)據(jù)返回至外部主處理器,否則,讀取Nand Flash存儲(chǔ)芯片(2)的數(shù)據(jù),若兩個(gè)存儲(chǔ)芯片的第m塊均為壞塊時(shí),則讀取頁寄存器默認(rèn)值返回至外部主處理器;S4當(dāng)讀取數(shù)據(jù)成功時(shí),根據(jù)命令中行列地址判斷讀取的當(dāng)前頁是否為第m塊的第I頁,若讀取的是第I頁則根據(jù)第2048字節(jié)的數(shù)據(jù)是否為FFh更新第m塊的壞塊信息。附圖7為數(shù)據(jù)擦除過程流程圖。數(shù)據(jù)擦除過程包括以下步驟:SI控制芯片(3)通過Nand Flash接口接收來自外部主處理器的數(shù)據(jù)擦除命令;S2控制芯片(3)根據(jù)命令中的行地址提取當(dāng)前操作存儲(chǔ)塊的塊地址編號(hào)m ;S3控制芯片(3)同時(shí)對(duì)Nand Flash存儲(chǔ)芯片(I)和Nand Flash存儲(chǔ)芯片(2)的第m塊執(zhí)行擦除操作。
      權(quán)利要求1.一種面向嵌入式系統(tǒng)的Nand Flash塊冗余存儲(chǔ)控制電路,其特征在于:包括NandFlash存儲(chǔ)芯片(I)、Nand Flash存儲(chǔ)芯片(2)和控制芯片(3) ;Nand Flash存儲(chǔ)芯片(I)與Nand Flash存儲(chǔ)芯片(2)采用相同的存儲(chǔ)芯片構(gòu)成兩個(gè)互為冗余的存儲(chǔ)單元;控制芯片(3)的IO引腳5至12、IO引腳17、IO引腳21、IO引腳22、IO引腳23、IO引腳24、IO引腳.26、IO 引腳 27 分別與 Nand Flash 存儲(chǔ)芯片(I)的引腳 1/00 至 1/07、CLE、ALE、RE #、WE#、CE#、R/B#、WP #相連接,控制芯片(3)的IO引腳78至85,10引腳92,10引腳93,10引腳94、IO引腳95、IO引腳97、IO引腳98、IO引腳99分別與Nand Flash存儲(chǔ)芯片(2)的引腳 1/00 至 I/07、CLE、ALE、RE #、WE #、CE#、R/B#、WP #相連接,控制芯片(3)的 IO 引腳.114 至 121、IO 引腳 126、IO 引腳 127、IO 引腳 131、IO 引腳 132、IO 引腳 133、IO 引腳 .134分別與外部主處理器的Nand Flash接口引腳1/00至1/07、CLE、ALE、RE #、WE #、CE#、R/B#相連接。
      專利摘要本實(shí)用新型公開了一種面向嵌入式系統(tǒng)的NandFlash塊冗余存儲(chǔ)控制電路,包括NandFlash存儲(chǔ)芯片(1)、NandFlash存儲(chǔ)芯片(2)和控制芯片(3)。本實(shí)用新型的優(yōu)點(diǎn)是可直接與外部主處理器的NandFlash存儲(chǔ)器接口連接,外部主處理器的NandFlash接口驅(qū)動(dòng)程序無需額外開銷即可實(shí)現(xiàn)嵌入式主處理器的數(shù)據(jù)冗余存儲(chǔ);采用兩個(gè)相同的存儲(chǔ)芯片構(gòu)成互為冗余的存儲(chǔ)單元實(shí)現(xiàn)硬件級(jí)冗余存儲(chǔ),有效降低了NandFlash存儲(chǔ)芯片的壞塊對(duì)數(shù)據(jù)存儲(chǔ)的影響。本實(shí)用新型可適用于對(duì)數(shù)據(jù)存儲(chǔ)可靠性要求較高的嵌入式系統(tǒng)主存儲(chǔ)器單元。
      文檔編號(hào)G06F11/14GK203012703SQ20122071434
      公開日2013年6月19日 申請(qǐng)日期2012年12月22日 優(yōu)先權(quán)日2012年12月22日
      發(fā)明者黃松張瓊, 張少鋒, 符才德, 黃松 申請(qǐng)人:中國船舶重工集團(tuán)公司第七0九研究所
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1