TWI724930B - 記憶體裝置以及用於控制非揮發性記憶體的操作方法 - Google Patents
記憶體裝置以及用於控制非揮發性記憶體的操作方法 Download PDFInfo
- Publication number
- TWI724930B TWI724930B TW109121086A TW109121086A TWI724930B TW I724930 B TWI724930 B TW I724930B TW 109121086 A TW109121086 A TW 109121086A TW 109121086 A TW109121086 A TW 109121086A TW I724930 B TWI724930 B TW I724930B
- Authority
- TW
- Taiwan
- Prior art keywords
- partition
- memory cell
- read
- programmed
- partitions
- Prior art date
Links
Images
Landscapes
- Read Only Memory (AREA)
Abstract
本發明提供一種用於控制非揮發性記憶體的操作方法以及記憶體裝置。非揮發性記憶體包括多個分區。分區各包括多個記憶胞。操作方法包括:依據多次的遞增命令、分區順序以及記憶胞順序依序對所述多個記憶胞執行多次的編程操作;當接收到讀取命令時,依據分區順序以及記憶胞順序進行多次的讀取操作直到獲知最後被編程記憶胞;以及依據最後被編程記憶胞的位址運算出關聯於遞增命令的次數的重播防護單調計數值。
Description
本發明是有關於一種操作方法以及記憶體裝置,且特別是有關於一種用於重播防護單調計數器的操作方法以及記憶體裝置。
一般來說,記憶體裝置沒有提供任何針對硬件攻擊的保護。因此,駭客能夠對記憶體裝置進行竄改來修改記憶體裝置的內容。為了禁止駭客的攻擊行為,記憶體裝置被設計為必須首先對發送到記憶體裝置的命令進行使用者的身份驗證。進行身份驗證的方法是產生用於使用者和記憶體裝置進行驗證的簽名。
重播防護單調計數器(Replay-Protected Monotonic Counter,RPMC)是加密協定的其中之一。RPMC可用於加強記憶體裝置例如在物聯網(Internet of Things,IoT)等應用上的保密需求。RPMC會提供動態的重播防護單調計數值。RPMC能夠依據記憶體裝置的操作或記憶體裝置連接的相關裝置的操作來遞增重播
防護單調計數值,並依據外部的指令提供重播防護單調計數值。因此,重播防護單調計數值會隨機地被遞增。駭客並無法得知RPMC的重播防護單調計數值。僅使用者(因為他控制計數器的操作)以及記憶體裝置(因為信息存儲在存儲器陣列中)才知道重播防護單調計數值。換句話說,只有使用者能夠藉由重播防護單調計數值完成身份驗證,藉以獲得記憶體裝置的操作權。
RPMC會依據每一次的遞增命令以對一記憶體的多個記憶胞逐一地執行編程操作,並且在接收到讀取命令時才對編程操作的次數進行計數,藉以獲知重播防護單調計數值。應注意的是,RPMC必須逐一對記憶體的多個記憶胞進行讀取操作,藉以獲知因為遞增命令而被編程的記憶胞的數量。其中,讀取操作的次數大致上會與因為遞增命令被編程的記憶胞的數量呈正比。因此,當遞增命令被編程的記憶胞越多時,所需讀取操作的次數也就越多,使得RPMC會需要很長的時間來獲知重播防護單調計數值。
本發明提供一種能夠加速獲知重播防護單調計數值的操作方法以及記憶體裝置。
本發明的操作方法適用於控制非揮發性記憶體。非揮發性記憶體包括多個分區。所述多個分區彼此間具有分區順序。各所述多個分區的多個記憶胞彼此間具有相同的記憶胞順序。操作方法包括:依據多次的遞增命令、分區順序以及記憶胞順序依序對所
述多個分區的所述多個記憶胞執行多次的編程操作;當接收到讀取命令時,依據分區順序以及記憶胞順序進行多次的讀取操作直到獲知最後被編程記憶胞;以及依據最後被編程記憶胞的位址運算出關聯於遞增命令的次數的重播防護單調計數值。
本發明的記憶體裝置適用以作為重播防護單調計數器。記憶體裝置包括非揮發性記憶體以及控制器。非揮發性記憶體包括多個分區。所述多個分區彼此間具有分區順序。各所述多個分區的多個記憶胞彼此間具有相同的記憶胞順序。控制器耦接於非揮發性記憶體。控制器經配置以接收多次的遞增命令,依據遞增命令、分區順序以及記憶胞順序依序對所述多個分區的所述多個記憶胞執行多次的編程操作。控制器還經配置以當接收到讀取命令時,依據分區順序以及記憶胞順序進行多次的讀取操作直到獲知最後被編程記憶胞,並且依據最後被編程記憶胞的位址運算出重播防護單調計數值。
基於上述,本發明依據多次的遞增命令、分區順序以及記憶胞順序依序對記憶胞執行多次的編程操作。本發明依據一讀取命令、分區順序以及記憶胞順序執行多次的讀取操作以獲知最後被編程記憶胞。本發明還會進一步依據最後被編程記憶胞的位址運算出關聯於遞增命令的次數的重播防護單調計數值。如此一來,本發明能夠加速獲知重播防護單調計數值。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
100:電子裝置
110:非揮發性記憶體
120:控制器
SG1~SGN:分區
b1_1~b1_8、b2_1~b2_8:記憶胞
RS:重播防護單調計數值
ICMD:遞增命令
RCMD:讀取命令
S110~S140、S211~S219、S220~S231、S310~S319、S320~S329:步驟
(a)、(b)、(c):第二實施例的範例
(d)、(e)、(f):第三實施例的範例
圖1是依據本發明的第一實施例所繪示的操作方法的方法流程圖。
圖2是依據本發明的第一實施例所繪示的記憶體裝置的示意圖。
圖3及圖4分別是依據本發明的第二實施例所繪示的操作方法的編程步驟的方法流程圖及範例示意圖。
圖5及圖6分別是依據本發明的第二實施例所繪示的操作方法的讀取步驟的方法流程圖及範例示意圖。
圖7及圖8分別是依據本發明的第三實施例所繪示的操作方法的編程步驟的方法流程圖及範例示意圖。
圖9及圖10分別是依據本發明的第三實施例所繪示的操作方法的讀取步驟的方法流程圖及範例示意圖。
圖1是依據本發明的第一實施例所繪示的操作方法的方法流程圖。圖2是依據本發明的第一實施例所繪示的記憶體裝置的示意圖。請參考圖1及圖2,記憶體裝置100包括非揮發性記憶體110及控制器120。非揮發性記憶體110包括N個分區SG1~SGN,而各分區SG1~SGN各具有M個記憶胞,M、N皆為大於1的正整數。亦即,各分區SG1~SGN各具有M個位元。其中,各分區SG1~SGN彼此間具有分區順序。各分區SG1~SGN中的M個記憶
胞彼此間具有相同的記憶胞順序。在本實施例中,分區順序及記憶胞順序分別是用於關聯於遞增命令ICMD的編程順序。分區順序及記憶胞順序也分別是用於關聯於重播防護單調計數器(Replay-Protected Monotonic Counter,RPMC)的記憶胞讀取順序。非揮發性記憶體110可例如是鐵電隨機存取記憶體、相變化隨機存取記憶體、磁阻式隨機存取記憶體和電阻式隨機存取記憶體或其組合。
在本實施例中,控制器120耦接於非揮發性記憶體110。控制器120在步驟S110中接收多次的遞增命令ICMD,依據多次的遞增命令ICMD、分區順序以及記憶胞順序依序對分區SG1~SGN的記憶胞執行多次的編程操作。例如,在步驟S110中,控制器120在接收到第一次遞增命令ICMD時,依據分區順序及記憶胞順序進行對分區SG1~SGN的單一個記憶胞執行的單一次編程操作。接著當控制器120在接收到第二次遞增命令ICMD時,依據分區順序以及記憶胞順序進行對分區SG1~SGN的另一個記憶胞執行的單一次編程操作。亦即,在每接收到一次遞增命令ICMD時,控制器120會對非揮發性記憶體110依據分區順序以及記憶胞順序進行一次編程操作。在本實施例中,編程操作是將記憶胞的邏輯值由「1」轉換為「0」的操作。
控制器120在步驟S120中接收一讀取命令RCMD,依據讀取命令RCMD、分區順序以及記憶胞順序進行多次的讀取操作直到獲知最後被編程記憶胞。例如,在步驟S120中,控制器120在接收到讀取命令RCMD時,依據分區順序以及記憶胞順序對非
揮發性記憶體110進行多次的讀取操作。當控制器120獲知非揮發性記憶體110中的最後被編程記憶胞時,會停止讀取操作。
控制器120在步驟S130中會依據最後被編程記憶胞的資訊運算出關聯於遞增命令ICMD次數的重播防護單調計數值RS。具體而言,控制器120可根據最後被編程記憶胞的位址運算出被編程記憶胞的數量(等同於遞增命令ICMD的次數),進而運算出關聯於遞增命令ICMD次數的重播防護單調計數值RS。
值得一提的是,控制器120基於分區順序及記憶胞順序對非揮發性記憶體110進行編程操作。控制器120也基於分區順序以及記憶胞順序對非揮發性記憶體110進行讀取操作直到獲知最後被編程記憶胞,並依據最後被編程記憶胞的資訊運算出重播防護單調計數值RS。相比於現行的RPMC必須逐一對記憶體的多個記憶胞進行讀取操作的方式,記憶體裝置100能夠更快速地獲知重播防護單調計數值RS。
圖3是依據本發明的第二實施例所繪示的操作方法的編程步驟的方法流程圖。請參考圖1至圖3,本實施例的編程步驟適用於第一實施例的步驟S110。在本實施例中,控制器120在步驟S211中會初始化一基礎值B。此處,控制器120例如是將基礎值B初始設定為0(本發明不限於此)。本實施例中,基礎值B是用於當非揮發性記憶體110中所有分區SG1~SGN的記憶胞皆被編程過時,累計非揮發性記憶體110中被編程的記憶胞總數。具體而言,當非揮發性記憶體110中所有分區SG1~SGN的記憶胞皆被
編程過時,控制器120會將基礎值B加上一預設值後,再抹除非揮發性記憶體110中所有分區SG1~SGN的記憶胞。本實施例中,預設值例如等於非揮發性記憶體110中的記憶胞總數。例如,若共有8個分區SG1~SG8(即N=8),且每個分區各有4,096個位元(即M=4096),則預設值可以是N*M=32,768。在一些實施例中,預設值可以是大於非揮發性記憶體110中的記憶胞總數。在本實施例中,抹除操作是將記憶胞的邏輯值由「0」轉換為「1」的操作。
在步驟S212中,控制器120會初始設定編程分區及編程分區中被編程的目標記憶胞的位址。具體而言,控制器120是將第j分區設定為編程分區,並將第j分區的第i位元記憶胞設定為被編程的目標記憶胞,因此控制器120在步驟S212中會初始化設定i及j的值。舉例來說,控制器120例如是將第1分區設定為編程分區,並將編程分區的第1位元記憶胞初始設定為被編程的目標記憶胞(即設定i=1,j=1)。亦即,步驟S211、S212是編程步驟中的初始化步驟。在本實施例中,1≦j≦N,1≦i≦M。
在步驟S213中,當控制器120接收到遞增命令ICMD,控制器120會在步驟S214中對目標記憶胞執行編程操作。例如,當控制器120在步驟S213中第一次接收到遞增命令ICMD時,控制器120會對第1分區的第1位元記憶胞執行編程操作。如果控制器120在步驟S213中沒有接收到遞增命令ICMD,則會維持在步驟S213以等待遞增命令ICMD。
在步驟S215中,控制器120會判斷目標記憶胞是否為編
程分區的最後位元記憶胞。如果目標記憶胞並非編程分區的最後位元記憶胞,控制器120會在步驟S216中將下一位元記憶胞設定為目標記憶胞,並回到步驟S213等待下一個遞增命令ICMD。具體而言,控制器120會在步驟S216中依據記憶胞順序將編程分區下一位元記憶胞設定為目標記憶胞,例如是進行i=i+1的設定(j值不變)。亦即,本實施例中,控制器120會依據記憶胞順序遞增以對編程分區的多個記憶胞基於步驟S213~S216的循環執行編程操作。在其他實施例中,步驟S212中控制器120可將第1分區SG1的最後位元記憶胞初始設定為被編程的目標記憶胞(即設定i=M,j=1),此時步驟S216中則可進行i=i-1的設定,因此控制器120是依據記憶胞順序遞減以對編程分區的多個記憶胞基於步驟S213~S216的循環執行編程操作。
另一方面,在步驟S215中,如果目標記憶胞是編程分區的最後位元記憶胞,代表編程分區的最後位元記憶胞已被編程。此時,控制器120會在步驟S217中判斷編程分區是否為最後的分區。如果編程分區並非最後的分區,控制器120會在步驟S218中將下一個分區的第1位元記憶胞設定為目標記憶胞,並回到步驟S213等待下一個遞增命令ICMD。具體而言,控制器120會在步驟S218中依據分區順序將下一個分區設定為編程分區,並依據記憶胞分區將編程分區的第1記憶胞設定為目標記憶胞,例如是進行j=j+1及i=1的設定。亦即,本實施例中,當編程分區的多個記憶胞都被編程完畢後,控制器120會依據分區順序遞增以對下一個分區的
多個記憶胞基於步驟S213~S216的循環執行編程操作。
另一方面,在步驟S217中,如果編程分區是最後的分區,控制器120會在步驟S219中更新基礎值B,對所有分區SG1~SGN的記憶胞執行抹除操作,並回到步驟S212重新初始設定編程分區及編程分區中被編程的目標記憶胞的位址。亦即,當所有分區SG1~SGN的記憶胞被編程時,控制器120會更新基礎值B並抹除所有記憶胞後,重新開始執行步驟S212。本實施例中,基礎值B在步驟S219中會被加入一預設值。預設值大於或等於所有分區SG1~SGN的記憶胞的總數。之後,控制器120會回到步驟S212以初始化i值及j值。
圖4是依據本發明的第二實施例所繪示的操作方法的編程步驟的範例示意圖。圖4中是以兩個分區SG1、SG2各包括8個記憶胞為例。分區SG1包括記憶胞b1_1~b1_8。分區SG2包括記憶胞b2_1~b2_8。範例(a)是接收到5次遞增命令ICMD的編程結果。範例(b)是接收到10次遞增命令ICMD的編程結果。範例(c)是接收到16次遞增命令ICMD的編程結果。
請參考圖2至圖4,首先,控制器120會將基礎值B設定為0,將第1分區設定為編程分區,並將編程分區SG1的第1位元記憶胞b1_1設定為被編程的目標記憶胞(步驟S211、S212)。當接收到遞增命令ICMD時,控制器120會對目標記憶胞b1_1執行編程操作(步驟213、S214)。接著,控制器120會判斷出目標記憶胞b1_1不是編程分區SG1的最後位元記憶胞(步驟S215)。
因此,控制器120會依據記憶胞順序將編程分區SG1的下一位元記憶胞b1_2設定為目標記憶胞(步驟S216),並在下次收到遞增命令ICMD時,對目標記憶胞b1_2進行編程操作(步驟S213、S214),依此類推。當接收到第5次的遞增命令ICMD時,控制器120會對編程分區SG1的第5位元記憶胞b1_5執行編程操作(如範例(a)所示)。
當接收到第8次的遞增命令ICMD時,控制器120會對編程分區SG1的第8位元記憶胞b1_8執行編程操作(步驟S213、S214)。接著,控制器120會判斷出目標記憶胞b1_8是編程分區SG1的最後位元,並且編程分區SG1不是最後的分區(步驟S215、S217)。因此,控制器120會依據分區順序將下一個分區SG2設定為編程分區,並將編程分區SG2的第1位元記憶胞b2_1設定為目標記憶胞(步驟S218),再重新基於步驟S213~S216的循環對編程分區SG2的記憶胞執行編程操作。因此,當接收到第9次的遞增命令ICMD時,控制器120會編程分區SG2的第1位元記憶胞b2_1執行編程操作。接著,當接收到第10次的遞增命令ICMD時,控制器120會對編程分區SG2的第2位元記憶胞b2_2執行編程操作(如範例(b)所示),依此類推。當接收到第16次的遞增命令ICMD時,控制器120會對編程分區SG2的第8位元記憶胞b2_8執行編程操作(如範例(c)所示)。此時,控制器120會判斷出目標記憶胞b2_8是編程分區SG2的最後位元,並且編程分區SG2是最後的分區(步驟S215、S217)。
接著,控制器120會更新基礎值B,對所有分區SG1、SG2執行抹除操作(步驟S219),並在重新初始設定編程分區及編程分區中被編程的目標記憶胞的位址後(步驟S212),等待下一次的遞增命令ICMD。此處,例如是將基礎值B加上16,因此更新後基礎值B會等於16。
圖5是依據本發明的第二實施例所繪示的操作方法的讀取步驟的方法流程圖。請參考圖1、圖2及圖5,本實施例的讀取步驟適用於第一實施例的步驟S120,並在控制器120接收到一讀取命令RCMD時開始執行。在步驟S221中,控制器120會初始設定讀取分區及讀取分區中被讀取的目標記憶胞的位址。具體而言,控制器120是將第j分區設定為讀取分區,並將讀取分區的第i位元記憶胞設定為被讀取的目標記憶胞,因此控制器120在步驟S221中會初始化設定i及j的值。舉例來說,控制器120例如是將第1分區設定為讀取分區,並將讀取分區的第1位元記憶胞初始設定為被讀取的目標記憶胞(即設定i=1,j=1)。控制器120接著會在步驟S222中對目標記憶胞執行讀取操作,並在步驟S223中判斷目標記憶胞是否為被編程的記憶胞。如果目標記憶胞是被編程的記憶胞,控制器120會在步驟S224中判斷讀取分區是否為最後分區。如果讀取分區並非最後分區,控制器120會在步驟S225中將下一個分區的第i位元記憶胞設定為目標記憶胞,並回到步驟S222對目標記憶胞執行讀取操作。具體而言,控制器120會在步驟S225中依據分區順序將下一個分區設定為讀取分區,並將讀
取分區的第i位元記憶胞設定為目標記憶胞,例如是進行j=j+1的設定(i值不變)。亦即,如果控制器120在步驟S223及S224中判斷出目標記憶胞是被編程的記憶胞,並且讀取分區並非最後的分區,控制器120會依據分區順序遞增將下一個分區的第i位元記憶胞設定為目標記憶胞。
在步驟S222~S225的循環中,i值皆未改變(例如,此處都維持為1)。因此,控制器120會依據分區順序逐一讀取各分區的第i位元記憶胞直到發現未被編程的第i位元記憶胞(步驟S223-否)或所有分區的第i位元記憶胞皆為被編程的記憶胞(步驟S224-是)為止。
另一方面,如果控制器120在步驟S223中判斷出目標記憶胞並非被編程的記憶胞時,控制器120會在步驟S226中將前一個分區設定為讀取分區,將讀取分區的下一位元記憶胞設定為目標記憶胞,並在步驟S227中對目標記憶胞執行讀取操作。具體而言,控制器120會在步驟S226中依據分區順序將前一個分區設定為讀取分區,並依據記憶胞順序將下一位元記憶胞設定為目標記憶胞,例如是進行j=j-1及i=i+1的設定。亦即,當控制器120在步驟S222~S225的循環中發現未被編程的第i位元記憶胞時,控制器120會接著對前一個分區的下一位元記憶胞執行讀取操作。
接著,控制器120會在步驟S228中判斷目標記憶胞是否為被編程的記憶胞。如果目標記憶胞並非被編程的記憶胞,控制器120則在步驟S231中獲知最後被編程記憶胞。亦即,此時第j分
區的第(i-1)位元記憶胞是最後被編程記憶胞。
如果控制器120在步驟S228中判斷出目標記憶胞是被編程的記憶胞,控制器120會在步驟S229中判斷目標記憶胞是否為讀取分區的最後位元記憶胞。如果目標記憶胞是讀取分區的最後位元記憶胞,控制器120也會在步驟S231中獲知最後被編程記憶胞。亦即,此時第j分區的第i位元記憶胞是最後被編程記憶胞。
此外,如果控制器120在步驟S229中判斷出目標記憶胞並非讀取分區的最後位元記憶胞,則控制器120會在步驟S230中將下一位元記憶胞設定為目標記憶胞。具體而言,控制器120會在步驟S230中依據記憶胞順序將讀取分區的下一位元記憶胞設定為目標記憶胞,例如進行i=i+1的設定(j值不變)。接著,控制器120會回到步驟S227繼續對目標記憶胞執行讀取操作。此外,當控制器120在步驟S224中判斷出讀取分區是最後分區時,控制器120會執行步驟S230。
由此可知,本實施例中,基於步驟S226~S231,控制器120會依據分區順序及記憶胞順序讀取前一個分區的多個記憶胞。接著,控制器120會依據在此分區中第一次讀取到沒有被編程的記憶胞的判斷結果及此分區的多個記憶胞都被編程的判斷結果的其中之一獲知最後被編程記憶胞。
圖6是依據本發明的第二實施例所繪示的操作方法的讀取步驟的範例示意圖。在圖6的範例中是對圖4的範例(a)~(c)的編程結果進行讀取操作為例。
請參考圖1~2及圖4~6。在讀取範例(a)的編程結果時,首先,控制器120會將第1分區SG1設定為讀取分區,將讀取分區SG1的第1位元記憶胞b1_1設定為被讀取的目標記憶胞,並對目標記憶胞b1_1執行讀取操作(步驟S221、S222)。控制器120接著判斷出目標記憶胞b1_1是被編程的記憶胞,並且讀取分區SG1並非最後的分區(步驟S223、S224),因此,控制器120會依據分區順序將下一個分區SG2設定為讀取分區,將讀取分區SG2的第1位元記憶胞b2_1設定為目標記憶胞,並繼續對目標記憶胞b2_1執行讀取操作(步驟225、S222)。控制器120接著判斷出目標記憶胞b2_1並非被編程的記憶胞(步驟S223),因此控制器120會依據分區順序將前一個分區SG1設定為讀取分區,將讀取分區SG1的下一位元記憶胞b1_2設定為目標記憶胞,並繼續對目標記憶胞b1_2執行讀取操作(步驟S226、S227)。控制器120接著判斷出目標記憶胞b1_2是被編程的記憶胞,並且目標記憶胞b1_2並非讀取分區SG1的最後位元記憶胞(步驟S228、S229)。因此,控制器120會依據記憶胞順序將讀取分區SG1的下一位元記憶胞b1_3設定為目標記憶胞,並繼續對目標記憶胞b1_3執行讀取操作(步驟S230、S227),依此類推。當控制器120讀取到目標記憶胞b1_6時,會判斷出目標記憶胞b1_6並非被編程的記憶胞(步驟S227、S228),因此會獲知此時讀取分區SG1的前一個位元的記憶胞b1_5是最後被編程記憶胞(步驟S231)。在範例(a)中,控制器120能夠在歷經7次的讀取操作以獲知記憶胞b1_5是最後被編程
記憶胞。
在讀取範例(b)的編程結果時,首先,控制器120會將第1分區SG1設定為讀取分區,將讀取分區SG1的第1位元記憶胞b1_1設定為被讀取的目標記憶胞,並對目標記憶胞b1_1執行讀取操作(步驟S221、S222)。控制器120接著判斷出目標記憶胞b1_1是被編程的記憶胞,並且讀取分區SG1並非最後的分區(步驟S223、S224),因此控制器120會依據分區順序將下一個分區SG2設定為讀取分區,將讀取分區SG2的第1位元記憶胞b2_1設定為目標記憶胞,並繼續對目標記憶胞b2_1執行讀取操作(步驟225、S222)。控制器120接著判斷出目標記憶胞b2_1是被編程的記憶胞,並且讀取分區SG2是最後的分區(步驟S223、S224)。因此,控制器120會依據記憶胞順序將讀取分區SG2的下一位元記憶胞b2_2設定為目標記憶胞,並繼續對目標記憶胞b2_2執行讀取操作(步驟S230、S227)。控制器120接著判斷出目標記憶胞b2_2是被編程的記憶胞,並且目標記憶胞b2_2並非第2分區的最後位元記憶胞(步驟S228、S229),因此,控制器120會依據記憶胞順序將讀取分區SG2的下一位元記憶胞b2_3設定為目標記憶胞,並繼續對目標記憶胞b2_3執行讀取操作(步驟S230、S227)。控制器120接著會判斷出目標記憶胞b2_3並非被編程的記憶胞,因此會獲知此時前一個位元的記憶胞b2_2是最後被編程記憶胞(步驟S228、S231)。在範例(b)中,控制器120可在歷經4次的讀取操作以獲知記憶胞b2_2是最後被編程記憶胞。
在讀取範例(c)的編程結果時,首先,控制器120會將第1分區SG1設定為讀取分區,將讀取分區SG1的第1位元記憶胞b1_1設定為被讀取的目標記憶胞,並對目標記憶胞b1_1執行讀取操作(步驟S221、S222)。控制器120接著判斷出目標記憶胞b1_1是被編程的記憶胞,並且讀取分區SG1並非最後的分區(步驟S223、S224),因此控制器120會依據分區順序將下一個分區SG2設定為讀取分區,將讀取分區SG2的第1位元記憶胞b2_1設定為目標記憶胞,並繼續對目標記憶胞b2_1執行讀取操作(步驟225、S222)。控制器120接著判斷出目標記憶胞b2_1是被編程的記憶胞,並且讀取分區SG2是最後的分區(步驟S223、S224)。因此,控制器120會依據記憶胞順序將讀取分區SG2的下一位元記憶胞b2_2設定為目標記憶胞,並繼續對目標記憶胞b2_2執行讀取操作(步驟S230、S227)。控制器120接著判斷出目標記憶胞b2_2是被編程的記憶胞,並且目標記憶胞b2_2並非第2分區的最後位元記憶胞(步驟S228、S229),因此,控制器120會依據記憶胞順序將讀取分區SG2的下一位元記憶胞b2_3設定為目標記憶胞,並繼續對目標記憶胞b2_3執行讀取操作(步驟S230、S227),依此類推。當控制器120讀取到目標記憶胞b2_8時,會判斷出目標記憶胞b2_8是被編程的記憶胞(步驟S227、S228),控制器120接著判斷出目標記憶胞b2_8是讀取分區SG2的最後位元記憶胞,因此會獲知此時目標記憶胞b2_8即為最後被編程記憶胞(步驟S231)。在範例(c)中,控制器120可在歷經9次的讀取操作以獲知記憶胞b2_8是
最後被編程記憶胞。
請再次參考圖1~2及圖4~6,當最後被編程記憶胞被獲知後,控制器120會在圖1的步驟S130中依據基礎值B及最後被編程記憶胞的位址運算出關聯於遞增命令ICMD的次數的重播防護單調計數值RS。例如,以第二實施例的範例(b)為例,最後被編程記憶胞是記憶胞b2_2。基於記憶胞b2_2能夠獲知本範例中第1分區SG1的所有記憶胞b1_1~b1_8及第2分區SG2的記憶胞b2_1~b2_2都被編程。由於遞增命令ICMD的次數會等於所有被編程記憶胞的位元數(也就是10)及基礎值(也就是0)的總和,而重播防護單調計數值RS會等於遞增命令ICMD的次數。因此,重播防護單調計數值RS等於10。
圖7是依據本發明的第三實施例所繪示的操作方法的編程步驟的方法流程圖。請參考圖1、圖2及圖7,本實施例的編程步驟適用於第一實施例的步驟S110。本實施例的步驟S311~S314可參考第二實施例的步驟S211~S214的相關說明,在此不再贅述。
接續步驟S314,在步驟S315中,控制器120會判斷編程分區是否為最後的分區。如果編程分區並非最後的分區,控制器120會在步驟316中將下一個分區設定為讀取分區,將讀取分區的第i位元記憶胞設定為目標記憶胞,並回到步驟S313等待下一個遞增命令ICMD。具體而言,控制器120會在步驟S316中依據分區順序將下一個分區設定為編程分區,並將編程分區的第i位元記憶胞設定為目標記憶胞,例如是進行j=j+1的設定(i值不變)。
亦即,本實施例中,控制器S120會依據分區順序遞增對所有分區的第i位元記憶胞基於步驟S313~S316的循環執行編程操作。
另一方面,在步驟S315中,如果編程分區是最後的分區,代表所有分區的第i位元記憶胞已被編程。此時,控制器120會在步驟S317中判斷目標記憶胞是否為編程分區的最後位元記憶胞。如果目標記憶胞並非最後位元記憶胞,控制器120會在步驟S318中將第1分區的下一位元記憶胞設定為目標記憶胞,並回到步驟S313等待下一個遞增命令ICMD。具體而言,控制器會在步驟S318中依據分區順序將第1分區設定為編程分區,並依據記憶胞順序將下一位元記憶胞設定為目標記憶胞,例如是進行j=1及i=i+1的設定。亦即,本實施例中,當所有分區SG1~SGN的第i位元記憶胞皆被編程後,控制器120會接著對所有分區的下一位元記憶胞基於步驟S313~S316的循環執行編程操作。
另一方面,在步驟S317中,如果目標記憶胞是編程分區的最後位元記憶胞,控制器120會在步驟S319中更新基礎值B,並對所有分區SG1~SGN的記憶胞進行抹除操作。本實施例的步驟S319可參考第二實施例的步驟S219的相關說明,故不再贅述。
圖8是依據本發明的第三實施例所繪示的操作方法的編程步驟的範例示意圖。圖8中是以兩個分區SG1、SG2各包括8個記憶胞為例。分區SG1包括記憶胞b1_1~b1_8。分區SG2包括記憶胞b2_1~b2_8。範例(d)是接收到7次遞增命令ICMD的編程結果。範例(e)是接收到10次遞增命令ICMD的編程結果。
請參考圖2、圖7及圖8,首先,控制器120會將基礎值B設定為0,將第1分區設定為編程分區,並將編程分區SG1的第1位元記憶胞b1_1設定為被編程的目標記憶胞(步驟S311、S312)。當接收到遞增命令ICMD時,控制器120會對目標記憶胞b1_1執行編程操作(步驟S313、S314)。接著,控制器120會判斷出編程分區SG1不是最後的分區(步驟S315)。因此,控制器120會依據分區順序將下一個分區SG2設定為編程分區,將編程分區SG2的第1位元記憶胞b2_1設定為目標記憶胞(步驟S316),並在下次接收到遞增命令ICMD時,對目標記憶胞b2_1執行編程操作(步驟S313、S314)。接著,控制器120會判斷出讀取分區SG2是最後的分區,並判斷出目標記憶胞並非最後位元記憶胞(步驟S315、S317)。因此,控制器120會將第1分區設定為編程分區,並將編程分區的下一位元記憶胞b1_2為目標記憶胞(步驟S318)。當再次接收到遞增命令ICMD時,控制器120會對目標記憶胞b1_2執行編程操作(步驟S313、S314),依此類推。當接收到第7次的遞增命令ICMD時,控制器120會對第1分區SG1的第4位元記憶胞b1_4執行編程操作(步驟S313、S314,此時記憶胞b2_2、b1_3、b2_3亦已執行過編程操作,如範例(d)所示)。當接收到第10次的遞增命令ICMD時,控制器120會對第2分區SG2的第5位元記憶胞b2_5執行編程操作(步驟S313、S314,此時記憶胞b2_4、b1_5亦已執行過編程操作,如範例(e)所示)。當接收到第16次的遞增命令ICMD時,控制器120會對第2分區
SG2的第8位元記憶胞b2_8執行編程操作(步驟S313、S314,此時記憶胞b1_6、b2_6、b1_7、b2_7、b1_8亦已執行過編程操作,如範例(f)所示)。
圖9是依據本發明的第三實施例所繪示的操作方法的讀取步驟的方法流程圖。請參考圖1、圖2及圖9,本實施例的讀取步驟適用於第一實施例的步驟S120,並在控制器120接收到一讀取命令RCMD時開始執行。在步驟S321中,控制器120會初始設定讀取分區及讀取分區中被讀取的目標記憶胞的位址。具體而言,控制器120是將第j分區設定為讀取分區,並將讀取分區的第i位元記憶胞設定為被讀取的目標記憶胞,因此控制器120在步驟S321中會初始化設定i及j的值。舉例來說,控制器120例如是將最後分區設定為讀取分區,並將讀取分區的第1位元記憶胞初始設定為被讀取的目標記憶胞(即設定i=1,j=N)。控制器120接著會在步驟S322中對目標記憶胞執行讀取操作,並在步驟S323中判斷目標記憶胞是否為被編程的記憶胞。如果目標記憶胞是被編程的記憶胞,控制器120會在步驟S324中判斷目標記憶胞是否為讀取分區的最後位元記憶胞。如果目標記憶胞並非讀取分區的最後位元記憶胞,控制器會在步驟S325中將下一位元記憶胞設定為目標記憶胞,並回到步驟S322對目標記憶胞執行讀取操作。具體而言,控制器120會在步驟S325中依據記憶胞順序將讀取分區的下一位元記憶胞設定為目標記憶胞,例如是進行i=i+1的設定(j值不變)。
如果控制器120在步驟S323中判斷出目標記憶胞並非被編程的記憶胞,控制器120會在步驟S327中將前一個分區的第i位元記憶胞設定為目標記憶胞,並在步驟S328中對目標記憶胞執行讀取操作。具體而言,控制器120會在步驟S326中依據分區順序將前一個分區設定為讀取分區,並將讀取分區的第i位元記憶胞設定為目標記憶胞,例如是進行j=j-1的設定(i值不變)。亦即,如果控制器120在步驟S322~S325的循環中發現未被編程的第i位元記憶胞時,控制器120會對前一個分區的第i位元記憶胞執行讀取操作。
接著,控制器120會在步驟S328中判斷目標記憶胞是否為被編程的記憶胞。如果目標記憶胞是被編程的記憶胞,控制器120在步驟S330中會獲知最後被編程記憶胞。亦即,此時第j分區的第i位元記憶胞是最後被編程記憶胞。
然而,當控制器120在步驟S328中判斷出目標記憶胞並非被編程的記憶胞時,控制器120會在步驟S329中判斷讀取分區是否為第1分區。如果讀取分區並非第1分區,控制器120會回到步驟S326接著將前一個分區設定為讀取分區,將讀取分區的第i位元記憶胞設定為目標記憶胞,並在步驟S327中對目標記憶胞執行讀取操作。
另一方面,如果控制器120在步驟S329中判斷出讀取分區是第1分區時,控制器120也會在步驟S330中獲知最後被編程記憶胞。亦即,由於在步驟S326~S329中判斷出所有分區的第i位
元記憶胞都沒有被編程,因此,根據步驟S321~S325的讀取結果可知最後分區的第i-1位元是最後被編程記憶胞。
此外,在步驟S324中,如果控制器120判斷出目標記憶胞是最後位元記憶胞,代表所有分區的記憶胞皆已被編程,因此也會在步驟S330中獲知最後被編程記憶胞。亦即,最後分區的最後位元記憶胞是最後被編程記憶胞。
由此可知,本實施例中,控制器120會先在步驟S322~S325中依據記憶胞順序逐一讀取最後分區(即第N分區SGN)中的記憶胞。然後,當控制器120在最後分區中第一次讀取到未被編程的第i位元記憶胞時,控制器120會在步驟S326~S329中依據分區順序遞減逐一讀取各分區的第i位元記憶胞。接著,控制器120會依據第一次讀取到被編程的第i位元記憶胞的判斷結果(步驟S328-是)、所有分區的第i位元記憶胞都沒有被編程的判斷結果(步驟S329-是)以及所有分區的記憶胞都被編程的判斷結果(步驟S324-是)來獲知最後被編程記憶胞。
圖10是依據本發明的第三實施例所繪示的操作方法的讀取步驟的範例示意圖。在圖10的範例中是對圖8的範例(d)~(f)的編程結果進行讀取操作為例。
請參考圖1~2及圖8~10。在讀取範例(d)的編程結果時,首先,控制器120會將最後分區SG2設定為讀取分區,將讀取分區SG2的第1位元記憶胞b2_1設定為被讀取的目標記憶胞,並對目標記憶胞b2_1執行讀取操作(步驟S321、S322)。控制器120
接著判斷出目標記憶胞b2_1是被編程的記憶胞,並且目標記憶胞b2_1並非最後分區的最後位元記憶胞(步驟S323、S324)。因此,控制器120會依據記憶胞順序將讀取分區SG2的下一位元記憶胞b2_2設定為目標記憶胞,並繼續對目標記憶胞b2_2執行讀取操作(步驟S325、S322),依此類推。當讀取到最後分區SG2的第4位元記憶胞b2_4時,控制器120會判斷出目標記憶胞b2_4並非被編程的記憶胞(步驟S322、S323)。控制器120接著會將前一個分區SG1的第4位元記憶胞b1_4設定為目標記憶胞,並繼續對目標記憶胞b1_4執行讀取操作(步驟S326、S327)。控制器120接著會判斷出目標記憶胞b1_4是被編程的記憶胞,因此會獲知目標記憶胞b1_4是最後被編程記憶胞(步驟S328、S330)。在範例(d)中,控制器120可在歷經5次的讀取操作獲知記憶胞b1_4是最後被編程記憶胞。
在讀取範例(e)的編程結果時,首先,控制器120會將最後分區SG2設定為讀取分區,將讀取分區SG2的第1位元記憶胞b2_1設定為被讀取的目標記憶胞,並對目標記憶胞b2_1執行讀取操作(步驟S321、S322)。控制器120接著判斷出目標記憶胞b2_1是被編程的記憶胞,並且目標記憶胞b2_1並非最後分區的最後位元記憶胞(步驟S323、S324)。因此,控制器120會依據記憶胞順序將讀取分區SG2的下一位元記憶胞b2_2設定為目標記憶胞,並繼續對目標記憶胞b2_2執行讀取操作(步驟S325、S322),依此類推。當讀取到最後分區SG2的第6位元記憶胞b2_6時,控制器
120會判斷出目標記憶胞b2_6並非被編程的記憶胞(步驟S322、S323)。控制器120接著會將前一個分區SG1設定為讀取分區,將讀取分區SG1的第6位元記憶胞b1_6設定為目標記憶胞,並繼續對目標記憶胞b1_6執行讀取操作(步驟S326、S327)。控制器120接著會判斷出目標記憶胞b1_6並非被編程的記憶胞,且此時的分區SG1是第1分區(步驟S328、S329),因此會獲知記憶胞b2_5是最後被編程記憶胞(步驟S330)。在範例(e)中,控制器120能夠在歷經7次的讀取操作獲知記憶胞b2_5是最後被編程記憶胞。
在讀取範例(f)的編程結果時,首先,控制器120會將最後分區SG2設定為讀取分區,將讀取分區SG2的第1位元記憶胞b2_1設定為被讀取的目標記憶胞,並對目標記憶胞b2_1執行讀取操作(步驟S321、S322)。控制器120接著判斷出目標記憶胞b2_1是被編程的記憶胞,並且目標記憶胞b2_1並非最後分區的最後位元記憶胞(步驟S323、S324)。因此,控制器120會依據記憶胞順序將讀取分區SG2的下一位元記憶胞b2_2設定為目標記憶胞,並繼續對目標記憶胞b2_2執行讀取操作(步驟S325、S322),依此類推。當讀取到最後分區SG2的第8位元記憶胞b2_8時(步驟S322),控制器120會判斷出目標記憶胞b2_8是被編程的記憶胞,並且目標記憶胞b2_8是最後分區的最後位元記憶胞(步驟S323、S324),因此會獲知目標記憶胞b2_8是最後被編程記憶胞(步驟S330)。在範例(f)中,控制器120可在歷經8次的讀取操作獲知記憶胞b2_8是最後被編程記憶胞。
請回到圖1及圖2的實施例,當獲知最後被編程記憶胞後,控制器120會在圖1的步驟S130中依據基礎值B及最後被編程記憶胞的位址運算出關聯於遞增命令ICMD的次數的重播防護單調計數值RS。在一實施例中,重播防護單調計數值RS等於所有分區SG1~SGN中被編程的記憶胞的數量及基礎值B的總和。例如,在第三實施例的範例(e)中,最後被編程記憶胞是第2分區SG2的第5記憶胞b2_5,根據圖7的編程方法,控制器120可得知所有分區SG1~SG2中被編程的記憶胞數量等於10。而由於本範例中基礎值為0,因此重播防護單調計數值RS等於10。
接著,藉由表一整理出對照例、本發明的第二實施例及第三實施例的讀取次數的結果比較。對照例與本發明的第二實施例及第三實施例同樣具有16個記憶胞。其中對照例是在非揮發性記憶體接收到編程命令及讀取命令時,記憶胞沒有被規劃為多個分區的範例,因此,對照例單純是依據記憶胞順序對記憶胞執行編程操作,並依據記憶胞順序對記憶胞執行讀取操作。為了獲知重播防護單調計數值,對照例所需的讀取操作的次數會大於或等於遞增指令的次數。
由表一的結果可以得知,在非揮發性記憶體被規畫為多個分區的情況下執行編程及讀取操作時,第二實施例及第三實施例能夠藉由較少的讀取操作來獲知重播防護單調計數值。如果非揮發性記憶體的空間更大,且分區的數量越多,第二實施例及第三實施例能夠加速獲知重播防護單調計數值的優勢會更為明顯。
綜上所述,本發明依據分區順序及記憶胞順序對多個分區的記憶胞執行多次的編程操作。本發明亦依據分區順序及記憶胞順序執行多次的讀取操作以獲知最後被編程記憶胞。此外,本發
明還會進一步依據最後被編程記憶胞的資訊運算出關聯於遞增命令次數的重播防護單調計數值。如此一來,本發明能夠加速獲知重播防護單調計數值。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
S110~S130:步驟
Claims (20)
- 一種操作方法,適用於控制一非揮發性記憶體,其中該非揮發性記憶體包括多個分區,其中該些分區彼此間具有一分區順序,其中各該些分區的多個記憶胞彼此間具有相同的一記憶胞順序,其中該操作方法包括:依據多次的一遞增命令、該分區順序以及該記憶胞順序依序對該些分區的該些記憶胞執行多次的一編程操作;當接收到一讀取命令時,依據該分區順序以及該記憶胞順序進行多次的一讀取操作直到獲知一最後被編程記憶胞;以及依據該最後被編程記憶胞的位址運算出關聯於該遞增命令的次數的一重播防護單調計數值。
- 如請求項1所述的操作方法,還包括:當接收到一次該遞增命令時,依據該遞增命令對該些分區的其中之一執行一次該編程操作。
- 如請求項1所述的操作方法,其中該依序對該些分區的該些記憶胞執行多次的該編程操作的步驟還包括:當所有該些分區的多個記憶胞都被編程時,設定一基礎值,並對所有該些分區進行一抹除操作。
- 如請求項3所述的操作方法,其中依據該最後被編程記憶胞的位址運算出該遞增命令的次數的該重播防護單調計數值的步驟包括:依據該基礎值以及該最後被編程記憶胞的位址運算出關聯於 該遞增命令的次數的該重播防護單調計數值。
- 如請求項1所述的操作方法,其中該依序對該些分區的該些記憶胞執行多次的該編程操作的步驟包括:依據該記憶胞順序對該些分區的一第一分區的多個記憶胞執行該編程操作;在將第一分區的該些記憶胞都被編程時,並依據該分區順序選擇該些分區的一第二分區;以及依據該記憶胞順序對該第二分區的多個記憶胞執行該編程操作。
- 如請求項5所述的操作方法,其中該依據該分區順序以及該記憶胞順序進行多次的讀取操作直到獲知該最後被編程記憶胞的步驟包括:依據該分區順序逐一將該些分區的其中之一作為一讀取分區,讀取該讀取分區的一第一位元記憶胞以判斷該讀取分區是否具有被編程的第一位元記憶胞;以及當判斷出該些分區的該讀取分區具有被編程的第一位元記憶胞並且該讀取分區不是一最後分區時,依據該分區順序將下一個分區作為該讀取分區以讀取該讀取分區的第一位元記憶胞。
- 如請求項6所述的操作方法,其中該依據該分區順序以及該記憶胞順序進行多次的該讀取操作直到獲知該最後被編程記憶胞的步驟還包括:當判斷出該讀取分區沒有被編程的該第一位元記憶胞時,依 據該分區順序將前一個分區作為該讀取分區,依據該記憶胞順序從該讀取分區的一第二位元記憶胞開始逐一讀取該讀取分區的多個記憶胞;以及依據在該讀取分區中第一次讀取到未被編程的記憶胞的判斷結果以及該讀取分區的多個記憶胞都被編程的判斷結果的其中之一獲知該最後被編程記憶胞。
- 如請求項1所述的操作方法,其中依序對該些分區的該些記憶胞執行多次的該編程操作的步驟包括:依據該分區順序對各該些分區的第一位元記憶胞執行該編程操作;以及在對各該些分區的第一位元記憶胞編程完畢後,依據該分區順序以及該記憶胞順序對各該些分區的第二位元記憶胞執行該編程操作。
- 如請求項8所述的操作方法,其中依據該分區順序以及該記憶胞順序進行多次的讀取操作直到獲知該最後被編程記憶胞的步驟包括:將該些分區的一最後分區作為一讀取分區;依據該記憶胞順序從該讀取分區的一第一位元記憶胞開始逐一讀取該讀取分區的多個記憶胞以判斷該讀取分區的該些記憶胞是否被編程;以及當判斷出該讀取分區的第i位元記憶胞未被編程時,依據該分區順序將前一個分區作為該讀取分區,讀取該讀取分區的第i位 元記憶胞以判斷該讀取分區的第i位元記憶胞是否被編程,其中i為大於0的正整數。
- 如請求項9所述的操作方法,其中依據該分區順序以及該記憶胞順序進行多次的該讀取操作直到獲知該最後被編程記憶胞的步驟還包括:依據以下狀況的其中一者來獲知該最後被編程記憶胞:判斷出被讀取的記憶胞是該最後分區的最後位元記憶胞,判斷出被讀取的記憶胞是該最後分區以外的分區的被編程記憶胞,以及判斷出該讀取分區為該些分區的一第一分區。
- 一種記憶體裝置,適用於重播防護單調計數器,包括:一非揮發性記憶體,包括多個分區,其中該些分區彼此間具有一分區順序,其中各該些分區的多個記憶胞彼此間具有相同的一記憶胞順序;以及一控制器,耦接於該非揮發性記憶體,經配置以:接收多次的一遞增命令,依據該遞增命令、該分區順序以及該記憶胞順序依序對該些分區的該些記憶胞執行多次的一編程操作,當接收到一讀取命令時,依據該分區順序以及該記憶胞順序進行多次的一讀取操作直到獲知一最後被編程記憶胞,並且 依據該最後被編程記憶胞的位址運算出關聯於該遞增命令的次數的一重播防護單調計數值。
- 如請求項11所述的記憶體裝置,其中該控制器還經配置以當接收到一次該遞增命令時,依據該遞增命令對該些分區的其中之一執行一次該編程操作。
- 如請求項11所述的記憶體裝置,其中該控制器還經配置以當所有該些分區的多個記憶胞都被編程時,設定一基礎值,並對所有該些分區進行一抹除操作。
- 如請求項13所述的記憶體裝置,其中該控制器還經配置以依據該基礎值以及該最後被編程記憶胞的位址運算出關聯於該遞增命令的次數的該重播防護單調計數值。
- 如請求項11所述的記憶體裝置,其中該控制器還經配置以:依據該記憶胞順序對該些分區的一第一分區的多個記憶胞執行該編程操作,在將該第一分區的該些記憶胞編程完畢後,並依據該分區順序選擇該些分區的一第二分區,並且依據該記憶胞順序對該第二分區的多個記憶胞執行該編程操作。
- 如請求項15所述的記憶體裝置,其中該控制器還經配置以:依據該分區順序逐一將該些分區的其中之一作為一讀取分區, 讀取該讀取分區的一第一位元記憶胞以判斷該讀取分區是否具有被編程的第一位元記憶胞,並且當判斷出該些分區的該讀取分區具有被編程的第一位元記憶胞並且該讀取分區不是一最後分區時,依據該分區順序將下一個分區作為該讀取分區以讀取該讀取分區的第一位元記憶胞。
- 如請求項16所述的記憶體裝置,其中該控制器還經配置以:當判斷出該讀取分區沒有被編程的該第一位元記憶胞時,依據該分區順序將前一個分區作為該讀取分區,依據該記憶胞順序從該讀取分區的一第二位元記憶胞開始逐一讀取該讀取分區的多個記憶胞,並且依據在該讀取分區中第一次讀取到未被編程的記憶胞的判斷結果以及該讀取分區的多個記憶胞都被編程的判斷結果的其中之一獲知該最後被編程記憶胞。
- 如請求項11所述的記憶體裝置,其中該控制器還經配置以:依據該分區順序對各該些分區的第一位元記憶胞執行該編程操作,並且在對各該些分區的第一位元記憶胞編程完畢後,依據該分區順序以及該記憶胞順序對各該些分區的第二位元記憶胞執行該編程操作。
- 如請求項18所述的記憶體裝置,其中該控制器還經配置以:將該些分區的一最後分區作為一讀取分區,依據該記憶胞順序從該讀取分區的一第一位元記憶胞開始逐一讀取該讀取分區的多個記憶胞以判斷該讀取分區的該些記憶胞是否被編程,並且當判斷出該讀取分區的第i位元記憶胞未被編程時,依據該分區順序將前一個分區作為該讀取分區,讀取該讀取分區的第i位元記憶胞以判斷該讀取分區的第i位元記憶胞是否被編程,其中i為大於0的正整數。
- 如請求項19所述的記憶體裝置,其中該控制器還經配置以依據以下狀況的其中一者來獲知該最後被編程記憶胞:判斷出被讀取的記憶胞是該最後分區的最後位元記憶胞,判斷出被讀取的記憶胞是該最後分區以外的分區的被編程記憶胞,以及判斷出該讀取分區為該些分區的一第一分區。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109121086A TWI724930B (zh) | 2020-06-22 | 2020-06-22 | 記憶體裝置以及用於控制非揮發性記憶體的操作方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109121086A TWI724930B (zh) | 2020-06-22 | 2020-06-22 | 記憶體裝置以及用於控制非揮發性記憶體的操作方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI724930B true TWI724930B (zh) | 2021-04-11 |
TW202201412A TW202201412A (zh) | 2022-01-01 |
Family
ID=76604810
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109121086A TWI724930B (zh) | 2020-06-22 | 2020-06-22 | 記憶體裝置以及用於控制非揮發性記憶體的操作方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI724930B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9152428B2 (en) * | 2012-09-28 | 2015-10-06 | Intel Corporation | Alternative boot path support for utilizing non-volatile memory devices |
CN105095772A (zh) * | 2014-05-19 | 2015-11-25 | 英特尔公司 | 用于安全地保存并恢复计算平台状态的方法和装置 |
US9411748B2 (en) * | 2011-12-20 | 2016-08-09 | Intel Corporation | Secure replay protected storage |
US20190325167A1 (en) * | 2014-07-24 | 2019-10-24 | Nuvoton Technology Corporation | RPMC Flash Emulation |
-
2020
- 2020-06-22 TW TW109121086A patent/TWI724930B/zh active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9411748B2 (en) * | 2011-12-20 | 2016-08-09 | Intel Corporation | Secure replay protected storage |
US9152428B2 (en) * | 2012-09-28 | 2015-10-06 | Intel Corporation | Alternative boot path support for utilizing non-volatile memory devices |
CN105095772A (zh) * | 2014-05-19 | 2015-11-25 | 英特尔公司 | 用于安全地保存并恢复计算平台状态的方法和装置 |
US9407636B2 (en) * | 2014-05-19 | 2016-08-02 | Intel Corporation | Method and apparatus for securely saving and restoring the state of a computing platform |
US20190325167A1 (en) * | 2014-07-24 | 2019-10-24 | Nuvoton Technology Corporation | RPMC Flash Emulation |
Also Published As
Publication number | Publication date |
---|---|
TW202201412A (zh) | 2022-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9996460B2 (en) | Storage device, system including storage device and method of operating the same | |
US20220205666A1 (en) | Control Method for Air Conditioner, and Device for Air Conditioner and Storage Medium | |
DE102008011925B4 (de) | Sicheres Initialisieren von Computersystemen | |
US8762654B1 (en) | Selectively scheduling memory accesses in parallel based on access speeds of memory | |
Dasgupta et al. | Analysis of Perceptron-Based Active Learning. | |
JP2022126731A (ja) | メモリの異なるメモリプレーンに同時にアクセスするための装置および方法 | |
DE102017202423A1 (de) | Gesteuerte sichere Codeauthentifizierung | |
US20160078950A1 (en) | Semiconductor device and operating method thereof | |
CN108416423A (zh) | 用于神经网络修剪和再训练的自动阈值 | |
US7450432B2 (en) | Method of programming data in a flash memory device | |
Zigler | The central role of Bayes’ theorem for joint estimation of causal effects and propensity scores | |
JP2013518359A5 (zh) | ||
WO2010032998A3 (ko) | 멀티-레벨 셀 플래시 메모리 장치에서의 lsb 페이지 복구 방법 | |
WO2007062955A1 (en) | Secure digital certificate storing scheme for flash memory and electronic apparatus | |
CN107133290A (zh) | 一种个性化信息检索方法与装置 | |
TWI724930B (zh) | 記憶體裝置以及用於控制非揮發性記憶體的操作方法 | |
US20160125935A1 (en) | Semiconductor device and method of operating the same | |
DE102022106057A1 (de) | Authentifikatorintegriertes generatives adversariales netzwerk (gan) zur sicheren deepfake-erzeugung | |
US11928192B2 (en) | Vendor unique command authentication system, and a host device, storage device, and method employing the same | |
DE102019134290A1 (de) | Verfahren und System zum Verbessern der Leistung einer Speichervorrichtung unter Verwendung einer asynchronen, unabhängigen Ebenenlesefunktionalität | |
DE102010038179B4 (de) | Individuelle Aktualisierung von Computerprogrammen | |
DE202019005663U1 (de) | Vorrichtung und System zum verbesserten Datenvorabrufen basierend auf NUMA-Eigenschaften | |
CN113886897A (zh) | 内存装置以及用于控制非易失性内存的操作方法 | |
US20060077714A1 (en) | Method and system for a programming approach for a nonvolatile electronic device | |
Maity et al. | Self-adaptive memory approximation: A formal control theory approach |