專利名稱:快閃式內(nèi)存及操作一快閃式內(nèi)存的方法
技術(shù)領(lǐng)域:
本發(fā)明是關(guān)于一種操作一快閃式內(nèi)存的方法。更具體而言,本發(fā)明是關(guān)于 一種操作一具有一快取區(qū)及多個(gè)不同區(qū)塊的快閃式內(nèi)存的方法。
背景技術(shù):
在世界各地所廣泛使用的快閃式內(nèi)存配備有一控制器及緩沖區(qū)。通常,在
存取快閃式內(nèi)存時(shí),控制器將數(shù)據(jù)從主機(jī)預(yù)先加載緩沖區(qū)中。然后,控制器將
預(yù)先加載的數(shù)據(jù)通過一快取區(qū)寫入至快閃式內(nèi)存的各區(qū)塊。因此,緩沖區(qū)容量 不能小于單一區(qū)塊。
隨著半導(dǎo)體技術(shù)的發(fā)展,區(qū)塊容量隨之增大,且快閃式內(nèi)存的密度亦在增 大。為確保順利進(jìn)行數(shù)據(jù)傳輸,區(qū)塊容量的增大使得亦必需增大緩沖區(qū)的容量。 然而,使用愈大的緩沖區(qū)即意味著控制器的制造成本愈高。
因此,在不增大緩沖區(qū)容量的情況下使數(shù)據(jù)傳輸順利進(jìn)行甚為重要。
發(fā)明內(nèi)容
本發(fā)明的主要目的是提供一種操作一快閃式內(nèi)存的方法。該快閃式內(nèi)存包 含一快取區(qū),該快取區(qū)用以于數(shù)據(jù)傳輸期間在將數(shù)據(jù)儲(chǔ)存于快閃式內(nèi)存中之前 從主機(jī)預(yù)先加載該數(shù)據(jù)。
借由使用快取區(qū),該快閃式內(nèi)存的控制器可不再使用緩沖區(qū),或者可使用 一小于快閃式內(nèi)存單一區(qū)塊的緩沖區(qū)。由此使數(shù)據(jù)傳輸保持順利進(jìn)行。為達(dá)成 該目的,將該內(nèi)存的各區(qū)塊劃分成不同的數(shù)據(jù)傳輸類別。
在參閱圖式及隨后描述的實(shí)施方式后,此技術(shù)領(lǐng)域具有通常知識(shí)者便可了 解本發(fā)明的其它目的,以及本發(fā)明的技術(shù)手段及實(shí)施態(tài)樣。
圖1為本發(fā)明的一較佳實(shí)施例;
圖2a-2c為該較佳實(shí)施例的操作的例示圖3為圖l所示較佳實(shí)施例的操作的一流程圖;
圖4為本發(fā)明的另一較佳實(shí)施例;以及
圖5為圖4所示較佳實(shí)施例的操作的一流程圖。
主要組件符號(hào)說明
1:'決閃式內(nèi)存2:快閃式內(nèi)存
ll-控制器12:區(qū)塊儲(chǔ)存區(qū)
lS:快取區(qū)21:控制器
22:區(qū)塊儲(chǔ)存區(qū)23:快取區(qū)
101:數(shù)據(jù)102:數(shù)據(jù)
120:區(qū)塊121:第二區(qū)域
122::第一區(qū)域123:第三區(qū)域
201:數(shù)據(jù)211:緩沖區(qū)
221:第二區(qū)域222:第一區(qū)域
223:第三區(qū)域
具體實(shí)施例方式
在下文說明中,將參照實(shí)施例來說明本發(fā)明,其是關(guān)于一種操作一快閃式 內(nèi)存的方法以及一種用于以新穎方式儲(chǔ)存數(shù)據(jù)的快閃式內(nèi)存。然而,本發(fā)明的 實(shí)施例并非用以將本發(fā)明限定至任何特定的環(huán)境、應(yīng)用或?qū)嵤┓绞?。因此,?文對(duì)實(shí)施例的說明僅是出于闡釋而非限定目的。需說明者,在以下實(shí)施例及圖 式中,與本發(fā)明非直接相關(guān)的組件已省略而未顯示。
圖1是顯示本發(fā)明的較佳實(shí)施例,其為一快閃式內(nèi)存1,包含一控制器11、
一區(qū)塊儲(chǔ)存區(qū)12、以及一快取區(qū)13。區(qū)塊儲(chǔ)存區(qū)12包含多個(gè)區(qū)塊,例如圖l 中所示的區(qū)塊120。各該區(qū)塊的容量適可分為多個(gè)分頁(yè),其中各該分頁(yè)包含多 個(gè)區(qū)段。在該較佳實(shí)施例中, 一個(gè)分頁(yè)包含八個(gè)區(qū)段。更具體而言,對(duì)于多級(jí) 儲(chǔ)存(multi-level-cell; MLC)快閃式內(nèi)存, 一個(gè)區(qū)塊包含128個(gè)分頁(yè)。
區(qū)塊儲(chǔ)存區(qū)12是用以儲(chǔ)存來自主機(jī)的數(shù)據(jù),耦合至區(qū)塊儲(chǔ)存區(qū)12及控制 器11的快取區(qū)13則用以預(yù)先加載該數(shù)據(jù)。耦合至快取區(qū)13的控制器11是用 以判斷該數(shù)據(jù)的容量是否滿足一預(yù)定規(guī)則,以產(chǎn)生一判斷結(jié)果并根據(jù)該判斷結(jié) 果而將該數(shù)據(jù)置入該快取區(qū)。該預(yù)定規(guī)則及該判斷結(jié)果的詳情將于下文予以說 明。
在寫入周期期間,快閃式內(nèi)存l從主機(jī)(例如一PC)接收數(shù)據(jù)101,同時(shí) 控制器11通過快取區(qū)13將數(shù)據(jù)101置入?yún)^(qū)塊儲(chǔ)存區(qū)12。由于控制器11每次 僅將一個(gè)分頁(yè)寫入?yún)^(qū)塊儲(chǔ)存區(qū)12中,因而快取區(qū)13中被置入?yún)^(qū)塊儲(chǔ)存區(qū)12 中的預(yù)先加載的數(shù)據(jù)101等于一個(gè)分頁(yè)。在這種情形中, 一個(gè)分頁(yè)可保持4K 字節(jié)的數(shù)據(jù)。
當(dāng)來自主機(jī)的數(shù)據(jù)101不足一分頁(yè)時(shí),控制器11便將數(shù)據(jù)101預(yù)先加載 快取區(qū)13中,從區(qū)塊儲(chǔ)存區(qū)12取出臨時(shí)數(shù)據(jù),并發(fā)送該臨時(shí)數(shù)據(jù)至快取區(qū)13 以填補(bǔ)該分頁(yè)。然后,控制器11寫入數(shù)據(jù)101及該臨時(shí)數(shù)據(jù)至區(qū)塊儲(chǔ)存區(qū)12 的一區(qū)塊。
為達(dá)成上述操作,控制器11將區(qū)塊儲(chǔ)存區(qū)12劃分成三種區(qū)塊。在圖2a-2c 中,區(qū)塊儲(chǔ)存區(qū)12包含一第二區(qū)域121、 一第一區(qū)域122及一第三區(qū)域123。 第一區(qū)域122、第二區(qū)域121及第三區(qū)域123分別包含至少一區(qū)塊。以下實(shí)例 是例示快閃式內(nèi)存1的操作。假定數(shù)據(jù)101僅包含六個(gè)區(qū)段而不足一個(gè)完整分 頁(yè)的八個(gè)區(qū)段,圖2a例示控制器11將數(shù)據(jù)101置入快取區(qū)13。圖2b例示控 制器11從第三區(qū)域123取出具有二區(qū)段的數(shù)據(jù)102,并發(fā)送至快取區(qū)13。數(shù) 據(jù)102先前是儲(chǔ)存于第三區(qū)域123中并相關(guān)于數(shù)據(jù)101。數(shù)據(jù)102被標(biāo)記為數(shù) 據(jù)101的補(bǔ)充數(shù)據(jù)。 一旦數(shù)據(jù)101被傳輸至控制器11,控制器便決定自第三區(qū) 域123取出數(shù)據(jù)102。圖2c例示控制器11寫入一個(gè)兼具數(shù)據(jù)101及數(shù)據(jù)102 的分頁(yè)至第一區(qū)域122。當(dāng)?shù)谝粎^(qū)域122達(dá)到其具有多個(gè)分頁(yè)的容量時(shí),控制 器11便移除第一區(qū)域122的內(nèi)容并將其置于第二區(qū)域121中。然后,第一區(qū) 域122便能夠自主機(jī)接收新數(shù)據(jù)。亦即,控制器11先將數(shù)據(jù)置入第一區(qū)域122, 然后于第一區(qū)域122填滿時(shí)將該數(shù)據(jù)移動(dòng)至第二區(qū)域121。
當(dāng)?shù)谝粎^(qū)域122接收到具有冗余區(qū)段的數(shù)據(jù)時(shí),該數(shù)據(jù)并不包含完整的分 頁(yè)。因此,控制器11不將具有冗余區(qū)段的數(shù)據(jù)寫入第一區(qū)域122,而是寫入第 三區(qū)域123。亦即,控制器11將該數(shù)據(jù)置入第一區(qū)域122,然后于第一區(qū)域122 未填滿時(shí)將該數(shù)據(jù)移動(dòng)至第三區(qū)域12。在該實(shí)施例中,快閃式內(nèi)存1的控制器 11不需要使用一緩沖區(qū)暫時(shí)儲(chǔ)存來自主機(jī)的數(shù)據(jù)。快閃式內(nèi)存1的快取區(qū)13 被分配用以于數(shù)據(jù)被寫入?yún)^(qū)塊儲(chǔ)存區(qū)12的前緩沖該數(shù)據(jù)。
圖3顯示快閃式內(nèi)存1的操作的一流程圖。在步驟111中,由控制器11 接收具有冗余區(qū)段的數(shù)據(jù),其中該數(shù)據(jù)并不包含完整的分頁(yè)。在步驟112中, 將該具有冗余區(qū)段的數(shù)據(jù)暫時(shí)儲(chǔ)存于快取區(qū)13中。在步驟113中,將該具有 冗余區(qū)段的數(shù)據(jù)寫入至第三區(qū)域123。
圖4顯示本發(fā)明的另一較佳實(shí)施例。該較佳實(shí)施例為一快閃式內(nèi)存2,包 含一控制器21、 一區(qū)塊儲(chǔ)存區(qū)22及一快取區(qū)23。區(qū)塊儲(chǔ)存區(qū)22包含多個(gè)區(qū) 塊。各區(qū)塊的容量適可分為多個(gè)分頁(yè),其中各分頁(yè)分別包含多個(gè)區(qū)段。如上所 述,對(duì)于多級(jí)儲(chǔ)存快閃式內(nèi)存, 一個(gè)區(qū)塊包含128個(gè)分頁(yè),且該16千兆位內(nèi) 存包含4096個(gè)區(qū)塊。與前一實(shí)施例的主要區(qū)別在于,此處的控制器21包含一 緩沖區(qū)211。區(qū)塊儲(chǔ)存區(qū)22包含一第二區(qū)域221、 一第一區(qū)域222及一第三區(qū) 域223。各區(qū)塊適可分為多個(gè)具有不同地址的分頁(yè)??扉W式內(nèi)存2從一主機(jī)接 收數(shù)據(jù)201。
圖5顯示快閃式內(nèi)存2的操作的一流程圖。將數(shù)據(jù)201在通過快取區(qū)23 傳輸至區(qū)塊儲(chǔ)存區(qū)22之前暫時(shí)儲(chǔ)存于緩沖區(qū)211中。在步驟301中,主機(jī)決 定第一區(qū)域222中用于傳輸數(shù)據(jù)201的至少一地址。在步驟302中,主機(jī)將數(shù) 據(jù)201傳輸至控制器21的緩沖區(qū)211。在步驟303中,控制器21產(chǎn)生一判斷 結(jié)果,以指示數(shù)據(jù)201的傳輸是否使用先前數(shù)據(jù),該先前數(shù)據(jù)是儲(chǔ)存于第二區(qū) 域221或第三區(qū)域223中。若數(shù)據(jù)201的傳輸是使用先前數(shù)據(jù)一此意味著數(shù)據(jù) 201將從快取區(qū)23的中間位置寫入快取區(qū)23,則執(zhí)行步驟304以增加一補(bǔ)充 數(shù)據(jù)至數(shù)據(jù)201,藉以填充快取區(qū)23的中間位置之前的空位。然后,執(zhí)行步驟 305,以將數(shù)據(jù)201自緩沖區(qū)211寫入至快取區(qū)23。而若數(shù)據(jù)201的傳輸未使 用先前數(shù)據(jù),則在步驟303之后緊接著執(zhí)行步驟305。
在步驟306中,控制器.21檢查主機(jī)是否停止傳輸數(shù)據(jù)。若主機(jī)未停止傳 輸數(shù)據(jù),則執(zhí)行步驟307,以檢査快取區(qū)23是否填滿。若快取區(qū)23未填滿, 則該流程進(jìn)行至步驟305。反之,該流程進(jìn)行至步驟308,以由控制器21將快
取區(qū)23中的數(shù)據(jù)寫入至第一區(qū)域222。
在步驟306中,若主機(jī)停止傳輸數(shù)據(jù),則產(chǎn)生一傳輸狀態(tài),然后執(zhí)行步驟 309以檢查快取區(qū)23是否填滿。若快取區(qū)23尚未填滿,則該流程繼續(xù)進(jìn)行步 驟310,以驅(qū)使下一數(shù)據(jù)傳輸不利用來自步驟303的先前數(shù)據(jù)。在步驟311中, 控制器21將快取區(qū)23中的數(shù)據(jù)寫入至第三區(qū)域223。相反,若快取區(qū)23填滿, 則執(zhí)行步驟312以驅(qū)使下一數(shù)據(jù)傳輸利用來自步驟303的先前數(shù)據(jù)。在步驟313 中,控制器21將快取區(qū)23中的數(shù)據(jù)寫入至第一區(qū)域222。需注意,步驟311 或步驟313是在控制器21執(zhí)行用以存取區(qū)塊儲(chǔ)存區(qū)22的命令時(shí)執(zhí)行。在另一 實(shí)施例中,步驟308、 311及313至少其中之一包含執(zhí)行糾錯(cuò)碼(Error Correction Code; EEC)操作的步驟。
當(dāng)?shù)谝粎^(qū)域222填滿時(shí),控制器21將第一區(qū)域222的數(shù)據(jù)移動(dòng)至第二區(qū) 域221,并抹除第一區(qū)域222以供儲(chǔ)存來自主機(jī)的新數(shù)據(jù)。
借由利用快閃式內(nèi)存中的快取區(qū)自主機(jī)預(yù)先加載數(shù)據(jù),可使控制器的緩沖 區(qū)小于單一區(qū)塊或完全省掉緩沖區(qū)。此時(shí),數(shù)據(jù)傳輸仍能保持順利進(jìn)行。
該流程中各步驟的次序并非是對(duì)本發(fā)明的限定。熟習(xí)此項(xiàng)技術(shù)者在閱讀本 說明書后可修改其次序。舉例而言,步驟313可于步驟312之前執(zhí)行,且步驟 311可于步驟310之前執(zhí)行。
上述的實(shí)施例僅用來例舉本發(fā)明的實(shí)施態(tài)樣,以及闡釋本發(fā)明的技術(shù)特 征,并非用來限制本發(fā)明的范疇。任何熟悉此技術(shù)者可輕易完成的改變或均等 性的安排均屬于本發(fā)明所主張的范圍,本發(fā)明的權(quán)利范圍應(yīng)以申請(qǐng)專利范圍為 準(zhǔn)。
權(quán)利要求
1.一種快閃式內(nèi)存,連接至一主機(jī),其特征在于,所述快閃式內(nèi)存包含一區(qū)塊儲(chǔ)存區(qū),用以儲(chǔ)存來自所述主機(jī)的數(shù)據(jù);一快取區(qū),耦合至所述區(qū)塊儲(chǔ)存區(qū),用以預(yù)先加載所述數(shù)據(jù);以及一控制器,耦合至所述快取區(qū),用以決定所述數(shù)據(jù)的一容量是否符合一預(yù)定規(guī)則,并產(chǎn)生一判斷結(jié)果,且根據(jù)所述判斷結(jié)果,將所述數(shù)據(jù)置入所述快取區(qū)。
2. 如權(quán)利要求l所述的快閃式內(nèi)存,其特征在于,所述區(qū)塊儲(chǔ)存區(qū)包含多 個(gè)區(qū)塊,各所述區(qū)塊的容量適可分為多個(gè)分頁(yè),當(dāng)所述數(shù)據(jù)的容量不小于一分 頁(yè)時(shí),所述控制器將所述數(shù)據(jù)置入所述區(qū)塊儲(chǔ)存區(qū)。
3. 如權(quán)利要求2所述的快閃式內(nèi)存,其特征在于,所述控制器從所述區(qū)塊 儲(chǔ)存區(qū)取出一補(bǔ)充數(shù)據(jù),并在所述數(shù)據(jù)的容量小于一分頁(yè)時(shí),將所述補(bǔ)充數(shù)據(jù) 傳送至所述快取區(qū),所述補(bǔ)充數(shù)據(jù)足以填補(bǔ)所述分頁(yè)。
4. 如權(quán)利要求l所述的快閃式內(nèi)存,其特征在于,所述控制器是用以將所 述數(shù)據(jù)由所述快取區(qū)置入所述區(qū)塊儲(chǔ)存區(qū)。
5. 如權(quán)利要求4所述的快閃式內(nèi)存,其特征在于,所述區(qū)塊儲(chǔ)存區(qū)包含 一第一區(qū)域,包含至少一區(qū)塊;一第二區(qū)域,包含至少一區(qū)塊;以及 一第三區(qū)域,包含至少一區(qū)塊;其中所述控制器先將所述數(shù)據(jù)置入所述第一區(qū)域,然后在所述第一區(qū)域填 滿時(shí),將所述數(shù)據(jù)移動(dòng)到所述第二區(qū)域。
6. 如權(quán)利要求4所述的快閃式內(nèi)存,其特征在于,所述區(qū)塊儲(chǔ)存區(qū)包含 一第一區(qū)域,包含至少一區(qū)塊;一第二區(qū)域,包含至少一區(qū)塊;以及 一第三區(qū)域,包含至少一區(qū)塊;其中所述控制器先將所述數(shù)據(jù)置入所述第一區(qū)域,然后在所述第一區(qū)域未 被填滿時(shí),將所述數(shù)據(jù)移動(dòng)到所述第三區(qū)域。
7. —種操作一快閃式內(nèi)存的方法,其特征在于,所述快閃式內(nèi)存耦合至一 主機(jī),所述快閃式內(nèi)存包含一控制器、 一快取區(qū)、以及一區(qū)塊儲(chǔ)存區(qū),所述方 法用以在所述快閃式內(nèi)存與所述主機(jī)間傳輸一數(shù)據(jù),包含下列步驟 接收由所述主機(jī)所傳送的所述數(shù)據(jù);產(chǎn)生一判斷結(jié)果,以指示所述數(shù)據(jù)的傳輸是否利用一先前數(shù)據(jù); 根據(jù)所述判斷結(jié)果,增加一補(bǔ)充數(shù)據(jù)至所述數(shù)據(jù); 傳輸所述數(shù)據(jù)至所述快取區(qū); 產(chǎn)生一傳輸狀態(tài);以及根據(jù)所述傳輸狀態(tài),決定下一數(shù)據(jù)傳輸?shù)囊粋鬏斈J健?br>
8. 如權(quán)利要求7所述的方法,其特征在于,所述增加一補(bǔ)充數(shù)據(jù)至所述數(shù) 據(jù)的步驟,是在當(dāng)所述數(shù)據(jù)的傳輸利用到所述先前數(shù)據(jù)時(shí)被執(zhí)行。
9. 如權(quán)利要求7所述的方法,其特征在于,所述區(qū)塊儲(chǔ)存區(qū)包含一第一區(qū) 域,具有至少一區(qū)塊、 一第二區(qū)域,具有至少一區(qū)塊、以及一第三區(qū)域,具有 至少一區(qū)塊,其中所述傳輸狀態(tài)指示所述主機(jī)停止傳輸數(shù)據(jù),且所述快取區(qū)已 滿,所述決定下一數(shù)據(jù)傳輸?shù)囊粋鬏斈J降牟襟E是執(zhí)行以驅(qū)使所述下一數(shù)據(jù)傳 輸利用所述先前數(shù)據(jù),同時(shí)所述方法還包含將所述快取區(qū)內(nèi)的所述數(shù)據(jù)寫入所 述第一區(qū)域的步驟。
10. 如權(quán)利要求7所述的方法,其特征在于,所述區(qū)塊儲(chǔ)存區(qū)包含一第一 區(qū)域,具有至少一區(qū)塊、 一第二區(qū)域,具有至少一區(qū)塊、以及一第三區(qū)域,具 有至少一區(qū)塊,其中所述傳輸狀態(tài)指示所述主機(jī)停止傳輸數(shù)據(jù),且所述快取區(qū) 未滿,所述決定下一數(shù)據(jù)傳輸?shù)囊粋鬏斈J降牟襟E是執(zhí)行以驅(qū)使所述下一數(shù)據(jù) 傳輸利用所述先前數(shù)據(jù),同時(shí)所述方法更包含將所述快取區(qū)內(nèi)的所述數(shù)據(jù)寫入 所述第三區(qū)域的步驟。
11. 如權(quán)利要求7所述的方法,其特征在于,所述傳輸狀態(tài)指示所述主機(jī) 持續(xù)傳輸數(shù)據(jù),且所述快取區(qū)已滿,所述方法還包含將所述快取區(qū)內(nèi)的所述數(shù) 據(jù)寫入所述區(qū)塊儲(chǔ)存區(qū)的步驟。
12. 如權(quán)利要求ll所述的方法,其特征在于,所述區(qū)塊儲(chǔ)存區(qū)包含一第一 區(qū)域,具有至少一區(qū)塊、 一第二區(qū)域,具有至少一區(qū)塊、以及一第三區(qū)域,具 有至少一區(qū)塊,所述方法包含下列步驟將所述數(shù)據(jù)置入所述第一區(qū)域;以及 當(dāng)所述第一區(qū)域已滿時(shí),將所述數(shù)據(jù)移動(dòng)到所述第二區(qū)域。 13.如權(quán)利要求ll所述的方法,其特征在于,所述區(qū)塊儲(chǔ)存區(qū)包含一第一區(qū)域,具有至少一區(qū)塊、 一第二區(qū)域,具有至少一區(qū)塊、以及一第三區(qū)域,具有至少一區(qū)塊,所述方法包含下列步驟將所述數(shù)據(jù)置入所述第一區(qū)域;以及當(dāng)所述第一區(qū)域未滿時(shí),將所述數(shù)據(jù)移動(dòng)到所述第三區(qū)域。
全文摘要
本發(fā)明提供一種操作一快閃式內(nèi)存的方法。該快閃式內(nèi)存包含一控制器、一快取區(qū)及多個(gè)區(qū)塊。借由利用一快取區(qū)自主機(jī)預(yù)先加載數(shù)據(jù),可使控制器的緩沖區(qū)小于單一區(qū)塊的容量或者完全省掉緩沖區(qū),而數(shù)據(jù)傳輸仍能保持順利進(jìn)行。
文檔編號(hào)G06F12/06GK101369251SQ20081008369
公開日2009年2月18日 申請(qǐng)日期2008年3月18日 優(yōu)先權(quán)日2007年8月15日
發(fā)明者李俊坤, 陳家新 申請(qǐng)人:慧榮科技股份有限公司