TWI767584B - 資料儲存裝置以及非揮發式記憶體控制方法 - Google Patents
資料儲存裝置以及非揮發式記憶體控制方法 Download PDFInfo
- Publication number
- TWI767584B TWI767584B TW110106464A TW110106464A TWI767584B TW I767584 B TWI767584 B TW I767584B TW 110106464 A TW110106464 A TW 110106464A TW 110106464 A TW110106464 A TW 110106464A TW I767584 B TWI767584 B TW I767584B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- blocks
- threshold
- read
- block
- 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/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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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
-
- 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
- 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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5642—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/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/3418—Disturbance prevention or evaluation; Refreshing of disturbed memory data
- G11C16/3422—Circuits or methods to evaluate read or write disturbance in nonvolatile memory, without steps to mitigate the problem
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7208—Multiple device management, e.g. distributing data over multiple flash devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7211—Wear leveling
-
- 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
- G11C2029/0409—Online test
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/564—Miscellaneous aspects
- G11C2211/5641—Multilevel memory having cells with different number of storage levels
-
- 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/76—Masking faults in memories by using spares or by reconfiguring using address translation or modifications
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Credit Cards Or The Like (AREA)
Abstract
多通道之非揮發式記憶體控制技術。一控制器在讀取一非揮發式記憶體上一讀取目標時,調升該讀取目標所屬一計數統計單位的一讀取計數,並根據該讀取計數,決定是否搬移該計數統計單位的資料,以處理讀取干擾。該計數統計單位小於一跨通道管理單位;該控制器係根據該跨通道管理單位,設定允予經過該等通道對該非揮發式記憶體進行並行存取的空間。
Description
本案係有關於資料儲存裝置之讀取干擾解決方案。
非揮發式記憶體有多種形式─例如,快閃記憶體(flash memory)、磁阻式隨機存取記憶體(Magnetoresistive RAM)、鐵電隨機存取記憶體(Ferroelectric RAM)、電阻式隨機存取記憶體(Resistive RAM)、自旋轉移力矩隨機存取記憶體(Spin Transfer Torque-RAM, STT-RAM)…等,用於長時間資料保存,可做為儲存媒體實現一資料儲存裝置。
非揮發式記憶體通常有其特殊的儲存特性。本技術領域需要相應非揮發式記憶體的儲存特性發展相應的控制技術。例如,非揮發式記憶體儲存的資料可能因為反覆讀取而損壞,此現象稱讀取干擾。非揮發式記憶體之控制技術須對讀取干擾提出解決方案。
本案提出一種多通道非揮發式記憶體控制技術,以最佳化方式應付讀取干擾。
根據本案一種實施方式所實現的一資料儲存裝置包括一非揮發式記憶體、以及經複數條通道耦接該非揮發式記憶體的一控制器。該控制器讀取該非揮發式記憶體上一讀取目標時,調升該讀取目標所屬一計數統計單位的一讀取計數,並根據該讀取計數,決定是否搬移該計數統計單位的資料,以處理讀取干擾。該計數統計單位小於一跨通道管理單位,該控制器係根據該跨通道管理單位,設定允予經過該等通道對該非揮發式記憶體進行並行存取的空間。
一種實施方式中,該讀取計數高於一第一臨界值時,該控制器搬移該計數統計單位的資料。該讀取計數不高於該第一臨界值、但高於較該第一臨界值低的一第二臨界值時,該控制器可更參考該讀取目標的一比特差錯率,並在該比特差錯率高於一穩定度臨界值時,搬移該計數統計單位的資料。
一種實施方式中,該非揮發式記憶體包括一偽低階儲存單元區、以及一高階儲存單元區。該讀取目標落在該偽低階儲存單元區時,該控制器在該讀取計數高於一第三臨界值時,搬移該計數統計單位的資料。該讀取目標落在該高階儲存單元區時,該控制器在該讀取計數高於一第四臨界值時,搬移該計數統計單位的資料。該第三臨界值高於該第四臨界值。
該讀取目標落在該偽低階儲存單元區時,若該讀取計數不高於該第三臨界值、但高於較該第三臨界值低的一第五臨界值,該控制器可更參考該讀取目標的一比特差錯率,並在該比特差錯率高於一穩定度臨界值時,搬移該計數統計單位的資料。
該讀取目標落在該高階儲存單元區時,若該讀取計數不高於該第四臨界值、但高於較該第四臨界值低的一第六臨界值,該控制器更參考該讀取目標的該比特差錯率,並在該比特差錯率高於該穩定度臨界值時,搬移該計數統計單位的資料。該第五臨界值可高於該第六臨界值。
一種實施方式中,該非揮發式記憶體為快閃記憶體,具有NxM個晶粒,經N條通道供該控制器並行存取,各通道由M個晶粒共享,N以及M為數量。各跨通道管理單位為NxM個晶粒各自提供一區塊組成,尺寸為一超級區塊。區塊包括複數頁,且各讀取目標尺寸為一頁。
各計數統計單位可由同通道M個晶粒各自提供一區塊組成,尺寸為M個區塊。該控制器是將判定受讀取干擾的M個區塊之資料搬移到同通道的一備用計數統計單位,使所屬超級區塊不移動的其他(N-1)xM個區塊之資料,與該備用計數統計單位的M個區塊繼續組成一超級區塊。
各計數統計單位尺寸可即一區塊。該控制器是將判定受讀取干擾的一區塊之資料搬移到同晶粒的一備用區塊,使所屬超級區塊不移動的其他(NxM-1)個區塊之資料,與該備用區塊繼續組成一超級區塊。
各計數統計單位可由K條通道所存取之KxM個晶粒各自提供一區塊組成,尺寸為KxM個區塊。N為K的整數倍。該控制器是將判定受讀取干擾的KxM個區塊之資料搬移到同樣K條通道的一備用計數統計單位,使所屬超級區塊不移動的其他(N-K)xM個區塊之資料,與該備用計數統計單位的KxM個區塊繼續組成一超級區塊。
以上控制該非揮發式記憶體的控制器也可以由其他架構實現。本案更可以前述概念實現非揮發式記憶體的控制方法。
下文特舉實施例,並配合所附圖示,詳細說明本發明內容。
以下敘述列舉本發明的多種實施例。以下敘述介紹本發明的基本概念,且並非意圖限制本發明內容。實際發明範圍應依照申請專利範圍界定之。
非揮發式記憶體可以是快閃記憶體(Flash Memory)、磁阻式隨機存取記憶體(Magnetoresistive RAM)、鐵電隨機存取記憶體(Ferroelectric RAM)、電阻式記憶體(Resistive RAM,RRAM)、自旋轉移力矩隨機存取記憶體(Spin Transfer Torque-RAM, STT-RAM)…等,提供長時間資料保存之儲存媒體。以下特別以快閃記憶體為例進行討論,但所述技術也可使用在其他種類非揮發式記憶體上。
現今資料儲存裝置常以快閃記憶體為儲存媒體,實現記憶卡(Memory Card)、通用序列匯流排閃存裝置(USB Flash Device)、固態硬碟(SSD) …等產品。有一種應用是採多晶片封裝、將快閃記憶體與其控制器包裝在一起─稱為嵌入式快閃記憶體模組(如eMMC)。
以快閃記憶體為儲存媒體的資料儲存裝置可應用於多種電子裝置中。所述電子裝置包括智慧型手機、穿戴裝置、平板電腦、虛擬實境設備…等。電子裝置的運算模塊可視為主機(Host),操作所使用的資料儲存裝置,以存取其中快閃記憶體。
以快閃記憶體為儲存媒體的資料儲存裝置也可用於建構資料中心。例如,伺服器可操作固態硬碟(SSD)陣列形成資料中心。伺服器即可視為主機,操作所連結之固態硬碟,以存取其中快閃記憶體。
快閃記憶體有其特殊的儲存特性,以下敘述之。
主機(Host)端是以邏輯位址(例如,邏輯區塊位址LBA或全域主機頁編號GHP…等)來區別資料。至於資料實際儲存在快閃記憶體何處,則是以映射方式管理。
快閃記憶體之物理空間是劃分為複數個區塊(Blocks)配置使用。第1圖圖解快閃記憶體中區塊Blk之結構。
區塊Blk包括複數頁(Pages),例如,頁0…頁255。各頁包括複數個區段(Sectors),例如32個區段。每一區段可儲存512B長度的使用者資料;一頁可供應16KB儲存空間。
然而,為了提升數據吞吐量,本案使用的是一種多通道存取技術,使用複數個通道對複數個空間進行存取。一快閃記憶體可由複數個晶粒(dies)組成。該等晶粒可分為複數組,各組晶粒共用一條通道進行存取。一種實現方式是令同組晶粒輪替(interleaving)使用所共用的通道。
第2圖圖解根據本案一種實施方式所實現的多通道存取架構。主機202耦接一資料儲存裝置204,透過其中控制器206以多通道CH0…CH3並行存取快閃記憶體。如圖所示,各通道由兩個晶粒(稱晶粒0以及晶粒1)共用。晶片致能信號CE0致能所有通道CH0…CH3上的晶粒0。晶片致能信號CE1致能所有通道CH0…CH3上的晶粒1。晶片致能信號CE0、以及晶片致能信號CE1以輪替(interleaving)方式致能。經晶片致能信號CE0、CE1一次輪替而致能、使透過通道CH0…CH3存取的空間,視為並行存取。例如,所有晶粒可各有一頁(page)被一次並行存取,稱為超級頁(super page)。框線208所標示即一超級頁。框線210則標示一超級區塊(super block)。多通道技術可根據超級頁之編號─由低編號至高編號─循序使用一超級區塊的儲存空間。所述超級區塊即一跨通道管理單位。控制器206係根據該跨通道管理單位,設定允予經過該等通道CH0~CH3對晶粒0~晶粒3進行並行存取的空間。
一種實施方式中,控制器206動態管理超級區塊以及快閃記憶體之間的一映射表212。開卡之初,超級區塊是根據各晶粒的區塊編號配置。例如,各晶粒上,編號0的區塊集合形成編號0的超級區塊,編號1的區塊集合形成編號1的超級區塊…以此類推。初始的映射表212即紀錄如此循序映射的關係。
快閃記憶體儲存的資料會因為反覆讀取而不穩定,此現象稱讀取干擾。為了應付讀取干擾,本案提出一種讀取計數方案,監控哪些區域被頻繁讀取(例如,讀取計數大於一臨界值),在其中資料損毀前,及時複製到閒置區域。特別是,本案提出的讀取計數並非以超級區塊為計數統計單位,而是以小於超級區塊的空間為計數統計單位。如此一來,資料搬移無須整個超級區塊進行。單純搬移計數統計單位之內容,可減少同超級區塊其他空間無謂的資料搬移。特別是,資料搬移會造成原空間須抹寫(erase)釋出。快閃記憶體的壽命與儲存空間抹寫次數有關。過高的抹寫次數會導致物理性損壞。本案特殊的計數統計單位設計,可有效降低無謂資料搬移,延展快閃記憶體壽命。
一種實施方式中,計數統計單位以通道區別─為一超級區塊中,同通道的空間。以下以超級區塊210為例說明之。通道0上、晶粒0以及晶粒1提供的兩個區塊214、216配置一編號0讀取計數;發生在區塊214、216任一頁上的讀取,會使該編號0讀取計數增加1。通道1上、晶粒0以及晶粒1提供的兩個區塊218、220配置一編號1讀取計數;發生在區塊218、220任一頁上的讀取,會使該編號1讀取計數增加1。通道2上、晶粒0以及晶粒1提供的兩個區塊222、224配置一編號2讀取計數;發生在區塊222、224任一頁上的讀取,會使該編號2讀取計數增加1。通道3上、晶粒0以及晶粒1提供的兩個區塊226、228配置一編號3讀取計數;發生在區塊226、228任一頁上的讀取,會使該編號3讀取計數增加1。其他超級區塊也是依照如此原則配置讀取計數。控制器206將所有計數統計單位的讀取計數動態更新在一讀取計數表230中,以監控哪些空間被頻繁讀取。計數統計單位也可以是其他尺寸,後續討論之。
至於讀取計數的判讀,一種實施方式是設定兩個臨界值,以下說明之。
第3圖為流程圖,根據本案一種實施方式圖解讀取干擾的一種解決流程,其中使用到臨界值TH1以及TH2。臨界值TH1高於臨界值TH2。
步驟S302,隨著讀取操作,控制器206調整讀取目標所屬計數統計單位的讀取計數RdCnt。
步驟S304,控制器206判斷調整後的讀取計數RdCnt是否大於臨界值TH1。若是,流程進行步驟S306,控制器206將該計數統計單位的資料完整搬移到同通道的閒置空間。步驟S306中,控制器206會隨著資料搬移,更新映射表212,確保相關的超級區塊正確對應快閃記憶體物理空間。
若步驟S304判定讀取計數RdCnt未大於臨界值TH1,流程進行步驟S308,控制器206將讀取計數RdCnt與較低的臨界值TH2進行比對。若讀取計數RdCnt未超過臨界值TH2,流程回到步驟S302。
若步驟S308判定讀取計數RdCnt大於臨界值TH2,流程進行步驟S310,控制器206判斷讀取目標的比特差錯率(error bit rate)是否大於一臨界值TH_EB。若是,流程進行步驟S306,完成資料搬移以及映射表212更新。若否,流程回到步驟S302。
以下參考第2圖,舉例說明第3圖步驟。控制器206經通道0讀取區塊214的頁232時,會將監控區塊214以及216用的編號0讀取計數RdCnt#0增加1(步驟S302)。經步驟S304比對,若編號0讀取計數RdCnt#0大於臨界值TH1,控制器206將區塊214以及216的內容完整搬移到區塊234以及236,並調整映射表212,使原本對應到區塊214、216、218、220、222、224、226以及228的超級區塊,改成對應到區塊234、236、218、220、222、224、226以及228 (步驟S306)。若編號0讀取計數RdCnt#0未大於臨界值TH1,則更進行步驟S308比對。若編號0讀取計數RdCnt#0未大於臨界值TH1、但超過臨界值TH2,控制器206更檢查頁232讀取時所計算出的比特差錯率Err_Bit(步驟S310)。一種實施方式是利用錯誤校驗(ECC)技術所產生的比特差錯率。若頁232讀取的比特差錯率大於臨界值TH_EB,控制器206也會將區塊214以及216的內容完整搬移到安全區,並更新映射表212內容(步驟S306)。
整理之,藉由對讀取計數RdCnt設立兩階臨界值TH1、TH2門檻,本案可早期發現資料不穩定狀況。讀取目標所在之計數統計單位的讀取計數RdCnt即使尚未超過臨界值TH1,但只要超過臨界值TH2,控制器206就會觸發檢查讀取目標的比特差錯率,揪出不穩定資料,進行整個計數統計單位的資料搬移。
臨界值TH1、TH2設計也可有其他變形。
快閃記憶體可依照其單元儲存能力分成多種型號。SLC(Single Level Cell,單階儲存單元)快閃記憶體的儲存單元各自對應一個位元之資料。MLC(Multiple Level Cell,多階儲存單元)快閃記憶體的儲存單元各自對應兩個位元之資料。TLC(Triple Level Cell,三階儲存單元)快閃記憶體的儲存單元各自對應三個位元之資料。QLC(Quad Level Cell,四階儲存單元)快閃記憶體的儲存單元各自對應四個位元之資料。單階儲存單元SLC的邏輯分界較複數階儲存單元(MLC/TLC/QLC)明確;不僅可靠度較高、寫入速度也較快。複數階儲存單元(MLC/TLC/QLC)則是在儲存容量上有其優勢。
然而,成本考量下,目前市面上主流使用的是複數階儲存單元(MLC/TLC/QLC)快閃記憶體。單階儲存單元(SLC)的快閃記憶體相當昂貴。面對高準確度與高速需求,複數階儲存單元(MLC/TLC/QLC)快閃記憶體提供一種偽單階儲存單元(pseudo SLC,或p-SLC)操作模式,同樣提供高準確度、且可以高速操作,卻不像實在以單階儲存單元建構的快閃記憶體如此昂貴。
第4圖根據本案一種實施方式圖解一快閃記憶體400之空間規劃。快閃記憶體400採三階儲存單元(TLC)製程。每個晶粒局部固定用作偽單階儲存單元(p-SLC),其餘維持作三階儲存單元(TLC)。前述臨界值TH1、TH2相應不同儲存特性會有所調整。例如,前述臨界值TH1、TH2在偽單階儲存單元(p-SLC)區域中設定為TH1_pSLC、TH2_pSLC,在三階儲存單元(TLC)區域中設定為TH1_TLC、TH2_TLC。由於偽單階儲存單元(p-SLC)較三階儲存單元(TLC)穩定,故臨界值TH1_pSLC高於臨界值TH1_TLC,而臨界值TH2_pSLC高於臨界值TH2_TLC。一種實施方式中,臨界值TH1_pSLC為2百萬次,高於設為1.5百萬次的臨界值TH1_TLC;臨界值TH2_pSLC為1.5百萬次,高於設為1百萬次的臨界值TH2_TLC。
以下討論計數統計單位的其他尺寸。
一種實施方式中,計數統計單位為單一通道之單一晶粒的單一區塊。例如,對超級區塊210而言,八個區塊214、216、218、220、222、224、226、以及228各自對應一個讀取計數。依照讀取計數所判定的不穩定資料引發的資料搬移量為「區塊」,無不穩定頁的區塊無須搬移。
一種實施方式中,計數統計單位為部分通道所控制之晶粒提供的多區塊。例如,對超級區塊210而言,通道0以及通道1之四個區塊214、216、218以及220對應編號0讀取計數,而通道2以及通道3之四個區塊222、224、226、以及228對應編號1讀取計數。依照讀取計數所判定的不穩定資料引發的資料搬移量為「四個區塊」,無須將整個超級區塊所有內容都搬移。
其他非以「超級區塊」為計數統計單位的實施方式,也屬於本案技術範圍。通道數量並不限定為4。各通道不限定由兩個晶粒共享。
一種實施方式中,快閃記憶體是由有NxM個晶粒組成,經N條通道供控制器並行存取。各通道由M個晶粒共享。N以及M為數量。各跨通道管理單位為NxM個晶粒各自提供一區塊組成,尺寸為一超級區塊。區塊包括複數頁,且各讀取目標尺寸為一頁。
一種實施方式中,各計數統計單位可由同通道M個晶粒各自提供一區塊組成,尺寸為M個區塊。控制器是將判定受讀取干擾的M個區塊之資料搬移到同通道的一備用計數統計單位,使所屬超級區塊不移動的其他(N-1)xM個區塊之資料,與該備用計數統計單位的M個區塊繼續組成一超級區塊。
一種實施方式中,各計數統計單位尺寸可即一區塊。控制器是將判定受讀取干擾的一區塊之資料搬移到同晶粒的一備用區塊,使所屬超級區塊不移動的其他(NxM-1)個區塊之資料,與該備用區塊繼續組成一超級區塊。
一種實施方式中,各計數統計單位可由K條通道所存取之KxM個晶粒各自提供一區塊組成,尺寸為KxM個區塊。N為K的整數倍。控制器是將判定受讀取干擾的KxM個區塊之資料搬移到同樣K條通道的一備用計數統計單位,使所屬超級區塊不移動的其他(N-K)xM個區塊之資料,與該備用計數統計單位的KxM個區塊繼續組成一超級區塊。
前述技術可應用在其他型態的非揮發式記憶體(如,磁阻式隨機存取記憶體、鐵電隨機存取記憶體、電阻式隨機存取記憶體、自旋轉移力矩隨機存取記憶體…等)上。
根據本案技術實現的資料儲存裝置包括一非揮發式記憶體、以及經複數條通道耦接該非揮發式記憶體的一控制器。該控制器讀取該非揮發式記憶體上一讀取目標時,調升該讀取目標所屬一計數統計單位的一讀取計數,並根據該讀取計數,決定是否搬移該計數統計單位的資料,以處理讀取干擾。該計數統計單位小於一跨通道管理單位,該控制器係根據該跨通道管理單位,設定允予經過該等通道對該非揮發式記憶體進行並行存取的空間。
以上控制器對非揮發式記憶體之操作設計也可以由其他結構實現。凡是根據前述概念設計讀取操作之計數統計單位者,都屬於本案欲保護範圍。本案更可以前述概念實現非揮發式記憶體的控制方法。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何熟悉此項技藝者,在不脫離本發明之精神和範圍內,當可做些許更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
Blk:區塊
202:主機
204:資料儲存裝置
206:控制器
208:超級頁
210:超級區塊
212:超級區塊-快閃記憶體映射表
214、216、218、220、222、224、226、228、234以及236:區塊
230:讀取計數表
232:頁
400:快閃記憶體
CH0、CH1、CH2、CH3:通道
CE0、CE1:晶片致能信號
S302:步驟,隨著讀取操作調整讀取目標所屬計數統計單位的讀取計數RdCnt
S304:步驟,判斷RdCnt是否大於TH1
S306:步驟,將該計數統計單位的資料完整搬移到同通道的閒置空間,並隨之更新映射表212
S308:步驟,判斷RdCnt是否大於TH2
S310:步驟,判斷Err_Bit是否大於TH_EB
第1圖圖解快閃記憶體中區塊Blk之結構;
第2圖圖解根據本案一種實施方式所實現的多通道存取架構;
第3圖為流程圖,根據本案一種實施方式圖解讀取干擾的一種解決流程;以及
第4圖根據本案一種實施方式圖解一快閃記憶體400之空間規劃。
S302:步驟,隨著讀取操作調整讀取目標所屬計數統計單位的讀取計數RdCnt
S304:步驟,判斷RdCnt是否大於TH1
S306:步驟,將該計數統計單位的資料完整搬移到同通道的閒置空間,並隨之更新映射表212
S308:步驟,判斷RdCnt是否大於TH2
S310:步驟,判斷Err_Bit是否大於TH_EB
Claims (16)
- 一種資料儲存裝置,包括:一非揮發式記憶體;以及一控制器,經複數條通道耦接該非揮發式記憶體,其中:該控制器讀取該非揮發式記憶體上一讀取目標時,調升該讀取目標所屬一計數統計單位的一讀取計數,並根據該讀取計數,決定是否搬移該計數統計單位的資料,以處理讀取干擾;該計數統計單位小於一跨通道管理單位,該控制器係根據該跨通道管理單位,設定允予經過該等通道對該非揮發式記憶體進行並行存取的空間;該非揮發式記憶體包括一偽低階儲存單元區、以及一高階儲存單元區;該讀取目標落在該偽低階儲存單元區時,該控制器在該讀取計數高於一第三臨界值時,搬移該計數統計單位的資料;該讀取目標落在該高階儲存單元區時,該控制器在該讀取計數高於一第四臨界值時,搬移該計數統計單位的資料;且該第三臨界值高於該第四臨界值。
- 如請求項1之資料儲存裝置,其中:該讀取目標落在該偽低階儲存單元區時,若該讀取計數不高於該第三臨界值、但高於較該第三臨界值低的一第五臨界值,該 控制器更參考該讀取目標的一比特差錯率,並在該比特差錯率高於一穩定度臨界值時,搬移該計數統計單位的資料。
- 如請求項2之資料儲存裝置,其中:該讀取目標落在該高階儲存單元區時,若該讀取計數不高於該第四臨界值、但高於較該第四臨界值低的一第六臨界值,該控制器更參考該讀取目標的該比特差錯率,並在該比特差錯率高於該穩定度臨界值時,搬移該計數統計單位的資料。
- 如請求項3之資料儲存裝置,其中:該第五臨界值高於該第六臨界值。
- 如請求項1之資料儲存裝置,其中:該非揮發式記憶體為快閃記憶體,具有NxM個晶粒,經N條通道供該控制器並行存取,各通道由M個晶粒共享,N以及M為整數,代表數量;該跨通道管理單位為該NxM個晶粒各自提供一區塊組成,尺寸為具NxM個區塊的一超級區塊;且各區塊包括複數頁,且該讀取目標尺寸為一頁。
- 如請求項5之資料儲存裝置,其中:該計數統計單位由同通道M個晶粒各自提供一區塊組成,尺寸為M個區塊;且該控制器是將判定搬移的該計數統計單位的M個區塊之資料搬移到同通道具有M個區塊的一備用計數統計單位,使所屬超級 區塊不移動的其他(N-1)xM個區塊之資料,與該備用計數統計單位的M個區塊繼續組成一超級區塊。
- 如請求項5之資料儲存裝置,其中:該計數統計單位尺寸即一個區塊;且該控制器是將判定搬移的該計數統計單位的一個區塊之資料搬移到同晶粒的一備用區塊,使所屬超級區塊不移動的其他(NxM-1)個區塊之資料,與該備用區塊繼續組成一超級區塊。
- 如請求項5之資料儲存裝置,其中:該計數統計單位由該N條通道中的K條通道所存取之KxM個晶粒各自提供一區塊組成,尺寸為KxM個區塊,N為K的整數倍;且該控制器是將判定搬移的該計數統計單位的KxM個區塊之資料搬移到同樣K條通道中具有KxM個區塊的一備用計數統計單位,使所屬超級區塊不移動的其他(N-K)xM個區塊之資料,與該備用計數統計單位的KxM個區塊繼續組成一超級區塊。
- 一種非揮發式記憶體控制方法,包括:提供複數條通道耦接該非揮發式記憶體;在讀取該非揮發式記憶體上一讀取目標時,調升該讀取目標所屬一計數統計單位的一讀取計數,且根據該讀取計數,決定是否搬移該計數統計單位的資料,以處理讀取干擾; 在該讀取目標落在該非揮發式記憶體的一偽低階儲存單元區時,比對該讀取計數以及一第三臨界值,於該讀取計數高於該第三臨界值時,搬移該計數統計單位的資料;且在該讀取目標落在該非揮發式記憶體的一高階儲存單元區時,比對該讀取計數以及一第四臨界值,於該讀取計數高於該第四臨界值時,搬移該計數統計單位的資料,其中,該第三臨界值高於該第四臨界值;其中,該計數統計單位小於一跨通道管理單位,該跨通道管理單位係用於設定允予經過該等通道對該非揮發式記憶體進行並行存取的空間。
- 如請求項9之非揮發式記憶體控制方法,更包括:在該讀取目標落在該偽低階儲存單元區時,若該讀取計數不高於該第三臨界值、但高於較該第三臨界值低的一第五臨界值,參考該讀取目標的一比特差錯率,在該比特差錯率高於一穩定度臨界值時,搬移該計數統計單位的資料。
- 如請求項10之非揮發式記憶體控制方法,更包括:在該讀取目標落在該高階儲存單元區時,若該讀取計數不高於該第四臨界值、但高於較該第四臨界值低的一第六臨界值,參考該讀取目標的該比特差錯率,並在該比特差錯率高於該穩定度臨界值時,搬移該計數統計單位的資料。
- 如請求項11之非揮發式記憶體控制方法,其中: 該第五臨界值高於該第六臨界值。
- 如請求項9之非揮發式記憶體控制方法,其中:該非揮發式記憶體為快閃記憶體,具有NxM個晶粒,經N條通道進行並行存取,各通道由M個晶粒共享,N以及M為整數,代表數量;該跨通道管理單位為該NxM個晶粒各自提供一區塊組成,尺寸為具NxM個區塊的一超級區塊;且各區塊包括複數頁,且該讀取目標尺寸為一頁。
- 如請求項13之非揮發式記憶體控制方法,其中:該計數統計單位由同通道M個晶粒各自提供一區塊組成,尺寸為M個區塊;且判定搬移的該計數統計單位的M個區塊之資料係搬移到同通道具有M個區塊的一備用計數統計單位,使所屬超級區塊不移動的其他(N-1)xM個區塊之資料,與該備用計數統計單位的M個區塊繼續組成一超級區塊。
- 如請求項13之非揮發式記憶體控制方法,其中:該計數統計單位尺寸即一個區塊;且判定搬移的該計數統計單位的一個區塊之資料係搬移到同晶粒的一備用區塊,使所屬超級區塊不移動的其他(NxM-1)個區塊之資料,與該備用區塊繼續組成一超級區塊。
- 如請求項13之非揮發式記憶體控制方法,其中: 該計數統計單位由該N條通道中的K條通道所存取之KxM個晶粒各自提供一區塊組成,尺寸為KxM個區塊,N為K的整數倍;且判定搬移的該計數統計單位的KxM個區塊之資料係搬移到同樣K條通道中具有KxM個區塊的一備用計數統計單位,使所屬超級區塊不移動的其他(N-K)xM個區塊之資料,與該備用計數統計單位的KxM個區塊繼續組成一超級區塊。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW110106464A TWI767584B (zh) | 2021-02-24 | 2021-02-24 | 資料儲存裝置以及非揮發式記憶體控制方法 |
CN202110417360.1A CN114968074A (zh) | 2021-02-24 | 2021-04-19 | 数据储存装置以及非挥发式存储器控制方法 |
US17/648,679 US11875058B2 (en) | 2021-02-24 | 2022-01-24 | Data storage device and non-volatile memory control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW110106464A TWI767584B (zh) | 2021-02-24 | 2021-02-24 | 資料儲存裝置以及非揮發式記憶體控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI767584B true TWI767584B (zh) | 2022-06-11 |
TW202234397A TW202234397A (zh) | 2022-09-01 |
Family
ID=82899658
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110106464A TWI767584B (zh) | 2021-02-24 | 2021-02-24 | 資料儲存裝置以及非揮發式記憶體控制方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11875058B2 (zh) |
CN (1) | CN114968074A (zh) |
TW (1) | TWI767584B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160225461A1 (en) * | 2015-01-30 | 2016-08-04 | Sandisk Technologies Inc. | Memory System and Method for Reducing Read Disturb Errors |
TW201732822A (zh) * | 2016-03-09 | 2017-09-16 | 群聯電子股份有限公司 | 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 |
US20190325970A1 (en) * | 2009-11-06 | 2019-10-24 | Toshiba Memory Corporation | Memory system performing read of nonvolatile semiconductor memory device |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BE791917A (fr) * | 1971-11-25 | 1973-03-16 | Post Office | Perfectionnements aux systemes de telecommunication multiplex adivisiondans le temps |
KR102007929B1 (ko) * | 2011-11-02 | 2019-08-07 | 에스케이플래닛 주식회사 | 보안 정보 관리를 지원하는 단말기 및 단말기 운용 방법 |
US10714195B2 (en) * | 2017-08-31 | 2020-07-14 | SK Hynix Inc. | Read disturb detection and recovery with adaptive thresholding for 3-D NAND storage |
KR20190113437A (ko) * | 2018-03-28 | 2019-10-08 | 에스케이하이닉스 주식회사 | 메모리 시스템, 그것의 동작방법 및 메모리 시스템을 포함하는 컴퓨팅 시스템 |
-
2021
- 2021-02-24 TW TW110106464A patent/TWI767584B/zh active
- 2021-04-19 CN CN202110417360.1A patent/CN114968074A/zh active Pending
-
2022
- 2022-01-24 US US17/648,679 patent/US11875058B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190325970A1 (en) * | 2009-11-06 | 2019-10-24 | Toshiba Memory Corporation | Memory system performing read of nonvolatile semiconductor memory device |
US20160225461A1 (en) * | 2015-01-30 | 2016-08-04 | Sandisk Technologies Inc. | Memory System and Method for Reducing Read Disturb Errors |
TW201732822A (zh) * | 2016-03-09 | 2017-09-16 | 群聯電子股份有限公司 | 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 |
Also Published As
Publication number | Publication date |
---|---|
TW202234397A (zh) | 2022-09-01 |
US20220269443A1 (en) | 2022-08-25 |
CN114968074A (zh) | 2022-08-30 |
US11875058B2 (en) | 2024-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12094545B2 (en) | Techniques for preventing read disturb in NAND memory | |
US10566048B2 (en) | Managing refresh operations for a memory device | |
US11586357B2 (en) | Memory management | |
US20190272881A1 (en) | Methods of error-based read disturb mitigation and memory devices utilizing the same | |
US8417879B2 (en) | Method for suppressing errors, and associated memory device and controller thereof | |
US11126369B1 (en) | Data storage with improved suspend resume performance | |
US20210407600A1 (en) | Memory device error detection with improved scanning | |
US11640259B2 (en) | Use of surplus erase block pairs in super block formation | |
KR102661778B1 (ko) | 메모리 서브-블록을 정의하기 위한 시스템 및 방법 | |
CN112542201B (zh) | 存储设备及操作该存储设备的方法 | |
TW201905711A (zh) | 資料儲存裝置及非揮發式記憶體操作方法 | |
US11721402B2 (en) | Method and system for improving word line data retention for memory blocks | |
TWI648739B (zh) | 記憶體管理方法與儲存控制器 | |
US11200161B2 (en) | Keeping zones open with intermediate padding | |
US20230036616A1 (en) | Storage devices and operating methods of storage controllers | |
US11960741B2 (en) | Implied streams | |
TWI767584B (zh) | 資料儲存裝置以及非揮發式記憶體控制方法 | |
CN111309642A (zh) | 一种存储器及其控制方法与存储系统 | |
US11842062B2 (en) | Method of handling irregular MetaBlock wear leveling and UGSD boot time improvement | |
US20230073148A1 (en) | Storage device | |
US20240143552A1 (en) | Defrag levels to reduce data loss | |
TW202429460A (zh) | Nand記憶體的基於虛擬資料的讀取參考電壓搜索 |