動態調整非揮發性存儲器的冗餘區的方法及其相關裝置的製作方法
2023-07-14 19:49:41 1
專利名稱:動態調整非揮發性存儲器的冗餘區的方法及其相關裝置的製作方法
技術領域:
本發明有關一種動態調整非揮發性存儲器的冗餘區的方法及其相關裝置,尤指一種在快閃記憶體內規劃存儲區及冗餘區,及縮小讀取裝置加載數據緩衝區塊容量的調整方法及其相關裝置。
(2)背景技術快閃記憶體廣泛使用於數字相機、電視遊樂器主機、隨身碟等數字設備中,隨著半導體製程的進步演進,快閃記憶體儲卡的存儲容量也可以獲得提升,對於可記錄的文件及數據容量空間也相對變大,例如圖1顯示目前市面上可以購買到的三星半導體公司所出產的快閃記憶體1,共有1G位的存儲空間,相當於128M字節的存儲空間,具有1024個存儲區塊(blocks)11,而每個存儲區塊具有64存儲頁(pages)12,每一存儲頁12大小為2K+64位元組(1K=1024),其中存儲區121容量為2K字節,而每一存儲區121後端則固定配置有一64位元組大小的冗餘區122,以作為快閃記憶體1整體系統信息的儲存區域,而這些系統信息包含該存儲區塊11中的存儲區121損壞與否的狀態參數或標記,以讓隨身碟在讀取快閃記憶體1或使用者讀、寫快閃記憶體1信息時作為可使用區域的參考。
然而,以上述快閃記憶體1的存儲區121及冗餘區122的結構,並無法利用目前現有的快閃記憶體控制器來讀取數據,原因在於現有快閃記憶體控制器內的緩衝器(buffer)容量大小無法匹配運作,因此IC設計廠會重新設計控制器以匹配運作新的快閃記憶體結構。舉例而言,現有控制器具有一對528位元組的桌球緩衝器(共有1056位元組),是用以存取每一存儲區為512位元組以及16位元組的冗餘區的存儲器結構,並無法容納如圖1的存儲區121加上冗餘區122的容量,即2112位元組(2K+64位元組)大小的容量,必需另行開發新的快閃記憶體控制器來搭配上述的快閃記憶體1的利用,而必需耗費大量的開發成本及時間,例如快閃記憶體控制器內的先進先出(FIFO)控制線路及緩衝器等硬體皆必需加大容量,例如加大緩衝器為一對2K+64位元組的桌球緩衝器(共有2112位元組),並重新撰寫固件程序,使其可以存取每一存儲頁為2K字節以及64位元組的冗餘區的存儲頁結構,因此導致產品上市的時程延滯及產品價格昂貴等缺點及問題的發生,並且產生新、舊快閃記憶體控制器的硬體及存儲器產品間無法兼容使用的困擾。
(3)發明內容本發明的主要目的在於提供一種動態調整非揮發性存儲器的冗餘區的方法,包含多個存儲區及至少一冗餘區分割規劃在一存儲頁中,該冗餘區間隔連結於各存儲區之間,以讓隨身碟每次讀取存儲區內的數據只需讀取至多一存儲區加上冗餘區的容量大小的緩衝數據,可以通用隨身碟的緩衝器或硬體線路,可縮短產品研發時程及降低產品研發成本。
本發明的另一目的在於提供一種動態調整非揮發性存儲器的冗餘區的方法,包含多個存儲區及至少一冗餘區分割規劃在一存儲頁中,該冗餘區連結於任一存儲區末端存儲地址之後,以讓隨身碟每次讀取存儲區內的數據只需讀取至多一存儲區加上冗餘區的容量大小的緩衝數據,可以通用隨身碟的緩衝器或硬體線路,可減少產品研發工時、人力及降低產品研發成本。
本發明的又一目的在於提供一種USB隨身碟,包含快閃記憶體以及控制器,控制器中則包含只讀存儲器,預先燒錄有固件;隨機存取存儲器;緩衝單元;微處理器,耦接只讀存儲器、隨機存取存儲器及緩衝單元;串行接口引擎;以及USB實體層電路,用以耦接於該緩衝單元及該微處理器;串行接口引擎,耦接於該緩衝單元;USB實體層電路,耦接於該串行接口引擎,用以傳收符合USB規格的電氣傳輸信號;以及直接存儲器存取引擎,耦接於該緩衝單元以及該快閃記憶體,用以存取該快閃記憶體;其中微處理器及固件協同運作以分多次叢發存取該快閃記憶體的一存儲頁。
(4)
為使對本發明有進一步的了解,以下列舉若干實施例並配合附圖進行詳細說明,其中
圖1是現有存儲器的存儲頁的快閃記憶體內部規劃結構圖;圖2為本發明第一實施例的存儲器動態調整規劃結構圖;圖3為圖2中的存儲頁放大圖;圖4為本發明第一實施例的動態調整非揮發性存儲器的冗餘區的流程圖;圖5為本發明的較佳應用例圖;圖6為本發明第二實施例的存儲器動態調整規劃結構圖;圖7為本發明第二實施例的動態調整非揮發性存儲器的冗餘區的流程圖;圖8為本發明第三實施例的存儲器動態調整規劃結構圖;圖9為本發明第三實施例的動態調整非揮發性存儲器的冗餘區的流程圖;以及圖10顯示根據本發明的可動態調整非揮發性存儲器的冗餘區的隨身碟的一具體實施例方塊圖。
(5)具體實施方式
首先請參閱圖2及圖3,顯示本發明的動態調整非揮發性存儲器的冗餘區的一具體實施例,其中,圖2顯示一存儲器100內部的規劃結構,於此實施例中,首先將目前市面上可以購買到的三星半導體公司所出產的128M字節的快閃記憶體的狀態字節讀取出來,再將快閃記憶體重新規劃成存儲器100包括有1024個存儲區塊10,每個存儲區塊10包含64個存儲頁20(如圖2所示),該每一存儲頁20內部,規劃分割形成多個存儲區21及至少一個冗餘區22,在圖2及圖3所列舉的第一實施例中,該冗餘區22數量為四個,以每個存儲頁20為2112(=2K+64)個字節為例,每一個存儲區21的存儲容量為512個字節,每一個冗餘區22的存儲容量為16個字節;同理可推,如該規劃分割的存儲區21數量為八個,冗餘區22數量為八個時,則每一個存儲區21的存儲容量為256個字節,每一冗餘區22的存儲容量則為8個字節;上述的冗餘區22可間隔連結於各存儲區21之間,即連結於一存儲區21最末存儲地址及另一存儲區21起始存儲地址之間;最後再將原先讀取出來的狀態字節重新寫入各個冗餘區22;之後,以具有一對528位元組的桌球緩衝器的控制器為例,每次欲存取2112位元組大小的存儲頁20時,控制器便會分解成連續地(叢發)存取512+16位元組四次,在存取效能上也相當不錯;這樣,只要藉由更新快閃記憶體控制器內部的固件,便可藉由具有一對528位元組的桌球緩衝器的控制器讀取2112位元組大小的存儲頁20規格,甚至將來也可以讀取更大存儲頁的規格。
上述圖2及圖3中所示的存儲器100中的每一存儲頁20的存儲區21提供作為一般數據信息儲存用,根據原始狀態信息(未示)為冗餘區22產生系統數據,該系統數據如存儲器100中的每一個存儲區塊10中的存儲頁20的損壞狀態,即存儲器100出廠前的測試數據,其中以每個存儲頁20為2112位元組為例,原始狀態信息(未示)可位在第2048位移地址上;而每一個冗餘區22中至少有一個狀態字節221, 以記錄此一信息,狀態字節221藉由此一狀態字節221被讀出,可以讓存儲器100的各存儲區塊10及存儲區20的狀態揭示出來。
請再配合圖4所示,為本發明動態調整非揮發性存儲器的冗餘區的方法流程圖,包含步驟200~220,其中(200)掃描每一存儲區塊的原始狀態信息。
(210)將存儲器中的每一個存儲區塊的每一存儲頁內部規劃分割成多個存儲區及多個冗餘區,其中各冗餘區間隔連結各存儲區之間。
(220)根據原始狀態信息更新各冗餘區的一狀態信息。
請再參閱圖5所示,為本發明動態調整非揮發性存儲器的冗餘區的一較佳應用例圖,其中,顯示如圖2及圖3所示的一存儲頁20於一隨身碟300內的數據讀取方式,該隨身碟300內具有一數據存取控制晶片310及兩個緩衝器320,每一個緩衝器320具有528個字節的存儲容量,該隨身碟300於讀取一存儲頁20內的數據內容時,是依每次一個存儲區21及一個冗餘區22讀取數據至一緩衝器320內,而分四次將數據依序讀入緩衝器320內,再由隨身碟300的存取控制晶片310將數據傳送至個人計算機400或其它載體(圖未顯示);換言之,本發明每次加載重新規劃後的一個存儲區21及其相關的冗餘區22至隨身碟300的緩衝器320內,使得同一個存儲頁分多次進行叢發(burst)存取。
請再配合圖6所示,為本發明動態調整非揮發性存儲器的冗餘區的另一具體實施例,顯示一存儲頁22內的規劃情形,該存儲頁20內規劃分割若干個存儲區21』及至少一個冗餘區22』,每一存儲區21』的存儲容量為512個字節,而該冗餘區22』的存儲容量為64個字節,該冗餘區22』是安插連結於其中一個存儲區21』的最末存儲地址之後,如在圖6中是顯示連結於第二個存儲區21』之後, 即第三存儲區21』之前,其餘第一個存儲區21』與第二個存儲區21』間相互緊鄰連結,且第三存儲區21』與第四存儲區21』相互緊鄰連結,相同地,該存儲區21』提供一般數據存儲儲存功能,而冗餘區22』具有多個狀態字節221』用以指明存儲器100的狀態,供存取控制晶片進行辨識。
請再參閱圖7顯示相關於圖6所示實施例的流程圖,包括步驟400~430,其中(400)掃描每一存儲區塊的原始狀態信息。
(410)將存儲器中的每一個存儲區塊的每一存儲頁重新規劃成多個存儲區及至少一冗餘區。
(420)將冗餘區安插連結於任一存儲區最末存儲地址之後,其中其餘存儲區間相互緊鄰連結。
(430)根據原始狀態信息更新冗餘區的內容。
如上述圖6及圖7所示,本發明動態調整非揮發性存儲器的冗餘區的具體實施例,存儲頁20在於如同圖5所示的隨身碟300進行數據讀取時,則將數據分成五次,即讀取順序為存儲區21』->存儲區21』->冗餘區22』->存儲區21』->存儲區21』,亦可達到以較小的緩衝器的控制器進行存取較大存儲頁的功效。
請再配合圖8所示,為本發明動態調整非揮發性存儲器的冗餘區的又一具體實施例,其中,將存儲頁20規劃成多個存儲區21及冗餘區22,該存儲區21相互緊鄰連結於存儲區10的前端,而冗餘區22連結於最後一個存儲區21的最末存儲地址之後,且各冗餘區22也是呈相互鄰連結的結構,相同地,該存儲區21提供一般數據存儲儲存功能,而各冗餘區22則提供存儲器100系統數據儲存功能。
請再參閱圖9所示,為本發明動態調整非揮發性存儲器的冗餘區的再一具體實施例的流程圖,包括步驟500~540,其中
(500)掃描每一存儲區塊的原始狀態信息。
(510)將存儲器中的每一個存儲區塊的每一存儲頁重新規劃成多個存儲區及多個冗餘區。
(520)各存儲區相互緊鄰連結。
(530)冗餘區連結於最末一個存儲區的最末存儲地址之後,且各冗餘區相互緊鄰連結。
(540)根據原始狀態信息更新冗餘區的內容。
如上述圖8及圖9所示,本發明動態調整非揮發性存儲器的冗餘區的實施例,該存儲頁20在進行數據讀取時,則將數據分成四次,即每次讀取一個存儲區21及一個冗餘區22,即讀取順序為存儲區21+冗餘區22->存儲區21+冗餘區22->存儲區21+冗餘區22->存儲區21+冗餘區22,即每次加載隨身碟內的數據容量為512+16=528個字節,亦可達到以較小的緩衝器的控制器進行存取較大存儲頁的功效。
圖10顯示根據本發明的可動態調整非揮發性存儲器的冗餘區的隨身碟600的一具體實施例方塊圖,隨身碟600包含數據存取控制晶片620、電子可擦去可編程只讀存儲器640及快閃記憶體660;數據存取控制晶片620耦接電子可擦去可編程只讀存儲器640及快閃記憶體660,電子可擦去可編程只讀存儲器640儲存隨身碟600的基本數據,於隨身碟600通電激活時加載該基本數據,而數據存取控制晶片620則負責存取快閃記憶體660的內容。數據存取控制晶片620包含微處理器622、只讀存儲器624、隨機存取存儲器626、兩個528位元組緩衝器628、630、串行接口引擎632、USB實體層電路634、錯誤更正碼(error correction code,簡稱ECC)單元636、以及直接存儲器存取(directmemory access,簡稱DMA)引擎638;只讀存儲器624內燒錄有供微處理器622運作的固件,微處理器622耦接只讀存儲器624、隨機存取存儲器626以及兩個528位元組緩衝器628、630,並協調其間的運作;兩個528位元組緩衝器628、630形成雙緩衝的結構,以桌球緩衝存取快閃記憶體660的內容,雙緩衝器628、630耦接串行接口引擎632以及錯誤更正碼單元636;串行接口引擎632進一步耦接USB實體層電路634,以產生符合USB規格的電氣傳輸信號;錯誤更正碼單元636則耦接直接存儲器存取引擎638,以對快閃記憶體660進行直接存儲器存取;只讀存儲器624內所燒錄的固件,搭配兩個528位元組緩衝器628、630的硬體結構,可以圖3所揭示的存取方式,實現以較小、較低成本的桌球緩衝結構,高效能的存取方式存取具有較大存儲頁的快閃記憶體660。此具體實施例中,以528位元組緩衝器的硬體結構可以分多次存取存儲頁為(2K+64)字節的快閃記憶體;或者,可以更進一步以256位元組緩衝器的硬體結構,分更多次方式叢發存取,而減少控制晶片內緩衝器的總門數。
因此,本發明的快閃記憶體控制器可以存取新規格的快閃記憶體100,可以不需要重新設計快閃記憶體控制器的硬體,而只需更新快閃記憶體控制器的固件及驅動程序即可,可大幅節省硬體的開發人力、工時及成本。
縱上所述,本發明提供一種動態調整非揮發性存儲器的冗餘區的方法,該非揮發性存儲器具有多個存儲區塊,各存儲區塊具有多個存儲頁,包含下列步驟讀取各存儲區塊的原始狀態信息;將該各存儲區塊中的各存儲頁分別地重新規劃成多個存儲區及多個冗餘區;以及根據該原始狀態信息更新各冗餘區的一狀態信息。
本發明提供一種USB隨身碟,包含快閃記憶體以及控制器,控制器中則包含只讀存儲器,預先燒錄有固件;隨機存取存儲器;緩衝單元;微處理器,耦接只讀存儲器、隨機存取存儲器、及緩衝單元;串行接口引擎;以及USB實體層電路,用以耦接於該緩衝單元及該微處理器;串行接口引擎,耦接於該緩衝單元 USB實體層電路,耦接於該串行接口引擎,用以傳收符合USB規格的電氣傳輸信號;以及直接存儲器存取引擎,耦接於該緩衝單元以及該快閃記憶體,用以存取該快閃記憶體;其中微處理器及固件協同運作以分多次叢發存取該快閃記憶體的一存儲頁。
以上所描述的說明及附圖是為便於闡明本發明的技術內容及技術手段所揭示的較佳實施例,並不因而拘限其範疇。凡是一切針對本發明的技術手段、裝置細部的修飾、變更,或者是組件的等效替代、置換,當不脫離本發明的發明精神及範疇,其範圍將由以下的權利要求來界定。
權利要求
1.一種動態調整非揮發性存儲器的冗餘區的方法,該非揮發性存儲器具有多個存儲區塊,各存儲區塊具有多個存儲頁,其步驟包含讀取各存儲區塊的一原始狀態信息;將該各存儲區塊中的各存儲頁分別地重新規劃成多個存儲區及多個冗餘區;以及根據該原始狀態信息更新各冗餘區的一狀態信息。
2.如權利要求1所述的動態調整非揮發性存儲器的冗餘區的方法,其特徵在於,該重新規劃步驟是將各冗餘區間隔連結於各存儲區之間。
3.如權利要求1所述的動態調整非揮發性存儲器的冗餘區的方法,其特徵在於,該非揮發性存儲器的讀取是以存儲區的大小為單位。
4.如權利要求1所述的動態調整非揮發性存儲器的冗餘區的方法,其特徵在於,進一步包含以多次存取多個存儲區的方式存取其中一存儲頁的步驟。
5.如權利要求1所述的動態調整非揮發性存儲器的冗餘區的方法,其特徵在於,該非揮發性存儲器是為一快閃記憶體。
6.如權利要求1所述的動態調整非揮發性存儲器的冗餘區的方法,其特徵在於,該重新規劃步驟是將該各存儲頁的該些冗餘區連結於該各存儲頁的這些存儲區的一最末存儲地址之後,且這些存儲區是相互緊鄰連結。
7.如權利要求1所述的動態調整非揮發性存儲器的冗餘區的方法,其特徵在於,各存儲頁具有四個存儲區及四個冗餘區。
8.一種用以耦接一快閃記憶體的USB控制器,該控制器包含一隻讀存儲器,預先燒錄有一固件;一隨機存取存儲器;一緩衝單元;一微處理器,耦接該只讀存儲器、該隨機存取存儲器、及該緩衝單元;一串行接口引擎,耦接於該緩衝單元;一USB實體層電路,耦接於該串行接口引擎,用以傳收一符合USB規格的電氣傳輸信號;以及一直接存儲器存取引擎,耦接於該緩衝單元以及該快閃記憶體,用以存取該快閃記憶體,其中該微處理器藉由該固件運作以分多次叢發存取該快閃記憶體的一存儲頁。
9.如權利要求8所述的用以耦接快閃記憶體的USB控制器,其特徵在於,還包含一錯誤更正碼單元,耦接於該直接存儲器存取引擎以及該緩衝器之間,用以進行錯誤更正。
10.如權利要求8所述的用以耦接快閃記憶體的USB控制器,其特徵在於,該緩衝單元是為一對緩衝器,用以桌球緩衝存取該快閃記憶體的內容。
11.一種USB隨身碟,包含一快閃記憶體,一控制器,該控制器包含一隻讀存儲器,預先燒錄有一固件;一隨機存取存儲器;一緩衝單元;一微處理器,耦接該只讀存儲器、該隨機存取存儲器、及該緩衝單元;一串行接口引擎,耦接於該緩衝單元;一USB實體層電路,耦接於該串行接口引擎,用以傳收一符合USB規格的電氣傳輸信號;以及一直接存儲器存取引擎,耦接於該緩衝單元以及該快閃記憶體,用以對該快閃記憶體進行存取;其中該微處理器藉由該固件運作以分多次叢發存取該快閃記憶體的一存儲頁。
12.如權利要求11所述的USB隨身碟,其特徵在於,該非揮發性存儲器具有多個存儲區塊,各存儲區塊具有多個存儲頁。
13.如權利要求11所述的USB隨身碟,其特徵在於,還包含一錯誤更正碼單元,耦接於該直接存儲器存取引擎以及該緩衝器之間,用以進行錯誤更正。
14.如權利要求11所述的USB隨身碟,其特徵在於,還包含一電子可擦去可編程只讀存儲器,耦接於該控制器,用以儲存一基本設定數據。
15.如權利要求11所述的USB隨身碟,其特徵在於,該緩衝單元是為一對緩衝器,用以桌球緩衝存取該快閃記憶體的內容。
16.如權利要求12所述的USB隨身碟,其特徵在於,各存儲區之後具有一相關的冗餘區。
17.如權利要求12所述的USB隨身碟,其特徵在於,各存儲頁具有多個存儲區,各存儲區具有一相關的冗餘區。
18.如權利要求17所述的USB隨身碟,其特徵在於,各冗餘區具有一狀態字節。
19.如權利要求14所述的USB隨身碟,其特徵在於,該控制器於通電激活時,將該基本設定數據從電子可擦去可編程只讀存儲器加載至該控制器中。
20.如權利要求15所述的USB隨身碟,其特徵在於,該緩衝器的大小是小於該存儲頁的大小。
21.如權利要求15所述的USB隨身碟,其特徵在於,該緩衝器的大小是為該存儲頁的四分之一。
22.一種動態調整非揮發性存儲器的冗餘區的方法,該非揮發性存儲器具有多個存儲區塊,各存儲區塊具有多個存儲頁,其步驟是包含將各存儲頁規劃成多個存儲區及多個冗餘區;將各冗餘區間隔連結於各存儲區之間;以及將一存儲器系統信息寫入各冗餘區中。
23.如權利要求22所述的動態調整非揮發性存儲器的冗餘區的方法,其特徵在於,各冗餘區是間隔連結於各存儲區之間。
24.如權利要求22所述的動態調整非揮發性存儲器的冗餘區的方法,其特徵在於,該非揮發性存儲器的讀取是以存儲區的一大小為單位。
25.如權利要求22所述的動態調整非揮發性存儲器的冗餘區的方法,其特徵在於,進一步包含以多次存取多個存儲區的方式存取其中一存儲頁的步驟。
26.如權利要求22所述的動態調整非揮發性存儲器的冗餘區的方法,其特徵在於,該非揮發性存儲器是為一快閃記憶體。
27.如權利要求22所述的動態調整非揮發性存儲器的冗餘區的方法,其特徵在於,各存儲頁的這些冗餘區連結於該各存儲頁的這些存儲區的一最末存儲地址之後,且這些存儲區是相互緊鄰連結。
28.如權利要求22所述的動態調整非揮發性存儲器的冗餘區的方法,其特徵在於,各存儲頁具有四個存儲區及四個冗餘區。
全文摘要
一種動態調整非揮發性存儲器的冗餘區的方法及其相關裝置,該方法將存儲器中的每一個存儲頁重新規劃成多個存儲區及至少一冗餘區,該冗餘區間隔連結於各存儲區之間或該冗餘區安插連結於任一存儲區最末存儲地址之後,且根據原始狀態信息而於各冗餘區內預先寫入存儲區塊及存儲頁的系統信息,以讓快閃記憶體讀取裝置每次讀取數據時僅需加載一存儲區加上一相關聯冗餘區存儲容量大小的緩衝數據區塊。
文檔編號G06F12/08GK1567252SQ0314935
公開日2005年1月19日 申請日期2003年6月17日 優先權日2003年6月17日
發明者楊政智 申請人:創惟科技股份有限公司