專(zhuān)利名稱(chēng):對(duì)于緩存器使用無(wú)效指示符的裝置和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種計(jì)算系統(tǒng)和方法,具體地說(shuō),涉及一種包括具有緩存器的存儲(chǔ)系統(tǒng)的計(jì)算系統(tǒng)。
背景技術(shù):
圖1的框圖示出了通常的計(jì)算系統(tǒng)。該計(jì)算系統(tǒng)包括例如主計(jì)算機(jī)系統(tǒng)的主機(jī)10和存儲(chǔ)器20。主機(jī)10包括中央處理單元(未示出)和主存儲(chǔ)器(未示出)。存儲(chǔ)器20使用諸如小計(jì)算機(jī)系統(tǒng)互連(SCSI)接口、增強(qiáng)的小設(shè)備接口(ESDI)或者智能驅(qū)動(dòng)電子(IDE)接口的標(biāo)準(zhǔn)化接口連接到主機(jī)10。存儲(chǔ)器20包括諸如硬盤(pán)或軟盤(pán)的存儲(chǔ)介質(zhì)22、緩存器24和控制器26??刂破?6使用傳統(tǒng)的接口連接到存儲(chǔ)介質(zhì)22和緩存器。緩存器24包括諸如靜態(tài)隨機(jī)存取存儲(chǔ)器SRAM或動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器DRAM的存儲(chǔ)器。緩存器24被用于改進(jìn)存儲(chǔ)器20的寫(xiě)性能。
圖2示出了用于圖1所示計(jì)算系統(tǒng)的示例性文件處理的圖。當(dāng)在諸如主機(jī)10的高層處執(zhí)行應(yīng)用程序時(shí),該應(yīng)用程序產(chǎn)生多個(gè)文件并且所產(chǎn)生的文件由諸如文件分配表(FAT)文件系統(tǒng)的文件系統(tǒng)進(jìn)行管理。如果應(yīng)用程序在所產(chǎn)生的文件中寫(xiě)數(shù)據(jù),那么,在中央處理單元的控制下,寫(xiě)入的數(shù)據(jù)被發(fā)送給諸如存儲(chǔ)器20的較低層。所發(fā)送的數(shù)據(jù)被暫時(shí)存儲(chǔ)在存儲(chǔ)器20的緩存器中。當(dāng)主機(jī)10請(qǐng)求文件時(shí),被請(qǐng)求文件的數(shù)據(jù)直接從存儲(chǔ)器20傳送給主機(jī)10的主存儲(chǔ)器或被請(qǐng)求文件的數(shù)據(jù)經(jīng)過(guò)緩存器24傳送給主機(jī)10的主存儲(chǔ)器。經(jīng)過(guò)緩存器24傳送的數(shù)據(jù)可以被暫時(shí)存儲(chǔ)在緩存器24中。
由于與存儲(chǔ)介質(zhì)22的容量相比,緩存器24的容量通常是小的,所以,通常不可能將從主存儲(chǔ)器傳送給存儲(chǔ)介質(zhì)22的所有數(shù)據(jù)都存儲(chǔ)在緩存器24中。因此,存儲(chǔ)在緩存器24中的數(shù)據(jù)在控制器26的控制下被間歇地傳送給存儲(chǔ)介質(zhì)22。從緩存器24到存儲(chǔ)介質(zhì)22的數(shù)據(jù)傳送通常被自動(dòng)執(zhí)行而沒(méi)有主機(jī)10的干預(yù)。例如,如果當(dāng)主機(jī)10請(qǐng)求執(zhí)行寫(xiě)操作時(shí)緩存器24缺少存儲(chǔ)新數(shù)據(jù)的空間,或者如果存儲(chǔ)器20處于其中在預(yù)定的時(shí)間周期內(nèi)沒(méi)有從主機(jī)10接收到請(qǐng)求的空閑狀態(tài),暫時(shí)存儲(chǔ)在緩存器24中的數(shù)據(jù)可以被自動(dòng)地傳送給存儲(chǔ)介質(zhì)22。
上述計(jì)算系統(tǒng)可能存在缺點(diǎn)。當(dāng)刪除經(jīng)過(guò)主機(jī)10的應(yīng)用程序處理過(guò)的文件數(shù)據(jù)時(shí),由在主機(jī)10處的文件系統(tǒng)將所述數(shù)據(jù)處理成被刪除的文件。即使是認(rèn)為數(shù)據(jù)已經(jīng)在主機(jī)10的這一層被刪除了,但是該數(shù)據(jù)實(shí)際上仍然可能被存儲(chǔ)在緩存器24中。這樣,當(dāng)緩存器24缺少存儲(chǔ)新數(shù)據(jù)的空間時(shí),存儲(chǔ)在緩存器24中的數(shù)據(jù)可能在沒(méi)有主機(jī)10的干預(yù)下被自動(dòng)傳送給存儲(chǔ)介質(zhì)22。雖然存儲(chǔ)在緩存器中的數(shù)據(jù)由于在高層處被刪除而變得無(wú)效,但是,由于控制器26通常不能確定存儲(chǔ)在緩存器24中的數(shù)據(jù)的有效性,所以,該無(wú)效數(shù)據(jù)可能被不必要地寫(xiě)入存儲(chǔ)介質(zhì)22中。因此,存儲(chǔ)器20的寫(xiě)性能可能被降低,并且存儲(chǔ)器20的壽命會(huì)由于不必要的寫(xiě)操作而縮短。另外,不必要的寫(xiě)操作浪費(fèi)了功率。
發(fā)明內(nèi)容
在本發(fā)明的某些實(shí)施例中,存儲(chǔ)系統(tǒng)包括被配置來(lái)存儲(chǔ)數(shù)據(jù)的存儲(chǔ)介質(zhì)和被配置來(lái)緩存要被寫(xiě)入該存儲(chǔ)介質(zhì)中的數(shù)據(jù)的緩存器。該存儲(chǔ)系統(tǒng)還包括被配置成響應(yīng)從外部源接收的無(wú)效指示符而將緩存數(shù)據(jù)有選擇地傳送給所述存儲(chǔ)介質(zhì)的控制器。例如,無(wú)效指示符可以包括從外部源接收的不寫(xiě)信息,例如,表示所選擇的緩存數(shù)據(jù)對(duì)應(yīng)于被刪除文件數(shù)據(jù)的信息。
在另一個(gè)實(shí)施例中,控制器被配置成響應(yīng)所述無(wú)效指示符無(wú)效所選擇的緩存數(shù)據(jù)。具體地說(shuō),控制器可以被配置成響應(yīng)無(wú)效指示符而存儲(chǔ)表示無(wú)效緩存數(shù)據(jù)的無(wú)效的寫(xiě)狀態(tài)信息,并響應(yīng)所存儲(chǔ)的寫(xiě)狀態(tài)信息而防止無(wú)效緩存數(shù)據(jù)從緩存器到存儲(chǔ)介質(zhì)的傳送。
在本發(fā)明的又一個(gè)實(shí)施例中,所述控制器被配置成響應(yīng)緩存器中的存儲(chǔ)限制和/或存儲(chǔ)介質(zhì)的空閑狀態(tài)而觸發(fā)轉(zhuǎn)錄操作。所述轉(zhuǎn)錄操作包括在前述從緩存器向存儲(chǔ)介質(zhì)傳送無(wú)效緩存數(shù)據(jù)的同時(shí),將有效緩存數(shù)據(jù)從緩存器傳送給存儲(chǔ)介質(zhì)控制器。根據(jù)另一個(gè)實(shí)施例,控制器還可以被配置成響應(yīng)無(wú)效緩存數(shù)據(jù)的無(wú)效而使能由無(wú)效緩存數(shù)據(jù)占據(jù)的緩存器中存儲(chǔ)空間再使用。
在本發(fā)明的某些實(shí)施例中,計(jì)算系統(tǒng)包括存儲(chǔ)系統(tǒng),該存儲(chǔ)系統(tǒng)包括被配置成用于存儲(chǔ)數(shù)據(jù)的存儲(chǔ)介質(zhì)、被配置成用于緩存要被寫(xiě)入所述存儲(chǔ)介質(zhì)中的緩存數(shù)據(jù)的緩存器和被配置成用于響應(yīng)無(wú)效指示符而將緩存數(shù)據(jù)有選擇地傳送給所述存儲(chǔ)介質(zhì)的控制器。所述計(jì)算系統(tǒng)還包括被配置成向緩存器傳送數(shù)據(jù)并響應(yīng)在該主機(jī)處的數(shù)據(jù)修改操作而向存儲(chǔ)系統(tǒng)提供無(wú)效指示符的主機(jī)。例如,無(wú)效指示符可以包括響應(yīng)主機(jī)處文件數(shù)據(jù)的刪除而產(chǎn)生的不寫(xiě)命令。
在本發(fā)明的另外的實(shí)施例中,提供用于操作包括存儲(chǔ)介質(zhì)和緩存器的存儲(chǔ)系統(tǒng),該緩存器被配置成存儲(chǔ)將被寫(xiě)入所述存儲(chǔ)介質(zhì)中的數(shù)據(jù)。從諸如計(jì)算機(jī)主機(jī)的外部源接收與存儲(chǔ)在緩存器中的數(shù)據(jù)相關(guān)的無(wú)效指示符。響應(yīng)所接收的無(wú)效指示符,存儲(chǔ)在緩存器中的數(shù)據(jù)被有選擇地傳送給所述存儲(chǔ)介質(zhì)。
根據(jù)本發(fā)明的某些實(shí)施例,用于控制在存儲(chǔ)介質(zhì)中存儲(chǔ)的數(shù)據(jù)的系統(tǒng)包括被配置成緩存將被寫(xiě)入所述存儲(chǔ)介質(zhì)中的數(shù)據(jù)的緩存器,和被配置成響應(yīng)從外部源接收的無(wú)效指示符將緩存數(shù)據(jù)有選擇地傳送給所述存儲(chǔ)介質(zhì)的控制器。
用于提供對(duì)本發(fā)明的進(jìn)一步理解并構(gòu)成本申請(qǐng)一部分的附圖與說(shuō)明書(shū)一起示出了本發(fā)明的實(shí)施例,以解釋本發(fā)明的原理。其中圖1的框圖示出了傳統(tǒng)的計(jì)算機(jī)系統(tǒng);圖2示出了圖1所示計(jì)算系統(tǒng)的傳統(tǒng)文件處理操作;圖3的框圖示出了根據(jù)本發(fā)明某些實(shí)施例的包括存儲(chǔ)系統(tǒng)的計(jì)算系統(tǒng);圖4A和4B示出了根據(jù)本發(fā)明另外一些實(shí)施例的存儲(chǔ)系統(tǒng)的映射表的圖;圖5的流程示出了根據(jù)本發(fā)明附加實(shí)施例的用于管理存儲(chǔ)在計(jì)算系統(tǒng)的存儲(chǔ)系統(tǒng)中的數(shù)據(jù)的示例性操作;和圖6A-6C示出了根據(jù)本發(fā)明的再一些實(shí)施例的基于對(duì)存儲(chǔ)在計(jì)算系統(tǒng)的存儲(chǔ)介質(zhì)中的緩存器中的數(shù)據(jù)的無(wú)效信息的示例性寫(xiě)操作。
具體實(shí)施例方式
下面將結(jié)合附圖描述本發(fā)明的特定示例性實(shí)施例。但是,本發(fā)明可以多種不同的形式實(shí)施和不局限于這里所描述的實(shí)施例。提供這些實(shí)施例是使本披露更加徹底和完整,且對(duì)于本領(lǐng)域的普通技術(shù)人員來(lái)講能夠全部覆蓋本發(fā)明的范圍。在附圖中,相同數(shù)字表示相同的元件。應(yīng)當(dāng)理解,當(dāng)一個(gè)元件被稱(chēng)做“被連接”或“被耦合”到另外一個(gè)元件時(shí),它可以是被直接連接或耦合到其它元件,或者是存在介入元件。此外,這里所使用的“被連接”或“被耦合”可以包括被無(wú)線(xiàn)連接或耦合/這里所使用的術(shù)語(yǔ)僅被用于描述特定實(shí)施例的目的且不試圖限制本發(fā)明。如在這里使用的,單數(shù)形式“一個(gè)”和“所述”試圖包括多種形式,除非有其他特殊的描述。還應(yīng)當(dāng)理解,當(dāng)使用于本說(shuō)明書(shū)中時(shí),術(shù)語(yǔ)“包括(動(dòng)詞)”、“包括(動(dòng)詞)”、“包括(分詞)”和/或“包括(分詞)”規(guī)定存在所述特性、整數(shù)、步驟、操作、元件和/或部件,但不排除存在或附加一個(gè)或多個(gè)其它特性、整數(shù)、步驟、操作、元件、部件和/或它們的組合。
除非另有規(guī)定,這里所使用的所有術(shù)語(yǔ)(包括技術(shù)和科學(xué)術(shù)語(yǔ))都具有本發(fā)明所屬技術(shù)領(lǐng)域普通技術(shù)人員所理解的共同含義。還應(yīng)當(dāng)理解,諸如在公用字典中所定義的術(shù)語(yǔ)應(yīng)當(dāng)被解釋為具有在相關(guān)技術(shù)的上下文和本發(fā)明說(shuō)明書(shū)中所堅(jiān)持的它們含義的意義,除非另有定義,并不以過(guò)分理想化和過(guò)度社交意義對(duì)其進(jìn)行解釋。
應(yīng)當(dāng)理解,雖然這里所使用的術(shù)語(yǔ)“第一”和“第二”被用于描述各種元件,但這些元件并不受這些術(shù)語(yǔ)的限制。這些術(shù)語(yǔ)僅僅被用于從一個(gè)元件識(shí)別另一個(gè)元件。因此,術(shù)語(yǔ)“第一”可以被稱(chēng)做術(shù)語(yǔ)“第二”。類(lèi)似的術(shù)語(yǔ)“第二”也可以被稱(chēng)做術(shù)語(yǔ)“第一”而不脫離本發(fā)明的教導(dǎo)。如這里所使用的,術(shù)語(yǔ)“和/或”包括相關(guān)列表術(shù)語(yǔ)的一個(gè)或多個(gè)的任一和所有組合。符號(hào)“/”可以被用做與“和/或”相關(guān)的簡(jiǎn)化符號(hào)。
在本發(fā)明中,“不寫(xiě)”、“擦除”或“刪除”命令、請(qǐng)求或信息表示輸入給存儲(chǔ)系統(tǒng)以無(wú)效存儲(chǔ)在緩存器中的數(shù)據(jù)和避免其從緩存器傳送給存儲(chǔ)介質(zhì)的命令或其它信息。數(shù)據(jù)從緩存器向存儲(chǔ)介質(zhì)的傳送稱(chēng)做“清洗”或“轉(zhuǎn)錄”操作。
圖3的框圖示出了根據(jù)本發(fā)明某些實(shí)施例的計(jì)算系統(tǒng)1000。計(jì)算系統(tǒng)1000包括主機(jī)系統(tǒng)100和存儲(chǔ)系統(tǒng)200。存儲(chǔ)系統(tǒng)200可以包括例如使用諸如SCSI、ESDI或IDE接口的標(biāo)準(zhǔn)化接口耦合到主機(jī)系統(tǒng)100的存儲(chǔ)器件。將意識(shí)到可以使用包括非標(biāo)準(zhǔn)化接口的其它類(lèi)型的接口來(lái)耦合主機(jī)系統(tǒng)100和存儲(chǔ)系統(tǒng)200。存儲(chǔ)系統(tǒng)200可以包括與主機(jī)系統(tǒng)100集成在一起的存儲(chǔ)器。
主機(jī)系統(tǒng)100包括中央處理單元(CPU)110和存儲(chǔ)器120。存儲(chǔ)器120可以包括主機(jī)系統(tǒng)100的主存儲(chǔ)器。應(yīng)用程序121和文件系統(tǒng)122被包含在存儲(chǔ)器120中。文件系統(tǒng)122可以包括一個(gè)或多個(gè)具有文件分配表(FAT)的文件系統(tǒng)或其它文件系統(tǒng)。
當(dāng)要?jiǎng)h除全部或某些被應(yīng)用程序121處理的文件數(shù)據(jù)時(shí),主機(jī)系統(tǒng)100向存儲(chǔ)系統(tǒng)200輸出不寫(xiě)命令。主機(jī)系統(tǒng)100例如可以將該不寫(xiě)命令伴隨與要被刪除的數(shù)據(jù)的地址和/或尺寸相關(guān)的信息一起發(fā)送給存儲(chǔ)系統(tǒng)200。
諸如圖2所示的FAT文件系統(tǒng)可以包括主引導(dǎo)記錄(MBR)、分區(qū)引導(dǎo)記錄(PBR)、第一和第二文件分配表(主FAT、復(fù)制FAT)和引導(dǎo)目錄。例如可以使用諸如包括數(shù)據(jù)的文件名和用于達(dá)到文件被存儲(chǔ)地方的目錄樹(shù)的路徑的兩項(xiàng)信息識(shí)別存儲(chǔ)在或?qū)⒁鎯?chǔ)在存儲(chǔ)系統(tǒng)200中的數(shù)據(jù)。目錄的每個(gè)條目存儲(chǔ)諸如文件長(zhǎng)度(例如,32字節(jié)長(zhǎng))、文件名、擴(kuò)展名、文件屬性字節(jié)、最后修改日期和時(shí)間、文件大小和啟動(dòng)群集的連接的信息。
預(yù)定的字符可以被用做表示被刪除文件的文件名的第一字符。例如,十六近制數(shù)字節(jié)碼E5h可以被指定給被刪除文件的文件名的第一字符,以用做表示該文件已經(jīng)被刪除的標(biāo)記。當(dāng)文件被刪除時(shí),CPU 110可以指定預(yù)定的字符作為被刪除文件的文件名的第一字符和輸出與被刪除文件對(duì)應(yīng)的不寫(xiě)命令和/或其它無(wú)效信息給存儲(chǔ)系統(tǒng)200。
繼續(xù)參看圖3,存儲(chǔ)系統(tǒng)200包括存儲(chǔ)介質(zhì)220、緩存器240和控制器260。當(dāng)在存儲(chǔ)系統(tǒng)200的較高層處認(rèn)為文件的數(shù)據(jù)已經(jīng)被刪除時(shí)和無(wú)效指示符已經(jīng)被輸入給存儲(chǔ)系統(tǒng)200時(shí),存儲(chǔ)系統(tǒng)220防止將存儲(chǔ)在緩存器220中的數(shù)據(jù)寫(xiě)入存儲(chǔ)介質(zhì)260中。所述無(wú)效指示符可以包括與刪除數(shù)據(jù)的地址和大小相關(guān)的信息一起的不寫(xiě)命令。
存儲(chǔ)介質(zhì)220可以存儲(chǔ)諸如文本、圖像、音樂(lè)和節(jié)目的所有類(lèi)型數(shù)據(jù)。字節(jié)存儲(chǔ)介質(zhì)220可以是諸如磁盤(pán)或閃存的非易失存儲(chǔ)器。但是,應(yīng)當(dāng)理解,存儲(chǔ)介質(zhì)220并不局限于非易失存儲(chǔ)器。
緩存器240被用于緩存在主機(jī)系統(tǒng)100和存儲(chǔ)介質(zhì)220之間傳送的數(shù)據(jù)。緩存器240可以包括諸如動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)或靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)的高速易失性存儲(chǔ)器和/或諸如磁阻隨機(jī)存取存儲(chǔ)器(MRAM)、參量隨機(jī)存取存儲(chǔ)器(PRAM)、鐵電隨機(jī)存取存儲(chǔ)器(FRAM)、NAND閃存或NOR閃存的非易失性存儲(chǔ)器。
緩存器240用做寫(xiě)緩沖器。例如,緩存器240可以響應(yīng)主機(jī)系統(tǒng)100的請(qǐng)求暫時(shí)存儲(chǔ)將要寫(xiě)到存儲(chǔ)介質(zhì)220中的數(shù)據(jù)??梢杂羞x擇地使用緩存器240的寫(xiě)緩沖器功能。有時(shí),在“寫(xiě)旁路(write bypass)”操作中,從主機(jī)系統(tǒng)傳送的數(shù)據(jù)可以被直接傳送給存儲(chǔ)介質(zhì)220而不被存儲(chǔ)到緩存器240中。緩存器240也可以用作讀緩沖器。例如,緩存器240可以暫時(shí)存儲(chǔ)從存儲(chǔ)介質(zhì)220中讀出的數(shù)據(jù)。雖然圖3僅示出了一個(gè)緩存器,但可以提供兩個(gè)或多個(gè)緩存器。在這種實(shí)施例中,每個(gè)緩存器可以被專(zhuān)門(mén)用做寫(xiě)緩沖器或讀緩沖器,或者可以被用做寫(xiě)和讀緩沖器。
控制器260控制存儲(chǔ)介質(zhì)220和緩存器240。當(dāng)從主機(jī)系統(tǒng)100輸入讀命令時(shí),控制器260控制存儲(chǔ)介質(zhì)220以使得存儲(chǔ)在存儲(chǔ)介質(zhì)220中的數(shù)據(jù)被直接傳送給主機(jī)系統(tǒng)100或者使得存儲(chǔ)在存儲(chǔ)介質(zhì)220中的數(shù)據(jù)經(jīng)過(guò)緩存器240被傳送給主機(jī)系統(tǒng)100。當(dāng)從主機(jī)系統(tǒng)100輸入寫(xiě)命令時(shí),控制器260將與寫(xiě)命令相關(guān)的數(shù)據(jù)暫時(shí)存儲(chǔ)到緩存器240中。當(dāng)緩存器240缺少存儲(chǔ)附加數(shù)據(jù)的空間或當(dāng)存儲(chǔ)介質(zhì)200空閑時(shí),存儲(chǔ)在緩存器240中的全部或部分?jǐn)?shù)據(jù)被傳送給存儲(chǔ)介質(zhì)220。當(dāng)在預(yù)定的時(shí)間內(nèi)沒(méi)有從主機(jī)系統(tǒng)100接收到請(qǐng)求時(shí),存儲(chǔ)系統(tǒng)200可以被認(rèn)為是空閑的。
控制器260保持與存儲(chǔ)介質(zhì)220和緩存器240的地址映射信息和用于存儲(chǔ)表示所存儲(chǔ)數(shù)據(jù)有效/無(wú)效的寫(xiě)狀態(tài)信息的映射表261。利用從外部設(shè)備提供的無(wú)效信息(例如,指示符)更新所述寫(xiě)狀態(tài)信息。控制器260基于在映射表261中的寫(xiě)狀態(tài)信息控制存儲(chǔ)介質(zhì)220和緩存器240以將存儲(chǔ)在緩存器240中的全部或部分?jǐn)?shù)據(jù)寫(xiě)入存儲(chǔ)介質(zhì)220中。在本發(fā)明的某些實(shí)施例中,存儲(chǔ)介質(zhì)220和緩存器240可以使用閃存來(lái)實(shí)施。
如上所述,本發(fā)明所示實(shí)施例的存儲(chǔ)系統(tǒng)200確定是否通過(guò)參考寫(xiě)狀態(tài)信息將存儲(chǔ)在緩存器240中的全部或部分?jǐn)?shù)據(jù)傳送給存儲(chǔ)介質(zhì)220。即,本發(fā)明的存儲(chǔ)系統(tǒng)200從諸如主機(jī)系統(tǒng)100的外部源設(shè)備接收不寫(xiě)或其它表示存儲(chǔ)在緩存器中的數(shù)據(jù)是無(wú)效數(shù)據(jù)的信息。響應(yīng)該不寫(xiě)或其它無(wú)效指示符,存儲(chǔ)系統(tǒng)200防止將無(wú)效數(shù)據(jù)從緩存器240寫(xiě)入存儲(chǔ)介質(zhì)220中。換言之,存儲(chǔ)系統(tǒng)200指定表示存儲(chǔ)在緩存器240中的數(shù)據(jù)無(wú)效的標(biāo)記并基于所指定的標(biāo)記將存儲(chǔ)在緩存器240中的數(shù)據(jù)有選擇地傳送給存儲(chǔ)介質(zhì)220。因此,存儲(chǔ)系統(tǒng)200的寫(xiě)性能可以得到改善,從而減少了由不必要寫(xiě)操作所引起的存儲(chǔ)系統(tǒng)200壽命的縮短。此外,可以減少由不必要寫(xiě)操作引起的功耗。
圖4A和4B示出了根據(jù)本發(fā)明實(shí)施例的可以由圖3的控制器260使用的示例性映射表圖。在圖4A和4B中,“BBN”表示緩存器240的塊數(shù)?!癉CN”表示存儲(chǔ)介質(zhì)220的群集數(shù),和“WS1”表示指出存儲(chǔ)在緩存器240中的數(shù)據(jù)有效或無(wú)效的寫(xiě)狀態(tài)信息。在所示的實(shí)施例中,假設(shè)緩存器240的塊大小與具有多個(gè)扇區(qū)的群集的大小相同。但是,存儲(chǔ)介質(zhì)220不必被限制于該假設(shè)。例如,存儲(chǔ)介質(zhì)220的分配單元可以對(duì)應(yīng)于磁盤(pán)的扇區(qū),或者閃存的頁(yè)、扇區(qū)或塊。在圖4A和4B中,用“X”表示無(wú)效數(shù)據(jù),用“V”表示有效數(shù)據(jù)。
在圖4A中,假設(shè)與三個(gè)文件對(duì)應(yīng)的數(shù)據(jù)集文件1、文件2和文件3被作為有效數(shù)據(jù)存儲(chǔ)在緩存器240中。數(shù)據(jù)集文件1、文件2和文件3可能還沒(méi)有存儲(chǔ)到存儲(chǔ)介質(zhì)220中。如上所述,當(dāng)緩存器240缺少存儲(chǔ)新數(shù)據(jù)的空間時(shí)或存儲(chǔ)介質(zhì)220變成空閑時(shí),所存儲(chǔ)的文件數(shù)據(jù)集文件1、文件2和文件3被傳送給存儲(chǔ)介質(zhì)220??刂破?60根據(jù)從主機(jī)系統(tǒng)100傳送的無(wú)效信息更新存儲(chǔ)在緩存器240中的文件數(shù)據(jù)集文件1、文件2和文件3的寫(xiě)狀態(tài)信息。例如,在主機(jī)系統(tǒng)100中刪除文件數(shù)據(jù)集文件2并且主機(jī)系統(tǒng)100將文件數(shù)據(jù)集文件2的無(wú)效信息發(fā)送給控制器260,該無(wú)效信息表示文件數(shù)據(jù)集文件2已經(jīng)在主機(jī)系統(tǒng)100處被刪除。當(dāng)控制器260接收文件數(shù)據(jù)集文件2的無(wú)效信息時(shí),控制器260將文件數(shù)據(jù)集文件2的寫(xiě)狀態(tài)信息WS1改變?yōu)椤癤”以指出文件數(shù)據(jù)集文件2是無(wú)效的。
圖5的流程示出了根據(jù)本發(fā)明某些實(shí)施例的用于管理存儲(chǔ)在計(jì)算機(jī)系統(tǒng)的存儲(chǔ)系統(tǒng)中的數(shù)據(jù)的示例性操作。如上所述,圖2所示的存儲(chǔ)系統(tǒng)200包括用于存儲(chǔ)數(shù)據(jù)的存儲(chǔ)介質(zhì)220和用于暫存要被寫(xiě)入存儲(chǔ)介質(zhì)220中的數(shù)據(jù)的緩存器240。如圖5所示,在步驟S110,確定不寫(xiě)或其它無(wú)效信息是否被提供給存儲(chǔ)系統(tǒng)200。在步驟S200,響應(yīng)不寫(xiě)或其它無(wú)效信息,暫時(shí)存儲(chǔ)在緩存器240中的全部或部分對(duì)應(yīng)數(shù)據(jù)被標(biāo)記為無(wú)效。在無(wú)效之后,無(wú)效的數(shù)據(jù)不能被寫(xiě)入存儲(chǔ)介質(zhì)220中。
圖6A-6C示出了根據(jù)本發(fā)明的另外一些實(shí)施例的示例性數(shù)據(jù)管理操作的圖。如上結(jié)合圖2所述,存儲(chǔ)系統(tǒng)200的控制器260通過(guò)參照映射表261將存儲(chǔ)在緩存器240中的數(shù)據(jù)傳送給存儲(chǔ)介質(zhì)220。參見(jiàn)圖6A,假設(shè)作為有效數(shù)據(jù)在緩存器240中存儲(chǔ)有三個(gè)文件數(shù)據(jù)集文件1、文件2和文件3。存儲(chǔ)系統(tǒng)200的控制器260基于與所存儲(chǔ)文件數(shù)據(jù)集文件1、文件2和文件3對(duì)應(yīng)的映射表261中的寫(xiě)狀態(tài)信息來(lái)確定存儲(chǔ)在緩存器240中的哪個(gè)數(shù)據(jù)是無(wú)效數(shù)據(jù)。如圖6A所示,當(dāng)全部的文件數(shù)據(jù)集文件1到文件3都被映射表261標(biāo)記為有效時(shí),控制器260控制緩存器240和存儲(chǔ)介質(zhì)220將文件數(shù)據(jù)集文件1、文件2和文件3從緩存器240傳送到存儲(chǔ)介質(zhì)220中的相應(yīng)位置。
如果無(wú)效信息包括例如不寫(xiě)命令,那么,該無(wú)效數(shù)據(jù)文件的地址信息和該無(wú)效數(shù)據(jù)文件的大小信息在傳送相應(yīng)數(shù)據(jù)給存儲(chǔ)介質(zhì)220之前被輸入給控制器260,控制器260使與該無(wú)效信息相關(guān)的數(shù)據(jù)無(wú)效。例如,如圖6B所示,如果無(wú)效數(shù)據(jù)對(duì)應(yīng)于文件數(shù)據(jù)集文件2,那么,控制器260更新與文件數(shù)據(jù)集文件2相關(guān)的映射表261的寫(xiě)狀態(tài)信息WS1以指示文件數(shù)據(jù)集文件2是無(wú)效的。控制器260然后可以基于映射表261中的寫(xiě)狀態(tài)信息SW1確定存儲(chǔ)在緩存器240中的哪個(gè)數(shù)據(jù)是無(wú)效的。如圖6B所示,在映射表261中,文件數(shù)據(jù)文件1和文件3被標(biāo)記為有效數(shù)據(jù)而文件數(shù)據(jù)文件2被標(biāo)記為無(wú)效數(shù)據(jù)。因此,在前述將文件數(shù)據(jù)文件2傳送給存儲(chǔ)介質(zhì)220的相應(yīng)位置處的同時(shí),控制器260控制緩存器240和存儲(chǔ)介質(zhì)220將文件數(shù)據(jù)集文件1和文件3傳送到存儲(chǔ)介質(zhì)220的相應(yīng)位置處。被無(wú)效文件數(shù)據(jù)集文件2占據(jù)的緩存器240中的空間可以在后續(xù)新的寫(xiě)/讀操作中用于存儲(chǔ)新的數(shù)據(jù)。
在圖6C所示的另一個(gè)例子中,假設(shè)只有一個(gè)數(shù)據(jù)文件集文件1被存儲(chǔ)在緩存器240中。如果在將數(shù)據(jù)文件集文件1傳送給存儲(chǔ)介質(zhì)220之前無(wú)效信息被輸入給控制器260,那么,控制器260無(wú)效數(shù)據(jù)文件集文件1。具體地說(shuō),控制器260更新與文件數(shù)據(jù)集文件1相關(guān)的映射表261的寫(xiě)狀態(tài)信息WS1以示出文件數(shù)據(jù)集文件1是無(wú)效的。在更新之后,控制器260然后可以通過(guò)參考與文件數(shù)據(jù)集文件1相關(guān)的映射表261的寫(xiě)狀態(tài)信息WS1確定存儲(chǔ)在緩存器240中的數(shù)據(jù)是否是無(wú)效的。如圖6C所示,由于寫(xiě)狀態(tài)信息WS1的“X”狀態(tài),所以,文件數(shù)據(jù)集文件1不被傳送給存儲(chǔ)介質(zhì)220。因此,當(dāng)存儲(chǔ)介質(zhì)220空閑時(shí),可以防止無(wú)效數(shù)據(jù)的傳送。被無(wú)效數(shù)據(jù)占據(jù)的緩存器240的空間可以在后續(xù)的寫(xiě)操作中用于存儲(chǔ)新的數(shù)據(jù)。
盡管無(wú)效數(shù)據(jù)已經(jīng)被寫(xiě)入存儲(chǔ)介質(zhì)220中,與存儲(chǔ)在存儲(chǔ)介質(zhì)220中的無(wú)效數(shù)據(jù)相關(guān)的文件不受所存儲(chǔ)無(wú)效數(shù)據(jù)的影響。此外,控制器260可以將無(wú)效數(shù)據(jù)有選擇地傳送給存儲(chǔ)介質(zhì)220。即,雖然存儲(chǔ)在緩存器240中的數(shù)據(jù)被不寫(xiě)命令無(wú)效,但控制器260可以將所述無(wú)效數(shù)據(jù)有選擇地傳送給存儲(chǔ)介質(zhì)220。
上述存儲(chǔ)系統(tǒng)200通過(guò)參照包括表示存儲(chǔ)在緩存器240中的數(shù)據(jù)是無(wú)效還是有效的寫(xiě)狀態(tài)信息的所述映射表控制緩存器240和存儲(chǔ)介質(zhì)220之間的數(shù)據(jù)傳送操作。如上所述,數(shù)據(jù)的寫(xiě)狀態(tài)信息可以從外部源提供給存儲(chǔ)系統(tǒng)200。另外,所述數(shù)據(jù)可以是由外部源讀出和修改的新數(shù)據(jù)。將理解根據(jù)本發(fā)明各實(shí)施例的存儲(chǔ)系統(tǒng)不僅可以被用在計(jì)算系統(tǒng)中,也可以被用在硬盤(pán)上或在諸如MP3播放器或便攜電子設(shè)備的閃存中存儲(chǔ)數(shù)據(jù)的設(shè)備。通過(guò)減少?gòu)木彺嫫鞯酱鎯?chǔ)介質(zhì)的無(wú)效數(shù)據(jù)的傳送,能夠改善存儲(chǔ)系統(tǒng)的寫(xiě)性能和/或壽命。另外,可以減少與不必要寫(xiě)操作相關(guān)的功耗。
對(duì)于本領(lǐng)域普通技術(shù)人員很明顯,可以對(duì)本發(fā)明做出各種修改和變化。即,如果所述修改和變化落入所附權(quán)利要求及其等效物的范圍之內(nèi),本發(fā)明將試圖覆蓋所有這些修改和變化。
權(quán)利要求
1.一種存儲(chǔ)系統(tǒng),包括被配置成存儲(chǔ)數(shù)據(jù)的存儲(chǔ)介質(zhì);被配置成緩存要被寫(xiě)入所述存儲(chǔ)介質(zhì)的數(shù)據(jù)的緩存器;和被配置成響應(yīng)從外部源接收的無(wú)效指示符而將緩存數(shù)據(jù)有選擇地傳送給所述存儲(chǔ)介質(zhì)的控制器。
2.如權(quán)利要求1所述的存儲(chǔ)系統(tǒng),其中,所述無(wú)效指示符包括不寫(xiě)信息。
3.如權(quán)利要求2所述的存儲(chǔ)系統(tǒng),其中,所述不寫(xiě)信息表示所選擇的緩存數(shù)據(jù)對(duì)應(yīng)于被刪除的文件數(shù)據(jù)。
4.如權(quán)利要求1所述的存儲(chǔ)系統(tǒng),其中,所述控制器被配置成響應(yīng)所述無(wú)效指示符無(wú)效所選擇的緩存數(shù)據(jù)。
5.如權(quán)利要求4所述的存儲(chǔ)系統(tǒng),其中,所述控制器被配置成響應(yīng)所述無(wú)效指示符而存儲(chǔ)表示被無(wú)效緩存數(shù)據(jù)的無(wú)效的寫(xiě)狀態(tài)信息并響應(yīng)所存儲(chǔ)的寫(xiě)狀態(tài)信息防止被無(wú)效的緩存數(shù)據(jù)從緩存器傳送給存儲(chǔ)介質(zhì)。
6.如權(quán)利要求5所述的存儲(chǔ)系統(tǒng),所述控制器被配置成響應(yīng)緩存器中的存儲(chǔ)限制和/或存儲(chǔ)介質(zhì)的空閑狀態(tài)而觸發(fā)轉(zhuǎn)錄操作,其中,在前述將無(wú)效緩存數(shù)據(jù)從緩存器傳送給存儲(chǔ)介質(zhì)的同時(shí),所述轉(zhuǎn)錄操作包括將有效緩存數(shù)據(jù)從緩存器傳送給存儲(chǔ)介質(zhì)控制器。
7.如權(quán)利要求4所述的存儲(chǔ)系統(tǒng),其中,所述控制器還被配置成響應(yīng)無(wú)效緩存數(shù)據(jù)的無(wú)效而使能由無(wú)效緩存數(shù)據(jù)占據(jù)的緩存器中的存儲(chǔ)空間再使用。
8.如權(quán)利要求1所述的存儲(chǔ)系統(tǒng),其中,所述緩存器包括非易失和/或易失半導(dǎo)體存儲(chǔ)器,和其中,存儲(chǔ)介質(zhì)包括非易失半導(dǎo)體存儲(chǔ)器和/或磁存儲(chǔ)介質(zhì)。
9.一種計(jì)算系統(tǒng),包括存儲(chǔ)系統(tǒng),其包括被配置成存儲(chǔ)數(shù)據(jù)的存儲(chǔ)介質(zhì)、被配置成緩存要被寫(xiě)入存儲(chǔ)介質(zhì)中的數(shù)據(jù)的緩存器和被配置成響應(yīng)無(wú)效指示符將緩存數(shù)據(jù)有選擇地傳送給存儲(chǔ)介質(zhì)的控制器;和主機(jī),被配置成響應(yīng)在該主機(jī)處的數(shù)據(jù)修改操作而向緩存器傳送數(shù)據(jù)并將無(wú)效指示符提供給存儲(chǔ)系統(tǒng)。
10.如權(quán)利要求9所述的計(jì)算系統(tǒng),其中,所述無(wú)效指示符包括不寫(xiě)命令。
11.如權(quán)利要求10所述的計(jì)算系統(tǒng),其中,主機(jī)被配置成響應(yīng)文件數(shù)據(jù)的刪除而產(chǎn)生不寫(xiě)命令。
12.如權(quán)利要求9所述的計(jì)算系統(tǒng),其中,所述控制器被配置成響應(yīng)無(wú)效指示符而無(wú)效所選擇的緩存數(shù)據(jù)。
13.如權(quán)利要求12所述的計(jì)算系統(tǒng),其中,所述控制器被配置成響應(yīng)無(wú)效指示符而存儲(chǔ)表示無(wú)效緩存數(shù)據(jù)的無(wú)效的寫(xiě)狀態(tài)信息并響應(yīng)所存儲(chǔ)的寫(xiě)狀態(tài)信息而防止將無(wú)效緩存數(shù)據(jù)從緩存器傳送給存儲(chǔ)介質(zhì)。
14.如權(quán)利要求13所述的計(jì)算系統(tǒng),其中,所述控制器被配置成響應(yīng)緩存器中的存儲(chǔ)限制和/或存儲(chǔ)介質(zhì)的空閑狀態(tài)而觸發(fā)轉(zhuǎn)錄操作,其中,在前述將無(wú)效緩存數(shù)據(jù)從緩存器傳送給存儲(chǔ)介質(zhì)的同時(shí),轉(zhuǎn)錄操作包括將有效緩存數(shù)據(jù)從緩存器傳送給存儲(chǔ)介質(zhì)控制器。
15.如權(quán)利要求12所述的計(jì)算系統(tǒng),其中,所述控制器還被配置成響應(yīng)無(wú)效緩存數(shù)據(jù)的無(wú)效而使能由無(wú)效緩存數(shù)據(jù)占據(jù)的緩存器中的存儲(chǔ)空間再使用。
16.如權(quán)利要求9所述的計(jì)算系統(tǒng),其中,所述緩存器包括非易失和/或易失半導(dǎo)體存儲(chǔ)器,和其中,所述存儲(chǔ)介質(zhì)包括非易失半導(dǎo)體存儲(chǔ)器和磁存儲(chǔ)介質(zhì)。
17.一種操作包括存儲(chǔ)介質(zhì)和緩存器的存儲(chǔ)系統(tǒng)的方法,該緩存器被配置成存儲(chǔ)要被寫(xiě)入所述存儲(chǔ)介質(zhì)中的數(shù)據(jù),該方法包括“從外部源接收與存儲(chǔ)在緩存器中的數(shù)據(jù)相關(guān)的無(wú)效指示符;和響應(yīng)所接收的無(wú)效指示符,將存儲(chǔ)在緩存器中的數(shù)據(jù)有選擇地傳送給存儲(chǔ)介質(zhì)。
18.如權(quán)利要求17所述的方法,其中,所述無(wú)效指示符包括不寫(xiě)命令。
19.如權(quán)利要求18所述的方法,其中,所述不寫(xiě)命令表示所選擇的存儲(chǔ)在緩存器中的數(shù)據(jù)對(duì)應(yīng)于被刪除的文件數(shù)據(jù)。
20.如權(quán)利要求17所述的方法,其中,響應(yīng)所接收的無(wú)效指示符將存儲(chǔ)在緩存器中的數(shù)據(jù)有選擇地傳送給存儲(chǔ)介質(zhì)包括響應(yīng)無(wú)效指示符而無(wú)效所選擇的存儲(chǔ)在緩存器中的數(shù)據(jù);防止將無(wú)效數(shù)據(jù)從緩存器傳送給存儲(chǔ)介質(zhì)。
21.如權(quán)利要求20所述的方法,其中,響應(yīng)無(wú)效指示符而無(wú)效所選擇的存儲(chǔ)在緩存器中的數(shù)據(jù)包括響應(yīng)無(wú)效指示符而存儲(chǔ)表示無(wú)效數(shù)據(jù)的無(wú)效的寫(xiě)狀態(tài)信息;和其中,防止無(wú)效數(shù)據(jù)從緩存器傳送給存儲(chǔ)介質(zhì)包括響應(yīng)所存儲(chǔ)的寫(xiě)狀態(tài)信息防止將數(shù)據(jù)從緩存器傳送給存儲(chǔ)介質(zhì)。
22.如權(quán)利要求20所述的方法,還包括響應(yīng)緩存器中的存儲(chǔ)限制和/或存儲(chǔ)介質(zhì)的空閑狀態(tài)執(zhí)行轉(zhuǎn)錄操作,其中,在前述將無(wú)效數(shù)據(jù)從緩存器傳送給存儲(chǔ)介質(zhì)的同時(shí),所述轉(zhuǎn)錄操作包括將有效數(shù)據(jù)從緩存器傳送給存儲(chǔ)介質(zhì)控制器。
23.如權(quán)利要求20所述的方法,還包括響應(yīng)無(wú)效數(shù)據(jù)的無(wú)效而使能由無(wú)效數(shù)據(jù)占據(jù)的緩存器中的存儲(chǔ)空間再使用。
24.如權(quán)利要求17所述的方法,其中,所述緩存器包括非易失和/或易失半導(dǎo)體存儲(chǔ)器,和其中,所述存儲(chǔ)介質(zhì)包括非易失半導(dǎo)體存儲(chǔ)器和/或磁存儲(chǔ)介質(zhì)。
25.一種用于控制存儲(chǔ)在存儲(chǔ)介質(zhì)中的數(shù)據(jù)的系統(tǒng),所述系統(tǒng)包括緩存器,被配置成緩存要被寫(xiě)入存儲(chǔ)介質(zhì)中的數(shù)據(jù);和控制器,被配置成響應(yīng)從外部源接收的無(wú)效指示符將緩存數(shù)據(jù)有選擇地傳送給存儲(chǔ)介質(zhì)。
26.如權(quán)利要求25所述的系統(tǒng),其中,所述無(wú)效指示符包括不寫(xiě)信息。
27.如權(quán)利要求26所述的系統(tǒng),其中,所述不寫(xiě)信息表示所選擇的緩存數(shù)據(jù)對(duì)應(yīng)于被刪除的文件。
28.如權(quán)利要求25所述的系統(tǒng),其中,所述控制器被配置成響應(yīng)無(wú)效指示符而無(wú)效所選擇的緩存數(shù)據(jù)。
29.如權(quán)利要求28所述的系統(tǒng),其中,所述控制器被配置成響應(yīng)無(wú)效指示符而存儲(chǔ)表示無(wú)效緩存數(shù)據(jù)的無(wú)效的寫(xiě)狀態(tài)信息并響應(yīng)所存儲(chǔ)的無(wú)效狀態(tài)信息而防止將無(wú)效緩存數(shù)據(jù)從緩存器傳送給存儲(chǔ)介質(zhì)。
30.如權(quán)利要求29所述的系統(tǒng),其中,所述控制器被配置成響應(yīng)緩存器中的存儲(chǔ)限制和/或存儲(chǔ)介質(zhì)的空閑狀態(tài)觸發(fā)轉(zhuǎn)錄操作,其中,在前述將無(wú)效緩存數(shù)據(jù)從緩存器傳送給存儲(chǔ)介質(zhì)的同時(shí),所述轉(zhuǎn)錄操作包括將有效緩存數(shù)據(jù)從緩存器傳送給存儲(chǔ)介質(zhì)控制器。
31.如權(quán)利要求28所述的系統(tǒng),其中,所述控制器還被配置成響應(yīng)無(wú)效緩存數(shù)據(jù)的無(wú)效而使能由無(wú)效緩存數(shù)據(jù)占據(jù)的緩存器中的存儲(chǔ)空間再使用。
32.如權(quán)利要求25所述的系統(tǒng),其中,所述緩存器包括非易失和/或易失半導(dǎo)體存儲(chǔ)器。
33.如權(quán)利要求25所述的系統(tǒng),其中,所述緩存器包括至少兩個(gè)具有不同讀/寫(xiě)功能的易失存儲(chǔ)器。
全文摘要
一種存儲(chǔ)系統(tǒng)包括被配置成存儲(chǔ)數(shù)據(jù)的存儲(chǔ)介質(zhì)和被配置成緩存要被寫(xiě)入存儲(chǔ)介質(zhì)中的數(shù)據(jù)的緩存器。存儲(chǔ)系統(tǒng)還包括被配置成響應(yīng)從外部源接收的無(wú)效指示符而將緩存數(shù)據(jù)有選擇地傳送給存儲(chǔ)介質(zhì)的控制器。例如,無(wú)效指示符可以包括從外部源接收的不寫(xiě)信息,例如表示所選擇的緩存數(shù)據(jù)對(duì)應(yīng)于被刪除的文件數(shù)據(jù)的信息。
文檔編號(hào)G11C7/00GK1821977SQ20051013161
公開(kāi)日2006年8月23日 申請(qǐng)日期2005年12月15日 優(yōu)先權(quán)日2004年12月21日
發(fā)明者樸贊益, 閔相烈, 鄭泰圣, 鞠鉉鎬 申請(qǐng)人:三星電子株式會(huì)社