亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

提高usb閃存寫入性能的方法和器件的制作方法

文檔序號(hào):6399653閱讀:119來(lái)源:國(guó)知局
專利名稱:提高usb閃存寫入性能的方法和器件的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及閃存,并且更具體地涉及通過(guò)通用串行總線(USB)連接到系統(tǒng)的閃存。
背景技術(shù)
存在許多不同類型的閃存;但是,本發(fā)明涉及通常的NAND閃存,并且這里所使用的術(shù)語(yǔ)“閃存” 一般指NAND閃存。閃存器件的重要特征在于它們可以保持被存儲(chǔ)的數(shù)據(jù)而不需要任何外部電源。從而,閃存經(jīng)常被用在諸如“拇指驅(qū)動(dòng)”之類的器件和數(shù)字照相機(jī)中。閃存器件可以從計(jì)算機(jī)或照相機(jī)中取走,并且存儲(chǔ)在器件中的數(shù)據(jù)不會(huì)被丟失。閃存中的讀操作按照與較老式且較便宜的隨機(jī)訪問(wèn)(RAM)存儲(chǔ)器中的讀操作相類似的方式被執(zhí)行。但是,閃存中的寫操作按照與RAM存儲(chǔ)器中執(zhí)行讀操作的方式不同的方式被處理。在RAM存儲(chǔ)器中,可以將新的數(shù)據(jù)寫入到包含其它數(shù)據(jù)的各個(gè)存儲(chǔ)器位置中。這在閃存中是不可能的。新的數(shù)據(jù)不能被寫到存儲(chǔ)器中已經(jīng)包含數(shù)據(jù)的位置處。在閃存中,在新的數(shù)據(jù)可以被寫到某個(gè)位置之前,該位置必須被擦空。此外,閃存中的單個(gè)位置不能被擦空。閃存被劃分成若干個(gè)分區(qū),并且擦空操作是在整個(gè)分區(qū)上執(zhí)行的。從而,如果先前數(shù)據(jù)被存儲(chǔ)在某分區(qū)中,則在數(shù)據(jù)可以被寫到該分區(qū)內(nèi)的任何一個(gè)特定位置之前,包含該特定位置的整個(gè)分區(qū)都必須被擦空。如果閃存中的分區(qū)包含被保存的數(shù)據(jù),則在將新的數(shù)據(jù)寫到所述分區(qū)中的特定位置之前,包含該特定位置的整個(gè)分區(qū)中的任何已有數(shù)據(jù)都必須被暫時(shí)地重新放置。原因在于為了擦空一個(gè)特定位置,整個(gè)分區(qū)都必須被擦空。在擦空操作之前,人們想要保存的存儲(chǔ)在一個(gè)分區(qū)中的任何已有數(shù)據(jù)都必須被存儲(chǔ)到其它位置中。一種廣泛使用的閃存被稱為固態(tài)軟盤卡(SSFDC),或者更經(jīng)常被稱為SmartMediaTM。SmartMedia (智能多媒體卡)規(guī)范由SSFDC論壇開(kāi)發(fā)并維護(hù)。SmartMedia規(guī)范的使用很廣泛。SmartMedia規(guī)范要求存儲(chǔ)器必須具有可用于數(shù)據(jù)存儲(chǔ)的24個(gè)臨時(shí)(已被擦空的)分區(qū)。利用標(biāo)準(zhǔn)的SmartMedia器件,在存儲(chǔ)相對(duì)較小的文件(其大小為24個(gè)或更少的分區(qū))所需要的操作和存儲(chǔ)大小大于24個(gè)分區(qū)的文件所需要的操作有非常大的不同。為了存儲(chǔ)大于24個(gè)分區(qū)的文件,在可以完成文件寫操作之前,必須進(jìn)行一個(gè)或多個(gè)分區(qū)擦空操作。下面是示出了閃存中典型的寫操作所需要的步驟的示例。應(yīng)當(dāng)理解這些僅僅是示例,并且存在各種閃存器件,每一種都具有其各自的特性。
第一示例是‘最佳情形’的情況,其中文件大小恰好匹配閃存分區(qū)的大小。在大多數(shù)情況下,這是不太可能的情況;但是它可以作為很有用的第一示例。在該示例中,不會(huì)發(fā)生局部分區(qū)移動(dòng)。存儲(chǔ)器控制器只是識(shí)別空白分區(qū)中的一個(gè),并且將數(shù)據(jù)寫入那個(gè)分區(qū)。注意SmartMedia規(guī)范要求存在可用的24個(gè)空白分區(qū)。在完成數(shù)據(jù)存儲(chǔ)之后,控制器擦空未被分配的分區(qū),以使得將存在24個(gè)被擦空的分區(qū)準(zhǔn)備好接收數(shù)據(jù)。第二示例是這樣一個(gè)示例,其中在已經(jīng)包含數(shù)據(jù)的分區(qū)中少量數(shù)據(jù)被改變。這是一個(gè)更實(shí)際一些的示例。這個(gè)示例需要局部分區(qū)移動(dòng)操作。首先,不會(huì)被改變的已有數(shù)據(jù)被移到備用(先前被擦空的)分區(qū)中的一個(gè)分區(qū)中。接下來(lái),新的數(shù)據(jù)被添加到該分區(qū)中的數(shù)據(jù)中。在完成了存儲(chǔ)操作之后,控制器擦空不再被分配給文件的另一分區(qū)。第三示例是與本發(fā)明尤其相關(guān)的示例。在該示例中,大于24個(gè)分區(qū)的大小的文件被寫入閃存。首先,24個(gè)備用分區(qū)(先前被擦空)被填充上新的數(shù)據(jù)。然后,控制器必須定位到不再具有正被使用的數(shù)據(jù)的其它分區(qū)并且為這些分區(qū)擦空。最后,文件中的其它數(shù)據(jù)被寫入到這些最新被擦空的分區(qū)中。從而,直到相對(duì)冗長(zhǎng)的擦空操作被執(zhí)行之后才能夠完成存儲(chǔ)操作。主機(jī)系統(tǒng)利用文件分配表(FAT)來(lái)記錄哪些邏輯地址包含與每個(gè)特定文件相關(guān)的數(shù)據(jù)。本發(fā)明利用FAT被存儲(chǔ)在閃存中這樣一個(gè)事實(shí)。FAT表向操作系統(tǒng)指示哪些邏輯地址被映射到哪些文件。在任何特定時(shí)間,未被映射到文件的任何邏輯地址都未被存儲(chǔ)在存儲(chǔ)器中的任何文件使用。存儲(chǔ)控制器維護(hù)將邏輯地址與相應(yīng)的物理地址相關(guān)聯(lián)的表。

發(fā)明內(nèi)容
閃存器件通常具有已經(jīng)被擦空并且準(zhǔn)備好接收數(shù)據(jù)的有限數(shù)目的分區(qū)。文件分配表(FAT)被存儲(chǔ)在閃存中并且其中具有指示哪些分區(qū)被分配給文件和哪些分區(qū)未被分配給文件的信息。根據(jù)本發(fā)明,存儲(chǔ)器控制器連續(xù)地或周期性地查詢FAT表來(lái)確定該時(shí)刻哪些邏輯地址沒(méi)有被分配給存儲(chǔ)在存儲(chǔ)器中的任何文件。如果定位到?jīng)]有被分配給文件的邏輯地址的分區(qū),則相應(yīng)的物理地址的分區(qū)被擦空,并且被標(biāo)記為準(zhǔn)備好接收數(shù)據(jù)。從而,大于若干個(gè)通常被擦空的分區(qū)的大小的文件可以被存儲(chǔ)在存儲(chǔ)器中,而不必在可以完成存儲(chǔ)操作之前等待擦空操作的進(jìn)行。本發(fā)明提供了一種閃存子系統(tǒng),其包括:被劃分成多個(gè)分區(qū)的閃存,固定數(shù)目的所述分區(qū)被保持在擦空狀態(tài)并且準(zhǔn)備好接收數(shù)據(jù),文件分配表(FAT)被存儲(chǔ)在所述閃存中,存儲(chǔ)器控制器,可操作來(lái)查詢所述FAT,定位其中沒(méi)有被分配給活動(dòng)文件的區(qū)域的存儲(chǔ)器分區(qū)并擦空所述存儲(chǔ)器分區(qū),所述查詢和擦空發(fā)生在其中沒(méi)有文件正被讀取或?qū)懭氲剿龃鎯?chǔ)器的間隔期間,從而在無(wú)需等待擦空操作進(jìn)行的情況下大于所述固定數(shù)目的分區(qū)的文件可以被寫到所述存儲(chǔ)器中。本發(fā)明提供的閃存子系統(tǒng)中,所述存儲(chǔ)器可以是NAND閃存。除所述查詢和擦空操作以外,所述存儲(chǔ)器可遵循SmartMedia規(guī)范操作。所述存儲(chǔ)器控制器可包括通用串行總線接口。本發(fā)明還提供了一種存儲(chǔ)器系統(tǒng),包括:
在寫操作之前需要擦空操作的存儲(chǔ)器,所述存儲(chǔ)器被劃分成多個(gè)分區(qū),固定數(shù)目的所述分區(qū)被保持在擦空狀態(tài)并且準(zhǔn)備好接收數(shù)據(jù),文件分配表(FAT)被存儲(chǔ)在所述存儲(chǔ)器中,存儲(chǔ)器控制器,可操作來(lái)查詢所述FAT,定位其中沒(méi)有被分配給活動(dòng)文件的區(qū)域的存儲(chǔ)器分區(qū)并擦空所述存儲(chǔ)器分區(qū),所述查詢和擦空發(fā)生在其中沒(méi)有文件正被讀取或?qū)懭氲剿龃鎯?chǔ)器的間隔期間,從而在無(wú)需等待擦空操作進(jìn)行的情況下大于所述固定數(shù)目的分區(qū)的文件可以被寫到所述存儲(chǔ)器中。本發(fā)明還提供的存儲(chǔ)器系統(tǒng)中,所述存儲(chǔ)器可以是閃存。所述存儲(chǔ)器可以是NAND閃存。除所述查詢和擦空操作以外,所述存儲(chǔ)器可遵循SmartMedia規(guī)范操作。在所述存儲(chǔ)器是NAND閃存的情況下,除所述查詢和擦空操作以外,所述存儲(chǔ)器可遵循SmartMedia規(guī)范操作。所述存儲(chǔ)器可具有之前被擦空并為寫操作做好準(zhǔn)備的至少24個(gè)分區(qū)。本發(fā)明還提供的存儲(chǔ)器系統(tǒng)中,所述存儲(chǔ)器控制器可包括通用串行總線接口。本發(fā)明還提供了一種系統(tǒng),包括主機(jī)計(jì)算機(jī)和前述存儲(chǔ)器控制器包括通用串行總線接口的存儲(chǔ)器系統(tǒng),所述主機(jī)通過(guò)通用串行總線被連接到所述存儲(chǔ)器系統(tǒng)。本發(fā)明還提供了一種操作存儲(chǔ)器的方法,所述存儲(chǔ)器被劃分成多個(gè)分區(qū)并且要求在寫入每個(gè)特定分區(qū)之前每個(gè)特定分區(qū)被擦空,所述存儲(chǔ)器中存儲(chǔ)有文件分配表(FAT),所述方法包括以下步驟:在未正進(jìn)行讀或?qū)懖僮鲿r(shí)查詢所述FAT以標(biāo)識(shí)未被分配給當(dāng)前文件的分區(qū),在未正進(jìn)行讀或?qū)懖僮鲿r(shí)擦空標(biāo)識(shí)出的分區(qū),從而在無(wú)需等待擦空操作進(jìn)行的情況下大文件可以被存儲(chǔ)在所述存儲(chǔ)器中。本發(fā)明還提供的操作存儲(chǔ)器的方法中,所述存儲(chǔ)器可以是閃存。所述存儲(chǔ)器可以是NAND閃存。除所述查詢和擦空操作以外,所述存儲(chǔ)器可遵循SmartMedia規(guī)范操作。本發(fā)明還提供了一種存儲(chǔ)器子系統(tǒng),其包括:存儲(chǔ)器,所述存儲(chǔ)器被劃分成多個(gè)分區(qū)并且要求在寫入每個(gè)特定分區(qū)之前每個(gè)特定分區(qū)被擦空,所述存儲(chǔ)器中存儲(chǔ)有文件分配表(FAT),用于在未正進(jìn)行讀或?qū)懖僮鲿r(shí)查詢所述FAT以標(biāo)識(shí)未被分配給當(dāng)前文件的分區(qū)的裝置,用于在未正進(jìn)行讀或?qū)懖僮鲿r(shí)擦空標(biāo)識(shí)出的分區(qū)的裝置,從而在無(wú)需等待擦空操作進(jìn)行的情況下大文件可以被存儲(chǔ)在所述存儲(chǔ)器中。本發(fā)明還提供的存儲(chǔ)器子系統(tǒng)中,所述存儲(chǔ)器可以是閃存。所述存儲(chǔ)器可以是NAND閃存。本發(fā)明還提供了一種系統(tǒng),包括主機(jī)計(jì)算機(jī)和通過(guò)通用串行總線連接到所述主機(jī)的如前所述的存儲(chǔ)器子系統(tǒng)。


I)圖1示出了根據(jù)SmartMedia規(guī)范組織的閃存。2)圖2是本發(fā)明的實(shí)施例的框圖。3)圖3A、3B和3C是示出了優(yōu)選實(shí)施例的操作的塊流程圖。4)圖4是示出了系統(tǒng)操作的總體流程圖。
具體實(shí)施例方式現(xiàn)在將參考附圖更全面地描述本發(fā)明。附圖示出了本發(fā)明的示例實(shí)施例和這些實(shí)施例的操作。但是,本發(fā)明可以按照很多不同的形式來(lái)實(shí)現(xiàn),并且本發(fā)明不應(yīng)當(dāng)被解釋為被限制為這里所給出的實(shí)施例。這些實(shí)施例向本領(lǐng)域技術(shù)人員公開(kāi)并傳達(dá)本發(fā)明的概念和范圍。在附圖中,框的大小不代表物理組件的大小。圖中塊的大小只是為了方便說(shuō)明和便于描述本發(fā)明而選擇的。在附圖中,相同的標(biāo)號(hào)被用于表示在整個(gè)附圖中相同的元件。本發(fā)明適合于在寫入之前需要擦空周期的存儲(chǔ)器。閃存就是這種類型的存儲(chǔ)器。這里所描述的特定實(shí)施例利用固態(tài)軟盤卡,其也被稱為“SmartMediaTM”。但是,應(yīng)當(dāng)注意本發(fā)明的其它實(shí)施例可以利用在寫數(shù)據(jù)之前需要擦空周期的其它類型的存儲(chǔ)器。SmartMedia卡是小型的閃存卡,其物理大小類似于紀(jì)念郵票的大小。SmartMedia卡由被稱為SSFDC論壇的組織定義。首字母“SSFDC”表示“固態(tài)軟盤卡”。在1996年,固態(tài)軟盤卡的名字被變成“SmartMedia”。SSFDC論壇仍保留了其名字“SSFDC論壇”。SSFDC論壇公布了針對(duì)SmartMedia 閃存的規(guī)范。SSFDC 論壇的地址是:SSFDC Forum Bureau, C-zone, 4F, ToshibaBldg., Tokyo, Japan。SmartMedia規(guī)范定義了被劃分成若干個(gè)分區(qū)的閃存。該規(guī)范要求SmartMedia存儲(chǔ)器具有被擦空并且可用于存儲(chǔ)數(shù)據(jù)的24個(gè)分區(qū)。就是說(shuō),在任何時(shí)候,在寫操作之前,應(yīng)當(dāng)存在已經(jīng)被擦空并且為寫操作做好準(zhǔn)備的至少24個(gè)分區(qū)(這里被指定為臨時(shí)存儲(chǔ)分區(qū))。圖1中示出了 SmartMedia閃存的框圖。該存儲(chǔ)器被劃分成若干個(gè)分區(qū)。存儲(chǔ)器中的分區(qū)的確切數(shù)目和每個(gè)分區(qū)的大小取決于特定存儲(chǔ)器的大小。商業(yè)上可用的有各種不同大小的閃存。在圖1中,存儲(chǔ)分區(qū)被指定為BI到Bx,并且虛線表示取決于存儲(chǔ)器的大小的可變數(shù)目的分區(qū)。就是說(shuō),虛線表示沒(méi)有被具體顯示的分區(qū)。存儲(chǔ)器中的24個(gè)分區(qū)被指定為臨時(shí)存儲(chǔ)分區(qū)。在附圖中,用標(biāo)記T1、T2等標(biāo)明臨時(shí)存儲(chǔ)分區(qū)。為了便于圖示,并不是所有的臨時(shí)存儲(chǔ)分區(qū)都被顯示在附圖中。下面將會(huì)說(shuō)明,當(dāng)存儲(chǔ)器工作時(shí),臨時(shí)存儲(chǔ)分區(qū)Tl到Τ24的位置會(huì)改變。注意與本發(fā)明不相關(guān)的存儲(chǔ)器的各種標(biāo)準(zhǔn)特征沒(méi)有顯示在圖中,并且這里不對(duì)它們進(jìn)行描述。閃存100包括用于FAT表和其它控制信息的特殊的存儲(chǔ)位置(由操作系統(tǒng)確定)。FAT表被操作系統(tǒng)用于將邏輯地址鏈接或映射到存儲(chǔ)在存儲(chǔ)器中的特定文件。FAT表指示存儲(chǔ)器中的哪些邏輯位置被分配給了哪些文件。在邏輯地址和存儲(chǔ)器中的物理地址之間也存在映射。這由存儲(chǔ)器控制器來(lái)完成。SmartMedia規(guī)范要求存儲(chǔ)器具有可用于臨時(shí)存儲(chǔ)的24個(gè)分區(qū)。當(dāng)存儲(chǔ)器是新的時(shí),所有分區(qū)都是空的并且可用于存儲(chǔ)。我們假設(shè)最初數(shù)據(jù)被寫入存儲(chǔ)器中除被指定用于臨時(shí)存儲(chǔ)的24個(gè)分區(qū)之外的所有分區(qū)中。此時(shí)存儲(chǔ)器是滿的。FAT表具有將所有可用邏輯地址(由存儲(chǔ)器的大小確定)鏈接到特定文件的條目。存儲(chǔ)器控制器具有顯示哪些邏輯地址對(duì)應(yīng)于哪些物理地址的表。仍將存在被擦空并準(zhǔn)備好接收數(shù)據(jù)的24個(gè)臨時(shí)存儲(chǔ)分區(qū)。接下來(lái),我們假設(shè)操作系統(tǒng)擦除一個(gè)文件。假設(shè)這個(gè)文件覆蓋存儲(chǔ)器中的三個(gè)分區(qū)。在操作系統(tǒng)擦除這個(gè)文件之后,F(xiàn)AT表將指示這三個(gè)分區(qū)的邏輯地址不再被分配給文件。但是,根據(jù)SmartMedia規(guī)范,此時(shí)已經(jīng)存儲(chǔ)有數(shù)據(jù)的分區(qū)將不被擦空,因?yàn)橐呀?jīng)存在被擦空并準(zhǔn)備好接收數(shù)據(jù)的24個(gè)分區(qū)。現(xiàn)在我們檢查SmartMedia規(guī)范是怎樣指示應(yīng)當(dāng)處理各種不同的情形。所有這些示例都假設(shè)存儲(chǔ)器已經(jīng)工作了一段時(shí)間,并且在某一時(shí)刻存儲(chǔ)器是滿的,并且在某一其它時(shí)刻各種文件被擦除以使得存儲(chǔ)器具有一些空閑的空間。作為第一示例,假設(shè)主機(jī)向存儲(chǔ)器發(fā)送文件,該文件的大小覆蓋一個(gè)分區(qū)。這個(gè)文件將被存儲(chǔ)在被指定為臨時(shí)存儲(chǔ)的分區(qū)中的一個(gè)分區(qū)中??刂破鲗雅R時(shí)存儲(chǔ)分區(qū)的物理地址分配給邏輯地址,并且文件操作將非??斓乩^續(xù)進(jìn)行。文件被存儲(chǔ)之后,只剩下23個(gè)臨時(shí)存儲(chǔ)分區(qū)。但是,由于控制器在已存儲(chǔ)的分區(qū)中為邏輯地址分配了新的物理地址,所以控制器將知道哪個(gè)物理分區(qū)可以被擦空以使可用的臨時(shí)分區(qū)的數(shù)目變回到24個(gè)。這個(gè)擦除操作花費(fèi)相對(duì)較長(zhǎng)的時(shí)間,但是這不是問(wèn)題,因?yàn)楸话l(fā)送來(lái)存儲(chǔ)的文件已經(jīng)被存儲(chǔ)。接下來(lái),我們假設(shè)主機(jī)向存儲(chǔ)器發(fā)送文件,該文件的大小覆蓋25個(gè)分區(qū)。根據(jù)SmartMedia規(guī)范,將進(jìn)行下面的操作。(上述25個(gè)分區(qū)中的)24個(gè)分區(qū)的數(shù)據(jù)將被存儲(chǔ)在24個(gè)可用的臨時(shí)存儲(chǔ)分區(qū)中。將不存在已經(jīng)被擦空的分區(qū)來(lái)容納第25個(gè)分區(qū)的數(shù)據(jù)。從而,直到控制器定位到未被分配給文件的分區(qū)并且該分區(qū)被擦空后,存儲(chǔ)操作才可能完成。被定位到的分區(qū)被擦空(相對(duì)較慢的操作),然后第25個(gè)分區(qū)被存儲(chǔ)。注意由于主機(jī)正在向先前使用的邏輯地址的分區(qū)寫數(shù)據(jù),所以控制器知道哪個(gè)分區(qū)不再被分配給文件,先前被分配給這個(gè)分區(qū)的地址的物理地址現(xiàn)在可以被擦空。從而如上所述,根據(jù)SmartMedia規(guī)范,存儲(chǔ)大小等于25個(gè)分區(qū)的文件的操作將涉及以下步驟和時(shí)間周期:I)在可用的臨時(shí)存儲(chǔ)位置中存儲(chǔ)24個(gè)分區(qū)。2)定位到可以被擦空的分區(qū)。3)擦空分區(qū)的記錄(這要花費(fèi)相對(duì)較長(zhǎng)的時(shí)間)。4)存儲(chǔ)第25個(gè)分區(qū)的數(shù)據(jù)。按照本發(fā)明的這個(gè)實(shí)施例,存儲(chǔ)大于24個(gè)分區(qū)的文件所需要的時(shí)間被縮短了。在本發(fā)明的這個(gè)實(shí)施例中,當(dāng)存儲(chǔ)器控制器沒(méi)有處在讀或?qū)懳募倪^(guò)程中時(shí),存儲(chǔ)器控制器查詢FAT表,并且為沒(méi)有被分配給文件的任何存儲(chǔ)器分區(qū)擦空。就是說(shuō),它為沒(méi)有正被使用的分區(qū)擦空。即使已經(jīng)存在可用于臨時(shí)存儲(chǔ)的24個(gè)被擦空的分區(qū)也是如此。實(shí)際上,這違反了 SmartMedia規(guī)范,但是在常規(guī)的操作過(guò)程中它不會(huì)帶來(lái)危害,并且它在相當(dāng)大的程度上加速了系統(tǒng)的操作。圖2是包括本發(fā)明的存儲(chǔ)器系統(tǒng)的實(shí)施例的框圖。該系統(tǒng)包括控制器101和通用串行總線(USB)接口 102。計(jì)算機(jī)程序IOlP控制控制器101的操作。USB接線103U連接USB接口 102和主機(jī)103。主機(jī)103向存儲(chǔ)器提供數(shù)據(jù)并從存儲(chǔ)器100中讀取數(shù)據(jù)。正常情況下,主機(jī)103根據(jù)邏輯地址提供數(shù)據(jù)并且讀取數(shù)據(jù)。FAT表提供邏輯地址和存儲(chǔ)在存儲(chǔ)器100中的文件之間的對(duì)應(yīng)關(guān)系。如下所述,控制器101在程序IOlP的控制下訪問(wèn)并操縱FAT表??刂破?01包括可以在程序IOlP的控制下執(zhí)行操作的微處理器。自然地,控制器101中的微處理器也執(zhí)行各種其它常規(guī)的操作,這些操作與本發(fā)明無(wú)關(guān)并且這里不進(jìn)行討論。圖3A、3B和3C中示出了存儲(chǔ)器中存儲(chǔ)各種大小的文件時(shí),根據(jù)本發(fā)明的現(xiàn)有實(shí)施例要進(jìn)行的操作的程序流程圖。應(yīng)當(dāng)理解這些只是為了說(shuō)明系統(tǒng)操作的有限的示例。圖4中示出了系統(tǒng)所執(zhí)行的相關(guān)操作的總體程序流程圖。應(yīng)當(dāng)理解這里示出的示例中所示的操作發(fā)生在存儲(chǔ)器先前已經(jīng)存儲(chǔ)了數(shù)據(jù)之后,以使得所有的分區(qū)中至少有一次存儲(chǔ)了數(shù)據(jù)。數(shù)據(jù)第一次被寫入分區(qū)中時(shí),不需要先前的擦除操作。圖3A示出了簡(jiǎn)單的寫操作。在該示例中,存儲(chǔ)器中的所有分區(qū)中先前都存儲(chǔ)過(guò)數(shù)據(jù),但是整個(gè)存儲(chǔ)器不是滿的。操作繼續(xù)進(jìn)行兩個(gè)步驟。如方框301所示,數(shù)據(jù)被存儲(chǔ)在一個(gè)臨時(shí)存儲(chǔ)位置中。就是說(shuō),臨時(shí)分區(qū)中的一個(gè)分區(qū)的物理地址被分配給新數(shù)據(jù)的邏輯地址,并且數(shù)據(jù)被存儲(chǔ)在這個(gè)新分配的分區(qū)中。接下來(lái),在存儲(chǔ)操作完成之后,控制器為具有先前被分配給該新存儲(chǔ)的分區(qū)的邏輯地址的物理地址的分區(qū)擦空。在如方框302所示當(dāng)前未被使用的物理地址的分區(qū)被標(biāo)識(shí)之后,如方框303所示,該分區(qū)被擦空。注意在文件已經(jīng)被存儲(chǔ)到存儲(chǔ)器中之后進(jìn)行第二和第三操作。還要注意完成這些操作之后,存在24個(gè)臨時(shí)存儲(chǔ)位置,這些位置被擦空并且準(zhǔn)備好接收數(shù)據(jù)。圖3B示出了當(dāng)主機(jī)只想要改變存儲(chǔ)在存儲(chǔ)器的一個(gè)區(qū)域中的數(shù)據(jù)時(shí)會(huì)發(fā)生的情況。首先,如方框321所示,分區(qū)中將不被改變的數(shù)據(jù)被轉(zhuǎn)移到臨時(shí)存儲(chǔ)分區(qū)中的一個(gè)分區(qū)。就是說(shuō),新的物理地址被分配給該數(shù)據(jù)的邏輯地址并且該數(shù)據(jù)被轉(zhuǎn)移到新的地址。接下來(lái),新的數(shù)據(jù)被寫入臨時(shí)存儲(chǔ)分區(qū),并且該臨時(shí)存儲(chǔ)分區(qū)被標(biāo)記為被使用的分區(qū),如方框322和323所示。就是說(shuō),該臨時(shí)存儲(chǔ)分區(qū)不再是臨時(shí)存儲(chǔ)分區(qū)。此時(shí),數(shù)據(jù)存儲(chǔ)操作完成。接下來(lái),如方框324和325所示,控制器為先前被分配給新數(shù)據(jù)的邏輯地址的分區(qū)擦空,并且該分區(qū)被標(biāo)記為臨時(shí)存儲(chǔ)分區(qū)。圖3C示出了當(dāng)主機(jī)發(fā)送要存儲(chǔ)的文件且該文件的大小大于24個(gè)臨時(shí)存儲(chǔ)分區(qū)的大小時(shí)進(jìn)行的操作。假設(shè)存儲(chǔ)器不是滿的并且包含足夠的空間來(lái)存儲(chǔ)這個(gè)新的文件。圖3C示出了在主機(jī)向存儲(chǔ)器發(fā)送文件的時(shí)間之前進(jìn)行的兩個(gè)步驟。只要存儲(chǔ)器沒(méi)有忙于執(zhí)行讀或?qū)懖僮?,就?huì)進(jìn)行這些步驟。如方框331所示,控制器101查詢FAT表以標(biāo)識(shí)當(dāng)前被分配給文件的不包含數(shù)據(jù)的分區(qū)。就是說(shuō),控制器在FAT中查找未被分配的分區(qū),并且將這個(gè)分區(qū)與存儲(chǔ)器中被擦空的區(qū)域進(jìn)行對(duì)比。如果在FAT中某個(gè)分區(qū)是未被分配的,則控制器知道這個(gè)分區(qū)可以被擦空。當(dāng)這個(gè)分區(qū)被定位到時(shí),如方框332所示,該分區(qū)被擦空以使得它準(zhǔn)備好接收數(shù)據(jù)。這違反了 SmartMedia規(guī)范;但是,在系統(tǒng)的常規(guī)操作期間,它不會(huì)帶來(lái)危害。在試圖恢復(fù)被擦除的文件的情況下,這可能會(huì)阻止恢復(fù);但是,這個(gè)操作不被認(rèn)為是系統(tǒng)的常規(guī)操作。最重要的是這些操作發(fā)生在寫操作之前這個(gè)事實(shí),因此,這些操作不會(huì)增加寫操作所需要的時(shí)間量。當(dāng)如方框333和334所示,在主機(jī)向存儲(chǔ)器發(fā)送包含25個(gè)分區(qū)的文件時(shí)(這是本示例所示出的情況),前面的24個(gè)分區(qū)被存儲(chǔ)在臨時(shí)存儲(chǔ)位置中。文件的最后一個(gè)分區(qū)被存儲(chǔ)在一個(gè)已經(jīng)被擦空的位置中。從而,系統(tǒng)不必等待分區(qū)被擦空就可以完成包含25個(gè)分區(qū)的文件的存儲(chǔ)。圖4是示出了系統(tǒng)的操作的總體流程圖。注意圖3A到3C僅示出了系統(tǒng)的操作的各個(gè)片段。方框401和402示出了當(dāng)其它操作沒(méi)有正被執(zhí)行時(shí),控制器101在程序IOlP的控制下查詢FAT表以標(biāo)識(shí)未被分配給任何當(dāng)前文件的分區(qū)。如果任何這樣的分區(qū)被標(biāo)識(shí),則被標(biāo)識(shí)的分區(qū)被擦空并且被標(biāo)記為準(zhǔn)備好接收數(shù)據(jù)。如方框404、406和408所示,當(dāng)主機(jī)開(kāi)始存儲(chǔ)操作時(shí),進(jìn)行的第一個(gè)判定是存儲(chǔ)器中是否存在足夠的未被分配的分區(qū)來(lái)保存新的文件。如果不,則存儲(chǔ)器不能保存該文件,并且操作結(jié)束,如框408所示。自然地,應(yīng)當(dāng)理解所示出的操作中的一些操作可以按照不同于所示出的特定順序的順序來(lái)執(zhí)行。如果存儲(chǔ)器可以保存文件,則判定該文件是否大于24個(gè)分區(qū)。如果該文件小于24個(gè)分區(qū),則操作按照SmartMedia規(guī)范所指定的方式繼續(xù)進(jìn)行。如果文件大于24個(gè)分區(qū),則進(jìn)行方框412和416所示的操作。就是說(shuō),前面24個(gè)分區(qū)被存儲(chǔ)在正常開(kāi)放的24個(gè)分區(qū)中,并且余下的分區(qū)被置于其它先前被擦空的分區(qū)。根據(jù)本發(fā)明,不必等待任何擦除操作的進(jìn)行就可以存儲(chǔ)超過(guò)最初的24個(gè)分區(qū)的分區(qū)。應(yīng)當(dāng)理解本發(fā)明的其它實(shí)施例可以利用不同于上述實(shí)施例中所示的特定的SmartMedia存儲(chǔ)器的其它類型的存儲(chǔ)器。本發(fā)明適合于在寫操作之前需要擦除周期的所有存儲(chǔ)器,也適合于所有閃存器件。雖然針對(duì)優(yōu)選實(shí)施例示出并描述了本發(fā)明,但是本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解在不脫離本發(fā)明的精神和范圍的情況下,可以進(jìn)行各種形式和細(xì)節(jié)上的改變。本發(fā)明的范圍只受所附權(quán)利要求的限制。
權(quán)利要求
1.一種閃存子系統(tǒng),其包括: 被劃分成多個(gè)分區(qū)的閃存,固定數(shù)目的所述分區(qū)被保持在擦空狀態(tài)并且準(zhǔn)備好接收數(shù)據(jù),文件分配表(FAT)被存儲(chǔ)在所述閃存中, 存儲(chǔ)器控制器,可操作來(lái)查詢所述文件分配表,定位除了所述固定數(shù)目的分區(qū)以外其中沒(méi)有被分配給活動(dòng)文件的區(qū)域的存儲(chǔ)器分區(qū)并擦空所述存儲(chǔ)器分區(qū),所述查詢和擦空發(fā)生在其中沒(méi)有文件正被讀取或?qū)懭氲剿龃鎯?chǔ)器的間隔期間, 其中,所述閃存進(jìn)一步被配置以回應(yīng)于寫操作,而在無(wú)需等待擦空操作進(jìn)行的情況下存儲(chǔ)大于所述固定數(shù)目的分區(qū)的文件。
2.如權(quán)利要求1所述的系統(tǒng),其中所述存儲(chǔ)器是NAND閃存。
3.如權(quán)利要求1所述的系統(tǒng),其中除所述查詢和擦空操作以外,所述存儲(chǔ)器遵循SmartMedia規(guī)范操作。
4.如權(quán)利要求1所述的閃存子系統(tǒng),其中所述存儲(chǔ)器控制器包括通用串行總線接口。
5.—種存儲(chǔ)器系統(tǒng),包括: 在寫操作之前需要擦空操作的存儲(chǔ)器,所述存儲(chǔ)器被劃分成多個(gè)分區(qū),固定數(shù)目的所述分區(qū)被保持在擦空狀態(tài)并且準(zhǔn)備好接收數(shù)據(jù),文件分配表(FAT)被存儲(chǔ)在所述存儲(chǔ)器中, 存儲(chǔ)器控制器,可操作來(lái)查詢所述文件分配表,定位除了所述固定數(shù)目的分區(qū)以外其中沒(méi)有被分配給活動(dòng)文件的區(qū)域的存儲(chǔ)器分區(qū)并擦空所述存儲(chǔ)器分區(qū),所述查詢和擦空發(fā)生在其中沒(méi)有文件正被讀取或?qū)懭氲剿龃鎯?chǔ)器的間隔期間, 其中,所述存儲(chǔ)器進(jìn)一步被配置以回應(yīng)于寫操作,而在無(wú)需等待擦空操作進(jìn)行的情況下存儲(chǔ)大于所述固定數(shù)目的分區(qū)的文件。
6.如權(quán)利要求5所述的系統(tǒng),其中所述存儲(chǔ)器是閃存。
7.如權(quán)利要求5所述的系統(tǒng),其中所述存儲(chǔ)器是NAND閃存。
8.如權(quán)利要求5所述的系統(tǒng),其中除所述查詢和擦空操作以外,所述存儲(chǔ)器遵循SmartMedia規(guī)范操作。
9.如權(quán)利要求7所述的系統(tǒng),其中除所述查詢和擦空操作以外,所述存儲(chǔ)器遵循SmartMedia規(guī)范操作。
10.如權(quán)利要求5所述的系統(tǒng),其中所述存儲(chǔ)器具有之前被擦空并為寫操作做好準(zhǔn)備的至少24個(gè)分區(qū)。
11.如權(quán)利要求5所述的系統(tǒng),其中所述存儲(chǔ)器控制器包括通用串行總線接口。
12.—種具有主機(jī)計(jì)算機(jī)和權(quán)利要求11所述的存儲(chǔ)器系統(tǒng)的系統(tǒng),其中所述主機(jī)通過(guò)通用串行總線被連接到所述存儲(chǔ)器系統(tǒng)。
13.一種操作存儲(chǔ)器的方法,所述存儲(chǔ)器被劃分成多個(gè)分區(qū)并且要求在寫入每個(gè)特定分區(qū)之前每個(gè)特定分區(qū)被擦空,所述存儲(chǔ)器中存儲(chǔ)有文件分配表(FAT),所述方法包括以下步驟: 在未正進(jìn)行讀或?qū)懖僮鲿r(shí)查詢所述文件分配表以標(biāo)識(shí)未被分配給當(dāng)前文件的分區(qū), 在未正進(jìn)行讀或?qū)懖僮鲿r(shí)擦空標(biāo)識(shí)出的分區(qū), 回應(yīng)于寫操作,在無(wú)需等待擦空操作進(jìn)行時(shí)的情況下將大文件存儲(chǔ)在所述存儲(chǔ)器中,其中大文件大于固定數(shù)目的分區(qū)。
14.如權(quán)利要求13所述的方法,其中所述存儲(chǔ)器是閃存。
15.如權(quán)利要求13所述的方法,其中所述存儲(chǔ)器是NAND閃存。
16.如權(quán)利要求13所述的方法,其中除所述查詢和擦空操作以外,所述存儲(chǔ)器遵循SmartMedia規(guī)范操作。
17.—種存儲(chǔ)器子系統(tǒng),其包括: 存儲(chǔ)器,所述存儲(chǔ) 器被劃分成多個(gè)分區(qū)并且要求在寫入每個(gè)特定分區(qū)之前每個(gè)特定分區(qū)被擦空,所述存儲(chǔ)器中存儲(chǔ)有文件分配表(FAT), 用于在未正進(jìn)行讀或?qū)懖僮鲿r(shí)查詢所述文件分配表以標(biāo)識(shí)未被分配給當(dāng)前文件的分區(qū)的裝置, 用于在未正進(jìn)行讀或?qū)懖僮鲿r(shí)擦空標(biāo)識(shí)出的分區(qū)的裝置,以及用于在無(wú)需等待擦空操作進(jìn)行的情況下將大文件存儲(chǔ)在所述存儲(chǔ)器中的裝置,其中大文件大于固定數(shù)目的分區(qū)。
18.如權(quán)利要求17所述的系統(tǒng),其中所述存儲(chǔ)器是閃存。
19.如權(quán)利要求17所述的系統(tǒng),其中所述存儲(chǔ)器是NAND閃存。
20.一種具有主機(jī)計(jì)算機(jī)和權(quán)利要求17所述的存儲(chǔ)器子系統(tǒng)的系統(tǒng),其中所述主機(jī)通過(guò)通用串行總線連接到所述存儲(chǔ)器子系統(tǒng)。
全文摘要
控制器連續(xù)地或周期性地查詢FAT表以確定該時(shí)刻哪些分區(qū)未存儲(chǔ)與存儲(chǔ)器中存儲(chǔ)的任何文件相關(guān)的數(shù)據(jù)。如果定位到未被分配給文件的分區(qū),則該分區(qū)被擦空并且被標(biāo)記為準(zhǔn)備好接收數(shù)據(jù)。按照這種方式,大文件可以被存儲(chǔ)在存儲(chǔ)器中,而不必在該文件正被寫入存儲(chǔ)器時(shí)等待擦空操作的進(jìn)行。
文檔編號(hào)G06F3/06GK103150256SQ20131005738
公開(kāi)日2013年6月12日 申請(qǐng)日期2005年7月20日 優(yōu)先權(quán)日2004年7月22日
發(fā)明者斯蒂芬·亨利·克洛克思凱 申請(qǐng)人:賽普拉斯半導(dǎo)體公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1