TWI835221B - 記憶體裝置及其操作方法 - Google Patents
記憶體裝置及其操作方法 Download PDFInfo
- Publication number
- TWI835221B TWI835221B TW111127933A TW111127933A TWI835221B TW I835221 B TWI835221 B TW I835221B TW 111127933 A TW111127933 A TW 111127933A TW 111127933 A TW111127933 A TW 111127933A TW I835221 B TWI835221 B TW I835221B
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- write
- memory block
- interval
- writing
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 9
- 238000011017 operating method Methods 0.000 claims description 8
- 230000006870 function Effects 0.000 claims description 3
- 230000004044 response Effects 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 2
- 238000012545 processing Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 238000007689 inspection Methods 0.000 description 5
- 230000001960 triggered effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
- Information Transfer Systems (AREA)
Abstract
本發明一實施例係揭露一種記憶體裝置。記憶體裝置包括一記憶體控制器、一緩衝器及一記憶體陣列。緩衝器耦接至記憶體控制器或者內嵌於記憶體控制器。緩衝器的儲存空間係被記憶體控制器配置以包括多個組。記憶體陣列耦接至記憶體控制器,且包括多個記憶塊。組一對一對應於記憶塊。各組用以儲存要寫入至對應的記憶塊的資料。記憶體控制器係以組為基礎執行寫入操作。
Description
本發明是有關於一種記憶體晶片及其操作方法。
三維(3D)非或(NOR)型快閃記憶體具有讀取延遲遠小於寫入延遲的特性。如何增進3D NOR型快閃記憶體的資料寫入效率是研究的重點。另一方面,寫入干擾(write disturb)的管理也是3D NOR型快閃記憶體的重要課題。
本發明一實施例係揭露一種記憶體裝置。記憶體裝置包括一記憶體控制器、一緩衝器及一記憶體陣列。緩衝器耦接至記憶體控制器或者內嵌於記憶體控制器。緩衝器的儲存空間係被記憶體控制器配置以包括多個組。記憶體陣列耦接至記憶體控制器,且包括多個記憶塊。組一對一對應於記憶塊。各組用以儲存要寫入至對應的記憶塊的資料。記憶體控制器係以組為基礎執行寫入操作。
本發明另一實施例係揭露一種記憶體裝置的操作方法,包括:配置一緩衝器的儲存空間以包括複數個組;以及將該些組一對一對應至一記憶體陣列的複數個記憶塊。各該組用以儲
存要寫入至對應的該記憶塊的資料,且寫入操作係以組為基礎執行。
本發明又一實施例係揭露一種記憶體裝置的操作方法,包括:建立複數個寫入計數值及複數個寫入與否記錄表於一緩衝器;建立複數個;以及建立複數個寫入區間記錄表於一記憶體陣列。該些寫入計數值一對一對應於該記憶體陣列的複數個記憶塊,各該寫入計數值用以記錄對應的該記憶塊被執行寫入操作的次數,該些寫入計數值據有一起始值及一上限值,自該起始值起至該上限值止劃分為複數個區間,該些寫入與否記錄表用以記錄該些記憶塊的複數個頁面於對應的該些寫入計數值所對應的該些區間是否有被寫入,該些寫入區間記錄表一對一對應於該些記憶塊,各該寫入區間記錄表用以記錄對應的該記憶塊的該些頁面上次被執行寫入操作的該區間。
為了對本發明之上述及其他方面有更佳的瞭解,下文特舉實施例,並配合所附圖式詳細說明如下:
10:計算機系統
110:中央處理單元
112:線性位址器
114:動態隨機存取記憶體
116:快閃記憶體裝置
118:L3快取
20:記憶體裝置
210:記憶體控制器
220:緩衝器
230:記憶體陣列
510:組
S301~S310、S401~S413:步驟
P1~P4:資料
第1圖繪示根據本發明一實施例的計算機系統的方塊圖;第2圖繪示根據本發明一實施例的記憶體裝置的方塊圖;第3圖繪示根據本發明一實施例的記憶體裝置的操作方法的流程圖;
第4A~4B圖繪示根據本發明另一實施例的記憶體裝置的操作方法的流程圖;第5圖繪示根據本發明一實施例的記憶體裝置的操作的示意圖;第6圖繪示根據本發明一實施例的寫入計數值與區間的對照表;第7圖繪示根據本發明一實施例的寫入區間記錄表;第8~10圖繪示根據本發明一實施例的寫入與否記錄表;第11圖繪示根據本發明另一實施例的寫入與否記錄表;第12圖繪示根據本發明另一實施例的寫入區間記錄表;第13圖繪示根據本發明又一實施例的寫入與否記錄表;第14圖繪示根據本發明又一實施例的寫入區間記錄表。
請參照第1圖,第1圖繪示根據本發明一實施例的計算機系統的方塊圖。計算機系統10包括一中央處理單元(central processing unit,CPU)110、一線性位址轉換器(linear address converter)112、一動態隨機存取記憶體(dynamic random access memory,DRAM)114及一快閃記憶體裝置116。中央處理單元110可包括一L3快取(L3 cache)118。動態隨機存取記憶體114及快閃記憶體裝置116通過線性位址轉換器112耦接至中央處理單元110。線性位址轉換器112可用以將中央處理單元110使用的邏輯位址映射至DRAM 114及快閃記憶體裝置116的實體位址。通過第1圖的實施例可以瞭解快閃記憶體裝置116如何做為硬體應用在計算機系統中。
請參照第2圖,第2圖繪示根據本發明一實施例的快閃記憶體裝置的方塊圖。快閃記憶體裝置20包括一記憶體控制器210、一緩衝器220及一記憶體陣列230。
緩衝器220可採用具有高讀取/寫入速度的儲存裝置,例如靜態隨機存取記憶體(static random access memory,SRAM)。緩衝器220可整合於記憶體控制器210中,或者外接於記憶體控制器210。記憶體陣列230耦接至記憶體控制器210。記憶體控制器210係用以控制及操作記憶體陣列230。在一實施例中,記憶體陣列230為3D NOR型快閃記憶體陣列。
在一實施例中,記憶體陣列230包括多個晶片(chip)。一個晶片包括多個記憶塊(tile)。一個記憶塊包括多個記憶區(sector)。一個記憶區包括多個頁面(page)。一個頁面包括多個記憶胞。
在一實施例中,一個頁面的尺寸係為可變的,且具有一最大頁面尺寸。記憶體控制器210對記憶體陣列230執行一次寫入操作的最大寫入資料尺寸為一最大寫入尺寸。在一實施例中,一個頁面的尺寸(size)可為64位元組(byte,B)、128B或256B(即最大頁面尺寸為256B)。一次寫入操作可寫入64B、128B或256B的資料(即最大寫入尺寸為256B)。
為了減少記憶體控制器210實際對記憶體陣列230執行寫入操作的次數,記憶體控制器210可根據一第一寫入政策(policy)及一第二寫入政策進行操作。
第一寫入政策係為配置緩衝器220以使得緩衝器220的儲存空間包括多個組(group),將該些組分別對應於(例如一對一
對應於)記憶體陣列的該些記憶塊,並將要寫入的資料儲存至對應於要寫入的資料所要寫入的記憶塊的組中,並以組為基礎執行寫入操作。舉例來說,若記憶體陣列230有X個記憶塊,則記憶體控制器210會配置緩衝器220以使得緩衝器220的儲存空間包括X個組以分別對應於X個記憶塊,其中X為正整數。對應於第一記憶塊的組用以儲存要寫入第一記憶塊的資料,對應於第二記憶塊的組用以儲存要寫入第二記憶塊的資料,以此類推。所謂以組為基礎執行寫入操作係指記憶體控制器210會將針對同一組中資料的寫入操作在時間上安排在一起執行。以組為基礎執行寫入操作可以增加要寫入的頁面是連續的機率。所謂頁面是連續的是指頁面的實體位址是連續的。當要寫入的頁面是連續的且每個要寫入的頁面的尺寸小於最大頁面尺寸,記憶體控制器210可以將多個寫入操作合併於一個寫入操作。例如,四筆64B的資料要寫入四個連續的64B的頁面,則記憶體控制器210可以一次256B的寫入操作達成相同於四次64B的寫入操作的結果。在一實施例中,記憶體控制器210可根據一雜湊(hash)函數計算頁面的實體位址對應的一雜湊值。通過設計雜湊函數使得屬於同一記憶塊的頁面的實體位址對應至相同的雜湊值。對應於相同的雜湊值的頁面將對應至同一組。
第二寫入政策係為在對一目標記憶塊執行寫入操作之前,根據對應於目標記憶塊的組中儲存的資料判斷是否可藉由將目標記憶塊中的部分資料讀取至緩衝器220以減少實際執行寫入操作的次數,若判斷為是,則將目標記憶塊中的部分資料讀取至緩衝器220後再以對應於目標記憶塊的組為基礎執行寫入操作。
舉例來說,如第5圖所示,假設一次寫入操作允許最大的資料尺寸為256B,對應於目標記憶塊的組510儲存要寫入目標記憶塊的第一頁面、第三頁面及第四頁面的資料P1、P3及P4,且目標記憶塊的第一頁面至第四頁面的尺寸皆為64B。若不基於第二寫入政策,記憶體控制器210需要執行一次64B的寫入操作來寫入資料P1及一次128B的寫入操作來寫入連續的資料P3及P4。然而,基於第二寫入政策,記憶體控制器210判斷將目標記憶塊的第二頁面儲存的資料P2讀取至組510,則資料P1~P4要寫入的四個頁面將會是連續的。也就是說,記憶體控制器210執行一次讀取操作將資料P2從記憶體陣列230的目標記憶塊中讀取至緩衝器220的組510之後,便可藉由執行一次256B的寫入操作將資料P1~P4寫入至目標記憶塊中。相當於花費一次讀取操作的延遲以節省一次寫入操作的延遲。由於記憶體裝置20具有讀取延遲遠小於寫入延遲(例如讀取延遲是寫入延遲的千分之一)的特性,花費一個甚至是多個讀取操作以節省一個以上的寫入操作是值得的。
為了管理寫入干擾,記憶體控制器210可用以儲存多個寫入區間記錄表於記憶體陣列230,並儲存多個寫入計數值及多個寫入與否記錄表於緩衝器220。在一實施例中,寫入計數值、寫入與否記錄表及寫入區間記錄表可由記憶體控制器210建立及修改。
寫入計數值係分別對應於該些記憶塊。對於每個記憶塊,對應的寫入計數值代表的是該記憶塊被執行寫入操作的次數,當該記憶塊中的任何一個頁面被寫入時,對應於該記憶塊的寫入計數值增加一。例如,假設記憶體陣列230包括X個記憶塊,則緩
衝器220會儲存有對應於X個記憶塊的X個寫入計數值。寫入計數值具有一初始值及一上限值。當寫入計數值達到上限值之後,在下一次增加寫入計數值之前,寫入計數值會重設為初始值。在一實施例中,初始值為0。上限值可根據寫入干擾的容忍次數決定。寫入干擾是指當一個頁面被寫入時,其附近的頁面儲存的資料會受到影響。頁面中儲存的資料可能隨著受寫入干擾的次數增加而損壞。透過實驗與統計可以得到頁面對抗寫入干擾的容忍次數,即寫入干擾的次數超過容忍次數時,頁面中的資料便可能會損壞。在一實施例中,上限值等於容忍次數。為了方便說明,下文將上限值及容忍次數假設為100000(十萬)。
寫入計數值從初始值至上限值係劃分為多個區間。在一實施例中,從0至100k(十萬)劃分為十個區間S0~S9,如第6圖所示。第一區間S0為0至10k(一萬),第二區間S1為10001至20k(二萬),以此類推。
在一實施例中,寫入區間記錄表的數量等於記憶體陣列230的記憶塊的數量。寫入區間記錄表一對一對應於該些記憶塊,用以記錄對應的記憶塊的該些頁面上一次被寫入時的區間。舉例來說,假設記憶體陣列230有X個記憶塊且每個記憶塊有Y個頁面,則記憶體陣列230會儲存有對應於X個記憶塊的X個寫入區間記錄表,每個寫入區間記錄表包括對應於該記憶塊的Y個頁面的Y個欄位,此些欄位用以記錄對應的頁面上一次被寫入的區間,其中Y為正整數。第7圖顯示對應於某一個記憶塊的寫入區間記錄表的一例,其中該記憶塊包括4096個頁面。在此例中,區間S0~S9可用四個位元的二進制資料來表示。例如,以二進制的0~9來表示區間
S0~S9,即0000代表區間S0,0001代表區間S1,0010代表區間S2,以此類推。
在一實施例中,寫入與否記錄表的數量等於記憶體陣列230的記憶塊的數量。寫入與否記錄表一對一對應於該些記憶塊,用以記錄對應的記憶塊的該些頁面在對應於該記憶塊的寫入計數值所對應的區間是否有被寫入。當對應於寫入與否記錄表的記憶塊的寫入計數值所對應的區間改變時,記憶體控制器210會在根據寫入與否記錄表更新對應於同一個記憶塊的寫入區間記錄表之後將其重置。在一實施例中,假設記憶體陣列總共有X個記憶塊、每個記憶塊有Y個頁面,則緩衝器220中會儲存有對應於X個記憶塊的X個寫入與否記錄表,每個寫入與否記錄表包括對應於該記憶塊的Y個頁面的Y個欄位,各個欄位可以一個位元的二進制資料來記錄對應的頁面在對應於該記憶塊的寫入計數值所對應的區間是否有被寫入,其中0代表沒有被寫入,1代表有被寫入。當寫入與否記錄表被重置,所有欄位的值會重設為0。第8~10圖顯示對應於某個記憶塊的寫入與否記錄表的一例。在寫入計數值為0時,寫入與否記錄表中對應於所有頁面的欄位的值皆為0,如第8圖所示。當寫入計數值為1時,假設頁面#1被寫入,則對應於頁面碼#1的欄位的值會被設為1,如第9圖所示。當寫入計數值為2時,假設頁面#3被寫入,則對應於頁面碼#3的欄位的值會被設為1,如第10圖所示。當寫入計數值為3時,假設頁面#1被寫入,則對應於頁面碼#1的欄位的值會維持1,寫入與否記錄表相同於第10圖所示。當寫入計數值達到10k,在寫入計數值變為10001之前,寫入與否記錄表會被重置,對應於所有頁面的欄位的值會重設為0。
當記憶體控制器210根據某一個區間的寫入與否記錄表更新對應的寫入區間記錄表時係執行:(1)掃描寫入與否記錄表以找出在該區間有被寫入的頁面;(2)將對應的寫入區間記錄表中對應於在該區間有被寫入的頁面的欄位改為該區間。舉例來說,假設對應於某一個記憶塊的寫入計數值達到80k(區間S8的末尾)時的寫入與否記錄表第11圖所示,更新前對應的寫入區間記錄表如第7圖所示,則記憶體控制器210根據第11圖所示的寫入與否記錄表更新第7圖所示的寫入區間記錄表會得到如第12圖所示的寫入區間記錄表。從第11圖可知,該記憶塊的頁面#1及頁面#3在區間S8有被寫入,於是第12圖中對應於頁面碼#1及頁面碼#3的欄位被更新為代表區間S8的1000。而對應於在區間S8沒有被寫入的頁面的欄位則不會變動。
在另一實施例中,寫入與否記錄表的數量少於記憶體陣列230的記憶塊的數量。每個寫入與否記錄表動態地對應於多個記憶塊中的一個。舉例來說,假設記憶體陣列230有X個記憶塊,寫入與否記錄表有Z個,則每個寫入與否記錄表可動態地對應於(X/Z)個記憶塊中的一個,其中Z為正整數。舉例來說,假設某一個寫入與否記錄表係動態地對應於記憶塊#1及記憶塊#2。當記憶體控制器210對記憶塊#1執行寫入操作時,記憶體控制器210會將該寫入與否記錄表對應至記憶塊#1,並且利用該寫入與否記錄表來記錄記憶塊#1的頁面在該區間是否被寫入過。當記憶體控制器210改為對記憶塊#2執行寫入操作時,記憶體控制器210會先根據目前的寫入與否記錄表更新記憶體陣列230中對應於記憶塊#1的寫入區間記錄表(更新的方法請參考前文)並重置該寫入與否記錄表後將該寫入與
否記錄表對應至記憶塊#2,以記錄於記憶塊#2的頁面於該區間是否有被寫入過。這樣的操作等同於將用來記錄記憶塊#1的寫入與否記錄表「替換」為用來記錄記憶塊#2的寫入與否記錄表。
在一實施例中,在變換為下一個區間之前,被「替換」掉的記憶塊的寫入與否記錄表將不會再次被「替換」上來,以避免頻繁的更替寫入與否記錄表所對應的記憶塊。舉例來說,假設某一個寫入與否記錄表係動態地對應於記憶塊#1及記憶塊#2。假設在區間S2中,記憶體控制器210執行寫入操作的對象由記憶塊#1變為記憶塊#2,又再由記憶塊#2變為記憶塊#1。記憶體控制器210在將用來記錄記憶塊#1的寫入與否記錄表替換為用來記錄記憶塊#2的寫入與否記錄表之後,直到區間由S2變為S3之前,記憶體控制器210不會再以該寫入與否記錄表來記錄記憶塊#1。在一實施例中,在用來記錄記憶塊#1的寫入與否記錄表被替換下來的期間,若記憶體控制器210有執行對記憶塊#1的寫入操作,則記憶體控制器210可直接修改記憶體陣列230中對應於記憶塊#1的寫入區間記錄表。
在一實施例中,一個寫入與否記錄表可對應於二個以上的記憶塊。舉例來說,第13圖顯示一個寫入與否記錄表對應於二個記憶塊,其中寫入與否記錄表的前2048個欄位對應於記憶塊#0的頁面#1至頁面#2048,後2048個欄位對應於記憶塊#4的頁面#2049至頁面#4096。在此實施例中,記憶體控制器210需要為寫入與否記錄表增加多個位元的標籤來代表欄位所對應的記憶塊。以第13圖的例子來說,記憶體控制器210為寫入與否記錄表增加三個位元的標籤000來代表對應於頁面碼#1~#2048的欄位是用來記錄記
憶塊#0,以及增加三個位元的標籤100來代表對應於頁面碼#2049~#4096的欄位是用來記錄記憶塊#4。
接下來將說明記憶體控制器210如何運用寫入區間記錄表、寫入與否記錄表及寫入計數值來避免儲存的資料因寫入干擾而損壞。
對應於每個記憶塊,記憶體控制器210可設定一檢查週期。當某一個記憶塊的寫入計數值達到檢查週期,記憶體控制器210對該記憶塊執行一檢查操作。對某一個記憶塊執行檢查操作係根據對應於記憶塊的寫入區間記錄表檢查該記憶塊中是否有頁面需要進行一資料刷新(data flush)的動作。對某一個頁面進行資料刷新是指記憶體控制器210將儲存在緩衝器220中對應於該頁面的的資料重新寫回該頁面,以維持該頁面儲存的資料的正確性,其中對應於該頁面的資料可以是在觸發資料刷新之前就已經儲存於緩衝器220中且相同於該頁面目前儲存的資料,或者是觸發資料刷新之後從該頁面中讀取並儲存至緩衝器220。
在一實施例中,檢查週期是固定的。例如,記憶體控制器210可將檢查週期固定設定為區間S2、S5、S8的開始或末尾。
在一實施例中,檢查週期係為可動態調整的。對於每個記憶塊,每當對該記憶塊的執行檢查操作之後,記憶體控制器210可將新的檢查週期設定為記錄在對應於該記憶塊的寫入區間記錄表的欄位中,最接近於目前區間的後續區間。所謂的後續區間是指在目前區間之後的區間。例如,區間S0的後續區間按照接近程度高至低依序為S1、S2、S3、S4、S5、S6、S7、S8、S9。又例如在,區間S5的後續區間按照接近程度高至低依序為S6、S7、S8、S9、
S0、S1、S2、S3、S4。舉例來說,假設初始的檢查週期設定為下一個區間S0開始時。對於某一個記憶塊,第一次檢查操作會在對應的寫入計數值達到100k之後觸發。觸發檢查操作後,記憶體控制器210可在根據對應的寫入與否記錄表(區間S9)更新對應的寫入區間記錄表後將對應的寫入區間記錄表載入緩衝器220。假設對應的寫入區間記錄表如第14圖所示。在區間S9結束且區間S0開始時,該記憶塊已經被執行寫入操作達100k次,代表若有頁面上次被寫入的區間是S0的話,該頁面在最壞的情況下已經受到100k次(容忍次數)的寫入干擾。在檢查操作中,記憶體控制器210會找出記載著相同於目前區間(在此例中為S0)的欄位。在第14圖中,對應於頁面碼#1、#4096的欄位記錄的是代表S0的0000,於是記憶體控制器210判斷頁面#1、#4096需要被執行資料刷新。接著,記憶體控制器210要決定下一個檢查週期。記憶體控制器210從對應的寫入區間記錄表中找出最接近於目前區間的後續區間。第14圖中,假設沒有欄位記錄的是代表區間S1的0001,於是最接近的後續區間是對應於頁面碼#2的欄位記錄的代表區間S2的0010。記憶體控制器210便會將下一次檢查週期設定為區間S2。
請參照第3圖,第3圖繪示根據本發明一實施例的記憶體裝置的操作方法的流程圖。第3圖的流程圖可由記憶體控制器210回應於來自中央處理單元110的每一個寫入請求執行。
步驟S301中,判斷是否觸發資料刷新。若判斷為是,執行步驟S302;若判斷為否,執行步驟S303。在一實施例中,當要寫入的是新資料(例如來自中央處理單元110)且緩衝器220的儲存空間已滿,記憶體控制器210可判斷觸發資料刷新。在一實施例
中,當當要寫入的資料是已經儲存在緩衝器220的舊版本資料或緩衝器220的儲存空間非已滿,記憶體控制器210可判斷不觸發資料刷新。
步驟S302中,將緩衝器220中的舊版本資料更新至記憶體陣列230中,並將新資料寫入至緩衝器2220。舉例來說,當新資料要被寫入的是一目標記憶塊,則記憶體控制器210根據緩衝器220中對應於目標記憶塊的舊版本資料對目標記憶塊進行資料刷新,並以新資料覆蓋緩衝器220中對應於目標記憶塊的舊版本資料。
步驟S303中,將資料寫入至記憶體陣列230。例如,將來自中央處理單元110的新資料寫入至緩衝器220,再將緩衝器220中的新資料寫入至記憶體陣列230,或是根據緩衝器220中的舊版本資料更新記憶體陣列230。
步驟S304中,更新寫入計數值及寫入與否記錄表。例如,當對目標記憶塊進行資料刷新後,更新對應於目標記憶塊的寫入計數值及寫入與否記錄表。
步驟S305中,判斷寫入計數值是否達到下一個區間,例如判斷在S304中被更新的寫入計數值是否達到下一個區間。若判斷為是,執行S306;若判斷為否,結束本流程。
步驟S306中,根據在S304中被更新的寫入計數值及寫入與否記錄表更新對應的寫入區間記錄表。
步驟S307中,根據更新的寫入計數值及檢查週期判斷是否觸發檢查操作。若判斷為是,執行S308;若判斷為否,結束本流程。
步驟S308中,將對應的記憶塊(例如目標記憶塊)的寫入區間記錄表載入至緩衝器220,掃描載入至緩衝器220的寫入區間記錄表以檢查是否有頁面需要進行資料刷新,若判斷為是,則對需要資料刷新的頁面進行資料刷新,並重置寫入計數值。
步驟S310中,更新寫入計數值及寫入與否記錄表。
請參照第4A~4B圖,第4A~4B圖繪示根據本發明另一實施例的記憶體裝置的操作方法的流程圖。第4A~4B圖的操作方法可以是由記憶體控制器210回應於來自中央處理單元110的每一個請求執行,其中請求可為寫入請求或讀取請求。
步驟S401中,判對請求的類型。若為讀取請求,執行S402;若為寫入請求,執行S403。
步驟S402中,讀取緩衝器220或記憶體陣列230中的資料。
步驟S403中,查詢寫入與否記錄表,以利執行S404。
步驟S404~S413與步驟S301~S310類似。步驟S404~S413的細節可參照前文的敘述,於此不贅述。
藉由本發明,可以減少實際執行寫入操作的次數,並且妥善管理寫入干擾,避免資料因寫入干擾而損壞。
綜上所述,雖然本發明已以實施例揭露如上,然其並非用以限定本發明。本發明所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作各種之更動與潤飾。因此,本發明之保護範圍當視後附之申請專利範圍所界定者為準。
20:記憶體裝置
210:記憶體控制器
220:緩衝器
230:記憶體陣列
Claims (10)
- 一種記憶體裝置,包括:一記憶體控制器;一緩衝器,耦接至該記憶體控制器或者內嵌於該記憶體控制器,該緩衝器的儲存空間係被該記憶體控制器配置以包括複數個組;以及一記憶體陣列,耦接至該記憶體控制器,且包括複數個記憶塊,其中該些組一對一對應於該些記憶塊,且各該組用以儲存要寫入至對應的該記憶塊的資料,該記憶體控制器係以組為基礎執行寫入操作,並且該記憶體控制器在對該些記憶塊的其中之一執行複數個寫入操作之前,根據對應於該記憶塊的該組中儲存的資料判斷是否可藉由將儲存於該記憶塊中的部分資料讀取至該緩衝器以減少實際執行寫入操作的次數,當判斷為是,則將儲存於該記憶塊中的該部分資料讀取至該緩衝器之後再以對應於該記憶塊的該組為基礎執行一或多次的寫入操作。
- 如請求項1所述之記憶體裝置,其中該記憶體控制器藉由一雜湊函數以將各該記憶塊的複數個頁面的複數個實體位址對應至相同的雜湊值。
- 如請求項1所述之記憶體裝置,其中該緩衝器包括複數個寫入計數值及複數個寫入與否記錄表,該些寫入計數值一對一對應於該些記憶塊,各該寫入計數值用以記錄對應的該記憶塊被執行寫入操作的次數,該些寫入計數值據有一起始值及一上限值,自該起始值起至該上限值止劃分為複數個區間,該些寫入與否記錄表用以記錄該些記憶塊的複數個頁面於對應的該些寫入計數值所對應的該些區間是否有被寫入。
- 如請求項3所述之記憶體裝置,其中該記憶體陣列包括複數個寫入區間記錄表,該些寫入區間記錄表一對一對應於該些記憶塊,各該寫入區間記錄表用以記錄對應的該記憶塊的該些頁面上次被執行寫入操作的該些區間。
- 如請求項4所述之記憶體裝置,其中該記憶體控制器於各該記憶塊對應的該寫入計數值所對應的該區間變更時,根據對應的該寫入與否記錄表更新對應的該寫入區間記錄表。
- 如請求項4所述之記憶體裝置,其中該記憶體控制器對應於各該記憶塊設定一檢查週期,當對應於各該記憶塊寫入計數值達到該檢查週期時,該記憶體控制器根據對應於各該記憶塊的該寫入週期記錄表及該檢查週期判斷是否處發一資料刷新。
- 一種記憶體裝置的操作方法,包括:配置一緩衝器的儲存空間以包括複數個組;以及將該些組一對一對應至一記憶體陣列的複數個記憶塊,其中各該組用以儲存要寫入至對應的該記憶塊的資料,且寫入操作係以組為基礎執行,並且,在對該些記憶塊的其中之一執行複數個寫入操作之前,根據對應於該記憶塊的該組中儲存的資料判斷是否可藉由將儲存於該記憶塊中的部分資料讀取至該緩衝器以減少實際執行寫入操作的次數,當判斷為是,則將儲存於該記憶塊中的該部分資料讀取至該緩衝器之後再以對應於該記憶塊的該組為基礎執行一或多次的寫入操作。
- 一種記憶體裝置的操作方法,包括:建立複數個寫入計數值及複數個寫入與否記錄表於一緩衝器;以及建立複數個寫入區間記錄表於一記憶體陣列,其中該些寫入計數值一對一對應於該記憶體陣列的複數個記憶塊,各該寫入計數值用以記錄對應的該記憶塊被執行寫入操作的次數,該些寫入計數值據有一起始值及一上限值,自該起始值起至該上限值止劃分為複數個區間,該些寫入與否記錄表用以記錄該些記憶塊的複數個頁面於對應的該些寫入計數值所對應的該些區間是否有被寫入,該些寫入區間記錄表一對一對應於該些記 憶塊,各該寫入區間記錄表用以記錄對應的該記憶塊的該些頁面上次被執行寫入操作的該區間。
- 如請求項8所述之操作方法,更包括:對於各該寫入區間記錄表,於對應的該記憶塊所對應的該寫入計數值對應的該區間變更時,根據對應的該記憶塊所對應的該寫入與否記錄表及該寫入計數值更新該寫入區間記錄表。
- 如請求項8所述之操作方法,更包括:對於各該記憶塊,設定一檢查週期;對於各該記憶塊,判斷對應的該寫入計數值是否達到該檢查週期;以及對於各該記憶塊,根據對應的該檢查週期及該寫入計數值判斷是否觸發一檢查操作;回應於觸發該檢查操作的判斷,根據對應的該寫入區間記錄表及該寫入計數值對應的該區間決定是否對該記憶塊的該些頁面中的一或多個進行資料刷新的動作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW111127933A TWI835221B (zh) | 2022-07-26 | 2022-07-26 | 記憶體裝置及其操作方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW111127933A TWI835221B (zh) | 2022-07-26 | 2022-07-26 | 記憶體裝置及其操作方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202405659A TW202405659A (zh) | 2024-02-01 |
TWI835221B true TWI835221B (zh) | 2024-03-11 |
Family
ID=90822920
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111127933A TWI835221B (zh) | 2022-07-26 | 2022-07-26 | 記憶體裝置及其操作方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI835221B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201405309A (zh) * | 2012-07-17 | 2014-02-01 | Via Tech Inc | 資料儲存裝置與其操作方法 |
CN104216837A (zh) * | 2013-05-31 | 2014-12-17 | 华为技术有限公司 | 一种内存***、内存访问请求的处理方法和计算机*** |
US20190087327A1 (en) * | 2017-09-21 | 2019-03-21 | Toshiba Memory Corporation | Memory system and method for controlling nonvolatile memory |
TW202121414A (zh) * | 2019-11-25 | 2021-06-01 | 補丁科技股份有限公司 | 用於在記憶體模組中累積並且儲存字線之各自的存取次數的方法以及設備 |
CN114546249A (zh) * | 2020-11-26 | 2022-05-27 | 爱思开海力士有限公司 | 数据存储装置及其操作方法 |
TW202228136A (zh) * | 2021-01-07 | 2022-07-16 | 慧榮科技股份有限公司 | 儲存裝置、快閃記憶體控制器及其控制方法 |
-
2022
- 2022-07-26 TW TW111127933A patent/TWI835221B/zh active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201405309A (zh) * | 2012-07-17 | 2014-02-01 | Via Tech Inc | 資料儲存裝置與其操作方法 |
CN104216837A (zh) * | 2013-05-31 | 2014-12-17 | 华为技术有限公司 | 一种内存***、内存访问请求的处理方法和计算机*** |
US20190087327A1 (en) * | 2017-09-21 | 2019-03-21 | Toshiba Memory Corporation | Memory system and method for controlling nonvolatile memory |
TW202121414A (zh) * | 2019-11-25 | 2021-06-01 | 補丁科技股份有限公司 | 用於在記憶體模組中累積並且儲存字線之各自的存取次數的方法以及設備 |
CN114546249A (zh) * | 2020-11-26 | 2022-05-27 | 爱思开海力士有限公司 | 数据存储装置及其操作方法 |
TW202228136A (zh) * | 2021-01-07 | 2022-07-16 | 慧榮科技股份有限公司 | 儲存裝置、快閃記憶體控制器及其控制方法 |
Also Published As
Publication number | Publication date |
---|---|
TW202405659A (zh) | 2024-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9329995B2 (en) | Memory device and operating method thereof | |
CN110998550B (zh) | 存储器寻址 | |
US20110113281A1 (en) | Data storage system and method | |
US20050015557A1 (en) | Nonvolatile memory unit with specific cache | |
TW200900930A (en) | Hierarchical immutable content-addressable memory processor | |
WO2018090255A1 (zh) | 内存访问技术 | |
EP3901775A1 (en) | Technologies for media management in column-addressable memory media systems | |
US20220084564A1 (en) | Memory device for processing a row-hammer refresh operation and a method of operating thereof | |
US11294819B2 (en) | Command optimization through intelligent threshold detection | |
US20210365200A1 (en) | Use Of Surplus Erase Block Pairs In Super Block Formation | |
US20050005057A1 (en) | [nonvolatile memory unit with page cache] | |
US11347420B2 (en) | Attribute mapping in multiprotocol devices | |
US11481150B2 (en) | Read modify write optimization for video performance | |
TWI835221B (zh) | 記憶體裝置及其操作方法 | |
US10877698B2 (en) | Semiconductor device for managing cold addresses of nonvolatile memory device | |
TWI635391B (zh) | 快閃記憶體以及其管理方法 | |
US11561713B2 (en) | Simplified high capacity die and block management | |
US20240036735A1 (en) | Memory device and operation method thereof | |
TWI453747B (zh) | 用來管理一快閃記憶體的複數個區塊之方法以及相關之記憶裝置及其控制器 | |
CN111694759B (zh) | 快闪存储器管理方法及快闪存储器 | |
US11380417B1 (en) | Circuit to reduce gating overall system performance | |
US20220050619A1 (en) | Access counting device, memory controller, and memory system | |
US10956085B2 (en) | Memory system and processor system | |
KR100281102B1 (ko) | 플래쉬메모리를사용한에이티에이(ata)카드 | |
JP2022551627A (ja) | 自己適応型ウェアレベリングの方法及びアルゴリズム |