TWI494923B - 使用交錯方式的記憶體系統及其方法 - Google Patents
使用交錯方式的記憶體系統及其方法 Download PDFInfo
- Publication number
- TWI494923B TWI494923B TW097140672A TW97140672A TWI494923B TW I494923 B TWI494923 B TW I494923B TW 097140672 A TW097140672 A TW 097140672A TW 97140672 A TW97140672 A TW 97140672A TW I494923 B TWI494923 B TW I494923B
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- block
- memory elements
- data
- error
- 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1015—Read-write modes for single port memories, i.e. having either a random port or a serial port
- G11C7/1042—Read-write modes for single port memories, i.e. having either a random port or a serial port using interleaving techniques, i.e. read-write of one part of the memory while preparing another part
-
- 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/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4234—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
- G06F13/4239—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with asynchronous protocol
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
本發明是有關於一種使用資料交錯方式(data interleaving scheme)以增加資料轉移效能的記憶體系統(memory system)及其方法。
記憶體系統通常包括控制器(controller)及記憶元件(memory devices)。控制器管理記憶元件的資料流入及流出且包括儲存記憶元件所輸出的資料之緩衝記憶體(buffer memory)。每一個記憶元件包括記憶胞陣列(memory cell array)以及儲存記憶胞陣列所輸出的資料之頁緩衝器(page buffer),此資料要轉移至控制器的緩衝記憶體。
於此種記憶體系統,從記憶胞陣列到頁記憶體(page memory)的資料轉移時間遠長於從頁記憶體到控制器的緩衝記憶體的資料轉移時間。因此,記憶體系統的資料轉移效能(performance)變差。
因此,有必要改善記憶體系統的資料轉移效能。
本發明提供一種記憶體系統,包括:多個記憶元件;控制器,設定為控制多個記憶元件;以及至少一個通道(channel),連接在多個記憶元件與控制器之間。至少一個通道包括連接多個記憶元件之輸入/輸出資料線(input/output data lines)及控制訊號線(control signal lines),並且包括分別連接多個記憶元件的每一個之晶片啟用訊號線(chip enable signal lines),其中晶片啟用訊號線獨立地啟用多個記憶元件。控制器傳送一種讀取命令(read command)或程式命令(program command)到多個記憶元件中之一個,並且當多個記憶元件的這一個進行內部讀取操作以響應於讀取命令時,控制器從多個記憶元件的另一個讀取資料,或者當多個記憶元件的上述這一個進行內部程式操作以響應於程式命令時,控制器使至多個記憶元件的另一個的資料程式化。
在本發明之一實施例中,多個記憶元件的每一個更包括多層晶胞(multi-level cell,MLC)記憶體陣列,其中儲存多個資料位元於記憶胞中。
在本發明之一實施例中,控制器更包括至少一個錯誤修正碼(error correcting code,ECC)方塊,設定為偵測及修正從多個記憶元件經由至少一個通道輸出的資料的錯誤。
在本發明之一實施例中,錯誤修正碼(ECC)方塊更包括:錯誤修正碼編碼器方塊(ECC encoder block),設定為編碼從主機(host)接收的資料且輸出所編碼的資料到多個記憶元件;以及錯誤修正碼解碼器方塊(ECC decoder block),其中包括:徵狀值計算(syndrome computation,SC)方塊,設定為根據從多個記憶元件的至少一個輸出的資料是否有錯誤來計算徵狀值;關鍵方程式求解器(key equation solver,KES)方塊,設定為利用從徵狀值計算方塊接收的徵狀值來獲得錯誤位置方程式(error position equation)的係數;秦氏搜尋(Chien searching,CS)方塊,設定為利用上述係數以進行用於獲得錯誤位置方程式的解答的演算法(algorithm);以及錯誤評估器(error evaluator,EE)方塊,設定為根據進行上述演算法的結果來獲得從多個記憶元件的至少一個輸出的資料的錯誤位置。
在本發明之一實施例中,上述之關鍵方程式求解器方塊、秦氏搜尋方塊以及錯誤評估器方塊能以管線模式(pipeline mode)來操作。
在本發明之一實施例中,多個記憶元件的每一個更包括:記憶胞陣列;以及頁緩衝器,設定為儲存從記憶胞陣列讀取的資料或至記憶胞陣列的程式化資料。
在本發明之一實施例中,內部讀取操作更包括轉移記憶胞陣列所儲存的資料到頁緩衝器,並且內部程式操作更包括轉移頁緩衝器所儲存的資料到記憶胞陣列。
在本發明之一實施例中,錯誤修正碼(ECC)方塊更包括:錯誤修正碼(ECC)編碼器方塊,設定為編碼從主機接收的資料且輸出所編碼的資料到多個記憶元件;以及錯誤修正碼(ECC)解碼器方塊,其包括:分支度量計算方塊,設定為根據從多個記憶元件的至少一個輸出的資料是否有錯誤來計算一分支度量;相加比較選擇方塊,設定為將狀態度量記憶體方塊所儲存的狀態度量加至分支度量,並且輸出相加的結果作為新狀態度量;狀態度量記憶體方塊,設定為從相加比較選擇方塊接收新狀態度量,並且更新本身儲存的狀態度量;以及存活路徑記憶體方塊,設定為根據從相加比較選擇方塊輸出的新狀態度量以獲得從多個記憶元件的至少一個輸出的資料的存活路徑。
在本發明之一實施例中,上述之相加比較選擇方塊、狀態度量記憶體方塊以及存活路徑記憶體方塊以管線模式來操作。
本發明提供一種記憶體系統的交錯方法。交錯方法包括:利用控制器傳送讀取命令或程式命令到多個記憶元件中之一個;利用多個記憶元件的這一個來進行內部讀取操作以響應於讀取命令,或者利用多個記憶元件的上述這一個來進行內部程式操作以響應於程式命令;以及當多個記憶元件的上述這一個進行內部讀取操作時利用控制器從多個記憶元件的另一個讀取資料,或者當多個記憶元件的上述這一個進行內部程式操作時利用控制器使至多個記憶元件的另一個的資料程式化。
在本發明之一實施例中,內部讀取操作更包括轉移記憶胞陣列所儲存的資料到多個記憶元件的一個的頁緩衝器,並且內部程式操作可包括轉移頁緩衝器所儲存的資料到記憶胞陣列。多個記憶元件的每一個可包括多層晶胞記憶體陣列,其中儲存多個資料位元於記憶胞中。
在本發明之一實施例中,交錯方法更包括利用錯誤修正碼(ECC)方塊來偵測從多個記憶元件輸出的資料的錯誤。
在本發明之一實施例中,偵測出資料中的錯誤更包括:利用徵狀值計算方塊根據從多個記憶元件的至少一個輸出的資料是否有錯誤來計算徵狀值;利用關鍵方程式求解器方塊來獲得使用從徵狀值計算方塊接收的徵狀值的錯誤位置方程式的係數;利用秦氏搜尋方塊來進行用以獲得使用上述係數的錯誤位置方程式的解答之演算法;以及利用錯誤評估器方塊根據進行上述演算法的結果來獲得從多個記憶元件的至少一個所輸出的資料的錯誤位置。
在本發明之一實施例中,上述之關鍵方程式求解器方塊、秦氏搜尋方塊以及錯誤評估器方塊能以管線模式來操作。
在本發明之一實施例中,偵測上述資料的錯誤更包括:利用分支度量計算方塊根據從多個記憶元件的至少一個所輸出的資料是否有錯誤來計算一分支度量;利用相加比較選擇方塊將狀態度量記憶體方塊所儲存的狀態度量加至該分支度量,並且輸出相加的結果作為新狀態度量;利用狀態度量記憶體方塊從相加比較選擇方塊來接收新狀態度量,並且更新狀態度量記憶體方塊所儲存的狀態度量;以及利用存活路徑記憶體方塊根據相加比較選擇方塊所輸出的新狀態度量來獲得從多個記憶元件的至少一個所輸出的資料的存活路徑。
在本發明之一實施例中,上述之相加比較選擇方塊、狀態度量記憶體方塊以及存活路徑記憶體方塊以管線模式來操作。
在本發明之一實施例中,利用控制器來傳送一讀取命令到多個記憶元件中之一個更包括:輸出晶片啟用訊號到多個記憶元件的這一個;輸出狀態檢查命令到多個記憶元件的這一個;當測定為多個記憶元件的這一個處於備妥狀態(ready state)時,輸出多個記憶元件的這一個的頁緩衝器所儲存的資料以作為狀態檢查結果;以及在完成資料的輸出之後,輸出一讀取命令及位址(address)到多個記憶元件的這一個以便輸出下一個資料。
在本發明之一實施例中,利用控制器傳送程式命令到多個記憶元件的這一個更包括:輸出晶片啟用訊號到多個記憶元件的這一個;輸出狀態檢查命令到多個記憶元件的這一個;輸出程式命令及位址到多個記憶元件的這一個;以及當測定為多個記憶元件的這一個處於備妥狀態時,輸出與位址有關的資料到多個記憶元件的這一個的頁緩衝器以作為狀態檢查結果。
本發明提供一種記憶體系統,包括:多個記憶元件;控制器,設定為控制多個記憶元件,其中當控制器獨立地存取多個記憶元件中之一個時資料轉移操作在多個記憶元件的另一個的記憶胞陣列與頁緩衝器之間進行;以及至少一個通道,連接在多個記憶元件與控制器之間,至少一個通道包括共同連接多個記憶元件之輸入/輸出資料線及控制訊號線,並且包括分別連接多個記憶元件的每一個之晶片啟用訊號線,其中晶片啟用訊號線獨立地啟用記憶元件。
為讓本發明之上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
以下將參考附圖更完整地說明本發明的實施例。然而,本發明可能以許多不同的形式來實施,因此不應視為侷限於在此所述之實施例。
須知當稱一元件「連接」或「耦合」另一元件時,此元件可能直接連接或耦合此另一元件或可能存在著中介元件。
圖1是從記憶胞到頁緩衝器的資料轉移時間對記憶容量的關係圖。參照圖1,隨著記憶容量增加,從記憶胞到頁緩衝器的資料轉移時間(換言之,從記憶胞讀取資料且將其轉移到頁緩衝器所花的時間)也增加。
尤其,對於從記憶胞到頁緩衝器的資料轉移時間而言,包括儲存多個資料位元於記憶胞的多層晶胞(MLC)之記憶元件所花的時間遠長於包括儲存單一資料位元於記憶胞的單層晶胞(single-level cell,SLC)之記憶元件所花的時間。這是因為從多層晶胞(MLC)讀取資料的次數遠多於從單層晶胞(SLC)讀取資料的次數。例如,16乘十億位元組(Gbyte)的多層晶胞(MLC)記憶元件所需要的資料轉移時間比16乘十億位元組(Gbyte)的單層晶胞(SLC)記憶元件所需要的資料轉移時間多大約三倍。
此外,隨著記憶容量增加,在多層晶胞(MLC)記憶元件中從記憶胞到頁緩衝器的資料轉移時間快速地增加。雖然未繪示,但是對於程式化從頁緩衝器到記憶胞的資料所花的時間而言,多層晶胞(MLC)記憶元件所花的時間也遠長於單層晶胞(SLC)記憶元件所花的時間。隨著記憶容量增加,在多層晶胞(MLC)記憶元件中程式化從頁緩衝器到記憶胞的資料所花的時間也增加。
因此,記憶胞與頁緩衝器之間的資料轉移延遲可使記憶體系統的整體資料轉移效能變差。
圖2是依照本發明之一實施例之記憶體系統100的方塊圖。參照圖2,記憶體系統100包括多個記憶元件110、120、130以及140,並且包括控制器150以及至少一個連接控制器150與記憶元件110、120、130以及140的通道180。
記憶元件110、120、130以及140分別包括頁緩衝器111、121、131以及141與記憶胞陣列112、122、132以及142。記憶元件110、120、130以及140進行內部讀取操作,其中它們分別輸出記憶胞陣列112、122、132以及142所儲存的資料到頁緩衝器111、121、131以及141。此外,記憶元件110、120、130以及140進行內部程式操作,此操作中它們分別使儲存於頁緩衝器111、121、131以及141中且將傳送至記憶胞陣列112、122、132以及142的資料程式化。可藉由多層晶胞(MLC)反及型快閃記憶體(NAND flash memory)來實現記憶胞陣列112、122、132以及142。
通道180包括多條輸入/輸出資料線181、多條控制訊號線182以及多條晶片啟用訊號線183。輸入/輸出資料線181共同連接記憶元件110、120、130以及140,並從記憶元件110、120、130以及140的至少一個將資料輸出到控制器150,且從控制器150輸入主機資料到記憶元件110、120、130以及140。
控制訊號線182共同連接記憶元件110、120、130以及140,並且輸出一控制訊號讀取啟用(read enable,RE)、寫入啟用(write enable,WE)、寫入保護(write protect,WP)、位址閂鎖啟用(address latch enable,ALE)以及命令閂鎖啟用(command latch enable,CLE),以便存取記憶元件110、120、130以及140中之一的記憶胞。
晶片啟用訊號線183的數目與記憶元件110、120、130以及140的數目相同。晶片啟用訊號線183分別連接記憶元件110、120、130以及140,並且獨立地啟用記憶元件110、120、130以及140。
控制器150傳送一讀取命令到記憶元件110、120、130以及140中之一個,並且當記憶元件110、120、130以及140的這一個執行內部讀取操作以響應於讀取命令時控制各記憶元件110、120、130以及140的另一個以便輸出資料。在程式操作期間,控制器150傳送程式命令到記憶元件110、120、130以及140中之一個,並且當記憶元件110、120、130以及140的這一個執行程式操作以響應於程式命令時控制器150傳送程式命令到記憶元件110、120、130以及140的另一個。
例如,在讀取操作期間,當第一記憶元件110輸出記憶胞陣列112所儲存的資料到第一頁緩衝器111以響應於讀取命令時,控制器150讀取第二記憶元件120的第二頁緩衝器121所儲存的資料。
控制器150包括一緩衝記憶體方塊160。緩衝記憶體方塊160儲存經由至少一個通道180而在控制器150與記憶元件110、120、130以及140之間轉移的資料。控制器150也包括錯誤修正碼(ECC)方塊170,此方塊編碼從主機接收的資料,然後輸出所編碼的資料到記憶元件110、120、130以及140,或者檢查從記憶元件110、120、130以及140輸出的資料是否有錯誤,然後修正錯誤,接著輸出此資料到主機。
圖3是依照本發明之一實施例之圖2之錯誤修正碼(ECC)方塊170的方塊圖。圖3所示之錯誤修正碼(ECC)方塊170利用方塊碼解碼(block code decoding)而予以實施。參照圖2及圖3,錯誤修正碼(ECC)方塊170包括錯誤修正碼(ECC)編碼器方塊171及錯誤修正碼(ECC)解碼器方塊172。
錯誤修正碼(ECC)編碼器方塊171編碼從主機接收的資料WR_DATA且輸出所編碼的資料Encoded_WR_DATA到記憶元件110、120、130以及140。例如,錯誤修正碼(ECC)編碼器方塊171可利用所接收的資料來產生循環冗餘檢查(cyclic redundancy check,CRC)資料(或徵狀值資料)。
錯誤修正碼(ECC)解碼器方塊172偵測從記憶元件110、120、130以及140輸出的資料RD_DATA的錯誤,並修正錯誤,且輸出錯誤修正過的資料Decoded_RD_DATA到主機。詳細來說,錯誤修正碼(ECC)解碼器方塊172包括徵狀值計算方塊10、關鍵方程式求解器方塊20、秦氏搜尋方塊30以及錯誤評估器方塊40。
徵狀值計算(SC)方塊10接收從記憶元件110、120、130以及140的每一個讀取的資料RD_DATA,並且根據資料RD_DATA是否有錯誤來計算及輸出徵狀值。當根據徵狀值計算(SC)方塊10所計算的徵狀值測定為從記憶元件110、120、130以及140的每一個讀取的資料RD_DATA有錯誤時,緩衝記憶體方塊160停止傳送資料RD_DATA到主機,並且控制器150進入錯誤修正模式(error correction mode)。
當控制器150進入錯誤修正模式時,關鍵方程式求解器(KES)方塊20計算與資料RD_DATA有關的錯誤位置方程式的係數,並且秦氏搜尋(CS)方塊30利用一預定的演算法(例如秦氏搜尋演算法)來獲得錯誤位置方程式的解答。錯誤評估器(EE)方塊40利用秦氏搜尋(CS)方塊30所獲得的解答來評估資料RD_DATA的錯誤位置。當關鍵方程式求解器(KES)方塊20、秦氏搜尋(CS)方塊30、以及錯誤評估器(EE)方塊40以管線模式來操作時,可增加輸送到主機的資料。
圖4是依照本發明之一實施例之包含圖3之錯誤修正碼(ECC)方塊170之記憶體系統的操作的時序圖。參照圖2至圖4,第一記憶元件110根據第一晶片啟用訊號/CE0來輸出第一頁緩衝器111所儲存的第一資料#1到控制器150所包括的緩衝記憶體方塊160。當第一資料#1完全轉移到緩衝記憶體方塊160時,控制器150輸出一讀取命令及第五資料#5的位址,並且第一記憶元件110開始從第一記憶胞陣列112輸出第五資料#5到第一頁緩衝器111。當第一記憶元件110藉由傳送第五資料#5到第一頁緩衝器111而開始進行內部讀取時,控制器150輸出第二晶片啟用訊號/CE1到第二記憶元件120。第二記憶元件120輸出第二頁緩衝器121所儲存的第二資料#2到控制器150的緩衝記憶體方塊160以響應於第二晶片啟用訊號/CE1,並且控制器150輸出一讀取命令到第二記憶元件120以輸出第六資料#6到第二頁緩衝器121。
換言之,當記憶元件110、120、130以及140中之一個進行內部讀取時,控制器150從記憶元件110、120、130以及140的另一個讀取資料。同樣地,在記憶體系統的程式操作中,當記憶元件110、120、130以及140中之一個進行內部程式化時,控制器150輸出資料到記憶元件110、120、130以及140的另一個。
同樣地,第三記憶元件130與第四記憶元件140分別根據第三晶片啟用訊號/CE2與第四晶片啟用訊號/CE3而依序輸出第三資料#3與第四資料#4,並且控制器150分別輸出第七資料與第八資料(未繪示)的讀取命令。
如圖4所示,關於從記憶元件110、120、130以及140的每一個輸出的資料#1、#2、#3以及#4,圖3所示之錯誤修正碼(ECC)解碼器方塊172所包括的徵狀值計算(SC)方塊10計算用以偵測錯誤的徵狀值。當根據徵狀值偵測到錯誤時,錯誤修正模式將運作且錯誤修正碼(ECC)解碼器方塊172以管線模式來操作,以便依序計算各資料#1、#2、#3以及#4的錯誤資訊,並且控制器150根據錯誤資訊來修正各資料#1、#2、#3以及#4的錯誤。
在計算該錯誤資訊中,當根據計算徵狀值的結果而測定為從第一記憶元件110讀取的第一資料#1有錯誤時,徵狀值計算(SC)方塊10輸出徵狀值資料到關鍵方程式求解器(KES)方塊20。關鍵方程式求解器(KES)方塊20利用計算有關緩衝記憶體方塊160所儲存的第一資料#1所得到的徵狀值資料來進行用以計算預定錯誤位置方程式的係數之「關鍵方程式」。此時,徵狀值計算(SC)方塊10依第一資料#1來計算及輸出與所輸入的第二資料#2有關的徵狀值。
在完成關鍵方程式求解器(KES)方塊20的操作之後,秦氏搜尋(CS)方塊30利用進行關鍵方程式的結果來進行用以獲得與第一資料#1有關的錯誤位置方程式的解答之「秦氏搜尋」演算法。當秦氏搜尋(CS)方塊30進行與第一資料#1有關的秦氏搜尋演算法時,關鍵方程式求解器(KES)方塊20接收對第二資料#2進行計算後所得到的徵狀值,並且根據接收有關第二資料#2所得到的徵狀值來進行用以計算與第二資料#2有關的錯誤位置方程式的係數之關鍵方程式。
當完成秦氏搜尋(CS)方塊30的操作時,錯誤評估器(EE)方塊40利用進行與第一資料#1有關的秦氏搜尋演算法的結果來進行評估與第一資料#1有關的錯誤位置之「錯誤評估」演算法,並且輸出錯誤評估演算法的結果。控制器150根據從錯誤評估器(EE)方塊40輸出之與第一資料#1有關的錯誤資訊(亦即錯誤位置資訊)來修正緩衝記憶體方塊160所儲存的第一資料#1的錯誤,並且緩衝記憶體方塊160輸出所修正的資料Decoded Data#1到主機。
當秦氏搜尋(CS)方塊30完成與第一資料#1有關的秦氏搜尋演算法時,此方塊接收與第二資料#2有關的關鍵方程式的結果,並且進行與緩衝記憶體方塊160所儲存的第二資料#2有關的秦氏搜尋演算法。當秦氏搜尋(CS)方塊30進行與第二資料#2有關的秦氏搜尋演算法時,關鍵方程式求解器(KES)方塊20接收與第三資料#3有關的徵狀值,並且進行關鍵方程式以計算與第三資料#3有關的錯誤位置方程式的係數。
當秦氏搜尋(CS)方塊30完成上述操作時,錯誤評估器(EE)方塊40根據與第二資料#2有關的秦氏搜尋演算法的結果來進行錯誤評估演算法,藉以計算及輸出與第二資料#2有關的錯誤資訊。控制器150根據錯誤資訊修正緩衝記憶體方塊160所儲存的第二資料#2的錯誤,並且該緩衝記憶體方塊160輸出所修正的資料Decoded Data #2到主機。
在根據本發明的實施例之記憶體系統100中,記憶元件110、120、130以及140的每一個接收讀取命令且輸出其記憶胞陣列112、122、132或142所儲存的資料到其頁緩衝器111、121、131或141所花的時間比從頁緩衝器111、121、131以及141的每一個輸出資料到控制器150的緩衝記憶體方塊160所花的時間長大約四倍。然而,可將記憶體系統100實施成為根據從記憶胞陣列轉移資料到每一個記憶元件的頁緩衝器所花的時間與從頁緩衝器轉移資料到控制器150的緩衝記憶體方塊160所花的時間之間的比例來改變共同連接單一通道的記憶元件的數目以進行有效的交錯。
圖5是依照本發明之一實施例之圖2之錯誤修正碼(ECC)方塊170的方塊圖。圖5所示之錯誤修正碼(ECC)方塊170使用維特比碼解碼(Viterbi code decoding)。參照圖2及圖5,錯誤修正碼(ECC)方塊170包括錯誤修正碼(ECC)編碼器方塊171及錯誤修正碼(ECC)解碼器方塊172。
錯誤修正碼(ECC)編碼器方塊171編碼從主機接收的資料WR_DATA,並且輸出所編碼的資料Encoded_WR_DATA到記憶元件110、120、130以及140。錯誤修正碼(ECC)解碼器方塊172偵測從記憶元件110、120、130以及140輸出的資料RD_DATA的錯誤,並修正錯誤,且輸出錯誤修正過的資料Decoded_RD_DATA到主機。
詳細來說,錯誤修正碼(ECC)解碼器方塊172包括分支度量計算(branch metric calculation,BMC)方塊50、相加比較選擇(add-compare-select,ACS)方塊60、狀態度量記憶體(state metric memory,SMM)方塊70以及存活路徑記憶體(survivor path memory,SPM)方塊80。分支度量計算(BMC)方塊50接收從記憶元件110、120、130以及140的每一個讀取的資料RD_DATA,並且根據資料RD_DATA是否有錯誤來計算及輸出分支度量。
相加比較選擇(ACS)方塊60從分支度量計算(BMC)方塊50接收所計算的分支度量,並將狀態度量記憶體(SMM)方塊70事先所儲存的狀態度量加至分支度量,且輸出與原始資料路徑接近的相加結果作為新狀態度量。狀態度量記憶體(SMM)方塊70從相加比較選擇(ACS)方塊60接收新狀態度量且更新本身儲存的狀態度量。存活路徑記憶體(SPM)方塊80只儲存及輸出從相加比較選擇(ACS)方塊60輸出的狀態度量當中的存活路徑,藉以修正資料RD_DATA的錯誤,並且輸出所解碼的讀取資料Decoded_RD_DATA。
圖6是依照本發明之一實施例之包含圖5之錯誤修正碼(ECC)方塊170之記憶體系統的操作的時序圖。包含圖5所示之錯誤修正碼(ECC)方塊170的記憶體系統的讀取操作除了修正錯誤的程序以外幾乎與參考圖4所說明的讀取操作相同。因此,以下將僅詳細說明修正錯誤的程序。
參照圖5及圖6,分支度量計算(BMC)方塊50計算及輸出用以偵測分別從記憶元件110、120、130以及140輸出的資料#1、#2、#3以及#4的錯誤之分支度量。當在資料#1、#2、#3以及#4的任一個中偵測到錯誤時,控制器150進入錯誤修正模式,並且錯誤修正碼(ECC)解碼器方塊172以管線模式依序計算與資料#1、#2、#3以及#4有關的錯誤資訊。控制器150根據錯誤資訊來修正資料#1、#2、#3以及#4的錯誤,然後輸出錯誤修正過的資料。
錯誤修正碼(ECC)解碼器方塊172的管線模式將予以詳細說明。當控制器150進入錯誤修正模式時,該相加比較選擇(ACS)方塊60將計算與第一資料#1有關的分支度量的結果和狀態度量記憶體(SMM)方塊70事先所儲存的狀態度量相加,並且輸出與原始資料路徑接近的數值作為新狀態度量。狀態度量記憶體(SMM)方塊70接收新狀態度量且更新本身儲存的狀態度量。
當該相加比較選擇(ACS)方塊60及狀態度量記憶體(SMM)方塊70的操作都已完成時,存活路徑記憶體(SPM)方塊80開始獲得第一資料#1的存活路徑。此時,該相加比較選擇(ACS)方塊60接收第二資料#2的分支度量,並將計算有關第一資料#2所得到的分支度量與狀態度量記憶體(SMM)方塊70事先儲存的狀態度量相加,且輸出與原始資料路徑接近的數值作為新狀態度量。狀態度量記憶體(SMM)方塊70接收新狀態度量且更新本身儲存的狀態度量。
存活路徑記憶體(SPM)方塊80獲得及輸出第一資料#1的存活路徑且接著獲得及輸出第二資料#2的存活路徑。同樣地,第三資料#3與第四資料#4將以管線模式處理。
因此,錯誤修正碼(ECC)解碼器方塊172可迅速地及有效地計算與從記憶元件110、120、130以及140讀取的資料有關的錯誤資訊。此外,可減少錯誤修正碼(ECC)方塊170的錯誤修正碼(ECC)解碼器方塊172的面積。
錯誤修正碼(ECC)解碼器方塊172使用方塊碼解碼或維特比碼解碼的例子已經參考圖3至圖6予以解釋;然而,錯誤修正碼(ECC)解碼器方塊172也可使用連鎖碼解碼(concatenated code decoding)。
圖7是依照本發明之一實施例之讀取交錯的時序圖。圖8是依照本發明之一實施例之寫入交錯的時序圖。
參照圖2及圖7,控制器150輸出用以轉移第一記憶元件110的第一頁緩衝器111所儲存的第N個(其中N是自然數)資料到控制器150的緩衝記憶體方塊160之第一晶片啟用訊號/CE0。當啟用第一記憶元件110以響應於第一晶片啟用訊號/CE0時,在操作201中控制器150輸出狀態檢查命令到第一記憶元件110。當第一記憶元件110處於備妥狀態時,在操作202中輸出第一頁緩衝器111所儲存的資料到控制器150的緩衝記憶體方塊160。
當輸出第N個資料到緩衝記憶體方塊160已完成時,在操作203中控制器150輸出一讀取命令RD_CMD及一用以讀取第(N+4)個資料的位址(N+4)-th Address。當輸出該讀取命令RD_CMD及位址(N+4)-th Address已完成時,第一晶片啟用訊號/CE0將失效且處於忙碌狀態(busy state)的第一記憶元件110開始進行從記憶胞陣列112內部轉移第(N+4)個資料到第一頁緩衝器111。
當處於忙碌狀態的第一記憶元件110開始從記憶胞陣列112轉移第(N+4)個資料到第一頁緩衝器111時,在操作204中控制器150輸出第二晶片啟用訊號/CE1且輸出狀態檢查命令到第二記憶元件120。當第二記憶元件120處於備妥狀態時,在操作205中第二記憶元件120輸出第二頁緩衝器121所儲存的第(N+1)個資料到控制器150的緩衝記憶體方塊160。
當輸出第(N+1)個資料到緩衝記憶體方塊160已完成時,在操作206中控制器150輸出該讀取命令RD_CMD及一用以讀取第(N+5)個資料的位址(N+5)-th Address。當輸出該讀取命令RD_CMD及位址(N+5)-th Address已完成時,第二晶片啟用訊號/CE1將失效且處於忙碌狀態的第二記憶元件120開始進行從記憶胞陣列122內部轉移第(N+5)個資料到第二頁緩衝器121。
第三記憶元件130及第四記憶元件140的操作實質上與第一記憶元件110及第二記憶元件120的操作相同。因此,將省略其詳細說明。
參照圖2及圖8,在記憶體系統100的程式操作中,控制器150輸出用以程式化第N個資料的第一晶片啟用訊號/CE0到第一記憶元件110的第一記憶胞陣列112。當啟用第一記憶元件110以響應於第一晶片啟用訊號/CE0時,在操作301中控制器150輸出狀態檢查命令到第一記憶元件110。當第一記憶元件110處於備妥狀態時,在操作302中控制器150輸出寫入命令WR_CMD及位址N-thAddress。在操作303中控制器150輸出第N個資料到第一頁緩衝器111。第一記憶元件110開始程式化至對應於第一記憶胞陣列112的位址N-th Address的記憶胞之第一頁緩衝器111所儲存的第N個資料以響應於寫入命令WR_CMD,並且進入忙碌狀態。當第一記憶元件110開始程式化第N個資料時,第一晶片啟用訊號/CE0將失效且控制器150輸出第二晶片啟用訊號/CE1到第二記憶元件120。
在操作304中控制器150輸出狀態檢查命令到第二記憶元件120。當第二記憶元件120處於備妥狀態時,在操作305中控制器150輸出寫入命令WR_CMD及第(N+1)個資料的位址(N+1)-th Address。在操作306中控制器150輸出第(N+1)個資料到第二頁緩衝器121。第二記憶元件120開始使至對應於第二記憶胞陣列122的位址(N+1)-th Address的記憶胞之第二頁緩衝器121中所儲存的第(N+1)個資料程式化以響應於寫入命令WR_CMD並且進入忙碌狀態。
第三記憶元件130及第四記憶元件140的程式交錯實質上與第一記憶元件110及第二記憶元件120的程式交錯相同。因此,將省略其詳細說明。
綜上所述,根據本發明的實施例之記憶體系統可利用晶片啟用訊號以交錯方式獨立地存取記憶元件,以便減少待機時間且持續進行資料讀取/程式化操作。例如,當資料在另一記憶元件的記憶胞陣列與頁緩衝器之間傳送時記憶體系統仍可存取記憶元件,藉以提升資料轉移效能。結果,可增強記憶體系統的資料轉移效能。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,故本發明之保護範圍當視後附之申請專利範圍所界定者為準。
10...徵狀值計算(SC)方塊
20...關鍵方程式求解器(KES)方塊
30...秦氏搜尋(CS)方塊
40...錯誤評估器(EE)方塊
50...分支度量計算(BMC)方塊
60...相加比較選擇(ACS)方塊
70...狀態度量記憶體(SMM)方塊
80...存活路徑記憶體(SPM)方塊
100...記憶體系統
110、120、130、140...記憶元件
111、121、131、141...頁緩衝器
112、122、132、142...記憶胞陣列
150...控制器
160...緩衝記憶體方塊
170...錯誤修正碼(ECC)方塊
171...錯誤修正碼(ECC)編碼器方塊
172...錯誤修正碼(ECC)解碼器方塊
180...通道
181...輸入/輸出資料線
182...控制訊號線
183...晶片啟用訊號線
201、202、203、204、205、206、207、208、209、210、211、212...操作
301、302、303、304、305、306、307、308、309、310、311、312...操作
ACS...相加比較選擇
ALE...位址閂鎖啟用訊號
BMC...分支度量計算
/CE0、/CE1、/CE2、/CE3...晶片啟用訊號
CLE...命令閂鎖啟用訊號
CS...秦氏(Chien)搜尋
Decoded DATA #1、Decoded DATA #2...解碼資料
Decoded_RD_DATA...錯誤修正資料
EE...錯誤評估器
Encoded_WR_DATA...編碼資料
I/O...輸入/輸出
KES...關鍵方程式求解器
MLC...多層晶胞
N-th Address、(N+1)-th Address、(N+2)-th Address、(N+3)-th Address、(N+4)-th Address、(N+5)-th Address、(N+6)-th Address、(N+7)-th Address...位址
R/B...備妥狀態/忙碌狀態
RD_CMD...讀取命令
RD_DATA...記憶元件所輸出的資料
RE...讀取啟用訊號
SC...徵狀值計算
SLC...單層晶胞
SMM...狀態度量記憶體
SPM...存活路徑記憶體
WE...寫入啟用訊號
WP...寫入保護訊號
WR_CMD...寫入命令
WR_DATA...接收自主機的資料
圖1是從記憶胞到頁緩衝器的資料轉移時間對記憶容量的關係圖。
圖2是依照本發明之一實施例之一種記憶體系統的方塊圖。
圖3是依照本發明之一實施例之圖2之錯誤修正碼(ECC)方塊的方塊圖。
圖4是依照本發明之一實施例之包含圖3之錯誤修正碼(ECC)方塊之記憶體系統的操作的時序圖。
圖5是依照本發明之一實施例之圖2之錯誤修正碼(ECC)方塊的方塊圖。
圖6是依照本發明之一實施例之包含圖5之錯誤修正碼(ECC)方塊之記憶體系統的操作的時序圖。
圖7是依照本發明之一實施例之讀取交錯的時序圖。
圖8是依照本發明之一實施例之寫入交錯的時序圖。
100...記憶體系統
110、120、130、140...記憶元件
111、121、131、141...頁緩衝器
112、122、132、142...記憶胞陣列
150...控制器
160...緩衝記憶體方塊
170...錯誤修正碼(ECC)方塊
180...通道
181...輸入/輸出資料線
182...控制訊號線
183...晶片啟用訊號線
ALE...位址閂鎖啟用訊號
/CE0、/CE1、/CE2、/CE3...晶片啟用訊號
CLE...命令閂鎖啟用訊號
RE...讀取啟用訊號
WE...寫入啟用訊號
WP...寫入保護訊號
Claims (20)
- 一種記憶體系統,包括:多個記憶元件;控制器,設定為控制所述多個記憶元件,其中所述控制器在不同時間內傳送讀取命令與程式命令到所述多個記憶元件中之一個,並且當所述多個記憶元件的這一個進行內部讀取操作以響應於所述讀取命令時,所述控制器從所述多個記憶元件的另一個讀取資料,並且當所述多個記憶元件的這一個進行內部程式操作以響應於所述程式命令時,所述控制器使所述多個記憶元件的另一個的資料程式化;以及至少一個通道,連接在所述多個記憶元件與所述控制器之間,所述至少一個通道包括連接所述多個記憶元件之輸入/輸出資料線及控制訊號線,其提供所述讀取命令與所述程式命令以及讀取與程式位址給所述多個記憶元件,並且包括分別連接所述多個記憶元件的每一個之晶片啟用訊號線,其中晶片啟用訊號是經由所述晶片啟用訊號線到所述多個記憶元件獨立地啟用所述多個記憶元件而提供,其中,當所述多個記憶元件中之一個的晶片啟用訊號失效時,進行所述內部讀取操作,且當所述多個記憶元件中之一個的晶片啟用訊號啟用時,另一記憶元件進行讀取資料。
- 如申請專利範圍第1項所述之記憶體系統,其中所述多個記憶元件的每一個包括多層晶胞記憶體陣列,其中 儲存多個資料位元於記憶胞。
- 如申請專利範圍第1項所述之記憶體系統,其中所述控制器包括至少一個錯誤修正碼方塊,設定為偵測及修正從所述多個記憶元件經由所述至少一個通道而輸出的資料的錯誤。
- 如申請專利範圍第3項所述之記憶體系統,其中所述錯誤修正碼方塊包括:錯誤修正碼編碼器方塊,設定為編碼從主機接收的資料且輸出所述已編碼的資料到所述多個記憶元件;以及錯誤修正碼解碼器方塊,包括:徵狀值計算方塊,設定為根據從所述多個記憶元件的至少一個輸出的資料是否有錯誤來計算徵狀值;關鍵方程式求解器方塊,設定為利用從所述徵狀值計算方塊接收的所述徵狀值來獲得錯誤位置方程式的係數;秦氏搜尋方塊,設定為進行利用所述係數來獲得所述錯誤位置方程式的解答之演算法;以及錯誤評估器方塊,設定為根據進行所述演算法的結果來獲得從所述多個記憶元件的所述至少一個所輸出的所述資料的錯誤位置。
- 如申請專利範圍第4項所述之記憶體系統,其中所述關鍵方程式求解器方塊、所述秦氏搜尋方塊以及所述錯誤評估器方塊以管線模式來操作。
- 如申請專利範圍第1項所述之記憶體系統,其中所述多個記憶元件的每一個包括:記憶胞陣列;以及 頁緩衝器,設定為儲存從所述記憶胞陣列讀取的資料或儲存至所述記憶胞陣列的程式化資料。
- 如申請專利範圍第6項所述之記憶體系統,其中所述內部讀取操作包括轉移所述記憶胞陣列所儲存的資料到所述頁緩衝器,並且所述內部程式操作包括轉移所述頁緩衝器所儲存的資料到所述記憶胞陣列。
- 如申請專利範圍第3項所述之記憶體系統,其中所述錯誤修正碼方塊包括:錯誤修正碼編碼器方塊,設定為編碼從主機接收的資料且輸出所述已編碼的資料到所述多個記憶元件;以及錯誤修正碼解碼器方塊,包括:分支度量計算方塊,設定為根據從所述多個記憶元件的至少一個所輸出的資料是否有錯誤來計算分支度量;相加比較選擇方塊,設定為將狀態度量記憶體方塊所儲存的狀態度量加至所述分支度量,並且輸出所述相加結果作為新狀態度量;所述狀態度量記憶體方塊,設定為從所述相加比較選擇方塊接收所述新狀態度量,並且更新本身儲存的狀態度量;以及存活路徑記憶體方塊,設定為根據從所述相加比較選擇方塊所輸出的所述新狀態度量來獲得從所述多個記憶元件的所述至少一個所輸出的所述資料的存活路徑。
- 如申請專利範圍第8項所述之記憶體系統,其中所述相加比較選擇方塊、所述狀態度量記憶體方塊以及所述存活路徑記憶體方塊以管線模式來操作。
- 一種記憶體系統的交錯方法,包括: 利用控制器在一第一時間裡傳送讀取命令以及在一第二時間裡傳送程式命令到多個記憶元件中之一個;利用所述多個記憶元件的這一個來進行內部讀取操作以響應於所述讀取命令,以及利用所述多個記憶元件的這一個來進行內部程式操作以響應於所述程式命令;以及當所述多個記憶元件的這一個進行所述內部讀取操作時利用所述控制器從所述多個記憶元件的另一個讀取資料,以及當所述多個記憶元件的這一個進行所述內部程式操作時利用所述控制器使所述多個記憶元件的另一個的資料程式化,其中,所述多個記憶元件獨立地存取響應於經由晶片啟用訊號線各別地連接而提供之晶片啟用訊號,且其中,當所述多個記憶元件中之一個的晶片啟用訊號失效時,進行所述內部讀取操作,且當所述多個記憶元件中之一個的晶片啟用訊號啟用時,另一記憶元件進行讀取資料。
- 如申請專利範圍第10項所述之記憶體系統的交錯方法,其中所述內部讀取操作包括轉移記憶胞陣列所儲存的資料到所述多個記憶元件的這一個的頁緩衝器,並且所述內部程式操作包括轉移所述頁緩衝器所儲存的資料到所述記憶胞陣列。
- 如申請專利範圍第11項所述之記憶體系統的交錯方法,其中所述多個記憶元件的每一個都包括多層晶胞記憶體陣列,其中儲存多個資料位元於記憶胞中。
- 如申請專利範圍第10項所述之記憶體系統的交錯方法,更包括利用錯誤修正碼方塊來偵測從所述多個記憶元件輸出的所述資料的錯誤。
- 如申請專利範圍第13項所述之記憶體系統的交錯方法,其中偵測所述資料的所述錯誤包括:利用徵狀值計算方塊根據從所述多個記憶元件的至少一個所輸出的資料是否有錯誤來計算徵狀值;利用關鍵方程式求解器方塊來獲得使用從所述徵狀值計算方塊所接收的所述徵狀值之錯誤位置方程式的係數;利用秦氏搜尋方塊來進行用以獲得使用所述係數的所述錯誤位置方程式的解答之演算法;以及利用錯誤評估器方塊根據進行所述演算法的結果來獲得從所述多個記憶元件的所述至少一個所輸出的所述資料的錯誤位置。
- 如申請專利範圍第14項所述之記憶體系統的交錯方法,其中所述關鍵方程式求解器方塊、所述秦氏搜尋方塊以及所述錯誤評估器方塊以管線模式來操作。
- 如申請專利範圍第13項所述之記憶體系統的交錯方法,其中偵測所述資料的所述錯誤包括:利用分支度量計算方塊根據從所述多個記憶元件的至少一個所輸出的資料是否有錯誤來計算分支度量;利用相加比較選擇方塊將狀態度量記憶體方塊所儲存的狀態度量加至所述分支度量,並且輸出所述相加結果 作為新狀態度量;利用所述狀態度量記憶體方塊從所述相加比較選擇方塊接收所述新狀態度量,並且更新所述狀態度量記憶體方塊所儲存的所述狀態度量;以及利用存活路徑記憶體方塊根據從所述相加比較選擇方塊所輸出的所述新狀態度量來獲得從所述多個記憶元件的所述至少一個所輸出的所述資料的存活路徑。
- 如申請專利範圍第16項所述之記憶體系統的交錯方法,其中所述相加比較選擇方塊、所述狀態度量記憶體方塊以及所述存活路徑記憶體方塊以管線模式來操作。
- 如申請專利範圍第10項所述之記憶體系統的交錯方法,其中利用所述控制器來傳送所述讀取命令到所述多個記憶元件中之一個包括:輸出晶片啟用訊號到所述多個記憶元件的這一個;輸出狀態檢查命令到所述多個記憶元件的這一個;當測定為所述多個記憶元件的這一個處於備妥狀態時,輸出所述多個記憶元件的這一個的頁緩衝器所儲存的資料以作為狀態檢查結果;以及在完成所述資料的所述輸出之後,輸出所述讀取命令及位址到所述多個記憶元件的這一個以便輸出下一個資料。
- 如申請專利範圍第10項所述之記憶體系統的交錯方法,其中利用所述控制器來傳送所述程式命令到所述多個記憶元件中之一個包括: 輸出晶片啟用訊號到所述多個記憶元件的這一個;輸出狀態檢查命令到所述多個記憶元件的這一個;輸出程式命令及位址到所述多個記憶元件的這一個;以及當測定為所述多個記憶元件的這一個處於備妥狀態時,輸出與所述位址有關的資料到所述多個記憶元件的這一個的頁緩衝器以作為狀態檢查結果。
- 一種記憶體系統,包括:多個記憶元件;控制器,設定為控制所述多個記憶元件,其中所述控制器與所述多個記憶元件之一個執行內部程式化操作之同時,程式化資料給所述多個記憶元件之另一個;以及至少一個通道,連接在所述多個記憶元件與所述控制器之間,所述至少一個通道包括共同連接所述多個記憶元件之輸入/輸出資料線及控制訊號線,並且包括分別連接所述多個記憶元件的每一個之晶片啟用訊號線,其中晶片啟用訊號是經由所述晶片啟用訊號線到所述多個記憶元件獨立地啟用所述記憶元件來提供,其中,當所述多個記憶元件中之一個的晶片啟用訊號失效時,進行所述內部程式化操作,且當所述多個記憶元件中之一個的晶片啟用訊號啟用時,另一記憶元件進行讀取資料。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070106828A KR101437517B1 (ko) | 2007-10-23 | 2007-10-23 | 인터리빙 기법을 이용한 메모리 시스템, 및 그 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200926175A TW200926175A (en) | 2009-06-16 |
TWI494923B true TWI494923B (zh) | 2015-08-01 |
Family
ID=40722941
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW097140672A TWI494923B (zh) | 2007-10-23 | 2008-10-23 | 使用交錯方式的記憶體系統及其方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8667365B2 (zh) |
KR (1) | KR101437517B1 (zh) |
TW (1) | TWI494923B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101466694B1 (ko) * | 2007-08-28 | 2014-11-28 | 삼성전자주식회사 | Ecc 회로, ecc 회로를 구비하는 메모리 시스템 및그의 오류 정정 방법 |
TWI425512B (zh) * | 2009-06-16 | 2014-02-01 | Phison Electronics Corp | 快閃記憶體控制電路及其儲存系統與資料傳輸方法 |
DE112010003762B4 (de) * | 2009-12-11 | 2012-12-06 | International Business Machines Corporation | Flash-Speicher-Steuereinheit |
US9218282B2 (en) | 2013-10-31 | 2015-12-22 | Micron Technology, Inc. | Memory system data management |
US9484960B1 (en) * | 2015-01-21 | 2016-11-01 | Inphi Corporation | Reconfigurable FEC |
US9799402B2 (en) * | 2015-06-08 | 2017-10-24 | Samsung Electronics Co., Ltd. | Nonvolatile memory device and program method thereof |
KR102527961B1 (ko) * | 2015-07-02 | 2023-05-04 | 삼성전자주식회사 | 불휘발성 메모리 시스템 및 그것의 프로그램 방법 |
US9841922B2 (en) | 2016-02-03 | 2017-12-12 | SK Hynix Inc. | Memory system includes a memory controller |
KR20190135746A (ko) * | 2018-05-29 | 2019-12-09 | 삼성전자주식회사 | 쓰기 버퍼 메모리를 포함하는 스토리지 장치 및 상기 스토리지 장치의 동작 방법 |
KR102645786B1 (ko) * | 2019-07-08 | 2024-03-12 | 에스케이하이닉스 주식회사 | 컨트롤러, 메모리 시스템 및 그것의 동작 방법 |
US11650795B2 (en) * | 2019-08-23 | 2023-05-16 | SK Hynix Inc. | Raw read based physically unclonable function for flash memory |
KR20220025558A (ko) | 2020-08-24 | 2022-03-03 | 에스케이하이닉스 주식회사 | 스토리지 장치 및 그 동작 방법 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020021598A1 (en) * | 2000-08-08 | 2002-02-21 | Samsung Electronics Co., Ltd. | Nonvolatile memory, system having nonvolatile memories, and data read method of the system |
US20020040462A1 (en) * | 1997-06-12 | 2002-04-04 | Hitachi, Ltd. | Decoding circuit and information processing apparatus |
US6775185B2 (en) * | 2002-04-18 | 2004-08-10 | Renesas Technology Corp. | Nonvolatile semiconductor memory |
US20040172581A1 (en) * | 1995-07-14 | 2004-09-02 | Takayuki Tamura | External storage device and memory access control method thereof |
US20050223158A1 (en) * | 2004-04-05 | 2005-10-06 | Sun-Teck See | Flash memory system with a high-speed flash controller |
US20060010363A1 (en) * | 2004-06-30 | 2006-01-12 | Stmicroelectronics S.R.L. | Method and system for correcting low latency errors in read and write non volatile memories, particularly of the flash type |
US20060059409A1 (en) * | 2004-09-10 | 2006-03-16 | Hanho Lee | Reed-solomon decoder systems for high speed communication and data storage applications |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3614173B2 (ja) * | 1996-02-29 | 2005-01-26 | 株式会社ルネサステクノロジ | 部分不良メモリを搭載した半導体記憶装置 |
TWI227395B (en) * | 2003-06-02 | 2005-02-01 | Genesys Logic Inc | Method for parallel processing of memory data and error correction code and related device thereof |
JP2005166221A (ja) * | 2003-12-05 | 2005-06-23 | Canon Inc | 情報再生方法及び情報再生装置 |
JP4428156B2 (ja) * | 2004-06-28 | 2010-03-10 | ソニー株式会社 | 復号装置および方法、プログラム記録媒体、プログラム、並びに記録再生装置 |
US7379333B2 (en) * | 2004-10-28 | 2008-05-27 | Samsung Electronics Co., Ltd. | Page-buffer and non-volatile semiconductor memory including page buffer |
TW200723709A (en) * | 2005-07-21 | 2007-06-16 | Wionics Research | Deinterleaver and dual-viterbi decoder architecture |
US7617435B2 (en) * | 2006-02-23 | 2009-11-10 | Yuwei Zhang | Hard-decision iteration decoding based on an error-correcting code with a low undetectable error probability |
US7739576B2 (en) * | 2006-08-31 | 2010-06-15 | Micron Technology, Inc. | Variable strength ECC |
KR100764749B1 (ko) * | 2006-10-03 | 2007-10-08 | 삼성전자주식회사 | 멀티-칩 패키지 플래시 메모리 장치 및 그것의 카피 백방법 |
-
2007
- 2007-10-23 KR KR1020070106828A patent/KR101437517B1/ko active IP Right Grant
-
2008
- 2008-10-23 US US12/256,784 patent/US8667365B2/en active Active
- 2008-10-23 TW TW097140672A patent/TWI494923B/zh active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040172581A1 (en) * | 1995-07-14 | 2004-09-02 | Takayuki Tamura | External storage device and memory access control method thereof |
US7234087B2 (en) * | 1995-07-14 | 2007-06-19 | Renesas Technology Corp. | External storage device and memory access control method thereof |
US20020040462A1 (en) * | 1997-06-12 | 2002-04-04 | Hitachi, Ltd. | Decoding circuit and information processing apparatus |
US20020021598A1 (en) * | 2000-08-08 | 2002-02-21 | Samsung Electronics Co., Ltd. | Nonvolatile memory, system having nonvolatile memories, and data read method of the system |
US6775185B2 (en) * | 2002-04-18 | 2004-08-10 | Renesas Technology Corp. | Nonvolatile semiconductor memory |
US20050223158A1 (en) * | 2004-04-05 | 2005-10-06 | Sun-Teck See | Flash memory system with a high-speed flash controller |
US20060010363A1 (en) * | 2004-06-30 | 2006-01-12 | Stmicroelectronics S.R.L. | Method and system for correcting low latency errors in read and write non volatile memories, particularly of the flash type |
US20060059409A1 (en) * | 2004-09-10 | 2006-03-16 | Hanho Lee | Reed-solomon decoder systems for high speed communication and data storage applications |
Also Published As
Publication number | Publication date |
---|---|
KR20090041231A (ko) | 2009-04-28 |
TW200926175A (en) | 2009-06-16 |
US20090150751A1 (en) | 2009-06-11 |
KR101437517B1 (ko) | 2014-09-05 |
US8667365B2 (en) | 2014-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI494923B (zh) | 使用交錯方式的記憶體系統及其方法 | |
KR100921748B1 (ko) | Ecc 회로를 포함하는 메모리 시스템 및 그 구동 방법 | |
US8392807B2 (en) | System and method of distributive ECC processing | |
KR101062755B1 (ko) | Ecc 회로를 포함하는 반도체 메모리 시스템 및 그 제어 방법 | |
KR101645906B1 (ko) | 계층적 반복 에러 교정을 위한 종료 기준 | |
US8707135B2 (en) | Method and system of dynamic data storage for error correction in a memory device | |
CN101329916B (zh) | 闪存装置纠错码控制器以及相关方法和存储系统 | |
TWI482167B (zh) | 具有錯誤修正解碼器可以減少延遲並增加產率的記憶系統 | |
KR20090021743A (ko) | Ecc 회로, ecc 회로를 구비하는 메모리 시스템 및그의 오류 정정 방법 | |
US9748973B2 (en) | Interleaved layered decoder for low-density parity check codes | |
TWI550615B (zh) | 資料存取方法、記憶體儲存裝置及記憶體控制電路單元 | |
JP2002133892A (ja) | フラッシュメモリの欠陥管理方法 | |
US20080082872A1 (en) | Memory controller, memory system, and data transfer method | |
KR100688549B1 (ko) | 비휘발성 메모리를 지원하는 온더플라이 bcc 코덱시스템 및 방법 | |
US11907062B2 (en) | Error check scrub operation method and semiconductor system using the same | |
TWI781631B (zh) | 記憶體系統、記憶體裝置及資料讀出方法 | |
JP2014033364A (ja) | 誤り検出訂正回路、及びメモリ装置 | |
KR101367351B1 (ko) | 분산형 ecc 프로세싱 시스템 및 방법 | |
TWI696962B (zh) | 訓練人工智慧執行低密度奇偶檢查碼的解碼程序的方法 | |
JP7178465B1 (ja) | 半導体記憶装置 | |
US11551774B2 (en) | Memory system and method of controlling non-volatile memory | |
US11379303B2 (en) | Memory system and method | |
US10719390B2 (en) | Memory system, controller, memory and reading method thereof | |
TW201312578A (zh) | 分配的錯誤修正編碼處理之系統及方法 |