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

實(shí)體儲(chǔ)存對(duì)照表維護(hù)方法以及使用該方法的裝置與流程

文檔序號(hào):11829477閱讀:215來源:國(guó)知局
本發(fā)明關(guān)連于一種快閃存儲(chǔ)器裝置,特別是一種實(shí)體儲(chǔ)存對(duì)照表產(chǎn)生方法以及使用該方法的裝置。
背景技術(shù)
::快閃存儲(chǔ)器裝置通常分為NOR快閃裝置與NAND快閃裝置。NOR快閃裝置為隨機(jī)存取裝置,而可于地址引腳上提供任何的地址,用以存取NOR快閃裝置的主裝置(host),并及時(shí)地由NOR快閃裝置的數(shù)據(jù)引腳上獲得儲(chǔ)存于該地址上的數(shù)據(jù)。相反地,NAND快閃裝置并非隨機(jī)存取,而是序列存取。NAND快閃裝置無(wú)法像NOR快閃裝置一樣,可以存取任何隨機(jī)地址,主裝置反而需要寫入序列的字節(jié)(bytes)的值到NAND快閃裝置中,用以定義請(qǐng)求命令(command)的類型(如,讀取、寫入、抹除等),以及用在此命令上的地址。地址可指向一個(gè)頁(yè)面(在快閃存儲(chǔ)器中的一個(gè)寫入作業(yè)的最小數(shù)據(jù)塊)或一個(gè)區(qū)塊(在快閃存儲(chǔ)器中的一個(gè)抹除作業(yè)的最小數(shù)據(jù)塊)。實(shí)際上,為了提升寫入的速度,一段連續(xù)邏輯位置的數(shù)據(jù)可能被散布放置于數(shù)個(gè)實(shí)體的儲(chǔ)存單元中,并且使用實(shí)體儲(chǔ)存對(duì)應(yīng)表來指出被寫入到實(shí)體儲(chǔ)存單元中的何處。本發(fā)明提出一種實(shí)體儲(chǔ)存對(duì)應(yīng)表產(chǎn)生方法,用以提升重建速度,以及使用該方法的裝置。技術(shù)實(shí)現(xiàn)要素:本發(fā)明的實(shí)施例提出一種實(shí)體儲(chǔ)存對(duì)照表維護(hù)方法,由處理單元執(zhí)行,至少包含下列步驟。寫入超過指定數(shù)目的邏輯區(qū)塊的數(shù)據(jù)至儲(chǔ)存單元后,依據(jù)未儲(chǔ)存群組隊(duì)列中的群組編號(hào)驅(qū)動(dòng)存取接口,用以將儲(chǔ)存于動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器中的實(shí)體儲(chǔ)存對(duì)照表中的相應(yīng)群組儲(chǔ)存至儲(chǔ)存單元中的區(qū)塊。接著,更新動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器中的群組對(duì)照表,用以指出實(shí)體儲(chǔ)存對(duì)照表中的群組的最新數(shù)據(jù)實(shí)際存放于儲(chǔ)存單元中的哪個(gè)位置,以及將群組編號(hào)從未儲(chǔ)存群組隊(duì)列移 除。本發(fā)明的實(shí)施例提出一種實(shí)體儲(chǔ)存對(duì)照表維護(hù)裝置,至少包含存取接口與處理單元。存取接口耦接于儲(chǔ)存單元。處理單元耦接于上述存取接口,于寫入超過指定數(shù)目的邏輯區(qū)塊的數(shù)據(jù)至儲(chǔ)存單元后,依據(jù)未儲(chǔ)存群組隊(duì)列中的群組編號(hào)驅(qū)動(dòng)存取接口,用以將儲(chǔ)存于動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器中的實(shí)體儲(chǔ)存對(duì)照表中的相應(yīng)群組儲(chǔ)存至儲(chǔ)存單元中的區(qū)塊。接著,處理單元更新動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器中的群組對(duì)照表,用以指出實(shí)體儲(chǔ)存對(duì)照表中的群組的最新數(shù)據(jù)實(shí)際存放于儲(chǔ)存單元中的哪個(gè)位置,以及將群組編號(hào)從未儲(chǔ)存群組隊(duì)列移除。附圖說明圖1是依據(jù)本發(fā)明實(shí)施例的快閃存儲(chǔ)器的系統(tǒng)架構(gòu)示意圖。圖2是依據(jù)本發(fā)明實(shí)施例的快閃存儲(chǔ)器中的儲(chǔ)存單元示意圖。圖3是依據(jù)本發(fā)明實(shí)施例的實(shí)體儲(chǔ)存對(duì)照示意圖。圖4是依據(jù)本發(fā)明實(shí)施例的實(shí)體儲(chǔ)存對(duì)照表的切分示意圖。圖5是依據(jù)本發(fā)明實(shí)施例的更新實(shí)體儲(chǔ)存對(duì)照表的狀態(tài)圖。圖6是依據(jù)本發(fā)明實(shí)施例的執(zhí)行于數(shù)據(jù)寫入狀態(tài)中的方法流程圖。圖7是依據(jù)本發(fā)明實(shí)施例的執(zhí)行于實(shí)體儲(chǔ)存對(duì)照表寫入狀態(tài)中的方法流程圖。圖8是依據(jù)本發(fā)明實(shí)施例的未儲(chǔ)存群組隊(duì)列示意圖。圖9是依據(jù)本發(fā)明實(shí)施例的群組對(duì)照表示意圖。圖10是依據(jù)本發(fā)明實(shí)施例的執(zhí)行于實(shí)體儲(chǔ)存對(duì)照表寫入狀態(tài)中的方法流程圖。圖11是依據(jù)本發(fā)明實(shí)施例的群組及群組對(duì)照表儲(chǔ)存示意圖。圖12是依據(jù)本發(fā)明實(shí)施例的重建實(shí)體儲(chǔ)存對(duì)照表的方法流程圖?!靖綀D標(biāo)記說明】10系統(tǒng);110處理單元;120動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器;150存取接口;160主裝置;170存取接口;180儲(chǔ)存單元;210存儲(chǔ)器單元陣列;220行解碼單元;230列編碼單元;240地址單元;250數(shù)據(jù)緩存器;300實(shí)體儲(chǔ)存對(duì)照表;310實(shí)體位置信息;310a區(qū)塊編號(hào);310b單元編號(hào);400_0~400_n群組;510閑置狀態(tài);530數(shù)據(jù)寫入狀態(tài);550實(shí)體儲(chǔ)存對(duì)照表寫入狀態(tài);570群組對(duì)照表寫入狀態(tài);S611~S671方法步驟;S711~S731方法步驟;800未儲(chǔ)存群組隊(duì)列;900群組對(duì)照表;900_0~900_n儲(chǔ)存格;S1011~S1041方法步驟;1100儲(chǔ)存單元中存放實(shí)體儲(chǔ)存對(duì)照表的區(qū)塊;S1211~S1241方法步驟。具體實(shí)施方式以下說明是為完成發(fā)明的較佳實(shí)現(xiàn)方式,其目的在于描述本發(fā)明的基本精神,但并不用以限定本發(fā)明。實(shí)際的
發(fā)明內(nèi)容必須參考之后的權(quán)利要求范圍。必須了解的是,使用于本說明書中的“包含”、“包括”等詞,是用以表示存在特定的技術(shù)特征、數(shù)值、方法步驟、作業(yè)處理、元件以及/或組件,但并不排除可加上更多的技術(shù)特征、數(shù)值、方法步驟、作業(yè)處理、元件、組件,或以上的任意組合。于權(quán)利要求中使用如“第一”、“第二”、“第三”等詞是用來修飾權(quán)利要求中的元件,并非用來表示之間具有優(yōu)先權(quán)順序,先行關(guān)系,或者是一個(gè)元件先于另一個(gè)元件,或者是執(zhí)行方法步驟時(shí)的時(shí)間先后順序,僅用來區(qū)別具有相同名字的元件。圖1是依據(jù)本發(fā)明實(shí)施例的快閃存儲(chǔ)器的系統(tǒng)架構(gòu)示意圖??扉W存儲(chǔ)器的系統(tǒng)架構(gòu)10中包含處理單元110,用以寫入數(shù)據(jù)到儲(chǔ)存單元180中的指定地址,以及從儲(chǔ)存單元180中的指定地址讀取數(shù)據(jù)。詳細(xì)來說,處理單元110通過存取接口170寫入數(shù)據(jù)到儲(chǔ)存單元180中的指定地址,以及從儲(chǔ)存單元180中的 指定地址讀取數(shù)據(jù)。系統(tǒng)架構(gòu)10使用數(shù)個(gè)電子信號(hào)來協(xié)調(diào)處理單元110與儲(chǔ)存單元180間的數(shù)據(jù)與命令傳遞,包含數(shù)據(jù)線(dataline)、時(shí)脈信號(hào)(clocksignal)與控制信號(hào)(controlsignal)。數(shù)據(jù)線可用以傳遞命令、地址、讀出及寫入的數(shù)據(jù);控制信號(hào)線可用以傳遞芯片致能(chipenable,CE)、地址提取致能(addresslatchenable,ALE)、命令提取致能(commandlatchenable,CLE)、寫入致能(writeenable,WE)等控制信號(hào)。存取接口170可采用雙倍數(shù)據(jù)率(doubledatarate,DDR)通訊協(xié)定與儲(chǔ)存單元180溝通,例如,開放NAND快閃(openNANDflashinterface,ONFI)、雙倍數(shù)據(jù)率開關(guān)(DDRtoggle)或其他接口。處理單元110另可使用存取接口150通過指定通訊協(xié)定與主裝置160進(jìn)行溝通,例如,通用序列總線(universalserialbus,USB)、先進(jìn)技術(shù)附著(advancedtechnologyattachment,ATA)、序列先進(jìn)技術(shù)附著(serialadvancedtechnologyattachment,SATA)、快速周邊元件互聯(lián)(peripheralcomponentinterconnectexpress,PCI-E)或其他接口。圖2是依據(jù)本發(fā)明實(shí)施例的快閃存儲(chǔ)器中的儲(chǔ)存單元示意圖。儲(chǔ)存單元180可包含由MxN個(gè)存儲(chǔ)器單元(memorycells)組成的陣列(array)210,而每一個(gè)存儲(chǔ)器單元儲(chǔ)存至少一個(gè)比特(bit)的信息??扉W存儲(chǔ)器可以是NAND型快閃存儲(chǔ)器,或其他種類的快閃存儲(chǔ)器。為了正確存取信息,行解碼單元220用以選擇存儲(chǔ)器單元陣列210中指定的行,而列編碼單元230用以選擇指定行中一定數(shù)量的字節(jié)的數(shù)據(jù)作為輸出。地址單元240提供行信息給行解碼器220,其中定義了選擇存儲(chǔ)器單元陣列210中的那些行。相似地,列解碼器230則根據(jù)地址單元240提供的列信息,選擇存儲(chǔ)器單元陣列210的指定行中一定數(shù)量的列進(jìn)行讀取或?qū)懭氩僮?。行可稱為為字符線(wordline),列可稱為比特線(bitline)。數(shù)據(jù)緩存器(databuffer)250可儲(chǔ)存從存儲(chǔ)器單元陣列210讀取出的數(shù)據(jù),或欲寫入存儲(chǔ)器單元陣列210中的數(shù)據(jù)。存儲(chǔ)器單元可為單層式單元(single-levelcells,SLCs)、多層式單元(multi-levelcells,MLCs)或三層式單元(triple-levelcells,TLCs)。主裝置160可通過存取接口150提供邏輯區(qū)塊地址(LBA,LogicalBlockAddress)給處理單元110,用以指示寫入或讀取特定區(qū)域的數(shù)據(jù)。然而,為為最佳化數(shù)據(jù)寫入的效率,存取接口170將一段具有連續(xù)邏輯區(qū)塊地址的數(shù)據(jù)分散地?cái)[放在儲(chǔ)存單元180中的不同實(shí)體區(qū)域。因此,需要于動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器 中儲(chǔ)存一個(gè)實(shí)體儲(chǔ)存對(duì)照表(storagemappingtable,又稱為H2FHost-to-Flash表),用以指出每個(gè)邏輯區(qū)塊地址的數(shù)據(jù)實(shí)際儲(chǔ)存于儲(chǔ)存單元180中的哪個(gè)位置。圖3是依據(jù)本發(fā)明實(shí)施例的實(shí)體儲(chǔ)存對(duì)照示意圖。實(shí)體儲(chǔ)存對(duì)照表300依照邏輯儲(chǔ)存地址的順序,儲(chǔ)存每一邏輯儲(chǔ)存地址的數(shù)據(jù)實(shí)際儲(chǔ)存于儲(chǔ)存單元180中的哪個(gè)實(shí)體位置的信息。邏輯儲(chǔ)存地址可以邏輯區(qū)塊地址(LBA,LogicalBlockAddress)表示,每一個(gè)邏輯區(qū)塊地址對(duì)應(yīng)到一個(gè)固定大小的實(shí)體儲(chǔ)存空間,例如256K、512K或1024K字節(jié)(Bytes)。例如,實(shí)體儲(chǔ)存對(duì)照表300依序儲(chǔ)存由LBA0至LBA65535的實(shí)體位置信息。固定數(shù)目的連續(xù)邏輯區(qū)塊的實(shí)體位置信息310可以4個(gè)字節(jié)表示,其中的2個(gè)字節(jié)310a記錄區(qū)塊編號(hào)(blocknumber),而另2個(gè)字節(jié)310b記錄單元編號(hào)(unitnumber)。例如,此4個(gè)字節(jié)可指示連續(xù)八個(gè)實(shí)體區(qū)塊的起始區(qū)塊編號(hào)以及起始單元編號(hào),而這八個(gè)實(shí)體區(qū)塊又可統(tǒng)稱為一個(gè)主頁(yè)面(hostpage)。舉例來說,儲(chǔ)存對(duì)照表300所需要的空間從64M到1G字節(jié)不等。由于NAND快閃裝置并非隨機(jī)存取裝置,為了提升寫入的效率,主裝置160需要提供至少一個(gè)邏輯區(qū)塊的連續(xù)性數(shù)據(jù),例如512字節(jié)的數(shù)據(jù),使得儲(chǔ)存裝置180可以有效率的方式擺放到儲(chǔ)存單元180。當(dāng)主裝置160寫入數(shù)據(jù)到不同的邏輯區(qū)塊時(shí),例如寫入邏輯區(qū)塊地址LBA0、LBA1000、LBA4500、LBA10000,儲(chǔ)存于動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器180中的實(shí)體儲(chǔ)存對(duì)照表300中的相應(yīng)實(shí)體位置信息也要隨著更新。為了避免動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器180中儲(chǔ)存的實(shí)體儲(chǔ)存對(duì)照表300因斷電而消失,需要一種方法有效率地將實(shí)體儲(chǔ)存對(duì)照表300中已更新的實(shí)體位置信息寫入到儲(chǔ)存單元180中。如果每次主裝置160寫入一個(gè)邏輯區(qū)塊的數(shù)據(jù)(例如512K字節(jié))就相應(yīng)地更新儲(chǔ)存單元180中的實(shí)體位置信息(例如2字節(jié)),將使得存取接口170因頻繁寫入而不具效率。所以,于一些實(shí)施例中,可將實(shí)體儲(chǔ)存對(duì)照表300切分成n個(gè)群組(groups),做為更新至儲(chǔ)存單元180的最小單位。圖4是依據(jù)本發(fā)明實(shí)施例的實(shí)體儲(chǔ)存對(duì)照表的切分示意圖。實(shí)體儲(chǔ)存對(duì)照表300分為群組400_0至400_n,每一個(gè)群組包含4096個(gè)邏輯區(qū)塊的實(shí)體位置信息(例如2K字節(jié))。圖5是依據(jù)本發(fā)明實(shí)施例的更新實(shí)體儲(chǔ)存對(duì)照表的狀態(tài)圖。處理單元110依據(jù)不同的觸發(fā)事件來進(jìn)入不同的狀態(tài),并執(zhí)行每個(gè)狀態(tài)中所需要的操作。處理單元110初始處于閑置狀態(tài)(idlestate)510,并且在經(jīng)由存取接口150接收到 主裝置160所發(fā)出的寫入命令后進(jìn)入數(shù)據(jù)寫入狀態(tài)(dataprogrammingstate)530。于數(shù)據(jù)寫入狀態(tài)中,處理單元110執(zhí)行如下所示的一連串的操作,用以將數(shù)據(jù)寫入儲(chǔ)存單元180并更新動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器180中儲(chǔ)存的實(shí)體儲(chǔ)存對(duì)照表300。圖6是依據(jù)本發(fā)明實(shí)施例的執(zhí)行于數(shù)據(jù)寫入狀態(tài)中的方法流程圖。處理單元110通過存取接口150取得一或多個(gè)邏輯區(qū)塊地址(LBA)以及待寫入的數(shù)據(jù)后(步驟S611),驅(qū)動(dòng)存取接口170將數(shù)據(jù)寫入到儲(chǔ)存單元180中的有效區(qū)塊(activeblock)中的單元(unit)(步驟S613)。有效區(qū)塊以及寫入單元分別以區(qū)塊編號(hào)及單元編號(hào)表示。接著,更新動(dòng)態(tài)存取存儲(chǔ)器180中儲(chǔ)存的實(shí)體儲(chǔ)存對(duì)照表300,用以更新取得的邏輯區(qū)塊地址的實(shí)體位置信息(步驟S615),以及更新未儲(chǔ)存群組隊(duì)列(unsavedgroupqueue)(步驟S617)。未儲(chǔ)存群組隊(duì)列可記錄于動(dòng)態(tài)存取存儲(chǔ)器180中,用以儲(chǔ)存實(shí)體儲(chǔ)存對(duì)照表300中的那些群組已經(jīng)更新但尚未寫入儲(chǔ)存單元180的信息。假設(shè),實(shí)體儲(chǔ)存對(duì)照表300的群組切分如圖4所示。處理單元110將邏輯區(qū)塊地址LBA0、LBA1000、LBA4500、LBA10000的數(shù)據(jù)寫入至儲(chǔ)存單元180,并據(jù)以更新動(dòng)態(tài)存取存儲(chǔ)器180中實(shí)體儲(chǔ)存對(duì)照表300的邏輯區(qū)塊地址LBA0、LBA1000、LBA4500、LBA10000的實(shí)體位置信息。邏輯區(qū)塊地址LBA0、LBA1000、LBA4500、LBA10000的實(shí)體位置信息分別屬于第0個(gè)、第0個(gè)、第1個(gè)及第2個(gè)群組。處理單元110會(huì)檢查未儲(chǔ)存群組隊(duì)列是否包含這些群組編號(hào),如果沒有,則將缺少的群組編號(hào)加入未儲(chǔ)存群組隊(duì)列。例如,當(dāng)未儲(chǔ)存群組隊(duì)列只包含第0個(gè)、第1個(gè)、第8個(gè)及第10個(gè)群組的編號(hào)時(shí),則將第2個(gè)群組的編號(hào)加入至未儲(chǔ)存群組隊(duì)列。接著,處理單元110判斷是否已寫入超過指定數(shù)目的邏輯區(qū)塊的數(shù)據(jù),例如7680個(gè)(步驟S631)。若是,進(jìn)入實(shí)體儲(chǔ)存對(duì)照表寫入狀態(tài)(Storage-mapping-tableProgrammingState)550(步驟S651);否則,回到閑置狀態(tài)(IdleState)510(步驟S671)。步驟S631的判斷可經(jīng)由檢查一個(gè)寫入計(jì)數(shù)器完成。此寫入計(jì)數(shù)器可在每寫入一個(gè)邏輯區(qū)塊的數(shù)據(jù)后加一,并且在每次執(zhí)行完實(shí)體儲(chǔ)存對(duì)照表寫入狀態(tài)550中的處理時(shí)重設(shè)為0。值得注意的是,經(jīng)由步驟S631的判斷,可于寫入指定數(shù)目的邏輯區(qū)塊的數(shù)據(jù)后再將更新過的群組寫入至儲(chǔ)存單元180,用以避免如上所述的因頻繁寫入更新后的實(shí)體位置信息而造成存取接口170的使用不具效率的問題。圖7是依據(jù)本發(fā)明實(shí)施例的執(zhí)行于實(shí)體儲(chǔ)存對(duì)照表寫入狀態(tài)中的方法流程 圖。此方法流程反復(fù)執(zhí)行一個(gè)回圈,直到未儲(chǔ)存群組隊(duì)列中所指示的實(shí)體儲(chǔ)存對(duì)照表300的所有群組都寫入儲(chǔ)存單元180為止(步驟S711至S721)。圖8是依據(jù)本發(fā)明實(shí)施例的未儲(chǔ)存群組隊(duì)列示意圖。未儲(chǔ)存群組隊(duì)列800為一個(gè)陣列(array),包含多個(gè)儲(chǔ)存格(cells),每一儲(chǔ)存格存放儲(chǔ)存實(shí)體儲(chǔ)存對(duì)照表300中的特定群組已經(jīng)更新但尚未寫入儲(chǔ)存單元180的信息。例如,“G1”代表實(shí)體儲(chǔ)存對(duì)照表300中的第0個(gè)群組;“G8”代表實(shí)體儲(chǔ)存對(duì)照表300中的第8個(gè)群組,依此類推。于每一回合的執(zhí)行中,處理單元110從未儲(chǔ)存群組隊(duì)列800中取得一個(gè)群組編號(hào)(步驟S711),以及驅(qū)動(dòng)存取接口170將實(shí)體儲(chǔ)存對(duì)照表300中的相應(yīng)群組寫入儲(chǔ)存單元(步驟S713)。于此須注意的是,儲(chǔ)存單元180會(huì)設(shè)置一或多個(gè)指定的區(qū)塊來儲(chǔ)存實(shí)體儲(chǔ)存對(duì)照表300的數(shù)據(jù),例如,區(qū)塊10至17,并且存取接口170會(huì)將此群組的數(shù)據(jù)寫入至一個(gè)可用的單元(spareunit)上,而不會(huì)覆寫掉以前儲(chǔ)存的數(shù)據(jù)。這些群組可依寫入時(shí)間的先后依序儲(chǔ)存。就算于數(shù)據(jù)寫入狀態(tài)530中僅更新此群組中的一個(gè)邏輯區(qū)塊的實(shí)體位置信息,處理單元110還是會(huì)將一整個(gè)群組中所有的實(shí)體位置信息寫入儲(chǔ)存單元180。接著,處理單元110更新儲(chǔ)存于動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器120中的群組對(duì)照表(groupmappingtable,又稱為G2FGroup-to-Flash表),用以指出實(shí)體儲(chǔ)存對(duì)照表300中的每個(gè)群組的最新數(shù)據(jù)實(shí)際存放于儲(chǔ)存單元180中的哪個(gè)位置(步驟S715),以及將此群組編號(hào)從未儲(chǔ)存群組隊(duì)列中移除(步驟S717)。圖9是依據(jù)本發(fā)明實(shí)施例的群組對(duì)照表示意圖。群組對(duì)照表900為一個(gè)陣列,依照群組編號(hào)的順序使用多個(gè)儲(chǔ)存格900_0至900_n來儲(chǔ)存每一群組的最新數(shù)據(jù)實(shí)際儲(chǔ)存于儲(chǔ)存單元180中的哪個(gè)實(shí)體位置的信息。例如,群組對(duì)照900依序儲(chǔ)存從群組G0至Gn的實(shí)體位置信息。每一個(gè)儲(chǔ)存格使用2個(gè)字節(jié)記錄一個(gè)單元編號(hào)。例如,群組對(duì)照900中指出群組G0、G1及G2的最新數(shù)據(jù)實(shí)際存放在第100、200及300個(gè)單元上。當(dāng)一個(gè)群組所對(duì)應(yīng)到的所有邏輯區(qū)塊還沒有數(shù)據(jù)存放于儲(chǔ)存單元180,相應(yīng)的儲(chǔ)存格會(huì)儲(chǔ)存空值(nullvalue),空值可設(shè)定為“0xFF”。例如,圖9中以斜線表示的儲(chǔ)存格900_3儲(chǔ)存空值,表示群組G3所對(duì)應(yīng)到的所有邏輯區(qū)塊都還沒有數(shù)據(jù)存放于儲(chǔ)存單元180。接著,處理單元110判斷是否已寫入所有群組的數(shù)據(jù)(步驟S721),若是,回到閑置狀態(tài)510;否則,回到步驟S711,用以處理下一個(gè)未寫入的群組。于步驟S721中,當(dāng)處理單元110發(fā)現(xiàn)未儲(chǔ)存 群組隊(duì)列為一個(gè)空隊(duì)列時(shí),則判斷已寫入所有群組的數(shù)據(jù)。然而,未寫入的群組越多則占用越多時(shí)間將動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器120中的數(shù)據(jù)儲(chǔ)存至儲(chǔ)存單元180。若處理單元110通過存取接口150由主裝置160接收到讀取或?qū)懭朊?,但卻礙于正在寫入大量的群組數(shù)據(jù)至儲(chǔ)存單元180而無(wú)法處理接收的命令,可能會(huì)造成接收到的讀取或?qū)懭朊钣鈺r(shí)無(wú)時(shí)處理。在另一些實(shí)施例中,處理單元110可限制群組數(shù)據(jù)的寫入操作不超過一段既定的時(shí)間,用以避免如上所述的問題。圖10是依據(jù)本發(fā)明實(shí)施例的執(zhí)行于實(shí)體儲(chǔ)存對(duì)照表寫入狀態(tài)中的方法流程圖。為了讓說明書簡(jiǎn)潔易懂,步驟S1011至S1017、S1031以及S1041的詳細(xì)內(nèi)容可分別參考圖7中步驟S711至S717、S721以及S731的說明。處理單元110可于進(jìn)入實(shí)體儲(chǔ)存對(duì)照表寫入狀態(tài)550時(shí),啟動(dòng)一個(gè)計(jì)時(shí)器(timer),而此計(jì)時(shí)器會(huì)在一段時(shí)間后逾時(shí)(expired),例如35ms(milliseconds)。每回合的群組數(shù)據(jù)寫入后(步驟S1011至S1017),處理單元110更判斷是否超過既定的時(shí)間(步驟S1021)。若是,不管有沒有寫完所有的群組數(shù)據(jù),強(qiáng)制回到閑置狀態(tài)(步驟S1041);否則,繼續(xù)進(jìn)行步驟S1031的判斷。于步驟S1021中,當(dāng)處理單元110發(fā)現(xiàn)計(jì)時(shí)器已逾時(shí),則判斷超過既定的時(shí)間。參考回圖5,處理單元110處于閑置狀態(tài)(idlestate)510并且接收到即時(shí)待命(standbyimmediate)命令時(shí),進(jìn)入群組對(duì)照表寫入狀態(tài)(group-mapping-tableprogrammingstate)570。于群組對(duì)照表寫入狀態(tài)中,處理單元110驅(qū)動(dòng)存取接口170將動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器120中的群組對(duì)照表900寫入至儲(chǔ)存單元180。當(dāng)儲(chǔ)存單元180設(shè)置一或多個(gè)指定的區(qū)塊來儲(chǔ)存實(shí)體儲(chǔ)存對(duì)照表300的數(shù)據(jù)時(shí),存取接口170從指定區(qū)塊中取得一頁(yè)的可用空間來儲(chǔ)存群組對(duì)照表900。于此須注意的是,群組對(duì)照表900接續(xù)在已寫入群組的數(shù)據(jù)之后。圖11是依據(jù)本發(fā)明實(shí)施例的群組及群組對(duì)照表儲(chǔ)存示意圖。指定來儲(chǔ)存實(shí)體儲(chǔ)存對(duì)照表300的數(shù)據(jù)的區(qū)塊1100可包含多個(gè)頁(yè)面。假設(shè)一個(gè)頁(yè)面包含八個(gè)單元;且每個(gè)單元可存放一個(gè)群組的數(shù)據(jù):當(dāng)實(shí)體儲(chǔ)存對(duì)照表300的數(shù)據(jù)依群組寫入時(shí)間的先后順序擺放在第0至23個(gè)單元時(shí),群組對(duì)照表900儲(chǔ)存于包含第24至31個(gè)單元的頁(yè)面中。第32個(gè)單元之后的區(qū)域(斜線所示)為尚未被使用的儲(chǔ)存空間。當(dāng)快閃存儲(chǔ)裝置給電時(shí),處理單元110依據(jù)儲(chǔ)存單元180的群組對(duì)照表900以及群組數(shù)據(jù),于動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器120中重建如圖4所示的實(shí)體儲(chǔ)存對(duì)照 表300。圖12是依據(jù)本發(fā)明實(shí)施例的重建實(shí)體儲(chǔ)存對(duì)照表的方法流程圖。首先,處理單元驅(qū)動(dòng)存取接口170從儲(chǔ)存單元180中的指定區(qū)塊的最后一頁(yè)讀取群組對(duì)照表并儲(chǔ)存至動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器120(步驟S1211)。接著,反復(fù)執(zhí)行一個(gè)回圈(步驟S1213至S1241),用以依據(jù)群組對(duì)照表的內(nèi)容讀取每一群組的最新數(shù)據(jù)并儲(chǔ)存至動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器120。詳細(xì)來說,于每一回合中,處理單元110于取得上一個(gè)頁(yè)面的單元編號(hào)區(qū)間后,如單元編號(hào)16至23(步驟S1213),判斷是否群組對(duì)照表中所儲(chǔ)存的單元編號(hào)中的至少一者落入取得的單元編號(hào)區(qū)間(步驟S1221)。若是(步驟S1221中“是”的路徑),代表此頁(yè)面(范圍包含步驟S1213所取得的單元編號(hào)區(qū)間)中儲(chǔ)存至少一個(gè)群組的最新數(shù)據(jù),處理單元110驅(qū)動(dòng)存取接口170讀取此頁(yè)面的數(shù)據(jù)(步驟S1231),以及將群組對(duì)照表900所指示的群組數(shù)據(jù)儲(chǔ)存至動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的指定位置(步驟S1233)。于此須注意的是,步驟S1221的判斷是用以避免不必要的頁(yè)面讀取作業(yè),換句話說,當(dāng)判斷群組對(duì)照表中所儲(chǔ)存的單元編號(hào)都沒有落入取得的單元編號(hào)區(qū)間時(shí),則跳過此頁(yè)的處理。然而,熟習(xí)此技藝人士亦可省略步驟S1221的判斷,直接逐頁(yè)讀出數(shù)據(jù)后再?zèng)Q定是否更新實(shí)體儲(chǔ)存對(duì)照表300中的內(nèi)容。以圖11為例,假設(shè)群組對(duì)照表900指示群組G4、G6、G22、G23、G24以及G43的數(shù)據(jù)分別儲(chǔ)存于第22、23、19、20、21、16個(gè)單元上:處理單元110從儲(chǔ)存單元180讀出第2頁(yè)面的數(shù)據(jù)后,會(huì)將其中的第22、23、19、20、21、16個(gè)單元的數(shù)據(jù)儲(chǔ)存至動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器120中配置給群組G4、G6、G22、G23、G24以及G43的位置。最后,處理單元110判斷是否已處理完所有的頁(yè)面(步驟S1241),若是則結(jié)束整個(gè)實(shí)體儲(chǔ)存對(duì)照表的重建作業(yè);否則,回到步驟S1213用以處理前一個(gè)頁(yè)面的數(shù)據(jù)。于步驟S1241中,當(dāng)處理單元110發(fā)現(xiàn)目前處理的頁(yè)面為第0頁(yè),則判斷已處理完所有的頁(yè)面。雖然圖1至圖2中包含了以上描述的元件,但不排除在不違反發(fā)明的精神下,使用更多其他的附加元件,已達(dá)成更佳的技術(shù)效果。此外,雖然圖6、7、10以及圖12的流程圖采用指定的順序來執(zhí)行,但是在不違法發(fā)明精神的情況下,熟習(xí)此技藝人士可以在達(dá)到相同效果的前提下,修改這些步驟間的順序,所以,本發(fā)明并不局限于僅使用如上所述的順序。此外,熟習(xí)此技藝人士亦可以將若干步驟整合為一個(gè)步驟,或者是除了這些步驟外,循序或平行地執(zhí)行更 多步驟,本發(fā)明亦不因此而局限。雖然本發(fā)明使用以上實(shí)施例進(jìn)行說明,但需要注意的是,這些描述并非用以限縮本發(fā)明。相反地,此發(fā)明涵蓋了熟習(xí)此技藝人士顯而易見的修改與相似設(shè)置。所以,申請(qǐng)權(quán)利要求范圍須以最寬廣的方式解釋來包含所有顯而易見的修改與相似設(shè)置。當(dāng)前第1頁(yè)1 2 3 當(dāng)前第1頁(yè)1 2 3 
當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1