[go: up one dir, main page]

TWI692767B - 具有錯誤更正功能的記憶體及相關記憶體系統 - Google Patents

具有錯誤更正功能的記憶體及相關記憶體系統 Download PDF

Info

Publication number
TWI692767B
TWI692767B TW107145693A TW107145693A TWI692767B TW I692767 B TWI692767 B TW I692767B TW 107145693 A TW107145693 A TW 107145693A TW 107145693 A TW107145693 A TW 107145693A TW I692767 B TWI692767 B TW I692767B
Authority
TW
Taiwan
Prior art keywords
data
memory
controller
storage area
general storage
Prior art date
Application number
TW107145693A
Other languages
English (en)
Other versions
TW201928985A (zh
Inventor
陳和穎
張丁峰
陳俊嘉
Original Assignee
鈺創科技股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 鈺創科技股份有限公司 filed Critical 鈺創科技股份有限公司
Publication of TW201928985A publication Critical patent/TW201928985A/zh
Application granted granted Critical
Publication of TWI692767B publication Critical patent/TWI692767B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1068Adding 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/74Masking faults in memories by using spares or by reconfiguring using duplex memories, i.e. using dual copies

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

具有錯誤更正功能的記憶體包含一控制器及一記憶單元陣列。該控制器選擇性地寫入一寫入資料至該記憶單元陣列中的一一般儲存區和一備份區,以及當該控制器從該一般儲存區讀出對應該寫入資料的一第一資料時,如果該第一資料出現至少二個錯誤,則該控制器讀取該備份區以輸出該備份區中對應該寫入資料的一第二資料。

Description

具有錯誤更正功能的記憶體及相關記憶體系統
本發明是有關於一種記憶體及相關記憶體系統,尤指一種具有錯誤更正功能的記憶體及相關記憶體系統。
當一資料儲存在記憶體時,如果該資料是重要的資料時,則該資料儲存於該記憶體時必須不能存在錯誤。因此,具有錯誤更正(error correcting)功能的記憶體是記憶體設計者的一設計方向。現有技術在該記憶體所儲存的資料出現一個錯誤時,可利用一錯誤更正碼(Error-Correcting Code,ECC)功能更正該錯誤。在該記憶體所儲存的該資料出現錯誤的機率增加的狀況下,例如隨著記憶體的製程技術愈來愈先進,該記憶體所儲存的該資料出現軟錯誤(soft error)的發生機率也愈來愈高,針對該記憶體所儲存的該資料上的多個錯誤進行更正的需求就愈來愈大。然而,具有多錯誤更正(multi-error correcting)功能的記憶體在設計上過於複雜且有過高成本,因此,如何針對該記憶體所儲存的該資料上的多個錯誤進行更正,是該記憶體設計者的一項重要課題。
本發明的一實施例提供一種具有錯誤更正(error correcting)功能的記 憶體。該記憶體包含一控制器和一記憶單元陣列。該控制器選擇性地寫入一寫入資料至該記憶單元陣列中的一一般儲存區(normal storage area)和一備份區(backup area),以及當該控制器從該一般儲存區讀出對應該寫入資料的一第一資料時,如果該第一資料出現至少二個錯誤,則該控制器讀取該備份區以輸出該備份區中對應該寫入資料的一第二資料。
本發明的另一實施例提供一種具有錯誤更正功能的記憶體系統。該記憶體系統包含一控制器、一一般儲存記憶體和一備份記憶體。該控制器選擇性地寫入一寫入資料至該一般儲存記憶體和該備份記憶體,以及當該控制器從該正常記憶體讀出對應該寫入資料的一第一資料時,如果該第一資料出現至少二個錯誤,則該控制器讀取該備份記憶體以輸出儲存於該備份記憶體中對應該寫入資料的一第二資料。
本發明的另一實施例提供一種具有錯誤更正功能的記憶體。該記憶體包含一記憶單元陣列,包括一一般儲存區和一備份區;及一控制器,耦接該記憶單元陣列,選擇性地寫入一寫入資料至該一般儲存區和該備份區,其中當該控制器從該一般儲存區讀出對應該寫入資料的一第一資料出現至少一錯誤時,該控制器選擇性地利用一錯誤更正碼功能更正該第一資料,或是讀取該備份區以輸出儲存於該備份區中對應該寫入資料的一第二資料。
本發明提供一種具有錯誤更正功能的記憶體及相關記憶體系統。因為該記憶體是利用該記憶體的一控制器選擇性地寫入一寫入資料至該記憶體的一記憶單元陣列中的一一般儲存區和一備份區,所以當該一般儲存區中對應該寫入資料的一第一資料出現至少二個錯誤時,該控制器可讀取該備份區中對應 該寫入資料的一第二資料。另外,因為該記憶體系統是利用該記憶體系統的一控制器選擇性地寫入該寫入資料至該記憶體系統的一般儲存記憶體和備份記憶體,所以當該一般儲存記憶體中對應該寫入資料的一第一資料出現至少二個錯誤時,該控制器可讀取該備份記憶體中對應該寫入資料的一第二資料。因此,相較於現有技術,本發明可對該一般儲存區所儲存的資料和該一般儲存記憶體所儲存的資料上的多個錯誤進行更正。
100:記憶體
102:控制器
104:記憶單元陣列
B1-B5:記憶區塊
S1-S16:記憶區段
300:記憶體系統
304:一般儲存記憶體
306:備份記憶體
400-410、500-520、600-612、700-724:步驟
第1圖是本發明的第一實施例所公開的一種具有錯誤更正功能的記憶體的示意圖。
第2圖是本發明的另一實施例所公開的一種具有錯誤更正功能的記憶體的示意圖。
第3圖是本發明的第二實施例所公開的一種具有錯誤更正功能的記憶體系統的示意圖。
第4圖是本發明的第三實施例所公開的一種具有錯誤更正功能的記憶體的寫入資料的方法的流程圖。
第5圖是本發明的第四實施例所公開的一種具有錯誤更正功能的記憶體的讀出資料的方法的流程圖。
第6圖是本發明的第五實施例所公開的一種具有錯誤更正功能的記憶體的寫入資料的方法的流程圖
第7圖是本發明的第六實施例所公開的一種具有錯誤更正功能的記憶體的讀出資料的方法的流程圖。
請參照第1圖,第1圖是本發明的第一實施例所公開的一種具有錯誤更正(error correcting)功能的記憶體100的示意圖。如第1圖所示,記憶體100包含一控制器102和一記憶單元陣列104,其中記憶單元陣列104包含複數個記憶區塊(bank),該複數個記憶區塊中的每一記憶區塊包含複數個記憶區段(section),該複數個記憶區段中的每一記憶區段包含複數個記憶單元(cell),以及記憶體100是一動態隨機存取記憶體(Dynamic Random Access Memory,DRAM)。例如,如第1圖所示,記憶單元陣列104包含4個記憶區塊B1-B4,以及記憶區塊B1包含16記憶區段S1-S16。但本發明並不受限於記憶單元陣列104只包含4個記憶區塊B1-B4,也就是說記憶單元陣列104可包含複數個記憶區塊。另外,本發明也不受限於記憶區塊B1包含16記憶區段S1-S16,也就是說記憶區塊B1可包含複數個記憶區段。
如第1圖所示,在控制器102將一寫入資料寫入該記憶單元陣列104前,控制器102會先產生對應該寫入資料的錯誤更正碼的奇偶校驗位元(parity bit),其中該錯誤更正碼利用該奇偶校驗位元對該寫入資料進行校正的方法是本發明領域具有熟知技藝者所熟知的現有技術,所以在此不再贅述。如果該寫入資料不是重要的資料時,控制器102將該寫入資料和該奇偶校驗位元寫入該記憶單元陣列104中的一一般儲存區(normal storage area)。而如果該寫入資料是重要的資料時,例如該寫入資料為自動駕駛的行車資料,或者是航空飛行的飛行資料時,控制器102將該寫入資料和該奇偶校驗位元同時寫入該一般儲存區與該記憶單元陣列104中的一備份區(backup area)。例如,如果該寫入資料是重要的資料時,控制器102將該寫入資料同時寫入記憶區塊B1和記憶區塊B4,其中記憶區塊B1-B3是該一般儲存區以及記憶區塊B4是該備份區。但本發明並不受限於記憶區塊B1-B3是該一般儲存區以及記憶區塊B4是該備份區。另外,在本發明的另一 實施例中,記憶區塊B1-B4的每一記憶區塊中的記憶區段S2-S15是該一般儲存區以及該每一記憶區塊中的記憶區段S1是該備份區。但本發明並不受限於該每一記憶區塊中的記憶區段S2-S15是該一般儲存區以及該每一記憶區塊中的記憶區段S1是該備份區。另外,如果記憶區塊B1-B3是該一般儲存區以及記憶區塊B4是該備份區,且記憶體100的記憶容量為1G,則該一般儲存區的記憶容量為750M以及該備份區的記憶容量為250M,也就是說該一般儲存區的記憶容量(750M)和該備份區的記憶容量(250M)等於該記憶體100的記憶容量(1G)。但本發明並不受限於記憶體100的記憶容量為1G,該一般儲存區的記憶容量為750M,以及該備份區的記憶容量為250M。在本發明的另一實施例中,如第2圖所示,記憶單元陣列104包含5個記憶區塊B1-B5,其中如果記憶區塊B1-B4是該一般儲存區以及記憶區塊B5是該備份區,且記憶體100的記憶容量為1G,則該一般儲存區的記憶容量為1G以及該備份區的記憶容量為250M,也就是說該一般儲存區的記憶容量(1G)等於記憶體100的記憶容量(1G),且該備份區的記憶容量(250M)是記憶體100的記憶容量(1G)外的記憶容量。
如果該寫入資料不是重要的資料時,控制器102將從該一般儲存區讀出該一般儲存區所儲存的資料(即一第一資料,其中該第一資料對應該寫入資料),利用一錯誤更正碼功能偵測該一般儲存區所儲存的該資料是否出現錯誤,以及輸出該一般儲存區所儲存的資料。而如果該寫入資料是重要的資料時,控制器102同時從該一般儲存區讀出該一般儲存區所儲存的資料和從該備份區讀出該備份區所儲存的資料(即一第二資料,其中該第二資料對應該寫入資料),並同時利用該錯誤更正碼功能偵測該一般儲存區所儲存的資料和該備份區所儲存的資料是否出現錯誤,其中該一般儲存區所儲存的資料和該備份區所儲存的資料對應該寫入資料。如果該一般儲存區所儲存的資料沒有任何錯誤,控制器102 直接輸出該一般儲存區所儲存的資料;如果該一般儲存區所儲存的資料出現一個錯誤,控制器102直接利用該錯誤更正碼功能更正該錯誤並輸出一更正後的資料;如果該一般儲存區所儲存的資料出現至少二個錯誤,則控制器102從該備份區輸出該備份區所儲存的資料。
但在本發明的另一實施例中,如果該寫入資料是重要的資料時,控制器102依序寫入該寫入資料和該奇偶校驗位元至該一般儲存區和該備份區。在控制器102依序寫入該寫入資料至該一般儲存區和該備份區後,當控制器102需要讀出該一般儲存區所儲存的資料時,控制器102從該一般儲存區讀出該一般儲存區所儲存的資料,並利用該錯誤更正碼功能偵測該一般儲存區所儲存的資料是否出現錯誤。如果該一般儲存區所儲存的資料沒有任何錯誤,控制器102直接輸出該一般儲存區所儲存的資料;如果該一般儲存區所儲存的資料出現一個錯誤,控制器102直接利用該錯誤更正碼功能更正該錯誤並輸出一更正後的資料;如果該一般儲存區所儲存的資料出現至少二個錯誤,則控制器102不更正該至少二個錯誤,從該備份區讀出該備份區所儲存的資料,利用該錯誤更正碼功能偵測該備份區所儲存的資料是否出現錯誤,以及控制器102從該備份區輸出該備份區所儲存的資料。
請參照第3圖,第3圖是本發明的第二實施例所公開的一種具有錯誤更正功能的記憶體系統300的示意圖。如第3圖所示,記憶體系統300包含一控制器102、一一般儲存記憶體304和一備份記憶體306,其中記憶體系統300和記憶體100的差別在於記憶體系統300利用一般儲存記憶體304取代記憶體100的該一般儲存區以及利用備份記憶體306取代記憶體100的該備份區。另外,一般儲存記憶體304和備份記憶體306的操作原理可分別參照記憶體100的該一般儲存區 以及記憶體100的該備份區的操作原理,在此不再贅述。
請參照第4圖,第4圖是本發明的第三實施例所公開的一種具有錯誤更正功能的記憶體100的寫入資料的操作方法的流程圖。第4圖的操作方法是利用第1圖的記憶體100說明,詳細步驟如下:步驟400:開始;步驟402:控制器102產生對應該寫入資料的錯誤更正碼的奇偶校驗位元;步驟404:該寫入資料是否是重要的資料;如果否,進行步驟406;如果是,進行步驟408;步驟406:控制器102將該寫入資料和該奇偶校驗位元寫入該一般儲存區;步驟408:控制器102將該寫入資料和該奇偶校驗位元同時寫入該一般儲存區與該備份區;步驟410:結束。
在步驟402中,在控制器102將該寫入資料寫入該記憶單元陣列104前,控制器102會先產生對應該寫入資料的錯誤更正碼的奇偶校驗位元。在步驟408中,如果該寫入資料是重要的資料時,例如該寫入資料為自動駕駛的行車資料,或者是航空飛行的飛行資料時,控制器102將該寫入資料和該奇偶校驗位元同時寫入該一般儲存區與該備份區。例如,如果該寫入資料是重要的資料時,控制器102將該寫入資料同時寫入記憶區塊B1和記憶區塊B4,其中記憶區塊B1-B3是該一般儲存區以及記憶區塊B4是該備份區。
請參照第5圖,第5圖是本發明的第四實施例所公開的一種具有錯誤更正功能的記憶體100的讀出資料的操作方法的流程圖。第5圖的操作方法是利用第1圖的記憶體100說明,詳細步驟如下: 步驟500:開始;步驟502:該寫入資料是否是重要的資料;如果否,進行步驟504;如果是,進行步驟510;步驟504:控制器102從該一般儲存區讀出該一般儲存區所儲存的資料;步驟506:控制器102利用該錯誤更正碼功能偵測該一般儲存區所儲存的資料是否出現錯誤;步驟508:控制器102輸出該一般儲存區所儲存的資料;步驟510:控制器102同時從該一般儲存區讀出該一般儲存區所儲存的資料和從該備份區讀出該備份區所儲存的資料;步驟512:控制器102同時利用該錯誤更正碼功能偵測該一般儲存區所儲存的資料和該備份區所儲存的資料是否出現錯誤;步驟514:如果該一般儲存區所儲存的資料沒有任何錯誤時,進行步驟515;如果該一般儲存區所儲存的資料出現一個錯誤時,進行步驟516;如果該一般儲存區所儲存的資料出現至少二個錯誤時,進行步驟518;步驟515:控制器102直接輸出該一般儲存區所儲存的資料;步驟516:控制器102利用該錯誤更正碼功能更正該錯誤並輸出一更正後的資料;步驟518:控制器102從該備份區輸出該備份區所儲存的資料; 步驟520:結束。
在步驟510中,如果該寫入資料是重要的資料時,控制器102同時從該一般儲存區讀出該一般儲存區所儲存的資料和從該備份區讀出該備份區所儲存的資料。在步驟512中,控制器102同時利用該錯誤更正碼功能偵測該一般儲存區所儲存的資料和該備份區所儲存的資料是否出現錯誤。在步驟515中,因為該一般儲存區所儲存的資料沒有任何錯誤,所以控制器102可直接輸出該一般儲存區所儲存的資料。在步驟516中,如果該一般儲存區所儲存的資料出現一個錯誤,控制器102利用該錯誤更正碼功能更正該錯誤並輸出該更正後的資料。在步驟518中,如果該一般儲存區所儲存的資料出現至少二個錯誤,控制器102不更正該至少二個錯誤,且從該備份區輸出該備份區所儲存的資料。
請參照第6圖,第6圖是本發明的第五實施例所公開的一種具有錯誤更正功能的記憶體100的寫入資料的操作方法的流程圖。第6圖的操作方法是利用第1圖的記憶體100說明,詳細步驟如下:步驟600:開始;步驟602:控制器102產生對應該寫入資料的錯誤更正碼的奇偶校驗位元;步驟604:該寫入資料是否是重要的資料;如果否,進行步驟606;如果是,進行步驟608;步驟606:控制器102將該寫入資料和該奇偶校驗位元寫入該一般儲存區;步驟608:控制器102將該寫入資料和該奇偶校驗位元寫入該一般 儲存區;步驟610:控制器102將該寫入資料和該奇偶校驗位元寫入該備份區;步驟612:結束。
第6圖的第五實施例和第4圖的第三實施例的差別在於如果該寫入資料是重要的資料時,控制器102會依序在步驟108將該寫入資料和該奇偶校驗位元寫入該一般儲存區以及在步驟610將該寫入資料和該奇偶校驗位元寫入該備份區。
請參照第7圖,第7圖是本發明的第六實施例所公開的一種具有錯誤更正功能的記憶體100的讀出資料的操作方法的流程圖。第7圖的操作方法是利用第1圖的記憶體100說明,詳細步驟如下:步驟700:開始;步驟702:該寫入資料是否是重要的資料;如果否,進行步驟704;如果是,進行步驟710;步驟704:控制器102從該一般儲存區讀出該一般儲存區所儲存的資料;步驟706:控制器102利用該錯誤更正碼功能偵測該一般儲存區所儲存的資料是否出現錯誤;步驟708:控制器102輸出該一般儲存區所儲存的資料;步驟710:控制器102從該一般儲存區讀出該一般儲存區所儲存的資料; 步驟712:控制器102利用該錯誤更正碼功能偵測該一般儲存區所儲存的資料是否出現錯誤;步驟714:如果該一般儲存區所儲存的資料沒有任何錯誤時,進行步驟715;如果該一般儲存區所儲存的資料出現一個錯誤時,進行步驟716;如果該一般儲存區所儲存的資料出現至少二個錯誤時,進行步驟718;步驟715:控制器102直接輸出該一般儲存區所儲存的資料;步驟716:控制器102利用該錯誤更正碼功能更正該錯誤並輸出一更正後的資料;步驟718:控制器102從該備份區讀出該備份區所儲存的資料;步驟720:控制器102利用該錯誤更正碼功能偵測該備份區所儲存的資料是否出現錯誤;步驟722:控制器102從該備份區輸出該備份區所儲存的資料;步驟724:結束。
第7圖的第六實施例和第5圖的第四實施例的差別在於如果該寫入資料是重要的資料時,控制器102先在步驟710中從該一般儲存區讀出該一般儲存區所儲存的資料;在步驟712中,控制器102利用該錯誤更正碼功能偵測該一般儲存區所儲存的資料是否出現錯誤;在步驟715中,因為該一般儲存區所儲存的資料沒有任何錯誤,所以控制器102可直接輸出該一般儲存區所儲存的資料;在步驟716中,如果該一般儲存區所儲存的資料出現一個錯誤,控制器102利用該錯誤更正碼功能更正該錯誤並輸出該更正後的資料;在步驟718中,如果資料出現至少二個錯誤時,控制器102不更正該至少二個錯誤,從該備份區讀出該備份區所儲存的資料;在步驟720中,控制器102利用該錯誤更正碼功能偵測該備份區所儲存的資料是否出現錯誤;在步驟722中,控制器102從該備份區輸出該備 份區所儲存的資料。
另外,記憶體系統300也可根據第4-7圖有關記憶體100的寫入資料的方法和讀出資料的方法操作,所以在此不再贅述。
綜上所述,本發明提供一種具有錯誤更正功能的記憶體及相關的操作方法和記憶體系統。因為該記憶體和該操作方法是利用該控制器選擇性地寫入該寫入資料至該一般儲存區和該備份區,所以如果該一般儲存區所儲存的資料出現至少二個錯誤時,該控制器可讀取該備份區所儲存的資料。另外,因為該記憶體系統是利用該記憶體系統的該控制器選擇性地寫入該寫入資料至該記憶體系統的一般儲存記憶體和備份記憶體,所以如果該一般儲存記憶體所儲存的資料出現至少二個錯誤時,該控制器可讀取該備份記憶體所儲存的資料。因此,相較於現有技術,本發明可對該一般儲存區所儲存的資料和該一般儲存記憶體所儲存的資料上的多個錯誤進行更正。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
100:記憶體
102:控制器
104:記憶單元陣列
B1-B4:記憶區塊
S1-S16:記憶區段

Claims (10)

  1. 一種具有錯誤更正(error correcting)功能的記憶體,包含:一控制器;及一記憶單元陣列,其中該控制器選擇性地寫入一寫入資料至該記憶單元陣列中的一一般儲存區(normal storage area)和一備份區(backup area),以及當該控制器從該一般儲存區讀出對應該寫入資料的一第一資料時,該控制器偵測該第一資料以選擇性地讀取該備份區;其中如果該第一資料出現至少二個錯誤,則該控制器讀取該備份區以輸出該備份區中對應該寫入資料的一第二資料。
  2. 如請求項1所述的記憶體,其中該一般儲存區的記憶容量和該備份區的記憶容量等於該記憶體的記憶容量。
  3. 如請求項1所述的記憶體,其中該一般儲存區的記憶容量等於該記憶體的記憶容量,且該備份區的記憶容量是該記憶體的記憶容量外的記憶容量。
  4. 如請求項1所述的記憶體,其中該控制器同時寫入該寫入資料至該一般儲存區和該備份區。
  5. 如請求項1所述的記憶體,其中該控制器從該一般儲存區讀出該第一資料,利用一錯誤更正碼功能偵測該第一資料是否出現錯誤,如果該第一資料出現一錯誤時,該控制器直接利用該錯誤更正碼功能更正該錯誤並輸出一更正後的資料,如果該第一資料出現該至少二個錯誤,則該控制器從 該備份區讀出該第二資料並輸出該第二資料。
  6. 如請求項5所述的記憶體,其中當該第一資料出現該至少二個錯誤時,該控制器更利用該錯誤更正碼功能偵測該第二資料是否出現錯誤。
  7. 一種具有錯誤更正功能的記憶體系統,包含:一控制器;一一般儲存記憶體;及一備份記憶體,其中該控制器選擇性地寫入一寫入資料至該一般儲存記憶體和該備份記憶體,以及當該控制器從該一般儲存記憶體讀出對應該寫入資料的一第一資料時,該控制器偵測該第一資料以選擇性地讀取該備份記憶體;其中如果該第一資料出現至少二個錯誤,則該控制器讀取該備份記憶體以輸出儲存於該備份記憶體中對應該寫入資料的一第二資料。
  8. 一種具有錯誤更正功能的記憶體,包含:一記憶單元陣列,包括一一般儲存區和一備份區;及一控制器,耦接該記憶單元陣列,選擇性地寫入一寫入資料至該一般儲存區和該備份區,其中該控制器從該一般儲存區讀出對應該寫入資料的一第一資料並偵測該第一資料,當該第一資料出現至少一錯誤時,該控制器選擇性地利用一錯誤更正碼功能更正該第一資料,或是讀取該備份區以輸出儲存於該備份區中對應該寫入資料的一第二資料。
  9. 如請求項8所述的記憶體,其中該控制器依據該第一資料出現的錯誤 數量決定更正該第一資料或是讀取該備份區以輸出該第二資料。
  10. 如請求項8所述的記憶體,其中該控制器利用該錯誤更正碼功能偵測該第一資料是否出現錯誤,當該第一資料出現一個錯誤時,該控制器利用該錯誤更正碼功能更正該錯誤並輸出更正後的該第一資料,以及當該第一資料出現至少兩個錯誤時,該控制器不更正該至少兩個錯誤,以及讀取該備份區以輸出該第二資料。
TW107145693A 2017-12-18 2018-12-18 具有錯誤更正功能的記憶體及相關記憶體系統 TWI692767B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201762607291P 2017-12-18 2017-12-18
US62/607,291 2017-12-18

Publications (2)

Publication Number Publication Date
TW201928985A TW201928985A (zh) 2019-07-16
TWI692767B true TWI692767B (zh) 2020-05-01

Family

ID=66816034

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107145693A TWI692767B (zh) 2017-12-18 2018-12-18 具有錯誤更正功能的記憶體及相關記憶體系統

Country Status (3)

Country Link
US (1) US11494260B2 (zh)
CN (1) CN110058955B (zh)
TW (1) TWI692767B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12019884B2 (en) * 2022-02-15 2024-06-25 Micron Technology, Inc. Identification and storage of boot information at a memory system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080263429A1 (en) * 2005-12-09 2008-10-23 Jong-Sik Jeong Method and Device for Correcting Code Data Error
TW200907995A (en) * 2007-08-06 2009-02-16 Ind Tech Res Inst Method and system of defect management for storage medium
TW200923957A (en) * 2007-11-29 2009-06-01 Ind Tech Res Inst Recoding medium structure capable of displaying defect rate
TW201035983A (en) * 2009-03-26 2010-10-01 Mediatek Inc Decoding method, encoding method and boot control system

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3146075B2 (ja) * 1992-10-14 2001-03-12 三菱電機株式会社 多重化メモリ装置
JP2005107839A (ja) * 2003-09-30 2005-04-21 Toshiba Corp アレイコントローラ及びディスクアレイ再構築方法
CN102043725B (zh) * 2009-10-20 2013-01-09 群联电子股份有限公司 用于闪存的数据写入方法及其控制器与储存系统
CN103631721A (zh) * 2012-08-23 2014-03-12 华为技术有限公司 一种隔离内存中坏块的方法及系统
CN103092728A (zh) * 2013-01-22 2013-05-08 清华大学 一种非易失性内存的磨损错误恢复方法和装置
KR20170075065A (ko) * 2015-12-22 2017-07-03 에스케이하이닉스 주식회사 메모리 시스템 동작 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080263429A1 (en) * 2005-12-09 2008-10-23 Jong-Sik Jeong Method and Device for Correcting Code Data Error
TW200907995A (en) * 2007-08-06 2009-02-16 Ind Tech Res Inst Method and system of defect management for storage medium
TW200923957A (en) * 2007-11-29 2009-06-01 Ind Tech Res Inst Recoding medium structure capable of displaying defect rate
TW201035983A (en) * 2009-03-26 2010-10-01 Mediatek Inc Decoding method, encoding method and boot control system

Also Published As

Publication number Publication date
US20190188076A1 (en) 2019-06-20
CN110058955B (zh) 2024-04-09
TW201928985A (zh) 2019-07-16
US11494260B2 (en) 2022-11-08
CN110058955A (zh) 2019-07-26

Similar Documents

Publication Publication Date Title
US11334413B2 (en) Estimating an error rate associated with memory
KR102648774B1 (ko) 랜더마이즈 동작을 수행하는 반도체 메모리 장치
CN107391026B (zh) 闪存装置及闪存存储管理方法
EP2106587B1 (en) Programming management data for nand memories
KR101616100B1 (ko) 메모리 시스템 및 그것의 동작 방법
KR101860809B1 (ko) 메모리 시스템 및 메모리 에러 정정 방법
US9436398B2 (en) Memory interface supporting both ECC and per-byte data masking
JP2013089082A (ja) メモリコントローラ、半導体記憶システムおよびメモリ制御方法
JP2015018451A (ja) メモリコントローラ、記憶装置およびメモリ制御方法
TWI806649B (zh) 快閃記憶體裝置及快閃記憶體儲存管理方法
US11301319B2 (en) Memory device and memory system having multiple error correction functions, and operating method thereof
US20140053041A1 (en) Nonvolatile semiconductor memory system error correction capability of which is improved
US9754682B2 (en) Implementing enhanced performance with read before write to phase change memory
US11216331B2 (en) Memory system and operating method thereof
KR20150090414A (ko) 에러 정정 동작을 수행하는 반도체 장치
CN111048140A (zh) 错误校正电路、存储器控制器及存储器系统
KR20210099895A (ko) 메모리 시스템 및 그것의 동작방법
JP2008262325A (ja) メモリ制御装置、メモリ制御方法、情報処理システム、そのプログラム及び記憶媒体
CN103218271A (zh) 一种数据纠错方法及装置
JP2010079856A (ja) 記憶装置およびメモリ制御方法
KR20160110774A (ko) 메모리 장치 및 이를 포함하는 시스템
TWI692767B (zh) 具有錯誤更正功能的記憶體及相關記憶體系統
JP2014534539A (ja) 妥当性マスクを記憶する装置および方法ならびに操作装置
US9104596B2 (en) Memory system
US20210019082A1 (en) Nonvolatile memory bad row management