TWI696915B - 提高重建效率的記憶體系統和操作方法 - Google Patents
提高重建效率的記憶體系統和操作方法 Download PDFInfo
- Publication number
- TWI696915B TWI696915B TW105115833A TW105115833A TWI696915B TW I696915 B TWI696915 B TW I696915B TW 105115833 A TW105115833 A TW 105115833A TW 105115833 A TW105115833 A TW 105115833A TW I696915 B TWI696915 B TW I696915B
- Authority
- TW
- Taiwan
- Prior art keywords
- section
- bitmap
- lba table
- lba
- memory
- Prior art date
Links
- 230000015654 memory Effects 0.000 title claims description 112
- 238000011017 operating method Methods 0.000 title 1
- 238000000034 method Methods 0.000 claims abstract description 31
- 238000010586 diagram Methods 0.000 description 16
- 210000004027 cell Anatomy 0.000 description 10
- 230000008569 process Effects 0.000 description 8
- 238000012937 correction Methods 0.000 description 7
- 239000003990 capacitor Substances 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 239000004065 semiconductor Substances 0.000 description 5
- 238000013500 data storage Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 239000007787 solid Substances 0.000 description 4
- 210000000352 storage cell Anatomy 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012005 ligant binding assay Methods 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Images
Classifications
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/122—Replacement control using replacement algorithms of the least frequently used [LFU] type, e.g. with individual count value
-
- 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
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/30—Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
-
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/123—Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
-
- 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- 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
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)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本發明提供一種方法,其可以包括:在斷電後,確定邏輯區塊定址(LBA)表的最多最近保存區段、LBA表的最多最近保存區段之前保存的先前區段以及LBA表的最少最近保存區段,讀取開放超級區塊並且從最多最近保存區段至最少最近保存區段更新LBA表中的條目,讀取複數個封閉超級區塊中最新的封閉超級區塊並且從最多最近保存區段之前保存的先前區段至最少最近保存區段更新LBA表中的條目,以及讀取最舊的超級區塊並且更新最少最近保存區段中的LBA表的條目。
Description
本申請要求於2016年3月28日提交的申請號為15/082,990的美國專利申請的權益,其全部內容通過引用併入本文。
本發明揭露的示例性實施例關於一種記憶體系統及其操作方法。
電腦環境典範已經轉變為能夠隨時隨地使用的普遍計算系統。由此,諸如行動電話、數位相機以及筆記型電腦的可擕式電子裝置的使用一直快速地增加。這些可擕式電子裝置通常使用具有記憶體裝置即資料儲存裝置的記憶體系統。資料儲存裝置用作可擕式電子裝置的主記憶體裝置或者次要存放裝置。
由於使用記憶體裝置的資料儲存裝置不具有活動部件,所以它們提供優良的穩定性、持久性、高資訊存取速度以及低功耗。具有這樣的優點的資料儲存裝置的示例包括通用序列匯流排(USB)記憶體裝置、具有各種介面的記憶卡以及固態硬碟(SSD)。
本發明包括記憶體系統。該系統可以包括:記憶體裝置,其包括複數個封閉超級區塊和開放超級區塊;邏輯區塊定址(LBA)表,其包括複數個區段;以及控制器,其適用於:在斷電後,確定LBA表的最多最近保存區段、LBA表的最多最近保存區段之前保存的先前區段以及LBA表的最少最近保存區段,讀取開放超級區塊並且更新LBA表中從最多最近保存區段至最少最近保存區段的條目,讀取複數個超級區塊中最新的封閉超級區塊並且更新LBA表中從最多最近保存區段之前保存的先前區段至至少最近保存區段的條目,以及讀取最舊的超級區塊並且更新最少最近保存區段中的LBA表中的條目。
本發明進一步包括方法。該方法可以包括:在斷電後,確定邏輯區塊定址(LBA)表的最多最近保存區段、LBA表的最多最近保存區段之前保存的先前區段以及LBA表的最少最近保存區段;讀取開放超級區塊並且更新LBA表中從最多最近保存區段至最少最近保存區段的條目;讀取複數個封閉超級區塊中最新的封閉超級區塊,並且更新LBA表中從最多最近保存區段之前保存的先前區段至最少最近保存區段的條目;以及讀取最舊的超級區塊,並且更新最少最近保存區段中的LBA表中的條目。
10:記憶體系統
50:系統
60:流程圖
80:流程圖
100:記憶體控制器
110:儲存單元
120:控制單元
130:錯誤更正碼(ECC)單元
140:主機介面
150:記憶體介面
160:匯流排
200:記憶體裝置
210:儲存單元陣列
211:儲存區塊
220:控制電路
221:單元字串
230:電壓生成電路
240:行解碼器
250:頁面緩衝器
260:列解碼器
270:輸入/輸出電路
410:邏輯區塊定址(LBA)表
420:資訊儲存單元
430:重建單元
440:垃圾收集(GC)單元
500:DRAM
502:記憶體
510:LBA表
530:用於主機寫入的開放區塊
540:用於垃圾收集(GC)的開放區塊
550:DRAM點陣圖儲存裝置
560:記憶體點陣圖儲存裝置
570:斷電電容器
600:區塊
602:步驟
604:步驟
606:步驟
700:LBA表
702:記憶體陣列
704:斷電
800:步驟
802:步驟
804:步驟
806:步驟
808:步驟
900:點陣圖
1000:LBA表
1002:點陣圖緩衝區
1004:斷電
ADDR:位址
BL0-BLm-1:位元線
CMD:命令
CTRL:控制信號
DATA:資料
DSL:汲極選擇線
DST:汲極選擇電晶體
MC0-MCn-1:儲存單元
MP:元頁面
PWR:電力
SSL:源極選擇線
SST:源極選擇電晶體
WL0-WLn-1:字元線
〔圖1〕圖1是示意地示出根據本發明的實施例的記憶體系統的方塊圖。
〔圖2〕圖2是示出根據本發明的實施例的記憶體系統的方塊圖。
〔圖3〕圖3是示出根據本發明的實施例的記憶體裝置的儲存區塊的電路圖。
〔圖4〕圖4是示出根據本發明的實施例的記憶體控制器的控制單元的簡圖。
〔圖5〕圖5是根據本發明的記憶體系統的簡圖。
〔圖6〕圖6是根據本發明用於重建LBA表的方法的步驟流程圖。
〔圖7〕圖7是示出根據本發明的LBA表和記憶體陣列的簡圖。
〔圖8〕圖8是根據本發明使用點陣圖重建LBA表的方法的步驟流程圖。
〔圖9〕圖9是根據本發明的點陣圖的簡圖。
〔圖10〕圖10是根據本發明的LBA表和點陣圖緩衝區的簡圖。
以下將參考圖式更加詳細地描述各種實施例。然而,本發明可以不同的形式呈現且不應被解釋為限於在本文中提出的實施例。而是,這些實施例被提供使得本發明之揭露將是徹底且完整的,並且將向本領域技術人員充分地傳達本發明的範圍。在本發明之整體揭露中,相似的元件符號在本發明的各種圖式和實施例中是指相似部件。
本發明能夠以多種方式實現,包括作為製程、設備、系統、物質的組成物、在電腦可讀取及儲存介質上呈現的電腦程式產品和/或處理器,諸如適用於執行儲存在連接至處理器的記憶體上和/或由連接至處理器的記憶體提供的指令的處理器。在本說明書中,本發明可以採取的這些實施例或任意其它形式可以稱作技術。一般來說,揭露的程序的步驟順序可以在本發明的範圍內變動。除非另有說明,否則描述為適用於執行任務的諸如處理器或者記憶體的元件可以被實施為暫時地適用於在給定時間執行任務的萬用群組件或被製造成執行該
任務的特定組件。如在本文中使用的,用語“處理器”是指適用於處理諸如電腦程式指令的資料的一個以上裝置、電路和/或處理核心。
以下連同說明本發明的原理的圖式一起提供本發明的一個以上實施例的詳細說明。結合這些實施例來描述本發明,但本發明不限於任何實施例。本發明的範圍僅由申請專利範圍限定,並且本發明包括複數個變型例、修改例和等同例。在下列說明中,陳述了許多具體細節,以提供對於本發明的透徹理解。以示例的目的提供這些細節,並且可以根據申請專利範圍而在沒有這些具體細節中的一部分或全部的情況下實施本發明。為了清楚的目的,不再詳細描述與本發明相關的技術領域中已知的技術材料,以使本發明不會被不必要地模糊。
圖1是示意地示出根據本發明的實施例的記憶體系統10的方塊圖。
參考圖1,記憶體系統10可以包括記憶體控制器100和記憶體裝置200。
記憶體控制器100可以控制記憶體裝置200的全部操作。
記憶體裝置200可以在記憶體控制器100的控制下執行一個以上的抹除、程式設計、和讀取操作。記憶體裝置200可以通過輸入/輸出線接收命令CMD、位址ADDR和資料DATA。記憶體裝置200可以通過電源線接收電力PWR並且通過控制線接收控制信號CTRL。控制信號可以包括指令鎖存使能(CLE)信號、位址鎖存使能(ALE)信號、晶片使能(CE)信號、寫入使能(WE)信號、讀取使能(RE)信號等。
記憶體控制器100和記憶體裝置200可以集成在單個半導體裝置中。例如,記憶體控制器100和記憶體裝置200可以集成在諸如固態硬碟(SSD)
的單個半導體裝置中。固態硬碟可以包括其中儲存資料的儲存裝置。當半導體記憶體系統10用在SSD中時,連接至記憶體系統10的主機(未示出)的操作速度可以顯著地改善。
記憶體控制器100和記憶體裝置200可以集成在諸如記憶卡的單個半導體裝置中。例如,記憶體控制器100和記憶體裝置200可以集成在單個半導體裝置中以配置諸如以下的記憶卡:個人電腦記憶卡國際聯合會(PCMCIA)的PC卡、標準快閃記憶體(CF)卡、智慧媒體(SM)卡、記憶棒、多媒體卡(MMC)、減小尺寸的多媒體卡(RS-MMC)、MMC的微型版本(微型MMC)、安全數位(SD)卡、微型安全數位(迷你SD)卡、微型安全數位(微型SD)卡、安全數位高容量(SDHC)和通用快閃記憶體(UFS)。
作為另一個示例,記憶體系統10可以設置為諸如以下的包括電子裝置的各種元件中的一種:電腦、超便攜移動PC(UMPC)、工作站、上網本電腦、個人數位助理(PDA)、可擕式電腦、網路平板PC、無線電話、行動電話、智慧型電話、電子書閱讀器、可擕式多媒體播放機(PMP)、可擕式遊戲裝置、導航設備、黑匣子、數碼相機、數位多媒體廣播(DMB)播放機、3-維電視、智慧電視、數位音訊記錄器、數位音訊播放機、數位圖像記錄器、數位圖像播放機、數位視訊記錄器、數位視訊播放機、資料中心的儲存裝置、能夠在無線環境中接收和傳輸資訊的裝置、家用網路的電子裝置中的一種、電腦網路的電子裝置中的一種、遠端資訊處理網路的電子裝置中的一種、射頻識別(RFID)裝置或計算系統的元件裝置。
圖2是示出根據本發明的實施例的記憶體系統的詳細方塊圖。例如,圖2的記憶體系統可以描述圖1中所示的記憶體系統10。
參考圖2,記憶體系統10可以包括記憶體控制器100和記憶體裝置200。記憶體系統10可以回應於來自主機裝置的請求而操作,並且具體地,儲存將被主機裝置存取的資料。
主機裝置可以利用各種電子裝置中的任一種來實現。在一些實施例中,主機裝置可以包括電子裝置,諸如桌上型電腦、工作站、三維(3D)電視、智慧電視、數位音訊記錄器、數位音訊播放機、數位圖像記錄器、數位圖像播放機、數位視訊記錄器和數位視訊播放機。在一些實施例中,主機裝置可以包括可擕式電子裝置,諸如行動電話、智慧型電話、電子書、MP3播放機、可擕式多媒體播放機(PMP)和可擕式遊戲機。
記憶體裝置200可以儲存將被主機裝置存取的資料。
記憶體裝置200可以由諸如動態隨機存取記憶體(DRAM)和靜態隨機存取記憶體(SRAM)的揮發性記憶體裝置或諸如唯讀記憶體(ROM)、遮罩ROM(MROM)、可程式化ROM(PROM)、可抹除程式化ROM(EPROM)、電子式可抹除程式化ROM(EEPROM)、鐵電隨機存取記憶體(FRAM)、相變化RAM(PRAM)、磁阻式RAM(MRAM)和電阻式RAM(RRAM)的非揮發性記憶體裝置來實現。
控制器100可以控制資料在記憶體裝置200中的儲存。例如,控制器100可以回應於來自主機裝置的請求而控制記憶體裝置200。控制器100可以向主機裝置提供從記憶體裝置200讀取的資料,並且將主機裝置提供的資料儲存至記憶體裝置200中。
控制器100可以包括通過匯流排160連接的儲存單元110、控制單元120、錯誤更正碼(ECC)單元130、主機介面140和記憶體介面150。
儲存單元110可以用作記憶體系統10和控制器100的工作記憶體,並且儲存用於驅動記憶體系統10和控制器100的資料。當控制器100控制記憶體裝置200的操作時,儲存單元110可以儲存控制器100和記憶體裝置200用於諸如讀取、寫入、程式設計和抹除操作的資料。
儲存單元110可以利用揮發性記憶體來實現。儲存單元110可以利用靜態隨機存取記憶體(SRAM)或動態隨機存取記憶體(DRAM)來實現。如上所說,儲存單元110可在記憶體裝置200中儲存被主機裝置用於讀取和寫入操作的資料。為了儲存資料,儲存單元110可包括程式記憶體、資料記憶體、寫入緩衝器、讀取緩衝器、映射緩衝器(map buffer)等。
控制單元120可以控制記憶體系統10的一般操作,並且可以回應於來自主機裝置的寫入請求或讀取請求控制記憶體裝置200的寫入操作或讀取操作。控制單元120可以驅動稱作快閃記憶體轉換層(FTL)的固件以控制記憶體系統10的一般操作。例如,FTL可以執行諸如邏輯到物理(L2P)映射、損耗平衡、垃圾收集和壞區塊處理的操作。L2P映射被稱為邏輯區塊定址(LBA)。
ECC單元130可以檢測和更正讀取操作期間從記憶體裝置200讀取的資料中的錯誤。當錯誤位元的數量大於或等於可更正錯誤位元的閾值數量時,ECC單元130可以不更正錯誤位元,並且可以輸出表示更正錯誤位元失敗的錯誤更正失敗信號。
在一些實施例中,ECC單元130可以基於諸如以下的編碼調製執行錯誤更正操作:低密度奇偶檢查(LDPC)碼、博斯-查德胡裡-霍昆格姆(BCH)碼、turbo碼、turbo乘積碼(TPC)、裡德-所羅門(RS)碼、卷積碼、遞迴系統碼(RSC)、網格編碼調製(TCM)、分組編碼調製(BCM)等等。ECC單元130
可以包括用於錯誤更正操作的所有的電路、系統或裝置。
主機介面140可通過諸如以下的各種介面協定中的一個以上與主機裝置通信:通用序列匯流排(USB)、多媒體卡(MMC)、外設部件互連高速(PCI-E)、小型電腦系統介面(SCSI)、串列SCSI(SAS)、串列高級技術附件(SATA)、並行高級技術附件(PATA)、增強型小型磁片介面(ESDI)和集成驅動電路(IDE)。
記憶體介面150可提供控制器100和記憶體裝置200之間的介面以允許控制器100回應於來自主機裝置的請求控制記憶體裝置200。記憶體介面150可以在CPU 120的控制下生成用於記憶體裝置200的控制信號並處理資料。當記憶體裝置200為諸如NAND快閃記憶體的快閃記憶體時,記憶體介面150可以在CPU 120的控制下生成用於記憶體的控制信號並處理資料。
記憶體裝置200可以包括儲存單元陣列210、控制電路220、電壓生成電路230、行解碼器240、頁面緩衝器(PB)250、列解碼器260和輸入/輸出電路270。儲存單元陣列210可以包括複數個儲存區塊211,並且可以在其中儲存資料。電壓生成電路230、行解碼器240、頁面緩衝器250、列解碼器260和輸入/輸出電路270形成儲存單元陣列210的週邊電路。週邊電路可以執行儲存單元陣列210的程式設計、讀取或者抹除操作。控制電路220可以控制週邊電路。
電壓生成電路230可以生成各種電平的操作電壓。例如,在抹除操作中,電壓生成電路230可以生成諸如抹除電壓和過電壓的具有各種電平的操作電壓。
行解碼器240可以連接到電壓生成電路230和複數個儲存區塊
211。行解碼器240可以響應於控制電路220生成的行位址RADD選擇複數個儲存區塊211中的至少一個儲存區塊,並且將電壓生成電路230供應的操作電壓傳輸至複數個儲存區塊211中選定的儲存區塊。
頁面緩衝器250通過位元線BL(未示出)連接到儲存單元陣列210。頁面緩衝器250可以回應於控制電路220生成的頁面緩衝器控制信號利用正電壓預先充電位元線BL、在程式設計和讀取操作中向選定的儲存區塊傳輸資料/從選定的儲存區塊接收資料或者暫時地儲存傳輸的資料。
列解碼器260可向頁面緩衝器250傳輸資料/從頁面緩衝器250接收資料或者向輸出電路270傳輸資料/從輸入電路270接收資料。
輸入/輸出電路270可以通過輸入/輸出電路270向控制電路220傳輸從外部裝置(例如,記憶體控制器100)傳輸的命令和位址、向列解碼器260傳輸來自外部裝置的資料或者向外部裝置輸出來自列解碼器260的資料。
控制電路220可以響應於命令和位址以控制週邊電路。
圖3是示出根據本發明的實施例的記憶體裝置的儲存區塊的電路圖。例如,圖3的儲存區塊可以是圖2所示的記憶體裝置200的儲存區塊211。
參考圖3,行解碼器240藉由字元線WL0-WLn-1耦接儲存區塊211,其中DSL係指汲極選擇線,SSL係指源極選擇線,以及CSL係指共源線。儲存區塊211可以包括分別地連接至位元線BL0-BLm-1的複數個單元字串221。每個列的單元字串可以包括一個以上汲極選擇電晶體DST和一個以上源極選擇電晶體SST。複數個儲存單元或者儲存單元電晶體可以串聯在選擇電晶體DST和SST之間。儲存單元MC0-MCn-1中的每個可以由在每個單元中儲存多位數據資訊的多層單元(MLC)形成。單元字串221可以分別地電連接至對應的位
元線BL0-BLm-1。
在一些實施例中,儲存區塊211可以包括NAND型快閃儲存單元。然而,儲存區塊211不限於NAND快閃記憶體,而是可以包括NOR型快閃記憶體、其中兩種以上類型的儲存單元組合的混合快閃記憶體和其中控制器內置在記憶體晶片中的1-NAND快閃記憶體。
圖4是示出根據本發明的實施例的記憶體控制器的控制單元的簡圖。例如,圖4的控制單元可以描述圖2中的控制器100的控制單元120。
參考圖4,控制器100的控制單元120可以通過介面(例如,圖2的記憶體介面150)連接至包括複數個超級區塊的記憶體裝置200。
控制單元120可以包括邏輯區塊定址(LBA)表410、資訊儲存單元420、重建單元430和垃圾收集(GC)單元440。LBA表410可以是從邏輯區塊位址(LBA)到為快閃記憶體轉換層(FTL)的一部分的物理位址的映射表。重建單元430可以被配置為基於SPOR期間的資訊重建LBA表410。GC單元440可以在SPOR期間執行任何需要的垃圾收集操作。應注意,圖4僅示出控制單元120包括用於SPOR相關操作的元件。
不同於硬碟,諸如快閃記憶體的記憶體裝置的“寫入前抹除”限制要求系統軟體的稱為快閃記憶體轉換層(FTL)的特定層模擬用於反向相容性的區塊裝置介面。檔案系統和應用可以像使用硬碟一樣地使用快閃記憶體。稱作邏輯區塊定址(LBA)的邏輯到物理(L2P)映射系統是FTL的部分。
由於FTL或者LBA的表(以下稱為LBA表)可以儲存在為揮發性記憶體的動態隨機存取記憶體(DRAM)中,當發生突然斷電時,LBA表將丟失,導致資料丟失。為防止資料丟失,當通電時,固件必須能夠重建最新的
表。頻繁地向記憶體裝置(例如,NAND快閃記憶體)寫入LBA表將導致顯著的寫入性能退化。為了限制性能退化,如何執行快速的突然斷電恢復(SPOR)是重要且困難的任務。
本文揭露的實施例和示例改善記憶體系統(例如固態硬碟(SSD))的性能,並且尤其改善了整體的SPOR時間(例如,減少突然斷電後記憶體系統電力恢復和主機能夠開始向記憶體系統寫入之間的時間量)。
SPOR過程期間,執行邏輯區塊位址(LBA)表的重建和任何需要的垃圾收集(GC)兩者。本文揭露的實施例包括減少在通電時需要從記憶體裝置(例如,NAND快閃記憶體)讀取的超級區塊的數量並促進垃圾收集性能的方法、系統、過程和裝置。
接下來參考圖5,示出系統50的簡圖。系統50包括DRAM 500和記憶體502。DRAM 500包括LBA表510、DRAM點陣圖儲存裝置550和斷電電容器570。在本文描述的示例中,LBA表510可以容納在揮發性記憶體(例如,DRAM)上,使得在突然斷電時,LBA表510要求重建。DRAM點陣圖儲存裝置550可以構造為用於儲存對應於儲存在記憶體502上的每個超級區塊的點陣圖。斷電電容器570被構造為儲存足夠的電力,使得在斷電時,有充分的時間向記憶體502的記憶體點陣圖儲存裝置560轉移DRAM點陣圖儲存裝置的內容(和/或其它的操作)。
在其它元件中,記憶體502包括:當封閉時每個超級區塊可以包括元頁面(meta-page)MP的複數個超級區塊、用於主機寫入的開放區塊530、用於垃圾收集(GC)的開放區塊540等。記憶體502可以是實現為SSD的NAND記憶體,或者本領域技術人員從本文的描述中將理解的其它類型的適合的記憶
體。記憶體還包括被配置成儲存對應於記憶體502的超級區塊的點陣圖的記憶體點陣圖儲存裝置560,並且點陣圖儲存裝置560可以被配置成接收儲存在DRAM點陣圖儲存裝置550中的點陣圖。
在突然斷電時,LBA表510上的資料將丟失,並且需要重建。以前的重建程式或者SPOR過程需要耗時的步驟,諸如需要硬體(例如,記憶體502)通過從之前的簽名掃描讀取每個有效區塊而存取以讀取每個超級區塊並識別封閉區塊和開放區塊。可能還需要有效區塊的氣泡排序,這也是耗時的。
同樣地,之前的方法包含以迴圈方式週期性地保存LBA表的區段和當前“髒”超級區塊的列表。(髒超級區塊是包含至少一個LBA的超級區塊,其中,LBA表中LBA的對應的條目不是最新的,即髒的)。在突然斷電後重建期間,保存的LBA表重載到DRAM中,並且包括任意開放超級區塊的髒超級區塊的元頁面如在正常重建中那樣重演。
從重建速度的角度,此方案已經非常有效率。將保存的LBA表重載到DRAM中是不能避免的固定成本,因為該步驟甚至在驅動器的正常通電(例如,請求的驅動器電源休眠之後通電)時也是需要的。因此,縮短重建時間的一個方法是減少掃描髒超級區塊的元頁面和更新LBA表中的對應條目所花費的時間量。事實上,後者是主要的瓶頸,因為LBA表中的條目的更新是公知的緩慢的DRAM中的隨機存取操作。
為了減少掃描和更新時間,一種簡單的方法是具有較少數量的髒超級區塊。然而,較少的髒超級區塊意味著在運行時需要更頻繁地保存LBA表的區段,這會影響驅動性能。此外,可能需要更多的系統塊來儲存保存的LBA表,這意味著較少的空用戶資料塊可用於預留空間,因此提高了寫入放大率並最
終導致驅動器的TBD(總寫入位元組)下降。因此,減少需要掃描的髒超級區塊的數量需要付出代價,並且最佳數量的選擇應當平衡重建時間、驅動性能和驅動耐力。
因此,本文揭露的方法、系統、過程和裝置尋求改善突然斷電後的恢復時間。
圖6是重建LBA表的步驟的流程圖60。圖7是LBA表700和記憶體陣列702的簡圖。在本文(通過圖6至圖13)所示的示例中,出於描述的目的使用了128個區段的LBA表。同樣地,下列參數也用於示例的目的:每一個驅動器的超級區塊數量=4096
每一個超級區塊的晶粒(die)數量=32
每一個超級區塊的物理區塊數量=64(雙平面)
每一個物理區塊的頁面的數量=256
頁面大小=16kB
邏輯頁面大小=4kB
每一個頁面的邏輯頁面的數量=4
這些參數和大小是示例性的而不是唯一的。本領域技術人員從本文的揭露中將想到其它適合實施本發明的參數、大小等。
參考圖6和圖7,在區塊600中,至少確定最多最近保存區段、最多最近保存區段之前保存的先前區段以及斷電起LBA表700的最少最近保存區段。
在圖7中,LBA表700遵循迴圈方案,雖然這用於說明而不意在將本發明限制於此方案。換言之,當最後區段被保存時,隨後使用第一區段。
在以128個區段示出的示例中,區段128是“最後”區段,並且區段1是“第一區段”。示出斷電704發生在區段3被保存之後,區段4被保存之前。因此,在示例中,區段3將是最多最近保存區段、區段2將是最多最近保存區段之前保存的先前區段,並且區段4將是LBA表700的最少最近保存區段。
每個區段可以對應於超級區塊,諸如記憶體陣列702中的超級區塊。每當超級區塊封閉時,LBA表700的一個區段可以被保存至記憶體502。因此,在示例中,在任意給定的時間,存在128個髒超級區塊。N用於表示最新的封閉超級區塊。
在步驟602中,讀取開放超級區塊,並且從最多最近保存區段通過最少最近保存區段更新LBA表中的對應於開放超級區塊的條目。因此,參考記憶體陣列702,讀取開放超級區塊,並且從區段3(最多最近保存區段)通過區段4(最少最近保存區段)更新LBA表中的條目。換言之,更新區段3,然後更新區段2,然後更新區段1,然後更新區段128,以此類推,直到更新區段4。
在步驟604中,讀取最新的封閉超級區塊,並且從最多最近保存區段之前保存的先前區段通過最少最近保存區段更新LBA表中對應於最新的封閉超級區塊的條目。因此,參考圖7,將讀取封閉超級區塊N,並且更新從LBA表700的區段2(最多最近保存區段即區段3之前保存的先前區段)通過LBA表700的區段4(最少最近保存區段)的條目。
在步驟606中,讀取最舊的封閉超級區塊,並且更新LBA表中對應於最少最近保存區段中的最舊的封閉超級區塊的條目。因此,參考圖7,讀取封閉超級區塊N-126,並且更新區段4(LBA表700的最少最近保存區段)。
圖6描述的方法不限於闡明的步驟。例如,可以對每個封閉超級
區塊進行相似的步驟。這些方法可以包括諸如下列的步驟:對於超級區塊N,需要更新除了LBA表700的區段3中的條目以外的所有對應的條目。
對於超級區塊N-1,需要更新除了LBA表700的區段2和區段3中的條目以外的所有對應的條目。
對於超級區塊N-2,需要更新除了LBA表700的區段1、區段2和區段3中的條目以外的所有對應的條目。
對於超級區塊N-3,需要更新除了LBA表700的區段1、區段2、區段3和區段128中的條目以外的所有對應的條目。
對於超級區塊N-4,需要更新除了LBA表700的區段1、區段2、區段3、區段127和區段128中的條目以外的所有對應的條目。
……
對於超級區塊N-124,除了LBA表700的區段4、區段5和區段6中的條目以外的所有對應的條目不需要更新。
對於超級區塊N-125,除了LBA表700的區段4和區段5中的條目以外的所有對應的條目不需要更新。
對於超級區塊N-126,除了LBA表700的區段4中的條目以外的所有對應的條目不需要更新。
本質上,此方法利用屬於LBA表700的在髒超級區塊已經封閉之後保存的區段中的任意對應的條目包含該髒超級區塊中對應的邏輯頁面的物理位址。因此,不需要更新這樣的條目。(然而,注意,這不意味著該條目是清潔的,因為LBA可能在隨後的髒超級區塊中再次重寫)。
對於純隨機寫入工作量,每個髒超級區塊中的LBA可以在整個LBA範圍內均勻分佈。因此,對於上述斷電情形下的1TB驅動器,需要更新的平均條目數量=64x256x4x(127+126+…+1)/128=4161536。這等於減少了50%的更新。事實上,這樣的顯著減少適用於任意驅動器容量和任意數量的髒超級區塊。(如果在開放超級區塊中存在有效的邏輯頁面,則該減少量將稍小於50%)。
另一方面,如果工作量不是純隨機的,每個突然斷電保存的更新總量將為亂數量。然而,多次突然斷電個例平均保存的更新量仍然為50%,因為突然斷電在LBA表700的128個區段中的任一個被保存之後發生的可能性是相等的。換言之,保存量顯示出平均值50%和非零方差的統計分佈。對於純隨機工作量,平均值為50%和零方差。因此,每個突然斷電個例的保存量也是50%。依賴工作量的方差能夠由模擬確定。
為了實施此方法,需要的唯一額外資訊是瞭解突然斷電發生之前LBA表700的哪個區段被最後保存至記憶體。該區段數能夠接著在斷電電容器570設置的時間跨度內被保存至記憶體中的系統區域。
接下來參考圖8、圖9和圖10,示出使用點陣圖重建LBA表的方法、系統、過程和裝置。圖8是使用點陣圖重建LBA表的步驟的流程圖80。圖9是示例點陣圖的簡圖。圖10是LBA表1000和點陣圖緩衝區1002的簡圖,點陣圖緩衝區1002儲存為環形緩衝區。
在步驟800中,生成並儲存每個髒超級區塊的點陣圖。點陣圖可以儲存在例如DRAM點陣圖儲存裝置550、記憶體點陣圖儲存裝置560等中。在步驟802中,每當LBA表被更新時都更新適當的點陣圖。
每個點陣圖900可以指示對應的髒超級區塊中的邏輯頁面是否
有效。因此,每當在正常寫入或者修正操作期間更新LBA表1000時,也更新適當的點陣圖。例如,點陣圖900示出髒超級區塊的8kB點陣圖。每位元的值與對應於該位元的邏輯頁面是否有效一致。
在步驟804中,當發生突然斷電時,將點陣圖保存至非揮發性記憶體。例如,點陣圖可以在DRAM點陣圖儲存裝置550上保存並更新,但是,當突然斷電時,點陣圖在斷電電容器570允許的時間內從DRAM點陣圖儲存裝置550轉移(例如,保存)至記憶體點陣圖儲存裝置560。
因此,在步驟806中,點陣圖可以載入DRAM,並且在步驟808中,一起掃描每個髒超級區塊的點陣圖和元頁面,並且確定對應於有效的邏輯位址的LBA,以更新這些LBA。
利用增加的點陣圖,現在可以排除對LBA表1000不必要的更新。重建期間,LBA表1000和點陣圖可以首先載入DRAM中。然後,一起掃描每個髒超級區塊的點陣圖和元頁面,並且僅考慮更新對應於有效的邏輯頁面的LBA。這確保了最多更新LBA表1000中的對應於未修正LBA的條目一次,而那些對應於修正的LBA的條目不再被更新。與之相反,在沒有點陣圖的情況下,未修正LBA的條目能夠被更新多次,而關於修正的LBA的資訊在突然斷電後丟失。本質上,相比於沒有點陣圖的情形,提供點陣圖時,在髒超級區塊中存在的無效的邏輯頁面越多則更新減少得越多。
對於給定數量的髒超級區塊,髒超級區塊中無效的邏輯頁面的數量是預留空間和工作量類型的函數。預留空間量越多,存在於髒超級區塊中的無效的邏輯頁面越多。類似地,隨著對應於熱資料的LBA更頻繁地在髒超級區塊中覆寫,工作量中存在的熱資料越多,則髒超級區塊中存在的無效的邏輯頁面
越多。例如,如果在128個髒超級區塊中存在5%的無效的邏輯頁面,則相比於原始重演機制,更新的整體減少將為52.5%。
點陣圖的添加提供了另一個非常重要的優點:元頁面重演的順序可以改變。由於僅考慮更新對應於有效的邏輯頁面的LBA,因此不可能利用舊邏輯頁面的物理位址覆寫LBA表的條目,即使元頁面以隨機順序重演。事實證明,最好的重演順序是以邏輯頁面寫入的完全相反的順序重演元頁面,即,首先掃描開放超級區塊中的中繼資料,隨後掃描最多最近封閉髒超級區塊中的元頁面,然後掃描第二近封閉髒超級區塊中的元頁面等等。繼續上面的示例,如果首先完成開放超級區塊的更新,將保證LBA表1000的區段3是清潔的,因為根據在前面部分描述的趨勢該區段不再需要被更新。相似地,一旦最近(最新)封閉髒超級區塊的更新完成,LBA表700、1000的區段2被保證是清潔的,因為該區段不再需要被更新。對剩餘的髒超級區塊重複同樣的模式。本質上,在每個髒超級區塊的更新完成之後,LBA表700、1000的額外區段變成清潔的。
由於LBA表700、1000隨著更新進行而變得部分清潔,現在在更新已經完全地完成之前,主機讀取和寫入命令能被“即時(on-the-fly)”接受。這對縮短開機等待時間的用戶體驗是重要的。更具體地,在髒超級區塊的子集更新完成之後,控制器能夠開始接受主機讀取和寫入命令。如果主機讀取或寫入命令指向LBA表700、1000的清潔區段,則命令將立即執行。否則,執行將延遲直到LBA表的該區段變為清潔的。因此,要處理的髒超級區塊的初始數量應當基於主機讀取或寫入命令指向LBA表的髒區段時將遇到的最大延遲來選擇。該數量將是小的,因為當元頁面以相反順序重演時,超級區塊需要的平均更新數量減少。
在一個示例中,每個點陣圖需要8kB的DRAM,由於每個超級區塊存在64x256x4=65536個邏輯頁面並且每個邏輯頁面使用1位元。因此,如果有128個點陣圖,則需要1MB的DRAM。1MB的DRAM能夠被實施為環形緩衝區1002,因為記憶體空間在完成1圈保存之後可被重新使用。另外,1MB的資料精確佔用1條系統區域超級區塊,並且需要1.4ms來編碼。對於F16 MLC NAND,程式設計時間不超過3ms。因此,發生突然斷電之後保存至NAND所需的總時間最好在超級電容器570提供的擴展電源的20ms內。當發生突然斷電1004時,開放超級區塊的元頁面也能夠保存至系統區域。這避免了重建期間每個邏輯頁面的中繼資料的掃描並且進一步縮短了重建時間。
雖然為了清楚理解的目的而詳細描述了前面的實施例,但本發明不限於這些提供的細節。存在很多實施本發明的替換方式。本說明書揭露的實施例是說明性的而不是限制性。
10:記憶體系統
100:記憶體控制器
200:記憶體裝置
Claims (12)
- 一種記憶體系統,其包括:記憶體裝置,其包括複數個封閉超級區塊和開放超級區塊;邏輯區塊定址表(LBA表),其包括複數個區段;以及控制器,其適用於:在斷電後,確定該LBA表的最多最近保存區段、該LBA表的最多最近保存區段之前保存的先前區段以及該LBA表的最少最近保存區段;讀取該開放超級區塊並且從該最多最近保存區段至該最少最近保存區段更新該LBA表中的條目;讀取該等複數個超級區塊中最新的封閉超級區塊,並且從該最多最近保存區段之前保存的先前區段通過至該最少最近保存區段更新該LBA表中的條目;以及讀取最舊的超級區塊,並且更新該最少最近保存區段中的該LBA表中的條目。
- 如請求項1所述的記憶體系統,其中該LBA表遵循迴圈方案。
- 如請求項1所述的記憶體系統,其進一步包括點陣圖緩衝區,該點陣圖緩衝區包括對應於該超級區塊的點陣圖,其中該點陣圖包括關於在對應的超級區塊中的邏輯位址是否有效的資料。
- 如請求項3所述的記憶體系統,其中該控制器進一步適用於當該LBA表被更新時更新該點陣圖緩衝區中的點陣圖。
- 如請求項3所述的記憶體系統,其中該控制器進一步適用於當發生突然斷電時在該記憶體裝置上保存該點陣圖。
- 如請求項3所述的記憶體系統,其中該控制器進一步適用於同時掃描該超級區塊的點陣圖和元頁面,並且確定對應於有效的邏輯位址的LBA以更新。
- 一種提高重建效率的操作方法,其包括:在斷電後,確定邏輯區塊定址表(LBA表)的最多最近保存區段、該LBA表的最多最近保存區段之前保存的先前區段以及該LBA表的最少最近保存區段;讀取開放超級區塊並且從該最多最近保存區段至該最少最近保存區段更新該LBA表中的條目;讀取來自複數個封閉超級區塊中的最新的封閉超級區塊,並且從該最多最近保存區段之前保存的先前區段通過至該最少最近保存區段更新該LBA表中的條目;以及讀取最舊的超級區塊,並且更新該最少最近保存區段中的該LBA表的條目。
- 如請求項7所述的操作方法,其中該LBA表遵循迴圈方案。
- 如請求項7所述的操作方法,其進一步包括儲存每個超級區塊的點陣圖,其中該點陣圖包括關於對應的超級區塊的邏輯位址是否有效的資料。
- 如請求項9所述的操作方法,其進一步包括當該LBA表被更新時更新該點陣圖。
- 如請求項9所述的操作方法,其進一步包括當發生突然斷電時在非揮發性記憶體裝置上保存該點陣圖。
- 如請求項11所述的操作方法,其進一步包括同時掃描該超級區塊的點陣圖和元頁面,並且確定對應於有效的邏輯位址的LBA以更新。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562138619P | 2015-03-26 | 2015-03-26 | |
US15/082,990 US10102146B2 (en) | 2015-03-26 | 2016-03-28 | Memory system and operating method for improving rebuild efficiency |
US15/082,990 | 2016-03-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201734801A TW201734801A (zh) | 2017-10-01 |
TWI696915B true TWI696915B (zh) | 2020-06-21 |
Family
ID=56975870
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105115833A TWI696915B (zh) | 2015-03-26 | 2016-05-20 | 提高重建效率的記憶體系統和操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10102146B2 (zh) |
CN (1) | CN107239228B (zh) |
TW (1) | TWI696915B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102449192B1 (ko) * | 2015-09-10 | 2022-09-29 | 삼성전자주식회사 | 데이터 저장 장치의 작동 방법과 이를 포함하는 데이터 처리 시스템의 작동 방법 |
US9904607B2 (en) * | 2015-11-13 | 2018-02-27 | International Business Machines Corporation | Logical to physical table restoration from stored journal entries |
KR102593352B1 (ko) * | 2016-05-04 | 2023-10-26 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
CN107678679B (zh) * | 2016-08-02 | 2020-09-08 | 建兴储存科技(广州)有限公司 | 运用于固态储存装置的超级区块的扫描方法 |
US11579789B2 (en) * | 2017-09-29 | 2023-02-14 | Apple Inc. | Techniques for managing context information for a storage device |
KR20190072306A (ko) * | 2017-12-15 | 2019-06-25 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
KR102468737B1 (ko) * | 2017-12-19 | 2022-11-21 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
TWI640927B (zh) * | 2017-12-29 | 2018-11-11 | 國科美國研究實驗室 | Power management method for data storage device |
KR102430798B1 (ko) * | 2018-01-11 | 2022-08-10 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
CN110489052B (zh) * | 2018-05-14 | 2022-11-25 | 慧荣科技股份有限公司 | 数据储存装置 |
KR20200071282A (ko) * | 2018-12-11 | 2020-06-19 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
KR20200078046A (ko) * | 2018-12-21 | 2020-07-01 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
KR102691784B1 (ko) * | 2018-12-26 | 2024-08-06 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작방법 |
KR20200115831A (ko) * | 2019-03-27 | 2020-10-08 | 에스케이하이닉스 주식회사 | 컨트롤러, 메모리 시스템 및 그것의 동작 방법 |
US11372754B2 (en) | 2020-06-12 | 2022-06-28 | Western Digital Technologies, Inc. | Storage system and method for enabling a software-defined dynamic storage response |
KR20220124905A (ko) | 2021-03-04 | 2022-09-14 | 삼성전자주식회사 | 메모리 저장 장치, 메모리 저장 장치의 구동 방법 및 호스트 장치의 구동 방법 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120254503A1 (en) * | 2011-03-28 | 2012-10-04 | Western Digital Technologies, Inc. | Power-safe data management system |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070136553A1 (en) * | 2005-12-13 | 2007-06-14 | Sinclair Alan W | Logically-addressed file storage systems |
US7877540B2 (en) * | 2005-12-13 | 2011-01-25 | Sandisk Corporation | Logically-addressed file storage methods |
US8204216B2 (en) * | 2006-10-23 | 2012-06-19 | Alcatel Lucent | Processing method for message integrity with tolerance for non-sequential arrival of message data |
US8775717B2 (en) * | 2007-12-27 | 2014-07-08 | Sandisk Enterprise Ip Llc | Storage controller for flash memory including a crossbar switch connecting a plurality of processors with a plurality of internal memories |
US8301912B2 (en) * | 2007-12-31 | 2012-10-30 | Sandisk Technologies Inc. | System, method and memory device providing data scrambling compatible with on-chip copy operation |
CN101350771B (zh) * | 2008-07-07 | 2010-12-29 | 中国人民解放军国防科学技术大学 | 三态内容可寻址存储器条目免排序存储方法及其系统 |
CN101477492B (zh) * | 2009-01-21 | 2010-12-29 | 华中科技大学 | 一种用于固态硬盘的循环重写闪存均衡方法 |
US8239614B2 (en) * | 2009-03-04 | 2012-08-07 | Micron Technology, Inc. | Memory super block allocation |
US8458133B2 (en) * | 2011-01-24 | 2013-06-04 | Apple Inc. | Coordinating sync points between a non-volatile memory and a file system |
US8838911B1 (en) * | 2011-03-09 | 2014-09-16 | Verint Systems Inc. | Systems, methods, and software for interleaved data stream storage |
KR101824949B1 (ko) | 2011-11-23 | 2018-02-05 | 삼성전자주식회사 | 플래시 메모리를 기반으로 하는 저장 장치 및 그것을 포함한 사용자 장치 |
US8914670B2 (en) * | 2012-11-07 | 2014-12-16 | Apple Inc. | Redundancy schemes for non-volatile memory using parity zones having new and old parity blocks |
US9880770B2 (en) * | 2015-09-02 | 2018-01-30 | SK Hynix Inc. | Supporting invalidation commands for non-volatile memory |
CN105183401A (zh) * | 2015-10-30 | 2015-12-23 | 深圳市泽云科技有限公司 | 一种固态硬盘数据恢复方法、装置及系统 |
-
2016
- 2016-03-28 US US15/082,990 patent/US10102146B2/en active Active
- 2016-05-20 TW TW105115833A patent/TWI696915B/zh active
- 2016-06-06 CN CN201610392627.5A patent/CN107239228B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120254503A1 (en) * | 2011-03-28 | 2012-10-04 | Western Digital Technologies, Inc. | Power-safe data management system |
Also Published As
Publication number | Publication date |
---|---|
US20160283401A1 (en) | 2016-09-29 |
CN107239228B (zh) | 2020-06-12 |
CN107239228A (zh) | 2017-10-10 |
US10102146B2 (en) | 2018-10-16 |
TW201734801A (zh) | 2017-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI696915B (zh) | 提高重建效率的記憶體系統和操作方法 | |
CN107229577B (zh) | 存储系统及其操作方法 | |
US11163679B2 (en) | Garbage collection strategy for memory system and method of executing such garbage collection | |
US10157007B2 (en) | Memory system and operating method thereof | |
CN109284202B (zh) | 控制器及其操作方法 | |
CN109671465B (zh) | 具有自适应读取阈值方案的存储器系统及其操作方法 | |
CN107450845B (zh) | 存储器系统及其操作方法 | |
US20160124848A1 (en) | Memory system and memory management method thereof | |
US10007451B2 (en) | Scalable SPOR algorithm for flash memories | |
CN107957959B (zh) | 具有文件级安全擦除的存储器系统及其操作方法 | |
US11003587B2 (en) | Memory system with configurable NAND to DRAM ratio and method of configuring and using such memory system | |
CN107544925B (zh) | 存储器系统及加速引导时间的方法 | |
TW201824000A (zh) | 控制器及其操作方法 | |
US20180373629A1 (en) | Memory system and operating method thereof | |
US20180081551A1 (en) | Memory system and operating method thereof | |
US10896125B2 (en) | Garbage collection methods and memory systems for hybrid address mapping | |
US9946644B2 (en) | Memory system and operating method thereof | |
CN110968521B (zh) | 存储器系统及其操作方法 | |
US11005503B2 (en) | Memory system with hybrid decoding scheme and method of operating such memory system | |
CN109426448B (zh) | 存储器系统及其操作方法 | |
CN108986864B (zh) | 控制器和存储器系统以及存储器系统的操作方法 | |
CN109254722B (zh) | 控制器及其操作方法 | |
US20190205249A1 (en) | Controller, operating method thereof and data processing system including the controller | |
CN112216328B (zh) | 具有低复杂度解码的存储器系统及其操作方法 | |
CN109947360B (zh) | 存储器系统及其操作方法 |