TWI651727B - 非依電性儲存裝置、非依電性記憶體積體電路及其非依電性記憶體的操作方法 - Google Patents
非依電性儲存裝置、非依電性記憶體積體電路及其非依電性記憶體的操作方法 Download PDFInfo
- Publication number
- TWI651727B TWI651727B TW106118773A TW106118773A TWI651727B TW I651727 B TWI651727 B TW I651727B TW 106118773 A TW106118773 A TW 106118773A TW 106118773 A TW106118773 A TW 106118773A TW I651727 B TWI651727 B TW I651727B
- Authority
- TW
- Taiwan
- Prior art keywords
- memory cell
- bit
- value
- dependent
- unit
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0793—Remedial or corrective actions
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/44—Indication or identification of errors, e.g. for repair
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Read Only Memory (AREA)
Abstract
一種非依電性儲存裝置、非依電性記憶體積體電路及其非依電性記憶體的操作方法。當欲存取一個多位元記憶胞時,對多位元記憶胞進行單位元記憶胞存取操作。
Description
本發明是有關於一種儲存裝置,且特別是有關於一種非依電性儲存裝置、非依電性記憶體積體電路及其非依電性記憶體的操作方法。
以快閃(Flsah)記憶體製作的非依電性儲存裝置(例如記憶卡或是隨身碟等裝置),其會利用快閃記憶體的一個特定實體塊Block0來儲存系統資訊(Card Information Structure, CIS),例如電力電壓(Power Voltage)、存取空間(I/O space)…等等。非依電性儲存裝置會於開機時進行初始設定。在進行初始設定時,非依電性儲存裝置會依所述特定實體塊Block0內的資訊來與系統控制器建立傳輸介面。若是所述特定實體塊Block0內的資料毀損/錯誤,很可能導致初始設定錯誤/失敗,使得該非依電性儲存裝置無法使用。
快閃記憶體可分為單層記憶胞(Single Level Cell, SLC)快閃記憶體、多層記憶胞(Multi-Level Cell, MLC)快閃記憶體以及三層記憶胞(Triple Level Cell, TLC)快閃記憶體。一個SLC可以記錄一個位元值。SLC使用一個讀取電壓(門檻電壓)來區分單一個位元值為0或1。一個MLC可以記錄二個位元值。MLC採用三個讀取電壓(門檻電壓)來區分兩個位元值為00、01、10、11。一個TLC可以記錄三個位元值。TLC採用七個讀取電壓(門檻電壓)來區分三個位元值為000、001、010、011、100、101、110、111。因此,MLC的資料密度是SLC的兩倍,而TLC的資料密度是SLC的三倍。
以MLC快閃記憶體或TLC快閃記憶體製作的非依電性儲存裝置,其具有較大的儲存空間。然而,MLC與TLC具有較高的位元錯誤率,因此MLC或TLC的可靠度遠小於SLC。亦即,相較於SLC,以MLC快閃記憶體或TLC快閃記憶體製作的所述特定實體塊Block0內的資料因為電壓區間載窄小而很容易發生錯誤。
本發明提供一種非依電性儲存裝置、非依電性記憶體積體電路及其非依電性記憶體的操作方法,以降低多位元記憶胞的資料發生錯誤的機率。
本發明的實施例提供一種非依電性記憶體的操作方法。所述操作方法包括:當欲存取一個多位元記憶胞時,對該多位元記憶胞進行單位元記憶胞存取操作。
本發明的實施例提供一種非依電性記憶體積體電路。非依電性記憶體積體電路包括非依電性記憶胞陣列以及控制電路。非依電性記憶胞陣列具有一個多位元記憶胞。控制電路耦接至非依電性記憶胞陣列。當控制電路欲存取多位元記憶胞時,控制電路對多位元記憶胞進行單位元記憶胞存取操作。
本發明的實施例提供一種非依電性儲存裝置。非依電性儲存裝置包括非依電性記憶體積體電路以及控制器電路。非依電性記憶體積體電路具有非依電性記憶胞陣列,而非依電性記憶胞陣列具有一個多位元記憶胞。控制器電路耦接至非依電性記憶體積體電路。當控制器電路欲存取多位元記憶胞時,控制器電路對多位元記憶胞進行單位元記憶胞存取操作。
基於上述,本發明諸實施例所述非依電性儲存裝置、非依電性記憶體積體電路及其非依電性記憶體的操作方法,其把多位元記憶胞當作單位元記憶胞來使用。當欲存取多位元記憶胞時,對所述多位元記憶胞進行單位元記憶胞存取操作,以降低多位元記憶胞的資料發生錯誤的機率。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
在本案說明書全文(包括申請專利範圍)中所使用的「耦接(或連接)」一詞可指任何直接或間接的連接手段。舉例而言,若文中描述第一裝置耦接(或連接)於第二裝置,則應該被解釋成該第一裝置可以直接連接於該第二裝置,或者該第一裝置可以透過其他裝置或某種連接手段而間接地連接至該第二裝置。另外,凡可能之處,在圖式及實施方式中使用相同標號的元件/構件/步驟代表相同或類似部分。不同實施例中使用相同標號或使用相同用語的元件/構件/步驟可以相互參照相關說明。
圖1是依照本發明一實施例所繪示的一種非依電性記憶體積體電路100的電路方塊(circuit block)示意圖。依照應用需求,主機10可以是中央處理單元、微控制器或是其他運算電路/平台。非依電性記憶體積體電路100可以提供記憶空間給主機10。非依電性記憶體積體電路100包括非依電性記憶胞陣列110以及控制電路120。依照設計需求,非依電性記憶胞陣列110可以是快閃記憶胞陣列或是其他非依電性記憶胞電路。非依電性記憶胞陣列具有多個多位元記憶胞,例如圖1所示多位元記憶胞111。一個多位元記憶胞111可以記錄多個位元值。依照設計需求,多位元記憶胞111可以是多層記憶胞(Multi-Level Cell,以下稱MLC)、三層記憶胞(Triple Level Cell,以下稱TLC)或是其他可以記錄多個位元值的記憶胞電路。MLC的資料密度是單層記憶胞(Single Level Cell,以下稱SLC)的兩倍,而TLC的資料密度是SLC的三倍。然而,MLC與TLC具有較高的位元錯誤率,因此MLC或TLC的可靠度遠小於SLC。
控制電路120耦接至非依電性記憶胞陣列110。在此假設多位元記憶胞111記錄著關鍵資料(重要資料,例如系統資訊)。當控制電路120欲存取多位元記憶胞111時,控制電路120可以對多位元記憶胞111進行「單位元記憶胞存取操作」(容後詳述)。亦即,控制電路120可以把多位元記憶胞111當作單位元記憶胞來使用。一個所述單位元記憶胞(例如SLC)可以記錄單一個位元值。單位元記憶胞的可靠度遠大於多位元記憶胞。把多位元記憶胞111當作單位元記憶胞來使用,其可以降低多位元記憶胞111的資料發生錯誤的機率。對於沒有存放關鍵資料的其他多位元記憶胞,控制電路120仍然對所述其他多位元記憶胞進行習知的「多位元記憶胞存取操作」,故不再贅述。
圖1所示控制電路120包括處理單元121、轉換器122與資料緩衝器123。當主機10發出一個讀取命令(read command)給非依電性記憶體積體電路100時,處理單元121可以對此讀取命令進行解碼,以便定址非依電性記憶胞陣列110。依照處理單元121的定址,非依電性記憶胞陣列110可以輸出對應碼字(codeword)給資料緩衝器123。處理單元121可以判定是否需要對所述對應碼字進行「單位元記憶胞存取操作」(容後詳述)。當所述對應碼字需要進行「單位元記憶胞存取操作」(容後詳述)時,轉換器122可以基於處理單元121的控制來轉換在資料緩衝器123內的所述對應碼字,並將經轉換碼字回傳給主機10。
當主機10發出一個寫入命令(write command)給非依電性記憶體積體電路100時,資料緩衝器123可以暫存主機10所輸出的欲寫入碼字。處理單元121可以判定是否需要對所述欲寫入碼字進行「單位元記憶胞存取操作」(容後詳述)。當所述欲寫入碼字需要進行「單位元記憶胞存取操作」(容後詳述)時,轉換器122可以基於處理單元121的控制來轉換在資料緩衝器123內的所述欲寫入碼字,並將經轉換碼字傳給非依電性記憶胞陣列110。處理單元121可以對此寫入命令進行解碼,以便定址非依電性記憶胞陣列110,進而將在資料緩衝器123內的經轉換碼字寫入非依電性記憶胞陣列110。
圖2是依照本發明另一實施例所繪示一種非依電性儲存裝置200的電路方塊示意圖。依照應用需求,主機20可以是電腦、手持式電話、多媒體播放器、相機或是其他電子裝置。非依電性儲存裝置200可以耦接至主機20。非依電性儲存裝置200可以提供記憶空間給主機20。依照設計需求,非依電性儲存裝置200可以是隨身碟、固態硬碟(solid state disc, SSD)或是其他儲存裝置。當主機20發出一個讀取命令給非依電性儲存裝置200時,非依電性儲存裝置200可以依據此讀取命令的定址來回傳對應資料給主機20。當主機20發出一個寫入命令給非依電性儲存裝置200時,非依電性儲存裝置200可以依據此寫入命令來記錄主機20的欲寫入資料。
於圖2所示實施例中,非依電性儲存裝置200包括非依電性記憶體積體電路210以及控制器電路220。依照設計需求,非依電性記憶體積體電路210可以是快閃記憶體積體電路或是其他非依電性記憶體電路。非依電性記憶體積體電路210具有非依電性記憶胞陣列,而所述非依電性記憶胞陣列具有多個多位元記憶胞,例如圖2所示多位元記憶胞211。一個多位元記憶胞211可以記錄多個位元值。依照設計需求,多位元記憶胞211可以是MLC、TLC或是其他可以記錄多個位元值的記憶胞電路。
控制器電路220耦接至非依電性記憶體積體電路210。在此假設多位元記憶胞211記錄著關鍵資料(重要資料,例如系統資訊)。當控制器電路220欲存取多位元記憶胞211時,控制器電路220對多位元記憶胞211進行「單位元記憶胞存取操作」(容後詳述)。亦即,控制器電路220可以把多位元記憶胞211當作單位元記憶胞來使用。把多位元記憶胞211當作單位元記憶胞來使用,其可以降低多位元記憶胞211的資料發生錯誤的機率。對於沒有存放關鍵資料的其他多位元記憶胞,控制器電路220仍然對所述其他多位元記憶胞進行習知的「多位元記憶胞存取操作」,故不再贅述。
圖2所示控制器電路220包括處理單元221與轉換器222。當主機20發出一個讀取命令給非依電性儲存裝置200時,處理單元221可以對此讀取命令進行解碼,以便定址非依電性記憶體積體電路210的非依電性記憶胞陣列。依照處理單元221的定址,非依電性記憶體積體電路210可以輸出對應碼字給轉換器222。處理單元221可以判定是否需要對所述對應碼字進行「單位元記憶胞存取操作」(容後詳述)。當所述對應碼字需要進行「單位元記憶胞存取操作」(容後詳述)時,轉換器222可以基於處理單元221的控制來轉換所述對應碼字,並將經轉換碼字回傳給主機20。
當主機20發出一個寫入命令給非依電性儲存裝置200時,轉換器222可以暫存主機20所輸出的欲寫入碼字。處理單元221可以判定是否需要對所述欲寫入碼字進行「單位元記憶胞存取操作」(容後詳述)。當所述欲寫入碼字需要進行「單位元記憶胞存取操作」(容後詳述)時,轉換器222可以基於處理單元221的控制來轉換所述欲寫入碼字,並將經轉換碼字傳給非依電性記憶體積體電路210。處理單元221可以對此寫入命令進行解碼,以便定址非依電性記憶體積體電路210的非依電性記憶胞陣列,進而將此經轉換碼字寫入非依電性記憶體積體電路210。
圖3是依照本發明一實施例說明一種非依電性記憶體的操作方法的流程示意圖。圖3的相關說明內容可以被應用於圖1所示實施例或是圖2所示實施例。圖1或是圖2的相關說明內容可以被套用於圖3所示實施例。
請參照圖3,當非依電性記憶體發生存取事件時(步驟S310),控制電路(或控制器)可以判定欲存取的多位元記憶胞(例如MLC或TLC)是否處於「單位元記憶胞操作模式」(步驟S320)。本實施例並不限制步驟S320的判斷手段。在一些實施例中,控制電路(或控制器)可以檢查欲存取的實體位址(例如實體塊位址、實體頁位址等)以便判斷欲存取的多位元記憶胞是否處於「單位元記憶胞操作模式」。舉例來說,儲存了系統資訊(Card Information Structure, CIS)的特定實體塊的位址一般是固定/特定的(例如其位址是第0個實體塊)。在將所述特定實體塊設定為「單位元記憶胞操作模式」後,控制電路(或控制器)從實體塊位址便可以判斷出欲存取的多位元記憶胞是否處於「單位元記憶胞操作模式」。在另一些實施例中,被設定為「單位元記憶胞操作模式」的MLC實體塊(或TLC實體塊)的位址可以被登記於查找表中。因此,控制電路(或控制器)可以檢查此查找表,以便判斷欲存取的多位元記憶胞是否處於「單位元記憶胞操作模式」。
當步驟S320判斷欲存取的多位元記憶胞處於「單位元記憶胞操作模式」時,控制電路(或控制器)可以進行步驟S330,以對多位元記憶胞進行「單位元記憶胞存取操作」(容後詳述)。當步驟S320判斷欲存取的多位元記憶胞沒有處於「單位元記憶胞操作模式」時,控制電路(或控制器)可以進行步驟S340,以對多位元記憶胞進行習知的「多位元記憶胞存取操作」,故不再贅述。
為了方便說明,以下多個實施例會以多層記憶胞(MLC)作為所述「多位元記憶胞」的實施範例。本領域具有通常知識者可以參照以下諸實施例的詳細說明,而將「單位元記憶胞存取操作」類推應用至三層記憶胞(TLC)或是其他多位元記憶胞。
上述「單位元記憶胞存取操作」可以包括寫入操作。在一些實施例中,控制電路120(或控制器電路220)可以將欲寫入碼字的一個單位元值轉換為對應的二位元值。舉例來說(但不限於此),控制電路120(或控制器電路220)可以將單位元值「1」轉換為對應二位元值「11」,以及將單位元值「0」轉換為對應二位元值「00」。在另一實施例中,控制電路120(或控制器電路220)可以將單位元值「0」轉換為對應二位元值「10」。在將單位元值轉換為對應二位元值後,控制電路120(或控制器電路220)可以將對應二位元值寫入MLC。舉例來說,假設欲寫入碼字為「1111 0000 1010 1010」,則控制電路120(或控制器電路220)可以將此欲寫入碼字轉換為「11 11 11 11 00 00 00 00 11 00 11 00 11 00 11 00」,然後將此經轉換碼字寫入對應實體頁的16個MLC中。因此,控制電路120(或控制器電路220)可以把多位元記憶胞當作單位元記憶胞來使用。
在另一些實施例中,上述「單位元記憶胞存取操作」的寫入操作說明如下。控制電路120(或控制器電路220)可以配置一個配對表。這個配對表是依照設計需求或是應用需求來事先定義的。記錄著關鍵資料(例如系統資訊或其他重要資料)的多位元記憶胞(例如MLC)可以被事先登記於這個配對表,而沒有存放關鍵資料的其他多位元記憶胞則不需被登記於這個配對表。被登記於這個配對表的多位元記憶胞,意味著這個多位元記憶胞處於「單位元記憶胞操作模式」。
舉例來說(但不限於此),下述表1說明了配對表的一種實施範例。配對表分為A欄位及B欄位,屬於A欄位每一個實體塊對應到B欄位的唯一個實體塊。B欄位的實體塊可以被視為所對應A欄位實體塊的僕塊。例如,實體塊Block0與實體塊Block75屬於同一個配對,實體塊Block75可以被視為實體塊Block0的僕實體塊,而實體塊Block22與實體塊Block555屬於另一個配對,實體塊Block555可以被視為實體塊Block22的僕實體塊。 表1:配對表的一種實施範例
<TABLE border="1" borderColor="#000000" width="85%"><TBODY><tr><td> A </td><td> B </td></tr><tr><td> Block0 </td><td> Block75 </td></tr><tr><td> Block22 </td><td> Block555 </td></tr><tr><td> … </td><td> … </td></tr></TBODY></TABLE>
當控制電路120(或控制器電路220)欲將碼字寫入某一個目標實體塊時,控制電路120(或控制器電路220)可以在步驟S330中查詢所述配對表,以獲知與該目標實體塊相成對的一個僕實體塊。換言之,若以記憶胞而言,亦即查詢所述配對表可以獲知與目標MLC(在此稱為第一多層記憶胞)相成對的僕MLC(在此稱為第二多層記憶胞)。
控制電路120(或控制器電路220)可以在步驟S330中將欲寫入的碼字拆分為第一部份碼字與第二部份碼字。控制電路120(或控制器電路220)可以將第一部份碼字的每一個位元值(在此稱為第一單位元值)分別轉換為二個位元值(在此稱為第一對應二位元值),以及將第二部份碼字的的每一個位元值(在此稱為第二單位元值)分別轉換為二個位元值(在此稱為第二對應二位元值)。
舉例來說,假設欲寫入碼字為「1111 0000 1010 1010」,則控制電路120(或控制器電路220)可以將此欲寫入碼字拆分為第一部份碼字「1111 0000」與第二部份碼字「1010 1010」。控制電路120(或控制器電路220)可以將單位元值「1」轉換為對應二位元值「11」,以及將單位元值「0」轉換為對應二位元值「00」。因此,第一部份碼字「1111 0000」被轉換第一經轉換碼字「11 11 11 11 00 00 00 00」,而第二部份碼字「1010 1010」被轉換為第二經轉換碼字「11 00 11 00 11 00 11 00」。完成轉換後,第一經轉換碼字「11 11 11 11 00 00 00 00」的每一個二位元值(第一對應二位元值)被寫入該目標實體塊的對應的第一多層記憶胞(目標MLC),而第二經轉換碼字「11 00 11 00 11 00 11 00」的每一個二位元值(第二對應二位元值)被寫入該僕實體塊的對應的第二多層記憶胞(僕MLC)。因此,控制電路120(或控制器電路220)可以把多位元記憶胞當作單位元記憶胞來使用。
在一些實施例中,上述「單位元記憶胞存取操作」的讀取操作說明如下。控制電路120(或控制器電路220)可以配置一個配對表,所述配對表可以參照上述表1的相關說明。當控制電路120(或控制器電路220)欲從某一個目標實體塊讀取碼字時,控制電路120(或控制器電路220)可以在步驟S330中查詢所述配對表,以獲知與該目標實體塊相成對的一個僕實體塊。換言之,若以記憶胞而言,亦即查詢所述配對表可以獲知與目標MLC(在此稱為第一多層記憶胞)相成對的僕MLC(在此稱為第二多層記憶胞)。
控制電路120(或控制器電路220)可以在步驟S330中讀取目標實體塊的第一多層記憶胞(目標MLC)的位元值(在此稱為第一二位元值),以及讀取僕實體塊的第二多層記憶胞(僕MLC)的位元值(在此稱為第二二位元值)。控制電路120(或控制器電路220)可以將每一個第一二位元值各自轉換為一個單位元值(在此稱為第一對應單位元值),以及將每一個第二二位元值各自轉換為一個單位元值(在此稱為第二對應單位元值)。
舉例來說,假設從目標實體塊讀取出的碼字為「11 10 11 10」,而從僕實體塊讀取出的碼字為「11 00 10 01」。控制電路120(或控制器電路220)可以將二位元值「11」或「10」轉換為對應單位元值「1」,以及將二位元值「01」或「00」轉換為對應單位元值「0」。因此,目標實體塊的碼字「11 10 11 10」被轉換第一經轉換碼字「1 1 1 1」,而僕實體塊的碼字「11 00 10 01」被轉換第二經轉換碼字「1 0 1 0」。完成轉換後,第一經轉換碼字「1 1 1 1」作為欲讀出碼字的第一部份碼字,而第二經轉換碼字「1 0 1 0」作為欲讀出碼字的第二部份碼字。控制電路120(或控制器電路220)可以將此欲讀出碼字「1 1 1 1 1 0 1 0」回傳給主機/系統。因此,控制電路120(或控制器電路220)可以把多位元記憶胞當作單位元記憶胞來使用。
所述非依電性記憶體的操作方法還包括抹除操作。當欲抹除某一個目標實體塊b的所有多位元記憶胞時,控制電路120(或控制器電路220)可以對這些多位元記憶胞進行「單位元記憶胞抹除操作」。所述「單位元記憶胞抹除操作」詳述如下。當欲抹除目標實體塊b的所有多位元記憶胞時,控制電路120(或控制器電路220)可以查詢所述配對表,以獲知與該目標實體塊b相成對的一個僕實體塊。換言之,若以記憶胞而言,亦即查詢所述配對表可以獲知與第一多層記憶胞(目標MLC)相成對的僕MLC(在此稱為第二多層記憶胞)。當該第一多層記憶胞(目標MLC)的操作模式為「SLC」(單層記憶胞模式)時,控制電路120(或控制器電路220)可以抹除該第一多層記憶胞(目標MLC)的內容,以及抹除第二多層記憶胞(僕MLC)的內容。
在又一些實施例中,上述「單位元記憶胞存取操作」的寫入操作說明如下。控制電路120(或控制器電路220)可以配置一個配對表與一個類型表。這個配對表可以參照上述表1的相關說明。這個類型表是依照設計需求或是應用需求來事先定義的。舉例來說(但不限於此),下述表2說明了配對表的另一種實施範例。實體塊Block0與實體塊Block1屬於同一個配對,實體塊Block1可以被視為實體塊Block0的僕實體塊,而實體塊Block2與實體塊Block3屬於另一個配對,實體塊Block3可以被視為實體塊Block2的僕實體塊。 表2:配對表的另一種實施範例
<TABLE border="1" borderColor="#000000" width="85%"><TBODY><tr><td> A </td><td> B </td></tr><tr><td> Block0 </td><td> Block1 </td></tr><tr><td> Block2 </td><td> Block3 </td></tr><tr><td> Block4 </td><td> Block5 </td></tr><tr><td> Block6 </td><td> Block7 </td></tr><tr><td> … </td><td> … </td></tr><tr><td> Block1022 </td><td> Block1023 </td></tr></TBODY></TABLE>
依照表2所述配對表的內容,下述表3說明了類型表的一種實施範例。類型表分為塊欄位及類型欄位。在此假設實體塊Block2與實體塊Block3被用來記錄關鍵資料(例如系統資訊或其他重要資料),而其他實體塊則沒有存放關鍵資料(亦即用於存放一般資料)。因此,如表3的類型表所示,實體塊Block2被標示為「SLC」(意指實體塊Block2處於「單位元記憶胞操作模式」),實體塊Block3被標示為「僕」(意指實體塊Block3是實體塊Block2的僕實體塊,且實體塊Block3亦處於「單位元記憶胞操作模式」),而其他實體塊被標示為「MLC」(意指其他實體塊處於習知的「多位元記憶胞操作模式」。 表3:類型表的一種實施範例
<TABLE border="1" borderColor="#000000" width="85%"><TBODY><tr><td> 塊 </td><td> 類型 </td></tr><tr><td> Block0 </td><td> MLC </td></tr><tr><td> Block1 </td><td> MLC </td></tr><tr><td> Block2 </td><td> SLC </td></tr><tr><td> Block3 </td><td> 僕 </td></tr><tr><td> Block4 </td><td> MLC </td></tr><tr><td> … </td><td> … </td></tr><tr><td> Block1023 </td><td> MLC </td></tr></TBODY></TABLE>
在又一些實施例中,下述表4說明了配對表的又一種實施範例。在表4所示範例中,配對表的A欄位的實體塊位址是連續的,而B欄位的實體塊位址也是連續的。實體塊Block0與實體塊Block512屬於同一個配對,而實體塊Block1與實體塊Block513屬於另一個配對。 表4:配對表的又一種實施範例
<TABLE border="1" borderColor="#000000" width="85%"><TBODY><tr><td> A </td><td> B </td></tr><tr><td> Block0 </td><td> Block512 </td></tr><tr><td> Block1 </td><td> Block513 </td></tr><tr><td> Block2 </td><td> Block514 </td></tr><tr><td> Block3 </td><td> Block515 </td></tr><tr><td> … </td><td> … </td></tr><tr><td> Block511 </td><td> Block1023 </td></tr></TBODY></TABLE>
圖4是依照本發明一實施例說明上述「單位元記憶胞存取操作」的寫入操作的流程示意圖。當控制電路120(或控制器電路220)欲將碼字寫入某一個目標實體塊b的某一個實體頁p時(步驟S410),控制電路120(或控制器電路220)可以查詢所述類型表(步驟S420),以獲知該目標實體塊b的操作模式。換言之,若以記憶胞而言,亦即查詢所述類型表可以獲知目標MLC(在此稱為第一多層記憶胞)的操作模式。
當步驟S420判定目標實體塊b為「SLC塊」,亦即判定該第一多層記憶胞(目標MLC)的操作模式為「SLC」(單層記憶胞模式)時,控制電路120(或控制器電路220)可以在步驟S430中查詢所述配對表,以獲知與該目標實體塊b相成對的一個僕實體塊。換言之,若以記憶胞而言,亦即查詢所述配對表可以獲知與第一多層記憶胞(目標MLC)相成對的僕MLC(在此稱為第二多層記憶胞)。
當該第一多層記憶胞(目標MLC)的操作模式為「SLC」(單層記憶胞模式)時,控制電路120(或控制器電路220)可以在步驟S430中將欲寫入的碼字拆分為第一部份碼字與第二部份碼字。控制電路120(或控制器電路220)可以在步驟S430中將第一部份碼字的每一個位元值(在此稱為第一單位元值)分別轉換為二個位元值(在此稱為第一對應二位元值),以及將第二部份碼字的的每一個位元值(在此稱為第二單位元值)分別轉換為二個位元值(在此稱為第二對應二位元值)。
舉例來說,控制電路120(或控制器電路220)可以將欲寫入碼字「1111 0000 1010 1010」拆分為第一部份碼字「1111 0000」與第二部份碼字「1010 1010」。控制電路120(或控制器電路220)可以將單位元值「1」轉換為對應二位元值「11」,以及將單位元值「0」轉換為對應二位元值「00」。因此,第一部份碼字「1111 0000」被轉換第一經轉換碼字「11 11 11 11 00 00 00 00」,而第二部份碼字「1010 1010」被轉換為第二經轉換碼字「11 00 11 00 11 00 11 00」。完成轉換後,在步驟S440中,第一經轉換碼字「11 11 11 11 00 00 00 00」的每一個二位元值(第一對應二位元值)可以被寫入目標實體塊b的實體頁p的對應的第一多層記憶胞(目標MLC),而第二經轉換碼字「11 00 11 00 11 00 11 00」的每一個二位元值(第二對應二位元值)被寫入目標實體塊b的僕實體塊的實體頁p的對應的第二多層記憶胞(僕MLC)。因此,控制電路120(或控制器電路220)可以把多位元記憶胞當作單位元記憶胞來使用。
當步驟S420判定目標實體塊b不是「SLC塊」時,步驟S450會被執行。於步驟S450中,控制電路120(或控制器電路220)可以查詢所述配對表,以獲知該目標實體塊b是否被設定為僕塊。當步驟S450判定目標實體塊b不是僕塊時,控制電路120(或控制器電路220)可以於步驟S460中將欲寫入碼字(例如「1111 0000 1010 1010」)寫入目標實體塊b的實體頁p。當步驟S450判定目標實體塊b是僕塊時,控制電路120(或控制器電路220)可以於步驟S470中回報主機/系統「此目標實體塊b為壞塊」。
在一些實施例中,上述「單位元記憶胞存取操作」的讀取操作說明如下。控制電路120(或控制器電路220)可以配置一個配對表與一個類型表,所述配對表可以參照上述表2或表4的相關說明,而所述類型表可以參照上述表3的相關說明。圖5是依照本發明一實施例說明上述「單位元記憶胞存取操作」的讀取操作的流程示意圖。當控制電路120(或控制器電路220)欲從某一個目標實體塊b的某一個實體頁p讀取碼字時(步驟S510),控制電路120(或控制器電路220)可以在步驟S520中查詢所述類型表,以獲知該目標實體塊b的操作模式。換言之,若以記憶胞而言,亦即查詢所述類型表可以獲知目標MLC(在此稱為第一多層記憶胞)的操作模式。當步驟S520判定目標實體塊b為「SLC塊」,亦即判定該第一多層記憶胞(目標MLC)的操作模式為「SLC」(單層記憶胞模式)時,控制電路120(或控制器電路220)可以在步驟S530中查詢所述配對表,以獲知與該目標實體塊b相成對的一個僕實體塊。換言之,若以記憶胞而言,亦即查詢所述配對表可以獲知與目標MLC(第一多層記憶胞)相成對的僕MLC(在此稱為第二多層記憶胞)。
當第一多層記憶胞(目標MLC)的操作模式為「SLC」(單層記憶胞模式)時,控制電路120(或控制器電路220)可以在步驟S530中讀取目標實體塊b的實體頁p的多個第一多層記憶胞(目標MLC)的位元值(在此稱為第一二位元值),以及讀取目標實體塊b的僕實體塊的實體頁p的多個第二多層記憶胞(僕MLC)的位元值(在此稱為第二二位元值)。控制電路120(或控制器電路220)可以在步驟S530中將每一個第一二位元值各自轉換為一個單位元值(在此稱為第一對應單位元值),以及將每一個第二二位元值各自轉換為一個單位元值(在此稱為第二對應單位元值)。
舉例來說,假設從目標實體塊b的實體頁p讀取出的碼字為「11 10 11 10」,而從目標實體塊b的僕實體塊的實體頁p讀取出的碼字為「11 00 10 01」。控制電路120(或控制器電路220)可以將二位元值「11」或「10」轉換為對應單位元值「1」,以及將二位元值「01」或「00」轉換為對應單位元值「0」。因此,目標實體塊的實體頁p的碼字「11 10 11 10」被轉換第一經轉換碼字「1 1 1 1」,而僕實體塊的實體頁p的碼字「11 00 10 01」被轉換第二經轉換碼字「1 0 1 0」。完成轉換後,第一經轉換碼字「1 1 1 1」作為欲讀出碼字的第一部份碼字,而第二經轉換碼字「1 0 1 0」作為欲讀出碼字的第二部份碼字。完成轉換後,在步驟S540中,控制電路120(或控制器電路220)可以將此欲讀出碼字「1 1 1 1 1 0 1 0」回傳給主機/系統。因此,控制電路120(或控制器電路220)可以把多位元記憶胞當作單位元記憶胞來使用。
當步驟S520判定目標實體塊b不是「SLC塊」時,步驟S550會被執行。於步驟S550中,控制電路120(或控制器電路220)可以查詢所述配對表,以獲知該目標實體塊b是否被設定為僕塊。當步驟S550判定目標實體塊b不是僕塊時,控制電路120(或控制器電路220)可以於步驟S560中將從目標實體塊b的實體頁p讀取出的碼字(例如「11 10 11 10」)回傳給主機/系統。當步驟S550判定目標實體塊b是僕塊時,控制電路120(或控制器電路220)可以於步驟S570中回報主機/系統「此目標實體塊b為壞塊」。
所述非依電性記憶體的操作方法還包括抹除操作。當欲抹除某一個目標實體塊b的所有多位元記憶胞時,控制電路120(或控制器電路220)可以對這些多位元記憶胞進行「單位元記憶胞抹除操作」。控制電路120(或控制器電路220)可以配置一個配對表與一個類型表,所述配對表可以參照上述表2或表4的相關說明,而所述類型表可以參照上述表3的相關說明。
圖6是依照本發明一實施例說明上述「單位元記憶胞抹除操作」的流程示意圖。所述「單位元記憶胞抹除操作」詳述如下。當欲抹除目標實體塊b的所有多位元記憶胞時(步驟S610),控制電路120(或控制器電路220)可以在步驟S620中查詢所述類型表,以獲知該目標實體塊b的操作模式。換言之,若以記憶胞而言,亦即查詢所述類型表可以獲知目標MLC(在此稱為第一多層記憶胞)的操作模式。當步驟S620判定目標實體塊b為「SLC塊」,亦即判定該第一多層記憶胞(目標MLC)的操作模式為「SLC」(單層記憶胞模式)時,控制電路120(或控制器電路220)可以在步驟S620中查詢所述配對表,以獲知與該目標實體塊b相成對的一個僕實體塊。換言之,若以記憶胞而言,亦即查詢所述配對表可以獲知與目標MLC(第一多層記憶胞)相成對的僕MLC(在此稱為第二多層記憶胞)。
當步驟S620判定第一多層記憶胞(目標MLC)的操作模式為「SLC」(單層記憶胞模式)時,控制電路120(或控制器電路220)可以在步驟S630中抹除目標實體塊b的所有第一多層記憶胞的內容,以及在步驟S640中抹除目標實體塊b的僕實體塊的所有第二多層記憶胞的內容。
當步驟S620判定第一多層記憶胞(目標MLC)的操作模式不是「SLC」(單層記憶胞模式)時,控制電路120(或控制器電路220)可以在步驟S650中查詢所述配對表,以獲知該目標實體塊b是否被設定為僕塊。當步驟S650判定目標實體塊b不是僕塊時,控制電路120(或控制器電路220)可以於步驟S660中抹除目標實體塊b的所有第一多層記憶胞的內容。當步驟S650判定目標實體塊b是僕塊時,控制電路120(或控制器電路220)可以於步驟S670中回報主機/系統「此目標實體塊b為壞塊」。
以下實施例會以三層記憶胞(TLC)作為所述「多位元記憶胞」的實施範例。本領域具有通常知識者可以參照以下實施例的詳細說明,而將「單位元記憶胞存取操作」類推應用至其他多位元記憶胞。
上述「單位元記憶胞存取操作」可以包括寫入操作。控制電路120(或控制器電路220)可以將欲寫入碼字的一個單位元值轉換為對應的三位元值。舉例來說(但不限於此),控制電路120(或控制器電路220)可以將單位元值「1」轉換為對應三位元值「111」,以及將單位元值「0」轉換為對應三位元值「000」。在將單位元值轉換為對應三位元值後,控制電路120(或控制器電路220)可以將對應三位元值寫入TLC。舉例來說,假設欲寫入碼字為「1111 0000 1010」,則控制電路120(或控制器電路220)可以將此欲寫入碼字轉換為「111 111 111 111 000 000 000 000 111 000 111 000」,然後將此經轉換碼字寫入對應實體頁的12個TLC中。因此,控制電路120(或控制器電路220)可以把多位元記憶胞當作單位元記憶胞來使用。
詳而言之,假設欲寫入碼字為「1111 0000 1010」,則控制電路120(或控制器電路220)可以將此欲寫入碼字拆分為第一部份碼字「1111」、第二部份碼字「0000」與第三部份碼字「1010」。控制電路120(或控制器電路220)可以將第一部份碼字「1111」轉換第一經轉換碼字「111 111 111 111」,將第二部份碼字「0000」轉換為第二經轉換碼字「000 000 000 000」,而將第三部份碼字「1010」轉換為第三經轉換碼字「111 000 111 000」。完成轉換後,第一經轉換碼字「111 111 111 111」的每一個三位元值被寫入該目標實體塊的對應的第一多層記憶胞(目標TLC),第二經轉換碼字「000 000 000 000」的每一個三位元值被寫入第一僕實體塊的對應的第二多層記憶胞(第一僕TLC),而第三經轉換碼字「111 000 111 000」的每一個三位元值被寫入第二僕實體塊的對應的第三多層記憶胞(第二僕TLC)。因此,控制電路120(或控制器電路220)可以把多位元記憶胞當作單位元記憶胞來使用。
在一些實施例中,上述「單位元記憶胞存取操作」的讀取操作說明如下。控制電路120(或控制器電路220)可以配置一個配對表。當控制電路120(或控制器電路220)欲從某一個目標實體塊讀取碼字時,控制電路120(或控制器電路220)可以在步驟S330中查詢所述配對表,以獲知與該目標實體塊相成對的第一僕實體塊與第二僕實體塊。換言之,若以記憶胞而言,亦即查詢所述配對表可以獲知與目標TLC相成對的第一僕TLC與第二僕TLC。
控制電路120(或控制器電路220)可以在步驟S330中讀取目標實體塊的目標TLC的位元值(在此稱為第一三位元值),讀取第一僕實體塊的第一僕TLC的位元值(在此稱為第二三位元值),以及讀取第二僕實體塊的第二僕TLC)的位元值(在此稱為第三三位元值)。控制電路120(或控制器電路220)可以將每一個第一三位元值各自轉換為一個單位元值(在此稱為第一對應單位元值),將每一個第二三位元值各自轉換為一個單位元值(在此稱為第二對應單位元值),以及將每一個第三三位元值各自轉換為一個單位元值(在此稱為第三對應單位元值)。
舉例來說,假設從目標實體塊讀取出的碼字為「111 101 111 101」,從第一僕實體塊讀取出的碼字為「000 001 001 000」,而從第二僕實體塊讀取出的碼字為「111 000 101 001」。控制電路120(或控制器電路220)可以將三位元值「111」、「101」、「100」或「110」轉換為對應單位元值「1」,以及將三位元值「010」、「000」、「001」或「010」轉換為對應單位元值「0」。因此,目標實體塊的碼字「111 101 111 101」被轉換為第一經轉換碼字「1 1 1 1」,第一僕實體塊的碼字「000 001 001 000」被轉換為第二經轉換碼字「0 0 0 0」,而第二僕實體塊的碼字「111 000 101 001」被轉換為第三經轉換碼字「1 0 1 0」。完成轉換後,第一經轉換碼字「1 1 1 1」作為欲讀出碼字的第一部份碼字,第二經轉換碼字「0 0 0 0」作為欲讀出碼字的第二部份碼字,而第三經轉換碼字「1 0 1 0」作為欲讀出碼字的第三部份碼字。控制電路120(或控制器電路220)可以將此欲讀出碼字「1 1 1 1 0 0 0 0 1 0 1 0」回傳給主機/系統。因此,控制電路120(或控制器電路220)可以把多位元記憶胞當作單位元記憶胞來使用。
所述非依電性記憶體的操作方法還包括抹除操作。當欲抹除某一個目標實體塊b的所有多位元記憶胞時,控制電路120(或控制器電路220)可以對這些多位元記憶胞進行「單位元記憶胞抹除操作」。所述「單位元記憶胞抹除操作」詳述如下。當目標實體塊的操作模式不為「SLC」(單層記憶胞模式)時,控制電路120(或控制器電路220)可以僅抹除目標實體塊的內容。當欲抹除目標實體塊b的所有多位元記憶胞時,控制電路120(或控制器電路220)可以查詢所述配對表,以獲知與該目標實體塊b相成對的第一僕實體塊與第二僕實體塊。換言之,若以記憶胞而言,亦即查詢所述配對表可以獲知與目標TLC相成對的第一僕TLC與第二僕TLC。當目標TLC的操作模式為「SLC」(單層記憶胞模式)時,控制電路120(或控制器電路220)可以抹除目標TLC的內容,抹除第一僕TLC的內容,以及抹除第二僕TLC的內容。
值得注意的是,在不同的應用情境中,控制電路120及/或控制器電路220的相關功能可以利用一般的編程語言(programming languages,例如C或C++)、硬體描述語言(hardware description languages,例如Verilog HDL或VHDL)或其他合適的編程語言來實現為軟體、韌體或硬體。可執行所述相關功能的編程語言可以被佈置為任何已知的計算機可存取媒體(computer-accessible medias),例如磁帶(magnetic tapes)、半導體(semiconductors)記憶體、磁盤(magnetic disks)或光盤(compact disks,例如CD-ROM或DVD-ROM),或者可通過互聯網(Internet)、有線通信(wired communication)、無線通信(wireless communication)或其它通信介質傳送所述編程語言。所述編程語言可以被存放在計算機的可存取媒體中,以便於由計算機的處理器來存取/執行所述軟體(或韌體)的編程碼(programming codes)。對於硬體實現,結合本文實施例所揭示的態樣,利用在一或多個控制器、微控制器、微處理器、特殊應用積體電路(Application-specific integrated circuit, ASIC)、數位訊號處理器(digital signal processor, DSP)、場可程式邏輯閘陣列(Field Programmable Gate Array, FPGA)及/或其他處理單元中的的各種示例性的邏輯、邏輯區塊、模組和電路可以被用於實現或執行本文所述功能。另外,本發明的裝置和方法可以通過硬體和軟體的組合來實現。
綜上所述,本發明諸實施例所述非依電性儲存裝置、非依電性記憶體積體電路及其非依電性記憶體的操作方法,其把多位元記憶胞(例如MLC或TLC)當作單位元記憶胞(例如SLC)來使用。當欲存取多位元記憶胞時,對所述多位元記憶胞進行單位元記憶胞存取操作,以降低多位元記憶胞的資料發生錯誤的機率。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
10、20:主機 100:非依電性記憶體積體電路 110:非依電性記憶胞陣列 111:多位元記憶胞 120:控制電路 121:處理單元 122:轉換器 123:資料緩衝器 200:非依電性儲存裝置 210:非依電性記憶體積體電路 211:多位元記憶胞 220:控制器電路 221:處理單元 222:轉換器 S310~S340、S410~S470、S510~S570、S610~S670:步驟
圖1是依照本發明一實施例所繪示的一種非依電性記憶體積體電路的電路方塊(circuit block)示意圖。 圖2是依照本發明另一實施例所繪示一種非依電性儲存裝置的電路方塊示意圖。 圖3是依照本發明一實施例說明一種非依電性記憶體的操作方法的流程示意圖。 圖4是依照本發明一實施例說明「單位元記憶胞存取操作」的寫入操作的流程示意圖。 圖5是依照本發明一實施例說明「單位元記憶胞存取操作」的讀取操作的流程示意圖。 圖6是依照本發明一實施例說明「單位元記憶胞抹除操作」的流程示意圖。
Claims (24)
- 一種非依電性記憶體的操作方法,包括:當欲存取一個多位元記憶胞時,對該多位元記憶胞進行一單位元記憶胞存取操作;以及當欲抹除該多位元記憶胞時,對該多位元記憶胞進行一單位元記憶胞抹除操作,其中該多位元記憶胞為一第一多層記憶胞,而該單位元記憶胞抹除操作包括:查詢一配對表,以獲知與該第一多層記憶胞相成對的一第二多層記憶胞;抹除該第一多層記憶胞的內容;以及抹除該第二多層記憶胞的內容。
- 如申請專利範圍第1項所述的非依電性記憶體的操作方法,其中該多位元記憶胞包括一多層記憶胞(Multi-Level Cell,MLC)或一三層記憶胞(Triple Level Cell,TLC)。
- 一種非依電性記憶體的操作方法,包括:當欲存取一個多位元記憶胞時,對該多位元記憶胞進行一單位元記憶胞存取操作;以及當欲抹除該多位元記憶胞時,對該多位元記憶胞進行一單位元記憶胞抹除操作,其中該多位元記憶胞為一第一多層記憶胞,而該單位元記憶胞抹除操作包括:查詢一類型表,以獲知該第一多層記憶胞的一操作模式;當該第一多層記憶胞的該被操作模式為一單層記憶胞(Single Level Cell,SLC)模式時,查詢一配對表,以獲知與該第一多層記憶胞相成對的一第二多層記憶胞;當該第一多層記憶胞的該操作模式為該單層記憶胞模式時,抹除該第一多層記憶胞與該第二多層記憶胞的內容;以及當該第一多層記憶胞的該操作模式不是該單層記憶胞模式亦不是一僕記憶胞模式時,抹除該第一多層記憶胞的內容。
- 一種非依電性記憶體的操作方法,包括:當欲存取一個多位元記憶胞時,對該多位元記憶胞進行一單位元記憶胞存取操作;其中該多位元記憶胞為一第一多層記憶胞,而該單位元記憶胞存取操作包括:查詢一配對表,以獲知與該第一多層記憶胞相成對的一第二多層記憶胞;將一欲寫入碼字拆分為一第一部份碼字與一第二部份碼字;將該第一部份碼字的一第一單位元值轉換為一第一對應二位元值;將該第一對應二位元值寫入該第一多層記憶胞;將該第二部份碼字的一第二單位元值轉換為一第二對應二位元值;以及將該第二對應二位元值寫入該第二多層記憶胞。
- 一種非依電性記憶體的操作方法,包括:當欲存取一個多位元記憶胞時,對該多位元記憶胞進行一單位元記憶胞存取操作;其中該多位元記憶胞為一第一多層記憶胞,而該單位元記憶胞存取操作包括:查詢一類型表,以獲知該第一多層記憶胞的一操作模式;當該第一多層記憶胞的該操作模式為一單層記憶胞模式時,查詢一配對表,以獲知與該第一多層記憶胞相成對的一第二多層記憶胞;以及當該第一多層記憶胞的該操作模式為該單層記憶胞模式時,將一欲寫入碼字拆分為一第一部份碼字與一第二部份碼字,將該第一部份碼字的一第一單位元值轉換為一第一對應二位元值,將該第一對應二位元值寫入該第一多層記憶胞,將該第二部份碼字的一第二單位元值轉換為一第二對應二位元值,以及將該第二對應二位元值寫入該第二多層記憶胞。
- 一種非依電性記憶體的操作方法,包括:當欲存取一個多位元記憶胞時,對該多位元記憶胞進行一單位元記憶胞存取操作;其中該多位元記憶胞為一第一多層記憶胞,而該單位元記憶胞存取操作包括:查詢一配對表,以獲知與該第一多層記憶胞相成對的一第二多層記憶胞;讀取該第一多層記憶胞的一第一二位元值;將該第一二位元值轉換為一第一對應單位元值;將該第一對應單位元值作為一欲讀出碼字的一第一部份碼字的一個位元值;讀取該第二多層記憶胞的一第二二位元值;將該第二二位元值轉換為一第二對應單位元值;以及將該第二對應單位元值作為該欲讀出碼字的一第二部份碼字的一個位元值。
- 如申請專利範圍第6項所述的非依電性記憶體的操作方法,其中所述將該第一二位元值轉換為該第一對應單位元值之步驟包括:當該第一二位元值為「11」或「10」時,該第一對應單位元值為「1」,以及當該第一二位元值為「01」或「00」時,該第一對應單位元值為「0」;以及所述將該第二二位元值轉換為該第二對應單位元值之步驟包括:當該第二二位元值為「11」或「10」時,該第二對應單位元值為「1」,以及當該第二二位元值為「01」或「00」時,該第二對應單位元值為「0」。
- 一種非依電性記憶體的操作方法,包括:當欲存取一個多位元記憶胞時,對該多位元記憶胞進行一單位元記憶胞存取操作;其中該多位元記憶胞為一第一多層記憶胞,而該單位元記憶胞存取操作包括:查詢一類型表,以獲知該第一多層記憶胞的一操作模式;當該第一多層記憶胞的該操作模式為一單層記憶胞模式時,查詢一配對表,以獲知與該第一多層記憶胞相成對的一第二多層記憶胞;以及當該第一多層記憶胞的該操作模式為該單層記憶胞模式時,讀取該第一多層記憶胞的一第一二位元值,將該第一二位元值轉換為一第一對應單位元值,將該第一對應單位元值作為一欲讀出碼字的一第一部份碼字的一個位元值,讀取該第二多層記憶胞的一第二二位元值,將該第二二位元值轉換為一第二對應單位元值,以及將該第二對應單位元值作為該欲讀出碼字的一第二部份碼字的一個位元值。
- 一種非依電性記憶體積體電路,包括:一非依電性記憶胞陣列,具有一個多位元記憶胞;以及一控制電路,耦接至該非依電性記憶胞陣列,其中當該控制電路欲存取該多位元記憶胞時,該控制電路對該多位元記憶胞進行一單位元記憶胞存取操作,其中當該控制電路欲抹除該多位元記憶胞時,該控制電路對該多位元記憶胞進行一單位元記憶胞抹除操作,該多位元記憶胞為一第一多層記憶胞,而該單位元記憶胞抹除操作包括:查詢一配對表,以獲知與該第一多層記憶胞相成對的一第二多層記憶胞;抹除該第一多層記憶胞的內容;以及抹除該第二多層記憶胞的內容。
- 如申請專利範圍第9項所述的非依電性記憶體積體電路,其中該多位元記憶胞包括一多層記憶胞或一三層記憶胞。
- 一種非依電性記憶體積體電路,包括:一非依電性記憶胞陣列,具有一個多位元記憶胞;以及一控制電路,耦接至該非依電性記憶胞陣列,其中當該控制電路欲存取該多位元記憶胞時,該控制電路對該多位元記憶胞進行一單位元記憶胞存取操作,其中當該控制電路欲抹除該多位元記憶胞時,該控制電路對該多位元記憶胞進行一單位元記憶胞抹除操作,該多位元記憶胞為一第一多層記憶胞,而該單位元記憶胞抹除操作包括:查詢一類型表,以獲知該第一多層記憶胞的一操作模式;當該第一多層記憶胞的該操作模式為一單層記憶胞模式時,查詢一配對表,以獲知與該第一多層記憶胞相成對的一第二多層記憶胞;當該第一多層記憶胞的該操作模式為該單層記憶胞模式時,抹除該第一多層記憶胞與該第二多層記憶胞的內容;以及當該第一多層記憶胞的該操作模式不是該單層記憶胞模式亦不是一僕記憶胞模式時,抹除該第一多層記憶胞的內容。
- 一種非依電性記憶體積體電路,包括:一非依電性記憶胞陣列,具有一個多位元記憶胞;以及一控制電路,耦接至該非依電性記憶胞陣列,其中當該控制電路欲存取該多位元記憶胞時,該控制電路對該多位元記憶胞進行一單位元記憶胞存取操作,其中該多位元記憶胞為一第一多層記憶胞,而該單位元記憶胞存取操作包括:查詢一配對表,以獲知與該第一多層記憶胞相成對的一第二多層記憶胞;將一欲寫入碼字拆分為一第一部份碼字與一第二部份碼字;將該第一部份碼字的一第一單位元值轉換為一第一對應二位元值;將該第一對應二位元值寫入該第一多層記憶胞;將該第二部份碼字的一第二單位元值轉換為一第二對應二位元值;以及將該第二對應二位元值寫入該第二多層記憶胞。
- 一種非依電性記憶體積體電路,包括:一非依電性記憶胞陣列,具有一個多位元記憶胞;以及一控制電路,耦接至該非依電性記憶胞陣列,其中當該控制電路欲存取該多位元記憶胞時,該控制電路對該多位元記憶胞進行一單位元記憶胞存取操作,其中該多位元記憶胞為一第一多層記憶胞,而該單位元記憶胞存取操作包括:查詢一類型表,以獲知該第一多層記憶胞的一操作模式;當該第一多層記憶胞的該操作模式為一單層記憶胞模式時,查詢一配對表,以獲知與該第一多層記憶胞相成對的一第二多層記憶胞;以及當該第一多層記憶胞的該操作模式為該單層記憶胞模式時,將一欲寫入碼字拆分為一第一部份碼字與一第二部份碼字,將該第一部份碼字的一第一單位元值轉換為一第一對應二位元值,將該第一對應二位元值寫入該第一多層記憶胞,將該第二部份碼字的一第二單位元值轉換為一第二對應二位元值,以及將該第二對應二位元值寫入該第二多層記憶胞。
- 一種非依電性記憶體積體電路,包括:一非依電性記憶胞陣列,具有一個多位元記憶胞;以及一控制電路,耦接至該非依電性記憶胞陣列,其中當該控制電路欲存取該多位元記憶胞時,該控制電路對該多位元記憶胞進行一單位元記憶胞存取操作,其中該多位元記憶胞為一第一多層記憶胞,而該單位元記憶胞存取操作包括:查詢一配對表,以獲知與該第一多層記憶胞相成對的一第二多層記憶胞;讀取該第一多層記憶胞的一第一二位元值;將該第一二位元值轉換為一第一對應單位元值;將該第一對應單位元值作為一欲讀出碼字的一第一部份碼字的一個位元值;讀取該第二多層記憶胞的一第二二位元值;將該第二二位元值轉換為一第二對應單位元值;以及將該第二對應單位元值作為該欲讀出碼字的一第二部份碼字的一個位元值。
- 如申請專利範圍第14項所述的非依電性記憶體積體電路,其中所述將該第一二位元值轉換為該第一對應單位元值之步驟包括:當該第一二位元值為「11」或「10」時,該第一對應單位元值為「1」,以及當該第一二位元值為「01」或「00」時,該第一對應單位元值為「0」;以及所述將該第二二位元值轉換為該第二對應單位元值之步驟包括:當該第二二位元值為「11」或「10」時,該第二對應單位元值為「1」,以及當該第二二位元值為「01」或「00」時,該第二對應單位元值為「0」。
- 一種非依電性記憶體積體電路,包括:一非依電性記憶胞陣列,具有一個多位元記憶胞;以及一控制電路,耦接至該非依電性記憶胞陣列,其中當該控制電路欲存取該多位元記憶胞時,該控制電路對該多位元記憶胞進行一單位元記憶胞存取操作,其中該多位元記憶胞為一第一多層記憶胞,而該單位元記憶胞存取操作包括:查詢一類型表,以獲知該第一多層記憶胞的一操作模式;當該第一多層記憶胞的該操作模式為一單層記憶胞模式時,查詢一配對表,以獲知與該第一多層記憶胞相成對的一第二多層記憶胞;以及當該第一多層記憶胞的該操作模式為該單層記憶胞模式時,讀取該第一多層記憶胞的一第一二位元值,將該第一二位元值轉換為一第一對應單位元值,將該第一對應單位元值作為一欲讀出碼字的一第一部份碼字的一個位元值,讀取該第二多層記憶胞的一第二二位元值,將該第二二位元值轉換為一第二對應單位元值,以及將該第二對應單位元值作為該欲讀出碼字的一第二部份碼字的一個位元值。
- 一種非依電性儲存裝置,包括:一非依電性記憶體積體電路,具有一非依電性記憶胞陣列,而該非依電性記憶胞陣列具有一個多位元記憶胞;以及一控制器電路,耦接至該非依電性記憶體積體電路,其中當該控制器電路欲存取該多位元記憶胞時,該控制器電路對該多位元記憶胞進行一單位元記憶胞存取操作,其中當該控制器電路欲抹除該多位元記憶胞時,該控制器電路對該多位元記憶胞進行一單位元記憶胞抹除操作,該多位元記憶胞為一第一多層記憶胞,而該單位元記憶胞抹除操作包括:查詢一配對表,以獲知與該第一多層記憶胞相成對的一第二多層記憶胞;抹除該第一多層記憶胞的內容;以及抹除該第二多層記憶胞的內容。
- 如申請專利範圍第17項所述的非依電性儲存裝置,其中該多位元記憶胞包括一多層記憶胞或一三層記憶胞。
- 一種非依電性儲存裝置,包括:一非依電性記憶體積體電路,具有一非依電性記憶胞陣列,而該非依電性記憶胞陣列具有一個多位元記憶胞;以及一控制器電路,耦接至該非依電性記憶體積體電路,其中當該控制器電路欲存取該多位元記憶胞時,該控制器電路對該多位元記憶胞進行一單位元記憶胞存取操作,其中當該控制器電路欲抹除該多位元記憶胞時,該控制器電路對該多位元記憶胞進行一單位元記憶胞抹除操作,該多位元記憶胞為一第一多層記憶胞,而該單位元記憶胞抹除操作包括:查詢一類型表,以獲知該第一多層記憶胞的一操作模式;當該第一多層記憶胞的該操作模式為一單層記憶胞模式時,查詢一配對表,以獲知與該第一多層記憶胞相成對的一第二多層記憶胞;當該第一多層記憶胞的該操作模式為該單層記憶胞模式時,抹除該第一多層記憶胞與該第二多層記憶胞的內容;以及當該第一多層記憶胞的該操作模式不是該單層記憶胞模式亦不是一僕記憶胞模式時,抹除該第一多層記憶胞的內容。
- 一種非依電性儲存裝置,包括:一非依電性記憶體積體電路,具有一非依電性記憶胞陣列,而該非依電性記憶胞陣列具有一個多位元記憶胞;以及一控制器電路,耦接至該非依電性記憶體積體電路,其中當該控制器電路欲存取該多位元記憶胞時,該控制器電路對該多位元記憶胞進行一單位元記憶胞存取操作,其中該多位元記憶胞為一第一多層記憶胞,而該單位元記憶胞存取操作包括:查詢一配對表,以獲知與該第一多層記憶胞相成對的一第二多層記憶胞;將一欲寫入碼字拆分為一第一部份碼字與一第二部份碼字;將該第一部份碼字的一第一單位元值轉換為一第一對應二位元值;將該第一對應二位元值寫入該第一多層記憶胞;將該第二部份碼字的一第二單位元值轉換為一第二對應二位元值;以及將該第二對應二位元值寫入該第二多層記憶胞。
- 一種非依電性儲存裝置,包括:一非依電性記憶體積體電路,具有一非依電性記憶胞陣列,而該非依電性記憶胞陣列具有一個多位元記憶胞;以及一控制器電路,耦接至該非依電性記憶體積體電路,其中當該控制器電路欲存取該多位元記憶胞時,該控制器電路對該多位元記憶胞進行一單位元記憶胞存取操作,其中該多位元記憶胞為一第一多層記憶胞,而該單位元記憶胞存取操作包括:查詢一類型表,以獲知該第一多層記憶胞的一操作模式;當該第一多層記憶胞的該操作模式為一單層記憶胞模式時,查詢一配對表,以獲知與該第一多層記憶胞相成對的一第二多層記憶胞;以及當該第一多層記憶胞的該操作模式為該單層記憶胞模式時,將一欲寫入碼字拆分為一第一部份碼字與一第二部份碼字,將該第一部份碼字的一第一單位元值轉換為一第一對應二位元值,將該第一對應二位元值寫入該第一多層記憶胞,將該第二部份碼字的一第二單位元值轉換為一第二對應二位元值,以及將該第二對應二位元值寫入該第二多層記憶胞。
- 一種非依電性儲存裝置,包括:一非依電性記憶體積體電路,具有一非依電性記憶胞陣列,而該非依電性記憶胞陣列具有一個多位元記憶胞;以及一控制器電路,耦接至該非依電性記憶體積體電路,其中當該控制器電路欲存取該多位元記憶胞時,該控制器電路對該多位元記憶胞進行一單位元記憶胞存取操作,其中該多位元記憶胞為一第一多層記憶胞,而該單位元記憶胞存取操作包括:查詢一配對表,以獲知與該第一多層記憶胞相成對的一第二多層記憶胞;讀取該第一多層記憶胞的一第一二位元值;將該第一二位元值轉換為一第一對應單位元值;將該第一對應單位元值作為一欲讀出碼字的一第一部份碼字的一個位元值;讀取該第二多層記憶胞的一第二二位元值;將該第二二位元值轉換為一第二對應單位元值;以及將該第二對應單位元值作為該欲讀出碼字的一第二部份碼字的一個位元值。
- 如申請專利範圍第22項所述的非依電性儲存裝置,其中所述將該第一二位元值轉換為該第一對應單位元值之步驟包括:當該第一二位元值為「11」或「10」時,該第一對應單位元值為「1」,以及當該第一二位元值為「01」或「00」時,該第一對應單位元值為「0」;以及所述將該第二二位元值轉換為該第二對應單位元值之步驟包括:當該第二二位元值為「11」或「10」時,該第二對應單位元值為「1」,以及當該第二二位元值為「01」或「00」時,該第二對應單位元值為「0」。
- 一種非依電性儲存裝置,包括:一非依電性記憶體積體電路,具有一非依電性記憶胞陣列,而該非依電性記憶胞陣列具有一個多位元記憶胞;以及一控制器電路,耦接至該非依電性記憶體積體電路,其中當該控制器電路欲存取該多位元記憶胞時,該控制器電路對該多位元記憶胞進行一單位元記憶胞存取操作,其中該多位元記憶胞為一第一多層記憶胞,而該單位元記憶胞存取操作包括:查詢一類型表,以獲知該第一多層記憶胞的一操作模式;當該第一多層記憶胞的該操作模式為一單層記憶胞模式時,查詢一配對表,以獲知與該第一多層記憶胞相成對的一第二多層記憶胞;以及當該第一多層記憶胞的該操作模式為該單層記憶胞模式時,讀取該第一多層記憶胞的一第一二位元值,將該第一二位元值轉換為一第一對應單位元值,將該第一對應單位元值作為一欲讀出碼字的一第一部份碼字的一個位元值,讀取該第二多層記憶胞的一第二二位元值,將該第二二位元值轉換為一第二對應單位元值,以及將該第二對應單位元值作為該欲讀出碼字的一第二部份碼字的一個位元值。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106118773A TWI651727B (zh) | 2017-06-07 | 2017-06-07 | 非依電性儲存裝置、非依電性記憶體積體電路及其非依電性記憶體的操作方法 |
CN201710584841.5A CN109002367A (zh) | 2017-06-07 | 2017-07-18 | 非易失性储存装置、非易失性存储器集成电路及操作方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106118773A TWI651727B (zh) | 2017-06-07 | 2017-06-07 | 非依電性儲存裝置、非依電性記憶體積體電路及其非依電性記憶體的操作方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201903780A TW201903780A (zh) | 2019-01-16 |
TWI651727B true TWI651727B (zh) | 2019-02-21 |
Family
ID=64573900
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106118773A TWI651727B (zh) | 2017-06-07 | 2017-06-07 | 非依電性儲存裝置、非依電性記憶體積體電路及其非依電性記憶體的操作方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN109002367A (zh) |
TW (1) | TWI651727B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11188261B2 (en) * | 2019-11-18 | 2021-11-30 | International Business Machines Corporation | Memory controllers for solid-state storage devices |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100169540A1 (en) * | 2008-12-30 | 2010-07-01 | Sinclair Alan W | Method and apparatus for relocating selected data between flash partitions in a memory device |
US20130028019A1 (en) * | 2009-07-22 | 2013-01-31 | Kabushiki Kaisha Toshiba | Nonvolatile semiconductor memory device |
US20150324119A1 (en) * | 2014-05-07 | 2015-11-12 | Sandisk Technologies Inc. | Method and System for Improving Swap Performance |
US20170102882A1 (en) * | 2015-10-12 | 2017-04-13 | Sandisk Technologies Inc. | Write redirect |
US20170115884A1 (en) * | 2015-10-26 | 2017-04-27 | SanDisk Technologies, Inc. | Data Folding in 3D Nonvolatile Memory |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7457897B1 (en) * | 2004-03-17 | 2008-11-25 | Suoer Talent Electronics, Inc. | PCI express-compatible controller and interface for flash memory |
KR100855467B1 (ko) * | 2006-09-27 | 2008-09-01 | 삼성전자주식회사 | 이종 셀 타입을 지원하는 비휘발성 메모리를 위한 맵핑장치 및 방법 |
CN103049217B (zh) * | 2012-12-07 | 2016-03-23 | 记忆科技(深圳)有限公司 | Mlc nand型固态硬盘及读写控制方法、闪存控制器 |
CN103870214A (zh) * | 2014-02-26 | 2014-06-18 | 深圳市安信达存储技术有限公司 | 多层存储块兼具单层存储块性能的方法 |
-
2017
- 2017-06-07 TW TW106118773A patent/TWI651727B/zh active
- 2017-07-18 CN CN201710584841.5A patent/CN109002367A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100169540A1 (en) * | 2008-12-30 | 2010-07-01 | Sinclair Alan W | Method and apparatus for relocating selected data between flash partitions in a memory device |
US20130028019A1 (en) * | 2009-07-22 | 2013-01-31 | Kabushiki Kaisha Toshiba | Nonvolatile semiconductor memory device |
US20150324119A1 (en) * | 2014-05-07 | 2015-11-12 | Sandisk Technologies Inc. | Method and System for Improving Swap Performance |
US20170102882A1 (en) * | 2015-10-12 | 2017-04-13 | Sandisk Technologies Inc. | Write redirect |
US20170115884A1 (en) * | 2015-10-26 | 2017-04-27 | SanDisk Technologies, Inc. | Data Folding in 3D Nonvolatile Memory |
Also Published As
Publication number | Publication date |
---|---|
CN109002367A (zh) | 2018-12-14 |
TW201903780A (zh) | 2019-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI781568B (zh) | 快閃記憶體控制器以及用來存取快閃記憶體模組的方法 | |
TWI479494B (zh) | 基於疲乏條件之非揮發性記憶體單元的更新 | |
TWI633557B (zh) | 用來進行記憶體存取管理之方法以及記憶裝置及其控制器 | |
TWI436213B (zh) | 基於等量記憶體區之非揮發性多階記憶體操作 | |
US9552888B2 (en) | Methods, devices, and systems for data sensing | |
JP6345210B2 (ja) | 軟判定復号のための物理アドレスの相互関連付け | |
CN107368386B (zh) | 用于处理从非易失性存储器阵列检索的状态置信度数据的方法和设备 | |
US9640268B2 (en) | Nonvolatile memory device including memory area storing information used for searching erased page, data storage device including the same, and operating method thereof | |
KR102363382B1 (ko) | 불휘발성 메모리 장치, 불휘발성 메모리 장치의 동작 방법 및 불휘발성 메모리 장치를 포함하는 데이터 저장 장치 | |
US9105359B2 (en) | Nonvolatile memory device and error correction methods thereof | |
US20210407564A1 (en) | Method and apparatus to perform a read of a column in a memory accessible by row and/or by column | |
US11561713B2 (en) | Simplified high capacity die and block management | |
TWI651727B (zh) | 非依電性儲存裝置、非依電性記憶體積體電路及其非依電性記憶體的操作方法 | |
KR20210013397A (ko) | 스토리지 장치 | |
US11817154B2 (en) | Optimized threshold translation from serialized pipeline | |
US10719270B2 (en) | Raising usage rates of memory blocks with a free MSB page list | |
US20220057961A1 (en) | Method and apparatus to perform a multiple bit column read using a single bit per column memory accessible by row and/or by column | |
US20230223078A1 (en) | Memory device, memory system, and method of operating the same |