TW202238607A - 半導體儲存裝置及錯誤檢測校正方法 - Google Patents
半導體儲存裝置及錯誤檢測校正方法 Download PDFInfo
- Publication number
- TW202238607A TW202238607A TW111100911A TW111100911A TW202238607A TW 202238607 A TW202238607 A TW 202238607A TW 111100911 A TW111100911 A TW 111100911A TW 111100911 A TW111100911 A TW 111100911A TW 202238607 A TW202238607 A TW 202238607A
- Authority
- TW
- Taiwan
- Prior art keywords
- error detection
- correction
- correction function
- data
- bit
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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
-
- 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/1048—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 using arrangements adapted for a specific error detection or correction feature
-
- 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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/20—Initialising; Data preset; Chip identification
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3404—Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells
-
- 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/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/74—Masking faults in memories by using spares or by reconfiguring using duplex memories, i.e. using dual copies
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/12—Bit line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, equalising circuits, for bit lines
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/08—Word line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, for word lines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/10—Indexing scheme relating to G06F11/10
- G06F2211/1002—Indexing scheme relating to G06F11/1076
- G06F2211/109—Sector level checksum or ECC, i.e. sector or stripe level checksum or ECC in addition to the RAID parity calculation
-
- 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/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Read Only Memory (AREA)
Abstract
本發明實現錯誤檢測校正能力與寫入或讀出的性能的並存。本發明的快閃記憶體的錯誤檢測校正方法包括:設定步驟,設定用於選擇進行1位元的錯誤檢測校正的第一錯誤檢測校正功能或進行多位元的錯誤檢測校正的第二錯誤檢測校正功能的選擇資訊;以及執行步驟,在讀出動作或寫入動作時,基於所設定的選擇資訊來執行第一錯誤檢測校正功能或第二錯誤檢測校正功能。
Description
本發明是有關於一種反及(NAND)型快閃記憶體的半導體儲存裝置,且特別是有關於一種錯誤檢測校正功能的切換。
在NAND型的快閃記憶體中,由於反復進行資料的編程或抹除引起位元錯誤。作為此種位元錯誤的對策,在快閃記憶體搭載有錯誤檢測校正電路(以下稱為ECC(Error Correcting Code)電路)(例如專利文獻: 日本專利6744950號公報、日本專利6744951號公報)。
在圖1中示出以往的搭載有晶片上ECC功能的NAND型快閃記憶體的概略結構。快閃記憶體10包括:儲存單元陣列20、頁緩衝器/感測電路30、ECC電路40、以及輸入輸出電路50。ECC電路40包括:傳輸電路42、ECC核心44、錯誤暫存器46及寫入電路48。
在讀出動作中,將從儲存單元陣列20的選擇頁讀出的資料保持在頁緩衝器/感測電路30,並將保持在頁緩衝器/感測電路30的資料經由傳輸電路42而傳輸至ECC核心44。ECC核心44對所傳輸的資料進行ECC運算,將由所述運算獲得的錯誤資訊保持在錯誤暫存器46。寫入電路48基於保持在錯誤暫存器46的錯誤資訊,將經校正的資料寫回至頁緩衝器/感測電路30。如此,在一頁的ECC處理結束後,按照行位址將保持在頁緩衝器/感測電路30的資料讀出至資料匯流排60,並將所讀出的資料提供至輸入輸出電路50。輸入輸出電路50從未圖示的輸入輸出端子將讀出資料輸出至外部。
在寫入動作中,將從外部輸入的應編程的資料保持在頁緩衝器/感測電路30,ECC核心44生成從頁緩衝器/感測電路30傳輸的資料的代碼(同位檢查位元),寫入電路48將所生成的代碼寫入至與頁緩衝器/感測電路30的備用區域對應的位置。在ECC處理後,將保持在頁緩衝器/感測電路30的資料編程至儲存單元陣列20。
若一頁的資料尺寸變大,則對與頁的讀出或寫入時間、或者與基於串列外設介面(Serial Peripheral Interface,SPI)的外部時鐘信號同步地進行多頁的連續讀出時的動作頻率帶來極大的影響。另外,通過流水線處理實現了高速化,但也導致晶片尺寸的增大,難以實現錯誤檢測校正能力與讀出性能的並存。
本發明著眼于此種現有的問題,其目的在於提供一種實現錯誤檢測校正能力與寫入或讀出的性能的並存的半導體儲存裝置及錯誤檢測校正方法。
本發明的半導體儲存裝置的錯誤檢測校正方法包括:設定步驟,設定用於選擇進行m位元的錯誤檢測校正的第一錯誤檢測校正功能或進行n位元的錯誤檢測校正的第二錯誤檢測校正功能的選擇資訊(m、n為自然數,m<n);以及執行步驟,在讀出動作或寫入動作時,基於所述選擇資訊來執行所述第一錯誤檢測校正功能或所述第二錯誤檢測校正功能。
本發明的半導體儲存裝置包括:儲存單元陣列;錯誤檢測校正電路,包含進行m位元的錯誤檢測校正的第一錯誤檢測校正功能及進行n位元的錯誤檢測校正的第二錯誤檢測校正功能(m、n為自然數,m<n);設定暫存器,設定用於選擇所述第一錯誤檢測校正功能或所述第二錯誤檢測校正功能的選擇資訊;以及控制器,在讀出動作或寫入動作時,基於所述選擇資訊來執行所述第一錯誤檢測校正功能或所述第二錯誤檢測校正功能。
根據本發明,由於可選擇第一錯誤檢測校正功能或第二錯誤檢測校正功能,因此,例如可通過根據產品生命週期等切換錯誤檢測校正能力來實現與讀出或寫入動作的性能並存。
接著,參照附圖對本發明的實施方式進行詳細說明。本發明的半導體儲存裝置例如是NAND型快閃記憶體、或者嵌入此種快閃記憶體的微處理器(micro processor)、微控制器(micro controller)、邏輯、專用積體電路(Application Specific Integrated Circuit,ASIC)、對圖像或聲音進行處理的處理器、對無線信號進行處理的處理器。
圖2是表示本發明的實施例的NAND型快閃記憶體的內部結構的圖。快閃記憶體100包括:儲存單元陣列110,呈矩陣狀地排列有多個儲存單元;輸入輸出電路120,連接於外部輸入輸出端子,且將讀出資料輸出至外部或者導入從外部輸入的資料;ECC電路130,進行應編程的資料的錯誤校正代碼的生成或基於所述錯誤校正代碼所讀出的資料的錯誤檢測校正;位址暫存器140,經由輸入輸出電路120來接收位址資料;控制器150,基於經由輸入輸出電路120接收的命令(指令)或施加至控制端子的控制信號來對各部進行控制;字元線選擇電路160,基於來自位址暫存器140的列位址資訊Ax的解碼結果來進行塊的選擇或字元線的選擇;頁緩衝器/感測電路170,保持從儲存單元陣列110的選擇頁讀出的資料,或者保持要編程至選擇頁的資料;行選擇電路180,基於來自位址暫存器140的行位址資訊Ay的解碼結果來做行的選擇;以及設定暫存器190,設定關於多個錯誤檢測校正功能的選擇資訊。此處雖未圖示但快閃記憶體100包括內部電壓產生電路,所述內部電壓產生電路生成資料的讀出、編程(寫入)及抹除所需的電壓(編程電壓Vpgm、通過電壓Vpass、讀出電壓Vread、抹除電壓Vers)。另外,NAND型快閃記憶體100也可搭載用於實現與或非(NOR)型快閃記憶體的動作的相容性的SPI。
儲存單元陣列110例如具有沿行方向配置的m個儲存塊BLK(0)、BLK(1)、…、BLK(m-1)。在一個儲存塊形成有多個NAND串,一個NAND串包括經串聯連接的多個儲存單元、位元線側選擇電晶體、以及源極線側選擇電晶體。位元線側選擇電晶體的汲極連接於所對應的一個全域位元線,源極線側選擇電晶體的源極連接於共用的源極線。儲存單元的閘極連接於所對應的字元線,位元線側選擇電晶體及源極線側選擇電晶體的各閘極分別連接於選擇閘極線SGD、選擇閘極線SGS。字元線選擇電路160基於列位址資訊Ax經由選擇閘極線SGD、選擇閘極線SGS而驅動位元線側選擇電晶體、源極線側選擇電晶體,來選擇塊或字元線。NAND串既可二維地形成於基板表面上,也可三維地形成於基板表面上。另外,儲存單元既可為儲存1位元(bit)(二值資料)的單層單元(Single Level Cell,SLC)型,也可為儲存多位元的類型。
在讀出動作中,對位元線施加某正電壓,對選擇字元線施加某電壓(例如0 V),對非選擇字元線施加通過電壓Vpass(例如4.5 V),對選擇閘極線SGD、選擇閘極線SGS施加正電壓(例如4.5 V),使位元線側選擇電晶體、源極線側選擇電晶體接通,使共用源極線SL為0 V。在編程動作中,對選擇字元線施加高電壓的編程電壓Vpgm(例如15 V~20 V),對非選擇的字元線施加中間電位(例如10 V),使位元線側選擇電晶體接通,使源極線側選擇電晶體斷開,對位元線供給與資料“0”或“1”對應的電位。在抹除動作中,對塊內的選擇字元線施加0 V,對P阱施加高電壓(例如20 V)。
在某一形態中,ECC電路130如圖3所示那樣包括具有1位元的錯誤檢測校正功能的第一ECC部132、以及具有8位元的錯誤檢測校正功能的第二ECC部134。第一ECC部132使用漢明碼進行資料的編碼/解碼,第二ECC部134使用BCH碼進行資料的編碼/解碼。對第一ECC部132及第二ECC部134從控制器150分別供給第一致能信號EN_1及第二致能信號EN_2。第一ECC部132在第一致能信號EN_1為第一邏輯狀態時被致能,在第一致能信號EN_1為第二邏輯狀態時被禁能。第二ECC部134在第二致能信號EN_2為第一邏輯狀態時被致能,在第二致能信號EN_2為第二邏輯狀態時被禁能。第一ECC部132及第二ECC部134與所供給的內部時鐘信號CLK_ECC同步地進行ECC處理。
設定暫存器190設定用於選擇第一ECC部132或第二ECC部134的動作的選擇資訊,並將其加以保持。表1是表示本發明的設定暫存器的一例。選擇資訊例如包括如表1所示那樣的1位元的旗標,旗標“0”規定第一ECC部132的選擇,旗標“1”規定第二ECC部134的選擇。在某一形態中,選擇資訊是在執行快閃記憶體100的通電(power on)序列時從熔絲唯讀記憶體(Read Only Memory,ROM)(熔絲記憶體單元)載入。在預設狀態或出廠時,在熔絲ROM中保存旗標“0”作為選擇資訊。在生命週期為初始或前半段時,記憶體單元的經年劣化相對較少,因此預測錯誤的發生頻度少。因此,選擇第一ECC部132作為初始設定。因此,在生命週期的前半段中,ECC處理時間短,從而讀出或寫入時間因ECC處理而變長的情況得到抑制。
表1
設定暫存器190能夠從外部訪問,使用者可使用規定的指令將設定在設定暫存器190的選擇資訊改寫。當經由輸入輸出電路120從主機電腦接收到設定暫存器的寫入指令及寫入資料後,控制器150將所述寫入資料寫入至設定暫存器190。由此,進行選擇資訊的改寫。當生命週期達到後半段而產生記憶體單元的經年劣化時,預測錯誤發生頻率會因此增加。為了應對此,通過選擇第二ECC部134,進行從單個位元的錯誤檢測校正功能向多位元的錯誤檢測校正功能的切換。由此,在生命週期的後半段,讀出或寫入的時間因ECC處理而變長,但相反,錯誤檢測校正能力增加,可靠性的下降得到抑制。
控制器150包括微控制器或狀態機,並基於從外部接收的指令或控制信號,對快閃記憶體100的讀出、編程、抹除、錯誤檢測校正功能的切換等整體的動作進行控制。
接著,對ECC電路130的動作進行說明。在編程動作時,將從輸入輸出電路120輸入的資料保持在頁緩衝器/感測電路170,接著,將所保持的資料傳輸至ECC電路130。ECC電路130對所傳輸的資料進行ECC運算,生成錯誤校正代碼(例如,同位檢查位元),並將所生成的錯誤校正代碼寫回至頁緩衝器/感測電路170的備用區域。其後,將所輸入的資料及錯誤校正代碼編程至儲存單元陣列110的所選擇的頁。
在讀出動作時,將從儲存單元陣列110的選擇頁讀出的資料傳輸至頁緩衝器/感測電路170,並保持在其中。接著,將所保持的資料傳輸至ECC電路130,ECC電路130基於錯誤校正代碼檢測有無錯誤,在檢測出錯誤的情況下,對資料的錯誤進行校正。錯誤的校正例如是通過將頁緩衝器/感測電路170中所保持的資料改寫來進行。其後,頁緩衝器/感測電路170中所保持的資料經由輸入輸出電路120而輸出至外部。
在圖4中示出了頁緩衝器/感測電路170的資料結構例。頁緩衝器/感測電路170例如包括:常規區域200,被分割成磁區0~磁區7這8個磁區;以及備用區域210,被分割成備用0、備用1、備用2、備用3這4個磁區。常規區域用於資料的儲存,常規區域200的一個磁區例如包含256位元組,常規區域200的8個磁區整體上保持約2K位元組的資料。
備用區域210的一個磁區例如包含16位元組,4個磁區(備用0~備用3)整體上保持64位元組的資料。在備用0中儲存有常規區域200的磁區0、磁區1的錯誤校正代碼,在備用1中儲存有常規區域200的磁區2、磁區3的錯誤校正代碼,在備用2中儲存有常規區域200的磁區4、磁區5的錯誤校正代碼,在備用3中儲存有常規區域200的磁區6、磁區7的錯誤校正代碼。
ECC電路130包括:傳輸電路136,接收以磁區為單位傳輸的資料,並將其傳輸至ECC處理部135;ECC處理部135,包括具有1位元的錯誤檢測校正功能的第一ECC部132及具有8位元的錯誤檢測校正功能的第二ECC電路134;以及寫入電路138,將錯誤校正代碼寫入至備用區域210,或將所校正的資料寫入至常規區域200。
控制器150基於設定暫存器190中所設定的選擇資訊(旗標),將致能信號EN_1、致能信號EN_2輸出至ECC電路130,並使第一ECC部132或第二ECC部134選擇性地運行。第一ECC部132使用漢明碼進行單個位元的錯誤檢測校正,第二ECC部134使用BCH碼進行8位元的錯誤檢測校正。第一ECC部132所需的時間比第二ECC部134所需的時間短,因此,在選擇了第一ECC部132時,與選擇了第二ECC部134時相比,可縮短讀出或寫入所需的時間,相反,在選擇了第二ECC部134時,與選擇了第一ECC部132時相比,可進行更多的錯誤位元的檢測校正。
圖5是說明基於本發明第一實施例的ECC電路的錯誤檢測校正能力的切換動作的流程。在與儲存單元陣列110的使用者使用區域不同的熔絲ROM(例如,使用者無法訪問的區域)中保存ECC電路130的第一ECC部132或第二ECC部134的選擇資訊的初始值。選擇資訊的初始值設定第一ECC部132的選擇作為產品出廠時的資訊。在加電(power up)序列的執行時,將保存在熔絲ROM的選擇資訊載入至設定暫存器190(S100)。
控制器150參照設定暫存器190的選擇資訊,經由致能信號EN_1來致能第一ECC部132,並經由致能信號EN_2來禁能第二ECC部134。由此,在讀出或寫入動作時,所選擇的第一ECC部132運行,第二ECC部134不運行(S110)。
其後,使用者根據快閃記憶體的使用狀況,將設定暫存器190的選擇資訊改寫,以選擇第二ECC部134(S120)。當進行選擇資訊的改寫後,控制器150經由致能信號EN_1來禁能第一ECC部132,並經由致能信號EN_2來致能第二ECC部134。由此,在讀出或寫入動作時,所選擇的第二ECC部134運行,第一ECC部132不運行(S130)。
如此,根據本實施例,由於根據設定暫存器的選擇資訊來使第一ECC部132或第二ECC部134運行,因此可根據產品生命週期來選擇性地切換錯誤檢測校正能力,可最佳地管理錯誤檢測校正的處理時間,來抑制頁讀取時間或連續讀出的動作頻率的下降。即,在記憶體單元的經年劣化少的期間內,能夠縮短ECC處理所需的時間而實現讀出或寫入的高速化,另一方面,在記憶體單元的經年劣化變多的期間內,可增強錯誤校正能力而實現可靠性的提高。
再者,設定暫存器190從熔絲ROM載入初始值,但此為一例,本實施例未必限定於此種形態。例如,設定暫存器190可利用儲存單元陣列110的使用者能夠使用的區域的一部分的記憶體空間,所述記憶體空間的預設值(抹除狀態)也可表示第一ECC部132的選擇。在此情況下,控制器150讀出所述記憶體空間的預設值,使第一ECC部132致能,並禁能第二ECC部134。在選擇第二ECC部134的情況下,使用者對所述記憶體空間的預設值進行編程,並將選擇資訊改寫。
接著,對本發明的第二實施例進行說明。在第一實施例中,在將動作從第一ECC部132切換至第二ECC部134的情況下,無法利用第二ECC部134對由第一ECC部132編碼的資料進行解碼。即,保存在儲存單元陣列110的由第一ECC部132生成的錯誤校正代碼無法由第二ECC部134解讀,因此在切換為第二ECC部134的情況下,必須將由第一ECC部132生成的錯誤校正代碼轉換為由第二ECC部134生成的錯誤校正代碼。
因此,第二實施例利用快閃記憶體的回寫(copy back)功能,將由第一ECC部132處理的頁從儲存單元陣列讀出至頁緩衝器/感測電路170,並利用第一ECC部132對所讀出的資料進行解碼(即,進行錯誤檢測校正),進而利用第二ECC部134再次對經解碼的資料進行編碼來生成錯誤校正代碼,並將包含所生成的錯誤校正代碼的資料編程至儲存單元陣列的原始頁。
此種資料轉換是針對關於保存在儲存單元陣列110的第一ECC部132的所有資料實施。控制器150以不與快閃記憶體100的動作干涉的方式在後臺(background)自動地實施利用了回寫功能的資料轉換,或者在未進行讀出或寫入等動作的期間中自動地實施利用了回寫功能的資料轉換。另外,在某一形態中,可設為將表示資料轉換或未轉換的旗標保存在備用區域中,控制器150參照所述旗標進行資料轉換,並在轉換後將旗標改寫。
如此,根據本實施例,由於利用回寫功能自動地進行資料轉換,因此可順利地實施錯誤校正功能從第一ECC部132向第二ECC部134的切換。
接著,對本發明的第三實施例進行說明。在本實施例中,根據位址空間來切換錯誤檢測校正能力。表2是表示本實施例的設定暫存器190的設定例。在設定暫存器190中預先設定位址空間和與其對應的旗標的關係。位址空間規定儲存單元陣列110的列位址的範圍,例如,對位址空間1分配旗標“0”,對位址空間2分配旗標“1”,對位址空間3分配旗標“0”。旗標“0”表示第一ECC部132的選擇,旗標“1”表示第二ECC部134的選擇,因此,在進行向位址空間1的讀出或寫入的情況下,選擇第一ECC部132,在進行向位址空間2的讀出或寫入的情況下,選擇第二ECC部134。
表2
圖6是說明基於第三實施例的ECC電路的錯誤檢測校正能力的切換動作的流程。在進行讀出或寫入動作時,從外部經由輸入輸出電路120輸入用於讀出或寫入的指令或位址(S200)。
控制器150參照設定暫存器190,識別與所輸入的位址的列位址相當的位址空間的旗標(S210),按照所識別的旗標來選擇第一ECC部132或第二ECC部134,因此經由致能信號EN_1、致能信號EN_2來致能第一ECC部132或第二ECC部134。如此,在讀出動作或寫入動作時,由根據位址選擇的第一ECC部132或第二ECC部134來實施錯誤檢測校正(S230)。
如此,根據本實施例,可根據位址空間來變更錯誤檢測校正能力。例如,可設為在如主機側電腦以塊為單位來管理儲存單元陣列的資料改寫次數或抹除次數那樣的情況下,以塊為單位來設定位址空間,在資料改寫次數或抹除次數達到一定以上時,將所述位址空間的旗標從“0”改寫為“1”。由此,可根據位址空間的記憶體單元的經年劣化來變更錯誤檢測校正能力。
接著,對第二ECC部134的具體例進行說明。第二ECC部134包括使用BCH代碼對資料進行編碼的編碼器、以及對經BCH編碼的資料進行解碼的解碼器。圖7的(A)是表示BCH解碼器的內部結構的方塊圖。BCH解碼器300包括:評價資料的校驗子的校驗子計算部310、計算錯誤位置多項式(error location polynomial,ELP)的歐幾裡得互除計算部320、計算錯誤位置多項式的根並搜索錯誤位置的錯誤位置搜索部330、以及基於搜索到的錯誤位置將所校正的資料寫回至頁緩衝器/感測電路170的錯誤位元校正部340。
在BCH解碼器300,設置有用於接收重置信號RST、ECC運算用的時鐘信號CLK、致能信號ENABLE_IN、有效信號VALID_IN、資料DATA_IN的輸入端子。校驗子計算部310將表示其評價結果及歐幾裡得互除的計算開始的開始信號EUC_S輸出至歐幾裡得互除計算部320。歐幾裡得互除計算部320將錯誤位置多項式的計算結果與表示計算結束的結束信號EUC_E輸出至錯誤位置搜索部330。
圖7的(B)是表示BCH解碼器的各部分的處理例的時序圖。t1表示校驗子計算部310的處理期間,t2表示歐幾裡得互除計算部320的處理期間,t3表示錯誤位置搜索部330的處理期間,t4表示錯誤位元校正部340的處理期間。
BCH解碼器300與所輸入的時鐘信號CLK同步地進行處理,通過致能信號ENABLE_IN轉變為H電平而能夠運行。在有效信號VALID_IN的H電平的期間中,保持在頁緩衝器/感測電路的資料從DATA_IN被導入至校驗子計算部310。當校驗子的計算結束時,校驗子計算部310輸出表示歐幾裡得的互除的開始的脈衝信號EUC_S,回應于此,歐幾裡得互除計算部320計算錯誤位置多項式。當錯誤位置多項式的計算結束時,歐幾裡得互除計算部320輸出表示其結束的脈衝信號EUC_E,回應於此,錯誤位置搜索部330搜索錯誤位置。錯誤位元校正部340經由輸出端子DATA_OUT將頁緩衝器/感測電路170的資料改寫。
例如,在使用BCH代碼每528位元組進行8位元的錯誤檢測校正的情況下,校驗子計算需要149個時鐘週期,歐幾裡得互除計算需要82個時鐘週期,錯誤位置搜索需要143個時鐘週期,錯誤校正需要48個時鐘週期,整體上需要422個時鐘週期。在時鐘信號CLK的頻率為50 MHz時,時鐘的一個週期時間為20 ns,BCH代碼的解碼處理消耗8.44 μs。若頁緩衝器/感測電路170的一頁的大小為2K位元組,則需要約34 μs(1688個週期=422*4)。
另一方面,在進行使用漢明代碼的1位元的錯誤檢測校正的情況下,為了使校驗子計算與錯誤校正的結構簡單,2K位元組的錯誤檢測校正所需的時鐘週期數為330左右。若時鐘的一個週期時間為20 ns,則以約6.7 μs完成處理。若單純地與8位的BCH代碼相比,則利用約1/6的處理時間即可。在4K位元組的頁長度且陣列讀取時間為20 ns的情況下,在8位元的BCH代碼中,tRD2=(20 μs+34 μs*2)=88 μs,與此相對,在1位的漢明代碼中,tRD2=(20 μs+(6.7 μs*2)=34 μs,兩者的差非常大。因此,在使用BCH代碼的情況下,會對頁讀取時間(tRD2)或用於連續讀出動作的時鐘頻率的上限帶來影響。
在所述實施例中,雙重地安裝將1位元的錯誤檢測校正功能(第一ECC部132)與8位元的錯誤檢測校正功能(第二ECC部134),但電路規模是8位元的錯誤檢測校正電路占主導地位,錯誤位元校正部340可重複地利用,因此,ECC電路130能夠僅通過對8位元的錯誤校正功能追加1位元的錯誤檢測校正電路的校驗子計算部來實現。因此,並不那麼影響對晶片尺寸的衝擊。
在所述實施例中,例示了使用漢明碼的錯誤檢測校正與使用BCH碼的錯誤檢測校正,但此為一例,本發明也可應用於使用其他代碼的錯誤檢測校正。
進而,在所述實施例中,在第二ECC部134的BCH代碼中進行8位元的錯誤檢測校正,但此為一例,第二ECC部134的BCH代碼也可進行2位元、4位元或者16位元的錯誤檢測校正。進而,在所述實施例中,第一ECC部132進行了1位元的錯誤檢測校正,但此為一例,若存在基於第一ECC部132的錯誤檢測校正功能<基於第二ECC部134的錯誤檢測校正功能的關係,則第一ECC部132也可進行2位元以上的錯誤檢測校正。
對本發明的優選實施方式進行了詳述,但本發明並不限定於特定的實施方式,能夠在權利要求書所記載的本發明的主旨的範圍內進行各種變形、變更。
10、100:快閃記憶體
20、110:儲存單元陣列
30、170:頁緩衝器/感測電路
40、130:ECC電路
42、136:傳輸電路
44:ECC核心
46:錯誤暫存器
48、138:寫入電路
50、120:輸入輸出電路
60:資料匯流排
132:第一ECC部
134:第二ECC部
135:ECC處理部
140:位址暫存器
150:控制器
160:字元線選擇電路
180:行選擇電路
190:設定暫存器
200:常規區域
210:備用區域
300:BCH解碼器
310:校驗子計算部
320:歐幾裡得互除計算部
330:錯誤位置搜索部
340:錯誤位元校正部
Ax:列位址資訊
Ay:行位址資訊
BLK(0)、BLK(1)、…、BLK(m-1):儲存塊
CLK:時鐘信號
CLK_ECC:內部時鐘信號
DATA_IN:資料
EN_1:第一致能信號
EN_2:第二致能信號
ENABLE_IN:致能信號
EUC_E:結束信號(脈衝信號)
EUC_S:開始信號(脈衝信號)
S100、S110、S120、S130、S200、S210、S220、S230:步驟
t1、t2、t3、t4:處理期間
VALID_IN:有效信號
圖1是表示搭載現有的晶片上ECC功能的NAND型快閃記憶體的概略結構的圖。
圖2是表示本發明實施例的NAND型快閃記憶體的結構的方塊圖。
圖3是表示本發明實施例的ECC電路的內部結構的圖。
圖4是說明本發明第一實施例的ECC電路的動作的圖。
圖5是說明本發明第一實施例的ECC電路的錯誤檢測校正能力的切換動作的流程。
圖6是說明本發明第三實施例的ECC電路的錯誤檢測校正能力的切換動作的流程。
圖7的(A)、圖7的(B)是表示本發明實施例的ECC電路的解碼器的結構的方塊圖。
S100、S110、S120、S130:步驟
Claims (12)
- 一種錯誤檢測校正方法,其為半導體儲存裝置的錯誤檢測校正方法,包括: 設定步驟,設定用於選擇進行m位元的錯誤檢測校正的第一錯誤檢測校正功能或進行n位元的錯誤檢測校正的第二錯誤檢測校正功能的選擇資訊,m、n為自然數,m小於n;以及 執行步驟,在讀出動作或寫入動作時,基於所述選擇資訊來執行所述第一錯誤檢測校正功能或所述第二錯誤檢測校正功能。
- 如請求項1所述的錯誤檢測校正方法,其中, 所述設定步驟能夠通過指令從外部變更所述選擇資訊。
- 如請求項1所述的錯誤檢測校正方法,其中, 所述選擇資訊規定用於選擇所述第一錯誤檢測校正功能的儲存單元陣列的第一位址空間及用於選擇所述第二錯誤檢測校正功能的儲存單元陣列的第二位址空間, 所述執行步驟基於與讀出動作或寫入動作的位址對應的所述第一位址空間或所述第二位址空間,來執行所述第一錯誤檢測校正功能或所述第二錯誤檢測校正功能。
- 如請求項1所述的錯誤檢測校正方法,其中, 所述錯誤檢測校正方法還包括轉換步驟,所述轉換步驟在切換從所述第一錯誤檢測校正功能向所述第二錯誤檢測校正功能的動作時,將寫入至儲存單元陣列的與所述第一錯誤檢測校正功能相關的第一資料轉換為與所述第二錯誤檢測校正功能相關的第二資料。
- 如請求項4所述的錯誤檢測校正方法,其中, 所述轉換步驟從所述儲存單元陣列將所述第一資料讀出至頁緩衝器/感測電路,使所述第二錯誤檢測校正功能運行而將所讀出的所述第一資料轉換為所述第二資料,並將經轉換的所述第二資料寫入至所述儲存單元陣列的原始位置。
- 如請求項1所述的錯誤檢測校正方法,其中, 所述第一錯誤檢測校正功能是利用漢明碼進行1位元的錯誤檢測校正,所述第二錯誤檢測校正功能是利用博斯-查德胡裡-霍昆格姆碼進行2位元、4位元或8位元的錯誤檢測校正。
- 如請求項1所述的錯誤檢測校正方法,其中, 所述儲存單元陣列是包含常規區域與備用區域的反及型的儲存單元陣列,在所述備用區域中儲存有通過所述第一錯誤檢測校正功能或所述第二錯誤檢測校正功能生成的同位檢查位元。
- 一種半導體儲存裝置,包括: 儲存單元陣列; 錯誤檢測校正電路,包含進行m位元的錯誤檢測校正的第一錯誤檢測校正功能及進行n位元的錯誤檢測校正的第二錯誤檢測校正功能,m、n為自然數,m小於n; 設定暫存器,設定用於選擇所述第一錯誤檢測校正功能或所述第二錯誤檢測校正功能的選擇資訊;以及 控制器,在讀出動作或寫入動作時,基於所述選擇資訊來執行所述第一錯誤檢測校正功能或所述第二錯誤檢測校正功能。
- 如請求項8所述的半導體儲存裝置,其中, 所述設定暫存器能夠通過指令從外部變更所述選擇資訊。
- 如請求項8所述的半導體儲存裝置,其中, 所述選擇資訊規定用於選擇所述第一錯誤檢測校正功能的所述儲存單元陣列的第一位址空間及用於選擇所述第二錯誤檢測校正功能的所述儲存單元陣列的第二位址空間, 所述控制器基於與讀出動作或寫入動作的位址對應的所述第一位址空間或所述第二位址空間,來執行所述第一錯誤檢測校正功能或所述第二錯誤檢測校正功能。
- 如請求項8所述的半導體儲存裝置,其中, 所述控制器包括轉換部件,所述轉換部件在切換從所述第一錯誤檢測校正功能向所述第二錯誤檢測校正功能的動作時,將寫入至所述儲存單元陣列的與所述第一錯誤檢測校正功能相關的第一資料轉換為與所述第二錯誤檢測校正功能相關的第二資料。
- 如請求項11所述的半導體儲存裝置,其中, 所述轉換部件從所述儲存單元陣列將所述第一資料讀出至頁緩衝器/感測電路,使所述第一錯誤檢測校正功能運行而對所讀出的所述第一資料進行解碼,進而利用所述第二錯誤檢測校正功能再次對經解碼的資料進行編碼來生成所述第二資料,並將所生成的所述第二資料寫入至所述儲存單元陣列的原始位置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021-036890 | 2021-03-09 | ||
JP2021036890A JP2022137391A (ja) | 2021-03-09 | 2021-03-09 | 半導体記憶装置および誤り検出訂正方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202238607A true TW202238607A (zh) | 2022-10-01 |
TWI799067B TWI799067B (zh) | 2023-04-11 |
Family
ID=83156961
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111100911A TWI799067B (zh) | 2021-03-09 | 2022-01-10 | 半導體儲存裝置及錯誤檢測校正方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11755209B2 (zh) |
JP (2) | JP2022137391A (zh) |
KR (1) | KR20220126629A (zh) |
CN (1) | CN115050415A (zh) |
TW (1) | TWI799067B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20230069316A (ko) * | 2021-11-11 | 2023-05-19 | 삼성디스플레이 주식회사 | 표시 장치 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0444950A (ja) | 1990-05-31 | 1992-02-14 | Mitsubishi Materials Corp | 缶蓋 |
JPH0444951A (ja) | 1990-06-08 | 1992-02-14 | Toshiyoshi Okada | 飲料缶の缶蓋と呑口栓が別々に、はなれない缶 |
JP2000349652A (ja) * | 1999-06-07 | 2000-12-15 | Hitachi Ltd | 誤り訂正手段を備えた記憶装置 |
KR100759441B1 (ko) | 2006-09-08 | 2007-09-20 | 삼성전자주식회사 | 스텝 셋 전류를 발생하는 상 변화 메모리 장치 |
JP4672743B2 (ja) * | 2008-03-01 | 2011-04-20 | 株式会社東芝 | 誤り訂正装置および誤り訂正方法 |
JP2012123880A (ja) * | 2010-12-10 | 2012-06-28 | Toshiba Corp | 半導体記憶装置 |
JP5764392B2 (ja) * | 2011-06-13 | 2015-08-19 | 株式会社メガチップス | メモリコントローラ |
TWI497495B (zh) | 2012-07-02 | 2015-08-21 | Winbond Electronics Corp | 用於讀取nand快閃記憶體的方法和設備 |
US9520901B2 (en) * | 2014-03-06 | 2016-12-13 | Kabushiki Kaisha Toshiba | Memory controller, memory system, and memory control method |
JP6258399B2 (ja) * | 2016-05-16 | 2018-01-10 | ウィンボンド エレクトロニクス コーポレーション | 半導体装置 |
JP6818666B2 (ja) * | 2017-09-20 | 2021-01-20 | キオクシア株式会社 | メモリシステム |
CN107611050B (zh) | 2017-09-26 | 2020-10-16 | 上海华虹宏力半导体制造有限公司 | 晶圆的测试方法 |
US10691537B2 (en) | 2018-10-12 | 2020-06-23 | Western Digital Technologies, Inc. | Storing deep neural network weights in non-volatile storage systems using vertical error correction codes |
JP6744950B1 (ja) | 2019-05-21 | 2020-08-19 | ウィンボンド エレクトロニクス コーポレーション | 半導体装置および連続読出し方法 |
JP6744951B1 (ja) | 2019-05-24 | 2020-08-19 | ウィンボンド エレクトロニクス コーポレーション | 半導体装置および連続読出し方法 |
-
2021
- 2021-03-09 JP JP2021036890A patent/JP2022137391A/ja active Pending
-
2022
- 2022-01-10 TW TW111100911A patent/TWI799067B/zh active
- 2022-01-25 CN CN202210084847.7A patent/CN115050415A/zh active Pending
- 2022-02-09 KR KR1020220016902A patent/KR20220126629A/ko unknown
- 2022-02-17 US US17/673,825 patent/US11755209B2/en active Active
-
2023
- 2023-07-03 JP JP2023109148A patent/JP2023120450A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
CN115050415A (zh) | 2022-09-13 |
US11755209B2 (en) | 2023-09-12 |
TWI799067B (zh) | 2023-04-11 |
JP2022137391A (ja) | 2022-09-22 |
US20220291845A1 (en) | 2022-09-15 |
KR20220126629A (ko) | 2022-09-16 |
JP2023120450A (ja) | 2023-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8065583B2 (en) | Data storage with an outer block code and a stream-based inner code | |
US7406649B2 (en) | Semiconductor memory device and signal processing system | |
KR100842680B1 (ko) | 플래시 메모리 장치의 오류 정정 컨트롤러 및 그것을포함하는 메모리 시스템 | |
US8365025B2 (en) | Flash memory | |
TWI582779B (zh) | 讀取電壓準位估測方法、記憶體儲存裝置及記憶體控制電路單元 | |
JP6164712B1 (ja) | フラッシュメモリ | |
US9093154B2 (en) | Method, memory controller and system for reading data stored in flash memory | |
JP2008165805A (ja) | フラッシュメモリ装置のecc制御器及びそれを含むメモリシステム | |
US8990667B2 (en) | Error check and correction circuit, method, and memory device | |
KR102282576B1 (ko) | 반도체 장치 및 연속 독출 방법 | |
JP2010176761A (ja) | 半導体記憶装置 | |
TWI799067B (zh) | 半導體儲存裝置及錯誤檢測校正方法 | |
US11487614B2 (en) | Semiconductor storing apparatus and readout method | |
TWI691962B (zh) | 解碼方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI686812B (zh) | 記憶體測試方法及其記憶體裝置 | |
JP2022047393A (ja) | メモリシステム、半導体記憶装置及びデータ読み出し方法 | |
JP2007104708A (ja) | データ処理方法 | |
JP2014033364A (ja) | 誤り検出訂正回路、及びメモリ装置 | |
TWI753814B (zh) | 半導體儲存裝置以及錯誤檢測糾正相關資訊的讀出方法 | |
JP2014116659A (ja) | 誤り検出訂正回路、及び半導体記憶装置 | |
JP2013196721A (ja) | 半導体メモリ装置 |