日韩成人黄色,透逼一级毛片,狠狠躁天天躁中文字幕,久久久久久亚洲精品不卡,在线看国产美女毛片2019,黄片www.www,一级黄色毛a视频直播

一種寫數(shù)據(jù)的方法和設(shè)備的制造方法

文檔序號(hào):9371892閱讀:606來源:國(guó)知局
一種寫數(shù)據(jù)的方法和設(shè)備的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)控制技術(shù)的光模塊領(lǐng)域,尤其涉及一種寫數(shù)據(jù)的方法和設(shè)備。
【背景技術(shù)】
[0002]在計(jì)算機(jī)控制技術(shù)的光模塊領(lǐng)域,光模塊對(duì)外提供了軟件訪問控制功能。主機(jī)(Host)可通過 I2C(Inter-1ntegrade Circuit,內(nèi)部集成電路)、MD1(Management DateInput/Output,管理數(shù)據(jù)輸入輸出總線)等總線接口訪問光模塊。其中,訪問形式包括讀數(shù)據(jù)、寫數(shù)據(jù)等。
[0003]此外,有些光模塊存在對(duì)內(nèi)部的Flash閃存儲(chǔ)設(shè)備執(zhí)行寫操作的命令,比如,XFP模塊提供128字節(jié)的區(qū)域作為用戶的可寫入?yún)^(qū)域。
[0004]根據(jù)Flash閃存儲(chǔ)設(shè)備的存儲(chǔ)特性,當(dāng)需要向Flash閃存儲(chǔ)設(shè)備中寫入數(shù)據(jù)時(shí),需要首先確定寫入數(shù)據(jù)存儲(chǔ)在Flash閃存儲(chǔ)設(shè)備的目標(biāo)地址,并對(duì)Flash閃存儲(chǔ)設(shè)備中的目標(biāo)地址執(zhí)行擦除操作,然后再將待寫入的數(shù)據(jù)寫入至該目標(biāo)地址中。
[0005]完成這一系列的操作存在以下問題:1、需要消耗大量的時(shí)間。由于擦除Flash閃存儲(chǔ)設(shè)備的最小單位是頁(yè),每次在對(duì)Flash閃存儲(chǔ)設(shè)備進(jìn)行擦除操作前還需要將該頁(yè)內(nèi)原有的數(shù)據(jù)讀取至RAM中保存,待擦除操作執(zhí)行完畢之后,在將RAM中保存的數(shù)據(jù)逐個(gè)寫入,消耗時(shí)間比較長(zhǎng)。2、對(duì)于Flash閃存儲(chǔ)設(shè)備存在對(duì)某一個(gè)地址反復(fù)擦寫的情況,這樣還會(huì)降低Flash的壽命。3、假設(shè)將Flash閃存儲(chǔ)設(shè)備設(shè)置的MCU (Micro Control Unit,微控制單元)內(nèi)部,在對(duì)Flash閃存儲(chǔ)設(shè)備執(zhí)行擦除操作時(shí),MCU將處于待機(jī)狀態(tài),無法響應(yīng)系統(tǒng)發(fā)生的其他指令,將導(dǎo)致光模塊通信的異常。

【發(fā)明內(nèi)容】

[0006]本發(fā)明實(shí)施例提供了一種寫數(shù)據(jù)的方法和設(shè)備,用于解決目前光模塊在向Flash內(nèi)部寫數(shù)據(jù)時(shí)存在寫數(shù)據(jù)周期長(zhǎng)且寫數(shù)據(jù)效率比較低的問題。
[0007]根據(jù)本發(fā)明的第一方面,提供了一種寫數(shù)據(jù)的方法,包括:
[0008]接收光模塊發(fā)送的寫數(shù)據(jù)指令,其中,所述寫數(shù)據(jù)指令中包含了待寫入閃存Flash的數(shù)據(jù);
[0009]根據(jù)所述寫數(shù)據(jù)指令中包含了待寫入Flash的數(shù)據(jù)的邏輯地址,確定所述待寫入Flash的數(shù)據(jù)存儲(chǔ)在所述Flash內(nèi)部的物理地址;
[0010]根據(jù)設(shè)定的物理地址與至少兩個(gè)存儲(chǔ)區(qū)域之間的對(duì)應(yīng)關(guān)系,得到確定的所述物理地址對(duì)應(yīng)的至少兩個(gè)存儲(chǔ)區(qū)域;并
[0011]從得到的所述至少兩個(gè)存儲(chǔ)區(qū)域中選擇一個(gè)存儲(chǔ)區(qū)域,在所述選擇的存儲(chǔ)區(qū)域內(nèi)沒有存儲(chǔ)數(shù)據(jù)時(shí),將所述待寫入Flash的數(shù)據(jù)直接寫入所述選擇的存儲(chǔ)區(qū)域。
[0012]結(jié)合本發(fā)明第一方面可能的實(shí)施方式中,第一種可能的實(shí)施方式,所述設(shè)定的物理地址與至少兩個(gè)存儲(chǔ)區(qū)域之間的對(duì)應(yīng)關(guān)系的確定方式包括:
[0013]預(yù)先將Flash內(nèi)部的存儲(chǔ)區(qū)域劃分成N個(gè)子存儲(chǔ)區(qū)域,其中,N為自然數(shù);
[0014]從N份存儲(chǔ)區(qū)域中選擇至少兩個(gè)子存儲(chǔ)區(qū)域作為一個(gè)物理地址對(duì)應(yīng)的存儲(chǔ)區(qū)域,并建立所述物理地址與所述至少兩個(gè)子存儲(chǔ)區(qū)域之間的對(duì)應(yīng)關(guān)系,其中,不同物理地址對(duì)應(yīng)的子存儲(chǔ)區(qū)域不同。
[0015]結(jié)合本發(fā)明第一方面的第一種可能的實(shí)施方式中,第二種可能的實(shí)施方式,所述將Flash內(nèi)部的存儲(chǔ)區(qū)域劃分成N個(gè)子存儲(chǔ)區(qū)域,包括:
[0016]將Flash內(nèi)部的存儲(chǔ)區(qū)域平均劃分成N個(gè)子存儲(chǔ)區(qū)域。
[0017]結(jié)合本發(fā)明第一方面可能的實(shí)施方式中,或者結(jié)合本發(fā)明第一方面的第一種可能的實(shí)施方式中,或者結(jié)合本發(fā)明第一方面的第二種可能的實(shí)施方式中,第三種可能的實(shí)施方式,所述從得到的所述至少兩個(gè)存儲(chǔ)區(qū)域中選擇一個(gè)存儲(chǔ)區(qū)域,在所述選擇的存儲(chǔ)區(qū)域沒有存儲(chǔ)數(shù)據(jù)時(shí),將所述待寫入Flash的數(shù)據(jù)直接寫入所述選擇的存儲(chǔ)區(qū)域,包括:
[0018]從得到的所述至少兩個(gè)存儲(chǔ)區(qū)域中選擇一個(gè)存儲(chǔ)區(qū)域,并判斷所述選擇的存儲(chǔ)區(qū)域內(nèi)是否已存儲(chǔ)數(shù)據(jù);
[0019]若所述選擇的存儲(chǔ)區(qū)域內(nèi)沒有存儲(chǔ)數(shù)據(jù)時(shí),將所述待寫入Flash的數(shù)據(jù)直接寫入所述選擇的存儲(chǔ)區(qū)域。
[0020]結(jié)合本發(fā)明第一方面的第三種可能的實(shí)施方式中,第四種可能的實(shí)施方式,所述方法還包括:
[0021]若所述選擇的存儲(chǔ)區(qū)域內(nèi)已有存儲(chǔ)數(shù)據(jù)時(shí),將所述存儲(chǔ)區(qū)域內(nèi)的存儲(chǔ)數(shù)據(jù)與所述待寫入Flash的數(shù)據(jù)進(jìn)行比較;
[0022]當(dāng)所述存儲(chǔ)區(qū)域內(nèi)的存儲(chǔ)數(shù)據(jù)與所述待寫入Flash的數(shù)據(jù)相同時(shí),觸發(fā)所述待寫入Flash的數(shù)據(jù)寫完成指令;
[0023]當(dāng)所述存儲(chǔ)區(qū)域內(nèi)寫入數(shù)據(jù)與所述待寫入Flash的數(shù)據(jù)不相同時(shí),繼續(xù)選擇下一個(gè)存儲(chǔ)區(qū)域,直至在確定選擇的所述下一個(gè)存儲(chǔ)區(qū)域內(nèi)沒有存儲(chǔ)數(shù)據(jù)時(shí),將所述待寫入Flash的數(shù)據(jù)直接寫入選擇的所述下一個(gè)存儲(chǔ)區(qū)域。
[0024]結(jié)合本發(fā)明第一方面的第四種可能的實(shí)施方式中,第五種可能的實(shí)施方式,所述方法還包括:
[0025]在當(dāng)所述存儲(chǔ)區(qū)域內(nèi)寫入數(shù)據(jù)與所述待寫入Flash的數(shù)據(jù)相同時(shí)觸發(fā)所述待寫入Flash的數(shù)據(jù)寫完成指令時(shí),記錄所述存儲(chǔ)區(qū)域與所述待寫入Flash的數(shù)據(jù)之間的對(duì)應(yīng)關(guān)系,以便于在讀取所述待寫入Flash的數(shù)據(jù)時(shí),確定讀取所述待寫入Flash的數(shù)據(jù)的存儲(chǔ)區(qū)域。
[0026]結(jié)合本發(fā)明第一方面可能的實(shí)施方式中,或者結(jié)合本發(fā)明第一方面的第一種可能的實(shí)施方式中,或者結(jié)合本發(fā)明第一方面的第二種可能的實(shí)施方式中,或者結(jié)合本發(fā)明第一方面的第三種可能的實(shí)施方式中,或者結(jié)合本發(fā)明第一方面的第四種可能的實(shí)施方式中,或者結(jié)合本發(fā)明第一方面的第五種可能的實(shí)施方式中,第六種可能的實(shí)施方式,所述Flash內(nèi)部的存儲(chǔ)區(qū)域?qū)儆谝巡脸鎯?chǔ)區(qū)域,處于可被寫入數(shù)據(jù)的狀態(tài)。
[0027]根據(jù)本發(fā)明的第二方面,提供了一種寫數(shù)據(jù)的設(shè)備,包括:
[0028]接收模塊,用于接收光模塊發(fā)送的寫數(shù)據(jù)指令,其中,所述寫數(shù)據(jù)指令中包含了待寫入閃存Flash的數(shù)據(jù);
[0029]確定模塊,用于根據(jù)所述寫數(shù)據(jù)指令中包含了待寫入Flash的數(shù)據(jù)的邏輯地址,確定所述接收模塊接收到的所述待寫入Flash的數(shù)據(jù)存儲(chǔ)在所述Flash內(nèi)部的物理地址;
[0030]寫數(shù)據(jù)模塊,用于根據(jù)設(shè)定的物理地址與至少兩個(gè)存儲(chǔ)區(qū)域之間的對(duì)應(yīng)關(guān)系,得到所述確定模塊確定的所述物理地址對(duì)應(yīng)的至少兩個(gè)存儲(chǔ)區(qū)域;并從得到的所述至少兩個(gè)存儲(chǔ)區(qū)域中選擇一個(gè)存儲(chǔ)區(qū)域,在所述選擇的存儲(chǔ)區(qū)域內(nèi)沒有存儲(chǔ)數(shù)據(jù)時(shí),將所述接收模塊接收到的所述待寫入Flash的數(shù)據(jù)直接寫入所述選擇的存儲(chǔ)區(qū)域。
[0031]結(jié)合本發(fā)明第二方面可能的實(shí)施方式中,第一種可能的實(shí)施方式,所述設(shè)備還包括對(duì)應(yīng)關(guān)系確定t吳塊,其中:
[0032]所述對(duì)應(yīng)關(guān)系確定模塊,用于確定物理地址與至少兩個(gè)存儲(chǔ)區(qū)域之間的對(duì)應(yīng)關(guān)系,具體用于:
[0033]預(yù)先將Flash內(nèi)部的存儲(chǔ)區(qū)域劃分成N個(gè)子存儲(chǔ)區(qū)域,其中,N為自然數(shù);
[0034]從N份存儲(chǔ)區(qū)域中選擇至少兩個(gè)子存儲(chǔ)區(qū)域作為一個(gè)物理地址對(duì)應(yīng)的存儲(chǔ)區(qū)域,并建立所述物理地址與所述至少兩個(gè)子存儲(chǔ)區(qū)域之間的對(duì)應(yīng)關(guān)系,其中,不同物理地址對(duì)應(yīng)的子存儲(chǔ)區(qū)域不同。
[0035]結(jié)合本發(fā)明第二方面的第一種可能的實(shí)施方式中,第二種可能的實(shí)施方式,所述對(duì)應(yīng)關(guān)系確定模塊,具體用于將Flash內(nèi)部的存儲(chǔ)區(qū)域平均劃分成N個(gè)子存儲(chǔ)區(qū)域。
[0036]結(jié)合本發(fā)明第二方面可能的實(shí)施方式中,或者結(jié)合本發(fā)明第二方面的第一種可能的實(shí)施方式中,或者結(jié)合本發(fā)明第二方面的第二種可能的實(shí)施方式中,第三種可能的實(shí)施方式,所述寫數(shù)據(jù)模塊,具體用于從得到的所述至少兩個(gè)存儲(chǔ)區(qū)域中選擇一個(gè)存儲(chǔ)區(qū)域,并判斷所述選擇的存儲(chǔ)區(qū)域內(nèi)是否已存儲(chǔ)數(shù)據(jù);
[0037]若所述選擇的存儲(chǔ)區(qū)域內(nèi)沒有存儲(chǔ)數(shù)據(jù)時(shí),將所述待寫入Flash的數(shù)據(jù)直接寫入所述選擇的存儲(chǔ)區(qū)域。
[0038]結(jié)合本發(fā)明第二方面的第三種可能的實(shí)施方式中,第四種可能的實(shí)施方式,所述寫數(shù)據(jù)模塊,還用于若所述選擇的存儲(chǔ)區(qū)域內(nèi)已有存儲(chǔ)數(shù)據(jù)時(shí),將所述存儲(chǔ)區(qū)域內(nèi)的存儲(chǔ)數(shù)據(jù)與所述待寫入Flash的數(shù)據(jù)進(jìn)行比較;
[0039]當(dāng)所述存儲(chǔ)區(qū)域內(nèi)的存儲(chǔ)數(shù)據(jù)與所述待寫入Flash的數(shù)據(jù)相同時(shí),觸發(fā)所述待寫入Flash的數(shù)據(jù)寫完成指令;
[0040]當(dāng)所述存儲(chǔ)區(qū)域內(nèi)寫入數(shù)據(jù)與所述待寫入Flash的數(shù)據(jù)不相同時(shí),繼續(xù)選擇下一個(gè)存儲(chǔ)區(qū)域,直至在確定選擇的所述下一個(gè)存儲(chǔ)區(qū)域內(nèi)沒有存儲(chǔ)數(shù)據(jù)時(shí),將所述待寫入Flash的數(shù)據(jù)直接寫入選擇的所述下一個(gè)存儲(chǔ)區(qū)域。
[0041]結(jié)合本發(fā)明第二方面的第四種可能的實(shí)施方式中,第五種可能的實(shí)施方式,所述設(shè)備還包括:
[0042]記錄模塊,用于當(dāng)所述寫數(shù)據(jù)模塊在所述存儲(chǔ)區(qū)域內(nèi)寫入數(shù)據(jù)與所述待寫入Flash的數(shù)據(jù)相同時(shí)觸發(fā)所述待寫入Flash的數(shù)據(jù)寫完成指令時(shí),記錄所述存儲(chǔ)區(qū)域與所述待寫入Flash的數(shù)據(jù)之間的對(duì)應(yīng)關(guān)系,以便于在讀取所述待寫入Flash的數(shù)據(jù)時(shí),確定讀取所述待寫入Flash的數(shù)據(jù)的存儲(chǔ)區(qū)域。
[0043]結(jié)合本發(fā)明第二方面可能的實(shí)施方式中,或者結(jié)合本發(fā)明第二方面的第一種可能的實(shí)施方式中,或者結(jié)合本發(fā)明第二方面的第二種可能的實(shí)施方式中,或者結(jié)合本發(fā)明第二方面的第三種可能的實(shí)施方式中,或者結(jié)合本發(fā)明第二方面的第四種可能的實(shí)施方式中,或者結(jié)合本發(fā)明第二方面的第五種可能的實(shí)施方式中,第六種可能的實(shí)施方式,所述Flash內(nèi)部的存儲(chǔ)區(qū)域?qū)儆谝巡脸鎯?chǔ)區(qū)域,處于可被寫入數(shù)據(jù)的狀態(tài)。
[0044]根據(jù)本發(fā)明的第三方面,提供了一種寫數(shù)據(jù)的設(shè)備,包括:
[0045]通信總線,用于存儲(chǔ)器與處理器之間的通信;
[0046]存儲(chǔ)器,用于存儲(chǔ)寫數(shù)據(jù)的應(yīng)用程序代碼;
[0047]處理器,用于執(zhí)行存儲(chǔ)器中存儲(chǔ)的寫數(shù)據(jù)的應(yīng)用程序代碼,具體執(zhí)行:
[0048]接收光模塊發(fā)送的寫數(shù)據(jù)指令,其中,所述寫數(shù)據(jù)指令中包含了待寫入閃存Flash的數(shù)據(jù);
[0049]根據(jù)所述寫數(shù)據(jù)指令中包含了待寫入Flash的數(shù)據(jù)的邏輯地址,確定所述待寫入Flash的數(shù)據(jù)存儲(chǔ)在所述Flash內(nèi)部的物理地址;
[0050]根據(jù)設(shè)定的物理地址與至少兩個(gè)存儲(chǔ)區(qū)域之間的對(duì)應(yīng)關(guān)系,得到確定的所述物理地址對(duì)應(yīng)的至少兩個(gè)存儲(chǔ)區(qū)域;并
當(dāng)前第1頁(yè)1 2 3 4 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1