TWI523017B - 執行平均抹寫的非揮發性記憶體設備及控制該設備的方法 - Google Patents
執行平均抹寫的非揮發性記憶體設備及控制該設備的方法 Download PDFInfo
- Publication number
- TWI523017B TWI523017B TW100101760A TW100101760A TWI523017B TW I523017 B TWI523017 B TW I523017B TW 100101760 A TW100101760 A TW 100101760A TW 100101760 A TW100101760 A TW 100101760A TW I523017 B TWI523017 B TW I523017B
- Authority
- TW
- Taiwan
- Prior art keywords
- logical group
- wafer
- wafers
- logical
- memory controller
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7211—Wear leveling
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
- Memory System (AREA)
Description
本發明的許多具體實施例係關於非揮發性記憶體設備及控制該設備的方法,尤其係關於執行平均抹寫(wear-leveling)的非揮發性記憶體設備及控制該設備的方法。
一般來說,非揮發性記憶體已被用來當成許多可攜式資訊裝置的儲存記憶體。近年來,市面上已經出現使用NAND快閃記憶體的固態硬碟(Solid state drive,SSD)取代個人電腦(Personal computer,PC)內的硬碟(Hard disk drive,HDD),並且預期會迅速佔據HDD市場。
通常來說,像是SSD這類半導體儲存系統控制一個資料檔案時,於藉著可識別該資料檔案之邏輯位置所指定的分頁中,將實際資料寫入、抹除或更新。尤其是,資料儲存區域的該邏輯位址與透過快閃記憶體轉換層(Flash translation layer,FTL)來映對的一實際位址,然後根據主機指令之該邏輯位址被參照時,在由該邏輯位址映對的該實際位址所指定之對應位置上,寫入、抹除與讀取資料。此處所使用的實際位址就是指記憶體區域內分頁或子區塊的位置資訊。
在NAND快閃記憶體的案例中,執行平均抹寫來均衡維持單元的壽命。
為了執行平均抹寫,所有區塊的抹寫計數(Erase count,EC)資訊都儲存在NAND快閃記憶體區域內,並在需要平均抹寫時載入隨機存取記憶體(Random access memory,RAM)緩衝區內。然後,搜尋可取代的區塊,以變更其實際位置或實際位址。
最近的趨勢朝向大容量SSD發展,記憶體區域內區塊的數量增多。因此,其中應該載入整個區塊EC資訊的RAM緩衝區之記憶體必然增加,不過這種RAM緩衝區之記憶體的增加卻受到相關成本以及可用晶片區域和其他因素的限制。
因此,需要一種改良式記憶體設備以及相關方法,用來執行可排除一或多種上述問題或缺點的平均抹寫。不過吾人應該瞭解,本發明的某些態樣並不會一定需要排除一或多種的這些問題或缺點。
為了獲得該等優點並且根據本發明的目的,依照本說明書的具體實施以及廣泛描述,本發明的一個態樣可提供一種非揮發性記憶體設備,其包含:一主機介面;一記憶體控制器,其耦合至該主機介面;以及一記憶體區域,其包含由該記憶體控制器所控制的複數個晶片。該記憶體控制器可設置成指派邏輯位址給該等複數個晶片,來形成複數個虛擬邏輯群組,根據每一邏輯群組的總抹除次數(TEC),設定複數個臨界值以及複數個掃描範圍,並且在各個階段內執行平均抹寫。
在本發明的另一示範態樣內,一非揮發性記憶體設備包含:一主機介面;一記憶體控制器,其耦合至該主機介面;以及一記憶體區域,其包含由該記憶體控制器所控制的複數個晶片。該記憶體控制器可設置成將該等複數個晶片分成複數個虛擬邏輯群組,並且使用每一邏輯群組的TEC資訊以及實際對應至相同通道的晶片之EC資訊,執行平均抹寫。
本發明的某些示範態樣提供一種用於控制一非揮發性記憶體設備的方法,該方法包含:對包含複數個晶片的每一虛擬邏輯群組累加其TEC;使用該等晶片的EC儲存該等晶片個別之間的偏差資訊;於符合一平均抹寫條件時,決定該邏輯群組的TEC是否超出複數個預定臨界值中的其中之一;以及根據該決定結果,對其上要執行平均抹寫的一目標邏輯群組,定義不同的晶片掃描範圍。
在下列說明中將公佈部分本發明的其他目的與優點,並且有些部分從說明中就可理解,或者實施本發明就可知道。藉由後附的申請專利範圍內特別點出的元件與組合,將可實現並達成本發明的目的與優點。
本說明書將詳細參考符合本揭示內容的示範具體實施例,附圖內將例示其範例。在本說明書的任一處,所有圖式中將使用相同的參考字元來代表相同或相似的部件。
第1圖為根據一個示範具體實施例的非揮發性記憶體設備之區塊圖。在此具體實施例中,該非揮發性記憶體設備可包含使用NAND快閃記憶體的記憶體設備。
請參閱第1圖,該非揮發性記憶體設備包含一個主機介面110、一個緩衝單元120、一個微控制器單元(Micro control unit,MCU) 130、一個記憶體控制器140和一個記憶體區域150。
主機介面110耦合至緩衝單元120,主機介面110可設置成傳輸與接收緩衝單元120與外部主機(未顯示)之間的一控制指令、一位址信號及/或一資料信號。主機介面110與該外部主機之間的介接方法包含但不受限於下列中任一者:序列先進技術附加裝置(Serial advanced technology attachment,SATA)、並列先進技術附加裝置(Parallel advanced technology attachment,PATA)、微型電腦系統介面(Small computer system interface,SCSI)、ExpressCard擴充卡以及快捷外設互聯標準(Peripheral Component Interconnect Express,PCI-E)。
緩衝單元120可設置成緩衝來自主機介面110的輸出信號,或暫時儲存邏輯位址與實際位址之間的對映資訊、該記憶體區域的區塊分配資訊、每一區塊的EC以及自外部接收的資料。緩衝單元120可包含使用靜態隨機存取記憶體(Static random access memory,SRAM)或動態隨機存取記憶體(Dynamic random access memory,DRAM)的緩衝區。
MCU 130可設置成傳輸至與接收自主機介面110的一控制指令、一位址信號及/或一資料信號,並且根據此類信號控制記憶體控制器140。
記憶體控制器140可設置成接收來自主機介面110的輸入資料與寫入指令,並且控制要寫入記憶體區域150的輸入資料。同樣地,當接收來自主機介面110的讀取指令時,記憶體控制器140從記憶體區域150讀取資料,並且控制所讀取的資料輸出到外部。
尤其是,根據示範具體實施例的記憶體控制器140可製作複數個虛擬邏輯群組,每一群組都包含複數個晶片,並且額外管理每一邏輯群組的EC以及每一晶片的EC。因此,記憶體控制器140可依照該邏輯群組的單元(例如整個晶片的一部分)來執行平均抹寫,藉此縮短執行該平均抹寫所需的時間。
尤其是,記憶體控制器140藉由將每一晶片處理為被指派有邏輯位址的邏輯區塊,形成複數個虛擬邏輯群組,然後記憶體控制器140累加並儲存對應有邏輯位址的個別邏輯區塊之該等EC。該等累加的EC中任一者超出臨界值時,則在所累加EC最高的邏輯群組上執行平均抹寫。此時,追蹤要執行平均抹寫的邏輯群組內具有最大EC之晶片,而以相同邏輯群組內具有最小EC之晶片取代前述具有最大EC之晶片。以下將參閱圖式更詳細描述此操作。
記憶體區域150可設置成由記憶體控制器140控制,並且寫入、抹除或讀取資料。記憶體區域150可包含NAND快閃記憶體。在此具體實施例內,NAND快閃記憶體的單元可包括單階儲存單元(Single level cell,SLC)或多階儲存單元(Multi level cell,MLC)。記憶體區域150可包括複數個晶片,其設置作為複數個包含複數分頁的區塊。
第2圖為例示根據第1圖的示範邏輯群組之區塊圖,並且第3圖為例示該等邏輯群組的該等EC之表格。請參閱第2圖與第3圖,將詳細描述根據第一示範具體實施例的平均抹寫方法。
第一邏輯群組(即邏輯群組0)Logical Group0包含複數個晶片(晶片0、晶片1、晶片2、…),第二邏輯群組(即邏輯群組1) Logical Group1包含複數個晶片(晶片0、晶片1、晶片2、…)。
第3圖內例示的第三Logical Group2與第四邏輯群組Logical Group3(即分別是邏輯群組2和邏輯群組3)可以以如同上述第一和第二邏輯群組相同的方法來描述。
依序將該第一邏輯群組(邏輯群組0)Logical Group0內該等晶片(晶片0、晶片1、晶片2、…)的該等邏輯位址指派為從0至3的包覆位址,其對應至整個邏輯群組的編號。
同時,依序將該第二邏輯群組(邏輯群組1)Logical Group1內該等晶片(晶片0、晶片1、晶片2、…)的該等邏輯位址指派為編號1、2、3和0。
同樣地,依序將該第三邏輯群組(邏輯群組2)Logical Group2內該等晶片(晶片0、晶片1、晶片2、…)的該等邏輯位址指派為編號2、3、0和1,並且依序將該第四邏輯群組(邏輯群組3)Logical Group3內該等晶片(晶片0、晶片1、晶片2、…)的該等邏輯位址指派為編號3、0、1和2。也就是對映每一邏輯群組(就是虛擬區塊)的該等位址時,整個群組的編號設定為模數,並且利用位移每一邏輯群組的該表頭邏輯位址來分配該等位址。
在以這種方式分配該等位址時,藉由一交錯法將對應至系統內之實際相同通道的該等位址指派給個別群組內之晶片的該等位址。例如:該等第一至第四邏輯群組內之該第一晶片(晶片0)的該等邏輯位址分別被指派為0、1、2和3,而表示出並未指派重疊的位址。同樣地,該等第一至第四邏輯群組內之第二晶片(晶片1)的該等邏輯位址分別被指派為1、2、3和0,而表示出並未指派重疊的位址。
如此運用分散式定址法,則可避免重複分配資料區給特定位置,因此可更有效率使用該記憶體。
根據第一示範具體實施例,不僅累加並儲存每一邏輯群組內每一晶片的該EC,也累加並儲存每一邏輯群組內所有該等晶片的該等EC,即總抹除次數(TEC)。
再者,計算並儲存對應至每一邏輯群組內相同通道的晶片中之該等EC中的最大EC與最小EC間之距離。本說明書內所使用但不設限的「距離」一詞,其係代表著將透過非揮發性記憶體設備內相同通道(未例示)來連接之晶片中的該等EC來做比較,所獲得之偏差。
為了方便解釋,假設特定邏輯群組的TEC接近符合平均抹寫條件之臨界值。例如:該第一邏輯群組(邏輯群組0)Logical Group0的TEC接近8這個預定臨界值時,則選擇該第一邏輯群組做為要執行平均抹寫的群組()。此時,追蹤該第一邏輯群組內的該等晶片間具有最大EC距離之晶片。
這可藉由使用個別晶片的距離資訊來間接決定。
請參閱第3圖,可看見晶片0具有最大距離4(),這表示該等複數個邏輯群組內之任一晶片0具有高EC。因此,符合平均抹寫條件時,該第一邏輯群組的晶片0之邏輯位址會被相同邏輯群組內具有最小距離之晶片(例如晶片1)的邏輯位址代替()。
同時,為了更有效執行平均抹寫,可設定平均抹寫之各種的臨界值,並且可設定對應於該等個別臨界值的各種平均抹寫掃描範圍。
第4圖為顯示根據複數個平均抹寫臨界值的該等邏輯區塊掃描範圍之圖式。
請參閱第4圖,平均抹寫臨界值範圍為0至B1時,不執行平均抹寫。
當平均抹寫臨界值範圍為B1至B2時,只掃描目標邏輯群組內的某些晶片(例如X1個晶片)。
當平均抹寫臨界值範圍為B2至B3時,目標邏輯群組內需要被掃描的晶片數量擴充到X2。
當平均抹寫臨界值範圍對應於TH(上限)時,則掃描目標邏輯群組內的所有晶片(即XMax)。
也就是說,可設定多種的平均抹寫臨界值以及多種的掃描範圍權重,以有效控制平均抹寫的掃描時間。
請參閱第4圖,取決於該等臨界值的掃描範圍可用許多方式來設定。例如:若預定臨界值為8,邏輯區塊(即晶片)的掃描範圍可設定為晶片0至晶片3,並且若該預定臨界值為10,則該掃描範圍擴充成晶片0至晶片7。
因此,不必在所有晶片上執行平均抹寫,如此可縮短平均抹寫所需的晶片掃描時間。
第5圖為顯示根據第二示範具體實施例之平均抹寫方法中邏輯群組的EC值之表格。為了避免重複說明,本說明書只說明與該第一具體實施例不同的態樣。
請參閱第5圖,將對應至邏輯群組編號的邏輯位址0至3分配給每一邏輯群組(邏輯群組0)Logical Group0中的複數個晶片(晶片0、晶片1、晶片2、…),該等晶片係類似於第一具體實施例。此外,類似於第一具體實施例,累加每一邏輯群組內含之所有晶片的EC值,並儲存所獲得的EC值(即TEC)。
在根據第二示範具體實施例的平均抹寫方法中,累加對應至每一邏輯群組中相同通道的晶片之該等EC,並儲存成邏輯區塊抹除計數(Logical block erase count,LEC)。
相較於儲存每一晶片的EC以及因而分配大量記憶體的該第一具體實施例,該第二具體實施例並不儲存每一晶片的EC,而是只儲存對應至每一群組或通道之該等EC。因此,可減少用於該等EC的記憶體。
下面更詳細描述根據該第二具體實施例的平均抹寫方法。在此具體實施例內,假設特定邏輯群組的TEC接近符合平均抹寫條件之臨界值。例如:第一邏輯群組(邏輯群組0) Logical Group0的TEC到達臨界值8時,選擇第一邏輯群組做為平均抹寫目標。此時,追蹤第一邏輯群組內之晶片間具有相對高EC的晶片。
運用每一晶片的LEC資訊,具有相對高EC的晶片即可被間接地決定。例如參閱第5圖,該第一邏輯群組Logical Group0內晶片0的LEC即為「8」這個相對較高的值。因此,符合平均抹寫條件時,可辨識出該第一邏輯群組(邏輯群組0)Logical Group0之晶片0具有高EC。如上述,根據平均抹寫條件的臨界值,可定義其上要執行平均抹寫的邏輯區塊之掃描範圍。
接下來,利用低LEC晶片的邏輯位址代替高LEC晶片的邏輯位址,於定義範圍內追蹤具有相對較低EC的晶片以執行平均抹寫。當平均抹寫條件的臨界值變得更高時,被掃描的晶片數量隨之增加。
在位址替代藉由平均抹寫而被執行後,重設LEC和TEC。
第6圖為顯示與本發明第一具體實施例相符的非揮發性記憶體設備之示範操作流程圖。
請參閱第6圖,在步驟S10上,累加每一邏輯群組的TEC,並且累加每一晶片的EC。
例如:把每一晶片視為一邏輯區塊,並且設定複數個虛擬邏輯群組,每一群組都包括複數個邏輯區塊。然後,累加並儲存每一邏輯群組的TEC,同時累加並儲存每一晶片的EC。再者,使用每一晶片的EC,儲存對應至相同通道之晶片間係為偏差資訊的距離。
於符合平均抹寫條件時,在步驟S20上決定儲存的TEC是否超出第一臨界值。
若儲存的TEC未超過第一臨界值(N),則在步驟S30上,讀取/寫入操作係被持續地執行在每一晶片上。
然而,若儲存的TEC超出第一臨界值(Y),則在步驟S40上決定TEC是否超出第二臨界值。
若儲存的TEC未超出第二臨界值(N),第一掃描範圍定義在對應的邏輯群組內,並且在步驟S50上,運用定義範圍內的距離資訊,在相對高EC的晶片與相對低EC的晶片間執行平均抹寫。
然而,若儲存的TEC超出第二臨界值(Y),則在步驟S60上決定TEC是否超出下一個臨界值,也就是第三臨界值。
若儲存的TEC未超出第三臨界值(N),第二掃描範圍定義在邏輯群組內,並且在步驟S70上,運用定義範圍內的距離資訊,在相對高EC的晶片與相對低EC的晶片間執行平均抹寫。
然而,若儲存的TEC超出第三臨界值(Y),則在步驟S80上,將掃描範圍擴充成邏輯群組內的一第三掃描範圍,並且執行平均抹寫。
為方便解釋,該等掃描範圍與該等臨界值只是範例,也就是說,該等掃描範圍與該等臨界值並不受限於此,其數量可增加或減少。當固定的臨界值與掃描範圍為了複數臨界值而被劃分成有變化地控制該等平均抹寫掃描範圍時,則可實施所揭示的示範具體實施例。
此處並未顯示根據第二具體實施例的流程圖,因為其原理類似於第6圖。根據該第二具體實施例之非揮發性記憶體設備內的平均抹寫方法與該第一具體實施例內的方法不同,其係因每一邏輯群組的TEC係被累加並儲存,且透過相同通道而耦合之晶片的LEC係被累加並儲存。
如上述,當平均抹寫條件為多樣化且掃描範圍亦根據該等多樣化之平均抹寫條件而多樣化時,將可縮短執行平均抹寫所需的時間。
雖然上面已經說明特定具體實施例,不過精通此技術的人士將瞭解所說明的具體實施例僅為範例。因此,本說明書說明的非揮發性記憶體設備以及用於控制該設備之方法不應受限於所說明的具體實施例。於搭配上述說明與附圖時,本說明書中說明的非揮發性記憶體設備以及用於控制該設備之方法應只受限於後述的申請專利範圍。
110...主機介面
120...緩衝單元
130...微控制器單元
140...記憶體控制器
150...記憶體區域
logical group0...第一邏輯群組;邏輯群組0
logical group1...第二邏輯群組;邏輯群組1
logical group2...第三邏輯群組;邏輯群組2
logical group3...第四邏輯群組;邏輯群組3
S10,S20,S30,S40,S50,S60,S70,S80...步驟
第1圖為根據一個示範具體實施例的非揮發性記憶體設備之區塊圖。
第2圖為例示根據一個示範具體實施例的示範邏輯群組之區塊圖。
第3圖為顯示根據第一示範具體實施例的邏輯群組中該等EC之表格。
第4圖為顯示根據複數個平均抹寫臨界值的該等邏輯區塊掃描範圍之圖式。
第5圖為顯示根據第二示範具體實施例之平均抹寫方法中邏輯群組的EC值之表格。
第6圖為例示根據第一具體實施例的非揮發性記憶體設備之示範操作流程圖。
logical group0...第一邏輯群組;邏輯群組0
logical group1...第二邏輯群組;邏輯群組1
logical group2...第三邏輯群組;邏輯群組2
logical group3...第四邏輯群組;邏輯群組3
Claims (20)
- 一種非揮發性記憶體設備,其包含:一主機介面;一記憶體控制器,其耦合至該主機介面;以及一記憶體區域,其包含由該記憶體控制器所控制的複數個晶片,其中該記憶體控制器設置成指派邏輯位址給該等複數個晶片,來形成複數個虛擬邏輯群組,根據每一邏輯群組的總抹除次數(TEC),設定抹除計數的複數個臨界值以及對應該等臨界值的複數個掃描範圍,並且根據對應一臨界值的一掃描範圍來執行平均抹寫,其中,每一該等虛擬邏輯群組包含兩個或多個晶片。
- 如申請專利範圍第1項之非揮發性記憶體設備,其中該記憶體控制器係儲存晶片之抹寫計數(EC)間的偏差資訊,該等晶片係包含在不同邏輯群組內但實際上對應至相同通道的晶片。
- 如申請專利範圍第2項之非揮發性記憶體設備,其中該記憶體控制器係設置成藉由使用每一邏輯群組的TEC,設定其上要執行平均抹寫的一目標邏輯群組,以及,設置成藉由使用該偏差資訊追蹤該目標邏輯群組內的一目標晶片。
- 如申請專利範圍第3項之非揮發性記憶體設備,其中在該目標邏輯群組被設定後,該記憶體控制器設置成控制包含在該目標邏輯群組內之晶片的掃描範圍,以根據該目標邏輯群組的一臨界值來改變。
- 如申請專利範圍第4項之非揮發性記憶體設備,其中當該目標邏輯群組的該臨界值增加時,該記憶體控制器控制包含在該目標邏輯群組內之要擴充的晶片的掃描範圍。
- 如申請專利範圍第1項之非揮發性記憶體設備,其中該記憶體控制器設置成累加並儲存包含在不同邏輯群組內,但實際上對應至相同通道之晶片的TEC。
- 一種非揮發性記憶體設備,其包含:一主機介面;一記憶體控制器,其耦合至該主機介面;以及一記憶體區域,其包含由該記憶體控制器所控制的複數個晶片,其中該記憶體控制器設置成形成複數個虛擬邏輯群組,並且使用每一邏輯群組的總抹除次數(TEC)資訊以及實際對應至相同通道之晶片的抹寫計數(EC)資訊,執行平均抹寫,其中,每一該等虛擬邏輯群組係藉由兩個或多個晶片的分組來形成。
- 如申請專利範圍第7項之非揮發性記憶體設備,其中該記憶體控制器設置成藉由累加邏輯群組內之晶片的該EC,儲存每一邏輯群組之該TEC。
- 如申請專利範圍第8項之非揮發性記憶體設備,其中該記憶體控制器設置成藉由使用每一邏輯群組的該TEC,設定其上要執行平均抹寫的一目標邏輯群組。
- 如申請專利範圍第9項之非揮發性記憶體設備,其中在 該目標邏輯群組被設定後,該記憶體控制器設置成控制包含在該目標邏輯群組內之晶片的掃描範圍,以根據該目標邏輯群組的該TEC來改變。
- 如申請專利範圍第10項之非揮發性記憶體設備,其中當該目標邏輯群組的該TEC增加時,該記憶體控制器設置成控制包含在該目標邏輯群組內之要擴充的晶片的掃描範圍。
- 如申請專利範圍第7項之非揮發性記憶體設備,其中該記憶體控制器設置成儲存包含在不同邏輯群組內,但實際上對應至相同通道之晶片間的EC偏差資訊。
- 如申請專利範圍第12項之非揮發性記憶體設備,其中該記憶體控制器設置成藉由使用該EC偏差資訊,於目標邏輯群組內,追蹤其上要執行平均抹寫的一目標晶片。
- 如申請專利範圍第7項之非揮發性記憶體設備,其中該記憶體控制器設置成單獨地累加包含在不同邏輯群組內但實際上對應至相同通道之晶片的該EC資訊,並且儲存每一晶片的累加值。
- 如申請專利範圍第14項之非揮發性記憶體設備,其中該記憶體控制器設置成藉由使用每一晶片的該累加值,追蹤其上要執行平均抹寫之目標邏輯群組內的一目標晶片。
- 一種用於控制非揮發性記憶體設備之方法,其包含:對包含複數個晶片的每一虛擬邏輯群組累加其總抹除次數(TEC); 藉由使用該等晶片的抹寫計數(EC),儲存該等晶片個別之間的偏差資訊;於符合一平均抹寫條件時,決定該等邏輯群組的TEC是否超出複數個預定臨界值中的其中之一;以及根據一決定結果,對其上要執行平均抹寫的一目標邏輯群組,定義不同的晶片掃描範圍。
- 如申請專利範圍第16項之方法,其中該目標邏輯群組係藉由使用該TEC來設定。
- 如申請專利範圍第16項之方法,其中該等晶片的EC係用來追蹤已定義之晶片掃描範圍內的一目標晶片。
- 如申請專利範圍第18項之方法,其中於追蹤該目標晶片時,係藉由已定義之晶片掃描範圍內具有最小EC之晶片的邏輯位址代替該目標晶片的邏輯位址來執行平均抹寫。
- 如申請專利範圍第16項之方法,其中,決定步驟係包含逐一依序地決定該等邏輯群組的TEC是否超出該等複數個預定臨界值中的任一者。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100068395A KR101131560B1 (ko) | 2010-07-15 | 2010-07-15 | 웨어 레벨링을 수행하는 비휘발성 메모리 장치 및 그의 제어 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201205585A TW201205585A (en) | 2012-02-01 |
TWI523017B true TWI523017B (zh) | 2016-02-21 |
Family
ID=45467809
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW100101760A TWI523017B (zh) | 2010-07-15 | 2011-01-18 | 執行平均抹寫的非揮發性記憶體設備及控制該設備的方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8671239B2 (zh) |
KR (1) | KR101131560B1 (zh) |
TW (1) | TWI523017B (zh) |
Families Citing this family (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7934052B2 (en) | 2007-12-27 | 2011-04-26 | Pliant Technology, Inc. | System and method for performing host initiated mass storage commands using a hierarchy of data structures |
KR101586047B1 (ko) | 2009-03-25 | 2016-01-18 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것의 프로그램 방법 |
US9699263B1 (en) | 2012-08-17 | 2017-07-04 | Sandisk Technologies Llc. | Automatic read and write acceleration of data accessed by virtual machines |
US9754648B2 (en) | 2012-10-26 | 2017-09-05 | Micron Technology, Inc. | Apparatuses and methods for memory operations having variable latencies |
US9501398B2 (en) | 2012-12-26 | 2016-11-22 | Sandisk Technologies Llc | Persistent storage device with NVRAM for staging writes |
US9612948B2 (en) | 2012-12-27 | 2017-04-04 | Sandisk Technologies Llc | Reads and writes between a contiguous data block and noncontiguous sets of logical address blocks in a persistent storage device |
US9454420B1 (en) | 2012-12-31 | 2016-09-27 | Sandisk Technologies Llc | Method and system of reading threshold voltage equalization |
US9870830B1 (en) | 2013-03-14 | 2018-01-16 | Sandisk Technologies Llc | Optimal multilevel sensing for reading data from a storage medium |
US9367246B2 (en) | 2013-03-15 | 2016-06-14 | Sandisk Technologies Inc. | Performance optimization of data transfer for soft information generation |
US9734097B2 (en) | 2013-03-15 | 2017-08-15 | Micron Technology, Inc. | Apparatuses and methods for variable latency memory operations |
US20160196076A1 (en) * | 2013-07-08 | 2016-07-07 | Wilus Institute Of Standards And Technology Inc. | Memory system and method for controlling same |
US9384126B1 (en) | 2013-07-25 | 2016-07-05 | Sandisk Technologies Inc. | Methods and systems to avoid false negative results in bloom filters implemented in non-volatile data storage systems |
US9524235B1 (en) | 2013-07-25 | 2016-12-20 | Sandisk Technologies Llc | Local hash value generation in non-volatile data storage systems |
US9727493B2 (en) | 2013-08-14 | 2017-08-08 | Micron Technology, Inc. | Apparatuses and methods for providing data to a configurable storage area |
US9235509B1 (en) | 2013-08-26 | 2016-01-12 | Sandisk Enterprise Ip Llc | Write amplification reduction by delaying read access to data written during garbage collection |
US9639463B1 (en) | 2013-08-26 | 2017-05-02 | Sandisk Technologies Llc | Heuristic aware garbage collection scheme in storage systems |
US9298608B2 (en) | 2013-10-18 | 2016-03-29 | Sandisk Enterprise Ip Llc | Biasing for wear leveling in storage systems |
US9442662B2 (en) * | 2013-10-18 | 2016-09-13 | Sandisk Technologies Llc | Device and method for managing die groups |
US9436831B2 (en) | 2013-10-30 | 2016-09-06 | Sandisk Technologies Llc | Secure erase in a memory device |
US9703816B2 (en) | 2013-11-19 | 2017-07-11 | Sandisk Technologies Llc | Method and system for forward reference logging in a persistent datastore |
US9520197B2 (en) | 2013-11-22 | 2016-12-13 | Sandisk Technologies Llc | Adaptive erase of a storage device |
US9520162B2 (en) | 2013-11-27 | 2016-12-13 | Sandisk Technologies Llc | DIMM device controller supervisor |
US9582058B2 (en) | 2013-11-29 | 2017-02-28 | Sandisk Technologies Llc | Power inrush management of storage devices |
US9703636B2 (en) | 2014-03-01 | 2017-07-11 | Sandisk Technologies Llc | Firmware reversion trigger and control |
US9454448B2 (en) | 2014-03-19 | 2016-09-27 | Sandisk Technologies Llc | Fault testing in storage devices |
US9390814B2 (en) | 2014-03-19 | 2016-07-12 | Sandisk Technologies Llc | Fault detection and prediction for data storage elements |
US9448876B2 (en) | 2014-03-19 | 2016-09-20 | Sandisk Technologies Llc | Fault detection and prediction in storage devices |
US9626400B2 (en) | 2014-03-31 | 2017-04-18 | Sandisk Technologies Llc | Compaction of information in tiered data structure |
US9390021B2 (en) | 2014-03-31 | 2016-07-12 | Sandisk Technologies Llc | Efficient cache utilization in a tiered data structure |
US9626399B2 (en) | 2014-03-31 | 2017-04-18 | Sandisk Technologies Llc | Conditional updates for reducing frequency of data modification operations |
US9697267B2 (en) | 2014-04-03 | 2017-07-04 | Sandisk Technologies Llc | Methods and systems for performing efficient snapshots in tiered data structures |
US10365835B2 (en) | 2014-05-28 | 2019-07-30 | Micron Technology, Inc. | Apparatuses and methods for performing write count threshold wear leveling operations |
US10146448B2 (en) | 2014-05-30 | 2018-12-04 | Sandisk Technologies Llc | Using history of I/O sequences to trigger cached read ahead in a non-volatile storage device |
US9703491B2 (en) | 2014-05-30 | 2017-07-11 | Sandisk Technologies Llc | Using history of unaligned writes to cache data and avoid read-modify-writes in a non-volatile storage device |
US10372613B2 (en) | 2014-05-30 | 2019-08-06 | Sandisk Technologies Llc | Using sub-region I/O history to cache repeatedly accessed sub-regions in a non-volatile storage device |
US10162748B2 (en) | 2014-05-30 | 2018-12-25 | Sandisk Technologies Llc | Prioritizing garbage collection and block allocation based on I/O history for logical address regions |
US10656842B2 (en) | 2014-05-30 | 2020-05-19 | Sandisk Technologies Llc | Using history of I/O sizes and I/O sequences to trigger coalesced writes in a non-volatile storage device |
US10114557B2 (en) | 2014-05-30 | 2018-10-30 | Sandisk Technologies Llc | Identification of hot regions to enhance performance and endurance of a non-volatile storage device |
US10656840B2 (en) | 2014-05-30 | 2020-05-19 | Sandisk Technologies Llc | Real-time I/O pattern recognition to enhance performance and endurance of a storage device |
US9652381B2 (en) | 2014-06-19 | 2017-05-16 | Sandisk Technologies Llc | Sub-block garbage collection |
US9443601B2 (en) | 2014-09-08 | 2016-09-13 | Sandisk Technologies Llc | Holdup capacitor energy harvesting |
US9582201B2 (en) * | 2014-09-26 | 2017-02-28 | Western Digital Technologies, Inc. | Multi-tier scheme for logical storage management |
KR102258126B1 (ko) | 2015-03-19 | 2021-05-28 | 삼성전자주식회사 | 메모리 컨트롤러의 작동 방법, 이를 포함하는 데이터 저장 장치, 및 이를 포함하는 데이터 처리 시스템 |
CN105067992B (zh) * | 2015-08-25 | 2018-06-05 | 无锡中微腾芯电子有限公司 | 通过测试数据实现芯片追溯的方法 |
KR102553170B1 (ko) | 2016-06-08 | 2023-07-10 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR20180041898A (ko) * | 2016-10-17 | 2018-04-25 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
US10922221B2 (en) | 2018-03-28 | 2021-02-16 | Micron Technology, Inc. | Memory management |
KR20220125836A (ko) | 2021-03-03 | 2022-09-15 | 삼성전자주식회사 | 스토리지 장치, 스토리지 장치의 동작 방법, 그리고 스토리지 장치를 포함하는 전자 장치 |
EP4053705B1 (en) * | 2021-03-03 | 2023-10-25 | Samsung Electronics Co., Ltd. | Operating method of storage device |
CN115081257B (zh) * | 2022-08-22 | 2022-11-11 | 中诚华隆计算机技术有限公司 | 一种用于电力能源的芯片损耗优化方法及系统 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6230233B1 (en) | 1991-09-13 | 2001-05-08 | Sandisk Corporation | Wear leveling techniques for flash EEPROM systems |
US5479638A (en) | 1993-03-26 | 1995-12-26 | Cirrus Logic, Inc. | Flash memory mass storage architecture incorporation wear leveling technique |
US5485595A (en) | 1993-03-26 | 1996-01-16 | Cirrus Logic, Inc. | Flash memory mass storage architecture incorporating wear leveling technique without using cam cells |
US5907856A (en) | 1995-07-31 | 1999-05-25 | Lexar Media, Inc. | Moving sectors within a block of information in a flash memory mass storage architecture |
US5835935A (en) | 1995-09-13 | 1998-11-10 | Lexar Media, Inc. | Method of and architecture for controlling system data with automatic wear leveling in a semiconductor non-volatile mass storage memory |
JP2007133683A (ja) | 2005-11-10 | 2007-05-31 | Sony Corp | メモリシステム |
KR101185617B1 (ko) * | 2006-04-04 | 2012-09-24 | 삼성전자주식회사 | 외부 메모리의 부하를 줄일 수 있는 웨어 레벨링 기법에의한 플래시 파일 시스템의 동작 방법 |
KR100857761B1 (ko) * | 2007-06-14 | 2008-09-10 | 삼성전자주식회사 | 웨어 레벨링을 수행하는 메모리 시스템 및 그것의 쓰기방법 |
TWI366828B (en) * | 2007-09-27 | 2012-06-21 | Phison Electronics Corp | Wear leveling method and controller using the same |
US8140739B2 (en) * | 2008-08-08 | 2012-03-20 | Imation Corp. | Flash memory based storage devices utilizing magnetoresistive random access memory (MRAM) to store files having logical block addresses stored in a write frequency file buffer table |
-
2010
- 2010-07-15 KR KR1020100068395A patent/KR101131560B1/ko active IP Right Grant
- 2010-12-08 US US12/963,379 patent/US8671239B2/en active Active
-
2011
- 2011-01-18 TW TW100101760A patent/TWI523017B/zh active
Also Published As
Publication number | Publication date |
---|---|
KR101131560B1 (ko) | 2012-04-04 |
TW201205585A (en) | 2012-02-01 |
US8671239B2 (en) | 2014-03-11 |
KR20120007722A (ko) | 2012-01-25 |
US20120017053A1 (en) | 2012-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI523017B (zh) | 執行平均抹寫的非揮發性記憶體設備及控制該設備的方法 | |
JP5728672B2 (ja) | ハイブリッドメモリ管理 | |
US9053808B2 (en) | Flash memory with targeted read scrub algorithm | |
US8886990B2 (en) | Block management schemes in hybrid SLC/MLC memory | |
US8335887B2 (en) | Solid state storage systems and methods for flexibly controlling wear leveling | |
US9665481B2 (en) | Wear leveling method based on timestamps and erase counts, memory storage device and memory control circuit unit | |
US9639463B1 (en) | Heuristic aware garbage collection scheme in storage systems | |
KR101086876B1 (ko) | 예비 영역을 유동적으로 관리하는 반도체 스토리지 시스템 및 그 제어 방법 | |
US20100217920A1 (en) | Memory system and address allocating method of flash translation layer thereof | |
US11126369B1 (en) | Data storage with improved suspend resume performance | |
KR102378295B1 (ko) | 저장 캐시 관리 | |
US9465537B2 (en) | Memory system and method of controlling memory system | |
KR20100012938A (ko) | 웨어 레벨링을 수행하는 반도체 스토리지 시스템 및 그제어 방법 | |
CN111752857A (zh) | 存储器控制器及操作存储器控制器的方法 | |
US11334272B2 (en) | Memory system and operating method thereof | |
US11842073B2 (en) | Memory controller and operating method thereof | |
CN111913556A (zh) | 储存装置及储存装置的操作方法 | |
TW202238369A (zh) | 在快閃記憶體中進行耗損平衡操作的方法和相關控制器以及儲存系統 | |
JP6730604B2 (ja) | 制御回路、半導体記憶装置、及び半導体記憶装置の制御方法 | |
TWI786288B (zh) | 儲存裝置、儲存裝置的控制方法及記錄媒體 | |
US9001585B1 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
US20190258593A1 (en) | Memory controller and operating method thereof | |
CN106935265B (zh) | 非易失性存储器装置以及包括该非易失性存储器装置的数据存储装置 | |
KR20160119607A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
KR101027687B1 (ko) | 라이트 동작을 제어하는 반도체 스토리지 시스템 및 그 제어 방법 |