專(zhuān)利名稱:具有連續(xù)寫(xiě)入的閃存控制裝置及其控制方法
具有連續(xù)寫(xiě)入的閃存控制裝置及其控制方法技術(shù)領(lǐng)域:
本發(fā)明是有關(guān)于一種內(nèi)存裝置及其方法,特別是有關(guān)于一種具有連續(xù)寫(xiě)入(sequentialwriting)的閃存控制裝置及其控制方法。背景技術(shù):
非與門(mén)型式閃存(Not AND, NAND)是由若干個(gè)區(qū)塊(block;)組成,且每個(gè) 區(qū)塊包含若干個(gè)資料頁(yè)(page)。小型區(qū)塊的大小為512字節(jié)(bytes),大型區(qū)塊 的大小為2048字節(jié)(bytes)。目前的非與門(mén)型式閃存(NAND flash memory)系以 區(qū)塊為最小寫(xiě)入單位,雖然非與門(mén)型式閃存真正的最小單位是數(shù)據(jù)頁(yè),但受 限于非與門(mén)型式閃存要寫(xiě)入數(shù)據(jù)前需要先抹除區(qū)塊之技術(shù)架構(gòu),使得非與門(mén) 型式閃存實(shí)際上的最小寫(xiě)入單位是區(qū)塊(block)。一般來(lái)說(shuō),當(dāng)習(xí)知技術(shù)的非與門(mén)型式閃存不支持連續(xù)(sequential write), 非與門(mén)型式閃存的快閃控制器(flash controller)必需在多個(gè)寫(xiě)入程序(writing procedure)期間重復(fù)地傳送多個(gè)寫(xiě)入命令(writing command)至非與門(mén)型式閃 存,以于非與門(mén)型式閃存的一目前數(shù)據(jù)頁(yè)面完成寫(xiě)入之后繼續(xù)在另一寫(xiě)入程 序?qū)ο乱粋€(gè)數(shù)據(jù)頁(yè)面進(jìn)行寫(xiě)入的步驟。由于必須執(zhí)行多個(gè)寫(xiě)入程序,非與門(mén) 型式閃存的寫(xiě)入效率下降。特別是當(dāng)大量的數(shù)據(jù)欲傳送至非與門(mén)型式閃存, 且相關(guān)于數(shù)據(jù)的寫(xiě)入命令以及地址經(jīng)由快閃控制器逐一傳送至非與門(mén)型式閃 存時(shí),非與門(mén)型式閃存的寫(xiě)入效率嚴(yán)重降低。有鑒于此,確有必要發(fā)展一種 新式的閃存,以解決上述問(wèn)題。
發(fā)明內(nèi)容本發(fā)明之一 目的在于提供一種具有連續(xù)寫(xiě)入的閃存控制裝置及其控制方 法,以依序且連續(xù)地寫(xiě)入數(shù)據(jù)至閃存的數(shù)據(jù)頁(yè)面。為達(dá)成上述目的,本發(fā)明提供一種具有連續(xù)寫(xiě)入的閃存控制裝置及其控 制方法,該閃存控制裝置主要包括主控制器、命令模塊、地址模塊、數(shù)據(jù)緩 沖器、狀態(tài)單元、計(jì)數(shù)裝置、內(nèi)存單元以及次要控制器。該主控制器用以產(chǎn)生一預(yù)定值,該預(yù)定值用于表示該閃存的若干個(gè)頁(yè)面 之?dāng)?shù)量。該命令模塊用以儲(chǔ)存執(zhí)行該寫(xiě)入程序期間的一寫(xiě)入命令。地址模塊用以儲(chǔ)存一目前地址,依據(jù)該目前地址,并且經(jīng)由一控總線來(lái)對(duì)若干頁(yè)面之 一目前頁(yè)面進(jìn)行尋址。數(shù)據(jù)緩沖器用以儲(chǔ)存一數(shù)據(jù),當(dāng)該寫(xiě)入命令在該閃存 中執(zhí)行時(shí),使該命令模塊依據(jù)該目前地址將該數(shù)據(jù)寫(xiě)入至該目前頁(yè)面。狀態(tài) 單元用以決定該閃存處于一預(yù)備狀態(tài)或是寫(xiě)入該資料至該閃存的該目前頁(yè)面 之一忙碌狀態(tài)。當(dāng)該命令模塊正確地將該數(shù)據(jù)寫(xiě)入至該目前頁(yè)面時(shí),該地址模塊產(chǎn)生至 少一下游鄰接地址,以依據(jù)該下游鄰接地址以及該寫(xiě)入命令來(lái)對(duì)若干頁(yè)面的 至少一下游鄰接頁(yè)面進(jìn)行尋址,并且該命令模塊依序地且連續(xù)地將該數(shù)據(jù)寫(xiě) 入至該至少一下游鄰接頁(yè)面,以于該寫(xiě)入程序期間,直至若干頁(yè)面完全且連 續(xù)地被寫(xiě)入該資料。根據(jù)上述,在閃存的一寫(xiě)入程序期間,利用閃存控制裝置經(jīng)由該控制總 線、數(shù)據(jù)總線以及預(yù)備/忙碌控制訊號(hào)線將數(shù)據(jù)寫(xiě)入至閃存的若干個(gè)頁(yè)面。亦 即,閃存控制裝置在一寫(xiě)入程序中依序地對(duì)若干頁(yè)面進(jìn)行寫(xiě)入,以改善閃存 的寫(xiě)入效能。計(jì)數(shù)裝置用以計(jì)數(shù)閃存的頁(yè)面數(shù)量,使得該數(shù)據(jù)被連續(xù)地寫(xiě)入 至該頁(yè)面。該位置模塊產(chǎn)生下游鄰接地址并且獨(dú)立于該主控制器的韌體程序, 該次要控制器直接將該數(shù)據(jù)依據(jù)該預(yù)定值以及下游鄰接地址寫(xiě)入至若干頁(yè) 面。為讓本發(fā)明的上述內(nèi)容能更明顯易懂,下文特舉較佳實(shí)施例,并配合所 附圖式,作詳細(xì)說(shuō)明如下
圖1為依據(jù)本發(fā)明實(shí)施例中具有連續(xù)寫(xiě)入(sequential writing)的閃存控制裝置之方塊圖。圖2為依據(jù)本發(fā)明實(shí)施例中閃存控制裝置的寫(xiě)入程序之時(shí)序圖。圖3為依據(jù)本發(fā)明實(shí)施例中執(zhí)行具有連續(xù)寫(xiě)入的閃存控制裝置之流程圖。
具體實(shí)施方式圖1為依據(jù)本發(fā)明 一實(shí)施例中具有連續(xù)寫(xiě)入(sequential writing)的閃存控 制裝置100之方塊圖。該閃存控制裝置100主要包括主控制器102、命令模塊 104、地址模塊106、數(shù)據(jù)緩沖器108、狀態(tài)單元IIO、計(jì)數(shù)裝置112、內(nèi)存單元 114以及次要控制器116。該閃存控制裝置100經(jīng)由若干個(gè)控制總線、數(shù)據(jù)總線以及預(yù)備/忙碌控制訊號(hào)線耦接于閃存118。在一實(shí)施例中,主控制器102例如是8051型式之芯片 或是各種類(lèi)型之?dāng)?shù)字訊號(hào)處理器(digital signal processor, DSP),命令模塊104 例如是用以儲(chǔ)存命令的緩存器(registeiO,地址模塊106例如是用以儲(chǔ)存相關(guān)于 該數(shù)據(jù)以及命令的地址之緩存器(register),該次要控制器116例如是一快閃控 制器,以允許該主控制器102控制該閃存118。內(nèi)存單元114包括隨機(jī)存取內(nèi)存 (RAM)120以及只讀存儲(chǔ)器122。
該主控制器102分別耦接于該命令模塊104、地址模塊106、數(shù)據(jù)緩沖器 108、狀態(tài)單元110、計(jì)數(shù)裝置112、內(nèi)存單元114,該命令模塊104、地址模塊 106、數(shù)據(jù)緩沖器108、狀態(tài)單元110、計(jì)數(shù)裝置112、內(nèi)存單元114分別耦接于 該次要控制器116。
該主控制器102用以產(chǎn)生一預(yù)定值,該預(yù)定值用于表示該閃存118的若干 個(gè)頁(yè)面之?dāng)?shù)量。該命令模塊104用以儲(chǔ)存執(zhí)行該寫(xiě)入程序期間的一寫(xiě)入命令。 地址模塊106用以儲(chǔ)存一目前地址,依據(jù)該目前地址,并且經(jīng)由一控總線來(lái)對(duì) 若干頁(yè)面之一目前頁(yè)面進(jìn)行尋址。數(shù)據(jù)緩沖器108用以儲(chǔ)存一數(shù)據(jù),當(dāng)該寫(xiě)入 命令在該閃存118中執(zhí)行時(shí),使該命令模塊104依據(jù)該目前地址將該數(shù)據(jù)寫(xiě)入 至該目前頁(yè)面。狀態(tài)單元110用以決定該閃存118處于一預(yù)備狀態(tài)或是寫(xiě)入該 資料至該閃存118的該目前頁(yè)面之一忙碌狀態(tài)。
當(dāng)該命令模塊104正確地將該資料寫(xiě)入至該目前頁(yè)面時(shí),該地址模塊106 產(chǎn)生至少一下游鄰接地址,以依據(jù)該下游鄰接地址以及該寫(xiě)入命令來(lái)對(duì)若干 頁(yè)面的至少一下游鄰接頁(yè)面進(jìn)行尋址,并且該命令模塊104依序地且連續(xù)地將 該數(shù)據(jù)寫(xiě)入至該至少一下游鄰接頁(yè)面,以于該寫(xiě)入程序期間,直至若干頁(yè)面 完全且連續(xù)地被寫(xiě)入該資料。
當(dāng)閃存118處于寫(xiě)入該資料至該目前頁(yè)面之所述忙碌狀態(tài)時(shí),該狀態(tài)單元 110持續(xù)地監(jiān)視(monitor)該閃存118,直至該閃存118處于該預(yù)備狀態(tài)。當(dāng)該閃 存118處于該預(yù)備狀態(tài),該狀態(tài)單元110經(jīng)由該控制總線讀取該閃存118的一寫(xiě) 入狀態(tài)。該狀態(tài)單元110依據(jù)該寫(xiě)入狀態(tài)決定該資料是否正確地寫(xiě)入至該閃存 118。當(dāng)該數(shù)據(jù)正確地寫(xiě)入至該閃存118時(shí),利用該閃存控制裝置100的一計(jì)數(shù) 裝置112,以決定該目前頁(yè)面是否為最后一頁(yè)面。
該目前頁(yè)面不是最后一頁(yè)面,將該預(yù)定值減一。該地址模塊106產(chǎn)生該至 少一下游鄰接地址,以對(duì)若干頁(yè)面的至少一下游鄰接頁(yè)面進(jìn)行尋址,并且該 命令模塊104將該數(shù)據(jù)寫(xiě)入至該至少一下游鄰接頁(yè)面,以于該寫(xiě)入程序期間,直至該預(yù)定值為零。該目前頁(yè)面為最后一頁(yè)面,該計(jì)數(shù)裝置112通知該主控制 器102該寫(xiě)入程序已經(jīng)完成。當(dāng)該數(shù)據(jù)因?yàn)樵撃壳暗刂沸纬梢诲e(cuò)誤位置而無(wú)法 正確地寫(xiě)入至該閃存118時(shí),該次要控制器116記錄該錯(cuò)誤位置。該次要控制 器116通知該主控制器102該目前地址形成該錯(cuò)誤位置。
根據(jù)上述,在閃存118的一寫(xiě)入程序期間,利用閃存控制裝置100經(jīng)由該 控制總線、數(shù)據(jù)總線以及預(yù)備/忙碌控制訊號(hào)線將數(shù)據(jù)寫(xiě)入至閃存118的若干 個(gè)頁(yè)面。亦即,閃存控制裝置100在一寫(xiě)入程序中依序地對(duì)若干頁(yè)面進(jìn)行寫(xiě)入, 以改善閃存118的寫(xiě)入效能。計(jì)數(shù)裝置112用以計(jì)數(shù)閃存118的頁(yè)面數(shù)量,使得 該數(shù)據(jù)被連續(xù)地寫(xiě)入至該頁(yè)面。該位置模塊產(chǎn)生下游鄰接地址并且獨(dú)立于該 主控制器102的韌體程序,該次要控制器116直接將該數(shù)據(jù)依據(jù)該預(yù)定值以及 下游鄰接地址寫(xiě)入至若干頁(yè)面。
參考圖1以及圖2,圖2為依據(jù)本發(fā)明一實(shí)施例中閃存控制裝置100的寫(xiě)入 程序之時(shí)序圖。該閃存118的控制訊號(hào)包括命令栓鎖致能訊號(hào)(command latch enable signal, SCLE)、芯片致能訊號(hào)(chip enable signal, /SCE)、寫(xiě)入致能訊號(hào) (write enable signal, /SWE)、地址致能訊號(hào)(address latch enable signal, SALE)、 讀取致能訊號(hào)(read enable signal, /SRE)、輸入/輸出(i叩ut/output signal, 1/00)訊 號(hào)以及預(yù)備/忙碌訊號(hào)(ready/busy signal, R/B)。
芯片致能訊號(hào)(/SCE)表示當(dāng)閃存118受到閃存控制裝置100的次要控制器 116的激發(fā)時(shí),該閃存118處于致能(active)狀態(tài)。例如當(dāng)閃存118處于低準(zhǔn)位時(shí), 該閃存118處于有效狀態(tài)。寫(xiě)入致能訊號(hào)(/SWE)表示當(dāng)寫(xiě)入致能訊號(hào)(/SWE) 被激發(fā)時(shí),例如是低準(zhǔn)位時(shí),該次要控制器116能夠?qū)?shù)據(jù)寫(xiě)入至該閃存118。
讀取致能訊號(hào)(/SRE)表示當(dāng)讀取致能訊號(hào)(/SRE)被激發(fā)時(shí),例如是低準(zhǔn)位 時(shí),該次要控制器116能夠讀取該閃存118內(nèi)的數(shù)據(jù)。當(dāng)該命令栓鎖致能訊號(hào) (SCLE)被激發(fā)時(shí),該命令在寫(xiě)入致能訊號(hào)(/SWE)的上升緣栓鎖至命令模塊 104。當(dāng)該地址致能訊號(hào)(SALE)被激發(fā)時(shí),該地址在寫(xiě)入致能訊號(hào)(/SWE)的 上升緣栓鎖至命令模塊104。
輸入/輸出(I/O0)訊號(hào)表示傳輸于該閃存118與該數(shù)據(jù)緩存器之間的訊號(hào)。 該預(yù)備/忙碌訊號(hào)(R/B)表示該狀態(tài)模塊報(bào)告給該閃存控制裝置100的狀態(tài)訊 號(hào)。
當(dāng)該閃存控制裝置100將數(shù)據(jù)寫(xiě)入至閃存118的頁(yè)面,主要包括下列步驟 (1)經(jīng)由快閃控制器傳送寫(xiě)入命令至閃存118,寫(xiě)入命令的地址例如是0x80h;(2)將該數(shù)據(jù)的地址指定給該閃存118,且該數(shù)據(jù)的大小等于該閃存118的一頁(yè) 面;(3)執(zhí)行該寫(xiě)入命令,例如是地址0xl0h; (4)當(dāng)數(shù)據(jù)完全寫(xiě)入至閃存118之 后,該預(yù)備/忙碌訊號(hào)(R/B)表示該閃存118處于預(yù)備或是忙碌狀態(tài),例如是地 址0x70h;以及(5)閃存控制裝置100的狀態(tài)單元110經(jīng)由次要控制器116讀取該 閃存118的寫(xiě)入狀態(tài),依據(jù)該寫(xiě)入狀態(tài)以決定該資料是否正確地寫(xiě)入至該閃存 118,例如是地址I/00。
參考圖l、圖2以及圖3,圖3為依據(jù)本發(fā)明實(shí)施例中執(zhí)行具有連續(xù)寫(xiě)入的 閃存控制裝置100之流程圖。該具有連續(xù)寫(xiě)入的閃存控制裝置100之控制發(fā)法 包括下列步驟
在步驟S300中,該主控制器102產(chǎn)生一預(yù)定值,該預(yù)定值用于表示該閃存 118的若干個(gè)頁(yè)面之?dāng)?shù)量。
在步驟S302中,該命令模塊104儲(chǔ)存執(zhí)行該寫(xiě)入程序期間的寫(xiě)入命令。
在步驟S304中,該地址模塊106儲(chǔ)存一目前地址,依據(jù)該目前地址,并且 經(jīng)由 一控總線來(lái)對(duì)若干頁(yè)面之目前頁(yè)面進(jìn)行尋址。
在步驟S306中,該數(shù)據(jù)緩沖器108儲(chǔ)存一數(shù)據(jù),當(dāng)該寫(xiě)入命令在該閃存118 中執(zhí)行時(shí),使該命令模塊104依據(jù)該目前地址將該數(shù)據(jù)寫(xiě)入至該目前頁(yè)面。
在步驟S308中,該命令模塊104將對(duì)應(yīng)于該寫(xiě)入命令的結(jié)束命寫(xiě)入至次要 控制器116。
在步驟S310中,該狀態(tài)單元l 10決定該閃存118處于預(yù)備狀態(tài)或是寫(xiě)入該 資料至該閃存118的該目前頁(yè)面之忙碌狀態(tài)。當(dāng)閃存118處于寫(xiě)入該資料至該 目前頁(yè)面之所述忙碌狀態(tài)時(shí),回到步驟S310,并且該狀態(tài)單元110持續(xù)地監(jiān)視 該閃存118,直至該閃存118處于該預(yù)備狀態(tài)。當(dāng)該閃存118處于該預(yù)備狀態(tài), 回到步驟S312。在步驟S312中,該狀態(tài)單元110經(jīng)由該控制總線讀取該閃存118 的寫(xiě)入狀態(tài)。
在步驟S314中,該狀態(tài)單元110依據(jù)該寫(xiě)入狀態(tài)決定該資料是否正確地寫(xiě) 入至該閃存118。當(dāng)該命令模塊104正確地將該資料寫(xiě)入至該目前頁(yè)面時(shí),該 地址模塊106產(chǎn)生至少一下游鄰接地址,以依據(jù)該下游鄰接地址以及該寫(xiě)入命 令來(lái)對(duì)若干頁(yè)面的至少一下游鄰接頁(yè)面進(jìn)行尋址,并且該命令模塊104依序地 且連續(xù)地將該數(shù)據(jù)寫(xiě)入至該至少一下游鄰接頁(yè)面,以于該寫(xiě)入程序期間,直 至若干頁(yè)面完全且連續(xù)地被寫(xiě)入該資料。假如步驟S314的決定為"是",則執(zhí) 行步驟S316,若為"否",則執(zhí)行步驟S324。在步驟S316中,當(dāng)該數(shù)據(jù)正確地寫(xiě)入至該閃存118吋,利用該閃存控制裝 置100的計(jì)數(shù)裝置112,以決定該目前頁(yè)面是否為最后頁(yè)面。若為"否",則執(zhí) 行步驟S318,若為"是",則執(zhí)行步驟S322。
在步驟S318中,該目前頁(yè)面不是最后頁(yè)面,將該預(yù)定值減一。繼續(xù)執(zhí)行 步驟S320。
在步驟S320中,該地址模塊106產(chǎn)生該至少一下游鄰接地址,以對(duì)若干頁(yè) 面的至少一下游鄰接頁(yè)面進(jìn)行尋址,并且該命令模塊104將該數(shù)據(jù)寫(xiě)入至該至 少一下游鄰接頁(yè)面,以于該寫(xiě)入程序期間,直至該預(yù)定值為零。
在步驟S322中,該目前頁(yè)面為最后頁(yè)面,該計(jì)數(shù)裝置112通知該主控制器 102該寫(xiě)入程序已經(jīng)完成。
在步驟S324中,當(dāng)該數(shù)據(jù)因?yàn)樵撃壳暗刂沸纬慑e(cuò)誤位置而無(wú)法正確地寫(xiě) 入至該閃存118時(shí),該次要控制器116記錄該錯(cuò)誤位置。繼續(xù)執(zhí)行步驟S326, 在步驟S326中,該次要控制器116通知該主控制器102該目前地址形成該錯(cuò)誤 位置。
權(quán)利要求
1.一種閃存控制裝置,用以控制一閃存的一寫(xiě)入程序,其特征在于該閃存控制裝置包括主控制器,用以產(chǎn)生一預(yù)定值,該預(yù)定值用于表示該閃存的若干個(gè)頁(yè)面之?dāng)?shù)量;命令模塊,用以儲(chǔ)存執(zhí)行該寫(xiě)入程序期間的一寫(xiě)入命令;地址模塊,耦接于該主控制器,用以儲(chǔ)存目前地址,依據(jù)該目前地址,并且經(jīng)由控總線來(lái)對(duì)若干頁(yè)面之目前頁(yè)面進(jìn)行尋址;數(shù)據(jù)緩沖器,耦接于該主控制器,用以儲(chǔ)存數(shù)據(jù),當(dāng)該寫(xiě)入命令在該閃存中執(zhí)行時(shí),使該命令模塊依據(jù)該目前地址將該數(shù)據(jù)寫(xiě)入至該目前頁(yè)面;以及狀態(tài)單元,耦接于該主控制器,用以決定該閃存處于預(yù)備狀態(tài)或是寫(xiě)入該資料至該閃存的該目前頁(yè)面之忙碌狀態(tài);其中當(dāng)該命令模塊正確地將該數(shù)據(jù)寫(xiě)入至該目前頁(yè)面時(shí),該地址模塊產(chǎn)生至少一下游鄰接地址,以依據(jù)該下游鄰接地址以及該寫(xiě)入命令來(lái)對(duì)若干頁(yè)面的至少一下游鄰接頁(yè)面進(jìn)行尋址,并且該命令模塊依序地且連續(xù)地將該數(shù)據(jù)寫(xiě)入至該至少一下游鄰接頁(yè)面,以于該寫(xiě)入程序期間,直至若干頁(yè)面完全且連續(xù)地被寫(xiě)入該資料。
2. 如權(quán)利要求l所述的閃存控制裝置,其特征在于當(dāng)閃存處于寫(xiě)入該 資料至該目前頁(yè)面之所述忙碌狀態(tài)時(shí),該狀態(tài)單元持續(xù)地監(jiān)視該閃存,直至 該閃存處于該預(yù)備狀態(tài)。
3. 如權(quán)利要求1所述的閃存控制裝置,其特征在于當(dāng)該閃存處于該預(yù) 備狀態(tài),該狀態(tài)單元經(jīng)由該控制總線讀取該閃存的寫(xiě)入狀態(tài)。
4. 如權(quán)利要求3所述的閃存控制裝置,其特征在于該狀態(tài)單元依據(jù)該 寫(xiě)入狀態(tài)決定該資料是否正確地寫(xiě)入至該閃存。
5. 如權(quán)利要求4所述的閃存控制裝置,其特征在于當(dāng)該數(shù)據(jù)正確地寫(xiě) 入至該閃存時(shí),該閃存控制裝置還包括計(jì)數(shù)裝置,耦接于該主控制器,以決 定該目前頁(yè)面是否為最后頁(yè)面。
6. 如權(quán)利要求5所述的閃存控制裝置,其特征在于該目前頁(yè)面不是最 后頁(yè)面,將該預(yù)定值減一。
7. 如權(quán)利要求6所述的閃存控制裝置,其特征在于該地址模塊產(chǎn)生該 至少一下游鄰接地址,以對(duì)若干頁(yè)面的至少一下游鄰接頁(yè)面進(jìn)行尋址,并且 該命令模塊將該數(shù)據(jù)寫(xiě)入至該至少一下游鄰接頁(yè)面,以于該寫(xiě)入程序期間, 直至該預(yù)定值為零。
8. 如權(quán)利要求5所述的閃存控制裝置,其特征在于該目前頁(yè)面為最后 頁(yè)面,該計(jì)數(shù)裝置通知該主控制器該寫(xiě)入程序已經(jīng)完成。
9. 如權(quán)利要求4所述的閃存控制裝置,其特征在于當(dāng)該數(shù)據(jù)因?yàn)樵撃?前地址形成錯(cuò)誤位置而無(wú)法正確地寫(xiě)入至該閃存時(shí),次要控制器記錄該錯(cuò)誤 位置。
10. 如權(quán)利要求9所述的閃存控制裝置,其特征在于該次要控制器通知 該主控制器該目前地址形成該錯(cuò)誤位置。
11. 一種控制閃存的寫(xiě)入程序之方法,該方法包括下列步驟利用主控制器產(chǎn)生一預(yù)定值,該預(yù)定值用于表示該閃存的若干個(gè)頁(yè)面之 數(shù)量;儲(chǔ)存執(zhí)行該寫(xiě)入程序期間的寫(xiě)入命令于命令模塊;儲(chǔ)存目前地址于地址模塊,依據(jù)該目前地址,并且經(jīng)由控總線來(lái)對(duì)若干 頁(yè)面之目前頁(yè)面進(jìn)行尋址;儲(chǔ)存數(shù)據(jù)于數(shù)據(jù)緩沖器,當(dāng)該寫(xiě)入命令在該閃存中執(zhí)行時(shí),使該命令模 塊依據(jù)該目前地址將該數(shù)據(jù)寫(xiě)入至該目前頁(yè)面;以及利用狀態(tài)單元決定該閃存處于預(yù)備狀態(tài)或是寫(xiě)入該資料至該閃存的該目 前頁(yè)面之忙碌狀態(tài);其中當(dāng)該命令模塊正確地將該數(shù)據(jù)寫(xiě)入至該目前頁(yè)面時(shí),該地址模塊產(chǎn) 生至少一下游鄰接地址,以依據(jù)該下游鄰接地址以及該寫(xiě)入命令來(lái)對(duì)若干頁(yè) 面的至少一下游鄰接頁(yè)面進(jìn)行尋址,并且該命令模塊依序地且連續(xù)地將該數(shù) 據(jù)寫(xiě)入至該至少一下游鄰接頁(yè)面,以于該寫(xiě)入程序期間,直至若干頁(yè)面完全 且連續(xù)地被寫(xiě)入該資料。
12. 如權(quán)利要求ll所述的方法,其特征在于當(dāng)閃存處于寫(xiě)入該資料至 該目前頁(yè)面之所述忙碌狀態(tài)時(shí),還包括持續(xù)地監(jiān)視該閃存,直至該閃存處于 該預(yù)備狀態(tài)。
13. 如權(quán)利要求11所述的方法,其特征在于當(dāng)該閃存處于該預(yù)備狀態(tài), 還包括經(jīng)由該控制總線讀取該閃存的寫(xiě)入狀態(tài)。
14. 如權(quán)利要求13所述的方法,其特征在于還包括依據(jù)該寫(xiě)入狀態(tài)決 定該資料是否正確地寫(xiě)入至該閃存。
15. 如權(quán)利要求14所述的方法,其特征在于當(dāng)該數(shù)據(jù)正確地寫(xiě)入至該 閃存時(shí),還包括利用計(jì)數(shù)裝置決定該目前頁(yè)面是否為最后一頁(yè)面。
16. 如權(quán)利要求15所述的方法,其特征在于該目前頁(yè)面不是最后頁(yè)面, 還包括將該預(yù)定值減一之步驟。
17. 如權(quán)利要求16所述的方法,其特征在于還包括產(chǎn)生該至少一下游 鄰接地址,以對(duì)若干頁(yè)面的至少一下游鄰接頁(yè)面進(jìn)行尋址,并且該命令模塊 將該數(shù)據(jù)寫(xiě)入至該至少一下游鄰接頁(yè)面,以于該寫(xiě)入程序期間,直至該預(yù)定 值為零。
18. 如權(quán)利要求15所述的方法,其特征在于該目前頁(yè)面為最后頁(yè)面, 還包括通知該主控制器該寫(xiě)入程序已經(jīng)完成。
19. 如權(quán)利要求14所述的方法,其特征在于當(dāng)該數(shù)據(jù)因?yàn)樵撃壳暗刂?形成錯(cuò)誤位置而無(wú)法正確地寫(xiě)入至該閃存時(shí),還包括利用一次要控制器記錄 該錯(cuò)誤位置。
20. 如權(quán)利要求19所述的方法,其特征在于還包括利用該次要控制器通知該主控制器該目前地址形成該錯(cuò)誤位置。
全文摘要
本發(fā)明公開(kāi)一種具有連續(xù)寫(xiě)入的閃存控制裝置及其控制方法,包括主控制器、命令模塊、地址模塊、數(shù)據(jù)緩沖器、狀態(tài)單元以及計(jì)數(shù)裝置。主控制器產(chǎn)生一預(yù)定值。命令模塊儲(chǔ)存執(zhí)行寫(xiě)入程序期間的寫(xiě)入命令。地址模塊儲(chǔ)存目前地址,對(duì)目前頁(yè)面進(jìn)行尋址。數(shù)據(jù)緩沖器儲(chǔ)存一數(shù)據(jù)。狀態(tài)單元決定閃存處于一預(yù)備狀態(tài)或是忙碌狀態(tài)。當(dāng)命令模塊正確地將數(shù)據(jù)寫(xiě)入至目前頁(yè)面時(shí),地址模塊產(chǎn)生至少一下游鄰接地址,并且命令模塊依序地且連續(xù)地將數(shù)據(jù)寫(xiě)入至至少一下游鄰接頁(yè)面,以于寫(xiě)入程序期間,直至全部頁(yè)面完全且連續(xù)地被寫(xiě)入資料。
文檔編號(hào)G06F12/02GK101673241SQ20081014945
公開(kāi)日2010年3月17日 申請(qǐng)日期2008年9月10日 優(yōu)先權(quán)日2008年9月10日
發(fā)明者李浩緯, 林璟鴻, 黃瑋淦 申請(qǐng)人:創(chuàng)惟科技股份有限公司