NAND Flash仿真控制器及控制調(diào)試方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,特別是涉及一種NAND Flash仿真控制器及控制調(diào)試方法。
【背景技術(shù)】
[0002]在計(jì)算機(jī)存儲(chǔ)領(lǐng)域中,由于NAND Flash (NAND閃存)存儲(chǔ)器具有容量較大,改寫速度快等優(yōu)點(diǎn),適用于大量數(shù)據(jù)的存儲(chǔ),在業(yè)界得到了越來越廣泛的應(yīng)用。由于開發(fā)基于NANDFlash的程序時(shí),需要真實(shí)的NAND Flash硬件,這就使得開發(fā)速度較慢,出售后難以跟蹤,因此,通常采用一種NAND Flash仿真模型;目前,NAND Flash仿真模型較為簡單,僅能仿真NAND的操作序列,不能仿真真實(shí)的NAND Flash硬件的大部分功能。
【發(fā)明內(nèi)容】
[0003]基于此,有必要針對(duì)傳統(tǒng)的NAND Flash仿真模型僅能仿真NAND的操作序列的問題,提供一種NAND Flash仿真控制器及控制調(diào)試方法。
[0004]一種NAND Flash仿真控制器,包括信號(hào)接收模塊和控制模塊,其中:
[0005]所述信號(hào)接收模塊,用于接收命令信號(hào);
[0006]所述控制模塊,用于根據(jù)所述命令信號(hào),控制二進(jìn)制文件模擬NAND Flash硬件操作;
[0007]所述二進(jìn)制文件的個(gè)數(shù)為一個(gè)或多個(gè);
[0008]所述二進(jìn)制文件中的每個(gè)字節(jié)對(duì)應(yīng)所述NAND Flash硬件中的每個(gè)字節(jié)。
[0009]在其中一個(gè)實(shí)施例中,所述控制模塊包括基本操作模擬單元,其中:
[0010]所述基本操作模擬單元,用于模擬所述NAND Flash硬件以頁為單位寫入數(shù)據(jù)的操作,和以塊為單位擦除數(shù)據(jù)的操作。
[0011 ] 在其中一個(gè)實(shí)施例中,所述控制模塊還包括擦寫壽命模擬單元和讀取回收模擬單元,其中:
[0012]所述擦寫壽命模擬單元,用于模擬所述NAND Flash硬件擦寫壽命的操作;
[0013]所述讀取回收模擬單元,用于模擬所述NAND Flash硬件讀取回收數(shù)據(jù)的操作。
[0014]在其中一個(gè)實(shí)施例中,所述控制模塊還包括讀寫速度性能模擬單元和掉電模擬單元,其中:
[0015]所述讀寫速度性能模擬單元,用于模擬所述NAND Flash硬件讀寫速度性能檢測(cè)的操作;
[0016]所述掉電模擬單元,用于模擬所述NAND Flash硬件異常掉電的串?dāng)_問題,以及MLC 的 page group 現(xiàn)象。
[0017]相應(yīng)的,基于上述一種NAND Flash仿真控制器原理,本發(fā)明還提供了一種NANDFlash仿真控制調(diào)試方法,包括如下步驟:
[0018]在硬盤中建立一個(gè)或多個(gè)二進(jìn)制文件,所述二進(jìn)制文件中的每個(gè)字節(jié)均對(duì)應(yīng)NANDFlash硬件中的每個(gè)字節(jié);
[0019]控制模塊接收命令信號(hào)后,控制所述二進(jìn)制文件模擬所述NAND Flash硬件操作。
[0020]在其中一個(gè)實(shí)施例中,所述控制所述二進(jìn)制文件模擬所述NAND Flash硬件操作,包括如下步驟:
[0021]當(dāng)所述命令信號(hào)為基本操作模擬信號(hào)時(shí),控制所述二進(jìn)制文件模擬所述NANDFlash硬件以頁為單位寫入數(shù)據(jù)的操作,和以塊為單位擦除數(shù)據(jù)的操作。
[0022]在其中一個(gè)實(shí)施例中,所述控制所述二進(jìn)制文件模擬所述NAND Flash硬件操作,還包括如下步驟:
[0023]當(dāng)所述命令信號(hào)為擦寫壽命模擬信號(hào)時(shí),控制所述二進(jìn)制文件模擬所述NANDFlash硬件擦寫壽命的操作;
[0024]當(dāng)所述命令信號(hào)為讀取回收模擬信號(hào)時(shí),控制所述二進(jìn)制文件模擬所述NANDFlash硬件讀取回收數(shù)據(jù)的操作。
[0025]在其中一個(gè)實(shí)施例中,所述控制所述二進(jìn)制文件模擬所述NAND Flash硬件操作,還包括如下步驟:
[0026]當(dāng)所述命令信號(hào)為讀寫速度性能模擬信號(hào)時(shí),控制所述二進(jìn)制文件模擬所述NAND Flash硬件讀寫速度性能檢測(cè)的操作;
[0027]當(dāng)所述命令信號(hào)為掉電模擬信號(hào)時(shí),控制所述二進(jìn)制文件模擬所述NANDFlash硬件異常掉電的串?dāng)_問題,以及MLC的page group現(xiàn)象。
[0028]本發(fā)明提供的一種NAND Flash仿真控制器及控制調(diào)試方法,其中NANDFlash仿真控制器包括信號(hào)接收模塊和控制模塊,控制模塊根據(jù)信號(hào)接收模塊接收到的命令信號(hào),控制二進(jìn)制文件模擬NAND Flash硬件的絕大部分功能,其中二進(jìn)制文件的每個(gè)字節(jié)對(duì)應(yīng)NANDFlash硬件中的每個(gè)字節(jié),其通過對(duì)二進(jìn)制文件建立一系列的對(duì)象操作,有效地解決了傳統(tǒng)的NAND Flash仿真模型僅能仿真NAND Flash硬件的操作序列的問題。
【附圖說明】
[0029]圖1為NAND Flash仿真控制器示意圖;
[0030]圖2為NAND Flash仿真控制器一具體實(shí)施例示意圖;
[0031 ] 圖3為NAND Flash仿真控制調(diào)試方法流程圖。
【具體實(shí)施方式】
[0032]為使本發(fā)明技術(shù)方案更加清楚明白,以下結(jié)合附圖及具體實(shí)施例對(duì)本發(fā)明做進(jìn)一步詳細(xì)說明。
[0033]參見圖1,一種NAND Flash仿真控制器100,包括信號(hào)接收模塊110和控制模塊120,其中:
[0034]信號(hào)接收模塊110,用于接收命令信號(hào);
[0035]控制模塊120,用于根據(jù)命令信號(hào),控制二進(jìn)制文件模擬NAND Flash硬件操作;
[0036]二進(jìn)制文件的個(gè)數(shù)為一個(gè)或多個(gè);
[0037]二進(jìn)制文件中的每個(gè)字節(jié)對(duì)應(yīng)NAND Flash硬件中的每個(gè)字節(jié)。
[0038]本發(fā)明提供的NAND Flash仿真控制器,通過對(duì)二進(jìn)制文件建立一系列的對(duì)象操作,當(dāng)信號(hào)接收模塊接收到命令信號(hào)后,控制模塊根據(jù)信號(hào)接收模塊接收到的命令信號(hào),控制二進(jìn)制文件模擬NAND Flash硬件的絕大部分功能,有效地解決了傳統(tǒng)的NAND Flash仿真模型僅能仿真NAND Flash硬件的操作序列的問題。
[0039]參見圖2,作為一種可實(shí)施方式,控制模塊120包括基本操作模擬模塊1201,其中:
[0040]基本操作模擬模塊1201,用于模擬NAND Flash硬件以頁為單位寫入數(shù)據(jù)的操作,和以塊為單位擦除數(shù)據(jù)的操作;如:page寫入和整個(gè)block擦除。
[0041]較佳地,作為一種可實(shí)施方式,控制模塊120還包括擦寫壽命模擬模塊1202和讀取回收模擬模塊1203,其中:
[0042]擦寫壽命模擬模塊1202,用于模擬NAND Flash硬件擦寫壽命的操作;如:通過記錄擦除和寫入的次數(shù),當(dāng)擦除和寫入的次數(shù)分別超過第一預(yù)設(shè)值和第二預(yù)設(shè)值時(shí),按照第一概率發(fā)出讀寫錯(cuò)誤的提示,實(shí)現(xiàn)了 NAND Flash仿真控制器100在實(shí)現(xiàn)NAND Flash硬件基本擦寫操作的同時(shí),還實(shí)現(xiàn)了 NAND Flash硬件擦寫壽命的檢測(cè)操作,解決了傳統(tǒng)的NANDFlash仿真模型僅能仿真NANDFlash硬件的操作序列的問題;
[0043]讀取回收模